@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,106 @@
|
|
|
1
|
+
/** Development detection works in Vite and native React build pipelines. */
|
|
2
|
+
function a11yDevelopment(): boolean {
|
|
3
|
+
return (import.meta as { env?: { DEV?: boolean } }).env?.DEV ??
|
|
4
|
+
(globalThis as { process?: { env?: { NODE_ENV?: string } } }).process?.env?.NODE_ENV === "development";
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// Framework-independent accessible-name diagnostics. Never changes DOM semantics.
|
|
8
|
+
|
|
9
|
+
const warned = new Set<string>();
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Warn, once per session and only in development, that `component` broke an
|
|
13
|
+
* accessibility contract. `problem` says what is missing, `fix` the props that
|
|
14
|
+
* supply it. The sibling of `warnDeprecated`, for the same audience.
|
|
15
|
+
*/
|
|
16
|
+
export function warnA11y(component: string, problem: string, fix: string): void {
|
|
17
|
+
if (!a11yDevelopment()) return;
|
|
18
|
+
const key = `${component}\u0000${problem}`;
|
|
19
|
+
if (warned.has(key)) return;
|
|
20
|
+
warned.add(key);
|
|
21
|
+
console.warn(`[reddb ${component}] ${problem}. ${fix}`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function nonEmpty(value: string | null | undefined): boolean {
|
|
25
|
+
return typeof value === "string" && value.trim() !== "";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Text a subtree contributes to a name, skipping what is hidden from assistive technology. */
|
|
29
|
+
function namedContent(node: Node): boolean {
|
|
30
|
+
if (node.nodeType === 3) return nonEmpty(node.textContent);
|
|
31
|
+
if (node.nodeType !== 1) return false;
|
|
32
|
+
const element = node as Element;
|
|
33
|
+
if (element.getAttribute("aria-hidden") === "true") return false;
|
|
34
|
+
if (nonEmpty(element.getAttribute("aria-label"))) return true;
|
|
35
|
+
if (element.tagName === "IMG" && nonEmpty(element.getAttribute("alt"))) return true;
|
|
36
|
+
if (element.tagName.toLowerCase() === "title") return nonEmpty(element.textContent);
|
|
37
|
+
for (const child of element.childNodes) if (namedContent(child)) return true;
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Whether `element` has an accessible name a screen reader can announce:
|
|
43
|
+
* `aria-label`, an `aria-labelledby` that resolves to text, a native `<label>`
|
|
44
|
+
* (wrapping or `for`), a `title`, or — for a button — its own content.
|
|
45
|
+
*
|
|
46
|
+
* A pragmatic approximation of the accessible-name computation, used only to
|
|
47
|
+
* decide whether to warn in development, never to change what renders.
|
|
48
|
+
*/
|
|
49
|
+
export function hasAccessibleName(element: Element, { fromContent = false } = {}): boolean {
|
|
50
|
+
if (nonEmpty(element.getAttribute("aria-label"))) return true;
|
|
51
|
+
const labelledBy = element.getAttribute("aria-labelledby");
|
|
52
|
+
if (nonEmpty(labelledBy)) {
|
|
53
|
+
const root = element.getRootNode() as Document | ShadowRoot;
|
|
54
|
+
for (const id of labelledBy!.trim().split(/\s+/)) {
|
|
55
|
+
const target = root.getElementById?.(id) ?? element.ownerDocument.getElementById(id);
|
|
56
|
+
if (target && nonEmpty(target.textContent)) return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const labels = (element as HTMLInputElement).labels;
|
|
60
|
+
if (labels) for (const label of labels) if (nonEmpty(label.textContent)) return true;
|
|
61
|
+
if (nonEmpty(element.getAttribute("title"))) return true;
|
|
62
|
+
return fromContent && namedContent(element);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** The ways a field gets its name, quoted in every field warning. */
|
|
66
|
+
export const FIELD_NAME_FIX =
|
|
67
|
+
"Wrap it in a Field with a `label`, or pass `aria-label` or `aria-labelledby`, or point a native <label for> at its id";
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Warn in development when a mounted form control has no accessible name.
|
|
71
|
+
* Checked after mount, so a `<label for>` written anywhere in the document
|
|
72
|
+
* counts, exactly as it does for the browser.
|
|
73
|
+
*/
|
|
74
|
+
export function checkFieldName(component: string, element: Element | undefined): void {
|
|
75
|
+
if (!a11yDevelopment() || !element) return;
|
|
76
|
+
if (hasAccessibleName(element)) return;
|
|
77
|
+
warnA11y(component, "renders a form control with no accessible name", `${FIELD_NAME_FIX}.`);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** Visible words for Label in Name; screen-reader-only content and decorative SVG are excluded. */
|
|
81
|
+
function contentWords(node: Node): string {
|
|
82
|
+
if (node.nodeType === 3) return node.textContent ?? "";
|
|
83
|
+
if (node.nodeType !== 1) return "";
|
|
84
|
+
const element = node as Element;
|
|
85
|
+
if (element.matches('[hidden], .hidden, .sr-only, svg, script, style')) return "";
|
|
86
|
+
return [...element.childNodes].map(contentWords).join(" ");
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Buttons keep their visible words in the accessible name (WCAG 2.5.3). */
|
|
90
|
+
export function checkButtonName(component: string, element: Element | undefined): void {
|
|
91
|
+
if (!a11yDevelopment() || !element) return;
|
|
92
|
+
if (!hasAccessibleName(element, { fromContent: true })) {
|
|
93
|
+
warnA11y(component, "renders with no text and no `aria-label`, so it has no accessible name", "Pass `aria-label` (or `aria-labelledby`) to an icon-only Button.");
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const normalize = (text: string) => text.replace(/\s+/g, " ").trim().toLocaleLowerCase();
|
|
97
|
+
const visible = normalize(contentWords(element));
|
|
98
|
+
if (!/[\p{L}\p{N}]/u.test(visible)) return;
|
|
99
|
+
const ids = element.getAttribute("aria-labelledby")?.trim().split(/\s+/).filter(Boolean) ?? [];
|
|
100
|
+
const root = element.getRootNode() as Document | ShadowRoot;
|
|
101
|
+
const referenced = ids.map(id => (root.getElementById?.(id) ?? element.ownerDocument.getElementById(id))?.textContent ?? "").join(" ");
|
|
102
|
+
const name = normalize(referenced || element.getAttribute("aria-label") || visible);
|
|
103
|
+
if (!name.includes(visible)) {
|
|
104
|
+
warnA11y(component, "visible text is missing from its accessible name", "Keep the visible action in the name; use `aria-describedby` for row context instead of replacing the action with `aria-labelledby`.");
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { applyAppearance, type AppearanceAxis, type AppearanceOption, type AppearanceStorage } from "../appearance-switch.behavior";
|
|
2
|
+
|
|
3
|
+
export interface AppearanceSwitchContract {
|
|
4
|
+
/** Visible accessible control name. */
|
|
5
|
+
label: string;
|
|
6
|
+
/** The single independent axis this control changes. */
|
|
7
|
+
axis: AppearanceAxis;
|
|
8
|
+
/** Caller-owned values; the component invents no Theme, scheme, or stop. */
|
|
9
|
+
options: readonly AppearanceOption[];
|
|
10
|
+
/** Current axis value; caller-owned in controlled React use. */
|
|
11
|
+
value?: string;
|
|
12
|
+
/** Initial uncontrolled value, restored by native form reset. */
|
|
13
|
+
defaultValue?: string;
|
|
14
|
+
/** Root receiving the axis attribute. Defaults to the document root. */
|
|
15
|
+
root?: HTMLElement;
|
|
16
|
+
/** Persistence seam. Defaults to browser localStorage when available. */
|
|
17
|
+
storage?: AppearanceStorage;
|
|
18
|
+
/** Stable persistence key. Defaults to one key per independent axis. */
|
|
19
|
+
persistKey?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Only enabled caller-owned options can change an appearance axis. */
|
|
23
|
+
export function appearanceValue(options: readonly AppearanceOption[], ...candidates: (string | null | undefined)[]): string | undefined {
|
|
24
|
+
for (const value of candidates) if (options.some(option => !option.disabled && option.value === value)) return value!;
|
|
25
|
+
return options.find(option => !option.disabled)?.value;
|
|
26
|
+
}
|
|
27
|
+
export function appearancePersistence(storage?: AppearanceStorage): AppearanceStorage | undefined {
|
|
28
|
+
if (storage) return storage;
|
|
29
|
+
try { return globalThis.localStorage; } catch { return undefined; }
|
|
30
|
+
}
|
|
31
|
+
export function readAppearance(storage: AppearanceStorage | undefined, key: string): string | undefined {
|
|
32
|
+
try { return storage?.getItem(key) ?? undefined; } catch { return undefined; }
|
|
33
|
+
}
|
|
34
|
+
/** Persistence is optional; blocked storage cannot prevent an appearance change. */
|
|
35
|
+
export function commitAppearance(root: HTMLElement | undefined, axis: AppearanceAxis, value: string | undefined, storage: AppearanceStorage | undefined, key: string): void {
|
|
36
|
+
if (value === undefined) return;
|
|
37
|
+
if (root) applyAppearance(root, axis, value);
|
|
38
|
+
try { storage?.setItem(key, value); } catch { /* Browser policy or quota: retain the usable in-memory choice. */ }
|
|
39
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AvatarSize } from "../avatar.variants";
|
|
2
|
+
|
|
3
|
+
/** Identity and appearance shared by the native Avatar adapters. */
|
|
4
|
+
export interface AvatarContract {
|
|
5
|
+
/** Optional image source. Omitting it renders the fallback immediately. */
|
|
6
|
+
src?: string;
|
|
7
|
+
/** Accessible name for the person or entity represented. */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Visible text required when no icon alternative is supplied. */
|
|
10
|
+
fallback?: string;
|
|
11
|
+
/** Density-responsive avatar size. */
|
|
12
|
+
size?: AvatarSize;
|
|
13
|
+
/** Extra classes merged onto the image. */
|
|
14
|
+
imageClass?: string;
|
|
15
|
+
/** Extra classes merged onto the fallback layer. */
|
|
16
|
+
fallbackClass?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** A failure belongs to its source; a replacement image gets its own attempt. */
|
|
20
|
+
export function avatarImageVisible(src: string | undefined, failedSrc: string | undefined): src is string {
|
|
21
|
+
return Boolean(src) && src !== failedSrc;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** The browser may finish a failed SSR image before hydration installs handlers. */
|
|
25
|
+
export function avatarImageFailed(image: HTMLImageElement | null | undefined): boolean {
|
|
26
|
+
return Boolean(image?.complete && image.naturalWidth === 0);
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** One stable item in a native breadcrumb trail. */
|
|
2
|
+
export interface BreadcrumbItem {
|
|
3
|
+
/** Stable item identity. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Visible destination name. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Link destination; omitted, the item is plain text. */
|
|
8
|
+
href?: string;
|
|
9
|
+
/** Marks the current page without linking it. */
|
|
10
|
+
current?: boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { getDayOfWeek, getLocalTimeZone, parseDate, startOfMonth, today, type DateValue } from "@internationalized/date";
|
|
2
|
+
/** A range can be incomplete while its second bound is being chosen. */
|
|
3
|
+
export interface CalendarRange { start: DateValue | undefined; end: DateValue | undefined }
|
|
4
|
+
/** Calendar semantics independent of either headless rendering implementation. */
|
|
5
|
+
export interface CalendarContract {
|
|
6
|
+
/** Base accessible name; the visible month and year are appended. */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Month shown when no value is selected; moves with keyboard or month navigation. */
|
|
9
|
+
placeholder?: DateValue;
|
|
10
|
+
/** Earliest selectable date. */
|
|
11
|
+
minValue?: DateValue;
|
|
12
|
+
/** Latest selectable date. */
|
|
13
|
+
maxValue?: DateValue;
|
|
14
|
+
/** Prevent focus and selection of every date and navigation control. */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** Permit navigation and focus without changing selection. */
|
|
17
|
+
readonly?: boolean;
|
|
18
|
+
/** Prevent clearing a selected date by selecting it again. */
|
|
19
|
+
preventDeselect?: boolean;
|
|
20
|
+
/** Mark individual dates disabled and exclude them from keyboard focus. */
|
|
21
|
+
isDateDisabled?: (date: DateValue) => boolean;
|
|
22
|
+
/** Mark dates unavailable for selection. */
|
|
23
|
+
isDateUnavailable?: (date: DateValue) => boolean;
|
|
24
|
+
/** Locale for calendar labels, date announcements and right-to-left direction. */
|
|
25
|
+
locale?: string;
|
|
26
|
+
/** First weekday, Sunday=0 through Saturday=6. */
|
|
27
|
+
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
28
|
+
/** Width of weekday names; defaults to short. */
|
|
29
|
+
weekdayFormat?: Intl.DateTimeFormatOptions["weekday"];
|
|
30
|
+
/** Render six weeks per month to keep the height stable. Defaults to true. */
|
|
31
|
+
fixedWeeks?: boolean;
|
|
32
|
+
/** Number of simultaneous months; defaults to one. */
|
|
33
|
+
numberOfMonths?: number;
|
|
34
|
+
/** Move by the number of visible months rather than one month. */
|
|
35
|
+
pagedNavigation?: boolean;
|
|
36
|
+
/** Disable dates drawn outside each grid's named month. */
|
|
37
|
+
disableDaysOutsideMonth?: boolean;
|
|
38
|
+
/** Formatting of the visible month name. */
|
|
39
|
+
monthFormat?: Intl.DateTimeFormatOptions["month"] | ((month: number) => string);
|
|
40
|
+
/** Formatting of the visible year. */
|
|
41
|
+
yearFormat?: Intl.DateTimeFormatOptions["year"] | ((year: number) => string);
|
|
42
|
+
/** Extra classes merged onto both month navigation controls. */
|
|
43
|
+
navigationClass?: string;
|
|
44
|
+
/** Extra classes merged onto every day control. */
|
|
45
|
+
dayClass?: string;
|
|
46
|
+
}
|
|
47
|
+
export function parseCalendarDate(value?: string): DateValue | undefined {
|
|
48
|
+
try { return value ? parseDate(value) : undefined; } catch { return undefined; }
|
|
49
|
+
}
|
|
50
|
+
export function currentCalendarDate() { return today(getLocalTimeZone()); }
|
|
51
|
+
export function calendarMonths(date: DateValue, count: number, weekStart: number, fixed: boolean, locale: string) {
|
|
52
|
+
return Array.from({ length: Math.max(1, Math.trunc(count) || 1) }, (_, index) => {
|
|
53
|
+
const month = startOfMonth(date.add({ months: index }));
|
|
54
|
+
const first = month.subtract({ days: (getDayOfWeek(month, locale, "sun") - weekStart + 7) % 7 });
|
|
55
|
+
const length = fixed ? 42 : Math.ceil(((getDayOfWeek(month, locale, "sun") - weekStart + 7) % 7 + month.calendar.getDaysInMonth(month)) / 7) * 7;
|
|
56
|
+
return { month, days: Array.from({ length }, (_, index) => first.add({ days: index })) };
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export function calendarDisabled(date: DateValue, options: Pick<CalendarContract, "disabled" | "minValue" | "maxValue" | "isDateDisabled">) {
|
|
60
|
+
return !!(options.disabled || (options.minValue && date.compare(options.minValue) < 0) || (options.maxValue && date.compare(options.maxValue) > 0) || options.isDateDisabled?.(date));
|
|
61
|
+
}
|
|
62
|
+
export function calendarRangeValid(start: DateValue, end: DateValue, options: CalendarContract & { minDays?: number; maxDays?: number; excludeDisabled?: boolean }) {
|
|
63
|
+
const length = end.calendar.toJulianDay(end) - start.calendar.toJulianDay(start) + 1;
|
|
64
|
+
if (length < (options.minDays ?? 1) || length > (options.maxDays ?? Infinity)) return false;
|
|
65
|
+
if (options.excludeDisabled) for (let day = start; day.compare(end) <= 0; day = day.add({ days: 1 })) {
|
|
66
|
+
if (calendarDisabled(day, options) || options.isDateUnavailable?.(day)) return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
/** Arrow/day, week-edge and month/year moves; disabled dates are skipped within the bounds. */
|
|
71
|
+
export function calendarKeyTarget(date: DateValue, key: string, options: CalendarContract, shift = false, rtl = false): DateValue | undefined {
|
|
72
|
+
const weekStart = options.weekStartsOn ?? 0, weekday = getDayOfWeek(date, options.locale ?? "en", "sun");
|
|
73
|
+
let next = key === "ArrowLeft" ? date.add({ days: rtl ? 1 : -1 }) : key === "ArrowRight" ? date.add({ days: rtl ? -1 : 1 }) : key === "ArrowUp" ? date.subtract({ days: 7 }) : key === "ArrowDown" ? date.add({ days: 7 }) : key === "Home" ? date.subtract({ days: (weekday - weekStart + 7) % 7 }) : key === "End" ? date.add({ days: 6 - (weekday - weekStart + 7) % 7 }) : key === "PageUp" ? date.subtract(shift ? { years: 1 } : { months: 1 }) : key === "PageDown" ? date.add(shift ? { years: 1 } : { months: 1 }) : undefined;
|
|
74
|
+
if (!next || options.disabled) return undefined;
|
|
75
|
+
if (options.minValue && next.compare(options.minValue) < 0) next = options.minValue;
|
|
76
|
+
if (options.maxValue && next.compare(options.maxValue) > 0) next = options.maxValue;
|
|
77
|
+
const step = next.compare(date) >= 0 ? 1 : -1;
|
|
78
|
+
for (let attempt = 0; attempt < 366; attempt++) {
|
|
79
|
+
if (!calendarDisabled(next, options)) return next;
|
|
80
|
+
next = next.add({ days: step });
|
|
81
|
+
if ((options.minValue && next.compare(options.minValue) < 0) || (options.maxValue && next.compare(options.maxValue) > 0)) return undefined;
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** Resolve text direction for language and script locales across modern Intl implementations. */
|
|
87
|
+
export function calendarDirection(locale: string): "ltr" | "rtl" {
|
|
88
|
+
const info = new Intl.Locale(locale) as Intl.Locale & { textInfo?: { direction: string }; getTextInfo?: () => { direction: string } };
|
|
89
|
+
return (info.getTextInfo?.().direction ?? info.textInfo?.direction ?? (/^(ar|fa|he|ur)(-|$)/.test(locale) ? "rtl" : "ltr")) === "rtl" ? "rtl" : "ltr";
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** Keep a DateValue's calendar identity when a renderer derives its calendar from locale. */
|
|
93
|
+
export function calendarLocale(locale: string, date: DateValue | undefined): string {
|
|
94
|
+
return date ? new Intl.Locale(locale, { calendar: date.calendar.identifier }).toString() : locale;
|
|
95
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ImageAsset } from "../image.variants";
|
|
2
|
+
/** Portable content properties of one carousel slide. */
|
|
3
|
+
export interface CarouselSlideContract {
|
|
4
|
+
/** Visible meaning included in the slide's accessible position label. */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Base Image used when the adapter has no custom slide content. */
|
|
7
|
+
image?: ImageAsset;
|
|
8
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** One flat native Select option; richer groups arrive as native option children. */
|
|
2
|
+
export interface SelectOption {
|
|
3
|
+
/** Native serialized value. */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Visible option name. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Keep this option unavailable to native selection. */
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Native selected values; multiple selections preserve option order. */
|
|
12
|
+
export type SelectValue = string | number | readonly string[];
|
|
13
|
+
|
|
14
|
+
/** Read native selection for binding and reset; callbacks keep their first-value dialect. */
|
|
15
|
+
export function readSelectValue(element: HTMLSelectElement): string | string[] {
|
|
16
|
+
return element.multiple ? Array.from(element.selectedOptions, option => option.value) : element.value;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Apply a controlled selection after native form reset without dispatching change. */
|
|
20
|
+
export function writeSelectValue(element: HTMLSelectElement, value: SelectValue): void {
|
|
21
|
+
const values = new Set((Array.isArray(value) ? value : [value]).map(String));
|
|
22
|
+
let matched = false;
|
|
23
|
+
for (const option of element.options) {
|
|
24
|
+
const selected: boolean = values.has(option.value) && (element.multiple || !matched);
|
|
25
|
+
option.selected = selected;
|
|
26
|
+
matched ||= selected;
|
|
27
|
+
}
|
|
28
|
+
if (!matched && !element.multiple) element.selectedIndex = -1;
|
|
29
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Copy exact source; unavailable or denied clipboard access is a recoverable result. */
|
|
2
|
+
export async function copyCodeSource(code: string): Promise<boolean> {
|
|
3
|
+
try {
|
|
4
|
+
await navigator.clipboard.writeText(code);
|
|
5
|
+
return true;
|
|
6
|
+
} catch {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Measure again on content/layout updates; dispose observers with the native adapter. */
|
|
12
|
+
export function observeCodeOverflow(element: HTMLPreElement, changed: (overflowing: boolean) => void): () => void {
|
|
13
|
+
const measure = () => changed(element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight);
|
|
14
|
+
measure();
|
|
15
|
+
if (typeof ResizeObserver === "undefined") {
|
|
16
|
+
window.addEventListener("resize", measure);
|
|
17
|
+
return () => window.removeEventListener("resize", measure);
|
|
18
|
+
}
|
|
19
|
+
const observer = new ResizeObserver(measure);
|
|
20
|
+
observer.observe(element);
|
|
21
|
+
if (element.firstElementChild) observer.observe(element.firstElementChild);
|
|
22
|
+
return () => observer.disconnect();
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** A confirmation belongs to one overlay session; stale work cannot close a reopened session. */
|
|
2
|
+
export function createConfirmationSession(changed: (pending: boolean) => void) {
|
|
3
|
+
let generation = 0, pending = false;
|
|
4
|
+
return {
|
|
5
|
+
reset() { generation++; pending = false; changed(false); },
|
|
6
|
+
confirm(action: () => unknown | Promise<unknown>, commit: () => void): void | Promise<void> {
|
|
7
|
+
if (pending) return;
|
|
8
|
+
const ticket = ++generation;
|
|
9
|
+
pending = true; changed(true);
|
|
10
|
+
const finish = (accepted: boolean) => {
|
|
11
|
+
if (ticket !== generation) return;
|
|
12
|
+
pending = false; changed(false);
|
|
13
|
+
if (accepted) commit();
|
|
14
|
+
};
|
|
15
|
+
try {
|
|
16
|
+
const result = action();
|
|
17
|
+
if (result && typeof (result as PromiseLike<unknown>).then === "function") {
|
|
18
|
+
return Promise.resolve(result).then(() => finish(true), () => finish(false));
|
|
19
|
+
}
|
|
20
|
+
finish(true);
|
|
21
|
+
} catch { finish(false); }
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AccordionItem } from "../../accordion.variants";
|
|
2
|
+
|
|
3
|
+
/** Canonical portable Accordion properties, shared by native adapters. */
|
|
4
|
+
export interface AccordionContract {
|
|
5
|
+
/** Accessible name for the collection of sections. */
|
|
6
|
+
label: string;
|
|
7
|
+
/**
|
|
8
|
+
* The sections, in order: each has a unique `value`, a visible `label` and an optional
|
|
9
|
+
* `disabled` flag.
|
|
10
|
+
*/
|
|
11
|
+
items: readonly AccordionItem[];
|
|
12
|
+
/** Expanded item values, bindable (ADR 0026). Single mode retains at most one value. */
|
|
13
|
+
value?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* Lets several sections stay open at once. When omitted, opening a section closes the previous
|
|
16
|
+
* one.
|
|
17
|
+
*/
|
|
18
|
+
multiple?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Disables the whole Accordion so no section can be toggled; one section is disabled through
|
|
21
|
+
* its own item.
|
|
22
|
+
*/
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** Extra classes merged onto every section's trigger Button. */
|
|
25
|
+
triggerClass?: string;
|
|
26
|
+
/** Extra classes merged onto every section's content region. */
|
|
27
|
+
contentClass?: string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
/** Shared canonical Carousel properties. */
|
|
3
|
+
export interface CarouselContract {
|
|
4
|
+
/** Accessible name for the carousel region. */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Initially selected zero-based slide index. */
|
|
7
|
+
initialIndex?: number;
|
|
8
|
+
/** Opt-in automatic rotation, suspended under reduced motion. A pause/resume control is always rendered when enabled. */
|
|
9
|
+
autoplay?: boolean;
|
|
10
|
+
/** Milliseconds between automatic selections. */
|
|
11
|
+
interval?: number;
|
|
12
|
+
/**
|
|
13
|
+
* The slide shown first holds the page's Largest Contentful Paint: its `image` is fetched
|
|
14
|
+
* eagerly at high priority. Every other slide image stays lazy.
|
|
15
|
+
*/
|
|
16
|
+
priority?: boolean;
|
|
17
|
+
/** Extra classes merged onto the viewport that wraps the slides. */
|
|
18
|
+
viewportClass?: string;
|
|
19
|
+
/** Extra classes merged onto each slide's group element. */
|
|
20
|
+
slideClass?: string;
|
|
21
|
+
/** Extra classes merged onto the row holding the previous, next and rotation controls. */
|
|
22
|
+
controlsClass?: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ComboboxOption, ComboboxSize } from "../../combobox.variants";
|
|
2
|
+
|
|
3
|
+
/** Canonical portable Combobox properties, shared by native adapters. */
|
|
4
|
+
export interface ComboboxContract {
|
|
5
|
+
/** Visible Field label for the typeahead input. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Caller-owned selectable values and their searchable labels. */
|
|
8
|
+
options: readonly ComboboxOption[];
|
|
9
|
+
/** Native form name applied to the selected value. */
|
|
10
|
+
name?: string;
|
|
11
|
+
/** Selected option value. */
|
|
12
|
+
value?: string;
|
|
13
|
+
/** Current text in the typeahead input. */
|
|
14
|
+
inputValue?: string;
|
|
15
|
+
/** Supporting text announced with the input. */
|
|
16
|
+
help?: string;
|
|
17
|
+
/** Current validation error announced with the input. */
|
|
18
|
+
error?: string;
|
|
19
|
+
/** Marks the input as required: the label shows it and the native control enforces it. */
|
|
20
|
+
required?: boolean;
|
|
21
|
+
/** Disables the input and the listbox, so nothing can be typed or chosen. */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Hint text shown in the input while it is empty. */
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
/** Whether the anchored listbox is open. */
|
|
26
|
+
open?: boolean;
|
|
27
|
+
/** The control height step, matching Button's `size` (default `md`). */
|
|
28
|
+
controlSize?: ComboboxSize;
|
|
29
|
+
/** Extra classes merged onto the typeahead input. */
|
|
30
|
+
inputClass?: string;
|
|
31
|
+
/** Extra classes merged onto the anchored listbox surface. */
|
|
32
|
+
contentClass?: string;
|
|
33
|
+
/** Extra classes merged onto every option row. */
|
|
34
|
+
itemClass?: string;
|
|
35
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
/** Canonical portable DateField properties, shared by native adapters. */
|
|
4
|
+
export interface DateFieldContract {
|
|
5
|
+
/** Visible label text owned by the caller. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Native form name receiving a complete, possible date. */
|
|
8
|
+
name?: string;
|
|
9
|
+
/** Complete ISO calendar date. */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** Supporting text associated with every segment. */
|
|
12
|
+
help?: string;
|
|
13
|
+
/** Current validation error associated with every segment. */
|
|
14
|
+
error?: string;
|
|
15
|
+
/** Applies native required validation to every segment. */
|
|
16
|
+
required?: boolean;
|
|
17
|
+
/** Disables every native segment. */
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/** Explicit id for the year segment. */
|
|
20
|
+
id?: string;
|
|
21
|
+
/** Extra classes merged onto every native segment. */
|
|
22
|
+
segmentClass?: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
type Side = "top" | "right" | "bottom" | "left";
|
|
2
|
+
type Align = "start" | "center" | "end";
|
|
3
|
+
import type { DateValue } from "@internationalized/date";
|
|
4
|
+
|
|
5
|
+
/** Canonical portable DatePicker properties, shared by native adapters. */
|
|
6
|
+
export interface DatePickerContract {
|
|
7
|
+
/** Visible DateField label. */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Accessible name for the Calendar grid and Popover dialog. */
|
|
10
|
+
calendarLabel: string;
|
|
11
|
+
/** Accessible name for the canonical Button that opens the calendar. */
|
|
12
|
+
triggerLabel?: string;
|
|
13
|
+
/** Native form name receiving the synchronized complete date. */
|
|
14
|
+
name?: string;
|
|
15
|
+
/** Complete ISO calendar date shared by DateField and Calendar. */
|
|
16
|
+
value?: string;
|
|
17
|
+
/** Supporting text associated with every date segment. */
|
|
18
|
+
help?: string;
|
|
19
|
+
/** Current validation error associated with every date segment. */
|
|
20
|
+
error?: string;
|
|
21
|
+
/** Applies native required validation to every date segment and marks the label as required. */
|
|
22
|
+
required?: boolean;
|
|
23
|
+
/** Disables the date segments, the trigger Button and the Calendar. */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Explicit id for the year segment. A generated one is used when omitted. */
|
|
26
|
+
id?: string;
|
|
27
|
+
/** Whether the calendar Popover is open. */
|
|
28
|
+
open?: boolean;
|
|
29
|
+
/** Calendar month shown when no value is selected. */
|
|
30
|
+
placeholder?: DateValue;
|
|
31
|
+
/** Earliest date the Calendar lets the user select. */
|
|
32
|
+
minValue?: DateValue;
|
|
33
|
+
/** Latest date the Calendar lets the user select. */
|
|
34
|
+
maxValue?: DateValue;
|
|
35
|
+
/** Called with each date; return `true` to show it in the Calendar but make it unselectable. */
|
|
36
|
+
isDateUnavailable?: (date: DateValue) => boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Preferred side of the trigger for the Popover; collision handling may flip it. Defaults to
|
|
39
|
+
* `bottom`.
|
|
40
|
+
*/
|
|
41
|
+
side?: Side;
|
|
42
|
+
/** Preferred alignment of the Popover along the selected side. Defaults to `start`. */
|
|
43
|
+
align?: Align;
|
|
44
|
+
/** Distance in pixels between the trigger and the Popover. Defaults to `8`. */
|
|
45
|
+
sideOffset?: number;
|
|
46
|
+
/** Safe distance in pixels kept between the Popover and the viewport edges. Defaults to `8`. */
|
|
47
|
+
collisionPadding?: number;
|
|
48
|
+
/** Extra classes merged onto the DateField root. */
|
|
49
|
+
fieldClass?: string;
|
|
50
|
+
/** Extra classes merged onto each native date segment. */
|
|
51
|
+
segmentClass?: string;
|
|
52
|
+
/** Extra classes merged onto the Button that opens the calendar. */
|
|
53
|
+
triggerClass?: string;
|
|
54
|
+
/** Extra classes merged onto the Popover surface that holds the Calendar. */
|
|
55
|
+
contentClass?: string;
|
|
56
|
+
/** Extra classes merged onto the Calendar root. */
|
|
57
|
+
calendarClass?: string;
|
|
58
|
+
/** Extra classes merged onto the Calendar's previous-month and next-month Buttons. */
|
|
59
|
+
navigationClass?: string;
|
|
60
|
+
/** Extra classes merged onto each day button in the Calendar. */
|
|
61
|
+
dayClass?: string;
|
|
62
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
/** Canonical portable DateRangeField properties, shared by native adapters. */
|
|
4
|
+
export interface DateRangeFieldContract {
|
|
5
|
+
/** Visible legend naming the related bounds. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Visible label for the first DateField. */
|
|
8
|
+
startLabel: string;
|
|
9
|
+
/** Visible label for the second DateField. */
|
|
10
|
+
endLabel: string;
|
|
11
|
+
/** Native form name receiving the ordered start value. */
|
|
12
|
+
startName?: string;
|
|
13
|
+
/** Native form name receiving the ordered end value. */
|
|
14
|
+
endName?: string;
|
|
15
|
+
/** Complete start calendar date. */
|
|
16
|
+
startValue?: string;
|
|
17
|
+
/** Complete end calendar date. */
|
|
18
|
+
endValue?: string;
|
|
19
|
+
/** Supporting text associated with the complete range. */
|
|
20
|
+
help?: string;
|
|
21
|
+
/** Caller-owned message used when the end precedes the start. */
|
|
22
|
+
rangeError?: string;
|
|
23
|
+
/** Applies native required validation to every segment. */
|
|
24
|
+
required?: boolean;
|
|
25
|
+
/** Disables the native group and both composed fields. */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** Explicit id prefix for group associations and both fields. */
|
|
28
|
+
id?: string;
|
|
29
|
+
/** Extra classes merged onto each DateField root. */
|
|
30
|
+
fieldClass?: string;
|
|
31
|
+
/** Extra classes merged onto all six date segments. */
|
|
32
|
+
segmentClass?: string;
|
|
33
|
+
}
|