pixelize-design-library 2.3.31 → 2.4.1-beta.10

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 (637) hide show
  1. package/README.md +77 -10
  2. package/dist/App.d.ts +4 -0
  3. package/dist/App.d.ts.map +1 -1
  4. package/dist/App.js +95 -0
  5. package/dist/Assets/defaultLogo.d.ts.map +1 -1
  6. package/dist/Assets/defaultLogo.js +1 -3
  7. package/dist/Assets/defaultLogo.tsx +26 -0
  8. package/dist/Components/Accordion/Accordion.d.ts.map +1 -1
  9. package/dist/Components/Accordion/Accordion.js +15 -12
  10. package/dist/Components/Accordion/accordionColors.d.ts +6 -0
  11. package/dist/Components/Accordion/accordionColors.d.ts.map +1 -0
  12. package/dist/Components/Accordion/accordionColors.js +34 -0
  13. package/dist/Components/AlertDialog/AlertDialog.d.ts.map +1 -1
  14. package/dist/Components/AlertDialog/AlertDialog.js +4 -1
  15. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts.map +1 -1
  16. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +5 -1
  17. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts.map +1 -1
  18. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +6 -4
  19. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts.map +1 -1
  20. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +5 -1
  21. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts.map +1 -1
  22. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +5 -1
  23. package/dist/Components/Button/Button.styles.d.ts.map +1 -1
  24. package/dist/Components/Button/Button.styles.js +100 -47
  25. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts.map +1 -1
  26. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +11 -3
  27. package/dist/Components/Card/PaymentCard/PaymentCard.d.ts.map +1 -1
  28. package/dist/Components/Card/PaymentCard/PaymentCard.js +17 -12
  29. package/dist/Components/Checkbox/Checkbox.d.ts.map +1 -1
  30. package/dist/Components/Checkbox/Checkbox.js +2 -1
  31. package/dist/Components/Checkbox/Checkbox.styles.d.ts.map +1 -1
  32. package/dist/Components/Checkbox/Checkbox.styles.js +13 -2
  33. package/dist/Components/Common/ErrorComponent.d.ts.map +1 -1
  34. package/dist/Components/Common/ErrorComponent.js +7 -3
  35. package/dist/Components/Common/ErrorMessage.d.ts.map +1 -1
  36. package/dist/Components/Common/ErrorMessage.js +7 -1
  37. package/dist/Components/Common/FormLabel.d.ts.map +1 -1
  38. package/dist/Components/Common/FormLabel.js +7 -1
  39. package/dist/Components/Common/Label.d.ts.map +1 -1
  40. package/dist/Components/Common/Label.js +4 -2
  41. package/dist/Components/Common/fieldStyles.d.ts.map +1 -1
  42. package/dist/Components/Common/fieldStyles.js +3 -1
  43. package/dist/Components/CopyButton/CopyButton.d.ts.map +1 -1
  44. package/dist/Components/CopyButton/CopyButton.js +14 -6
  45. package/dist/Components/CustomModulesTable/CustomModulesTable.d.ts.map +1 -1
  46. package/dist/Components/CustomModulesTable/CustomModulesTable.js +9 -6
  47. package/dist/Components/CustomModulesTable/DeleteModuleModal.d.ts.map +1 -1
  48. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
  49. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts.map +1 -1
  50. package/dist/Components/CustomModulesTable/EditModuleModal.js +6 -2
  51. package/dist/Components/DatePicker/CalendarPanel.d.ts.map +1 -1
  52. package/dist/Components/DatePicker/CalendarPanel.js +16 -5
  53. package/dist/Components/DatePicker/DatePicker.js +1 -1
  54. package/dist/Components/DatePicker/RangeDatePicker.d.ts.map +1 -1
  55. package/dist/Components/DatePicker/RangeDatePicker.js +1 -1
  56. package/dist/Components/DatePicker/SingleDatePicker.d.ts.map +1 -1
  57. package/dist/Components/DatePicker/SingleDatePicker.js +11 -9
  58. package/dist/Components/DatePicker/TimeOnlyPicker.d.ts.map +1 -1
  59. package/dist/Components/DatePicker/TimeOnlyPicker.js +5 -3
  60. package/dist/Components/DatePicker/TimePicker.d.ts.map +1 -1
  61. package/dist/Components/DatePicker/TimePicker.js +14 -2
  62. package/dist/Components/DatePicker/TimePickerInput.d.ts.map +1 -1
  63. package/dist/Components/DatePicker/TimePickerInput.js +9 -1
  64. package/dist/Components/Drawer/Drawer.d.ts.map +1 -1
  65. package/dist/Components/Drawer/Drawer.js +4 -1
  66. package/dist/Components/Dropdown/DropDown.js +5 -5
  67. package/dist/Components/Editor/Editor.d.ts.map +1 -1
  68. package/dist/Components/Editor/Editor.js +32 -2
  69. package/dist/Components/Editor/joditThemeVars.d.ts +21 -0
  70. package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -0
  71. package/dist/Components/Editor/joditThemeVars.js +79 -0
  72. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts.map +1 -1
  73. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +5 -1
  74. package/dist/Components/EmptyState/EmptyState.js +3 -3
  75. package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts.map +1 -1
  76. package/dist/Components/FieldSelectModal/FieldSelectModal.js +4 -2
  77. package/dist/Components/FilePreview/FilePreview.d.ts.map +1 -1
  78. package/dist/Components/FilePreview/FilePreview.js +10 -2
  79. package/dist/Components/FileUpload/FileUpload.js +4 -4
  80. package/dist/Components/FileUploader/FileUploader.d.ts.map +1 -1
  81. package/dist/Components/FileUploader/FileUploader.js +9 -4
  82. package/dist/Components/FilterSidebar/FilterSidebar.d.ts.map +1 -1
  83. package/dist/Components/FilterSidebar/FilterSidebar.js +166 -142
  84. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +12 -0
  85. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts.map +1 -0
  86. package/dist/Components/FilterSidebar/filterHoverStyle.js +14 -0
  87. package/dist/Components/Form/FormWrapper.js +2 -2
  88. package/dist/Components/Header/Header.d.ts +17 -0
  89. package/dist/Components/Header/Header.d.ts.map +1 -1
  90. package/dist/Components/Header/Header.js +34 -6
  91. package/dist/Components/Header/HeaderActions.d.ts.map +1 -1
  92. package/dist/Components/Header/HeaderActions.js +3 -2
  93. package/dist/Components/Header/components/desktopMenu.d.ts.map +1 -1
  94. package/dist/Components/Header/components/desktopMenu.js +21 -5
  95. package/dist/Components/Input/Input/Input.d.ts.map +1 -1
  96. package/dist/Components/Input/Input/Input.js +6 -2
  97. package/dist/Components/Input/Switch/InputSwitch.d.ts.map +1 -1
  98. package/dist/Components/Input/Switch/InputSwitch.js +4 -2
  99. package/dist/Components/Input/TextInput.styles.d.ts.map +1 -1
  100. package/dist/Components/Input/TextInput.styles.js +6 -1
  101. package/dist/Components/InputTextArea/InputTextArea.style.d.ts.map +1 -1
  102. package/dist/Components/InputTextArea/InputTextArea.style.js +4 -1
  103. package/dist/Components/KanbanBoard/AccountCard.js +4 -4
  104. package/dist/Components/LazyWrapper/LazyWrapper.js +1 -2
  105. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts +5 -0
  106. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts.map +1 -0
  107. package/dist/Components/LimitReachedModal/LimitReachedModal.js +45 -0
  108. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +16 -0
  109. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts.map +1 -0
  110. package/dist/Components/LimitReachedModal/LimitReachedModalProps.js +2 -0
  111. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +7 -0
  112. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts.map +1 -0
  113. package/dist/Components/LimitReachedModal/limitReachedCopy.js +54 -0
  114. package/dist/Components/Loading/Loading.d.ts +1 -1
  115. package/dist/Components/Loading/Loading.d.ts.map +1 -1
  116. package/dist/Components/Loading/Loading.js +2 -2
  117. package/dist/Components/Loading/LoadingProps.d.ts +2 -0
  118. package/dist/Components/Loading/LoadingProps.d.ts.map +1 -1
  119. package/dist/Components/Modal/Modal.d.ts.map +1 -1
  120. package/dist/Components/MoreItems/MoreItems.d.ts.map +1 -1
  121. package/dist/Components/MoreItems/MoreItems.js +10 -4
  122. package/dist/Components/MultiSelect/MultiSelect.d.ts.map +1 -1
  123. package/dist/Components/MultiSelect/MultiSelect.js +5 -2
  124. package/dist/Components/NavigationBar/NavigationBar.d.ts.map +1 -1
  125. package/dist/Components/NavigationBar/NavigationBar.js +15 -5
  126. package/dist/Components/NoteTextArea/NoteTextArea.d.ts.map +1 -1
  127. package/dist/Components/NoteTextArea/NoteTextArea.js +5 -2
  128. package/dist/Components/Notification/Notification.d.ts.map +1 -1
  129. package/dist/Components/Notification/Notification.js +9 -5
  130. package/dist/Components/NumberInput/NumberInput.styles.d.ts.map +1 -1
  131. package/dist/Components/NumberInput/NumberInput.styles.js +4 -1
  132. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts.map +1 -1
  133. package/dist/Components/OrgSwitcher/OrgSwitcher.js +34 -8
  134. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +9 -1
  135. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts.map +1 -1
  136. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +19 -5
  137. package/dist/Components/OrganizationDetails/CreateOrgModal.d.ts.map +1 -1
  138. package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -1
  139. package/dist/Components/OrganizationDetails/DeleteOrgModal.js +2 -2
  140. package/dist/Components/OrganizationDetails/OrganizationDetails.js +11 -11
  141. package/dist/Components/PdfViewer/PdfViewer.js +1 -2
  142. package/dist/Components/PinInput/PinInput.d.ts.map +1 -1
  143. package/dist/Components/PinInput/PinInput.js +5 -1
  144. package/dist/Components/PinInputs/PinInputs.d.ts.map +1 -1
  145. package/dist/Components/PinInputs/PinInputs.js +3 -1
  146. package/dist/Components/PlanBadge/PlanBadge.d.ts +12 -0
  147. package/dist/Components/PlanBadge/PlanBadge.d.ts.map +1 -0
  148. package/dist/Components/PlanBadge/PlanBadge.js +22 -0
  149. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +11 -0
  150. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts.map +1 -0
  151. package/dist/Components/PlanBadge/PlanBadgeProps.js +2 -0
  152. package/dist/Components/PlanPill/PlanPill.d.ts +5 -0
  153. package/dist/Components/PlanPill/PlanPill.d.ts.map +1 -0
  154. package/dist/Components/PlanPill/PlanPill.js +42 -0
  155. package/dist/Components/PlanPill/PlanPillProps.d.ts +28 -0
  156. package/dist/Components/PlanPill/PlanPillProps.d.ts.map +1 -0
  157. package/dist/Components/PlanPill/PlanPillProps.js +2 -0
  158. package/dist/Components/PlanPill/planPillGradient.d.ts +22 -0
  159. package/dist/Components/PlanPill/planPillGradient.d.ts.map +1 -0
  160. package/dist/Components/PlanPill/planPillGradient.js +20 -0
  161. package/dist/Components/ProductCard/ProductCard.js +1 -1
  162. package/dist/Components/ProductCard/ProductPrice.d.ts.map +1 -1
  163. package/dist/Components/ProductCard/ProductPrice.js +7 -4
  164. package/dist/Components/ProductCard/ProductReview.d.ts.map +1 -1
  165. package/dist/Components/ProductCard/ProductReview.js +7 -3
  166. package/dist/Components/ProductCard/ProductTags.js +1 -1
  167. package/dist/Components/ProductDetails/ProductDtlPrice.d.ts.map +1 -1
  168. package/dist/Components/ProductDetails/ProductDtlPrice.js +4 -1
  169. package/dist/Components/ProductDetails/ProductImageSlider.js +4 -4
  170. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts.map +1 -1
  171. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +10 -7
  172. package/dist/Components/Reorder/Reorder.js +2 -1
  173. package/dist/Components/RolesPermission/DeleteRoleModal.d.ts.map +1 -1
  174. package/dist/Components/RolesPermission/DeleteRoleModal.js +4 -2
  175. package/dist/Components/RolesPermission/RolesPermission.js +6 -6
  176. package/dist/Components/Search/Search.d.ts.map +1 -1
  177. package/dist/Components/Search/Search.js +4 -2
  178. package/dist/Components/SearchSelect/SearchSelect.d.ts.map +1 -1
  179. package/dist/Components/SearchSelect/SearchSelect.js +4 -4
  180. package/dist/Components/Select/Select.styles.d.ts.map +1 -1
  181. package/dist/Components/Select/Select.styles.js +33 -21
  182. package/dist/Components/SelectSearch/SelectSearch.d.ts.map +1 -1
  183. package/dist/Components/SelectSearch/SelectSearch.js +6 -4
  184. package/dist/Components/SelectV2/SelectV2.d.ts +3 -0
  185. package/dist/Components/SelectV2/SelectV2.d.ts.map +1 -0
  186. package/dist/Components/SelectV2/SelectV2.js +185 -0
  187. package/dist/Components/SelectV2/SelectV2Props.d.ts +67 -0
  188. package/dist/Components/SelectV2/SelectV2Props.d.ts.map +1 -0
  189. package/dist/Components/SelectV2/SelectV2Props.js +2 -0
  190. package/dist/Components/SideBar/SecondaryBar.d.ts.map +1 -1
  191. package/dist/Components/SideBar/SecondaryBar.js +22 -3
  192. package/dist/Components/SideBar/SideBar.d.ts.map +1 -1
  193. package/dist/Components/SideBar/SideBar.js +19 -5
  194. package/dist/Components/SideBar/components/MenuItemBox.d.ts.map +1 -1
  195. package/dist/Components/SideBar/components/MenuItemBox.js +20 -15
  196. package/dist/Components/SideBar/components/MenuPopoverContent.d.ts.map +1 -1
  197. package/dist/Components/SideBar/components/MenuPopoverContent.js +7 -2
  198. package/dist/Components/SideBar/sidebarAccentColors.d.ts +21 -0
  199. package/dist/Components/SideBar/sidebarAccentColors.d.ts.map +1 -0
  200. package/dist/Components/SideBar/sidebarAccentColors.js +36 -0
  201. package/dist/Components/SignInActivityTable/SignInActivityTable.d.ts.map +1 -1
  202. package/dist/Components/SignInActivityTable/SignInActivityTable.js +7 -6
  203. package/dist/Components/StageProgress/StageProgress.d.ts.map +1 -1
  204. package/dist/Components/StageProgress/StageProgress.js +9 -4
  205. package/dist/Components/StageProgress/StageProgressProps.d.ts.map +1 -1
  206. package/dist/Components/StageProgress/StageProgressProps.js +13 -4
  207. package/dist/Components/StageProgress/StepperStage.js +1 -1
  208. package/dist/Components/Switch/Switch.d.ts.map +1 -1
  209. package/dist/Components/Switch/Switch.js +5 -3
  210. package/dist/Components/Table/Table.d.ts.map +1 -1
  211. package/dist/Components/Table/Table.js +9 -9
  212. package/dist/Components/Table/TableProps.d.ts +1 -0
  213. package/dist/Components/Table/TableProps.d.ts.map +1 -1
  214. package/dist/Components/Table/components/HeaderActions.d.ts.map +1 -1
  215. package/dist/Components/Table/components/HeaderActions.js +2 -1
  216. package/dist/Components/Table/components/TableActions.js +1 -1
  217. package/dist/Components/Table/components/TableBody.d.ts.map +1 -1
  218. package/dist/Components/Table/components/TableBody.js +21 -15
  219. package/dist/Components/Table/components/TableHeader.d.ts.map +1 -1
  220. package/dist/Components/Table/components/TableHeader.js +7 -4
  221. package/dist/Components/Table/components/tableRowHoverStyle.d.ts +14 -0
  222. package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -0
  223. package/dist/Components/Table/components/tableRowHoverStyle.js +26 -0
  224. package/dist/Components/Table/filters/CompactSelect.d.ts.map +1 -1
  225. package/dist/Components/Table/filters/CompactSelect.js +4 -1
  226. package/dist/Components/Table/filters/LeftFilterPane.d.ts.map +1 -1
  227. package/dist/Components/Table/filters/LeftFilterPane.js +5 -4
  228. package/dist/Components/Table/settings/ManageColumns.js +2 -2
  229. package/dist/Components/Tag/Tag.styles.d.ts.map +1 -1
  230. package/dist/Components/Tag/Tag.styles.js +21 -8
  231. package/dist/Components/Timeline/Timeline.d.ts.map +1 -1
  232. package/dist/Components/Timeline/Timeline.js +18 -17
  233. package/dist/Components/Toaster/Toaster.d.ts.map +1 -1
  234. package/dist/Components/Toaster/Toaster.js +8 -5
  235. package/dist/Components/Toggle/TableToggle.js +2 -2
  236. package/dist/Components/ToolTip/ToolTip.d.ts.map +1 -1
  237. package/dist/Components/ToolTip/ToolTip.js +14 -2
  238. package/dist/Components/Trail/EditableCell.js +1 -1
  239. package/dist/Components/UpgradeButton/UpgradeButton.d.ts.map +1 -1
  240. package/dist/Components/UpgradeButton/UpgradeButton.js +31 -8
  241. package/dist/Components/UserDetails/AddUserModal.d.ts.map +1 -1
  242. package/dist/Components/UserDetails/AddUserModal.js +1 -1
  243. package/dist/Components/UserDetails/ChangeRoleModal.js +2 -2
  244. package/dist/Components/UserDetails/DeactivateConfirmModal.d.ts.map +1 -1
  245. package/dist/Components/UserDetails/DeactivateConfirmModal.js +5 -2
  246. package/dist/Components/UserDetails/UserDetails.d.ts.map +1 -1
  247. package/dist/Components/UserDetails/UserDetails.js +20 -10
  248. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts.map +1 -1
  249. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +4 -1
  250. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +2 -2
  251. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts.map +1 -1
  252. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +29 -4
  253. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +18 -0
  254. package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts.map +1 -1
  255. package/dist/Layout.d.ts +3 -0
  256. package/dist/Layout.js +286 -0
  257. package/dist/Pages/TInput.d.ts +3 -0
  258. package/dist/Pages/TInput.d.ts.map +1 -0
  259. package/dist/Pages/TInput.js +20 -0
  260. package/dist/Pages/accordion.d.ts +3 -0
  261. package/dist/Pages/accordion.d.ts.map +1 -0
  262. package/dist/Pages/accordion.js +21 -0
  263. package/dist/Pages/alertdialog.d.ts +3 -0
  264. package/dist/Pages/alertdialog.d.ts.map +1 -0
  265. package/dist/Pages/alertdialog.js +53 -0
  266. package/dist/Pages/button.d.ts +3 -0
  267. package/dist/Pages/button.d.ts.map +1 -0
  268. package/dist/Pages/button.js +32 -0
  269. package/dist/Pages/card.d.ts +3 -0
  270. package/dist/Pages/card.d.ts.map +1 -0
  271. package/dist/Pages/card.js +102 -0
  272. package/dist/Pages/chart.d.ts +4 -0
  273. package/dist/Pages/chart.d.ts.map +1 -0
  274. package/dist/Pages/chart.js +25 -0
  275. package/dist/Pages/checkbox.d.ts +3 -0
  276. package/dist/Pages/checkbox.d.ts.map +1 -0
  277. package/dist/Pages/checkbox.js +11 -0
  278. package/dist/Pages/contactForm.d.ts +3 -0
  279. package/dist/Pages/contactForm.d.ts.map +1 -0
  280. package/dist/Pages/contactForm.js +15 -0
  281. package/dist/Pages/customModulesTable.d.ts +4 -0
  282. package/dist/Pages/customModulesTable.d.ts.map +1 -0
  283. package/dist/Pages/customModulesTable.js +25 -0
  284. package/dist/Pages/datePick.d.ts +3 -0
  285. package/dist/Pages/datePick.d.ts.map +1 -0
  286. package/dist/Pages/datePick.js +49 -0
  287. package/dist/Pages/drawer.d.ts +3 -0
  288. package/dist/Pages/drawer.d.ts.map +1 -0
  289. package/dist/Pages/drawer.js +53 -0
  290. package/dist/Pages/dropdown.d.ts +3 -0
  291. package/dist/Pages/dropdown.d.ts.map +1 -0
  292. package/dist/Pages/dropdown.js +21 -0
  293. package/dist/Pages/editor.d.ts +3 -0
  294. package/dist/Pages/editor.d.ts.map +1 -0
  295. package/dist/Pages/editor.js +13 -0
  296. package/dist/Pages/feedback.d.ts +2 -0
  297. package/dist/Pages/feedback.d.ts.map +1 -0
  298. package/dist/Pages/feedback.js +12 -0
  299. package/dist/Pages/fileUpload.d.ts +2 -0
  300. package/dist/Pages/fileUpload.d.ts.map +1 -0
  301. package/dist/Pages/fileUpload.js +36 -0
  302. package/dist/Pages/input.d.ts +3 -0
  303. package/dist/Pages/input.d.ts.map +1 -0
  304. package/dist/Pages/input.js +48 -0
  305. package/dist/Pages/kanbanboard.d.ts +3 -0
  306. package/dist/Pages/kanbanboard.d.ts.map +1 -0
  307. package/dist/Pages/kanbanboard.js +182 -0
  308. package/dist/Pages/modal.d.ts +3 -0
  309. package/dist/Pages/modal.d.ts.map +1 -0
  310. package/dist/Pages/modal.js +61 -0
  311. package/dist/Pages/multiSelect.d.ts +3 -0
  312. package/dist/Pages/multiSelect.d.ts.map +1 -0
  313. package/dist/Pages/multiSelect.js +22 -0
  314. package/dist/Pages/noteArea.d.ts +3 -0
  315. package/dist/Pages/noteArea.d.ts.map +1 -0
  316. package/dist/Pages/noteArea.js +26 -0
  317. package/dist/Pages/notification.d.ts +3 -0
  318. package/dist/Pages/notification.d.ts.map +1 -0
  319. package/dist/Pages/notification.js +37 -0
  320. package/dist/Pages/numberInput.d.ts +3 -0
  321. package/dist/Pages/numberInput.d.ts.map +1 -0
  322. package/dist/Pages/numberInput.js +16 -0
  323. package/dist/Pages/orgSwitcher.d.ts +4 -0
  324. package/dist/Pages/orgSwitcher.d.ts.map +1 -0
  325. package/dist/Pages/orgSwitcher.js +36 -0
  326. package/dist/Pages/organizationDetails.d.ts +4 -0
  327. package/dist/Pages/organizationDetails.d.ts.map +1 -0
  328. package/dist/Pages/organizationDetails.js +80 -0
  329. package/dist/Pages/photoViewer.d.ts +3 -0
  330. package/dist/Pages/photoViewer.d.ts.map +1 -0
  331. package/dist/Pages/photoViewer.js +12 -0
  332. package/dist/Pages/pinInputs.d.ts +3 -0
  333. package/dist/Pages/pinInputs.d.ts.map +1 -0
  334. package/dist/Pages/pinInputs.js +11 -0
  335. package/dist/Pages/productCaard.d.ts +3 -0
  336. package/dist/Pages/productCaard.d.ts.map +1 -0
  337. package/dist/Pages/productCaard.js +311 -0
  338. package/dist/Pages/productDetailCard.d.ts +3 -0
  339. package/dist/Pages/productDetailCard.d.ts.map +1 -0
  340. package/dist/Pages/productDetailCard.js +78 -0
  341. package/dist/Pages/productFilter.d.ts +3 -0
  342. package/dist/Pages/productFilter.d.ts.map +1 -0
  343. package/dist/Pages/productFilter.js +148 -0
  344. package/dist/Pages/progressbar.d.ts +3 -0
  345. package/dist/Pages/progressbar.d.ts.map +1 -0
  346. package/dist/Pages/progressbar.js +11 -0
  347. package/dist/Pages/radioButton.d.ts +3 -0
  348. package/dist/Pages/radioButton.d.ts.map +1 -0
  349. package/dist/Pages/radioButton.js +18 -0
  350. package/dist/Pages/rolesPermission.d.ts +4 -0
  351. package/dist/Pages/rolesPermission.d.ts.map +1 -0
  352. package/dist/Pages/rolesPermission.js +144 -0
  353. package/dist/Pages/search.d.ts +3 -0
  354. package/dist/Pages/search.d.ts.map +1 -0
  355. package/dist/Pages/search.js +21 -0
  356. package/dist/Pages/searchSelect.d.ts +3 -0
  357. package/dist/Pages/searchSelect.d.ts.map +1 -0
  358. package/dist/Pages/searchSelect.js +97 -0
  359. package/dist/Pages/select.d.ts +3 -0
  360. package/dist/Pages/select.d.ts.map +1 -0
  361. package/dist/Pages/select.js +20 -0
  362. package/dist/Pages/selectSearch.d.ts +3 -0
  363. package/dist/Pages/selectSearch.d.ts.map +1 -0
  364. package/dist/Pages/selectSearch.js +58 -0
  365. package/dist/Pages/signInActivityTable.d.ts +4 -0
  366. package/dist/Pages/signInActivityTable.d.ts.map +1 -0
  367. package/dist/Pages/signInActivityTable.js +17 -0
  368. package/dist/Pages/skeleton.d.ts +3 -0
  369. package/dist/Pages/skeleton.d.ts.map +1 -0
  370. package/dist/Pages/skeleton.js +12 -0
  371. package/dist/Pages/stageProgress.d.ts +4 -0
  372. package/dist/Pages/stageProgress.d.ts.map +1 -0
  373. package/dist/Pages/stageProgress.js +31 -0
  374. package/dist/Pages/switch.d.ts +3 -0
  375. package/dist/Pages/switch.d.ts.map +1 -0
  376. package/dist/Pages/switch.js +17 -0
  377. package/dist/Pages/table.d.ts +3 -0
  378. package/dist/Pages/table.d.ts.map +1 -0
  379. package/dist/Pages/table.js +182 -0
  380. package/dist/Pages/tag.d.ts +3 -0
  381. package/dist/Pages/tag.d.ts.map +1 -0
  382. package/dist/Pages/tag.js +27 -0
  383. package/dist/Pages/textArea.d.ts +3 -0
  384. package/dist/Pages/textArea.d.ts.map +1 -0
  385. package/dist/Pages/textArea.js +14 -0
  386. package/dist/Pages/tier1.d.ts +4 -0
  387. package/dist/Pages/tier1.d.ts.map +1 -0
  388. package/dist/Pages/tier1.js +86 -0
  389. package/dist/Pages/timeline.d.ts +3 -0
  390. package/dist/Pages/timeline.d.ts.map +1 -0
  391. package/dist/Pages/timeline.js +73 -0
  392. package/dist/Pages/tooltip.d.ts +3 -0
  393. package/dist/Pages/tooltip.d.ts.map +1 -0
  394. package/dist/Pages/tooltip.js +11 -0
  395. package/dist/Pages/toster.d.ts +3 -0
  396. package/dist/Pages/toster.d.ts.map +1 -0
  397. package/dist/Pages/toster.js +53 -0
  398. package/dist/Pages/upgradeButton.d.ts +4 -0
  399. package/dist/Pages/upgradeButton.d.ts.map +1 -0
  400. package/dist/Pages/upgradeButton.js +17 -0
  401. package/dist/Pages/userDetails.d.ts +4 -0
  402. package/dist/Pages/userDetails.d.ts.map +1 -0
  403. package/dist/Pages/userDetails.js +79 -0
  404. package/dist/Pages/verifyEmail.d.ts +3 -0
  405. package/dist/Pages/verifyEmail.d.ts.map +1 -0
  406. package/dist/Pages/verifyEmail.js +17 -0
  407. package/dist/Theme/chakra/Avatar.styles.d.ts +33 -0
  408. package/dist/Theme/chakra/Avatar.styles.d.ts.map +1 -0
  409. package/dist/Theme/chakra/Avatar.styles.js +28 -0
  410. package/dist/Theme/chakra/Drawer.styles.d.ts +32 -0
  411. package/dist/Theme/chakra/Drawer.styles.d.ts.map +1 -0
  412. package/dist/Theme/chakra/Drawer.styles.js +26 -0
  413. package/dist/Theme/chakra/Menu.styles.d.ts +70 -0
  414. package/dist/Theme/chakra/Menu.styles.d.ts.map +1 -0
  415. package/dist/Theme/chakra/Menu.styles.js +50 -0
  416. package/dist/Theme/chakra/Modal.styles.d.ts +32 -0
  417. package/dist/Theme/chakra/Modal.styles.d.ts.map +1 -0
  418. package/dist/Theme/chakra/Modal.styles.js +26 -0
  419. package/dist/Theme/chakra/Popover.styles.d.ts +37 -0
  420. package/dist/Theme/chakra/Popover.styles.d.ts.map +1 -0
  421. package/dist/Theme/chakra/Popover.styles.js +30 -0
  422. package/dist/Theme/chakra/Slider.styles.d.ts +31 -0
  423. package/dist/Theme/chakra/Slider.styles.d.ts.map +1 -0
  424. package/dist/Theme/chakra/Slider.styles.js +25 -0
  425. package/dist/Theme/chakra/Switch.styles.d.ts +31 -0
  426. package/dist/Theme/chakra/Switch.styles.d.ts.map +1 -0
  427. package/dist/Theme/chakra/Switch.styles.js +24 -0
  428. package/dist/Theme/chakra/Tabs.styles.d.ts +43 -0
  429. package/dist/Theme/chakra/Tabs.styles.d.ts.map +1 -0
  430. package/dist/Theme/chakra/Tabs.styles.js +41 -0
  431. package/dist/Theme/{common.d.ts → chakra/common.web.d.ts} +14 -10
  432. package/dist/Theme/chakra/common.web.d.ts.map +1 -0
  433. package/dist/Theme/chakra/common.web.js +21 -0
  434. package/dist/Theme/chakra/componentStyles.d.ts +242 -0
  435. package/dist/Theme/chakra/componentStyles.d.ts.map +1 -0
  436. package/dist/Theme/chakra/componentStyles.js +224 -0
  437. package/dist/Theme/chakra/createBrandTheme.d.ts +18 -0
  438. package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -0
  439. package/dist/Theme/chakra/createBrandTheme.js +125 -0
  440. package/dist/Theme/{fonts.d.ts → chakra/fonts.web.d.ts} +6 -1
  441. package/dist/Theme/chakra/fonts.web.d.ts.map +1 -0
  442. package/dist/Theme/chakra/fonts.web.js +15 -0
  443. package/dist/Theme/index.d.ts +29 -8
  444. package/dist/Theme/index.d.ts.map +1 -1
  445. package/dist/Theme/index.js +54 -22
  446. package/dist/Theme/provider/PixelizeThemeProvider.d.ts +46 -0
  447. package/dist/Theme/provider/PixelizeThemeProvider.d.ts.map +1 -0
  448. package/dist/Theme/provider/PixelizeThemeProvider.js +179 -0
  449. package/dist/Theme/provider/ThemeSwitcher.d.ts +8 -0
  450. package/dist/Theme/provider/ThemeSwitcher.d.ts.map +1 -0
  451. package/dist/Theme/provider/ThemeSwitcher.js +111 -0
  452. package/dist/Theme/provider/colorModeStorage.d.ts +10 -0
  453. package/dist/Theme/provider/colorModeStorage.d.ts.map +1 -0
  454. package/dist/Theme/provider/colorModeStorage.js +106 -0
  455. package/dist/Theme/provider/index.d.ts +6 -0
  456. package/dist/Theme/provider/index.d.ts.map +1 -0
  457. package/dist/Theme/provider/index.js +9 -0
  458. package/dist/Theme/provider/useThemeMode.d.ts +3 -0
  459. package/dist/Theme/provider/useThemeMode.d.ts.map +1 -0
  460. package/dist/Theme/provider/useThemeMode.js +13 -0
  461. package/dist/Theme/themeProps.d.ts +10 -373
  462. package/dist/Theme/themeProps.d.ts.map +1 -1
  463. package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +7 -0
  464. package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts.map +1 -0
  465. package/dist/Theme/tokens/brands/emerald/palette.dark.js +13 -0
  466. package/dist/Theme/{Radiant/palette.d.ts → tokens/brands/emerald/palette.light.d.ts} +1 -1
  467. package/dist/Theme/{Radiant/palette.d.ts.map → tokens/brands/emerald/palette.light.d.ts.map} +1 -1
  468. package/dist/Theme/{Emerald/palette.js → tokens/brands/emerald/palette.light.js} +17 -7
  469. package/dist/Theme/tokens/brands/index.d.ts +28 -0
  470. package/dist/Theme/tokens/brands/index.d.ts.map +1 -0
  471. package/dist/Theme/tokens/brands/index.js +95 -0
  472. package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +7 -0
  473. package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts.map +1 -0
  474. package/dist/Theme/tokens/brands/lavender/palette.dark.js +13 -0
  475. package/dist/Theme/{Emerald/palette.d.ts → tokens/brands/lavender/palette.light.d.ts} +96 -96
  476. package/dist/Theme/tokens/brands/lavender/palette.light.d.ts.map +1 -0
  477. package/dist/Theme/{Default/palette.js → tokens/brands/lavender/palette.light.js} +13 -3
  478. package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +7 -0
  479. package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts.map +1 -0
  480. package/dist/Theme/tokens/brands/meadow/palette.dark.js +13 -0
  481. package/dist/Theme/{Meadow/palette.d.ts → tokens/brands/meadow/palette.light.d.ts} +1 -1
  482. package/dist/Theme/{Meadow/palette.d.ts.map → tokens/brands/meadow/palette.light.d.ts.map} +1 -1
  483. package/dist/Theme/{Meadow/palette.js → tokens/brands/meadow/palette.light.js} +17 -7
  484. package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +7 -0
  485. package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts.map +1 -0
  486. package/dist/Theme/tokens/brands/radiant/palette.dark.js +13 -0
  487. package/dist/Theme/{Default/palette.d.ts → tokens/brands/radiant/palette.light.d.ts} +96 -96
  488. package/dist/Theme/tokens/brands/radiant/palette.light.d.ts.map +1 -0
  489. package/dist/Theme/{Radiant/palette.js → tokens/brands/radiant/palette.light.js} +17 -7
  490. package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +7 -0
  491. package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts.map +1 -0
  492. package/dist/Theme/tokens/brands/rosewood/palette.dark.js +13 -0
  493. package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts +375 -0
  494. package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts.map +1 -0
  495. package/dist/Theme/{Rosewood/palette.js → tokens/brands/rosewood/palette.light.js} +21 -7
  496. package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +7 -0
  497. package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts.map +1 -0
  498. package/dist/Theme/tokens/brands/skyline/palette.dark.js +13 -0
  499. package/dist/Theme/tokens/brands/skyline/palette.light.d.ts +375 -0
  500. package/dist/Theme/tokens/brands/skyline/palette.light.d.ts.map +1 -0
  501. package/dist/Theme/{Skyline/palette.js → tokens/brands/skyline/palette.light.js} +17 -7
  502. package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +7 -0
  503. package/dist/Theme/tokens/brands/slate/palette.dark.d.ts.map +1 -0
  504. package/dist/Theme/tokens/brands/slate/palette.dark.js +13 -0
  505. package/dist/Theme/tokens/brands/slate/palette.light.d.ts +375 -0
  506. package/dist/Theme/{Emerald/palette.d.ts.map → tokens/brands/slate/palette.light.d.ts.map} +1 -1
  507. package/dist/Theme/{Slate/palette.js → tokens/brands/slate/palette.light.js} +21 -7
  508. package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +7 -0
  509. package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts.map +1 -0
  510. package/dist/Theme/tokens/brands/storefront/palette.dark.js +13 -0
  511. package/dist/Theme/tokens/brands/storefront/palette.light.d.ts +375 -0
  512. package/dist/Theme/tokens/brands/storefront/palette.light.d.ts.map +1 -0
  513. package/dist/Theme/tokens/brands/storefront/palette.light.js +127 -0
  514. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +204 -0
  515. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -0
  516. package/dist/Theme/tokens/brands/zinc/palette.dark.js +206 -0
  517. package/dist/Theme/tokens/brands/zinc/palette.light.d.ts +375 -0
  518. package/dist/Theme/{Default/palette.d.ts.map → tokens/brands/zinc/palette.light.d.ts.map} +1 -1
  519. package/dist/Theme/tokens/brands/zinc/palette.light.js +383 -0
  520. package/dist/Theme/tokens/builders/accentText.d.ts +56 -0
  521. package/dist/Theme/tokens/builders/accentText.d.ts.map +1 -0
  522. package/dist/Theme/tokens/builders/accentText.js +92 -0
  523. package/dist/Theme/tokens/builders/buildBrandTokens.d.ts.map +1 -0
  524. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +23 -0
  525. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts.map +1 -0
  526. package/dist/Theme/tokens/builders/buildDarkPalette.js +282 -0
  527. package/dist/Theme/{chartColorsFromTheme.d.ts → tokens/builders/chartColorsFromTheme.d.ts} +2 -4
  528. package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts.map +1 -0
  529. package/dist/Theme/{chartColorsFromTheme.js → tokens/builders/chartColorsFromTheme.js} +0 -8
  530. package/dist/Theme/tokens/builders/color.d.ts +50 -0
  531. package/dist/Theme/tokens/builders/color.d.ts.map +1 -0
  532. package/dist/Theme/tokens/builders/color.js +156 -0
  533. package/dist/Theme/tokens/builders/index.d.ts +6 -0
  534. package/dist/Theme/tokens/builders/index.d.ts.map +1 -0
  535. package/dist/Theme/tokens/builders/index.js +21 -0
  536. package/dist/Theme/tokens/builders/outlineRung.d.ts +35 -0
  537. package/dist/Theme/tokens/builders/outlineRung.d.ts.map +1 -0
  538. package/dist/Theme/tokens/builders/outlineRung.js +69 -0
  539. package/dist/Theme/tokens/builders/statusTone.d.ts +35 -0
  540. package/dist/Theme/tokens/builders/statusTone.d.ts.map +1 -0
  541. package/dist/Theme/tokens/builders/statusTone.js +63 -0
  542. package/dist/Theme/tokens/index.d.ts +15 -0
  543. package/dist/Theme/tokens/index.d.ts.map +1 -0
  544. package/dist/Theme/tokens/index.js +30 -0
  545. package/dist/Theme/tokens/primitives/breakpoints.d.ts +9 -0
  546. package/dist/Theme/tokens/primitives/breakpoints.d.ts.map +1 -0
  547. package/dist/Theme/tokens/primitives/breakpoints.js +10 -0
  548. package/dist/Theme/tokens/primitives/index.d.ts +10 -0
  549. package/dist/Theme/tokens/primitives/index.d.ts.map +1 -0
  550. package/dist/Theme/tokens/primitives/index.js +27 -0
  551. package/dist/Theme/tokens/primitives/letterSpacings.d.ts +10 -0
  552. package/dist/Theme/tokens/primitives/letterSpacings.d.ts.map +1 -0
  553. package/dist/Theme/tokens/primitives/letterSpacings.js +11 -0
  554. package/dist/Theme/tokens/primitives/lineHeights.d.ts +19 -0
  555. package/dist/Theme/tokens/primitives/lineHeights.d.ts.map +1 -0
  556. package/dist/Theme/tokens/primitives/lineHeights.js +20 -0
  557. package/dist/Theme/tokens/primitives/radii.d.ts +13 -0
  558. package/dist/Theme/tokens/primitives/radii.d.ts.map +1 -0
  559. package/dist/Theme/tokens/primitives/radii.js +14 -0
  560. package/dist/Theme/tokens/primitives/shadows.d.ts +16 -0
  561. package/dist/Theme/tokens/primitives/shadows.d.ts.map +1 -0
  562. package/dist/Theme/tokens/primitives/shadows.js +17 -0
  563. package/dist/Theme/tokens/primitives/sizes.d.ts +63 -0
  564. package/dist/Theme/tokens/primitives/sizes.d.ts.map +1 -0
  565. package/dist/Theme/tokens/primitives/sizes.js +39 -0
  566. package/dist/Theme/tokens/primitives/space.d.ts.map +1 -0
  567. package/dist/Theme/tokens/primitives/typography.d.ts +73 -0
  568. package/dist/Theme/tokens/primitives/typography.d.ts.map +1 -0
  569. package/dist/Theme/tokens/primitives/typography.js +43 -0
  570. package/dist/Theme/tokens/primitives/zIndices.d.ts +17 -0
  571. package/dist/Theme/tokens/primitives/zIndices.d.ts.map +1 -0
  572. package/dist/Theme/tokens/primitives/zIndices.js +18 -0
  573. package/dist/Theme/tokens/types.d.ts +116 -0
  574. package/dist/Theme/tokens/types.d.ts.map +1 -0
  575. package/dist/Theme/tokens/types.js +8 -0
  576. package/dist/Utils/planBadge.d.ts +39 -0
  577. package/dist/Utils/planBadge.d.ts.map +1 -0
  578. package/dist/Utils/planBadge.js +108 -0
  579. package/dist/Utils/planExpiry.d.ts +35 -0
  580. package/dist/Utils/planExpiry.d.ts.map +1 -0
  581. package/dist/Utils/planExpiry.js +115 -0
  582. package/dist/Utils/table.d.ts +9 -2
  583. package/dist/Utils/table.d.ts.map +1 -1
  584. package/dist/Utils/table.js +23 -7
  585. package/dist/bootstrap.d.ts +2 -0
  586. package/dist/bootstrap.js +16 -0
  587. package/dist/index.d.ts +26 -1
  588. package/dist/index.d.ts.map +1 -1
  589. package/dist/index.js +81 -2
  590. package/package.json +1 -1
  591. package/dist/Theme/Dark/theme.d.ts +0 -3
  592. package/dist/Theme/Dark/theme.d.ts.map +0 -1
  593. package/dist/Theme/Dark/theme.js +0 -277
  594. package/dist/Theme/Default/theme.d.ts +0 -3
  595. package/dist/Theme/Default/theme.d.ts.map +0 -1
  596. package/dist/Theme/Default/theme.js +0 -19
  597. package/dist/Theme/Emerald/theme.d.ts +0 -3
  598. package/dist/Theme/Emerald/theme.d.ts.map +0 -1
  599. package/dist/Theme/Emerald/theme.js +0 -19
  600. package/dist/Theme/Meadow/theme.d.ts +0 -3
  601. package/dist/Theme/Meadow/theme.d.ts.map +0 -1
  602. package/dist/Theme/Meadow/theme.js +0 -19
  603. package/dist/Theme/Radiant/theme.d.ts +0 -3
  604. package/dist/Theme/Radiant/theme.d.ts.map +0 -1
  605. package/dist/Theme/Radiant/theme.js +0 -19
  606. package/dist/Theme/Rosewood/palette.d.ts +0 -375
  607. package/dist/Theme/Rosewood/palette.d.ts.map +0 -1
  608. package/dist/Theme/Rosewood/theme.d.ts +0 -3
  609. package/dist/Theme/Rosewood/theme.d.ts.map +0 -1
  610. package/dist/Theme/Rosewood/theme.js +0 -19
  611. package/dist/Theme/Skyline/palette.d.ts +0 -375
  612. package/dist/Theme/Skyline/palette.d.ts.map +0 -1
  613. package/dist/Theme/Skyline/theme.d.ts +0 -3
  614. package/dist/Theme/Skyline/theme.d.ts.map +0 -1
  615. package/dist/Theme/Skyline/theme.js +0 -19
  616. package/dist/Theme/Slate/palette.d.ts +0 -375
  617. package/dist/Theme/Slate/palette.d.ts.map +0 -1
  618. package/dist/Theme/Slate/theme.d.ts +0 -3
  619. package/dist/Theme/Slate/theme.d.ts.map +0 -1
  620. package/dist/Theme/Slate/theme.js +0 -19
  621. package/dist/Theme/buildBrandTokens.d.ts.map +0 -1
  622. package/dist/Theme/chartColorsFromTheme.d.ts.map +0 -1
  623. package/dist/Theme/common.d.ts.map +0 -1
  624. package/dist/Theme/common.js +0 -112
  625. package/dist/Theme/componentStyles.d.ts +0 -10
  626. package/dist/Theme/componentStyles.d.ts.map +0 -1
  627. package/dist/Theme/componentStyles.js +0 -19
  628. package/dist/Theme/fonts.d.ts.map +0 -1
  629. package/dist/Theme/fonts.js +0 -41
  630. package/dist/Theme/space.d.ts.map +0 -1
  631. package/dist/Theme/theme.d.ts +0 -3
  632. package/dist/Theme/theme.d.ts.map +0 -1
  633. package/dist/Theme/theme.js +0 -12
  634. /package/dist/Theme/{buildBrandTokens.d.ts → tokens/builders/buildBrandTokens.d.ts} +0 -0
  635. /package/dist/Theme/{buildBrandTokens.js → tokens/builders/buildBrandTokens.js} +0 -0
  636. /package/dist/Theme/{space.d.ts → tokens/primitives/space.d.ts} +0 -0
  637. /package/dist/Theme/{space.js → tokens/primitives/space.js} +0 -0
