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
package/README.md CHANGED
@@ -22,9 +22,9 @@ A comprehensive React component library built with TypeScript, providing a rich
22
22
 
23
23
  Before you begin, ensure you have the following installed:
24
24
 
25
- - Node.js (v16 or higher)
25
+ - Node.js (v18 or higher)
26
26
  - npm (v7 or higher) or yarn
27
- - React (v16.8 or higher)
27
+ - React and React DOM `^18.3.1`
28
28
 
29
29
  ## Installation
30
30
 
@@ -115,8 +115,8 @@ Full rules for app developers and AI assistants: [`src/Theme/THEME-CONTRACT.md`]
115
115
  - **ButtonGroupIcon** - Icon-based button group
116
116
  - **Checkbox** - Checkbox input control
117
117
  - **DatePicker** - Date selection component
118
- - **Dropdown** - Dropdown selection component
119
- - **MultiSelect** - Multi-selection dropdown
118
+ - **Dropdown** - Action menu (a menu button, not a value picker)
119
+ - **MultiSelect** - Typed email-chip input (no options list)
120
120
  - **NumberInput** - Numeric input field
121
121
  - **PinInput** - PIN/OTP input component
122
122
  - **RadioButton** - Radio button input
@@ -124,11 +124,11 @@ Full rules for app developers and AI assistants: [`src/Theme/THEME-CONTRACT.md`]
124
124
  - **RangeSlider** - Single or dual-thumb slider with tick marks
125
125
  - **Search** - Search input component
126
126
  - **SearchSelect** - Searchable select dropdown
127
- - **Select** - Single selection dropdown
128
- - **Switch** - Toggle switch component
127
+ - **Select** - Native or themed popup picker, single or multi, optionally searchable
128
+ - **ToggleSwitch** - On/off switch (`Switch` is a deprecated two-option pill)
129
129
  - **TextInput** - Text input field
130
130
  - **InputTextArea** - Multi-line text input
131
- - **NoteTextArea** - Rich text editor
131
+ - **NoteTextArea** - Textarea with a title and file attach (not rich text; use `Editor`)
132
132
 
133
133
  ### Data Display
134
134
  - **Table** - Data table component
@@ -146,7 +146,7 @@ Full rules for app developers and AI assistants: [`src/Theme/THEME-CONTRACT.md`]
146
146
  - **ConfirmDialog** - Cancel/Confirm prompt, with optional typed confirmation
147
147
  - **NotificationBell** - Badge/bell button
148
148
  - **NotificationPanel** / **NotificationList** / **NotificationItem** - the tray, its body and one row
149
- - **Loading** - Loading spinner component
149
+ - **Loading** - Blocking loading overlay (`Backdrop` for a lighter scrim)
150
150
  - **Spinner** - Themed inline spinner
151
151
  - **Toaster** - Toast notification system
152
152
  - **useToaster** - Hook for toast management
@@ -288,6 +288,9 @@ function Root() {
288
288
  | `defaultMode` | `"system"` | `"light"` \| `"dark"` \| `"system"` |
289
289
  | `storageKey` | `"pixelize-theme"` | localStorage key |
290
290
  | `disablePersistence` | `false` | Don't read/write localStorage |
291
+ | `onBrandChange` / `onModeChange` | — | Fire on user-driven changes only |
292
+ | `themeOverrides` | — | Chakra theme object merged over the brand theme |
293
+ | `reducedMotion` | `"components"` | `"global"` applies one reduced-motion rule to the whole document |
291
294
 
292
295
  ### Reading or changing the theme in code
293
296
 
@@ -331,7 +334,7 @@ const myDark = buildDarkPalette(lightPalettes.emerald);
331
334
  All components are built with TypeScript and include full type definitions:
332
335
 
333
336
  ```tsx
334
- import { ButtonProps } from 'pixelize-design-library';
337
+ import { Button, ButtonProps } from 'pixelize-design-library';
335
338
 
336
339
  interface CustomButtonProps extends ButtonProps {
337
340
  customProp?: string;
@@ -418,8 +421,8 @@ block is generated: after adding or removing an export run
418
421
  `npm start` runs a local component explorer on `http://localhost:5173` — every exported
419
422
  component on its own page, with live variants, an interactive playground for editing props,
420
423
  and a generated props reference. The **Page examples** section shows full screens (dashboard,
421
- records list, record detail, settings, pipeline, inbox) built only from library exports, each with
422
- its loading, empty and error states.
424
+ records list, record detail, settings, pipeline, inbox, app launcher, wizard, template editor,
425
+ storefront) built only from library exports, each with its loading, empty and error states.
423
426
 
