pixelize-design-library 2.3.22 → 2.4.1

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 (541) hide show
  1. package/.claude/settings.local.json +51 -0
  2. package/.cursor/TASK-SETUP.md +43 -0
  3. package/.cursor/agents/be-impl.md +37 -0
  4. package/.cursor/agents/fe-impl.md +39 -0
  5. package/.cursor/agents/task-plan.md +56 -0
  6. package/.cursor/agents/test-create.md +31 -0
  7. package/.cursor/agents/test-exec.md +26 -0
  8. package/.cursor/hooks/task-hint.env +1 -0
  9. package/.cursor/hooks/task-skill-nudge.sh +71 -0
  10. package/.cursor/hooks/task-slash-guard.sh +31 -0
  11. package/.cursor/hooks.json +13 -0
  12. package/.cursor/modules/account-management/MODULE.md +34 -0
  13. package/.cursor/modules/buttons/MODULE.md +47 -0
  14. package/.cursor/modules/cards/MODULE.md +55 -0
  15. package/.cursor/modules/charts/MODULE.md +40 -0
  16. package/.cursor/modules/common/MODULE.md +36 -0
  17. package/.cursor/modules/contact-auth/MODULE.md +19 -0
  18. package/.cursor/modules/data-display/MODULE.md +42 -0
  19. package/.cursor/modules/feedback/MODULE.md +32 -0
  20. package/.cursor/modules/form/MODULE.md +13 -0
  21. package/.cursor/modules/inputs-basic/MODULE.md +42 -0
  22. package/.cursor/modules/inputs-date-file/MODULE.md +56 -0
  23. package/.cursor/modules/inputs-select/MODULE.md +27 -0
  24. package/.cursor/modules/inputs-toggle/MODULE.md +18 -0
  25. package/.cursor/modules/kanban/MODULE.md +22 -0
  26. package/.cursor/modules/layout-navigation/MODULE.md +269 -0
  27. package/.cursor/modules/overlays/MODULE.md +69 -0
  28. package/.cursor/modules/playground/MODULE.md +28 -0
  29. package/.cursor/modules/table/MODULE.md +78 -0
  30. package/.cursor/modules/theme/MODULE.md +314 -0
  31. package/.cursor/modules/types-exports/MODULE.md +17 -0
  32. package/.cursor/modules/utility-ui/MODULE.md +50 -0
  33. package/.cursor/modules/utils-hooks/MODULE.md +35 -0
  34. package/.cursor/pixelize-task-statusline.sh +64 -0
  35. package/.cursor/plans/blocked/.gitkeep +0 -0
  36. package/.cursor/plans/current.md +12 -0
  37. package/.cursor/plans/current.theme-tokens-dark-mode.md +77 -0
  38. package/.cursor/plans/current.theme-tokens-dark.md +155 -0
  39. package/.cursor/plans/done/.gitkeep +0 -0
  40. package/.cursor/rules +31 -0
  41. package/.cursor/skills/task/SKILL.md +167 -0
  42. package/CLAUDE.md +148 -0
  43. package/README.md +77 -10
  44. package/__mocks__/styleMock.js +8 -0
  45. package/coverage/clover.xml +405 -0
  46. package/coverage/coverage-final.json +16 -0
  47. package/coverage/coverage-summary.json +50 -0
  48. package/coverage/lcov-report/Button/Button.tsx.html +244 -0
  49. package/coverage/lcov-report/Button/index.html +116 -0
  50. package/coverage/lcov-report/Checkbox/Checkbox.tsx.html +433 -0
  51. package/coverage/lcov-report/Checkbox/index.html +116 -0
  52. package/coverage/lcov-report/Common/ErrorMessage.tsx.html +148 -0
  53. package/coverage/lcov-report/Common/FormLabel.tsx.html +331 -0
  54. package/coverage/lcov-report/Common/HelperText.tsx.html +124 -0
  55. package/coverage/lcov-report/Common/index.html +146 -0
  56. package/coverage/lcov-report/Components/Button/Button.tsx.html +244 -0
  57. package/coverage/lcov-report/Components/Button/index.html +116 -0
  58. package/coverage/lcov-report/Components/Checkbox/Checkbox.tsx.html +433 -0
  59. package/coverage/lcov-report/Components/Checkbox/index.html +116 -0
  60. package/coverage/lcov-report/Components/Common/ErrorMessage.tsx.html +148 -0
  61. package/coverage/lcov-report/Components/Common/FormLabel.tsx.html +331 -0
  62. package/coverage/lcov-report/Components/Common/HelperText.tsx.html +124 -0
  63. package/coverage/lcov-report/Components/Common/index.html +146 -0
  64. package/coverage/lcov-report/Components/CustomModulesTable/CustomModulesTable.tsx.html +712 -0
  65. package/coverage/lcov-report/Components/CustomModulesTable/DeleteModuleModal.tsx.html +343 -0
  66. package/coverage/lcov-report/Components/CustomModulesTable/EditModuleModal.tsx.html +313 -0
  67. package/coverage/lcov-report/Components/CustomModulesTable/index.html +146 -0
  68. package/coverage/lcov-report/Components/Divider/Divider.tsx.html +133 -0
  69. package/coverage/lcov-report/Components/Divider/index.html +116 -0
  70. package/coverage/lcov-report/Components/Dropdown/DropDown.tsx.html +994 -0
  71. package/coverage/lcov-report/Components/Dropdown/index.html +116 -0
  72. package/coverage/lcov-report/Components/EmptyState/EmptyState.tsx.html +466 -0
  73. package/coverage/lcov-report/Components/EmptyState/index.html +116 -0
  74. package/coverage/lcov-report/Components/Header/HeaderActions.tsx.html +373 -0
  75. package/coverage/lcov-report/Components/Header/index.html +116 -0
  76. package/coverage/lcov-report/Components/Input/TextInput.tsx.html +487 -0
  77. package/coverage/lcov-report/Components/Input/index.html +116 -0
  78. package/coverage/lcov-report/Components/Input/textInputIconSize.ts.html +205 -0
  79. package/coverage/lcov-report/Components/KanbanBoard/AccountCard.tsx.html +547 -0
  80. package/coverage/lcov-report/Components/KanbanBoard/AccountRow.tsx.html +190 -0
  81. package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/KanbanActions.tsx.html +247 -0
  82. package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/index.html +116 -0
  83. package/coverage/lcov-report/Components/KanbanBoard/KanbanBoard.tsx.html +3598 -0
  84. package/coverage/lcov-report/Components/KanbanBoard/MeasuredItem.tsx.html +283 -0
  85. package/coverage/lcov-report/Components/KanbanBoard/index.html +161 -0
  86. package/coverage/lcov-report/Components/OrganizationDetails/CreateOrgModal.tsx.html +511 -0
  87. package/coverage/lcov-report/Components/OrganizationDetails/DeleteOrgModal.tsx.html +334 -0
  88. package/coverage/lcov-report/Components/OrganizationDetails/OrganizationDetails.tsx.html +1519 -0
  89. package/coverage/lcov-report/Components/OrganizationDetails/index.html +146 -0
  90. package/coverage/lcov-report/Components/RolesPermission/DeleteRoleModal.tsx.html +328 -0
  91. package/coverage/lcov-report/Components/RolesPermission/RolesPermission.tsx.html +1732 -0
  92. package/coverage/lcov-report/Components/RolesPermission/index.html +131 -0
  93. package/coverage/lcov-report/Components/SearchSelect/SearchSelect.tsx.html +2575 -0
  94. package/coverage/lcov-report/Components/SearchSelect/SelectTruncatedLabel.tsx.html +202 -0
  95. package/coverage/lcov-report/Components/SearchSelect/index.html +146 -0
  96. package/coverage/lcov-report/Components/SearchSelect/searchSelectSize.ts.html +496 -0
  97. package/coverage/lcov-report/Components/Select/Select.tsx.html +361 -0
  98. package/coverage/lcov-report/Components/Select/index.html +116 -0
  99. package/coverage/lcov-report/Components/SideBar/components/OtherApps.tsx.html +562 -0
  100. package/coverage/lcov-report/Components/SideBar/components/OverflowTooltipText.tsx.html +346 -0
  101. package/coverage/lcov-report/Components/SideBar/components/index.html +116 -0
  102. package/coverage/lcov-report/Components/SignInActivityTable/SignInActivityTable.tsx.html +490 -0
  103. package/coverage/lcov-report/Components/SignInActivityTable/index.html +116 -0
  104. package/coverage/lcov-report/Components/Table/components/TableActions.tsx.html +595 -0
  105. package/coverage/lcov-report/Components/Table/components/TableBody.tsx.html +2212 -0
  106. package/coverage/lcov-report/Components/Table/components/TableGroupRow.tsx.html +358 -0
  107. package/coverage/lcov-report/Components/Table/components/TableLoading.tsx.html +358 -0
  108. package/coverage/lcov-report/Components/Table/components/index.html +161 -0
  109. package/coverage/lcov-report/Components/Table/settings/ManageColumns.tsx.html +856 -0
  110. package/coverage/lcov-report/Components/Table/settings/index.html +116 -0
  111. package/coverage/lcov-report/Components/Tag/Tag.styles.tsx.html +331 -0
  112. package/coverage/lcov-report/Components/Tag/Tag.tsx.html +256 -0
  113. package/coverage/lcov-report/Components/Tag/index.html +131 -0
  114. package/coverage/lcov-report/Components/ToolTip/ToolTip.tsx.html +286 -0
  115. package/coverage/lcov-report/Components/ToolTip/index.html +116 -0
  116. package/coverage/lcov-report/Components/UserDetails/AddUserModal.tsx.html +709 -0
  117. package/coverage/lcov-report/Components/UserDetails/ChangeRoleModal.tsx.html +505 -0
  118. package/coverage/lcov-report/Components/UserDetails/DeactivateConfirmModal.tsx.html +379 -0
  119. package/coverage/lcov-report/Components/UserDetails/UserDetails.tsx.html +1900 -0
  120. package/coverage/lcov-report/Components/UserDetails/index.html +161 -0
  121. package/coverage/lcov-report/EmptyState/EmptyState.tsx.html +466 -0
  122. package/coverage/lcov-report/EmptyState/index.html +116 -0
  123. package/coverage/lcov-report/Hooks/index.html +116 -0
  124. package/coverage/lcov-report/Hooks/usePreferences.ts.html +421 -0
  125. package/coverage/lcov-report/Input/TextInput.tsx.html +487 -0
  126. package/coverage/lcov-report/Input/index.html +131 -0
  127. package/coverage/lcov-report/Input/textInputIconSize.ts.html +205 -0
  128. package/coverage/lcov-report/KanbanBoard.tsx.html +3481 -0
  129. package/coverage/lcov-report/OrganizationDetails/CreateOrgModal.tsx.html +511 -0
  130. package/coverage/lcov-report/OrganizationDetails/DeleteOrgModal.tsx.html +334 -0
  131. package/coverage/lcov-report/OrganizationDetails/OrganizationDetails.tsx.html +1519 -0
  132. package/coverage/lcov-report/OrganizationDetails/index.html +146 -0
  133. package/coverage/lcov-report/RolesPermission/DeleteRoleModal.tsx.html +328 -0
  134. package/coverage/lcov-report/RolesPermission/RolesPermission.tsx.html +1732 -0
  135. package/coverage/lcov-report/RolesPermission/index.html +116 -0
  136. package/coverage/lcov-report/SearchSelect/SearchSelect.tsx.html +2575 -0
  137. package/coverage/lcov-report/SearchSelect/SelectTruncatedLabel.tsx.html +202 -0
  138. package/coverage/lcov-report/SearchSelect/index.html +146 -0
  139. package/coverage/lcov-report/SearchSelect/searchSelectSize.ts.html +496 -0
  140. package/coverage/lcov-report/Table/CompactSelect.tsx.html +379 -0
  141. package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +514 -0
  142. package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +373 -0
  143. package/coverage/lcov-report/Table/Components/Pagination.tsx.html +574 -0
  144. package/coverage/lcov-report/Table/Components/TableActions.tsx.html +574 -0
  145. package/coverage/lcov-report/Table/Components/TableBody.tsx.html +1027 -0
  146. package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +397 -0
  147. package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +1060 -0
  148. package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +361 -0
  149. package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +337 -0
  150. package/coverage/lcov-report/Table/Components/index.html +266 -0
  151. package/coverage/lcov-report/Table/Components/useDebounce.ts.html +178 -0
  152. package/coverage/lcov-report/Table/Components/useTable.ts.html +778 -0
  153. package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +1810 -0
  154. package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +178 -0
  155. package/coverage/lcov-report/Table/Table.tsx.html +1567 -0
  156. package/coverage/lcov-report/Table/TableProps.tsx.html +658 -0
  157. package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +619 -0
  158. package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +229 -0
  159. package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +532 -0
  160. package/coverage/lcov-report/Table/TableSettings/index.html +146 -0
  161. package/coverage/lcov-report/Table/TableToDo.tsx.html +973 -0
  162. package/coverage/lcov-report/Table/TextOperationControls.tsx.html +271 -0
  163. package/coverage/lcov-report/Table/filterTypes.ts.html +97 -0
  164. package/coverage/lcov-report/Table/index.html +176 -0
  165. package/coverage/lcov-report/Table/settings/ManageColumns.tsx.html +856 -0
  166. package/coverage/lcov-report/Table/settings/index.html +116 -0
  167. package/coverage/lcov-report/Tag/Tag.tsx.html +256 -0
  168. package/coverage/lcov-report/Tag/index.html +116 -0
  169. package/coverage/lcov-report/Theme/buildBrandTokens.ts.html +175 -0
  170. package/coverage/lcov-report/Theme/chartColorsFromTheme.ts.html +214 -0
  171. package/coverage/lcov-report/Theme/index.html +131 -0
  172. package/coverage/lcov-report/Theme/useCustomTheme.ts.html +100 -0
  173. package/coverage/lcov-report/ToolTip/ToolTip.tsx.html +286 -0
  174. package/coverage/lcov-report/ToolTip/index.html +116 -0
  175. package/coverage/lcov-report/UserDetails/AddUserModal.tsx.html +709 -0
  176. package/coverage/lcov-report/UserDetails/ChangeRoleModal.tsx.html +505 -0
  177. package/coverage/lcov-report/UserDetails/index.html +116 -0
  178. package/coverage/lcov-report/Utils/functions.ts.html +106 -0
  179. package/coverage/lcov-report/Utils/index.html +116 -0
  180. package/coverage/lcov-report/Utils/table.ts.html +1189 -0
  181. package/coverage/lcov-report/base.css +224 -0
  182. package/coverage/lcov-report/block-navigation.js +87 -0
  183. package/coverage/lcov-report/favicon.png +0 -0
  184. package/coverage/lcov-report/index.html +251 -0
  185. package/coverage/lcov-report/prettify.css +1 -0
  186. package/coverage/lcov-report/prettify.js +2 -0
  187. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  188. package/coverage/lcov-report/sorter.js +210 -0
  189. package/coverage/lcov.info +981 -0
  190. package/dist/App.d.ts.map +1 -1
  191. package/dist/Assets/defaultLogo.tsx +30 -0
  192. package/dist/Components/Accordion/Accordion.d.ts.map +1 -1
  193. package/dist/Components/Accordion/Accordion.js +15 -12
  194. package/dist/Components/Accordion/accordionColors.d.ts +6 -0
  195. package/dist/Components/Accordion/accordionColors.d.ts.map +1 -0
  196. package/dist/Components/Accordion/accordionColors.js +20 -0
  197. package/dist/Components/AlertDialog/AlertDialog.d.ts.map +1 -1
  198. package/dist/Components/AlertDialog/AlertDialog.js +4 -1
  199. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts.map +1 -1
  200. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +5 -1
  201. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts.map +1 -1
  202. package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +6 -4
  203. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts.map +1 -1
  204. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +5 -1
  205. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts.map +1 -1
  206. package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +5 -1
  207. package/dist/Components/Button/Button.styles.d.ts.map +1 -1
  208. package/dist/Components/Button/Button.styles.js +100 -47
  209. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts.map +1 -1
  210. package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +11 -3
  211. package/dist/Components/Card/PaymentCard/PaymentCard.d.ts.map +1 -1
  212. package/dist/Components/Card/PaymentCard/PaymentCard.js +17 -12
  213. package/dist/Components/Checkbox/Checkbox.d.ts.map +1 -1
  214. package/dist/Components/Checkbox/Checkbox.js +2 -1
  215. package/dist/Components/Common/ErrorComponent.d.ts.map +1 -1
  216. package/dist/Components/Common/ErrorComponent.js +7 -3
  217. package/dist/Components/Common/ErrorMessage.d.ts.map +1 -1
  218. package/dist/Components/Common/ErrorMessage.js +7 -1
  219. package/dist/Components/Common/FormLabel.d.ts.map +1 -1
  220. package/dist/Components/Common/FormLabel.js +7 -1
  221. package/dist/Components/Common/Label.d.ts.map +1 -1
  222. package/dist/Components/Common/Label.js +4 -2
  223. package/dist/Components/Common/fieldStyles.d.ts.map +1 -1
  224. package/dist/Components/Common/fieldStyles.js +3 -1
  225. package/dist/Components/CopyButton/CopyButton.d.ts.map +1 -1
  226. package/dist/Components/CopyButton/CopyButton.js +14 -6
  227. package/dist/Components/CustomModulesTable/CustomModulesTable.d.ts.map +1 -1
  228. package/dist/Components/CustomModulesTable/CustomModulesTable.js +9 -6
  229. package/dist/Components/CustomModulesTable/DeleteModuleModal.d.ts.map +1 -1
  230. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
  231. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts.map +1 -1
  232. package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -2
  233. package/dist/Components/DatePicker/CalendarPanel.js +1 -1
  234. package/dist/Components/DatePicker/DatePicker.js +1 -1
  235. package/dist/Components/DatePicker/RangeDatePicker.d.ts.map +1 -1
  236. package/dist/Components/DatePicker/RangeDatePicker.js +1 -1
  237. package/dist/Components/DatePicker/SingleDatePicker.d.ts.map +1 -1
  238. package/dist/Components/DatePicker/SingleDatePicker.js +1 -1
  239. package/dist/Components/DatePicker/TimeOnlyPicker.d.ts.map +1 -1
  240. package/dist/Components/DatePicker/TimeOnlyPicker.js +3 -1
  241. package/dist/Components/Drawer/Drawer.d.ts.map +1 -1
  242. package/dist/Components/Drawer/Drawer.js +4 -1
  243. package/dist/Components/Dropdown/DropDown.js +5 -5
  244. package/dist/Components/Editor/Editor.d.ts.map +1 -1
  245. package/dist/Components/Editor/Editor.js +32 -2
  246. package/dist/Components/Editor/joditThemeVars.d.ts +21 -0
  247. package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -0
  248. package/dist/Components/Editor/joditThemeVars.js +70 -0
  249. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts.map +1 -1
  250. package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +5 -1
  251. package/dist/Components/EmptyState/EmptyState.js +3 -3
  252. package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts.map +1 -1
  253. package/dist/Components/FieldSelectModal/FieldSelectModal.js +4 -2
  254. package/dist/Components/FilePreview/FilePreview.d.ts.map +1 -1
  255. package/dist/Components/FilePreview/FilePreview.js +7 -1
  256. package/dist/Components/FileUpload/FileUpload.js +4 -4
  257. package/dist/Components/FileUploader/FileUploader.d.ts.map +1 -1
  258. package/dist/Components/FileUploader/FileUploader.js +7 -2
  259. package/dist/Components/FilterSidebar/FilterSidebar.d.ts.map +1 -1
  260. package/dist/Components/FilterSidebar/FilterSidebar.js +166 -142
  261. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +12 -0
  262. package/dist/Components/FilterSidebar/filterHoverStyle.d.ts.map +1 -0
  263. package/dist/Components/FilterSidebar/filterHoverStyle.js +14 -0
  264. package/dist/Components/Form/FormWrapper.js +2 -2
  265. package/dist/Components/Header/Header.d.ts +17 -0
  266. package/dist/Components/Header/Header.d.ts.map +1 -1
  267. package/dist/Components/Header/Header.js +34 -6
  268. package/dist/Components/Header/HeaderActions.d.ts.map +1 -1
  269. package/dist/Components/Header/HeaderActions.js +3 -2
  270. package/dist/Components/Header/components/desktopMenu.d.ts.map +1 -1
  271. package/dist/Components/Header/components/desktopMenu.js +21 -5
  272. package/dist/Components/Input/Input/Input.d.ts.map +1 -1
  273. package/dist/Components/Input/Input/Input.js +6 -2
  274. package/dist/Components/Input/Switch/InputSwitch.d.ts.map +1 -1
  275. package/dist/Components/Input/Switch/InputSwitch.js +4 -2
  276. package/dist/Components/Input/TextInput.styles.d.ts.map +1 -1
  277. package/dist/Components/Input/TextInput.styles.js +6 -1
  278. package/dist/Components/InputTextArea/InputTextArea.style.d.ts.map +1 -1
  279. package/dist/Components/InputTextArea/InputTextArea.style.js +4 -1
  280. package/dist/Components/KanbanBoard/AccountCard.js +4 -4
  281. package/dist/Components/LazyWrapper/LazyWrapper.js +1 -2
  282. package/dist/Components/Modal/Modal.d.ts.map +1 -1
  283. package/dist/Components/Modal/Modal.js +4 -1
  284. package/dist/Components/MoreItems/MoreItems.d.ts.map +1 -1
  285. package/dist/Components/MoreItems/MoreItems.js +10 -4
  286. package/dist/Components/MultiSelect/MultiSelect.d.ts.map +1 -1
  287. package/dist/Components/MultiSelect/MultiSelect.js +5 -2
  288. package/dist/Components/NavigationBar/NavigationBar.d.ts.map +1 -1
  289. package/dist/Components/NavigationBar/NavigationBar.js +8 -2
  290. package/dist/Components/NoteTextArea/NoteTextArea.d.ts.map +1 -1
  291. package/dist/Components/NoteTextArea/NoteTextArea.js +5 -2
  292. package/dist/Components/Notification/Notification.d.ts.map +1 -1
  293. package/dist/Components/Notification/Notification.js +9 -5
  294. package/dist/Components/NumberInput/NumberInput.styles.d.ts.map +1 -1
  295. package/dist/Components/NumberInput/NumberInput.styles.js +4 -1
  296. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts.map +1 -1
  297. package/dist/Components/OrgSwitcher/OrgSwitcher.js +14 -7
  298. package/dist/Components/OrganizationDetails/CreateOrgModal.d.ts.map +1 -1
  299. package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -1
  300. package/dist/Components/OrganizationDetails/DeleteOrgModal.js +2 -2
  301. package/dist/Components/OrganizationDetails/OrganizationDetails.js +11 -11
  302. package/dist/Components/PdfViewer/PdfViewer.js +1 -2
  303. package/dist/Components/PinInput/PinInput.d.ts.map +1 -1
  304. package/dist/Components/PinInput/PinInput.js +5 -1
  305. package/dist/Components/PinInputs/PinInputs.d.ts.map +1 -1
  306. package/dist/Components/PinInputs/PinInputs.js +3 -1
  307. package/dist/Components/ProductCard/ProductCard.js +1 -1
  308. package/dist/Components/ProductCard/ProductPrice.d.ts.map +1 -1
  309. package/dist/Components/ProductCard/ProductPrice.js +7 -4
  310. package/dist/Components/ProductCard/ProductReview.d.ts.map +1 -1
  311. package/dist/Components/ProductCard/ProductReview.js +7 -3
  312. package/dist/Components/ProductCard/ProductTags.js +1 -1
  313. package/dist/Components/ProductDetails/ProductDtlPrice.d.ts.map +1 -1
  314. package/dist/Components/ProductDetails/ProductDtlPrice.js +4 -1
  315. package/dist/Components/ProductDetails/ProductImageSlider.js +4 -4
  316. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts.map +1 -1
  317. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +10 -7
  318. package/dist/Components/Reorder/Reorder.js +2 -1
  319. package/dist/Components/RolesPermission/DeleteRoleModal.d.ts.map +1 -1
  320. package/dist/Components/RolesPermission/DeleteRoleModal.js +4 -2
  321. package/dist/Components/RolesPermission/RolesPermission.js +6 -6
  322. package/dist/Components/SearchSelect/SearchSelect.d.ts.map +1 -1
  323. package/dist/Components/SearchSelect/SearchSelect.js +4 -4
  324. package/dist/Components/Select/Select.styles.d.ts.map +1 -1
  325. package/dist/Components/Select/Select.styles.js +4 -1
  326. package/dist/Components/SelectSearch/SelectSearch.d.ts.map +1 -1
  327. package/dist/Components/SelectSearch/SelectSearch.js +5 -3
  328. package/dist/Components/SideBar/SecondaryBar.d.ts.map +1 -1
  329. package/dist/Components/SideBar/SecondaryBar.js +14 -3
  330. package/dist/Components/SideBar/SideBar.d.ts.map +1 -1
  331. package/dist/Components/SideBar/SideBar.js +18 -4
  332. package/dist/Components/SideBar/components/MenuItemBox.d.ts.map +1 -1
  333. package/dist/Components/SideBar/components/MenuItemBox.js +13 -9
  334. package/dist/Components/SideBar/components/MenuPopoverContent.d.ts.map +1 -1
  335. package/dist/Components/SideBar/components/MenuPopoverContent.js +7 -2
  336. package/dist/Components/SideBar/sidebarAccentColors.d.ts +21 -0
  337. package/dist/Components/SideBar/sidebarAccentColors.d.ts.map +1 -0
  338. package/dist/Components/SideBar/sidebarAccentColors.js +36 -0
  339. package/dist/Components/SignInActivityTable/SignInActivityTable.d.ts.map +1 -1
  340. package/dist/Components/SignInActivityTable/SignInActivityTable.js +7 -6
  341. package/dist/Components/StageProgress/StageProgress.d.ts.map +1 -1
  342. package/dist/Components/StageProgress/StageProgress.js +9 -4
  343. package/dist/Components/StageProgress/StageProgressProps.d.ts.map +1 -1
  344. package/dist/Components/StageProgress/StageProgressProps.js +13 -4
  345. package/dist/Components/StageProgress/StepperStage.js +1 -1
  346. package/dist/Components/Switch/Switch.d.ts.map +1 -1
  347. package/dist/Components/Switch/Switch.js +5 -3
  348. package/dist/Components/Table/Table.d.ts.map +1 -1
  349. package/dist/Components/Table/Table.js +9 -9
  350. package/dist/Components/Table/TableProps.d.ts +1 -0
  351. package/dist/Components/Table/TableProps.d.ts.map +1 -1
  352. package/dist/Components/Table/components/HeaderActions.d.ts.map +1 -1
  353. package/dist/Components/Table/components/HeaderActions.js +2 -1
  354. package/dist/Components/Table/components/TableActions.js +1 -1
  355. package/dist/Components/Table/components/TableBody.d.ts.map +1 -1
  356. package/dist/Components/Table/components/TableBody.js +21 -15
  357. package/dist/Components/Table/components/TableHeader.d.ts.map +1 -1
  358. package/dist/Components/Table/components/TableHeader.js +7 -4
  359. package/dist/Components/Table/components/tableRowHoverStyle.d.ts +13 -0
  360. package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -0
  361. package/dist/Components/Table/components/tableRowHoverStyle.js +26 -0
  362. package/dist/Components/Table/filters/CompactSelect.d.ts.map +1 -1
  363. package/dist/Components/Table/filters/CompactSelect.js +4 -1
  364. package/dist/Components/Table/filters/LeftFilterPane.d.ts.map +1 -1
  365. package/dist/Components/Table/filters/LeftFilterPane.js +5 -4
  366. package/dist/Components/Tag/Tag.styles.d.ts.map +1 -1
  367. package/dist/Components/Tag/Tag.styles.js +21 -8
  368. package/dist/Components/Timeline/Timeline.d.ts.map +1 -1
  369. package/dist/Components/Timeline/Timeline.js +18 -17
  370. package/dist/Components/Toaster/Toaster.d.ts.map +1 -1
  371. package/dist/Components/Toaster/Toaster.js +8 -5
  372. package/dist/Components/Toggle/TableToggle.js +2 -2
  373. package/dist/Components/ToolTip/ToolTip.d.ts.map +1 -1
  374. package/dist/Components/ToolTip/ToolTip.js +14 -2
  375. package/dist/Components/Trail/EditableCell.js +1 -1
  376. package/dist/Components/UpgradeButton/UpgradeButton.d.ts.map +1 -1
  377. package/dist/Components/UpgradeButton/UpgradeButton.js +9 -4
  378. package/dist/Components/UserDetails/AddUserModal.d.ts.map +1 -1
  379. package/dist/Components/UserDetails/AddUserModal.js +1 -1
  380. package/dist/Components/UserDetails/ChangeRoleModal.js +2 -2
  381. package/dist/Components/UserDetails/DeactivateConfirmModal.d.ts.map +1 -1
  382. package/dist/Components/UserDetails/DeactivateConfirmModal.js +5 -2
  383. package/dist/Components/UserDetails/UserDetails.d.ts.map +1 -1
  384. package/dist/Components/UserDetails/UserDetails.js +15 -8
  385. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts.map +1 -1
  386. package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +3 -1
  387. package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts.map +1 -1
  388. package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +5 -1
  389. package/dist/Theme/chakra/common.web.d.ts +171 -0
  390. package/dist/Theme/chakra/common.web.d.ts.map +1 -0
  391. package/dist/Theme/chakra/common.web.js +21 -0
  392. package/dist/Theme/chakra/componentStyles.d.ts +13 -0
  393. package/dist/Theme/chakra/componentStyles.d.ts.map +1 -0
  394. package/dist/Theme/chakra/componentStyles.js +88 -0
  395. package/dist/Theme/chakra/createBrandTheme.d.ts +18 -0
  396. package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -0
  397. package/dist/Theme/chakra/createBrandTheme.js +78 -0
  398. package/dist/Theme/chakra/fonts.web.d.ts +42 -0
  399. package/dist/Theme/chakra/fonts.web.d.ts.map +1 -0
  400. package/dist/Theme/chakra/fonts.web.js +15 -0
  401. package/dist/Theme/index.d.ts +29 -8
  402. package/dist/Theme/index.d.ts.map +1 -1
  403. package/dist/Theme/index.js +54 -22
  404. package/dist/Theme/provider/PixelizeThemeProvider.d.ts +36 -0
  405. package/dist/Theme/provider/PixelizeThemeProvider.d.ts.map +1 -0
  406. package/dist/Theme/provider/PixelizeThemeProvider.js +91 -0
  407. package/dist/Theme/provider/ThemeSwitcher.d.ts +8 -0
  408. package/dist/Theme/provider/ThemeSwitcher.d.ts.map +1 -0
  409. package/dist/Theme/provider/ThemeSwitcher.js +99 -0
  410. package/dist/Theme/provider/colorModeStorage.d.ts +10 -0
  411. package/dist/Theme/provider/colorModeStorage.d.ts.map +1 -0
  412. package/dist/Theme/provider/colorModeStorage.js +106 -0
  413. package/dist/Theme/provider/index.d.ts +6 -0
  414. package/dist/Theme/provider/index.d.ts.map +1 -0
  415. package/dist/Theme/provider/index.js +9 -0
  416. package/dist/Theme/provider/useThemeMode.d.ts +3 -0
  417. package/dist/Theme/provider/useThemeMode.d.ts.map +1 -0
  418. package/dist/Theme/provider/useThemeMode.js +13 -0
  419. package/dist/Theme/themeProps.d.ts +10 -373
  420. package/dist/Theme/themeProps.d.ts.map +1 -1
  421. package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +7 -0
  422. package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts.map +1 -0
  423. package/dist/Theme/tokens/brands/emerald/palette.dark.js +13 -0
  424. package/dist/Theme/tokens/brands/emerald/palette.light.d.ts +375 -0
  425. package/dist/Theme/tokens/brands/emerald/palette.light.d.ts.map +1 -0
  426. package/dist/Theme/tokens/brands/emerald/palette.light.js +135 -0
  427. package/dist/Theme/tokens/brands/index.d.ts +28 -0
  428. package/dist/Theme/tokens/brands/index.d.ts.map +1 -0
  429. package/dist/Theme/tokens/brands/index.js +93 -0
  430. package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +7 -0
  431. package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts.map +1 -0
  432. package/dist/Theme/tokens/brands/lavender/palette.dark.js +13 -0
  433. package/dist/Theme/tokens/brands/lavender/palette.light.d.ts +375 -0
  434. package/dist/Theme/tokens/brands/lavender/palette.light.d.ts.map +1 -0
  435. package/dist/Theme/tokens/brands/lavender/palette.light.js +316 -0
  436. package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +7 -0
  437. package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts.map +1 -0
  438. package/dist/Theme/tokens/brands/meadow/palette.dark.js +13 -0
  439. package/dist/Theme/tokens/brands/meadow/palette.light.d.ts +375 -0
  440. package/dist/Theme/tokens/brands/meadow/palette.light.d.ts.map +1 -0
  441. package/dist/Theme/tokens/brands/meadow/palette.light.js +133 -0
  442. package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +7 -0
  443. package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts.map +1 -0
  444. package/dist/Theme/tokens/brands/radiant/palette.dark.js +13 -0
  445. package/dist/Theme/tokens/brands/radiant/palette.light.d.ts +375 -0
  446. package/dist/Theme/tokens/brands/radiant/palette.light.d.ts.map +1 -0
  447. package/dist/Theme/tokens/brands/radiant/palette.light.js +135 -0
  448. package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +7 -0
  449. package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts.map +1 -0
  450. package/dist/Theme/tokens/brands/rosewood/palette.dark.js +13 -0
  451. package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts +375 -0
  452. package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts.map +1 -0
  453. package/dist/Theme/tokens/brands/rosewood/palette.light.js +139 -0
  454. package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +7 -0
  455. package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts.map +1 -0
  456. package/dist/Theme/tokens/brands/skyline/palette.dark.js +13 -0
  457. package/dist/Theme/tokens/brands/skyline/palette.light.d.ts +375 -0
  458. package/dist/Theme/tokens/brands/skyline/palette.light.d.ts.map +1 -0
  459. package/dist/Theme/tokens/brands/skyline/palette.light.js +133 -0
  460. package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +7 -0
  461. package/dist/Theme/tokens/brands/slate/palette.dark.d.ts.map +1 -0
  462. package/dist/Theme/tokens/brands/slate/palette.dark.js +13 -0
  463. package/dist/Theme/tokens/brands/slate/palette.light.d.ts +375 -0
  464. package/dist/Theme/tokens/brands/slate/palette.light.d.ts.map +1 -0
  465. package/dist/Theme/tokens/brands/slate/palette.light.js +137 -0
  466. package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +7 -0
  467. package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts.map +1 -0
  468. package/dist/Theme/tokens/brands/storefront/palette.dark.js +13 -0
  469. package/dist/Theme/tokens/brands/storefront/palette.light.d.ts +375 -0
  470. package/dist/Theme/tokens/brands/storefront/palette.light.d.ts.map +1 -0
  471. package/dist/Theme/tokens/brands/storefront/palette.light.js +127 -0
  472. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +204 -0
  473. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -0
  474. package/dist/Theme/tokens/brands/zinc/palette.dark.js +204 -0
  475. package/dist/Theme/tokens/brands/zinc/palette.light.d.ts +375 -0
  476. package/dist/Theme/tokens/brands/zinc/palette.light.d.ts.map +1 -0
  477. package/dist/Theme/tokens/brands/zinc/palette.light.js +383 -0
  478. package/dist/Theme/tokens/builders/accentText.d.ts +56 -0
  479. package/dist/Theme/tokens/builders/accentText.d.ts.map +1 -0
  480. package/dist/Theme/tokens/builders/accentText.js +92 -0
  481. package/dist/Theme/tokens/builders/buildBrandTokens.d.ts +16 -0
  482. package/dist/Theme/tokens/builders/buildBrandTokens.d.ts.map +1 -0
  483. package/dist/Theme/tokens/builders/buildBrandTokens.js +33 -0
  484. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +23 -0
  485. package/dist/Theme/tokens/builders/buildDarkPalette.d.ts.map +1 -0
  486. package/dist/Theme/tokens/builders/buildDarkPalette.js +282 -0
  487. package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts +17 -0
  488. package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts.map +1 -0
  489. package/dist/Theme/tokens/builders/chartColorsFromTheme.js +26 -0
  490. package/dist/Theme/tokens/builders/color.d.ts +50 -0
  491. package/dist/Theme/tokens/builders/color.d.ts.map +1 -0
  492. package/dist/Theme/tokens/builders/color.js +156 -0
  493. package/dist/Theme/tokens/builders/index.d.ts +6 -0
  494. package/dist/Theme/tokens/builders/index.d.ts.map +1 -0
  495. package/dist/Theme/tokens/builders/index.js +21 -0
  496. package/dist/Theme/tokens/index.d.ts +15 -0
  497. package/dist/Theme/tokens/index.d.ts.map +1 -0
  498. package/dist/Theme/tokens/index.js +30 -0
  499. package/dist/Theme/tokens/primitives/breakpoints.d.ts +9 -0
  500. package/dist/Theme/tokens/primitives/breakpoints.d.ts.map +1 -0
  501. package/dist/Theme/tokens/primitives/breakpoints.js +10 -0
  502. package/dist/Theme/tokens/primitives/index.d.ts +10 -0
  503. package/dist/Theme/tokens/primitives/index.d.ts.map +1 -0
  504. package/dist/Theme/tokens/primitives/index.js +27 -0
  505. package/dist/Theme/tokens/primitives/letterSpacings.d.ts +10 -0
  506. package/dist/Theme/tokens/primitives/letterSpacings.d.ts.map +1 -0
  507. package/dist/Theme/tokens/primitives/letterSpacings.js +11 -0
  508. package/dist/Theme/tokens/primitives/lineHeights.d.ts +19 -0
  509. package/dist/Theme/tokens/primitives/lineHeights.d.ts.map +1 -0
  510. package/dist/Theme/tokens/primitives/lineHeights.js +20 -0
  511. package/dist/Theme/tokens/primitives/radii.d.ts +13 -0
  512. package/dist/Theme/tokens/primitives/radii.d.ts.map +1 -0
  513. package/dist/Theme/tokens/primitives/radii.js +14 -0
  514. package/dist/Theme/tokens/primitives/shadows.d.ts +16 -0
  515. package/dist/Theme/tokens/primitives/shadows.d.ts.map +1 -0
  516. package/dist/Theme/tokens/primitives/shadows.js +17 -0
  517. package/dist/Theme/tokens/primitives/sizes.d.ts +63 -0
  518. package/dist/Theme/tokens/primitives/sizes.d.ts.map +1 -0
  519. package/dist/Theme/tokens/primitives/sizes.js +39 -0
  520. package/dist/Theme/tokens/primitives/space.d.ts +34 -0
  521. package/dist/Theme/tokens/primitives/space.d.ts.map +1 -0
  522. package/dist/Theme/tokens/primitives/space.js +35 -0
  523. package/dist/Theme/tokens/primitives/typography.d.ts +73 -0
  524. package/dist/Theme/tokens/primitives/typography.d.ts.map +1 -0
  525. package/dist/Theme/tokens/primitives/typography.js +43 -0
  526. package/dist/Theme/tokens/primitives/zIndices.d.ts +17 -0
  527. package/dist/Theme/tokens/primitives/zIndices.d.ts.map +1 -0
  528. package/dist/Theme/tokens/primitives/zIndices.js +18 -0
  529. package/dist/Theme/tokens/types.d.ts +116 -0
  530. package/dist/Theme/tokens/types.d.ts.map +1 -0
  531. package/dist/Theme/tokens/types.js +8 -0
  532. package/dist/Utils/table.d.ts +9 -2
  533. package/dist/Utils/table.d.ts.map +1 -1
  534. package/dist/Utils/table.js +23 -7
  535. package/dist/index.d.ts +10 -0
  536. package/dist/index.d.ts.map +1 -1
  537. package/dist/index.js +52 -1
  538. package/eslint.config.js +48 -0
  539. package/index.html +13 -0
  540. package/package.json +1 -5
  541. package/vite.config.ts +13 -0
