@fangxinyan/lumina 0.5.0 → 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 (184) hide show
  1. package/dist/Accordion.cjs +3 -3
  2. package/dist/Accordion.js +2 -2
  3. package/dist/Alert.cjs +3 -3
  4. package/dist/Alert.js +2 -2
  5. package/dist/AutoComplete.cjs +5 -5
  6. package/dist/AutoComplete.js +4 -4
  7. package/dist/Button.cjs +4 -4
  8. package/dist/Button.js +2 -2
  9. package/dist/Calendar.cjs +3 -3
  10. package/dist/Calendar.js +2 -2
  11. package/dist/Cascader.cjs +4 -4
  12. package/dist/Cascader.js +3 -3
  13. package/dist/Checkbox.cjs +4 -4
  14. package/dist/Checkbox.js +2 -2
  15. package/dist/ColorPicker.cjs +3 -3
  16. package/dist/ColorPicker.js +2 -2
  17. package/dist/CommandPalette.cjs +4 -4
  18. package/dist/CommandPalette.js +3 -3
  19. package/dist/Drawer.cjs +3 -3
  20. package/dist/Drawer.js +2 -2
  21. package/dist/Icon.cjs +3 -3
  22. package/dist/Icon.d.cts +1 -1
  23. package/dist/Icon.d.ts +1 -1
  24. package/dist/Icon.js +1 -1
  25. package/dist/Image.cjs +4 -4
  26. package/dist/Image.js +2 -2
  27. package/dist/Input.cjs +4 -4
  28. package/dist/Input.js +2 -2
  29. package/dist/InputNumber.cjs +4 -4
  30. package/dist/InputNumber.js +3 -3
  31. package/dist/Modal.cjs +4 -4
  32. package/dist/Modal.js +3 -3
  33. package/dist/Pagination.cjs +6 -6
  34. package/dist/Pagination.js +5 -5
  35. package/dist/Popover-DVGQGWX6.css +103 -0
  36. package/dist/Popover.cjs +3 -3
  37. package/dist/Popover.d.cts +23 -1
  38. package/dist/Popover.d.ts +23 -1
  39. package/dist/Popover.js +2 -2
  40. package/dist/Select.cjs +5 -5
  41. package/dist/Select.js +4 -4
  42. package/dist/Table.cjs +9 -9
  43. package/dist/Table.js +7 -7
  44. package/dist/Tag.cjs +4 -4
  45. package/dist/Tag.js +2 -2
  46. package/dist/Timeline-RHZAZKZ7.css +136 -0
  47. package/dist/Timeline.cjs +13 -0
  48. package/dist/Timeline.cjs.map +1 -0
  49. package/dist/Timeline.d.cts +38 -0
  50. package/dist/Timeline.d.ts +38 -0
  51. package/dist/Timeline.js +4 -0
  52. package/dist/Timeline.js.map +1 -0
  53. package/dist/{Toast-6PVSAXQ5.css → Toast-YSACW3EM.css} +2 -2
  54. package/dist/Toast.cjs +4 -4
  55. package/dist/Toast.js +2 -2
  56. package/dist/{Tooltip-ST24GY4S.css → Tooltip-DMKUPC24.css} +1 -0
  57. package/dist/Tooltip.cjs +3 -3
  58. package/dist/Tooltip.js +2 -2
  59. package/dist/Typography.cjs +7 -7
  60. package/dist/Typography.js +2 -2
  61. package/dist/{chunk-BCPAY65C.cjs → chunk-2D5VCIJZ.cjs} +7 -7
  62. package/dist/{chunk-BCPAY65C.cjs.map → chunk-2D5VCIJZ.cjs.map} +1 -1
  63. package/dist/{chunk-LLNEDEST.cjs → chunk-2OBQOEFD.cjs} +4 -4
  64. package/dist/{chunk-LLNEDEST.cjs.map → chunk-2OBQOEFD.cjs.map} +1 -1
  65. package/dist/{chunk-N73JGXYZ.cjs → chunk-3ES5QPAF.cjs} +4 -4
  66. package/dist/{chunk-N73JGXYZ.cjs.map → chunk-3ES5QPAF.cjs.map} +1 -1
  67. package/dist/{chunk-YCHUHMNP.cjs → chunk-3KQKEE5O.cjs} +5 -4
  68. package/dist/chunk-3KQKEE5O.cjs.map +1 -0
  69. package/dist/{chunk-RZ2E3XEU.cjs → chunk-3XIDJEYR.cjs} +21 -6
  70. package/dist/chunk-3XIDJEYR.cjs.map +1 -0
  71. package/dist/{chunk-IOWREUEP.js → chunk-3YYOYDKI.js} +4 -4
  72. package/dist/{chunk-IOWREUEP.js.map → chunk-3YYOYDKI.js.map} +1 -1
  73. package/dist/{chunk-PKXXR76Q.js → chunk-4ADDAZK3.js} +3 -3
  74. package/dist/{chunk-PKXXR76Q.js.map → chunk-4ADDAZK3.js.map} +1 -1
  75. package/dist/{chunk-TZLM5GF4.js → chunk-5SJJI3HL.js} +4 -4
  76. package/dist/{chunk-TZLM5GF4.js.map → chunk-5SJJI3HL.js.map} +1 -1
  77. package/dist/{chunk-2ENTRT7R.cjs → chunk-AJEF2ZB7.cjs} +16 -6
  78. package/dist/chunk-AJEF2ZB7.cjs.map +1 -0
  79. package/dist/{chunk-V2DIQ3RH.js → chunk-ANAQER3T.js} +21 -6
  80. package/dist/chunk-ANAQER3T.js.map +1 -0
  81. package/dist/{chunk-FXQGPHK2.js → chunk-AZRJZM7W.js} +3 -3
  82. package/dist/{chunk-FXQGPHK2.js.map → chunk-AZRJZM7W.js.map} +1 -1
  83. package/dist/{chunk-3BZ47QNV.cjs → chunk-BIXW4ZYW.cjs} +7 -7
  84. package/dist/{chunk-3BZ47QNV.cjs.map → chunk-BIXW4ZYW.cjs.map} +1 -1
  85. package/dist/{chunk-IJA26LRY.cjs → chunk-BPDWBY6Y.cjs} +4 -4
  86. package/dist/{chunk-IJA26LRY.cjs.map → chunk-BPDWBY6Y.cjs.map} +1 -1
  87. package/dist/{chunk-77TZHI76.cjs → chunk-D26YHP2Y.cjs} +7 -7
  88. package/dist/{chunk-77TZHI76.cjs.map → chunk-D26YHP2Y.cjs.map} +1 -1
  89. package/dist/{chunk-T4PI2ZX7.cjs → chunk-D3GZSL2B.cjs} +16 -17
  90. package/dist/chunk-D3GZSL2B.cjs.map +1 -0
  91. package/dist/{chunk-VQBZKRIB.cjs → chunk-DF5K2BZ2.cjs} +6 -6
  92. package/dist/{chunk-VQBZKRIB.cjs.map → chunk-DF5K2BZ2.cjs.map} +1 -1
  93. package/dist/{chunk-7M7NAMR5.js → chunk-DLGFIRVW.js} +14 -4
  94. package/dist/chunk-DLGFIRVW.js.map +1 -0
  95. package/dist/{chunk-6Z24VO3K.js → chunk-E7UQSFKF.js} +3 -3
  96. package/dist/{chunk-6Z24VO3K.js.map → chunk-E7UQSFKF.js.map} +1 -1
  97. package/dist/{chunk-KW7Z4IQC.js → chunk-FLPHVK45.js} +3 -3
  98. package/dist/{chunk-KW7Z4IQC.js.map → chunk-FLPHVK45.js.map} +1 -1
  99. package/dist/{chunk-WUOFJPZ4.js → chunk-GB5NAXBP.js} +3 -3
  100. package/dist/{chunk-WUOFJPZ4.js.map → chunk-GB5NAXBP.js.map} +1 -1
  101. package/dist/{chunk-SMHXSEBD.cjs → chunk-GT45MQAK.cjs} +7 -7
  102. package/dist/{chunk-SMHXSEBD.cjs.map → chunk-GT45MQAK.cjs.map} +1 -1
  103. package/dist/{chunk-TZXEZFCI.cjs → chunk-H2QTLV5T.cjs} +5 -5
  104. package/dist/{chunk-TZXEZFCI.cjs.map → chunk-H2QTLV5T.cjs.map} +1 -1
  105. package/dist/{chunk-FFZLSY2N.js → chunk-HHPYY4LH.js} +4 -4
  106. package/dist/{chunk-FFZLSY2N.js.map → chunk-HHPYY4LH.js.map} +1 -1
  107. package/dist/{chunk-XYVJ3FBQ.cjs → chunk-I7UJA6RM.cjs} +5 -5
  108. package/dist/{chunk-XYVJ3FBQ.cjs.map → chunk-I7UJA6RM.cjs.map} +1 -1
  109. package/dist/{chunk-YFBHVTKN.cjs → chunk-IJIQ4H6C.cjs} +7 -7
  110. package/dist/{chunk-YFBHVTKN.cjs.map → chunk-IJIQ4H6C.cjs.map} +1 -1
  111. package/dist/{chunk-LXNR6TQK.js → chunk-ILVNMES2.js} +3 -3
  112. package/dist/{chunk-LXNR6TQK.js.map → chunk-ILVNMES2.js.map} +1 -1
  113. package/dist/{chunk-JXHMJUVI.js → chunk-JELHUUM5.js} +3 -3
  114. package/dist/{chunk-JXHMJUVI.js.map → chunk-JELHUUM5.js.map} +1 -1
  115. package/dist/{chunk-CTYW42GG.js → chunk-JQZFOIX6.js} +6 -6
  116. package/dist/{chunk-CTYW42GG.js.map → chunk-JQZFOIX6.js.map} +1 -1
  117. package/dist/{chunk-I7WLFADD.js → chunk-LWN2PXW7.js} +3 -3
  118. package/dist/{chunk-I7WLFADD.js.map → chunk-LWN2PXW7.js.map} +1 -1
  119. package/dist/{chunk-I2HHC6QW.js → chunk-N5W6XJI2.js} +3 -3
  120. package/dist/{chunk-I2HHC6QW.js.map → chunk-N5W6XJI2.js.map} +1 -1
  121. package/dist/chunk-P2AV5BD7.cjs +137 -0
  122. package/dist/chunk-P2AV5BD7.cjs.map +1 -0
  123. package/dist/{chunk-ZFJHUOFU.js → chunk-P4XPESR2.js} +4 -4
  124. package/dist/{chunk-ZFJHUOFU.js.map → chunk-P4XPESR2.js.map} +1 -1
  125. package/dist/{chunk-AESLEYST.js → chunk-RJNGXR5Y.js} +4 -4
  126. package/dist/{chunk-AESLEYST.js.map → chunk-RJNGXR5Y.js.map} +1 -1
  127. package/dist/chunk-S3NIRNWM.js +86 -0
  128. package/dist/chunk-S3NIRNWM.js.map +1 -0
  129. package/dist/{chunk-HJIKU6MF.cjs → chunk-S7RFIMA3.cjs} +4 -4
  130. package/dist/{chunk-HJIKU6MF.cjs.map → chunk-S7RFIMA3.cjs.map} +1 -1
  131. package/dist/chunk-TAYFI4RG.cjs +108 -0
  132. package/dist/chunk-TAYFI4RG.cjs.map +1 -0
  133. package/dist/{chunk-OZVPJWXO.cjs → chunk-TCPTBLDV.cjs} +5 -5
  134. package/dist/{chunk-OZVPJWXO.cjs.map → chunk-TCPTBLDV.cjs.map} +1 -1
  135. package/dist/{chunk-E62JFAHW.js → chunk-TGUDT3GK.js} +4 -4
  136. package/dist/{chunk-E62JFAHW.js.map → chunk-TGUDT3GK.js.map} +1 -1
  137. package/dist/{chunk-XCYE4OQV.js → chunk-TMRSI543.js} +3 -3
  138. package/dist/{chunk-XCYE4OQV.js.map → chunk-TMRSI543.js.map} +1 -1
  139. package/dist/{chunk-RWHWEQQX.cjs → chunk-U7TAQLPN.cjs} +6 -6
  140. package/dist/{chunk-RWHWEQQX.cjs.map → chunk-U7TAQLPN.cjs.map} +1 -1
  141. package/dist/chunk-UEHONGPZ.js +115 -0
  142. package/dist/chunk-UEHONGPZ.js.map +1 -0
  143. package/dist/{chunk-NN7WMXY4.cjs → chunk-UUY7EDVJ.cjs} +4 -4
  144. package/dist/{chunk-NN7WMXY4.cjs.map → chunk-UUY7EDVJ.cjs.map} +1 -1
  145. package/dist/{chunk-OM76QWUN.js → chunk-UXABXEWT.js} +3 -3
  146. package/dist/{chunk-OM76QWUN.js.map → chunk-UXABXEWT.js.map} +1 -1
  147. package/dist/{chunk-MDQNUKCP.cjs → chunk-V6466VMN.cjs} +14 -14
  148. package/dist/{chunk-MDQNUKCP.cjs.map → chunk-V6466VMN.cjs.map} +1 -1
  149. package/dist/{chunk-O7C6S644.js → chunk-WBL7LOIH.js} +3 -3
  150. package/dist/{chunk-O7C6S644.js.map → chunk-WBL7LOIH.js.map} +1 -1
  151. package/dist/{chunk-RQV7SMIZ.cjs → chunk-WKNVNN2K.cjs} +5 -5
  152. package/dist/{chunk-RQV7SMIZ.cjs.map → chunk-WKNVNN2K.cjs.map} +1 -1
  153. package/dist/{chunk-HXSAH4Y6.cjs → chunk-WR3FML2W.cjs} +7 -7
  154. package/dist/{chunk-HXSAH4Y6.cjs.map → chunk-WR3FML2W.cjs.map} +1 -1
  155. package/dist/{chunk-QOGROEVD.js → chunk-X3JG3IR6.js} +6 -5
  156. package/dist/chunk-X3JG3IR6.js.map +1 -0
  157. package/dist/{chunk-6XZ362VL.js → chunk-XT7RXXOE.js} +6 -7
  158. package/dist/chunk-XT7RXXOE.js.map +1 -0
  159. package/dist/{chunk-WVBFQB26.cjs → chunk-ZSR5JSYZ.cjs} +8 -8
  160. package/dist/{chunk-WVBFQB26.cjs.map → chunk-ZSR5JSYZ.cjs.map} +1 -1
  161. package/dist/index.cjs +65 -60
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +2 -1
  164. package/dist/index.d.ts +2 -1
  165. package/dist/index.js +26 -25
  166. package/dist/index.js.map +1 -1
  167. package/dist/styles.css +86 -4
  168. package/docs/llms/popover.md +138 -6
  169. package/docs/llms/timeline.md +140 -0
  170. package/docs/llms.md +3 -2
  171. package/package.json +5 -1
  172. package/dist/Popover-NYEKT5CQ.css +0 -10
  173. package/dist/chunk-2ENTRT7R.cjs.map +0 -1
  174. package/dist/chunk-3UU2PUK4.js +0 -66
  175. package/dist/chunk-3UU2PUK4.js.map +0 -1
  176. package/dist/chunk-6XZ362VL.js.map +0 -1
  177. package/dist/chunk-7M7NAMR5.js.map +0 -1
  178. package/dist/chunk-O2HMH5BI.cjs +0 -88
  179. package/dist/chunk-O2HMH5BI.cjs.map +0 -1
  180. package/dist/chunk-QOGROEVD.js.map +0 -1
  181. package/dist/chunk-RZ2E3XEU.cjs.map +0 -1
  182. package/dist/chunk-T4PI2ZX7.cjs.map +0 -1
  183. package/dist/chunk-V2DIQ3RH.js.map +0 -1
  184. package/dist/chunk-YCHUHMNP.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Select/Select.tsx"],"names":[],"mappings":"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","file":"chunk-XT7RXXOE.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Select.css\";\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Icon, type IconName } from \"../Icon\";\nimport { Tag } from \"../Tag\";\nimport { useFloating } from \"../../utils/useFloating\";\n\nexport interface SelectOption<T extends string | number = string> {\n value: T;\n label: React.ReactNode;\n /** Searchable text — used by default filter when `label` isn't a string. */\n text?: string;\n /** Secondary line shown beneath the label. */\n description?: React.ReactNode;\n /** Leading icon. */\n icon?: IconName;\n disabled?: boolean;\n}\n\nexport interface SelectOptionGroup<T extends string | number = string> {\n /** Group heading. */\n label: React.ReactNode;\n options: SelectOption<T>[];\n}\n\nexport type SelectItem<T extends string | number = string> =\n | SelectOption<T>\n | SelectOptionGroup<T>;\n\nconst isGroup = <T extends string | number>(\n it: SelectItem<T>\n): it is SelectOptionGroup<T> => Array.isArray((it as SelectOptionGroup<T>).options);\n\ninterface BaseSelectProps<T extends string | number = string> {\n /** Flat or mixed (groups + options) item list. */\n options: SelectItem<T>[];\n placeholder?: string;\n disabled?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n /** Show invalid (red) ring. */\n invalid?: boolean;\n /** Show a small × to clear the selection (single mode) or all selections (multi). */\n clearable?: boolean;\n /** Add a search input at the top of the menu. */\n searchable?: boolean;\n /** Custom filter — defaults to label/text/value substring match. */\n filterOption?: (input: string, option: SelectOption<T>) => boolean;\n /** Show spinner instead of options. */\n loading?: boolean;\n /** Custom empty content when no options match. */\n emptyContent?: React.ReactNode;\n /** Controlled open state. */\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n className?: string;\n /** Class for the popped-out menu. */\n menuClassName?: string;\n}\n\nexport interface SingleSelectProps<T extends string | number = string> extends BaseSelectProps<T> {\n multiple?: false;\n value?: T;\n defaultValue?: T;\n onChange?: (value: T) => void;\n /** Fired when user clears the selection via the × button. */\n onClear?: () => void;\n}\n\nexport interface MultiSelectProps<T extends string | number = string> extends BaseSelectProps<T> {\n multiple: true;\n value?: T[];\n defaultValue?: T[];\n onChange?: (value: T[]) => void;\n /** Max selected items shown as tags before collapsing to \"+N\". */\n maxTagCount?: number;\n}\n\nexport type SelectProps<T extends string | number = string> =\n | SingleSelectProps<T>\n | MultiSelectProps<T>;\n\nconst flatten = <T extends string | number>(items: SelectItem<T>[]): SelectOption<T>[] =>\n items.flatMap((it) => (isGroup(it) ? it.options : [it]));\n\nconst defaultFilter = <T extends string | number>(input: string, opt: SelectOption<T>): boolean => {\n const q = input.toLowerCase();\n const txt =\n opt.text ?? (typeof opt.label === \"string\" ? opt.label : String(opt.value));\n return txt.toLowerCase().includes(q);\n};\n\n/** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */\nexport function Select<T extends string | number = string>(props: SingleSelectProps<T>): React.ReactElement;\nexport function Select<T extends string | number = string>(props: MultiSelectProps<T>): React.ReactElement;\nexport function Select<T extends string | number = string>(props: SelectProps<T>): React.ReactElement {\n const {\n options,\n placeholder = \"请选择…\",\n disabled,\n size = \"md\",\n invalid,\n clearable,\n searchable,\n filterOption,\n loading,\n emptyContent,\n open: openProp,\n defaultOpen,\n onOpenChange,\n className = \"\",\n menuClassName = \"\",\n } = props;\n const isMulti = props.multiple === true;\n\n const [innerSingle, setInnerSingle] = React.useState<T | undefined>(\n !isMulti ? (props as SingleSelectProps<T>).defaultValue : undefined\n );\n const [innerMulti, setInnerMulti] = React.useState<T[]>(\n isMulti ? (props as MultiSelectProps<T>).defaultValue ?? [] : []\n );\n const [innerOpen, setInnerOpen] = React.useState(defaultOpen ?? false);\n const [query, setQuery] = React.useState(\"\");\n const [activeIdx, setActiveIdx] = React.useState(-1);\n\n const searchRef = React.useRef<HTMLInputElement>(null);\n\n const openControlled = openProp !== undefined;\n const open = openControlled ? openProp! : innerOpen;\n const setOpen = (v: boolean) => {\n if (!openControlled) setInnerOpen(v);\n onOpenChange?.(v);\n if (!v) setQuery(\"\");\n };\n\n const { triggerRef: ref, floatingRef: menuRef, floatingStyle } = useFloating<HTMLDivElement, HTMLDivElement>({\n open,\n placement: \"bottom\",\n matchTriggerWidth: true,\n panelHeight: 320,\n });\n\n const singleControlled = !isMulti && (props as SingleSelectProps<T>).value !== undefined;\n const multiControlled = isMulti && (props as MultiSelectProps<T>).value !== undefined;\n\n const singleValue = singleControlled ? (props as SingleSelectProps<T>).value : innerSingle;\n const multiValue = multiControlled ? (props as MultiSelectProps<T>).value! : innerMulti;\n\n React.useEffect(() => {\n if (!open) return;\n const h = (e: MouseEvent) => {\n const t = e.target as Node;\n if (ref.current?.contains(t)) return;\n if (menuRef.current?.contains(t)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n // Auto-focus search input when opened\n React.useEffect(() => {\n if (open && searchable) {\n requestAnimationFrame(() => searchRef.current?.focus());\n }\n if (!open) setActiveIdx(-1);\n }, [open, searchable]);\n\n // Filter options\n const allFlat = React.useMemo(() => flatten(options), [options]);\n const filteredFlat = React.useMemo(() => {\n if (!query.trim()) return allFlat;\n const f = filterOption ?? defaultFilter;\n return allFlat.filter((o) => f(query, o));\n }, [allFlat, query, filterOption]);\n\n // Re-bucket into groups respecting filter (for menu rendering)\n const filteredItems = React.useMemo<SelectItem<T>[]>(() => {\n if (!query.trim()) return options;\n return options\n .map((it) => {\n if (!isGroup(it)) {\n return filteredFlat.includes(it) ? it : null;\n }\n const kept = it.options.filter((o) => filteredFlat.includes(o));\n return kept.length ? { label: it.label, options: kept } : null;\n })\n .filter((x): x is SelectItem<T> => x !== null);\n }, [options, filteredFlat, query]);\n\n React.useEffect(() => {\n setActiveIdx(filteredFlat.length ? 0 : -1);\n }, [filteredFlat.length]);\n\n const pickSingle = (opt: SelectOption<T>) => {\n if (opt.disabled) return;\n if (!singleControlled) setInnerSingle(opt.value);\n (props as SingleSelectProps<T>).onChange?.(opt.value);\n setOpen(false);\n };\n\n const toggleMulti = (opt: SelectOption<T>) => {\n if (opt.disabled) return;\n const cur = multiValue ?? [];\n const next = cur.includes(opt.value) ? cur.filter((v) => v !== opt.value) : [...cur, opt.value];\n if (!multiControlled) setInnerMulti(next);\n (props as MultiSelectProps<T>).onChange?.(next);\n };\n\n const clearAll = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (isMulti) {\n if (!multiControlled) setInnerMulti([]);\n (props as MultiSelectProps<T>).onChange?.([]);\n } else {\n if (!singleControlled) setInnerSingle(undefined);\n (props as SingleSelectProps<T>).onClear?.();\n }\n };\n\n const isSelected = (val: T) =>\n isMulti ? (multiValue ?? []).includes(val) : singleValue === val;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n if (!open) {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \"ArrowDown\") {\n e.preventDefault();\n setOpen(true);\n }\n return;\n }\n if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false);\n return;\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIdx((i) => Math.min(filteredFlat.length - 1, i + 1));\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIdx((i) => Math.max(0, i - 1));\n return;\n }\n if (e.key === \"Enter\") {\n e.preventDefault();\n const opt = filteredFlat[activeIdx];\n if (opt && !opt.disabled) {\n if (isMulti) toggleMulti(opt);\n else pickSingle(opt);\n }\n return;\n }\n };\n\n const renderTrigger = () => {\n if (isMulti) {\n const selected = (multiValue ?? [])\n .map((v) => allFlat.find((o) => o.value === v))\n .filter((o): o is SelectOption<T> => !!o);\n const max = (props as MultiSelectProps<T>).maxTagCount;\n const shown = max != null ? selected.slice(0, max) : selected;\n const overflow = selected.length - shown.length;\n if (selected.length === 0) {\n return <span className=\"placeholder\">{placeholder}</span>;\n }\n return (\n <span className=\"select-tags\">\n {shown.map((o) => (\n <Tag\n key={String(o.value)}\n tone=\"accent\"\n removable={!disabled}\n onRemove={() => {\n const cur = multiValue ?? [];\n const next = cur.filter((v) => v !== o.value);\n if (!multiControlled) setInnerMulti(next);\n (props as MultiSelectProps<T>).onChange?.(next);\n }}\n onClick={(e) => e.stopPropagation()}\n >\n {o.label}\n </Tag>\n ))}\n {overflow > 0 && <Tag tone=\"neutral\">+{overflow}</Tag>}\n </span>\n );\n }\n const current = allFlat.find((o) => o.value === singleValue);\n if (!current) return <span className=\"placeholder\">{placeholder}</span>;\n return (\n <span className=\"select-value\">\n {current.icon && <Icon name={current.icon} size={14} />}\n <span>{current.label}</span>\n </span>\n );\n };\n\n const hasSelection = isMulti ? (multiValue?.length ?? 0) > 0 : singleValue !== undefined;\n const showClear = clearable && hasSelection && !disabled;\n\n // Render an option button\n let renderIdx = -1;\n const renderOption = (o: SelectOption<T>) => {\n renderIdx += 1;\n const idx = renderIdx;\n const sel = isSelected(o.value);\n const active = idx === activeIdx;\n return (\n <button\n key={String(o.value)}\n type=\"button\"\n role=\"option\"\n aria-selected={sel}\n disabled={o.disabled}\n className={`menu-item ${sel ? \"active\" : \"\"} ${active ? \"highlight\" : \"\"}`}\n onMouseEnter={() => setActiveIdx(idx)}\n onClick={() => (isMulti ? toggleMulti(o) : pickSingle(o))}\n >\n {isMulti && (\n <span className={`menu-check ${sel ? \"on\" : \"\"}`} aria-hidden>\n {sel && <Icon name=\"check\" size={11} stroke={3} />}\n </span>\n )}\n {o.icon && <Icon name={o.icon} size={14} />}\n <span className=\"menu-item-body\">\n <span className=\"menu-item-label\">{o.label}</span>\n {o.description && <span className=\"menu-item-desc\">{o.description}</span>}\n </span>\n {!isMulti && (\n <span className=\"tick\">\n <Icon name=\"check\" size={12} stroke={3} />\n </span>\n )}\n </button>\n );\n };\n\n return (\n <div\n ref={ref}\n className={`select ${size} ${isMulti ? \"multi\" : \"\"} ${open ? \"open\" : \"\"} ${disabled ? \"disabled\" : \"\"} ${invalid ? \"invalid\" : \"\"} ${className}`}\n onKeyDown={onKeyDown}\n tabIndex={disabled ? -1 : 0}\n >\n <button\n type=\"button\"\n className=\"select-trigger\"\n disabled={disabled}\n onClick={() => !disabled && setOpen(!open)}\n >\n {renderTrigger()}\n {showClear && (\n <span className=\"select-clear\" role=\"button\" aria-label=\"Clear\" onClick={clearAll}>\n <Icon name=\"x\" size={12} />\n </span>\n )}\n <Icon name=\"chevDown\" size={14} className=\"select-caret\" />\n </button>\n {open && typeof document !== \"undefined\" &&\n createPortal(\n <div\n ref={menuRef}\n className={`menu ${menuClassName}`}\n role=\"listbox\"\n aria-multiselectable={isMulti || undefined}\n style={floatingStyle}\n >\n {searchable && (\n <div className=\"menu-search\">\n <Icon name=\"search\" size={13} />\n <input\n ref={searchRef}\n type=\"text\"\n value={query}\n placeholder=\"搜索...\"\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Escape\" || e.key === \"ArrowDown\" || e.key === \"ArrowUp\" || e.key === \"Enter\") {\n e.preventDefault();\n onKeyDown(e);\n }\n }}\n />\n </div>\n )}\n {loading ? (\n <div className=\"menu-state\">\n <span className=\"menu-state-ico\">\n <span className=\"spinner\" />\n </span>\n <span>加载中...</span>\n </div>\n ) : filteredItems.length === 0 ? (\n <div className=\"menu-state\">\n <span className=\"menu-state-ico\">\n <Icon name=\"search\" size={16} />\n </span>\n <span>{emptyContent ?? \"暂无匹配项\"}</span>\n </div>\n ) : (\n filteredItems.map((it, gi) =>\n isGroup(it) ? (\n <React.Fragment key={`g-${gi}`}>\n <div className=\"menu-group-label\">{it.label}</div>\n {it.options.map(renderOption)}\n </React.Fragment>\n ) : (\n renderOption(it)\n )\n )\n )}\n </div>,\n document.body\n )}\n </div>\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkRZ2E3XEU_cjs = require('./chunk-RZ2E3XEU.cjs');
