pixelize-design-library 2.4.2-beta.61 → 2.4.2-beta.63

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 (582) hide show
  1. package/CHANGELOG.md +228 -2
  2. package/COMPONENT-GOTCHAS.md +144 -7
  3. package/DESIGN-GUIDE.md +12 -5
  4. package/dist/Components/Accordion/Accordion.js +2 -2
  5. package/dist/Components/AddressCard/AddressCard.js +2 -1
  6. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +1 -1
  7. package/dist/Components/AppSwitcher/AppSwitcher.js +1 -1
  8. package/dist/Components/AppearanceSettings/AppearanceSettings.js +1 -1
  9. package/dist/Components/AudioRecorder/AudioRecorder.js +2 -1
  10. package/dist/Components/Avatar/Avatar.d.ts +2 -1
  11. package/dist/Components/Avatar/Avatar.js +5 -3
  12. package/dist/Components/Backdrop/Backdrop.js +1 -1
  13. package/dist/Components/BagBar/BagBar.js +2 -1
  14. package/dist/Components/Button/Button.styles.js +51 -21
  15. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +1 -1
  16. package/dist/Components/CalendarGrid/CalendarGrid.js +5 -5
  17. package/dist/Components/CalendarGrid/calendarMath.js +18 -6
  18. package/dist/Components/Card/CardProps.d.ts +2 -2
  19. package/dist/Components/Card/PaymentCard/PaymentCard.js +6 -5
  20. package/dist/Components/CartItem/CartItem.js +2 -1
  21. package/dist/Components/Checkbox/Checkbox.d.ts +18 -3
  22. package/dist/Components/Checkbox/Checkbox.js +9 -7
  23. package/dist/Components/CheckoutKit/selectable.js +1 -1
  24. package/dist/Components/ChoiceCard/ChoiceCard.d.ts +3 -0
  25. package/dist/Components/ChoiceCard/ChoiceCard.js +16 -0
  26. package/dist/Components/ChoiceCard/ChoiceCardGroup.d.ts +3 -0
  27. package/dist/Components/ChoiceCard/ChoiceCardGroup.js +6 -0
  28. package/dist/Components/ChoiceCard/ChoiceCardProps.d.ts +28 -0
  29. package/dist/Components/ChoiceCard/ChoiceCardProps.js +2 -0
  30. package/dist/Components/CircularProgress/CircularProgress.js +4 -8
  31. package/dist/Components/CircularProgress/CircularProgressProps.d.ts +5 -3
  32. package/dist/Components/CircularProgress/arc.d.ts +9 -1
  33. package/dist/Components/CircularProgress/arc.js +15 -1
  34. package/dist/Components/Common/FormLabel.js +1 -1
  35. package/dist/Components/Common/FormattedDescription.js +1 -1
  36. package/dist/Components/Common/HelperText.d.ts +5 -4
  37. package/dist/Components/Common/HelperText.js +10 -7
  38. package/dist/Components/Common/fieldStyles.d.ts +4 -4
  39. package/dist/Components/Common/fieldStyles.js +2 -1
  40. package/dist/Components/ConfirmDialog/ConfirmDialog.js +2 -1
  41. package/dist/Components/ContactForm/ContactForm.js +1 -1
  42. package/dist/Components/CopyButton/CopyButton.js +12 -5
  43. package/dist/Components/CouponField/CouponField.js +4 -3
  44. package/dist/Components/CustomModulesTable/CustomModulesTable.js +6 -4
  45. package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +18 -0
  46. package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -1
  47. package/dist/Components/DatePicker/CalendarPanel.js +2 -2
  48. package/dist/Components/DatePicker/DatePicker.js +8 -2
  49. package/dist/Components/DatePicker/RangeDatePicker.d.ts +9 -3
  50. package/dist/Components/DatePicker/RangeDatePicker.js +8 -6
  51. package/dist/Components/DatePicker/SingleDatePicker.d.ts +9 -5
  52. package/dist/Components/DatePicker/SingleDatePicker.js +9 -5
  53. package/dist/Components/DatePicker/ThemeDatePicker.d.ts +8 -4
  54. package/dist/Components/DatePicker/ThemeDatePicker.js +9 -6
  55. package/dist/Components/DatePicker/TimeOnlyPicker.d.ts +9 -5
  56. package/dist/Components/DatePicker/TimeOnlyPicker.js +8 -5
  57. package/dist/Components/DatePicker/TimePickerInput.d.ts +2 -2
  58. package/dist/Components/DatePicker/TimePickerInput.js +6 -5
  59. package/dist/Components/DatePicker/dayStates.js +2 -1
  60. package/dist/Components/DescriptionList/DescriptionList.d.ts +1 -1
  61. package/dist/Components/DescriptionList/DescriptionList.js +3 -3
  62. package/dist/Components/DescriptionList/DescriptionListProps.d.ts +3 -3
  63. package/dist/Components/Drawer/Drawer.js +2 -1
  64. package/dist/Components/Dropdown/DropDown.js +13 -4
  65. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +2 -1
  66. package/dist/Components/EmptyState/EmptyState.js +2 -2
  67. package/dist/Components/EmptyState/EmptyStateProps.d.ts +3 -3
  68. package/dist/Components/FileUpload/FileUpload.js +28 -15
  69. package/dist/Components/FileUpload/useObjectUrl.d.ts +1 -0
  70. package/dist/Components/FileUpload/useObjectUrl.js +14 -0
  71. package/dist/Components/FileUploader/FileUploader.js +9 -3
  72. package/dist/Components/FileUploader/FileUploaderProps.d.ts +8 -0
  73. package/dist/Components/FilterBar/FilterBar.d.ts +1 -1
  74. package/dist/Components/FilterBar/FilterBar.js +2 -2
  75. package/dist/Components/FilterBar/FilterBarProps.d.ts +3 -3
  76. package/dist/Components/FilterSidebar/FilterSidebar.js +15 -8
  77. package/dist/Components/Form/FormWrapper.js +1 -1
  78. package/dist/Components/FormField/FormField.d.ts +3 -0
  79. package/dist/Components/FormField/FormField.js +57 -0
  80. package/dist/Components/FormField/FormFieldProps.d.ts +33 -0
  81. package/dist/Components/FormField/FormFieldProps.js +2 -0
  82. package/dist/Components/Header/HeaderActions.js +2 -2
  83. package/dist/Components/Header/components/mobileMenu.js +1 -1
  84. package/dist/Components/IconButton/IconButton.d.ts +5 -0
  85. package/dist/Components/IconButton/IconButton.js +24 -0
  86. package/dist/Components/IconButton/IconButtonProps.d.ts +10 -0
  87. package/dist/Components/IconButton/IconButtonProps.js +2 -0
  88. package/dist/Components/Input/PhoneNumberInput.js +14 -0
  89. package/dist/Components/Input/PhoneNumberInputProps.d.ts +1 -0
  90. package/dist/Components/KanbanBoard/AccountCard.js +7 -4
  91. package/dist/Components/KanbanBoard/AccountRow.js +1 -1
  92. package/dist/Components/KanbanBoard/KanbanBoard.js +56 -39
  93. package/dist/Components/KanbanBoard/MeasuredItem.js +6 -14
  94. package/dist/Components/KanbanBoard/boardStore.d.ts +8 -0
  95. package/dist/Components/KanbanBoard/boardStore.js +27 -0
  96. package/dist/Components/Kbd/Kbd.js +1 -1
  97. package/dist/Components/LimitReachedModal/LimitReachedModal.js +1 -1
  98. package/dist/Components/Loading/Loading.js +1 -1
  99. package/dist/Components/MediaGallery/MediaGallery.js +1 -1
  100. package/dist/Components/MediaGallery/MediaLightbox.js +2 -1
  101. package/dist/Components/MediaGallery/glass.js +2 -1
  102. package/dist/Components/MediaViewer/MediaViewer.js +1 -1
  103. package/dist/Components/MediaViewer/components/MediaAudioPlayer.js +7 -7
  104. package/dist/Components/MediaViewer/components/MediaImageViewer.js +1 -1
  105. package/dist/Components/MediaViewer/components/MediaScrubber.js +5 -1
  106. package/dist/Components/MediaViewer/components/MediaVideoPlayer.js +7 -7
  107. package/dist/Components/MediaViewer/components/PlaybackTimeline.d.ts +20 -0
  108. package/dist/Components/MediaViewer/components/PlaybackTimeline.js +47 -0
  109. package/dist/Components/MediaViewer/components/TileChip.js +1 -1
  110. package/dist/Components/Modal/Modal.js +1 -1
  111. package/dist/Components/MoreItems/MoreItems.js +2 -2
  112. package/dist/Components/NavigationBar/NavigationBar.js +5 -4
  113. package/dist/Components/NoteTextArea/NoteTextArea.js +18 -4
  114. package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +12 -0
  115. package/dist/Components/Notification/Notification.js +18 -3
  116. package/dist/Components/Notification/NotificationProps.d.ts +17 -1
  117. package/dist/Components/NotificationBell/NotificationBell.js +5 -1
  118. package/dist/Components/NotificationBell/NotificationItem.js +1 -1
  119. package/dist/Components/NotificationBell/NotificationList.js +1 -1
  120. package/dist/Components/NotificationBell/NotificationPanel.js +4 -3
  121. package/dist/Components/OffersList/OffersList.js +2 -1
  122. package/dist/Components/OptionChip/OptionChip.js +3 -2
  123. package/dist/Components/OrderStatusTimeline/OrderStatusTimeline.js +2 -1
  124. package/dist/Components/OrderSummary/OrderSummary.js +5 -5
  125. package/dist/Components/OrganizationDetails/CreateOrgModal.js +2 -1
  126. package/dist/Components/OrganizationDetails/OrganizationDetails.js +10 -2
  127. package/dist/Components/PageHeader/PageHeader.d.ts +1 -1
  128. package/dist/Components/PageHeader/PageHeader.js +2 -2
  129. package/dist/Components/PageHeader/PageHeaderProps.d.ts +3 -3
  130. package/dist/Components/Pagination/Pagination.d.ts +5 -0
  131. package/dist/Components/Pagination/Pagination.js +48 -0
  132. package/dist/Components/Pagination/PaginationProps.d.ts +46 -0
  133. package/dist/Components/Pagination/PaginationProps.js +9 -0
  134. package/dist/Components/Pagination/pageWindow.d.ts +4 -0
  135. package/dist/Components/Pagination/pageWindow.js +22 -0
  136. package/dist/Components/PaymentOption/PaymentOption.js +1 -1
  137. package/dist/Components/PersonChip/PersonChip.js +2 -2
  138. package/dist/Components/PinInput/PinInput.d.ts +1 -1
  139. package/dist/Components/PinInput/PinInput.js +17 -2
  140. package/dist/Components/PinInput/PinInputProps.d.ts +9 -1
  141. package/dist/Components/PincodeChecker/PincodeChecker.js +4 -4
  142. package/dist/Components/PlanPill/PlanPill.js +2 -1
  143. package/dist/Components/PriceBlock/PriceBlock.js +3 -3
  144. package/dist/Components/Primitives/Primitives.d.ts +2 -2
  145. package/dist/Components/Primitives/Primitives.js +2 -3
  146. package/dist/Components/ProductBadges/ProductBadges.js +2 -1
  147. package/dist/Components/ProductCard/ProductCard.js +1 -1
  148. package/dist/Components/ProductCard/ProductCardAction.js +2 -2
  149. package/dist/Components/ProductCard/ProductCardSwatches.js +2 -1
  150. package/dist/Components/ProductCard/cardMetrics.d.ts +1 -1
  151. package/dist/Components/ProductCard/cardMetrics.js +5 -1
  152. package/dist/Components/ProfileCard/ProfileCardProps.d.ts +11 -0
  153. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +9 -4
  154. package/dist/Components/QuantityStepper/QuantityStepper.js +2 -1
  155. package/dist/Components/RadioButton/RadioButton.d.ts +11 -2
  156. package/dist/Components/RadioButton/RadioButton.js +9 -6
  157. package/dist/Components/RangeSlider/RangeSlider.js +3 -3
  158. package/dist/Components/Rating/Rating.js +2 -1
  159. package/dist/Components/Reorder/Reorder.js +3 -2
  160. package/dist/Components/ReviewList/ReviewList.js +3 -3
  161. package/dist/Components/ReviewSummary/ReviewSummary.js +3 -3
  162. package/dist/Components/SaveBar/SaveBar.d.ts +1 -1
  163. package/dist/Components/SaveBar/SaveBar.js +2 -2
  164. package/dist/Components/SaveBar/SaveBarProps.d.ts +3 -3
  165. package/dist/Components/Search/Search.js +2 -9
  166. package/dist/Components/Search/ctrlShortcut.d.ts +1 -0
  167. package/dist/Components/Search/ctrlShortcut.js +29 -0
  168. package/dist/Components/SearchSelect/SearchSelect.js +157 -49
  169. package/dist/Components/SearchSelect/searchSelectNav.d.ts +13 -0
  170. package/dist/Components/SearchSelect/searchSelectNav.js +40 -0
  171. package/dist/Components/SegmentedControl/SegmentedControl.d.ts +8 -2
  172. package/dist/Components/SegmentedControl/SegmentedControl.js +9 -5
  173. package/dist/Components/Select/SelectPopup.js +7 -4
  174. package/dist/Components/SelectSearch/SelectSearch.js +6 -4
  175. package/dist/Components/SettingRow/SettingRow.js +2 -1
  176. package/dist/Components/SettingRow/SettingsSection.js +2 -1
  177. package/dist/Components/SideBar/SecondaryBar.js +5 -3
  178. package/dist/Components/SideBar/SideBar.js +96 -32
  179. package/dist/Components/SideBar/SideBarProps.d.ts +1 -1
  180. package/dist/Components/SideBar/components/MenuItemBox.d.ts +2 -2
  181. package/dist/Components/SideBar/components/MenuItemBox.js +11 -7
  182. package/dist/Components/SideBar/components/MenuItems.d.ts +2 -2
  183. package/dist/Components/SideBar/components/MenuItems.js +3 -3
  184. package/dist/Components/SideBar/components/MenuPopoverContent.js +2 -1
  185. package/dist/Components/SideBar/components/OtherApps.js +7 -2
  186. package/dist/Components/SideBar/components/OverflowTooltipText.js +4 -5
  187. package/dist/Components/SideBar/components/PinnedSection.js +8 -5
  188. package/dist/Components/SideBar/components/TextTruncation.js +11 -6
  189. package/dist/Components/SideBar/sidebarMotion.d.ts +2 -0
  190. package/dist/Components/SideBar/sidebarMotion.js +6 -0
  191. package/dist/Components/SideBar/sidebarScale.d.ts +1 -1
  192. package/dist/Components/SideBar/sidebarScale.js +2 -1
  193. package/dist/Components/SignInActivityTable/SignInActivityTable.js +6 -4
  194. package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +8 -0
  195. package/dist/Components/Skeletons/SkeletonProps.d.ts +5 -2
  196. package/dist/Components/Skeletons/Skeletons.d.ts +1 -1
  197. package/dist/Components/Skeletons/Skeletons.js +4 -2
  198. package/dist/Components/SkipLink/SkipLink.d.ts +4 -0
  199. package/dist/Components/SkipLink/SkipLink.js +54 -0
  200. package/dist/Components/SkipLink/SkipLinkProps.d.ts +8 -0
  201. package/dist/Components/SkipLink/SkipLinkProps.js +2 -0
  202. package/dist/Components/Slider/Slider.d.ts +2 -2
  203. package/dist/Components/Slider/Slider.js +11 -4
  204. package/dist/Components/SpecTable/SpecTable.js +2 -1
  205. package/dist/Components/StageProgress/StageItem.js +7 -7
  206. package/dist/Components/StageProgress/StageProgress.js +2 -1
  207. package/dist/Components/StageProgress/StageProgressProps.d.ts +1 -1
  208. package/dist/Components/StageProgress/StepperStage.js +4 -8
  209. package/dist/Components/StageProgress/centerInStrip.d.ts +2 -0
  210. package/dist/Components/StageProgress/centerInStrip.js +15 -0
  211. package/dist/Components/StatCard/StatCard.d.ts +1 -1
  212. package/dist/Components/StatCard/StatCard.js +6 -4
  213. package/dist/Components/StatCard/StatCardProps.d.ts +3 -3
  214. package/dist/Components/StickyBuyBar/StickyBuyBar.js +1 -1
  215. package/dist/Components/Table/Table.js +6 -2
  216. package/dist/Components/Table/components/TableActions.js +41 -24
  217. package/dist/Components/Table/components/TableBody.js +25 -40
  218. package/dist/Components/Table/components/rowMeasurer.d.ts +8 -0
  219. package/dist/Components/Table/components/rowMeasurer.js +71 -0
  220. package/dist/Components/Table/filters/CompactSelect.js +2 -1
  221. package/dist/Components/Table/filters/TableFilters.js +2 -13
  222. package/dist/Components/Table/hooks/useTable.js +12 -9
  223. package/dist/Components/Table/settings/TableSettings.js +7 -2
  224. package/dist/Components/Table/variants/classic.js +3 -2
  225. package/dist/Components/Tabs/components/CountBadge.js +3 -3
  226. package/dist/Components/Tabs/components/Tab.d.ts +2 -1
  227. package/dist/Components/Tabs/components/Tab.js +4 -3
  228. package/dist/Components/Tabs/components/TabList.js +16 -1
  229. package/dist/Components/Tag/Tag.d.ts +2 -2
  230. package/dist/Components/Tag/Tag.js +15 -12
  231. package/dist/Components/Tag/Tag.styles.js +6 -4
  232. package/dist/Components/TagInput/TagInput.d.ts +3 -0
  233. package/dist/Components/TagInput/TagInput.js +99 -0
  234. package/dist/Components/TagInput/TagInputProps.d.ts +46 -0
  235. package/dist/Components/TagInput/TagInputProps.js +2 -0
  236. package/dist/Components/TagInput/tagEntries.d.ts +15 -0
  237. package/dist/Components/TagInput/tagEntries.js +45 -0
  238. package/dist/Components/TimePicker/TimePicker.d.ts +3 -0
  239. package/dist/Components/TimePicker/TimePicker.js +50 -0
  240. package/dist/Components/TimePicker/TimePickerProps.d.ts +44 -0
  241. package/dist/Components/TimePicker/TimePickerProps.js +2 -0
  242. package/dist/Components/TimePicker/timeParts.d.ts +10 -0
  243. package/dist/Components/TimePicker/timeParts.js +36 -0
  244. package/dist/Components/Timeline/Timeline.js +21 -12
  245. package/dist/Components/Toaster/Toaster.js +20 -8
  246. package/dist/Components/Toggle/TableToggle.js +8 -4
  247. package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +3 -2
  248. package/dist/Components/ToggleSwitch/ToggleSwitch.js +6 -5
  249. package/dist/Components/ToolTip/ToolTip.js +86 -8
  250. package/dist/Components/UpgradeButton/UpgradeButton.js +4 -2
  251. package/dist/Components/UserDetails/AddUserModal.js +2 -1
  252. package/dist/Components/UserDetails/ChangeRoleModal.js +2 -1
  253. package/dist/Components/UserDetails/UserDetails.js +10 -2
  254. package/dist/Components/VisuallyHidden/VisuallyHidden.d.ts +15 -0
  255. package/dist/Components/VisuallyHidden/VisuallyHidden.js +21 -0
  256. package/dist/Components/VisuallyHidden/VisuallyHiddenProps.d.ts +3 -0
  257. package/dist/Components/VisuallyHidden/VisuallyHiddenProps.js +2 -0
  258. package/dist/Components/WizardDialog/WizardDialog.js +10 -5
  259. package/dist/Components/WizardDialog/WizardDialogProps.d.ts +4 -0
  260. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +5 -1
  261. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +15 -2
  262. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +2 -1
  263. package/dist/Hooks/sharedResizeObserver.d.ts +6 -0
  264. package/dist/Hooks/sharedResizeObserver.js +77 -0
  265. package/dist/Hooks/useIsTruncated.js +3 -4
  266. package/dist/Theme/chakra/Card.styles.d.ts +7 -1
  267. package/dist/Theme/chakra/Card.styles.js +4 -1
  268. package/dist/Theme/chakra/Menu.styles.d.ts +4 -6
  269. package/dist/Theme/chakra/Menu.styles.js +3 -0
  270. package/dist/Theme/chakra/Popover.styles.d.ts +2 -11
  271. package/dist/Theme/chakra/Popover.styles.js +2 -0
  272. package/dist/Theme/chakra/common.web.d.ts +5 -0
  273. package/dist/Theme/chakra/componentStyles.d.ts +12 -4
  274. package/dist/Theme/chakra/componentStyles.js +10 -6
  275. package/dist/Theme/chakra/createBrandTheme.d.ts +3 -0
  276. package/dist/Theme/chakra/createBrandTheme.js +34 -4
  277. package/dist/Theme/chakra/focusRing.styles.d.ts +2 -0
  278. package/dist/Theme/chakra/focusRing.styles.js +5 -1
  279. package/dist/Theme/chakra/fonts.web.d.ts +2 -0
  280. package/dist/Theme/chakra/motion.d.ts +15 -0
  281. package/dist/Theme/chakra/motion.js +27 -1
  282. package/dist/Theme/chakra/overlay.styles.d.ts +5 -0
  283. package/dist/Theme/chakra/overlay.styles.js +4 -1
  284. package/dist/Theme/index.d.ts +2 -1
  285. package/dist/Theme/index.js +12 -9
  286. package/dist/Theme/provider/PixelizeThemeProvider.d.ts +4 -1
  287. package/dist/Theme/provider/PixelizeThemeProvider.js +21 -12
  288. package/dist/Theme/provider/ThemeSwitcher.js +3 -2
  289. package/dist/Theme/themeProps.d.ts +7 -0
  290. package/dist/Theme/tokens/brands/emerald/palette.dark.js +2 -1
  291. package/dist/Theme/tokens/brands/index.d.ts +2 -1
  292. package/dist/Theme/tokens/brands/index.js +31 -14
  293. package/dist/Theme/tokens/brands/lavender/palette.dark.js +2 -1
  294. package/dist/Theme/tokens/brands/meadow/palette.dark.js +2 -1
  295. package/dist/Theme/tokens/brands/radiant/palette.dark.js +2 -1
  296. package/dist/Theme/tokens/brands/radiant/palette.light.js +15 -0
  297. package/dist/Theme/tokens/brands/rosewood/palette.dark.js +2 -1
  298. package/dist/Theme/tokens/brands/rosewood/palette.light.js +10 -10
  299. package/dist/Theme/tokens/brands/skyline/palette.dark.js +2 -1
  300. package/dist/Theme/tokens/brands/slate/palette.dark.js +2 -1
  301. package/dist/Theme/tokens/brands/storefront/palette.dark.js +2 -1
  302. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +7 -29
  303. package/dist/Theme/tokens/brands/zinc/palette.dark.js +27 -55
  304. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +6 -1
  305. package/dist/Theme/tokens/builders/buildDarkPalette.js +37 -8
  306. package/dist/Theme/tokens/builders/color.js +11 -7
  307. package/dist/Theme/tokens/builders/filledSurface.d.ts +3 -1
  308. package/dist/Theme/tokens/builders/filledSurface.js +7 -7
  309. package/dist/Theme/tokens/builders/lazy.d.ts +5 -0
  310. package/dist/Theme/tokens/builders/lazy.js +55 -0
  311. package/dist/Theme/tokens/builders/memo.d.ts +9 -0
  312. package/dist/Theme/tokens/builders/memo.js +28 -0
  313. package/dist/Theme/tokens/builders/memoByReads.d.ts +2 -0
  314. package/dist/Theme/tokens/builders/memoByReads.js +50 -0
  315. package/dist/Theme/tokens/builders/mutedText.d.ts +1 -1
  316. package/dist/Theme/tokens/builders/mutedText.js +13 -3
  317. package/dist/Theme/tokens/builders/outlineRung.js +10 -2
  318. package/dist/Theme/tokens/builders/planeStep.d.ts +4 -0
  319. package/dist/Theme/tokens/builders/planeStep.js +20 -0
  320. package/dist/Theme/tokens/builders/planes.d.ts +4 -0
  321. package/dist/Theme/tokens/builders/planes.js +33 -0
  322. package/dist/Theme/tokens/builders/skeletonShimmer.d.ts +9 -0
  323. package/dist/Theme/tokens/builders/skeletonShimmer.js +25 -0
  324. package/dist/Theme/tokens/builders/surfaceRaised.d.ts +3 -1
  325. package/dist/Theme/tokens/builders/surfaceRaised.js +18 -8
  326. package/dist/Theme/tokens/builders/surfaceRungs.js +3 -1
  327. package/dist/Theme/tokens/builders/tone.js +5 -4
  328. package/dist/Theme/tokens/primitives/borderWidths.d.ts +6 -0
  329. package/dist/Theme/tokens/primitives/borderWidths.js +5 -0
  330. package/dist/Theme/tokens/primitives/index.d.ts +8 -3
  331. package/dist/Theme/tokens/primitives/index.js +11 -1
  332. package/dist/Theme/tokens/primitives/motion.d.ts +26 -2
  333. package/dist/Theme/tokens/primitives/motion.js +24 -5
  334. package/dist/Theme/tokens/primitives/optionRowSizes.d.ts +1 -1
  335. package/dist/Theme/tokens/primitives/optionRowSizes.js +2 -1
  336. package/dist/Theme/tokens/primitives/radii.d.ts +15 -0
  337. package/dist/Theme/tokens/primitives/radii.js +14 -0
  338. package/dist/Theme/tokens/primitives/shadows.d.ts +21 -1
  339. package/dist/Theme/tokens/primitives/shadows.js +59 -5
  340. package/dist/Theme/tokens/primitives/states.d.ts +1 -0
  341. package/dist/Theme/tokens/primitives/states.js +4 -0
  342. package/dist/Theme/tokens/primitives/typography.d.ts +17 -0
  343. package/dist/Theme/tokens/primitives/typography.js +22 -2
  344. package/dist/Theme/tokens/primitives/zIndices.d.ts +1 -0
  345. package/dist/Theme/tokens/primitives/zIndices.js +1 -0
  346. package/dist/Utils/formatDate.d.ts +25 -0
  347. package/dist/Utils/formatDate.js +144 -0
  348. package/dist/esm/Components/Accordion/Accordion.js +2 -2
  349. package/dist/esm/Components/AddressCard/AddressCard.js +2 -1
  350. package/dist/esm/Components/Apexcharts/ApexLineChart/ApexLineChart.js +1 -1
  351. package/dist/esm/Components/AppSwitcher/AppSwitcher.js +1 -1
  352. package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +1 -1
  353. package/dist/esm/Components/AudioRecorder/AudioRecorder.js +2 -1
  354. package/dist/esm/Components/Avatar/Avatar.js +6 -4
  355. package/dist/esm/Components/Backdrop/Backdrop.js +1 -1
  356. package/dist/esm/Components/BagBar/BagBar.js +2 -1
  357. package/dist/esm/Components/Button/Button.styles.js +54 -24
  358. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +1 -1
  359. package/dist/esm/Components/CalendarGrid/CalendarGrid.js +6 -6
  360. package/dist/esm/Components/CalendarGrid/calendarMath.js +18 -6
  361. package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +6 -5
  362. package/dist/esm/Components/CartItem/CartItem.js +2 -1
  363. package/dist/esm/Components/Checkbox/Checkbox.js +8 -5
  364. package/dist/esm/Components/CheckoutKit/selectable.js +1 -1
  365. package/dist/esm/Components/ChoiceCard/ChoiceCard.js +14 -0
  366. package/dist/esm/Components/ChoiceCard/ChoiceCardGroup.js +4 -0
  367. package/dist/esm/Components/ChoiceCard/ChoiceCardProps.js +1 -0
  368. package/dist/esm/Components/CircularProgress/CircularProgress.js +5 -9
  369. package/dist/esm/Components/CircularProgress/arc.js +13 -0
  370. package/dist/esm/Components/Common/FormLabel.js +1 -1
  371. package/dist/esm/Components/Common/FormattedDescription.js +1 -1
  372. package/dist/esm/Components/Common/HelperText.js +11 -8
  373. package/dist/esm/Components/Common/fieldStyles.js +2 -1
  374. package/dist/esm/Components/ConfirmDialog/ConfirmDialog.js +2 -1
  375. package/dist/esm/Components/ContactForm/ContactForm.js +1 -1
  376. package/dist/esm/Components/CopyButton/CopyButton.js +14 -7
  377. package/dist/esm/Components/CouponField/CouponField.js +4 -3
  378. package/dist/esm/Components/CustomModulesTable/CustomModulesTable.js +6 -4
  379. package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +2 -1
  380. package/dist/esm/Components/DatePicker/CalendarPanel.js +2 -2
  381. package/dist/esm/Components/DatePicker/DatePicker.js +8 -2
  382. package/dist/esm/Components/DatePicker/RangeDatePicker.js +10 -7
  383. package/dist/esm/Components/DatePicker/SingleDatePicker.js +9 -5
  384. package/dist/esm/Components/DatePicker/ThemeDatePicker.js +7 -4
  385. package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +7 -4
  386. package/dist/esm/Components/DatePicker/TimePickerInput.js +8 -6
  387. package/dist/esm/Components/DatePicker/dayStates.js +2 -1
  388. package/dist/esm/Components/DescriptionList/DescriptionList.js +3 -3
  389. package/dist/esm/Components/Drawer/Drawer.js +2 -1
  390. package/dist/esm/Components/Dropdown/DropDown.js +13 -4
  391. package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +2 -1
  392. package/dist/esm/Components/EmptyState/EmptyState.js +2 -2
  393. package/dist/esm/Components/FileUpload/FileUpload.js +29 -16
  394. package/dist/esm/Components/FileUpload/useObjectUrl.js +10 -0
  395. package/dist/esm/Components/FileUploader/FileUploader.js +9 -3
  396. package/dist/esm/Components/FilterBar/FilterBar.js +2 -2
  397. package/dist/esm/Components/FilterSidebar/FilterSidebar.js +15 -8
  398. package/dist/esm/Components/Form/FormWrapper.js +1 -1
  399. package/dist/esm/Components/FormField/FormField.js +52 -0
  400. package/dist/esm/Components/FormField/FormFieldProps.js +1 -0
  401. package/dist/esm/Components/Header/HeaderActions.js +2 -2
  402. package/dist/esm/Components/Header/components/mobileMenu.js +1 -1
  403. package/dist/esm/Components/IconButton/IconButton.js +21 -0
  404. package/dist/esm/Components/IconButton/IconButtonProps.js +1 -0
  405. package/dist/esm/Components/Input/PhoneNumberInput.js +15 -1
  406. package/dist/esm/Components/KanbanBoard/AccountCard.js +7 -4
  407. package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -1
  408. package/dist/esm/Components/KanbanBoard/KanbanBoard.js +56 -39
  409. package/dist/esm/Components/KanbanBoard/MeasuredItem.js +6 -14
  410. package/dist/esm/Components/KanbanBoard/boardStore.js +22 -0
  411. package/dist/esm/Components/Kbd/Kbd.js +1 -1
  412. package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +1 -1
  413. package/dist/esm/Components/Loading/Loading.js +1 -1
  414. package/dist/esm/Components/MediaGallery/MediaGallery.js +2 -2
  415. package/dist/esm/Components/MediaGallery/MediaLightbox.js +2 -1
  416. package/dist/esm/Components/MediaGallery/glass.js +2 -1
  417. package/dist/esm/Components/MediaViewer/MediaViewer.js +1 -1
  418. package/dist/esm/Components/MediaViewer/components/MediaAudioPlayer.js +7 -7
  419. package/dist/esm/Components/MediaViewer/components/MediaImageViewer.js +1 -1
  420. package/dist/esm/Components/MediaViewer/components/MediaScrubber.js +5 -1
  421. package/dist/esm/Components/MediaViewer/components/MediaVideoPlayer.js +7 -7
  422. package/dist/esm/Components/MediaViewer/components/PlaybackTimeline.js +38 -0
  423. package/dist/esm/Components/MediaViewer/components/TileChip.js +1 -1
  424. package/dist/esm/Components/Modal/Modal.js +1 -1
  425. package/dist/esm/Components/MoreItems/MoreItems.js +2 -2
  426. package/dist/esm/Components/NavigationBar/NavigationBar.js +5 -4
  427. package/dist/esm/Components/NoteTextArea/NoteTextArea.js +18 -4
  428. package/dist/esm/Components/Notification/Notification.js +18 -3
  429. package/dist/esm/Components/NotificationBell/NotificationBell.js +2 -1
  430. package/dist/esm/Components/NotificationBell/NotificationItem.js +1 -1
  431. package/dist/esm/Components/NotificationBell/NotificationList.js +1 -1
  432. package/dist/esm/Components/NotificationBell/NotificationPanel.js +4 -3
  433. package/dist/esm/Components/OffersList/OffersList.js +2 -1
  434. package/dist/esm/Components/OptionChip/OptionChip.js +3 -2
  435. package/dist/esm/Components/OrderStatusTimeline/OrderStatusTimeline.js +2 -1
  436. package/dist/esm/Components/OrderSummary/OrderSummary.js +5 -5
  437. package/dist/esm/Components/OrganizationDetails/CreateOrgModal.js +2 -1
  438. package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +10 -2
  439. package/dist/esm/Components/PageHeader/PageHeader.js +2 -2
  440. package/dist/esm/Components/Pagination/Pagination.js +42 -0
  441. package/dist/esm/Components/Pagination/PaginationProps.js +6 -0
  442. package/dist/esm/Components/Pagination/pageWindow.js +16 -0
  443. package/dist/esm/Components/PaymentOption/PaymentOption.js +1 -1
  444. package/dist/esm/Components/PersonChip/PersonChip.js +2 -2
  445. package/dist/esm/Components/PinInput/PinInput.js +14 -2
  446. package/dist/esm/Components/PincodeChecker/PincodeChecker.js +4 -4
  447. package/dist/esm/Components/PlanPill/PlanPill.js +2 -1
  448. package/dist/esm/Components/PriceBlock/PriceBlock.js +3 -3
  449. package/dist/esm/Components/Primitives/Primitives.js +1 -1
  450. package/dist/esm/Components/ProductBadges/ProductBadges.js +2 -1
  451. package/dist/esm/Components/ProductCard/ProductCard.js +1 -1
  452. package/dist/esm/Components/ProductCard/ProductCardAction.js +3 -3
  453. package/dist/esm/Components/ProductCard/ProductCardSwatches.js +2 -1
  454. package/dist/esm/Components/ProductCard/cardMetrics.js +2 -1
  455. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +9 -4
  456. package/dist/esm/Components/QuantityStepper/QuantityStepper.js +2 -1
  457. package/dist/esm/Components/RadioButton/RadioButton.js +7 -4
  458. package/dist/esm/Components/RangeSlider/RangeSlider.js +3 -3
  459. package/dist/esm/Components/Rating/Rating.js +2 -1
  460. package/dist/esm/Components/Reorder/Reorder.js +3 -2
  461. package/dist/esm/Components/ReviewList/ReviewList.js +3 -3
  462. package/dist/esm/Components/ReviewSummary/ReviewSummary.js +3 -3
  463. package/dist/esm/Components/SaveBar/SaveBar.js +2 -2
  464. package/dist/esm/Components/Search/Search.js +2 -9
  465. package/dist/esm/Components/Search/ctrlShortcut.js +25 -0
  466. package/dist/esm/Components/SearchSelect/SearchSelect.js +160 -52
  467. package/dist/esm/Components/SearchSelect/searchSelectNav.js +32 -0
  468. package/dist/esm/Components/SegmentedControl/SegmentedControl.js +11 -6
  469. package/dist/esm/Components/Select/SelectPopup.js +7 -4
  470. package/dist/esm/Components/SelectSearch/SelectSearch.js +6 -4
  471. package/dist/esm/Components/SettingRow/SettingRow.js +2 -1
  472. package/dist/esm/Components/SettingRow/SettingsSection.js +2 -1
  473. package/dist/esm/Components/SideBar/SecondaryBar.js +5 -3
  474. package/dist/esm/Components/SideBar/SideBar.js +98 -34
  475. package/dist/esm/Components/SideBar/components/MenuItemBox.js +11 -7
  476. package/dist/esm/Components/SideBar/components/MenuItems.js +4 -4
  477. package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +2 -1
  478. package/dist/esm/Components/SideBar/components/OtherApps.js +4 -2
  479. package/dist/esm/Components/SideBar/components/OverflowTooltipText.js +4 -5
  480. package/dist/esm/Components/SideBar/components/PinnedSection.js +8 -5
  481. package/dist/esm/Components/SideBar/components/TextTruncation.js +9 -7
  482. package/dist/esm/Components/SideBar/sidebarMotion.js +3 -0
  483. package/dist/esm/Components/SideBar/sidebarScale.js +2 -1
  484. package/dist/esm/Components/SignInActivityTable/SignInActivityTable.js +6 -4
  485. package/dist/esm/Components/Skeletons/Skeletons.js +4 -2
  486. package/dist/esm/Components/SkipLink/SkipLink.js +50 -0
  487. package/dist/esm/Components/SkipLink/SkipLinkProps.js +1 -0
  488. package/dist/esm/Components/Slider/Slider.js +11 -4
  489. package/dist/esm/Components/SpecTable/SpecTable.js +2 -1
  490. package/dist/esm/Components/StageProgress/StageItem.js +7 -7
  491. package/dist/esm/Components/StageProgress/StageProgress.js +2 -1
  492. package/dist/esm/Components/StageProgress/StepperStage.js +4 -8
  493. package/dist/esm/Components/StageProgress/centerInStrip.js +11 -0
  494. package/dist/esm/Components/StatCard/StatCard.js +6 -4
  495. package/dist/esm/Components/StickyBuyBar/StickyBuyBar.js +2 -2
  496. package/dist/esm/Components/Table/Table.js +8 -4
  497. package/dist/esm/Components/Table/components/TableActions.js +43 -26
  498. package/dist/esm/Components/Table/components/TableBody.js +25 -40
  499. package/dist/esm/Components/Table/components/rowMeasurer.js +66 -0
  500. package/dist/esm/Components/Table/filters/CompactSelect.js +2 -1
  501. package/dist/esm/Components/Table/filters/TableFilters.js +3 -14
  502. package/dist/esm/Components/Table/hooks/useTable.js +12 -9
  503. package/dist/esm/Components/Table/settings/TableSettings.js +8 -3
  504. package/dist/esm/Components/Table/variants/classic.js +3 -2
  505. package/dist/esm/Components/Tabs/components/CountBadge.js +3 -3
  506. package/dist/esm/Components/Tabs/components/Tab.js +5 -4
  507. package/dist/esm/Components/Tabs/components/TabList.js +16 -1
  508. package/dist/esm/Components/Tag/Tag.js +11 -8
  509. package/dist/esm/Components/Tag/Tag.styles.js +6 -4
  510. package/dist/esm/Components/TagInput/TagInput.js +94 -0
  511. package/dist/esm/Components/TagInput/TagInputProps.js +1 -0
  512. package/dist/esm/Components/TagInput/tagEntries.js +39 -0
  513. package/dist/esm/Components/TimePicker/TimePicker.js +45 -0
  514. package/dist/esm/Components/TimePicker/TimePickerProps.js +1 -0
  515. package/dist/esm/Components/TimePicker/timeParts.js +26 -0
  516. package/dist/esm/Components/Timeline/Timeline.js +21 -12
  517. package/dist/esm/Components/Toaster/Toaster.js +21 -9
  518. package/dist/esm/Components/Toggle/TableToggle.js +8 -4
  519. package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +7 -5
  520. package/dist/esm/Components/ToolTip/ToolTip.js +89 -11
  521. package/dist/esm/Components/UpgradeButton/UpgradeButton.js +4 -2
  522. package/dist/esm/Components/UserDetails/AddUserModal.js +2 -1
  523. package/dist/esm/Components/UserDetails/ChangeRoleModal.js +2 -1
  524. package/dist/esm/Components/UserDetails/UserDetails.js +10 -2
  525. package/dist/esm/Components/VisuallyHidden/VisuallyHidden.js +18 -0
  526. package/dist/esm/Components/VisuallyHidden/VisuallyHiddenProps.js +1 -0
  527. package/dist/esm/Components/WizardDialog/WizardDialog.js +11 -6
  528. package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +2 -1
  529. package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +13 -3
  530. package/dist/esm/Hooks/sharedResizeObserver.js +73 -0
  531. package/dist/esm/Hooks/useIsTruncated.js +3 -4
  532. package/dist/esm/Theme/chakra/Card.styles.js +4 -1
  533. package/dist/esm/Theme/chakra/Menu.styles.js +3 -0
  534. package/dist/esm/Theme/chakra/Popover.styles.js +2 -0
  535. package/dist/esm/Theme/chakra/componentStyles.js +10 -6
  536. package/dist/esm/Theme/chakra/createBrandTheme.js +34 -4
  537. package/dist/esm/Theme/chakra/focusRing.styles.js +3 -0
  538. package/dist/esm/Theme/chakra/motion.js +26 -0
  539. package/dist/esm/Theme/chakra/overlay.styles.js +3 -0
  540. package/dist/esm/Theme/index.js +12 -9
  541. package/dist/esm/Theme/provider/PixelizeThemeProvider.js +22 -13
  542. package/dist/esm/Theme/provider/ThemeSwitcher.js +3 -2
  543. package/dist/esm/Theme/tokens/brands/emerald/palette.dark.js +2 -1
  544. package/dist/esm/Theme/tokens/brands/index.js +30 -13
  545. package/dist/esm/Theme/tokens/brands/lavender/palette.dark.js +2 -1
  546. package/dist/esm/Theme/tokens/brands/meadow/palette.dark.js +2 -1
  547. package/dist/esm/Theme/tokens/brands/radiant/palette.dark.js +2 -1
  548. package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +15 -0
  549. package/dist/esm/Theme/tokens/brands/rosewood/palette.dark.js +2 -1
  550. package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +10 -10
  551. package/dist/esm/Theme/tokens/brands/skyline/palette.dark.js +2 -1
  552. package/dist/esm/Theme/tokens/brands/slate/palette.dark.js +2 -1
  553. package/dist/esm/Theme/tokens/brands/storefront/palette.dark.js +2 -1
  554. package/dist/esm/Theme/tokens/brands/zinc/palette.dark.js +27 -55
  555. package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +38 -9
  556. package/dist/esm/Theme/tokens/builders/color.js +10 -6
  557. package/dist/esm/Theme/tokens/builders/filledSurface.js +7 -7
  558. package/dist/esm/Theme/tokens/builders/lazy.js +49 -0
  559. package/dist/esm/Theme/tokens/builders/memo.js +21 -0
  560. package/dist/esm/Theme/tokens/builders/memoByReads.js +46 -0
  561. package/dist/esm/Theme/tokens/builders/mutedText.js +12 -2
  562. package/dist/esm/Theme/tokens/builders/outlineRung.js +10 -2
  563. package/dist/esm/Theme/tokens/builders/planeStep.js +14 -0
  564. package/dist/esm/Theme/tokens/builders/planes.js +28 -0
  565. package/dist/esm/Theme/tokens/builders/skeletonShimmer.js +21 -0
  566. package/dist/esm/Theme/tokens/builders/surfaceRaised.js +16 -7
  567. package/dist/esm/Theme/tokens/builders/surfaceRungs.js +3 -1
  568. package/dist/esm/Theme/tokens/builders/tone.js +5 -4
  569. package/dist/esm/Theme/tokens/primitives/borderWidths.js +2 -0
  570. package/dist/esm/Theme/tokens/primitives/index.js +5 -3
  571. package/dist/esm/Theme/tokens/primitives/motion.js +21 -4
  572. package/dist/esm/Theme/tokens/primitives/optionRowSizes.js +2 -1
  573. package/dist/esm/Theme/tokens/primitives/radii.js +13 -0
  574. package/dist/esm/Theme/tokens/primitives/shadows.js +56 -5
  575. package/dist/esm/Theme/tokens/primitives/states.js +1 -0
  576. package/dist/esm/Theme/tokens/primitives/typography.js +21 -1
  577. package/dist/esm/Theme/tokens/primitives/zIndices.js +1 -0
  578. package/dist/esm/Utils/formatDate.js +138 -0
  579. package/dist/esm/index.js +19 -2
  580. package/dist/index.d.ts +34 -5
  581. package/dist/index.js +51 -4
  582. package/package.json +1 -1
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.themeNames = exports.palettes = exports.darkPalettes = exports.lightPalettes = exports.zincDark = exports.storefrontDark = exports.rosewoodDark = exports.emeraldDark = exports.slateDark = exports.skylineDark = exports.radiantDark = exports.meadowDark = exports.lavenderDark = exports.zinc = exports.storefront = exports.rosewood = exports.emerald = exports.slate = exports.skyline = exports.radiant = exports.meadow = exports.lavender = exports.finalizeLightPalette = void 0;
6
+ exports.themeNames = exports.palettes = exports.darkPalettes = exports.lightPalettes = exports.zincDark = exports.storefrontDark = exports.rosewoodDark = exports.emeraldDark = exports.slateDark = exports.skylineDark = exports.radiantDark = exports.meadowDark = exports.lavenderDark = exports.zinc = exports.storefront = exports.rosewood = exports.emerald = exports.slate = exports.skyline = exports.radiant = exports.meadow = exports.lavender = exports.finalizeLightPalette = exports.LIGHT_CANVAS_STEP = void 0;
7
7
  const palette_light_1 = __importDefault(require("./lavender/palette.light"));