@@ -41,6 +41,7 @@ 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 accentText_1 = require("../../Theme/tokens/builders/accentText");
44
45
  const EmptyState_1 = __importDefault(require("../EmptyState/EmptyState"));
45
46
  const AddUserModal_1 = __importDefault(require("./AddUserModal"));
46
47
  const ChangeRoleModal_1 = __importDefault(require("./ChangeRoleModal"));
@@ -83,7 +84,7 @@ const DEFAULT_LABELS = {
83
84
  deactivateConfirmDescription: "will no longer have access to the organization. You can reactivate them later if needed.",
84
85
  };
85
86
  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;
87
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
87
88
  const { colors } = (0, useCustomTheme_1.useCustomTheme)();
88
89
  const labels = (0, react_1.useMemo)(() => ({ ...DEFAULT_LABELS, ...labelOverrides }), [labelOverrides]);
89
90
  const { isOpen: isAddUserOpen, onOpen: onAddUserOpen, onClose: onAddUserClose, } = (0, react_2.useDisclosure)();
@@ -91,9 +92,15 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
91
92
  const { isOpen: isConfirmOpen, onOpen: onConfirmOpen, onClose: onConfirmClose, } = (0, react_2.useDisclosure)();
92
93
  const [actionUserId, setActionUserId] = (0, react_1.useState)(null);