4
- var chunkYCHUHMNP_cjs = require('./chunk-YCHUHMNP.cjs');
3
+ var chunk3XIDJEYR_cjs = require('./chunk-3XIDJEYR.cjs');
4
+ var chunk3KQKEE5O_cjs = require('./chunk-3KQKEE5O.cjs');
5
5
  require('./tokens-BIIUTPKN.css');
6
6
  require('./shared-NJHRNLRH.css');
7
7
  require('./Cascader-VSYEKQCG.css');
@@ -44,7 +44,7 @@ var Cascader = ({
44
44
  const [open, setOpen] = React__namespace.useState(false);
45
45
  const [path, setPath] = React__namespace.useState(cur);
46
46
  const panelRef = React__namespace.useRef(null);
47
- const { triggerRef: ref, floatingStyle } = chunkRZ2E3XEU_cjs.useFloating({
47
+ const { triggerRef: ref, floatingStyle } = chunk3XIDJEYR_cjs.useFloating({
48
48
  open,
49
49
  placement: "bottom",
50
50
  panelWidth: 520,
@@ -103,7 +103,7 @@ var Cascader = ({
103
103
  i > 0 && " / ",
104
104
  l
105
105
  ] }, i)) : placeholder }),
106
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { position: "absolute", right: 12, color: "var(--fg-subtle)" }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkYCHUHMNP_cjs.Icon, { name: "chevDown", size: 14 }) })
106
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { position: "absolute", right: 12, color: "var(--fg-subtle)" }, children: /* @__PURE__ */ jsxRuntime.jsx(chunk3KQKEE5O_cjs.Icon, { name: "chevDown", size: 14 }) })
107
107
  ]
