pixelize-design-library 2.4.2-beta.4 → 2.4.2-beta.40

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 (525) hide show
  1. package/COMPONENT-GOTCHAS.md +1087 -0
  2. package/README.md +26 -0
  3. package/dist/Components/Accordion/Accordion.d.ts +1 -0
  4. package/dist/Components/Accordion/Accordion.js +4 -1
  5. package/dist/Components/Accordion/AccordionProps.d.ts +2 -0
  6. package/dist/Components/AlertDialog/AlertDialog.d.ts +1 -0
  7. package/dist/Components/AlertDialog/AlertDialog.js +1 -0
  8. package/dist/Components/AlertDialog/AlertDialogProps.d.ts +2 -0
  9. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.d.ts +1 -0
  10. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +1 -0
  11. package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChartProps.d.ts +4 -0
  12. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts +1 -0
  13. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +1 -0
  14. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChartProps.d.ts +6 -0
  15. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts +1 -0
  16. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +1 -0
  17. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChartProps.d.ts +8 -0
  18. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts +1 -0
  19. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +1 -0
  20. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChartProps.d.ts +6 -0
  21. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts +1 -0
  22. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +1 -0
  23. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarChartsProps.d.ts +3 -0
  24. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.d.ts +1 -0
  25. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +1 -0
  26. package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChartProps.d.ts +3 -0
  27. package/dist/Components/AppSwitcher/AppMark.d.ts +19 -0
  28. package/dist/Components/AppSwitcher/AppMark.js +62 -0
  29. package/dist/Components/AppSwitcher/AppSwitcher.d.ts +4 -0
  30. package/dist/Components/AppSwitcher/AppSwitcher.js +278 -0
  31. package/dist/Components/AppSwitcher/AppSwitcherProps.d.ts +70 -0
  32. package/dist/Components/AppSwitcher/AppSwitcherProps.js +86 -0
  33. package/dist/Components/AppSwitcher/useAppSwitcherShortcut.d.ts +3 -0
  34. package/dist/Components/AppSwitcher/useAppSwitcherShortcut.js +31 -0
  35. package/dist/Components/AppearanceSettings/AppearanceSettings.js +2 -1
  36. package/dist/Components/AppearanceSettings/AppearanceSettingsProps.d.ts +2 -0
  37. package/dist/Components/Breadcrumbs/BreadcrumbsProps.d.ts +3 -0
  38. package/dist/Components/Button/Button.d.ts +2 -2
  39. package/dist/Components/Button/Button.js +4 -3
  40. package/dist/Components/Button/Button.styles.js +37 -23
  41. package/dist/Components/Button/ButtonProps.d.ts +9 -1
  42. package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +7 -0
  43. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +2 -4
  44. package/dist/Components/Buttons/ButtonsProps.d.ts +2 -0
  45. package/dist/Components/Card/Card.d.ts +1 -1
  46. package/dist/Components/Card/Card.js +2 -2
  47. package/dist/Components/Card/CardProps.d.ts +3 -1
  48. package/dist/Components/Card/PaymentCard/PaymentCard.js +21 -12
  49. package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +6 -0
  50. package/dist/Components/Checkbox/Checkbox.d.ts +1 -0
  51. package/dist/Components/Checkbox/Checkbox.js +2 -1
  52. package/dist/Components/Checkbox/Checkbox.styles.js +12 -7
  53. package/dist/Components/Checkbox/CheckboxProps.d.ts +4 -0
  54. package/dist/Components/Common/ErrorComponent.d.ts +2 -0
  55. package/dist/Components/Common/ErrorComponent.js +7 -5
  56. package/dist/Components/Common/ErrorMessage.js +2 -2
  57. package/dist/Components/Common/FormLabel.d.ts +4 -0
  58. package/dist/Components/Common/FormLabel.js +1 -0
  59. package/dist/Components/Common/FormattedDescription.d.ts +2 -0
  60. package/dist/Components/Common/FormattedDescription.js +1 -0
  61. package/dist/Components/Common/HelperText.d.ts +2 -0
  62. package/dist/Components/Common/HelperText.js +2 -0
  63. package/dist/Components/Common/Label.d.ts +1 -0
  64. package/dist/Components/Common/Label.js +1 -0
  65. package/dist/Components/Common/fieldStyles.js +1 -1
  66. package/dist/Components/ContactForm/ContactForm.d.ts +1 -0
  67. package/dist/Components/ContactForm/ContactForm.js +1 -0
  68. package/dist/Components/ContactForm/ContactFormProps.d.ts +4 -0
  69. package/dist/Components/CopyButton/CopyButton.d.ts +3 -1
  70. package/dist/Components/CopyButton/CopyButton.js +9 -3
  71. package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +8 -0
  72. package/dist/Components/DatePicker/CalendarPanel.d.ts +6 -0
  73. package/dist/Components/DatePicker/CalendarPanel.js +37 -15
  74. package/dist/Components/DatePicker/DatePicker.d.ts +1 -0
  75. package/dist/Components/DatePicker/DatePicker.js +1 -0
  76. package/dist/Components/DatePicker/DatePickerProps.d.ts +30 -0
  77. package/dist/Components/DatePicker/RangeDatePicker.d.ts +1 -0
  78. package/dist/Components/DatePicker/RangeDatePicker.js +30 -5
  79. package/dist/Components/DatePicker/SingleDatePicker.d.ts +1 -0
  80. package/dist/Components/DatePicker/SingleDatePicker.js +49 -14
  81. package/dist/Components/DatePicker/ThemeDatePicker.d.ts +1 -0
  82. package/dist/Components/DatePicker/ThemeDatePicker.js +1 -0
  83. package/dist/Components/DatePicker/TimeOnlyPicker.d.ts +1 -0
  84. package/dist/Components/DatePicker/TimeOnlyPicker.js +11 -2
  85. package/dist/Components/DatePicker/TimePicker.d.ts +1 -0
  86. package/dist/Components/DatePicker/TimePicker.js +4 -3
  87. package/dist/Components/DatePicker/TimePickerInput.d.ts +1 -0
  88. package/dist/Components/DatePicker/TimePickerInput.js +2 -1
  89. package/dist/Components/DatePicker/dayStates.d.ts +56 -0
  90. package/dist/Components/DatePicker/dayStates.js +87 -0
  91. package/dist/Components/Divider/Divider.d.ts +1 -0
  92. package/dist/Components/Divider/Divider.js +1 -0
  93. package/dist/Components/Drawer/DrawerProps.d.ts +2 -0
  94. package/dist/Components/Dropdown/DropDown.d.ts +1 -0
  95. package/dist/Components/Dropdown/DropDown.js +22 -6
  96. package/dist/Components/Dropdown/DropdownProps.d.ts +3 -0
  97. package/dist/Components/Editor/Editor.d.ts +1 -0
  98. package/dist/Components/Editor/Editor.js +1 -0
  99. package/dist/Components/Editor/EditorProps.d.ts +2 -0
  100. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts +1 -0
  101. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +2 -5
  102. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtpProps.d.ts +4 -0
  103. package/dist/Components/EmptyState/EmptyState.d.ts +1 -0
  104. package/dist/Components/EmptyState/EmptyState.js +4 -2
  105. package/dist/Components/EmptyState/EmptyStateProps.d.ts +3 -0
  106. package/dist/Components/FeedbackForm/FeedbackForm.d.ts +3 -0
  107. package/dist/Components/FeedbackForm/FeedbackForm.js +1 -0
  108. package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts +3 -2
  109. package/dist/Components/FieldSelectModal/FieldSelectModal.js +1 -0
  110. package/dist/Components/FilePreview/FilePreview.d.ts +1 -0
  111. package/dist/Components/FilePreview/FilePreview.js +3 -1
  112. package/dist/Components/FilePreview/FilePreviewProps.d.ts +5 -2
  113. package/dist/Components/FileUpload/FileUpload.d.ts +1 -0
  114. package/dist/Components/FileUpload/FileUpload.js +7 -5
  115. package/dist/Components/FileUpload/FileUploadProps.d.ts +7 -1
  116. package/dist/Components/FileUpload/constants.js +1 -0
  117. package/dist/Components/FileUploader/FileUploader.d.ts +1 -0
  118. package/dist/Components/FileUploader/FileUploader.js +1 -0
  119. package/dist/Components/FileUploader/FileUploaderProps.d.ts +2 -0
  120. package/dist/Components/FilterSidebar/FilterSidebar.d.ts +3 -0
  121. package/dist/Components/FilterSidebar/FilterSidebar.js +5 -5
  122. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +2 -10
  123. package/dist/Components/FilterSidebar/filterHoverStyle.js +3 -10
  124. package/dist/Components/Form/FormWrapper.d.ts +3 -0
  125. package/dist/Components/Form/FormWrapper.js +2 -1
  126. package/dist/Components/Header/HeaderProps.d.ts +5 -0
  127. package/dist/Components/Header/components/mobileMenu.js +12 -3
  128. package/dist/Components/Input/Input/InputProps.d.ts +2 -0
  129. package/dist/Components/Input/PhoneNumberInput.d.ts +1 -0
  130. package/dist/Components/Input/PhoneNumberInput.js +1 -0
  131. package/dist/Components/Input/PhoneNumberInputProps.d.ts +3 -0
  132. package/dist/Components/Input/Switch/InputSwitch.d.ts +2 -0
  133. package/dist/Components/Input/Switch/InputSwitch.js +1 -0
  134. package/dist/Components/Input/TextInput.js +1 -0
  135. package/dist/Components/Input/TextInput.styles.js +8 -10
  136. package/dist/Components/Input/TextInputProps.d.ts +2 -0
  137. package/dist/Components/InputTextArea/InputTextArea.d.ts +1 -0
  138. package/dist/Components/InputTextArea/InputTextArea.js +1 -0
  139. package/dist/Components/InputTextArea/InputTextArea.style.js +7 -6
  140. package/dist/Components/InputTextArea/InputTextAreaProps.d.ts +1 -0
  141. package/dist/Components/KanbanBoard/AccountCard.d.ts +3 -0
  142. package/dist/Components/KanbanBoard/AccountCard.js +1 -0
  143. package/dist/Components/KanbanBoard/AccountRow.d.ts +1 -0
  144. package/dist/Components/KanbanBoard/AccountRow.js +1 -0
  145. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.d.ts +2 -0
  146. package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  147. package/dist/Components/KanbanBoard/KanbanBoard.d.ts +1 -0
  148. package/dist/Components/KanbanBoard/KanbanBoard.js +1 -0
  149. package/dist/Components/KanbanBoard/KanbanBoardProps.d.ts +39 -14
  150. package/dist/Components/KanbanBoard/MeasuredItem.d.ts +1 -0
  151. package/dist/Components/KanbanBoard/MeasuredItem.js +1 -0
  152. package/dist/Components/LazyWrapper/LazyWrapper.d.ts +3 -2
  153. package/dist/Components/LazyWrapper/LazyWrapper.js +1 -0
  154. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +4 -1
  155. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +2 -0
  156. package/dist/Components/LimitReachedModal/limitReachedCopy.js +2 -0
  157. package/dist/Components/Loading/Loading.d.ts +1 -0
  158. package/dist/Components/Loading/Loading.js +16 -14
  159. package/dist/Components/Loading/LoadingProps.d.ts +2 -0
  160. package/dist/Components/Modal/ModalProps.d.ts +2 -0
  161. package/dist/Components/MoreItems/MoreItems.d.ts +1 -0
  162. package/dist/Components/MoreItems/MoreItems.js +4 -1
  163. package/dist/Components/MoreItems/MoreItemsProps.d.ts +4 -2
  164. package/dist/Components/MultiSelect/MultiSelect.js +2 -2
  165. package/dist/Components/MultiSelect/MultiSelectProps.d.ts +2 -0
  166. package/dist/Components/NavigationBar/NavigationBar.js +9 -10
  167. package/dist/Components/NavigationBar/NavigationBarProps.d.ts +3 -0
  168. package/dist/Components/NoteTextArea/NoteTextArea.d.ts +1 -0
  169. package/dist/Components/NoteTextArea/NoteTextArea.js +10 -4
  170. package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +2 -0
  171. package/dist/Components/Notification/Notification.d.ts +1 -0
  172. package/dist/Components/Notification/Notification.js +1 -0
  173. package/dist/Components/Notification/NotificationProps.d.ts +6 -0
  174. package/dist/Components/NumberInput/NumberInput.d.ts +1 -0
  175. package/dist/Components/NumberInput/NumberInput.js +4 -1
  176. package/dist/Components/NumberInput/NumberInput.styles.js +7 -6
  177. package/dist/Components/NumberInput/NumberInputProps.d.ts +3 -0
  178. package/dist/Components/OrgSwitcher/OrgSwitcher.js +14 -10
  179. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +6 -1
  180. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +1 -0
  181. package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts +1 -0
  182. package/dist/Components/OrganizationDetails/OrganizationDetails.js +4 -2
  183. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +16 -4
  184. package/dist/Components/PdfViewer/PdfViewer.d.ts +2 -1
  185. package/dist/Components/PdfViewer/PdfViewer.js +7 -1
  186. package/dist/Components/PinInput/PinInput.d.ts +1 -0
  187. package/dist/Components/PinInput/PinInput.js +1 -0
  188. package/dist/Components/PinInput/PinInputProps.d.ts +2 -0
  189. package/dist/Components/PinInputs/PinInputs.d.ts +1 -0
  190. package/dist/Components/PinInputs/PinInputs.js +1 -0
  191. package/dist/Components/PinInputs/PinInputsProps.d.ts +1 -0
  192. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +2 -0
  193. package/dist/Components/PlanPill/PlanPillProps.d.ts +2 -0
  194. package/dist/Components/Primitives/Primitives.d.ts +6 -0
  195. package/dist/Components/Primitives/Primitives.js +113 -0
  196. package/dist/Components/ProductCard/ProductCardProps.d.ts +10 -0
  197. package/dist/Components/ProductCard/ProductReview.d.ts +1 -0
  198. package/dist/Components/ProductCard/ProductReview.js +6 -1
  199. package/dist/Components/ProductCard/ProductTags.js +1 -1
  200. package/dist/Components/ProductDetails/ProductDetailsProps.d.ts +7 -0
  201. package/dist/Components/ProfileCard/ProfileCard.js +1 -1
  202. package/dist/Components/ProfileCard/ProfileCardProps.d.ts +3 -0
  203. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -0
  204. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +5 -3
  205. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +9 -1
  206. package/dist/Components/ProgressBar/ProgressBar.d.ts +1 -0
  207. package/dist/Components/ProgressBar/ProgressBar.js +1 -0
  208. package/dist/Components/ProgressBar/ProgressBarProps.d.ts +2 -0
  209. package/dist/Components/RadioButton/RadioButton.js +3 -2
  210. package/dist/Components/RadioButton/RadioButtonProps.d.ts +2 -0
  211. package/dist/Components/Reorder/Reorder.d.ts +2 -0
  212. package/dist/Components/Reorder/Reorder.js +1 -0
  213. package/dist/Components/Reorder/ReorderProps.d.ts +3 -0
  214. package/dist/Components/RolesPermission/RolesPermission.d.ts +1 -0
  215. package/dist/Components/RolesPermission/RolesPermission.js +5 -3
  216. package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +16 -1
  217. package/dist/Components/ScrollToTop/ScrollToTop.d.ts +3 -2
  218. package/dist/Components/ScrollToTop/ScrollToTop.js +4 -1
  219. package/dist/Components/ScrollbarBox/ScrollbarBox.d.ts +7 -0
  220. package/dist/Components/ScrollbarBox/ScrollbarBox.js +1 -0
  221. package/dist/Components/Search/Search.d.ts +1 -0
  222. package/dist/Components/Search/Search.js +3 -2
  223. package/dist/Components/Search/SearchProps.d.ts +2 -0
  224. package/dist/Components/SearchSelect/SearchSelect.d.ts +1 -0
  225. package/dist/Components/SearchSelect/SearchSelect.js +48 -37
  226. package/dist/Components/SearchSelect/SearchSelectProps.d.ts +23 -0
  227. package/dist/Components/SegmentedControl/SegmentedControl.d.ts +3 -0
  228. package/dist/Components/SegmentedControl/SegmentedControl.js +89 -0
  229. package/dist/Components/SegmentedControl/SegmentedControlProps.d.ts +23 -0
  230. package/dist/Components/SegmentedControl/SegmentedControlProps.js +2 -0
  231. package/dist/Components/Select/Select.d.ts +1 -1
  232. package/dist/Components/Select/Select.js +4 -2
  233. package/dist/Components/Select/Select.styles.js +3 -2
  234. package/dist/Components/Select/SelectProps.d.ts +6 -0
  235. package/dist/Components/SelectSearch/SelectSearch.d.ts +1 -0
  236. package/dist/Components/SelectSearch/SelectSearch.js +37 -15
  237. package/dist/Components/SelectSearch/SelectSearchProps.d.ts +5 -0
  238. package/dist/Components/SelectV2/SelectV2.d.ts +1 -0
  239. package/dist/Components/SelectV2/SelectV2.js +20 -5
  240. package/dist/Components/SelectV2/SelectV2Props.d.ts +6 -1
  241. package/dist/Components/SideBar/SecondaryBar.js +1 -1
  242. package/dist/Components/SideBar/SideBar.js +5 -3
  243. package/dist/Components/SideBar/SideBarProps.d.ts +38 -24
  244. package/dist/Components/SideBar/components/MenuPopoverContent.js +2 -2
  245. package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +3 -0
  246. package/dist/Components/Skeletons/SkeletonProps.d.ts +2 -0
  247. package/dist/Components/Skeletons/Skeletons.d.ts +1 -0
  248. package/dist/Components/Skeletons/Skeletons.js +1 -0
  249. package/dist/Components/Slider/Slider.d.ts +3 -0
  250. package/dist/Components/Slider/Slider.js +9 -1
  251. package/dist/Components/StageProgress/StageItem.d.ts +1 -0
  252. package/dist/Components/StageProgress/StageItem.js +1 -0
  253. package/dist/Components/StageProgress/StageProgress.d.ts +1 -0
  254. package/dist/Components/StageProgress/StageProgress.js +1 -0
  255. package/dist/Components/StageProgress/StageProgressProps.d.ts +45 -4
  256. package/dist/Components/StageProgress/StageProgressProps.js +6 -4
  257. package/dist/Components/StageProgress/StepperStage.js +2 -2
  258. package/dist/Components/Switch/Switch.d.ts +1 -0
  259. package/dist/Components/Switch/Switch.js +1 -0
  260. package/dist/Components/Switch/SwitchProps.d.ts +1 -0
  261. package/dist/Components/Table/Table.d.ts +2 -1
  262. package/dist/Components/Table/Table.js +15 -5
  263. package/dist/Components/Table/TableProps.d.ts +47 -0
  264. package/dist/Components/Table/components/Pagination.js +1 -1
  265. package/dist/Components/Table/components/TableActions.js +2 -2
  266. package/dist/Components/Table/components/TableBody.js +44 -18
  267. package/dist/Components/Table/components/TableGroupRow.js +1 -1
  268. package/dist/Components/Table/components/TableHeader.js +21 -8
  269. package/dist/Components/Table/components/TableSearch.js +1 -1
  270. package/dist/Components/Table/filters/CompactSelect.d.ts +1 -0
  271. package/dist/Components/Table/filters/CompactSelect.js +29 -8
  272. package/dist/Components/Table/filters/LeftFilterPane.d.ts +9 -1
  273. package/dist/Components/Table/filters/LeftFilterPane.js +1 -1
  274. package/dist/Components/Table/settings/ManageColumns.js +8 -5
  275. package/dist/Components/Table/settings/TableSettings.js +6 -4
  276. package/dist/Components/Table/variants/TableVariantContext.d.ts +4 -0
  277. package/dist/Components/Table/variants/TableVariantContext.js +17 -0
  278. package/dist/Components/Table/variants/classic.d.ts +6 -0
  279. package/dist/Components/Table/variants/classic.js +47 -0
  280. package/dist/Components/Table/variants/index.d.ts +7 -0
  281. package/dist/Components/Table/variants/index.js +27 -0
  282. package/dist/Components/Table/variants/pillInk.d.ts +6 -0
  283. package/dist/Components/Table/variants/pillInk.js +21 -0
  284. package/dist/Components/Table/variants/studio.d.ts +6 -0
  285. package/dist/Components/Table/variants/studio.js +50 -0
  286. package/dist/Components/Table/variants/tokens.d.ts +49 -0
  287. package/dist/Components/Table/variants/tokens.js +2 -0
  288. package/dist/Components/Tag/Tag.d.ts +1 -0
  289. package/dist/Components/Tag/Tag.js +1 -0
  290. package/dist/Components/Tag/Tag.styles.js +16 -11
  291. package/dist/Components/Tag/TagProps.d.ts +7 -0
  292. package/dist/Components/Timeline/Timeline.d.ts +1 -0
  293. package/dist/Components/Timeline/Timeline.js +1 -0
  294. package/dist/Components/Timeline/TimelineProps.d.ts +8 -0
  295. package/dist/Components/Toaster/Toaster.d.ts +1 -0
  296. package/dist/Components/Toaster/Toaster.js +1 -0
  297. package/dist/Components/Toaster/ToasterProps.d.ts +3 -0
  298. package/dist/Components/Toggle/TableToggle.d.ts +1 -0
  299. package/dist/Components/Toggle/TableToggle.js +73 -18
  300. package/dist/Components/Toggle/TableToggleProps.d.ts +6 -0
  301. package/dist/Components/ToggleSwitch/ToggleSwitch.d.ts +3 -0
  302. package/dist/Components/ToggleSwitch/ToggleSwitch.js +19 -0
  303. package/dist/Components/ToggleSwitch/ToggleSwitchProps.d.ts +13 -0
  304. package/dist/Components/ToggleSwitch/ToggleSwitchProps.js +2 -0
  305. package/dist/Components/ToolTip/ToolTip.d.ts +1 -0
  306. package/dist/Components/ToolTip/ToolTip.js +7 -6
  307. package/dist/Components/ToolTip/ToolTipProps.d.ts +5 -1
  308. package/dist/Components/Trail/EditableCell.d.ts +2 -0
  309. package/dist/Components/Trail/EditableCell.js +2 -1
  310. package/dist/Components/Trail/SelectAllCheckbox.d.ts +1 -0
  311. package/dist/Components/Trail/SelectAllCheckbox.js +1 -0
  312. package/dist/Components/Trail/TrailWorks.d.ts +1 -0
  313. package/dist/Components/Trail/TrailWorks.js +2 -1
  314. package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +6 -2
  315. package/dist/Components/UserDetails/DeactivateConfirmModal.js +1 -1
  316. package/dist/Components/UserDetails/UserDetails.d.ts +1 -0
  317. package/dist/Components/UserDetails/UserDetails.js +6 -3
  318. package/dist/Components/UserDetails/UserDetailsProps.d.ts +30 -1
  319. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +6 -1
  320. package/dist/Hooks/exclusiveOverlay.d.ts +4 -0
  321. package/dist/Hooks/exclusiveOverlay.js +22 -0
  322. package/dist/Hooks/useExclusiveOverlay.d.ts +5 -0
  323. package/dist/Hooks/useExclusiveOverlay.js +24 -0
  324. package/dist/Theme/assertPalette.d.ts +1 -1
  325. package/dist/Theme/assertPalette.js +3 -2
  326. package/dist/Theme/chakra/Menu.styles.d.ts +2 -0
  327. package/dist/Theme/chakra/Menu.styles.js +9 -5
  328. package/dist/Theme/chakra/Popover.styles.d.ts +3 -0
  329. package/dist/Theme/chakra/Popover.styles.js +5 -1
  330. package/dist/Theme/chakra/componentStyles.d.ts +5 -0
  331. package/dist/Theme/chakra/componentStyles.js +16 -9
  332. package/dist/Theme/chakra/createBrandTheme.js +22 -9
  333. package/dist/Theme/chakra/focusRing.styles.d.ts +52 -0
  334. package/dist/Theme/chakra/focusRing.styles.js +46 -0
  335. package/dist/Theme/provider/ThemeSwitcher.js +5 -2
  336. package/dist/Theme/tokens/brands/index.js +6 -1
  337. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +1 -0
  338. package/dist/Theme/tokens/builders/buildDarkPalette.js +6 -1
  339. package/dist/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
  340. package/dist/Theme/tokens/builders/filledSurface.d.ts +29 -0
  341. package/dist/Theme/tokens/builders/filledSurface.js +74 -0
  342. package/dist/Theme/tokens/builders/focusRing.d.ts +52 -0
  343. package/dist/Theme/tokens/builders/focusRing.js +92 -0
  344. package/dist/Theme/tokens/builders/index.d.ts +2 -0
  345. package/dist/Theme/tokens/builders/index.js +2 -0
  346. package/dist/Theme/tokens/builders/outlineRung.d.ts +41 -3
  347. package/dist/Theme/tokens/builders/outlineRung.js +82 -5
  348. package/dist/Theme/tokens/builders/placeholderInk.d.ts +19 -0
  349. package/dist/Theme/tokens/builders/placeholderInk.js +35 -0
  350. package/dist/Theme/tokens/builders/resolvedRungs.d.ts +5 -1
  351. package/dist/Theme/tokens/builders/resolvedRungs.js +7 -2
  352. package/dist/Theme/tokens/builders/rowStates.d.ts +13 -0
  353. package/dist/Theme/tokens/builders/rowStates.js +19 -0
  354. package/dist/Theme/tokens/builders/scrollShadow.d.ts +2 -0
  355. package/dist/Theme/tokens/builders/scrollShadow.js +16 -0
  356. package/dist/Theme/tokens/builders/surfaceRungs.d.ts +5 -2
  357. package/dist/Theme/tokens/builders/surfaceRungs.js +19 -9
  358. package/dist/Theme/tokens/types.d.ts +21 -1
  359. package/dist/Utils/table.d.ts +3 -0
  360. package/dist/Utils/table.js +49 -3
  361. package/dist/esm/Components/Accordion/Accordion.js +4 -1
  362. package/dist/esm/Components/AlertDialog/AlertDialog.js +1 -0
  363. package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +1 -0
  364. package/dist/esm/Components/Apexcharts/ApexBarChart/ApexBarChart.js +1 -0
  365. package/dist/esm/Components/Apexcharts/ApexLineChart/ApexLineChart.js +1 -0
  366. package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +1 -0
  367. package/dist/esm/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +1 -0
  368. package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +1 -0
  369. package/dist/esm/Components/AppSwitcher/AppMark.js +56 -0
  370. package/dist/esm/Components/AppSwitcher/AppSwitcher.js +243 -0
  371. package/dist/esm/Components/AppSwitcher/AppSwitcherProps.js +78 -0
  372. package/dist/esm/Components/AppSwitcher/useAppSwitcherShortcut.js +27 -0
  373. package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +2 -1
  374. package/dist/esm/Components/Button/Button.js +5 -4
  375. package/dist/esm/Components/Button/Button.styles.js +38 -24
  376. package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +2 -4
  377. package/dist/esm/Components/Card/Card.js +2 -2
  378. package/dist/esm/Components/Card/PaymentCard/PaymentCard.js +21 -12
  379. package/dist/esm/Components/Checkbox/Checkbox.js +2 -1
  380. package/dist/esm/Components/Checkbox/Checkbox.styles.js +13 -8
  381. package/dist/esm/Components/Common/ErrorComponent.js +7 -5
  382. package/dist/esm/Components/Common/ErrorMessage.js +2 -2
  383. package/dist/esm/Components/Common/FormLabel.js +1 -0
  384. package/dist/esm/Components/Common/FormattedDescription.js +1 -0
  385. package/dist/esm/Components/Common/HelperText.js +2 -0
  386. package/dist/esm/Components/Common/Label.js +1 -0
  387. package/dist/esm/Components/Common/fieldStyles.js +1 -1
  388. package/dist/esm/Components/ContactForm/ContactForm.js +1 -0
  389. package/dist/esm/Components/CopyButton/CopyButton.js +10 -4
  390. package/dist/esm/Components/DatePicker/CalendarPanel.js +38 -16
  391. package/dist/esm/Components/DatePicker/DatePicker.js +1 -0
  392. package/dist/esm/Components/DatePicker/RangeDatePicker.js +31 -6
  393. package/dist/esm/Components/DatePicker/SingleDatePicker.js +50 -15
  394. package/dist/esm/Components/DatePicker/ThemeDatePicker.js +1 -0
  395. package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +11 -2
  396. package/dist/esm/Components/DatePicker/TimePicker.js +4 -3
  397. package/dist/esm/Components/DatePicker/TimePickerInput.js +2 -1
  398. package/dist/esm/Components/DatePicker/dayStates.js +79 -0
  399. package/dist/esm/Components/Divider/Divider.js +1 -0
  400. package/dist/esm/Components/Dropdown/DropDown.js +23 -7
  401. package/dist/esm/Components/Editor/Editor.js +1 -0
  402. package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +2 -5
  403. package/dist/esm/Components/EmptyState/EmptyState.js +4 -2
  404. package/dist/esm/Components/FeedbackForm/FeedbackForm.js +1 -0
  405. package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +1 -0
  406. package/dist/esm/Components/FilePreview/FilePreview.js +3 -1
  407. package/dist/esm/Components/FileUpload/FileUpload.js +8 -6
  408. package/dist/esm/Components/FileUpload/constants.js +1 -0
  409. package/dist/esm/Components/FileUploader/FileUploader.js +1 -0
  410. package/dist/esm/Components/FilterSidebar/FilterSidebar.js +5 -5
  411. package/dist/esm/Components/FilterSidebar/filterHoverStyle.js +3 -10
  412. package/dist/esm/Components/Form/FormWrapper.js +2 -1
  413. package/dist/esm/Components/Header/components/mobileMenu.js +12 -3
  414. package/dist/esm/Components/Input/PhoneNumberInput.js +1 -0
  415. package/dist/esm/Components/Input/Switch/InputSwitch.js +1 -0
  416. package/dist/esm/Components/Input/TextInput.js +1 -0
  417. package/dist/esm/Components/Input/TextInput.styles.js +8 -10
  418. package/dist/esm/Components/InputTextArea/InputTextArea.js +1 -0
  419. package/dist/esm/Components/InputTextArea/InputTextArea.style.js +7 -6
  420. package/dist/esm/Components/KanbanBoard/AccountCard.js +1 -0
  421. package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -0
  422. package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
  423. package/dist/esm/Components/KanbanBoard/KanbanBoard.js +1 -0
  424. package/dist/esm/Components/KanbanBoard/MeasuredItem.js +1 -0
  425. package/dist/esm/Components/LazyWrapper/LazyWrapper.js +1 -0
  426. package/dist/esm/Components/LimitReachedModal/limitReachedCopy.js +2 -0
  427. package/dist/esm/Components/Loading/Loading.js +13 -11
  428. package/dist/esm/Components/MoreItems/MoreItems.js +4 -1
  429. package/dist/esm/Components/MultiSelect/MultiSelect.js +2 -2
  430. package/dist/esm/Components/NavigationBar/NavigationBar.js +9 -10
  431. package/dist/esm/Components/NoteTextArea/NoteTextArea.js +10 -4
  432. package/dist/esm/Components/Notification/Notification.js +1 -0
  433. package/dist/esm/Components/NumberInput/NumberInput.js +5 -2
  434. package/dist/esm/Components/NumberInput/NumberInput.styles.js +7 -6
  435. package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +14 -10
  436. package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +1 -0
  437. package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +5 -3
  438. package/dist/esm/Components/PdfViewer/PdfViewer.js +7 -1
  439. package/dist/esm/Components/PinInput/PinInput.js +1 -0
  440. package/dist/esm/Components/PinInputs/PinInputs.js +1 -0
  441. package/dist/esm/Components/Primitives/Primitives.js +6 -0
  442. package/dist/esm/Components/ProductCard/ProductReview.js +6 -1
  443. package/dist/esm/Components/ProductCard/ProductTags.js +1 -1
  444. package/dist/esm/Components/ProfileCard/ProfileCard.js +1 -1
  445. package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +6 -4
  446. package/dist/esm/Components/ProgressBar/ProgressBar.js +1 -0
  447. package/dist/esm/Components/RadioButton/RadioButton.js +3 -2
  448. package/dist/esm/Components/Reorder/Reorder.js +1 -0
  449. package/dist/esm/Components/RolesPermission/RolesPermission.js +5 -3
  450. package/dist/esm/Components/ScrollToTop/ScrollToTop.js +4 -1
  451. package/dist/esm/Components/ScrollbarBox/ScrollbarBox.js +1 -0
  452. package/dist/esm/Components/Search/Search.js +3 -2
  453. package/dist/esm/Components/SearchSelect/SearchSelect.js +48 -37
  454. package/dist/esm/Components/SegmentedControl/SegmentedControl.js +86 -0
  455. package/dist/esm/Components/SegmentedControl/SegmentedControlProps.js +1 -0
  456. package/dist/esm/Components/Select/Select.js +5 -3
  457. package/dist/esm/Components/Select/Select.styles.js +3 -2
  458. package/dist/esm/Components/SelectSearch/SelectSearch.js +37 -15
  459. package/dist/esm/Components/SelectV2/SelectV2.js +20 -5
  460. package/dist/esm/Components/SideBar/SecondaryBar.js +1 -1
  461. package/dist/esm/Components/SideBar/SideBar.js +5 -3
  462. package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +2 -2
  463. package/dist/esm/Components/Skeletons/Skeletons.js +1 -0
  464. package/dist/esm/Components/Slider/Slider.js +9 -1
  465. package/dist/esm/Components/StageProgress/StageItem.js +1 -0
  466. package/dist/esm/Components/StageProgress/StageProgress.js +1 -0
  467. package/dist/esm/Components/StageProgress/StageProgressProps.js +7 -5
  468. package/dist/esm/Components/StageProgress/StepperStage.js +2 -2
  469. package/dist/esm/Components/Switch/Switch.js +1 -0
  470. package/dist/esm/Components/Table/Table.js +15 -5
  471. package/dist/esm/Components/Table/components/Pagination.js +1 -1
  472. package/dist/esm/Components/Table/components/TableActions.js +2 -2
  473. package/dist/esm/Components/Table/components/TableBody.js +44 -18
  474. package/dist/esm/Components/Table/components/TableGroupRow.js +1 -1
  475. package/dist/esm/Components/Table/components/TableHeader.js +21 -8
  476. package/dist/esm/Components/Table/components/TableSearch.js +1 -1
  477. package/dist/esm/Components/Table/filters/CompactSelect.js +29 -8
  478. package/dist/esm/Components/Table/filters/LeftFilterPane.js +1 -1
  479. package/dist/esm/Components/Table/settings/ManageColumns.js +8 -5
  480. package/dist/esm/Components/Table/settings/TableSettings.js +7 -5
  481. package/dist/esm/Components/Table/variants/TableVariantContext.js +13 -0
  482. package/dist/esm/Components/Table/variants/classic.js +43 -0
  483. package/dist/esm/Components/Table/variants/index.js +9 -0
  484. package/dist/esm/Components/Table/variants/pillInk.js +18 -0
  485. package/dist/esm/Components/Table/variants/studio.js +46 -0
  486. package/dist/esm/Components/Table/variants/tokens.js +1 -0
  487. package/dist/esm/Components/Tag/Tag.js +1 -0
  488. package/dist/esm/Components/Tag/Tag.styles.js +17 -12
  489. package/dist/esm/Components/Timeline/Timeline.js +1 -0
  490. package/dist/esm/Components/Toaster/Toaster.js +1 -0
  491. package/dist/esm/Components/Toggle/TableToggle.js +72 -17
  492. package/dist/esm/Components/ToggleSwitch/ToggleSwitch.js +16 -0
  493. package/dist/esm/Components/ToggleSwitch/ToggleSwitchProps.js +1 -0
  494. package/dist/esm/Components/ToolTip/ToolTip.js +7 -6
  495. package/dist/esm/Components/Trail/EditableCell.js +2 -1
  496. package/dist/esm/Components/Trail/SelectAllCheckbox.js +1 -0
  497. package/dist/esm/Components/Trail/TrailWorks.js +2 -1
  498. package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +1 -1
  499. package/dist/esm/Components/UserDetails/UserDetails.js +6 -3
  500. package/dist/esm/Hooks/exclusiveOverlay.js +16 -0
  501. package/dist/esm/Hooks/useExclusiveOverlay.js +20 -0
  502. package/dist/esm/Theme/assertPalette.js +3 -2
  503. package/dist/esm/Theme/chakra/Menu.styles.js +9 -5
  504. package/dist/esm/Theme/chakra/Popover.styles.js +5 -1
  505. package/dist/esm/Theme/chakra/componentStyles.js +16 -9
  506. package/dist/esm/Theme/chakra/createBrandTheme.js +22 -9
  507. package/dist/esm/Theme/chakra/focusRing.styles.js +40 -0
  508. package/dist/esm/Theme/provider/ThemeSwitcher.js +5 -2
  509. package/dist/esm/Theme/tokens/brands/index.js +6 -1
  510. package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +6 -1
  511. package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
  512. package/dist/esm/Theme/tokens/builders/filledSurface.js +67 -0
  513. package/dist/esm/Theme/tokens/builders/focusRing.js +85 -0
  514. package/dist/esm/Theme/tokens/builders/index.js +2 -0
  515. package/dist/esm/Theme/tokens/builders/outlineRung.js +78 -4
  516. package/dist/esm/Theme/tokens/builders/placeholderInk.js +29 -0
  517. package/dist/esm/Theme/tokens/builders/resolvedRungs.js +7 -2
  518. package/dist/esm/Theme/tokens/builders/rowStates.js +15 -0
  519. package/dist/esm/Theme/tokens/builders/scrollShadow.js +13 -0
  520. package/dist/esm/Theme/tokens/builders/surfaceRungs.js +20 -10
  521. package/dist/esm/Utils/table.js +50 -5
  522. package/dist/esm/index.js +26 -1
  523. package/dist/index.d.ts +26 -3
  524. package/dist/index.js +67 -4
  525. package/package.json +11 -4
