@fabio.caffarello/react-design-system 3.8.0 → 3.9.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 (411) hide show
  1. package/README.md +2 -1
  2. package/dist/granular/index.js +445 -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/Form/Form.js +184 -0
  81. package/dist/granular/ui/components/Form/Form.js.map +1 -0
  82. package/dist/granular/ui/components/Form/FormContext.js +19 -0
  83. package/dist/granular/ui/components/Form/FormContext.js.map +1 -0
  84. package/dist/granular/ui/components/Form/FormField.js +66 -0
  85. package/dist/granular/ui/components/Form/FormField.js.map +1 -0
  86. package/dist/granular/ui/components/Form/FormProvider.js +17 -0
  87. package/dist/granular/ui/components/Form/FormProvider.js.map +1 -0
  88. package/dist/granular/ui/components/Form/useFormFieldArray.js +29 -0
  89. package/dist/granular/ui/components/Form/useFormFieldArray.js.map +1 -0
  90. package/dist/granular/ui/components/FormWizardPattern/FormWizardPattern.js +121 -0
  91. package/dist/granular/ui/components/FormWizardPattern/FormWizardPattern.js.map +1 -0
  92. package/dist/granular/ui/components/Header/Header.js +98 -0
  93. package/dist/granular/ui/components/Header/Header.js.map +1 -0
  94. package/dist/granular/ui/components/Header/components/HeaderActions.js +21 -0
  95. package/dist/granular/ui/components/Header/components/HeaderActions.js.map +1 -0
  96. package/dist/granular/ui/components/Header/components/HeaderHamburger.js +31 -0
  97. package/dist/granular/ui/components/Header/components/HeaderHamburger.js.map +1 -0
  98. package/dist/granular/ui/components/Header/components/HeaderLogo.js +50 -0
  99. package/dist/granular/ui/components/Header/components/HeaderLogo.js.map +1 -0
  100. package/dist/granular/ui/components/Header/components/HeaderMobileMenu.js +38 -0
  101. package/dist/granular/ui/components/Header/components/HeaderMobileMenu.js.map +1 -0
  102. package/dist/granular/ui/components/Header/components/HeaderNavigation.js +27 -0
  103. package/dist/granular/ui/components/Header/components/HeaderNavigation.js.map +1 -0
  104. package/dist/granular/ui/components/Header/contexts/HeaderContext.js +49 -0
  105. package/dist/granular/ui/components/Header/contexts/HeaderContext.js.map +1 -0
  106. package/dist/granular/ui/components/LoginBox/LoginBox.js +84 -0
  107. package/dist/granular/ui/components/LoginBox/LoginBox.js.map +1 -0
  108. package/dist/granular/ui/components/Menu/Menu.js +45 -0
  109. package/dist/granular/ui/components/Menu/Menu.js.map +1 -0
  110. package/dist/granular/ui/components/Menu/MenuContent.js +94 -0
  111. package/dist/granular/ui/components/Menu/MenuContent.js.map +1 -0
  112. package/dist/granular/ui/components/Menu/MenuContext.js +21 -0
  113. package/dist/granular/ui/components/Menu/MenuContext.js.map +1 -0
  114. package/dist/granular/ui/components/Menu/MenuItem.js +93 -0
  115. package/dist/granular/ui/components/Menu/MenuItem.js.map +1 -0
  116. package/dist/granular/ui/components/Menu/MenuSeparator.js +46 -0
  117. package/dist/granular/ui/components/Menu/MenuSeparator.js.map +1 -0
  118. package/dist/granular/ui/components/Menu/MenuTrigger.js +71 -0
  119. package/dist/granular/ui/components/Menu/MenuTrigger.js.map +1 -0
  120. package/dist/granular/ui/components/Modal/Modal.js +171 -0
  121. package/dist/granular/ui/components/Modal/Modal.js.map +1 -0
  122. package/dist/granular/ui/components/MultiSelect/MultiSelect.js +193 -0
  123. package/dist/granular/ui/components/MultiSelect/MultiSelect.js.map +1 -0
  124. package/dist/granular/ui/components/Navigation/Navigation.js +141 -0
  125. package/dist/granular/ui/components/Navigation/Navigation.js.map +1 -0
  126. package/dist/granular/ui/components/PageHeader/PageHeader.js +95 -0
  127. package/dist/granular/ui/components/PageHeader/PageHeader.js.map +1 -0
  128. package/dist/granular/ui/components/Pagination/Pagination.js +156 -0
  129. package/dist/granular/ui/components/Pagination/Pagination.js.map +1 -0
  130. package/dist/granular/ui/components/Popover/Popover.js +171 -0
  131. package/dist/granular/ui/components/Popover/Popover.js.map +1 -0
  132. package/dist/granular/ui/components/Rating/Rating.js +110 -0
  133. package/dist/granular/ui/components/Rating/Rating.js.map +1 -0
  134. package/dist/granular/ui/components/SearchAndFilterPattern/SearchAndFilterPattern.js +120 -0
  135. package/dist/granular/ui/components/SearchAndFilterPattern/SearchAndFilterPattern.js.map +1 -0
  136. package/dist/granular/ui/components/SearchInput/SearchInput.js +103 -0
  137. package/dist/granular/ui/components/SearchInput/SearchInput.js.map +1 -0
  138. package/dist/granular/ui/components/SideNavbar/SideNavbar.js +143 -0
  139. package/dist/granular/ui/components/SideNavbar/SideNavbar.js.map +1 -0
  140. package/dist/granular/ui/components/SideNavbar/components/Navbar/Navbar.js +173 -0
  141. package/dist/granular/ui/components/SideNavbar/components/Navbar/Navbar.js.map +1 -0
  142. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarGroup.js +87 -0
  143. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarGroup.js.map +1 -0
  144. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarItem.js +242 -0
  145. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarItem.js.map +1 -0
  146. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarSeparator.js +66 -0
  147. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarSeparator.js.map +1 -0
  148. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarToggle.js +108 -0
  149. package/dist/granular/ui/components/SideNavbar/components/Navbar/NavbarToggle.js.map +1 -0
  150. package/dist/granular/ui/components/SideNavbar/components/SideNavbarBackdrop.js +63 -0
  151. package/dist/granular/ui/components/SideNavbar/components/SideNavbarBackdrop.js.map +1 -0
  152. package/dist/granular/ui/components/SideNavbar/components/SideNavbarResizeHandle.js +113 -0
  153. package/dist/granular/ui/components/SideNavbar/components/SideNavbarResizeHandle.js.map +1 -0
  154. package/dist/granular/ui/components/SideNavbar/components/SideNavbarRoot.js +150 -0
  155. package/dist/granular/ui/components/SideNavbar/components/SideNavbarRoot.js.map +1 -0
  156. package/dist/granular/ui/components/SideNavbar/components/SideNavbarToggle.js +197 -0
  157. package/dist/granular/ui/components/SideNavbar/components/SideNavbarToggle.js.map +1 -0
  158. package/dist/granular/ui/components/SideNavbar/components/Sidebar/Sidebar.js +108 -0
  159. package/dist/granular/ui/components/SideNavbar/components/Sidebar/Sidebar.js.map +1 -0
  160. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarContent.js +71 -0
  161. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarContent.js.map +1 -0
  162. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarFooter.js +64 -0
  163. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarFooter.js.map +1 -0
  164. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarGroup.js +141 -0
  165. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarGroup.js.map +1 -0
  166. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarHeader.js +90 -0
  167. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarHeader.js.map +1 -0
  168. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlot.js +12 -0
  169. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlot.js.map +1 -0
  170. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlotContent.js +13 -0
  171. package/dist/granular/ui/components/SideNavbar/components/Sidebar/SidebarSlotContent.js.map +1 -0
  172. package/dist/granular/ui/components/SideNavbar/contexts/NavbarContext.js +20 -0
  173. package/dist/granular/ui/components/SideNavbar/contexts/NavbarContext.js.map +1 -0
  174. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarConfigContext.js +37 -0
  175. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarConfigContext.js.map +1 -0
  176. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarStateContext.js +20 -0
  177. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarStateContext.js.map +1 -0
  178. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarThemeContext.js +28 -0
  179. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarThemeContext.js.map +1 -0
  180. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarToggleContext.js +19 -0
  181. package/dist/granular/ui/components/SideNavbar/contexts/SideNavbarToggleContext.js.map +1 -0
  182. package/dist/granular/ui/components/SideNavbar/contexts/SidebarContext.js +20 -0
  183. package/dist/granular/ui/components/SideNavbar/contexts/SidebarContext.js.map +1 -0
  184. package/dist/granular/ui/components/SideNavbar/contexts/SidebarSlotContext.js +22 -0
  185. package/dist/granular/ui/components/SideNavbar/contexts/SidebarSlotContext.js.map +1 -0
  186. package/dist/granular/ui/components/SideNavbar/hooks/useFocusManagement.js +43 -0
  187. package/dist/granular/ui/components/SideNavbar/hooks/useFocusManagement.js.map +1 -0
  188. package/dist/granular/ui/components/SideNavbar/hooks/useGroupState.js +59 -0
  189. package/dist/granular/ui/components/SideNavbar/hooks/useGroupState.js.map +1 -0
  190. package/dist/granular/ui/components/SideNavbar/hooks/useKeyboardShortcut.js +34 -0
  191. package/dist/granular/ui/components/SideNavbar/hooks/useKeyboardShortcut.js.map +1 -0
  192. package/dist/granular/ui/components/SideNavbar/hooks/useResize.js +58 -0
  193. package/dist/granular/ui/components/SideNavbar/hooks/useResize.js.map +1 -0
  194. package/dist/granular/ui/components/SideNavbar/hooks/useResponsiveSidebar.js +35 -0
  195. package/dist/granular/ui/components/SideNavbar/hooks/useResponsiveSidebar.js.map +1 -0
  196. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbar.js +21 -0
  197. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbar.js.map +1 -0
  198. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarContent.js +19 -0
  199. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarContent.js.map +1 -0
  200. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarNavigation.js +21 -0
  201. package/dist/granular/ui/components/SideNavbar/hooks/useSideNavbarNavigation.js.map +1 -0
  202. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarConfigProvider.js +61 -0
  203. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarConfigProvider.js.map +1 -0
  204. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarProvider.js +82 -0
  205. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarProvider.js.map +1 -0
  206. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarStateProvider.js +165 -0
  207. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarStateProvider.js.map +1 -0
  208. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarThemeProvider.js +34 -0
  209. package/dist/granular/ui/components/SideNavbar/providers/SideNavbarThemeProvider.js.map +1 -0
  210. package/dist/granular/ui/components/SideNavbar/providers/SidebarSlotProvider.js +28 -0
  211. package/dist/granular/ui/components/SideNavbar/providers/SidebarSlotProvider.js.map +1 -0
  212. package/dist/granular/ui/components/SideNavbar/utils/parseKeyboardShortcut.js +60 -0
  213. package/dist/granular/ui/components/SideNavbar/utils/parseKeyboardShortcut.js.map +1 -0
  214. package/dist/granular/ui/components/SideNavbar/utils/parseWidth.js +19 -0
  215. package/dist/granular/ui/components/SideNavbar/utils/parseWidth.js.map +1 -0
  216. package/dist/granular/ui/components/Stat/Stat.js +84 -0
  217. package/dist/granular/ui/components/Stat/Stat.js.map +1 -0
  218. package/dist/granular/ui/components/Stat/StatGroup.js +61 -0
  219. package/dist/granular/ui/components/Stat/StatGroup.js.map +1 -0
  220. package/dist/granular/ui/components/Stepper/Stepper.js +248 -0
  221. package/dist/granular/ui/components/Stepper/Stepper.js.map +1 -0
  222. package/dist/granular/ui/components/Table/Table.js +162 -0
  223. package/dist/granular/ui/components/Table/Table.js.map +1 -0
  224. package/dist/granular/ui/components/Table/TableActions/TableActions.js +67 -0
  225. package/dist/granular/ui/components/Table/TableActions/TableActions.js.map +1 -0
  226. package/dist/granular/ui/components/Table/TableActions.js +44 -0
  227. package/dist/granular/ui/components/Table/TableActions.js.map +1 -0
  228. package/dist/granular/ui/components/Table/TableBody.js +134 -0
  229. package/dist/granular/ui/components/Table/TableBody.js.map +1 -0
  230. package/dist/granular/ui/components/Table/TableCell.js +40 -0
  231. package/dist/granular/ui/components/Table/TableCell.js.map +1 -0
  232. package/dist/granular/ui/components/Table/TableContext.js +19 -0
  233. package/dist/granular/ui/components/Table/TableContext.js.map +1 -0
  234. package/dist/granular/ui/components/Table/TableEmptyState.js +62 -0
  235. package/dist/granular/ui/components/Table/TableEmptyState.js.map +1 -0
  236. package/dist/granular/ui/components/Table/TableFilters/TableFilters.js +189 -0
  237. package/dist/granular/ui/components/Table/TableFilters/TableFilters.js.map +1 -0
  238. package/dist/granular/ui/components/Table/TableFilters.js +48 -0
  239. package/dist/granular/ui/components/Table/TableFilters.js.map +1 -0
  240. package/dist/granular/ui/components/Table/TableHeader.js +45 -0
  241. package/dist/granular/ui/components/Table/TableHeader.js.map +1 -0
  242. package/dist/granular/ui/components/Table/TableHeaderCell.js +117 -0
  243. package/dist/granular/ui/components/Table/TableHeaderCell.js.map +1 -0
  244. package/dist/granular/ui/components/Table/TableHeaderRow.js +89 -0
  245. package/dist/granular/ui/components/Table/TableHeaderRow.js.map +1 -0
  246. package/dist/granular/ui/components/Table/TablePagination/TablePagination.js +216 -0
  247. package/dist/granular/ui/components/Table/TablePagination/TablePagination.js.map +1 -0
  248. package/dist/granular/ui/components/Table/TablePagination.js +56 -0
  249. package/dist/granular/ui/components/Table/TablePagination.js.map +1 -0
  250. package/dist/granular/ui/components/Table/TableProvider.js +244 -0
  251. package/dist/granular/ui/components/Table/TableProvider.js.map +1 -0
  252. package/dist/granular/ui/components/Table/TableRow.js +95 -0
  253. package/dist/granular/ui/components/Table/TableRow.js.map +1 -0
  254. package/dist/granular/ui/components/Table/useColumnResizing.js +71 -0
  255. package/dist/granular/ui/components/Table/useColumnResizing.js.map +1 -0
  256. package/dist/granular/ui/components/Table/useVirtualScrolling.js +50 -0
  257. package/dist/granular/ui/components/Table/useVirtualScrolling.js.map +1 -0
  258. package/dist/granular/ui/components/Tabs/Tabs.js +39 -0
  259. package/dist/granular/ui/components/Tabs/Tabs.js.map +1 -0
  260. package/dist/granular/ui/components/Tabs/TabsContent.js +59 -0
  261. package/dist/granular/ui/components/Tabs/TabsContent.js.map +1 -0
  262. package/dist/granular/ui/components/Tabs/TabsContext.js +18 -0
  263. package/dist/granular/ui/components/Tabs/TabsContext.js.map +1 -0
  264. package/dist/granular/ui/components/Tabs/TabsList.js +84 -0
  265. package/dist/granular/ui/components/Tabs/TabsList.js.map +1 -0
  266. package/dist/granular/ui/components/Tabs/TabsProvider.js +31 -0
  267. package/dist/granular/ui/components/Tabs/TabsProvider.js.map +1 -0
  268. package/dist/granular/ui/components/Tabs/TabsTrigger.js +103 -0
  269. package/dist/granular/ui/components/Tabs/TabsTrigger.js.map +1 -0
  270. package/dist/granular/ui/components/TimePicker/TimePicker.js +216 -0
  271. package/dist/granular/ui/components/TimePicker/TimePicker.js.map +1 -0
  272. package/dist/granular/ui/components/Timeline/Timeline.js +152 -0
  273. package/dist/granular/ui/components/Timeline/Timeline.js.map +1 -0
  274. package/dist/granular/ui/components/Toast/Toast.js +159 -0
  275. package/dist/granular/ui/components/Toast/Toast.js.map +1 -0
  276. package/dist/granular/ui/components/Toast/ToastContainer.js +41 -0
  277. package/dist/granular/ui/components/Toast/ToastContainer.js.map +1 -0
  278. package/dist/granular/ui/components/Toast/useToast.js +64 -0
  279. package/dist/granular/ui/components/Toast/useToast.js.map +1 -0
  280. package/dist/granular/ui/hooks/createGenericContext.js +27 -0
  281. package/dist/granular/ui/hooks/createGenericContext.js.map +1 -0
  282. package/dist/granular/ui/hooks/focusable.js +14 -0
  283. package/dist/granular/ui/hooks/focusable.js.map +1 -0
  284. package/dist/granular/ui/hooks/useAutoFocus.js +23 -0
  285. package/dist/granular/ui/hooks/useAutoFocus.js.map +1 -0
  286. package/dist/granular/ui/hooks/useCollapsible.js +37 -0
  287. package/dist/granular/ui/hooks/useCollapsible.js.map +1 -0
  288. package/dist/granular/ui/hooks/useFocusRestore.js +20 -0
  289. package/dist/granular/ui/hooks/useFocusRestore.js.map +1 -0
  290. package/dist/granular/ui/hooks/useFocusTrap.js +31 -0
  291. package/dist/granular/ui/hooks/useFocusTrap.js.map +1 -0
  292. package/dist/granular/ui/hooks/useScrollSpy.js +23 -0
  293. package/dist/granular/ui/hooks/useScrollSpy.js.map +1 -0
  294. package/dist/granular/ui/layouts/Container/Container.js +73 -0
  295. package/dist/granular/ui/layouts/Container/Container.js.map +1 -0
  296. package/dist/granular/ui/layouts/Stack/Stack.js +79 -0
  297. package/dist/granular/ui/layouts/Stack/Stack.js.map +1 -0
  298. package/dist/granular/ui/primitives/Avatar/Avatar.js +122 -0
  299. package/dist/granular/ui/primitives/Avatar/Avatar.js.map +1 -0
  300. package/dist/granular/ui/primitives/Avatar/AvatarGroup.js +97 -0
  301. package/dist/granular/ui/primitives/Avatar/AvatarGroup.js.map +1 -0
  302. package/dist/granular/ui/primitives/Badge/Badge.js +212 -0
  303. package/dist/granular/ui/primitives/Badge/Badge.js.map +1 -0
  304. package/dist/granular/ui/primitives/Button/Button.js +288 -0
  305. package/dist/granular/ui/primitives/Button/Button.js.map +1 -0
  306. package/dist/granular/ui/primitives/Checkbox/Checkbox.js +129 -0
  307. package/dist/granular/ui/primitives/Checkbox/Checkbox.js.map +1 -0
  308. package/dist/granular/ui/primitives/Chip/Chip.js +206 -0
  309. package/dist/granular/ui/primitives/Chip/Chip.js.map +1 -0
  310. package/dist/granular/ui/primitives/Collapsible/Collapsible.js +115 -0
  311. package/dist/granular/ui/primitives/Collapsible/Collapsible.js.map +1 -0
  312. package/dist/granular/ui/primitives/ErrorMessage/ErrorMessage.js +54 -0
  313. package/dist/granular/ui/primitives/ErrorMessage/ErrorMessage.js.map +1 -0
  314. package/dist/granular/ui/primitives/Info/Info.js +57 -0
  315. package/dist/granular/ui/primitives/Info/Info.js.map +1 -0
  316. package/dist/granular/ui/primitives/Input/Input.js +351 -0
  317. package/dist/granular/ui/primitives/Input/Input.js.map +1 -0
  318. package/dist/granular/ui/primitives/Label/Label.js +61 -0
  319. package/dist/granular/ui/primitives/Label/Label.js.map +1 -0
  320. package/dist/granular/ui/primitives/NavLink/NavLink.js +229 -0
  321. package/dist/granular/ui/primitives/NavLink/NavLink.js.map +1 -0
  322. package/dist/granular/ui/primitives/NavLink/hooks/useNavLink.js +15 -0
  323. package/dist/granular/ui/primitives/NavLink/hooks/useNavLink.js.map +1 -0
  324. package/dist/granular/ui/primitives/Progress/Progress.js +182 -0
  325. package/dist/granular/ui/primitives/Progress/Progress.js.map +1 -0
  326. package/dist/granular/ui/primitives/Radio/Radio.js +118 -0
  327. package/dist/granular/ui/primitives/Radio/Radio.js.map +1 -0
  328. package/dist/granular/ui/primitives/Select/Select.js +210 -0
  329. package/dist/granular/ui/primitives/Select/Select.js.map +1 -0
  330. package/dist/granular/ui/primitives/Separator/Separator.js +69 -0
  331. package/dist/granular/ui/primitives/Separator/Separator.js.map +1 -0
  332. package/dist/granular/ui/primitives/Skeleton/Skeleton.js +87 -0
  333. package/dist/granular/ui/primitives/Skeleton/Skeleton.js.map +1 -0
  334. package/dist/granular/ui/primitives/Slider/Slider.js +291 -0
  335. package/dist/granular/ui/primitives/Slider/Slider.js.map +1 -0
  336. package/dist/granular/ui/primitives/Spinner/Spinner.js +95 -0
  337. package/dist/granular/ui/primitives/Spinner/Spinner.js.map +1 -0
  338. package/dist/granular/ui/primitives/Switch/Switch.js +212 -0
  339. package/dist/granular/ui/primitives/Switch/Switch.js.map +1 -0
  340. package/dist/granular/ui/primitives/Text/Text.js +118 -0
  341. package/dist/granular/ui/primitives/Text/Text.js.map +1 -0
  342. package/dist/granular/ui/primitives/Textarea/Textarea.js +129 -0
  343. package/dist/granular/ui/primitives/Textarea/Textarea.js.map +1 -0
  344. package/dist/granular/ui/primitives/Tooltip/Tooltip.js +227 -0
  345. package/dist/granular/ui/primitives/Tooltip/Tooltip.js.map +1 -0
  346. package/dist/granular/ui/providers/AppProvider.js +50 -0
  347. package/dist/granular/ui/providers/AppProvider.js.map +1 -0
  348. package/dist/granular/ui/providers/ConfigProvider.js +95 -0
  349. package/dist/granular/ui/providers/ConfigProvider.js.map +1 -0
  350. package/dist/granular/ui/providers/DialogContext.js +20 -0
  351. package/dist/granular/ui/providers/DialogContext.js.map +1 -0
  352. package/dist/granular/ui/providers/DialogProvider.js +32 -0
  353. package/dist/granular/ui/providers/DialogProvider.js.map +1 -0
  354. package/dist/granular/ui/providers/ThemeProvider.js +56 -0
  355. package/dist/granular/ui/providers/ThemeProvider.js.map +1 -0
  356. package/dist/granular/ui/providers/ToastContext.js +20 -0
  357. package/dist/granular/ui/providers/ToastContext.js.map +1 -0
  358. package/dist/granular/ui/providers/ToastProvider.js +47 -0
  359. package/dist/granular/ui/providers/ToastProvider.js.map +1 -0
  360. package/dist/granular/ui/providers/providers-bundle.js +23 -0
  361. package/dist/granular/ui/providers/providers-bundle.js.map +1 -0
  362. package/dist/granular/ui/tokens/animations.js +106 -0
  363. package/dist/granular/ui/tokens/animations.js.map +1 -0
  364. package/dist/granular/ui/tokens/borders.js +54 -0
  365. package/dist/granular/ui/tokens/borders.js.map +1 -0
  366. package/dist/granular/ui/tokens/breakpoints.js +43 -0
  367. package/dist/granular/ui/tokens/breakpoints.js.map +1 -0
  368. package/dist/granular/ui/tokens/colors/brand.js +67 -0
  369. package/dist/granular/ui/tokens/colors/brand.js.map +1 -0
  370. package/dist/granular/ui/tokens/colors/index.js +25 -0
  371. package/dist/granular/ui/tokens/colors/index.js.map +1 -0
  372. package/dist/granular/ui/tokens/colors/primitives.js +320 -0
  373. package/dist/granular/ui/tokens/colors/primitives.js.map +1 -0
  374. package/dist/granular/ui/tokens/colors/semantic.js +212 -0
  375. package/dist/granular/ui/tokens/colors/semantic.js.map +1 -0
  376. package/dist/granular/ui/tokens/colors/types.js +18 -0
  377. package/dist/granular/ui/tokens/colors/types.js.map +1 -0
  378. package/dist/granular/ui/tokens/colors/utils.js +131 -0
  379. package/dist/granular/ui/tokens/colors/utils.js.map +1 -0
  380. package/dist/granular/ui/tokens/opacity.js +59 -0
  381. package/dist/granular/ui/tokens/opacity.js.map +1 -0
  382. package/dist/granular/ui/tokens/radius.js +76 -0
  383. package/dist/granular/ui/tokens/radius.js.map +1 -0
  384. package/dist/granular/ui/tokens/shadows.js +63 -0
  385. package/dist/granular/ui/tokens/shadows.js.map +1 -0
  386. package/dist/granular/ui/tokens/sidebar.js +92 -0
  387. package/dist/granular/ui/tokens/sidebar.js.map +1 -0
  388. package/dist/granular/ui/tokens/spacing.js +143 -0
  389. package/dist/granular/ui/tokens/spacing.js.map +1 -0
  390. package/dist/granular/ui/tokens/switch.js +51 -0
  391. package/dist/granular/ui/tokens/switch.js.map +1 -0
  392. package/dist/granular/ui/tokens/typography.js +146 -0
  393. package/dist/granular/ui/tokens/typography.js.map +1 -0
  394. package/dist/granular/ui/tokens/z-index.js +79 -0
  395. package/dist/granular/ui/tokens/z-index.js.map +1 -0
  396. package/dist/granular/ui/utils/cn.js +10 -0
  397. package/dist/granular/ui/utils/cn.js.map +1 -0
  398. package/dist/granular/ui/utils/cva.js +14 -0
  399. package/dist/granular/ui/utils/cva.js.map +1 -0
  400. package/dist/granular/ui/utils/mergeRefs.js +11 -0
  401. package/dist/granular/ui/utils/mergeRefs.js.map +1 -0
  402. package/dist/granular/vite.svg +1 -0
  403. package/dist/index.cjs +37 -37
  404. package/dist/index.cjs.map +1 -1
  405. package/dist/index.js +1052 -1053
  406. package/dist/index.js.map +1 -1
  407. package/dist/server/index.cjs +23 -23
  408. package/dist/server/index.cjs.map +1 -1
  409. package/dist/server/index.js +858 -1193
  410. package/dist/server/index.js.map +1 -1
  411. package/package.json +9 -2
