@solibo/solibo-ui 0.3.38 → 0.3.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/assets/index.css +1 -1
  2. package/dist/assets/index10.css +1 -1
  3. package/dist/assets/index11.css +1 -1
  4. package/dist/assets/index12.css +1 -1
  5. package/dist/assets/index13.css +1 -1
  6. package/dist/assets/index14.css +1 -1
  7. package/dist/assets/index15.css +1 -1
  8. package/dist/assets/index16.css +1 -1
  9. package/dist/assets/index17.css +1 -1
  10. package/dist/assets/index18.css +1 -1
  11. package/dist/assets/index19.css +1 -1
  12. package/dist/assets/index20.css +1 -1
  13. package/dist/assets/index21.css +1 -1
  14. package/dist/assets/index22.css +1 -1
  15. package/dist/assets/index33.css +1 -1
  16. package/dist/assets/index4.css +1 -1
  17. package/dist/assets/index41.css +1 -1
  18. package/dist/assets/index42.css +1 -1
  19. package/dist/assets/index43.css +1 -1
  20. package/dist/assets/index44.css +1 -0
  21. package/dist/assets/index5.css +1 -1
  22. package/dist/assets/index6.css +1 -1
  23. package/dist/assets/index7.css +0 -1
  24. package/dist/assets/index8.css +1 -0
  25. package/dist/assets/index9.css +1 -1
  26. package/dist/components/_avatar/index.cjs +1 -1
  27. package/dist/components/_avatar/index.js +1 -1
  28. package/dist/components/_card/index.cjs +1 -1
  29. package/dist/components/_card/index.js +1 -1
  30. package/dist/components/_collapsible/index.cjs +1 -1
  31. package/dist/components/_collapsible/index.js +1 -1
  32. package/dist/components/_croppable/index.cjs +1 -1
  33. package/dist/components/_croppable/index.js +1 -1
  34. package/dist/components/_dropdown/index.cjs +2 -0
  35. package/dist/components/_dropdown/index.cjs.map +1 -0
  36. package/dist/components/_dropdown/index.js +175 -0
  37. package/dist/components/_dropdown/index.js.map +1 -0
  38. package/dist/components/app-link/index.cjs +1 -1
  39. package/dist/components/app-link/index.js +1 -1
  40. package/dist/components/badge/index.cjs +1 -1
  41. package/dist/components/badge/index.js +1 -1
  42. package/dist/components/banner/index.cjs +1 -1
  43. package/dist/components/banner/index.js +1 -1
  44. package/dist/components/button/index.cjs +1 -1
  45. package/dist/components/button/index.cjs.map +1 -1
  46. package/dist/components/button/index.js +18 -17
  47. package/dist/components/button/index.js.map +1 -1
  48. package/dist/components/checkbox/index.cjs +1 -1
  49. package/dist/components/checkbox/index.js +1 -1
  50. package/dist/components/controls/index.cjs +1 -1
  51. package/dist/components/controls/index.js +1 -1
  52. package/dist/components/dialog/index.cjs +1 -1
  53. package/dist/components/dialog/index.js +1 -1
  54. package/dist/components/file/index.cjs +1 -1
  55. package/dist/components/file/index.js +1 -1
  56. package/dist/components/footer/index.cjs +1 -1
  57. package/dist/components/footer/index.js +1 -1
  58. package/dist/components/graph/index.cjs +1 -1
  59. package/dist/components/graph/index.js +1 -1
  60. package/dist/components/group/index.cjs +1 -1
  61. package/dist/components/group/index.js +1 -1
  62. package/dist/components/header/index.cjs +1 -1
  63. package/dist/components/header/index.js +1 -1
  64. package/dist/components/image/index.cjs +1 -1
  65. package/dist/components/image/index.js +1 -1
  66. package/dist/components/layout/index.cjs +1 -1
  67. package/dist/components/layout/index.js +1 -1
  68. package/dist/components/loading/index.cjs +1 -1
  69. package/dist/components/loading/index.js +1 -1
  70. package/dist/components/select/index.cjs +1 -1
  71. package/dist/components/select/index.cjs.map +1 -1
  72. package/dist/components/select/index.js +5 -26
  73. package/dist/components/select/index.js.map +1 -1
  74. package/dist/components/textarea/index.cjs +1 -1
  75. package/dist/components/textarea/index.js +1 -1
  76. package/dist/components/toast/index.cjs +1 -1
  77. package/dist/components/toast/index.js +1 -1
  78. package/dist/components/toolbar/index.cjs +1 -1
  79. package/dist/components/toolbar/index.js +1 -1
  80. package/dist/index-HNd9cEc6.cjs +2 -0
  81. package/dist/index-HNd9cEc6.cjs.map +1 -0
  82. package/dist/index-xRmXVWAN.js +34 -0
  83. package/dist/index-xRmXVWAN.js.map +1 -0
  84. package/dist/index.cjs +1 -1
  85. package/dist/index.d.ts +29 -10
  86. package/dist/index.js +76 -74
  87. package/dist/index.js.map +1 -1
  88. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/_dropdown/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { Children, isValidElement, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Button } from '@/components/button';\nimport { iconSVG } from '@/components/icon/icons';\nimport { Input } from '@/components/input';\nimport inputStyles from '@/components/input/styles.module.css';\nimport { List } from '@/components/list';\nimport { Select, type SelectProps } from '@/components/select';\nimport { sanitizeSelectProps } from '@/components/select/sanitizeSelectProps';\n\nimport styles from './styles.module.css';\n\ntype NativeSelectProps = Omit<React.ComponentPropsWithoutRef<'select'>, 'children' | 'multiple'> & {\n children: React.ReactNode;\n multiple?: false;\n};\n\ntype NativeSelectElement = React.ReactElement<NativeSelectProps, 'select'>;\ntype WrappedSelectElement = React.ReactElement<SelectProps, typeof Select>;\ntype DropdownSelectElement = NativeSelectElement | WrappedSelectElement;\n\ntype DropdownOption = {\n disabled: boolean;\n groupLabel?: string;\n hidden: boolean;\n isPlaceholder: boolean;\n label: React.ReactNode;\n selected: boolean;\n text: string;\n value: string;\n};\n\nexport type DropdownProps = Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> & {\n children: DropdownSelectElement;\n emptyLabel?: string;\n searchPlaceholder?: string;\n variant?: 'default' | 'minimal';\n};\n\nfunction getNodeText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number') {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n return node.map(getNodeText).join(' ');\n }\n\n if (isValidElement<{ children?: React.ReactNode }>(node)) {\n return getNodeText(node.props.children);\n }\n\n return '';\n}\n\nfunction isOptionElement(\n node: React.ReactNode\n): node is React.ReactElement<React.ComponentPropsWithoutRef<'option'>, 'option'> {\n return isValidElement(node) && node.type === 'option';\n}\n\nfunction isOptGroupElement(\n node: React.ReactNode\n): node is React.ReactElement<React.ComponentPropsWithoutRef<'optgroup'>, 'optgroup'> {\n return isValidElement(node) && node.type === 'optgroup';\n}\n\nfunction isFragmentElement(\n node: React.ReactNode\n): node is React.ReactElement<{ children?: React.ReactNode }, typeof React.Fragment> {\n return isValidElement(node) && node.type === React.Fragment;\n}\n\nfunction isWrappedSelectElement(node: React.ReactNode): node is WrappedSelectElement {\n return isValidElement(node) && node.type === Select;\n}\n\nfunction extractOptions(\n children: React.ReactNode,\n groupLabel?: string,\n groupDisabled = false\n): DropdownOption[] {\n const options: DropdownOption[] = [];\n\n Children.forEach(children, (child) => {\n if (isFragmentElement(child)) {\n options.push(...extractOptions(child.props.children, groupLabel, groupDisabled));\n return;\n }\n\n if (isOptionElement(child)) {\n const text = getNodeText(child.props.children).trim();\n const value = child.props.value != null ? String(child.props.value) : text;\n\n options.push({\n disabled: groupDisabled || Boolean(child.props.disabled),\n groupLabel,\n hidden: Boolean(child.props.hidden),\n isPlaceholder: Boolean(child.props.hidden && value === ''),\n label: child.props.children,\n selected: Boolean(child.props.selected),\n text,\n value,\n });\n\n return;\n }\n\n if (isOptGroupElement(child)) {\n options.push(\n ...extractOptions(\n child.props.children,\n child.props.label,\n groupDisabled || Boolean(child.props.disabled)\n )\n );\n }\n });\n\n return options;\n}\n\nfunction buildWildcardMatcher(query: string) {\n const trimmedQuery = query.trim();\n\n if (!trimmedQuery) {\n return null;\n }\n\n const wildcardQuery = /[*?]/.test(trimmedQuery) ? trimmedQuery : `*${trimmedQuery}*`;\n const expression = [...wildcardQuery]\n .map((character) => {\n if (character === '*') {\n return '.*';\n }\n\n if (character === '?') {\n return '.';\n }\n\n return character.replace(/[|\\\\{}()[\\]^$+.,]/g, '\\\\$&');\n })\n .join('');\n\n return new RegExp(`^${expression}$`, 'i');\n}\n\nfunction getInitialValue(\n options: DropdownOption[],\n value?: NativeSelectProps['value'],\n defaultValue?: NativeSelectProps['defaultValue']\n) {\n if (value != null) {\n return String(value);\n }\n\n if (defaultValue != null) {\n return String(defaultValue);\n }\n\n const selectedOption = options.find((option) => option.selected);\n\n if (selectedOption) {\n return selectedOption.value;\n }\n\n return options[0]?.value ?? '';\n}\n\nfunction normalizeSelectElement(selectElement: DropdownSelectElement) {\n if (isWrappedSelectElement(selectElement)) {\n const { children, placeholder, ...props } = selectElement.props;\n\n return {\n children: (\n <>\n {placeholder && (\n <option\n hidden\n value=''\n >\n {placeholder}\n </option>\n )}\n {children}\n </>\n ),\n props,\n };\n }\n\n return {\n children: selectElement.props.children,\n props: selectElement.props,\n };\n}\n\nexport const Dropdown = ({\n children: selectElement,\n className,\n emptyLabel = 'No matches found',\n searchPlaceholder = 'Filter',\n variant = 'default',\n ...props\n}: DropdownProps) => {\n const normalizedSelect = normalizeSelectElement(selectElement);\n const { defaultValue, onChange, value, ...restSelectProps } = normalizedSelect.props;\n const selectProps = sanitizeSelectProps(restSelectProps);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const nativeSelectRef = useRef<HTMLSelectElement>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const options = useMemo(\n () => extractOptions(normalizedSelect.children),\n [normalizedSelect.children]\n );\n const isControlled = value != null;\n const initialValue = useMemo(\n () => getInitialValue(options, value, defaultValue),\n [defaultValue, options, value]\n );\n const [internalValue, setInternalValue] = useState(() => initialValue);\n const [isOpen, setIsOpen] = useState(false);\n const [query, setQuery] = useState('');\n const selectedValue = isControlled ? String(value) : internalValue;\n\n const selectedOption = options.find((option) => option.value === selectedValue);\n const displayOption =\n selectedOption ?? options.find((option) => option.isPlaceholder) ?? options[0];\n const filterStyle = useMemo(\n () =>\n ({\n '--icon-svg': iconSVG('search').replace(\n 'currentColor',\n variant === 'minimal' ? 'rgb(255 255 255)' : 'rgb(0 0 0)'\n ),\n }) as React.CSSProperties,\n [variant]\n );\n const matcher = useMemo(() => buildWildcardMatcher(query), [query]);\n\n const filteredOptions = useMemo(() => {\n const selectableOptions = options.filter((option) => !option.hidden && !option.isPlaceholder);\n\n if (!matcher) {\n return selectableOptions;\n }\n\n return selectableOptions.filter((option) =>\n matcher.test([option.groupLabel, option.text, option.value].filter(Boolean).join(' '))\n );\n }, [matcher, options]);\n\n useEffect(() => {\n if (!isControlled && !options.some((option) => option.value === internalValue)) {\n setInternalValue(initialValue);\n }\n }, [initialValue, internalValue, isControlled, options]);\n\n useEffect(() => {\n if (!isOpen) {\n setQuery('');\n return;\n }\n\n searchRef.current?.focus();\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handlePointerDown = (event: MouseEvent) => {\n if (!containerRef.current?.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n };\n }, [isOpen]);\n\n const handleNativeChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n if (!isControlled) {\n setInternalValue(event.target.value);\n }\n\n onChange?.(event);\n };\n\n const commitValue = (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n\n const nativeSelect = nativeSelectRef.current;\n\n if (!nativeSelect) {\n setIsOpen(false);\n buttonRef.current?.focus();\n return;\n }\n\n const valueSetter = Object.getOwnPropertyDescriptor(HTMLSelectElement.prototype, 'value')?.set;\n\n valueSetter?.call(nativeSelect, nextValue);\n nativeSelect.dispatchEvent(new Event('change', { bubbles: true }));\n setIsOpen(false);\n buttonRef.current?.focus();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n buttonRef.current?.focus();\n }\n };\n\n return (\n <div\n className={cx(styles.dropdown, variant === 'minimal' && styles.minimal, className)}\n onKeyDown={handleKeyDown}\n ref={containerRef}\n {...props}\n >\n <select\n {...selectProps}\n aria-hidden='true'\n className={styles.native}\n onChange={handleNativeChange}\n ref={nativeSelectRef}\n tabIndex={-1}\n value={selectedValue}\n >\n {normalizedSelect.children}\n </select>\n <Button\n aria-expanded={isOpen}\n aria-haspopup='dialog'\n className={cx(\n variant === 'default' && inputStyles.input,\n styles.trigger,\n displayOption?.isPlaceholder && styles.placeholder\n )}\n data-open={isOpen ? 'true' : undefined}\n disabled={selectProps.disabled}\n onClick={() => setIsOpen((currentValue) => !currentValue)}\n ref={buttonRef}\n variant='minimal'\n >\n <span className={styles.text}>{displayOption?.label ?? 'Select an option'}</span>\n </Button>\n {isOpen && (\n <div className={styles.panel}>\n <Input\n aria-label='Filter'\n className={styles.filter}\n icon='search'\n onChange={(event) => setQuery(event.target.value)}\n placeholder={searchPlaceholder}\n ref={searchRef}\n style={filterStyle}\n type='search'\n value={query}\n />\n <List\n aria-label='Dropdown'\n className={styles.options}\n >\n {filteredOptions.length > 0 ? (\n filteredOptions.map((option) => {\n const isSelected = option.value === selectedValue;\n\n return (\n <li key={`${option.groupLabel ?? 'root'}-${option.value}`}>\n <Button\n aria-label={isSelected ? `${option.text}, selected` : option.text}\n className={cx(styles.option, isSelected && styles.selected)}\n disabled={option.disabled}\n onClick={() => commitValue(option.value)}\n variant='minimal'\n >\n <span className={styles.text}>{option.label}</span>\n {option.groupLabel && (\n <small className={styles.group}>{option.groupLabel}</small>\n )}\n </Button>\n </li>\n );\n })\n ) : (\n <li className={styles.empty}>{emptyLabel}</li>\n )}\n </List>\n </div>\n )}\n </div>\n );\n};\n"],"names":["getNodeText","node","String","Array","isArray","map","join","isValidElement","props","children","isOptionElement","type","isOptGroupElement","isFragmentElement","React","Fragment","isWrappedSelectElement","Select","extractOptions","groupLabel","groupDisabled","options","Children","forEach","child","push","text","trim","value","disabled","Boolean","hidden","isPlaceholder","label","selected","buildWildcardMatcher","query","trimmedQuery","expression","test","character","replace","RegExp","getInitialValue","defaultValue","selectedOption","find","option","normalizeSelectElement","selectElement","placeholder","jsxs","Dropdown","className","emptyLabel","searchPlaceholder","variant","normalizedSelect","onChange","restSelectProps","selectProps","sanitizeSelectProps","buttonRef","useRef","containerRef","nativeSelectRef","searchRef","useMemo","isControlled","initialValue","internalValue","setInternalValue","useState","isOpen","setIsOpen","setQuery","selectedValue","displayOption","filterStyle","iconSVG","matcher","filteredOptions","selectableOptions","filter","useEffect","some","current","focus","handlePointerDown","event","contains","target","document","addEventListener","removeEventListener","handleNativeChange","commitValue","nextValue","nativeSelect","valueSetter","Object","getOwnPropertyDescriptor","HTMLSelectElement","prototype","set","call","dispatchEvent","Event","bubbles","handleKeyDown","key","cx","styles","dropdown","minimal","jsx","native","Button","inputStyles","input","trigger","undefined","currentValue","panel","Input","List","length","isSelected","group","empty"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index18.css');const l=require("react/jsx-runtime"),s=require("../../classix-5H4IWnMA.cjs"),a=require("../link/index.cjs"),t="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='24'%20fill='none'%3e%3cpath%20fill='%23000'%20d='M16.705%2012.763c.012-.92.262-1.822.727-2.622a5.5%205.5%200%200%201%201.933-1.954A5.7%205.7%200%200%200%2017.4%206.478a5.8%205.8%200%200%200-2.54-.669c-1.896-.194-3.734%201.107-4.7%201.107-.985%200-2.472-1.088-4.074-1.056a6.1%206.1%200%200%200-2.93.854%205.9%205.9%200%200%200-2.12%202.153c-2.182%203.69-.554%209.114%201.537%2012.097%201.047%201.46%202.27%203.092%203.87%203.035%201.566-.064%202.15-.975%204.04-.975%201.873%200%202.422.974%204.054.938%201.68-.027%202.74-1.468%203.749-2.942A12%2012%200%200%200%2020%2017.612a5.37%205.37%200%200%201-2.395-1.94%205.2%205.2%200%200%201-.9-2.909M13.62%203.847A5.29%205.29%200%200%200%2014.88%200a5.64%205.64%200%200%200-3.621%201.83%205.1%205.1%200%200%200-1.023%201.726%205%205%200%200%200-.268%201.978c.7.007%201.393-.141%202.025-.433a4.6%204.6%200%200%200%201.629-1.254'/%3e%3c/svg%3e",p="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='74'%20height='15'%3e%3cpath%20d='M57.518%2011.41h1.629V.398h-1.629zm14.67-7.045-1.866%204.774h-.056l-1.938-4.774h-1.755l2.906%206.672-1.656%203.712h1.698L74%204.365zm-9.236%205.794c-.534%200-1.278-.269-1.278-.936%200-.849.926-1.175%201.727-1.175.715%200%201.053.156%201.488.369-.127%201.02-.997%201.742-1.937%201.742m.196-6.035c-1.179%200-2.401.524-2.906%201.686l1.446.609c.309-.609.884-.808%201.488-.808.843%200%201.699.51%201.713%201.417v.113c-.295-.17-.926-.425-1.699-.425-1.558%200-3.145.865-3.145%202.48%200%201.473%201.278%202.422%202.71%202.422%201.095%200%201.7-.495%202.078-1.077h.056v.85h1.572V7.17c0-1.954-1.446-3.045-3.313-3.045M53.082%205.705h-2.316V1.931h2.316c1.218%200%201.91%201.017%201.91%201.887%200%20.853-.692%201.887-1.91%201.887M53.04.398h-3.902V11.41h1.628V7.238h2.274c1.805%200%203.58-1.32%203.58-3.42%200-2.101-1.775-3.42-3.58-3.42m-21.282%209.763c-1.125%200-2.067-.95-2.067-2.256%200-1.32.942-2.285%202.067-2.285%201.112%200%201.983.965%201.983%202.285%200%201.305-.871%202.256-1.983%202.256m1.87-5.18h-.056c-.366-.44-1.068-.837-1.954-.837-1.857%200-3.558%201.646-3.558%203.76%200%202.1%201.701%203.733%203.558%203.733.886%200%201.588-.397%201.954-.852h.057v.54c0%201.433-.76%202.2-1.983%202.2-.999%200-1.618-.725-1.87-1.335l-1.421.596c.408.994%201.49%202.214%203.29%202.214%201.913%200%203.53-1.135%203.53-3.902V4.37H33.63zm2.673%206.429h1.631V.397h-1.631zm4.035-3.633c-.042-1.447%201.111-2.185%201.94-2.185.648%200%201.196.326%201.379.794zM45.4%206.528c-.31-.837-1.252-2.384-3.178-2.384-1.913%200-3.501%201.518-3.501%203.747%200%202.1%201.574%203.746%203.683%203.746%201.702%200%202.687-1.05%203.095-1.66l-1.266-.852c-.422.624-.999%201.036-1.829%201.036s-1.42-.384-1.8-1.135l4.964-2.073zM5.85%205.294v1.589h3.768c-.112.894-.407%201.547-.857%202-.549.554-1.407%201.165-2.91%201.165-2.322%200-4.136-1.888-4.136-4.23%200-2.341%201.814-4.228%204.135-4.228%201.252%200%202.166.497%202.84%201.135l1.112-1.121C8.859.696%207.608%200%205.85%200%202.672%200%200%202.612%200%205.819s2.672%205.818%205.85%205.818c1.715%200%203.009-.568%204.021-1.632%201.042-1.05%201.365-2.526%201.365-3.718%200-.37-.028-.71-.085-.993zm9.67%204.867c-1.124%200-2.095-.937-2.095-2.27%200-1.349.97-2.271%202.096-2.271%201.124%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.727%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747m8.13%206.017c-1.125%200-2.096-.937-2.096-2.27%200-1.349.97-2.271%202.096-2.271%201.125%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.726%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747'/%3e%3c/svg%3e",i="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='21'%20height='24'%20fill='none'%3e%3cpath%20fill='%23EA4335'%20d='M9.805%2011.462.09%2022.006l.001.006C.39%2023.158%201.411%2024%202.625%2024c.486%200%20.941-.134%201.332-.37l.03-.018%2010.936-6.453z'/%3e%3cpath%20fill='%23FBBC04'%20d='m19.633%209.666-.009-.006-4.721-2.799-5.32%204.84%205.339%205.457%204.696-2.77A2.7%202.7%200%200%200%2021%2012.022a2.69%202.69%200%200%200-1.367-2.356'/%3e%3cpath%20fill='%234285F4'%20d='M.09%201.993a2.7%202.7%200%200%200-.09.69v18.633q0%20.36.09.69L10.14%2011.73z'/%3e%3cpath%20fill='%2334A853'%20d='m9.877%2012%205.027-5.14L3.982.383A2.6%202.6%200%200%200%202.626%200C1.412%200%20.389.844.09%201.99v.003z'/%3e%3c/svg%3e",g="_apple_1m7d3_17",h="_google_1m7d3_49",e={"app-link":"_app-link_1m7d3_1",apple:g,google:h},n=({label:o,type:c})=>l.jsxs(a.Link,{to:c==="apple"?"https://apps.apple.com/app/6478964287":"https://play.google.com/store/apps/details?id=no.solibo.mobile.home",className:s.t(e["app-link"],e[c]),"data-component":"applink",children:[c==="apple"?l.jsx("img",{src:t,alt:"App Store logo"}):l.jsx("img",{src:i,alt:"Google Play logo"}),l.jsxs("div",{children:[l.jsx("span",{children:o}),l.jsx("span",{children:c==="google"?l.jsx("img",{src:p,alt:"Google Play"}):"App Store"})]})]});exports.AppLink=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index17.css');const l=require("react/jsx-runtime"),s=require("../../classix-5H4IWnMA.cjs"),a=require("../link/index.cjs"),t="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='24'%20fill='none'%3e%3cpath%20fill='%23000'%20d='M16.705%2012.763c.012-.92.262-1.822.727-2.622a5.5%205.5%200%200%201%201.933-1.954A5.7%205.7%200%200%200%2017.4%206.478a5.8%205.8%200%200%200-2.54-.669c-1.896-.194-3.734%201.107-4.7%201.107-.985%200-2.472-1.088-4.074-1.056a6.1%206.1%200%200%200-2.93.854%205.9%205.9%200%200%200-2.12%202.153c-2.182%203.69-.554%209.114%201.537%2012.097%201.047%201.46%202.27%203.092%203.87%203.035%201.566-.064%202.15-.975%204.04-.975%201.873%200%202.422.974%204.054.938%201.68-.027%202.74-1.468%203.749-2.942A12%2012%200%200%200%2020%2017.612a5.37%205.37%200%200%201-2.395-1.94%205.2%205.2%200%200%201-.9-2.909M13.62%203.847A5.29%205.29%200%200%200%2014.88%200a5.64%205.64%200%200%200-3.621%201.83%205.1%205.1%200%200%200-1.023%201.726%205%205%200%200%200-.268%201.978c.7.007%201.393-.141%202.025-.433a4.6%204.6%200%200%200%201.629-1.254'/%3e%3c/svg%3e",p="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='74'%20height='15'%3e%3cpath%20d='M57.518%2011.41h1.629V.398h-1.629zm14.67-7.045-1.866%204.774h-.056l-1.938-4.774h-1.755l2.906%206.672-1.656%203.712h1.698L74%204.365zm-9.236%205.794c-.534%200-1.278-.269-1.278-.936%200-.849.926-1.175%201.727-1.175.715%200%201.053.156%201.488.369-.127%201.02-.997%201.742-1.937%201.742m.196-6.035c-1.179%200-2.401.524-2.906%201.686l1.446.609c.309-.609.884-.808%201.488-.808.843%200%201.699.51%201.713%201.417v.113c-.295-.17-.926-.425-1.699-.425-1.558%200-3.145.865-3.145%202.48%200%201.473%201.278%202.422%202.71%202.422%201.095%200%201.7-.495%202.078-1.077h.056v.85h1.572V7.17c0-1.954-1.446-3.045-3.313-3.045M53.082%205.705h-2.316V1.931h2.316c1.218%200%201.91%201.017%201.91%201.887%200%20.853-.692%201.887-1.91%201.887M53.04.398h-3.902V11.41h1.628V7.238h2.274c1.805%200%203.58-1.32%203.58-3.42%200-2.101-1.775-3.42-3.58-3.42m-21.282%209.763c-1.125%200-2.067-.95-2.067-2.256%200-1.32.942-2.285%202.067-2.285%201.112%200%201.983.965%201.983%202.285%200%201.305-.871%202.256-1.983%202.256m1.87-5.18h-.056c-.366-.44-1.068-.837-1.954-.837-1.857%200-3.558%201.646-3.558%203.76%200%202.1%201.701%203.733%203.558%203.733.886%200%201.588-.397%201.954-.852h.057v.54c0%201.433-.76%202.2-1.983%202.2-.999%200-1.618-.725-1.87-1.335l-1.421.596c.408.994%201.49%202.214%203.29%202.214%201.913%200%203.53-1.135%203.53-3.902V4.37H33.63zm2.673%206.429h1.631V.397h-1.631zm4.035-3.633c-.042-1.447%201.111-2.185%201.94-2.185.648%200%201.196.326%201.379.794zM45.4%206.528c-.31-.837-1.252-2.384-3.178-2.384-1.913%200-3.501%201.518-3.501%203.747%200%202.1%201.574%203.746%203.683%203.746%201.702%200%202.687-1.05%203.095-1.66l-1.266-.852c-.422.624-.999%201.036-1.829%201.036s-1.42-.384-1.8-1.135l4.964-2.073zM5.85%205.294v1.589h3.768c-.112.894-.407%201.547-.857%202-.549.554-1.407%201.165-2.91%201.165-2.322%200-4.136-1.888-4.136-4.23%200-2.341%201.814-4.228%204.135-4.228%201.252%200%202.166.497%202.84%201.135l1.112-1.121C8.859.696%207.608%200%205.85%200%202.672%200%200%202.612%200%205.819s2.672%205.818%205.85%205.818c1.715%200%203.009-.568%204.021-1.632%201.042-1.05%201.365-2.526%201.365-3.718%200-.37-.028-.71-.085-.993zm9.67%204.867c-1.124%200-2.095-.937-2.095-2.27%200-1.349.97-2.271%202.096-2.271%201.124%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.727%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747m8.13%206.017c-1.125%200-2.096-.937-2.096-2.27%200-1.349.97-2.271%202.096-2.271%201.125%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.726%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747'/%3e%3c/svg%3e",i="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='21'%20height='24'%20fill='none'%3e%3cpath%20fill='%23EA4335'%20d='M9.805%2011.462.09%2022.006l.001.006C.39%2023.158%201.411%2024%202.625%2024c.486%200%20.941-.134%201.332-.37l.03-.018%2010.936-6.453z'/%3e%3cpath%20fill='%23FBBC04'%20d='m19.633%209.666-.009-.006-4.721-2.799-5.32%204.84%205.339%205.457%204.696-2.77A2.7%202.7%200%200%200%2021%2012.022a2.69%202.69%200%200%200-1.367-2.356'/%3e%3cpath%20fill='%234285F4'%20d='M.09%201.993a2.7%202.7%200%200%200-.09.69v18.633q0%20.36.09.69L10.14%2011.73z'/%3e%3cpath%20fill='%2334A853'%20d='m9.877%2012%205.027-5.14L3.982.383A2.6%202.6%200%200%200%202.626%200C1.412%200%20.389.844.09%201.99v.003z'/%3e%3c/svg%3e",g="_apple_1m7d3_17",h="_google_1m7d3_49",e={"app-link":"_app-link_1m7d3_1",apple:g,google:h},n=({label:o,type:c})=>l.jsxs(a.Link,{to:c==="apple"?"https://apps.apple.com/app/6478964287":"https://play.google.com/store/apps/details?id=no.solibo.mobile.home",className:s.t(e["app-link"],e[c]),"data-component":"applink",children:[c==="apple"?l.jsx("img",{src:t,alt:"App Store logo"}):l.jsx("img",{src:i,alt:"Google Play logo"}),l.jsxs("div",{children:[l.jsx("span",{children:o}),l.jsx("span",{children:c==="google"?l.jsx("img",{src:p,alt:"Google Play"}):"App Store"})]})]});exports.AppLink=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { jsxs as c, jsx as l } from "react/jsx-runtime";
