@mdigital_ui/ui 0.4.8 → 0.5.1

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 (227) hide show
  1. package/README.md +279 -247
  2. package/dist/alert/index.d.ts.map +1 -1
  3. package/dist/alert/index.js +1 -1
  4. package/dist/autocomplete/index.d.ts.map +1 -1
  5. package/dist/autocomplete/index.js +3 -2
  6. package/dist/avatar/index.d.ts.map +1 -1
  7. package/dist/avatar/index.js +1 -1
  8. package/dist/breadcrumbs/index.js +4 -4
  9. package/dist/button/index.js +2 -2
  10. package/dist/calendar/index.d.ts.map +1 -1
  11. package/dist/calendar/index.js +2 -1
  12. package/dist/cascader/index.d.ts.map +1 -1
  13. package/dist/cascader/index.js +1 -1
  14. package/dist/checkbox/index.d.ts.map +1 -1
  15. package/dist/checkbox/index.js +1 -1
  16. package/dist/checkbox/types.d.ts +2 -0
  17. package/dist/checkbox/types.d.ts.map +1 -1
  18. package/dist/{chunk-Z3DIBMBQ.js → chunk-3K4GIXFA.js} +178 -118
  19. package/dist/chunk-3K4GIXFA.js.map +1 -0
  20. package/dist/{chunk-SJLH5ZDW.js → chunk-4QLYRAW2.js} +3 -3
  21. package/dist/{chunk-SJLH5ZDW.js.map → chunk-4QLYRAW2.js.map} +1 -1
  22. package/dist/{chunk-4TEZWGX7.js → chunk-64OCJYSH.js} +17 -8
  23. package/dist/chunk-64OCJYSH.js.map +1 -0
  24. package/dist/{chunk-5YEC6FDN.js → chunk-6CMHCCDO.js} +14 -7
  25. package/dist/chunk-6CMHCCDO.js.map +1 -0
  26. package/dist/{chunk-7RT65ZGV.js → chunk-6H2Y3QKP.js} +75 -23
  27. package/dist/chunk-6H2Y3QKP.js.map +1 -0
  28. package/dist/{chunk-UFYG3HKL.js → chunk-6K6RGQNL.js} +193 -94
  29. package/dist/chunk-6K6RGQNL.js.map +1 -0
  30. package/dist/{chunk-ROQGBDET.js → chunk-6XXAZ6P2.js} +15 -7
  31. package/dist/chunk-6XXAZ6P2.js.map +1 -0
  32. package/dist/{chunk-3Z7RLVWD.js → chunk-75T5BISG.js} +7 -13
  33. package/dist/chunk-75T5BISG.js.map +1 -0
  34. package/dist/{chunk-XAM5EKOS.js → chunk-7SKAAKBC.js} +13 -12
  35. package/dist/chunk-7SKAAKBC.js.map +1 -0
  36. package/dist/{chunk-6RZEJRTC.js → chunk-7ZUIX4NK.js} +3 -3
  37. package/dist/{chunk-6RZEJRTC.js.map → chunk-7ZUIX4NK.js.map} +1 -1
  38. package/dist/{chunk-NPK4ESMA.js → chunk-B75ICJCX.js} +9 -16
  39. package/dist/chunk-B75ICJCX.js.map +1 -0
  40. package/dist/chunk-CB7YOZWV.js +50 -0
  41. package/dist/chunk-CB7YOZWV.js.map +1 -0
  42. package/dist/{chunk-UFC3RGIN.js → chunk-DXAOZB6J.js} +4 -4
  43. package/dist/chunk-DXAOZB6J.js.map +1 -0
  44. package/dist/{chunk-75N6T3IS.js → chunk-ECBTSKES.js} +13 -10
  45. package/dist/chunk-ECBTSKES.js.map +1 -0
  46. package/dist/{chunk-J2WIZULN.js → chunk-FCIK35OY.js} +3 -3
  47. package/dist/{chunk-J2WIZULN.js.map → chunk-FCIK35OY.js.map} +1 -1
  48. package/dist/{chunk-FY2TZ2NT.js → chunk-GP7R3AFC.js} +58 -30
  49. package/dist/chunk-GP7R3AFC.js.map +1 -0
  50. package/dist/{chunk-ED4CQZ72.js → chunk-GQM5WLP5.js} +4 -4
  51. package/dist/{chunk-ED4CQZ72.js.map → chunk-GQM5WLP5.js.map} +1 -1
  52. package/dist/{chunk-TBKPQOXF.js → chunk-GSLNACUF.js} +3 -3
  53. package/dist/{chunk-TBKPQOXF.js.map → chunk-GSLNACUF.js.map} +1 -1
  54. package/dist/{chunk-OJAHIPPP.js → chunk-HGWD63IR.js} +3 -3
  55. package/dist/{chunk-OJAHIPPP.js.map → chunk-HGWD63IR.js.map} +1 -1
  56. package/dist/chunk-HKQOAEFY.js +1 -1
  57. package/dist/{chunk-PD3O6ZH4.js → chunk-JXOLZBXF.js} +19 -8
  58. package/dist/chunk-JXOLZBXF.js.map +1 -0
  59. package/dist/{chunk-CUXQZRDI.js → chunk-JZCONCJS.js} +13 -3
  60. package/dist/chunk-JZCONCJS.js.map +1 -0
  61. package/dist/{chunk-TDPJYCNI.js → chunk-KBT6UQNA.js} +14 -35
  62. package/dist/chunk-KBT6UQNA.js.map +1 -0
  63. package/dist/{chunk-VNH6R5EU.js → chunk-KR3GBSVA.js} +4 -6
  64. package/dist/chunk-KR3GBSVA.js.map +1 -0
  65. package/dist/{chunk-JWYBDNC6.js → chunk-KTK7LSKX.js} +7 -8
  66. package/dist/chunk-KTK7LSKX.js.map +1 -0
  67. package/dist/{chunk-J4SAIKKZ.js → chunk-L3ZFNHVX.js} +25 -22
  68. package/dist/chunk-L3ZFNHVX.js.map +1 -0
  69. package/dist/{chunk-PB5VGXS5.js → chunk-LBOQJHFH.js} +3 -3
  70. package/dist/{chunk-PB5VGXS5.js.map → chunk-LBOQJHFH.js.map} +1 -1
  71. package/dist/{chunk-XCK62GVU.js → chunk-LZ2MHSYF.js} +8 -5
  72. package/dist/chunk-LZ2MHSYF.js.map +1 -0
  73. package/dist/{chunk-LHZJ2GJU.js → chunk-MHRSK2QC.js} +8 -6
  74. package/dist/chunk-MHRSK2QC.js.map +1 -0
  75. package/dist/{chunk-JIXINKUJ.js → chunk-N742SARE.js} +8 -7
  76. package/dist/chunk-N742SARE.js.map +1 -0
  77. package/dist/{chunk-3XOHSE3X.js → chunk-NA6EVQ6T.js} +3 -3
  78. package/dist/{chunk-3XOHSE3X.js.map → chunk-NA6EVQ6T.js.map} +1 -1
  79. package/dist/{chunk-6ROGWFQ2.js → chunk-NKLKTAUP.js} +3 -3
  80. package/dist/{chunk-6ROGWFQ2.js.map → chunk-NKLKTAUP.js.map} +1 -1
  81. package/dist/{chunk-S6HO7HUY.js → chunk-OSD63E6O.js} +15 -19
  82. package/dist/chunk-OSD63E6O.js.map +1 -0
  83. package/dist/{chunk-QDJ5PZPP.js → chunk-PHA7SLBY.js} +3 -3
  84. package/dist/chunk-PHA7SLBY.js.map +1 -0
  85. package/dist/{chunk-6NXZWLSM.js → chunk-S4BF3Z6O.js} +4 -4
  86. package/dist/{chunk-6NXZWLSM.js.map → chunk-S4BF3Z6O.js.map} +1 -1
  87. package/dist/{chunk-C65SCJD6.js → chunk-SK6YMTMA.js} +5 -12
  88. package/dist/chunk-SK6YMTMA.js.map +1 -0
  89. package/dist/{chunk-DBPLQZJ2.js → chunk-SSISBOLO.js} +75 -22
  90. package/dist/chunk-SSISBOLO.js.map +1 -0
  91. package/dist/{chunk-LWYZCSX4.js → chunk-UBJK5623.js} +12 -11
  92. package/dist/chunk-UBJK5623.js.map +1 -0
  93. package/dist/{chunk-74AF6PO2.js → chunk-UEQ3NEVL.js} +48 -12
  94. package/dist/chunk-UEQ3NEVL.js.map +1 -0
  95. package/dist/{chunk-A4MYCEGM.js → chunk-UHHCUCEE.js} +19 -8
  96. package/dist/chunk-UHHCUCEE.js.map +1 -0
  97. package/dist/{chunk-X7JN7WPF.js → chunk-UIPDAD62.js} +3 -3
  98. package/dist/chunk-UIPDAD62.js.map +1 -0
  99. package/dist/{chunk-YUACN5GJ.js → chunk-UPBKLI62.js} +20 -13
  100. package/dist/chunk-UPBKLI62.js.map +1 -0
  101. package/dist/{chunk-3B32X5PU.js → chunk-UUXSTLOY.js} +7 -5
  102. package/dist/chunk-UUXSTLOY.js.map +1 -0
  103. package/dist/{chunk-HSMO2BR4.js → chunk-VNB7ZHCZ.js} +4 -13
  104. package/dist/chunk-VNB7ZHCZ.js.map +1 -0
  105. package/dist/{chunk-TQEMGWZ2.js → chunk-W4RYNHAG.js} +3 -3
  106. package/dist/{chunk-TQEMGWZ2.js.map → chunk-W4RYNHAG.js.map} +1 -1
  107. package/dist/{chunk-PRDJLQLB.js → chunk-XNV3YAJK.js} +5 -5
  108. package/dist/chunk-XNV3YAJK.js.map +1 -0
  109. package/dist/{chunk-I7HJBHQU.js → chunk-Y3PVWMUN.js} +7 -7
  110. package/dist/chunk-Y3PVWMUN.js.map +1 -0
  111. package/dist/clipboard/index.js +2 -2
  112. package/dist/collapse/index.js +2 -2
  113. package/dist/color-picker/index.d.ts +3 -3
  114. package/dist/color-picker/index.d.ts.map +1 -1
  115. package/dist/color-picker/index.js +3 -2
  116. package/dist/context-menu/index.d.ts +4 -6
  117. package/dist/context-menu/index.d.ts.map +1 -1
  118. package/dist/context-menu/index.js +2 -2
  119. package/dist/date-picker/PickerWrapper.d.ts +3 -3
  120. package/dist/date-picker/PickerWrapper.d.ts.map +1 -1
  121. package/dist/date-picker/index.d.ts.map +1 -1
  122. package/dist/date-picker/index.js +3 -2
  123. package/dist/descriptions/index.js +1 -1
  124. package/dist/dropdown/index.js +3 -3
  125. package/dist/hooks/useControllable.d.ts +9 -2
  126. package/dist/hooks/useControllable.d.ts.map +1 -1
  127. package/dist/hooks/useRipple.d.ts +0 -6
  128. package/dist/hooks/useRipple.d.ts.map +1 -1
  129. package/dist/index.js +46 -46
  130. package/dist/input/index.js +1 -1
  131. package/dist/input-password/index.js +2 -2
  132. package/dist/mentions/index.d.ts.map +1 -1
  133. package/dist/mentions/index.js +2 -1
  134. package/dist/menubar/index.js +2 -2
  135. package/dist/multi-select/index.d.ts.map +1 -1
  136. package/dist/multi-select/index.js +4 -4
  137. package/dist/navigation-menu/index.d.ts.map +1 -1
  138. package/dist/navigation-menu/index.js +1 -1
  139. package/dist/number-input/index.d.ts.map +1 -1
  140. package/dist/number-input/index.js +3 -3
  141. package/dist/pagination/index.js +2 -2
  142. package/dist/popover/index.d.ts +16 -1
  143. package/dist/popover/index.d.ts.map +1 -1
  144. package/dist/popover/index.js +1 -1
  145. package/dist/qr-code/index.d.ts +3 -3
  146. package/dist/qr-code/index.d.ts.map +1 -1
  147. package/dist/qr-code/index.js +1 -1
  148. package/dist/radio/index.d.ts.map +1 -1
  149. package/dist/radio/index.js +1 -1
  150. package/dist/rating/index.js +2 -2
  151. package/dist/resizable/index.d.ts +4 -3
  152. package/dist/resizable/index.d.ts.map +1 -1
  153. package/dist/resizable/index.js +1 -1
  154. package/dist/result/index.d.ts.map +1 -1
  155. package/dist/result/index.js +1 -1
  156. package/dist/select/index.d.ts.map +1 -1
  157. package/dist/select/index.js +4 -4
  158. package/dist/skeleton/index.d.ts +3 -3
  159. package/dist/skeleton/index.d.ts.map +1 -1
  160. package/dist/skeleton/index.js +1 -1
  161. package/dist/table/index.d.ts.map +1 -1
  162. package/dist/table/index.js +8 -8
  163. package/dist/table/types.d.ts +16 -2
  164. package/dist/table/types.d.ts.map +1 -1
  165. package/dist/tags-input/index.d.ts.map +1 -1
  166. package/dist/tags-input/index.js +2 -1
  167. package/dist/textarea/index.d.ts +3 -3
  168. package/dist/textarea/index.d.ts.map +1 -1
  169. package/dist/textarea/index.js +1 -1
  170. package/dist/theme/ThemeProvider.d.ts +18 -2
  171. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  172. package/dist/theme/index.d.ts +1 -1
  173. package/dist/theme/index.d.ts.map +1 -1
  174. package/dist/theme/index.js +1 -1
  175. package/dist/timeline/index.d.ts.map +1 -1
  176. package/dist/timeline/index.js +1 -1
  177. package/dist/toggle/index.d.ts.map +1 -1
  178. package/dist/toggle/index.js +2 -2
  179. package/dist/toggle-group/index.d.ts.map +1 -1
  180. package/dist/toggle-group/index.js +2 -2
  181. package/dist/tour/index.d.ts.map +1 -1
  182. package/dist/tour/index.js +1 -1
  183. package/dist/transfer/index.js +2 -2
  184. package/dist/tree-select/index.js +2 -2
  185. package/dist/typography/index.d.ts.map +1 -1
  186. package/dist/typography/index.js +1 -1
  187. package/dist/upload/index.d.ts.map +1 -1
  188. package/dist/upload/index.js +2 -2
  189. package/package.json +4 -3
  190. package/styles/datepicker.css +126 -0
  191. package/styles/global.css +1 -113
  192. package/dist/chunk-3B32X5PU.js.map +0 -1
  193. package/dist/chunk-3Z7RLVWD.js.map +0 -1
  194. package/dist/chunk-4TEZWGX7.js.map +0 -1
  195. package/dist/chunk-5YEC6FDN.js.map +0 -1
  196. package/dist/chunk-74AF6PO2.js.map +0 -1
  197. package/dist/chunk-75N6T3IS.js.map +0 -1
  198. package/dist/chunk-7RT65ZGV.js.map +0 -1
  199. package/dist/chunk-A4MYCEGM.js.map +0 -1
  200. package/dist/chunk-C65SCJD6.js.map +0 -1
  201. package/dist/chunk-CUXQZRDI.js.map +0 -1
  202. package/dist/chunk-DBPLQZJ2.js.map +0 -1
  203. package/dist/chunk-FY2TZ2NT.js.map +0 -1
  204. package/dist/chunk-HSMO2BR4.js.map +0 -1
  205. package/dist/chunk-I7HJBHQU.js.map +0 -1
  206. package/dist/chunk-J4SAIKKZ.js.map +0 -1
  207. package/dist/chunk-JIXINKUJ.js.map +0 -1
  208. package/dist/chunk-JWYBDNC6.js.map +0 -1
  209. package/dist/chunk-LHZJ2GJU.js.map +0 -1
  210. package/dist/chunk-LWYZCSX4.js.map +0 -1
  211. package/dist/chunk-NPK4ESMA.js.map +0 -1
  212. package/dist/chunk-PD3O6ZH4.js.map +0 -1
  213. package/dist/chunk-PQOIW5CM.js +0 -27
  214. package/dist/chunk-PQOIW5CM.js.map +0 -1
  215. package/dist/chunk-PRDJLQLB.js.map +0 -1
  216. package/dist/chunk-QDJ5PZPP.js.map +0 -1
  217. package/dist/chunk-ROQGBDET.js.map +0 -1
  218. package/dist/chunk-S6HO7HUY.js.map +0 -1
  219. package/dist/chunk-TDPJYCNI.js.map +0 -1
  220. package/dist/chunk-UFC3RGIN.js.map +0 -1
  221. package/dist/chunk-UFYG3HKL.js.map +0 -1
  222. package/dist/chunk-VNH6R5EU.js.map +0 -1
  223. package/dist/chunk-X7JN7WPF.js.map +0 -1
  224. package/dist/chunk-XAM5EKOS.js.map +0 -1
  225. package/dist/chunk-XCK62GVU.js.map +0 -1
  226. package/dist/chunk-YUACN5GJ.js.map +0 -1
  227. package/dist/chunk-Z3DIBMBQ.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { useSelectBase } from './chunk-QDJ5PZPP.js';