93
94
  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";
95
+ 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";
96
+ 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";
97
+ 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";
98
+ 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";
99
+ // Picked dynamically against `avatarBg` rather than a fixed [600] rung — a fixed rung falls
100
+ // short of AA (4.27) for some brands' primary scale in dark mode.
101
+ const avatarColor = (colors === null || colors === void 0 ? void 0 : colors.primary)
102
+ ? (0, accentText_1.accentTextOnCanvas)(colors.primary, avatarBg)
103
+ : "#4F46E5";
97
104
  const successScheme = "green";
98
105
  const dangerScheme = "red";
99
106
  const handleDeactivateConfirm = () => {
@@ -102,15 +109,15 @@ const UserDetails = ({ users, selectedUser, selectedUserId, roleOptions = [], ca
102
109
  onConfirmClose();
103
110
  };
104
111
  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;
112
+ 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) => {
113
+ var _a, _b, _c, _d, _e, _f, _g, _h;
107
114
  const isSelected = selectedUserId != null && selectedUserId === user.id;
108
115
  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
116
  background: isSelected
110
117
  ? (_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
118
  : (_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 &&
119
+ }, 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));
120
+ }) })) })] }), (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
121
  !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
122
  (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
123
  if (selectedUser.userId != null) {
@@ -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,7 @@ 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
+ const theme = (0, useCustomTheme_1.useCustomTheme)();
27
29
  const [open, setOpen] = (0, react_1.useState)(false);
28
30
  const openTimer = (0, react_1.useRef)(null);
29
31
  const closeTimer = (0, react_1.useRef)(null);
@@ -77,7 +79,7 @@ function WorkspaceTrayPreview({ children, preview, enabled = true, openDelayMs =
77
79
  e.stopPropagation();
78
80
  closeNow();
79
81
  }
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"
82
+ }, 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: "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"
81
83
  ? preview({ close: closeNow })
82
84
  : preview }))] }));
