pixelize-design-library 2.4.2-beta.0 → 2.4.2-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Components/Accordion/Accordion.js +13 -15
- package/dist/Components/Accordion/accordionColors.js +6 -9
- package/dist/Components/AlertDialog/AlertDialog.js +1 -2
- package/dist/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +2 -3
- package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.js +2 -3
- package/dist/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +2 -3
- package/dist/Components/AppearanceSettings/AppearanceSettings.js +9 -7
- package/dist/Components/Button/Button.styles.js +7 -12
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +12 -13
- package/dist/Components/Checkbox/Checkbox.js +1 -1
- package/dist/Components/Checkbox/Checkbox.styles.js +2 -0
- package/dist/Components/Common/ErrorComponent.js +5 -8
- package/dist/Components/Common/ErrorMessage.js +2 -8
- package/dist/Components/Common/FormLabel.js +1 -3
- package/dist/Components/Common/FormattedDescription.js +3 -1
- package/dist/Components/Common/Label.js +3 -8
- package/dist/Components/Common/fieldStyles.js +6 -7
- package/dist/Components/ContactForm/ContactForm.js +1 -2
- package/dist/Components/CopyButton/CopyButton.js +3 -6
- package/dist/Components/CustomModulesTable/CustomModulesTable.js +7 -10
- package/dist/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
- package/dist/Components/CustomModulesTable/EditModuleModal.js +2 -3
- package/dist/Components/DatePicker/CalendarPanel.js +3 -4
- package/dist/Components/DatePicker/RangeDatePicker.js +9 -9
- package/dist/Components/DatePicker/SingleDatePicker.js +11 -11
- package/dist/Components/DatePicker/TimeOnlyPicker.js +2 -2
- package/dist/Components/DatePicker/TimePicker.js +6 -7
- package/dist/Components/DatePicker/TimePickerInput.js +6 -7
- package/dist/Components/Divider/Divider.js +1 -2
- package/dist/Components/Drawer/Drawer.js +1 -2
- package/dist/Components/Dropdown/DropDown.js +19 -33
- package/dist/Components/Editor/Editor.js +10 -13
- package/dist/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -3
- package/dist/Components/EmptyState/EmptyState.js +11 -11
- package/dist/Components/FieldSelectModal/FieldSelectModal.js +1 -1
- package/dist/Components/FilePreview/FilePreview.js +2 -2
- package/dist/Components/FileUpload/FileUpload.js +18 -24
- package/dist/Components/FileUploader/FileUploader.js +5 -6
- package/dist/Components/FilterSidebar/FilterSidebar.js +156 -160
- package/dist/Components/Form/FormWrapper.js +1 -2
- package/dist/Components/Header/Header.js +6 -6
- package/dist/Components/Header/HeaderActions.d.ts +3 -1
- package/dist/Components/Header/HeaderActions.js +8 -4
- package/dist/Components/Header/components/desktopMenu.js +7 -20
- package/dist/Components/Header/components/mobileMenu.js +3 -15
- package/dist/Components/Input/Input/Input.js +13 -17
- package/dist/Components/Input/TextInput.styles.js +15 -16
- package/dist/Components/InputTextArea/InputTextArea.d.ts +1 -1
- package/dist/Components/InputTextArea/InputTextArea.style.js +14 -14
- package/dist/Components/KanbanBoard/AccountCard.js +10 -4
- package/dist/Components/KanbanBoard/AccountRow.js +1 -2
- package/dist/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
- package/dist/Components/KanbanBoard/KanbanBoard.js +15 -62
- package/dist/Components/LazyWrapper/LazyWrapper.js +1 -1
- package/dist/Components/LimitReachedModal/LimitReachedModal.js +5 -18
- package/dist/Components/Loading/Loading.js +1 -1
- package/dist/Components/Modal/Modal.js +3 -1
- package/dist/Components/MoreItems/MoreItems.js +3 -7
- package/dist/Components/MultiSelect/MultiSelect.js +5 -6
- package/dist/Components/NavigationBar/NavigationBar.d.ts +1 -1
- package/dist/Components/NavigationBar/NavigationBar.js +22 -18
- package/dist/Components/NavigationBar/NavigationBarProps.d.ts +5 -0
- package/dist/Components/NoteTextArea/NoteTextArea.js +7 -9
- package/dist/Components/Notification/Notification.js +17 -15
- package/dist/Components/NumberInput/NumberInput.styles.js +14 -14
- package/dist/Components/OrgSwitcher/OrgSwitcher.js +7 -8
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +2 -0
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +6 -2
- package/dist/Components/OrganizationDetails/CreateOrgModal.js +1 -2
- package/dist/Components/OrganizationDetails/DeleteOrgModal.js +5 -2
- package/dist/Components/OrganizationDetails/OrganizationDetails.js +25 -22
- package/dist/Components/PdfViewer/PdfViewer.js +1 -1
- package/dist/Components/PinInput/PinInput.js +1 -1
- package/dist/Components/PinInputs/PinInputs.js +7 -14
- package/dist/Components/PlanPill/PlanPill.js +8 -11
- package/dist/Components/PlanPill/planPillGradient.d.ts +21 -14
- package/dist/Components/PlanPill/planPillGradient.js +33 -16
- package/dist/Components/ProductCard/ProductPrice.js +6 -6
- package/dist/Components/ProductCard/ProductReview.js +4 -1
- package/dist/Components/ProductCard/ProductTags.js +4 -4
- package/dist/Components/ProductDetails/ProductDetails.js +3 -1
- package/dist/Components/ProductDetails/ProductDtlPrice.js +3 -3
- package/dist/Components/ProfileCard/ProfileCard.js +4 -4
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +19 -16
- package/dist/Components/RadioButton/RadioButton.js +1 -1
- package/dist/Components/Reorder/Reorder.js +3 -4
- package/dist/Components/RolesPermission/DeleteRoleModal.js +5 -4
- package/dist/Components/RolesPermission/RolesPermission.js +12 -14
- package/dist/Components/ScrollToTop/ScrollToTop.js +2 -3
- package/dist/Components/ScrollbarBox/ScrollbarBox.d.ts +13 -0
- package/dist/Components/ScrollbarBox/ScrollbarBox.js +11 -0
- package/dist/Components/SearchSelect/SearchSelect.js +26 -28
- package/dist/Components/Select/Select.styles.js +34 -37
- package/dist/Components/SelectSearch/SelectSearch.js +10 -10
- package/dist/Components/SelectV2/SelectV2.js +8 -20
- package/dist/Components/SideBar/SecondaryBar.js +10 -15
- package/dist/Components/SideBar/SideBar.d.ts +1 -1
- package/dist/Components/SideBar/SideBar.js +41 -34
- package/dist/Components/SideBar/SideBarProps.d.ts +6 -0
- package/dist/Components/SideBar/components/MenuItemBox.js +10 -12
- package/dist/Components/SideBar/components/MenuItems.js +3 -1
- package/dist/Components/SideBar/components/MenuPopoverContent.js +7 -9
- package/dist/Components/SideBar/components/OtherApps.js +4 -4
- package/dist/Components/SideBar/sidebarAccentColors.d.ts +4 -17
- package/dist/Components/SideBar/sidebarAccentColors.js +6 -33
- package/dist/Components/SignInActivityTable/SignInActivityTable.js +6 -7
- package/dist/Components/Slider/Slider.js +2 -2
- package/dist/Components/StageProgress/StageProgress.js +2 -9
- package/dist/Components/StageProgress/StageProgressProps.js +9 -13
- package/dist/Components/Table/Table.js +19 -30
- package/dist/Components/Table/components/HeaderActions.js +6 -7
- package/dist/Components/Table/components/Pagination.js +1 -1
- package/dist/Components/Table/components/TableActions.js +4 -4
- package/dist/Components/Table/components/TableBody.js +18 -20
- package/dist/Components/Table/components/TableGroupRow.js +1 -2
- package/dist/Components/Table/components/TableHeader.js +8 -12
- package/dist/Components/Table/components/TableSearch.js +1 -2
- package/dist/Components/Table/components/tableRowHoverStyle.js +2 -3
- package/dist/Components/Table/filters/ActiveFilters.js +5 -24
- package/dist/Components/Table/filters/CompactSelect.js +4 -5
- package/dist/Components/Table/filters/LeftFilterPane.js +4 -5
- package/dist/Components/Table/filters/TableFilters.js +1 -2
- package/dist/Components/Table/hooks/useTable.js +8 -11
- package/dist/Components/Table/settings/ManageColumns.js +4 -18
- package/dist/Components/Table/settings/TableSettings.js +13 -21
- package/dist/Components/Tag/Tag.styles.js +8 -6
- package/dist/Components/Timeline/Timeline.js +32 -45
- package/dist/Components/Toaster/Toaster.js +43 -44
- package/dist/Components/ToolTip/ToolTip.js +1 -6
- package/dist/Components/Trail/EditableCell.js +4 -1
- package/dist/Components/Trail/TrailWorks.js +3 -3
- package/dist/Components/UpgradeButton/UpgradeButton.js +4 -6
- package/dist/Components/UserDetails/AddUserModal.js +3 -3
- package/dist/Components/UserDetails/ChangeRoleModal.js +2 -2
- package/dist/Components/UserDetails/DeactivateConfirmModal.js +5 -5
- package/dist/Components/UserDetails/UserDetails.js +14 -16
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +1 -2
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +3 -4
- package/dist/Constants/Sidebar.js +3 -2
- package/dist/Theme/assertPalette.d.ts +11 -0
- package/dist/Theme/assertPalette.js +55 -0
- package/dist/Theme/chakra/Avatar.styles.d.ts +5 -5
- package/dist/Theme/chakra/Avatar.styles.js +2 -2
- package/dist/Theme/chakra/Drawer.styles.d.ts +5 -5
- package/dist/Theme/chakra/Drawer.styles.js +8 -10
- package/dist/Theme/chakra/Menu.styles.d.ts +9 -6
- package/dist/Theme/chakra/Menu.styles.js +11 -5
- package/dist/Theme/chakra/Modal.styles.d.ts +5 -5
- package/dist/Theme/chakra/Modal.styles.js +8 -10
- package/dist/Theme/chakra/Popover.styles.d.ts +9 -6
- package/dist/Theme/chakra/Popover.styles.js +11 -6
- package/dist/Theme/chakra/Slider.styles.d.ts +1 -1
- package/dist/Theme/chakra/Slider.styles.js +7 -9
- package/dist/Theme/chakra/Switch.styles.d.ts +1 -1
- package/dist/Theme/chakra/Switch.styles.js +7 -9
- package/dist/Theme/chakra/Tabs.styles.d.ts +2 -2
- package/dist/Theme/chakra/Tabs.styles.js +13 -18
- package/dist/Theme/chakra/componentStyles.d.ts +69 -30
- package/dist/Theme/chakra/componentStyles.js +52 -43
- package/dist/Theme/chakra/createBrandTheme.js +3 -16
- package/dist/Theme/chakra/paletteFromTheme.d.ts +10 -0
- package/dist/Theme/chakra/paletteFromTheme.js +14 -0
- package/dist/Theme/provider/PixelizeThemeProvider.js +23 -20
- package/dist/Theme/provider/ThemeSwitcher.js +13 -20
- package/dist/Theme/testing/testPalette.d.ts +16 -0
- package/dist/Theme/testing/testPalette.js +24 -0
- package/dist/Theme/tokens/brands/emerald/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/emerald/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/index.d.ts +3 -2
- package/dist/Theme/tokens/brands/index.js +29 -23
- package/dist/Theme/tokens/brands/lavender/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/lavender/palette.light.js +5 -116
- package/dist/Theme/tokens/brands/meadow/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/meadow/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/neutrals.d.ts +8 -0
- package/dist/Theme/tokens/brands/neutrals.js +119 -0
- package/dist/Theme/tokens/brands/radiant/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/radiant/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/rosewood/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/rosewood/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/skyline/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/skyline/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/slate/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/slate/palette.light.js +7 -13
- package/dist/Theme/tokens/brands/storefront/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/brands/storefront/palette.light.js +5 -7
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts +5 -3
- package/dist/Theme/tokens/brands/zinc/palette.dark.js +2 -1
- package/dist/Theme/tokens/brands/zinc/palette.light.d.ts +2 -373
- package/dist/Theme/tokens/builders/accentText.d.ts +2 -2
- package/dist/Theme/tokens/builders/accentText.js +8 -27
- package/dist/Theme/tokens/builders/brandInk.d.ts +11 -0
- package/dist/Theme/tokens/builders/brandInk.js +106 -0
- package/dist/Theme/tokens/builders/buildDarkPalette.d.ts +2 -2
- package/dist/Theme/tokens/builders/buildDarkPalette.js +16 -8
- package/dist/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
- package/dist/Theme/tokens/builders/gradientInk.d.ts +22 -0
- package/dist/Theme/tokens/builders/gradientInk.js +28 -0
- package/dist/Theme/tokens/builders/index.d.ts +3 -0
- package/dist/Theme/tokens/builders/index.js +3 -0
- package/dist/Theme/tokens/builders/mutedText.d.ts +5 -0
- package/dist/Theme/tokens/builders/mutedText.js +9 -0
- package/dist/Theme/tokens/builders/outlineRung.d.ts +39 -9
- package/dist/Theme/tokens/builders/outlineRung.js +92 -21
- package/dist/Theme/tokens/builders/placeholderInk.d.ts +19 -0
- package/dist/Theme/tokens/builders/placeholderInk.js +35 -0
- package/dist/Theme/tokens/builders/resolvedRungs.d.ts +11 -0
- package/dist/Theme/tokens/builders/resolvedRungs.js +30 -0
- package/dist/Theme/tokens/builders/scrollbar.d.ts +12 -0
- package/dist/Theme/tokens/builders/scrollbar.js +57 -0
- package/dist/Theme/tokens/builders/semanticText.d.ts +10 -0
- package/dist/Theme/tokens/builders/semanticText.js +22 -0
- package/dist/Theme/tokens/builders/sidebarAccent.d.ts +9 -0
- package/dist/Theme/tokens/builders/sidebarAccent.js +29 -0
- package/dist/Theme/tokens/builders/statusTone.js +3 -4
- package/dist/Theme/tokens/builders/surfaceRungs.d.ts +10 -0
- package/dist/Theme/tokens/builders/surfaceRungs.js +54 -0
- package/dist/Theme/tokens/types.d.ts +41 -13
- package/dist/Theme/useCustomTheme.js +4 -1
- package/dist/Utils/table.d.ts +1 -7
- package/dist/Utils/table.js +27 -35
- package/dist/esm/Components/Accordion/Accordion.js +14 -16
- package/dist/esm/Components/Accordion/accordionColors.js +6 -9
- package/dist/esm/Components/AlertDialog/AlertDialog.js +1 -2
- package/dist/esm/Components/Apexcharts/ApexAreaChart/ApexAreaChart.js +2 -3
- package/dist/esm/Components/Apexcharts/ApexPieChart/ApexPieChart.js +2 -3
- package/dist/esm/Components/Apexcharts/ApexRadialChart/ApexRadialChart.js +2 -3
- package/dist/esm/Components/AppearanceSettings/AppearanceSettings.js +9 -7
- package/dist/esm/Components/Button/Button.styles.js +8 -13
- package/dist/esm/Components/ButtonGroupIcon/ButtonGroupIcon.js +12 -13
- package/dist/esm/Components/Checkbox/Checkbox.js +1 -1
- package/dist/esm/Components/Checkbox/Checkbox.styles.js +2 -0
- package/dist/esm/Components/Common/ErrorComponent.js +6 -9
- package/dist/esm/Components/Common/ErrorMessage.js +2 -8
- package/dist/esm/Components/Common/FormLabel.js +1 -3
- package/dist/esm/Components/Common/FormattedDescription.js +3 -1
- package/dist/esm/Components/Common/Label.js +3 -8
- package/dist/esm/Components/Common/fieldStyles.js +6 -7
- package/dist/esm/Components/ContactForm/ContactForm.js +1 -2
- package/dist/esm/Components/CopyButton/CopyButton.js +3 -6
- package/dist/esm/Components/CustomModulesTable/CustomModulesTable.js +7 -10
- package/dist/esm/Components/CustomModulesTable/DeleteModuleModal.js +2 -2
- package/dist/esm/Components/CustomModulesTable/EditModuleModal.js +2 -3
- package/dist/esm/Components/DatePicker/CalendarPanel.js +3 -4
- package/dist/esm/Components/DatePicker/RangeDatePicker.js +9 -9
- package/dist/esm/Components/DatePicker/SingleDatePicker.js +11 -11
- package/dist/esm/Components/DatePicker/TimeOnlyPicker.js +2 -2
- package/dist/esm/Components/DatePicker/TimePicker.js +6 -7
- package/dist/esm/Components/DatePicker/TimePickerInput.js +6 -7
- package/dist/esm/Components/Divider/Divider.js +1 -2
- package/dist/esm/Components/Drawer/Drawer.js +1 -2
- package/dist/esm/Components/Dropdown/DropDown.js +19 -33
- package/dist/esm/Components/Editor/Editor.js +11 -14
- package/dist/esm/Components/EmailCards/VerifyEmailOtp/VerifyEmailOtp.js +3 -3
- package/dist/esm/Components/EmptyState/EmptyState.js +11 -11
- package/dist/esm/Components/FieldSelectModal/FieldSelectModal.js +1 -1
- package/dist/esm/Components/FilePreview/FilePreview.js +2 -2
- package/dist/esm/Components/FileUpload/FileUpload.js +18 -24
- package/dist/esm/Components/FileUploader/FileUploader.js +6 -7
- package/dist/esm/Components/FilterSidebar/FilterSidebar.js +157 -161
- package/dist/esm/Components/Form/FormWrapper.js +1 -2
- package/dist/esm/Components/Header/Header.js +6 -6
- package/dist/esm/Components/Header/HeaderActions.js +9 -5
- package/dist/esm/Components/Header/components/desktopMenu.js +8 -21
- package/dist/esm/Components/Header/components/mobileMenu.js +3 -15
- package/dist/esm/Components/Input/Input/Input.js +14 -18
- package/dist/esm/Components/Input/TextInput.styles.js +15 -16
- package/dist/esm/Components/InputTextArea/InputTextArea.style.js +14 -14
- package/dist/esm/Components/KanbanBoard/AccountCard.js +10 -4
- package/dist/esm/Components/KanbanBoard/AccountRow.js +1 -2
- package/dist/esm/Components/KanbanBoard/KanbanActions/KanbanActions.js +2 -2
- package/dist/esm/Components/KanbanBoard/KanbanBoard.js +15 -62
- package/dist/esm/Components/LazyWrapper/LazyWrapper.js +1 -1
- package/dist/esm/Components/LimitReachedModal/LimitReachedModal.js +5 -18
- package/dist/esm/Components/Loading/Loading.js +1 -1
- package/dist/esm/Components/Modal/Modal.js +3 -1
- package/dist/esm/Components/MoreItems/MoreItems.js +3 -7
- package/dist/esm/Components/MultiSelect/MultiSelect.js +5 -6
- package/dist/esm/Components/NavigationBar/NavigationBar.js +23 -19
- package/dist/esm/Components/NoteTextArea/NoteTextArea.js +7 -9
- package/dist/esm/Components/Notification/Notification.js +18 -16
- package/dist/esm/Components/NumberInput/NumberInput.styles.js +14 -14
- package/dist/esm/Components/OrgSwitcher/OrgSwitcher.js +8 -9
- package/dist/esm/Components/OrgSwitcher/OrgSwitcherProps.js +5 -1
- package/dist/esm/Components/OrganizationDetails/CreateOrgModal.js +1 -2
- package/dist/esm/Components/OrganizationDetails/DeleteOrgModal.js +5 -2
- package/dist/esm/Components/OrganizationDetails/OrganizationDetails.js +25 -22
- package/dist/esm/Components/PdfViewer/PdfViewer.js +1 -1
- package/dist/esm/Components/PinInput/PinInput.js +1 -1
- package/dist/esm/Components/PinInputs/PinInputs.js +8 -15
- package/dist/esm/Components/PlanPill/PlanPill.js +9 -12
- package/dist/esm/Components/PlanPill/planPillGradient.js +27 -15
- package/dist/esm/Components/ProductCard/ProductPrice.js +6 -6
- package/dist/esm/Components/ProductCard/ProductReview.js +4 -1
- package/dist/esm/Components/ProductCard/ProductTags.js +5 -5
- package/dist/esm/Components/ProductDetails/ProductDetails.js +3 -1
- package/dist/esm/Components/ProductDetails/ProductDtlPrice.js +3 -3
- package/dist/esm/Components/ProfileCard/ProfileCard.js +5 -5
- package/dist/esm/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +20 -17
- package/dist/esm/Components/RadioButton/RadioButton.js +1 -1
- package/dist/esm/Components/Reorder/Reorder.js +3 -4
- package/dist/esm/Components/RolesPermission/DeleteRoleModal.js +5 -4
- package/dist/esm/Components/RolesPermission/RolesPermission.js +12 -14
- package/dist/esm/Components/ScrollToTop/ScrollToTop.js +2 -3
- package/dist/esm/Components/ScrollbarBox/ScrollbarBox.js +9 -0
- package/dist/esm/Components/SearchSelect/SearchSelect.js +26 -28
- package/dist/esm/Components/Select/Select.styles.js +34 -37
- package/dist/esm/Components/SelectSearch/SelectSearch.js +10 -10
- package/dist/esm/Components/SelectV2/SelectV2.js +8 -20
- package/dist/esm/Components/SideBar/SecondaryBar.js +11 -16
- package/dist/esm/Components/SideBar/SideBar.js +43 -36
- package/dist/esm/Components/SideBar/components/MenuItemBox.js +11 -13
- package/dist/esm/Components/SideBar/components/MenuItems.js +3 -1
- package/dist/esm/Components/SideBar/components/MenuPopoverContent.js +8 -10
- package/dist/esm/Components/SideBar/components/OtherApps.js +4 -4
- package/dist/esm/Components/SideBar/sidebarAccentColors.js +5 -31
- package/dist/esm/Components/SignInActivityTable/SignInActivityTable.js +6 -7
- package/dist/esm/Components/Slider/Slider.js +2 -2
- package/dist/esm/Components/StageProgress/StageProgress.js +2 -9
- package/dist/esm/Components/StageProgress/StageProgressProps.js +9 -13
- package/dist/esm/Components/Table/Table.js +19 -30
- package/dist/esm/Components/Table/components/HeaderActions.js +6 -7
- package/dist/esm/Components/Table/components/Pagination.js +1 -1
- package/dist/esm/Components/Table/components/TableActions.js +4 -4
- package/dist/esm/Components/Table/components/TableBody.js +18 -20
- package/dist/esm/Components/Table/components/TableGroupRow.js +1 -2
- package/dist/esm/Components/Table/components/TableHeader.js +8 -12
- package/dist/esm/Components/Table/components/TableSearch.js +1 -2
- package/dist/esm/Components/Table/components/tableRowHoverStyle.js +2 -3
- package/dist/esm/Components/Table/filters/ActiveFilters.js +5 -24
- package/dist/esm/Components/Table/filters/CompactSelect.js +4 -5
- package/dist/esm/Components/Table/filters/LeftFilterPane.js +4 -5
- package/dist/esm/Components/Table/filters/TableFilters.js +1 -2
- package/dist/esm/Components/Table/hooks/useTable.js +8 -11
- package/dist/esm/Components/Table/settings/ManageColumns.js +4 -18
- package/dist/esm/Components/Table/settings/TableSettings.js +13 -21
- package/dist/esm/Components/Tag/Tag.styles.js +9 -7
- package/dist/esm/Components/Timeline/Timeline.js +33 -46
- package/dist/esm/Components/Toaster/Toaster.js +44 -45
- package/dist/esm/Components/ToolTip/ToolTip.js +1 -6
- package/dist/esm/Components/Trail/EditableCell.js +4 -1
- package/dist/esm/Components/Trail/TrailWorks.js +4 -4
- package/dist/esm/Components/UpgradeButton/UpgradeButton.js +4 -6
- package/dist/esm/Components/UserDetails/AddUserModal.js +3 -3
- package/dist/esm/Components/UserDetails/ChangeRoleModal.js +2 -2
- package/dist/esm/Components/UserDetails/DeactivateConfirmModal.js +5 -5
- package/dist/esm/Components/UserDetails/UserDetails.js +15 -17
- package/dist/esm/Components/WorkspaceWindow/WorkspaceTrayPreview.js +1 -2
- package/dist/esm/Components/WorkspaceWindow/WorkspaceWindow.js +3 -4
- package/dist/esm/Constants/Sidebar.js +3 -2
- package/dist/esm/Theme/assertPalette.js +50 -0
- package/dist/esm/Theme/chakra/Avatar.styles.js +2 -2
- package/dist/esm/Theme/chakra/Drawer.styles.js +8 -10
- package/dist/esm/Theme/chakra/Menu.styles.js +11 -5
- package/dist/esm/Theme/chakra/Modal.styles.js +8 -10
- package/dist/esm/Theme/chakra/Popover.styles.js +11 -6
- package/dist/esm/Theme/chakra/Slider.styles.js +7 -9
- package/dist/esm/Theme/chakra/Switch.styles.js +7 -9
- package/dist/esm/Theme/chakra/Tabs.styles.js +13 -18
- package/dist/esm/Theme/chakra/componentStyles.js +53 -44
- package/dist/esm/Theme/chakra/createBrandTheme.js +3 -16
- package/dist/esm/Theme/chakra/paletteFromTheme.js +9 -0
- package/dist/esm/Theme/provider/PixelizeThemeProvider.js +23 -20
- package/dist/esm/Theme/provider/ThemeSwitcher.js +13 -20
- package/dist/esm/Theme/testing/testPalette.js +19 -0
- package/dist/esm/Theme/tokens/brands/emerald/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/index.js +28 -23
- package/dist/esm/Theme/tokens/brands/lavender/palette.light.js +5 -116
- package/dist/esm/Theme/tokens/brands/meadow/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/neutrals.js +116 -0
- package/dist/esm/Theme/tokens/brands/radiant/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/rosewood/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/skyline/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/slate/palette.light.js +7 -10
- package/dist/esm/Theme/tokens/brands/storefront/palette.light.js +5 -4
- package/dist/esm/Theme/tokens/brands/zinc/palette.dark.js +3 -2
- package/dist/esm/Theme/tokens/builders/accentText.js +8 -27
- package/dist/esm/Theme/tokens/builders/brandInk.js +103 -0
- package/dist/esm/Theme/tokens/builders/buildDarkPalette.js +17 -9
- package/dist/esm/Theme/tokens/builders/chartColorsFromTheme.js +1 -1
- package/dist/esm/Theme/tokens/builders/gradientInk.js +22 -0
- package/dist/esm/Theme/tokens/builders/index.js +3 -0
- package/dist/esm/Theme/tokens/builders/mutedText.js +5 -0
- package/dist/esm/Theme/tokens/builders/outlineRung.js +89 -21
- package/dist/esm/Theme/tokens/builders/placeholderInk.js +29 -0
- package/dist/esm/Theme/tokens/builders/resolvedRungs.js +25 -0
- package/dist/esm/Theme/tokens/builders/scrollbar.js +52 -0
- package/dist/esm/Theme/tokens/builders/semanticText.js +17 -0
- package/dist/esm/Theme/tokens/builders/sidebarAccent.js +23 -0
- package/dist/esm/Theme/tokens/builders/statusTone.js +3 -4
- package/dist/esm/Theme/tokens/builders/surfaceRungs.js +48 -0
- package/dist/esm/Theme/useCustomTheme.js +4 -1
- package/dist/esm/Utils/table.js +28 -36
- package/dist/esm/index.js +6 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +24 -3
- package/package.json +4 -2
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { paletteOf, scaleFor } from "./paletteFromTheme.js";
|
|
2
|
+
import { alertAnatomy } from "@chakra-ui/anatomy";
|
|
3
|
+
import { createMultiStyleConfigHelpers, cssVar, } from "@chakra-ui/react";
|
|
2
4
|
import { Button } from "../../Components/Button/Button.styles.js";
|
|
3
5
|
import { Checkbox } from "../../Components/Checkbox/Checkbox.styles.js";
|
|
4
6
|
import { Input } from "../../Components/Input/TextInput.styles.js";
|
|
@@ -27,14 +29,12 @@ const isHexColor = (color) => typeof color === "string" && /^#([0-9a-f]{3}|[0-9a
|
|
|
27
29
|
const Badge = {
|
|
28
30
|
variants: {
|
|
29
31
|
solid: ({ theme, colorScheme = "gray" }) => {
|
|
30
|
-
|
|
31
|
-
const swatch = (
|
|
32
|
-
const bg = swatch
|
|
33
|
-
const white = (_f = (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.white) !== null && _f !== void 0 ? _f : "#fff";
|
|
34
|
-
const black = (_h = (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.black) !== null && _h !== void 0 ? _h : "#000";
|
|
32
|
+
const palette = paletteOf(theme);
|
|
33
|
+
const swatch = scaleFor(palette, colorScheme);
|
|
34
|
+
const bg = swatch[500];
|
|
35
35
|
return {
|
|
36
36
|
bg,
|
|
37
|
-
color: isHexColor(bg) ? onFilled(bg, white, black) : swatch
|
|
37
|
+
color: isHexColor(bg) ? onFilled(bg, palette.white, palette.black) : swatch[800],
|
|
38
38
|
};
|
|
39
39
|
},
|
|
40
40
|
// Chakra's stock `subtle` picks its bg/color pair via `mode()`, keyed to Chakra's own
|
|
@@ -42,11 +42,11 @@ const Badge = {
|
|
|
42
42
|
// it always takes the light-mode branch. Applied to our mode-reversed dark scales, that
|
|
43
43
|
// branch's fixed rung pair (100/800) measures 4.06 in dark mode, just under AA.
|
|
44
44
|
subtle: ({ theme, colorScheme = "gray" }) => {
|
|
45
|
-
|
|
46
|
-
const swatch = (
|
|
47
|
-
const bg =
|
|
45
|
+
const palette = paletteOf(theme);
|
|
46
|
+
const swatch = scaleFor(palette, colorScheme);
|
|
47
|
+
const bg = swatch[100];
|
|
48
48
|
if (!isHexColor(bg))
|
|
49
|
-
return { bg, color: swatch
|
|
49
|
+
return { bg, color: swatch[800] };
|
|
50
50
|
// accentTextOnCanvas keeps brand hue by trying this scale's own rungs first, but some
|
|
51
51
|
// narrow-gamut hues (e.g. yellow) don't reach far enough at either end to clear AA against
|
|
52
52
|
// every bg they can land on in dark mode (measured 4.42 for a reversed-yellow badge) — its
|
|
@@ -56,9 +56,7 @@ const Badge = {
|
|
|
56
56
|
const accent = accentTextOnCanvas(swatch, bg);
|
|
57
57
|
if (contrastRatio(accent, bg) >= 4.5)
|
|
58
58
|
return { bg, color: accent };
|
|
59
|
-
|
|
60
|
-
const black = (_j = (_h = theme.colors) === null || _h === void 0 ? void 0 : _h.black) !== null && _j !== void 0 ? _j : "#000";
|
|
61
|
-
return { bg, color: onFilled(bg, white, black) };
|
|
59
|
+
return { bg, color: onFilled(bg, palette.white, palette.black) };
|
|
62
60
|
},
|
|
63
61
|
},
|
|
64
62
|
defaultProps: {
|
|
@@ -72,16 +70,35 @@ const Badge = {
|
|
|
72
70
|
// unfixed.
|
|
73
71
|
const FormError = {
|
|
74
72
|
baseStyle: ({ theme }) => {
|
|
75
|
-
var _a, _b, _c, _d;
|
|
76
73
|
// `icon` (FormErrorIcon) shares the same AA gap as `text` — both must be fixed together or
|
|
77
74
|
// the icon stays on Chakra's raw `red.500`.
|
|
78
|
-
const
|
|
75
|
+
const palette = paletteOf(theme);
|
|
76
|
+
const color = accentTextOnCanvas(palette.red, palette.backgroundColor.main);
|
|
79
77
|
return {
|
|
80
78
|
text: { color },
|
|
81
79
|
icon: { color },
|
|
82
80
|
};
|
|
83
81
|
},
|
|
84
82
|
};
|
|
83
|
+
const $alertFg = cssVar("alert-fg");
|
|
84
|
+
const $alertBg = cssVar("alert-bg");
|
|
85
|
+
const { defineMultiStyleConfig: defineAlertStyles, definePartsStyle: defineAlertParts } = createMultiStyleConfigHelpers(alertAnatomy.keys);
|
|
86
|
+
const Alert = defineAlertStyles({
|
|
87
|
+
variants: {
|
|
88
|
+
solid: defineAlertParts(({ theme, colorScheme = "gray" }) => {
|
|
89
|
+
const palette = paletteOf(theme);
|
|
90
|
+
const bg = scaleFor(palette, colorScheme)[500];
|
|
91
|
+
if (!isHexColor(bg))
|
|
92
|
+
return { container: {} };
|
|
93
|
+
return {
|
|
94
|
+
container: {
|
|
95
|
+
[$alertBg.variable]: bg,
|
|
96
|
+
[$alertFg.variable]: onFilled(bg, palette.white, palette.black),
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}),
|
|
100
|
+
},
|
|
101
|
+
});
|
|
85
102
|
const $tooltipBg = cssVar("tooltip-bg");
|
|
86
103
|
const $tooltipFg = cssVar("tooltip-fg");
|
|
87
104
|
/**
|
|
@@ -95,13 +112,10 @@ const $tooltipFg = cssVar("tooltip-fg");
|
|
|
95
112
|
* deliberately never remaps, so they stay a stable dark-bg/white-text pair in both modes.
|
|
96
113
|
*/
|
|
97
114
|
const Tooltip = {
|
|
98
|
-
baseStyle: ({ theme }) => {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
[$tooltipFg.variable]: (_d = (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.white) !== null && _d !== void 0 ? _d : "colors.whiteAlpha.900",
|
|
103
|
-
});
|
|
104
|
-
},
|
|
115
|
+
baseStyle: ({ theme }) => ({
|
|
116
|
+
[$tooltipBg.variable]: theme.colors.black,
|
|
117
|
+
[$tooltipFg.variable]: theme.colors.white,
|
|
118
|
+
}),
|
|
105
119
|
};
|
|
106
120
|
const $skeletonStart = cssVar("skeleton-start-color");
|
|
107
121
|
const $skeletonEnd = cssVar("skeleton-end-color");
|
|
@@ -115,15 +129,12 @@ const $skeletonEnd = cssVar("skeleton-end-color");
|
|
|
115
129
|
* prop still wins via that mechanism, this only supplies the default the base style already owns.
|
|
116
130
|
*/
|
|
117
131
|
const Skeleton = {
|
|
118
|
-
baseStyle: ({ theme }) => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
borderColor: $skeletonEnd.reference,
|
|
125
|
-
});
|
|
126
|
-
},
|
|
132
|
+
baseStyle: ({ theme }) => ({
|
|
133
|
+
[$skeletonStart.variable]: paletteOf(theme).gray[100],
|
|
134
|
+
[$skeletonEnd.variable]: paletteOf(theme).gray[300],
|
|
135
|
+
background: $skeletonStart.reference,
|
|
136
|
+
borderColor: $skeletonEnd.reference,
|
|
137
|
+
}),
|
|
127
138
|
};
|
|
128
139
|
// Chakra's `extendTheme` does not REPLACE a component's stock baseStyle when ours is also a
|
|
129
140
|
// function — it calls BOTH and deep-merges the two returned plain objects, key by key. Chakra's
|
|
@@ -139,12 +150,9 @@ const Skeleton = {
|
|
|
139
150
|
// behavior directly rather than only the function output).
|
|
140
151
|
const Radio = {
|
|
141
152
|
baseStyle: ({ theme, colorScheme }) => {
|
|
142
|
-
|
|
143
|
-
const
|
|
144
|
-
const
|
|
145
|
-
const white = (_f = (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.white) !== null && _f !== void 0 ? _f : "#ffffff";
|
|
146
|
-
const black = (_h = (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.black) !== null && _h !== void 0 ? _h : "#000000";
|
|
147
|
-
const dot = onFilled(fill, white, black);
|
|
153
|
+
const palette = paletteOf(theme);
|
|
154
|
+
const fill = scaleFor(palette, colorScheme)[500];
|
|
155
|
+
const dot = onFilled(fill, palette.white, palette.black);
|
|
148
156
|
// A browser probe found the checked radio's hover repeating its own resting `fill` —
|
|
149
157
|
// Chakra's stock checked._hover (inherited from checkbox) lands on the SAME `bg`/`borderColor`
|
|
150
158
|
// keys we do, so extendTheme's merge is a scalar overwrite here, not a coexisting selector;
|
|
@@ -153,7 +161,7 @@ const Radio = {
|
|
|
153
161
|
const hoverFill = resolveHoverTint(fill, fill);
|
|
154
162
|
return {
|
|
155
163
|
control: {
|
|
156
|
-
borderColor:
|
|
164
|
+
borderColor: palette.boxborder[500],
|
|
157
165
|
_checked: {
|
|
158
166
|
bg: `${fill} !important`,
|
|
159
167
|
borderColor: `${fill} !important`,
|
|
@@ -187,16 +195,17 @@ const $closeButtonBg = cssVar("close-button-bg");
|
|
|
187
195
|
*/
|
|
188
196
|
const CloseButton = {
|
|
189
197
|
baseStyle: ({ theme }) => {
|
|
190
|
-
|
|
191
|
-
const dark = isDarkCanvas(
|
|
192
|
-
const alpha =
|
|
198
|
+
const palette = paletteOf(theme);
|
|
199
|
+
const dark = isDarkCanvas(palette.backgroundColor.main);
|
|
200
|
+
const alpha = scaleFor(palette, dark ? "whiteAlpha" : "blackAlpha");
|
|
193
201
|
return {
|
|
194
|
-
_hover: { [$closeButtonBg.variable]: alpha
|
|
195
|
-
_active: { [$closeButtonBg.variable]: alpha
|
|
202
|
+
_hover: { [$closeButtonBg.variable]: alpha[200] },
|
|
203
|
+
_active: { [$closeButtonBg.variable]: alpha[300] },
|
|
196
204
|
};
|
|
197
205
|
},
|
|
198
206
|
};
|
|
199
207
|
export const componentStyles = {
|
|
208
|
+
Alert,
|
|
200
209
|
Checkbox,
|
|
201
210
|
Radio,
|
|
202
211
|
Input,
|
|
@@ -3,6 +3,7 @@ import common from "./common.web.js";
|
|
|
3
3
|
import fonts from "./fonts.web.js";
|
|
4
4
|
import { componentStyles } from "./componentStyles.js";
|
|
5
5
|
import { onFilled } from "../tokens/builders/accentText.js";
|
|
6
|
+
import { globalScrollbarStyles } from "../tokens/builders/scrollbar.js";
|
|
6
7
|
/**
|
|
7
8
|
* Builds a Chakra theme from a pure brand palette.
|
|
8
9
|
*
|
|
@@ -83,22 +84,8 @@ export const createBrandTheme = (palette, options = {}) => {
|
|
|
83
84
|
color: onFilled(palette.primary[500], palette.white, palette.black),
|
|
84
85
|
},
|
|
85
86
|
// `color-scheme: dark` gives WebKit/Blink a dark scrollbar by default, but it's the
|
|
86
|
-
// OS's generic dark gray, not brand-aware
|
|
87
|
-
|
|
88
|
-
"::-webkit-scrollbar": {
|
|
89
|
-
width: "10px",
|
|
90
|
-
height: "10px",
|
|
91
|
-
},
|
|
92
|
-
"::-webkit-scrollbar-track": {
|
|
93
|
-
background: palette.backgroundColor.main,
|
|
94
|
-
},
|
|
95
|
-
"::-webkit-scrollbar-thumb": {
|
|
96
|
-
background: palette.gray[600],
|
|
97
|
-
borderRadius: "6px",
|
|
98
|
-
},
|
|
99
|
-
"::-webkit-scrollbar-thumb:hover": {
|
|
100
|
-
background: palette.gray[500],
|
|
101
|
-
},
|
|
87
|
+
// OS's generic dark gray, not brand-aware.
|
|
88
|
+
...globalScrollbarStyles(palette),
|
|
102
89
|
// Chrome/Edge autofill paints its own opaque yellow/white fill behind the input
|
|
103
90
|
// text via `-webkit-box-shadow` (not `background`), so a plain `bg` override never
|
|
104
91
|
// reaches it — a bright light box survives on every dark autofilled field unless
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { assertPixelizePalette } from "../assertPalette.js";
|
|
2
|
+
/** Chakra hands style functions an untyped theme; this is the boundary that makes it typed. */
|
|
3
|
+
export const paletteOf = (theme) => assertPixelizePalette(theme);
|
|
4
|
+
const asScale = (value) => typeof value === "object" && value !== null ? value : undefined;
|
|
5
|
+
/**
|
|
6
|
+
* `colorScheme` is a consumer-supplied Chakra scale name, so this lookup is genuinely dynamic —
|
|
7
|
+
* it can name a built-in we never themed. An unknown name resolves to the neutral ramp.
|
|
8
|
+
*/
|
|
9
|
+
export const scaleFor = (palette, colorScheme) => { var _a; return (_a = asScale(palette[colorScheme])) !== null && _a !== void 0 ? _a : palette.gray; };
|
|
@@ -109,6 +109,11 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
|
|
|
109
109
|
useLayoutEffect(() => {
|
|
110
110
|
document.documentElement.style.colorScheme = resolvedMode;
|
|
111
111
|
}, [resolvedMode]);
|
|
112
|
+
// Chakra's ColorModeProvider re-writes color-scheme in a passive effect, after the layout
|
|
113
|
+
// effect above, and forcedLightColorModeManager pins it to "light". Re-assert after it.
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
document.documentElement.style.colorScheme = resolvedMode;
|
|
116
|
+
}, [resolvedMode]);
|
|
112
117
|
// Held in refs so a caller's inline arrow never re-creates `setMode`/`setBrand`, which would
|
|
113
118
|
// invalidate the context value on every render of the consuming app. Written in a layout
|
|
114
119
|
// effect, not during render — a render-phase write is unsafe under StrictMode's double
|
|
@@ -154,42 +159,40 @@ export const PixelizeThemeProvider = ({ children, brand: brandProp = DEFAULT_BRA
|
|
|
154
159
|
* `data-mode` for consumers that want to hook their own dark CSS.
|
|
155
160
|
*/
|
|
156
161
|
useLayoutEffect(() => {
|
|
157
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
158
162
|
const root = document.documentElement;
|
|
159
163
|
root.dataset.mode = resolvedMode;
|
|
160
|
-
const colors = resolvedTheme
|
|
161
|
-
const
|
|
162
|
-
const gray = colors.gray;
|
|
164
|
+
const { colors } = resolvedTheme;
|
|
165
|
+
const { gray, semantic } = colors;
|
|
163
166
|
const HUE_SCALES = [
|
|
164
167
|
"primary", "gray", "red", "orange", "yellow",
|
|
165
168
|
"green", "teal", "blue", "cyan", "purple", "pink",
|
|
166
169
|
];
|
|
167
|
-
const SEMANTIC_SCALES = ["success", "error", "warning", "info"];
|
|
170
|
+
const SEMANTIC_SCALES = ["success", "error", "warning", "info"];
|
|
168
171
|
const RUNGS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
169
|
-
//
|
|
170
|
-
//
|
|
172
|
+
// The dark gray ramp runs dark(50) → light(900), so low rungs read as surfaces
|
|
173
|
+
// and high rungs as text — correct in dark, cleared in light.
|
|
171
174
|
const SEMANTIC_VARS = {
|
|
172
|
-
"text-heading": gray
|
|
173
|
-
"text-subtle": gray
|
|
174
|
-
"bg-main": gray
|
|
175
|
-
"bg-quaternary": gray
|
|
176
|
-
"bg-accent": gray
|
|
177
|
-
"bg-neutral": gray
|
|
178
|
-
"border-default": gray
|
|
179
|
-
"border-dark": gray
|
|
180
|
-
"border-error":
|
|
181
|
-
"border-warning":
|
|
175
|
+
"text-heading": gray[900], "text-body": gray[700],
|
|
176
|
+
"text-subtle": gray[500], "text-input": gray[500],
|
|
177
|
+
"bg-main": gray[50], "bg-secondary": gray[100], "bg-tertiary": gray[100],
|
|
178
|
+
"bg-quaternary": gray[200], "bg-light": gray[50], "bg-medium": gray[100],
|
|
179
|
+
"bg-accent": gray[200], "bg-subtle": gray[100], "bg-muted": gray[200],
|
|
180
|
+
"bg-neutral": gray[100], "bg-base": gray[50], "bg-table-header": gray[100],
|
|
181
|
+
"border-default": gray[200], "border-light": gray[100],
|
|
182
|
+
"border-dark": gray[300], "border-input": gray[300],
|
|
183
|
+
"border-error": semantic.error[500], "border-success": semantic.success[500],
|
|
184
|
+
"border-warning": semantic.warning[500], "border-info": semantic.info[500],
|
|
182
185
|
};
|
|
183
|
-
const set = (name, val) =>
|
|
186
|
+
const set = (name, val) => root.style.setProperty(`--color-${name}`, val);
|
|
184
187
|
const clear = (name) => root.style.removeProperty(`--color-${name}`);
|
|
185
188
|
const allRampNames = [...HUE_SCALES, ...SEMANTIC_SCALES].flatMap((s) => RUNGS.map((r) => `${s}-${r}`));
|
|
186
189
|
if (resolvedMode === "dark") {
|
|
187
190
|
for (const s of HUE_SCALES)
|
|
188
191
|
for (const r of RUNGS)
|
|
189
|
-
set(`${s}-${r}`,
|
|
192
|
+
set(`${s}-${r}`, colors[s][r]);
|
|
190
193
|
for (const s of SEMANTIC_SCALES)
|
|
191
194
|
for (const r of RUNGS)
|
|
192
|
-
set(`${s}-${r}`,
|
|
195
|
+
set(`${s}-${r}`, semantic[s][r]);
|
|
193
196
|
for (const [name, val] of Object.entries(SEMANTIC_VARS))
|
|
194
197
|
set(name, val);
|
|
195
198
|
}
|
|
@@ -22,33 +22,26 @@ const toBrandLabel = (brand) => brand.charAt(0).toUpperCase() + brand.slice(1);
|
|
|
22
22
|
* the dot always matches what selecting that brand actually looks like,
|
|
23
23
|
* regardless of which brand/mode is currently active.
|
|
24
24
|
*/
|
|
25
|
-
const brandSwatchColor = (brand) =>
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const brandSwatchColor = (brand) => brandThemes[brand].light.colors.primary[500];
|
|
26
|
+
const BrandSwatch = ({ brand }) => {
|
|
27
|
+
const { colors } = useCustomTheme();
|
|
28
|
+
return (_jsx(Box, { as: "span", display: "inline-block", w: "0.625rem", h: "0.625rem", borderRadius: "full", bg: brandSwatchColor(brand), border: "1px solid", borderColor: colors.boxborder[200], flexShrink: 0 }));
|
|
28
29
|
};
|
|
29
|
-
const BrandSwatch = ({ brand }) => (_jsx(Box, { as: "span", display: "inline-block", w: "0.625rem", h: "0.625rem", borderRadius: "full", bg: brandSwatchColor(brand), border: "1px solid", borderColor: "whiteAlpha.300", flexShrink: 0 }));
|
|
30
30
|
/**
|
|
31
31
|
* Palette values already differ per color mode (`brandThemes[brand].light|dark`), so tokens
|
|
32
32
|
* are read straight from the active theme — no `useColorModeValue` pairing needed here.
|
|
33
|
-
* Fallbacks are Chakra token names, never literal colors, for themes without a brand palette.
|
|
34
33
|
*/
|
|
35
34
|
const useSwitcherColors = () => {
|
|
36
|
-
|
|
37
|
-
const colors = useCustomTheme().colors;
|
|
35
|
+
const { colors } = useCustomTheme();
|
|
38
36
|
return {
|
|
39
|
-
trackBg:
|
|
40
|
-
activeBg:
|
|
41
|
-
activeColor:
|
|
42
|
-
mutedColor:
|
|
43
|
-
hoverBg:
|
|
44
|
-
borderColor:
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
// Re-deriving it here too and pushing it back via `sx` on every render caused a redundant
|
|
48
|
-
// Emotion style recompute per render, which showed up as flicker while hovering/scrolling
|
|
49
|
-
// this list. Keep menuColor (Menu.styles.ts doesn't set list `color` per this component's
|
|
50
|
-
// needs) but stop duplicating menuBg.
|
|
51
|
-
menuColor: (_0 = (_y = (_x = colors === null || colors === void 0 ? void 0 : colors.text) === null || _x === void 0 ? void 0 : _x[900]) !== null && _y !== void 0 ? _y : (_z = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _z === void 0 ? void 0 : _z[900]) !== null && _0 !== void 0 ? _0 : "gray.900",
|
|
37
|
+
trackBg: colors.backgroundColor.secondary,
|
|
38
|
+
activeBg: colors.backgroundColor.main,
|
|
39
|
+
activeColor: colors.primary[500],
|
|
40
|
+
mutedColor: colors.text[600],
|
|
41
|
+
hoverBg: colors.gray[100],
|
|
42
|
+
borderColor: colors.boxborder[200],
|
|
43
|
+
// NOTE: menuBg lives in Menu.styles.ts — re-pushing it via `sx` flickers on every render.
|
|
44
|
+
menuColor: colors.text[900],
|
|
52
45
|
};
|
|
53
46
|
};
|
|
54
47
|
const BrandMenu = ({ size }) => {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { lightPalettes, darkPalettes } from "../tokens/brands/index.js";
|
|
2
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3
|
+
const deepMerge = (base, patch) => {
|
|
4
|
+
if (!isPlainObject(base) || !isPlainObject(patch))
|
|
5
|
+
return patch;
|
|
6
|
+
const out = { ...base };
|
|
7
|
+
for (const [key, value] of Object.entries(patch))
|
|
8
|
+
out[key] = deepMerge(base[key], value);
|
|
9
|
+
return out;
|
|
10
|
+
};
|
|
11
|
+
/** A complete palette for tests. Overrides layer onto a real brand, never replace a group. */
|
|
12
|
+
export const testPalette = (options = {}) => {
|
|
13
|
+
const { brand = "lavender", mode = "light", overrides = {} } = options;
|
|
14
|
+
const base = mode === "dark" ? darkPalettes[brand] : lightPalettes[brand];
|
|
15
|
+
return deepMerge(base, overrides);
|
|
16
|
+
};
|
|
17
|
+
export const testTheme = (options = {}) => ({
|
|
18
|
+
colors: testPalette(options),
|
|
19
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { neutralTokens, sharedBoxShadow } from "../neutrals.js";
|
|
2
2
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
3
|
+
import { buildBrandInk } from "../../builders/brandInk.js";
|
|
3
4
|
const PRIMARY_500 = "#0f9d8a"; // teal-emerald core (balanced, not too green/blue)
|
|
4
5
|
const primary = {
|
|
5
6
|
50: "#e6f7f5",
|
|
@@ -15,7 +16,8 @@ const primary = {
|
|
|
15
16
|
opacity: buildPrimaryOpacity(PRIMARY_500),
|
|
16
17
|
};
|
|
17
18
|
const palette = {
|
|
18
|
-
...
|
|
19
|
+
...neutralTokens,
|
|
20
|
+
...buildBrandInk(PRIMARY_500),
|
|
19
21
|
// Stops retuned so white gradient-button text (onGradient, accentText.ts) clears AA at both
|
|
20
22
|
// ends — the original pair let white drop to 3.38/2.43 against from/to. Same hue, darker.
|
|
21
23
|
// Both nudged one step further (4.537/4.515 -> 4.618/4.616): the first pass cleared AA by
|
|
@@ -123,8 +125,7 @@ const palette = {
|
|
|
123
125
|
},
|
|
124
126
|
boxShadow: {
|
|
125
127
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
126
|
-
|
|
127
|
-
default: lavenderPalette.boxShadow.default,
|
|
128
|
+
...sharedBoxShadow,
|
|
128
129
|
},
|
|
129
130
|
};
|
|
130
131
|
export default palette;
|
|
@@ -16,23 +16,27 @@ import emeraldDark from "./emerald/palette.dark.js";
|
|
|
16
16
|
import rosewoodDark from "./rosewood/palette.dark.js";
|
|
17
17
|
import storefrontDark from "./storefront/palette.dark.js";
|
|
18
18
|
import zincDark from "./zinc/palette.dark.js";
|
|
19
|
-
import { pickAccentText } from "../builders/accentText.js";
|
|
19
|
+
import { pickAccentText, onFilled } from "../builders/accentText.js";
|
|
20
20
|
import { withOutlineRung } from "../builders/outlineRung.js";
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
import { withSidebarTokens } from "../builders/sidebarAccent.js";
|
|
22
|
+
import { buildMutedText } from "../builders/mutedText.js";
|
|
23
|
+
import { buildSemanticText, buildOnSemantic } from "../builders/semanticText.js";
|
|
24
|
+
import { withPlaceholderRung, withTableHoverRung } from "../builders/resolvedRungs.js";
|
|
25
|
+
import { withSurfaceRungs } from "../builders/surfaceRungs.js";
|
|
26
|
+
/** Derived, never hand-written: a copied hex goes stale the moment a canvas moves. */
|
|
27
|
+
export const finalizeLightPalette = (source) => ({
|
|
28
|
+
...source,
|
|
29
|
+
sidebar: withSidebarTokens(source),
|
|
30
|
+
accentText: pickAccentText(source.primary, source.backgroundColor.main),
|
|
31
|
+
textMuted: buildMutedText(source.text, source.backgroundColor.main),
|
|
32
|
+
semanticText: buildSemanticText(source.semantic, source.backgroundColor.main),
|
|
33
|
+
onPrimary: onFilled(source.primary[500], source.white, source.black),
|
|
34
|
+
onSemantic: buildOnSemantic(source.semantic, source.white, source.black),
|
|
35
|
+
});
|
|
33
36
|
export { lavender, meadow, radiant, skyline, slate, emerald, rosewood, storefront, zinc };
|
|
34
37
|
export { lavenderDark, meadowDark, radiantDark, skylineDark, slateDark, emeraldDark, rosewoodDark, storefrontDark, zincDark, };
|
|
35
|
-
const
|
|
38
|
+
const resolveRungs = (palette) => withSurfaceRungs(withTableHoverRung(withPlaceholderRung(withOutlineRung(palette))));
|
|
39
|
+
const lightBrand = (source) => resolveRungs(finalizeLightPalette(source));
|
|
36
40
|
/** Light palette per brand. `lavender` is the base the other six extend. */
|
|
37
41
|
export const lightPalettes = {
|
|
38
42
|
lavender: lightBrand(lavender),
|
|
@@ -46,16 +50,17 @@ export const lightPalettes = {
|
|
|
46
50
|
zinc: lightBrand(zinc),
|
|
47
51
|
};
|
|
48
52
|
/** Dark palette per brand, derived from the matching light palette. */
|
|
53
|
+
const darkBrand = (dark) => resolveRungs(dark);
|
|
49
54
|
export const darkPalettes = {
|
|
50
|
-
lavender:
|
|
51
|
-
meadow:
|
|
52
|
-
radiant:
|
|
53
|
-
skyline:
|
|
54
|
-
slate:
|
|
55
|
-
emerald:
|
|
56
|
-
rosewood:
|
|
57
|
-
storefront:
|
|
58
|
-
zinc:
|
|
55
|
+
lavender: darkBrand(lavenderDark),
|
|
56
|
+
meadow: darkBrand(meadowDark),
|
|
57
|
+
radiant: darkBrand(radiantDark),
|
|
58
|
+
skyline: darkBrand(skylineDark),
|
|
59
|
+
slate: darkBrand(slateDark),
|
|
60
|
+
emerald: darkBrand(emeraldDark),
|
|
61
|
+
rosewood: darkBrand(rosewoodDark),
|
|
62
|
+
storefront: darkBrand(storefrontDark),
|
|
63
|
+
zinc: darkBrand(zincDark),
|
|
59
64
|
};
|
|
60
65
|
// Built from lightPalettes/darkPalettes (not the raw literals) so accentText can never be
|
|
61
66
|
// present on one map and missing on the other.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildPrimaryOpacity, buildPrimaryShadowTint } from "../../builders/buildBrandTokens.js";
|
|
2
|
+
import { neutralTokens, sharedBoxShadow } from "../neutrals.js";
|
|
2
3
|
const PRIMARY_500 = "#8B3FC8";
|
|
3
4
|
const SECONDARY_ANCHOR = "#1e0f30";
|
|
4
5
|
const primary = {
|
|
@@ -28,56 +29,6 @@ const secondary = {
|
|
|
28
29
|
opacity: buildPrimaryOpacity(SECONDARY_ANCHOR),
|
|
29
30
|
};
|
|
30
31
|
const tertiary = { ...secondary };
|
|
31
|
-
const semantic = {
|
|
32
|
-
success: {
|
|
33
|
-
50: "#e9f8ef",
|
|
34
|
-
100: "#bbe9cc",
|
|
35
|
-
200: "#9adeb4",
|
|
36
|
-
300: "#6ccf92",
|
|
37
|
-
400: "#4fc67d",
|
|
38
|
-
500: "#23b85c",
|
|
39
|
-
600: "#20a754",
|
|
40
|
-
700: "#198341",
|
|
41
|
-
800: "#136533",
|
|
42
|
-
900: "#0f4d27",
|
|
43
|
-
},
|
|
44
|
-
error: {
|
|
45
|
-
50: "#feedeb",
|
|
46
|
-
100: "#fbc6c2",
|
|
47
|
-
200: "#f9aaa4",
|
|
48
|
-
300: "#f6837b",
|
|
49
|
-
400: "#f56b61",
|
|
50
|
-
500: "#f2463a",
|
|
51
|
-
600: "#dc4035",
|
|
52
|
-
700: "#ac3229",
|
|
53
|
-
800: "#852720",
|
|
54
|
-
900: "#661d18",
|
|
55
|
-
},
|
|
56
|
-
warning: {
|
|
57
|
-
50: "#fff4ef",
|
|
58
|
-
100: "#ffddce",
|
|
59
|
-
200: "#ffccb7",
|
|
60
|
-
300: "#ffb596",
|
|
61
|
-
400: "#ffa781",
|
|
62
|
-
500: "#ff9162",
|
|
63
|
-
600: "#e88459",
|
|
64
|
-
700: "#b56746",
|
|
65
|
-
800: "#8c5036",
|
|
66
|
-
900: "#6b3d29",
|
|
67
|
-
},
|
|
68
|
-
info: {
|
|
69
|
-
50: "#eff9fc",
|
|
70
|
-
100: "#cdedf5",
|
|
71
|
-
200: "#b5e4f0",
|
|
72
|
-
300: "#94d7e9",
|
|
73
|
-
400: "#7fd0e5",
|
|
74
|
-
500: "#5fc4de",
|
|
75
|
-
600: "#56b2ea",
|
|
76
|
-
700: "#438b9e",
|
|
77
|
-
800: "#346c78",
|
|
78
|
-
900: "#28525d",
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
32
|
const gray = {
|
|
82
33
|
50: "#f9f7fb",
|
|
83
34
|
100: "#f0eaf6",
|
|
@@ -98,51 +49,6 @@ const gray = {
|
|
|
98
49
|
};
|
|
99
50
|
// These global color scales stay unchanged — they are
|
|
100
51
|
// utility palettes, not theme-specific
|
|
101
|
-
const red = {
|
|
102
|
-
50: "#feedeb", 100: "#fbc6c2", 200: "#f9aaa4", 300: "#f6837b",
|
|
103
|
-
400: "#f56b61", 500: "#f2463a", 600: "#dc4035", 700: "#ac3229",
|
|
104
|
-
800: "#852720", 900: "#661d18",
|
|
105
|
-
};
|
|
106
|
-
const orange = {
|
|
107
|
-
50: "#fff4ef", 100: "#ffddce", 200: "#ffccb7", 300: "#ffb596",
|
|
108
|
-
400: "#ffa781", 500: "#ff9162", 600: "#e88459", 700: "#b56746",
|
|
109
|
-
800: "#8c5036", 900: "#6b3d29",
|
|
110
|
-
};
|
|
111
|
-
const yellow = {
|
|
112
|
-
50: "#fefbec", 100: "#fdf1c5", 200: "#fbeba9", 300: "#fae281",
|
|
113
|
-
400: "#f9dc69", 500: "#f7d343", 600: "#e1c03d", 700: "#af9630",
|
|
114
|
-
800: "#887425", 900: "#68591c",
|
|
115
|
-
};
|
|
116
|
-
const green = {
|
|
117
|
-
50: "#e9f8ef", 100: "#bbe9cc", 200: "#9adeb4", 300: "#6ccf92",
|
|
118
|
-
400: "#4fc67d", 500: "#23b85c", 600: "#20a754", 700: "#198341",
|
|
119
|
-
800: "#136533", 900: "#0f4d27",
|
|
120
|
-
};
|
|
121
|
-
const teal = {
|
|
122
|
-
50: "#eff9fc", 100: "#cdedf5", 200: "#b5e4f0", 300: "#94d7e9",
|
|
123
|
-
400: "#7fd0e5", 500: "#5fc4de", 600: "#56b2ea", 700: "#438b9e",
|
|
124
|
-
800: "#346c78", 900: "#28525d",
|
|
125
|
-
};
|
|
126
|
-
const blue = {
|
|
127
|
-
50: "#ebf8ff", 100: "#bee3f8", 200: "#90cdf4", 300: "#63b3ed",
|
|
128
|
-
400: "#4299e1", 500: "#3182ce", 600: "#2b6cb0", 700: "#2c5282",
|
|
129
|
-
800: "#2a4365", 900: "#1a365d",
|
|
130
|
-
};
|
|
131
|
-
const cyan = {
|
|
132
|
-
50: "#edfdfd", 100: "#c4f1f9", 200: "#9decf9", 300: "#76e4f7",
|
|
133
|
-
400: "#0bc5ea", 500: "#00b5d8", 600: "#00a3c4", 700: "#0987a0",
|
|
134
|
-
800: "#086f83", 900: "#065666",
|
|
135
|
-
};
|
|
136
|
-
const purple = {
|
|
137
|
-
50: "#faf5ff", 100: "#e9d8fd", 200: "#d6bcfa", 300: "#b794f4",
|
|
138
|
-
400: "#9f7aea", 500: "#805ad5", 600: "#6b46c1", 700: "#553c9a",
|
|
139
|
-
800: "#44337a", 900: "#322659",
|
|
140
|
-
};
|
|
141
|
-
const pink = {
|
|
142
|
-
50: "#fff5f7", 100: "#fed7e2", 200: "#fbb6ce", 300: "#f687b3",
|
|
143
|
-
400: "#ed64a6", 500: "#d53f8c", 600: "#b83280", 700: "#97266d",
|
|
144
|
-
800: "#702459", 900: "#521b41",
|
|
145
|
-
};
|
|
146
52
|
const backgroundColor = {
|
|
147
53
|
main: "#f9f7fc",
|
|
148
54
|
secondary: "#f2edf8",
|
|
@@ -208,8 +114,7 @@ const placeholder = {
|
|
|
208
114
|
};
|
|
209
115
|
const boxShadow = {
|
|
210
116
|
primary: buildPrimaryShadowTint(PRIMARY_500),
|
|
211
|
-
|
|
212
|
-
default: "#00000033",
|
|
117
|
+
...sharedBoxShadow,
|
|
213
118
|
};
|
|
214
119
|
const sidebar = {
|
|
215
120
|
background: {
|
|
@@ -281,31 +186,15 @@ const disabled = {
|
|
|
281
186
|
800: "#625d75",
|
|
282
187
|
900: "#4b4759",
|
|
283
188
|
};
|
|
284
|
-
//
|
|
285
|
-
|
|
286
|
-
// original let white drop to 3.53 there (`from` already passed at 5.76, unchanged).
|
|
287
|
-
// Nudged one step further (4.511 -> 4.609): the first pass cleared AA by <0.02, too thin a
|
|
288
|
-
// margin to trust against rounding/rendering variance.
|
|
289
|
-
const gradient = { from: "#8B3FC8", to: "#df187a" };
|
|
189
|
+
// Single-hue gradient: white clears AA by margin, not by hundredths. See gradientTone.test.ts.
|
|
190
|
+
const gradient = { from: "#8b3fc8", to: "#762d9d" };
|
|
290
191
|
const palette = {
|
|
291
192
|
gradient,
|
|
292
193
|
primary,
|
|
293
194
|
secondary,
|
|
294
195
|
tertiary,
|
|
295
|
-
|
|
296
|
-
black: "#000",
|
|
297
|
-
white: "#fff",
|
|
298
|
-
semantic,
|
|
196
|
+
...neutralTokens,
|
|
299
197
|
gray,
|
|
300
|
-
red,
|
|
301
|
-
orange,
|
|
302
|
-
yellow,
|
|
303
|
-
green,
|
|
304
|
-
teal,
|
|
305
|
-
blue,
|
|
306
|
-
cyan,
|
|
307
|
-
purple,
|
|
308
|
-
pink,
|
|
309
198
|
backgroundColor,
|
|
310
199
|
background,
|
|
311
200
|
text,
|