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
@@ -1,4 +1,5 @@
1
1
  import { useCallback, useEffect, useRef, useState } from "react";
2
+ import { observeResize } from "./sharedResizeObserver.js";
2
3
  // NOTE: compares scrollWidth/Height vs clientWidth/Height to detect real ellipsis truncation; re-measures via ResizeObserver.
3
4
  export function useIsTruncated(content, enabled = true) {
4
5
  const ref = useRef(null);
@@ -14,11 +15,9 @@ export function useIsTruncated(content, enabled = true) {
14
15
  return;
15
16
  measure();
16
17
  const el = ref.current;
17
- if (!el || typeof ResizeObserver === "undefined")
18
+ if (!el)
18
19
  return;
19
- const observer = new ResizeObserver(measure);
20
- observer.observe(el);
21
- return () => observer.disconnect();
20
+ return observeResize(el, measure);
22
21
  }, [measure, content, enabled]);
23
22
  return { ref, isTruncated };
24
23
  }
@@ -36,10 +36,13 @@ const variants = {
36
36
  outline: definePartsStyle({
37
37
  container: { [$border.variable]: "1px", [$shadow.variable]: "none" },
38
38
  }),
39
+ elevated: definePartsStyle({
40
+ container: { [$border.variable]: "0", [$shadow.variable]: "shadows.card" },
41
+ }),
39
42
  };
40
43
  export const Card = defineMultiStyleConfig({
41
44
  baseStyle,
42
45
  sizes,
43
46
  variants,
44
- defaultProps: { variant: "outline", size: "md" },
47
+ defaultProps: { variant: "elevated", size: "md" },
45
48
  });
@@ -3,6 +3,7 @@ import { menuAnatomy } from "@chakra-ui/anatomy";
3
3
  import { listRowBackgrounds } from "../tokens/builders/rowStates.js";
4
4
  import { OPTION_ROW_SIZES, OPTION_ROW_RADIUS } from "../tokens/primitives/optionRowSizes.js";
5
5
  import { paletteOf } from "./paletteFromTheme.js";
6
+ import { POPUP_SURFACE } from "./overlay.styles.js";
6
7
  const itemRowSpec = OPTION_ROW_SIZES.sm;
7
8
  const { defineMultiStyleConfig, definePartsStyle } = createMultiStyleConfigHelpers(menuAnatomy.keys);
8
9
  const $bg = cssVar("menu-bg");
@@ -21,12 +22,14 @@ const baseStyle = definePartsStyle(({ theme }) => {
21
22
  borderWidth: "1px",
22
23
  borderStyle: "solid",
23
24
  borderColor: colors.boxborder[200],
25
+ ...POPUP_SURFACE,
24
26
  },
25
27
  item: {
26
28
  minH: itemRowSpec.minH,
27
29
  px: itemRowSpec.px,
28
30
  py: itemRowSpec.py,
29
31
  mx: itemRowSpec.mx,
32
+ width: `calc(100% - 2 * ${itemRowSpec.mx})`,
30
33
  fontSize: itemRowSpec.fontSize,
31
34
  borderRadius: OPTION_ROW_RADIUS,
32
35
  bg: "transparent",
@@ -1,6 +1,7 @@
1
1
  import { createMultiStyleConfigHelpers, cssVar } from "@chakra-ui/react";
2
2
  import { popoverAnatomy } from "@chakra-ui/anatomy";
3
3
  import { paletteOf } from "./paletteFromTheme.js";
4
+ import { POPUP_SURFACE } from "./overlay.styles.js";
4
5
  const { defineMultiStyleConfig, definePartsStyle } = createMultiStyleConfigHelpers(popoverAnatomy.keys);
5
6
  const $popperBg = cssVar("popper-bg");
6
7
  const $arrowShadowColor = cssVar("popper-arrow-shadow-color");
@@ -16,6 +17,7 @@ const baseStyle = definePartsStyle(({ theme }) => {
16
17
  borderWidth: "1px",
17
18
  borderStyle: "solid",
18
19
  borderColor: colors.boxborder[200],
20
+ ...POPUP_SURFACE,
19
21
  },
20
22
  };
21
23
  });