@@ -1,10 +1,14 @@
1
+ /** Props for the full OTP verification card (icon, title, resend link); for a bare input in your own layout use PinInput/PinInputs. */
1
2
  export type VerifyEmailOtpProps = {
2
3
  resendMail: () => void;
3
4
  onChange: (value: string) => void;
5
+ /** Fires once all `pins` cells are filled — a `pins` value that doesn't match the actual OTP length blocks or truncates completion. */
4
6
  onComplete: (value: string) => void;
5
7
  placeholder?: string;
8
+ /** Typed as required, but the implementation silently defaults to 5 if a caller bypasses the type and omits it. */
6
9
  pins: number;
7
10
  title: string;
11
+ /** A second, hardcoded line — "your new Pixel Account" — is always appended below this text; there's no prop to remove it. */
8
12
  description: string;
9
13
  isDisabled?: boolean;
10
14
  isInvalid?: boolean;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { EmptyStateProps } from "./EmptyStateProps";
3
+ /** Centered empty/zero-data placeholder — purely decorative; pass `action` for any real button(s)/CTA. */
3
4
  declare const EmptyState: React.FC<EmptyStateProps>;
4
5
  export default EmptyState;
@@ -5,6 +5,7 @@ const react_1 = require("@chakra-ui/react");
5
5
  const lucide_react_1 = require("lucide-react");
6
6
  const react_2 = require("@emotion/react");
7
7
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
8
+ const accentText_1 = require("../../Theme/tokens/builders/accentText");
8
9
  const float = (0, react_2.keyframes) `
9
10
  0%, 100% { transform: translateY(0); }
10
11
  50% { transform: translateY(-8px); }
@@ -19,14 +20,15 @@ const scaleFor = (colors, scheme) => scheme === "primary" || scheme === "seconda
19
20
  : scheme === "gray"
20
21
  ? colors.gray
21
22
  : colors.semantic[scheme];
23
+ /** Centered empty/zero-data placeholder — purely decorative; pass `action` for any real button(s)/CTA. */
22
24
  const EmptyState = ({ title = "No data found", description, icon: IconComp = lucide_react_1.Inbox, image, size = "md", colorScheme = "primary", variant = "default", action, animate = false, minH = "240px", sx, }) => {
23
25
  const theme = (0, useCustomTheme_1.useCustomTheme)();
24
26
  const s = sizeMap[size];
25
27
  const palette = scaleFor(theme.colors, colorScheme);
26
- const accent = palette[500];
27
28
  const accentSoft = palette[50];
29
+ const accent = (0, accentText_1.accentTextOnCanvas)(palette, accentSoft);
28
30
  const containerStyles = variant === "subtle"
29
- ? { bg: theme.colors.gray[50], borderRadius: "2xl" }
31
+ ? { bg: theme.colors.background[50], borderRadius: "2xl" }
30
32
  : variant === "dashed"
31
33
  ? {
32
34
  border: "2px dashed",
@@ -1,7 +1,10 @@
1
1
  import { ElementType, ReactNode } from "react";
2
2
  import { BoxProps } from "@chakra-ui/react";
3
+ /** Controls badge/icon size, type scale, and spacing together. */
3
4
  export type EmptyStateSize = "sm" | "md" | "lg";
5
+ /** Palette used to tint the icon badge — brand scale or semantic tone. */
4
6
  export type EmptyStateColorScheme = "primary" | "secondary" | "tertiary" | "gray" | "success" | "error" | "warning" | "info";
7
+ /** Props for the centered empty/zero-data placeholder; pass `action` for any real button(s)/CTA. */
5
8
  export interface EmptyStateProps {
6
9
  /** Heading text. Defaults to "No data found". */
7
10
  title?: string;
@@ -5,12 +5,15 @@ export type FeedbackPayload = {
5
5
  lastName: string;
6
6
  email: string;
7
7
  };
8
+ /** Provide onSubmit or submitUrl — with neither, the form still validates and shows a success toast, but nothing is ever sent. */
8
9
  export type FeedbackFormProps = {
9
10
  onSubmit?: (payload: FeedbackPayload) => Promise<void> | void;
10
11
  submitUrl?: string;
11
12
  isSubmittingText?: string;
12
13
  submitText?: string;
14
+ /** Only seeds state via useState's initializer on mount — changing this prop later does not resync the rendered fields. */
13
15
  defaultValues?: Partial<FeedbackPayload>;
14
16
  isDisabled?: boolean;
15
17
  };
18
+ /** Renders its own success/error toast via Chakra's useToast, not this library's Toaster — that toast can be silently hidden inside a Modal. */
16
19
  export default function FeedbackForm(props: FeedbackFormProps): import("react/jsx-runtime").JSX.Element;
@@ -6,6 +6,7 @@ const react_1 = require("react");
6
6
  const react_2 = require("@chakra-ui/react");
7
7
  // eslint-disable-next-line no-control-regex, no-useless-escape
8
8
  const emailRegex = /^(?:[a-zA-Z0-9_'^&\/+{}=?`|~!-]+(?:\.[a-zA-Z0-9_'^&\/+{}=?`|~!-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z-]*[a-zA-Z]:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]+)\])$/;
9
+ /** Renders its own success/error toast via Chakra's useToast, not this library's Toaster — that toast can be silently hidden inside a Modal. */
9
10
  function FeedbackForm(props) {
10
11
  var _a, _b, _c, _d, _e;
11
12
  const { onSubmit, submitUrl, isDisabled, defaultValues, submitText = "Submit", isSubmittingText = "Submitting..." } = props;
@@ -15,12 +15,13 @@ export interface FieldSelectModalProps {
15
15
  confirmText?: string;
16
16
  loadingText?: string;
17
17
  isLoading?: boolean;
18
- /** Pre-selected field_name values. Defaults to all selected. */
18
+ /** Pre-selected field_name values (defaults to all selected); re-applied whenever this or `fields` changes reference while open. */
19
19
  defaultSelected?: string[];
20
20
  /** Columns in the field grid. */
21
21
  columns?: number;
22
- /** Show the search box (auto-hidden under 8 fields by default). */
22
+ /** Show the search box (auto-hidden under 8 fields by default); "Select all" still applies to every field, not just visible matches. */
23
23
  searchable?: boolean;
24
24
  }
25
+ /** Modal checkbox-grid for choosing which fields/columns to show — a bulk toggle UI, not an inline Select/SelectV2 field. */
25
26
  declare const FieldSelectModal: React.FC<FieldSelectModalProps>;
26
27
  export default FieldSelectModal;
@@ -7,6 +7,7 @@ const framer_motion_1 = require("framer-motion");
7
7
  const lucide_react_1 = require("lucide-react");
8
8
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
9
9
  const MotionModalContent = (0, framer_motion_1.motion)(react_2.ModalContent);
10
+ /** Modal checkbox-grid for choosing which fields/columns to show — a bulk toggle UI, not an inline Select/SelectV2 field. */
10
11
  const FieldSelectModal = ({ isOpen, onClose, fields, onConfirm, title = "Select Fields", confirmText = "Apply", loadingText = "Applying...", isLoading = false, defaultSelected, columns = 2, searchable, }) => {
11
12
  const theme = (0, useCustomTheme_1.useCustomTheme)();
12
13
  const [selected, setSelected] = (0, react_1.useState)([]);
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { FilePreviewProps, FilePreviewTriggerProps } from "./FilePreviewProps";
3
+ /** Modal previewer inferring image/pdf/video/other from the extension — for an always-inline PDF-only panel use PdfViewer. */
3
4
  export declare const FilePreview: React.FC<FilePreviewProps>;
4
5
  /** Thumbnail with a hover "preview" affordance that opens {@link FilePreview}. */
5
6
  export declare const FilePreviewTrigger: React.FC<FilePreviewTriggerProps>;
@@ -10,6 +10,7 @@ const react_2 = require("@chakra-ui/react");
10
10
  const framer_motion_1 = require("framer-motion");
11
11
  const lucide_react_1 = require("lucide-react");
12
12
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
13
+ const filledSurface_1 = require("../../Theme/tokens/builders/filledSurface");
13
14
  const ToolTip_1 = __importDefault(require("../ToolTip/ToolTip"));
14
15
  const MotionContent = (0, framer_motion_1.motion)(react_2.ModalContent);
15
16
  const inferKind = (url, fileName) => {
@@ -39,6 +40,7 @@ const downloadFile = async (fileUrl, fileName) => {
39
40
  window.open(fileUrl, "_blank", "noopener,noreferrer");
40
41
  }
41
42
  };
43
+ /** Modal previewer inferring image/pdf/video/other from the extension — for an always-inline PDF-only panel use PdfViewer. */
42
44
  const FilePreview = ({ isOpen, onClose, fileUrl, fileName, fileType, hideDownload = false, size = "xl", }) => {
43
45
  const theme = (0, useCustomTheme_1.useCustomTheme)();
44
46
  const [zoom, setZoom] = (0, react_1.useState)(1);
@@ -62,7 +64,7 @@ const FilePreview = ({ isOpen, onClose, fileUrl, fileName, fileType, hideDownloa
62
64
  if (kind === "video") {
63
65
  return ((0, jsx_runtime_1.jsx)(react_2.Box, { as: "video", src: fileUrl, controls: true, width: "100%", borderRadius: "lg" }));
64
66
  }
65
- return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { direction: "column", align: "center", justify: "center", py: 12, gap: 3, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.FileQuestion, { size: 48, color: theme.colors.textMuted }), (0, jsx_runtime_1.jsx)(react_2.Text, { color: theme.colors.textMuted, fontSize: "sm", children: "Preview isn't available for this file type." }), !hideDownload && ((0, jsx_runtime_1.jsxs)(react_2.Flex, { as: "button", align: "center", gap: 2, px: 4, py: 2, borderRadius: "lg", bg: theme.colors.primary[500], color: theme.colors.onPrimary, fontSize: "sm", fontWeight: 500, onClick: () => downloadFile(fileUrl, fileName), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Download, { size: 16 }), " Download file"] }))] }));
67
+ return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { direction: "column", align: "center", justify: "center", py: 12, gap: 3, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.FileQuestion, { size: 48, color: theme.colors.textMuted }), (0, jsx_runtime_1.jsx)(react_2.Text, { color: theme.colors.textMuted, fontSize: "sm", children: "Preview isn't available for this file type." }), !hideDownload && ((0, jsx_runtime_1.jsxs)(react_2.Flex, { as: "button", align: "center", gap: 2, px: 4, py: 2, borderRadius: "lg", bg: theme.colors.primary[(0, filledSurface_1.solidFillRung)(theme.colors.primary, theme.colors.white)], color: (0, filledSurface_1.labelOnFill)(theme.colors.primary[(0, filledSurface_1.solidFillRung)(theme.colors.primary, theme.colors.white)], theme.colors.white, theme.colors.black), fontSize: "sm", fontWeight: 500, onClick: () => downloadFile(fileUrl, fileName), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Download, { size: 16 }), " Download file"] }))] }));
66
68
  };
