pixelize-design-library 2.4.2-beta.5 → 2.4.2-beta.51

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 (1168) hide show
  1. package/CHANGELOG.md +300 -0
  2. package/COMPONENT-GOTCHAS.md +1460 -0
  3. package/DESIGN-GUIDE.md +214 -0
  4. package/README.md +77 -26
  5. package/dist/Components/Accordion/Accordion.d.ts +1 -0
  6. package/dist/Components/Accordion/Accordion.js +8 -7
  7. package/dist/Components/Accordion/AccordionProps.d.ts +2 -0
  8. package/dist/Components/Accordion/accordionColors.d.ts +6 -0
  9. package/dist/Components/Accordion/accordionColors.js +11 -11
  10. package/dist/Components/AlertDialog/AlertDialog.d.ts +2 -1
  11. package/dist/Components/AlertDialog/AlertDialog.js +6 -5
  12. package/dist/Components/AlertDialog/AlertDialogProps.d.ts +27 -2
  13. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.d.ts +1 -0
  14. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +7 -2
  15. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChartProps.d.ts +4 -0
  16. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts +1 -0
  17. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +8 -4
  18. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +6 -0
  19. package/dist/Components/Apexcharts/ApexChartFallback.d.ts +7 -0
  20. package/dist/Components/Apexcharts/ApexChartFallback.js +10 -0
  21. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts +1 -0
  22. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +7 -2
  23. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChartProps.d.ts +8 -0
  24. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts +1 -0
  25. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +7 -2
  26. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +6 -0
  27. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts +1 -0
  28. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +9 -5
  29. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarChartsProps.d.ts +3 -0
  30. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.d.ts +1 -0
  31. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +7 -4
  32. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChartProps.d.ts +3 -0
  33. package/dist/Components/Apexcharts/LazyReactApexChart.d.ts +2 -0
  34. package/dist/Components/Apexcharts/LazyReactApexChart.js +40 -0
  35. package/dist/Components/AppSwitcher/AppMark.d.ts +14 -0
  36. package/dist/Components/AppSwitcher/AppMark.js +58 -0
  37. package/dist/Components/AppSwitcher/AppSwitcher.d.ts +4 -0
  38. package/dist/Components/AppSwitcher/AppSwitcher.js +273 -0
  39. package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +70 -0
  40. package/dist/Components/AppSwitcher/AppSwitcherProps.js +86 -0
  41. package/dist/Components/AppSwitcher/useAppSwitcherShortcut.d.ts +3 -0
  42. package/dist/Components/AppSwitcher/useAppSwitcherShortcut.js +31 -0
  43. package/dist/Components/AppearanceSettings/AppearanceSettings.js +2 -1
  44. package/dist/Components/AppearanceSettings/AppearanceSettingsProps.d.ts +2 -0
  45. package/dist/Components/Avatar/Avatar.d.ts +3 -0
  46. package/dist/Components/Avatar/Avatar.js +24 -0
  47. package/dist/Components/Avatar/AvatarGroup.d.ts +3 -0
  48. package/dist/Components/Avatar/AvatarGroup.js +24 -0
  49. package/dist/Components/Avatar/AvatarGroupProps.d.ts +19 -0
  50. package/dist/Components/Avatar/AvatarProps.d.ts +22 -0
  51. package/dist/Components/Avatar/AvatarProps.js +2 -0
  52. package/dist/Components/Avatar/avatarColorway.d.ts +11 -0
  53. package/dist/Components/Avatar/avatarColorway.js +31 -0
  54. package/dist/Components/Avatar/avatarSizing.d.ts +5 -0
  55. package/dist/Components/Avatar/avatarSizing.js +15 -0
  56. package/dist/Components/Backdrop/Backdrop.d.ts +3 -0
  57. package/dist/Components/Backdrop/Backdrop.js +34 -0
  58. package/dist/Components/Backdrop/BackdropProps.d.ts +33 -0
  59. package/dist/Components/Backdrop/BackdropProps.js +2 -0
  60. package/dist/Components/Breadcrumbs/Breadcrumbs.js +14 -4
  61. package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +3 -0
  62. package/dist/Components/Breadcrumbs/breadcrumbInk.d.ts +9 -0
  63. package/dist/Components/Breadcrumbs/breadcrumbInk.js +11 -0
  64. package/dist/Components/Button/Button.d.ts +2 -2
  65. package/dist/Components/Button/Button.js +4 -3
  66. package/dist/Components/Button/Button.styles.js +47 -74
  67. package/dist/Components/Button/ButtonProps.d.ts +15 -1
  68. package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +2 -35
  69. package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.js +16 -0
  70. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts +1 -1
  71. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +5 -14
  72. package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.d.ts +42 -0
  73. package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.js +2 -0
  74. package/dist/Components/Buttons/Buttons.d.ts +1 -1
  75. package/dist/Components/Buttons/Buttons.js +5 -3
  76. package/dist/Components/Buttons/ButtonsProps.d.ts +6 -0
  77. package/dist/Components/Card/Card.d.ts +18 -2
  78. package/dist/Components/Card/Card.js +10 -5
  79. package/dist/Components/Card/CardProps.d.ts +27 -7
  80. package/dist/Components/Card/PaymentCard/PaymentCard.js +31 -18
  81. package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +6 -0
  82. package/dist/Components/Checkbox/Checkbox.d.ts +2 -1
  83. package/dist/Components/Checkbox/Checkbox.js +11 -8
  84. package/dist/Components/Checkbox/Checkbox.styles.js +44 -34
  85. package/dist/Components/Checkbox/CheckboxProps.d.ts +13 -0
  86. package/dist/Components/Common/ErrorComponent.d.ts +2 -0
  87. package/dist/Components/Common/ErrorComponent.js +7 -5
  88. package/dist/Components/Common/ErrorMessage.d.ts +1 -1
  89. package/dist/Components/Common/ErrorMessage.js +3 -3
  90. package/dist/Components/Common/FieldMessage.d.ts +9 -0
  91. package/dist/Components/Common/FieldMessage.js +19 -0
  92. package/dist/Components/Common/FormLabel.d.ts +13 -0
  93. package/dist/Components/Common/FormLabel.js +16 -9
  94. package/dist/Components/Common/FormattedDescription.d.ts +2 -0
  95. package/dist/Components/Common/FormattedDescription.js +1 -0
  96. package/dist/Components/Common/HelperText.d.ts +2 -0
  97. package/dist/Components/Common/HelperText.js +4 -1
  98. package/dist/Components/Common/Label.d.ts +1 -0
  99. package/dist/Components/Common/Label.js +3 -1
  100. package/dist/Components/Common/chipTriggerSize.d.ts +10 -0
  101. package/dist/Components/Common/chipTriggerSize.js +15 -0
  102. package/dist/Components/Common/fieldMessageStyles.d.ts +19 -0
  103. package/dist/Components/Common/fieldMessageStyles.js +18 -0
  104. package/dist/Components/Common/fieldStyles.d.ts +46 -9
  105. package/dist/Components/Common/fieldStyles.js +72 -30
  106. package/dist/Components/Common/iconBox.d.ts +3 -0
  107. package/dist/Components/Common/iconBox.js +16 -0
  108. package/dist/Components/Common/useFieldIds.d.ts +16 -0
  109. package/dist/Components/Common/useFieldIds.js +27 -0
  110. package/dist/Components/ConfirmDialog/ConfirmDialog.d.ts +4 -0
  111. package/dist/Components/ConfirmDialog/ConfirmDialog.js +23 -0
  112. package/dist/Components/ConfirmDialog/ConfirmDialogProps.d.ts +45 -0
  113. package/dist/Components/ConfirmDialog/ConfirmDialogProps.js +2 -0
  114. package/dist/Components/ContactForm/ContactForm.d.ts +2 -1
  115. package/dist/Components/ContactForm/ContactForm.js +19 -14
  116. package/dist/Components/ContactForm/ContactFormProps.d.ts +18 -0
  117. package/dist/Components/CopyButton/CopyButton.d.ts +3 -1
  118. package/dist/Components/CopyButton/CopyButton.js +11 -6
  119. package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +8 -0
  120. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
  121. package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -4
  122. package/dist/Components/DatePicker/CalendarPanel.d.ts +6 -0
  123. package/dist/Components/DatePicker/CalendarPanel.js +42 -24
  124. package/dist/Components/DatePicker/DatePicker.d.ts +5 -2
  125. package/dist/Components/DatePicker/DatePicker.js +12 -49
  126. package/dist/Components/DatePicker/DatePickerProps.d.ts +76 -2
  127. package/dist/Components/DatePicker/DatePickerProps.js +3 -0
  128. package/dist/Components/DatePicker/RangeDatePicker.d.ts +1 -0
  129. package/dist/Components/DatePicker/RangeDatePicker.js +41 -20
  130. package/dist/Components/DatePicker/SingleDatePicker.d.ts +5 -2
  131. package/dist/Components/DatePicker/SingleDatePicker.js +82 -64
  132. package/dist/Components/DatePicker/ThemeDatePicker.d.ts +4 -2
  133. package/dist/Components/DatePicker/ThemeDatePicker.js +12 -17
  134. package/dist/Components/DatePicker/TimeOnlyPicker.d.ts +5 -2
  135. package/dist/Components/DatePicker/TimeOnlyPicker.js +44 -21
  136. package/dist/Components/DatePicker/TimePicker.d.ts +1 -0
  137. package/dist/Components/DatePicker/TimePicker.js +9 -12
  138. package/dist/Components/DatePicker/TimePickerInput.d.ts +6 -1
  139. package/dist/Components/DatePicker/TimePickerInput.js +5 -10
  140. package/dist/Components/DatePicker/dayStates.d.ts +33 -0
  141. package/dist/Components/DatePicker/dayStates.js +75 -0
  142. package/dist/Components/DatePicker/pickerField.d.ts +24 -0
  143. package/dist/Components/DatePicker/pickerField.js +31 -0
  144. package/dist/Components/DatePicker/valueFormat.d.ts +4 -0
  145. package/dist/Components/DatePicker/valueFormat.js +21 -0
  146. package/dist/Components/DescriptionList/DescriptionList.d.ts +4 -0
  147. package/dist/Components/DescriptionList/DescriptionList.js +32 -0
  148. package/dist/Components/DescriptionList/DescriptionListProps.d.ts +29 -0
  149. package/dist/Components/DescriptionList/DescriptionListProps.js +2 -0
  150. package/dist/Components/Divider/Divider.d.ts +1 -0
  151. package/dist/Components/Divider/Divider.js +1 -0
  152. package/dist/Components/Drawer/Drawer.d.ts +5 -11
  153. package/dist/Components/Drawer/Drawer.js +22 -8
  154. package/dist/Components/Drawer/DrawerProps.d.ts +16 -2
  155. package/dist/Components/Dropdown/DropDown.d.ts +1 -0
  156. package/dist/Components/Dropdown/DropDown.js +64 -36
  157. package/dist/Components/Dropdown/DropdownProps.d.ts +17 -1
  158. package/dist/Components/Editor/Editor.d.ts +1 -0
  159. package/dist/Components/Editor/Editor.js +13 -0
  160. package/dist/Components/Editor/EditorProps.d.ts +2 -0
  161. package/dist/Components/Editor/joditAccessibility.d.ts +1 -0
  162. package/dist/Components/Editor/joditAccessibility.js +28 -0
  163. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts +1 -0
  164. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -8
  165. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +4 -0
  166. package/dist/Components/EmptyState/EmptyState.d.ts +1 -0
  167. package/dist/Components/EmptyState/EmptyState.js +25 -14
  168. package/dist/Components/EmptyState/EmptyStateProps.d.ts +8 -1
  169. package/dist/Components/FeedbackForm/FeedbackForm.d.ts +3 -0
  170. package/dist/Components/FeedbackForm/FeedbackForm.js +19 -5
  171. package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts +3 -2
  172. package/dist/Components/FieldSelectModal/FieldSelectModal.js +3 -4
  173. package/dist/Components/FilePreview/FilePreview.d.ts +1 -0
  174. package/dist/Components/FilePreview/FilePreview.js +11 -9
  175. package/dist/Components/FilePreview/FilePreviewProps.d.ts +5 -2
  176. package/dist/Components/FileUpload/FileUpload.d.ts +1 -0
  177. package/dist/Components/FileUpload/FileUpload.js +27 -6
  178. package/dist/Components/FileUpload/FileUploadProps.d.ts +29 -1
  179. package/dist/Components/FileUpload/constants.d.ts +1 -0
  180. package/dist/Components/FileUpload/constants.js +3 -1
  181. package/dist/Components/FileUploader/FileUploader.d.ts +1 -0
  182. package/dist/Components/FileUploader/FileUploader.js +7 -5
  183. package/dist/Components/FileUploader/FileUploaderProps.d.ts +2 -0
  184. package/dist/Components/FilterBar/FilterBar.d.ts +4 -0
  185. package/dist/Components/FilterBar/FilterBar.js +17 -0
  186. package/dist/Components/FilterBar/FilterBarProps.d.ts +25 -0
  187. package/dist/Components/FilterBar/FilterBarProps.js +2 -0
  188. package/dist/Components/FilterSidebar/FilterSidebar.d.ts +3 -0
  189. package/dist/Components/FilterSidebar/FilterSidebar.js +28 -33
  190. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +2 -10
  191. package/dist/Components/FilterSidebar/filterHoverStyle.js +3 -10
  192. package/dist/Components/Form/FormWrapper.d.ts +3 -0
  193. package/dist/Components/Form/FormWrapper.js +2 -1
  194. package/dist/Components/Header/Header.d.ts +0 -15
  195. package/dist/Components/Header/Header.js +2 -16
  196. package/dist/Components/Header/HeaderActions.d.ts +4 -0
  197. package/dist/Components/Header/HeaderActions.js +4 -4
  198. package/dist/Components/Header/HeaderProps.d.ts +19 -1
  199. package/dist/Components/Header/components/desktopMenu.d.ts +1 -1
  200. package/dist/Components/Header/components/desktopMenu.js +10 -11
  201. package/dist/Components/Header/components/mobileMenu.d.ts +1 -1
  202. package/dist/Components/Header/components/mobileMenu.js +26 -14
  203. package/dist/Components/Input/Input/Input.d.ts +1 -1
  204. package/dist/Components/Input/Input/Input.js +3 -2
  205. package/dist/Components/Input/Input/InputProps.d.ts +5 -0
  206. package/dist/Components/Input/PhoneNumberInput.d.ts +2 -1
  207. package/dist/Components/Input/PhoneNumberInput.js +7 -3
  208. package/dist/Components/Input/PhoneNumberInputProps.d.ts +6 -1
  209. package/dist/Components/Input/Switch/InputSwitch.d.ts +16 -3
  210. package/dist/Components/Input/Switch/InputSwitch.js +17 -18
  211. package/dist/Components/Input/TextInput.js +80 -6
  212. package/dist/Components/Input/TextInput.styles.d.ts +18 -1
  213. package/dist/Components/Input/TextInput.styles.js +47 -90
  214. package/dist/Components/Input/TextInputProps.d.ts +44 -7
  215. package/dist/Components/Input/textInputIconSize.d.ts +2 -7
  216. package/dist/Components/Input/textInputIconSize.js +6 -32
  217. package/dist/Components/Input/useAriaRequired.d.ts +2 -0
  218. package/dist/Components/Input/useAriaRequired.js +19 -0
  219. package/dist/Components/InputTextArea/InputTextArea.d.ts +2 -1
  220. package/dist/Components/InputTextArea/InputTextArea.js +9 -4
  221. package/dist/Components/InputTextArea/InputTextArea.style.js +13 -67
  222. package/dist/Components/InputTextArea/InputTextAreaProps.d.ts +9 -1
  223. package/dist/Components/KanbanBoard/AccountCard.d.ts +3 -0
  224. package/dist/Components/KanbanBoard/AccountCard.js +9 -5
  225. package/dist/Components/KanbanBoard/AccountRow.d.ts +1 -0
  226. package/dist/Components/KanbanBoard/AccountRow.js +1 -0
  227. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.d.ts +2 -0
  228. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  229. package/dist/Components/KanbanBoard/KanbanBoard.d.ts +2 -1
  230. package/dist/Components/KanbanBoard/KanbanBoard.js +86 -49
  231. package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +71 -28
  232. package/dist/Components/KanbanBoard/MeasuredItem.d.ts +1 -0
  233. package/dist/Components/KanbanBoard/MeasuredItem.js +1 -0
  234. package/dist/Components/KanbanBoard/index.d.ts +2 -0
  235. package/dist/Components/KanbanBoard/index.js +8 -0
  236. package/dist/Components/LazyWrapper/LazyWrapper.d.ts +3 -2
  237. package/dist/Components/LazyWrapper/LazyWrapper.js +1 -0
  238. package/dist/Components/LimitReachedModal/LimitReachedModal.js +1 -1
  239. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +4 -1
  240. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +2 -0
  241. package/dist/Components/LimitReachedModal/limitReachedCopy.js +3 -3
  242. package/dist/Components/Loading/Loading.d.ts +2 -1
  243. package/dist/Components/Loading/Loading.js +17 -15
  244. package/dist/Components/Loading/LoadingProps.d.ts +7 -1
  245. package/dist/Components/MediaViewer/MediaViewer.d.ts +5 -0
  246. package/dist/Components/MediaViewer/MediaViewer.js +234 -0
  247. package/dist/Components/MediaViewer/MediaViewerProps.d.ts +92 -0
  248. package/dist/Components/MediaViewer/MediaViewerProps.js +32 -0
  249. package/dist/Components/MediaViewer/components/MediaAudioPlayer.d.ts +4 -0
  250. package/dist/Components/MediaViewer/components/MediaAudioPlayer.js +138 -0
  251. package/dist/Components/MediaViewer/components/MediaAudioPlayerProps.d.ts +48 -0
  252. package/dist/Components/MediaViewer/components/MediaAudioPlayerProps.js +21 -0
  253. package/dist/Components/MediaViewer/components/MediaDocumentStage.d.ts +4 -0
  254. package/dist/Components/MediaViewer/components/MediaDocumentStage.js +149 -0
  255. package/dist/Components/MediaViewer/components/MediaDocumentStageProps.d.ts +42 -0
  256. package/dist/Components/MediaViewer/components/MediaDocumentStageProps.js +11 -0
  257. package/dist/Components/MediaViewer/components/MediaImageViewer.d.ts +4 -0
  258. package/dist/Components/MediaViewer/components/MediaImageViewer.js +103 -0
  259. package/dist/Components/MediaViewer/components/MediaImageViewerProps.d.ts +47 -0
  260. package/dist/Components/MediaViewer/components/MediaImageViewerProps.js +18 -0
  261. package/dist/Components/MediaViewer/components/MediaScrubber.d.ts +5 -0
  262. package/dist/Components/MediaViewer/components/MediaScrubber.js +89 -0
  263. package/dist/Components/MediaViewer/components/MediaScrubberProps.d.ts +30 -0
  264. package/dist/Components/MediaViewer/components/MediaScrubberProps.js +2 -0
  265. package/dist/Components/MediaViewer/components/MediaStatusPanel.d.ts +5 -0
  266. package/dist/Components/MediaViewer/components/MediaStatusPanel.js +14 -0
  267. package/dist/Components/MediaViewer/components/MediaStatusPanelProps.d.ts +24 -0
  268. package/dist/Components/MediaViewer/components/MediaStatusPanelProps.js +2 -0
  269. package/dist/Components/MediaViewer/components/MediaVideoPlayer.d.ts +4 -0
  270. package/dist/Components/MediaViewer/components/MediaVideoPlayer.js +248 -0
  271. package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.d.ts +71 -0
  272. package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.js +31 -0
  273. package/dist/Components/MediaViewer/components/TileChip.d.ts +5 -0
  274. package/dist/Components/MediaViewer/components/TileChip.js +12 -0
  275. package/dist/Components/MediaViewer/components/TileChipProps.d.ts +7 -0
  276. package/dist/Components/MediaViewer/components/TileChipProps.js +2 -0
  277. package/dist/Components/MediaViewer/components/VideoPoster.d.ts +5 -0
  278. package/dist/Components/MediaViewer/components/VideoPoster.js +16 -0
  279. package/dist/Components/MediaViewer/components/VideoPosterProps.d.ts +6 -0
  280. package/dist/Components/MediaViewer/components/VideoPosterProps.js +2 -0
  281. package/dist/Components/MediaViewer/components/ViewerIconButton.d.ts +5 -0
  282. package/dist/Components/MediaViewer/components/ViewerIconButton.js +20 -0
  283. package/dist/Components/MediaViewer/components/ViewerIconButtonProps.d.ts +24 -0
  284. package/dist/Components/MediaViewer/components/ViewerIconButtonProps.js +2 -0
  285. package/dist/Components/MediaViewer/components/mediaKindIcon.d.ts +5 -0
  286. package/dist/Components/MediaViewer/components/mediaKindIcon.js +23 -0
  287. package/dist/Components/MediaViewer/components/sanitizeDocxHrefs.d.ts +1 -0
  288. package/dist/Components/MediaViewer/components/sanitizeDocxHrefs.js +30 -0
  289. package/dist/Components/MediaViewer/hooks/useAutoHideChrome.d.ts +15 -0
  290. package/dist/Components/MediaViewer/hooks/useAutoHideChrome.js +43 -0
  291. package/dist/Components/MediaViewer/hooks/useFileViewer.d.ts +18 -0
  292. package/dist/Components/MediaViewer/hooks/useFileViewer.js +51 -0
  293. package/dist/Components/MediaViewer/mediaItems.d.ts +64 -0
  294. package/dist/Components/MediaViewer/mediaItems.js +196 -0
  295. package/dist/Components/MediaViewer/useViewerChrome.d.ts +15 -0
  296. package/dist/Components/MediaViewer/useViewerChrome.js +30 -0
  297. package/dist/Components/Modal/Modal.d.ts +5 -11
  298. package/dist/Components/Modal/Modal.js +24 -18
  299. package/dist/Components/Modal/ModalProps.d.ts +19 -2
  300. package/dist/Components/MoreItems/MoreItems.d.ts +1 -0
  301. package/dist/Components/MoreItems/MoreItems.js +7 -2
  302. package/dist/Components/MoreItems/MoreItemsProps.d.ts +4 -2
  303. package/dist/Components/MultiSelect/MultiSelect.d.ts +1 -1
  304. package/dist/Components/MultiSelect/MultiSelect.js +40 -28
  305. package/dist/Components/MultiSelect/MultiSelectProps.d.ts +15 -3
  306. package/dist/Components/NavigationBar/NavigationBar.js +17 -16
  307. package/dist/Components/NavigationBar/NavigationBarProps.d.ts +3 -0
  308. package/dist/Components/NoteTextArea/NoteTextArea.d.ts +4 -1
  309. package/dist/Components/NoteTextArea/NoteTextArea.js +19 -9
  310. package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +6 -2
  311. package/dist/Components/Notification/Notification.d.ts +1 -0
  312. package/dist/Components/Notification/Notification.js +10 -2
  313. package/dist/Components/Notification/NotificationProps.d.ts +6 -0
  314. package/dist/Components/NotificationBell/NotificationBell.d.ts +4 -0
  315. package/dist/Components/NotificationBell/NotificationBell.js +35 -0
  316. package/dist/Components/NotificationBell/NotificationBellProps.d.ts +147 -0
  317. package/dist/Components/NotificationBell/NotificationBellProps.js +2 -0
  318. package/dist/Components/NotificationBell/NotificationItem.d.ts +4 -0
  319. package/dist/Components/NotificationBell/NotificationItem.js +34 -0
  320. package/dist/Components/NotificationBell/NotificationList.d.ts +4 -0
  321. package/dist/Components/NotificationBell/NotificationList.js +41 -0
  322. package/dist/Components/NotificationBell/NotificationPanel.d.ts +4 -0
  323. package/dist/Components/NotificationBell/NotificationPanel.js +36 -0
  324. package/dist/Components/NotificationBell/index.d.ts +6 -0
  325. package/dist/Components/NotificationBell/index.js +30 -0
  326. package/dist/Components/NotificationBell/notificationHelpers.d.ts +32 -0
  327. package/dist/Components/NotificationBell/notificationHelpers.js +115 -0
  328. package/dist/Components/NumberInput/NumberInput.d.ts +6 -1
  329. package/dist/Components/NumberInput/NumberInput.js +9 -2
  330. package/dist/Components/NumberInput/NumberInput.styles.js +19 -77
  331. package/dist/Components/NumberInput/NumberInputProps.d.ts +23 -1
  332. package/dist/Components/OrgSwitcher/OrgSwitcher.js +18 -22
  333. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +7 -2
  334. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +3 -1
  335. package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -1
  336. package/dist/Components/OrganizationDetails/DeleteOrgModal.js +4 -6
  337. package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts +1 -0
  338. package/dist/Components/OrganizationDetails/OrganizationDetails.js +12 -9
  339. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +17 -4
  340. package/dist/Components/PageHeader/PageHeader.d.ts +4 -0
  341. package/dist/Components/PageHeader/PageHeader.js +11 -0
  342. package/dist/Components/PageHeader/PageHeaderProps.d.ts +20 -0
  343. package/dist/Components/PageHeader/PageHeaderProps.js +2 -0
  344. package/dist/Components/PdfViewer/PdfViewer.d.ts +2 -1
  345. package/dist/Components/PdfViewer/PdfViewer.js +7 -1
  346. package/dist/Components/PersonChip/PersonChip.d.ts +3 -0
  347. package/dist/Components/PersonChip/PersonChip.js +47 -0
  348. package/dist/Components/PersonChip/PersonChipProps.d.ts +33 -0
  349. package/dist/Components/PersonChip/PersonChipProps.js +2 -0
  350. package/dist/Components/PinInput/PinInput.d.ts +2 -1
  351. package/dist/Components/PinInput/PinInput.js +11 -9
  352. package/dist/Components/PinInput/PinInputProps.d.ts +3 -0
  353. package/dist/Components/PinInput/pinInputCellSize.d.ts +7 -0
  354. package/dist/Components/PinInput/pinInputCellSize.js +10 -0
  355. package/dist/Components/PlanBadge/PlanBadge.d.ts +0 -7
  356. package/dist/Components/PlanBadge/PlanBadge.js +1 -7
  357. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +2 -0
  358. package/dist/Components/PlanPill/PlanPill.js +2 -3
  359. package/dist/Components/PlanPill/PlanPillProps.d.ts +2 -0
  360. package/dist/Components/PlanPill/planPillGradient.d.ts +5 -21
  361. package/dist/Components/PlanPill/planPillGradient.js +8 -23
  362. package/dist/Components/Primitives/Primitives.d.ts +3 -0
  363. package/dist/Components/Primitives/Primitives.js +75 -0
  364. package/dist/Components/ProductCard/ProductCardProps.d.ts +10 -0
  365. package/dist/Components/ProductCard/ProductPrice.js +18 -7
  366. package/dist/Components/ProductCard/ProductReview.d.ts +1 -0
  367. package/dist/Components/ProductCard/ProductReview.js +8 -2
  368. package/dist/Components/ProductCard/ProductTags.js +1 -1
  369. package/dist/Components/ProductDetails/ProductDetails.js +1 -1
  370. package/dist/Components/ProductDetails/ProductDetailsProps.d.ts +7 -0
  371. package/dist/Components/ProductDetails/ProductDtlPrice.js +5 -5
  372. package/dist/Components/ProductDetails/ProductImageSlider.d.ts +3 -1
  373. package/dist/Components/ProductDetails/ProductImageSlider.js +36 -20
  374. package/dist/Components/ProfileCard/ProfileCard.d.ts +4 -10
  375. package/dist/Components/ProfileCard/ProfileCard.js +26 -11
  376. package/dist/Components/ProfileCard/ProfileCardProps.d.ts +10 -1
  377. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -0
  378. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +11 -6
  379. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +9 -1
  380. package/dist/Components/ProgressBar/ProgressBar.d.ts +2 -1
  381. package/dist/Components/ProgressBar/ProgressBar.js +28 -3
  382. package/dist/Components/ProgressBar/ProgressBarProps.d.ts +10 -2
  383. package/dist/Components/QueryState/ErrorState.d.ts +4 -0
  384. package/dist/Components/QueryState/ErrorState.js +16 -0
  385. package/dist/Components/QueryState/QueryStateBoundary.d.ts +4 -0
  386. package/dist/Components/QueryState/QueryStateBoundary.js +25 -0
  387. package/dist/Components/QueryState/QueryStateProps.d.ts +48 -0
  388. package/dist/Components/QueryState/QueryStateProps.js +2 -0
  389. package/dist/Components/RadioButton/RadioButton.d.ts +2 -2
  390. package/dist/Components/RadioButton/RadioButton.js +34 -13
  391. package/dist/Components/RadioButton/RadioButtonProps.d.ts +50 -4
  392. package/dist/Components/RangeSlider/RangeSlider.d.ts +4 -0
  393. package/dist/Components/RangeSlider/RangeSlider.js +136 -0
  394. package/dist/Components/RangeSlider/RangeSliderProps.d.ts +74 -0
  395. package/dist/Components/RangeSlider/RangeSliderProps.js +2 -0
  396. package/dist/Components/RangeSlider/rangeSliderColors.d.ts +9 -0
  397. package/dist/Components/RangeSlider/rangeSliderColors.js +11 -0
  398. package/dist/Components/RangeSlider/rangeSliderMath.d.ts +16 -0
  399. package/dist/Components/RangeSlider/rangeSliderMath.js +79 -0
  400. package/dist/Components/RangeSlider/rangeSliderSize.d.ts +7 -0
  401. package/dist/Components/RangeSlider/rangeSliderSize.js +12 -0
  402. package/dist/Components/Reorder/Reorder.d.ts +2 -5
  403. package/dist/Components/Reorder/Reorder.js +3 -2
  404. package/dist/Components/Reorder/ReorderProps.d.ts +6 -0
  405. package/dist/Components/RolesPermission/DeleteRoleModal.js +4 -6
  406. package/dist/Components/RolesPermission/RolesPermission.d.ts +1 -0
  407. package/dist/Components/RolesPermission/RolesPermission.js +6 -4
  408. package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +16 -1
  409. package/dist/Components/SaveBar/SaveBar.d.ts +4 -0
  410. package/dist/Components/SaveBar/SaveBar.js +24 -0
  411. package/dist/Components/SaveBar/SaveBarProps.d.ts +22 -0
  412. package/dist/Components/SaveBar/SaveBarProps.js +2 -0
  413. package/dist/Components/ScrollToTop/ScrollToTop.d.ts +3 -2
  414. package/dist/Components/ScrollToTop/ScrollToTop.js +8 -2
  415. package/dist/Components/ScrollbarBox/ScrollbarBox.d.ts +7 -0
  416. package/dist/Components/ScrollbarBox/ScrollbarBox.js +1 -0
  417. package/dist/Components/Search/Search.d.ts +3 -1
  418. package/dist/Components/Search/Search.js +33 -14
  419. package/dist/Components/Search/SearchProps.d.ts +26 -2
  420. package/dist/Components/SearchSelect/SearchSelect.d.ts +3 -1
  421. package/dist/Components/SearchSelect/SearchSelect.js +156 -113
  422. package/dist/Components/SearchSelect/SearchSelectProps.d.ts +51 -0
  423. package/dist/Components/SearchSelect/searchSelectSize.d.ts +4 -19
  424. package/dist/Components/SearchSelect/searchSelectSize.js +15 -27
  425. package/dist/Components/SegmentedControl/SegmentedControl.d.ts +3 -0
  426. package/dist/Components/SegmentedControl/SegmentedControl.js +113 -0
  427. package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +33 -0
  428. package/dist/Components/SegmentedControl/SegmentedControlProps.js +2 -0
  429. package/dist/Components/SegmentedControl/segmentedInk.d.ts +11 -0
  430. package/dist/Components/SegmentedControl/segmentedInk.js +27 -0
  431. package/dist/Components/SegmentedControl/useSlidingPill.d.ts +11 -0
  432. package/dist/Components/SegmentedControl/useSlidingPill.js +25 -0
  433. package/dist/Components/Select/Select.d.ts +5 -2
  434. package/dist/Components/Select/Select.js +65 -22
  435. package/dist/Components/Select/Select.styles.js +14 -82
  436. package/dist/Components/Select/SelectNative.d.ts +65 -0
  437. package/dist/Components/Select/SelectNative.js +49 -0
  438. package/dist/Components/Select/SelectPopup.d.ts +5 -0
  439. package/dist/Components/Select/SelectPopup.js +485 -0
  440. package/dist/Components/Select/SelectProps.d.ts +126 -10
  441. package/dist/Components/Select/optionRowInk.d.ts +7 -0
  442. package/dist/Components/Select/optionRowInk.js +17 -0
  443. package/dist/Components/SelectSearch/SelectSearch.d.ts +2 -1
  444. package/dist/Components/SelectSearch/SelectSearch.js +51 -87
  445. package/dist/Components/SelectSearch/SelectSearchProps.d.ts +34 -0
  446. package/dist/Components/SelectV2/SelectV2.d.ts +8 -2
  447. package/dist/Components/SelectV2/SelectV2.js +10 -250
  448. package/dist/Components/SelectV2/SelectV2Props.d.ts +44 -13
  449. package/dist/Components/SettingRow/SettingRow.d.ts +4 -0
  450. package/dist/Components/SettingRow/SettingRow.js +24 -0
  451. package/dist/Components/SettingRow/SettingRowProps.d.ts +16 -0
  452. package/dist/Components/SettingRow/SettingRowProps.js +2 -0
  453. package/dist/Components/SettingRow/SettingsSection.d.ts +4 -0
  454. package/dist/Components/SettingRow/SettingsSection.js +16 -0
  455. package/dist/Components/SettingRow/SettingsSectionProps.d.ts +18 -0
  456. package/dist/Components/SettingRow/SettingsSectionProps.js +2 -0
  457. package/dist/Components/SideBar/SecondaryBar.js +21 -10
  458. package/dist/Components/SideBar/SideBar.js +42 -24
  459. package/dist/Components/SideBar/SideBarProps.d.ts +47 -24
  460. package/dist/Components/SideBar/components/MenuItemBox.d.ts +2 -0
  461. package/dist/Components/SideBar/components/MenuItemBox.js +52 -32
  462. package/dist/Components/SideBar/components/MenuItems.js +4 -4
  463. package/dist/Components/SideBar/components/MenuPopoverContent.js +26 -12
  464. package/dist/Components/SideBar/components/OtherApps.js +3 -3
  465. package/dist/Components/SideBar/components/OverflowTooltipText.js +3 -1
  466. package/dist/Components/SideBar/components/TextTruncation.js +3 -1
  467. package/dist/Components/SideBar/menuDisabled.d.ts +5 -0
  468. package/dist/Components/SideBar/menuDisabled.js +7 -0
  469. package/dist/Components/SideBar/sidebarId.d.ts +2 -0
  470. package/dist/Components/SideBar/sidebarId.js +6 -0
  471. package/dist/Components/SideBar/sidebarScale.d.ts +15 -0
  472. package/dist/Components/SideBar/sidebarScale.js +18 -0
  473. package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +3 -0
  474. package/dist/Components/Skeletons/SkeletonProps.d.ts +5 -1
  475. package/dist/Components/Skeletons/Skeletons.d.ts +2 -1
  476. package/dist/Components/Skeletons/Skeletons.js +3 -2
  477. package/dist/Components/Slider/Slider.d.ts +3 -0
  478. package/dist/Components/Slider/Slider.js +10 -1
  479. package/dist/Components/Spinner/Spinner.d.ts +3 -0
  480. package/dist/Components/Spinner/Spinner.js +22 -0
  481. package/dist/Components/Spinner/SpinnerProps.d.ts +15 -0
  482. package/dist/Components/Spinner/SpinnerProps.js +2 -0
  483. package/dist/Components/StageProgress/StageItem.d.ts +1 -0
  484. package/dist/Components/StageProgress/StageItem.js +13 -4
  485. package/dist/Components/StageProgress/StageProgress.d.ts +1 -0
  486. package/dist/Components/StageProgress/StageProgress.js +7 -7
  487. package/dist/Components/StageProgress/StageProgressProps.d.ts +52 -5
  488. package/dist/Components/StageProgress/StageProgressProps.js +12 -6
  489. package/dist/Components/StageProgress/StepperStage.js +7 -4
  490. package/dist/Components/StatCard/StatCard.d.ts +4 -0
  491. package/dist/Components/StatCard/StatCard.js +42 -0
  492. package/dist/Components/StatCard/StatCardProps.d.ts +26 -0
  493. package/dist/Components/StatCard/StatCardProps.js +2 -0
  494. package/dist/Components/Switch/Switch.d.ts +2 -1
  495. package/dist/Components/Switch/Switch.js +13 -8
  496. package/dist/Components/Switch/SwitchProps.d.ts +7 -0
  497. package/dist/Components/Table/Table.d.ts +2 -1
  498. package/dist/Components/Table/Table.js +67 -51
  499. package/dist/Components/Table/TableProps.d.ts +98 -5
  500. package/dist/Components/Table/components/HeaderActions.js +3 -2
  501. package/dist/Components/Table/components/Pagination.d.ts +2 -2
  502. package/dist/Components/Table/components/Pagination.js +19 -8
  503. package/dist/Components/Table/components/TableActions.js +2 -2
  504. package/dist/Components/Table/components/TableBody.d.ts +2 -1
  505. package/dist/Components/Table/components/TableBody.js +153 -68
  506. package/dist/Components/Table/components/TableGroupRow.js +1 -1
  507. package/dist/Components/Table/components/TableHeader.d.ts +1 -1
  508. package/dist/Components/Table/components/TableHeader.js +34 -20
  509. package/dist/Components/Table/components/TableSearch.js +1 -1
  510. package/dist/Components/Table/components/rowMetrics.d.ts +10 -0
  511. package/dist/Components/Table/components/rowMetrics.js +15 -0
  512. package/dist/Components/Table/filters/ActiveFilters.js +7 -4
  513. package/dist/Components/Table/filters/CompactSelect.d.ts +1 -0
  514. package/dist/Components/Table/filters/CompactSelect.js +32 -8
  515. package/dist/Components/Table/filters/LeftFilterPane.d.ts +9 -1
  516. package/dist/Components/Table/filters/LeftFilterPane.js +1 -1
  517. package/dist/Components/Table/filters/SelectOperationControls.js +9 -1
  518. package/dist/Components/Table/filters/TableFilters.js +1 -1
  519. package/dist/Components/Table/filters/TextOperationControls.js +8 -1
  520. package/dist/Components/Table/hooks/useTable.d.ts +7 -11
  521. package/dist/Components/Table/hooks/useTable.js +61 -32
  522. package/dist/Components/Table/settings/ManageColumns.js +14 -10
  523. package/dist/Components/Table/settings/TableSettings.js +8 -5
  524. package/dist/Components/Table/variants/TableVariantContext.d.ts +4 -0
  525. package/dist/Components/Table/variants/TableVariantContext.js +17 -0
  526. package/dist/Components/Table/variants/classic.d.ts +6 -0
  527. package/dist/Components/Table/variants/classic.js +49 -0
  528. package/dist/Components/Table/variants/index.d.ts +7 -0
  529. package/dist/Components/Table/variants/index.js +27 -0
  530. package/dist/Components/Table/variants/pillInk.d.ts +6 -0
  531. package/dist/Components/Table/variants/pillInk.js +21 -0
  532. package/dist/Components/Table/variants/stripe.d.ts +3 -0
  533. package/dist/Components/Table/variants/stripe.js +7 -0
  534. package/dist/Components/Table/variants/studio.d.ts +6 -0
  535. package/dist/Components/Table/variants/studio.js +52 -0
  536. package/dist/Components/Table/variants/tokens.d.ts +51 -0
  537. package/dist/Components/Table/variants/tokens.js +2 -0
  538. package/dist/Components/Tabs/Tabs.d.ts +3 -0
  539. package/dist/Components/Tabs/Tabs.js +70 -0
  540. package/dist/Components/Tabs/TabsContext.d.ts +22 -0
  541. package/dist/Components/Tabs/TabsContext.js +16 -0
  542. package/dist/Components/Tabs/TabsProps.d.ts +74 -0
  543. package/dist/Components/Tabs/TabsProps.js +2 -0
  544. package/dist/Components/Tabs/components/CountBadge.d.ts +12 -0
  545. package/dist/Components/Tabs/components/CountBadge.js +17 -0
  546. package/dist/Components/Tabs/components/Tab.d.ts +3 -0
  547. package/dist/Components/Tabs/components/Tab.js +50 -0
  548. package/dist/Components/Tabs/components/TabList.d.ts +3 -0
  549. package/dist/Components/Tabs/components/TabList.js +71 -0
  550. package/dist/Components/Tabs/components/TabPanel.d.ts +3 -0
  551. package/dist/Components/Tabs/components/TabPanel.js +17 -0
  552. package/dist/Components/Tabs/components/TabPanels.d.ts +3 -0
  553. package/dist/Components/Tabs/components/TabPanels.js +14 -0
  554. package/dist/Components/Tabs/index.d.ts +6 -0
  555. package/dist/Components/Tabs/index.js +16 -0
  556. package/dist/Components/Tabs/tabStyles.d.ts +15 -0
  557. package/dist/Components/Tabs/tabStyles.js +38 -0
  558. package/dist/Components/Tag/Tag.d.ts +1 -0
  559. package/dist/Components/Tag/Tag.js +15 -6
  560. package/dist/Components/Tag/Tag.styles.d.ts +2 -0
  561. package/dist/Components/Tag/Tag.styles.js +48 -36
  562. package/dist/Components/Tag/TagProps.d.ts +20 -0
  563. package/dist/Components/Timeline/Timeline.d.ts +2 -1
  564. package/dist/Components/Timeline/Timeline.js +43 -30
  565. package/dist/Components/Timeline/TimelineProps.d.ts +31 -0
  566. package/dist/Components/Toaster/Toaster.d.ts +1 -0
  567. package/dist/Components/Toaster/Toaster.js +74 -55
  568. package/dist/Components/Toaster/ToasterProps.d.ts +20 -4
  569. package/dist/Components/Toaster/toastDuration.d.ts +4 -0
  570. package/dist/Components/Toaster/toastDuration.js +7 -0
  571. package/dist/Components/Toggle/TableToggle.d.ts +1 -0
  572. package/dist/Components/Toggle/TableToggle.js +62 -19
  573. package/dist/Components/Toggle/TableToggleProps.d.ts +7 -0
  574. package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +3 -0
  575. package/dist/Components/ToggleSwitch/ToggleSwitch.js +53 -0
  576. package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +68 -0
  577. package/dist/Components/ToggleSwitch/ToggleSwitchProps.js +2 -0
  578. package/dist/Components/ToolTip/OverflowToolTip.d.ts +0 -15
  579. package/dist/Components/ToolTip/OverflowToolTip.js +1 -15
  580. package/dist/Components/ToolTip/ToolTip.d.ts +1 -0
  581. package/dist/Components/ToolTip/ToolTip.js +14 -13
  582. package/dist/Components/ToolTip/ToolTipProps.d.ts +8 -1
  583. package/dist/Components/UpgradeButton/UpgradeButton.js +9 -14
  584. package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +6 -2
  585. package/dist/Components/UserDetails/AddUserModal.js +1 -1
  586. package/dist/Components/UserDetails/ChangeRoleModal.js +1 -1
  587. package/dist/Components/UserDetails/DeactivateConfirmModal.js +4 -6
  588. package/dist/Components/UserDetails/UserDetails.d.ts +1 -0
  589. package/dist/Components/UserDetails/UserDetails.js +12 -11
  590. package/dist/Components/UserDetails/UserDetailsProps.d.ts +30 -1
  591. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts +0 -13
  592. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +2 -14
  593. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +0 -11
  594. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +6 -23
  595. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +6 -1
  596. package/dist/Constants/Sidebar.d.ts +2 -38
  597. package/dist/Constants/Sidebar.js +1 -16
  598. package/dist/Hooks/exclusiveOverlay.d.ts +4 -0
  599. package/dist/Hooks/exclusiveOverlay.js +22 -0
  600. package/dist/Hooks/useDebounce.d.ts +6 -0
  601. package/dist/Hooks/useDebounce.js +33 -0
  602. package/dist/Hooks/useExclusiveOverlay.d.ts +1 -0
  603. package/dist/Hooks/useExclusiveOverlay.js +21 -0
  604. package/dist/Hooks/useFullscreen.d.ts +8 -0
  605. package/dist/Hooks/useFullscreen.js +32 -0
  606. package/dist/Hooks/useIsTruncated.d.ts +0 -30
  607. package/dist/Hooks/useIsTruncated.js +1 -30
  608. package/dist/Hooks/usePreferences.js +1 -6
  609. package/dist/Hooks/useSidebarPrefs.d.ts +1 -42
  610. package/dist/Hooks/useSidebarPrefs.js +1 -2
  611. package/dist/Theme/assertPalette.d.ts +1 -1
  612. package/dist/Theme/assertPalette.js +4 -3
  613. package/dist/Theme/chakra/Card.styles.d.ts +78 -0
  614. package/dist/Theme/chakra/Card.styles.js +48 -0
  615. package/dist/Theme/chakra/Drawer.styles.d.ts +41 -9
  616. package/dist/Theme/chakra/Drawer.styles.js +14 -13
  617. package/dist/Theme/chakra/Menu.styles.d.ts +11 -18
  618. package/dist/Theme/chakra/Menu.styles.js +17 -26
  619. package/dist/Theme/chakra/Modal.styles.d.ts +42 -9
  620. package/dist/Theme/chakra/Modal.styles.js +15 -13
  621. package/dist/Theme/chakra/Popover.styles.d.ts +6 -3
  622. package/dist/Theme/chakra/Popover.styles.js +6 -10
  623. package/dist/Theme/chakra/Slider.styles.d.ts +3 -3
  624. package/dist/Theme/chakra/Slider.styles.js +1 -6
  625. package/dist/Theme/chakra/common.web.d.ts +0 -4
  626. package/dist/Theme/chakra/common.web.js +1 -7
  627. package/dist/Theme/chakra/componentStyles.d.ts +168 -103
  628. package/dist/Theme/chakra/componentStyles.js +82 -95
  629. package/dist/Theme/chakra/createBrandTheme.d.ts +0 -10
  630. package/dist/Theme/chakra/createBrandTheme.js +23 -54
  631. package/dist/Theme/chakra/focusRing.styles.d.ts +45 -0
  632. package/dist/Theme/chakra/focusRing.styles.js +42 -0
  633. package/dist/Theme/chakra/fonts.web.d.ts +0 -5
  634. package/dist/Theme/chakra/fonts.web.js +1 -5
  635. package/dist/Theme/chakra/motion.d.ts +5 -0
  636. package/dist/Theme/chakra/motion.js +27 -0
  637. package/dist/Theme/chakra/overlay.styles.d.ts +51 -0
  638. package/dist/Theme/chakra/overlay.styles.js +48 -0
  639. package/dist/Theme/chakra/paletteFromTheme.d.ts +0 -4
  640. package/dist/Theme/chakra/paletteFromTheme.js +1 -4
  641. package/dist/Theme/index.d.ts +0 -12
  642. package/dist/Theme/index.js +3 -18
  643. package/dist/Theme/provider/PixelizeThemeProvider.d.ts +0 -32
  644. package/dist/Theme/provider/PixelizeThemeProvider.js +6 -74
  645. package/dist/Theme/provider/ThemeSwitcher.js +22 -20
  646. package/dist/Theme/provider/colorModeStorage.js +1 -4
  647. package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +0 -4
  648. package/dist/Theme/tokens/brands/emerald/palette.dark.js +0 -4
  649. package/dist/Theme/tokens/brands/emerald/palette.light.js +2 -10
  650. package/dist/Theme/tokens/brands/index.js +6 -1
  651. package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +0 -4
  652. package/dist/Theme/tokens/brands/lavender/palette.dark.js +0 -4
  653. package/dist/Theme/tokens/brands/lavender/palette.light.js +4 -13
  654. package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +0 -4
  655. package/dist/Theme/tokens/brands/meadow/palette.dark.js +0 -4
  656. package/dist/Theme/tokens/brands/meadow/palette.light.js +2 -11
  657. package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +0 -4
  658. package/dist/Theme/tokens/brands/radiant/palette.dark.js +0 -4
  659. package/dist/Theme/tokens/brands/radiant/palette.light.js +2 -10
  660. package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +0 -4
  661. package/dist/Theme/tokens/brands/rosewood/palette.dark.js +0 -4
  662. package/dist/Theme/tokens/brands/rosewood/palette.light.js +2 -14
  663. package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +0 -4
  664. package/dist/Theme/tokens/brands/skyline/palette.dark.js +0 -4
  665. package/dist/Theme/tokens/brands/skyline/palette.light.js +2 -11
  666. package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +0 -4
  667. package/dist/Theme/tokens/brands/slate/palette.dark.js +0 -4
  668. package/dist/Theme/tokens/brands/slate/palette.light.js +1 -11
  669. package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +0 -4
  670. package/dist/Theme/tokens/brands/storefront/palette.dark.js +0 -4
  671. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +11 -9
  672. package/dist/Theme/tokens/brands/zinc/palette.dark.js +5 -35
  673. package/dist/Theme/tokens/brands/zinc/palette.light.js +3 -12
  674. package/dist/Theme/tokens/builders/accentText.d.ts +0 -43
  675. package/dist/Theme/tokens/builders/accentText.js +5 -48
  676. package/dist/Theme/tokens/builders/brandInk.d.ts +2 -0
  677. package/dist/Theme/tokens/builders/brandInk.js +19 -1
  678. package/dist/Theme/tokens/builders/buildBrandTokens.d.ts +0 -3
  679. package/dist/Theme/tokens/builders/buildBrandTokens.js +1 -3
  680. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +0 -12
  681. package/dist/Theme/tokens/builders/buildDarkPalette.js +19 -102
  682. package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts +0 -8
  683. package/dist/Theme/tokens/builders/chartColorsFromTheme.js +2 -9
  684. package/dist/Theme/tokens/builders/color.d.ts +0 -20
  685. package/dist/Theme/tokens/builders/color.js +3 -20
  686. package/dist/Theme/tokens/builders/filledSurface.d.ts +19 -0
  687. package/dist/Theme/tokens/builders/filledSurface.js +84 -0
  688. package/dist/Theme/tokens/builders/focusRing.d.ts +7 -0
  689. package/dist/Theme/tokens/builders/focusRing.js +48 -0
  690. package/dist/Theme/tokens/builders/gradientInk.d.ts +0 -10
  691. package/dist/Theme/tokens/builders/gradientInk.js +2 -10
  692. package/dist/Theme/tokens/builders/index.d.ts +6 -0
  693. package/dist/Theme/tokens/builders/index.js +6 -0
  694. package/dist/Theme/tokens/builders/outlineRung.d.ts +7 -33
  695. package/dist/Theme/tokens/builders/outlineRung.js +61 -37
  696. package/dist/Theme/tokens/builders/placeholderInk.d.ts +7 -0
  697. package/dist/Theme/tokens/builders/placeholderInk.js +25 -0
  698. package/dist/Theme/tokens/builders/resolvedRungs.d.ts +0 -1
  699. package/dist/Theme/tokens/builders/resolvedRungs.js +3 -2
  700. package/dist/Theme/tokens/builders/rowStates.d.ts +7 -0
  701. package/dist/Theme/tokens/builders/rowStates.js +14 -0
  702. package/dist/Theme/tokens/builders/scrim.d.ts +6 -0
  703. package/dist/Theme/tokens/builders/scrim.js +17 -0
  704. package/dist/Theme/tokens/builders/scrollShadow.d.ts +2 -0
  705. package/dist/Theme/tokens/builders/scrollShadow.js +16 -0
  706. package/dist/Theme/tokens/builders/scrollbar.d.ts +0 -4
  707. package/dist/Theme/tokens/builders/scrollbar.js +1 -4
  708. package/dist/Theme/tokens/builders/semanticText.d.ts +0 -5
  709. package/dist/Theme/tokens/builders/semanticText.js +1 -5
  710. package/dist/Theme/tokens/builders/sidebarAccent.d.ts +8 -0
  711. package/dist/Theme/tokens/builders/sidebarAccent.js +15 -1
  712. package/dist/Theme/tokens/builders/statusTone.d.ts +1 -19
  713. package/dist/Theme/tokens/builders/statusTone.js +4 -19
  714. package/dist/Theme/tokens/builders/surfaceRaised.d.ts +6 -0
  715. package/dist/Theme/tokens/builders/surfaceRaised.js +21 -0
  716. package/dist/Theme/tokens/builders/surfaceRungs.d.ts +1 -2
  717. package/dist/Theme/tokens/builders/surfaceRungs.js +13 -9
  718. package/dist/Theme/tokens/builders/tone.d.ts +22 -0
  719. package/dist/Theme/tokens/builders/tone.js +54 -0
  720. package/dist/Theme/tokens/builders/tooltipSurface.d.ts +6 -0
  721. package/dist/Theme/tokens/builders/tooltipSurface.js +10 -0
  722. package/dist/Theme/tokens/builders/viewportHeight.d.ts +8 -0
  723. package/dist/Theme/tokens/builders/viewportHeight.js +9 -0
  724. package/dist/Theme/tokens/index.d.ts +0 -10
  725. package/dist/Theme/tokens/index.js +1 -10
  726. package/dist/Theme/tokens/primitives/controlSizes.d.ts +12 -0
  727. package/dist/Theme/tokens/primitives/controlSizes.js +14 -0
  728. package/dist/Theme/tokens/primitives/index.d.ts +2 -0
  729. package/dist/Theme/tokens/primitives/index.js +16 -0
  730. package/dist/Theme/tokens/primitives/motion.d.ts +8 -0
  731. package/dist/Theme/tokens/primitives/motion.js +12 -0
  732. package/dist/Theme/tokens/primitives/optionRowSizes.d.ts +20 -0
  733. package/dist/Theme/tokens/primitives/optionRowSizes.js +29 -0
  734. package/dist/Theme/tokens/primitives/sizes.d.ts +0 -4
  735. package/dist/Theme/tokens/primitives/sizes.js +1 -4
  736. package/dist/Theme/tokens/primitives/typography.d.ts +0 -7
  737. package/dist/Theme/tokens/primitives/typography.js +1 -7
  738. package/dist/Theme/tokens/types.d.ts +16 -16
  739. package/dist/Theme/tokens/types.js +1 -6
  740. package/dist/Utils/accountHandoff.d.ts +0 -17
  741. package/dist/Utils/accountHandoff.js +2 -17
  742. package/dist/Utils/apiError.d.ts +2 -0
  743. package/dist/Utils/apiError.js +28 -0
  744. package/dist/Utils/functions.d.ts +1 -0
  745. package/dist/Utils/functions.js +6 -4
  746. package/dist/Utils/humanize.d.ts +4 -0
  747. package/dist/Utils/humanize.js +19 -0
  748. package/dist/Utils/lazyWithRetry.d.ts +9 -0
  749. package/dist/Utils/lazyWithRetry.js +51 -0
  750. package/dist/Utils/mergeRefs.d.ts +0 -5
  751. package/dist/Utils/mergeRefs.js +1 -5
  752. package/dist/Utils/planBadge.d.ts +1 -11
  753. package/dist/Utils/planBadge.js +2 -12
  754. package/dist/Utils/planExpiry.d.ts +0 -26
  755. package/dist/Utils/planExpiry.js +4 -29
  756. package/dist/Utils/rafThrottle.d.ts +0 -11
  757. package/dist/Utils/rafThrottle.js +1 -11
  758. package/dist/Utils/table.d.ts +5 -22
  759. package/dist/Utils/table.js +64 -88
  760. package/dist/Utils/validation.d.ts +13 -0
  761. package/dist/Utils/validation.js +86 -0
  762. package/dist/esm/Components/Accordion/Accordion.js +9 -8
  763. package/dist/esm/Components/Accordion/accordionColors.js +9 -10
  764. package/dist/esm/Components/AlertDialog/AlertDialog.js +4 -6
  765. package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +8 -3
  766. package/dist/esm/Components/Apexcharts/ApexBarChart/ApexBarChart.js +9 -5
  767. package/dist/esm/Components/Apexcharts/ApexChartFallback.js +5 -0
  768. package/dist/esm/Components/Apexcharts/ApexLineChart/ApexLineChart.js +8 -3
  769. package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +8 -3
  770. package/dist/esm/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +10 -6
  771. package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +8 -5
  772. package/dist/esm/Components/Apexcharts/LazyReactApexChart.js +5 -0
  773. package/dist/esm/Components/AppSwitcher/AppMark.js +52 -0
  774. package/dist/esm/Components/AppSwitcher/AppSwitcher.js +238 -0
  775. package/dist/esm/Components/AppSwitcher/AppSwitcherProps.js +78 -0
  776. package/dist/esm/Components/AppSwitcher/useAppSwitcherShortcut.js +27 -0
  777. package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +2 -1
  778. package/dist/esm/Components/Avatar/Avatar.js +22 -0
  779. package/dist/esm/Components/Avatar/AvatarGroup.js +19 -0
  780. package/dist/esm/Components/Avatar/AvatarProps.js +1 -0
  781. package/dist/esm/Components/Avatar/avatarColorway.js +25 -0
  782. package/dist/esm/Components/Avatar/avatarSizing.js +12 -0
  783. package/dist/esm/Components/Backdrop/Backdrop.js +28 -0
  784. package/dist/esm/Components/Backdrop/BackdropProps.js +1 -0
  785. package/dist/esm/Components/Breadcrumbs/Breadcrumbs.js +15 -5
  786. package/dist/esm/Components/Breadcrumbs/breadcrumbInk.js +7 -0
  787. package/dist/esm/Components/Button/Button.js +5 -4
  788. package/dist/esm/Components/Button/Button.styles.js +48 -75
  789. package/dist/esm/Components/ButtonGroupIcon/ButtonGoupIconProps.js +2 -1
  790. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +5 -14
  791. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIconProps.js +1 -0
  792. package/dist/esm/Components/Buttons/Buttons.js +2 -3
  793. package/dist/esm/Components/Card/Card.js +11 -5
  794. package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +32 -19
  795. package/dist/esm/Components/Checkbox/Checkbox.js +11 -8
  796. package/dist/esm/Components/Checkbox/Checkbox.styles.js +44 -34
  797. package/dist/esm/Components/Common/ErrorComponent.js +7 -5
  798. package/dist/esm/Components/Common/ErrorMessage.js +5 -5
  799. package/dist/esm/Components/Common/FieldMessage.js +14 -0
  800. package/dist/esm/Components/Common/FormLabel.js +14 -8
  801. package/dist/esm/Components/Common/FormattedDescription.js +1 -0
  802. package/dist/esm/Components/Common/HelperText.js +4 -1
  803. package/dist/esm/Components/Common/Label.js +3 -1
  804. package/dist/esm/Components/Common/chipTriggerSize.js +11 -0
  805. package/dist/esm/Components/Common/fieldMessageStyles.js +13 -0
  806. package/dist/esm/Components/Common/fieldStyles.js +66 -29
  807. package/dist/esm/Components/Common/iconBox.js +12 -0
  808. package/dist/esm/Components/Common/useFieldIds.js +23 -0
  809. package/dist/esm/Components/ConfirmDialog/ConfirmDialog.js +18 -0
  810. package/dist/esm/Components/ConfirmDialog/ConfirmDialogProps.js +1 -0
  811. package/dist/esm/Components/ContactForm/ContactForm.js +19 -14
  812. package/dist/esm/Components/CopyButton/CopyButton.js +12 -7
  813. package/dist/esm/Components/CustomModulesTable/DeleteModuleModal.js +4 -4
  814. package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +2 -4
  815. package/dist/esm/Components/DatePicker/CalendarPanel.js +43 -25
  816. package/dist/esm/Components/DatePicker/DatePicker.js +12 -48
  817. package/dist/esm/Components/DatePicker/DatePickerProps.js +1 -1
  818. package/dist/esm/Components/DatePicker/RangeDatePicker.js +42 -21
  819. package/dist/esm/Components/DatePicker/SingleDatePicker.js +80 -61
  820. package/dist/esm/Components/DatePicker/ThemeDatePicker.js +11 -17
  821. package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +42 -18
  822. package/dist/esm/Components/DatePicker/TimePicker.js +9 -12
  823. package/dist/esm/Components/DatePicker/TimePickerInput.js +5 -10
  824. package/dist/esm/Components/DatePicker/dayStates.js +67 -0
  825. package/dist/esm/Components/DatePicker/pickerField.js +24 -0
  826. package/dist/esm/Components/DatePicker/valueFormat.js +15 -0
  827. package/dist/esm/Components/DescriptionList/DescriptionList.js +27 -0
  828. package/dist/esm/Components/DescriptionList/DescriptionListProps.js +1 -0
  829. package/dist/esm/Components/Divider/Divider.js +1 -0
  830. package/dist/esm/Components/Drawer/Drawer.js +22 -8
  831. package/dist/esm/Components/Dropdown/DropDown.js +66 -38
  832. package/dist/esm/Components/Editor/Editor.js +14 -1
  833. package/dist/esm/Components/Editor/joditAccessibility.js +24 -0
  834. package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -8
  835. package/dist/esm/Components/EmptyState/EmptyState.js +25 -14
  836. package/dist/esm/Components/FeedbackForm/FeedbackForm.js +17 -6
  837. package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +4 -5
  838. package/dist/esm/Components/FilePreview/FilePreview.js +11 -9
  839. package/dist/esm/Components/FileUpload/FileUpload.js +26 -8
  840. package/dist/esm/Components/FileUpload/constants.js +2 -0
  841. package/dist/esm/Components/FileUploader/FileUploader.js +7 -5
  842. package/dist/esm/Components/FilterBar/FilterBar.js +12 -0
  843. package/dist/esm/Components/FilterBar/FilterBarProps.js +1 -0
  844. package/dist/esm/Components/FilterSidebar/FilterSidebar.js +29 -34
  845. package/dist/esm/Components/FilterSidebar/filterHoverStyle.js +3 -10
  846. package/dist/esm/Components/Form/FormWrapper.js +2 -1
  847. package/dist/esm/Components/Header/Header.js +2 -16
  848. package/dist/esm/Components/Header/HeaderActions.js +4 -4
  849. package/dist/esm/Components/Header/components/desktopMenu.js +10 -11
  850. package/dist/esm/Components/Header/components/mobileMenu.js +26 -14
  851. package/dist/esm/Components/Input/Input/Input.js +3 -2
  852. package/dist/esm/Components/Input/PhoneNumberInput.js +8 -4
  853. package/dist/esm/Components/Input/Switch/InputSwitch.js +16 -20
  854. package/dist/esm/Components/Input/TextInput.js +83 -9
  855. package/dist/esm/Components/Input/TextInput.styles.js +41 -89
  856. package/dist/esm/Components/Input/textInputIconSize.js +6 -32
  857. package/dist/esm/Components/Input/useAriaRequired.js +15 -0
  858. package/dist/esm/Components/InputTextArea/InputTextArea.js +10 -5
  859. package/dist/esm/Components/InputTextArea/InputTextArea.style.js +13 -67
  860. package/dist/esm/Components/KanbanBoard/AccountCard.js +10 -6
  861. package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -0
  862. package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  863. package/dist/esm/Components/KanbanBoard/KanbanBoard.js +87 -50
  864. package/dist/esm/Components/KanbanBoard/MeasuredItem.js +1 -0
  865. package/dist/esm/Components/KanbanBoard/index.js +1 -0
  866. package/dist/esm/Components/LazyWrapper/LazyWrapper.js +1 -0
  867. package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +2 -2
  868. package/dist/esm/Components/LimitReachedModal/limitReachedCopy.js +3 -3
  869. package/dist/esm/Components/Loading/Loading.js +16 -17
  870. package/dist/esm/Components/MediaViewer/MediaViewer.js +196 -0
  871. package/dist/esm/Components/MediaViewer/MediaViewerProps.js +29 -0
  872. package/dist/esm/Components/MediaViewer/components/MediaAudioPlayer.js +133 -0
  873. package/dist/esm/Components/MediaViewer/components/MediaAudioPlayerProps.js +18 -0
  874. package/dist/esm/Components/MediaViewer/components/MediaDocumentStage.js +109 -0
  875. package/dist/esm/Components/MediaViewer/components/MediaDocumentStageProps.js +8 -0
  876. package/dist/esm/Components/MediaViewer/components/MediaImageViewer.js +98 -0
  877. package/dist/esm/Components/MediaViewer/components/MediaImageViewerProps.js +15 -0
  878. package/dist/esm/Components/MediaViewer/components/MediaScrubber.js +87 -0
  879. package/dist/esm/Components/MediaViewer/components/MediaScrubberProps.js +1 -0
  880. package/dist/esm/Components/MediaViewer/components/MediaStatusPanel.js +12 -0
  881. package/dist/esm/Components/MediaViewer/components/MediaStatusPanelProps.js +1 -0
  882. package/dist/esm/Components/MediaViewer/components/MediaVideoPlayer.js +243 -0
  883. package/dist/esm/Components/MediaViewer/components/MediaVideoPlayerProps.js +28 -0
  884. package/dist/esm/Components/MediaViewer/components/TileChip.js +10 -0
  885. package/dist/esm/Components/MediaViewer/components/TileChipProps.js +1 -0
  886. package/dist/esm/Components/MediaViewer/components/VideoPoster.js +11 -0
  887. package/dist/esm/Components/MediaViewer/components/VideoPosterProps.js +1 -0
  888. package/dist/esm/Components/MediaViewer/components/ViewerIconButton.js +15 -0
  889. package/dist/esm/Components/MediaViewer/components/ViewerIconButtonProps.js +1 -0
  890. package/dist/esm/Components/MediaViewer/components/mediaKindIcon.js +18 -0
  891. package/dist/esm/Components/MediaViewer/components/sanitizeDocxHrefs.js +27 -0
  892. package/dist/esm/Components/MediaViewer/hooks/useAutoHideChrome.js +40 -0
  893. package/dist/esm/Components/MediaViewer/hooks/useFileViewer.js +45 -0
  894. package/dist/esm/Components/MediaViewer/mediaItems.js +174 -0
  895. package/dist/esm/Components/MediaViewer/useViewerChrome.js +27 -0
  896. package/dist/esm/Components/Modal/Modal.js +25 -19
  897. package/dist/esm/Components/MoreItems/MoreItems.js +7 -2
  898. package/dist/esm/Components/MultiSelect/MultiSelect.js +40 -28
  899. package/dist/esm/Components/NavigationBar/NavigationBar.js +15 -17
  900. package/dist/esm/Components/NoteTextArea/NoteTextArea.js +21 -10
  901. package/dist/esm/Components/Notification/Notification.js +9 -4
  902. package/dist/esm/Components/NotificationBell/NotificationBell.js +33 -0
  903. package/dist/esm/Components/NotificationBell/NotificationBellProps.js +1 -0
  904. package/dist/esm/Components/NotificationBell/NotificationItem.js +29 -0
  905. package/dist/esm/Components/NotificationBell/NotificationList.js +36 -0
  906. package/dist/esm/Components/NotificationBell/NotificationPanel.js +31 -0
  907. package/dist/esm/Components/NotificationBell/index.js +6 -0
  908. package/dist/esm/Components/NotificationBell/notificationHelpers.js +107 -0
  909. package/dist/esm/Components/NumberInput/NumberInput.js +6 -2
  910. package/dist/esm/Components/NumberInput/NumberInput.styles.js +19 -77
  911. package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +18 -22
  912. package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +3 -1
  913. package/dist/esm/Components/OrganizationDetails/CreateOrgModal.js +1 -1
  914. package/dist/esm/Components/OrganizationDetails/DeleteOrgModal.js +7 -9
  915. package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +13 -10
  916. package/dist/esm/Components/PageHeader/PageHeader.js +9 -0
  917. package/dist/esm/Components/PageHeader/PageHeaderProps.js +1 -0
  918. package/dist/esm/Components/PdfViewer/PdfViewer.js +7 -1
  919. package/dist/esm/Components/PersonChip/PersonChip.js +42 -0
  920. package/dist/esm/Components/PersonChip/PersonChipProps.js +1 -0
  921. package/dist/esm/Components/PinInput/PinInput.js +11 -9
  922. package/dist/esm/Components/PinInput/pinInputCellSize.js +6 -0
  923. package/dist/esm/Components/PlanBadge/PlanBadge.js +1 -7
  924. package/dist/esm/Components/PlanPill/PlanPill.js +2 -3
  925. package/dist/esm/Components/PlanPill/planPillGradient.js +6 -20
  926. package/dist/esm/Components/Primitives/Primitives.js +3 -0
  927. package/dist/esm/Components/ProductCard/ProductPrice.js +18 -7
  928. package/dist/esm/Components/ProductCard/ProductReview.js +8 -2
  929. package/dist/esm/Components/ProductCard/ProductTags.js +1 -1
  930. package/dist/esm/Components/ProductDetails/ProductDetails.js +1 -1
  931. package/dist/esm/Components/ProductDetails/ProductDtlPrice.js +5 -5
  932. package/dist/esm/Components/ProductDetails/ProductImageSlider.js +36 -20
  933. package/dist/esm/Components/ProfileCard/ProfileCard.js +26 -11
  934. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +12 -7
  935. package/dist/esm/Components/ProgressBar/ProgressBar.js +28 -3
  936. package/dist/esm/Components/QueryState/ErrorState.js +11 -0
  937. package/dist/esm/Components/QueryState/QueryStateBoundary.js +20 -0
  938. package/dist/esm/Components/QueryState/QueryStateProps.js +1 -0
  939. package/dist/esm/Components/RadioButton/RadioButton.js +33 -15
  940. package/dist/esm/Components/RangeSlider/RangeSlider.js +131 -0
  941. package/dist/esm/Components/RangeSlider/RangeSliderProps.js +1 -0
  942. package/dist/esm/Components/RangeSlider/rangeSliderColors.js +7 -0
  943. package/dist/esm/Components/RangeSlider/rangeSliderMath.js +69 -0
  944. package/dist/esm/Components/RangeSlider/rangeSliderSize.js +8 -0
  945. package/dist/esm/Components/Reorder/Reorder.js +3 -2
  946. package/dist/esm/Components/RolesPermission/DeleteRoleModal.js +7 -9
  947. package/dist/esm/Components/RolesPermission/RolesPermission.js +6 -4
  948. package/dist/esm/Components/SaveBar/SaveBar.js +19 -0
  949. package/dist/esm/Components/SaveBar/SaveBarProps.js +1 -0
  950. package/dist/esm/Components/ScrollToTop/ScrollToTop.js +8 -2
  951. package/dist/esm/Components/ScrollbarBox/ScrollbarBox.js +1 -0
  952. package/dist/esm/Components/Search/Search.js +35 -15
  953. package/dist/esm/Components/SearchSelect/SearchSelect.js +157 -114
  954. package/dist/esm/Components/SearchSelect/searchSelectSize.js +15 -27
  955. package/dist/esm/Components/SegmentedControl/SegmentedControl.js +107 -0
  956. package/dist/esm/Components/SegmentedControl/SegmentedControlProps.js +1 -0
  957. package/dist/esm/Components/SegmentedControl/segmentedInk.js +20 -0
  958. package/dist/esm/Components/SegmentedControl/useSlidingPill.js +22 -0
  959. package/dist/esm/Components/Select/Select.js +67 -23
  960. package/dist/esm/Components/Select/Select.styles.js +14 -82
  961. package/dist/esm/Components/Select/SelectNative.js +44 -0
  962. package/dist/esm/Components/Select/SelectPopup.js +447 -0
  963. package/dist/esm/Components/Select/optionRowInk.js +11 -0
  964. package/dist/esm/Components/SelectSearch/SelectSearch.js +54 -90
  965. package/dist/esm/Components/SelectV2/SelectV2.js +10 -217
  966. package/dist/esm/Components/SettingRow/SettingRow.js +22 -0
  967. package/dist/esm/Components/SettingRow/SettingRowProps.js +1 -0
  968. package/dist/esm/Components/SettingRow/SettingsSection.js +11 -0
  969. package/dist/esm/Components/SettingRow/SettingsSectionProps.js +1 -0
  970. package/dist/esm/Components/SideBar/SecondaryBar.js +21 -10
  971. package/dist/esm/Components/SideBar/SideBar.js +44 -26
  972. package/dist/esm/Components/SideBar/components/MenuItemBox.js +51 -31
  973. package/dist/esm/Components/SideBar/components/MenuItems.js +4 -4
  974. package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +26 -12
  975. package/dist/esm/Components/SideBar/components/OtherApps.js +3 -3
  976. package/dist/esm/Components/SideBar/components/OverflowTooltipText.js +3 -1
  977. package/dist/esm/Components/SideBar/components/TextTruncation.js +3 -1
  978. package/dist/esm/Components/SideBar/menuDisabled.js +3 -0
  979. package/dist/esm/Components/SideBar/sidebarId.js +2 -0
  980. package/dist/esm/Components/SideBar/sidebarScale.js +15 -0
  981. package/dist/esm/Components/Skeletons/Skeletons.js +3 -2
  982. package/dist/esm/Components/Slider/Slider.js +10 -1
  983. package/dist/esm/Components/Spinner/Spinner.js +19 -0
  984. package/dist/esm/Components/Spinner/SpinnerProps.js +1 -0
  985. package/dist/esm/Components/StageProgress/StageItem.js +13 -4
  986. package/dist/esm/Components/StageProgress/StageProgress.js +7 -7
  987. package/dist/esm/Components/StageProgress/StageProgressProps.js +13 -7
  988. package/dist/esm/Components/StageProgress/StepperStage.js +7 -4
  989. package/dist/esm/Components/StatCard/StatCard.js +37 -0
  990. package/dist/esm/Components/StatCard/StatCardProps.js +1 -0
  991. package/dist/esm/Components/Switch/Switch.js +12 -10
  992. package/dist/esm/Components/Table/Table.js +68 -52
  993. package/dist/esm/Components/Table/components/HeaderActions.js +3 -2
  994. package/dist/esm/Components/Table/components/Pagination.js +20 -9
  995. package/dist/esm/Components/Table/components/TableActions.js +2 -2
  996. package/dist/esm/Components/Table/components/TableBody.js +151 -68
  997. package/dist/esm/Components/Table/components/TableGroupRow.js +1 -1
  998. package/dist/esm/Components/Table/components/TableHeader.js +34 -20
  999. package/dist/esm/Components/Table/components/TableSearch.js +1 -1
  1000. package/dist/esm/Components/Table/components/rowMetrics.js +10 -0
  1001. package/dist/esm/Components/Table/filters/ActiveFilters.js +7 -4
  1002. package/dist/esm/Components/Table/filters/CompactSelect.js +33 -9
  1003. package/dist/esm/Components/Table/filters/LeftFilterPane.js +1 -1
  1004. package/dist/esm/Components/Table/filters/SelectOperationControls.js +8 -3
  1005. package/dist/esm/Components/Table/filters/TableFilters.js +1 -1
  1006. package/dist/esm/Components/Table/filters/TextOperationControls.js +6 -2
  1007. package/dist/esm/Components/Table/hooks/useTable.js +61 -33
  1008. package/dist/esm/Components/Table/settings/ManageColumns.js +14 -10
  1009. package/dist/esm/Components/Table/settings/TableSettings.js +9 -6
  1010. package/dist/esm/Components/Table/variants/TableVariantContext.js +13 -0
  1011. package/dist/esm/Components/Table/variants/classic.js +45 -0
  1012. package/dist/esm/Components/Table/variants/index.js +9 -0
  1013. package/dist/esm/Components/Table/variants/pillInk.js +18 -0
  1014. package/dist/esm/Components/Table/variants/stripe.js +3 -0
  1015. package/dist/esm/Components/Table/variants/studio.js +48 -0
  1016. package/dist/esm/Components/Table/variants/tokens.js +1 -0
  1017. package/dist/esm/Components/Tabs/Tabs.js +65 -0
  1018. package/dist/esm/Components/Tabs/TabsContext.js +10 -0
  1019. package/dist/esm/Components/Tabs/TabsProps.js +1 -0
  1020. package/dist/esm/Components/Tabs/components/CountBadge.js +15 -0
  1021. package/dist/esm/Components/Tabs/components/Tab.js +45 -0
  1022. package/dist/esm/Components/Tabs/components/TabList.js +69 -0
  1023. package/dist/esm/Components/Tabs/components/TabPanel.js +15 -0
  1024. package/dist/esm/Components/Tabs/components/TabPanels.js +12 -0
  1025. package/dist/esm/Components/Tabs/index.js +5 -0
  1026. package/dist/esm/Components/Tabs/tabStyles.js +33 -0
  1027. package/dist/esm/Components/Tag/Tag.js +16 -7
  1028. package/dist/esm/Components/Tag/Tag.styles.js +48 -36
  1029. package/dist/esm/Components/Timeline/Timeline.js +43 -30
  1030. package/dist/esm/Components/Toaster/Toaster.js +74 -58
  1031. package/dist/esm/Components/Toaster/toastDuration.js +3 -0
  1032. package/dist/esm/Components/Toggle/TableToggle.js +62 -19
  1033. package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +47 -0
  1034. package/dist/esm/Components/ToggleSwitch/ToggleSwitchProps.js +1 -0
  1035. package/dist/esm/Components/ToolTip/OverflowToolTip.js +1 -15
  1036. package/dist/esm/Components/ToolTip/ToolTip.js +15 -14
  1037. package/dist/esm/Components/UpgradeButton/UpgradeButton.js +9 -14
  1038. package/dist/esm/Components/UserDetails/AddUserModal.js +1 -1
  1039. package/dist/esm/Components/UserDetails/ChangeRoleModal.js +1 -1
  1040. package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +6 -8
  1041. package/dist/esm/Components/UserDetails/UserDetails.js +13 -12
  1042. package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +2 -14
  1043. package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +6 -23
  1044. package/dist/esm/Constants/Sidebar.js +0 -15
  1045. package/dist/esm/Hooks/exclusiveOverlay.js +16 -0
  1046. package/dist/esm/Hooks/useDebounce.js +29 -0
  1047. package/dist/esm/Hooks/useExclusiveOverlay.js +17 -0
  1048. package/dist/esm/Hooks/useFullscreen.js +29 -0
  1049. package/dist/esm/Hooks/useIsTruncated.js +1 -30
  1050. package/dist/esm/Hooks/usePreferences.js +1 -6
  1051. package/dist/esm/Hooks/useSidebarPrefs.js +1 -2
  1052. package/dist/esm/Theme/assertPalette.js +4 -3
  1053. package/dist/esm/Theme/chakra/Card.styles.js +45 -0
  1054. package/dist/esm/Theme/chakra/Drawer.styles.js +14 -13
  1055. package/dist/esm/Theme/chakra/Menu.styles.js +17 -26
  1056. package/dist/esm/Theme/chakra/Modal.styles.js +15 -13
  1057. package/dist/esm/Theme/chakra/Popover.styles.js +6 -10
  1058. package/dist/esm/Theme/chakra/Slider.styles.js +1 -6
  1059. package/dist/esm/Theme/chakra/common.web.js +1 -7
  1060. package/dist/esm/Theme/chakra/componentStyles.js +84 -97
  1061. package/dist/esm/Theme/chakra/createBrandTheme.js +23 -54
  1062. package/dist/esm/Theme/chakra/focusRing.styles.js +34 -0
  1063. package/dist/esm/Theme/chakra/fonts.web.js +1 -5
  1064. package/dist/esm/Theme/chakra/motion.js +22 -0
  1065. package/dist/esm/Theme/chakra/overlay.styles.js +43 -0
  1066. package/dist/esm/Theme/chakra/paletteFromTheme.js +1 -4
  1067. package/dist/esm/Theme/index.js +3 -18
  1068. package/dist/esm/Theme/provider/PixelizeThemeProvider.js +6 -74
  1069. package/dist/esm/Theme/provider/ThemeSwitcher.js +23 -21
  1070. package/dist/esm/Theme/provider/colorModeStorage.js +1 -4
  1071. package/dist/esm/Theme/tokens/brands/emerald/palette.dark.js +0 -4
  1072. package/dist/esm/Theme/tokens/brands/emerald/palette.light.js +2 -10
  1073. package/dist/esm/Theme/tokens/brands/index.js +6 -1
  1074. package/dist/esm/Theme/tokens/brands/lavender/palette.dark.js +0 -4
  1075. package/dist/esm/Theme/tokens/brands/lavender/palette.light.js +4 -13
  1076. package/dist/esm/Theme/tokens/brands/meadow/palette.dark.js +0 -4
  1077. package/dist/esm/Theme/tokens/brands/meadow/palette.light.js +2 -11
  1078. package/dist/esm/Theme/tokens/brands/radiant/palette.dark.js +0 -4
  1079. package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +2 -10
  1080. package/dist/esm/Theme/tokens/brands/rosewood/palette.dark.js +0 -4
  1081. package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +2 -14
  1082. package/dist/esm/Theme/tokens/brands/skyline/palette.dark.js +0 -4
  1083. package/dist/esm/Theme/tokens/brands/skyline/palette.light.js +2 -11
  1084. package/dist/esm/Theme/tokens/brands/slate/palette.dark.js +0 -4
  1085. package/dist/esm/Theme/tokens/brands/slate/palette.light.js +1 -11
  1086. package/dist/esm/Theme/tokens/brands/storefront/palette.dark.js +0 -4
  1087. package/dist/esm/Theme/tokens/brands/zinc/palette.dark.js +5 -35
  1088. package/dist/esm/Theme/tokens/brands/zinc/palette.light.js +3 -12
  1089. package/dist/esm/Theme/tokens/builders/accentText.js +5 -48
  1090. package/dist/esm/Theme/tokens/builders/brandInk.js +18 -2
  1091. package/dist/esm/Theme/tokens/builders/buildBrandTokens.js +1 -3
  1092. package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +19 -102
  1093. package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +2 -9
  1094. package/dist/esm/Theme/tokens/builders/color.js +3 -20
  1095. package/dist/esm/Theme/tokens/builders/filledSurface.js +77 -0
  1096. package/dist/esm/Theme/tokens/builders/focusRing.js +41 -0
  1097. package/dist/esm/Theme/tokens/builders/gradientInk.js +2 -10
  1098. package/dist/esm/Theme/tokens/builders/index.js +6 -0
  1099. package/dist/esm/Theme/tokens/builders/outlineRung.js +56 -36
  1100. package/dist/esm/Theme/tokens/builders/placeholderInk.js +19 -0
  1101. package/dist/esm/Theme/tokens/builders/resolvedRungs.js +3 -2
  1102. package/dist/esm/Theme/tokens/builders/rowStates.js +10 -0
  1103. package/dist/esm/Theme/tokens/builders/scrim.js +12 -0
  1104. package/dist/esm/Theme/tokens/builders/scrollShadow.js +13 -0
  1105. package/dist/esm/Theme/tokens/builders/scrollbar.js +1 -4
  1106. package/dist/esm/Theme/tokens/builders/semanticText.js +1 -5
  1107. package/dist/esm/Theme/tokens/builders/sidebarAccent.js +11 -0
  1108. package/dist/esm/Theme/tokens/builders/statusTone.js +4 -19
  1109. package/dist/esm/Theme/tokens/builders/surfaceRaised.js +15 -0
  1110. package/dist/esm/Theme/tokens/builders/surfaceRungs.js +14 -10
  1111. package/dist/esm/Theme/tokens/builders/tone.js +47 -0
  1112. package/dist/esm/Theme/tokens/builders/tooltipSurface.js +6 -0
  1113. package/dist/esm/Theme/tokens/builders/viewportHeight.js +6 -0
  1114. package/dist/esm/Theme/tokens/index.js +1 -10
  1115. package/dist/esm/Theme/tokens/primitives/controlSizes.js +10 -0
  1116. package/dist/esm/Theme/tokens/primitives/index.js +2 -0
  1117. package/dist/esm/Theme/tokens/primitives/motion.js +8 -0
  1118. package/dist/esm/Theme/tokens/primitives/optionRowSizes.js +25 -0
  1119. package/dist/esm/Theme/tokens/primitives/sizes.js +1 -4
  1120. package/dist/esm/Theme/tokens/primitives/typography.js +1 -7
  1121. package/dist/esm/Theme/tokens/types.js +1 -6
  1122. package/dist/esm/Utils/accountHandoff.js +2 -17
  1123. package/dist/esm/Utils/apiError.js +24 -0
  1124. package/dist/esm/Utils/functions.js +6 -4
  1125. package/dist/esm/Utils/humanize.js +15 -0
  1126. package/dist/esm/Utils/lazyWithRetry.js +45 -0
  1127. package/dist/esm/Utils/mergeRefs.js +1 -5
  1128. package/dist/esm/Utils/planBadge.js +2 -12
  1129. package/dist/esm/Utils/planExpiry.js +4 -29
  1130. package/dist/esm/Utils/rafThrottle.js +1 -11
  1131. package/dist/esm/Utils/table.js +61 -55
  1132. package/dist/esm/Utils/validation.js +73 -0
  1133. package/dist/esm/index.js +90 -2
  1134. package/dist/global.css +6 -1
  1135. package/dist/index.d.ts +133 -7
  1136. package/dist/index.js +257 -5
  1137. package/package.json +27 -6
  1138. package/dist/Assets/defaultLogo.tsx +0 -26
  1139. package/dist/Components/PinInputs/PinInputs.d.ts +0 -3
  1140. package/dist/Components/PinInputs/PinInputs.js +0 -46
  1141. package/dist/Components/PinInputs/PinInputsProps.d.ts +0 -9
  1142. package/dist/Components/Table/hooks/useDebounce.d.ts +0 -2
  1143. package/dist/Components/Table/hooks/useDebounce.js +0 -24
  1144. package/dist/Components/Trail/EditableCell.d.ts +0 -11
  1145. package/dist/Components/Trail/EditableCell.js +0 -34
  1146. package/dist/Components/Trail/SelectAllCheckbox.d.ts +0 -8
  1147. package/dist/Components/Trail/SelectAllCheckbox.js +0 -9
  1148. package/dist/Components/Trail/TrailWorks.d.ts +0 -2
  1149. package/dist/Components/Trail/TrailWorks.js +0 -56
  1150. package/dist/Components/Trail/data.d.ts +0 -15
  1151. package/dist/Components/Trail/data.js +0 -29
  1152. package/dist/Theme/chakra/Avatar.styles.d.ts +0 -32
  1153. package/dist/Theme/chakra/Avatar.styles.js +0 -28
  1154. package/dist/Theme/chakra/Switch.styles.d.ts +0 -30
  1155. package/dist/Theme/chakra/Switch.styles.js +0 -22
  1156. package/dist/Theme/chakra/Tabs.styles.d.ts +0 -42
  1157. package/dist/Theme/chakra/Tabs.styles.js +0 -36
  1158. package/dist/esm/Components/PinInputs/PinInputs.js +0 -41
  1159. package/dist/esm/Components/Table/hooks/useDebounce.js +0 -22
  1160. package/dist/esm/Components/Trail/EditableCell.js +0 -30
  1161. package/dist/esm/Components/Trail/SelectAllCheckbox.js +0 -5
  1162. package/dist/esm/Components/Trail/TrailWorks.js +0 -54
  1163. package/dist/esm/Components/Trail/data.js +0 -26
  1164. package/dist/esm/Theme/chakra/Avatar.styles.js +0 -25
  1165. package/dist/esm/Theme/chakra/Switch.styles.js +0 -19
  1166. package/dist/esm/Theme/chakra/Tabs.styles.js +0 -33
  1167. /package/dist/Components/{PinInputs/PinInputsProps.js → Avatar/AvatarGroupProps.js} +0 -0
  1168. /package/dist/esm/Components/{PinInputs/PinInputsProps.js → Avatar/AvatarGroupProps.js} +0 -0