@@ -12,6 +12,7 @@ import { AA_NORMAL_TEXT, accentTextOnCanvas, isDarkCanvas } from "../tokens/buil
12
12
  import { labelOnFill, solidFillRung } from "../tokens/builders/filledSurface.js";
13
13
  import { liftToContrast, resolveHoverTint } from "../tokens/builders/outlineRung.js";
14
14
  import { resolveSoftTone } from "../tokens/builders/tone.js";
15
+ import { skeletonShimmer } from "../tokens/builders/skeletonShimmer.js";
15
16
  import { tooltipSurface } from "../tokens/builders/tooltipSurface.js";
16
17
  import { Drawer } from "./Drawer.styles.js";
17
18
  import { Menu } from "./Menu.styles.js";
@@ -142,12 +143,15 @@ const $skeletonStart = cssVar("skeleton-start-color");
142
143
  const $skeletonEnd = cssVar("skeleton-end-color");
143
144
  // NOTE: fixes Chakra's Skeleton hardcoding gray.100/.400 via `_dark` (dead here) — an explicit startColor/endColor prop still wins.
144
145
  const Skeleton = {
145
- baseStyle: ({ theme }) => ({
146
- [$skeletonStart.variable]: paletteOf(theme).gray[100],
147
- [$skeletonEnd.variable]: paletteOf(theme).gray[300],
148
- background: $skeletonStart.reference,
149
- borderColor: $skeletonEnd.reference,
150
- }),
146
+ baseStyle: ({ theme }) => {
147
+ const shimmer = skeletonShimmer(paletteOf(theme));
148
+ return {
149
+ [$skeletonStart.variable]: shimmer.start,
150
+ [$skeletonEnd.variable]: shimmer.end,
151
+ background: $skeletonStart.reference,
152
+ borderColor: $skeletonEnd.reference,
153
+ };
154
+ },
151
155
  };
152
156
  // NOTE: uses Chakra's own shorthand style keys (bg/w/h/pos) + !important — extendTheme deep-merges by key, so mismatched keys let Chakra's stock value win.