2
2
  import { t as e } from "../../classix-DG18itHa.js";
3
3
  import { Link as t } from "../link/index.js";
4
- import '../../assets/index18.css';const s = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='24'%20fill='none'%3e%3cpath%20fill='%23000'%20d='M16.705%2012.763c.012-.92.262-1.822.727-2.622a5.5%205.5%200%200%201%201.933-1.954A5.7%205.7%200%200%200%2017.4%206.478a5.8%205.8%200%200%200-2.54-.669c-1.896-.194-3.734%201.107-4.7%201.107-.985%200-2.472-1.088-4.074-1.056a6.1%206.1%200%200%200-2.93.854%205.9%205.9%200%200%200-2.12%202.153c-2.182%203.69-.554%209.114%201.537%2012.097%201.047%201.46%202.27%203.092%203.87%203.035%201.566-.064%202.15-.975%204.04-.975%201.873%200%202.422.974%204.054.938%201.68-.027%202.74-1.468%203.749-2.942A12%2012%200%200%200%2020%2017.612a5.37%205.37%200%200%201-2.395-1.94%205.2%205.2%200%200%201-.9-2.909M13.62%203.847A5.29%205.29%200%200%200%2014.88%200a5.64%205.64%200%200%200-3.621%201.83%205.1%205.1%200%200%200-1.023%201.726%205%205%200%200%200-.268%201.978c.7.007%201.393-.141%202.025-.433a4.6%204.6%200%200%200%201.629-1.254'/%3e%3c/svg%3e", g = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='74'%20height='15'%3e%3cpath%20d='M57.518%2011.41h1.629V.398h-1.629zm14.67-7.045-1.866%204.774h-.056l-1.938-4.774h-1.755l2.906%206.672-1.656%203.712h1.698L74%204.365zm-9.236%205.794c-.534%200-1.278-.269-1.278-.936%200-.849.926-1.175%201.727-1.175.715%200%201.053.156%201.488.369-.127%201.02-.997%201.742-1.937%201.742m.196-6.035c-1.179%200-2.401.524-2.906%201.686l1.446.609c.309-.609.884-.808%201.488-.808.843%200%201.699.51%201.713%201.417v.113c-.295-.17-.926-.425-1.699-.425-1.558%200-3.145.865-3.145%202.48%200%201.473%201.278%202.422%202.71%202.422%201.095%200%201.7-.495%202.078-1.077h.056v.85h1.572V7.17c0-1.954-1.446-3.045-3.313-3.045M53.082%205.705h-2.316V1.931h2.316c1.218%200%201.91%201.017%201.91%201.887%200%20.853-.692%201.887-1.91%201.887M53.04.398h-3.902V11.41h1.628V7.238h2.274c1.805%200%203.58-1.32%203.58-3.42%200-2.101-1.775-3.42-3.58-3.42m-21.282%209.763c-1.125%200-2.067-.95-2.067-2.256%200-1.32.942-2.285%202.067-2.285%201.112%200%201.983.965%201.983%202.285%200%201.305-.871%202.256-1.983%202.256m1.87-5.18h-.056c-.366-.44-1.068-.837-1.954-.837-1.857%200-3.558%201.646-3.558%203.76%200%202.1%201.701%203.733%203.558%203.733.886%200%201.588-.397%201.954-.852h.057v.54c0%201.433-.76%202.2-1.983%202.2-.999%200-1.618-.725-1.87-1.335l-1.421.596c.408.994%201.49%202.214%203.29%202.214%201.913%200%203.53-1.135%203.53-3.902V4.37H33.63zm2.673%206.429h1.631V.397h-1.631zm4.035-3.633c-.042-1.447%201.111-2.185%201.94-2.185.648%200%201.196.326%201.379.794zM45.4%206.528c-.31-.837-1.252-2.384-3.178-2.384-1.913%200-3.501%201.518-3.501%203.747%200%202.1%201.574%203.746%203.683%203.746%201.702%200%202.687-1.05%203.095-1.66l-1.266-.852c-.422.624-.999%201.036-1.829%201.036s-1.42-.384-1.8-1.135l4.964-2.073zM5.85%205.294v1.589h3.768c-.112.894-.407%201.547-.857%202-.549.554-1.407%201.165-2.91%201.165-2.322%200-4.136-1.888-4.136-4.23%200-2.341%201.814-4.228%204.135-4.228%201.252%200%202.166.497%202.84%201.135l1.112-1.121C8.859.696%207.608%200%205.85%200%202.672%200%200%202.612%200%205.819s2.672%205.818%205.85%205.818c1.715%200%203.009-.568%204.021-1.632%201.042-1.05%201.365-2.526%201.365-3.718%200-.37-.028-.71-.085-.993zm9.67%204.867c-1.124%200-2.095-.937-2.095-2.27%200-1.349.97-2.271%202.096-2.271%201.124%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.727%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747m8.13%206.017c-1.125%200-2.096-.937-2.096-2.27%200-1.349.97-2.271%202.096-2.271%201.125%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.726%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747'/%3e%3c/svg%3e", h = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='21'%20height='24'%20fill='none'%3e%3cpath%20fill='%23EA4335'%20d='M9.805%2011.462.09%2022.006l.001.006C.39%2023.158%201.411%2024%202.625%2024c.486%200%20.941-.134%201.332-.37l.03-.018%2010.936-6.453z'/%3e%3cpath%20fill='%23FBBC04'%20d='m19.633%209.666-.009-.006-4.721-2.799-5.32%204.84%205.339%205.457%204.696-2.77A2.7%202.7%200%200%200%2021%2012.022a2.69%202.69%200%200%200-1.367-2.356'/%3e%3cpath%20fill='%234285F4'%20d='M.09%201.993a2.7%202.7%200%200%200-.09.69v18.633q0%20.36.09.69L10.14%2011.73z'/%3e%3cpath%20fill='%2334A853'%20d='m9.877%2012%205.027-5.14L3.982.383A2.6%202.6%200%200%200%202.626%200C1.412%200%20.389.844.09%201.99v.003z'/%3e%3c/svg%3e", m = "_apple_1m7d3_17", i = "_google_1m7d3_49", a = {
4
+ import '../../assets/index17.css';const s = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='24'%20fill='none'%3e%3cpath%20fill='%23000'%20d='M16.705%2012.763c.012-.92.262-1.822.727-2.622a5.5%205.5%200%200%201%201.933-1.954A5.7%205.7%200%200%200%2017.4%206.478a5.8%205.8%200%200%200-2.54-.669c-1.896-.194-3.734%201.107-4.7%201.107-.985%200-2.472-1.088-4.074-1.056a6.1%206.1%200%200%200-2.93.854%205.9%205.9%200%200%200-2.12%202.153c-2.182%203.69-.554%209.114%201.537%2012.097%201.047%201.46%202.27%203.092%203.87%203.035%201.566-.064%202.15-.975%204.04-.975%201.873%200%202.422.974%204.054.938%201.68-.027%202.74-1.468%203.749-2.942A12%2012%200%200%200%2020%2017.612a5.37%205.37%200%200%201-2.395-1.94%205.2%205.2%200%200%201-.9-2.909M13.62%203.847A5.29%205.29%200%200%200%2014.88%200a5.64%205.64%200%200%200-3.621%201.83%205.1%205.1%200%200%200-1.023%201.726%205%205%200%200%200-.268%201.978c.7.007%201.393-.141%202.025-.433a4.6%204.6%200%200%200%201.629-1.254'/%3e%3c/svg%3e", g = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='74'%20height='15'%3e%3cpath%20d='M57.518%2011.41h1.629V.398h-1.629zm14.67-7.045-1.866%204.774h-.056l-1.938-4.774h-1.755l2.906%206.672-1.656%203.712h1.698L74%204.365zm-9.236%205.794c-.534%200-1.278-.269-1.278-.936%200-.849.926-1.175%201.727-1.175.715%200%201.053.156%201.488.369-.127%201.02-.997%201.742-1.937%201.742m.196-6.035c-1.179%200-2.401.524-2.906%201.686l1.446.609c.309-.609.884-.808%201.488-.808.843%200%201.699.51%201.713%201.417v.113c-.295-.17-.926-.425-1.699-.425-1.558%200-3.145.865-3.145%202.48%200%201.473%201.278%202.422%202.71%202.422%201.095%200%201.7-.495%202.078-1.077h.056v.85h1.572V7.17c0-1.954-1.446-3.045-3.313-3.045M53.082%205.705h-2.316V1.931h2.316c1.218%200%201.91%201.017%201.91%201.887%200%20.853-.692%201.887-1.91%201.887M53.04.398h-3.902V11.41h1.628V7.238h2.274c1.805%200%203.58-1.32%203.58-3.42%200-2.101-1.775-3.42-3.58-3.42m-21.282%209.763c-1.125%200-2.067-.95-2.067-2.256%200-1.32.942-2.285%202.067-2.285%201.112%200%201.983.965%201.983%202.285%200%201.305-.871%202.256-1.983%202.256m1.87-5.18h-.056c-.366-.44-1.068-.837-1.954-.837-1.857%200-3.558%201.646-3.558%203.76%200%202.1%201.701%203.733%203.558%203.733.886%200%201.588-.397%201.954-.852h.057v.54c0%201.433-.76%202.2-1.983%202.2-.999%200-1.618-.725-1.87-1.335l-1.421.596c.408.994%201.49%202.214%203.29%202.214%201.913%200%203.53-1.135%203.53-3.902V4.37H33.63zm2.673%206.429h1.631V.397h-1.631zm4.035-3.633c-.042-1.447%201.111-2.185%201.94-2.185.648%200%201.196.326%201.379.794zM45.4%206.528c-.31-.837-1.252-2.384-3.178-2.384-1.913%200-3.501%201.518-3.501%203.747%200%202.1%201.574%203.746%203.683%203.746%201.702%200%202.687-1.05%203.095-1.66l-1.266-.852c-.422.624-.999%201.036-1.829%201.036s-1.42-.384-1.8-1.135l4.964-2.073zM5.85%205.294v1.589h3.768c-.112.894-.407%201.547-.857%202-.549.554-1.407%201.165-2.91%201.165-2.322%200-4.136-1.888-4.136-4.23%200-2.341%201.814-4.228%204.135-4.228%201.252%200%202.166.497%202.84%201.135l1.112-1.121C8.859.696%207.608%200%205.85%200%202.672%200%200%202.612%200%205.819s2.672%205.818%205.85%205.818c1.715%200%203.009-.568%204.021-1.632%201.042-1.05%201.365-2.526%201.365-3.718%200-.37-.028-.71-.085-.993zm9.67%204.867c-1.124%200-2.095-.937-2.095-2.27%200-1.349.97-2.271%202.096-2.271%201.124%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.727%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747m8.13%206.017c-1.125%200-2.096-.937-2.096-2.27%200-1.349.97-2.271%202.096-2.271%201.125%200%202.095.922%202.095%202.27%200%201.334-.97%202.27-2.095%202.27m0-6.017c-2.053%200-3.726%201.575-3.726%203.747%200%202.157%201.673%203.746%203.726%203.746s3.726-1.59%203.726-3.746c0-2.172-1.673-3.747-3.726-3.747'/%3e%3c/svg%3e", h = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='21'%20height='24'%20fill='none'%3e%3cpath%20fill='%23EA4335'%20d='M9.805%2011.462.09%2022.006l.001.006C.39%2023.158%201.411%2024%202.625%2024c.486%200%20.941-.134%201.332-.37l.03-.018%2010.936-6.453z'/%3e%3cpath%20fill='%23FBBC04'%20d='m19.633%209.666-.009-.006-4.721-2.799-5.32%204.84%205.339%205.457%204.696-2.77A2.7%202.7%200%200%200%2021%2012.022a2.69%202.69%200%200%200-1.367-2.356'/%3e%3cpath%20fill='%234285F4'%20d='M.09%201.993a2.7%202.7%200%200%200-.09.69v18.633q0%20.36.09.69L10.14%2011.73z'/%3e%3cpath%20fill='%2334A853'%20d='m9.877%2012%205.027-5.14L3.982.383A2.6%202.6%200%200%200%202.626%200C1.412%200%20.389.844.09%201.99v.003z'/%3e%3c/svg%3e", m = "_apple_1m7d3_17", i = "_google_1m7d3_49", a = {
5
5
  "app-link": "_app-link_1m7d3_1",
