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,5 +1,4 @@
1
- import { contrastRatio, hexToHsl, withLightness } from "./color.js";
2
- import { isDarkCanvas } from "./accentText.js";
1
+ import { contrastRatio, hexToHsl, relativeLuminance, withLightness } from "./color.js";
3
2
  /**
4
3
  * The floor a hover/active state's step off its own resting surface must clear to be seen at
5
4
  * all — same value the SideBar ladder, Accordion, and NavigationBar hover states are held to.
@@ -9,34 +8,80 @@ export const MIN_PERCEPTIBLE_STEP = 1.15;
9
8
  /** WCAG 1.4.11 — a control outline is a UI component boundary, held to 3:1. */
10
9
  export const AA_NON_TEXT = 3;
11
10
  /**
12
- * Walks a hex toward `target` contrast against `backdrop`, keeping its hue and saturation so the
13
- * result still reads as the same colour. Darkens when `mode` is light, lightens when dark, and
14
- * stops at the FIRST passing step so nothing overshoots to black or white.
11
+ * Resting chrome — card, popover and field outlines — settles here, not at `AA_NON_TEXT`.
12
+ * At 3:1 a container border is text-weight and the UI reads as a wireframe; every mainstream
13
+ * system draws this line far lighter (Tailwind gray-200 1.24, Chakra gray.200 1.30, Material
14
+ * outline-variant 1.61). 1.4.11 asks that a control be identifiable, not that its resting
15
+ * border carry the whole job: the fill, the label and the focus ring do that, and the focus
16
+ * ring is still held to `AA_NON_TEXT`.
15
17
  */