153
157
  const Radio = {
@@ -5,18 +5,44 @@ import { componentStyles } from "./componentStyles.js";
5
5
  import { resolveFilledSurface } from "../tokens/builders/filledSurface.js";
6
6
  import { globalScrollbarStyles } from "../tokens/builders/scrollbar.js";
7
7
  import { focusRingShadow } from "./focusRing.styles.js";
8
+ import { shadowsFor } from "../tokens/primitives/shadows.js";
9
+ import { reducedMotionGlobalStyles } from "./motion.js";
10
+ import { TEXT_STYLES } from "../tokens/primitives/typography.js";
11
+ import { memoiseByReads } from "../tokens/builders/memoByReads.js";
12
+ const memoisedStyle = (value) => typeof value === "function" ? memoiseByReads(value) : value;
13
+ const memoisedGroup = (group) => Object.fromEntries(Object.entries(group).map(([key, value]) => [key, memoisedStyle(value)]));
14
+ const memoisedConfig = (config) => Object.fromEntries(Object.entries(config).map(([key, value]) => [
15
+ key,
16
+ key === "baseStyle"
17
+ ? memoisedStyle(value)
18
+ : key === "variants" || key === "sizes"
19
+ ? memoisedGroup(value)
20
+ : value,
21
+ ]));
22
+ // NOTE: extendTheme deep-merges Chakra's and our style output on every call; cache it per theme.
23
+ const withMemoisedStyles = (theme) => {
24
+ const components = theme.components;
25
+ return {
26
+ ...theme,
27
+ components: {
28
+ ...components,
29
+ ...Object.fromEntries(Object.keys(componentStyles).map((name) => [name, memoisedConfig(components[name])])),
30
+ },
31
+ };
32
+ };
8
33
  // Builds a Chakra theme from a pure brand palette — dark mode works by swapping which palette it carries.
9
34
  export const createBrandTheme = (palette, options = {}) => {
10
35
  var _a;
11
36
  const colorMode = (_a = options.colorMode) !== null && _a !== void 0 ? _a : "light";
37
+ const motionRule = options.reducedMotion === "global" ? reducedMotionGlobalStyles : {};
12
38
  const brand = {
13
39
  colors: palette,
14
40
  ...fonts,
15
41
  ...common,
16
42
  // NOTE: binds the palette-derived ring to shadows.outline — Chakra's stock one failed 1.4.11 on every brand.
17
- shadows: { ...common.shadows, outline: focusRingShadow(palette) },
43
+ shadows: { ...shadowsFor(colorMode), outline: focusRingShadow(palette) },
18
44
  };
19
- return extendTheme({
45
+ return withMemoisedStyles(extendTheme({
20
46
  ...brand,
21
47
  config: {
22
48
  ...common.config,
@@ -64,11 +90,15 @@ export const createBrandTheme = (palette, options = {}) => {
64
90
  WebkitTextFillColor: palette.text[900],
65
91
  caretColor: palette.text[900],
66
92
  },
93
+ ...motionRule,
67
94
  },
68
95
  },
69
96
  }
70
- : {}),
97
+ : options.reducedMotion === "global"
98
+ ? { styles: { global: motionRule } }
99
+ : {}),
100
+ textStyles: TEXT_STYLES,
71
101
  components: componentStyles,
72
- });
102
+ }));
73
103
  };
74
104
  export default createBrandTheme;
@@ -6,6 +6,9 @@ export const FOCUS_RING_WIDTH = 4;
6
6
  // NOTE: a box-shadow, not an outline — drawn outside the border box so it never resizes the control.
7
7
  export const focusRingShadow = (colors) => `0 0 0 ${FOCUS_HALO_WIDTH}px ${colors.focusRing.halo}, ` +
8
8
  `0 0 0 ${FOCUS_RING_WIDTH}px ${colors.focusRing.ring}`;
9
+ /** For controls whose rounded shell clips overflow: the same halo and ring, drawn inside the border box. */
10
+ export const insetFocusRingShadow = (colors) => `inset 0 0 0 ${FOCUS_HALO_WIDTH}px ${colors.focusRing.halo}, ` +
11
+ `inset 0 0 0 ${FOCUS_RING_WIDTH}px ${colors.focusRing.ring}`;
9
12
  // NOTE: stacked pseudo-classes raise specificity above Chakra's _hover, so a hovered+focused button keeps its ring.
10
13
  export const FOCUS_VISIBLE_OVER_STATE = "&:hover:focus-visible, &:active:focus-visible, &[data-active]:focus-visible";
11
14
  // NOTE: transparent outline isn't decorative — forced-colors mode drops box-shadow but repaints an outline.
@@ -1,8 +1,34 @@
1
1
  import { useMatchMedia } from "../../Hooks/useMatchMedia.js";
2
2
  export const REDUCED_MOTION_QUERY = "@media (prefers-reduced-motion: reduce)";
3
+ export const MOTION_OK_QUERY = "@media (prefers-reduced-motion: no-preference)";
3
4
  const MEDIA = "(prefers-reduced-motion: reduce)";
4
5
  export const usePrefersReducedMotion = () => useMatchMedia(MEDIA, false);
5
6
  /** Spread into `sx`: drops transitions and animations when the user asks for less motion. */
6
7
  export const reducedMotionSx = (overrides = {}) => ({
7
8
  [REDUCED_MOTION_QUERY]: { transition: "none", animation: "none", ...overrides },
8
9
  });