424
427
  ```bash
425
428
  npm install
@@ -1,21 +1,31 @@
1
1
  import { AccordionProps as ChakraAccordionProps, AccordionItemProps, AccordionButtonProps, AccordionPanelProps } from "@chakra-ui/react";
2
2
  /** Chakra's AccordionProps plus the header/content rows to render; each row can override its own button/panel/item styles. */
3
3
  export type AccordionProps = ChakraAccordionProps & {
4
+ /** One entry per accordion row, rendered in order. */
4
5
  items: {
6
+ /** Always-visible content of the row's toggle button. */
5
7
  header: React.ReactNode;
8
+ /** Panel body, shown while the row is expanded. */
6
9
  content: React.ReactNode;
7
10
  /** Spread after the built-in style props (incl. `_hover`) — `bg`/`_hover` here replace, not merge, the expanded/hover highlight. */
8
11
  buttonProps?: AccordionButtonProps;
9
12
  /** A control over the header's trailing edge, beside the button (a button inside a button is invalid); the header hover stays lit while the pointer is on it. Reserve its width in `header`. */
10
13
  headerAction?: React.ReactNode;
14
+ /** Props spread onto the row's panel. */
11
15
  panelProps?: AccordionPanelProps;
16
+ /** Props spread onto the row's item wrapper. */
12
17
  itemProps?: AccordionItemProps;
18
+ /** Inline style overrides per part of this row. */
13
19
  customStyles?: {
20
+ /** Inline style for the header button. */
14
21
  buttonStyle?: React.CSSProperties;
22
+ /** Inline style applied to the header button on hover. */
15
23
  hoverbuttonStyle?: React.CSSProperties;
16
24
  /** Overrides the action's default `right` (button padding + chevron slot); set it when `buttonStyle` changes the button padding. */
17
25
  headerActionStyle?: React.CSSProperties;
26
+ /** Inline style for the panel. */
18
27
  panelStyle?: React.CSSProperties;
28
+ /** Inline style for the item wrapper. */
19
29
  itemStyle?: React.CSSProperties;
20
30
  };
21
31
  }[];
@@ -1,15 +1,20 @@
1
1
  import type { ReactNode } from "react";
2
2
  /** Visible copy; override every string for another language. */
3
3
  export interface AddressCardLabels {
4
+ /** Text of the tag shown when `isDefault` is set. */
4
5
  default: string;
6
+ /** Edit button text; also the verb in its accessible name. */
5
7
  edit: string;
8
+ /** Remove button text; also the verb in its accessible name. */
6
9
  remove: string;
7
10
  }
8
11
  /** A saved delivery address. Inside an `AddressCardGroup` it is a radio keyed by `value`; alone, `onSelect` makes it a toggle button. */
9
12
  export interface AddressCardProps {
10
13
  /** Identifies the card inside an `AddressCardGroup`; required there. */
11
14
  value?: string;
15
+ /** Recipient name, shown bold; also the card's accessible name when selectable. */
12
16
  name: string;
17
+ /** Recipient phone, shown in tabular figures under the address lines. */
13
18
  phone?: string;
14
19
  /** Address lines in order, e.g. ["12 Palm Grove, Indiranagar", "Bengaluru, Karnataka 560038"]. */
15
20
  lines: string[];
@@ -23,21 +28,31 @@ export interface AddressCardProps {
23
28
  selected?: boolean;
24
29
  /** Called when the card is chosen; also fires inside a group, after the group updates. */
25
30
  onSelect?: () => void;
31
+ /** Shows an Edit button when set; called on click. */
26
32
  onEdit?: () => void;
33
+ /** Shows a Remove button when set; called on click. */
27
34
  onRemove?: () => void;
28
35
  /** Dims the card, drops it from the tab order and ignores selection; Edit and Remove still work. */
29
36
  disabled?: boolean;
37
+ /** Overrides the default English strings; unset keys keep their default. */
30
38
  labels?: Partial<AddressCardLabels>;
39
+ /** Test id on the card's outer element. */
31
40
  "data-testid"?: string;
32
41
  }
33
42
  /** Radiogroup of `AddressCard`s with a roving tab stop; arrow keys move focus and selection together. */
34
43
  export interface AddressCardGroupProps {
44
+ /** Selected card's `value`; controls the group when set. */
35
45
  value?: string;
46
+ /** Initially selected `value` when the group is uncontrolled. */
36
47
  defaultValue?: string;
48
+ /** Called with the new `value` when selection changes by click or arrow key. */
37
49
  onValueChange?: (value: string) => void;
38
50
  /** Direct `AddressCard` children; wrapping them in another component hides their `value` from the roving tab stop. */
39
51
  children: ReactNode;
52
+ /** Accessible name of the radiogroup; give this or `aria-labelledby`. */
40
53
  "aria-label"?: string;
54
+ /** Id of the element that names the radiogroup. */
41
55
  "aria-labelledby"?: string;
56
+ /** Test id on the radiogroup element. */
42
57
  "data-testid"?: string;
43
58
  }
@@ -7,17 +7,28 @@ export type ApexAreaSeries = {
7
7
  };
8
8
  /** Props for the area chart; unlike ApexLineChart, `data`/`series` are re-read every render, not frozen at mount. */
9
9
  export type ApexAreaChartProps = {
10
+ /** Defaults to "basic"; "sparkline" also hides the title, axes and legend. */
10
11
  variant?: AreaChartVariant;
11
12
  /** Ignored entirely once `series` is also passed — `series` always wins, no merge. */
12
13
  data?: number[];
14
+ /** Multiple named lines; wins over `data`. The legend appears only when there is more than one series. */
13
15
  series?: ApexAreaSeries[];
16
+ /** X-axis category labels, one per data point; hidden in the "sparkline" variant. */
14
17
  labels?: string[];
18
+ /** Heading above the chart and the name of the series built from `data` (default "Series 1"); not drawn in "sparkline". */
15
19
  title?: string;
20
+ /** Horizontal alignment of the title. Defaults to "left". */
16
21
  titlePosition?: "left" | "center" | "right";
22
+ /** Chart height as a px number or CSS string. Defaults to 320; also sizes the loading skeleton. */
17
23
  height?: number | string;
24
+ /** Chart width as a px number or CSS string. Defaults to "100%"; also sizes the loading skeleton. */
18
25
  width?: number | string;
26
+ /** Series colours in order. Defaults to the theme's categorical series palette. */
19
27
  colors?: string[];
28
+ /** Defaults to true, but the legend only shows with more than one series and never in "sparkline". */
20
29
  showLegend?: boolean;
30
+ /** Legend placement. Defaults to "bottom". */
21
31
  legendPosition?: "top" | "right" | "bottom" | "left";
32
+ /** Formats y-axis tick labels from the numeric value; no effect in "sparkline", where the axis is hidden. */
22
33
  yAxisFormatter?: (value: number) => string;
23
34
  };
@@ -2,34 +2,50 @@
2
2
  export type ApexBarChartProps = {
3
3
  /** Ignored whenever `series` is also passed — series wins outright and data is silently dropped, not merged. */
4
4
  data?: number[];
5
+ /** Category labels, one per bar or bar group; they run along the vertical axis when `horizontal` is true. */
5
6
  labels: string[];
7
+ /** Heading above the chart, aligned by `titlePosition`. */
6
8
  title?: string;
7
- /** No default here (renders ApexCharts' native left-align) — every sibling chart in this family defaults it to "center". */
9
+ /** No default here (renders ApexCharts' native left-align) — pie, line and polar charts default it to "center", area and radial to "left". */
8
10
  titlePosition?: "left" | "center" | "right";
11
+ /** Chart height as a px number or CSS string. Defaults to 400; also sizes the loading skeleton. */
9
12
  height?: number | string;
13
+ /** Chart width as a px number or CSS string. Defaults to 500; also sizes the loading skeleton. */
10
14
  width?: number | string;
11
15
  /** Array paints per-bar only when `distributed` is true; otherwise only barColor[0] applies and the rest are silently unused. */
12
16
  barColor?: string[];
17
+ /** Font and colour of x-axis labels; colour falls back to the theme's axis ink. */
13
18
  xAxisStyle?: StyleProps;
19
+ /** Font and colour of y-axis labels; colour falls back to the theme's axis ink. */
14
20
  yAxisStyle?: StyleProps;
21
+ /** Font and colour of the title; unset fields default to 14px, weight 600 and the theme's text ink. */
15
22
  titleStyle?: StyleProps;
23
+ /** Draws bars left to right instead of upward. Defaults to false. */
16
24
  horizontal?: boolean;
25
+ /** Gives each bar its own colour from `barColor` or the theme palette. Defaults to false (one colour). */
17
26
  distributed?: boolean;
27
+ /** Name of the single series built from `data`. Defaults to "Data"; ignored when `series` is passed. */
18
28
  seriesName?: string;
19
29
  /** Multi-series bars — {name, data}[], not data's flat number[]; passing this alongside `data` makes data a no-op. */
20
30
  series?: {
21
31
  name: string;
22
32
  data: number[];
23
33
  }[];
34
+ /** Stacks `series` on top of each other instead of grouping them side by side. Defaults to false. */
24
35
  stacked?: boolean;
25
36
  /** Unset default isn't fixed — shows only when `series` has more than one entry; the single-`data` path stays legend-less. */
26
37
  showLegend?: boolean;
38
+ /** Legend placement. Defaults to "bottom". */
27
39
  legendPosition?: "top" | "right" | "bottom" | "left";
28
40
  };
29
41
  type StyleProps = {
42
+ /** CSS font size, e.g. "12px". Axis labels default to 12px, the title to 14px. */
30
43
  fontSize?: string;
44
+ /** CSS font family. Defaults to inherit, i.e. the page font. */
31
45
  fontFamily?: string;
46
+ /** CSS font weight. The title defaults to 600. */
32
47
  fontWeight?: string | number;
48
+ /** Text colour. Defaults to the theme's axis ink on axes and its text ink on the title. */
33
49
  color?: string;
34
50
  };
35
51
  export {};
@@ -4,25 +4,34 @@ export type ApexLineChartProps = {
4
4
  variant?: LineChartVariant;
5
5
  /** Read only at mount — later prop updates are silently ignored unless this component remounts (new `key`). */
6
6
  data: number[];
7
+ /** X-axis category labels, one per data point; omitted, the axis falls back to point positions. */
7
8
  labels?: string[];
8
9
  /** Only series[0] is read, as the single line's name — there is no way to render more than one line here. */
9
10
  series?: string[];
11
+ /** Heading above the chart; in compact mode it is drawn as clamped text, with a tooltip when truncated. */
10
12
  title?: string;
13
+ /** Chart height as a px number or CSS string. A numeric height under 220 switches the chart to compact mode. */
11
14
  height?: number | string;
15
+ /** Chart width as a px number or CSS string; percentages resolve against the container. Under 280px it goes compact. */
12
16
  width?: number | string;
17
+ /** Line colours in order. Defaults to the theme's categorical series palette. */
13
18
  lineColors?: string[];
14
19
  /** Ignored once the chart renders in compact/small mode — the fallback title there is always left-aligned regardless of this value. */
15
20
  titlePosition?: "left" | "center" | "right";
16
21
  /** Despite the name, gates only the tooltip and hover markers — the line itself still renders when this is false. */
17
22
  showSeries?: boolean;
23
+ /** Title colour and font; defaults to 14px, weight 600 and the text ink. Compact mode scales an unset fontSize to the width (12-18px). */
18
24
  titleStyle?: {
19
25
  color?: string;
20
26
  fontSize?: string;
21
27
  fontWeight?: number | string;
22
28
  fontFamily?: string;
23
29
  };
30
+ /** Forces compact mode: the title moves above the chart and zoom and toolbar turn off. Small sizes enable it automatically. */
24
31
  compact?: boolean;
32
+ /** Maximum title lines before clipping in compact mode. Defaults to 2 there; no effect outside compact mode. */
25
33
  titleClampLines?: number;
34
+ /** Adds "…" to a clipped compact title. Defaults to true; applies only when `titleClampLines` is 1. */
26
35
  showTitleEllipsis?: boolean;
27
36
  /** Declared but never read by this component — has zero effect here; ApexPieChart/ApexPolarCharts implement the same shape and apply it. */
28
37
  legendStyle?: {
@@ -30,6 +39,7 @@ export type ApexLineChartProps = {
30
39
  useSeriesColors?: boolean;
31
40
  position?: "top" | "right" | "bottom" | "left";
32
41
  };
42
+ /** Minimum chart width, as a fraction of its container, for the zoom toolbar to show. Defaults to 0.6. */
33
43
  toolbarBreakpointPct?: number;
34
44
  };
35
45
  /** Chart mode: "basic" plots `data` as given; "realtime" instead free-runs on random values — see `variant`. */
@@ -1,33 +1,47 @@
1
1
  /** Renders pie/donut slices from parallel `data`+`labels` arrays; not a substitute for ApexPolarCharts, whose wedges vary by radius, not arc share. */
2
2
  export type ApexPieChartProps = {
3
+ /** Visual preset. Defaults to "pie"; variants containing "pie" draw a full pie, the others a donut. */
3
4
  variant?: DonutPieVariant;
5
+ /** Slice values, one per label; data labels show each slice's share as a percent, tooltips the raw value. */
4
6
  data: number[];
5
7
  /** Must be the same length and order as `data` — index i labels index i; a mismatched length misaligns slices silently, no warning. */
6
8
  labels: string[];
9
+ /** Heading above the chart, aligned by `titlePosition`. */
7
10
  title?: string;
11
+ /** Chart height as a px number or CSS string. Defaults to 400; under 240 it hides auto-placed data labels. */
8
12
  height?: number | string;
13
+ /** Chart width as a px number or CSS string. Defaults to 500; also sizes the loading skeleton. */
9
14
  width?: number | string;
15
+ /** Slice colours in order. Defaults to the theme's categorical palette; overridden by `chartColor`. */
10
16
  donutColors?: string[];
11
17
  /** Wins over `donutColors` when both are set — donutColors is then silently ignored, not merged with it. */
12
18
  chartColor?: string[];
19
+ /** Horizontal alignment of the title. Defaults to "center". */
13
20
  titlePosition?: "left" | "center" | "right";
21
+ /** Title colour and font; defaults to 14px, weight 600 and the theme's text ink. */
14
22
  titleStyle?: {
15
23
  color?: string;
16
24
  fontSize?: string;
17
25
  fontWeight?: number | string;
18
26
  fontFamily?: string;
19
27
  };
28
+ /** Legend placement. Defaults to "bottom"; an invalid value logs a console warning and falls back to it. */
20
29
  legendPosition?: "left" | "right" | "top" | "bottom";
21
30
  /** True alone doesn't guarantee labels — with the default labelPlacement="auto", a numeric height under 240 forces them off, no warning. */
22
31
  showDataLabels?: boolean;
23
32
  /** Slices below this render an empty-string label, not a hidden one — text silently vanishes on small slices even with showDataLabels true. */
24
33
  minLabelPercent?: number;
34
+ /** Colour of the gap stroke between slices and of pattern backdrops. Defaults to the theme's main background. */
25
35
  surfaceColor?: string;
36
+ /** Donut hole size as a CSS percent string. Defaults to "68%"; no effect on pie variants. */
26
37
  donutSize?: string;
38
+ /** Caption under the centre total. Defaults to "Total"; shown only for `variant="update-donut"`. */
27
39
  totalLabel?: string;
40
+ /** Where data labels sit. "auto" (default) means outside at height 240+ or non-numeric height, none below. */
28
41
  labelPlacement?: "auto" | "inside" | "outside" | "none";
29
42
  /** Only for `variant="pie-with-image"`: one image source per slice (the first repeats past the end). Omitted, each slice gets a themed striped texture in its own colour. */
30
43
  images?: string[];
44
+ /** Legend overrides (label colours, gaps, marker size and offsets); unset fields keep the themed defaults. */
31
45
  legendStyle?: {
32
46
  colors?: string | string[];
33
47
  useSeriesColors?: boolean;
@@ -1,20 +1,29 @@
1
1
  /** Renders polarArea wedges (radius varies by value, angles equal) from parallel `data`+`labels`; not a substitute for ApexPieChart's equal-radius arcs. */
2
2
  export type ApexPolarChartProps = {
3
+ /** Defaults to "basic"; "monochrome" shades every wedge from one hue. */
3
4
  variant?: PolarVariant;
5
+ /** Wedge values, one per label; a larger value extends its wedge farther from the centre. */
4
6
  data: number[];
5
7
  /** Must be the same length and order as `data` — index i labels index i; a mismatched length misaligns wedges silently, no warning. */
6
8
  labels: string[];
9
+ /** Heading above the chart, aligned by `titlePosition`. */
7
10
  title?: string;
11
+ /** Chart height as a px number or CSS string. Defaults to 400; also sizes the loading skeleton. */
8
12
  height?: number | string;
13
+ /** Chart width as a px number or CSS string. Defaults to 500; also sizes the loading skeleton. */
9
14
  width?: number | string;
15
+ /** Wedge colours in order. Defaults to the theme's categorical palette. */
10
16
  chartColors?: string[];
17
+ /** Horizontal alignment of the title. Defaults to "center". */
11
18
  titlePosition?: "left" | "center" | "right";
19
+ /** Title colour and font; defaults to 14px, weight 600 and the theme's text ink. */
12
20
  titleStyle?: {
13
21
  color?: string;
14
22
  fontSize?: string;
15
23
  fontWeight?: number | string;
16
24
  fontFamily?: string;
17
25
  };
26
+ /** Legend overrides: label colours, series-coloured labels and position. Defaults to the text ink at the bottom. */
18
27
  legendStyle?: {
19
28
  colors?: string | string[];
20
29
  useSeriesColors?: boolean;
@@ -2,15 +2,25 @@
2
2
  export type RadialChartVariant = "gauge" | "multi" | "semi";
3
3
  /** Props for the radial/gauge chart; `totalLabel` only renders when `variant="multi"`, which also ignores `hollowSize`. */
4
4
  export type ApexRadialChartProps = {
5
+ /** Defaults to "gauge"; see RadialChartVariant. */
5
6
  variant?: RadialChartVariant;
7
+ /** One value per ring as a percentage (0-100); the centre label shows it as a rounded percent. */
6
8
  data: number[];
9
+ /** Ring names, one per `data` value; shown in the gauge centre and in the "multi" legend. */
7
10
  labels?: string[];
11
+ /** Heading above the chart, aligned by `titlePosition`. */
8
12
  title?: string;
13
+ /** Horizontal alignment of the title. Defaults to "left". */
9
14
  titlePosition?: "left" | "center" | "right";
15
+ /** Chart height as a px number or CSS string. Defaults to 320; also sizes the loading skeleton. */
10
16
  height?: number | string;
17
+ /** Chart width as a px number or CSS string. Defaults to "100%"; also sizes the loading skeleton. */
11
18
  width?: number | string;
19
+ /** Ring colours in order. Defaults to the theme's categorical palette. */
12
20
  colors?: string[];
21
+ /** Caption for the centre average in the "multi" variant. Defaults to "Total". */
13
22
  totalLabel?: string;
23
+ /** Colour of the unfilled ring track. Defaults to the theme's quaternary background. */
14
24
  trackColor?: string;
15
25
  /** Ignored when `variant="multi"` — the ring width is hardcoded to `"52%"` in that variant. */
16
26
  hollowSize?: string;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { type AppSwitcherProps } from "./AppSwitcherProps";
3
+ /** Top-bar grid button that opens a panel of suite apps to jump between, with optional search and keyboard shortcut. */
3
4
  declare const AppSwitcher: React.FC<AppSwitcherProps>;
4
5
  export default AppSwitcher;
@@ -79,6 +79,7 @@ const validate = (apps) => {
79
79
  };
80
80
  // Flip back to true to restore `searchThreshold` opening the field on its own.
81
81
  const SEARCH_OPENS_BY_COUNT = false;
82
+ /** Top-bar grid button that opens a panel of suite apps to jump between, with optional search and keyboard shortcut. */
82
83
  const AppSwitcher = ({ apps, currentAppId, onSelect, onOpenChange, isSearchable, searchThreshold = 8, shortcut = null, showShortcutHint = true, hideWhenAlone = true, emptyMessage = "No app matches that name.", footer, ariaLabel = "Switch app", panelWidth, maxHeight = "24rem", isLoading = false, }) => {
83
84
  const theme = (0, useCustomTheme_1.useCustomTheme)();
84
85
  const { isOpen, onOpen, onClose } = (0, react_2.useDisclosure)();
@@ -8,41 +8,60 @@ export type AppIconComponent = ComponentType<{
8
8
  export type AppIcon = AppIconComponent | ReactNode;
9
9
  /** One app in the switcher's grid; missing/duplicate `id` or a missing `url` (without `locked`) warn once in dev only. */
10
10
  export interface AppOption {
11
+ /** Stable identity: matches `currentAppId`, keys the row, and seeds the mark's auto-assigned colour. */
11
12
  id: string;
13
+ /** Row label; also searched, matched by type-ahead, and the source of the initials when there is no icon. */
12
14
  name: string;
15
+ /** Destination opened in a new tab (noopener); can be omitted only when `locked`. */
13
16
  url: string;
17
+ /** Second line under the name, truncated to one line and included in search. */
14
18
  description?: string;
19
+ /** Mark glyph: a lucide-style component or a ready node; falls back to initials. Ignored when `iconUrl` is set. */
15
20
  icon?: AppIcon;
21
+ /** Image URL drawn as the mark instead of the tinted glyph tile; takes precedence over `icon` and `color`. */
16
22
  iconUrl?: string;
23
+ /** Mark hue; when omitted a distinct hue is auto-assigned from the chart palette. */
17
24
  color?: string;
25
+ /** Small info-coloured text beside the name (e.g. "New"); hidden on the current app. */
18
26
  badge?: string | number;
19
27
  /** Listed but not openable — renders locked with `lockedReason` as its title. */
20
28
  locked?: boolean;
29
+ /** Tooltip for a locked row; defaults to "<name> is not available on your plan". */
21
30
  lockedReason?: string;
22
31
  /** Extra terms the search should match, e.g. "helpdesk" for Tickets. */
23
32
  keywords?: string[];
24
33
  }
25
34
  /** Fixed top-bar control: two columns, md density, bottom-end anchor, "Your apps", new tab. */
26
35
  export interface AppSwitcherProps {
36
+ /** Apps to list, in display order, laid out in two columns. */
27
37
  apps: AppOption[];
28
38
  /** id of the app this UI is running inside. Its row is marked and never navigates. */
29
39
  currentAppId?: string;
30
40
  /** Called instead of following the link. Call `event.preventDefault()` to keep the panel's own navigation. */
31
41
  onSelect?: (app: AppOption, event: React.MouseEvent | React.KeyboardEvent) => void;
42
+ /** Fires with the new open state whenever the panel opens or closes (trigger, shortcut, selection, Escape, outside click). */
32
43
  onOpenChange?: (isOpen: boolean) => void;
33
44
  /** The only thing that shows the search box — searchThreshold below is currently inert (kept for API compat). */
34
45
  isSearchable?: boolean;
46
+ /** Currently inert: the app count no longer opens search; use `isSearchable`. Kept for API compatibility. */
35
47
  searchThreshold?: number;
36
48
  /** Keyboard shortcut that opens the panel, e.g. "mod+shift+a". `null` disables it. */
37
49
  shortcut?: string | null;
50
+ /** Shows the `shortcut` chord as a key hint in the panel header; default true, no effect without `shortcut`. */
38
51
  showShortcutHint?: boolean;
39
52
  /** Renders nothing when there is no other app to switch to. */
40
53
  hideWhenAlone?: boolean;
54
+ /** Text shown when a search matches no app; default "No app matches that name." */
41
55
  emptyMessage?: string;
56
+ /** Content rendered in a bordered strip below the app grid. */
42
57
  footer?: ReactNode;
58
+ /** Accessible name of the trigger button; default "Switch app". */
43
59
  ariaLabel?: string;
60
+ /** CSS width of the panel; default "28rem", capped to the viewport width. */
44
61
  panelWidth?: string;
62
+ /** CSS max-height of the scrollable app grid; default "24rem". */
45
63
  maxHeight?: string;
64
+ /** Shows four skeleton rows instead of the apps and the empty message; default false. */
46
65
  isLoading?: boolean;
47
66
  }
48
67
  /** Up to two initials, so a mark stays legible without an icon. */
@@ -57,12 +76,16 @@ export declare const shortcutKeys: (shortcut: string, isApple?: boolean) => stri
57
76
  export declare const formatShortcut: (shortcut: string, isApple?: boolean) => string;
58
77
  /** Input to `buildSuiteApps`: an `AppOption` keyed by its subdomain label, with `url` optional since it can be derived. */
59
78
  export interface SuiteAppSource extends Omit<AppOption, "url"> {
79
+ /** Hostname label substituted for `baseSubdomain` to derive this app's origin. */
60
80
  subdomain: string;
81
+ /** Explicit origin or URL for this app; wins over derivation and is trimmed. */
61
82
  url?: string;
62
83
  }
63
84
  /** The consumer's own absolute origin, plus which hostname label identifies it — `buildSuiteApps` swaps that label per app. */
64
85
  export interface SuiteUrlOptions {
86
+ /** Absolute URL of the host the consumer is served on; throws if it is not absolute. */
65
87
  baseUrl: string;
88
+ /** Label in `baseUrl`'s hostname that identifies this app (e.g. "crm") and is swapped per app. */
66
89
  baseSubdomain: string;
67
90
  /** Opt-in for hosts with no `baseSubdomain` label (plain `localhost`): other apps derive from this labelled URL instead of throwing, and the app owning `baseSubdomain` keeps `baseUrl`. */
68
91
  devFallbackBaseUrl?: string;
@@ -3,6 +3,7 @@ import { type AppOption, type SuiteAppSource, type SuiteUrlOptions } from "./App
3
3
  export type SuiteAppId = "crm" | "account" | "tickets" | "billing" | "hrms" | "social";
4
4
  /** One catalogue entry: switcher copy plus whether the app is hidden from production lists. */
5
5
  export interface PixelizeSuiteApp extends SuiteAppSource {
6
+ /** Narrows `AppOption.id` to a known suite app id. */
6
7
  id: SuiteAppId;
7
8
  /** Hidden from production lists (except as the current app) until a deployment overrides it to false. */
8
9
  preRelease?: boolean;
@@ -1,3 +1,4 @@
1
1
  import type { AppearanceSettingsProps } from "./AppearanceSettingsProps";
2
+ /** Settings panel with brand, light/dark mode and root font-size pickers; each section can be hidden. */
2
3
  export declare const AppearanceSettings: ({ brand, fontSize, onBrandChange, onFontSizeChange, showBrand, showColorMode, showFontSize, size, labels, }: AppearanceSettingsProps) => import("react/jsx-runtime").JSX.Element;
3
4
  export default AppearanceSettings;
@@ -19,6 +19,7 @@ const FieldLabel = ({ children }) => {
19
19
  return ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", fontWeight: 500, color: colors.textMuted, mb: 2, children: children }));
20
20
  };
21
21
  const brandSwatch = (name, colors) => ((0, jsx_runtime_1.jsx)(react_2.Box, { w: "14px", h: "14px", borderRadius: "full", bg: brands_1.lightPalettes[name].primary[500], border: "1px solid", borderColor: (0, outlineRung_1.ruleInk)(colors.boxborder[200], [colors.backgroundColor.light, colors.backgroundColor.tertiary], outlineRung_1.CHROME_RULE) }));
22
+ /** Settings panel with brand, light/dark mode and root font-size pickers; each section can be hidden. */
22
23
  const AppearanceSettings = ({ brand, fontSize, onBrandChange, onFontSizeChange, showBrand = true, showColorMode = true, showFontSize = true, size = "sm", labels, }) => {
23
24
  var _a, _b, _c;
24
25
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
@@ -1,19 +1,30 @@
1
1
  import type { ControlSize } from "../../Theme/tokens/primitives/controlSizes";
2
2
  /** i18n overrides for this panel's field labels; any key left out keeps the library's English default. */
3
3
  export type AppearanceSettingsLabels = {
4
+ /** Label above the brand picker; default "Theme". */
4
5
  theme?: string;
6
+ /** Label above the light/dark/system switch; default "Color mode". */
5
7
  colorMode?: string;
8
+ /** Label above the font-size picker; default "Font Size". */
6
9
  fontSize?: string;
7
10
  };
8
11
  /** Controlled brand/font-size pickers; the color-mode switch is uncontrolled and reads/writes theme context directly. */
9
12
  export type AppearanceSettingsProps = {
13
+ /** Currently selected brand name (a key of the theme list, e.g. "zinc"); the picker is controlled. */
10
14
  brand?: string;
15
+ /** Currently selected root font size as a percentage id from "80%" to "130%" ("100%" is default); the picker is controlled. */
11
16
  fontSize?: string;
17
+ /** Called with the chosen brand name; the caller must apply the theme and pass it back via `brand`. */
12
18
  onBrandChange?: (brand: string) => void;
19
+ /** Called with the chosen percentage id; the caller must apply it and pass it back via `fontSize`. */
13
20
  onFontSizeChange?: (fontSize: string) => void;
21
+ /** Shows the brand picker; default true. */
14
22
  showBrand?: boolean;
23
+ /** Shows the light/dark/system switch, which reads and writes the theme provider directly; default true. */
15
24
  showColorMode?: boolean;
25
+ /** Shows the font-size picker; default true. */
16
26
  showFontSize?: boolean;
27
+ /** Control size shared by all three controls; default "sm". */
17
28
  size?: Extract<ControlSize, "sm" | "md" | "lg">;
18
29
  /** Pass translated strings; the library ships English defaults. */
19
30
  labels?: AppearanceSettingsLabels;
@@ -4,5 +4,6 @@ export declare const recordingFileName: (mime: string, now: number) => {
4
4
  type: string;
5
5
  name: string;
6
6
  };
7
+ /** Microphone recorder: a toggle button and timer that hands a `File` to `onRecorded` on stop. */
7
8
  declare const AudioRecorder: ({ onRecorded, maxDurationSec, isDisabled, labels }: AudioRecorderProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export default AudioRecorder;
@@ -41,6 +41,7 @@ const recordingFileName = (mime, now) => {
41
41
  };
42
42
  exports.recordingFileName = recordingFileName;
43
43
  const isSupported = () => { var _a; return typeof navigator !== "undefined" && !!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia) && typeof MediaRecorder !== "undefined"; };
44
+ /** Microphone recorder: a toggle button and timer that hands a `File` to `onRecorded` on stop. */
44
45
  const AudioRecorder = ({ onRecorded, maxDurationSec, isDisabled = false, labels }) => {
45
46
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
46
47
  const text = { ...DEFAULT_LABELS, ...labels };
@@ -1,11 +1,16 @@
1
1
  /** Visible text and announcements; every key falls back to English. */
2
2
  export type AudioRecorderLabels = {
3
+ /** Start button text. */
3
4
  start: string;
5
+ /** Stop button text, shown while recording. */
4
6
  stop: string;
7
+ /** Announced to screen readers when recording begins. */
5
8
  recording: string;
6
9
  /** Announced when a recording finishes, followed by its duration. */
7
10
  recorded: string;
11
+ /** Alert text when the browser refuses microphone access. */
8
12
  permissionDenied: string;
13
+ /** Alert text when there is no microphone or MediaRecorder support; Start is disabled. */
9
14
  unsupported: string;
10
15
  };
11
16
  /** Props for the microphone recorder: one toggle button, a timer, and a `File` on stop. */
@@ -16,5 +21,6 @@ export interface AudioRecorderProps {
16
21
  maxDurationSec?: number;
17
22
  /** Blocks Start only; a recording already in progress can always be stopped. */
18
23
  isDisabled?: boolean;
24
+ /** Overrides the default English strings; unset keys keep their default. */
19
25
  labels?: Partial<AudioRecorderLabels>;
20
26
  }
@@ -1,3 +1,4 @@
1
1
  import type { AvatarGroupProps } from "./AvatarGroupProps";
2
+ /** Overlapping avatar stack; people past `max` collapse into a "+N" chip. */
2
3
  declare const AvatarGroup: ({ people, max, size, ariaLabel, "data-testid": testId }: AvatarGroupProps) => import("react/jsx-runtime").JSX.Element;
3
4
  export default AvatarGroup;
@@ -13,6 +13,7 @@ const summarize = (names, overflow) => {
13
13
  return names.join(", ");
14
14
  return `${names.join(", ")} and ${overflow} more`;
15
15
  };
16
+ /** Overlapping avatar stack; people past `max` collapse into a "+N" chip. */
16
17
  const AvatarGroup = ({ people, max = 4, size = "md", ariaLabel, "data-testid": testId }) => {
17
18
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
18
19
  const shown = people.slice(0, max);
@@ -1,7 +1,9 @@
1
1
  import type { AvatarSize } from "./AvatarProps";
2
2
  /** One member of an AvatarGroup stack. */
3
3
  export type AvatarGroupMember = {
4
+ /** Drives the avatar's initials and fill colour, and appears in the group's default `aria-label`. */
4
5
  name: string;
6
+ /** Image URL. Falls back to initials when missing or when the image fails to load. */
5
7
  src?: string;
6
8
  };
7
9
  /** Overlapping stack of Avatars with a "+N" overflow chip past `max`. */