@nofinite/nui 1.0.1 → 1.1.0

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 (356) hide show
  1. package/dist/CHANGELOG.md +19 -0
  2. package/dist/LICENSE +201 -0
  3. package/dist/README.md +48 -0
  4. package/dist/dist/components/accordion/Accordion.cjs +2 -0
  5. package/dist/dist/components/accordion/Accordion.cjs.map +1 -0
  6. package/dist/dist/components/accordion/Accordion.js +51 -0
  7. package/dist/dist/components/accordion/Accordion.js.map +1 -0
  8. package/dist/dist/components/alert/Alert.cjs +2 -0
  9. package/dist/dist/components/alert/Alert.cjs.map +1 -0
  10. package/dist/dist/components/alert/Alert.js +32 -0
  11. package/dist/dist/components/alert/Alert.js.map +1 -0
  12. package/dist/dist/components/avatar/Avatar.cjs +2 -0
  13. package/dist/dist/components/avatar/Avatar.cjs.map +1 -0
  14. package/dist/dist/components/avatar/Avatar.js +51 -0
  15. package/dist/dist/components/avatar/Avatar.js.map +1 -0
  16. package/dist/dist/components/avatar/AvatarGroup.cjs +2 -0
  17. package/dist/dist/components/avatar/AvatarGroup.cjs.map +1 -0
  18. package/dist/dist/components/avatar/AvatarGroup.js +32 -0
  19. package/dist/dist/components/avatar/AvatarGroup.js.map +1 -0
  20. package/dist/dist/components/badge/Badge.cjs +2 -0
  21. package/dist/dist/components/badge/Badge.cjs.map +1 -0
  22. package/dist/dist/components/badge/Badge.js +81 -0
  23. package/dist/dist/components/badge/Badge.js.map +1 -0
  24. package/dist/dist/components/badge/BadgeGroup.cjs +2 -0
  25. package/dist/dist/components/badge/BadgeGroup.cjs.map +1 -0
  26. package/dist/dist/components/badge/BadgeGroup.js +17 -0
  27. package/dist/dist/components/badge/BadgeGroup.js.map +1 -0
  28. package/dist/dist/components/breadcrumbs/Breadcrumbs.cjs +2 -0
  29. package/dist/dist/components/breadcrumbs/Breadcrumbs.cjs.map +1 -0
  30. package/dist/dist/components/breadcrumbs/Breadcrumbs.js +46 -0
  31. package/dist/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -0
  32. package/dist/dist/components/button/Button.cjs +2 -0
  33. package/dist/dist/components/button/Button.cjs.map +1 -0
  34. package/dist/dist/components/button/Button.js +21 -0
  35. package/dist/dist/components/button/Button.js.map +1 -0
  36. package/dist/dist/components/card/Card.cjs +2 -0
  37. package/dist/dist/components/card/Card.cjs.map +1 -0
  38. package/dist/dist/components/card/Card.js +50 -0
  39. package/dist/dist/components/card/Card.js.map +1 -0
  40. package/dist/dist/components/checkbox/Checkbox.cjs +2 -0
  41. package/dist/dist/components/checkbox/Checkbox.cjs.map +1 -0
  42. package/dist/dist/components/checkbox/Checkbox.js +46 -0
  43. package/dist/dist/components/checkbox/Checkbox.js.map +1 -0
  44. package/dist/dist/components/chip/Chip.cjs +2 -0
  45. package/dist/dist/components/chip/Chip.cjs.map +1 -0
  46. package/dist/dist/components/chip/Chip.js +51 -0
  47. package/dist/dist/components/chip/Chip.js.map +1 -0
  48. package/dist/dist/components/combobox/Combobox.cjs +2 -0
  49. package/dist/dist/components/combobox/Combobox.cjs.map +1 -0
  50. package/dist/dist/components/combobox/Combobox.js +114 -0
  51. package/dist/dist/components/combobox/Combobox.js.map +1 -0
  52. package/dist/dist/components/commandpalette/CommandPalette.cjs +2 -0
  53. package/dist/dist/components/commandpalette/CommandPalette.cjs.map +1 -0
  54. package/dist/dist/components/commandpalette/CommandPalette.js +111 -0
  55. package/dist/dist/components/commandpalette/CommandPalette.js.map +1 -0
  56. package/dist/dist/components/contextmenu/ContextMenu.cjs +2 -0
  57. package/dist/dist/components/contextmenu/ContextMenu.cjs.map +1 -0
  58. package/dist/dist/components/contextmenu/ContextMenu.js +104 -0
  59. package/dist/dist/components/contextmenu/ContextMenu.js.map +1 -0
  60. package/dist/dist/components/datagrid/DataGrid.cjs +2 -0
  61. package/dist/dist/components/datagrid/DataGrid.cjs.map +1 -0
  62. package/dist/dist/components/datagrid/DataGrid.js +227 -0
  63. package/dist/dist/components/datagrid/DataGrid.js.map +1 -0
  64. package/dist/dist/components/datepicker/DatePicker.cjs +2 -0
  65. package/dist/dist/components/datepicker/DatePicker.cjs.map +1 -0
  66. package/dist/dist/components/datepicker/DatePicker.js +265 -0
  67. package/dist/dist/components/datepicker/DatePicker.js.map +1 -0
  68. package/dist/dist/components/daterangepicker/DateRangePicker.cjs +2 -0
  69. package/dist/dist/components/daterangepicker/DateRangePicker.cjs.map +1 -0
  70. package/dist/dist/components/daterangepicker/DateRangePicker.js +322 -0
  71. package/dist/dist/components/daterangepicker/DateRangePicker.js.map +1 -0
  72. package/dist/dist/components/drawer/Drawer.cjs +2 -0
  73. package/dist/dist/components/drawer/Drawer.cjs.map +1 -0
  74. package/dist/dist/components/drawer/Drawer.js +57 -0
  75. package/dist/dist/components/drawer/Drawer.js.map +1 -0
  76. package/dist/dist/components/dropdown/Dropdown.cjs +2 -0
  77. package/dist/dist/components/dropdown/Dropdown.cjs.map +1 -0
  78. package/dist/dist/components/dropdown/Dropdown.js +115 -0
  79. package/dist/dist/components/dropdown/Dropdown.js.map +1 -0
  80. package/dist/dist/components/fileuploader/FileUploader.cjs +2 -0
  81. package/dist/dist/components/fileuploader/FileUploader.cjs.map +1 -0
  82. package/dist/dist/components/fileuploader/FileUploader.js +83 -0
  83. package/dist/dist/components/fileuploader/FileUploader.js.map +1 -0
  84. package/dist/dist/components/hovercard/HoverCard.cjs +2 -0
  85. package/dist/dist/components/hovercard/HoverCard.cjs.map +1 -0
  86. package/dist/dist/components/hovercard/HoverCard.js +78 -0
  87. package/dist/dist/components/hovercard/HoverCard.js.map +1 -0
  88. package/dist/dist/components/input/Input.cjs +2 -0
  89. package/dist/dist/components/input/Input.cjs.map +1 -0
  90. package/dist/dist/components/input/Input.js +41 -0
  91. package/dist/dist/components/input/Input.js.map +1 -0
  92. package/dist/dist/components/layout/Container.cjs +2 -0
  93. package/dist/dist/components/layout/Container.cjs.map +1 -0
  94. package/dist/dist/components/layout/Container.js +33 -0
  95. package/dist/dist/components/layout/Container.js.map +1 -0
  96. package/dist/dist/components/layout/Flex.cjs +2 -0
  97. package/dist/dist/components/layout/Flex.cjs.map +1 -0
  98. package/dist/dist/components/layout/Flex.js +26 -0
  99. package/dist/dist/components/layout/Flex.js.map +1 -0
  100. package/dist/dist/components/layout/Grid.cjs +2 -0
  101. package/dist/dist/components/layout/Grid.cjs.map +1 -0
  102. package/dist/dist/components/layout/Grid.js +21 -0
  103. package/dist/dist/components/layout/Grid.js.map +1 -0
  104. package/dist/dist/components/layout/HStack.cjs +2 -0
  105. package/dist/dist/components/layout/HStack.cjs.map +1 -0
  106. package/dist/dist/components/layout/HStack.js +9 -0
  107. package/dist/dist/components/layout/HStack.js.map +1 -0
  108. package/dist/dist/components/layout/Stack.cjs +2 -0
  109. package/dist/dist/components/layout/Stack.cjs.map +1 -0
  110. package/dist/dist/components/layout/Stack.js +9 -0
  111. package/dist/dist/components/layout/Stack.js.map +1 -0
  112. package/dist/dist/components/megamenu/MegaMenu.cjs +2 -0
  113. package/dist/dist/components/megamenu/MegaMenu.cjs.map +1 -0
  114. package/dist/dist/components/megamenu/MegaMenu.js +43 -0
  115. package/dist/dist/components/megamenu/MegaMenu.js.map +1 -0
  116. package/dist/dist/components/modal/Modal.cjs +2 -0
  117. package/dist/dist/components/modal/Modal.cjs.map +1 -0
  118. package/dist/dist/components/modal/Modal.js +91 -0
  119. package/dist/dist/components/modal/Modal.js.map +1 -0
  120. package/dist/dist/components/pagination/Pagination.cjs +2 -0
  121. package/dist/dist/components/pagination/Pagination.cjs.map +1 -0
  122. package/dist/dist/components/pagination/Pagination.js +62 -0
  123. package/dist/dist/components/pagination/Pagination.js.map +1 -0
  124. package/dist/dist/components/popover/Popover.cjs +2 -0
  125. package/dist/dist/components/popover/Popover.cjs.map +1 -0
  126. package/dist/dist/components/popover/Popover.js +123 -0
  127. package/dist/dist/components/popover/Popover.js.map +1 -0
  128. package/dist/dist/components/progress/Progress.cjs +2 -0
  129. package/dist/dist/components/progress/Progress.cjs.map +1 -0
  130. package/dist/dist/components/progress/Progress.js +33 -0
  131. package/dist/dist/components/progress/Progress.js.map +1 -0
  132. package/dist/dist/components/radiogroup/RadioGroup.cjs +2 -0
  133. package/dist/dist/components/radiogroup/RadioGroup.cjs.map +1 -0
  134. package/dist/dist/components/radiogroup/RadioGroup.js +79 -0
  135. package/dist/dist/components/radiogroup/RadioGroup.js.map +1 -0
  136. package/dist/dist/components/rating/Rating.cjs +2 -0
  137. package/dist/dist/components/rating/Rating.cjs.map +1 -0
  138. package/dist/dist/components/rating/Rating.js +49 -0
  139. package/dist/dist/components/rating/Rating.js.map +1 -0
  140. package/dist/dist/components/select/Select.cjs +2 -0
  141. package/dist/dist/components/select/Select.cjs.map +1 -0
  142. package/dist/dist/components/select/Select.js +165 -0
  143. package/dist/dist/components/select/Select.js.map +1 -0
  144. package/dist/dist/components/skeleton/Skeleton.cjs +2 -0
  145. package/dist/dist/components/skeleton/Skeleton.cjs.map +1 -0
  146. package/dist/dist/components/skeleton/Skeleton.js +86 -0
  147. package/dist/dist/components/skeleton/Skeleton.js.map +1 -0
  148. package/dist/dist/components/slider/Slider.cjs +2 -0
  149. package/dist/dist/components/slider/Slider.cjs.map +1 -0
  150. package/dist/dist/components/slider/Slider.js +116 -0
  151. package/dist/dist/components/slider/Slider.js.map +1 -0
  152. package/dist/dist/components/spinner/Spinner.cjs +2 -0
  153. package/dist/dist/components/spinner/Spinner.cjs.map +1 -0
  154. package/dist/dist/components/spinner/Spinner.js +21 -0
  155. package/dist/dist/components/spinner/Spinner.js.map +1 -0
  156. package/dist/dist/components/stepper/Stepper.cjs +6 -0
  157. package/dist/dist/components/stepper/Stepper.cjs.map +1 -0
  158. package/dist/dist/components/stepper/Stepper.js +43 -0
  159. package/dist/dist/components/stepper/Stepper.js.map +1 -0
  160. package/dist/dist/components/switch/Switch.cjs +2 -0
  161. package/dist/dist/components/switch/Switch.cjs.map +1 -0
  162. package/dist/dist/components/switch/Switch.js +67 -0
  163. package/dist/dist/components/switch/Switch.js.map +1 -0
  164. package/dist/dist/components/table/Table.cjs +2 -0
  165. package/dist/dist/components/table/Table.cjs.map +1 -0
  166. package/dist/dist/components/table/Table.js +46 -0
  167. package/dist/dist/components/table/Table.js.map +1 -0
  168. package/dist/dist/components/tabs/Tabs.cjs +2 -0
  169. package/dist/dist/components/tabs/Tabs.cjs.map +1 -0
  170. package/dist/dist/components/tabs/Tabs.js +56 -0
  171. package/dist/dist/components/tabs/Tabs.js.map +1 -0
  172. package/dist/dist/components/textarea/Textarea.cjs +2 -0
  173. package/dist/dist/components/textarea/Textarea.cjs.map +1 -0
  174. package/dist/dist/components/textarea/Textarea.js +75 -0
  175. package/dist/dist/components/textarea/Textarea.js.map +1 -0
  176. package/dist/dist/components/toast/Toast.cjs +2 -0
  177. package/dist/dist/components/toast/Toast.cjs.map +1 -0
  178. package/dist/dist/components/toast/Toast.js +52 -0
  179. package/dist/dist/components/toast/Toast.js.map +1 -0
  180. package/dist/dist/components/tooltip/Tooltip.cjs +2 -0
  181. package/dist/dist/components/tooltip/Tooltip.cjs.map +1 -0
  182. package/dist/dist/components/tooltip/Tooltip.js +73 -0
  183. package/dist/dist/components/tooltip/Tooltip.js.map +1 -0
  184. package/dist/dist/components/treeview/TreeView.cjs +2 -0
  185. package/dist/dist/components/treeview/TreeView.cjs.map +1 -0
  186. package/dist/dist/components/treeview/TreeView.js +98 -0
  187. package/dist/dist/components/treeview/TreeView.js.map +1 -0
  188. package/dist/dist/components/virtuallist/VirtualList.cjs +2 -0
  189. package/dist/dist/components/virtuallist/VirtualList.cjs.map +1 -0
  190. package/dist/dist/components/virtuallist/VirtualList.js +58 -0
  191. package/dist/dist/components/virtuallist/VirtualList.js.map +1 -0
  192. package/dist/dist/index.cjs +2 -0
  193. package/dist/dist/index.cjs.map +1 -0
  194. package/dist/dist/index.js +111 -0
  195. package/dist/dist/index.js.map +1 -0
  196. package/dist/dist/styles/index.css +1 -0
  197. package/dist/dist/theme/NUIProvider.cjs +2 -0
  198. package/dist/dist/theme/NUIProvider.cjs.map +1 -0
  199. package/dist/dist/theme/NUIProvider.js +34 -0
  200. package/dist/dist/theme/NUIProvider.js.map +1 -0
  201. package/dist/dist/theme/useTheme.cjs +2 -0
  202. package/dist/dist/theme/useTheme.cjs.map +1 -0
  203. package/dist/dist/theme/useTheme.js +9 -0
  204. package/dist/dist/theme/useTheme.js.map +1 -0
  205. package/dist/dist/types/components/accordion/Accordion.d.ts +18 -0
  206. package/dist/dist/types/components/accordion/Accordion.d.ts.map +1 -0
  207. package/dist/dist/types/components/alert/Alert.d.ts +13 -0
  208. package/dist/dist/types/components/alert/Alert.d.ts.map +1 -0
  209. package/dist/dist/types/components/avatar/Avatar.d.ts +18 -0
  210. package/dist/dist/types/components/avatar/Avatar.d.ts.map +1 -0
  211. package/dist/dist/types/components/avatar/AvatarGroup.d.ts +10 -0
  212. package/dist/dist/types/components/avatar/AvatarGroup.d.ts.map +1 -0
  213. package/dist/dist/types/components/badge/Badge.d.ts +22 -0
  214. package/dist/dist/types/components/badge/Badge.d.ts.map +1 -0
  215. package/dist/dist/types/components/badge/BadgeGroup.d.ts +9 -0
  216. package/dist/dist/types/components/badge/BadgeGroup.d.ts.map +1 -0
  217. package/dist/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +15 -0
  218. package/dist/dist/types/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  219. package/dist/dist/types/components/button/Button.d.ts +15 -0
  220. package/dist/dist/types/components/button/Button.d.ts.map +1 -0
  221. package/dist/dist/types/components/card/Card.d.ts +27 -0
  222. package/dist/dist/types/components/card/Card.d.ts.map +1 -0
  223. package/dist/dist/types/components/checkbox/Checkbox.d.ts +15 -0
  224. package/dist/dist/types/components/checkbox/Checkbox.d.ts.map +1 -0
  225. package/dist/dist/types/components/chip/Chip.d.ts +21 -0
  226. package/dist/dist/types/components/chip/Chip.d.ts.map +1 -0
  227. package/dist/dist/types/components/combobox/Combobox.d.ts +24 -0
  228. package/dist/dist/types/components/combobox/Combobox.d.ts.map +1 -0
  229. package/dist/dist/types/components/commandpalette/CommandPalette.d.ts +21 -0
  230. package/dist/dist/types/components/commandpalette/CommandPalette.d.ts.map +1 -0
  231. package/dist/dist/types/components/contextmenu/ContextMenu.d.ts +17 -0
  232. package/dist/dist/types/components/contextmenu/ContextMenu.d.ts.map +1 -0
  233. package/dist/dist/types/components/datagrid/DataGrid.d.ts +28 -0
  234. package/dist/dist/types/components/datagrid/DataGrid.d.ts.map +1 -0
  235. package/dist/dist/types/components/datepicker/DatePicker.d.ts +14 -0
  236. package/dist/dist/types/components/datepicker/DatePicker.d.ts.map +1 -0
  237. package/dist/dist/types/components/daterangepicker/DateRangePicker.d.ts +19 -0
  238. package/dist/dist/types/components/daterangepicker/DateRangePicker.d.ts.map +1 -0
  239. package/dist/dist/types/components/drawer/Drawer.d.ts +12 -0
  240. package/dist/dist/types/components/drawer/Drawer.d.ts.map +1 -0
  241. package/dist/dist/types/components/dropdown/Dropdown.d.ts +18 -0
  242. package/dist/dist/types/components/dropdown/Dropdown.d.ts.map +1 -0
  243. package/dist/dist/types/components/fileuploader/FileUploader.d.ts +9 -0
  244. package/dist/dist/types/components/fileuploader/FileUploader.d.ts.map +1 -0
  245. package/dist/dist/types/components/hovercard/HoverCard.d.ts +10 -0
  246. package/dist/dist/types/components/hovercard/HoverCard.d.ts.map +1 -0
  247. package/dist/dist/types/components/input/Input.d.ts +15 -0
  248. package/dist/dist/types/components/input/Input.d.ts.map +1 -0
  249. package/dist/dist/types/components/layout/Container.d.ts +8 -0
  250. package/dist/dist/types/components/layout/Container.d.ts.map +1 -0
  251. package/dist/dist/types/components/layout/Flex.d.ts +14 -0
  252. package/dist/dist/types/components/layout/Flex.d.ts.map +1 -0
  253. package/dist/dist/types/components/layout/Grid.d.ts +10 -0
  254. package/dist/dist/types/components/layout/Grid.d.ts.map +1 -0
  255. package/dist/dist/types/components/layout/HStack.d.ts +8 -0
  256. package/dist/dist/types/components/layout/HStack.d.ts.map +1 -0
  257. package/dist/dist/types/components/layout/Stack.d.ts +8 -0
  258. package/dist/dist/types/components/layout/Stack.d.ts.map +1 -0
  259. package/dist/dist/types/components/megamenu/MegaMenu.d.ts +12 -0
  260. package/dist/dist/types/components/megamenu/MegaMenu.d.ts.map +1 -0
  261. package/dist/dist/types/components/modal/Modal.d.ts +16 -0
  262. package/dist/dist/types/components/modal/Modal.d.ts.map +1 -0
  263. package/dist/dist/types/components/pagination/Pagination.d.ts +9 -0
  264. package/dist/dist/types/components/pagination/Pagination.d.ts.map +1 -0
  265. package/dist/dist/types/components/popover/Popover.d.ts +21 -0
  266. package/dist/dist/types/components/popover/Popover.d.ts.map +1 -0
  267. package/dist/dist/types/components/progress/Progress.d.ts +13 -0
  268. package/dist/dist/types/components/progress/Progress.d.ts.map +1 -0
  269. package/dist/dist/types/components/radiogroup/RadioGroup.d.ts +18 -0
  270. package/dist/dist/types/components/radiogroup/RadioGroup.d.ts.map +1 -0
  271. package/dist/dist/types/components/rating/Rating.d.ts +19 -0
  272. package/dist/dist/types/components/rating/Rating.d.ts.map +1 -0
  273. package/dist/dist/types/components/select/Select.d.ts +20 -0
  274. package/dist/dist/types/components/select/Select.d.ts.map +1 -0
  275. package/dist/dist/types/components/skeleton/Skeleton.d.ts +44 -0
  276. package/dist/dist/types/components/skeleton/Skeleton.d.ts.map +1 -0
  277. package/dist/dist/types/components/slider/Slider.d.ts +13 -0
  278. package/dist/dist/types/components/slider/Slider.d.ts.map +1 -0
  279. package/dist/dist/types/components/spinner/Spinner.d.ts +7 -0
  280. package/dist/dist/types/components/spinner/Spinner.d.ts.map +1 -0
  281. package/dist/dist/types/components/stepper/Stepper.d.ts +12 -0
  282. package/dist/dist/types/components/stepper/Stepper.d.ts.map +1 -0
  283. package/dist/dist/types/components/switch/Switch.d.ts +15 -0
  284. package/dist/dist/types/components/switch/Switch.d.ts.map +1 -0
  285. package/dist/dist/types/components/table/Table.d.ts +14 -0
  286. package/dist/dist/types/components/table/Table.d.ts.map +1 -0
  287. package/dist/dist/types/components/tabs/Tabs.d.ts +14 -0
  288. package/dist/dist/types/components/tabs/Tabs.d.ts.map +1 -0
  289. package/dist/dist/types/components/textarea/Textarea.d.ts +14 -0
  290. package/dist/dist/types/components/textarea/Textarea.d.ts.map +1 -0
  291. package/dist/dist/types/components/toast/Toast.d.ts +16 -0
  292. package/dist/dist/types/components/toast/Toast.d.ts.map +1 -0
  293. package/dist/dist/types/components/tooltip/Tooltip.d.ts +10 -0
  294. package/dist/dist/types/components/tooltip/Tooltip.d.ts.map +1 -0
  295. package/dist/dist/types/components/treeview/TreeView.d.ts +16 -0
  296. package/dist/dist/types/components/treeview/TreeView.d.ts.map +1 -0
  297. package/dist/dist/types/components/virtuallist/VirtualList.d.ts +23 -0
  298. package/dist/dist/types/components/virtuallist/VirtualList.d.ts.map +1 -0
  299. package/dist/dist/types/index.d.ts +51 -0
  300. package/dist/dist/types/index.d.ts.map +1 -0
  301. package/dist/dist/types/theme/NUIProvider.d.ts +14 -0
  302. package/dist/dist/types/theme/NUIProvider.d.ts.map +1 -0
  303. package/dist/dist/types/theme/useTheme.d.ts +11 -0
  304. package/dist/dist/types/theme/useTheme.d.ts.map +1 -0
  305. package/dist/dist/types/utils/generateid/generateId.d.ts +2 -0
  306. package/dist/dist/types/utils/generateid/generateId.d.ts.map +1 -0
  307. package/dist/dist/types/utils/index.d.ts +9 -0
  308. package/dist/dist/types/utils/index.d.ts.map +1 -0
  309. package/dist/dist/types/utils/inertmanager/inertManager.d.ts +13 -0
  310. package/dist/dist/types/utils/inertmanager/inertManager.d.ts.map +1 -0
  311. package/dist/dist/types/utils/keyboardnav/keyboardNav.d.ts +11 -0
  312. package/dist/dist/types/utils/keyboardnav/keyboardNav.d.ts.map +1 -0
  313. package/dist/dist/types/utils/onclickoutside/onClickOutside.d.ts +3 -0
  314. package/dist/dist/types/utils/onclickoutside/onClickOutside.d.ts.map +1 -0
  315. package/dist/dist/types/utils/portal/portal.d.ts +4 -0
  316. package/dist/dist/types/utils/portal/portal.d.ts.map +1 -0
  317. package/dist/dist/types/utils/restorefocus/restoreFocus.d.ts +8 -0
  318. package/dist/dist/types/utils/restorefocus/restoreFocus.d.ts.map +1 -0
  319. package/dist/dist/types/utils/scrolllock/scrollLock.d.ts +11 -0
  320. package/dist/dist/types/utils/scrolllock/scrollLock.d.ts.map +1 -0
  321. package/dist/dist/types/utils/trapfocus/trapFocus.d.ts +8 -0
  322. package/dist/dist/types/utils/trapfocus/trapFocus.d.ts.map +1 -0
  323. package/dist/dist/utils/generateid/generateId.cjs +2 -0
  324. package/dist/dist/utils/generateid/generateId.cjs.map +1 -0
  325. package/dist/dist/utils/generateid/generateId.js +7 -0
  326. package/dist/dist/utils/generateid/generateId.js.map +1 -0
  327. package/dist/dist/utils/inertmanager/inertManager.cjs +2 -0
  328. package/dist/dist/utils/inertmanager/inertManager.cjs.map +1 -0
  329. package/dist/dist/utils/inertmanager/inertManager.js +18 -0
  330. package/dist/dist/utils/inertmanager/inertManager.js.map +1 -0
  331. package/dist/dist/utils/keyboardnav/keyboardNav.cjs +2 -0
  332. package/dist/dist/utils/keyboardnav/keyboardNav.cjs.map +1 -0
  333. package/dist/dist/utils/keyboardnav/keyboardNav.js +10 -0
  334. package/dist/dist/utils/keyboardnav/keyboardNav.js.map +1 -0
  335. package/dist/dist/utils/onclickoutside/onClickOutside.cjs +2 -0
  336. package/dist/dist/utils/onclickoutside/onClickOutside.cjs.map +1 -0
  337. package/dist/dist/utils/onclickoutside/onClickOutside.js +11 -0
  338. package/dist/dist/utils/onclickoutside/onClickOutside.js.map +1 -0
  339. package/dist/dist/utils/portal/portal.cjs +2 -0
  340. package/dist/dist/utils/portal/portal.cjs.map +1 -0
  341. package/dist/dist/utils/portal/portal.js +8 -0
  342. package/dist/dist/utils/portal/portal.js.map +1 -0
  343. package/dist/dist/utils/restorefocus/restoreFocus.cjs +2 -0
  344. package/dist/dist/utils/restorefocus/restoreFocus.cjs.map +1 -0
  345. package/dist/dist/utils/restorefocus/restoreFocus.js +7 -0
  346. package/dist/dist/utils/restorefocus/restoreFocus.js.map +1 -0
  347. package/dist/dist/utils/scrolllock/scrollLock.cjs +2 -0
  348. package/dist/dist/utils/scrolllock/scrollLock.cjs.map +1 -0
  349. package/dist/dist/utils/scrolllock/scrollLock.js +12 -0
  350. package/dist/dist/utils/scrolllock/scrollLock.js.map +1 -0
  351. package/dist/dist/utils/trapfocus/trapFocus.cjs +3 -0
  352. package/dist/dist/utils/trapfocus/trapFocus.cjs.map +1 -0
  353. package/dist/dist/utils/trapfocus/trapFocus.js +14 -0
  354. package/dist/dist/utils/trapfocus/trapFocus.js.map +1 -0
  355. package/dist/package.json +33 -0
  356. package/package.json +33 -33