10
+ /** Add to an element whose loop is essential feedback; it and its subtree keep moving. */
11
+ export const MOTION_KEEP_CLASS = "pz-motion-keep";
12
+ const KEPT = [
13
+ ".chakra-spinner",
14
+ ".chakra-progress",
15
+ ".chakra-progress *",
16
+ `.${MOTION_KEEP_CLASS}`,
17
+ `.${MOTION_KEEP_CLASS} *`,
18
+ ];
19
+ const notKept = KEPT.map((selector) => `:not(${selector})`).join("");
20
+ export const REDUCED_MOTION_SELECTOR = [
21
+ `*${notKept}`,
22
+ `*${notKept}::before`,
23
+ `*${notKept}::after`,
24
+ ].join(", ");
25
+ export const reducedMotionGlobalStyles = {
26
+ [REDUCED_MOTION_QUERY]: {
27
+ [REDUCED_MOTION_SELECTOR]: {
28
+ transitionDuration: "0.01ms !important",
29
+ animationDuration: "0.01ms !important",
30
+ animationIterationCount: "1 !important",
31
+ scrollBehavior: "auto !important",
32
+ },
33
+ },
34
+ };
@@ -1,6 +1,9 @@
1
1
  import { overlayScrim } from "../tokens/builders/scrim.js";
2
2
  import { raisedRule } from "../tokens/builders/surfaceRaised.js";
3
+ import { RADIUS_ROLE } from "../tokens/primitives/radii.js";
3
4
  export const OVERLAY_BLUR = "blur(4px)";
5
+ /** Radius and elevation every anchored popup shares: menus, popovers, selects, dropdowns. */
6
+ export const POPUP_SURFACE = { borderRadius: RADIUS_ROLE.float, boxShadow: "md" };
4
7
  /** The one Modal/Drawer backdrop; reuse it for any custom full-screen scrim. */