67
69
  return ((0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: handleClose, size: size, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, { bg: "blackAlpha.600", backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(MotionContent
68
70
  // Chakra's default Modal drives its bg off `--modal-bg`, which flips to
@@ -1,10 +1,12 @@
1
+ /** Preview renderer to use; "other" falls back to a download-only panel. */
1
2
  export type FilePreviewKind = "image" | "pdf" | "video" | "other";
3
+ /** Props for FilePreview, a modal viewer that infers image/pdf/video/other from the file extension. */
2
4
  export interface FilePreviewProps {
3
5
  isOpen: boolean;
4
6
  onClose: () => void;
5
- /** URL of the file to preview. */
7
+ /** Changing this while isOpen stays true does NOT reset zoom/rotation — remount via key={fileUrl}. */
6
8
  fileUrl: string;
7
- /** Display name (also used as the download filename). */
9
+ /** Drives kind-detection instead of fileUrl when set — a name with no extension forces the no-preview fallback. */
8
10
  fileName?: string;
9
11
  /** Force a renderer. When omitted it is inferred from the file extension. */
10
12
  fileType?: FilePreviewKind;
@@ -13,6 +15,7 @@ export interface FilePreviewProps {
13
15
  /** Modal size. */
14
16
  size?: "md" | "lg" | "xl" | "2xl" | "full";
15
17
  }
18
+ /** Props for FilePreviewTrigger — a thumbnail that opens FilePreview in a modal on click. */
16
19
  export interface FilePreviewTriggerProps {
17
20
  /** URL of the file. */
18
21
  fileUrl: string;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { FileUploaderProps } from "./FileUploadProps";
3
+ /** Controlled drop zone — you own the `uploadedFiles`/File[] state; default `maxSizeKB=5` is 5KB and rejects nearly every real file. */
3
4
  declare const FileUpload: React.FC<FileUploaderProps>;
4
5
  export default FileUpload;
@@ -42,13 +42,15 @@ const useCustomTheme_1 = require("../../Theme/useCustomTheme");
42
42
  const accentText_1 = require("../../Theme/tokens/builders/accentText");
43
43
  const constants_1 = require("./constants");
44
44
  const Modal_1 = __importStar(require("../Modal/Modal"));
45
- const FileUpload = ({ onFilesUploaded, uploadedFiles, onRemoveFile, acceptTypes = [".jpg", ".png"], maxSizeKB = 5, maxFiles = undefined, progress = {}, }) => {
45
+ /** Controlled drop zone — you own the `uploadedFiles`/File[] state; default `maxSizeKB=5` is 5KB and rejects nearly every real file. */
46
+ const FileUpload = ({ onFilesUploaded, uploadedFiles, onRemoveFile, acceptTypes = [".jpg", ".png"], maxSizeKB = 5, maxFiles = undefined, progress = {}, size = "md", inputAriaLabel = "Upload files", }) => {
47
+ const compact = size === "sm";
46
48
  const { colors, radii } = (0, useCustomTheme_1.useCustomTheme)();
47
49
  const { isOpen, onOpen, onClose } = (0, react_2.useDisclosure)();
48
50
  const [previewUrl, setPreviewUrl] = react_1.default.useState(null);
49
51
  const [previewTitle, setPreviewTitle] = react_1.default.useState(null);
50
52
  const [errors, setErrors] = react_1.default.useState([]);
51
- const bg = colors.gray[50];
53
+ const bg = colors.background[50];
52
54
  const border = colors.boxborder[500];
53
55
  const mappedAccept = acceptTypes.reduce((acc, ext) => {
54
56
  const mime = constants_1.mimeMap[ext];
@@ -88,10 +90,10 @@ const FileUpload = ({ onFilesUploaded, uploadedFiles, onRemoveFile, acceptTypes
88
90
  setErrors(messages);
89
91
  },
90
92
  });
91
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { ...getRootProps(), border: "2px dashed", borderColor: border, borderRadius: "md", p: 10, textAlign: "center", bg: bg, cursor: "pointer", transition: "all 0.2s", _hover: { bg: colors.gray[100] }, position: "relative", children: [(0, jsx_runtime_1.jsx)("input", { ...getInputProps() }), (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 2, children: [(0, jsx_runtime_1.jsx)(react_2.Icon, { as: lucide_react_1.Upload, boxSize: 6 }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: "medium", children: "Drag and drop files here" }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", color: colors.textMuted, children: [acceptTypes.join(", "), " up to ", (0, constants_1.toMB)(maxSizeKB), " ", maxFiles ? `- ${maxFiles} file(s) max` : ""] })] })] }), errors.length > 0 && ((0, jsx_runtime_1.jsx)(react_2.Box, { children: errors.map((err, idx) => ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: colors.semanticText.error, children: err }, idx))) })), uploadedFiles.length > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsx)(react_2.Box, { display: "flex", alignItems: "center", gap: 2, children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontFamily: "open-sans, sans-serif", fontWeight: 600, fontSize: 14, lineHeight: "100%", letterSpacing: "4%", textTransform: "uppercase", py: 4, children: "Uploaded Files" }) }), (0, jsx_runtime_1.jsx)(react_2.List, { spacing: 2, children: uploadedFiles.map((file, index) => ((0, jsx_runtime_1.jsxs)(react_2.Box, { borderWidth: "0.063rem", borderRadius: "md", px: 3, py: 2, bg: colors.background[50], children: [(0, jsx_runtime_1.jsxs)(react_2.ListItem, { display: "flex", justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 3, flex: "1", children: [file.type.startsWith("image/") ? ((0, jsx_runtime_1.jsxs)(react_2.Box, { boxSize: "2.5rem", cursor: "pointer", position: "relative", _hover: {
93
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { ...getRootProps(), border: "2px dashed", borderColor: border, borderRadius: "md", p: compact ? 3 : 10, textAlign: "center", bg: bg, cursor: "pointer", transition: "all 0.2s", _hover: { bg: colors.background[100] }, position: "relative", children: [(0, jsx_runtime_1.jsx)("input", { ...getInputProps({ "aria-label": inputAriaLabel }) }), (0, jsx_runtime_1.jsxs)(react_2.Stack, { direction: compact ? "row" : "column", spacing: compact ? 3 : 2, align: "center", justify: "center", children: [(0, jsx_runtime_1.jsx)(react_2.Icon, { as: lucide_react_1.Upload, boxSize: compact ? 4 : 6 }), (0, jsx_runtime_1.jsxs)(react_2.Stack, { spacing: 0, align: compact ? "start" : "center", children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: "medium", fontSize: compact ? "sm" : "md", color: colors.textMuted, children: "Drag and drop files here" }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: compact ? "xs" : "sm", color: colors.textMuted, children: [acceptTypes.join(", "), " up to ", (0, constants_1.toMB)(maxSizeKB), " ", maxFiles ? `- ${maxFiles} file(s) max` : ""] })] })] })] }), errors.length > 0 && ((0, jsx_runtime_1.jsx)(react_2.Box, { children: errors.map((err, idx) => ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: colors.semanticText.error, children: err }, idx))) })), uploadedFiles.length > 0 && ((0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsx)(react_2.Box, { display: "flex", alignItems: "center", gap: 2, children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontFamily: "open-sans, sans-serif", fontWeight: 600, fontSize: 14, lineHeight: "100%", letterSpacing: "4%", textTransform: "uppercase", py: 4, children: "Uploaded Files" }) }), (0, jsx_runtime_1.jsx)(react_2.List, { spacing: 2, children: uploadedFiles.map((file, index) => ((0, jsx_runtime_1.jsxs)(react_2.Box, { borderWidth: "0.063rem", borderRadius: "md", px: 3, py: 2, bg: colors.background[50], children: [(0, jsx_runtime_1.jsxs)(react_2.ListItem, { display: "flex", justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 3, flex: "1", children: [file.type.startsWith("image/") ? ((0, jsx_runtime_1.jsxs)(react_2.Box, { boxSize: "2.5rem", cursor: "pointer", position: "relative", _hover: {
92
94
  ".hover-icon": {
93
95
  opacity: 1,
94
- bg: colors.secondary.opacity[16],
96
+ bg: "blackAlpha.500",
95
97
  },
96
98
  }, onClick: () => {
97
99
  setPreviewUrl(URL.createObjectURL(file));
@@ -102,7 +104,7 @@ const FileUpload = ({ onFilesUploaded, uploadedFiles, onRemoveFile, acceptTypes
102
104
  height: "100%",
103
105
  objectFit: "cover",
104
106
  borderRadius: radii.base,
105
- } }), (0, jsx_runtime_1.jsx)(react_2.Box, { className: "hover-icon", position: "absolute", top: "0.5rem", left: "0.5rem", opacity: 0, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Eye, { color: colors.background[100] }) })] })) : ((0, jsx_runtime_1.jsx)(react_2.ListIcon, { as: lucide_react_1.FileText, color: (0, accentText_1.accentTextOnCanvas)(colors.blue, colors.background[50]), boxSize: 8 })), (0, jsx_runtime_1.jsxs)(react_2.VStack, { align: "start", spacing: 0, flex: "1", children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", noOfLines: 1, children: file.name }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "xs", color: colors.textMuted, children: [(0, constants_1.toMB)(file.size / 1024), " \u2022", " ", file.type || "Unknown type"] })] })] }), onRemoveFile && ((0, jsx_runtime_1.jsx)(react_2.CloseButton, { onClick: () => onRemoveFile(file), size: "sm", color: colors.semanticText.error }))] }), (progress === null || progress === void 0 ? void 0 : progress[file.name]) !== undefined && ((0, jsx_runtime_1.jsx)(react_2.Progress, { value: progress === null || progress === void 0 ? void 0 : progress[file.name], size: "xs", mt: 1, hasStripe: (progress === null || progress === void 0 ? void 0 : progress[file.name]) < 100, isAnimated: (progress === null || progress === void 0 ? void 0 : progress[file.name]) < 100, colorScheme: (progress === null || progress === void 0 ? void 0 : progress[file.name]) >= 100 ? "green" : "blue", borderRadius: "md" }))] }, index))) })] }))] }), (0, jsx_runtime_1.jsxs)(Modal_1.default, { isOpen: isOpen, onClose: () => {
107
+ } }), (0, jsx_runtime_1.jsx)(react_2.Box, { className: "hover-icon", position: "absolute", top: "0.5rem", left: "0.5rem", opacity: 0, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Eye, { color: "white" }) })] })) : ((0, jsx_runtime_1.jsx)(react_2.ListIcon, { as: lucide_react_1.FileText, color: (0, accentText_1.accentTextOnCanvas)(colors.blue, colors.background[50]), boxSize: 8 })), (0, jsx_runtime_1.jsxs)(react_2.VStack, { align: "start", spacing: 0, flex: "1", children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", noOfLines: 1, children: file.name }), (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "xs", color: colors.textMuted, children: [(0, constants_1.toMB)(file.size / 1024), " \u2022", " ", file.type || "Unknown type"] })] })] }), onRemoveFile && ((0, jsx_runtime_1.jsx)(react_2.CloseButton, { onClick: () => onRemoveFile(file), size: "sm", color: colors.semanticText.error }))] }), (progress === null || progress === void 0 ? void 0 : progress[file.name]) !== undefined && ((0, jsx_runtime_1.jsx)(react_2.Progress, { value: progress === null || progress === void 0 ? void 0 : progress[file.name], size: "xs", mt: 1, hasStripe: (progress === null || progress === void 0 ? void 0 : progress[file.name]) < 100, isAnimated: (progress === null || progress === void 0 ? void 0 : progress[file.name]) < 100, colorScheme: (progress === null || progress === void 0 ? void 0 : progress[file.name]) >= 100 ? "green" : "blue", borderRadius: "md" }))] }, index))) })] }))] }), (0, jsx_runtime_1.jsxs)(Modal_1.default, { isOpen: isOpen, onClose: () => {
106
108
  onClose();
107
109
  setPreviewUrl(null);
108
110
  setPreviewTitle(null);
@@ -1,11 +1,17 @@
1
- export type MimeExtension = '.jpg' | '.jpeg' | '.png' | '.gif' | '.webp' | '.svg' | '.pdf' | '.doc' | '.docx' | '.xls' | '.xlsx' | '.ppt' | '.pptx' | '.txt' | '.mp4' | '.mov' | '.mp3' | '.wav' | '.zip' | '.rar' | '.7z';
1
+ /** File extensions FileUpload accepts via `acceptTypes`; each must have a mapping in `mimeMap`. */
2
+ export type MimeExtension = '.jpg' | '.jpeg' | '.png' | '.gif' | '.webp' | '.svg' | '.pdf' | '.doc' | '.docx' | '.xls' | '.xlsx' | '.ppt' | '.pptx' | '.txt' | '.csv' | '.mp4' | '.mov' | '.mp3' | '.wav' | '.zip' | '.rar' | '.7z';
3
+ /** Extension-to-MIME-type lookup consumed by react-dropzone's `accept` option; see `mimeMap` in constants.ts. */
2
4
  export type MimeMap = Record<MimeExtension, string>;
5
+ /** Props for FileUpload, a controlled drop zone; the caller owns `uploadedFiles` state. */
3
6
  export type FileUploaderProps = {
4
7
  onFilesUploaded: (files: File[]) => void;
5
8
  uploadedFiles: File[];
6
9
  onRemoveFile?: (file: File) => void;
7
10
  acceptTypes?: MimeExtension[];
11
+ /** KB, not MB — default 5 means 5KB; the rendered hint text shows "0.00 MB" at that default. Always pass a realistic value. */
8
12
  maxSizeKB?: number;
9
13
  maxFiles?: number;
14
+ size?: 'sm' | 'md';
10
15
  progress?: Record<string, number>;
16
+ inputAriaLabel?: string;
11
17
  };
@@ -16,6 +16,7 @@ exports.mimeMap = {
16
16
  '.ppt': 'application/vnd.ms-powerpoint',
17
17
  '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
18
18
  '.txt': 'text/plain',
19
+ '.csv': 'text/csv',
19
20
  '.mp4': 'video/mp4',
20
21
  '.mov': 'video/quicktime',
21
22
  '.mp3': 'audio/mpeg',
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { FileUploaderProps } from "./FileUploaderProps";
3
+ /** Self-contained widget; onFilesChange returns {id,name,size,previewUrl} metadata, never real File objects — cannot be used to upload bytes. */
3
4
  declare const FileUploader: React.FC<FileUploaderProps>;
4
5
  export default FileUploader;
@@ -7,6 +7,7 @@ const lucide_react_1 = require("lucide-react");
7
7
  const Toaster_1 = require("../Toaster/Toaster");
8
8
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
9
9
  const accentText_1 = require("../../Theme/tokens/builders/accentText");
10
+ /** Self-contained widget; onFilesChange returns {id,name,size,previewUrl} metadata, never real File objects — cannot be used to upload bytes. */
10
11
  const FileUploader = ({ maxFiles = 10, maxTotalSize = 20, onFilesChange, acceptTypes = ["jpeg", "jpg", "png"], }) => {
11
12
  const { showToast } = (0, Toaster_1.useToaster)();
12
13
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
@@ -1,3 +1,4 @@
1
+ /** Metadata only, not a real File/Blob — previewUrl is a blob: URL for images; there is no way to recover the original File. */
1
2
  export type UploadedFile = {
2
3
  id: string;
3
4
  name: string;
@@ -5,6 +6,7 @@ export type UploadedFile = {
5
6
  type?: string;
6
7
  previewUrl?: string;
7
8
  };
9
+ /** Same name as FileUpload's own, unrelated props type — this one is not exported from the package; only FileUpload's ships publicly. */
8
10
  export type FileUploaderProps = {
9
11
  maxFiles?: number;
10
12
  maxTotalSize?: number;
@@ -19,12 +19,14 @@ export type FilterSection = {
19
19
  };
20
20
  initiallyExpanded?: boolean;
21
21
  type?: "checkboxes" | "radio";
22
+ /** Dead — never read; radio mode is decided by `type === "radio"` or `radio` below, checkboxes is the unconditional default. */
22
23
  checkboxes?: boolean;
23
24
  radio?: boolean;
24
25
  };
25
26
  export type SelectedFilters = FilterValues;
26
27
  export type FilterSidebarProps = {
27
28
  sidebarOptions: FilterSection[];
29
+ /** Passing this alone (no onChange) makes every filter click silently inert — state is computed, then discarded. */
28
30
  selected?: SelectedFilters;
29
31
  onChange?: (selected: SelectedFilters) => void;
30
32
  onApply?: (selected: SelectedFilters) => void;
@@ -33,6 +35,7 @@ export type FilterSidebarProps = {
33
35
  variant?: "minimal" | "cards";
34
36
  containerHeight?: number | string;
35
37
  containerPadding?: number | string;
38
+ /** Dead — commented out of the destructure; has no effect (same for sliderMode below). */
36
39
  headerPadding?: number;
37
40
  panelPadding?: number;
38
41
  sliderMode?: "chakra" | "native";
@@ -149,13 +149,13 @@ panelPadding = 3, clearAllButton = true, onClearAllHandler,
149
149
  pointerEvents: 'none', // Allow clicks to pass through track
150
150
  zIndex: 3,
151
151
  margin: 0,
152
- } })] }), (0, jsx_runtime_1.jsxs)(react_2.SimpleGrid, { columns: 2, spacing: 2, pt: 2, w: "full", children: [(0, jsx_runtime_1.jsxs)(react_2.Popover, { isOpen: openPrice.id === section.id && openPrice.target === "min", onClose: () => setOpenPrice({}), placement: "bottom-start", closeOnBlur: true, children: [(0, jsx_runtime_1.jsx)(react_2.PopoverTrigger, { children: (0, jsx_runtime_1.jsx)(react_2.Flex, { borderWidth: "0", borderRadius: "md", alignItems: "center", px: 3, py: 2, bg: theme.colors.gray[50], borderColor: theme.colors.gray[300], cursor: "pointer", onClick: () => setOpenPrice({ id: section.id, target: "min" }), gap: 2, overflow: "hidden", children: (0, jsx_runtime_1.jsx)(react_2.Box, { ml: "auto", children: (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "12px", color: theme.colors.text[500], whiteSpace: "nowrap", children: [currentMin, range.unit ? ` ${range.unit}` : ""] }) }) }) }), (0, jsx_runtime_1.jsx)(react_2.Portal, { children: (0, jsx_runtime_1.jsx)(react_2.PopoverContent, { width: "6rem", p: 0, zIndex: 1600, bg: theme.colors.background[50], children: (0, jsx_runtime_1.jsx)(react_2.PopoverBody, { p: 0, children: (0, jsx_runtime_1.jsx)(react_2.VStack, { align: "stretch", spacing: 0, maxH: "12rem", overflowY: "auto", children: values.map((v) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { px: 2, py: 1, align: "center", justify: "space-between", cursor: "pointer", bg: currentMin === v ? theme.colors.red[50] : theme.colors.background[50], borderLeftWidth: currentMin === v ? 3 : 0, borderLeftStyle: "solid", borderLeftColor: currentMin === v ? theme.colors.red[400] : "transparent", _hover: { bg: hoverBg }, onClick: () => {
152
+ } })] }), (0, jsx_runtime_1.jsxs)(react_2.SimpleGrid, { columns: 2, spacing: 2, pt: 2, w: "full", children: [(0, jsx_runtime_1.jsxs)(react_2.Popover, { isOpen: openPrice.id === section.id && openPrice.target === "min", onClose: () => setOpenPrice({}), placement: "bottom-start", closeOnBlur: true, children: [(0, jsx_runtime_1.jsx)(react_2.PopoverTrigger, { children: (0, jsx_runtime_1.jsx)(react_2.Flex, { borderWidth: "0", borderRadius: "md", alignItems: "center", px: 3, py: 2, bg: theme.colors.background[50], borderColor: theme.colors.boxborder[500], cursor: "pointer", onClick: () => setOpenPrice({ id: section.id, target: "min" }), gap: 2, overflow: "hidden", children: (0, jsx_runtime_1.jsx)(react_2.Box, { ml: "auto", children: (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "12px", color: theme.colors.text[500], whiteSpace: "nowrap", children: [currentMin, range.unit ? ` ${range.unit}` : ""] }) }) }) }), (0, jsx_runtime_1.jsx)(react_2.Portal, { children: (0, jsx_runtime_1.jsx)(react_2.PopoverContent, { width: "6rem", p: 0, zIndex: 1600, bg: theme.colors.background[50], children: (0, jsx_runtime_1.jsx)(react_2.PopoverBody, { p: 0, children: (0, jsx_runtime_1.jsx)(react_2.VStack, { align: "stretch", spacing: 0, maxH: "12rem", overflowY: "auto", children: values.map((v) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { px: 2, py: 1, align: "center", justify: "space-between", cursor: "pointer", bg: currentMin === v ? theme.colors.red[50] : theme.colors.background[50], borderLeftWidth: currentMin === v ? 3 : 0, borderLeftStyle: "solid", borderLeftColor: currentMin === v ? theme.colors.red[400] : "transparent", _hover: { bg: hoverBg }, onClick: () => {
153
153
  const min = v;
154
154
  const max = currentMax;
155
155
  const nextVal = [Math.min(min, max), Math.max(min, max)];
156
156
  setInternalSelected((prev) => { const next = { ...prev, [section.id]: nextVal }; onChange === null || onChange === void 0 ? void 0 : onChange(next); return next; });
157
157
  setOpenPrice({});
158
- }, children: [(0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", color: theme.colors.gray[800], children: [v, range.unit ? ` ${range.unit}` : ""] }), currentMin === v ? ((0, jsx_runtime_1.jsx)(react_2.Box, { bg: theme.colors.red[100], borderRadius: "full", p: 1, display: "flex", alignItems: "center", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Check, { size: 9, color: (0, accentText_1.onFilled)(theme.colors.red[100], theme.colors.white, theme.colors.black) }) })) : null] }, `min-${v}`))) }) }) }) })] }), (0, jsx_runtime_1.jsxs)(react_2.Popover, { isOpen: openPrice.id === section.id && openPrice.target === "max", onClose: () => setOpenPrice({}), placement: "bottom-start", closeOnBlur: true, children: [(0, jsx_runtime_1.jsx)(react_2.PopoverTrigger, { children: (0, jsx_runtime_1.jsx)(react_2.Flex, { borderWidth: "0", borderRadius: "md", alignItems: "center", px: 3, py: 2, bg: theme.colors.gray[50], borderColor: theme.colors.gray[300], cursor: "pointer", onClick: () => setOpenPrice({ id: section.id, target: "max" }), gap: 2, overflow: "hidden", children: (0, jsx_runtime_1.jsx)(react_2.Box, { ml: "auto", children: (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "12px", color: theme.colors.text[500], whiteSpace: "nowrap", children: [currentMax, range.unit ? ` ${range.unit}` : ""] }) }) }) }), (0, jsx_runtime_1.jsx)(react_2.PopoverContent, { width: "6rem", p: 0, bg: theme.colors.background[50], children: (0, jsx_runtime_1.jsx)(react_2.PopoverBody, { p: 0, children: (0, jsx_runtime_1.jsx)(react_2.VStack, { align: "stretch", spacing: 0, maxH: "12rem", overflowY: "auto", children: values.map((v) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { px: 2, py: 1, align: "center", justify: "space-between", cursor: "pointer", bg: currentMax === v ? theme.colors.red[50] : theme.colors.background[50], borderLeftWidth: currentMax === v ? 3 : 0, borderLeftStyle: "solid", borderLeftColor: currentMax === v ? theme.colors.red[400] : "transparent", _hover: { bg: hoverBg }, onClick: () => {
158
+ }, children: [(0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", color: theme.colors.gray[800], children: [v, range.unit ? ` ${range.unit}` : ""] }), currentMin === v ? ((0, jsx_runtime_1.jsx)(react_2.Box, { bg: theme.colors.red[100], borderRadius: "full", p: 1, display: "flex", alignItems: "center", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Check, { size: 9, color: (0, accentText_1.onFilled)(theme.colors.red[100], theme.colors.white, theme.colors.black) }) })) : null] }, `min-${v}`))) }) }) }) })] }), (0, jsx_runtime_1.jsxs)(react_2.Popover, { isOpen: openPrice.id === section.id && openPrice.target === "max", onClose: () => setOpenPrice({}), placement: "bottom-start", closeOnBlur: true, children: [(0, jsx_runtime_1.jsx)(react_2.PopoverTrigger, { children: (0, jsx_runtime_1.jsx)(react_2.Flex, { borderWidth: "0", borderRadius: "md", alignItems: "center", px: 3, py: 2, bg: theme.colors.background[50], borderColor: theme.colors.boxborder[500], cursor: "pointer", onClick: () => setOpenPrice({ id: section.id, target: "max" }), gap: 2, overflow: "hidden", children: (0, jsx_runtime_1.jsx)(react_2.Box, { ml: "auto", children: (0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "12px", color: theme.colors.text[500], whiteSpace: "nowrap", children: [currentMax, range.unit ? ` ${range.unit}` : ""] }) }) }) }), (0, jsx_runtime_1.jsx)(react_2.PopoverContent, { width: "6rem", p: 0, bg: theme.colors.background[50], children: (0, jsx_runtime_1.jsx)(react_2.PopoverBody, { p: 0, children: (0, jsx_runtime_1.jsx)(react_2.VStack, { align: "stretch", spacing: 0, maxH: "12rem", overflowY: "auto", children: values.map((v) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { px: 2, py: 1, align: "center", justify: "space-between", cursor: "pointer", bg: currentMax === v ? theme.colors.red[50] : theme.colors.background[50], borderLeftWidth: currentMax === v ? 3 : 0, borderLeftStyle: "solid", borderLeftColor: currentMax === v ? theme.colors.red[400] : "transparent", _hover: { bg: hoverBg }, onClick: () => {
159
159
  const max = v;
160
160
  const min = currentMin;
161
161
  const nextVal = [Math.min(min, max), Math.max(min, max)];
@@ -174,7 +174,7 @@ panelPadding = 3, clearAllButton = true, onClearAllHandler,
174
174
  const isRowSelected = String(internalSelected[section.id] || "") === String(r);
175
175
  const starColor = (0, accentText_1.accentTextOnCanvas)(theme.colors.orange, isRowSelected ? theme.colors.red[50] : theme.colors.background[50]);
176
176
  return Array.from({ length: 5 }, (_, i) => ((0, jsx_runtime_1.jsx)(react_2.Box, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { size: 16, color: starColor, fill: i < r ? starColor : "none" }) }, `star-${r}-${i}`)));
177
- })() }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: theme.colors.text[500], children: "& Up" })] }) }, `rating-${r}`))) })) : null, section.searchable && ((0, jsx_runtime_1.jsx)(react_2.Input, { size: "xs", h: "26px", fontSize: "xs", placeholder: `Search ${section.label}...`, borderRadius: "md", bg: theme.colors.gray[50], border: "1px solid",
177
+ })() }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: theme.colors.text[500], children: "& Up" })] }) }, `rating-${r}`))) })) : null, section.searchable && ((0, jsx_runtime_1.jsx)(react_2.Input, { size: "xs", h: "26px", fontSize: "xs", placeholder: `Search ${section.label}...`, borderRadius: "md", bg: theme.colors.background[50], border: "1px solid",
178
178
  // boxborder[500], not raw gray[200]: WCAG 1.4.11 needs >=3.0 for a control
179
179
  // boundary against any named surface up to `muted` (lightest); gray[200] fails
180
180
  // there in dark mode.
@@ -233,7 +233,7 @@ panelPadding = 3, clearAllButton = true, onClearAllHandler,
233
233
  : {
234
234
  justifyContent: "space-between",
235
235
  padding: 0,
236
- background: theme.colors.gray[50],
236
+ background: theme.colors.background[50],
237
237
  borderRadius: theme.radii.lg,
238
238
  border: `1px solid ${theme.colors.gray[200]}`,
239
239
  marginBottom: 6,
@@ -254,6 +254,6 @@ panelPadding = 3, clearAllButton = true, onClearAllHandler,
254
254
  },
255
255
  },
256
256
  }));
257
- return ((0, jsx_runtime_1.jsxs)(react_2.Box, { w: width, bg: variant === "minimal" ? theme.colors.background[50] : theme.colors.gray[50], p: containerPadding !== undefined ? containerPadding : (variant === "minimal" ? 3 : 2), borderRadius: variant === "minimal" ? "lg" : "none", boxShadow: variant === "minimal" ? "sm" : "none", border: variant === "minimal" ? `1px solid ${theme.colors.gray[200]}` : "none", h: "fit-content", maxH: containerHeight !== undefined ? containerHeight : undefined, overflowY: containerHeight !== undefined ? "auto" : "visible", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { className: "filters-header", align: "center", justify: "space-between", mb: 2, borderBottom: "2px solid", borderColor: theme.colors.gray[100], children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "lg", fontWeight: "bold", color: theme.colors.text[500], children: "Filters" }), activeCount > 0 && clearAllButton && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(react_2.Button, { size: "xs", variant: "outline", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 12 }), onClick: clearAll, "aria-label": "Clear All", className: "clear-all-btn", colorScheme: "red", children: "Clear All" }) }))] }), (0, jsx_runtime_1.jsx)(Accordion_1.default, { allowMultiple: true, defaultIndex: sidebarOptions.map((_, i) => i), items: items })] }));
257
+ return ((0, jsx_runtime_1.jsxs)(react_2.Box, { w: width, bg: theme.colors.background[50], p: containerPadding !== undefined ? containerPadding : (variant === "minimal" ? 3 : 2), borderRadius: variant === "minimal" ? "lg" : "none", boxShadow: variant === "minimal" ? "sm" : "none", border: variant === "minimal" ? `1px solid ${theme.colors.gray[200]}` : "none", h: "fit-content", maxH: containerHeight !== undefined ? containerHeight : undefined, overflowY: containerHeight !== undefined ? "auto" : "visible", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { className: "filters-header", align: "center", justify: "space-between", mb: 2, borderBottom: "2px solid", borderColor: theme.colors.gray[100], children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "lg", fontWeight: "bold", color: theme.colors.text[500], children: "Filters" }), activeCount > 0 && clearAllButton && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(react_2.Button, { size: "xs", variant: "outline", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 12 }), onClick: clearAll, "aria-label": "Clear All", className: "clear-all-btn", colorScheme: "red", children: "Clear All" }) }))] }), (0, jsx_runtime_1.jsx)(Accordion_1.default, { allowMultiple: true, defaultIndex: sidebarOptions.map((_, i) => i), items: items })] }));
258
258
  };
