pixelize-design-library 2.4.2-beta.0 → 2.4.2-beta.10

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 (397) hide show
  1. package/dist/Components/Accordion/Accordion.js +13 -15
  2. package/dist/Components/Accordion/accordionColors.js +6 -9
  3. package/dist/Components/AlertDialog/AlertDialog.js +1 -2
  4. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +2 -3
  5. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +2 -3
  6. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +2 -3
  7. package/dist/Components/AppearanceSettings/AppearanceSettings.js +9 -7
  8. package/dist/Components/Button/Button.styles.js +7 -12
  9. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +12 -13
  10. package/dist/Components/Checkbox/Checkbox.js +1 -1
  11. package/dist/Components/Checkbox/Checkbox.styles.js +2 -0
  12. package/dist/Components/Common/ErrorComponent.js +5 -8
  13. package/dist/Components/Common/ErrorMessage.js +2 -8
  14. package/dist/Components/Common/FormLabel.js +1 -3
  15. package/dist/Components/Common/FormattedDescription.js +3 -1
  16. package/dist/Components/Common/Label.js +3 -8
  17. package/dist/Components/Common/fieldStyles.js +6 -7
  18. package/dist/Components/ContactForm/ContactForm.js +1 -2
  19. package/dist/Components/CopyButton/CopyButton.js +3 -6
  20. package/dist/Components/CustomModulesTable/CustomModulesTable.js +7 -10
  21. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
  22. package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -3
  23. package/dist/Components/DatePicker/CalendarPanel.js +3 -4
  24. package/dist/Components/DatePicker/RangeDatePicker.js +9 -9
  25. package/dist/Components/DatePicker/SingleDatePicker.js +11 -11
  26. package/dist/Components/DatePicker/TimeOnlyPicker.js +2 -2
  27. package/dist/Components/DatePicker/TimePicker.js +6 -7
  28. package/dist/Components/DatePicker/TimePickerInput.js +6 -7
  29. package/dist/Components/Divider/Divider.js +1 -2
  30. package/dist/Components/Drawer/Drawer.js +1 -2
  31. package/dist/Components/Dropdown/DropDown.js +19 -33
  32. package/dist/Components/Editor/Editor.js +10 -13
  33. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -3
  34. package/dist/Components/EmptyState/EmptyState.js +11 -11
  35. package/dist/Components/FieldSelectModal/FieldSelectModal.js +1 -1
  36. package/dist/Components/FilePreview/FilePreview.js +2 -2
  37. package/dist/Components/FileUpload/FileUpload.js +18 -24
  38. package/dist/Components/FileUploader/FileUploader.js +5 -6
  39. package/dist/Components/FilterSidebar/FilterSidebar.js +156 -160
  40. package/dist/Components/Form/FormWrapper.js +1 -2
  41. package/dist/Components/Header/Header.js +6 -6
  42. package/dist/Components/Header/HeaderActions.d.ts +3 -1
  43. package/dist/Components/Header/HeaderActions.js +8 -4
  44. package/dist/Components/Header/components/desktopMenu.js +7 -20
  45. package/dist/Components/Header/components/mobileMenu.js +3 -15
  46. package/dist/Components/Input/Input/Input.js +13 -17
  47. package/dist/Components/Input/TextInput.styles.js +15 -16
  48. package/dist/Components/InputTextArea/InputTextArea.d.ts +1 -1
  49. package/dist/Components/InputTextArea/InputTextArea.style.js +14 -14
  50. package/dist/Components/KanbanBoard/AccountCard.js +10 -4
  51. package/dist/Components/KanbanBoard/AccountRow.js +1 -2
  52. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  53. package/dist/Components/KanbanBoard/KanbanBoard.js +15 -62
  54. package/dist/Components/LazyWrapper/LazyWrapper.js +1 -1
  55. package/dist/Components/LimitReachedModal/LimitReachedModal.js +5 -18
  56. package/dist/Components/Loading/Loading.js +1 -1
  57. package/dist/Components/Modal/Modal.js +3 -1
  58. package/dist/Components/MoreItems/MoreItems.js +3 -7
  59. package/dist/Components/MultiSelect/MultiSelect.js +5 -6
  60. package/dist/Components/NavigationBar/NavigationBar.d.ts +1 -1
  61. package/dist/Components/NavigationBar/NavigationBar.js +22 -18
  62. package/dist/Components/NavigationBar/NavigationBarProps.d.ts +5 -0
  63. package/dist/Components/NoteTextArea/NoteTextArea.js +7 -9
  64. package/dist/Components/Notification/Notification.js +17 -15
  65. package/dist/Components/NumberInput/NumberInput.styles.js +14 -14
  66. package/dist/Components/OrgSwitcher/OrgSwitcher.js +7 -8
  67. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +2 -0
  68. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +6 -2
  69. package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -2
  70. package/dist/Components/OrganizationDetails/DeleteOrgModal.js +5 -2
  71. package/dist/Components/OrganizationDetails/OrganizationDetails.js +25 -22
  72. package/dist/Components/PdfViewer/PdfViewer.js +1 -1
  73. package/dist/Components/PinInput/PinInput.js +1 -1
  74. package/dist/Components/PinInputs/PinInputs.js +7 -14
  75. package/dist/Components/PlanPill/PlanPill.js +8 -11
  76. package/dist/Components/PlanPill/planPillGradient.d.ts +21 -14
  77. package/dist/Components/PlanPill/planPillGradient.js +33 -16
  78. package/dist/Components/ProductCard/ProductPrice.js +6 -6
  79. package/dist/Components/ProductCard/ProductReview.js +4 -1
  80. package/dist/Components/ProductCard/ProductTags.js +4 -4
  81. package/dist/Components/ProductDetails/ProductDetails.js +3 -1
  82. package/dist/Components/ProductDetails/ProductDtlPrice.js +3 -3
  83. package/dist/Components/ProfileCard/ProfileCard.js +4 -4
  84. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +19 -16
  85. package/dist/Components/RadioButton/RadioButton.js +1 -1
  86. package/dist/Components/Reorder/Reorder.js +3 -4
  87. package/dist/Components/RolesPermission/DeleteRoleModal.js +5 -4
  88. package/dist/Components/RolesPermission/RolesPermission.js +12 -14
  89. package/dist/Components/ScrollToTop/ScrollToTop.js +2 -3
  90. package/dist/Components/ScrollbarBox/ScrollbarBox.d.ts +13 -0
  91. package/dist/Components/ScrollbarBox/ScrollbarBox.js +11 -0
  92. package/dist/Components/SearchSelect/SearchSelect.js +26 -28
  93. package/dist/Components/Select/Select.styles.js +34 -37
  94. package/dist/Components/SelectSearch/SelectSearch.js +10 -10
  95. package/dist/Components/SelectV2/SelectV2.js +8 -20
  96. package/dist/Components/SideBar/SecondaryBar.js +10 -15
  97. package/dist/Components/SideBar/SideBar.d.ts +1 -1
  98. package/dist/Components/SideBar/SideBar.js +41 -34
  99. package/dist/Components/SideBar/SideBarProps.d.ts +6 -0
  100. package/dist/Components/SideBar/components/MenuItemBox.js +10 -12
  101. package/dist/Components/SideBar/components/MenuItems.js +3 -1
  102. package/dist/Components/SideBar/components/MenuPopoverContent.js +7 -9
  103. package/dist/Components/SideBar/components/OtherApps.js +4 -4
  104. package/dist/Components/SideBar/sidebarAccentColors.d.ts +4 -17
  105. package/dist/Components/SideBar/sidebarAccentColors.js +6 -33
  106. package/dist/Components/SignInActivityTable/SignInActivityTable.js +6 -7
  107. package/dist/Components/Slider/Slider.js +2 -2
  108. package/dist/Components/StageProgress/StageProgress.js +2 -9
  109. package/dist/Components/StageProgress/StageProgressProps.js +9 -13
  110. package/dist/Components/Table/Table.js +19 -30
  111. package/dist/Components/Table/components/HeaderActions.js +6 -7
  112. package/dist/Components/Table/components/Pagination.js +1 -1
  113. package/dist/Components/Table/components/TableActions.js +4 -4
  114. package/dist/Components/Table/components/TableBody.js +18 -20
  115. package/dist/Components/Table/components/TableGroupRow.js +1 -2
  116. package/dist/Components/Table/components/TableHeader.js +8 -12
  117. package/dist/Components/Table/components/TableSearch.js +1 -2
  118. package/dist/Components/Table/components/tableRowHoverStyle.js +2 -3
  119. package/dist/Components/Table/filters/ActiveFilters.js +5 -24
  120. package/dist/Components/Table/filters/CompactSelect.js +4 -5
  121. package/dist/Components/Table/filters/LeftFilterPane.js +4 -5
  122. package/dist/Components/Table/filters/TableFilters.js +1 -2
  123. package/dist/Components/Table/hooks/useTable.js +8 -11
  124. package/dist/Components/Table/settings/ManageColumns.js +4 -18
  125. package/dist/Components/Table/settings/TableSettings.js +13 -21
  126. package/dist/Components/Tag/Tag.styles.js +8 -6
  127. package/dist/Components/Timeline/Timeline.js +32 -45
  128. package/dist/Components/Toaster/Toaster.js +43 -44
  129. package/dist/Components/ToolTip/ToolTip.js +1 -6
  130. package/dist/Components/Trail/EditableCell.js +4 -1
  131. package/dist/Components/Trail/TrailWorks.js +3 -3
  132. package/dist/Components/UpgradeButton/UpgradeButton.js +4 -6
  133. package/dist/Components/UserDetails/AddUserModal.js +3 -3
  134. package/dist/Components/UserDetails/ChangeRoleModal.js +2 -2
  135. package/dist/Components/UserDetails/DeactivateConfirmModal.js +5 -5
  136. package/dist/Components/UserDetails/UserDetails.js +14 -16
  137. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +1 -2
  138. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +3 -4
  139. package/dist/Constants/Sidebar.js +3 -2
  140. package/dist/Theme/assertPalette.d.ts +11 -0
  141. package/dist/Theme/assertPalette.js +55 -0
  142. package/dist/Theme/chakra/Avatar.styles.d.ts +5 -5
  143. package/dist/Theme/chakra/Avatar.styles.js +2 -2
  144. package/dist/Theme/chakra/Drawer.styles.d.ts +5 -5
  145. package/dist/Theme/chakra/Drawer.styles.js +8 -10
  146. package/dist/Theme/chakra/Menu.styles.d.ts +9 -6
  147. package/dist/Theme/chakra/Menu.styles.js +11 -5
  148. package/dist/Theme/chakra/Modal.styles.d.ts +5 -5
  149. package/dist/Theme/chakra/Modal.styles.js +8 -10
  150. package/dist/Theme/chakra/Popover.styles.d.ts +9 -6
  151. package/dist/Theme/chakra/Popover.styles.js +11 -6
  152. package/dist/Theme/chakra/Slider.styles.d.ts +1 -1
  153. package/dist/Theme/chakra/Slider.styles.js +7 -9
  154. package/dist/Theme/chakra/Switch.styles.d.ts +1 -1
  155. package/dist/Theme/chakra/Switch.styles.js +7 -9
  156. package/dist/Theme/chakra/Tabs.styles.d.ts +2 -2
  157. package/dist/Theme/chakra/Tabs.styles.js +13 -18
  158. package/dist/Theme/chakra/componentStyles.d.ts +69 -30
  159. package/dist/Theme/chakra/componentStyles.js +52 -43
  160. package/dist/Theme/chakra/createBrandTheme.js +3 -16
  161. package/dist/Theme/chakra/paletteFromTheme.d.ts +10 -0
  162. package/dist/Theme/chakra/paletteFromTheme.js +14 -0
  163. package/dist/Theme/provider/PixelizeThemeProvider.js +23 -20
  164. package/dist/Theme/provider/ThemeSwitcher.js +13 -20
  165. package/dist/Theme/testing/testPalette.d.ts +16 -0
  166. package/dist/Theme/testing/testPalette.js +24 -0
  167. package/dist/Theme/tokens/brands/emerald/palette.light.d.ts +2 -373
  168. package/dist/Theme/tokens/brands/emerald/palette.light.js +5 -7
  169. package/dist/Theme/tokens/brands/index.d.ts +3 -2
  170. package/dist/Theme/tokens/brands/index.js +29 -23
  171. package/dist/Theme/tokens/brands/lavender/palette.light.d.ts +2 -373
  172. package/dist/Theme/tokens/brands/lavender/palette.light.js +5 -116
  173. package/dist/Theme/tokens/brands/meadow/palette.light.d.ts +2 -373
  174. package/dist/Theme/tokens/brands/meadow/palette.light.js +5 -7
  175. package/dist/Theme/tokens/brands/neutrals.d.ts +8 -0
  176. package/dist/Theme/tokens/brands/neutrals.js +119 -0
  177. package/dist/Theme/tokens/brands/radiant/palette.light.d.ts +2 -373
  178. package/dist/Theme/tokens/brands/radiant/palette.light.js +5 -7
  179. package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts +2 -373
  180. package/dist/Theme/tokens/brands/rosewood/palette.light.js +5 -7
  181. package/dist/Theme/tokens/brands/skyline/palette.light.d.ts +2 -373
  182. package/dist/Theme/tokens/brands/skyline/palette.light.js +5 -7
  183. package/dist/Theme/tokens/brands/slate/palette.light.d.ts +2 -373
  184. package/dist/Theme/tokens/brands/slate/palette.light.js +7 -13
  185. package/dist/Theme/tokens/brands/storefront/palette.light.d.ts +2 -373
  186. package/dist/Theme/tokens/brands/storefront/palette.light.js +5 -7
  187. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +5 -3
  188. package/dist/Theme/tokens/brands/zinc/palette.dark.js +2 -1
  189. package/dist/Theme/tokens/brands/zinc/palette.light.d.ts +2 -373
  190. package/dist/Theme/tokens/builders/accentText.d.ts +2 -2
  191. package/dist/Theme/tokens/builders/accentText.js +8 -27
  192. package/dist/Theme/tokens/builders/brandInk.d.ts +11 -0
  193. package/dist/Theme/tokens/builders/brandInk.js +106 -0
  194. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +2 -2
  195. package/dist/Theme/tokens/builders/buildDarkPalette.js +16 -8
  196. package/dist/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
  197. package/dist/Theme/tokens/builders/gradientInk.d.ts +22 -0
  198. package/dist/Theme/tokens/builders/gradientInk.js +28 -0
  199. package/dist/Theme/tokens/builders/index.d.ts +3 -0
  200. package/dist/Theme/tokens/builders/index.js +3 -0
  201. package/dist/Theme/tokens/builders/mutedText.d.ts +5 -0
  202. package/dist/Theme/tokens/builders/mutedText.js +9 -0
  203. package/dist/Theme/tokens/builders/outlineRung.d.ts +39 -9
  204. package/dist/Theme/tokens/builders/outlineRung.js +92 -21
  205. package/dist/Theme/tokens/builders/placeholderInk.d.ts +19 -0
  206. package/dist/Theme/tokens/builders/placeholderInk.js +35 -0
  207. package/dist/Theme/tokens/builders/resolvedRungs.d.ts +11 -0
  208. package/dist/Theme/tokens/builders/resolvedRungs.js +30 -0
  209. package/dist/Theme/tokens/builders/scrollbar.d.ts +12 -0
  210. package/dist/Theme/tokens/builders/scrollbar.js +57 -0
  211. package/dist/Theme/tokens/builders/semanticText.d.ts +10 -0
  212. package/dist/Theme/tokens/builders/semanticText.js +22 -0
  213. package/dist/Theme/tokens/builders/sidebarAccent.d.ts +9 -0
  214. package/dist/Theme/tokens/builders/sidebarAccent.js +29 -0
  215. package/dist/Theme/tokens/builders/statusTone.js +3 -4
  216. package/dist/Theme/tokens/builders/surfaceRungs.d.ts +10 -0
  217. package/dist/Theme/tokens/builders/surfaceRungs.js +54 -0
  218. package/dist/Theme/tokens/types.d.ts +41 -13
  219. package/dist/Theme/useCustomTheme.js +4 -1
  220. package/dist/Utils/table.d.ts +1 -7
  221. package/dist/Utils/table.js +27 -35
  222. package/dist/esm/Components/Accordion/Accordion.js +14 -16
  223. package/dist/esm/Components/Accordion/accordionColors.js +6 -9
  224. package/dist/esm/Components/AlertDialog/AlertDialog.js +1 -2
  225. package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +2 -3
  226. package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +2 -3
  227. package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +2 -3
  228. package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +9 -7
  229. package/dist/esm/Components/Button/Button.styles.js +8 -13
  230. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +12 -13
  231. package/dist/esm/Components/Checkbox/Checkbox.js +1 -1
  232. package/dist/esm/Components/Checkbox/Checkbox.styles.js +2 -0
  233. package/dist/esm/Components/Common/ErrorComponent.js +6 -9
  234. package/dist/esm/Components/Common/ErrorMessage.js +2 -8
  235. package/dist/esm/Components/Common/FormLabel.js +1 -3
  236. package/dist/esm/Components/Common/FormattedDescription.js +3 -1
  237. package/dist/esm/Components/Common/Label.js +3 -8
  238. package/dist/esm/Components/Common/fieldStyles.js +6 -7
  239. package/dist/esm/Components/ContactForm/ContactForm.js +1 -2
  240. package/dist/esm/Components/CopyButton/CopyButton.js +3 -6
  241. package/dist/esm/Components/CustomModulesTable/CustomModulesTable.js +7 -10
  242. package/dist/esm/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
  243. package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +2 -3
  244. package/dist/esm/Components/DatePicker/CalendarPanel.js +3 -4
  245. package/dist/esm/Components/DatePicker/RangeDatePicker.js +9 -9
  246. package/dist/esm/Components/DatePicker/SingleDatePicker.js +11 -11
  247. package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +2 -2
  248. package/dist/esm/Components/DatePicker/TimePicker.js +6 -7
  249. package/dist/esm/Components/DatePicker/TimePickerInput.js +6 -7
  250. package/dist/esm/Components/Divider/Divider.js +1 -2
  251. package/dist/esm/Components/Drawer/Drawer.js +1 -2
  252. package/dist/esm/Components/Dropdown/DropDown.js +19 -33
  253. package/dist/esm/Components/Editor/Editor.js +11 -14
  254. package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -3
  255. package/dist/esm/Components/EmptyState/EmptyState.js +11 -11
  256. package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +1 -1
  257. package/dist/esm/Components/FilePreview/FilePreview.js +2 -2
  258. package/dist/esm/Components/FileUpload/FileUpload.js +18 -24
  259. package/dist/esm/Components/FileUploader/FileUploader.js +6 -7
  260. package/dist/esm/Components/FilterSidebar/FilterSidebar.js +157 -161
  261. package/dist/esm/Components/Form/FormWrapper.js +1 -2
  262. package/dist/esm/Components/Header/Header.js +6 -6
  263. package/dist/esm/Components/Header/HeaderActions.js +9 -5
  264. package/dist/esm/Components/Header/components/desktopMenu.js +8 -21
  265. package/dist/esm/Components/Header/components/mobileMenu.js +3 -15
  266. package/dist/esm/Components/Input/Input/Input.js +14 -18
  267. package/dist/esm/Components/Input/TextInput.styles.js +15 -16
  268. package/dist/esm/Components/InputTextArea/InputTextArea.style.js +14 -14
  269. package/dist/esm/Components/KanbanBoard/AccountCard.js +10 -4
  270. package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -2
  271. package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  272. package/dist/esm/Components/KanbanBoard/KanbanBoard.js +15 -62
  273. package/dist/esm/Components/LazyWrapper/LazyWrapper.js +1 -1
  274. package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +5 -18
  275. package/dist/esm/Components/Loading/Loading.js +1 -1
  276. package/dist/esm/Components/Modal/Modal.js +3 -1
  277. package/dist/esm/Components/MoreItems/MoreItems.js +3 -7
  278. package/dist/esm/Components/MultiSelect/MultiSelect.js +5 -6
  279. package/dist/esm/Components/NavigationBar/NavigationBar.js +23 -19
  280. package/dist/esm/Components/NoteTextArea/NoteTextArea.js +7 -9
  281. package/dist/esm/Components/Notification/Notification.js +18 -16
  282. package/dist/esm/Components/NumberInput/NumberInput.styles.js +14 -14
  283. package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +8 -9
  284. package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +5 -1
  285. package/dist/esm/Components/OrganizationDetails/CreateOrgModal.js +1 -2
  286. package/dist/esm/Components/OrganizationDetails/DeleteOrgModal.js +5 -2
  287. package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +25 -22
  288. package/dist/esm/Components/PdfViewer/PdfViewer.js +1 -1
  289. package/dist/esm/Components/PinInput/PinInput.js +1 -1
  290. package/dist/esm/Components/PinInputs/PinInputs.js +8 -15
  291. package/dist/esm/Components/PlanPill/PlanPill.js +9 -12
  292. package/dist/esm/Components/PlanPill/planPillGradient.js +27 -15
  293. package/dist/esm/Components/ProductCard/ProductPrice.js +6 -6
  294. package/dist/esm/Components/ProductCard/ProductReview.js +4 -1
  295. package/dist/esm/Components/ProductCard/ProductTags.js +5 -5
  296. package/dist/esm/Components/ProductDetails/ProductDetails.js +3 -1
  297. package/dist/esm/Components/ProductDetails/ProductDtlPrice.js +3 -3
  298. package/dist/esm/Components/ProfileCard/ProfileCard.js +5 -5
  299. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +20 -17
  300. package/dist/esm/Components/RadioButton/RadioButton.js +1 -1
  301. package/dist/esm/Components/Reorder/Reorder.js +3 -4
  302. package/dist/esm/Components/RolesPermission/DeleteRoleModal.js +5 -4
  303. package/dist/esm/Components/RolesPermission/RolesPermission.js +12 -14
  304. package/dist/esm/Components/ScrollToTop/ScrollToTop.js +2 -3
  305. package/dist/esm/Components/ScrollbarBox/ScrollbarBox.js +9 -0
  306. package/dist/esm/Components/SearchSelect/SearchSelect.js +26 -28
  307. package/dist/esm/Components/Select/Select.styles.js +34 -37
  308. package/dist/esm/Components/SelectSearch/SelectSearch.js +10 -10
  309. package/dist/esm/Components/SelectV2/SelectV2.js +8 -20
  310. package/dist/esm/Components/SideBar/SecondaryBar.js +11 -16
  311. package/dist/esm/Components/SideBar/SideBar.js +43 -36
  312. package/dist/esm/Components/SideBar/components/MenuItemBox.js +11 -13
  313. package/dist/esm/Components/SideBar/components/MenuItems.js +3 -1
  314. package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +8 -10
  315. package/dist/esm/Components/SideBar/components/OtherApps.js +4 -4
  316. package/dist/esm/Components/SideBar/sidebarAccentColors.js +5 -31
  317. package/dist/esm/Components/SignInActivityTable/SignInActivityTable.js +6 -7
  318. package/dist/esm/Components/Slider/Slider.js +2 -2
  319. package/dist/esm/Components/StageProgress/StageProgress.js +2 -9
  320. package/dist/esm/Components/StageProgress/StageProgressProps.js +9 -13
  321. package/dist/esm/Components/Table/Table.js +19 -30
  322. package/dist/esm/Components/Table/components/HeaderActions.js +6 -7
  323. package/dist/esm/Components/Table/components/Pagination.js +1 -1
  324. package/dist/esm/Components/Table/components/TableActions.js +4 -4
  325. package/dist/esm/Components/Table/components/TableBody.js +18 -20
  326. package/dist/esm/Components/Table/components/TableGroupRow.js +1 -2
  327. package/dist/esm/Components/Table/components/TableHeader.js +8 -12
  328. package/dist/esm/Components/Table/components/TableSearch.js +1 -2
  329. package/dist/esm/Components/Table/components/tableRowHoverStyle.js +2 -3
  330. package/dist/esm/Components/Table/filters/ActiveFilters.js +5 -24
  331. package/dist/esm/Components/Table/filters/CompactSelect.js +4 -5
  332. package/dist/esm/Components/Table/filters/LeftFilterPane.js +4 -5
  333. package/dist/esm/Components/Table/filters/TableFilters.js +1 -2
  334. package/dist/esm/Components/Table/hooks/useTable.js +8 -11
  335. package/dist/esm/Components/Table/settings/ManageColumns.js +4 -18
  336. package/dist/esm/Components/Table/settings/TableSettings.js +13 -21
  337. package/dist/esm/Components/Tag/Tag.styles.js +9 -7
  338. package/dist/esm/Components/Timeline/Timeline.js +33 -46
  339. package/dist/esm/Components/Toaster/Toaster.js +44 -45
  340. package/dist/esm/Components/ToolTip/ToolTip.js +1 -6
  341. package/dist/esm/Components/Trail/EditableCell.js +4 -1
  342. package/dist/esm/Components/Trail/TrailWorks.js +4 -4
  343. package/dist/esm/Components/UpgradeButton/UpgradeButton.js +4 -6
  344. package/dist/esm/Components/UserDetails/AddUserModal.js +3 -3
  345. package/dist/esm/Components/UserDetails/ChangeRoleModal.js +2 -2
  346. package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +5 -5
  347. package/dist/esm/Components/UserDetails/UserDetails.js +15 -17
  348. package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +1 -2
  349. package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +3 -4
  350. package/dist/esm/Constants/Sidebar.js +3 -2
  351. package/dist/esm/Theme/assertPalette.js +50 -0
  352. package/dist/esm/Theme/chakra/Avatar.styles.js +2 -2
  353. package/dist/esm/Theme/chakra/Drawer.styles.js +8 -10
  354. package/dist/esm/Theme/chakra/Menu.styles.js +11 -5
  355. package/dist/esm/Theme/chakra/Modal.styles.js +8 -10
  356. package/dist/esm/Theme/chakra/Popover.styles.js +11 -6
  357. package/dist/esm/Theme/chakra/Slider.styles.js +7 -9
  358. package/dist/esm/Theme/chakra/Switch.styles.js +7 -9
  359. package/dist/esm/Theme/chakra/Tabs.styles.js +13 -18
  360. package/dist/esm/Theme/chakra/componentStyles.js +53 -44
  361. package/dist/esm/Theme/chakra/createBrandTheme.js +3 -16
  362. package/dist/esm/Theme/chakra/paletteFromTheme.js +9 -0
  363. package/dist/esm/Theme/provider/PixelizeThemeProvider.js +23 -20
  364. package/dist/esm/Theme/provider/ThemeSwitcher.js +13 -20
  365. package/dist/esm/Theme/testing/testPalette.js +19 -0
  366. package/dist/esm/Theme/tokens/brands/emerald/palette.light.js +5 -4
  367. package/dist/esm/Theme/tokens/brands/index.js +28 -23
  368. package/dist/esm/Theme/tokens/brands/lavender/palette.light.js +5 -116
  369. package/dist/esm/Theme/tokens/brands/meadow/palette.light.js +5 -4
  370. package/dist/esm/Theme/tokens/brands/neutrals.js +116 -0
  371. package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +5 -4
  372. package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +5 -4
  373. package/dist/esm/Theme/tokens/brands/skyline/palette.light.js +5 -4
  374. package/dist/esm/Theme/tokens/brands/slate/palette.light.js +7 -10
  375. package/dist/esm/Theme/tokens/brands/storefront/palette.light.js +5 -4
  376. package/dist/esm/Theme/tokens/brands/zinc/palette.dark.js +3 -2
  377. package/dist/esm/Theme/tokens/builders/accentText.js +8 -27
  378. package/dist/esm/Theme/tokens/builders/brandInk.js +103 -0
  379. package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +17 -9
  380. package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
  381. package/dist/esm/Theme/tokens/builders/gradientInk.js +22 -0
  382. package/dist/esm/Theme/tokens/builders/index.js +3 -0
  383. package/dist/esm/Theme/tokens/builders/mutedText.js +5 -0
  384. package/dist/esm/Theme/tokens/builders/outlineRung.js +89 -21
  385. package/dist/esm/Theme/tokens/builders/placeholderInk.js +29 -0
  386. package/dist/esm/Theme/tokens/builders/resolvedRungs.js +25 -0
  387. package/dist/esm/Theme/tokens/builders/scrollbar.js +52 -0
  388. package/dist/esm/Theme/tokens/builders/semanticText.js +17 -0
  389. package/dist/esm/Theme/tokens/builders/sidebarAccent.js +23 -0
  390. package/dist/esm/Theme/tokens/builders/statusTone.js +3 -4
  391. package/dist/esm/Theme/tokens/builders/surfaceRungs.js +48 -0
  392. package/dist/esm/Theme/useCustomTheme.js +4 -1
  393. package/dist/esm/Utils/table.js +28 -36
  394. package/dist/esm/index.js +6 -1
  395. package/dist/index.d.ts +10 -1
  396. package/dist/index.js +24 -3
  397. package/package.json +4 -2
