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.
- 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 +34 -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 +32 -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 +56 -0
- package/.cursor/modules/inputs-select/MODULE.md +27 -0
- package/.cursor/modules/inputs-toggle/MODULE.md +18 -0
- package/.cursor/modules/kanban/MODULE.md +22 -0
- package/.cursor/modules/layout-navigation/MODULE.md +269 -0
- package/.cursor/modules/overlays/MODULE.md +69 -0
- package/.cursor/modules/playground/MODULE.md +28 -0
- package/.cursor/modules/table/MODULE.md +78 -0
- package/.cursor/modules/theme/MODULE.md +314 -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.map +1 -1
- package/dist/Assets/defaultLogo.tsx +30 -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.js +1 -1
- 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 +1 -1
- package/dist/Components/DatePicker/TimeOnlyPicker.d.ts.map +1 -1
- package/dist/Components/DatePicker/TimeOnlyPicker.js +3 -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/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 +18 -4
- 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 +3 -1
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts.map +1 -1
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +5 -1
- 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 +13 -0
- package/dist/Theme/chakra/componentStyles.d.ts.map +1 -0
- package/dist/Theme/chakra/componentStyles.js +88 -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 +36 -0
- package/dist/Theme/provider/PixelizeThemeProvider.d.ts.map +1 -0
- package/dist/Theme/provider/PixelizeThemeProvider.js +91 -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 +99 -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/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -1
- package/eslint.config.js +48 -0
- package/index.html +13 -0
- package/package.json +1 -5
- package/vite.config.ts +13 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(git ls-tree *)",
|
|
5
|
+
"Bash(npx --no-install tsc --noEmit)",
|
|
6
|
+
"Bash(git fsck *)",
|
|
7
|
+
"Bash(npx tsc *)",
|
|
8
|
+
"Bash(curl -s http://localhost:5174/ -o /dev/null -w \"HTTP %{http_code}\\\\n\")",
|
|
9
|
+
"Bash(curl -s \"http://localhost:5174/src/Components/Table/Components/TableBody.tsx\" -o /dev/null -w \"transform TableBody: HTTP %{http_code}\\\\n\")",
|
|
10
|
+
"Read(//private/tmp/**)",
|
|
11
|
+
"Bash(npx jest *)",
|
|
12
|
+
"Bash(pkill -f \"vite\")",
|
|
13
|
+
"Bash(grep -rln -E \"import\\\\s+\\\\w+\\\\s*\\(,\\\\s*\\\\{[^}]*\\\\}\\)?\\\\s*from\\\\s+['\\\\\"]pixelize-design-library['\\\\\"]\" src)",
|
|
14
|
+
"Bash(ps -p 44521 60411 -o pid,command)",
|
|
15
|
+
"Bash(node -e \"const p=require\\('./package.json'\\); console.log\\(JSON.stringify\\(p.scripts,null,2\\)\\)\")",
|
|
16
|
+
"Bash(echo \"=== total errors: $\\(npx tsc --noEmit -p tsconfig.json 2>&1)",
|
|
17
|
+
"Bash(echo \"=== total: $\\(npx tsc --noEmit -p tsconfig.json 2>&1)",
|
|
18
|
+
"Bash(echo \"exit=$?\")",
|
|
19
|
+
"Read(//tmp/**)",
|
|
20
|
+
"Bash(git mv *)",
|
|
21
|
+
"Bash(git rm *)",
|
|
22
|
+
"Bash(node -e \"console.log\\(require\\('@emotion/react/package.json'\\).version\\)\")",
|
|
23
|
+
"Bash(node -e \"console.log\\('jodit-react', require\\('jodit-react/package.json'\\).version\\); try{console.log\\('jodit', require\\('jodit/package.json'\\).version\\)}catch\\(e\\){}\")",
|
|
24
|
+
"Bash(node -e \"console.log\\('playwright', require\\('playwright/package.json'\\).version\\)\")",
|
|
25
|
+
"Bash(node -e \"console.log\\('puppeteer', require\\('puppeteer/package.json'\\).version\\)\")",
|
|
26
|
+
"Bash(node -e \"console.log\\('ws', require\\('ws/package.json'\\).version\\)\")",
|
|
27
|
+
"Bash(node -e \"console.log\\('node', process.version\\)\")",
|
|
28
|
+
"Bash(grep -E \"\\\\.tsx?$\")",
|
|
29
|
+
"Bash(node -e \"console.log\\(require.resolve\\('@chakra-ui/styled-system'\\)\\)\")",
|
|
30
|
+
"Bash(node -e \"const p=require.resolve\\('@chakra-ui/react'\\);console.log\\(p\\)\")",
|
|
31
|
+
"Bash(sed -n '31,45p' src/Pages/table.tsx)",
|
|
32
|
+
"Bash(perl -0pi -e 's/\\\\n\\\\s*content: \\\\\\(\\\\\\) => <>Hello<\\\\/>,?//' src/Pages/table.tsx)",
|
|
33
|
+
"Bash(cd /Users/mahesh/Applications/Pixelize/CRM/Micro-Components *)",
|
|
34
|
+
"Bash(node -e \"console.log\\(require\\('./node_modules/pixelize-design-library/package.json'\\).version\\)\")",
|
|
35
|
+
"Bash(node -e \"console.log\\(JSON.stringify\\(require\\('./node_modules/pixelize-authenticator/package.json'\\).dependencies\\)\\)\")",
|
|
36
|
+
"Bash(node -e \"console.log\\(require\\('./node_modules/pixelize-authenticator/package.json'\\).version\\)\")",
|
|
37
|
+
"Bash(node -e \"console.log\\(require\\('./node_modules/pixelize-authenticator/node_modules/pixelize-design-library/package.json'\\).version\\)\")",
|
|
38
|
+
"Bash(echo \"tsc exit code: $?\")",
|
|
39
|
+
"Bash(./node_modules/.bin/tsc --noEmit --skipLibCheck)",
|
|
40
|
+
"Bash(./node_modules/.bin/tsc --noEmit)",
|
|
41
|
+
"Bash(echo \"tsc exit: $?\")",
|
|
42
|
+
"Bash(echo \"local tsc exit: $?\")",
|
|
43
|
+
"Bash(ls -la src/pages/Tasks/TaskComponent/)",
|
|
44
|
+
"Bash(wc -l src/pages/Tasks/TaskComponent/*.tsx)"
|
|
45
|
+
],
|
|
46
|
+
"additionalDirectories": [
|
|
47
|
+
"/private/tmp",
|
|
48
|
+
"/tmp"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Task pipeline — one-time developer setup
|
|
2
|
+
|
|
3
|
+
Hooks in this repo work automatically after clone.
|
|
4
|
+
|
|
5
|
+
## Recommended (global skills + status line)
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
git clone git@github.com:pixelize-tech/pixelize-cursor-setup.git
|
|
9
|
+
cd pixelize-cursor-setup && ./install.sh
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Installs all cross-repo `/` skills (`crm-task`, `social-task`, …), status line, and `cli-config.json`. Restart Cursor.
|
|
13
|
+
|
|
14
|
+
Repo: https://github.com/pixelize-tech/pixelize-cursor-setup
|
|
15
|
+
|
|
16
|
+
## Manual status line only
|
|
17
|
+
|
|
18
|
+
1. Copy the script to your user Cursor folder:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
cp .cursor/pixelize-task-statusline.sh ~/.cursor/pixelize-task-statusline.sh
|
|
22
|
+
chmod +x ~/.cursor/pixelize-task-statusline.sh
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. Add to `~/.cursor/cli-config.json` (merge if the file already exists):
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"statusLine": {
|
|
30
|
+
"type": "command",
|
|
31
|
+
"command": "~/.cursor/pixelize-task-statusline.sh",
|
|
32
|
+
"padding": 0
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
3. Restart Cursor or open a new Agent chat.
|
|
38
|
+
|
|
39
|
+
## Task skill (feature work)
|
|
40
|
+
|
|
41
|
+
- Pick **`task`** from the **`/`** menu, then describe your goal.
|
|
42
|
+
- Do **not** type `/task` in the message body — a hook will block it (zero tokens wasted).
|
|
43
|
+
- See repo `CLAUDE.md` for the cross-repo skill name if applicable.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: be-impl
|
|
3
|
+
description: >-
|
|
4
|
+
Handles build, exports, and publish pipeline changes. Use in @task phase 2
|
|
5
|
+
when plan includes index.ts, tsc build, or npm publish steps.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the lib-impl (build/export) agent for **Pixelize Design Library** (Micro-Components).
|
|
9
|
+
|
|
10
|
+
Note: This repo has no backend API. This agent covers build pipeline, not crm-service.
|
|
11
|
+
|
|
12
|
+
## When invoked
|
|
13
|
+
|
|
14
|
+
1. Read CLAUDE.md and .cursor/rules
|
|
15
|
+
2. Read the plan from .cursor/plans/current.md
|
|
16
|
+
3. Read `.cursor/modules/types-exports/MODULE.md`
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. Work only inside Micro-Components
|
|
21
|
+
2. Update `src/index.ts` exports
|
|
22
|
+
3. Verify `tsconfig.json` and build output in `dist/`
|
|
23
|
+
4. Run `npm run build` to validate
|
|
24
|
+
5. Update MODULE.md if export surface changes
|
|
25
|
+
6. Do not run `npm publish` unless user explicitly requests
|
|
26
|
+
|
|
27
|
+
## Output
|
|
28
|
+
|
|
29
|
+
- Done / Blocked lists
|
|
30
|
+
- Files changed
|
|
31
|
+
- Build result (pass/fail)
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- Never edit `dist/` directly — change `src/` and rebuild
|
|
36
|
+
- Never commit without user confirmation
|
|
37
|
+
- Never break existing exports without noting semver impact
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fe-impl
|
|
3
|
+
description: >-
|
|
4
|
+
Implements component changes from an approved plan. Use in @task phase 2
|
|
5
|
+
for UI components, theme, and playground pages.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the fe-impl (component implementation) agent for **Pixelize Design Library** (Micro-Components).
|
|
9
|
+
|
|
10
|
+
## When invoked
|
|
11
|
+
|
|
12
|
+
1. Read CLAUDE.md and .cursor/rules
|
|
13
|
+
2. Read the plan from .cursor/plans/current.md — do not replan
|
|
14
|
+
3. Read `.cursor/modules/<domain>/MODULE.md` for every domain you will touch
|
|
15
|
+
4. Read one existing similar component before starting
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Work only inside Micro-Components
|
|
20
|
+
2. Implement in `src/Components/<Name>/`
|
|
21
|
+
3. Add/update demo in `src/Pages/` if needed for playground
|
|
22
|
+
4. Export from `src/index.ts` for public API
|
|
23
|
+
5. Use Chakra + theme tokens from `src/Theme/` — match existing patterns
|
|
24
|
+
6. Always handle null/undefined, loading, and error states
|
|
25
|
+
7. Update `.cursor/modules/<domain>/MODULE.md` after implementation
|
|
26
|
+
8. Keep changes minimal — no scope creep
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
- Done: bullet list of completed tasks
|
|
31
|
+
- Files changed: every file path with one-line description
|
|
32
|
+
- Blocked: anything not completed with exact reason
|
|
33
|
+
- Notes for test-create: what needs Jest coverage
|
|
34
|
+
|
|
35
|
+
## Rules
|
|
36
|
+
|
|
37
|
+
- Never add app-specific CRM/API logic to library components
|
|
38
|
+
- Never commit
|
|
39
|
+
- No placeholder files or fake demo data
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-plan
|
|
3
|
+
description: >-
|
|
4
|
+
Creates implementation plans from user goals. Use in @task phase 1, or when
|
|
5
|
+
a structured plan is needed before coding.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the task-plan agent for **Pixelize Design Library** (Micro-Components). Produce a concrete actionable plan — do not write code.
|
|
9
|
+
|
|
10
|
+
## When invoked
|
|
11
|
+
|
|
12
|
+
1. Read CLAUDE.md and .cursor/rules
|
|
13
|
+
2. Read .cursor/plans/current.md if it exists — user may be resuming
|
|
14
|
+
3. Read `.cursor/modules/<domain>/MODULE.md` for every component domain touched
|
|
15
|
+
4. Ask a question only if the goal is genuinely ambiguous
|
|
16
|
+
5. Output a plan implementation agents can execute without replanning
|
|
17
|
+
|
|
18
|
+
## Plan format
|
|
19
|
+
|
|
20
|
+
# [Component / task title]
|
|
21
|
+
|
|
22
|
+
## Goal
|
|
23
|
+
|
|
24
|
+
One paragraph
|
|
25
|
+
|
|
26
|
+
## Type
|
|
27
|
+
|
|
28
|
+
feat / fix / refactor / chore
|
|
29
|
+
|
|
30
|
+
## Scope
|
|
31
|
+
|
|
32
|
+
- In scope: ...
|
|
33
|
+
- Out of scope: ...
|
|
34
|
+
- Agents needed: fe-impl / lib-impl (build-export) / both
|
|
35
|
+
|
|
36
|
+
## Tasks
|
|
37
|
+
|
|
38
|
+
### Component (fe-impl)
|
|
39
|
+
|
|
40
|
+
- [ ] Task with file paths under `src/Components/` and acceptance criteria
|
|
41
|
+
|
|
42
|
+
### Build / export (lib-impl)
|
|
43
|
+
|
|
44
|
+
- [ ] index.ts export, build, version bump if publishing
|
|
45
|
+
|
|
46
|
+
### Tests
|
|
47
|
+
|
|
48
|
+
- [ ] Jest test files and coverage targets
|
|
49
|
+
|
|
50
|
+
## Risks / assumptions
|
|
51
|
+
|
|
52
|
+
## Rules
|
|
53
|
+
|
|
54
|
+
- Never write production code
|
|
55
|
+
- Save approved plan to .cursor/plans/current.md
|
|
56
|
+
- End with: Ready for implementation — list which agents run next
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-create
|
|
3
|
+
description: >-
|
|
4
|
+
Writes Jest tests for completed component work. Use in @task phase 3a
|
|
5
|
+
after fe-impl, before test-exec.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the test-create agent for **Pixelize Design Library** (Micro-Components).
|
|
9
|
+
|
|
10
|
+
## When invoked
|
|
11
|
+
|
|
12
|
+
1. Read the plan from .cursor/plans/current.md
|
|
13
|
+
2. Read fe-impl output summary
|
|
14
|
+
3. Read existing `*.test.tsx` files to match conventions
|
|
15
|
+
|
|
16
|
+
## Coverage required
|
|
17
|
+
|
|
18
|
+
- Happy path render
|
|
19
|
+
- Minimum 2 edge cases (empty, disabled, error props)
|
|
20
|
+
- 1 regression test per bugfix
|
|
21
|
+
|
|
22
|
+
## Output
|
|
23
|
+
|
|
24
|
+
- Tests added/updated: file paths and what each covers
|
|
25
|
+
- Run command: `npm test` from Micro-Components root
|
|
26
|
+
|
|
27
|
+
## Rules
|
|
28
|
+
|
|
29
|
+
- Never change production code
|
|
30
|
+
- Never commit
|
|
31
|
+
- Follow existing Jest + Testing Library patterns
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-exec
|
|
3
|
+
description: >-
|
|
4
|
+
Runs Jest tests after test-create. Use in @task phase 3b.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the test-exec agent for **Pixelize Design Library** (Micro-Components).
|
|
8
|
+
|
|
9
|
+
## When invoked
|
|
10
|
+
|
|
11
|
+
1. Read test-create output
|
|
12
|
+
2. Run `npm test` from Micro-Components root
|
|
13
|
+
3. Report pass/fail with relevant failure output
|
|
14
|
+
|
|
15
|
+
## Output
|
|
16
|
+
|
|
17
|
+
- Test run result: pass / fail
|
|
18
|
+
- Failed test names and error snippets if any
|
|
19
|
+
- Recommendation: proceed to review or fix
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
- Never commit
|
|
24
|
+
- Never modify production code unless fixing test failures is in scope
|
|
25
|
+
- Never disable, skip, or comment out tests to make them pass
|
|
26
|
+
- Never change test assertions to match wrong behavior — fix the implementation
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
REPO_HINT="/ → task (this repo) or / → design-task"
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Block first message without / task skill; flag session for status-line warning. Zero tokens.
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
STATE_FILE="${HOME}/.cursor/pixelize-skill-session-state.json"
|
|
6
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
7
|
+
# shellcheck disable=SC1091
|
|
8
|
+
source "$SCRIPT_DIR/task-hint.env"
|
|
9
|
+
|
|
10
|
+
INPUT=$(cat)
|
|
11
|
+
PROMPT=$(echo "$INPUT" | jq -r '.prompt // empty')
|
|
12
|
+
CONV_ID=$(echo "$INPUT" | jq -r '.conversation_id // empty')
|
|
13
|
+
|
|
14
|
+
if [[ -z "$CONV_ID" ]]; then
|
|
15
|
+
echo '{"continue":true}'
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
has_skill() {
|
|
20
|
+
echo "$PROMPT" | grep -qiE '^\s*/(task|crm-task|social-task|tickets-task|crm-mobile-task|design-task|hrms-task)\b'
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ensure_state_file() {
|
|
24
|
+
mkdir -p "$(dirname "$STATE_FILE")"
|
|
25
|
+
[[ -f "$STATE_FILE" ]] || echo '{}' >"$STATE_FILE"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
update_state() {
|
|
29
|
+
local first_nudge="$1"
|
|
30
|
+
local chatting="$2"
|
|
31
|
+
ensure_state_file
|
|
32
|
+
local tmp
|
|
33
|
+
tmp=$(mktemp)
|
|
34
|
+
jq --arg id "$CONV_ID" \
|
|
35
|
+
--argjson first "$first_nudge" \
|
|
36
|
+
--argjson chatting "$chatting" \
|
|
37
|
+
'.[$id] = {first_nudge_done: $first, chatting_without_skill: $chatting}' \
|
|
38
|
+
"$STATE_FILE" >"$tmp" && mv "$tmp" "$STATE_FILE"
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if has_skill; then
|
|
42
|
+
if [[ -f "$STATE_FILE" ]] && jq -e --arg id "$CONV_ID" '.[$id]' "$STATE_FILE" >/dev/null 2>&1; then
|
|
43
|
+
update_state true false
|
|
44
|
+
fi
|
|
45
|
+
echo '{"continue":true}'
|
|
46
|
+
exit 0
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
ensure_state_file
|
|
50
|
+
FIRST_DONE=$(jq -r --arg id "$CONV_ID" '.[$id].first_nudge_done // false' "$STATE_FILE")
|
|
51
|
+
|
|
52
|
+
if [[ "$FIRST_DONE" != "true" ]]; then
|
|
53
|
+
update_state true false
|
|
54
|
+
MSG="━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
55
|
+
NO TASK SKILL LOADED
|
|
56
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
57
|
+
|
|
58
|
+
You are chatting WITHOUT a pipeline skill.
|
|
59
|
+
|
|
60
|
+
For feature / bugfix work, use the / menu first:
|
|
61
|
+
${REPO_HINT}
|
|
62
|
+
|
|
63
|
+
Then type your goal in the SAME input (do not type the skill name).
|
|
64
|
+
|
|
65
|
+
Send this message AGAIN to continue without a skill."
|
|
66
|
+
jq -n --arg msg "$MSG" '{continue: false, user_message: $msg}'
|
|
67
|
+
exit 0
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
update_state true true
|
|
71
|
+
echo '{"continue":true}'
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Blocks plain-text task skill names (not / menu picks). Zero API tokens.
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
6
|
+
# shellcheck disable=SC1091
|
|
7
|
+
source "$SCRIPT_DIR/task-hint.env"
|
|
8
|
+
|
|
9
|
+
INPUT=$(cat)
|
|
10
|
+
PROMPT=$(echo "$INPUT" | jq -r '.prompt // empty')
|
|
11
|
+
|
|
12
|
+
# Menu picker embeds "/tickets-task ..." in prompt; attachments stay empty.
|
|
13
|
+
# Only block plain-text mistakes: skill name at start without a leading slash.
|
|
14
|
+
if echo "$PROMPT" | grep -qiE '^\s*@?(task|crm-task|social-task|tickets-task|crm-mobile-task|design-task|hrms-task)\b'; then
|
|
15
|
+
MSG="⚠️ TASK PIPELINE NOT ACTIVE
|
|
16
|
+
|
|
17
|
+
You typed a task command as plain text. The skill was NOT loaded.
|
|
18
|
+
|
|
19
|
+
To run the pipeline:
|
|
20
|
+
1. Click the chat input
|
|
21
|
+
2. Type / and pick the skill from the menu
|
|
22
|
+
3. Send your goal
|
|
23
|
+
|
|
24
|
+
For this repo use: ${REPO_HINT}
|
|
25
|
+
|
|
26
|
+
Do not type task skill names in the message body — use the / menu picker."
|
|
27
|
+
jq -n --arg msg "$MSG" '{continue: false, user_message: $msg}'
|
|
28
|
+
exit 0
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
echo '{"continue":true}'
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Account Management
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Account/admin-facing components: UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, OrgSwitcher, UpgradeButton.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/UserDetails/`, `RolesPermission/`, `CustomModulesTable/`, `SignInActivityTable/`, `OrganizationDetails/`, `OrgSwitcher/`, `UpgradeButton/`
|
|
10
|
+
- Tests: `UserDetails.test.tsx`, `RolesPermission.test.tsx`, `CustomModulesTable.test.tsx`, `SignInActivityTable.test.tsx`, `OrganizationDetails.test.tsx`
|
|
11
|
+
|
|
12
|
+
## Key rules
|
|
13
|
+
|
|
14
|
+
- UserDetails, RolesPermission, CustomModulesTable, OrganizationDetails bundle their own action modals (Add/Edit/Delete/ChangeRole) in the same folder
|
|
15
|
+
- Each exports typed Props/Labels from `<Name>Props.tsx` via `src/index.ts` — keep props API-generic, no CRM/API logic in the library
|
|
16
|
+
- Labels are injectable for i18n; consumers pass data and handlers (props in, events out)
|
|
17
|
+
|
|
18
|
+
## Dark mode
|
|
19
|
+
|
|
20
|
+
- Every component here reads colors via `useCustomTheme()`, so all follow the active light/dark palette
|
|
21
|
+
- Tables/detail views alias tokens once at the top — `border`/`surface`/`muted`/`heading`/`headBg` from `boxborder[200]`/`background[50]`/`gray[500]`/`gray[800]`/`gray[50]`; reuse those names when adding UI
|
|
22
|
+
- `surface` reads `background[50]`, never `colors.white` — white is a foreground token and stays white in dark
|
|
23
|
+
- Remaining hex literals are `??` fallbacks, not live values: a hand-built palette may omit rungs (tests `jest.mock` a partial one), so keep the fallback when adding a token read
|
|
24
|
+
- Fixed by design, not palette-following: `avatarColor()`'s `AVATAR_COLORS` (OrgSwitcher — deterministic identity fill seeded by org name, white label on top) and `UpgradeButton`'s `iconColor` default (icon on a gradient fill). Colored fills/foregrounds, not canvas surfaces
|
|
25
|
+
- **OrgSwitcher popover bg bug (same class as the ButtonGroupIcon menu bug in `buttons`):** `PopoverContent` had no `bg=`, so it fell through to Chakra's baseStyle `var(--popper-bg)` — hardcoded to `colors.white`, gated behind Chakra's own `_dark` which this app's palette-swap dark mode never triggers — rendering a white popover in dark mode regardless of theme. Fixed with an explicit `bg={theme.colors.backgroundColor.light}`
|
|
26
|
+
- OrgSwitcher trigger border: `borderColor` switched from `gray[200]` to `boxborder?.[800] ?? gray[200]` — it styles a real `<button>`, so its border is a control boundary needing WCAG 1.4.11 (>=3.0 non-text contrast) against any surface up to `muted`, which `gray[200]` failed in dark. Org name/role text switched from `gray[800]`/`gray[500]` to `text[900]`/`text[500]` — mode-adaptive text tokens, the correct choice over mode-invariant gray literals for body text
|
|
27
|
+
- UserDetails avatar initials color: replaced the fixed `primary[600]` rung with `accentTextOnCanvas(colors.primary, avatarBg)` (guarded `colors?.primary ? accentTextOnCanvas(...) : "#4F46E5"` fallback) — picks contrast dynamically against the avatar bg instead of assuming one fixed rung clears AA 4.5 for every brand's dark palette
|
|
28
|
+
- **Modal surface bug (QA-caught, blocking) — 6 action modals:** `AddUserModal`,
|
|
29
|
+
`DeactivateConfirmModal`, `ChangeRoleModal` (UserDetails), `DeleteRoleModal` (RolesPermission),
|
|
30
|
+
`CreateOrgModal`, `DeleteOrgModal` (OrganizationDetails) all rendered a raw Chakra `ModalContent`
|
|
31
|
+
with no explicit `bg=`, hitting the same Chakra-hardcoded-`colors.white`-behind-`_dark` bug as
|
|
32
|
+
`Modal`/`AlertDialog` (overlays module) and `Drawer` (layout-navigation module). Fixed with
|
|
33
|
+
`bg={colors?.background?.[50]}` (`colors` was already destructured from `useCustomTheme()` in
|
|
34
|
+
every one of these files, so no new hook import was needed).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Buttons
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Button, ButtonGroupIcon, Buttons variants.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/Button/`, `ButtonGroupIcon/`, `Buttons/`
|
|
10
|
+
|
|
11
|
+
## Key rules
|
|
12
|
+
|
|
13
|
+
- Match Chakra button theming via design tokens
|
|
14
|
+
- `Button.styles.ts` variants are `({ theme })` functions reading `theme.colors` — no hex
|
|
15
|
+
literals, so they follow whichever palette the theme carries (light or dark)
|
|
16
|
+
- Filled labels (`solid` bg, and `outline`/`ghost` hover/active fills) no longer hardcode
|
|
17
|
+
`theme.colors.white` — they pick ink via `onFilled(fill, white, black)`
|
|
18
|
+
(`Theme/tokens/builders/accentText.ts`), which provably clears AA 4.5 by preferring white and
|
|
19
|
+
falling back to black only when the fill itself can't carry white. Never use white for a button
|
|
20
|
+
*surface* either way
|
|
21
|
+
|
|
22
|
+
## Dark mode
|
|
23
|
+
|
|
24
|
+
- `outline` / `ghost` / `link` text sits on the canvas, so it goes through
|
|
25
|
+
`accentTextOnCanvas(scale, colors.backgroundColor.main)` instead of `[500]` directly.
|
|
26
|
+
`[500]` is pinned dark enough to carry a white label on `solid`, leaving it ~4.2 as text on
|
|
27
|
+
the dark canvas; the helper steps to a lighter rung there to clear AA 4.5. Light canvases
|
|
28
|
+
return `[500]` unchanged, so existing apps are pixel-identical.
|
|
29
|
+
- **Ghost hover gotcha:** brand scales are *lifted* for dark, not reversed, so `primary[50]`
|
|
30
|
+
stays near-white — a white chip on a near-black canvas. On dark canvases the hover/active
|
|
31
|
+
tint uses the translucent `scale.opacity[16]` / `[24]` so it composites over the canvas.
|
|
32
|
+
Only brand scales carry `opacity`; utility scales (red, green…) fall back to `[50]`, which
|
|
33
|
+
is already dark because those scales *are* reversed for dark.
|
|
34
|
+
- **Solid/outline label-ink fix:** `Button.styles.ts` derives each state's label from *that
|
|
35
|
+
state's* fill (`labelFor`, per hover/active/loading) instead of assuming white always works —
|
|
36
|
+
some brands' dark `primary[500]` fails AA against white (radiant/emerald/rosewood measure
|
|
37
|
+
4.37/3.38/3.46) and now fall back to black. `Button.styles.test.ts` verifies this with real
|
|
38
|
+
`contrastRatio` checks per brand rather than asserting a fixed white label.
|
|
39
|
+
- **ButtonGroupIcon menu bug (new, generalizable):** Chakra's `MenuItem` baseStyle renders
|
|
40
|
+
`background: var(--menu-bg)` at rest, and `MenuList`'s baseStyle hardcodes that var to `#fff`
|
|
41
|
+
behind `_dark` — which this app's theme-swap dark mode (palette swapped, Chakra `colorMode`
|
|
42
|
+
stays `"light"`) never triggers. Setting `bg=` on `MenuList` alone recolors the list but not the
|
|
43
|
+
inherited var, so items rendered white at rest until hover/focus masked it. Fixed here via
|
|
44
|
+
`sx={{ "--menu-bg": theme.colors.backgroundColor.light }}` alongside `bg=`.
|
|
45
|
+
- **Known gap:** any other Chakra `Menu`/`Popover` usage is at risk of the same bug. A known
|
|
46
|
+
remaining instance — `Trail`/`EditableCell.tsx` (data-display module) — is **not fixed** in
|
|
47
|
+
this pass.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Cards
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Card, PaymentCard, ProfileCard, ProductCard, ProductDetails.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/Card/`, `Card/PaymentCard/`, `ProfileCard/`, `ProductCard/`, `ProductDetails/`
|
|
10
|
+
|
|
11
|
+
## Key rules
|
|
12
|
+
|
|
13
|
+
- ProfileCard has Header/Body/Footer subcomponents
|
|
14
|
+
|
|
15
|
+
## Dark mode
|
|
16
|
+
|
|
17
|
+
PaymentCard, ProductCard, ProductPrice, ProductDtlPrice and ProductImageSlider read their colors
|
|
18
|
+
from `useCustomTheme()` instead of hex literals, so they follow the active light/dark palette.
|
|
19
|
+
|
|
20
|
+
- Surfaces use `colors.background[50]`, never `colors.white` — `white` is a foreground token and
|
|
21
|
+
stays white in dark. Covers the card body, the ProductPrice dropdown panel and its radio dot,
|
|
22
|
+
the unselected pack chip in ProductDtlPrice, and the play-button circle in ProductImageSlider.
|
|
23
|
+
- PaymentCard's badge/button label no longer hardcodes `colors.white` — it's picked per
|
|
24
|
+
`buttonColor` via `onFilled()` (`Theme/tokens/builders/accentText`), which falls back to
|
|
25
|
+
`colors.black` when white would fail AA on that fill. Guarantees WCAG AA across the
|
|
26
|
+
active/upgrade/popular/default button colors instead of assuming white always works.
|
|
27
|
+
- The product components keep Chakra literals for offer/pack chrome (`red.50`, `orange.50`,
|
|
28
|
+
`green.100`). Those are dark-aware already — the theme carries the palette as `colors`, and
|
|
29
|
+
`buildDarkPalette` reverses utility hue ramps so index roles survive (`red.50` = pale badge
|
|
30
|
+
background in light, deep in dark). They track the hue, not the brand accent.
|
|
31
|
+
- ProductPrice's struck-through original price bumped `gray.400` → `gray.500` (still a raw
|
|
32
|
+
Chakra literal, not a theme token) for AA contrast against the card surface.
|
|
33
|
+
- ProductTags' label swapped `colors.black` → `colors.text[900]` (mode-adaptive ink token) so it
|
|
34
|
+
stays legible in dark mode.
|
|
35
|
+
- **Known gap:** ProductReview's rating chip (`bg="teal.50"` / `color="teal.900"`) and its star
|
|
36
|
+
fill (`RATING_STAR_FILL`, a pinned `#ECC94B` hex — see in-file comment) are still raw
|
|
37
|
+
Chakra/hex literals, not `useCustomTheme()` tokens. Pre-existing pattern, not worsened by this
|
|
38
|
+
pass, but won't track brand hue or dark mode — needs a mode-stable "rating gold" token added to
|
|
39
|
+
`pixelize-design-library` before this can move off literals.
|
|
40
|
+
|
|
41
|
+
## WCAG contrast pass (Wave D, QA-driven)
|
|
42
|
+
|
|
43
|
+
- **ProductPrice.tsx** — dropdown-arrow `red.400` (on `red.50` canvas) and discounted/final-price
|
|
44
|
+
`red.500` text (on `red.50`/`background[50]` depending on selection state) failed AA (2.6-3.7:1).
|
|
45
|
+
Fixed via `accentTextOnCanvas(theme.colors.red, <the actual local canvas>)` at each of the 3
|
|
46
|
+
call sites, matching the canvas each already renders on (including the existing `isSelected`
|
|
47
|
+
bg ternary). The dot-fill `bg="red.500"` (a filled swatch, not text) was left unchanged — it
|
|
48
|
+
clears the 3:1 non-text bar against `background[50]`.
|
|
49
|
+
- **ProductDtlPrice.tsx** — price `Text` hardcoded `theme.colors.red[500]` (≈3.46:1 vs the page
|
|
50
|
+
canvas, fails) and the pack-swatch `color="orange.600"` (≈2.47-2.67:1 vs either bg state,
|
|
51
|
+
fails) both routed through `accentTextOnCanvas`. `borderColor`/`bg` on the swatch button are
|
|
52
|
+
decorative and were left alone.
|
|
53
|
+
- **ProductImageSlider.tsx** — checked, not changed: all 6 `theme.colors.red[500]` Play-icon
|
|
54
|
+
usages sit on an opaque `background[50]` circular scrim (not the raw image), so the applicable
|
|
55
|
+
bar is 3:1 (graphical object, not text) — clears at ≈3.68:1 light / ≈6.48:1 dark.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Charts
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Apexcharts wrappers: Bar, Line, Pie, Polar.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/Apexcharts/ApexBarChart/`, `ApexLineChart/`, `ApexPieChart/`, `ApexPolarCharts/`
|
|
10
|
+
- `src/Theme/tokens/builders/chartColorsFromTheme.ts` — shared chart color helpers (+ test)
|
|
11
|
+
|
|
12
|
+
## Key rules
|
|
13
|
+
|
|
14
|
+
- react-apexcharts; every color is a theme token, never a literal. Shared helpers:
|
|
15
|
+
`getDefaultSeriesColors` (primary / error / success / orange `500`), `mergeChartTitleStyle`
|
|
16
|
+
(title → `primary[500]`), `chartAxisLabelColor` (`gray[700]`). The rest read `palette` directly:
|
|
17
|
+
legend `text[900]` (Pie/Polar), Bar data labels `primary[500]`, Polar stroke `white`.
|
|
18
|
+
- All four read `useTheme().colors` (cast to `CustomThemeProps["colors"]`) rather than styling via
|
|
19
|
+
Chakra props, because ApexCharts `options` need resolved hex **strings**.
|
|
20
|
+
- The helper sits in the pure token layer: type-only imports, never Chakra/React (see CLAUDE.md).
|
|
21
|
+
|
|
22
|
+
## Dark mode
|
|
23
|
+
|
|
24
|
+
- Dark-aware for free — the theme swaps in the dark palette and these tokens re-resolve. No hex
|
|
25
|
+
literals remain under `Apexcharts/`.
|
|
26
|
+
- Caller color props (`barColor`, `lineColors`, `chartColor`/`donutColors`, `chartColors`,
|
|
27
|
+
`titleStyle`, `legendStyle`) override the token defaults and are **not** dark-aware: a consumer
|
|
28
|
+
passing a hardcoded hex keeps it in both modes.
|
|
29
|
+
- ApexPolarCharts `basic`/`monochrome` stroke slice borders with `colors.white` — foreground on a
|
|
30
|
+
filled slice, so it correctly stays white; not a missed `background[50]` surface.
|
|
31
|
+
- All four now also set ApexCharts' own `options.theme.mode` (`"dark"`/`"light"`) from
|
|
32
|
+
`isDarkCanvas(palette.backgroundColor.main)` (`Theme/tokens/builders/accentText.ts`), so
|
|
33
|
+
ApexCharts' internal chrome (gridlines, built-in tooltip, etc.) follows the active canvas too,
|
|
34
|
+
not just the token-driven series/title/legend colors. No change to any chart's data/options
|
|
35
|
+
prop contract.
|
|
36
|
+
- Removed `chartTooltipBackground`/`chartTooltipForeground` from `chartColorsFromTheme.ts` (they
|
|
37
|
+
always resolved to a hardcoded dark-styled tooltip — `gray[700]`/`white` — regardless of mode,
|
|
38
|
+
now unused repo-wide). `ApexLineChart`'s title-truncation `ToolTip` no longer overrides
|
|
39
|
+
`bg`/`color`; it defers to `ToolTip`'s own theme-aware default instead.
|
|
40
|
+
- Known gap: titles/legends use `primary[500]` / `text[900]`, not the AA-safe `accentText` token.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Common Helpers
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Internal shared helpers under `Components/Common/` — not all exported from index.
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/Common/` — ErrorComponent, FormLabel, etc.
|
|
10
|
+
|
|
11
|
+
## Key rules
|
|
12
|
+
|
|
13
|
+
- Internal use by other components; export only if needed publicly
|
|
14
|
+
|
|
15
|
+
## Dark mode
|
|
16
|
+
|
|
17
|
+
- **FormLabel** (`TextLabel`): both tooltips (`showTooltip` / `isInformation`) swapped
|
|
18
|
+
Chakra's own `Tooltip` for the library's `ToolTip` (`../ToolTip/ToolTip`), dropping the
|
|
19
|
+
hardcoded `bg={gray[600]}` / `color={white}` — `ToolTip` owns its own theme-aware
|
|
20
|
+
contrast (see `overlays` MODULE.md). No `TextLabel` prop changes.
|
|
21
|
+
- **fieldStyles.ts** (`getFieldStateStyles`): idle border bumped `boxborder[500]` →
|
|
22
|
+
`boxborder[800]` — `[500]` failed WCAG 1.4.11 (>=3:1 non-text contrast) against
|
|
23
|
+
surfaces up to `muted`; `[800]` clears with margin. Focus/error ring colors and the
|
|
24
|
+
function signature are unchanged.
|
|
25
|
+
- **ErrorMessage.tsx**, **ErrorComponent.tsx**, **FormLabel.tsx** (required-asterisk), **Label.tsx**:
|
|
26
|
+
error text color switched from a hardcoded `theme.colors.red[500]` / `semantic.error[500]` to
|
|
27
|
+
`accentTextOnCanvas(scale, canvas)` (`../../Theme/tokens/builders/accentText`) — `red[500]` alone
|
|
28
|
+
fails AA (~3.4:1) against the page canvas in every brand; see `theme` MODULE.md "Wave D" for why
|
|
29
|
+
this couldn't be a token retune. No prop/API changes.
|
|
30
|
+
- **ErrorComponent.tsx's SVG mark ink (code-review catch):** the circle/rect/dot marks drawn on
|
|
31
|
+
top of the `errorFill` circle were hardcoded `theme.colors.white`. `errorFill` is tuned for
|
|
32
|
+
text-on-page-canvas contrast, not for "carries a white mark on top of itself" — those are
|
|
33
|
+
different constraints, and nothing guaranteed white would keep clearing AA there if the token
|
|
34
|
+
ever changed (it happened to today). Replaced with
|
|
35
|
+
`onFilled(errorFill, theme.colors.white, theme.colors.black)`, the same provably-always-safe
|
|
36
|
+
ink-on-a-filled-swatch helper used by FilterSidebar's checkmark and PaymentCard.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Contact & Email
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
ContactForm, VerifyEmailOtp (EmailCards).
|
|
6
|
+
|
|
7
|
+
## Key paths
|
|
8
|
+
|
|
9
|
+
- `src/Components/ContactForm/`, `EmailCards/VerifyEmailOtp/`
|
|
10
|
+
|
|
11
|
+
## Key rules
|
|
12
|
+
|
|
13
|
+
- OTP flow UI only — API wiring in consumer apps
|
|
14
|
+
|
|
15
|
+
## Dark mode
|
|
16
|
+
|
|
17
|
+
- **VerifyEmailOtp**: `PinInputField` idle border bumped `boxborder[300]` → `boxborder[800]` —
|
|
18
|
+
`[300]` failed WCAG 1.4.11 (>=3:1 non-text contrast) against surfaces up to `muted`; `[800]`
|
|
19
|
+
clears with margin. Already theme-token-driven before this change; no prop/signature changes.
|