pixelize-design-library 2.4.2 → 3.0.0

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 (1825) hide show
  1. package/CHANGELOG.md +1439 -0
  2. package/COMPONENT-GOTCHAS.md +2057 -0
  3. package/DESIGN-GUIDE.md +339 -0
  4. package/README.md +119 -35
  5. package/dist/Components/Accordion/Accordion.d.ts +1 -0
  6. package/dist/Components/Accordion/Accordion.js +16 -12
  7. package/dist/Components/Accordion/AccordionProps.d.ts +16 -0
  8. package/dist/Components/Accordion/accordionColors.d.ts +6 -0
  9. package/dist/Components/Accordion/accordionColors.js +10 -11
  10. package/dist/Components/AddressCard/AddressCard.d.ts +4 -0
  11. package/dist/Components/AddressCard/AddressCard.js +26 -0
  12. package/dist/Components/AddressCard/AddressCardGroup.d.ts +4 -0
  13. package/dist/Components/AddressCard/AddressCardGroup.js +7 -0
  14. package/dist/Components/AddressCard/AddressCardProps.d.ts +58 -0
  15. package/dist/Components/AlertDialog/AlertDialog.d.ts +2 -1
  16. package/dist/Components/AlertDialog/AlertDialog.js +6 -5
  17. package/dist/Components/AlertDialog/AlertDialogProps.d.ts +27 -2
  18. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.d.ts +1 -0
  19. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +7 -2
  20. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChartProps.d.ts +15 -0
  21. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts +1 -0
  22. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +8 -4
  23. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +22 -0
  24. package/dist/Components/Apexcharts/ApexChartFallback.d.ts +7 -0
  25. package/dist/Components/Apexcharts/ApexChartFallback.js +10 -0
  26. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts +1 -0
  27. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +9 -3
  28. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChartProps.d.ts +18 -0
  29. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts +2 -1
  30. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +13 -7
  31. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +22 -0
  32. package/dist/Components/Apexcharts/ApexPieChart/pieImageTexture.d.ts +2 -0
  33. package/dist/Components/Apexcharts/ApexPieChart/pieImageTexture.js +13 -0
  34. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts +1 -0
  35. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +9 -5
  36. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarChartsProps.d.ts +12 -0
  37. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.d.ts +1 -0
  38. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +7 -4
  39. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChartProps.d.ts +13 -0
  40. package/dist/Components/Apexcharts/LazyReactApexChart.d.ts +2 -0
  41. package/dist/Components/Apexcharts/LazyReactApexChart.js +40 -0
  42. package/dist/Components/AppSwitcher/AppMark.d.ts +14 -0
  43. package/dist/Components/AppSwitcher/AppMark.js +58 -0
  44. package/dist/Components/AppSwitcher/AppSwitcher.d.ts +5 -0
  45. package/dist/Components/AppSwitcher/AppSwitcher.js +281 -0
  46. package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +97 -0
  47. package/dist/Components/AppSwitcher/AppSwitcherProps.js +96 -0
  48. package/dist/Components/AppSwitcher/pixelizeSuite.d.ts +25 -0
  49. package/dist/Components/AppSwitcher/pixelizeSuite.js +71 -0
  50. package/dist/Components/AppSwitcher/useAppSwitcherShortcut.d.ts +3 -0
  51. package/dist/Components/AppSwitcher/useAppSwitcherShortcut.js +31 -0
  52. package/dist/Components/AppearanceSettings/AppearanceSettings.d.ts +1 -0
  53. package/dist/Components/AppearanceSettings/AppearanceSettings.js +7 -5
  54. package/dist/Components/AppearanceSettings/AppearanceSettingsProps.d.ts +15 -2
  55. package/dist/Components/AudioRecorder/AudioRecorder.d.ts +9 -0
  56. package/dist/Components/AudioRecorder/AudioRecorder.js +171 -0
  57. package/dist/Components/AudioRecorder/AudioRecorderProps.d.ts +26 -0
  58. package/dist/Components/Avatar/Avatar.d.ts +4 -0
  59. package/dist/Components/Avatar/Avatar.js +26 -0
  60. package/dist/Components/Avatar/AvatarGroup.d.ts +4 -0
  61. package/dist/Components/Avatar/AvatarGroup.js +25 -0
  62. package/dist/Components/Avatar/AvatarGroupProps.d.ts +21 -0
  63. package/dist/Components/Avatar/AvatarProps.d.ts +22 -0
  64. package/dist/Components/Avatar/AvatarProps.js +2 -0
  65. package/dist/Components/Avatar/avatarColorway.d.ts +12 -0
  66. package/dist/Components/Avatar/avatarColorway.js +32 -0
  67. package/dist/Components/Avatar/avatarSizing.d.ts +5 -0
  68. package/dist/Components/Avatar/avatarSizing.js +15 -0
  69. package/dist/Components/Backdrop/Backdrop.d.ts +3 -0
  70. package/dist/Components/Backdrop/Backdrop.js +34 -0
  71. package/dist/Components/Backdrop/BackdropProps.d.ts +33 -0
  72. package/dist/Components/Backdrop/BackdropProps.js +2 -0
  73. package/dist/Components/BagBar/BagBar.d.ts +4 -0
  74. package/dist/Components/BagBar/BagBar.js +33 -0
  75. package/dist/Components/BagBar/BagBarProps.d.ts +38 -0
  76. package/dist/Components/BagBar/BagBarProps.js +2 -0
  77. package/dist/Components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  78. package/dist/Components/Breadcrumbs/Breadcrumbs.js +37 -4
  79. package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +18 -1
  80. package/dist/Components/Breadcrumbs/breadcrumbInk.d.ts +9 -0
  81. package/dist/Components/Breadcrumbs/breadcrumbInk.js +11 -0
  82. package/dist/Components/BulkSelectionBar/BulkSelectionBar.d.ts +4 -0
  83. package/dist/Components/BulkSelectionBar/BulkSelectionBar.js +44 -0
  84. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.d.ts +41 -0
  85. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.js +2 -0
  86. package/dist/Components/BulkSelectionBar/index.d.ts +2 -0
  87. package/dist/Components/BulkSelectionBar/index.js +8 -0
  88. package/dist/Components/Button/Button.js +4 -2
  89. package/dist/Components/Button/Button.styles.js +104 -119
  90. package/dist/Components/Button/ButtonProps.d.ts +14 -4
  91. package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +2 -35
  92. package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.js +16 -0
  93. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts +2 -1
  94. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +9 -15
  95. package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.d.ts +61 -0
  96. package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.js +2 -0
  97. package/dist/Components/CalendarGrid/CalendarGrid.d.ts +4 -0
  98. package/dist/Components/CalendarGrid/CalendarGrid.js +176 -0
  99. package/dist/Components/CalendarGrid/CalendarGridProps.d.ts +65 -0
  100. package/dist/Components/CalendarGrid/CalendarGridProps.js +2 -0
  101. package/dist/Components/CalendarGrid/calendarMath.d.ts +62 -0
  102. package/dist/Components/CalendarGrid/calendarMath.js +190 -0
  103. package/dist/Components/Card/Card.d.ts +21 -2
  104. package/dist/Components/Card/Card.js +21 -5
  105. package/dist/Components/Card/CardProps.d.ts +35 -6
  106. package/dist/Components/Card/PaymentCard/PaymentCard.d.ts +1 -0
  107. package/dist/Components/Card/PaymentCard/PaymentCard.js +33 -18
  108. package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +25 -0
  109. package/dist/Components/CartItem/CartItem.d.ts +4 -0
  110. package/dist/Components/CartItem/CartItem.js +61 -0
  111. package/dist/Components/CartItem/CartItemProps.d.ts +74 -0
  112. package/dist/Components/CartItem/CartItemProps.js +2 -0
  113. package/dist/Components/CartItem/cartItemOptions.d.ts +3 -0
  114. package/dist/Components/CartItem/cartItemOptions.js +13 -0
  115. package/dist/Components/Checkbox/Checkbox.d.ts +18 -2
  116. package/dist/Components/Checkbox/Checkbox.js +16 -11
  117. package/dist/Components/Checkbox/Checkbox.styles.js +47 -37
  118. package/dist/Components/Checkbox/CheckboxProps.d.ts +14 -0
  119. package/dist/Components/CheckoutKit/selectable.d.ts +60 -0
  120. package/dist/Components/CheckoutKit/selectable.js +123 -0
  121. package/dist/Components/CheckoutKit/tonalHover.d.ts +2 -0
  122. package/dist/Components/CheckoutKit/tonalHover.js +6 -0
  123. package/dist/Components/ChoiceCard/ChoiceCard.d.ts +4 -0
  124. package/dist/Components/ChoiceCard/ChoiceCard.js +18 -0
  125. package/dist/Components/ChoiceCard/ChoiceCardGroup.d.ts +4 -0
  126. package/dist/Components/ChoiceCard/ChoiceCardGroup.js +7 -0
  127. package/dist/Components/ChoiceCard/ChoiceCardProps.d.ts +37 -0
  128. package/dist/Components/ChoiceCard/ChoiceCardProps.js +2 -0
  129. package/dist/Components/CircularProgress/CircularProgress.d.ts +4 -0
  130. package/dist/Components/CircularProgress/CircularProgress.js +35 -0
  131. package/dist/Components/CircularProgress/CircularProgressProps.d.ts +24 -0
  132. package/dist/Components/CircularProgress/CircularProgressProps.js +2 -0
  133. package/dist/Components/CircularProgress/arc.d.ts +20 -0
  134. package/dist/Components/CircularProgress/arc.js +30 -0
  135. package/dist/Components/Commerce/commerceTypes.d.ts +57 -0
  136. package/dist/Components/Commerce/commerceTypes.js +2 -0
  137. package/dist/Components/Commerce/commerceVariants.d.ts +13 -0
  138. package/dist/Components/Commerce/commerceVariants.js +51 -0
  139. package/dist/Components/Commerce/index.d.ts +2 -0
  140. package/dist/Components/Commerce/index.js +18 -0
  141. package/dist/Components/Commerce/useContainerWidth.d.ts +3 -0
  142. package/dist/Components/Commerce/useContainerWidth.js +25 -0
  143. package/dist/Components/Common/ErrorMessage.d.ts +1 -1
  144. package/dist/Components/Common/ErrorMessage.js +3 -3
  145. package/dist/Components/Common/FieldMessage.d.ts +10 -0
  146. package/dist/Components/Common/FieldMessage.js +19 -0
  147. package/dist/Components/Common/FormLabel.d.ts +13 -0
  148. package/dist/Components/Common/FormLabel.js +18 -10
  149. package/dist/Components/Common/HelperText.d.ts +5 -2
  150. package/dist/Components/Common/HelperText.js +12 -7
  151. package/dist/Components/Common/activationKey.d.ts +5 -0
  152. package/dist/Components/Common/activationKey.js +12 -0
  153. package/dist/Components/Common/chipTriggerSize.d.ts +10 -0
  154. package/dist/Components/Common/chipTriggerSize.js +15 -0
  155. package/dist/Components/Common/dataAttributes.d.ts +4 -0
  156. package/dist/Components/Common/dataAttributes.js +2 -0
  157. package/dist/Components/Common/fieldMessageStyles.d.ts +19 -0
  158. package/dist/Components/Common/fieldMessageStyles.js +19 -0
  159. package/dist/Components/Common/fieldStyles.d.ts +49 -11
  160. package/dist/Components/Common/fieldStyles.js +75 -31
  161. package/dist/Components/Common/findSlot.d.ts +2 -0
  162. package/dist/Components/Common/findSlot.js +24 -0
  163. package/dist/Components/Common/iconBox.d.ts +3 -0
  164. package/dist/Components/Common/iconBox.js +16 -0
  165. package/dist/Components/Common/surfaceFocusRing.d.ts +1 -0
  166. package/dist/Components/Common/surfaceFocusRing.js +7 -0
  167. package/dist/Components/Common/useFieldIds.d.ts +16 -0
  168. package/dist/Components/Common/useFieldIds.js +27 -0
  169. package/dist/Components/ConfirmDialog/ConfirmDialog.d.ts +5 -0
  170. package/dist/Components/ConfirmDialog/ConfirmDialog.js +37 -0
  171. package/dist/Components/ConfirmDialog/ConfirmDialogProps.d.ts +78 -0
  172. package/dist/Components/ConfirmDialog/ConfirmDialogProps.js +2 -0
  173. package/dist/Components/ContactForm/ContactForm.d.ts +2 -1
  174. package/dist/Components/ContactForm/ContactForm.js +19 -14
  175. package/dist/Components/ContactForm/ContactFormProps.d.ts +31 -0
  176. package/dist/Components/CopyButton/CopyButton.d.ts +6 -1
  177. package/dist/Components/CopyButton/CopyButton.js +19 -10
  178. package/dist/Components/CouponField/CouponField.d.ts +4 -0
  179. package/dist/Components/CouponField/CouponField.js +76 -0
  180. package/dist/Components/CouponField/CouponFieldProps.d.ts +65 -0
  181. package/dist/Components/CouponField/CouponFieldProps.js +2 -0
  182. package/dist/Components/CustomModulesTable/CustomModulesTable.d.ts +1 -0
  183. package/dist/Components/CustomModulesTable/CustomModulesTable.js +9 -4
  184. package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +43 -0
  185. package/dist/Components/CustomModulesTable/DeleteModuleModal.d.ts +1 -0
  186. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +3 -2
  187. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts +1 -0
  188. package/dist/Components/CustomModulesTable/EditModuleModal.js +4 -4
  189. package/dist/Components/DatePicker/CalendarPanel.d.ts +7 -0
  190. package/dist/Components/DatePicker/CalendarPanel.js +44 -24
  191. package/dist/Components/DatePicker/DatePicker.d.ts +5 -2
  192. package/dist/Components/DatePicker/DatePicker.js +40 -73
  193. package/dist/Components/DatePicker/DatePickerProps.d.ts +90 -2
  194. package/dist/Components/DatePicker/DatePickerProps.js +3 -0
  195. package/dist/Components/DatePicker/PickerPortal.d.ts +11 -0
  196. package/dist/Components/DatePicker/PickerPortal.js +26 -0
  197. package/dist/Components/DatePicker/RangeDatePicker.d.ts +16 -2
  198. package/dist/Components/DatePicker/RangeDatePicker.js +109 -70
  199. package/dist/Components/DatePicker/SingleDatePicker.d.ts +10 -3
  200. package/dist/Components/DatePicker/SingleDatePicker.js +133 -91
  201. package/dist/Components/DatePicker/ThemeDatePicker.d.ts +9 -3
  202. package/dist/Components/DatePicker/ThemeDatePicker.js +17 -19
  203. package/dist/Components/DatePicker/TimeOnlyPicker.d.ts +10 -3
  204. package/dist/Components/DatePicker/TimeOnlyPicker.js +83 -40
  205. package/dist/Components/DatePicker/TimePicker.d.ts +1 -0
  206. package/dist/Components/DatePicker/TimePicker.js +9 -12
  207. package/dist/Components/DatePicker/TimePickerInput.d.ts +7 -2
  208. package/dist/Components/DatePicker/TimePickerInput.js +8 -12
  209. package/dist/Components/DatePicker/dayStates.d.ts +33 -0
  210. package/dist/Components/DatePicker/dayStates.js +76 -0
  211. package/dist/Components/DatePicker/pickerField.d.ts +24 -0
  212. package/dist/Components/DatePicker/pickerField.js +31 -0
  213. package/dist/Components/DatePicker/valueFormat.d.ts +4 -0
  214. package/dist/Components/DatePicker/valueFormat.js +21 -0
  215. package/dist/Components/DescriptionList/DescriptionList.d.ts +4 -0
  216. package/dist/Components/DescriptionList/DescriptionList.js +32 -0
  217. package/dist/Components/DescriptionList/DescriptionListProps.d.ts +29 -0
  218. package/dist/Components/DescriptionList/DescriptionListProps.js +2 -0
  219. package/dist/Components/DetailSections/DetailSections.d.ts +4 -0
  220. package/dist/Components/DetailSections/DetailSections.js +113 -0
  221. package/dist/Components/DetailSections/DetailSectionsProps.d.ts +80 -0
  222. package/dist/Components/DetailSections/DetailSectionsProps.js +2 -0
  223. package/dist/Components/Divider/Divider.d.ts +3 -2
  224. package/dist/Components/Divider/Divider.js +3 -2
  225. package/dist/Components/Drawer/Drawer.d.ts +7 -11
  226. package/dist/Components/Drawer/Drawer.js +32 -13
  227. package/dist/Components/Drawer/DrawerProps.d.ts +22 -2
  228. package/dist/Components/Dropdown/DropDown.d.ts +1 -0
  229. package/dist/Components/Dropdown/DropDown.js +73 -58
  230. package/dist/Components/Dropdown/DropdownProps.d.ts +18 -1
  231. package/dist/Components/Editor/Editor.d.ts +1 -0
  232. package/dist/Components/Editor/Editor.js +67 -2
  233. package/dist/Components/Editor/EditorFieldBar.d.ts +15 -0
  234. package/dist/Components/Editor/EditorFieldBar.js +19 -0
  235. package/dist/Components/Editor/EditorProps.d.ts +126 -2
  236. package/dist/Components/Editor/MakeDynamicDialog.d.ts +12 -0
  237. package/dist/Components/Editor/MakeDynamicDialog.js +59 -0
  238. package/dist/Components/Editor/editorLabels.d.ts +4 -0
  239. package/dist/Components/Editor/editorLabels.js +25 -0
  240. package/dist/Components/Editor/editorTokenStyles.d.ts +36 -0
  241. package/dist/Components/Editor/editorTokenStyles.js +38 -0
  242. package/dist/Components/Editor/editorTokens.d.ts +29 -0
  243. package/dist/Components/Editor/editorTokens.js +134 -0
  244. package/dist/Components/Editor/joditAccessibility.d.ts +1 -0
  245. package/dist/Components/Editor/joditAccessibility.js +28 -0
  246. package/dist/Components/Editor/useEditorBridge.d.ts +40 -0
  247. package/dist/Components/Editor/useEditorBridge.js +141 -0
  248. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts +2 -1
  249. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +12 -9
  250. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +26 -0
  251. package/dist/Components/EmptyState/EmptyState.d.ts +1 -0
  252. package/dist/Components/EmptyState/EmptyState.js +26 -14
  253. package/dist/Components/EmptyState/EmptyStateProps.d.ts +33 -5
  254. package/dist/Components/EmptyState/FilteredEmptyState.d.ts +5 -0
  255. package/dist/Components/EmptyState/FilteredEmptyState.js +23 -0
  256. package/dist/Components/FeedbackForm/FeedbackForm.d.ts +3 -0
  257. package/dist/Components/FeedbackForm/FeedbackForm.js +19 -5
  258. package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts +4 -2
  259. package/dist/Components/FieldSelectModal/FieldSelectModal.js +3 -4
  260. package/dist/Components/FilePreview/FilePreview.d.ts +1 -0
  261. package/dist/Components/FilePreview/FilePreview.js +17 -10
  262. package/dist/Components/FilePreview/FilePreviewProps.d.ts +10 -2
  263. package/dist/Components/FileUpload/FileUpload.d.ts +1 -0
  264. package/dist/Components/FileUpload/FileUpload.js +49 -17
  265. package/dist/Components/FileUpload/FileUploadProps.d.ts +26 -0
  266. package/dist/Components/FileUpload/constants.d.ts +1 -0
  267. package/dist/Components/FileUpload/constants.js +2 -1
  268. package/dist/Components/FileUpload/useObjectUrl.d.ts +1 -0
  269. package/dist/Components/FileUpload/useObjectUrl.js +14 -0
  270. package/dist/Components/FileUploader/FileUploader.d.ts +1 -0
  271. package/dist/Components/FileUploader/FileUploader.js +16 -5
  272. package/dist/Components/FileUploader/FileUploaderProps.d.ts +11 -0
  273. package/dist/Components/FilterBar/FilterBar.d.ts +4 -0
  274. package/dist/Components/FilterBar/FilterBar.js +17 -0
  275. package/dist/Components/FilterBar/FilterBarProps.d.ts +27 -0
  276. package/dist/Components/FilterBar/FilterBarProps.js +2 -0
  277. package/dist/Components/FilterSidebar/FilterSidebar.d.ts +8 -7
  278. package/dist/Components/FilterSidebar/FilterSidebar.js +92 -233
  279. package/dist/Components/FilterSidebar/OptionsSection.d.ts +14 -0
  280. package/dist/Components/FilterSidebar/OptionsSection.js +46 -0
  281. package/dist/Components/FilterSidebar/RangeSection.d.ts +17 -0
  282. package/dist/Components/FilterSidebar/RangeSection.js +80 -0
  283. package/dist/Components/FilterSidebar/SectionHeader.d.ts +13 -0
  284. package/dist/Components/FilterSidebar/SectionHeader.js +29 -0
  285. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +2 -10
  286. package/dist/Components/FilterSidebar/filterHoverStyle.js +3 -10
  287. package/dist/Components/FilterSidebar/useStableCallback.d.ts +1 -0
  288. package/dist/Components/FilterSidebar/useStableCallback.js +12 -0
  289. package/dist/Components/Form/FormWrapper.d.ts +7 -4
  290. package/dist/Components/Form/FormWrapper.js +5 -2
  291. package/dist/Components/FormDrawer/FormDrawer.d.ts +3 -0
  292. package/dist/Components/FormDrawer/FormDrawer.js +98 -0
  293. package/dist/Components/FormDrawer/FormDrawerProps.d.ts +60 -0
  294. package/dist/Components/FormDrawer/FormDrawerProps.js +2 -0
  295. package/dist/Components/FormField/FormField.d.ts +4 -0
  296. package/dist/Components/FormField/FormField.js +58 -0
  297. package/dist/Components/FormField/FormFieldProps.d.ts +37 -0
  298. package/dist/Components/FormField/FormFieldProps.js +2 -0
  299. package/dist/Components/Header/Header.d.ts +1 -15
  300. package/dist/Components/Header/Header.js +3 -16
  301. package/dist/Components/Header/HeaderActions.d.ts +20 -0
  302. package/dist/Components/Header/HeaderActions.js +7 -4
  303. package/dist/Components/Header/HeaderProps.d.ts +41 -1
  304. package/dist/Components/Header/components/desktopMenu.d.ts +2 -1
  305. package/dist/Components/Header/components/desktopMenu.js +11 -11
  306. package/dist/Components/Header/components/mobileMenu.d.ts +2 -1
  307. package/dist/Components/Header/components/mobileMenu.js +27 -14
  308. package/dist/Components/IconButton/IconButton.d.ts +5 -0
  309. package/dist/Components/IconButton/IconButton.js +24 -0
  310. package/dist/Components/IconButton/IconButtonProps.d.ts +11 -0
  311. package/dist/Components/IconButton/IconButtonProps.js +2 -0
  312. package/dist/Components/Input/PhoneNumberInput.d.ts +2 -1
  313. package/dist/Components/Input/PhoneNumberInput.js +21 -3
  314. package/dist/Components/Input/PhoneNumberInputProps.d.ts +8 -1
  315. package/dist/Components/Input/Switch/InputSwitch.d.ts +16 -3
  316. package/dist/Components/Input/Switch/InputSwitch.js +17 -18
  317. package/dist/Components/Input/TextInput.js +80 -6
  318. package/dist/Components/Input/TextInput.styles.d.ts +18 -1
  319. package/dist/Components/Input/TextInput.styles.js +52 -89
  320. package/dist/Components/Input/TextInputProps.d.ts +46 -7
  321. package/dist/Components/Input/textInputIconSize.d.ts +2 -7
  322. package/dist/Components/Input/textInputIconSize.js +6 -32
  323. package/dist/Components/Input/useAriaRequired.d.ts +2 -0
  324. package/dist/Components/Input/useAriaRequired.js +19 -0
  325. package/dist/Components/InputTextArea/InputTextArea.d.ts +2 -1
  326. package/dist/Components/InputTextArea/InputTextArea.js +9 -4
  327. package/dist/Components/InputTextArea/InputTextArea.style.js +14 -69
  328. package/dist/Components/InputTextArea/InputTextAreaProps.d.ts +9 -1
  329. package/dist/Components/KanbanBoard/AccountCard.d.ts +3 -0
  330. package/dist/Components/KanbanBoard/AccountCard.js +15 -8
  331. package/dist/Components/KanbanBoard/AccountRow.d.ts +1 -0
  332. package/dist/Components/KanbanBoard/AccountRow.js +2 -1
  333. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.d.ts +2 -0
  334. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  335. package/dist/Components/KanbanBoard/KanbanBoard.d.ts +2 -1
  336. package/dist/Components/KanbanBoard/KanbanBoard.js +130 -71
  337. package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +82 -28
  338. package/dist/Components/KanbanBoard/MeasuredItem.d.ts +1 -0
  339. package/dist/Components/KanbanBoard/MeasuredItem.js +7 -14
  340. package/dist/Components/KanbanBoard/boardStore.d.ts +8 -0
  341. package/dist/Components/KanbanBoard/boardStore.js +27 -0
  342. package/dist/Components/KanbanBoard/index.d.ts +2 -0
  343. package/dist/Components/KanbanBoard/index.js +8 -0
  344. package/dist/Components/Kbd/Kbd.d.ts +7 -0
  345. package/dist/Components/Kbd/Kbd.js +34 -0
  346. package/dist/Components/Kbd/KbdProps.d.ts +21 -0
  347. package/dist/Components/Kbd/KbdProps.js +2 -0
  348. package/dist/Components/LauncherTrigger/LauncherTrigger.d.ts +5 -0
  349. package/dist/Components/LauncherTrigger/LauncherTrigger.js +49 -0
  350. package/dist/Components/LauncherTrigger/LauncherTriggerProps.d.ts +19 -0
  351. package/dist/Components/LauncherTrigger/LauncherTriggerProps.js +2 -0
  352. package/dist/Components/LazyWrapper/LazyWrapper.d.ts +4 -2
  353. package/dist/Components/LazyWrapper/LazyWrapper.js +2 -1
  354. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts +1 -0
  355. package/dist/Components/LimitReachedModal/LimitReachedModal.js +2 -1
  356. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +11 -1
  357. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +2 -0
  358. package/dist/Components/LimitReachedModal/limitReachedCopy.js +3 -3
  359. package/dist/Components/Loading/Loading.d.ts +2 -1
  360. package/dist/Components/Loading/Loading.js +17 -15
  361. package/dist/Components/Loading/LoadingProps.d.ts +9 -1
  362. package/dist/Components/MediaGallery/MediaFrame.d.ts +31 -0
  363. package/dist/Components/MediaGallery/MediaFrame.js +55 -0
  364. package/dist/Components/MediaGallery/MediaGallery.d.ts +4 -0
  365. package/dist/Components/MediaGallery/MediaGallery.js +206 -0
  366. package/dist/Components/MediaGallery/MediaGalleryProps.d.ts +82 -0
  367. package/dist/Components/MediaGallery/MediaGalleryProps.js +20 -0
  368. package/dist/Components/MediaGallery/MediaLightbox.d.ts +4 -0
  369. package/dist/Components/MediaGallery/MediaLightbox.js +117 -0
  370. package/dist/Components/MediaGallery/MediaLightboxProps.d.ts +45 -0
  371. package/dist/Components/MediaGallery/MediaLightboxProps.js +15 -0
  372. package/dist/Components/MediaGallery/MediaThumb.d.ts +18 -0
  373. package/dist/Components/MediaGallery/MediaThumb.js +25 -0
  374. package/dist/Components/MediaGallery/glass.d.ts +31 -0
  375. package/dist/Components/MediaGallery/glass.js +48 -0
  376. package/dist/Components/MediaGallery/mediaGalleryModel.d.ts +22 -0
  377. package/dist/Components/MediaGallery/mediaGalleryModel.js +83 -0
  378. package/dist/Components/MediaGallery/motion.d.ts +5 -0
  379. package/dist/Components/MediaGallery/motion.js +12 -0
  380. package/dist/Components/MediaViewer/MediaViewer.d.ts +5 -0
  381. package/dist/Components/MediaViewer/MediaViewer.js +235 -0
  382. package/dist/Components/MediaViewer/MediaViewerProps.d.ts +92 -0
  383. package/dist/Components/MediaViewer/MediaViewerProps.js +32 -0
  384. package/dist/Components/MediaViewer/components/MediaAudioPlayer.d.ts +5 -0
  385. package/dist/Components/MediaViewer/components/MediaAudioPlayer.js +143 -0
  386. package/dist/Components/MediaViewer/components/MediaAudioPlayerProps.d.ts +48 -0
  387. package/dist/Components/MediaViewer/components/MediaAudioPlayerProps.js +21 -0
  388. package/dist/Components/MediaViewer/components/MediaDocumentStage.d.ts +5 -0
  389. package/dist/Components/MediaViewer/components/MediaDocumentStage.js +150 -0
  390. package/dist/Components/MediaViewer/components/MediaDocumentStageProps.d.ts +42 -0
  391. package/dist/Components/MediaViewer/components/MediaDocumentStageProps.js +11 -0
  392. package/dist/Components/MediaViewer/components/MediaImageViewer.d.ts +5 -0
  393. package/dist/Components/MediaViewer/components/MediaImageViewer.js +115 -0
  394. package/dist/Components/MediaViewer/components/MediaImageViewerProps.d.ts +47 -0
  395. package/dist/Components/MediaViewer/components/MediaImageViewerProps.js +18 -0
  396. package/dist/Components/MediaViewer/components/MediaScrubber.d.ts +5 -0
  397. package/dist/Components/MediaViewer/components/MediaScrubber.js +98 -0
  398. package/dist/Components/MediaViewer/components/MediaScrubberProps.d.ts +30 -0
  399. package/dist/Components/MediaViewer/components/MediaScrubberProps.js +2 -0
  400. package/dist/Components/MediaViewer/components/MediaStatusPanel.d.ts +5 -0
  401. package/dist/Components/MediaViewer/components/MediaStatusPanel.js +14 -0
  402. package/dist/Components/MediaViewer/components/MediaStatusPanelProps.d.ts +24 -0
  403. package/dist/Components/MediaViewer/components/MediaStatusPanelProps.js +2 -0
  404. package/dist/Components/MediaViewer/components/MediaVideoPlayer.d.ts +5 -0
  405. package/dist/Components/MediaViewer/components/MediaVideoPlayer.js +251 -0
  406. package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.d.ts +72 -0
  407. package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.js +31 -0
  408. package/dist/Components/MediaViewer/components/PlaybackTimeline.d.ts +20 -0
  409. package/dist/Components/MediaViewer/components/PlaybackTimeline.js +47 -0
  410. package/dist/Components/MediaViewer/components/TileChip.d.ts +5 -0
  411. package/dist/Components/MediaViewer/components/TileChip.js +12 -0
  412. package/dist/Components/MediaViewer/components/TileChipProps.d.ts +7 -0
  413. package/dist/Components/MediaViewer/components/TileChipProps.js +2 -0
  414. package/dist/Components/MediaViewer/components/VideoPoster.d.ts +5 -0
  415. package/dist/Components/MediaViewer/components/VideoPoster.js +16 -0
  416. package/dist/Components/MediaViewer/components/VideoPosterProps.d.ts +6 -0
  417. package/dist/Components/MediaViewer/components/VideoPosterProps.js +2 -0
  418. package/dist/Components/MediaViewer/components/ViewerIconButton.d.ts +5 -0
  419. package/dist/Components/MediaViewer/components/ViewerIconButton.js +22 -0
  420. package/dist/Components/MediaViewer/components/ViewerIconButtonProps.d.ts +24 -0
  421. package/dist/Components/MediaViewer/components/ViewerIconButtonProps.js +2 -0
  422. package/dist/Components/MediaViewer/components/mediaKindIcon.d.ts +5 -0
  423. package/dist/Components/MediaViewer/components/mediaKindIcon.js +23 -0
  424. package/dist/Components/MediaViewer/components/sanitizeDocxHrefs.d.ts +1 -0
  425. package/dist/Components/MediaViewer/components/sanitizeDocxHrefs.js +30 -0
  426. package/dist/Components/MediaViewer/hooks/useAutoHideChrome.d.ts +15 -0
  427. package/dist/Components/MediaViewer/hooks/useAutoHideChrome.js +43 -0
  428. package/dist/Components/MediaViewer/hooks/useFileViewer.d.ts +20 -0
  429. package/dist/Components/MediaViewer/hooks/useFileViewer.js +51 -0
  430. package/dist/Components/MediaViewer/mediaItems.d.ts +90 -0
  431. package/dist/Components/MediaViewer/mediaItems.js +206 -0
  432. package/dist/Components/MediaViewer/useViewerChrome.d.ts +15 -0
  433. package/dist/Components/MediaViewer/useViewerChrome.js +30 -0
  434. package/dist/Components/Modal/Modal.d.ts +9 -11
  435. package/dist/Components/Modal/Modal.js +16 -23
  436. package/dist/Components/Modal/ModalProps.d.ts +26 -2
  437. package/dist/Components/Modal/dialogNaming.d.ts +8 -0
  438. package/dist/Components/Modal/dialogNaming.js +21 -0
  439. package/dist/Components/Modal/warnDroppedSlotChildren.d.ts +2 -0
  440. package/dist/Components/Modal/warnDroppedSlotChildren.js +49 -0
  441. package/dist/Components/MoreItems/MoreItems.d.ts +1 -0
  442. package/dist/Components/MoreItems/MoreItems.js +8 -3
  443. package/dist/Components/MoreItems/MoreItemsProps.d.ts +6 -2
  444. package/dist/Components/MultiSelect/MultiSelect.d.ts +2 -1
  445. package/dist/Components/MultiSelect/MultiSelect.js +41 -28
  446. package/dist/Components/MultiSelect/MultiSelectProps.d.ts +28 -3
  447. package/dist/Components/NavLauncher/LauncherTabs.d.ts +18 -0
  448. package/dist/Components/NavLauncher/LauncherTabs.js +65 -0
  449. package/dist/Components/NavLauncher/NavLauncher.d.ts +3 -0
  450. package/dist/Components/NavLauncher/NavLauncher.js +837 -0
  451. package/dist/Components/NavLauncher/NavLauncherProps.d.ts +342 -0
  452. package/dist/Components/NavLauncher/NavLauncherProps.js +2 -0
  453. package/dist/Components/NavLauncher/NewTabLink.d.ts +3 -0
  454. package/dist/Components/NavLauncher/NewTabLink.js +18 -0
  455. package/dist/Components/NavLauncher/PinToggle.d.ts +3 -0
  456. package/dist/Components/NavLauncher/PinToggle.js +21 -0
  457. package/dist/Components/NavLauncher/ScopeBar.d.ts +14 -0
  458. package/dist/Components/NavLauncher/ScopeBar.js +139 -0
  459. package/dist/Components/NavLauncher/engine/distance.d.ts +4 -0
  460. package/dist/Components/NavLauncher/engine/distance.js +41 -0
  461. package/dist/Components/NavLauncher/engine/engine.d.ts +103 -0
  462. package/dist/Components/NavLauncher/engine/engine.js +472 -0
  463. package/dist/Components/NavLauncher/engine/fold.d.ts +15 -0
  464. package/dist/Components/NavLauncher/engine/fold.js +84 -0
  465. package/dist/Components/NavLauncher/engine/index.d.ts +21 -0
  466. package/dist/Components/NavLauncher/engine/index.js +17 -0
  467. package/dist/Components/NavLauncher/launcherMotion.d.ts +19 -0
  468. package/dist/Components/NavLauncher/launcherMotion.js +15 -0
  469. package/dist/Components/NavLauncher/launcherParts.d.ts +169 -0
  470. package/dist/Components/NavLauncher/launcherParts.js +258 -0
  471. package/dist/Components/NavLauncher/match.d.ts +98 -0
  472. package/dist/Components/NavLauncher/match.js +192 -0
  473. package/dist/Components/NavLauncher/resultNavigation.d.ts +3 -0
  474. package/dist/Components/NavLauncher/resultNavigation.js +65 -0
  475. package/dist/Components/NavLauncher/revealStyles.d.ts +4 -0
  476. package/dist/Components/NavLauncher/revealStyles.js +19 -0
  477. package/dist/Components/NavLauncher/searchLayout.d.ts +61 -0
  478. package/dist/Components/NavLauncher/searchLayout.js +110 -0
  479. package/dist/Components/NavLauncher/spotlight.d.ts +39 -0
  480. package/dist/Components/NavLauncher/spotlight.js +202 -0
  481. package/dist/Components/NavLauncher/spotlightParts.d.ts +53 -0
  482. package/dist/Components/NavLauncher/spotlightParts.js +121 -0
  483. package/dist/Components/NavLauncher/useCopiedFlash.d.ts +6 -0
  484. package/dist/Components/NavLauncher/useCopiedFlash.js +21 -0
  485. package/dist/Components/NavigationBar/NavigationBar.d.ts +2 -1
  486. package/dist/Components/NavigationBar/NavigationBar.js +26 -20
  487. package/dist/Components/NavigationBar/NavigationBarProps.d.ts +21 -0
  488. package/dist/Components/NoteTextArea/NoteTextArea.d.ts +4 -1
  489. package/dist/Components/NoteTextArea/NoteTextArea.js +32 -15
  490. package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +23 -4
  491. package/dist/Components/Notification/Notification.d.ts +1 -0
  492. package/dist/Components/Notification/Notification.js +37 -16
  493. package/dist/Components/Notification/NotificationProps.d.ts +22 -0
  494. package/dist/Components/NotificationBell/NotificationBell.d.ts +4 -0
  495. package/dist/Components/NotificationBell/NotificationBell.js +39 -0
  496. package/dist/Components/NotificationBell/NotificationBellProps.d.ts +174 -0
  497. package/dist/Components/NotificationBell/NotificationBellProps.js +2 -0
  498. package/dist/Components/NotificationBell/NotificationItem.d.ts +4 -0
  499. package/dist/Components/NotificationBell/NotificationItem.js +34 -0
  500. package/dist/Components/NotificationBell/NotificationList.d.ts +4 -0
  501. package/dist/Components/NotificationBell/NotificationList.js +41 -0
  502. package/dist/Components/NotificationBell/NotificationPanel.d.ts +4 -0
  503. package/dist/Components/NotificationBell/NotificationPanel.js +37 -0
  504. package/dist/Components/NotificationBell/index.d.ts +6 -0
  505. package/dist/Components/NotificationBell/index.js +30 -0
  506. package/dist/Components/NotificationBell/notificationHelpers.d.ts +60 -0
  507. package/dist/Components/NotificationBell/notificationHelpers.js +121 -0
  508. package/dist/Components/NumberInput/NumberInput.d.ts +6 -1
  509. package/dist/Components/NumberInput/NumberInput.js +9 -4
  510. package/dist/Components/NumberInput/NumberInput.styles.js +19 -78
  511. package/dist/Components/NumberInput/NumberInputProps.d.ts +23 -1
  512. package/dist/Components/OffersList/OffersList.d.ts +4 -0
  513. package/dist/Components/OffersList/OffersList.js +86 -0
  514. package/dist/Components/OffersList/OffersListProps.d.ts +45 -0
  515. package/dist/Components/OffersList/OffersListProps.js +2 -0
  516. package/dist/Components/OptionChip/OptionChip.d.ts +4 -0
  517. package/dist/Components/OptionChip/OptionChip.js +99 -0
  518. package/dist/Components/OptionChip/OptionChipProps.d.ts +38 -0
  519. package/dist/Components/OptionChip/OptionChipProps.js +2 -0
  520. package/dist/Components/OptionChip/optionInk.d.ts +12 -0
  521. package/dist/Components/OptionChip/optionInk.js +27 -0
  522. package/dist/Components/OrderStatusTimeline/OrderStatusTimeline.d.ts +4 -0
  523. package/dist/Components/OrderStatusTimeline/OrderStatusTimeline.js +59 -0
  524. package/dist/Components/OrderStatusTimeline/OrderStatusTimelineProps.d.ts +39 -0
  525. package/dist/Components/OrderStatusTimeline/OrderStatusTimelineProps.js +2 -0
  526. package/dist/Components/OrderSummary/OrderSummary.d.ts +4 -0
  527. package/dist/Components/OrderSummary/OrderSummary.js +63 -0
  528. package/dist/Components/OrderSummary/OrderSummaryProps.d.ts +63 -0
  529. package/dist/Components/OrderSummary/OrderSummaryProps.js +2 -0
  530. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts +1 -0
  531. package/dist/Components/OrgSwitcher/OrgSwitcher.js +51 -30
  532. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +13 -3
  533. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +3 -1
  534. package/dist/Components/OrganizationDetails/CreateOrgModal.js +2 -1
  535. package/dist/Components/OrganizationDetails/DeleteOrgModal.js +4 -6
  536. package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts +1 -0
  537. package/dist/Components/OrganizationDetails/OrganizationDetails.js +19 -11
  538. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +72 -5
  539. package/dist/Components/PageHeader/PageHeader.d.ts +4 -0
  540. package/dist/Components/PageHeader/PageHeader.js +18 -0
  541. package/dist/Components/PageHeader/PageHeaderProps.d.ts +29 -0
  542. package/dist/Components/PageHeader/PageHeaderProps.js +2 -0
  543. package/dist/Components/Pagination/Pagination.d.ts +5 -0
  544. package/dist/Components/Pagination/Pagination.js +48 -0
  545. package/dist/Components/Pagination/PaginationProps.d.ts +50 -0
  546. package/dist/Components/Pagination/PaginationProps.js +9 -0
  547. package/dist/Components/Pagination/pageWindow.d.ts +4 -0
  548. package/dist/Components/Pagination/pageWindow.js +22 -0
  549. package/dist/Components/PaymentOption/PaymentOption.d.ts +4 -0
  550. package/dist/Components/PaymentOption/PaymentOption.js +24 -0
  551. package/dist/Components/PaymentOption/PaymentOptionGroup.d.ts +4 -0
  552. package/dist/Components/PaymentOption/PaymentOptionGroup.js +7 -0
  553. package/dist/Components/PaymentOption/PaymentOptionProps.d.ts +41 -0
  554. package/dist/Components/PaymentOption/PaymentOptionProps.js +2 -0
  555. package/dist/Components/PdfViewer/PdfViewer.d.ts +23 -4
  556. package/dist/Components/PdfViewer/PdfViewer.js +130 -3
  557. package/dist/Components/PersonChip/PersonChip.d.ts +3 -0
  558. package/dist/Components/PersonChip/PersonChip.js +47 -0
  559. package/dist/Components/PersonChip/PersonChipProps.d.ts +33 -0
  560. package/dist/Components/PersonChip/PersonChipProps.js +2 -0
  561. package/dist/Components/PinInput/PinInput.d.ts +2 -1
  562. package/dist/Components/PinInput/PinInput.js +26 -9
  563. package/dist/Components/PinInput/PinInputProps.d.ts +11 -0
  564. package/dist/Components/PinInput/pinInputCellSize.d.ts +7 -0
  565. package/dist/Components/PinInput/pinInputCellSize.js +10 -0
  566. package/dist/Components/PincodeChecker/PincodeChecker.d.ts +4 -0
  567. package/dist/Components/PincodeChecker/PincodeChecker.js +175 -0
  568. package/dist/Components/PincodeChecker/PincodeCheckerProps.d.ts +70 -0
  569. package/dist/Components/PincodeChecker/PincodeCheckerProps.js +2 -0
  570. package/dist/Components/PlanBadge/PlanBadge.d.ts +0 -7
  571. package/dist/Components/PlanBadge/PlanBadge.js +1 -7
  572. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +3 -1
  573. package/dist/Components/PlanPill/PlanPill.d.ts +1 -0
  574. package/dist/Components/PlanPill/PlanPill.js +8 -5
  575. package/dist/Components/PlanPill/PlanPillProps.d.ts +4 -1
  576. package/dist/Components/PlanPill/planPillGradient.d.ts +5 -21
  577. package/dist/Components/PlanPill/planPillGradient.js +8 -23
  578. package/dist/Components/PriceBlock/PriceBlock.d.ts +4 -0
  579. package/dist/Components/PriceBlock/PriceBlock.js +41 -0
  580. package/dist/Components/PriceBlock/PriceBlockProps.d.ts +45 -0
  581. package/dist/Components/PriceBlock/PriceBlockProps.js +2 -0
  582. package/dist/Components/Primitives/Primitives.d.ts +3 -6
  583. package/dist/Components/Primitives/Primitives.js +3 -42
  584. package/dist/Components/ProductBadges/ProductBadges.d.ts +4 -0
  585. package/dist/Components/ProductBadges/ProductBadges.js +62 -0
  586. package/dist/Components/ProductBadges/ProductBadgesProps.d.ts +21 -0
  587. package/dist/Components/ProductBadges/ProductBadgesProps.js +2 -0
  588. package/dist/Components/ProductCard/ProductCard.d.ts +3 -2
  589. package/dist/Components/ProductCard/ProductCard.js +107 -51
  590. package/dist/Components/ProductCard/ProductCardAction.d.ts +17 -0
  591. package/dist/Components/ProductCard/ProductCardAction.js +66 -0
  592. package/dist/Components/ProductCard/ProductCardGrid.d.ts +4 -0
  593. package/dist/Components/ProductCard/ProductCardGrid.js +20 -0
  594. package/dist/Components/ProductCard/ProductCardMedia.d.ts +18 -0
  595. package/dist/Components/ProductCard/ProductCardMedia.js +35 -0
  596. package/dist/Components/ProductCard/ProductCardProps.d.ts +148 -46
  597. package/dist/Components/ProductCard/ProductCardSkeleton.d.ts +4 -0
  598. package/dist/Components/ProductCard/ProductCardSkeleton.js +17 -0
  599. package/dist/Components/ProductCard/ProductCardSwatches.d.ts +15 -0
  600. package/dist/Components/ProductCard/ProductCardSwatches.js +39 -0
  601. package/dist/Components/ProductCard/QuickAddSheet.d.ts +4 -0
  602. package/dist/Components/ProductCard/QuickAddSheet.js +109 -0
  603. package/dist/Components/ProductCard/QuickAddSheetProps.d.ts +46 -0
  604. package/dist/Components/ProductCard/QuickAddSheetProps.js +2 -0
  605. package/dist/Components/ProductCard/cardLabels.d.ts +2 -0
  606. package/dist/Components/ProductCard/cardLabels.js +16 -0
  607. package/dist/Components/ProductCard/cardMetrics.d.ts +28 -0
  608. package/dist/Components/ProductCard/cardMetrics.js +60 -0
  609. package/dist/Components/ProductCard/productCardModel.d.ts +22 -0
  610. package/dist/Components/ProductCard/productCardModel.js +79 -0
  611. package/dist/Components/ProductDetails/ProductDetails.d.ts +3 -2
  612. package/dist/Components/ProductDetails/ProductDetails.js +211 -33
  613. package/dist/Components/ProductDetails/ProductDetailsProps.d.ts +169 -34
  614. package/dist/Components/ProductDetails/productDetailsModel.d.ts +14 -0
  615. package/dist/Components/ProductDetails/productDetailsModel.js +45 -0
  616. package/dist/Components/ProductDetails/useInViewport.d.ts +3 -0
  617. package/dist/Components/ProductDetails/useInViewport.js +18 -0
  618. package/dist/Components/ProfileCard/ProfileCard.d.ts +5 -10
  619. package/dist/Components/ProfileCard/ProfileCard.js +16 -15
  620. package/dist/Components/ProfileCard/ProfileCardProps.d.ts +21 -1
  621. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -0
  622. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +31 -13
  623. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +9 -1
  624. package/dist/Components/ProgressBar/ProgressBar.d.ts +2 -1
  625. package/dist/Components/ProgressBar/ProgressBar.js +29 -3
  626. package/dist/Components/ProgressBar/ProgressBarProps.d.ts +10 -2
  627. package/dist/Components/QuantityStepper/QuantityStepper.d.ts +4 -0
  628. package/dist/Components/QuantityStepper/QuantityStepper.js +63 -0
  629. package/dist/Components/QuantityStepper/QuantityStepperProps.d.ts +33 -0
  630. package/dist/Components/QuantityStepper/QuantityStepperProps.js +2 -0
  631. package/dist/Components/QueryState/ErrorState.d.ts +4 -0
  632. package/dist/Components/QueryState/ErrorState.js +16 -0
  633. package/dist/Components/QueryState/QueryStateBoundary.d.ts +4 -0
  634. package/dist/Components/QueryState/QueryStateBoundary.js +35 -0
  635. package/dist/Components/QueryState/QueryStateProps.d.ts +71 -0
  636. package/dist/Components/QueryState/QueryStateProps.js +2 -0
  637. package/dist/Components/RadioButton/RadioButton.d.ts +12 -3
  638. package/dist/Components/RadioButton/RadioButton.js +38 -15
  639. package/dist/Components/RadioButton/RadioButtonProps.d.ts +50 -4
  640. package/dist/Components/RangeSlider/RangeSlider.d.ts +4 -0
  641. package/dist/Components/RangeSlider/RangeSlider.js +136 -0
  642. package/dist/Components/RangeSlider/RangeSliderProps.d.ts +74 -0
  643. package/dist/Components/RangeSlider/RangeSliderProps.js +2 -0
  644. package/dist/Components/RangeSlider/rangeSliderColors.d.ts +9 -0
  645. package/dist/Components/RangeSlider/rangeSliderColors.js +11 -0
  646. package/dist/Components/RangeSlider/rangeSliderMath.d.ts +16 -0
  647. package/dist/Components/RangeSlider/rangeSliderMath.js +79 -0
  648. package/dist/Components/RangeSlider/rangeSliderSize.d.ts +7 -0
  649. package/dist/Components/RangeSlider/rangeSliderSize.js +12 -0
  650. package/dist/Components/Rating/Rating.d.ts +4 -0
  651. package/dist/Components/Rating/Rating.js +82 -0
  652. package/dist/Components/Rating/RatingProps.d.ts +29 -0
  653. package/dist/Components/Rating/RatingProps.js +2 -0
  654. package/dist/Components/Reorder/Reorder.d.ts +2 -5
  655. package/dist/Components/Reorder/Reorder.js +4 -2
  656. package/dist/Components/Reorder/ReorderProps.d.ts +12 -0
  657. package/dist/Components/ReviewList/ReviewList.d.ts +4 -0
  658. package/dist/Components/ReviewList/ReviewList.js +94 -0
  659. package/dist/Components/ReviewList/ReviewListProps.d.ts +89 -0
  660. package/dist/Components/ReviewList/ReviewListProps.js +2 -0
  661. package/dist/Components/ReviewSummary/ReviewSummary.d.ts +4 -0
  662. package/dist/Components/ReviewSummary/ReviewSummary.js +47 -0
  663. package/dist/Components/ReviewSummary/ReviewSummaryProps.d.ts +38 -0
  664. package/dist/Components/ReviewSummary/ReviewSummaryProps.js +2 -0
  665. package/dist/Components/RolesPermission/DeleteRoleModal.js +4 -6
  666. package/dist/Components/RolesPermission/RolesPermission.d.ts +1 -0
  667. package/dist/Components/RolesPermission/RolesPermission.js +17 -11
  668. package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +74 -1
  669. package/dist/Components/SaveBar/SaveBar.d.ts +4 -0
  670. package/dist/Components/SaveBar/SaveBar.js +24 -0
  671. package/dist/Components/SaveBar/SaveBarProps.d.ts +22 -0
  672. package/dist/Components/SaveBar/SaveBarProps.js +2 -0
  673. package/dist/Components/ScrollToTop/ScrollToTop.d.ts +4 -2
  674. package/dist/Components/ScrollToTop/ScrollToTop.js +10 -3
  675. package/dist/Components/ScrollbarBox/ScrollbarBox.d.ts +10 -0
  676. package/dist/Components/ScrollbarBox/ScrollbarBox.js +10 -3
  677. package/dist/Components/Search/Search.d.ts +3 -1
  678. package/dist/Components/Search/Search.js +34 -21
  679. package/dist/Components/Search/SearchProps.d.ts +26 -2
  680. package/dist/Components/Search/ctrlShortcut.d.ts +1 -0
  681. package/dist/Components/Search/ctrlShortcut.js +29 -0
  682. package/dist/Components/SearchSelect/SearchSelect.d.ts +3 -1
  683. package/dist/Components/SearchSelect/SearchSelect.js +292 -139
  684. package/dist/Components/SearchSelect/SearchSelectProps.d.ts +63 -0
  685. package/dist/Components/SearchSelect/searchSelectNav.d.ts +13 -0
  686. package/dist/Components/SearchSelect/searchSelectNav.js +40 -0
  687. package/dist/Components/SearchSelect/searchSelectSize.d.ts +4 -19
  688. package/dist/Components/SearchSelect/searchSelectSize.js +15 -27
  689. package/dist/Components/SectionRail/SectionRail.d.ts +4 -0
  690. package/dist/Components/SectionRail/SectionRail.js +50 -0
  691. package/dist/Components/SectionRail/SectionRailProps.d.ts +27 -0
  692. package/dist/Components/SectionRail/SectionRailProps.js +2 -0
  693. package/dist/Components/SectionRail/index.d.ts +2 -0
  694. package/dist/Components/SectionRail/index.js +8 -0
  695. package/dist/Components/SegmentedControl/SegmentedControl.d.ts +9 -0
  696. package/dist/Components/SegmentedControl/SegmentedControl.js +124 -0
  697. package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +43 -0
  698. package/dist/Components/SegmentedControl/SegmentedControlProps.js +2 -0
  699. package/dist/Components/SegmentedControl/segmentedInk.d.ts +11 -0
  700. package/dist/Components/SegmentedControl/segmentedInk.js +26 -0
  701. package/dist/Components/SegmentedControl/useSlidingPill.d.ts +13 -0
  702. package/dist/Components/SegmentedControl/useSlidingPill.js +30 -0
  703. package/dist/Components/Select/Select.d.ts +5 -2
  704. package/dist/Components/Select/Select.js +71 -24
  705. package/dist/Components/Select/Select.styles.js +30 -74
  706. package/dist/Components/Select/SelectNative.d.ts +91 -0
  707. package/dist/Components/Select/SelectNative.js +56 -0
  708. package/dist/Components/Select/SelectPopup.d.ts +5 -0
  709. package/dist/Components/Select/SelectPopup.js +624 -0
  710. package/dist/Components/Select/SelectProps.d.ts +198 -13
  711. package/dist/Components/Select/groupedWindow.d.ts +21 -0
  712. package/dist/Components/Select/groupedWindow.js +50 -0
  713. package/dist/Components/Select/optionRowInk.d.ts +19 -0
  714. package/dist/Components/Select/optionRowInk.js +26 -0
  715. package/dist/Components/Select/selectKeyboardRing.d.ts +2 -0
  716. package/dist/Components/Select/selectKeyboardRing.js +7 -0
  717. package/dist/Components/Select/selectRowInk.d.ts +14 -0
  718. package/dist/Components/Select/selectRowInk.js +41 -0
  719. package/dist/Components/SelectSearch/SelectSearch.d.ts +2 -1
  720. package/dist/Components/SelectSearch/SelectSearch.js +92 -119
  721. package/dist/Components/SelectSearch/SelectSearchProps.d.ts +43 -0
  722. package/dist/Components/SelectV2/SelectV2.d.ts +8 -2
  723. package/dist/Components/SelectV2/SelectV2.js +10 -251
  724. package/dist/Components/SelectV2/SelectV2Props.d.ts +51 -13
  725. package/dist/Components/SettingRow/SettingRow.d.ts +4 -0
  726. package/dist/Components/SettingRow/SettingRow.js +25 -0
  727. package/dist/Components/SettingRow/SettingRowProps.d.ts +16 -0
  728. package/dist/Components/SettingRow/SettingRowProps.js +2 -0
  729. package/dist/Components/SettingRow/SettingsSection.d.ts +4 -0
  730. package/dist/Components/SettingRow/SettingsSection.js +17 -0
  731. package/dist/Components/SettingRow/SettingsSectionProps.d.ts +18 -0
  732. package/dist/Components/SettingRow/SettingsSectionProps.js +2 -0
  733. package/dist/Components/SideBar/SecondaryBar.d.ts +1 -0
  734. package/dist/Components/SideBar/SecondaryBar.js +33 -10
  735. package/dist/Components/SideBar/SideBar.d.ts +2 -1
  736. package/dist/Components/SideBar/SideBar.js +158 -48
  737. package/dist/Components/SideBar/SideBarProps.d.ts +113 -24
  738. package/dist/Components/SideBar/components/MenuItemBox.d.ts +10 -2
  739. package/dist/Components/SideBar/components/MenuItemBox.js +114 -44
  740. package/dist/Components/SideBar/components/MenuItems.d.ts +2 -2
  741. package/dist/Components/SideBar/components/MenuItems.js +7 -7
  742. package/dist/Components/SideBar/components/MenuPopoverContent.js +32 -13
  743. package/dist/Components/SideBar/components/OtherApps.js +9 -3
  744. package/dist/Components/SideBar/components/OverflowTooltipText.js +7 -6
  745. package/dist/Components/SideBar/components/PinnedSection.d.ts +17 -0
  746. package/dist/Components/SideBar/components/PinnedSection.js +101 -0
  747. package/dist/Components/SideBar/components/TextTruncation.js +13 -6
  748. package/dist/Components/SideBar/menuDisabled.d.ts +5 -0
  749. package/dist/Components/SideBar/menuDisabled.js +7 -0
  750. package/dist/Components/SideBar/sidebarAccentColors.d.ts +2 -0
  751. package/dist/Components/SideBar/sidebarFocus.d.ts +23 -0
  752. package/dist/Components/SideBar/sidebarFocus.js +20 -0
  753. package/dist/Components/SideBar/sidebarId.d.ts +2 -0
  754. package/dist/Components/SideBar/sidebarId.js +6 -0
  755. package/dist/Components/SideBar/sidebarMotion.d.ts +2 -0
  756. package/dist/Components/SideBar/sidebarMotion.js +6 -0
  757. package/dist/Components/SideBar/sidebarScale.d.ts +15 -0
  758. package/dist/Components/SideBar/sidebarScale.js +19 -0
  759. package/dist/Components/SignInActivityTable/SignInActivityTable.d.ts +1 -0
  760. package/dist/Components/SignInActivityTable/SignInActivityTable.js +13 -5
  761. package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +13 -0
  762. package/dist/Components/SignInActivityTable/scrollRegionRing.d.ts +10 -0
  763. package/dist/Components/SignInActivityTable/scrollRegionRing.js +14 -0
  764. package/dist/Components/Skeletons/SkeletonProps.d.ts +12 -1
  765. package/dist/Components/Skeletons/Skeletons.d.ts +2 -1
  766. package/dist/Components/Skeletons/Skeletons.js +5 -2
  767. package/dist/Components/SkipLink/SkipLink.d.ts +4 -0
  768. package/dist/Components/SkipLink/SkipLink.js +54 -0
  769. package/dist/Components/SkipLink/SkipLinkProps.d.ts +8 -0
  770. package/dist/Components/SkipLink/SkipLinkProps.js +2 -0
  771. package/dist/Components/Slider/Slider.d.ts +5 -0
  772. package/dist/Components/Slider/Slider.js +22 -5
  773. package/dist/Components/SpecTable/SpecTable.d.ts +4 -0
  774. package/dist/Components/SpecTable/SpecTable.js +40 -0
  775. package/dist/Components/SpecTable/SpecTableProps.d.ts +34 -0
  776. package/dist/Components/SpecTable/SpecTableProps.js +2 -0
  777. package/dist/Components/Spinner/Spinner.d.ts +3 -0
  778. package/dist/Components/Spinner/Spinner.js +22 -0
  779. package/dist/Components/Spinner/SpinnerProps.d.ts +17 -0
  780. package/dist/Components/Spinner/SpinnerProps.js +2 -0
  781. package/dist/Components/StageProgress/StageItem.d.ts +1 -0
  782. package/dist/Components/StageProgress/StageItem.js +19 -9
  783. package/dist/Components/StageProgress/StageProgress.d.ts +1 -0
  784. package/dist/Components/StageProgress/StageProgress.js +15 -8
  785. package/dist/Components/StageProgress/StageProgressProps.d.ts +59 -6
  786. package/dist/Components/StageProgress/StageProgressProps.js +12 -6
  787. package/dist/Components/StageProgress/StepperStage.d.ts +1 -0
  788. package/dist/Components/StageProgress/StepperStage.js +15 -10
  789. package/dist/Components/StageProgress/centerInStrip.d.ts +2 -0
  790. package/dist/Components/StageProgress/centerInStrip.js +15 -0
  791. package/dist/Components/StatCard/StatCard.d.ts +4 -0
  792. package/dist/Components/StatCard/StatCard.js +48 -0
  793. package/dist/Components/StatCard/StatCardProps.d.ts +34 -0
  794. package/dist/Components/StatCard/StatCardProps.js +2 -0
  795. package/dist/Components/StatusTag/StatusTag.d.ts +4 -0
  796. package/dist/Components/StatusTag/StatusTag.js +24 -0
  797. package/dist/Components/StatusTag/StatusTagProps.d.ts +24 -0
  798. package/dist/Components/StatusTag/StatusTagProps.js +2 -0
  799. package/dist/Components/StickyBuyBar/StickyBuyBar.d.ts +4 -0
  800. package/dist/Components/StickyBuyBar/StickyBuyBar.js +87 -0
  801. package/dist/Components/StickyBuyBar/StickyBuyBarProps.d.ts +60 -0
  802. package/dist/Components/StickyBuyBar/StickyBuyBarProps.js +2 -0
  803. package/dist/Components/StockStatus/StockStatus.d.ts +4 -0
  804. package/dist/Components/StockStatus/StockStatus.js +31 -0
  805. package/dist/Components/StockStatus/StockStatusProps.d.ts +16 -0
  806. package/dist/Components/StockStatus/StockStatusProps.js +2 -0
  807. package/dist/Components/Switch/Switch.d.ts +2 -1
  808. package/dist/Components/Switch/Switch.js +13 -8
  809. package/dist/Components/Switch/SwitchProps.d.ts +11 -0
  810. package/dist/Components/Table/Table.d.ts +2 -1
  811. package/dist/Components/Table/Table.js +89 -55
  812. package/dist/Components/Table/TableProps.d.ts +138 -7
  813. package/dist/Components/Table/columnLabel.d.ts +6 -0
  814. package/dist/Components/Table/columnLabel.js +27 -0
  815. package/dist/Components/Table/components/HeaderActions.js +8 -5
  816. package/dist/Components/Table/components/Pagination.d.ts +2 -2
  817. package/dist/Components/Table/components/Pagination.js +19 -8
  818. package/dist/Components/Table/components/TableActions.js +41 -24
  819. package/dist/Components/Table/components/TableBody.d.ts +2 -1
  820. package/dist/Components/Table/components/TableBody.js +192 -100
  821. package/dist/Components/Table/components/TableGroupRow.js +2 -1
  822. package/dist/Components/Table/components/TableHeader.d.ts +1 -1
  823. package/dist/Components/Table/components/TableHeader.js +37 -32
  824. package/dist/Components/Table/components/TableLoading.d.ts +4 -1
  825. package/dist/Components/Table/components/TableLoading.js +13 -6
  826. package/dist/Components/Table/components/TableSearch.js +1 -1
  827. package/dist/Components/Table/components/rowDetail.d.ts +32 -0
  828. package/dist/Components/Table/components/rowDetail.js +21 -0
  829. package/dist/Components/Table/components/rowFocusRing.d.ts +21 -0
  830. package/dist/Components/Table/components/rowFocusRing.js +20 -0
  831. package/dist/Components/Table/components/rowMeasurer.d.ts +8 -0
  832. package/dist/Components/Table/components/rowMeasurer.js +71 -0
  833. package/dist/Components/Table/components/rowMetrics.d.ts +11 -0
  834. package/dist/Components/Table/components/rowMetrics.js +16 -0
  835. package/dist/Components/Table/filters/ActiveFilters.js +12 -5
  836. package/dist/Components/Table/filters/CompactSelect.d.ts +1 -0
  837. package/dist/Components/Table/filters/CompactSelect.js +25 -8
  838. package/dist/Components/Table/filters/FilterDatePicker.d.ts +6 -0
  839. package/dist/Components/Table/filters/FilterDatePicker.js +61 -0
  840. package/dist/Components/Table/filters/LeftFilterPane.d.ts +10 -1
  841. package/dist/Components/Table/filters/LeftFilterPane.js +14 -6
  842. package/dist/Components/Table/filters/SelectOperationControls.js +9 -1
  843. package/dist/Components/Table/filters/TableFilters.js +3 -13
  844. package/dist/Components/Table/filters/TextOperationControls.js +8 -1
  845. package/dist/Components/Table/hooks/useRowExpansion.d.ts +7 -0
  846. package/dist/Components/Table/hooks/useRowExpansion.js +27 -0
  847. package/dist/Components/Table/hooks/useTable.d.ts +7 -11
  848. package/dist/Components/Table/hooks/useTable.js +85 -48
  849. package/dist/Components/Table/settings/ManageColumns.js +17 -11
  850. package/dist/Components/Table/settings/TableSettings.js +17 -8
  851. package/dist/Components/Table/variants/TableVariantContext.d.ts +1 -1
  852. package/dist/Components/Table/variants/TableVariantContext.js +3 -3
  853. package/dist/Components/Table/variants/classic.js +5 -2
  854. package/dist/Components/Table/variants/stripe.d.ts +3 -0
  855. package/dist/Components/Table/variants/stripe.js +7 -0
  856. package/dist/Components/Table/variants/studio.js +2 -0
  857. package/dist/Components/Table/variants/tokens.d.ts +6 -0
  858. package/dist/Components/Tabs/Tabs.d.ts +4 -0
  859. package/dist/Components/Tabs/Tabs.js +84 -0
  860. package/dist/Components/Tabs/TabsContext.d.ts +36 -0
  861. package/dist/Components/Tabs/TabsContext.js +16 -0
  862. package/dist/Components/Tabs/TabsProps.d.ts +96 -0
  863. package/dist/Components/Tabs/TabsProps.js +2 -0
  864. package/dist/Components/Tabs/components/CountBadge.d.ts +17 -0
  865. package/dist/Components/Tabs/components/CountBadge.js +17 -0
  866. package/dist/Components/Tabs/components/Tab.d.ts +4 -0
  867. package/dist/Components/Tabs/components/Tab.js +22 -0
  868. package/dist/Components/Tabs/components/TabLinkList.d.ts +7 -0
  869. package/dist/Components/Tabs/components/TabLinkList.js +34 -0
  870. package/dist/Components/Tabs/components/TabList.d.ts +4 -0
  871. package/dist/Components/Tabs/components/TabList.js +87 -0
  872. package/dist/Components/Tabs/components/TabPanel.d.ts +4 -0
  873. package/dist/Components/Tabs/components/TabPanel.js +18 -0
  874. package/dist/Components/Tabs/components/TabPanels.d.ts +4 -0
  875. package/dist/Components/Tabs/components/TabPanels.js +15 -0
  876. package/dist/Components/Tabs/index.d.ts +6 -0
  877. package/dist/Components/Tabs/index.js +16 -0
  878. package/dist/Components/Tabs/tabStyles.d.ts +19 -0
  879. package/dist/Components/Tabs/tabStyles.js +40 -0
  880. package/dist/Components/Tabs/useTabAppearance.d.ts +17 -0
  881. package/dist/Components/Tabs/useTabAppearance.js +67 -0
  882. package/dist/Components/Tag/Tag.d.ts +2 -1
  883. package/dist/Components/Tag/Tag.js +31 -8
  884. package/dist/Components/Tag/Tag.styles.d.ts +2 -0
  885. package/dist/Components/Tag/Tag.styles.js +51 -36
  886. package/dist/Components/Tag/TagProps.d.ts +31 -1
  887. package/dist/Components/Tag/tagDot.d.ts +3 -0
  888. package/dist/Components/Tag/tagDot.js +28 -0
  889. package/dist/Components/TagInput/TagInput.d.ts +4 -0
  890. package/dist/Components/TagInput/TagInput.js +101 -0
  891. package/dist/Components/TagInput/TagInputProps.d.ts +63 -0
  892. package/dist/Components/TagInput/TagInputProps.js +2 -0
  893. package/dist/Components/TagInput/tagEntries.d.ts +21 -0
  894. package/dist/Components/TagInput/tagEntries.js +58 -0
  895. package/dist/Components/TimePicker/TimePicker.d.ts +4 -0
  896. package/dist/Components/TimePicker/TimePicker.js +55 -0
  897. package/dist/Components/TimePicker/TimePickerProps.d.ts +48 -0
  898. package/dist/Components/TimePicker/TimePickerProps.js +2 -0
  899. package/dist/Components/TimePicker/timeParts.d.ts +10 -0
  900. package/dist/Components/TimePicker/timeParts.js +36 -0
  901. package/dist/Components/Timeline/Timeline.d.ts +2 -1
  902. package/dist/Components/Timeline/Timeline.js +59 -33
  903. package/dist/Components/Timeline/TimelineProps.d.ts +37 -0
  904. package/dist/Components/Toaster/Toaster.d.ts +1 -0
  905. package/dist/Components/Toaster/Toaster.js +90 -58
  906. package/dist/Components/Toaster/ToasterProps.d.ts +20 -4
  907. package/dist/Components/Toaster/toastDuration.d.ts +4 -0
  908. package/dist/Components/Toaster/toastDuration.js +7 -0
  909. package/dist/Components/Toggle/TableToggle.d.ts +1 -0
  910. package/dist/Components/Toggle/TableToggle.js +66 -19
  911. package/dist/Components/Toggle/TableToggleProps.d.ts +9 -0
  912. package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +4 -0
  913. package/dist/Components/ToggleSwitch/ToggleSwitch.js +54 -0
  914. package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +70 -0
  915. package/dist/Components/ToggleSwitch/ToggleSwitchProps.js +2 -0
  916. package/dist/Components/ToolTip/OverflowToolTip.d.ts +1 -15
  917. package/dist/Components/ToolTip/OverflowToolTip.js +1 -15
  918. package/dist/Components/ToolTip/ToolTip.d.ts +1 -0
  919. package/dist/Components/ToolTip/ToolTip.js +99 -20
  920. package/dist/Components/ToolTip/ToolTipProps.d.ts +9 -1
  921. package/dist/Components/TrustBadges/TrustBadges.d.ts +4 -0
  922. package/dist/Components/TrustBadges/TrustBadges.js +24 -0
  923. package/dist/Components/TrustBadges/TrustBadgesProps.d.ts +24 -0
  924. package/dist/Components/TrustBadges/TrustBadgesProps.js +2 -0
  925. package/dist/Components/UpgradeButton/UpgradeButton.d.ts +1 -0
  926. package/dist/Components/UpgradeButton/UpgradeButton.js +13 -14
  927. package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +10 -3
  928. package/dist/Components/UserDetails/AddUserModal.js +2 -1
  929. package/dist/Components/UserDetails/ChangeRoleModal.js +2 -1
  930. package/dist/Components/UserDetails/DeactivateConfirmModal.js +4 -6
  931. package/dist/Components/UserDetails/UserDetails.d.ts +1 -0
  932. package/dist/Components/UserDetails/UserDetails.js +19 -12
  933. package/dist/Components/UserDetails/UserDetailsProps.d.ts +88 -1
  934. package/dist/Components/VariantSelector/VariantSelector.d.ts +4 -0
  935. package/dist/Components/VariantSelector/VariantSelector.js +123 -0
  936. package/dist/Components/VariantSelector/VariantSelectorProps.d.ts +31 -0
  937. package/dist/Components/VariantSelector/VariantSelectorProps.js +2 -0
  938. package/dist/Components/VariantSelector/variantSelection.d.ts +6 -0
  939. package/dist/Components/VariantSelector/variantSelection.js +25 -0
  940. package/dist/Components/VisuallyHidden/VisuallyHidden.d.ts +15 -0
  941. package/dist/Components/VisuallyHidden/VisuallyHidden.js +21 -0
  942. package/dist/Components/VisuallyHidden/VisuallyHiddenProps.d.ts +3 -0
  943. package/dist/Components/VisuallyHidden/VisuallyHiddenProps.js +2 -0
  944. package/dist/Components/WishlistToggle/WishlistToggle.d.ts +4 -0
  945. package/dist/Components/WishlistToggle/WishlistToggle.js +66 -0
  946. package/dist/Components/WishlistToggle/WishlistToggleProps.d.ts +23 -0
  947. package/dist/Components/WishlistToggle/WishlistToggleProps.js +2 -0
  948. package/dist/Components/WizardDialog/WizardDialog.d.ts +9 -0
  949. package/dist/Components/WizardDialog/WizardDialog.js +119 -0
  950. package/dist/Components/WizardDialog/WizardDialogProps.d.ts +69 -0
  951. package/dist/Components/WizardDialog/WizardDialogProps.js +2 -0
  952. package/dist/Components/WizardDialog/useWizardFlow.d.ts +22 -0
  953. package/dist/Components/WizardDialog/useWizardFlow.js +47 -0
  954. package/dist/Components/WizardDialog/wizardSteps.d.ts +43 -0
  955. package/dist/Components/WizardDialog/wizardSteps.js +40 -0
  956. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts +1 -13
  957. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +20 -14
  958. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +4 -13
  959. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +44 -37
  960. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +69 -13
  961. package/dist/Constants/Sidebar.d.ts +2 -38
  962. package/dist/Constants/Sidebar.js +4 -19
  963. package/dist/Hooks/exclusiveOverlay.d.ts +4 -0
  964. package/dist/Hooks/exclusiveOverlay.js +22 -0
  965. package/dist/Hooks/sharedResizeObserver.d.ts +6 -0
  966. package/dist/Hooks/sharedResizeObserver.js +77 -0
  967. package/dist/Hooks/useDebounce.d.ts +6 -0
  968. package/dist/Hooks/useDebounce.js +33 -0
  969. package/dist/Hooks/useExclusiveOverlay.d.ts +1 -0
  970. package/dist/Hooks/useExclusiveOverlay.js +21 -0
  971. package/dist/Hooks/useFullscreen.d.ts +8 -0
  972. package/dist/Hooks/useFullscreen.js +32 -0
  973. package/dist/Hooks/useIsTruncated.d.ts +0 -30
  974. package/dist/Hooks/useIsTruncated.js +4 -34
  975. package/dist/Hooks/useMatchMedia.d.ts +2 -0
  976. package/dist/Hooks/useMatchMedia.js +36 -0
  977. package/dist/Hooks/useOutsideMouseDown.d.ts +11 -0
  978. package/dist/Hooks/useOutsideMouseDown.js +30 -0
  979. package/dist/Hooks/usePreferences.js +30 -17
  980. package/dist/Hooks/useScrollableRegion.d.ts +17 -0
  981. package/dist/Hooks/useScrollableRegion.js +36 -0
  982. package/dist/Hooks/useSidebarPrefs.d.ts +2 -42
  983. package/dist/Hooks/useSidebarPrefs.js +1 -2
  984. package/dist/Theme/assertPalette.d.ts +1 -1
  985. package/dist/Theme/assertPalette.js +4 -3
  986. package/dist/Theme/chakra/Card.styles.d.ts +84 -0
  987. package/dist/Theme/chakra/Card.styles.js +51 -0
  988. package/dist/Theme/chakra/Drawer.styles.d.ts +41 -9
  989. package/dist/Theme/chakra/Drawer.styles.js +14 -13
  990. package/dist/Theme/chakra/Menu.styles.d.ts +24 -23
  991. package/dist/Theme/chakra/Menu.styles.js +30 -25
  992. package/dist/Theme/chakra/Modal.styles.d.ts +42 -9
  993. package/dist/Theme/chakra/Modal.styles.js +15 -13
  994. package/dist/Theme/chakra/Popover.styles.d.ts +5 -14
  995. package/dist/Theme/chakra/Popover.styles.js +4 -10
  996. package/dist/Theme/chakra/Slider.styles.d.ts +3 -3
  997. package/dist/Theme/chakra/Slider.styles.js +1 -6
  998. package/dist/Theme/chakra/common.web.d.ts +5 -4
  999. package/dist/Theme/chakra/common.web.js +1 -7
  1000. package/dist/Theme/chakra/componentStyles.d.ts +185 -105
  1001. package/dist/Theme/chakra/componentStyles.js +92 -101
  1002. package/dist/Theme/chakra/createBrandTheme.d.ts +4 -10
  1003. package/dist/Theme/chakra/createBrandTheme.js +56 -57
  1004. package/dist/Theme/chakra/focusRing.styles.d.ts +47 -0
  1005. package/dist/Theme/chakra/focusRing.styles.js +46 -0
  1006. package/dist/Theme/chakra/fonts.web.d.ts +2 -5
  1007. package/dist/Theme/chakra/fonts.web.js +1 -5
  1008. package/dist/Theme/chakra/motion.d.ts +20 -0
  1009. package/dist/Theme/chakra/motion.js +39 -0
  1010. package/dist/Theme/chakra/overlay.styles.d.ts +56 -0
  1011. package/dist/Theme/chakra/overlay.styles.js +51 -0
  1012. package/dist/Theme/chakra/paletteFromTheme.d.ts +2 -5
  1013. package/dist/Theme/chakra/paletteFromTheme.js +18 -7
  1014. package/dist/Theme/chakra/ringShadow.d.ts +3 -0
  1015. package/dist/Theme/chakra/ringShadow.js +7 -0
  1016. package/dist/Theme/index.d.ts +2 -13
  1017. package/dist/Theme/index.js +14 -26
  1018. package/dist/Theme/provider/PixelizeThemeProvider.d.ts +5 -33
  1019. package/dist/Theme/provider/PixelizeThemeProvider.js +27 -86
  1020. package/dist/Theme/provider/ThemeSwitcher.d.ts +1 -0
  1021. package/dist/Theme/provider/ThemeSwitcher.js +19 -19
  1022. package/dist/Theme/provider/colorModeStorage.js +1 -4
  1023. package/dist/Theme/testing/testPalette.d.ts +1 -0
  1024. package/dist/Theme/themeProps.d.ts +7 -0
  1025. package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +0 -4
  1026. package/dist/Theme/tokens/brands/emerald/palette.dark.js +2 -5
  1027. package/dist/Theme/tokens/brands/emerald/palette.light.js +2 -10
  1028. package/dist/Theme/tokens/brands/index.d.ts +2 -1
  1029. package/dist/Theme/tokens/brands/index.js +39 -15
  1030. package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +0 -4
  1031. package/dist/Theme/tokens/brands/lavender/palette.dark.js +2 -5
  1032. package/dist/Theme/tokens/brands/lavender/palette.light.js +4 -13
  1033. package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +0 -4
  1034. package/dist/Theme/tokens/brands/meadow/palette.dark.js +2 -5
  1035. package/dist/Theme/tokens/brands/meadow/palette.light.js +2 -11
  1036. package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +0 -4
  1037. package/dist/Theme/tokens/brands/radiant/palette.dark.js +2 -5
  1038. package/dist/Theme/tokens/brands/radiant/palette.light.js +17 -10
  1039. package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +0 -4
  1040. package/dist/Theme/tokens/brands/rosewood/palette.dark.js +2 -5
  1041. package/dist/Theme/tokens/brands/rosewood/palette.light.js +12 -24
  1042. package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +0 -4
  1043. package/dist/Theme/tokens/brands/skyline/palette.dark.js +2 -5
  1044. package/dist/Theme/tokens/brands/skyline/palette.light.js +2 -11
  1045. package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +0 -4
  1046. package/dist/Theme/tokens/brands/slate/palette.dark.js +2 -5
  1047. package/dist/Theme/tokens/brands/slate/palette.light.js +1 -11
  1048. package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +0 -4
  1049. package/dist/Theme/tokens/brands/storefront/palette.dark.js +2 -5
  1050. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +10 -29
  1051. package/dist/Theme/tokens/brands/zinc/palette.dark.js +30 -88
  1052. package/dist/Theme/tokens/brands/zinc/palette.light.js +3 -12
  1053. package/dist/Theme/tokens/builders/accentText.d.ts +2 -43
  1054. package/dist/Theme/tokens/builders/accentText.js +12 -49
  1055. package/dist/Theme/tokens/builders/brandInk.d.ts +2 -0
  1056. package/dist/Theme/tokens/builders/brandInk.js +19 -1
  1057. package/dist/Theme/tokens/builders/buildBrandTokens.d.ts +0 -3
  1058. package/dist/Theme/tokens/builders/buildBrandTokens.js +1 -3
  1059. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +7 -13
  1060. package/dist/Theme/tokens/builders/buildDarkPalette.js +53 -105
  1061. package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts +0 -8
  1062. package/dist/Theme/tokens/builders/chartColorsFromTheme.js +1 -8
  1063. package/dist/Theme/tokens/builders/color.d.ts +0 -20
  1064. package/dist/Theme/tokens/builders/color.js +13 -26
  1065. package/dist/Theme/tokens/builders/filledSurface.d.ts +25 -0
  1066. package/dist/Theme/tokens/builders/filledSurface.js +98 -0
  1067. package/dist/Theme/tokens/builders/focusRing.d.ts +7 -0
  1068. package/dist/Theme/tokens/builders/focusRing.js +51 -0
  1069. package/dist/Theme/tokens/builders/gradientInk.d.ts +0 -10
  1070. package/dist/Theme/tokens/builders/gradientInk.js +2 -10
  1071. package/dist/Theme/tokens/builders/index.d.ts +6 -0
  1072. package/dist/Theme/tokens/builders/index.js +6 -0
  1073. package/dist/Theme/tokens/builders/lazy.d.ts +5 -0
  1074. package/dist/Theme/tokens/builders/lazy.js +55 -0
  1075. package/dist/Theme/tokens/builders/memo.d.ts +9 -0
  1076. package/dist/Theme/tokens/builders/memo.js +28 -0
  1077. package/dist/Theme/tokens/builders/memoByReads.d.ts +2 -0
  1078. package/dist/Theme/tokens/builders/memoByReads.js +50 -0
  1079. package/dist/Theme/tokens/builders/mutedText.d.ts +1 -1
  1080. package/dist/Theme/tokens/builders/mutedText.js +13 -3
  1081. package/dist/Theme/tokens/builders/outlineRung.d.ts +3 -53
  1082. package/dist/Theme/tokens/builders/outlineRung.js +42 -60
  1083. package/dist/Theme/tokens/builders/paletteScale.d.ts +2 -0
  1084. package/dist/Theme/tokens/builders/paletteScale.js +10 -0
  1085. package/dist/Theme/tokens/builders/placeholderInk.d.ts +0 -12
  1086. package/dist/Theme/tokens/builders/placeholderInk.js +2 -12
  1087. package/dist/Theme/tokens/builders/planeStep.d.ts +5 -0
  1088. package/dist/Theme/tokens/builders/planeStep.js +21 -0
  1089. package/dist/Theme/tokens/builders/planes.d.ts +4 -0
  1090. package/dist/Theme/tokens/builders/planes.js +33 -0
  1091. package/dist/Theme/tokens/builders/rechartsTheme.d.ts +56 -0
  1092. package/dist/Theme/tokens/builders/rechartsTheme.js +43 -0
  1093. package/dist/Theme/tokens/builders/resolvedRungs.d.ts +0 -5
  1094. package/dist/Theme/tokens/builders/resolvedRungs.js +1 -5
  1095. package/dist/Theme/tokens/builders/rowStates.d.ts +13 -0
  1096. package/dist/Theme/tokens/builders/rowStates.js +27 -0
  1097. package/dist/Theme/tokens/builders/scrim.d.ts +6 -0
  1098. package/dist/Theme/tokens/builders/scrim.js +17 -0
  1099. package/dist/Theme/tokens/builders/scrollShadow.d.ts +3 -0
  1100. package/dist/Theme/tokens/builders/scrollShadow.js +32 -0
  1101. package/dist/Theme/tokens/builders/scrollbar.d.ts +0 -4
  1102. package/dist/Theme/tokens/builders/scrollbar.js +1 -4
  1103. package/dist/Theme/tokens/builders/semanticText.d.ts +0 -5
  1104. package/dist/Theme/tokens/builders/semanticText.js +1 -5
  1105. package/dist/Theme/tokens/builders/sidebarAccent.d.ts +8 -0
  1106. package/dist/Theme/tokens/builders/sidebarAccent.js +19 -3
  1107. package/dist/Theme/tokens/builders/skeletonShimmer.d.ts +9 -0
  1108. package/dist/Theme/tokens/builders/skeletonShimmer.js +25 -0
  1109. package/dist/Theme/tokens/builders/star.d.ts +3 -0
  1110. package/dist/Theme/tokens/builders/star.js +8 -0
  1111. package/dist/Theme/tokens/builders/statusTone.d.ts +1 -19
  1112. package/dist/Theme/tokens/builders/statusTone.js +4 -19
  1113. package/dist/Theme/tokens/builders/surfaceRaised.d.ts +8 -0
  1114. package/dist/Theme/tokens/builders/surfaceRaised.js +31 -0
  1115. package/dist/Theme/tokens/builders/surfaceRungs.d.ts +0 -4
  1116. package/dist/Theme/tokens/builders/surfaceRungs.js +6 -10
  1117. package/dist/Theme/tokens/builders/tone.d.ts +22 -0
  1118. package/dist/Theme/tokens/builders/tone.js +55 -0
  1119. package/dist/Theme/tokens/builders/tooltipSurface.d.ts +6 -0
  1120. package/dist/Theme/tokens/builders/tooltipSurface.js +10 -0
  1121. package/dist/Theme/tokens/builders/viewportHeight.d.ts +8 -0
  1122. package/dist/Theme/tokens/builders/viewportHeight.js +9 -0
  1123. package/dist/Theme/tokens/index.d.ts +0 -10
  1124. package/dist/Theme/tokens/index.js +1 -10
  1125. package/dist/Theme/tokens/primitives/borderWidths.d.ts +6 -0
  1126. package/dist/Theme/tokens/primitives/borderWidths.js +5 -0
  1127. package/dist/Theme/tokens/primitives/controlSizes.d.ts +13 -0
  1128. package/dist/Theme/tokens/primitives/controlSizes.js +20 -0
  1129. package/dist/Theme/tokens/primitives/index.d.ts +10 -3
  1130. package/dist/Theme/tokens/primitives/index.js +27 -1
  1131. package/dist/Theme/tokens/primitives/motion.d.ts +32 -0
  1132. package/dist/Theme/tokens/primitives/motion.js +31 -0
  1133. package/dist/Theme/tokens/primitives/optionRowSizes.d.ts +20 -0
  1134. package/dist/Theme/tokens/primitives/optionRowSizes.js +30 -0
  1135. package/dist/Theme/tokens/primitives/radii.d.ts +15 -0
  1136. package/dist/Theme/tokens/primitives/radii.js +14 -0
  1137. package/dist/Theme/tokens/primitives/shadows.d.ts +21 -1
  1138. package/dist/Theme/tokens/primitives/shadows.js +59 -5
  1139. package/dist/Theme/tokens/primitives/sizes.d.ts +0 -4
  1140. package/dist/Theme/tokens/primitives/sizes.js +1 -4
  1141. package/dist/Theme/tokens/primitives/states.d.ts +1 -0
  1142. package/dist/Theme/tokens/primitives/states.js +4 -0
  1143. package/dist/Theme/tokens/primitives/typography.d.ts +17 -7
  1144. package/dist/Theme/tokens/primitives/typography.js +23 -9
  1145. package/dist/Theme/tokens/primitives/zIndices.d.ts +1 -0
  1146. package/dist/Theme/tokens/primitives/zIndices.js +1 -0
  1147. package/dist/Theme/tokens/types.d.ts +19 -16
  1148. package/dist/Theme/tokens/types.js +1 -6
  1149. package/dist/Theme/useChartTheme.d.ts +4 -0
  1150. package/dist/Theme/useChartTheme.js +12 -0
  1151. package/dist/Utils/accountHandoff.d.ts +3 -17
  1152. package/dist/Utils/accountHandoff.js +2 -17
  1153. package/dist/Utils/apiError.d.ts +2 -0
  1154. package/dist/Utils/apiError.js +28 -0
  1155. package/dist/Utils/formatDate.d.ts +25 -0
  1156. package/dist/Utils/formatDate.js +144 -0
  1157. package/dist/Utils/functions.d.ts +1 -0
  1158. package/dist/Utils/functions.js +6 -4
  1159. package/dist/Utils/humanize.d.ts +4 -0
  1160. package/dist/Utils/humanize.js +19 -0
  1161. package/dist/Utils/lazyWithRetry.d.ts +9 -0
  1162. package/dist/Utils/lazyWithRetry.js +51 -0
  1163. package/dist/Utils/mergeRefs.d.ts +0 -5
  1164. package/dist/Utils/mergeRefs.js +1 -5
  1165. package/dist/Utils/planBadge.d.ts +1 -11
  1166. package/dist/Utils/planBadge.js +2 -12
  1167. package/dist/Utils/planExpiry.d.ts +0 -26
  1168. package/dist/Utils/planExpiry.js +4 -29
  1169. package/dist/Utils/price.d.ts +17 -0
  1170. package/dist/Utils/price.js +39 -0
  1171. package/dist/Utils/rafThrottle.d.ts +0 -11
  1172. package/dist/Utils/rafThrottle.js +1 -11
  1173. package/dist/Utils/table.d.ts +5 -22
  1174. package/dist/Utils/table.js +64 -88
  1175. package/dist/Utils/tabular.d.ts +30 -0
  1176. package/dist/Utils/tabular.js +61 -0
  1177. package/dist/Utils/validation.d.ts +13 -0
  1178. package/dist/Utils/validation.js +86 -0
  1179. package/dist/esm/Components/Accordion/Accordion.js +17 -13
  1180. package/dist/esm/Components/Accordion/accordionColors.js +8 -10
  1181. package/dist/esm/Components/AddressCard/AddressCard.js +21 -0
  1182. package/dist/esm/Components/AddressCard/AddressCardGroup.js +5 -0
  1183. package/dist/esm/Components/AlertDialog/AlertDialog.js +4 -6
  1184. package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +8 -3
  1185. package/dist/esm/Components/Apexcharts/ApexBarChart/ApexBarChart.js +9 -5
  1186. package/dist/esm/Components/Apexcharts/ApexChartFallback.js +5 -0
  1187. package/dist/esm/Components/Apexcharts/ApexLineChart/ApexLineChart.js +11 -5
  1188. package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +14 -8
  1189. package/dist/esm/Components/Apexcharts/ApexPieChart/pieImageTexture.js +10 -0
  1190. package/dist/esm/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +10 -6
  1191. package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +8 -5
  1192. package/dist/esm/Components/Apexcharts/LazyReactApexChart.js +5 -0
  1193. package/dist/esm/Components/AppSwitcher/AppMark.js +52 -0
  1194. package/dist/esm/Components/AppSwitcher/AppSwitcher.js +243 -0
  1195. package/dist/esm/Components/AppSwitcher/AppSwitcherProps.js +87 -0
  1196. package/dist/esm/Components/AppSwitcher/pixelizeSuite.js +67 -0
  1197. package/dist/esm/Components/AppSwitcher/useAppSwitcherShortcut.js +27 -0
  1198. package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +7 -5
  1199. package/dist/esm/Components/AudioRecorder/AudioRecorder.js +163 -0
  1200. package/dist/esm/Components/Avatar/Avatar.js +24 -0
  1201. package/dist/esm/Components/Avatar/AvatarGroup.js +20 -0
  1202. package/dist/esm/Components/Avatar/AvatarProps.js +1 -0
  1203. package/dist/esm/Components/Avatar/avatarColorway.js +25 -0
  1204. package/dist/esm/Components/Avatar/avatarSizing.js +12 -0
  1205. package/dist/esm/Components/Backdrop/Backdrop.js +28 -0
  1206. package/dist/esm/Components/Backdrop/BackdropProps.js +1 -0
  1207. package/dist/esm/Components/BagBar/BagBar.js +28 -0
  1208. package/dist/esm/Components/BagBar/BagBarProps.js +1 -0
  1209. package/dist/esm/Components/Breadcrumbs/Breadcrumbs.js +39 -6
  1210. package/dist/esm/Components/Breadcrumbs/breadcrumbInk.js +7 -0
  1211. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBar.js +39 -0
  1212. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBarProps.js +1 -0
  1213. package/dist/esm/Components/BulkSelectionBar/index.js +1 -0
  1214. package/dist/esm/Components/Button/Button.js +4 -2
  1215. package/dist/esm/Components/Button/Button.styles.js +105 -120
  1216. package/dist/esm/Components/ButtonGroupIcon/ButtonGoupIconProps.js +2 -1
  1217. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +9 -15
  1218. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIconProps.js +1 -0
  1219. package/dist/esm/Components/CalendarGrid/CalendarGrid.js +171 -0
  1220. package/dist/esm/Components/CalendarGrid/CalendarGridProps.js +1 -0
  1221. package/dist/esm/Components/CalendarGrid/calendarMath.js +167 -0
  1222. package/dist/esm/Components/Card/Card.js +22 -5
  1223. package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +34 -19
  1224. package/dist/esm/Components/CartItem/CartItem.js +56 -0
  1225. package/dist/esm/Components/CartItem/CartItemProps.js +1 -0
  1226. package/dist/esm/Components/CartItem/cartItemOptions.js +9 -0
  1227. package/dist/esm/Components/Checkbox/Checkbox.js +15 -9
  1228. package/dist/esm/Components/Checkbox/Checkbox.styles.js +47 -37
  1229. package/dist/esm/Components/CheckoutKit/selectable.js +115 -0
  1230. package/dist/esm/Components/CheckoutKit/tonalHover.js +2 -0
  1231. package/dist/esm/Components/ChoiceCard/ChoiceCard.js +16 -0
  1232. package/dist/esm/Components/ChoiceCard/ChoiceCardGroup.js +5 -0
  1233. package/dist/esm/Components/ChoiceCard/ChoiceCardProps.js +1 -0
  1234. package/dist/esm/Components/CircularProgress/CircularProgress.js +33 -0
  1235. package/dist/esm/Components/CircularProgress/CircularProgressProps.js +1 -0
  1236. package/dist/esm/Components/CircularProgress/arc.js +24 -0
  1237. package/dist/esm/Components/Commerce/commerceTypes.js +1 -0
  1238. package/dist/esm/Components/Commerce/commerceVariants.js +41 -0
  1239. package/dist/esm/Components/Commerce/index.js +2 -0
  1240. package/dist/esm/Components/Commerce/useContainerWidth.js +21 -0
  1241. package/dist/esm/Components/Common/ErrorMessage.js +5 -5
  1242. package/dist/esm/Components/Common/FieldMessage.js +14 -0
  1243. package/dist/esm/Components/Common/FormLabel.js +16 -9
  1244. package/dist/esm/Components/Common/HelperText.js +13 -8
  1245. package/dist/esm/Components/Common/activationKey.js +7 -0
  1246. package/dist/esm/Components/Common/chipTriggerSize.js +11 -0
  1247. package/dist/esm/Components/Common/dataAttributes.js +1 -0
  1248. package/dist/esm/Components/Common/fieldMessageStyles.js +14 -0
  1249. package/dist/esm/Components/Common/fieldStyles.js +69 -30
  1250. package/dist/esm/Components/Common/findSlot.js +17 -0
  1251. package/dist/esm/Components/Common/iconBox.js +12 -0
  1252. package/dist/esm/Components/Common/surfaceFocusRing.js +3 -0
  1253. package/dist/esm/Components/Common/useFieldIds.js +23 -0
  1254. package/dist/esm/Components/ConfirmDialog/ConfirmDialog.js +32 -0
  1255. package/dist/esm/Components/ConfirmDialog/ConfirmDialogProps.js +1 -0
  1256. package/dist/esm/Components/ContactForm/ContactForm.js +19 -14
  1257. package/dist/esm/Components/CopyButton/CopyButton.js +22 -13
  1258. package/dist/esm/Components/CouponField/CouponField.js +71 -0
  1259. package/dist/esm/Components/CouponField/CouponFieldProps.js +1 -0
  1260. package/dist/esm/Components/CustomModulesTable/CustomModulesTable.js +9 -4
  1261. package/dist/esm/Components/CustomModulesTable/DeleteModuleModal.js +5 -4
  1262. package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +4 -4
  1263. package/dist/esm/Components/DatePicker/CalendarPanel.js +45 -25
  1264. package/dist/esm/Components/DatePicker/DatePicker.js +41 -73
  1265. package/dist/esm/Components/DatePicker/DatePickerProps.js +1 -1
  1266. package/dist/esm/Components/DatePicker/PickerPortal.js +21 -0
  1267. package/dist/esm/Components/DatePicker/RangeDatePicker.js +78 -71
  1268. package/dist/esm/Components/DatePicker/SingleDatePicker.js +101 -91
  1269. package/dist/esm/Components/DatePicker/ThemeDatePicker.js +15 -18
  1270. package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +51 -40
  1271. package/dist/esm/Components/DatePicker/TimePicker.js +9 -12
  1272. package/dist/esm/Components/DatePicker/TimePickerInput.js +10 -13
  1273. package/dist/esm/Components/DatePicker/dayStates.js +68 -0
  1274. package/dist/esm/Components/DatePicker/pickerField.js +24 -0
  1275. package/dist/esm/Components/DatePicker/valueFormat.js +15 -0
  1276. package/dist/esm/Components/DescriptionList/DescriptionList.js +27 -0
  1277. package/dist/esm/Components/DescriptionList/DescriptionListProps.js +1 -0
  1278. package/dist/esm/Components/DetailSections/DetailSections.js +108 -0
  1279. package/dist/esm/Components/DetailSections/DetailSectionsProps.js +1 -0
  1280. package/dist/esm/Components/Divider/Divider.js +3 -2
  1281. package/dist/esm/Components/Drawer/Drawer.js +31 -9
  1282. package/dist/esm/Components/Dropdown/DropDown.js +75 -60
  1283. package/dist/esm/Components/Editor/Editor.js +66 -4
  1284. package/dist/esm/Components/Editor/EditorFieldBar.js +13 -0
  1285. package/dist/esm/Components/Editor/MakeDynamicDialog.js +20 -0
  1286. package/dist/esm/Components/Editor/editorLabels.js +21 -0
  1287. package/dist/esm/Components/Editor/editorTokenStyles.js +32 -0
  1288. package/dist/esm/Components/Editor/editorTokens.js +121 -0
  1289. package/dist/esm/Components/Editor/joditAccessibility.js +24 -0
  1290. package/dist/esm/Components/Editor/useEditorBridge.js +138 -0
  1291. package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +11 -11
  1292. package/dist/esm/Components/EmptyState/EmptyState.js +26 -14
  1293. package/dist/esm/Components/EmptyState/FilteredEmptyState.js +18 -0
  1294. package/dist/esm/Components/FeedbackForm/FeedbackForm.js +17 -6
  1295. package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +4 -5
  1296. package/dist/esm/Components/FilePreview/FilePreview.js +18 -11
  1297. package/dist/esm/Components/FileUpload/FileUpload.js +47 -18
  1298. package/dist/esm/Components/FileUpload/constants.js +1 -0
  1299. package/dist/esm/Components/FileUpload/useObjectUrl.js +10 -0
  1300. package/dist/esm/Components/FileUploader/FileUploader.js +17 -6
  1301. package/dist/esm/Components/FilterBar/FilterBar.js +12 -0
  1302. package/dist/esm/Components/FilterBar/FilterBarProps.js +1 -0
  1303. package/dist/esm/Components/FilterSidebar/FilterSidebar.js +95 -236
  1304. package/dist/esm/Components/FilterSidebar/OptionsSection.js +41 -0
  1305. package/dist/esm/Components/FilterSidebar/RangeSection.js +78 -0
  1306. package/dist/esm/Components/FilterSidebar/SectionHeader.js +23 -0
  1307. package/dist/esm/Components/FilterSidebar/filterHoverStyle.js +3 -10
  1308. package/dist/esm/Components/FilterSidebar/useStableCallback.js +8 -0
  1309. package/dist/esm/Components/Form/FormWrapper.js +5 -2
  1310. package/dist/esm/Components/FormDrawer/FormDrawer.js +59 -0
  1311. package/dist/esm/Components/FormDrawer/FormDrawerProps.js +1 -0
  1312. package/dist/esm/Components/FormField/FormField.js +53 -0
  1313. package/dist/esm/Components/FormField/FormFieldProps.js +1 -0
  1314. package/dist/esm/Components/Header/Header.js +3 -16
  1315. package/dist/esm/Components/Header/HeaderActions.js +9 -6
  1316. package/dist/esm/Components/Header/components/desktopMenu.js +11 -11
  1317. package/dist/esm/Components/Header/components/mobileMenu.js +27 -14
  1318. package/dist/esm/Components/IconButton/IconButton.js +21 -0
  1319. package/dist/esm/Components/IconButton/IconButtonProps.js +1 -0
  1320. package/dist/esm/Components/Input/PhoneNumberInput.js +22 -4
  1321. package/dist/esm/Components/Input/Switch/InputSwitch.js +16 -20
  1322. package/dist/esm/Components/Input/TextInput.js +83 -9
  1323. package/dist/esm/Components/Input/TextInput.styles.js +46 -88
  1324. package/dist/esm/Components/Input/textInputIconSize.js +6 -32
  1325. package/dist/esm/Components/Input/useAriaRequired.js +15 -0
  1326. package/dist/esm/Components/InputTextArea/InputTextArea.js +10 -5
  1327. package/dist/esm/Components/InputTextArea/InputTextArea.style.js +14 -69
  1328. package/dist/esm/Components/KanbanBoard/AccountCard.js +16 -9
  1329. package/dist/esm/Components/KanbanBoard/AccountRow.js +2 -1
  1330. package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +3 -3
  1331. package/dist/esm/Components/KanbanBoard/KanbanBoard.js +131 -72
  1332. package/dist/esm/Components/KanbanBoard/MeasuredItem.js +7 -14
  1333. package/dist/esm/Components/KanbanBoard/boardStore.js +22 -0
  1334. package/dist/esm/Components/KanbanBoard/index.js +1 -0
  1335. package/dist/esm/Components/Kbd/Kbd.js +29 -0
  1336. package/dist/esm/Components/Kbd/KbdProps.js +1 -0
  1337. package/dist/esm/Components/LauncherTrigger/LauncherTrigger.js +42 -0
  1338. package/dist/esm/Components/LauncherTrigger/LauncherTriggerProps.js +1 -0
  1339. package/dist/esm/Components/LazyWrapper/LazyWrapper.js +2 -1
  1340. package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +3 -2
  1341. package/dist/esm/Components/LimitReachedModal/limitReachedCopy.js +3 -3
  1342. package/dist/esm/Components/Loading/Loading.js +16 -17
  1343. package/dist/esm/Components/MediaGallery/MediaFrame.js +48 -0
  1344. package/dist/esm/Components/MediaGallery/MediaGallery.js +201 -0
  1345. package/dist/esm/Components/MediaGallery/MediaGalleryProps.js +17 -0
  1346. package/dist/esm/Components/MediaGallery/MediaLightbox.js +79 -0
  1347. package/dist/esm/Components/MediaGallery/MediaLightboxProps.js +12 -0
  1348. package/dist/esm/Components/MediaGallery/MediaThumb.js +23 -0
  1349. package/dist/esm/Components/MediaGallery/glass.js +43 -0
  1350. package/dist/esm/Components/MediaGallery/mediaGalleryModel.js +71 -0
  1351. package/dist/esm/Components/MediaGallery/motion.js +8 -0
  1352. package/dist/esm/Components/MediaViewer/MediaViewer.js +197 -0
  1353. package/dist/esm/Components/MediaViewer/MediaViewerProps.js +29 -0
  1354. package/dist/esm/Components/MediaViewer/components/MediaAudioPlayer.js +138 -0
  1355. package/dist/esm/Components/MediaViewer/components/MediaAudioPlayerProps.js +18 -0
  1356. package/dist/esm/Components/MediaViewer/components/MediaDocumentStage.js +110 -0
  1357. package/dist/esm/Components/MediaViewer/components/MediaDocumentStageProps.js +8 -0
  1358. package/dist/esm/Components/MediaViewer/components/MediaImageViewer.js +110 -0
  1359. package/dist/esm/Components/MediaViewer/components/MediaImageViewerProps.js +15 -0
  1360. package/dist/esm/Components/MediaViewer/components/MediaScrubber.js +96 -0
  1361. package/dist/esm/Components/MediaViewer/components/MediaScrubberProps.js +1 -0
  1362. package/dist/esm/Components/MediaViewer/components/MediaStatusPanel.js +12 -0
  1363. package/dist/esm/Components/MediaViewer/components/MediaStatusPanelProps.js +1 -0
  1364. package/dist/esm/Components/MediaViewer/components/MediaVideoPlayer.js +246 -0
  1365. package/dist/esm/Components/MediaViewer/components/MediaVideoPlayerProps.js +28 -0
  1366. package/dist/esm/Components/MediaViewer/components/PlaybackTimeline.js +38 -0
  1367. package/dist/esm/Components/MediaViewer/components/TileChip.js +10 -0
  1368. package/dist/esm/Components/MediaViewer/components/TileChipProps.js +1 -0
  1369. package/dist/esm/Components/MediaViewer/components/VideoPoster.js +11 -0
  1370. package/dist/esm/Components/MediaViewer/components/VideoPosterProps.js +1 -0
  1371. package/dist/esm/Components/MediaViewer/components/ViewerIconButton.js +17 -0
  1372. package/dist/esm/Components/MediaViewer/components/ViewerIconButtonProps.js +1 -0
  1373. package/dist/esm/Components/MediaViewer/components/mediaKindIcon.js +18 -0
  1374. package/dist/esm/Components/MediaViewer/components/sanitizeDocxHrefs.js +27 -0
  1375. package/dist/esm/Components/MediaViewer/hooks/useAutoHideChrome.js +40 -0
  1376. package/dist/esm/Components/MediaViewer/hooks/useFileViewer.js +45 -0
  1377. package/dist/esm/Components/MediaViewer/mediaItems.js +183 -0
  1378. package/dist/esm/Components/MediaViewer/useViewerChrome.js +27 -0
  1379. package/dist/esm/Components/Modal/Modal.js +16 -20
  1380. package/dist/esm/Components/Modal/dialogNaming.js +18 -0
  1381. package/dist/esm/Components/Modal/warnDroppedSlotChildren.js +42 -0
  1382. package/dist/esm/Components/MoreItems/MoreItems.js +8 -3
  1383. package/dist/esm/Components/MultiSelect/MultiSelect.js +41 -28
  1384. package/dist/esm/Components/NavLauncher/LauncherTabs.js +59 -0
  1385. package/dist/esm/Components/NavLauncher/NavLauncher.js +798 -0
  1386. package/dist/esm/Components/NavLauncher/NavLauncherProps.js +1 -0
  1387. package/dist/esm/Components/NavLauncher/NewTabLink.js +12 -0
  1388. package/dist/esm/Components/NavLauncher/PinToggle.js +18 -0
  1389. package/dist/esm/Components/NavLauncher/ScopeBar.js +136 -0
  1390. package/dist/esm/Components/NavLauncher/engine/distance.js +37 -0
  1391. package/dist/esm/Components/NavLauncher/engine/engine.js +459 -0
  1392. package/dist/esm/Components/NavLauncher/engine/fold.js +75 -0
  1393. package/dist/esm/Components/NavLauncher/engine/index.js +14 -0
  1394. package/dist/esm/Components/NavLauncher/launcherMotion.js +11 -0
  1395. package/dist/esm/Components/NavLauncher/launcherParts.js +230 -0
  1396. package/dist/esm/Components/NavLauncher/match.js +185 -0
  1397. package/dist/esm/Components/NavLauncher/resultNavigation.js +61 -0
  1398. package/dist/esm/Components/NavLauncher/revealStyles.js +15 -0
  1399. package/dist/esm/Components/NavLauncher/searchLayout.js +101 -0
  1400. package/dist/esm/Components/NavLauncher/spotlight.js +194 -0
  1401. package/dist/esm/Components/NavLauncher/spotlightParts.js +108 -0
  1402. package/dist/esm/Components/NavLauncher/useCopiedFlash.js +17 -0
  1403. package/dist/esm/Components/NavigationBar/NavigationBar.js +25 -22
  1404. package/dist/esm/Components/NoteTextArea/NoteTextArea.js +34 -16
  1405. package/dist/esm/Components/Notification/Notification.js +37 -19
  1406. package/dist/esm/Components/NotificationBell/NotificationBell.js +34 -0
  1407. package/dist/esm/Components/NotificationBell/NotificationBellProps.js +1 -0
  1408. package/dist/esm/Components/NotificationBell/NotificationItem.js +29 -0
  1409. package/dist/esm/Components/NotificationBell/NotificationList.js +36 -0
  1410. package/dist/esm/Components/NotificationBell/NotificationPanel.js +32 -0
  1411. package/dist/esm/Components/NotificationBell/index.js +6 -0
  1412. package/dist/esm/Components/NotificationBell/notificationHelpers.js +113 -0
  1413. package/dist/esm/Components/NumberInput/NumberInput.js +7 -5
  1414. package/dist/esm/Components/NumberInput/NumberInput.styles.js +19 -78
  1415. package/dist/esm/Components/OffersList/OffersList.js +84 -0
  1416. package/dist/esm/Components/OffersList/OffersListProps.js +1 -0
  1417. package/dist/esm/Components/OptionChip/OptionChip.js +97 -0
  1418. package/dist/esm/Components/OptionChip/OptionChipProps.js +1 -0
  1419. package/dist/esm/Components/OptionChip/optionInk.js +23 -0
  1420. package/dist/esm/Components/OrderStatusTimeline/OrderStatusTimeline.js +57 -0
  1421. package/dist/esm/Components/OrderStatusTimeline/OrderStatusTimelineProps.js +1 -0
  1422. package/dist/esm/Components/OrderSummary/OrderSummary.js +58 -0
  1423. package/dist/esm/Components/OrderSummary/OrderSummaryProps.js +1 -0
  1424. package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +50 -32
  1425. package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +3 -1
  1426. package/dist/esm/Components/OrganizationDetails/CreateOrgModal.js +2 -1
  1427. package/dist/esm/Components/OrganizationDetails/DeleteOrgModal.js +7 -9
  1428. package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +21 -13
  1429. package/dist/esm/Components/PageHeader/PageHeader.js +16 -0
  1430. package/dist/esm/Components/PageHeader/PageHeaderProps.js +1 -0
  1431. package/dist/esm/Components/Pagination/Pagination.js +42 -0
  1432. package/dist/esm/Components/Pagination/PaginationProps.js +6 -0
  1433. package/dist/esm/Components/Pagination/pageWindow.js +16 -0
  1434. package/dist/esm/Components/PaymentOption/PaymentOption.js +19 -0
  1435. package/dist/esm/Components/PaymentOption/PaymentOptionGroup.js +5 -0
  1436. package/dist/esm/Components/PaymentOption/PaymentOptionProps.js +1 -0
  1437. package/dist/esm/Components/PdfViewer/PdfViewer.js +129 -2
  1438. package/dist/esm/Components/PersonChip/PersonChip.js +42 -0
  1439. package/dist/esm/Components/PersonChip/PersonChipProps.js +1 -0
  1440. package/dist/esm/Components/PinInput/PinInput.js +23 -9
  1441. package/dist/esm/Components/PinInput/pinInputCellSize.js +6 -0
  1442. package/dist/esm/Components/PincodeChecker/PincodeChecker.js +170 -0
  1443. package/dist/esm/Components/PincodeChecker/PincodeCheckerProps.js +1 -0
  1444. package/dist/esm/Components/PlanBadge/PlanBadge.js +1 -7
  1445. package/dist/esm/Components/PlanPill/PlanPill.js +8 -5
  1446. package/dist/esm/Components/PlanPill/planPillGradient.js +6 -20
  1447. package/dist/esm/Components/PriceBlock/PriceBlock.js +39 -0
  1448. package/dist/esm/Components/PriceBlock/PriceBlockProps.js +1 -0
  1449. package/dist/esm/Components/Primitives/Primitives.js +3 -6
  1450. package/dist/esm/Components/ProductBadges/ProductBadges.js +60 -0
  1451. package/dist/esm/Components/ProductBadges/ProductBadgesProps.js +1 -0
  1452. package/dist/esm/Components/ProductCard/ProductCard.js +109 -53
  1453. package/dist/esm/Components/ProductCard/ProductCardAction.js +61 -0
  1454. package/dist/esm/Components/ProductCard/ProductCardGrid.js +18 -0
  1455. package/dist/esm/Components/ProductCard/ProductCardMedia.js +33 -0
  1456. package/dist/esm/Components/ProductCard/ProductCardSkeleton.js +12 -0
  1457. package/dist/esm/Components/ProductCard/ProductCardSwatches.js +37 -0
  1458. package/dist/esm/Components/ProductCard/QuickAddSheet.js +71 -0
  1459. package/dist/esm/Components/ProductCard/QuickAddSheetProps.js +1 -0
  1460. package/dist/esm/Components/ProductCard/cardLabels.js +13 -0
  1461. package/dist/esm/Components/ProductCard/cardMetrics.js +54 -0
  1462. package/dist/esm/Components/ProductCard/productCardModel.js +65 -0
  1463. package/dist/esm/Components/ProductDetails/ProductDetails.js +212 -34
  1464. package/dist/esm/Components/ProductDetails/productDetailsModel.js +35 -0
  1465. package/dist/esm/Components/ProductDetails/useInViewport.js +14 -0
  1466. package/dist/esm/Components/ProfileCard/ProfileCard.js +15 -11
  1467. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +32 -14
  1468. package/dist/esm/Components/ProgressBar/ProgressBar.js +29 -3
  1469. package/dist/esm/Components/QuantityStepper/QuantityStepper.js +61 -0
  1470. package/dist/esm/Components/QuantityStepper/QuantityStepperProps.js +1 -0
  1471. package/dist/esm/Components/QueryState/ErrorState.js +11 -0
  1472. package/dist/esm/Components/QueryState/QueryStateBoundary.js +30 -0
  1473. package/dist/esm/Components/QueryState/QueryStateProps.js +1 -0
  1474. package/dist/esm/Components/RadioButton/RadioButton.js +36 -16
  1475. package/dist/esm/Components/RangeSlider/RangeSlider.js +131 -0
  1476. package/dist/esm/Components/RangeSlider/RangeSliderProps.js +1 -0
  1477. package/dist/esm/Components/RangeSlider/rangeSliderColors.js +7 -0
  1478. package/dist/esm/Components/RangeSlider/rangeSliderMath.js +69 -0
  1479. package/dist/esm/Components/RangeSlider/rangeSliderSize.js +8 -0
  1480. package/dist/esm/Components/Rating/Rating.js +80 -0
  1481. package/dist/esm/Components/Rating/RatingProps.js +1 -0
  1482. package/dist/esm/Components/Reorder/Reorder.js +4 -2
  1483. package/dist/esm/Components/ReviewList/ReviewList.js +89 -0
  1484. package/dist/esm/Components/ReviewList/ReviewListProps.js +1 -0
  1485. package/dist/esm/Components/ReviewSummary/ReviewSummary.js +42 -0
  1486. package/dist/esm/Components/ReviewSummary/ReviewSummaryProps.js +1 -0
  1487. package/dist/esm/Components/RolesPermission/DeleteRoleModal.js +7 -9
  1488. package/dist/esm/Components/RolesPermission/RolesPermission.js +17 -11
  1489. package/dist/esm/Components/SaveBar/SaveBar.js +19 -0
  1490. package/dist/esm/Components/SaveBar/SaveBarProps.js +1 -0
  1491. package/dist/esm/Components/ScrollToTop/ScrollToTop.js +10 -3
  1492. package/dist/esm/Components/ScrollbarBox/ScrollbarBox.js +9 -2
  1493. package/dist/esm/Components/Search/Search.js +36 -22
  1494. package/dist/esm/Components/Search/ctrlShortcut.js +25 -0
  1495. package/dist/esm/Components/SearchSelect/SearchSelect.js +295 -142
  1496. package/dist/esm/Components/SearchSelect/searchSelectNav.js +32 -0
  1497. package/dist/esm/Components/SearchSelect/searchSelectSize.js +15 -27
  1498. package/dist/esm/Components/SectionRail/SectionRail.js +45 -0
  1499. package/dist/esm/Components/SectionRail/SectionRailProps.js +1 -0
  1500. package/dist/esm/Components/SectionRail/index.js +1 -0
  1501. package/dist/esm/Components/SegmentedControl/SegmentedControl.js +119 -0
  1502. package/dist/esm/Components/SegmentedControl/SegmentedControlProps.js +1 -0
  1503. package/dist/esm/Components/SegmentedControl/segmentedInk.js +19 -0
  1504. package/dist/esm/Components/SegmentedControl/useSlidingPill.js +27 -0
  1505. package/dist/esm/Components/Select/Select.js +73 -25
  1506. package/dist/esm/Components/Select/Select.styles.js +30 -74
  1507. package/dist/esm/Components/Select/SelectNative.js +51 -0
  1508. package/dist/esm/Components/Select/SelectPopup.js +586 -0
  1509. package/dist/esm/Components/Select/groupedWindow.js +44 -0
  1510. package/dist/esm/Components/Select/optionRowInk.js +18 -0
  1511. package/dist/esm/Components/Select/selectKeyboardRing.js +3 -0
  1512. package/dist/esm/Components/Select/selectRowInk.js +33 -0
  1513. package/dist/esm/Components/SelectSearch/SelectSearch.js +96 -123
  1514. package/dist/esm/Components/SelectV2/SelectV2.js +10 -218
  1515. package/dist/esm/Components/SettingRow/SettingRow.js +23 -0
  1516. package/dist/esm/Components/SettingRow/SettingRowProps.js +1 -0
  1517. package/dist/esm/Components/SettingRow/SettingsSection.js +12 -0
  1518. package/dist/esm/Components/SettingRow/SettingsSectionProps.js +1 -0
  1519. package/dist/esm/Components/SideBar/SecondaryBar.js +36 -13
  1520. package/dist/esm/Components/SideBar/SideBar.js +160 -50
  1521. package/dist/esm/Components/SideBar/components/MenuItemBox.js +77 -42
  1522. package/dist/esm/Components/SideBar/components/MenuItems.js +8 -8
  1523. package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +33 -14
  1524. package/dist/esm/Components/SideBar/components/OtherApps.js +6 -3
  1525. package/dist/esm/Components/SideBar/components/OverflowTooltipText.js +7 -6
  1526. package/dist/esm/Components/SideBar/components/PinnedSection.js +95 -0
  1527. package/dist/esm/Components/SideBar/components/TextTruncation.js +11 -7
  1528. package/dist/esm/Components/SideBar/menuDisabled.js +3 -0
  1529. package/dist/esm/Components/SideBar/sidebarFocus.js +15 -0
  1530. package/dist/esm/Components/SideBar/sidebarId.js +2 -0
  1531. package/dist/esm/Components/SideBar/sidebarMotion.js +3 -0
  1532. package/dist/esm/Components/SideBar/sidebarScale.js +16 -0
  1533. package/dist/esm/Components/SignInActivityTable/SignInActivityTable.js +14 -6
  1534. package/dist/esm/Components/SignInActivityTable/scrollRegionRing.js +9 -0
  1535. package/dist/esm/Components/Skeletons/Skeletons.js +5 -2
  1536. package/dist/esm/Components/SkipLink/SkipLink.js +50 -0
  1537. package/dist/esm/Components/SkipLink/SkipLinkProps.js +1 -0
  1538. package/dist/esm/Components/Slider/Slider.js +23 -6
  1539. package/dist/esm/Components/SpecTable/SpecTable.js +35 -0
  1540. package/dist/esm/Components/SpecTable/SpecTableProps.js +1 -0
  1541. package/dist/esm/Components/Spinner/Spinner.js +19 -0
  1542. package/dist/esm/Components/Spinner/SpinnerProps.js +1 -0
  1543. package/dist/esm/Components/StageProgress/StageItem.js +19 -9
  1544. package/dist/esm/Components/StageProgress/StageProgress.js +15 -8
  1545. package/dist/esm/Components/StageProgress/StageProgressProps.js +13 -7
  1546. package/dist/esm/Components/StageProgress/StepperStage.js +15 -10
  1547. package/dist/esm/Components/StageProgress/centerInStrip.js +11 -0
  1548. package/dist/esm/Components/StatCard/StatCard.js +43 -0
  1549. package/dist/esm/Components/StatCard/StatCardProps.js +1 -0
  1550. package/dist/esm/Components/StatusTag/StatusTag.js +19 -0
  1551. package/dist/esm/Components/StatusTag/StatusTagProps.js +1 -0
  1552. package/dist/esm/Components/StickyBuyBar/StickyBuyBar.js +82 -0
  1553. package/dist/esm/Components/StickyBuyBar/StickyBuyBarProps.js +1 -0
  1554. package/dist/esm/Components/StockStatus/StockStatus.js +29 -0
  1555. package/dist/esm/Components/StockStatus/StockStatusProps.js +1 -0
  1556. package/dist/esm/Components/Switch/Switch.js +12 -10
  1557. package/dist/esm/Components/Table/Table.js +92 -58
  1558. package/dist/esm/Components/Table/columnLabel.js +21 -0
  1559. package/dist/esm/Components/Table/components/HeaderActions.js +10 -7
  1560. package/dist/esm/Components/Table/components/Pagination.js +20 -9
  1561. package/dist/esm/Components/Table/components/TableActions.js +43 -26
  1562. package/dist/esm/Components/Table/components/TableBody.js +191 -101
  1563. package/dist/esm/Components/Table/components/TableGroupRow.js +2 -1
  1564. package/dist/esm/Components/Table/components/TableHeader.js +39 -34
  1565. package/dist/esm/Components/Table/components/TableLoading.js +10 -6
  1566. package/dist/esm/Components/Table/components/TableSearch.js +1 -1
  1567. package/dist/esm/Components/Table/components/rowDetail.js +15 -0
  1568. package/dist/esm/Components/Table/components/rowFocusRing.js +16 -0
  1569. package/dist/esm/Components/Table/components/rowMeasurer.js +66 -0
  1570. package/dist/esm/Components/Table/components/rowMetrics.js +11 -0
  1571. package/dist/esm/Components/Table/filters/ActiveFilters.js +14 -7
  1572. package/dist/esm/Components/Table/filters/CompactSelect.js +26 -9
  1573. package/dist/esm/Components/Table/filters/FilterDatePicker.js +20 -0
  1574. package/dist/esm/Components/Table/filters/LeftFilterPane.js +14 -6
  1575. package/dist/esm/Components/Table/filters/SelectOperationControls.js +8 -3
  1576. package/dist/esm/Components/Table/filters/TableFilters.js +4 -14
  1577. package/dist/esm/Components/Table/filters/TextOperationControls.js +6 -2
  1578. package/dist/esm/Components/Table/hooks/useRowExpansion.js +23 -0
  1579. package/dist/esm/Components/Table/hooks/useTable.js +85 -49
  1580. package/dist/esm/Components/Table/settings/ManageColumns.js +17 -11
  1581. package/dist/esm/Components/Table/settings/TableSettings.js +18 -9
  1582. package/dist/esm/Components/Table/variants/TableVariantContext.js +3 -3
  1583. package/dist/esm/Components/Table/variants/classic.js +5 -2
  1584. package/dist/esm/Components/Table/variants/stripe.js +3 -0
  1585. package/dist/esm/Components/Table/variants/studio.js +2 -0
  1586. package/dist/esm/Components/Tabs/Tabs.js +79 -0
  1587. package/dist/esm/Components/Tabs/TabsContext.js +10 -0
  1588. package/dist/esm/Components/Tabs/TabsProps.js +1 -0
  1589. package/dist/esm/Components/Tabs/components/CountBadge.js +15 -0
  1590. package/dist/esm/Components/Tabs/components/Tab.js +17 -0
  1591. package/dist/esm/Components/Tabs/components/TabLinkList.js +29 -0
  1592. package/dist/esm/Components/Tabs/components/TabList.js +85 -0
  1593. package/dist/esm/Components/Tabs/components/TabPanel.js +16 -0
  1594. package/dist/esm/Components/Tabs/components/TabPanels.js +13 -0
  1595. package/dist/esm/Components/Tabs/index.js +5 -0
  1596. package/dist/esm/Components/Tabs/tabStyles.js +35 -0
  1597. package/dist/esm/Components/Tabs/useTabAppearance.js +63 -0
  1598. package/dist/esm/Components/Tag/Tag.js +31 -8
  1599. package/dist/esm/Components/Tag/Tag.styles.js +51 -36
  1600. package/dist/esm/Components/Tag/tagDot.js +24 -0
  1601. package/dist/esm/Components/TagInput/TagInput.js +96 -0
  1602. package/dist/esm/Components/TagInput/TagInputProps.js +1 -0
  1603. package/dist/esm/Components/TagInput/tagEntries.js +51 -0
  1604. package/dist/esm/Components/TimePicker/TimePicker.js +50 -0
  1605. package/dist/esm/Components/TimePicker/TimePickerProps.js +1 -0
  1606. package/dist/esm/Components/TimePicker/timeParts.js +26 -0
  1607. package/dist/esm/Components/Timeline/Timeline.js +59 -33
  1608. package/dist/esm/Components/Toaster/Toaster.js +90 -61
  1609. package/dist/esm/Components/Toaster/toastDuration.js +3 -0
  1610. package/dist/esm/Components/Toggle/TableToggle.js +66 -19
  1611. package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +49 -0
  1612. package/dist/esm/Components/ToggleSwitch/ToggleSwitchProps.js +1 -0
  1613. package/dist/esm/Components/ToolTip/OverflowToolTip.js +1 -15
  1614. package/dist/esm/Components/ToolTip/ToolTip.js +102 -23
  1615. package/dist/esm/Components/TrustBadges/TrustBadges.js +22 -0
  1616. package/dist/esm/Components/TrustBadges/TrustBadgesProps.js +1 -0
  1617. package/dist/esm/Components/UpgradeButton/UpgradeButton.js +13 -14
  1618. package/dist/esm/Components/UserDetails/AddUserModal.js +2 -1
  1619. package/dist/esm/Components/UserDetails/ChangeRoleModal.js +2 -1
  1620. package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +6 -8
  1621. package/dist/esm/Components/UserDetails/UserDetails.js +20 -13
  1622. package/dist/esm/Components/VariantSelector/VariantSelector.js +118 -0
  1623. package/dist/esm/Components/VariantSelector/VariantSelectorProps.js +1 -0
  1624. package/dist/esm/Components/VariantSelector/variantSelection.js +19 -0
  1625. package/dist/esm/Components/VisuallyHidden/VisuallyHidden.js +18 -0
  1626. package/dist/esm/Components/VisuallyHidden/VisuallyHiddenProps.js +1 -0
  1627. package/dist/esm/Components/WishlistToggle/WishlistToggle.js +64 -0
  1628. package/dist/esm/Components/WishlistToggle/WishlistToggleProps.js +1 -0
  1629. package/dist/esm/Components/WizardDialog/WizardDialog.js +75 -0
  1630. package/dist/esm/Components/WizardDialog/WizardDialogProps.js +1 -0
  1631. package/dist/esm/Components/WizardDialog/useWizardFlow.js +44 -0
  1632. package/dist/esm/Components/WizardDialog/wizardSteps.js +35 -0
  1633. package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +18 -15
  1634. package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +42 -38
  1635. package/dist/esm/Constants/Sidebar.js +3 -18
  1636. package/dist/esm/Hooks/exclusiveOverlay.js +16 -0
  1637. package/dist/esm/Hooks/sharedResizeObserver.js +73 -0
  1638. package/dist/esm/Hooks/useDebounce.js +29 -0
  1639. package/dist/esm/Hooks/useExclusiveOverlay.js +17 -0
  1640. package/dist/esm/Hooks/useFullscreen.js +29 -0
  1641. package/dist/esm/Hooks/useIsTruncated.js +4 -34
  1642. package/dist/esm/Hooks/useMatchMedia.js +32 -0
  1643. package/dist/esm/Hooks/useOutsideMouseDown.js +26 -0
  1644. package/dist/esm/Hooks/usePreferences.js +30 -17
  1645. package/dist/esm/Hooks/useScrollableRegion.js +33 -0
  1646. package/dist/esm/Hooks/useSidebarPrefs.js +1 -2
  1647. package/dist/esm/Theme/assertPalette.js +4 -3
  1648. package/dist/esm/Theme/chakra/Card.styles.js +48 -0
  1649. package/dist/esm/Theme/chakra/Drawer.styles.js +14 -13
  1650. package/dist/esm/Theme/chakra/Menu.styles.js +30 -25
  1651. package/dist/esm/Theme/chakra/Modal.styles.js +15 -13
  1652. package/dist/esm/Theme/chakra/Popover.styles.js +4 -10
  1653. package/dist/esm/Theme/chakra/Slider.styles.js +1 -6
  1654. package/dist/esm/Theme/chakra/common.web.js +1 -7
  1655. package/dist/esm/Theme/chakra/componentStyles.js +94 -103
  1656. package/dist/esm/Theme/chakra/createBrandTheme.js +56 -57
  1657. package/dist/esm/Theme/chakra/focusRing.styles.js +37 -0
  1658. package/dist/esm/Theme/chakra/fonts.web.js +1 -5
  1659. package/dist/esm/Theme/chakra/motion.js +34 -0
  1660. package/dist/esm/Theme/chakra/overlay.styles.js +46 -0
  1661. package/dist/esm/Theme/chakra/paletteFromTheme.js +16 -6
  1662. package/dist/esm/Theme/chakra/ringShadow.js +3 -0
  1663. package/dist/esm/Theme/index.js +14 -26
  1664. package/dist/esm/Theme/provider/PixelizeThemeProvider.js +28 -87
  1665. package/dist/esm/Theme/provider/ThemeSwitcher.js +20 -20
  1666. package/dist/esm/Theme/provider/colorModeStorage.js +1 -4
  1667. package/dist/esm/Theme/tokens/brands/emerald/palette.dark.js +2 -5
  1668. package/dist/esm/Theme/tokens/brands/emerald/palette.light.js +2 -10
  1669. package/dist/esm/Theme/tokens/brands/index.js +38 -14
  1670. package/dist/esm/Theme/tokens/brands/lavender/palette.dark.js +2 -5
  1671. package/dist/esm/Theme/tokens/brands/lavender/palette.light.js +4 -13
  1672. package/dist/esm/Theme/tokens/brands/meadow/palette.dark.js +2 -5
  1673. package/dist/esm/Theme/tokens/brands/meadow/palette.light.js +2 -11
  1674. package/dist/esm/Theme/tokens/brands/radiant/palette.dark.js +2 -5
  1675. package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +17 -10
  1676. package/dist/esm/Theme/tokens/brands/rosewood/palette.dark.js +2 -5
  1677. package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +12 -24
  1678. package/dist/esm/Theme/tokens/brands/skyline/palette.dark.js +2 -5
  1679. package/dist/esm/Theme/tokens/brands/skyline/palette.light.js +2 -11
  1680. package/dist/esm/Theme/tokens/brands/slate/palette.dark.js +2 -5
  1681. package/dist/esm/Theme/tokens/brands/slate/palette.light.js +1 -11
  1682. package/dist/esm/Theme/tokens/brands/storefront/palette.dark.js +2 -5
  1683. package/dist/esm/Theme/tokens/brands/zinc/palette.dark.js +30 -88
  1684. package/dist/esm/Theme/tokens/brands/zinc/palette.light.js +3 -12
  1685. package/dist/esm/Theme/tokens/builders/accentText.js +10 -48
  1686. package/dist/esm/Theme/tokens/builders/brandInk.js +18 -2
  1687. package/dist/esm/Theme/tokens/builders/buildBrandTokens.js +1 -3
  1688. package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +53 -105
  1689. package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +1 -8
  1690. package/dist/esm/Theme/tokens/builders/color.js +13 -26
  1691. package/dist/esm/Theme/tokens/builders/filledSurface.js +91 -0
  1692. package/dist/esm/Theme/tokens/builders/focusRing.js +44 -0
  1693. package/dist/esm/Theme/tokens/builders/gradientInk.js +2 -10
  1694. package/dist/esm/Theme/tokens/builders/index.js +6 -0
  1695. package/dist/esm/Theme/tokens/builders/lazy.js +49 -0
  1696. package/dist/esm/Theme/tokens/builders/memo.js +21 -0
  1697. package/dist/esm/Theme/tokens/builders/memoByReads.js +46 -0
  1698. package/dist/esm/Theme/tokens/builders/mutedText.js +12 -2
  1699. package/dist/esm/Theme/tokens/builders/outlineRung.js +39 -59
  1700. package/dist/esm/Theme/tokens/builders/paletteScale.js +6 -0
  1701. package/dist/esm/Theme/tokens/builders/placeholderInk.js +2 -12
  1702. package/dist/esm/Theme/tokens/builders/planeStep.js +14 -0
  1703. package/dist/esm/Theme/tokens/builders/planes.js +28 -0
  1704. package/dist/esm/Theme/tokens/builders/rechartsTheme.js +37 -0
  1705. package/dist/esm/Theme/tokens/builders/resolvedRungs.js +1 -5
  1706. package/dist/esm/Theme/tokens/builders/rowStates.js +22 -0
  1707. package/dist/esm/Theme/tokens/builders/scrim.js +12 -0
  1708. package/dist/esm/Theme/tokens/builders/scrollShadow.js +28 -0
  1709. package/dist/esm/Theme/tokens/builders/scrollbar.js +1 -4
  1710. package/dist/esm/Theme/tokens/builders/semanticText.js +1 -5
  1711. package/dist/esm/Theme/tokens/builders/sidebarAccent.js +16 -3
  1712. package/dist/esm/Theme/tokens/builders/skeletonShimmer.js +21 -0
  1713. package/dist/esm/Theme/tokens/builders/star.js +4 -0
  1714. package/dist/esm/Theme/tokens/builders/statusTone.js +4 -19
  1715. package/dist/esm/Theme/tokens/builders/surfaceRaised.js +24 -0
  1716. package/dist/esm/Theme/tokens/builders/surfaceRungs.js +6 -10
  1717. package/dist/esm/Theme/tokens/builders/tone.js +48 -0
  1718. package/dist/esm/Theme/tokens/builders/tooltipSurface.js +6 -0
  1719. package/dist/esm/Theme/tokens/builders/viewportHeight.js +6 -0
  1720. package/dist/esm/Theme/tokens/index.js +1 -10
  1721. package/dist/esm/Theme/tokens/primitives/borderWidths.js +2 -0
  1722. package/dist/esm/Theme/tokens/primitives/controlSizes.js +16 -0
  1723. package/dist/esm/Theme/tokens/primitives/index.js +7 -3
  1724. package/dist/esm/Theme/tokens/primitives/motion.js +25 -0
  1725. package/dist/esm/Theme/tokens/primitives/optionRowSizes.js +26 -0
  1726. package/dist/esm/Theme/tokens/primitives/radii.js +13 -0
  1727. package/dist/esm/Theme/tokens/primitives/shadows.js +56 -5
  1728. package/dist/esm/Theme/tokens/primitives/sizes.js +1 -4
  1729. package/dist/esm/Theme/tokens/primitives/states.js +1 -0
  1730. package/dist/esm/Theme/tokens/primitives/typography.js +22 -8
  1731. package/dist/esm/Theme/tokens/primitives/zIndices.js +1 -0
  1732. package/dist/esm/Theme/tokens/types.js +1 -6
  1733. package/dist/esm/Theme/useChartTheme.js +8 -0
  1734. package/dist/esm/Utils/accountHandoff.js +2 -17
  1735. package/dist/esm/Utils/apiError.js +24 -0
  1736. package/dist/esm/Utils/formatDate.js +138 -0
  1737. package/dist/esm/Utils/functions.js +6 -4
  1738. package/dist/esm/Utils/humanize.js +15 -0
  1739. package/dist/esm/Utils/lazyWithRetry.js +45 -0
  1740. package/dist/esm/Utils/mergeRefs.js +1 -5
  1741. package/dist/esm/Utils/planBadge.js +2 -12
  1742. package/dist/esm/Utils/planExpiry.js +4 -29
  1743. package/dist/esm/Utils/price.js +32 -0
  1744. package/dist/esm/Utils/rafThrottle.js +1 -11
  1745. package/dist/esm/Utils/table.js +61 -55
  1746. package/dist/esm/Utils/tabular.js +56 -0
  1747. package/dist/esm/Utils/validation.js +73 -0
  1748. package/dist/esm/index.js +166 -20
  1749. package/dist/global.css +6 -1
  1750. package/dist/index.d.ts +315 -13
  1751. package/dist/index.js +441 -22
  1752. package/package.json +26 -6
  1753. package/dist/Assets/defaultLogo.tsx +0 -26
  1754. package/dist/Components/Buttons/Buttons.d.ts +0 -3
  1755. package/dist/Components/Buttons/Buttons.js +0 -7
  1756. package/dist/Components/Buttons/ButtonsProps.d.ts +0 -6
  1757. package/dist/Components/Common/ErrorComponent.d.ts +0 -5
  1758. package/dist/Components/Common/ErrorComponent.js +0 -14
  1759. package/dist/Components/Common/FormattedDescription.d.ts +0 -5
  1760. package/dist/Components/Common/FormattedDescription.js +0 -61
  1761. package/dist/Components/Common/Label.d.ts +0 -8
  1762. package/dist/Components/Common/Label.js +0 -10
  1763. package/dist/Components/Input/Input/Input.d.ts +0 -4
  1764. package/dist/Components/Input/Input/Input.js +0 -74
  1765. package/dist/Components/Input/Input/InputProps.d.ts +0 -19
  1766. package/dist/Components/PinInputs/PinInputs.d.ts +0 -3
  1767. package/dist/Components/PinInputs/PinInputs.js +0 -46
  1768. package/dist/Components/PinInputs/PinInputsProps.d.ts +0 -9
  1769. package/dist/Components/ProductCard/ProductLabel.d.ts +0 -7
  1770. package/dist/Components/ProductCard/ProductLabel.js +0 -20
  1771. package/dist/Components/ProductCard/ProductPrice.d.ts +0 -10
  1772. package/dist/Components/ProductCard/ProductPrice.js +0 -115
  1773. package/dist/Components/ProductCard/ProductReview.d.ts +0 -7
  1774. package/dist/Components/ProductCard/ProductReview.js +0 -24
  1775. package/dist/Components/ProductCard/ProductTags.d.ts +0 -8
  1776. package/dist/Components/ProductCard/ProductTags.js +0 -53
  1777. package/dist/Components/ProductDetails/ProductDtlPrice.d.ts +0 -7
  1778. package/dist/Components/ProductDetails/ProductDtlPrice.js +0 -24
  1779. package/dist/Components/ProductDetails/ProductImageSlider.d.ts +0 -11
  1780. package/dist/Components/ProductDetails/ProductImageSlider.js +0 -224
  1781. package/dist/Components/Table/hooks/useDebounce.d.ts +0 -2
  1782. package/dist/Components/Table/hooks/useDebounce.js +0 -24
  1783. package/dist/Components/Trail/EditableCell.d.ts +0 -11
  1784. package/dist/Components/Trail/EditableCell.js +0 -34
  1785. package/dist/Components/Trail/SelectAllCheckbox.d.ts +0 -8
  1786. package/dist/Components/Trail/SelectAllCheckbox.js +0 -9
  1787. package/dist/Components/Trail/TrailWorks.d.ts +0 -2
  1788. package/dist/Components/Trail/TrailWorks.js +0 -56
  1789. package/dist/Components/Trail/data.d.ts +0 -15
  1790. package/dist/Components/Trail/data.js +0 -29
  1791. package/dist/Theme/chakra/Avatar.styles.d.ts +0 -32
  1792. package/dist/Theme/chakra/Avatar.styles.js +0 -28
  1793. package/dist/Theme/chakra/Switch.styles.d.ts +0 -30
  1794. package/dist/Theme/chakra/Switch.styles.js +0 -22
  1795. package/dist/Theme/chakra/Tabs.styles.d.ts +0 -42
  1796. package/dist/Theme/chakra/Tabs.styles.js +0 -36
  1797. package/dist/esm/Components/Buttons/Buttons.js +0 -5
  1798. package/dist/esm/Components/Common/ErrorComponent.js +0 -12
  1799. package/dist/esm/Components/Common/FormattedDescription.js +0 -59
  1800. package/dist/esm/Components/Common/Label.js +0 -8
  1801. package/dist/esm/Components/Input/Input/Input.js +0 -36
  1802. package/dist/esm/Components/PinInputs/PinInputs.js +0 -41
  1803. package/dist/esm/Components/ProductCard/ProductLabel.js +0 -18
  1804. package/dist/esm/Components/ProductCard/ProductPrice.js +0 -110
  1805. package/dist/esm/Components/ProductCard/ProductReview.js +0 -22
  1806. package/dist/esm/Components/ProductCard/ProductTags.js +0 -48
  1807. package/dist/esm/Components/ProductDetails/ProductDtlPrice.js +0 -22
  1808. package/dist/esm/Components/ProductDetails/ProductImageSlider.js +0 -188
  1809. package/dist/esm/Components/Table/hooks/useDebounce.js +0 -22
  1810. package/dist/esm/Components/Trail/EditableCell.js +0 -30
  1811. package/dist/esm/Components/Trail/SelectAllCheckbox.js +0 -5
  1812. package/dist/esm/Components/Trail/TrailWorks.js +0 -54
  1813. package/dist/esm/Components/Trail/data.js +0 -26
  1814. package/dist/esm/Theme/chakra/Avatar.styles.js +0 -25
  1815. package/dist/esm/Theme/chakra/Switch.styles.js +0 -19
  1816. package/dist/esm/Theme/chakra/Tabs.styles.js +0 -33
  1817. package/dist/esm/services/feedback.js +0 -15
  1818. package/dist/services/feedback.d.ts +0 -12
  1819. package/dist/services/feedback.js +0 -18
  1820. /package/dist/Components/{Buttons/ButtonsProps.js → AddressCard/AddressCardProps.js} +0 -0
  1821. /package/dist/Components/{Input/Input/InputProps.js → AudioRecorder/AudioRecorderProps.js} +0 -0
  1822. /package/dist/Components/{PinInputs/PinInputsProps.js → Avatar/AvatarGroupProps.js} +0 -0
  1823. /package/dist/esm/Components/{Buttons/ButtonsProps.js → AddressCard/AddressCardProps.js} +0 -0
  1824. /package/dist/esm/Components/{Input/Input/InputProps.js → AudioRecorder/AudioRecorderProps.js} +0 -0
  1825. /package/dist/esm/Components/{PinInputs/PinInputsProps.js → Avatar/AvatarGroupProps.js} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,1439 @@