5
8
  export const overlayScrimStyles = (colors) => ({
6
9
  bg: overlayScrim(colors),
@@ -1,15 +1,18 @@
1
1
  import createBrandTheme from "./chakra/createBrandTheme.js";
2
2
  import { lightPalettes, darkPalettes } from "./tokens/brands/index.js";
3
- // Chakra themes per brand, built from the pure palettes in tokens/brands via createBrandTheme.
3
+ import { lazyObject } from "./tokens/builders/lazy.js";
4
+ // NOTE: lavender is built at import as the shape template — every light theme shares its keys.
4
5
  const lavender = createBrandTheme(lightPalettes.lavender);
5
- const meadow = createBrandTheme(lightPalettes.meadow);
6
- const radiant = createBrandTheme(lightPalettes.radiant);
7
- const skyline = createBrandTheme(lightPalettes.skyline);
8
- const slate = createBrandTheme(lightPalettes.slate);
9
- const emerald = createBrandTheme(lightPalettes.emerald);
10
- const rosewood = createBrandTheme(lightPalettes.rosewood);
11
- const storefront = createBrandTheme(lightPalettes.storefront);
12
- const zinc = createBrandTheme(lightPalettes.zinc);
6
+ const lightThemeKeys = Object.keys(lavender);
7
+ const lazyLightTheme = (brand) => lazyObject(lightThemeKeys, () => createBrandTheme(lightPalettes[brand]));
8
+ const meadow = lazyLightTheme("meadow");
9
+ const radiant = lazyLightTheme("radiant");
10
+ const skyline = lazyLightTheme("skyline");
11
+ const slate = lazyLightTheme("slate");
12
+ const emerald = lazyLightTheme("emerald");
13
+ const rosewood = lazyLightTheme("rosewood");
14
+ const storefront = lazyLightTheme("storefront");
15
+ const zinc = lazyLightTheme("zinc");
13
16
  export { skyline, meadow, radiant, lavender, slate, emerald, rosewood, storefront, zinc };
14
17
  // NOTE: consumers iterate this to render theme pickers — key order is load-bearing. Stays light-only.
15
18
  export const ThemesList = {
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
2
+ import { createContext, useCallback, useDeferredValue, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
3
3
  import { ChakraProvider, extendTheme } from "@chakra-ui/react";
4
4
  import { brandThemes } from "../index.js";
5
5
  import ToasterProvider from "../../Components/Toaster/Toaster.js";
6
+ import { reducedMotionGlobalStyles } from "../chakra/motion.js";
6
7
  import { getSystemColorMode, readStoredTheme, subscribeToSystemColorMode, writeStoredTheme, } from "./colorModeStorage.js";
7
8
  const DEFAULT_BRAND = "lavender";
8
9
  const DEFAULT_MODE = "system";
@@ -16,7 +17,7 @@ const forcedLightColorModeManager = {
16
17
  };
17
18
  export const ThemeModeContext = createContext(undefined);
18
19
  // NOTE: Chakra's own color mode stays unsynced from resolvedMode — its built-in `_dark:` blocks assume the opposite ramp direction. Read mode via useThemeMode(), not useColorModeValue().
19
- export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRAND, onBrandChange, defaultMode = DEFAULT_MODE, onModeChange, storageKey = DEFAULT_STORAGE_KEY, disablePersistence = false, themeOverrides, }) => {
20
+ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRAND, onBrandChange, defaultMode = DEFAULT_MODE, onModeChange, storageKey = DEFAULT_STORAGE_KEY, disablePersistence = false, themeOverrides, reducedMotion = "components", }) => {
20
21
  const [mode, setModeState] = useState(() => { var _a; return (_a = (disablePersistence ? undefined : readStoredTheme(storageKey).mode)) !== null && _a !== void 0 ? _a : defaultMode; });
21
22
  const [brand, setBrandState] = useState(() => { var _a; return (_a = (disablePersistence ? undefined : readStoredTheme(storageKey).brand)) !== null && _a !== void 0 ? _a : brandProp; });
22
23
  const [systemMode, setSystemMode] = useState(getSystemColorMode);
@@ -58,14 +59,17 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
58
59
  writeStoredTheme(storageKey, { mode, brand });
59
60
  }, [mode, brand, disablePersistence, storageKey]);
60
61
  const resolvedMode = mode === "system" ? systemMode : mode;
62
+ // NOTE: the page re-themes in an interruptible second commit; the switcher paints first.
63
+ const appliedMode = useDeferredValue(resolvedMode);
64
+ const appliedBrand = useDeferredValue(brand);
61
65
  // NOTE: sets CSS color-scheme so native chrome (select popups, date pickers) matches the mode.
62
66
  useLayoutEffect(() => {
63
- document.documentElement.style.colorScheme = resolvedMode;
64
- }, [resolvedMode]);
67
+ document.documentElement.style.colorScheme = appliedMode;
68
+ }, [appliedMode]);
65
69
  // NOTE: re-asserted after Chakra's own ColorModeProvider effect overwrites it back to "light".
66
70
  useEffect(() => {
67
- document.documentElement.style.colorScheme = resolvedMode;
68
- }, [resolvedMode]);
71
+ document.documentElement.style.colorScheme = appliedMode;
72
+ }, [appliedMode]);
69
73
  const onModeChangeRef = useRef(onModeChange);
70
74
  const onBrandChangeRef = useRef(onBrandChange);
71
75
  useLayoutEffect(() => {
@@ -87,14 +91,18 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
87
91
  // NOTE: keyed by value, not identity — themeOverrides is usually an inline literal.
88
92
  const overridesKey = themeOverrides ? JSON.stringify(themeOverrides) : "";
89
93
  const resolvedTheme = useMemo(() => {
90
- const base = brandThemes[brand][resolvedMode];
91
- return themeOverrides ? extendTheme(base, themeOverrides) : base;
94
+ const base = brandThemes[appliedBrand][appliedMode];
95
+ const extensions = [
96
+ ...(reducedMotion === "global" ? [{ styles: { global: reducedMotionGlobalStyles } }] : []),
97
+ ...(themeOverrides ? [themeOverrides] : []),
98
+ ];
99
+ return extensions.length ? extendTheme(base, ...extensions) : base;
92
100
  // eslint-disable-next-line react-hooks/exhaustive-deps
93
- }, [brand, resolvedMode, overridesKey]);
101
+ }, [appliedBrand, appliedMode, overridesKey, reducedMotion]);
94
102
  // NOTE: global.css ships var(--color-*) light-only — re-point them here in dark, clear in light.