108
108
  }
109
109
  ),
@@ -119,9 +119,9 @@ var Cascader = ({
119
119
  disabled: o.disabled,
120
120
  onClick: () => pick(depth, o.value, hasChildren),
121
121
  children: [
122
- o.icon && /* @__PURE__ */ jsxRuntime.jsx(chunkYCHUHMNP_cjs.Icon, { name: o.icon, size: 13 }),
122
+ o.icon && /* @__PURE__ */ jsxRuntime.jsx(chunk3KQKEE5O_cjs.Icon, { name: o.icon, size: 13 }),
123
123
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: o.label }),
124
- hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chev", children: /* @__PURE__ */ jsxRuntime.jsx(chunkYCHUHMNP_cjs.Icon, { name: "chevRight", size: 12 }) })
124
+ hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chev", children: /* @__PURE__ */ jsxRuntime.jsx(chunk3KQKEE5O_cjs.Icon, { name: "chevRight", size: 12 }) })
125
125
  ]
126
126
  },
127
127
  o.value
@@ -133,5 +133,5 @@ var Cascader = ({
133
133
  };
134
134
 
135
135
  exports.Cascader = Cascader;
136
- //# sourceMappingURL=chunk-WVBFQB26.cjs.map
137
- //# sourceMappingURL=chunk-WVBFQB26.cjs.map
136
+ //# sourceMappingURL=chunk-ZSR5JSYZ.cjs.map
137
+ //# sourceMappingURL=chunk-ZSR5JSYZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Cascader/Cascader.tsx"],"names":["React","useFloating","jsxs","jsx","Icon","createPortal"],"mappings":"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","file":"chunk-WVBFQB26.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Cascader.css\";\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Icon, type IconName } from \"../Icon\";\nimport { useFloating } from \"../../utils/useFloating\";\n\nexport interface CascaderOption {\n value: string;\n label: React.ReactNode;\n icon?: IconName;\n children?: CascaderOption[];\n disabled?: boolean;\n}\n\nexport interface CascaderProps {\n options: CascaderOption[];\n value?: string[];\n defaultValue?: string[];\n onChange?: (path: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n}\n\n/** `Cascader` — multi-column hierarchical selector. */\nexport const Cascader: React.FC<CascaderProps> = ({\n options,\n value,\n defaultValue = [],\n onChange,\n placeholder = \"请选择\",\n disabled,\n className = \"\",\n}) => {\n const [inner, setInner] = React.useState<string[]>(defaultValue);\n const isControlled = value !== undefined;\n const cur = isControlled ? value! : inner;\n const [open, setOpen] = React.useState(false);\n const [path, setPath] = React.useState<string[]>(cur);\n const panelRef = React.useRef<HTMLDivElement>(null);\n\n const { triggerRef: ref, floatingStyle } = useFloating<HTMLDivElement>({\n open,\n placement: \"bottom\",\n panelWidth: 520,\n panelHeight: 260,\n });\n\n React.useEffect(() => {\n const h = (e: MouseEvent) => {\n const t = e.target as Node;\n if (ref.current?.contains(t)) return;\n if (panelRef.current?.contains(t)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (open) setPath(cur);\n }, [open, cur]);\n\n const columns: CascaderOption[][] = [options];\n let cursor: CascaderOption[] = options;\n for (const v of path) {\n const match: CascaderOption | undefined = cursor.find((o) => o.value === v);\n if (match && match.children) {\n cursor = match.children;\n columns.push(cursor);\n } else break;\n }\n\n const pick = (depth: number, val: string, hasChildren: boolean) => {\n const np = [...path.slice(0, depth), val];\n setPath(np);\n if (!hasChildren) {\n if (!isControlled) setInner(np);\n onChange?.(np);\n setOpen(false);\n }\n };\n\n const labels: React.ReactNode[] = [];\n let list: CascaderOption[] = options;\n for (const v of cur) {\n const m: CascaderOption | undefined = list.find((o) => o.value === v);\n if (!m) break;\n labels.push(m.label);\n if (!m.children) break;\n list = m.children;\n }\n\n return (\n <div ref={ref} className={`cascader ${open ? \"open\" : \"\"} ${className}`}>\n <button\n type=\"button\"\n className={`cascader-trigger ${labels.length === 0 ? \"placeholder\" : \"\"}`}\n disabled={disabled}\n onClick={() => !disabled && setOpen((o) => !o)}\n >\n <span style={{ flex: 1 }}>\n {labels.length ? labels.map((l, i) => <span key={i}>{i > 0 && \" / \"}{l}</span>) : placeholder}\n </span>\n <span style={{ position: \"absolute\", right: 12, color: \"var(--fg-subtle)\" }}>\n <Icon name=\"chevDown\" size={14} />\n </span>\n </button>\n {open && typeof document !== \"undefined\" &&\n createPortal(\n <div ref={panelRef} className=\"cascader-panel\" style={floatingStyle}>\n {columns.map((col, depth) => (\n <div key={depth} className=\"cascader-col\">\n {col.map((o) => {\n const isActive = path[depth] === o.value;\n const hasChildren = !!(o.children && o.children.length);\n return (\n <button\n key={o.value}\n type=\"button\"\n className={`cascader-item ${isActive ? \"active\" : \"\"}`}\n disabled={o.disabled}\n onClick={() => pick(depth, o.value, hasChildren)}\n >\n {o.icon && <Icon name={o.icon} size={13} />}\n <span>{o.label}</span>\n {hasChildren && (\n <span className=\"chev\">\n <Icon name=\"chevRight\" size={12} />\n </span>\n )}\n </button>\n );\n })}\n </div>\n ))}\n </div>,\n document.body\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/components/Cascader/Cascader.tsx"],"names":["React","useFloating","jsxs","jsx","Icon","createPortal"],"mappings":"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","file":"chunk-ZSR5JSYZ.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Cascader.css\";\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Icon, type IconName } from \"../Icon\";\nimport { useFloating } from \"../../utils/useFloating\";\n\nexport interface CascaderOption {\n value: string;\n label: React.ReactNode;\n icon?: IconName;\n children?: CascaderOption[];\n disabled?: boolean;\n}\n\nexport interface CascaderProps {\n options: CascaderOption[];\n value?: string[];\n defaultValue?: string[];\n onChange?: (path: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n}\n\n/** `Cascader` — multi-column hierarchical selector. */\nexport const Cascader: React.FC<CascaderProps> = ({\n options,\n value,\n defaultValue = [],\n onChange,\n placeholder = \"请选择\",\n disabled,\n className = \"\",\n}) => {\n const [inner, setInner] = React.useState<string[]>(defaultValue);\n const isControlled = value !== undefined;\n const cur = isControlled ? value! : inner;\n const [open, setOpen] = React.useState(false);\n const [path, setPath] = React.useState<string[]>(cur);\n const panelRef = React.useRef<HTMLDivElement>(null);\n\n const { triggerRef: ref, floatingStyle } = useFloating<HTMLDivElement>({\n open,\n placement: \"bottom\",\n panelWidth: 520,\n panelHeight: 260,\n });\n\n React.useEffect(() => {\n const h = (e: MouseEvent) => {\n const t = e.target as Node;\n if (ref.current?.contains(t)) return;\n if (panelRef.current?.contains(t)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (open) setPath(cur);\n }, [open, cur]);\n\n const columns: CascaderOption[][] = [options];\n let cursor: CascaderOption[] = options;\n for (const v of path) {\n const match: CascaderOption | undefined = cursor.find((o) => o.value === v);\n if (match && match.children) {\n cursor = match.children;\n columns.push(cursor);\n } else break;\n }\n\n const pick = (depth: number, val: string, hasChildren: boolean) => {\n const np = [...path.slice(0, depth), val];\n setPath(np);\n if (!hasChildren) {\n if (!isControlled) setInner(np);\n onChange?.(np);\n setOpen(false);\n }\n };\n\n const labels: React.ReactNode[] = [];\n let list: CascaderOption[] = options;\n for (const v of cur) {\n const m: CascaderOption | undefined = list.find((o) => o.value === v);\n if (!m) break;\n labels.push(m.label);\n if (!m.children) break;\n list = m.children;\n }\n\n return (\n <div ref={ref} className={`cascader ${open ? \"open\" : \"\"} ${className}`}>\n <button\n type=\"button\"\n className={`cascader-trigger ${labels.length === 0 ? \"placeholder\" : \"\"}`}\n disabled={disabled}\n onClick={() => !disabled && setOpen((o) => !o)}\n >\n <span style={{ flex: 1 }}>\n {labels.length ? labels.map((l, i) => <span key={i}>{i > 0 && \" / \"}{l}</span>) : placeholder}\n </span>\n <span style={{ position: \"absolute\", right: 12, color: \"var(--fg-subtle)\" }}>\n <Icon name=\"chevDown\" size={14} />\n </span>\n </button>\n {open && typeof document !== \"undefined\" &&\n createPortal(\n <div ref={panelRef} className=\"cascader-panel\" style={floatingStyle}>\n {columns.map((col, depth) => (\n <div key={depth} className=\"cascader-col\">\n {col.map((o) => {\n const isActive = path[depth] === o.value;\n const hasChildren = !!(o.children && o.children.length);\n return (\n <button\n key={o.value}\n type=\"button\"\n className={`cascader-item ${isActive ? \"active\" : \"\"}`}\n disabled={o.disabled}\n onClick={() => pick(depth, o.value, hasChildren)}\n >\n {o.icon && <Icon name={o.icon} size={13} />}\n <span>{o.label}</span>\n {hasChildren && (\n <span className=\"chev\">\n <Icon name=\"chevRight\" size={12} />\n </span>\n )}\n </button>\n );\n })}\n </div>\n ))}\n </div>,\n document.body\n )}\n </div>\n );\n};\n"]}
package/dist/index.cjs CHANGED
@@ -1,55 +1,56 @@
1
1
  'use strict';
2
2
 
3
- var chunkMDQNUKCP_cjs = require('./chunk-MDQNUKCP.cjs');
3
+ var chunkV6466VMN_cjs = require('./chunk-V6466VMN.cjs');
4
4
  var chunk5EAVXFFD_cjs = require('./chunk-5EAVXFFD.cjs');
5
5
  var chunkQ7CDWNM6_cjs = require('./chunk-Q7CDWNM6.cjs');
6
- var chunk2ENTRT7R_cjs = require('./chunk-2ENTRT7R.cjs');
7
- var chunkOZVPJWXO_cjs = require('./chunk-OZVPJWXO.cjs');
8
- var chunk3BZ47QNV_cjs = require('./chunk-3BZ47QNV.cjs');
9
- var chunk77TZHI76_cjs = require('./chunk-77TZHI76.cjs');
10
- var chunkO2HMH5BI_cjs = require('./chunk-O2HMH5BI.cjs');
6
+ var chunkTAYFI4RG_cjs = require('./chunk-TAYFI4RG.cjs');
7
+ var chunkAJEF2ZB7_cjs = require('./chunk-AJEF2ZB7.cjs');
8
+ var chunkTCPTBLDV_cjs = require('./chunk-TCPTBLDV.cjs');
9
+ var chunkBIXW4ZYW_cjs = require('./chunk-BIXW4ZYW.cjs');
10
+ var chunkD26YHP2Y_cjs = require('./chunk-D26YHP2Y.cjs');
11
+ var chunkP2AV5BD7_cjs = require('./chunk-P2AV5BD7.cjs');
11
12
  var chunk5BFETKVP_cjs = require('./chunk-5BFETKVP.cjs');
12
- var chunkT4PI2ZX7_cjs = require('./chunk-T4PI2ZX7.cjs');
13
- var chunkRQV7SMIZ_cjs = require('./chunk-RQV7SMIZ.cjs');
13
+ var chunkD3GZSL2B_cjs = require('./chunk-D3GZSL2B.cjs');
14
+ var chunkWKNVNN2K_cjs = require('./chunk-WKNVNN2K.cjs');
14
15
  var chunkN6ZLZUBF_cjs = require('./chunk-N6ZLZUBF.cjs');
15
16
  var chunk7T2SLRNL_cjs = require('./chunk-7T2SLRNL.cjs');
16
17
  var chunk7YQWG7HR_cjs = require('./chunk-7YQWG7HR.cjs');
17
18
  var chunkYZ2I7CDF_cjs = require('./chunk-YZ2I7CDF.cjs');
18
19
  var chunkXUT2Z2L6_cjs = require('./chunk-XUT2Z2L6.cjs');
19
20
  var chunkQVFEKGKI_cjs = require('./chunk-QVFEKGKI.cjs');
20
- var chunkHXSAH4Y6_cjs = require('./chunk-HXSAH4Y6.cjs');
21
- var chunkBCPAY65C_cjs = require('./chunk-BCPAY65C.cjs');
21
+ var chunkWR3FML2W_cjs = require('./chunk-WR3FML2W.cjs');
22
+ var chunk2D5VCIJZ_cjs = require('./chunk-2D5VCIJZ.cjs');
22
23
  var chunkNQQWCIE6_cjs = require('./chunk-NQQWCIE6.cjs');
23
- var chunkSMHXSEBD_cjs = require('./chunk-SMHXSEBD.cjs');
24
+ var chunkGT45MQAK_cjs = require('./chunk-GT45MQAK.cjs');
24
25
  var chunkMUFMJPRT_cjs = require('./chunk-MUFMJPRT.cjs');
25
- var chunkWVBFQB26_cjs = require('./chunk-WVBFQB26.cjs');
26
- var chunkNN7WMXY4_cjs = require('./chunk-NN7WMXY4.cjs');
27
- var chunkLLNEDEST_cjs = require('./chunk-LLNEDEST.cjs');
28
- var chunkIJA26LRY_cjs = require('./chunk-IJA26LRY.cjs');
26
+ var chunkZSR5JSYZ_cjs = require('./chunk-ZSR5JSYZ.cjs');
27
+ var chunkUUY7EDVJ_cjs = require('./chunk-UUY7EDVJ.cjs');
28
+ var chunk2OBQOEFD_cjs = require('./chunk-2OBQOEFD.cjs');
29
+ var chunkBPDWBY6Y_cjs = require('./chunk-BPDWBY6Y.cjs');
29
30
  var chunkWZ73TWB2_cjs = require('./chunk-WZ73TWB2.cjs');
30
31
  var chunkIZDJCEMF_cjs = require('./chunk-IZDJCEMF.cjs');
31
- var chunkN73JGXYZ_cjs = require('./chunk-N73JGXYZ.cjs');
32
- var chunkHJIKU6MF_cjs = require('./chunk-HJIKU6MF.cjs');
33
- var chunkTZXEZFCI_cjs = require('./chunk-TZXEZFCI.cjs');
32
+ var chunk3ES5QPAF_cjs = require('./chunk-3ES5QPAF.cjs');
33
+ var chunkS7RFIMA3_cjs = require('./chunk-S7RFIMA3.cjs');
34
+ var chunkH2QTLV5T_cjs = require('./chunk-H2QTLV5T.cjs');
34
35
  var chunk33TIL25B_cjs = require('./chunk-33TIL25B.cjs');
35
- var chunkVQBZKRIB_cjs = require('./chunk-VQBZKRIB.cjs');
36
- require('./chunk-RZ2E3XEU.cjs');
37
- var chunkYFBHVTKN_cjs = require('./chunk-YFBHVTKN.cjs');
36
+ var chunkDF5K2BZ2_cjs = require('./chunk-DF5K2BZ2.cjs');
37
+ require('./chunk-3XIDJEYR.cjs');
38
+ var chunkIJIQ4H6C_cjs = require('./chunk-IJIQ4H6C.cjs');
38
39
  var chunkTQLCIXCK_cjs = require('./chunk-TQLCIXCK.cjs');
39
- var chunkRWHWEQQX_cjs = require('./chunk-RWHWEQQX.cjs');
40
- var chunkXYVJ3FBQ_cjs = require('./chunk-XYVJ3FBQ.cjs');
41
- var chunkYCHUHMNP_cjs = require('./chunk-YCHUHMNP.cjs');
40
+ var chunkU7TAQLPN_cjs = require('./chunk-U7TAQLPN.cjs');
41
+ var chunkI7UJA6RM_cjs = require('./chunk-I7UJA6RM.cjs');
42
+ var chunk3KQKEE5O_cjs = require('./chunk-3KQKEE5O.cjs');
42
43
 
43
44
  // src/index.ts
44
- var VERSION = "0.5.0";
45
+ var VERSION = "0.5.1";
45
46
 
46
47
  Object.defineProperty(exports, "Table", {
47
48
  enumerable: true,
48
- get: function () { return chunkMDQNUKCP_cjs.Table; }
49
+ get: function () { return chunkV6466VMN_cjs.Table; }
49
50
  });
50
51
  Object.defineProperty(exports, "TablePro", {
51
52
  enumerable: true,
52
- get: function () { return chunkMDQNUKCP_cjs.TablePro; }
53
+ get: function () { return chunkV6466VMN_cjs.TablePro; }
53
54
  });
54
55
  Object.defineProperty(exports, "Segmented", {
55
56
  enumerable: true,
@@ -95,45 +96,49 @@ Object.defineProperty(exports, "useThemeOptional", {
95
96
  enumerable: true,
96
97
  get: function () { return chunkQ7CDWNM6_cjs.useThemeOptional; }
97
98
  });
99
+ Object.defineProperty(exports, "Timeline", {
100
+ enumerable: true,
101
+ get: function () { return chunkTAYFI4RG_cjs.Timeline; }
102
+ });
98
103
  Object.defineProperty(exports, "ToastContainer", {
99
104
  enumerable: true,
100
- get: function () { return chunk2ENTRT7R_cjs.ToastContainer; }
105
+ get: function () { return chunkAJEF2ZB7_cjs.ToastContainer; }
101
106
  });
102
107
  Object.defineProperty(exports, "toast", {
103
108
  enumerable: true,
104
- get: function () { return chunk2ENTRT7R_cjs.toast; }
109
+ get: function () { return chunkAJEF2ZB7_cjs.toast; }
105
110
  });
106
111
  Object.defineProperty(exports, "Tooltip", {
107
112
  enumerable: true,
108
- get: function () { return chunkOZVPJWXO_cjs.Tooltip; }
113
+ get: function () { return chunkTCPTBLDV_cjs.Tooltip; }
109
114
  });
110
115
  Object.defineProperty(exports, "Link", {
111
116
  enumerable: true,
112
- get: function () { return chunk3BZ47QNV_cjs.Link; }
117
+ get: function () { return chunkBIXW4ZYW_cjs.Link; }
113
118
  });
114
119
  Object.defineProperty(exports, "Paragraph", {
115
120
  enumerable: true,
116
- get: function () { return chunk3BZ47QNV_cjs.Paragraph; }
121
+ get: function () { return chunkBIXW4ZYW_cjs.Paragraph; }
117
122
  });
118
123
  Object.defineProperty(exports, "Text", {
119
124
  enumerable: true,
120
- get: function () { return chunk3BZ47QNV_cjs.Text; }
125
+ get: function () { return chunkBIXW4ZYW_cjs.Text; }
121
126
  });
122
127
  Object.defineProperty(exports, "Title", {
123
128
  enumerable: true,
124
- get: function () { return chunk3BZ47QNV_cjs.Title; }
129
+ get: function () { return chunkBIXW4ZYW_cjs.Title; }
125
130
  });
126
131
  Object.defineProperty(exports, "Typography", {
127
132
  enumerable: true,
128
- get: function () { return chunk3BZ47QNV_cjs.Typography; }
133
+ get: function () { return chunkBIXW4ZYW_cjs.Typography; }
129
134
  });
130
135
  Object.defineProperty(exports, "Pagination", {
131
136
  enumerable: true,
132
- get: function () { return chunk77TZHI76_cjs.Pagination; }
137
+ get: function () { return chunkD26YHP2Y_cjs.Pagination; }
133
138
  });
134
139
  Object.defineProperty(exports, "Popover", {
135
140
  enumerable: true,
136
- get: function () { return chunkO2HMH5BI_cjs.Popover; }
141
+ get: function () { return chunkP2AV5BD7_cjs.Popover; }
137
142
  });
138
143
  Object.defineProperty(exports, "Progress", {
139
144
  enumerable: true,
@@ -145,15 +150,15 @@ Object.defineProperty(exports, "Ring", {
145
150
  });
146
151
  Object.defineProperty(exports, "Select", {
147
152
  enumerable: true,
148
- get: function () { return chunkT4PI2ZX7_cjs.Select; }
153
+ get: function () { return chunkD3GZSL2B_cjs.Select; }
149
154
  });
150
155
  Object.defineProperty(exports, "Badge", {
151
156
  enumerable: true,
152
- get: function () { return chunkRQV7SMIZ_cjs.Badge; }
157
+ get: function () { return chunkWKNVNN2K_cjs.Badge; }
153
158
  });
154
159
  Object.defineProperty(exports, "Tag", {
155
160
  enumerable: true,
156
- get: function () { return chunkRQV7SMIZ_cjs.Tag; }
161
+ get: function () { return chunkWKNVNN2K_cjs.Tag; }
157
162
  });
158
163
  Object.defineProperty(exports, "Slider", {
159
164
  enumerable: true,
@@ -201,15 +206,15 @@ Object.defineProperty(exports, "useForm", {
201
206
  });
202
207
  Object.defineProperty(exports, "Image", {
203
208
  enumerable: true,
204
- get: function () { return chunkHXSAH4Y6_cjs.Image; }
209
+ get: function () { return chunkWR3FML2W_cjs.Image; }
205
210
  });
206
211
  Object.defineProperty(exports, "ImageGrid", {
207
212
  enumerable: true,
208
- get: function () { return chunkHXSAH4Y6_cjs.ImageGrid; }
213
+ get: function () { return chunkWR3FML2W_cjs.ImageGrid; }
209
214
  });
210
215
  Object.defineProperty(exports, "InputNumber", {
211
216
  enumerable: true,
212
- get: function () { return chunkBCPAY65C_cjs.InputNumber; }
217
+ get: function () { return chunk2D5VCIJZ_cjs.InputNumber; }
213
218
  });
214
219
  Object.defineProperty(exports, "List", {
215
220
  enumerable: true,
@@ -217,7 +222,7 @@ Object.defineProperty(exports, "List", {
217
222
  });
218
223
  Object.defineProperty(exports, "Modal", {
219
224
  enumerable: true,
220
- get: function () { return chunkSMHXSEBD_cjs.Modal; }
225
+ get: function () { return chunkGT45MQAK_cjs.Modal; }
221
226
  });
222
227
  Object.defineProperty(exports, "Card", {
223
228
  enumerable: true,
@@ -229,23 +234,23 @@ Object.defineProperty(exports, "Panel", {
229
234
  });
230
235
  Object.defineProperty(exports, "Cascader", {
231
236
  enumerable: true,
232
- get: function () { return chunkWVBFQB26_cjs.Cascader; }
237
+ get: function () { return chunkZSR5JSYZ_cjs.Cascader; }
233
238
  });
234
239
  Object.defineProperty(exports, "Checkbox", {
235
240
  enumerable: true,
236
- get: function () { return chunkNN7WMXY4_cjs.Checkbox; }
241
+ get: function () { return chunkUUY7EDVJ_cjs.Checkbox; }
237
242
  });
238
243
  Object.defineProperty(exports, "RadioGroup", {
239
244
  enumerable: true,
240
- get: function () { return chunkNN7WMXY4_cjs.RadioGroup; }
245
+ get: function () { return chunkUUY7EDVJ_cjs.RadioGroup; }
241
246
  });
242
247
  Object.defineProperty(exports, "ColorPicker", {
243
248
  enumerable: true,
244
- get: function () { return chunkLLNEDEST_cjs.ColorPicker; }
249
+ get: function () { return chunk2OBQOEFD_cjs.ColorPicker; }
245
250
  });
246
251
  Object.defineProperty(exports, "CommandPalette", {
247
252
  enumerable: true,
248
- get: function () { return chunkIJA26LRY_cjs.CommandPalette; }
253
+ get: function () { return chunkBPDWBY6Y_cjs.CommandPalette; }
249
254
  });
250
255
  Object.defineProperty(exports, "ContextMenu", {
251
256
  enumerable: true,
@@ -257,15 +262,15 @@ Object.defineProperty(exports, "Divider", {
257
262
  });
258
263
  Object.defineProperty(exports, "Drawer", {
259
264
  enumerable: true,
260
- get: function () { return chunkN73JGXYZ_cjs.Drawer; }
265
+ get: function () { return chunk3ES5QPAF_cjs.Drawer; }
261
266
  });
262
267
  Object.defineProperty(exports, "Accordion", {
263
268
  enumerable: true,
264
- get: function () { return chunkHJIKU6MF_cjs.Accordion; }
269
+ get: function () { return chunkS7RFIMA3_cjs.Accordion; }
265
270
  });
266
271
  Object.defineProperty(exports, "Alert", {
267
272
  enumerable: true,
268
- get: function () { return chunkTZXEZFCI_cjs.Alert; }
273
+ get: function () { return chunkH2QTLV5T_cjs.Alert; }
269
274
  });
270
275
  Object.defineProperty(exports, "AppShell", {
271
276
  enumerable: true,
@@ -285,15 +290,15 @@ Object.defineProperty(exports, "WindowControls", {
285
290
  });
286
291
  Object.defineProperty(exports, "AutoComplete", {
287
292
  enumerable: true,
288
- get: function () { return chunkVQBZKRIB_cjs.AutoComplete; }
293
+ get: function () { return chunkDF5K2BZ2_cjs.AutoComplete; }
289
294
  });
290
295
  Object.defineProperty(exports, "Input", {
291
296
  enumerable: true,
292
- get: function () { return chunkYFBHVTKN_cjs.Input; }
297
+ get: function () { return chunkIJIQ4H6C_cjs.Input; }
293
298
  });
294
299
  Object.defineProperty(exports, "Textarea", {
295
300
  enumerable: true,
296
- get: function () { return chunkYFBHVTKN_cjs.Textarea; }
301
+ get: function () { return chunkIJIQ4H6C_cjs.Textarea; }
297
302
  });
298
303
  Object.defineProperty(exports, "Avatar", {
299
304
  enumerable: true,
@@ -301,23 +306,23 @@ Object.defineProperty(exports, "Avatar", {
301
306
  });
302
307
  Object.defineProperty(exports, "Button", {
303
308
  enumerable: true,
304
- get: function () { return chunkRWHWEQQX_cjs.Button; }
309
+ get: function () { return chunkU7TAQLPN_cjs.Button; }
305
310
  });
306
311
  Object.defineProperty(exports, "IconButton", {
307
312
  enumerable: true,
308
- get: function () { return chunkRWHWEQQX_cjs.IconButton; }
313
+ get: function () { return chunkU7TAQLPN_cjs.IconButton; }
309
314
  });
310
315
  Object.defineProperty(exports, "Calendar", {
311
316
  enumerable: true,
312
- get: function () { return chunkXYVJ3FBQ_cjs.Calendar; }
317
+ get: function () { return chunkI7UJA6RM_cjs.Calendar; }
313
318
  });
314
319
  Object.defineProperty(exports, "ICON_NAMES", {
315
320
  enumerable: true,
316
- get: function () { return chunkYCHUHMNP_cjs.ICON_NAMES; }
321
+ get: function () { return chunk3KQKEE5O_cjs.ICON_NAMES; }
317
322
  });
318
323
  Object.defineProperty(exports, "Icon", {
319
324
  enumerable: true,
320
- get: function () { return chunkYCHUHMNP_cjs.Icon; }
325
+ get: function () { return chunk3KQKEE5O_cjs.Icon; }
321
326
  });
322
327
  exports.VERSION = VERSION;
323
328
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CO,IAAM,OAAA,GAAU","file":"index.cjs","sourcesContent":["/* lumina — public exports */\n\nexport * from \"./components/Icon\";\nexport * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Switch\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Select\";\nexport * from \"./components/Tabs\";\nexport * from \"./components/Accordion\";\nexport * from \"./components/Card\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Progress\";\nexport * from \"./components/Modal\";\nexport * from \"./components/Toast\";\nexport * from \"./components/Tooltip\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Alert\";\nexport * from \"./components/Table\";\nexport * from \"./components/Pagination\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/List\";\nexport * from \"./components/AppShell\";\nexport * from \"./components/StatusBar\";\nexport * from \"./components/Splitter\";\nexport * from \"./components/ContextMenu\";\nexport * from \"./components/CommandPalette\";\nexport * from \"./components/InputNumber\";\nexport * from \"./components/AutoComplete\";\nexport * from \"./components/Form\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Image\";\nexport * from \"./components/Cascader\";\nexport * from \"./components/Typography\";\nexport * from \"./components/ColorPicker\";\nexport * from \"./components/Drawer\";\nexport * from \"./components/Theme\";\n\n/** Package version — bumped by release scripts. */\nexport const VERSION = \"0.5.0\";\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CO,IAAM,OAAA,GAAU","file":"index.cjs","sourcesContent":["/* lumina — public exports */\n\nexport * from \"./components/Icon\";\nexport * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Switch\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Select\";\nexport * from \"./components/Tabs\";\nexport * from \"./components/Accordion\";\nexport * from \"./components/Card\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Progress\";\nexport * from \"./components/Modal\";\nexport * from \"./components/Toast\";\nexport * from \"./components/Tooltip\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Alert\";\nexport * from \"./components/Table\";\nexport * from \"./components/Pagination\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/List\";\nexport * from \"./components/AppShell\";\nexport * from \"./components/StatusBar\";\nexport * from \"./components/Splitter\";\nexport * from \"./components/ContextMenu\";\nexport * from \"./components/CommandPalette\";\nexport * from \"./components/InputNumber\";\nexport * from \"./components/AutoComplete\";\nexport * from \"./components/Form\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Image\";\nexport * from \"./components/Cascader\";\nexport * from \"./components/Typography\";\nexport * from \"./components/ColorPicker\";\nexport * from \"./components/Drawer\";\nexport * from \"./components/Theme\";\nexport * from \"./components/Timeline\";\n\n/** Package version — bumped by release scripts. */\nexport const VERSION = \"0.5.1\";\n"]}
package/dist/index.d.cts CHANGED
@@ -36,10 +36,11 @@ export { BaseTypographyProps, CopyableConfig, EditableConfig, EllipsisConfig, Li
36
36
  export { ColorPicker, ColorPickerProps } from './ColorPicker.cjs';
37
37
  export { Drawer, DrawerProps } from './Drawer.cjs';
38
38
  export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, AccentKey, AccentPalette, CustomAccentInput, DensityMode, FONT_STACKS, FontConfig, FontKey, ResolvedThemeMode, ThemeConfig, ThemeMode, ThemeProvider, ThemeProviderProps, ThemeTokens, ThemeValue, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional } from './Theme.cjs';
39
+ export { Timeline, TimelineItemConfig, TimelineProps } from './Timeline.cjs';
39
40
  import 'react';
40
41
  import 'react/jsx-runtime';
41
42
 
42
43
  /** Package version — bumped by release scripts. */
43
- declare const VERSION = "0.5.0";
44
+ declare const VERSION = "0.5.1";
44
45
 
45
46
  export { VERSION };
package/dist/index.d.ts CHANGED
@@ -36,10 +36,11 @@ export { BaseTypographyProps, CopyableConfig, EditableConfig, EllipsisConfig, Li
36
36
  export { ColorPicker, ColorPickerProps } from './ColorPicker.js';
37
37
  export { Drawer, DrawerProps } from './Drawer.js';
38
38
  export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, AccentKey, AccentPalette, CustomAccentInput, DensityMode, FONT_STACKS, FontConfig, FontKey, ResolvedThemeMode, ThemeConfig, ThemeMode, ThemeProvider, ThemeProviderProps, ThemeTokens, ThemeValue, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional } from './Theme.js';
39
+ export { Timeline, TimelineItemConfig, TimelineProps } from './Timeline.js';
39
40
  import 'react';
40
41
  import 'react/jsx-runtime';
41
42
 
42
43
  /** Package version — bumped by release scripts. */
43
- declare const VERSION = "0.5.0";
44
+ declare const VERSION = "0.5.1";
44
45
 
45
46
  export { VERSION };
package/dist/index.js CHANGED
@@ -1,45 +1,46 @@
1
- export { Table, TablePro } from './chunk-CTYW42GG.js';
1
+ export { Table, TablePro } from './chunk-JQZFOIX6.js';
2
2
  export { Segmented, Tabs } from './chunk-JSDQVVQB.js';
3
3
  export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, FONT_STACKS, ThemeProvider, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional } from './chunk-W6I67HQQ.js';
4
- export { ToastContainer, toast } from './chunk-7M7NAMR5.js';
5
- export { Tooltip } from './chunk-FFZLSY2N.js';
6
- export { Link, Paragraph, Text, Title, Typography } from './chunk-I7WLFADD.js';
7
- export { Pagination } from './chunk-AESLEYST.js';
8
- export { Popover } from './chunk-3UU2PUK4.js';
4
+ export { Timeline } from './chunk-S3NIRNWM.js';
5
+ export { ToastContainer, toast } from './chunk-DLGFIRVW.js';
6
+ export { Tooltip } from './chunk-HHPYY4LH.js';
7
+ export { Link, Paragraph, Text, Title, Typography } from './chunk-LWN2PXW7.js';
8
+ export { Pagination } from './chunk-RJNGXR5Y.js';
9
+ export { Popover } from './chunk-UEHONGPZ.js';
9
10
  export { Progress, Ring } from './chunk-5PREWYTB.js';
10
- export { Select } from './chunk-6XZ362VL.js';
11
- export { Badge, Tag } from './chunk-LXNR6TQK.js';
11
+ export { Select } from './chunk-XT7RXXOE.js';
12
+ export { Badge, Tag } from './chunk-ILVNMES2.js';
12
13
  export { Slider } from './chunk-2TZ2R7L2.js';
13
14
  export { Splitter } from './chunk-47Z4NIU4.js';
14
15
  export { StatusBar, StatusBarItem } from './chunk-OWNVDXRQ.js';
15
16
  export { Switch } from './chunk-6GNFRP2H.js';
16
17
  export { Empty, Skeleton, Spinner } from './chunk-GR5STMOA.js';
17
18
  export { Form, FormItem, useForm } from './chunk-IHACXMOI.js';
18
- export { Image, ImageGrid } from './chunk-OM76QWUN.js';
19
- export { InputNumber } from './chunk-E62JFAHW.js';
19
+ export { Image, ImageGrid } from './chunk-UXABXEWT.js';
20
+ export { InputNumber } from './chunk-TGUDT3GK.js';
20
21
  export { List } from './chunk-WDBJVKSR.js';
21
- export { Modal } from './chunk-TZLM5GF4.js';
22
+ export { Modal } from './chunk-5SJJI3HL.js';
22
23
  export { Card, Panel } from './chunk-4SCDDSXY.js';
23
- export { Cascader } from './chunk-ZFJHUOFU.js';
24
- export { Checkbox, RadioGroup } from './chunk-PKXXR76Q.js';
25
- export { ColorPicker } from './chunk-I2HHC6QW.js';
26
- export { CommandPalette } from './chunk-6Z24VO3K.js';
24
+ export { Cascader } from './chunk-P4XPESR2.js';
25
+ export { Checkbox, RadioGroup } from './chunk-4ADDAZK3.js';
26
+ export { ColorPicker } from './chunk-N5W6XJI2.js';
27
+ export { CommandPalette } from './chunk-E7UQSFKF.js';
27
28
  export { ContextMenu } from './chunk-RFU5HN4E.js';
28
29
  export { Divider } from './chunk-5N7347MI.js';
29
- export { Drawer } from './chunk-FXQGPHK2.js';
30
- export { Accordion } from './chunk-O7C6S644.js';
31
- export { Alert } from './chunk-KW7Z4IQC.js';
30
+ export { Drawer } from './chunk-AZRJZM7W.js';
31
+ export { Accordion } from './chunk-WBL7LOIH.js';
32
+ export { Alert } from './chunk-FLPHVK45.js';
32
33
  export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-UQB5OHMO.js';
33
- export { AutoComplete } from './chunk-IOWREUEP.js';
34
- import './chunk-V2DIQ3RH.js';
35
- export { Input, Textarea } from './chunk-WUOFJPZ4.js';
34
+ export { AutoComplete } from './chunk-3YYOYDKI.js';
35
+ import './chunk-ANAQER3T.js';
36
+ export { Input, Textarea } from './chunk-GB5NAXBP.js';
36
37
  export { Avatar } from './chunk-NS3C2ZSE.js';
37
- export { Button, IconButton } from './chunk-JXHMJUVI.js';
38
- export { Calendar } from './chunk-XCYE4OQV.js';
39
- export { ICON_NAMES, Icon } from './chunk-QOGROEVD.js';
38
+ export { Button, IconButton } from './chunk-JELHUUM5.js';
39
+ export { Calendar } from './chunk-TMRSI543.js';
40
+ export { ICON_NAMES, Icon } from './chunk-X3JG3IR6.js';
40
41
 
41
42
  // src/index.ts
42
- var VERSION = "0.5.0";
43
+ var VERSION = "0.5.1";
43
44
 
44
45
  export { VERSION };
45
46
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CO,IAAM,OAAA,GAAU","file":"index.js","sourcesContent":["/* lumina — public exports */\n\nexport * from \"./components/Icon\";\nexport * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Switch\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Select\";\nexport * from \"./components/Tabs\";\nexport * from \"./components/Accordion\";\nexport * from \"./components/Card\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Progress\";\nexport * from \"./components/Modal\";\nexport * from \"./components/Toast\";\nexport * from \"./components/Tooltip\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Alert\";\nexport * from \"./components/Table\";\nexport * from \"./components/Pagination\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/List\";\nexport * from \"./components/AppShell\";\nexport * from \"./components/StatusBar\";\nexport * from \"./components/Splitter\";\nexport * from \"./components/ContextMenu\";\nexport * from \"./components/CommandPalette\";\nexport * from \"./components/InputNumber\";\nexport * from \"./components/AutoComplete\";\nexport * from \"./components/Form\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Image\";\nexport * from \"./components/Cascader\";\nexport * from \"./components/Typography\";\nexport * from \"./components/ColorPicker\";\nexport * from \"./components/Drawer\";\nexport * from \"./components/Theme\";\n\n/** Package version — bumped by release scripts. */\nexport const VERSION = \"0.5.0\";\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CO,IAAM,OAAA,GAAU","file":"index.js","sourcesContent":["/* lumina — public exports */\n\nexport * from \"./components/Icon\";\nexport * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Switch\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Select\";\nexport * from \"./components/Tabs\";\nexport * from \"./components/Accordion\";\nexport * from \"./components/Card\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Progress\";\nexport * from \"./components/Modal\";\nexport * from \"./components/Toast\";\nexport * from \"./components/Tooltip\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Alert\";\nexport * from \"./components/Table\";\nexport * from \"./components/Pagination\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/List\";\nexport * from \"./components/AppShell\";\nexport * from \"./components/StatusBar\";\nexport * from \"./components/Splitter\";\nexport * from \"./components/ContextMenu\";\nexport * from \"./components/CommandPalette\";\nexport * from \"./components/InputNumber\";\nexport * from \"./components/AutoComplete\";\nexport * from \"./components/Form\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Image\";\nexport * from \"./components/Cascader\";\nexport * from \"./components/Typography\";\nexport * from \"./components/ColorPicker\";\nexport * from \"./components/Drawer\";\nexport * from \"./components/Theme\";\nexport * from \"./components/Timeline\";\n\n/** Package version — bumped by release scripts. */\nexport const VERSION = \"0.5.1\";\n"]}