@raystack/apsara 0.48.1 → 0.48.3

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 (127) hide show
  1. package/dist/components/avatar/avatar.cjs +2 -3
  2. package/dist/components/avatar/avatar.cjs.map +1 -1
  3. package/dist/components/avatar/avatar.d.ts.map +1 -1
  4. package/dist/components/avatar/avatar.js +3 -4
  5. package/dist/components/avatar/avatar.js.map +1 -1
  6. package/dist/components/breadcrumb/breadcrumb-item.cjs +26 -0
  7. package/dist/components/breadcrumb/breadcrumb-item.cjs.map +1 -0
  8. package/dist/components/breadcrumb/breadcrumb-item.d.ts +14 -0
  9. package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  10. package/dist/components/breadcrumb/breadcrumb-item.js +24 -0
  11. package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -0
  12. package/dist/components/breadcrumb/breadcrumb-misc.cjs +20 -0
  13. package/dist/components/breadcrumb/breadcrumb-misc.cjs.map +1 -0
  14. package/dist/components/breadcrumb/breadcrumb-misc.d.ts +8 -0
  15. package/dist/components/breadcrumb/breadcrumb-misc.d.ts.map +1 -0
  16. package/dist/components/breadcrumb/breadcrumb-misc.js +17 -0
  17. package/dist/components/breadcrumb/breadcrumb-misc.js.map +1 -0
  18. package/dist/components/breadcrumb/breadcrumb-root.cjs +25 -0
  19. package/dist/components/breadcrumb/breadcrumb-root.cjs.map +1 -0
  20. package/dist/components/breadcrumb/breadcrumb-root.d.ts +10 -0
  21. package/dist/components/breadcrumb/breadcrumb-root.d.ts.map +1 -0
  22. package/dist/components/breadcrumb/breadcrumb-root.js +23 -0
  23. package/dist/components/breadcrumb/breadcrumb-root.js.map +1 -0
  24. package/dist/components/breadcrumb/breadcrumb.cjs +7 -53
  25. package/dist/components/breadcrumb/breadcrumb.cjs.map +1 -1
  26. package/dist/components/breadcrumb/breadcrumb.d.ts +5 -27
  27. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  28. package/dist/components/breadcrumb/breadcrumb.js +7 -53
  29. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  30. package/dist/components/breadcrumb/breadcrumb.module.css.cjs +1 -1
  31. package/dist/components/breadcrumb/breadcrumb.module.css.js +1 -1
  32. package/dist/components/breadcrumb/index.d.ts +1 -1
  33. package/dist/components/calendar/calendar.cjs +12 -13
  34. package/dist/components/calendar/calendar.cjs.map +1 -1
  35. package/dist/components/calendar/calendar.d.ts.map +1 -1
  36. package/dist/components/calendar/calendar.js +13 -14
  37. package/dist/components/calendar/calendar.js.map +1 -1
  38. package/dist/components/checkbox/checkbox.cjs +1 -2
  39. package/dist/components/checkbox/checkbox.cjs.map +1 -1
  40. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  41. package/dist/components/checkbox/checkbox.js +2 -3
  42. package/dist/components/checkbox/checkbox.js.map +1 -1
  43. package/dist/components/data-table/components/content.cjs +8 -8
  44. package/dist/components/data-table/components/content.cjs.map +1 -1
  45. package/dist/components/data-table/components/content.js +3 -3
  46. package/dist/components/data-table/components/content.js.map +1 -1
  47. package/dist/components/data-table/components/toolbar.cjs +2 -2
  48. package/dist/components/data-table/components/toolbar.cjs.map +1 -1
  49. package/dist/components/data-table/components/toolbar.d.ts.map +1 -1
  50. package/dist/components/data-table/components/toolbar.js +2 -2
  51. package/dist/components/data-table/components/toolbar.js.map +1 -1
  52. package/dist/components/dialog/dialog.cjs +7 -8
  53. package/dist/components/dialog/dialog.cjs.map +1 -1
  54. package/dist/components/dialog/dialog.d.ts.map +1 -1
  55. package/dist/components/dialog/dialog.js +8 -9
  56. package/dist/components/dialog/dialog.js.map +1 -1
  57. package/dist/components/dropdown-menu/dropdown-menu-misc.cjs +1 -1
  58. package/dist/components/dropdown-menu/dropdown-menu-misc.cjs.map +1 -1
  59. package/dist/components/dropdown-menu/dropdown-menu-misc.js +1 -1
  60. package/dist/components/dropdown-menu/dropdown-menu-misc.js.map +1 -1
  61. package/dist/components/dropdown-menu/dropdown-menu-root.cjs +10 -10
  62. package/dist/components/dropdown-menu/dropdown-menu-root.cjs.map +1 -1
  63. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +8 -5
  64. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts.map +1 -1
  65. package/dist/components/dropdown-menu/dropdown-menu-root.js +11 -11
  66. package/dist/components/dropdown-menu/dropdown-menu-root.js.map +1 -1
  67. package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs +6 -2
  68. package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs.map +1 -1
  69. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +1 -0
  70. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts.map +1 -1
  71. package/dist/components/dropdown-menu/dropdown-menu-trigger.js +6 -2
  72. package/dist/components/dropdown-menu/dropdown-menu-trigger.js.map +1 -1
  73. package/dist/components/dropdown-menu/dropdown-menu.d.ts +1 -1
  74. package/dist/components/empty-state/empty-state.cjs +5 -5
  75. package/dist/components/empty-state/empty-state.cjs.map +1 -1
  76. package/dist/components/empty-state/empty-state.d.ts +3 -3
  77. package/dist/components/empty-state/empty-state.d.ts.map +1 -1
  78. package/dist/components/empty-state/empty-state.js +5 -5
  79. package/dist/components/empty-state/empty-state.js.map +1 -1
  80. package/dist/components/filter-chip/filter-chip-operation.cjs +24 -0
  81. package/dist/components/filter-chip/filter-chip-operation.cjs.map +1 -0
  82. package/dist/components/filter-chip/filter-chip-operation.d.ts +10 -0
  83. package/dist/components/filter-chip/filter-chip-operation.d.ts.map +1 -0
  84. package/dist/components/filter-chip/filter-chip-operation.js +22 -0
  85. package/dist/components/filter-chip/filter-chip-operation.js.map +1 -0
  86. package/dist/components/filter-chip/filter-chip.cjs +31 -43
  87. package/dist/components/filter-chip/filter-chip.cjs.map +1 -1
  88. package/dist/components/filter-chip/filter-chip.d.ts +6 -5
  89. package/dist/components/filter-chip/filter-chip.d.ts.map +1 -1
  90. package/dist/components/filter-chip/filter-chip.js +31 -43
  91. package/dist/components/filter-chip/filter-chip.js.map +1 -1
  92. package/dist/components/filter-chip/filter-chip.module.css.cjs +1 -1
  93. package/dist/components/filter-chip/filter-chip.module.css.js +1 -1
  94. package/dist/components/input-field/input-field.cjs +12 -13
  95. package/dist/components/input-field/input-field.cjs.map +1 -1
  96. package/dist/components/input-field/input-field.d.ts +4 -4
  97. package/dist/components/input-field/input-field.d.ts.map +1 -1
  98. package/dist/components/input-field/input-field.js +13 -14
  99. package/dist/components/input-field/input-field.js.map +1 -1
  100. package/dist/components/select/select-item.cjs +2 -1
  101. package/dist/components/select/select-item.cjs.map +1 -1
  102. package/dist/components/select/select-item.d.ts.map +1 -1
  103. package/dist/components/select/select-item.js +2 -1
  104. package/dist/components/select/select-item.js.map +1 -1
  105. package/dist/components/select/select-root.cjs +2 -2
  106. package/dist/components/select/select-root.cjs.map +1 -1
  107. package/dist/components/select/select-root.d.ts.map +1 -1
  108. package/dist/components/select/select-root.js +2 -2
  109. package/dist/components/select/select-root.js.map +1 -1
  110. package/dist/components/sidebar/sidebar.cjs +2 -3
  111. package/dist/components/sidebar/sidebar.cjs.map +1 -1
  112. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  113. package/dist/components/sidebar/sidebar.js +3 -4
  114. package/dist/components/sidebar/sidebar.js.map +1 -1
  115. package/dist/components/skeleton/skeleton.cjs +3 -3
  116. package/dist/components/skeleton/skeleton.cjs.map +1 -1
  117. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  118. package/dist/components/skeleton/skeleton.js +3 -3
  119. package/dist/components/skeleton/skeleton.js.map +1 -1
  120. package/dist/components/text-area/text-area.cjs +4 -5
  121. package/dist/components/text-area/text-area.cjs.map +1 -1
  122. package/dist/components/text-area/text-area.d.ts +2 -2
  123. package/dist/components/text-area/text-area.d.ts.map +1 -1
  124. package/dist/components/text-area/text-area.js +4 -5
  125. package/dist/components/text-area/text-area.js.map +1 -1
  126. package/dist/style.css +1 -1
  127. package/package.json +1 -2
@@ -9,7 +9,8 @@ import { useSelectContext } from './select-root.js';
9
9
  import styles from './select.module.css.js';
10
10
  import { Item } from '../../node_modules/.pnpm/@radix-ui_react-select@2.2.5_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js';
11
11
 