83
85
  }
@@ -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,aAAa,EACb,MAA2B,GAC5B,EAAE,oBAAoB,kDAyGtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAyB,GAC1B,EAAE,kBAAkB,kDAkEpB"}
@@ -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.
@@ -17,13 +18,16 @@ const WINDOW_SIZE = { maxW: "88rem", h: "92vh" };
17
18
  * minimized windows with the companion WorkspaceTray.
18
19
  */
19
20
  function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, headerActions, testId = "workspace-window", }) {
21
+ // Must run before the early return: a minimized render would otherwise skip the hook
22
+ // and change hook order when the window reopens.
23
+ const theme = (0, useCustomTheme_1.useCustomTheme)();
20
24
  if (state === "minimized")
21
25
  return null;
22
26
  const size = WINDOW_SIZE;
23
27
  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
28
  // Don't discard unsaved work on an accidental overlay click / Esc — the
25
29
  // 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 })] }) })] }));
30
+ 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: 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: "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 })] }) })] }));
27
31
  }
28
32
  /**
29
33
  * Bottom tray of restore pills for minimized WorkspaceWindows. Presentational —
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Web (Chakra) assembly of the pure primitives. `config.cssVarPrefix` is a Chakra
3
+ * concern, which is why this assembly lives here and not in `tokens/`.
4
+ */
5
+ declare const common: {
6
+ lineHeights: {
7
+ normal: string;
8
+ none: number;
9
+ shorter: number;
10
+ short: number;
11
+ base: number;
12
+ tall: number;
13
+ taller: string;
14
+ "3": string;
15
+ "4": string;
16
+ "5": string;
17
+ "6": string;
18
+ "7": string;
19
+ "8": string;
20
+ "9": string;
21
+ "10": string;
22
+ };
23
+ letterSpacings: {
24
+ tighter: string;
25
+ tight: string;
26
+ normal: string;
27
+ wide: string;
28
+ wider: string;
29
+ widest: string;
30
+ };
31
+ space: {
32
+ px: string;
33
+ 0: string;
34
+ 1: string;
35
+ 2: string;
36
+ 3: string;
37
+ 4: string;
38
+ 5: string;
39
+ 6: string;
40
+ 7: string;
41
+ 8: string;
42
+ 9: string;
43
+ 10: string;
44
+ 12: string;
45
+ 14: string;
46
+ 16: string;
47
+ 20: string;
48
+ 24: string;
49
+ 28: string;
50
+ 32: string;
51
+ 36: string;
52
+ 40: string;
53
+ 44: string;
54
+ 48: string;
55
+ 52: string;
56
+ 56: string;
57
+ 60: string;
58
+ 64: string;
59
+ 72: string;
60
+ 80: string;
61
+ 96: string;
62
+ };
63
+ sizes: {
64
+ full: string;
65
+ screenW: string;
66
+ screenH: string;
67
+ max: string;
68
+ min: string;
69
+ "3xs": string;
70
+ "2xs": string;
71
+ xs: string;
72
+ sm: string;
73
+ md: string;
74
+ lg: string;
75
+ xl: string;
76
+ "2xl": string;
77
+ "3xl": string;
78
+ "4xl": string;
79
+ "5xl": string;
80
+ "6xl": string;
81
+ "7xl": string;
82
+ "8xl": string;
83
+ container: {
84
+ sm: string;
85
+ md: string;
86
+ lg: string;
87
+ xl: string;
88
+ };
89
+ px: string;
90
+ 0: string;
91
+ 1: string;
92
+ 2: string;
93
+ 3: string;
94
+ 4: string;
95
+ 5: string;
96
+ 6: string;
97
+ 7: string;
98
+ 8: string;
99
+ 9: string;
100
+ 10: string;
101
+ 12: string;
102
+ 14: string;
103
+ 16: string;
104
+ 20: string;
105
+ 24: string;
106
+ 28: string;
107
+ 32: string;
108
+ 36: string;
109
+ 40: string;
110
+ 44: string;
111
+ 48: string;
112
+ 52: string;
113
+ 56: string;
114
+ 60: string;
115
+ 64: string;
116
+ 72: string;
117
+ 80: string;
118
+ 96: string;
119
+ };
120
+ breakpoints: {
121
+ sm: string;
122
+ md: string;
123
+ lg: string;
124
+ xl: string;
125
+ "2xl": string;
126
+ };
127
+ shadows: {
128
+ xs: string;
129
+ sm: string;
130
+ base: string;
131
+ md: string;
132
+ lg: string;
133
+ xl: string;
134
+ "2xl": string;
135
+ outline: string;
136
+ inner: string;
137
+ none: string;
138
+ darkLg: string;
139
+ };
140
+ radii: {
141
+ none: string;
142
+ sm: string;
143
+ base: string;
144
+ md: string;
145
+ lg: string;
146
+ xl: string;
147
+ "2xl": string;
148
+ "3xl": string;
149
+ full: string;
150
+ };
151
+ zIndices: {
152
+ hide: number;
153
+ auto: string;
154
+ base: number;
155
+ docked: number;
156
+ dropdown: number;
157
+ sticky: number;
158
+ banner: number;
159
+ overlay: number;
160
+ modal: number;
161
+ popover: number;
162
+ skipLink: number;
163
+ toast: number;
164
+ tooltip: number;
165
+ };
166
+ config: {
167
+ cssVarPrefix: string;
168
+ };
169
+ };
170
+ export default common;
171
+ //# sourceMappingURL=common.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.web.d.ts","sourceRoot":"","sources":["../../../src/Theme/chakra/common.web.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const primitives_1 = require("../tokens/primitives");
4
+ /**
5
+ * Web (Chakra) assembly of the pure primitives. `config.cssVarPrefix` is a Chakra
6
+ * concern, which is why this assembly lives here and not in `tokens/`.
7
+ */
8
+ const common = {
9
+ lineHeights: primitives_1.lineHeights,
10
+ letterSpacings: primitives_1.letterSpacings,
11
+ space: primitives_1.space,
12
+ sizes: primitives_1.sizes,
13
+ breakpoints: primitives_1.breakpoints,
14
+ shadows: primitives_1.shadows,
15
+ radii: primitives_1.radii,
16
+ zIndices: primitives_1.zIndices,
17
+ config: {
18
+ cssVarPrefix: "ck",
19
+ },
20
+ };
21
+ exports.default = common;
@@ -0,0 +1,13 @@
1
+ import { ComponentStyleConfig } from "@chakra-ui/react";
2
+ export declare const componentStyles: {
3
+ Checkbox: ComponentStyleConfig;
4
+ Input: ComponentStyleConfig;
5
+ Button: ComponentStyleConfig;
6
+ Select: ComponentStyleConfig;
7
+ Tag: import("@chakra-ui/react").ComponentMultiStyleConfig;
8
+ Textarea: ComponentStyleConfig;
9
+ NumberInput: ComponentStyleConfig;
10
+ Badge: import("@chakra-ui/react").ComponentSingleStyleConfig;
11
+ FormError: import("@chakra-ui/react").ComponentSingleStyleConfig;
12
+ };
13
+ //# sourceMappingURL=componentStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentStyles.d.ts","sourceRoot":"","sources":["../../../src/Theme/chakra/componentStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,kBAAkB,CAAC;AA2E5E,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.componentStyles = void 0;
4
+ const Button_styles_1 = require("../../Components/Button/Button.styles");
5
+ const Checkbox_styles_1 = require("../../Components/Checkbox/Checkbox.styles");
6
+ const TextInput_styles_1 = require("../../Components/Input/TextInput.styles");
7
+ const Select_styles_1 = require("../../Components/Select/Select.styles");
8
+ const Tag_styles_1 = require("../../Components/Tag/Tag.styles");
9
+ const InputTextArea_style_1 = require("../../Components/InputTextArea/InputTextArea.style");
10
+ const NumberInput_styles_1 = require("../../Components/NumberInput/NumberInput.styles");
11
+ const accentText_1 = require("../tokens/builders/accentText");
12
+ const color_1 = require("../tokens/builders/color");
13
+ // `colorScheme` accepts any Chakra scale, including built-ins we never themed (blackAlpha,
14
+ // whiteAlpha) whose rungs are translucent `rgba(...)` strings, not opaque hex — our contrast
15
+ // math (hexToRgb) throws on those on purpose (see color.ts). Guard so those scales fall back to
16
+ // Chakra's own original fixed rung instead of computing contrast on a color it can't parse.
17
+ const isHexColor = (color) => typeof color === "string" && /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(color);
18
+ // Badge isn't its own component family (no Components/Badge/), so its style config lives here —
19
+ // Chakra's stock `solid` variant hardcodes a white label on a variable fill, same AA gap Tag had.
20
+ const Badge = {
21
+ variants: {
22
+ solid: ({ theme, colorScheme = "gray" }) => {
23
+ var _a, _b, _c, _d, _e, _f, _g, _h;
24
+ const swatch = (_d = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a[colorScheme]) !== null && _b !== void 0 ? _b : (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.gray) !== null && _d !== void 0 ? _d : {};
25
+ const bg = swatch === null || swatch === void 0 ? void 0 : swatch[500];
26
+ const white = (_f = (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.white) !== null && _f !== void 0 ? _f : "#fff";
27
+ const black = (_h = (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.black) !== null && _h !== void 0 ? _h : "#000";
28
+ return {
29
+ bg,
30
+ color: isHexColor(bg) ? (0, accentText_1.onFilled)(bg, white, black) : swatch === null || swatch === void 0 ? void 0 : swatch[800],
31
+ };
32
+ },
33
+ // Chakra's stock `subtle` picks its bg/color pair via `mode()`, keyed to Chakra's own
34
+ // colorMode — which this app never toggles (dark mode swaps the palette object instead), so
35
+ // it always takes the light-mode branch. Applied to our mode-reversed dark scales, that
36
+ // branch's fixed rung pair (100/800) measures 4.06 in dark mode, just under AA.
37
+ subtle: ({ theme, colorScheme = "gray" }) => {
38
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
39
+ const swatch = (_d = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a[colorScheme]) !== null && _b !== void 0 ? _b : (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.gray) !== null && _d !== void 0 ? _d : {};
40
+ const bg = (_e = swatch === null || swatch === void 0 ? void 0 : swatch[100]) !== null && _e !== void 0 ? _e : swatch === null || swatch === void 0 ? void 0 : swatch[50];
41
+ if (!isHexColor(bg))
42
+ return { bg, color: swatch === null || swatch === void 0 ? void 0 : swatch[800] };
43
+ // accentTextOnCanvas keeps brand hue by trying this scale's own rungs first, but some
44
+ // narrow-gamut hues (e.g. yellow) don't reach far enough at either end to clear AA against
45
+ // every bg they can land on in dark mode (measured 4.42 for a reversed-yellow badge) — its
46
+ // own doc admits it falls back to "the most extreme rung" rather than guaranteeing AA. Verify
47
+ // the candidate actually clears AA; if not, drop brand hue for the guaranteed white/black ink
48
+ // (onFilled is provably >=4.5 against any bg) rather than ship a near-miss.
49
+ const accent = (0, accentText_1.accentTextOnCanvas)(swatch, bg);
50
+ if ((0, color_1.contrastRatio)(accent, bg) >= 4.5)
51
+ return { bg, color: accent };
52
+ const white = (_g = (_f = theme.colors) === null || _f === void 0 ? void 0 : _f.white) !== null && _g !== void 0 ? _g : "#fff";
53
+ const black = (_j = (_h = theme.colors) === null || _h === void 0 ? void 0 : _h.black) !== null && _j !== void 0 ? _j : "#000";
54
+ return { bg, color: (0, accentText_1.onFilled)(bg, white, black) };
55
+ },
56
+ },
57
+ defaultProps: {
58
+ variant: "subtle",
59
+ colorScheme: "gray",
60
+ },
61
+ };
62
+ // Chakra's stock FormErrorMessage hardcodes `colors.red.500` (our own `red[500]`, since
63
+ // `createBrandTheme` sets `theme.colors = palette`) — same AA gap as our own ErrorMessage/
64
+ // ErrorComponent, fixed the same way rather than leaving Chakra's raw usage (e.g. FeedbackForm)
65
+ // unfixed.
66
+ const FormError = {
67
+ baseStyle: ({ theme }) => {
68
+ var _a, _b, _c, _d;
69
+ // `icon` (FormErrorIcon) shares the same AA gap as `text` — both must be fixed together or
70
+ // the icon stays on Chakra's raw `red.500`.
71
+ const color = (0, accentText_1.accentTextOnCanvas)((_a = theme.colors) === null || _a === void 0 ? void 0 : _a.red, (_d = (_c = (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.backgroundColor) === null || _c === void 0 ? void 0 : _c.main) !== null && _d !== void 0 ? _d : "#ffffff");
72
+ return {
73
+ text: { color },
74
+ icon: { color },
75
+ };
76
+ },
77
+ };
78
+ exports.componentStyles = {
79
+ Checkbox: Checkbox_styles_1.Checkbox,
80
+ Input: TextInput_styles_1.Input,
81
+ Button: Button_styles_1.Button,
82
+ Select: Select_styles_1.Select,
83
+ Tag: Tag_styles_1.Tag,
84
+ Textarea: InputTextArea_style_1.Textarea,
85
+ NumberInput: NumberInput_styles_1.NumberInput,
86
+ Badge,
87
+ FormError,
88
+ };
@@ -0,0 +1,18 @@
1
+ import type { PaletteProps, ResolvedColorMode } from "../tokens/types";
2
+ export interface CreateBrandThemeOptions {
3
+ /** Which palette this theme represents. Defaults to `light`. */
4
+ colorMode?: ResolvedColorMode;
5
+ }
6
+ /**
7
+ * Builds a Chakra theme from a pure brand palette.
8
+ *
9
+ * Replaces the seven byte-identical `<Brand>/theme.ts` files — they differed only in
10
+ * which palette they imported.
11
+ *
12
+ * Dark mode works by swapping which palette the theme carries: `componentStyles` variants
13
+ * are functions of `({ theme })` and `useCustomTheme()` reads `theme.colors`, so both follow
14
+ * the palette automatically without any per-component `_dark` overrides.
15
+ */
16
+ export declare const createBrandTheme: (palette: PaletteProps, options?: CreateBrandThemeOptions) => Record<string, any>;
17
+ export default createBrandTheme;
18
+ //# sourceMappingURL=createBrandTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBrandTheme.d.ts","sourceRoot":"","sources":["../../../src/Theme/chakra/createBrandTheme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMvE,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,YAAY,EACrB,UAAS,uBAA4B,wBAwDtC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createBrandTheme = void 0;
7
+ const react_1 = require("@chakra-ui/react");
8
+ const common_web_1 = __importDefault(require("./common.web"));
9
+ const fonts_web_1 = __importDefault(require("./fonts.web"));
10
+ const componentStyles_1 = require("./componentStyles");
11
+ /**
12
+ * Builds a Chakra theme from a pure brand palette.
13
+ *
14
+ * Replaces the seven byte-identical `<Brand>/theme.ts` files — they differed only in
15
+ * which palette they imported.
16
+ *
17
+ * Dark mode works by swapping which palette the theme carries: `componentStyles` variants
18
+ * are functions of `({ theme })` and `useCustomTheme()` reads `theme.colors`, so both follow
19
+ * the palette automatically without any per-component `_dark` overrides.
20
+ */
21
+ const createBrandTheme = (palette, options = {}) => {
22
+ var _a;
23
+ const colorMode = (_a = options.colorMode) !== null && _a !== void 0 ? _a : "light";
24
+ const brand = {
25
+ colors: palette,
26
+ ...fonts_web_1.default,
27
+ ...common_web_1.default,
28
+ };
29
+ return (0, react_1.extendTheme)({
30
+ ...brand,
31
+ config: {
32
+ ...common_web_1.default.config,
33
+ // Deliberately ALWAYS "light", even for the dark theme — this is not a bug.
34
+ //
35
+ // Dark works by swapping the palette, so the palette is ALREADY mode-adapted by the time
36
+ // Chakra sees it. Telling Chakra it is in dark mode makes it adapt a second time: its
37
+ // built-ins carry `_dark` blocks that reach for `gray.700`/`gray.800` assuming a scale where
38
+ // those rungs are dark. Our dark gray ramp runs dark -> light, so those rungs are LIGHT —
39
+ // producing a light Card/Skeleton/Menu on a dark canvas. Adapting twice cancels out.
40
+ //
41
+ // Keeping Chakra on its `_light` branch is what makes the swap work: those defaults are
42
+ // gray-RUNG references (`gray.100`, `gray.200`, `gray.600`), and our reversed ramp already
43
+ // maps each rung to the right value per mode. `semanticTokens` below patches the one default
44
+ // that hardcodes a literal color instead of a rung.
45
+ initialColorMode: "light",
46
+ useSystemColorMode: false,
47
+ },
48
+ // `chakra-body-bg` is the only stock semantic token that resolves to a LITERAL (`white`)
49
+ // rather than a gray rung, so it is the only one the palette swap cannot correct on its own —
50
+ // it is what paints a white Card/Modal/Menu on the dark canvas. `background[50]` is the
51
+ // canvas-following equivalent: byte-identical `#ffffff` in light, the canvas in dark.
52
+ // `chakra-inverse-text` is the same literal-`white` problem in text form.
53
+ semanticTokens: {
54
+ colors: {
55
+ "chakra-body-bg": palette.background[50],
56
+ "chakra-inverse-text": palette.background[50],
57
+ },
58
+ },
59
+ // Light themes intentionally declare no global styles — that is the pre-existing
60
+ // behavior, and adding any would shift every consuming app's light rendering.
61
+ // Dark needs a canvas, otherwise the page stays white behind the components.
62
+ ...(colorMode === "dark"
63
+ ? {
64
+ styles: {
65
+ global: {
66
+ body: {
67
+ bg: palette.backgroundColor.main,
68
+ color: palette.text[900],
69
+ },
70
+ },
71
+ },
72
+ }
73
+ : {}),
74
+ components: componentStyles_1.componentStyles,
75
+ });
76
+ };
77
+ exports.createBrandTheme = createBrandTheme;
78
+ exports.default = exports.createBrandTheme;
@@ -0,0 +1,42 @@
1
+ /** Self-hosted Inter Variable (wght 100–900); required for theme fontWeights to render correctly. */
2
+ import "@fontsource-variable/inter/index.css";
3
+ /**
4
+ * Web font binding: loads the Inter font face (CSS side-effect) and re-exports the pure
5
+ * typography tokens. The CSS import lives here rather than in `tokens/` so the token
6
+ * layer stays portable to mobile.
7
+ */
8
+ declare const fonts: {
9
+ fonts: {
10
+ body: string;
11
+ heading: string;
12
+ mono: string;
13
+ };
14
+ fontSizes: {
15
+ xs: string;
16
+ sm: string;
17
+ md: string;
18
+ lg: string;
19
+ xl: string;
20
+ "2xl": string;
21
+ "3xl": string;
22
+ "4xl": string;
23
+ "5xl": string;
24
+ "6xl": string;
25
+ "7xl": string;
26
+ "8xl": string;
27
+ "9xl": string;
28
+ };
29
+ fontWeights: {
30
+ hairline: number;
31
+ thin: number;
32
+ light: number;
33
+ normal: number;
34
+ medium: number;
35
+ semibold: number;
36
+ bold: number;
37
+ extrabold: number;
38
+ black: number;
39
+ };
40
+ };
41
+ export default fonts;
42
+ //# sourceMappingURL=fonts.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.web.d.ts","sourceRoot":"","sources":["../../../src/Theme/chakra/fonts.web.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,sCAAsC,CAAC;AAG9C;;;;GAIG;AACH,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC;AAEzB,eAAe,KAAK,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /** Self-hosted Inter Variable (wght 100–900); required for theme fontWeights to render correctly. */
7
+ require("@fontsource-variable/inter/index.css");
8
+ const typography_1 = __importDefault(require("../tokens/primitives/typography"));
9
+ /**
10
+ * Web font binding: loads the Inter font face (CSS side-effect) and re-exports the pure
11
+ * typography tokens. The CSS import lives here rather than in `tokens/` so the token
12
+ * layer stays portable to mobile.
13
+ */
14
+ const fonts = typography_1.default;
15
+ exports.default = fonts;