pixelize-design-library 2.3.22 → 2.4.1-beta.2
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.
- package/.claude/settings.local.json +51 -0
- package/.cursor/TASK-SETUP.md +43 -0
- package/.cursor/agents/be-impl.md +37 -0
- package/.cursor/agents/fe-impl.md +39 -0
- package/.cursor/agents/task-plan.md +56 -0
- package/.cursor/agents/test-create.md +31 -0
- package/.cursor/agents/test-exec.md +26 -0
- package/.cursor/hooks/task-hint.env +1 -0
- package/.cursor/hooks/task-skill-nudge.sh +71 -0
- package/.cursor/hooks/task-slash-guard.sh +31 -0
- package/.cursor/hooks.json +13 -0
- package/.cursor/modules/account-management/MODULE.md +41 -0
- package/.cursor/modules/buttons/MODULE.md +47 -0
- package/.cursor/modules/cards/MODULE.md +55 -0
- package/.cursor/modules/charts/MODULE.md +40 -0
- package/.cursor/modules/common/MODULE.md +36 -0
- package/.cursor/modules/contact-auth/MODULE.md +19 -0
- package/.cursor/modules/data-display/MODULE.md +42 -0
- package/.cursor/modules/feedback/MODULE.md +38 -0
- package/.cursor/modules/form/MODULE.md +13 -0
- package/.cursor/modules/inputs-basic/MODULE.md +42 -0
- package/.cursor/modules/inputs-date-file/MODULE.md +67 -0
- package/.cursor/modules/inputs-select/MODULE.md +89 -0
- package/.cursor/modules/inputs-toggle/MODULE.md +24 -0
- package/.cursor/modules/kanban/MODULE.md +22 -0
- package/.cursor/modules/layout-navigation/MODULE.md +319 -0
- package/.cursor/modules/overlays/MODULE.md +82 -0
- package/.cursor/modules/playground/MODULE.md +28 -0
- package/.cursor/modules/table/MODULE.md +84 -0
- package/.cursor/modules/theme/MODULE.md +431 -0
- package/.cursor/modules/types-exports/MODULE.md +17 -0
- package/.cursor/modules/utility-ui/MODULE.md +50 -0
- package/.cursor/modules/utils-hooks/MODULE.md +35 -0
- package/.cursor/pixelize-task-statusline.sh +64 -0
- package/.cursor/plans/blocked/.gitkeep +0 -0
- package/.cursor/plans/current.md +12 -0
- package/.cursor/plans/current.theme-tokens-dark-mode.md +77 -0
- package/.cursor/plans/current.theme-tokens-dark.md +155 -0
- package/.cursor/plans/done/.gitkeep +0 -0
- package/.cursor/rules +31 -0
- package/.cursor/skills/task/SKILL.md +167 -0
- package/CLAUDE.md +148 -0
- package/README.md +77 -10
- package/__mocks__/styleMock.js +8 -0
- package/coverage/clover.xml +405 -0
- package/coverage/coverage-final.json +16 -0
- package/coverage/coverage-summary.json +50 -0
- package/coverage/lcov-report/Button/Button.tsx.html +244 -0
- package/coverage/lcov-report/Button/index.html +116 -0
- package/coverage/lcov-report/Checkbox/Checkbox.tsx.html +433 -0
- package/coverage/lcov-report/Checkbox/index.html +116 -0
- package/coverage/lcov-report/Common/ErrorMessage.tsx.html +148 -0
- package/coverage/lcov-report/Common/FormLabel.tsx.html +331 -0
- package/coverage/lcov-report/Common/HelperText.tsx.html +124 -0
- package/coverage/lcov-report/Common/index.html +146 -0
- package/coverage/lcov-report/Components/Button/Button.tsx.html +244 -0
- package/coverage/lcov-report/Components/Button/index.html +116 -0
- package/coverage/lcov-report/Components/Checkbox/Checkbox.tsx.html +433 -0
- package/coverage/lcov-report/Components/Checkbox/index.html +116 -0
- package/coverage/lcov-report/Components/Common/ErrorMessage.tsx.html +148 -0
- package/coverage/lcov-report/Components/Common/FormLabel.tsx.html +331 -0
- package/coverage/lcov-report/Components/Common/HelperText.tsx.html +124 -0
- package/coverage/lcov-report/Components/Common/index.html +146 -0
- package/coverage/lcov-report/Components/CustomModulesTable/CustomModulesTable.tsx.html +712 -0
- package/coverage/lcov-report/Components/CustomModulesTable/DeleteModuleModal.tsx.html +343 -0
- package/coverage/lcov-report/Components/CustomModulesTable/EditModuleModal.tsx.html +313 -0
- package/coverage/lcov-report/Components/CustomModulesTable/index.html +146 -0
- package/coverage/lcov-report/Components/Divider/Divider.tsx.html +133 -0
- package/coverage/lcov-report/Components/Divider/index.html +116 -0
- package/coverage/lcov-report/Components/Dropdown/DropDown.tsx.html +994 -0
- package/coverage/lcov-report/Components/Dropdown/index.html +116 -0
- package/coverage/lcov-report/Components/EmptyState/EmptyState.tsx.html +466 -0
- package/coverage/lcov-report/Components/EmptyState/index.html +116 -0
- package/coverage/lcov-report/Components/Header/HeaderActions.tsx.html +373 -0
- package/coverage/lcov-report/Components/Header/index.html +116 -0
- package/coverage/lcov-report/Components/Input/TextInput.tsx.html +487 -0
- package/coverage/lcov-report/Components/Input/index.html +116 -0
- package/coverage/lcov-report/Components/Input/textInputIconSize.ts.html +205 -0
- package/coverage/lcov-report/Components/KanbanBoard/AccountCard.tsx.html +547 -0
- package/coverage/lcov-report/Components/KanbanBoard/AccountRow.tsx.html +190 -0
- package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/KanbanActions.tsx.html +247 -0
- package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/index.html +116 -0
- package/coverage/lcov-report/Components/KanbanBoard/KanbanBoard.tsx.html +3598 -0
- package/coverage/lcov-report/Components/KanbanBoard/MeasuredItem.tsx.html +283 -0
- package/coverage/lcov-report/Components/KanbanBoard/index.html +161 -0
- package/coverage/lcov-report/Components/OrganizationDetails/CreateOrgModal.tsx.html +511 -0
- package/coverage/lcov-report/Components/OrganizationDetails/DeleteOrgModal.tsx.html +334 -0
- package/coverage/lcov-report/Components/OrganizationDetails/OrganizationDetails.tsx.html +1519 -0
- package/coverage/lcov-report/Components/OrganizationDetails/index.html +146 -0
- package/coverage/lcov-report/Components/RolesPermission/DeleteRoleModal.tsx.html +328 -0
- package/coverage/lcov-report/Components/RolesPermission/RolesPermission.tsx.html +1732 -0
- package/coverage/lcov-report/Components/RolesPermission/index.html +131 -0
- package/coverage/lcov-report/Components/SearchSelect/SearchSelect.tsx.html +2575 -0
- package/coverage/lcov-report/Components/SearchSelect/SelectTruncatedLabel.tsx.html +202 -0
- package/coverage/lcov-report/Components/SearchSelect/index.html +146 -0
- package/coverage/lcov-report/Components/SearchSelect/searchSelectSize.ts.html +496 -0
- package/coverage/lcov-report/Components/Select/Select.tsx.html +361 -0
- package/coverage/lcov-report/Components/Select/index.html +116 -0
- package/coverage/lcov-report/Components/SideBar/components/OtherApps.tsx.html +562 -0
- package/coverage/lcov-report/Components/SideBar/components/OverflowTooltipText.tsx.html +346 -0
- package/coverage/lcov-report/Components/SideBar/components/index.html +116 -0
- package/coverage/lcov-report/Components/SignInActivityTable/SignInActivityTable.tsx.html +490 -0
- package/coverage/lcov-report/Components/SignInActivityTable/index.html +116 -0
- package/coverage/lcov-report/Components/Table/components/TableActions.tsx.html +595 -0
- package/coverage/lcov-report/Components/Table/components/TableBody.tsx.html +2212 -0
- package/coverage/lcov-report/Components/Table/components/TableGroupRow.tsx.html +358 -0
- package/coverage/lcov-report/Components/Table/components/TableLoading.tsx.html +358 -0
- package/coverage/lcov-report/Components/Table/components/index.html +161 -0
- package/coverage/lcov-report/Components/Table/settings/ManageColumns.tsx.html +856 -0
- package/coverage/lcov-report/Components/Table/settings/index.html +116 -0
- package/coverage/lcov-report/Components/Tag/Tag.styles.tsx.html +331 -0
- package/coverage/lcov-report/Components/Tag/Tag.tsx.html +256 -0
- package/coverage/lcov-report/Components/Tag/index.html +131 -0
- package/coverage/lcov-report/Components/ToolTip/ToolTip.tsx.html +286 -0
- package/coverage/lcov-report/Components/ToolTip/index.html +116 -0
- package/coverage/lcov-report/Components/UserDetails/AddUserModal.tsx.html +709 -0
- package/coverage/lcov-report/Components/UserDetails/ChangeRoleModal.tsx.html +505 -0
- package/coverage/lcov-report/Components/UserDetails/DeactivateConfirmModal.tsx.html +379 -0
- package/coverage/lcov-report/Components/UserDetails/UserDetails.tsx.html +1900 -0
- package/coverage/lcov-report/Components/UserDetails/index.html +161 -0
- package/coverage/lcov-report/EmptyState/EmptyState.tsx.html +466 -0
- package/coverage/lcov-report/EmptyState/index.html +116 -0
- package/coverage/lcov-report/Hooks/index.html +116 -0
- package/coverage/lcov-report/Hooks/usePreferences.ts.html +421 -0
- package/coverage/lcov-report/Input/TextInput.tsx.html +487 -0
- package/coverage/lcov-report/Input/index.html +131 -0
- package/coverage/lcov-report/Input/textInputIconSize.ts.html +205 -0
- package/coverage/lcov-report/KanbanBoard.tsx.html +3481 -0
- package/coverage/lcov-report/OrganizationDetails/CreateOrgModal.tsx.html +511 -0
- package/coverage/lcov-report/OrganizationDetails/DeleteOrgModal.tsx.html +334 -0
- package/coverage/lcov-report/OrganizationDetails/OrganizationDetails.tsx.html +1519 -0
- package/coverage/lcov-report/OrganizationDetails/index.html +146 -0
- package/coverage/lcov-report/RolesPermission/DeleteRoleModal.tsx.html +328 -0
- package/coverage/lcov-report/RolesPermission/RolesPermission.tsx.html +1732 -0
- package/coverage/lcov-report/RolesPermission/index.html +116 -0
- package/coverage/lcov-report/SearchSelect/SearchSelect.tsx.html +2575 -0
- package/coverage/lcov-report/SearchSelect/SelectTruncatedLabel.tsx.html +202 -0
- package/coverage/lcov-report/SearchSelect/index.html +146 -0
- package/coverage/lcov-report/SearchSelect/searchSelectSize.ts.html +496 -0
- package/coverage/lcov-report/Table/CompactSelect.tsx.html +379 -0
- package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +514 -0
- package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +373 -0
- package/coverage/lcov-report/Table/Components/Pagination.tsx.html +574 -0
- package/coverage/lcov-report/Table/Components/TableActions.tsx.html +574 -0
- package/coverage/lcov-report/Table/Components/TableBody.tsx.html +1027 -0
- package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +397 -0
- package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +1060 -0
- package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +361 -0
- package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +337 -0
- package/coverage/lcov-report/Table/Components/index.html +266 -0
- package/coverage/lcov-report/Table/Components/useDebounce.ts.html +178 -0
- package/coverage/lcov-report/Table/Components/useTable.ts.html +778 -0
- package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +1810 -0
- package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +178 -0
- package/coverage/lcov-report/Table/Table.tsx.html +1567 -0
- package/coverage/lcov-report/Table/TableProps.tsx.html +658 -0
- package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +619 -0
- package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +229 -0
- package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +532 -0
- package/coverage/lcov-report/Table/TableSettings/index.html +146 -0
- package/coverage/lcov-report/Table/TableToDo.tsx.html +973 -0
- package/coverage/lcov-report/Table/TextOperationControls.tsx.html +271 -0
- package/coverage/lcov-report/Table/filterTypes.ts.html +97 -0
- package/coverage/lcov-report/Table/index.html +176 -0
- package/coverage/lcov-report/Table/settings/ManageColumns.tsx.html +856 -0
- package/coverage/lcov-report/Table/settings/index.html +116 -0
- package/coverage/lcov-report/Tag/Tag.tsx.html +256 -0
- package/coverage/lcov-report/Tag/index.html +116 -0
- package/coverage/lcov-report/Theme/buildBrandTokens.ts.html +175 -0
- package/coverage/lcov-report/Theme/chartColorsFromTheme.ts.html +214 -0
- package/coverage/lcov-report/Theme/index.html +131 -0
- package/coverage/lcov-report/Theme/useCustomTheme.ts.html +100 -0
- package/coverage/lcov-report/ToolTip/ToolTip.tsx.html +286 -0
- package/coverage/lcov-report/ToolTip/index.html +116 -0
- package/coverage/lcov-report/UserDetails/AddUserModal.tsx.html +709 -0
- package/coverage/lcov-report/UserDetails/ChangeRoleModal.tsx.html +505 -0
- package/coverage/lcov-report/UserDetails/index.html +116 -0
- package/coverage/lcov-report/Utils/functions.ts.html +106 -0
- package/coverage/lcov-report/Utils/index.html +116 -0
- package/coverage/lcov-report/Utils/table.ts.html +1189 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +251 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov.info +981 -0
- package/dist/App.d.ts +4 -0
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +95 -0
- package/dist/Assets/defaultLogo.d.ts.map +1 -1
- package/dist/Assets/defaultLogo.js +1 -3
- package/dist/Assets/defaultLogo.tsx +26 -0
- package/dist/Components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/Components/Accordion/Accordion.js +15 -12
- package/dist/Components/Accordion/accordionColors.d.ts +6 -0
- package/dist/Components/Accordion/accordionColors.d.ts.map +1 -0
- package/dist/Components/Accordion/accordionColors.js +20 -0
- package/dist/Components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/Components/AlertDialog/AlertDialog.js +4 -1
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.d.ts.map +1 -1
- package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.js +5 -1
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.d.ts.map +1 -1
- package/dist/Components/Apexcharts/ApexLineChart/ApexLineChart.js +6 -4
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts.map +1 -1
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +5 -1
- package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.d.ts.map +1 -1
- package/dist/Components/Apexcharts/ApexPolarCharts/ApexPolarCharts.js +5 -1
- package/dist/Components/Button/Button.styles.d.ts.map +1 -1
- package/dist/Components/Button/Button.styles.js +100 -47
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts.map +1 -1
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +11 -3
- package/dist/Components/Card/PaymentCard/PaymentCard.d.ts.map +1 -1
- package/dist/Components/Card/PaymentCard/PaymentCard.js +17 -12
- package/dist/Components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/Components/Checkbox/Checkbox.js +2 -1
- package/dist/Components/Common/ErrorComponent.d.ts.map +1 -1
- package/dist/Components/Common/ErrorComponent.js +7 -3
- package/dist/Components/Common/ErrorMessage.d.ts.map +1 -1
- package/dist/Components/Common/ErrorMessage.js +7 -1
- package/dist/Components/Common/FormLabel.d.ts.map +1 -1
- package/dist/Components/Common/FormLabel.js +7 -1
- package/dist/Components/Common/Label.d.ts.map +1 -1
- package/dist/Components/Common/Label.js +4 -2
- package/dist/Components/Common/fieldStyles.d.ts.map +1 -1
- package/dist/Components/Common/fieldStyles.js +3 -1
- package/dist/Components/CopyButton/CopyButton.d.ts.map +1 -1
- package/dist/Components/CopyButton/CopyButton.js +14 -6
- package/dist/Components/CustomModulesTable/CustomModulesTable.d.ts.map +1 -1
- package/dist/Components/CustomModulesTable/CustomModulesTable.js +9 -6
- package/dist/Components/CustomModulesTable/DeleteModuleModal.d.ts.map +1 -1
- package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
- package/dist/Components/CustomModulesTable/EditModuleModal.d.ts.map +1 -1
- package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -2
- package/dist/Components/DatePicker/CalendarPanel.d.ts.map +1 -1
- package/dist/Components/DatePicker/CalendarPanel.js +13 -4
- package/dist/Components/DatePicker/DatePicker.js +1 -1
- package/dist/Components/DatePicker/RangeDatePicker.d.ts.map +1 -1
- package/dist/Components/DatePicker/RangeDatePicker.js +1 -1
- package/dist/Components/DatePicker/SingleDatePicker.d.ts.map +1 -1
- package/dist/Components/DatePicker/SingleDatePicker.js +11 -9
- package/dist/Components/DatePicker/TimeOnlyPicker.d.ts.map +1 -1
- package/dist/Components/DatePicker/TimeOnlyPicker.js +5 -3
- package/dist/Components/DatePicker/TimePicker.d.ts.map +1 -1
- package/dist/Components/DatePicker/TimePicker.js +14 -2
- package/dist/Components/DatePicker/TimePickerInput.d.ts.map +1 -1
- package/dist/Components/DatePicker/TimePickerInput.js +9 -1
- package/dist/Components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/Components/Drawer/Drawer.js +4 -1
- package/dist/Components/Dropdown/DropDown.js +5 -5
- package/dist/Components/Editor/Editor.d.ts.map +1 -1
- package/dist/Components/Editor/Editor.js +32 -2
- package/dist/Components/Editor/joditThemeVars.d.ts +21 -0
- package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -0
- package/dist/Components/Editor/joditThemeVars.js +70 -0
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.d.ts.map +1 -1
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +5 -1
- package/dist/Components/EmptyState/EmptyState.js +3 -3
- package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts.map +1 -1
- package/dist/Components/FieldSelectModal/FieldSelectModal.js +4 -2
- package/dist/Components/FilePreview/FilePreview.d.ts.map +1 -1
- package/dist/Components/FilePreview/FilePreview.js +7 -1
- package/dist/Components/FileUpload/FileUpload.js +4 -4
- package/dist/Components/FileUploader/FileUploader.d.ts.map +1 -1
- package/dist/Components/FileUploader/FileUploader.js +7 -2
- package/dist/Components/FilterSidebar/FilterSidebar.d.ts.map +1 -1
- package/dist/Components/FilterSidebar/FilterSidebar.js +166 -142
- package/dist/Components/FilterSidebar/filterHoverStyle.d.ts +12 -0
- package/dist/Components/FilterSidebar/filterHoverStyle.d.ts.map +1 -0
- package/dist/Components/FilterSidebar/filterHoverStyle.js +14 -0
- package/dist/Components/Form/FormWrapper.js +2 -2
- package/dist/Components/Header/Header.d.ts +17 -0
- package/dist/Components/Header/Header.d.ts.map +1 -1
- package/dist/Components/Header/Header.js +34 -6
- package/dist/Components/Header/HeaderActions.d.ts.map +1 -1
- package/dist/Components/Header/HeaderActions.js +3 -2
- package/dist/Components/Header/components/desktopMenu.d.ts.map +1 -1
- package/dist/Components/Header/components/desktopMenu.js +21 -5
- package/dist/Components/Input/Input/Input.d.ts.map +1 -1
- package/dist/Components/Input/Input/Input.js +6 -2
- package/dist/Components/Input/Switch/InputSwitch.d.ts.map +1 -1
- package/dist/Components/Input/Switch/InputSwitch.js +4 -2
- package/dist/Components/Input/TextInput.styles.d.ts.map +1 -1
- package/dist/Components/Input/TextInput.styles.js +6 -1
- package/dist/Components/InputTextArea/InputTextArea.style.d.ts.map +1 -1
- package/dist/Components/InputTextArea/InputTextArea.style.js +4 -1
- package/dist/Components/KanbanBoard/AccountCard.js +4 -4
- package/dist/Components/LazyWrapper/LazyWrapper.js +1 -2
- package/dist/Components/Modal/Modal.d.ts.map +1 -1
- package/dist/Components/Modal/Modal.js +4 -1
- package/dist/Components/MoreItems/MoreItems.d.ts.map +1 -1
- package/dist/Components/MoreItems/MoreItems.js +10 -4
- package/dist/Components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/Components/MultiSelect/MultiSelect.js +5 -2
- package/dist/Components/NavigationBar/NavigationBar.d.ts.map +1 -1
- package/dist/Components/NavigationBar/NavigationBar.js +8 -2
- package/dist/Components/NoteTextArea/NoteTextArea.d.ts.map +1 -1
- package/dist/Components/NoteTextArea/NoteTextArea.js +5 -2
- package/dist/Components/Notification/Notification.d.ts.map +1 -1
- package/dist/Components/Notification/Notification.js +9 -5
- package/dist/Components/NumberInput/NumberInput.styles.d.ts.map +1 -1
- package/dist/Components/NumberInput/NumberInput.styles.js +4 -1
- package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts.map +1 -1
- package/dist/Components/OrgSwitcher/OrgSwitcher.js +14 -7
- package/dist/Components/OrganizationDetails/CreateOrgModal.d.ts.map +1 -1
- package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -1
- package/dist/Components/OrganizationDetails/DeleteOrgModal.js +2 -2
- package/dist/Components/OrganizationDetails/OrganizationDetails.js +11 -11
- package/dist/Components/PdfViewer/PdfViewer.js +1 -2
- package/dist/Components/PinInput/PinInput.d.ts.map +1 -1
- package/dist/Components/PinInput/PinInput.js +5 -1
- package/dist/Components/PinInputs/PinInputs.d.ts.map +1 -1
- package/dist/Components/PinInputs/PinInputs.js +3 -1
- package/dist/Components/ProductCard/ProductCard.js +1 -1
- package/dist/Components/ProductCard/ProductPrice.d.ts.map +1 -1
- package/dist/Components/ProductCard/ProductPrice.js +7 -4
- package/dist/Components/ProductCard/ProductReview.d.ts.map +1 -1
- package/dist/Components/ProductCard/ProductReview.js +7 -3
- package/dist/Components/ProductCard/ProductTags.js +1 -1
- package/dist/Components/ProductDetails/ProductDtlPrice.d.ts.map +1 -1
- package/dist/Components/ProductDetails/ProductDtlPrice.js +4 -1
- package/dist/Components/ProductDetails/ProductImageSlider.js +4 -4
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts.map +1 -1
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +10 -7
- package/dist/Components/Reorder/Reorder.js +2 -1
- package/dist/Components/RolesPermission/DeleteRoleModal.d.ts.map +1 -1
- package/dist/Components/RolesPermission/DeleteRoleModal.js +4 -2
- package/dist/Components/RolesPermission/RolesPermission.js +6 -6
- package/dist/Components/SearchSelect/SearchSelect.d.ts.map +1 -1
- package/dist/Components/SearchSelect/SearchSelect.js +4 -4
- package/dist/Components/Select/Select.styles.d.ts.map +1 -1
- package/dist/Components/Select/Select.styles.js +4 -1
- package/dist/Components/SelectSearch/SelectSearch.d.ts.map +1 -1
- package/dist/Components/SelectSearch/SelectSearch.js +5 -3
- package/dist/Components/SelectV2/SelectV2.d.ts +3 -0
- package/dist/Components/SelectV2/SelectV2.d.ts.map +1 -0
- package/dist/Components/SelectV2/SelectV2.js +185 -0
- package/dist/Components/SelectV2/SelectV2Props.d.ts +67 -0
- package/dist/Components/SelectV2/SelectV2Props.d.ts.map +1 -0
- package/dist/Components/SelectV2/SelectV2Props.js +2 -0
- package/dist/Components/SideBar/SecondaryBar.d.ts.map +1 -1
- package/dist/Components/SideBar/SecondaryBar.js +14 -3
- package/dist/Components/SideBar/SideBar.d.ts.map +1 -1
- package/dist/Components/SideBar/SideBar.js +19 -5
- package/dist/Components/SideBar/components/MenuItemBox.d.ts.map +1 -1
- package/dist/Components/SideBar/components/MenuItemBox.js +13 -9
- package/dist/Components/SideBar/components/MenuPopoverContent.d.ts.map +1 -1
- package/dist/Components/SideBar/components/MenuPopoverContent.js +7 -2
- package/dist/Components/SideBar/sidebarAccentColors.d.ts +21 -0
- package/dist/Components/SideBar/sidebarAccentColors.d.ts.map +1 -0
- package/dist/Components/SideBar/sidebarAccentColors.js +36 -0
- package/dist/Components/SignInActivityTable/SignInActivityTable.d.ts.map +1 -1
- package/dist/Components/SignInActivityTable/SignInActivityTable.js +7 -6
- package/dist/Components/StageProgress/StageProgress.d.ts.map +1 -1
- package/dist/Components/StageProgress/StageProgress.js +9 -4
- package/dist/Components/StageProgress/StageProgressProps.d.ts.map +1 -1
- package/dist/Components/StageProgress/StageProgressProps.js +13 -4
- package/dist/Components/StageProgress/StepperStage.js +1 -1
- package/dist/Components/Switch/Switch.d.ts.map +1 -1
- package/dist/Components/Switch/Switch.js +5 -3
- package/dist/Components/Table/Table.d.ts.map +1 -1
- package/dist/Components/Table/Table.js +9 -9
- package/dist/Components/Table/TableProps.d.ts +1 -0
- package/dist/Components/Table/TableProps.d.ts.map +1 -1
- package/dist/Components/Table/components/HeaderActions.d.ts.map +1 -1
- package/dist/Components/Table/components/HeaderActions.js +2 -1
- package/dist/Components/Table/components/TableActions.js +1 -1
- package/dist/Components/Table/components/TableBody.d.ts.map +1 -1
- package/dist/Components/Table/components/TableBody.js +21 -15
- package/dist/Components/Table/components/TableHeader.d.ts.map +1 -1
- package/dist/Components/Table/components/TableHeader.js +7 -4
- package/dist/Components/Table/components/tableRowHoverStyle.d.ts +13 -0
- package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -0
- package/dist/Components/Table/components/tableRowHoverStyle.js +26 -0
- package/dist/Components/Table/filters/CompactSelect.d.ts.map +1 -1
- package/dist/Components/Table/filters/CompactSelect.js +4 -1
- package/dist/Components/Table/filters/LeftFilterPane.d.ts.map +1 -1
- package/dist/Components/Table/filters/LeftFilterPane.js +5 -4
- package/dist/Components/Tag/Tag.styles.d.ts.map +1 -1
- package/dist/Components/Tag/Tag.styles.js +21 -8
- package/dist/Components/Timeline/Timeline.d.ts.map +1 -1
- package/dist/Components/Timeline/Timeline.js +18 -17
- package/dist/Components/Toaster/Toaster.d.ts.map +1 -1
- package/dist/Components/Toaster/Toaster.js +8 -5
- package/dist/Components/Toggle/TableToggle.js +2 -2
- package/dist/Components/ToolTip/ToolTip.d.ts.map +1 -1
- package/dist/Components/ToolTip/ToolTip.js +14 -2
- package/dist/Components/Trail/EditableCell.js +1 -1
- package/dist/Components/UpgradeButton/UpgradeButton.d.ts.map +1 -1
- package/dist/Components/UpgradeButton/UpgradeButton.js +9 -4
- package/dist/Components/UserDetails/AddUserModal.d.ts.map +1 -1
- package/dist/Components/UserDetails/AddUserModal.js +1 -1
- package/dist/Components/UserDetails/ChangeRoleModal.js +2 -2
- package/dist/Components/UserDetails/DeactivateConfirmModal.d.ts.map +1 -1
- package/dist/Components/UserDetails/DeactivateConfirmModal.js +5 -2
- package/dist/Components/UserDetails/UserDetails.d.ts.map +1 -1
- package/dist/Components/UserDetails/UserDetails.js +15 -8
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts.map +1 -1
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +4 -1
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +2 -2
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts.map +1 -1
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +29 -4
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +18 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts.map +1 -1
- package/dist/Layout.d.ts +3 -0
- package/dist/Layout.js +286 -0
- package/dist/Pages/TInput.d.ts +3 -0
- package/dist/Pages/TInput.d.ts.map +1 -0
- package/dist/Pages/TInput.js +20 -0
- package/dist/Pages/accordion.d.ts +3 -0
- package/dist/Pages/accordion.d.ts.map +1 -0
- package/dist/Pages/accordion.js +21 -0
- package/dist/Pages/alertdialog.d.ts +3 -0
- package/dist/Pages/alertdialog.d.ts.map +1 -0
- package/dist/Pages/alertdialog.js +53 -0
- package/dist/Pages/button.d.ts +3 -0
- package/dist/Pages/button.d.ts.map +1 -0
- package/dist/Pages/button.js +32 -0
- package/dist/Pages/card.d.ts +3 -0
- package/dist/Pages/card.d.ts.map +1 -0
- package/dist/Pages/card.js +102 -0
- package/dist/Pages/chart.d.ts +4 -0
- package/dist/Pages/chart.d.ts.map +1 -0
- package/dist/Pages/chart.js +25 -0
- package/dist/Pages/checkbox.d.ts +3 -0
- package/dist/Pages/checkbox.d.ts.map +1 -0
- package/dist/Pages/checkbox.js +11 -0
- package/dist/Pages/contactForm.d.ts +3 -0
- package/dist/Pages/contactForm.d.ts.map +1 -0
- package/dist/Pages/contactForm.js +15 -0
- package/dist/Pages/customModulesTable.d.ts +4 -0
- package/dist/Pages/customModulesTable.d.ts.map +1 -0
- package/dist/Pages/customModulesTable.js +25 -0
- package/dist/Pages/datePick.d.ts +3 -0
- package/dist/Pages/datePick.d.ts.map +1 -0
- package/dist/Pages/datePick.js +49 -0
- package/dist/Pages/drawer.d.ts +3 -0
- package/dist/Pages/drawer.d.ts.map +1 -0
- package/dist/Pages/drawer.js +53 -0
- package/dist/Pages/dropdown.d.ts +3 -0
- package/dist/Pages/dropdown.d.ts.map +1 -0
- package/dist/Pages/dropdown.js +21 -0
- package/dist/Pages/editor.d.ts +3 -0
- package/dist/Pages/editor.d.ts.map +1 -0
- package/dist/Pages/editor.js +13 -0
- package/dist/Pages/feedback.d.ts +2 -0
- package/dist/Pages/feedback.d.ts.map +1 -0
- package/dist/Pages/feedback.js +12 -0
- package/dist/Pages/fileUpload.d.ts +2 -0
- package/dist/Pages/fileUpload.d.ts.map +1 -0
- package/dist/Pages/fileUpload.js +36 -0
- package/dist/Pages/input.d.ts +3 -0
- package/dist/Pages/input.d.ts.map +1 -0
- package/dist/Pages/input.js +48 -0
- package/dist/Pages/kanbanboard.d.ts +3 -0
- package/dist/Pages/kanbanboard.d.ts.map +1 -0
- package/dist/Pages/kanbanboard.js +182 -0
- package/dist/Pages/modal.d.ts +3 -0
- package/dist/Pages/modal.d.ts.map +1 -0
- package/dist/Pages/modal.js +61 -0
- package/dist/Pages/multiSelect.d.ts +3 -0
- package/dist/Pages/multiSelect.d.ts.map +1 -0
- package/dist/Pages/multiSelect.js +22 -0
- package/dist/Pages/noteArea.d.ts +3 -0
- package/dist/Pages/noteArea.d.ts.map +1 -0
- package/dist/Pages/noteArea.js +26 -0
- package/dist/Pages/notification.d.ts +3 -0
- package/dist/Pages/notification.d.ts.map +1 -0
- package/dist/Pages/notification.js +37 -0
- package/dist/Pages/numberInput.d.ts +3 -0
- package/dist/Pages/numberInput.d.ts.map +1 -0
- package/dist/Pages/numberInput.js +16 -0
- package/dist/Pages/orgSwitcher.d.ts +4 -0
- package/dist/Pages/orgSwitcher.d.ts.map +1 -0
- package/dist/Pages/orgSwitcher.js +36 -0
- package/dist/Pages/organizationDetails.d.ts +4 -0
- package/dist/Pages/organizationDetails.d.ts.map +1 -0
- package/dist/Pages/organizationDetails.js +64 -0
- package/dist/Pages/photoViewer.d.ts +3 -0
- package/dist/Pages/photoViewer.d.ts.map +1 -0
- package/dist/Pages/photoViewer.js +12 -0
- package/dist/Pages/pinInputs.d.ts +3 -0
- package/dist/Pages/pinInputs.d.ts.map +1 -0
- package/dist/Pages/pinInputs.js +11 -0
- package/dist/Pages/productCaard.d.ts +3 -0
- package/dist/Pages/productCaard.d.ts.map +1 -0
- package/dist/Pages/productCaard.js +311 -0
- package/dist/Pages/productDetailCard.d.ts +3 -0
- package/dist/Pages/productDetailCard.d.ts.map +1 -0
- package/dist/Pages/productDetailCard.js +78 -0
- package/dist/Pages/productFilter.d.ts +3 -0
- package/dist/Pages/productFilter.d.ts.map +1 -0
- package/dist/Pages/productFilter.js +148 -0
- package/dist/Pages/progressbar.d.ts +3 -0
- package/dist/Pages/progressbar.d.ts.map +1 -0
- package/dist/Pages/progressbar.js +11 -0
- package/dist/Pages/radioButton.d.ts +3 -0
- package/dist/Pages/radioButton.d.ts.map +1 -0
- package/dist/Pages/radioButton.js +18 -0
- package/dist/Pages/rolesPermission.d.ts +4 -0
- package/dist/Pages/rolesPermission.d.ts.map +1 -0
- package/dist/Pages/rolesPermission.js +144 -0
- package/dist/Pages/search.d.ts +3 -0
- package/dist/Pages/search.d.ts.map +1 -0
- package/dist/Pages/search.js +21 -0
- package/dist/Pages/searchSelect.d.ts +3 -0
- package/dist/Pages/searchSelect.d.ts.map +1 -0
- package/dist/Pages/searchSelect.js +97 -0
- package/dist/Pages/select.d.ts +3 -0
- package/dist/Pages/select.d.ts.map +1 -0
- package/dist/Pages/select.js +20 -0
- package/dist/Pages/selectSearch.d.ts +3 -0
- package/dist/Pages/selectSearch.d.ts.map +1 -0
- package/dist/Pages/selectSearch.js +58 -0
- package/dist/Pages/signInActivityTable.d.ts +4 -0
- package/dist/Pages/signInActivityTable.d.ts.map +1 -0
- package/dist/Pages/signInActivityTable.js +17 -0
- package/dist/Pages/skeleton.d.ts +3 -0
- package/dist/Pages/skeleton.d.ts.map +1 -0
- package/dist/Pages/skeleton.js +12 -0
- package/dist/Pages/stageProgress.d.ts +4 -0
- package/dist/Pages/stageProgress.d.ts.map +1 -0
- package/dist/Pages/stageProgress.js +31 -0
- package/dist/Pages/switch.d.ts +3 -0
- package/dist/Pages/switch.d.ts.map +1 -0
- package/dist/Pages/switch.js +17 -0
- package/dist/Pages/table.d.ts +3 -0
- package/dist/Pages/table.d.ts.map +1 -0
- package/dist/Pages/table.js +182 -0
- package/dist/Pages/tag.d.ts +3 -0
- package/dist/Pages/tag.d.ts.map +1 -0
- package/dist/Pages/tag.js +27 -0
- package/dist/Pages/textArea.d.ts +3 -0
- package/dist/Pages/textArea.d.ts.map +1 -0
- package/dist/Pages/textArea.js +14 -0
- package/dist/Pages/tier1.d.ts +4 -0
- package/dist/Pages/tier1.d.ts.map +1 -0
- package/dist/Pages/tier1.js +86 -0
- package/dist/Pages/timeline.d.ts +3 -0
- package/dist/Pages/timeline.d.ts.map +1 -0
- package/dist/Pages/timeline.js +73 -0
- package/dist/Pages/tooltip.d.ts +3 -0
- package/dist/Pages/tooltip.d.ts.map +1 -0
- package/dist/Pages/tooltip.js +11 -0
- package/dist/Pages/toster.d.ts +3 -0
- package/dist/Pages/toster.d.ts.map +1 -0
- package/dist/Pages/toster.js +53 -0
- package/dist/Pages/upgradeButton.d.ts +4 -0
- package/dist/Pages/upgradeButton.d.ts.map +1 -0
- package/dist/Pages/upgradeButton.js +17 -0
- package/dist/Pages/userDetails.d.ts +4 -0
- package/dist/Pages/userDetails.d.ts.map +1 -0
- package/dist/Pages/userDetails.js +79 -0
- package/dist/Pages/verifyEmail.d.ts +3 -0
- package/dist/Pages/verifyEmail.d.ts.map +1 -0
- package/dist/Pages/verifyEmail.js +17 -0
- package/dist/Theme/chakra/Avatar.styles.d.ts +33 -0
- package/dist/Theme/chakra/Avatar.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Avatar.styles.js +28 -0
- package/dist/Theme/chakra/Drawer.styles.d.ts +32 -0
- package/dist/Theme/chakra/Drawer.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Drawer.styles.js +26 -0
- package/dist/Theme/chakra/Menu.styles.d.ts +70 -0
- package/dist/Theme/chakra/Menu.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Menu.styles.js +50 -0
- package/dist/Theme/chakra/Modal.styles.d.ts +32 -0
- package/dist/Theme/chakra/Modal.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Modal.styles.js +26 -0
- package/dist/Theme/chakra/Popover.styles.d.ts +37 -0
- package/dist/Theme/chakra/Popover.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Popover.styles.js +30 -0
- package/dist/Theme/chakra/Slider.styles.d.ts +31 -0
- package/dist/Theme/chakra/Slider.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Slider.styles.js +25 -0
- package/dist/Theme/chakra/Switch.styles.d.ts +31 -0
- package/dist/Theme/chakra/Switch.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Switch.styles.js +24 -0
- package/dist/Theme/chakra/Tabs.styles.d.ts +43 -0
- package/dist/Theme/chakra/Tabs.styles.d.ts.map +1 -0
- package/dist/Theme/chakra/Tabs.styles.js +41 -0
- package/dist/Theme/chakra/common.web.d.ts +171 -0
- package/dist/Theme/chakra/common.web.d.ts.map +1 -0
- package/dist/Theme/chakra/common.web.js +21 -0
- package/dist/Theme/chakra/componentStyles.d.ts +240 -0
- package/dist/Theme/chakra/componentStyles.d.ts.map +1 -0
- package/dist/Theme/chakra/componentStyles.js +150 -0
- package/dist/Theme/chakra/createBrandTheme.d.ts +18 -0
- package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -0
- package/dist/Theme/chakra/createBrandTheme.js +78 -0
- package/dist/Theme/chakra/fonts.web.d.ts +42 -0
- package/dist/Theme/chakra/fonts.web.d.ts.map +1 -0
- package/dist/Theme/chakra/fonts.web.js +15 -0
- package/dist/Theme/index.d.ts +29 -8
- package/dist/Theme/index.d.ts.map +1 -1
- package/dist/Theme/index.js +54 -22
- package/dist/Theme/provider/PixelizeThemeProvider.d.ts +46 -0
- package/dist/Theme/provider/PixelizeThemeProvider.d.ts.map +1 -0
- package/dist/Theme/provider/PixelizeThemeProvider.js +124 -0
- package/dist/Theme/provider/ThemeSwitcher.d.ts +8 -0
- package/dist/Theme/provider/ThemeSwitcher.d.ts.map +1 -0
- package/dist/Theme/provider/ThemeSwitcher.js +111 -0
- package/dist/Theme/provider/colorModeStorage.d.ts +10 -0
- package/dist/Theme/provider/colorModeStorage.d.ts.map +1 -0
- package/dist/Theme/provider/colorModeStorage.js +106 -0
- package/dist/Theme/provider/index.d.ts +6 -0
- package/dist/Theme/provider/index.d.ts.map +1 -0
- package/dist/Theme/provider/index.js +9 -0
- package/dist/Theme/provider/useThemeMode.d.ts +3 -0
- package/dist/Theme/provider/useThemeMode.d.ts.map +1 -0
- package/dist/Theme/provider/useThemeMode.js +13 -0
- package/dist/Theme/themeProps.d.ts +10 -373
- package/dist/Theme/themeProps.d.ts.map +1 -1
- package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/emerald/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/emerald/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.js +135 -0
- package/dist/Theme/tokens/brands/index.d.ts +28 -0
- package/dist/Theme/tokens/brands/index.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/index.js +93 -0
- package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/lavender/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/lavender/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/lavender/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/lavender/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/lavender/palette.light.js +316 -0
- package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/meadow/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/meadow/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/meadow/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/meadow/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/meadow/palette.light.js +133 -0
- package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/radiant/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/radiant/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.js +135 -0
- package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/rosewood/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/rosewood/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/rosewood/palette.light.js +139 -0
- package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/skyline/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/skyline/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/skyline/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/skyline/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/skyline/palette.light.js +133 -0
- package/dist/Theme/tokens/brands/slate/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/slate/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/slate/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/slate/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/slate/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/slate/palette.light.js +137 -0
- package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts +7 -0
- package/dist/Theme/tokens/brands/storefront/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/storefront/palette.dark.js +13 -0
- package/dist/Theme/tokens/brands/storefront/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/storefront/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/storefront/palette.light.js +127 -0
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +204 -0
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/zinc/palette.dark.js +204 -0
- package/dist/Theme/tokens/brands/zinc/palette.light.d.ts +375 -0
- package/dist/Theme/tokens/brands/zinc/palette.light.d.ts.map +1 -0
- package/dist/Theme/tokens/brands/zinc/palette.light.js +383 -0
- package/dist/Theme/tokens/builders/accentText.d.ts +56 -0
- package/dist/Theme/tokens/builders/accentText.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/accentText.js +92 -0
- package/dist/Theme/tokens/builders/buildBrandTokens.d.ts +16 -0
- package/dist/Theme/tokens/builders/buildBrandTokens.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/buildBrandTokens.js +33 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +23 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.js +282 -0
- package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts +17 -0
- package/dist/Theme/tokens/builders/chartColorsFromTheme.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/chartColorsFromTheme.js +26 -0
- package/dist/Theme/tokens/builders/color.d.ts +50 -0
- package/dist/Theme/tokens/builders/color.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/color.js +156 -0
- package/dist/Theme/tokens/builders/index.d.ts +6 -0
- package/dist/Theme/tokens/builders/index.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/index.js +21 -0
- package/dist/Theme/tokens/index.d.ts +15 -0
- package/dist/Theme/tokens/index.d.ts.map +1 -0
- package/dist/Theme/tokens/index.js +30 -0
- package/dist/Theme/tokens/primitives/breakpoints.d.ts +9 -0
- package/dist/Theme/tokens/primitives/breakpoints.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/breakpoints.js +10 -0
- package/dist/Theme/tokens/primitives/index.d.ts +10 -0
- package/dist/Theme/tokens/primitives/index.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/index.js +27 -0
- package/dist/Theme/tokens/primitives/letterSpacings.d.ts +10 -0
- package/dist/Theme/tokens/primitives/letterSpacings.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/letterSpacings.js +11 -0
- package/dist/Theme/tokens/primitives/lineHeights.d.ts +19 -0
- package/dist/Theme/tokens/primitives/lineHeights.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/lineHeights.js +20 -0
- package/dist/Theme/tokens/primitives/radii.d.ts +13 -0
- package/dist/Theme/tokens/primitives/radii.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/radii.js +14 -0
- package/dist/Theme/tokens/primitives/shadows.d.ts +16 -0
- package/dist/Theme/tokens/primitives/shadows.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/shadows.js +17 -0
- package/dist/Theme/tokens/primitives/sizes.d.ts +63 -0
- package/dist/Theme/tokens/primitives/sizes.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/sizes.js +39 -0
- package/dist/Theme/tokens/primitives/space.d.ts +34 -0
- package/dist/Theme/tokens/primitives/space.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/space.js +35 -0
- package/dist/Theme/tokens/primitives/typography.d.ts +73 -0
- package/dist/Theme/tokens/primitives/typography.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/typography.js +43 -0
- package/dist/Theme/tokens/primitives/zIndices.d.ts +17 -0
- package/dist/Theme/tokens/primitives/zIndices.d.ts.map +1 -0
- package/dist/Theme/tokens/primitives/zIndices.js +18 -0
- package/dist/Theme/tokens/types.d.ts +116 -0
- package/dist/Theme/tokens/types.d.ts.map +1 -0
- package/dist/Theme/tokens/types.js +8 -0
- package/dist/Utils/table.d.ts +9 -2
- package/dist/Utils/table.d.ts.map +1 -1
- package/dist/Utils/table.js +23 -7
- package/dist/bootstrap.d.ts +2 -0
- package/dist/bootstrap.js +16 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -1
- package/eslint.config.js +48 -0
- package/index.html +13 -0
- package/package.json +2 -6
- package/vite.config.ts +13 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# Layout & Navigation
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Accordion, Breadcrumbs, NavigationBar, SideBar, Header, Drawer, FilterSidebar,
|
|
6
|
+
WorkspaceWindow.
|
|
7
|
+
|
|
8
|
+
## Key paths
|
|
9
|
+
|
|
10
|
+
- `src/Components/Accordion/`, `Breadcrumbs/`, `NavigationBar/`, `SideBar/`, `Header/`, `Drawer/`, `FilterSidebar/`, `WorkspaceWindow/`
|
|
11
|
+
|
|
12
|
+
## Key rules
|
|
13
|
+
|
|
14
|
+
- SideBar/Header have sub-`components/` folders
|
|
15
|
+
- Used by crm-frontend, account-frontend sidebars
|
|
16
|
+
|
|
17
|
+
## Dark mode
|
|
18
|
+
|
|
19
|
+
FilterSidebar, WorkspaceWindow and WorkspaceTrayPreview read surfaces from
|
|
20
|
+
`useCustomTheme()` and follow the active palette. Chakra string tokens (`gray.50`) already
|
|
21
|
+
resolve through the swapped palette — only `white` had to change, because `colors.white` is
|
|
22
|
+
a **foreground** token that stays white in dark. White surfaces are now
|
|
23
|
+
`colors.background[50]` (FilterSidebar thumbs / value bubbles / min-max rows / panel,
|
|
24
|
+
WorkspaceWindow shell, WorkspaceTrayPreview popover).
|
|
25
|
+
|
|
26
|
+
`WorkspaceWindow` calls `useCustomTheme()` **before** its `state === "minimized"` early
|
|
27
|
+
return — after it, hook order would change when the window reopens.
|
|
28
|
+
|
|
29
|
+
**First real consumer: tickets (user-reported dark-mode gaps + first adoption).** `WorkspaceWindow`/
|
|
30
|
+
`WorkspaceTray`/`WorkspaceTrayPreview` existed but had no consumer yet; tickets' own hand-rolled
|
|
31
|
+
floating-ticket-window/tray/hover-preview (`core/workspace/`) was migrated onto these, and the
|
|
32
|
+
migration surfaced real gaps the "dark-mode checked" note above didn't cover — the control-bar
|
|
33
|
+
`bg="gray.50"`/`borderColor="gray.100"`/title `color="gray.700"` and the tray pill's
|
|
34
|
+
`bg/color/borderColor="blue.100/700/200"` were still **hardcoded literals**, not
|
|
35
|
+
`useCustomTheme()` tokens, so they didn't actually follow brand/dark-mode. Fixed to
|
|
36
|
+
`theme.colors.background?.[100]`/`boxborder?.[200]`/`text?.[700]` (window chrome, same pattern as
|
|
37
|
+
`AiLauncher`) and `theme.colors.primary?.[100/700/200]` (tray pill, matching tickets' own prior
|
|
38
|
+
token usage). `WorkspaceTrayPreview`'s card wrapper had the same gap (`borderColor="gray.200"`,
|
|
39
|
+
`color="gray.800"`) — same fix.
|
|
40
|
+
- **`onOverlayClick?: () => void`** added to `WorkspaceWindowProps` — with `size="full"` the
|
|
41
|
+
transparent `ModalContent` covers the viewport so Chakra's own `closeOnOverlayClick` never fires;
|
|
42
|
+
the parent needs its own "clicked the blurred backdrop" signal (tickets uses it to minimize
|
|
43
|
+
rather than close, preserving unsaved edits). `WorkspaceWindow` detects this itself
|
|
44
|
+
(`onMouseDown` + `e.target === e.currentTarget` on `ModalContent`) and also exposes
|
|
45
|
+
`${testId}-backdrop`.
|
|
46
|
+
- **`renderItem?: (item, {restore, close}) => ReactNode`** added to `WorkspaceTrayProps` — full
|
|
47
|
+
override for one tray item's pill markup, for a consumer that needs to wrap the pill in its own
|
|
48
|
+
logic (tickets wraps it in a ticket-fetching hover preview, `TrayTabPreview`) while still reusing
|
|
49
|
+
the tray's positioned/wrap-reverse container. Omit it for the plain built-in pill.
|
|
50
|
+
- Tickets' `TrayTabPreview` now delegates the hover-bridge timer/positioning entirely to
|
|
51
|
+
`WorkspaceTrayPreview` (`onOpenChange` gates the ticket fetch) and only supplies the ticket-specific
|
|
52
|
+
`preview` content — the timer/placement logic that used to be duplicated in the app is gone from
|
|
53
|
+
there now.
|
|
54
|
+
|
|
55
|
+
### Header, NavigationBar, FilterSidebar — WCAG/dark pass
|
|
56
|
+
|
|
57
|
+
- **Header.tsx** — default (no explicit `colors` prop) styling changed: `bg` now
|
|
58
|
+
`themeColor.sidebar.background[500]` (was `gray[700]`), `color`/`hoverText` now
|
|
59
|
+
`themeColor.white` (was `background[100]`/`text[600]`), `activeBg` now computed via
|
|
60
|
+
`accentTextOnCanvas(themeColor.primary, bg)` (was fixed `primary[400]`), `hoverBg` now
|
|
61
|
+
`sidebar.background[400]` (was `gray[500]`). **Visible behavior change** for any consumer
|
|
62
|
+
not passing an explicit `colors` prop — not just an internal refactor.
|
|
63
|
+
- **Header/HeaderActions.tsx** (the Header's own action bar — distinct from
|
|
64
|
+
`Table/components/HeaderActions.tsx`) — "Edit Layout"/"Create New" label ink now
|
|
65
|
+
`accentTextOnCanvas(colors?.secondary, colors?.backgroundColor?.main)` (was fixed
|
|
66
|
+
`secondary[500]`); its test mock theme expanded with a full `secondary` ramp +
|
|
67
|
+
`backgroundColor.main` to match.
|
|
68
|
+
- **NavigationBar.tsx** — brand text label (`navigationBarText`) ink now
|
|
69
|
+
`accentTextOnCanvas(theme.colors.secondary, theme.colors.backgroundColor.light)` (was fixed
|
|
70
|
+
`secondary[500]`). Its profile/account `MenuList` also sets
|
|
71
|
+
`sx={{ "--menu-bg": theme.colors.backgroundColor.light }}` — same Chakra CSS-var fix as
|
|
72
|
+
`ButtonGroupIcon` (buttons module): Chakra's `MenuItem` baseStyle hardcodes `--menu-bg` to
|
|
73
|
+
white, gated behind `_dark`, which this app's theme-swap dark mode never triggers. Now also
|
|
74
|
+
covered app-wide by the theme-level `Menu` style override (`Theme/chakra/Menu.styles.ts`, theme
|
|
75
|
+
module Wave G) — this per-call-site `sx` is redundant but harmless alongside it.
|
|
76
|
+
- **FilterSidebar.tsx** — section-label tooltip swapped from raw Chakra `Tooltip` (hardcoded
|
|
77
|
+
`bg={gray[600]}`/`color={white}`) to the library's `ToolTip` (token-driven); search-input
|
|
78
|
+
`borderColor` now `theme.colors.boxborder?.[800] ?? gray[200]` — plain `gray[200]` fails
|
|
79
|
+
WCAG 1.4.11 (≥3.0 non-text contrast) as a control boundary in dark mode.
|
|
80
|
+
- **desktopMenu.tsx / Header.tsx `activeBg` (QA-caught, blocking)** — `activeBg` was computed via
|
|
81
|
+
`accentTextOnCanvas(themeColor.primary, bg)`, which picks its search direction from the canvas's
|
|
82
|
+
darkness and assumes that always means a dark-mode-shaped scale (50 darkest -> 900 lightest).
|
|
83
|
+
Header's sidebar canvas is always dark regardless of app mode (`buildDarkPalette` leaves `sidebar`
|
|
84
|
+
unchanged), but `primary` still follows the active app mode — in light mode it's light-mode-shaped
|
|
85
|
+
(50 lightest -> 900 darkest), so walking toward 900 walked toward darker, not lighter, landing
|
|
86
|
+
near-black (lavender measured ~1.09 contrast, well under WCAG 1.4.11's 3:1 non-text bar). Since
|
|
87
|
+
this same value drove both the active-tab underline (`borderBottom`) and the submenu row highlight
|
|
88
|
+
(`bg`), and a separate fix removed `activeBg` from *text* color for the identical reason, the
|
|
89
|
+
underline became the only remaining active-state signal — and it was invisible. Fixed with a new
|
|
90
|
+
local `pickActiveAccent` (exported from `Header.tsx`, not added to the shared `accentText.ts` — this
|
|
91
|
+
need is specific to a canvas that never inverts with app mode) that detects the scale's own
|
|
92
|
+
direction from its own data (`primary[50]` vs `primary[900]` luminance) instead of the canvas,
|
|
93
|
+
walking toward whichever end is actually lighter and preferring the rung closest to `[500]` that
|
|
94
|
+
clears 3:1. Verified computationally correct across all 7 brands x both app modes (`Header.test.tsx`).
|
|
95
|
+
The submenu row's label ink also switched from static `text[800]` (tuned for the `background[50]`
|
|
96
|
+
canvas, not the `activeBg` fill the active row switches to) to `onFilled(activeBg, white, black)`,
|
|
97
|
+
which is provably >=4.5 against any fill regardless of which rung `pickActiveAccent` picks.
|
|
98
|
+
- **Drawer.tsx surface bug — now fixed at the theme level.** Same bug class as `Modal`/
|
|
99
|
+
`AlertDialog` (overlays module): Chakra's own `Drawer` baseStyle hardcodes `--drawer-bg` to
|
|
100
|
+
`colors.white` on the `dialog` part, gated behind a `_dark` this app's theme-swap dark mode
|
|
101
|
+
never triggers. Fixed centrally in `Theme/chakra/Drawer.styles.ts` (registered as `Drawer` in
|
|
102
|
+
`componentStyles.ts`), mirroring `Modal.styles.ts` — covers every `DrawerContent` app-wide. An
|
|
103
|
+
earlier pass's per-call-site `bg={colors?.background?.[50]}` fix is now redundant but harmless.
|
|
104
|
+
- **FilterSidebar.tsx WCAG pass (Wave D, QA-driven)** — two real AA/graphical-object failures
|
|
105
|
+
found beyond the surface bug above: the min/max price selected-row checkmark icon (`red[600]`
|
|
106
|
+
on its own `red[100]` fill, ≈2.89:1, fails the 3:1 non-text bar) now uses
|
|
107
|
+
`onFilled(theme.colors.red[100], theme.colors.white, theme.colors.black)` (resolves to black,
|
|
108
|
+
≈13.96:1); the star-rating icon's `color`/`fill` (`orange[500]` on `background[50]`, ≈2.22:1)
|
|
109
|
+
now both use `accentTextOnCanvas(theme.colors.orange, <row's actual canvas>)` (resolves to
|
|
110
|
+
`orange[800]`, ≈6.33:1) — the canvas mirrors the row's own `bg` ternary (`red[50]` when that
|
|
111
|
+
rating is the active filter, `background[50]` otherwise; a code-review catch — the first pass
|
|
112
|
+
always computed against `background[50]` even on the selected row). All other `red`/`orange`
|
|
113
|
+
usages in this file (row backgrounds, `borderLeftColor`, focus border) are decorative/border
|
|
114
|
+
roles and were left unchanged.
|
|
115
|
+
- **Two `PopoverContent`s missed by the same QA pass (code-review catch, same file):** the
|
|
116
|
+
min/max price value-list popovers had no `bg=`, hitting the identical
|
|
117
|
+
Chakra-hardcoded-`colors.white`-behind-`_dark` bug as `Modal`/`AlertDialog`/`Drawer` — just on
|
|
118
|
+
`PopoverContent`'s baseStyle (`var(--popper-bg)`) instead of Modal's. Fixed with
|
|
119
|
+
`bg={theme.colors.background[50]}` on both, same pattern already used for `MoreItems`/
|
|
120
|
+
`OrgSwitcher`/`NavigationBar` popovers elsewhere in the library.
|
|
121
|
+
- **Checkbox/option/popover-row hover invisible in dark mode (QA follow-up round, fixed):** all 5
|
|
122
|
+
`_hover={{ bg: theme.colors.gray[50] }}` spots in this file (min/max price rows, rating rows, the
|
|
123
|
+
filter-option checkbox row, the accordion trigger) used `gray[50]`, a pale near-white tint in
|
|
124
|
+
light mode that — once the whole `gray` scale flips for dark — lands within ~1 lightness point of
|
|
125
|
+
the dark canvas (~1.08:1 contrast, computed), reading as no hover at all. As a side effect this
|
|
126
|
+
also silently fixed the `cards`-variant tautology where the accordion button's own resting
|
|
127
|
+
background (`customStyles.buttonStyle.background`, line ~680) equaled its hover token exactly —
|
|
128
|
+
hovering a `cards`-variant button visibly did nothing. Fixed via a new pure helper,
|
|
129
|
+
`getFilterHoverBg(colors, isDark)` (`filterHoverStyle.ts`, mirrors `Editor/joditThemeVars.ts`'s
|
|
130
|
+
pattern) — dark mode now uses `gray[300]` (~2.3:1 against the canvas, clearly visible) which still
|
|
131
|
+
keeps the existing `gray[700]`/`gray[800]` row text at/above AA (~4.9:1+) on top of it, so — unlike
|
|
132
|
+
the Table row-hover fix — no text-color flip was needed here. Light mode is untouched (`gray[50]`).
|
|
133
|
+
Regression tests: `filterHoverStyle.test.ts` (lavender + rosewood).
|
|
134
|
+
- **Accordion section-header hover still invisible after the fix above (QA retest follow-up):**
|
|
135
|
+
the 5th spot (the accordion trigger row itself) kept showing no hover change even after
|
|
136
|
+
`getFilterHoverBg` fixed the other 4. Traced two real, distinct issues in `Accordion.tsx` (not
|
|
137
|
+
FilterSidebar): (1) its own `expandedBg`/`softHover` defaults — `primary.opacity[8]` composited
|
|
138
|
+
over the dark canvas, and `table.hover[100]`/`gray[50]` — both collapse to ~1.07-1.09:1
|
|
139
|
+
(verified numerically), so any Accordion consumer relying on these un-overridden defaults gets an
|
|
140
|
+
invisible expanded-state tint and hover in dark mode; (2) FilterSidebar's own header override
|
|
141
|
+
(`buttonProps._hover: { bg: hoverBg }`) was verified via direct CSSOM inspection to compile into a
|
|
142
|
+
correct `:hover` rule with the right color even with FilterSidebar's exact `customStyles`
|
|
143
|
+
shape — the mechanism itself checked out. Fixed (1) with a new pure helper,
|
|
144
|
+
`getAccordionHoverColors(colors, isDark)` (`Accordion/accordionColors.ts`, same pattern as
|
|
145
|
+
`Editor/joditThemeVars.ts` / `FilterSidebar/filterHoverStyle.ts`): dark mode now uses `gray[200]`
|
|
146
|
+
for both (opaque, ~1.6:1 against canvas — visibly present but a step below the `gray[300]`
|
|
147
|
+
active-hover fill FilterSidebar/Table already use), light mode unchanged. Reinforced (2) as
|
|
148
|
+
belt-and-suspenders: FilterSidebar's `customStyles.hoverbuttonStyle` now also sets
|
|
149
|
+
`{ background: hoverBg }`, reasserting the same fill via the `sx` path so the header hover
|
|
150
|
+
doesn't depend on a single prop-merge route. Regression tests: `accordionColors.test.ts`
|
|
151
|
+
(lavender + rosewood). Note: jsdom cannot simulate real `:hover` rendering, so this was verified
|
|
152
|
+
via computed contrast + direct CSSOM rule inspection, not a live click-test; a real-browser
|
|
153
|
+
Playwright re-check afterward confirmed the fix applies correctly (`rgba(0,0,0,0)` →
|
|
154
|
+
`gray[300]` on hover, both brands, reverting on mouse-away).
|
|
155
|
+
- **`Accordion.tsx`/`FilterSidebar.tsx` perf pass:** the new `getAccordionHoverColors`/
|
|
156
|
+
`getFilterHoverBg` calls above are now wrapped in `useMemo` (keyed on `theme.colors`/`isDark`),
|
|
157
|
+
matching the existing memoization pattern in `Table/components/TableBody.tsx` — avoids
|
|
158
|
+
recomputing the color object on every render.
|
|
159
|
+
|
|
160
|
+
### SideBar — active-icon/label dark-mode fix (user-reported via screenshot, blocking)
|
|
161
|
+
|
|
162
|
+
`MenuItemBox.tsx`, `MenuPopoverContent.tsx`, `SecondaryBar.tsx`, and `SideBar.tsx` all read the
|
|
163
|
+
active/accent icon and label color from `theme.colors.primary[300]`/`[100]` directly. That's
|
|
164
|
+
correct in light mode, but breaks in dark mode: `sidebar.background` **never inverts** across
|
|
165
|
+
modes (`buildDarkPalette.ts` keeps `sidebar: light.sidebar` — it's already near-black in light
|
|
166
|
+
mode), while `primary`'s every rung **does** invert (`toDarkRamp`/`liftAccent`, correct for
|
|
167
|
+
badge/tag consumers whose surface inverts alongside them). Pairing an inverted `primary[300]`/
|
|
168
|
+
`[100]` with a canvas that stayed put produces near-black text/icons on an already-dark rail —
|
|
169
|
+
only the checked/lavender-selected item stayed legible, everything else read as invisible
|
|
170
|
+
(exactly the user's report: "only selected lavender is visible to my eyes").
|
|
171
|
+
|
|
172
|
+
Presented 3 fix options via an artifact (pinned-light accent / Header's `pickActiveAccent`
|
|
173
|
+
pattern / a dedicated non-inverting SideBar accent scale) — user chose **pinned-light accent**.
|
|
174
|
+
Fixed with a new pure helper + hook, `src/Components/SideBar/sidebarAccentColors.ts`
|
|
175
|
+
(`getSidebarActiveAccent` / `useSidebarActiveAccent`, same pure-function + `useMemo` pattern as
|
|
176
|
+
`accordionColors.ts`/`filterHoverStyle.ts`): in dark mode it reuses each rung's own **light-mode**
|
|
177
|
+
value (`lightPalettes[brand].primary[300]`/`[100]`) instead of the dark-inverted one — provably
|
|
178
|
+
correct because the canvas behind it is identical in both modes, so whatever already clears
|
|
179
|
+
contrast in light mode still clears it in dark mode with the same foreground value. Falls back to
|
|
180
|
+
the current (still-broken) rung if `brand` is unavailable (a consumer on a plain `ChakraProvider`,
|
|
181
|
+
where dark mode never activates anyway) rather than crashing — `brand` is read via
|
|
182
|
+
`useContext(ThemeModeContext)` directly, not the throwing `useThemeMode()`, since this hook must
|
|
183
|
+
degrade gracefully outside `PixelizeThemeProvider`.
|
|
184
|
+
|
|
185
|
+
Wired at every active/accent-icon usage: `MenuItemBox.tsx` (main + submenu icon/label/dot),
|
|
186
|
+
`MenuPopoverContent.tsx` (header + submenu icon/label), `SecondaryBar.tsx` (collapsed/expanded
|
|
187
|
+
item icon+label, header icon), `SideBar.tsx` (Add-New icon, avatar-initials fallback, footer
|
|
188
|
+
control accent icon+label, mobile-nav "Show" `PanelLeft` icon) — every one was reading `[300]`
|
|
189
|
+
(icon role) or `[100]` (label role) directly. `borderLeftColor`/`bg` usages of `primary[500]`/
|
|
190
|
+
`.opacity[16]`/`.opacity[32]` were left untouched — confirmed not broken (the audit found `[500]`
|
|
191
|
+
correctly lifts lighter in dark mode; `.opacity[N]` tints are self-scaling, not absolute rungs).
|
|
192
|
+
Regression tests: `sidebarAccentColors.test.ts` (lavender + rosewood) — light mode unchanged,
|
|
193
|
+
dark mode pins the light-mode rung (not the dark-inverted one), contrast ≥3:1 (icon) / ≥4.5:1
|
|
194
|
+
(label) against the sidebar canvas, graceful fallback when `brand` is unknown.
|
|
195
|
+
|
|
196
|
+
### SideBar default logo — hardcoded black fill invisible on dark-`primary[500]` brands (user-reported, fixed)
|
|
197
|
+
|
|
198
|
+
`SidebarHeader`'s fallback mark (no `logo` prop passed) wraps `Assets/defaultLogo.tsx` in a `Box`
|
|
199
|
+
with `bg={theme.colors.primary[500]}` + `color={theme.colors.white}` — but the SVG paths inside
|
|
200
|
+
`DefaultLogo` hardcoded `fill={theme.colors.black}` instead of inheriting that `color`. Most brands'
|
|
201
|
+
`primary[500]` is a mid-tone hue, so a black mark still read against it by accident; **zinc**'s
|
|
202
|
+
`primary[500]` is `#18181b` (near-black by design — see zinc's palette comment), so the black-on-
|
|
203
|
+
near-black logo was effectively invisible. Fixed by switching all three paths to `fill="currentColor"`
|
|
204
|
+
so the mark always matches whatever `color` its wrapper sets, regardless of brand — `DefaultLogo` no
|
|
205
|
+
longer needs `useCustomTheme()` at all.
|
|
206
|
+
|
|
207
|
+
That alone wasn't sufficient: the wrapper `Box` itself hardcoded `color={theme.colors.white}`
|
|
208
|
+
regardless of mode. Zinc **inverts** its dark palette — `primary[500]` is `#18181b` in light but
|
|
209
|
+
`#e4e4e7` (near-white) in dark — so a hardcoded-white icon on a hardcoded-white-in-dark-mode fill
|
|
210
|
+
went invisible again, this time in dark mode. Fixed with the same `onFilled(fill, white, black)`
|
|
211
|
+
WCAG-pick helper already used for the calendar's selected-day circle and `Button.styles.ts`'s solid
|
|
212
|
+
variant: `color={onFilled(theme.colors.primary[500], theme.colors.white, theme.colors.black)}`. Any
|
|
213
|
+
future "icon on a `primary[500]` fill" spot should use this same helper rather than assuming white
|
|
214
|
+
always clears — zinc dark is the proof case that it doesn't.
|
|
215
|
+
|
|
216
|
+
### Known gap — Header "Login" demo button (raw Chakra, wrong-canvas ghost ink)
|
|
217
|
+
|
|
218
|
+
`Layout.tsx`'s `/header` playground route renders its `rightSlot` demo content with a **raw**
|
|
219
|
+
Chakra `Button` (`import { Button } from "@chakra-ui/react"`, not the library's own `Button`),
|
|
220
|
+
`variant="ghost" colorScheme="purple"`. Because Chakra's theme registration is global once
|
|
221
|
+
`extendTheme` runs, this raw Button still picks up the library's `Button.styles.ts` ghost-variant
|
|
222
|
+
logic (`accentTextOnCanvas(scale, colors.backgroundColor.main)`, buttons module) — but that logic
|
|
223
|
+
assumes the **page** canvas. Header's own bar is an always-dark surface
|
|
224
|
+
(`sidebar.background[500]`), not the page canvas, so the computed ink is tuned for the wrong
|
|
225
|
+
background and can read too dark/low-contrast against Header's actual bar. Not a new bug — it's
|
|
226
|
+
the same "wrong canvas" gap as the already-documented Button ghost-variant limitation, now
|
|
227
|
+
independently confirmed by the QA pass. Deferred: fixing it correctly needs a `canvasBg` prop
|
|
228
|
+
threaded through `Button.styles.ts` so a caller can tell the ghost/outline/link ink helper which
|
|
229
|
+
surface it's actually rendering on, rather than always assuming the page canvas — a bigger,
|
|
230
|
+
cross-component change out of scope for this pass.
|
|
231
|
+
|
|
232
|
+
## SideBar — responsive overlay (< lg / 992px)
|
|
233
|
+
|
|
234
|
+
At/above `lg` the SideBar is unchanged: inline, sticky, with the collapse/mini-rail
|
|
235
|
+
(`toggle`). Below `lg` it becomes a slide-in **overlay** above the content (it leaves
|
|
236
|
+
layout flow, so content stays full-width — not shrunk):
|
|
237
|
+
|
|
238
|
+
- `mobileOpen?: boolean` + `onMobileClose?: () => void` props drive the overlay. Wire
|
|
239
|
+
`mobileOpen` to the NavigationBar hamburger (`sideBarToggole` / `onSideBarToggole`).
|
|
240
|
+
- Overlay is always expanded (collapse/mini-rail is desktop-only and hidden < lg). The
|
|
241
|
+
header's trailing control becomes a Close (X) instead of the collapse chevron.
|
|
242
|
+
- Dismiss: backdrop scrim click, **Esc**, the Close button, or **swipe-left** on the
|
|
243
|
+
panel. Body scroll is locked while open; panel exposes `role="dialog"`/`aria-modal`.
|
|
244
|
+
- NavigationBar hamburger now shows below `lg` (was `< md`); its panel icon is
|
|
245
|
+
state-aware (`PanelLeftClose` open / `PanelRightClose` closed).
|
|
246
|
+
- The overlay panel has **square edges** (no border radius).
|
|
247
|
+
- Overlay panel width = `OVERLAY_WIDTH` (**14.7rem** / 235px — a touch wider than the
|
|
248
|
+
inline expanded 13rem for touch), capped by `maxW: 88vw` on very small screens.
|
|
249
|
+
|
|
250
|
+
Breakpoint, scrim/slide, and z-index are Chakra responsive props (no JS flash) when
|
|
251
|
+
`mobileNav` is off; the breakpoint is read once via `useBreakpointValue({ base: true, lg: false })`.
|
|
252
|
+
|
|
253
|
+
## SideBar — Hide/Show (mobile navbar on big screens)
|
|
254
|
+
|
|
255
|
+
A footer **Hide/Show** toggle (next to Collapse) switches the navbar *presentation*
|
|
256
|
+
between the docked desktop sidebar and the mobile-style overlay — at **any** width, so
|
|
257
|
+
desktop users can get the full-screen content experience. It is a layout switch, **not**
|
|
258
|
+
a close: toggling never hides the navigation.
|
|
259
|
+
|
|
260
|
+
- `mobileNav?: boolean` forces overlay presentation regardless of breakpoint:
|
|
261
|
+
`overlay = (below lg) || mobileNav`. `onToggleMobileNav?: () => void` backs the
|
|
262
|
+
footer control (render the control only when provided).
|
|
263
|
+
- Footer control: docked → segmented **Collapse | Hide**; desktop mobile-nav overlay →
|
|
264
|
+
**Show** (return to docked). Pure below-`lg` overlay shows no navbar-mode control.
|
|
265
|
+
- Wire so entering mobile-nav also opens the overlay (sidebar stays visible) and leaving
|
|
266
|
+
docks it — see `App.tsx`. NavigationBar `forceSideBarToggle` shows the hamburger at all
|
|
267
|
+
widths while `mobileNav` is on.
|
|
268
|
+
- Selecting a **leaf** menu item in overlay mode auto-closes the overlay (content returns
|
|
269
|
+
to full-screen); submenu **parents** only expand and do not close it.
|
|
270
|
+
|
|
271
|
+
## Persisting sidebar choices — `useSidebarPrefs`
|
|
272
|
+
|
|
273
|
+
Opt-in hook (`src/Hooks/useSidebarPrefs.ts`, exported from `index.ts`) that persists the
|
|
274
|
+
user's **explicit** layout choices to `localStorage` so they survive reload/restart —
|
|
275
|
+
without it, `mobileNav`/collapse reset to desktop default on every mount.
|
|
276
|
+
|
|
277
|
+
- Persists `{ mobileNav, collapsed, mobileOpen }` so the sidebar restores to **exactly** the
|
|
278
|
+
same state (mode, mini-rail, drawer). It deliberately does **not** persist the `lg`
|
|
279
|
+
breakpoint (viewport-driven, must stay live).
|
|
280
|
+
- SSR-safe (`typeof window` guards); corrupt/invalid stored values fall back to defaults
|
|
281
|
+
per field; `setItem` failures (private mode / quota) no-op without throwing.
|
|
282
|
+
- API: state `{ mobileNav, collapsed, mobileOpen }`; setters `setMobileNav / setCollapsed
|
|
283
|
+
/ setMobileOpen`; toggles `toggleMobileNav / toggleCollapsed / toggleMobileOpen`; plus
|
|
284
|
+
**composed handlers** `onToggleMobileNav` (flips navbar mode **and** syncs the drawer)
|
|
285
|
+
and `closeMobile`. Options: `storageKey` (default `pixelize:sidebar-prefs:v1`, versioned)
|
|
286
|
+
and `defaults`.
|
|
287
|
+
- **Consumer adoption** — map the returned values onto `SideBar` + `NavBar`; the composed
|
|
288
|
+
handlers mean apps don't re-implement the navbar-mode/drawer behavior:
|
|
289
|
+
|
|
290
|
+
```tsx
|
|
291
|
+
const sb = useSidebarPrefs();
|
|
292
|
+
<SideBar
|
|
293
|
+
toggle={sb.collapsed} changeToggle={sb.toggleCollapsed}
|
|
294
|
+
mobileNav={sb.mobileNav} onToggleMobileNav={sb.onToggleMobileNav}
|
|
295
|
+
mobileOpen={sb.mobileOpen} onMobileClose={sb.closeMobile} /* ...menus, user */ />
|
|
296
|
+
<NavBar sideBarToggole={sb.mobileOpen} onSideBarToggole={sb.toggleMobileOpen}
|
|
297
|
+
forceSideBarToggle={sb.mobileNav} /* ...nav props */ />
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
See `App.tsx` for the live reference wiring.
|
|
301
|
+
|
|
302
|
+
### Known gaps
|
|
303
|
+
|
|
304
|
+
- `SecondaryBar` keeps its current side-by-side stacking inside the overlay — revisit if
|
|
305
|
+
it feels cramped on very narrow screens.
|
|
306
|
+
- Consumer apps (crm/account/…) must pass `mobileOpen`/`onMobileClose` to adopt overlay
|
|
307
|
+
mode, and adopt `useSidebarPrefs` to get persistence; until then they get the unchanged
|
|
308
|
+
inline sidebar with non-persisted state.
|
|
309
|
+
- Persisted `collapsed` can be transiently overridden by SideBar's existing "auto-collapse
|
|
310
|
+
when a secondary panel is active" effect — pre-existing, not regressed.
|
|
311
|
+
- Persisting `mobileOpen` means a phone (`belowLg`) left with the drawer open reloads with
|
|
312
|
+
it open (until a leaf tap auto-closes it). Accepted to honor "restore exactly the same
|
|
313
|
+
state"; revisit with a `belowLg` gate if it proves annoying.
|
|
314
|
+
- Dark-mode migration covered FilterSidebar/WorkspaceWindow (surfaces) plus, this pass,
|
|
315
|
+
Header (default bg/color/active/hover tokens), NavigationBar (label ink + Menu
|
|
316
|
+
`--menu-bg` fix), and Accordion (item surface + expanded/hover tint — see above) — see
|
|
317
|
+
"Header, NavigationBar, FilterSidebar — WCAG/dark pass" above. **SideBar's active-icon/
|
|
318
|
+
label accent is now fixed** (see "SideBar — active-icon/label dark-mode fix" above); its
|
|
319
|
+
notification-count badge contrast gap is still open — see `theme/MODULE.md` Known gaps.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Overlays
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Modal, AlertDialog, ToolTip / OverflowToolTip, Toaster (+ `useToaster` hook).
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/Modal/`, `AlertDialog/`, `ToolTip/`, `Toaster/`
|
|
10
|
+
|
|
11
|
+
## Key rules
|
|
12
|
+
|
|
13
|
+
- **Toaster `showToast({ actions })`:** optional `actions?: (onClose) => ReactNode`
|
|
14
|
+
renders action buttons under the message (e.g. Jira-style "View" / "Copy link").
|
|
15
|
+
The render-prop receives the toast's own `onClose` so an action can dismiss it;
|
|
16
|
+
callers style the buttons with their app theme. Prefer this over a bespoke Chakra
|
|
17
|
+
`useToast` in a consumer app — a second `useToast` renders into a *different* toast
|
|
18
|
+
portal that a `Modal`'s overlay/focus-trap can hide, so the toast silently never
|
|
19
|
+
appears. The toast card slides in (framer tween), pulses the status icon once on
|
|
20
|
+
mount, and **pauses the auto-dismiss countdown on hover** so the user can read and
|
|
21
|
+
click an action before it dismisses.
|
|
22
|
+
- Modal exports ModalHeader, ModalBody, ModalFooter subcomponents
|
|
23
|
+
- **ToolTip `overflowOnly`:** pass `overflowOnly` to show the tooltip **only**
|
|
24
|
+
when the child text is actually truncated (ellipsis active) — no tooltip when
|
|
25
|
+
it fits. The child must be the single clamping element (e.g. `Text` with
|
|
26
|
+
`noOfLines`); its ref is managed internally. Works for single- and multi-line
|
|
27
|
+
clamps and combines with `isDisabled`. **`OverflowToolTip`** is sugar for
|
|
28
|
+
`<ToolTip overflowOnly>`. Powered by the `useIsTruncated` hook (see
|
|
29
|
+
`utils-hooks`). Inert unless `overflowOnly` is set — no measurement/observer
|
|
30
|
+
for ordinary tooltips, and it never measures on hover/scroll.
|
|
31
|
+
|
|
32
|
+
## Dark mode
|
|
33
|
+
|
|
34
|
+
Toaster and ToolTip take all color from the theme (`useTheme()` / `useCustomTheme()`),
|
|
35
|
+
so they follow the active light/dark palette; remaining hex literals are only `??`
|
|
36
|
+
fallbacks for when no Pixelize palette is in context.
|
|
37
|
+
|
|
38
|
+
- **Modal/AlertDialog surface bug — now fixed at the theme level, not per-component.**
|
|
39
|
+
Chakra's own `Modal` baseStyle hardcodes `[$bg.variable]: "colors.white"` on the `dialog`
|
|
40
|
+
part, gated behind `_dark` — this app's theme-swap dark mode (palette swapped, Chakra
|
|
41
|
+
`colorMode` stays `"light"`) never triggers that block, so every `ModalContent` rendered a
|
|
42
|
+
white panel with near-invisible text on the dark canvas. `AlertDialog` reuses Chakra's
|
|
43
|
+
`Modal` style config internally, so it inherits the same fix with no separate theme key.
|
|
44
|
+
Fixed centrally in `Theme/chakra/Modal.styles.ts` (`definePartsStyle` on the `dialog` part,
|
|
45
|
+
registered as `Modal` in `componentStyles.ts`) — mirrors `Menu.styles.ts`/`Drawer.styles.ts`.
|
|
46
|
+
A prior pass fixed this per-call-site with an explicit `bg=` prop; that approach is
|
|
47
|
+
superseded by this theme-level override, which covers every `ModalContent`/`AlertDialogContent`
|
|
48
|
+
app-wide with zero per-call-site changes (an explicit `bg=` still wins if a caller sets one).
|
|
49
|
+
- **Popover surface bug** — same bug class, fixed in `Theme/chakra/Popover.styles.ts`
|
|
50
|
+
(`--popper-bg` + `--popper-arrow-shadow-color`, registered as `Popover` in
|
|
51
|
+
`componentStyles.ts`) — see theme module Wave H. Every bare `<PopoverContent>` in the
|
|
52
|
+
library (this module doesn't own a dedicated Popover component folder — Popover is used
|
|
53
|
+
directly from Chakra by many components, e.g. `OrgSwitcher`, `MoreItems`, `SideBar`,
|
|
54
|
+
`DatePicker`) now gets a dark-aware surface for free.
|
|
55
|
+
|
|
56
|
+
## Dark mode — Modal/AlertDialog consumers
|
|
57
|
+
|
|
58
|
+
`Drawer` (layout-navigation module) has the identical theme-level fix (`Drawer.styles.ts`). Many
|
|
59
|
+
consumer components (see account-management, table, cards MODULE.md) additionally carry an
|
|
60
|
+
explicit per-call-site `bg=` from an earlier pass, predating the theme-level `Modal`/`Drawer`
|
|
61
|
+
style overrides above — now redundant but harmless (an explicit prop still wins, same value).
|
|
62
|
+
`WorkspaceWindow` (layout-navigation) was checked and is **not** affected: its `ModalContent` is
|
|
63
|
+
deliberately `bg="transparent"` with an inner `Box bg={theme.colors.background[50]}` as the real
|
|
64
|
+
surface.
|
|
65
|
+
|
|
66
|
+
- **Toast card surface is `background[50]`, not `colors.white`** — `white` is a
|
|
67
|
+
*foreground* token (a label on a filled button) and stays white in dark mode.
|
|
68
|
+
Status tints read `colors.semantic[status]`, falling back to the plain ramp
|
|
69
|
+
(`green` / `red` / …).
|
|
70
|
+
- **ToolTip is an inverted surface** — near-black under a light canvas, carrying a
|
|
71
|
+
white label. It uses `sidebar.background[500]`, the one ramp `buildDarkPalette`
|
|
72
|
+
passes through un-inverted (`sidebar: light.sidebar`), so it stays near-black in
|
|
73
|
+
dark and the label stays legible; any other surface ramp would flip light and
|
|
74
|
+
render the white label invisible. Callers overriding `bg` own that contrast.
|
|
75
|
+
- **Chakra's raw `Tooltip` baseStyle** hardcodes `--tooltip-bg`/`--tooltip-fg` to
|
|
76
|
+
`gray.700`/`whiteAlpha.900` behind `_dark`, same never-triggered gate — our reversed dark
|
|
77
|
+
gray ramp makes `gray.700` LIGHT, so a bare (non-`ToolTip`) Chakra `<Tooltip>` renders
|
|
78
|
+
near-white-on-near-white. Fixed with a `Tooltip` entry in `componentStyles.ts` pinning both
|
|
79
|
+
vars to `black`/`white` — the two tokens `buildDarkPalette` never remaps, so the chip stays a
|
|
80
|
+
stable dark-bg/white-text pair in both modes. This library's own `ToolTip` above already sets
|
|
81
|
+
its own `bg`/`color` explicitly and is unaffected; the fix targets consumer apps that render a
|
|
82
|
+
raw Chakra `Tooltip` directly instead of this component.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Playground
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Vite dev playground — demo pages not published to npm.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Pages/` (49 demo files), `src/App.tsx`, `src/Layout.tsx`
|
|
10
|
+
- `npm start` launches playground
|
|
11
|
+
|
|
12
|
+
## Key rules
|
|
13
|
+
|
|
14
|
+
- Demo API calls to dev.pixelizetech.com are playground-only
|
|
15
|
+
- Not included in `dist/` publish output
|
|
16
|
+
|
|
17
|
+
## Recent changes (WCAG contrast + dark-mode pass)
|
|
18
|
+
|
|
19
|
+
- `stageProgress.tsx`, `tier1.tsx`, `upgradeButton.tsx`, `orgSwitcher.tsx`: local `Section` demo
|
|
20
|
+
wrapper switched from hardcoded `bg="white"` / `border="1px solid #E2E8F0"` / `color="gray.700"`
|
|
21
|
+
to `useCustomTheme()` tokens (`background[50]` / `boxborder[300]` / `text[900]`) — previously
|
|
22
|
+
stayed white regardless of the active theme.
|
|
23
|
+
- `stageProgress.tsx` (4 captions) and `tier1.tsx` (1 caption): `color="gray.400"` →
|
|
24
|
+
`theme.colors.gray[500]`, the library's verified muted-text token (`gray.400` fails contrast in
|
|
25
|
+
dark mode).
|
|
26
|
+
- `card.tsx`: swapped the raw Chakra `Button` (`color="blue"`) for the library's own `Button`
|
|
27
|
+
(`colorScheme="primary"`) — a component-choice fix, not a Section/caption token pass.
|
|
28
|
+
- Demo-only — no `src/index.ts` export or library API changed.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Table
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Data table with virtualization, filters, pagination, column management.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/Table/`, `Table/components/`, `Table/settings/`, `Table/filters/`, `Table/hooks/`
|
|
10
|
+
- Tests: `components/TableBody.virtualize.test.tsx`, `settings/ManageColumns.test.tsx`
|
|
11
|
+
|
|
12
|
+
## Key rules
|
|
13
|
+
|
|
14
|
+
- Core CRM list UI — high change frequency
|
|
15
|
+
- `src/Utils/table.ts` helpers
|
|
16
|
+
|
|
17
|
+
## Dark mode
|
|
18
|
+
|
|
19
|
+
Surfaces read `theme.colors.background[50]` via `useCustomTheme()`, so the table follows the
|
|
20
|
+
active palette: `Table` (pagination popover), `TableBody` (expanded-row panel), `CompactSelect`
|
|
21
|
+
(trigger), `LeftFilterPane` (pane + apply/clear footer).
|
|
22
|
+
|
|
23
|
+
- **`white` is a foreground token, not a surface.** It stays `#fff` in dark, so `bg="white"` /
|
|
24
|
+
`bg={theme.colors.white}` renders a white slab on the dark canvas — that was the defect this
|
|
25
|
+
migration fixed. Use `background[50]` (`#ffffff` light, dark-aware) for any surface.
|
|
26
|
+
`color="white"` on the filter-count badge is correct — it is a label on `primary[500]`.
|
|
27
|
+
- Chakra scale literals (`borderColor="gray.200"`, `_hover={{ bg: "gray.50" }}`) are **already
|
|
28
|
+
dark-aware** — `createBrandTheme` passes `colors: palette`, so they resolve against the
|
|
29
|
+
swapped palette. Only for scales the palette defines: `whiteAlpha`/`blackAlpha` are not in it,
|
|
30
|
+
so they keep Chakra's fixed rgba — `TableGroupRow`'s `_hover={{ bg: "whiteAlpha.500" }}` is
|
|
31
|
+
still a white wash in dark.
|
|
32
|
+
- `LeftFilterPane` takes `theme` as a **prop** (from `Table`), not from the hook — pass it down.
|
|
33
|
+
|
|
34
|
+
## WCAG contrast pass (this session)
|
|
35
|
+
|
|
36
|
+
- `HeaderActions` action-list ink and `TableHeader`'s sort-chevron hover ink + column-header ink
|
|
37
|
+
now use `accentTextOnCanvas(secondary, canvas)` (from `Theme/tokens/builders/accentText`)
|
|
38
|
+
instead of a bare `colors.secondary?.[500]` — picks a text color that clears AA against the
|
|
39
|
+
actual canvas instead of assuming secondary-on-white always passes. Relies on the shared
|
|
40
|
+
`accentText.ts` guard (theme module) to stay crash-safe when `secondary`/canvas are undefined.
|
|
41
|
+
- `TableBody`'s `StatusCell` ink is no longer hardcoded `white` — it resolves
|
|
42
|
+
`statusColor.onSolid ?? onFilled(statusColor.solid, white, black)` so the label clears AA
|
|
43
|
+
against light and dark status fills alike; falls back for callers whose `statusColor` predates
|
|
44
|
+
`onSolid`.
|
|
45
|
+
- `TableRenderGroup.color` gained an optional `onSolid?: string` (additive, non-breaking).
|
|
46
|
+
- `LeftFilterPane`'s `SectionLabel` tooltip swapped Chakra `Tooltip` → design-library `ToolTip`
|
|
47
|
+
(drops the manual `bg`/`color`/`theme`-prop overrides — `ToolTip` themes itself).
|
|
48
|
+
- **Filter-sidebar `ModalContent` surface bug (QA-caught, blocking):** `Table.tsx`'s mobile
|
|
49
|
+
filter-sidebar modal had no explicit `bg=` on `ModalContent`, hitting the same
|
|
50
|
+
Chakra-hardcoded-`colors.white`-behind-`_dark` bug as `Modal`/`AlertDialog`/`Drawer` (overlays,
|
|
51
|
+
layout-navigation modules). Fixed with `bg={theme.colors?.background?.[50]}`.
|
|
52
|
+
`TableSettings.tsx`'s `MotionModalContent` already had this fix from an earlier pass.
|
|
53
|
+
- **`LeftFilterPane`'s date filter (user-reported, blocking):** `LeftFilterPane.tsx` imports the
|
|
54
|
+
legacy `DatePicker/DatePicker.tsx` directly (not the public `ThemeDatePicker` export) — its
|
|
55
|
+
`PopoverContent` had the identical missing-`bg=` bug, fixed alongside the other three date/time
|
|
56
|
+
pickers (see `inputs-date-file` MODULE.md). It's easy to assume this file is dead because the
|
|
57
|
+
playground's `datePick.tsx` import of it is commented out — it isn't; `LeftFilterPane` is a real
|
|
58
|
+
consumer.
|
|
59
|
+
- **Row hover invisible in dark mode (QA-reported, fixed):** `TableBody`'s per-cell `_hover`
|
|
60
|
+
painted `table.hover[300]`, a token built for a light-mode white canvas — in dark mode that rung
|
|
61
|
+
sits within ~10 lightness points of the near-black canvas (both compressed near L7-15), computing
|
|
62
|
+
to ~1.2:1 contrast (verified numerically), i.e. no visible hover at all. Fixed via a new pure
|
|
63
|
+
helper, `getTableRowHoverStyle(colors, isDark)` (`components/tableRowHoverStyle.ts`, same pattern
|
|
64
|
+
as `Editor/joditThemeVars.ts`): dark mode now fills with `background[900]` (this palette's dark-
|
|
65
|
+
mode "bright highlight" rung, ~9.7-10.7:1 against the canvas across brands) **and** flips `color`
|
|
66
|
+
to `backgroundColor.main`, since the row's resting ink (`text[500]`) is tuned for a near-black
|
|
67
|
+
backdrop and would go illegible against a bright fill — mirrors how Jodit's own dark-mode hover
|
|
68
|
+
rule flips text to its canvas color alongside a brighter fill. Light mode is untouched
|
|
69
|
+
(`table.hover[300]`, same as before). Regression tests: `tableRowHoverStyle.test.ts` (lavender +
|
|
70
|
+
rosewood). Scoped to the per-cell hover mechanism already in place — not restructured to a
|
|
71
|
+
`<Tr>`-level highlight, since that wasn't the reported defect.
|
|
72
|
+
- **`TableSettings.tsx` enclosed-tab "cutout" bug (theme-level fix):** Chakra's own `Tabs`
|
|
73
|
+
baseStyle hardcodes the selected tab's cutout color to `colors.white` for the `enclosed`
|
|
74
|
+
(selected border) and `enclosed-colored` (selected background) variants, both behind `_dark`,
|
|
75
|
+
same never-triggered gate. `TableSettings.tsx` is this library's only consumer of Chakra's raw
|
|
76
|
+
`TabList`/`TabPanels`. Fixed centrally in `Theme/chakra/Tabs.styles.ts` (registered in
|
|
77
|
+
`componentStyles.ts`), overriding both variants' selected-tab cutout token.
|
|
78
|
+
- **Known gap (found by code review, not fixed this pass):** `Table/filters/CompactSelect.tsx`,
|
|
79
|
+
`Table/filters/TableFilters.tsx`, and `Table/components/TableActions.tsx` each render a raw
|
|
80
|
+
Chakra `PopoverContent` with no `bg=` — the identical bug class just fixed in `Table.tsx`'s
|
|
81
|
+
filter-sidebar modal, `FilterSidebar.tsx`'s two price popovers (layout-navigation module), and
|
|
82
|
+
`Modal`/`AlertDialog`/`Drawer` (overlays module). Not in this session's diff and not covered by
|
|
83
|
+
any test, so deliberately deferred rather than expanding this pass's scope — worth a follow-up
|
|
84
|
+
ticket to make the `ModalContent`/`PopoverContent`/`MenuList` sweep exhaustive across the repo.
|