259
259
  exports.default = FilterSidebar;
@@ -1,11 +1,3 @@
1
1
  import type { PaletteProps } from "../../Theme/tokens/types";
2
- /**
3
- * FilterSidebar's hover fill for option rows, popover list items, and the accordion trigger.
4
- * `gray[50]` (a pale near-white tint in light mode) sits within ~1 lightness point of the
5
- * dark-mode canvas once the whole scale flips (~1.08:1 contrast) — invisible, the QA-reported
6
- * "checkbox hover invisible" bug. `gray[300]` clears the resting canvas (~2.3:1, a clear visible
7
- * cue) while staying dark enough that the existing `gray[700]`/`gray[800]` row text (tuned for a
8
- * near-black canvas) still reads at/above AA (~4.9:1+) on top of it — no text-color flip needed
9
- * here, unlike the Table row hover fix.
10
- */
11
- export declare const getFilterHoverBg: (colors: PaletteProps, isDark: boolean) => string;
2
+ /** Shared with every selectable list row — never seed from `primary[500]` or `primary.opacity[8]`. */
3
+ export declare const getFilterHoverBg: (colors: PaletteProps, _isDark: boolean) => string;
@@ -1,14 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFilterHoverBg = void 0;
4
- /**
5
- * FilterSidebar's hover fill for option rows, popover list items, and the accordion trigger.
6
- * `gray[50]` (a pale near-white tint in light mode) sits within ~1 lightness point of the
7
- * dark-mode canvas once the whole scale flips (~1.08:1 contrast) — invisible, the QA-reported
8
- * "checkbox hover invisible" bug. `gray[300]` clears the resting canvas (~2.3:1, a clear visible
9
- * cue) while staying dark enough that the existing `gray[700]`/`gray[800]` row text (tuned for a
10
- * near-black canvas) still reads at/above AA (~4.9:1+) on top of it — no text-color flip needed
11
- * here, unlike the Table row hover fix.
12
- */
13
- const getFilterHoverBg = (colors, isDark) => isDark ? colors.gray[300] : colors.gray[50];
4
+ const rowStates_1 = require("../../Theme/tokens/builders/rowStates");
5
+ /** Shared with every selectable list row — never seed from `primary[500]` or `primary.opacity[8]`. */
6
+ const getFilterHoverBg = (colors, _isDark) => (0, rowStates_1.listRowBackgrounds)(colors).active;
14
7
  exports.getFilterHoverBg = getFilterHoverBg;
