pixelize-design-library 2.4.2-beta.67 → 2.4.2-beta.69

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 (299) hide show
  1. package/CHANGELOG.md +61 -4
  2. package/COMPONENT-GOTCHAS.md +98 -59
  3. package/DESIGN-GUIDE.md +18 -6
  4. package/README.md +14 -11
  5. package/dist/Components/Accordion/AccordionProps.d.ts +10 -0
  6. package/dist/Components/AddressCard/AddressCardProps.d.ts +15 -0
  7. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChartProps.d.ts +11 -0
  8. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +17 -1
  9. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChartProps.d.ts +10 -0
  10. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +14 -0
  11. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarChartsProps.d.ts +9 -0
  12. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChartProps.d.ts +10 -0
  13. package/dist/Components/AppSwitcher/AppSwitcher.d.ts +1 -0
  14. package/dist/Components/AppSwitcher/AppSwitcher.js +1 -0
  15. package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +23 -0
  16. package/dist/Components/AppSwitcher/pixelizeSuite.d.ts +1 -0
  17. package/dist/Components/AppearanceSettings/AppearanceSettings.d.ts +1 -0
  18. package/dist/Components/AppearanceSettings/AppearanceSettings.js +1 -0
  19. package/dist/Components/AppearanceSettings/AppearanceSettingsProps.d.ts +11 -0
  20. package/dist/Components/AudioRecorder/AudioRecorder.d.ts +1 -0
  21. package/dist/Components/AudioRecorder/AudioRecorder.js +1 -0
  22. package/dist/Components/AudioRecorder/AudioRecorderProps.d.ts +6 -0
  23. package/dist/Components/Avatar/AvatarGroup.d.ts +1 -0
  24. package/dist/Components/Avatar/AvatarGroup.js +1 -0
  25. package/dist/Components/Avatar/AvatarGroupProps.d.ts +2 -0
  26. package/dist/Components/Avatar/AvatarProps.d.ts +2 -2
  27. package/dist/Components/Avatar/avatarColorway.d.ts +1 -0
  28. package/dist/Components/BagBar/BagBarProps.d.ts +8 -0
  29. package/dist/Components/BulkSelectionBar/BulkSelectionBar.d.ts +1 -0
  30. package/dist/Components/BulkSelectionBar/BulkSelectionBar.js +1 -0
  31. package/dist/Components/BulkSelectionBar/BulkSelectionBarProps.d.ts +6 -0
  32. package/dist/Components/Button/Button.js +1 -0
  33. package/dist/Components/Button/ButtonProps.d.ts +3 -0
  34. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts +1 -0
  35. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +1 -0
  36. package/dist/Components/ButtonGroupIcon/ButtonGroupIconProps.d.ts +19 -0
  37. package/dist/Components/CalendarGrid/CalendarGrid.d.ts +1 -0
  38. package/dist/Components/CalendarGrid/CalendarGrid.js +1 -0
  39. package/dist/Components/CalendarGrid/CalendarGridProps.d.ts +11 -0
  40. package/dist/Components/CalendarGrid/calendarMath.d.ts +13 -0
  41. package/dist/Components/Card/CardProps.d.ts +4 -0
  42. package/dist/Components/Card/PaymentCard/PaymentCard.d.ts +1 -0
  43. package/dist/Components/Card/PaymentCard/PaymentCard.js +1 -0
  44. package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +19 -0
  45. package/dist/Components/CartItem/CartItemProps.d.ts +10 -0
  46. package/dist/Components/Checkbox/CheckboxProps.d.ts +1 -0
  47. package/dist/Components/ChoiceCard/ChoiceCard.d.ts +1 -0
  48. package/dist/Components/ChoiceCard/ChoiceCard.js +1 -0
  49. package/dist/Components/ChoiceCard/ChoiceCardGroup.d.ts +1 -0
  50. package/dist/Components/ChoiceCard/ChoiceCardGroup.js +1 -0
  51. package/dist/Components/ChoiceCard/ChoiceCardProps.d.ts +3 -0
  52. package/dist/Components/ConfirmDialog/ConfirmDialog.d.ts +1 -0
  53. package/dist/Components/ConfirmDialog/ConfirmDialog.js +1 -0
  54. package/dist/Components/ConfirmDialog/ConfirmDialogProps.d.ts +5 -0
  55. package/dist/Components/ContactForm/ContactFormProps.d.ts +13 -0
  56. package/dist/Components/CouponField/CouponFieldProps.d.ts +16 -0
  57. package/dist/Components/CustomModulesTable/CustomModulesTable.d.ts +1 -0
  58. package/dist/Components/CustomModulesTable/CustomModulesTable.js +1 -0
  59. package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +17 -0
  60. package/dist/Components/CustomModulesTable/DeleteModuleModal.d.ts +1 -0
  61. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +1 -0
  62. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts +1 -0
  63. package/dist/Components/CustomModulesTable/EditModuleModal.js +1 -0
  64. package/dist/Components/DatePicker/DatePickerProps.d.ts +7 -1
  65. package/dist/Components/DetailSections/DetailSectionsProps.d.ts +22 -0
  66. package/dist/Components/Drawer/DrawerProps.d.ts +1 -1
  67. package/dist/Components/Dropdown/DropdownProps.d.ts +1 -0
  68. package/dist/Components/Editor/EditorProps.d.ts +33 -0
  69. package/dist/Components/Editor/editorTokens.d.ts +3 -0
  70. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +8 -0
  71. package/dist/Components/FilePreview/FilePreviewProps.d.ts +4 -0
  72. package/dist/Components/FileUploader/FileUploaderProps.d.ts +1 -0
  73. package/dist/Components/FilterBar/FilterBarProps.d.ts +2 -0
  74. package/dist/Components/FormDrawer/FormDrawer.d.ts +1 -0
  75. package/dist/Components/FormDrawer/FormDrawer.js +1 -0
  76. package/dist/Components/FormDrawer/FormDrawerProps.d.ts +3 -0
  77. package/dist/Components/FormField/FormField.d.ts +1 -0
  78. package/dist/Components/FormField/FormField.js +1 -0
  79. package/dist/Components/FormField/FormFieldProps.d.ts +4 -0
  80. package/dist/Components/Header/Header.d.ts +1 -0
  81. package/dist/Components/Header/Header.js +1 -0
  82. package/dist/Components/Header/HeaderActions.d.ts +16 -0
  83. package/dist/Components/Header/HeaderActions.js +1 -0
  84. package/dist/Components/Header/HeaderProps.d.ts +22 -0
  85. package/dist/Components/Header/components/desktopMenu.d.ts +1 -0
  86. package/dist/Components/Header/components/desktopMenu.js +1 -0
  87. package/dist/Components/Header/components/mobileMenu.d.ts +1 -0
  88. package/dist/Components/Header/components/mobileMenu.js +1 -0
  89. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.d.ts +1 -1
  90. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +1 -1
  91. package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +11 -0
  92. package/dist/Components/Kbd/Kbd.d.ts +1 -0
  93. package/dist/Components/Kbd/Kbd.js +1 -0
  94. package/dist/Components/Kbd/KbdProps.d.ts +4 -0
  95. package/dist/Components/LauncherTrigger/LauncherTrigger.d.ts +1 -0
  96. package/dist/Components/LauncherTrigger/LauncherTrigger.js +1 -0
  97. package/dist/Components/LauncherTrigger/LauncherTriggerProps.d.ts +1 -0
  98. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts +1 -0
  99. package/dist/Components/LimitReachedModal/LimitReachedModal.js +1 -0
  100. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +7 -0
  101. package/dist/Components/Loading/LoadingProps.d.ts +2 -0
  102. package/dist/Components/MediaGallery/MediaGalleryProps.d.ts +7 -1
  103. package/dist/Components/MediaGallery/MediaLightboxProps.d.ts +5 -0
  104. package/dist/Components/MediaViewer/components/MediaAudioPlayer.d.ts +1 -0
  105. package/dist/Components/MediaViewer/components/MediaAudioPlayer.js +1 -0
  106. package/dist/Components/MediaViewer/components/MediaDocumentStage.d.ts +1 -0
  107. package/dist/Components/MediaViewer/components/MediaDocumentStage.js +1 -0
  108. package/dist/Components/MediaViewer/components/MediaImageViewer.d.ts +1 -0
  109. package/dist/Components/MediaViewer/components/MediaImageViewer.js +1 -0
  110. package/dist/Components/MediaViewer/components/MediaVideoPlayer.d.ts +1 -0
  111. package/dist/Components/MediaViewer/components/MediaVideoPlayer.js +1 -0
  112. package/dist/Components/MediaViewer/components/MediaVideoPlayerProps.d.ts +1 -0
  113. package/dist/Components/MediaViewer/hooks/useFileViewer.d.ts +1 -0
  114. package/dist/Components/MediaViewer/mediaItems.d.ts +25 -0
  115. package/dist/Components/MediaViewer/mediaItems.js +5 -0
  116. package/dist/Components/Modal/Modal.d.ts +3 -0
  117. package/dist/Components/Modal/Modal.js +3 -0
  118. package/dist/Components/Modal/ModalProps.d.ts +6 -1
  119. package/dist/Components/MoreItems/MoreItemsProps.d.ts +2 -0
  120. package/dist/Components/MultiSelect/MultiSelect.d.ts +1 -0
  121. package/dist/Components/MultiSelect/MultiSelect.js +1 -0
  122. package/dist/Components/MultiSelect/MultiSelectProps.d.ts +13 -0
  123. package/dist/Components/NavLauncher/NavLauncherProps.d.ts +58 -0
  124. package/dist/Components/NavLauncher/engine/engine.d.ts +19 -0
  125. package/dist/Components/NavLauncher/match.d.ts +34 -0
  126. package/dist/Components/NavigationBar/NavigationBar.d.ts +1 -0
  127. package/dist/Components/NavigationBar/NavigationBar.js +1 -0
  128. package/dist/Components/NavigationBar/NavigationBarProps.d.ts +15 -0
  129. package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +2 -1
  130. package/dist/Components/NotificationBell/NotificationBellProps.d.ts +27 -0
  131. package/dist/Components/NotificationBell/notificationHelpers.d.ts +13 -0
  132. package/dist/Components/NumberInput/NumberInputProps.d.ts +1 -1
  133. package/dist/Components/OffersList/OffersListProps.d.ts +12 -1
  134. package/dist/Components/OptionChip/OptionChipProps.d.ts +5 -0
  135. package/dist/Components/OrderStatusTimeline/OrderStatusTimelineProps.d.ts +10 -0
  136. package/dist/Components/OrderSummary/OrderSummaryProps.d.ts +10 -0
  137. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts +1 -0
  138. package/dist/Components/OrgSwitcher/OrgSwitcher.js +11 -3
  139. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +1 -0
  140. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +52 -0
  141. package/dist/Components/PageHeader/PageHeaderProps.d.ts +1 -0
  142. package/dist/Components/Pagination/PaginationProps.d.ts +4 -0
  143. package/dist/Components/PaymentOption/PaymentOptionProps.d.ts +9 -0
  144. package/dist/Components/PincodeChecker/PincodeCheckerProps.d.ts +13 -0
  145. package/dist/Components/PlanPill/PlanPill.d.ts +1 -0
  146. package/dist/Components/PlanPill/PlanPill.js +1 -0
  147. package/dist/Components/PlanPill/PlanPillProps.d.ts +1 -0
  148. package/dist/Components/PriceBlock/PriceBlockProps.d.ts +6 -0
  149. package/dist/Components/ProductBadges/ProductBadgesProps.d.ts +3 -0
  150. package/dist/Components/ProductCard/ProductCardProps.d.ts +10 -0
  151. package/dist/Components/ProductCard/QuickAddSheetProps.d.ts +8 -0
  152. package/dist/Components/ProductDetails/ProductDetailsProps.d.ts +25 -1
  153. package/dist/Components/ProfileCard/ProfileCardProps.d.ts +1 -1
  154. package/dist/Components/QuantityStepper/QuantityStepperProps.d.ts +9 -0
  155. package/dist/Components/QueryState/QueryStateProps.d.ts +2 -0
  156. package/dist/Components/RadioButton/RadioButtonProps.d.ts +1 -1
  157. package/dist/Components/Rating/RatingProps.d.ts +2 -0
  158. package/dist/Components/Reorder/ReorderProps.d.ts +6 -0
  159. package/dist/Components/ReviewList/ReviewListProps.d.ts +21 -0
  160. package/dist/Components/ReviewSummary/ReviewSummaryProps.d.ts +8 -1
  161. package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +59 -1
  162. package/dist/Components/SearchSelect/SearchSelect.js +17 -5
  163. package/dist/Components/SearchSelect/SearchSelectProps.d.ts +12 -0
  164. package/dist/Components/SectionRail/SectionRail.d.ts +1 -0
  165. package/dist/Components/SectionRail/SectionRail.js +1 -0
  166. package/dist/Components/SectionRail/SectionRailProps.d.ts +4 -0
  167. package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +4 -0
  168. package/dist/Components/Select/Select.styles.js +25 -0
  169. package/dist/Components/Select/SelectNative.d.ts +10 -0
  170. package/dist/Components/Select/SelectNative.js +11 -4
  171. package/dist/Components/Select/SelectPopup.js +45 -14
  172. package/dist/Components/Select/SelectProps.d.ts +46 -2
  173. package/dist/Components/Select/selectKeyboardRing.d.ts +2 -0
  174. package/dist/Components/Select/selectKeyboardRing.js +7 -0
  175. package/dist/Components/Select/selectRowInk.d.ts +14 -0
  176. package/dist/Components/Select/selectRowInk.js +41 -0
  177. package/dist/Components/SelectSearch/SelectSearch.js +8 -2
  178. package/dist/Components/SelectSearch/SelectSearchProps.d.ts +9 -0
  179. package/dist/Components/SelectV2/SelectV2Props.d.ts +7 -0
  180. package/dist/Components/SideBar/SecondaryBar.d.ts +1 -0
  181. package/dist/Components/SideBar/SecondaryBar.js +1 -0
  182. package/dist/Components/SideBar/SideBar.d.ts +1 -0
  183. package/dist/Components/SideBar/SideBar.js +1 -0
  184. package/dist/Components/SideBar/SideBarProps.d.ts +32 -0
  185. package/dist/Components/SideBar/sidebarAccentColors.d.ts +2 -0
  186. package/dist/Components/SignInActivityTable/SignInActivityTable.d.ts +1 -0
  187. package/dist/Components/SignInActivityTable/SignInActivityTable.js +1 -0
  188. package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +2 -0
  189. package/dist/Components/SpecTable/SpecTableProps.d.ts +9 -0
  190. package/dist/Components/StageProgress/StageProgressProps.d.ts +2 -0
  191. package/dist/Components/StageProgress/StepperStage.d.ts +1 -0
  192. package/dist/Components/StageProgress/StepperStage.js +1 -0
  193. package/dist/Components/StatCard/StatCardProps.d.ts +1 -0
  194. package/dist/Components/StatusTag/StatusTagProps.d.ts +4 -0
  195. package/dist/Components/StickyBuyBar/StickyBuyBar.d.ts +1 -0
  196. package/dist/Components/StickyBuyBar/StickyBuyBar.js +1 -0
  197. package/dist/Components/StickyBuyBar/StickyBuyBarProps.d.ts +6 -0
  198. package/dist/Components/StockStatus/StockStatusProps.d.ts +2 -0
  199. package/dist/Components/Switch/SwitchProps.d.ts +4 -0
  200. package/dist/Components/Table/TableProps.d.ts +19 -0
  201. package/dist/Components/Table/variants/tokens.d.ts +4 -0
  202. package/dist/Components/Tabs/TabsContext.d.ts +14 -0
  203. package/dist/Components/Tabs/TabsProps.d.ts +18 -0
  204. package/dist/Components/Tabs/components/CountBadge.d.ts +4 -0
  205. package/dist/Components/Tabs/components/TabPanels.d.ts +1 -0
  206. package/dist/Components/Tabs/components/TabPanels.js +1 -0
  207. package/dist/Components/Tabs/tabStyles.d.ts +4 -0
  208. package/dist/Components/Tag/TagProps.d.ts +3 -0
  209. package/dist/Components/TagInput/TagInput.d.ts +1 -0
  210. package/dist/Components/TagInput/TagInput.js +1 -0
  211. package/dist/Components/TagInput/TagInputProps.d.ts +2 -0
  212. package/dist/Components/TimePicker/TimePicker.d.ts +1 -0
  213. package/dist/Components/TimePicker/TimePicker.js +1 -0
  214. package/dist/Components/TimePicker/TimePickerProps.d.ts +2 -0
  215. package/dist/Components/Timeline/TimelineProps.d.ts +7 -1
  216. package/dist/Components/Toggle/TableToggleProps.d.ts +2 -0
  217. package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +2 -0
  218. package/dist/Components/ToolTip/OverflowToolTip.d.ts +1 -0
  219. package/dist/Components/ToolTip/OverflowToolTip.js +1 -1
  220. package/dist/Components/ToolTip/ToolTipProps.d.ts +1 -0
  221. package/dist/Components/TrustBadges/TrustBadgesProps.d.ts +4 -0
  222. package/dist/Components/UpgradeButton/UpgradeButton.d.ts +1 -0
  223. package/dist/Components/UpgradeButton/UpgradeButton.js +1 -0
  224. package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +4 -1
  225. package/dist/Components/UserDetails/UserDetailsProps.d.ts +58 -0
  226. package/dist/Components/VariantSelector/VariantSelectorProps.d.ts +4 -0
  227. package/dist/Components/WishlistToggle/WishlistToggleProps.d.ts +4 -0
  228. package/dist/Components/WizardDialog/WizardDialogProps.d.ts +15 -0
  229. package/dist/Components/WizardDialog/wizardSteps.d.ts +17 -5
  230. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts +1 -0
  231. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +1 -1
  232. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +2 -0
  233. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +2 -1
  234. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +13 -0
  235. package/dist/Theme/tokens/brands/index.d.ts +1 -1
  236. package/dist/Theme/tokens/brands/index.js +1 -1
  237. package/dist/Theme/tokens/builders/rowStates.d.ts +6 -0
  238. package/dist/Theme/tokens/builders/rowStates.js +14 -1
  239. package/dist/Theme/tokens/builders/scrollShadow.d.ts +1 -0
  240. package/dist/Theme/tokens/builders/scrollShadow.js +16 -0
  241. package/dist/esm/Components/AppSwitcher/AppSwitcher.js +1 -0
  242. package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +1 -0
  243. package/dist/esm/Components/AudioRecorder/AudioRecorder.js +1 -0
  244. package/dist/esm/Components/Avatar/AvatarGroup.js +1 -0
  245. package/dist/esm/Components/BulkSelectionBar/BulkSelectionBar.js +1 -0
  246. package/dist/esm/Components/Button/Button.js +1 -0
  247. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +1 -0
  248. package/dist/esm/Components/CalendarGrid/CalendarGrid.js +1 -0
  249. package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +1 -0
  250. package/dist/esm/Components/ChoiceCard/ChoiceCard.js +1 -0
  251. package/dist/esm/Components/ChoiceCard/ChoiceCardGroup.js +1 -0
  252. package/dist/esm/Components/ConfirmDialog/ConfirmDialog.js +1 -0
  253. package/dist/esm/Components/CustomModulesTable/CustomModulesTable.js +1 -0
  254. package/dist/esm/Components/CustomModulesTable/DeleteModuleModal.js +1 -0
  255. package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +1 -0
  256. package/dist/esm/Components/FormDrawer/FormDrawer.js +1 -0
  257. package/dist/esm/Components/FormField/FormField.js +1 -0
  258. package/dist/esm/Components/Header/Header.js +1 -0
  259. package/dist/esm/Components/Header/HeaderActions.js +1 -0
  260. package/dist/esm/Components/Header/components/desktopMenu.js +1 -0
  261. package/dist/esm/Components/Header/components/mobileMenu.js +1 -0
  262. package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +1 -1
  263. package/dist/esm/Components/Kbd/Kbd.js +1 -0
  264. package/dist/esm/Components/LauncherTrigger/LauncherTrigger.js +1 -0
  265. package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +1 -0
  266. package/dist/esm/Components/MediaViewer/components/MediaAudioPlayer.js +1 -0
  267. package/dist/esm/Components/MediaViewer/components/MediaDocumentStage.js +1 -0
  268. package/dist/esm/Components/MediaViewer/components/MediaImageViewer.js +1 -0
  269. package/dist/esm/Components/MediaViewer/components/MediaVideoPlayer.js +1 -0
  270. package/dist/esm/Components/MediaViewer/mediaItems.js +5 -0
  271. package/dist/esm/Components/Modal/Modal.js +3 -0
  272. package/dist/esm/Components/MultiSelect/MultiSelect.js +1 -0
  273. package/dist/esm/Components/NavigationBar/NavigationBar.js +1 -0
  274. package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +13 -5
  275. package/dist/esm/Components/PlanPill/PlanPill.js +1 -0
  276. package/dist/esm/Components/SearchSelect/SearchSelect.js +19 -7
  277. package/dist/esm/Components/SectionRail/SectionRail.js +1 -0
  278. package/dist/esm/Components/Select/Select.styles.js +26 -1
  279. package/dist/esm/Components/Select/SelectNative.js +12 -5
  280. package/dist/esm/Components/Select/SelectPopup.js +47 -16
  281. package/dist/esm/Components/Select/selectKeyboardRing.js +3 -0
  282. package/dist/esm/Components/Select/selectRowInk.js +33 -0
  283. package/dist/esm/Components/SelectSearch/SelectSearch.js +10 -4
  284. package/dist/esm/Components/SideBar/SecondaryBar.js +1 -0
  285. package/dist/esm/Components/SideBar/SideBar.js +1 -0
  286. package/dist/esm/Components/SignInActivityTable/SignInActivityTable.js +1 -0
  287. package/dist/esm/Components/StageProgress/StepperStage.js +1 -0
  288. package/dist/esm/Components/StickyBuyBar/StickyBuyBar.js +1 -0
  289. package/dist/esm/Components/Tabs/components/TabPanels.js +1 -0
  290. package/dist/esm/Components/TagInput/TagInput.js +1 -0
  291. package/dist/esm/Components/TimePicker/TimePicker.js +1 -0
  292. package/dist/esm/Components/ToolTip/OverflowToolTip.js +1 -1
  293. package/dist/esm/Components/UpgradeButton/UpgradeButton.js +1 -0
  294. package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +1 -1
  295. package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +2 -1
  296. package/dist/esm/Theme/tokens/brands/index.js +1 -1
  297. package/dist/esm/Theme/tokens/builders/rowStates.js +13 -1
  298. package/dist/esm/Theme/tokens/builders/scrollShadow.js +15 -0
  299. package/package.json +1 -1
