pixelize-design-library 2.4.1-beta.2 → 2.4.1-beta.4
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/accordionColors.d.ts.map +1 -1
- package/dist/Components/Accordion/accordionColors.js +17 -3
- package/dist/Components/Checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/Components/Checkbox/Checkbox.styles.js +13 -2
- package/dist/Components/CustomModulesTable/EditModuleModal.d.ts.map +1 -1
- package/dist/Components/CustomModulesTable/EditModuleModal.js +5 -1
- package/dist/Components/DatePicker/CalendarPanel.d.ts.map +1 -1
- package/dist/Components/DatePicker/CalendarPanel.js +3 -1
- package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -1
- package/dist/Components/Editor/joditThemeVars.js +9 -0
- package/dist/Components/FilePreview/FilePreview.d.ts.map +1 -1
- package/dist/Components/FilePreview/FilePreview.js +3 -1
- package/dist/Components/FileUploader/FileUploader.js +2 -2
- package/dist/Components/FilterSidebar/FilterSidebar.js +1 -1
- package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts +5 -0
- package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts.map +1 -0
- package/dist/Components/LimitReachedModal/LimitReachedModal.js +40 -0
- package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +16 -0
- package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts.map +1 -0
- package/dist/Components/LimitReachedModal/LimitReachedModalProps.js +2 -0
- package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +7 -0
- package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts.map +1 -0
- package/dist/Components/LimitReachedModal/limitReachedCopy.js +54 -0
- package/dist/Components/NavigationBar/NavigationBar.d.ts.map +1 -1
- package/dist/Components/NavigationBar/NavigationBar.js +10 -6
- package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts.map +1 -1
- package/dist/Components/OrgSwitcher/OrgSwitcher.js +22 -3
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +1 -0
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts.map +1 -1
- package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +3 -3
- package/dist/Components/OrganizationDetails/CreateOrgModal.js +6 -4
- package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts.map +1 -1
- package/dist/Components/OrganizationDetails/OrganizationDetails.js +55 -7
- package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +24 -14
- package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts.map +1 -1
- package/dist/Components/PlanBadge/PlanBadge.d.ts +12 -0
- package/dist/Components/PlanBadge/PlanBadge.d.ts.map +1 -0
- package/dist/Components/PlanBadge/PlanBadge.js +22 -0
- package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +11 -0
- package/dist/Components/PlanBadge/PlanBadgeProps.d.ts.map +1 -0
- package/dist/Components/PlanBadge/PlanBadgeProps.js +2 -0
- package/dist/Components/PlanPill/PlanPill.d.ts +5 -0
- package/dist/Components/PlanPill/PlanPill.d.ts.map +1 -0
- package/dist/Components/PlanPill/PlanPill.js +42 -0
- package/dist/Components/PlanPill/PlanPillProps.d.ts +28 -0
- package/dist/Components/PlanPill/PlanPillProps.d.ts.map +1 -0
- package/dist/Components/PlanPill/PlanPillProps.js +2 -0
- package/dist/Components/PlanPill/planPillGradient.d.ts +22 -0
- package/dist/Components/PlanPill/planPillGradient.d.ts.map +1 -0
- package/dist/Components/PlanPill/planPillGradient.js +20 -0
- package/dist/Components/Search/Search.d.ts.map +1 -1
- package/dist/Components/Search/Search.js +4 -2
- package/dist/Components/Select/Select.styles.d.ts.map +1 -1
- package/dist/Components/Select/Select.styles.js +29 -20
- package/dist/Components/SelectSearch/SelectSearch.js +1 -1
- package/dist/Components/SideBar/SecondaryBar.d.ts.map +1 -1
- package/dist/Components/SideBar/SecondaryBar.js +10 -2
- package/dist/Components/SideBar/SideBar.js +1 -1
- package/dist/Components/SideBar/components/MenuItemBox.d.ts.map +1 -1
- package/dist/Components/SideBar/components/MenuItemBox.js +7 -6
- package/dist/Components/Table/components/tableRowHoverStyle.d.ts +9 -8
- package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -1
- package/dist/Components/Table/components/tableRowHoverStyle.js +12 -12
- package/dist/Components/Table/settings/ManageColumns.js +2 -2
- package/dist/Components/UpgradeButton/UpgradeButton.d.ts.map +1 -1
- package/dist/Components/UpgradeButton/UpgradeButton.js +25 -7
- package/dist/Components/UserDetails/UserDetails.d.ts.map +1 -1
- package/dist/Components/UserDetails/UserDetails.js +5 -2
- package/dist/Theme/chakra/componentStyles.d.ts +2 -0
- package/dist/Theme/chakra/componentStyles.d.ts.map +1 -1
- package/dist/Theme/chakra/componentStyles.js +74 -0
- package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -1
- package/dist/Theme/chakra/createBrandTheme.js +47 -0
- package/dist/Theme/tokens/brands/index.d.ts.map +1 -1
- package/dist/Theme/tokens/brands/index.js +20 -18
- package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -1
- package/dist/Theme/tokens/brands/zinc/palette.dark.js +4 -2
- package/dist/Theme/tokens/builders/outlineRung.d.ts +35 -0
- package/dist/Theme/tokens/builders/outlineRung.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/outlineRung.js +69 -0
- package/dist/Theme/tokens/builders/statusTone.d.ts +35 -0
- package/dist/Theme/tokens/builders/statusTone.d.ts.map +1 -0
- package/dist/Theme/tokens/builders/statusTone.js +63 -0
- package/dist/Utils/planBadge.d.ts +39 -0
- package/dist/Utils/planBadge.d.ts.map +1 -0
- package/dist/Utils/planBadge.js +108 -0
- package/dist/Utils/planExpiry.d.ts +35 -0
- package/dist/Utils/planExpiry.d.ts.map +1 -0
- package/dist/Utils/planExpiry.js +115 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -3
- package/package.json +6 -2
- package/.claude/settings.local.json +0 -51
- package/.cursor/TASK-SETUP.md +0 -43
- package/.cursor/agents/be-impl.md +0 -37
- package/.cursor/agents/fe-impl.md +0 -39
- package/.cursor/agents/task-plan.md +0 -56
- package/.cursor/agents/test-create.md +0 -31
- package/.cursor/agents/test-exec.md +0 -26
- package/.cursor/hooks/task-hint.env +0 -1
- package/.cursor/hooks/task-skill-nudge.sh +0 -71
- package/.cursor/hooks/task-slash-guard.sh +0 -31
- package/.cursor/hooks.json +0 -13
- package/.cursor/modules/account-management/MODULE.md +0 -41
- package/.cursor/modules/buttons/MODULE.md +0 -47
- package/.cursor/modules/cards/MODULE.md +0 -55
- package/.cursor/modules/charts/MODULE.md +0 -40
- package/.cursor/modules/common/MODULE.md +0 -36
- package/.cursor/modules/contact-auth/MODULE.md +0 -19
- package/.cursor/modules/data-display/MODULE.md +0 -42
- package/.cursor/modules/feedback/MODULE.md +0 -38
- package/.cursor/modules/form/MODULE.md +0 -13
- package/.cursor/modules/inputs-basic/MODULE.md +0 -42
- package/.cursor/modules/inputs-date-file/MODULE.md +0 -67
- package/.cursor/modules/inputs-select/MODULE.md +0 -89
- package/.cursor/modules/inputs-toggle/MODULE.md +0 -24
- package/.cursor/modules/kanban/MODULE.md +0 -22
- package/.cursor/modules/layout-navigation/MODULE.md +0 -319
- package/.cursor/modules/overlays/MODULE.md +0 -82
- package/.cursor/modules/playground/MODULE.md +0 -28
- package/.cursor/modules/table/MODULE.md +0 -84
- package/.cursor/modules/theme/MODULE.md +0 -431
- package/.cursor/modules/types-exports/MODULE.md +0 -17
- package/.cursor/modules/utility-ui/MODULE.md +0 -50
- package/.cursor/modules/utils-hooks/MODULE.md +0 -35
- package/.cursor/pixelize-task-statusline.sh +0 -64
- package/.cursor/plans/blocked/.gitkeep +0 -0
- package/.cursor/plans/current.md +0 -12
- package/.cursor/plans/current.theme-tokens-dark-mode.md +0 -77
- package/.cursor/plans/current.theme-tokens-dark.md +0 -155
- package/.cursor/plans/done/.gitkeep +0 -0
- package/.cursor/rules +0 -31
- package/.cursor/skills/task/SKILL.md +0 -167
- package/CLAUDE.md +0 -148
- package/__mocks__/styleMock.js +0 -8
- package/coverage/clover.xml +0 -405
- package/coverage/coverage-final.json +0 -16
- package/coverage/coverage-summary.json +0 -50
- package/coverage/lcov-report/Button/Button.tsx.html +0 -244
- package/coverage/lcov-report/Button/index.html +0 -116
- package/coverage/lcov-report/Checkbox/Checkbox.tsx.html +0 -433
- package/coverage/lcov-report/Checkbox/index.html +0 -116
- package/coverage/lcov-report/Common/ErrorMessage.tsx.html +0 -148
- package/coverage/lcov-report/Common/FormLabel.tsx.html +0 -331
- package/coverage/lcov-report/Common/HelperText.tsx.html +0 -124
- package/coverage/lcov-report/Common/index.html +0 -146
- package/coverage/lcov-report/Components/Button/Button.tsx.html +0 -244
- package/coverage/lcov-report/Components/Button/index.html +0 -116
- package/coverage/lcov-report/Components/Checkbox/Checkbox.tsx.html +0 -433
- package/coverage/lcov-report/Components/Checkbox/index.html +0 -116
- package/coverage/lcov-report/Components/Common/ErrorMessage.tsx.html +0 -148
- package/coverage/lcov-report/Components/Common/FormLabel.tsx.html +0 -331
- package/coverage/lcov-report/Components/Common/HelperText.tsx.html +0 -124
- package/coverage/lcov-report/Components/Common/index.html +0 -146
- package/coverage/lcov-report/Components/CustomModulesTable/CustomModulesTable.tsx.html +0 -712
- package/coverage/lcov-report/Components/CustomModulesTable/DeleteModuleModal.tsx.html +0 -343
- package/coverage/lcov-report/Components/CustomModulesTable/EditModuleModal.tsx.html +0 -313
- package/coverage/lcov-report/Components/CustomModulesTable/index.html +0 -146
- package/coverage/lcov-report/Components/Divider/Divider.tsx.html +0 -133
- package/coverage/lcov-report/Components/Divider/index.html +0 -116
- package/coverage/lcov-report/Components/Dropdown/DropDown.tsx.html +0 -994
- package/coverage/lcov-report/Components/Dropdown/index.html +0 -116
- package/coverage/lcov-report/Components/EmptyState/EmptyState.tsx.html +0 -466
- package/coverage/lcov-report/Components/EmptyState/index.html +0 -116
- package/coverage/lcov-report/Components/Header/HeaderActions.tsx.html +0 -373
- package/coverage/lcov-report/Components/Header/index.html +0 -116
- package/coverage/lcov-report/Components/Input/TextInput.tsx.html +0 -487
- package/coverage/lcov-report/Components/Input/index.html +0 -116
- package/coverage/lcov-report/Components/Input/textInputIconSize.ts.html +0 -205
- package/coverage/lcov-report/Components/KanbanBoard/AccountCard.tsx.html +0 -547
- package/coverage/lcov-report/Components/KanbanBoard/AccountRow.tsx.html +0 -190
- package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/KanbanActions.tsx.html +0 -247
- package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/index.html +0 -116
- package/coverage/lcov-report/Components/KanbanBoard/KanbanBoard.tsx.html +0 -3598
- package/coverage/lcov-report/Components/KanbanBoard/MeasuredItem.tsx.html +0 -283
- package/coverage/lcov-report/Components/KanbanBoard/index.html +0 -161
- package/coverage/lcov-report/Components/OrganizationDetails/CreateOrgModal.tsx.html +0 -511
- package/coverage/lcov-report/Components/OrganizationDetails/DeleteOrgModal.tsx.html +0 -334
- package/coverage/lcov-report/Components/OrganizationDetails/OrganizationDetails.tsx.html +0 -1519
- package/coverage/lcov-report/Components/OrganizationDetails/index.html +0 -146
- package/coverage/lcov-report/Components/RolesPermission/DeleteRoleModal.tsx.html +0 -328
- package/coverage/lcov-report/Components/RolesPermission/RolesPermission.tsx.html +0 -1732
- package/coverage/lcov-report/Components/RolesPermission/index.html +0 -131
- package/coverage/lcov-report/Components/SearchSelect/SearchSelect.tsx.html +0 -2575
- package/coverage/lcov-report/Components/SearchSelect/SelectTruncatedLabel.tsx.html +0 -202
- package/coverage/lcov-report/Components/SearchSelect/index.html +0 -146
- package/coverage/lcov-report/Components/SearchSelect/searchSelectSize.ts.html +0 -496
- package/coverage/lcov-report/Components/Select/Select.tsx.html +0 -361
- package/coverage/lcov-report/Components/Select/index.html +0 -116
- package/coverage/lcov-report/Components/SideBar/components/OtherApps.tsx.html +0 -562
- package/coverage/lcov-report/Components/SideBar/components/OverflowTooltipText.tsx.html +0 -346
- package/coverage/lcov-report/Components/SideBar/components/index.html +0 -116
- package/coverage/lcov-report/Components/SignInActivityTable/SignInActivityTable.tsx.html +0 -490
- package/coverage/lcov-report/Components/SignInActivityTable/index.html +0 -116
- package/coverage/lcov-report/Components/Table/components/TableActions.tsx.html +0 -595
- package/coverage/lcov-report/Components/Table/components/TableBody.tsx.html +0 -2212
- package/coverage/lcov-report/Components/Table/components/TableGroupRow.tsx.html +0 -358
- package/coverage/lcov-report/Components/Table/components/TableLoading.tsx.html +0 -358
- package/coverage/lcov-report/Components/Table/components/index.html +0 -161
- package/coverage/lcov-report/Components/Table/settings/ManageColumns.tsx.html +0 -856
- package/coverage/lcov-report/Components/Table/settings/index.html +0 -116
- package/coverage/lcov-report/Components/Tag/Tag.styles.tsx.html +0 -331
- package/coverage/lcov-report/Components/Tag/Tag.tsx.html +0 -256
- package/coverage/lcov-report/Components/Tag/index.html +0 -131
- package/coverage/lcov-report/Components/ToolTip/ToolTip.tsx.html +0 -286
- package/coverage/lcov-report/Components/ToolTip/index.html +0 -116
- package/coverage/lcov-report/Components/UserDetails/AddUserModal.tsx.html +0 -709
- package/coverage/lcov-report/Components/UserDetails/ChangeRoleModal.tsx.html +0 -505
- package/coverage/lcov-report/Components/UserDetails/DeactivateConfirmModal.tsx.html +0 -379
- package/coverage/lcov-report/Components/UserDetails/UserDetails.tsx.html +0 -1900
- package/coverage/lcov-report/Components/UserDetails/index.html +0 -161
- package/coverage/lcov-report/EmptyState/EmptyState.tsx.html +0 -466
- package/coverage/lcov-report/EmptyState/index.html +0 -116
- package/coverage/lcov-report/Hooks/index.html +0 -116
- package/coverage/lcov-report/Hooks/usePreferences.ts.html +0 -421
- package/coverage/lcov-report/Input/TextInput.tsx.html +0 -487
- package/coverage/lcov-report/Input/index.html +0 -131
- package/coverage/lcov-report/Input/textInputIconSize.ts.html +0 -205
- package/coverage/lcov-report/KanbanBoard.tsx.html +0 -3481
- package/coverage/lcov-report/OrganizationDetails/CreateOrgModal.tsx.html +0 -511
- package/coverage/lcov-report/OrganizationDetails/DeleteOrgModal.tsx.html +0 -334
- package/coverage/lcov-report/OrganizationDetails/OrganizationDetails.tsx.html +0 -1519
- package/coverage/lcov-report/OrganizationDetails/index.html +0 -146
- package/coverage/lcov-report/RolesPermission/DeleteRoleModal.tsx.html +0 -328
- package/coverage/lcov-report/RolesPermission/RolesPermission.tsx.html +0 -1732
- package/coverage/lcov-report/RolesPermission/index.html +0 -116
- package/coverage/lcov-report/SearchSelect/SearchSelect.tsx.html +0 -2575
- package/coverage/lcov-report/SearchSelect/SelectTruncatedLabel.tsx.html +0 -202
- package/coverage/lcov-report/SearchSelect/index.html +0 -146
- package/coverage/lcov-report/SearchSelect/searchSelectSize.ts.html +0 -496
- package/coverage/lcov-report/Table/CompactSelect.tsx.html +0 -379
- package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +0 -514
- package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +0 -373
- package/coverage/lcov-report/Table/Components/Pagination.tsx.html +0 -574
- package/coverage/lcov-report/Table/Components/TableActions.tsx.html +0 -574
- package/coverage/lcov-report/Table/Components/TableBody.tsx.html +0 -1027
- package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +0 -397
- package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +0 -1060
- package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +0 -361
- package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +0 -337
- package/coverage/lcov-report/Table/Components/index.html +0 -266
- package/coverage/lcov-report/Table/Components/useDebounce.ts.html +0 -178
- package/coverage/lcov-report/Table/Components/useTable.ts.html +0 -778
- package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +0 -1810
- package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +0 -178
- package/coverage/lcov-report/Table/Table.tsx.html +0 -1567
- package/coverage/lcov-report/Table/TableProps.tsx.html +0 -658
- package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +0 -619
- package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +0 -229
- package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +0 -532
- package/coverage/lcov-report/Table/TableSettings/index.html +0 -146
- package/coverage/lcov-report/Table/TableToDo.tsx.html +0 -973
- package/coverage/lcov-report/Table/TextOperationControls.tsx.html +0 -271
- package/coverage/lcov-report/Table/filterTypes.ts.html +0 -97
- package/coverage/lcov-report/Table/index.html +0 -176
- package/coverage/lcov-report/Table/settings/ManageColumns.tsx.html +0 -856
- package/coverage/lcov-report/Table/settings/index.html +0 -116
- package/coverage/lcov-report/Tag/Tag.tsx.html +0 -256
- package/coverage/lcov-report/Tag/index.html +0 -116
- package/coverage/lcov-report/Theme/buildBrandTokens.ts.html +0 -175
- package/coverage/lcov-report/Theme/chartColorsFromTheme.ts.html +0 -214
- package/coverage/lcov-report/Theme/index.html +0 -131
- package/coverage/lcov-report/Theme/useCustomTheme.ts.html +0 -100
- package/coverage/lcov-report/ToolTip/ToolTip.tsx.html +0 -286
- package/coverage/lcov-report/ToolTip/index.html +0 -116
- package/coverage/lcov-report/UserDetails/AddUserModal.tsx.html +0 -709
- package/coverage/lcov-report/UserDetails/ChangeRoleModal.tsx.html +0 -505
- package/coverage/lcov-report/UserDetails/index.html +0 -116
- package/coverage/lcov-report/Utils/functions.ts.html +0 -106
- package/coverage/lcov-report/Utils/index.html +0 -116
- package/coverage/lcov-report/Utils/table.ts.html +0 -1189
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -251
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -210
- package/coverage/lcov.info +0 -981
- package/dist/Theme/Dark/theme.d.ts +0 -3
- package/dist/Theme/Dark/theme.d.ts.map +0 -1
- package/dist/Theme/Dark/theme.js +0 -277
- package/dist/Theme/Default/palette.d.ts +0 -375
- package/dist/Theme/Default/palette.d.ts.map +0 -1
- package/dist/Theme/Default/palette.js +0 -306
- package/dist/Theme/Default/theme.d.ts +0 -3
- package/dist/Theme/Default/theme.d.ts.map +0 -1
- package/dist/Theme/Default/theme.js +0 -19
- package/dist/Theme/Emerald/palette.d.ts +0 -375
- package/dist/Theme/Emerald/palette.d.ts.map +0 -1
- package/dist/Theme/Emerald/palette.js +0 -125
- package/dist/Theme/Emerald/theme.d.ts +0 -3
- package/dist/Theme/Emerald/theme.d.ts.map +0 -1
- package/dist/Theme/Emerald/theme.js +0 -19
- package/dist/Theme/Meadow/palette.d.ts +0 -375
- package/dist/Theme/Meadow/palette.d.ts.map +0 -1
- package/dist/Theme/Meadow/palette.js +0 -123
- package/dist/Theme/Meadow/theme.d.ts +0 -3
- package/dist/Theme/Meadow/theme.d.ts.map +0 -1
- package/dist/Theme/Meadow/theme.js +0 -19
- package/dist/Theme/Radiant/palette.d.ts +0 -375
- package/dist/Theme/Radiant/palette.d.ts.map +0 -1
- package/dist/Theme/Radiant/palette.js +0 -125
- package/dist/Theme/Radiant/theme.d.ts +0 -3
- package/dist/Theme/Radiant/theme.d.ts.map +0 -1
- package/dist/Theme/Radiant/theme.js +0 -19
- package/dist/Theme/Rosewood/palette.d.ts +0 -375
- package/dist/Theme/Rosewood/palette.d.ts.map +0 -1
- package/dist/Theme/Rosewood/palette.js +0 -125
- package/dist/Theme/Rosewood/theme.d.ts +0 -3
- package/dist/Theme/Rosewood/theme.d.ts.map +0 -1
- package/dist/Theme/Rosewood/theme.js +0 -19
- package/dist/Theme/Skyline/palette.d.ts +0 -375
- package/dist/Theme/Skyline/palette.d.ts.map +0 -1
- package/dist/Theme/Skyline/palette.js +0 -123
- package/dist/Theme/Skyline/theme.d.ts +0 -3
- package/dist/Theme/Skyline/theme.d.ts.map +0 -1
- package/dist/Theme/Skyline/theme.js +0 -19
- package/dist/Theme/Slate/palette.d.ts +0 -375
- package/dist/Theme/Slate/palette.d.ts.map +0 -1
- package/dist/Theme/Slate/palette.js +0 -123
- package/dist/Theme/Slate/theme.d.ts +0 -3
- package/dist/Theme/Slate/theme.d.ts.map +0 -1
- package/dist/Theme/Slate/theme.js +0 -19
- package/dist/Theme/buildBrandTokens.d.ts +0 -16
- package/dist/Theme/buildBrandTokens.d.ts.map +0 -1
- package/dist/Theme/buildBrandTokens.js +0 -33
- package/dist/Theme/chartColorsFromTheme.d.ts +0 -19
- package/dist/Theme/chartColorsFromTheme.d.ts.map +0 -1
- package/dist/Theme/chartColorsFromTheme.js +0 -34
- package/dist/Theme/common.d.ts +0 -167
- package/dist/Theme/common.d.ts.map +0 -1
- package/dist/Theme/common.js +0 -112
- package/dist/Theme/componentStyles.d.ts +0 -10
- package/dist/Theme/componentStyles.d.ts.map +0 -1
- package/dist/Theme/componentStyles.js +0 -19
- package/dist/Theme/fonts.d.ts +0 -37
- package/dist/Theme/fonts.d.ts.map +0 -1
- package/dist/Theme/fonts.js +0 -41
- package/dist/Theme/space.d.ts +0 -34
- package/dist/Theme/space.d.ts.map +0 -1
- package/dist/Theme/space.js +0 -35
- package/dist/Theme/theme.d.ts +0 -3
- package/dist/Theme/theme.d.ts.map +0 -1
- package/dist/Theme/theme.js +0 -12
- package/eslint.config.js +0 -48
- package/index.html +0 -13
- package/vite.config.ts +0 -13
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PaletteProps, ResolvedColorMode } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* The floor a hover/active state's step off its own resting surface must clear to be seen at
|
|
4
|
+
* all — same value the SideBar ladder, Accordion, and NavigationBar hover states are held to.
|
|
5
|
+
* A "hover" a user cannot perceive is not a hover.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MIN_PERCEPTIBLE_STEP = 1.15;
|
|
8
|
+
/** WCAG 1.4.11 — a control outline is a UI component boundary, held to 3:1. */
|
|
9
|
+
export declare const AA_NON_TEXT = 3;
|
|
10
|
+
/**
|
|
11
|
+
* Walks a hex toward `target` contrast against `backdrop`, keeping its hue and saturation so the
|
|
12
|
+
* result still reads as the same colour. Darkens when `mode` is light, lightens when dark, and
|
|
13
|
+
* stops at the FIRST passing step so nothing overshoots to black or white.
|
|
14
|
+
*/
|
|
15
|
+
export declare function liftToContrast(hex: string, backdrop: string, mode: ResolvedColorMode, target?: number): string;
|
|
16
|
+
/**
|
|
17
|
+
* `boxborder[500]` is the rung every control outline reads (Checkbox, SearchSelect, the date
|
|
18
|
+
* pickers, the editor's inputs). It was authored as a decorative value — measured 1.30-2.56:1
|
|
19
|
+
* across brands, so those controls rendered effectively borderless in BOTH modes. Resolved here
|
|
20
|
+
* rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
|
|
21
|
+
*
|
|
22
|
+
* `border[*]` is deliberately untouched — that ramp draws table gridlines, which are decorative
|
|
23
|
+
* and outside 1.4.11.
|
|
24
|
+
*/
|
|
25
|
+
export declare function withOutlineRung(palette: PaletteProps, mode: ResolvedColorMode): PaletteProps;
|
|
26
|
+
/**
|
|
27
|
+
* A hover/active tint resolved against the surface it actually sits on, guaranteed to clear
|
|
28
|
+
* `MIN_PERCEPTIBLE_STEP`. Written for the recurring shape found across NavigationBar, UserDetails
|
|
29
|
+
* and Accordion: a pale `primary[50]`/`gray[50]` tint that measures near-1.0 on a near-white
|
|
30
|
+
* surface — invisible — with no dark-mode branch, so the same call site is wrong in both modes at
|
|
31
|
+
* once. `restSurface` is required rather than assumed white/black: a menu item's hover sits on
|
|
32
|
+
* its OWN list background, not necessarily the page canvas.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveHoverTint(seed: string, restSurface: string): string;
|
|
35
|
+
//# sourceMappingURL=outlineRung.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outlineRung.d.ts","sourceRoot":"","sources":["../../../../src/Theme/tokens/builders/outlineRung.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,+EAA+E;AAC/E,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,MAAM,GAAE,MAAoB,GAC3B,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,GAAG,YAAY,CAc5F;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAG1E"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AA_NON_TEXT = exports.MIN_PERCEPTIBLE_STEP = void 0;
|
|
4
|
+
exports.liftToContrast = liftToContrast;
|
|
5
|
+
exports.withOutlineRung = withOutlineRung;
|
|
6
|
+
exports.resolveHoverTint = resolveHoverTint;
|
|
7
|
+
const color_1 = require("./color");
|
|
8
|
+
const accentText_1 = require("./accentText");
|
|
9
|
+
/**
|
|
10
|
+
* The floor a hover/active state's step off its own resting surface must clear to be seen at
|
|
11
|
+
* all — same value the SideBar ladder, Accordion, and NavigationBar hover states are held to.
|
|
12
|
+
* A "hover" a user cannot perceive is not a hover.
|
|
13
|
+
*/
|
|
14
|
+
exports.MIN_PERCEPTIBLE_STEP = 1.15;
|
|
15
|
+
/** WCAG 1.4.11 — a control outline is a UI component boundary, held to 3:1. */
|
|
16
|
+
exports.AA_NON_TEXT = 3;
|
|
17
|
+
/**
|
|
18
|
+
* Walks a hex toward `target` contrast against `backdrop`, keeping its hue and saturation so the
|
|
19
|
+
* result still reads as the same colour. Darkens when `mode` is light, lightens when dark, and
|
|
20
|
+
* stops at the FIRST passing step so nothing overshoots to black or white.
|
|
21
|
+
*/
|
|
22
|
+
function liftToContrast(hex, backdrop, mode, target = exports.AA_NON_TEXT) {
|
|
23
|
+
if ((0, color_1.contrastRatio)(hex, backdrop) >= target)
|
|
24
|
+
return hex;
|
|
25
|
+
const { s } = (0, color_1.hexToHsl)(hex);
|
|
26
|
+
const step = mode === "dark" ? 1 : -1;
|
|
27
|
+
let { l } = (0, color_1.hexToHsl)(hex);
|
|
28
|
+
while (l > 0 && l < 100) {
|
|
29
|
+
l += step;
|
|
30
|
+
const next = (0, color_1.withLightness)(hex, l, s);
|
|
31
|
+
if ((0, color_1.contrastRatio)(next, backdrop) >= target)
|
|
32
|
+
return next;
|
|
33
|
+
}
|
|
34
|
+
return (0, color_1.withLightness)(hex, mode === "dark" ? 100 : 0, s);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* `boxborder[500]` is the rung every control outline reads (Checkbox, SearchSelect, the date
|
|
38
|
+
* pickers, the editor's inputs). It was authored as a decorative value — measured 1.30-2.56:1
|
|
39
|
+
* across brands, so those controls rendered effectively borderless in BOTH modes. Resolved here
|
|
40
|
+
* rather than hand-pinned per brand: a copied hex goes stale the moment a canvas moves.
|
|
41
|
+
*
|
|
42
|
+
* `border[*]` is deliberately untouched — that ramp draws table gridlines, which are decorative
|
|
43
|
+
* and outside 1.4.11.
|
|
44
|
+
*/
|
|
45
|
+
function withOutlineRung(palette, mode) {
|
|
46
|
+
const current = palette.boxborder[500];
|
|
47
|
+
// The border sits between the control's fill and the surface behind it; hold it to the
|
|
48
|
+
// harder of the two.
|
|
49
|
+
const backdrop = (0, color_1.contrastRatio)(current, palette.backgroundColor.main) <=
|
|
50
|
+
(0, color_1.contrastRatio)(current, palette.background[50])
|
|
51
|
+
? palette.backgroundColor.main
|
|
52
|
+
: palette.background[50];
|
|
53
|
+
const resolved = liftToContrast(current, backdrop, mode);
|
|
54
|
+
if (resolved === current)
|
|
55
|
+
return palette;
|
|
56
|
+
return { ...palette, boxborder: { ...palette.boxborder, 500: resolved } };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A hover/active tint resolved against the surface it actually sits on, guaranteed to clear
|
|
60
|
+
* `MIN_PERCEPTIBLE_STEP`. Written for the recurring shape found across NavigationBar, UserDetails
|
|
61
|
+
* and Accordion: a pale `primary[50]`/`gray[50]` tint that measures near-1.0 on a near-white
|
|
62
|
+
* surface — invisible — with no dark-mode branch, so the same call site is wrong in both modes at
|
|
63
|
+
* once. `restSurface` is required rather than assumed white/black: a menu item's hover sits on
|
|
64
|
+
* its OWN list background, not necessarily the page canvas.
|
|
65
|
+
*/
|
|
66
|
+
function resolveHoverTint(seed, restSurface) {
|
|
67
|
+
const mode = (0, accentText_1.isDarkCanvas)(restSurface) ? "dark" : "light";
|
|
68
|
+
return liftToContrast(seed, restSurface, mode, exports.MIN_PERCEPTIBLE_STEP);
|
|
69
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ColorScale, ResolvedColorMode } from "../types";
|
|
2
|
+
export type StatusTone = {
|
|
3
|
+
/** Chip fill. */
|
|
4
|
+
bg: string;
|
|
5
|
+
/** Label ink, guaranteed >= 4.5:1 on `bg`. */
|
|
6
|
+
fg: string;
|
|
7
|
+
/** Chip outline, guaranteed >= 3:1 on `bg`. */
|
|
8
|
+
border: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Status chips (open / in-progress / resolved …) were authored as `X.500` text on an `X.100`
|
|
12
|
+
* tint, which measures 3.3-4.4:1 — under the 4.5:1 body-text bar in BOTH modes. The ink is
|
|
13
|
+
* resolved from the scale's own hue instead of pinned, so every brand and both modes land on the
|
|
14
|
+
* lightest ink that still passes rather than a hand-copied hex that goes stale.
|
|
15
|
+
*
|
|
16
|
+
* `reverseScale` flips the utility ramps in dark, so `X.100` is already a dark tint there and the
|
|
17
|
+
* ink walks lighter instead of darker — hence the mode argument.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveStatusTone(scale: ColorScale, mode: ResolvedColorMode): StatusTone;
|
|
20
|
+
/**
|
|
21
|
+
* Avatar initials are drawn white on a generated fill. The seed hues in use measured 1.92:1
|
|
22
|
+
* (`#eab308`), 2.54:1 (`#10b981`) and 3.76:1 (`#ef4444`) — failing in light mode too, not just
|
|
23
|
+
* dark. Darkening the fill keeps the intended hue and the white-initials look while clearing AA.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveAvatarFill(hex: string, target?: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* Hue set for generated avatars. Values are seeds, not final fills — always pass them through
|
|
28
|
+
* `resolveAvatarFill` so the white initials stay legible.
|
|
29
|
+
*/
|
|
30
|
+
export declare const AVATAR_SEEDS: readonly ["#ef4444", "#f97316", "#eab308", "#22c55e", "#10b981", "#06b6d4", "#3b82f6", "#8b5cf6", "#ec4899"];
|
|
31
|
+
/** Stable per-name avatar fill: same name always yields the same accessible colour. */
|
|
32
|
+
export declare function avatarFillFor(seedText: string): string;
|
|
33
|
+
/** True when `fg` clears the body-text bar on `bg` — exported for consumer assertions. */
|
|
34
|
+
export declare const meetsBodyText: (fg: string, bg: string) => boolean;
|
|
35
|
+
//# sourceMappingURL=statusTone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusTone.d.ts","sourceRoot":"","sources":["../../../../src/Theme/tokens/builders/statusTone.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAUxF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAuB,GAAG,MAAM,CAGtF;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,8GAUf,CAAC;AAEX,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED,0FAA0F;AAC1F,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,KAAG,OACd,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.meetsBodyText = exports.AVATAR_SEEDS = void 0;
|
|
4
|
+
exports.resolveStatusTone = resolveStatusTone;
|
|
5
|
+
exports.resolveAvatarFill = resolveAvatarFill;
|
|
6
|
+
exports.avatarFillFor = avatarFillFor;
|
|
7
|
+
const color_1 = require("./color");
|
|
8
|
+
const accentText_1 = require("./accentText");
|
|
9
|
+
const outlineRung_1 = require("./outlineRung");
|
|
10
|
+
/**
|
|
11
|
+
* Status chips (open / in-progress / resolved …) were authored as `X.500` text on an `X.100`
|
|
12
|
+
* tint, which measures 3.3-4.4:1 — under the 4.5:1 body-text bar in BOTH modes. The ink is
|
|
13
|
+
* resolved from the scale's own hue instead of pinned, so every brand and both modes land on the
|
|
14
|
+
* lightest ink that still passes rather than a hand-copied hex that goes stale.
|
|
15
|
+
*
|
|
16
|
+
* `reverseScale` flips the utility ramps in dark, so `X.100` is already a dark tint there and the
|
|
17
|
+
* ink walks lighter instead of darker — hence the mode argument.
|
|
18
|
+
*/
|
|
19
|
+
function resolveStatusTone(scale, mode) {
|
|
20
|
+
const bg = scale[100];
|
|
21
|
+
const inkSeed = mode === "dark" ? scale[300] : scale[700];
|
|
22
|
+
const edgeSeed = mode === "dark" ? scale[400] : scale[300];
|
|
23
|
+
return {
|
|
24
|
+
bg,
|
|
25
|
+
fg: (0, outlineRung_1.liftToContrast)(inkSeed, bg, mode, accentText_1.AA_NORMAL_TEXT),
|
|
26
|
+
border: (0, outlineRung_1.liftToContrast)(edgeSeed, bg, mode, outlineRung_1.AA_NON_TEXT),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Avatar initials are drawn white on a generated fill. The seed hues in use measured 1.92:1
|
|
31
|
+
* (`#eab308`), 2.54:1 (`#10b981`) and 3.76:1 (`#ef4444`) — failing in light mode too, not just
|
|
32
|
+
* dark. Darkening the fill keeps the intended hue and the white-initials look while clearing AA.
|
|
33
|
+
*/
|
|
34
|
+
function resolveAvatarFill(hex, target = accentText_1.AA_NORMAL_TEXT) {
|
|
35
|
+
// "light" walks downward in lightness — i.e. darken until white ink clears the bar.
|
|
36
|
+
return (0, outlineRung_1.liftToContrast)(hex, "#ffffff", "light", target);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Hue set for generated avatars. Values are seeds, not final fills — always pass them through
|
|
40
|
+
* `resolveAvatarFill` so the white initials stay legible.
|
|
41
|
+
*/
|
|
42
|
+
exports.AVATAR_SEEDS = [
|
|
43
|
+
"#ef4444",
|
|
44
|
+
"#f97316",
|
|
45
|
+
"#eab308",
|
|
46
|
+
"#22c55e",
|
|
47
|
+
"#10b981",
|
|
48
|
+
"#06b6d4",
|
|
49
|
+
"#3b82f6",
|
|
50
|
+
"#8b5cf6",
|
|
51
|
+
"#ec4899",
|
|
52
|
+
];
|
|
53
|
+
/** Stable per-name avatar fill: same name always yields the same accessible colour. */
|
|
54
|
+
function avatarFillFor(seedText) {
|
|
55
|
+
let hash = 0;
|
|
56
|
+
for (let i = 0; i < seedText.length; i++) {
|
|
57
|
+
hash = (hash * 31 + seedText.charCodeAt(i)) >>> 0;
|
|
58
|
+
}
|
|
59
|
+
return resolveAvatarFill(exports.AVATAR_SEEDS[hash % exports.AVATAR_SEEDS.length]);
|
|
60
|
+
}
|
|
61
|
+
/** True when `fg` clears the body-text bar on `bg` — exported for consumer assertions. */
|
|
62
|
+
const meetsBodyText = (fg, bg) => (0, color_1.contrastRatio)(fg, bg) >= accentText_1.AA_NORMAL_TEXT;
|
|
63
|
+
exports.meetsBodyText = meetsBodyText;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { PlanPillTone } from "../Components/PlanPill/PlanPillProps";
|
|
2
|
+
import { PlanExpiryInput } from "./planExpiry";
|
|
3
|
+
export type PlanBadgeInput = {
|
|
4
|
+
/**
|
|
5
|
+
* Whether the org is on any plan at all. Defaults to true, so a caller that
|
|
6
|
+
* only knows the plan's name/code can omit it.
|
|
7
|
+
*/
|
|
8
|
+
hasPlan?: boolean;
|
|
9
|
+
planName?: string | null;
|
|
10
|
+
/** Plan code, e.g. `"free"`. Used to detect the free plan when `isFreePlan` is omitted. */
|
|
11
|
+
planCode?: string | null;
|
|
12
|
+
/** Legacy numeric plan id, where `1` is the free plan. */
|
|
13
|
+
planId?: number | null;
|
|
14
|
+
/** Explicit free-plan flag. Overrides detection from `planCode`/`planId`/`planName`. */
|
|
15
|
+
isFreePlan?: boolean;
|
|
16
|
+
isTrial?: boolean;
|
|
17
|
+
isExpired?: boolean;
|
|
18
|
+
expiryDate?: PlanExpiryInput;
|
|
19
|
+
/** The badge is hidden entirely for anyone who cannot act on it. */
|
|
20
|
+
canManageBilling?: boolean;
|
|
21
|
+
/** Injectable clock, for tests. */
|
|
22
|
+
now?: Date;
|
|
23
|
+
};
|
|
24
|
+
export type PlanBadgeResult = {
|
|
25
|
+
visible: boolean;
|
|
26
|
+
label: string;
|
|
27
|
+
mobileLabel: string;
|
|
28
|
+
subtitle: string;
|
|
29
|
+
tone: PlanPillTone;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Turns an org's plan state into the label, urgency tone and inset-chip text for
|
|
33
|
+
* a `PlanPill` — the "Upgrade your plan" badge in an app's top bar.
|
|
34
|
+
*
|
|
35
|
+
* Copy and thresholds are centralized here so every app shows the same badge for
|
|
36
|
+
* the same org.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolvePlanBadge(input: PlanBadgeInput): PlanBadgeResult;
|
|
39
|
+
//# sourceMappingURL=planBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planBadge.d.ts","sourceRoot":"","sources":["../../src/Utils/planBadge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EACL,eAAe,EAGhB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mCAAmC;IACnC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AA0DF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAuDvE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePlanBadge = resolvePlanBadge;
|
|
4
|
+
const planExpiry_1 = require("./planExpiry");
|
|
5
|
+
const UPGRADE_LABEL = "Upgrade your plan";
|
|
6
|
+
const UPGRADE_MOBILE_LABEL = "Upgrade";
|
|
7
|
+
const EXPIRED_MOBILE_LABEL = "Expired";
|
|
8
|
+
const TRIAL_LABEL = "Trial";
|
|
9
|
+
const GENERIC_PLAN_NAME = "Plan";
|
|
10
|
+
const LEGACY_FREE_PLAN_ID = 1;
|
|
11
|
+
const TRIAL_DANGER_DAYS = 3;
|
|
12
|
+
const ACTIVE_WARNING_DAYS = 15;
|
|
13
|
+
const HIDDEN = {
|
|
14
|
+
visible: false,
|
|
15
|
+
label: "",
|
|
16
|
+
mobileLabel: "",
|
|
17
|
+
subtitle: "",
|
|
18
|
+
tone: "normal",
|
|
19
|
+
};
|
|
20
|
+
const upgrade = (subtitle, tone = "normal") => ({
|
|
21
|
+
visible: true,
|
|
22
|
+
label: UPGRADE_LABEL,
|
|
23
|
+
mobileLabel: UPGRADE_MOBILE_LABEL,
|
|
24
|
+
subtitle,
|
|
25
|
+
tone,
|
|
26
|
+
});
|
|
27
|
+
const normalize = (value) => String(value !== null && value !== void 0 ? value : "")
|
|
28
|
+
.trim()
|
|
29
|
+
.toLowerCase();
|
|
30
|
+
function isFreePlan(input, planName) {
|
|
31
|
+
if (input.isFreePlan !== undefined)
|
|
32
|
+
return input.isFreePlan;
|
|
33
|
+
if (normalize(input.planCode) === "free")
|
|
34
|
+
return true;
|
|
35
|
+
if (input.planId !== null && input.planId !== undefined) {
|
|
36
|
+
return Number(input.planId) === LEGACY_FREE_PLAN_ID;
|
|
37
|
+
}
|
|
38
|
+
return normalize(planName) === "free";
|
|
39
|
+
}
|
|
40
|
+
/** Whole days from today to the expiry day; null when there is no usable date. */
|
|
41
|
+
function daysUntil(expiryDate, now) {
|
|
42
|
+
if (expiryDate === null || expiryDate === undefined || expiryDate === "") {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const expiry = expiryDate instanceof Date ? expiryDate : new Date(expiryDate);
|
|
46
|
+
if (isNaN(expiry.getTime()))
|
|
47
|
+
return null;
|
|
48
|
+
const startOfDay = (d) => new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
|
49
|
+
return Math.round((startOfDay(expiry).getTime() - startOfDay(now).getTime()) / 86400000);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Turns an org's plan state into the label, urgency tone and inset-chip text for
|
|
53
|
+
* a `PlanPill` — the "Upgrade your plan" badge in an app's top bar.
|
|
54
|
+
*
|
|
55
|
+
* Copy and thresholds are centralized here so every app shows the same badge for
|
|
56
|
+
* the same org.
|
|
57
|
+
*/
|
|
58
|
+
function resolvePlanBadge(input) {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
if (!input.canManageBilling)
|
|
61
|
+
return HIDDEN;
|
|
62
|
+
const now = (_a = input.now) !== null && _a !== void 0 ? _a : new Date();
|
|
63
|
+
const planName = ((_b = input.planName) === null || _b === void 0 ? void 0 : _b.trim()) || "";
|
|
64
|
+
const daysLeft = daysUntil(input.expiryDate, now);
|
|
65
|
+
const remaining = (0, planExpiry_1.formatPlanRemaining)(input.expiryDate, now);
|
|
66
|
+
const elapsed = (0, planExpiry_1.formatPlanElapsed)(input.expiryDate, now);
|
|
67
|
+
// Checked before the expiry branch: a lapsed org is downgraded to free, and
|
|
68
|
+
// "Free expired" is not a state worth shouting about.
|
|
69
|
+
if (isFreePlan(input, planName))
|
|
70
|
+
return upgrade("");
|
|
71
|
+
if (input.isExpired || elapsed !== "") {
|
|
72
|
+
// "<plan> expired" as the label with the elapsed time in the inset chip —
|
|
73
|
+
// folding both behind "Upgrade your plan" made the pill wide enough to
|
|
74
|
+
// crowd the header.
|
|
75
|
+
return {
|
|
76
|
+
visible: true,
|
|
77
|
+
label: `${planName || GENERIC_PLAN_NAME} expired`,
|
|
78
|
+
mobileLabel: EXPIRED_MOBILE_LABEL,
|
|
79
|
+
subtitle: elapsed,
|
|
80
|
+
tone: "danger",
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (input.hasPlan === false)
|
|
84
|
+
return upgrade("");
|
|
85
|
+
if (input.isTrial) {
|
|
86
|
+
return {
|
|
87
|
+
visible: true,
|
|
88
|
+
label: TRIAL_LABEL,
|
|
89
|
+
mobileLabel: TRIAL_LABEL,
|
|
90
|
+
subtitle: remaining,
|
|
91
|
+
tone: daysLeft !== null && daysLeft <= TRIAL_DANGER_DAYS
|
|
92
|
+
? "danger"
|
|
93
|
+
: "warning",
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const tone = daysLeft !== null && daysLeft < ACTIVE_WARNING_DAYS ? "warning" : "normal";
|
|
97
|
+
// An active paid plan names itself — falling through to "Upgrade your plan"
|
|
98
|
+
// told users with years remaining that they were on nothing.
|
|
99
|
+
if (!planName)
|
|
100
|
+
return upgrade(remaining, tone);
|
|
101
|
+
return {
|
|
102
|
+
visible: true,
|
|
103
|
+
label: planName,
|
|
104
|
+
mobileLabel: planName,
|
|
105
|
+
subtitle: remaining,
|
|
106
|
+
tone,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type PlanExpiryInput = string | number | Date | null | undefined;
|
|
2
|
+
/**
|
|
3
|
+
* Calendar months + leftover days between two dates.
|
|
4
|
+
* Anchoring on a real month boundary keeps "1 month" honest across 28/30/31-day
|
|
5
|
+
* months, so Jan 31 → Feb 28 reads as 28 days rather than a whole month.
|
|
6
|
+
*/
|
|
7
|
+
export declare function splitMonthsAndDays(from: Date, to: Date): {
|
|
8
|
+
months: number;
|
|
9
|
+
days: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Time left on a plan, compactly: `"3mo left"` once a whole month remains,
|
|
13
|
+
* `"18d left"` below that. Intended for `UpgradeButton`'s `subtitle`, so it
|
|
14
|
+
* stays one short line. Returns `""` when there is no usable date or the plan
|
|
15
|
+
* has already lapsed — an expired plan is a different message, which the
|
|
16
|
+
* consuming app owns.
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatPlanExpiry(expiryDate: PlanExpiryInput, now?: Date): string;
|
|
19
|
+
/**
|
|
20
|
+
* Time left on a plan, to the minute in the final day: `"3mo left"`, `"18d left"`,
|
|
21
|
+
* then `"23h 45m left"` down to `"1m left"`. `""` once lapsed.
|
|
22
|
+
*
|
|
23
|
+
* Differs from `formatPlanExpiry` only in that last day: a calendar-day count
|
|
24
|
+
* reads as "Expires today" for the whole day, which goes stale next to a live
|
|
25
|
+
* countdown. Prefer this for a badge that sits on screen; `formatPlanExpiry`
|
|
26
|
+
* stays the cheaper day-granular option.
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatPlanRemaining(expiryDate: PlanExpiryInput, now?: Date): string;
|
|
29
|
+
/**
|
|
30
|
+
* How long ago a plan lapsed: `"1h 10m ago"` under a day, `"2d ago"` / `"1mo ago"`
|
|
31
|
+
* beyond it. `""` while the plan is still live — so a badge can say how stale a
|
|
32
|
+
* lapse is rather than a bare "expired".
|
|
33
|
+
*/
|
|
34
|
+
export declare function formatPlanElapsed(expiryDate: PlanExpiryInput, now?: Date): string;
|
|
35
|
+
//# sourceMappingURL=planExpiry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planExpiry.d.ts","sourceRoot":"","sources":["../../src/Utils/planExpiry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAoCxE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,IAAI,GACP;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOlC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,eAAe,EAC3B,GAAG,CAAC,EAAE,IAAI,GACT,MAAM,CAaR;AAYD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,eAAe,EAC3B,GAAG,CAAC,EAAE,IAAI,GACT,MAAM,CAgBR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,eAAe,EAC3B,GAAG,CAAC,EAAE,IAAI,GACT,MAAM,CAgBR"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.splitMonthsAndDays = splitMonthsAndDays;
|
|
4
|
+
exports.formatPlanExpiry = formatPlanExpiry;
|
|
5
|
+
exports.formatPlanRemaining = formatPlanRemaining;
|
|
6
|
+
exports.formatPlanElapsed = formatPlanElapsed;
|
|
7
|
+
const MS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
8
|
+
function toDate(value) {
|
|
9
|
+
if (value === null || value === undefined || value === "")
|
|
10
|
+
return null;
|
|
11
|
+
const date = value instanceof Date ? new Date(value.getTime()) : new Date(value);
|
|
12
|
+
return isNaN(date.getTime()) ? null : date;
|
|
13
|
+
}
|
|
14
|
+
function startOfDay(date) {
|
|
15
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
16
|
+
}
|
|
17
|
+
function addCalendarMonths(date, months) {
|
|
18
|
+
const lastDayOfTarget = new Date(date.getFullYear(), date.getMonth() + months + 1, 0).getDate();
|
|
19
|
+
return new Date(date.getFullYear(), date.getMonth() + months, Math.min(date.getDate(), lastDayOfTarget));
|
|
20
|
+
}
|
|
21
|
+
function daysBetween(from, to) {
|
|
22
|
+
return Math.round((to.getTime() - from.getTime()) / MS_PER_DAY);
|
|
23
|
+
}
|
|
24
|
+
/** Compact units (`2mo`, `5d`) — this reads inside a badge subtitle, where
|
|
25
|
+
* "2 months 5 days left" wraps. */
|
|
26
|
+
function unit(count, suffix) {
|
|
27
|
+
return `${count}${suffix}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Calendar months + leftover days between two dates.
|
|
31
|
+
* Anchoring on a real month boundary keeps "1 month" honest across 28/30/31-day
|
|
32
|
+
* months, so Jan 31 → Feb 28 reads as 28 days rather than a whole month.
|
|
33
|
+
*/
|
|
34
|
+
function splitMonthsAndDays(from, to) {
|
|
35
|
+
let months = (to.getFullYear() - from.getFullYear()) * 12 +
|
|
36
|
+
(to.getMonth() - from.getMonth());
|
|
37
|
+
if (to.getDate() < from.getDate())
|
|
38
|
+
months -= 1;
|
|
39
|
+
if (months < 0)
|
|
40
|
+
months = 0;
|
|
41
|
+
return { months, days: daysBetween(addCalendarMonths(from, months), to) };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Time left on a plan, compactly: `"3mo left"` once a whole month remains,
|
|
45
|
+
* `"18d left"` below that. Intended for `UpgradeButton`'s `subtitle`, so it
|
|
46
|
+
* stays one short line. Returns `""` when there is no usable date or the plan
|
|
47
|
+
* has already lapsed — an expired plan is a different message, which the
|
|
48
|
+
* consuming app owns.
|
|
49
|
+
*/
|
|
50
|
+
function formatPlanExpiry(expiryDate, now) {
|
|
51
|
+
const expiry = toDate(expiryDate);
|
|
52
|
+
if (!expiry)
|
|
53
|
+
return "";
|
|
54
|
+
const expiryDay = startOfDay(expiry);
|
|
55
|
+
const today = startOfDay(now !== null && now !== void 0 ? now : new Date());
|
|
56
|
+
const daysLeft = daysBetween(today, expiryDay);
|
|
57
|
+
if (daysLeft < 0)
|
|
58
|
+
return "";
|
|
59
|
+
if (daysLeft === 0)
|
|
60
|
+
return "Expires today";
|
|
61
|
+
const { months, days } = splitMonthsAndDays(today, expiryDay);
|
|
62
|
+
return months > 0 ? `${unit(months, "mo")} left` : `${unit(days, "d")} left`;
|
|
63
|
+
}
|
|
64
|
+
/** Never reports `0m`; the final stretch reads `1m`. */
|
|
65
|
+
function formatHoursMinutes(ms, suffix) {
|
|
66
|
+
const totalMinutes = Math.floor(ms / 60000);
|
|
67
|
+
const hours = Math.floor(totalMinutes / 60);
|
|
68
|
+
const minutes = totalMinutes % 60;
|
|
69
|
+
return hours > 0
|
|
70
|
+
? `${unit(hours, "h")} ${unit(minutes, "m")} ${suffix}`
|
|
71
|
+
: `${unit(Math.max(minutes, 1), "m")} ${suffix}`;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Time left on a plan, to the minute in the final day: `"3mo left"`, `"18d left"`,
|
|
75
|
+
* then `"23h 45m left"` down to `"1m left"`. `""` once lapsed.
|
|
76
|
+
*
|
|
77
|
+
* Differs from `formatPlanExpiry` only in that last day: a calendar-day count
|
|
78
|
+
* reads as "Expires today" for the whole day, which goes stale next to a live
|
|
79
|
+
* countdown. Prefer this for a badge that sits on screen; `formatPlanExpiry`
|
|
80
|
+
* stays the cheaper day-granular option.
|
|
81
|
+
*/
|
|
82
|
+
function formatPlanRemaining(expiryDate, now) {
|
|
83
|
+
const expiry = toDate(expiryDate);
|
|
84
|
+
if (!expiry)
|
|
85
|
+
return "";
|
|
86
|
+
const referenceNow = now !== null && now !== void 0 ? now : new Date();
|
|
87
|
+
const msLeft = expiry.getTime() - referenceNow.getTime();
|
|
88
|
+
if (msLeft < 0)
|
|
89
|
+
return "";
|
|
90
|
+
if (msLeft < MS_PER_DAY) {
|
|
91
|
+
return msLeft === 0 ? "Expires today" : formatHoursMinutes(msLeft, "left");
|
|
92
|
+
}
|
|
93
|
+
const { months, days } = splitMonthsAndDays(startOfDay(referenceNow), startOfDay(expiry));
|
|
94
|
+
return months > 0 ? `${unit(months, "mo")} left` : `${unit(days, "d")} left`;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* How long ago a plan lapsed: `"1h 10m ago"` under a day, `"2d ago"` / `"1mo ago"`
|
|
98
|
+
* beyond it. `""` while the plan is still live — so a badge can say how stale a
|
|
99
|
+
* lapse is rather than a bare "expired".
|
|
100
|
+
*/
|
|
101
|
+
function formatPlanElapsed(expiryDate, now) {
|
|
102
|
+
const expiry = toDate(expiryDate);
|
|
103
|
+
if (!expiry)
|
|
104
|
+
return "";
|
|
105
|
+
const referenceNow = now !== null && now !== void 0 ? now : new Date();
|
|
106
|
+
const msAgo = referenceNow.getTime() - expiry.getTime();
|
|
107
|
+
if (msAgo <= 0)
|
|
108
|
+
return "";
|
|
109
|
+
if (msAgo < MS_PER_DAY)
|
|
110
|
+
return formatHoursMinutes(msAgo, "ago");
|
|
111
|
+
const { months, days } = splitMonthsAndDays(startOfDay(expiry), startOfDay(referenceNow));
|
|
112
|
+
return months > 0
|
|
113
|
+
? `${unit(months, "mo")} ago`
|
|
114
|
+
: `${unit(Math.max(days, 1), "d")} ago`;
|
|
115
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -78,12 +78,17 @@ import StageProgress from "./Components/StageProgress/StageProgress";
|
|
|
78
78
|
import StageItem from "./Components/StageProgress/StageItem";
|
|
79
79
|
import OrgSwitcher from "./Components/OrgSwitcher/OrgSwitcher";
|
|
80
80
|
import UpgradeButton from "./Components/UpgradeButton/UpgradeButton";
|
|
81
|
+
import PlanPill from "./Components/PlanPill/PlanPill";
|
|
82
|
+
import PlanBadge from "./Components/PlanBadge/PlanBadge";
|
|
83
|
+
import LimitReachedModal from "./Components/LimitReachedModal/LimitReachedModal";
|
|
84
|
+
import { formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, splitMonthsAndDays } from "./Utils/planExpiry";
|
|
85
|
+
import { resolvePlanBadge } from "./Utils/planBadge";
|
|
81
86
|
import UserDetails from "./Components/UserDetails/UserDetails";
|
|
82
87
|
import RolesPermission from "./Components/RolesPermission/RolesPermission";
|
|
83
88
|
import CustomModulesTable from "./Components/CustomModulesTable/CustomModulesTable";
|
|
84
89
|
import SignInActivityTable from "./Components/SignInActivityTable/SignInActivityTable";
|
|
85
90
|
import OrganizationDetails from "./Components/OrganizationDetails/OrganizationDetails";
|
|
86
|
-
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, UpgradeButton, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, };
|
|
91
|
+
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, LimitReachedModal, UpgradeButton, PlanPill, PlanBadge, formatPlanElapsed, formatPlanExpiry, formatPlanRemaining, resolvePlanBadge, splitMonthsAndDays, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SelectV2, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, };
|
|
87
92
|
export default withTheme;
|
|
88
93
|
export type { UserDetailsProps, UserDetailsLabels, UserListItem, SelectedUserDetail, UserDetailRow, RoleOption, AddUserFormValues, ChangeRoleSubmitPayload, } from "./Components/UserDetails/UserDetailsProps";
|
|
89
94
|
export type { WorkspaceWindowProps, WorkspaceWindowState, WorkspaceTrayProps, WorkspaceTrayItem, WorkspaceTrayPreviewProps, } from "./Components/WorkspaceWindow/WorkspaceWindowProps";
|
|
@@ -98,9 +103,17 @@ export type { PixelizeThemeProviderProps, ThemeModeContextValue, ThemeSwitcherPr
|
|
|
98
103
|
export { brandThemes } from "./Theme";
|
|
99
104
|
export { lightPalettes, darkPalettes, palettes, themeNames, } from "./Theme/tokens/brands";
|
|
100
105
|
export { buildDarkPalette } from "./Theme/tokens/builders/buildDarkPalette";
|
|
106
|
+
export { AA_NON_TEXT, liftToContrast, withOutlineRung, } from "./Theme/tokens/builders/outlineRung";
|
|
107
|
+
export { AVATAR_SEEDS, avatarFillFor, meetsBodyText, resolveAvatarFill, resolveStatusTone, } from "./Theme/tokens/builders/statusTone";
|
|
108
|
+
export type { StatusTone } from "./Theme/tokens/builders/statusTone";
|
|
101
109
|
export type { ColorMode, ResolvedColorMode, ThemeName, PaletteProps, ColorScale, BrandScale, SemanticColors, NamedSurfaces, } from "./Theme/tokens/types";
|
|
102
110
|
export { isDarkCanvas, onFilled, onGradient, accentTextOnCanvas, pickAccentText, AA_NORMAL_TEXT, DARK_CANVAS_LUMINANCE, } from "./Theme/tokens/builders/accentText";
|
|
103
111
|
export { hexToRgb, hexToRgba, compositeOver, rgbToHex, rgbToHsl, hslToRgb, hexToHsl, hslToHex, withLightness, mix, relativeLuminance, contrastRatio, } from "./Theme/tokens/builders/color";
|
|
104
112
|
export type { Rgb, Hsl } from "./Theme/tokens/builders/color";
|
|
105
113
|
export type { SelectV2Props, SelectV2Size, OptionProp as SelectV2Option } from "./Components/SelectV2/SelectV2Props";
|
|
114
|
+
export type { PlanPillProps, PlanPillTone } from "./Components/PlanPill/PlanPillProps";
|
|
115
|
+
export type { PlanBadgeProps } from "./Components/PlanBadge/PlanBadgeProps";
|
|
116
|
+
export type { PlanBadgeInput, PlanBadgeResult } from "./Utils/planBadge";
|
|
117
|
+
export type { PlanExpiryInput } from "./Utils/planExpiry";
|
|
118
|
+
export type { LimitReachedModalProps, LimitKind, } from "./Components/LimitReachedModal/LimitReachedModalProps";
|
|
106
119
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,YAAY,MAAM,mDAAmD,CAAC;AAC7E,OAAO,YAAY,MAAM,mDAAmD,CAAC;AAC7E,OAAO,cAAc,MAAM,yDAAyD,CAAC;AACrF,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAE/D,OAAO,MAAM,EAAE,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,KAAK,EAAE,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,WAAW,EAAE,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,kBAAkB,MAAM,oDAAoD,CAAC;AACpF,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EACH,WAAW,EACX,gBAAgB,EACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,KAAK,MAAM,0BAA0B,CAAC;AAC7C,OAAO,GAAG,MAAM,sBAAsB,CAAC;AACvC,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,cAAc,MAAM,uDAAuD,CAAC;AACnF,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAC1D,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,aAAa,MAAM,qDAAqD,CAAC;AAChF,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,eAAe,EAAE,EACpB,aAAa,EAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AACrF,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAC9E,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,WAAW,EAAE,EAChB,kBAAkB,EACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,SAAS,MAAM,sCAAsC,CAAC;AAC7D,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,OAAO,kBAAkB,MAAM,oDAAoD,CAAC;AACpF,OAAO,mBAAmB,MAAM,sDAAsD,CAAC;AACvF,OAAO,mBAAmB,MAAM,sDAAsD,CAAC;AAEvF,OAAO,EAEH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,OAAO,EACP,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,WAAW,EACX,GAAG,EACH,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,eAAe,EACf,UAAU,EACV,cAAc,EAEd,eAAe,EACf,cAAc,EAEd,cAAc,EACd,UAAU,EAEV,QAAQ,GACX,CAAC;AACF,eAAe,SAAS,CAAC;AAEzB,YAAY,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,2CAA2C,CAAC;AAEnD,YAAY,EACR,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,GAC5B,MAAM,mDAAmD,CAAC;AAE3D,YAAY,EACR,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,QAAQ,GACX,MAAM,mDAAmD,CAAC;AAE3D,YAAY,EACR,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,EACV,mBAAmB,GACtB,MAAM,yDAAyD,CAAC;AAEjE,YAAY,EACR,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,GACf,MAAM,2DAA2D,CAAC;AAEnE,YAAY,EACR,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,GACtB,MAAM,2DAA2D,CAAC;AAEnE,YAAY,EACR,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EACH,qBAAqB,EACrB,YAAY,EACZ,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACR,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,qFAAqF;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EACH,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,UAAU,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAK5E,OAAO,EACH,WAAW,EACX,cAAc,EACd,eAAe,GAClB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,YAAY,EACR,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,aAAa,GAChB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,GACxB,MAAM,oCAAoC,CAAC;AAM5C,OAAO,EACH,QAAQ,EACR,SAAS,EACT,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,GAAG,EACH,iBAAiB,EACjB,aAAa,GAChB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAC;AAI9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErH,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAIvF,YAAY,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK1D,YAAY,EACR,sBAAsB,EACtB,SAAS,GACZ,MAAM,uDAAuD,CAAC"}
|