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
@@ -3,3 +3,6 @@ export * from "./buildBrandTokens";
3
3
  export * from "./buildDarkPalette";
4
4
  export * from "./chartColorsFromTheme";
5
5
  export * from "./color";
6
+ export * from "./scrollbar";
7
+ export * from "./gradientInk";
8
+ export * from "./placeholderInk";
@@ -19,3 +19,6 @@ __exportStar(require("./buildBrandTokens"), exports);
19
19
  __exportStar(require("./buildDarkPalette"), exports);
20
20
  __exportStar(require("./chartColorsFromTheme"), exports);
21
21
  __exportStar(require("./color"), exports);
22
+ __exportStar(require("./scrollbar"), exports);
23
+ __exportStar(require("./gradientInk"), exports);
24
+ __exportStar(require("./placeholderInk"), exports);
@@ -0,0 +1,5 @@
1
+ import type { ColorScale } from "../types";
2
+ /** WCAG 1.4.3 — muted is still body text. */
3
+ export declare const AA_NORMAL_TEXT = 4.5;
4
+ /** Seeded from the ramp's muted rung so brand tint survives, then lifted until it clears AA. */
5
+ export declare const buildMutedText: (text: ColorScale, canvas: string) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildMutedText = exports.AA_NORMAL_TEXT = void 0;
4
+ const outlineRung_1 = require("./outlineRung");
5
+ /** WCAG 1.4.3 — muted is still body text. */
6
+ exports.AA_NORMAL_TEXT = 4.5;
7
+ /** Seeded from the ramp's muted rung so brand tint survives, then lifted until it clears AA. */
8
+ const buildMutedText = (text, canvas) => (0, outlineRung_1.liftToContrast)(text[400], canvas, exports.AA_NORMAL_TEXT);
9
+ exports.buildMutedText = buildMutedText;
@@ -1,4 +1,4 @@
1
- import type { PaletteProps, ResolvedColorMode } from "../types";
1
+ import type { PaletteProps } from "../types";
2
2
  /**
3
3
  * The floor a hover/active state's step off its own resting surface must clear to be seen at
4
4
  * all — same value the SideBar ladder, Accordion, and NavigationBar hover states are held to.
@@ -8,21 +8,44 @@ export declare const MIN_PERCEPTIBLE_STEP = 1.15;
8
8
  /** WCAG 1.4.11 — a control outline is a UI component boundary, held to 3:1. */
9
9
  export declare const AA_NON_TEXT = 3;
10
10
  /**
11
- * Walks a hex toward `target` contrast against `backdrop`, keeping its hue and saturation so the
12
- * result still reads as the same colour. Darkens when `mode` is light, lightens when dark, and
13
- * 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`.
14
17
  */
15
- export declare function liftToContrast(hex: string, backdrop: string, mode: ResolvedColorMode, target?: number): string;
18
+ export declare const CHROME_BORDER = 1.5;
19
+ export declare const CHROME_RULE = 1.31;
20
+ /**
21
+ * A rule is decorative, so it has a ceiling and no floor: soften it until the surface it reads
22
+ * hardest against sits at `target`, and leave a already-fainter rung alone. Never `settleAcross`
23
+ * here — that clears a floor on EVERY surface, so one tinted surface drags the rule darker.
24
+ */
25
+ export declare function ruleInk(hex: string, surfaces: readonly string[], target: number): string;
26
+ /**
27
+ * Walks a hex toward `target` contrast against `backdrop`, keeping hue and saturation.
28
+ * Direction is DERIVED from the backdrop, never passed: a mode argument here was redundant
29
+ * with the backdrop in every call site, and a redundant argument is one that can be wrong.
30
+ * Tries the far side first, falls back to the near side, and stops at the first passing step.
31
+ */
32
+ export declare function liftToContrast(hex: string, backdrop: string, target?: number): string;
33
+ /**
34
+ * Mirror of `liftToContrast`: walks ink TOWARD the backdrop, stopping at the last step that
35
+ * still clears `target`. For ink that must stay legible without reading as body copy.
36
+ */
37
+ export declare function softenToContrast(hex: string, backdrop: string, target: number): string;
16
38
  /**
17
39
  * `boxborder[500]` is the rung every control outline reads (Checkbox, SearchSelect, the date
18
- * pickers, the editor's inputs). It was authored as a decorative value — measured 1.30-2.56:1
19
- * across brands, so those controls rendered effectively borderless in BOTH modes. Resolved here
20
- * rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
40
+ * pickers, the editor's inputs). Settled onto `CHROME_BORDER` — lifted when a brand authored it
41
+ * invisibly pale, softened when it overshoots. It was previously lifted to `AA_NON_TEXT`, which
42
+ * shipped 3.85-4.95:1 outlines: a text-weight box around every card and popover.
43
+ * Resolved here rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
21
44
  *
22
45
  * `border[*]` is deliberately untouched — that ramp draws table gridlines, which are decorative
23
46
  * and outside 1.4.11.
24
47
  */