6
6
  apple: m,
7
7
  google: i
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index17.css');const n=require("react/jsx-runtime"),r=require("../../classix-5H4IWnMA.cjs"),s="_badge_7j4yg_1",o="_primary_7j4yg_8",i="_info_7j4yg_13",e={badge:s,primary:o,info:i},c={default:e.default,primary:e.primary,info:e.info},d=({children:a,variant:t="default"})=>n.jsx("span",{className:r.t(e.badge,c[t]),"data-component":"badge",children:a});exports.Badge=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index16.css');const n=require("react/jsx-runtime"),r=require("../../classix-5H4IWnMA.cjs"),s="_badge_7j4yg_1",o="_primary_7j4yg_8",i="_info_7j4yg_13",e={badge:s,primary:o,info:i},c={default:e.default,primary:e.primary,info:e.info},d=({children:a,variant:t="default"})=>n.jsx("span",{className:r.t(e.badge,c[t]),"data-component":"badge",children:a});exports.Badge=d;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { t as n } from "../../classix-DG18itHa.js";
3
- import '../../assets/index17.css';const e = "_badge_7j4yg_1", i = "_primary_7j4yg_8", s = "_info_7j4yg_13", a = {
3
+ import '../../assets/index16.css';const e = "_badge_7j4yg_1", i = "_primary_7j4yg_8", s = "_info_7j4yg_13", a = {
4
4
  badge: e,
5
5
  primary: i,
6
6
  info: s
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index16.css');const t=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),b=require("../button/index.cjs"),u="_banner_vu5j6_13",o="_visible_vu5j6_34",r={banner:u,visible:o},v=({button:a,message:s,onClick:e,onDismiss:n,visible:c=!1})=>{const i=()=>{e==null||e(),n==null||n()};return t.jsxs("div",{"aria-live":"assertive",className:l.t(r.banner,c&&r.visible),"data-component":"banner",children:[s,t.jsx(b.Button,{onClick:i,children:a})]})};exports.Banner=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index15.css');const t=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),b=require("../button/index.cjs"),u="_banner_vu5j6_13",o="_visible_vu5j6_34",r={banner:u,visible:o},v=({button:a,message:s,onClick:e,onDismiss:n,visible:c=!1})=>{const i=()=>{e==null||e(),n==null||n()};return t.jsxs("div",{"aria-live":"assertive",className:l.t(r.banner,c&&r.visible),"data-component":"banner",children:[s,t.jsx(b.Button,{onClick:i,children:a})]})};exports.Banner=v;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { jsxs as v, jsx as o } from "react/jsx-runtime";
2
2
  import { t as c } from "../../classix-DG18itHa.js";