16
- export function liftToContrast(hex, backdrop, mode, target = AA_NON_TEXT) {
18
+ export const CHROME_BORDER = 1.5;
19
+ // The resting rule between two surfaces — a card edge, a divider, a menu outline. Lighter than
20
+ // CHROME_BORDER, which outlines a control the user acts on.
21
+ export const CHROME_RULE = 1.31;
22
+ /**
23
+ * A rule is decorative, so it has a ceiling and no floor: soften it until the surface it reads
24
+ * hardest against sits at `target`, and leave a already-fainter rung alone. Never `settleAcross`
25
+ * here — that clears a floor on EVERY surface, so one tinted surface drags the rule darker.
26
+ */
27
+ export function ruleInk(hex, surfaces, target) {
28
+ const loudest = surfaces.reduce((worst, s) => contrastRatio(hex, s) > contrastRatio(hex, worst) ? s : worst);
29
+ return contrastRatio(hex, loudest) > target
30
+ ? softenToContrast(hex, loudest, target)
31
+ : hex;
32
+ }
33
+ /**
34
+ * Walks a hex toward `target` contrast against `backdrop`, keeping hue and saturation.
35
+ * Direction is DERIVED from the backdrop, never passed: a mode argument here was redundant
36
+ * with the backdrop in every call site, and a redundant argument is one that can be wrong.
37
+ * Tries the far side first, falls back to the near side, and stops at the first passing step.
38
+ */
39
+ export function liftToContrast(hex, backdrop, target = AA_NON_TEXT) {
17
40
  if (contrastRatio(hex, backdrop) >= target)
18
41
  return hex;
19
- const { s } = hexToHsl(hex);
20
- const step = mode === "dark" ? 1 : -1;
21
- let { l } = hexToHsl(hex);
22
- while (l > 0 && l < 100) {
23
- l += step;
42
+ const { s, l: start } = hexToHsl(hex);
43
+ const away = relativeLuminance(backdrop) < 0.5 ? 1 : -1;
44
+ for (const step of [away, -away]) {
45
+ let l = start;
46
+ while (l > 0 && l < 100) {
47
+ l += step;
48
+ const next = withLightness(hex, l, s);
49
+ if (contrastRatio(next, backdrop) >= target)
50
+ return next;
51
+ }
52
+ }
53
+ const ends = [withLightness(hex, 100, s), withLightness(hex, 0, s)];
54
+ return contrastRatio(ends[0], backdrop) >= contrastRatio(ends[1], backdrop) ? ends[0] : ends[1];
55
+ }
56
+ /**
57
+ * Mirror of `liftToContrast`: walks ink TOWARD the backdrop, stopping at the last step that
58
+ * still clears `target`. For ink that must stay legible without reading as body copy.
59
+ */
60
+ export function softenToContrast(hex, backdrop, target) {
61
+ if (contrastRatio(hex, backdrop) <= target)
62
+ return hex;
63
+ const { s, l: start } = hexToHsl(hex);
64
+ const toward = relativeLuminance(backdrop) < 0.5 ? -1 : 1;
65
+ let softest = hex;
66
+ for (let l = start; l > 0 && l < 100; l += toward) {
24
67
  const next = withLightness(hex, l, s);
25
- if (contrastRatio(next, backdrop) >= target)
26
- return next;
68
+ if (contrastRatio(next, backdrop) < target)
69
+ break;
70
+ softest = next;
27
71
  }
28
- return withLightness(hex, mode === "dark" ? 100 : 0, s);
72
+ return softest;
29
73
  }
30
74
  /**
31
75
  * `boxborder[500]` is the rung every control outline reads (Checkbox, SearchSelect, the date
32
- * pickers, the editor's inputs). It was authored as a decorative value — measured 1.30-2.56:1
33
- * across brands, so those controls rendered effectively borderless in BOTH modes. Resolved here
34
- * rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
76
+ * pickers, the editor's inputs). Settled onto `CHROME_BORDER` — lifted when a brand authored it
77
+ * invisibly pale, softened when it overshoots. It was previously lifted to `AA_NON_TEXT`, which
78
+ * shipped 3.85-4.95:1 outlines: a text-weight box around every card and popover.
79
+ * Resolved here rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
35
80
  *
36
81
  * `border[*]` is deliberately untouched — that ramp draws table gridlines, which are decorative
37
82
  * and outside 1.4.11.
38
83
  */
39
- export function withOutlineRung(palette, mode) {
84
+ export function withOutlineRung(palette) {
40
85
  const current = palette.boxborder[500];
41
86
  // The border sits between the control's fill and the surface behind it; hold it to the
42
87
  // harder of the two.
@@ -44,7 +89,9 @@ export function withOutlineRung(palette, mode) {
44
89
  contrastRatio(current, palette.background[50])
45
90
  ? palette.backgroundColor.main
46
91
  : palette.background[50];
47
- const resolved = liftToContrast(current, backdrop, mode);
92
+ const resolved = contrastRatio(current, backdrop) > CHROME_BORDER
93
+ ? softenToContrast(current, backdrop, CHROME_BORDER)
94
+ : liftToContrast(current, backdrop, CHROME_BORDER);
48
95
  if (resolved === current)
49
96
  return palette;
50
97
  return { ...palette, boxborder: { ...palette.boxborder, 500: resolved } };
@@ -58,6 +105,27 @@ export function withOutlineRung(palette, mode) {
58
105
  * its OWN list background, not necessarily the page canvas.
59
106
  */
60
107
  export function resolveHoverTint(seed, restSurface) {
61
- const mode = isDarkCanvas(restSurface) ? "dark" : "light";
62
- return liftToContrast(seed, restSurface, mode, MIN_PERCEPTIBLE_STEP);
108
+ return liftToContrast(seed, restSurface, MIN_PERCEPTIBLE_STEP);
109
+ }
110
+ /**
111
+ * Settles ink into `target` against EVERY surface at once. Softening one step can change which
112
+ * surface is hardest, so resolving against a single pre-computed "hardest" one lands under the
113
+ * floor on another — that is how radiant and rosewood ended up with an invisible outline on
114
+ * their muted surface.
115
+ */
116
+ export function settleAcross(hex, surfaces, target) {
117
+ const clearsAll = (c) => surfaces.every((s) => contrastRatio(c, s) >= target);
118
+ if (!clearsAll(hex)) {
119
+ return surfaces.reduce((ink, s) => liftToContrast(ink, s, target), hex);
120
+ }
121
+ const { s: sat, l: start } = hexToHsl(hex);
122
+ const toward = relativeLuminance(surfaces[0]) < 0.5 ? -1 : 1;
123
+ let settled = hex;
124
+ for (let l = start; l > 0 && l < 100; l += toward) {
125
+ const next = withLightness(hex, l, sat);
126
+ if (!clearsAll(next))
127
+ break;
128
+ settled = next;
129
+ }
130
+ return settled;
63
131
  }
@@ -0,0 +1,29 @@
1
+ import { contrastRatio } from "./color.js";
2
+ import { liftToContrast, softenToContrast } from "./outlineRung.js";
3
+ import { PLACEHOLDER_TEXT } from "./surfaceRungs.js";
4
+ /**
5
+ * The hint ink for a field: the brand's authored rung settled onto `PLACEHOLDER_TEXT` against the
6
+ * hardest surface a field can land on — lifted when it falls short, softened when it overshoots.
7
+ *
8
+ * Settled rather than floored because the authored rungs measured 3.96-7.73:1 across the brands,
9
+ * and anything much past the floor reads as a field already typed into. The floor is the look:
10
+ * one hint weight for every brand in both modes, instead of a per-brand accident.
11
+ */
12
+ export const placeholderInkOn = (palette, surfaces) => {
13
+ const rung = palette.placeholder[500];
14
+ const hardest = surfaces.reduce((worst, s) => contrastRatio(rung, s) < contrastRatio(rung, worst) ? s : worst);
15
+ return contrastRatio(rung, hardest) > PLACEHOLDER_TEXT
16
+ ? softenToContrast(rung, hardest, PLACEHOLDER_TEXT)
17
+ : liftToContrast(rung, hardest, PLACEHOLDER_TEXT);
18
+ };
19
+ /**
20
+ * Every surface an ENABLED field renders on. Disabled fields are deliberately absent — 1.4.3
21
+ * exempts them, and folding their dimmer fill in here would darken the hint on every other field.
22
+ */
23
+ export const fieldSurfaces = (palette) => [
24
+ palette.gray[50],
25
+ palette.background[50],
26
+ palette.backgroundColor.main,
27
+ ];
28
+ /** The hint ink every field in this library reads. Takes no backdrop: see `fieldSurfaces`. */
29
+ export const placeholderInk = (palette) => placeholderInkOn(palette, fieldSurfaces(palette));
@@ -0,0 +1,25 @@
1
+ import { liftToContrast, AA_NON_TEXT } from "./outlineRung.js";
2
+ import { AA_NORMAL_TEXT } from "./accentText.js";
3
+ import { PLACEHOLDER_TEXT } from "./surfaceRungs.js";
4
+ /**
5
+ * A hint is floored at 3:1, not 4.5:1. Held to body-text contrast it stopped reading as a hint —
6
+ * an empty field looked like one already typed into — and the published library ships this rung
7
+ * as the brand authored it. See CHROME-CONSISTENCY.md.
8
+ */
9
+ export function withPlaceholderRung(palette) {
10
+ const resolved = liftToContrast(palette.placeholder[500], palette.background[50], PLACEHOLDER_TEXT);
11
+ if (resolved === palette.placeholder[500])
12
+ return palette;
13
+ return { ...palette, placeholder: { ...palette.placeholder, 500: resolved } };
14
+ }
15
+ /** The hover row is a SURFACE, so it steps away from the ink rather than the ink moving. */
16
+ export function withTableHoverRung(palette) {
17
+ const resolved = liftToContrast(palette.table.hover[500], palette.text[500], AA_NORMAL_TEXT);
18
+ if (resolved === palette.table.hover[500])
19
+ return palette;
20
+ return {
21
+ ...palette,
22
+ table: { hover: { ...palette.table.hover, 500: resolved } },
23
+ };
24
+ }
25
+ export { AA_NON_TEXT };
@@ -0,0 +1,52 @@
1
+ /** One width everywhere. The 3px, 4px, 5px and 10px bars in use were all accidents. */
2
+ export const SCROLLBAR_WIDTH = "6px";
3
+ const RADIUS = "6px";
4
+ /**
5
+ * The single source of scrollbar chrome. `overlay` drops the track for bars that float over a
6
+ * card; `hover` keeps the thumb invisible until the region is hovered.
7
+ */
8
+ export function scrollbarStyles(palette, variant = "default") {
9
+ const { gray } = palette;
10
+ const track = variant === "default" ? gray[100] : "transparent";
11
+ const thumb = variant === "hover" ? "transparent" : gray[400];
12
+ return {
13
+ scrollbarWidth: "thin",
14
+ scrollbarColor: `${thumb} ${track}`,
15
+ "&::-webkit-scrollbar": {
16
+ width: SCROLLBAR_WIDTH,
17
+ height: SCROLLBAR_WIDTH,
18
+ },
19
+ "&::-webkit-scrollbar-track": {
20
+ background: track,
21
+ borderRadius: RADIUS,
22
+ },
23
+ "&::-webkit-scrollbar-thumb": {
24
+ background: thumb,
25
+ borderRadius: RADIUS,
26
+ transition: "background 0.2s ease",
27
+ },
28
+ "&::-webkit-scrollbar-thumb:hover": {
29
+ background: gray[500],
30
+ },
31
+ "&::-webkit-scrollbar-corner": {
32
+ background: track,
33
+ },
34
+ ...(variant === "hover"
35
+ ? {
36
+ "&:hover": { scrollbarColor: `${gray[400]} ${track}` },
37
+ "&:hover::-webkit-scrollbar-thumb": { background: gray[400] },
38
+ }
39
+ : {}),
40
+ };
41
+ }
42
+ /** The same chrome for the document itself, where `&` selectors do not apply. */
43
+ export function globalScrollbarStyles(palette) {
44
+ const { gray } = palette;
45
+ return {
46
+ "::-webkit-scrollbar": { width: SCROLLBAR_WIDTH, height: SCROLLBAR_WIDTH },
47
+ "::-webkit-scrollbar-track": { background: gray[100] },
48
+ "::-webkit-scrollbar-thumb": { background: gray[400], borderRadius: RADIUS },
49
+ "::-webkit-scrollbar-thumb:hover": { background: gray[500] },
50
+ "::-webkit-scrollbar-corner": { background: gray[100] },
51
+ };
52
+ }
@@ -0,0 +1,17 @@
1
+ import { liftToContrast } from "./outlineRung.js";
2
+ import { AA_NORMAL_TEXT, onFilled } from "./accentText.js";
3
+ export const SEMANTIC_TONES = ["success", "error", "warning", "info"];
4
+ /**
5
+ * `semantic[tone][500]` is a FILL rung — as ink on a light canvas it measures 1.84-3.68:1 across
6
+ * every brand. Each tone is stepped here until it clears AA as text, so a call site that wants
7
+ * "error-coloured text" cannot pick the unreadable one.
8
+ */
9
+ export const buildSemanticText = (semantic, canvas) => SEMANTIC_TONES.reduce((acc, tone) => {
10
+ acc[tone] = liftToContrast(semantic[tone][500], canvas, AA_NORMAL_TEXT);
11
+ return acc;
12
+ }, {});
13
+ /** Ink ON the fill, not on the canvas — the pair a CSS module needs but cannot compute. */
14
+ export const buildOnSemantic = (semantic, white, black) => SEMANTIC_TONES.reduce((acc, tone) => {
15
+ acc[tone] = onFilled(semantic[tone][500], white, black);
16
+ return acc;
17
+ }, {});
@@ -0,0 +1,23 @@
1
+ import { compositeOver } from "./color.js";
2
+ import { liftToContrast, resolveHoverTint, AA_NON_TEXT } from "./outlineRung.js";
3
+ import { buildSemanticText } from "./semanticText.js";
4
+ /** WCAG 1.4.3 — the active label is normal-size text. */
5
+ export const AA_NORMAL_TEXT = 4.5;
6
+ /** Lightest surface an active row reaches: Chakra `whiteAlpha.400` (0.24) on hover. */
7
+ export const ACTIVE_SURFACE_TINT = "#ffffff3d";
8
+ export const sidebarActiveSurface = (background) => compositeOver(ACTIVE_SURFACE_TINT, background[500]);
9
+ /** The rail never inverts, so both modes take the accent from the LIGHT primary. */
10
+ export const buildSidebarTokens = (background, lightPrimary, semantic) => {
11
+ const surface = sidebarActiveSurface(background);
12
+ const elevated = resolveHoverTint(background[500], background[500]);
13
+ return {
14
+ background,
15
+ elevated,
16
+ activeIcon: liftToContrast(lightPrimary[300], surface, AA_NON_TEXT),
17
+ activeLabel: liftToContrast(lightPrimary[100], surface, AA_NORMAL_TEXT),
18
+ mutedIcon: liftToContrast(background[300], elevated, AA_NON_TEXT),
19
+ mutedLabel: liftToContrast(background[100], elevated, AA_NORMAL_TEXT),
20
+ semanticText: buildSemanticText(semantic, elevated),
21
+ };
22
+ };
23
+ export const withSidebarTokens = (source) => buildSidebarTokens(source.sidebar.background, source.primary, source.semantic);
@@ -16,8 +16,8 @@ export function resolveStatusTone(scale, mode) {
16
16
  const edgeSeed = mode === "dark" ? scale[400] : scale[300];
17
17
  return {
18
18
  bg,
19
- fg: liftToContrast(inkSeed, bg, mode, AA_NORMAL_TEXT),
20
- border: liftToContrast(edgeSeed, bg, mode, AA_NON_TEXT),
19
+ fg: liftToContrast(inkSeed, bg, AA_NORMAL_TEXT),
20
+ border: liftToContrast(edgeSeed, bg, AA_NON_TEXT),
21
21
  };
22
22
  }
23
23
  /**
@@ -26,8 +26,7 @@ export function resolveStatusTone(scale, mode) {
26
26
  * dark. Darkening the fill keeps the intended hue and the white-initials look while clearing AA.
27
27
  */
28
28
  export function resolveAvatarFill(hex, target = AA_NORMAL_TEXT) {
29
- // "light" walks downward in lightness — i.e. darken until white ink clears the bar.
30
- return liftToContrast(hex, "#ffffff", "light", target);
29
+ return liftToContrast(hex, "#ffffff", target);
31
30
  }
32
31
  /**
33
32
  * Hue set for generated avatars. Values are seeds, not final fills — always pass them through
@@ -0,0 +1,48 @@
1
+ import { contrastRatio } from "./color.js";
2
+ import { liftToContrast, settleAcross, ruleInk, AA_NON_TEXT, CHROME_BORDER, CHROME_RULE } from "./outlineRung.js";
3
+ import { AA_NORMAL_TEXT, pickAccentText } from "./accentText.js";
4
+ import { SEMANTIC_TONES } from "./semanticText.js";
5
+ /**
6
+ * A hint is held to the non-text floor, not the body-text one. Deliberate: at 4.5 an empty field
7
+ * reads as one already typed into. See CHROME-CONSISTENCY.md.
8
+ */
9
+ export const PLACEHOLDER_TEXT = AA_NON_TEXT;
10
+ export const namedSurfaces = (palette) => [
11
+ ...Object.values(palette.backgroundColor),
12
+ palette.background[50],
13
+ palette.table.hover[500],
14
+ ];
15
+ /** The surface an ink is closest to — clearing it clears every other one. */
16
+ export const hardestSurface = (ink, surfaces) => surfaces.reduce((worst, s) => contrastRatio(ink, s) < contrastRatio(ink, worst) ? s : worst);
17
+ // Runs last: `table.hover` is one of the surfaces, and it settles in its own rung.
18
+ export function withSurfaceRungs(palette) {
19
+ const surfaces = namedSurfaces(palette);
20
+ const lift = (ink, target) => liftToContrast(ink, hardestSurface(ink, surfaces), target);
21
+ const settle = (ink, target) => settleAcross(ink, surfaces, target);
22
+ const rule = (ink) => ruleInk(ink, [palette.backgroundColor.main, palette.background[50]], CHROME_RULE);
23
+ const semanticText = SEMANTIC_TONES.reduce((acc, tone) => {
24
+ acc[tone] = lift(palette.semanticText[tone], AA_NORMAL_TEXT);
25
+ return acc;
26
+ }, {});
27
+ return {
28
+ ...palette,
29
+ textMuted: lift(palette.textMuted, AA_NORMAL_TEXT),
30
+ accentText: pickAccentText(palette.primary, hardestSurface(palette.accentText, surfaces)),
31
+ semanticText,
32
+ text: { ...palette.text, 500: lift(palette.text[500], AA_NORMAL_TEXT) },
33
+ header: { ...palette.header, 500: lift(palette.header[500], AA_NORMAL_TEXT) },
34
+ // `placeholder` is deliberately absent: the brand authors that rung and the published
35
+ // library ships it untouched. Its floor is enforced in `placeholderInk`, against the
36
+ // surfaces a FIELD renders on — not `table.hover`, which no field sits on.
37
+ // Settled, not lifted: this rung already passed through `withOutlineRung`, and lifting it
38
+ // again here to AA_NON_TEXT is what shipped 3.85-4.95:1 outlines. See CHROME_BORDER.
39
+ boxborder: {
40
+ ...palette.boxborder,
41
+ 200: rule(palette.boxborder[200]),
42
+ 500: settle(palette.boxborder[500], CHROME_BORDER),
43
+ },
44
+ // The 200 rung of both ramps is the same job under two names; settle them together or an
45
+ // app picking `border` gets a heavier rule than one picking `boxborder`.
46
+ border: { ...palette.border, 200: rule(palette.border[200]) },
47
+ };
48
+ }
@@ -1,4 +1,7 @@
1
1
  import { useTheme as useChakraTheme } from "@chakra-ui/react";
2
+ import { assertPixelizePalette } from "./assertPalette.js";
2
3
  export const useCustomTheme = () => {
3
- return useChakraTheme();
4
+ const theme = useChakraTheme();
5
+ assertPixelizePalette(theme);
6
+ return theme;
4
7
  };
@@ -1,5 +1,6 @@
1
1
  import React, { useCallback, useEffect, useRef } from "react";
2
- import { onFilled } from "../Theme/tokens/builders/accentText.js";
2
+ import { DEFAULT_BLACK, DEFAULT_WHITE, isDarkCanvas, onFilled, } from "../Theme/tokens/builders/accentText.js";
3
+ import { resolveStatusTone } from "../Theme/tokens/builders/statusTone.js";
3
4
  // Built once, not per comparison: sorting 10k rows runs this ~130k times, and constructing a
4
5
  // collator is orders of magnitude dearer than using one.
5
6
  const COLLATOR = new Intl.Collator(undefined, {
@@ -53,33 +54,31 @@ export function SortMultiColumnData(data, sortConfig) {
53
54
  });
54
55
  }
55
56
  const withAlpha = (hex, aa) => /^#([0-9a-fA-F]{6})$/.test(hex) ? `${hex}${aa}` : hex;
56
- const FALLBACK_SOLID = "#8B3FC8";
57
57
  /** Deterministic, theme-aware color palette for groups + status pills. */
58
58
  export function buildTablePalette(theme) {
59
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
60
- const c = (_a = theme === null || theme === void 0 ? void 0 : theme.colors) !== null && _a !== void 0 ? _a : {};
61
- const white = c.white || "#FFFFFF";
62
- const black = c.black || "#000000";
63
- const bases = [
64
- (_b = c.primary) === null || _b === void 0 ? void 0 : _b[500],
65
- (_d = (_c = c.semantic) === null || _c === void 0 ? void 0 : _c.success) === null || _d === void 0 ? void 0 : _d[500],
66
- (_f = (_e = c.semantic) === null || _e === void 0 ? void 0 : _e.info) === null || _f === void 0 ? void 0 : _f[500],
67
- (_h = (_g = c.semantic) === null || _g === void 0 ? void 0 : _g.warning) === null || _h === void 0 ? void 0 : _h[500],
68
- (_j = c.teal) === null || _j === void 0 ? void 0 : _j[500],
69
- (_k = c.blue) === null || _k === void 0 ? void 0 : _k[500],
70
- (_l = c.pink) === null || _l === void 0 ? void 0 : _l[500],
71
- (_o = (_m = c.semantic) === null || _m === void 0 ? void 0 : _m.error) === null || _o === void 0 ? void 0 : _o[500],
72
- (_p = c.orange) === null || _p === void 0 ? void 0 : _p[500],
73
- (_q = c.purple) === null || _q === void 0 ? void 0 : _q[500],
59
+ const c = theme.colors;
60
+ const mode = isDarkCanvas(c.backgroundColor.main) ? "dark" : "light";
61
+ const scales = [
62
+ c.primary,
63
+ c.semantic.success,
64
+ c.semantic.info,
65
+ c.semantic.warning,
66
+ c.teal,
67
+ c.blue,
68
+ c.pink,
69
+ c.semantic.error,
70
+ c.orange,
71
+ c.purple,
74
72
  ];
75
- const list = bases.filter(Boolean);
76
- const fallback = [FALLBACK_SOLID];
77
- return (list.length ? list : fallback).map((solid) => ({
78
- solid,
79
- soft: withAlpha(solid, "22"),
80
- text: solid,
81
- onSolid: onFilled(solid, white, black),
82
- }));
73
+ return scales.map((scale) => {
74
+ const tone = resolveStatusTone(scale, mode);
75
+ return {
76
+ solid: scale[500],
77
+ soft: tone.bg,
78
+ text: tone.fg,
79
+ onSolid: onFilled(scale[500], c.white, c.black),
80
+ };
81
+ });
83
82
  }
84
83
  const hashKey = (value) => {
85
84
  const s = String(value);
@@ -88,22 +87,15 @@ const hashKey = (value) => {
88
87
  h = (h * 31 + s.charCodeAt(i)) >>> 0;
89
88
  return h;
90
89
  };
91
- /**
92
- * Pick a deterministic palette color for a value, with optional override hex.
93
- *
94
- * `theme` is optional so existing callers that don't have it keep compiling — when omitted,
95
- * `onSolid` falls back to the mode-stable absolutes ("#FFFFFF"/"#000000", same value
96
- * `theme.colors.white`/`black` resolve to for every brand) instead of going undefined.
97
- */
90
+ /** Pick a deterministic palette color for a value, with optional consumer override hex. */
98
91
  export function pickTableColor(value, palette, override, theme) {
99
- var _a, _b;
100
- const white = ((_a = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _a === void 0 ? void 0 : _a.white) || "#FFFFFF";
101
- const black = ((_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.black) || "#000000";
92
+ const white = theme ? theme.colors.white : DEFAULT_WHITE;
93
+ const black = theme ? theme.colors.black : DEFAULT_BLACK;
102
94
  if (override) {
103
95
  return { solid: override, soft: withAlpha(override, "22"), text: override, onSolid: onFilled(override, white, black) };
104
96
  }
105
97
  if (!palette.length) {
106
- return { solid: FALLBACK_SOLID, soft: withAlpha(FALLBACK_SOLID, "22"), text: FALLBACK_SOLID, onSolid: onFilled(FALLBACK_SOLID, white, black) };
98
+ throw new Error("pickTableColor: empty palette — build it with buildTablePalette(theme).");
107
99
  }
108
100
  return palette[hashKey(value) % palette.length];
109
101
  }
package/dist/esm/index.js CHANGED
@@ -42,6 +42,7 @@ import SearchSelect from "./Components/SearchSelect/SearchSelect.js";
42
42
  import SelectSearch from "./Components/SelectSearch/SelectSearch.js";
43
43
  import SideBar from "./Components/SideBar/SideBar.js";
44
44
  import Slider from "./Components/Slider/Slider.js";
45
+ import ScrollbarBox from "./Components/ScrollbarBox/ScrollbarBox.js";
45
46
  import Skeletons from "./Components/Skeletons/Skeletons.js";
46
47
  import Switch from "./Components/Switch/Switch.js";
47
48
  import Table from "./Components/Table/Table.js";
@@ -96,7 +97,7 @@ import SignInActivityTable from "./Components/SignInActivityTable/SignInActivity
96
97
  import OrganizationDetails from "./Components/OrganizationDetails/OrganizationDetails.js";
97
98
  export {
98
99
  // components
99
- Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, ApexAreaChart, ApexRadialChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, LimitReachedModal, UpgradeButton, PlanPill, PlanBadge, formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, resolvePlanBadge, splitMonthsAndDays, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp,
100
+ Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, ApexAreaChart, ApexRadialChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, LimitReachedModal, UpgradeButton, PlanPill, PlanBadge, formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, resolvePlanBadge, splitMonthsAndDays, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, ScrollbarBox, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp,
100
101
  // hooks
101
102
  useSidebarPrefs, useIsTruncated,
102
103
  // themes
@@ -128,9 +129,13 @@ export { AVATAR_SEEDS, avatarFillFor, meetsBodyText, resolveAvatarFill, resolveS
128
129
  // against any canvas/fill a palette produces. Pure and dependency-free — consumers building
129
130
  // custom components against `ColorScale`/`PaletteProps` tokens can reuse the same logic instead
130
131
  // of re-deriving contrast math themselves.
132
+ export { statusGradient, inkSafeGradient, chipFill, chipBorder, ACCENT_GRADIENT, STATUS_INK, } from "./Components/PlanPill/planPillGradient.js";
131
133
  export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText.js";
132
134
  // Pure color math backing the helpers above (and `buildDarkPalette`) — no Chakra/React/DOM
133
135
  // dependency, safe for the mobile port. `relativeLuminance`/`contrastRatio` are the WCAG 2.1
134
136
  // primitives; `compositeOver` flattens a translucent color onto a backdrop first (an alpha
135
137
  // color has no defined luminance on its own, so measure the composited result, not the tint).
136
138
  export { hexToRgb, hexToRgba, compositeOver, rgbToHex, rgbToHsl, hslToRgb, hexToHsl, hslToHex, withLightness, mix, relativeLuminance, contrastRatio, } from "./Theme/tokens/builders/color.js";
139
+ export { scrollbarStyles, globalScrollbarStyles, SCROLLBAR_WIDTH, } from "./Theme/tokens/builders/scrollbar.js";
140
+ export { placeholderInk, placeholderInkOn, fieldSurfaces } from "./Theme/tokens/builders/placeholderInk.js";
141
+ export { resolveGradient, gradientCss, inkSafeGradient as inkSafeGradientToken, } from "./Theme/tokens/builders/gradientInk.js";
package/dist/index.d.ts CHANGED
@@ -40,6 +40,7 @@ import SearchSelect from "./Components/SearchSelect/SearchSelect";
40
40
  import SelectSearch from "./Components/SelectSearch/SelectSearch";
41
41
  import SideBar from "./Components/SideBar/SideBar";
42
42
  import Slider from "./Components/Slider/Slider";
43
+ import ScrollbarBox from "./Components/ScrollbarBox/ScrollbarBox";
43
44
  import Skeletons from "./Components/Skeletons/Skeletons";
44
45
  import Switch from "./Components/Switch/Switch";
45
46
  import Table from "./Components/Table/Table";
@@ -91,7 +92,7 @@ import RolesPermission from "./Components/RolesPermission/RolesPermission";
91
92
  import CustomModulesTable from "./Components/CustomModulesTable/CustomModulesTable";
92
93
  import SignInActivityTable from "./Components/SignInActivityTable/SignInActivityTable";
93
94
  import OrganizationDetails from "./Components/OrganizationDetails/OrganizationDetails";
94
- export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, ApexAreaChart, ApexRadialChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, LimitReachedModal, UpgradeButton, PlanPill, PlanBadge, formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, resolvePlanBadge, splitMonthsAndDays, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, isAllowedReturnUrl, resolveReturnUrl, createAccountHandoff, };
95
+ export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, ApexAreaChart, ApexRadialChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, LimitReachedModal, UpgradeButton, PlanPill, PlanBadge, formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, resolvePlanBadge, splitMonthsAndDays, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, ScrollbarBox, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, isAllowedReturnUrl, resolveReturnUrl, createAccountHandoff, };
95
96
  export default withTheme;
96
97
  export type { UserDetailsProps, UserDetailsLabels, UserListItem, SelectedUserDetail, UserDetailRow, RoleOption, AddUserFormValues, ChangeRoleSubmitPayload, } from "./Components/UserDetails/UserDetailsProps";
97
98
  export type { WorkspaceWindowProps, WorkspaceWindowState, WorkspaceTrayProps, WorkspaceTrayItem, WorkspaceTrayPreviewProps, } from "./Components/WorkspaceWindow/WorkspaceWindowProps";
@@ -112,6 +113,7 @@ export { AA_NON_TEXT, liftToContrast, withOutlineRung, } from "./Theme/tokens/bu
112
113
  export { AVATAR_SEEDS, avatarFillFor, meetsBodyText, resolveAvatarFill, resolveStatusTone, } from "./Theme/tokens/builders/statusTone";
113
114
  export type { StatusTone } from "./Theme/tokens/builders/statusTone";
114
115
  export type { ColorMode, ResolvedColorMode, ThemeName, PaletteProps, ColorScale, BrandScale, SemanticColors, NamedSurfaces, } from "./Theme/tokens/types";
116
+ export { statusGradient, inkSafeGradient, chipFill, chipBorder, ACCENT_GRADIENT, STATUS_INK, } from "./Components/PlanPill/planPillGradient";
115
117
  export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText";
116
118
  export { hexToRgb, hexToRgba, compositeOver, rgbToHex, rgbToHsl, hslToRgb, hexToHsl, hslToHex, withLightness, mix, relativeLuminance, contrastRatio, } from "./Theme/tokens/builders/color";
117
119
  export type { Rgb, Hsl } from "./Theme/tokens/builders/color";
@@ -155,3 +157,10 @@ export type { FileUploaderProps, MimeExtension } from "./Components/FileUpload/F
155
157
  export type { SidebarProps, SidebarUser, SecondaryBarProps, OtherAppsProps, MenuProps as SidebarMenuProps, } from "./Components/SideBar/SideBarProps";
156
158
  export type { NavbarProps, MenuProps as NavbarMenuProps } from "./Components/NavigationBar/NavigationBarProps";
157
159
  export type { HeaderProps } from "./Components/Header/HeaderProps";
160
+ export { scrollbarStyles, globalScrollbarStyles, SCROLLBAR_WIDTH, } from "./Theme/tokens/builders/scrollbar";
161
+ export type { ScrollbarVariant, ScrollbarStyle, } from "./Theme/tokens/builders/scrollbar";
162
+ export type { ScrollbarBoxProps } from "./Components/ScrollbarBox/ScrollbarBox";
163
+ export { placeholderInk, placeholderInkOn, fieldSurfaces } from "./Theme/tokens/builders/placeholderInk";
164
+ export type { FieldSurfaces } from "./Theme/tokens/builders/placeholderInk";
165
+ export { resolveGradient, gradientCss, inkSafeGradient as inkSafeGradientToken, } from "./Theme/tokens/builders/gradientInk";
166
+ export type { Gradient, ResolvedGradient, } from "./Theme/tokens/builders/gradientInk";
package/dist/index.js CHANGED
@@ -38,9 +38,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.UserDetails = exports.splitMonthsAndDays = exports.resolvePlanBadge = exports.formatPlanRemaining = exports.formatPlanExpiry = exports.formatPlanElapsed = exports.PlanBadge = exports.PlanPill = exports.UpgradeButton = exports.LimitReachedModal = exports.OrgSwitcher = exports.StageItem = exports.StageProgress = exports.CopyButton = exports.ScrollToTop = exports.PdfViewer = exports.MoreItems = exports.LazyWrapper = exports.FormWrapper = exports.FilterSidebar = exports.FileUploader = exports.FileUpload = exports.FilePreviewTrigger = exports.FilePreview = exports.FieldSelectModal = exports.WorkspaceTrayPreview = exports.WorkspaceTray = exports.WorkspaceWindow = exports.EmptyState = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexRadialChart = exports.ApexAreaChart = exports.ApexLineChart = exports.ApexPolarChart = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
41
- exports.OverflowToolTip = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.SelectV2 = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.OrganizationDetails = exports.SignInActivityTable = exports.CustomModulesTable = exports.RolesPermission = void 0;
42
- exports.mix = exports.withLightness = exports.hslToHex = exports.hexToHsl = exports.hslToRgb = exports.rgbToHsl = exports.rgbToHex = exports.compositeOver = exports.hexToRgba = exports.hexToRgb = exports.DARK_CANVAS_LUMINANCE = exports.AA_NORMAL_TEXT = exports.pickAccentText = exports.accentTextOnCanvas = exports.onGradient = exports.onFilled = exports.isDarkCanvas = exports.resolveStatusTone = exports.resolveAvatarFill = exports.meetsBodyText = exports.avatarFillFor = exports.AVATAR_SEEDS = exports.withOutlineRung = exports.liftToContrast = exports.AA_NON_TEXT = exports.buildDarkPalette = exports.themeNames = exports.palettes = exports.darkPalettes = exports.lightPalettes = exports.brandThemes = exports.AppearanceSettings = exports.useFontSizeSync = exports.resolveFontSize = exports.isFontSize = exports.FONT_SIZE_OPTIONS = exports.DEFAULT_FONT_SIZE = exports.ThemeSwitcher = exports.useThemeMode = exports.PixelizeThemeProvider = exports.createAccountHandoff = exports.resolveReturnUrl = exports.isAllowedReturnUrl = exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.useIsTruncated = exports.useSidebarPrefs = exports.VerifyEmailOtp = exports.useToaster = void 0;
43
- exports.contrastRatio = exports.relativeLuminance = void 0;
41
+ exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.ScrollbarBox = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.SelectV2 = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.OrganizationDetails = exports.SignInActivityTable = exports.CustomModulesTable = exports.RolesPermission = void 0;
42
+ exports.compositeOver = exports.hexToRgba = exports.hexToRgb = exports.DARK_CANVAS_LUMINANCE = exports.AA_NORMAL_TEXT = exports.pickAccentText = exports.accentTextOnCanvas = exports.onGradient = exports.onFilled = exports.isDarkCanvas = exports.STATUS_INK = exports.ACCENT_GRADIENT = exports.chipBorder = exports.chipFill = exports.inkSafeGradient = exports.statusGradient = exports.resolveStatusTone = exports.resolveAvatarFill = exports.meetsBodyText = exports.avatarFillFor = exports.AVATAR_SEEDS = exports.withOutlineRung = exports.liftToContrast = exports.AA_NON_TEXT = exports.buildDarkPalette = exports.themeNames = exports.palettes = exports.darkPalettes = exports.lightPalettes = exports.brandThemes = exports.AppearanceSettings = exports.useFontSizeSync = exports.resolveFontSize = exports.isFontSize = exports.FONT_SIZE_OPTIONS = exports.DEFAULT_FONT_SIZE = exports.ThemeSwitcher = exports.useThemeMode = exports.PixelizeThemeProvider = exports.createAccountHandoff = exports.resolveReturnUrl = exports.isAllowedReturnUrl = exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.useIsTruncated = exports.useSidebarPrefs = exports.VerifyEmailOtp = exports.useToaster = exports.OverflowToolTip = void 0;
43
+ exports.inkSafeGradientToken = exports.gradientCss = exports.resolveGradient = exports.fieldSurfaces = exports.placeholderInkOn = exports.placeholderInk = exports.SCROLLBAR_WIDTH = exports.globalScrollbarStyles = exports.scrollbarStyles = exports.contrastRatio = exports.relativeLuminance = exports.mix = exports.withLightness = exports.hslToHex = exports.hexToHsl = exports.hslToRgb = exports.rgbToHsl = exports.rgbToHex = void 0;
44
44
  const Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
45
45
  exports.Accordian = Accordion_1.default;
46
46
  const AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
@@ -136,6 +136,8 @@ const SideBar_1 = __importDefault(require("./Components/SideBar/SideBar"));
136
136
  exports.SideBar = SideBar_1.default;
137
137
  const Slider_1 = __importDefault(require("./Components/Slider/Slider"));
138
138
  exports.Slider = Slider_1.default;
139
+ const ScrollbarBox_1 = __importDefault(require("./Components/ScrollbarBox/ScrollbarBox"));
140
+ exports.ScrollbarBox = ScrollbarBox_1.default;
139
141
  const Skeletons_1 = __importDefault(require("./Components/Skeletons/Skeletons"));
140
142
  exports.Skeletons = Skeletons_1.default;
141
143
  const Switch_1 = __importDefault(require("./Components/Switch/Switch"));
@@ -292,6 +294,13 @@ Object.defineProperty(exports, "resolveStatusTone", { enumerable: true, get: fun
292
294
  // against any canvas/fill a palette produces. Pure and dependency-free — consumers building
293
295
  // custom components against `ColorScale`/`PaletteProps` tokens can reuse the same logic instead
294
296
  // of re-deriving contrast math themselves.
297
+ var planPillGradient_1 = require("./Components/PlanPill/planPillGradient");
298
+ Object.defineProperty(exports, "statusGradient", { enumerable: true, get: function () { return planPillGradient_1.statusGradient; } });
299
+ Object.defineProperty(exports, "inkSafeGradient", { enumerable: true, get: function () { return planPillGradient_1.inkSafeGradient; } });
300
+ Object.defineProperty(exports, "chipFill", { enumerable: true, get: function () { return planPillGradient_1.chipFill; } });
301
+ Object.defineProperty(exports, "chipBorder", { enumerable: true, get: function () { return planPillGradient_1.chipBorder; } });
302
+ Object.defineProperty(exports, "ACCENT_GRADIENT", { enumerable: true, get: function () { return planPillGradient_1.ACCENT_GRADIENT; } });
303
+ Object.defineProperty(exports, "STATUS_INK", { enumerable: true, get: function () { return planPillGradient_1.STATUS_INK; } });
295
304
  var accentText_1 = require("./Theme/tokens/builders/accentText");
296
305
  Object.defineProperty(exports, "isDarkCanvas", { enumerable: true, get: function () { return accentText_1.isDarkCanvas; } });
297
306
  Object.defineProperty(exports, "onFilled", { enumerable: true, get: function () { return accentText_1.onFilled; } });
@@ -317,3 +326,15 @@ Object.defineProperty(exports, "withLightness", { enumerable: true, get: functio
317
326
  Object.defineProperty(exports, "mix", { enumerable: true, get: function () { return color_1.mix; } });
318
327
  Object.defineProperty(exports, "relativeLuminance", { enumerable: true, get: function () { return color_1.relativeLuminance; } });
319
328
  Object.defineProperty(exports, "contrastRatio", { enumerable: true, get: function () { return color_1.contrastRatio; } });
329
+ var scrollbar_1 = require("./Theme/tokens/builders/scrollbar");
330
+ Object.defineProperty(exports, "scrollbarStyles", { enumerable: true, get: function () { return scrollbar_1.scrollbarStyles; } });
331
+ Object.defineProperty(exports, "globalScrollbarStyles", { enumerable: true, get: function () { return scrollbar_1.globalScrollbarStyles; } });
332
+ Object.defineProperty(exports, "SCROLLBAR_WIDTH", { enumerable: true, get: function () { return scrollbar_1.SCROLLBAR_WIDTH; } });
333
+ var placeholderInk_1 = require("./Theme/tokens/builders/placeholderInk");
334
+ Object.defineProperty(exports, "placeholderInk", { enumerable: true, get: function () { return placeholderInk_1.placeholderInk; } });
335
+ Object.defineProperty(exports, "placeholderInkOn", { enumerable: true, get: function () { return placeholderInk_1.placeholderInkOn; } });
336
+ Object.defineProperty(exports, "fieldSurfaces", { enumerable: true, get: function () { return placeholderInk_1.fieldSurfaces; } });
337
+ var gradientInk_1 = require("./Theme/tokens/builders/gradientInk");
338
+ Object.defineProperty(exports, "resolveGradient", { enumerable: true, get: function () { return gradientInk_1.resolveGradient; } });
339
+ Object.defineProperty(exports, "gradientCss", { enumerable: true, get: function () { return gradientInk_1.gradientCss; } });
340
+ Object.defineProperty(exports, "inkSafeGradientToken", { enumerable: true, get: function () { return gradientInk_1.inkSafeGradient; } });