@@ -1,27 +1,43 @@
1
1
  import { OptionProp } from "../Select/SelectProps";
2
+ /** Row of optional header controls (select, edit, create) separated by dividers; each renders only when its flag is set. */
2
3
  declare const HeaderActions: ({ select, edit, create, surface, }: {
3
4
  /** Background this is drawn on. Header's bar is dark in BOTH modes — pass it there. */
4
5
  surface?: string;
6
+ /** Optional select shown at the start of the row. */
5
7
  select?: {
8
+ /** Renders the select only when true. */
6
9
  isSelect?: boolean;
10
+ /** Options of the select; empty when omitted. */
7
11
  options?: OptionProp[];
12
+ /** Called with the chosen option. */
8
13
  onSelectChange?: (option?: OptionProp) => void;
14
+ /** Placeholder of the select; also its accessible name when `ariaLabel` is not set. */
9
15
  selectPlaceholderText?: string;
10
16
  /** Accessible name for the select; defaults to the placeholder text. */
11
17
  ariaLabel?: string;
12
18
  /** False renders the themed popup, which looks identical on Windows and macOS; a native select's list is OS-drawn. */
13
19
  native?: boolean;
20
+ /** CSS width of the select wrapper; defaults to "12.5rem". */
14
21
  width?: string;
22
+ /** Value of the selected option. */
15
23
  value?: string;
16
24
  };
25
+ /** Optional text button with a pencil icon. */
17
26
  edit?: {
27
+ /** Renders the button only when true. */
18
28
  isEditable?: boolean;
29
+ /** Called when the button is pressed. */
19
30
  onEdit?: () => void;
31
+ /** Button text; defaults to "Edit Layout". */
20
32
  label?: string;
21
33
  };
34
+ /** Optional text button with a plus icon. */
22
35
  create?: {
36
+ /** Renders the button only when true. */
23
37
  isCreatable?: boolean;
38
+ /** Called when the button is pressed. */
24
39
  onCreate?: () => void;
40
+ /** Button text; defaults to "Create New". */
25
41
  label?: string;
26
42
  };
27
43
  }) => import("react/jsx-runtime").JSX.Element;