@@ -1,4 +1,6 @@
1
- import { cssVar } from "@chakra-ui/react";
1
+ import { paletteOf, scaleFor } from "./paletteFromTheme.js";
2
+ import { alertAnatomy } from "@chakra-ui/anatomy";
3
+ import { createMultiStyleConfigHelpers, cssVar, } from "@chakra-ui/react";
2
4
  import { Button } from "../../Components/Button/Button.styles.js";
3
5
  import { Checkbox } from "../../Components/Checkbox/Checkbox.styles.js";
4
6
  import { Input } from "../../Components/Input/TextInput.styles.js";
@@ -27,14 +29,12 @@ const isHexColor = (color) => typeof color === "string" && /^#([0-9a-f]{3}|[0-9a
27
29
  const Badge = {
28
30
  variants: {
29
31
  solid: ({ theme, colorScheme = "gray" }) => {
30
- var _a, _b, _c, _d, _e, _f, _g, _h;
31
- const swatch = (_d = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a[colorScheme]) !== null && _b !== void 0 ? _b : (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.gray) !== null && _d !== void 0 ? _d : {};
32
- const bg = swatch === null || swatch === void 0 ? void 0 : swatch[500];
33
- const white = (_f = (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.white) !== null && _f !== void 0 ? _f : "#fff";
34
- const black = (_h = (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.black) !== null && _h !== void 0 ? _h : "#000";
32
+ const palette = paletteOf(theme);
33
+ const swatch = scaleFor(palette, colorScheme);
34
+ const bg = swatch[500];
35
35
  return {
36
36
  bg,
37
- color: isHexColor(bg) ? onFilled(bg, white, black) : swatch === null || swatch === void 0 ? void 0 : swatch[800],
37
+ color: isHexColor(bg) ? onFilled(bg, palette.white, palette.black) : swatch[800],
38
38
  };
39
39
  },
40
40
  // Chakra's stock `subtle` picks its bg/color pair via `mode()`, keyed to Chakra's own
@@ -42,11 +42,11 @@ const Badge = {
42
42
  // it always takes the light-mode branch. Applied to our mode-reversed dark scales, that
43
43
  // branch's fixed rung pair (100/800) measures 4.06 in dark mode, just under AA.
44
44
  subtle: ({ theme, colorScheme = "gray" }) => {
45
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
46
- const swatch = (_d = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a[colorScheme]) !== null && _b !== void 0 ? _b : (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.gray) !== null && _d !== void 0 ? _d : {};
47
- const bg = (_e = swatch === null || swatch === void 0 ? void 0 : swatch[100]) !== null && _e !== void 0 ? _e : swatch === null || swatch === void 0 ? void 0 : swatch[50];
45
+ const palette = paletteOf(theme);
46
+ const swatch = scaleFor(palette, colorScheme);
47
+ const bg = swatch[100];
48
48
  if (!isHexColor(bg))
49
- return { bg, color: swatch === null || swatch === void 0 ? void 0 : swatch[800] };
49
+ return { bg, color: swatch[800] };
50
50
  // accentTextOnCanvas keeps brand hue by trying this scale's own rungs first, but some
51
51
  // narrow-gamut hues (e.g. yellow) don't reach far enough at either end to clear AA against
52
52
  // every bg they can land on in dark mode (measured 4.42 for a reversed-yellow badge) — its
@@ -56,9 +56,7 @@ const Badge = {
56
56
  const accent = accentTextOnCanvas(swatch, bg);
57
57
  if (contrastRatio(accent, bg) >= 4.5)
58
58
  return { bg, color: accent };
59
- const white = (_g = (_f = theme.colors) === null || _f === void 0 ? void 0 : _f.white) !== null && _g !== void 0 ? _g : "#fff";
60
- const black = (_j = (_h = theme.colors) === null || _h === void 0 ? void 0 : _h.black) !== null && _j !== void 0 ? _j : "#000";
61
- return { bg, color: onFilled(bg, white, black) };
59
+ return { bg, color: onFilled(bg, palette.white, palette.black) };
62
60
  },
63
61
  },
64
62
  defaultProps: {
@@ -72,16 +70,35 @@ const Badge = {
72
70
  // unfixed.
73
71
  const FormError = {
74
72
  baseStyle: ({ theme }) => {
75
- var _a, _b, _c, _d;
76
73
  // `icon` (FormErrorIcon) shares the same AA gap as `text` — both must be fixed together or
77
74
  // the icon stays on Chakra's raw `red.500`.
78
- const color = accentTextOnCanvas((_a = theme.colors) === null || _a === void 0 ? void 0 : _a.red, (_d = (_c = (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.backgroundColor) === null || _c === void 0 ? void 0 : _c.main) !== null && _d !== void 0 ? _d : "#ffffff");
75
+ const palette = paletteOf(theme);
76
+ const color = accentTextOnCanvas(palette.red, palette.backgroundColor.main);
79
77
  return {
80
78
  text: { color },
81
79
  icon: { color },
82
80
  };
83
81
  },
84
82
  };
83
+ const $alertFg = cssVar("alert-fg");
84
+ const $alertBg = cssVar("alert-bg");
85
+ const { defineMultiStyleConfig: defineAlertStyles, definePartsStyle: defineAlertParts } = createMultiStyleConfigHelpers(alertAnatomy.keys);
86
+ const Alert = defineAlertStyles({
87
+ variants: {
88
+ solid: defineAlertParts(({ theme, colorScheme = "gray" }) => {
89
+ const palette = paletteOf(theme);
90
+ const bg = scaleFor(palette, colorScheme)[500];
91
+ if (!isHexColor(bg))
92
+ return { container: {} };
93
+ return {
94
+ container: {
95
+ [$alertBg.variable]: bg,
96
+ [$alertFg.variable]: onFilled(bg, palette.white, palette.black),
97
+ },
98
+ };
99
+ }),
100
+ },
101
+ });
85
102
  const $tooltipBg = cssVar("tooltip-bg");
86
103
  const $tooltipFg = cssVar("tooltip-fg");
87
104
  /**
@@ -95,13 +112,10 @@ const $tooltipFg = cssVar("tooltip-fg");
95
112
  * deliberately never remaps, so they stay a stable dark-bg/white-text pair in both modes.
96
113
  */
97
114
  const Tooltip = {
98
- baseStyle: ({ theme }) => {
99
- var _a, _b, _c, _d;
100
- return ({
101
- [$tooltipBg.variable]: (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.black) !== null && _b !== void 0 ? _b : "colors.gray.700",
102
- [$tooltipFg.variable]: (_d = (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.white) !== null && _d !== void 0 ? _d : "colors.whiteAlpha.900",
103
- });
104
- },
115
+ baseStyle: ({ theme }) => ({
116
+ [$tooltipBg.variable]: theme.colors.black,
117
+ [$tooltipFg.variable]: theme.colors.white,
118
+ }),
105
119
  };
106
120
  const $skeletonStart = cssVar("skeleton-start-color");
107
121
  const $skeletonEnd = cssVar("skeleton-end-color");
@@ -115,15 +129,12 @@ const $skeletonEnd = cssVar("skeleton-end-color");
115
129
  * prop still wins via that mechanism, this only supplies the default the base style already owns.
116
130
  */
117
131
  const Skeleton = {
118
- baseStyle: ({ theme }) => {
119
- var _a, _b, _c, _d, _e, _f;
120
- return ({
121
- [$skeletonStart.variable]: (_c = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.gray) === null || _b === void 0 ? void 0 : _b[100]) !== null && _c !== void 0 ? _c : "colors.gray.100",
122
- [$skeletonEnd.variable]: (_f = (_e = (_d = theme.colors) === null || _d === void 0 ? void 0 : _d.gray) === null || _e === void 0 ? void 0 : _e[300]) !== null && _f !== void 0 ? _f : "colors.gray.400",
123
- background: $skeletonStart.reference,
124
- borderColor: $skeletonEnd.reference,
125
- });
126
- },
132
+ baseStyle: ({ theme }) => ({
133
+ [$skeletonStart.variable]: paletteOf(theme).gray[100],
134
+ [$skeletonEnd.variable]: paletteOf(theme).gray[300],
135
+ background: $skeletonStart.reference,
136
+ borderColor: $skeletonEnd.reference,
137
+ }),
127
138
  };
128
139
  // Chakra's `extendTheme` does not REPLACE a component's stock baseStyle when ours is also a
129
140
  // function — it calls BOTH and deep-merges the two returned plain objects, key by key. Chakra's
@@ -139,12 +150,9 @@ const Skeleton = {
139
150
  // behavior directly rather than only the function output).
140
151
  const Radio = {
141
152
  baseStyle: ({ theme, colorScheme }) => {
142
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
143
- const swatch = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a[colorScheme];
144
- const fill = (_b = swatch === null || swatch === void 0 ? void 0 : swatch[500]) !== null && _b !== void 0 ? _b : (_d = (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.primary) === null || _d === void 0 ? void 0 : _d[500];
145
- const white = (_f = (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.white) !== null && _f !== void 0 ? _f : "#ffffff";
146
- const black = (_h = (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.black) !== null && _h !== void 0 ? _h : "#000000";
147
- const dot = onFilled(fill, white, black);
153
+ const palette = paletteOf(theme);
154
+ const fill = scaleFor(palette, colorScheme)[500];
155
+ const dot = onFilled(fill, palette.white, palette.black);
148
156
  // A browser probe found the checked radio's hover repeating its own resting `fill` —
149
157
  // Chakra's stock checked._hover (inherited from checkbox) lands on the SAME `bg`/`borderColor`
150
158
  // keys we do, so extendTheme's merge is a scalar overwrite here, not a coexisting selector;
@@ -153,7 +161,7 @@ const Radio = {
153
161
  const hoverFill = resolveHoverTint(fill, fill);
154
162
  return {
155
163
  control: {
156
- borderColor: (_k = (_j = theme.colors) === null || _j === void 0 ? void 0 : _j.boxborder) === null || _k === void 0 ? void 0 : _k[500],
164
+ borderColor: palette.boxborder[500],
157
165
  _checked: {
158
166
  bg: `${fill} !important`,
159
167
  borderColor: `${fill} !important`,
@@ -187,16 +195,17 @@ const $closeButtonBg = cssVar("close-button-bg");
187
195
  */
188
196
  const CloseButton = {
189
197
  baseStyle: ({ theme }) => {
190
- var _a, _b, _c, _d, _e;
191
- const dark = isDarkCanvas((_c = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.backgroundColor) === null || _b === void 0 ? void 0 : _b.main) !== null && _c !== void 0 ? _c : "#ffffff");
192
- const alpha = dark ? (_d = theme.colors) === null || _d === void 0 ? void 0 : _d.whiteAlpha : (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.blackAlpha;
198
+ const palette = paletteOf(theme);
199
+ const dark = isDarkCanvas(palette.backgroundColor.main);
200
+ const alpha = scaleFor(palette, dark ? "whiteAlpha" : "blackAlpha");
193
201
  return {
194
- _hover: { [$closeButtonBg.variable]: alpha === null || alpha === void 0 ? void 0 : alpha[200] },
195
- _active: { [$closeButtonBg.variable]: alpha === null || alpha === void 0 ? void 0 : alpha[300] },
202
+ _hover: { [$closeButtonBg.variable]: alpha[200] },
203
+ _active: { [$closeButtonBg.variable]: alpha[300] },
196
204
  };
197
205
  },
198
206
  };
199
207
  export const componentStyles = {
208
+ Alert,
200
209
  Checkbox,
201
210
  Radio,
202
211
  Input,
@@ -3,6 +3,7 @@ import common from "./common.web.js";
3
3
  import fonts from "./fonts.web.js";
4
4
  import { componentStyles } from "./componentStyles.js";
5
5
  import { onFilled } from "../tokens/builders/accentText.js";
6
+ import { globalScrollbarStyles } from "../tokens/builders/scrollbar.js";
6
7
  /**
7
8
  * Builds a Chakra theme from a pure brand palette.
8
9
  *
@@ -83,22 +84,8 @@ export const createBrandTheme = (palette, options = {}) => {
83
84
  color: onFilled(palette.primary[500], palette.white, palette.black),
84
85
  },
85
86
  // `color-scheme: dark` gives WebKit/Blink a dark scrollbar by default, but it's the
86
- // OS's generic dark gray, not brand-aware — style it explicitly so it matches the
87
- // canvas instead of floating as a mismatched gray bar.
88
- "::-webkit-scrollbar": {
89
- width: "10px",
90
- height: "10px",
91
- },
92
- "::-webkit-scrollbar-track": {
93
- background: palette.backgroundColor.main,
94
- },
95
- "::-webkit-scrollbar-thumb": {
96
- background: palette.gray[600],
97
- borderRadius: "6px",
98
- },
99
- "::-webkit-scrollbar-thumb:hover": {
100
- background: palette.gray[500],
101
- },
87
+ // OS's generic dark gray, not brand-aware.
88
+ ...globalScrollbarStyles(palette),
102
89
  // Chrome/Edge autofill paints its own opaque yellow/white fill behind the input
103
90
  // text via `-webkit-box-shadow` (not `background`), so a plain `bg` override never
104
91
  // reaches it — a bright light box survives on every dark autofilled field unless
@@ -0,0 +1,9 @@
1
+ import { assertPixelizePalette } from "../assertPalette.js";
2
+ /** Chakra hands style functions an untyped theme; this is the boundary that makes it typed. */
3
+ export const paletteOf = (theme) => assertPixelizePalette(theme);
4
+ const asScale = (value) => typeof value === "object" && value !== null ? value : undefined;
5
+ /**
6
+ * `colorScheme` is a consumer-supplied Chakra scale name, so this lookup is genuinely dynamic —
7
+ * it can name a built-in we never themed. An unknown name resolves to the neutral ramp.
8
+ */
9
+ export const scaleFor = (palette, colorScheme) => { var _a; return (_a = asScale(palette[colorScheme])) !== null && _a !== void 0 ? _a : palette.gray; };
@@ -109,6 +109,11 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
109
109
  useLayoutEffect(() => {
110
110
  document.documentElement.style.colorScheme = resolvedMode;
111
111
  }, [resolvedMode]);
112
+ // Chakra's ColorModeProvider re-writes color-scheme in a passive effect, after the layout
113
+ // effect above, and forcedLightColorModeManager pins it to "light". Re-assert after it.
114
+ useEffect(() => {
115
+ document.documentElement.style.colorScheme = resolvedMode;
116
+ }, [resolvedMode]);
112
117
  // Held in refs so a caller's inline arrow never re-creates `setMode`/`setBrand`, which would
113
118
  // invalidate the context value on every render of the consuming app. Written in a layout
114
119
  // effect, not during render — a render-phase write is unsafe under StrictMode's double
@@ -154,42 +159,40 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
154
159
  * `data-mode` for consumers that want to hook their own dark CSS.
155
160
  */
156
161
  useLayoutEffect(() => {
157
- var _a, _b, _c, _d, _e, _f, _g;
158
162
  const root = document.documentElement;
159
163
  root.dataset.mode = resolvedMode;
160
- const colors = resolvedTheme.colors;
161
- const sem = (_a = colors.semantic) !== null && _a !== void 0 ? _a : {};
162
- const gray = colors.gray;
164
+ const { colors } = resolvedTheme;
165
+ const { gray, semantic } = colors;
163
166
  const HUE_SCALES = [
164
167
  "primary", "gray", "red", "orange", "yellow",
165
168
  "green", "teal", "blue", "cyan", "purple", "pink",
166
169
  ];
167
- const SEMANTIC_SCALES = ["success", "error", "warning", "info"]; // nested under colors.semantic
170
+ const SEMANTIC_SCALES = ["success", "error", "warning", "info"];
168
171
  const RUNGS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
169
- // Single-value semantic vars → palette scale+rung. The dark gray ramp runs dark(50) → light(900),
170
- // so low rungs read as surfaces and high rungs as text — correct in dark, cleared in light.
172
+ // The dark gray ramp runs dark(50) → light(900), so low rungs read as surfaces
173
+ // and high rungs as text — correct in dark, cleared in light.
171
174
  const SEMANTIC_VARS = {
172
- "text-heading": gray === null || gray === void 0 ? void 0 : gray[900], "text-body": gray === null || gray === void 0 ? void 0 : gray[700],
173
- "text-subtle": gray === null || gray === void 0 ? void 0 : gray[500], "text-input": gray === null || gray === void 0 ? void 0 : gray[500],
174
- "bg-main": gray === null || gray === void 0 ? void 0 : gray[50], "bg-secondary": gray === null || gray === void 0 ? void 0 : gray[100], "bg-tertiary": gray === null || gray === void 0 ? void 0 : gray[100],
175
- "bg-quaternary": gray === null || gray === void 0 ? void 0 : gray[200], "bg-light": gray === null || gray === void 0 ? void 0 : gray[50], "bg-medium": gray === null || gray === void 0 ? void 0 : gray[100],
176
- "bg-accent": gray === null || gray === void 0 ? void 0 : gray[200], "bg-subtle": gray === null || gray === void 0 ? void 0 : gray[100], "bg-muted": gray === null || gray === void 0 ? void 0 : gray[200],
177
- "bg-neutral": gray === null || gray === void 0 ? void 0 : gray[100], "bg-base": gray === null || gray === void 0 ? void 0 : gray[50], "bg-table-header": gray === null || gray === void 0 ? void 0 : gray[100],
178
- "border-default": gray === null || gray === void 0 ? void 0 : gray[200], "border-light": gray === null || gray === void 0 ? void 0 : gray[100],
179
- "border-dark": gray === null || gray === void 0 ? void 0 : gray[300], "border-input": gray === null || gray === void 0 ? void 0 : gray[300],
180
- "border-error": (_b = sem.error) === null || _b === void 0 ? void 0 : _b[500], "border-success": (_c = sem.success) === null || _c === void 0 ? void 0 : _c[500],
181
- "border-warning": (_d = sem.warning) === null || _d === void 0 ? void 0 : _d[500], "border-info": (_e = sem.info) === null || _e === void 0 ? void 0 : _e[500],
175
+ "text-heading": gray[900], "text-body": gray[700],
176
+ "text-subtle": gray[500], "text-input": gray[500],
177
+ "bg-main": gray[50], "bg-secondary": gray[100], "bg-tertiary": gray[100],
178
+ "bg-quaternary": gray[200], "bg-light": gray[50], "bg-medium": gray[100],
179
+ "bg-accent": gray[200], "bg-subtle": gray[100], "bg-muted": gray[200],
180
+ "bg-neutral": gray[100], "bg-base": gray[50], "bg-table-header": gray[100],
181
+ "border-default": gray[200], "border-light": gray[100],
182
+ "border-dark": gray[300], "border-input": gray[300],
183
+ "border-error": semantic.error[500], "border-success": semantic.success[500],
184
+ "border-warning": semantic.warning[500], "border-info": semantic.info[500],
182
185
  };
183
- const set = (name, val) => val && root.style.setProperty(`--color-${name}`, val);
186
+ const set = (name, val) => root.style.setProperty(`--color-${name}`, val);
184
187
  const clear = (name) => root.style.removeProperty(`--color-${name}`);
185
188
  const allRampNames = [...HUE_SCALES, ...SEMANTIC_SCALES].flatMap((s) => RUNGS.map((r) => `${s}-${r}`));
186
189
  if (resolvedMode === "dark") {
187
190
  for (const s of HUE_SCALES)
188
191
  for (const r of RUNGS)
189
- set(`${s}-${r}`, (_f = colors[s]) === null || _f === void 0 ? void 0 : _f[r]);
192
+ set(`${s}-${r}`, colors[s][r]);
190
193
  for (const s of SEMANTIC_SCALES)
191
194
  for (const r of RUNGS)
192
- set(`${s}-${r}`, (_g = sem[s]) === null || _g === void 0 ? void 0 : _g[r]);
195
+ set(`${s}-${r}`, semantic[s][r]);
193
196
  for (const [name, val] of Object.entries(SEMANTIC_VARS))
194
197
  set(name, val);
195
198
  }
@@ -22,33 +22,26 @@ const toBrandLabel = (brand) => brand.charAt(0).toUpperCase() + brand.slice(1);
22
22
  * the dot always matches what selecting that brand actually looks like,
23
23
  * regardless of which brand/mode is currently active.
24
24
  */
25
- const brandSwatchColor = (brand) => {
26
- var _a, _b, _c, _d, _e;
27
- return (_e = (_d = (_c = (_b = (_a = brandThemes[brand]) === null || _a === void 0 ? void 0 : _a.light) === null || _b === void 0 ? void 0 : _b.colors) === null || _c === void 0 ? void 0 : _c.primary) === null || _d === void 0 ? void 0 : _d[500]) !== null && _e !== void 0 ? _e : "gray.400";
25
+ const brandSwatchColor = (brand) => brandThemes[brand].light.colors.primary[500];
26
+ const BrandSwatch = ({ brand }) => {
27
+ const { colors } = useCustomTheme();
28
+ return (_jsx(Box, { as: "span", display: "inline-block", w: "0.625rem", h: "0.625rem", borderRadius: "full", bg: brandSwatchColor(brand), border: "1px solid", borderColor: colors.boxborder[200], flexShrink: 0 }));
28
29
  };
29
- const BrandSwatch = ({ brand }) => (_jsx(Box, { as: "span", display: "inline-block", w: "0.625rem", h: "0.625rem", borderRadius: "full", bg: brandSwatchColor(brand), border: "1px solid", borderColor: "whiteAlpha.300", flexShrink: 0 }));
30
30
  /**
31
31
  * Palette values already differ per color mode (`brandThemes[brand].light|dark`), so tokens
32
32
  * are read straight from the active theme — no `useColorModeValue` pairing needed here.
33
- * Fallbacks are Chakra token names, never literal colors, for themes without a brand palette.
34
33
  */
35
34
  const useSwitcherColors = () => {
36
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
37
- const colors = useCustomTheme().colors;
35
+ const { colors } = useCustomTheme();
38
36
  return {
39
- trackBg: (_d = (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.backgroundColor) === null || _a === void 0 ? void 0 : _a.secondary) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[100]) !== null && _d !== void 0 ? _d : "gray.100",
40
- activeBg: (_g = (_f = (_e = colors === null || colors === void 0 ? void 0 : colors.backgroundColor) === null || _e === void 0 ? void 0 : _e.main) !== null && _f !== void 0 ? _f : colors === null || colors === void 0 ? void 0 : colors.white) !== null && _g !== void 0 ? _g : "white",
41
- activeColor: (_l = (_j = (_h = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _h === void 0 ? void 0 : _h[500]) !== null && _j !== void 0 ? _j : (_k = colors === null || colors === void 0 ? void 0 : colors.text) === null || _k === void 0 ? void 0 : _k[900]) !== null && _l !== void 0 ? _l : "inherit",
42
- mutedColor: (_q = (_o = (_m = colors === null || colors === void 0 ? void 0 : colors.text) === null || _m === void 0 ? void 0 : _m[600]) !== null && _o !== void 0 ? _o : (_p = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _p === void 0 ? void 0 : _p[600]) !== null && _q !== void 0 ? _q : "gray.600",
43
- hoverBg: (_s = (_r = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _r === void 0 ? void 0 : _r[100]) !== null && _s !== void 0 ? _s : "gray.100",
44
- borderColor: (_w = (_u = (_t = colors === null || colors === void 0 ? void 0 : colors.border) === null || _t === void 0 ? void 0 : _t[200]) !== null && _u !== void 0 ? _u : (_v = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _v === void 0 ? void 0 : _v[200]) !== null && _w !== void 0 ? _w : "gray.200",
45
- // `--menu-bg` (and its hover/focus/active states) is now fixed centrally in the theme's
46
- // Menu component style (Theme/chakra/Menu.styles.ts) — every MenuList gets it from there.
47
- // Re-deriving it here too and pushing it back via `sx` on every render caused a redundant
48
- // Emotion style recompute per render, which showed up as flicker while hovering/scrolling
49
- // this list. Keep menuColor (Menu.styles.ts doesn't set list `color` per this component's
50
- // needs) but stop duplicating menuBg.
51
- menuColor: (_0 = (_y = (_x = colors === null || colors === void 0 ? void 0 : colors.text) === null || _x === void 0 ? void 0 : _x[900]) !== null && _y !== void 0 ? _y : (_z = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _z === void 0 ? void 0 : _z[900]) !== null && _0 !== void 0 ? _0 : "gray.900",
37
+ trackBg: colors.backgroundColor.secondary,
38
+ activeBg: colors.backgroundColor.main,
39
+ activeColor: colors.primary[500],
40
+ mutedColor: colors.text[600],
41
+ hoverBg: colors.gray[100],
42
+ borderColor: colors.boxborder[200],
43
+ // NOTE: menuBg lives in Menu.styles.ts — re-pushing it via `sx` flickers on every render.
44
+ menuColor: colors.text[900],
52
45
  };
53
46
  };
54
47
  const BrandMenu = ({ size }) => {
@@ -0,0 +1,19 @@
1
+ import { lightPalettes, darkPalettes } from "../tokens/brands/index.js";
2
+ const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
3
+ const deepMerge = (base, patch) => {
4
+ if (!isPlainObject(base) || !isPlainObject(patch))
5
+ return patch;
6
+ const out = { ...base };
7
+ for (const [key, value] of Object.entries(patch))
8
+ out[key] = deepMerge(base[key], value);
9
+ return out;
10
+ };
11
+ /** A complete palette for tests. Overrides layer onto a real brand, never replace a group. */
12
+ export const testPalette = (options = {}) => {
13
+ const { brand = "lavender", mode = "light", overrides = {} } = options;
14
+ const base = mode === "dark" ? darkPalettes[brand] : lightPalettes[brand];
15
+ return deepMerge(base, overrides);
16
+ };
17
+ export const testTheme = (options = {}) => ({
18
+ colors: testPalette(options),
19
+ });
@@ -1,5 +1,6 @@
1
- import lavenderPalette from "../lavender/palette.light.js";
1
+ import { neutralTokens, sharedBoxShadow } from "../neutrals.js";
2
2
  import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
3
+ import { buildBrandInk } from "../../builders/brandInk.js";
3
4
  const PRIMARY_500 = "#0f9d8a"; // teal-emerald core (balanced, not too green/blue)
4
5
  const primary = {
5
6
  50: "#e6f7f5",
@@ -15,7 +16,8 @@ const primary = {
15
16
  opacity: buildPrimaryOpacity(PRIMARY_500),
16
17
  };
17
18
  const palette = {
18
- ...lavenderPalette,
19
+ ...neutralTokens,
20
+ ...buildBrandInk(PRIMARY_500),
19
21
  // Stops retuned so white gradient-button text (onGradient, accentText.ts) clears AA at both
20
22
  // ends — the original pair let white drop to 3.38/2.43 against from/to. Same hue, darker.
21
23
  // Both nudged one step further (4.537/4.515 -> 4.618/4.616): the first pass cleared AA by
@@ -123,8 +125,7 @@ const palette = {
123
125
  },
124
126
  boxShadow: {
125
127
  primary: buildPrimaryShadowTint(PRIMARY_500),
126
- error: lavenderPalette.boxShadow.error,
127
- default: lavenderPalette.boxShadow.default,
128
+ ...sharedBoxShadow,
128
129
  },
129
130
  };
130
131
  export default palette;
@@ -16,23 +16,27 @@ import emeraldDark from "./emerald/palette.dark.js";
16
16
  import rosewoodDark from "./rosewood/palette.dark.js";
17
17
  import storefrontDark from "./storefront/palette.dark.js";
18
18
  import zincDark from "./zinc/palette.dark.js";
19
- import { pickAccentText } from "../builders/accentText.js";
19
+ import { pickAccentText, onFilled } from "../builders/accentText.js";
20
20
  import { withOutlineRung } from "../builders/outlineRung.js";
21
- /**
22
- * Derived here rather than hand-written into each brand's literal: it must track that brand's
23
- * own primary scale and canvas, and a stale hand-copied hex would silently fail AA.
24
- * Dark palettes get theirs inside `buildDarkPalette`.
25
- */
26
- const withAccentText = (palette) => {
27
- var _a;
28
- return ({
29
- ...palette,
30
- accentText: (_a = palette.accentText) !== null && _a !== void 0 ? _a : pickAccentText(palette.primary, palette.backgroundColor.main, "light"),
31
- });
32
- };
21
+ import { withSidebarTokens } from "../builders/sidebarAccent.js";
22
+ import { buildMutedText } from "../builders/mutedText.js";
23
+ import { buildSemanticText, buildOnSemantic } from "../builders/semanticText.js";
24
+ import { withPlaceholderRung, withTableHoverRung } from "../builders/resolvedRungs.js";
25
+ import { withSurfaceRungs } from "../builders/surfaceRungs.js";
26
+ /** Derived, never hand-written: a copied hex goes stale the moment a canvas moves. */
27
+ export const finalizeLightPalette = (source) => ({
28
+ ...source,
29
+ sidebar: withSidebarTokens(source),
30
+ accentText: pickAccentText(source.primary, source.backgroundColor.main),
31
+ textMuted: buildMutedText(source.text, source.backgroundColor.main),
32
+ semanticText: buildSemanticText(source.semantic, source.backgroundColor.main),
33
+ onPrimary: onFilled(source.primary[500], source.white, source.black),
34
+ onSemantic: buildOnSemantic(source.semantic, source.white, source.black),
35
+ });
33
36
  export { lavender, meadow, radiant, skyline, slate, emerald, rosewood, storefront, zinc };
34
37
  export { lavenderDark, meadowDark, radiantDark, skylineDark, slateDark, emeraldDark, rosewoodDark, storefrontDark, zincDark, };
35
- const lightBrand = (palette) => withOutlineRung(withAccentText(palette), "light");
38
+ const resolveRungs = (palette) => withSurfaceRungs(withTableHoverRung(withPlaceholderRung(withOutlineRung(palette))));
39
+ const lightBrand = (source) => resolveRungs(finalizeLightPalette(source));
36
40
  /** Light palette per brand. `lavender` is the base the other six extend. */
37
41
  export const lightPalettes = {
38
42
  lavender: lightBrand(lavender),
@@ -46,16 +50,17 @@ export const lightPalettes = {
46
50
  zinc: lightBrand(zinc),
47
51
  };
48
52
  /** Dark palette per brand, derived from the matching light palette. */
53
+ const darkBrand = (dark) => resolveRungs(dark);
49
54
  export const darkPalettes = {
50
- lavender: withOutlineRung(lavenderDark, "dark"),
51
- meadow: withOutlineRung(meadowDark, "dark"),
52
- radiant: withOutlineRung(radiantDark, "dark"),
53
- skyline: withOutlineRung(skylineDark, "dark"),
54
- slate: withOutlineRung(slateDark, "dark"),
55
- emerald: withOutlineRung(emeraldDark, "dark"),
56
- rosewood: withOutlineRung(rosewoodDark, "dark"),
57
- storefront: withOutlineRung(storefrontDark, "dark"),
58
- zinc: withOutlineRung(zincDark, "dark"),
55
+ lavender: darkBrand(lavenderDark),
56
+ meadow: darkBrand(meadowDark),
57
+ radiant: darkBrand(radiantDark),
58
+ skyline: darkBrand(skylineDark),
59
+ slate: darkBrand(slateDark),
60
+ emerald: darkBrand(emeraldDark),
61
+ rosewood: darkBrand(rosewoodDark),
62
+ storefront: darkBrand(storefrontDark),
63
+ zinc: darkBrand(zincDark),
59
64
  };
60
65
  // Built from lightPalettes/darkPalettes (not the raw literals) so accentText can never be
61
66
  // present on one map and missing on the other.
@@ -1,4 +1,5 @@
1
1
  import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
2
+ import { neutralTokens, sharedBoxShadow } from "../neutrals.js";
2
3
  const PRIMARY_500 = "#8B3FC8";
3
4
  const SECONDARY_ANCHOR = "#1e0f30";
4
5
  const primary = {
@@ -28,56 +29,6 @@ const secondary = {
28
29
  opacity: buildPrimaryOpacity(SECONDARY_ANCHOR),
29
30
  };
30
31
  const tertiary = { ...secondary };
31
- const semantic = {
32
- success: {
33
- 50: "#e9f8ef",
34
- 100: "#bbe9cc",
35
- 200: "#9adeb4",
36
- 300: "#6ccf92",
37
- 400: "#4fc67d",
38
- 500: "#23b85c",
39
- 600: "#20a754",
40
- 700: "#198341",
41
- 800: "#136533",
42
- 900: "#0f4d27",
43
- },
44
- error: {
45
- 50: "#feedeb",
46
- 100: "#fbc6c2",
47
- 200: "#f9aaa4",
48
- 300: "#f6837b",
49
- 400: "#f56b61",
50
- 500: "#f2463a",
51
- 600: "#dc4035",
52
- 700: "#ac3229",
53
- 800: "#852720",
54
- 900: "#661d18",
55
- },
56
- warning: {
57
- 50: "#fff4ef",
58
- 100: "#ffddce",
59
- 200: "#ffccb7",
60
- 300: "#ffb596",
61
- 400: "#ffa781",
62
- 500: "#ff9162",
63
- 600: "#e88459",
64
- 700: "#b56746",
65
- 800: "#8c5036",
66
- 900: "#6b3d29",
67
- },
68
- info: {
69
- 50: "#eff9fc",
70
- 100: "#cdedf5",
71
- 200: "#b5e4f0",
72
- 300: "#94d7e9",
73
- 400: "#7fd0e5",
74
- 500: "#5fc4de",
75
- 600: "#56b2ea",
76
- 700: "#438b9e",
77
- 800: "#346c78",
78
- 900: "#28525d",
79
- },
80
- };
81
32
  const gray = {
82
33
  50: "#f9f7fb",
83
34
  100: "#f0eaf6",
@@ -98,51 +49,6 @@ const gray = {
98
49
  };
99
50
  // These global color scales stay unchanged — they are
100
51
  // utility palettes, not theme-specific
101
- const red = {
102
- 50: "#feedeb", 100: "#fbc6c2", 200: "#f9aaa4", 300: "#f6837b",
103
- 400: "#f56b61", 500: "#f2463a", 600: "#dc4035", 700: "#ac3229",
104
- 800: "#852720", 900: "#661d18",
105
- };
106
- const orange = {
107
- 50: "#fff4ef", 100: "#ffddce", 200: "#ffccb7", 300: "#ffb596",
108
- 400: "#ffa781", 500: "#ff9162", 600: "#e88459", 700: "#b56746",
109
- 800: "#8c5036", 900: "#6b3d29",
110
- };
111
- const yellow = {
112
- 50: "#fefbec", 100: "#fdf1c5", 200: "#fbeba9", 300: "#fae281",
113
- 400: "#f9dc69", 500: "#f7d343", 600: "#e1c03d", 700: "#af9630",
114
- 800: "#887425", 900: "#68591c",
115
- };
116
- const green = {
117
- 50: "#e9f8ef", 100: "#bbe9cc", 200: "#9adeb4", 300: "#6ccf92",
118
- 400: "#4fc67d", 500: "#23b85c", 600: "#20a754", 700: "#198341",
119
- 800: "#136533", 900: "#0f4d27",
120
- };
121
- const teal = {
122
- 50: "#eff9fc", 100: "#cdedf5", 200: "#b5e4f0", 300: "#94d7e9",
123
- 400: "#7fd0e5", 500: "#5fc4de", 600: "#56b2ea", 700: "#438b9e",
124
- 800: "#346c78", 900: "#28525d",
125
- };
126
- const blue = {
127
- 50: "#ebf8ff", 100: "#bee3f8", 200: "#90cdf4", 300: "#63b3ed",
128
- 400: "#4299e1", 500: "#3182ce", 600: "#2b6cb0", 700: "#2c5282",
129
- 800: "#2a4365", 900: "#1a365d",
130
- };
131
- const cyan = {
132
- 50: "#edfdfd", 100: "#c4f1f9", 200: "#9decf9", 300: "#76e4f7",
133
- 400: "#0bc5ea", 500: "#00b5d8", 600: "#00a3c4", 700: "#0987a0",
134
- 800: "#086f83", 900: "#065666",
135
- };
136
- const purple = {
137
- 50: "#faf5ff", 100: "#e9d8fd", 200: "#d6bcfa", 300: "#b794f4",
138
- 400: "#9f7aea", 500: "#805ad5", 600: "#6b46c1", 700: "#553c9a",
139
- 800: "#44337a", 900: "#322659",
140
- };
141
- const pink = {
142
- 50: "#fff5f7", 100: "#fed7e2", 200: "#fbb6ce", 300: "#f687b3",
143
- 400: "#ed64a6", 500: "#d53f8c", 600: "#b83280", 700: "#97266d",
144
- 800: "#702459", 900: "#521b41",
145
- };
146
52
  const backgroundColor = {
147
53
  main: "#f9f7fc",
148
54
  secondary: "#f2edf8",
@@ -208,8 +114,7 @@ const placeholder = {
208
114
  };
209
115
  const boxShadow = {
210
116
  primary: buildPrimaryShadowTint(PRIMARY_500),
211
- error: "#F2463A47",
212
- default: "#00000033",
117
+ ...sharedBoxShadow,
213
118
  };
214
119
  const sidebar = {
215
120
  background: {
@@ -281,31 +186,15 @@ const disabled = {
281
186
  800: "#625d75",
282
187
  900: "#4b4759",
283
188
  };
284
- // Two-tone brand gradient (violet → pink). Each theme overrides with its own pair.
285
- // `to` stop retuned so white gradient-button text (onGradient, accentText.ts) clears AA — the
286
- // original let white drop to 3.53 there (`from` already passed at 5.76, unchanged).
287
- // Nudged one step further (4.511 -> 4.609): the first pass cleared AA by <0.02, too thin a
288
- // margin to trust against rounding/rendering variance.
289
- const gradient = { from: "#8B3FC8", to: "#df187a" };
189
+ // Single-hue gradient: white clears AA by margin, not by hundredths. See gradientTone.test.ts.
190
+ const gradient = { from: "#8b3fc8", to: "#762d9d" };
290
191
  const palette = {
291
192
  gradient,
292
193
  primary,
293
194
  secondary,
294
195
  tertiary,
295
- transparent: "transparent",
296
- black: "#000",
297
- white: "#fff",
298
- semantic,
196
+ ...neutralTokens,
299
197
  gray,
300
- red,
301
- orange,
302
- yellow,
303
- green,
304
- teal,
305
- blue,
306
- cyan,
307
- purple,
308
- pink,
309
198
  backgroundColor,
310
199
  background,
311
200
  text,