@@ -3,30 +3,50 @@ import { Box, IconButton, Spinner, Td, Tr } from "@chakra-ui/react";
3
3
  import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
4
4
  import { normalizeTableCellValue, buildTablePalette, pickTableColor } from "../../../Utils/table.js";
5
5
  import { useCustomTheme } from "../../../Theme/useCustomTheme.js";
6
- import { onFilled, isDarkCanvas } from "../../../Theme/tokens/builders/accentText.js";
7
6
  import { TableBodyLoading } from "./TableLoading.js";
8
7
  import TableActions from "./TableActions.js";
9
- import { getTableRowHoverStyle } from "./tableRowHoverStyle.js";
10
8
  import { ChevronDown, ChevronRight } from "lucide-react";
11
9
  import CheckBox from "../../Checkbox/Checkbox.js";
12
10
  import TableGroupRow from "./TableGroupRow.js";
13
- // Density → row height (px) + cell vertical padding. The padding (not just the
14
- // min-height) is what drives perceived row size, so compact tightens both.
15
- const DENSITY_CONFIG = {
16
- compact: { height: 32, py: "0.125rem" },
17
- normal: { height: 40, py: "0.5rem" },
18
- comfortable: { height: 52, py: "0.875rem" },
19
- };
11
+ import { useTableVariant } from "../variants/TableVariantContext.js";
12
+ import { resolvePillInk } from "../variants/pillInk.js";
13
+ import EmptyState from "../../EmptyState/EmptyState.js";
14
+ import { DENSITY_ROWS, EMPTY_STATE_HEIGHT, GROUP_HEADER_HEIGHT } from "./rowMetrics.js";
15
+ import { transitionFor } from "../../../Theme/tokens/primitives/motion.js";
16
+ import { reducedMotionSx } from "../../../Theme/chakra/motion.js";
20
17
  const getRowId = (row) => row.id;