@@ -0,0 +1,212 @@
1
+ "use client";
2
+ import { SLATE as r, SKY as t, ROSE as a, AMBER as i, EMERALD as l, CYAN as s } from "./primitives.js";
3
+ import { BRAND_SECONDARY as c, BRAND_PRIMARY as o } from "./brand.js";
4
+ const e = {
5
+ primary: {
6
+ light: o[400],
7
+ DEFAULT: o[500],
8
+ dark: o[600],
9
+ contrast: {
10
+ hex: "#ffffff",
11
+ rgb: "255, 255, 255",
12
+ hsl: "0, 0%, 100%",
13
+ cssVar: "var(--color-white)",
14
+ tailwind: "white"
15
+ }
16
+ },
17
+ secondary: {
18
+ light: c[400],
19
+ DEFAULT: c[500],
20
+ dark: c[600],
21
+ contrast: {
22
+ hex: "#ffffff",
23
+ rgb: "255, 255, 255",
24
+ hsl: "0, 0%, 100%",
25
+ cssVar: "var(--color-white)",
26
+ tailwind: "white"
27
+ }
28
+ },
29
+ accent: {
30
+ light: s[400],
31
+ DEFAULT: s[500],
32
+ dark: s[600],
33
+ contrast: {
34
+ hex: "#ffffff",
35
+ rgb: "255, 255, 255",
36
+ hsl: "0, 0%, 100%",
37
+ cssVar: "var(--color-white)",
38
+ tailwind: "white"
39
+ }
40
+ },
41
+ success: {
42
+ light: l[400],
43
+ DEFAULT: l[500],
44
+ dark: l[600],
45
+ contrast: {
46
+ hex: "#ffffff",
47
+ rgb: "255, 255, 255",
48
+ hsl: "0, 0%, 100%",
49
+ cssVar: "var(--color-white)",
50
+ tailwind: "white"
51
+ }
52
+ },
53
+ warning: {
54
+ light: i[400],
55
+ DEFAULT: i[500],
56
+ dark: i[600],
57
+ contrast: {
58
+ hex: "#000000",
59
+ rgb: "0, 0, 0",
60
+ hsl: "0, 0%, 0%",
61
+ cssVar: "var(--color-black)",
62
+ tailwind: "black"
63
+ }
64
+ },
65
+ error: {
66
+ light: a[400],
67
+ DEFAULT: a[500],
68
+ dark: a[600],
69
+ contrast: {
70
+ hex: "#ffffff",
71
+ rgb: "255, 255, 255",
72
+ hsl: "0, 0%, 100%",
73
+ cssVar: "var(--color-white)",
74
+ tailwind: "white"
75
+ }
76
+ },
77
+ info: {
78
+ light: t[400],
79
+ DEFAULT: t[500],
80
+ dark: t[600],
81
+ contrast: {
82
+ hex: "#ffffff",
83
+ rgb: "255, 255, 255",
84
+ hsl: "0, 0%, 100%",
85
+ cssVar: "var(--color-white)",
86
+ tailwind: "white"
87
+ }
88
+ },
89
+ neutral: {
90
+ light: r[100],
91
+ DEFAULT: r[500],
92
+ dark: r[700],
93
+ contrast: {
94
+ hex: "#ffffff",
95
+ rgb: "255, 255, 255",
96
+ hsl: "0, 0%, 100%",
97
+ cssVar: "var(--color-white)",
98
+ tailwind: "white"
99
+ }
100
+ }
101
+ }, w = {
102
+ primary: {
103
+ light: o[500],
104
+ DEFAULT: o[400],
105
+ dark: o[300],
106
+ contrast: {
107
+ hex: "#ffffff",
108
+ rgb: "255, 255, 255",
109
+ hsl: "0, 0%, 100%",
110
+ cssVar: "var(--color-white)",
111
+ tailwind: "white"
112
+ }
113
+ },
114
+ secondary: {
115
+ light: c[500],
116
+ DEFAULT: c[400],
117
+ dark: c[300],
118
+ contrast: {
119
+ hex: "#ffffff",
120
+ rgb: "255, 255, 255",
121
+ hsl: "0, 0%, 100%",
122
+ cssVar: "var(--color-white)",
123
+ tailwind: "white"
124
+ }
125
+ },
126
+ accent: {
127
+ light: s[500],
128
+ DEFAULT: s[400],
129
+ dark: s[300],
130
+ contrast: {
131
+ hex: "#000000",
132
+ rgb: "0, 0, 0",
133
+ hsl: "0, 0%, 0%",
134
+ cssVar: "var(--color-black)",
135
+ tailwind: "black"
136
+ }
137
+ },
138
+ success: {
139
+ light: l[500],
140
+ DEFAULT: l[400],
141
+ dark: l[300],
142
+ contrast: {
143
+ hex: "#000000",
144
+ rgb: "0, 0, 0",
145
+ hsl: "0, 0%, 0%",
146
+ cssVar: "var(--color-black)",
147
+ tailwind: "black"
148
+ }
149
+ },
150
+ warning: {
151
+ light: i[500],
152
+ DEFAULT: i[400],
153
+ dark: i[300],
154
+ contrast: {
155
+ hex: "#000000",
156
+ rgb: "0, 0, 0",
157
+ hsl: "0, 0%, 0%",
158
+ cssVar: "var(--color-black)",
159
+ tailwind: "black"
160
+ }
161
+ },
162
+ error: {
163
+ light: a[500],
164
+ DEFAULT: a[400],
165
+ dark: a[300],
166
+ contrast: {
167
+ hex: "#ffffff",
168
+ rgb: "255, 255, 255",
169
+ hsl: "0, 0%, 100%",
170
+ cssVar: "var(--color-white)",
171
+ tailwind: "white"
172
+ }
173
+ },
174
+ info: {
175
+ light: t[500],
176
+ DEFAULT: t[400],
177
+ dark: t[300],
178
+ contrast: {
179
+ hex: "#ffffff",
180
+ rgb: "255, 255, 255",
181
+ hsl: "0, 0%, 100%",
182
+ cssVar: "var(--color-white)",
183
+ tailwind: "white"
184
+ }
185
+ },
186
+ neutral: {
187
+ light: r[700],
188
+ DEFAULT: r[400],
189
+ dark: r[300],
190
+ contrast: {
191
+ hex: "#ffffff",
192
+ rgb: "255, 255, 255",
193
+ hsl: "0, 0%, 100%",
194
+ cssVar: "var(--color-white)",
195
+ tailwind: "white"
196
+ }
197
+ }
198
+ }, k = e;
199
+ function E(f, h = "DEFAULT", n = "light") {
200
+ return (n === "dark" ? w : e)[f][h];
201
+ }
202
+ function b(f, h = "light") {
203
+ return (h === "dark" ? w : e)[f];
204
+ }
205
+ export {
206
+ k as SEMANTIC_COLORS,
207
+ w as SEMANTIC_COLORS_DARK,
208
+ e as SEMANTIC_COLORS_LIGHT,
209
+ E as getSemanticColor,
210
+ b as getSemanticColorRole
211
+ };
212
+ //# sourceMappingURL=semantic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic.js","sources":["../../../../../src/ui/tokens/colors/semantic.ts"],"sourcesContent":["/**\n * Design System - Semantic Color Tokens\n *\n * Semantic colors that reference primitive palettes.\n * These are the colors you should use in components.\n *\n * @brand brasil-a-vera (default, overridable)\n * @version 1.0.0\n */\n\nimport type {\n SemanticColor,\n SemanticColorName,\n SemanticColorPalette,\n ColorToken,\n} from \"./types\";\nimport { CYAN, SLATE, EMERALD, AMBER, ROSE, SKY } from \"./primitives\";\nimport { BRAND_PRIMARY, BRAND_SECONDARY } from \"./brand\";\n\n/**\n * Light theme semantic colors\n */\nexport const SEMANTIC_COLORS_LIGHT: SemanticColorPalette = {\n primary: {\n light: BRAND_PRIMARY[400],\n DEFAULT: BRAND_PRIMARY[500],\n dark: BRAND_PRIMARY[600],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n secondary: {\n light: BRAND_SECONDARY[400],\n DEFAULT: BRAND_SECONDARY[500],\n dark: BRAND_SECONDARY[600],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n accent: {\n light: CYAN[400],\n DEFAULT: CYAN[500],\n dark: CYAN[600],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n success: {\n light: EMERALD[400],\n DEFAULT: EMERALD[500],\n dark: EMERALD[600],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n warning: {\n light: AMBER[400],\n DEFAULT: AMBER[500],\n dark: AMBER[600],\n contrast: {\n hex: \"#000000\",\n rgb: \"0, 0, 0\",\n hsl: \"0, 0%, 0%\",\n cssVar: \"var(--color-black)\",\n tailwind: \"black\",\n },\n },\n error: {\n light: ROSE[400],\n DEFAULT: ROSE[500],\n dark: ROSE[600],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n info: {\n light: SKY[400],\n DEFAULT: SKY[500],\n dark: SKY[600],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n neutral: {\n light: SLATE[100],\n DEFAULT: SLATE[500],\n dark: SLATE[700],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n};\n\n/**\n * Dark theme semantic colors\n */\nexport const SEMANTIC_COLORS_DARK: SemanticColorPalette = {\n primary: {\n light: BRAND_PRIMARY[500],\n DEFAULT: BRAND_PRIMARY[400],\n dark: BRAND_PRIMARY[300],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n secondary: {\n light: BRAND_SECONDARY[500],\n DEFAULT: BRAND_SECONDARY[400],\n dark: BRAND_SECONDARY[300],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n accent: {\n light: CYAN[500],\n DEFAULT: CYAN[400],\n dark: CYAN[300],\n contrast: {\n hex: \"#000000\",\n rgb: \"0, 0, 0\",\n hsl: \"0, 0%, 0%\",\n cssVar: \"var(--color-black)\",\n tailwind: \"black\",\n },\n },\n success: {\n light: EMERALD[500],\n DEFAULT: EMERALD[400],\n dark: EMERALD[300],\n contrast: {\n hex: \"#000000\",\n rgb: \"0, 0, 0\",\n hsl: \"0, 0%, 0%\",\n cssVar: \"var(--color-black)\",\n tailwind: \"black\",\n },\n },\n warning: {\n light: AMBER[500],\n DEFAULT: AMBER[400],\n dark: AMBER[300],\n contrast: {\n hex: \"#000000\",\n rgb: \"0, 0, 0\",\n hsl: \"0, 0%, 0%\",\n cssVar: \"var(--color-black)\",\n tailwind: \"black\",\n },\n },\n error: {\n light: ROSE[500],\n DEFAULT: ROSE[400],\n dark: ROSE[300],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n info: {\n light: SKY[500],\n DEFAULT: SKY[400],\n dark: SKY[300],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n neutral: {\n light: SLATE[700],\n DEFAULT: SLATE[400],\n dark: SLATE[300],\n contrast: {\n hex: \"#ffffff\",\n rgb: \"255, 255, 255\",\n hsl: \"0, 0%, 100%\",\n cssVar: \"var(--color-white)\",\n tailwind: \"white\",\n },\n },\n};\n\n/**\n * Default semantic colors (light theme)\n */\nexport const SEMANTIC_COLORS = SEMANTIC_COLORS_LIGHT;\n\n/**\n * Get semantic color by role and shade\n */\nexport function getSemanticColor(\n role: SemanticColorName,\n shade: \"light\" | \"DEFAULT\" | \"dark\" | \"contrast\" = \"DEFAULT\",\n theme: \"light\" | \"dark\" = \"light\",\n): ColorToken {\n const colors =\n theme === \"dark\" ? SEMANTIC_COLORS_DARK : SEMANTIC_COLORS_LIGHT;\n return colors[role][shade];\n}\n\n/**\n * Get all shades for a semantic color role\n */\nexport function getSemanticColorRole(\n role: SemanticColorName,\n theme: \"light\" | \"dark\" = \"light\",\n): SemanticColor {\n const colors =\n theme === \"dark\" ? SEMANTIC_COLORS_DARK : SEMANTIC_COLORS_LIGHT;\n return colors[role];\n}\n"],"names":["SEMANTIC_COLORS_LIGHT","BRAND_PRIMARY","BRAND_SECONDARY","CYAN","EMERALD","AMBER","ROSE","SKY","SLATE","SEMANTIC_COLORS_DARK","SEMANTIC_COLORS","getSemanticColor","role","shade","theme","getSemanticColorRole"],"mappings":";;;AAsBO,MAAMA,IAA8C;AAAA,EACzD,SAAS;AAAA,IACP,OAAOC,EAAc,GAAG;AAAA,IACxB,SAASA,EAAc,GAAG;AAAA,IAC1B,MAAMA,EAAc,GAAG;AAAA,IACvB,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,WAAW;AAAA,IACT,OAAOC,EAAgB,GAAG;AAAA,IAC1B,SAASA,EAAgB,GAAG;AAAA,IAC5B,MAAMA,EAAgB,GAAG;AAAA,IACzB,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,QAAQ;AAAA,IACN,OAAOC,EAAK,GAAG;AAAA,IACf,SAASA,EAAK,GAAG;AAAA,IACjB,MAAMA,EAAK,GAAG;AAAA,IACd,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,SAAS;AAAA,IACP,OAAOC,EAAQ,GAAG;AAAA,IAClB,SAASA,EAAQ,GAAG;AAAA,IACpB,MAAMA,EAAQ,GAAG;AAAA,IACjB,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,SAAS;AAAA,IACP,OAAOC,EAAM,GAAG;AAAA,IAChB,SAASA,EAAM,GAAG;AAAA,IAClB,MAAMA,EAAM,GAAG;AAAA,IACf,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,OAAO;AAAA,IACL,OAAOC,EAAK,GAAG;AAAA,IACf,SAASA,EAAK,GAAG;AAAA,IACjB,MAAMA,EAAK,GAAG;AAAA,IACd,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,MAAM;AAAA,IACJ,OAAOC,EAAI,GAAG;AAAA,IACd,SAASA,EAAI,GAAG;AAAA,IAChB,MAAMA,EAAI,GAAG;AAAA,IACb,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,SAAS;AAAA,IACP,OAAOC,EAAM,GAAG;AAAA,IAChB,SAASA,EAAM,GAAG;AAAA,IAClB,MAAMA,EAAM,GAAG;AAAA,IACf,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ,GAKaC,IAA6C;AAAA,EACxD,SAAS;AAAA,IACP,OAAOR,EAAc,GAAG;AAAA,IACxB,SAASA,EAAc,GAAG;AAAA,IAC1B,MAAMA,EAAc,GAAG;AAAA,IACvB,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,WAAW;AAAA,IACT,OAAOC,EAAgB,GAAG;AAAA,IAC1B,SAASA,EAAgB,GAAG;AAAA,IAC5B,MAAMA,EAAgB,GAAG;AAAA,IACzB,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,QAAQ;AAAA,IACN,OAAOC,EAAK,GAAG;AAAA,IACf,SAASA,EAAK,GAAG;AAAA,IACjB,MAAMA,EAAK,GAAG;AAAA,IACd,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,SAAS;AAAA,IACP,OAAOC,EAAQ,GAAG;AAAA,IAClB,SAASA,EAAQ,GAAG;AAAA,IACpB,MAAMA,EAAQ,GAAG;AAAA,IACjB,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,SAAS;AAAA,IACP,OAAOC,EAAM,GAAG;AAAA,IAChB,SAASA,EAAM,GAAG;AAAA,IAClB,MAAMA,EAAM,GAAG;AAAA,IACf,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,OAAO;AAAA,IACL,OAAOC,EAAK,GAAG;AAAA,IACf,SAASA,EAAK,GAAG;AAAA,IACjB,MAAMA,EAAK,GAAG;AAAA,IACd,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,MAAM;AAAA,IACJ,OAAOC,EAAI,GAAG;AAAA,IACd,SAASA,EAAI,GAAG;AAAA,IAChB,MAAMA,EAAI,GAAG;AAAA,IACb,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,SAAS;AAAA,IACP,OAAOC,EAAM,GAAG;AAAA,IAChB,SAASA,EAAM,GAAG;AAAA,IAClB,MAAMA,EAAM,GAAG;AAAA,IACf,UAAU;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ,GAKaE,IAAkBV;AAKxB,SAASW,EACdC,GACAC,IAAmD,WACnDC,IAA0B,SACd;AAGZ,UADEA,MAAU,SAASL,IAAuBT,GAC9BY,CAAI,EAAEC,CAAK;AAC3B;AAKO,SAASE,EACdH,GACAE,IAA0B,SACX;AAGf,UADEA,MAAU,SAASL,IAAuBT,GAC9BY,CAAI;AACpB;"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ const e = [
3
+ 50,
4
+ 100,
5
+ 200,
6
+ 300,
7
+ 400,
8
+ 500,
9
+ 600,
10
+ 700,
11
+ 800,
12
+ 900,
13
+ 950
14
+ ];
15
+ export {
16
+ e as COLOR_SCALES
17
+ };
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../../src/ui/tokens/colors/types.ts"],"sourcesContent":["/**\n * Design System - Color Token Types\n *\n * TypeScript types for the color system.\n *\n * @brand brasil-a-vera (default, overridable)\n * @version 1.0.0\n */\n\n/**\n * Color scale values (50-950)\n * Standard Tailwind-compatible color scale\n */\nexport type ColorScale =\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900\n | 950;\n\n/**\n * All available color scale values as array\n */\nexport const COLOR_SCALES: ColorScale[] = [\n 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950,\n];\n\n/**\n * Primitive color names (raw color palettes)\n *\n * Two families coexist:\n * - Tailwind tones (indigo, violet, ..., lime) — honest to Tailwind v4 HEX.\n * - Brand primitives (brand-primary, brand-secondary) — the design system's\n * own scales, declared in src/styles/primitives/brand.css and mirrored\n * in src/ui/tokens/colors/brand.ts. These are the reskin surface;\n * semantic tokens reference them, not Tailwind tones.\n */\nexport type PrimitiveColorName =\n | \"brand-primary\"\n | \"brand-secondary\"\n | \"indigo\"\n | \"violet\"\n | \"cyan\"\n | \"slate\"\n | \"gray\"\n | \"emerald\"\n | \"green\"\n | \"amber\"\n | \"yellow\"\n | \"orange\"\n | \"rose\"\n | \"red\"\n | \"sky\"\n | \"blue\"\n | \"fuchsia\"\n | \"pink\"\n | \"purple\"\n | \"teal\"\n | \"lime\";\n\n/**\n * Semantic color names (meaningful colors)\n */\nexport type SemanticColorName =\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\"\n | \"neutral\";\n\n/**\n * Text color semantic names\n */\nexport type TextColorName =\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"quaternary\"\n | \"placeholder\"\n | \"disabled\"\n | \"inverse\"\n | \"link\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\";\n\n/**\n * Background color semantic names\n */\nexport type BgColorName =\n | \"base\"\n | \"subtle\"\n | \"muted\"\n | \"emphasis\"\n | \"strong\"\n | \"inverse\"\n | \"brand\"\n | \"secondary\"\n | \"accent\";\n\n/**\n * Border color semantic names\n */\nexport type BorderColorName =\n | \"default\"\n | \"muted\"\n | \"subtle\"\n | \"emphasis\"\n | \"strong\"\n | \"focus\"\n | \"brand\";\n\n/**\n * State color names\n */\nexport type StateColorName =\n | \"hover\"\n | \"active\"\n | \"selected\"\n | \"disabled\"\n | \"focus\";\n\n/**\n * Theme mode\n */\nexport type ThemeMode = \"light\" | \"dark\";\n\n/**\n * Theme variant (visual style)\n */\nexport type ThemeVariant = \"tech\" | \"creative\" | \"minimal\";\n\n/**\n * Single color token with multiple formats\n */\nexport interface ColorToken {\n /** Hex color value (e.g., #6366f1) */\n hex: string;\n /** RGB values as string (e.g., \"99, 102, 241\") */\n rgb: string;\n /** HSL values as string (e.g., \"239, 84%, 67%\") */\n hsl: string;\n /** CSS variable reference (e.g., \"var(--color-indigo-500)\") */\n cssVar: string;\n /** Tailwind class suffix (e.g., \"indigo-500\") */\n tailwind: string;\n}\n\n/**\n * Complete color palette (all shades)\n */\nexport type ColorPalette = Record<ColorScale, ColorToken>;\n\n/**\n * Semantic color with light/dark/contrast variants\n */\nexport interface SemanticColor {\n light: ColorToken;\n DEFAULT: ColorToken;\n dark: ColorToken;\n contrast: ColorToken;\n}\n\n/**\n * Complete semantic color palette\n */\nexport type SemanticColorPalette = Record<SemanticColorName, SemanticColor>;\n\n/**\n * All primitive colors\n */\nexport type PrimitiveColors = Record<PrimitiveColorName, ColorPalette>;\n\n/**\n * Theme color configuration\n */\nexport interface ThemeColors {\n /** Brand colors */\n brand: {\n primary: ColorToken;\n primaryLight: ColorToken;\n primaryDark: ColorToken;\n secondary: ColorToken;\n secondaryLight: ColorToken;\n secondaryDark: ColorToken;\n accent: ColorToken;\n accentLight: ColorToken;\n accentDark: ColorToken;\n };\n /** Text colors */\n text: Record<TextColorName, ColorToken>;\n /** Background colors */\n bg: Record<BgColorName, ColorToken>;\n /** Border colors */\n border: Record<BorderColorName, ColorToken>;\n /** State colors */\n state: Record<StateColorName, ColorToken>;\n /** Feedback colors */\n feedback: {\n success: ColorToken;\n successBg: ColorToken;\n warning: ColorToken;\n warningBg: ColorToken;\n error: ColorToken;\n errorBg: ColorToken;\n info: ColorToken;\n infoBg: ColorToken;\n };\n}\n\n/**\n * Color utility function options\n */\nexport interface GetColorOptions {\n /** Output format */\n format?: \"hex\" | \"rgb\" | \"hsl\" | \"cssVar\" | \"tailwind\";\n /** Include opacity */\n opacity?: number;\n}\n\n/**\n * Color class generation options\n */\nexport interface GetColorClassOptions {\n /** Class type */\n type?: \"text\" | \"bg\" | \"border\" | \"ring\" | \"fill\" | \"stroke\";\n /** Include hover variant */\n hover?: boolean;\n /** Include focus variant */\n focus?: boolean;\n /** Include active variant */\n active?: boolean;\n}\n"],"names":["COLOR_SCALES"],"mappings":";AA6BO,MAAMA,IAA6B;AAAA,EACxC;AAAA,EAAI;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AACnD;"}
@@ -0,0 +1,131 @@
1
+ "use client";
2
+ import { getPrimitiveColor as l } from "./primitives.js";
3
+ import { getSemanticColor as u } from "./semantic.js";
4
+ function v(n, t, r = {}) {
5
+ const { format: e = "hex", opacity: a } = r, o = l(n, t);
6
+ let s;
7
+ switch (e) {
8
+ case "rgb":
9
+ s = a !== void 0 ? `rgba(${o.rgb}, ${a})` : `rgb(${o.rgb})`;
10
+ break;
11
+ case "hsl":
12
+ s = a !== void 0 ? `hsla(${o.hsl}, ${a})` : `hsl(${o.hsl})`;
13
+ break;
14
+ case "cssVar":
15
+ s = o.cssVar;
16
+ break;
17
+ case "tailwind":
18
+ s = o.tailwind;
19
+ break;
20
+ default:
21
+ s = o.hex;
22
+ }
23
+ return s;
24
+ }
25
+ function p(n, t = "DEFAULT", r = {}) {
26
+ const { format: e = "hex", opacity: a } = r, o = u(n, t);
27
+ let s;
28
+ switch (e) {
29
+ case "rgb":
30
+ s = a !== void 0 ? `rgba(${o.rgb}, ${a})` : `rgb(${o.rgb})`;
31
+ break;
32
+ case "hsl":
33
+ s = a !== void 0 ? `hsla(${o.hsl}, ${a})` : `hsl(${o.hsl})`;
34
+ break;
35
+ case "cssVar":
36
+ s = o.cssVar;
37
+ break;
38
+ case "tailwind":
39
+ s = o.tailwind;
40
+ break;
41
+ default:
42
+ s = o.hex;
43
+ }
44
+ return s;
45
+ }
46
+ function C(n, t, r = {}) {
47
+ const {
48
+ type: e = "text",
49
+ hover: a = !1,
50
+ focus: o = !1,
51
+ active: s = !1
52
+ } = r, i = l(n, t), c = [`${e}-${i.tailwind}`];
53
+ return a && c.push(`hover:${e}-${i.tailwind}`), o && c.push(`focus:${e}-${i.tailwind}`), s && c.push(`active:${e}-${i.tailwind}`), c.join(" ");
54
+ }
55
+ function w(n, t = "DEFAULT", r = {}) {
56
+ const {
57
+ type: e = "text",
58
+ hover: a = !1,
59
+ focus: o = !1,
60
+ active: s = !1
61
+ } = r, i = u(n, t), c = [`${e}-${i.tailwind}`];
62
+ if (a) {
63
+ const f = u(
64
+ n,
65
+ t === "DEFAULT" ? "dark" : "DEFAULT"
66
+ );
67
+ c.push(`hover:${e}-${f.tailwind}`);
68
+ }
69
+ if (o && c.push(`focus:${e}-${i.tailwind}`), s) {
70
+ const f = u(n, "dark");
71
+ c.push(`active:${e}-${f.tailwind}`);
72
+ }
73
+ return c.join(" ");
74
+ }
75
+ function m(n, t, r = "bg") {
76
+ const e = l(n, t);
77
+ return `hover:${r}-${e.tailwind}`;
78
+ }
79
+ function x(n, t, r = "border") {
80
+ const e = l(n, t);
81
+ return `focus:${r}-${e.tailwind}`;
82
+ }
83
+ function T(n, t) {
84
+ return `focus:ring-${l(n, t).tailwind}`;
85
+ }
86
+ function y(n, t) {
87
+ return `rgba(${n.rgb}, ${t})`;
88
+ }
89
+ function h(n) {
90
+ const t = $(n);
91
+ return t ? 0.299 * t[0] + 0.587 * t[1] + 0.114 * t[2] > 128 : !0;
92
+ }
93
+ function F(n) {
94
+ return h(n) ? "#000000" : "#ffffff";
95
+ }
96
+ function $(n) {
97
+ const t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);
98
+ return t ? [
99
+ parseInt(t[1], 16),
100
+ parseInt(t[2], 16),
101
+ parseInt(t[3], 16)
102
+ ] : null;
103
+ }
104
+ function b(n, t, r = 0.5) {
105
+ const e = $(n), a = $(t);
106
+ if (!e || !a) return n;
107
+ const o = Math.round(e[0] * (1 - r) + a[0] * r), s = Math.round(e[1] * (1 - r) + a[1] * r), i = Math.round(e[2] * (1 - r) + a[2] * r);
108
+ return `#${((1 << 24) + (o << 16) + (s << 8) + i).toString(16).slice(1)}`;
109
+ }
110
+ function A(n, t) {
111
+ return b(n, "#ffffff", t / 100);
112
+ }
113
+ function L(n, t) {
114
+ return b(n, "#000000", t / 100);
115
+ }
116
+ export {
117
+ b as blendColors,
118
+ L as darken,
119
+ v as getColor,
120
+ C as getColorClass,
121
+ F as getContrastColor,
122
+ x as getFocusColorClass,
123
+ T as getFocusRingClass,
124
+ m as getHoverColorClass,
125
+ w as getSemanticColorClass,
126
+ p as getSemanticColorValue,
127
+ h as isLightColor,
128
+ A as lighten,
129
+ y as withOpacity
130
+ };
131
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/ui/tokens/colors/utils.ts"],"sourcesContent":["/**\n * Design System - Color Utilities\n *\n * Helper functions for working with colors.\n *\n * @brand brasil-a-vera (default, overridable)\n * @version 1.0.0\n */\n\nimport type {\n ColorToken,\n ColorScale,\n PrimitiveColorName,\n SemanticColorName,\n GetColorOptions,\n GetColorClassOptions,\n} from \"./types\";\nimport { getPrimitiveColor } from \"./primitives\";\nimport { getSemanticColor } from \"./semantic\";\n\n/**\n * Get a primitive color value in the specified format\n */\nexport function getColor(\n name: PrimitiveColorName,\n scale: ColorScale,\n options: GetColorOptions = {},\n): string {\n const { format = \"hex\", opacity } = options;\n const token = getPrimitiveColor(name, scale);\n\n let value: string;\n switch (format) {\n case \"rgb\":\n value =\n opacity !== undefined\n ? `rgba(${token.rgb}, ${opacity})`\n : `rgb(${token.rgb})`;\n break;\n case \"hsl\":\n value =\n opacity !== undefined\n ? `hsla(${token.hsl}, ${opacity})`\n : `hsl(${token.hsl})`;\n break;\n case \"cssVar\":\n value = token.cssVar;\n break;\n case \"tailwind\":\n value = token.tailwind;\n break;\n case \"hex\":\n default:\n value = token.hex;\n }\n\n return value;\n}\n\n/**\n * Get a semantic color value in the specified format\n */\nexport function getSemanticColorValue(\n role: SemanticColorName,\n shade: \"light\" | \"DEFAULT\" | \"dark\" | \"contrast\" = \"DEFAULT\",\n options: GetColorOptions = {},\n): string {\n const { format = \"hex\", opacity } = options;\n const token = getSemanticColor(role, shade);\n\n let value: string;\n switch (format) {\n case \"rgb\":\n value =\n opacity !== undefined\n ? `rgba(${token.rgb}, ${opacity})`\n : `rgb(${token.rgb})`;\n break;\n case \"hsl\":\n value =\n opacity !== undefined\n ? `hsla(${token.hsl}, ${opacity})`\n : `hsl(${token.hsl})`;\n break;\n case \"cssVar\":\n value = token.cssVar;\n break;\n case \"tailwind\":\n value = token.tailwind;\n break;\n case \"hex\":\n default:\n value = token.hex;\n }\n\n return value;\n}\n\n/**\n * Get Tailwind color class for a primitive color\n */\nexport function getColorClass(\n name: PrimitiveColorName,\n scale: ColorScale,\n options: GetColorClassOptions = {},\n): string {\n const {\n type = \"text\",\n hover = false,\n focus = false,\n active = false,\n } = options;\n const token = getPrimitiveColor(name, scale);\n const base = `${type}-${token.tailwind}`;\n\n const classes: string[] = [base];\n\n if (hover) {\n classes.push(`hover:${type}-${token.tailwind}`);\n }\n if (focus) {\n classes.push(`focus:${type}-${token.tailwind}`);\n }\n if (active) {\n classes.push(`active:${type}-${token.tailwind}`);\n }\n\n return classes.join(\" \");\n}\n\n/**\n * Get Tailwind color class for a semantic color\n */\nexport function getSemanticColorClass(\n role: SemanticColorName,\n shade: \"light\" | \"DEFAULT\" | \"dark\" = \"DEFAULT\",\n options: GetColorClassOptions = {},\n): string {\n const {\n type = \"text\",\n hover = false,\n focus = false,\n active = false,\n } = options;\n const token = getSemanticColor(role, shade);\n const base = `${type}-${token.tailwind}`;\n\n const classes: string[] = [base];\n\n if (hover) {\n const hoverToken = getSemanticColor(\n role,\n shade === \"DEFAULT\" ? \"dark\" : \"DEFAULT\",\n );\n classes.push(`hover:${type}-${hoverToken.tailwind}`);\n }\n if (focus) {\n classes.push(`focus:${type}-${token.tailwind}`);\n }\n if (active) {\n const activeToken = getSemanticColor(role, \"dark\");\n classes.push(`active:${type}-${activeToken.tailwind}`);\n }\n\n return classes.join(\" \");\n}\n\n/**\n * Get hover color class\n */\nexport function getHoverColorClass(\n name: PrimitiveColorName,\n scale: ColorScale,\n type: \"text\" | \"bg\" | \"border\" = \"bg\",\n): string {\n const token = getPrimitiveColor(name, scale);\n return `hover:${type}-${token.tailwind}`;\n}\n\n/**\n * Get focus color class\n */\nexport function getFocusColorClass(\n name: PrimitiveColorName,\n scale: ColorScale,\n type: \"text\" | \"bg\" | \"border\" = \"border\",\n): string {\n const token = getPrimitiveColor(name, scale);\n return `focus:${type}-${token.tailwind}`;\n}\n\n/**\n * Get focus ring class for a color\n */\nexport function getFocusRingClass(\n name: PrimitiveColorName,\n scale: ColorScale,\n): string {\n const token = getPrimitiveColor(name, scale);\n return `focus:ring-${token.tailwind}`;\n}\n\n/**\n * Generate a color with opacity\n */\nexport function withOpacity(token: ColorToken, opacity: number): string {\n return `rgba(${token.rgb}, ${opacity})`;\n}\n\n/**\n * Check if a color is considered \"light\" (for contrast calculations)\n */\nexport function isLightColor(hex: string): boolean {\n const rgb = hexToRgbArray(hex);\n if (!rgb) return true;\n\n // Calculate relative luminance\n const luminance = 0.299 * rgb[0] + 0.587 * rgb[1] + 0.114 * rgb[2];\n return luminance > 128;\n}\n\n/**\n * Get contrast color (black or white) for a given color\n */\nexport function getContrastColor(hex: string): \"#000000\" | \"#ffffff\" {\n return isLightColor(hex) ? \"#000000\" : \"#ffffff\";\n}\n\n/**\n * Convert hex to RGB array\n */\nfunction hexToRgbArray(hex: string): [number, number, number] | null {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result) return null;\n return [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n ];\n}\n\n/**\n * Blend two colors together\n */\nexport function blendColors(\n color1: string,\n color2: string,\n weight: number = 0.5,\n): string {\n const rgb1 = hexToRgbArray(color1);\n const rgb2 = hexToRgbArray(color2);\n\n if (!rgb1 || !rgb2) return color1;\n\n const r = Math.round(rgb1[0] * (1 - weight) + rgb2[0] * weight);\n const g = Math.round(rgb1[1] * (1 - weight) + rgb2[1] * weight);\n const b = Math.round(rgb1[2] * (1 - weight) + rgb2[2] * weight);\n\n return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\n}\n\n/**\n * Lighten a color by a percentage\n */\nexport function lighten(hex: string, percent: number): string {\n return blendColors(hex, \"#ffffff\", percent / 100);\n}\n\n/**\n * Darken a color by a percentage\n */\nexport function darken(hex: string, percent: number): string {\n return blendColors(hex, \"#000000\", percent / 100);\n}\n"],"names":["getColor","name","scale","options","format","opacity","token","getPrimitiveColor","value","getSemanticColorValue","role","shade","getSemanticColor","getColorClass","type","hover","focus","active","classes","getSemanticColorClass","hoverToken","activeToken","getHoverColorClass","getFocusColorClass","getFocusRingClass","withOpacity","isLightColor","hex","rgb","hexToRgbArray","getContrastColor","result","blendColors","color1","color2","weight","rgb1","rgb2","r","g","b","lighten","percent","darken"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ class i {
3
+ /**
4
+ * Create an opacity token
5
+ */
6
+ static create(a) {
7
+ const c = a / 100, o = {
8
+ 0: "Fully transparent",
9
+ 5: "Very light overlay",
10
+ 10: "Light overlay",
11
+ 20: "Subtle overlay",
12
+ 25: "Quarter opacity",
13
+ 30: "Light background",
14
+ 40: "Semi-transparent",
15
+ 50: "Half opacity",
16
+ 60: "Semi-opaque",
17
+ 70: "Mostly opaque",
18
+ 75: "Three-quarter opacity",
19
+ 80: "High opacity",
20
+ 90: "Very high opacity",
21
+ 95: "Nearly opaque",
22
+ 100: "Fully opaque"
23
+ };
24
+ return {
25
+ value: a,
26
+ decimal: c,
27
+ tailwind: {
28
+ 0: "opacity-0",
29
+ 5: "opacity-5",
30
+ 10: "opacity-10",
31
+ 20: "opacity-20",
32
+ 25: "opacity-25",
33
+ 30: "opacity-30",
34
+ 40: "opacity-40",
35
+ 50: "opacity-50",
36
+ 60: "opacity-60",
37
+ 70: "opacity-70",
38
+ 75: "opacity-75",
39
+ 80: "opacity-80",
40
+ 90: "opacity-90",
41
+ 95: "opacity-95",
42
+ 100: "opacity-100"
43
+ }[a],
44
+ description: o[a]
45
+ };
46
+ }
47
+ }
48
+ function e(t) {
49
+ return i.create(t);
50
+ }
51
+ function y(t) {
52
+ return i.create(t).tailwind;
53
+ }
54
+ export {
55
+ i as OpacityTokenFactory,
56
+ e as getOpacity,
57
+ y as getOpacityClass
58
+ };
59
+ //# sourceMappingURL=opacity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opacity.js","sources":["../../../../src/ui/tokens/opacity.ts"],"sourcesContent":["/**\n * Opacity Tokens\n *\n * Centralized opacity system for consistent transparency values.\n * Uses Factory Pattern for type-safe token creation.\n */\n\nexport type OpacityValue =\n | 0\n | 5\n | 10\n | 20\n | 25\n | 30\n | 40\n | 50\n | 60\n | 70\n | 75\n | 80\n | 90\n | 95\n | 100;\n\nexport interface OpacityToken {\n value: OpacityValue;\n decimal: number;\n tailwind: string;\n description: string;\n}\n\n/**\n * Opacity Token Factory\n * Creates opacity tokens with consistent values\n */\nexport class OpacityTokenFactory {\n /**\n * Create an opacity token\n */\n static create(value: OpacityValue): OpacityToken {\n const decimal = value / 100;\n\n const descriptionMap: Record<OpacityValue, string> = {\n 0: \"Fully transparent\",\n 5: \"Very light overlay\",\n 10: \"Light overlay\",\n 20: \"Subtle overlay\",\n 25: \"Quarter opacity\",\n 30: \"Light background\",\n 40: \"Semi-transparent\",\n 50: \"Half opacity\",\n 60: \"Semi-opaque\",\n 70: \"Mostly opaque\",\n 75: \"Three-quarter opacity\",\n 80: \"High opacity\",\n 90: \"Very high opacity\",\n 95: \"Nearly opaque\",\n 100: \"Fully opaque\",\n };\n\n // Map to Tailwind classes\n const tailwindMap: Record<OpacityValue, string> = {\n 0: \"opacity-0\",\n 5: \"opacity-5\",\n 10: \"opacity-10\",\n 20: \"opacity-20\",\n 25: \"opacity-25\",\n 30: \"opacity-30\",\n 40: \"opacity-40\",\n 50: \"opacity-50\",\n 60: \"opacity-60\",\n 70: \"opacity-70\",\n 75: \"opacity-75\",\n 80: \"opacity-80\",\n 90: \"opacity-90\",\n 95: \"opacity-95\",\n 100: \"opacity-100\",\n };\n\n return {\n value,\n decimal,\n tailwind: tailwindMap[value],\n description: descriptionMap[value],\n };\n }\n}\n\n/**\n * Pre-defined opacity tokens\n */\nexport const OPACITY_TOKENS = {\n transparent: OpacityTokenFactory.create(0),\n \"5\": OpacityTokenFactory.create(5),\n \"10\": OpacityTokenFactory.create(10),\n \"20\": OpacityTokenFactory.create(20),\n \"25\": OpacityTokenFactory.create(25),\n \"30\": OpacityTokenFactory.create(30),\n \"40\": OpacityTokenFactory.create(40),\n \"50\": OpacityTokenFactory.create(50),\n \"60\": OpacityTokenFactory.create(60),\n \"70\": OpacityTokenFactory.create(70),\n \"75\": OpacityTokenFactory.create(75),\n \"80\": OpacityTokenFactory.create(80),\n \"90\": OpacityTokenFactory.create(90),\n \"95\": OpacityTokenFactory.create(95),\n opaque: OpacityTokenFactory.create(100),\n} as const;\n\n/**\n * Helper function to get opacity token\n */\nexport function getOpacity(value: OpacityValue): OpacityToken {\n return OpacityTokenFactory.create(value);\n}\n\n/**\n * Helper function to get opacity as Tailwind class\n */\nexport function getOpacityClass(value: OpacityValue): string {\n return OpacityTokenFactory.create(value).tailwind;\n}\n"],"names":["OpacityTokenFactory","value","decimal","descriptionMap","getOpacity","getOpacityClass"],"mappings":";AAmCO,MAAMA,EAAoB;AAAA;AAAA;AAAA;AAAA,EAI/B,OAAO,OAAOC,GAAmC;AAC/C,UAAMC,IAAUD,IAAQ,KAElBE,IAA+C;AAAA,MACnD,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA;AAsBP,WAAO;AAAA,MACL,OAAAF;AAAA,MACA,SAAAC;AAAA,MACA,UArBgD;AAAA,QAChD,GAAG;AAAA,QACH,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,KAAK;AAAA,MAAA,EAMiBD,CAAK;AAAA,MAC3B,aAAaE,EAAeF,CAAK;AAAA,IAAA;AAAA,EAErC;AACF;AA0BO,SAASG,EAAWH,GAAmC;AAC5D,SAAOD,EAAoB,OAAOC,CAAK;AACzC;AAKO,SAASI,EAAgBJ,GAA6B;AAC3D,SAAOD,EAAoB,OAAOC,CAAK,EAAE;AAC3C;"}
@@ -0,0 +1,76 @@
1
+ "use client";
2
+ class e {
3
+ /**
4
+ * Create a radius token
5
+ */
6
+ static create(n) {
7
+ const r = {
8
+ none: {
9
+ px: 0,
10
+ tailwind: "rounded-none",
11
+ description: "No border radius"
12
+ },
13
+ sm: {
14
+ px: 2,
15
+ tailwind: "rounded-sm",
16
+ description: "Small radius (2px) for subtle rounding"
17
+ },
18
+ md: {
19
+ px: 6,
20
+ tailwind: "rounded-md",
21
+ description: "Medium radius (6px) for buttons and inputs"
22
+ },
23
+ lg: {
24
+ px: 8,
25
+ tailwind: "rounded-lg",
26
+ description: "Large radius (8px) for cards and containers"
27
+ },
28
+ xl: {
29
+ px: 12,
30
+ tailwind: "rounded-xl",
31
+ description: "Extra large radius (12px) for prominent elements"
32
+ },
33
+ "2xl": {
34
+ px: 16,
35
+ tailwind: "rounded-2xl",
36
+ description: "2X large radius (16px) for large containers"
37
+ },
38
+ "3xl": {
39
+ px: 24,
40
+ tailwind: "rounded-3xl",
41
+ description: "3X large radius (24px) for very large containers"
42
+ },
43
+ full: {
44
+ px: 9999,
45
+ tailwind: "rounded-full",
46
+ description: "Full radius for circular elements"
47
+ }
48
+ }[n];
49
+ return {
50
+ value: r.px,
51
+ rem: `${r.px / 16}rem`,
52
+ px: `${r.px}px`,
53
+ tailwind: r.tailwind,
54
+ description: r.description
55
+ };
56
+ }
57
+ }
58
+ const d = {
59
+ none: e.create("none"),
60
+ sm: e.create("sm"),
61
+ md: e.create("md"),
62
+ lg: e.create("lg"),
63
+ xl: e.create("xl"),
64
+ "2xl": e.create("2xl"),
65
+ "3xl": e.create("3xl"),
66
+ full: e.create("full")
67
+ };
68
+ function t(i) {
69
+ return d[i].tailwind;
70
+ }
71
+ export {
72
+ d as RADIUS_TOKENS,
73
+ e as RadiusTokenFactory,
74
+ t as getRadiusClass
75
+ };
76
+ //# sourceMappingURL=radius.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.js","sources":["../../../../src/ui/tokens/radius.ts"],"sourcesContent":["/**\n * Border Radius Tokens\n *\n * Centralized border radius system for consistent rounded corners.\n * Uses Factory Pattern for type-safe token creation.\n */\n\nexport type RadiusSize =\n | \"none\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"full\";\n\nexport interface RadiusToken {\n value: number;\n rem: string;\n px: string;\n tailwind: string;\n description: string;\n}\n\n/**\n * Radius Token Factory\n * Creates radius tokens with consistent values\n */\nexport class RadiusTokenFactory {\n /**\n * Create a radius token\n */\n static create(size: RadiusSize): RadiusToken {\n const radiusMap: Record<\n RadiusSize,\n { px: number; tailwind: string; description: string }\n > = {\n none: {\n px: 0,\n tailwind: \"rounded-none\",\n description: \"No border radius\",\n },\n sm: {\n px: 2,\n tailwind: \"rounded-sm\",\n description: \"Small radius (2px) for subtle rounding\",\n },\n md: {\n px: 6,\n tailwind: \"rounded-md\",\n description: \"Medium radius (6px) for buttons and inputs\",\n },\n lg: {\n px: 8,\n tailwind: \"rounded-lg\",\n description: \"Large radius (8px) for cards and containers\",\n },\n xl: {\n px: 12,\n tailwind: \"rounded-xl\",\n description: \"Extra large radius (12px) for prominent elements\",\n },\n \"2xl\": {\n px: 16,\n tailwind: \"rounded-2xl\",\n description: \"2X large radius (16px) for large containers\",\n },\n \"3xl\": {\n px: 24,\n tailwind: \"rounded-3xl\",\n description: \"3X large radius (24px) for very large containers\",\n },\n full: {\n px: 9999,\n tailwind: \"rounded-full\",\n description: \"Full radius for circular elements\",\n },\n };\n\n const config = radiusMap[size];\n return {\n value: config.px,\n rem: `${config.px / 16}rem`,\n px: `${config.px}px`,\n tailwind: config.tailwind,\n description: config.description,\n };\n }\n}\n\n/**\n * Pre-defined radius tokens\n */\nexport const RADIUS_TOKENS = {\n none: RadiusTokenFactory.create(\"none\"),\n sm: RadiusTokenFactory.create(\"sm\"),\n md: RadiusTokenFactory.create(\"md\"),\n lg: RadiusTokenFactory.create(\"lg\"),\n xl: RadiusTokenFactory.create(\"xl\"),\n \"2xl\": RadiusTokenFactory.create(\"2xl\"),\n \"3xl\": RadiusTokenFactory.create(\"3xl\"),\n full: RadiusTokenFactory.create(\"full\"),\n} as const;\n\n/**\n * Helper function to get radius token\n */\nexport function getRadius(size: keyof typeof RADIUS_TOKENS): RadiusToken {\n return RADIUS_TOKENS[size];\n}\n\n/**\n * Helper function to get radius as Tailwind class\n */\nexport function getRadiusClass(size: keyof typeof RADIUS_TOKENS): string {\n return RADIUS_TOKENS[size].tailwind;\n}\n"],"names":["RadiusTokenFactory","size","config","RADIUS_TOKENS","getRadiusClass"],"mappings":";AA6BO,MAAMA,EAAmB;AAAA;AAAA;AAAA;AAAA,EAI9B,OAAO,OAAOC,GAA+B;AA+C3C,UAAMC,IA3CF;AAAA,MACF,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,OAAO;AAAA,QACL,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,IACf,EAGuBD,CAAI;AAC7B,WAAO;AAAA,MACL,OAAOC,EAAO;AAAA,MACd,KAAK,GAAGA,EAAO,KAAK,EAAE;AAAA,MACtB,IAAI,GAAGA,EAAO,EAAE;AAAA,MAChB,UAAUA,EAAO;AAAA,MACjB,aAAaA,EAAO;AAAA,IAAA;AAAA,EAExB;AACF;AAKO,MAAMC,IAAgB;AAAA,EAC3B,MAAMH,EAAmB,OAAO,MAAM;AAAA,EACtC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,OAAOA,EAAmB,OAAO,KAAK;AAAA,EACtC,OAAOA,EAAmB,OAAO,KAAK;AAAA,EACtC,MAAMA,EAAmB,OAAO,MAAM;AACxC;AAYO,SAASI,EAAeH,GAA0C;AACvE,SAAOE,EAAcF,CAAI,EAAE;AAC7B;"}
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ class e {
3
+ /**
4
+ * Create a shadow token
5
+ */
6
+ static create(n) {
7
+ return {
8
+ none: {
9
+ value: "none",
10
+ tailwind: "shadow-none",
11
+ description: "No shadow"
12
+ },
13
+ sm: {
14
+ value: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
15
+ tailwind: "shadow-sm",
16
+ description: "Small shadow for subtle elevation"
17
+ },
18
+ md: {
19
+ value: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
20
+ tailwind: "shadow-md",
21
+ description: "Medium shadow for cards and elevated elements"
22
+ },
23
+ lg: {
24
+ value: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
25
+ tailwind: "shadow-lg",
26
+ description: "Large shadow for modals and dropdowns"
27
+ },
28
+ xl: {
29
+ value: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
30
+ tailwind: "shadow-xl",
31
+ description: "Extra large shadow for prominent modals"
32
+ },
33
+ "2xl": {
34
+ value: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
35
+ tailwind: "shadow-2xl",
36
+ description: "2X large shadow for maximum elevation"
37
+ },
38
+ inner: {
39
+ value: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",
40
+ tailwind: "shadow-inner",
41
+ description: "Inner shadow for inset elements"
42
+ }
43
+ }[n];
44
+ }
45
+ }
46
+ const o = {
47
+ none: e.create("none"),
48
+ sm: e.create("sm"),
49
+ md: e.create("md"),
50
+ lg: e.create("lg"),
51
+ xl: e.create("xl"),
52
+ "2xl": e.create("2xl"),
53
+ inner: e.create("inner")
54
+ };
55
+ function d(a) {
56
+ return o[a].tailwind;
57
+ }
58
+ export {
59
+ o as SHADOW_TOKENS,
60
+ e as ShadowTokenFactory,
61
+ d as getShadowClass
62
+ };
63
+ //# sourceMappingURL=shadows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadows.js","sources":["../../../../src/ui/tokens/shadows.ts"],"sourcesContent":["/**\n * Shadow Tokens\n *\n * Centralized shadow system for consistent elevation and depth.\n * Uses Factory Pattern for type-safe token creation.\n */\n\nexport type ShadowSize = \"none\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"inner\";\n\nexport interface ShadowToken {\n value: string;\n tailwind: string;\n description: string;\n}\n\n/**\n * Shadow Token Factory\n * Creates shadow tokens with consistent values\n */\nexport class ShadowTokenFactory {\n /**\n * Create a shadow token\n */\n static create(size: ShadowSize): ShadowToken {\n const shadowMap: Record<\n ShadowSize,\n { value: string; tailwind: string; description: string }\n > = {\n none: {\n value: \"none\",\n tailwind: \"shadow-none\",\n description: \"No shadow\",\n },\n sm: {\n value: \"0 1px 2px 0 rgb(0 0 0 / 0.05)\",\n tailwind: \"shadow-sm\",\n description: \"Small shadow for subtle elevation\",\n },\n md: {\n value: \"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",\n tailwind: \"shadow-md\",\n description: \"Medium shadow for cards and elevated elements\",\n },\n lg: {\n value:\n \"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)\",\n tailwind: \"shadow-lg\",\n description: \"Large shadow for modals and dropdowns\",\n },\n xl: {\n value:\n \"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)\",\n tailwind: \"shadow-xl\",\n description: \"Extra large shadow for prominent modals\",\n },\n \"2xl\": {\n value:\n \"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)\",\n tailwind: \"shadow-2xl\",\n description: \"2X large shadow for maximum elevation\",\n },\n inner: {\n value: \"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)\",\n tailwind: \"shadow-inner\",\n description: \"Inner shadow for inset elements\",\n },\n };\n\n return shadowMap[size];\n }\n}\n\n/**\n * Pre-defined shadow tokens\n */\nexport const SHADOW_TOKENS = {\n none: ShadowTokenFactory.create(\"none\"),\n sm: ShadowTokenFactory.create(\"sm\"),\n md: ShadowTokenFactory.create(\"md\"),\n lg: ShadowTokenFactory.create(\"lg\"),\n xl: ShadowTokenFactory.create(\"xl\"),\n \"2xl\": ShadowTokenFactory.create(\"2xl\"),\n inner: ShadowTokenFactory.create(\"inner\"),\n} as const;\n\n/**\n * Helper function to get shadow token\n */\nexport function getShadow(size: keyof typeof SHADOW_TOKENS): ShadowToken {\n return SHADOW_TOKENS[size];\n}\n\n/**\n * Helper function to get shadow as Tailwind class\n */\nexport function getShadowClass(size: keyof typeof SHADOW_TOKENS): string {\n return SHADOW_TOKENS[size].tailwind;\n}\n"],"names":["ShadowTokenFactory","size","SHADOW_TOKENS","getShadowClass"],"mappings":";AAmBO,MAAMA,EAAmB;AAAA;AAAA;AAAA;AAAA,EAI9B,OAAO,OAAOC,GAA+B;AA6C3C,WAzCI;AAAA,MACF,MAAM;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,OAAO;AAAA,QACP,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,OAAO;AAAA,QACP,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,OACE;AAAA,QACF,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,IAAI;AAAA,QACF,OACE;AAAA,QACF,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,OAAO;AAAA,QACL,OACE;AAAA,QACF,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,MAEf,OAAO;AAAA,QACL,OAAO;AAAA,QACP,UAAU;AAAA,QACV,aAAa;AAAA,MAAA;AAAA,IACf,EAGeA,CAAI;AAAA,EACvB;AACF;AAKO,MAAMC,IAAgB;AAAA,EAC3B,MAAMF,EAAmB,OAAO,MAAM;AAAA,EACtC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,IAAIA,EAAmB,OAAO,IAAI;AAAA,EAClC,OAAOA,EAAmB,OAAO,KAAK;AAAA,EACtC,OAAOA,EAAmB,OAAO,OAAO;AAC1C;AAYO,SAASG,EAAeF,GAA0C;AACvE,SAAOC,EAAcD,CAAI,EAAE;AAC7B;"}