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
@@ -4,6 +4,7 @@ export type PincodeStatus = "idle" | "checking" | "serviceable" | "unserviceable
4
4
  export interface PincodeResult {
5
5
  /** False means the pincode is not serviceable. */
6
6
  ok: boolean;
7
+ /** Shown after the pincode in the saved line, e.g. "560001 · Bengaluru". */
7
8
  city?: string;
8
9
  /** Ready-to-print delivery date such as "Thu, 8 Oct"; never a range of days. */
9
10
  deliveryBy?: string;
@@ -16,19 +17,29 @@ export interface PincodeResult {
16
17
  }
17
18
  /** Every string the checker renders; override all of them for another language. */
18
19
  export interface PincodeCheckerLabels {
20
+ /** Heading (h2) above the field. */
19
21
  heading: string;
22
+ /** Visually hidden label of the pincode input. */
20
23
  inputLabel: string;
24
+ /** Placeholder of the empty pincode input. */
21
25
  placeholder: string;
26
+ /** Text of the submit button. */
22
27
  check: string;
28
+ /** Text of the link button that reopens the field after a serviceable result. */
23
29
  change: string;
24
30
  /** Visible helper under the idle field. */
25
31
  hint: string;
32
+ /** Error under the field for a malformed pincode; `PincodeResult.message` replaces it when status is invalid. */
26
33
  invalid: string;
34
+ /** Headline for an unserviceable pincode; `PincodeResult.message` replaces it. */
27
35
  unserviceable: string;
36
+ /** Visually hidden announcement while a check is in flight. */
28
37
  checking: string;
29
38
  /** Prefix before the date, e.g. "Delivery by". */
30
39
  deliveryBy: string;
40
+ /** Line shown when the result has `cod: true`. */
31
41
  codAvailable: string;
42
+ /** Line shown when the result has `cod: false`; omitted when `cod` is undefined. */
32
43
  codUnavailable: string;
33
44
  /** Prefix in the saved line, e.g. "Deliver to". */
34
45
  deliverTo: string;
@@ -41,6 +52,7 @@ export interface PincodeCheckerProps {
41
52
  value?: string;
42
53
  /** Starting pincode when uncontrolled, e.g. the shopper's last one. */
43
54
  defaultValue?: string;
55
+ /** Fires on every edit with the digits-only value, capped at six digits. */
44
56
  onValueChange?: (pincode: string) => void;
45
57
  /** Controlled status; omit it and the checker derives the status from what `onCheck` resolves. */
46
58
  status?: PincodeStatus;
@@ -52,6 +64,7 @@ export interface PincodeCheckerProps {
52
64
  autoCheck?: boolean;
53
65
  /** Runs `onCheck` once on mount when the initial pincode is valid, for a saved pincode. */
54
66
  checkOnMount?: boolean;
67
+ /** Overrides for any label; unspecified strings keep the English defaults. */
55
68
  labels?: Partial<PincodeCheckerLabels>;
56
69
  "data-testid"?: string;
57
70
  }
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { PlanPillProps } from "./PlanPillProps";
3
+ /** Gradient pill button with plan label, optional time-left chip and a tone-based icon; always renders a `<button>`. */
3
4
  declare const PlanPill: React.FC<PlanPillProps>;
4
5
  export default PlanPill;
@@ -15,6 +15,7 @@ const TONE_ICON = {
15
15
  warning: lucide_react_1.Clock,
16
16
  danger: lucide_react_1.AlertCircle,
17
17
  };
18
+ /** Gradient pill button with plan label, optional time-left chip and a tone-based icon; always renders a `<button>`. */
18
19
  const PlanPill = ({ label, mobileLabel, status, tone = "normal", icon, gradient, maxLabelWidth = "150px", ariaLabel, onClick, }) => {
19
20
  const theme = (0, useCustomTheme_1.useCustomTheme)();
20
21
  const c = theme.colors;
@@ -12,6 +12,7 @@ export interface PlanPillProps {
12
12
  mobileLabel?: string;
13
13
  /** Remaining time, e.g. `3mo left`. Rendered as an inset chip; omitted when empty. */
14
14
  status?: string;
15
+ /** Plan urgency; picks the theme gradient and default icon. Defaults to `normal`. */
15
16
  tone?: PlanPillTone;
16
17
  /** Leading icon. Defaults to a tone-appropriate lucide icon. Pass null to hide. */
17
18
  icon?: ElementType | null;
@@ -23,10 +23,14 @@ export interface PriceBlockProps extends PriceFormat {
23
23
  mrp?: number;
24
24
  /** Shows "min – max" instead of a single price, e.g. for a product whose variants differ; hides the MRP and discount. */
25
25
  priceRange?: {
26
+ /** Lowest price, formatted first; equal to `max` shows a single price. */
26
27
  min: number;
28
+ /** Highest price, formatted after the dash. */
27
29
  max: number;
28
30
  };
31
+ /** Typography scale; defaults to "md". */
29
32
  size?: PriceBlockSize;
33
+ /** Alignment of the lines; defaults to "start". */
30
34
  align?: PriceBlockAlign;
31
35
  /** Adds a "You save ₹1,500" line under the price; needs `mrp`. */
32
36
  showSavings?: boolean;
@@ -34,6 +38,8 @@ export interface PriceBlockProps extends PriceFormat {
34
38
  taxNote?: string;
35
39
  /** A `unitPrice()` result (null renders nothing), or a ready-made string; rendered as "₹169.80 / 100 g". */
36
40
  unitPrice?: UnitPrice | string | null;
41
+ /** Overrides the default English copy; unset keys keep their default. */
37
42
  labels?: Partial<PriceBlockLabels>;
43
+ /** Test id on the block's root. */
38
44
  "data-testid"?: string;
39
45
  }
@@ -11,8 +11,11 @@ export interface ProductBadgesProps {
11
11
  badges: ProductBadge[];
12
12
  /** How many badges to show; a card carries at most two. */
13
13
  max?: number;
14
+ /** Chip height; defaults to `sm`. */
14
15
  size?: ProductBadgeSize;
16
+ /** Chip style; defaults to `solid`. Use `glass` over photos. */
15
17
  variant?: ProductBadgeVariant;
18
+ /** Stack direction; defaults to `vertical`, `horizontal` wraps onto new rows. */
16
19
  orientation?: ProductBadgesOrientation;
17
20
  "data-testid"?: string;
18
21
  }
@@ -39,6 +39,7 @@ export interface ProductCardLabels {
39
39
  }
40
40
  /** Product card for listings, rails and search: media, brand, title, rating, price, swatches and one action; owns no product vocabulary beyond `axes`. */
41
41
  export interface ProductCardProps extends PriceFormat {
42
+ /** Product name; the title link or button text, and the card's accessible name. */
42
43
  title: string;
43
44
  /** Muted line above the title; own-brand stores omit it. */
44
45
  brand?: string;
@@ -54,6 +55,7 @@ export interface ProductCardProps extends PriceFormat {
54
55
  unitPrice?: UnitPrice | string | null;
55
56
  /** 0 to 5; the row is hidden when missing or 0, never rendered as "0 reviews". */
56
57
  rating?: number;
58
+ /** Review count shown beside the stars in compact form; has no effect when `rating` is missing or 0. */
57
59
  ratingCount?: number;
58
60
  /** Badges in priority order; at most two are drawn, and none on a sold-out card. */
59
61
  badges?: ProductBadge[];
@@ -77,8 +79,11 @@ export interface ProductCardProps extends PriceFormat {
77
79
  linkProps?: Omit<ComponentPropsWithoutRef<"a">, "href" | "onClick">;
78
80
  /** Makes the title a stretched button when there is no `href`, or runs beside navigation when there is. */
79
81
  onPress?: ProductCardPressHandler;
82
+ /** Card arrangement; defaults to `grid`. */
80
83
  layout?: ProductCardLayout;
84
+ /** Type, inset and control scale; defaults to `comfortable`. */
81
85
  density?: ProductCardDensity;
86
+ /** Media well ratio; defaults to `4/5`. */
82
87
  aspectRatio?: ProductCardAspectRatio;
83
88
  /** Overrides the action derived from the data (notify when sold out, options when an axis has choices, else add). */
84
89
  action?: ProductCardAction;
@@ -98,6 +103,7 @@ export interface ProductCardProps extends PriceFormat {
98
103
  onNotify?: () => void;
99
104
  /** Controlled wishlist state. */
100
105
  wishlisted?: boolean;
106
+ /** Fires with the new wishlist state when the heart is toggled. */
101
107
  onWishlistChange?: (wishlisted: boolean) => void;
102
108
  /** Marks the card as chosen (compare, bulk select): a ring on the media and a check, never colour alone. */
103
109
  selected?: boolean;
@@ -109,13 +115,17 @@ export interface ProductCardProps extends PriceFormat {
109
115
  meta?: ReactNode;
110
116
  /** Replaces the derived add control, keeping its footprint. */
111
117
  actions?: ReactNode;
118
+ /** Overrides for the card's own control copy; unspecified strings keep the English defaults. */
112
119
  labels?: Partial<ProductCardLabels>;
113
120
  "data-testid"?: string;
114
121
  }
115
122
  /** Skeleton with the card's box model; pass the same layout, density and ratio as the loaded cards. */
116
123
  export interface ProductCardSkeletonProps {
124
+ /** Card arrangement to mirror; defaults to `grid`. */
117
125
  layout?: ProductCardLayout;
126
+ /** Density to mirror; defaults to `compact`, unlike ProductCard's `comfortable`. */
118
127
  density?: ProductCardDensity;
128
+ /** Media well ratio to mirror; defaults to `4/5`. */
119
129
  aspectRatio?: ProductCardAspectRatio;
120
130
  "data-testid"?: string;
121
131
  }
@@ -17,12 +17,17 @@ export interface QuickAddSheetLabels {
17
17
  export type QuickAddPresentation = "auto" | "drawer" | "modal";
18
18
  /** Option picker shown before an add: the product, a `VariantSelector`, a quantity stepper and a confirm button naming the total. */
19
19
  export interface QuickAddSheetProps extends PriceFormat {
20
+ /** Whether the sheet is shown; each time it opens, selection resets to `defaultSelection` and quantity to 1. */
20
21
  isOpen: boolean;
22
+ /** Fires on dismissal (close button, overlay or Escape); also required to close after `onConfirm`. */
21
23
  onClose: () => void;
24
+ /** Product name shown beside the thumbnail and used to label the quantity stepper. */
22
25
  title: string;
26
+ /** Muted line above the title; omitted when absent. */
23
27
  brand?: string;
24
28
  /** Thumbnail beside the title. */
25
29
  media?: ProductMedia;
30
+ /** Option axes the shopper picks from; each must be chosen before confirming. */
26
31
  axes: OptionAxis[];
27
32
  /** Availability and the confirm total are derived from these. */
28
33
  variants: ProductVariant[];
@@ -30,9 +35,12 @@ export interface QuickAddSheetProps extends PriceFormat {
30
35
  defaultSelection?: VariantSelection;
31
36
  /** Fires with the chosen variant and quantity; the sheet does not close itself. */
32
37
  onConfirm: (variant: ProductVariant, quantity: number) => void;
38
+ /** How the sheet opens; defaults to `auto`. */
33
39
  presentation?: QuickAddPresentation;
34
40
  /** Merged over the drawer panel defaults, e.g. `{ maxW: "390px !important", mx: "auto" }` inside a phone-width frame; the slide sets an inline max-width. */
35
41
  drawerContentProps?: DrawerContentProps;
42
+ /** Overrides for the sheet copy; unspecified strings keep the English defaults. */
36
43
  labels?: Partial<QuickAddSheetLabels>;
44
+ /** Set on the sheet body wrapper, not on the dialog root. */
37
45
  "data-testid"?: string;
38
46
  }
@@ -9,10 +9,15 @@ import type { SpecItem } from "../SpecTable/SpecTableProps";
9
9
  import type { TrustItem } from "../TrustBadges/TrustBadgesProps";
10
10
  /** The catalogue record the page renders; structurally compatible with a store's product so it can be passed straight through. */
11
11
  export interface ProductDetailsProduct {
12
+ /** Page h1 and the accessible name of the quantity stepper and sticky bar. */
12
13
  title: string;
14
+ /** Muted line above the title. */
13
15
  brand?: string;
16
+ /** Body of the Description section. */
14
17
  description?: string;
18
+ /** Bullet list for the Highlights section. */
15
19
  highlights?: string[];
20
+ /** Rows of the Specifications section. */
16
21
  specs?: SpecItem[];
17
22
  /** Every frame the product has; variants and `mediaIdsByOption` pick which ones show. */
18
23
  media: ProductMedia[];
@@ -22,9 +27,11 @@ export interface ProductDetailsProduct {
22
27
  variants: ProductVariant[];
23
28
  /** Price shown until a variant is picked, and the fallback when a variant carries none. */
24
29
  price: number;
30
+ /** List price struck through beside `price`; a picked variant's own `mrp` replaces it. */
25
31
  mrp?: number;
26
32
  /** Average rating, 0 to 5. */
27
33
  rating?: number;
34
+ /** Number of ratings beside the stars; also keeps the reviews section when `reviews` is omitted. */
28
35
  ratingCount?: number;
29
36
  /** Corner badges on the gallery, e.g. "Bestseller". */
30
37
  badges?: ProductBadge[];
@@ -37,18 +44,24 @@ export interface ProductDetailsProduct {
37
44
  mediaIdsByOption?: Record<string, string[]>;
38
45
  /** Shipping and returns copy for the details section. */
39
46
  returnsNote?: string;
47
+ /** Country of origin line in the legal block of the details section. */
40
48
  originCountry?: string;
49
+ /** Manufacturer line in the legal block of the details section. */
41
50
  manufacturer?: string;
42
51
  /** Legal-metrology net quantity such as "500 g". */
43
52
  netQuantity?: string;
44
53
  }
45
- /** `auto` follows the viewport: two columns from 1024px up, the single-column phone page with a sticky buy bar below it. */
54
+ /** `auto` follows the component's own width (two columns from 960px, else the single-column phone page with a sticky buy bar); the window decides only until the first measure. */
46
55
  export type ProductDetailsLayout = "auto" | "desktop" | "mobile";
47
56
  /** Every string the page itself renders; sub-components take their own `labels` through their prop pass-throughs. */
48
57
  export interface ProductDetailsLabels {
58
+ /** Primary button text when the chosen variant can be bought. */
49
59
  addToBag: string;
60
+ /** Text of the secondary button shown when `onBuyNow` is set. */
50
61
  buyNow: string;
62
+ /** Primary button text when the chosen variant, or every variant, is sold out. */
51
63
  notifyMe: string;
64
+ /** Primary button text after the add confirmation, when `onGoToBag` is set. */
52
65
  goToBag: string;
53
66
  /** Short confirmation in the button right after an add. */
54
67
  added: string;
@@ -58,23 +71,30 @@ export interface ProductDetailsLabels {
58
71
  addFailed: string;
59
72
  /** Prompt for an unpicked axis, given its lower-cased label: "Select a size". */
60
73
  selectPrompt: (axisLabel: string) => string;
74
+ /** Line under the price, e.g. "Inclusive of all taxes". */
61
75
  taxNote: string;
62
76
  /** Accessible name of the rating link that scrolls to the reviews. */
63
77
  jumpToReviews: (ratingText: string) => string;
78
+ /** Accessible name of the share button; shown only when `onShare` is set. */
64
79
  share: string;
80
+ /** Label of the wishlist toggle. */
65
81
  wishlistSave: string;
66
82
  }
67
83
  /** The composed product page: gallery, buy panel, details and reviews, wired so the picked variant drives price, stock, frames and the primary action. */
68
84
  export interface ProductDetailsProps extends PriceFormat {
85
+ /** Catalogue record to render; changing it re-derives variants, frames and price. */
69
86
  product: ProductDetailsProduct;
70
87
  /** Controlled selection, axis id to option value id; nothing is preselected, because a size the shopper never chose is a wrong order. */
71
88
  selection?: VariantSelection;
89
+ /** Starting selection when uncontrolled, axis id to option value id. */
72
90
  defaultSelection?: VariantSelection;
73
91
  /** Receives the new selection and the matching variant, or undefined while it is incomplete. */
74
92
  onSelectionChange?: (selection: VariantSelection, variant: ProductVariant | undefined) => void;
75
93
  /** Controlled quantity, clamped to the variant's remaining stock and `maxQuantity`. */
76
94
  quantity?: number;
95
+ /** Starting quantity when uncontrolled; defaults to 1 and is clamped to the ceiling. */
77
96
  defaultQuantity?: number;
97
+ /** Fires with the new quantity after the stepper changes it. */
78
98
  onQuantityChange?: (quantity: number) => void;
79
99
  /** Per-order ceiling; the variant's remaining stock lowers it further. */
80
100
  maxQuantity?: number;
@@ -90,7 +110,9 @@ export interface ProductDetailsProps extends PriceFormat {
90
110
  addedDuration?: number;
91
111
  /** Controlled wishlist state; pair with `onWishlistChange`. */
92
112
  wishlisted?: boolean;
113
+ /** Starting wishlist state when uncontrolled. */
93
114
  defaultWishlisted?: boolean;
115
+ /** Fires with the new wishlist state when the toggle is pressed. */
94
116
  onWishlistChange?: (wishlisted: boolean) => void;
95
117
  /** Shows a share button beside the title. */
96
118
  onShare?: () => void;
@@ -140,6 +162,8 @@ export interface ProductDetailsProps extends PriceFormat {
140
162
  relatedSlot?: ReactNode;
141
163
  /** Skeleton in place of the gallery and buy panel. */
142
164
  isLoading?: boolean;
165
+ /** Overrides for the page copy; unspecified strings keep the English defaults. */
143
166
  labels?: Partial<ProductDetailsLabels>;
167
+ /** Set on the page root, which also carries `data-layout` of `desktop` or `mobile`. */
144
168
  "data-testid"?: string;
145
169
  }
@@ -5,7 +5,7 @@ export type ProfileCardVariant = "elevated" | "outline" | "filled" | "unstyled";
5
5
  export type ProfileCardVariantLegacy = "outlein";
6
6
  /** borderTopColor/borderLeftColor are booleans toggling a fixed accent border color, not custom-color props; borderLeftColor wins if both are true. */
7
7
  export type ProfileCardProps = Pick<CardProps, "direction" | "maxW" | "align" | "justify" | "overflow"> & {
8
- /** Only ProfileCardHeader/Body/Footer children render, matched by type one fragment deep; any other sibling is dropped. */
8
+ /** Only ProfileCardHeader/Body/Footer children render, matched by type through nested Fragments; any other sibling is dropped. */
9
9
  children: React.ReactNode;
10
10
  /** Chakra Card variant; "outlein" is mapped to "outline". */
11
11
  variant?: ProfileCardVariant | ProfileCardVariantLegacy;
@@ -4,21 +4,30 @@ export type QuantityStepperSize = "sm" | "md" | "lg";
4
4
  export type QuantityStepperVariant = "soft" | "outline";
5
5
  /** Compact − qty + control. Display only: the number is never typed, which keeps it fast on mobile. */
6
6
  export interface QuantityStepperProps {
7
+ /** Controlled quantity; pair with `onValueChange`. */
7
8
  value?: number;
9
+ /** Starting quantity when uncontrolled; defaults to `min`. */
8
10
  defaultValue?: number;
11
+ /** Fires with the new clamped quantity after a plus or minus press; not fired when a limit blocks the change. */
9
12
  onValueChange?: (value: number) => void;
10
13
  /** Lowest value; defaults to 1. At the floor the minus button is aria-disabled. */
11
14
  min?: number;
12
15
  /** Highest value; omit for no ceiling. At the ceiling the plus button is aria-disabled. */
13
16
  max?: number;
17
+ /** Amount added or removed per press; defaults to 1. */
14
18
  step?: number;
19
+ /** Control height; defaults to `md`. */
15
20
  size?: QuantityStepperSize;
21
+ /** Surface style; defaults to `soft`. */
16
22
  variant?: QuantityStepperVariant;
17
23
  /** At `min` the minus becomes a trash button that calls onRemove, for cart lines. */
18
24
  removable?: boolean;
25
+ /** Fires when the trash button is pressed at `min`; only reachable with `removable`. */
19
26
  onRemove?: () => void;
27
+ /** Dims the stepper and disables both buttons. */
20
28
  disabled?: boolean;
21
29
  /** Product name, so the group reads "Quantity of Slim-Fit Denim Jacket". */
22
30
  itemLabel?: string;
31
+ /** Set on the group; the buttons get `<id>-dec` and `<id>-inc`. */
23
32
  "data-testid"?: string;
24
33
  }
@@ -18,6 +18,7 @@ export interface ErrorStateProps {
18
18
  action?: ReactNode;
19
19
  /** Passed to EmptyState; defaults to "md". */
20
20
  size?: EmptyStateProps["size"];
21
+ /** Minimum height of the panel, passed to EmptyState. */
21
22
  minH?: EmptyStateProps["minH"];
22
23
  }
23
24
  /** Copy for the no-access panel; each field falls back to a generic default. */
@@ -65,5 +66,6 @@ export interface QueryStateBoundaryProps {
65
66
  isRetrying?: boolean;
66
67
  /** Min height of the error and empty states, not loading; defaults to "24rem". */
67
68
  minH?: EmptyStateProps["minH"];
69
+ /** Content for the ready state; pass a function to read data only when it exists. */
68
70
  children: ReactNode | (() => ReactNode);
69
71
  }
@@ -47,7 +47,7 @@ export type ChakraRadioGroupProps = Pick<RadioGroupProps, "size" | "colorScheme"
47
47
  id?: string;
48
48
  /** Marks every radio invalid and shows `errorMessage` in place of `helperText`. */
49
49
  error?: boolean;
50
- /** Shown under the group while `error` is true; falls back to "Error". */
50
+ /** Shown under the group while `error` is true. */
51
51
  errorMessage?: string;
52
52
  /** Shown under the group when there is no error; linked via aria-describedby. */
53
53
  helperText?: string;
@@ -8,6 +8,7 @@ export interface RatingProps {
8
8
  defaultValue?: number;
9
9
  /** Number of stars. */
10
10
  max?: number;
11
+ /** Star glyph size; defaults to "sm". */
11
12
  size?: RatingSize;
12
13
  /** Shows the numeric value ("4.6") after the stars. */
13
14
  showValue?: boolean;
@@ -23,5 +24,6 @@ export interface RatingProps {
23
24
  isDisabled?: boolean;
24
25
  /** Overrides the accessible name; the group name in interactive mode, the "Rated 4.6 out of 5" text otherwise. */
25
26
  "aria-label"?: string;
27
+ /** Test id on the outermost element, in both read-only and interactive modes. */
26
28
  "data-testid"?: string;
27
29
  }
@@ -1,16 +1,22 @@
1
1
  /** Minimal shape for a draggable tile — previewUrl renders as the thumbnail image; name is only used as its alt-text fallback (else "item-<1-based position>", matching the ordinal badge). */
2
2
  export interface ReorderItem {
3
+ /** Stable unique key; used as the drag identity and passed to `onRemove`. */
3
4
  id: string;
5
+ /** Image URL rendered as the tile thumbnail. */
4
6
  previewUrl: string;
7
+ /** Alt text of the thumbnail; falls back to "item-<position>". */
5
8
  name?: string;
6
9
  }
7
10
  /** Props for the horizontal drag-reorderable row of image tiles (ReorderList). */
8
11
  export interface ReorderListProps<T extends ReorderItem> {
12
+ /** Heading in uppercase beside the icon above the tiles; empty by default. */
9
13
  label?: string;
14
+ /** Tiles in display order; the list is controlled, so update it from `onReorder`. */
10
15
  items: T[];
11
16
  /** Fires on every completed drag, even a drop back at the start index — diff the array to detect a real change. */
12
17
  onReorder: (items: T[]) => void;
13
18
  /** Renders a per-tile "Remove" button; requires onRemove to do anything. */
14
19
  showRemoveIcon?: boolean;
20
+ /** Receives the id of the tile whose remove button was pressed; the list does not remove it itself. */
15
21
  onRemove?: (id: string) => void;
16
22
  }
@@ -1,20 +1,28 @@
1
1
  import type { ReactNode } from "react";
2
2
  /** A photo attached to a review. */
3
3
  export interface ReviewMedia {
4
+ /** Stable React key for the photo. */
4
5
  id: string;
6
+ /** Image URL, shown as a lazy-loaded 72px thumbnail. */
5
7
  src: string;
8
+ /** Alt text; falls back to `labels.photoAlt` with the author's name. */
6
9
  alt?: string;
7
10
  }
8
11
  /** One customer review. */
9
12
  export interface ReviewItem {
13
+ /** Stable key for the review; passed to `onHelpful` and used for expand and helpful state. */
10
14
  id: string;
15
+ /** Reviewer name shown in the byline and in the fallback photo alt text. */
11
16
  author: string;
17
+ /** Reviewer's city, shown after the author name when given. */
12
18
  city?: string;
13
19
  /** Whole stars, 1 to 5. */
14
20
  rating: number;
15
21
  /** ISO date such as "2026-09-21"; formatted per `locale`, and shown as given when it is not a valid date. */
16
22
  date: string;
23
+ /** Heading beside the stars; omitted when empty. */
17
24
  title?: string;
25
+ /** Review text; clamped to four lines when longer than `clampChars`. */
18
26
  body: string;
19
27
  /** Adds the "Verified purchase" marker. */
20
28
  verified?: boolean;
@@ -22,18 +30,26 @@ export interface ReviewItem {
22
30
  helpful?: number;
23
31
  /** Variant the reviewer bought, e.g. "M". */
24
32
  purchasedSize?: string;
33
+ /** Photos shown as thumbnails under the body. */
25
34
  media?: ReviewMedia[];
26
35
  }
27
36
  /** Every string the list renders; override all of them for another language. */
28
37
  export interface ReviewListLabels {
38
+ /** Marker text shown when a review is `verified`. */
29
39
  verified: string;
30
40
  /** Button name, given the vote count. */
31
41
  helpful: (count: number) => string;
42
+ /** Toggle text on a clamped body. */
32
43
  readMore: string;
44
+ /** Toggle text on an expanded body. */
33
45
  readLess: string;
46
+ /** Load-more button text. */
34
47
  loadMore: string;
48
+ /** Load-more button text while `isLoadingMore`. */
35
49
  loadingMore: string;
50
+ /** Heading of the default empty state. */
36
51
  emptyTitle: string;
52
+ /** Supporting text of the default empty state. */
37
53
  emptyBody: string;
38
54
  /** Detail line, given the size the reviewer bought. */
39
55
  purchasedSize: (size: string) => string;
@@ -46,6 +62,7 @@ export interface ReviewListLabels {
46
62
  }
47
63
  /** Customer reviews with verified marker, helpful votes, clamped long bodies, a sort slot and load-more paging. */
48
64
  export interface ReviewListProps {
65
+ /** Reviews to render in order; an empty list shows the empty state. */
49
66
  reviews: ReviewItem[];
50
67
  /** Fires with the review id when "Helpful" is pressed; the button then shows as pressed and the count rises by one. */
51
68
  onHelpful?: (reviewId: string) => void;
@@ -55,6 +72,7 @@ export interface ReviewListProps {
55
72
  sortSlot?: ReactNode;
56
73
  /** Shows the "Load more" button. */
57
74
  hasMore?: boolean;
75
+ /** Fires when "Load more" is pressed; the parent appends the next page to `reviews`. */
58
76
  onLoadMore?: () => void;
59
77
  /** Shows skeleton rows in place of the reviews. */
60
78
  isLoading?: boolean;
@@ -62,7 +80,10 @@ export interface ReviewListProps {
62
80
  isLoadingMore?: boolean;
63
81
  /** Replaces the default empty state. */
64
82
  emptyState?: ReactNode;
83
+ /** Locale for review dates; defaults to en-IN, and an invalid locale falls back to it. */
65
84
  locale?: string;
85
+ /** Partial overrides of the default English strings. */
66
86
  labels?: Partial<ReviewListLabels>;
87
+ /** Test id on the root section; each review row also carries `review-<id>`. */
67
88
  "data-testid"?: string;
68
89
  }
@@ -2,11 +2,15 @@
2
2
  export type RatingBreakdown = Record<1 | 2 | 3 | 4 | 5, number>;
3
3
  /** Every string the summary renders; override all of them for another language. */
4
4
  export interface ReviewSummaryLabels {
5
+ /** Section heading text. */
5
6
  heading: string;
7
+ /** Text of the write-a-review button. */
6
8
  writeReview: string;
7
9
  /** Count line, given the total number of ratings. */
8
10
  ratings: (count: number) => string;
11
+ /** Heading of the no-ratings state. */
9
12
  emptyTitle: string;
13
+ /** Invitation text of the no-ratings state. */
10
14
  emptyBody: string;
11
15
  /** Accessible name of one bar, given the star level and the share as a whole percentage. */
12
16
  bar: (stars: number, percent: number) => string;
@@ -19,13 +23,16 @@ export interface ReviewSummaryProps {
19
23
  count: number;
20
24
  /** Counts per star; the bars show each row's share of their sum. */
21
25
  breakdown?: RatingBreakdown;
22
- /** The distribution only appears at or above this many ratings, because bars on a handful of ratings mislead. */
26
+ /** The distribution only appears at or above this many ratings, because bars on a handful of ratings mislead; defaults to 10. */
23
27
  minRatingsForBars?: number;
24
28
  /** Shows a "Write a review" button when provided. */
25
29
  onWriteReview?: () => void;
26
30
  /** Heading element id, so a "4.6 (412)" link elsewhere can scroll here and a region can be labelled by it. */
27
31
  id?: string;
32
+ /** Locale for number formatting; defaults to en-IN. */
28
33
  locale?: string;
34
+ /** Partial overrides of the default English strings. */
29
35
  labels?: Partial<ReviewSummaryLabels>;
36
+ /** Test id on the root section. */
30
37
  "data-testid"?: string;
31
38
  }