3
3
  import { Button as i } from "../button/index.js";
4
- import '../../assets/index16.css';const s = "_banner_vu5j6_13", _ = "_visible_vu5j6_34", n = {
4
+ import '../../assets/index15.css';const s = "_banner_vu5j6_13", _ = "_visible_vu5j6_34", n = {
5
5
  banner: s,
6
6
  visible: _
7
7
  }, j = ({
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index33.css');const a=require("react/jsx-runtime"),c=require("../../classix-5H4IWnMA.cjs"),u=require("../icon/index.cjs"),l="_button_18c17_1",d="_danger_18c17_19",_="_minimal_18c17_32",p="_primary_18c17_39",t={button:l,danger:d,minimal:_,primary:p},b={danger:t.danger,default:t.default,minimal:t.minimal,primary:t.primary},g=({children:i,className:r,disabled:o=!1,icon:n,onClick:s,variant:e="default",...m})=>a.jsxs("button",{className:c.t(r,t.button,b[e]),disabled:o,onClick:s,type:"button",...m,"data-component":"button",children:[n&&a.jsx(u.Icon,{gap:"right",name:n,size:"small",variant:e==="minimal"?"default":"white"}),i]});exports.Button=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index33.css');const r=require("react/jsx-runtime"),u=require("../../classix-5H4IWnMA.cjs"),l=require("react"),d=require("../icon/index.cjs"),_="_button_1cw1v_1",g="_danger_1cw1v_19",p="_minimal_1cw1v_32",y="_primary_1cw1v_39",t={button:_,danger:g,minimal:p,primary:y},b={danger:t.danger,default:t.default,minimal:t.minimal,primary:t.primary},f=l.forwardRef(({children:a,className:i,disabled:s=!1,icon:n,onClick:o,variant:e="default",...c},m)=>r.jsxs("button",{className:u.t(t.button,b[e],i),disabled:s,onClick:o,ref:m,type:"button",...c,children:[n&&r.jsx(d.Icon,{gap:"right",name:n,size:"small",variant:e==="minimal"?"default":"white"}),a]}));exports.Button=f;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Icon } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n minimal: styles.minimal,\n primary: styles.primary,\n};\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n children: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport const Button = ({\n children,\n className,\n disabled = false,\n icon,\n onClick,\n variant = 'default',\n ...props\n}: ButtonProps) => {\n return (\n <button\n className={cx(className, styles.button, variants[variant])}\n disabled={disabled}\n onClick={onClick}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n gap='right'\n name={icon}\n size='small'\n variant={variant === 'minimal' ? 'default' : 'white'}\n />\n )}\n {children}\n </button>\n );\n};\n"],"names":["variants","danger","styles","default","minimal","primary","Button","children","className","disabled","icon","onClick","variant","props","cx","button","jsx","Icon"],"mappings":"2TAMMA,EAAW,CACfC,OAAQC,EAAOD,OACfE,QAASD,EAAOC,QAChBC,QAASF,EAAOE,QAChBC,QAASH,EAAOG,OAClB,EAWaC,EAASA,CAAC,CACrBC,SAAAA,EACAC,UAAAA,EACAC,SAAAA,EAAW,GACXC,KAAAA,EACAC,QAAAA,EACAC,QAAAA,EAAU,UACV,GAAGC,CACQ,WAER,SAAA,CACC,UAAWC,EAAAA,EAAGN,EAAWN,EAAOa,OAAQf,EAASY,CAAO,CAAC,EACzD,SAAAH,EACA,QAAAE,EACA,KAAK,SACL,GAAIE,EAAM,iBAAA,SAETH,SAAAA,CAAAA,GACCM,EAAAA,IAACC,EAAAA,KAAA,CACC,IAAI,QACJ,KAAMP,EACN,KAAK,QACL,QAASE,IAAY,UAAY,UAAY,QAAQ,EAGxDL,CAAAA,EACH"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { forwardRef } from 'react';\n\nimport { Icon } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n minimal: styles.minimal,\n primary: styles.primary,\n};\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n children: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n children,\n className,\n disabled = false,\n icon,\n onClick,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n return (\n <button\n className={cx(styles.button, variants[variant], className)}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n gap='right'\n name={icon}\n size='small'\n variant={variant === 'minimal' ? 'default' : 'white'}\n />\n )}\n {children}\n </button>\n );\n }\n);\n"],"names":["variants","danger","styles","default","minimal","primary","Button","forwardRef","children","className","disabled","icon","onClick","variant","props","ref","cx","button","jsx","Icon"],"mappings":"8UAOMA,EAAW,CACfC,OAAQC,EAAOD,OACfE,QAASD,EAAOC,QAChBC,QAASF,EAAOE,QAChBC,QAASH,EAAOG,OAClB,EAWaC,EAASC,EAAAA,WACpB,CACE,CACEC,SAAAA,EACAC,UAAAA,EACAC,SAAAA,EAAW,GACXC,KAAAA,EACAC,QAAAA,EACAC,QAAAA,EAAU,UACV,GAAGC,CACL,EACAC,WAGG,SAAA,CACC,UAAWC,EAAAA,EAAGd,EAAOe,OAAQjB,EAASa,CAAO,EAAGJ,CAAS,EACzD,SAAAC,EACA,QAAAE,EACA,IAAAG,EACA,KAAK,SACL,GAAID,EAEHH,SAAAA,CAAAA,GACCO,EAAAA,IAACC,EAAAA,KAAA,CACC,IAAI,QACJ,KAAMR,EACN,KAAK,QACL,QAASE,IAAY,UAAY,UAAY,QAAQ,EAGxDL,CAAAA,EACH,CAGN"}
@@ -1,29 +1,30 @@
1
- import { jsxs as s, jsx as l } from "react/jsx-runtime";
2
- import { t as c } from "../../classix-DG18itHa.js";
3
- import { Icon as u } from "../icon/index.js";
4
- import '../../assets/index33.css';const p = "_button_18c17_1", _ = "_danger_18c17_19", d = "_minimal_18c17_32", f = "_primary_18c17_39", t = {
5
- button: p,
6
- danger: _,
7
- minimal: d,
8
- primary: f
1
+ import { jsxs as l, jsx as c } from "react/jsx-runtime";
2
+ import { t as p } from "../../classix-DG18itHa.js";
3
+ import { forwardRef as u } from "react";
4
+ import { Icon as _ } from "../icon/index.js";
5
+ import '../../assets/index33.css';const d = "_button_1cw1v_1", f = "_danger_1cw1v_19", g = "_minimal_1cw1v_32", y = "_primary_1cw1v_39", t = {
6
+ button: d,
7
+ danger: f,
8
+ minimal: g,
9
+ primary: y
9
10
  }, b = {
10
11
  danger: t.danger,
11
12
  default: t.default,
12
13
  minimal: t.minimal,
13
14
  primary: t.primary
14
- }, x = ({
15
- children: m,
16
- className: r,
15
+ }, j = u(({
16
+ children: n,
17
+ className: m,
17
18
  disabled: i = !1,
18
- icon: n,
19
+ icon: r,
19
20
  onClick: o,
20
21
  variant: a = "default",
21
22
  ...e
22
- }) => /* @__PURE__ */ s("button", { className: c(r, t.button, b[a]), disabled: i, onClick: o, type: "button", ...e, "data-component": "button", children: [
23
- n && /* @__PURE__ */ l(u, { gap: "right", name: n, size: "small", variant: a === "minimal" ? "default" : "white" }),
24
- m
25
- ] });
23
+ }, s) => /* @__PURE__ */ l("button", { className: p(t.button, b[a], m), disabled: i, onClick: o, ref: s, type: "button", ...e, children: [
24
+ r && /* @__PURE__ */ c(_, { gap: "right", name: r, size: "small", variant: a === "minimal" ? "default" : "white" }),
25
+ n
26
+ ] }));
26
27
  export {
27
- x as Button
28
+ j as Button
28
29
  };
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Icon } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n minimal: styles.minimal,\n primary: styles.primary,\n};\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n children: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport const Button = ({\n children,\n className,\n disabled = false,\n icon,\n onClick,\n variant = 'default',\n ...props\n}: ButtonProps) => {\n return (\n <button\n className={cx(className, styles.button, variants[variant])}\n disabled={disabled}\n onClick={onClick}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n gap='right'\n name={icon}\n size='small'\n variant={variant === 'minimal' ? 'default' : 'white'}\n />\n )}\n {children}\n </button>\n );\n};\n"],"names":["variants","danger","styles","default","minimal","primary","Button","children","className","disabled","icon","onClick","variant","props","cx","button","jsx","Icon"],"mappings":";;;;;;;;GAMMA,IAAW;AAAA,EACfC,QAAQC,EAAOD;AAAAA,EACfE,SAASD,EAAOC;AAAAA,EAChBC,SAASF,EAAOE;AAAAA,EAChBC,SAASH,EAAOG;AAClB,GAWaC,IAASA,CAAC;AAAA,EACrBC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,MAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACV,GAAGC;AACQ,wBAER,UAAA,EACC,WAAWC,EAAGN,GAAWN,EAAOa,QAAQf,EAASY,CAAO,CAAC,GACzD,UAAAH,GACA,SAAAE,GACA,MAAK,UACL,GAAIE,GAAM,kBAAA,UAETH,UAAAA;AAAAA,EAAAA,KACC,gBAAAM,EAACC,GAAA,EACC,KAAI,SACJ,MAAMP,GACN,MAAK,SACL,SAASE,MAAY,YAAY,YAAY,SAAQ;AAAA,EAGxDL;AAAAA,GACH;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { forwardRef } from 'react';\n\nimport { Icon } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n minimal: styles.minimal,\n primary: styles.primary,\n};\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n children: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n children,\n className,\n disabled = false,\n icon,\n onClick,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n return (\n <button\n className={cx(styles.button, variants[variant], className)}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n gap='right'\n name={icon}\n size='small'\n variant={variant === 'minimal' ? 'default' : 'white'}\n />\n )}\n {children}\n </button>\n );\n }\n);\n"],"names":["variants","danger","styles","default","minimal","primary","Button","forwardRef","children","className","disabled","icon","onClick","variant","props","ref","cx","button","jsx","Icon"],"mappings":";;;;;;;;;GAOMA,IAAW;AAAA,EACfC,QAAQC,EAAOD;AAAAA,EACfE,SAASD,EAAOC;AAAAA,EAChBC,SAASF,EAAOE;AAAAA,EAChBC,SAASH,EAAOG;AAClB,GAWaC,IAASC,EACpB,CACE;AAAA,EACEC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,MAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACV,GAAGC;AACL,GACAC,wBAGG,UAAA,EACC,WAAWC,EAAGd,EAAOe,QAAQjB,EAASa,CAAO,GAAGJ,CAAS,GACzD,UAAAC,GACA,SAAAE,GACA,KAAAG,GACA,MAAK,UACL,GAAID,GAEHH,UAAAA;AAAAA,EAAAA,KACC,gBAAAO,EAACC,GAAA,EACC,KAAI,SACJ,MAAMR,GACN,MAAK,SACL,SAASE,MAAY,YAAY,YAAY,SAAQ;AAAA,EAGxDL;AAAAA,GACH,CAGN;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index14.css');const e=require("react/jsx-runtime"),x=require("../../icons-CMoejLkL.cjs"),b=require("../loading/index.cjs"),h="_checkbox_16skt_1",k={checkbox:h},u=({checked:s,disabled:t,isLoading:c,label:o,onChange:n,...i})=>{const r={"--icon-svg":x.iconSVG("check")};return e.jsxs("label",{className:k.checkbox,"data-component":"checkbox",children:[c&&e.jsx(b.Loading,{size:24,sticky:!0}),e.jsx("input",{checked:s,disabled:t||c,onChange:n,type:"checkbox",style:r,...i}),o&&o]})};exports.Checkbox=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index13.css');const e=require("react/jsx-runtime"),x=require("../../icons-CMoejLkL.cjs"),b=require("../loading/index.cjs"),h="_checkbox_16skt_1",k={checkbox:h},u=({checked:s,disabled:t,isLoading:c,label:o,onChange:n,...i})=>{const r={"--icon-svg":x.iconSVG("check")};return e.jsxs("label",{className:k.checkbox,"data-component":"checkbox",children:[c&&e.jsx(b.Loading,{size:24,sticky:!0}),e.jsx("input",{checked:s,disabled:t||c,onChange:n,type:"checkbox",style:r,...i}),o&&o]})};exports.Checkbox=u;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { jsxs as h, jsx as e } from "react/jsx-runtime";
2
2
  import { i as k } from "../../icons-BqQRUUWn.js";