8
8
  exports.lavender = palette_light_1.default;
9
9
  const palette_light_2 = __importDefault(require("./meadow/palette.light"));
@@ -50,9 +50,26 @@ const focusRing_1 = require("../builders/focusRing");
50
50
  const surfaceRungs_1 = require("../builders/surfaceRungs");
51
51
  const surfaceRaised_1 = require("../builders/surfaceRaised");
52
52
  const star_1 = require("../builders/star");
53
+ const lazy_1 = require("../builders/lazy");
54
+ const color_1 = require("../builders/color");
55
+ exports.LIGHT_CANVAS_STEP = 1.09;
56
+ const CANVAS_MIX_STEP = 0.0025;
57
+ const CANVAS_MIX_MAX = 0.5;
58
+ const lightCanvas = (canvas, card, ink) => {
59
+ for (let weight = 0; weight < CANVAS_MIX_MAX; weight += CANVAS_MIX_STEP) {
60
+ const next = (0, color_1.mix)(canvas, ink, weight);
61
+ if ((0, color_1.contrastRatio)(next, card) >= exports.LIGHT_CANVAS_STEP)
62
+ return next;
63
+ }
64
+ return (0, color_1.mix)(canvas, ink, CANVAS_MIX_MAX);
65
+ };
53
66
  /** Derived, never hand-written: a copied hex goes stale the moment a canvas moves. */
