@reddb-io/ui-kit 0.3.4 → 0.3.6
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/package.json +11 -13
- package/src/lib/Badge.svelte +7 -27
- package/src/lib/Button.svelte +10 -33
- package/src/lib/Card.svelte +5 -20
- package/src/lib/EmptyState.svelte +5 -26
- package/src/lib/ListRow.svelte +14 -49
- package/src/lib/NodeBadge.svelte +6 -14
- package/src/lib/Pill.svelte +7 -25
- package/src/lib/SectionHeading.svelte +7 -20
- package/src/lib/index.ts +7 -18
- package/src/lib/tone.ts +11 -0
- package/src/tokens/index.ts +40 -17
- package/src/tokens/styles.css +4 -0
- package/src/tokens/tokens.css +68 -89
- package/vendor/ds/assets/fonts/jetbrains-mono-variable.woff2 +0 -0
- package/vendor/ds/assets/fonts/space-grotesk-variable.woff2 +0 -0
- package/vendor/ds/assets/fonts.css +38 -0
- package/vendor/ds/design-system.receipt.json +871 -0
- package/vendor/ds/kits/app/README.md +601 -0
- package/vendor/ds/kits/app/interaction-allowlist.json +35 -0
- package/vendor/ds/kits/app/kit.json +5 -0
- package/vendor/ds/kits/app/src/composites/ActionPanel.svelte +66 -0
- package/vendor/ds/kits/app/src/composites/ActivityFeed.svelte +29 -0
- package/vendor/ds/kits/app/src/composites/ApplicationShell.svelte +99 -0
- package/vendor/ds/kits/app/src/composites/BottomNavigation.svelte +68 -0
- package/vendor/ds/kits/app/src/composites/CardHeading.svelte +44 -0
- package/vendor/ds/kits/app/src/composites/CategoryFilter.svelte +83 -0
- package/vendor/ds/kits/app/src/composites/CategoryPreview.svelte +45 -0
- package/vendor/ds/kits/app/src/composites/ChatMessage.svelte +53 -0
- package/vendor/ds/kits/app/src/composites/CheckoutForm.svelte +91 -0
- package/vendor/ds/kits/app/src/composites/CommandPalette.svelte +80 -0
- package/vendor/ds/kits/app/src/composites/ContextMenu.svelte +138 -0
- package/vendor/ds/kits/app/src/composites/Diff.svelte +146 -0
- package/vendor/ds/kits/app/src/composites/EntityInspector.svelte +40 -0
- package/vendor/ds/kits/app/src/composites/EntityJourney.svelte +60 -0
- package/vendor/ds/kits/app/src/composites/Filter.svelte +42 -0
- package/vendor/ds/kits/app/src/composites/Incentive.svelte +61 -0
- package/vendor/ds/kits/app/src/composites/Menubar.svelte +121 -0
- package/vendor/ds/kits/app/src/composites/MultiColumnLayout.svelte +51 -0
- package/vendor/ds/kits/app/src/composites/OrderHistory.svelte +70 -0
- package/vendor/ds/kits/app/src/composites/OrderSummary.svelte +60 -0
- package/vendor/ds/kits/app/src/composites/PageHeading.svelte +46 -0
- package/vendor/ds/kits/app/src/composites/PhaseSummary.svelte +38 -0
- package/vendor/ds/kits/app/src/composites/PlaybackControls.svelte +62 -0
- package/vendor/ds/kits/app/src/composites/ProductFeature.svelte +71 -0
- package/vendor/ds/kits/app/src/composites/ProductList.svelte +74 -0
- package/vendor/ds/kits/app/src/composites/ProductOverview.svelte +77 -0
- package/vendor/ds/kits/app/src/composites/ProductQuickview.svelte +62 -0
- package/vendor/ds/kits/app/src/composites/PropertyPanel.svelte +42 -0
- package/vendor/ds/kits/app/src/composites/Review.svelte +68 -0
- package/vendor/ds/kits/app/src/composites/SettingsRow.svelte +38 -0
- package/vendor/ds/kits/app/src/composites/ShoppingCart.svelte +136 -0
- package/vendor/ds/kits/app/src/composites/SidebarLayout.svelte +349 -0
- package/vendor/ds/kits/app/src/composites/SidebarNavigation.svelte +74 -0
- package/vendor/ds/kits/app/src/composites/SidebarPanel.svelte +50 -0
- package/vendor/ds/kits/app/src/composites/SidebarRail.svelte +162 -0
- package/vendor/ds/kits/app/src/composites/SpeedDial.svelte +67 -0
- package/vendor/ds/kits/app/src/composites/StoreNavigation.svelte +53 -0
- package/vendor/ds/kits/app/src/composites/TaskCard.svelte +71 -0
- package/vendor/ds/kits/app/src/composites/TaskList.svelte +52 -0
- package/vendor/ds/kits/app/src/composites/TelemetryRow.svelte +41 -0
- package/vendor/ds/kits/app/src/composites/Toolbar.svelte +67 -0
- package/vendor/ds/kits/app/src/composites/action-panel.variants.ts +12 -0
- package/vendor/ds/kits/app/src/composites/activity-feed.variants.ts +10 -0
- package/vendor/ds/kits/app/src/composites/application-shell.behavior.ts +25 -0
- package/vendor/ds/kits/app/src/composites/application-shell.variants.ts +35 -0
- package/vendor/ds/kits/app/src/composites/bottom-navigation.variants.ts +20 -0
- package/vendor/ds/kits/app/src/composites/card-heading.variants.ts +7 -0
- package/vendor/ds/kits/app/src/composites/category-filter.variants.ts +22 -0
- package/vendor/ds/kits/app/src/composites/category-preview.variants.ts +21 -0
- package/vendor/ds/kits/app/src/composites/chat-message.variants.ts +16 -0
- package/vendor/ds/kits/app/src/composites/checkout-form.appearance.ts +19 -0
- package/vendor/ds/kits/app/src/composites/checkout-form.variants.ts +7 -0
- package/vendor/ds/kits/app/src/composites/command-palette.behavior.ts +11 -0
- package/vendor/ds/kits/app/src/composites/command-palette.variants.ts +15 -0
- package/vendor/ds/kits/app/src/composites/command-surfaces.behavior.ts +24 -0
- package/vendor/ds/kits/app/src/composites/context-menu.variants.ts +19 -0
- package/vendor/ds/kits/app/src/composites/diff.variants.ts +31 -0
- package/vendor/ds/kits/app/src/composites/filter.variants.ts +21 -0
- package/vendor/ds/kits/app/src/composites/incentive.variants.ts +18 -0
- package/vendor/ds/kits/app/src/composites/main-landmark.ts +23 -0
- package/vendor/ds/kits/app/src/composites/menubar.variants.ts +18 -0
- package/vendor/ds/kits/app/src/composites/multi-column-layout.variants.ts +39 -0
- package/vendor/ds/kits/app/src/composites/navigation.behavior.ts +84 -0
- package/vendor/ds/kits/app/src/composites/order-history.variants.ts +38 -0
- package/vendor/ds/kits/app/src/composites/order-summary.variants.ts +23 -0
- package/vendor/ds/kits/app/src/composites/page-heading.variants.ts +22 -0
- package/vendor/ds/kits/app/src/composites/product-feature.variants.ts +37 -0
- package/vendor/ds/kits/app/src/composites/product-list.behavior.ts +4 -0
- package/vendor/ds/kits/app/src/composites/product-list.variants.ts +35 -0
- package/vendor/ds/kits/app/src/composites/product-overview.variants.ts +23 -0
- package/vendor/ds/kits/app/src/composites/product-quickview.variants.ts +21 -0
- package/vendor/ds/kits/app/src/composites/review.variants.ts +17 -0
- package/vendor/ds/kits/app/src/composites/settings-row.variants.ts +17 -0
- package/vendor/ds/kits/app/src/composites/shopping-cart.appearance.ts +32 -0
- package/vendor/ds/kits/app/src/composites/shopping-cart.variants.ts +5 -0
- package/vendor/ds/kits/app/src/composites/sidebar-layout.variants.ts +211 -0
- package/vendor/ds/kits/app/src/composites/sidebar-navigation.variants.ts +12 -0
- package/vendor/ds/kits/app/src/composites/sidebar-panel.variants.ts +13 -0
- package/vendor/ds/kits/app/src/composites/sidebar-rail.variants.ts +58 -0
- package/vendor/ds/kits/app/src/composites/speed-dial.variants.ts +22 -0
- package/vendor/ds/kits/app/src/composites/store-navigation.variants.ts +15 -0
- package/vendor/ds/kits/app/src/composites/task-list.behavior.ts +51 -0
- package/vendor/ds/kits/app/src/composites/task-list.variants.ts +18 -0
- package/vendor/ds/kits/app/src/composites/toolbar.variants.ts +27 -0
- package/vendor/ds/kits/app/src/core/category-filter.ts +4 -0
- package/vendor/ds/kits/app/src/core/checkout-form.ts +22 -0
- package/vendor/ds/kits/app/src/core/contracts/actionpanel.ts +24 -0
- package/vendor/ds/kits/app/src/core/contracts/activityfeed.ts +10 -0
- package/vendor/ds/kits/app/src/core/contracts/applicationshell.ts +17 -0
- package/vendor/ds/kits/app/src/core/contracts/bottomnavigation.ts +20 -0
- package/vendor/ds/kits/app/src/core/contracts/cardheading.ts +15 -0
- package/vendor/ds/kits/app/src/core/contracts/categoryfilter.ts +21 -0
- package/vendor/ds/kits/app/src/core/contracts/categorypreview.ts +18 -0
- package/vendor/ds/kits/app/src/core/contracts/chatmessage.ts +18 -0
- package/vendor/ds/kits/app/src/core/contracts/checkoutform.ts +18 -0
- package/vendor/ds/kits/app/src/core/contracts/commandpalette.ts +24 -0
- package/vendor/ds/kits/app/src/core/contracts/contextmenu.ts +30 -0
- package/vendor/ds/kits/app/src/core/contracts/diff.ts +18 -0
- package/vendor/ds/kits/app/src/core/contracts/entityinspector.ts +25 -0
- package/vendor/ds/kits/app/src/core/contracts/entityjourney.ts +14 -0
- package/vendor/ds/kits/app/src/core/contracts/filter.ts +22 -0
- package/vendor/ds/kits/app/src/core/contracts/incentive.ts +11 -0
- package/vendor/ds/kits/app/src/core/contracts/listrow.ts +15 -0
- package/vendor/ds/kits/app/src/core/contracts/menubar.ts +28 -0
- package/vendor/ds/kits/app/src/core/contracts/multicolumnlayout.ts +7 -0
- package/vendor/ds/kits/app/src/core/contracts/navitem.ts +17 -0
- package/vendor/ds/kits/app/src/core/contracts/nodebadge.ts +11 -0
- package/vendor/ds/kits/app/src/core/contracts/orderhistory.ts +25 -0
- package/vendor/ds/kits/app/src/core/contracts/ordersummary.ts +19 -0
- package/vendor/ds/kits/app/src/core/contracts/pageheading.ts +9 -0
- package/vendor/ds/kits/app/src/core/contracts/phasesummary.ts +9 -0
- package/vendor/ds/kits/app/src/core/contracts/pill.ts +17 -0
- package/vendor/ds/kits/app/src/core/contracts/playbackcontrols.ts +20 -0
- package/vendor/ds/kits/app/src/core/contracts/productfeature.ts +14 -0
- package/vendor/ds/kits/app/src/core/contracts/productlist.ts +17 -0
- package/vendor/ds/kits/app/src/core/contracts/productoverview.ts +20 -0
- package/vendor/ds/kits/app/src/core/contracts/productquickview.ts +16 -0
- package/vendor/ds/kits/app/src/core/contracts/propertypanel.ts +9 -0
- package/vendor/ds/kits/app/src/core/contracts/review.ts +22 -0
- package/vendor/ds/kits/app/src/core/contracts/settingsrow.ts +13 -0
- package/vendor/ds/kits/app/src/core/contracts/shoppingcart.ts +29 -0
- package/vendor/ds/kits/app/src/core/contracts/sidebarlayout.ts +40 -0
- package/vendor/ds/kits/app/src/core/contracts/sidebarnavigation.ts +16 -0
- package/vendor/ds/kits/app/src/core/contracts/sidebarpanel.ts +22 -0
- package/vendor/ds/kits/app/src/core/contracts/sidebarrail.ts +13 -0
- package/vendor/ds/kits/app/src/core/contracts/speeddial.ts +32 -0
- package/vendor/ds/kits/app/src/core/contracts/splitview.ts +15 -0
- package/vendor/ds/kits/app/src/core/contracts/storenavigation.ts +20 -0
- package/vendor/ds/kits/app/src/core/contracts/taskcard.ts +7 -0
- package/vendor/ds/kits/app/src/core/contracts/tasklist.ts +13 -0
- package/vendor/ds/kits/app/src/core/contracts/telemetryrow.ts +17 -0
- package/vendor/ds/kits/app/src/core/contracts/toolbar.ts +25 -0
- package/vendor/ds/kits/app/src/core/diff.ts +7 -0
- package/vendor/ds/kits/app/src/core/entity-inspector.ts +26 -0
- package/vendor/ds/kits/app/src/core/entity-journey.ts +52 -0
- package/vendor/ds/kits/app/src/core/measure.ts +7 -0
- package/vendor/ds/kits/app/src/core/operational.ts +42 -0
- package/vendor/ds/kits/app/src/core/product-list.ts +16 -0
- package/vendor/ds/kits/app/src/core/settings-row.ts +9 -0
- package/vendor/ds/kits/app/src/core/shopping-cart.ts +17 -0
- package/vendor/ds/kits/app/src/core/sidebar-rail.ts +58 -0
- package/vendor/ds/kits/app/src/entity-inspector.variants.ts +14 -0
- package/vendor/ds/kits/app/src/entity-journey.variants.ts +38 -0
- package/vendor/ds/kits/app/src/index.ts +429 -0
- package/vendor/ds/kits/app/src/operational.variants.ts +20 -0
- package/vendor/ds/kits/app/src/primitives/ListRow.svelte +95 -0
- package/vendor/ds/kits/app/src/primitives/NavItem.svelte +87 -0
- package/vendor/ds/kits/app/src/primitives/NodeBadge.svelte +47 -0
- package/vendor/ds/kits/app/src/primitives/Pill.svelte +81 -0
- package/vendor/ds/kits/app/src/primitives/SplitView.svelte +148 -0
- package/vendor/ds/kits/app/src/primitives/list-row.variants.ts +82 -0
- package/vendor/ds/kits/app/src/primitives/nav-item.variants.ts +56 -0
- package/vendor/ds/kits/app/src/primitives/node-badge.variants.ts +73 -0
- package/vendor/ds/kits/app/src/primitives/pill.variants.ts +117 -0
- package/vendor/ds/kits/app/src/primitives/split-view.behavior.ts +113 -0
- package/vendor/ds/kits/app/src/primitives/split-view.variants.ts +60 -0
- package/vendor/ds/kits/app/src/recipes.ts +44 -0
- package/vendor/ds/kits/app/svelte.config.js +6 -0
- package/vendor/ds/kits/app/test/action-panel.test.ts +63 -0
- package/vendor/ds/kits/app/test/activity-feed.test.ts +74 -0
- package/vendor/ds/kits/app/test/application-shell.test.ts +147 -0
- package/vendor/ds/kits/app/test/base-contraction.test.ts +60 -0
- package/vendor/ds/kits/app/test/button-migration.test.ts +134 -0
- package/vendor/ds/kits/app/test/card-heading.test.ts +53 -0
- package/vendor/ds/kits/app/test/category-filter.test.ts +84 -0
- package/vendor/ds/kits/app/test/category-preview.test.ts +75 -0
- package/vendor/ds/kits/app/test/chat-message.test.ts +70 -0
- package/vendor/ds/kits/app/test/checkout-form.test.ts +134 -0
- package/vendor/ds/kits/app/test/coherence.test.ts +193 -0
- package/vendor/ds/kits/app/test/command-palette.test.ts +177 -0
- package/vendor/ds/kits/app/test/command-surface-failures.test.ts +28 -0
- package/vendor/ds/kits/app/test/commerce-readiness.ts +54 -0
- package/vendor/ds/kits/app/test/consumer-check.test.ts +61 -0
- package/vendor/ds/kits/app/test/context-menu.test.ts +96 -0
- package/vendor/ds/kits/app/test/density.test.ts +487 -0
- package/vendor/ds/kits/app/test/diff.test.ts +121 -0
- package/vendor/ds/kits/app/test/elevation.test.ts +77 -0
- package/vendor/ds/kits/app/test/entity-inspector.test.ts +97 -0
- package/vendor/ds/kits/app/test/entity-journey.test.ts +100 -0
- package/vendor/ds/kits/app/test/event-dialect.test.ts +183 -0
- package/vendor/ds/kits/app/test/filter.test.ts +161 -0
- package/vendor/ds/kits/app/test/fixtures/ApplicationLayoutsConsumer.svelte +26 -0
- package/vendor/ds/kits/app/test/fixtures/ApplicationLayoutsContractFailures.svelte +19 -0
- package/vendor/ds/kits/app/test/fixtures/CommandPaletteConsumer.svelte +22 -0
- package/vendor/ds/kits/app/test/fixtures/CommandPaletteContractFailures.svelte +20 -0
- package/vendor/ds/kits/app/test/fixtures/CommandSurfaceContractFailures.svelte +24 -0
- package/vendor/ds/kits/app/test/fixtures/CommerceContractFailures.svelte +17 -0
- package/vendor/ds/kits/app/test/fixtures/CommerceSurfacesConsumer.svelte +30 -0
- package/vendor/ds/kits/app/test/fixtures/DiffConsumer.svelte +18 -0
- package/vendor/ds/kits/app/test/fixtures/DiffContractFailures.svelte +5 -0
- package/vendor/ds/kits/app/test/fixtures/EntityInspector.svelte +7 -0
- package/vendor/ds/kits/app/test/fixtures/EntityJourney.svelte +11 -0
- package/vendor/ds/kits/app/test/fixtures/FilterContractFailures.svelte +16 -0
- package/vendor/ds/kits/app/test/fixtures/FilterSurfacesConsumer.svelte +24 -0
- package/vendor/ds/kits/app/test/fixtures/FrameworkApp.svelte +28 -0
- package/vendor/ds/kits/app/test/fixtures/HeadingContractFailures.svelte +10 -0
- package/vendor/ds/kits/app/test/fixtures/MainOwnershipConsumer.svelte +35 -0
- package/vendor/ds/kits/app/test/fixtures/MerchandisingContractFailures.svelte +3 -0
- package/vendor/ds/kits/app/test/fixtures/MerchandisingSurfacesConsumer.svelte +28 -0
- package/vendor/ds/kits/app/test/fixtures/NavigationContractFailures.svelte +22 -0
- package/vendor/ds/kits/app/test/fixtures/NavigationSurfacesConsumer.svelte +23 -0
- package/vendor/ds/kits/app/test/fixtures/NestedSplitViewConsumer.svelte +20 -0
- package/vendor/ds/kits/app/test/fixtures/Operational.svelte +34 -0
- package/vendor/ds/kits/app/test/fixtures/ProductCatalogueConsumer.svelte +58 -0
- package/vendor/ds/kits/app/test/fixtures/ProductCatalogueContractFailures.svelte +29 -0
- package/vendor/ds/kits/app/test/fixtures/SettingsRows.svelte +10 -0
- package/vendor/ds/kits/app/test/fixtures/ShellBrandComposition.svelte +52 -0
- package/vendor/ds/kits/app/test/fixtures/SocialContractFailures.svelte +20 -0
- package/vendor/ds/kits/app/test/fixtures/SocialSurfacesConsumer.svelte +43 -0
- package/vendor/ds/kits/app/test/fixtures/TestGlyph.svelte +9 -0
- package/vendor/ds/kits/app/test/fixtures/TitlingSurfacesConsumer.svelte +21 -0
- package/vendor/ds/kits/app/test/fixtures/command-surfaces-consumer.ts +14 -0
- package/vendor/ds/kits/app/test/fixtures/consumer-check/Unfixed.svelte +50 -0
- package/vendor/ds/kits/app/test/fixtures/consumer-check/tsconfig.json +4 -0
- package/vendor/ds/kits/app/test/fixtures/markers/fixture-badge.variants.ts +12 -0
- package/vendor/ds/kits/app/test/fixtures/markers/fixture-chip.variants.ts +8 -0
- package/vendor/ds/kits/app/test/fixtures/tree-shaking/button-only.ts +7 -0
- package/vendor/ds/kits/app/test/fixtures/tree-shaking/menu-only.ts +9 -0
- package/vendor/ds/kits/app/test/fixtures/tree-shaking/number-field-only.ts +1 -0
- package/vendor/ds/kits/app/test/fixtures/tree-shaking/task-list-only.ts +1 -0
- package/vendor/ds/kits/app/test/framework-app.test.ts +140 -0
- package/vendor/ds/kits/app/test/framework-operational.test.ts +97 -0
- package/vendor/ds/kits/app/test/heading-level.test.ts +38 -0
- package/vendor/ds/kits/app/test/incentive.test.ts +60 -0
- package/vendor/ds/kits/app/test/label-in-name.ts +43 -0
- package/vendor/ds/kits/app/test/layout-readiness.ts +49 -0
- package/vendor/ds/kits/app/test/lint.test.ts +54 -0
- package/vendor/ds/kits/app/test/list-row.test.ts +117 -0
- package/vendor/ds/kits/app/test/main-ownership.test.ts +56 -0
- package/vendor/ds/kits/app/test/markers.test.ts +94 -0
- package/vendor/ds/kits/app/test/markers.ts +94 -0
- package/vendor/ds/kits/app/test/menubar.test.ts +93 -0
- package/vendor/ds/kits/app/test/mount.ts +86 -0
- package/vendor/ds/kits/app/test/multi-column-layout.test.ts +106 -0
- package/vendor/ds/kits/app/test/nav-item.test.ts +125 -0
- package/vendor/ds/kits/app/test/navigation-markers.test.ts +31 -0
- package/vendor/ds/kits/app/test/node-badge.test.ts +81 -0
- package/vendor/ds/kits/app/test/order-history.test.ts +78 -0
- package/vendor/ds/kits/app/test/order-summary.test.ts +77 -0
- package/vendor/ds/kits/app/test/page-heading.test.ts +90 -0
- package/vendor/ds/kits/app/test/pill.test.ts +63 -0
- package/vendor/ds/kits/app/test/product-feature.test.ts +76 -0
- package/vendor/ds/kits/app/test/product-list.test.ts +95 -0
- package/vendor/ds/kits/app/test/product-overview.test.ts +92 -0
- package/vendor/ds/kits/app/test/product-quickview.test.ts +116 -0
- package/vendor/ds/kits/app/test/react-consumer.tsx +36 -0
- package/vendor/ds/kits/app/test/review.test.ts +84 -0
- package/vendor/ds/kits/app/test/settings-row.test.ts +34 -0
- package/vendor/ds/kits/app/test/shell-brand.test.ts +22 -0
- package/vendor/ds/kits/app/test/shopping-cart.test.ts +172 -0
- package/vendor/ds/kits/app/test/sidebar-layout.test.ts +133 -0
- package/vendor/ds/kits/app/test/sidebar-navigation-bottom-navigation-store-navigation.test.ts +245 -0
- package/vendor/ds/kits/app/test/sidebar-panel.test.ts +29 -0
- package/vendor/ds/kits/app/test/sidebar-rail.test.ts +320 -0
- package/vendor/ds/kits/app/test/speed-dial.test.ts +53 -0
- package/vendor/ds/kits/app/test/split-view.behavior.test.ts +137 -0
- package/vendor/ds/kits/app/test/split-view.dense-tooling.test.ts +66 -0
- package/vendor/ds/kits/app/test/split-view.test.ts +210 -0
- package/vendor/ds/kits/app/test/task-list.test.ts +26 -0
- package/vendor/ds/kits/app/test/taxonomy.test.ts +149 -0
- package/vendor/ds/kits/app/test/toolbar.test.ts +42 -0
- package/vendor/ds/kits/app/test/tree-shaking.test.ts +381 -0
- package/vendor/ds/kits/app/test/vocabulary.test.ts +182 -0
- package/vendor/ds/kits/app/tools/build-cli.ts +34 -0
- package/vendor/ds/kits/app/tools/check-cli.ts +33 -0
- package/vendor/ds/kits/app/tools/consumer-check.ts +117 -0
- package/vendor/ds/kits/app/tools/lint-cli.ts +19 -0
- package/vendor/ds/kits/app/tools/paths.ts +47 -0
- package/vendor/ds/kits/app/tsconfig.consumer.json +30 -0
- package/vendor/ds/kits/app/tsconfig.json +26 -0
- package/vendor/ds/kits/app/type-ledger.json +4 -0
- package/vendor/ds/kits/app/vite.config.ts +28 -0
- package/vendor/ds/kits/base/README.md +1482 -0
- package/vendor/ds/kits/base/interaction-allowlist.json +106 -0
- package/vendor/ds/kits/base/kit.json +4 -0
- package/vendor/ds/kits/base/src/Accordion.svelte +113 -0
- package/vendor/ds/kits/base/src/Alert.svelte +51 -0
- package/vendor/ds/kits/base/src/AlertDialog.svelte +77 -0
- package/vendor/ds/kits/base/src/AppearanceSwitch.svelte +73 -0
- package/vendor/ds/kits/base/src/AspectRatio.svelte +32 -0
- package/vendor/ds/kits/base/src/Avatar.svelte +75 -0
- package/vendor/ds/kits/base/src/Badge.svelte +63 -0
- package/vendor/ds/kits/base/src/Breadcrumbs.svelte +57 -0
- package/vendor/ds/kits/base/src/BrowserMockup.svelte +53 -0
- package/vendor/ds/kits/base/src/BulletsSlide.svelte +60 -0
- package/vendor/ds/kits/base/src/Button.svelte +123 -0
- package/vendor/ds/kits/base/src/Calendar.svelte +156 -0
- package/vendor/ds/kits/base/src/Card.svelte +213 -0
- package/vendor/ds/kits/base/src/Carousel.svelte +172 -0
- package/vendor/ds/kits/base/src/Checkbox.svelte +99 -0
- package/vendor/ds/kits/base/src/CodeBlock.svelte +113 -0
- package/vendor/ds/kits/base/src/Combobox.svelte +124 -0
- package/vendor/ds/kits/base/src/Container.svelte +29 -0
- package/vendor/ds/kits/base/src/ContentMask.svelte +32 -0
- package/vendor/ds/kits/base/src/ControlGroup.svelte +42 -0
- package/vendor/ds/kits/base/src/Countdown.svelte +55 -0
- package/vendor/ds/kits/base/src/DateField.svelte +157 -0
- package/vendor/ds/kits/base/src/DatePicker.svelte +112 -0
- package/vendor/ds/kits/base/src/DateRangeField.svelte +81 -0
- package/vendor/ds/kits/base/src/DateRangePicker.svelte +137 -0
- package/vendor/ds/kits/base/src/Deck.svelte +24 -0
- package/vendor/ds/kits/base/src/DescriptionList.svelte +40 -0
- package/vendor/ds/kits/base/src/Dialog.svelte +143 -0
- package/vendor/ds/kits/base/src/Disclosure.svelte +85 -0
- package/vendor/ds/kits/base/src/Divider.svelte +22 -0
- package/vendor/ds/kits/base/src/Drawer.svelte +17 -0
- package/vendor/ds/kits/base/src/DropdownMenu.svelte +192 -0
- package/vendor/ds/kits/base/src/EmptyState.svelte +54 -0
- package/vendor/ds/kits/base/src/Eyebrow.svelte +21 -0
- package/vendor/ds/kits/base/src/Field.svelte +75 -0
- package/vendor/ds/kits/base/src/Fieldset.svelte +70 -0
- package/vendor/ds/kits/base/src/FigureSlide.svelte +70 -0
- package/vendor/ds/kits/base/src/FileInput.svelte +104 -0
- package/vendor/ds/kits/base/src/Form.svelte +21 -0
- package/vendor/ds/kits/base/src/GridList.svelte +51 -0
- package/vendor/ds/kits/base/src/Heading.svelte +41 -0
- package/vendor/ds/kits/base/src/Icon.svelte +75 -0
- package/vendor/ds/kits/base/src/Image.svelte +133 -0
- package/vendor/ds/kits/base/src/Indicator.svelte +35 -0
- package/vendor/ds/kits/base/src/InlineEdit.svelte +86 -0
- package/vendor/ds/kits/base/src/Input.svelte +84 -0
- package/vendor/ds/kits/base/src/Kbd.svelte +41 -0
- package/vendor/ds/kits/base/src/Label.svelte +21 -0
- package/vendor/ds/kits/base/src/Link.svelte +21 -0
- package/vendor/ds/kits/base/src/LinkPreview.svelte +95 -0
- package/vendor/ds/kits/base/src/List.svelte +28 -0
- package/vendor/ds/kits/base/src/ListContainer.svelte +51 -0
- package/vendor/ds/kits/base/src/LoadingIndicator.svelte +48 -0
- package/vendor/ds/kits/base/src/Logo.svelte +183 -0
- package/vendor/ds/kits/base/src/MediaObject.svelte +46 -0
- package/vendor/ds/kits/base/src/Meter.svelte +130 -0
- package/vendor/ds/kits/base/src/Navbar.svelte +176 -0
- package/vendor/ds/kits/base/src/NavigationMenu.svelte +124 -0
- package/vendor/ds/kits/base/src/NavigationScope.svelte +57 -0
- package/vendor/ds/kits/base/src/Notification.svelte +74 -0
- package/vendor/ds/kits/base/src/NumberField.svelte +104 -0
- package/vendor/ds/kits/base/src/OneTimeCodeInput.svelte +176 -0
- package/vendor/ds/kits/base/src/Pagination.svelte +40 -0
- package/vendor/ds/kits/base/src/PhoneInput.svelte +96 -0
- package/vendor/ds/kits/base/src/PhoneMockup.svelte +42 -0
- package/vendor/ds/kits/base/src/Popover.svelte +116 -0
- package/vendor/ds/kits/base/src/Progress.svelte +115 -0
- package/vendor/ds/kits/base/src/Prose.svelte +40 -0
- package/vendor/ds/kits/base/src/QuoteSlide.svelte +60 -0
- package/vendor/ds/kits/base/src/RadialProgress.svelte +85 -0
- package/vendor/ds/kits/base/src/RadioGroup.svelte +117 -0
- package/vendor/ds/kits/base/src/RangeCalendar.svelte +171 -0
- package/vendor/ds/kits/base/src/Rating.svelte +126 -0
- package/vendor/ds/kits/base/src/Reveal.svelte +36 -0
- package/vendor/ds/kits/base/src/ScrollArea.svelte +40 -0
- package/vendor/ds/kits/base/src/SearchSelect.svelte +203 -0
- package/vendor/ds/kits/base/src/SectionHeading.svelte +59 -0
- package/vendor/ds/kits/base/src/SectionSlide.svelte +56 -0
- package/vendor/ds/kits/base/src/Select.svelte +95 -0
- package/vendor/ds/kits/base/src/Skeleton.svelte +35 -0
- package/vendor/ds/kits/base/src/SkipLink.svelte +39 -0
- package/vendor/ds/kits/base/src/SlideFrame.svelte +63 -0
- package/vendor/ds/kits/base/src/Slider.svelte +107 -0
- package/vendor/ds/kits/base/src/Stack.svelte +57 -0
- package/vendor/ds/kits/base/src/Statistic.svelte +74 -0
- package/vendor/ds/kits/base/src/StatusIndicator.svelte +52 -0
- package/vendor/ds/kits/base/src/Steps.svelte +51 -0
- package/vendor/ds/kits/base/src/Swap.svelte +85 -0
- package/vendor/ds/kits/base/src/Switch.svelte +91 -0
- package/vendor/ds/kits/base/src/Table.svelte +96 -0
- package/vendor/ds/kits/base/src/Tabs.svelte +131 -0
- package/vendor/ds/kits/base/src/Text.svelte +45 -0
- package/vendor/ds/kits/base/src/Textarea.svelte +63 -0
- package/vendor/ds/kits/base/src/TimeField.svelte +118 -0
- package/vendor/ds/kits/base/src/TimeRangeField.svelte +81 -0
- package/vendor/ds/kits/base/src/Timeline.svelte +49 -0
- package/vendor/ds/kits/base/src/TitleSlide.svelte +63 -0
- package/vendor/ds/kits/base/src/ToggleButton.svelte +78 -0
- package/vendor/ds/kits/base/src/ToggleGroup.svelte +79 -0
- package/vendor/ds/kits/base/src/Tooltip.svelte +109 -0
- package/vendor/ds/kits/base/src/Transfer.svelte +31 -0
- package/vendor/ds/kits/base/src/TwoColumnSlide.svelte +63 -0
- package/vendor/ds/kits/base/src/WindowMockup.svelte +51 -0
- package/vendor/ds/kits/base/src/a11y.ts +21 -0
- package/vendor/ds/kits/base/src/accordion.variants.ts +26 -0
- package/vendor/ds/kits/base/src/alert-dialog.variants.ts +17 -0
- package/vendor/ds/kits/base/src/alert.variants.ts +36 -0
- package/vendor/ds/kits/base/src/appearance-switch.behavior.ts +29 -0
- package/vendor/ds/kits/base/src/aspect-ratio.variants.ts +14 -0
- package/vendor/ds/kits/base/src/avatar.variants.ts +29 -0
- package/vendor/ds/kits/base/src/badge.variants.ts +89 -0
- package/vendor/ds/kits/base/src/breadcrumbs.variants.ts +15 -0
- package/vendor/ds/kits/base/src/browser-mockup.variants.ts +18 -0
- package/vendor/ds/kits/base/src/button.variants.ts +186 -0
- package/vendor/ds/kits/base/src/calendar.variants.ts +35 -0
- package/vendor/ds/kits/base/src/card.variants.ts +293 -0
- package/vendor/ds/kits/base/src/carousel.variants.ts +19 -0
- package/vendor/ds/kits/base/src/checkbox.variants.ts +64 -0
- package/vendor/ds/kits/base/src/code-block.variants.ts +58 -0
- package/vendor/ds/kits/base/src/collapsible.style.ts +15 -0
- package/vendor/ds/kits/base/src/combobox.variants.ts +62 -0
- package/vendor/ds/kits/base/src/container.variants.ts +27 -0
- package/vendor/ds/kits/base/src/content-mask.variants.ts +57 -0
- package/vendor/ds/kits/base/src/control-group.variants.ts +22 -0
- package/vendor/ds/kits/base/src/core/a11y.ts +106 -0
- package/vendor/ds/kits/base/src/core/appearance-switch.ts +39 -0
- package/vendor/ds/kits/base/src/core/avatar.ts +27 -0
- package/vendor/ds/kits/base/src/core/breadcrumbs.ts +11 -0
- package/vendor/ds/kits/base/src/core/calendar.ts +95 -0
- package/vendor/ds/kits/base/src/core/carousel.ts +8 -0
- package/vendor/ds/kits/base/src/core/choices.ts +29 -0
- package/vendor/ds/kits/base/src/core/code-block.ts +23 -0
- package/vendor/ds/kits/base/src/core/confirmation.ts +24 -0
- package/vendor/ds/kits/base/src/core/contracts/accordion.ts +28 -0
- package/vendor/ds/kits/base/src/core/contracts/carousel.ts +23 -0
- package/vendor/ds/kits/base/src/core/contracts/combobox.ts +35 -0
- package/vendor/ds/kits/base/src/core/contracts/datefield.ts +23 -0
- package/vendor/ds/kits/base/src/core/contracts/datepicker.ts +62 -0
- package/vendor/ds/kits/base/src/core/contracts/daterangefield.ts +33 -0
- package/vendor/ds/kits/base/src/core/contracts/daterangepicker.ts +88 -0
- package/vendor/ds/kits/base/src/core/contracts/dialog.ts +24 -0
- package/vendor/ds/kits/base/src/core/contracts/disclosure.ts +15 -0
- package/vendor/ds/kits/base/src/core/contracts/linkpreview.ts +29 -0
- package/vendor/ds/kits/base/src/core/contracts/navbar.ts +30 -0
- package/vendor/ds/kits/base/src/core/contracts/navigationmenu.ts +35 -0
- package/vendor/ds/kits/base/src/core/contracts/phoneinput.ts +55 -0
- package/vendor/ds/kits/base/src/core/contracts/popover.ts +29 -0
- package/vendor/ds/kits/base/src/core/contracts/searchselect.ts +38 -0
- package/vendor/ds/kits/base/src/core/contracts/tabs.ts +26 -0
- package/vendor/ds/kits/base/src/core/contracts/timefield.ts +23 -0
- package/vendor/ds/kits/base/src/core/contracts/timerangefield.ts +33 -0
- package/vendor/ds/kits/base/src/core/contracts/tooltip.ts +12 -0
- package/vendor/ds/kits/base/src/core/contracts/transfer.ts +13 -0
- package/vendor/ds/kits/base/src/core/date-segments.ts +18 -0
- package/vendor/ds/kits/base/src/core/description-list.ts +5 -0
- package/vendor/ds/kits/base/src/core/dropdown-menu.ts +55 -0
- package/vendor/ds/kits/base/src/core/feedback.ts +5 -0
- package/vendor/ds/kits/base/src/core/field.ts +57 -0
- package/vendor/ds/kits/base/src/core/fieldset.ts +10 -0
- package/vendor/ds/kits/base/src/core/focus-scope.ts +27 -0
- package/vendor/ds/kits/base/src/core/icon.ts +15 -0
- package/vendor/ds/kits/base/src/core/index.ts +2 -0
- package/vendor/ds/kits/base/src/core/inline-edit.ts +86 -0
- package/vendor/ds/kits/base/src/core/input.ts +9 -0
- package/vendor/ds/kits/base/src/core/modal.ts +73 -0
- package/vendor/ds/kits/base/src/core/native-controls.ts +43 -0
- package/vendor/ds/kits/base/src/core/navbar.ts +16 -0
- package/vendor/ds/kits/base/src/core/navigation-disclosures.ts +10 -0
- package/vendor/ds/kits/base/src/core/navigation.ts +48 -0
- package/vendor/ds/kits/base/src/core/number-field.ts +8 -0
- package/vendor/ds/kits/base/src/core/one-time-code.ts +17 -0
- package/vendor/ds/kits/base/src/core/operational-motion.ts +174 -0
- package/vendor/ds/kits/base/src/core/pagination.ts +8 -0
- package/vendor/ds/kits/base/src/core/phone-input.ts +106 -0
- package/vendor/ds/kits/base/src/core/portal-appearance.ts +15 -0
- package/vendor/ds/kits/base/src/core/reveal.ts +60 -0
- package/vendor/ds/kits/base/src/core/segments.ts +28 -0
- package/vendor/ds/kits/base/src/core/skip-link.ts +7 -0
- package/vendor/ds/kits/base/src/core/slider.ts +23 -0
- package/vendor/ds/kits/base/src/core/steps.ts +12 -0
- package/vendor/ds/kits/base/src/core/table.ts +21 -0
- package/vendor/ds/kits/base/src/core/timeline.ts +14 -0
- package/vendor/ds/kits/base/src/core/toggle-group.ts +41 -0
- package/vendor/ds/kits/base/src/countdown.behavior.ts +26 -0
- package/vendor/ds/kits/base/src/countdown.variants.ts +11 -0
- package/vendor/ds/kits/base/src/date-field.variants.ts +24 -0
- package/vendor/ds/kits/base/src/date-picker.variants.ts +16 -0
- package/vendor/ds/kits/base/src/date-range-field.variants.ts +21 -0
- package/vendor/ds/kits/base/src/date-range-picker.variants.ts +15 -0
- package/vendor/ds/kits/base/src/deck.variants.ts +10 -0
- package/vendor/ds/kits/base/src/deprecation.ts +24 -0
- package/vendor/ds/kits/base/src/description-list.appearance.ts +32 -0
- package/vendor/ds/kits/base/src/description-list.variants.ts +6 -0
- package/vendor/ds/kits/base/src/dialog.variants.ts +30 -0
- package/vendor/ds/kits/base/src/disclosure.variants.ts +14 -0
- package/vendor/ds/kits/base/src/divider.variants.ts +17 -0
- package/vendor/ds/kits/base/src/drawer.variants.ts +48 -0
- package/vendor/ds/kits/base/src/dropdown-menu.behavior.ts +6 -0
- package/vendor/ds/kits/base/src/dropdown-menu.variants.ts +38 -0
- package/vendor/ds/kits/base/src/empty-state.variants.ts +41 -0
- package/vendor/ds/kits/base/src/eyebrow.variants.ts +14 -0
- package/vendor/ds/kits/base/src/field.variants.ts +54 -0
- package/vendor/ds/kits/base/src/fieldset.variants.ts +29 -0
- package/vendor/ds/kits/base/src/file-input.variants.ts +18 -0
- package/vendor/ds/kits/base/src/form.variants.ts +13 -0
- package/vendor/ds/kits/base/src/grid-list.variants.ts +38 -0
- package/vendor/ds/kits/base/src/heading.variants.ts +35 -0
- package/vendor/ds/kits/base/src/image.variants.ts +121 -0
- package/vendor/ds/kits/base/src/index.ts +1039 -0
- package/vendor/ds/kits/base/src/indicator.variants.ts +35 -0
- package/vendor/ds/kits/base/src/inline-edit.variants.ts +33 -0
- package/vendor/ds/kits/base/src/input.variants.ts +33 -0
- package/vendor/ds/kits/base/src/interaction.ts +3 -0
- package/vendor/ds/kits/base/src/kbd.variants.ts +25 -0
- package/vendor/ds/kits/base/src/label.variants.ts +8 -0
- package/vendor/ds/kits/base/src/link-preview.variants.ts +10 -0
- package/vendor/ds/kits/base/src/link.variants.ts +20 -0
- package/vendor/ds/kits/base/src/list.variants.ts +17 -0
- package/vendor/ds/kits/base/src/loading-indicator.variants.ts +31 -0
- package/vendor/ds/kits/base/src/logo.box.ts +128 -0
- package/vendor/ds/kits/base/src/logo.marks.ts +248 -0
- package/vendor/ds/kits/base/src/logo.surface.ts +45 -0
- package/vendor/ds/kits/base/src/logo.variants.ts +53 -0
- package/vendor/ds/kits/base/src/marks/reddb-horizontal-color.svg +14 -0
- package/vendor/ds/kits/base/src/marks/reddb-horizontal-inverse.svg +14 -0
- package/vendor/ds/kits/base/src/marks/reddb-icon-color.svg +5 -0
- package/vendor/ds/kits/base/src/marks/reddb-stacked-color.svg +16 -0
- package/vendor/ds/kits/base/src/marks/reddb-stacked-inverse.svg +16 -0
- package/vendor/ds/kits/base/src/marks/reddb-symbol-black.svg +5 -0
- package/vendor/ds/kits/base/src/marks/reddb-symbol-color.svg +5 -0
- package/vendor/ds/kits/base/src/marks/reddb-symbol-knockout.svg +4 -0
- package/vendor/ds/kits/base/src/marks/reddb-symbol-white.svg +5 -0
- package/vendor/ds/kits/base/src/marks/reddb-wordmark-black.svg +10 -0
- package/vendor/ds/kits/base/src/marks/reddb-wordmark-white.svg +10 -0
- package/vendor/ds/kits/base/src/media-object.variants.ts +29 -0
- package/vendor/ds/kits/base/src/meter.variants.ts +55 -0
- package/vendor/ds/kits/base/src/navbar.variants.ts +78 -0
- package/vendor/ds/kits/base/src/navigation-menu.behavior.ts +24 -0
- package/vendor/ds/kits/base/src/navigation-menu.variants.ts +39 -0
- package/vendor/ds/kits/base/src/navigation.ts +45 -0
- package/vendor/ds/kits/base/src/notification.variants.ts +14 -0
- package/vendor/ds/kits/base/src/number-field.variants.ts +10 -0
- package/vendor/ds/kits/base/src/one-time-code-input.variants.ts +23 -0
- package/vendor/ds/kits/base/src/pagination.variants.ts +19 -0
- package/vendor/ds/kits/base/src/phone-input.variants.ts +17 -0
- package/vendor/ds/kits/base/src/phone-mockup.variants.ts +16 -0
- package/vendor/ds/kits/base/src/popover.variants.ts +12 -0
- package/vendor/ds/kits/base/src/portal-appearance.svelte.ts +12 -0
- package/vendor/ds/kits/base/src/progress.behavior.ts +37 -0
- package/vendor/ds/kits/base/src/progress.variants.ts +31 -0
- package/vendor/ds/kits/base/src/prose.variants.ts +231 -0
- package/vendor/ds/kits/base/src/quiet-control.variants.ts +90 -0
- package/vendor/ds/kits/base/src/radial-progress.variants.ts +47 -0
- package/vendor/ds/kits/base/src/radio-group.variants.ts +59 -0
- package/vendor/ds/kits/base/src/rating.variants.ts +22 -0
- package/vendor/ds/kits/base/src/recipes.ts +100 -0
- package/vendor/ds/kits/base/src/reduced-motion.svelte.ts +40 -0
- package/vendor/ds/kits/base/src/reveal.variants.ts +43 -0
- package/vendor/ds/kits/base/src/scroll-area.variants.ts +29 -0
- package/vendor/ds/kits/base/src/search-select.variants.ts +39 -0
- package/vendor/ds/kits/base/src/section-heading.variants.ts +41 -0
- package/vendor/ds/kits/base/src/segments.variants.ts +8 -0
- package/vendor/ds/kits/base/src/select.variants.ts +30 -0
- package/vendor/ds/kits/base/src/skeleton.variants.ts +17 -0
- package/vendor/ds/kits/base/src/skip-link.variants.ts +17 -0
- package/vendor/ds/kits/base/src/slide-frame.variants.ts +94 -0
- package/vendor/ds/kits/base/src/slide-layout.variants.ts +43 -0
- package/vendor/ds/kits/base/src/slider.variants.ts +16 -0
- package/vendor/ds/kits/base/src/stack.variants.ts +65 -0
- package/vendor/ds/kits/base/src/statistic.variants.ts +12 -0
- package/vendor/ds/kits/base/src/status-indicator.variants.ts +52 -0
- package/vendor/ds/kits/base/src/steps.variants.ts +18 -0
- package/vendor/ds/kits/base/src/structured-data.ts +94 -0
- package/vendor/ds/kits/base/src/swap.variants.ts +13 -0
- package/vendor/ds/kits/base/src/switch.variants.ts +20 -0
- package/vendor/ds/kits/base/src/table.variants.ts +31 -0
- package/vendor/ds/kits/base/src/tabs.variants.ts +32 -0
- package/vendor/ds/kits/base/src/text.variants.ts +51 -0
- package/vendor/ds/kits/base/src/textarea.variants.ts +19 -0
- package/vendor/ds/kits/base/src/time-field.variants.ts +21 -0
- package/vendor/ds/kits/base/src/time-range-field.variants.ts +21 -0
- package/vendor/ds/kits/base/src/timeline.variants.ts +22 -0
- package/vendor/ds/kits/base/src/toggle-button.variants.ts +26 -0
- package/vendor/ds/kits/base/src/toggle-group.variants.ts +38 -0
- package/vendor/ds/kits/base/src/tone.ts +24 -0
- package/vendor/ds/kits/base/src/tooltip.variants.ts +14 -0
- package/vendor/ds/kits/base/src/transfer.variants.ts +5 -0
- package/vendor/ds/kits/base/src/type-roles.ts +22 -0
- package/vendor/ds/kits/base/src/window-mockup.variants.ts +18 -0
- package/vendor/ds/kits/base/svelte.config.js +6 -0
- package/vendor/ds/kits/base/test/accessible-name.test.ts +66 -0
- package/vendor/ds/kits/base/test/accordion.test.ts +81 -0
- package/vendor/ds/kits/base/test/alert-dialog.test.ts +81 -0
- package/vendor/ds/kits/base/test/alert.test.ts +75 -0
- package/vendor/ds/kits/base/test/appearance-switch.test.ts +124 -0
- package/vendor/ds/kits/base/test/avatar-media-object-carousel-failures.test.ts +25 -0
- package/vendor/ds/kits/base/test/avatar.test.ts +75 -0
- package/vendor/ds/kits/base/test/badge.test.ts +99 -0
- package/vendor/ds/kits/base/test/breadcrumbs.test.ts +45 -0
- package/vendor/ds/kits/base/test/browser-mockup.test.ts +57 -0
- package/vendor/ds/kits/base/test/browser-phone-window-mockup.test.ts +58 -0
- package/vendor/ds/kits/base/test/button.test.ts +340 -0
- package/vendor/ds/kits/base/test/calendar.test.ts +86 -0
- package/vendor/ds/kits/base/test/card-busy.test.ts +25 -0
- package/vendor/ds/kits/base/test/card-divider-aspect-ratio-failures.test.ts +29 -0
- package/vendor/ds/kits/base/test/card-divider-aspect-ratio.test.ts +201 -0
- package/vendor/ds/kits/base/test/card-media.test.ts +113 -0
- package/vendor/ds/kits/base/test/card-tone-api.test.ts +12 -0
- package/vendor/ds/kits/base/test/card-tone-contrast.test.ts +120 -0
- package/vendor/ds/kits/base/test/card-tone.test.ts +103 -0
- package/vendor/ds/kits/base/test/carousel.test.ts +63 -0
- package/vendor/ds/kits/base/test/checkbox.test.ts +165 -0
- package/vendor/ds/kits/base/test/code-block.test.ts +148 -0
- package/vendor/ds/kits/base/test/coherence.test.ts +124 -0
- package/vendor/ds/kits/base/test/combobox.test.ts +172 -0
- package/vendor/ds/kits/base/test/components.test.ts +113 -0
- package/vendor/ds/kits/base/test/consumer-check.test.ts +42 -0
- package/vendor/ds/kits/base/test/container-stack-skip-link-failures.test.ts +31 -0
- package/vendor/ds/kits/base/test/container.test.ts +41 -0
- package/vendor/ds/kits/base/test/content-mask-failures.test.ts +24 -0
- package/vendor/ds/kits/base/test/content-mask.test.ts +134 -0
- package/vendor/ds/kits/base/test/control-group.test.ts +51 -0
- package/vendor/ds/kits/base/test/control-size.test.ts +60 -0
- package/vendor/ds/kits/base/test/countdown.test.ts +70 -0
- package/vendor/ds/kits/base/test/date-field.test.ts +126 -0
- package/vendor/ds/kits/base/test/date-picker.test.ts +122 -0
- package/vendor/ds/kits/base/test/date-range-field.test.ts +96 -0
- package/vendor/ds/kits/base/test/date-range-picker.test.ts +104 -0
- package/vendor/ds/kits/base/test/description-list.test.ts +84 -0
- package/vendor/ds/kits/base/test/dialog-tooltip-failures.test.ts +52 -0
- package/vendor/ds/kits/base/test/dialog.test.ts +122 -0
- package/vendor/ds/kits/base/test/disclosure.test.ts +51 -0
- package/vendor/ds/kits/base/test/drawer-alert-dialog-appearance.test.ts +25 -0
- package/vendor/ds/kits/base/test/drawer-alert-dialog-failures.test.ts +36 -0
- package/vendor/ds/kits/base/test/drawer.test.ts +49 -0
- package/vendor/ds/kits/base/test/dropdown-menu.test.ts +344 -0
- package/vendor/ds/kits/base/test/dropdown-navigation-menu-failures.test.ts +29 -0
- package/vendor/ds/kits/base/test/elevation.test.ts +81 -0
- package/vendor/ds/kits/base/test/empty-state.test.ts +126 -0
- package/vendor/ds/kits/base/test/event-dialect.test.ts +239 -0
- package/vendor/ds/kits/base/test/field.test.ts +106 -0
- package/vendor/ds/kits/base/test/fieldset.test.ts +95 -0
- package/vendor/ds/kits/base/test/file-input.test.ts +99 -0
- package/vendor/ds/kits/base/test/fixtures/AccessibleNameConsumer.svelte +65 -0
- package/vendor/ds/kits/base/test/fixtures/BinaryChoiceConsumer.svelte +63 -0
- package/vendor/ds/kits/base/test/fixtures/BinaryChoiceContractFailures.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/BindingConsumer.svelte +19 -0
- package/vendor/ds/kits/base/test/fixtures/CalendarConsumer.svelte +9 -0
- package/vendor/ds/kits/base/test/fixtures/CalendarContractFailures.svelte +27 -0
- package/vendor/ds/kits/base/test/fixtures/CardActionsConsumer.svelte +12 -0
- package/vendor/ds/kits/base/test/fixtures/CardHorizontalConsumer.svelte +15 -0
- package/vendor/ds/kits/base/test/fixtures/CollectionStructureConsumer.svelte +37 -0
- package/vendor/ds/kits/base/test/fixtures/CollectionStructureContractFailures.svelte +16 -0
- package/vendor/ds/kits/base/test/fixtures/ComboboxConsumer.svelte +43 -0
- package/vendor/ds/kits/base/test/fixtures/ComboboxContractFailures.svelte +27 -0
- package/vendor/ds/kits/base/test/fixtures/ContainerStackSkipLinkFailures.svelte +16 -0
- package/vendor/ds/kits/base/test/fixtures/ContentMaskConsumer.svelte +25 -0
- package/vendor/ds/kits/base/test/fixtures/ContentMaskContractFailures.svelte +19 -0
- package/vendor/ds/kits/base/test/fixtures/ControlledDialogConsumer.svelte +29 -0
- package/vendor/ds/kits/base/test/fixtures/DateEntryConsumer.svelte +45 -0
- package/vendor/ds/kits/base/test/fixtures/DateEntryContractFailures.svelte +31 -0
- package/vendor/ds/kits/base/test/fixtures/DatePickerConsumer.svelte +34 -0
- package/vendor/ds/kits/base/test/fixtures/DatePickerContractFailures.svelte +29 -0
- package/vendor/ds/kits/base/test/fixtures/DialogTooltipBehaviorFailures.svelte +33 -0
- package/vendor/ds/kits/base/test/fixtures/DisclosureFamilyConsumer.svelte +68 -0
- package/vendor/ds/kits/base/test/fixtures/DisclosureFamilyContractFailures.svelte +21 -0
- package/vendor/ds/kits/base/test/fixtures/DrawerAlertDialogBehaviorFailures.svelte +30 -0
- package/vendor/ds/kits/base/test/fixtures/DrawerAlertDialogConsumer.svelte +18 -0
- package/vendor/ds/kits/base/test/fixtures/FieldInputAccessibilityFailures.svelte +29 -0
- package/vendor/ds/kits/base/test/fixtures/FieldInputConsumer.svelte +33 -0
- package/vendor/ds/kits/base/test/fixtures/FormScaffoldingConsumer.svelte +55 -0
- package/vendor/ds/kits/base/test/fixtures/FormScaffoldingFailures.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkBase.svelte +52 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkChoices.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkCodeActions.svelte +15 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkComposition.svelte +36 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkEditReveal.svelte +11 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkField.svelte +10 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkIdentityControls.svelte +11 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkInput.svelte +8 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkManaged.svelte +43 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkMedia.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkNativeControls.svelte +11 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkNumericEntry.svelte +12 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkPrimitive.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkReadings.svelte +23 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkSlides.svelte +31 -0
- package/vendor/ds/kits/base/test/fixtures/FrameworkTextarea.svelte +8 -0
- package/vendor/ds/kits/base/test/fixtures/InlineTextConsumer.svelte +15 -0
- package/vendor/ds/kits/base/test/fixtures/InlineTextContractFailures.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/LayoutConsumer.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/MediaPresentationConsumer.svelte +41 -0
- package/vendor/ds/kits/base/test/fixtures/MediaPresentationContractFailures.svelte +23 -0
- package/vendor/ds/kits/base/test/fixtures/MenuBehaviorFailures.svelte +19 -0
- package/vendor/ds/kits/base/test/fixtures/MockupConsumer.svelte +34 -0
- package/vendor/ds/kits/base/test/fixtures/MockupContractFailures.svelte +23 -0
- package/vendor/ds/kits/base/test/fixtures/NavbarMasthead.svelte +55 -0
- package/vendor/ds/kits/base/test/fixtures/NavigationScopeConsumer.svelte +40 -0
- package/vendor/ds/kits/base/test/fixtures/NotificationEmptyStateConsumer.svelte +28 -0
- package/vendor/ds/kits/base/test/fixtures/NotificationEmptyStateContractFailures.svelte +21 -0
- package/vendor/ds/kits/base/test/fixtures/NumberFieldConsumer.svelte +9 -0
- package/vendor/ds/kits/base/test/fixtures/NumericChronologyConsumer.svelte +34 -0
- package/vendor/ds/kits/base/test/fixtures/NumericChronologyContractFailures.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/Operational.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/PopoverLinkPreviewFailures.svelte +38 -0
- package/vendor/ds/kits/base/test/fixtures/ProgressFeedbackConsumer.svelte +26 -0
- package/vendor/ds/kits/base/test/fixtures/ProgressLoadingContractFailures.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/RangePressedConsumer.svelte +67 -0
- package/vendor/ds/kits/base/test/fixtures/RangePressedContractFailures.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/RevealAppearanceConsumer.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/SpecializedEntryConsumer.svelte +56 -0
- package/vendor/ds/kits/base/test/fixtures/SpecializedEntryContractFailures.svelte +26 -0
- package/vendor/ds/kits/base/test/fixtures/StatusVocabularyConsumer.svelte +19 -0
- package/vendor/ds/kits/base/test/fixtures/StatusVocabularyContractFailures.svelte +5 -0
- package/vendor/ds/kits/base/test/fixtures/SurfaceControlsConsumer.svelte +35 -0
- package/vendor/ds/kits/base/test/fixtures/SurfaceControlsContractFailures.svelte +30 -0
- package/vendor/ds/kits/base/test/fixtures/SurfaceSeparationConsumer.svelte +20 -0
- package/vendor/ds/kits/base/test/fixtures/SurfaceSeparationContractFailures.svelte +15 -0
- package/vendor/ds/kits/base/test/fixtures/TableConsumer.svelte +25 -0
- package/vendor/ds/kits/base/test/fixtures/TableContractFailures.svelte +22 -0
- package/vendor/ds/kits/base/test/fixtures/TabsFragmentConsumer.svelte +18 -0
- package/vendor/ds/kits/base/test/fixtures/TestGlyph.svelte +22 -0
- package/vendor/ds/kits/base/test/fixtures/TextareaSelectConsumer.svelte +30 -0
- package/vendor/ds/kits/base/test/fixtures/TextareaSelectContractFailures.svelte +19 -0
- package/vendor/ds/kits/base/test/fixtures/TimeEntryConsumer.svelte +45 -0
- package/vendor/ds/kits/base/test/fixtures/TimeEntryContractFailures.svelte +29 -0
- package/vendor/ds/kits/base/test/fixtures/TooltipChildConsumer.svelte +10 -0
- package/vendor/ds/kits/base/test/fixtures/UncontrolledFieldConsumer.svelte +16 -0
- package/vendor/ds/kits/base/test/fixtures/WayfindingConsumer.svelte +26 -0
- package/vendor/ds/kits/base/test/fixtures/WayfindingContractFailures.svelte +17 -0
- package/vendor/ds/kits/base/test/fixtures/alert-consumer.ts +11 -0
- package/vendor/ds/kits/base/test/fixtures/binary-choice-consumer.ts +15 -0
- package/vendor/ds/kits/base/test/fixtures/button-consumer.ts +16 -0
- package/vendor/ds/kits/base/test/fixtures/calendar-consumer.ts +7 -0
- package/vendor/ds/kits/base/test/fixtures/collection-structure-consumer.ts +17 -0
- package/vendor/ds/kits/base/test/fixtures/combobox-consumer.ts +9 -0
- package/vendor/ds/kits/base/test/fixtures/content-mask-consumer.ts +10 -0
- package/vendor/ds/kits/base/test/fixtures/date-entry-consumer.ts +11 -0
- package/vendor/ds/kits/base/test/fixtures/date-picker-consumer.ts +11 -0
- package/vendor/ds/kits/base/test/fixtures/dialog-tooltip-consumer.ts +9 -0
- package/vendor/ds/kits/base/test/fixtures/disclosure-family-consumer.ts +14 -0
- package/vendor/ds/kits/base/test/fixtures/drawer-alert-dialog-consumer.ts +13 -0
- package/vendor/ds/kits/base/test/fixtures/field-input-consumer.ts +15 -0
- package/vendor/ds/kits/base/test/fixtures/form-scaffolding-consumer.ts +13 -0
- package/vendor/ds/kits/base/test/fixtures/layout-consumer.ts +16 -0
- package/vendor/ds/kits/base/test/fixtures/media-presentation-consumer.ts +9 -0
- package/vendor/ds/kits/base/test/fixtures/menu-consumer.ts +20 -0
- package/vendor/ds/kits/base/test/fixtures/mockup-consumer.ts +14 -0
- package/vendor/ds/kits/base/test/fixtures/notification-empty-state-consumer.ts +12 -0
- package/vendor/ds/kits/base/test/fixtures/numeric-chronology-consumer.ts +11 -0
- package/vendor/ds/kits/base/test/fixtures/popover-link-preview-consumer.ts +9 -0
- package/vendor/ds/kits/base/test/fixtures/progress-feedback-consumer.ts +21 -0
- package/vendor/ds/kits/base/test/fixtures/range-pressed-consumer.ts +16 -0
- package/vendor/ds/kits/base/test/fixtures/specialized-entry-consumer.ts +15 -0
- package/vendor/ds/kits/base/test/fixtures/status-vocabulary-consumer.ts +22 -0
- package/vendor/ds/kits/base/test/fixtures/surface-controls-consumer.ts +22 -0
- package/vendor/ds/kits/base/test/fixtures/surface-separation-consumer.ts +31 -0
- package/vendor/ds/kits/base/test/fixtures/textarea-select-consumer.ts +13 -0
- package/vendor/ds/kits/base/test/fixtures/time-entry-consumer.ts +11 -0
- package/vendor/ds/kits/base/test/form.test.ts +72 -0
- package/vendor/ds/kits/base/test/framework-appearance.test.ts +53 -0
- package/vendor/ds/kits/base/test/framework-base.test.ts +128 -0
- package/vendor/ds/kits/base/test/framework-choices.test.ts +137 -0
- package/vendor/ds/kits/base/test/framework-code-actions.test.ts +123 -0
- package/vendor/ds/kits/base/test/framework-composition.test.ts +91 -0
- package/vendor/ds/kits/base/test/framework-contracts.test.ts +126 -0
- package/vendor/ds/kits/base/test/framework-edit-reveal.test.ts +183 -0
- package/vendor/ds/kits/base/test/framework-identity-controls.test.ts +162 -0
- package/vendor/ds/kits/base/test/framework-managed.test.ts +256 -0
- package/vendor/ds/kits/base/test/framework-media.test.ts +96 -0
- package/vendor/ds/kits/base/test/framework-native-controls.test.ts +156 -0
- package/vendor/ds/kits/base/test/framework-numeric-entry.test.ts +146 -0
- package/vendor/ds/kits/base/test/framework-operational.test.ts +162 -0
- package/vendor/ds/kits/base/test/framework-readings.test.ts +110 -0
- package/vendor/ds/kits/base/test/framework-slides.test.ts +100 -0
- package/vendor/ds/kits/base/test/grid-list.test.ts +64 -0
- package/vendor/ds/kits/base/test/icon.test.ts +59 -0
- package/vendor/ds/kits/base/test/image.test.ts +120 -0
- package/vendor/ds/kits/base/test/indicator.test.ts +68 -0
- package/vendor/ds/kits/base/test/inline-edit.test.ts +56 -0
- package/vendor/ds/kits/base/test/input.test.ts +82 -0
- package/vendor/ds/kits/base/test/kbd.test.ts +32 -0
- package/vendor/ds/kits/base/test/label-in-name.ts +43 -0
- package/vendor/ds/kits/base/test/label.test.ts +68 -0
- package/vendor/ds/kits/base/test/link-kbd-code-block-appearance.test.ts +31 -0
- package/vendor/ds/kits/base/test/link-preview.test.ts +80 -0
- package/vendor/ds/kits/base/test/link.test.ts +63 -0
- package/vendor/ds/kits/base/test/lint.test.ts +60 -0
- package/vendor/ds/kits/base/test/list-container.test.ts +45 -0
- package/vendor/ds/kits/base/test/list.test.ts +60 -0
- package/vendor/ds/kits/base/test/loading-indicator.test.ts +57 -0
- package/vendor/ds/kits/base/test/logo.test.ts +484 -0
- package/vendor/ds/kits/base/test/marks.test.ts +140 -0
- package/vendor/ds/kits/base/test/media-object.test.ts +58 -0
- package/vendor/ds/kits/base/test/meter.test.ts +79 -0
- package/vendor/ds/kits/base/test/mount.ts +79 -0
- package/vendor/ds/kits/base/test/navbar.test.ts +419 -0
- package/vendor/ds/kits/base/test/navigation-menu.test.ts +118 -0
- package/vendor/ds/kits/base/test/navigation-scope.test.ts +62 -0
- package/vendor/ds/kits/base/test/notification.test.ts +94 -0
- package/vendor/ds/kits/base/test/number-field.test.ts +38 -0
- package/vendor/ds/kits/base/test/one-time-code-input.test.ts +123 -0
- package/vendor/ds/kits/base/test/pagination.test.ts +50 -0
- package/vendor/ds/kits/base/test/phone-input.test.ts +95 -0
- package/vendor/ds/kits/base/test/phone-mockup.test.ts +51 -0
- package/vendor/ds/kits/base/test/popover-link-preview-failures.test.ts +43 -0
- package/vendor/ds/kits/base/test/popover.test.ts +79 -0
- package/vendor/ds/kits/base/test/progress-loading-failures.test.ts +27 -0
- package/vendor/ds/kits/base/test/progress.test.ts +70 -0
- package/vendor/ds/kits/base/test/prose.test.ts +138 -0
- package/vendor/ds/kits/base/test/quiet-control.test.ts +89 -0
- package/vendor/ds/kits/base/test/radial-progress.test.ts +52 -0
- package/vendor/ds/kits/base/test/radio-cards.test.ts +21 -0
- package/vendor/ds/kits/base/test/radio-group.test.ts +180 -0
- package/vendor/ds/kits/base/test/range-calendar.test.ts +102 -0
- package/vendor/ds/kits/base/test/rating.test.ts +98 -0
- package/vendor/ds/kits/base/test/react-accessible-name.test.ts +44 -0
- package/vendor/ds/kits/base/test/react-consumer.tsx +283 -0
- package/vendor/ds/kits/base/test/react.test.ts +110 -0
- package/vendor/ds/kits/base/test/reveal.test.ts +148 -0
- package/vendor/ds/kits/base/test/scroll-area.test.ts +58 -0
- package/vendor/ds/kits/base/test/search-select.test.ts +40 -0
- package/vendor/ds/kits/base/test/section-heading.test.ts +59 -0
- package/vendor/ds/kits/base/test/select.test.ts +125 -0
- package/vendor/ds/kits/base/test/setup-storage.ts +14 -0
- package/vendor/ds/kits/base/test/skeleton.test.ts +56 -0
- package/vendor/ds/kits/base/test/skip-link.test.ts +49 -0
- package/vendor/ds/kits/base/test/slider.test.ts +89 -0
- package/vendor/ds/kits/base/test/slides.test.ts +207 -0
- package/vendor/ds/kits/base/test/stack.test.ts +87 -0
- package/vendor/ds/kits/base/test/statistic.test.ts +37 -0
- package/vendor/ds/kits/base/test/status-indicator.test.ts +102 -0
- package/vendor/ds/kits/base/test/steps.test.ts +38 -0
- package/vendor/ds/kits/base/test/structured-data.test.ts +88 -0
- package/vendor/ds/kits/base/test/swap.test.ts +70 -0
- package/vendor/ds/kits/base/test/switch.test.ts +89 -0
- package/vendor/ds/kits/base/test/table.test.ts +108 -0
- package/vendor/ds/kits/base/test/tabs.test.ts +130 -0
- package/vendor/ds/kits/base/test/taxonomy.test.ts +41 -0
- package/vendor/ds/kits/base/test/textarea.test.ts +106 -0
- package/vendor/ds/kits/base/test/time-field.test.ts +108 -0
- package/vendor/ds/kits/base/test/time-range-field.test.ts +91 -0
- package/vendor/ds/kits/base/test/timeline.test.ts +75 -0
- package/vendor/ds/kits/base/test/toggle-button.test.ts +70 -0
- package/vendor/ds/kits/base/test/toggle-group.test.ts +177 -0
- package/vendor/ds/kits/base/test/tooltip.test.ts +61 -0
- package/vendor/ds/kits/base/test/type-primitives.test.ts +191 -0
- package/vendor/ds/kits/base/test/vocabulary-contrast.test.ts +258 -0
- package/vendor/ds/kits/base/test/wave2-bindings-overlays.test.ts +174 -0
- package/vendor/ds/kits/base/test/window-mockup.test.ts +49 -0
- package/vendor/ds/kits/base/tools/build-cli.ts +29 -0
- package/vendor/ds/kits/base/tools/lint-cli.ts +18 -0
- package/vendor/ds/kits/base/tools/paths.ts +46 -0
- package/vendor/ds/kits/base/tsconfig.consumer.json +19 -0
- package/vendor/ds/kits/base/tsconfig.json +26 -0
- package/vendor/ds/kits/base/type-ledger.json +4 -0
- package/vendor/ds/kits/base/types/marks.d.ts +20 -0
- package/vendor/ds/kits/base/vite.config.ts +29 -0
- package/vendor/ds/package.json +51 -0
- package/vendor/ds/styles/all.css +12 -0
- package/vendor/ds/styles/application.css +12 -0
- package/vendor/ds/styles/base.css +11 -0
- package/vendor/ds/theme/print.css +65 -0
- package/vendor/ds/theme/scheme-dark.css +77 -0
- package/vendor/ds/theme/scheme-light.css +78 -0
- package/vendor/ds/theme/theme-application.css +29 -0
- package/vendor/ds/theme/theme-base.css +180 -0
- package/vendor/ds/theme/theme.css +283 -0
- package/vendor/ds/tokens/density-comfortable.css +51 -0
- package/vendor/ds/tokens/density-compact.css +49 -0
- package/vendor/ds/tokens/density-spacious.css +49 -0
- package/vendor/ds/tokens/density-tiny.css +49 -0
- package/vendor/ds/tokens/tokens.css +182 -0
- package/src/lib/Kbd.svelte +0 -8
- package/src/lib/LoadingState.svelte +0 -20
- package/src/lib/NavItem.svelte +0 -53
- package/src/lib/SplitView.svelte +0 -145
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!-- A titled slide with two equal columns of caller-owned content (ADR 0027). -->
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
4
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
5
|
+
import Eyebrow from "./Eyebrow.svelte";
|
|
6
|
+
import Heading from "./Heading.svelte";
|
|
7
|
+
import SlideFrame from "./SlideFrame.svelte";
|
|
8
|
+
import type { HeadingLevel } from "./heading.variants";
|
|
9
|
+
import type { SlideSurface } from "./slide-frame.variants";
|
|
10
|
+
import { slideLayout } from "./slide-layout.variants";
|
|
11
|
+
|
|
12
|
+
interface Props extends Omit<HTMLAttributes<HTMLDivElement>, "class" | "role" | "title"> {
|
|
13
|
+
/** The slide's title, set in the title role. */
|
|
14
|
+
title: string;
|
|
15
|
+
/** A micro-label above the title. */
|
|
16
|
+
eyebrow?: string;
|
|
17
|
+
/** The first column, in reading order (left in a left-to-right script). */
|
|
18
|
+
start: Snippet;
|
|
19
|
+
/** The second column, in reading order (right in a left-to-right script). */
|
|
20
|
+
end: Snippet;
|
|
21
|
+
/** The title's outline level. Defaults to 2. */
|
|
22
|
+
level?: HeadingLevel;
|
|
23
|
+
/** The slide's accessible name. Defaults to `title`. */
|
|
24
|
+
label?: string;
|
|
25
|
+
/** The slide's position in its deck, shown in the bottom margin when given. */
|
|
26
|
+
number?: number;
|
|
27
|
+
/** How many slides the deck has; shown after `number` when both are given. */
|
|
28
|
+
total?: number;
|
|
29
|
+
/** The ground the slide is set on: the page `background` (default) or the `raised` elevation. */
|
|
30
|
+
surface?: SlideSurface;
|
|
31
|
+
/** Extra classes merged onto the frame. */
|
|
32
|
+
class?: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const {
|
|
36
|
+
title,
|
|
37
|
+
eyebrow,
|
|
38
|
+
start,
|
|
39
|
+
end,
|
|
40
|
+
level = 2,
|
|
41
|
+
label,
|
|
42
|
+
number,
|
|
43
|
+
total,
|
|
44
|
+
surface = "background",
|
|
45
|
+
class: className,
|
|
46
|
+
...rest
|
|
47
|
+
}: Props = $props();
|
|
48
|
+
|
|
49
|
+
const slots = slideLayout();
|
|
50
|
+
</script>
|
|
51
|
+
|
|
52
|
+
<SlideFrame {...rest} label={label ?? title} {number} {total} {surface} class={className} data-two-column-slide>
|
|
53
|
+
<div class={slots.body()}>
|
|
54
|
+
<div class={slots.header()}>
|
|
55
|
+
{#if eyebrow}<Eyebrow>{eyebrow}</Eyebrow>{/if}
|
|
56
|
+
<Heading {level} role="title">{title}</Heading>
|
|
57
|
+
</div>
|
|
58
|
+
<div data-slide-columns class={slots.columns()}>
|
|
59
|
+
<div data-slide-column="start" class={slots.column()}>{@render start()}</div>
|
|
60
|
+
<div data-slide-column="end" class={slots.column()}>{@render end()}</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</SlideFrame>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- Plain decorative window chrome around caller-owned, semantically intact content. -->
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
4
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
5
|
+
import AspectRatio from "./AspectRatio.svelte";
|
|
6
|
+
import { DEFAULT_WINDOW_MOCKUP_RATIO, windowMockup } from "./window-mockup.variants";
|
|
7
|
+
|
|
8
|
+
interface Props
|
|
9
|
+
extends Omit<
|
|
10
|
+
HTMLAttributes<HTMLDivElement>,
|
|
11
|
+
"aria-hidden" | "aria-label" | "children" | "class" | "role" | "title"
|
|
12
|
+
> {
|
|
13
|
+
/** Optional display-only title for the decorative title bar. */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Width divided by viewport height. */
|
|
16
|
+
ratio?: number;
|
|
17
|
+
/** Extra classes merged onto the decorative frame. */
|
|
18
|
+
class?: string;
|
|
19
|
+
/** Caller-owned screenshot, live embed, code sample, or other content. */
|
|
20
|
+
children: Snippet;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const {
|
|
24
|
+
title,
|
|
25
|
+
ratio = DEFAULT_WINDOW_MOCKUP_RATIO,
|
|
26
|
+
class: className,
|
|
27
|
+
children,
|
|
28
|
+
...rest
|
|
29
|
+
}: Props = $props();
|
|
30
|
+
const styles = $derived(windowMockup());
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<div
|
|
34
|
+
{...(rest as Record<string, unknown>)}
|
|
35
|
+
data-window-mockup
|
|
36
|
+
role="presentation"
|
|
37
|
+
class={styles.root({ class: className })}
|
|
38
|
+
>
|
|
39
|
+
<div data-window-mockup-chrome aria-hidden="true" class={styles.chrome()}>
|
|
40
|
+
<span class={styles.controls()}>
|
|
41
|
+
<span class={styles.control()}></span>
|
|
42
|
+
<span class={styles.control()}></span>
|
|
43
|
+
<span class={styles.control()}></span>
|
|
44
|
+
</span>
|
|
45
|
+
<span class={styles.title()}>{title ?? ""}</span>
|
|
46
|
+
<span class={styles.balance()}></span>
|
|
47
|
+
</div>
|
|
48
|
+
<AspectRatio data-window-mockup-viewport {ratio} class={styles.viewport()}>
|
|
49
|
+
{@render children()}
|
|
50
|
+
</AspectRatio>
|
|
51
|
+
</div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Svelte owns only context; DOM diagnostics are shared with native React.
|
|
2
|
+
import { getContext, hasContext, setContext } from "svelte";
|
|
3
|
+
export { warnA11y, hasAccessibleName, checkFieldName, checkButtonName, FIELD_NAME_FIX } from "./core/a11y";
|
|
4
|
+
|
|
5
|
+
const FIELD_CONTEXT = Symbol("reddb.field");
|
|
6
|
+
|
|
7
|
+
/** What a Field tells the control rendered inside it. */
|
|
8
|
+
export interface FieldContext {
|
|
9
|
+
/** The Field's visible label, which names the control through `<label for>`. */
|
|
10
|
+
readonly label: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** Called by Field so the control inside it knows its name is owned. */
|
|
14
|
+
export function setFieldContext(context: FieldContext): void {
|
|
15
|
+
setContext(FIELD_CONTEXT, context);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** The enclosing Field's context, or `undefined` outside one. */
|
|
19
|
+
export function getFieldContext(): FieldContext | undefined {
|
|
20
|
+
return hasContext(FIELD_CONTEXT) ? getContext<FieldContext>(FIELD_CONTEXT) : undefined;
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Accordion's public item contract and token-only appearance seam.
|
|
2
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
3
|
+
|
|
4
|
+
export interface AccordionItem {
|
|
5
|
+
value: string;
|
|
6
|
+
label: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const accordion = tv({
|
|
11
|
+
slots: {
|
|
12
|
+
root: "min-w-0 divide-y divide-muted border-y border-muted",
|
|
13
|
+
item: "min-w-0",
|
|
14
|
+
header: "m-0",
|
|
15
|
+
// `group` is what the indicator's expanded-state rotation reads.
|
|
16
|
+
trigger: [
|
|
17
|
+
"group min-h-[var(--reddb-spatial-control-height-sm)] w-full justify-between rounded-none px-0 text-left",
|
|
18
|
+
"data-[state=open]:text-foreground",
|
|
19
|
+
].join(" "),
|
|
20
|
+
label: "min-w-0 truncate",
|
|
21
|
+
indicator: "ml-auto shrink-0 text-ink-muted transition-transform group-aria-expanded:rotate-180 motion-reduce:transition-none",
|
|
22
|
+
content: "overflow-hidden pb-[var(--reddb-spatial-inset-md)] text-foreground",
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export type AccordionVariants = VariantProps<typeof accordion>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
2
|
+
import { dialog } from "./dialog.variants";
|
|
3
|
+
|
|
4
|
+
/** Dialog appearance narrowed for a focused destructive decision. */
|
|
5
|
+
export const alertDialog = tv({
|
|
6
|
+
base: [dialog(), "max-w-md"].join(" "),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
/** Token-backed arrangement for the canonical decision controls. */
|
|
10
|
+
export const alertDialogActions = tv({
|
|
11
|
+
base: [
|
|
12
|
+
"mt-[var(--reddb-spatial-gap-lg)]",
|
|
13
|
+
"flex flex-wrap justify-end gap-[var(--reddb-spatial-gap-md)]",
|
|
14
|
+
].join(" "),
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export type AlertDialogVariants = VariantProps<typeof alertDialog>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Alert's public appearance seam consumes DS-owned Feedback Roles only. The
|
|
2
|
+
// Theme may remap their Brand materials without changing these names or the
|
|
3
|
+
// component contract (ADR 0009). Meaning is `tone`, the shared vocabulary
|
|
4
|
+
// (ADR 0026): each Feedback Role draws its copy on its tinted surface (ADR
|
|
5
|
+
// 0023), and neutral is ink on the muted surface.
|
|
6
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
7
|
+
import { FEEDBACK_TONES, TONES, type FeedbackTone, type Tone } from "./tone";
|
|
8
|
+
|
|
9
|
+
/** Every tone an Alert accepts: the shared vocabulary. */
|
|
10
|
+
export const ALERT_TONES = TONES;
|
|
11
|
+
export type AlertTone = Tone;
|
|
12
|
+
|
|
13
|
+
/** @deprecated Alert's meaning is `tone` (ADR 0026); use `FEEDBACK_TONES` or `ALERT_TONES`. Removed next release. */
|
|
14
|
+
export const ALERT_FEEDBACK_ROLES = FEEDBACK_TONES;
|
|
15
|
+
/** @deprecated Alert's meaning is `tone` (ADR 0026); use `AlertTone`. Removed next release. */
|
|
16
|
+
export type AlertFeedbackRole = FeedbackTone;
|
|
17
|
+
|
|
18
|
+
const TONE: Record<Tone, string> = {
|
|
19
|
+
neutral: "border-transparent bg-muted text-foreground",
|
|
20
|
+
info: "border-feedback-info-border bg-feedback-info-surface text-feedback-info-foreground",
|
|
21
|
+
success: "border-feedback-success-border bg-feedback-success-surface text-feedback-success-foreground",
|
|
22
|
+
warning: "border-feedback-warning-border bg-feedback-warning-surface text-feedback-warning-foreground",
|
|
23
|
+
danger: "border-feedback-danger-border bg-feedback-danger-surface text-feedback-danger-foreground",
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const alert = tv({
|
|
27
|
+
base: [
|
|
28
|
+
"rounded-md border",
|
|
29
|
+
"px-[var(--reddb-spatial-inset-md)] py-[var(--reddb-spatial-inset-sm)]",
|
|
30
|
+
"text-sm",
|
|
31
|
+
].join(" "),
|
|
32
|
+
variants: { tone: TONE },
|
|
33
|
+
defaultVariants: { tone: "neutral" },
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export type AlertVariants = VariantProps<typeof alert>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** The independently selectable appearance axes established by ADRs 0003 and 0008. */
|
|
2
|
+
export const APPEARANCE_AXES = ["theme", "color-scheme", "density"] as const;
|
|
3
|
+
export type AppearanceAxis = (typeof APPEARANCE_AXES)[number];
|
|
4
|
+
|
|
5
|
+
/** One caller-owned value on an appearance axis. */
|
|
6
|
+
export interface AppearanceOption {
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** Minimal persistence surface, injectable without depending on browser globals. */
|
|
13
|
+
export interface AppearanceStorage {
|
|
14
|
+
getItem(key: string): string | null;
|
|
15
|
+
setItem(key: string, value: string): void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function appearanceAttribute(axis: AppearanceAxis): `data-${AppearanceAxis}` {
|
|
19
|
+
return `data-${axis}`;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function appearanceStorageKey(axis: AppearanceAxis): string {
|
|
23
|
+
return `reddb:appearance:${axis}`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Apply one value without touching either of the other independent axes. */
|
|
27
|
+
export function applyAppearance(root: HTMLElement, axis: AppearanceAxis, value: string): void {
|
|
28
|
+
root.setAttribute(appearanceAttribute(axis), value);
|
|
29
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
2
|
+
|
|
3
|
+
/** The common media ratio; callers remain free to supply any positive ratio. */
|
|
4
|
+
export const DEFAULT_ASPECT_RATIO = 16 / 9;
|
|
5
|
+
|
|
6
|
+
export const aspectRatio = tv({
|
|
7
|
+
base: [
|
|
8
|
+
"relative box-border w-full overflow-hidden",
|
|
9
|
+
"p-[var(--reddb-spatial-inset-sm)]",
|
|
10
|
+
"[&>*]:h-full [&>*]:w-full",
|
|
11
|
+
].join(" "),
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export type AspectRatioVariants = VariantProps<typeof aspectRatio>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Avatar's token-only appearance seam; image loading and fallback semantics
|
|
2
|
+
// remain in the component.
|
|
3
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
4
|
+
|
|
5
|
+
const SIZE = {
|
|
6
|
+
sm: {
|
|
7
|
+
root: "size-[var(--reddb-spatial-control-height-sm)] text-xs",
|
|
8
|
+
},
|
|
9
|
+
md: {
|
|
10
|
+
root: "size-[var(--reddb-spatial-control-height-md)] text-sm",
|
|
11
|
+
},
|
|
12
|
+
lg: {
|
|
13
|
+
root: "size-[var(--reddb-spatial-control-height-lg)] text-base",
|
|
14
|
+
},
|
|
15
|
+
} as const;
|
|
16
|
+
|
|
17
|
+
export const avatar = tv({
|
|
18
|
+
slots: {
|
|
19
|
+
root: "relative inline-flex shrink-0 overflow-hidden rounded-full bg-muted text-foreground",
|
|
20
|
+
image: "absolute inset-0 size-full object-cover",
|
|
21
|
+
fallback: "flex size-full items-center justify-center font-medium",
|
|
22
|
+
},
|
|
23
|
+
variants: { size: SIZE },
|
|
24
|
+
defaultVariants: { size: "md" },
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export type AvatarVariants = VariantProps<typeof avatar>;
|
|
28
|
+
export type AvatarSize = NonNullable<AvatarVariants["size"]>;
|
|
29
|
+
export const AVATAR_SIZES = Object.keys(SIZE) as readonly AvatarSize[];
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Badge's public appearance seam: what a status means (`tone`, ADR 0026) and
|
|
2
|
+
// how strongly it is drawn (`variant`, its emphasis axis) are two axes.
|
|
3
|
+
//
|
|
4
|
+
// Every tone resolves to its Feedback Role exactly as it does on Alert, Card
|
|
5
|
+
// and Button, through pairs the Foundation's contrast contract measures:
|
|
6
|
+
// - tinted: the role's copy on its tinted message surface (ADR 0023);
|
|
7
|
+
// - filled: `on-feedback` ink on the role's text-grade stop — a tone chip;
|
|
8
|
+
// - outline: the role's copy inside its border, on whatever ground it sits.
|
|
9
|
+
// Neutral is ink on the muted surface, ink as a fill, or ink in a muted edge.
|
|
10
|
+
// No tone fills with the Brand red: red on a status is danger (DESIGN.md).
|
|
11
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
12
|
+
import type { Tone } from "./tone";
|
|
13
|
+
|
|
14
|
+
/** How strongly a Badge's tone is drawn — its emphasis axis. */
|
|
15
|
+
export const BADGE_VARIANTS = ["tinted", "filled", "outline"] as const;
|
|
16
|
+
export type BadgeVariant = (typeof BADGE_VARIANTS)[number];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Variant values kept for one release (ADR 0026). `neutral` is the tinted
|
|
20
|
+
* neutral badge it always drew; `primary` keeps its accent fill and warns —
|
|
21
|
+
* a status is a tone (`tone="danger" variant="filled"`), never the accent.
|
|
22
|
+
*/
|
|
23
|
+
export const DEPRECATED_BADGE_VARIANTS = {
|
|
24
|
+
neutral: "tinted",
|
|
25
|
+
primary: "filled",
|
|
26
|
+
} as const satisfies Record<string, BadgeVariant>;
|
|
27
|
+
/** @deprecated `neutral` is `variant="tinted"`; `primary` is a filled tone. Removed next release. */
|
|
28
|
+
export type DeprecatedBadgeVariant = keyof typeof DEPRECATED_BADGE_VARIANTS;
|
|
29
|
+
|
|
30
|
+
const APPEARANCE = {
|
|
31
|
+
tinted: {
|
|
32
|
+
neutral: "border-transparent bg-muted text-foreground",
|
|
33
|
+
info: "border-transparent bg-feedback-info-surface text-feedback-info-foreground",
|
|
34
|
+
success: "border-transparent bg-feedback-success-surface text-feedback-success-foreground",
|
|
35
|
+
warning: "border-transparent bg-feedback-warning-surface text-feedback-warning-foreground",
|
|
36
|
+
danger: "border-transparent bg-feedback-danger-surface text-feedback-danger-foreground",
|
|
37
|
+
},
|
|
38
|
+
filled: {
|
|
39
|
+
neutral: "border-transparent bg-foreground text-background",
|
|
40
|
+
info: "border-transparent bg-feedback-info-foreground text-on-feedback",
|
|
41
|
+
success: "border-transparent bg-feedback-success-foreground text-on-feedback",
|
|
42
|
+
warning: "border-transparent bg-feedback-warning-foreground text-on-feedback",
|
|
43
|
+
danger: "border-transparent bg-feedback-danger-foreground text-on-feedback",
|
|
44
|
+
},
|
|
45
|
+
outline: {
|
|
46
|
+
neutral: "border-muted bg-transparent text-foreground",
|
|
47
|
+
info: "border-feedback-info-border bg-transparent text-feedback-info-foreground",
|
|
48
|
+
success: "border-feedback-success-border bg-transparent text-feedback-success-foreground",
|
|
49
|
+
warning: "border-feedback-warning-border bg-transparent text-feedback-warning-foreground",
|
|
50
|
+
danger: "border-feedback-danger-border bg-transparent text-feedback-danger-foreground",
|
|
51
|
+
},
|
|
52
|
+
} as const satisfies Record<BadgeVariant, Record<Tone, string>>;
|
|
53
|
+
|
|
54
|
+
/** The accent fill the deprecated `variant="primary"` still draws for one release. */
|
|
55
|
+
const DEPRECATED_PRIMARY = "border-transparent bg-primary text-on-primary";
|
|
56
|
+
|
|
57
|
+
const TONE = { neutral: "", info: "", success: "", warning: "", danger: "" } as const satisfies Record<
|
|
58
|
+
Tone,
|
|
59
|
+
string
|
|
60
|
+
>;
|
|
61
|
+
const VARIANT = { tinted: "", filled: "", outline: "", neutral: "", primary: "" } as const;
|
|
62
|
+
|
|
63
|
+
export const badge = tv({
|
|
64
|
+
base: [
|
|
65
|
+
"inline-flex items-center gap-[var(--reddb-spatial-gap-sm)] rounded-md border px-2 py-0.5",
|
|
66
|
+
"text-xs font-medium leading-tight whitespace-nowrap",
|
|
67
|
+
].join(" "),
|
|
68
|
+
variants: { tone: TONE, variant: VARIANT },
|
|
69
|
+
compoundVariants: [
|
|
70
|
+
...(Object.entries(APPEARANCE) as [BadgeVariant, Record<Tone, string>][]).flatMap(([variant, tones]) =>
|
|
71
|
+
(Object.entries(tones) as [Tone, string][]).map(([tone, className]) => ({
|
|
72
|
+
variant,
|
|
73
|
+
tone,
|
|
74
|
+
class: className,
|
|
75
|
+
})),
|
|
76
|
+
),
|
|
77
|
+
// The deprecated neutral variant is the tinted badge, tone for tone.
|
|
78
|
+
...(Object.entries(APPEARANCE.tinted) as [Tone, string][]).map(([tone, className]) => ({
|
|
79
|
+
variant: "neutral" as const,
|
|
80
|
+
tone,
|
|
81
|
+
class: className,
|
|
82
|
+
})),
|
|
83
|
+
{ variant: "primary" as const, class: DEPRECATED_PRIMARY },
|
|
84
|
+
],
|
|
85
|
+
defaultVariants: { tone: "neutral", variant: "tinted" },
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
export type BadgeVariants = VariantProps<typeof badge>;
|
|
89
|
+
export type BadgeTone = Tone;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
2
|
+
import { typeRoleMerge } from "./type-roles";
|
|
3
|
+
|
|
4
|
+
export const breadcrumbs = tv({
|
|
5
|
+
slots: {
|
|
6
|
+
root: "text-caption font-regular text-ink-muted",
|
|
7
|
+
list: "m-0 flex list-none flex-wrap items-center gap-[var(--reddb-spatial-gap-lg)] ps-0",
|
|
8
|
+
item: "flex items-center gap-[var(--reddb-spatial-gap-lg)]",
|
|
9
|
+
current: "font-regular text-foreground",
|
|
10
|
+
link: "font-regular text-ink-muted hover:text-foreground focus-visible:text-foreground underline-offset-[calc(var(--reddb-spatial-gap-sm)/2)]",
|
|
11
|
+
separator: "select-none text-ink-muted/70",
|
|
12
|
+
},
|
|
13
|
+
}, typeRoleMerge);
|
|
14
|
+
|
|
15
|
+
export type BreadcrumbsVariants = VariantProps<typeof breadcrumbs>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_BROWSER_MOCKUP_RATIO = 16 / 9;
|
|
4
|
+
|
|
5
|
+
export const browserMockup = tv({
|
|
6
|
+
slots: {
|
|
7
|
+
root: "overflow-hidden rounded-lg border border-muted bg-background text-foreground shadow-lg",
|
|
8
|
+
chrome:
|
|
9
|
+
"flex min-h-[var(--reddb-spatial-control-height-sm)] items-center gap-[var(--reddb-spatial-gap-sm)] border-b border-muted bg-muted px-[var(--reddb-spatial-inset-sm)]",
|
|
10
|
+
controls: "flex shrink-0 gap-[var(--reddb-spatial-gap-sm)]",
|
|
11
|
+
control: "size-2 rounded-full bg-muted",
|
|
12
|
+
address:
|
|
13
|
+
"min-w-0 flex-1 truncate rounded-md border border-muted bg-background px-[var(--reddb-spatial-inset-sm)] text-xs text-ink-muted",
|
|
14
|
+
viewport: "bg-background",
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export type BrowserMockupVariants = VariantProps<typeof browserMockup>;
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
// Button's public appearance seam.
|
|
2
|
+
//
|
|
3
|
+
// Every class lives in these `tv()` contracts so a consumer can extend the
|
|
4
|
+
// canonical appearance without forking the element behavior. Colours resolve
|
|
5
|
+
// through Theme/Color Scheme roles and spatial values through Density roles;
|
|
6
|
+
// this module owns no appearance-axis selection or raw value.
|
|
7
|
+
|
|
8
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
9
|
+
import { QUIET_HOVER, QUIET_OPEN, QUIET_PRESSED } from "./quiet-control.variants";
|
|
10
|
+
import type { Tone } from "./tone";
|
|
11
|
+
import { typeRoleMerge } from "./type-roles";
|
|
12
|
+
|
|
13
|
+
const VARIANT = {
|
|
14
|
+
/** The affirmative action of a view — at most one per view. */
|
|
15
|
+
primary: "bg-primary text-on-primary",
|
|
16
|
+
/** Everything else that is still an action: outlined, not filled. */
|
|
17
|
+
secondary: "border-control-edge bg-transparent text-foreground hover:border-foreground",
|
|
18
|
+
/**
|
|
19
|
+
* An action that should not compete for attention. It is the quiet-control
|
|
20
|
+
* contract (quiet-control.variants.ts, wave 6A): transparent at rest, the
|
|
21
|
+
* quiet fill on hover, the stronger one pressed or holding a popup open.
|
|
22
|
+
*/
|
|
23
|
+
ghost: `bg-transparent text-ink-muted hover:text-foreground ${QUIET_HOVER} ${QUIET_PRESSED} ${QUIET_OPEN}`,
|
|
24
|
+
} as const;
|
|
25
|
+
|
|
26
|
+
// What the action means (ADR 0026): the shared tone vocabulary, resolved by
|
|
27
|
+
// the compound variants below onto each Feedback Role's materials.
|
|
28
|
+
const TONE = {
|
|
29
|
+
neutral: "",
|
|
30
|
+
info: "",
|
|
31
|
+
success: "",
|
|
32
|
+
warning: "",
|
|
33
|
+
danger: "",
|
|
34
|
+
} as const satisfies Record<Tone, string>;
|
|
35
|
+
|
|
36
|
+
const SIZE = {
|
|
37
|
+
sm: "h-[var(--reddb-spatial-control-height-sm)] px-[var(--reddb-spatial-inset-sm)] text-sm",
|
|
38
|
+
md: "h-[var(--reddb-spatial-control-height-md)] px-[var(--reddb-spatial-inset-md)] text-sm",
|
|
39
|
+
lg: "h-[var(--reddb-spatial-control-height-lg)] px-[var(--reddb-spatial-inset-lg)] text-base",
|
|
40
|
+
} as const;
|
|
41
|
+
|
|
42
|
+
const BLOCK = {
|
|
43
|
+
/** Fills its column — a form's submit, a drawer's confirm, a mobile action. */
|
|
44
|
+
true: "w-full",
|
|
45
|
+
/** The default: as wide as what it says. */
|
|
46
|
+
false: "",
|
|
47
|
+
} as const;
|
|
48
|
+
|
|
49
|
+
export const button = tv({
|
|
50
|
+
base: [
|
|
51
|
+
"inline-flex items-center justify-center gap-[var(--reddb-spatial-gap-md)]",
|
|
52
|
+
"rounded-md border border-transparent",
|
|
53
|
+
"font-medium leading-tight whitespace-nowrap",
|
|
54
|
+
// No colour transition (quiet-control.variants.ts): states and a Color
|
|
55
|
+
// Scheme switch land at full contrast at once.
|
|
56
|
+
// One ink focus ring for every variant and tone (ADR 0023): 2px, offset
|
|
57
|
+
// 2px, so the pixels around it are the ground and never the Button's fill.
|
|
58
|
+
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",
|
|
59
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
60
|
+
"aria-disabled:pointer-events-none aria-disabled:opacity-50",
|
|
61
|
+
].join(" "),
|
|
62
|
+
variants: { variant: VARIANT, tone: TONE, size: SIZE, block: BLOCK },
|
|
63
|
+
// Each tone keeps the variant's hierarchy: primary fills with the role's
|
|
64
|
+
// fill material under its on-fill label, secondary outlines in the role's
|
|
65
|
+
// border, ghost carries only the role's ink. A danger primary is therefore a
|
|
66
|
+
// filled destructive action, deeper than the accent in both Color Schemes
|
|
67
|
+
// and distinct from its secondary and ghost forms (ADR 0009, ADR 0023).
|
|
68
|
+
//
|
|
69
|
+
// A tone ghost keeps its role's tinted surface as its quiet fill, hovered and
|
|
70
|
+
// pressed (wave 6A): the role's copy on the neutral ink fill drops to
|
|
71
|
+
// 3.66:1 (danger) and 3.71:1 (info) on the dark overlay, where a danger
|
|
72
|
+
// ghost sits in a Dialog, while the contract holds it on its own surface.
|
|
73
|
+
//
|
|
74
|
+
// A filled Button never hovers with an opacity (wave 6A): every filled
|
|
75
|
+
// emphasis swaps to its opaque active material — `primary-active` for the
|
|
76
|
+
// accent, `feedback-<tone>-fill-active` for a tone — which the contrast
|
|
77
|
+
// contract pairs with the label, so the ground never shows through.
|
|
78
|
+
compoundVariants: [
|
|
79
|
+
{
|
|
80
|
+
// Hovered, pressed or holding a popup open, the accent fills with the
|
|
81
|
+
// opaque `primary-active` role, which the contrast contract pairs with
|
|
82
|
+
// `on-primary` (wave 5A). The old opacity hover let the ground show
|
|
83
|
+
// through: a SpeedDial trigger held open on Marketing dark fell to 4.44:1.
|
|
84
|
+
tone: "neutral",
|
|
85
|
+
variant: "primary",
|
|
86
|
+
class: "hover:bg-primary-active active:bg-primary-active aria-expanded:bg-primary-active",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
tone: "danger",
|
|
90
|
+
variant: "primary",
|
|
91
|
+
class: "bg-feedback-danger-fill text-feedback-danger-on-fill hover:bg-feedback-danger-fill-active active:bg-feedback-danger-fill-active aria-expanded:bg-feedback-danger-fill-active",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
tone: "danger",
|
|
95
|
+
variant: "secondary",
|
|
96
|
+
class: "border-feedback-danger-border text-feedback-danger-foreground hover:border-feedback-danger-foreground hover:bg-feedback-danger-surface",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
tone: "danger",
|
|
100
|
+
variant: "ghost",
|
|
101
|
+
class: "text-feedback-danger-foreground hover:text-feedback-danger-foreground hover:bg-feedback-danger-surface active:bg-feedback-danger-surface",
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
tone: "success",
|
|
105
|
+
variant: "primary",
|
|
106
|
+
class: "bg-feedback-success-fill text-feedback-success-on-fill hover:bg-feedback-success-fill-active active:bg-feedback-success-fill-active aria-expanded:bg-feedback-success-fill-active",
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
tone: "success",
|
|
110
|
+
variant: "secondary",
|
|
111
|
+
class: "border-feedback-success-border text-feedback-success-foreground hover:border-feedback-success-foreground hover:bg-feedback-success-surface",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
tone: "success",
|
|
115
|
+
variant: "ghost",
|
|
116
|
+
class: "text-feedback-success-foreground hover:text-feedback-success-foreground hover:bg-feedback-success-surface active:bg-feedback-success-surface",
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
tone: "warning",
|
|
120
|
+
variant: "primary",
|
|
121
|
+
class: "bg-feedback-warning-fill text-feedback-warning-on-fill hover:bg-feedback-warning-fill-active active:bg-feedback-warning-fill-active aria-expanded:bg-feedback-warning-fill-active",
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
tone: "warning",
|
|
125
|
+
variant: "secondary",
|
|
126
|
+
class: "border-feedback-warning-border text-feedback-warning-foreground hover:border-feedback-warning-foreground hover:bg-feedback-warning-surface",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
tone: "warning",
|
|
130
|
+
variant: "ghost",
|
|
131
|
+
class: "text-feedback-warning-foreground hover:text-feedback-warning-foreground hover:bg-feedback-warning-surface active:bg-feedback-warning-surface",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
tone: "info",
|
|
135
|
+
variant: "primary",
|
|
136
|
+
class: "bg-feedback-info-fill text-feedback-info-on-fill hover:bg-feedback-info-fill-active active:bg-feedback-info-fill-active aria-expanded:bg-feedback-info-fill-active",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
tone: "info",
|
|
140
|
+
variant: "secondary",
|
|
141
|
+
class: "border-feedback-info-border text-feedback-info-foreground hover:border-feedback-info-foreground hover:bg-feedback-info-surface",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
tone: "info",
|
|
145
|
+
variant: "ghost",
|
|
146
|
+
class: "text-feedback-info-foreground hover:text-feedback-info-foreground hover:bg-feedback-info-surface active:bg-feedback-info-surface",
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
defaultVariants: { variant: "secondary", tone: "neutral", size: "md", block: false },
|
|
150
|
+
}, typeRoleMerge);
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* The loading indicator, inheriting the Button variant's current colour. It
|
|
154
|
+
* takes the Icon size role of the Button's size, so it matches a leading Icon
|
|
155
|
+
* at every Density stop and the label does not shift when loading starts.
|
|
156
|
+
*/
|
|
157
|
+
export const buttonSpinner = tv({
|
|
158
|
+
slots: {
|
|
159
|
+
root: "shrink-0 motion-safe:animate-spin motion-reduce:animate-pulse",
|
|
160
|
+
track: "fill-none stroke-current opacity-25",
|
|
161
|
+
head: "fill-none stroke-current",
|
|
162
|
+
},
|
|
163
|
+
variants: {
|
|
164
|
+
size: {
|
|
165
|
+
sm: { root: "size-[var(--reddb-spatial-icon-size-sm)]" },
|
|
166
|
+
md: { root: "size-[var(--reddb-spatial-icon-size-md)]" },
|
|
167
|
+
lg: { root: "size-[var(--reddb-spatial-icon-size-lg)]" },
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
defaultVariants: { size: "md" },
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
export type ButtonVariants = VariantProps<typeof button>;
|
|
174
|
+
export type ButtonVariant = NonNullable<ButtonVariants["variant"]>;
|
|
175
|
+
export type ButtonTone = NonNullable<ButtonVariants["tone"]>;
|
|
176
|
+
/** @deprecated Button's meaning is `tone` (ADR 0026); use `ButtonTone`. Removed next release. */
|
|
177
|
+
export type ButtonIntent = ButtonTone;
|
|
178
|
+
export type ButtonSize = NonNullable<ButtonVariants["size"]>;
|
|
179
|
+
|
|
180
|
+
// Enumerated from the maps so documentation and local extensions can inspect
|
|
181
|
+
// the same closed vocabulary the component accepts without restating it.
|
|
182
|
+
export const BUTTON_VARIANTS = Object.keys(VARIANT) as readonly ButtonVariant[];
|
|
183
|
+
export const BUTTON_TONES = Object.keys(TONE) as readonly ButtonTone[];
|
|
184
|
+
/** @deprecated Button's meaning is `tone` (ADR 0026); use `BUTTON_TONES`. Removed next release. */
|
|
185
|
+
export const BUTTON_INTENTS = BUTTON_TONES;
|
|
186
|
+
export const BUTTON_SIZES = Object.keys(SIZE) as readonly ButtonSize[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Calendar appearance is token-only; Bits UI owns date state, focus, and announcements.
|
|
2
|
+
import { tv, type VariantProps } from "tailwind-variants";
|
|
3
|
+
|
|
4
|
+
export const calendar = tv({
|
|
5
|
+
slots: {
|
|
6
|
+
root: [
|
|
7
|
+
"w-fit min-w-0 rounded-lg border border-muted bg-background text-foreground",
|
|
8
|
+
"p-[var(--reddb-spatial-inset-md)]",
|
|
9
|
+
].join(" "),
|
|
10
|
+
header: "mb-[var(--reddb-spatial-gap-sm)] flex items-center justify-between gap-[var(--reddb-spatial-gap-sm)]",
|
|
11
|
+
navigation: "w-[var(--reddb-spatial-control-height-sm)] shrink-0 px-0",
|
|
12
|
+
heading: "min-w-0 text-center text-sm font-medium",
|
|
13
|
+
months: "grid gap-[var(--reddb-spatial-gap-md)]",
|
|
14
|
+
grid: "w-full",
|
|
15
|
+
gridHead: "text-ink-muted",
|
|
16
|
+
gridRow: "grid grid-cols-7",
|
|
17
|
+
headCell: "flex h-[var(--reddb-spatial-control-height-sm)] items-center justify-center text-xs font-regular",
|
|
18
|
+
cell: "p-0 text-center",
|
|
19
|
+
day: [
|
|
20
|
+
"relative inline-flex size-[var(--reddb-spatial-control-height-sm)] items-center justify-center rounded-md",
|
|
21
|
+
"text-sm tabular-nums",
|
|
22
|
+
// Rest, hover, pressed and focus are the quiet-control contract the
|
|
23
|
+
// component wraps this slot in (wave 6A); a chosen day keeps the accent.
|
|
24
|
+
"data-[selected]:bg-primary data-[selected]:font-medium data-[selected]:text-on-primary",
|
|
25
|
+
"data-[range-start]:rounded-e-none data-[range-end]:rounded-s-none",
|
|
26
|
+
"data-[range-middle]:rounded-none data-[range-middle]:border-y data-[range-middle]:border-primary",
|
|
27
|
+
"data-[disabled]:pointer-events-none data-[disabled]:opacity-35",
|
|
28
|
+
"data-[unavailable]:line-through data-[unavailable]:opacity-60",
|
|
29
|
+
"data-[outside-month]:text-ink-muted data-[outside-month]:opacity-50",
|
|
30
|
+
"data-[today]:after:absolute data-[today]:after:bottom-1 data-[today]:after:size-1 data-[today]:after:rounded-full data-[today]:after:bg-current",
|
|
31
|
+
].join(" "),
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export type CalendarVariants = VariantProps<typeof calendar>;
|