12
- const SelectItem = forwardRef(({ className, children, value, leadingIcon, disabled, ...props }, ref) => {
12
+ const SelectItem = forwardRef(({ className, children, value: providedValue, leadingIcon, disabled, ...props }, ref) => {
13
+ const value = String(providedValue);
13
14
  const { registerItem, unregisterItem, autocomplete, searchValue, value: selectValue, shouldFilter, multiple } = useSelectContext();
14
15
  const isSelected = multiple
15
16
  ? selectValue?.includes(value)
@@ -1 +1 @@
1
- {"version":3,"file":"select-item.js","sources":["../../../components/select/select-item.tsx"],"sourcesContent":["import { ComboboxItem } from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { ElementRef, forwardRef, useLayoutEffect } from 'react';\nimport { Checkbox } from '../checkbox';\nimport { getMatch } from '../dropdown-menu/utils';\nimport { Text } from '../text';\nimport { useSelectContext } from './select-root';\nimport styles from './select.module.css';\n\nexport const SelectItem = forwardRef<\n ElementRef<typeof SelectPrimitive.Item>,\n Omit<SelectPrimitive.SelectItemProps, 'asChild'> & {\n leadingIcon?: React.ReactNode;\n }\n>(({ className, children, value, leadingIcon, disabled, ...props }, ref) => {\n const {\n registerItem,\n unregisterItem,\n autocomplete,\n searchValue,\n value: selectValue,\n shouldFilter,\n multiple\n } = useSelectContext();\n\n const isSelected = multiple\n ? selectValue?.includes(value)\n : value === selectValue;\n const isMatched = getMatch(value, children, searchValue);\n const isHidden = shouldFilter && isSelected && !isMatched;\n\n const element =\n typeof children === 'string' ? (\n <>\n {leadingIcon && <div className={styles.itemIcon}>{leadingIcon}</div>}\n <Text>{children}</Text>\n </>\n ) : (\n children\n );\n\n useLayoutEffect(() => {\n registerItem({ leadingIcon, children, value });\n return () => {\n unregisterItem(value);\n };\n }, [value, children, registerItem, unregisterItem, leadingIcon]);\n\n if (shouldFilter && !isMatched && !isSelected) {\n // Not selected and doesn't match search, so don't render at all\n return null;\n }\n\n return (\n <SelectPrimitive.Item\n ref={ref}\n value={value}\n className={cx(styles.menuitem, className, isHidden && styles.hidden)}\n data-hidden={isHidden}\n disabled={disabled || isHidden}\n asChild={autocomplete}\n aria-selected={isSelected}\n data-checked={isSelected}\n {...props}\n >\n {autocomplete ? (\n <ComboboxItem\n clickOnEnter={false}\n clickOnSpace={false}\n onBlurCapture={event => {\n event.preventDefault();\n }}\n >\n {multiple && <Checkbox checked={isSelected} />}\n {element}\n </ComboboxItem>\n ) : (\n <>\n {multiple && <Checkbox checked={isSelected} />}\n {element}\n </>\n )}\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n"],"names":["_jsxs","_jsx","SelectPrimitive.Item","_Fragment"],"mappings":";;;;;;;;;;;AAUa,MAAA,UAAU,GAAG,UAAU,CAKlC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACzE,MAAM,EACJ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,KAAK,EAAE,WAAW,EAClB,YAAY,EACZ,QAAQ,EACT,GAAG,gBAAgB,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,QAAQ;AACzB,UAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;AAC9B,UAAE,KAAK,KAAK,WAAW,CAAC;IAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,YAAY,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC;AAE1D,IAAA,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ,IAC1BA,gEACG,WAAW,IAAIC,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAA,QAAA,EAAG,WAAW,EAAO,CAAA,EACpEA,qBAAC,CAAA,IAAI,cAAE,QAAQ,EAAA,CAAQ,CACtB,EAAA,CAAA,KAEH,QAAQ,CACT,CAAC;IAEJ,eAAe,CAAC,MAAK;QACnB,YAAY,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/C,QAAA,OAAO,MAAK;YACV,cAAc,CAAC,KAAK,CAAC,CAAC;AACxB,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjE,IAAI,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;;AAE7C,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACEA,qBAAA,CAACC,IAAoB,EACnB,EAAA,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAA,aAAA,EACvD,QAAQ,EACrB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,OAAO,EAAE,YAAY,EAAA,eAAA,EACN,UAAU,EAAA,cAAA,EACX,UAAU,EAAA,GACpB,KAAK,EAAA,QAAA,EAER,YAAY,IACXF,sBAAC,CAAA,YAAY,EACX,EAAA,YAAY,EAAE,KAAK,EACnB,YAAY,EAAE,KAAK,EACnB,aAAa,EAAE,KAAK,IAAG;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,aAAC,EAEA,QAAA,EAAA,CAAA,QAAQ,IAAIC,qBAAA,CAAC,QAAQ,EAAC,EAAA,OAAO,EAAE,UAAU,GAAI,EAC7C,OAAO,CACK,EAAA,CAAA,KAEfD,sBAAA,CAAAG,0BAAA,EAAA,EAAA,QAAA,EAAA,CACG,QAAQ,IAAIF,qBAAC,CAAA,QAAQ,IAAC,OAAO,EAAE,UAAU,EAAA,CAAI,EAC7C,OAAO,CAAA,EAAA,CACP,CACJ,EAAA,CACoB,EACvB;AACJ,CAAC,EAAE;AACH,UAAU,CAAC,WAAW,GAAGC,IAAoB,CAAC,WAAW;;;;"}
1
+ {"version":3,"file":"select-item.js","sources":["../../../components/select/select-item.tsx"],"sourcesContent":["import { ComboboxItem } from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { ElementRef, forwardRef, useLayoutEffect } from 'react';\nimport { Checkbox } from '../checkbox';\nimport { getMatch } from '../dropdown-menu/utils';\nimport { Text } from '../text';\nimport { useSelectContext } from './select-root';\nimport styles from './select.module.css';\n\nexport const SelectItem = forwardRef<\n ElementRef<typeof SelectPrimitive.Item>,\n Omit<SelectPrimitive.SelectItemProps, 'asChild'> & {\n leadingIcon?: React.ReactNode;\n }\n>(\n (\n {\n className,\n children,\n value: providedValue,\n leadingIcon,\n disabled,\n ...props\n },\n ref\n ) => {\n const value = String(providedValue);\n const {\n registerItem,\n unregisterItem,\n autocomplete,\n searchValue,\n value: selectValue,\n shouldFilter,\n multiple\n } = useSelectContext();\n\n const isSelected = multiple\n ? selectValue?.includes(value)\n : value === selectValue;\n const isMatched = getMatch(value, children, searchValue);\n const isHidden = shouldFilter && isSelected && !isMatched;\n\n const element =\n typeof children === 'string' ? (\n <>\n {leadingIcon && <div className={styles.itemIcon}>{leadingIcon}</div>}\n <Text>{children}</Text>\n </>\n ) : (\n children\n );\n\n useLayoutEffect(() => {\n registerItem({ leadingIcon, children, value });\n return () => {\n unregisterItem(value);\n };\n }, [value, children, registerItem, unregisterItem, leadingIcon]);\n\n if (shouldFilter && !isMatched && !isSelected) {\n // Not selected and doesn't match search, so don't render at all\n return null;\n }\n\n return (\n <SelectPrimitive.Item\n ref={ref}\n value={value}\n className={cx(styles.menuitem, className, isHidden && styles.hidden)}\n data-hidden={isHidden}\n disabled={disabled || isHidden}\n asChild={autocomplete}\n aria-selected={isSelected}\n data-checked={isSelected}\n {...props}\n >\n {autocomplete ? (\n <ComboboxItem\n clickOnEnter={false}\n clickOnSpace={false}\n onBlurCapture={event => {\n event.preventDefault();\n }}\n >\n {multiple && <Checkbox checked={isSelected} />}\n {element}\n </ComboboxItem>\n ) : (\n <>\n {multiple && <Checkbox checked={isSelected} />}\n {element}\n </>\n )}\n </SelectPrimitive.Item>\n );\n }\n);\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n"],"names":["_jsxs","_jsx","SelectPrimitive.Item","_Fragment"],"mappings":";;;;;;;;;;;AAUa,MAAA,UAAU,GAAG,UAAU,CAMlC,CACE,EACE,SAAS,EACT,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,WAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACpC,MAAM,EACJ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,KAAK,EAAE,WAAW,EAClB,YAAY,EACZ,QAAQ,EACT,GAAG,gBAAgB,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,QAAQ;AACzB,UAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;AAC9B,UAAE,KAAK,KAAK,WAAW,CAAC;IAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,YAAY,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC;AAE1D,IAAA,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ,IAC1BA,gEACG,WAAW,IAAIC,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAA,QAAA,EAAG,WAAW,EAAO,CAAA,EACpEA,qBAAC,CAAA,IAAI,cAAE,QAAQ,EAAA,CAAQ,CACtB,EAAA,CAAA,KAEH,QAAQ,CACT,CAAC;IAEJ,eAAe,CAAC,MAAK;QACnB,YAAY,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/C,QAAA,OAAO,MAAK;YACV,cAAc,CAAC,KAAK,CAAC,CAAC;AACxB,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjE,IAAI,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;;AAE7C,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACEA,qBAAA,CAACC,IAAoB,EACnB,EAAA,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAA,aAAA,EACvD,QAAQ,EACrB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,OAAO,EAAE,YAAY,EAAA,eAAA,EACN,UAAU,EAAA,cAAA,EACX,UAAU,EAAA,GACpB,KAAK,EAAA,QAAA,EAER,YAAY,IACXF,sBAAC,CAAA,YAAY,EACX,EAAA,YAAY,EAAE,KAAK,EACnB,YAAY,EAAE,KAAK,EACnB,aAAa,EAAE,KAAK,IAAG;gBACrB,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,aAAC,EAEA,QAAA,EAAA,CAAA,QAAQ,IAAIC,qBAAA,CAAC,QAAQ,EAAC,EAAA,OAAO,EAAE,UAAU,GAAI,EAC7C,OAAO,CACK,EAAA,CAAA,KAEfD,sBAAA,CAAAG,0BAAA,EAAA,EAAA,QAAA,EAAA,CACG,QAAQ,IAAIF,qBAAC,CAAA,QAAQ,IAAC,OAAO,EAAE,UAAU,EAAA,CAAI,EAC7C,OAAO,CAAA,EAAA,CACP,CACJ,EAAA,CACoB,EACvB;AACJ,CAAC,EACD;AACF,UAAU,CAAC,WAAW,GAAGC,IAAoB,CAAC,WAAW;;;;"}
@@ -91,9 +91,9 @@ const SelectRoot = (props) => {
91
91
  return '';
92
92
  if (typeof computedValue === 'string')
93
93
  return computedValue;
94
- if (computedValue.length)
94
+ if (Array.isArray(computedValue) && computedValue.length)
95
95
  return `${SELECT_INTERNAL_VALUE}-${id}`;
96
- return '';
96
+ return String(computedValue) ?? '';
97
97
  }, [computedValue, id]);
98
98
  const element = (jsxRuntime.jsxRuntimeExports.jsx(comboboxProvider.ComboboxProvider, { resetValueOnHide: true, focusLoop: false, includesBaseElement: false, value: searchValue, setValue: setSearchValue, open: open, setOpen: handleOpenChange, children: children }));
99
99
  return (jsxRuntime.jsxRuntimeExports.jsx(SelectContext.Provider, { value: {
@@ -1 +1 @@
1
- {"version":3,"file":"select-root.cjs","sources":["../../../components/select/select-root.tsx"],"sourcesContent":["import { ComboboxProvider } from '@ariakit/react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { ItemType } from './types';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n searchValue?: string;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\ninterface SelectContextValue extends CommonProps {\n value?: string | string[];\n registerItem: (item: ItemType) => void;\n unregisterItem: (value: string) => void;\n multiple: boolean;\n items: Record<string, ItemType>;\n updateSelectionInProgress: (value: boolean) => void;\n setValue: (value: string) => void;\n}\n\ninterface UseSelectContext extends SelectContextValue {\n shouldFilter?: boolean;\n}\n\n/*\nRoot context to manage the Select control\n@remarks Only for internal usage.\n*/\nconst SelectContext = createContext<SelectContextValue | undefined>(undefined);\n\nexport const useSelectContext = (): UseSelectContext => {\n const context = useContext(SelectContext);\n if (!context) {\n throw new Error('useSelectContext must be used within a SelectProvider');\n }\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.searchValue?.length\n );\n return {\n ...context,\n shouldFilter\n };\n};\n\ninterface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\ninterface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\ntype BaseSelectProps = Omit<\n NormalSelectRootProps | AutocompleteSelectRootProps,\n 'autoComplete' | 'value' | 'onValueChange' | 'defaultValue'\n> & {\n htmlAutoComplete?: string;\n};\n\ninterface SingleSelectProps extends BaseSelectProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\n\ninterface MultipleSelectProps extends BaseSelectProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\n\nexport type SelectRootProps = SingleSelectProps | MultipleSelectProps;\n\nconst SELECT_INTERNAL_VALUE = 'SELECT_INTERNAL_VALUE';\n\nexport const SelectRoot = (props: SelectRootProps) => {\n const {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n autocomplete,\n autocompleteMode = 'auto',\n searchValue: providedSearchValue,\n onSearch,\n defaultSearchValue = '',\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n htmlAutoComplete,\n multiple = false,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [items, setItems] = useState<SelectContextValue['items']>({});\n const id = useId();\n const isSelectionInProgress = useRef(false);\n\n const computedValue = providedValue ?? internalValue;\n const searchValue = providedSearchValue ?? internalSearchValue;\n const open = providedOpen ?? internalOpen;\n\n const updateSelectionInProgress = useCallback((value: boolean) => {\n isSelectionInProgress.current = value;\n }, []);\n\n const setValue = useCallback(\n (value: string) => {\n /*\n * If the select is placed inside a form, onChange is called with an empty value\n * WORKAROUND FOR ISSUE https://github.com/radix-ui/primitives/issues/3135\n */\n if (value === '') return;\n\n if (multiple) {\n updateSelectionInProgress(true);\n const set = new Set<string>(\n Array.isArray(computedValue)\n ? computedValue\n : [computedValue ?? ''].filter(Boolean)\n );\n\n if (set.has(value)) set.delete(value);\n else set.add(value);\n\n const newValue = Array.from(set);\n\n setInternalValue(newValue);\n (onValueChange as MultipleSelectProps['onValueChange'])?.(newValue);\n } else {\n setInternalValue(value);\n (onValueChange as SingleSelectProps['onValueChange'])?.(value);\n }\n },\n [multiple, onValueChange, computedValue, updateSelectionInProgress]\n );\n\n const setSearchValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch]\n );\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n if (isSelectionInProgress.current) return;\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n const registerItem = useCallback<SelectContextValue['registerItem']>(item => {\n setItems(prev => ({ ...prev, [item.value]: item }));\n }, []);\n\n const unregisterItem = useCallback<SelectContextValue['unregisterItem']>(\n value => {\n setItems(prev => {\n const { [value]: _, ...rest } = prev;\n return rest;\n });\n },\n []\n );\n\n /*\n * Radix internally shows the placeholder when the value is empty.\n * This value is used to manage the internal value of Radix Select to make it work\n */\n const radixValue = useMemo(() => {\n if (!computedValue) return '';\n if (typeof computedValue === 'string') return computedValue;\n if (computedValue.length) return `${SELECT_INTERNAL_VALUE}-${id}`;\n return '';\n }, [computedValue, id]);\n\n const element = (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={false}\n includesBaseElement={false}\n value={searchValue}\n setValue={setSearchValue}\n open={open}\n setOpen={handleOpenChange}\n >\n {children}\n </ComboboxProvider>\n );\n\n return (\n <SelectContext.Provider\n value={{\n value: computedValue,\n registerItem,\n unregisterItem,\n autocomplete,\n autocompleteMode,\n searchValue,\n multiple,\n items,\n updateSelectionInProgress,\n setValue\n }}\n >\n <SelectPrimitive.Root\n autoComplete={htmlAutoComplete}\n value={radixValue}\n onValueChange={setValue}\n open={open}\n onOpenChange={handleOpenChange}\n {...rest}\n >\n {autocomplete ? element : children}\n </SelectPrimitive.Root>\n </SelectContext.Provider>\n );\n};\n"],"names":["createContext","useContext","useState","useId","useRef","useCallback","useMemo","_jsx","ComboboxProvider","SelectPrimitive.Root"],"mappings":"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"}
1
+ {"version":3,"file":"select-root.cjs","sources":["../../../components/select/select-root.tsx"],"sourcesContent":["import { ComboboxProvider } from '@ariakit/react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { ItemType } from './types';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n searchValue?: string;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\ninterface SelectContextValue extends CommonProps {\n value?: string | string[];\n registerItem: (item: ItemType) => void;\n unregisterItem: (value: string) => void;\n multiple: boolean;\n items: Record<string, ItemType>;\n updateSelectionInProgress: (value: boolean) => void;\n setValue: (value: string) => void;\n}\n\ninterface UseSelectContext extends SelectContextValue {\n shouldFilter?: boolean;\n}\n\n/*\nRoot context to manage the Select control\n@remarks Only for internal usage.\n*/\nconst SelectContext = createContext<SelectContextValue | undefined>(undefined);\n\nexport const useSelectContext = (): UseSelectContext => {\n const context = useContext(SelectContext);\n if (!context) {\n throw new Error('useSelectContext must be used within a SelectProvider');\n }\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.searchValue?.length\n );\n return {\n ...context,\n shouldFilter\n };\n};\n\ninterface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\ninterface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\ntype BaseSelectProps = Omit<\n NormalSelectRootProps | AutocompleteSelectRootProps,\n 'autoComplete' | 'value' | 'onValueChange' | 'defaultValue'\n> & {\n htmlAutoComplete?: string;\n};\n\ninterface SingleSelectProps extends BaseSelectProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\n\ninterface MultipleSelectProps extends BaseSelectProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\n\nexport type SelectRootProps = SingleSelectProps | MultipleSelectProps;\n\nconst SELECT_INTERNAL_VALUE = 'SELECT_INTERNAL_VALUE';\n\nexport const SelectRoot = (props: SelectRootProps) => {\n const {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n autocomplete,\n autocompleteMode = 'auto',\n searchValue: providedSearchValue,\n onSearch,\n defaultSearchValue = '',\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n htmlAutoComplete,\n multiple = false,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [items, setItems] = useState<SelectContextValue['items']>({});\n const id = useId();\n const isSelectionInProgress = useRef(false);\n\n const computedValue = providedValue ?? internalValue;\n const searchValue = providedSearchValue ?? internalSearchValue;\n const open = providedOpen ?? internalOpen;\n\n const updateSelectionInProgress = useCallback((value: boolean) => {\n isSelectionInProgress.current = value;\n }, []);\n\n const setValue = useCallback(\n (value: string) => {\n /*\n * If the select is placed inside a form, onChange is called with an empty value\n * WORKAROUND FOR ISSUE https://github.com/radix-ui/primitives/issues/3135\n */\n if (value === '') return;\n\n if (multiple) {\n updateSelectionInProgress(true);\n const set = new Set<string>(\n Array.isArray(computedValue)\n ? computedValue\n : [computedValue ?? ''].filter(Boolean)\n );\n\n if (set.has(value)) set.delete(value);\n else set.add(value);\n\n const newValue = Array.from(set);\n\n setInternalValue(newValue);\n (onValueChange as MultipleSelectProps['onValueChange'])?.(newValue);\n } else {\n setInternalValue(value);\n (onValueChange as SingleSelectProps['onValueChange'])?.(value);\n }\n },\n [multiple, onValueChange, computedValue, updateSelectionInProgress]\n );\n\n const setSearchValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch]\n );\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n if (isSelectionInProgress.current) return;\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n const registerItem = useCallback<SelectContextValue['registerItem']>(item => {\n setItems(prev => ({ ...prev, [item.value]: item }));\n }, []);\n\n const unregisterItem = useCallback<SelectContextValue['unregisterItem']>(\n value => {\n setItems(prev => {\n const { [value]: _, ...rest } = prev;\n return rest;\n });\n },\n []\n );\n\n /*\n * Radix internally shows the placeholder when the value is empty.\n * This value is used to manage the internal value of Radix Select to make it work\n */\n const radixValue = useMemo(() => {\n if (!computedValue) return '';\n if (typeof computedValue === 'string') return computedValue;\n if (Array.isArray(computedValue) && computedValue.length)\n return `${SELECT_INTERNAL_VALUE}-${id}`;\n return String(computedValue) ?? '';\n }, [computedValue, id]);\n\n const element = (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={false}\n includesBaseElement={false}\n value={searchValue}\n setValue={setSearchValue}\n open={open}\n setOpen={handleOpenChange}\n >\n {children}\n </ComboboxProvider>\n );\n\n return (\n <SelectContext.Provider\n value={{\n value: computedValue,\n registerItem,\n unregisterItem,\n autocomplete,\n autocompleteMode,\n searchValue,\n multiple,\n items,\n updateSelectionInProgress,\n setValue\n }}\n >\n <SelectPrimitive.Root\n autoComplete={htmlAutoComplete}\n value={radixValue}\n onValueChange={setValue}\n open={open}\n onOpenChange={handleOpenChange}\n {...rest}\n >\n {autocomplete ? element : children}\n </SelectPrimitive.Root>\n </SelectContext.Provider>\n );\n};\n"],"names":["createContext","useContext","useState","useId","useRef","useCallback","useMemo","_jsx","ComboboxProvider","SelectPrimitive.Root"],"mappings":";;;;;;;AAmCA;;;AAGE;AACF,MAAM,aAAa,GAAGA,mBAAa,CAAiC,SAAS,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAG,MAAuB;AACrD,IAAA,MAAM,OAAO,GAAGC,gBAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;AACD,IAAA,MAAM,YAAY,GAAG,CAAC,EACpB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,gBAAgB,KAAK,MAAM;AACpC,QAAA,OAAO,EAAE,WAAW,EAAE,MAAM,CAC7B,CAAC;IACF,OAAO;AACL,QAAA,GAAG,OAAO;QACV,YAAY;KACb,CAAC;AACJ,EAAE;AAuCF,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEzC,MAAA,UAAU,GAAG,CAAC,KAAsB,KAAI;IACnD,MAAM,EACJ,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,GAAG,MAAM,EACzB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACR,kBAAkB,GAAG,EAAE,EACvB,IAAI,EAAE,YAAY,EAClB,WAAW,GAAG,KAAK,EACnB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GAAG,KAAK,EAChB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGC,cAAQ,CAEhD,YAAY,CAAC,CAAC;IAChB,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACjDA,cAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAGA,cAAQ,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAA8B,EAAE,CAAC,CAAC;AACpE,IAAA,MAAM,EAAE,GAAGC,WAAK,EAAE,CAAC;AACnB,IAAA,MAAM,qBAAqB,GAAGC,YAAM,CAAC,KAAK,CAAC,CAAC;AAE5C,IAAA,MAAM,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC;AACrD,IAAA,MAAM,WAAW,GAAG,mBAAmB,IAAI,mBAAmB,CAAC;AAC/D,IAAA,MAAM,IAAI,GAAG,YAAY,IAAI,YAAY,CAAC;AAE1C,IAAA,MAAM,yBAAyB,GAAGC,iBAAW,CAAC,CAAC,KAAc,KAAI;AAC/D,QAAA,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;KACvC,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,QAAQ,GAAGA,iBAAW,CAC1B,CAAC,KAAa,KAAI;AAChB;;;AAGG;QACH,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO;QAEzB,IAAI,QAAQ,EAAE;YACZ,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;AAC1B,kBAAE,aAAa;AACf,kBAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1C,CAAC;AAEF,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;AAAE,gBAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;AACjC,gBAAA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC1B,YAAA,aAAsD,GAAG,QAAQ,CAAC,CAAC;SACrE;aAAM;YACL,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACvB,YAAA,aAAoD,GAAG,KAAK,CAAC,CAAC;SAChE;KACF,EACD,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,yBAAyB,CAAC,CACpE,CAAC;AAEF,IAAA,MAAM,cAAc,GAAGA,iBAAW,CAChC,CAAC,KAAa,KAAI;QAChB,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,QAAQ,GAAG,KAAK,CAAC,CAAC;AACpB,KAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;AAEF,IAAA,MAAM,gBAAgB,GAAGA,iBAAW,CAClC,CAAC,KAAc,KAAI;QACjB,IAAI,qBAAqB,CAAC,OAAO;YAAE,OAAO;QAC1C,eAAe,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,YAAY,GAAG,KAAK,CAAC,CAAC;AACxB,KAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;AAEF,IAAA,MAAM,YAAY,GAAGA,iBAAW,CAAqC,IAAI,IAAG;QAC1E,QAAQ,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;KACrD,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,cAAc,GAAGA,iBAAW,CAChC,KAAK,IAAG;QACN,QAAQ,CAAC,IAAI,IAAG;AACd,YAAA,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AACrC,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC,CAAC;KACJ,EACD,EAAE,CACH,CAAC;AAEF;;;AAGG;AACH,IAAA,MAAM,UAAU,GAAGC,aAAO,CAAC,MAAK;AAC9B,QAAA,IAAI,CAAC,aAAa;AAAE,YAAA,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,aAAa,KAAK,QAAQ;AAAE,YAAA,OAAO,aAAa,CAAC;QAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM;AACtD,YAAA,OAAO,CAAG,EAAA,qBAAqB,CAAI,CAAA,EAAA,EAAE,EAAE,CAAC;AAC1C,QAAA,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AACrC,KAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AAExB,IAAA,MAAM,OAAO,IACXC,gCAAA,CAACC,iCAAgB,EACf,EAAA,gBAAgB,EAChB,IAAA,EAAA,SAAS,EAAE,KAAK,EAChB,mBAAmB,EAAE,KAAK,EAC1B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,gBAAgB,EAAA,QAAA,EAExB,QAAQ,EAAA,CACQ,CACpB,CAAC;AAEF,IAAA,QACED,gCAAC,CAAA,aAAa,CAAC,QAAQ,EAAA,EACrB,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,aAAa;YACpB,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,QAAQ;YACR,KAAK;YACL,yBAAyB;YACzB,QAAQ;AACT,SAAA,EAAA,QAAA,EAEDA,iCAACE,UAAoB,EAAA,EACnB,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,gBAAgB,KAC1B,IAAI,EAAA,QAAA,EAEP,YAAY,GAAG,OAAO,GAAG,QAAQ,EACb,CAAA,EAAA,CACA,EACzB;AACJ;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"select-root.d.ts","sourceRoot":"","sources":["../../../components/select/select-root.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAUrD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,yBAAyB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,UAAU,gBAAiB,SAAQ,kBAAkB;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD,eAAO,MAAM,gBAAgB,QAAO,gBAcnC,CAAC;AAEF,UAAU,qBAAsB,SAAQ,eAAe,CAAC,WAAW;IACjE,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC;CAC5B;AAED,UAAU,2BACR,SAAQ,eAAe,CAAC,WAAW,EACjC,WAAW;IACb,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,KAAK,eAAe,GAAG,IAAI,CACzB,qBAAqB,GAAG,2BAA2B,EACnD,cAAc,GAAG,OAAO,GAAG,eAAe,GAAG,cAAc,CAC5D,GAAG;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,UAAU,iBAAkB,SAAQ,eAAe;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,mBAAoB,SAAQ,eAAe;IACnD,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAItE,eAAO,MAAM,UAAU,UAAW,eAAe,4CAuJhD,CAAC"}
1
+ {"version":3,"file":"select-root.d.ts","sourceRoot":"","sources":["../../../components/select/select-root.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAUrD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,kBAAmB,SAAQ,WAAW;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,yBAAyB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,UAAU,gBAAiB,SAAQ,kBAAkB;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD,eAAO,MAAM,gBAAgB,QAAO,gBAcnC,CAAC;AAEF,UAAU,qBAAsB,SAAQ,eAAe,CAAC,WAAW;IACjE,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC;CAC5B;AAED,UAAU,2BACR,SAAQ,eAAe,CAAC,WAAW,EACjC,WAAW;IACb,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,KAAK,eAAe,GAAG,IAAI,CACzB,qBAAqB,GAAG,2BAA2B,EACnD,cAAc,GAAG,OAAO,GAAG,eAAe,GAAG,cAAc,CAC5D,GAAG;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,UAAU,iBAAkB,SAAQ,eAAe;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,mBAAoB,SAAQ,eAAe;IACnD,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAItE,eAAO,MAAM,UAAU,UAAW,eAAe,4CAwJhD,CAAC"}
@@ -89,9 +89,9 @@ const SelectRoot = (props) => {
89
89
  return '';
90
90
  if (typeof computedValue === 'string')
91
91
  return computedValue;
92
- if (computedValue.length)
92
+ if (Array.isArray(computedValue) && computedValue.length)
93
93
  return `${SELECT_INTERNAL_VALUE}-${id}`;
94
- return '';
94
+ return String(computedValue) ?? '';
95
95
  }, [computedValue, id]);
96
96
  const element = (jsxRuntimeExports.jsx(ComboboxProvider, { resetValueOnHide: true, focusLoop: false, includesBaseElement: false, value: searchValue, setValue: setSearchValue, open: open, setOpen: handleOpenChange, children: children }));
97
97
  return (jsxRuntimeExports.jsx(SelectContext.Provider, { value: {
@@ -1 +1 @@
1
- {"version":3,"file":"select-root.js","sources":["../../../components/select/select-root.tsx"],"sourcesContent":["import { ComboboxProvider } from '@ariakit/react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { ItemType } from './types';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n searchValue?: string;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\ninterface SelectContextValue extends CommonProps {\n value?: string | string[];\n registerItem: (item: ItemType) => void;\n unregisterItem: (value: string) => void;\n multiple: boolean;\n items: Record<string, ItemType>;\n updateSelectionInProgress: (value: boolean) => void;\n setValue: (value: string) => void;\n}\n\ninterface UseSelectContext extends SelectContextValue {\n shouldFilter?: boolean;\n}\n\n/*\nRoot context to manage the Select control\n@remarks Only for internal usage.\n*/\nconst SelectContext = createContext<SelectContextValue | undefined>(undefined);\n\nexport const useSelectContext = (): UseSelectContext => {\n const context = useContext(SelectContext);\n if (!context) {\n throw new Error('useSelectContext must be used within a SelectProvider');\n }\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.searchValue?.length\n );\n return {\n ...context,\n shouldFilter\n };\n};\n\ninterface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\ninterface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\ntype BaseSelectProps = Omit<\n NormalSelectRootProps | AutocompleteSelectRootProps,\n 'autoComplete' | 'value' | 'onValueChange' | 'defaultValue'\n> & {\n htmlAutoComplete?: string;\n};\n\ninterface SingleSelectProps extends BaseSelectProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\n\ninterface MultipleSelectProps extends BaseSelectProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\n\nexport type SelectRootProps = SingleSelectProps | MultipleSelectProps;\n\nconst SELECT_INTERNAL_VALUE = 'SELECT_INTERNAL_VALUE';\n\nexport const SelectRoot = (props: SelectRootProps) => {\n const {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n autocomplete,\n autocompleteMode = 'auto',\n searchValue: providedSearchValue,\n onSearch,\n defaultSearchValue = '',\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n htmlAutoComplete,\n multiple = false,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [items, setItems] = useState<SelectContextValue['items']>({});\n const id = useId();\n const isSelectionInProgress = useRef(false);\n\n const computedValue = providedValue ?? internalValue;\n const searchValue = providedSearchValue ?? internalSearchValue;\n const open = providedOpen ?? internalOpen;\n\n const updateSelectionInProgress = useCallback((value: boolean) => {\n isSelectionInProgress.current = value;\n }, []);\n\n const setValue = useCallback(\n (value: string) => {\n /*\n * If the select is placed inside a form, onChange is called with an empty value\n * WORKAROUND FOR ISSUE https://github.com/radix-ui/primitives/issues/3135\n */\n if (value === '') return;\n\n if (multiple) {\n updateSelectionInProgress(true);\n const set = new Set<string>(\n Array.isArray(computedValue)\n ? computedValue\n : [computedValue ?? ''].filter(Boolean)\n );\n\n if (set.has(value)) set.delete(value);\n else set.add(value);\n\n const newValue = Array.from(set);\n\n setInternalValue(newValue);\n (onValueChange as MultipleSelectProps['onValueChange'])?.(newValue);\n } else {\n setInternalValue(value);\n (onValueChange as SingleSelectProps['onValueChange'])?.(value);\n }\n },\n [multiple, onValueChange, computedValue, updateSelectionInProgress]\n );\n\n const setSearchValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch]\n );\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n if (isSelectionInProgress.current) return;\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n const registerItem = useCallback<SelectContextValue['registerItem']>(item => {\n setItems(prev => ({ ...prev, [item.value]: item }));\n }, []);\n\n const unregisterItem = useCallback<SelectContextValue['unregisterItem']>(\n value => {\n setItems(prev => {\n const { [value]: _, ...rest } = prev;\n return rest;\n });\n },\n []\n );\n\n /*\n * Radix internally shows the placeholder when the value is empty.\n * This value is used to manage the internal value of Radix Select to make it work\n */\n const radixValue = useMemo(() => {\n if (!computedValue) return '';\n if (typeof computedValue === 'string') return computedValue;\n if (computedValue.length) return `${SELECT_INTERNAL_VALUE}-${id}`;\n return '';\n }, [computedValue, id]);\n\n const element = (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={false}\n includesBaseElement={false}\n value={searchValue}\n setValue={setSearchValue}\n open={open}\n setOpen={handleOpenChange}\n >\n {children}\n </ComboboxProvider>\n );\n\n return (\n <SelectContext.Provider\n value={{\n value: computedValue,\n registerItem,\n unregisterItem,\n autocomplete,\n autocompleteMode,\n searchValue,\n multiple,\n items,\n updateSelectionInProgress,\n setValue\n }}\n >\n <SelectPrimitive.Root\n autoComplete={htmlAutoComplete}\n value={radixValue}\n onValueChange={setValue}\n open={open}\n onOpenChange={handleOpenChange}\n {...rest}\n >\n {autocomplete ? element : children}\n </SelectPrimitive.Root>\n </SelectContext.Provider>\n );\n};\n"],"names":["_jsx","SelectPrimitive.Root"],"mappings":";;;;;AAmCA;;;AAGE;AACF,MAAM,aAAa,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAG,MAAuB;AACrD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;AACD,IAAA,MAAM,YAAY,GAAG,CAAC,EACpB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,gBAAgB,KAAK,MAAM;AACpC,QAAA,OAAO,EAAE,WAAW,EAAE,MAAM,CAC7B,CAAC;IACF,OAAO;AACL,QAAA,GAAG,OAAO;QACV,YAAY;KACb,CAAC;AACJ,EAAE;AAuCF,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEzC,MAAA,UAAU,GAAG,CAAC,KAAsB,KAAI;IACnD,MAAM,EACJ,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,GAAG,MAAM,EACzB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACR,kBAAkB,GAAG,EAAE,EACvB,IAAI,EAAE,YAAY,EAClB,WAAW,GAAG,KAAK,EACnB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GAAG,KAAK,EAChB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAEhD,YAAY,CAAC,CAAC;IAChB,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACjD,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA8B,EAAE,CAAC,CAAC;AACpE,IAAA,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACnB,IAAA,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAE5C,IAAA,MAAM,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC;AACrD,IAAA,MAAM,WAAW,GAAG,mBAAmB,IAAI,mBAAmB,CAAC;AAC/D,IAAA,MAAM,IAAI,GAAG,YAAY,IAAI,YAAY,CAAC;AAE1C,IAAA,MAAM,yBAAyB,GAAG,WAAW,CAAC,CAAC,KAAc,KAAI;AAC/D,QAAA,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;KACvC,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAa,KAAI;AAChB;;;AAGG;QACH,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO;QAEzB,IAAI,QAAQ,EAAE;YACZ,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;AAC1B,kBAAE,aAAa;AACf,kBAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC1C,CAAC;AAEF,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;AAAE,gBAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;AACjC,gBAAA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC1B,YAAA,aAAsD,GAAG,QAAQ,CAAC,CAAC;SACrE;aAAM;YACL,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACvB,YAAA,aAAoD,GAAG,KAAK,CAAC,CAAC;SAChE;KACF,EACD,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,yBAAyB,CAAC,CACpE,CAAC;AAEF,IAAA,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAa,KAAI;QAChB,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,QAAQ,GAAG,KAAK,CAAC,CAAC;AACpB,KAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;AAEF,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,KAAc,KAAI;QACjB,IAAI,qBAAqB,CAAC,OAAO;YAAE,OAAO;QAC1C,eAAe,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,YAAY,GAAG,KAAK,CAAC,CAAC;AACxB,KAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,WAAW,CAAqC,IAAI,IAAG;QAC1E,QAAQ,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;KACrD,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,IAAG;QACN,QAAQ,CAAC,IAAI,IAAG;AACd,YAAA,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AACrC,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC,CAAC;KACJ,EACD,EAAE,CACH,CAAC;AAEF;;;AAGG;AACH,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;AAC9B,QAAA,IAAI,CAAC,aAAa;AAAE,YAAA,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,aAAa,KAAK,QAAQ;AAAE,YAAA,OAAO,aAAa,CAAC;QAC5D,IAAI,aAAa,CAAC,MAAM;AAAE,YAAA,OAAO,CAAG,EAAA,qBAAqB,CAAI,CAAA,EAAA,EAAE,EAAE,CAAC;AAClE,QAAA,OAAO,EAAE,CAAC;AACZ,KAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AAExB,IAAA,MAAM,OAAO,IACXA,qBAAA,CAAC,gBAAgB,EACf,EAAA,gBAAgB,EAChB,IAAA,EAAA,SAAS,EAAE,KAAK,EAChB,mBAAmB,EAAE,KAAK,EAC1B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,gBAAgB,EAAA,QAAA,EAExB,QAAQ,EAAA,CACQ,CACpB,CAAC;AAEF,IAAA,QACEA,qBAAC,CAAA,aAAa,CAAC,QAAQ,EAAA,EACrB,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,aAAa;YACpB,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,QAAQ;YACR,KAAK;YACL,yBAAyB;YACzB,QAAQ;AACT,SAAA,EAAA,QAAA,EAEDA,sBAACC,KAAoB,EAAA,EACnB,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,gBAAgB,KAC1B,IAAI,EAAA,QAAA,EAEP,YAAY,GAAG,OAAO,GAAG,QAAQ,EACb,CAAA,EAAA,CACA,EACzB;AACJ;;;;"}
1
+ {"version":3,"file":"select-root.js","sources":["../../../components/select/select-root.tsx"],"sourcesContent":["import { ComboboxProvider } from '@ariakit/react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { ItemType } from './types';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n searchValue?: string;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\ninterface SelectContextValue extends CommonProps {\n value?: string | string[];\n registerItem: (item: ItemType) => void;\n unregisterItem: (value: string) => void;\n multiple: boolean;\n items: Record<string, ItemType>;\n updateSelectionInProgress: (value: boolean) => void;\n setValue: (value: string) => void;\n}\n\ninterface UseSelectContext extends SelectContextValue {\n shouldFilter?: boolean;\n}\n\n/*\nRoot context to manage the Select control\n@remarks Only for internal usage.\n*/\nconst SelectContext = createContext<SelectContextValue | undefined>(undefined);\n\nexport const useSelectContext = (): UseSelectContext => {\n const context = useContext(SelectContext);\n if (!context) {\n throw new Error('useSelectContext must be used within a SelectProvider');\n }\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.searchValue?.length\n );\n return {\n ...context,\n shouldFilter\n };\n};\n\ninterface NormalSelectRootProps extends SelectPrimitive.SelectProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\ninterface AutocompleteSelectRootProps\n extends SelectPrimitive.SelectProps,\n CommonProps {\n autocomplete: true;\n}\n\ntype BaseSelectProps = Omit<\n NormalSelectRootProps | AutocompleteSelectRootProps,\n 'autoComplete' | 'value' | 'onValueChange' | 'defaultValue'\n> & {\n htmlAutoComplete?: string;\n};\n\ninterface SingleSelectProps extends BaseSelectProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\n\ninterface MultipleSelectProps extends BaseSelectProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\n\nexport type SelectRootProps = SingleSelectProps | MultipleSelectProps;\n\nconst SELECT_INTERNAL_VALUE = 'SELECT_INTERNAL_VALUE';\n\nexport const SelectRoot = (props: SelectRootProps) => {\n const {\n children,\n value: providedValue,\n onValueChange,\n defaultValue,\n autocomplete,\n autocompleteMode = 'auto',\n searchValue: providedSearchValue,\n onSearch,\n defaultSearchValue = '',\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n htmlAutoComplete,\n multiple = false,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [items, setItems] = useState<SelectContextValue['items']>({});\n const id = useId();\n const isSelectionInProgress = useRef(false);\n\n const computedValue = providedValue ?? internalValue;\n const searchValue = providedSearchValue ?? internalSearchValue;\n const open = providedOpen ?? internalOpen;\n\n const updateSelectionInProgress = useCallback((value: boolean) => {\n isSelectionInProgress.current = value;\n }, []);\n\n const setValue = useCallback(\n (value: string) => {\n /*\n * If the select is placed inside a form, onChange is called with an empty value\n * WORKAROUND FOR ISSUE https://github.com/radix-ui/primitives/issues/3135\n */\n if (value === '') return;\n\n if (multiple) {\n updateSelectionInProgress(true);\n const set = new Set<string>(\n Array.isArray(computedValue)\n ? computedValue\n : [computedValue ?? ''].filter(Boolean)\n );\n\n if (set.has(value)) set.delete(value);\n else set.add(value);\n\n const newValue = Array.from(set);\n\n setInternalValue(newValue);\n (onValueChange as MultipleSelectProps['onValueChange'])?.(newValue);\n } else {\n setInternalValue(value);\n (onValueChange as SingleSelectProps['onValueChange'])?.(value);\n }\n },\n [multiple, onValueChange, computedValue, updateSelectionInProgress]\n );\n\n const setSearchValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch]\n );\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n if (isSelectionInProgress.current) return;\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n const registerItem = useCallback<SelectContextValue['registerItem']>(item => {\n setItems(prev => ({ ...prev, [item.value]: item }));\n }, []);\n\n const unregisterItem = useCallback<SelectContextValue['unregisterItem']>(\n value => {\n setItems(prev => {\n const { [value]: _, ...rest } = prev;\n return rest;\n });\n },\n []\n );\n\n /*\n * Radix internally shows the placeholder when the value is empty.\n * This value is used to manage the internal value of Radix Select to make it work\n */\n const radixValue = useMemo(() => {\n if (!computedValue) return '';\n if (typeof computedValue === 'string') return computedValue;\n if (Array.isArray(computedValue) && computedValue.length)\n return `${SELECT_INTERNAL_VALUE}-${id}`;\n return String(computedValue) ?? '';\n }, [computedValue, id]);\n\n const element = (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={false}\n includesBaseElement={false}\n value={searchValue}\n setValue={setSearchValue}\n open={open}\n setOpen={handleOpenChange}\n >\n {children}\n </ComboboxProvider>\n );\n\n return (\n <SelectContext.Provider\n value={{\n value: computedValue,\n registerItem,\n unregisterItem,\n autocomplete,\n autocompleteMode,\n searchValue,\n multiple,\n items,\n updateSelectionInProgress,\n setValue\n }}\n >\n <SelectPrimitive.Root\n autoComplete={htmlAutoComplete}\n value={radixValue}\n onValueChange={setValue}\n open={open}\n onOpenChange={handleOpenChange}\n {...rest}\n >\n {autocomplete ? element : children}\n </SelectPrimitive.Root>\n </SelectContext.Provider>\n );\n};\n"],"names":["_jsx","SelectPrimitive.Root"],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
4
  var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
5
5
  var React = require('react');
6
- var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
7
6
  var tooltip = require('../tooltip/tooltip.cjs');
8
7
  var sidebar_module = require('./sidebar.module.css.cjs');
9
8
  var index = require('../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18_qdnr5tshbuses2czt45n43so7q/node_modules/@radix-ui/react-collapsible/dist/index.cjs');
@@ -30,14 +29,14 @@ const SidebarItem = React.forwardRef(({ classNames, icon, children, active, disa
30
29
  const { isCollapsed, hideCollapsedItemTooltip } = React.useContext(SidebarContext); // To prevent prop drillng
31
30
  const content = React.cloneElement(as, {
32
31
  ref,
33
- className: clsx.clsx(sidebar_module.default['nav-item'], classNames?.root),
32
+ className: index$1.cx(sidebar_module.default['nav-item'], classNames?.root),
34
33
  'data-active': active,
35
34
  'data-disabled': disabled,
36
35
  role: 'menuitem',
37
36
  'aria-current': active ? 'page' : undefined,
38
37
  'aria-disabled': disabled,
39
38
  ...props
40
- }, jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: clsx.clsx(sidebar_module.default['nav-icon'], classNames?.icon), "aria-hidden": 'true', children: icon }), !isCollapsed && jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-text'], children: children })] }));
39
+ }, jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: index$1.cx(sidebar_module.default['nav-icon'], classNames?.icon), "aria-hidden": 'true', children: icon }), !isCollapsed && jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-text'], children: children })] }));
41
40
  if (isCollapsed && !hideCollapsedItemTooltip) {
42
41
  return (jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { message: children, side: 'right', children: content }));
43
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.cjs","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { Collapsible } from 'radix-ui';\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n ReactElement,\n ReactNode,\n cloneElement,\n createContext,\n forwardRef,\n useContext\n} from 'react';\n\nimport clsx from 'clsx';\nimport { Tooltip, TooltipProvider } from '../tooltip';\nimport styles from './sidebar.module.css';\n\ninterface SidebarContextValue {\n isCollapsed: boolean;\n hideCollapsedItemTooltip?: boolean;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n isCollapsed: false\n});\n\nconst root = cva(styles.root);\n\ninterface SidebarProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n hideCollapsedItemTooltip?: boolean;\n collapsible?: boolean;\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<'div'> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<'a'> {\n icon?: ReactNode;\n active?: boolean;\n disabled?: boolean;\n as?: ReactElement;\n classNames?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<'div'> {}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<'div'> {\n name: string;\n icon?: ReactNode;\n}\n\nconst SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarProps\n>(\n (\n {\n className,\n position = 'left',\n open,\n onOpenChange,\n hideCollapsedItemTooltip,\n collapsible = true,\n children,\n ...props\n },\n ref\n ) => (\n <SidebarContext.Provider\n value={{ isCollapsed: !open, hideCollapsedItemTooltip }}\n >\n <TooltipProvider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n data-collapse-disabled={!collapsible}\n open={open}\n onOpenChange={collapsible ? onOpenChange : undefined}\n aria-label='Navigation Sidebar'\n aria-expanded={open}\n role='navigation'\n {...props}\n asChild\n >\n <aside>\n {collapsible && (\n <Tooltip\n message={open ? 'Click to collapse' : 'Click to expand'}\n side={position === 'left' ? 'right' : 'left'}\n asChild\n followCursor\n sideOffset={10}\n >\n <div\n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role='button'\n tabIndex={0}\n aria-label={open ? 'Collapse sidebar' : 'Expand sidebar'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n )}\n {children}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n);\n\nconst SidebarHeader = forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, logo, title, onLogoClick, ...props }, ref) => (\n <div ref={ref} className={styles.header} role='banner' {...props}>\n <div\n className={styles.logo}\n onClick={onLogoClick}\n role={onLogoClick ? 'button' : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={e => {\n if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? 'pointer' : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role='heading' aria-level={1}>\n {title}\n </div>\n </div>\n )\n);\n\nconst SidebarMain = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.main}\n role='group'\n aria-label='Main navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarFooter = forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.footer}\n role='group'\n aria-label='Footer navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n (\n { classNames, icon, children, active, disabled, as = <a />, ...props },\n ref\n ) => {\n const { isCollapsed, hideCollapsedItemTooltip } =\n useContext(SidebarContext); // To prevent prop drillng\n\n const content = cloneElement(\n as,\n {\n ref,\n className: clsx(styles['nav-item'], classNames?.root),\n 'data-active': active,\n 'data-disabled': disabled,\n role: 'menuitem',\n 'aria-current': active ? 'page' : undefined,\n 'aria-disabled': disabled,\n ...props\n },\n <>\n <span\n className={clsx(styles['nav-icon'], classNames?.icon)}\n aria-hidden='true'\n >\n {icon}\n </span>\n {!isCollapsed && <span className={styles['nav-text']}>{children}</span>}\n </>\n );\n\n if (isCollapsed && !hideCollapsedItemTooltip) {\n return (\n <Tooltip message={children} side='right'>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n }\n);\n\nconst SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, name, icon, children, ...props }, ref) => (\n <section ref={ref} className={className} aria-label={name} {...props}>\n <div className={styles['nav-group-header']}>\n {icon && <span className={styles['nav-icon']}>{icon}</span>}\n <span className={styles['nav-group-name']}>{name}</span>\n </div>\n <div className={styles['nav-group-items']} role='list'>\n {children}\n </div>\n </section>\n));\n\nSidebarRoot.displayName = 'Sidebar.Root';\nSidebarHeader.displayName = 'Sidebar.Header';\nSidebarMain.displayName = 'Sidebar.Main';\nSidebarFooter.displayName = 'Sidebar.Footer';\nSidebarItem.displayName = 'Sidebar.Item';\nSidebarNavigationGroup.displayName = 'Sidebar.Group';\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup\n});\n"],"names":["createContext","cva","styles","forwardRef","_jsx","TooltipProvider","Collapsible.Root","_jsxs","Tooltip","useContext","cloneElement","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.cjs","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["import { cva, cx } from 'class-variance-authority';\nimport { Collapsible } from 'radix-ui';\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n ReactElement,\n ReactNode,\n cloneElement,\n createContext,\n forwardRef,\n useContext\n} from 'react';\nimport { Tooltip, TooltipProvider } from '../tooltip';\nimport styles from './sidebar.module.css';\n\ninterface SidebarContextValue {\n isCollapsed: boolean;\n hideCollapsedItemTooltip?: boolean;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n isCollapsed: false\n});\n\nconst root = cva(styles.root);\n\ninterface SidebarProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n hideCollapsedItemTooltip?: boolean;\n collapsible?: boolean;\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<'div'> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<'a'> {\n icon?: ReactNode;\n active?: boolean;\n disabled?: boolean;\n as?: ReactElement;\n classNames?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<'div'> {}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<'div'> {\n name: string;\n icon?: ReactNode;\n}\n\nconst SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarProps\n>(\n (\n {\n className,\n position = 'left',\n open,\n onOpenChange,\n hideCollapsedItemTooltip,\n collapsible = true,\n children,\n ...props\n },\n ref\n ) => (\n <SidebarContext.Provider\n value={{ isCollapsed: !open, hideCollapsedItemTooltip }}\n >\n <TooltipProvider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n data-collapse-disabled={!collapsible}\n open={open}\n onOpenChange={collapsible ? onOpenChange : undefined}\n aria-label='Navigation Sidebar'\n aria-expanded={open}\n role='navigation'\n {...props}\n asChild\n >\n <aside>\n {collapsible && (\n <Tooltip\n message={open ? 'Click to collapse' : 'Click to expand'}\n side={position === 'left' ? 'right' : 'left'}\n asChild\n followCursor\n sideOffset={10}\n >\n <div\n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role='button'\n tabIndex={0}\n aria-label={open ? 'Collapse sidebar' : 'Expand sidebar'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n )}\n {children}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n);\n\nconst SidebarHeader = forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, logo, title, onLogoClick, ...props }, ref) => (\n <div ref={ref} className={styles.header} role='banner' {...props}>\n <div\n className={styles.logo}\n onClick={onLogoClick}\n role={onLogoClick ? 'button' : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={e => {\n if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? 'pointer' : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role='heading' aria-level={1}>\n {title}\n </div>\n </div>\n )\n);\n\nconst SidebarMain = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.main}\n role='group'\n aria-label='Main navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarFooter = forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.footer}\n role='group'\n aria-label='Footer navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n (\n { classNames, icon, children, active, disabled, as = <a />, ...props },\n ref\n ) => {\n const { isCollapsed, hideCollapsedItemTooltip } =\n useContext(SidebarContext); // To prevent prop drillng\n\n const content = cloneElement(\n as,\n {\n ref,\n className: cx(styles['nav-item'], classNames?.root),\n 'data-active': active,\n 'data-disabled': disabled,\n role: 'menuitem',\n 'aria-current': active ? 'page' : undefined,\n 'aria-disabled': disabled,\n ...props\n },\n <>\n <span\n className={cx(styles['nav-icon'], classNames?.icon)}\n aria-hidden='true'\n >\n {icon}\n </span>\n {!isCollapsed && <span className={styles['nav-text']}>{children}</span>}\n </>\n );\n\n if (isCollapsed && !hideCollapsedItemTooltip) {\n return (\n <Tooltip message={children} side='right'>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n }\n);\n\nconst SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, name, icon, children, ...props }, ref) => (\n <section ref={ref} className={className} aria-label={name} {...props}>\n <div className={styles['nav-group-header']}>\n {icon && <span className={styles['nav-icon']}>{icon}</span>}\n <span className={styles['nav-group-name']}>{name}</span>\n </div>\n <div className={styles['nav-group-items']} role='list'>\n {children}\n </div>\n </section>\n));\n\nSidebarRoot.displayName = 'Sidebar.Root';\nSidebarHeader.displayName = 'Sidebar.Header';\nSidebarMain.displayName = 'Sidebar.Main';\nSidebarFooter.displayName = 'Sidebar.Footer';\nSidebarItem.displayName = 'Sidebar.Item';\nSidebarNavigationGroup.displayName = 'Sidebar.Group';\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup\n});\n"],"names":["createContext","cva","styles","forwardRef","_jsx","TooltipProvider","Collapsible.Root","_jsxs","Tooltip","useContext","cloneElement","cx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../components/sidebar/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,wBAAwB,EAExB,YAAY,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,UAAU,YACR,SAAQ,wBAAwB,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,UAAU,gBAAiB,SAAQ,wBAAwB,CAAC,GAAG,CAAC;IAC9D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAEvE,UAAU,2BAA4B,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AA2LD,eAAO,MAAM,OAAO;;;;;;CAMlB,CAAC"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../components/sidebar/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,wBAAwB,EAExB,YAAY,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAef,UAAU,YACR,SAAQ,wBAAwB,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,UAAU,gBAAiB,SAAQ,wBAAwB,CAAC,GAAG,CAAC;IAC9D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAEvE,UAAU,2BAA4B,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AA2LD,eAAO,MAAM,OAAO;;;;;;CAMlB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
2
- import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
2
+ import { cx, cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
3
3
  import { createContext, forwardRef, useContext, cloneElement } from 'react';
4
- import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
5
4
  import { TooltipProvider, Tooltip } from '../tooltip/tooltip.js';
6
5
  import styles from './sidebar.module.css.js';
7
6
  import { Root } from '../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18_qdnr5tshbuses2czt45n43so7q/node_modules/@radix-ui/react-collapsible/dist/index.js';
@@ -28,14 +27,14 @@ const SidebarItem = forwardRef(({ classNames, icon, children, active, disabled,
28
27
  const { isCollapsed, hideCollapsedItemTooltip } = useContext(SidebarContext); // To prevent prop drillng
29
28
  const content = cloneElement(as, {
30
29
  ref,
31
- className: clsx(styles['nav-item'], classNames?.root),
30
+ className: cx(styles['nav-item'], classNames?.root),
32
31
  'data-active': active,
33
32
  'data-disabled': disabled,
34
33
  role: 'menuitem',
35
34
  'aria-current': active ? 'page' : undefined,
36
35
  'aria-disabled': disabled,
37
36
  ...props
38
- }, jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: clsx(styles['nav-icon'], classNames?.icon), "aria-hidden": 'true', children: icon }), !isCollapsed && jsxRuntimeExports.jsx("span", { className: styles['nav-text'], children: children })] }));
37
+ }, jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("span", { className: cx(styles['nav-icon'], classNames?.icon), "aria-hidden": 'true', children: icon }), !isCollapsed && jsxRuntimeExports.jsx("span", { className: styles['nav-text'], children: children })] }));
39
38
  if (isCollapsed && !hideCollapsedItemTooltip) {
40
39
  return (jsxRuntimeExports.jsx(Tooltip, { message: children, side: 'right', children: content }));
41
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { Collapsible } from 'radix-ui';\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n ReactElement,\n ReactNode,\n cloneElement,\n createContext,\n forwardRef,\n useContext\n} from 'react';\n\nimport clsx from 'clsx';\nimport { Tooltip, TooltipProvider } from '../tooltip';\nimport styles from './sidebar.module.css';\n\ninterface SidebarContextValue {\n isCollapsed: boolean;\n hideCollapsedItemTooltip?: boolean;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n isCollapsed: false\n});\n\nconst root = cva(styles.root);\n\ninterface SidebarProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n hideCollapsedItemTooltip?: boolean;\n collapsible?: boolean;\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<'div'> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<'a'> {\n icon?: ReactNode;\n active?: boolean;\n disabled?: boolean;\n as?: ReactElement;\n classNames?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<'div'> {}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<'div'> {\n name: string;\n icon?: ReactNode;\n}\n\nconst SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarProps\n>(\n (\n {\n className,\n position = 'left',\n open,\n onOpenChange,\n hideCollapsedItemTooltip,\n collapsible = true,\n children,\n ...props\n },\n ref\n ) => (\n <SidebarContext.Provider\n value={{ isCollapsed: !open, hideCollapsedItemTooltip }}\n >\n <TooltipProvider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n data-collapse-disabled={!collapsible}\n open={open}\n onOpenChange={collapsible ? onOpenChange : undefined}\n aria-label='Navigation Sidebar'\n aria-expanded={open}\n role='navigation'\n {...props}\n asChild\n >\n <aside>\n {collapsible && (\n <Tooltip\n message={open ? 'Click to collapse' : 'Click to expand'}\n side={position === 'left' ? 'right' : 'left'}\n asChild\n followCursor\n sideOffset={10}\n >\n <div\n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role='button'\n tabIndex={0}\n aria-label={open ? 'Collapse sidebar' : 'Expand sidebar'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n )}\n {children}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n);\n\nconst SidebarHeader = forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, logo, title, onLogoClick, ...props }, ref) => (\n <div ref={ref} className={styles.header} role='banner' {...props}>\n <div\n className={styles.logo}\n onClick={onLogoClick}\n role={onLogoClick ? 'button' : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={e => {\n if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? 'pointer' : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role='heading' aria-level={1}>\n {title}\n </div>\n </div>\n )\n);\n\nconst SidebarMain = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.main}\n role='group'\n aria-label='Main navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarFooter = forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.footer}\n role='group'\n aria-label='Footer navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n (\n { classNames, icon, children, active, disabled, as = <a />, ...props },\n ref\n ) => {\n const { isCollapsed, hideCollapsedItemTooltip } =\n useContext(SidebarContext); // To prevent prop drillng\n\n const content = cloneElement(\n as,\n {\n ref,\n className: clsx(styles['nav-item'], classNames?.root),\n 'data-active': active,\n 'data-disabled': disabled,\n role: 'menuitem',\n 'aria-current': active ? 'page' : undefined,\n 'aria-disabled': disabled,\n ...props\n },\n <>\n <span\n className={clsx(styles['nav-icon'], classNames?.icon)}\n aria-hidden='true'\n >\n {icon}\n </span>\n {!isCollapsed && <span className={styles['nav-text']}>{children}</span>}\n </>\n );\n\n if (isCollapsed && !hideCollapsedItemTooltip) {\n return (\n <Tooltip message={children} side='right'>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n }\n);\n\nconst SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, name, icon, children, ...props }, ref) => (\n <section ref={ref} className={className} aria-label={name} {...props}>\n <div className={styles['nav-group-header']}>\n {icon && <span className={styles['nav-icon']}>{icon}</span>}\n <span className={styles['nav-group-name']}>{name}</span>\n </div>\n <div className={styles['nav-group-items']} role='list'>\n {children}\n </div>\n </section>\n));\n\nSidebarRoot.displayName = 'Sidebar.Root';\nSidebarHeader.displayName = 'Sidebar.Header';\nSidebarMain.displayName = 'Sidebar.Main';\nSidebarFooter.displayName = 'Sidebar.Footer';\nSidebarItem.displayName = 'Sidebar.Item';\nSidebarNavigationGroup.displayName = 'Sidebar.Group';\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup\n});\n"],"names":["_jsx","Collapsible.Root","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["import { cva, cx } from 'class-variance-authority';\nimport { Collapsible } from 'radix-ui';\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n ReactElement,\n ReactNode,\n cloneElement,\n createContext,\n forwardRef,\n useContext\n} from 'react';\nimport { Tooltip, TooltipProvider } from '../tooltip';\nimport styles from './sidebar.module.css';\n\ninterface SidebarContextValue {\n isCollapsed: boolean;\n hideCollapsedItemTooltip?: boolean;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n isCollapsed: false\n});\n\nconst root = cva(styles.root);\n\ninterface SidebarProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n hideCollapsedItemTooltip?: boolean;\n collapsible?: boolean;\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<'div'> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<'a'> {\n icon?: ReactNode;\n active?: boolean;\n disabled?: boolean;\n as?: ReactElement;\n classNames?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<'div'> {}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<'div'> {\n name: string;\n icon?: ReactNode;\n}\n\nconst SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarProps\n>(\n (\n {\n className,\n position = 'left',\n open,\n onOpenChange,\n hideCollapsedItemTooltip,\n collapsible = true,\n children,\n ...props\n },\n ref\n ) => (\n <SidebarContext.Provider\n value={{ isCollapsed: !open, hideCollapsedItemTooltip }}\n >\n <TooltipProvider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n data-collapse-disabled={!collapsible}\n open={open}\n onOpenChange={collapsible ? onOpenChange : undefined}\n aria-label='Navigation Sidebar'\n aria-expanded={open}\n role='navigation'\n {...props}\n asChild\n >\n <aside>\n {collapsible && (\n <Tooltip\n message={open ? 'Click to collapse' : 'Click to expand'}\n side={position === 'left' ? 'right' : 'left'}\n asChild\n followCursor\n sideOffset={10}\n >\n <div\n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role='button'\n tabIndex={0}\n aria-label={open ? 'Collapse sidebar' : 'Expand sidebar'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n )}\n {children}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n);\n\nconst SidebarHeader = forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, logo, title, onLogoClick, ...props }, ref) => (\n <div ref={ref} className={styles.header} role='banner' {...props}>\n <div\n className={styles.logo}\n onClick={onLogoClick}\n role={onLogoClick ? 'button' : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={e => {\n if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? 'pointer' : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role='heading' aria-level={1}>\n {title}\n </div>\n </div>\n )\n);\n\nconst SidebarMain = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.main}\n role='group'\n aria-label='Main navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarFooter = forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.footer}\n role='group'\n aria-label='Footer navigation'\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n (\n { classNames, icon, children, active, disabled, as = <a />, ...props },\n ref\n ) => {\n const { isCollapsed, hideCollapsedItemTooltip } =\n useContext(SidebarContext); // To prevent prop drillng\n\n const content = cloneElement(\n as,\n {\n ref,\n className: cx(styles['nav-item'], classNames?.root),\n 'data-active': active,\n 'data-disabled': disabled,\n role: 'menuitem',\n 'aria-current': active ? 'page' : undefined,\n 'aria-disabled': disabled,\n ...props\n },\n <>\n <span\n className={cx(styles['nav-icon'], classNames?.icon)}\n aria-hidden='true'\n >\n {icon}\n </span>\n {!isCollapsed && <span className={styles['nav-text']}>{children}</span>}\n </>\n );\n\n if (isCollapsed && !hideCollapsedItemTooltip) {\n return (\n <Tooltip message={children} side='right'>\n {content}\n </Tooltip>\n );\n }\n\n return content;\n }\n);\n\nconst SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, name, icon, children, ...props }, ref) => (\n <section ref={ref} className={className} aria-label={name} {...props}>\n <div className={styles['nav-group-header']}>\n {icon && <span className={styles['nav-icon']}>{icon}</span>}\n <span className={styles['nav-group-name']}>{name}</span>\n </div>\n <div className={styles['nav-group-items']} role='list'>\n {children}\n </div>\n </section>\n));\n\nSidebarRoot.displayName = 'Sidebar.Root';\nSidebarHeader.displayName = 'Sidebar.Header';\nSidebarMain.displayName = 'Sidebar.Main';\nSidebarFooter.displayName = 'Sidebar.Footer';\nSidebarItem.displayName = 'Sidebar.Item';\nSidebarNavigationGroup.displayName = 'Sidebar.Group';\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup\n});\n"],"names":["_jsx","Collapsible.Root","_jsxs"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
+ var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
4
5
  var React = require('react');
5
- var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
6
6
  var skeleton_module = require('./skeleton.module.css.cjs');
7
7
 
8
8
  const SkeletonContext = React.createContext(null);
9
9
  const SkeletonBase = (props) => {
10
10
  const contextProps = React.useContext(SkeletonContext);
11
- const { baseColor, highlightColor, width, height = 'var(--rs-space-4)', borderRadius = 'var(--rs-radius-2)', inline = false, duration = 1.5, count = 1, enableAnimation = true, style, className, containerStyle, containerClassName, } = { ...contextProps, ...props };
12
- const skeletonClassName = clsx.clsx(skeleton_module.default.skeleton, inline && skeleton_module.default.inline, enableAnimation && skeleton_module.default.animate, className);
11
+ const { baseColor, highlightColor, width, height = 'var(--rs-space-4)', borderRadius = 'var(--rs-radius-2)', inline = false, duration = 1.5, count = 1, enableAnimation = true, style, className, containerStyle, containerClassName } = { ...contextProps, ...props };
12
+ const skeletonClassName = index.cx(skeleton_module.default.skeleton, inline && skeleton_module.default.inline, enableAnimation && skeleton_module.default.animate, className);
13
13
  const Container = inline ? 'span' : 'div';
14
14
  const defaultWidth = inline ? '50px' : '100%';
15
15
  return (jsxRuntime.jsxRuntimeExports.jsx(Container, { className: containerClassName, style: {
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.cjs","sources":["../../../components/skeleton/skeleton.tsx"],"sourcesContent":["import { CSSProperties, createContext, useContext } from 'react';\nimport { clsx } from 'clsx';\nimport styles from './skeleton.module.css';\n\nexport interface SkeletonProps {\n baseColor?: string;\n highlightColor?: string;\n width?: string | number;\n height?: string | number;\n borderRadius?: string | number;\n inline?: boolean;\n duration?: number;\n enableAnimation?: boolean;\n count?: number;\n style?: CSSProperties;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n}\n\nconst SkeletonContext = createContext<SkeletonProps | null>(null);\n\ninterface SkeletonProviderProps extends SkeletonProps {\n children: React.ReactNode;\n}\n\nconst SkeletonBase = (props: SkeletonProps) => {\n const contextProps = useContext(SkeletonContext);\n \n const {\n baseColor,\n highlightColor,\n width,\n height = 'var(--rs-space-4)',\n borderRadius = 'var(--rs-radius-2)',\n inline = false,\n duration = 1.5,\n count = 1,\n enableAnimation = true,\n style,\n className,\n containerStyle,\n containerClassName,\n } = { ...contextProps, ...props };\n\n const skeletonClassName = clsx(\n styles.skeleton,\n inline && styles.inline,\n enableAnimation && styles.animate,\n className\n );\n\n const Container = inline ? 'span' : 'div';\n const defaultWidth = inline ? '50px' : '100%';\n\n return (\n <Container\n className={containerClassName}\n style={{\n display: inline ? 'inline-block' : 'flex',\n flexDirection: !inline ? 'column' : undefined,\n gap: !inline && count > 1 ? 'var(--rs-space-3)' : undefined,\n ...containerStyle\n }}\n >\n {Array.from({ length: count }).map((_, i) => (\n <span\n key={i}\n className={skeletonClassName}\n style={{\n width: width ?? defaultWidth,\n height,\n borderRadius,\n '--skeleton-base-color': baseColor,\n '--skeleton-highlight-color': highlightColor,\n '--skeleton-duration': `${duration}s`,\n ...style\n } as CSSProperties}\n />\n ))}\n </Container>\n );\n};\n\nconst Provider = ({ \n children,\n ...props\n}: SkeletonProviderProps) => {\n return (\n <SkeletonContext.Provider value={props}>\n {children}\n </SkeletonContext.Provider>\n );\n};\n\nexport const Skeleton = Object.assign(SkeletonBase, { Provider }); "],"names":["createContext","useContext","clsx","styles","_jsx"],"mappings":";;;;;;;AAoBA,MAAM,eAAe,GAAGA,mBAAa,CAAuB,IAAI,CAAC,CAAC;AAMlE,MAAM,YAAY,GAAG,CAAC,KAAoB,KAAI;AAC5C,IAAA,MAAM,YAAY,GAAGC,gBAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,MAAM,EACJ,SAAS,EACT,cAAc,EACd,KAAK,EACL,MAAM,GAAG,mBAAmB,EAC5B,YAAY,GAAG,oBAAoB,EACnC,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,CAAC,EACT,eAAe,GAAG,IAAI,EACtB,KAAK,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,GACnB,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;IAElC,MAAM,iBAAiB,GAAGC,SAAI,CAC5BC,uBAAM,CAAC,QAAQ,EACf,MAAM,IAAIA,uBAAM,CAAC,MAAM,EACvB,eAAe,IAAIA,uBAAM,CAAC,OAAO,EACjC,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9C,QACEC,iCAAC,SAAS,EAAA,EACR,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM;YACzC,aAAa,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS;AAC7C,YAAA,GAAG,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,mBAAmB,GAAG,SAAS;AAC3D,YAAA,GAAG,cAAc;SAClB,EAEA,QAAA,EAAA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MACtCA,gCAEE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,IAAI,YAAY;gBAC5B,MAAM;gBACN,YAAY;AACZ,gBAAA,uBAAuB,EAAE,SAAS;AAClC,gBAAA,4BAA4B,EAAE,cAAc;gBAC5C,qBAAqB,EAAE,CAAG,EAAA,QAAQ,CAAG,CAAA,CAAA;AACrC,gBAAA,GAAG,KAAK;AACQ,aAAA,EAAA,EAVb,CAAC,CAWN,CACH,CAAC,EAAA,CACQ,EACZ;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAChB,QAAQ,EACR,GAAG,KAAK,EACc,KAAI;AAC1B,IAAA,QACEA,gCAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EACnC,QAAQ,EAAA,CACgB,EAC3B;AACJ,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE;;;;"}
1
+ {"version":3,"file":"skeleton.cjs","sources":["../../../components/skeleton/skeleton.tsx"],"sourcesContent":["import { cx } from 'class-variance-authority';\nimport { CSSProperties, createContext, useContext } from 'react';\nimport styles from './skeleton.module.css';\n\nexport interface SkeletonProps {\n baseColor?: string;\n highlightColor?: string;\n width?: string | number;\n height?: string | number;\n borderRadius?: string | number;\n inline?: boolean;\n duration?: number;\n enableAnimation?: boolean;\n count?: number;\n style?: CSSProperties;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n}\n\nconst SkeletonContext = createContext<SkeletonProps | null>(null);\n\ninterface SkeletonProviderProps extends SkeletonProps {\n children: React.ReactNode;\n}\n\nconst SkeletonBase = (props: SkeletonProps) => {\n const contextProps = useContext(SkeletonContext);\n\n const {\n baseColor,\n highlightColor,\n width,\n height = 'var(--rs-space-4)',\n borderRadius = 'var(--rs-radius-2)',\n inline = false,\n duration = 1.5,\n count = 1,\n enableAnimation = true,\n style,\n className,\n containerStyle,\n containerClassName\n } = { ...contextProps, ...props };\n\n const skeletonClassName = cx(\n styles.skeleton,\n inline && styles.inline,\n enableAnimation && styles.animate,\n className\n );\n\n const Container = inline ? 'span' : 'div';\n const defaultWidth = inline ? '50px' : '100%';\n\n return (\n <Container\n className={containerClassName}\n style={{\n display: inline ? 'inline-block' : 'flex',\n flexDirection: !inline ? 'column' : undefined,\n gap: !inline && count > 1 ? 'var(--rs-space-3)' : undefined,\n ...containerStyle\n }}\n >\n {Array.from({ length: count }).map((_, i) => (\n <span\n key={i}\n className={skeletonClassName}\n style={\n {\n width: width ?? defaultWidth,\n height,\n borderRadius,\n '--skeleton-base-color': baseColor,\n '--skeleton-highlight-color': highlightColor,\n '--skeleton-duration': `${duration}s`,\n ...style\n } as CSSProperties\n }\n />\n ))}\n </Container>\n );\n};\n\nconst Provider = ({ children, ...props }: SkeletonProviderProps) => {\n return (\n <SkeletonContext.Provider value={props}>\n {children}\n </SkeletonContext.Provider>\n );\n};\n\nexport const Skeleton = Object.assign(SkeletonBase, { Provider });\n"],"names":["createContext","useContext","cx","styles","_jsx"],"mappings":";;;;;;;AAoBA,MAAM,eAAe,GAAGA,mBAAa,CAAuB,IAAI,CAAC,CAAC;AAMlE,MAAM,YAAY,GAAG,CAAC,KAAoB,KAAI;AAC5C,IAAA,MAAM,YAAY,GAAGC,gBAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,MAAM,EACJ,SAAS,EACT,cAAc,EACd,KAAK,EACL,MAAM,GAAG,mBAAmB,EAC5B,YAAY,GAAG,oBAAoB,EACnC,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,CAAC,EACT,eAAe,GAAG,IAAI,EACtB,KAAK,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EACnB,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;IAElC,MAAM,iBAAiB,GAAGC,QAAE,CAC1BC,uBAAM,CAAC,QAAQ,EACf,MAAM,IAAIA,uBAAM,CAAC,MAAM,EACvB,eAAe,IAAIA,uBAAM,CAAC,OAAO,EACjC,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9C,QACEC,iCAAC,SAAS,EAAA,EACR,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM;YACzC,aAAa,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS;AAC7C,YAAA,GAAG,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,mBAAmB,GAAG,SAAS;AAC3D,YAAA,GAAG,cAAc;SAClB,EAEA,QAAA,EAAA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MACtCA,gCAEE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EACH;gBACE,KAAK,EAAE,KAAK,IAAI,YAAY;gBAC5B,MAAM;gBACN,YAAY;AACZ,gBAAA,uBAAuB,EAAE,SAAS;AAClC,gBAAA,4BAA4B,EAAE,cAAc;gBAC5C,qBAAqB,EAAE,CAAG,EAAA,QAAQ,CAAG,CAAA,CAAA;AACrC,gBAAA,GAAG,KAAK;AACQ,aAAA,EAAA,EAXf,CAAC,CAaN,CACH,CAAC,EAAA,CACQ,EACZ;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAyB,KAAI;AACjE,IAAA,QACEA,gCAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EACnC,QAAQ,EAAA,CACgB,EAC3B;AACJ,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../components/skeleton/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,OAAO,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,UAAU,qBAAsB,SAAQ,aAAa;IACnD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAuED,eAAO,MAAM,QAAQ,WArEQ,aAAa;uCA6DvC,qBAAqB;CAQyC,CAAC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../components/skeleton/skeleton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA6B,MAAM,OAAO,CAAC;AAGjE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,UAAU,qBAAsB,SAAQ,aAAa;IACnD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAsED,eAAO,MAAM,QAAQ,WApEQ,aAAa;uCA4DA,qBAAqB;CAQE,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
2
+ import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
2
3
  import { createContext, useContext } from 'react';
3
- import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
4
4
  import styles from './skeleton.module.css.js';
5
5
 
6
6
  const SkeletonContext = createContext(null);
7
7
  const SkeletonBase = (props) => {
8
8
  const contextProps = useContext(SkeletonContext);
9
- const { baseColor, highlightColor, width, height = 'var(--rs-space-4)', borderRadius = 'var(--rs-radius-2)', inline = false, duration = 1.5, count = 1, enableAnimation = true, style, className, containerStyle, containerClassName, } = { ...contextProps, ...props };
10
- const skeletonClassName = clsx(styles.skeleton, inline && styles.inline, enableAnimation && styles.animate, className);
9
+ const { baseColor, highlightColor, width, height = 'var(--rs-space-4)', borderRadius = 'var(--rs-radius-2)', inline = false, duration = 1.5, count = 1, enableAnimation = true, style, className, containerStyle, containerClassName } = { ...contextProps, ...props };
10
+ const skeletonClassName = cx(styles.skeleton, inline && styles.inline, enableAnimation && styles.animate, className);
11
11
  const Container = inline ? 'span' : 'div';
12
12
  const defaultWidth = inline ? '50px' : '100%';
13
13
  return (jsxRuntimeExports.jsx(Container, { className: containerClassName, style: {
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sources":["../../../components/skeleton/skeleton.tsx"],"sourcesContent":["import { CSSProperties, createContext, useContext } from 'react';\nimport { clsx } from 'clsx';\nimport styles from './skeleton.module.css';\n\nexport interface SkeletonProps {\n baseColor?: string;\n highlightColor?: string;\n width?: string | number;\n height?: string | number;\n borderRadius?: string | number;\n inline?: boolean;\n duration?: number;\n enableAnimation?: boolean;\n count?: number;\n style?: CSSProperties;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n}\n\nconst SkeletonContext = createContext<SkeletonProps | null>(null);\n\ninterface SkeletonProviderProps extends SkeletonProps {\n children: React.ReactNode;\n}\n\nconst SkeletonBase = (props: SkeletonProps) => {\n const contextProps = useContext(SkeletonContext);\n \n const {\n baseColor,\n highlightColor,\n width,\n height = 'var(--rs-space-4)',\n borderRadius = 'var(--rs-radius-2)',\n inline = false,\n duration = 1.5,\n count = 1,\n enableAnimation = true,\n style,\n className,\n containerStyle,\n containerClassName,\n } = { ...contextProps, ...props };\n\n const skeletonClassName = clsx(\n styles.skeleton,\n inline && styles.inline,\n enableAnimation && styles.animate,\n className\n );\n\n const Container = inline ? 'span' : 'div';\n const defaultWidth = inline ? '50px' : '100%';\n\n return (\n <Container\n className={containerClassName}\n style={{\n display: inline ? 'inline-block' : 'flex',\n flexDirection: !inline ? 'column' : undefined,\n gap: !inline && count > 1 ? 'var(--rs-space-3)' : undefined,\n ...containerStyle\n }}\n >\n {Array.from({ length: count }).map((_, i) => (\n <span\n key={i}\n className={skeletonClassName}\n style={{\n width: width ?? defaultWidth,\n height,\n borderRadius,\n '--skeleton-base-color': baseColor,\n '--skeleton-highlight-color': highlightColor,\n '--skeleton-duration': `${duration}s`,\n ...style\n } as CSSProperties}\n />\n ))}\n </Container>\n );\n};\n\nconst Provider = ({ \n children,\n ...props\n}: SkeletonProviderProps) => {\n return (\n <SkeletonContext.Provider value={props}>\n {children}\n </SkeletonContext.Provider>\n );\n};\n\nexport const Skeleton = Object.assign(SkeletonBase, { Provider }); "],"names":["_jsx"],"mappings":";;;;;AAoBA,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAMlE,MAAM,YAAY,GAAG,CAAC,KAAoB,KAAI;AAC5C,IAAA,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,MAAM,EACJ,SAAS,EACT,cAAc,EACd,KAAK,EACL,MAAM,GAAG,mBAAmB,EAC5B,YAAY,GAAG,oBAAoB,EACnC,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,CAAC,EACT,eAAe,GAAG,IAAI,EACtB,KAAK,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,GACnB,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;IAElC,MAAM,iBAAiB,GAAG,IAAI,CAC5B,MAAM,CAAC,QAAQ,EACf,MAAM,IAAI,MAAM,CAAC,MAAM,EACvB,eAAe,IAAI,MAAM,CAAC,OAAO,EACjC,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9C,QACEA,sBAAC,SAAS,EAAA,EACR,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM;YACzC,aAAa,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS;AAC7C,YAAA,GAAG,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,mBAAmB,GAAG,SAAS;AAC3D,YAAA,GAAG,cAAc;SAClB,EAEA,QAAA,EAAA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MACtCA,qBAEE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,IAAI,YAAY;gBAC5B,MAAM;gBACN,YAAY;AACZ,gBAAA,uBAAuB,EAAE,SAAS;AAClC,gBAAA,4BAA4B,EAAE,cAAc;gBAC5C,qBAAqB,EAAE,CAAG,EAAA,QAAQ,CAAG,CAAA,CAAA;AACrC,gBAAA,GAAG,KAAK;AACQ,aAAA,EAAA,EAVb,CAAC,CAWN,CACH,CAAC,EAAA,CACQ,EACZ;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAChB,QAAQ,EACR,GAAG,KAAK,EACc,KAAI;AAC1B,IAAA,QACEA,qBAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EACnC,QAAQ,EAAA,CACgB,EAC3B;AACJ,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE;;;;"}
1
+ {"version":3,"file":"skeleton.js","sources":["../../../components/skeleton/skeleton.tsx"],"sourcesContent":["import { cx } from 'class-variance-authority';\nimport { CSSProperties, createContext, useContext } from 'react';\nimport styles from './skeleton.module.css';\n\nexport interface SkeletonProps {\n baseColor?: string;\n highlightColor?: string;\n width?: string | number;\n height?: string | number;\n borderRadius?: string | number;\n inline?: boolean;\n duration?: number;\n enableAnimation?: boolean;\n count?: number;\n style?: CSSProperties;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n}\n\nconst SkeletonContext = createContext<SkeletonProps | null>(null);\n\ninterface SkeletonProviderProps extends SkeletonProps {\n children: React.ReactNode;\n}\n\nconst SkeletonBase = (props: SkeletonProps) => {\n const contextProps = useContext(SkeletonContext);\n\n const {\n baseColor,\n highlightColor,\n width,\n height = 'var(--rs-space-4)',\n borderRadius = 'var(--rs-radius-2)',\n inline = false,\n duration = 1.5,\n count = 1,\n enableAnimation = true,\n style,\n className,\n containerStyle,\n containerClassName\n } = { ...contextProps, ...props };\n\n const skeletonClassName = cx(\n styles.skeleton,\n inline && styles.inline,\n enableAnimation && styles.animate,\n className\n );\n\n const Container = inline ? 'span' : 'div';\n const defaultWidth = inline ? '50px' : '100%';\n\n return (\n <Container\n className={containerClassName}\n style={{\n display: inline ? 'inline-block' : 'flex',\n flexDirection: !inline ? 'column' : undefined,\n gap: !inline && count > 1 ? 'var(--rs-space-3)' : undefined,\n ...containerStyle\n }}\n >\n {Array.from({ length: count }).map((_, i) => (\n <span\n key={i}\n className={skeletonClassName}\n style={\n {\n width: width ?? defaultWidth,\n height,\n borderRadius,\n '--skeleton-base-color': baseColor,\n '--skeleton-highlight-color': highlightColor,\n '--skeleton-duration': `${duration}s`,\n ...style\n } as CSSProperties\n }\n />\n ))}\n </Container>\n );\n};\n\nconst Provider = ({ children, ...props }: SkeletonProviderProps) => {\n return (\n <SkeletonContext.Provider value={props}>\n {children}\n </SkeletonContext.Provider>\n );\n};\n\nexport const Skeleton = Object.assign(SkeletonBase, { Provider });\n"],"names":["_jsx"],"mappings":";;;;;AAoBA,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAMlE,MAAM,YAAY,GAAG,CAAC,KAAoB,KAAI;AAC5C,IAAA,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,MAAM,EACJ,SAAS,EACT,cAAc,EACd,KAAK,EACL,MAAM,GAAG,mBAAmB,EAC5B,YAAY,GAAG,oBAAoB,EACnC,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,CAAC,EACT,eAAe,GAAG,IAAI,EACtB,KAAK,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EACnB,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;IAElC,MAAM,iBAAiB,GAAG,EAAE,CAC1B,MAAM,CAAC,QAAQ,EACf,MAAM,IAAI,MAAM,CAAC,MAAM,EACvB,eAAe,IAAI,MAAM,CAAC,OAAO,EACjC,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9C,QACEA,sBAAC,SAAS,EAAA,EACR,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,MAAM;YACzC,aAAa,EAAE,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS;AAC7C,YAAA,GAAG,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,mBAAmB,GAAG,SAAS;AAC3D,YAAA,GAAG,cAAc;SAClB,EAEA,QAAA,EAAA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MACtCA,qBAEE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EACH;gBACE,KAAK,EAAE,KAAK,IAAI,YAAY;gBAC5B,MAAM;gBACN,YAAY;AACZ,gBAAA,uBAAuB,EAAE,SAAS;AAClC,gBAAA,4BAA4B,EAAE,cAAc;gBAC5C,qBAAqB,EAAE,CAAG,EAAA,QAAQ,CAAG,CAAA,CAAA;AACrC,gBAAA,GAAG,KAAK;AACQ,aAAA,EAAA,EAXf,CAAC,CAaN,CACH,CAAC,EAAA,CACQ,EACZ;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAyB,KAAI;AACjE,IAAA,QACEA,qBAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EACnC,QAAQ,EAAA,CACgB,EAC3B;AACJ,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE;;;;"}
@@ -2,10 +2,9 @@
2
2
 
3
3
  var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
4
  var reactIcons_esm = require('../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs');
5
- var tooltip = require('../tooltip/tooltip.cjs');
6
5
  var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
7
6
  var React = require('react');
8
- var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
7
+ var tooltip = require('../tooltip/tooltip.cjs');
9
8
  var textArea_module = require('./text-area.module.css.cjs');
10
9
 
11
10
  function _interopNamespaceDefault(e) {
@@ -34,10 +33,10 @@ const textArea = index.cva(textArea_module.default.textarea, {
34
33
  }
35
34
  }
36
35
  });
37
- const TextArea = React__namespace.forwardRef(({ className, style, label, required, infoTooltip, helperText, error, disabled, width = "100%", value, onChange, placeholder, ...props }, ref) => {
38
- return (jsxRuntime.jsxRuntimeExports.jsxs("div", { className: textArea_module.default.container, style: { width }, children: [label && (jsxRuntime.jsxRuntimeExports.jsxs("div", { className: textArea_module.default.labelContainer, children: [jsxRuntime.jsxRuntimeExports.jsxs("label", { className: clsx.clsx(textArea_module.default.label, disabled && textArea_module.default.labelDisabled), children: [label, !required && jsxRuntime.jsxRuntimeExports.jsx("span", { className: textArea_module.default.optional, children: "(optional)" })] }), infoTooltip && (jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { message: infoTooltip, side: "right", children: jsxRuntime.jsxRuntimeExports.jsx("span", { className: textArea_module.default.helpIcon, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.InfoCircledIcon, {}) }) }))] })), jsxRuntime.jsxRuntimeExports.jsx("textarea", { className: index.cx(textArea({ error }), disabled && textArea_module.default.disabled, className), ref: ref, value: value, onChange: onChange, required: required, disabled: disabled, placeholder: placeholder, ...props }), helperText && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: clsx.clsx(textArea_module.default.helperText, error && textArea_module.default.helperTextError, disabled && textArea_module.default.helperTextDisabled), children: helperText }))] }));
36
+ const TextArea = React__namespace.forwardRef(({ className, style, label, required, infoTooltip, helperText, error, disabled, width = '100%', value, onChange, placeholder, ...props }, ref) => {
37
+ return (jsxRuntime.jsxRuntimeExports.jsxs("div", { className: textArea_module.default.container, style: { width }, children: [label && (jsxRuntime.jsxRuntimeExports.jsxs("div", { className: textArea_module.default.labelContainer, children: [jsxRuntime.jsxRuntimeExports.jsxs("label", { className: index.cx(textArea_module.default.label, disabled && textArea_module.default.labelDisabled), children: [label, !required && jsxRuntime.jsxRuntimeExports.jsx("span", { className: textArea_module.default.optional, children: "(optional)" })] }), infoTooltip && (jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { message: infoTooltip, side: 'right', children: jsxRuntime.jsxRuntimeExports.jsx("span", { className: textArea_module.default.helpIcon, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.InfoCircledIcon, {}) }) }))] })), jsxRuntime.jsxRuntimeExports.jsx("textarea", { className: index.cx(textArea({ error }), disabled && textArea_module.default.disabled, className), ref: ref, value: value, onChange: onChange, required: required, disabled: disabled, placeholder: placeholder, ...props }), helperText && (jsxRuntime.jsxRuntimeExports.jsx("span", { className: index.cx(textArea_module.default.helperText, error && textArea_module.default.helperTextError, disabled && textArea_module.default.helperTextDisabled), children: helperText }))] }));
39
38
  });
40
- TextArea.displayName = "TextArea";
39
+ TextArea.displayName = 'TextArea';
41
40
 
42
41
  exports.TextArea = TextArea;
43
42
  //# sourceMappingURL=text-area.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.cjs","sources":["../../../components/text-area/text-area.tsx"],"sourcesContent":["import { InfoCircledIcon } from \"@radix-ui/react-icons\";\nimport { Tooltip } from \"../tooltip\";\nimport { cva, cx } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { HTMLAttributes, PropsWithChildren } from \"react\";\nimport clsx from \"clsx\";\n\nimport styles from \"./text-area.module.css\";\n\nconst textArea = cva(styles.textarea, {\n variants: {\n error: {\n true: styles.error\n }\n }\n});\n\nexport interface TextAreaProps extends PropsWithChildren<HTMLAttributes<HTMLTextAreaElement>> {\n label?: string;\n required?: boolean;\n infoTooltip?: string;\n helperText?: string;\n error?: boolean;\n disabled?: boolean;\n width?: string | number;\n value?: string;\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n}\n\nconst TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ className, style, label, required, infoTooltip, helperText, error, disabled, width = \"100%\", value, onChange, placeholder, ...props }, ref) => {\n return (\n <div className={styles.container} style={{ width }}>\n {label && (\n <div className={styles.labelContainer}>\n <label className={clsx(styles.label, disabled && styles.labelDisabled)}>\n {label}\n {!required && <span className={styles.optional}>(optional)</span>}\n </label>\n {infoTooltip && (\n <Tooltip message={infoTooltip} side=\"right\">\n <span className={styles.helpIcon}>\n <InfoCircledIcon />\n </span>\n </Tooltip>\n )}\n </div>\n )}\n <textarea\n className={cx(\n textArea({ error }),\n disabled && styles.disabled,\n className\n )}\n ref={ref}\n value={value}\n onChange={onChange}\n required={required}\n disabled={disabled}\n placeholder={placeholder}\n {...props}\n />\n {helperText && (\n <span \n className={clsx(\n styles.helperText, \n error && styles.helperTextError,\n disabled && styles.helperTextDisabled\n )}\n >\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nTextArea.displayName = \"TextArea\";\n\nexport { TextArea };\n"],"names":["cva","styles","React","_jsxs","clsx","_jsx","Tooltip","InfoCircledIcon","cx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,QAAQ,GAAGA,SAAG,CAACC,uBAAM,CAAC,QAAQ,EAAE;AACpC,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;YACL,IAAI,EAAEA,uBAAM,CAAC,KAAK;AACnB,SAAA;AACF,KAAA;AACF,CAAA,CAAC,CAAC;AAcH,MAAM,QAAQ,GAAGC,gBAAK,CAAC,UAAU,CAC/B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC/I,IAAA,QACEC,iCAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEF,uBAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAC/C,QAAA,EAAA,CAAA,KAAK,KACJE,iCAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEF,uBAAM,CAAC,cAAc,EACnC,QAAA,EAAA,CAAAE,iCAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAEC,SAAI,CAACH,uBAAM,CAAC,KAAK,EAAE,QAAQ,IAAIA,uBAAM,CAAC,aAAa,CAAC,EACnE,QAAA,EAAA,CAAA,KAAK,EACL,CAAC,QAAQ,IAAII,gCAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEJ,uBAAM,CAAC,QAAQ,2BAAmB,CAC3D,EAAA,CAAA,EACP,WAAW,KACVI,iCAACC,eAAO,EAAA,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,YACzCD,gCAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEJ,uBAAM,CAAC,QAAQ,EAAA,QAAA,EAC9BI,iCAACE,8BAAe,EAAA,EAAA,CAAG,GACd,EACC,CAAA,CACX,CACG,EAAA,CAAA,CACP,EACDF,gCACE,CAAA,UAAA,EAAA,EAAA,SAAS,EAAEG,QAAE,CACX,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EACnB,QAAQ,IAAIP,uBAAM,CAAC,QAAQ,EAC3B,SAAS,CACV,EACD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EAAA,GACpB,KAAK,EACT,CAAA,EACD,UAAU,KACTI,gCACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAED,SAAI,CACbH,uBAAM,CAAC,UAAU,EACjB,KAAK,IAAIA,uBAAM,CAAC,eAAe,EAC/B,QAAQ,IAAIA,uBAAM,CAAC,kBAAkB,CACtC,EAEA,QAAA,EAAA,UAAU,GACN,CACR,CAAA,EAAA,CACG,EACN;AACJ,CAAC,EACD;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"text-area.cjs","sources":["../../../components/text-area/text-area.tsx"],"sourcesContent":["import { InfoCircledIcon } from '@radix-ui/react-icons';\nimport { cva, cx } from 'class-variance-authority';\nimport * as React from 'react';\nimport { HTMLAttributes, PropsWithChildren } from 'react';\nimport { Tooltip } from '../tooltip';\n\nimport styles from './text-area.module.css';\n\nconst textArea = cva(styles.textarea, {\n variants: {\n error: {\n true: styles.error\n }\n }\n});\n\nexport interface TextAreaProps\n extends PropsWithChildren<HTMLAttributes<HTMLTextAreaElement>> {\n label?: string;\n required?: boolean;\n infoTooltip?: string;\n helperText?: string;\n error?: boolean;\n disabled?: boolean;\n width?: string | number;\n value?: string;\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n}\n\nconst TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n (\n {\n className,\n style,\n label,\n required,\n infoTooltip,\n helperText,\n error,\n disabled,\n width = '100%',\n value,\n onChange,\n placeholder,\n ...props\n },\n ref\n ) => {\n return (\n <div className={styles.container} style={{ width }}>\n {label && (\n <div className={styles.labelContainer}>\n <label\n className={cx(styles.label, disabled && styles.labelDisabled)}\n >\n {label}\n {!required && <span className={styles.optional}>(optional)</span>}\n </label>\n {infoTooltip && (\n <Tooltip message={infoTooltip} side='right'>\n <span className={styles.helpIcon}>\n <InfoCircledIcon />\n </span>\n </Tooltip>\n )}\n </div>\n )}\n <textarea\n className={cx(\n textArea({ error }),\n disabled && styles.disabled,\n className\n )}\n ref={ref}\n value={value}\n onChange={onChange}\n required={required}\n disabled={disabled}\n placeholder={placeholder}\n {...props}\n />\n {helperText && (\n <span\n className={cx(\n styles.helperText,\n error && styles.helperTextError,\n disabled && styles.helperTextDisabled\n )}\n >\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n\nexport { TextArea };\n"],"names":["cva","styles","React","_jsxs","cx","_jsx","Tooltip","InfoCircledIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,QAAQ,GAAGA,SAAG,CAACC,uBAAM,CAAC,QAAQ,EAAE;AACpC,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;YACL,IAAI,EAAEA,uBAAM,CAAC,KAAK;AACnB,SAAA;AACF,KAAA;AACF,CAAA,CAAC,CAAC;AAeH,MAAM,QAAQ,GAAGC,gBAAK,CAAC,UAAU,CAC/B,CACE,EACE,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,KAAK,EACL,QAAQ,EACR,KAAK,GAAG,MAAM,EACd,KAAK,EACL,QAAQ,EACR,WAAW,EACX,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,QACEC,iCAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEF,uBAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAC/C,QAAA,EAAA,CAAA,KAAK,KACJE,iCAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEF,uBAAM,CAAC,cAAc,EACnC,QAAA,EAAA,CAAAE,iCAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAEC,QAAE,CAACH,uBAAM,CAAC,KAAK,EAAE,QAAQ,IAAIA,uBAAM,CAAC,aAAa,CAAC,EAE5D,QAAA,EAAA,CAAA,KAAK,EACL,CAAC,QAAQ,IAAII,gCAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEJ,uBAAM,CAAC,QAAQ,2BAAmB,CAC3D,EAAA,CAAA,EACP,WAAW,KACVI,iCAACC,eAAO,EAAA,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,YACzCD,gCAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEJ,uBAAM,CAAC,QAAQ,EAAA,QAAA,EAC9BI,iCAACE,8BAAe,EAAA,EAAA,CAAG,GACd,EACC,CAAA,CACX,CACG,EAAA,CAAA,CACP,EACDF,gCACE,CAAA,UAAA,EAAA,EAAA,SAAS,EAAED,QAAE,CACX,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EACnB,QAAQ,IAAIH,uBAAM,CAAC,QAAQ,EAC3B,SAAS,CACV,EACD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EAAA,GACpB,KAAK,EACT,CAAA,EACD,UAAU,KACTI,gCACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAED,QAAE,CACXH,uBAAM,CAAC,UAAU,EACjB,KAAK,IAAIA,uBAAM,CAAC,eAAe,EAC/B,QAAQ,IAAIA,uBAAM,CAAC,kBAAkB,CACtC,EAEA,QAAA,EAAA,UAAU,GACN,CACR,CAAA,EAAA,CACG,EACN;AACJ,CAAC,EACD;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
- import { HTMLAttributes, PropsWithChildren } from "react";
1
+ import * as React from 'react';
2
+ import { HTMLAttributes, PropsWithChildren } from 'react';
3
3
  export interface TextAreaProps extends PropsWithChildren<HTMLAttributes<HTMLTextAreaElement>> {
4
4
  label?: string;
5
5
  required?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../components/text-area/text-area.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAa1D,MAAM,WAAW,aAAc,SAAQ,iBAAiB,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;CACpE;AAED,QAAA,MAAM,QAAQ,2FA+Cb,CAAC;AAIF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../components/text-area/text-area.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAa1D,MAAM,WAAW,aACf,SAAQ,iBAAiB,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;CACpE;AAED,QAAA,MAAM,QAAQ,2FAkEb,CAAC;AAIF,OAAO,EAAE,QAAQ,EAAE,CAAC"}