@@ -1,7 +1,10 @@
1
1
  import React, { ElementType } from "react";
2
+ /** Renders an icon+label header above a bordered card — not an HTML form; no submit/validation, just a section wrapper. */
2
3
  declare const FormWrapper: ({ icon, text, children, }: {
4
+ /** Must be a component reference (e.g. FiUser), not a rendered element like <FiUser />. */
3
5
  icon?: ElementType;
4
6
  text?: string;
7
+ /** Only icon/text/children are accepted — no `...rest`, so className/style/data- and aria-attributes never reach the DOM. */
5
8
  children: React.ReactNode;
6
9
  }) => import("react/jsx-runtime").JSX.Element;
7
10
  export default FormWrapper;
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const react_1 = require("@chakra-ui/react");
5
5
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
6
+ /** Renders an icon+label header above a bordered card — not an HTML form; no submit/validation, just a section wrapper. */
6
7
  const FormWrapper = ({ icon, text, children, }) => {
7
8
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
8
- return ((0, jsx_runtime_1.jsxs)(react_1.Box, { children: [(0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: 2, mb: 2, children: [icon && (0, jsx_runtime_1.jsx)(react_1.Icon, { as: icon, size: "1rem", color: colors.header[500] }), text && ((0, jsx_runtime_1.jsx)(react_1.Box, { fontFamily: "open-sans, sans-serif", fontWeight: 600, fontSize: 12, lineHeight: "100%", letterSpacing: "4%", textTransform: "uppercase", color: colors.header[500], children: text }))] }), (0, jsx_runtime_1.jsx)(react_1.Box, { borderRadius: "base", bg: colors.background[50], border: `0.075rem solid ${colors.border[500]}`, boxShadow: `0 0.063rem 0.125rem 0 ${colors.boxShadow.primary}`, p: "1.5rem", children: children })] }));
9
+ return ((0, jsx_runtime_1.jsxs)(react_1.Box, { children: [(0, jsx_runtime_1.jsxs)(react_1.Box, { display: "flex", alignItems: "center", gap: 2, mb: 2, children: [icon && (0, jsx_runtime_1.jsx)(react_1.Icon, { as: icon, boxSize: "1rem", color: colors.header[500] }), text && ((0, jsx_runtime_1.jsx)(react_1.Box, { fontFamily: "open-sans, sans-serif", fontWeight: 600, fontSize: 12, lineHeight: "100%", letterSpacing: "4%", textTransform: "uppercase", color: colors.header[500], children: text }))] }), (0, jsx_runtime_1.jsx)(react_1.Box, { borderRadius: "base", bg: colors.background[50], border: `0.075rem solid ${colors.boxborder[200]}`, boxShadow: `0 0.063rem 0.125rem 0 ${colors.boxShadow.primary}`, p: "1.5rem", children: children })] }));
9
10
  };