@@ -13,6 +13,7 @@ const outlineRung_1 = require("../../Theme/tokens/builders/outlineRung");
13
13
  const Select_1 = __importDefault(require("../Select/Select"));
14
14
  const Divider_1 = __importDefault(require("../Divider/Divider"));
15
15
  const surfaceFocusRing_1 = require("../Common/surfaceFocusRing");
16
+ /** Row of optional header controls (select, edit, create) separated by dividers; each renders only when its flag is set. */
16
17
  const HeaderActions = ({ select, edit, create, surface, }) => {
17
18
  var _a, _b, _c;
18
19
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
@@ -1,23 +1,29 @@
1
1
  /** Horizontal top bar with page-link nav + submenus — for a user-avatar dropdown bar instead, use NavigationBar. */
2
2
  type SubItem = {
3
+ /** Dropdown entry text; also its React key, so keep it unique within the parent. */
3
4
  label: string;
4
5
  /** Only compared with Header's `active` to highlight — never navigates; route in `onClick`. */
5
6
  href: string;
6
7
  /** Small badge above the label; colorScheme defaults to "blue". */
7
8
  badge?: {
9
+ /** Badge text. */
8
10
  label: string;
11
+ /** Chakra colour scheme of the badge; the tint is resolved against the bar background. */
9
12
  colorScheme?: "blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | undefined;
10
13
  };
11
14
  /** Also closes the mobile menu when tapped there. */
12
15
  onClick?: () => void;
13
16
  };
14
17
  type MenuItemProp = {
18
+ /** Top-level entry text; also its React key and what the hover dropdown is keyed on, so keep it unique. */
15
19
  label: string;
16
20
  /** Only compared with Header's `active` to highlight — never navigates; route in `onClick`. */
17
21
  href?: string;
18
22
  /** Small badge above the label; colorScheme defaults to "blue". */
19
23
  badge?: {
24
+ /** Badge text. */
20
25
  label: string;
26
+ /** Chakra colour scheme of the badge; the tint is resolved against the bar background. */
21
27
  colorScheme?: "blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | undefined;
22
28
  };
23
29
  /** Also closes the mobile menu; with `children`, fires on desktop only — mobile tap just toggles. */
@@ -27,7 +33,9 @@ type MenuItemProp = {
27
33
  };
28
34
  /** Props for Header, the horizontal top bar; use NavigationBar for a user-avatar dropdown instead. */
29
35
  export type HeaderProps = {
36
+ /** Brand mark at the left of the bar; any click handling is yours to attach. */
30
37
  logo: React.ReactNode;
38
+ /** Top-level entries in order; an entry with `children` becomes a dropdown (desktop) or accordion (mobile). */
31
39
  menuItems: MenuItemProp[];
32
40
  /** Mounted once, in the bar; a valid element also receives a `closeMobileMenu` prop. */
33
41
  rightSlot?: React.ReactNode;
@@ -35,10 +43,15 @@ export type HeaderProps = {
35
43
  active?: string;
36
44
  /** Overrides the sidebar-token defaults; `active` is the underline/highlight colour, not text. */
37
45
  colors?: {
46
+ /** Bar background. */
38
47
  bg: string;
48
+ /** Default text and icon colour. */
39
49
  color: string;
50
+ /** Underline on the active top-level item and fill behind the active sub-item. */
40
51
  active: string;
52
+ /** Background of an item under the pointer. */
41
53
  hover: string;
54
+ /** Text colour of an item under the pointer; defaults to white. */
42
55
  hoverTextColor?: string;
43
56
  };
44
57
  /** Overrides the default "md" shadow. */
@@ -48,19 +61,28 @@ export type HeaderProps = {
48
61
  };
49
62
  /** Internal props for Header's desktop nav row; not meant for consumers. */
50
63
  export type DesktopMenuProps = Pick<HeaderProps, "menuItems" | "rightSlot"> & {
64
+ /** Called with the hovered item's label, or null on pointer leave; only items with children trigger it. */
51
65
  setHoveredMenu: (menu: string | null) => void;
66
+ /** True when an `href` matches Header's `active`. */
52
67
  isActive: (href?: string) => boolean | "" | undefined;
68
+ /** Underline or fill colour of the active item. */
53
69
  activeBg: string;
70
+ /** Label of the item whose dropdown is open, or null. */
54
71
  hoveredMenu: string | null;
72
+ /** Background of an item under the pointer. */
55
73
  hoverBg: string;
74
+ /** Default text colour. */
56
75
  color: string;
76
+ /** Text colour of an item under the pointer. */
57
77
  hoverTextColor?: string;
58
78
  /** The bar's own background — badges resolve their tint against this, never the light canvas default. */
59
79
  surface: string;
60
80
  };
61
81
  /** Internal props for Header's collapsible mobile menu panel; not meant for consumers. */
62
82
  export type MobileMenuProps = Pick<HeaderProps, 'menuItems'> & Pick<DesktopMenuProps, 'isActive' | 'activeBg' | 'color' | 'hoverBg' | 'surface'> & {
83
+ /** Expands the panel; collapsing it also closes any open submenu. */
63
84
  isOpen: boolean;
85
+ /** Called after a leaf item is tapped, so the host can collapse the panel. */
64
86
  onClose?: () => void;
65
87
  };
66
88
  export {};
@@ -1,3 +1,4 @@
1
1
  import { DesktopMenuProps } from "../HeaderProps";
2
+ /** Desktop nav row of Header: ghost buttons with hover dropdowns for items that have children. */
2
3
  declare const DesktopMenu: ({ menuItems, rightSlot, setHoveredMenu, isActive, activeBg, hoveredMenu, hoverBg, color, hoverTextColor, surface, }: DesktopMenuProps) => import("react/jsx-runtime").JSX.Element;
3
4
  export default DesktopMenu;
@@ -7,6 +7,7 @@ const useCustomTheme_1 = require("../../../Theme/useCustomTheme");
7
7
  const accentText_1 = require("../../../Theme/tokens/builders/accentText");
8
8
  const tone_1 = require("../../../Theme/tokens/builders/tone");
9
9
  const paletteFromTheme_1 = require("../../../Theme/chakra/paletteFromTheme");
10
+ /** Desktop nav row of Header: ghost buttons with hover dropdowns for items that have children. */
10
11
  const DesktopMenu = ({ menuItems, rightSlot, setHoveredMenu, isActive, activeBg, hoveredMenu, hoverBg, color, hoverTextColor, surface, }) => {
11
12
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
12
13
  const badgeTone = (scheme) => (0, tone_1.resolveSoftTone)(colors, (0, paletteFromTheme_1.scaleFor)(colors, scheme !== null && scheme !== void 0 ? scheme : "blue"), surface);
@@ -1,3 +1,4 @@
1
1
  import { MobileMenuProps } from "../HeaderProps";
2
+ /** Collapsible mobile nav panel of Header; items with children toggle an inline submenu. */
2
3
  declare const MobileMenu: ({ menuItems, isOpen, isActive, hoverBg, activeBg, color, surface, onClose, }: MobileMenuProps) => import("react/jsx-runtime").JSX.Element;
3
4
  export default MobileMenu;
@@ -11,6 +11,7 @@ const useCustomTheme_1 = require("../../../Theme/useCustomTheme");
11
11
  const accentText_1 = require("../../../Theme/tokens/builders/accentText");
12
12
  const tone_1 = require("../../../Theme/tokens/builders/tone");
13
13
  const paletteFromTheme_1 = require("../../../Theme/chakra/paletteFromTheme");
14
+ /** Collapsible mobile nav panel of Header; items with children toggle an inline submenu. */
14
15
  const MobileMenu = ({ menuItems, isOpen, isActive, hoverBg, activeBg, color, surface, onClose, }) => {
15
16
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
16
17
  const badgeTone = (scheme) => (0, tone_1.resolveSoftTone)(colors, (0, paletteFromTheme_1.scaleFor)(colors, scheme !== null && scheme !== void 0 ? scheme : "blue"), surface);
@@ -1,5 +1,5 @@
1
1
  import { OptionProp } from "../../Select/SelectProps";
2
- /** Standalone filter+Edit+Create action bar; NOT rendered by KanbanBoard (which uses HeaderActions instead) and not exported from the package. */
2
+ /** Standalone filter+Edit+Create bar, exported from the package; KanbanBoard itself uses HeaderActions. */
3
3
  declare const KanbanActions: ({ options, onSelectChange, onEdit, onCreate, }: {
4
4
  options: OptionProp[];
5
5
  onSelectChange?: (option?: OptionProp) => void;
@@ -10,7 +10,7 @@ const lucide_react_1 = require("lucide-react");
10
10
  const Divider_1 = __importDefault(require("../../Divider/Divider"));
11
11
  const useCustomTheme_1 = require("../../../Theme/useCustomTheme");
12
12
  const Button_1 = __importDefault(require("../../Button/Button"));
13
- /** Standalone filter+Edit+Create action bar; NOT rendered by KanbanBoard (which uses HeaderActions instead) and not exported from the package. */
13
+ /** Standalone filter+Edit+Create bar, exported from the package; KanbanBoard itself uses HeaderActions. */
14
14
  const KanbanActions = ({ options, onSelectChange, onEdit, onCreate, }) => {
15
15
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
16
16
  return ((0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.625rem", children: [(0, jsx_runtime_1.jsx)(Select_1.default, { native: false, options: options, placeholder: "Filter by Status", width: "12.5rem", onChange: (option) => onSelectChange && onSelectChange(option) }), (0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: "0.5rem", children: [(0, jsx_runtime_1.jsx)(Button_1.default, { size: "sm", variant: "ghost", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.SquarePen, { size: 20, color: colors.text[500] }), onClick: () => onEdit === null || onEdit === void 0 ? void 0 : onEdit(), children: "Edit Layout" }), (0, jsx_runtime_1.jsx)(Divider_1.default, {}), (0, jsx_runtime_1.jsx)(Button_1.default, { size: "sm", variant: "solid", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.CirclePlus, { size: 20 }), onClick: () => onCreate === null || onCreate === void 0 ? void 0 : onCreate(), children: "Create New" })] })] }));
@@ -18,16 +18,20 @@ export type Account = {
18
18
  };
19
19
  /** One Kanban column: id, title, accent color, and its `Account` items. */
20
20
  export type ColumnType = {
21
+ /** Not read by the board; the key in the `data` record is the column's identity for drag and callbacks. */
21
22
  id: string;
23
+ /** Column header text; also used in the reorder-handle and delete-all aria-labels. */
22
24
  title: string;
23
25
  /** Falls back to `colors.primary[500]` when omitted — used for the accent dot/border. */
24
26
  color: string;
27
+ /** Cards in display order; a drag reorders them in the board's internal state. */
25
28
  items: Account[];
26
29
  /** Column-level slot (e.g. totals); shown below the title expanded, and rotated in the collapsed rail. */
27
30
  customNode?: () => ReactNode;
28
31
  };
29
32
  /** Fired after a column rail is collapsed or expanded via the board UI. */
30
33
  export type ColumnCollapseChangePayload = {
34
+ /** Key of the toggled column in the `data` record. */
31
35
  colId: string;
32
36
  /** True when the column is in the narrow collapsed rail. */
33
37
  collapsed: boolean;
@@ -36,11 +40,17 @@ export type ColumnCollapseChangePayload = {
36
40
  };
37
41
  /** Payload of `onDrag` — the moved card, its source/target column ids and indexes, and the next column map. */
38
42
  export type KanbanDragPayload = {
43
+ /** Source column id (its key in the `data` record). */
39
44
  from: string;
45
+ /** Destination column id; equals `from` when reordered within one column. */
40
46
  to: string;
47
+ /** The dragged card. */
41
48
  item: Account;
49
+ /** Next column map with the move already applied, keyed by column id. */
42
50
  columns: Record<string, ColumnType>;
51
+ /** Zero-based index of the card in the source column before the move. */
43
52
  fromIndex: number;
53
+ /** Zero-based index of the card in the destination column after the move. */
44
54
  toIndex: number;
45
55
  };
46
56
  /** Board permission gates; every flag defaults to true when omitted. */
@@ -109,6 +119,7 @@ export type KanbanBoardProps = {
109
119
  };
110
120
  /** Renders cards via a virtualized react-window list; omitted, it auto-enables above 30 cards in that column — true/false always overrides. */
111
121
  virtualization?: boolean;
122
+ /** Gates edit, create, delete and view actions; each flag defaults to true when omitted. */
112
123
  permissions?: KanbanPermissions;
113
124
  /** Per-column empty state for columns with no items. */
114
125
  noItems?: {
@@ -2,5 +2,6 @@ import type { KbdProps, KbdShortcutProps } from "./KbdProps";
2
2
  export declare const detectApple: () => boolean;
3
3
  /** One keyboard key cap; decorative hint rows should wrap it in `aria-hidden`. */
4
4
  declare const Kbd: ({ children, size, "data-testid": testId }: KbdProps) => import("react/jsx-runtime").JSX.Element;
5
+ /** Renders a chord such as `mod+k` as one `Kbd` per key, announced as a single spoken label. */
5
6
  export declare const KbdShortcut: ({ shortcut, size, isApple, "data-testid": testId }: KbdShortcutProps) => import("react/jsx-runtime").JSX.Element;
6
7
  export default Kbd;
@@ -22,6 +22,7 @@ const Kbd = ({ children, size = "sm", "data-testid": testId }) => {
22
22
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
23
23
  return ((0, jsx_runtime_1.jsx)(react_1.Box, { as: "kbd", "data-testid": testId, display: "inline-flex", alignItems: "center", justifyContent: "center", minW: HEIGHT[size], h: HEIGHT[size], px: 1.5, fontFamily: "inherit", fontSize: "xs-minus", fontWeight: 600, lineHeight: 1, whiteSpace: "nowrap", borderWidth: "1px", borderColor: colors.boxborder[200], borderRadius: "base", bg: colors.backgroundColor.subtle, color: colors.textMuted, children: children }));
24
24
  };
25
+ /** Renders a chord such as `mod+k` as one `Kbd` per key, announced as a single spoken label. */
25
26
  const KbdShortcut = ({ shortcut, size, isApple, "data-testid": testId }) => {
26
27
  const parts = shortcut.split("+").map((p) => p.trim()).filter(Boolean);
27
28
  const apple = isApple !== null && isApple !== void 0 ? isApple : (0, exports.detectApple)();
@@ -1,17 +1,21 @@
1
1
  import type { ReactNode } from "react";
2
2
  /** Props for a single keyboard key cap. */
3
3
  export interface KbdProps {
4
+ /** Key glyph or word shown on the cap. */
4
5
  children: ReactNode;
5
6
  /** `sm` is 20px tall (default); `xs` is 16px. */
6
7
  size?: "xs" | "sm";
8
+ /** Test id on the `<kbd>` element. */
7
9
  "data-testid"?: string;
8
10
  }
9
11
  /** Props for a key chord such as `mod+k`, rendered as one `Kbd` per key. */
10
12
  export interface KbdShortcutProps {
11
13
  /** Chord in `AppSwitcher` notation, e.g. `mod+shift+k`. */
12
14
  shortcut: string;
15
+ /** Cap size of every key; same scale as `Kbd`. */
13
16
  size?: KbdProps["size"];
14
17
  /** Forces Apple glyphs (⌘ ⇧) or Ctrl/Shift words; defaults to platform detection. */
15
18
  isApple?: boolean;
19
+ /** Test id on the wrapper that carries the spoken chord label. */
16
20
  "data-testid"?: string;
17
21
  }
@@ -1,4 +1,5 @@
1
1
  import type { LauncherTriggerProps } from "./LauncherTriggerProps";
2
2
  export declare const keyShortcutsFor: (shortcut: string) => string;
3
+ /** Chip or icon button that opens an app-owned launcher; shows the shortcut hint but binds no key. */
3
4
  declare const LauncherTrigger: ({ onClick, isOpen, label, shortcut, icon: Icon, display, "aria-label": ariaLabel, "data-testid": testId, }: LauncherTriggerProps) => import("react/jsx-runtime").JSX.Element;
4
5
  export default LauncherTrigger;
@@ -35,6 +35,7 @@ const keyShortcutsFor = (shortcut) => {
35
35
  return Array.from(new Set(chords)).join(" ");
36
36
  };
37
37
  exports.keyShortcutsFor = keyShortcutsFor;
38
+ /** Chip or icon button that opens an app-owned launcher; shows the shortcut hint but binds no key. */
38
39
  const LauncherTrigger = ({ onClick, isOpen, label = "Menu", shortcut = "mod+k", icon: Icon = lucide_react_1.Compass, display = "chip", "aria-label": ariaLabel, "data-testid": testId, }) => {
39
40
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
40
41
  const showHint = (0, useMatchMedia_1.useMatchMedia)(MD_QUERY, true);
@@ -1,6 +1,7 @@
1
1
  import type { ElementType } from "react";
2
2
  /** Props for the chip that opens an app-owned launcher; it renders the trigger only and binds no shortcut. */
3
3
  export interface LauncherTriggerProps {
4
+ /** Fires when the trigger is activated; toggle your launcher's open state here. */
4
5
  onClick: () => void;
5
6
  /** Whether the launcher is open; drives `aria-expanded`. */
6
7
  isOpen: boolean;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { LimitReachedModalProps } from "./LimitReachedModalProps";
3
+ /** Controlled plan-limit modal: kind-specific title and message, optional usage line and feature list, upgrade CTA only for billing managers. */
3
4
  declare const LimitReachedModal: React.FC<LimitReachedModalProps>;
4
5
  export default LimitReachedModal;
@@ -19,6 +19,7 @@ const KIND_ICON = {
19
19
  projects: lucide_react_1.Crown,
20
20
  tickets: lucide_react_1.Crown,
21
21
  };
22
+ /** Controlled plan-limit modal: kind-specific title and message, optional usage line and feature list, upgrade CTA only for billing managers. */
22
23
  const LimitReachedModal = ({ isOpen, onClose, kind, limit = null, used = null, canManageBilling, onUpgrade, title, message, features, }) => {
23
24
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
24
25
  const copy = (0, limitReachedCopy_1.resolveLimitCopy)(kind, canManageBilling);
@@ -2,17 +2,24 @@
2
2
  export type LimitKind = "record" | "automation" | "custom_modules" | "user" | "projects" | "tickets";
3
3
  /** Fully controlled (isOpen/onClose only, no internal useDisclosure/autoOpen); closed prop list — modal size is fixed at "lg", not configurable. */
4
4
  export interface LimitReachedModalProps {
5
+ /** Controlled visibility; the modal renders nothing while false. */
5
6
  isOpen: boolean;
7
+ /** Called by the X button, Esc, overlay click and the Maybe later or Close button. */
6
8
  onClose: () => void;
9
+ /** Picks the icon, default title and default message; `user` gets a users icon, the rest a crown. */
7
10
  kind: LimitKind;
8
11
  /** Inline usage line needs BOTH limit and used — either alone silently renders nothing. */
9
12
  limit?: number | null;
13
+ /** Amount already consumed; shown with `limit` as "X of Y <unit> used". */
10
14
  used?: number | null;
11
15
  /** false hides the upgrade CTA and swaps in "contact your administrator" copy. */
12
16
  canManageBilling: boolean;
13
17
  /** Clicking the CTA calls only this — it does not also call onClose. Close the modal yourself if upgrading should dismiss it. */
14
18
  onUpgrade?: () => void;
19
+ /** Overrides the kind's default heading. */
15
20
  title?: string;
21
+ /** Overrides the default body text, which also differs by `canManageBilling`. */
16
22
  message?: string;
23
+ /** Optional check-marked bullets listed under the message, e.g. what the next plan unlocks. */
17
24
  features?: string[];
18
25
  }
@@ -1,6 +1,8 @@
1
1
  /** Props for Loading, a full-viewport (or container-scoped) blocking overlay gated on `isLoading`. */
2
2
  export type LoadingProps = {
3
+ /** Label under the spinner; without it the spinner is named "Loading". With `onlytext` it is the heading. */
3
4
  text?: string;
5
+ /** Shows the overlay; renders nothing when false. */
4
6
  isLoading: boolean;
5
7
  /** Swaps the spinner+label for a large pulsing 50px uppercase heading — a different treatment, not just "no spinner". */
6
8
  onlytext?: boolean;
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { ProductMedia } from "../Commerce/commerceTypes";
3
3
  import type { MediaLightboxLabels } from "./MediaLightboxProps";
4
- /** `auto` picks `thumbs-left` from 768px up and `swipe` below it. */
4
+ /** `auto` picks `thumbs-left` when the gallery is at least 560px wide (viewport 768px until measured) and `swipe` below that. */
5
5
  export type MediaGalleryLayout = "auto" | "thumbs-left" | "thumbs-below" | "swipe";
6
6
  /** `lightbox` opens the full-screen viewer, `inner` zooms in place, `none` is inert. */
7
7
  export type MediaGalleryZoom = "lightbox" | "inner" | "none";
@@ -17,7 +17,9 @@ export interface MediaGalleryLabels {
17
17
  image: (position: number, total: number) => string;
18
18
  /** Accessible name of a thumbnail or dot; `alt` is the frame's own description when it has one. */
19
19
  frame: (position: number, total: number, alt?: string) => string;
20
+ /** Accessible name of the previous-frame arrow. */
20
21
  previous: string;
22
+ /** Accessible name of the next-frame arrow. */
21
23
  next: string;
22
24
  /** Accessible name of the dots group. */
23
25
  dots: string;
@@ -31,8 +33,11 @@ export interface MediaGalleryLabels {
31
33
  openLightbox: (position: number, total: number) => string;
32
34
  /** Name of the button that toggles in-place zoom on an image. */
33
35
  zoomImage: (position: number, total: number) => string;
36
+ /** Accessible name of the play button over a video frame. */
34
37
  playVideo: string;
38
+ /** Shown in place of an image that fails to load. */
35
39
  imageUnavailable: string;
40
+ /** Accessible name of the skeleton shown while `isLoading`. */
36
41
  loading: string;
37
42
  }
38
43
  export declare const defaultMediaGalleryLabels: MediaGalleryLabels;
@@ -72,5 +77,6 @@ export interface MediaGalleryProps {
72
77
  lightboxLabels?: Partial<MediaLightboxLabels>;
73
78
  /** Replaces `labels.region` as the carousel's accessible name, e.g. the product title. */
74
79
  "aria-label"?: string;
80
+ /** Test id on the gallery's root element. */
75
81
  "data-testid"?: string;
76
82
  }
@@ -4,8 +4,11 @@ import type { ProductMedia } from "../Commerce/commerceTypes";
4
4
  export interface MediaLightboxLabels {
5
5
  /** Accessible name of the dialog. */
6
6
  dialog: string;
7
+ /** Accessible name of the close button. */
7
8
  close: string;
9
+ /** Accessible name of the previous-frame arrow. */
8
10
  previous: string;
11
+ /** Accessible name of the next-frame arrow. */
9
12
  next: string;
10
13
  /** Visible and live-announced counter, "2 / 5". */
11
14
  counter: (position: number, total: number) => string;
@@ -15,7 +18,9 @@ export interface MediaLightboxLabels {
15
18
  frame: (position: number, total: number, alt?: string) => string;
16
19
  /** Alt text for a frame that has no `alt` of its own. */
17
20
  image: (position: number, total: number) => string;
21
+ /** Accessible name of the play button over a video frame. */
18
22
  playVideo: string;
23
+ /** Shown in place of an image that fails to load. */
19
24
  imageUnavailable: string;
20
25
  }
21
26
  export declare const defaultMediaLightboxLabels: MediaLightboxLabels;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { type MediaAudioPlayerProps } from "./MediaAudioPlayerProps";
3
+ /** Audio stage of MediaViewer: play/pause, seek, volume and playback-speed controls with J / L skip keys. */
3
4
  declare const MediaAudioPlayer: React.FC<MediaAudioPlayerProps>;
4
5
  export default MediaAudioPlayer;
@@ -19,6 +19,7 @@ const motion_1 = require("../../../Theme/tokens/primitives/motion");
19
19
  const VOLUME_WIDTH_TRANSITION = (0, motion_1.transitionFor)(["width"], "base", "out");
20
20
  const ARROW_SEEK_SECONDS = 5;
21
21
  const ARROW_VOLUME_STEP = 0.1;
22
+ /** Audio stage of MediaViewer: play/pause, seek, volume and playback-speed controls with J / L skip keys. */
22
23
  const MediaAudioPlayer = ({ item, label, onTimeChange, labels: labelOverrides }) => {
23
24
  const labels = { ...MediaAudioPlayerProps_1.defaultMediaAudioPlayerLabels, ...labelOverrides };
24
25
  const chrome = (0, useViewerChrome_1.useViewerChrome)();
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { type MediaDocumentStageProps } from "./MediaDocumentStageProps";
3
+ /** Document stage of MediaViewer: previews PDF, DOCX and text files inline, other kinds get a download panel; loading and error states come from `resolveDocument`. */
3
4
  export declare const MediaDocumentStage: React.FC<MediaDocumentStageProps>;
4
5
  export default MediaDocumentStage;
@@ -116,6 +116,7 @@ function TextStage({ itemKey, url, blob, label, labels }) {
116
116
  }
117
117
  return ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", inset: 0, overflow: "auto", px: { base: 3, md: 8 }, py: 4, "data-testid": "media-text", children: (0, jsx_runtime_1.jsx)(react_2.Text, { as: "pre", fontFamily: "mono", fontSize: "sm", whiteSpace: "pre-wrap", wordBreak: "break-word", color: chrome.ink, children: state.text }) }));
118
118
  }
119
+ /** Document stage of MediaViewer: previews PDF, DOCX and text files inline, other kinds get a download panel; loading and error states come from `resolveDocument`. */
119
120
  const MediaDocumentStage = ({ item, label, resolveDocument, labels: labelOverrides, }) => {
120
121
  const labels = { ...MediaDocumentStageProps_1.defaultMediaDocumentStageLabels, ...labelOverrides };
121
122
  const chrome = (0, useViewerChrome_1.useViewerChrome)();
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { type MediaImageViewerProps } from "./MediaImageViewerProps";
3
+ /** Image stage of MediaViewer with zoom, drag-to-pan, rotation and keyboard shortcuts. */
3
4
  declare const MediaImageViewer: React.FC<MediaImageViewerProps>;
4
5
  export default MediaImageViewer;
@@ -18,6 +18,7 @@ const motion_1 = require("../../../Theme/tokens/primitives/motion");
18
18
  const TRANSFORM_OUT_TRANSITION = (0, motion_1.transitionFor)(["transform"], "fast", "out");
19
19
  const ORIGIN = { x: 0, y: 0 };
20
20
  const transformFor = (pan, zoom, rotation) => `translate(${pan.x}px, ${pan.y}px) scale(${zoom / 100}) rotate(${rotation}deg)`;
21
+ /** Image stage of MediaViewer with zoom, drag-to-pan, rotation and keyboard shortcuts. */
21
22
  const MediaImageViewer = ({ item, label, onZoomChange, onNaturalSize, labels: labelOverrides, }) => {
22
23
  const labels = { ...MediaImageViewerProps_1.defaultMediaImageViewerLabels, ...labelOverrides };
23
24
  const chrome = (0, useViewerChrome_1.useViewerChrome)();
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { type MediaVideoPlayerProps } from "./MediaVideoPlayerProps";
3
+ /** Video stage of MediaViewer: transport, seek, volume, speed and fullscreen controls with keyboard shortcuts and double-tap skip. */
3
4
  declare const MediaVideoPlayer: React.FC<MediaVideoPlayerProps>;
4
5
  export default MediaVideoPlayer;
@@ -29,6 +29,7 @@ const ARROW_VOLUME_STEP = 0.1;
29
29
  const spin = (0, react_3.keyframes) `from { transform: rotate(0deg); } to { transform: rotate(360deg); }`;
30
30
  const rippleFade = (0, react_3.keyframes) `0% { opacity: 0.9; } 100% { opacity: 0; }`;
31
31
  const seekIcon = (icon) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { as: "span", align: "center", gap: "2px", "aria-hidden": true, children: [icon, (0, jsx_runtime_1.jsx)(react_2.Text, { as: "span", fontSize: "xs", fontWeight: 600, children: mediaItems_1.SEEK_STEP_SECONDS })] }));
32
+ /** Video stage of MediaViewer: transport, seek, volume, speed and fullscreen controls with keyboard shortcuts and double-tap skip. */
32
33
  const MediaVideoPlayer = ({ item, label, onTimeChange, onPrevious, onNext, labels: labelOverrides, }) => {
33
34
  const labels = { ...MediaVideoPlayerProps_1.defaultMediaVideoPlayerLabels, ...labelOverrides };
34
35
  const chrome = (0, useViewerChrome_1.useViewerChrome)();
@@ -51,6 +51,7 @@ export interface MediaVideoPlayerLabels {
51
51
  unsupportedFormatHint: string;
52
52
  /** Screen-reader announcement for a double-click/tap skip, distinct from the visible ripple. */
53
53
  skipBack: (seconds: number) => string;
54
+ /** Screen-reader announcement for a double-click/tap skip forward; counterpart of `skipBack`. */
54
55
  skipForward: (seconds: number) => string;
55
56
  }
56
57
  export declare const defaultMediaVideoPlayerLabels: MediaVideoPlayerLabels;
@@ -10,6 +10,7 @@ export interface FileViewerApi {
10
10
  openItems: (items: MediaItem[], index: number, title: string) => void;
11
11
  /** Opens local, unsaved `File`s via object URLs; the hook owns their lifecycle. */
12
12
  openLocal: (files: File[], index: number, title: string) => void;
13
+ /** Closes the viewer and revokes the object URLs made for local files. */
13
14
  close: () => void;
14
15
  /** Mount this once; it renders nothing until `open`/`openItems`/`openLocal` is called. */
15
16
  viewer: ReactNode;
@@ -1,42 +1,67 @@
1
1
  export type MediaKind = "image" | "video" | "audio" | "youtube" | "pdf" | "doc" | "text" | "spreadsheet" | "presentation" | "archive" | "file";
2
2
  export interface MediaItem {
3
+ /** Unique id of the item, used as the React key and for tile selection. */
3
4
  key: string;
5
+ /** Chooses the viewer: image, video, audio, YouTube embed or a document stage. */
4
6
  kind: MediaKind;
7
+ /** Fetchable url; for `youtube` it is the video id instead. */
5
8
  src: string;
9
+ /** Thumbnail url for the tile strip; null shows a kind icon instead. */
6
10
  thumb: string | null;
11
+ /** 1-based position within the item's kind, used in tile names such as "image 2". */
7
12
  ordinal: number;
13
+ /** Date string shown as the uploaded date in the details line. */
8
14
  uploadedAt?: string | null;
15
+ /** Size in bytes, shown beside the file type in the details line. */
9
16
  fileSize?: number | null;
17
+ /** Accessible name of the player or stage for this item; falls back to the viewer `title`. */
10
18
  name?: string | null;
11
19
  }
12
20
  export interface MediaFile {
21
+ /** Stored path passed to `resolveUrl`; an absolute blob:, data: or http(s): url is used as is. */
13
22
  path: string;
23
+ /** Date string shown as the uploaded date in the details line. */
14
24
  uploadedAt?: string | null;
25
+ /** Size in bytes, shown beside the file type in the details line. */
15
26
  fileSize?: number | null;
16
27
  }
17
28
  export type MediaSource = string | MediaFile;
18
29
  export interface MediaSources {
30
+ /** Image paths or files, in display order. */
19
31
  photos: MediaSource[];
32
+ /** Video paths or files, in display order. */
20
33
  videos: MediaSource[];
34
+ /** YouTube video ids, not urls. */
21
35
  youtubeVideoIds: string[];
22
36
  }
23
37
  export interface ViewerFile {
38
+ /** Stored path passed to `resolveUrl`, or an absolute url used as is; also drives kind detection when `name` has no known extension. */
24
39
  url: string;
40
+ /** File name; picks the viewer kind before the url does and names the stage. */
25
41
  name?: string | null;
42
+ /** Date string shown as the uploaded date in the details line. */
26
43
  uploadedAt?: string | null;
44
+ /** Size in bytes, shown beside the file type in the details line. */
27
45
  fileSize?: number | null;
28
46
  }
29
47
  export type FileKind = Exclude<MediaKind, "youtube">;
30
48
  export interface PreviewPlan {
49
+ /** Indexes into `items` to show as preview tiles, in order. */
31
50
  tiles: number[];
51
+ /** How many items are left out, for a "+N more" tile. */
32
52
  hidden: number;
33
53
  }
34
54
  /** Resolves an app-stored path to a fetchable url; the host app owns base-url/CDN logic. */
35
55
  export type ResolveUrl = (path: string) => string;
56
+ /** Lowest image zoom, in percent. */
36
57
  export declare const MIN_ZOOM = 25;
58
+ /** Highest image zoom, in percent. */
37
59
  export declare const MAX_ZOOM = 400;
60
+ /** Percent added or removed by one zoom-in or zoom-out press. */
38
61
  export declare const ZOOM_STEP = 25;
62
+ /** Rates offered in the playback-speed menu. */
39
63
  export declare const PLAYBACK_SPEEDS: readonly [0.5, 0.75, 1, 1.25, 1.5, 2];
64
+ /** Seconds skipped by the rewind and forward buttons and their J / L keys. */
40
65
  export declare const SEEK_STEP_SECONDS = 10;
41
66
  /** Passes an already-absolute url through untouched; only a bare stored path goes through resolveUrl. */
42
67
  export declare const resolveMediaUrl: (path: string, resolveUrl: ResolveUrl) => string;
@@ -11,10 +11,15 @@ exports.formatFileSize = formatFileSize;
11
11
  exports.formatUploadedDate = formatUploadedDate;
12
12
  exports.fileTypeLabel = fileTypeLabel;
13
13
  exports.isTypingTarget = isTypingTarget;
14
+ /** Lowest image zoom, in percent. */
14
15
  exports.MIN_ZOOM = 25;
16
+ /** Highest image zoom, in percent. */
15
17
  exports.MAX_ZOOM = 400;
18
+ /** Percent added or removed by one zoom-in or zoom-out press. */
16
19
  exports.ZOOM_STEP = 25;
20
+ /** Rates offered in the playback-speed menu. */
17
21
  exports.PLAYBACK_SPEEDS = [0.5, 0.75, 1, 1.25, 1.5, 2];
22
+ /** Seconds skipped by the rewind and forward buttons and their J / L keys. */
18
23
  exports.SEEK_STEP_SECONDS = 10;
19
24
  const ABSOLUTE_URL_RE = /^(blob:|data:|https?:)/;
20
25
  /** Passes an already-absolute url through untouched; only a bare stored path goes through resolveUrl. */
@@ -1,7 +1,10 @@
1
1
  import React from "react";
2
2
  import { ChakraModelProps, ModalHeaderSlotProps, ModalBodySlotProps, ModalFooterSlotProps } from "./ModalProps";
3
+ /** Header slot of `Modal`; its style props are spread onto the rendered header. */
3
4
  export declare const ModalHeader: React.FC<ModalHeaderSlotProps>;
5
+ /** Body slot of `Modal`; its style props are spread onto the rendered body. */
4
6
  export declare const ModalBody: React.FC<ModalBodySlotProps>;
7
+ /** Footer slot of `Modal`; its style props are spread onto the rendered footer. */
5
8
  export declare const ModalFooter: React.FC<ModalFooterSlotProps>;
6
9
  /** Dialog built from ModalHeader, ModalBody and ModalFooter slots; other children are dropped. */
7
10
  export default function Modal({ size, isOpen, onClose, overlaybg, overlaybackdropFilter, overlaybackdropInvert, overlaybackdropBlur, isCentered, finalFocusRef, blockScrollOnMount, initialFocusRef, closeOnOverlayClick, closeOnEsc, trapFocus, motionPreset, scrollBehavior, children, isLoading, title, subtitle, hideCloseButton, contentProps, portalChildren, }: ChakraModelProps): import("react/jsx-runtime").JSX.Element;
@@ -7,14 +7,17 @@ const react_1 = require("@chakra-ui/react");
7
7
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
8
8
  const warnDroppedSlotChildren_1 = require("./warnDroppedSlotChildren");
9
9
  const findSlot_1 = require("../Common/findSlot");
10
+ /** Header slot of `Modal`; its style props are spread onto the rendered header. */
10
11
  const ModalHeader = ({ children }) => {
11
12
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
12
13
  };
13
14
  exports.ModalHeader = ModalHeader;
15
+ /** Body slot of `Modal`; its style props are spread onto the rendered body. */
14
16
  const ModalBody = ({ children }) => {
15
17
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
16
18
  };
17
19
  exports.ModalBody = ModalBody;
20
+ /** Footer slot of `Modal`; its style props are spread onto the rendered footer. */
18
21
  const ModalFooter = ({ children }) => {
19
22
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
20
23
  };