95
103
  useLayoutEffect(() => {
96
104
  const root = document.documentElement;
97
- root.dataset.mode = resolvedMode;
105
+ root.dataset.mode = appliedMode;
98
106
  const { colors } = resolvedTheme;
99
107
  const { gray, semantic } = colors;
100
108
  const HUE_SCALES = [
@@ -118,7 +126,7 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
118
126
  const set = (name, val) => root.style.setProperty(`--color-${name}`, val);
119
127
  const clear = (name) => root.style.removeProperty(`--color-${name}`);
120
128
  const allRampNames = [...HUE_SCALES, ...SEMANTIC_SCALES].flatMap((s) => RUNGS.map((r) => `${s}-${r}`));
121
- if (resolvedMode === "dark") {
129
+ if (appliedMode === "dark") {
122
130
  for (const s of HUE_SCALES)
123
131
  for (const r of RUNGS)
124
132
  set(`${s}-${r}`, colors[s][r]);
@@ -134,6 +142,7 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
134
142
  for (const name of Object.keys(SEMANTIC_VARS))
135
143
  clear(name);
136
144
  }
137
- }, [resolvedMode, resolvedTheme]);
138
- return (_jsx(ThemeModeContext.Provider, { value: value, children: _jsx(ChakraProvider, { theme: resolvedTheme, colorModeManager: forcedLightColorModeManager, children: _jsx(ToasterProvider, { children: children }) }) }));
145
+ }, [appliedMode, resolvedTheme]);
146
+ const themedTree = useMemo(() => (_jsx(ChakraProvider, { theme: resolvedTheme, colorModeManager: forcedLightColorModeManager, children: _jsx(ToasterProvider, { children: children }) })), [resolvedTheme, children]);
147
+ return _jsx(ThemeModeContext.Provider, { value: value, children: themedTree });
139
148
  };
@@ -3,6 +3,7 @@ import { useRef, useState } from "react";
3
3
  import { Box, Button, HStack, IconButton, Menu, MenuButton, MenuDivider, MenuItemOption, MenuList, MenuOptionGroup, Text, Tooltip, } from "@chakra-ui/react";
4
4
  import { Monitor, Moon, Sun } from "lucide-react";
5
5
  import { brandThemes } from "../index.js";
6
+ import { lightPalettes } from "../tokens/brands/index.js";
6
7
  import { useCustomTheme } from "../useCustomTheme.js";
7
8
  import { useThemeMode } from "./useThemeMode.js";
8
9
  import { focusGlowShadow, focusVisibleRing } from "../chakra/focusRing.styles.js";
@@ -18,8 +19,8 @@ const SIZES = {
18
19
  lg: { control: "lg", icon: 18 },
19
20
  };
20
21
  const toBrandLabel = (brand) => brand.charAt(0).toUpperCase() + brand.slice(1);