10
11
  exports.default = FormWrapper;
@@ -1,3 +1,4 @@
1
+ /** Horizontal top bar with page-link nav + submenus — for a user-avatar dropdown bar instead, use NavigationBar. */
1
2
  type SubItem = {
2
3
  label: string;
3
4
  href: string;
@@ -15,8 +16,10 @@ type MenuItemProp = {
15
16
  colorScheme?: "blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | undefined;
16
17
  };
17
18
  onClick?: () => void;
19
+ /** Opens as a hover-only dropdown on desktop (no click/keyboard trigger) — a click-toggled accordion on mobile instead. */
18
20
  children?: SubItem[];
19
21
  };
22
+ /** Props for Header, the horizontal top bar; use NavigationBar for a user-avatar dropdown instead. */
20
23
  export type HeaderProps = {
21
24
  logo: React.ReactNode;
22
25
  menuItems: MenuItemProp[];
@@ -32,6 +35,7 @@ export type HeaderProps = {
32
35
  boxShadow?: string;
33
36
  onMobileMenuClose?: () => void;
34
37
  };
38
+ /** Internal props for Header's desktop nav row; not meant for consumers. */
35
39
  export type DesktopMenuProps = Pick<HeaderProps, "menuItems" | "rightSlot"> & {
36
40
  setHoveredMenu: (menu: string | null) => void;
37
41
  isActive: (href?: string) => boolean | "" | undefined;
@@ -41,6 +45,7 @@ export type DesktopMenuProps = Pick<HeaderProps, "menuItems" | "rightSlot"> & {
41
45
  color: string;
42
46
  hoverTextColor?: string;
43
47
  };
48
+ /** Internal props for Header's collapsible mobile menu panel; not meant for consumers. */
44
49
  export type MobileMenuProps = Pick<HeaderProps, 'menuItems' | 'rightSlot'> & Pick<DesktopMenuProps, 'isActive' | 'activeBg' | 'color' | 'hoverBg'> & {
45
50
  isOpen: boolean;
46
51
  onClose?: () => void;
@@ -7,7 +7,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("@chakra-ui/react");
8
8
  const react_2 = __importDefault(require("react"));
9
9
  const lucide_react_1 = require("lucide-react");
10
+ const useCustomTheme_1 = require("../../../Theme/useCustomTheme");
11
+ const accentText_1 = require("../../../Theme/tokens/builders/accentText");
10
12
  const MobileMenu = ({ menuItems, isOpen, isActive, hoverBg, activeBg, color, rightSlot, onClose, }) => {
13
+ const { colors } = (0, useCustomTheme_1.useCustomTheme)();
11
14
  const [openMenuLabel, setOpenMenuLabel] = react_2.default.useState(null);
12
15
  react_2.default.useEffect(() => {
13
16
  if (!isOpen)
@@ -15,7 +18,9 @@ const MobileMenu = ({ menuItems, isOpen, isActive, hoverBg, activeBg, color, rig
15
18
  }, [isOpen]);
16
19
  return ((0, jsx_runtime_1.jsx)(react_1.Collapse, { in: isOpen, animateOpacity: true, children: (0, jsx_runtime_1.jsx)(react_1.Box, { pb: 4, display: { md: "none" }, children: (0, jsx_runtime_1.jsxs)(react_1.Stack, { spacing: 4, children: [menuItems.map((item) => {
17
20
  var _a, _b, _c, _d, _e;
18
- return item.children ? ((0, jsx_runtime_1.jsxs)(react_1.Box, { px: 2, children: [(0, jsx_runtime_1.jsx)(react_1.Button, { onClick: () => setOpenMenuLabel((prev) => (prev === item.label ? null : item.label)), variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: item.children.some((subItem) => isActive(subItem.href))
21
+ return item.children ? ((0, jsx_runtime_1.jsxs)(react_1.Box, { px: 2, children: [(0, jsx_runtime_1.jsx)(react_1.Button, { onClick: () => setOpenMenuLabel((prev) => (prev === item.label ? null : item.label)), variant: "ghost", w: "full", justifyContent: "flex-start", color: item.children.some((subItem) => isActive(subItem.href))
22
+ ? (0, accentText_1.onFilled)(activeBg, colors.white, colors.black)
23
+ : color, bg: item.children.some((subItem) => isActive(subItem.href))
19
24
  ? activeBg
20
25
  : "transparent", _hover: { bg: hoverBg }, rightIcon: openMenuLabel === item.label ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { size: 16 })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { size: 16 })), px: 2, children: (0, jsx_runtime_1.jsx)(react_1.HStack, { w: "full", justify: "space-between", align: "center", children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 0, align: "start", children: [item.badge && ((0, jsx_runtime_1.jsx)(react_1.Badge, { colorScheme: (_b = (_a = item === null || item === void 0 ? void 0 : item.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", variant: "subtle", fontSize: "0.65em", borderRadius: "md", boxShadow: "sm", px: 2, py: 0.5, children: item.badge.label })), (0, jsx_runtime_1.jsx)(react_1.Text, { fontWeight: "bold", children: item.label })] }) }) }), (0, jsx_runtime_1.jsx)(react_1.Collapse, { in: openMenuLabel === item.label, animateOpacity: true, children: (0, jsx_runtime_1.jsx)(react_1.Stack, { pl: 4, mt: 1, spacing: 1, children: item.children.map((subItem) => {
21
26
  var _a, _b, _c;
@@ -23,8 +28,12 @@ const MobileMenu = ({ menuItems, isOpen, isActive, hoverBg, activeBg, color, rig
23
28
  var _a;
24
29
  (_a = subItem.onClick) === null || _a === void 0 ? void 0 : _a.call(subItem);
25
30
  onClose === null || onClose === void 0 ? void 0 : onClose();
26
- }, variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: isActive(subItem.href) ? activeBg : "transparent", _hover: { bg: hoverBg }, children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 0, align: "start", children: [subItem.badge && ((0, jsx_runtime_1.jsx)(react_1.Badge, { colorScheme: (_b = (_a = subItem === null || subItem === void 0 ? void 0 : subItem.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", variant: "subtle", fontSize: "0.65em", borderRadius: "md", boxShadow: "sm", px: 2, py: 0.5, children: (_c = subItem.badge) === null || _c === void 0 ? void 0 : _c.label })), (0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 2, align: "center", children: [(0, jsx_runtime_1.jsx)(react_1.Box, { boxSize: "0.4rem", borderRadius: "full", bg: "currentColor" }), (0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "sm", children: subItem.label })] })] }) }, subItem.label));
27
- }) }) })] }, item.label)) : ((0, jsx_runtime_1.jsx)(react_1.Button, { onClick: () => { var _a; (_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item); onClose === null || onClose === void 0 ? void 0 : onClose(); }, variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: isActive(item.href) ? activeBg : "transparent", _hover: { bg: hoverBg }, children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 0, align: "start", children: [item.badge && ((0, jsx_runtime_1.jsx)(react_1.Badge, { colorScheme: (_d = (_c = item === null || item === void 0 ? void 0 : item.badge) === null || _c === void 0 ? void 0 : _c.colorScheme) !== null && _d !== void 0 ? _d : "blue", variant: "subtle", fontSize: "0.65em", borderRadius: "md", boxShadow: "sm", px: 2, py: 0.5, children: (_e = item.badge) === null || _e === void 0 ? void 0 : _e.label })), (0, jsx_runtime_1.jsx)(react_1.Text, { children: item.label })] }) }, item.label));
31
+ }, variant: "ghost", w: "full", justifyContent: "flex-start", color: isActive(subItem.href)
32
+ ? (0, accentText_1.onFilled)(activeBg, colors.white, colors.black)
33
+ : color, bg: isActive(subItem.href) ? activeBg : "transparent", _hover: { bg: hoverBg }, children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 0, align: "start", children: [subItem.badge && ((0, jsx_runtime_1.jsx)(react_1.Badge, { colorScheme: (_b = (_a = subItem === null || subItem === void 0 ? void 0 : subItem.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", variant: "subtle", fontSize: "0.65em", borderRadius: "md", boxShadow: "sm", px: 2, py: 0.5, children: (_c = subItem.badge) === null || _c === void 0 ? void 0 : _c.label })), (0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 2, align: "center", children: [(0, jsx_runtime_1.jsx)(react_1.Box, { boxSize: "0.4rem", borderRadius: "full", bg: "currentColor" }), (0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "sm", children: subItem.label })] })] }) }, subItem.label));
34
+ }) }) })] }, item.label)) : ((0, jsx_runtime_1.jsx)(react_1.Button, { onClick: () => { var _a; (_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item); onClose === null || onClose === void 0 ? void 0 : onClose(); }, variant: "ghost", w: "full", justifyContent: "flex-start", color: isActive(item.href)
35
+ ? (0, accentText_1.onFilled)(activeBg, colors.white, colors.black)
36
+ : color, bg: isActive(item.href) ? activeBg : "transparent", _hover: { bg: hoverBg }, children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 0, align: "start", children: [item.badge && ((0, jsx_runtime_1.jsx)(react_1.Badge, { colorScheme: (_d = (_c = item === null || item === void 0 ? void 0 : item.badge) === null || _c === void 0 ? void 0 : _c.colorScheme) !== null && _d !== void 0 ? _d : "blue", variant: "subtle", fontSize: "0.65em", borderRadius: "md", boxShadow: "sm", px: 2, py: 0.5, children: (_e = item.badge) === null || _e === void 0 ? void 0 : _e.label })), (0, jsx_runtime_1.jsx)(react_1.Text, { children: item.label })] }) }, item.label));
28
37
  }), rightSlot && (0, jsx_runtime_1.jsx)(react_1.Box, { mt: 4, children: rightSlot })] }) }) }));
29
38
  };
30
39
  exports.default = MobileMenu;
@@ -1,3 +1,4 @@
1
+ /** Internal, not exported from index.ts — use TextInput for a public field. No id prop; the label always renders as a plain span, never linked to the input. */
1
2
  export type InputProps = {
2
3
  label: string;
3
4
  type?: "email" | "password" | "text" | "number";
@@ -7,6 +8,7 @@ export type InputProps = {
7
8
  placeholder?: string;
8
9
  className?: string;
9
10
  inputBoxClassName?: string;
11
+ /** disabled, autoComplete, autoFocus, inputClassName, labelClassName, errorClassName are typed here but Input.tsx never reads them — no effect. */
10
12
  inputClassName?: string;
11
13
  labelClassName?: string;
12
14
  errorClassName?: string;
@@ -1,3 +1,4 @@
1
1
  import { PhoneNumberInputProps } from "./PhoneNumberInputProps";
2
+ /** Country-code-aware phone field with a flag/dial-code prefix; its `ref` prop never attaches — this is a plain function component, not `forwardRef`. */
2
3
  declare const PhoneNumberInput: ({ size, value, codeValueReturn, country, countries, placeholder, onChange, inputId, selectId, error, errorMessage, helperText, label, id, width, isInformation, informationMessage, isRequired, onBlur, onFocus, isReadOnly, height, autoComplete, showCountrySelect, ref, name, minW, maxW, ...rest }: PhoneNumberInputProps) => import("react/jsx-runtime").JSX.Element;
3
4
  export default PhoneNumberInput;
@@ -19,6 +19,7 @@ const getFlagEmoji = (countryCode) => {
19
19
  };
20
20
  const sizeToPt = { xs: 2, sm: -1, md: 2, lg: 4 };
21
21
  const sizeToWidth = { xs: "3.5rem", sm: "3.8rem", md: "4rem", lg: "4rem" };
22
+ /** Country-code-aware phone field with a flag/dial-code prefix; its `ref` prop never attaches — this is a plain function component, not `forwardRef`. */
22
23
  const PhoneNumberInput = ({ size = "md", value, codeValueReturn = true, country, countries, placeholder = "Enter phone number", onChange, inputId, selectId, error, errorMessage, helperText, label, id, width = "100%", isInformation, informationMessage, isRequired, onBlur, onFocus, isReadOnly, height, autoComplete, showCountrySelect = true, ref, name, minW, maxW, ...rest }) => {
23
24
  const theme = (0, useCustomTheme_1.useCustomTheme)();
24
25
  const getCountryTelCode = (0, react_1.useCallback)((countryCode) => {
@@ -1,9 +1,11 @@
1
+ /** One entry in the `countries` select; `dial_code` prefixes the number on change. */
1
2
  export type CountryOption = {
2
3
  country_id: string | number;
3
4
  code: string;
4
5
  country: string;
5
6
  dial_code: string;
6
7
  };
8
+ /** The number field stays isDisabled until a country is chosen (via the select or the country prop) — with neither, typing silently does nothing. */
7
9
  export type PhoneNumberInputProps = {
8
10
  label?: string;
9
11
  id?: string;
@@ -26,6 +28,7 @@ export type PhoneNumberInputProps = {
26
28
  onBlur?: () => void;
27
29
  onFocus?: () => void;
28
30
  isReadOnly?: boolean;
31
+ /** Typed here but PhoneNumberInput is a plain function component, not forwardRef — passing ref never attaches; ref.current stays null. */
29
32
  ref?: React.Ref<HTMLInputElement>;
30
33
  autoComplete?: string;
31
34
  height?: string;
@@ -1,4 +1,5 @@
1
1
  import { SwitchProps } from "@chakra-ui/react";
2
+ /** Extends SwitchProps, so a caller-supplied sx spreads in last and silently replaces the built-in checked/unchecked track color. */
2
3
  export interface ThemedSwitchProps extends SwitchProps {
3
4
  switchText?: string;
4
5
  switchTextPosition?: "left" | "right";
@@ -8,4 +9,5 @@ export interface ThemedSwitchProps extends SwitchProps {
8
9
  label?: string;
9
10
  size?: "sm" | "md" | "lg";
10
11
  }
12
+ /** Themed Chakra `Switch` wrapper; a caller-supplied `sx` replaces (not merges with) the built-in checked/unchecked track color. */
11
13
  export declare const InputSwitch: ({ switchText, switchTextPosition, id, isChecked, label, isInformation, informationMessage, isRequired, size, ...props }: ThemedSwitchProps) => import("react/jsx-runtime").JSX.Element;