@mohasinac/appkit 3.6.5 → 3.8.0
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/_internal/client/features/layout/DashboardLayoutClient.d.ts +17 -3
- package/dist/_internal/client/features/layout/DashboardLayoutClient.js +7 -2
- package/dist/_internal/client/features/tour/TourProvider.d.ts +5 -2
- package/dist/_internal/client/features/tour/TourProvider.js +125 -12
- package/dist/_internal/client/theme/ThemeProvider.js +1 -1
- package/dist/_internal/server/features/categories/data.js +2 -2
- package/dist/_internal/server/features/faqs/og.js +5 -1
- package/dist/_internal/server/features/reviews/og.js +5 -1
- package/dist/_internal/server/features/seo/manifest.js +2 -1
- package/dist/_internal/server/features/seo/og.js +7 -1
- package/dist/_internal/server/features/tester/visibility.d.ts +13 -0
- package/dist/_internal/server/features/tester/visibility.js +28 -0
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +9 -1
- package/dist/_internal/server/jobs/core/jobRunners.js +5 -0
- package/dist/_internal/server/jobs/core/resetOtpVerification.d.ts +17 -0
- package/dist/_internal/server/jobs/core/resetOtpVerification.js +88 -0
- package/dist/_internal/server/jobs/core/testerSandboxCleanup.d.ts +6 -0
- package/dist/_internal/server/jobs/core/testerSandboxCleanup.js +35 -0
- package/dist/_internal/server/jobs/handlers/_helpers.d.ts +6 -0
- package/dist/_internal/server/jobs/handlers/_helpers.js +12 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +2 -0
- package/dist/_internal/server/jobs/handlers/messages.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/messages.js +2 -0
- package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/testerSandboxCleanup.js +2 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +56 -0
- package/dist/_internal/shared/tokens/index.d.ts +12 -12
- package/dist/client.d.ts +15 -3
- package/dist/client.js +10 -2
- package/dist/constants/api-endpoints.d.ts +39 -12
- package/dist/constants/api-endpoints.js +17 -8
- package/dist/constants/field-names.d.ts +9 -0
- package/dist/constants/field-names.js +12 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/features/account/components/LinkedAccountsSection.d.ts +11 -0
- package/dist/features/account/components/LinkedAccountsSection.js +11 -0
- package/dist/features/account/components/UserSidebar.d.ts +3 -1
- package/dist/features/account/components/UserSidebar.js +9 -13
- package/dist/features/account/hooks/useCollapsedSections.d.ts +20 -0
- package/dist/features/account/hooks/useCollapsedSections.js +63 -0
- package/dist/features/account/hooks/useProfile.d.ts +8 -0
- package/dist/features/account/index.d.ts +1 -0
- package/dist/features/account/index.js +1 -0
- package/dist/features/admin/components/AdminAddressEditorView.js +2 -2
- package/dist/features/admin/components/AdminBidsView.js +6 -6
- package/dist/features/admin/components/AdminBrandsView.js +2 -2
- package/dist/features/admin/components/AdminCarouselView.js +2 -2
- package/dist/features/admin/components/AdminCategoryEditorView.js +2 -2
- package/dist/features/admin/components/AdminPrizeDrawsView.js +3 -3
- package/dist/features/admin/components/AdminProductEditorView.js +5 -2
- package/dist/features/admin/components/AdminReviewsView.js +5 -5
- package/dist/features/admin/components/AdminSectionsView.js +3 -18
- package/dist/features/admin/components/AdminSidebar.js +8 -6
- package/dist/features/admin/components/AdminSiteSettingsView.js +133 -127
- package/dist/features/admin/components/AdminSublistingCategoriesView.js +1 -1
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.d.ts +9 -0
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +129 -0
- package/dist/features/admin/components/AdminTesterChecklistView.d.ts +6 -0
- package/dist/features/admin/components/AdminTesterChecklistView.js +93 -0
- package/dist/features/admin/components/AdminUserEditorView.d.ts +3 -1
- package/dist/features/admin/components/AdminUserEditorView.js +7 -1
- package/dist/features/admin/components/AdminUsersView.js +1 -1
- package/dist/features/admin/components/DataListingView.js +2 -2
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.d.ts +8 -0
- package/dist/features/admin/components/analytics/AdminPageViewsReportView.js +41 -0
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +3 -0
- package/dist/features/admin/schemas/firestore.d.ts +0 -7
- package/dist/features/admin/schemas/firestore.js +6 -6
- package/dist/features/analytics/components/PageViewTracker.d.ts +12 -0
- package/dist/features/analytics/components/PageViewTracker.js +22 -0
- package/dist/features/analytics/repository/page-views.repository.d.ts +32 -0
- package/dist/features/analytics/repository/page-views.repository.js +43 -0
- package/dist/features/analytics/types.d.ts +6 -0
- package/dist/features/analytics/types.js +13 -0
- package/dist/features/auth/components/SocialAuthButtons.js +1 -1
- package/dist/features/auth/hooks/useAuth.d.ts +12 -0
- package/dist/features/auth/hooks/useAuth.js +109 -0
- package/dist/features/auth/permissions/constants.d.ts +1 -1
- package/dist/features/auth/repository/session.repository.d.ts +2 -0
- package/dist/features/auth/repository/session.repository.js +4 -1
- package/dist/features/auth/schemas/firestore.d.ts +17 -1
- package/dist/features/auth/schemas/firestore.js +2 -0
- package/dist/features/blog/components/BlogIndexListing.js +2 -2
- package/dist/features/blog/schemas/firestore.d.ts +4 -0
- package/dist/features/cart/actions/cart-actions.js +20 -2
- package/dist/features/categories/api/route.js +2 -2
- package/dist/features/categories/components/CategoriesIndexListing.js +3 -3
- package/dist/features/categories/components/CategoryBundlesListing.js +2 -2
- package/dist/features/categories/components/CategoryDetailPageView.js +3 -1
- package/dist/features/categories/components/CategoryProductsListing.js +2 -2
- package/dist/features/categories/schemas/firestore.d.ts +4 -0
- package/dist/features/classified/components/ClassifiedIndexListing.js +2 -2
- package/dist/features/digital-codes/components/DigitalCodesIndexListing.js +2 -2
- package/dist/features/email/primitives.d.ts +2 -2
- package/dist/features/email/primitives.js +2 -2
- package/dist/features/events/components/EventsIndexListing.js +2 -2
- package/dist/features/events/repository/event-entry.repository.js +1 -0
- package/dist/features/events/schemas/firestore.d.ts +7 -1
- package/dist/features/events/schemas/firestore.js +1 -0
- package/dist/features/layout/BackToTop.d.ts +6 -1
- package/dist/features/layout/BackToTop.js +31 -6
- package/dist/features/layout/BottomNavbar.js +1 -1
- package/dist/features/layout/NavItem.js +1 -1
- package/dist/features/layout/NavbarLayout.js +2 -2
- package/dist/features/live/components/LiveItemsIndexListing.js +2 -2
- package/dist/features/media/MediaVideo.js +5 -1
- package/dist/features/pre-orders/components/PreOrdersIndexListing.js +2 -2
- package/dist/features/products/components/AuctionsIndexListing.js +2 -2
- package/dist/features/products/components/PrizeDrawsIndexListing.js +2 -2
- package/dist/features/products/components/ProductsIndexListing.js +2 -2
- package/dist/features/products/constants/action-defs.d.ts +2 -0
- package/dist/features/products/constants/action-defs.js +2 -0
- package/dist/features/products/constants/sieve.d.ts +0 -6
- package/dist/features/products/constants/sieve.js +4 -2
- package/dist/features/products/repository/products.repository.d.ts +20 -0
- package/dist/features/products/repository/products.repository.js +5 -0
- package/dist/features/products/schemas/firestore.d.ts +4 -0
- package/dist/features/promotions/components/CouponsIndexListing.js +18 -5
- package/dist/features/reviews/components/ReviewsIndexListing.js +2 -2
- package/dist/features/search/hooks/useNavSuggestions.js +20 -1
- package/dist/features/seller/actions/seller-actions.js +11 -6
- package/dist/features/seller/components/SellerAddressesView.js +2 -2
- package/dist/features/seller/components/SellerBidsView.js +2 -2
- package/dist/features/seller/components/SellerCouponsView.js +1 -1
- package/dist/features/seller/components/SellerOrdersView.js +2 -2
- package/dist/features/seller/components/SellerProductsView.js +2 -2
- package/dist/features/seller/components/SellerSidebar.d.ts +3 -1
- package/dist/features/seller/components/SellerSidebar.js +9 -8
- package/dist/features/seller/components/SellerStoreCategoriesView.js +2 -2
- package/dist/features/seller/components/SellerTemplatesView.js +2 -2
- package/dist/features/shell/StepForm.js +4 -4
- package/dist/features/stores/actions/store-query-actions.d.ts +5 -4
- package/dist/features/stores/actions/store-query-actions.js +11 -8
- package/dist/features/stores/components/StoreAuctionsListing.js +2 -2
- package/dist/features/stores/components/StoreClassifiedsListing.js +2 -2
- package/dist/features/stores/components/StoreDetailLayoutView.js +1 -1
- package/dist/features/stores/components/StoreDigitalCodesListing.js +2 -2
- package/dist/features/stores/components/StoreLiveItemsListing.js +2 -2
- package/dist/features/stores/components/StorePreOrdersListing.js +2 -2
- package/dist/features/stores/components/StoreProductsListing.js +2 -2
- package/dist/features/stores/components/StoreReviewsListing.js +2 -2
- package/dist/features/stores/components/StoresIndexListing.js +2 -2
- package/dist/features/stores/repository/store.repository.js +3 -0
- package/dist/features/stores/schemas/firestore.d.ts +4 -0
- package/dist/features/tester/actions/checklist-item-actions.d.ts +69 -0
- package/dist/features/tester/actions/checklist-item-actions.js +42 -0
- package/dist/features/tester/actions/index.d.ts +1 -0
- package/dist/features/tester/actions/index.js +1 -0
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.d.ts +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +22 -0
- package/dist/features/tester/components/AdminTesterFeedbackListView.d.ts +3 -0
- package/dist/features/tester/components/AdminTesterFeedbackListView.js +100 -0
- package/dist/features/tester/components/AdminTesterFeedbackReportView.d.ts +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackReportView.js +30 -0
- package/dist/features/tester/components/AdminTesterFeedbackView.d.ts +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackView.js +29 -0
- package/dist/features/tester/components/TesterChecklistStepRow.d.ts +18 -0
- package/dist/features/tester/components/TesterChecklistStepRow.js +29 -0
- package/dist/features/tester/components/TesterFeedbackChart.d.ts +14 -0
- package/dist/features/tester/components/TesterFeedbackChart.js +18 -0
- package/dist/features/tester/components/TesterHubView.d.ts +5 -0
- package/dist/features/tester/components/TesterHubView.js +71 -0
- package/dist/features/tester/components/index.d.ts +11 -0
- package/dist/features/tester/components/index.js +7 -0
- package/dist/features/tester/index.d.ts +2 -0
- package/dist/features/tester/index.js +2 -0
- package/dist/features/tester/repository/index.d.ts +2 -0
- package/dist/features/tester/repository/index.js +2 -0
- package/dist/features/tester/repository/tester-checklist-item.repository.d.ts +13 -0
- package/dist/features/tester/repository/tester-checklist-item.repository.js +55 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +50 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.js +196 -0
- package/dist/features/tester/schemas/firestore.d.ts +85 -0
- package/dist/features/tester/schemas/firestore.js +93 -0
- package/dist/features/tester/schemas/index.d.ts +1 -0
- package/dist/features/tester/schemas/index.js +1 -0
- package/dist/features/tester/seed-data/blog-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/blog-tester-seed-data.js +40 -0
- package/dist/features/tester/seed-data/categories-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/categories-tester-seed-data.js +177 -0
- package/dist/features/tester/seed-data/events-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/events-tester-seed-data.js +50 -0
- package/dist/features/tester/seed-data/index.d.ts +6 -0
- package/dist/features/tester/seed-data/index.js +6 -0
- package/dist/features/tester/seed-data/products-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/products-tester-seed-data.js +151 -0
- package/dist/features/tester/seed-data/stores-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/stores-tester-seed-data.js +40 -0
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +248 -0
- package/dist/features/tester/seed-data/tester-ttl.d.ts +4 -0
- package/dist/features/tester/seed-data/tester-ttl.js +6 -0
- package/dist/features/tester/server.d.ts +9 -0
- package/dist/features/tester/server.js +8 -0
- package/dist/index.d.ts +28 -2
- package/dist/index.js +51 -1
- package/dist/next/api/api-response.js +5 -1
- package/dist/next/api/routeHandler.js +10 -1
- package/dist/next/middleware/chain.js +1 -1
- package/dist/next/routing/route-map.d.ts +6 -7
- package/dist/next/routing/route-map.js +3 -7
- package/dist/providers/payment-manual/index.d.ts +2 -2
- package/dist/providers/payment-manual/index.js +2 -2
- package/dist/react/contexts/SessionContext.d.ts +4 -0
- package/dist/react/contexts/SessionContext.js +4 -0
- package/dist/repositories/index.d.ts +4 -0
- package/dist/repositories/index.js +3 -0
- package/dist/security/pii-encrypt.js +12 -2
- package/dist/seed/addresses-seed-data.js +1 -1
- package/dist/seed/bids-seed-data.js +64 -185
- package/dist/seed/blog-posts-seed-data.js +1 -1
- package/dist/seed/carousel-slides-seed-data.js +22 -16
- package/dist/seed/carousels-seed-data.js +1 -1
- package/dist/seed/cart-seed-data.js +1 -1
- package/dist/seed/categories-seed-data.js +1 -1
- package/dist/seed/claimed-coupons-seed-data.js +1 -1
- package/dist/seed/conversations-seed-data.js +1 -1
- package/dist/seed/coupon-usage-seed-data.js +1 -1
- package/dist/seed/coupons-seed-data.js +1 -1
- package/dist/seed/events-seed-data.js +1 -1
- package/dist/seed/faq-seed-data.js +119 -3
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
- package/dist/seed/grouped-listings-seed-data.js +1 -1
- package/dist/seed/history-seed-data.js +1 -1
- package/dist/seed/homepage-sections-seed-data.js +1 -1
- package/dist/seed/index.d.ts +2 -2
- package/dist/seed/index.js +7 -3
- package/dist/seed/lottery-entries-seed-data.js +1 -1
- package/dist/seed/manifest.d.ts +4 -3
- package/dist/seed/manifest.js +13 -6
- package/dist/seed/notifications-seed-data.js +1 -1
- package/dist/seed/offers-seed-data.js +1 -1
- package/dist/seed/orders-seed-data.js +1 -1
- package/dist/seed/payouts-seed-data.js +1 -1
- package/dist/seed/products-art-seed-data.js +1 -1
- package/dist/seed/products-auctions-seed-data.js +1 -1
- package/dist/seed/products-classifieds-seed-data.js +1 -1
- package/dist/seed/products-digital-codes-seed-data.js +1 -1
- package/dist/seed/products-live-items-seed-data.js +1 -1
- package/dist/seed/products-preorders-seed-data.d.ts +2 -0
- package/dist/seed/products-preorders-seed-data.js +1 -1
- package/dist/seed/products-prize-draws-seed-data.js +1 -1
- package/dist/seed/products-standard-seed-data.js +1 -1
- package/dist/seed/products-stickers-seed-data.js +1 -1
- package/dist/seed/reviews-seed-data.js +1 -1
- package/dist/seed/scammers-seed-data.js +1 -1
- package/dist/seed/sessions-seed-data.js +1 -1
- package/dist/seed/site-settings-seed-data.js +22 -16
- package/dist/seed/store-addresses-seed-data.js +1 -1
- package/dist/seed/store-extensions-seed-data.js +1 -1
- package/dist/seed/stores-seed-data.js +1 -1
- package/dist/seed/support-tickets-seed-data.js +1 -1
- package/dist/seed/tester-checklist-seed-data.d.ts +2 -0
- package/dist/seed/tester-checklist-seed-data.js +248 -0
- package/dist/seed/users-seed-data.js +1 -1
- package/dist/seed/wishlists-seed-data.js +1 -1
- package/dist/server.d.ts +7 -2
- package/dist/server.js +19 -12
- package/dist/styles.css +181 -165
- package/dist/tailwind-utilities.css +1 -1
- package/dist/tokens/color-pairs.d.ts +46 -0
- package/dist/tokens/color-pairs.js +93 -0
- package/dist/tokens/index.d.ts +60 -60
- package/dist/tokens/index.js +30 -30
- package/dist/tokens/themes/cobalt-night.d.ts +3 -2
- package/dist/tokens/themes/cobalt-night.js +3 -2
- package/dist/tokens/themes/default-dark.d.ts +4 -1
- package/dist/tokens/themes/default-dark.js +53 -50
- package/dist/tokens/themes/default-light.d.ts +5 -1
- package/dist/tokens/themes/default-light.js +48 -44
- package/dist/tokens/themes/sunset.js +4 -4
- package/dist/tokens/tokens.css +128 -122
- package/dist/ui/components/CollapsibleSection.d.ts +15 -0
- package/dist/ui/components/CollapsibleSection.js +13 -0
- package/dist/ui/components/ListingToolbar.js +3 -2
- package/dist/ui/components/Semantic.style.css +3 -3
- package/dist/ui/components/SideDrawer.style.css +19 -19
- package/dist/ui/components/Slider.js +1 -1
- package/dist/ui/components/StickyToolbar.d.ts +36 -7
- package/dist/ui/components/StickyToolbar.js +63 -5
- package/dist/ui/components/Tabs.js +17 -1
- package/dist/ui/components/Tabs.style.css +10 -0
- package/dist/ui/components/Typography.js +7 -0
- package/dist/ui/components/surface-tokens.d.ts +0 -7
- package/dist/ui/components/surface-tokens.js +7 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/rich-text/RichText.style.css +20 -20
- package/dist/utils/id-generators.d.ts +13 -0
- package/dist/utils/id-generators.js +17 -0
- package/package.json +1 -1
- package/scripts/seed-cli-loader.mjs +15 -0
- package/scripts/seed-cli.mjs +71 -17
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { SurfaceKey } from "../ui/components/surface-tokens";
|
|
2
|
+
/**
|
|
3
|
+
* Colors as a function, not a convention.
|
|
4
|
+
*
|
|
5
|
+
* Every layout primitive that accepts a `surface` prop (Stack, Row, Grid,
|
|
6
|
+
* Container, Section, Div, Card) used to pick its background and its text
|
|
7
|
+
* color completely independently — nothing stopped a consumer from combining
|
|
8
|
+
* a light surface with light text, because there was no single source of
|
|
9
|
+
* truth pairing them. `getSurfaceTextPair` is that source of truth: one
|
|
10
|
+
* lookup, one entry per surface token, each entry a real CSS-var pair
|
|
11
|
+
* already used somewhere in this codebase (this is a consolidation of
|
|
12
|
+
* existing choices, not a new palette).
|
|
13
|
+
*
|
|
14
|
+
* `buildSurfaceClasses` (surface-tokens.ts) calls this automatically so
|
|
15
|
+
* every consumer of a `surface` prop gets a readable default text color for
|
|
16
|
+
* free. A child element's own explicit `color`/`text-*` class still wins
|
|
17
|
+
* (normal CSS specificity — the default only fills in when nothing more
|
|
18
|
+
* specific is set), so this is additive, not a breaking change.
|
|
19
|
+
*/
|
|
20
|
+
export interface SurfaceTextPair {
|
|
21
|
+
/** CSS var reference for the surface's default (non-muted) text color. */
|
|
22
|
+
textVar: string;
|
|
23
|
+
/** CSS var reference for secondary/de-emphasized text on this surface. */
|
|
24
|
+
textMutedVar: string;
|
|
25
|
+
/** CSS var reference for the lowest-emphasis text on this surface. */
|
|
26
|
+
textFaintVar: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* One entry per `SurfaceKey` (surface-tokens.ts). Surfaces that are light
|
|
30
|
+
* neutrals (default/muted/subtle/inset/card/elevated/interactive/form/
|
|
31
|
+
* sidePanel/skeleton/status-surfaces) pair with the theme's standard
|
|
32
|
+
* text/text-muted/text-faint triad, since those surfaces are always close
|
|
33
|
+
* to `--appkit-color-surface`/`--appkit-color-bg` in lightness regardless of
|
|
34
|
+
* theme. Surfaces that are dark overlays or near-black regardless of theme
|
|
35
|
+
* mode (overlay-*, media-dark) pair with on-primary (white-on-dark) text —
|
|
36
|
+
* they never lighten in dark mode, so a theme-relative text color would
|
|
37
|
+
* become unreadable exactly when the surface is at its darkest.
|
|
38
|
+
*/
|
|
39
|
+
export declare const SURFACE_TEXT_PAIR_MAP: Record<SurfaceKey, SurfaceTextPair>;
|
|
40
|
+
export declare function getSurfaceTextPair(surface: SurfaceKey): SurfaceTextPair;
|
|
41
|
+
/**
|
|
42
|
+
* Tailwind class for the surface's default text color, e.g.
|
|
43
|
+
* `text-[var(--appkit-color-text)]`. `buildSurfaceClasses` appends this so
|
|
44
|
+
* every `surface`-bearing primitive gets a readable default.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getSurfaceTextClass(surface: SurfaceKey): string;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
const DEFAULT_PAIR = {
|
|
2
|
+
textVar: "var(--appkit-color-text)",
|
|
3
|
+
textMutedVar: "var(--appkit-color-text-muted)",
|
|
4
|
+
textFaintVar: "var(--appkit-color-text-faint)",
|
|
5
|
+
};
|
|
6
|
+
const ON_PRIMARY_PAIR = {
|
|
7
|
+
textVar: "var(--appkit-color-text-on-primary)",
|
|
8
|
+
textMutedVar: "var(--appkit-color-text-on-primary)",
|
|
9
|
+
textFaintVar: "var(--appkit-color-text-on-primary)",
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* One entry per `SurfaceKey` (surface-tokens.ts). Surfaces that are light
|
|
13
|
+
* neutrals (default/muted/subtle/inset/card/elevated/interactive/form/
|
|
14
|
+
* sidePanel/skeleton/status-surfaces) pair with the theme's standard
|
|
15
|
+
* text/text-muted/text-faint triad, since those surfaces are always close
|
|
16
|
+
* to `--appkit-color-surface`/`--appkit-color-bg` in lightness regardless of
|
|
17
|
+
* theme. Surfaces that are dark overlays or near-black regardless of theme
|
|
18
|
+
* mode (overlay-*, media-dark) pair with on-primary (white-on-dark) text —
|
|
19
|
+
* they never lighten in dark mode, so a theme-relative text color would
|
|
20
|
+
* become unreadable exactly when the surface is at its darkest.
|
|
21
|
+
*/
|
|
22
|
+
export const SURFACE_TEXT_PAIR_MAP = {
|
|
23
|
+
none: DEFAULT_PAIR,
|
|
24
|
+
default: DEFAULT_PAIR,
|
|
25
|
+
muted: DEFAULT_PAIR,
|
|
26
|
+
subtle: DEFAULT_PAIR,
|
|
27
|
+
inset: DEFAULT_PAIR,
|
|
28
|
+
card: DEFAULT_PAIR,
|
|
29
|
+
elevated: DEFAULT_PAIR,
|
|
30
|
+
interactive: DEFAULT_PAIR,
|
|
31
|
+
glass: DEFAULT_PAIR,
|
|
32
|
+
form: DEFAULT_PAIR,
|
|
33
|
+
sidePanel: DEFAULT_PAIR,
|
|
34
|
+
"success-surface": {
|
|
35
|
+
textVar: "var(--appkit-color-success)",
|
|
36
|
+
textMutedVar: "var(--appkit-color-success)",
|
|
37
|
+
textFaintVar: "var(--appkit-color-text-muted)",
|
|
38
|
+
},
|
|
39
|
+
"danger-surface": {
|
|
40
|
+
textVar: "var(--appkit-color-error)",
|
|
41
|
+
textMutedVar: "var(--appkit-color-error)",
|
|
42
|
+
textFaintVar: "var(--appkit-color-text-muted)",
|
|
43
|
+
},
|
|
44
|
+
"warning-surface": {
|
|
45
|
+
textVar: "var(--appkit-color-warning)",
|
|
46
|
+
textMutedVar: "var(--appkit-color-warning)",
|
|
47
|
+
textFaintVar: "var(--appkit-color-text-muted)",
|
|
48
|
+
},
|
|
49
|
+
"info-surface": {
|
|
50
|
+
textVar: "var(--appkit-color-info)",
|
|
51
|
+
textMutedVar: "var(--appkit-color-info)",
|
|
52
|
+
textFaintVar: "var(--appkit-color-text-muted)",
|
|
53
|
+
},
|
|
54
|
+
"overlay-xs": ON_PRIMARY_PAIR,
|
|
55
|
+
"overlay-sm": ON_PRIMARY_PAIR,
|
|
56
|
+
"overlay-md": ON_PRIMARY_PAIR,
|
|
57
|
+
"overlay-lg": ON_PRIMARY_PAIR,
|
|
58
|
+
"overlay-xl": ON_PRIMARY_PAIR,
|
|
59
|
+
skeleton: DEFAULT_PAIR,
|
|
60
|
+
"skeleton-light": DEFAULT_PAIR,
|
|
61
|
+
"media-dark": ON_PRIMARY_PAIR,
|
|
62
|
+
};
|
|
63
|
+
export function getSurfaceTextPair(surface) {
|
|
64
|
+
return SURFACE_TEXT_PAIR_MAP[surface] ?? DEFAULT_PAIR;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Fixed, statically-written Tailwind arbitrary-value classes — one per
|
|
68
|
+
* distinct `textVar` that can appear in `SURFACE_TEXT_PAIR_MAP`. Every class
|
|
69
|
+
* string below is a complete literal Tailwind can find via its static
|
|
70
|
+
* content scan. Building this string via runtime template-literal
|
|
71
|
+
* interpolation (`` `text-[${pair.textVar}]` ``) instead would make Tailwind's
|
|
72
|
+
* scanner unable to see it — no CSS rule would ever be generated — caught by
|
|
73
|
+
* `audit-dynamic-tailwind-arbitrary.mjs`.
|
|
74
|
+
*/
|
|
75
|
+
const TEXT_VAR_TO_CLASS = {
|
|
76
|
+
"var(--appkit-color-text)": "text-[var(--appkit-color-text)]",
|
|
77
|
+
"var(--appkit-color-text-on-primary)": "text-[var(--appkit-color-text-on-primary)]",
|
|
78
|
+
"var(--appkit-color-success)": "text-[var(--appkit-color-success)]",
|
|
79
|
+
"var(--appkit-color-error)": "text-[var(--appkit-color-error)]",
|
|
80
|
+
"var(--appkit-color-warning)": "text-[var(--appkit-color-warning)]",
|
|
81
|
+
"var(--appkit-color-info)": "text-[var(--appkit-color-info)]",
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Tailwind class for the surface's default text color, e.g.
|
|
85
|
+
* `text-[var(--appkit-color-text)]`. `buildSurfaceClasses` appends this so
|
|
86
|
+
* every `surface`-bearing primitive gets a readable default.
|
|
87
|
+
*/
|
|
88
|
+
export function getSurfaceTextClass(surface) {
|
|
89
|
+
if (surface === "none")
|
|
90
|
+
return "";
|
|
91
|
+
const pair = getSurfaceTextPair(surface);
|
|
92
|
+
return TEXT_VAR_TO_CLASS[pair.textVar] ?? "";
|
|
93
|
+
}
|
package/dist/tokens/index.d.ts
CHANGED
|
@@ -9,32 +9,32 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const COLORS: {
|
|
11
11
|
readonly primary: {
|
|
12
|
-
readonly DEFAULT: "#
|
|
13
|
-
readonly 50: "#
|
|
14
|
-
readonly 100: "#
|
|
15
|
-
readonly 200: "#
|
|
16
|
-
readonly 300: "#
|
|
17
|
-
readonly 400: "#
|
|
18
|
-
readonly 500: "#
|
|
19
|
-
readonly 600: "#
|
|
20
|
-
readonly 700: "#
|
|
21
|
-
readonly 800: "#
|
|
22
|
-
readonly 900: "#
|
|
23
|
-
readonly 950: "#
|
|
12
|
+
readonly DEFAULT: "#0d9488";
|
|
13
|
+
readonly 50: "#f0fdfa";
|
|
14
|
+
readonly 100: "#ccfbf1";
|
|
15
|
+
readonly 200: "#99f6e4";
|
|
16
|
+
readonly 300: "#5eead4";
|
|
17
|
+
readonly 400: "#2dd4bf";
|
|
18
|
+
readonly 500: "#14b8a6";
|
|
19
|
+
readonly 600: "#0d9488";
|
|
20
|
+
readonly 700: "#0f766e";
|
|
21
|
+
readonly 800: "#115e59";
|
|
22
|
+
readonly 900: "#134e4a";
|
|
23
|
+
readonly 950: "#042f2e";
|
|
24
24
|
};
|
|
25
25
|
readonly secondary: {
|
|
26
|
-
readonly DEFAULT: "#
|
|
27
|
-
readonly 50: "#
|
|
28
|
-
readonly 100: "#
|
|
29
|
-
readonly 200: "#
|
|
30
|
-
readonly 300: "#
|
|
31
|
-
readonly 400: "#
|
|
32
|
-
readonly 500: "#
|
|
33
|
-
readonly 600: "#
|
|
34
|
-
readonly 700: "#
|
|
35
|
-
readonly 800: "#
|
|
36
|
-
readonly 900: "#
|
|
37
|
-
readonly 950: "#
|
|
26
|
+
readonly DEFAULT: "#c026d3";
|
|
27
|
+
readonly 50: "#fdf4ff";
|
|
28
|
+
readonly 100: "#fae8ff";
|
|
29
|
+
readonly 200: "#f5d0fe";
|
|
30
|
+
readonly 300: "#f0abfc";
|
|
31
|
+
readonly 400: "#e879f9";
|
|
32
|
+
readonly 500: "#d946ef";
|
|
33
|
+
readonly 600: "#c026d3";
|
|
34
|
+
readonly 700: "#a21caf";
|
|
35
|
+
readonly 800: "#86198f";
|
|
36
|
+
readonly 900: "#701a75";
|
|
37
|
+
readonly 950: "#4a044e";
|
|
38
38
|
};
|
|
39
39
|
readonly cobalt: {
|
|
40
40
|
readonly DEFAULT: "#3570fc";
|
|
@@ -65,10 +65,10 @@ export declare const COLORS: {
|
|
|
65
65
|
readonly 950: "#222730";
|
|
66
66
|
};
|
|
67
67
|
readonly semantic: {
|
|
68
|
-
readonly success: "#
|
|
69
|
-
readonly warning: "#
|
|
70
|
-
readonly error: "#
|
|
71
|
-
readonly info: "#
|
|
68
|
+
readonly success: "#15803d";
|
|
69
|
+
readonly warning: "#b45309";
|
|
70
|
+
readonly error: "#b91c1c";
|
|
71
|
+
readonly info: "#0369a1";
|
|
72
72
|
};
|
|
73
73
|
};
|
|
74
74
|
export declare const RADIUS: {
|
|
@@ -88,8 +88,8 @@ export declare const SHADOWS: {
|
|
|
88
88
|
readonly lg: "0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)";
|
|
89
89
|
readonly xl: "0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)";
|
|
90
90
|
readonly soft: "0 2px 15px -3px rgba(0,0,0,0.07), 0 10px 20px -2px rgba(0,0,0,0.04)";
|
|
91
|
-
readonly glow: "0 0 20px rgba(
|
|
92
|
-
readonly glowPink: "0 0 20px rgba(
|
|
91
|
+
readonly glow: "0 0 20px rgba(13, 148, 136, 0.45)";
|
|
92
|
+
readonly glowPink: "0 0 20px rgba(192, 38, 211, 0.5)";
|
|
93
93
|
};
|
|
94
94
|
export declare const Z_INDEX: {
|
|
95
95
|
readonly dropdown: 30;
|
|
@@ -114,32 +114,32 @@ export declare function token(name: string): string;
|
|
|
114
114
|
export declare const TOKENS: {
|
|
115
115
|
readonly colors: {
|
|
116
116
|
readonly primary: {
|
|
117
|
-
readonly DEFAULT: "#
|
|
118
|
-
readonly 50: "#
|
|
119
|
-
readonly 100: "#
|
|
120
|
-
readonly 200: "#
|
|
121
|
-
readonly 300: "#
|
|
122
|
-
readonly 400: "#
|
|
123
|
-
readonly 500: "#
|
|
124
|
-
readonly 600: "#
|
|
125
|
-
readonly 700: "#
|
|
126
|
-
readonly 800: "#
|
|
127
|
-
readonly 900: "#
|
|
128
|
-
readonly 950: "#
|
|
117
|
+
readonly DEFAULT: "#0d9488";
|
|
118
|
+
readonly 50: "#f0fdfa";
|
|
119
|
+
readonly 100: "#ccfbf1";
|
|
120
|
+
readonly 200: "#99f6e4";
|
|
121
|
+
readonly 300: "#5eead4";
|
|
122
|
+
readonly 400: "#2dd4bf";
|
|
123
|
+
readonly 500: "#14b8a6";
|
|
124
|
+
readonly 600: "#0d9488";
|
|
125
|
+
readonly 700: "#0f766e";
|
|
126
|
+
readonly 800: "#115e59";
|
|
127
|
+
readonly 900: "#134e4a";
|
|
128
|
+
readonly 950: "#042f2e";
|
|
129
129
|
};
|
|
130
130
|
readonly secondary: {
|
|
131
|
-
readonly DEFAULT: "#
|
|
132
|
-
readonly 50: "#
|
|
133
|
-
readonly 100: "#
|
|
134
|
-
readonly 200: "#
|
|
135
|
-
readonly 300: "#
|
|
136
|
-
readonly 400: "#
|
|
137
|
-
readonly 500: "#
|
|
138
|
-
readonly 600: "#
|
|
139
|
-
readonly 700: "#
|
|
140
|
-
readonly 800: "#
|
|
141
|
-
readonly 900: "#
|
|
142
|
-
readonly 950: "#
|
|
131
|
+
readonly DEFAULT: "#c026d3";
|
|
132
|
+
readonly 50: "#fdf4ff";
|
|
133
|
+
readonly 100: "#fae8ff";
|
|
134
|
+
readonly 200: "#f5d0fe";
|
|
135
|
+
readonly 300: "#f0abfc";
|
|
136
|
+
readonly 400: "#e879f9";
|
|
137
|
+
readonly 500: "#d946ef";
|
|
138
|
+
readonly 600: "#c026d3";
|
|
139
|
+
readonly 700: "#a21caf";
|
|
140
|
+
readonly 800: "#86198f";
|
|
141
|
+
readonly 900: "#701a75";
|
|
142
|
+
readonly 950: "#4a044e";
|
|
143
143
|
};
|
|
144
144
|
readonly cobalt: {
|
|
145
145
|
readonly DEFAULT: "#3570fc";
|
|
@@ -170,10 +170,10 @@ export declare const TOKENS: {
|
|
|
170
170
|
readonly 950: "#222730";
|
|
171
171
|
};
|
|
172
172
|
readonly semantic: {
|
|
173
|
-
readonly success: "#
|
|
174
|
-
readonly warning: "#
|
|
175
|
-
readonly error: "#
|
|
176
|
-
readonly info: "#
|
|
173
|
+
readonly success: "#15803d";
|
|
174
|
+
readonly warning: "#b45309";
|
|
175
|
+
readonly error: "#b91c1c";
|
|
176
|
+
readonly info: "#0369a1";
|
|
177
177
|
};
|
|
178
178
|
};
|
|
179
179
|
readonly radius: {
|
|
@@ -193,8 +193,8 @@ export declare const TOKENS: {
|
|
|
193
193
|
readonly lg: "0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)";
|
|
194
194
|
readonly xl: "0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)";
|
|
195
195
|
readonly soft: "0 2px 15px -3px rgba(0,0,0,0.07), 0 10px 20px -2px rgba(0,0,0,0.04)";
|
|
196
|
-
readonly glow: "0 0 20px rgba(
|
|
197
|
-
readonly glowPink: "0 0 20px rgba(
|
|
196
|
+
readonly glow: "0 0 20px rgba(13, 148, 136, 0.45)";
|
|
197
|
+
readonly glowPink: "0 0 20px rgba(192, 38, 211, 0.5)";
|
|
198
198
|
};
|
|
199
199
|
readonly zIndex: {
|
|
200
200
|
readonly dropdown: 30;
|
package/dist/tokens/index.js
CHANGED
|
@@ -10,32 +10,32 @@
|
|
|
10
10
|
// --- Brand Colors ----------------------------------------------------------
|
|
11
11
|
export const COLORS = {
|
|
12
12
|
primary: {
|
|
13
|
-
DEFAULT: "#
|
|
14
|
-
50: "#
|
|
15
|
-
100: "#
|
|
16
|
-
200: "#
|
|
17
|
-
300: "#
|
|
18
|
-
400: "#
|
|
19
|
-
500: "#
|
|
20
|
-
600: "#
|
|
21
|
-
700: "#
|
|
22
|
-
800: "#
|
|
23
|
-
900: "#
|
|
24
|
-
950: "#
|
|
13
|
+
DEFAULT: "#0d9488",
|
|
14
|
+
50: "#f0fdfa",
|
|
15
|
+
100: "#ccfbf1",
|
|
16
|
+
200: "#99f6e4",
|
|
17
|
+
300: "#5eead4",
|
|
18
|
+
400: "#2dd4bf",
|
|
19
|
+
500: "#14b8a6",
|
|
20
|
+
600: "#0d9488",
|
|
21
|
+
700: "#0f766e",
|
|
22
|
+
800: "#115e59",
|
|
23
|
+
900: "#134e4a",
|
|
24
|
+
950: "#042f2e",
|
|
25
25
|
},
|
|
26
26
|
secondary: {
|
|
27
|
-
DEFAULT: "#
|
|
28
|
-
50: "#
|
|
29
|
-
100: "#
|
|
30
|
-
200: "#
|
|
31
|
-
300: "#
|
|
32
|
-
400: "#
|
|
33
|
-
500: "#
|
|
34
|
-
600: "#
|
|
35
|
-
700: "#
|
|
36
|
-
800: "#
|
|
37
|
-
900: "#
|
|
38
|
-
950: "#
|
|
27
|
+
DEFAULT: "#c026d3",
|
|
28
|
+
50: "#fdf4ff",
|
|
29
|
+
100: "#fae8ff",
|
|
30
|
+
200: "#f5d0fe",
|
|
31
|
+
300: "#f0abfc",
|
|
32
|
+
400: "#e879f9",
|
|
33
|
+
500: "#d946ef",
|
|
34
|
+
600: "#c026d3",
|
|
35
|
+
700: "#a21caf",
|
|
36
|
+
800: "#86198f",
|
|
37
|
+
900: "#701a75",
|
|
38
|
+
950: "#4a044e",
|
|
39
39
|
},
|
|
40
40
|
cobalt: {
|
|
41
41
|
DEFAULT: "#3570fc",
|
|
@@ -66,10 +66,10 @@ export const COLORS = {
|
|
|
66
66
|
950: "#222730",
|
|
67
67
|
},
|
|
68
68
|
semantic: {
|
|
69
|
-
success: "#
|
|
70
|
-
warning: "#
|
|
71
|
-
error: "#
|
|
72
|
-
info: "#
|
|
69
|
+
success: "#15803d",
|
|
70
|
+
warning: "#b45309",
|
|
71
|
+
error: "#b91c1c",
|
|
72
|
+
info: "#0369a1",
|
|
73
73
|
},
|
|
74
74
|
};
|
|
75
75
|
// --- Border Radius ---------------------------------------------------------
|
|
@@ -91,8 +91,8 @@ export const SHADOWS = {
|
|
|
91
91
|
lg: "0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",
|
|
92
92
|
xl: "0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)",
|
|
93
93
|
soft: "0 2px 15px -3px rgba(0,0,0,0.07), 0 10px 20px -2px rgba(0,0,0,0.04)",
|
|
94
|
-
glow: "0 0 20px rgba(
|
|
95
|
-
glowPink: "0 0 20px rgba(
|
|
94
|
+
glow: "0 0 20px rgba(13, 148, 136, 0.45)",
|
|
95
|
+
glowPink: "0 0 20px rgba(192, 38, 211, 0.5)",
|
|
96
96
|
};
|
|
97
97
|
// --- Z-index ---------------------------------------------------------------
|
|
98
98
|
export const Z_INDEX = {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ThemeRecord } from "./types";
|
|
2
2
|
/**
|
|
3
|
-
* Theme template — Cobalt Night. Keeps
|
|
4
|
-
* a deep-blue dark surface
|
|
3
|
+
* Theme template — Cobalt Night. Keeps a cobalt-blue primary but pairs it
|
|
4
|
+
* with a deep-blue dark surface — a distinct alternate dark palette from the
|
|
5
|
+
* built-in `default-dark` (crimson + cyan since 2026-08-17). Mirrors the
|
|
5
6
|
* `[data-theme="cobalt-night"]` block in `appkit/src/tokens/tokens.css`.
|
|
6
7
|
*
|
|
7
8
|
* Not a built-in (`builtIn: false`) — seeded into `siteSettings.theme.themes`
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DEFAULT_DARK_THEME } from "./default-dark";
|
|
2
2
|
/**
|
|
3
|
-
* Theme template — Cobalt Night. Keeps
|
|
4
|
-
* a deep-blue dark surface
|
|
3
|
+
* Theme template — Cobalt Night. Keeps a cobalt-blue primary but pairs it
|
|
4
|
+
* with a deep-blue dark surface — a distinct alternate dark palette from the
|
|
5
|
+
* built-in `default-dark` (crimson + cyan since 2026-08-17). Mirrors the
|
|
5
6
|
* `[data-theme="cobalt-night"]` block in `appkit/src/tokens/tokens.css`.
|
|
6
7
|
*
|
|
7
8
|
* Not a built-in (`builtIn: false`) — seeded into `siteSettings.theme.themes`
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ThemeRecord } from "./types";
|
|
2
2
|
/**
|
|
3
|
-
* Built-in dark theme —
|
|
3
|
+
* Built-in dark theme — crimson red unified primary + cyan secondary-highlight.
|
|
4
|
+
* Rebranded 2026-08-17 from the previous hot-pink identity to match the
|
|
5
|
+
* red/cyan "Meteo L-Drago"-style Beyblade reference art supplied for the
|
|
6
|
+
* rebrand (red metallic body + cyan energy-ring highlight + silver accents).
|
|
4
7
|
* Mirrors the `[data-theme="dark"]` block in `appkit/src/tokens/tokens.css`.
|
|
5
8
|
* Cannot be deleted; can be cloned by the admin into a new theme.
|
|
6
9
|
*
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Built-in dark theme —
|
|
2
|
+
* Built-in dark theme — crimson red unified primary + cyan secondary-highlight.
|
|
3
|
+
* Rebranded 2026-08-17 from the previous hot-pink identity to match the
|
|
4
|
+
* red/cyan "Meteo L-Drago"-style Beyblade reference art supplied for the
|
|
5
|
+
* rebrand (red metallic body + cyan energy-ring highlight + silver accents).
|
|
3
6
|
* Mirrors the `[data-theme="dark"]` block in `appkit/src/tokens/tokens.css`.
|
|
4
7
|
* Cannot be deleted; can be cloned by the admin into a new theme.
|
|
5
8
|
*
|
|
@@ -8,34 +11,34 @@
|
|
|
8
11
|
*/
|
|
9
12
|
export const DEFAULT_DARK_THEME = {
|
|
10
13
|
id: "default-dark",
|
|
11
|
-
name: "Default Dark (
|
|
14
|
+
name: "Default Dark (Crimson + Cyan)",
|
|
12
15
|
mode: "dark",
|
|
13
16
|
builtIn: true,
|
|
14
17
|
tokens: {
|
|
15
|
-
"appkit-color-primary": "#
|
|
16
|
-
"appkit-color-primary-50": "#
|
|
17
|
-
"appkit-color-primary-100": "#
|
|
18
|
-
"appkit-color-primary-200": "#
|
|
19
|
-
"appkit-color-primary-300": "#
|
|
20
|
-
"appkit-color-primary-400": "#
|
|
21
|
-
"appkit-color-primary-500": "#
|
|
22
|
-
"appkit-color-primary-600": "#
|
|
23
|
-
"appkit-color-primary-700": "#
|
|
24
|
-
"appkit-color-primary-800": "#
|
|
25
|
-
"appkit-color-primary-900": "#
|
|
26
|
-
"appkit-color-primary-950": "#
|
|
27
|
-
"appkit-color-secondary": "#
|
|
28
|
-
"appkit-color-secondary-50": "#
|
|
29
|
-
"appkit-color-secondary-100": "#
|
|
30
|
-
"appkit-color-secondary-200": "#
|
|
31
|
-
"appkit-color-secondary-300": "#
|
|
32
|
-
"appkit-color-secondary-400": "#
|
|
33
|
-
"appkit-color-secondary-500": "#
|
|
34
|
-
"appkit-color-secondary-600": "#
|
|
35
|
-
"appkit-color-secondary-700": "#
|
|
36
|
-
"appkit-color-secondary-800": "#
|
|
37
|
-
"appkit-color-secondary-900": "#
|
|
38
|
-
"appkit-color-secondary-950": "#
|
|
18
|
+
"appkit-color-primary": "#ef4444",
|
|
19
|
+
"appkit-color-primary-50": "#fef2f2",
|
|
20
|
+
"appkit-color-primary-100": "#fee2e2",
|
|
21
|
+
"appkit-color-primary-200": "#fecaca",
|
|
22
|
+
"appkit-color-primary-300": "#fca5a5",
|
|
23
|
+
"appkit-color-primary-400": "#f87171",
|
|
24
|
+
"appkit-color-primary-500": "#ef4444",
|
|
25
|
+
"appkit-color-primary-600": "#dc2626",
|
|
26
|
+
"appkit-color-primary-700": "#b91c1c",
|
|
27
|
+
"appkit-color-primary-800": "#991b1b",
|
|
28
|
+
"appkit-color-primary-900": "#7f1d1d",
|
|
29
|
+
"appkit-color-primary-950": "#450a0a",
|
|
30
|
+
"appkit-color-secondary": "#06b6d4",
|
|
31
|
+
"appkit-color-secondary-50": "#ecfeff",
|
|
32
|
+
"appkit-color-secondary-100": "#cffafe",
|
|
33
|
+
"appkit-color-secondary-200": "#a5f3fc",
|
|
34
|
+
"appkit-color-secondary-300": "#67e8f9",
|
|
35
|
+
"appkit-color-secondary-400": "#22d3ee",
|
|
36
|
+
"appkit-color-secondary-500": "#06b6d4",
|
|
37
|
+
"appkit-color-secondary-600": "#0891b2",
|
|
38
|
+
"appkit-color-secondary-700": "#0e7490",
|
|
39
|
+
"appkit-color-secondary-800": "#155e75",
|
|
40
|
+
"appkit-color-secondary-900": "#164e63",
|
|
41
|
+
"appkit-color-secondary-950": "#083344",
|
|
39
42
|
"appkit-color-bg": "#020617",
|
|
40
43
|
"appkit-color-surface": "#0f172a",
|
|
41
44
|
"appkit-color-surface-elevated": "rgba(15, 23, 42, 0.9)",
|
|
@@ -49,13 +52,13 @@ export const DEFAULT_DARK_THEME = {
|
|
|
49
52
|
"appkit-color-success-surface": "rgba(6, 78, 59, 0.25)",
|
|
50
53
|
"appkit-color-warning": "#fbbf24",
|
|
51
54
|
"appkit-color-warning-surface": "#1c1508",
|
|
52
|
-
"appkit-color-error": "#
|
|
55
|
+
"appkit-color-error": "#fb7185",
|
|
53
56
|
"appkit-color-error-surface": "rgba(127, 29, 29, 0.25)",
|
|
54
57
|
"appkit-color-info": "#38bdf8",
|
|
55
58
|
"appkit-color-info-surface": "rgba(12, 74, 110, 0.25)",
|
|
56
|
-
"appkit-color-focus-ring": "#
|
|
57
|
-
"appkit-shadow-glow": "0 0 0 1px rgba(
|
|
58
|
-
"appkit-shadow-glow-pink": "0 0 0 1px rgba(
|
|
59
|
+
"appkit-color-focus-ring": "#f87171",
|
|
60
|
+
"appkit-shadow-glow": "0 0 0 1px rgba(239,68,68,0.12), 0 4px 16px -4px rgba(239,68,68,0.22)",
|
|
61
|
+
"appkit-shadow-glow-pink": "0 0 0 1px rgba(6,182,212,0.14), 0 4px 20px -4px rgba(6,182,212,0.28)",
|
|
59
62
|
"appkit-font-display": "var(--font-display), \"Poppins\", ui-sans-serif, system-ui, sans-serif",
|
|
60
63
|
"appkit-font-sans": "var(--font-body), ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
|
|
61
64
|
"appkit-font-editorial": "var(--font-editorial), \"Georgia\", serif",
|
|
@@ -79,35 +82,35 @@ export const DEFAULT_DARK_THEME = {
|
|
|
79
82
|
"appkit-space-20": "5rem",
|
|
80
83
|
"appkit-space-24": "6rem",
|
|
81
84
|
"appkit-text-2xs": "0.625rem",
|
|
82
|
-
"appkit-text-xs": "0.
|
|
83
|
-
"appkit-text-sm": "0.
|
|
84
|
-
"appkit-text-base": "
|
|
85
|
-
"appkit-text-lg": "
|
|
86
|
-
"appkit-text-xl": "1.
|
|
87
|
-
"appkit-text-2xl": "1.
|
|
88
|
-
"appkit-text-3xl": "1.
|
|
89
|
-
"appkit-text-4xl": "
|
|
90
|
-
"appkit-text-5xl": "
|
|
85
|
+
"appkit-text-xs": "0.6875rem",
|
|
86
|
+
"appkit-text-sm": "0.8125rem",
|
|
87
|
+
"appkit-text-base": "0.9375rem",
|
|
88
|
+
"appkit-text-lg": "1rem",
|
|
89
|
+
"appkit-text-xl": "1.125rem",
|
|
90
|
+
"appkit-text-2xl": "1.375rem",
|
|
91
|
+
"appkit-text-3xl": "1.625rem",
|
|
92
|
+
"appkit-text-4xl": "1.875rem",
|
|
93
|
+
"appkit-text-5xl": "2.5rem",
|
|
91
94
|
},
|
|
92
95
|
gradients: {
|
|
93
|
-
brand: "linear-gradient(to right, var(--appkit-color-primary), var(--appkit-color-
|
|
96
|
+
brand: "linear-gradient(to right, var(--appkit-color-primary), var(--appkit-color-secondary))",
|
|
94
97
|
"brand-tri": "linear-gradient(to right, var(--appkit-color-primary), var(--appkit-color-secondary), var(--appkit-color-info))",
|
|
95
|
-
accent: "linear-gradient(to right, var(--appkit-color-
|
|
98
|
+
accent: "linear-gradient(to right, var(--appkit-color-secondary), var(--appkit-color-primary))",
|
|
96
99
|
"accent-divider": "linear-gradient(to right, transparent, var(--appkit-color-primary), transparent)",
|
|
97
|
-
"page-header": "linear-gradient(to bottom right, rgba(
|
|
100
|
+
"page-header": "linear-gradient(to bottom right, rgba(239,68,68,0.10), transparent 60%, transparent)",
|
|
98
101
|
"section-warm": "linear-gradient(to bottom right, var(--appkit-color-warning-surface), transparent)",
|
|
99
|
-
"section-cool": "linear-gradient(to bottom right, rgba(
|
|
100
|
-
"section-mesh": "radial-gradient(ellipse at top, rgba(
|
|
101
|
-
"accent-banner": "linear-gradient(to right, var(--appkit-color-primary), var(--appkit-color-
|
|
102
|
+
"section-cool": "linear-gradient(to bottom right, rgba(6,182,212,0.10), transparent)",
|
|
103
|
+
"section-mesh": "radial-gradient(ellipse at top, rgba(239,68,68,0.10), var(--appkit-color-surface), rgba(6,182,212,0.08))",
|
|
104
|
+
"accent-banner": "linear-gradient(to right, var(--appkit-color-primary), var(--appkit-color-secondary))",
|
|
102
105
|
promotion: "linear-gradient(to bottom right, var(--appkit-color-error), var(--appkit-color-primary), var(--appkit-color-warning))",
|
|
103
|
-
spotlight: "linear-gradient(to bottom right, rgba(
|
|
106
|
+
spotlight: "linear-gradient(to bottom right, rgba(6,182,212,0.10), var(--appkit-color-bg), rgba(6,182,212,0.10))",
|
|
104
107
|
"whatsapp-card": "linear-gradient(to bottom right, var(--appkit-color-success), var(--appkit-color-success))",
|
|
105
108
|
glass: "linear-gradient(to bottom right, color-mix(in srgb, var(--appkit-color-surface) 85%, transparent), color-mix(in srgb, var(--appkit-color-surface) 65%, transparent))",
|
|
106
|
-
"card-indigo": "linear-gradient(to bottom right, rgba(
|
|
107
|
-
"card-teal": "linear-gradient(to bottom right, rgba(
|
|
109
|
+
"card-indigo": "linear-gradient(to bottom right, rgba(239,68,68,0.10), var(--appkit-color-surface), var(--appkit-color-surface))",
|
|
110
|
+
"card-teal": "linear-gradient(to bottom right, rgba(6,182,212,0.10), var(--appkit-color-surface), var(--appkit-color-surface))",
|
|
108
111
|
"card-amber": "linear-gradient(to bottom right, var(--appkit-color-warning-surface), var(--appkit-color-surface), var(--appkit-color-surface))",
|
|
109
112
|
"card-rose": "linear-gradient(to bottom right, var(--appkit-color-error-surface), var(--appkit-color-surface), var(--appkit-color-surface))",
|
|
110
|
-
logo: "linear-gradient(to right, var(--appkit-color-primary-300) 0%, var(--appkit-color-primary-400) 55%, var(--appkit-color-
|
|
111
|
-
sidebar: "linear-gradient(to bottom, var(--appkit-color-primary), var(--appkit-color-
|
|
113
|
+
logo: "linear-gradient(to right, var(--appkit-color-primary-300) 0%, var(--appkit-color-primary-400) 55%, var(--appkit-color-secondary) 100%)",
|
|
114
|
+
sidebar: "linear-gradient(to bottom, var(--appkit-color-primary), var(--appkit-color-secondary))",
|
|
112
115
|
},
|
|
113
116
|
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { ThemeRecord } from "./types";
|
|
2
2
|
/**
|
|
3
|
-
* Built-in light theme —
|
|
3
|
+
* Built-in light theme — teal-blue primary + magenta secondary-highlight.
|
|
4
|
+
* Rebranded 2026-08-17 from the previous cobalt+lime identity to match the
|
|
5
|
+
* teal/magenta Beyblade reference art supplied for the rebrand (turquoise
|
|
6
|
+
* metallic body + magenta energy-ring highlight + silver accents), paired
|
|
7
|
+
* with the new red/cyan dark theme.
|
|
4
8
|
* Mirrors the `:root` block in `appkit/src/tokens/tokens.css`.
|
|
5
9
|
* Cannot be deleted; can be cloned by the admin into a new theme.
|
|
6
10
|
*
|