3
3
  import { Loading as x } from "../loading/index.js";
4
- import '../../assets/index14.css';const b = "_checkbox_16skt_1", m = {
4
+ import '../../assets/index13.css';const b = "_checkbox_16skt_1", m = {
5
5
  checkbox: b
6
6
  }, d = ({
7
7
  checked: t,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index13.css');const r=require("react/jsx-runtime"),t=require("../../helpers-fOobx0tS.cjs"),o="_controls_u02jm_15",c="_wrapper_u02jm_29",e={controls:o,wrapper:c},l=({children:s,...n})=>r.jsx(r.Fragment,{children:r.jsx("div",{className:e.wrapper,children:r.jsx("div",{className:e.controls,children:r.jsx("menu",{"data-animation":"stagger",...n,children:t.wrapChildren(s)})})})});exports.Controls=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index12.css');const r=require("react/jsx-runtime"),t=require("../../helpers-fOobx0tS.cjs"),o="_controls_u02jm_15",c="_wrapper_u02jm_29",e={controls:o,wrapper:c},l=({children:s,...n})=>r.jsx(r.Fragment,{children:r.jsx("div",{className:e.wrapper,children:r.jsx("div",{className:e.controls,children:r.jsx("menu",{"data-animation":"stagger",...n,children:t.wrapChildren(s)})})})});exports.Controls=l;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as r, Fragment as t } from "react/jsx-runtime";
2
2
  import { w as e } from "../../helpers-Dbey5Ztb.js";
3
- import '../../assets/index13.css';const a = "_controls_u02jm_15", c = "_wrapper_u02jm_29", o = {
3
+ import '../../assets/index12.css';const a = "_controls_u02jm_15", c = "_wrapper_u02jm_29", o = {
4
4
  controls: a,
5
5
  wrapper: c
6
6
  }, i = ({
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index12.css');const a=require("react/jsx-runtime"),s="_dialog_1dwjg_1",t="_wrapper_1dwjg_32",e={dialog:s,wrapper:t},n=({children:i,setOpen:o,...l})=>a.jsx("div",{className:e.wrapper,onClick:()=>o?o(!1):{},"data-component":"dialog",children:a.jsx("dialog",{className:e.dialog,onClick:r=>r.stopPropagation(),...l,children:i})});exports.Dialog=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index11.css');const a=require("react/jsx-runtime"),s="_dialog_1dwjg_1",t="_wrapper_1dwjg_32",e={dialog:s,wrapper:t},n=({children:i,setOpen:o,...l})=>a.jsx("div",{className:e.wrapper,onClick:()=>o?o(!1):{},"data-component":"dialog",children:a.jsx("dialog",{className:e.dialog,onClick:r=>r.stopPropagation(),...l,children:i})});exports.Dialog=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import '../../assets/index12.css';const s = "_dialog_1dwjg_1", d = "_wrapper_1dwjg_32", r = {
2
+ import '../../assets/index11.css';const s = "_dialog_1dwjg_1", d = "_wrapper_1dwjg_32", r = {
3
3
  dialog: s,
4
4
  wrapper: d
5
5
  }, c = ({
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index11.css');const e=require("react/jsx-runtime"),l=require("../icon/index.cjs"),o="_file_4xr4l_1",r={file:o,delete:"_delete_4xr4l_46"},c=({name:i,onClick:t,onDelete:n,url:a})=>e.jsxs("div",{className:r.file,"data-component":"file",children:[e.jsxs("a",{href:a,onClick:s=>{s.stopPropagation(),(t||!a)&&(s.preventDefault(),t&&t())},role:a||t?"document":"auto",title:i,children:[e.jsx(l.Icon,{name:"document",size:"small",variant:"primary"}),i]}),n&&e.jsx("a",{"aria-label":"delete document",className:r.delete,onClick:()=>n(),tabIndex:0,children:e.jsx(l.Icon,{name:"trash",size:"small",variant:"danger"})})]});exports.File=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index10.css');const e=require("react/jsx-runtime"),l=require("../icon/index.cjs"),o="_file_4xr4l_1",r={file:o,delete:"_delete_4xr4l_46"},c=({name:i,onClick:t,onDelete:n,url:a})=>e.jsxs("div",{className:r.file,"data-component":"file",children:[e.jsxs("a",{href:a,onClick:s=>{s.stopPropagation(),(t||!a)&&(s.preventDefault(),t&&t())},role:a||t?"document":"auto",title:i,children:[e.jsx(l.Icon,{name:"document",size:"small",variant:"primary"}),i]}),n&&e.jsx("a",{"aria-label":"delete document",className:r.delete,onClick:()=>n(),tabIndex:0,children:e.jsx(l.Icon,{name:"trash",size:"small",variant:"danger"})})]});exports.File=c;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
2
  import { Icon as s } from "../icon/index.js";
3
- import '../../assets/index11.css';const d = "_file_4xr4l_1", o = {
3
+ import '../../assets/index10.css';const d = "_file_4xr4l_1", o = {
4
4
  file: d,
5
5
  delete: "_delete_4xr4l_46"
6
6
  }, f = ({
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index10.css');const r=require("react/jsx-runtime"),n="_footer_uv5cc_1",s={footer:n},a=({animation:t,children:o,...e})=>r.jsx("footer",{className:s.footer,"data-animation":t,...e,"data-component":"footer",children:o&&o});exports.Footer=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index9.css');const r=require("react/jsx-runtime"),n="_footer_uv5cc_1",s={footer:n},a=({animation:t,children:o,...e})=>r.jsx("footer",{className:s.footer,"data-animation":t,...e,"data-component":"footer",children:o&&o});exports.Footer=a;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import '../../assets/index10.css';const a = "_footer_uv5cc_1", n = {
2
+ import '../../assets/index9.css';const a = "_footer_uv5cc_1", n = {
3
3
  footer: a
4
4
  }, c = ({
5
5
  animation: t,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index9.css');const a=require("react/jsx-runtime"),b=require("../../classix-5H4IWnMA.cjs"),y=require("../loading/index.cjs"),j="_graph_18yw9_11",w="_plot_18yw9_20",v="_item_18yw9_30",N="_column_18yw9_36",f="_value_18yw9_44",M="_track_18yw9_54",V="_bar_18yw9_61",k="_label_18yw9_82",e={graph:j,plot:w,item:v,column:N,value:f,track:M,bar:V,label:k,"is-loading":"_is-loading_18yw9_91"},h=l=>Number.isFinite(l)?Math.max(0,l):0,S=({className:l,height:r,items:n=[],label:o,style:_,valueFormatter:u=c=>c.toLocaleString(),...p})=>{const c=n.reduce((s,t)=>Math.max(s,h(t.value)),0),d={..._,"--graph-columns":Math.max(n.length,1),"--graph-height":r||"calc(var(--unit) * 16)"};return a.jsxs("figure",{className:b.t(e.graph,l),style:d,...p,"data-component":"graph",children:[o&&a.jsx("figcaption",{"data-content":"screen-reader",children:o}),n.length>0?a.jsx("ul",{className:e.plot,children:n.map((s,t)=>{const i=h(s.value),m=c>0?i/c*100:0,g=i>0?Math.max(m,6):0,x={"--bar-color":s.color,"--bar-delay":t*50+"ms","--bar-height":g+"%"};return a.jsxs("li",{className:e.item,"data-component":"graph",children:[a.jsxs("div",{className:e.column,children:[a.jsx("span",{className:e.value,children:u(s.value)}),a.jsx("span",{className:e.track,children:a.jsx("span",{className:e.bar,style:x})})]}),a.jsx("span",{className:e.label,title:s.label,children:s.label})]},s.label+t)})}):a.jsx("div",{className:e["is-loading"],children:a.jsx(y.Loading,{})})]})};exports.Graph=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index8.css');const a=require("react/jsx-runtime"),b=require("../../classix-5H4IWnMA.cjs"),y=require("../loading/index.cjs"),j="_graph_18yw9_11",w="_plot_18yw9_20",v="_item_18yw9_30",N="_column_18yw9_36",f="_value_18yw9_44",M="_track_18yw9_54",V="_bar_18yw9_61",k="_label_18yw9_82",e={graph:j,plot:w,item:v,column:N,value:f,track:M,bar:V,label:k,"is-loading":"_is-loading_18yw9_91"},h=l=>Number.isFinite(l)?Math.max(0,l):0,S=({className:l,height:r,items:n=[],label:o,style:_,valueFormatter:u=c=>c.toLocaleString(),...p})=>{const c=n.reduce((s,t)=>Math.max(s,h(t.value)),0),d={..._,"--graph-columns":Math.max(n.length,1),"--graph-height":r||"calc(var(--unit) * 16)"};return a.jsxs("figure",{className:b.t(e.graph,l),style:d,...p,"data-component":"graph",children:[o&&a.jsx("figcaption",{"data-content":"screen-reader",children:o}),n.length>0?a.jsx("ul",{className:e.plot,children:n.map((s,t)=>{const i=h(s.value),m=c>0?i/c*100:0,g=i>0?Math.max(m,6):0,x={"--bar-color":s.color,"--bar-delay":t*50+"ms","--bar-height":g+"%"};return a.jsxs("li",{className:e.item,"data-component":"graph",children:[a.jsxs("div",{className:e.column,children:[a.jsx("span",{className:e.value,children:u(s.value)}),a.jsx("span",{className:e.track,children:a.jsx("span",{className:e.bar,style:x})})]}),a.jsx("span",{className:e.label,title:s.label,children:s.label})]},s.label+t)})}):a.jsx("div",{className:e["is-loading"],children:a.jsx(y.Loading,{})})]})};exports.Graph=S;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
2
  import { t as w } from "../../classix-DG18itHa.js";
3
3
  import { Loading as N } from "../loading/index.js";
4
- import '../../assets/index9.css';const v = "_graph_18yw9_11", f = "_plot_18yw9_20", x = "_item_18yw9_30", V = "_column_18yw9_36", k = "_value_18yw9_44", M = "_track_18yw9_54", j = "_bar_18yw9_61", L = "_label_18yw9_82", a = {
4
+ import '../../assets/index8.css';const v = "_graph_18yw9_11", f = "_plot_18yw9_20", x = "_item_18yw9_30", V = "_column_18yw9_36", k = "_value_18yw9_44", M = "_track_18yw9_54", j = "_bar_18yw9_61", L = "_label_18yw9_82", a = {
5
5
  graph: v,
6
6
  plot: f,
7
7
  item: x,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index8.css');const s=require("react/jsx-runtime"),u=require("../../classix-5H4IWnMA.cjs"),n="_group_g6ddz_1",a={group:n},c=({animation:o,children:t,className:r,...e})=>s.jsx("div",{className:u.t(r,a.group),"data-animation":o,...e,"data-component":"group",children:t});exports.Group=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index7.css');const s=require("react/jsx-runtime"),u=require("../../classix-5H4IWnMA.cjs"),n="_group_g6ddz_1",a={group:n},c=({animation:o,children:t,className:r,...e})=>s.jsx("div",{className:u.t(r,a.group),"data-animation":o,...e,"data-component":"group",children:t});exports.Group=c;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import { t as n } from "../../classix-DG18itHa.js";
3
- import '../../assets/index8.css';const s = "_group_g6ddz_1", m = {
3
+ import '../../assets/index7.css';const s = "_group_g6ddz_1", m = {
4
4
  group: s
5
5
  }, c = ({
6
6
  animation: o,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index7.css');const s=require("react/jsx-runtime"),r=require("../../classix-5H4IWnMA.cjs"),o="_header_1tfsg_1",u="_jumbo_1tfsg_58",e={header:o,jumbo:u},d={default:e.default,jumbo:e.jumbo},n=({children:t,variant:a="default"})=>s.jsx("header",{className:r.t(e.header,d[a]),"data-component":"header",children:t});exports.Header=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index6.css');const s=require("react/jsx-runtime"),r=require("../../classix-5H4IWnMA.cjs"),o="_header_1tfsg_1",u="_jumbo_1tfsg_58",e={header:o,jumbo:u},d={default:e.default,jumbo:e.jumbo},n=({children:t,variant:a="default"})=>s.jsx("header",{className:r.t(e.header,d[a]),"data-component":"header",children:t});exports.Header=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import { t as r } from "../../classix-DG18itHa.js";
3
- import '../../assets/index7.css';const s = "_header_1tfsg_1", d = "_jumbo_1tfsg_58", e = {
3
+ import '../../assets/index6.css';const s = "_header_1tfsg_1", d = "_jumbo_1tfsg_58", e = {
4
4
  header: s,
5
5
  jumbo: d
6
6
  }, m = {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index6.css');const d=require("react/jsx-runtime"),c=require("react"),o="_image_nnuov_1",y={image:o};function S({fadeDurationMs:n=250,showOnError:r=!0,onLoad:a,onError:u,style:l,...t}){const i=c.useRef(null),[m,s]=c.useState(!1);c.useEffect(()=>{s(!1)},[t.src,t.srcSet]),c.useEffect(()=>{const e=i.current;e&&e.complete&&e.naturalWidth>0&&s(!0)},[t.src,t.srcSet]);const f=e=>{s(!0),a==null||a(e)},g=e=>{r&&s(!0),u==null||u(e)};return d.jsx("img",{...t,className:y.image,onLoad:f,onError:g,ref:i,style:{...l,opacity:m?1:0,"--duration-override":`${n}ms`},"data-component":"image"})}exports.Image=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index5.css');const d=require("react/jsx-runtime"),c=require("react"),o="_image_nnuov_1",y={image:o};function S({fadeDurationMs:n=250,showOnError:r=!0,onLoad:a,onError:u,style:l,...t}){const i=c.useRef(null),[m,s]=c.useState(!1);c.useEffect(()=>{s(!1)},[t.src,t.srcSet]),c.useEffect(()=>{const e=i.current;e&&e.complete&&e.naturalWidth>0&&s(!0)},[t.src,t.srcSet]);const f=e=>{s(!0),a==null||a(e)},g=e=>{r&&s(!0),u==null||u(e)};return d.jsx("img",{...t,className:y.image,onLoad:f,onError:g,ref:i,style:{...l,opacity:m?1:0,"--duration-override":`${n}ms`},"data-component":"image"})}exports.Image=S;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as g } from "react/jsx-runtime";
2
2
  import { useRef as o, useState as h, useEffect as m } from "react";
3
- import '../../assets/index6.css';const y = "_image_nnuov_1", S = {
3
+ import '../../assets/index5.css';const y = "_image_nnuov_1", S = {
4
4
  image: y
5
5
  };
6
6
  function x({
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index5.css');const n=require("react/jsx-runtime"),u=require("../../classix-5H4IWnMA.cjs"),l="_layout_3jh9m_16",r="_dashboard_3jh9m_30",c="_home_3jh9m_34",o={layout:l,dashboard:r,home:c},m=({children:t,isLoading:a=!1,feature:s,...e})=>n.jsx("main",{className:u.t(o.layout,o[s],a&&"is-loading"),...e,"data-component":"layout",children:t});exports.Layout=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index4.css');const n=require("react/jsx-runtime"),u=require("../../classix-5H4IWnMA.cjs"),l="_layout_3jh9m_16",r="_dashboard_3jh9m_30",c="_home_3jh9m_34",o={layout:l,dashboard:r,home:c},m=({children:t,isLoading:a=!1,feature:s,...e})=>n.jsx("main",{className:u.t(o.layout,o[s],a&&"is-loading"),...e,"data-component":"layout",children:t});exports.Layout=m;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import { t as r } from "../../classix-DG18itHa.js";
3
- import '../../assets/index5.css';const e = "_layout_3jh9m_16", h = "_dashboard_3jh9m_30", l = "_home_3jh9m_34", o = {
3
+ import '../../assets/index4.css';const e = "_layout_3jh9m_16", h = "_dashboard_3jh9m_30", l = "_home_3jh9m_34", o = {
4
4
  layout: e,
5
5
  dashboard: h,
6
6
  home: l
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index15.css');const n=require("react/jsx-runtime"),i=require("../../classix-5H4IWnMA.cjs"),c="_loading_1ytlq_23",d="_spin_1ytlq_1",_="_ping_1ytlq_39",r="_sticky_1ytlq_65",s={loading:c,default:"_default_1ytlq_28",spin:d,ping:_,sticky:r},g=({variant:o="default",size:t,sticky:l=!1,...a})=>{const e={"--border-size":t?t/8+"px":void 0,"--size":t?t+"px":void 0};return n.jsx("div",{className:i.t(s.loading,l&&s.sticky),"data-component":"loading",children:n.jsx("span",{className:i.t(s.loading,s[o]),style:e,...a})})};exports.Loading=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index14.css');const n=require("react/jsx-runtime"),i=require("../../classix-5H4IWnMA.cjs"),c="_loading_1ytlq_23",d="_spin_1ytlq_1",_="_ping_1ytlq_39",r="_sticky_1ytlq_65",s={loading:c,default:"_default_1ytlq_28",spin:d,ping:_,sticky:r},g=({variant:o="default",size:t,sticky:l=!1,...a})=>{const e={"--border-size":t?t/8+"px":void 0,"--size":t?t+"px":void 0};return n.jsx("div",{className:i.t(s.loading,l&&s.sticky),"data-component":"loading",children:n.jsx("span",{className:i.t(s.loading,s[o]),style:e,...a})})};exports.Loading=g;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { t as s } from "../../classix-DG18itHa.js";
3
- import '../../assets/index15.css';const c = "_loading_1ytlq_23", _ = "_spin_1ytlq_1", p = "_ping_1ytlq_39", e = "_sticky_1ytlq_65", n = {
3
+ import '../../assets/index14.css';const c = "_loading_1ytlq_23", _ = "_spin_1ytlq_1", p = "_ping_1ytlq_39", e = "_sticky_1ytlq_65", n = {
4
4
  loading: c,
5
5
  default: "_default_1ytlq_28",
6
6
  spin: _,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index4.css');const e=require("react/jsx-runtime"),n=require("../../classix-5H4IWnMA.cjs"),d=require("../../utils-D_TJ8wDc.cjs"),a="_select_kvjzq_1",q="_label_kvjzq_21",j="_required_kvjzq_25",s={select:a,label:q,required:j},_=({children:u,label:c,placeholder:l,...t})=>{const{touched:i,onBlur:o}=d.useTouched(t.value===""),r=e.jsxs("select",{className:n.t(s.select,i&&"touched"),onBlur:o,...t,children:[l&&e.jsx("option",{value:"",hidden:!0,children:l}),u]});return c?e.jsxs("label",{"data-component":"select",children:[e.jsx("span",{className:n.t(s.label,t.required&&s.required),children:c}),r]}):r};exports.Select=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("../../classix-5H4IWnMA.cjs");require("../../utils-D_TJ8wDc.cjs");const e=require("../../index-HNd9cEc6.cjs");exports.Select=e.Select;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/select/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { useTouched } from '@/utils.ts';\n\nimport styles from './styles.module.css';\n\nexport type SelectProps = React.SelectHTMLAttributes<HTMLSelectElement> & {\n children: React.ReactNode;\n label?: string;\n placeholder?: string;\n};\n\nexport const Select = ({ children, label, placeholder, ...props }: SelectProps) => {\n const { touched, onBlur } = useTouched(props.value === '');\n\n const selectElement = (\n <select\n className={cx(styles.select, touched && 'touched')}\n onBlur={onBlur}\n {...props}\n >\n {placeholder && (\n <option\n value={''}\n hidden\n >\n {placeholder}\n </option>\n )}\n {children}\n </select>\n );\n\n if (!label) {\n return selectElement;\n }\n\n return (\n <label>\n <span className={cx(styles.label, props.required && styles.required)}>{label}</span>\n {selectElement}\n </label>\n );\n};\n"],"names":["Select","children","label","placeholder","props","touched","onBlur","useTouched","value","selectElement","jsxs","cx","styles","select","jsx","required"],"mappings":"kSAYaA,EAASA,CAAC,CAAEC,SAAAA,EAAUC,MAAAA,EAAOC,YAAAA,EAAa,GAAGC,CAAmB,IAAM,CACjF,KAAM,CAAEC,QAAAA,EAASC,OAAAA,CAAAA,EAAWC,aAAWH,EAAMI,QAAU,EAAE,EAEnDC,EACJC,EAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,EAAGC,EAAOC,OAAQR,GAAW,SAAS,EACjD,OAAAC,EACA,GAAIF,EAEHD,SAAAA,CAAAA,SACE,SAAA,CACC,MAAO,GACP,OAAM,GAELA,SAAAA,EACH,EAEDF,CAAAA,EACH,EAGF,OAAKC,EAKHQ,EAAAA,KAAC,QAAA,CAAK,iBAAA,SACJ,SAAA,CAAAI,EAAAA,IAAC,OAAA,CAAK,UAAWH,EAAAA,EAAGC,EAAOV,MAAOE,EAAMW,UAAYH,EAAOG,QAAQ,EAAIb,SAAAA,CAAAA,CAAM,EAC5EO,CAAAA,EACH,EAPOA,CASX"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,29 +1,8 @@
1
- import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
- import { t as o } from "../../classix-DG18itHa.js";
3
- import { u as a } from "../../utils-DXIJVVzz.js";
4
- import '../../assets/index4.css';const m = "_select_kvjzq_1", _ = "_label_kvjzq_21", q = "_required_kvjzq_25", t = {
5
- select: m,
6
- label: _,
7
- required: q
8
- }, b = ({
9
- children: u,
10
- label: l,
11
- placeholder: c,
12
- ...e
13
- }) => {
14
- const {
15
- touched: i,
16
- onBlur: d
17
- } = a(e.value === ""), r = /* @__PURE__ */ s("select", { className: o(t.select, i && "touched"), onBlur: d, ...e, children: [
18
- c && /* @__PURE__ */ n("option", { value: "", hidden: !0, children: c }),
19
- u
20
- ] });
21
- return l ? /* @__PURE__ */ s("label", { "data-component": "select", children: [
22
- /* @__PURE__ */ n("span", { className: o(t.label, e.required && t.required), children: l }),
23
- r
24
- ] }) : r;
25
- };
1
+ import "react/jsx-runtime";
2
+ import "../../classix-DG18itHa.js";
3
+ import "../../utils-DXIJVVzz.js";
4
+ import { S as e } from "../../index-xRmXVWAN.js";
26
5
  export {
27
- b as Select
6
+ e as Select
28
7
  };
29
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/select/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { useTouched } from '@/utils.ts';\n\nimport styles from './styles.module.css';\n\nexport type SelectProps = React.SelectHTMLAttributes<HTMLSelectElement> & {\n children: React.ReactNode;\n label?: string;\n placeholder?: string;\n};\n\nexport const Select = ({ children, label, placeholder, ...props }: SelectProps) => {\n const { touched, onBlur } = useTouched(props.value === '');\n\n const selectElement = (\n <select\n className={cx(styles.select, touched && 'touched')}\n onBlur={onBlur}\n {...props}\n >\n {placeholder && (\n <option\n value={''}\n hidden\n >\n {placeholder}\n </option>\n )}\n {children}\n </select>\n );\n\n if (!label) {\n return selectElement;\n }\n\n return (\n <label>\n <span className={cx(styles.label, props.required && styles.required)}>{label}</span>\n {selectElement}\n </label>\n );\n};\n"],"names":["Select","children","label","placeholder","props","touched","onBlur","useTouched","value","selectElement","jsxs","cx","styles","select","jsx","required"],"mappings":";;;;;;;GAYaA,IAASA,CAAC;AAAA,EAAEC,UAAAA;AAAAA,EAAUC,OAAAA;AAAAA,EAAOC,aAAAA;AAAAA,EAAa,GAAGC;AAAmB,MAAM;AACjF,QAAM;AAAA,IAAEC,SAAAA;AAAAA,IAASC,QAAAA;AAAAA,EAAAA,IAAWC,EAAWH,EAAMI,UAAU,EAAE,GAEnDC,IACJ,gBAAAC,EAAC,UAAA,EACC,WAAWC,EAAGC,EAAOC,QAAQR,KAAW,SAAS,GACjD,QAAAC,GACA,GAAIF,GAEHD,UAAAA;AAAAA,IAAAA,uBACE,UAAA,EACC,OAAO,IACP,QAAM,IAELA,UAAAA,GACH;AAAA,IAEDF;AAAAA,EAAAA,GACH;AAGF,SAAKC,IAKH,gBAAAQ,EAAC,SAAA,EAAK,kBAAA,UACJ,UAAA;AAAA,IAAA,gBAAAI,EAAC,QAAA,EAAK,WAAWH,EAAGC,EAAOV,OAAOE,EAAMW,YAAYH,EAAOG,QAAQ,GAAIb,UAAAA,EAAAA,CAAM;AAAA,IAC5EO;AAAAA,EAAAA,GACH,IAPOA;AASX;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index41.css');const e=require("react/jsx-runtime"),r=require("../../classix-5H4IWnMA.cjs"),y=require("../../utils-D_TJ8wDc.cjs"),l=require("../../styles.module-CwroCNAt.cjs"),d="_label_b5yys_1",b="_textarea_b5yys_5",n={label:d,textarea:b},m=({label:t,maxRows:o=12,minRows:c=3,required:s,value:a,...u})=>{const{touched:i,onBlur:x}=y.useTouched(a==="");return e.jsxs("label",{"data-component":"textarea",children:[t&&e.jsx("span",{className:r.t(n.label,s&&l.inputStyles.required),children:t}),e.jsx("textarea",{className:r.t(l.inputStyles.input,n.textarea,i&&"touched"),onBlur:x,...u,required:s,style:{"--min-rows":c,"--max-rows":o},value:a})]})};exports.Textarea=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index42.css');const e=require("react/jsx-runtime"),r=require("../../classix-5H4IWnMA.cjs"),y=require("../../utils-D_TJ8wDc.cjs"),l=require("../../styles.module-CwroCNAt.cjs"),d="_label_b5yys_1",b="_textarea_b5yys_5",n={label:d,textarea:b},m=({label:t,maxRows:o=12,minRows:c=3,required:s,value:a,...u})=>{const{touched:i,onBlur:x}=y.useTouched(a==="");return e.jsxs("label",{"data-component":"textarea",children:[t&&e.jsx("span",{className:r.t(n.label,s&&l.inputStyles.required),children:t}),e.jsx("textarea",{className:r.t(l.inputStyles.input,n.textarea,i&&"touched"),onBlur:x,...u,required:s,style:{"--min-rows":c,"--max-rows":o},value:a})]})};exports.Textarea=m;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -2,7 +2,7 @@ import { jsxs as p, jsx as s } from "react/jsx-runtime";
2
2
  import { t as r } from "../../classix-DG18itHa.js";
3
3
  import { u } from "../../utils-DXIJVVzz.js";
4
4
  import { i as o } from "../../styles.module-C_Z8FrR5.js";
5
- import '../../assets/index41.css';const y = "_label_b5yys_1", b = "_textarea_b5yys_5", l = {
5
+ import '../../assets/index42.css';const y = "_label_b5yys_1", b = "_textarea_b5yys_5", l = {
6
6
  label: y,
7
7
  textarea: b
8
8
  }, j = ({
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index42.css');const o=require("react/jsx-runtime"),v=require("../../classix-5H4IWnMA.cjs"),n=require("react"),f=require("../icon/index.cjs"),l="_toast_tav58_1",d="_active_tav58_18",m="_error_tav58_24",q="_info_tav58_28",T="_success_tav58_33",a={toast:l,active:d,error:m,info:q,success:T},g=({label:i,type:s="success",onClick:u,onExitComplete:e,open:r=!0})=>{const[_,c]=n.useState(!1);return n.useEffect(()=>{if(!r)return c(!1);const t=requestAnimationFrame(()=>c(!0));return()=>cancelAnimationFrame(t)},[r]),o.jsxs("div",{"aria-live":s==="error"?"assertive":"polite",className:v.t(a.toast,a[s],_&&a.active),onClick:u,onTransitionEnd:t=>{r||t.propertyName!=="opacity"||t.currentTarget!==t.target||e==null||e()},"data-component":"toast",children:[o.jsx(f.Icon,{name:s}),i]})};exports.Toast=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index43.css');const o=require("react/jsx-runtime"),v=require("../../classix-5H4IWnMA.cjs"),n=require("react"),f=require("../icon/index.cjs"),l="_toast_tav58_1",d="_active_tav58_18",m="_error_tav58_24",q="_info_tav58_28",T="_success_tav58_33",a={toast:l,active:d,error:m,info:q,success:T},g=({label:i,type:s="success",onClick:u,onExitComplete:e,open:r=!0})=>{const[_,c]=n.useState(!1);return n.useEffect(()=>{if(!r)return c(!1);const t=requestAnimationFrame(()=>c(!0));return()=>cancelAnimationFrame(t)},[r]),o.jsxs("div",{"aria-live":s==="error"?"assertive":"polite",className:v.t(a.toast,a[s],_&&a.active),onClick:u,onTransitionEnd:t=>{r||t.propertyName!=="opacity"||t.currentTarget!==t.target||e==null||e()},"data-component":"toast",children:[o.jsx(f.Icon,{name:s}),i]})};exports.Toast=g;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -2,7 +2,7 @@ import { jsxs as _, jsx as u } from "react/jsx-runtime";
2
2
  import { t as f } from "../../classix-DG18itHa.js";
3
3
  import { useState as m, useEffect as v } from "react";
4
4
  import { Icon as d } from "../icon/index.js";
5
- import '../../assets/index42.css';const l = "_toast_tav58_1", h = "_active_tav58_18", T = "_error_tav58_24", g = "_info_tav58_28", j = "_success_tav58_33", o = {
5
+ import '../../assets/index43.css';const l = "_toast_tav58_1", h = "_active_tav58_18", T = "_error_tav58_24", g = "_info_tav58_28", j = "_success_tav58_33", o = {
6
6
  toast: l,
7
7
  active: h,
8
8
  error: T,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index43.css');const a=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),s="_toolbar_104fz_1",n="_editor_104fz_33",o={toolbar:s,default:"_default_104fz_26",editor:n},i=({children:t,variant:e="default"})=>a.jsx("div",{className:l.t(o.toolbar,o[e]),onClick:r=>r.stopPropagation(),"data-component":"toolbar",children:t});exports.Toolbar=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index44.css');const a=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),s="_toolbar_104fz_1",n="_editor_104fz_33",o={toolbar:s,default:"_default_104fz_26",editor:n},i=({children:t,variant:e="default"})=>a.jsx("div",{className:l.t(o.toolbar,o[e]),onClick:r=>r.stopPropagation(),"data-component":"toolbar",children:t});exports.Toolbar=i;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
2
  import { t as e } from "../../classix-DG18itHa.js";
3
- import '../../assets/index43.css';const s = "_toolbar_104fz_1", n = "_editor_104fz_33", o = {
3
+ import '../../assets/index44.css';const s = "_toolbar_104fz_1", n = "_editor_104fz_33", o = {
4
4
  toolbar: s,
5
5
  default: "_default_104fz_26",
6
6
  editor: n
@@ -0,0 +1,2 @@
1
+ "use strict";require('./assets/index41.css');const a=require("react/jsx-runtime"),l=require("./classix-5H4IWnMA.cjs"),m=require("./utils-D_TJ8wDc.cjs"),b=new Set(["aria-activedescendant","aria-autocomplete","aria-busy","aria-controls","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-required","aria-roledescription","autoComplete","autoFocus","className","defaultValue","dir","disabled","form","id","multiple","name","onBlur","onChange","onClick","onFocus","onInput","onInvalid","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onPointerDown","onPointerUp","required","role","size","style","tabIndex","title","value"]);function o(t){return Object.fromEntries(Object.entries(t).filter(([e])=>e.startsWith("data-")||e.startsWith("aria-")||b.has(e)))}const h="_select_10mqf_1",p="_label_10mqf_21",q="_required_10mqf_25",r={select:h,label:p,required:q},f=({children:t,label:e,placeholder:i,...s})=>{const{touched:c,onBlur:u}=m.useTouched(s.value===""),d=o(s),n=a.jsxs("select",{className:l.t(r.select,c&&"touched"),onBlur:u,...d,children:[i&&a.jsx("option",{value:"",hidden:!0,children:i}),t]});return e?a.jsxs("label",{"data-component":"select",children:[a.jsx("span",{className:l.t(r.label,s.required&&r.required),children:e}),n]}):n};exports.Select=f;exports.sanitizeSelectProps=o;
2
+ //# sourceMappingURL=index-HNd9cEc6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-HNd9cEc6.cjs","sources":["../src/components/select/sanitizeSelectProps.ts","../src/components/select/index.tsx"],"sourcesContent":["const selectKeys = new Set([\n 'aria-activedescendant',\n 'aria-autocomplete',\n 'aria-busy',\n 'aria-controls',\n 'aria-describedby',\n 'aria-details',\n 'aria-disabled',\n 'aria-errormessage',\n 'aria-expanded',\n 'aria-haspopup',\n 'aria-hidden',\n 'aria-invalid',\n 'aria-keyshortcuts',\n 'aria-label',\n 'aria-labelledby',\n 'aria-live',\n 'aria-owns',\n 'aria-required',\n 'aria-roledescription',\n 'autoComplete',\n 'autoFocus',\n 'className',\n 'defaultValue',\n 'dir',\n 'disabled',\n 'form',\n 'id',\n 'multiple',\n 'name',\n 'onBlur',\n 'onChange',\n 'onClick',\n 'onFocus',\n 'onInput',\n 'onInvalid',\n 'onKeyDown',\n 'onKeyUp',\n 'onMouseDown',\n 'onMouseUp',\n 'onPointerDown',\n 'onPointerUp',\n 'required',\n 'role',\n 'size',\n 'style',\n 'tabIndex',\n 'title',\n 'value',\n]);\n\nexport function sanitizeSelectProps<T extends Record<string, unknown>>(props: T) {\n return Object.fromEntries(\n Object.entries(props).filter(\n ([key]) => key.startsWith('data-') || key.startsWith('aria-') || selectKeys.has(key)\n )\n ) as Partial<T>;\n}\n","import cx from 'classix';\n\nimport { useTouched } from '@/utils.ts';\n\nimport { sanitizeSelectProps } from './sanitizeSelectProps';\nimport styles from './styles.module.css';\n\nexport type SelectProps = React.SelectHTMLAttributes<HTMLSelectElement> & {\n children: React.ReactNode;\n label?: string;\n placeholder?: string;\n};\n\nexport const Select = ({ children, label, placeholder, ...props }: SelectProps) => {\n const { touched, onBlur } = useTouched(props.value === '');\n const selectProps = sanitizeSelectProps(props);\n\n const selectElement = (\n <select\n className={cx(styles.select, touched && 'touched')}\n onBlur={onBlur}\n {...selectProps}\n >\n {placeholder && (\n <option\n value={''}\n hidden\n >\n {placeholder}\n </option>\n )}\n {children}\n </select>\n );\n\n if (!label) {\n return selectElement;\n }\n\n return (\n <label>\n <span className={cx(styles.label, props.required && styles.required)}>{label}</span>\n {selectElement}\n </label>\n );\n};\n"],"names":["selectKeys","Set","sanitizeSelectProps","props","Object","fromEntries","entries","filter","key","startsWith","has","Select","children","label","placeholder","touched","onBlur","useTouched","value","selectProps","selectElement","jsxs","cx","styles","select","jsx","required"],"mappings":"wHAAMA,EAAa,IAAIC,IAAI,CACzB,wBACA,oBACA,YACA,gBACA,mBACA,eACA,gBACA,oBACA,gBACA,gBACA,cACA,eACA,oBACA,aACA,kBACA,YACA,YACA,gBACA,uBACA,eACA,YACA,YACA,eACA,MACA,WACA,OACA,KACA,WACA,OACA,SACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,cACA,YACA,gBACA,cACA,WACA,OACA,OACA,QACA,WACA,QACA,OAAO,CACR,EAEM,SAASC,EAAuDC,EAAU,CAC/E,OAAOC,OAAOC,YACZD,OAAOE,QAAQH,CAAK,EAAEI,OACpB,CAAC,CAACC,CAAG,IAAMA,EAAIC,WAAW,OAAO,GAAKD,EAAIC,WAAW,OAAO,GAAKT,EAAWU,IAAIF,CAAG,CACrF,CACF,CACF,sGC5CaG,EAASA,CAAC,CAAEC,SAAAA,EAAUC,MAAAA,EAAOC,YAAAA,EAAa,GAAGX,CAAmB,IAAM,CACjF,KAAM,CAAEY,QAAAA,EAASC,OAAAA,CAAAA,EAAWC,aAAWd,EAAMe,QAAU,EAAE,EACnDC,EAAcjB,EAAoBC,CAAK,EAEvCiB,EACJC,EAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,EAAGC,EAAOC,OAAQT,GAAW,SAAS,EACjD,OAAAC,EACA,GAAIG,EAEHL,SAAAA,CAAAA,SACE,SAAA,CACC,MAAO,GACP,OAAM,GAELA,SAAAA,EACH,EAEDF,CAAAA,EACH,EAGF,OAAKC,EAKHQ,EAAAA,KAAC,QAAA,CAAK,iBAAA,SACJ,SAAA,CAAAI,EAAAA,IAAC,OAAA,CAAK,UAAWH,EAAAA,EAAGC,EAAOV,MAAOV,EAAMuB,UAAYH,EAAOG,QAAQ,EAAIb,SAAAA,CAAAA,CAAM,EAC5EO,CAAAA,EACH,EAPOA,CASX"}