@@ -26,7 +26,7 @@ const MotionBox = (0, framer_motion_1.motion)(react_2.Box);
26
26
  * action without the toast vanishing mid-reach.
27
27
  */
28
28
  function ToastCard({ onClose, title, description, actions, isClosable, duration, meta, colors: c, shadowLg, }) {
29
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
30
30
  const [paused, setPaused] = (0, react_1.useState)(false);
31
31
  const solid = (_d = (_b = (_a = meta.scale) === null || _a === void 0 ? void 0 : _a[500]) !== null && _b !== void 0 ? _b : (_c = c === null || c === void 0 ? void 0 : c.gray) === null || _c === void 0 ? void 0 : _c[500]) !== null && _d !== void 0 ? _d : "#718096";
32
32
  const soft = (_h = (_f = (_e = meta.scale) === null || _e === void 0 ? void 0 : _e[50]) !== null && _f !== void 0 ? _f : (_g = c === null || c === void 0 ? void 0 : c.gray) === null || _g === void 0 ? void 0 : _g[50]) !== null && _h !== void 0 ? _h : "#f7fafc";
@@ -47,15 +47,18 @@ function ToastCard({ onClose, title, description, actions, isClosable, duration,
47
47
  // by frame (that double-drive is what caused the ~200ms entry flicker). A
48
48
  // tween (not spring) lands on an exact end transform, so there's no residual
49
49
  // sub-pixel settle to shimmer.
50
- initial: { opacity: 0, x: 24 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: 24 }, transition: { duration: 0.24, ease: [0.22, 1, 0.36, 1] }, onHoverStart: () => setPaused(true), onHoverEnd: () => setPaused(false), position: "relative", bg: (_o = c === null || c === void 0 ? void 0 : c.white) !== null && _o !== void 0 ? _o : "#fff", border: `0.063rem solid ${(_s = (_q = (_p = c === null || c === void 0 ? void 0 : c.boxborder) === null || _p === void 0 ? void 0 : _p[300]) !== null && _q !== void 0 ? _q : (_r = c === null || c === void 0 ? void 0 : c.gray) === null || _r === void 0 ? void 0 : _r[200]) !== null && _s !== void 0 ? _s : "#e2e8f0"}`, boxShadow: shadowLg !== null && shadowLg !== void 0 ? shadowLg : "lg", borderRadius: "0.875rem", overflow: "hidden", minW: "22.5rem", maxW: "26rem", willChange: "transform, opacity", sx: {
50
+ initial: { opacity: 0, x: 24 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: 24 }, transition: { duration: 0.24, ease: [0.22, 1, 0.36, 1] }, onHoverStart: () => setPaused(true), onHoverEnd: () => setPaused(false), position: "relative",
51
+ // Surface token, not `colors.white`: `white` is a foreground token and stays
52
+ // white in dark mode. `background[50]` is #ffffff in light, near-black in dark.
53
+ bg: (_p = (_o = c === null || c === void 0 ? void 0 : c.background) === null || _o === void 0 ? void 0 : _o[50]) !== null && _p !== void 0 ? _p : "#fff", border: `0.063rem solid ${(_t = (_r = (_q = c === null || c === void 0 ? void 0 : c.boxborder) === null || _q === void 0 ? void 0 : _q[300]) !== null && _r !== void 0 ? _r : (_s = c === null || c === void 0 ? void 0 : c.gray) === null || _s === void 0 ? void 0 : _s[200]) !== null && _t !== void 0 ? _t : "#e2e8f0"}`, boxShadow: shadowLg !== null && shadowLg !== void 0 ? shadowLg : "lg", borderRadius: "0.875rem", overflow: "hidden", minW: "22.5rem", maxW: "26rem", willChange: "transform, opacity", sx: {
51
54
  transition: "box-shadow 0.18s ease",
52
55
  _hover: { boxShadow: "xl" },
53
56
  }, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { p: 3.5, gap: 3, align: actions ? "flex-start" : "center", children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "2rem", minW: "2rem", borderRadius: "full", bg: soft, color: accent, sx: {
54
57
  ["--toast-pulse-color"]: ringTint,
55
58
  animation: `${iconPulse} 900ms ease-out 1`,
56
- }, children: meta.icon }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: "1", minW: 0, children: [title && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: 600, fontSize: "0.875rem", lineHeight: "1.3", color: (_w = (_u = (_t = c === null || c === void 0 ? void 0 : c.text) === null || _t === void 0 ? void 0 : _t[800]) !== null && _u !== void 0 ? _u : (_v = c === null || c === void 0 ? void 0 : c.gray) === null || _v === void 0 ? void 0 : _v[800]) !== null && _w !== void 0 ? _w : "#2d3748", children: title })), description && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "0.8125rem", lineHeight: "1.45", color: (_0 = (_y = (_x = c === null || c === void 0 ? void 0 : c.gray) === null || _x === void 0 ? void 0 : _x[600]) !== null && _y !== void 0 ? _y : (_z = c === null || c === void 0 ? void 0 : c.text) === null || _z === void 0 ? void 0 : _z[600]) !== null && _0 !== void 0 ? _0 : "#718096", mt: title ? "0.125rem" : 0, children: description })), actions && ((0, jsx_runtime_1.jsx)(react_2.Flex, { gap: 2, mt: 2.5, align: "center", wrap: "wrap", children: actions(onClose) }))] }), isClosable && ((0, jsx_runtime_1.jsx)(react_2.CloseButton, { onClick: onClose, size: "sm", color: (_2 = (_1 = c === null || c === void 0 ? void 0 : c.gray) === null || _1 === void 0 ? void 0 : _1[400]) !== null && _2 !== void 0 ? _2 : "#a0aec0", borderRadius: "md", alignSelf: "flex-start", _hover: {
57
- bg: (_4 = (_3 = c === null || c === void 0 ? void 0 : c.gray) === null || _3 === void 0 ? void 0 : _3[100]) !== null && _4 !== void 0 ? _4 : "#edf2f7",
58
- color: (_6 = (_5 = c === null || c === void 0 ? void 0 : c.gray) === null || _5 === void 0 ? void 0 : _5[700]) !== null && _6 !== void 0 ? _6 : "#4a5568",
59
+ }, children: meta.icon }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: "1", minW: 0, children: [title && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: 600, fontSize: "0.875rem", lineHeight: "1.3", color: (_x = (_v = (_u = c === null || c === void 0 ? void 0 : c.text) === null || _u === void 0 ? void 0 : _u[800]) !== null && _v !== void 0 ? _v : (_w = c === null || c === void 0 ? void 0 : c.gray) === null || _w === void 0 ? void 0 : _w[800]) !== null && _x !== void 0 ? _x : "#2d3748", children: title })), description && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "0.8125rem", lineHeight: "1.45", color: (_1 = (_z = (_y = c === null || c === void 0 ? void 0 : c.gray) === null || _y === void 0 ? void 0 : _y[600]) !== null && _z !== void 0 ? _z : (_0 = c === null || c === void 0 ? void 0 : c.text) === null || _0 === void 0 ? void 0 : _0[600]) !== null && _1 !== void 0 ? _1 : "#718096", mt: title ? "0.125rem" : 0, children: description })), actions && ((0, jsx_runtime_1.jsx)(react_2.Flex, { gap: 2, mt: 2.5, align: "center", wrap: "wrap", children: actions(onClose) }))] }), isClosable && ((0, jsx_runtime_1.jsx)(react_2.CloseButton, { onClick: onClose, size: "sm", color: (_3 = (_2 = c === null || c === void 0 ? void 0 : c.gray) === null || _2 === void 0 ? void 0 : _2[400]) !== null && _3 !== void 0 ? _3 : "#a0aec0", borderRadius: "md", alignSelf: "flex-start", _hover: {
60
+ bg: (_5 = (_4 = c === null || c === void 0 ? void 0 : c.gray) === null || _4 === void 0 ? void 0 : _4[100]) !== null && _5 !== void 0 ? _5 : "#edf2f7",
61
+ color: (_7 = (_6 = c === null || c === void 0 ? void 0 : c.gray) === null || _6 === void 0 ? void 0 : _6[700]) !== null && _7 !== void 0 ? _7 : "#4a5568",
59
62
  } }))] }), showProgress && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", bottom: 0, left: 0, right: 0, h: "0.1875rem", bg: solid, opacity: 0.85, transformOrigin: "left", sx: {