25
- export declare function withOutlineRung(palette: PaletteProps, mode: ResolvedColorMode): PaletteProps;
48
+ export declare function withOutlineRung(palette: PaletteProps): PaletteProps;
26
49
  /**
27
50
  * A hover/active tint resolved against the surface it actually sits on, guaranteed to clear
28
51
  * `MIN_PERCEPTIBLE_STEP`. Written for the recurring shape found across NavigationBar, UserDetails
@@ -32,3 +55,10 @@ export declare function withOutlineRung(palette: PaletteProps, mode: ResolvedCol
32
55
  * its OWN list background, not necessarily the page canvas.
33
56
  */
34
57
  export declare function resolveHoverTint(seed: string, restSurface: string): string;
58
+ /**
59
+ * Settles ink into `target` against EVERY surface at once. Softening one step can change which
60
+ * surface is hardest, so resolving against a single pre-computed "hardest" one lands under the
61
+ * floor on another — that is how radiant and rosewood ended up with an invisible outline on
62
+ * their muted surface.
63
+ */
64
+ export declare function settleAcross(hex: string, surfaces: readonly string[], target: number): string;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AA_NON_TEXT = exports.MIN_PERCEPTIBLE_STEP = void 0;
3
+ exports.CHROME_RULE = exports.CHROME_BORDER = exports.AA_NON_TEXT = exports.MIN_PERCEPTIBLE_STEP = void 0;
4
+ exports.ruleInk = ruleInk;
4
5
  exports.liftToContrast = liftToContrast;
6
+ exports.softenToContrast = softenToContrast;
5
7
  exports.withOutlineRung = withOutlineRung;
6
8
  exports.resolveHoverTint = resolveHoverTint;
9
+ exports.settleAcross = settleAcross;
7
10
  const color_1 = require("./color");
8
- const accentText_1 = require("./accentText");
9
11
  /**
10
12
  * The floor a hover/active state's step off its own resting surface must clear to be seen at
11
13
  * all — same value the SideBar ladder, Accordion, and NavigationBar hover states are held to.
@@ -15,34 +17,80 @@ exports.MIN_PERCEPTIBLE_STEP = 1.15;
15
17
  /** WCAG 1.4.11 — a control outline is a UI component boundary, held to 3:1. */
16
18
  exports.AA_NON_TEXT = 3;
17
19
  /**
18
- * Walks a hex toward `target` contrast against `backdrop`, keeping its hue and saturation so the
19
- * result still reads as the same colour. Darkens when `mode` is light, lightens when dark, and
20
- * stops at the FIRST passing step so nothing overshoots to black or white.
20
+ * Resting chrome — card, popover and field outlines — settles here, not at `AA_NON_TEXT`.
21
+ * At 3:1 a container border is text-weight and the UI reads as a wireframe; every mainstream
22
+ * system draws this line far lighter (Tailwind gray-200 1.24, Chakra gray.200 1.30, Material
23
+ * outline-variant 1.61). 1.4.11 asks that a control be identifiable, not that its resting
24
+ * border carry the whole job: the fill, the label and the focus ring do that, and the focus
25
+ * ring is still held to `AA_NON_TEXT`.
21
26
  */
