@fabio.caffarello/react-design-system 3.8.0 → 3.10.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 (418) hide show
  1. package/README.md +2 -1
  2. package/dist/granular/index.js +447 -0
  3. package/dist/granular/index.js.map +1 -0
  4. package/dist/granular/ui/components/Accordion/Accordion.js +105 -0
  5. package/dist/granular/ui/components/Accordion/Accordion.js.map +1 -0
  6. package/dist/granular/ui/components/Autocomplete/Autocomplete.js +133 -0
  7. package/dist/granular/ui/components/Autocomplete/Autocomplete.js.map +1 -0
  8. package/dist/granular/ui/components/Autocomplete/AutocompleteList.js +119 -0
  9. package/dist/granular/ui/components/Autocomplete/AutocompleteList.js.map +1 -0
  10. package/dist/granular/ui/components/Autocomplete/AutocompleteOption.js +42 -0
  11. package/dist/granular/ui/components/Autocomplete/AutocompleteOption.js.map +1 -0
  12. package/dist/granular/ui/components/Breadcrumb/Breadcrumb.js +100 -0
  13. package/dist/granular/ui/components/Breadcrumb/Breadcrumb.js.map +1 -0
  14. package/dist/granular/ui/components/Card/Card.js +113 -0
  15. package/dist/granular/ui/components/Card/Card.js.map +1 -0
  16. package/dist/granular/ui/components/Card/CardActions.js +51 -0
  17. package/dist/granular/ui/components/Card/CardActions.js.map +1 -0
  18. package/dist/granular/ui/components/Card/CardBody.js +32 -0
  19. package/dist/granular/ui/components/Card/CardBody.js.map +1 -0
  20. package/dist/granular/ui/components/Card/CardHeader.js +47 -0
  21. package/dist/granular/ui/components/Card/CardHeader.js.map +1 -0
  22. package/dist/granular/ui/components/Card/CardSubtitle.js +38 -0
  23. package/dist/granular/ui/components/Card/CardSubtitle.js.map +1 -0
  24. package/dist/granular/ui/components/Card/CardTitle.js +61 -0
  25. package/dist/granular/ui/components/Card/CardTitle.js.map +1 -0
  26. package/dist/granular/ui/components/ColorPicker/ColorPicker.js +250 -0
  27. package/dist/granular/ui/components/ColorPicker/ColorPicker.js.map +1 -0
  28. package/dist/granular/ui/components/CommandPalette/CommandPalette.js +274 -0
  29. package/dist/granular/ui/components/CommandPalette/CommandPalette.js.map +1 -0
  30. package/dist/granular/ui/components/DashboardLayout/DashboardLayout.js +37 -0
  31. package/dist/granular/ui/components/DashboardLayout/DashboardLayout.js.map +1 -0
  32. package/dist/granular/ui/components/DataGrid/DataGrid.js +155 -0
  33. package/dist/granular/ui/components/DataGrid/DataGrid.js.map +1 -0
  34. package/dist/granular/ui/components/DataTablePattern/DataTablePattern.js +113 -0
  35. package/dist/granular/ui/components/DataTablePattern/DataTablePattern.js.map +1 -0
  36. package/dist/granular/ui/components/DatePicker/DatePicker.js +126 -0
  37. package/dist/granular/ui/components/DatePicker/DatePicker.js.map +1 -0
  38. package/dist/granular/ui/components/DatePicker/DatePickerCalendar.js +294 -0
  39. package/dist/granular/ui/components/DatePicker/DatePickerCalendar.js.map +1 -0
  40. package/dist/granular/ui/components/DatePicker/DatePickerContext.js +16 -0
  41. package/dist/granular/ui/components/DatePicker/DatePickerContext.js.map +1 -0
  42. package/dist/granular/ui/components/DatePicker/DatePickerInput.js +119 -0
  43. package/dist/granular/ui/components/DatePicker/DatePickerInput.js.map +1 -0
  44. package/dist/granular/ui/components/DatePicker/DatePickerProvider.js +47 -0
  45. package/dist/granular/ui/components/DatePicker/DatePickerProvider.js.map +1 -0
  46. package/dist/granular/ui/components/Dialog/AlertDialog.js +48 -0
  47. package/dist/granular/ui/components/Dialog/AlertDialog.js.map +1 -0
  48. package/dist/granular/ui/components/Dialog/Dialog.js +36 -0
  49. package/dist/granular/ui/components/Dialog/Dialog.js.map +1 -0
  50. package/dist/granular/ui/components/Dialog/DialogClose.js +34 -0
  51. package/dist/granular/ui/components/Dialog/DialogClose.js.map +1 -0
  52. package/dist/granular/ui/components/Dialog/DialogContent.js +114 -0
  53. package/dist/granular/ui/components/Dialog/DialogContent.js.map +1 -0
  54. package/dist/granular/ui/components/Dialog/DialogDescription.js +51 -0
  55. package/dist/granular/ui/components/Dialog/DialogDescription.js.map +1 -0
  56. package/dist/granular/ui/components/Dialog/DialogFooter.js +45 -0
  57. package/dist/granular/ui/components/Dialog/DialogFooter.js.map +1 -0
  58. package/dist/granular/ui/components/Dialog/DialogHeader.js +45 -0
  59. package/dist/granular/ui/components/Dialog/DialogHeader.js.map +1 -0
  60. package/dist/granular/ui/components/Dialog/DialogTitle.js +53 -0
  61. package/dist/granular/ui/components/Dialog/DialogTitle.js.map +1 -0
  62. package/dist/granular/ui/components/Dialog/DialogTrigger.js +28 -0
  63. package/dist/granular/ui/components/Dialog/DialogTrigger.js.map +1 -0
  64. package/dist/granular/ui/components/Drawer/Drawer.js +47 -0
  65. package/dist/granular/ui/components/Drawer/Drawer.js.map +1 -0
  66. package/dist/granular/ui/components/Drawer/DrawerContent.js +140 -0
  67. package/dist/granular/ui/components/Drawer/DrawerContent.js.map +1 -0
  68. package/dist/granular/ui/components/Drawer/DrawerContext.js +21 -0
  69. package/dist/granular/ui/components/Drawer/DrawerContext.js.map +1 -0
  70. package/dist/granular/ui/components/Drawer/DrawerFooter.js +53 -0
  71. package/dist/granular/ui/components/Drawer/DrawerFooter.js.map +1 -0
  72. package/dist/granular/ui/components/Drawer/DrawerHeader.js +50 -0
  73. package/dist/granular/ui/components/Drawer/DrawerHeader.js.map +1 -0
  74. package/dist/granular/ui/components/Dropdown/Dropdown.js +243 -0
  75. package/dist/granular/ui/components/Dropdown/Dropdown.js.map +1 -0
  76. package/dist/granular/ui/components/EmptyState/EmptyState.js +102 -0
  77. package/dist/granular/ui/components/EmptyState/EmptyState.js.map +1 -0
  78. package/dist/granular/ui/components/FileUpload/FileUpload.js +342 -0
  79. package/dist/granular/ui/components/FileUpload/FileUpload.js.map +1 -0
  80. package/dist/granular/ui/components/FilterChips/FilterChips.js +67 -0
  81. package/dist/granular/ui/components/FilterChips/FilterChips.js.map +1 -0
  82. package/dist/granular/ui/components/Form/Form.js +184 -0
  83. package/dist/granular/ui/components/Form/Form.js.map +1 -0
  84. package/dist/granular/ui/components/Form/FormContext.js +19 -0
  85. package/dist/granular/ui/components/Form/FormContext.js.map +1 -0
  86. package/dist/granular/ui/components/Form/FormField.js +66 -0
  87. package/dist/granular/ui/components/Form/FormField.js.map +1 -0
  88. package/dist/granular/ui/components/Form/FormProvider.js +17 -0
  89. package/dist/granular/ui/components/Form/FormProvider.js.map +1 -0
  90. package/dist/granular/ui/components/Form/useFormFieldArray.js +29 -0
  91. package/dist/granular/ui/components/Form/useFormFieldArray.js.map +1 -0
  92. package/dist/granular/ui/components/FormWizardPattern/FormWizardPattern.js +121 -0
  93. package/dist/granular/ui/components/FormWizardPattern/FormWizardPattern.js.map +1 -0
  94. package/dist/granular/ui/components/Header/Header.js +98 -0
  95. package/dist/granular/ui/components/Header/Header.js.map +1 -0
  96. package/dist/granular/ui/components/Header/components/HeaderActions.js +21 -0
  97. package/dist/granular/ui/components/Header/components/HeaderActions.js.map +1 -0
  98. package/dist/granular/ui/components/Header/components/HeaderHamburger.js +31 -0
  99. package/dist/granular/ui/components/Header/components/HeaderHamburger.js.map +1 -0
  100. package/dist/granular/ui/components/Header/components/HeaderLogo.js +50 -0
  101. package/dist/granular/ui/components/Header/components/HeaderLogo.js.map +1 -0
  102. package/dist/granular/ui/components/Header/components/HeaderMobileMenu.js +38 -0
  103. package/dist/granular/ui/components/Header/components/HeaderMobileMenu.js.map +1 -0
  104. package/dist/granular/ui/components/Header/components/HeaderNavigation.js +27 -0
  105. package/dist/granular/ui/components/Header/components/HeaderNavigation.js.map +1 -0
  106. package/dist/granular/ui/components/Header/contexts/HeaderContext.js +49 -0
  107. package/dist/granular/ui/components/Header/contexts/HeaderContext.js.map +1 -0
  108. package/dist/granular/ui/components/LoginBox/LoginBox.js +84 -0
  109. package/dist/granular/ui/components/LoginBox/LoginBox.js.map +1 -0
  110. package/dist/granular/ui/components/Menu/Menu.js +45 -0
  111. package/dist/granular/ui/components/Menu/Menu.js.map +1 -0
  112. package/dist/granular/ui/components/Menu/MenuContent.js +94 -0
  113. package/dist/granular/ui/components/Menu/MenuContent.js.map +1 -0
  114. package/dist/granular/ui/components/Menu/MenuContext.js +21 -0
  115. package/dist/granular/ui/components/Menu/MenuContext.js.map +1 -0
  116. package/dist/granular/ui/components/Menu/MenuItem.js +93 -0
  117. package/dist/granular/ui/components/Menu/MenuItem.js.map +1 -0
  118. package/dist/granular/ui/components/Menu/MenuSeparator.js +46 -0
  119. package/dist/granular/ui/components/Menu/MenuSeparator.js.map +1 -0
  120. package/dist/granular/ui/components/Menu/MenuTrigger.js +71 -0
  121. package/dist/granular/ui/components/Menu/MenuTrigger.js.map +1 -0
  122. package/dist/granular/ui/components/Modal/Modal.js +171 -0
  123. package/dist/granular/ui/components/Modal/Modal.js.map +1 -0
  124. package/dist/granular/ui/components/MultiSelect/MultiSelect.js +193 -0
  125. package/dist/granular/ui/components/MultiSelect/MultiSelect.js.map +1 -0
  126. package/dist/granular/ui/components/Navigation/Navigation.js +141 -0
  127. package/dist/granular/ui/components/Navigation/Navigation.js.map +1 -0
  128. package/dist/granular/ui/components/PageHeader/PageHeader.js +95 -0
  129. package/dist/granular/ui/components/PageHeader/PageHeader.js.map +1 -0
  130. package/dist/granular/ui/components/Pagination/Pagination.js +156 -0
  131. package/dist/granular/ui/components/Pagination/Pagination.js.map +1 -0
  132. package/dist/granular/ui/components/Popover/Popover.js +171 -0
  133. package/dist/granular/ui/components/Popover/Popover.js.map +1 -0
  134. package/dist/granular/ui/components/Rating/Rating.js +110 -0
  135. package/dist/granular/ui/components/Rating/Rating.js.map +1 -0
  136. package/dist/granular/ui/components/SearchAndFilterPattern/SearchAndFilterPattern.js +120 -0
  137. package/dist/granular/ui/components/SearchAndFilterPattern/SearchAndFilterPattern.js.map +1 -0
  138. package/dist/granular/ui/components/SearchInput/SearchInput.js +103 -0
  139. package/dist/granular/ui/components/SearchInput/SearchInput.js.map +1 -0
  140. package/dist/granular/ui/components/SideNavbar/SideNavbar.js +143 -0
  141. package/dist/granular/ui/components/SideNavbar/SideNavbar.js.map +1 -0
  142. package/dist/granular/ui/components/SideNavbar/components/Navbar/Navbar.js +173 -0
  143. package/dist/granular/ui/components/SideNavbar/components/Navbar/Navbar.js.map +1 -0
  144. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarGroup.js +87 -0
  145. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarGroup.js.map +1 -0
  146. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarItem.js +242 -0
  147. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarItem.js.map +1 -0
  148. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarSeparator.js +66 -0
  149. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarSeparator.js.map +1 -0
  150. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarToggle.js +108 -0
  151. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarToggle.js.map +1 -0
  152. package/dist/granular/ui/components/SideNavbar/components/SideNavbarBackdrop.js +63 -0
  153. package/dist/granular/ui/components/SideNavbar/components/SideNavbarBackdrop.js.map +1 -0
  154. package/dist/granular/ui/components/SideNavbar/components/SideNavbarResizeHandle.js +113 -0
  155. package/dist/granular/ui/components/SideNavbar/components/SideNavbarResizeHandle.js.map +1 -0
  156. package/dist/granular/ui/components/SideNavbar/components/SideNavbarRoot.js +150 -0
  157. package/dist/granular/ui/components/SideNavbar/components/SideNavbarRoot.js.map +1 -0
  158. package/dist/granular/ui/components/SideNavbar/components/SideNavbarToggle.js +197 -0
  159. package/dist/granular/ui/components/SideNavbar/components/SideNavbarToggle.js.map +1 -0
  160. package/dist/granular/ui/components/SideNavbar/components/Sidebar/Sidebar.js +108 -0
  161. package/dist/granular/ui/components/SideNavbar/components/Sidebar/Sidebar.js.map +1 -0
  162. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarContent.js +71 -0
  163. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarContent.js.map +1 -0
  164. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarFooter.js +64 -0
  165. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarFooter.js.map +1 -0
  166. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarGroup.js +141 -0
  167. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarGroup.js.map +1 -0
  168. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarHeader.js +90 -0
  169. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarHeader.js.map +1 -0
  170. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlot.js +12 -0
  171. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlot.js.map +1 -0
  172. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlotContent.js +13 -0
  173. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlotContent.js.map +1 -0
  174. package/dist/granular/ui/components/SideNavbar/contexts/NavbarContext.js +20 -0
  175. package/dist/granular/ui/components/SideNavbar/contexts/NavbarContext.js.map +1 -0
  176. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarConfigContext.js +37 -0
  177. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarConfigContext.js.map +1 -0
  178. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarStateContext.js +20 -0
  179. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarStateContext.js.map +1 -0
  180. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarThemeContext.js +28 -0
  181. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarThemeContext.js.map +1 -0
  182. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarToggleContext.js +19 -0
  183. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarToggleContext.js.map +1 -0
  184. package/dist/granular/ui/components/SideNavbar/contexts/SidebarContext.js +20 -0
  185. package/dist/granular/ui/components/SideNavbar/contexts/SidebarContext.js.map +1 -0
  186. package/dist/granular/ui/components/SideNavbar/contexts/SidebarSlotContext.js +22 -0
  187. package/dist/granular/ui/components/SideNavbar/contexts/SidebarSlotContext.js.map +1 -0
  188. package/dist/granular/ui/components/SideNavbar/hooks/useFocusManagement.js +43 -0
  189. package/dist/granular/ui/components/SideNavbar/hooks/useFocusManagement.js.map +1 -0
  190. package/dist/granular/ui/components/SideNavbar/hooks/useGroupState.js +59 -0
  191. package/dist/granular/ui/components/SideNavbar/hooks/useGroupState.js.map +1 -0
  192. package/dist/granular/ui/components/SideNavbar/hooks/useKeyboardShortcut.js +34 -0
  193. package/dist/granular/ui/components/SideNavbar/hooks/useKeyboardShortcut.js.map +1 -0
  194. package/dist/granular/ui/components/SideNavbar/hooks/useResize.js +58 -0
  195. package/dist/granular/ui/components/SideNavbar/hooks/useResize.js.map +1 -0
  196. package/dist/granular/ui/components/SideNavbar/hooks/useResponsiveSidebar.js +35 -0
  197. package/dist/granular/ui/components/SideNavbar/hooks/useResponsiveSidebar.js.map +1 -0
  198. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbar.js +21 -0
  199. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbar.js.map +1 -0
  200. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarContent.js +19 -0
  201. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarContent.js.map +1 -0
  202. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarNavigation.js +21 -0
  203. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarNavigation.js.map +1 -0
  204. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarConfigProvider.js +61 -0
  205. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarConfigProvider.js.map +1 -0
  206. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarProvider.js +82 -0
  207. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarProvider.js.map +1 -0
  208. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarStateProvider.js +165 -0
  209. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarStateProvider.js.map +1 -0
  210. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarThemeProvider.js +34 -0
  211. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarThemeProvider.js.map +1 -0
  212. package/dist/granular/ui/components/SideNavbar/providers/SidebarSlotProvider.js +28 -0
  213. package/dist/granular/ui/components/SideNavbar/providers/SidebarSlotProvider.js.map +1 -0
  214. package/dist/granular/ui/components/SideNavbar/utils/parseKeyboardShortcut.js +60 -0
  215. package/dist/granular/ui/components/SideNavbar/utils/parseKeyboardShortcut.js.map +1 -0
  216. package/dist/granular/ui/components/SideNavbar/utils/parseWidth.js +19 -0
  217. package/dist/granular/ui/components/SideNavbar/utils/parseWidth.js.map +1 -0
  218. package/dist/granular/ui/components/Stat/Stat.js +84 -0
  219. package/dist/granular/ui/components/Stat/Stat.js.map +1 -0
  220. package/dist/granular/ui/components/Stat/StatGroup.js +61 -0
  221. package/dist/granular/ui/components/Stat/StatGroup.js.map +1 -0
  222. package/dist/granular/ui/components/Stepper/Stepper.js +248 -0
  223. package/dist/granular/ui/components/Stepper/Stepper.js.map +1 -0
  224. package/dist/granular/ui/components/Table/Table.js +162 -0
  225. package/dist/granular/ui/components/Table/Table.js.map +1 -0
  226. package/dist/granular/ui/components/Table/TableActions/TableActions.js +67 -0
  227. package/dist/granular/ui/components/Table/TableActions/TableActions.js.map +1 -0
  228. package/dist/granular/ui/components/Table/TableActions.js +44 -0
  229. package/dist/granular/ui/components/Table/TableActions.js.map +1 -0
  230. package/dist/granular/ui/components/Table/TableBody.js +134 -0
  231. package/dist/granular/ui/components/Table/TableBody.js.map +1 -0
  232. package/dist/granular/ui/components/Table/TableCell.js +40 -0
  233. package/dist/granular/ui/components/Table/TableCell.js.map +1 -0
  234. package/dist/granular/ui/components/Table/TableContext.js +19 -0
  235. package/dist/granular/ui/components/Table/TableContext.js.map +1 -0
  236. package/dist/granular/ui/components/Table/TableEmptyState.js +62 -0
  237. package/dist/granular/ui/components/Table/TableEmptyState.js.map +1 -0
  238. package/dist/granular/ui/components/Table/TableFilters/TableFilters.js +189 -0
  239. package/dist/granular/ui/components/Table/TableFilters/TableFilters.js.map +1 -0
  240. package/dist/granular/ui/components/Table/TableFilters.js +48 -0
  241. package/dist/granular/ui/components/Table/TableFilters.js.map +1 -0
  242. package/dist/granular/ui/components/Table/TableHeader.js +45 -0
  243. package/dist/granular/ui/components/Table/TableHeader.js.map +1 -0
  244. package/dist/granular/ui/components/Table/TableHeaderCell.js +117 -0
  245. package/dist/granular/ui/components/Table/TableHeaderCell.js.map +1 -0
  246. package/dist/granular/ui/components/Table/TableHeaderRow.js +89 -0
  247. package/dist/granular/ui/components/Table/TableHeaderRow.js.map +1 -0
  248. package/dist/granular/ui/components/Table/TablePagination/TablePagination.js +216 -0
  249. package/dist/granular/ui/components/Table/TablePagination/TablePagination.js.map +1 -0
  250. package/dist/granular/ui/components/Table/TablePagination.js +56 -0
  251. package/dist/granular/ui/components/Table/TablePagination.js.map +1 -0
  252. package/dist/granular/ui/components/Table/TableProvider.js +244 -0
  253. package/dist/granular/ui/components/Table/TableProvider.js.map +1 -0
  254. package/dist/granular/ui/components/Table/TableRow.js +95 -0
  255. package/dist/granular/ui/components/Table/TableRow.js.map +1 -0
  256. package/dist/granular/ui/components/Table/useColumnResizing.js +71 -0
  257. package/dist/granular/ui/components/Table/useColumnResizing.js.map +1 -0
  258. package/dist/granular/ui/components/Table/useVirtualScrolling.js +50 -0
  259. package/dist/granular/ui/components/Table/useVirtualScrolling.js.map +1 -0
  260. package/dist/granular/ui/components/Tabs/Tabs.js +39 -0
  261. package/dist/granular/ui/components/Tabs/Tabs.js.map +1 -0
  262. package/dist/granular/ui/components/Tabs/TabsContent.js +59 -0
  263. package/dist/granular/ui/components/Tabs/TabsContent.js.map +1 -0
  264. package/dist/granular/ui/components/Tabs/TabsContext.js +18 -0
  265. package/dist/granular/ui/components/Tabs/TabsContext.js.map +1 -0
  266. package/dist/granular/ui/components/Tabs/TabsList.js +84 -0
  267. package/dist/granular/ui/components/Tabs/TabsList.js.map +1 -0
  268. package/dist/granular/ui/components/Tabs/TabsProvider.js +31 -0
  269. package/dist/granular/ui/components/Tabs/TabsProvider.js.map +1 -0
  270. package/dist/granular/ui/components/Tabs/TabsTrigger.js +103 -0
  271. package/dist/granular/ui/components/Tabs/TabsTrigger.js.map +1 -0
  272. package/dist/granular/ui/components/TimePicker/TimePicker.js +216 -0
  273. package/dist/granular/ui/components/TimePicker/TimePicker.js.map +1 -0
  274. package/dist/granular/ui/components/Timeline/Timeline.js +152 -0
  275. package/dist/granular/ui/components/Timeline/Timeline.js.map +1 -0
  276. package/dist/granular/ui/components/Toast/Toast.js +159 -0
  277. package/dist/granular/ui/components/Toast/Toast.js.map +1 -0
  278. package/dist/granular/ui/components/Toast/ToastContainer.js +41 -0
  279. package/dist/granular/ui/components/Toast/ToastContainer.js.map +1 -0
  280. package/dist/granular/ui/components/Toast/useToast.js +64 -0
  281. package/dist/granular/ui/components/Toast/useToast.js.map +1 -0
  282. package/dist/granular/ui/hooks/createGenericContext.js +27 -0
  283. package/dist/granular/ui/hooks/createGenericContext.js.map +1 -0
  284. package/dist/granular/ui/hooks/focusable.js +14 -0
  285. package/dist/granular/ui/hooks/focusable.js.map +1 -0
  286. package/dist/granular/ui/hooks/useAutoFocus.js +23 -0
  287. package/dist/granular/ui/hooks/useAutoFocus.js.map +1 -0
  288. package/dist/granular/ui/hooks/useCollapsible.js +37 -0
  289. package/dist/granular/ui/hooks/useCollapsible.js.map +1 -0
  290. package/dist/granular/ui/hooks/useFocusRestore.js +20 -0
  291. package/dist/granular/ui/hooks/useFocusRestore.js.map +1 -0
  292. package/dist/granular/ui/hooks/useFocusTrap.js +31 -0
  293. package/dist/granular/ui/hooks/useFocusTrap.js.map +1 -0
  294. package/dist/granular/ui/hooks/useScrollSpy.js +23 -0
  295. package/dist/granular/ui/hooks/useScrollSpy.js.map +1 -0
  296. package/dist/granular/ui/layouts/Container/Container.js +73 -0
  297. package/dist/granular/ui/layouts/Container/Container.js.map +1 -0
  298. package/dist/granular/ui/layouts/Stack/Stack.js +79 -0
  299. package/dist/granular/ui/layouts/Stack/Stack.js.map +1 -0
  300. package/dist/granular/ui/primitives/Avatar/Avatar.js +122 -0
  301. package/dist/granular/ui/primitives/Avatar/Avatar.js.map +1 -0
  302. package/dist/granular/ui/primitives/Avatar/AvatarGroup.js +97 -0
  303. package/dist/granular/ui/primitives/Avatar/AvatarGroup.js.map +1 -0
  304. package/dist/granular/ui/primitives/Badge/Badge.js +212 -0
  305. package/dist/granular/ui/primitives/Badge/Badge.js.map +1 -0
  306. package/dist/granular/ui/primitives/Button/Button.js +288 -0
  307. package/dist/granular/ui/primitives/Button/Button.js.map +1 -0
  308. package/dist/granular/ui/primitives/Checkbox/Checkbox.js +129 -0
  309. package/dist/granular/ui/primitives/Checkbox/Checkbox.js.map +1 -0
  310. package/dist/granular/ui/primitives/Chip/Chip.js +206 -0
  311. package/dist/granular/ui/primitives/Chip/Chip.js.map +1 -0
  312. package/dist/granular/ui/primitives/Collapsible/Collapsible.js +115 -0
  313. package/dist/granular/ui/primitives/Collapsible/Collapsible.js.map +1 -0
  314. package/dist/granular/ui/primitives/ErrorMessage/ErrorMessage.js +54 -0
  315. package/dist/granular/ui/primitives/ErrorMessage/ErrorMessage.js.map +1 -0
  316. package/dist/granular/ui/primitives/Info/Info.js +57 -0
  317. package/dist/granular/ui/primitives/Info/Info.js.map +1 -0
  318. package/dist/granular/ui/primitives/Input/Input.js +351 -0
  319. package/dist/granular/ui/primitives/Input/Input.js.map +1 -0
  320. package/dist/granular/ui/primitives/Label/Label.js +61 -0
  321. package/dist/granular/ui/primitives/Label/Label.js.map +1 -0
  322. package/dist/granular/ui/primitives/NavLink/NavLink.js +229 -0
  323. package/dist/granular/ui/primitives/NavLink/NavLink.js.map +1 -0
  324. package/dist/granular/ui/primitives/NavLink/hooks/useNavLink.js +15 -0
  325. package/dist/granular/ui/primitives/NavLink/hooks/useNavLink.js.map +1 -0
  326. package/dist/granular/ui/primitives/Progress/Progress.js +182 -0
  327. package/dist/granular/ui/primitives/Progress/Progress.js.map +1 -0
  328. package/dist/granular/ui/primitives/Radio/Radio.js +118 -0
  329. package/dist/granular/ui/primitives/Radio/Radio.js.map +1 -0
  330. package/dist/granular/ui/primitives/Select/Select.js +210 -0
  331. package/dist/granular/ui/primitives/Select/Select.js.map +1 -0
  332. package/dist/granular/ui/primitives/Separator/Separator.js +69 -0
  333. package/dist/granular/ui/primitives/Separator/Separator.js.map +1 -0
  334. package/dist/granular/ui/primitives/Skeleton/Skeleton.js +87 -0
  335. package/dist/granular/ui/primitives/Skeleton/Skeleton.js.map +1 -0
  336. package/dist/granular/ui/primitives/Slider/Slider.js +291 -0
  337. package/dist/granular/ui/primitives/Slider/Slider.js.map +1 -0
  338. package/dist/granular/ui/primitives/Spinner/Spinner.js +95 -0
  339. package/dist/granular/ui/primitives/Spinner/Spinner.js.map +1 -0
  340. package/dist/granular/ui/primitives/Switch/Switch.js +212 -0
  341. package/dist/granular/ui/primitives/Switch/Switch.js.map +1 -0
  342. package/dist/granular/ui/primitives/Text/Text.js +118 -0
  343. package/dist/granular/ui/primitives/Text/Text.js.map +1 -0
  344. package/dist/granular/ui/primitives/Textarea/Textarea.js +129 -0
  345. package/dist/granular/ui/primitives/Textarea/Textarea.js.map +1 -0
  346. package/dist/granular/ui/primitives/Tooltip/Tooltip.js +227 -0
  347. package/dist/granular/ui/primitives/Tooltip/Tooltip.js.map +1 -0
  348. package/dist/granular/ui/providers/AppProvider.js +50 -0
  349. package/dist/granular/ui/providers/AppProvider.js.map +1 -0
  350. package/dist/granular/ui/providers/ConfigProvider.js +95 -0
  351. package/dist/granular/ui/providers/ConfigProvider.js.map +1 -0
  352. package/dist/granular/ui/providers/DialogContext.js +20 -0
  353. package/dist/granular/ui/providers/DialogContext.js.map +1 -0
  354. package/dist/granular/ui/providers/DialogProvider.js +32 -0
  355. package/dist/granular/ui/providers/DialogProvider.js.map +1 -0
  356. package/dist/granular/ui/providers/ThemeProvider.js +56 -0
  357. package/dist/granular/ui/providers/ThemeProvider.js.map +1 -0
  358. package/dist/granular/ui/providers/ToastContext.js +20 -0
  359. package/dist/granular/ui/providers/ToastContext.js.map +1 -0
  360. package/dist/granular/ui/providers/ToastProvider.js +47 -0
  361. package/dist/granular/ui/providers/ToastProvider.js.map +1 -0
  362. package/dist/granular/ui/providers/providers-bundle.js +23 -0
  363. package/dist/granular/ui/providers/providers-bundle.js.map +1 -0
  364. package/dist/granular/ui/tokens/animations.js +106 -0
  365. package/dist/granular/ui/tokens/animations.js.map +1 -0
  366. package/dist/granular/ui/tokens/borders.js +54 -0
  367. package/dist/granular/ui/tokens/borders.js.map +1 -0
  368. package/dist/granular/ui/tokens/breakpoints.js +43 -0
  369. package/dist/granular/ui/tokens/breakpoints.js.map +1 -0
  370. package/dist/granular/ui/tokens/colors/brand.js +67 -0
  371. package/dist/granular/ui/tokens/colors/brand.js.map +1 -0
  372. package/dist/granular/ui/tokens/colors/index.js +25 -0
  373. package/dist/granular/ui/tokens/colors/index.js.map +1 -0
  374. package/dist/granular/ui/tokens/colors/primitives.js +320 -0
  375. package/dist/granular/ui/tokens/colors/primitives.js.map +1 -0
  376. package/dist/granular/ui/tokens/colors/semantic.js +212 -0
  377. package/dist/granular/ui/tokens/colors/semantic.js.map +1 -0
  378. package/dist/granular/ui/tokens/colors/types.js +18 -0
  379. package/dist/granular/ui/tokens/colors/types.js.map +1 -0
  380. package/dist/granular/ui/tokens/colors/utils.js +131 -0
  381. package/dist/granular/ui/tokens/colors/utils.js.map +1 -0
  382. package/dist/granular/ui/tokens/opacity.js +59 -0
  383. package/dist/granular/ui/tokens/opacity.js.map +1 -0
  384. package/dist/granular/ui/tokens/radius.js +76 -0
  385. package/dist/granular/ui/tokens/radius.js.map +1 -0
  386. package/dist/granular/ui/tokens/shadows.js +63 -0
  387. package/dist/granular/ui/tokens/shadows.js.map +1 -0
  388. package/dist/granular/ui/tokens/sidebar.js +92 -0
  389. package/dist/granular/ui/tokens/sidebar.js.map +1 -0
  390. package/dist/granular/ui/tokens/spacing.js +143 -0
  391. package/dist/granular/ui/tokens/spacing.js.map +1 -0
  392. package/dist/granular/ui/tokens/switch.js +51 -0
  393. package/dist/granular/ui/tokens/switch.js.map +1 -0
  394. package/dist/granular/ui/tokens/typography.js +146 -0
  395. package/dist/granular/ui/tokens/typography.js.map +1 -0
  396. package/dist/granular/ui/tokens/z-index.js +79 -0
  397. package/dist/granular/ui/tokens/z-index.js.map +1 -0
  398. package/dist/granular/ui/utils/cn.js +10 -0
  399. package/dist/granular/ui/utils/cn.js.map +1 -0
  400. package/dist/granular/ui/utils/cva.js +14 -0
  401. package/dist/granular/ui/utils/cva.js.map +1 -0
  402. package/dist/granular/ui/utils/mergeRefs.js +11 -0
  403. package/dist/granular/ui/utils/mergeRefs.js.map +1 -0
  404. package/dist/granular/vite.svg +1 -0
  405. package/dist/index.cjs +46 -46
  406. package/dist/index.cjs.map +1 -1
  407. package/dist/index.js +1172 -1135
  408. package/dist/index.js.map +1 -1
  409. package/dist/react-design-system.css +1 -1
  410. package/dist/server/index.cjs +23 -23
  411. package/dist/server/index.cjs.map +1 -1
  412. package/dist/server/index.js +882 -1179
  413. package/dist/server/index.js.map +1 -1
  414. package/dist/ui/components/FilterChips/FilterChips.d.ts +83 -0
  415. package/dist/ui/components/FilterChips/index.d.ts +2 -0
  416. package/dist/ui/components/index.d.ts +2 -0
  417. package/dist/ui/server.d.ts +2 -0
  418. package/package.json +9 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardActions.js","sources":["../../../../../src/ui/components/Card/CardActions.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\n\nexport interface CardActionsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\n/**\n * CardActions — wrapper that hosts consumer-supplied action buttons\n * within a `Card.Header`.\n *\n * The `data-card-actions` attribute is the structural marker `CardHeader`\n * uses (via Tailwind v4 `:has()` selectors) to switch its grid layout\n * from a single column to `[1fr auto]` when actions are present, so\n * Title/Subtitle stack in column 1 and the action row spans both rows\n * in column 2. Consumers should not override this attribute.\n *\n * This component is presentational: it emits no handlers on the DOM\n * itself. The action elements (typically `<Button>`) are consumer-supplied\n * and React's RSC boundary keeps them as client references — the\n * wrapper stays server-safe.\n */\nexport function CardActions({\n children,\n className,\n ...props\n}: CardActionsProps) {\n return (\n <div\n data-card-actions=\"\"\n className={cn(\n \"flex items-center self-start\",\n getSpacingClass(\"sm\", \"gap\"),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport default CardActions;\n"],"names":["CardActions","_a","_b","children","className","props","__objRest","jsx","__spreadProps","__spreadValues","cn","getSpacingClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,SAASA,EAAYC,GAIP;AAJO,MAAAC,IAAAD,GAC1B;AAAA,cAAAE;AAAA,IACA,WAAAC;AAAA,MAF0BF,GAGvBG,IAAAC,EAHuBJ,GAGvB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,qBAAkB;AAAA,MAClB,WAAWC;AAAA,QACT;AAAA,QACAC,EAAgB,MAAM,KAAK;AAAA,QAC3BP;AAAA,MAAA;AAAA,OAEEC,IAPL;AAAA,MASE,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ var p = Object.defineProperty, u = Object.defineProperties;
3
+ var l = Object.getOwnPropertyDescriptors;
4
+ var i = Object.getOwnPropertySymbols;
5
+ var c = Object.prototype.hasOwnProperty, s = Object.prototype.propertyIsEnumerable;
6
+ var n = (r, o, t) => o in r ? p(r, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[o] = t, a = (r, o) => {
7
+ for (var t in o || (o = {}))
8
+ c.call(o, t) && n(r, t, o[t]);
9
+ if (i)
10
+ for (var t of i(o))
11
+ s.call(o, t) && n(r, t, o[t]);
12
+ return r;
13
+ }, d = (r, o) => u(r, l(o));
14
+ var f = (r, o) => {
15
+ var t = {};
16
+ for (var e in r)
17
+ c.call(r, e) && o.indexOf(e) < 0 && (t[e] = r[e]);
18
+ if (r != null && i)
19
+ for (var e of i(r))
20
+ o.indexOf(e) < 0 && s.call(r, e) && (t[e] = r[e]);
21
+ return t;
22
+ };
23
+ import { jsx as x } from "react/jsx-runtime";
24
+ import { cn as j } from "../../utils/cn.js";
25
+ function C(e) {
26
+ var m = e, { children: r, className: o } = m, t = f(m, ["children", "className"]);
27
+ return /* @__PURE__ */ x("div", d(a({ className: j(o) }, t), { children: r }));
28
+ }
29
+ export {
30
+ C as CardBody
31
+ };
32
+ //# sourceMappingURL=CardBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardBody.js","sources":["../../../../../src/ui/components/Card/CardBody.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils\";\n\nexport interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function CardBody({ children, className, ...props }: CardBodyProps) {\n return (\n <div className={cn(className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport default CardBody;\n"],"names":["CardBody","_a","_b","children","className","props","__objRest","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOO,SAASA,EAASC,GAAkD;AAAlD,MAAAC,IAAAD,GAAE,YAAAE,GAAU,WAAAC,MAAZF,GAA0BG,IAAAC,EAA1BJ,GAA0B,CAAxB,YAAU;AACnC,SACE,gBAAAK,EAAC,aAAI,WAAWC,EAAGJ,CAAS,KAAOC,MAChC,UAAAF,IACH;AAEJ;"}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ var l = Object.defineProperty, g = Object.defineProperties;
3
+ var u = Object.getOwnPropertyDescriptors;
4
+ var o = Object.getOwnPropertySymbols;
5
+ var d = Object.prototype.hasOwnProperty, e = Object.prototype.propertyIsEnumerable;
6
+ var c = (a, r, t) => r in a ? l(a, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[r] = t, n = (a, r) => {
7
+ for (var t in r || (r = {}))
8
+ d.call(r, t) && c(a, t, r[t]);
9
+ if (o)
10
+ for (var t of o(r))
11
+ e.call(r, t) && c(a, t, r[t]);
12
+ return a;
13
+ }, m = (a, r) => g(a, u(r));
14
+ var p = (a, r) => {
15
+ var t = {};
16
+ for (var s in a)
17
+ d.call(a, s) && r.indexOf(s) < 0 && (t[s] = a[s]);
18
+ if (a != null && o)
19
+ for (var s of o(a))
20
+ r.indexOf(s) < 0 && e.call(a, s) && (t[s] = a[s]);
21
+ return t;
22
+ };
23
+ import { jsx as b } from "react/jsx-runtime";
24
+ import { getSpacingClass as f } from "../../tokens/spacing.js";
25
+ import { cn as h } from "../../utils/cn.js";
26
+ function w(s) {
27
+ var i = s, { children: a, className: r } = i, t = p(i, ["children", "className"]);
28
+ return /* @__PURE__ */ b(
29
+ "div",
30
+ m(n({
31
+ className: h(
32
+ "grid items-start",
33
+ f("1.5", "gap"),
34
+ f("base", "mb"),
35
+ "[&:has([data-card-actions])]:grid-cols-[1fr_auto]",
36
+ "[&:has([data-card-actions])>[data-card-actions]]:row-span-full",
37
+ r
38
+ )
39
+ }, t), {
40
+ children: a
41
+ })
42
+ );
43
+ }
44
+ export {
45
+ w as CardHeader
46
+ };
47
+ //# sourceMappingURL=CardHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.js","sources":["../../../../../src/ui/components/Card/CardHeader.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\n\nexport interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function CardHeader({ children, className, ...props }: CardHeaderProps) {\n return (\n <div\n className={cn(\n \"grid items-start\",\n getSpacingClass(\"1.5\", \"gap\"),\n getSpacingClass(\"base\", \"mb\"),\n \"[&:has([data-card-actions])]:grid-cols-[1fr_auto]\",\n \"[&:has([data-card-actions])>[data-card-actions]]:row-span-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport default CardHeader;\n"],"names":["CardHeader","_a","_b","children","className","props","__objRest","jsx","__spreadProps","__spreadValues","cn","getSpacingClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQO,SAASA,EAAWC,GAAoD;AAApD,MAAAC,IAAAD,GAAE,YAAAE,GAAU,WAAAC,MAAZF,GAA0BG,IAAAC,EAA1BJ,GAA0B,CAAxB,YAAU;AACrC,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAC,EAAgB,OAAO,KAAK;AAAA,QAC5BA,EAAgB,QAAQ,IAAI;AAAA,QAC5B;AAAA,QACA;AAAA,QACAP;AAAA,MAAA;AAAA,OAEEC,IATL;AAAA,MAWE,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ var u = Object.defineProperty, x = Object.defineProperties;
3
+ var l = Object.getOwnPropertyDescriptors;
4
+ var m = Object.getOwnPropertySymbols;
5
+ var c = Object.prototype.hasOwnProperty, i = Object.prototype.propertyIsEnumerable;
6
+ var s = (t, e, r) => e in t ? u(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, a = (t, e) => {
7
+ for (var r in e || (e = {}))
8
+ c.call(e, r) && s(t, r, e[r]);
9
+ if (m)
10
+ for (var r of m(e))
11
+ i.call(e, r) && s(t, r, e[r]);
12
+ return t;
13
+ }, f = (t, e) => x(t, l(e));
14
+ var p = (t, e) => {
15
+ var r = {};
16
+ for (var o in t)
17
+ c.call(t, o) && e.indexOf(o) < 0 && (r[o] = t[o]);
18
+ if (t != null && m)
19
+ for (var o of m(t))
20
+ e.indexOf(o) < 0 && i.call(t, o) && (r[o] = t[o]);
21
+ return r;
22
+ };
23
+ import { jsx as d } from "react/jsx-runtime";
24
+ import { cn as b } from "../../utils/cn.js";
25
+ function C(o) {
26
+ var n = o, {
27
+ children: t,
28
+ className: e
29
+ } = n, r = p(n, [
30
+ "children",
31
+ "className"
32
+ ]);
33
+ return /* @__PURE__ */ d("p", f(a({ className: b("text-sm text-fg-secondary", e) }, r), { children: t }));
34
+ }
35
+ export {
36
+ C as CardSubtitle
37
+ };
38
+ //# sourceMappingURL=CardSubtitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardSubtitle.js","sources":["../../../../../src/ui/components/Card/CardSubtitle.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils\";\n\nexport interface CardSubtitleProps extends HTMLAttributes<HTMLParagraphElement> {\n children: ReactNode;\n}\n\nexport function CardSubtitle({\n children,\n className,\n ...props\n}: CardSubtitleProps) {\n return (\n <p className={cn(\"text-sm text-fg-secondary\", className)} {...props}>\n {children}\n </p>\n );\n}\n\nexport default CardSubtitle;\n"],"names":["CardSubtitle","_a","_b","children","className","props","__objRest","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOO,SAASA,EAAaC,GAIP;AAJO,MAAAC,IAAAD,GAC3B;AAAA,cAAAE;AAAA,IACA,WAAAC;AAAA,MAF2BF,GAGxBG,IAAAC,EAHwBJ,GAGxB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,SACE,gBAAAK,EAAC,WAAE,WAAWC,EAAG,6BAA6BJ,CAAS,KAAOC,MAC3D,UAAAF,IACH;AAEJ;"}
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ var u = Object.defineProperty, d = Object.defineProperties;
3
+ var g = Object.getOwnPropertyDescriptors;
4
+ var i = Object.getOwnPropertySymbols;
5
+ var m = Object.prototype.hasOwnProperty, c = Object.prototype.propertyIsEnumerable;
6
+ var a = (e, s, n) => s in e ? u(e, s, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[s] = n, p = (e, s) => {
7
+ for (var n in s || (s = {}))
8
+ m.call(s, n) && a(e, n, s[n]);
9
+ if (i)
10
+ for (var n of i(s))
11
+ c.call(s, n) && a(e, n, s[n]);
12
+ return e;
13
+ }, f = (e, s) => d(e, g(s));
14
+ var o = (e, s) => {
15
+ var n = {};
16
+ for (var l in e)
17
+ m.call(e, l) && s.indexOf(l) < 0 && (n[l] = e[l]);
18
+ if (e != null && i)
19
+ for (var l of i(e))
20
+ s.indexOf(l) < 0 && c.call(e, l) && (n[l] = e[l]);
21
+ return n;
22
+ };
23
+ import { jsxs as N, jsx as r } from "react/jsx-runtime";
24
+ import { getSpacingClass as j } from "../../tokens/spacing.js";
25
+ import { cn as C } from "../../utils/cn.js";
26
+ function q(b) {
27
+ var t = b, {
28
+ children: e,
29
+ icon: s,
30
+ badge: n,
31
+ as: l = "h2",
32
+ className: x
33
+ } = t, h = o(t, [
34
+ "children",
35
+ "icon",
36
+ "badge",
37
+ "as",
38
+ "className"
39
+ ]);
40
+ return /* @__PURE__ */ N(
41
+ l,
42
+ f(p({
43
+ className: C(
44
+ "text-base font-semibold text-fg-primary",
45
+ "flex items-center",
46
+ j("sm", "gap"),
47
+ x
48
+ )
49
+ }, h), {
50
+ children: [
51
+ s ? /* @__PURE__ */ r("span", { className: "shrink-0 inline-flex", children: s }) : null,
52
+ /* @__PURE__ */ r("span", { children: e }),
53
+ n ? /* @__PURE__ */ r("span", { className: "inline-flex", children: n }) : null
54
+ ]
55
+ })
56
+ );
57
+ }
58
+ export {
59
+ q as CardTitle
60
+ };
61
+ //# sourceMappingURL=CardTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardTitle.js","sources":["../../../../../src/ui/components/Card/CardTitle.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\n\nexport type CardTitleAs = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n\nexport interface CardTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n children: ReactNode;\n /**\n * Optional icon rendered before the title text.\n */\n icon?: ReactNode;\n /**\n * Optional badge rendered after the title text.\n */\n badge?: ReactNode;\n /**\n * Heading level. Default `h2` — the typical depth for a card title\n * inside a page that already has an `h1`. Use `h3` (or deeper) when\n * the card sits inside a nested section.\n * @default 'h2'\n */\n as?: CardTitleAs;\n}\n\nexport function CardTitle({\n children,\n icon,\n badge,\n as: As = \"h2\",\n className,\n ...props\n}: CardTitleProps) {\n return (\n <As\n className={cn(\n \"text-base font-semibold text-fg-primary\",\n \"flex items-center\",\n getSpacingClass(\"sm\", \"gap\"),\n className,\n )}\n {...props}\n >\n {icon ? <span className=\"shrink-0 inline-flex\">{icon}</span> : null}\n <span>{children}</span>\n {badge ? <span className=\"inline-flex\">{badge}</span> : null}\n </As>\n );\n}\n\nexport default CardTitle;\n"],"names":["CardTitle","_a","_b","children","icon","badge","As","className","props","__objRest","jsxs","__spreadProps","__spreadValues","cn","getSpacingClass","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,SAASA,EAAUC,GAOP;AAPO,MAAAC,IAAAD,GACxB;AAAA,cAAAE;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,IAAIC,IAAK;AAAA,IACT,WAAAC;AAAA,MALwBL,GAMrBM,IAAAC,EANqBP,GAMrB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,gBAAAQ;AAAA,IAACJ;AAAA,IAAAK,EAAAC,EAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACAC,EAAgB,MAAM,KAAK;AAAA,QAC3BP;AAAA,MAAA;AAAA,OAEEC,IAPL;AAAA,MASE,UAAA;AAAA,QAAAJ,IAAO,gBAAAW,EAAC,QAAA,EAAK,WAAU,wBAAwB,aAAK,IAAU;AAAA,QAC/D,gBAAAA,EAAC,UAAM,UAAAZ,GAAS;AAAA,QACfE,IAAQ,gBAAAU,EAAC,QAAA,EAAK,WAAU,eAAe,aAAM,IAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG9D;"}
@@ -0,0 +1,250 @@
1
+ "use client";
2
+ var A = Object.defineProperty, E = Object.defineProperties;
3
+ var F = Object.getOwnPropertyDescriptors;
4
+ var C = Object.getOwnPropertySymbols;
5
+ var G = Object.prototype.hasOwnProperty, _ = Object.prototype.propertyIsEnumerable;
6
+ var I = (a, r, l) => r in a ? A(a, r, { enumerable: !0, configurable: !0, writable: !0, value: l }) : a[r] = l, R = (a, r) => {
7
+ for (var l in r || (r = {}))
8
+ G.call(r, l) && I(a, l, r[l]);
9
+ if (C)
10
+ for (var l of C(r))
11
+ _.call(r, l) && I(a, l, r[l]);
12
+ return a;
13
+ }, S = (a, r) => E(a, F(r));
14
+ import { jsxs as n, jsx as s } from "react/jsx-runtime";
15
+ import { useState as j, useEffect as q } from "react";
16
+ import { getRadiusClass as $ } from "../../tokens/radius.js";
17
+ import { getShadowClass as N } from "../../tokens/shadows.js";
18
+ import { getSpacingClass as o } from "../../tokens/spacing.js";
19
+ import H from "../../primitives/Input/Input.js";
20
+ import z from "../Popover/Popover.js";
21
+ function Z({
22
+ value: a,
23
+ defaultValue: r = "#000000",
24
+ format: l = "hex",
25
+ onChange: c,
26
+ presets: V,
27
+ showInput: y = !0,
28
+ disabled: i = !1,
29
+ label: w,
30
+ className: B = ""
31
+ }) {
32
+ const [L, p] = j(r), [f, u] = j({ r: 0, g: 0, b: 0 }), b = a !== void 0, m = b ? a : L, x = (e) => {
33
+ const t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);
34
+ return t ? {
35
+ r: parseInt(t[1], 16),
36
+ g: parseInt(t[2], 16),
37
+ b: parseInt(t[3], 16)
38
+ } : { r: 0, g: 0, b: 0 };
39
+ }, M = (e, t, d) => "#" + [e, t, d].map((g) => {
40
+ const v = g.toString(16);
41
+ return v.length === 1 ? "0" + v : v;
42
+ }).join("");
43
+ q(() => {
44
+ if (m) {
45
+ const e = x(m);
46
+ u(e);
47
+ }
48
+ }, [m]);
49
+ const k = (e) => {
50
+ const t = e.target.value;
51
+ (/^#[0-9A-F]{6}$/i.test(t) || t === "") && (b || p(t), c == null || c(t), t && u(x(t)));
52
+ }, h = (e, t) => {
53
+ const d = S(R({}, f), { [e]: Math.max(0, Math.min(255, t)) });
54
+ u(d);
55
+ const g = M(d.r, d.g, d.b);
56
+ b || p(g), c == null || c(g);
57
+ }, P = V || [
58
+ "#000000",
59
+ "#ffffff",
60
+ "#ff0000",
61
+ "#00ff00",
62
+ "#0000ff",
63
+ "#ffff00",
64
+ "#ff00ff",
65
+ "#00ffff",
66
+ "#808080",
67
+ "#ffa500"
68
+ ], T = /* @__PURE__ */ n("div", { className: `${o("base", "p")} min-w-[280px]`, children: [
69
+ /* @__PURE__ */ s(
70
+ "div",
71
+ {
72
+ className: `
73
+ w-full
74
+ h-32
75
+ ${$("md")}
76
+ ${N("sm")}
77
+ ${o("base", "mb")}
78
+ border
79
+ border-line-default
80
+ `,
81
+ style: { backgroundColor: m }
82
+ }
83
+ ),
84
+ /* @__PURE__ */ n(
85
+ "div",
86
+ {
87
+ className: `${o("md", "space-y")} ${o("base", "mb")}`,
88
+ children: [
89
+ /* @__PURE__ */ n("div", { children: [
90
+ /* @__PURE__ */ n(
91
+ "label",
92
+ {
93
+ className: `block text-xs font-medium text-fg-secondary ${o("xs", "mb")}`,
94
+ children: [
95
+ "Red: ",
96
+ f.r
97
+ ]
98
+ }
99
+ ),
100
+ /* @__PURE__ */ s(
101
+ "input",
102
+ {
103
+ type: "range",
104
+ min: "0",
105
+ max: "255",
106
+ value: f.r,
107
+ onChange: (e) => h("r", parseInt(e.target.value)),
108
+ disabled: i,
109
+ className: "w-full"
110
+ }
111
+ )
112
+ ] }),
113
+ /* @__PURE__ */ n("div", { children: [
114
+ /* @__PURE__ */ n(
115
+ "label",
116
+ {
117
+ className: `block text-xs font-medium text-fg-secondary ${o("xs", "mb")}`,
118
+ children: [
119
+ "Green: ",
120
+ f.g
121
+ ]
122
+ }
123
+ ),
124
+ /* @__PURE__ */ s(
125
+ "input",
126
+ {
127
+ type: "range",
128
+ min: "0",
129
+ max: "255",
130
+ value: f.g,
131
+ onChange: (e) => h("g", parseInt(e.target.value)),
132
+ disabled: i,
133
+ className: "w-full"
134
+ }
135
+ )
136
+ ] }),
137
+ /* @__PURE__ */ n("div", { children: [
138
+ /* @__PURE__ */ n(
139
+ "label",
140
+ {
141
+ className: `block text-xs font-medium text-fg-secondary ${o("xs", "mb")}`,
142
+ children: [
143
+ "Blue: ",
144
+ f.b
145
+ ]
146
+ }
147
+ ),
148
+ /* @__PURE__ */ s(
149
+ "input",
150
+ {
151
+ type: "range",
152
+ min: "0",
153
+ max: "255",
154
+ value: f.b,
155
+ onChange: (e) => h("b", parseInt(e.target.value)),
156
+ disabled: i,
157
+ className: "w-full"
158
+ }
159
+ )
160
+ ] })
161
+ ]
162
+ }
163
+ ),
164
+ y && /* @__PURE__ */ s("div", { className: o("base", "mb"), children: /* @__PURE__ */ s(
165
+ H,
166
+ {
167
+ label: "Hex",
168
+ value: m,
169
+ onChange: k,
170
+ disabled: i,
171
+ placeholder: "#000000",
172
+ className: "font-mono"
173
+ }
174
+ ) }),
175
+ P.length > 0 && /* @__PURE__ */ n("div", { children: [
176
+ /* @__PURE__ */ s(
177
+ "label",
178
+ {
179
+ className: `block text-xs font-medium text-fg-secondary ${o("sm", "mb")}`,
180
+ children: "Presets"
181
+ }
182
+ ),
183
+ /* @__PURE__ */ s("div", { className: `grid grid-cols-10 ${o("xs", "gap")}`, children: P.map((e, t) => /* @__PURE__ */ s(
184
+ "button",
185
+ {
186
+ type: "button",
187
+ onClick: () => {
188
+ i || (b || p(e), c == null || c(e), u(x(e)));
189
+ },
190
+ disabled: i,
191
+ className: `
192
+ w-6
193
+ h-6
194
+ ${$("sm")}
195
+ border
196
+ border-line-emphasis
197
+ hover:scale-110
198
+ ${N("sm")}
199
+ ${m.toLowerCase() === e.toLowerCase() ? "ring-2 ring-offset-1 ring-line-brand" : ""}
200
+ `,
201
+ style: { backgroundColor: e },
202
+ "aria-label": `Select color ${e}`
203
+ },
204
+ t
205
+ )) })
206
+ ] })
207
+ ] });
208
+ return /* @__PURE__ */ s("div", { className: B, children: /* @__PURE__ */ s(
209
+ z,
210
+ {
211
+ trigger: /* @__PURE__ */ n("div", { className: `flex items-center ${o("sm", "gap")}`, children: [
212
+ w && /* @__PURE__ */ s("label", { className: "text-sm font-medium text-fg-secondary", children: w }),
213
+ /* @__PURE__ */ s(
214
+ "div",
215
+ {
216
+ className: `
217
+ w-10
218
+ h-10
219
+ ${$("md")}
220
+ border
221
+ border-line-emphasis
222
+ ${N("sm")}
223
+ cursor-pointer
224
+ ${i ? "opacity-50 cursor-not-allowed" : ""}
225
+ `,
226
+ style: { backgroundColor: m }
227
+ }
228
+ ),
229
+ y && /* @__PURE__ */ s(
230
+ H,
231
+ {
232
+ value: m,
233
+ onChange: k,
234
+ disabled: i,
235
+ placeholder: "#000000",
236
+ className: "w-24 font-mono"
237
+ }
238
+ )
239
+ ] }),
240
+ placement: "bottom-start",
241
+ showCloseButton: !0,
242
+ title: "Pick a Color",
243
+ children: T
244
+ }
245
+ ) });
246
+ }
247
+ export {
248
+ Z as default
249
+ };
250
+ //# sourceMappingURL=ColorPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.js","sources":["../../../../../src/ui/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, type ChangeEvent } from \"react\";\nimport { getRadiusClass } from \"../../tokens/radius\";\nimport { getShadowClass } from \"../../tokens/shadows\";\nimport { getSpacingClass } from \"../../tokens/spacing\";\nimport Input from \"../../primitives/Input/Input\";\nimport Popover from \"../Popover/Popover\";\n\nexport type ColorFormat = \"hex\" | \"rgb\" | \"hsl\";\n\nexport interface ColorPickerProps {\n value?: string; // Hex color (e.g., \"#ff0000\")\n defaultValue?: string;\n format?: ColorFormat;\n onChange?: (value: string) => void;\n presets?: string[];\n showInput?: boolean;\n disabled?: boolean;\n label?: string;\n className?: string;\n}\n\n/**\n * ColorPicker Component\n *\n * A color picker component for selecting colors.\n * Supports hex, rgb, and hsl formats with presets.\n * Follows Atomic Design principles as a Molecule component.\n *\n * @example\n * ```tsx\n * <ColorPicker\n * value=\"#ff0000\"\n * onChange={(color) => console.log(color)}\n * />\n * ```\n */\nexport default function ColorPicker({\n value: controlledValue,\n defaultValue = \"#000000\",\n format: _format = \"hex\",\n onChange,\n presets,\n showInput = true,\n disabled = false,\n label,\n className = \"\",\n}: ColorPickerProps) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const [rgb, setRgb] = useState({ r: 0, g: 0, b: 0 });\n\n const isControlled = controlledValue !== undefined;\n const currentValue = isControlled ? controlledValue : internalValue;\n\n // Convert hex to RGB\n const hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : { r: 0, g: 0, b: 0 };\n };\n\n // Convert RGB to hex\n const rgbToHex = (r: number, g: number, b: number) => {\n return (\n \"#\" +\n [r, g, b]\n .map((x) => {\n const hex = x.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n })\n .join(\"\")\n );\n };\n\n // Update RGB when value changes\n useEffect(() => {\n if (currentValue) {\n const rgbValue = hexToRgb(currentValue);\n setRgb(rgbValue);\n }\n }, [currentValue]);\n\n const handleHexChange = (e: ChangeEvent<HTMLInputElement>) => {\n const hex = e.target.value;\n if (/^#[0-9A-F]{6}$/i.test(hex) || hex === \"\") {\n if (!isControlled) {\n setInternalValue(hex);\n }\n onChange?.(hex);\n if (hex) {\n setRgb(hexToRgb(hex));\n }\n }\n };\n\n const handleRgbChange = (component: \"r\" | \"g\" | \"b\", val: number) => {\n const newRgb = { ...rgb, [component]: Math.max(0, Math.min(255, val)) };\n setRgb(newRgb);\n const hex = rgbToHex(newRgb.r, newRgb.g, newRgb.b);\n if (!isControlled) {\n setInternalValue(hex);\n }\n onChange?.(hex);\n };\n\n const defaultPresets = [\n \"#000000\",\n \"#ffffff\",\n \"#ff0000\",\n \"#00ff00\",\n \"#0000ff\",\n \"#ffff00\",\n \"#ff00ff\",\n \"#00ffff\",\n \"#808080\",\n \"#ffa500\",\n ];\n\n const colorPresets = presets || defaultPresets;\n\n const colorPickerContent = (\n <div className={`${getSpacingClass(\"base\", \"p\")} min-w-[280px]`}>\n {/* Color Preview */}\n <div\n className={`\n w-full\n h-32\n ${getRadiusClass(\"md\")}\n ${getShadowClass(\"sm\")}\n ${getSpacingClass(\"base\", \"mb\")}\n border\n border-line-default\n `}\n style={{ backgroundColor: currentValue }}\n />\n\n {/* RGB Sliders */}\n <div\n className={`${getSpacingClass(\"md\", \"space-y\")} ${getSpacingClass(\"base\", \"mb\")}`}\n >\n <div>\n <label\n className={`block text-xs font-medium text-fg-secondary ${getSpacingClass(\"xs\", \"mb\")}`}\n >\n Red: {rgb.r}\n </label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"255\"\n value={rgb.r}\n onChange={(e) => handleRgbChange(\"r\", parseInt(e.target.value))}\n disabled={disabled}\n className=\"w-full\"\n />\n </div>\n <div>\n <label\n className={`block text-xs font-medium text-fg-secondary ${getSpacingClass(\"xs\", \"mb\")}`}\n >\n Green: {rgb.g}\n </label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"255\"\n value={rgb.g}\n onChange={(e) => handleRgbChange(\"g\", parseInt(e.target.value))}\n disabled={disabled}\n className=\"w-full\"\n />\n </div>\n <div>\n <label\n className={`block text-xs font-medium text-fg-secondary ${getSpacingClass(\"xs\", \"mb\")}`}\n >\n Blue: {rgb.b}\n </label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"255\"\n value={rgb.b}\n onChange={(e) => handleRgbChange(\"b\", parseInt(e.target.value))}\n disabled={disabled}\n className=\"w-full\"\n />\n </div>\n </div>\n\n {/* Hex Input */}\n {showInput && (\n <div className={getSpacingClass(\"base\", \"mb\")}>\n <Input\n label=\"Hex\"\n value={currentValue}\n onChange={handleHexChange}\n disabled={disabled}\n placeholder=\"#000000\"\n className=\"font-mono\"\n />\n </div>\n )}\n\n {/* Color Presets */}\n {colorPresets.length > 0 && (\n <div>\n <label\n className={`block text-xs font-medium text-fg-secondary ${getSpacingClass(\"sm\", \"mb\")}`}\n >\n Presets\n </label>\n <div className={`grid grid-cols-10 ${getSpacingClass(\"xs\", \"gap\")}`}>\n {colorPresets.map((color, index) => (\n <button\n key={index}\n type=\"button\"\n onClick={() => {\n if (!disabled) {\n if (!isControlled) {\n setInternalValue(color);\n }\n onChange?.(color);\n setRgb(hexToRgb(color));\n }\n }}\n disabled={disabled}\n className={`\n w-6\n h-6\n ${getRadiusClass(\"sm\")}\n border\n border-line-emphasis\n hover:scale-110\n ${getShadowClass(\"sm\")}\n ${currentValue.toLowerCase() === color.toLowerCase() ? \"ring-2 ring-offset-1 ring-line-brand\" : \"\"}\n `}\n style={{ backgroundColor: color }}\n aria-label={`Select color ${color}`}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n );\n\n return (\n <div className={className}>\n <Popover\n trigger={\n <div className={`flex items-center ${getSpacingClass(\"sm\", \"gap\")}`}>\n {label && (\n <label className=\"text-sm font-medium text-fg-secondary\">\n {label}\n </label>\n )}\n <div\n className={`\n w-10\n h-10\n ${getRadiusClass(\"md\")}\n border\n border-line-emphasis\n ${getShadowClass(\"sm\")}\n cursor-pointer\n ${disabled ? \"opacity-50 cursor-not-allowed\" : \"\"}\n `}\n style={{ backgroundColor: currentValue }}\n />\n {showInput && (\n <Input\n value={currentValue}\n onChange={handleHexChange}\n disabled={disabled}\n placeholder=\"#000000\"\n className=\"w-24 font-mono\"\n />\n )}\n </div>\n }\n placement=\"bottom-start\"\n showCloseButton\n title=\"Pick a Color\"\n >\n {colorPickerContent}\n </Popover>\n </div>\n );\n}\n"],"names":["ColorPicker","controlledValue","defaultValue","_format","onChange","presets","showInput","disabled","label","className","internalValue","setInternalValue","useState","rgb","setRgb","isControlled","currentValue","hexToRgb","hex","result","rgbToHex","r","g","b","x","useEffect","rgbValue","handleHexChange","handleRgbChange","component","val","newRgb","__spreadProps","__spreadValues","colorPresets","colorPickerContent","getSpacingClass","jsx","getRadiusClass","getShadowClass","jsxs","Input","color","index","Popover"],"mappings":"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"}