@@ -0,0 +1,111 @@
1
+ /* empty css */
2
+ import { Button as t } from "./components/button/Button.js";
3
+ import { Modal as m } from "./components/modal/Modal.js";
4
+ import { Dropdown as f, DropdownItem as a, DropdownMenu as i, DropdownTrigger as n } from "./components/dropdown/Dropdown.js";
5
+ import { Input as l } from "./components/input/Input.js";
6
+ import { Tabs as T } from "./components/tabs/Tabs.js";
7
+ import { Tooltip as s } from "./components/tooltip/Tooltip.js";
8
+ import { Toast as P, ToastProvider as c, useToast as v } from "./components/toast/Toast.js";
9
+ import { Accordion as S } from "./components/accordion/Accordion.js";
10
+ import { Skeleton as b } from "./components/skeleton/Skeleton.js";
11
+ import { Slider as h } from "./components/slider/Slider.js";
12
+ import { Checkbox as M } from "./components/checkbox/Checkbox.js";
13
+ import { RadioGroup as B } from "./components/radiogroup/RadioGroup.js";
14
+ import { Switch as R } from "./components/switch/Switch.js";
15
+ import { DatePicker as H } from "./components/datepicker/DatePicker.js";
16
+ import { DateRangePicker as V } from "./components/daterangepicker/DateRangePicker.js";
17
+ import { Drawer as N } from "./components/drawer/Drawer.js";
18
+ import { Card as q } from "./components/card/Card.js";
19
+ import { Alert as z } from "./components/alert/Alert.js";
20
+ import { Table as J } from "./components/table/Table.js";
21
+ import { Badge as O } from "./components/badge/Badge.js";
22
+ import { BadgeGroup as W } from "./components/badge/BadgeGroup.js";
23
+ import { Avatar as Y } from "./components/avatar/Avatar.js";
24
+ import { AvatarGroup as _ } from "./components/avatar/AvatarGroup.js";
25
+ import { Select as oo } from "./components/select/Select.js";
26
+ import { Combobox as eo } from "./components/combobox/Combobox.js";
27
+ import { MegaMenu as po } from "./components/megamenu/MegaMenu.js";
28
+ import { Container as xo } from "./components/layout/Container.js";
29
+ import { Grid as ao } from "./components/layout/Grid.js";
30
+ import { Flex as no } from "./components/layout/Flex.js";
31
+ import { Stack as uo } from "./components/layout/Stack.js";
32
+ import { HStack as go } from "./components/layout/HStack.js";
33
+ import { Textarea as Co } from "./components/textarea/Textarea.js";
34
+ import { Popover as co, PopoverClose as vo, PopoverContent as Do, PopoverTrigger as So } from "./components/popover/Popover.js";
35
+ import { Pagination as bo } from "./components/pagination/Pagination.js";
36
+ import { Breadcrumbs as ho } from "./components/breadcrumbs/Breadcrumbs.js";
37
+ import { Progress as Mo } from "./components/progress/Progress.js";
38
+ import { Spinner as Bo } from "./components/spinner/Spinner.js";
39
+ import { Stepper as Ro } from "./components/stepper/Stepper.js";
40
+ import { Chip as Ho } from "./components/chip/Chip.js";
41
+ import { Rating as Vo } from "./components/rating/Rating.js";
42
+ import { HoverCard as No } from "./components/hovercard/HoverCard.js";
43
+ import { FileUploader as qo } from "./components/fileuploader/FileUploader.js";
44
+ import { ContextMenu as zo } from "./components/contextmenu/ContextMenu.js";
45
+ import { CommandPalette as Jo } from "./components/commandpalette/CommandPalette.js";
46
+ import { TreeView as Oo } from "./components/treeview/TreeView.js";
47
+ import { DataGrid as Wo } from "./components/datagrid/DataGrid.js";
48
+ import { VirtualList as Yo } from "./components/virtuallist/VirtualList.js";
49
+ import { NUIProvider as _o, ThemeContext as $o } from "./theme/NUIProvider.js";
50
+ import { useTheme as rr } from "./theme/useTheme.js";
51
+ export {
52
+ S as Accordion,
53
+ z as Alert,
54
+ Y as Avatar,
55
+ _ as AvatarGroup,
56
+ O as Badge,
57
+ W as BadgeGroup,
58
+ ho as Breadcrumbs,
59
+ t as Button,
60
+ q as Card,
61
+ M as Checkbox,
62
+ Ho as Chip,
63
+ eo as Combobox,
64
+ Jo as CommandPalette,
65
+ xo as Container,
66
+ zo as ContextMenu,
67
+ Wo as DataGrid,
68
+ H as DatePicker,
69
+ V as DateRangePicker,
70
+ N as Drawer,
71
+ f as Dropdown,
72
+ a as DropdownItem,
73
+ i as DropdownMenu,
74
+ n as DropdownTrigger,
75
+ qo as FileUploader,
76
+ no as Flex,
77
+ ao as Grid,
78
+ go as HStack,
79
+ No as HoverCard,
80
+ l as Input,
81
+ po as MegaMenu,
82
+ m as Modal,
83
+ _o as NUIProvider,
84
+ bo as Pagination,
85
+ co as Popover,
86
+ vo as PopoverClose,
87
+ Do as PopoverContent,
88
+ So as PopoverTrigger,
89
+ Mo as Progress,
90
+ B as RadioGroup,
91
+ Vo as Rating,
92
+ oo as Select,
93
+ b as Skeleton,
94
+ h as Slider,
95
+ Bo as Spinner,
96
+ uo as Stack,
97
+ Ro as Stepper,
98
+ R as Switch,
99
+ J as Table,
100
+ T as Tabs,
101
+ Co as Textarea,
102
+ $o as ThemeContext,
103
+ P as Toast,
104
+ c as ToastProvider,
105
+ s as Tooltip,
106
+ Oo as TreeView,
107
+ Yo as VirtualList,
108
+ rr as useTheme,
109
+ v as useToast
110
+ };
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ *,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-base);background-color:var(--color-bg);color:var(--color-text)}.ui-btn{padding:var(--space-2)var(--space-3);font-family:var(--font-base);background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;font-size:14px;font-weight:500;line-height:1.5;transition:all .2s ease-in-out;display:inline-flex}.ui-btn:hover:not(:disabled){filter:brightness(.9);border-color:#0003}.ui-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.ui-btn--primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ui-btn--sm{padding:var(--space-1)var(--space-2);font-size:13px}.ui-btn--lg{padding:var(--space-3)var(--space-4);font-size:16px}.ui-modal-overlay{z-index:9999;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.ui-modal-overlay:before{content:"";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;background:#00000073;position:absolute;inset:0}.ui-modal-container{z-index:10000;background:var(--color-bg);width:min(90vw,720px);max-height:90vh;color:var(--color-text);border-radius:var(--radius-lg);padding:calc(var(--space-3)*1.5);pointer-events:auto;transform-origin:50%;outline:none;position:relative;overflow-y:auto;box-shadow:0 10px 30px #00000040}.ui-modal-content{margin-top:var(--space-2)}.ui-modal-title{font-size:1.125rem;font-weight:600;line-height:1.2}.ui-modal-description{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:.95rem}.ui-modal-close{top:var(--space-2);right:var(--space-2);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:6px;font-size:1.25rem;line-height:1;position:absolute}.ui-modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.ui-modal-overlay-catcher{pointer-events:auto;opacity:0;background:0 0;border:0;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.ui-modal-container{animation:ui-modal-in .18s var(--transition-fast)both}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (prefers-reduced-motion:reduce){.ui-modal-container{transition:none;animation:none}}.ui-dropdown{display:inline-block}.ui-dropdown-trigger{padding:var(--space-2)var(--space-3);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.ui-dropdown-trigger:hover{background:var(--color-bg)}.ui-dropdown-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-dropdown-menu-wrapper{z-index:9999;position:absolute}.ui-dropdown-menu{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;padding:4px 0;box-shadow:0 4px 20px #0003}.ui-dropdown-item{padding:var(--space-2)var(--space-3);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none}.ui-dropdown-item:hover,.ui-dropdown-item:focus-visible{background-color:var(--color-primary);color:#fff}.ui-input-wrapper{flex-direction:column;gap:4px;width:100%;display:flex}.ui-input-label{color:var(--color-text);font-size:14px;font-weight:500}.ui-input-description{color:var(--color-text-secondary);font-size:12px}.ui-input-error{color:#e11d48;font-size:12px}.ui-input{width:100%;padding:var(--space-2);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text);border-radius:var(--radius-md);transition:border-color var(--transition-fast),background var(--transition-fast);font-size:14px}.ui-input:hover{background-color:var(--color-bg)}.ui-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-input:disabled{opacity:.6;cursor:not-allowed}.ui-input--error{background:#fee2e2;border-color:#e11d48}.ui-input--error:focus-visible{outline-color:#e11d48}.ui-input--sm{padding:var(--space-1);font-size:13px}.ui-input--lg{padding:var(--space-3);font-size:15px}.ui-tabs{width:100%}.ui-tabs-list{border-bottom:1px solid var(--color-border);gap:8px;display:flex}.ui-tab{padding:var(--space-2)var(--space-3);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md)var(--radius-md)0 0;transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;font-size:14px}.ui-tab:hover{color:var(--color-text);background:var(--color-bg-secondary)}.ui-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-tab[aria-selected=true]{color:var(--color-text);background:var(--color-bg);border-bottom:2px solid var(--color-primary);font-weight:500}.ui-tabs-panel{padding:var(--space-3);color:var(--color-text)}:root{--tooltip-bg:#1e293b;--tooltip-text:#fff;--tooltip-radius:6px;--tooltip-shadow:0 10px 30px #0003;--tooltip-arrow-size:8px}.ui-tooltip-container{display:inline-flex}.ui-tooltip-bubble{z-index:10000;background:var(--tooltip-bg);max-width:260px;color:var(--tooltip-text);border-radius:var(--tooltip-radius);text-align:center;pointer-events:none;box-shadow:var(--tooltip-shadow);padding:6px 12px;font-size:.75rem;font-weight:500;line-height:1.4;animation:.12s ease-out tooltip-in;transform:translate(-50%)}.ui-tooltip-bubble:before{content:"";width:var(--tooltip-arrow-size);height:var(--tooltip-arrow-size);background:var(--tooltip-bg);position:absolute;left:50%;transform:translate(-50%)rotate(45deg)}.ui-tooltip-bubble[data-placement=top]:before{bottom:-4px}.ui-tooltip-bubble[data-placement=bottom]:before{top:-4px}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.ui-tooltip-bubble{animation:none}}.ui-toast-container{z-index:999999;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:20px;right:20px}.ui-toast{background:var(--color-bg);color:var(--color-text);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);justify-content:space-between;align-items:center;min-width:240px;max-width:320px;padding:12px 16px;font-size:14px;animation:.15s ease-out forwards ui-toast-in;display:flex;box-shadow:0 4px 20px #00000026}.ui-toast button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;margin-left:12px;font-size:16px}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-toast{animation:none}}.ui-accordion{width:100%}.ui-accordion-item{border-bottom:1px solid var(--color-border)}.ui-accordion-header{padding:var(--space-2)0;cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;font-size:15px;display:flex}.ui-accordion-header:hover{opacity:.9}.ui-accordion-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-accordion-panel{max-height:0;transition:max-height var(--transition-fast);overflow:hidden}.ui-accordion-panel--open{max-height:500px}@media (prefers-reduced-motion:reduce){.ui-accordion-panel,.ui-accordion-panel--open{max-height:none;transition:none}}.ui-skeleton{background:linear-gradient(90deg,#00000008 0%,#0000000f 50%,#00000008 100%);background-color:var(--skeleton-bg,var(--color-bg-tertiary));color:#0000;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;line-height:1;display:inline-block;overflow:hidden}.ui-skeleton--xs{height:8px}.ui-skeleton--sm{height:12px}.ui-skeleton--md{height:16px}.ui-skeleton--lg{height:24px}.ui-skeleton--xl{height:32px}.ui-skeleton--w-100{width:100%}.ui-skeleton--w-75{width:75%}.ui-skeleton--w-50{width:50%}.ui-skeleton--w-25{width:25%}.ui-skeleton--circle{border-radius:50%}@keyframes ui-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ui-skeleton--animated{background-size:200% 100%;animation:1.2s linear infinite ui-skeleton-shimmer}@media (prefers-reduced-motion:reduce){.ui-skeleton--animated{animation:none}}.ui-slider{align-items:center;width:100%;height:24px;display:flex;position:relative}.ui-slider-track{background:var(--color-border);border-radius:2px;width:100%;height:4px;position:relative}.ui-slider-fill{background:var(--color-primary);border-radius:2px;height:100%;position:absolute}.ui-slider-thumb{background:var(--color-bg);border:2px solid var(--color-primary);cursor:grab;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.ui-slider-thumb:active{cursor:grabbing}.ui-slider-thumb:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-slider.disabled{opacity:.5;pointer-events:none}@media (prefers-reduced-motion:reduce){.ui-slider-thumb,.ui-slider-fill{transition:none}}.ui-checkbox-root{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ui-checkbox-input{appearance:none;border:2px solid var(--color-border);background:var(--color-bg);border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;transition:background .15s;display:inline-flex}.ui-checkbox-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-checkbox-input[data-state=checked],.ui-checkbox-input[data-state=indeterminate]{background:var(--color-primary);border-color:var(--color-primary)}.ui-checkbox-check{color:#fff;pointer-events:none;font-size:12px;line-height:1}.ui-checkbox-label{color:var(--color-text);-webkit-user-select:none;user-select:none}.ui-radio-group{flex-direction:column;gap:8px;display:flex}.ui-radio-item{cursor:pointer;align-items:center;gap:8px;display:flex}.ui-radio-input{appearance:none;border:2px solid var(--color-border);cursor:pointer;border-radius:50%;width:16px;height:16px;position:relative}.ui-radio-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-radio-input[data-state=checked]{border-color:var(--color-primary)}.ui-radio-input[data-state=checked]:after{content:"";background:var(--color-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-radio-label{color:var(--color-text);-webkit-user-select:none;user-select:none}.ui-switch-root{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.ui-switch-control{background:var(--color-border);width:44px;height:24px;transition:background var(--transition-fast),box-shadow var(--transition-fast);border-radius:9999px;flex:none;position:relative}.ui-switch-thumb{background:var(--color-bg);width:16px;height:16px;transition:transform var(--transition-fast),background var(--transition-fast);border-radius:50%;position:absolute;top:50%;left:4px;transform:translateY(-50%);box-shadow:0 1px 2px #0000001f}.ui-switch-control[data-state=on]{background:var(--color-primary);box-shadow:0 4px 12px #0000001f}.ui-switch-control[data-state=on] .ui-switch-thumb{transform:translate(20px,-50%)}.ui-switch-control:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.ui-switch-root[aria-disabled=true]{opacity:.6;cursor:not-allowed}.ui-switch-label{color:var(--color-text)}:root,[data-theme=light]{--ui-bg:#fff;--ui-surface:#fafafa;--ui-bg-hover:#f2f2f2;--ui-border:#0000001f;--ui-shadow:#00000014;--ui-text:#111;--ui-text-muted:#666;--ui-primary:#007aff;--ui-primary-hover:#0062d6;--ui-primary-contrast:#fff}[data-theme=dark]{--ui-bg:#111112;--ui-surface:#1c1c1e;--ui-bg-hover:#2a2a2d;--ui-border:#ffffff24;--ui-shadow:#0009;--ui-text:#f5f5f5;--ui-text-muted:#b6b6b6;--ui-primary:#3b82f6;--ui-primary-hover:#2968cc;--ui-primary-contrast:#fff}.ui-datepicker{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}.ui-datepicker-input{text-align:left;border:1px solid var(--ui-border);background:var(--ui-bg);width:230px;color:var(--ui-text);cursor:pointer;box-shadow:0 1px 3px var(--ui-shadow);border-radius:10px;padding:8px 12px;font-size:14px}.ui-datepicker-popover{z-index:99999}.ui-datepicker-panel{background:var(--ui-bg);border:1px solid var(--ui-border);width:300px;color:var(--ui-text);box-shadow:0 8px 25px var(--ui-shadow);border-radius:12px;padding:12px}.ui-header-row{justify-content:space-between;align-items:center;display:flex}.ui-arrow{cursor:pointer;color:var(--ui-text);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:20px}.ui-arrow:hover{background:var(--ui-bg-hover)}.ui-header-center{cursor:pointer;color:var(--ui-text);background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:600}.ui-header-center:hover{background:var(--ui-bg-hover)}.ui-ym-panel{flex-direction:column;gap:12px;margin:10px 0;display:flex}.ui-year-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-height:160px;padding-right:4px;display:grid;overflow-y:auto}.ui-year-item{background:var(--ui-surface);color:var(--ui-text);cursor:pointer;border:none;border-radius:8px;padding:8px 0;font-size:13px}.ui-year-item:hover:not(.selected){background:var(--ui-bg-hover)}.ui-year-item.selected{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 3px 12px var(--ui-shadow)}.ui-month-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ui-month-item{background:var(--ui-surface);cursor:pointer;color:var(--ui-text);border:none;border-radius:8px;padding:8px 0;font-size:13px}.ui-month-item:hover:not(.selected){background:var(--ui-bg-hover)}.ui-month-item.selected{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 3px 12px var(--ui-shadow)}.ui-month-item.disabled{opacity:.45;cursor:not-allowed}.ui-calendar{flex-direction:column;gap:6px;display:flex}.ui-weekdays{text-align:center;color:var(--ui-text-muted);grid-template-columns:repeat(7,1fr);font-size:12px;display:grid}.ui-days-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.ui-day,.ui-day-empty{cursor:pointer;width:36px;height:36px;color:var(--ui-text);background:0 0;border:none;border-radius:8px;font-size:14px}.ui-day:hover:not(.selected){background:var(--ui-bg-hover)}.ui-day.selected{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 4px 12px var(--ui-shadow)}.ui-footer{justify-content:flex-end;margin-top:10px;display:flex}.ui-footer button{background:var(--ui-surface);cursor:pointer;color:var(--ui-text);border:none;border-radius:8px;padding:6px 12px}.ui-footer button:hover{background:var(--ui-bg-hover)}.ui-daterange-picker{align-items:center;gap:8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;display:inline-flex}.drp-trigger{background:var(--ui-bg);color:var(--ui-text);border:1px solid var(--ui-border);cursor:pointer;border-radius:10px;min-width:220px;padding:8px 12px}.drp-actions{gap:6px;display:inline-flex}.drp-part{background:var(--ui-surface);cursor:pointer;color:var(--ui-text);border:none;border-radius:8px;padding:6px 8px}.drp-part.active{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 3px 10px var(--ui-shadow)}.drp-popover{z-index:99999}.drp-panel{background:var(--ui-bg);border:1px solid var(--ui-border);width:360px;box-shadow:0 8px 30px var(--ui-shadow);color:var(--ui-text);border-radius:12px;padding:12px}.drp-header{justify-content:space-between;align-items:center;display:flex}.drp-arrow{cursor:pointer;color:var(--ui-text);background:0 0;border:none;padding:6px;font-size:18px}.drp-arrow:hover{background:var(--ui-bg-hover);border-radius:6px}.drp-title{cursor:pointer;color:var(--ui-text);background:0 0;border:none;border-radius:8px;padding:6px 8px;font-weight:600}.drp-title:hover{background:var(--ui-bg-hover)}.drp-ym{flex-direction:column;gap:12px;margin:8px 0;display:flex}.drp-year-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-height:160px;display:grid;overflow-y:auto}.drp-year{background:var(--ui-surface);cursor:pointer;border:none;border-radius:8px;padding:8px 0}.drp-year:hover:not(.selected){background:var(--ui-bg-hover)}.drp-year.selected{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 4px 14px var(--ui-shadow)}.drp-month-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.drp-month{background:var(--ui-surface);cursor:pointer;border:none;border-radius:8px;padding:8px 0}.drp-month.disabled{opacity:.4;cursor:not-allowed}.drp-month:hover:not(.selected):not(.disabled){background:var(--ui-bg-hover)}.drp-month.selected{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 4px 14px var(--ui-shadow)}.drp-calendar{margin-top:8px}.drp-weekdays{color:var(--ui-text-muted);grid-template-columns:repeat(7,1fr);gap:6px;font-size:12px;display:grid}.drp-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.drp-day,.drp-day-empty{cursor:pointer;width:40px;height:40px;color:var(--ui-text);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex}.drp-day:hover:not(.disabled):not(.start):not(.end){background:var(--ui-bg-hover)}.drp-day.start,.drp-day.end{background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-hover));color:var(--ui-primary-contrast);box-shadow:0 5px 16px var(--ui-shadow)}.drp-day.between{background:#0000000d}[data-theme=dark] .drp-day.between{background:#ffffff12}.drp-day.dragging{background:#648cff33;border-radius:8px}.drp-day.dragging:not(.start):not(.end){box-shadow:inset 0 0 0 1.5px var(--ui-primary)}.drp-day.disabled{opacity:.4;cursor:not-allowed}.drp-footer{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.drp-footer button{cursor:pointer;color:var(--ui-text);background:var(--ui-surface);border:none;border-radius:8px;padding:6px 12px;font-size:13px}.drp-footer button:hover{background:var(--ui-bg-hover)}.drp-clear{color:var(--ui-text-muted)!important;background:0 0!important}.drp-clear:hover{background:var(--ui-bg-hover)!important}.ui-drawer-overlay{z-index:99999;opacity:0;background:#00000073;transition:opacity .25s;display:block;position:fixed;inset:0}.ui-drawer-overlay.open{opacity:1}.ui-drawer{background:var(--color-bg);color:var(--color-text);will-change:transform;flex-direction:column;transition:transform .3s;display:flex;position:absolute;box-shadow:0 0 20px #0003}.ui-drawer.left{width:320px;top:0;bottom:0;transform:translate(-100%)}.ui-drawer.right{width:320px;top:0;bottom:0;right:0;transform:translate(100%)}.ui-drawer.top{height:260px;left:0;right:0;transform:translateY(-100%)}.ui-drawer.bottom{height:280px;bottom:0;left:0;right:0;transform:translateY(100%)}.ui-drawer.open.left,.ui-drawer.open.right{transform:translate(0)}.ui-drawer.open.top,.ui-drawer.open.bottom{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.ui-drawer,.ui-drawer-overlay{transition:none}}.ui-card{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s}.ui-card--hover:hover{box-shadow:var(--shadow-md)}.ui-card--clickable{cursor:pointer}.ui-card--clickable:active{transform:scale(.98)}.ui-card-header{margin-bottom:var(--space-2);font-size:16px;font-weight:600}.ui-card-body{font-size:14px;line-height:1.5}.ui-card-footer{margin-top:var(--space-3);gap:var(--space-2);display:flex}.ui-card-divider{background:var(--color-border);height:1px;margin:var(--space-3)0}.ui-alert{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:14px;display:flex}.ui-alert--info{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary-text)}.ui-alert--success{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success-text)}.ui-alert--warning{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning-text)}.ui-alert--error{border-color:var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger-text)}.ui-alert-title{margin-bottom:4px;font-weight:600}.ui-alert-content{flex:1}.ui-alert-close{cursor:pointer;color:inherit;background:0 0;border:none;margin-left:auto;font-size:18px;line-height:1}.ui-alert-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-table-container{width:100%;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:14px}.ui-table th,.ui-table td{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.ui-table th{background:var(--color-bg-secondary);color:var(--color-text);font-weight:600}.ui-table-row:hover{background:var(--color-bg-hover)}.ui-table-sort-button{cursor:pointer;font:inherit;background:0 0;border:none;align-items:center;gap:4px;display:inline-flex}.ui-table-sort-indicator{opacity:.6;font-size:10px}.ui-table-sort-indicator.active{opacity:1}.ui-table-empty{text-align:center;padding:var(--space-4);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.ui-table-row{transition:none}}.sr-only{clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.ui-badge{font-family:var(--font-base);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.ui-badge--sm{padding:2px 6px;font-size:12px}.ui-badge--md{padding:4px 8px;font-size:13px}.ui-badge--lg{padding:6px 10px;font-size:14px}.ui-badge--pill{border-radius:9999px}.ui-badge--dot{border-radius:9999px;width:10px;min-width:10px;height:10px;padding:0}.ui-badge--default{background:var(--color-bg-secondary);color:var(--color-text);border-color:var(--color-border)}.ui-badge--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ui-badge--success{background:var(--color-success,#10b981);color:#fff;border-color:var(--color-success,#10b981)}.ui-badge--warning{background:var(--color-warning,#f59e0b);color:#000;border-color:var(--color-warning,#f59e0b)}.ui-badge--danger{background:var(--color-danger,#ef4444);color:#fff;border-color:var(--color-danger,#ef4444)}.ui-badge--interactive{cursor:pointer}.ui-badge--interactive:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.ui-badge--interactive:active{transform:none}}.ui-badge__icon{line-height:0;display:inline-flex}.ui-badge-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ui-avatar{background:var(--color-bg-secondary);color:var(--color-text);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.ui-avatar--circle{border-radius:50%}.ui-avatar--rounded{border-radius:var(--radius-md)}.ui-avatar--square{border-radius:0}.ui-avatar--sm{width:28px;height:28px;font-size:12px}.ui-avatar--md{width:40px;height:40px;font-size:14px}.ui-avatar--lg{width:56px;height:56px;font-size:18px}.ui-avatar--xl{width:72px;height:72px;font-size:24px}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-avatar-status{border:2px solid var(--color-bg);background:gray;border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.ui-avatar-status--online{background:var(--color-success,#22c55e)}.ui-avatar-status--offline{background:var(--color-border)}.ui-avatar-status--busy{background:var(--color-danger,#ef4444)}.ui-avatar-loading{background:var(--color-bg-tertiary);animation:1.4s infinite avatarPulse}@keyframes avatarPulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.ui-avatar-group{align-items:center;display:flex}.ui-avatar-group .ui-avatar{border:2px solid var(--color-bg);margin-left:-8px}.ui-avatar-group .ui-avatar:first-child{margin-left:0}.ui-avatar-group-overflow{background:var(--color-border);color:var(--color-text);justify-content:center;align-items:center;display:inline-flex!important}.ui-select{min-width:200px;font-family:var(--font-base);display:inline-block;position:relative}.ui-select-trigger{width:100%;padding:var(--space-2);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.ui-select-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-select-placeholder{color:var(--color-text-secondary)}.ui-select-listbox{z-index:99999;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:200px;max-height:320px;position:fixed;overflow:auto;box-shadow:0 8px 24px #0000001f}.ui-select-option{padding:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-select-option[aria-selected=true]{background:var(--color-primary);color:#fff}.ui-select-option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-select-option:hover,.ui-select-option:focus-visible{background:var(--color-bg-secondary)}.ui-select-chevron{opacity:.8;margin-left:8px}.ui-combobox{width:100%;position:relative}.ui-combobox-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;color:var(--color-text);padding:8px 10px;font-size:14px}.ui-combobox-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.ui-combobox-listbox{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-height:240px;box-shadow:var(--shadow-md);z-index:2000;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.ui-combobox-option{cursor:pointer;padding:8px 10px}.ui-combobox-option[aria-selected=true],.ui-combobox-option.active{background:var(--color-bg-hover)}.ui-combobox-empty{color:var(--color-text-secondary);padding:8px 10px;font-style:italic}.ui-combobox-input-wrapper{width:100%;position:relative}.ui-combobox-left-icon{pointer-events:none;opacity:.7;align-items:center;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.ui-combobox-right-icon{opacity:.7;align-items:center;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.ui-combobox-input.has-left-icon{padding-left:32px}.ui-combobox-input.has-right-icon{padding-right:32px}.ui-combobox-option-icon{opacity:.85;margin-right:8px;display:inline-flex}.ui-megamenu{position:relative}.ui-megamenu-trigger{cursor:pointer;color:var(--color-text);background:0 0;border:none;align-items:center;gap:6px;font-size:15px;display:flex}.ui-megamenu-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);z-index:1000;min-width:320px;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 20px #0000001f}.ui-megamenu-panel--open{display:block}.ui-megamenu-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(140px,1fr));display:grid}.ui-megamenu-item{flex-direction:column;gap:4px;display:flex}.ui-megamenu-item-title{color:var(--color-text);font-weight:600}.ui-megamenu-item-desc{color:var(--color-text-secondary);font-size:13px}.ui-textarea-wrapper{width:100%;font-family:var(--font-base);display:block;position:relative}.ui-textarea{box-sizing:border-box;width:100%;padding:calc(var(--space-2))calc(var(--space-3));border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);resize:none;min-height:calc(var(--space-6));transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-size:14px;line-height:1.45;overflow:hidden!important}.ui-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f614}.ui-textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg)}.ui-textarea--error{border-color:#e63600;box-shadow:0 0 0 3px #ef44440f}.ui-textarea-counter{color:var(--color-text-secondary);text-align:right;-webkit-user-select:none;user-select:none;margin-top:6px;font-size:12px}@media (prefers-reduced-motion:reduce){.ui-textarea,.ui-textarea:focus,.ui-textarea:disabled{transition:none}}:root{--popover-bg:#fff;--popover-border:#e2e8f0;--popover-text:#1e293b;--popover-radius:8px;--popover-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--arrow-size:12px;--arrow-offset:6px}.ui-popover-root{display:inline-block;position:relative}.ui-popover-trigger{appearance:none;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.ui-popover-trigger:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #3b82f6}.ui-popover-content{z-index:9999;background-color:var(--popover-bg);min-width:200px;max-width:320px;color:var(--popover-text);border:1px solid var(--popover-border);border-radius:var(--popover-radius);box-shadow:none;filter:drop-shadow(0 4px 6px #0000001a);padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) forwards popover-scale-in;position:absolute}.ui-popover-content:before{content:"";width:var(--arrow-size);height:var(--arrow-size);background-color:var(--popover-bg);border:1px solid var(--popover-border);z-index:1;border-radius:2px;position:absolute;transform:rotate(45deg)}.ui-popover-bottom{margin-top:10px;transform:translate(-50%)}.ui-popover-bottom:before{top:calc(var(--arrow-offset)*-1);margin-left:calc(var(--arrow-offset)*-1);border-bottom-color:#0000;border-right-color:#0000;left:50%}.ui-popover-top{margin-top:-10px;transform:translate(-50%)translateY(-100%)}.ui-popover-top:before{bottom:calc(var(--arrow-offset)*-1);margin-left:calc(var(--arrow-offset)*-1);border-top-color:#0000;border-left-color:#0000;left:50%}.ui-popover-left{margin-left:-10px;transform:translateY(-50%)translate(-100%)}.ui-popover-left:before{right:calc(var(--arrow-offset)*-1);margin-top:calc(var(--arrow-offset)*-1);border-bottom-color:#0000;border-left-color:#0000;top:50%}.ui-popover-right{margin-left:10px;transform:translateY(-50%)}.ui-popover-right:before{left:calc(var(--arrow-offset)*-1);margin-top:calc(var(--arrow-offset)*-1);border-top-color:#0000;border-right-color:#0000;top:50%}.ui-popover-close{text-align:center;color:#475569;border:1px solid var(--popover-border);cursor:pointer;background-color:#f8fafc;border-radius:4px;width:100%;margin-top:12px;padding:8px 12px;font-size:.875rem;font-weight:500;transition:background-color .2s;display:block}.ui-popover-close:hover{color:#1e293b;background-color:#f1f5f9}.ui-popover-close:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}@keyframes popover-scale-in{0%{opacity:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y))scale(.95)}to{opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))scale(1)}}.ui-popover-bottom{--tw-translate-x:-50%;--tw-translate-y:0}.ui-popover-top{--tw-translate-x:-50%;--tw-translate-y:-100%}.ui-popover-left{--tw-translate-x:-100%;--tw-translate-y:-50%}.ui-popover-right{--tw-translate-x:0;--tw-translate-y:-50%}@media (prefers-reduced-motion:reduce){.ui-popover-content{transition:opacity .2s;animation:none}}.ui-pagination{font-family:var(--font-base);align-items:center;gap:6px;display:flex}.ui-page-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);min-width:32px;height:32px;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);padding:0 8px}.ui-page-btn:hover:not(:disabled){background:var(--color-bg)}.ui-page-btn:disabled{opacity:.5;cursor:not-allowed}.ui-page-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ui-page-ellipsis{opacity:.6;-webkit-user-select:none;user-select:none;padding:0 4px}.ui-breadcrumbs{font-family:var(--font-base);color:var(--color-text)}.ui-breadcrumbs-list{align-items:center;gap:4px;list-style:none;display:flex}.ui-breadcrumb-item{align-items:center;gap:4px;display:flex}.ui-breadcrumb-link{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:14px;text-decoration:none}.ui-breadcrumb-link:hover{color:var(--color-text)}.ui-breadcrumb-link.active,.ui-breadcrumb-link[aria-current=page]{color:var(--color-text);font-weight:500}.ui-breadcrumb-separator{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.ui-breadcrumb-ellipsis{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-size:14px}.ui-progress{background:var(--color-bg-secondary);border-radius:var(--radius-md);width:100%;height:8px;position:relative;overflow:hidden}.ui-progress-bar{background:var(--color-primary);border-radius:inherit;height:100%;transition:width .25s}.ui-progress-bar.indeterminate{width:30%;animation:1.2s linear infinite ui-progress-indeterminate;position:absolute;left:-30%}@keyframes ui-progress-indeterminate{0%{left:-30%}50%{left:50%}to{left:100%}}.ui-spinner{justify-content:center;align-items:center;display:inline-flex}.ui-spinner--sm{width:16px;height:16px}.ui-spinner--md{width:24px;height:24px}.ui-spinner--lg{width:36px;height:36px}.ui-spinner-circle{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:100%;height:100%;animation:.7s linear infinite ui-spin}@keyframes ui-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-stepper{width:100%;font-family:var(--font-base)}.ui-stepper-list{align-items:center;gap:12px;padding:0;list-style:none;display:flex}.ui-stepper-item{align-items:center;gap:12px;display:flex}.ui-stepper-button{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.ui-stepper-circle{border:2px solid var(--color-border);background:var(--color-bg-secondary);width:28px;height:28px;color:var(--color-text);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.ui-stepper-item.active .ui-stepper-circle{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.ui-stepper-item.completed .ui-stepper-circle{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ui-stepper-label{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:12px}.ui-stepper-item.active .ui-stepper-label{color:var(--color-text)}.ui-stepper-line{background:var(--color-border);flex-grow:1;height:2px}.ui-stepper-item.completed+.ui-stepper-line,.ui-stepper-item.active+.ui-stepper-line{background:var(--color-primary)}.ui-chip{border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);align-items:center;gap:6px;padding:4px 10px;font-size:14px;display:inline-flex}.ui-chip:hover{background:var(--color-bg)}.ui-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ui-chip--sm{padding:3px 8px;font-size:12px}.ui-chip--md{padding:4px 10px;font-size:14px}.ui-chip-icon-left,.ui-chip-icon-right{opacity:.8;align-items:center;display:inline-flex}.ui-chip-remove{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:2px;font-size:14px;display:inline-flex}.ui-chip-remove:hover{opacity:.7}.ui-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.ui-rating{cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-base);gap:4px;display:inline-flex}.ui-rating:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.ui-rating--sm{font-size:16px}.ui-rating--md{font-size:20px}.ui-rating--lg{font-size:28px}.ui-rating-item{-webkit-user-select:none;user-select:none;transition:color var(--transition-fast),transform var(--transition-fast)}.ui-rating-item.filled{color:var(--color-primary)}.ui-rating-item:hover{transform:scale(1.1)}.ui-hovercard-root{display:inline-block}.ui-hovercard-trigger{display:inline-flex}.ui-hovercard{z-index:99999;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);animation:.12s ease-out ui-hovercard-fade;position:fixed;box-shadow:0 8px 24px #00000024}@keyframes ui-hovercard-fade{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-hovercard{animation:none}}.ui-fileupload{font-family:var(--font-base);flex-direction:column;gap:10px;display:flex}.ui-fileupload-dropzone{border:2px dashed var(--color-border);background:var(--color-bg-secondary);border-radius:var(--radius-md);text-align:center;color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);padding:20px}.ui-fileupload-dropzone:hover{border-color:var(--color-primary);background:var(--color-bg)}.ui-fileupload-dropzone.dragover{border-color:var(--color-primary);background:var(--color-bg);color:var(--color-primary)}.ui-fileupload-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ui-fileupload-item{background:var(--color-bg-secondary);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.ui-fileupload-filename{color:var(--color-text);word-break:break-all}.ui-fileupload-remove{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.ui-fileupload-remove:hover{color:var(--color-primary)}.ui-fileupload-dropzone:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.ui-contextmenu-wrapper{display:inline-block}.ui-contextmenu{z-index:99999;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;font-family:var(--font-base);padding:4px 0;animation:80ms ease-out ui-menu-fade;position:fixed;box-shadow:0 8px 24px #00000026}@keyframes ui-menu-fade{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.ui-contextmenu-separator{background:var(--color-border);height:1px;margin:4px 0}.ui-contextmenu-item{padding:var(--space-2)var(--space-3);cursor:pointer;color:var(--color-text);white-space:nowrap;align-items:center;gap:8px;display:flex}.ui-contextmenu-item:hover,.ui-contextmenu-item.active{background:var(--color-bg-secondary)}.ui-contextmenu-item.disabled{opacity:.5;cursor:not-allowed}.ui-contextmenu-item.danger{color:#dc2626}.ui-contextmenu-icon{opacity:.8}.ui-cmd-overlay{z-index:99998;background:#0006;position:fixed;inset:0}.ui-cmd{background:var(--color-bg);width:520px;max-height:70vh;color:var(--color-text);border-radius:var(--radius-lg);border:1px solid var(--color-border);z-index:99999;flex-direction:column;animation:.12s ui-cmd-fade;display:flex;position:fixed;top:15%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 40px #00000040}@keyframes ui-cmd-fade{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.ui-cmd-input{width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:16px}.ui-cmd-input:focus{outline:none}.ui-cmd-list{max-height:60vh;overflow-y:auto}.ui-cmd-section-title{padding:var(--space-2)var(--space-3);opacity:.7;font-size:12px}.ui-cmd-item{padding:var(--space-2)var(--space-3);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:10px;display:flex}.ui-cmd-item.active,.ui-cmd-item:hover{background:var(--color-bg-secondary)}.ui-cmd-icon{opacity:.85;font-size:18px}.ui-cmd-meta{flex:1}.ui-cmd-description{opacity:.6;font-size:12px}.ui-cmd-shortcut{opacity:.7;font-size:12px}.ui-cmd-empty{padding:var(--space-3);text-align:center;opacity:.7}.ui-treeview{font-family:var(--font-base);color:var(--color-text);-webkit-user-select:none;user-select:none;width:100%}.ui-tree-node{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:6px;padding:4px 6px;display:flex}.ui-tree-node:hover{background:var(--color-bg-secondary)}.ui-tree-node.selected{background:var(--color-primary);color:#fff}.ui-tree-node.active{outline:2px solid var(--color-primary);outline-offset:2px}.ui-tree-arrow{opacity:.8;font-size:10px;transition:transform .15s;display:inline-block}.ui-tree-arrow.open{transform:rotate(90deg)}.ui-tree-arrow.empty{opacity:0;width:10px}.ui-tree-icon{opacity:.9}.ui-tree-label{font-size:14px}.ui-datagrid{font-family:var(--font-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;display:block;overflow:hidden}.ui-datagrid-table{display:block}.ui-datagrid-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:10;grid-auto-flow:column;align-items:center;gap:0;padding:8px 0;display:grid;position:sticky;top:0}.ui-datagrid-cell{box-sizing:border-box;align-items:center;min-width:80px;padding:10px 12px;display:flex}.ui-datagrid-cell--header{background:var(--color-bg);cursor:default;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600}.ui-datagrid-cell--header .ui-datagrid-header-content{align-items:center;gap:8px;display:inline-flex}.ui-datagrid-cell--left{text-align:left;justify-content:flex-start}.ui-datagrid-cell--center{text-align:center;justify-content:center}.ui-datagrid-cell--right{text-align:right;justify-content:flex-end}.ui-datagrid-cell--select{justify-content:center;width:48px}.ui-datagrid-cell--actions{justify-content:center;width:64px}.ui-datagrid-cell--header[aria-sort=ascending],.ui-datagrid-cell--header[aria-sort=descending]{color:var(--color-text)}.ui-datagrid-sort-indicator{opacity:.8;font-size:12px}.ui-datagrid-body{max-height:420px;display:block;overflow:auto}.ui-datagrid-row{border-bottom:1px solid var(--color-bg-muted,transparent);transition:background var(--transition-fast);background:0 0;grid-auto-flow:column;align-items:center;gap:0;display:grid}.ui-datagrid-row .ui-datagrid-cell{background:0 0;padding:10px 12px;font-size:14px}.ui-datagrid-row:hover{background:var(--color-bg-secondary)}.ui-datagrid-row.focused{outline:2px solid var(--color-primary);outline-offset:-2px}.ui-datagrid-row.selected{background:#3b82f614}.ui-datagrid-empty{text-align:center;color:var(--color-text-secondary);padding:20px}.ui-datagrid-footer{border-top:1px solid var(--color-border);background:var(--color-bg);justify-content:flex-end;align-items:center;gap:8px;padding:8px;display:flex}.ui-datagrid-page-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;padding:6px 10px}.ui-datagrid-page-btn:disabled{opacity:.5;cursor:not-allowed}.ui-datagrid-page-info{color:var(--color-text-secondary);padding:4px 8px;font-size:13px}@media (max-width:720px){.ui-datagrid-cell{min-width:60px;padding:8px;font-size:13px}.ui-datagrid-body{max-height:320px}}.ui-virtual-list{will-change:transform;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;position:relative;overflow:hidden auto}.ui-virtual-spacer{pointer-events:none;width:100%}.ui-virtual-items{width:100%;position:absolute;top:0;left:0}.ui-virtual-row{border-bottom:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);white-space:nowrap;align-items:center;padding:0 12px;font-size:14px;display:flex}.ui-virtual-row:hover{background:var(--color-bg-secondary)}:root{--color-bg:#fff;--color-bg-secondary:#f6f6f7;--color-text:#111;--color-text-secondary:#666;--color-border:#dcdcdc;--color-primary:#3b82f6;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--transition-fast:.15s ease;--transition-medium:.25s ease;--font-base:system-ui,Arial,sans-serif}[data-theme=dark]{--color-bg:#0d0d0f;--color-bg-secondary:#151518;--color-text:#fff;--color-text-secondary:#aaa;--color-border:#2a2a2f;--color-primary:#60a5fa}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),s=require("react");;/* empty css */const h=()=>{throw new Error("setTheme used outside of <UIProvider>")},i=s.createContext({theme:"system",resolved:"light",setTheme:h});function l({defaultTheme:o="system",children:m}){const[t,c]=s.useState(o),[a,u]=s.useState("light"),n=e=>{const r=e==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;document.documentElement.setAttribute("data-theme",r),u(r)};return s.useLayoutEffect(()=>{const e=localStorage.getItem("ui-theme");e?(c(e),n(e)):(c(o),n(o))},[o]),s.useEffect(()=>{localStorage.setItem("ui-theme",t),n(t)},[t]),s.useEffect(()=>{if(t!=="system")return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>n("system");return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[t]),d.jsx(i.Provider,{value:{theme:t,resolved:a,setTheme:c},children:m})}exports.NUIProvider=l;exports.ThemeContext=i;
2
+ //# sourceMappingURL=NUIProvider.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NUIProvider.cjs","sources":["../../../src/theme/NUIProvider.tsx"],"sourcesContent":["/**\r\n * NUIProvider.tsx\r\n * ---------------------------------------\r\n * Global Theme Provider for entire UI system.\r\n * - Light / Dark theme\r\n * - Sync with `prefers-color-scheme`\r\n * - LocalStorage persistence\r\n * - No flash on load\r\n */\r\n\r\n/**\r\n * UIProvider.tsx (Lint-Clean Version)\r\n */\r\n\r\nimport React, { useEffect, useState, useLayoutEffect } from 'react';\r\nimport './theme.css';\r\n\r\nexport type ThemeMode = 'light' | 'dark' | 'system';\r\n\r\ninterface NUIProviderProps {\r\n defaultTheme?: ThemeMode;\r\n children: React.ReactNode;\r\n}\r\n\r\n// FIX: no empty function, use a safe fallback\r\nconst noop = () => {\r\n throw new Error('setTheme used outside of <UIProvider>');\r\n};\r\n\r\nexport const ThemeContext = React.createContext<{\r\n theme: ThemeMode;\r\n resolved: 'light' | 'dark';\r\n setTheme: (t: ThemeMode) => void;\r\n}>({\r\n theme: 'system',\r\n resolved: 'light',\r\n setTheme: noop,\r\n});\r\n\r\nexport function NUIProvider({\r\n defaultTheme = 'system',\r\n children,\r\n}: NUIProviderProps) {\r\n const [theme, setTheme] = useState<ThemeMode>(defaultTheme);\r\n const [resolved, setResolved] = useState<'light' | 'dark'>('light');\r\n\r\n /**\r\n * Apply theme — extracted so it can be reused safely\r\n */\r\n const applyTheme = (mode: ThemeMode) => {\r\n const final: 'light' | 'dark' =\r\n mode === 'system'\r\n ? window.matchMedia('(prefers-color-scheme: dark)').matches\r\n ? 'dark'\r\n : 'light'\r\n : mode;\r\n\r\n document.documentElement.setAttribute('data-theme', final);\r\n setResolved(final);\r\n };\r\n\r\n /**\r\n * FIX: useLayoutEffect must include defaultTheme\r\n * We only run this logic once (when mounting),\r\n * so using defaultTheme in deps is correct.\r\n */\r\n useLayoutEffect(() => {\r\n const stored = localStorage.getItem('ui-theme') as ThemeMode | null;\r\n\r\n if (stored) {\r\n setTheme(stored);\r\n applyTheme(stored);\r\n } else {\r\n setTheme(defaultTheme);\r\n applyTheme(defaultTheme);\r\n }\r\n }, [defaultTheme]);\r\n\r\n /**\r\n * When theme changes manually\r\n */\r\n useEffect(() => {\r\n localStorage.setItem('ui-theme', theme);\r\n applyTheme(theme);\r\n }, [theme]);\r\n\r\n /**\r\n * System theme listener (only when theme === system)\r\n */\r\n useEffect(() => {\r\n if (theme !== 'system') return;\r\n\r\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\r\n const handler = () => applyTheme('system');\r\n\r\n mql.addEventListener('change', handler);\r\n return () => mql.removeEventListener('change', handler);\r\n }, [theme]);\r\n\r\n return (\r\n <ThemeContext.Provider value={{ theme, resolved, setTheme }}>\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n}\r\n"],"names":["noop","ThemeContext","React","NUIProvider","defaultTheme","children","theme","setTheme","useState","resolved","setResolved","applyTheme","mode","final","useLayoutEffect","stored","useEffect","mql","handler","jsx"],"mappings":"mKAyBA,MAAMA,EAAO,IAAM,CACjB,MAAM,IAAI,MAAM,uCAAuC,CACzD,EAEaC,EAAeC,EAAM,cAI/B,CACD,MAAO,SACP,SAAU,QACV,SAAUF,CACZ,CAAC,EAEM,SAASG,EAAY,CAC1B,aAAAC,EAAe,SACf,SAAAC,CACF,EAAqB,CACnB,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAoBJ,CAAY,EACpD,CAACK,EAAUC,CAAW,EAAIF,EAAAA,SAA2B,OAAO,EAK5DG,EAAcC,GAAoB,CACtC,MAAMC,EACJD,IAAS,SACL,OAAO,WAAW,8BAA8B,EAAE,QAChD,OACA,QACFA,EAEN,SAAS,gBAAgB,aAAa,aAAcC,CAAK,EACzDH,EAAYG,CAAK,CACnB,EAOAC,OAAAA,EAAAA,gBAAgB,IAAM,CACpB,MAAMC,EAAS,aAAa,QAAQ,UAAU,EAE1CA,GACFR,EAASQ,CAAM,EACfJ,EAAWI,CAAM,IAEjBR,EAASH,CAAY,EACrBO,EAAWP,CAAY,EAE3B,EAAG,CAACA,CAAY,CAAC,EAKjBY,EAAAA,UAAU,IAAM,CACd,aAAa,QAAQ,WAAYV,CAAK,EACtCK,EAAWL,CAAK,CAClB,EAAG,CAACA,CAAK,CAAC,EAKVU,EAAAA,UAAU,IAAM,CACd,GAAIV,IAAU,SAAU,OAExB,MAAMW,EAAM,OAAO,WAAW,8BAA8B,EACtDC,EAAU,IAAMP,EAAW,QAAQ,EAEzC,OAAAM,EAAI,iBAAiB,SAAUC,CAAO,EAC/B,IAAMD,EAAI,oBAAoB,SAAUC,CAAO,CACxD,EAAG,CAACZ,CAAK,CAAC,EAGRa,MAAClB,EAAa,SAAb,CAAsB,MAAO,CAAE,MAAAK,EAAO,SAAAG,EAAU,SAAAF,GAC9C,SAAAF,EACH,CAEJ"}
@@ -0,0 +1,34 @@
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import l, { useState as m, useLayoutEffect as u, useEffect as c } from "react";
3
+ /* empty css */
4
+ const f = () => {
5
+ throw new Error("setTheme used outside of <UIProvider>");
6
+ }, v = l.createContext({
7
+ theme: "system",
8
+ resolved: "light",
9
+ setTheme: f
10
+ });
11
+ function w({
12
+ defaultTheme: s = "system",
13
+ children: i
14
+ }) {
15
+ const [t, n] = m(s), [a, h] = m("light"), r = (e) => {
16
+ const o = e === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : e;
17
+ document.documentElement.setAttribute("data-theme", o), h(o);
18
+ };
19
+ return u(() => {
20
+ const e = localStorage.getItem("ui-theme");
21
+ e ? (n(e), r(e)) : (n(s), r(s));
22
+ }, [s]), c(() => {
23
+ localStorage.setItem("ui-theme", t), r(t);
24
+ }, [t]), c(() => {
25
+ if (t !== "system") return;
26
+ const e = window.matchMedia("(prefers-color-scheme: dark)"), o = () => r("system");
27
+ return e.addEventListener("change", o), () => e.removeEventListener("change", o);
28
+ }, [t]), /* @__PURE__ */ d(v.Provider, { value: { theme: t, resolved: a, setTheme: n }, children: i });
29
+ }
30
+ export {
31
+ w as NUIProvider,
32
+ v as ThemeContext
33
+ };
34
+ //# sourceMappingURL=NUIProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NUIProvider.js","sources":["../../../src/theme/NUIProvider.tsx"],"sourcesContent":["/**\r\n * NUIProvider.tsx\r\n * ---------------------------------------\r\n * Global Theme Provider for entire UI system.\r\n * - Light / Dark theme\r\n * - Sync with `prefers-color-scheme`\r\n * - LocalStorage persistence\r\n * - No flash on load\r\n */\r\n\r\n/**\r\n * UIProvider.tsx (Lint-Clean Version)\r\n */\r\n\r\nimport React, { useEffect, useState, useLayoutEffect } from 'react';\r\nimport './theme.css';\r\n\r\nexport type ThemeMode = 'light' | 'dark' | 'system';\r\n\r\ninterface NUIProviderProps {\r\n defaultTheme?: ThemeMode;\r\n children: React.ReactNode;\r\n}\r\n\r\n// FIX: no empty function, use a safe fallback\r\nconst noop = () => {\r\n throw new Error('setTheme used outside of <UIProvider>');\r\n};\r\n\r\nexport const ThemeContext = React.createContext<{\r\n theme: ThemeMode;\r\n resolved: 'light' | 'dark';\r\n setTheme: (t: ThemeMode) => void;\r\n}>({\r\n theme: 'system',\r\n resolved: 'light',\r\n setTheme: noop,\r\n});\r\n\r\nexport function NUIProvider({\r\n defaultTheme = 'system',\r\n children,\r\n}: NUIProviderProps) {\r\n const [theme, setTheme] = useState<ThemeMode>(defaultTheme);\r\n const [resolved, setResolved] = useState<'light' | 'dark'>('light');\r\n\r\n /**\r\n * Apply theme — extracted so it can be reused safely\r\n */\r\n const applyTheme = (mode: ThemeMode) => {\r\n const final: 'light' | 'dark' =\r\n mode === 'system'\r\n ? window.matchMedia('(prefers-color-scheme: dark)').matches\r\n ? 'dark'\r\n : 'light'\r\n : mode;\r\n\r\n document.documentElement.setAttribute('data-theme', final);\r\n setResolved(final);\r\n };\r\n\r\n /**\r\n * FIX: useLayoutEffect must include defaultTheme\r\n * We only run this logic once (when mounting),\r\n * so using defaultTheme in deps is correct.\r\n */\r\n useLayoutEffect(() => {\r\n const stored = localStorage.getItem('ui-theme') as ThemeMode | null;\r\n\r\n if (stored) {\r\n setTheme(stored);\r\n applyTheme(stored);\r\n } else {\r\n setTheme(defaultTheme);\r\n applyTheme(defaultTheme);\r\n }\r\n }, [defaultTheme]);\r\n\r\n /**\r\n * When theme changes manually\r\n */\r\n useEffect(() => {\r\n localStorage.setItem('ui-theme', theme);\r\n applyTheme(theme);\r\n }, [theme]);\r\n\r\n /**\r\n * System theme listener (only when theme === system)\r\n */\r\n useEffect(() => {\r\n if (theme !== 'system') return;\r\n\r\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\r\n const handler = () => applyTheme('system');\r\n\r\n mql.addEventListener('change', handler);\r\n return () => mql.removeEventListener('change', handler);\r\n }, [theme]);\r\n\r\n return (\r\n <ThemeContext.Provider value={{ theme, resolved, setTheme }}>\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n}\r\n"],"names":["noop","ThemeContext","React","NUIProvider","defaultTheme","children","theme","setTheme","useState","resolved","setResolved","applyTheme","mode","final","useLayoutEffect","stored","useEffect","mql","handler","jsx"],"mappings":";;;AAyBA,MAAMA,IAAO,MAAM;AACjB,QAAM,IAAI,MAAM,uCAAuC;AACzD,GAEaC,IAAeC,EAAM,cAI/B;AAAA,EACD,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAUF;AACZ,CAAC;AAEM,SAASG,EAAY;AAAA,EAC1B,cAAAC,IAAe;AAAA,EACf,UAAAC;AACF,GAAqB;AACnB,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAoBJ,CAAY,GACpD,CAACK,GAAUC,CAAW,IAAIF,EAA2B,OAAO,GAK5DG,IAAa,CAACC,MAAoB;AACtC,UAAMC,IACJD,MAAS,WACL,OAAO,WAAW,8BAA8B,EAAE,UAChD,SACA,UACFA;AAEN,aAAS,gBAAgB,aAAa,cAAcC,CAAK,GACzDH,EAAYG,CAAK;AAAA,EACnB;AAOA,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAS,aAAa,QAAQ,UAAU;AAE9C,IAAIA,KACFR,EAASQ,CAAM,GACfJ,EAAWI,CAAM,MAEjBR,EAASH,CAAY,GACrBO,EAAWP,CAAY;AAAA,EAE3B,GAAG,CAACA,CAAY,CAAC,GAKjBY,EAAU,MAAM;AACd,iBAAa,QAAQ,YAAYV,CAAK,GACtCK,EAAWL,CAAK;AAAA,EAClB,GAAG,CAACA,CAAK,CAAC,GAKVU,EAAU,MAAM;AACd,QAAIV,MAAU,SAAU;AAExB,UAAMW,IAAM,OAAO,WAAW,8BAA8B,GACtDC,IAAU,MAAMP,EAAW,QAAQ;AAEzC,WAAAM,EAAI,iBAAiB,UAAUC,CAAO,GAC/B,MAAMD,EAAI,oBAAoB,UAAUC,CAAO;AAAA,EACxD,GAAG,CAACZ,CAAK,CAAC,GAGR,gBAAAa,EAAClB,EAAa,UAAb,EAAsB,OAAO,EAAE,OAAAK,GAAO,UAAAG,GAAU,UAAAF,KAC9C,UAAAF,GACH;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("./NUIProvider.cjs");function r(){return e.useContext(t.ThemeContext)}exports.useTheme=r;
2
+ //# sourceMappingURL=useTheme.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.cjs","sources":["../../../src/theme/useTheme.ts"],"sourcesContent":["/**\r\n * useTheme.ts\r\n * --------------------------\r\n * Hook wrapper for ThemeContext.\r\n */\r\n\r\nimport { useContext } from 'react';\r\nimport { ThemeContext } from './NUIProvider';\r\n\r\nexport function useTheme() {\r\n return useContext(ThemeContext);\r\n}\r\n"],"names":["useTheme","useContext","ThemeContext"],"mappings":"wIASO,SAASA,GAAW,CACzB,OAAOC,EAAAA,WAAWC,EAAAA,YAAY,CAChC"}
@@ -0,0 +1,9 @@
1
+ import { useContext as e } from "react";
2
+ import { ThemeContext as t } from "./NUIProvider.js";
3
+ function m() {
4
+ return e(t);
5
+ }
6
+ export {
7
+ m as useTheme
8
+ };
9
+ //# sourceMappingURL=useTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.js","sources":["../../../src/theme/useTheme.ts"],"sourcesContent":["/**\r\n * useTheme.ts\r\n * --------------------------\r\n * Hook wrapper for ThemeContext.\r\n */\r\n\r\nimport { useContext } from 'react';\r\nimport { ThemeContext } from './NUIProvider';\r\n\r\nexport function useTheme() {\r\n return useContext(ThemeContext);\r\n}\r\n"],"names":["useTheme","useContext","ThemeContext"],"mappings":";;AASO,SAASA,IAAW;AACzB,SAAOC,EAAWC,CAAY;AAChC;"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ export interface AccordionItem {
3
+ id: string;
4
+ title: string;
5
+ content: React.ReactNode;
6
+ }
7
+ interface AccordionProps {
8
+ /** List of accordion sections */
9
+ items: AccordionItem[];
10
+ /** Default opened item ID (optional) */
11
+ defaultOpenId?: string;
12
+ /** Allow multiple open panels? Default: false */
13
+ multiple?: boolean;
14
+ className?: string;
15
+ }
16
+ export declare function Accordion({ items, defaultOpenId, multiple, className, }: AccordionProps): import("react/jsx-runtime").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=Accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../../src/components/accordion/Accordion.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,UAAU,cAAc;IACtB,iCAAiC;IACjC,KAAK,EAAE,aAAa,EAAE,CAAC;IAEvB,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAa,EACb,QAAgB,EAChB,SAAc,GACf,EAAE,cAAc,2CA8DhB"}
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ type AlertType = 'info' | 'success' | 'warning' | 'error';
3
+ interface AlertProps {
4
+ type?: AlertType;
5
+ title?: string;
6
+ children?: React.ReactNode;
7
+ closable?: boolean;
8
+ onClose?: () => void;
9
+ className?: string;
10
+ }
11
+ export declare function Alert({ type, title, children, closable, onClose, className, }: AlertProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=Alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,CAAC;AAErB,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1D,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EACpB,IAAa,EACb,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,OAAO,EACP,SAAc,GACf,EAAE,UAAU,2CAyBZ"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
3
+ type AvatarShape = 'circle' | 'rounded' | 'square';
4
+ type Status = 'online' | 'offline' | 'busy' | undefined;
5
+ interface AvatarProps {
6
+ src?: string;
7
+ alt?: string;
8
+ name?: string;
9
+ size?: AvatarSize;
10
+ shape?: AvatarShape;
11
+ status?: Status;
12
+ loading?: boolean;
13
+ className?: string;
14
+ fallbackIcon?: React.ReactNode;
15
+ }
16
+ export declare function Avatar({ src, alt, name, size, shape, status, loading, className, fallbackIcon, }: AvatarProps): import("react/jsx-runtime").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../../src/components/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,cAAc,CAAC;AAEtB,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5C,KAAK,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnD,KAAK,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AASD,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAW,EACX,KAAgB,EAChB,MAAM,EACN,OAAe,EACf,SAAc,EACd,YAAY,GACb,EAAE,WAAW,2CA6Cb"}
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ interface AvatarGroupProps {
3
+ children: React.ReactNode[];
4
+ max?: number;
5
+ size?: 'sm' | 'md' | 'lg' | 'xl';
6
+ className?: string;
7
+ }
8
+ export declare function AvatarGroup({ children, max, size, className, }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=AvatarGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/avatar/AvatarGroup.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,CAAC;AAEtB,UAAU,gBAAgB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,GAAO,EACP,IAAW,EACX,SAAc,GACf,EAAE,gBAAgB,2CAwBlB"}
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ type Variant = 'default' | 'primary' | 'success' | 'warning' | 'danger';
3
+ type Size = 'sm' | 'md' | 'lg';
4
+ interface BadgeProps {
5
+ children?: React.ReactNode;
6
+ count?: number;
7
+ max?: number;
8
+ variant?: Variant;
9
+ size?: Size;
10
+ pill?: boolean;
11
+ dot?: boolean;
12
+ href?: string;
13
+ onClick?: () => void;
14
+ ariaLabel?: string;
15
+ className?: string;
16
+ title?: string;
17
+ iconLeft?: React.ReactNode;
18
+ iconRight?: React.ReactNode;
19
+ }
20
+ export declare function Badge({ children, count, max, variant, size, pill, dot, href, onClick, ariaLabel, className, title, iconLeft, iconRight, }: BadgeProps): import("react/jsx-runtime").JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../../src/components/badge/Badge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,CAAC;AAErB,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxE,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/B,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAG3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAkBD,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,GAAG,EACH,OAAmB,EACnB,IAAW,EACX,IAAY,EACZ,GAAW,EACX,IAAI,EACJ,OAAO,EACP,SAAS,EACT,SAAc,EACd,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,UAAU,2CA4GZ"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ interface BadgeGroupProps {
3
+ items: React.ReactNode[];
4
+ max?: number;
5
+ className?: string;
6
+ }
7
+ export declare function BadgeGroup({ items, max, className, }: BadgeGroupProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=BadgeGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadgeGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/badge/BadgeGroup.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,eAAe;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,GAAO,EACP,SAAc,GACf,EAAE,eAAe,2CAajB"}
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ export interface Crumb {
3
+ label: React.ReactNode;
4
+ href?: string;
5
+ onClick?: () => void;
6
+ }
7
+ export interface BreadcrumbsProps {
8
+ items: Crumb[];
9
+ maxItems?: number;
10
+ separator?: React.ReactNode;
11
+ className?: string;
12
+ }
13
+ export declare function Breadcrumbs({ items, maxItems, // default collapse threshold
14
+ separator, className, }: BreadcrumbsProps): import("react/jsx-runtime").JSX.Element | null;
15
+ //# sourceMappingURL=Breadcrumbs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../../src/components/breadcrumbs/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAY,EAAE,6BAA6B;AAC3C,SAAe,EACf,SAAc,GACf,EAAE,gBAAgB,kDA4DlB"}
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ /**
4
+ * Visual appearance of the button.
5
+ * "default" = subtle background
6
+ * "primary" = strong emphasis (blue)
7
+ */
8
+ variant?: 'default' | 'primary';
9
+ /**
10
+ * Adjusts padding & font-size.
11
+ */
12
+ size?: 'sm' | 'md' | 'lg';
13
+ }
14
+ export declare function Button({ variant, size, className, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAW,EACX,SAAc,EACd,GAAG,KAAK,EACT,EAAE,WAAW,2CAYb"}
@@ -0,0 +1,27 @@
1
+ import { default as React } from 'react';
2
+ interface CardProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ clickable?: boolean;
6
+ hover?: boolean;
7
+ onClick?: () => void;
8
+ }
9
+ declare function CardRoot({ children, className, clickable, hover, onClick, }: CardProps): import("react/jsx-runtime").JSX.Element;
10
+ declare function Header({ children }: {
11
+ children: React.ReactNode;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ declare function Body({ children }: {
14
+ children: React.ReactNode;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ declare function Footer({ children }: {
17
+ children: React.ReactNode;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ declare function Divider(): import("react/jsx-runtime").JSX.Element;
20
+ export declare const Card: typeof CardRoot & {
21
+ Header: typeof Header;
22
+ Body: typeof Body;
23
+ Footer: typeof Footer;
24
+ Divider: typeof Divider;
25
+ };
26
+ export {};
27
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAS;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,iBAAS,QAAQ,CAAC,EAChB,QAAQ,EACR,SAAc,EACd,SAAiB,EACjB,KAAa,EACb,OAAO,GACR,EAAE,SAAS,2CAuBX;AAED,iBAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAE1D;AAED,iBAAS,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAExD;AAED,iBAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAE1D;AAED,iBAAS,OAAO,4CAEf;AAED,eAAO,MAAM,IAAI;;;;;CAKf,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ interface CheckboxProps {
3
+ checked?: boolean;
4
+ defaultChecked?: boolean;
5
+ indeterminate?: boolean;
6
+ onChange?: (checked: boolean) => void;
7
+ label?: React.ReactNode;
8
+ disabled?: boolean;
9
+ name?: string;
10
+ value?: string;
11
+ className?: string;
12
+ }
13
+ export declare function Checkbox({ checked, defaultChecked, indeterminate, onChange, label, disabled, name, value, className, }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,gBAAgB,CAAC;AAExB,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,cAAc,EACd,aAAqB,EACrB,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,IAAI,EACJ,KAAK,EACL,SAAc,GACf,EAAE,aAAa,2CAkDf"}
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ export interface ChipProps {
3
+ children: React.ReactNode;
4
+ /** Removable chip — shows close button */
5
+ removable?: boolean;
6
+ /** Selected chip state */
7
+ selected?: boolean;
8
+ /** Left icon element */
9
+ iconLeft?: React.ReactNode;
10
+ /** Right icon element */
11
+ iconRight?: React.ReactNode;
12
+ /** Chip size */
13
+ size?: 'sm' | 'md';
14
+ /** Remove handler */
15
+ onRemove?: () => void;
16
+ /** Select handler */
17
+ onSelect?: () => void;
18
+ className?: string;
19
+ }
20
+ export declare function Chip({ children, removable, selected, iconLeft, iconRight, size, onRemove, onSelect, className, }: ChipProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=Chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../../src/components/chip/Chip.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,yBAAyB;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,gBAAgB;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAiB,EACjB,QAAgB,EAChB,QAAQ,EACR,SAAS,EACT,IAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAc,GACf,EAAE,SAAS,2CAsCX"}
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+ export interface ComboboxOption {
3
+ label: string;
4
+ value: string;
5
+ icon?: React.ReactNode;
6
+ }
7
+ interface ComboboxProps {
8
+ options: ComboboxOption[];
9
+ value?: string;
10
+ defaultValue?: string;
11
+ onChange?: (value: string) => void;
12
+ placeholder?: string;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ emptyMessage?: string;
16
+ filter?: (input: string, option: ComboboxOption) => boolean;
17
+ leftIcon?: React.ReactNode;
18
+ rightIcon?: React.ReactNode;
19
+ renderOption?: (option: ComboboxOption, active: boolean) => React.ReactNode;
20
+ renderOptionIcon?: (option: ComboboxOption) => React.ReactNode;
21
+ }
22
+ export declare function Combobox({ options, value, defaultValue, onChange, placeholder, disabled, className, emptyMessage, filter, leftIcon, rightIcon, renderOption, renderOptionIcon, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
23
+ export {};
24
+ //# sourceMappingURL=Combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH;;;;;;;;GAQG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,gBAAgB,CAAC;AAKxB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC;IAE5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;CAChE;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAyB,EACzB,QAAgB,EAChB,SAAc,EACd,YAAiC,EACjC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,GACjB,EAAE,aAAa,2CA+Kf"}
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ export interface CommandItem {
3
+ id: string;
4
+ label: string;
5
+ icon?: ReactNode;
6
+ shortcut?: string;
7
+ description?: string;
8
+ onSelect?: () => void;
9
+ }
10
+ export interface CommandSection {
11
+ title?: string;
12
+ items: CommandItem[];
13
+ }
14
+ interface CommandPaletteProps {
15
+ sections: CommandSection[];
16
+ placeholder?: string;
17
+ className?: string;
18
+ }
19
+ export declare function CommandPalette({ sections, placeholder, className, }: CommandPaletteProps): import("react/jsx-runtime").JSX.Element | null;
20
+ export {};
21
+ //# sourceMappingURL=CommandPalette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../../../src/components/commandpalette/CommandPalette.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAIL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,sBAAsB,CAAC;AAG9B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,WAAgC,EAChC,SAAc,GACf,EAAE,mBAAmB,kDAmLrB"}