2
- import { useControllable } from './chunk-PQOIW5CM.js';
1
+ import { useSelectBase } from './chunk-PHA7SLBY.js';
3
2
  import { spinner_default } from './chunk-RRPMZYVN.js';
4
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-ROQGBDET.js';
3
+ import { useControllable } from './chunk-CB7YOZWV.js';
4
+ import { Popover, PopoverTrigger, PopoverContent } from './chunk-6XXAZ6P2.js';
5
5
  import { colorVars } from './chunk-G6QIIWKU.js';
6
6
  import { cn, iconSizes, statusMessageVariants } from './chunk-RAS6HUEI.js';
7
7
  import { cva } from 'class-variance-authority';
@@ -380,6 +380,7 @@ var Select = React.memo(
380
380
  {
381
381
  ref: inputRef,
382
382
  type: "text",
383
+ role: "combobox",
383
384
  "data-slot": "search",
384
385
  className: cn(
385
386
  "select_search",
@@ -396,6 +397,7 @@ var Select = React.memo(
396
397
  readOnly: !isOpen,
397
398
  tabIndex: 0,
398
399
  "aria-autocomplete": "list",
400
+ "aria-expanded": isOpen,
399
401
  "aria-controls": isOpen ? listboxId : void 0
400
402
  }
401
403
  ),
@@ -504,5 +506,5 @@ Select.displayName = "Select";
504
506
  var select_default = Select;
505
507
 
506
508
  export { select_default };
507
- //# sourceMappingURL=chunk-3B32X5PU.js.map
508
- //# sourceMappingURL=chunk-3B32X5PU.js.map
509
+ //# sourceMappingURL=chunk-UUXSTLOY.js.map
510
+ //# sourceMappingURL=chunk-UUXSTLOY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/select/index.tsx"],"names":[],"mappings":"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","file":"chunk-UUXSTLOY.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Check, ChevronDown, ChevronUp, Search, X } from \"lucide-react\";\nimport React from \"react\";\nimport { useControllable } from \"../hooks/useControllable\";\n\nimport Spinner from \"../spinner\";\n\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover\";\nimport { colorVars } from \"../variants\";\nimport { useSelectBase } from \"../shared/useSelectBase\";\nimport type { FlattenedItem } from \"../shared/useSelectBase\";\nimport { cn, iconSizes, statusMessageVariants } from \"../utils\";\nimport type { SelectOption, SelectProps } from \"./types\";\n\nconst selectTriggerVariants = cva(\n \"w-full flex items-center justify-between rounded-md bg-background text-text-primary border focus:border-primary outline-none disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer transition-colors\",\n {\n variants: {\n status: {\n default: \"border-border hover:border-primary/50\",\n error: \"border-error\",\n warning: \"border-warning\",\n info: \"border-info\",\n success: \"border-success\",\n },\n size: {\n xs: \"h-(--select-height-xs) px-(--select-padding-x-xs) text-xs gap-1.5\",\n sm: \"h-(--select-height-sm) px-(--select-padding-x-sm) text-sm gap-2\",\n md: \"h-(--select-height-md) px-(--select-padding-x-md) text-base gap-2.5\",\n lg: \"h-(--select-height-lg) px-(--select-padding-x-lg) text-lg gap-3\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n },\n defaultVariants: {\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n },\n },\n);\n\nconst selectOptionVariants = cva(\n \"relative cursor-pointer select-none px-3 py-2 text-text-primary rounded-sm transition-colors\",\n {\n variants: {\n selected: {\n true: \"bg-slot-10 text-slot font-medium\",\n false: \"hover:bg-surface\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n selected: false,\n disabled: false,\n },\n },\n);\n\nconst selectGroupVariants = cva(\n \"px-3 py-2 text-xs font-semibold text-text-secondary uppercase tracking-wider bg-surface/50\",\n);\n\nconst Select = React.memo<SelectProps>(\n ({\n size = \"md\",\n label,\n helperText,\n error,\n warning,\n info,\n success,\n options = [],\n placeholder = \"Select an option\",\n loading = false,\n fullWidth = true,\n value,\n defaultValue,\n onChange,\n clearable = false,\n disabled,\n required,\n virtualizeThreshold = 50,\n maxDropdownHeight = 300,\n className,\n classNames,\n ref,\n ...props\n }) => {\n const [currentValue, setCurrentValue] = useControllable<string | number>({\n value,\n defaultValue: defaultValue ?? \"\",\n onChange,\n });\n\n const {\n // State\n isOpen,\n setIsOpen,\n searchQuery,\n setSearchQuery,\n setHighlightedIndex,\n highlightedIndex,\n showTopArrow,\n showBottomArrow,\n // Refs\n triggerRef,\n inputRef,\n scrollContainerRef,\n // Computed\n filteredOptions,\n selectableOptions,\n shouldVirtualize,\n virtualizer,\n // IDs & validation\n labelId,\n listboxId,\n helperId,\n status,\n helperMessage,\n // Handlers\n handleInputChange,\n handleInputClick,\n handleScroll,\n handleKeyDown,\n handleKeyUp,\n refCallback,\n } = useSelectBase<SelectOption>({\n options,\n onSelectOption: (option) => handleSelect(option.value),\n virtualizeThreshold,\n maxDropdownHeight,\n label,\n idPrefix: \"select\",\n error,\n warning,\n info,\n success,\n helperText,\n });\n\n const handleSelect = React.useCallback(\n (optionValue: string | number) => {\n setCurrentValue(optionValue);\n setIsOpen(false);\n setSearchQuery(\"\");\n setHighlightedIndex(-1);\n },\n [setCurrentValue, setIsOpen, setSearchQuery, setHighlightedIndex],\n );\n\n const selectedOption = React.useMemo(\n () => options.find((opt) => opt.value === currentValue),\n [options, currentValue],\n );\n const displayValue = isOpen ? searchQuery : selectedOption?.label || \"\";\n\n const handleClear = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n setCurrentValue(\"\");\n setSearchQuery(\"\");\n setHighlightedIndex(-1);\n },\n [setCurrentValue, setSearchQuery, setHighlightedIndex],\n );\n\n const handleOptionClick = React.useCallback(\n (optionValue: string | number) => {\n handleSelect(optionValue);\n },\n [handleSelect],\n );\n\n const renderOptionsList = (\n <div className=\"relative\">\n {/* Top scroll indicator */}\n <div className=\"flex items-center justify-center h-4\">\n {showTopArrow && (\n <ChevronUp className=\"size-4 text-text-primary animate-in fade-in duration-150\" />\n )}\n </div>\n\n <div\n ref={scrollContainerRef}\n className=\"overflow-auto relative p-1\"\n style={{ maxHeight: maxDropdownHeight }}\n role=\"listbox\"\n id={listboxId}\n aria-labelledby={label ? labelId : undefined}\n onScroll={handleScroll}\n >\n {!filteredOptions.length ? (\n <div\n data-slot=\"empty\"\n className={cn(\n \"select_empty\",\n \"px-3 py-4 text-center text-sm text-text-secondary\",\n classNames?.empty,\n )}\n >\n No options found\n </div>\n ) : shouldVirtualize ? (\n <div\n ref={refCallback}\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const item = filteredOptions[virtualItem.index];\n\n if (!item) return null;\n\n if (item.type === \"group\") {\n return (\n <div\n key={`group-${virtualItem.index}`}\n data-slot=\"group\"\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: `${virtualItem.size}px`,\n transform: `translateY(${virtualItem.start}px)`,\n }}\n className={cn(\n \"select_group\",\n selectGroupVariants(),\n classNames?.group,\n )}\n >\n <span\n data-slot=\"groupLabel\"\n className={cn(\n \"select_groupLabel\",\n classNames?.groupLabel,\n )}\n >\n {item.data as string}\n </span>\n </div>\n );\n }\n\n const option = item.data as SelectOption;\n const isSelected = option.value === currentValue;\n const selectableIndex = selectableOptions.indexOf(\n item as FlattenedItem<SelectOption>,\n );\n const isHighlighted = selectableIndex === highlightedIndex;\n\n return (\n <div\n key={option.value}\n data-slot=\"option\"\n data-value={option.value}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: `${virtualItem.size}px`,\n transform: `translateY(${virtualItem.start}px)`,\n }}\n className={cn(\n \"select_option\",\n selectOptionVariants({\n selected: isSelected,\n disabled: !!option.disabled,\n }),\n isHighlighted && \"bg-surface\",\n classNames?.option,\n isSelected && classNames?.optionSelected,\n )}\n onClick={() =>\n !option.disabled && handleOptionClick(option.value)\n }\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n >\n {option.label}\n {isSelected && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Check\n className={cn(\n \"text-slot animate-in zoom-in-75 duration-150\",\n iconSizes[size],\n )}\n />\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : (\n <div>\n {filteredOptions.map((item, index) => {\n if (item.type === \"group\") {\n return (\n <div\n key={`group-${index}`}\n data-slot=\"group\"\n className={cn(\n \"select_group\",\n selectGroupVariants(),\n classNames?.group,\n )}\n >\n <span\n data-slot=\"groupLabel\"\n className={cn(\n \"select_groupLabel\",\n classNames?.groupLabel,\n )}\n >\n {item.data as string}\n </span>\n </div>\n );\n }\n\n const option = item.data as SelectOption;\n const isSelected = option.value === currentValue;\n const selectableIndex = selectableOptions.indexOf(\n item as FlattenedItem<SelectOption>,\n );\n const isHighlighted = selectableIndex === highlightedIndex;\n\n return (\n <div\n key={option.value}\n data-slot=\"option\"\n data-value={option.value}\n data-option-index={index}\n className={cn(\n \"select_option\",\n selectOptionVariants({\n selected: isSelected,\n disabled: !!option.disabled,\n }),\n isHighlighted && \"bg-surface\",\n classNames?.option,\n isSelected && classNames?.optionSelected,\n )}\n onClick={() =>\n !option.disabled && handleOptionClick(option.value)\n }\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n >\n {option.label}\n {isSelected && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Check\n className={cn(\n \"text-slot animate-in zoom-in-75 duration-150\",\n iconSizes[size],\n )}\n />\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n </div>\n\n {/* Bottom scroll indicator */}\n <div className=\"flex items-center justify-center h-4\">\n {showBottomArrow && (\n <ChevronDown className=\"size-4 text-text-primary animate-in fade-in duration-150\" />\n )}\n </div>\n </div>\n );\n\n // Trigger button (used in both desktop and mobile)\n const triggerButton = (\n <button\n ref={triggerRef}\n type=\"button\"\n data-slot=\"trigger\"\n className={cn(\n \"select_trigger\",\n selectTriggerVariants({ status, size, fullWidth }),\n loading && \"opacity-50\",\n className,\n classNames?.trigger,\n )}\n disabled={disabled || loading}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-controls={listboxId}\n aria-labelledby={label ? labelId : undefined}\n aria-describedby={helperMessage ? helperId : undefined}\n >\n <input\n ref={inputRef}\n type=\"text\"\n role=\"combobox\"\n data-slot=\"search\"\n className={cn(\n \"select_search\",\n \"w-full text-ellipsis flex-1 bg-transparent outline-none cursor-pointer placeholder:text-text-secondary/50\",\n classNames?.search,\n )}\n placeholder={placeholder}\n value={displayValue}\n onChange={handleInputChange}\n onClick={handleInputClick}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n disabled={disabled || loading}\n readOnly={!isOpen}\n tabIndex={0}\n aria-autocomplete=\"list\"\n aria-expanded={isOpen}\n aria-controls={isOpen ? listboxId : undefined}\n />\n <div\n data-slot=\"triggerIcon\"\n className={cn(\n \"select_triggerIcon\",\n \"flex items-center gap-1 text-text-secondary\",\n classNames?.triggerIcon,\n )}\n >\n {clearable && currentValue && !disabled && !loading && (\n <span\n role=\"button\"\n tabIndex={-1}\n onClick={handleClear}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClear(e as unknown as React.MouseEvent);\n }\n }}\n className=\"hover:text-text-primary transition-colors cursor-pointer\"\n aria-label=\"Clear selection\"\n >\n <X className={iconSizes[size]} />\n </span>\n )}\n {loading ? (\n <Spinner />\n ) : (\n <>\n {isOpen ? (\n <Search className={iconSizes[size]} />\n ) : (\n <ChevronDown className={iconSizes[size]} />\n )}\n </>\n )}\n </div>\n </button>\n );\n\n const selectElement = (\n <div\n data-slot=\"root\"\n className={cn(\n \"select_root\",\n \"relative group\",\n colorVars.primary,\n fullWidth ? \"w-full\" : \"inline-block\",\n classNames?.root,\n )}\n ref={ref}\n {...props}\n >\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <PopoverTrigger asChild>{triggerButton}</PopoverTrigger>\n\n <PopoverContent\n data-slot=\"dropdown\"\n className={cn(\n \"select_dropdown\",\n \"p-0 w-[var(--radix-popover-trigger-width)]\",\n classNames?.dropdown,\n )}\n align=\"start\"\n onOpenAutoFocus={(e: Event) => {\n e.preventDefault();\n inputRef.current?.focus();\n }}\n >\n {renderOptionsList}\n </PopoverContent>\n </Popover>\n </div>\n );\n\n return (\n <div className={cn(\"w-full flex flex-col\", !fullWidth && \"inline-block\")}>\n <div className=\"flex gap-2 items-center\">\n {label && (\n <label\n id={labelId}\n data-slot=\"label\"\n className={cn(\"select_label\", \"block mb-0.5\", classNames?.label)}\n >\n <span className=\"text-sm font-medium text-text-secondary\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </span>\n </label>\n )}\n {helperMessage && (\n <p\n id={helperId}\n data-slot=\"helper\"\n className={cn(\n \"select_helper\",\n statusMessageVariants({ status }),\n classNames?.helper,\n )}\n >\n {helperMessage}\n </p>\n )}\n </div>\n {selectElement}\n </div>\n );\n },\n);\n\nSelect.displayName = \"Select\";\n\nexport type * from \"./types\";\nexport default Select;\n"]}
@@ -1,6 +1,7 @@
1
1
  import { colorVars } from './chunk-G6QIIWKU.js';
2
2
  import { cn } from './chunk-RAS6HUEI.js';
3
3
  import { cva } from 'class-variance-authority';
4
+ import { User } from 'lucide-react';
4
5
  import React, { useState, useEffect } from 'react';
5
6
  import { jsxs, jsx } from 'react/jsx-runtime';
6
7
 
@@ -78,17 +79,7 @@ function getInitials(name, fallback) {
78
79
  if (name) return getInitialsFromName(name);
79
80
  return "";
80
81
  }
81
- var DefaultUserIcon = () => /* @__PURE__ */ jsx(
82
- "svg",
83
- {
84
- className: "size-[60%] text-text-secondary",
85
- fill: "currentColor",
86
- viewBox: "0 0 24 24",
87
- role: "img",
88
- "aria-hidden": "true",
89
- children: /* @__PURE__ */ jsx("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })
90
- }
91
- );
82
+ var DefaultUserIcon = () => /* @__PURE__ */ jsx(User, { className: "size-[60%] text-text-secondary", "aria-hidden": "true" });
92
83
  var Avatar = React.memo(
93
84
  ({
94
85
  src,
@@ -286,5 +277,5 @@ AvatarGroup.displayName = "AvatarGroup";
286
277
  var avatar_default = Avatar;
287
278
 
288
279
  export { Avatar, AvatarGroup, avatar_default };
289
- //# sourceMappingURL=chunk-HSMO2BR4.js.map
290
- //# sourceMappingURL=chunk-HSMO2BR4.js.map
280
+ //# sourceMappingURL=chunk-VNB7ZHCZ.js.map
281
+ //# sourceMappingURL=chunk-VNB7ZHCZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/avatar/index.tsx"],"names":[],"mappings":"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","file":"chunk-VNB7ZHCZ.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { User } from \"lucide-react\";\nimport React, { useState, useEffect } from \"react\";\n\nimport { cn } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type { AvatarGroupProps, AvatarProps, AvatarSize } from \"./types\";\n\nconst avatarVariants = cva(\n \"relative inline-flex items-center justify-center font-medium select-none shrink-0 bg-slot-10 text-slot\",\n {\n variants: {\n size: {\n xs: \"size-6 text-xs\",\n sm: \"size-8 text-sm\",\n md: \"size-10 text-base\",\n lg: \"size-12 text-lg\",\n },\n shape: {\n circle: \"rounded-full\",\n square: \"rounded-lg\",\n },\n color: colorVars,\n bordered: {\n true: \"ring-2 ring-background\",\n false: \"\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n shape: \"circle\",\n color: \"default\",\n bordered: false,\n disabled: false,\n },\n },\n);\n\nconst statusSizeClasses: Record<AvatarSize, string> = {\n xs: \"size-1.5\",\n sm: \"size-2\",\n md: \"size-2.5\",\n lg: \"size-3\",\n};\n\nconst statusColorClasses = {\n online: \"bg-success\",\n offline: \"bg-border\",\n away: \"bg-warning\",\n busy: \"bg-error\",\n};\n\nconst badgeSizeClasses: Record<AvatarSize, string> = {\n xs: \"min-w-3 h-3 text-[8px]\",\n sm: \"min-w-4 h-4 text-[10px]\",\n md: \"min-w-5 h-5 text-xs\",\n lg: \"min-w-6 h-6 text-xs\",\n};\n\nconst overlapClasses: Record<AvatarSize, string> = {\n xs: \"-space-x-1\",\n sm: \"-space-x-1.5\",\n md: \"-space-x-2\",\n lg: \"-space-x-2.5\",\n};\n\nfunction getInitialsFromName(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean);\n if (words.length === 0) return \"\";\n\n const firstWord = words[0];\n if (words.length === 1 && firstWord) {\n return firstWord.slice(0, 2).toUpperCase();\n }\n\n const lastWord = words[words.length - 1];\n const firstInitial = firstWord?.[0] ?? \"\";\n const lastInitial = lastWord?.[0] ?? \"\";\n return (firstInitial + lastInitial).toUpperCase();\n}\n\nfunction getInitials(name: string | undefined, fallback: string | undefined): string {\n if (fallback) return fallback.slice(0, 2).toUpperCase();\n if (name) return getInitialsFromName(name);\n return \"\";\n}\n\nconst DefaultUserIcon = () => (\n <User className=\"size-[60%] text-text-secondary\" aria-hidden=\"true\" />\n);\n\nconst Avatar = React.memo<AvatarProps>(\n ({\n src,\n alt = \"\",\n fallback,\n name,\n size = \"md\",\n shape = \"circle\",\n status,\n color = \"default\",\n bordered = false,\n icon,\n badge,\n disabled = false,\n className,\n classNames,\n onError,\n ref,\n ...props\n }) => {\n const [imageError, setImageError] = useState(false);\n\n useEffect(() => {\n setImageError(false);\n }, [src]);\n\n const handleImageError = (e: React.SyntheticEvent<HTMLImageElement>) => {\n setImageError(true);\n onError?.(e);\n };\n\n const showImage = src && !imageError;\n const initials = getInitials(name, fallback);\n const showFallback = !showImage && (initials || icon);\n const showDefaultIcon = !showImage && !showFallback;\n\n return (\n <div\n ref={ref}\n className={cn(\n \"avatar_root\",\n avatarVariants({\n size,\n shape,\n color: showImage ? \"default\" : color,\n bordered,\n disabled,\n }),\n !badge && !status && \"overflow-hidden\",\n classNames?.root,\n className,\n )}\n aria-disabled={disabled || undefined}\n data-slot=\"root\"\n {...props}\n >\n {showImage && (\n <img\n src={src}\n alt={alt || name || \"User avatar\"}\n onError={handleImageError}\n className={cn(\n \"avatar_image\",\n \"size-full object-cover\",\n shape === \"circle\" ? \"rounded-full\" : \"rounded-lg\",\n classNames?.image,\n )}\n loading=\"lazy\"\n data-slot=\"image\"\n />\n )}\n\n {showFallback &&\n (icon ? (\n <span\n className={cn(\n \"avatar_fallback\",\n \"flex items-center justify-center size-[60%]\",\n classNames?.fallback,\n )}\n data-slot=\"fallback\"\n >\n {icon}\n </span>\n ) : (\n <span\n className={cn(\"avatar_fallback\", classNames?.fallback)}\n aria-label={`Avatar for ${name || initials}`}\n data-slot=\"fallback\"\n >\n {initials}\n </span>\n ))}\n\n {showDefaultIcon && <DefaultUserIcon />}\n\n {status && (\n <span\n className={cn(\n \"avatar_status\",\n \"absolute bottom-0 right-0 rounded-full ring-2 ring-background\",\n statusSizeClasses[size],\n statusColorClasses[status],\n classNames?.status,\n )}\n aria-label={`Status: ${status}`}\n data-slot=\"status\"\n />\n )}\n\n {badge && (\n <span\n className={cn(\n \"absolute -top-1 -right-1 flex items-center justify-center rounded-full bg-error text-background font-medium px-1\",\n badgeSizeClasses[size],\n )}\n aria-label={typeof badge === \"number\" ? `${badge} notifications` : undefined}\n role={typeof badge === \"number\" ? \"status\" : undefined}\n >\n {badge}\n </span>\n )}\n </div>\n );\n },\n);\n\nAvatar.displayName = \"Avatar\";\n\nconst AvatarGroup = React.memo<AvatarGroupProps>(\n ({\n children,\n max,\n size = \"md\",\n shape = \"circle\",\n showTotal = false,\n renderSurplus,\n bordered = false,\n className,\n classNames,\n ref,\n ...props\n }) => {\n const childrenArray = React.Children.toArray(children);\n const total = childrenArray.length;\n const visibleChildren = max ? childrenArray.slice(0, max) : childrenArray;\n const remainingCount = max && total > max ? total - max : 0;\n const surplusDisplay = showTotal ? total : remainingCount;\n\n return (\n <div\n ref={ref}\n className={cn(\n \"avatarGroup_root\",\n \"flex items-center\",\n overlapClasses[size],\n classNames?.root,\n className,\n )}\n role=\"group\"\n aria-label={`Avatar group with ${total} members`}\n data-slot=\"root\"\n {...props}\n >\n {visibleChildren.map((child, index) => {\n if (React.isValidElement<AvatarProps>(child)) {\n return React.cloneElement(child, {\n key: child.key ?? index,\n size: child.props.size ?? size,\n shape: child.props.shape ?? shape,\n bordered: child.props.bordered ?? bordered ?? true,\n className: cn(child.props.className),\n });\n }\n return child;\n })}\n\n {remainingCount > 0 &&\n (renderSurplus ? (\n renderSurplus(surplusDisplay)\n ) : (\n <div\n className={cn(\n \"avatarGroup_overflow\",\n avatarVariants({\n size,\n shape,\n color: \"default\",\n bordered: true,\n }),\n \"bg-surface/80 backdrop-blur-sm overflow-hidden\",\n classNames?.overflow,\n )}\n aria-label={\n showTotal\n ? `${total} total members`\n : `${remainingCount} more members`\n }\n data-slot=\"overflow\"\n >\n <span className=\"text-text-secondary font-medium\">\n {showTotal ? total : `+${remainingCount}`}\n </span>\n </div>\n ))}\n </div>\n );\n },\n);\n\nAvatarGroup.displayName = \"AvatarGroup\";\n\nexport type * from \"./types\";\nexport { Avatar, AvatarGroup };\nexport default Avatar;\n"]}
@@ -1,4 +1,4 @@
1
- import { useControllable } from './chunk-PQOIW5CM.js';
1
+ import { useControllable } from './chunk-CB7YOZWV.js';
2
2
  import { cn } from './chunk-RAS6HUEI.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import React, { useState, useId, useCallback } from 'react';
@@ -250,5 +250,5 @@ Rating.displayName = "Rating";
250
250
  var rating_default = Rating;
251
251
 
252
252
  export { rating_default };
253
- //# sourceMappingURL=chunk-TQEMGWZ2.js.map
254
- //# sourceMappingURL=chunk-TQEMGWZ2.js.map
253
+ //# sourceMappingURL=chunk-W4RYNHAG.js.map
254
+ //# sourceMappingURL=chunk-W4RYNHAG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/rating/index.tsx"],"names":[],"mappings":"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","file":"chunk-TQEMGWZ2.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useState, useCallback, useId } from 'react'\nimport { useControllable } from '../hooks/useControllable'\n\nimport { Star } from 'lucide-react'\n\nimport { cn } from '../utils'\nimport type { RatingProps } from './types'\n\nconst ratingVariants = cva('inline-flex items-center gap-1', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst starSizes = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n}\n\n/**\n * Color mappings for Tailwind JIT compatibility\n */\nconst fillColorClasses: Record<string, string> = {\n default: 'fill-border',\n primary: 'fill-primary',\n secondary: 'fill-secondary',\n accent: 'fill-accent',\n success: 'fill-success',\n error: 'fill-error',\n warning: 'fill-warning',\n info: 'fill-info',\n}\n\nconst strokeColorClasses: Record<string, string> = {\n default: 'stroke-border',\n primary: 'stroke-primary',\n secondary: 'stroke-secondary',\n accent: 'stroke-accent',\n success: 'stroke-success',\n error: 'stroke-error',\n warning: 'stroke-warning',\n info: 'stroke-info',\n}\n\nconst getStarClasses = (\n color: string,\n variant: string,\n isFilled: boolean,\n isHovered: boolean,\n) => {\n const state = isFilled || isHovered ? 'filled' : 'empty'\n const strokeClass = strokeColorClasses[color] || strokeColorClasses.default\n const fillClass = fillColorClasses[color] || fillColorClasses.default\n\n if (state === 'empty') {\n if (variant === 'solid') {\n if (color === 'default') return 'fill-transparent stroke-border'\n return `fill-transparent ${strokeClass} opacity-20`\n }\n if (variant === 'soft') {\n if (color === 'default') return 'fill-transparent stroke-border/50'\n return `fill-transparent ${strokeClass} opacity-20`\n }\n if (color === 'default') return 'fill-transparent stroke-border'\n return `fill-transparent ${strokeClass} opacity-20`\n }\n\n // filled state\n if (variant === 'solid') {\n if (color === 'default') return 'fill-border stroke-border'\n return `${fillClass} ${strokeClass}`\n }\n if (variant === 'soft') {\n if (color === 'default') return 'fill-border/50 stroke-border'\n return `${fillClass} opacity-20 ${strokeClass}`\n }\n if (color === 'default') return 'fill-border stroke-border'\n return `${fillClass} ${strokeClass}`\n}\n\nconst Rating = React.memo<RatingProps>(\n ({\n value: controlledValue,\n defaultValue = 0,\n count = 5,\n allowHalf = false,\n color = 'warning',\n size = 'md',\n variant = 'solid',\n onChange,\n disabled = false,\n readOnly = false,\n className,\n classNames,\n 'aria-label': ariaLabel,\n }) => {\n const [currentValue, setCurrentValue] = useControllable({ value: controlledValue, defaultValue, onChange })\n const [hoverValue, setHoverValue] = useState<number | null>(null)\n const uniqueId = useId()\n\n const displayValue = hoverValue !== null ? hoverValue : (currentValue ?? 0)\n const isInteractive = !disabled && !readOnly\n\n const updateValue = useCallback(\n (newValue: number) => {\n if (!isInteractive) return\n setCurrentValue(newValue)\n },\n [isInteractive, setCurrentValue],\n )\n\n const handleStarClick = useCallback(\n (index: number, isHalf: boolean) => {\n if (!isInteractive) return\n const newValue = isHalf ? index + 0.5 : index + 1\n updateValue(newValue)\n },\n [isInteractive, updateValue],\n )\n\n const handleStarHover = useCallback(\n (index: number, isHalf: boolean) => {\n if (!isInteractive) return\n const newValue = isHalf ? index + 0.5 : index + 1\n setHoverValue(newValue)\n },\n [isInteractive],\n )\n\n const handleMouseLeave = useCallback(() => {\n setHoverValue(null)\n }, [])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (!isInteractive) return\n\n const step = allowHalf ? 0.5 : 1\n let newValue = currentValue ?? 0\n\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n e.preventDefault()\n newValue = Math.min((currentValue ?? 0) + step, count)\n break\n case 'ArrowLeft':\n case 'ArrowDown':\n e.preventDefault()\n newValue = Math.max((currentValue ?? 0) - step, 0)\n break\n case 'Home':\n e.preventDefault()\n newValue = 0\n break\n case 'End':\n e.preventDefault()\n newValue = count\n break\n default:\n return\n }\n\n updateValue(newValue)\n },\n [isInteractive, currentValue, count, allowHalf, updateValue],\n )\n\n const getStarFill = useCallback((index: number) => {\n const fillValue = displayValue - index\n if (fillValue >= 1) return 'full'\n if (fillValue > 0 && fillValue < 1) return 'half'\n return 'empty'\n }, [displayValue])\n\n return (\n <div data-slot=\"root\" className={cn(ratingVariants({ size }), 'rating_root', classNames?.root, className)}>\n <div\n id={`rating-${uniqueId}`}\n role=\"radiogroup\"\n aria-label={ariaLabel || 'Rating'}\n tabIndex={isInteractive ? 0 : -1}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n className={cn(\n 'inline-flex items-center gap-0.5 outline-none',\n 'rating_label',\n classNames?.label,\n isInteractive && 'focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded',\n )}\n >\n {Array.from({ length: count }, (_, index) => {\n const fillType = getStarFill(index)\n const isHovered =\n hoverValue !== null && index < Math.ceil(hoverValue)\n\n const starValue = index + 1\n const isChecked = fillType !== 'empty'\n\n return (\n <div\n key={index}\n role=\"radio\"\n aria-checked={isChecked}\n aria-label={`${starValue} ${starValue === 1 ? 'star' : 'stars'}`}\n className={cn(\n 'relative inline-flex',\n isInteractive && 'cursor-pointer',\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n {/* Left half */}\n {allowHalf && (\n <div\n className=\"absolute inset-0 w-1/2 z-10\"\n onClick={() => handleStarClick(index, true)}\n onMouseEnter={() => handleStarHover(index, true)}\n />\n )}\n {/* Right half or full star */}\n <div\n className={cn(\n 'absolute inset-0 z-10',\n allowHalf ? 'left-1/2' : 'left-0',\n )}\n onClick={() => handleStarClick(index, false)}\n onMouseEnter={() => handleStarHover(index, false)}\n />\n\n {/* Background star (empty) */}\n <Star\n width={starSizes[size]}\n height={starSizes[size]}\n className={cn(\n getStarClasses(color, variant, false, false),\n 'transition-colors',\n 'rating_star',\n classNames?.star,\n )}\n aria-hidden=\"true\"\n />\n\n {/* Foreground star (filled) */}\n {fillType !== 'empty' && (\n <Star\n width={starSizes[size]}\n height={starSizes[size]}\n className={cn(\n 'absolute top-0 left-0 transition-colors',\n getStarClasses(color, variant, true, isHovered),\n 'rating_starFilled',\n classNames?.starFilled,\n )}\n style={{\n clipPath:\n fillType === 'half'\n ? 'polygon(0 0, 50% 0, 50% 100%, 0 100%)'\n : 'none',\n }}\n aria-hidden=\"true\"\n />\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n)\n\nRating.displayName = 'Rating'\n\nexport type * from './types'\nexport default Rating\n"]}
1
+ {"version":3,"sources":["../src/rating/index.tsx"],"names":[],"mappings":"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","file":"chunk-W4RYNHAG.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useState, useCallback, useId } from 'react'\nimport { useControllable } from '../hooks/useControllable'\n\nimport { Star } from 'lucide-react'\n\nimport { cn } from '../utils'\nimport type { RatingProps } from './types'\n\nconst ratingVariants = cva('inline-flex items-center gap-1', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst starSizes = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n}\n\n/**\n * Color mappings for Tailwind JIT compatibility\n */\nconst fillColorClasses: Record<string, string> = {\n default: 'fill-border',\n primary: 'fill-primary',\n secondary: 'fill-secondary',\n accent: 'fill-accent',\n success: 'fill-success',\n error: 'fill-error',\n warning: 'fill-warning',\n info: 'fill-info',\n}\n\nconst strokeColorClasses: Record<string, string> = {\n default: 'stroke-border',\n primary: 'stroke-primary',\n secondary: 'stroke-secondary',\n accent: 'stroke-accent',\n success: 'stroke-success',\n error: 'stroke-error',\n warning: 'stroke-warning',\n info: 'stroke-info',\n}\n\nconst getStarClasses = (\n color: string,\n variant: string,\n isFilled: boolean,\n isHovered: boolean,\n) => {\n const state = isFilled || isHovered ? 'filled' : 'empty'\n const strokeClass = strokeColorClasses[color] || strokeColorClasses.default\n const fillClass = fillColorClasses[color] || fillColorClasses.default\n\n if (state === 'empty') {\n if (variant === 'solid') {\n if (color === 'default') return 'fill-transparent stroke-border'\n return `fill-transparent ${strokeClass} opacity-20`\n }\n if (variant === 'soft') {\n if (color === 'default') return 'fill-transparent stroke-border/50'\n return `fill-transparent ${strokeClass} opacity-20`\n }\n if (color === 'default') return 'fill-transparent stroke-border'\n return `fill-transparent ${strokeClass} opacity-20`\n }\n\n // filled state\n if (variant === 'solid') {\n if (color === 'default') return 'fill-border stroke-border'\n return `${fillClass} ${strokeClass}`\n }\n if (variant === 'soft') {\n if (color === 'default') return 'fill-border/50 stroke-border'\n return `${fillClass} opacity-20 ${strokeClass}`\n }\n if (color === 'default') return 'fill-border stroke-border'\n return `${fillClass} ${strokeClass}`\n}\n\nconst Rating = React.memo<RatingProps>(\n ({\n value: controlledValue,\n defaultValue = 0,\n count = 5,\n allowHalf = false,\n color = 'warning',\n size = 'md',\n variant = 'solid',\n onChange,\n disabled = false,\n readOnly = false,\n className,\n classNames,\n 'aria-label': ariaLabel,\n }) => {\n const [currentValue, setCurrentValue] = useControllable({ value: controlledValue, defaultValue, onChange })\n const [hoverValue, setHoverValue] = useState<number | null>(null)\n const uniqueId = useId()\n\n const displayValue = hoverValue !== null ? hoverValue : (currentValue ?? 0)\n const isInteractive = !disabled && !readOnly\n\n const updateValue = useCallback(\n (newValue: number) => {\n if (!isInteractive) return\n setCurrentValue(newValue)\n },\n [isInteractive, setCurrentValue],\n )\n\n const handleStarClick = useCallback(\n (index: number, isHalf: boolean) => {\n if (!isInteractive) return\n const newValue = isHalf ? index + 0.5 : index + 1\n updateValue(newValue)\n },\n [isInteractive, updateValue],\n )\n\n const handleStarHover = useCallback(\n (index: number, isHalf: boolean) => {\n if (!isInteractive) return\n const newValue = isHalf ? index + 0.5 : index + 1\n setHoverValue(newValue)\n },\n [isInteractive],\n )\n\n const handleMouseLeave = useCallback(() => {\n setHoverValue(null)\n }, [])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (!isInteractive) return\n\n const step = allowHalf ? 0.5 : 1\n let newValue = currentValue ?? 0\n\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n e.preventDefault()\n newValue = Math.min((currentValue ?? 0) + step, count)\n break\n case 'ArrowLeft':\n case 'ArrowDown':\n e.preventDefault()\n newValue = Math.max((currentValue ?? 0) - step, 0)\n break\n case 'Home':\n e.preventDefault()\n newValue = 0\n break\n case 'End':\n e.preventDefault()\n newValue = count\n break\n default:\n return\n }\n\n updateValue(newValue)\n },\n [isInteractive, currentValue, count, allowHalf, updateValue],\n )\n\n const getStarFill = useCallback((index: number) => {\n const fillValue = displayValue - index\n if (fillValue >= 1) return 'full'\n if (fillValue > 0 && fillValue < 1) return 'half'\n return 'empty'\n }, [displayValue])\n\n return (\n <div data-slot=\"root\" className={cn(ratingVariants({ size }), 'rating_root', classNames?.root, className)}>\n <div\n id={`rating-${uniqueId}`}\n role=\"radiogroup\"\n aria-label={ariaLabel || 'Rating'}\n tabIndex={isInteractive ? 0 : -1}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n className={cn(\n 'inline-flex items-center gap-0.5 outline-none',\n 'rating_label',\n classNames?.label,\n isInteractive && 'focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded',\n )}\n >\n {Array.from({ length: count }, (_, index) => {\n const fillType = getStarFill(index)\n const isHovered =\n hoverValue !== null && index < Math.ceil(hoverValue)\n\n const starValue = index + 1\n const isChecked = fillType !== 'empty'\n\n return (\n <div\n key={index}\n role=\"radio\"\n aria-checked={isChecked}\n aria-label={`${starValue} ${starValue === 1 ? 'star' : 'stars'}`}\n className={cn(\n 'relative inline-flex',\n isInteractive && 'cursor-pointer',\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n {/* Left half */}\n {allowHalf && (\n <div\n className=\"absolute inset-0 w-1/2 z-10\"\n onClick={() => handleStarClick(index, true)}\n onMouseEnter={() => handleStarHover(index, true)}\n />\n )}\n {/* Right half or full star */}\n <div\n className={cn(\n 'absolute inset-0 z-10',\n allowHalf ? 'left-1/2' : 'left-0',\n )}\n onClick={() => handleStarClick(index, false)}\n onMouseEnter={() => handleStarHover(index, false)}\n />\n\n {/* Background star (empty) */}\n <Star\n width={starSizes[size]}\n height={starSizes[size]}\n className={cn(\n getStarClasses(color, variant, false, false),\n 'transition-colors',\n 'rating_star',\n classNames?.star,\n )}\n aria-hidden=\"true\"\n />\n\n {/* Foreground star (filled) */}\n {fillType !== 'empty' && (\n <Star\n width={starSizes[size]}\n height={starSizes[size]}\n className={cn(\n 'absolute top-0 left-0 transition-colors',\n getStarClasses(color, variant, true, isHovered),\n 'rating_starFilled',\n classNames?.starFilled,\n )}\n style={{\n clipPath:\n fillType === 'half'\n ? 'polygon(0 0, 50% 0, 50% 100%, 0 100%)'\n : 'none',\n }}\n aria-hidden=\"true\"\n />\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n },\n)\n\nRating.displayName = 'Rating'\n\nexport type * from './types'\nexport default Rating\n"]}
@@ -7,7 +7,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
7
7
  var tableVariants = cva("w-full border-separate border-spacing-0", {
8
8
  variants: {
9
9
  bordered: {
10
- true: "border border-border",
10
+ true: "border",
11
11
  false: ""
12
12
  },
13
13
  rounded: {
@@ -66,8 +66,8 @@ var valueVariantStyles = {
66
66
  soft: "bg-slot-10"
67
67
  };
68
68
  var borderVariantStyles = {
69
- default: "border-border",
70
- solid: "border-border",
69
+ default: "border-slot-30",
70
+ solid: "border-slot-50",
71
71
  soft: "border-slot-20"
72
72
  };
73
73
  var Descriptions = React.memo(
@@ -353,5 +353,5 @@ Descriptions.displayName = "Descriptions";
353
353
  var descriptions_default = Descriptions;
354
354
 
355
355
  export { descriptions_default };
356
- //# sourceMappingURL=chunk-PRDJLQLB.js.map
357
- //# sourceMappingURL=chunk-PRDJLQLB.js.map
356
+ //# sourceMappingURL=chunk-XNV3YAJK.js.map
357
+ //# sourceMappingURL=chunk-XNV3YAJK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/descriptions/index.tsx"],"names":[],"mappings":"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","file":"chunk-XNV3YAJK.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { colorVars } from '../variants'\nimport type { DescriptionsItem, DescriptionsProps, DescriptionsVariant } from './types'\n\nconst tableVariants = cva('w-full border-separate border-spacing-0', {\n variants: {\n bordered: {\n true: 'border',\n false: '',\n },\n rounded: {\n true: 'rounded-lg',\n false: '',\n },\n },\n compoundVariants: [\n { bordered: true, rounded: true, class: 'overflow-hidden' },\n ],\n defaultVariants: {\n bordered: true,\n rounded: true,\n },\n})\n\nconst labelCellVariants = cva(\n 'font-semibold border-b border-r',\n {\n variants: {\n size: {\n xs: 'py-1 px-2 text-[10px]',\n sm: 'py-2 px-3 text-xs',\n md: 'py-3 px-4 text-sm',\n lg: 'py-4 px-5 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst valueCellVariants = cva(\n 'text-text-primary border-b border-r',\n {\n variants: {\n size: {\n xs: 'py-1 px-2 text-[10px]',\n sm: 'py-2 px-3 text-xs',\n md: 'py-3 px-4 text-sm',\n lg: 'py-4 px-5 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\n// Slot-based variant styles — colorVars[color] on root sets --_c\nconst labelVariantStyles: Record<DescriptionsVariant, string> = {\n default: 'bg-slot-10 text-text-primary',\n solid: 'bg-slot text-slot-fg',\n soft: 'bg-slot-10 text-slot',\n}\n\nconst valueVariantStyles: Record<DescriptionsVariant, string> = {\n default: 'bg-background',\n solid: 'bg-background',\n soft: 'bg-slot-10',\n}\n\nconst borderVariantStyles: Record<DescriptionsVariant, string> = {\n default: 'border-slot-30',\n solid: 'border-slot-50',\n soft: 'border-slot-20',\n}\n\nconst Descriptions = React.memo<DescriptionsProps>(\n ({\n items,\n column = 3,\n color = 'default',\n size = 'md',\n variant = 'default',\n layout = 'horizontal',\n bordered = true,\n rounded = true,\n className,\n classNames,\n title,\n extra,\n ref,\n ...props\n }) => {\n const labelColors = labelVariantStyles[variant]\n const valueColors = valueVariantStyles[variant]\n const borderColors = borderVariantStyles[variant]\n\n // Split items into rows based on column count and span\n const rows: DescriptionsItem[][] = []\n let currentRow: DescriptionsItem[] = []\n let currentSpan = 0\n\n items.forEach((item) => {\n const itemSpan = item.span || 1\n\n if (currentSpan + itemSpan > column) {\n rows.push(currentRow)\n currentRow = [item]\n currentSpan = itemSpan\n } else {\n currentRow.push(item)\n currentSpan += itemSpan\n }\n })\n\n if (currentRow.length > 0) {\n rows.push(currentRow)\n }\n\n if (layout === 'vertical') {\n const tableContent = (\n <table\n className={cn(tableVariants({ bordered, rounded }), bordered && borderColors)}\n role=\"presentation\"\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which items reach the right edge\n let colPosition = 0\n const itemsAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span\n return colPosition >= column\n })\n\n return (\n <React.Fragment key={rowIndex}>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <th\n key={`${item.key}-label`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n ))}\n </tr>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <td\n key={`${item.key}-value`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n ))}\n </tr>\n </React.Fragment>\n )\n })}\n </tbody>\n </table>\n )\n\n if (title || extra) {\n return (\n <div ref={ref} className={cn('descriptions_root', colorVars[color], classNames?.root, className)} data-slot=\"root\" {...props}>\n <div className={cn('descriptions_title', 'flex items-center justify-between mb-3', classNames?.title)} data-slot=\"title\">\n {title && <div className=\"text-base font-semibold text-text-primary\">{title}</div>}\n {extra && <div className={cn('descriptions_extra', classNames?.extra)} data-slot=\"extra\">{extra}</div>}\n </div>\n {tableContent}\n </div>\n )\n }\n\n return (\n <table\n ref={ref as React.Ref<HTMLTableElement>}\n className={cn('descriptions_root', colorVars[color], tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className)}\n data-slot=\"root\"\n role=\"presentation\"\n {...props}\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which items reach the right edge\n let colPosition = 0\n const itemsAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span\n return colPosition >= column\n })\n\n return (\n <React.Fragment key={rowIndex}>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <th\n key={`${item.key}-label`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n ))}\n </tr>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <td\n key={`${item.key}-value`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n ))}\n </tr>\n </React.Fragment>\n )\n })}\n </tbody>\n </table>\n )\n }\n\n // Horizontal layout\n const horizontalTableContent = (\n <table\n className={cn(tableVariants({ bordered, rounded }), bordered && borderColors)}\n role=\"presentation\"\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which value cells reach the right edge\n let colPosition = 0\n const valueAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span * 2 // Each item takes label + value columns\n return colPosition >= column * 2\n })\n\n return (\n <tr key={rowIndex} className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => {\n const itemSpan = item.span || 1\n const valueColSpan = itemSpan * 2 - 1\n\n return (\n <React.Fragment key={item.key}>\n <th\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n isLastRow && 'border-b-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n <td\n colSpan={valueColSpan}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n valueAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )\n\n if (title || extra) {\n return (\n <div ref={ref} className={cn('descriptions_root', colorVars[color], classNames?.root, className)} data-slot=\"root\" {...props}>\n <div className={cn('descriptions_title', 'flex items-center justify-between mb-3', classNames?.title)} data-slot=\"title\">\n {title && <div className=\"text-base font-semibold text-text-primary\">{title}</div>}\n {extra && <div className={cn('descriptions_extra', classNames?.extra)} data-slot=\"extra\">{extra}</div>}\n </div>\n {horizontalTableContent}\n </div>\n )\n }\n\n return (\n <table\n ref={ref as React.Ref<HTMLTableElement>}\n className={cn('descriptions_root', colorVars[color], tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className)}\n data-slot=\"root\"\n role=\"presentation\"\n {...props}\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which value cells reach the right edge\n let colPosition = 0\n const valueAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span * 2 // Each item takes label + value columns\n return colPosition >= column * 2\n })\n\n return (\n <tr key={rowIndex} className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => {\n const itemSpan = item.span || 1\n const valueColSpan = itemSpan * 2 - 1\n\n return (\n <React.Fragment key={item.key}>\n <th\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n isLastRow && 'border-b-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n <td\n colSpan={valueColSpan}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n valueAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )\n },\n)\n\nDescriptions.displayName = 'Descriptions'\n\nexport type * from './types'\nexport default Descriptions\n"]}
@@ -1,4 +1,4 @@
1
- import { useRipple, RippleContainer } from './chunk-4TEZWGX7.js';
1
+ import { useRipple, RippleContainer } from './chunk-64OCJYSH.js';
2
2
  import { colorVars } from './chunk-G6QIIWKU.js';
3
3
  import { cn } from './chunk-RAS6HUEI.js';
4
4
  import { cva } from 'class-variance-authority';
@@ -8,15 +8,15 @@ import { jsxs, jsx } from 'react/jsx-runtime';
8
8
  var getToggleClasses = (color, variant, isActive) => {
9
9
  const baseColor = colorVars[color] || colorVars.default;
10
10
  if (!isActive) {
11
- return cn(baseColor, "text-text-secondary hover:text-slot hover:bg-slot-10");
11
+ return cn(baseColor, "border-border text-text-secondary hover:text-slot hover:bg-slot-10 hover:border-slot-30");
12
12
  }
13
13
  if (variant === "solid") {
14
- return cn(baseColor, "bg-slot text-slot-fg");
14
+ return cn(baseColor, "bg-slot border-slot text-slot-fg");
15
15
  }
16
16
  if (variant === "soft") {
17
- return cn(baseColor, "bg-slot-20 text-slot");
17
+ return cn(baseColor, "bg-slot-10 border-slot-30 text-slot");
18
18
  }
19
- return cn(baseColor, "border-slot bg-slot-10 text-slot");
19
+ return cn(baseColor, "bg-slot-10 border-slot text-slot");
20
20
  };
21
21
  var singleToggleVariants = cva(
22
22
  "inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
@@ -95,5 +95,5 @@ Toggle.displayName = "Toggle";
95
95
  var toggle_default = Toggle;
96
96
 
97
97
  export { toggle_default };
98
- //# sourceMappingURL=chunk-I7HJBHQU.js.map
99
- //# sourceMappingURL=chunk-I7HJBHQU.js.map
98
+ //# sourceMappingURL=chunk-Y3PVWMUN.js.map
99
+ //# sourceMappingURL=chunk-Y3PVWMUN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/toggle/index.tsx"],"names":[],"mappings":"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","file":"chunk-Y3PVWMUN.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useState } from 'react'\n\nimport { useRipple, RippleContainer } from '../hooks/useRipple'\nimport { cn } from '../utils'\nimport { colorVars } from '../variants'\nimport type { SingleToggleProps } from './types'\n\nconst getToggleClasses = (\n color: string,\n variant: string,\n isActive: boolean,\n) => {\n const baseColor = colorVars[color as keyof typeof colorVars] || colorVars.default\n\n if (!isActive) {\n return cn(baseColor, 'border-border text-text-secondary hover:text-slot hover:bg-slot-10 hover:border-slot-30')\n }\n\n if (variant === 'solid') {\n return cn(baseColor, 'bg-slot border-slot text-slot-fg')\n }\n if (variant === 'soft') {\n return cn(baseColor, 'bg-slot-10 border-slot-30 text-slot')\n }\n // default variant\n return cn(baseColor, 'bg-slot-10 border-slot text-slot')\n}\n\nconst singleToggleVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background',\n {\n variants: {\n size: {\n xs: 'text-xs px-2 py-1',\n sm: 'text-sm px-3 py-1.5',\n md: 'text-base px-4 py-2',\n lg: 'text-lg px-5 py-2.5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst Toggle = React.memo<SingleToggleProps>(\n ({\n pressed: controlledPressed,\n defaultPressed = false,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n icon,\n children,\n 'aria-label': ariaLabel,\n className,\n classNames,\n ref,\n }) => {\n const [internalPressed, setInternalPressed] = useState(defaultPressed)\n const { ripples, onPointerDown: ripplePointerDown, onKeyDown: rippleKeyDown, onAnimationEnd: rippleAnimationEnd } = useRipple(!disabled)\n\n const pressed =\n controlledPressed !== undefined ? controlledPressed : internalPressed\n\n const handleClick = () => {\n if (disabled) return\n\n const newPressed = !pressed\n if (controlledPressed === undefined) {\n setInternalPressed(newPressed)\n }\n onChange?.(newPressed)\n }\n\n return (\n <button\n data-slot=\"root\"\n ref={ref}\n type=\"button\"\n className={cn(\n 'toggle_root',\n singleToggleVariants({ size }),\n getToggleClasses(color, variant, pressed),\n 'border relative overflow-hidden',\n disabled && 'opacity-50 cursor-not-allowed',\n classNames?.root,\n className,\n )}\n onClick={handleClick}\n onPointerDown={ripplePointerDown}\n onKeyDown={rippleKeyDown}\n disabled={disabled}\n aria-pressed={pressed}\n aria-label={ariaLabel}\n >\n {icon}\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={rippleAnimationEnd} />\n </button>\n )\n },\n)\n\nToggle.displayName = 'Toggle'\n\nexport type * from './types'\nexport default Toggle\n"]}
@@ -1,5 +1,5 @@
1
- export { clipboard_default as default } from '../chunk-J2WIZULN.js';
2
- import '../chunk-4TEZWGX7.js';
1
+ export { clipboard_default as default } from '../chunk-FCIK35OY.js';
2
+ import '../chunk-64OCJYSH.js';
3
3
  import '../chunk-G6QIIWKU.js';
4
4
  import '../chunk-RAS6HUEI.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export { collapse_default as default } from '../chunk-OJAHIPPP.js';
2
- import '../chunk-PQOIW5CM.js';
1
+ export { collapse_default as default } from '../chunk-HGWD63IR.js';
2
+ import '../chunk-CB7YOZWV.js';
3
3
  import '../chunk-G6QIIWKU.js';
4
4
  import '../chunk-RAS6HUEI.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- import React from 'react';
2
- import type { ColorPickerProps, ColorInputProps } from './types';
1
+ import React from "react";
2
+ import type { ColorPickerProps, ColorInputProps } from "./types";
3
3
  declare const ColorPicker: React.NamedExoticComponent<ColorPickerProps>;
4
4
  declare const ColorInput: React.NamedExoticComponent<ColorInputProps>;
5
- export type * from './types';
5
+ export type * from "./types";
6
6
  export { ColorPicker, ColorInput };
7
7
  export default ColorPicker;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/color-picker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAoKhE,QAAA,MAAM,WAAW,8CAwIhB,CAAA;AAKD,QAAA,MAAM,UAAU,6CA8Df,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AAClC,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/color-picker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA2PjE,QAAA,MAAM,WAAW,8CA+KhB,CAAC;AAKF,QAAA,MAAM,UAAU,6CAuEf,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,eAAe,WAAW,CAAC"}
@@ -1,5 +1,6 @@
1
- export { ColorInput, ColorPicker, color_picker_default as default } from '../chunk-UFYG3HKL.js';
2
- import '../chunk-ROQGBDET.js';
1
+ export { ColorInput, ColorPicker, color_picker_default as default } from '../chunk-6K6RGQNL.js';
2
+ import '../chunk-CB7YOZWV.js';
3
+ import '../chunk-6XXAZ6P2.js';
3
4
  import '../chunk-G6QIIWKU.js';
4
5
  import '../chunk-RAS6HUEI.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- import type { ContextMenuContentProps, ContextMenuProps } from './types';
1
+ import React from "react";
2
+ import type { ContextMenuContentProps, ContextMenuProps } from "./types";
2
3
  /**
3
4
  * Context menu content component
4
5
  */
@@ -9,11 +10,8 @@ declare const ContextMenuContent: {
9
10
  /**
10
11
  * ContextMenu component based on Popover
11
12
  */
12
- declare const ContextMenu: {
13
- ({ children, items, className, classNames, disabled, onOpenChange, open: controlledOpen, color, submenuOpenDelay, submenuCloseDelay, }: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
14
- displayName: string;
15
- };
16
- export type * from './types';
13
+ declare const ContextMenu: React.MemoExoticComponent<({ children, items, className, classNames, disabled, onOpenChange, open: controlledOpen, color, submenuOpenDelay, submenuCloseDelay, }: ContextMenuProps) => import("react/jsx-runtime").JSX.Element>;
14
+ export type * from "./types";
17
15
  export { ContextMenu, ContextMenuContent };
18
16
  export default ContextMenu;
19
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context-menu/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAA2B,MAAM,SAAS,CAAC;AAgJlG;;GAEG;AACH,QAAA,MAAM,kBAAkB;oHAWrB,uBAAuB;;CA2IzB,CAAC;AAIF;;GAEG;AACH,QAAA,MAAM,WAAW;4IAWd,gBAAgB;;CAoFlB,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAC3C,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context-menu/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAgLjB;;GAEG;AACH,QAAA,MAAM,kBAAkB;oHAWrB,uBAAuB;;CA4JzB,CAAC;AAIF;;GAEG;AACH,QAAA,MAAM,WAAW,oKAYZ,gBAAgB,6CAgGpB,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAC3C,eAAe,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
- export { ContextMenu, ContextMenuContent, context_menu_default as default } from '../chunk-Z3DIBMBQ.js';
1
+ export { ContextMenu, ContextMenuContent, context_menu_default as default } from '../chunk-3K4GIXFA.js';
2
2
  import '../chunk-NZHKNUGE.js';
3
- import '../chunk-4TEZWGX7.js';
3
+ import '../chunk-64OCJYSH.js';
4
4
  import '../chunk-G6QIIWKU.js';
5
5
  import '../chunk-RAS6HUEI.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import type { DatePickerClassNames } from './types';
1
+ import React from "react";
2
+ import type { DatePickerClassNames } from "./types";
3
3
  interface PickerWrapperProps {
4
4
  label?: string;
5
5
  error?: string;
@@ -7,7 +7,7 @@ interface PickerWrapperProps {
7
7
  info?: string;
8
8
  success?: string;
9
9
  helperText?: string;
10
- messagePosition?: 'top' | 'bottom';
10
+ messagePosition?: "top" | "bottom";
11
11
  required?: boolean;
12
12
  fullWidth?: boolean;
13
13
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"PickerWrapper.d.ts","sourceRoot":"","sources":["../../src/date-picker/PickerWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEnD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAClC;AAED,eAAO,MAAM,aAAa,GAAI,mHAY3B,kBAAkB,4CA4BpB,CAAA"}
1
+ {"version":3,"file":"PickerWrapper.d.ts","sourceRoot":"","sources":["../../src/date-picker/PickerWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,eAAO,MAAM,aAAa,GAAI,mHAY3B,kBAAkB,4CA+DpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/date-picker/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,4CAA4C,CAAA;AAMnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAwLlD,mBAAmB,SAAS,CAAA;AAC5B,eAAO,MAAM,UAAU;;;CAGrB,CAAA;AAEF,OAAO,EAAE,oBAAoB,IAAI,WAAW,EAAE,mBAAmB,IAAI,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/date-picker/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,4CAA4C,CAAA;AAOnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAyLlD,mBAAmB,SAAS,CAAA;AAC5B,eAAO,MAAM,UAAU;;;CAGrB,CAAA;AAEF,OAAO,EAAE,oBAAoB,IAAI,WAAW,EAAE,mBAAmB,IAAI,UAAU,EAAE,CAAA"}
@@ -1,5 +1,6 @@
1
- export { DatePicker, RangePickerComponent as RangePicker, TimePickerComponent as TimePicker } from '../chunk-DBPLQZJ2.js';
2
- import '../chunk-ROQGBDET.js';
1
+ export { DatePicker, RangePickerComponent as RangePicker, TimePickerComponent as TimePicker } from '../chunk-SSISBOLO.js';
2
+ import '../chunk-CB7YOZWV.js';
3
+ import '../chunk-6XXAZ6P2.js';
3
4
  import '../chunk-G6QIIWKU.js';
4
5
  import '../chunk-RAS6HUEI.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { descriptions_default as default } from '../chunk-PRDJLQLB.js';
1
+ export { descriptions_default as default } from '../chunk-XNV3YAJK.js';
2
2
  import '../chunk-G6QIIWKU.js';
3
3
  import '../chunk-RAS6HUEI.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
- export { dropdown_default as default } from '../chunk-6NXZWLSM.js';
1
+ export { dropdown_default as default } from '../chunk-S4BF3Z6O.js';
2
2
  import '../chunk-NZHKNUGE.js';
3
- import '../chunk-4TEZWGX7.js';
4
- import '../chunk-ROQGBDET.js';
3
+ import '../chunk-64OCJYSH.js';
4
+ import '../chunk-6XXAZ6P2.js';
5
5
  import '../chunk-G6QIIWKU.js';
6
6
  import '../chunk-RAS6HUEI.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,13 @@
1
- export declare function useControllable<T>({ value, defaultValue, onChange, }: {
1
+ type SetValue<T> = (next: T | ((prev: T | undefined) => T)) => void;
2
+ export declare function useControllable<T>(opts: {
3
+ value?: T;
4
+ defaultValue: T;
5
+ onChange?: (value: T) => void;
6
+ }): readonly [T, SetValue<T>];
7
+ export declare function useControllable<T>(opts: {
2
8
  value?: T;
3
9
  defaultValue?: T;
4
10
  onChange?: (value: T) => void;
5
- }): readonly [T | undefined, (next: T | ((prev: T | undefined) => T)) => void];
11
+ }): readonly [T | undefined, SetValue<T>];
12
+ export {};
6
13
  //# sourceMappingURL=useControllable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useControllable.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllable.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,CAAC,EAAE,EACjC,KAAK,EACL,YAAY,EACZ,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,mCAOU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,WAW1C"}
1
+ {"version":3,"file":"useControllable.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllable.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,KAAK,IAAI,CAAA;AAGnE,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE;IACvC,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,YAAY,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,GAAG,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAG7B,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE;IACvC,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,YAAY,CAAC,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC9B,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA"}