54
67
  const finalizeLightPalette = (source) => ({
55
68
  ...source,
69
+ backgroundColor: {
70
+ ...source.backgroundColor,
71
+ base: lightCanvas(source.backgroundColor.base, source.background[50], source.text[900]),
72
+ },
56
73
  sidebar: (0, sidebarAccent_1.withSidebarTokens)(source),
57
74
  accentText: (0, accentText_1.pickAccentText)(source.primary, source.backgroundColor.main),
58
75
  textMuted: (0, mutedText_1.buildMutedText)(source.text, source.backgroundColor.main),
@@ -66,8 +83,8 @@ const finalizeLightPalette = (source) => ({
66
83
  exports.finalizeLightPalette = finalizeLightPalette;
67
84
  // NOTE: withFocusRing is outermost — it must see primary and surfaces together, after every earlier step.
68
85
  const resolveRungs = (palette) => (0, focusRing_1.withFocusRing)((0, surfaceRungs_1.withSurfaceRungs)((0, surfaceRaised_1.withSurfaceRaised)((0, resolvedRungs_1.withTableHoverRung)((0, resolvedRungs_1.withPlaceholderRung)((0, outlineRung_1.withOutlineRung)(palette))))));
69
- const lightBrand = (source) => resolveRungs((0, exports.finalizeLightPalette)(source));
70
- /** Light palette per brand. `lavender` is the base the other six extend. */
86
+ const lightBrand = (source) => (0, lazy_1.lazyPalette)(source, () => resolveRungs((0, exports.finalizeLightPalette)(source)));
87
+ /** Light palette per brand, derived on first read. `lavender` is the base the other six extend. */
71
88
  exports.lightPalettes = {
72
89
  lavender: lightBrand(palette_light_1.default),
73
90
  meadow: lightBrand(palette_light_2.default),
@@ -79,18 +96,18 @@ exports.lightPalettes = {
79
96
  storefront: lightBrand(palette_light_8.default),
80
97
  zinc: lightBrand(palette_light_9.default),
81
98
  };
82
- /** Dark palette per brand, derived from the matching light palette. */
83
- const darkBrand = (dark) => resolveRungs(dark);
99
+ /** Dark palette per brand, derived from the matching light palette on first read. */
100
+ const darkBrand = (source, dark) => (0, lazy_1.lazyPalette)(source, () => resolveRungs(dark));
84
101
  exports.darkPalettes = {
85
- lavender: darkBrand(palette_dark_1.default),
86
- meadow: darkBrand(palette_dark_2.default),
87
- radiant: darkBrand(palette_dark_3.default),
88
- skyline: darkBrand(palette_dark_4.default),
89
- slate: darkBrand(palette_dark_5.default),
90
- emerald: darkBrand(palette_dark_6.default),
91
- rosewood: darkBrand(palette_dark_7.default),
92
- storefront: darkBrand(palette_dark_8.default),
93
- zinc: darkBrand(palette_dark_9.default),
102
+ lavender: darkBrand(palette_light_1.default, palette_dark_1.default),
103
+ meadow: darkBrand(palette_light_2.default, palette_dark_2.default),
104
+ radiant: darkBrand(palette_light_3.default, palette_dark_3.default),
105
+ skyline: darkBrand(palette_light_4.default, palette_dark_4.default),
106
+ slate: darkBrand(palette_light_5.default, palette_dark_5.default),
107
+ emerald: darkBrand(palette_light_6.default, palette_dark_6.default),
108
+ rosewood: darkBrand(palette_light_7.default, palette_dark_7.default),
109
+ storefront: darkBrand(palette_light_8.default, palette_dark_8.default),
110
+ zinc: darkBrand(palette_light_9.default, palette_dark_9.default),
94
111
  };
95
112
  // Built from lightPalettes/darkPalettes (not the raw literals) so accentText can never be
96
113
  // present on one map and missing on the other.
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -17,8 +17,22 @@ const primary = {
17
17
  900: "#531a14",
18
18
  opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
19
19
  };
20
+ const danger = {
21
+ 50: "#fcedf3",
22
+ 100: "#f5c5db",
23
+ 200: "#f1a9ca",
24
+ 300: "#ec82b4",
25
+ 400: "#ea69a7",
26
+ 500: "#e74494",
27
+ 600: "#d23e87",
28
+ 700: "#a43069",
29
+ 800: "#7f2651",
30
+ 900: "#611c3e",
31
+ };
20
32
  const palette = {
21
33
  ...neutrals_1.neutralTokens,
34
+ red: danger,
35
+ semantic: { ...neutrals_1.neutralTokens.semantic, error: danger },
22
36
  ...(0, brandInk_1.buildBrandInk)(PRIMARY_500),
23
37
  // NOTE: stops retuned so white gradient-button text clears AA at both ends — original let it drop to 4.37/2.15.
24
38
  gradient: { from: "#cd4733", to: "#a36807" }, // terracotta red → amber
@@ -120,6 +134,7 @@ const palette = {
120
134
  boxShadow: {
121
135
  primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
122
136
  ...neutrals_1.sharedBoxShadow,
137
+ error: `${danger[500]}47`,
123
138
  },
124
139
  };
125
140
  exports.default = palette;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const neutrals_1 = require("../neutrals");
4
4
  const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
5
5
  const brandInk_1 = require("../../builders/brandInk");
6
- const PRIMARY_500 = "#d16a7e"; // muted warm rose (not neon pink)
6
+ const PRIMARY_500 = "#cb6b94";
7
7
  const primary = {
8
- 50: "#fdf2f5",
9
- 100: "#f9d6de",
10
- 200: "#f2aaba",
11
- 300: "#ea7f96",
12
- 400: "#de627d",
8
+ 50: "#fcf2f7",
9
+ 100: "#f6d6e5",
10
+ 200: "#edabc9",
11
+ 300: "#e480ad",
12
+ 400: "#d76398",
13
13
  500: PRIMARY_500,
14
- 600: "#b9556b",
15
- 700: "#984558",
16
- 800: "#763646",
17
- 900: "#552634",
14
+ 600: "#b35681",
15
+ 700: "#93466a",
16
+ 800: "#723754",
17
+ 900: "#52273e",
18
18
  opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(PRIMARY_500),
19
19
  };
20
20
  const palette = {
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
+ const lazy_1 = require("../../builders/lazy");
7
8
  const palette_light_1 = __importDefault(require("./palette.light"));
8
- const palette = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
9
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, () => (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default));
9
10
  exports.default = palette;
@@ -66,18 +66,6 @@ declare const palette: {
66
66
  800: string;
67
67
  900: string;
68
68
  };
69
- background: {
70
- 50: string;
71
- 100: string;
72
- 200: string;
73
- 300: string;
74
- 400: string;
75
- 500: string;
76
- 600: string;
77
- 700: string;
78
- 800: string;
79
- 900: string;
80
- };
81
69
  text: {
82
70
  50: string;
83
71
  100: string;
@@ -103,9 +91,6 @@ declare const palette: {
103
91
  900: string;
104
92
  };
105
93
  gray: {
106
- 50: string;
107
- 100: string;
108
- 200: string;
109
94
  300: string;
110
95
  400: string;
111
96
  500: string;
@@ -113,6 +98,9 @@ declare const palette: {
113
98
  700: string;
114
99
  800: string;
115
100
  900: string;
101
+ 50: string;
102
+ 100: string;
103
+ 200: string;
116
104
  };
117
105
  border: {
118
106
  50: string;
@@ -162,20 +150,6 @@ declare const palette: {
162
150
  800: string;
163
151
  900: string;
164
152
  };
165
- table: {
166
- hover: {
167
- 50: string;
168
- 100: string;
169
- 200: string;
170
- 300: string;
171
- 400: string;
172
- 500: string;
173
- 600: string;
174
- 700: string;
175
- 800: string;
176
- 900: string;
177
- };
178
- };
179
153
  accentText: string;
180
154
  onPrimary: string;
181
155
  boxShadow: {
@@ -197,8 +171,12 @@ declare const palette: {
197
171
  purple: import("../..").ColorScale;
198
172
  pink: import("../..").ColorScale;
199
173
  backgroundColor: import("../..").NamedSurfaces;
174
+ background: import("../..").ColorScale;
200
175
  focusRing: import("../..").FocusRingTokens;
201
176
  sidebar: import("../..").SidebarTokens;
177
+ table: {
178
+ hover: import("../..").ColorScale;
179
+ };
202
180
  semanticText: import("../..").SemanticTextTokens;
203
181
  textMuted: string;
204
182
  onSemantic: import("../..").SemanticTextTokens;
@@ -7,9 +7,9 @@ const buildDarkPalette_1 = require("../../builders/buildDarkPalette");
7
7
  const brandInk_1 = require("../../builders/brandInk");
8
8
  const buildBrandTokens_1 = require("../../builders/buildBrandTokens");
9
9
  const accentText_1 = require("../../builders/accentText");
10
+ const lazy_1 = require("../../builders/lazy");
10
11
  const palette_light_1 = __importDefault(require("./palette.light"));
11
12
  // NOTE: zinc dark INVERTS the primary (near-white fill, dark label) to match shadcn — every other brand lifts its own hue instead. Most ramps below are literals ported from Mobile-Components.
12
- const derived = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
13
13
  const PRIMARY_500 = "#e4e4e7";
14
14
  const SECONDARY_500 = "#a1a1aa";
15
15
  const primary = {
@@ -38,19 +38,6 @@ const secondary = {
38
38
  900: "#fafafa",
39
39
  opacity: (0, buildBrandTokens_1.buildPrimaryOpacity)(SECONDARY_500),
40
40
  };
41
- // background[50] = the elevated surface (#0e0e11), resolved through a token, not a literal.
42
- const background = {
43
- 50: "#0e0e11",
44
- 100: "#131316",
45
- 200: "#18181b",
46
- 300: "#212124",
47
- 400: "#27272a",
48
- 500: "#3f3f46",
49
- 600: "#52525b",
50
- 700: "#71717a",
51
- 800: "#a1a1aa",
52
- 900: "#d4d4d8",
53
- };
54
41
  const text = {
55
42
  50: "#71717a",
56
43
  100: "#8a8a93",
@@ -76,10 +63,7 @@ const header = {
76
63
  900: "#ffffff",
77
64
  };
78
65
  // NOTE: gray[400] is the one value here NOT ported verbatim — pinned to clear the 3:1 non-text bar (shadcn's own measures 2.81).
79
- const gray = {
80
- 50: "#18181b",
81
- 100: "#27272a",
82
- 200: "#3f3f46",
66
+ const grayInk = {
83
67
  300: "#52525b",
84
68
  400: "#7a7a83",
85
69
  500: "#a1a1aa",
@@ -137,42 +121,30 @@ const disabled = {
137
121
  800: "#a1a1aa",
138
122
  900: "#d4d4d8",
139
123
  };
140
- const table = {
141
- hover: {
142
- 50: "#0e0e11",
143
- 100: "#131316",
144
- 200: "#18181b",
145
- 300: "#1f1f22",
146
- 400: "#27272a",
147
- 500: "#2f2f33",
148
- 600: "#3f3f46",
149
- 700: "#52525b",
150
- 800: "#71717a",
151
- 900: "#a1a1aa",
152
- },
153
- };
154
- const palette = {
155
- ...derived,
156
- gradient: { from: PRIMARY_500, to: "#a1a1aa" },
157
- primary,
158
- secondary,
159
- tertiary: { ...(0, brandInk_1.rotateScaleHue)(secondary), opacity: secondary.opacity },
160
- // NOTE: backgroundColor/sidebar fall through to `...derived` — mobile's literals collapse distinct elevation steps, breaking darkSurfaces.test.ts.
161
- background,
162
- text,
163
- header,
164
- gray,
165
- border,
166
- boxborder,
167
- placeholder,
168
- disabled,
169
- table,
170
- accentText: (0, accentText_1.pickAccentText)(primary, derived.backgroundColor.main),
171
- onPrimary: (0, accentText_1.onFilled)(PRIMARY_500, derived.white, derived.black),
172
- boxShadow: {
173
- primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
174
- error: derived.boxShadow.error,
175
- default: "#00000080",
176
- },
124
+ const buildPalette = () => {
125
+ const derived = (0, buildDarkPalette_1.buildDarkPalette)(palette_light_1.default);
126
+ return {
127
+ ...derived,
128
+ gradient: { from: PRIMARY_500, to: "#a1a1aa" },
129
+ primary,
130
+ secondary,
131
+ tertiary: { ...(0, brandInk_1.rotateScaleHue)(secondary), opacity: secondary.opacity },
132
+ // NOTE: the planes (backgroundColor, background, table, gray fills) stay derived — they rise with the card.
133
+ text,
134
+ header,
135
+ gray: { ...derived.gray, ...grayInk },
136
+ border,
137
+ boxborder,
138
+ placeholder,
139
+ disabled,
140
+ accentText: (0, accentText_1.pickAccentText)(primary, derived.backgroundColor.main),
141
+ onPrimary: (0, accentText_1.onFilled)(PRIMARY_500, derived.white, derived.black),
142
+ boxShadow: {
143
+ primary: (0, buildBrandTokens_1.buildPrimaryShadowTint)(PRIMARY_500),
144
+ error: derived.boxShadow.error,
145
+ default: "#00000080",
146
+ },
147
+ };
177
148
  };
149
+ const palette = (0, lazy_1.lazyPalette)(palette_light_1.default, buildPalette);
178
150
  exports.default = palette;
@@ -6,5 +6,10 @@ export declare const shiftLighter: (scale: ColorScale) => ColorScale;
6
6
  export declare const accentLightnessDelta: (accent500: string, white: string) => number;
7
7
  /** Raises every rung by the same lightness delta, preserving the ramp's shape and hue. */
8
8
  export declare const liftScale: (scale: ColorScale, delta: number) => ColorScale;
9
- export declare function buildDarkPalette(light: BrandPaletteSource): PaletteProps;
9
+ /** `lifted`: brand-tinted canvas, card a CARD_LIFT step above it. `flat`: the hue-neutral canvas the card shares. */
10
+ export type DarkPlanes = "lifted" | "flat";
11
+ export interface DarkPaletteOptions {
12
+ planes?: DarkPlanes;
13
+ }
14
+ export declare function buildDarkPalette(light: BrandPaletteSource, { planes }?: DarkPaletteOptions): PaletteProps;
10
15
  export default buildDarkPalette;
@@ -11,6 +11,7 @@ const semanticText_1 = require("./semanticText");
11
11
  const focusRing_1 = require("./focusRing");
12
12
  const surfaceRaised_1 = require("./surfaceRaised");
13
13
  const star_1 = require("./star");
14
+ const planes_1 = require("./planes");
14
15
  // Structural ramps are rebuilt at explicit targets (not reversed — light ramps bottom near 35%);
15
16
  // utility hues are reversed so index roles survive; brand/semantic ramps shift one step lighter.
16
17
  const SCALE_KEYS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
@@ -150,23 +151,49 @@ const NAMED_SURFACE_L = {
150
151
  accent: 17,
151
152
  muted: 18,
152
153
  };
153
- // NOTE: surfaces are hue-neutral in dark (a tint wash reads as a different product per brand); accent lives in primary/semantic/text.
154
- const SURFACE_SAT = 0;
154
+ const SURFACE_SAT = { lifted: 14, flat: 0 };
155
155
  const TEXT_SAT = 12;
156
156
  const PLACEHOLDER_SAT = 10;
157
157
  const BORDER_SAT = 12;
158
158
  const DISABLED_SAT = 8;
159
159
  const GRAY_SAT = 0;
160
- function buildDarkPalette(light) {
160
+ // Fill rungs drawn ON a card keep their step above it, so they rise with the card; ink and chrome rungs stay.
161
+ const BACKGROUND_FILLS = [100, 200, 300, 400, 500];
162
+ // NOTE: table.hover[500] gates every ink (it is a named surface), so it climbs one rung per step, not the card's full rise.
163
+ const TABLE_HOVER_ABOVE_CARD = {
164
+ 50: 1, 100: 3, 200: 5, 300: 6, 400: 6.5, 500: 7,
165
+ };
166
+ const GRAY_FILLS = [50, 100, 200];
167
+ const raise = (targets, rungs, by) => ({
168
+ ...targets,
169
+ ...Object.fromEntries(rungs.map((k) => [k, targets[k] + by])),
170
+ });
171
+ const cardPlane = (canvas, white, planes) => {
172
+ if (planes === "flat")
173
+ return { card: canvas, rise: 0, tableHover: TABLE_HOVER_TARGETS };
174
+ const card = (0, planes_1.lift)(white, canvas, planes_1.CARD_LIFT);
175
+ const cardL = (0, color_1.hexToHsl)(card).l;
176
+ const tableHover = {
177
+ ...TABLE_HOVER_TARGETS,
178
+ ...Object.fromEntries(Object.entries(TABLE_HOVER_ABOVE_CARD).map(([k, step]) => [k, cardL + step])),
179
+ };
180
+ return { card, rise: cardL - (0, color_1.hexToHsl)(canvas).l, tableHover };
181
+ };
182
+ function buildDarkPalette(light, { planes = "lifted" } = {}) {
161
183
  const hueSource = light.primary[500];
162
184
  const { h } = (0, color_1.hexToHsl)(hueSource);
185
+ const surfaceSat = SURFACE_SAT[planes];
163
186
  const namedSurfaces = Object.fromEntries(Object.entries(NAMED_SURFACE_L).map(([key, l]) => [
164
187
  key,
165
- (0, color_1.hslToHex)({ h, s: SURFACE_SAT, l }),
188
+ (0, color_1.hslToHex)({ h, s: surfaceSat, l }),
166
189
  ]));
167
190
  const white = light.white;
191
+ const { card, rise, tableHover } = cardPlane(namedSurfaces.main, white, planes);
168
192
  const primary = liftBrand(light.primary, white);
169
- const background = fromTargets(hueSource, SURFACE_TARGETS, SURFACE_SAT);
193
+ const background = {
194
+ ...fromTargets(hueSource, raise(SURFACE_TARGETS, BACKGROUND_FILLS, rise), surfaceSat),
195
+ 50: card,
196
+ };
170
197
  const semantic = {
171
198
  success: liftAccent(light.semantic.success, white),
172
199
  error: liftAccent(light.semantic.error, white),
@@ -186,7 +213,7 @@ function buildDarkPalette(light) {
186
213
  transparent: light.transparent,
187
214
  black: light.black,
188
215
  white: light.white,
189
- gray: fromTargets(hueSource, GRAY_TARGETS, GRAY_SAT),
216
+ gray: fromTargets(hueSource, raise(GRAY_TARGETS, GRAY_FILLS, rise), GRAY_SAT),
190
217
  red: (0, exports.reverseScale)(light.red),
191
218
  orange: (0, exports.reverseScale)(light.orange),
192
219
  yellow: (0, exports.reverseScale)(light.yellow),
@@ -203,7 +230,9 @@ function buildDarkPalette(light) {
203
230
  placeholder: fromTargets(hueSource, PLACEHOLDER_TARGETS, PLACEHOLDER_SAT),
204
231
  border: dividerRamp,
205
232
  boxborder: dividerRamp,
206
- table: { hover: fromTargets(hueSource, TABLE_HOVER_TARGETS, SURFACE_SAT) },
233
+ table: {
234
+ hover: fromTargets(hueSource, tableHover, surfaceSat),
235
+ },
207
236
  disabled: fromTargets(hueSource, DISABLED_TARGETS, DISABLED_SAT),
208
237
  accentText: (0, accentText_1.pickAccentText)(primary, namedSurfaces.main),
209
238
  textMuted: (0, mutedText_1.buildMutedText)(fromTargets(hueSource, TEXT_TARGETS, TEXT_SAT), namedSurfaces.main),
@@ -211,7 +240,7 @@ function buildDarkPalette(light) {
211
240
  onPrimary: (0, accentText_1.onFilled)(primary[500], light.white, light.black),
212
241
  onSemantic: (0, semanticText_1.buildOnSemantic)(semantic, light.white, light.black),
213
242
  focusRing: (0, focusRing_1.buildFocusRing)({ primary, background, backgroundColor: namedSurfaces }),
214
- surfaceRaised: (0, surfaceRaised_1.buildSurfaceRaised)({ backgroundColor: namedSurfaces, background, white }),
243
+ surfaceRaised: (0, surfaceRaised_1.buildSurfaceRaised)({ backgroundColor: namedSurfaces, background, white }, (0, surfaceRaised_1.filledMarks)({ primary, semantic })),
215
244
  star: (0, star_1.buildStar)(namedSurfaces.main),
216
245
  sidebar: (0, sidebarAccent_1.withSidebarTokens)(light),
217
246
  boxShadow: {
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- // Pure color math, no dependencies or platform APIs — safe for the mobile port.
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.hslToHex = exports.hexToHsl = void 0;
5
4
  exports.hexToRgb = hexToRgb;
@@ -12,6 +11,8 @@ exports.withLightness = withLightness;
12
11
  exports.mix = mix;
13
12
  exports.relativeLuminance = relativeLuminance;
14
13
  exports.contrastRatio = contrastRatio;
14
+ // Pure color math, no dependencies or platform APIs — safe for the mobile port.
15
+ const memo_1 = require("./memo");
15
16
  const clamp = (n, min, max) => Math.min(max, Math.max(min, n));
16
17
  // NOTE: #rrggbbaa throws on purpose — alpha over an unknown backdrop has no defined luminance; composite first.
17
18
  function hexToRgb(hex) {
@@ -120,14 +121,17 @@ function mix(a, b, weight) {
120
121
  b: ca.b + (cb.b - ca.b) * w,
121
122
  });
122
123
  }
124
+ const linearChannel = (v) => {
125
+ const c = v / 255;
126
+ return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
127
+ };
128
+ const luminanceOf = (0, memo_1.memoize)((hex) => {
129
+ const { r, g, b } = hexToRgb(hex);
130
+ return 0.2126 * linearChannel(r) + 0.7152 * linearChannel(g) + 0.0722 * linearChannel(b);
131
+ }, (hex) => hex, 4096);
123
132
  /** WCAG 2.1 relative luminance. */
124
133
  function relativeLuminance(hex) {
125
- const { r, g, b } = hexToRgb(hex);
126
- const channel = (v) => {
127
- const c = v / 255;
128
- return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
129
- };
130
- return 0.2126 * channel(r) + 0.7152 * channel(g) + 0.0722 * channel(b);
134
+ return luminanceOf(hex);
131
135
  }
132
136
  /** WCAG 2.1 contrast ratio, 1–21. AA body text needs >= 4.5. */
133
137
  function contrastRatio(a, b) {
@@ -16,4 +16,6 @@ export declare const solidFillRung: (scale: ColorScale, white: string, canvas?:
16
16
  export declare const darkerFillRung: (scale: ColorScale, canvas: string, white: string, step: 0 | 1) => keyof ColorScale;
17
17
  /** Label ink for a specific fill swatch — always `onFilled`, exported for style configs. */
18
18
  export declare const labelOnFill: (fill: string, white: string, black: string) => string;
19
- export declare const resolveFilledSurface: (scale: ColorScale, colors: Pick<PaletteProps, "white" | "black" | "backgroundColor" | "background">) => FilledSurface;
19
+ type SurfaceColors = Pick<PaletteProps, "white" | "black" | "backgroundColor" | "background">;
20
+ export declare const resolveFilledSurface: (scale: ColorScale, colors: SurfaceColors) => FilledSurface;
21
+ export {};
@@ -4,6 +4,7 @@ exports.resolveFilledSurface = exports.labelOnFill = exports.darkerFillRung = ex
4
4
  const color_1 = require("./color");
5
5
  const accentText_1 = require("./accentText");
6
6
  const outlineRung_1 = require("./outlineRung");
7
+ const memo_1 = require("./memo");
7
8
  const RUNGS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
8
9
  // NOTE: "darker than [500]" is [600]/[700] in light but [400]/[300] in dark, since dark ramps run dark -> light.
9
10
  const FILL_STEP_RUNGS = { light: [600, 700], dark: [400, 300] };
@@ -57,12 +58,8 @@ exports.darkerFillRung = darkerFillRung;
57
58
  /** Label ink for a specific fill swatch — always `onFilled`, exported for style configs. */
58
59
  const labelOnFill = (fill, white, black) => (0, accentText_1.onFilled)(fill, white, black);
59
60
  exports.labelOnFill = labelOnFill;
60
- // Consumer-facing helper: fill rung + ink for solid/hover/active. Never pair scale[500] with onFilled by hand.
61
- const resolveFilledSurface = (scale, colors) => {
62
- const { white, black, backgroundColor, background } = colors;
63
- const canvas = (0, color_1.contrastRatio)(scale[500], backgroundColor.main) <= (0, color_1.contrastRatio)(scale[500], background[50])
64
- ? backgroundColor.main
65
- : background[50];
61
+ const filledSurfaceMemo = (0, memo_1.memoize)((scale, white, black, main, card) => {
62
+ const canvas = (0, color_1.contrastRatio)(scale[500], main) <= (0, color_1.contrastRatio)(scale[500], card) ? main : card;
66
63
  const rung = (0, exports.solidFillRung)(scale, white, canvas);
67
64
  const fill = scale[rung];
68
65
  const hoverRung = (0, exports.darkerFillRung)(scale, canvas, white, 0);
@@ -80,5 +77,8 @@ const resolveFilledSurface = (scale, colors) => {
80
77
  activeFill,
81
78
  activeColor: (0, exports.labelOnFill)(activeFill, white, black),
82
79
  };
83
- };
80
+ }, (scale, white, black, main, card) => `${(0, memo_1.scaleKey)(scale)}|${white}|${black}|${main}|${card}`);
81
+ const resolveFilledSurface = (scale, colors) => ({
82
+ ...filledSurfaceMemo(scale, colors.white, colors.black, colors.backgroundColor.main, colors.background[50]),
83
+ });
84
84
  exports.resolveFilledSurface = resolveFilledSurface;
@@ -0,0 +1,5 @@
1
+ import type { BrandPaletteSource, PaletteProps } from "../types";
2
+ export declare const lazyObject: <T extends object>(keys: ReadonlyArray<keyof T>, build: () => T) => T;
3
+ export declare const paletteKeys: (source: BrandPaletteSource) => Array<keyof PaletteProps>;
4
+ /** A palette derived from `source` on its first read; same keys, order and values as `build()`. */
5
+ export declare const lazyPalette: <T extends PaletteProps>(source: BrandPaletteSource, build: () => T) => T;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lazyPalette = exports.paletteKeys = exports.lazyObject = void 0;
4
+ const dataProperty = (value) => ({
5
+ value,
6
+ writable: true,
7
+ enumerable: true,
8
+ configurable: true,
9
+ });
10
+ // NOTE: first read of any key builds once and swaps every getter for a plain data property.
11
+ const lazyObject = (keys, build) => {
12
+ const target = {};
13
+ let built;
14
+ const materialise = () => {
15
+ if (built)
16
+ return built;
17
+ const value = build();
18
+ built = value;
19
+ if (!Object.isSealed(target)) {
20
+ keys.forEach((key) => Object.defineProperty(target, key, dataProperty(value[key])));
21
+ }
22
+ return value;
23
+ };
24
+ keys.forEach((key) => Object.defineProperty(target, key, {
25
+ enumerable: true,
26
+ configurable: true,
27
+ get: () => materialise()[key],
28
+ set: (next) => {
29
+ materialise();
30
+ Object.defineProperty(target, key, dataProperty(next));
31
+ },
32
+ }));
33
+ return target;
34
+ };
35
+ exports.lazyObject = lazyObject;
36
+ // NOTE: order matches finalizeLightPalette and buildDarkPalette, which append these after the source keys.
37
+ const DERIVED = {
38
+ accentText: true,
39
+ textMuted: true,
40
+ semanticText: true,
41
+ onPrimary: true,
42
+ onSemantic: true,
43
+ focusRing: true,
44
+ surfaceRaised: true,
45
+ star: true,
46
+ };
47
+ const DERIVED_KEYS = Object.keys(DERIVED);
48
+ const paletteKeys = (source) => [
49
+ ...Object.keys(source),
50
+ ...DERIVED_KEYS.filter((key) => !(key in source)),
51
+ ];
52
+ exports.paletteKeys = paletteKeys;
53
+ /** A palette derived from `source` on its first read; same keys, order and values as `build()`. */
54
+ const lazyPalette = (source, build) => (0, exports.lazyObject)((0, exports.paletteKeys)(source), build);
55
+ exports.lazyPalette = lazyPalette;