{"version":3,"file":"Button-9b3c2f8e.js","sources":["../../../../js/utils/src/styles.ts","../../../../js/atoms/src/Block.svelte","../../../../js/button/src/Button.svelte"],"sourcesContent":["export interface Styles {\n\tcontainer?: boolean;\n\tgrid_cols?: number | Array;\n\tgrid_rows?: number | Array;\n\theight?: \"auto\" | string | number;\n\twidth?: \"auto\" | string | number;\n\tfull_width?: boolean;\n\tequal_height?: boolean;\n\tvisible?: boolean;\n\titem_container?: boolean;\n\tcolor_map?: Record;\n\tlabel_container?: boolean;\n\tgap?: boolean;\n\tsize?: \"sm\" | \"lg\";\n\tpreview?: boolean;\n\tobject_fit?: \"contain\" | \"cover\" | \"fill\" | \"none\" | \"scale-down\";\n\tshow_copy_button?: boolean;\n}\n\ntype PartialRecord = {\n\t[P in K]?: T;\n};\n\ntype ProcessedStyles = PartialRecord & {\n\tstyles: string;\n};\n\nconst get_style = (styles: Styles, key: T) => {\n\t//@ts-ignore\n\treturn style_handlers[key](styles[key]);\n};\n\nexport function get_styles(\n\tstyles: Styles,\n\tallowed_styles: Array\n): ProcessedStyles {\n\tconst processed_styles = allowed_styles.reduce((acc, next) => {\n\t\tif (styles[next] === undefined || !style_handlers[next]) acc[next] = \" \";\n\t\telse {\n\t\t\tacc[next] = ` ${get_style(styles, next)} `;\n\t\t}\n\t\treturn acc;\n\t}, {} as ProcessedStyles);\n\n\tprocessed_styles.styles = ` ${Object.values(processed_styles)\n\t\t.join(\" \")\n\t\t.replace(/\\s+/g, \" \")\n\t\t.trim()} `;\n\n\treturn processed_styles;\n}\n\ntype StyleHandlers = {\n\t[K in keyof Styles]: (style: Exclude) => string;\n};\n\nconst style_handlers: StyleHandlers = {\n\tcontainer(container_visible) {\n\t\treturn container_visible\n\t\t\t? \"\"\n\t\t\t: `padding: 0; margin: 0; border-width: 0; box-shadow: none; overflow: visible; background: transparent;`;\n\t},\n\tlabel_container(visible) {\n\t\treturn visible\n\t\t\t? \"\"\n\t\t\t: `border-width: 0; box-shadow: none; overflow: visible; background: transparent;`;\n\t},\n\tgrid_cols(grid_cols) {\n\t\tlet grid_cols_map = [\"\", \"sm-\", \"md-\", \"lg-\", \"xl-\", \"2xl-\"];\n\t\tlet _grid_cols = Array.isArray(grid_cols) ? grid_cols : [grid_cols];\n\n\t\treturn [0, 0, 0, 0, 0, 0]\n\t\t\t.map(\n\t\t\t\t(_, i) =>\n\t\t\t\t\t`--${grid_cols_map[i]}grid-cols: var(--grid-${\n\t\t\t\t\t\t_grid_cols?.[i] || _grid_cols?.[_grid_cols?.length - 1]\n\t\t\t\t\t});`\n\t\t\t)\n\t\t\t.join(\" \");\n\t},\n\tgrid_rows(grid_rows) {\n\t\tlet grid_rows_map = [\"\", \"sm-\", \"md-\", \"lg-\", \"xl-\", \"2xl-\"];\n\t\tlet _grid_rows = Array.isArray(grid_rows) ? grid_rows : [grid_rows];\n\n\t\treturn [0, 0, 0, 0, 0, 0]\n\t\t\t.map(\n\t\t\t\t(_, i) =>\n\t\t\t\t\t`--${grid_rows_map[i]}grid-rows: var(--grid-${\n\t\t\t\t\t\t_grid_rows?.[i] || _grid_rows?.[_grid_rows?.length - 1]\n\t\t\t\t\t});`\n\t\t\t)\n\t\t\t.join(\" \");\n\t},\n\theight(height) {\n\t\treturn height === \"auto\" ? \"height: auto;\" : \"\";\n\t},\n\tfull_width(full_width) {\n\t\treturn full_width\n\t\t\t? \"width: var(--size-full); flex-grow: 1;\"\n\t\t\t: \"flex-grow: 0; width: fit-content;\";\n\t},\n\tequal_height(equal_height) {\n\t\treturn equal_height ? \"align-items: stretch;\" : \"align-items: flex-start;\";\n\t},\n\tvisible(visible) {\n\t\treturn visible ? \"\" : \"display:hidden;\";\n\t},\n\titem_container(visible) {\n\t\treturn visible ? \"\" : \"border-width:0;\";\n\t},\n\tobject_fit(object_fit) {\n\t\treturn `--object-fit: ${object_fit};`;\n\t}\n} as const;\n\nexport const create_classes = (\n\tstyles: Record,\n\tprefix: string = \"\"\n): string => {\n\tlet classes: Array = [];\n\tlet target_styles: Record = {};\n\tif (prefix === \"\") {\n\t\ttarget_styles = styles;\n\t} else {\n\t\tfor (const prop in styles) {\n\t\t\tif (prop.startsWith(prefix + \"_\")) {\n\t\t\t\tconst propname = prop.substring(prop.indexOf(\"_\") + 1);\n\t\t\t\ttarget_styles[propname] = styles[prop];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (target_styles.hasOwnProperty(\"margin\")) {\n\t\tif (!Array.isArray(target_styles.margin)) {\n\t\t\ttarget_styles.margin = !!target_styles.margin\n\t\t\t\t? [true, true, true, true]\n\t\t\t\t: [false, false, false, false];\n\t\t}\n\n\t\tlet margin_map = [\"t\", \"r\", \"b\", \"l\"];\n\n\t\t(target_styles.margin as boolean[]).forEach((margin, i) => {\n\t\t\tif (!margin) {\n\t\t\t\tclasses.push(`!m${margin_map[i]}-0`);\n\t\t\t}\n\t\t});\n\t}\n\n\tif (target_styles.hasOwnProperty(\"border\")) {\n\t\tif (!Array.isArray(target_styles.border)) {\n\t\t\ttarget_styles.border = !!target_styles.border\n\t\t\t\t? [true, true, true, true]\n\t\t\t\t: [false, false, false, false];\n\t\t}\n\n\t\tlet border_map = [\"t\", \"r\", \"b\", \"l\"];\n\n\t\t(target_styles.border as boolean[]).forEach((border, i) => {\n\t\t\tif (!border) {\n\t\t\t\tclasses.push(`!border-${border_map[i]}-0`);\n\t\t\t}\n\t\t});\n\t}\n\n\tswitch (target_styles.rounded) {\n\t\tcase true:\n\t\t\tclasses.push(\"!rounded-lg\");\n\t\t\tbreak;\n\t\tcase false:\n\t\t\tclasses.push(\"!rounded-none\");\n\t\t\tbreak;\n\t}\n\n\tswitch (target_styles.full_width) {\n\t\tcase true:\n\t\t\tclasses.push(\"w-full\");\n\t\t\tbreak;\n\t\tcase false:\n\t\t\tclasses.push(\"!grow-0\");\n\t\t\tbreak;\n\t}\n\n\tswitch (target_styles.text_color) {\n\t\tcase \"red\":\n\t\t\tclasses.push(\"!text-red-500\", \"dark:text-red-100\");\n\t\t\tbreak;\n\t\tcase \"yellow\":\n\t\t\tclasses.push(\"!text-yellow-500\", \"dark:text-yellow-100\");\n\t\t\tbreak;\n\t\tcase \"green\":\n\t\t\tclasses.push(\"!text-green-500\", \"dark:text-green-100\");\n\t\t\tbreak;\n\t\tcase \"blue\":\n\t\t\tclasses.push(\"!text-blue-500\", \"dark:text-blue-100\");\n\t\t\tbreak;\n\t\tcase \"purple\":\n\t\t\tclasses.push(\"!text-purple-500\", \"dark:text-purple-100\");\n\t\t\tbreak;\n\t\tcase \"black\":\n\t\t\tclasses.push(\"!text-gray-700\", \"dark:text-gray-50\");\n\t\t\tbreak;\n\t}\n\tswitch (target_styles.bg_color) {\n\t\tcase \"red\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-red-100 !from-red-100 !to-red-200 !border-red-300\",\n\t\t\t\t\"dark:!bg-red-700 dark:!from-red-700 dark:!to-red-800 dark:!border-red-900\"\n\t\t\t);\n\t\t\tbreak;\n\t\tcase \"yellow\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-yellow-100 !from-yellow-100 !to-yellow-200 !border-yellow-300\",\n\t\t\t\t\"dark:!bg-yellow-700 dark:!from-yellow-700 dark:!to-yellow-800 dark:!border-yellow-900\"\n\t\t\t);\n\t\t\tbreak;\n\t\tcase \"green\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-green-100 !from-green-100 !to-green-200 !border-green-300\",\n\t\t\t\t\"dark:!bg-green-700 dark:!from-green-700 dark:!to-green-800 dark:!border-green-900 !text-gray-800\"\n\t\t\t);\n\t\t\tbreak;\n\t\tcase \"blue\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-blue-100 !from-blue-100 !to-blue-200 !border-blue-300\",\n\t\t\t\t\"dark:!bg-blue-700 dark:!from-blue-700 dark:!to-blue-800 dark:!border-blue-900\"\n\t\t\t);\n\t\t\tbreak;\n\t\tcase \"purple\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-purple-100 !from-purple-100 !to-purple-200 !border-purple-300\",\n\t\t\t\t\"dark:!bg-purple-700 dark:!from-purple-700 dark:!to-purple-800 dark:!border-purple-900\"\n\t\t\t);\n\t\t\tbreak;\n\t\tcase \"black\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-gray-100 !from-gray-100 !to-gray-200 !border-gray-300\",\n\t\t\t\t\"dark:!bg-gray-700 dark:!from-gray-700 dark:!to-gray-800 dark:!border-gray-900\"\n\t\t\t);\n\t\tcase \"pink\":\n\t\t\tclasses.push(\n\t\t\t\t\"!bg-pink-100 !from-pink-100 !to-pink-200 !border-pink-300\",\n\t\t\t\t\"dark:!bg-pink-700 dark:!from-pink-700 dark:!to-pink-800 dark:!border-pink-900 !text-gray-800\"\n\t\t\t);\n\t\t\tbreak;\n\t}\n\treturn \" \" + classes.join(\" \");\n};\n","\n\n\n\t\n\n\n\n","\n\n\n\t\n\n\n\n"],"names":["get_style","styles","key","style_handlers","get_styles","allowed_styles","processed_styles","acc","next","container_visible","visible","grid_cols","grid_cols_map","_grid_cols","_","i","grid_rows","grid_rows_map","_grid_rows","height","full_width","equal_height","object_fit","ctx","svelte_element","svelte_element_data","toggle_class","insert","target","anchor","get_spread_update","svelte_element_levels","svelte_element_class_value","svelte_element_style_value","create_dynamic_element","style","$$props","elem_id","elem_classes","variant","border_mode","padding","type","test_id","disable","explicit_call","allow_overflow","tag","getContext","$$invalidate","size_style","attr","button","button_class_value","current","dirty","size","disabled"],"mappings":"+KA2BA,MAAMA,EAAY,CAAyBC,EAAgBC,IAEnDC,EAAeD,CAAG,EAAED,EAAOC,CAAG,CAAC,EAGvB,SAAAE,EACfH,EACAI,EACkB,CAClB,MAAMC,EAAmBD,EAAe,OAAO,CAACE,EAAKC,KAChDP,EAAOO,CAAI,IAAM,QAAa,CAACL,EAAeK,CAAI,EAAGD,EAAIC,CAAI,EAAI,IAEpED,EAAIC,CAAI,EAAI,IAAIR,EAAUC,EAAQO,CAAI,KAEhCD,GACL,CAAqB,CAAA,EAExB,OAAAD,EAAiB,OAAS,IAAI,OAAO,OAAOA,CAAgB,EAC1D,KAAK,GAAG,EACR,QAAQ,OAAQ,GAAG,EACnB,KAAK,KAEAA,CACR,CAMA,MAAMH,EAAgC,CACrC,UAAUM,EAAmB,CAC5B,OAAOA,EACJ,GACA,uGACJ,EACA,gBAAgBC,EAAS,CACxB,OAAOA,EACJ,GACA,gFACJ,EACA,UAAUC,EAAW,CACpB,IAAIC,EAAgB,CAAC,GAAI,MAAO,MAAO,MAAO,MAAO,MAAM,EACvDC,EAAa,MAAM,QAAQF,CAAS,EAAIA,EAAY,CAACA,CAAS,EAElE,MAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACtB,IACA,CAACG,EAAGC,IACH,KAAKH,EAAcG,CAAC,0BACnBF,IAAaE,CAAC,GAAKF,IAAaA,GAAY,OAAS,CAAC,KAAA,EAGxD,KAAK,GAAG,CACX,EACA,UAAUG,EAAW,CACpB,IAAIC,EAAgB,CAAC,GAAI,MAAO,MAAO,MAAO,MAAO,MAAM,EACvDC,EAAa,MAAM,QAAQF,CAAS,EAAIA,EAAY,CAACA,CAAS,EAElE,MAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACtB,IACA,CAACF,EAAGC,IACH,KAAKE,EAAcF,CAAC,0BACnBG,IAAaH,CAAC,GAAKG,IAAaA,GAAY,OAAS,CAAC,KAAA,EAGxD,KAAK,GAAG,CACX,EACA,OAAOC,EAAQ,CACP,OAAAA,IAAW,OAAS,gBAAkB,EAC9C,EACA,WAAWC,EAAY,CACtB,OAAOA,EACJ,yCACA,mCACJ,EACA,aAAaC,EAAc,CAC1B,OAAOA,EAAe,wBAA0B,0BACjD,EACA,QAAQX,EAAS,CAChB,OAAOA,EAAU,GAAK,iBACvB,EACA,eAAeA,EAAS,CACvB,OAAOA,EAAU,GAAK,iBACvB,EACA,WAAWY,EAAY,CACtB,MAAO,iBAAiBA,IACzB,CACD,4FC3EcC,EAAO,CAAA,CAAA,MAChBA,EAAO,CAAA,CAAA,oBAEGA,EAAY,CAAA,EAAC,KAAK,GAAG,EAAA,2BAG3BA,EAAM,CAAA,EAAA,KAAGA,EAAU,CAAA,GAAI,oEAPzBA,EAAG,EAAA,CAAA,aAAHA,EAAG,EAAA,CAAA,EAAAC,EAAAC,CAAA,EAGKC,EAAAF,EAAA,SAAAD,OAAY,EAAK,eAEjBA,EAAO,CAAA,CAAA,EACDG,EAAAF,EAAA,eAAAD,OAAgB,OAAO,qBAEvBA,EAAO,CAAA,CAAA,iBACXA,EAAc,CAAA,EAAG,UAAY,QAAQ,UAVtDI,EAagBC,EAAAJ,EAAAK,CAAA,wGAZTN,EAAG,EAAA,CAAA,EAAAC,EAAAC,EAAAK,EAAAC,EAAA,4BACIR,EAAO,CAAA,CAAA,iBAChBA,EAAO,CAAA,CAAA,4BAEGA,EAAY,CAAA,EAAC,KAAK,GAAG,EAAA,oBAAA,CAAA,MAAAS,CAAA,qBAG3BT,EAAM,CAAA,EAAA,KAAGA,EAAU,CAAA,GAAI,SAAI,CAAA,MAAAU,CAAA,KAJrBP,EAAAF,EAAA,SAAAD,OAAY,EAAK,eAEjBA,EAAO,CAAA,CAAA,EACDG,EAAAF,EAAA,eAAAD,OAAgB,OAAO,0BAEvBA,EAAO,CAAA,CAAA,wBACXA,EAAc,CAAA,EAAG,UAAY,QAAQ,2FAT/CA,EAAG,EAAA,GAAAW,EAAAX,CAAA,yDAAHA,EAAG,EAAA,yHA/BE,MAAAY,EAAK,EAAA,EAAAC,EACL,CAAA,QAAAC,EAAkB,EAAE,EAAAD,GACpB,aAAAE,EAAY,EAAA,EAAAF,EACZ,CAAA,QAAAG,EAAuC,OAAO,EAAAH,EAC9C,CAAA,YAAAI,EAAgC,MAAM,EAAAJ,EACtC,CAAA,QAAAK,EAAmB,EAAI,EAAAL,EACvB,CAAA,KAAAM,EAA8B,QAAQ,EAAAN,EACtC,CAAA,QAAAO,EAA8B,MAAS,EAAAP,EACvC,CAAA,QAAAQ,EAAmB,EAAK,EAAAR,EACxB,CAAA,cAAAS,EAAyB,EAAK,EAAAT,EAC9B,CAAA,QAAA1B,EAAU,EAAI,EAAA0B,EACd,CAAA,eAAAU,EAAiB,EAAI,EAAAV,EAE5BW,EAAML,IAAS,WAAa,WAAa,MAE9B,OAAAM,EAA0B,WAAW,yfAInDC,IAAK,CAAA,OAAAhD,GAAW4C,EACdzC,EAAW+B,EAAK,EAAA,EAChBS,EACAxC,EAAa,CAAA,UAAW,EAAK,GAAK,WAAW,CAAA,EAC3C,CAAA,OAAQ,EAAE,sBACd6C,EAAA,EAAEC,UAEMf,EAAM,QAAW,SAAsB,WAAAA,EAAM,aAAe,KAC5D,OAAAA,EAAM,OAAU,SAAqB,UAAAA,EAAM,WAAa,GAAE,sVCf3DgB,EAAAC,EAAA,QAAAC,EAAA9B,SAAOA,EAAO,CAAA,EAAA,IAAGA,EAAa,CAAA,EAAA,KAAK,GAAG,EAAA,iBAAA,cACvCA,EAAM,CAAA,CAAA,WACTA,EAAO,CAAA,CAAA,8BAHEA,EAAO,CAAA,CAAA,UAFrBI,EASQC,EAAAwB,EAAAvB,CAAA,mIANC,CAAAyB,GAAAC,EAAA,IAAAF,KAAAA,EAAA9B,SAAOA,EAAO,CAAA,EAAA,IAAGA,EAAa,CAAA,EAAA,KAAK,GAAG,EAAA,4DACvCA,EAAM,CAAA,CAAA,sBACTA,EAAO,CAAA,CAAA,wDAHEA,EAAO,CAAA,CAAA,kIAbT,MAAAY,EAAK,EAAA,EAAAC,EACL,CAAA,QAAAC,EAAkB,EAAE,EAAAD,GACpB,aAAAE,EAAY,EAAA,EAAAF,EACZ,CAAA,QAAA1B,EAAmB,EAAI,EAAA0B,EACvB,CAAA,QAAAG,EAA4C,WAAW,EAAAH,EACvD,CAAA,KAAAoB,EAAoBrB,EAAM,MAAQ,IAAI,EAAAC,EACtC,CAAA,SAAAqB,EAAoB,EAAK,EAAArB,6VAE9B,OAAAnC,GAAWG,EAAW+B,GAAQ,YAAY,CAAA,EAAAlC,CAAA"}