21
18
  const getRowContent = (row) => typeof row.content === "function"
22
19
  ? row.content
23
20
  : undefined;
21
+ // Smallest index i in [0, total] where offsets[i+1] > target; offsets is sorted.
22
+ export const findFirstVisibleIndex = (offsets, total, target) => {
23
+ let lo = 0;
24
+ let hi = total;
25
+ while (lo < hi) {
26
+ const mid = (lo + hi) >>> 1;
27
+ if (offsets[mid + 1] <= target) {
28
+ lo = mid + 1;
29
+ }
30
+ else {
31
+ hi = mid;
32
+ }
33
+ }
34
+ return lo;
35
+ };
24
36
  // Monday-style status cell: the whole cell is filled with the status color and
25
37
  // the label is centered in whichever of white/black clears AA against that fill —
26
38
  // the fill can be a consumer hex we can't know in advance is light or dark.
27
- const StatusCell = ({ value, onSolid }) => (_jsx(Box, { display: "flex", alignItems: "center", justifyContent: "center", w: "100%", h: "100%", px: "0.5rem", fontSize: "0.75rem", fontWeight: 600, color: onSolid, textAlign: "center", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis", children: value }));
39
+ const BLEED_JUSTIFY = {
40
+ start: "flex-start",
41
+ center: "center",
42
+ end: "flex-end",
43
+ };
44
+ const StatusCell = ({ value, onSolid, align, }) => (_jsx(Box, { display: "flex", alignItems: "center", justifyContent: BLEED_JUSTIFY[align !== null && align !== void 0 ? align : "center"], w: "100%", h: "100%", px: "0.5rem", fontSize: "0.75rem", fontWeight: 600, color: onSolid, textAlign: align !== null && align !== void 0 ? align : "center", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis", children: value }));
45
+ // Studio's status cell: a contained chip on the tone's soft rung. Same tone pair
46
+ // the group header already uses, so an override hex behaves identically in both.
47
+ const StatusPill = ({ value, soft, ink, radius, }) => (_jsx(Box, { display: "inline-flex", alignItems: "center", maxW: "100%", px: "0.5rem", py: "0.125rem", borderRadius: radius, bg: soft, color: ink, fontSize: "0.75rem", fontWeight: 600, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis", children: value }));
28
48
  const EMPTY_HOVER = {};
29
- const TableRow = React.memo(({ row, rowIndex, isChecked, isExpanded, isContent, isLink, isCheckbox, isLoading, isActionFreeze, columns, leftOffsets, noBorders, freezedBgColor, freezedTextColor, theme, borderStyle, selectedBg, selectedFrozenBg, hoverStyle, rowHeight, cellPy, palette, accentColor, ariaRowIndex, handleCheckbox, onRowClick, toggleRowExpansion, onMeasure, }) => {
49
+ const TableRow = React.memo(({ row, rowIndex, isChecked, isExpanded, isContent, isLink, isCheckbox, isLoading, isActionFreeze, columns, leftOffsets, noBorders, freezedBgColor, freezedTextColor, theme, borderStyle, selectedBg, selectedFrozenBg, hoverStyle, rowHeight, cellPy, palette, accentColor, isStriped, ariaRowIndex, handleCheckbox, onRowClick, toggleRowExpansion, onMeasure, }) => {
30
50
  // Measured-height virtualization: report this row's real height (main + any
31
51
  // expanded panel) so the windower can place variable/expandable rows exactly.
32
52
  const mainRowRef = useRef(null);
@@ -63,16 +83,40 @@ const TableRow = React.memo(({ row, rowIndex, isChecked, isExpanded, isContent,
63
83
  onRowClick(row, { label: header.label, id: header.id });
64
84
  }
65
85
  }, [row, onRowClick]);
86
+ const variant = useTableVariant();
66
87
  const firstDataColIndex = columns.findIndex((c) => !c.isHidden);
67
88
  const accentSx = accentColor ? `inset 3px 0 0 ${accentColor}` : undefined;
89
+ // A selected row earns the leading bar only where a group accent isn't already
90
+ // claiming that edge — the group's identity is the scarcer signal.
91
+ const leadSx = variant.row.showSelectedBar && isChecked && !accentColor
92
+ ? `inset 3px 0 0 ${variant.row.selectedBarColor}`
93
+ : accentSx;
94
+ const restsOnIndex = variant.slot.rest === "index";
95
+ const rowSx = {
96
+ ...(variant.row.hoverScope === "row"
97
+ ? { "&:hover > td[data-hoverable='true']": { backgroundColor: variant.row.hoverBg } }
98
+ : {}),
99
+ // opacity, not display: a hidden-by-display checkbox leaves the a11y tree and
100
+ // cannot be tabbed to, so `:focus-within` would never fire to bring it back.
101
+ ...(restsOnIndex
102
+ ? {
103
+ "& .table-slot-box": { opacity: isChecked ? 1 : 0 },
104
+ "& .table-slot-index": { opacity: isChecked ? 0 : 1 },
105
+ "&:hover .table-slot-box, &:focus-within .table-slot-box": { opacity: 1 },
106
+ "&:hover .table-slot-index, &:focus-within .table-slot-index": { opacity: 0 },
107
+ }
108
+ : {}),
109
+ };
68
110
  // Pinned/frozen columns get a tinted, opaque background so the frozen pane reads
69
111
  // as one piece with its header (and so sticky cells cover scrolling content).
70
112
  const frozenCellBg = freezedBgColor !== null && freezedBgColor !== void 0 ? freezedBgColor : theme.colors.table.hover[100];
71
113
  const cellStyles = row.cellStyle;
72
114
  const rowStyle = row.rowStyle;
115
+ const chromeHoverable = rowStyle ? "false" : "true";
73
116
  const rowContent = getRowContent(row);
74
- return (_jsxs(React.Fragment, { children: [_jsxs(Tr, { ref: mainRowRef, "aria-rowindex": ariaRowIndex, opacity: isLoading ? 0.4 : 1, pointerEvents: isLoading ? "none" : "auto", transition: "opacity 0.2s", children: [isContent && (_jsx(Td, { w: "6", p: 0, fontSize: 14, background: isChecked ? selectedFrozenBg : frozenCellBg, color: freezedTextColor, position: "sticky", borderBottom: borderStyle, boxShadow: accentSx, boxSizing: "border-box", left: "0px", zIndex: 1, className: "columns sticky-columns", children: !!(row === null || row === void 0 ? void 0 : row.content) && (_jsx(IconButton, { "aria-label": isExpanded ? "Collapse row" : "Expand row", color: theme.colors.textMuted, icon: isExpanded ? (_jsx(ChevronDown, { fontSize: 16 })) : (_jsx(ChevronRight, { fontSize: 16 })), _hover: { transform: "scale(1.1)" }, size: "sm", onClick: () => toggleRowExpansion(rowIndex), variant: "ghost" })) })), isCheckbox && (_jsx(Td, { w: "6", fontSize: 14, fontWeight: 600, color: theme.colors.background[50], textTransform: "capitalize", background: isChecked ? selectedFrozenBg : frozenCellBg, position: "sticky", borderBottom: borderStyle, boxShadow: !isContent ? accentSx : undefined, boxSizing: "border-box", left: "0px", zIndex: 1, className: "columns sticky-columns", children: _jsx(CheckBox, { "aria-label": `Select row ${rowIndex + 1}`, onChange: () => handleCheckbox(getRowId(row)), isChecked: isChecked }) })), columns.map((header, headerIndex) => {
75
- var _a, _b, _c;
117
+ const restBg = isStriped ? variant.row.stripeBg : theme.colors.background[50];
118
+ return (_jsxs(React.Fragment, { children: [_jsxs(Tr, { ref: mainRowRef, "aria-rowindex": ariaRowIndex, opacity: isLoading ? 0.4 : 1, pointerEvents: isLoading ? "none" : "auto", transition: transitionFor(["opacity"], "base"), sx: { ...rowSx, ...reducedMotionSx() }, children: [isContent && (_jsx(Td, { w: "6", p: 0, fontSize: 14, background: isChecked ? selectedFrozenBg : frozenCellBg, color: freezedTextColor, position: "sticky", borderBottom: borderStyle, boxShadow: leadSx, boxSizing: "border-box", "data-hoverable": chromeHoverable, left: "0px", zIndex: 1, className: "columns sticky-columns", children: hasContent && (_jsx(IconButton, { "aria-label": isExpanded ? "Collapse row" : "Expand row", color: theme.colors.textMuted, icon: isExpanded ? (_jsx(ChevronDown, { fontSize: 16 })) : (_jsx(ChevronRight, { fontSize: 16 })), _hover: { transform: "scale(1.1)" }, size: "sm", onClick: () => toggleRowExpansion(rowIndex), variant: "ghost" })) })), isCheckbox && (_jsx(Td, { w: variant.slot.width, minW: variant.slot.width, px: variant.slot.centered ? 0 : undefined, textAlign: variant.slot.centered ? "center" : undefined, fontSize: 14, fontWeight: 600, color: theme.colors.background[50], textTransform: "capitalize", background: isChecked ? selectedFrozenBg : frozenCellBg, position: "sticky", borderBottom: borderStyle, boxShadow: !isContent ? leadSx : undefined, "data-hoverable": chromeHoverable, boxSizing: "border-box", left: "0px", zIndex: 1, className: "columns sticky-columns", children: _jsxs(Box, { display: restsOnIndex ? "grid" : undefined, placeItems: "center", children: [restsOnIndex && (_jsx(Box, { as: "span", className: "table-slot-index", gridArea: "1 / 1", color: variant.slot.indexInk, fontSize: "0.6875rem", fontWeight: 500, transition: transitionFor(["opacity"]), sx: { fontVariantNumeric: "tabular-nums", ...reducedMotionSx() }, children: rowIndex + 1 })), _jsx(Box, { as: "span", className: restsOnIndex ? "table-slot-box" : undefined, gridArea: restsOnIndex ? "1 / 1" : undefined, display: "flex", alignItems: "center", justifyContent: "center", transition: transitionFor(["opacity"]), sx: reducedMotionSx(), children: _jsx(CheckBox, { "aria-label": `Select row ${rowIndex + 1}`, onChange: () => handleCheckbox(getRowId(row)), isChecked: isChecked }) })] }) })), columns.map((header, headerIndex) => {
119
+ var _a, _b, _c, _d;
76
120
  if (header.isHidden)
77
121
  return null;
78
122
  const isFrozen = header.isFreeze;
@@ -80,27 +124,37 @@ const TableRow = React.memo(({ row, rowIndex, isChecked, isExpanded, isContent,
80
124
  const isStatus = header.type === "status" && !header.node;
81
125
  const rawStatus = String((_a = row[header.id]) !== null && _a !== void 0 ? _a : "");
82
126
  const statusColor = isStatus
83
- ? pickTableColor(rawStatus, palette, (_b = header.statusColors) === null || _b === void 0 ? void 0 : _b[rawStatus], theme)
127
+ ? (_c = (_b = header.statusPalette) === null || _b === void 0 ? void 0 : _b[rawStatus]) !== null && _c !== void 0 ? _c : pickTableColor(rawStatus, palette, (_d = header.statusColors) === null || _d === void 0 ? void 0 : _d[rawStatus], theme)
84
128
  : null;
85
- // Guards a `statusColor` built by an older external caller that predates `onSolid`.
86
- const statusOnSolid = statusColor
87
- ? (_c = statusColor.onSolid) !== null && _c !== void 0 ? _c : onFilled(statusColor.solid, theme.colors.white, theme.colors.black)
88
- : undefined;
89
- return (_jsx(Td, { maxWidth: 500, minWidth: 120, height: `${rowHeight}px`, py: isStatus && statusColor ? 0 : cellPy, px: isStatus && statusColor ? 0 : undefined, onClick: () => handleCellClick(header), fontSize: 14, fontWeight: 400, position: isFrozen ? "sticky" : undefined, left: isFrozen ? leftOffsets[headerIndex] : undefined, zIndex: isFrozen ? 1 : 0, background: isStatus && statusColor ? statusColor.solid : isChecked ? (isFrozen ? selectedFrozenBg : selectedBg) : isFrozen ? frozenCellBg : theme.colors.background[50], textOverflow: "ellipsis", boxShadow: isFirstDataCell ? accentSx : undefined, borderBottom: noBorders
129
+ const isBleed = variant.cells.statusFill === "bleed" && !!statusColor;
130
+ const bleedBg = statusColor === null || statusColor === void 0 ? void 0 : statusColor.soft;
131
+ const bleedInk = statusColor === null || statusColor === void 0 ? void 0 : statusColor.text;
132
+ const canHover = !isBleed && !((cellStyles === null || cellStyles === void 0 ? void 0 : cellStyles[header.id]) || rowStyle);
133
+ return (_jsx(Td, { maxWidth: 500, minWidth: 120, height: `${rowHeight}px`, py: isBleed ? 0 : cellPy, px: isBleed ? 0 : undefined, onClick: () => handleCellClick(header), fontSize: 14, fontWeight: 400, position: isFrozen ? "sticky" : undefined, left: isFrozen ? `${leftOffsets[headerIndex]}px` : undefined, zIndex: isFrozen ? 1 : 0, background: isBleed ? bleedBg : isChecked ? (isFrozen ? selectedFrozenBg : selectedBg) : isFrozen ? frozenCellBg : restBg, textAlign: isBleed ? undefined : header.align, textOverflow: "ellipsis", boxShadow: isFirstDataCell ? leadSx : undefined, borderBottom: noBorders
90
134
  ? "none"
91
- : `0.063rem solid ${theme.colors.boxborder[isFrozen || isChecked ? 300 : 200]}`, className: `columns ${isFrozen ? "sticky-columns" : "scrollable-columns"}`, boxSizing: "border-box", color: isStatus && statusColor ? statusOnSolid : theme.colors.text[500], _hover: isStatus && statusColor
135
+ : `0.063rem solid ${isFrozen || isChecked
136
+ ? variant.row.frozenRuleColor
137
+ : variant.row.ruleColor}`, className: `columns ${isFrozen ? "sticky-columns" : "scrollable-columns"}`, boxSizing: "border-box", color: isBleed ? bleedInk : variant.cells.ink, "data-hoverable": canHover ? "true" : "false", _hover: variant.row.hoverScope === "row" || !canHover
92
138
  ? EMPTY_HOVER
93
- : (cellStyles === null || cellStyles === void 0 ? void 0 : cellStyles[header.id]) || rowStyle
94
- ? EMPTY_HOVER
95
- : hoverStyle, children: isStatus && statusColor ? (_jsx(StatusCell, { value: normalizeTableCellValue(row[header.id]), onSolid: statusOnSolid })) : (_jsx(Box, { display: "block", overflow: "hidden", whiteSpace: "normal", overflowWrap: "break-word", children: normalizeTableCellValue(header.node ? header.node(row) : row[header.id]) })) }, headerIndex + 1));
96
- }), isLink && (_jsx(Td, { w: 2, p: 0, fontSize: 14, background: isChecked ? (isActionFreeze ? selectedFrozenBg : selectedBg) : isActionFreeze ? frozenCellBg : theme.colors.background[50], color: freezedTextColor, position: isActionFreeze ? "sticky" : "relative", borderBottom: borderStyle, boxSizing: "border-box", right: 0, zIndex: 1, className: `columns sticky-columns${isActionFreeze ? "-right" : ""}`, children: (row.onLink || row.onEdit || row.onDelete) ? (_jsx(TableActions, { row: row })) : null }))] }), rowContent && isExpanded && (_jsx(Tr, { ref: expandedRowRef, children: _jsx(Td, { colSpan: columns.length +
139
+ : hoverStyle, children: isBleed ? (_jsx(StatusCell, { value: normalizeTableCellValue(row[header.id]), onSolid: bleedInk, align: header.align })) : isStatus && statusColor ? (_jsx(StatusPill, { value: normalizeTableCellValue(row[header.id]), soft: statusColor.soft, ink: resolvePillInk(statusColor.text, statusColor.soft, theme.colors.background[50]), radius: variant.cells.pillRadius })) : (_jsx(Box, { display: "block", overflow: "hidden", whiteSpace: "normal", overflowWrap: "break-word", children: normalizeTableCellValue(header.node ? header.node(row) : row[header.id]) })) }, headerIndex + 1));
140
+ }), isLink && (_jsx(Td, { w: 2, p: 0, fontSize: 14, background: isChecked ? (isActionFreeze ? selectedFrozenBg : selectedBg) : isActionFreeze ? frozenCellBg : restBg, color: freezedTextColor, position: isActionFreeze ? "sticky" : "relative", borderBottom: borderStyle, boxSizing: "border-box", right: 0, zIndex: 1, className: `columns sticky-columns${isActionFreeze ? "-right" : ""}`, children: (row.onLink || row.onEdit || row.onDelete) ? (_jsx(TableActions, { row: row })) : null }))] }), rowContent && isExpanded && (_jsx(Tr, { ref: expandedRowRef, children: _jsx(Td, { colSpan: columns.length +
97
141
  (isCheckbox ? 1 : 0) +
98
142
  (isContent ? 1 : 0) +
99
- (isLink ? 1 : 0), p: 2, children: _jsx(Box, { p: 2, bg: theme.colors.background[50], borderRadius: "md", children: rowContent(row) }) }) }))] }));
143
+ (isLink ? 1 : 0), p: 2, children: _jsx(Box, { p: 2, bg: theme.colors.background[50], borderRadius: "lg", children: rowContent(row) }) }) }))] }));
100
144
  });
101
- const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedBgColor, freezedTextColor, noBorders, handleCheckbox, selections, isLoading, onRowClick, isContent, isLink, isActionFreeze, loadingSkeletonRows, scrollContainerRef, density, accentColors, groups, onAddItem, emptyState, }) => {
102
- var _a, _b, _c;
145
+ const isStructuredEmpty = (value) => !!value && typeof value === "object" && !React.isValidElement(value);
146
+ const TableEmpty = ({ emptyState }) => {
147
+ const structured = isStructuredEmpty(emptyState) ? emptyState : undefined;
148
+ const iconNode = structured === null || structured === void 0 ? void 0 : structured.icon;
149
+ const icon = useMemo(() => (iconNode ? () => _jsx(_Fragment, { children: iconNode }) : undefined), [iconNode]);
150
+ if (emptyState && !structured)
151
+ return _jsx(_Fragment, { children: emptyState });
152
+ return (_jsx(EmptyState, { size: "sm", minH: `${EMPTY_STATE_HEIGHT}px`, title: structured === null || structured === void 0 ? void 0 : structured.title, description: structured === null || structured === void 0 ? void 0 : structured.description, icon: icon }));
153
+ };
154
+ const TableBody = ({ data, isCheckbox, columns, startRow, rowsPerPage, columnWidths, slotWidth, freezedBgColor, freezedTextColor, noBorders, handleCheckbox, selections, isLoading, onRowClick, isContent, isLink, isActionFreeze, loadingSkeletonRows, scrollContainerRef, density, stripe = false, accentColors, groups, onAddItem, emptyState, }) => {
155
+ var _a;
103
156
  const theme = useCustomTheme();
157
+ const variant = useTableVariant();
104
158
  const [expandedRows, setExpandedRows] = useState(new Set());
105
159
  const [collapsedGroups, setCollapsedGroups] = useState(new Set());
106
160
  const toggleGroup = useCallback((value) => {
@@ -117,22 +171,10 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
117
171
  }, []);
118
172
  const selectionsSet = useMemo(() => new Set(selections), [selections]);
119
173
  const palette = useMemo(() => buildTablePalette(theme), [theme]);
120
- const densityConfig = (_a = DENSITY_CONFIG[density !== null && density !== void 0 ? density : "normal"]) !== null && _a !== void 0 ? _a : DENSITY_CONFIG.normal;
121
- const rowHeight = densityConfig.height;
122
- const cellPy = densityConfig.py;
123
- // --- Row virtualization ---------------------------------------------------
124
- // Rows are a fixed 45px tall (see the `height={45}` on every <Td/> below),
125
- // and the scroll viewport is capped at ~500px, so only ~11 rows are ever
126
- // visible. Mounting all 50/100 page rows is what makes paging freeze. We
127
- // render only the rows inside the viewport (+ overscan) and reserve the
128
- // remaining height with empty spacer rows. Spacer rows (rather than CSS
129
- // transforms) keep the table in normal flow so the sticky header and
130
- // `position: sticky` frozen columns keep working.
131
- // Expandable `content` rows are supported via measured heights (see
132
- // `measuredHeights` / `onMeasure` below) — each rendered row reports its real
133
- // height, so the window places variable/expanded rows exactly.
174
+ const { height: rowHeight, py: cellPy } = DENSITY_ROWS[density !== null && density !== void 0 ? density : "normal"];
175
+ // Windowing: only rows inside the viewport (+ overscan) mount; spacer rows (not transforms)
176
+ // reserve the rest so sticky header/frozen columns keep working. Rows report measured heights.
134
177
  const ROW_HEIGHT = rowHeight;
135
- const GROUP_HEADER_H = 42;
136
178
  const OVERSCAN = 6;
137
179
  const VIRTUALIZE_THRESHOLD = 30;
138
180
  const ESTIMATED_EXPAND = 120; // assumed extra height for an expanded-but-not-yet-measured row
@@ -158,7 +200,15 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
158
200
  const el = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
159
201
  if (!el || !(shouldVirtualize || groupVirtualize))
160
202
  return;
161
- const onScroll = () => setScrollTop(el.scrollTop);
203
+ let rafId = null;
204
+ const onScroll = () => {
205
+ if (rafId != null)
206
+ return;
207
+ rafId = requestAnimationFrame(() => {
208
+ rafId = null;
209
+ setScrollTop(el.scrollTop);
210
+ });
211
+ };
162
212
  const measure = () => setViewportH(el.clientHeight);
163
213
  measure();
164
214
  setScrollTop(el.scrollTop);
@@ -167,23 +217,30 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
167
217
  return () => {
168
218
  el.removeEventListener("scroll", onScroll);
169
219
  window.removeEventListener("resize", measure);
220
+ if (rafId != null)
221
+ cancelAnimationFrame(rafId);
170
222
  };
171
223
  }, [scrollContainerRef, shouldVirtualize, groupVirtualize, data.length, groupRowCount]);
172
- // New page: jump back to the top so the window recomputes from row 0.
224
+ // Reset only on a real page change, never merely from the virtualization
225
+ // threshold flipping or rows being appended (infinite scroll/load-more).
226
+ const sliceKey = `${startRow}|${rowsPerPage}`;
227
+ const prevSliceKeyRef = useRef(sliceKey);
173
228
  useEffect(() => {
174
- if (!shouldVirtualize)
229
+ const changed = prevSliceKeyRef.current !== sliceKey;
230
+ prevSliceKeyRef.current = sliceKey;
231
+ if (!changed)
175
232
  return;
176
233
  const el = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
177
234
  if (el)
178
235
  el.scrollTop = 0;
179
236
  setScrollTop(0);
180
- }, [startRow, shouldVirtualize, scrollContainerRef]);
237
+ }, [sliceKey, scrollContainerRef]);
181
238
  const total = data.length;
182
239
  // Prefix-sum offsets using measured heights (exact for rendered rows) and
183
240
  // estimates for not-yet-measured rows (ROW_HEIGHT, + ESTIMATED_EXPAND if expanded).
184
241
  // Independent of scrollTop, so scrolling reuses it instead of rebuilding it.
185
242
  const offsets = useMemo(() => {
186
- if (!shouldVirtualize)
243
+ if (!shouldVirtualize || groups)
187
244
  return null;
188
245
  const acc = new Array(total + 1);
189
246
  acc[0] = 0;
@@ -196,7 +253,7 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
196
253
  acc[i + 1] = acc[i] + h;
197
254
  }
198
255
  return acc;
199
- }, [shouldVirtualize, total, data, measuredHeights, expandedRows, startRow, ROW_HEIGHT, ESTIMATED_EXPAND]);
256
+ }, [shouldVirtualize, groups, total, data, measuredHeights, expandedRows, startRow, ROW_HEIGHT, ESTIMATED_EXPAND]);
200
257
  let firstIndex = 0;
201
258
  let lastIndex = total;
202
259
  let topPad = 0;
@@ -206,9 +263,7 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
206
263
  const totalH = offsets[total];
207
264
  const top = scrollTop - OVERSCAN * ROW_HEIGHT;
208
265
  const bottom = scrollTop + vh + OVERSCAN * ROW_HEIGHT;
209
- firstIndex = 0;
210
- while (firstIndex < total && offsets[firstIndex + 1] <= top)
211
- firstIndex++;
266
+ firstIndex = findFirstVisibleIndex(offsets, total, top);
212
267
  lastIndex = firstIndex;
213
268
  while (lastIndex < total && offsets[lastIndex] < bottom)
214
269
  lastIndex++;
@@ -243,20 +298,19 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
243
298
  (isContent ? 1 : 0) +
244
299
  (isLink ? 1 : 0), [columns, isCheckbox, isContent, isLink]);
245
300
  const leftOffsets = useMemo(() => {
246
- const checkboxOffset = isCheckbox ? 50 : 0;
301
+ const checkboxOffset = isCheckbox ? slotWidth : 0;
247
302
  return columnWidths.map((_, idx) => columnWidths.slice(0, idx).reduce((sum, w) => sum + w, 0) + checkboxOffset);
248
- }, [columnWidths, isCheckbox]);
249
- const borderStyle = useMemo(() => noBorders ? "none" : `0.063rem solid ${theme.colors.border[500]}`, [noBorders, theme.colors.border]);
303
+ }, [columnWidths, isCheckbox, slotWidth]);
304
+ const borderStyle = useMemo(() => noBorders ? "none" : `0.063rem solid ${variant.row.ruleColor}`, [noBorders, variant.row.ruleColor]);
250
305
  // Selected-row tint applied per-cell (NOT a blanket `& td` override) so status
251
306
  // cells keep their solid color + white text instead of white-on-tint.
252
- const selectedBg = theme.colors.primary.opacity[16];
307
+ const selectedBg = variant.row.selectedBg;
253
308
  // Sticky/frozen cells overlay scrolling content, so their selected background
254
309
  // must be OPAQUE — paint the (translucent) tint over an opaque base.
255
310
  const selectedFrozenBg = `linear-gradient(0deg, ${selectedBg}, ${selectedBg}), ${theme.colors.background[50]}`;
256
311
  // Dark mode lifts the hover fill to `table.hover[500]`; `[300]` sits ~1.2:1 from the canvas.
257
312
  // No ink flip needed — see `tableRowHoverStyle.ts`.
258
- const isDark = isDarkCanvas(theme.colors.backgroundColor.main);
259
- const hoverStyle = useMemo(() => getTableRowHoverStyle(theme.colors, isDark), [theme.colors, isDark]);
313
+ const hoverStyle = useMemo(() => ({ backgroundColor: variant.row.hoverBg }), [variant.row.hoverBg]);
260
314
  // Flatten groups → one sequence of header/row items so it can be windowed.
261
315
  // Independent of scrollTop, so scrolling reuses it instead of re-flattening.
262
316
  const groupItems = useMemo(() => {
@@ -266,8 +320,7 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
266
320
  for (const g of groups) {
267
321
  list.push({ kind: "header", g });
268
322
  if (!collapsedGroups.has(g.value)) {
269
- for (const row of g.rows)
270
- list.push({ kind: "row", g, row });
323
+ g.rows.forEach((row, pos) => list.push({ kind: "row", g, row, pos }));
271
324
  }
272
325
  }
273
326
  return list;
@@ -275,7 +328,7 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
275
328
  const groupMetrics = useMemo(() => {
276
329
  if (!groupItems || !groupVirtualize)
277
330
  return null;
278
- const heights = groupItems.map((it) => (it.kind === "header" ? GROUP_HEADER_H : rowHeight));
331
+ const heights = groupItems.map((it) => (it.kind === "header" ? GROUP_HEADER_HEIGHT : rowHeight));
279
332
  const offsets = [];
280
333
  let acc = 0;
281
334
  for (const h of heights) {
@@ -283,14 +336,44 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
283
336
  acc += h;
284
337
  }
285
338
  return { heights, offsets, totalH: acc };
286
- }, [groupItems, groupVirtualize, rowHeight, GROUP_HEADER_H]);
339
+ }, [groupItems, groupVirtualize, rowHeight]);
340
+ // Clamp scrollTop back when a shorter data set leaves it past the new content height.
341
+ useEffect(() => {
342
+ const totalH = shouldVirtualize && offsets ? offsets[total] : groupVirtualize && groupMetrics ? groupMetrics.totalH : null;
343
+ if (totalH == null)
344
+ return;
345
+ const maxScrollTop = Math.max(0, totalH - viewportH);
346
+ if (scrollTop > maxScrollTop) {
347
+ const el = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
348
+ if (el)
349
+ el.scrollTop = maxScrollTop;
350
+ setScrollTop(maxScrollTop);
351
+ }
352
+ }, [shouldVirtualize, offsets, total, groupVirtualize, groupMetrics, viewportH, scrollTop, scrollContainerRef]);
353
+ // Prune measured heights for rows no longer in data so the map stays bounded.
354
+ useEffect(() => {
355
+ setMeasuredHeights((prev) => {
356
+ if (prev.size === 0)
357
+ return prev;
358
+ const ids = new Set(data.map(getRowId));
359
+ let changed = false;
360
+ const next = new Map();
361
+ prev.forEach((h, id) => {
362
+ if (ids.has(id)) {
363
+ next.set(id, h);
364
+ }
365
+ else {
366
+ changed = true;
367
+ }
368
+ });
369
+ return changed ? next : prev;
370
+ });
371
+ }, [data]);
287
372
  if (isLoading && data.length === 0) {
288
- return (_jsx(TableBodyLoading, { noOfColumns: totalVisibleColumns, borderColor: theme.colors.boxborder[200], rowsCount: typeof loadingSkeletonRows === "number" ? loadingSkeletonRows : 4 }));
373
+ return (_jsx(TableBodyLoading, { noOfColumns: totalVisibleColumns, borderColor: theme.colors.boxborder[200], rowsCount: typeof loadingSkeletonRows === "number" ? loadingSkeletonRows : 4, rowHeight: rowHeight }));
289
374
  }
290
375
  if (!isLoading && data.length === 0) {
291
- const isStructured = emptyState && typeof emptyState === "object" && !React.isValidElement(emptyState);
292
- const es = isStructured ? emptyState : null;
293
- return (_jsx(Tr, { backgroundColor: theme.colors.background[50], children: _jsx(Td, { colSpan: totalVisibleColumns, textAlign: "center", py: 10, border: "none", children: emptyState && !isStructured ? emptyState : (_jsxs(Box, { display: "flex", flexDirection: "column", alignItems: "center", gap: 2, color: theme.colors.textMuted, children: [(es === null || es === void 0 ? void 0 : es.icon) && _jsx(Box, { fontSize: "1.75rem", color: theme.colors.textMuted, children: es.icon }), _jsx(Box, { fontSize: "0.95rem", fontWeight: 600, color: theme.colors.text[700], children: (_b = es === null || es === void 0 ? void 0 : es.title) !== null && _b !== void 0 ? _b : "No data found" }), (es === null || es === void 0 ? void 0 : es.description) && (_jsx(Box, { fontSize: "0.8125rem", color: theme.colors.textMuted, children: es.description }))] })) }) }));
376
+ return (_jsx(Tr, { backgroundColor: theme.colors.background[50], children: _jsx(Td, { colSpan: totalVisibleColumns, p: 0, border: "none", children: _jsx(TableEmpty, { emptyState: emptyState }) }) }));
294
377
  }
295
378
  // --- Monday-style grouped board render (virtualized when large) -----------
296
379
  if (groups) {
@@ -314,13 +397,13 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
314
397
  break;
315
398
  }
316
399
  }
317
- gTopPad = (_c = offsets[firstI]) !== null && _c !== void 0 ? _c : 0;
400
+ gTopPad = (_a = offsets[firstI]) !== null && _a !== void 0 ? _a : 0;
318
401
  gBottomPad = totalH - (lastI > firstI ? offsets[lastI - 1] + heights[lastI - 1] : gTopPad);
319
402
  }
320
403
  const windowItems = groupVirtualize ? items.slice(firstI, lastI) : items;
321
404
  return (_jsxs(_Fragment, { children: [gTopPad > 0 && (_jsx("tr", { "aria-hidden": "true", style: { height: gTopPad }, children: _jsx("td", { colSpan: totalVisibleColumns, style: { padding: 0, border: "none", height: gTopPad } }) })), windowItems.map((it, k) => {
322
405
  var _a;
323
- return it.kind === "header" ? (_jsx(TableGroupRow, { label: it.g.label, value: it.g.value, count: it.g.rows.length, color: it.g.color, collapsed: collapsedGroups.has(it.g.value), colSpan: totalVisibleColumns, ariaRowIndex: firstI + k + 2, onToggle: () => toggleGroup(it.g.value), onAddItem: onAddItem }, `h-${it.g.value}`)) : (_jsx(TableRow, { row: it.row, rowIndex: firstI + k, index: firstI + k, isChecked: selectionsSet.has(getRowId(it.row)), isExpanded: expandedRows.has(firstI + k), isContent: isContent, isLink: isLink, isCheckbox: isCheckbox, isLoading: isLoading, isActionFreeze: isActionFreeze, columns: columns, leftOffsets: leftOffsets, noBorders: noBorders, freezedBgColor: freezedBgColor, freezedTextColor: freezedTextColor, theme: theme, borderStyle: borderStyle, selectedBg: selectedBg, selectedFrozenBg: selectedFrozenBg, hoverStyle: hoverStyle, rowHeight: rowHeight, cellPy: cellPy, palette: palette, accentColor: it.g.color.solid, ariaRowIndex: firstI + k + 2, handleCheckbox: handleCheckbox, onRowClick: rowClickHandler, toggleRowExpansion: toggleRowExpansion }, (_a = getRowId(it.row)) !== null && _a !== void 0 ? _a : `r-${firstI + k}`));
406
+ return it.kind === "header" ? (_jsx(TableGroupRow, { label: it.g.label, value: it.g.value, count: it.g.rows.length, color: it.g.color, collapsed: collapsedGroups.has(it.g.value), colSpan: totalVisibleColumns, ariaRowIndex: firstI + k + 2, onToggle: () => toggleGroup(it.g.value), onAddItem: onAddItem }, `h-${it.g.value}`)) : (_jsx(TableRow, { row: it.row, rowIndex: firstI + k, isChecked: selectionsSet.has(getRowId(it.row)), isExpanded: expandedRows.has(firstI + k), isContent: isContent, isLink: isLink, isCheckbox: isCheckbox, isLoading: isLoading, isActionFreeze: isActionFreeze, columns: columns, leftOffsets: leftOffsets, noBorders: noBorders, freezedBgColor: freezedBgColor, freezedTextColor: freezedTextColor, theme: theme, borderStyle: borderStyle, selectedBg: selectedBg, selectedFrozenBg: selectedFrozenBg, hoverStyle: hoverStyle, rowHeight: rowHeight, cellPy: cellPy, palette: palette, accentColor: it.g.color.solid, isStriped: stripe && it.pos % 2 === 1, ariaRowIndex: firstI + k + 2, handleCheckbox: handleCheckbox, onRowClick: rowClickHandler, toggleRowExpansion: toggleRowExpansion }, (_a = getRowId(it.row)) !== null && _a !== void 0 ? _a : `r-${firstI + k}`));
324
407
  }), gBottomPad > 0 && (_jsx("tr", { "aria-hidden": "true", style: { height: gBottomPad }, children: _jsx("td", { colSpan: totalVisibleColumns, style: { padding: 0, border: "none", height: gBottomPad } }) }))] }));
325
408
  }
326
409
  return (_jsxs(_Fragment, { children: [isLoading && data.length > 0 && (_jsx(Tr, { children: _jsx(Td, { colSpan: totalVisibleColumns, p: 0, border: "none", position: "relative", height: 0, children: _jsx(Box, { position: "absolute", top: 4, left: "50%", transform: "translateX(-50%)", zIndex: 10, children: _jsx(Spinner, { size: "sm", color: theme.colors.accentText }) }) }) })), shouldVirtualize && topPad > 0 && (_jsx("tr", { "aria-hidden": "true", style: { height: topPad }, children: _jsx("td", { colSpan: totalVisibleColumns, style: { padding: 0, border: "none", height: topPad } }) })), visibleRows.map((row, i) => {
@@ -329,7 +412,7 @@ const TableBody = ({ data, isCheckbox, columns, startRow, columnWidths, freezedB
329
412
  const rowIndex = startRow + index;
330
413
  const isExpanded = expandedRows.has(rowIndex);
331
414
  const isChecked = selectionsSet.has(getRowId(row));
332
- return (_jsx(TableRow, { row: row, rowIndex: rowIndex, index: index, isChecked: isChecked, isExpanded: isExpanded, isContent: isContent, isLink: isLink, isCheckbox: isCheckbox, isLoading: isLoading, isActionFreeze: isActionFreeze, columns: columns, leftOffsets: leftOffsets, noBorders: noBorders, freezedBgColor: freezedBgColor, freezedTextColor: freezedTextColor, theme: theme, borderStyle: borderStyle, selectedBg: selectedBg, selectedFrozenBg: selectedFrozenBg, hoverStyle: hoverStyle, rowHeight: rowHeight, cellPy: cellPy, palette: palette, accentColor: accentColors === null || accentColors === void 0 ? void 0 : accentColors[getRowId(row)], ariaRowIndex: index + 2, handleCheckbox: handleCheckbox, onRowClick: rowClickHandler, toggleRowExpansion: toggleRowExpansion, onMeasure: shouldVirtualize ? reportHeight : undefined }, (_a = getRowId(row)) !== null && _a !== void 0 ? _a : rowIndex));
415
+ return (_jsx(TableRow, { row: row, rowIndex: rowIndex, isChecked: isChecked, isExpanded: isExpanded, isContent: isContent, isLink: isLink, isCheckbox: isCheckbox, isLoading: isLoading, isActionFreeze: isActionFreeze, columns: columns, leftOffsets: leftOffsets, noBorders: noBorders, freezedBgColor: freezedBgColor, freezedTextColor: freezedTextColor, theme: theme, borderStyle: borderStyle, selectedBg: selectedBg, selectedFrozenBg: selectedFrozenBg, hoverStyle: hoverStyle, rowHeight: rowHeight, cellPy: cellPy, palette: palette, accentColor: accentColors === null || accentColors === void 0 ? void 0 : accentColors[getRowId(row)], isStriped: stripe && index % 2 === 1, ariaRowIndex: index + 2, handleCheckbox: handleCheckbox, onRowClick: rowClickHandler, toggleRowExpansion: toggleRowExpansion, onMeasure: shouldVirtualize ? reportHeight : undefined }, (_a = getRowId(row)) !== null && _a !== void 0 ? _a : rowIndex));
333
416
  }), shouldVirtualize && bottomPad > 0 && (_jsx("tr", { "aria-hidden": "true", style: { height: bottomPad }, children: _jsx("td", { colSpan: totalVisibleColumns, style: { padding: 0, border: "none", height: bottomPad } }) }))] }));
334
417
  };
335
418
  export default TableBody;
@@ -5,6 +5,6 @@ import { useCustomTheme } from "../../../Theme/useCustomTheme.js";
5
5
  /** Monday-style colored, collapsible group header row. */
6
6
  export const TableGroupRow = ({ label, value, count, color, collapsed, colSpan, ariaRowIndex, onToggle, onAddItem, }) => {
7
7
  const theme = useCustomTheme();
8
- return (_jsx(Tr, { "aria-rowindex": ariaRowIndex, children: _jsx(Td, { colSpan: colSpan, p: 0, border: "none", children: _jsxs(Flex, { align: "center", gap: 2, px: 3, py: 2, bg: color.soft, boxShadow: `inset 4px 0 0 ${color.solid}`, borderBottom: `0.063rem solid ${theme.colors.border[500]}`, children: [_jsx(IconButton, { "aria-label": collapsed ? "Expand group" : "Collapse group", size: "xs", variant: "ghost", color: color.text, onClick: onToggle, icon: collapsed ? _jsx(ChevronRight, { size: 16 }) : _jsx(ChevronDown, { size: 16 }) }), _jsx(Text, { fontSize: "0.8125rem", fontWeight: 700, color: color.text, isTruncated: true, maxW: "20rem", children: label }), _jsx(Box, { as: "span", fontSize: "0.6875rem", fontWeight: 600, color: color.text, bg: theme.colors.background[50], borderRadius: "full", px: "0.5rem", py: "0.0625rem", children: count }), onAddItem && (_jsxs(Flex, { as: "button", type: "button", align: "center", gap: 1, ml: "auto", px: 2, py: 1, borderRadius: "md", fontSize: "0.75rem", fontWeight: 500, color: theme.colors.text[500], _hover: { bg: theme.colors.background[50], color: color.text }, onClick: () => onAddItem(value), children: [_jsx(Plus, { size: 14 }), " Add item"] }))] }) }) }));
8
+ return (_jsx(Tr, { "aria-rowindex": ariaRowIndex, children: _jsx(Td, { colSpan: colSpan, p: 0, border: "none", children: _jsxs(Flex, { align: "center", gap: 2, px: 3, py: 2, bg: color.soft, boxShadow: `inset 4px 0 0 ${color.solid}`, borderBottom: `0.063rem solid ${theme.colors.boxborder[200]}`, children: [_jsx(IconButton, { "aria-label": collapsed ? "Expand group" : "Collapse group", size: "xs", variant: "ghost", color: color.text, onClick: onToggle, icon: collapsed ? _jsx(ChevronRight, { size: 16 }) : _jsx(ChevronDown, { size: 16 }) }), _jsx(Text, { fontSize: "0.8125rem", fontWeight: 700, color: color.text, isTruncated: true, maxW: "20rem", children: label }), _jsx(Box, { as: "span", fontSize: "0.6875rem", fontWeight: 600, color: color.text, bg: theme.colors.background[50], borderRadius: "full", px: "0.5rem", py: "0.0625rem", children: count }), onAddItem && (_jsxs(Flex, { as: "button", type: "button", align: "center", gap: 1, ml: "auto", px: 2, py: 1, borderRadius: "lg", fontSize: "0.75rem", fontWeight: 500, color: theme.colors.text[500], _hover: { bg: theme.colors.background[50], color: color.text }, onClick: () => onAddItem(value), children: [_jsx(Plus, { size: 14 }), " Add item"] }))] }) }) }));
9
9
  };
10
10
  export default TableGroupRow;
@@ -7,44 +7,50 @@ import { accentTextOnCanvas } from "../../../Theme/tokens/builders/accentText.js
7
7
  import TableFilters from "../filters/TableFilters.js";
8
8
  import { ChevronDown, ChevronsUpDown, ChevronUp } from "lucide-react";
9
9
  import CheckBox from "../../Checkbox/Checkbox.js";
10
- const TableHeader = ({ columns, isCheckbox, handleSort, headerRefs, columnWidths, columnsSort, headerBgColor, freezedBgColor, freezedTextColor, noBorders, handleCheckbox, checked, isLoading, isContent, isLink, isActionFreeze, setColumnsSearch, columnsSearch, isSelecting, }) => {
10
+ import { useTableVariant } from "../variants/TableVariantContext.js";
11
+ import { transitionFor } from "../../../Theme/tokens/primitives/motion.js";
12
+ import { reducedMotionSx } from "../../../Theme/chakra/motion.js";
13
+ import { focusVisibleRing } from "../../../Theme/chakra/focusRing.styles.js";
14
+ const LABEL_JUSTIFY = { start: "space-between", center: "center", end: "flex-start" };
15
+ const TableHeader = ({ columns, isCheckbox, handleSort, headerRefs, columnWidths, slotRef, slotWidth, columnsSort, freezedTextColor, noBorders, handleCheckbox, checked, isLoading, isContent, isLink, isActionFreeze, setColumnsSearch, columnsSearch, isSelecting, }) => {
11
16
  const [openFilterId, setOpenFilterId] = useState(null);
12
- return (_jsxs(Tr, { pr: 0, "aria-rowindex": 1, children: [isContent && _jsx(ContentSpacerCell, { noBorders: noBorders }), isCheckbox && (_jsx(SelectAllCell, { freezedTextColor: freezedTextColor, noBorders: noBorders, isSelecting: isSelecting, isLoading: isLoading, checked: checked, handleCheckbox: handleCheckbox })), columns.map((header, index) => {
17
+ return (_jsxs(Tr, { pr: 0, "aria-rowindex": 1, children: [isContent && _jsx(ContentSpacerCell, { noBorders: noBorders }), isCheckbox && (_jsx(SelectAllCell, { slotRef: slotRef, freezedTextColor: freezedTextColor, noBorders: noBorders, isSelecting: isSelecting, isLoading: isLoading, checked: checked, handleCheckbox: handleCheckbox })), columns.map((header, index) => {
13
18
  if (header === null || header === void 0 ? void 0 : header.isHidden)
14
19
  return null;
15
- return (_jsx(ColumnHeader, { header: header, index: index, columnWidths: columnWidths, handleSort: handleSort, isCheckbox: isCheckbox, headerBgColor: headerBgColor, freezedBgColor: freezedBgColor, noBorders: noBorders, columnsSort: columnsSort, headerRefs: headerRefs, columnsSearch: columnsSearch, setColumnsSearch: setColumnsSearch, openFilterId: openFilterId, setOpenFilterId: setOpenFilterId }, header.label));
20
+ return (_jsx(ColumnHeader, { header: header, index: index, columnWidths: columnWidths, slotWidth: slotWidth, handleSort: handleSort, isCheckbox: isCheckbox, noBorders: noBorders, columnsSort: columnsSort, headerRefs: headerRefs, columnsSearch: columnsSearch, setColumnsSearch: setColumnsSearch, openFilterId: openFilterId, setOpenFilterId: setOpenFilterId }, header.label));
16
21
  }), isLink && _jsx(ViewSpacerCell, { noBorders: noBorders, isActionFreeze: isActionFreeze })] }));
17
22
  };
18
23
  export default memo(TableHeader);
19
- const SelectAllCell = memo(({ freezedTextColor, noBorders, isSelecting, isLoading, checked, handleCheckbox, }) => {
24
+ const SelectAllCell = memo(({ slotRef, freezedTextColor, noBorders, isSelecting, isLoading, checked, handleCheckbox, }) => {
20
25
  const theme = useCustomTheme();
21
- return (_jsx(Th, { scope: "col", w: 6, fontSize: 14, fontWeight: 600, color: freezedTextColor, textTransform: "capitalize", backgroundColor: theme.colors.table.hover[200], position: "sticky", className: `columns sticky-columns`, left: "0px", zIndex: 9, borderBottom: noBorders ? "none" : `0.063rem solid ${theme.colors.border[500]}`, children: isSelecting ? (_jsx(Spinner, { size: "sm", color: theme.colors.accentText })) : (_jsx(CheckBox, { "aria-label": "Select all rows", variant: "outline", onChange: () => handleCheckbox(0), isChecked: isLoading ? false : checked === true, isIndeterminate: checked === "indeterminate" })) }));
26
+ const variant = useTableVariant();
27
+ return (_jsx(Th, { ref: slotRef, scope: "col", w: variant.slot.width, minW: variant.slot.width, px: variant.slot.centered ? 0 : undefined, textAlign: variant.slot.centered ? "center" : undefined, fontSize: 14, fontWeight: 600, color: freezedTextColor, textTransform: "capitalize", backgroundColor: variant.header.bg, position: "sticky", className: `columns sticky-columns`, left: "0px", zIndex: 9, borderBottom: noBorders ? "none" : `0.063rem solid ${variant.header.ruleColor}`, children: _jsx(Box, { display: "flex", alignItems: "center", justifyContent: "center", children: isSelecting ? (_jsx(Spinner, { size: "sm", color: theme.colors.accentText })) : (_jsx(CheckBox, { "aria-label": "Select all rows", variant: "outline", onChange: () => handleCheckbox(0), isChecked: isLoading ? false : checked === true, isIndeterminate: checked === "indeterminate" })) }) }));
22
28
  });
23
29
  const ContentSpacerCell = memo(({ noBorders }) => {
24
- const theme = useCustomTheme();
25
- return (_jsx(Th, { scope: "col", w: 6, minW: "35px", p: 0, backgroundColor: theme.colors.table.hover[200], borderBottom: noBorders ? "none" : `0.063rem solid ${theme.colors.border[500]}`, position: "sticky", className: `columns sticky-columns`, left: "0px", zIndex: 1 }));
30
+ const variant = useTableVariant();
31
+ return (_jsx(Th, { scope: "col", w: 6, minW: "35px", p: 0, backgroundColor: variant.header.bg, borderBottom: noBorders ? "none" : `0.063rem solid ${variant.header.ruleColor}`, position: "sticky", className: `columns sticky-columns`, left: "0px", zIndex: 1 }));
26
32
  });
27
33
  const ViewSpacerCell = memo(({ noBorders, isActionFreeze, }) => {
28
- const theme = useCustomTheme();
29
- return (_jsx(Th, { scope: "col", w: 2, p: 0, minW: "2.065rem", backgroundColor: theme.colors.table.hover[200], borderBottom: noBorders ? "none" : `0.063rem solid ${theme.colors.border[500]}`, position: isActionFreeze ? "sticky" : "relative", className: `columns sticky-columns`, right: "0px", zIndex: 1 }));
34
+ const variant = useTableVariant();
35
+ return (_jsx(Th, { scope: "col", w: 2, p: 0, minW: "2.065rem", backgroundColor: variant.header.bg, borderBottom: noBorders ? "none" : `0.063rem solid ${variant.header.ruleColor}`, position: isActionFreeze ? "sticky" : "relative", className: `columns sticky-columns`, right: "0px", zIndex: 1 }));
30
36
  });
31
37
  const SortingIcon = memo(({ label, sortState, isVisible, handleSortClick, }) => {
32
38
  const theme = useCustomTheme();
33
- return (_jsxs(Box, { as: "button", type: "button", "aria-label": `Sort by ${label}`, display: "inline-flex", alignItems: "center", justifyContent: "center", cursor: "pointer", ml: 2, p: 0, border: "none", bg: "transparent", lineHeight: "1", onClick: handleSortClick, transition: "color 0.2s ease-in-out, opacity 0.2s ease-in-out",
34
- // Kept out of view until hover/focus so the header looks exactly as it did,
35
- // while staying in the DOM and reachable by Tab.
36
- opacity: isVisible ? 1 : 0, _focus: { opacity: 1 }, _focusVisible: { opacity: 1 }, color: theme.colors.textMuted, _hover: {
39
+ const variant = useTableVariant();
40
+ return (_jsxs(Box, { as: "button", type: "button", "aria-label": `Sort by ${label}`, display: "inline-flex", alignItems: "center", justifyContent: "center", cursor: "pointer", ml: 2, p: 0, border: "none", bg: "transparent", lineHeight: "1", onClick: handleSortClick, transition: transitionFor(["color", "opacity"], "base"), sx: reducedMotionSx(), borderRadius: "sm", opacity: isVisible ? 1 : 0, _focus: { opacity: 1 }, _focusVisible: { opacity: 1, ...focusVisibleRing(theme.colors) }, color: theme.colors.textMuted, _hover: {
37
41
  opacity: 1,
38
- color: accentTextOnCanvas(theme.colors.secondary, theme.colors.table.hover[200]),
42
+ color: accentTextOnCanvas(theme.colors.secondary, variant.header.bg),
39
43
  }, children: [sortState === "none" && _jsx(ChevronsUpDown, { size: 14 }), sortState === "asc" && _jsx(ChevronUp, { size: 14 }), sortState === "desc" && _jsx(ChevronDown, { size: 14 })] }));
40
44
  });
41
- const ColumnHeader = memo(({ header, index, columnWidths, isCheckbox, noBorders, columnsSort, headerRefs, columnsSearch, setColumnsSearch, handleSort, openFilterId, setOpenFilterId, }) => {
42
- var _a;
45
+ const ColumnHeader = memo(({ header, index, columnWidths, slotWidth, isCheckbox, noBorders, columnsSort, headerRefs, columnsSearch, setColumnsSearch, handleSort, openFilterId, setOpenFilterId, }) => {
46
+ var _a, _b;
43
47
  const [isHovered, setIsHovered] = useState(false);
44
48
  const theme = useCustomTheme();
49
+ const variant = useTableVariant();
45
50
  const isFrozen = header.isFreeze;
51
+ const align = (_a = header.align) !== null && _a !== void 0 ? _a : "start";
46
52
  const leftOffset = isFrozen
47
- ? calculateLeftOffset(columnWidths, index) + (isCheckbox ? 50 : 0)
53
+ ? calculateLeftOffset(columnWidths, index) + (isCheckbox ? slotWidth : 0)
48
54
  : undefined;
49
55
  const isSorting = header.isSort
50
56
  ? columnsSort.find((o) => o.column === header.id)
@@ -58,7 +64,6 @@ const ColumnHeader = memo(({ header, index, columnWidths, isCheckbox, noBorders,
58
64
  : (isSorting === null || isSorting === void 0 ? void 0 : isSorting.direction) === "desc"
59
65
  ? "descending"
60
66
  : undefined;
61
- // const TextColor = isFrozen ? freezedTextColor : headerTextColor;
62
67
  const handleMouseDown = (e) => {
63
68
  const parentBox = e.target
64
69
  .parentElement;
@@ -77,7 +82,16 @@ const ColumnHeader = memo(({ header, index, columnWidths, isCheckbox, noBorders,
77
82
  document.addEventListener("mouseup", onMouseUp);
78
83
  };
79
84
  const isSortActive = !!(isSorting === null || isSorting === void 0 ? void 0 : isSorting.direction) && isSorting.direction !== "none";
80
- return (_jsx(Th, { scope: "col", ref: (el) => (headerRefs.current[index] = el), "aria-sort": ariaSort, textTransform: "capitalize", fontSize: 13, fontWeight: 600, position: isFrozen ? "sticky" : undefined, left: isFrozen ? leftOffset : undefined, minWidth: 120, backgroundColor: theme.colors.table.hover[200], maxWidth: 500, zIndex: isFrozen ? 2 : 1, py: 2, pr: 0, overflow: "hidden", borderTop: "none", borderBottom: noBorders ? "none" : `0.063rem solid ${theme.colors.border[500]}`, borderRight: noBorders ? "none" : `0.063rem solid ${theme.colors.boxborder[200]}`, className: `columns ${isFrozen ? "sticky-columns" : "scrollable-columns"}`, height: 45, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: _jsxs(Box, { display: "flex", color: accentTextOnCanvas(theme.colors.secondary, theme.colors.table.hover[200]), lineHeight: "1.25rem", justifyContent: "space-between", alignItems: "center", position: "relative", children: [_jsx(Box, { textOverflow: "ellipsis", whiteSpace: "nowrap", display: "inline-block", overflow: "hidden", children: header.label }), _jsxs(Box, { display: "inline-flex", alignItems: "center", children: [header.isSort && (_jsx(SortingIcon, { label: String(header.label), sortState: (_a = isSorting === null || isSorting === void 0 ? void 0 : isSorting.direction) !== null && _a !== void 0 ? _a : "none", isVisible: isHovered || isSortActive, handleSortClick: () => {
85
+ // Studio keeps the kebab out of the resting header — nine of them read louder than
86
+ // the labels. A column that is filtering or sorting keeps its control on show.
87
+ const showActions = variant.header.actions === "always" ||
88
+ isHovered ||
89
+ isSortActive ||
90
+ openFilterId === header.id ||
91
+ !!columnsSearch[header.id];
92
+ return (_jsx(Th, { scope: "col", ref: (el) => (headerRefs.current[index] = el), "aria-sort": ariaSort, textAlign: align, textTransform: variant.header.textTransform, fontSize: variant.header.fontSize, fontWeight: variant.header.fontWeight, letterSpacing: variant.header.letterSpacing, position: isFrozen ? "sticky" : undefined, left: isFrozen ? `${leftOffset}px` : undefined, minWidth: 120, backgroundColor: variant.header.bg, maxWidth: 500, zIndex: isFrozen ? 2 : 1, py: 2, pr: align === "end" ? undefined : 0, overflow: "hidden", borderTop: "none", borderBottom: noBorders ? "none" : `0.063rem solid ${variant.header.ruleColor}`, borderRight: noBorders || !variant.header.showColumnRule
93
+ ? "none"
94
+ : `0.063rem solid ${variant.header.ruleColor}`, className: `columns ${isFrozen ? "sticky-columns" : "scrollable-columns"}`, height: variant.header.height, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: _jsxs(Box, { display: "flex", color: variant.header.ink, lineHeight: "1.25rem", justifyContent: LABEL_JUSTIFY[align], flexDirection: align === "end" ? "row-reverse" : "row", gap: align === "end" ? 1 : undefined, alignItems: "center", position: "relative", children: [_jsx(Box, { textAlign: align, textOverflow: "ellipsis", whiteSpace: "nowrap", display: "inline-block", overflow: "hidden", children: header.label }), _jsxs(Box, { display: "inline-flex", alignItems: "center", opacity: showActions ? 1 : 0, transition: transitionFor(["opacity"], "base"), sx: reducedMotionSx(), _focusWithin: { opacity: 1 }, children: [header.isSort && (_jsx(SortingIcon, { label: String(header.label), sortState: (_b = isSorting === null || isSorting === void 0 ? void 0 : isSorting.direction) !== null && _b !== void 0 ? _b : "none", isVisible: isHovered || isSortActive, handleSortClick: () => {
81
95
  let direction = "asc";
82
96
  if ((isSorting === null || isSorting === void 0 ? void 0 : isSorting.direction) === "asc") {
83
97
  direction = "desc";
@@ -86,7 +100,7 @@ const ColumnHeader = memo(({ header, index, columnWidths, isCheckbox, noBorders,
86
100
  direction = "none";
87
101
  }
88
102
  handleSort(header.id, direction);
89
- } })), sortPriority > 0 && (_jsx(Box, { as: "span", ml: 1, fontSize: "0.625rem", fontWeight: 700, lineHeight: "1", borderRadius: "full", px: "0.3rem", py: "0.1rem", bg: theme.colors.primary.opacity[16], color: accentTextOnCanvas(theme.colors.primary, theme.colors.table.hover[200]), children: sortPriority })), _jsx(TableFilters, { header: header, setColumnsSearch: (searchVal) => setColumnsSearch((prev) => ({
103
+ } })), sortPriority > 0 && (_jsx(Box, { as: "span", ml: 1, fontSize: "0.625rem", fontWeight: 700, lineHeight: "1", borderRadius: "full", px: "0.3rem", py: "0.1rem", bg: theme.colors.primary.opacity[16], color: accentTextOnCanvas(theme.colors.primary, variant.header.bg), children: sortPriority })), _jsx(TableFilters, { header: header, setColumnsSearch: (searchVal) => setColumnsSearch((prev) => ({
90
104
  ...prev,
91
105
  [header.id]: searchVal,
92
106
  })), columnsSearch: columnsSearch[header.id] || "", onClose: () => {
@@ -25,6 +25,6 @@ const TableSearch = ({ onSearch }) => {
25
25
  setQuery(value);
26
26
  handleDebounce(value);
27
27
  };
28
- return (_jsxs(Box, { display: "flex", alignItems: "center", gap: "2", children: [!showInput && (_jsx(ToolTip, { label: "Search", placement: "top", children: _jsx(IconButton, { "aria-label": "Search", icon: _jsx(Icon, { as: Search, transform: "scaleX(-1)", boxSize: 5 }), variant: "unstyled", minW: "auto", h: "auto", display: "flex", cursor: "pointer", color: colors.text[500], onClick: handleSearchClick, _hover: { color: colors.accentText } }) })), showInput ? (_jsxs(InputGroup, { maxW: "12.5rem", transition: "all 0.3s ease", children: [_jsx(Input, { placeholder: "Search...", value: query, onChange: handleInputChange, size: "sm", borderRadius: "md", borderColor: colors.border[500], _focus: { borderColor: colors.accentText }, autoFocus: true }), _jsx(InputRightElement, { display: "flex", alignItems: "center", height: "2rem", children: _jsx(IconButton, { "aria-label": "Clear search", icon: _jsx(Icon, { as: X }), variant: "unstyled", minW: "auto", h: "auto", display: "flex", color: colors.text[500], cursor: "pointer", onClick: handleSearchClick }) })] })) : null] }));
28
+ return (_jsxs(Box, { display: "flex", alignItems: "center", gap: "2", children: [!showInput && (_jsx(ToolTip, { label: "Search", placement: "top", children: _jsx(IconButton, { "aria-label": "Search", icon: _jsx(Icon, { as: Search, transform: "scaleX(-1)", boxSize: 5 }), variant: "unstyled", minW: "auto", h: "auto", display: "flex", cursor: "pointer", color: colors.text[500], onClick: handleSearchClick, _hover: { color: colors.accentText } }) })), showInput ? (_jsxs(InputGroup, { size: "sm", maxW: "12.5rem", children: [_jsx(Input, { placeholder: "Search...", value: query, onChange: handleInputChange, size: "sm", borderRadius: "lg", borderColor: colors.boxborder[500], _focus: { borderColor: colors.accentText }, autoFocus: true }), _jsx(InputRightElement, { display: "flex", alignItems: "center", height: "100%", children: _jsx(IconButton, { "aria-label": "Clear search", icon: _jsx(Icon, { as: X }), variant: "unstyled", minW: "auto", h: "auto", display: "flex", color: colors.text[500], cursor: "pointer", onClick: handleSearchClick }) })] })) : null] }));
29
29
  };
30
30
  export default TableSearch;
@@ -0,0 +1,10 @@
1
+ export const DENSITY_ROWS = {
2
+ compact: { height: 32, py: "0.125rem" },
3
+ normal: { height: 40, py: "0.5rem" },
4
+ comfortable: { height: 52, py: "0.875rem" },
5
+ };
6
+ export const TOOLBAR_HEIGHT = 45;
7
+ export const GROUP_HEADER_HEIGHT = 42;
8
+ export const EMPTY_STATE_HEIGHT = 200;
9
+ export const rowHeightFor = (density) => DENSITY_ROWS[density !== null && density !== void 0 ? density : "normal"].height;
10
+ export const pxOf = (length) => parseFloat(length);
@@ -4,10 +4,13 @@ import { Box, Flex, Text, IconButton } from "@chakra-ui/react";
4
4
  import { X } from "lucide-react";
5
5
  import { useCustomTheme } from "../../../Theme/useCustomTheme.js";
6
6
  import { accentTextOnCanvas } from "../../../Theme/tokens/builders/accentText.js";
7
+ import { resolveSoftTone } from "../../../Theme/tokens/builders/tone.js";
7
8
  import { scrollbarStyles } from "../../../Theme/tokens/builders/scrollbar.js";
9
+ import { focusVisibleStyles } from "../../../Theme/chakra/focusRing.styles.js";
8
10
  import VeritcalDivider from "../../Divider/Divider.js";
9
11
  const ActiveFilters = React.memo(({ columns, columnsSearch, setColumnsSearch, }) => {
10
12
  const theme = useCustomTheme();
13
+ const filterTone = resolveSoftTone(theme.colors, theme.colors.primary);
11
14
  const columnLabelMap = useMemo(() => {
12
15
  const map = new Map();
13
16
  for (const col of columns) {
@@ -35,10 +38,10 @@ const ActiveFilters = React.memo(({ columns, columnsSearch, setColumnsSearch, })
35
38
  if (activeFilters.length === 0) {
36
39
  return null;
37
40
  }
38
- return (_jsx(Box, { px: 2, py: 1, bg: theme.colors.background[100], overflowX: "auto", sx: scrollbarStyles(theme.colors), children: _jsxs(Box, { display: "flex", alignItems: "center", gap: 2, flexWrap: "nowrap", minW: "max-content", children: [activeFilters.length > 0 && _jsx(VeritcalDivider, {}), activeFilters.map((filter) => (_jsxs(Flex, { alignItems: "center", gap: 1, px: 2, py: 1, bg: theme.colors.blue[50], borderRadius: "md", border: `0.063rem solid ${theme.colors.blue[200]}`, flexShrink: 0, children: [_jsxs(Text, { fontSize: "sm", color: accentTextOnCanvas(theme.colors.blue, theme.colors.blue[50]), whiteSpace: "nowrap", children: [_jsxs(Text, { as: "span", fontWeight: 600, children: [filter.label, ":"] }), " ", filter.value] }), _jsx(IconButton, { "aria-label": `Remove filter for ${filter.label}`, icon: _jsx(X, { size: 14 }), size: "xs", variant: "ghost", onClick: () => handleRemoveFilter(filter.columnId), _hover: {
39
- bg: theme.colors.blue[100],
40
- }, minW: "auto", h: "auto", p: 0.5, flexShrink: 0 })] }, filter.columnId))), activeFilters.length > 1 && (_jsx(Text, { as: "p", className: "clear-all-text", "aria-label": "Clear All", fontSize: "sm", color: accentTextOnCanvas(theme.colors.blue, theme.colors.background[100]), cursor: "pointer", fontWeight: 500, onClick: handleClearAll, _hover: {
41
+ return (_jsx(Box, { px: 2, py: 1, bg: theme.colors.background[100], overflowX: "auto", sx: scrollbarStyles(theme.colors), children: _jsxs(Box, { display: "flex", alignItems: "center", gap: 2, flexWrap: "nowrap", minW: "max-content", children: [activeFilters.length > 0 && _jsx(VeritcalDivider, {}), activeFilters.map((filter) => (_jsxs(Flex, { alignItems: "center", gap: 1, px: 2, py: 1, bg: filterTone.bg, borderRadius: "full", border: `0.063rem solid ${filterTone.border}`, flexShrink: 0, children: [_jsxs(Text, { fontSize: "sm", color: filterTone.fg, whiteSpace: "nowrap", children: [_jsxs(Text, { as: "span", fontWeight: 600, children: [filter.label, ":"] }), " ", filter.value] }), _jsx(IconButton, { "aria-label": `Remove filter for ${filter.label}`, icon: _jsx(X, { size: 14 }), size: "xs", variant: "ghost", onClick: () => handleRemoveFilter(filter.columnId), _hover: {
42
+ bg: filterTone.hoverBg,
43
+ }, minW: "auto", h: "auto", p: 0.5, flexShrink: 0 })] }, filter.columnId))), activeFilters.length > 1 && (_jsx(Box, { as: "button", type: "button", className: "clear-all-text", "aria-label": "Clear all filters", fontSize: "sm", bg: "transparent", border: "none", p: 0, color: accentTextOnCanvas(theme.colors.primary, theme.colors.background[100]), cursor: "pointer", fontWeight: 500, onClick: handleClearAll, _hover: {
41
44
  textDecoration: "underline",
42
- }, flexShrink: 0, whiteSpace: "nowrap", children: "Clear All" }))] }) }));
45
+ }, flexShrink: 0, whiteSpace: "nowrap", borderRadius: "sm", sx: focusVisibleStyles(theme.colors), children: "Clear All" }))] }) }));
43
46
  });
44
47
  export default ActiveFilters;