22
- function liftToContrast(hex, backdrop, mode, target = exports.AA_NON_TEXT) {
27
+ exports.CHROME_BORDER = 1.5;
28
+ // The resting rule between two surfaces — a card edge, a divider, a menu outline. Lighter than
29
+ // CHROME_BORDER, which outlines a control the user acts on.
30
+ exports.CHROME_RULE = 1.31;
31
+ /**
32
+ * A rule is decorative, so it has a ceiling and no floor: soften it until the surface it reads
33
+ * hardest against sits at `target`, and leave a already-fainter rung alone. Never `settleAcross`
34
+ * here — that clears a floor on EVERY surface, so one tinted surface drags the rule darker.
35
+ */
36
+ function ruleInk(hex, surfaces, target) {
37
+ const loudest = surfaces.reduce((worst, s) => (0, color_1.contrastRatio)(hex, s) > (0, color_1.contrastRatio)(hex, worst) ? s : worst);
38
+ return (0, color_1.contrastRatio)(hex, loudest) > target
39
+ ? softenToContrast(hex, loudest, target)
40
+ : hex;
41
+ }
42
+ /**
43
+ * Walks a hex toward `target` contrast against `backdrop`, keeping hue and saturation.
44
+ * Direction is DERIVED from the backdrop, never passed: a mode argument here was redundant
45
+ * with the backdrop in every call site, and a redundant argument is one that can be wrong.
46
+ * Tries the far side first, falls back to the near side, and stops at the first passing step.
47
+ */
48
+ function liftToContrast(hex, backdrop, target = exports.AA_NON_TEXT) {
23
49
  if ((0, color_1.contrastRatio)(hex, backdrop) >= target)
24
50
  return hex;
25
- const { s } = (0, color_1.hexToHsl)(hex);
26
- const step = mode === "dark" ? 1 : -1;
27
- let { l } = (0, color_1.hexToHsl)(hex);
28
- while (l > 0 && l < 100) {
29
- l += step;
51
+ const { s, l: start } = (0, color_1.hexToHsl)(hex);
52
+ const away = (0, color_1.relativeLuminance)(backdrop) < 0.5 ? 1 : -1;
53
+ for (const step of [away, -away]) {
54
+ let l = start;
55
+ while (l > 0 && l < 100) {
56
+ l += step;
57
+ const next = (0, color_1.withLightness)(hex, l, s);
58
+ if ((0, color_1.contrastRatio)(next, backdrop) >= target)
59
+ return next;
60
+ }
61
+ }
62
+ const ends = [(0, color_1.withLightness)(hex, 100, s), (0, color_1.withLightness)(hex, 0, s)];
63
+ return (0, color_1.contrastRatio)(ends[0], backdrop) >= (0, color_1.contrastRatio)(ends[1], backdrop) ? ends[0] : ends[1];
64
+ }
65
+ /**
66
+ * Mirror of `liftToContrast`: walks ink TOWARD the backdrop, stopping at the last step that
67
+ * still clears `target`. For ink that must stay legible without reading as body copy.
68
+ */
69
+ function softenToContrast(hex, backdrop, target) {
70
+ if ((0, color_1.contrastRatio)(hex, backdrop) <= target)
71
+ return hex;
72
+ const { s, l: start } = (0, color_1.hexToHsl)(hex);
73
+ const toward = (0, color_1.relativeLuminance)(backdrop) < 0.5 ? -1 : 1;
74
+ let softest = hex;
75
+ for (let l = start; l > 0 && l < 100; l += toward) {
30
76
  const next = (0, color_1.withLightness)(hex, l, s);
31
- if ((0, color_1.contrastRatio)(next, backdrop) >= target)
32
- return next;
77
+ if ((0, color_1.contrastRatio)(next, backdrop) < target)
78
+ break;
79
+ softest = next;
33
80
  }
34
- return (0, color_1.withLightness)(hex, mode === "dark" ? 100 : 0, s);
81
+ return softest;
35
82
  }
36
83
  /**
37
84
  * `boxborder[500]` is the rung every control outline reads (Checkbox, SearchSelect, the date
38
- * pickers, the editor's inputs). It was authored as a decorative value — measured 1.30-2.56:1
39
- * across brands, so those controls rendered effectively borderless in BOTH modes. Resolved here
40
- * rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
85
+ * pickers, the editor's inputs). Settled onto `CHROME_BORDER` — lifted when a brand authored it
86
+ * invisibly pale, softened when it overshoots. It was previously lifted to `AA_NON_TEXT`, which
87
+ * shipped 3.85-4.95:1 outlines: a text-weight box around every card and popover.
88
+ * Resolved here rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
41
89
  *
42
90
  * `border[*]` is deliberately untouched — that ramp draws table gridlines, which are decorative
43
91
  * and outside 1.4.11.
44
92
  */
45
- function withOutlineRung(palette, mode) {
93
+ function withOutlineRung(palette) {
46
94
  const current = palette.boxborder[500];
47
95
  // The border sits between the control's fill and the surface behind it; hold it to the
48
96
  // harder of the two.
@@ -50,7 +98,9 @@ function withOutlineRung(palette, mode) {
50
98
  (0, color_1.contrastRatio)(current, palette.background[50])
51
99
  ? palette.backgroundColor.main
52
100
  : palette.background[50];
53
- const resolved = liftToContrast(current, backdrop, mode);
101
+ const resolved = (0, color_1.contrastRatio)(current, backdrop) > exports.CHROME_BORDER
102
+ ? softenToContrast(current, backdrop, exports.CHROME_BORDER)
103
+ : liftToContrast(current, backdrop, exports.CHROME_BORDER);
54
104
  if (resolved === current)
55
105
  return palette;
56
106
  return { ...palette, boxborder: { ...palette.boxborder, 500: resolved } };
@@ -64,6 +114,27 @@ function withOutlineRung(palette, mode) {
64
114
  * its OWN list background, not necessarily the page canvas.
65
115
  */
66
116
  function resolveHoverTint(seed, restSurface) {
67
- const mode = (0, accentText_1.isDarkCanvas)(restSurface) ? "dark" : "light";
68
- return liftToContrast(seed, restSurface, mode, exports.MIN_PERCEPTIBLE_STEP);
117
+ return liftToContrast(seed, restSurface, exports.MIN_PERCEPTIBLE_STEP);
118
+ }
119
+ /**
120
+ * Settles ink into `target` against EVERY surface at once. Softening one step can change which
121
+ * surface is hardest, so resolving against a single pre-computed "hardest" one lands under the
122
+ * floor on another — that is how radiant and rosewood ended up with an invisible outline on
123
+ * their muted surface.
124
+ */
125
+ function settleAcross(hex, surfaces, target) {
126
+ const clearsAll = (c) => surfaces.every((s) => (0, color_1.contrastRatio)(c, s) >= target);
127
+ if (!clearsAll(hex)) {
128
+ return surfaces.reduce((ink, s) => liftToContrast(ink, s, target), hex);
129
+ }
130
+ const { s: sat, l: start } = (0, color_1.hexToHsl)(hex);
131
+ const toward = (0, color_1.relativeLuminance)(surfaces[0]) < 0.5 ? -1 : 1;
132
+ let settled = hex;
133
+ for (let l = start; l > 0 && l < 100; l += toward) {
134
+ const next = (0, color_1.withLightness)(hex, l, sat);
135
+ if (!clearsAll(next))
136
+ break;
137
+ settled = next;
138
+ }
139
+ return settled;
69
140
  }
@@ -0,0 +1,19 @@
1
+ import type { PaletteProps } from "../types";
2
+ /** A field always renders on at least one surface — the first is the reference backdrop. */
3
+ export type FieldSurfaces = readonly [string, ...string[]];
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 declare const placeholderInkOn: (palette: PaletteProps, surfaces: FieldSurfaces) => string;
13
+ /**
14
+ * Every surface an ENABLED field renders on. Disabled fields are deliberately absent — 1.4.3
15
+ * exempts them, and folding their dimmer fill in here would darken the hint on every other field.
16
+ */
17
+ export declare const fieldSurfaces: (palette: PaletteProps) => FieldSurfaces;
18
+ /** The hint ink every field in this library reads. Takes no backdrop: see `fieldSurfaces`. */
19
+ export declare const placeholderInk: (palette: PaletteProps) => string;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.placeholderInk = exports.fieldSurfaces = exports.placeholderInkOn = void 0;
4
+ const color_1 = require("./color");
5
+ const outlineRung_1 = require("./outlineRung");
6
+ const surfaceRungs_1 = require("./surfaceRungs");
7
+ /**
8
+ * The hint ink for a field: the brand's authored rung settled onto `PLACEHOLDER_TEXT` against the
9
+ * hardest surface a field can land on — lifted when it falls short, softened when it overshoots.
10
+ *
11
+ * Settled rather than floored because the authored rungs measured 3.96-7.73:1 across the brands,
12
+ * and anything much past the floor reads as a field already typed into. The floor is the look:
13
+ * one hint weight for every brand in both modes, instead of a per-brand accident.
14
+ */
15
+ const placeholderInkOn = (palette, surfaces) => {
16
+ const rung = palette.placeholder[500];
17
+ const hardest = surfaces.reduce((worst, s) => (0, color_1.contrastRatio)(rung, s) < (0, color_1.contrastRatio)(rung, worst) ? s : worst);
18
+ return (0, color_1.contrastRatio)(rung, hardest) > surfaceRungs_1.PLACEHOLDER_TEXT
19
+ ? (0, outlineRung_1.softenToContrast)(rung, hardest, surfaceRungs_1.PLACEHOLDER_TEXT)
20
+ : (0, outlineRung_1.liftToContrast)(rung, hardest, surfaceRungs_1.PLACEHOLDER_TEXT);
21
+ };
22
+ exports.placeholderInkOn = placeholderInkOn;
23
+ /**
24
+ * Every surface an ENABLED field renders on. Disabled fields are deliberately absent — 1.4.3
25
+ * exempts them, and folding their dimmer fill in here would darken the hint on every other field.
26
+ */
27
+ const fieldSurfaces = (palette) => [
28
+ palette.gray[50],
29
+ palette.background[50],
30
+ palette.backgroundColor.main,
31
+ ];
32
+ exports.fieldSurfaces = fieldSurfaces;
33
+ /** The hint ink every field in this library reads. Takes no backdrop: see `fieldSurfaces`. */
34
+ const placeholderInk = (palette) => (0, exports.placeholderInkOn)(palette, (0, exports.fieldSurfaces)(palette));
35
+ exports.placeholderInk = placeholderInk;
@@ -0,0 +1,11 @@
1
+ import { AA_NON_TEXT } from "./outlineRung";
2
+ import type { PaletteProps } from "../types";
3
+ /**
4
+ * A hint is floored at 3:1, not 4.5:1. Held to body-text contrast it stopped reading as a hint —
5
+ * an empty field looked like one already typed into — and the published library ships this rung
6
+ * as the brand authored it. See CHROME-CONSISTENCY.md.
7
+ */
8
+ export declare function withPlaceholderRung(palette: PaletteProps): PaletteProps;
9
+ /** The hover row is a SURFACE, so it steps away from the ink rather than the ink moving. */
10
+ export declare function withTableHoverRung(palette: PaletteProps): PaletteProps;
11
+ export { AA_NON_TEXT };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AA_NON_TEXT = void 0;
4
+ exports.withPlaceholderRung = withPlaceholderRung;
5
+ exports.withTableHoverRung = withTableHoverRung;
6
+ const outlineRung_1 = require("./outlineRung");
7
+ Object.defineProperty(exports, "AA_NON_TEXT", { enumerable: true, get: function () { return outlineRung_1.AA_NON_TEXT; } });
8
+ const accentText_1 = require("./accentText");
9
+ const surfaceRungs_1 = require("./surfaceRungs");
10
+ /**
11
+ * A hint is floored at 3:1, not 4.5:1. Held to body-text contrast it stopped reading as a hint —
12
+ * an empty field looked like one already typed into — and the published library ships this rung
13
+ * as the brand authored it. See CHROME-CONSISTENCY.md.
14
+ */
15
+ function withPlaceholderRung(palette) {
16
+ const resolved = (0, outlineRung_1.liftToContrast)(palette.placeholder[500], palette.background[50], surfaceRungs_1.PLACEHOLDER_TEXT);
17
+ if (resolved === palette.placeholder[500])
18
+ return palette;
19
+ return { ...palette, placeholder: { ...palette.placeholder, 500: resolved } };
20
+ }
21
+ /** The hover row is a SURFACE, so it steps away from the ink rather than the ink moving. */
22
+ function withTableHoverRung(palette) {
23
+ const resolved = (0, outlineRung_1.liftToContrast)(palette.table.hover[500], palette.text[500], accentText_1.AA_NORMAL_TEXT);
24
+ if (resolved === palette.table.hover[500])
25
+ return palette;
26
+ return {
27
+ ...palette,
28
+ table: { hover: { ...palette.table.hover, 500: resolved } },
29
+ };
30
+ }
@@ -0,0 +1,12 @@
1
+ import type { PaletteProps } from "../types";
2
+ export type ScrollbarStyle = Record<string, unknown>;
3
+ /** One width everywhere. The 3px, 4px, 5px and 10px bars in use were all accidents. */
4
+ export declare const SCROLLBAR_WIDTH = "6px";
5
+ export type ScrollbarVariant = "default" | "overlay" | "hover";
6
+ /**
7
+ * The single source of scrollbar chrome. `overlay` drops the track for bars that float over a
8
+ * card; `hover` keeps the thumb invisible until the region is hovered.
9
+ */
10
+ export declare function scrollbarStyles(palette: PaletteProps, variant?: ScrollbarVariant): ScrollbarStyle;
11
+ /** The same chrome for the document itself, where `&` selectors do not apply. */
12
+ export declare function globalScrollbarStyles(palette: PaletteProps): ScrollbarStyle;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SCROLLBAR_WIDTH = void 0;
4
+ exports.scrollbarStyles = scrollbarStyles;
5
+ exports.globalScrollbarStyles = globalScrollbarStyles;
6
+ /** One width everywhere. The 3px, 4px, 5px and 10px bars in use were all accidents. */
7
+ exports.SCROLLBAR_WIDTH = "6px";
8
+ const RADIUS = "6px";
9
+ /**
10
+ * The single source of scrollbar chrome. `overlay` drops the track for bars that float over a
11
+ * card; `hover` keeps the thumb invisible until the region is hovered.
12
+ */
13
+ function scrollbarStyles(palette, variant = "default") {
14
+ const { gray } = palette;
15
+ const track = variant === "default" ? gray[100] : "transparent";
16
+ const thumb = variant === "hover" ? "transparent" : gray[400];
17
+ return {
18
+ scrollbarWidth: "thin",
19
+ scrollbarColor: `${thumb} ${track}`,
20
+ "&::-webkit-scrollbar": {
21
+ width: exports.SCROLLBAR_WIDTH,
22
+ height: exports.SCROLLBAR_WIDTH,
23
+ },
24
+ "&::-webkit-scrollbar-track": {
25
+ background: track,
26
+ borderRadius: RADIUS,
27
+ },
28
+ "&::-webkit-scrollbar-thumb": {
29
+ background: thumb,
30
+ borderRadius: RADIUS,
31
+ transition: "background 0.2s ease",
32
+ },
33
+ "&::-webkit-scrollbar-thumb:hover": {
34
+ background: gray[500],
35
+ },
36
+ "&::-webkit-scrollbar-corner": {
37
+ background: track,
38
+ },
39
+ ...(variant === "hover"
40
+ ? {
41
+ "&:hover": { scrollbarColor: `${gray[400]} ${track}` },
42
+ "&:hover::-webkit-scrollbar-thumb": { background: gray[400] },
43
+ }
44
+ : {}),
45
+ };
46
+ }
47
+ /** The same chrome for the document itself, where `&` selectors do not apply. */
48
+ function globalScrollbarStyles(palette) {
49
+ const { gray } = palette;
50
+ return {
51
+ "::-webkit-scrollbar": { width: exports.SCROLLBAR_WIDTH, height: exports.SCROLLBAR_WIDTH },
52
+ "::-webkit-scrollbar-track": { background: gray[100] },
53
+ "::-webkit-scrollbar-thumb": { background: gray[400], borderRadius: RADIUS },
54
+ "::-webkit-scrollbar-thumb:hover": { background: gray[500] },
55
+ "::-webkit-scrollbar-corner": { background: gray[100] },
56
+ };
57
+ }
@@ -0,0 +1,10 @@
1
+ import type { SemanticColors, SemanticTextTokens, SemanticTone } from "../types";
2
+ export declare const SEMANTIC_TONES: readonly SemanticTone[];
3
+ /**
4
+ * `semantic[tone][500]` is a FILL rung — as ink on a light canvas it measures 1.84-3.68:1 across
5
+ * every brand. Each tone is stepped here until it clears AA as text, so a call site that wants
6
+ * "error-coloured text" cannot pick the unreadable one.
7
+ */
8
+ export declare const buildSemanticText: (semantic: SemanticColors, canvas: string) => SemanticTextTokens;
9
+ /** Ink ON the fill, not on the canvas — the pair a CSS module needs but cannot compute. */
10
+ export declare const buildOnSemantic: (semantic: SemanticColors, white: string, black: string) => SemanticTextTokens;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildOnSemantic = exports.buildSemanticText = exports.SEMANTIC_TONES = void 0;
4
+ const outlineRung_1 = require("./outlineRung");
5
+ const accentText_1 = require("./accentText");
6
+ exports.SEMANTIC_TONES = ["success", "error", "warning", "info"];
7
+ /**
8
+ * `semantic[tone][500]` is a FILL rung — as ink on a light canvas it measures 1.84-3.68:1 across
9
+ * every brand. Each tone is stepped here until it clears AA as text, so a call site that wants
10
+ * "error-coloured text" cannot pick the unreadable one.
11
+ */
12
+ const buildSemanticText = (semantic, canvas) => exports.SEMANTIC_TONES.reduce((acc, tone) => {
13
+ acc[tone] = (0, outlineRung_1.liftToContrast)(semantic[tone][500], canvas, accentText_1.AA_NORMAL_TEXT);
14
+ return acc;
15
+ }, {});
16
+ exports.buildSemanticText = buildSemanticText;
17
+ /** Ink ON the fill, not on the canvas — the pair a CSS module needs but cannot compute. */
18
+ const buildOnSemantic = (semantic, white, black) => exports.SEMANTIC_TONES.reduce((acc, tone) => {
19
+ acc[tone] = (0, accentText_1.onFilled)(semantic[tone][500], white, black);
20
+ return acc;
21
+ }, {});
22
+ exports.buildOnSemantic = buildOnSemantic;
@@ -0,0 +1,9 @@
1
+ import type { BrandPaletteSource, ColorScale, SemanticColors, SidebarTokens } from "../types";
2
+ /** WCAG 1.4.3 — the active label is normal-size text. */
3
+ export declare const AA_NORMAL_TEXT = 4.5;
4
+ /** Lightest surface an active row reaches: Chakra `whiteAlpha.400` (0.24) on hover. */
5
+ export declare const ACTIVE_SURFACE_TINT = "#ffffff3d";
6
+ export declare const sidebarActiveSurface: (background: ColorScale) => string;
7
+ /** The rail never inverts, so both modes take the accent from the LIGHT primary. */
8
+ export declare const buildSidebarTokens: (background: ColorScale, lightPrimary: ColorScale, semantic: SemanticColors) => SidebarTokens;
9
+ export declare const withSidebarTokens: (source: BrandPaletteSource) => SidebarTokens;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withSidebarTokens = exports.buildSidebarTokens = exports.sidebarActiveSurface = exports.ACTIVE_SURFACE_TINT = exports.AA_NORMAL_TEXT = void 0;
4
+ const color_1 = require("./color");
5
+ const outlineRung_1 = require("./outlineRung");
6
+ const semanticText_1 = require("./semanticText");
7
+ /** WCAG 1.4.3 — the active label is normal-size text. */
8
+ exports.AA_NORMAL_TEXT = 4.5;
9
+ /** Lightest surface an active row reaches: Chakra `whiteAlpha.400` (0.24) on hover. */
10
+ exports.ACTIVE_SURFACE_TINT = "#ffffff3d";
11
+ const sidebarActiveSurface = (background) => (0, color_1.compositeOver)(exports.ACTIVE_SURFACE_TINT, background[500]);
12
+ exports.sidebarActiveSurface = sidebarActiveSurface;
13
+ /** The rail never inverts, so both modes take the accent from the LIGHT primary. */
14
+ const buildSidebarTokens = (background, lightPrimary, semantic) => {
15
+ const surface = (0, exports.sidebarActiveSurface)(background);
16
+ const elevated = (0, outlineRung_1.resolveHoverTint)(background[500], background[500]);
17
+ return {
18
+ background,
19
+ elevated,
20
+ activeIcon: (0, outlineRung_1.liftToContrast)(lightPrimary[300], surface, outlineRung_1.AA_NON_TEXT),
21
+ activeLabel: (0, outlineRung_1.liftToContrast)(lightPrimary[100], surface, exports.AA_NORMAL_TEXT),
22
+ mutedIcon: (0, outlineRung_1.liftToContrast)(background[300], elevated, outlineRung_1.AA_NON_TEXT),
23
+ mutedLabel: (0, outlineRung_1.liftToContrast)(background[100], elevated, exports.AA_NORMAL_TEXT),
24
+ semanticText: (0, semanticText_1.buildSemanticText)(semantic, elevated),
25
+ };
26
+ };
27
+ exports.buildSidebarTokens = buildSidebarTokens;
28
+ const withSidebarTokens = (source) => (0, exports.buildSidebarTokens)(source.sidebar.background, source.primary, source.semantic);
29
+ exports.withSidebarTokens = withSidebarTokens;
@@ -22,8 +22,8 @@ function resolveStatusTone(scale, mode) {
22
22
  const edgeSeed = mode === "dark" ? scale[400] : scale[300];
23
23
  return {
24
24
  bg,
25
- fg: (0, outlineRung_1.liftToContrast)(inkSeed, bg, mode, accentText_1.AA_NORMAL_TEXT),
26
- border: (0, outlineRung_1.liftToContrast)(edgeSeed, bg, mode, outlineRung_1.AA_NON_TEXT),
25
+ fg: (0, outlineRung_1.liftToContrast)(inkSeed, bg, accentText_1.AA_NORMAL_TEXT),
26
+ border: (0, outlineRung_1.liftToContrast)(edgeSeed, bg, outlineRung_1.AA_NON_TEXT),
27
27
  };
28
28
  }
29
29
  /**
@@ -32,8 +32,7 @@ function resolveStatusTone(scale, mode) {
32
32
  * dark. Darkening the fill keeps the intended hue and the white-initials look while clearing AA.
33
33
  */
34
34
  function resolveAvatarFill(hex, target = accentText_1.AA_NORMAL_TEXT) {
35
- // "light" walks downward in lightness — i.e. darken until white ink clears the bar.
36
- return (0, outlineRung_1.liftToContrast)(hex, "#ffffff", "light", target);
35
+ return (0, outlineRung_1.liftToContrast)(hex, "#ffffff", target);
37
36
  }
38
37
  /**
39
38
  * Hue set for generated avatars. Values are seeds, not final fills — always pass them through
@@ -0,0 +1,10 @@
1
+ import type { PaletteProps } from "../types";
2
+ /**
3
+ * A hint is held to the non-text floor, not the body-text one. Deliberate: at 4.5 an empty field
4
+ * reads as one already typed into. See CHROME-CONSISTENCY.md.
5
+ */
6
+ export declare const PLACEHOLDER_TEXT = 3;
7
+ export declare const namedSurfaces: (palette: PaletteProps) => string[];
8
+ /** The surface an ink is closest to — clearing it clears every other one. */
9
+ export declare const hardestSurface: (ink: string, surfaces: string[]) => string;
10
+ export declare function withSurfaceRungs(palette: PaletteProps): PaletteProps;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hardestSurface = exports.namedSurfaces = exports.PLACEHOLDER_TEXT = void 0;
4
+ exports.withSurfaceRungs = withSurfaceRungs;
5
+ const color_1 = require("./color");
6
+ const outlineRung_1 = require("./outlineRung");
7
+ const accentText_1 = require("./accentText");
8
+ const semanticText_1 = require("./semanticText");
9
+ /**
10
+ * A hint is held to the non-text floor, not the body-text one. Deliberate: at 4.5 an empty field
11
+ * reads as one already typed into. See CHROME-CONSISTENCY.md.
12
+ */
13
+ exports.PLACEHOLDER_TEXT = outlineRung_1.AA_NON_TEXT;
14
+ const namedSurfaces = (palette) => [
15
+ ...Object.values(palette.backgroundColor),
16
+ palette.background[50],
17
+ palette.table.hover[500],
18
+ ];
19
+ exports.namedSurfaces = namedSurfaces;
20
+ /** The surface an ink is closest to — clearing it clears every other one. */
21
+ const hardestSurface = (ink, surfaces) => surfaces.reduce((worst, s) => (0, color_1.contrastRatio)(ink, s) < (0, color_1.contrastRatio)(ink, worst) ? s : worst);
22
+ exports.hardestSurface = hardestSurface;
23
+ // Runs last: `table.hover` is one of the surfaces, and it settles in its own rung.
24
+ function withSurfaceRungs(palette) {
25
+ const surfaces = (0, exports.namedSurfaces)(palette);
26
+ const lift = (ink, target) => (0, outlineRung_1.liftToContrast)(ink, (0, exports.hardestSurface)(ink, surfaces), target);
27
+ const settle = (ink, target) => (0, outlineRung_1.settleAcross)(ink, surfaces, target);
28
+ const rule = (ink) => (0, outlineRung_1.ruleInk)(ink, [palette.backgroundColor.main, palette.background[50]], outlineRung_1.CHROME_RULE);
29
+ const semanticText = semanticText_1.SEMANTIC_TONES.reduce((acc, tone) => {
30
+ acc[tone] = lift(palette.semanticText[tone], accentText_1.AA_NORMAL_TEXT);
31
+ return acc;
32
+ }, {});
33
+ return {
34
+ ...palette,
35
+ textMuted: lift(palette.textMuted, accentText_1.AA_NORMAL_TEXT),
36
+ accentText: (0, accentText_1.pickAccentText)(palette.primary, (0, exports.hardestSurface)(palette.accentText, surfaces)),
37
+ semanticText,
38
+ text: { ...palette.text, 500: lift(palette.text[500], accentText_1.AA_NORMAL_TEXT) },
39
+ header: { ...palette.header, 500: lift(palette.header[500], accentText_1.AA_NORMAL_TEXT) },
40
+ // `placeholder` is deliberately absent: the brand authors that rung and the published
41
+ // library ships it untouched. Its floor is enforced in `placeholderInk`, against the
42
+ // surfaces a FIELD renders on — not `table.hover`, which no field sits on.
43
+ // Settled, not lifted: this rung already passed through `withOutlineRung`, and lifting it
44
+ // again here to AA_NON_TEXT is what shipped 3.85-4.95:1 outlines. See CHROME_BORDER.
45
+ boxborder: {
46
+ ...palette.boxborder,
47
+ 200: rule(palette.boxborder[200]),
48
+ 500: settle(palette.boxborder[500], outlineRung_1.CHROME_BORDER),
49
+ },
50
+ // The 200 rung of both ramps is the same job under two names; settle them together or an
51
+ // app picking `border` gets a heavier rule than one picking `boxborder`.
52
+ border: { ...palette.border, 200: rule(palette.border[200]) },
53
+ };
54
+ }