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

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 +296 -0
  2. package/COMPONENT-GOTCHAS.md +1414 -0
  3. package/DESIGN-GUIDE.md +210 -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
@@ -0,0 +1,174 @@
1
+ export const MIN_ZOOM = 25;
2
+ export const MAX_ZOOM = 400;
3
+ export const ZOOM_STEP = 25;
4
+ export const PLAYBACK_SPEEDS = [0.5, 0.75, 1, 1.25, 1.5, 2];
5
+ export const SEEK_STEP_SECONDS = 10;
6
+ const ABSOLUTE_URL_RE = /^(blob:|data:|https?:)/;
7
+ /** Passes an already-absolute url through untouched; only a bare stored path goes through resolveUrl. */
8
+ export const resolveMediaUrl = (path, resolveUrl) => ABSOLUTE_URL_RE.test(path) ? path : resolveUrl(path);
9
+ const KIND_BY_EXT = [
10
+ [/\.(jpe?g|png|gif|webp|avif|bmp|svg|heic|heif|tiff?|ico)$/i, "image"],
11
+ [/\.(mp4|mov|webm|m4v|ogv|avi|mkv|m3u8)$/i, "video"],
12
+ [/\.(mp3|wav|m4a|aac|flac|ogg|opus)$/i, "audio"],
13
+ [/\.pdf$/i, "pdf"],
14
+ [/\.(docx|odt|rtf)$/i, "doc"],
15
+ [/\.(txt|md|json|csv|log|ya?ml|xml|jsx?|tsx?|css|html?|py|java|c|cpp|sh|rb|go|rs|php)$/i, "text"],
16
+ [/\.(xlsx|xls)$/i, "spreadsheet"],
17
+ [/\.(pptx|ppt)$/i, "presentation"],
18
+ [/\.(zip|rar|7z|tar|gz)$/i, "archive"],
19
+ ];
20
+ const UNSUPPORTED_IMAGE_EXT = /\.(heic|heif)(?:[?#].*)?$/i;
21
+ export const isUnsupportedImageSrc = (src) => UNSUPPORTED_IMAGE_EXT.test(src);
22
+ const UNSUPPORTED_VIDEO_EXT = /\.(avi|mkv|m3u8)(?:[?#].*)?$/i;
23
+ export const isUnsupportedVideoSrc = (src) => UNSUPPORTED_VIDEO_EXT.test(src);
24
+ const kindOf = (nameOrUrl) => {
25
+ var _a, _b;
26
+ const bare = nameOrUrl.replace(/[?#].*$/, "");
27
+ return (_b = (_a = KIND_BY_EXT.find(([re]) => re.test(bare))) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : "file";
28
+ };
29
+ /** Picks the viewer kind from the file name first, falling back to the url — bare `.doc` is not `doc`. */
30
+ export const fileKind = (url, name) => {
31
+ const byName = name ? kindOf(name) : "file";
32
+ return byName === "file" ? kindOf(url) : byName;
33
+ };
34
+ export const youtubeThumb = (videoId) => `https://img.youtube.com/vi/${videoId}/mqdefault.jpg`;
35
+ export const youtubeEmbed = (videoId) => `https://www.youtube-nocookie.com/embed/${videoId}`;
36
+ export const youtubeWatch = (videoId) => `https://www.youtube.com/watch?v=${videoId}`;
37
+ export const asFile = (source) => typeof source === "string" ? { path: source } : source;
38
+ /** Builds ordered viewer items from DB-backed photos/videos/YouTube ids; ordinal restarts per group. */
39
+ export function buildMediaItems(sources, resolveUrl) {
40
+ const items = [];
41
+ sources.photos.forEach((source, i) => {
42
+ var _a, _b;
43
+ const file = asFile(source);
44
+ const src = resolveMediaUrl(file.path, resolveUrl);
45
+ items.push({
46
+ key: `photo-${i}`,
47
+ kind: "image",
48
+ src,
49
+ thumb: src,
50
+ ordinal: i + 1,
51
+ uploadedAt: (_a = file.uploadedAt) !== null && _a !== void 0 ? _a : null,
52
+ fileSize: (_b = file.fileSize) !== null && _b !== void 0 ? _b : null,
53
+ });
54
+ });
55
+ sources.videos.forEach((source, i) => {
56
+ var _a, _b;
57
+ const file = asFile(source);
58
+ items.push({
59
+ key: `video-${i}`,
60
+ kind: "video",
61
+ src: resolveMediaUrl(file.path, resolveUrl),
62
+ thumb: null,
63
+ ordinal: i + 1,
64
+ uploadedAt: (_a = file.uploadedAt) !== null && _a !== void 0 ? _a : null,
65
+ fileSize: (_b = file.fileSize) !== null && _b !== void 0 ? _b : null,
66
+ });
67
+ });
68
+ sources.youtubeVideoIds.forEach((id, i) => {
69
+ items.push({
70
+ key: `youtube-${i}`,
71
+ kind: "youtube",
72
+ src: id,
73
+ thumb: youtubeThumb(id),
74
+ ordinal: i + 1,
75
+ });
76
+ });
77
+ return items;
78
+ }
79
+ /** Builds viewer items from a flat file list; ordinal numbering is per-kind, not per-list-position. */
80
+ export function buildFileItems(files, resolveUrl) {
81
+ const seen = {};
82
+ return files.map((file, i) => {
83
+ var _a, _b, _c, _d;
84
+ const kind = fileKind(file.url, file.name);
85
+ const ordinal = ((_a = seen[kind]) !== null && _a !== void 0 ? _a : 0) + 1;
86
+ seen[kind] = ordinal;
87
+ const src = resolveMediaUrl(file.url, resolveUrl);
88
+ return {
89
+ key: `file-${i}`,
90
+ kind,
91
+ src,
92
+ thumb: kind === "image" ? src : null,
93
+ ordinal,
94
+ uploadedAt: (_b = file.uploadedAt) !== null && _b !== void 0 ? _b : null,
95
+ fileSize: (_c = file.fileSize) !== null && _c !== void 0 ? _c : null,
96
+ name: (_d = file.name) !== null && _d !== void 0 ? _d : null,
97
+ };
98
+ });
99
+ }
100
+ export function countMedia(items) {
101
+ const counts = {
102
+ image: 0,
103
+ video: 0,
104
+ audio: 0,
105
+ youtube: 0,
106
+ pdf: 0,
107
+ doc: 0,
108
+ text: 0,
109
+ spreadsheet: 0,
110
+ presentation: 0,
111
+ archive: 0,
112
+ file: 0,
113
+ };
114
+ items.forEach((item) => {
115
+ counts[item.kind] += 1;
116
+ });
117
+ return counts;
118
+ }
119
+ // Up to three photos lead, then the first non-photo items, so a video is never buried behind "+N more".
120
+ export function planPreview(items, slots) {
121
+ if (items.length <= slots)
122
+ return { tiles: items.map((_, i) => i), hidden: 0 };
123
+ const photoIdx = items.flatMap((item, i) => (item.kind === "image" ? [i] : []));
124
+ const motionIdx = items.flatMap((item, i) => (item.kind === "image" ? [] : [i]));
125
+ const leadPhotos = photoIdx.slice(0, Math.min(3, slots));
126
+ const motion = motionIdx.slice(0, slots - leadPhotos.length);
127
+ const chosen = new Set([...leadPhotos, ...motion]);
128
+ for (let i = 0; i < items.length && chosen.size < slots; i += 1)
129
+ chosen.add(i);
130
+ const tiles = [...chosen].sort((a, b) => a - b);
131
+ return { tiles, hidden: items.length - tiles.length };
132
+ }
133
+ export const wrapIndex = (index, length) => length === 0 ? 0 : ((index % length) + length) % length;
134
+ export const clampZoom = (zoom) => Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, zoom));
135
+ export function formatClock(totalSeconds) {
136
+ if (!Number.isFinite(totalSeconds) || totalSeconds < 0)
137
+ return "00:00";
138
+ const total = Math.floor(totalSeconds);
139
+ const hours = Math.floor(total / 3600);
140
+ const minutes = Math.floor((total % 3600) / 60);
141
+ const seconds = total % 60;
142
+ const pad = (n) => String(n).padStart(2, "0");
143
+ return hours > 0 ? `${hours}:${pad(minutes)}:${pad(seconds)}` : `${pad(minutes)}:${pad(seconds)}`;
144
+ }
145
+ export function mediaLink(item, atSeconds) {
146
+ if (item.kind === "youtube") {
147
+ const t = atSeconds && atSeconds > 0 ? `&t=${Math.floor(atSeconds)}s` : "";
148
+ return `${youtubeWatch(item.src)}${t}`;
149
+ }
150
+ if (item.kind === "video" && atSeconds && atSeconds > 0)
151
+ return `${item.src}#t=${Math.floor(atSeconds)}`;
152
+ return item.src;
153
+ }
154
+ export function formatFileSize(bytes) {
155
+ if (bytes < 1024)
156
+ return `${bytes} B`;
157
+ if (bytes < 1024 * 1024)
158
+ return `${(bytes / 1024).toFixed(1)} KB`;
159
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
160
+ }
161
+ export function fileTypeLabel(src) {
162
+ const match = /\.([a-z0-9]{2,5})(?:[?#].*)?$/i.exec(src);
163
+ return match ? match[1].toUpperCase() : null;
164
+ }
165
+ /** True while the event target is a text field or slider, so keyboard shortcuts stay out of its way. */
166
+ export function isTypingTarget(target) {
167
+ if (!(target instanceof HTMLElement))
168
+ return false;
169
+ if (target.isContentEditable)
170
+ return true;
171
+ if (/^(input|textarea|select)$/i.test(target.tagName))
172
+ return true;
173
+ return target.getAttribute("role") === "slider";
174
+ }
@@ -0,0 +1,27 @@
1
+ import { useCustomTheme } from "../../Theme/useCustomTheme.js";
2
+ import { mix, hexToRgb } from "../../Theme/tokens/builders/color.js";
3
+ import { onFilled } from "../../Theme/tokens/builders/accentText.js";
4
+ import { liftToContrast } from "../../Theme/tokens/builders/outlineRung.js";
5
+ const AA_NORMAL_TEXT = 4.5;
6
+ const MUTED_SEED_WEIGHT = 0.55;
7
+ // A media lightbox stage stays near-black in both light and dark app modes, like every other lightbox.
8
+ export function useViewerChrome() {
9
+ const { colors } = useCustomTheme();
10
+ const stage = colors.sidebar.background[500];
11
+ const ink = onFilled(stage, colors.white, colors.black);
12
+ const accent = colors.primary[500];
13
+ const { r, g, b } = hexToRgb(colors.black);
14
+ const accentRgb = hexToRgb(accent);
15
+ return {
16
+ stage,
17
+ ink,
18
+ muted: liftToContrast(mix(stage, ink, MUTED_SEED_WEIGHT), stage, AA_NORMAL_TEXT),
19
+ raised: mix(stage, ink, 0.1),
20
+ hover: mix(stage, ink, 0.2),
21
+ track: mix(stage, ink, 0.28),
22
+ accent,
23
+ onAccent: onFilled(accent, colors.white, colors.black),
24
+ scrim: (alpha) => `rgba(${r}, ${g}, ${b}, ${alpha})`,
25
+ accentGlow: (alpha) => `rgba(${accentRgb.r}, ${accentRgb.g}, ${accentRgb.b}, ${alpha})`,
26
+ };
27
+ }
@@ -1,6 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from "react";
3
- import { Modal as ChakraModal, ModalOverlay, ModalContent, ModalHeader as ChakraModalHeader, ModalCloseButton, ModalBody as ChakraModalBody, ModalFooter as ChakraModalFooter, Spinner, } from "@chakra-ui/react";
3
+ import { Modal as ChakraModal, ModalOverlay, ModalContent, ModalHeader as ChakraModalHeader, ModalCloseButton, ModalBody as ChakraModalBody, ModalFooter as ChakraModalFooter, Flex, Spinner, Text, } from "@chakra-ui/react";
4
4
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
5
5
  export const ModalHeader = ({ children }) => {
6
6
  return _jsx(_Fragment, { children: children });
@@ -11,22 +11,28 @@ export const ModalBody = ({ children }) => {
11
11
  export const ModalFooter = ({ children }) => {
12
12
  return _jsx(_Fragment, { children: children });
13
13
  };
14
- export default function Modal({ size, isOpen = false, onClose, overlaybg = "blackAlpha.300", overlaybackdropFilter = "blur(10px) hue-rotate(90deg)", overlaybackdropInvert, overlaybackdropBlur, isCentered, finalFocusRef, blockScrollOnMount, initialFocusRef, closeOnOverlayClick, motionPreset, scrollBehavior, children, isLoading, }) {
15
- const theme = useCustomTheme();
16
- if (!isOpen)
17
- return _jsx(_Fragment, {});
18
- const isReactElement = (child) => {
19
- return child !== null && typeof child === "object" && "type" in child;
20
- };
21
- const header = React.Children.toArray(children).find((child) => isReactElement(child) && child.type === ModalHeader);
22
- const body = React.Children.toArray(children).find((child) => isReactElement(child) && child.type === ModalBody);
23
- const footer = React.Children.toArray(children).find((child) => isReactElement(child) && child.type === ModalFooter);
24
- return (_jsxs(ChakraModal, { isOpen: true, onClose: onClose, size: size, isCentered: isCentered, finalFocusRef: finalFocusRef, blockScrollOnMount: blockScrollOnMount, initialFocusRef: initialFocusRef, closeOnOverlayClick: closeOnOverlayClick, motionPreset: motionPreset, scrollBehavior: scrollBehavior, children: [_jsx(ModalOverlay, { bg: overlaybg, backdropFilter: overlaybackdropFilter, backdropInvert: overlaybackdropInvert, backdropBlur: overlaybackdropBlur }), _jsx(ModalContent, { children: isLoading ? (_jsx("div", { style: {
25
- display: "flex",
26
- justifyContent: "center",
27
- alignItems: "center",
28
- height: "100%",
29
- width: "100%",
30
- padding: "25%",
31
- }, children: _jsx(Spinner, { thickness: "4px", speed: "0.65s", emptyColor: theme.colors.gray[200], color: theme.colors.accentText, size: "xl" }) })) : (_jsxs(_Fragment, { children: [header && _jsx(ChakraModalHeader, { children: header }), _jsx(ModalCloseButton, {}), _jsx(ChakraModalBody, { children: body }), footer && _jsx(ChakraModalFooter, { children: footer })] })) })] }));
14
+ const isReactElement = (child) => child !== null && typeof child === "object" && "type" in child;
15
+ // Matches by type one Fragment deep, so `<>{cond && <ModalFooter>...</ModalFooter>}</>` isn't dropped.
16
+ const findSlot = (children, slot) => {
17
+ for (const child of React.Children.toArray(children)) {
18
+ if (!isReactElement(child))
19
+ continue;
20
+ if (child.type === slot)
21
+ return child;
22
+ if (child.type === React.Fragment) {
23
+ const nested = findSlot(child.props.children, slot);
24
+ if (nested)
25
+ return nested;
26
+ }
27
+ }
28
+ return undefined;
29
+ };
30
+ export default function Modal({ size, isOpen = false, onClose, overlaybg, overlaybackdropFilter, overlaybackdropInvert, overlaybackdropBlur, isCentered, finalFocusRef, blockScrollOnMount = true, initialFocusRef, closeOnOverlayClick = true, closeOnEsc = true, trapFocus = true, motionPreset = "scale", scrollBehavior = "outside", children, isLoading, title, subtitle, hideCloseButton, contentProps, }) {
31
+ var _a, _b;
32
+ const { colors } = useCustomTheme();
33
+ const headerSlot = findSlot(children, ModalHeader);
34
+ const bodySlot = findSlot(children, ModalBody);
35
+ const footerSlot = findSlot(children, ModalFooter);
36
+ const headerContent = headerSlot !== null && headerSlot !== void 0 ? headerSlot : title;
37
+ return (_jsxs(ChakraModal, { isOpen: isOpen, onClose: onClose, size: size, isCentered: isCentered, finalFocusRef: finalFocusRef, blockScrollOnMount: blockScrollOnMount, initialFocusRef: initialFocusRef, closeOnOverlayClick: closeOnOverlayClick, closeOnEsc: closeOnEsc, trapFocus: trapFocus, motionPreset: motionPreset, scrollBehavior: scrollBehavior, children: [_jsx(ModalOverlay, { bg: overlaybg, backdropFilter: overlaybackdropFilter, backdropInvert: overlaybackdropInvert, backdropBlur: overlaybackdropBlur }), _jsxs(ModalContent, { "aria-busy": isLoading || undefined, ...contentProps, children: [(headerContent || subtitle) && (_jsxs(ChakraModalHeader, { ...((_a = headerSlot === null || headerSlot === void 0 ? void 0 : headerSlot.props) !== null && _a !== void 0 ? _a : {}), children: [headerContent, subtitle && (_jsx(Text, { as: "div", mt: 0.5, fontSize: "0.875rem", fontWeight: 400, color: colors.textMuted, children: subtitle }))] })), !hideCloseButton && _jsx(ModalCloseButton, {}), isLoading ? (_jsx(Flex, { role: "status", "aria-label": "Loading", justify: "center", align: "center", py: 16, children: _jsx(Spinner, { thickness: "4px", speed: "0.65s", emptyColor: colors.boxborder[200], color: colors.accentText, size: "xl" }) })) : (_jsxs(_Fragment, { children: [_jsx(ChakraModalBody, { ...((_b = bodySlot === null || bodySlot === void 0 ? void 0 : bodySlot.props) !== null && _b !== void 0 ? _b : {}), children: bodySlot }), footerSlot && (_jsx(ChakraModalFooter, { ...footerSlot.props, children: footerSlot }))] }))] })] }));
32
38
  }
@@ -1,15 +1,20 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Popover, PopoverArrow, PopoverBody, PopoverContent, PopoverTrigger, SimpleGrid, Text, } from "@chakra-ui/react";
3
3
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
4
+ import { listRowBackgrounds } from "../../Theme/tokens/builders/rowStates.js";
5
+ import { transitionFor } from "../../Theme/tokens/primitives/index.js";
6
+ import { focusVisibleStyles } from "../../Theme/chakra/focusRing.styles.js";
7
+ /** "+N more" popover trigger for an overflowed list — renders nothing at all once the count reaches 0. */
4
8
  const MoreItems = ({ items, moreCount, triggerText, colorResolver, hideDots = false, columns = 2, minWidth = "260px", triggerMaxWidth = "250px", trigger = "hover", placement = "bottom-start", }) => {
5
9
  const theme = useCustomTheme();
10
+ const countBadgeBg = listRowBackgrounds(theme.colors).selected;
6
11
  const count = moreCount !== null && moreCount !== void 0 ? moreCount : items.length;
7
12
  if (count <= 0)
8
13
  return triggerText ? _jsx(_Fragment, { children: triggerText }) : null;
9
- return (_jsxs(Popover, { trigger: trigger, placement: placement, isLazy: true, children: [_jsx(PopoverTrigger, { children: _jsxs(Box, { display: "inline-flex", alignItems: "center", maxW: triggerMaxWidth, cursor: "pointer", children: [triggerText !== undefined && (_jsx(Box, { as: "span", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: triggerText })), _jsxs(Box, { as: "span", ml: "6px", px: "8px", py: "1px", fontSize: "12px", fontWeight: 600, lineHeight: "1.4", borderRadius: "full", color: theme.colors.accentText, bg: theme.colors.primary[50], transition: "all 0.15s ease", _hover: { bg: theme.colors.primary[100] }, children: ["+", count, " more"] })] }) }), _jsxs(PopoverContent, { width: "auto", minWidth: minWidth, maxH: "280px", overflowY: "auto", borderRadius: "xl",
14
+ return (_jsxs(Popover, { trigger: trigger, placement: placement, isLazy: true, children: [_jsx(PopoverTrigger, { children: _jsxs(Box, { display: "inline-flex", alignItems: "center", maxW: triggerMaxWidth, cursor: "pointer", tabIndex: 0, role: "button", borderRadius: "lg", sx: focusVisibleStyles(theme.colors), children: [triggerText !== undefined && (_jsx(Box, { as: "span", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: triggerText })), _jsxs(Box, { as: "span", ml: "6px", px: "8px", py: "1px", fontSize: "12px", fontWeight: 600, lineHeight: "1.4", borderRadius: "full", color: theme.colors.accentText, bg: countBadgeBg, transition: transitionFor(["background-color"]), _hover: { bg: listRowBackgrounds(theme.colors).selectedActive }, children: ["+", count, " more"] })] }) }), _jsxs(PopoverContent, { width: "auto", minWidth: minWidth, maxH: "280px", overflowY: "auto", borderRadius: "xl",
10
15
  // Chakra defaults this surface to `colors.gray.700` in dark, which against the
11
16
  // swapped (dark-inverted) palette is a *light* grey — wrong for a popover bg. Pin it.
12
- bg: theme.colors.background[50], boxShadow: "lg", _focus: { outline: "none", boxShadow: "lg" }, children: [_jsx(PopoverArrow, { bg: theme.colors.background[50] }), _jsx(PopoverBody, { p: 3, children: _jsx(SimpleGrid, { columns: columns, spacingX: 4, spacingY: 2, children: items === null || items === void 0 ? void 0 : items.map((item, index) => {
17
+ bg: theme.colors.surfaceRaised, boxShadow: "lg", _focus: { outline: "none", boxShadow: "lg" }, children: [_jsx(PopoverArrow, { bg: theme.colors.surfaceRaised }), _jsx(PopoverBody, { p: 3, children: _jsx(SimpleGrid, { columns: columns, spacingX: 4, spacingY: 2, children: items === null || items === void 0 ? void 0 : items.map((item, index) => {
13
18
  var _a, _b, _c;
14
19
  const color = (_b = (_a = item.color) !== null && _a !== void 0 ? _a : colorResolver === null || colorResolver === void 0 ? void 0 : colorResolver(item)) !== null && _b !== void 0 ? _b : theme.colors.textMuted;
15
20
  return (_jsxs(Box, { display: "flex", alignItems: "center", gap: "8px", minW: 0, children: [!hideDots && (_jsx(Box, { flexShrink: 0, width: "8px", height: "8px", borderRadius: "full", bg: color })), _jsx(Text, { fontSize: "13px", color: theme.colors.textMuted, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: item.label })] }, (_c = item.id) !== null && _c !== void 0 ? _c : index));
@@ -4,8 +4,12 @@ import { Box, Flex, Input, } from "@chakra-ui/react";
4
4
  import { TextLabel } from "../Common/FormLabel.js";
5
5
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
6
6
  import { getSearchSelectSizeStyles, } from "../SearchSelect/searchSelectSize.js";
7
- import ErrorMessage from "../Common/ErrorMessage.js";
8
- import HelperText from "../Common/HelperText.js";
7
+ import { DEFAULT_CONTROL_SIZE } from "../../Theme/tokens/primitives/controlSizes.js";
8
+ import { fieldFocusRing, fieldHoverBorder, getFieldStateStyles } from "../Common/fieldStyles.js";
9
+ import { placeholderInk } from "../../Theme/tokens/builders/placeholderInk.js";
10
+ import { reducedMotionSx } from "../../Theme/chakra/motion.js";
11
+ import { useFieldIds } from "../Common/useFieldIds.js";
12
+ import FieldMessage from "../Common/FieldMessage.js";
9
13
  import Tag from "../Tag/Tag.js";
10
14
  import { X } from "lucide-react";
11
15
  const generateUniqueId = (() => {
@@ -15,13 +19,16 @@ const generateUniqueId = (() => {
15
19
  return `${Date.now()}-${counter}`;
16
20
  };
17
21
  })();
18
- export default function MultiSelect({ value, onValueChange, width = "100%", label = "label", isRequired = true, isInformation = false, informationMessage = "", name, id, placeholderText = "Type valid email and press enter", isDisabled, isReadOnly, size = "md", inputStyle, helperText, error, errorMessage, }) {
22
+ export default function MultiSelect({ value, onValueChange, width = "100%", label = "label", isRequired = true, isInformation = false, informationMessage = "", name, id, placeholderText = "Type valid email and press enter", isDisabled, isReadOnly, addOnBlur = false, size = DEFAULT_CONTROL_SIZE, inputStyle, helperText, error, errorMessage, }) {
19
23
  const theme = useCustomTheme();
20
- const s = getSearchSelectSizeStyles((size || "md"));
24
+ const s = getSearchSelectSizeStyles((size || DEFAULT_CONTROL_SIZE));
21
25
  const options = value;
22
26
  const [inputValue, setInputValue] = useState("");
23
27
  const [localError, setLocalError] = useState("");
24
28
  const inputRef = useRef(null);
29
+ const isInvalid = Boolean(error || localError);
30
+ const shownErrorMessage = localError || errorMessage;
31
+ const ids = useFieldIds(id, { error: isInvalid, errorMessage: shownErrorMessage, helperText });
25
32
  const handleInputChange = useCallback((e) => {
26
33
  setInputValue(e.target.value);
27
34
  setLocalError("");
@@ -30,40 +37,45 @@ export default function MultiSelect({ value, onValueChange, width = "100%", labe
30
37
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
31
38
  return emailRegex.test(email);
32
39
  };
40
+ const commitInput = useCallback(() => {
41
+ const entry = inputValue.trim();
42
+ if (entry === "")
43
+ return;
44
+ if (!validateEmail(entry)) {
45
+ setLocalError("Invalid email address");
46
+ return;
47
+ }
48
+ if (!options.some((option) => option.label === entry)) {
49
+ onValueChange([...options, { id: generateUniqueId(), label: entry }]);
50
+ }
51
+ setInputValue("");
52
+ }, [inputValue, options, onValueChange]);
33
53
  const handleKeyDown = (e) => {
34
- if (e.key === "Enter" && inputValue.trim() !== "") {
35
- if (!validateEmail(inputValue)) {
36
- setLocalError("Invalid email address");
54
+ if (e.key === "Enter") {
55
+ if (inputValue.trim() === "")
37
56
  return;
38
- }
39
- const existingOption = options.find((option) => option.label === inputValue);
40
- if (!existingOption) {
41
- const newOption = { id: generateUniqueId(), label: inputValue };
42
- onValueChange([...options, newOption]);
43
- setInputValue("");
44
- }
57
+ e.preventDefault();
58
+ commitInput();
45
59
  }
46
60
  else if (e.key === "Backspace" && inputValue === "") {
47
61
  onValueChange(options.slice(0, -1));
48
62
  }
49
63
  };
64
+ const handleBlur = useCallback(() => {
65
+ if (addOnBlur && !isReadOnly && !isDisabled)
66
+ commitInput();
67
+ }, [addOnBlur, isReadOnly, isDisabled, commitInput]);
50
68
  const handleRemove = useCallback((optionToRemove) => {
51
69
  onValueChange(options.filter((option) => option.id !== optionToRemove.id));
52
70
  }, [options, onValueChange]);
53
- return (_jsxs(Box, { width: width, children: [label && (_jsx(TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })), _jsxs(Flex, { wrap: "wrap", gap: s.gap, align: "center", px: s.px, border: "0.063rem solid",
54
- // [800], not [500]: WCAG 1.4.11 needs >=3.0 for a control boundary against any named
55
- // surface up to `muted` (lightest); [500] fails there, [800] clears all with margin.
56
- borderColor: error || localError
57
- ? theme.colors.semanticText.error
58
- : theme.colors.boxborder[500], borderRadius: "lg", bg: theme.colors.gray[50], minH: s.minH, transition: "border-color 0.2s, box-shadow 0.2s", _focusWithin: {
59
- borderColor: error || localError
60
- ? theme.colors.semanticText.error
61
- : theme.colors.primary[500],
62
- boxShadow: `0 0 0 0.125rem ${error || localError
63
- ? theme.colors.boxShadow.error
64
- : theme.colors.boxShadow.primary}`,
65
- }, children: [options.map((option) => (_jsx(Tag, { size: s.tagSize, colorScheme: "primary", label: option.label, onIconClick: () => handleRemove(option), icon: X }, option.id))), _jsx(Input, { ref: inputRef, type: "text", value: inputValue, isDisabled: isDisabled, isReadOnly: isReadOnly, id: id, name: name, size: size, variant: "unstyled", h: s.fieldHeight, minH: s.fieldHeight, fontSize: s.fieldFontSize, fontWeight: "500", color: theme.colors.gray[700], letterSpacing: "0.02em", flex: "1", minW: 0, style: {
71
+ return (_jsxs(Box, { width: width, children: [label && (_jsx(TextLabel, { label: label, id: ids.inputId, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })), _jsxs(Flex, { wrap: "wrap", gap: s.gap, align: "center", px: s.px, minH: s.minH, sx: {
72
+ ...getFieldStateStyles(theme, { error: isInvalid, disabled: isDisabled }),
73
+ ...reducedMotionSx(),
74
+ }, _hover: isDisabled || isInvalid ? undefined : { borderColor: fieldHoverBorder(theme.colors) }, _focusWithin: {
75
+ borderColor: isInvalid ? theme.colors.semanticText.error : theme.colors.primary[500],
76
+ boxShadow: fieldFocusRing(theme),
77
+ }, children: [options.map((option) => (_jsx(Tag, { size: s.tagSize, colorScheme: "primary", label: option.label, onIconClick: () => handleRemove(option), icon: X }, option.id))), _jsx(Input, { ref: inputRef, type: "text", value: inputValue, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired, isInvalid: isInvalid, ...ids.controlProps, name: name, size: size, variant: "unstyled", h: s.fieldHeight, minH: s.fieldHeight, fontSize: s.fieldFontSize, fontWeight: 400, color: theme.colors.text[900], flex: "1", minW: 0, _placeholder: { color: placeholderInk(theme.colors), opacity: 1 }, style: {
66
78
  backgroundColor: "transparent",
67
79
  ...inputStyle,
68
- }, onChange: handleInputChange, onKeyDown: handleKeyDown, placeholder: options.length === 0 ? placeholderText : "" })] }), (error || localError) && (_jsx(ErrorMessage, { errorMessage: localError || errorMessage })), helperText && !error && _jsx(HelperText, { helperText: helperText })] }));
80
+ }, onChange: handleInputChange, onKeyDown: handleKeyDown, onBlur: handleBlur, placeholder: options.length === 0 ? placeholderText : "" })] }), _jsx(FieldMessage, { error: isInvalid, errorMessage: shownErrorMessage, helperText: helperText, helperId: ids.helperId, errorId: ids.errorId })] }));
69
81
  }
@@ -1,19 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Avatar, Box, Button, Center, Flex, Menu, MenuButton, MenuDivider, MenuItem, MenuList, Stack, Text, } from "@chakra-ui/react";
2
+ import { Box, Button, Flex, Menu, MenuButton, MenuDivider, MenuItem, MenuList, Stack, Text, } from "@chakra-ui/react";
3
+ import Avatar from "../Avatar/Avatar.js";
3
4
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
4
5
  import { accentTextOnCanvas, isDarkCanvas } from "../../Theme/tokens/builders/accentText.js";
5
6
  import { resolveHoverTint } from "../../Theme/tokens/builders/outlineRung.js";
7
+ import { listRowBackgrounds } from "../../Theme/tokens/builders/rowStates.js";
6
8
  import { resolveStatusTone } from "../../Theme/tokens/builders/statusTone.js";
9
+ import PersonChip from "../PersonChip/PersonChip.js";
7
10
  import { CircleArrowLeft, LogOut, PanelLeftClose, PanelRightClose, } from "lucide-react";
8
11
  // Roomy enough to hover without aiming: the glyph is only 1.25rem.
9
12
  const SIDEBAR_TOGGLE_HIT = "2.5rem";
10
13
  export default function NavBar({ userAvathar, userName, userRole, navMenu, moreIcon, handleNavOnClick, handleLogout, logoutText, navigationBarText, sideBarToggole, onSideBarToggole, forceSideBarToggle = false, onSideBarPeek, }) {
11
14
  const theme = useCustomTheme();
12
- // For a near-neutral brand (e.g. zinc), `primary[50]` is itself a pale near-white tint — on
13
- // the menu's own near-white surface that measured as low as ~1.02:1, an invisible hover.
14
- const menuHoverBg = resolveHoverTint(theme.colors.primary[50], theme.colors.backgroundColor.light);
15
+ const rowBackgrounds = listRowBackgrounds(theme.colors);
16
+ const menuHoverBg = rowBackgrounds.active;
15
17
  const barHoverBg = resolveHoverTint(theme.colors.gray[100], theme.colors.backgroundColor.light);
16
- const menuHoverInk = accentTextOnCanvas(theme.colors.primary, menuHoverBg);
17
18
  const dangerTone = resolveStatusTone(theme.colors.semantic.error, isDarkCanvas(theme.colors.backgroundColor.main) ? "dark" : "light");
18
19
  // Shared rounded pill affordance for the bar's icon controls.
19
20
  const iconButtonStyle = {
@@ -21,7 +22,7 @@ export default function NavBar({ userAvathar, userName, userRole, navMenu, moreI
21
22
  h: "1.75rem",
22
23
  alignItems: "center",
23
24
  justifyContent: "center",
24
- borderRadius: "md",
25
+ borderRadius: "lg",
25
26
  cursor: "pointer",
26
27
  border: "none",
27
28
  bg: "transparent",
@@ -41,21 +42,18 @@ export default function NavBar({ userAvathar, userName, userRole, navMenu, moreI
41
42
  color: theme.colors.text[900],
42
43
  gap: theme.space["2"],
43
44
  transition: "background 0.12s",
44
- _hover: { bg: menuHoverBg, color: menuHoverInk },
45
- _focus: { bg: menuHoverBg, color: menuHoverInk },
46
- _active: { bg: menuHoverBg, color: menuHoverInk },
45
+ _hover: { bg: menuHoverBg },
46
+ _focus: { bg: menuHoverBg },
47
+ _active: { bg: rowBackgrounds.selectedActive },
47
48
  };
48
- return (_jsx(Box, { bg: theme.colors.backgroundColor.light, px: 4, borderBottom: "1px solid", borderColor: theme.colors.border[500], children: _jsxs(Flex, { h: 16, alignItems: "center", justifyContent: "space-between", children: [_jsxs(Box, { display: "flex", gap: 1.5, alignItems: "center", children: [_jsx(Box, { as: "button", type: "button", onClick: () => onSideBarToggole === null || onSideBarToggole === void 0 ? void 0 : onSideBarToggole(), onMouseEnter: onSideBarPeek, onFocus: onSideBarPeek, "aria-label": sideBarToggole ? "Close navigation menu" : "Open navigation menu", "aria-expanded": !!sideBarToggole, ...iconButtonStyle, display: forceSideBarToggle ? "flex" : { base: "flex", lg: "none" }, w: SIDEBAR_TOGGLE_HIT, h: SIDEBAR_TOGGLE_HIT, children: sideBarToggole ? (_jsx(PanelLeftClose, { size: "1.25rem" })) : (_jsx(PanelRightClose, { size: "1.25rem" })) }), (navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) && (_jsx(Box, { ...iconButtonStyle, as: "button", type: "button", "aria-label": "Go back", display: "flex", onClick: () => { var _a; return (_a = navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) === null || _a === void 0 ? void 0 : _a.call(navigationBarText); }, children: _jsx(CircleArrowLeft, { size: "1.25rem", color: theme.colors.text[500] }) })), (navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.text) && (_jsx(Text, { color: accentTextOnCanvas(theme.colors.secondary, theme.colors.backgroundColor.light), fontSize: "1.25rem", fontWeight: 600, fontFamily: "open-sans, sans-serif", letterSpacing: "-0.013rem", children: navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.text }))] }), _jsx(Flex, { minW: 0, flexShrink: 1, children: _jsxs(Stack, { direction: "row", alignItems: "center", spacing: 4, minW: 0, children: [moreIcon && (_jsx(Box, { display: "flex", alignItems: "center", minW: 0, children: moreIcon })), _jsxs(Menu, { children: [_jsx(MenuButton, { as: Button, rounded: "full", variant: "link", cursor: "pointer", minW: 0, flexShrink: 0, children: _jsx(Avatar, { size: "sm", name: userName, src: userAvathar }) }), _jsx(MenuList, { alignItems: "center", zIndex: 5, p: 0, py: "0.375rem",
49
+ return (_jsx(Box, { bg: theme.colors.backgroundColor.light, px: 4, borderBottom: "1px solid", borderColor: theme.colors.boxborder[200], children: _jsxs(Flex, { h: 16, alignItems: "center", justifyContent: "space-between", children: [_jsxs(Box, { display: "flex", gap: 1.5, alignItems: "center", children: [_jsx(Box, { as: "button", type: "button", onClick: () => onSideBarToggole === null || onSideBarToggole === void 0 ? void 0 : onSideBarToggole(), onMouseEnter: onSideBarPeek, onFocus: onSideBarPeek, "aria-label": sideBarToggole ? "Close navigation menu" : "Open navigation menu", "aria-expanded": !!sideBarToggole, ...iconButtonStyle, display: forceSideBarToggle ? "flex" : { base: "flex", lg: "none" }, w: SIDEBAR_TOGGLE_HIT, h: SIDEBAR_TOGGLE_HIT, children: sideBarToggole ? (_jsx(PanelLeftClose, { size: "1.25rem" })) : (_jsx(PanelRightClose, { size: "1.25rem" })) }), (navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) && (_jsx(Box, { ...iconButtonStyle, as: "button", type: "button", "aria-label": "Go back", display: "flex", onClick: () => { var _a; return (_a = navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) === null || _a === void 0 ? void 0 : _a.call(navigationBarText); }, children: _jsx(CircleArrowLeft, { size: "1.25rem", color: theme.colors.text[500] }) })), (navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.text) && (_jsx(Text, { color: accentTextOnCanvas(theme.colors.secondary, theme.colors.backgroundColor.light), fontSize: "1.25rem", fontWeight: 600, fontFamily: "open-sans, sans-serif", letterSpacing: "-0.013rem", children: navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.text }))] }), _jsx(Flex, { minW: 0, flexShrink: 1, children: _jsxs(Stack, { direction: "row", alignItems: "center", spacing: 4, minW: 0, children: [moreIcon && (_jsx(Box, { display: "flex", alignItems: "center", minW: 0, children: moreIcon })), _jsxs(Menu, { children: [_jsx(MenuButton, { as: Button, rounded: "full", variant: "link", cursor: "pointer", minW: 0, flexShrink: 0, children: _jsx(Avatar, { size: "sm", name: userName, src: userAvathar }) }), _jsx(MenuList, { alignItems: "center", zIndex: 5, p: 0, py: "0.375rem",
49
50
  // Without a cap one long title stretches the whole dropdown; titles truncate instead.
50
- maxW: "18rem", bg: theme.colors.backgroundColor.light,
51
- // Chakra's MenuItem renders `background: var(--menu-bg)` at rest; its MenuList
52
- // baseStyle hardcodes that var to "#fff" (gated behind `_dark`, which this theme-swap
53
- // app never triggers). The `bg` prop above only recolors the list itself, not the
54
- // inherited var, so items fall back to white until hover/focus — set the var too.
55
- sx: { "--menu-bg": theme.colors.backgroundColor.light }, border: "1px solid", borderColor: theme.colors.boxborder[500], borderRadius: "xl", boxShadow: "lg", color: theme.colors.text[900], overflow: "hidden", children: _jsxs(Box, { display: "flex", flexDirection: "column", maxH: "90vh", children: [_jsx(Center, { pt: 4, pb: 2, children: _jsx(Avatar, { size: "xl", name: userName, src: userAvathar }) }), _jsxs(Center, { flexDirection: "column", gap: "0.125rem", pb: 2, px: 4, children: [_jsx(Text, { fontWeight: 600, fontSize: "14px", color: theme.colors.text[900], isTruncated: true, maxW: "100%", children: userName }), userRole && (_jsx(Text, { fontSize: "11px", color: theme.colors.text[500], isTruncated: true, maxW: "100%", children: userRole }))] }), _jsx(MenuDivider, { borderColor: theme.colors.border[500] }), _jsx(Box, { flex: 1, overflowY: "auto", overflowX: "hidden", children: navMenu === null || navMenu === void 0 ? void 0 : navMenu.map((menu, idx) => {
51
+ maxW: "18rem", bg: theme.colors.surfaceRaised,
52
+ // NOTE: Chakra's MenuItem inherits --menu-bg hardcoded to #fff via dead _dark — set it or items stay white.
53
+ sx: { "--menu-bg": theme.colors.backgroundColor.light }, borderRadius: "xl", boxShadow: "lg", color: theme.colors.text[900], overflow: "hidden", children: _jsxs(Box, { display: "flex", flexDirection: "column", maxH: "90vh", children: [_jsx(Box, { pt: 4, pb: 2, px: 4, children: _jsx(PersonChip, { name: userName, imageUrl: userAvathar, secondary: userRole, orientation: "vertical", size: "xl", maxW: "100%" }) }), _jsx(MenuDivider, { borderColor: theme.colors.boxborder[200] }), _jsx(Box, { flex: 1, overflowY: "auto", overflowX: "hidden", children: navMenu === null || navMenu === void 0 ? void 0 : navMenu.map((menu, idx) => {
56
54
  var _a, _b, _c, _d;
57
55
  return (_jsxs(MenuItem, { onClick: () => handleNavOnClick(menu.url), sx: menuItemStyle, children: [menu.icon && (_jsx(Box, { display: "flex", alignItems: "center", flexShrink: 0, sx: { "& svg": { width: "16px", height: "16px" } }, children: menu === null || menu === void 0 ? void 0 : menu.icon })), _jsx(Box, { minW: 0, isTruncated: true, title: String((_a = menu.title) !== null && _a !== void 0 ? _a : ""), children: menu.title })] }, `${String((_d = (_c = (_b = menu.id) !== null && _b !== void 0 ? _b : menu.url) !== null && _c !== void 0 ? _c : menu.title) !== null && _d !== void 0 ? _d : idx)}-${idx}`));
58
- }) }), _jsx(MenuDivider, { borderColor: theme.colors.border[500] }), _jsxs(MenuItem, { onClick: handleLogout, sx: {
56
+ }) }), _jsx(MenuDivider, { borderColor: theme.colors.boxborder[200] }), _jsxs(MenuItem, { onClick: handleLogout, sx: {
59
57
  ...menuItemStyle,
60
58
  color: theme.colors.semanticText.error,
61
59
  _hover: { bg: dangerTone.bg, color: dangerTone.fg },
@@ -1,18 +1,24 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useRef, useState } from "react";
3
- import { Box, Flex, Text, Input, Textarea, Button, Divider, Spinner, Tooltip, } from "@chakra-ui/react";
2
+ import { forwardRef, useEffect, useId, useRef, useState } from "react";
3
+ import { Box, Flex, Text, Input, Textarea, Button, Divider, Spinner, Tooltip, useMergeRefs, } from "@chakra-ui/react";
4
4
  import { Paperclip, X, SquarePen, File as FileIcon } from "lucide-react";
5
5
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
6
+ import { placeholderInk } from "../../Theme/tokens/builders/placeholderInk.js";
7
+ import { resolveHoverTint } from "../../Theme/tokens/builders/outlineRung.js";
6
8
  import { FIELD_RADIUS } from "../Common/fieldStyles.js";
9
+ import { transitionFor } from "../../Theme/tokens/primitives/motion.js";
7
10
  const countWords = (text = "") => {
8
11
  const t = text.trim();
9
12
  if (!t)
10
13
  return 0;
11
14
  return t.split(/\s+/).length;
12
15
  };
13
- export default function NoteTextArea({ width = "100%", handleSubmit, handleCancel, value, title, file, isEditable = false, saveButtonLoading, maxFileSize = 1 * 1024 * 1024, maxFilesSizeError = "Some files are too large. Maximum allowed size is", maxNoteWordCount = 15, onChange, ref: inputRef, customPlaceholder = "Add a note...", cancelButtonHide = false, }) {
16
+ /** Self-contained note composer (optional title + textarea + Save); `ref` forwards to the primary textarea. */
17
+ const NoteTextArea = forwardRef(function NoteTextArea({ width = "100%", handleSubmit, handleCancel, value, title, file, isEditable = false, saveButtonLoading, maxFileSize = 1 * 1024 * 1024, maxFilesSizeError = "Some files are too large. Maximum allowed size is", maxNoteWordCount = 15, onChange, customPlaceholder = "Add a note...", cancelButtonHide = false, titleAriaLabel = "Note title", noteAriaLabel = customPlaceholder, }, ref) {
14
18
  const theme = useCustomTheme();
15
19
  const noteAreaRef = useRef(null);
20
+ const mergedNoteRef = useMergeRefs(noteAreaRef, ref);
21
+ const fileInputId = `note-text-area-file-${useId().replace(/:/g, "")}`;
16
22
  const [isActive, setIsActive] = useState(false);
17
23
  const [noteValue, setNoteValue] = useState("");
18
24
  const [titleValue, setTitleValue] = useState("");
@@ -114,14 +120,17 @@ export default function NoteTextArea({ width = "100%", handleSubmit, handleCance
114
120
  };
115
121
  const noteWordCount = countWords(noteValue);
116
122
  const isOverLimit = noteWordCount > maxNoteWordCount;
117
- return (_jsxs(Box, { w: width, borderRadius: FIELD_RADIUS, overflow: "hidden", border: "1px solid", borderColor: isActive ? theme.colors.primary[500] : theme.colors.boxborder[500], bg: isActive ? theme.colors.gray[50] : theme.colors.background[50], transition: "border-color 0.2s", children: [!isActive && (_jsxs(Flex, { px: 3, gap: 2, align: "center", cursor: "text", onClick: handleTextArea, bg: theme.colors.background[50], borderRadius: FIELD_RADIUS, minH: "2.5rem", transition: "background 0.15s", _hover: { bg: theme.colors.gray[50] }, children: [_jsx(SquarePen, { size: 16, color: theme.colors.textMuted }), _jsx(Text, { color: theme.colors.textMuted, fontSize: "sm", children: customPlaceholder })] })), isActive && (_jsxs(_Fragment, { children: [_jsxs(Box, { bg: theme.colors.background[50], children: [titleShow && (_jsxs(_Fragment, { children: [_jsx(Input, { ref: inputRef, value: titleValue, onChange: (e) => {
123
+ const collapsedHoverBg = resolveHoverTint(theme.colors.gray[50], theme.colors.background[50]);
124
+ const activeControlHoverBg = resolveHoverTint(theme.colors.gray[100], theme.colors.gray[50]);
125
+ return (_jsxs(Box, { w: width, borderRadius: FIELD_RADIUS, overflow: "hidden", border: "1px solid", borderColor: isActive ? theme.colors.primary[500] : theme.colors.boxborder[500], bg: isActive ? theme.colors.gray[50] : theme.colors.background[50], transition: transitionFor(["border-color"]), children: [!isActive && (_jsxs(Flex, { px: 3, gap: 2, align: "center", cursor: "text", onClick: handleTextArea, bg: theme.colors.background[50], borderRadius: FIELD_RADIUS, minH: "2.5rem", transition: transitionFor(["background-color"]), _hover: { bg: collapsedHoverBg }, children: [_jsx(SquarePen, { size: 16, color: theme.colors.textMuted }), _jsx(Text, { color: theme.colors.textMuted, fontSize: "sm", children: customPlaceholder })] })), isActive && (_jsxs(_Fragment, { children: [_jsxs(Box, { bg: theme.colors.background[50], children: [titleShow && (_jsxs(_Fragment, { children: [_jsx(Input, { value: titleValue, onChange: (e) => {
118
126
  if (e.target.value.length === 0)
119
127
  setTitleShow(false);
120
128
  setTitleValue(e.target.value);
121
- }, placeholder: "Add a title...", variant: "unstyled", px: 3, pt: 2.5, pb: 1.5, fontWeight: 600, fontSize: "0.875rem", color: theme.colors.text[700], _placeholder: {
122
- fontStyle: "italic",
123
- color: theme.colors.textMuted,
124
- } }), _jsx(Divider, { borderColor: theme.colors.gray[200] })] })), _jsx(Box, { bg: theme.colors.background[50], minH: "76px", px: 3, pt: 2.5, position: "relative", children: _jsx(Textarea, { ref: noteAreaRef, value: noteValue, onChange: handleNoteChange, placeholder: customPlaceholder, variant: "unstyled", resize: "none", minH: "76px", fontSize: "0.75rem", color: theme.colors.text[700], _placeholder: { fontStyle: "italic", color: theme.colors.textMuted }, style: { overflow: "hidden" }, p: 0 }) })] }), _jsx(Divider, { borderColor: theme.colors.gray[200] }), _jsxs(Box, { px: 3, py: 2.5, children: [_jsxs(Flex, { align: "center", justify: "space-between", w: "100%", gap: 3, children: [_jsxs(Flex, { align: "center", gap: 2, minW: 0, children: [_jsx(Tooltip, { label: "Attach files", hasArrow: true, placement: "top", children: _jsx(Box, { as: "label", htmlFor: "file-upload", cursor: "pointer", display: "flex", alignItems: "center", justifyContent: "center", w: "1.75rem", h: "1.75rem", borderRadius: "md", color: theme.colors.textMuted, transition: "background 0.15s", _hover: { bg: theme.colors.gray[100] }, children: _jsx(Paperclip, { size: 16 }) }) }), _jsx(Box, { h: "1rem", w: "1px", bg: theme.colors.gray[200] }), !titleShow ? (_jsx(Box, { as: "button", type: "button", onClick: () => setTitleShow(true), px: 2, py: 1, borderRadius: "md", color: theme.colors.textMuted, fontWeight: 500, fontSize: "sm", transition: "background 0.15s", _hover: { bg: theme.colors.gray[100] }, children: "+ Add a title" })) : (_jsx(Tooltip, { label: titleValue, hasArrow: true, isDisabled: !titleValue, children: _jsx(Text, { color: theme.colors.textMuted, fontSize: "sm", fontWeight: 500, isTruncated: true, maxW: "180px", children: titleValue || "Title" }) }))] }), _jsxs(Flex, { gap: 2.5, align: "center", ml: "auto", flexShrink: 0, children: [_jsxs(Text, { fontSize: "xs", fontWeight: 500, color: isOverLimit ? theme.colors.semanticText.error : theme.colors.textMuted, whiteSpace: "nowrap", children: [noteWordCount, "/", maxNoteWordCount] }), cancelButtonHide ? null : (_jsx(Button, { size: "sm", variant: "ghost", colorScheme: "gray", onClick: handleCloseTextArea, children: "Cancel" })), _jsxs(Button, { size: "sm", variant: "solid", isLoading: !!saveButtonLoading, isDisabled: !noteValue || isSaveDisabled, onClick: () => handleSubmit(noteValue, titleValue, files), children: [saveButtonLoading ? (_jsx(Spinner, { size: "xs", thickness: "2px", mr: 2 })) : null, "Save"] })] })] }), _jsx("input", { id: "file-upload", type: "file", style: { display: "none" }, onChange: (e) => {
129
+ }, placeholder: "Add a title...", "aria-label": titleAriaLabel, variant: "unstyled", px: 3, pt: 2.5, pb: 1.5, fontWeight: 600, fontSize: "0.875rem", color: theme.colors.text[700], _placeholder: {
130
+ color: placeholderInk(theme.colors),
131
+ } }), _jsx(Divider, { borderColor: theme.colors.gray[200] })] })), _jsx(Box, { bg: theme.colors.background[50], minH: "76px", px: 3, pt: 2.5, position: "relative", children: _jsx(Textarea, { ref: mergedNoteRef, value: noteValue, onChange: handleNoteChange, placeholder: customPlaceholder, "aria-label": noteAriaLabel, variant: "unstyled", resize: "none", minH: "76px", fontSize: "0.75rem", color: theme.colors.text[700], _placeholder: {
132
+ color: placeholderInk(theme.colors),
133
+ }, style: { overflow: "hidden" }, p: 0 }) })] }), _jsx(Divider, { borderColor: theme.colors.gray[200] }), _jsxs(Box, { px: 3, py: 2.5, children: [_jsxs(Flex, { align: "center", justify: "space-between", w: "100%", gap: 3, children: [_jsxs(Flex, { align: "center", gap: 2, minW: 0, children: [_jsx(Tooltip, { label: "Attach files", hasArrow: true, placement: "top", children: _jsx(Box, { as: "label", htmlFor: fileInputId, cursor: "pointer", display: "flex", alignItems: "center", justifyContent: "center", w: "1.75rem", h: "1.75rem", borderRadius: "md", color: theme.colors.textMuted, transition: transitionFor(["background-color"]), _hover: { bg: activeControlHoverBg }, children: _jsx(Paperclip, { size: 16 }) }) }), _jsx(Box, { h: "1rem", w: "1px", bg: theme.colors.gray[200] }), !titleShow ? (_jsx(Box, { as: "button", type: "button", onClick: () => setTitleShow(true), px: 2, py: 1, borderRadius: "md", color: theme.colors.textMuted, fontWeight: 500, fontSize: "sm", transition: transitionFor(["background-color"]), _hover: { bg: activeControlHoverBg }, children: "+ Add a title" })) : (_jsx(Tooltip, { label: titleValue, hasArrow: true, isDisabled: !titleValue, children: _jsx(Text, { color: theme.colors.textMuted, fontSize: "sm", fontWeight: 500, isTruncated: true, maxW: "180px", children: titleValue || "Title" }) }))] }), _jsxs(Flex, { gap: 2.5, align: "center", ml: "auto", flexShrink: 0, children: [_jsxs(Text, { fontSize: "xs", fontWeight: 500, color: isOverLimit ? theme.colors.semanticText.error : theme.colors.textMuted, whiteSpace: "nowrap", children: [noteWordCount, "/", maxNoteWordCount] }), cancelButtonHide ? null : (_jsx(Button, { size: "sm", variant: "ghost", colorScheme: "gray", onClick: handleCloseTextArea, children: "Cancel" })), _jsxs(Button, { size: "sm", variant: "solid", isLoading: !!saveButtonLoading, isDisabled: !noteValue || isSaveDisabled, onClick: () => handleSubmit(noteValue, titleValue, files), children: [saveButtonLoading ? (_jsx(Spinner, { size: "xs", thickness: "2px", mr: 2 })) : null, "Save"] })] })] }), _jsx("input", { id: fileInputId, type: "file", style: { display: "none" }, onChange: (e) => {
125
134
  const newFiles = Array.from(e.target.files || []);
126
135
  const validFiles = newFiles.filter((f) => f.size <= maxFileSize);
127
136
  const invalidFiles = newFiles.filter((f) => f.size > maxFileSize);
@@ -134,5 +143,7 @@ export default function NoteTextArea({ width = "100%", handleSubmit, handleCance
134
143
  if (validFiles.length > 0) {
135
144
  setFiles((prev) => [...prev, ...validFiles]);
136
145
  }
137
- }, multiple: true }), fileError && (_jsx(Text, { color: theme.colors.semanticText.error, mt: 2, fontSize: "xs", children: fileError })), files.length > 0 && (_jsx(Flex, { mt: 3, gap: 2, wrap: "wrap", children: files.map((f, idx) => (_jsxs(Flex, { align: "center", gap: 2, pl: 2.5, pr: 1.5, py: 1, borderRadius: "full", bg: theme.colors.gray[100], maxW: "100%", children: [_jsx(FileIcon, { size: 13, color: theme.colors.textMuted }), _jsx(Text, { fontSize: "xs", color: theme.colors.text[700], isTruncated: true, maxW: "160px", children: shortenFileName(f.name) }), _jsx(Text, { fontSize: "xs", color: theme.colors.textMuted, whiteSpace: "nowrap", children: formatBytes(f.size) }), _jsx(Box, { as: "button", type: "button", display: "flex", alignItems: "center", justifyContent: "center", borderRadius: "full", p: 0.5, color: theme.colors.textMuted, transition: "all 0.15s", _hover: { bg: theme.colors.gray[200], color: theme.colors.semanticText.error }, onClick: () => setFiles((prev) => prev.filter((fileItem) => fileItem !== f)), children: _jsx(X, { size: 13 }) })] }, idx))) }))] })] }))] }));
138
- }
146
+ }, multiple: true }), fileError && (_jsx(Text, { color: theme.colors.semanticText.error, mt: 2, fontSize: "xs", children: fileError })), files.length > 0 && (_jsx(Flex, { mt: 3, gap: 2, wrap: "wrap", children: files.map((f, idx) => (_jsxs(Flex, { align: "center", gap: 2, pl: 2.5, pr: 1.5, py: 1, borderRadius: "full", bg: theme.colors.gray[100], maxW: "100%", children: [_jsx(FileIcon, { size: 13, color: theme.colors.textMuted }), _jsx(Text, { fontSize: "xs", color: theme.colors.text[700], isTruncated: true, maxW: "160px", children: shortenFileName(f.name) }), _jsx(Text, { fontSize: "xs", color: theme.colors.textMuted, whiteSpace: "nowrap", children: formatBytes(f.size) }), _jsx(Box, { as: "button", type: "button", display: "flex", alignItems: "center", justifyContent: "center", borderRadius: "full", p: 0.5, color: theme.colors.textMuted, transition: transitionFor(["background-color", "color"]), _hover: { bg: theme.colors.gray[200], color: theme.colors.semanticText.error }, onClick: () => setFiles((prev) => prev.filter((fileItem) => fileItem !== f)), children: _jsx(X, { size: 13 }) })] }, idx))) }))] })] }))] }));
147
+ });
148
+ NoteTextArea.displayName = "NoteTextArea";
149
+ export default NoteTextArea;
@@ -1,10 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
- import { Box, VStack, HStack, Text, Icon, Avatar, Divider, Skeleton, SkeletonCircle, } from "@chakra-ui/react";
3
+ import { Box, VStack, HStack, Text, Icon, Divider, Skeleton, SkeletonCircle, } from "@chakra-ui/react";
4
4
  import { Clock, AlertCircle, Calendar, X, User } from "lucide-react";
5
5
  import { useCustomTheme } from "../../Theme/useCustomTheme.js";
6
- import { accentTextOnCanvas, isDarkCanvas } from "../../Theme/tokens/builders/accentText.js";
6
+ import { accentTextOnCanvas, isDarkCanvas, AA_NORMAL_TEXT } from "../../Theme/tokens/builders/accentText.js";
7
7
  import { resolveStatusTone } from "../../Theme/tokens/builders/statusTone.js";
8
+ import { liftToContrast } from "../../Theme/tokens/builders/outlineRung.js";
9
+ import Avatar from "../Avatar/Avatar.js";
10
+ /** Date-driven countdown card ("due in 3 days" / "overdue by 2 hours"). For inbox-style rows use `NotificationItem`, which cannot render a future date. */
8
11
  const Notification = ({ notification, onClose, showStatus, onClick, isLoading = false, colors, }) => {
9
12
  var _a, _b, _c, _d, _e, _f, _g;
10
13
  const theme = useCustomTheme();
@@ -13,11 +16,13 @@ const Notification = ({ notification, onClose, showStatus, onClick, isLoading =
13
16
  const bgColor = (_a = colors === null || colors === void 0 ? void 0 : colors.bgColor) !== null && _a !== void 0 ? _a : theme.colors.background[50];
14
17
  const borderColor = (_b = colors === null || colors === void 0 ? void 0 : colors.borderColor) !== null && _b !== void 0 ? _b : theme.colors.boxborder[200];
15
18
  const textColor = (_c = colors === null || colors === void 0 ? void 0 : colors.textColor) !== null && _c !== void 0 ? _c : theme.colors.text[700];
16
- const titleColor = (_d = colors === null || colors === void 0 ? void 0 : colors.titleColor) !== null && _d !== void 0 ? _d : theme.colors.text[800];
19
+ const titleColor = (_d = colors === null || colors === void 0 ? void 0 : colors.titleColor) !== null && _d !== void 0 ? _d : liftToContrast(theme.colors.text[800], bgColor, AA_NORMAL_TEXT);
17
20
  // The dot is a graphic on the canvas: `semantic[tone][500]` measures under 3:1 there.
18
21
  const warningColor = (_e = colors === null || colors === void 0 ? void 0 : colors.warningColor) !== null && _e !== void 0 ? _e : theme.colors.semanticText.warning;
19
22
  const errorColor = (_f = colors === null || colors === void 0 ? void 0 : colors.errorColor) !== null && _f !== void 0 ? _f : theme.colors.semanticText.error;
20
23
  const successColor = (_g = colors === null || colors === void 0 ? void 0 : colors.successColor) !== null && _g !== void 0 ? _g : theme.colors.semanticText.success;
24
+ const dueLabelColor = liftToContrast(theme.colors.orange[500], bgColor, AA_NORMAL_TEXT);
25
+ const metaColor = liftToContrast(theme.colors.textMuted, bgColor, AA_NORMAL_TEXT);
21
26
  const startDate = useMemo(() => notification.startDate
22
27
  ? new Date(notification.startDate)
23
28
  : null, [notification.startDate]);
@@ -103,6 +108,6 @@ const Notification = ({ notification, onClose, showStatus, onClick, isLoading =
103
108
  bg: closeTone.bg,
104
109
  color: closeTone.fg,
105
110
  transform: "scale(1.1)",
106
- }, transition: "all 0.2s ease", children: _jsx(X, { size: 16 }) })), _jsxs(VStack, { align: "start", spacing: 3, w: "100%", children: [_jsxs(HStack, { spacing: 2, children: [_jsx(Icon, { as: TimeIcon, color: accentTextOnCanvas(theme.colors.orange, bgColor), boxSize: 4 }), _jsx(Text, { fontSize: "sm", color: accentTextOnCanvas(theme.colors.orange, bgColor), fontWeight: "semibold", children: timeLabel })] }), _jsxs(HStack, { align: "center", spacing: 3, w: "100%", children: [_jsx(Avatar, { size: "sm", name: notification.host || notification.title, src: notification.avatarUrl || "" }), _jsxs(VStack, { align: "start", spacing: 0, flex: "1", children: [_jsx(Text, { fontWeight: "bold", fontSize: "md", color: titleColor, cursor: "pointer", _hover: { textColor: theme.colors.accentText }, onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(notification.id, notification.type), children: notification.title }), notification.description && (_jsx(Text, { fontSize: "sm", color: textColor, children: notification.description }))] })] }), _jsx(Divider, { borderColor: borderColor }), _jsxs(HStack, { justify: "space-between", w: "100%", children: [_jsxs(HStack, { spacing: 2, children: [_jsx(Icon, { as: Calendar, color: theme.colors.textMuted, boxSize: 4 }), _jsx(Text, { fontSize: "sm", color: theme.colors.textMuted, children: formattedStartDateTime })] }), _jsxs(HStack, { spacing: 2, children: [_jsx(Icon, { as: User, color: theme.colors.textMuted, boxSize: 4 }), notification.host && (_jsx(Text, { fontSize: "sm", color: theme.colors.textMuted, children: notification.host }))] }), showStatus && (_jsx(Box, { boxSize: "3", bg: getStatusColor(), borderRadius: "full" }))] })] })] }));
111
+ }, transition: "all 0.2s ease", children: _jsx(X, { size: 16 }) })), _jsxs(VStack, { align: "start", spacing: 3, w: "100%", children: [_jsxs(HStack, { spacing: 2, children: [_jsx(Icon, { as: TimeIcon, color: dueLabelColor, boxSize: 4 }), _jsx(Text, { fontSize: "sm", color: dueLabelColor, fontWeight: "semibold", children: timeLabel })] }), _jsxs(HStack, { align: "center", spacing: 3, w: "100%", children: [_jsx(Avatar, { size: "sm", name: notification.host || notification.title, src: notification.avatarUrl || undefined }), _jsxs(VStack, { align: "start", spacing: 0, flex: "1", children: [_jsx(Text, { fontWeight: "bold", fontSize: "md", color: titleColor, cursor: "pointer", _hover: { textColor: theme.colors.accentText }, onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(notification.id, notification.type), children: notification.title }), notification.description && (_jsx(Text, { fontSize: "sm", color: textColor, children: notification.description }))] })] }), _jsx(Divider, { borderColor: borderColor }), _jsxs(HStack, { justify: "space-between", w: "100%", children: [_jsxs(HStack, { spacing: 2, children: [_jsx(Icon, { as: Calendar, color: metaColor, boxSize: 4 }), _jsx(Text, { fontSize: "sm", color: metaColor, children: formattedStartDateTime })] }), _jsxs(HStack, { spacing: 2, children: [_jsx(Icon, { as: User, color: metaColor, boxSize: 4 }), notification.host && (_jsx(Text, { fontSize: "sm", color: metaColor, children: notification.host }))] }), showStatus && (_jsx(Box, { boxSize: "3", bg: getStatusColor(), borderRadius: "full" }))] })] })] }));
107
112
  };
108
113
  export default Notification;