60
63
  animation: `${shrink} ${duration}ms linear forwards`,
61
64
  animationPlayState: paused ? "paused" : "running",
@@ -24,7 +24,7 @@ const TableToggle = ({ value, onChange }) => {
24
24
  button: (mode) => ({
25
25
  bg: value === mode ? theme.colors.background[50] : "transparent",
26
26
  boxShadow: value === mode ? "md" : "none",
27
- color: value === mode ? theme.colors.black : theme.colors.background[800],
27
+ color: value === mode ? theme.colors.text[900] : theme.colors.background[800],
28
28
  borderRadius: "0.313rem",
29
29
  height: "1.75rem",
30
30
  border: "0.031rem solid",
@@ -34,7 +34,7 @@ const TableToggle = ({ value, onChange }) => {
34
34
  bg: value === mode
35
35
  ? theme.colors.background[50]
36
36
  : theme.colors.background[400],
37
- color: value === mode ? theme.colors.black : theme.colors.background[900],
37
+ color: value === mode ? theme.colors.text[900] : theme.colors.background[900],
38
38
  },
39
39
  transition: "all 0.3s ease-in-out",
40
40
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ToolTip.d.ts","sourceRoot":"","sources":["../../../src/Components/ToolTip/ToolTip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,SAAiB,EACjB,KAAK,EACL,QAAQ,EACR,QAAe,EACf,QAAiB,EACjB,EAAc,EACd,KAAe,EACf,UAAU,EACV,YAAoB,EACpB,MAAM,EACN,aAAa,EACb,SAAa,EACb,UAAc,EACd,SAAc,EACd,YAAoB,EACpB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,MAAU,EACV,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,MAAM,GACP,EAAE,YAAY,2CA4Dd"}
1
+ {"version":3,"file":"ToolTip.d.ts","sourceRoot":"","sources":["../../../src/Components/ToolTip/ToolTip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU9C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,SAAiB,EACjB,KAAK,EACL,QAAQ,EACR,QAAe,EACf,QAAiB,EACjB,EAAE,EACF,KAAe,EACf,UAAU,EACV,YAAoB,EACpB,MAAM,EACN,aAAa,EACb,SAAa,EACb,UAAc,EACd,SAAc,EACd,YAAoB,EACpB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,MAAU,EACV,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,MAAM,GACP,EAAE,YAAY,2CAmEd"}
@@ -6,12 +6,24 @@ const react_1 = require("react");
6
6
  const react_2 = require("@chakra-ui/react");
7
7
  const useIsTruncated_1 = require("../../Hooks/useIsTruncated");
8
8
  const mergeRefs_1 = require("../../Utils/mergeRefs");
9
- function ToolTip({ placement = "top", label, children, hasArrow = true, fontSize = "14px", bg = "#12161B", color = "white", isDisabled, overflowOnly = false, isOpen, defaultIsOpen, openDelay = 0, closeDelay = 0, arrowSize = 10, closeOnClick = false, size, width, height, arrowPadding, arrowShadowColor, direction, gutter = 8, onClose, modifiers, closeOnPointerDown, styles, }) {
9
+ const useCustomTheme_1 = require("../../Theme/useCustomTheme");
10
+ // Surface used when no Pixelize palette is in context — a bare `ChakraProvider`, or no
11
+ // provider at all (Chakra's `useTheme()` yields `{}` there rather than throwing). Keeps
12
+ // tooltips outside the Pixelize theme rendering exactly as they did before theming.
13
+ const FALLBACK_SURFACE = "#12161B";
14
+ function ToolTip({ placement = "top", label, children, hasArrow = true, fontSize = "14px", bg, color = "white", isDisabled, overflowOnly = false, isOpen, defaultIsOpen, openDelay = 0, closeDelay = 0, arrowSize = 10, closeOnClick = false, size, width, height, arrowPadding, arrowShadowColor, direction, gutter = 8, onClose, modifiers, closeOnPointerDown, styles, }) {
15
+ var _a, _b, _c, _d;
10
16
  // Measure the child for `overflowOnly`. The hook is always called (Rules of
11
17
  // Hooks) but is fully inert unless `overflowOnly` is set — no layout reads,
12
18
  // no ResizeObserver, no re-renders for ordinary tooltips. Measurement never
13
19
  // runs on hover/scroll, so showing the tooltip stays as cheap as before.
14
20
  const { ref, isTruncated } = (0, useIsTruncated_1.useIsTruncated)(label, overflowOnly && (0, react_1.isValidElement)(children));
21
+ // A tooltip is an INVERTED surface: near-black under a light canvas, carrying a white
22
+ // label. `sidebar.background` is the only ramp `buildDarkPalette` deliberately leaves
23
+ // un-inverted, so it stays near-black in dark mode and the white label stays legible —
24
+ // every other surface ramp flips light and would render the label invisible.
25
+ const theme = (0, useCustomTheme_1.useCustomTheme)();
26
+ const surface = (_d = (_c = (_b = (_a = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _a === void 0 ? void 0 : _a.sidebar) === null || _b === void 0 ? void 0 : _b.background) === null || _c === void 0 ? void 0 : _c[500]) !== null && _d !== void 0 ? _d : FALLBACK_SURFACE;
15
27
  let content = children;
16
28
  let effectiveDisabled = isDisabled;
17
29
  if (overflowOnly && (0, react_1.isValidElement)(children)) {
@@ -22,5 +34,5 @@ function ToolTip({ placement = "top", label, children, hasArrow = true, fontSize
22
34
  });
23
35
  effectiveDisabled = Boolean(isDisabled) || !isTruncated;
24
36
  }
25
- return ((0, jsx_runtime_1.jsx)(react_2.Tooltip, { label: label, placement: placement, hasArrow: hasArrow, fontSize: fontSize, bg: bg, color: color, isDisabled: effectiveDisabled, isOpen: isOpen, defaultIsOpen: defaultIsOpen, openDelay: openDelay, closeDelay: closeDelay, arrowSize: arrowSize, closeOnClick: closeOnClick, size: size, width: width, height: height, arrowPadding: arrowPadding, arrowShadowColor: arrowShadowColor, direction: direction, gutter: gutter, onClose: onClose, modifiers: modifiers, closeOnPointerDown: closeOnPointerDown, style: styles, px: 3, py: 2, borderRadius: "8px", fontWeight: "400", lineHeight: "1.5", maxW: "300px", children: content }));
37
+ return ((0, jsx_runtime_1.jsx)(react_2.Tooltip, { label: label, placement: placement, hasArrow: hasArrow, fontSize: fontSize, bg: bg !== null && bg !== void 0 ? bg : surface, color: color, isDisabled: effectiveDisabled, isOpen: isOpen, defaultIsOpen: defaultIsOpen, openDelay: openDelay, closeDelay: closeDelay, arrowSize: arrowSize, closeOnClick: closeOnClick, size: size, width: width, height: height, arrowPadding: arrowPadding, arrowShadowColor: arrowShadowColor, direction: direction, gutter: gutter, onClose: onClose, modifiers: modifiers, closeOnPointerDown: closeOnPointerDown, style: styles, px: 3, py: 2, borderRadius: "8px", fontWeight: "400", lineHeight: "1.5", maxW: "300px", children: content }));
26
38
  }
@@ -20,7 +20,7 @@ const EditableCell = ({ row, column, isEditable, handleCellClick, handleCellChan
20
20
  return ((0, jsx_runtime_1.jsx)(react_2.Box, { width: "50%", ref: cellRef, children: (0, jsx_runtime_1.jsx)(react_2.Input, { type: "date", value: value, onChange: (e) => handleCellChange(row.id, column.label, e.target.value) }) }));
21
21
  }
22
22
  else if (column.label === "priority") {
23
- return ((0, jsx_runtime_1.jsx)(react_2.Box, { width: "100%", ref: cellRef, children: (0, jsx_runtime_1.jsxs)(react_2.Menu, { isOpen: true, children: [(0, jsx_runtime_1.jsx)(react_2.MenuButton, { as: react_2.Button, rightIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, {}), bg: "teal.500", color: "white", _hover: { bg: "teal.600" }, _active: { bg: "teal.700" }, children: value }), (0, jsx_runtime_1.jsxs)(react_2.MenuList, { children: [(0, jsx_runtime_1.jsx)(react_2.MenuItem, { onClick: () => handleCellChange(row.id, column.label, "Low"), _hover: { bg: "teal.100" }, children: "Low" }), (0, jsx_runtime_1.jsx)(react_2.MenuItem, { onClick: () => handleCellChange(row.id, column.label, "Medium"), _hover: { bg: "teal.100" }, children: "Medium" }), (0, jsx_runtime_1.jsx)(react_2.MenuItem, { onClick: () => handleCellChange(row.id, column.label, "High"), _hover: { bg: "teal.100" }, children: "High" })] })] }) }));
23
+ return ((0, jsx_runtime_1.jsx)(react_2.Box, { width: "100%", ref: cellRef, children: (0, jsx_runtime_1.jsxs)(react_2.Menu, { isOpen: true, children: [(0, jsx_runtime_1.jsx)(react_2.MenuButton, { as: react_2.Button, rightIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, {}), bg: "teal.50", color: "teal.900", _hover: { bg: "teal.100" }, _active: { bg: "teal.200" }, children: value }), (0, jsx_runtime_1.jsxs)(react_2.MenuList, { children: [(0, jsx_runtime_1.jsx)(react_2.MenuItem, { onClick: () => handleCellChange(row.id, column.label, "Low"), _hover: { bg: "teal.100" }, children: "Low" }), (0, jsx_runtime_1.jsx)(react_2.MenuItem, { onClick: () => handleCellChange(row.id, column.label, "Medium"), _hover: { bg: "teal.100" }, children: "Medium" }), (0, jsx_runtime_1.jsx)(react_2.MenuItem, { onClick: () => handleCellChange(row.id, column.label, "High"), _hover: { bg: "teal.100" }, children: "High" })] })] }) }));
24
24
  }
25
25
  else {
26
26
  return ((0, jsx_runtime_1.jsx)(react_2.Box, { width: "100%", ref: cellRef, children: (0, jsx_runtime_1.jsx)(react_2.Input, { value: value, onChange: (e) => handleCellChange(row.id, column.label, e.target.value) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradeButton.d.ts","sourceRoot":"","sources":["../../../src/Components/UpgradeButton/UpgradeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACL,kBAAkB,EAGnB,MAAM,sBAAsB,CAAC;AAa9B,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsJ/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"UpgradeButton.d.ts","sourceRoot":"","sources":["../../../src/Components/UpgradeButton/UpgradeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EACL,kBAAkB,EAGnB,MAAM,sBAAsB,CAAC;AAgB9B,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyK/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -4,34 +4,57 @@ const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const react_1 = require("@chakra-ui/react");
5
5
  const lucide_react_1 = require("lucide-react");
6
6
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
7
+ const accentText_1 = require("../../Theme/tokens/builders/accentText");
8
+ const color_1 = require("../../Theme/tokens/builders/color");
9
+ const outlineRung_1 = require("../../Theme/tokens/builders/outlineRung");
10
+ /** The brand's gold sparkle accent, kept only where it clears 3:1 on the button's own fill. */
11
+ const ACCENT_GOLD = "#FFD66B";
7
12
  const sizeMap = {
8
- sm: { px: "12px", py: "4px", font: "12px", sub: "8px", icon: 11, radius: "40px" },
13
+ // Compact, not tiny: an 8px subtitle was unreadable, so `sm` sits deliberately
14
+ // close to `md` — it's the dense variant of the same badge, not a smaller one.
15
+ sm: { px: "14px", py: "4px", font: "13px", sub: "9px", icon: 12, radius: "44px" },
9
16
  md: { px: "20px", py: "5px", font: "14px", sub: "10px", icon: 13, radius: "50px" },
10
17
  lg: { px: "26px", py: "8px", font: "16px", sub: "11px", icon: 16, radius: "60px" },
11
18
  };
12
- const FALLBACK_GRADIENT = { from: "#667eea", to: "#764ba2" };
13
- const UpgradeButton = ({ label, mobileLabel, subtitle, icon = lucide_react_1.Sparkles, iconColor = "#FFD66B", variant = "brand", gradient, size = "md", shimmer = true, isLoading = false, isDisabled = false, maxLabelWidth = "160px", ariaLabel, onClick, }) => {
19
+ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = lucide_react_1.Sparkles, iconColor, variant = "brand", gradient, size = "md", shimmer = true, isLoading = false, isDisabled = false, maxLabelWidth = "160px", ariaLabel, onClick, }) => {
14
20
  var _a, _b;
15
21
  const theme = (0, useCustomTheme_1.useCustomTheme)();
16
22
  const c = theme.colors;
17
- const themeGradient = (_a = c.gradient) !== null && _a !== void 0 ? _a : FALLBACK_GRADIENT;
23
+ // Only reachable if a consumer hand-builds a palette without `gradient`; every shipped brand sets it.
24
+ const themeGradient = (_a = c.gradient) !== null && _a !== void 0 ? _a : { from: c.primary[500], to: c.primary[700] };
25
+ // `primary`/`secondary` at [500]->[700] / [400]->[600] sit in the mid-luminance band where
26
+ // neither white nor black ink clears AA at both ends at once (measured worst-case as low as
27
+ // 2.72:1 across brands — no ink choice fixes a gradient with no readable ink at all). One rung
28
+ // darker moves both stops onto the same side of that divide; verified universally >=4.5 at
29
+ // both ends across all 9 brands x both modes. `success`/`warning`/`danger`/`info` already sit
30
+ // there at [400]->[600] and don't need the shift.
18
31
  const variantGradient = {
19
32
  brand: themeGradient,
20
- primary: { from: c.primary[500], to: c.primary[700] },
21
- secondary: { from: c.secondary[400], to: c.secondary[600] },
33
+ primary: { from: c.primary[600], to: c.primary[800] },
34
+ secondary: { from: c.secondary[600], to: c.secondary[800] },
22
35
  success: { from: c.semantic.success[400], to: c.semantic.success[600] },
23
36
  warning: { from: c.semantic.warning[400], to: c.semantic.warning[600] },
24
37
  danger: { from: c.semantic.error[400], to: c.semantic.error[600] },
25
38
  info: { from: c.semantic.info[400], to: c.semantic.info[600] },
26
39
  };
27
40
  const resolved = (_b = gradient !== null && gradient !== void 0 ? gradient : variantGradient[variant]) !== null && _b !== void 0 ? _b : themeGradient;
41
+ // `iconColor`'s gold default fails AA as body text against this gradient (measured ~1.4-3.3
42
+ // across brands) — the label/subtitle share this computed ink instead.
43
+ const ink = (0, accentText_1.onGradient)(resolved.from, resolved.to, c.white, c.black);
44
+ // The gold only clears 1.4.11's 3:1 on a DARK gradient. zinc dark inverts `primary` to a
45
+ // near-white fill, where gold-on-near-white measures ~1.3:1 and the icon vanishes, so fall
46
+ // back to the label's ink whenever the gold misses either stop.
47
+ const resolvedIconColor = iconColor !== null && iconColor !== void 0 ? iconColor : ((0, color_1.contrastRatio)(ACCENT_GOLD, resolved.from) >= outlineRung_1.AA_NON_TEXT &&
48
+ (0, color_1.contrastRatio)(ACCENT_GOLD, resolved.to) >= outlineRung_1.AA_NON_TEXT
49
+ ? ACCENT_GOLD
50
+ : ink);
28
51
  const s = sizeMap[size];
29
52
  const Icon = icon;
30
53
  const blocked = isLoading || isDisabled;
31
54
  const g = `linear-gradient(135deg, ${resolved.from} 0%, ${resolved.to} 100%)`;
32
55
  const gReversed = `linear-gradient(135deg, ${resolved.to} 0%, ${resolved.from} 100%)`;
33
56
  const hasMobile = !!mobileLabel && mobileLabel !== label;
34
- return ((0, jsx_runtime_1.jsxs)(react_1.Box, { as: "button", type: "button", "aria-label": ariaLabel || label, onClick: blocked ? undefined : onClick, disabled: isDisabled, position: "relative", cursor: blocked ? "default" : "pointer", opacity: isDisabled ? 0.6 : 1, px: { base: s.px === "20px" ? "14px" : s.px, md: s.px }, py: s.py, bgImage: g, color: "white", borderRadius: s.radius, fontWeight: "bold", textAlign: "center", overflow: "hidden", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", transition: "transform 0.3s ease, box-shadow 0.3s ease, background-image 0.3s ease", _focusVisible: { outline: "none", boxShadow: `0 0 0 3px ${resolved.from}55` }, _hover: blocked
57
+ return ((0, jsx_runtime_1.jsxs)(react_1.Box, { as: "button", type: "button", "aria-label": ariaLabel || label, onClick: blocked ? undefined : onClick, disabled: isDisabled, position: "relative", cursor: blocked ? "default" : "pointer", opacity: isDisabled ? 0.6 : 1, px: { base: s.px === "20px" ? "14px" : s.px, md: s.px }, py: s.py, bgImage: g, color: ink, borderRadius: s.radius, fontWeight: "bold", textAlign: "center", overflow: "hidden", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", transition: "transform 0.3s ease, box-shadow 0.3s ease, background-image 0.3s ease", _focusVisible: { outline: "none", boxShadow: `0 0 0 3px ${resolved.from}55` }, _hover: blocked
35
58
  ? undefined
36
59
  : {
37
60
  transform: "translateY(-2px)",
@@ -53,6 +76,6 @@ const UpgradeButton = ({ label, mobileLabel, subtitle, icon = lucide_react_1.Spa
53
76
  pointerEvents: "none",
54
77
  },
55
78
  }
56
- : undefined, children: [(0, jsx_runtime_1.jsxs)(react_1.Flex, { align: "center", gap: "6px", maxW: maxLabelWidth, overflow: "hidden", whiteSpace: "nowrap", zIndex: 1, children: [(0, jsx_runtime_1.jsx)(react_1.Text, { as: "span", fontSize: s.font, overflow: "hidden", textOverflow: "ellipsis", display: hasMobile ? { base: "none", md: "block" } : "block", children: label }), hasMobile && ((0, jsx_runtime_1.jsx)(react_1.Text, { as: "span", fontSize: s.font, overflow: "hidden", textOverflow: "ellipsis", display: { base: "block", md: "none" }, children: mobileLabel })), isLoading ? ((0, jsx_runtime_1.jsx)(react_1.Spinner, { size: "xs", thickness: "1.5px", color: iconColor })) : (Icon && (0, jsx_runtime_1.jsx)(Icon, { size: s.icon, color: iconColor, style: { flexShrink: 0 } }))] }), subtitle && ((0, jsx_runtime_1.jsx)(react_1.Text, { as: "span", mt: "1px", fontSize: s.sub, fontWeight: "bold", color: iconColor, maxW: maxLabelWidth, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", zIndex: 1, children: subtitle }))] }));
79
+ : undefined, children: [(0, jsx_runtime_1.jsxs)(react_1.Flex, { align: "center", gap: "6px", maxW: maxLabelWidth, overflow: "hidden", whiteSpace: "nowrap", zIndex: 1, children: [(0, jsx_runtime_1.jsx)(react_1.Text, { as: "span", fontSize: s.font, overflow: "hidden", textOverflow: "ellipsis", display: hasMobile ? { base: "none", md: "block" } : "block", children: label }), hasMobile && ((0, jsx_runtime_1.jsx)(react_1.Text, { as: "span", fontSize: s.font, overflow: "hidden", textOverflow: "ellipsis", display: { base: "block", md: "none" }, children: mobileLabel })), isLoading ? ((0, jsx_runtime_1.jsx)(react_1.Spinner, { size: "xs", thickness: "1.5px", color: resolvedIconColor })) : (Icon && (0, jsx_runtime_1.jsx)(Icon, { size: s.icon, color: resolvedIconColor, style: { flexShrink: 0 } }))] }), subtitle && ((0, jsx_runtime_1.jsx)(react_1.Text, { as: "span", mt: "1px", fontSize: s.sub, fontWeight: "bold", color: ink, maxW: maxLabelWidth, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", zIndex: 1, children: subtitle }))] }));
57
80
  };
58
81
  exports.default = UpgradeButton;
@@ -1 +1 @@
1
- {"version":3,"file":"AddUserModal.d.ts","sourceRoot":"","sources":["../../../src/Components/UserDetails/AddUserModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,OAAO,EAEL,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAa5B,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2K7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"AddUserModal.d.ts","sourceRoot":"","sources":["../../../src/Components/UserDetails/AddUserModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,OAAO,EAEL,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAa5B,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+K7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -80,7 +80,7 @@ const AddUserModal = ({ isOpen, onClose, roleOptions, isLoading, onSubmit, onAdd
80
80
  type: "email",
81
81
  },
82
82
  ];
83
- return ((0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_2.ModalContent, { borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_2.ModalHeader, { borderBottom: "1px solid", borderColor: (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[200], children: [labels.addNewUser, upgradeNotice] }), (0, jsx_runtime_1.jsx)(react_2.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_2.ModalBody, { py: 5, children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [textFields.map((field) => ((0, jsx_runtime_1.jsx)(react_2.FormControl, { isInvalid: !!errors[field.id], children: (0, jsx_runtime_1.jsx)(TextInput_1.default, { id: field.id, name: field.id, type: field.type, label: field.label, placeholder: field.placeholder, value: values[field.id], onChange: handleChange(field.id), isRequired: true, error: !!errors[field.id], errorMessage: errors[field.id], width: "100%" }) }, field.id))), (0, jsx_runtime_1.jsx)(react_2.FormControl, { isInvalid: !!errors.role, isRequired: true, children: (0, jsx_runtime_1.jsx)(SearchSelect_1.default, { label: labels.role, options: roleOptions.map((item) => ({
83
+ return ((0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_2.ModalContent, { bg: colors.background[50], borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_2.ModalHeader, { borderBottom: "1px solid", borderColor: (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[200], children: [labels.addNewUser, upgradeNotice] }), (0, jsx_runtime_1.jsx)(react_2.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_2.ModalBody, { py: 5, children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [textFields.map((field) => ((0, jsx_runtime_1.jsx)(react_2.FormControl, { isInvalid: !!errors[field.id], children: (0, jsx_runtime_1.jsx)(TextInput_1.default, { id: field.id, name: field.id, type: field.type, label: field.label, placeholder: field.placeholder, value: values[field.id], onChange: handleChange(field.id), isRequired: true, error: !!errors[field.id], errorMessage: errors[field.id], width: "100%" }) }, field.id))), (0, jsx_runtime_1.jsx)(react_2.FormControl, { isInvalid: !!errors.role, isRequired: true, children: (0, jsx_runtime_1.jsx)(SearchSelect_1.default, { label: labels.role, options: roleOptions.map((item) => ({
84
84
  id: item.id,
85
85
  label: item.label,
86
86
  })), value: (_d = values.role) !== null && _d !== void 0 ? _d : undefined, onSelect: (option) => {
@@ -11,7 +11,7 @@ const Button_1 = __importDefault(require("../Button/Button"));
11
11
  const TextInput_1 = __importDefault(require("../Input/TextInput"));
12
12
  const SearchSelect_1 = __importDefault(require("../SearchSelect/SearchSelect"));
13
13
  const ChangeRoleModal = ({ isOpen, onClose, userId, email, currentRole, roleOptions, isLoading, onSubmit, onAddRoleClick, labels, }) => {
14
- var _a, _b, _c, _d;
14
+ var _a, _b, _c, _d, _e;
15
15
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
16
16
  const [selectedRole, setSelectedRole] = (0, react_1.useState)(null);
17
17
  const [error, setError] = (0, react_1.useState)(null);
@@ -36,7 +36,7 @@ const ChangeRoleModal = ({ isOpen, onClose, userId, email, currentRole, roleOpti
36
36
  return;
37
37
  await (onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit({ userId, roleId: selectedRole.id }));
38
38
  };
39
- return ((0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_2.ModalContent, { borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsx)(react_2.ModalHeader, { borderBottom: "1px solid", borderColor: (_c = (_b = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _b === void 0 ? void 0 : _b[200]) !== null && _c !== void 0 ? _c : (_d = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _d === void 0 ? void 0 : _d[200], children: labels.changeRoleTitle }), (0, jsx_runtime_1.jsx)(react_2.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_2.ModalBody, { py: 5, children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(TextInput_1.default, { label: labels.email, value: email !== null && email !== void 0 ? email : "", isDisabled: true, width: "100%" }), (0, jsx_runtime_1.jsx)(react_2.FormControl, { isInvalid: !!error, isRequired: true, children: (0, jsx_runtime_1.jsx)(SearchSelect_1.default, { label: labels.role, options: roleOptions.map((item) => ({
39
+ return ((0, jsx_runtime_1.jsxs)(react_2.Modal, { isOpen: isOpen, onClose: onClose, trapFocus: false, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_2.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_2.ModalContent, { bg: (_b = colors === null || colors === void 0 ? void 0 : colors.background) === null || _b === void 0 ? void 0 : _b[50], borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsx)(react_2.ModalHeader, { borderBottom: "1px solid", borderColor: (_d = (_c = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _c === void 0 ? void 0 : _c[200]) !== null && _d !== void 0 ? _d : (_e = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _e === void 0 ? void 0 : _e[200], children: labels.changeRoleTitle }), (0, jsx_runtime_1.jsx)(react_2.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_2.ModalBody, { py: 5, children: (0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(TextInput_1.default, { label: labels.email, value: email !== null && email !== void 0 ? email : "", isDisabled: true, width: "100%" }), (0, jsx_runtime_1.jsx)(react_2.FormControl, { isInvalid: !!error, isRequired: true, children: (0, jsx_runtime_1.jsx)(SearchSelect_1.default, { label: labels.role, options: roleOptions.map((item) => ({
40
40
  id: item.id,
41
41
  label: item.label,
42
42
  })), value: selectedRole !== null && selectedRole !== void 0 ? selectedRole : undefined, onSelect: (option) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DeactivateConfirmModal.d.ts","sourceRoot":"","sources":["../../../src/Components/UserDetails/DeactivateConfirmModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA2EjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"DeactivateConfirmModal.d.ts","sourceRoot":"","sources":["../../../src/Components/UserDetails/DeactivateConfirmModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA6EjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -9,8 +9,11 @@ const lucide_react_1 = require("lucide-react");
9
9
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
10
10
  const Button_1 = __importDefault(require("../Button/Button"));
11
11
  const DeactivateConfirmModal = ({ isOpen, onClose, userName, isLoading, onConfirm, labels, }) => {
12
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
12
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
13
13
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
14
- return ((0, jsx_runtime_1.jsxs)(react_1.Modal, { isOpen: isOpen, onClose: onClose, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_1.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_1.ModalContent, { borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_1.ModalHeader, { borderBottom: "1px solid", borderColor: (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[200], display: "flex", alignItems: "center", gap: 3, children: [(0, jsx_runtime_1.jsx)(react_1.Flex, { align: "center", justify: "center", boxSize: "36px", borderRadius: "full", bg: (_h = (_f = (_e = (_d = colors === null || colors === void 0 ? void 0 : colors.semantic) === null || _d === void 0 ? void 0 : _d.error) === null || _e === void 0 ? void 0 : _e[50]) !== null && _f !== void 0 ? _f : (_g = colors === null || colors === void 0 ? void 0 : colors.red) === null || _g === void 0 ? void 0 : _g[50]) !== null && _h !== void 0 ? _h : "#FEF2F2", color: (_o = (_l = (_k = (_j = colors === null || colors === void 0 ? void 0 : colors.semantic) === null || _j === void 0 ? void 0 : _j.error) === null || _k === void 0 ? void 0 : _k[500]) !== null && _l !== void 0 ? _l : (_m = colors === null || colors === void 0 ? void 0 : colors.red) === null || _m === void 0 ? void 0 : _m[500]) !== null && _o !== void 0 ? _o : "#EF4444", children: (0, jsx_runtime_1.jsx)(lucide_react_1.AlertTriangle, { size: 18 }) }), (0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "1.05rem", fontWeight: 600, children: labels.confirmDeactivation })] }), (0, jsx_runtime_1.jsx)(react_1.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_1.ModalBody, { py: 6, children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "md", fontWeight: 500, color: (_p = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _p === void 0 ? void 0 : _p[800], children: labels.deactivateConfirmQuestion }), (0, jsx_runtime_1.jsx)(react_1.Box, { bg: (_r = (_q = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _q === void 0 ? void 0 : _q[50]) !== null && _r !== void 0 ? _r : "#F8FAFC", borderRadius: "lg", p: 4, border: "1px solid", borderColor: (_t = (_s = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _s === void 0 ? void 0 : _s[200]) !== null && _t !== void 0 ? _t : (_u = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _u === void 0 ? void 0 : _u[200], children: (0, jsx_runtime_1.jsxs)(react_1.Text, { color: (_v = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _v === void 0 ? void 0 : _v[600], fontSize: "sm", children: [userName ? `${userName} ` : "", labels.deactivateConfirmDescription] }) }), (0, jsx_runtime_1.jsxs)(react_1.HStack, { justifyContent: "flex-end", spacing: 3, pt: 2, children: [(0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.cancel, onClick: onClose, variant: "outline", size: "sm", colorScheme: "gray" }), (0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.deactivateUser, onClick: onConfirm, colorScheme: "red", size: "sm", isLoading: isLoading, leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash2, { size: 16 }) })] })] }) })] })] }));
14
+ return ((0, jsx_runtime_1.jsxs)(react_1.Modal, { isOpen: isOpen, onClose: onClose, isCentered: true, children: [(0, jsx_runtime_1.jsx)(react_1.ModalOverlay, { backdropFilter: "blur(4px)" }), (0, jsx_runtime_1.jsxs)(react_1.ModalContent, { bg: (_a = colors === null || colors === void 0 ? void 0 : colors.background) === null || _a === void 0 ? void 0 : _a[50], borderRadius: "2xl", overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_1.ModalHeader, { borderBottom: "1px solid", borderColor: (_c = (_b = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _b === void 0 ? void 0 : _b[200]) !== null && _c !== void 0 ? _c : (_d = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _d === void 0 ? void 0 : _d[200], display: "flex", alignItems: "center", gap: 3, children: [(0, jsx_runtime_1.jsx)(react_1.Flex, { align: "center", justify: "center", boxSize: "36px", borderRadius: "full",
15
+ // `red` reverses in dark (50 → deep red); `semantic.error` does not, so it would
16
+ // leave this disc pale pink on a near-black modal. Identical values in light.
17
+ bg: (_f = (_e = colors === null || colors === void 0 ? void 0 : colors.red) === null || _e === void 0 ? void 0 : _e[50]) !== null && _f !== void 0 ? _f : "#FEF2F2", color: (_h = (_g = colors === null || colors === void 0 ? void 0 : colors.red) === null || _g === void 0 ? void 0 : _g[500]) !== null && _h !== void 0 ? _h : "#EF4444", children: (0, jsx_runtime_1.jsx)(lucide_react_1.AlertTriangle, { size: 18 }) }), (0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "1.05rem", fontWeight: 600, children: labels.confirmDeactivation })] }), (0, jsx_runtime_1.jsx)(react_1.ModalCloseButton, {}), (0, jsx_runtime_1.jsx)(react_1.ModalBody, { py: 6, children: (0, jsx_runtime_1.jsxs)(react_1.VStack, { spacing: 4, align: "stretch", children: [(0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "md", fontWeight: 500, color: (_j = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _j === void 0 ? void 0 : _j[800], children: labels.deactivateConfirmQuestion }), (0, jsx_runtime_1.jsx)(react_1.Box, { bg: (_l = (_k = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _k === void 0 ? void 0 : _k[50]) !== null && _l !== void 0 ? _l : "#F8FAFC", borderRadius: "lg", p: 4, border: "1px solid", borderColor: (_o = (_m = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _m === void 0 ? void 0 : _m[200]) !== null && _o !== void 0 ? _o : (_p = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _p === void 0 ? void 0 : _p[200], children: (0, jsx_runtime_1.jsxs)(react_1.Text, { color: (_q = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _q === void 0 ? void 0 : _q[600], fontSize: "sm", children: [userName ? `${userName} ` : "", labels.deactivateConfirmDescription] }) }), (0, jsx_runtime_1.jsxs)(react_1.HStack, { justifyContent: "flex-end", spacing: 3, pt: 2, children: [(0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.cancel, onClick: onClose, variant: "outline", size: "sm", colorScheme: "gray" }), (0, jsx_runtime_1.jsx)(Button_1.default, { label: labels.deactivateUser, onClick: onConfirm, colorScheme: "red", size: "sm", isLoading: isLoading, leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash2, { size: 16 }) })] })] }) })] })] }));
15
18
  };
16
19
  exports.default = DeactivateConfirmModal;
@@ -1 +1 @@
1
- {"version":3,"file":"UserDetails.d.ts","sourceRoot":"","sources":["../../../src/Components/UserDetails/UserDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAiCjD,OAAO,EAEL,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAyC5B,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6gB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"UserDetails.d.ts","sourceRoot":"","sources":["../../../src/Components/UserDetails/UserDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAmCjD,OAAO,EAEL,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAyC5B,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwhB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -41,6 +41,8 @@ const react_1 = __importStar(require("react"));
41
41
  const react_2 = require("@chakra-ui/react");
42
42
  const lucide_react_1 = require("lucide-react");
43
43
  const useCustomTheme_1 = require("../../Theme/useCustomTheme");
44
+ const outlineRung_1 = require("../../Theme/tokens/builders/outlineRung");
45
+ const accentText_1 = require("../../Theme/tokens/builders/accentText");
44
46
  const EmptyState_1 = __importDefault(require("../EmptyState/EmptyState"));
45
47
  const AddUserModal_1 = __importDefault(require("./AddUserModal"));
46
48
  const ChangeRoleModal_1 = __importDefault(require("./ChangeRoleModal"));
@@ -83,7 +85,7 @@ const DEFAULT_LABELS = {
83
85
  deactivateConfirmDescription: "will no longer have access to the organization. You can reactivate them later if needed.",
84
86
  };
85
87
  const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], canManageUsers = false, isUsersLoading = false, isInviteLoading = false, isDeactivateLoading = false, isAddUserLoading = false, isChangeRoleLoading = false, onSelectUser, onRefresh, onBack, onAddUserSubmit, onChangeRoleSubmit, onReinvite, onDeactivate, onAddRoleClick, addUserUpgradeNotice, labels: labelOverrides, minHeight = "90vh", }) => {
86
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
88
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
87
89
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
88
90
  const labels = (0, react_1.useMemo)(() => ({ ...DEFAULT_LABELS, ...labelOverrides }), [labelOverrides]);
89
91
  const { isOpen: isAddUserOpen, onOpen: onAddUserOpen, onClose: onAddUserClose, } = (0, react_2.useDisclosure)();
@@ -91,9 +93,15 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
91
93
  const { isOpen: isConfirmOpen, onOpen: onConfirmOpen, onClose: onConfirmClose, } = (0, react_2.useDisclosure)();
92
94
  const [actionUserId, setActionUserId] = (0, react_1.useState)(null);
93
95
  const border = (_d = (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[200]) !== null && _d !== void 0 ? _d : "#E2E8F0";
94
- const surface = (_e = colors === null || colors === void 0 ? void 0 : colors.white) !== null && _e !== void 0 ? _e : "#FFFFFF";
95
- const muted = (_g = (_f = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _f === void 0 ? void 0 : _f[500]) !== null && _g !== void 0 ? _g : "#64748B";
96
- const heading = (_j = (_h = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _h === void 0 ? void 0 : _h[800]) !== null && _j !== void 0 ? _j : "#1E293B";
96
+ const surface = (_f = (_e = colors === null || colors === void 0 ? void 0 : colors.background) === null || _e === void 0 ? void 0 : _e[50]) !== null && _f !== void 0 ? _f : "#FFFFFF";
97
+ const muted = (_h = (_g = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _g === void 0 ? void 0 : _g[500]) !== null && _h !== void 0 ? _h : "#64748B";
98
+ const heading = (_k = (_j = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _j === void 0 ? void 0 : _j[800]) !== null && _k !== void 0 ? _k : "#1E293B";
99
+ const avatarBg = (_m = (_l = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _l === void 0 ? void 0 : _l[100]) !== null && _m !== void 0 ? _m : "#E0E7FF";
100
+ // Picked dynamically against `avatarBg` rather than a fixed [600] rung — a fixed rung falls
101
+ // short of AA (4.27) for some brands' primary scale in dark mode.
102
+ const avatarColor = (colors === null || colors === void 0 ? void 0 : colors.primary)
103
+ ? (0, accentText_1.accentTextOnCanvas)(colors.primary, avatarBg)
104
+ : "#4F46E5";
97
105
  const successScheme = "green";
98
106
  const dangerScheme = "red";
99
107
  const handleDeactivateConfirm = () => {
@@ -102,15 +110,15 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
102
110
  onConfirmClose();
103
111
  };
104
112
  const renderStatusBadge = (isActive) => ((0, jsx_runtime_1.jsx)(react_2.Badge, { variant: "subtle", colorScheme: isActive ? successScheme : dangerScheme, borderRadius: "full", px: 2, py: 0.5, fontSize: "0.65rem", fontWeight: 600, textTransform: "none", children: isActive ? labels.active : labels.inactive }));
105
- return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { backgroundColor: (_l = (_k = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _k === void 0 ? void 0 : _k[50]) !== null && _l !== void 0 ? _l : "#F8FAFC", minHeight: minHeight, p: { base: 3, md: 4 }, gap: 3, flexDirection: { base: "column", lg: "row" }, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { width: { base: "100%", lg: "300px" }, backgroundColor: surface, borderRadius: "xl", boxShadow: "0 1px 2px rgba(16,24,40,0.05)", border: "1px solid", borderColor: border, position: "relative", order: { base: 2, lg: 1 }, overflow: "hidden", display: "flex", flexDirection: "column", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { px: 4, py: 3, borderBottom: "1px solid", borderColor: border, alignItems: "center", justifyContent: "space-between", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [onBack && ((0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": "Go back", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, { size: 18 }), variant: "ghost", size: "xs", color: muted, onClick: onBack })), (0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", fontWeight: 600, color: heading, children: labels.teamMembers }), (0, jsx_runtime_1.jsx)(react_2.Badge, { colorScheme: "gray", borderRadius: "full", fontSize: "0.65rem", px: 2, children: users.length })] }), onRefresh && ((0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": labels.refreshList, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCw, { size: 15 }), variant: "ghost", size: "xs", color: muted, onClick: onRefresh, isLoading: isUsersLoading }))] }), (0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, overflowY: "auto", maxHeight: { base: "380px", lg: `calc(${minHeight} - 80px)` }, children: isUsersLoading ? ((0, jsx_runtime_1.jsx)(react_2.VStack, { spacing: 2, p: 3, children: Array.from({ length: 6 }).map((_, idx) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { alignItems: "center", gap: 3, p: 2, w: "100%", children: [(0, jsx_runtime_1.jsx)(react_2.SkeletonCircle, { size: "9" }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "12px", mb: 2, width: "80%" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "9px", width: "60%" })] })] }, idx))) })) : users.length === 0 ? ((0, jsx_runtime_1.jsx)(EmptyState_1.default, { icon: lucide_react_1.Users, title: labels.noUsers, size: "sm", minH: "220px" })) : ((0, jsx_runtime_1.jsx)(react_2.VStack, { spacing: 1, p: 2, align: "stretch", children: users.map((user) => {
106
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
113
+ return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { backgroundColor: (_p = (_o = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _o === void 0 ? void 0 : _o[50]) !== null && _p !== void 0 ? _p : "#F8FAFC", minHeight: minHeight, p: { base: 3, md: 4 }, gap: 3, flexDirection: { base: "column", lg: "row" }, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { width: { base: "100%", lg: "300px" }, backgroundColor: surface, borderRadius: "xl", boxShadow: "0 1px 2px rgba(16,24,40,0.05)", border: "1px solid", borderColor: border, position: "relative", order: { base: 2, lg: 1 }, overflow: "hidden", display: "flex", flexDirection: "column", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { px: 4, py: 3, borderBottom: "1px solid", borderColor: border, alignItems: "center", justifyContent: "space-between", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [onBack && ((0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": "Go back", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, { size: 18 }), variant: "ghost", size: "xs", color: muted, onClick: onBack })), (0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", fontWeight: 600, color: heading, children: labels.teamMembers }), (0, jsx_runtime_1.jsx)(react_2.Badge, { colorScheme: "gray", borderRadius: "full", fontSize: "0.65rem", px: 2, children: users.length })] }), onRefresh && ((0, jsx_runtime_1.jsx)(react_2.IconButton, { "aria-label": labels.refreshList, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCw, { size: 15 }), variant: "ghost", size: "xs", color: muted, onClick: onRefresh, isLoading: isUsersLoading }))] }), (0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, overflowY: "auto", maxHeight: { base: "380px", lg: `calc(${minHeight} - 80px)` }, children: isUsersLoading ? ((0, jsx_runtime_1.jsx)(react_2.VStack, { spacing: 2, p: 3, children: Array.from({ length: 6 }).map((_, idx) => ((0, jsx_runtime_1.jsxs)(react_2.Flex, { alignItems: "center", gap: 3, p: 2, w: "100%", children: [(0, jsx_runtime_1.jsx)(react_2.SkeletonCircle, { size: "9" }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "12px", mb: 2, width: "80%" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "9px", width: "60%" })] })] }, idx))) })) : users.length === 0 ? ((0, jsx_runtime_1.jsx)(EmptyState_1.default, { icon: lucide_react_1.Users, title: labels.noUsers, size: "sm", minH: "220px" })) : ((0, jsx_runtime_1.jsx)(react_2.VStack, { spacing: 1, p: 2, align: "stretch", children: users.map((user) => {
114
+ var _a, _b, _c, _d, _e, _f, _g, _h;
107
115
  const isSelected = selectedUserId != null && selectedUserId === user.id;
108
116
  return ((0, jsx_runtime_1.jsxs)(react_2.Flex, { p: 2.5, w: "100%", cursor: "pointer", alignItems: "center", gap: 2.5, backgroundColor: isSelected ? (_b = (_a = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _a === void 0 ? void 0 : _a[50]) !== null && _b !== void 0 ? _b : "#EEF2FF" : "transparent", _hover: {
109
117
  background: isSelected
110
118
  ? (_d = (_c = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _c === void 0 ? void 0 : _c[50]) !== null && _d !== void 0 ? _d : "#EEF2FF"
111
119
  : (_f = (_e = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _e === void 0 ? void 0 : _e[50]) !== null && _f !== void 0 ? _f : "#F8FAFC",
112
- }, transition: "background 0.15s ease", borderRadius: "lg", position: "relative", onClick: () => onSelectUser === null || onSelectUser === void 0 ? void 0 : onSelectUser(user), children: [isSelected && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", left: 0, top: "20%", bottom: "20%", width: "3px", borderRadius: "full", bg: (_h = (_g = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _g === void 0 ? void 0 : _g[500]) !== null && _h !== void 0 ? _h : "#6366F1" })), (0, jsx_runtime_1.jsx)(react_2.Avatar, { size: "sm", name: `${user.firstName} ${user.lastName}`, src: user.profile, bg: (_k = (_j = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _j === void 0 ? void 0 : _j[100]) !== null && _k !== void 0 ? _k : "#E0E7FF", color: (_m = (_l = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _l === void 0 ? void 0 : _l[600]) !== null && _m !== void 0 ? _m : "#4F46E5" }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", fontWeight: 600, noOfLines: 1, color: heading, children: [user.firstName, " ", user.lastName] }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", color: muted, noOfLines: 1, children: user.email })] }), renderStatusBadge(user.isActive)] }, user.id));
113
- }) })) })] }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, backgroundColor: surface, borderRadius: "xl", boxShadow: "0 1px 2px rgba(16,24,40,0.05)", border: "1px solid", borderColor: border, display: "flex", flexDirection: "column", order: { base: 1, lg: 2 }, overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { justifyContent: "space-between", alignItems: "center", px: 4, py: 3, borderBottom: "1px solid", borderColor: border, children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", fontWeight: 600, color: heading, children: selectedUser ? labels.userDetails : labels.selectTeamMember }), canManageUsers && ((0, jsx_runtime_1.jsx)(react_2.Button, { size: "sm", colorScheme: "primary", fontSize: "xs", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.UserPlus, { size: 15 }), onClick: onAddUserOpen, children: labels.addUser }))] }), (0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, overflowY: "auto", children: isUsersLoading ? ((0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, p: 4, align: "stretch", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 4, children: [(0, jsx_runtime_1.jsx)(react_2.SkeletonCircle, { size: "16" }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "18px", width: "50%", mb: 2 }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "12px", width: "35%" })] })] }), Array.from({ length: 4 }).map((_, idx) => ((0, jsx_runtime_1.jsxs)(react_2.Box, { w: "100%", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "12px", width: "30%", mb: 2 }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "10px", width: "80%" })] }, idx)))] })) : selectedUser ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { direction: { base: "column", md: "row" }, alignItems: { base: "flex-start", md: "center" }, justifyContent: "space-between", gap: 4, p: 4, borderBottom: "1px solid", borderColor: border, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { alignItems: "center", gap: 4, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { position: "relative", children: [(0, jsx_runtime_1.jsx)(react_2.Avatar, { size: "lg", name: selectedUser.name, src: selectedUser.profilePhoto, bg: (_o = (_m = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _m === void 0 ? void 0 : _m[100]) !== null && _o !== void 0 ? _o : "#E0E7FF", color: (_q = (_p = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _p === void 0 ? void 0 : _p[600]) !== null && _q !== void 0 ? _q : "#4F46E5" }), selectedUser.isCurrent && ((0, jsx_runtime_1.jsx)(react_2.Badge, { position: "absolute", bottom: -1, right: -1, colorScheme: "blue", variant: "solid", fontSize: "0.6rem", borderRadius: "full", px: 2, py: 0.5, boxShadow: "sm", textTransform: "none", children: labels.you }))] }), (0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "md", mb: 1, color: heading, children: selectedUser.name }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: muted, mb: 2, children: selectedUser.role }), (0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [renderStatusBadge(selectedUser.isActive), selectedUser.isPending && ((0, jsx_runtime_1.jsx)(react_2.Badge, { variant: "subtle", borderRadius: "full", px: 2, py: 0.5, fontSize: "0.65rem", fontWeight: 600, colorScheme: "orange", textTransform: "none", children: labels.pendingInvitation }))] })] })] }), canManageUsers &&
120
+ }, transition: "background 0.15s ease", borderRadius: "lg", position: "relative", onClick: () => onSelectUser === null || onSelectUser === void 0 ? void 0 : onSelectUser(user), children: [isSelected && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", left: 0, top: "20%", bottom: "20%", width: "3px", borderRadius: "full", bg: (_h = (_g = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _g === void 0 ? void 0 : _g[500]) !== null && _h !== void 0 ? _h : "#6366F1" })), (0, jsx_runtime_1.jsx)(react_2.Avatar, { size: "sm", name: `${user.firstName} ${user.lastName}`, src: user.profile, bg: avatarBg, color: avatarColor }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_2.Text, { fontSize: "sm", fontWeight: 600, noOfLines: 1, color: heading, children: [user.firstName, " ", user.lastName] }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", color: muted, noOfLines: 1, children: user.email })] }), renderStatusBadge(user.isActive)] }, user.id));
121
+ }) })) })] }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, backgroundColor: surface, borderRadius: "xl", boxShadow: "0 1px 2px rgba(16,24,40,0.05)", border: "1px solid", borderColor: border, display: "flex", flexDirection: "column", order: { base: 1, lg: 2 }, overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { justifyContent: "space-between", alignItems: "center", px: 4, py: 3, borderBottom: "1px solid", borderColor: border, children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "sm", fontWeight: 600, color: heading, children: selectedUser ? labels.userDetails : labels.selectTeamMember }), canManageUsers && ((0, jsx_runtime_1.jsx)(react_2.Button, { size: "sm", colorScheme: "primary", fontSize: "xs", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.UserPlus, { size: 15 }), onClick: onAddUserOpen, children: labels.addUser }))] }), (0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, overflowY: "auto", children: isUsersLoading ? ((0, jsx_runtime_1.jsxs)(react_2.VStack, { spacing: 4, p: 4, align: "stretch", children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { align: "center", gap: 4, children: [(0, jsx_runtime_1.jsx)(react_2.SkeletonCircle, { size: "16" }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: 1, children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "18px", width: "50%", mb: 2 }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "12px", width: "35%" })] })] }), Array.from({ length: 4 }).map((_, idx) => ((0, jsx_runtime_1.jsxs)(react_2.Box, { w: "100%", children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "12px", width: "30%", mb: 2 }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "10px", width: "80%" })] }, idx)))] })) : selectedUser ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { direction: { base: "column", md: "row" }, alignItems: { base: "flex-start", md: "center" }, justifyContent: "space-between", gap: 4, p: 4, borderBottom: "1px solid", borderColor: border, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { alignItems: "center", gap: 4, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { position: "relative", children: [(0, jsx_runtime_1.jsx)(react_2.Avatar, { size: "lg", name: selectedUser.name, src: selectedUser.profilePhoto, bg: avatarBg, color: avatarColor }), selectedUser.isCurrent && ((0, jsx_runtime_1.jsx)(react_2.Badge, { position: "absolute", bottom: -1, right: -1, colorScheme: "blue", variant: "solid", fontSize: "0.6rem", borderRadius: "full", px: 2, py: 0.5, boxShadow: "sm", textTransform: "none", children: labels.you }))] }), (0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsx)(react_2.Heading, { size: "md", mb: 1, color: heading, children: selectedUser.name }), (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: muted, mb: 2, children: selectedUser.role }), (0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, children: [renderStatusBadge(selectedUser.isActive), selectedUser.isPending && ((0, jsx_runtime_1.jsx)(react_2.Badge, { variant: "subtle", borderRadius: "full", px: 2, py: 0.5, fontSize: "0.65rem", fontWeight: 600, colorScheme: "orange", textTransform: "none", children: labels.pendingInvitation }))] })] })] }), canManageUsers &&
114
122
  !selectedUser.isSuperAdmin && ((0, jsx_runtime_1.jsxs)(react_2.HStack, { spacing: 2, flexWrap: "wrap", children: [!selectedUser.isCurrent && !selectedUser.isActive && ((0, jsx_runtime_1.jsx)(react_2.Button, { size: "xs", variant: "outline", colorScheme: "blue", fontSize: "xs", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.Send, { size: 13 }), isLoading: isInviteLoading, onClick: () => selectedUser.userId != null &&
115
123
  (onReinvite === null || onReinvite === void 0 ? void 0 : onReinvite(selectedUser.userId)), children: labels.resendInvitation })), (0, jsx_runtime_1.jsx)(react_2.Button, { size: "xs", variant: "outline", colorScheme: "gray", fontSize: "xs", leftIcon: (0, jsx_runtime_1.jsx)(lucide_react_1.Shield, { size: 13 }), onClick: () => {
116
124
  if (selectedUser.userId != null) {
@@ -123,9 +131,11 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
123
131
  onConfirmOpen();
124
132
  }
125
133
  }, children: labels.deactivateUser }))] }))] }), (0, jsx_runtime_1.jsxs)(react_2.Box, { p: 4, children: [(0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", fontWeight: 600, textTransform: "uppercase", letterSpacing: "0.05em", color: muted, mb: 3, children: labels.personalInformation }), (0, jsx_runtime_1.jsx)(react_2.Box, { border: "1px solid", borderColor: border, borderRadius: "lg", overflow: "hidden", children: selectedUser.details.map((detail, index) => {
126
- var _a, _b, _c, _d, _e, _f, _g;
134
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
127
135
  const Icon = (_a = detail.icon) !== null && _a !== void 0 ? _a : lucide_react_1.UserRound;
128
- return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { gap: 3, px: 3, py: 2.5, _hover: { bg: (_c = (_b = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _b === void 0 ? void 0 : _b[50]) !== null && _c !== void 0 ? _c : "#F8FAFC" }, alignItems: "center", transition: "background 0.15s ease", children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "30px", bg: (_e = (_d = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _d === void 0 ? void 0 : _d[50]) !== null && _e !== void 0 ? _e : "#EEF2FF", borderRadius: "lg", color: (_g = (_f = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _f === void 0 ? void 0 : _f[600]) !== null && _g !== void 0 ? _g : "#4F46E5", flexShrink: 0, children: (0, jsx_runtime_1.jsx)(Icon, { size: 15 }) }), (0, jsx_runtime_1.jsx)(react_2.Box, { minWidth: "110px", children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", fontWeight: 600, color: muted, children: detail.label }) }), (0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: heading, fontWeight: 500, children: detail.value }) })] }), index < selectedUser.details.length - 1 && ((0, jsx_runtime_1.jsx)(react_2.Divider, { borderColor: border }))] }, index));
136
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { gap: 3, px: 3, py: 2.5, _hover: {
137
+ bg: (0, outlineRung_1.resolveHoverTint)((_c = (_b = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _b === void 0 ? void 0 : _b[50]) !== null && _c !== void 0 ? _c : "#F8FAFC", (_e = (_d = colors === null || colors === void 0 ? void 0 : colors.background) === null || _d === void 0 ? void 0 : _d[50]) !== null && _e !== void 0 ? _e : "#ffffff"),
138
+ }, alignItems: "center", transition: "background 0.15s ease", children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "30px", bg: (_g = (_f = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _f === void 0 ? void 0 : _f[50]) !== null && _g !== void 0 ? _g : "#EEF2FF", borderRadius: "lg", color: (_j = (_h = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _h === void 0 ? void 0 : _h[600]) !== null && _j !== void 0 ? _j : "#4F46E5", flexShrink: 0, children: (0, jsx_runtime_1.jsx)(Icon, { size: 15 }) }), (0, jsx_runtime_1.jsx)(react_2.Box, { minWidth: "110px", children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "xs", fontWeight: 600, color: muted, children: detail.label }) }), (0, jsx_runtime_1.jsx)(react_2.Box, { flex: 1, children: (0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "sm", color: heading, fontWeight: 500, children: detail.value }) })] }), index < selectedUser.details.length - 1 && ((0, jsx_runtime_1.jsx)(react_2.Divider, { borderColor: border }))] }, index));
129
139
  }) })] })] })) : ((0, jsx_runtime_1.jsx)(EmptyState_1.default, { icon: lucide_react_1.UserRound, title: labels.selectTeamMember, description: labels.noUserSelected, minH: "300px" })) })] }), (0, jsx_runtime_1.jsx)(AddUserModal_1.default, { isOpen: isAddUserOpen, onClose: onAddUserClose, roleOptions: roleOptions, isLoading: isAddUserLoading, onSubmit: async (values) => {
130
140
  await (onAddUserSubmit === null || onAddUserSubmit === void 0 ? void 0 : onAddUserSubmit(values));
131
141
  onAddUserClose();
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceTrayPreview.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceTrayPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAcxE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,OAAc,EACd,WAAiB,EACjB,YAAkB,EAClB,SAAqB,EACrB,YAAY,EACZ,KAAe,EACf,MAAiC,GAClC,EAAE,yBAAyB,2CAuG3B"}
1
+ {"version":3,"file":"WorkspaceTrayPreview.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceTrayPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAgBxE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,OAAc,EACd,WAAiB,EACjB,YAAkB,EAClB,SAAqB,EACrB,YAAY,EACZ,KAAe,EACf,MAAiC,GAClC,EAAE,yBAAyB,2CAwG3B"}
@@ -4,6 +4,7 @@ exports.default = WorkspaceTrayPreview;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const react_2 = require("@chakra-ui/react");
7
+ const useCustomTheme_1 = require("../../Theme/useCustomTheme");
7
8
  const PLACEMENT_STYLE = {
8
9
  "top-end": { bottom: "100%", right: 0, marginBottom: "6px" },
9
10
  "top-start": { bottom: "100%", left: 0, marginBottom: "6px" },
@@ -24,6 +25,8 @@ const PLACEMENT_STYLE = {
24
25
  * `onOpenChange`.
25
26
  */
26
27
  function WorkspaceTrayPreview({ children, preview, enabled = true, openDelayMs = 350, closeDelayMs = 200, placement = "top-end", onOpenChange, width = "340px", testId = "workspace-tray-preview", }) {
28
+ var _a, _b, _c, _d;
29
+ const theme = (0, useCustomTheme_1.useCustomTheme)();
27
30
  const [open, setOpen] = (0, react_1.useState)(false);
28
31
  const openTimer = (0, react_1.useRef)(null);
29
32
  const closeTimer = (0, react_1.useRef)(null);
@@ -77,7 +80,7 @@ function WorkspaceTrayPreview({ children, preview, enabled = true, openDelayMs =
77
80
  e.stopPropagation();
78
81
  closeNow();
79
82
  }
80
- }, children: [children, open && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", ...PLACEMENT_STYLE[placement], w: typeof width === "number" ? `${width}px` : width, maxW: "min(360px, calc(100vw - 2rem))", bg: "white", borderWidth: "1px", borderColor: "gray.200", borderRadius: "lg", boxShadow: "xl", zIndex: 1500, pointerEvents: "auto", p: 3, textAlign: "left", color: "gray.800", cursor: "default", onMouseEnter: clearCloseTimer, onMouseLeave: scheduleClose, "data-testid": testId, children: typeof preview === "function"
83
+ }, children: [children, open && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", ...PLACEMENT_STYLE[placement], w: typeof width === "number" ? `${width}px` : width, maxW: "min(360px, calc(100vw - 2rem))", bg: theme.colors.background[50], borderWidth: "1px", borderColor: (_b = (_a = theme.colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : theme.colors.gray[200], borderRadius: "lg", boxShadow: "xl", zIndex: 1500, pointerEvents: "auto", p: 3, textAlign: "left", color: (_d = (_c = theme.colors.text) === null || _c === void 0 ? void 0 : _c[700]) !== null && _d !== void 0 ? _d : theme.colors.gray[800], cursor: "default", onMouseEnter: clearCloseTimer, onMouseLeave: scheduleClose, "data-testid": testId, children: typeof preview === "function"
81
84
  ? preview({ close: closeNow })
82
85
  : preview }))] }));
83
86
  }
@@ -6,10 +6,10 @@ import type { WorkspaceTrayProps, WorkspaceWindowProps } from "./WorkspaceWindow
6
6
  * management: the parent owns the window state and passes callbacks. Render
7
7
  * minimized windows with the companion WorkspaceTray.
8
8
  */
9
- export default function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, headerActions, testId, }: WorkspaceWindowProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export default function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, onOverlayClick, headerActions, testId, }: WorkspaceWindowProps): import("react/jsx-runtime").JSX.Element | null;
10
10
  /**
11
11
  * Bottom tray of restore pills for minimized WorkspaceWindows. Presentational —
12
12
  * the parent supplies the minimized items and restore/close handlers.
13
13
  */
14
- export declare function WorkspaceTray({ items, onRestore, onClose, testId, }: WorkspaceTrayProps): import("react/jsx-runtime").JSX.Element | null;
14
+ export declare function WorkspaceTray({ items, onRestore, onClose, testId, renderItem, }: WorkspaceTrayProps): import("react/jsx-runtime").JSX.Element | null;
15
15
  //# sourceMappingURL=WorkspaceWindow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceWindow.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceWindow.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAOhC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,cAAc,EACd,aAAa,EACb,MAA2B,GAC5B,EAAE,oBAAoB,kDAqGtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAyB,GAC1B,EAAE,kBAAkB,kDAkEpB"}
1
+ {"version":3,"file":"WorkspaceWindow.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceWindow.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAOhC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,MAA2B,GAC5B,EAAE,oBAAoB,kDAkHtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAyB,EACzB,UAAU,GACX,EAAE,kBAAkB,kDA6EpB"}
@@ -5,6 +5,7 @@ exports.WorkspaceTray = WorkspaceTray;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_1 = require("@chakra-ui/react");
7
7
  const lucide_react_1 = require("lucide-react");
8
+ const useCustomTheme_1 = require("../../Theme/useCustomTheme");
8
9
  // One in-between windowed size — wider than a cramped dialog but not near-full
9
10
  // screen. There is no maximize/restore toggle (removed by product decision); the
10
11
  // `onMedium`/`onMaximize` props are kept optional for back-compat but unused.
@@ -16,25 +17,49 @@ const WINDOW_SIZE = { maxW: "88rem", h: "92vh" };
16
17
  * management: the parent owns the window state and passes callbacks. Render
17
18
  * minimized windows with the companion WorkspaceTray.
18
19
  */
19
- function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, headerActions, testId = "workspace-window", }) {
20
+ function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, onOverlayClick, headerActions, testId = "workspace-window", }) {
21
+ var _a, _b, _c, _d, _e, _f;
22
+ // Must run before the early return: a minimized render would otherwise skip the hook
23
+ // and change hook order when the window reopens.
24
+ const theme = (0, useCustomTheme_1.useCustomTheme)();
20
25
  if (state === "minimized")
21
26
  return null;
22
27
  const size = WINDOW_SIZE;
23
28
  return ((0, jsx_runtime_1.jsxs)(react_1.Modal, { isOpen: true, onClose: () => onClose === null || onClose === void 0 ? void 0 : onClose(), size: "full", isCentered: true, scrollBehavior: "inside",
24
29
  // Don't discard unsaved work on an accidental overlay click / Esc — the
25
30
  // parent decides via the explicit Close control.
26
- closeOnOverlayClick: false, closeOnEsc: false, children: [(0, jsx_runtime_1.jsx)(react_1.ModalOverlay, { backdropFilter: "blur(3px)" }), (0, jsx_runtime_1.jsx)(react_1.ModalContent, { bg: "transparent", boxShadow: "none", m: 0, display: "flex", alignItems: "center", justifyContent: "center", children: (0, jsx_runtime_1.jsxs)(react_1.Box, { bg: "white", borderRadius: "0.75rem", boxShadow: "2xl", overflow: "hidden", w: "100%", maxW: size.maxW, h: size.h, display: "flex", flexDirection: "column", "data-testid": testId, "data-window-state": state, children: [(0, jsx_runtime_1.jsxs)(react_1.Flex, { align: "center", justify: "space-between", px: 3, py: 2, borderBottomWidth: "1px", borderColor: "gray.100", bg: "gray.50", flexShrink: 0, children: [(0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "sm", fontWeight: 600, color: "gray.700", noOfLines: 1, "data-testid": `${testId}-title`, children: title }), (0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 1, children: [headerActions, onOpenFullPage ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Open full page", size: "xs", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 14 }), onClick: onOpenFullPage, "data-testid": `${testId}-fullpage` })) : null, onMinimize ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Minimize", size: "xs", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Minus, { size: 15 }), onClick: onMinimize, "data-testid": `${testId}-minimize` })) : null, onClose ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", colorScheme: "red", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 15 }), onClick: onClose, "data-testid": `${testId}-close` })) : null] })] }), (0, jsx_runtime_1.jsx)(react_1.Box, { flex: "1", overflow: "auto", px: { base: 3, md: 5 }, py: 4, children: children })] }) })] }));
31
+ closeOnOverlayClick: false, closeOnEsc: false, children: [(0, jsx_runtime_1.jsx)(react_1.ModalOverlay, { backdropFilter: "blur(3px)" }), (0, jsx_runtime_1.jsx)(react_1.ModalContent, { bg: "transparent", boxShadow: "none", m: 0, display: "flex", alignItems: "center", justifyContent: "center",
32
+ // With size="full" the transparent ModalContent covers the whole
33
+ // viewport, so Chakra's own closeOnOverlayClick never fires (the
34
+ // ModalOverlay sits behind it). Detect "clicked the blurred area
35
+ // around the window" ourselves: only when the click lands on this
36
+ // wrapper, not on the window Box or its children.
37
+ onMouseDown: (e) => {
38
+ if (e.target === e.currentTarget)
39
+ onOverlayClick === null || onOverlayClick === void 0 ? void 0 : onOverlayClick();
40
+ }, "data-testid": `${testId}-backdrop`, children: (0, jsx_runtime_1.jsxs)(react_1.Box, { bg: theme.colors.background[50], borderRadius: "0.75rem", boxShadow: "2xl", overflow: "hidden", w: "100%", maxW: size.maxW, h: size.h, display: "flex", flexDirection: "column", "data-testid": testId, "data-window-state": state, children: [(0, jsx_runtime_1.jsxs)(react_1.Flex, { align: "center", justify: "space-between", px: 3, py: 2, borderBottomWidth: "1px", borderColor: (_b = (_a = theme.colors.boxborder) === null || _a === void 0 ? void 0 : _a[200]) !== null && _b !== void 0 ? _b : theme.colors.gray[100], bg: (_d = (_c = theme.colors.background) === null || _c === void 0 ? void 0 : _c[100]) !== null && _d !== void 0 ? _d : theme.colors.gray[50], flexShrink: 0, children: [(0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "sm", fontWeight: 600, color: (_f = (_e = theme.colors.text) === null || _e === void 0 ? void 0 : _e[700]) !== null && _f !== void 0 ? _f : theme.colors.gray[700], noOfLines: 1, "data-testid": `${testId}-title`, children: title }), (0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 1, children: [headerActions, onOpenFullPage ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Open full page", size: "xs", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 14 }), onClick: onOpenFullPage, "data-testid": `${testId}-fullpage` })) : null, onMinimize ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Minimize", size: "xs", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Minus, { size: 15 }), onClick: onMinimize, "data-testid": `${testId}-minimize` })) : null, onClose ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", colorScheme: "red", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 15 }), onClick: onClose, "data-testid": `${testId}-close` })) : null] })] }), (0, jsx_runtime_1.jsx)(react_1.Box, { flex: "1", overflow: "auto", px: { base: 3, md: 5 }, py: 4, children: children })] }) })] }));
27
41
  }
28
42
  /**
29
43
  * Bottom tray of restore pills for minimized WorkspaceWindows. Presentational —
30
44
  * the parent supplies the minimized items and restore/close handlers.
31
45
  */
32
- function WorkspaceTray({ items, onRestore, onClose, testId = "workspace-tray", }) {
46
+ function WorkspaceTray({ items, onRestore, onClose, testId = "workspace-tray", renderItem, }) {
47
+ const theme = (0, useCustomTheme_1.useCustomTheme)();
33
48
  if (!items.length)
34
49
  return null;
35
50
  return (
36
51
  // Floating bottom-right cluster (Gmail/Jira minimized-window pattern) rather
37
52
  // than a full-width docked bar, so it never covers the bottom strip of page
38
53
  // content and needs no reserved page gutter. Pills wrap upward.
39
- (0, jsx_runtime_1.jsx)(react_1.Flex, { position: "fixed", bottom: 4, right: 4, zIndex: 1400, direction: "row-reverse", wrap: "wrap-reverse", justify: "flex-start", gap: 2, maxW: { base: "calc(100vw - 2rem)", md: "36rem" }, "data-testid": testId, children: items.map((item) => ((0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 1, pl: 3, pr: 1, py: 1, borderRadius: "full", bg: "blue.100", color: "blue.700", boxShadow: "md", borderWidth: "1px", borderColor: "blue.200", "data-testid": `${testId}-pill`, children: [(0, jsx_runtime_1.jsx)(react_1.Box, { as: "button", type: "button", fontSize: "sm", onClick: () => onRestore === null || onRestore === void 0 ? void 0 : onRestore(item.id), "data-testid": `${testId}-restore`, maxW: "16rem", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: item.title }), onClose ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", borderRadius: "full", minW: "auto", h: "auto", p: 1, color: "inherit", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 13 }), onClick: () => onClose(item.id), "data-testid": `${testId}-close` })) : null] }, item.id))) }));
54
+ (0, jsx_runtime_1.jsx)(react_1.Flex, { position: "fixed", bottom: 4, right: 4, zIndex: 1400, direction: "row-reverse", wrap: "wrap-reverse", justify: "flex-start", gap: 2, maxW: { base: "calc(100vw - 2rem)", md: "36rem" }, "data-testid": testId, children: items.map((item) => {
55
+ var _a, _b, _c, _d, _e, _f;
56
+ const api = {
57
+ restore: () => onRestore === null || onRestore === void 0 ? void 0 : onRestore(item.id),
58
+ close: () => onClose === null || onClose === void 0 ? void 0 : onClose(item.id),
59
+ };
60
+ if (renderItem) {
61
+ return (0, jsx_runtime_1.jsx)(react_1.Box, { children: renderItem(item, api) }, item.id);
62
+ }
63
+ return ((0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 1, pl: 3, pr: 1, py: 1, borderRadius: "full", bg: (_b = (_a = theme.colors.primary) === null || _a === void 0 ? void 0 : _a[100]) !== null && _b !== void 0 ? _b : "blue.100", color: (_d = (_c = theme.colors.primary) === null || _c === void 0 ? void 0 : _c[700]) !== null && _d !== void 0 ? _d : "blue.700", boxShadow: "md", borderWidth: "1px", borderColor: (_f = (_e = theme.colors.primary) === null || _e === void 0 ? void 0 : _e[200]) !== null && _f !== void 0 ? _f : "blue.200", "data-testid": `${testId}-pill`, children: [(0, jsx_runtime_1.jsx)(react_1.Box, { as: "button", type: "button", fontSize: "sm", onClick: api.restore, "data-testid": `${testId}-restore`, maxW: "16rem", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: item.title }), onClose ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", borderRadius: "full", minW: "auto", h: "auto", p: 1, color: "inherit", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 13 }), onClick: api.close, "data-testid": `${testId}-close` })) : null] }, item.id));
64
+ }) }));
40
65
  }
@@ -19,6 +19,13 @@ export interface WorkspaceWindowProps {
19
19
  onClose?: () => void;
20
20
  /** Optional "pop out to full page" affordance; hidden when omitted. */
21
21
  onOpenFullPage?: () => void;
22
+ /**
23
+ * Fires when the blurred area around the window is clicked. With
24
+ * `size="full"` the transparent ModalContent covers the whole viewport, so
25
+ * Chakra's own `closeOnOverlayClick` never fires — the parent handles this
26
+ * itself (e.g. minimize-on-backdrop-click) via this callback.
27
+ */
28
+ onOverlayClick?: () => void;
22
29
  /** Extra controls rendered in the control bar, left of the window buttons. */
23
30
  headerActions?: ReactNode;
24
31
  /** data-testid for the window container. */
@@ -34,6 +41,17 @@ export interface WorkspaceTrayProps {
34
41
  onRestore?: (id: string) => void;
35
42
  onClose?: (id: string) => void;
36
43
  testId?: string;
44
+ /**
45
+ * Full override for a single item's pill markup — e.g. to wrap it in an
46
+ * app-specific hover preview, or to show extra state (a dirty dot) the
47
+ * generic pill doesn't know about. Receives the item plus ready-bound
48
+ * restore/close callbacks; when provided, the built-in pill is skipped for
49
+ * that item and this renders in its place inside the same positioned tray.
50
+ */
51
+ renderItem?: (item: WorkspaceTrayItem, api: {
52
+ restore: () => void;
53
+ close: () => void;
54
+ }) => ReactNode;
37
55
  }
38
56
  export interface WorkspaceTrayPreviewProps {
39
57
  /**