21
- // NOTE: resolved from each brand's OWN palette so the dot matches that brand, regardless of the active one.
22
- const brandSwatchColor = (brand) => brandThemes[brand].light.colors.primary[500];
22
+ // NOTE: reads the brand's own palette, not its Chakra theme, so the picker builds no themes.
23
+ const brandSwatchColor = (brand) => lightPalettes[brand].primary[500];
23
24
  const BrandSwatch = ({ brand }) => {
24
25
  const { colors } = useCustomTheme();
25
26
  return (_jsx(Box, { as: "span", display: "inline-block", w: "0.625rem", h: "0.625rem", borderRadius: "full", bg: brandSwatchColor(brand), border: "1px solid", borderColor: colors.boxborder[200], flexShrink: 0 }));
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -26,9 +26,26 @@ import { buildFocusRing, withFocusRing } from "../builders/focusRing.js";
26
26
  import { withSurfaceRungs } from "../builders/surfaceRungs.js";
27
27
  import { buildSurfaceRaised, withSurfaceRaised } from "../builders/surfaceRaised.js";
28
28
  import { buildStar } from "../builders/star.js";
29
+ import { lazyPalette } from "../builders/lazy.js";
30
+ import { contrastRatio, mix } from "../builders/color.js";
31
+ export const LIGHT_CANVAS_STEP = 1.09;
32
+ const CANVAS_MIX_STEP = 0.0025;
33
+ const CANVAS_MIX_MAX = 0.5;
34
+ const lightCanvas = (canvas, card, ink) => {
35
+ for (let weight = 0; weight < CANVAS_MIX_MAX; weight += CANVAS_MIX_STEP) {
36
+ const next = mix(canvas, ink, weight);
37
+ if (contrastRatio(next, card) >= LIGHT_CANVAS_STEP)
38
+ return next;
39
+ }
40
+ return mix(canvas, ink, CANVAS_MIX_MAX);
41
+ };
29
42
  /** Derived, never hand-written: a copied hex goes stale the moment a canvas moves. */
30
43
  export const finalizeLightPalette = (source) => ({
31
44
  ...source,
45
+ backgroundColor: {
46
+ ...source.backgroundColor,
47
+ base: lightCanvas(source.backgroundColor.base, source.background[50], source.text[900]),
48
+ },
32
49
  sidebar: withSidebarTokens(source),
33
50
  accentText: pickAccentText(source.primary, source.backgroundColor.main),
34
51
  textMuted: buildMutedText(source.text, source.backgroundColor.main),
@@ -43,8 +60,8 @@ export { lavender, meadow, radiant, skyline, slate, emerald, rosewood, storefron
43
60
  export { lavenderDark, meadowDark, radiantDark, skylineDark, slateDark, emeraldDark, rosewoodDark, storefrontDark, zincDark, };
44
61
  // NOTE: withFocusRing is outermost — it must see primary and surfaces together, after every earlier step.
45
62
  const resolveRungs = (palette) => withFocusRing(withSurfaceRungs(withSurfaceRaised(withTableHoverRung(withPlaceholderRung(withOutlineRung(palette))))));
46
- const lightBrand = (source) => resolveRungs(finalizeLightPalette(source));
47
- /** Light palette per brand. `lavender` is the base the other six extend. */
63
+ const lightBrand = (source) => lazyPalette(source, () => resolveRungs(finalizeLightPalette(source)));
64
+ /** Light palette per brand, derived on first read. `lavender` is the base the other six extend. */
48
65
  export const lightPalettes = {
49
66
  lavender: lightBrand(lavender),
50
67
  meadow: lightBrand(meadow),
@@ -56,18 +73,18 @@ export const lightPalettes = {
56
73
  storefront: lightBrand(storefront),
57
74
  zinc: lightBrand(zinc),
58
75
  };
59
- /** Dark palette per brand, derived from the matching light palette. */
60
- const darkBrand = (dark) => resolveRungs(dark);
76
+ /** Dark palette per brand, derived from the matching light palette on first read. */
77
+ const darkBrand = (source, dark) => lazyPalette(source, () => resolveRungs(dark));
61
78
  export const darkPalettes = {
62
- lavender: darkBrand(lavenderDark),
63
- meadow: darkBrand(meadowDark),
64
- radiant: darkBrand(radiantDark),
65
- skyline: darkBrand(skylineDark),
66
- slate: darkBrand(slateDark),
67
- emerald: darkBrand(emeraldDark),
68
- rosewood: darkBrand(rosewoodDark),
69
- storefront: darkBrand(storefrontDark),
70
- zinc: darkBrand(zincDark),
79
+ lavender: darkBrand(lavender, lavenderDark),
80
+ meadow: darkBrand(meadow, meadowDark),
81
+ radiant: darkBrand(radiant, radiantDark),
82
+ skyline: darkBrand(skyline, skylineDark),
83
+ slate: darkBrand(slate, slateDark),
84
+ emerald: darkBrand(emerald, emeraldDark),
85
+ rosewood: darkBrand(rosewood, rosewoodDark),
86
+ storefront: darkBrand(storefront, storefrontDark),
87
+ zinc: darkBrand(zinc, zincDark),
71
88
  };
72
89
  // Built from lightPalettes/darkPalettes (not the raw literals) so accentText can never be
73
90
  // present on one map and missing on the other.
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -15,8 +15,22 @@ const primary = {
15
15
  900: "#531a14",
16
16
  opacity: buildPrimaryOpacity(PRIMARY_500),
17
17
  };
18
+ const danger = {
19
+ 50: "#fcedf3",
20
+ 100: "#f5c5db",
21
+ 200: "#f1a9ca",
22
+ 300: "#ec82b4",
23
+ 400: "#ea69a7",
24
+ 500: "#e74494",
25
+ 600: "#d23e87",
26
+ 700: "#a43069",
27
+ 800: "#7f2651",
28
+ 900: "#611c3e",
29
+ };
18
30
  const palette = {
19
31
  ...neutralTokens,
32
+ red: danger,
33
+ semantic: { ...neutralTokens.semantic, error: danger },
20
34
  ...buildBrandInk(PRIMARY_500),
21
35
  // NOTE: stops retuned so white gradient-button text clears AA at both ends — original let it drop to 4.37/2.15.
22
36
  gradient: { from: "#cd4733", to: "#a36807" }, // terracotta red → amber
@@ -118,6 +132,7 @@ const palette = {
118
132
  boxShadow: {
119
133
  primary: buildPrimaryShadowTint(PRIMARY_500),
120
134
  ...sharedBoxShadow,
135
+ error: `${danger[500]}47`,
121
136
  },
122
137
  };
123
138
  export default palette;
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -1,18 +1,18 @@
1
1
  import { neutralTokens, sharedBoxShadow } from "../neutrals.js";
2
2
  import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
3
3
  import { buildBrandInk } from "../../builders/brandInk.js";
4
- const PRIMARY_500 = "#d16a7e"; // muted warm rose (not neon pink)
4
+ const PRIMARY_500 = "#cb6b94";
5
5
  const primary = {
6
- 50: "#fdf2f5",
7
- 100: "#f9d6de",
8
- 200: "#f2aaba",
9
- 300: "#ea7f96",
10
- 400: "#de627d",
6
+ 50: "#fcf2f7",
7
+ 100: "#f6d6e5",
8
+ 200: "#edabc9",
9
+ 300: "#e480ad",
10
+ 400: "#d76398",
11
11
  500: PRIMARY_500,
12
- 600: "#b9556b",
13
- 700: "#984558",
14
- 800: "#763646",
15
- 900: "#552634",
12
+ 600: "#b35681",
13
+ 700: "#93466a",
14
+ 800: "#723754",
15
+ 900: "#52273e",
16
16
  opacity: buildPrimaryOpacity(PRIMARY_500),
17
17
  };
18
18
  const palette = {
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;
@@ -1,4 +1,5 @@
1
1
  import { buildDarkPalette } from "../../builders/buildDarkPalette.js";
2
+ import { lazyPalette } from "../../builders/lazy.js";
2
3
  import light from "./palette.light.js";
3
- const palette = buildDarkPalette(light);
4
+ const palette = lazyPalette(light, () => buildDarkPalette(light));
4
5
  export default palette;