1
+ # Changelog
2
+
3
+ All notable changes to `pixelize-design-library`.
4
+
5
+ Versions follow semver and every release ships on the `latest` dist-tag, from `develop`. There are no
6
+ prereleases from 3.0.0 onward; earlier `2.4.2-beta.N` entries below are history.
7
+
8
+ Found a bug or a gap? Report it as a GitHub issue and track it to closure — see
9
+ [COMPONENT-GOTCHAS.md](COMPONENT-GOTCHAS.md#found-a-gap-or-a-bug-report-it-then-track-it). A fix's
10
+ line below names its issue number.
11
+
12
+ ## [Unreleased]
13
+
14
+ Nothing yet.
15
+
16
+ ## [3.0.0] — 2026-10-21
17
+
18
+ The theme-tokens/dark-mode line, shipped as the `2.4.2-beta.N` prereleases (betas carry no per-version headings) and
19
+ now the first stable release since 2.3.x. `3.0.0` is the code of `2.4.2-beta.69`. It is a major because the
20
+ breaking items under "Breaking in 3.0.0" land together: read them before upgrading from 2.3.x, and run `tsc --noEmit`
21
+ in the consumer, which names every affected call site. Consumers pinned to a beta move by changing the pin to `3.0.0`.
22
+
23
+ ### Added
24
+
25
+ - **`Select` Playground gains `native` and `variant` controls.** The `/select` demo page can now switch between native and popup
26
+ mode and between the four native variants, and its native examples keep the option you pick.
27
+
28
+ - **Development warning for an unthemed `colorScheme`.** `Tag` (dot), `RadioButton` and every style that resolves a scale
29
+ by name now log one `console.warn` per unknown name outside production, then fall back exactly as before (gray, or
30
+ primary for `RadioButton`). Nothing throws and production is silent.
31
+ - **Six prop types reach the package root.** `CopyButtonProps`, `FilterSidebarProps`, `LazyWrapperProps`,
32
+ `ScrollToTopProps`, `FieldSelectModalProps` and `ThemedSwitchProps` (the props of `InputSwitch`) were declared beside
33
+ their exported components but not re-exported. Type-only, additive.
34
+ - **`Tag` `removeLabel` and `TagInput` `labels.remove`.** Name the chip remove button in your own language: `removeLabel`
35
+ takes a string or a function of the label, `labels.remove` a function of the tag. Both default to `Remove <label>`, so
36
+ existing output is unchanged.
37
+ - **`TextInput` `onRightIconClick`**: the correctly spelt name for the right-icon button handler. It wins when both
38
+ names are set; omitted, the output is exactly as before.
39
+ - **`TimePicker` `onClear`**: makes the "--" option pickable once a time is set; choosing it in any select calls `onClear`
40
+ instead of `onChange` (which still only emits a `Date`). Omitted, the output is exactly as before.
41
+ - **`Slider` `showPauseControl`** (default off) adds a play/pause button for the auto-advance (WCAG 2.2.2). It shows only
42
+ while the timer can run (`interval` > 0, two or more slides, no reduced motion). Omitted, the output is exactly as before.
43
+ - **`formatRelativeTime` takes `{ labels, locale }`.** `labels` ({`justNow`, `minutesAgo(n)`, `hoursAgo(n)`, `daysAgo(n)`})
44
+ replaces the English wording and `locale` sets the short date shown past a week (default `en-US`). Omitted, the output is
45
+ exactly as before.
46
+ - **`Tag` and `IconButton` accept any typed `data-*` prop.** The type moved from `Button` to `Common/dataAttributes.ts`; `Tag`
47
+ now puts every `data-*` prop on its root (chip and dot), not only `data-testid`. Omitted, the output is exactly as before.
48
+ - **`ChoiceCardGroup` `columns` and `gap`; `ChoiceCard` `isDisabled`.** `columns` (default `1`, today's column) lays the
49
+ cards out in an equal-width grid, `gap` sets the space between them, and `isDisabled` is an alias of `disabled`
50
+ (either disables the card and skips it for the tab stop). Omitted, the output is exactly as before.
51
+ - **`VerifyEmailOtp` `subtitle` and `labels`**: `subtitle` replaces the hardcoded second line "your new Pixel Account"
52
+ (`""` drops it); `labels` ({`verificationCode`, `digit(index, total)`, `didntReceive`, `resend`}) replaces the English
53
+ UI text. Both optional; omitted, the text is exactly as before.
54
+ - **`WorkspaceTrayPreview` render-prop children**: `{({ triggerProps }) => <button {...triggerProps} />}` hands the one
55
+ focusable trigger `aria-expanded`, plus `aria-controls` and `aria-describedby` pointing at the card while it is open.
56
+ Plain `ReactNode` children work as before and get no ARIA (a bare wrapper `div` cannot hold `aria-expanded`).
57
+ - **`Select` (`native={false}`) gains nine additive props, all default-off.** Search: `searchFields`
58
+ (`["label","description"]` makes the description searchable) and `filterOption(option, query)` (replaces the
59
+ substring match). Multi: `isSelectAll` (Select All / Unselect All row over the rows the filter shows, skipping
60
+ disabled ones), `chipMaxLength`, `isChipRemovable`. Trigger: `rightIcon` (static, or a labelled button via
61
+ `onClick` + `ariaLabel`) and `isFieldLoading` (spinner in the trailing slot, `aria-busy`). Create: `createWhen`
62
+ (`"no-exact-match"` offers Create beside partial matches) and `footerAction` (a persistent last row that calls
63
+ `onSelect(query)` and closes). The Select All, Create and footer rows are keyboard stops.
64
+ - **`TagInput` `labels`**: translate the rejection messages (`maxTags`, `duplicate`, `invalid`) and the live-region announcements
65
+ (`added`, `removed`); omitted keys keep today's English text. The chips' `Remove <tag>` buttons are named by `Tag` and stay English.
66
+
67
+ - **`FilteredEmptyState`, and `QueryStateBoundary` `isFiltered` / `filteredEmpty`.** The "nothing matches your filters" panel:
68
+ `filterCount`, `onClearFilters`, `onRemoveLastFilter` (+ `removeLastFilterLabel`, `clearLabel`), `scale` `"page" | "card"`,
69
+ `title`, `description`. On the boundary, `isEmpty` + `isFiltered` shows it instead of `empty`/`emptyFallback`; omitted, the
70
+ boundary is unchanged.
71
+
72
+ - **`ConfirmDialog` consequences.** `entityName` / `entityKind` (default title `Delete leave type "Sabbatical"?`), `dependents`,
73
+ `consequence` (defaults to "This cannot be undone." with `entityName`), `alternative` (`label`, `description`, `onSelect`,
74
+ `isLoading`; Confirm turns outline, focus still opens on Cancel) and `isConfirmDisabled`. `iconBg` / `iconColor` are now
75
+ optional and derive a soft tint from `tone`; `title` is optional when `entityName` is set. Existing call sites render as before.
76
+
77
+ - **`PIXELIZE_SUITE`, `resolveSuiteApps` and `buildSuiteApps` `devFallbackBaseUrl`.** One catalogue of the six suite apps with
78
+ per-app `preRelease` and `overrides`; `devFallbackBaseUrl` lets a plain-`localhost` host derive the other apps from a labelled
79
+ dev URL instead of throwing (the throw stays the default).
80
+
81
+ - **`RangeDatePicker` `presets`**: `{ label, range: { from, to } }[]` replaces the five built-in shortcuts; `[]` hides the row.
82
+ Omitted, the list is unchanged.
83
+
84
+ - **`WorkspaceTray` is usable over an open modal.** It is portalled above the modal layer, labelled as a live region
85
+ (so Chakra's modal aria-hidden skips it) and outside the focus trap, so a window minimised over a wizard can be
86
+ restored by pointer without closing the wizard; Tab does not reach the tray until the modal closes. New props:
87
+ `placement` (`"bottom-end"` | `"bottom-start"`), `offset`,
88
+ `closeLabel(item)`, `dirtyLabel`, `label`; `WorkspaceTrayItem` gains `isDirty` (unsaved dot) and `subtitle`.
89
+ `WorkspaceWindow` gains `labels` ({minimize, close, openFullPage}) and `finalFocusRef`.
90
+ The tray now renders in a portal, so a test that queries inside its render container must query `document.body`.
91
+ - **`WorkspaceTray` `renderItem` receives the built-in pill** as a third argument, `renderItem(item, api, pill)`: the pill
92
+ already carries the unsaved dot, subtitle and close button, so a consumer can return it or wrap it (in
93
+ `WorkspaceTrayPreview` for a hover preview, say) instead of rebuilding it. Two-argument callbacks and the default
94
+ pill are unchanged.
95
+ - **`FormDrawer` `isSubmitDisabled`**: disables the primary button and makes the form ignore Enter and any other submit,
96
+ so `onSubmit` never fires, not even from `requestSubmit()` or a dispatched submit event (the drawer is a real
97
+ `<form>`; the button alone does not guard those). Unlike `isSubmitting` it shows no spinner, and Cancel and every
98
+ close path stay live. Omitted, nothing changes.
99
+ - **`WizardDialog` `chrome="inline"`** (default `"modal"`): draws the wizard (title, stepper, step, review, footer) in place
100
+ with no Modal, for a host that is already the dialog, such as a `WorkspaceWindow`: no overlay, focus trap, close X,
101
+ Esc-to-close or `role="dialog"`. It renders nothing while `isOpen` is false, ignores `size`, and Cancel still calls
102
+ `onClose`. It reuses the same flow as the modal (`useWizardFlow`, `validate`, `finishDisabled`, `finishBlockedReason`,
103
+ `stepId`); test ids are `wizard-inline` / `${data-testid}-inline`. `Wizard` does not take the prop.
104
+ - **`optionRowFill(rows, isActive)`** and **`optionRowCursorSx(rows)`** are exported from the package root: the one
105
+ fill an option row paints (the cursor's), and its `:hover`/`:focus` form for roving-focus lists.
106
+ - **`accentTextOnPlanes(scale, planes)`** is exported from the package root: the first accent rung clearing AA on every
107
+ plane in the list, for chrome that can land on the canvas, a card or an overlay.
108
+ - **`ruleOn(colors, plane)`** and **`MOTION_PRESS_SCALE`** are exported from the package root. `ruleOn` draws a divider at the
109
+ in-card weight on any plane (`cardRule` is `ruleOn` on `background[50]`); the press scale was only reachable by deep import.
110
+ - **`Card variant="elevated"`**: borderless, `background[50]` lifted by `shadows.card`; declares a 0 border width so it
111
+ never inherits an outline parent's rule.
112
+ - **`bandOn`, `recessOn`, `cardRule`**: plane-step helpers that return the input unchanged in light and a visible step
113
+ off the dark plane a fill or rule sits on (`raisedRule` now matches `cardRule`'s weight).
114
+ - **`buildDarkPalette`** takes an optional `{ planes: "lifted" | "flat" }` and `buildSurfaceRaised` an optional list of
115
+ filled marks to keep at 3:1.
116
+ - **`formatDate` / `formatDateTime` / `formatDateRange`**: Intl-based date text, en-IN by default ("09 Oct 2026"),
117
+ with `locale`, `timeZone`, `year: "never"`, `time: "12h" | "24h"` and a `fallback` (default "—") for null or
118
+ invalid input instead of "Invalid Date". A bare `YYYY-MM-DD` is that calendar day in every zone; ranges write a
119
+ shared month and year once. Output is the same across browser and Node ICU versions (no "Sept", no thin or
120
+ narrow spaces).
121
+ - **`TimePicker`**: inline hour, minute and AM/PM selects as a field (label, required, error, helper), with
122
+ `use24Hour`, `minuteStep`, `baseDate` and `name`. Same look as DatePicker's time selects. `TimePickerProps` now
123
+ describes this component; the old `date`, `dateFormat` and `disabled` fields still type-check as deprecated
124
+ aliases.
125
+ - **`TagInput`**: free-text chips. Enter or comma adds, Backspace removes the last, a pasted list splits on commas
126
+ and new lines; optional `validate`, `maxTags` and `allowDuplicates`. Same look as `MultiSelect`, without its
127
+ email lock.
128
+ - **`IconButton`** is now owned: it renders exactly what the Chakra `IconButton` rendered (same props, theme,
129
+ sizes `xs 24 · sm 32 · md 40 · lg 48 · xl 56`, `isLoading` keeps the box) and, in development, warns once per
130
+ mount when it has neither `aria-label` nor `aria-labelledby`. `aria-label` is optional in its type.
131
+ - **`FormField`**: label, required asterisk, helper text and error message around any one control. A single
132
+ child element receives `id`, `aria-labelledby`, `aria-describedby`, `aria-invalid` and `aria-required`, or pass
133
+ a function that places them on a composite. `TextInput` inside inherits the error and required state.
134
+ `layout="horizontal"` puts the label in a `labelWidth` column (default 12rem) from `md` up. Root attributes
135
+ and `ref` land on the root `div`.
136
+ - **`VisuallyHidden`**: text for screen readers only, pinned to the viewport so a hidden live region can never
137
+ extend a scrolled page. It takes `as`, `ref`, every attribute and style prop.
138
+ - **`SkipLink`**: a "Skip to main content" link that paints nothing until keyboard focus, then shows top-left on
139
+ the `skipLink` layer. Activating it focuses `#targetId` (default `main-content`) without changing the URL hash.
140
+ - **`Pagination`**: standalone, controlled page navigation. Numbered pages collapse behind ellipses (first
141
+ and last always show, `siblingCount` defaults to 1), with previous and next buttons and an optional
142
+ rows-per-page picker (`pageSizeOptions` + `pageSize` + `onPageSizeChange`). `page` is 1-based; the count
143
+ comes from `pageCount` or from `totalItems` + `pageSize`. `size` follows the Button scale, `isDisabled`
144
+ disables the pager, `labels` overrides the names. It renders a named `nav` of real buttons and the
145
+ current page carries `aria-current="page"`. `Table` keeps its own pager unchanged.
146
+ - **`ChoiceCard` / `ChoiceCardGroup`**: radio cards for picking one of a few options that each need a line of
147
+ explanation. Group: `value` / `defaultValue` / `onValueChange`; card: `label`, `description`, `icon`,
148
+ `disabled`. One tab stop; arrows, Home and End move focus and selection. Same look as `PaymentOption`.
149
+ `Pagination` and `ChoiceCard`: reviewed on screen by the owner 2026-10-15, take as-is.
150
+ - **Plain HTML attributes on the page primitives**: `PageHeader`, `StatCard`, `SaveBar`, `EmptyState`,
151
+ `DescriptionList`, `FilterBar` and `Skeletons` pass `id`, `className`, `style`, `data-*`, `aria-*` and
152
+ event handlers to their root element; the component's own props still win and Chakra style props are
153
+ still not accepted.
154
+ - **`ref` forwarding**: `Checkbox`, `RadioButton`, `ToggleSwitch` and `DatePicker` (single, range and time,
155
+ including the deep-imported `SingleDatePicker` / `RangeDatePicker` / `TimeOnlyPicker`) forward to their
156
+ native `<input>`; `SegmentedControl` to its `role="radiogroup"` root; `Tab` to its `role="tab"` button;
157
+ `Avatar` and `Tag` to their root element.
158
+ - **`PinInput` `error`, `errorMessage`, `helperText` and `isDisabled`**: the message renders under the
159
+ cells and every digit gets `aria-invalid` / `aria-describedby`.
160
+ - **`WizardDialog` / `Wizard` `finishDisabled` and `finishBlockedReason`**: disable Finish on the last
161
+ step (a pending upload, say) and show why beside it; the reason is Finish's `aria-describedby`.
162
+ Back and the stepper keep working; nothing changes when they are not passed.
163
+ - **`CircularProgress` `size` takes a px number** (clamped to 24..160) as well as `sm | md | lg`; stroke
164
+ and label scale with it (`CircularProgressDiameter` type). The presets render exactly as before.
165
+ - **Token foundation** (web premium/perf campaign; nothing changes on screen until you use them):
166
+ `RADIUS_ROLE` (radius by surface role), `BORDER_WIDTHS` (px hairline), `DISABLED_OPACITY` (0.5),
167
+ `NUMERIC_TEXT` (tabular figures), `zIndices.popoverNested` (1510), `fontSizes["xs-minus"]` (11px) and
168
+ `fontSizes["xs-plus"]` (13px), and `TEXT_STYLES` bound as Chakra `textStyles` (`title`, `heading`,
169
+ `subheading`, `body`, `ui`, `label`, `caption`, `overline`). Motion: `MOTION_MS.enter` / `.exit`
170
+ (200ms), `MOTION_BEZIER`, `MOTION_EASE_OUT`, `MOTION_EASE_IN`, `MOTION_LOOP_MS`, `motionTransition()`;
171
+ `transitionFor` takes an optional curve. `shadowsFor(mode)` returns the shadow ramp a theme carries.
172
+ Opt-in `reducedMotion="global"` on `PixelizeThemeProvider` and `createBrandTheme` adds one
173
+ document-wide `prefers-reduced-motion` rule; `pz-motion-keep` (`MOTION_KEEP_CLASS`) opts an element out.
174
+ The default is unchanged. `CustomThemeProps` gains `zIndices.popoverNested` and the two font sizes, so
175
+ code that hand-builds a full `CustomThemeProps` needs those keys.
176
+ - **`LauncherSearchEngine.matches` and `.createMatcher`**: the boolean form of the engine for table and list filters.
177
+ `matches(query, ...texts)` is true when every query word hits some text (same folding, typo tolerance and `synonyms`
178
+ option as `search`, no ranking); `createMatcher(query)` compiles the query once for a loop over rows, and an empty query
179
+ matches every row. `LauncherMatcher` is exported as a type.
180
+ - **`LauncherSearchEngine` searches Hindi and Tamil by written letter**: Latin accents, the Devanagari nukta and
181
+ zero-width joiners are ignored, chandrabindu folds into anusvara, and every other combining mark stays part of its
182
+ letter, so a bare vowel sign never matches ("का" does not find "कमाई"). Typo length and distance count letters
183
+ ("कम्मचारी" finds "कर्मचारी"), and a Tamil word ending in ம் also finds titles that drop it ("நேரம்" finds "நேர அட்டவணை").
184
+ `editDistance` accepts arrays of letters. Latin results are unchanged. `engine/conformance.fixture.json` is the
185
+ behaviour contract shared with HRMS mobile search, asserted by `engine/conformance.test.ts`.
186
+ - **`NavLauncher` spotlight search** (all additive; an app passing none of these renders as before):
187
+ - `searchMode="spotlight"` ranks every row by relevance (exact > prefix > word > word-prefix >
188
+ initialism > substring > typo > subsequence, label > keyword > context), tolerates typos
189
+ (Damerau-Levenshtein 1 from 4 letters, 2 from 8), folds case and accents, expands `synonyms`
190
+ both ways, boosts `pinnedIds` / `frequentIds` / `recentIds`, and shows the best row first as a
191
+ **Top hit** card naming the keyword or fact that matched. Groups collapse to `groupLimit` rows
192
+ (default 5 in spotlight, unlimited in classic) behind a "Show N more" option.
193
+ - `scopes` + `activeScope` / `onScopeChange`: filter chips in the header row beside the field
194
+ (their own row below `md`), always shown so they say what can be searched; while typing each
195
+ chip shows its live match count and is named "People, 3 results". One Tab stop (radiogroup,
196
+ roving tabindex, arrows / Home / End); the strip scrolls sideways behind an edge fade with a
197
+ mouse page arrow and keeps the selected chip in view, so the field never drops below 15rem (or a
198
+ third of a wide row). "All" is prepended, `screens`
199
+ and `actions` are built in and `LauncherResultGroup.scope` (default its `id`) places any other
200
+ group. A chip other than All / Screens picked with an empty field lists that scope's items as
201
+ passed, with the facts pane; `LauncherScope.placeholder` narrows the field's placeholder.
202
+ - `quickActions`: up to 5 pill buttons at the top of the menu while the query is empty and the
203
+ scope is All.
204
+ - `LauncherSearchItem.facts` (`{ label, value, copyable? }`): a right preview pane at `lg`+ for the
205
+ highlighted row with Copy buttons (blocked clipboard selects the value instead), docked under the
206
+ list below `lg`. `answers` (items with `answer: { label, value, hint? }`) render as direct-answer
207
+ cards above every result; Enter copies an answer that has no `run` / `href`.
208
+ - `LauncherResultGroup.matchLocally`: the launcher filters and ranks a static group itself.
209
+ - `LauncherSearchEngine` — the framework-free engine behind it (`createIndex`, `search`,
210
+ `searchDocuments`, `highlightRanges`, `usageBoosts`, `foldText`, `tokenize`, `editDistance`; options
211
+ `synonyms`, `boosts`, `fuzzy`, `relativeCutoff`, `limit`) for any other list or palette; `highlightSegments` now exported, with an opt-in `{ fuzzy, synonyms }`.
212
+ - New optional `LauncherLabels` keys: `topHit`, `matchedOn`, `answers`, `hintCopy`, `scopes`,
213
+ `scopeAll`, `scopeChanged`, `scopeCount`, `scopeEmpty`, `quickActions`, `showMore`, `preview`,
214
+ `copy`, `copied`, `copySelected`.
215
+ - The dialog is now always named `labels.title`; the search value and `headerActions` no longer
216
+ join its accessible name.
217
+ - Types `LauncherFact`, `LauncherAnswer`, `LauncherScope`, `LauncherSearchMode`, `HighlightOptions`,
218
+ `LauncherSearch*` / `LauncherSynonyms` / `LauncherMatchKind` / `LauncherTokenMatch`.
219
+ - `CopyButton` `onCopyError` — fires when the clipboard is missing or denied, instead of failing silently.
220
+ - `Drawer` `aria-label` / `aria-labelledby` — name the dialog instead of its whole header (a header
221
+ holding a field or buttons otherwise becomes the name); `contentProps["aria-labelledby"]` never
222
+ worked.
223
+ - **HRMS library requests** — a navigation launcher, key caps, a merge-field `Editor`, a wizard and
224
+ smaller gaps found by the HRMS migration:
225
+ - `NavLauncher` — full-height navigation launcher (browse modules, pins, Frequent, Recent, search
226
+ with actions and remote groups, optional suite-apps section below `md`), with `PinToggle`,
227
+ `NewTabLink`, `searchLauncher`, `searchLauncherSections` (sectioned search: modules, then their
228
+ screens, keyword-only hits get a `· keyword` hint) and `flattenScreens`. The pin control is a
229
+ star, shown with the ↗ link on row hover/focus only (always on touch); pinned rail items are tiles. It never opens itself or binds a global chord (Cmd/Ctrl+K and `/` only refocus its field while it is open). `LauncherTrigger`
230
+ is the chip (10px radius, 36px, accent ink, one ⌘K hint) that opens an app-owned launcher (`aria-haspopup="dialog"`, `aria-expanded`,
231
+ `aria-keyshortcuts`); `display="icon"` is a 36px icon-only variant for a nav bar's `moreIcon`
232
+ (label is the accessible name, tooltip "Menu (⌘K)"). Types: `NavLauncherProps`, `LauncherScreen`, `LauncherModule`,
233
+ `LauncherSection`, `LauncherSearchItem`, `LauncherLabels` and friends, `LauncherTriggerProps`.
234
+ `NavLauncher` follows canvas `Launcher.dc.html`: from `lg` up, stacked sections with "(n)" counts and a
235
+ 1/2/3-column grid beside a "Quick access" rail of `clamp(20rem, 30%, 26rem)` in a panel whose `maxWidth`
236
+ defaults to 1080px (Pinned tiles, Frequently visited, Recent). Below `lg` (phone and tablet) the body is a
237
+ Menu / Quick access / Apps tab bar (labels `tabsLabel`, `tabMenu`, `tabQuickAccess`, `tabApps`; Apps follows
238
+ `appsVisibility`) above one scrolling panel with only the selected panel mounted, rows are 44px, and search
239
+ keeps the stacked results plus rail with no tab bar. The header is the search field (fills the row; 44px at
240
+ `md`+, 40px below, 16px type), a muted live result count (`labels.resultsCount`, with a separate polite
241
+ announcement), optional `headerActions` (an app's own icon button) and close; there is no "Menu" pill and
242
+ `labels.title` names the dialog and the results list. "Pins follow your account" footer; its key hints
243
+ are key caps (arrows, ENTER, ⌘ ENTER / CTRL ENTER, ⌘ + click, P, ESC) and are hidden on touch devices
244
+ (`labels.hintClickNewTab`; the ↗ link's tooltip is `labels.newTabTip`, `NewTabLink` takes `tip`). New optional props `frequentLimit`, `suggestions` (no-results chips), `searchHint`,
245
+ `LauncherModule.isNew`, and labels `quickAccess`, `newBadge`, `screens`, `pinShort`, `footerNote`,
246
+ `suggestionsHint`, `found`, `pinTip`, `unpinTip`. The rail landmark is named "Quick access".
247
+ Keyboard: in the field, the first result is active as soon as there is a query, ↑/↓ follow the
248
+ visual rows of the result grid, → at the end of the text enters the grid and ←/→/Home/End then move
249
+ through results until the query changes, and PageUp/PageDown page; Esc clears the query first and
250
+ closes only when it is empty; Cmd/Ctrl+K and `/` focus the field. In lists ←/→ and ↑/↓ are grid-aware
251
+ (row-major, ↑/↓ cross sections), Home/End/PageUp/PageDown work, `P` pins or unpins the focused item
252
+ (never while typing) and typing anywhere else in the launcher refocuses the field; ArrowUp from the
253
+ first item returns to the search field (or the selected tab) and pinned tiles are a 2-column grid
254
+ (3 in the tablet Quick access tab). The keyboard-active row highlights as a whole (soft fill plus
255
+ one 1px inset ring, at least 3:1), the whole row is the link target (Cmd/middle-click opens a new
256
+ tab), and truncated titles, rail rows, pinned tiles, app names and search rows show a tooltip with
257
+ the full text. New label `hintPin`; hint label defaults are lowercase and follow the canvas order.
258
+ `LauncherLabels` gained required keys (`hintClickNewTab`, `newTabTip`, `resultsCount`, `tabsLabel`,
259
+ `tabMenu`, `tabQuickAccess`, `tabApps`): a consumer that types a full `LauncherLabels` object needs
260
+ them, while the `labels` prop (`Partial<LauncherLabels>`) is unaffected. Consumer tests: below `lg`
261
+ the Quick access and Apps sections are behind their tabs, and the dialog's accessible name now comes
262
+ from a visually hidden "Menu" heading.
263
+ - `OrgSwitcher` `display` (`"full"` default | `"avatar"` | `"auto"`) — `"avatar"` is a 36px avatar plus
264
+ chevron trigger whose accessible name is `Switch organization, <name>` with the name in a tooltip;
265
+ `"auto"` is avatar below `md` and full from `md` up. Types `OrgSwitcherProps`, `OrgSwitcherSize` and
266
+ `OrgSwitcherDisplay` are now exported from the package root.
267
+ - `Kbd` / `KbdShortcut` — a key cap and a chord (`mod+k` renders ⌘ K or Ctrl K), in the
268
+ `AppSwitcher` notation. `Search` and `AppSwitcher` render their shortcut hints with `Kbd`.
269
+ - `NavigationBar` `leading` — a slot between the sidebar toggle/back button and the title, outside
270
+ the title `<p>`.
271
+ - `SideBar` pinned section: `pinnedItems`, `pinnedLabel`, `onUnpin`, `activePinnedId`,
272
+ `pinnedLimit`, `pinnedLabels`; `collapseTransition` (`"none"` or `{ speed, animateShadow }`);
273
+ `autoCollapse` (default `true`; `false` stops the rail calling `changeToggle` itself, which also
274
+ silences the `open` prop). Types `SidebarPinnedItem`, `SidebarPinnedLabels`,
275
+ `SidebarCollapseTransition`.
276
+ - `Breadcrumbs` `overflow` (`"nowrap"` | `"wrap"` | `"truncate"`), `maxItems` (default 3) and
277
+ `labels.showMore`; `"truncate"` folds middle crumbs into a "…" menu. A `BreadcrumbItem` without
278
+ `path` renders as plain text.
279
+ - `PageHeader` `titleSize` (`"md"` | `"lg"` | `"xl"`) and `actionsLayout`
280
+ (`"auto"` | `"stacked"` | `"inline"`).
281
+ - `Card` `padding` (`"none"` | `"2xs"` | `"xs"` | `"sm"` | `"md"` | `"lg"`) — one padding for
282
+ header, body and footer.
283
+ - `Editor` merge fields: `mergeFields` adds an Insert field menu (grouped, searchable),
284
+ non-editable token chips (stored HTML keeps the raw `${path}`), unknown-field error chips with
285
+ `onUnknownTokens`, and a Make dynamic dialog; plus `tokenSyntax`, `showMakeDynamic`,
286
+ `toolbarButtons`, `apiRef` / `onReady` (`EditorApi`) and `labels` (incl. `dynamicFieldPlaceholder`, default "Choose a field"). `Editor` also takes `label`,
287
+ `isRequired`, `helperText`, `error`, `errorMessage` and `data-testid`; the editable area gets
288
+ `role="textbox"` with `aria-labelledby` / `aria-invalid` / `aria-describedby` / `aria-required`.
289
+ Types `EditorProps`, `EditorApi`, `EditorMergeField`, `EditorTokenSyntax`, `EditorToolbarButton`,
290
+ `EditorLabels`.
291
+ - `WizardDialog` and inline `Wizard` — a multi-step flow that owns step state (validated
292
+ Continue, locked future steps, error summary, review on the last step); `wizardTransition` and
293
+ `firstInvalidStep` are exported.
294
+ - `PdfViewer` `getBlob` (authed files: the viewer makes and revokes the object URL, skeleton while
295
+ loading), `fallback`, `onLoad`, `onError`, `labels`; inline support is detected with
296
+ `navigator.pdfViewerEnabled`. `PdfViewerProps` / `PdfViewerLabels` are now exported types.
297
+ - Page examples: **App launcher** (`/examples/launcher`), **Wizard** (`/examples/wizard`),
298
+ **Template editor** (`/examples/template-editor`).
299
+ - `Tag` `display="dot"` — an 8px tone dot plus plain label for quiet rows (`variant` and icons
300
+ are ignored; the dot ink is lifted to 3:1 on both canvases). `StatusTag` (+ `StatusTagProps`,
301
+ `StatusAppearance`) maps an app's status union to a `Tag` tone once; an unknown status renders
302
+ neutral and warns once in development. (HRMS #13)
303
+ - `Drawer` / `Modal` `portalChildren` — rendered **inside** the dialog content after the slots (not
304
+ a sibling in the portal, which Chakra would `aria-hide`), for nested dialogs and live regions;
305
+ a nested `AlertDialog` still portals out, stacks above and returns focus. (HRMS #20)
306
+ - `FormDrawer` (+ `FormDrawerProps`, `FormDrawerSection`, `FormDrawerLabels`) — a sectioned
307
+ create/edit form in a `Drawer`: `role="alert"` error summary focused after a failed submit,
308
+ sticky footer with a real `<form>` submit, discard-changes confirm on every close path while
309
+ `isDirty`, all close paths blocked while `isSubmitting`. (HRMS #14)
310
+ - `Table` row detail expander — `renderRowDetail(row)` (null = no chevron), `expandedRows` /
311
+ `onExpandedRowsChange` (uncontrolled when `expandedRows` is omitted). Chevron column after the
312
+ checkbox, full-width detail row; works with pagination, virtualisation, frozen columns and
313
+ grouped mode. The chevron is a button with `aria-expanded` / `aria-controls`. (HRMS #17)
314
+ - `EmptyState` `description` accepts a `ReactNode` — a string keeps today's styling, a node sits in
315
+ the same muted block above `action`. (HRMS #18)
316
+ - `QueryStateBoundary` `isForbidden` (boolean or `(error) => boolean`), `forbidden`
317
+ (`{ title, description, icon, action }`) and `hasData`; type `QueryStateForbiddenProps`. Order is
318
+ now loading (only when `!hasData`) → forbidden → error → empty → children; forbidden is a lock
319
+ `EmptyState` with `role="status"`. Defaults unchanged. (HRMS #21)
320
+ - `Tabs` link mode — `TabItem.href` and `TabsProps.linkAs`: when every item has an `href`, `Tabs`
321
+ renders a `<nav aria-label>` of links (same variants and sizes, no panels, not a tablist) with
322
+ `aria-current="page"` on `value`; modifier and middle clicks are never intercepted. (HRMS #19)
323
+ - `BulkSelectionBar` (+ `BulkAction`, `BulkActionTone`, `BulkSelectionBarProps`) — selection bar for
324
+ beside a `Table`: "{n} selected", facts about the whole selection, tone-ranked actions, clear,
325
+ `inline` or `sticky`, polite count announcement; renders nothing at 0. (HRMS #15)
326
+ - `SectionRail` (+ `RailSection`, `SectionRailProps`) — section navigation for long settings
327
+ screens: a vertical `nav` with `aria-current` and a dirty dot per section, collapsing to a
328
+ `Select` below `collapseBelow` (default `md`). (HRMS #16)
329
+ - `StatCard` `iconTone` (neutral / info / success / warning / error) paints the icon chip with the
330
+ soft tone; unset keeps today's brand-primary chip. (HRMS #23)
331
+ - `CircularProgress` (+ `CircularProgressProps`, `CircularProgressSize`) — SVG ring, sm/md/lg =
332
+ 32/48/72px, `thickness`, `tone`, centred `label`, `role="progressbar"`. (HRMS #24)
333
+ - `CalendarGrid` (+ `CalendarEvent`, `CalendarGridProps`, `CalendarGridView`, `CalendarGridLabels`) —
334
+ a controlled month/week/day grid of date-granularity events: multi-day spans, "+N more" opens the
335
+ day, `role="grid"` with arrow/Home/End/Page keys, link or button chips in `Tag` tones, `locale`,
336
+ `weekStartsOn`, `isLoading`. (HRMS #25)
337
+ - `AudioRecorder` (+ `AudioRecorderProps`, `AudioRecorderLabels`) — microphone recorder: asks for
338
+ the mic on Start, mm:ss timer, `maxDurationSec` auto-stop, hands a `File` named for the recorded
339
+ mime to `onRecorded`, permission-denied and unsupported states, releases the mic on unmount.
340
+ (HRMS #26)
341
+
342
+ - **Commerce kit** — the components for a shop front, designed mobile-first (Pebble principles:
343
+ chromeless tonal cards, one loud action per view, selection never by colour alone). Product:
344
+ `Rating`, `PriceBlock`, `StockStatus`, `ProductBadges`, `WishlistToggle`, `OptionChip`,
345
+ `VariantSelector`, `QuantityStepper`, `MediaGallery` / `MediaLightbox`, `ProductCardGrid`,
346
+ `ProductCardSkeleton`, `QuickAddSheet`. Detail page: `StickyBuyBar`, `PincodeChecker`,
347
+ `TrustBadges`, `OffersList`, `SpecTable`, `ReviewSummary`, `ReviewList`, `DetailSections`.
348
+ Bag and checkout: `CartItem`, `OrderSummary`, `CouponField`, `AddressCard` / `AddressCardGroup`,
349
+ `PaymentOption` / `PaymentOptionGroup`, `OrderStatusTimeline`, `BagBar`. `VariantSelector` is
350
+ config-driven (`axes` + `variants`, any vertical) and derives per-combination availability.
351
+ Helpers: `stockState`, `findVariant`, `isOptionAvailable`, `remainingStock`, `priceRange`,
352
+ `firstAvailableSelection`, `selectionComplete`, `formatPrice`, `discountPercent`,
353
+ `discountAmount`, `unitPrice`. A **Storefront** page example in the playground wires them into a
354
+ working shop app (home, listing, product, wishlist, bag, checkout, order tracking).
355
+ - **`star` palette token.** Rating-star gold, derived (`buildStar`) and identical in every brand.
356
+ - **`ProductDetails` — `size`.** `md` | `lg` height of add-to-bag, buy-now and quantity controls;
357
+ defaults to `md` on the split layout, `lg` on the phone page. The desktop wishlist follows it.
358
+ - **`ProductMedia` — `srcSet` / `sizes`.** Forwarded to the `ProductCard` `<img>` so a grid tile
359
+ downloads a tile-sized rendition. `thumb` now has JSDoc.
360
+
361
+ - **`Spinner` — `testId`.** Maps to `data-testid` on the rendered node, wins over a raw
362
+ `data-testid` passthrough. Lets consumers select a loading spinner in tests.
363
+ - **`SegmentedControl` / `Switch` — `surface`.** The background the control is drawn on. Optional:
364
+ the track is an opaque plate on any backdrop, so the labels read without it. Pass it to aim the
365
+ plate's hairline edge at the real backdrop rather than at the page canvas.
366
+ - **`MultiSelect` — `addOnBlur`.** Commits the typed address on focus-out as well as on Enter.
367
+ Defaults to `false`, so existing call sites keep Enter-only behaviour.
368
+ - **`StatCard` — `footer` / `sparkline`.** `footer` pins content below a divider at the bottom of
369
+ the card; `sparkline` sizes and positions a small inline trend chart beside the value (bring your
370
+ own — the library doesn't ship a mini-chart primitive). Neither renders while `isLoading`.
371
+ - **`Table` — `columns[].label` accepts `ReactNode`, plus `labelText`.** A rich header (icon, badge,
372
+ tooltip trigger) is now safe everywhere a header used to be assumed to be text — sort/filter
373
+ button names, Manage Columns, the Group picker, filter chips, and saved column preferences all
374
+ read through a new `columnLabelText()` fallback chain instead of stringifying the node. Pass
375
+ `labelText` to control the derived text explicitly; a wide `ReactNode` header falls back to a
376
+ fixed width rather than auto-sizing from text length. `string`/`number` labels are unaffected.
377
+ - **`SegmentedControl` — `shortLabel` / `orientation`.** `shortLabel` shows in place of `label`
378
+ below the `md` breakpoint (the full label is always restated as the accessible name);
379
+ `orientation="vertical"` stacks segments column-wise. Both optional, default unchanged.
380
+ - **`SideBar` — `lockedReason`.** A tooltip explaining why a menu item is locked, shown on hover/
381
+ focus of a locked row (top-level, submenu, or a top-level item's `secondaryItems`).
382
+ - **`useChartTheme`.** A hook wrapping the existing `chartInk`/`getCategoricalSeriesColors`
383
+ primitives into a ready-made theme for `recharts` consumers — series colors, grid/axis ink, and
384
+ tooltip/legend styling, all dark-mode aware. `recharts` itself is not a dependency of this
385
+ library; bring your own.
386
+
387
+ - **Dark mode.** `PixelizeThemeProvider` (defaults to `system`), `useThemeMode`, `ThemeSwitcher`.
388
+ Dark palettes are derived per brand from that brand's own light palette: surfaces are hue-neutral,
389
+ and the brand hue carries through on the accent, ink, rules and rail. `withTheme` stays light-only,
390
+ so existing apps are visually unchanged — dark is opt-in.
391
+ - **`MediaViewer`** — a full-screen viewer for images, video, audio, PDF, Office documents, text
392
+ and archives, with a filmstrip, keyboard navigation and per-kind fallbacks. `index` is optional:
393
+ omit it and the viewer owns navigation itself.
394
+ - **`NotificationBell` / `NotificationPanel` / `NotificationList` / `NotificationItem`** — a
395
+ notification tray with zones, filters, day bucketing and all four load states.
396
+ - **`Backdrop`** — a fading scrim matching MUI's Backdrop exactly (black at 0.5, no blur, 225ms in /
397
+ 195ms out, 40px spinner), with `container` scoping, `invisible`, `onClick` dismissal and
398
+ `allowBackgroundInteraction` to let clicks reach the page behind. Prefer it over any hand-rolled
399
+ overlay. `Loading` gains `variant="dim"` to route through it; its default stays `"frosted"`, so
400
+ existing screens are visually unchanged.
401
+ - **`ConfirmDialog`** — the shared Cancel/Confirm shape, including typed confirmation
402
+ (`confirmationText`).
403
+ - **`Avatar` / `AvatarGroup`** as owned components. The fill is derived from `name` through the
404
+ theme's colour scales, so it follows brand and dark mode on its own.
405
+ - **`RangeSlider`** as an owned dual/single-thumb component with a `marks` prop.
406
+ - `resolveFilledSurface(scale, colors)` — picks readable ink for any filled surface.
407
+ - `size="2xs"` (16px) on `Avatar`, and `getInitials` to override the built-in derivation.
408
+ - **`Drawer` / `FormDrawer` warn in development when an open drawer has no accessible name.** A drawer with no
409
+ `DrawerHeader`, `aria-label` or `aria-labelledby` is announced as an unnamed dialog; it now logs
410
+ `UNNAMED_DRAWER_WARNING` once per mount (production is silent and unchanged).
411
+ - **77 prop types now reach the package root**, so a consumer can type a wrapper without a deep import of `dist/`:
412
+ `AccordionProps`, the `Apex*ChartProps` and their variant unions, `PaymentCardProps` (+ `Plan` as `PaymentCardPlan`),
413
+ `DropdownProps`, `FilePreviewProps`, `NoteTextAreaProps`, `NotificationProps`, the `NotificationBell*` family,
414
+ `PhoneNumberInputProps`, `Reorder*`, `Select{Single,Multi,Field}Props`, `SelectV2{Single,Multi}Props`, the Drawer, Modal
415
+ and ProfileCard slot props, `UpgradeButtonProps`, `CustomThemeProps` and more (type-only, no runtime change).
416
+ `src/index.propTypes.test.ts` now fails when a prop type in a `*Props` file is neither exported nor marked internal.
417
+ - **`toCsv`, `downloadBlob`, `safeFileName` and the `TabularCell` / `TabularColumn` / `ToCsvOptions` types** (`Utils/tabular.ts`):
418
+ RFC 4180 CSV with a formula-injection guard (a leading `=`, `+`, `-`, `@` gets a `'`, plain signed numbers excepted) and an
419
+ optional BOM; a browser download that revokes its object URL; a file name safe on every OS. Port of the Mobile library's
420
+ `core/files/tabular.ts`. No `.xlsx` and no `Table` export button yet.
421
+ - **Editor token helpers on the root:** `fieldToken`, `extractTokens`, `unknownTokens`, `chipHtml`, `chipify`, `serializeChips`
422
+ and the `ChipContext` type, so an app no longer copies `chipHtml`. `EditorMergeField` gains optional `object`,
423
+ `objectDescription`, `description`, `example`, `source` and `image` for a field browser; `Editor` itself ignores them.
424
+ - **`DarkPaletteOptions` and `DarkPlanes` types** are exported, so the options of `buildDarkPalette` can be named.
425
+ - **README Exports index.** Every value the package root exports is listed in `README.md`, grouped as components,
426
+ hooks, constants and helpers, so a developer or LLM with only this package can find any export. It is generated
427
+ (`UPDATE_README_EXPORTS=1 npx jest src/readmeExportsIndex.test.ts`) and `readmeExportsIndex.test.ts` fails when it
428
+ drifts from `src/index.ts`. `DESIGN-GUIDE.md` gains the type ramp (`textStyle`, `NUMERIC_TEXT`), radius by role,
429
+ the `Table` studio default and a table of parts that belong to a parent (`DrawerBody`, `ProfileCardFooter`,
430
+ `StageItem`, `MediaScrubber`, `LazyWrapper`, `AppearanceSettings`, `ApexPolarChart` and the rest).
431
+ - **Repo tooling, no package change.** `mouseOnlyHandlers.test.ts` is a lower-only ratchet on click-only elements (host
432
+ elements and Chakra layout primitives with `onClick` and no `role`, `tabIndex` or key handler).
433
+ - **Repo tooling, no package change.** `npm run size:web` bundles the root barrel with esbuild and fails over the beta.65
434
+ size +3% (opt-in, not wired to CI).
435
+ - **Repo tooling, no package change.** `scripts/verify-consumers.sh` now covers `lfour/frontend`, finds consumers from a git
436
+ worktree (`CONSUMERS_ROOT`), writes nothing in a consumer, and exits non-zero when nothing was compared or `tsc` rejected
437
+ its own config, instead of printing a clean pass.
438
+ - **`Select` popup rows: `renderOptionEnd`, `optionAction` and `checkPlacement`.** `renderOptionEnd(option, state)` puts
439
+ non-interactive content (a badge) between the row and its check. `optionAction={{ icon, label, onAction }}` adds one
440
+ pointer-only, `aria-hidden` row button whose click calls `onAction(option)` and never selects the row, which a button
441
+ placed inside `renderOption` could not do (it bubbled to the row and failed axe `nested-interactive`).
442
+ `checkPlacement="start"` moves the single-select check to the leading column the multi checkbox uses. Omitted, the
443
+ output is exactly as before.
444
+
445
+ ### Changed
446
+
447
+ - **`Table` rows are keyboard-reachable when `onRowClick` is set.** Each row becomes a tab stop (`tabIndex` 0) and Enter or Space
448
+ on the focused row fires `onRowClick` with the first visible column that has no `node`, the same call a click on that cell makes.
449
+ Rows of a table without `onRowClick`, with every column on `node`, or while `isLoading` are unchanged. **Consumers that pass
450
+ `onRowClick` gain one Tab stop per row**: update tab-order tests and expect long tables to need more Tab presses to cross.
451
+
452
+ - **`ProfileCard` shares the dropped-slot dev warning with `Modal` and `Drawer`.** The helper takes any owner name and
453
+ warns once per owner and type (previously one set across owners); `ProfileCard` keeps its own message text.
454
+ - **`MediaViewer` image pan no longer re-renders the viewer on every pointer move.** The pan offset is held in a ref and
455
+ written to the image's transform directly, so dragging a zoomed photo re-renders nothing (the toolbar and its five
456
+ tooltip-wrapped buttons used to re-render per move). Zooming out or resetting mid-drag now ends the drag.
457
+ - **`MediaViewer` no longer loads `date-fns`** for its one "Uploaded" date; `Intl.DateTimeFormat` prints the same
458
+ `Oct 12, 2026` text (-5.6 KB gzip for an app that does not also use `DatePicker`).
459
+ - **NavLauncher** search rows are `memo` with stable handlers: moving the active option with the arrow keys or the pointer re-renders the 2 rows that change instead of every row (80 rows: 80 renders before, 2 after); the consumer's `onClose`, `onNavigate` and `onTogglePin` may be inline functions without defeating it. Pixel-identical.
460
+ - **`ProfileCard` warns in development when it drops a child**, once per dropped type, like `Drawer` and `Modal`: anything
461
+ that is not a `ProfileCardHeader`/`Body`/`Footer` (or a Fragment of them) never renders.
462
+ - **`Table` rows render once on mount, not three times.** Measured column widths and the select slot's width only feed frozen columns and the row-detail chevron, but a fresh offsets array on every measurement re-rendered every row. Tables without a frozen column or `renderRowDetail` now keep a stable offsets array; frozen and detail tables still update when widths settle. No visual change.
463
+ - **`Table`, `Button` and `Toaster` hairlines and small text read the tokens.** 18 `0.063rem` borders now use `BORDER_WIDTHS.hairline` and 12 pixel font sizes use the `fontSizes` keys; the token-ownership baselines drop to match (`remHairline` 24 to 6, `fontSizePx` 54 to 42). Computed styles and layout of the demo page, filter pane, chips and settings sheet are identical before and after, in light and dark.
464
+ - **`KanbanBoard` cards no longer re-render when `onOpen` or `onDelete` is an inline arrow.** The board hands cards stable wrappers that call the latest prop, so a parent re-render leaves every card alone and a click still reaches the current handler. No visual change.
465
+ - **`Table` header controls skip renders they do not need.** Each column's sort, search and filter-open handlers keep their identity, so hovering a header or sorting one column no longer re-renders every other column's sort icon and filter control. No visual change.
466
+ - **Performance, no visual change** (web premium/perf campaign):
467
+ - Theme colour math is memoised (`resolveFilledSurface`, `liftToContrast`, `softenToContrast`,
468
+ `resolveSoftTone`, luminance) in bounded, content-keyed caches: the hot calls are 5-20x faster and
469
+ restyling 50 `Button`s and 50 `Checkbox`es dropped from about 1.4 ms to 0.15 ms.
470
+ - Brand palettes (`lightPalettes`, `darkPalettes`, `palettes`, `<brand>Dark`) and the eight
471
+ non-default light themes are built on first read instead of at import; keys, key order, values and
472
+ object identity are unchanged, and importing the theme module is about 2x faster. The `ThemeSwitcher`
473
+ brand picker no longer builds every brand's Chakra theme when it mounts.
474
+ - Themes from `createBrandTheme` cache each component style function's output per theme, keyed on the
475
+ props that function reads: output is identical and style resolution per component render is about 2x
476
+ faster.
477
+ - Switching light/dark no longer blocks: the switcher repaints first and the app re-themes in an
478
+ interruptible render. Document `color-scheme`, `data-mode` and the `--color-*` variables follow the
479
+ new palette together, never ahead of it. `PixelizeThemeProvider` memoises its Chakra subtree, so the urgent
480
+ half of a switch re-renders only the switcher.
481
+ - `KanbanBoard` adopts a new `data` prop during render instead of in an effect, so a board whose data
482
+ follows the theme renders once per theme flip instead of twice.
483
+ - `Table`: passing an equal `columns` array again no longer re-renders every visible row; column
484
+ search popovers and row action menus mount their popover only while open (closed rows register no
485
+ global listeners); virtualised rows are measured through one shared `ResizeObserver` with no forced
486
+ layout read on mount.
487
+ - `ToolTip` mounts Chakra's tooltip only after the first hover or focus of its trigger; until then
488
+ (and while disabled or without a label) it renders just the child, with no document listeners.
489
+ - `SideBar`: the swipe-to-close drag no longer re-renders the sidebar or creates a CSS rule per
490
+ pointer move; row labels share one `ResizeObserver` and pause measuring while the rail width
491
+ animates, and their tooltips arm on first use. `useIsTruncated` uses a single shared
492
+ `ResizeObserver`; its signature is unchanged.
493
+ - `SearchSelect` option rows are memoised, so hovering, ArrowDown and toggling an option re-render only
494
+ the rows whose state changed (300 options: 300 row renders per hover to 1-2), and the menu's
495
+ scroll-driven position is an inline style instead of a new Emotion class per position.
496
+ - `KanbanBoard`: hovering a column and expanding a card no longer re-render the whole board (4 x 30
497
+ board, hover sweep: 960 card renders to 0); virtualized cards share one `ResizeObserver`.
498
+ - `Search` instances share one window `keydown` listener for Ctrl+K (it was one per instance);
499
+ with several on a page the last mounted still takes focus.
500
+ - `Dropdown` and `SelectSearch` add their outside-click `document` listener only while open, so closed
501
+ instances cost nothing on every page click.
502
+ - `MediaVideoPlayer` and `MediaAudioPlayer` no longer re-render the whole player on each `timeupdate`;
503
+ only the scrubber and the time readout update.
504
+ - `RangeSlider`, `MediaImageViewer` (pan/zoom), `FilterSidebar` (range slider), the media scrubber and
505
+ the `Dropdown` menu position apply per-frame values as inline styles, so dragging, panning and
506
+ scrolling no longer insert a CSS rule per value (40 slider moves used to leave 160 rules behind).
507
+ - `Notification` and `UpgradeButton`: the card and dismiss control transition named properties instead
508
+ of `all` (same 0.2s ease), and both drop their transitions, the shimmer sweep and the hover lift under
509
+ `prefers-reduced-motion`.
510
+ - `CalendarGrid` reuses `Intl.DateTimeFormat` instances per locale and options (was about 70 per
511
+ month render). `Toaster` cards no longer hold a permanent `will-change` layer.
512
+ - **`PageHeader` `actionsLayout` defaults to `"auto"`**: at `md` and up the actions wrap below the
513
+ title when they do not fit (before, they squeezed the title). Identical whenever title and
514
+ actions fit on one row; pass `actionsLayout="inline"` for the old behaviour.
515
+ - **`Card` `padding` is no longer Chakra's style prop** — it is omitted from the type and now takes
516
+ the `CardPadding` steps. A consumer passing `padding={4}` gets a compile error; use `p` or `sx`.
517
+ Breaking in 3.0.0 (see Breaking); consumer blast radius not measured.
518
+ - **`SideBar` `collapseTransition` defaults to `{ speed: "base" }`** (200ms width and shadow, was 260ms).
519
+ Pass `{ speed: "slow" }` for the old pace.
520
+ - **`StageProgress variant="stepper"` renders an `ol` of `li`** (`StepperStageProps.asListItem`).
521
+ Visual layout is unchanged; selectors that expected a `div` list no longer match.
522
+ - **`PdfViewer` `pdfUrl` is optional** — pass exactly one of `pdfUrl` / `getBlob`. In `getBlob` mode
523
+ the toolbar Open and Download are real buttons that fetch through it.
524
+ - `Editor` binds Jodit's `change` / `blur` itself on every Jodit instance and renders Jodit only once
525
+ its popup root exists (no throwaway first instance). Behaviour for existing props is unchanged.
526
+ - `BreadcrumbItem.path` is optional (type widening).
527
+ - **`Drawer` / `Modal` warn when they drop a child.** A child that is not a Header/Body/Footer slot
528
+ still renders nothing, but now logs a dev-only `console.warn` (once per child type) pointing at
529
+ `portalChildren`. (HRMS #20)
530
+ - **`Table` `studio` variant on touch devices:** under `@media (pointer: coarse)` the row checkbox is
531
+ always visible and the row number is hidden, instead of a hover-only reveal. (HRMS #17)
532
+ - **`ProfilePhotoViewer` re-syncs when `photoUrl` changes** (it used to seed on mount only), so
533
+ consumers can drop `key={photoUrl}`. A locally picked preview is replaced by the new URL — update
534
+ `photoUrl` only once an upload has finished. (HRMS #22)
535
+ - **Page examples:** `records.tsx` uses `BulkSelectionBar` instead of the `Table`'s `headerActions`;
536
+ `settings.tsx` uses `SectionRail` instead of a hand-built section nav.
537
+
538
+ - **`ProductCard` and `ProductDetails` are rewritten** — see Breaking below. `ProductCard` is a
539
+ chromeless 4:5 card (grid / list / rail, swatch dots that swap the photo, quick-add sheet or
540
+ direct add that morphs into a stepper, sold-out "Notify me", slots). `ProductDetails` is a
541
+ composed, controlled/uncontrolled product page with a sticky buy bar on mobile.
542
+
543
+ - **Control heights: `xs` 24px → 30px, `sm` 32px → 38px, `md` 40px → 42px.** `lg` (48px) is
544
+ unchanged. `CONTROL_SIZES` is the one scale behind every field, select and button, so `Button`,
545
+ `TextInput`, `InputTextArea`, `NumberInput`, `PinInput`, `Select`, `SelectV2`, `SearchSelect`,
546
+ `SelectSearch`, `Search`, `Dropdown`, `SegmentedControl`, `Tabs`, `TableToggle` and the
547
+ `DatePicker` family all grow together and still line up side by side. `sm` is the default size,
548
+ so most call sites gain 6px of height without passing anything.
549
+ - **`PhoneNumberInput` defaults to `size="sm"`, not `md`.** It was the one field still defaulting to `md`, so in a form it stood 4px taller than the `TextInput`s around it. Pass `size="md"` to keep the old height.
550
+ - **Option rows follow the scale: 24/30/34/40px → 26/32/36/40px** in `Select`, `SelectV2`,
551
+ `SearchSelect`, `SelectSearch`, `Dropdown`, table filter selects and Chakra `MenuItem` — always
552
+ 6px inside the trigger that opens them (4px at `lg`).
553
+ - **`OrgSwitcher` and `AppSwitcher` sit on the control scale.** `OrgSwitcher` sm/md/lg were
554
+ 32/40/48px and are now 38/42/48px; the `AppSwitcher` trigger was 36px and is now 38px, so both
555
+ line up with an `sm` button beside them.
556
+
557
+ - **`SideBar` sizing is one scale.** Rail, submenu, collapsed flyout and `SecondaryBar` rows now all
558
+ read `SIDEBAR_ROW`, so every nav label is 13px at every level. Visible changes: submenu and flyout
559
+ rows grow 20px → 28px with their labels 12/12.5px → 13px, the "Add New" label 12.5px → 13px, and
560
+ `SecondaryBar`'s `headerFontSize`/`itemFontSize` defaults 0.75rem → 13px. Child rows previously
561
+ rendered a step smaller than their parent; pass the `SecondaryBar` font props to keep the old size.
562
+ - **Charts are lazy.** `react-apexcharts` now loads behind a dynamic `import()`. The main chart
563
+ entry dropped from 227,454 B to 2,448 B gzip, and an app that never renders a chart no longer
564
+ pays for one. Verified against real ESM build output.
565
+ - `src/index.publicApi.test.ts` is now **bidirectional** — removing a public export fails the
566
+ build instead of passing unnoticed (249 → 387 guarded names).
567
+ - `Accordian` still resolves, now as a `@deprecated` alias for the owned `Accordion`.
568
+ - **`ToggleSwitch` absorbs every `InputSwitch` capability**, so `InputSwitch`'s deprecation is now
569
+ true: `isChecked` is optional (uncontrolled via `defaultChecked`), `fieldLabel` (+ `isInformation`/
570
+ `informationMessage`) for a label above the track distinct from the inline `label` beside it,
571
+ `colorScheme` (any brand/global scale, via `resolveFilledSurface`), `isReadOnly` with real
572
+ `aria-readonly`, and `m`/`mt`/`mb`/`ml`/`mr`/`mx`/`my` on the wrapper. `InputSwitch` is now a
573
+ genuine thin wrapper — no prop it previously accepted is silently dropped.
574
+ - `jsdoc/require-jsdoc` now also covers exported `*Props` / `*Options` types outside `*Props` files; around 30 types gained a one-line doc.
575
+
576
+ ### Changed (visual)
577
+
578
+ - **`OrgSwitcher` rows match the `Select` popup (screenshots pending).** Rows take the option radius and a 4px side inset, the
579
+ active org gets the selected fill (hover and focus on it the stacked rung), keyboard focus draws the neutral 1px inset ring
580
+ instead of the browser outline, the name weight is 500 for the active org and 400 otherwise (was 600/500), and names and roles
581
+ use `Select`'s ink ladder (dark unchanged). Props, ids and ARIA are unchanged.
582
+ - **`SelectSearch` rows match the `Select` popup (screenshots pending).** The keyboard-focused row (real DOM focus, `:focus-visible`
583
+ only) draws the neutral 1px inset ring instead of the browser's outline; a reopened single selection gets the selected fill,
584
+ and hover or focus on it the stacked rung. Light labels and `email` lines use `Select`'s neutral ink ladder (dark unchanged).
585
+ Uncontrolled model, multi's removal of picked options, ids and ARIA are unchanged.
586
+ - **`SearchSelect` rows match the `Select` popup (screenshots pending).** Checked or selected rows get the selected fill, the
587
+ cursor on a selected row the stacked rung, and Arrow/Home/End draw the same neutral 1px inset ring (also on Select All and
588
+ Add New); the mouse clears it. Labels use `Select`'s neutral ink ladder in light (dark unchanged). Selected-label weight,
589
+ radius, `activeIndex` sentinels, `insideSelect` and every prop, id and ARIA attribute are unchanged.
590
+ - **`Select` popup, light: the selected row gets a fill (screenshots pending).** Hover, selected and
591
+ selected+hover are neutral greys, identical on all nine brands (`#eeeeee`, `#e3e3e3`, `#dadada`; selected about 1.28:1 on the
592
+ panel; the beta.68 build carried each brand's tint instead, strongest on meadow, and beta.69 removes it), so the three
593
+ read as one family and every adjacent pair is at least 1.10:1 (selected vs stacked 1.08:1). Arrow-key navigation now
594
+ also draws the neutral 1px inset ring in light (`#7b7b7b`, 3:1 on all four fills), because keyboard-on-selected is only
595
+ 1.08:1 from a plain selected row; the mouse never draws it. Multi checked rows get the same fill (checkbox fill stays
596
+ at least 3.2:1). The text ladder holds on the new fills.
597
+ - **Native `Select` `filled`, `flushed` and `unstyled` variants are themed.** They had no keyboard focus indicator, `filled` had
598
+ square corners at `xs`/`sm`, and `flushed` rested on a 1.2:1 hairline. Each now shows the brand border plus glow on `:focus-visible`
599
+ (`unstyled` gets the two-tone ring), `filled`/`unstyled` use the field radius, and `flushed` uses the outline border rung. `outline` is unchanged.
600
+
601
+ - **`Select` popup layout polish, light and dark (screenshots pending).** Fills are unchanged. The single-select check sits
602
+ in a reserved 16px slot so long labels no longer shift by the check's width; Select All has a hairline rule under it; the
603
+ list is padded by the row inset (6px at `sm`, was 4px) so rows sit evenly from the panel edge; the scrolling list shows top
604
+ and bottom scroll shadows (`scrollShadowStylesVertical`, a vertical twin of the Table helper); and a disabled row no longer
605
+ dims as a whole (was opacity 0.4), so its cursor fill and the dark keyboard ring stay visible: light sets its content to a
606
+ solid `#868686` (3.6:1), dark dims the content to 0.55.
607
+ - **`Select` popup, light: row text is one neutral grey ladder, identical on all nine brands (screenshots pending).** The
608
+ brand-derived `text[700]`/`text[900]`/`textMuted` read as soft purple, green or brown. Now (built with `neutralStep` from
609
+ the panel, no mode argument) the label is `#323232` (12.8:1), the selected label `#242424` at weight 500 beside its
610
+ check, the description `#595959` (7:1), and the filter input's placeholder `#757575` (4.6:1, filter only; every other
611
+ field keeps `placeholderInk`). Dark text is unchanged, and `Menu`, `DropDown`, `SearchSelect`, `SelectSearch`,
612
+ `OrgSwitcher` and `CompactSelect` keep reading `optionRowInk`, so their light rows stay brand-tinted.
613
+ - **`Select` popup, dark: selected, hover, stacked and keyboard states are four neutral rungs (screenshots pending).** Hover
614
+ stays `#363636`; the selected row now fills `#3d3d3d`, hovering it `#424242`, and arrow-key navigation draws a 1px
615
+ `#8d8d8d` inset ring (never under the mouse), identical on all nine brands and derived from the panel,
616
+ not a mode. The description line is lifted against the busiest rung. Light follows in the entry below. `SelectPopup` only; `listRowBackgrounds`, `optionRowFill` and the
617
+ other readers of the shared helpers are untouched.
618
+ - **`Table` rows with `onRowClick` show a keyboard focus ring.** A focused row draws the library's two-tone ring inset around its
619
+ cells (sticky cells included), on `:focus-visible` only, so a mouse click draws nothing. It clears 3:1 on every row plane in light and dark.
620
+
621
+ - **`NavLauncher` slides in with the library's 200 ms enter tween instead of Chakra's drawer spring.** The spring took about 570 ms to come to rest on a full-height panel; the tween (`motionTransition("enter", "out")`, instant under `prefers-reduced-motion`) lands in 200 ms. Measured at 4x CPU throttle, 1280x800, 12 runs against an unchanged build: click to panel at rest and search field focused, median 765 to 413 ms (spotlight, -46%), 819 to 481 ms (classic, -41%), 787 to 460 ms (dark spotlight, -42%). The resting layout and the exit are unchanged.
622
+ - **`NavLauncher` text snaps to the type scale.** The trigger, panel and spotlight (`NavLauncher`, `launcherParts`, `spotlightParts`) read
623
+ `xs-plus` (13px) where they drew `12.5px` and `xs-minus` (11px) where they drew `11.5px`; the `13.5px` sizes stay. Each size moves by 0.5px.
624
+ - **Disabled `Button` dims to the shared 0.5.** The base style drew `opacity: 0.6` while every other disabled control reads
625
+ `DISABLED_OPACITY` (0.5); disabled buttons, and the `IconButton`s that inherit them, now read slightly dimmer.
626
+ - **`Toaster` card no longer slides twice.** The card added a 24px `x` slide on top of Chakra's own wrapper slide (400ms), so a toast travelled twice and settled late. The card now only fades; the wrapper's slide is the only one.
627
+ - **Focus on dark chrome draws the library's two-band ring.** `Header` edit/create buttons, the `MediaViewer` controls (icon buttons, scrubber, volume and seek thumbs) and the `Dropdown` option rows replace a single 2px band with halo + ring (`surfaceFocusRing` on the dark surface; `insetFocusRingShadow` for the rows), so the ring is 4px at its outer edge like every other control.
628
+ - **Overlay and card elevation read the shadow tokens.** The `AppSwitcher` and `OrgSwitcher` panels use `shadows.float` (was a single `0 10px 30px` layer), `SignInActivityTable` uses `shadows.sm`, and the `SearchSelect` open-state inset border and `Timeline` node rings are `BORDER_WIDTHS.hairline` (1px) instead of `0.063rem`.
629
+ - **Hover fades and small transforms take the motion tokens.** `CopyButton`, `CustomModulesTable`, `UserDetails`, `SignInActivityTable`, `RolesPermission`, `OrgSwitcher`, `AppSwitcher`, `NavigationBar`, `ButtonGroupIcon`, `DatePicker` days, `Checkbox`, `PlanPill`, `FilePreview` and `MediaViewer` replace literal `0.12s` / `0.15s` / `0.2s` with `transitionFor`: fades are 150ms and `PlanPill` / zoom are 200ms, on the standard curve (the `ease-out` drags use the out curve). Differences are at most 30ms.
630
+ - **`PlanPill` and the `SideBar` chrome snap to the type scale.** `12.5px` becomes `13px` (`xs-plus`; `PlanPill` label, `SIDEBAR_CHROME.titleFontSize`) and `11.5px` / `9.5px` become `11px` (`xs-minus`; `SIDEBAR_CHROME.labelFontSize`, section captions in `MenuItems`, `OtherApps`, `PinnedSection`). Sizes change by at most 0.5px; `10px` and `15px` stay as they are.
631
+ - **Hover lift and the `Timeline` divider use whole pixels.** `KanbanBoard` account cards and clickable `Timeline` cards lift by `-1px` (was `-0.063rem`, 1.008px at the default root size, which anti-aliases a transform), and the `Timeline` divider is `BORDER_WIDTHS.hairline` tall.
632
+ - **Disabled and blocked rows dim to `DISABLED_OPACITY` (0.5).** `CouponField` options, `CheckoutKit` selectable cards, `SideBar` blocked items (primary and secondary), `StageProgress` / `StepperStage` and `UpgradeButton` dimmed to 0.6 or 0.55; they now match `Tag` and the token. Busy-state dims are unchanged.
633
+ - **NavLauncher Top hit and answer cards show their ENTER chip only while active.** Both drew "ENTER" (and an answer its "copy" hint) permanently, so while another row was active two results claimed Enter; search rows already showed the chip on the active row only. The chip is hidden with `visibility`, so nothing shifts, and a card that just copied still shows "Copied".
634
+ - **NavLauncher footer stays one row on a tablet.** Between `md` and `lg` (768-1023px) the legend plus the footer note wrapped to two rows, 53px; the "+ click for new tab" hint (a mouse hint) now shows from `lg` up, so the footer is 32px at 768px and 820px. Unchanged from `lg` up.
635
+ - **NavLauncher footer legend follows the active entry on a Show more option and for copy-only answers.** ENTER read "open here" while a Show N more row was active although Enter expands the group; it now reads `labels.hintExpand` (new, default "expand"). The ⌘ ENTER "new tab" hint dims while the active result cannot open in a tab (a copy-only answer, an action, Show more). The ENTER label reserves the widest of its three texts, so nothing after it moves.
636
+ - **Inset focus ring: ring on the outer edge, halo inside.** `insetFocusRingShadow` drew them the other way round, so a child
637
+ covering the inner band left only the surface-coloured halo. It now matches `Accordion` (unchanged). Affects NoteTextArea,
638
+ CalendarGrid, SearchSelect, SelectSearch, MediaGallery and the FilterSidebar range and options sections.
639
+ - **Focus ring settles against the table header band.** `focusRing.ring` is now also lifted to 3:1 on the table header band
640
+ (raw and as stepped): rosewood light and lavender, meadow, skyline and slate dark move one or two lightness steps from
641
+ 2.97-2.99:1; every other brand and mode keeps its ring.
642
+ - **`Timeline` attachment chip hover ink clears AA in light.** The hovered chip kept the rest ink on the darker
643
+ `primary[100]` fill (3.86:1 radiant, 4.05:1 lavender, 4.39:1 slate); the ink is now picked against the hover fill in
644
+ both modes. Only light hover on brands whose rest ink fell short changes.
645
+ - **Commerce hover fills are a visible step in dark.** `OffersList`, `CouponField`, `DetailSections`, `StickyBuyBar` (notify), `QuantityStepper`, `WishlistToggle` (soft, ghost), `ProductCard`'s off-photo action, `ProductDetails`' share button, selectable `AddressCard`/`PaymentOption` and `OptionChip` hovered `background[100]` to `[200]` (`[300]` to `[400]` for the chip), 1.05-1.08:1 in dark. The hover now steps 1.15:1 or more off the resting fill; light is unchanged.
646
+ - **`ApexPieChart` `variant="pie-with-image"` no longer calls imgur** (two hard-coded URLs that answered 403, so the slices
647
+ painted nothing). Each slice now gets an inline striped texture in its own colour, light and dark. New optional
648
+ `images?: string[]` supplies your own sources (one per slice; the first repeats past the end).
649
+ - **`ApexLineChart` toolbar and its "Download SVG/PNG/CSV" menu are themed in dark.** The chart never told ApexCharts the
650
+ canvas mode, so its menu rendered light text on a white panel (1.13:1); it now follows the palette (15:1). Light is unchanged.
651
+ - **`FilterSidebar`'s rules inside the card use the in-card weight** (`cardRule`): the section dividers, the Filters header rule,
652
+ the cards-variant section edge, the range track and the range value chips. Dark lifts them off the card; light is unchanged.
653
+ The outer container outline keeps `boxborder[200]`.
654
+ - **`SelectSearch`'s separator above the bottom action** uses the overlay rule (`raisedRule`) like the action row below it,
655
+ not Chakra's default border colour. Dark gets the in-card weight; light moves by a few channel values.
656
+ - **`SelectSearch` colour-option swatch** uses the `full` radius token instead of `50%`. The dot is the same circle; Chromium
657
+ anti-aliases its edge pixels slightly differently.
658
+ - **`Notification` countdown label keeps counting.** It was computed once at first render and stayed at "due in 5
659
+ hours" for the life of the card; it now refreshes every minute while a `dueDate` or `endDate` is set (no timer
660
+ otherwise, cleared on unmount).
661
+ - **`NoteTextArea` dark footer band separates from the note area.** In dark the active band under the note was 1.11:1
662
+ against it and read as one slab; it now steps to 1.19:1, and the attachment chip fill, its remove-hover and the control
663
+ hover follow so a chip keeps a visible step and its text stays above 4.5:1. Light mode is byte-identical.
664
+ - **`Notification` overdue label** reads "Task overdue by 3 hours", without the trailing "ago".
665
+ - **`Notification` dismiss control** shows the focus ring on keyboard focus, like the title button beside it. It was
666
+ focusable with no visible indicator.
667
+ - **`WorkspaceWindow` header and `WorkspaceTrayPreview` card rule in dark**: the header strip read 1.08:1 off the raised
668
+ window and its rule 1.00-1.07:1; both now step off `surfaceRaised` (`bandOn`, `raisedRule`) to 1.16:1 and about 1.35:1.
669
+ The preview card's border takes the same rule. Light is unchanged.
670
+ - **`Table` settings sheet option cards and column-row hover outline are visible in dark.** The Density and Group option cards and the Manage Columns row hover used `boxborder[200]` on the raised surface (about 1.0-1.07:1); they now use `raisedRule`. Light is unchanged.
671
+ - **`Table` filter pane rules and expanded row are visible in dark.** The pane's edge, header, search and Apply-bar rules use `cardRule` instead of `boxborder[200]` (1.08-1.16:1 on the lifted card), and an expanded section steps off the card with `bandOn`. Light is unchanged.
672
+ - **`Table` active-filter strip reads as a band in dark.** The strip behind the filter chips was 1.06:1 from the card; it now uses `bandOn` (about 1.19:1), and the chip tone and Clear All ink are derived against that strip. Light is unchanged.
673
+ - **`Table` bulk-action hover fill is visible in dark.** The hover on Delete and Mass Update used `background[100]`, which sits about 1.06:1 from the card; it now steps off the card with `bandOn` and the accent ink is re-derived against the lifted fill. Light is unchanged.
674
+ - **`Table`'s date filter loads on demand.** The filter pane's `DatePicker` (and date-fns) no longer ships in `Table`'s static graph: the Table's initial JS drops about 7.5 KB gzip (51.9 to 44.4 KB measured with peers external) and the picker loads as its own 8.8 KB chunk, preloaded when the pane has a date item. Once loaded the control is pixel-identical; a control-height skeleton shows only if it renders before the chunk arrives.
675
+ - **Dark surfaces are hue-neutral on every brand.** The canvas, card, overlay, named `backgroundColor` ladder,
676
+ `background[50-900]` and `table.hover` no longer take a brand tint (`SURFACE_SAT` 14 to 0): all 9 brands share
677
+ canvas `#121212`, card `#212121` (1.163:1 over the canvas) and overlay `#2c2c2c` (1.153:1 over the card), so
678
+ switching brand no longer recolours the app background. The brand hue stays on the accent, ink, rules and the
679
+ sidebar rail. Light palettes are byte-identical to before (SHA-256 of all 9 resolved light palettes). Muted dark
680
+ text re-derives against the neutral surfaces and shifts a few hex values on lavender, rosewood, slate and zinc
681
+ (lavender `#9f92aa` to `#a498ae`); every muted token still passes the same AA gate. `planes: "flat"` keeps its
682
+ meaning (card = canvas) on the same canvas.
683
+ - **`Table` loading state.** With `isLoading` and no rows, each row now draws one skeleton per column (a checkbox
684
+ placeholder in the checkbox column, blank spacer cells) with the variant's row rule, instead of one bar spanning the
685
+ table. If `columns` is still empty while loading, the header shows four placeholder cells and a disabled select-all
686
+ instead of a lone checkbox stretched across the row. The select-all checkbox is disabled while `isLoading`.
687
+ - **`Table` defaults to `variant="studio"`.** Every `Table` rendered without `variant` (or with `variant={undefined}`)
688
+ now draws studio: flat small-caps header, one row rule, the select slot resting on the row number, status as a pill.
689
+ Keep the old look with `variant="classic"`. Measured 2026-10-14: crm-frontend has 38 `<Table>` call sites, none
690
+ passing `variant` (all 38 change); account-frontend 8 of 18 change (the other 10 already pass `"studio"`); hrms,
691
+ tickets and lfour render `Table` only through an `AppTable` wrapper that already defaults to studio (0 change).
692
+ - **Option rows fill only under the cursor; selection is the trailing check and weight 500.** `Select`, `SearchSelect`,
693
+ `SelectSearch`, `CompactSelect` and `OrgSwitcher` no longer fill the selected row: the selected fill sat 1.00-1.02:1
694
+ from the hover fill on all 18 brand x mode palettes, so the two read as one state. `SelectSearch`/`CompactSelect` no
695
+ longer fill row 0 on open beside the hovered row. `Dropdown` items keep `text[700]` under the cursor instead of turning
696
+ `accentText`. `SearchSelect` rows sit inset (`mx`, rounded) with the check at the trailing edge and no hairline
697
+ between rows. Text on every row state measures 7.69:1 or more (selected 12.43-19.90:1).
698
+ - **Chakra `Menu` items use option-row ink:** `text[700]` instead of `text[900]`; a checked `MenuItemOption` is weight
699
+ 500 with an `accentText` check, matching `Select`.
700
+ - **Dark `Button` `outline`/`ghost`/`link` ink is chosen against the canvas, the card and the overlay.** It cleared AA
701
+ on the canvas only, so in a dialog or popover it fell to 4.06-4.50:1 in 24 scheme x brand combos (lavender outline
702
+ 4.46:1, rosewood 4.10:1); now AA on all three planes (lavender 6.28:1, rosewood 5.57:1). Light mode is unchanged
703
+ (0 light combos move); 62 dark combos step lighter (emerald primary `#0f9d8a` -> `#14e3c7`).
704
+ - **Dark rules and pressed solids (owner review before release).** In dark only: the `NavigationBar` header rule and
705
+ leading divider, the `KanbanBoard` column edge, header rule and count pill, the filled `TextInput` (a visible band off
706
+ the card) and the Kanban drag-over column's dashed border (`focusRing.ring`, 3.1:1 or more instead of 1.7-2.7:1)
707
+ now read at the in-card rule weight instead of 1.03-1.16:1. Solid `hover`/`active` fills never fall below 1.5:1 against
708
+ the canvas (a pressed warning solid reached 1.00:1) and never flip the label colour, so zinc dark's pressed primary stays
709
+ light with dark ink instead of dropping to `#52525b`. `ScrollToTop`, `FilePreview`, `ProfilePhotoViewer`, the Table
710
+ clear-filters badge, Chakra `Badge`/`Radio` and the Table status pills now pass the canvas to `solidFillRung`: zinc dark
711
+ primary and every brand's dark gray solid move from `#52525b`/`#525252` (2.4:1) to `#e4e4e7`/`#a3a3a3` with dark ink.
712
+ Light mode and every other dark colour keep their fill; error/warning/info pressed fills in dark are lighter than before
713
+ and hover and press now share one rung.
714
+ - **Elevation follows Pebble, per mode.** `shadows.sm`/`base`/`md`/`lg` are the Pebble card-press/
715
+ card/float/dialog stacks, with new `card`, `float`, `dialog` and `sheet` role keys. Light shadows are
716
+ softer and wider; dark mode gets its own heavier black ramp, so overlays cast a visible shadow on a
717
+ dark canvas. `xs`, `xl`, `2xl`, `inner`, `none`, `darkLg` and the focus `outline` are unchanged.
718
+ - **`Menu` and `Popover` join the owned popup family:** radius `md` → `xl` (`RADIUS_ROLE.float`)
719
+ and shadow `sm` → `md` (float), like every other anchored popup. Their border stays.
720
+ - **`fonts.mono` is a real monospace stack** (`ui-monospace, SFMono-Regular, Menlo, Consolas,
721
+ monospace`). It was Inter, so code and keyboard shortcuts never aligned.
722
+ - **`Button` gray `ghost`/`outline` hover is visible.** Gray has no opacity ramp, so hover/active
723
+ take the list-row `active`/`selectedActive` steps (at least 1.15:1 on a card, all 9 brands x 2 modes)
724
+ instead of `gray.50` (1.04-1.08:1). `solid` and `gradient` hover no longer add a box-shadow; the
725
+ colour step carries hover.
726
+ - **`Toaster` status-icon pulse** animates a pseudo-element's transform and opacity (scale 1 to 1.5,
727
+ faded out by 70%, the same 900 ms one-shot) instead of `box-shadow`, so it no longer repaints every
728
+ frame. The icon chip background is the same tint composited opaque over the toast surface.
729
+ - **`Table` filter sidebar** opens on the 200 ms motion token (was 500 ms), does not animate on
730
+ mount, and is instant under reduced motion.
731
+ - **`FileUpload` image thumbnails are a keyboard-operable "Preview <file name>" button**: a new tab
732
+ stop with the library focus ring; Enter or Space opens the preview. Each image row now has two
733
+ buttons (Preview and remove), so a test that queries an unnamed `getByRole("button")` inside a row
734
+ must name the one it means.
735
+ - **`Menu` item highlight sits inside the menu.** A themed `MenuItem`/`MenuItemOption` is
736
+ `calc(100% - 2 * mx)` wide, so its hover/focus fill keeps the same 6px inset on both sides instead of
737
+ overhanging the menu's right edge by 6px. Menu size and row height are unchanged; a `MenuItem` given
738
+ its own `w`/`width` keeps that width.
739
+ - **`Skeleton` shimmer is one depth on every brand and mode**: 1.35:1 between its two colours (the
740
+ mobile library's `SKELETON_SHIMMER_CONTRAST`), was 1.34-1.58:1 in light and 1.93-1.99:1 in dark. The
741
+ end colour is `gray[300]`'s tint settled against `gray[100]`; dark skeletons pulse much more gently.
742
+ An explicit `startColor`/`endColor` still wins.
743
+
744
+ - **Motion comes from the tokens.** `SideBar`, `Notification`, `Toaster`, the Table settings sheet,
745
+ `ProfilePhotoViewer`, `TableToggle` and `StageProgress` take every duration and curve from the motion tokens
746
+ (colour fades 150ms, movement 200ms, enters on `MOTION_EASE_OUT`, exits on `MOTION_EASE_IN`). Most timings
747
+ move by under 60ms; the Table settings sheet goes from 400ms to 200ms. `Notification` cards no longer lift
748
+ 2px on hover; the shadow still deepens.
749
+ - **`Button` (solid, outline, ghost) and `IconButton` scale to 0.98 while pressed** (`MOTION_PRESS_SCALE`).
750
+ Never when disabled or loading, nor under `prefers-reduced-motion`.
751
+ - **Dark planes separate by lift.** Cards (`background[50]`) sit one step (1.16:1) above the canvas, with
752
+ overlays (`surfaceRaised`) one step (1.15:1) above the card; every filled mark keeps 3:1 on all three. Light
753
+ mode is unchanged. A brand opts out of the lift with `buildDarkPalette(light, { planes: "flat" })`. `meadow`
754
+ and `rosewood` dark `accentText` move one rung lighter so they clear AA on selected list rows.
755
+ - **`zinc`:** muted text in light mode is `#515157` (was `#27272a`, 14.9:1), settled under a new 8:1 muted
756
+ ceiling; zinc's dark card is no longer darker than its canvas.
757
+ - **A brand's primary never reads as danger.** `radiant`'s danger colour (`red` and `semantic.error`) is
758
+ crimson and `rosewood`'s primary rotates toward raspberry; a delta-E >= 10 gate in `brandIdentity.test.ts`
759
+ covers all 9 brands in both modes.
760
+ - **`Button` solid primary paints `resolveFilledSurface`.** Only `zinc` dark moves: the primary fill goes from `#52525b` with
761
+ white ink (2.5:1 on the canvas) to `#e4e4e7` with black ink, matching `resolveFilledSurface`, the fill every other filled surface already paints.
762
+ - **Dark mode: header strips, calendar off-days and in-card rules step visibly off the lifted planes.** Table header
763
+ strips (`CustomModulesTable`, `SignInActivityTable`), `DatePicker` weekly-off cells, and the rules inside cards and
764
+ dialogs (`Table`, `SettingRow`, `SettingsSection`, `StatCard`, `Drawer`, `Modal`, `ConfirmDialog` and the account
765
+ modals) now clear 1.15:1 (bands) and 1.31:1 (rules) off their plane. Light mode is unchanged.
766
+ - **`Card` defaults to `variant="elevated"`** (borderless, `background[50]` lifted by `shadows.card`). Pass
767
+ `variant="outline"` for a Card that frames a table or a list of rows. Measured blast radius: 22 library `<Card>`
768
+ sites with no variant flip (hrms 18, account 1, tickets 3); 305 with an explicit variant are unchanged. The
769
+ `SettingsSection` danger zone keeps its red frame by taking `variant="outline"`.
770
+ - **Light page canvas (`backgroundColor.base`) sits 1.09:1 below the card on all 9 brands**, so a borderless card keeps
771
+ its top edge (zinc and slate `#fafafa` to `#f5f5f5`, lavender `#fbfafd` to `#f5f4f8`). `main` and every other token
772
+ are unchanged.
773
+ - **`NavLauncher` outlines stay visible on the dark overlay.** Scope chips and arrows, the Top hit and answer cards,
774
+ suggestion chips, pinned tiles, the Pin buttons, the tab bar, section rules and the rail and preview-pane edges were
775
+ `boxborder[200]`, 1.00-1.07:1 against `surfaceRaised` in dark (zinc 1.07, the other eight under 1.03). They now use
776
+ `raisedRule`: 1.32-1.39:1 against the overlay and 1.64-1.73:1 where a recessed pane meets it. Section rules inside the
777
+ recessed rail use `ruleOn` against `backgroundColor.subtle` (1.31-1.36:1, was 1.17-1.26:1). Measured on all 9 brands;
778
+ light mode is pixel-identical, since both helpers return `boxborder[200]` there.
779
+ - **`NavLauncher` confirms a copy on screen.** Enter or a click on a copy-only answer swaps the hint on its card and in
780
+ the preview pane (`ENTER copy`) to `labels.copied` in `accentText` for 1.5 s, then restores it; only a visually hidden
781
+ live region announced a copy before. The swap reserves the longer label's width, so nothing shifts, and its fade is
782
+ off under `prefers-reduced-motion`. The live region still announces each copy once, focus stays in the field and a
783
+ blocked clipboard never shows "Copied". On touch (`hover: none`), where the hint is hidden, the label alone pins over
784
+ the card's right edge for the same 1.5 s.
785
+ - **`NavLauncher` drops the keyboard-hint row below `md`.** At 390px wide the legend wrapped to three rows (63.8px) and
786
+ made the footer 100px tall, over a footer note that needs 32px; the footer is now 32px there, so the scrolling area
787
+ (results, then the Pinned block) gains 68px. Touch devices already hid the legend at any width, and from `md` up it
788
+ is unchanged.
789
+ - **`Button` `outline` / `ghost` / `link` ink clears AA on the light page canvas too.** The ink was lifted against the
790
+ canvas, a card and an overlay but not `backgroundColor.base` (the canvas the example pages and any borderless-card layout
791
+ sit on, 1.09:1 under the card), where it measured 4.21-4.49:1. It now steps one rung darker in 21 brand/scheme pairs, light
792
+ mode only: zinc `gray` and `secondary` `#71717a` to `#52525b`, slate `primary` `#6b7280` to `#4b5563`, emerald and
793
+ storefront `gray` `#617474` to `#5e7070`, `purple` `#805ad5` to `#6b46c1` on 8 brands, `green` `#198341` to `#136533` on 7,
794
+ zinc `yellow` `#887425` to `#68591c`. Dark mode and every other `Button` pair are byte-identical.
795
+ - **`Tabs` selected ink clears AA on the light page canvas.** The selected `outline`, `ghost` and `line` ink was lifted
796
+ against the tab canvas only, not `backgroundColor.base`, where slate measured 4.43:1 (record detail). On slate, light
797
+ mode only, that ink, the `outline` border and the `line` indicator step from `#6b7280` to `#4b5563` (6.93:1). Every
798
+ other brand and mode is byte-identical.
799
+ - **`Tabs variant="ghost"` selected ink clears AA on its own tint.** The ink was lifted against the canvas, but a
800
+ selected ghost tab paints its own gray tint and the ink sits on that, where it measured 4.21-4.31:1 on radiant (light),
801
+ emerald (dark) and rosewood (dark). It now steps one rung: radiant light `#b84533` to `#983628`, emerald dark
802
+ `#0f9d8a` to `#14e3c7`, rosewood dark `#cb6b94` to `#ce91ab`. The other 15 brand and mode pairs are byte-identical.
803
+ - **`FilterSidebar`'s Clear control, range triggers and value rows, and rating rows draw the focus ring on keyboard focus
804
+ only.** The shared halo and ring (`focusVisibleRing`), drawn inset on the value and rating rows because their panel
805
+ clips overflow. Rest and mouse click look exactly as before.
806
+ - **`FilePreviewTrigger` shows its preview scrim and a focus ring on keyboard focus.** The eye-icon scrim that hover
807
+ reveals now also appears when the thumbnail takes keyboard focus, with the shared halo and ring (`focusVisibleRing`).
808
+ Rest, hover and mouse click look exactly as before.
809
+ - **`SelectSearch`'s `isBottomIcon` footer draws the focus ring on keyboard focus only.** The shared halo and ring
810
+ (`insetFocusRingShadow`), drawn inset because the popup panel clips overflow. Rest, hover and mouse click look
811
+ exactly as before.
812
+ - **`Editor`'s editing area joins the Tab order and its frame shows focus** (axe `scrollable-region-focusable`, WCAG
813
+ 2.1.1 and 2.4.7). Jodit ships the surface at `tabindex="-1"`, so a keyboard could not reach the text and a
814
+ scrollable read-only editor could not be scrolled. `Editor` now sets `tabIndex: 0` (a `config.tabIndex` you pass
815
+ wins), and while focus is inside it the Jodit frame takes the field focus look: a `primary[500]` border and the soft
816
+ bloom, light and dark. At rest nothing changes. Each editor adds one Tab stop between its toolbar and its status bar.
817
+ - **`OrganizationDetails`' header avatar is the library's own `Avatar`** (it rendered a raw Chakra one). Chakra picked
818
+ the initials ink by a brightness threshold: dark mode measured 1.98:1 (zinc 2.17:1) on all 9 brands and emerald and
819
+ storefront 4.26:1 in light, at 9.6px. The fill now follows the brand and mode like every other avatar and the ink
820
+ clears AA on all 9 brands in both modes. The avatar renders only with `userName`, since the owned `name` is required:
821
+ without it the grey placeholder icon is gone.
822
+ - **`Header`'s bar row is `min-height` 4.3rem instead of a fixed `height`**, so a nav that wraps (many items, or
823
+ `HeaderActions` labels in a narrow bar) grows the bar around it. The fixed height let the wrapped row hang off the
824
+ bar onto the page canvas, where its count badge measured 1.55-1.91:1 on all 9 brands in light (axe `color-contrast`,
825
+ `/header`). A bar whose nav fits on one row is pixel-identical, and 4.3rem is still its height.
826
+ - **`ScrollbarBox` is a keyboard stop while it scrolls.** A box whose content overflows a scrollable axis (more than
827
+ 1px) and holds nothing focusable now takes `tabIndex={0}`, so a keyboard user can scroll it, and draws the library
828
+ focus ring on `:focus-visible` only. A box that fits, scrolls `hidden`, or holds a button or link is unchanged, as
829
+ is a mouse click. The new optional `aria-label` names the stop as a `region`; without it the stop has no name.
830
+ Closes axe `scrollable-region-focusable` on `/scrollbarBox` (6 regions).
831
+ - **`StageProgress`'s strip is a keyboard stop while it scrolls with nothing focusable in it.** At phone width a
832
+ read-only strip (or one with every stage disabled) overflows and a keyboard user could not scroll it; it now takes
833
+ `tabIndex={0}` and draws the library focus ring on `:focus-visible` only. A strip with a stage button, or whose
834
+ stages fit, is unchanged, as is a mouse click. The new optional `aria-label` names the stop as a `region`, or names
835
+ the list when `variant="stepper"`. Closes axe `scrollable-region-focusable` on `/stageProgress` (`[data-stage-strip]`).
836
+ - **`SignInActivityTable`'s scroll area is a keyboard stop while the table scrolls.** At phone width the three columns
837
+ overflow the card and a keyboard user could not scroll them; the wrapper now takes `tabIndex={0}`, is a `region`
838
+ named by `labels.title`, and draws a 2px ring on `:focus-visible` only. The ring is an outline in `focusRing.ring`
839
+ (lifted until it clears 3:1 on the header band, on all 9 brands in both modes), because the library's inset shadow
840
+ hides under the opaque header. A table that fits, a mouse click and the rest state are unchanged. Closes axe
841
+ `scrollable-region-focusable` on `/signInActivityTable`.
842
+ - **`Menu` dividers keep their full weight in dark.** Chakra's stock divider carries `opacity: 0.6`, which pulled the
843
+ `NavigationBar` avatar menu and `ThemeSwitcher` rules down to 1.17-1.21:1 on the overlay; the `divider` part now
844
+ draws `raisedRule(colors)` at full opacity in dark (1.32-1.39:1) and stays at 0.6 in light, which is unchanged.
845
+ - **`Timeline` attachment-chip hover steps off the chip in dark.** The hover fill (`primary[100]`) sat 1.01-1.07:1 off
846
+ the resting chip on meadow, emerald and storefront and kept the resting ink, 3.82-4.29:1 on it; it now uses `bandOn`
847
+ (1.17-1.20:1 on those three) with an `accentTextOnCanvas` ink above 4.5:1 on every brand. Light is unchanged.
848
+ - **`Timeline` note box and "from" change pill step off the card in dark.** Both painted `gray[50]` on the event card
849
+ at 1.11:1; they now use `bandOn(gray[50], background[50])` (1.19:1), and the note's attachment chip, edit hover and
850
+ icon ink re-derive against the lifted box so they keep their step and AA ink. Light is unchanged.
851
+ - **`Timeline` rules inside the event card use the card rule in dark.** The note box outline and the divider above the
852
+ notes drew `boxborder[200]` at 1.13-1.16:1 on the card (1.08:1 on zinc); both now read `cardRule(colors)` (1.31-1.34:1).
853
+ The card's own outline and the date chips on the page canvas are unchanged. Light is unchanged.
854
+ - **`OrgSwitcher` search-header rule is visible in dark.** The rule under the search field was `gray[100]`, 1.11:1 on
855
+ the raised popover; it now reads `raisedRule(colors)` (1.32-1.39:1). Light keeps `gray[100]`.
856
+ - **`ProfilePhotoViewer` view-button hover steps off the button in dark.** The hover fill (`gray[50]`) sat 1.11:1 off
857
+ the resting `background[50]` button; it now uses `bandOn` (1.19:1) with the accent ink re-derived against it. The PDF
858
+ fallback tile (`gray[100]`, 1.27:1) already steps and is unchanged. Light is unchanged.
859
+ - **`RolesPermission` header band and in-card rules are visible in dark.** The table header band (`background[100]`) sat
860
+ 1.06:1 off the card and the rules inside the card (card header, table rows, footer divider) drew `boxborder[200]` at
861
+ 1.08-1.16:1; the band now uses `bandOn` (1.19:1) and the rules `cardRule(colors)` (1.31-1.34:1). The card's own
862
+ outline is unchanged. Light is unchanged.
863
+ - **`SearchSelect` `insideSelect` divider is visible in dark.** The rule between the nested picker and the input drew
864
+ `boxborder[200]` at 1.22-1.25:1 on the trigger (eight of nine brands); it now reads `ruleOn` that plane (1.31:1+).
865
+ The popup outlines are unchanged. Light is unchanged.
866
+
867
+ ### Fixed
868
+
869
+ - **`SearchSelect` Select All row now highlights under the mouse.** Only the keyboard reached it before; hover filled every other row.
870
+ - **Native `Select` without a `value` snapped back to the placeholder, and `defaultValue` did nothing.** A native `Select` that never
871
+ received `value` was pinned to `""`, so picking an option reverted at once unless `onChange` stored it. It now keeps its own
872
+ selection, seeded by `defaultValue`, until a defined `value` is passed; after that `value` controls it as before.
873
+
874
+ - **`OrgSwitcher`'s open popup now has an accessible name.** The dialog carried no name (axe `aria-dialog-name`, serious); it
875
+ now reads the existing `ariaLabel` prop ("Switch organization" by default). No new prop, no DOM id changes.
876
+ - **`FileUploader` revokes its `blob:` preview URLs on unmount.** Images still listed when the component unmounted kept their
877
+ object URLs alive for the life of the page; removal, `maxFiles` overflow and `maxTotalSize` rejection already revoked.
878
+ - **`SearchSelect`'s "Clear all" button no longer opens the menu.** Its click bubbled to the control, so Enter, Space or a
879
+ click on it cleared the value and then opened the list; the click is now stopped at the button, as the chip remove
880
+ button already did.
881
+ - **`DescriptionList` stacked values wrap long unbroken strings.** A token or URL with no break opportunity overflowed
882
+ its cell; stacked values now carry `overflow-wrap: anywhere`. Only strings that overflowed before change; the inline
883
+ layout keeps its single-line truncation.
884
+ - **`FilterSidebar`'s section Clear control is no longer nested inside the accordion header button** (axe
885
+ `nested-interactive`). `Accordion` items gain `headerAction` (a control beside the header button, which keeps the header
886
+ hover lit) and `customStyles.headerActionStyle`; rest, hover and focus render the same pixels. The header button's
887
+ accessible name is now the section label alone, and a click on Clear no longer reaches the header.
888
+ - **`FilterSidebar`'s maximum range picker is portalled like the minimum one.** Only the minimum picker was, so a host
889
+ that clips or stacks over the sidebar (a positioned `overflow` ancestor) could cut the maximum list off. Both now share one picker.
890
+ A range drag or an option toggle also re-renders only its own section instead of the whole sidebar.
891
+ - **`SelectSearch` popup keyboard and axe defects.** The sticky `isBottomIcon` footer no longer covers the row Arrow keys
892
+ focus last (the panel reserves its height as scroll padding). An empty or loading panel is no longer a `listbox` with
893
+ no options (axe `aria-required-children`); it keeps its text and drops the role. Tab out of the popup now closes it.
894
+ Picking an option with the keyboard returns focus to the input instead of dropping it to `body`, and Escape in the
895
+ input no longer swallows the next Tab-in open.
896
+ - **`NoteTextArea` Save stays disabled while either field is over its word cap.** Two effects each wrote the disabled
897
+ state, so whichever field was edited last decided it: a long title could be saved after editing the note, and a long
898
+ note after editing the title. Save is now derived from both counts.
899
+ - **`FormWrapper` forwards `id`, `data-*`, `aria-*`, `className` and handlers to its outer wrapper** instead of dropping
900
+ them, and `icon` accepts a rendered element (`<FiUser />`) as well as a component reference; an element used to throw
901
+ "Element type is invalid".
902
+ - **`VerifyEmailOtp` cells now offer one-time-code autofill.** `otp` is passed to the pin input, so the cells carry
903
+ `autocomplete="one-time-code"` instead of `"off"` and the browser or OS can suggest the emailed code. The resend link
904
+ is the owned `Button`.
905
+ - **`WorkspaceTrayPreview` no longer closes while the pointer sits on its trigger.** Moving from the card back onto the
906
+ trigger ran the card's own leave handler and closed the preview after the grace delay; the wrapper alone now owns
907
+ open and close.
908
+ - **`Select` `virtualizeAfter` now windows grouped lists.** It used to switch itself off whenever any option had a
909
+ `group`, rendering every row; headers now take part in the window.
910
+ - **`Select`: Enter and Space on the clear (x) or a chip's remove button did nothing from the keyboard.** The trigger
911
+ swallowed them to open the popup; keys from a nested button now reach the button.
912
+ - **The date, range and time picker popovers and `FilePreview` honour `prefers-reduced-motion`**: the popover slide/scale and the preview
913
+ scale-in are skipped when the user asks for reduced motion.
914
+
915
+ - **The required `*` is hidden from screen readers** in `FormField` and every `TextLabel` label (it was read as "star" and
916
+ became part of the field's accessible name). The control's own `aria-required` still announces it; sighted users see no change.
917
+
918
+ - **Legacy `DatePicker` (Table filter pane) no longer puts `aria-expanded` on a non-focusable wrapper `div`.** It anchors the
919
+ popover like `SingleDatePicker` and the input carries `aria-haspopup="dialog"`; Escape on the focused field now closes the
920
+ calendar. Looks and click behaviour are unchanged.
921
+
922
+ - **`Table` filter pane search box honours reduced motion.** The search field no longer slides in over 200 ms when the user prefers reduced motion; it appears in place.
923
+ - **`Table` notices when replaced rows gain or lose `content`, `onLink`, `onEdit` or `onDelete`.** The row-action and expand columns were decided from the row count and first id only, so a same-sized reload with the same first row kept a stale layout.
924
+ - **`ThemeSwitcher variant="segmented"`** is one tab stop, on the selected mode, like the radiogroup it declares.
925
+ All three modes were separate tab stops. Arrow keys still move focus and selection together; a Tab from outside
926
+ lands on the selected mode.
927
+ - **`LazyWrapper`** `fallback={null}` now renders nothing while loading, as written. `??` swapped the built-in
928
+ spinner in for an explicit `null`; only an omitted `fallback` (`undefined`) selects the spinner now.
929
+ - **`WorkspaceTrayPreview`** reports `onOpenChange(false)` only after the card actually opened (it used to fire when
930
+ the pointer left before the open delay).
931
+ - **`FileUploader`** revokes the blob URL of an image the moment it is removed, and of images it rejects (over the total
932
+ size or past `maxFiles`); those URLs were created and never freed. Surviving URLs stay yours to revoke.
933
+ - **`Table` settings sheet** fades in place instead of dropping in when the user prefers reduced motion.
934
+ - **`SearchSelect`**: the Select All and Add New rows are reachable from the keyboard. Arrow keys, Home and End walk
935
+ Select All, then the options, then Add New, and Enter runs them. Both are now `role="option"` rows, so a test that
936
+ counts `getAllByRole("option")` with either row shown sees one or two more.
937
+ - **Field helper text no longer leaves a dangling `<id>-helptext` in `aria-describedby`** when a field with an
938
+ explicit `id` sits inside a consumer `FormControl` (`TextInput` and every field rendering
939
+ `FieldMessage`/`HelperText`).
940
+ - **`SearchSelect` and `Select` (`native={false}`) multi rows**: the decorative checkbox is no longer a focusable,
941
+ unnamed control nested in the option; the row's `role="option"` with `aria-selected` is the single accessible
942
+ control. No visual change.
943
+ - **`SearchSelect`'s open listbox and `Select`'s popup dialog have an accessible name**, from `label`, then
944
+ `aria-label`, then `placeholder`.
945
+ - **Unnamed controls now have names, with no visual change.** `NoteTextArea`'s remove-attachment button is
946
+ named `Remove <file name>`; the legacy `DatePicker` that `Table`'s filter pane renders names its month buttons
947
+ (`Previous month`, `Next month`) and its two selects (`Month`, `Year`), as `CalendarPanel` does.
948
+ - **`FilterSidebar`'s Clear control, range triggers and value rows, and rating rows work from the keyboard.** They were
949
+ mouse-only. Each is now a named control that Enter and Space operate (`Clear <section>`, `<section> minimum: <value>`,
950
+ `<section>: N stars & up`), the open range picker is a named dialog, and the current value or rating reports
951
+ `aria-pressed`. A test that counts `getAllByRole("button")` inside a `FilterSidebar` sees more of them. Rest and
952
+ click look as before, except that opening a range picker with the mouse no longer paints a focus ring around the
953
+ popover: the trigger now takes focus first, so the popover's own focus move is no longer keyboard-visible.
954
+ - **`FilePreviewTrigger` is a real button, named `Preview <file name>`** (`Preview file` without one). It was a click-only
955
+ `role="group"` div the keyboard could not reach. Tab now lands on it, Enter and Space open the preview, and closing the
956
+ preview returns focus to it. A test that found it by `role="group"` must query the button. Rest, hover and a mouse
957
+ close look as before; opening the preview with the mouse no longer paints a stray focus ring on its first toolbar
958
+ button, because the thumbnail now takes focus first.
959
+ - **`SelectSearch`'s `isBottomIcon` footer works from the keyboard.** It was a click-only div. It is now the last
960
+ `option` of the listbox, named by its text: ArrowDown, ArrowUp, Home and End reach it, Enter and Space run
961
+ `handleBottomClick` with the popup left open, Escape closes the list, and it is the only stop while nothing matches or
962
+ the options load. `getByRole("listbox")` now contains the footer, and a test that counts `getAllByRole("option")`
963
+ with `isBottomIcon` sees one more. Rest and click look as before.
964
+ - **`WorkspaceWindow`'s dialog is named by its visible title**; while a window is open the page behind it is
965
+ `aria-hidden`, as for any modal.
966
+ - **`UpgradeButton`, `PlanPill` and `PlanBadge` are named by what they show** (WCAG 2.5.3, axe
967
+ `label-content-name-mismatch`). The fixed `aria-label` left out the subtitle, the status chip and, on phones, the
968
+ `mobileLabel`. Without an `ariaLabel` the name now comes from the content: `Pro 5d left`, where it was
969
+ `Pro — 5d left`. A passed `ariaLabel` still wins and should contain the visible text. A test that looks the
970
+ button up by the old dashed name needs the new one. Nothing changes visually.
971
+ - **`OrgSwitcher` names its trigger by what it shows** (WCAG 2.5.3, axe `label-content-name-mismatch`). The full
972
+ layout was named by `ariaLabel` alone (`Switch organization`) and the avatar layout by the name without its
973
+ initials, so neither held the visible text. Both now read `${ariaLabel}, ${shown organization}` (the placeholder
974
+ when none is active). The avatar initials are `aria-hidden` generated content (`data-initials`), no longer text,
975
+ which also takes them out of each dropdown row's name. A test that finds the initials with `getByText` must query
976
+ `[data-initials]`; one that looks the trigger up by the exact name `Switch organization` needs the longer name.
977
+ Nothing changes visually.
978
+ - **`CalendarGrid` day cells are named by what they show** (WCAG 2.5.3, axe `label-content-name-mismatch`). A
979
+ cell's `aria-label` (`Monday, October 5, 2026, 1 event`) left out the event chips and `renderDayCell` content it
980
+ displays. The cell now has no `aria-label`: a visually hidden date and count (`labels.eventCount`) come first and
981
+ the cell's own content follows, so the name reads `Monday, October 5, 2026, 1 event Payroll cut-off`. A test that
982
+ finds a cell by its old exact name needs a pattern or `data-date`. No layout change.
983
+ - **`FileUpload`'s progress bars are named** (axe `aria-progressbar-name`). Each `progress` entry rendered a
984
+ `progressbar` with no name; it is now `Upload progress for <file name>`.
985
+ - **`FileUpload`'s drop zone is named by what it shows** (WCAG 2.5.3, axe `label-content-name-mismatch`).
986
+ `label`, or `inputAriaLabel` (default `Upload files`), was the whole name, so it left out the visible `Drag and
987
+ drop files here` and the type and size limits. The name is now `${label ?? inputAriaLabel}, Drag and drop files
988
+ here .jpg, .png up to 5.00 MB`: a passed `inputAriaLabel` still leads. A test that looks the zone up by the old
989
+ exact name needs a pattern. No visual change.
990
+ - **`Editor`'s editing area is named** (axe `aria-input-field-name`). Without a visible `label` the
991
+ `role="textbox"` surface had no name at all; it is now `labels.editor` (default `Rich text editor`), and still
992
+ `label` when one is given. A read-only editor also exposes `aria-readonly`. Give each unlabelled editor on a page
993
+ its own `labels.editor`. No visual change.
994
+ - **`CustomModulesTable`'s edit-module field is named** by `labels.moduleNamePlaceholder`.
995
+ - **`StageProgress` no longer scrolls the page when it mounts**: the active stage was revealed with
996
+ `scrollIntoView`, which also scrolled every ancestor, so a tracker below the fold pulled the page down
997
+ to it. The active stage is now centred inside the stage strip only (`scrollActiveIntoView` still
998
+ turns that off).
999
+ - **`Tabs` no longer scrolls the page when it mounts**: the selected tab was revealed with
1000
+ `scrollIntoView`, which also scrolled every scrolling ancestor, so a page with tabs below the fold
1001
+ jumped to them on load. The first reveal now scrolls only the tab list; later focus and selection
1002
+ moves behave as before.
1003
+ - **The legacy `DatePicker` behind Table's filter pane opens from the keyboard**: Enter or ArrowDown on the
1004
+ focused field opens the calendar (it was mouse-only).
1005
+ - **Keyboard access for click-only elements** (WCAG 2.1.1): `NoteTextArea` (the collapsed placeholder and
1006
+ the attach control, now a named button "Attach files"), `Notification` (the title when `onClick` is
1007
+ passed; the dismiss control is announced as "Dismiss notification"), `OrganizationDetails` ("Set as
1008
+ Default"), `UserDetails` (member rows, the selected one marked `aria-current`), `FileUploader` (the drop
1009
+ target opens the picker from the keyboard; it was the only way to add files), `KanbanBoard` (both
1010
+ add-column affordances) and the `SearchSelect` `insideSelect` prefix and menu (Enter/Space, arrow
1011
+ keys, Home/End, Escape). Each takes Tab, activates on Enter and Space, and shows the library focus
1012
+ ring on keyboard focus only; resting looks are unchanged.
1013
+ - **`ProductCard` no longer throws "Rendered more hooks than during the previous render"** when `isLoading`
1014
+ goes from `true` to `false` (a hook sat below the loading early return).
1015
+ - **`KanbanBoard` no longer logs React's "Cannot update during an existing state transition"** when a
1016
+ card is expanded in a virtualized column.
1017
+ - **`PhoneNumberInput` follows a changed `value`.** It used to read `value` once on mount; a form reset
1018
+ or a loaded record now updates the field, and a leading dial code (the `onChange` shape) is stripped,
1019
+ so echoing `onChange` back into `value` is safe.
1020
+ - **`CopyButton variant="menu-item"` is keyboard-operable** (focusable, Enter and Space copy, focus
1021
+ ring), and every variant announces the copied label through a polite live region.
1022
+ - **`Slider` no longer auto-advances while hovered or focused, nor under reduced motion** (WCAG 2.2.2);
1023
+ the slide transition is instant under reduced motion. The default interval is unchanged.
1024
+ - **`FileUpload` no longer leaks a blob URL per image thumbnail per render.** Each file gets one URL,
1025
+ revoked when the file is removed or the component unmounts.
1026
+ - **`Table` column search shows the current search when reopened**, instead of stale text.
1027
+ - **`NavLauncher` search rows shorten the `· keyword` hint before the label**, so a long keyword list
1028
+ no longer cuts "Apply for leave" down to "Apply…".
1029
+ - **`NavLauncher`'s preview pane says what Enter does on a copy-only answer**: for an answer with no `run` or `href` it
1030
+ showed `labels.hintOpen` ("open here") while Enter copied the value; it now shows `labels.hintCopy`, as the answer card does.
1031
+ - **`NavLauncher`'s footer legend says what Enter does**: it read `labels.hintOpen` ("open here") on every result, also while
1032
+ Enter copied a copy-only answer. It now follows the active result and shows `labels.hintCopy` while Enter copies. The
1033
+ other hints do not shift when it flips.
1034
+ - **`NavigationBar` right cluster no longer overflows onto the avatar at phone widths.** The title
1035
+ truncates first (overflow-only tooltip when it is a string); the `moreIcon` cluster can shrink, while
1036
+ the sidebar toggle, back button and avatar menu never do. (HRMS, beta.60 launcher trigger overflow)
1037
+ - **`OrgSwitcher` trigger shrinks and its menu fits the screen.** The full trigger truncates its label
1038
+ (avatar and chevron are kept) when its container is short, and the menu panel is capped at
1039
+ `100vw - 32px`, so a long org name no longer causes horizontal page scroll on phones.
1040
+ - **`NavLauncher` keyboard and link fixes.** Arrow keys, typing and Backspace were dead on rail and
1041
+ apps rows while a search was active; Enter could throw when results shrank; Enter during IME
1042
+ composition opened a result; removing the focused row (e.g. an app dropped from `apps`) dropped
1043
+ focus to the page body (it now moves to the neighbouring row, or the field).
1044
+ - **`Search` / `TextInput` / `Select` / `Textarea` / `NumberInput` / `FileUpload` / `PincodeChecker`
1045
+ focus glow was transitioned in**, so a screenshot or accessibility check taken the instant a field
1046
+ gained focus saw no ring. `FIELD_TRANSITION` no longer animates `box-shadow`; border-colour and
1047
+ background transitions are unchanged and still honour reduced motion.
1048
+
1049
+ - **`SideBar` rail controls now show a `:focus-visible` ring** (rows, submenu and flyout rows,
1050
+ `SecondaryBar`, collapse toggle, Add New, user footer, Collapse/Hide/Show, switch-app cells,
1051
+ overlay close) — WCAG 2.4.7 / 2.4.11.
1052
+
1053
+ - **Commerce performance (consumer report on 2.4.2-beta.57).** `ProductCard` no longer loads the
1054
+ hover image on devices that cannot hover; `QuickAddSheet` mounts on first open, not on first
1055
+ paint; `formatPrice` caches its `Intl.NumberFormat`; every `matchMedia` consumer
1056
+ (`usePrefersReducedMotion` and the layout hooks) shares one listener per query through a single
1057
+ `useMatchMedia`, replacing two duplicate hooks. `ProductDetails` desktop wishlist no longer sits a
1058
+ size step above the buy buttons.
1059
+
1060
+ - **`SingleDatePicker` / `RangeDatePicker` / `TimeOnlyPicker` popovers clipped inside a scrolling or
1061
+ `overflow: hidden` modal.** They now portal to `document.body` (via Chakra's own `Portal`,
1062
+ matching `Select`), so the calendar is no longer cut off by an ancestor's clipping or scroll
1063
+ container. Also fixes Escape not closing the calendar while focus was inside it (it only
1064
+ committed the value before).
1065
+ - **`SideBar`'s `locked` flag didn't block clicks on a top-level item's `secondaryItems` row.** The
1066
+ rail/submenu/flyout rows already no-op'd a locked click; `SecondaryBar`'s own row renderer never
1067
+ checked `locked` at all, so a locked secondary item stayed fully clickable with no lock icon. See
1068
+ [COMPONENT-GOTCHAS.md](COMPONENT-GOTCHAS.md).
1069
+ - **Control-size regression: field and button heights are two scales again, not one.** A
1070
+ form-field-only bump had leaked into `Button`, `SegmentedControl`, `Tabs`, `TableToggle` and
1071
+ `Dropdown`'s trigger through one shared token. `CONTROL_SIZES` (fields/selects: xs 24 · sm 38 ·
1072
+ md 40 · lg 48) and `BUTTON_SIZES` (buttons and every button-like trigger: xs 24 · sm 32 · md 40 ·
1073
+ lg 48, back to pre-regression) are now separate exports, gated by
1074
+ `Common/sizeScaleOwnership.test.ts` so they can't silently merge again. `OPTION_ROW_SIZES`
1075
+ (dropdown/select/menu row heights) is reverted to xs 24 · sm 30 · md 34 · lg 40; `OrgSwitcher`/
1076
+ `AppSwitcher` are back on their own hardcoded literal sizes, not a shared token.
1077
+ - **`CONTROL_SIZES.xs` (fields only) raised 24px → 32px.** `TextInput`, `Select`, `MultiSelect`,
1078
+ `SearchSelect`, `SelectSearch`, `SelectV2`, `NumberInput`, `PinInput`, `Search` and the
1079
+ `DatePicker` family at `size="xs"` are now 32px tall. `BUTTON_SIZES.xs` (`Button`,
1080
+ `SegmentedControl`, `Tabs`, `TableToggle`, `Dropdown`'s trigger) is untouched, still 24px.
1081
+ - **`SideBar`'s nav scrollbar thumb was the brand `primary` color.** Every other scrollbar in the
1082
+ library reads a neutral chrome token; the sidebar's hand-rolled CSS (`Constants/Sidebar.ts`) was
1083
+ the one place still reaching for `primary[500]`/`primary[700]`. It now reads
1084
+ `sidebar.mutedIcon`/`mutedLabel` — contrast-resolved against the rail, not brand-colored.
1085
+ - **`SideBar` follow-up UI audit — six more fixes, no behavior/prop changes.** `SecondaryBar`'s own
1086
+ scroll panel had no scrollbar styling (fell through to the page's default) and a hardcoded,
1087
+ collision-prone id — now matches `SideBar`'s own generated-id + `cssForScrollBar` pattern. The
1088
+ collapsed-rail badge dot (`red[400]`) is now `sidebar.semanticText.error`, so it stays legible in
1089
+ both modes instead of drifting. Six `whiteAlpha.100` hover/rest fills (header collapse button,
1090
+ Add New, user footer, inline submenu row, app switcher cell, `SecondaryBar`'s collapse toggle)
1091
+ were below the sidebar's own perceptible-step floor — bumped to `.200`, matching every other row.
1092
+ The collapsed-flyout submenu showed Chakra's built-in "?" glyph for a sub-item with no `icon`; it
1093
+ now draws the same dot the always-visible inline submenu already used. Hovering an *active* flyout
1094
+ row got lighter-then-darker instead of lighter-then-lighter — fixed to the same `.300`→`.400` step
1095
+ every other active row uses. The default (no `logo`/`avatarUrl`) header logo tile and footer
1096
+ avatar initials painted a raw `primary` fill that measured ~1:1 against the rail — invisible — on
1097
+ zinc, skyline and storefront; both now use the same rail-safe surface/ink pairing the active-row
1098
+ accent already resolves against.
1099
+ - **`SideBar` audit round 2 — muted-chrome contrast, inline-submenu consistency, demo previews.**
1100
+ `sidebar.mutedIcon`/`mutedLabel` cleared AA against the bare rail and `elevated` but not against
1101
+ a whiteAlpha hover/active overlay on top of either — now resolved with `settleAcross` against
1102
+ both surfaces at once, gated by new `paletteContrast.test.ts` cases across 9 brands x 2 modes.
1103
+ The expanded rail's always-visible inline submenu (`MenuItemBox.tsx`) now matches the
1104
+ fill+accent-bar+`activeAccent.label` pattern the top-level row and the collapsed-flyout submenu
1105
+ already use for an active item, instead of only swapping label color. Demo-only: the playground's
1106
+ docked-sidebar previews (`src/Pages/demo.sidebar.tsx`) rendered blank below the `lg` breakpoint
1107
+ because `SideBar` reads the real `window` width, not the preview box's — now shows a
1108
+ "widen the window" fallback there instead; the secondary-bar demo's panel was also widened so its
1109
+ drill-down chevron isn't clipped.
1110
+ - **`Table` clipped its last row(s) whenever a cell wrapped to more than one line.** The container
1111
+ height was computed as `rows × density height + header`, assuming every row is exactly one line —
1112
+ wrapped text (long values, multi-column data) rendered taller than that, and the box clipped it
1113
+ behind a scrollbar even with empty space left on the page. Tables at or under the row-count cap
1114
+ (`maxVisibleRows`, default 10) now grow to fit their real content instead; larger lists keep the
1115
+ exact capped/scrolling height and virtualize as before, so nothing changes for big record counts.
1116
+ - **Icons beside a field are centred at every size and height.** A lone right-hand icon in
1117
+ `TextInput` (an `inputRightIcon`, the clear button or the password toggle) sat flush against the
1118
+ border while the left one was inset; both now mirror at 6/9/12/15px. `SelectSearch`'s `rightIcon`
1119
+ was centred on a 40px box whatever the field size (up to 8px high at `lg`). `Tabs` drew a
1120
+ caller's icon at the caller's size inside a token-sized box, leaving it 3–6px off; it is now
1121
+ pinned to the size token. `TableSearch`'s clear icon and `TableToggle` had a literal `2rem`
1122
+ height and now follow the `sm` control height. `TextInput`'s `height` prop now wins over the
1123
+ size token's `minH`, so an explicit height below the token no longer leaves a taller input in a
1124
+ shorter group.
1125
+ - **`*Props` JSDoc quoted the old control scale.** Eleven components documented "xs 24 · sm 32";
1126
+ they now say 28 / 35, and `Common/controlSizeDocs.test.ts` fails if they drift again.
1127
+ - **`Table` — a column search only ever matched the page you were looking at.** The per-column
1128
+ search ran on `filteredData`, which `useTable` had already sliced to the current page, so a match
1129
+ on page 3 was invisible from page 1 and the pager still counted every row. The search now runs
1130
+ before the slice: page count, the `1 - 20 of N` readout and the rendered rows all come from the
1131
+ matched set, and typing a new search returns to page 1. Grouped mode already searched the whole
1132
+ source and is unchanged; server pagination still searches only the loaded page, since the client
1133
+ cannot see the rest.
1134
+ - **`Table` — an empty page was a dead end, and a page-size change left the body scrolled.** The
1135
+ pager's step controls were hidden whenever the loaded rows were empty, so a server page that came
1136
+ back with nothing stranded the user with no way back; stepping back now survives an empty result
1137
+ and only stepping forward is disabled. A narrowing client-side result also clamps the current page
1138
+ instead of leaving it past the end. Changing the page size at page 0 swaps the rows without moving
1139
+ `startRow`, which used to leave the virtualized body scrolled into the old page — the scroll reset
1140
+ now keys on the page size too.
1141
+ - **`Table` — a full-bleed status cell ignored `columns[].align`.** `align` is documented as aligning
1142
+ the header label and the cells together, but a bleed status cell hardcoded centre. It now follows
1143
+ `align` when the column sets one, and still centres when it does not, so existing tables look the
1144
+ same.
1145
+ - **`Select` — the popup's filter field did not line up with the options under it.** Its wrapper
1146
+ used a hardcoded `p={2}` while option rows inset by the size spec's `mx` (6px at `sm`, 4px at
1147
+ `xs`), so the field's edges sat 2-4px inside the list's, and its text origin 2px further in. The
1148
+ field was also fixed at `size="sm"` whatever the `Select`'s own size, so a `lg` picker got a small
1149
+ search box. Both now follow the active size spec; measured edge- and text-aligned at every size.
1150
+ - **`Select` — a multi-select with chips rendered 2px taller than every other field.** The chip row's
1151
+ vertical padding was computed against the control height without allowing for the trigger's own
1152
+ 1px rule top and bottom, which a border-box trigger adds on top. The sizing now lives in one
1153
+ shared helper (`Common/chipTriggerSize`) that `Select` and the deprecated `SelectV2` both read.
1154
+ - **`SearchSelect` — infinite-scroll paging could duplicate a page, loop forever on an
1155
+ exact-multiple total, leak a pending fetch into a closed/unmounted menu, and never scrolled the
1156
+ keyboard-highlighted row into view.** `handleScroll` now reads the live option count at fire
1157
+ time instead of the value captured when its 200ms debounce was scheduled, and won't re-request a
1158
+ `startIndex` it already asked for. `hasMore` takes new optional `pagination.hasMore` /
1159
+ `pagination.totalRecords` overrides, defaults `limit` to 10 (it used to never update when `limit`
1160
+ was omitted), and stops after one page that doesn't grow `options`. The pending page timer is
1161
+ cleared on close/unmount, and the active row now scrolls into view with `block: "nearest"`.
1162
+ - **`Table` — frozen columns sat at the wrong offset, and the pagination bar was misaligned.** The
1163
+ sticky `left` was passed as a bare number, which Chakra reads off the space scale: a 48px offset
1164
+ rendered as `12rem` (192px), and any cumulative frozen-column width landing on the scale jumped
1165
+ 4x. It stayed hidden because the old `CHECKBOX_SLOT_OFFSET = 50` is not a scale value — but 50
1166
+ also missed the real 48px select-all cell by 2px, leaving a slit that scrolled content bled
1167
+ through, and was wrong outright for `variant="studio"`'s 56px slot. The slot is now measured with
1168
+ a `ResizeObserver`, and both offsets interpolate explicit pixels. The pager is one 24px row: the
1169
+ `mt={3}` that faked centring is gone, the steps are `size="xs"` with 16px icons instead of
1170
+ Chakra's 40px default, and the page-size select no longer fights `justify="flex-end"` with
1171
+ `w="100%"`.
1172
+ - **`Table` — virtualized body jumped to the top on an appended page, and never scrolled on a real
1173
+ page change below the virtualize threshold.** The scroll-reset effect now keys on `startRow`
1174
+ actually changing instead of on the 30-row virtualize threshold flipping, so infinite-scroll and
1175
+ grouped `groupLoadMore` appends no longer yank the user to the top, while a real page change
1176
+ resets correctly at any size. A shrinking `data` set no longer strands the window past the end,
1177
+ the offset-lookup binary-searches instead of scanning from 0, and measured row heights are
1178
+ pruned per page instead of growing forever.
1179
+
1180
+ - **`SegmentedControl` / `Switch` guessed the backdrop it was drawn on.** `brandSlide` painted an
1181
+ 8% brand tint composited over `backgroundColor.main` and lifted its unselected-label ink against
1182
+ that same assumed canvas, so on a brand-filled bar the tint sank into the bar and the label
1183
+ measured **1.03–2.03:1 across all 9 brands x 2 modes** — crm's `Overview / Timeline` view switcher
1184
+ on a `primary[700]` bar was unreadable. The track is now an opaque plate on every backdrop: rest
1185
+ ink 7.58–18.39:1, plate-vs-bar 6.31–19.0:1, with no change required at the call site. `surface`
1186
+ is now only a refinement for the plate's hairline edge, and a test gates the invariant.
1187
+ - **A selected `Select`/`SearchSelect`/`SelectSearch`/`CompactSelect` option stacked brand ink on a
1188
+ brand-tinted row** — `CompactSelect` had no selected styling at all. The label is now `text[900]`
1189
+ at weight 500 with the brand carried by a trailing check, matching `OrgSwitcher`. The row tint
1190
+ itself is also settled to one perceptible step off the panel instead of taking the raw token
1191
+ (`selected` 1.16–1.29:1 → 1.151–1.191:1; the pressed-and-selected state above it 1.34–1.52:1 →
1192
+ 1.259–1.340:1), so a too-saturated tint is pulled down as reliably as a too-faint one is lifted.
1193
+ - **Every dropdown row is now one size.** `Select`, `SearchSelect`, `SelectSearch`,
1194
+ `CompactSelect`'s filter, `DropDown`'s menu items and every themed `Menu` item shared six
1195
+ different paddings for the same row; `sm` is now 30px tall everywhere (`padding: 4px 10px`,
1196
+ `font-size: 13px`) instead of `SearchSelect` alone rendering ~34px with a 16px font. Row
1197
+ content — including a `SearchSelect` `option.view` or `Select` `renderOption` node — now inherits
1198
+ its font size from the row, so consumer-rendered row content is no longer stuck at the page's
1199
+ 16px body font.
1200
+ - **A dropdown row's description sub-line fell under AA in dark mode.** Settling the selected rung
1201
+ left `textMuted` at **4.00–4.22:1** on the hovered-selected row across 6 of 9 brands (dark
1202
+ `surfaceRaised` carries only ~0.86 of headroom, so any lighter rung eats it). The sub-line ink is
1203
+ now derived once per palette against that busiest rung, clearing 4.5:1 everywhere; light mode is
1204
+ unchanged because it already cleared.
1205
+ - **`Switch` no longer forces a 200px-wide track when it has no labels.** The width floor now only
1206
+ applies once a label is set, so an unlabelled instance — the wrong component for a boolean field,
1207
+ but one that shipped live in a 120px table cell — shrinks to fit instead of overflowing by 80px.
1208
+ Use `ToggleSwitch` for an on/off field; swapping it in trades `role="radiogroup"` for
1209
+ `role="switch"`, the same `getByRole` break the `InputSwitch` → `ToggleSwitch` migration caused.
1210
+
1211
+ - **`SegmentedControl`'s pill bulged past the plate's corners.** The pill and the segments carried
1212
+ the track's own `lg` radius while sitting 2px inside it, so the plate's band stayed even along the
1213
+ straight edges but pinched to nothing at the corners. They now round concentrically at
1214
+ `calc(radii.lg - TRACK_PADDING)`, and a test gates the relationship.
1215
+ - **Every field's focus ring was too heavy.** Fields reused the button ring — a 2px surface halo
1216
+ plus a 2px brand band — outside a 1px border that also turns brand on focus, so a focused field
1217
+ was ringed by 5px of chrome reading as one fat stroke. Narrowing and fading that band did not fix
1218
+ it: a `0 0 0 Npx` shadow has a hard outer edge at every opacity, and beside a same-hue border it
1219
+ always merges into one thick stroke. Fields now draw `focusGlowShadow` as a **blurred bloom** —
1220
+ `0 0 6px -1px primary.opacity[32]` — with the border still turning `primary[500]` as the
1221
+ accessible 3:1 indicator. Buttons, chips, checkboxes and every borderless control keep the
1222
+ two-tone ring unchanged.
1223
+ - **The Switch demo's "brand-filled bar" was pale in dark mode.** It hardcoded `primary[700]`,
1224
+ which is deep in light and pale in dark, so the bar inverted and the whole comparison was
1225
+ unreadable. It now derives the bar from `resolveFilledSurface(...).activeFill` and **measures**
1226
+ both contrast ratios live against the active brand and mode, instead of printing two numbers that
1227
+ were only ever true in light mode. `segmentedTrackSurface` and `segmentedRestInk`
1228
+ are now one shared module, so the demo, the component and the contrast
1229
+ gate cannot drift apart.
1230
+ - **`SegmentedControl` on a brand-filled bar was unreadable mud.** `brandSlide`'s track is an 8%
1231
+ brand tint, which on a brand bar composites straight back into the bar — the control lost its
1232
+ own surface and the labels had nothing to sit on. With `surface` the track is now an opaque
1233
+ plate (`surfaceRaised`) carrying a 1px inset edge lifted to 3:1 against the bar, because in dark mode
1234
+ the plate and the bar can sit at nearly the same lightness (1.56:1 on radiant) and hue alone
1235
+ would not separate them. The `/switch` demo shows the control instead of a pass/fail ratio pair.
1236
+ - **`Tabs` drew a focus ring that was clipped into two arcs.** `TabList` scrolls, so the outer
1237
+ two-tone ring was cut off on all four sides and rendered as two disconnected side edges rather
1238
+ than a ring. The tab now draws it inside itself (`outline-offset: -2px`), clear of the `outline`
1239
+ variant's own border, in an ink lifted to 3:1 against that tab's own surface.
1240
+ - **`SegmentedControl` / `Switch` drew the button's focus ring.** A segment sits inside a track, so
1241
+ the ring's surface-toned halo painted a white band and both bands landed outside the pill — a
1242
+ thick double border that overflowed the track. A radiogroup is also a single tab stop, so ringing
1243
+ one segment says nothing the selection does not already say. The **group** now carries the
1244
+ indicator: Button's own two-tone ring (halo plus brand band, at least 3:1 on any fill, light and
1245
+ dark) on the track while a segment has keyboard focus (never after a mouse click).
1246
+ `underlineSlide` has no track chrome, so there the
1247
+ segment wears `focusVisibleStyles`. `ThemeSwitcher`'s mode segments follow the same rule through
1248
+ their own border.
1249
+ - **`Switch` clipped long labels.** Its 12.5rem width was fixed, so labels wider than the track
1250
+ overflowed the background; it is now a minimum. `SegmentedControl`'s track carries
1251
+ `minW="max-content"` for the same reason.
1252
+ - **`ThemeSwitcher` had no visible focus indicator.** All four controls used Chakra's `boxShadow:
1253
+ "outline"` token, which resolves to a fully transparent shadow under these brand themes — keyboard
1254
+ focus was invisible. They now use the library's own rings.
1255
+ - **Four fields never used the shared focus style.** `PinInput`, `VerifyEmailOtp`, the
1256
+ `CalendarPanel` month/year selects and the `FilterSidebar` search box each hand-rolled a focus
1257
+ shadow (the last one suppressed it entirely with `boxShadow: "none"`). All four now read
1258
+ `fieldFocusVisible`, so the library has one field focus treatment rather than five.
1259
+ - `SearchSelect` drew its placeholder over the selected chips. The search input is `flex: 1`
1260
+ with `minW: 0`, so a field holding chips shrinks it to near-zero and the placeholder text
1261
+ overflowed across them. The placeholder is now the empty-state hint only — it is dropped as
1262
+ soon as anything is selected, open or closed.
1263
+ - `Select`'s popup panel truncated long option labels. It no longer inherits the trigger width
1264
+ (`matchWidth`); it grows to `max-content` above a measured trigger-width floor, capped at
1265
+ `min(24rem, 100vw - 2rem)`.
1266
+ - `usePrefersReducedMotion` crashed during SSR — it now guards `window.matchMedia`. Affected
1267
+ `Tabs`, `Toaster` and `SideBar`.
1268
+ - `MediaViewer` coalesced several navigation calls landing in the same tick, so six rapid arrow
1269
+ presses advanced one item. Relative moves now compose.
1270
+ - `SideBar` menu labels clipped descenders (g/y/p/q/j), and its nav list showed a bare, unthemed
1271
+ scrollbar when items overflowed.
1272
+ - `SideBar`'s `locked` menu-item flag now actually blocks interaction.
1273
+ - `sidebar.hoverBg` no longer shares `sidebar.divider`'s value.
1274
+ - `InputSwitch`'s `colorScheme` was destructured and discarded — every switch rendered `primary`
1275
+ regardless of the prop. Now forwarded to `ToggleSwitch` and actually applied.
1276
+ - **The `NavLauncher` search engine no longer puts Indic characters in a consumer's minified bundle.** Tamil final-ma and
1277
+ the Devanagari anusvara are built from code points, so hrms's first-load budget gate (it counts Tamil and Devanagari
1278
+ characters) stops reading the engine as locale data. `src/index.indicLiterals.test.ts` bundles the package root with
1279
+ esbuild and fails on any code point in U+0900 to U+0DFF.
1280
+ - **`Table` / `KanbanBoard` saved preferences refetch when `orgId`, `authToken`, `page`, `key` or `name` change after mount.**
1281
+ The fetch depended on `baseUrl` alone, so a switched organisation kept the previous one's saved columns. A slow
1282
+ earlier response can no longer overwrite a newer one, the render a re-key lands is already `loading: true` with no
1283
+ stale data, and `useSavePreferences` clears `error` after a later success.
1284
+ - **`KanbanBoard` re-hydrates its collapsed columns when `orgId` or `token` changes.** The reset effect listed `baseurl`,
1285
+ `page`, `key` and `name` only, so after an organisation switch the previous one's collapsed columns stayed.
1286
+ - **`resolveFilledSurface` / `darkerFillRung`** no longer throw for a scale whose only white-carrying rung is `[50]`. The
1287
+ hover and active steps walked to rungs `150` and `250`, which do not exist; a step now moves along the rung table and
1288
+ clamps at both ends. Every scale that already worked resolves to the same rungs.
1289
+ - **Playground demos stop touching the network and clear their axe findings** (demo-only, nothing here ships in the
1290
+ package). `/charts`, `/avatar`, `/editor` and `/examples/template-editor` no longer request imgur, a dead host or cdnjs;
1291
+ `/contactForm` no longer POSTs to the dev API. `/switch` names its narrow-cell options, the `/chartTheme` legend and the
1292
+ `/wishlistToggle` glass caption clear AA, and `/notification`'s colour override follows dark mode. `visuallyHidden`,
1293
+ `skipLink` and `productDetails` gain a Playground.
1294
+
1295
+ ### Removed
1296
+
1297
+ Nothing exported from the package root. These files were never exported and nothing in the repo imported them; they are
1298
+ gone from `dist/`, so a deep import of one no longer resolves. Measured 2026-10-14: no file in hrms, crm-frontend,
1299
+ account-frontend, tickets, lfour, social-frontend or commerce deep-imports any of them.
1300
+
1301
+ - `services/feedback.ts` (use `FeedbackForm`), the legacy `Input/Input` field (`Input.tsx`, `InputProps.tsx`; use
1302
+ `TextInput`), `Common/ErrorComponent` (use `ErrorMessage` or `FieldMessage`), `Common/FormattedDescription`,
1303
+ `Common/Label` (use `TextLabel`) and `Buttons` (`Buttons.tsx`, `ButtonsProps.ts`; use `Button`).
1304
+
1305
+ ### Deprecated
1306
+
1307
+ Each of these still ships its full implementation.
1308
+
1309
+ - **`OrganizationDetails` `uiInvite` is now optional and ignored.** The component never read it (active vs. invited is
1310
+ decided by which array an organization is in); callers that still pass it compile unchanged, and new ones can drop it.
1311
+ - **`TextInput` `onRightIconclick`** (lower-case `c`): use `onRightIconClick`. Behaviour is unchanged; tagged `@deprecated` in JSDoc.
1312
+ - **`NoteTextArea` callback arguments that are never passed**: `handleCancel`'s `isActive` (always `false`) and
1313
+ `handleSubmit`'s fourth `resetState`. Behaviour is unchanged; both are tagged `@deprecated` in JSDoc.
1314
+ - **`Skeletons` `alignSelf` and `flexShrink`** are marked `@deprecated` in the type: they have never been applied, and
1315
+ applying them now would move layout for anyone passing them. Wrap the skeleton in an element that sets them.
1316
+ - `UploadedFile.type` (FileUploader) — never set; read the extension from `name`.
1317
+ - `ProfileCard` `color` — no visual effect; Card styles never read a colour scheme.
1318
+ - `NotificationData.status` — never read; the status dot colour comes from `dueDate`/`endDate`.
1319
+ - `CustomModulesTableLabels.loading` — never rendered; the loading state shows skeleton bars only.
1320
+ - `WorkspaceWindow` `onMedium` and `onMaximize` — never called; the window has no such controls.
1321
+ - `NavLauncher` `openShortcutHint` and `LauncherLabels.hintOpenMenu` — no longer rendered (the launcher
1322
+ is already open when its footer shows); bind the open chord in the app only. `hintOpenMenu` is now
1323
+ optional, so a full `LauncherLabels` object type-checks without it.
1324
+ - `searchLauncher` — legacy flat search (one Screens group); `NavLauncher` never calls it. Classic mode
1325
+ runs `searchLauncherSections`, which matches a screen on its own label and keywords only ("leave
1326
+ balance" finds nothing unless one screen's keywords carry both words); `searchMode="spotlight"`
1327
+ ranks and also matches a screen on its module and section.
1328
+ - `SelectV2` — use `Select` with `native={false}`; it is already a thin wrapper over it.
1329
+ - `SearchSelect`, `SelectSearch` are **no longer `@deprecated`.** Both now say "prefer `Select`
1330
+ for new work" instead: `@deprecated` claimed a migration that loses real capabilities
1331
+ (`insideSelect`; and `SelectSearch`'s combobox is the text input itself, a different ARIA
1332
+ pattern). The marker returns once `Select` absorbs them.
1333
+ - `Dropdown` is **no longer deprecated.** The marker was an artifact of the Select-consolidation
1334
+ pass; `Dropdown` is a `role="menu"` action menu, never a value picker, and nothing replaces it.
1335
+ - `Notification` is **no longer deprecated.** `NotificationItem` cannot replace it —
1336
+ `formatRelativeTime` clamps every future date to "Just now", so a countdown card silently
1337
+ renders wrong text through it.
1338
+ - `FilterSidebar` `onApply`, `headerPadding`, `sliderMode` and `FilterSection.checkboxes` — dead, never read.
1339
+ Every change is already live through `onChange`, the range slider is always native, and radio mode comes
1340
+ from `type: "radio"` or `radio`.
1341
+ - Dead props now marked rather than silently ignored: `Checkbox.variant`, `ProgressBar.variant`,
1342
+ `Table.isVisiblity` and its export props, `SideBar.selectedSubMenu`, `InputSwitch.variant`/
1343
+ `.spacing`/`.isFocusable`, and nine native-only `Select` props that are inert under
1344
+ `native={false}` (these now warn in dev).
1345
+ - `disabled` → `isDisabled` on `SideBar`, `StageProgress`, `DatePicker` and `TimePicker`. Both
1346
+ are accepted; `isDisabled` wins.
1347
+ - `MultiSelctOPtions` → `MultiSelectOption` (two typos in a shipped public type name).
1348
+
1349
+ Also tagged `@deprecated` in the JSDoc, by component; each tag names its replacement. None is removed in this release.
1350
+
1351
+ - `AlertDialog` `addRole`, `colorScheme`, `size`, `status`, `variant` and `key` — never read. The dialog is always
1352
+ `role="alertdialog"` at Chakra's default size; use `tone` for the colour props, and React strips `key`.
1353
+ - `ApexLineChart` `variant="realtime"` — does not animate the data it is given: it appends `Math.random()` values every
1354
+ second. No replacement ships; `"basic"`, the default, plots your `data`.
1355
+ - `Breadcrumbs` `isLastChild` — never read, no effect.
1356
+ - `ButtonGoupIconProps` (misspelled file path, a one-line re-export) — import `ButtonGroupIconProps`.
1357
+ - `Card` `colorScheme` and `color` — no visual effect, Card styles read no colour scheme. `dividercolor`,
1358
+ `dividersize` and `dividervariant` — never rendered, Card draws no divider.
1359
+ - `DatePicker` `placeholderText` — use `placeholder`; `placeholder` wins when both are set.
1360
+ - `Drawer` `vaiant` — typo of `variant`, kept as an alias; `variant` wins.
1361
+ - `Dropdown` `optionsSize` — use `size`.
1362
+ - `InputSwitch` and `ThemedSwitchProps` — use `ToggleSwitch`; `InputSwitch` is a thin wrapper around it.
1363
+ - `MediaViewerLabels` `photoCount`, `videoCount`, `documentCount`, `youtubeCount` and `shortcuts`, and the `loading`
1364
+ label of `MediaAudioPlayerLabels` and `MediaVideoPlayerLabels` — defined but never read.
1365
+ - `OrganizationDetails` `OrganizationItem.uiInvite` — never read (active vs. invited comes from which array an item is in)
1366
+ but still required, so keep passing it. `CreateOrgFormValues` `default` and `defaultOrg` — never populated by the
1367
+ built-in create modal.
1368
+ - `STATUS_INK` (`PlanPill`) — use `colors.white` from `useCustomTheme()`.
1369
+ - `ProfileCardVariantLegacy` (`variant="outlein"`) — misspelling kept for existing callers; use `"outline"`.
1370
+ - `ProgressBar` `color` — use `colorScheme`; `color` is still honoured while `colorScheme` is unset.
1371
+ - `Search` `onclose` — use `onClear`; same behaviour, consistent casing.
1372
+ - `SearchSelect` `onSelect` — use `onChange`, same payload. `virtualization` — not implemented, the list never
1373
+ virtualizes; page large datasets with `pagination`. `SelectSearch` `isSearchEnabled` and `BottomIconStyle` — never read.
1374
+ - `chakraSelectProps` — the deep-import name of `SelectProps`; import `SelectProps` from the package root.
1375
+ - `SelectV2SingleProps`, `SelectV2MultiProps` and `SelectV2Props` — use `SelectSingleProps`, `SelectMultiProps` and
1376
+ `SelectProps` with `native={false}`.
1377
+ - `Switch` and `SwitchProps` — two labelled choices; use `SegmentedControl`, or `ToggleSwitch` for a single on/off field.
1378
+ - `Table` `handleExportChange`, `exportOptions`, `exportLabel`, `headerBgColor`, `tableBorderColor`, `onColumnFilter`,
1379
+ `tableSettings` and the column-level `isSearch` — dead, never read.
1380
+ - `Timeline` `events` and its `TimelineEvent` type — use `timelineEvents`. `TimelineNote.logs_id` is never read;
1381
+ `TimelineEvents.primary_id` and `is_from` are never read but still required, so keep passing them.
1382
+ - `Toaster` `showToast({ children })` — never rendered; pass `description`.
1383
+ - `avatarFillFor` — use `resolveAvatarColorway(seed, colors)`; different arity, returns `{ bg, color }`.
1384
+
1385
+ ### Breaking in 3.0.0
1386
+
1387
+ **`ProductCard` / `ProductDetails` props are replaced, and `ProductImageSlider` is gone.** Zero
1388
+ known consumers in the Pixelize repos. `ProductCard` drops `id`, `label`, `description`,
1389
+ `productImage`, `tags`, `reviews`, `options`, `button`, `onClick`, `onAddToCart`, `onNotifyMe`,
1390
+ `onOptionChange`, `addToCart`, `goToCart`, `notifyMe`, `OnGoToCart`, `batch`, `size`,
1391
+ `avalabilitys`, `isQtyEditable`, `displayRating`; `ProductDetails` drops its old image/video,
1392
+ option and cart-callback props (it takes `product`, `selection`, `onAddToBag` and slots). Video
1393
+ and YouTube/Vimeo frames are now `ProductMedia` items in `MediaGallery`.
1394
+
1395
+ **`Card` `padding` narrows from Chakra's style prop to `CardPadding`.** `padding={4}` stops
1396
+ compiling; use `p` / `sx` for arbitrary values. No use inside this repo; consumers not measured, so
1397
+ run `tsc --noEmit` in each before upgrading.
1398
+
1399
+ **`star` is a required `PaletteProps` token.** A hand-written palette without it throws in
1400
+ `assertPixelizePalette` naming `star`; palettes built from the library's builders get it for free.
1401
+
1402
+ **34 Chakra value passthroughs (and 12 type passthroughs) are removed from the Primitives barrel**,
1403
+ because each duplicated a component this library already owns. The point of the library is one
1404
+ place to change the UI; a Chakra twin beside an owned component means half the call sites bypass
1405
+ the theme.
1406
+
1407
+ Every removal is a **compile error, never a silent behaviour change** — the owned components' props
1408
+ differ, so `tsc` names each site and nothing must be found by hand.
1409
+
1410
+ - `Tabs` takes `value: string` where Chakra's took `index: number`.
1411
+ - `RangeSlider`'s old sub-parts (`SliderTrack`, `SliderFilledTrack`, `SliderThumb`, `SliderMark`)
1412
+ are gone; the owned component renders its own internals.
1413
+ - `Avatar`/`AvatarGroup` keep their names but narrow their props: `name` is required, Chakra style
1414
+ props are rejected, and `AvatarGroup` takes a `people` array instead of `Avatar` children.
1415
+
1416
+ **Blast radius is measured per consumer and stated once**, in the repository's `CLAUDE.md` section 7, rather
1417
+ than copied here where it can drift.
1418
+
1419
+ Get the current number from `scripts/verify-consumers.sh check`, which typechecks every consumer
1420
+ against a real build — **do not estimate it by grep.** A grep conflates names that were removed
1421
+ outright (`ChakraModal*`, `CardBody`, `ModalContent`, the `Slider*` sub-parts)
1422
+ with names that still resolve but narrowed (`Avatar`, `AvatarGroup`, `Tabs`, `Tab`, `TabList`, `TabPanel`, `TabPanels`, `RangeSlider`), and
1423
+ overcounts badly — that mistake has already been made twice in this repo's own planning docs.
1424
+
1425
+ Layout and composition primitives with no owned equivalent stay exported: `Box`, `Flex`, `Stack`,
1426
+ `Grid`, `Text`, `Heading`, `Divider`, `Badge`, `Alert*`, `Menu*`, `Popover*`, `FormControl*`,
1427
+ `List*`, `Portal`, `TableRoot` and the Chakra hooks.
1428
+
1429
+ Consumers pin published versions, so none of this bites until a repo upgrades.
1430
+
1431
+ ### Known gaps
1432
+
1433
+ Tracked in `.cursor/plans/deferred-breaking-changes.md` (repo-only). The ones a consumer can hit:
1434
+
1435
+ - `Select`'s `onLoadMore` is zero-arg with no `hasMore` gate, unlike `SearchSelect.pagination`.
1436
+ - Migrating `SearchSelect` → `Select` by hand: `SearchSelect.onSearch` debounces **1000 ms**;
1437
+ `Select.searchDebounceMs` defaults to **0**. A mechanical rename starts firing the consumer's
1438
+ API on every keystroke.
1439
+ - React 19 is not supported — `peerDependencies` pins React `^18.3.1`, in step with Chakra 2.8.