@reddb-io/ui-kit 0.3.3 → 0.3.5

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.
Files changed (873) hide show
  1. package/package.json +11 -13
  2. package/src/lib/Badge.svelte +7 -27
  3. package/src/lib/Button.svelte +10 -33
  4. package/src/lib/Card.svelte +5 -20
  5. package/src/lib/EmptyState.svelte +5 -26
  6. package/src/lib/ListRow.svelte +14 -49
  7. package/src/lib/NodeBadge.svelte +6 -14
  8. package/src/lib/Pill.svelte +7 -25
  9. package/src/lib/SectionHeading.svelte +7 -20
  10. package/src/lib/index.ts +7 -18
  11. package/src/lib/tone.ts +11 -0
  12. package/src/tokens/index.ts +40 -17
  13. package/src/tokens/styles.css +4 -0
  14. package/src/tokens/tokens.css +68 -89
  15. package/vendor/ds/assets/fonts/jetbrains-mono-variable.woff2 +0 -0
  16. package/vendor/ds/assets/fonts/space-grotesk-variable.woff2 +0 -0
  17. package/vendor/ds/assets/fonts.css +38 -0
  18. package/vendor/ds/design-system.receipt.json +871 -0
  19. package/vendor/ds/kits/app/README.md +601 -0
  20. package/vendor/ds/kits/app/interaction-allowlist.json +35 -0
  21. package/vendor/ds/kits/app/kit.json +5 -0
  22. package/vendor/ds/kits/app/src/composites/ActionPanel.svelte +66 -0
  23. package/vendor/ds/kits/app/src/composites/ActivityFeed.svelte +29 -0
  24. package/vendor/ds/kits/app/src/composites/ApplicationShell.svelte +99 -0
  25. package/vendor/ds/kits/app/src/composites/BottomNavigation.svelte +68 -0
  26. package/vendor/ds/kits/app/src/composites/CardHeading.svelte +44 -0
  27. package/vendor/ds/kits/app/src/composites/CategoryFilter.svelte +83 -0
  28. package/vendor/ds/kits/app/src/composites/CategoryPreview.svelte +45 -0
  29. package/vendor/ds/kits/app/src/composites/ChatMessage.svelte +53 -0
  30. package/vendor/ds/kits/app/src/composites/CheckoutForm.svelte +91 -0
  31. package/vendor/ds/kits/app/src/composites/CommandPalette.svelte +80 -0
  32. package/vendor/ds/kits/app/src/composites/ContextMenu.svelte +138 -0
  33. package/vendor/ds/kits/app/src/composites/Diff.svelte +146 -0
  34. package/vendor/ds/kits/app/src/composites/EntityInspector.svelte +40 -0
  35. package/vendor/ds/kits/app/src/composites/EntityJourney.svelte +60 -0
  36. package/vendor/ds/kits/app/src/composites/Filter.svelte +42 -0
  37. package/vendor/ds/kits/app/src/composites/Incentive.svelte +61 -0
  38. package/vendor/ds/kits/app/src/composites/Menubar.svelte +121 -0
  39. package/vendor/ds/kits/app/src/composites/MultiColumnLayout.svelte +51 -0
  40. package/vendor/ds/kits/app/src/composites/OrderHistory.svelte +70 -0
  41. package/vendor/ds/kits/app/src/composites/OrderSummary.svelte +60 -0
  42. package/vendor/ds/kits/app/src/composites/PageHeading.svelte +46 -0
  43. package/vendor/ds/kits/app/src/composites/PhaseSummary.svelte +38 -0
  44. package/vendor/ds/kits/app/src/composites/PlaybackControls.svelte +62 -0
  45. package/vendor/ds/kits/app/src/composites/ProductFeature.svelte +71 -0
  46. package/vendor/ds/kits/app/src/composites/ProductList.svelte +74 -0
  47. package/vendor/ds/kits/app/src/composites/ProductOverview.svelte +77 -0
  48. package/vendor/ds/kits/app/src/composites/ProductQuickview.svelte +62 -0
  49. package/vendor/ds/kits/app/src/composites/PropertyPanel.svelte +42 -0
  50. package/vendor/ds/kits/app/src/composites/Review.svelte +68 -0
  51. package/vendor/ds/kits/app/src/composites/SettingsRow.svelte +38 -0
  52. package/vendor/ds/kits/app/src/composites/ShoppingCart.svelte +136 -0
  53. package/vendor/ds/kits/app/src/composites/SidebarLayout.svelte +349 -0
  54. package/vendor/ds/kits/app/src/composites/SidebarNavigation.svelte +74 -0
  55. package/vendor/ds/kits/app/src/composites/SidebarPanel.svelte +50 -0
  56. package/vendor/ds/kits/app/src/composites/SidebarRail.svelte +162 -0
  57. package/vendor/ds/kits/app/src/composites/SpeedDial.svelte +67 -0
  58. package/vendor/ds/kits/app/src/composites/StoreNavigation.svelte +53 -0
  59. package/vendor/ds/kits/app/src/composites/TaskCard.svelte +71 -0
  60. package/vendor/ds/kits/app/src/composites/TaskList.svelte +52 -0
  61. package/vendor/ds/kits/app/src/composites/TelemetryRow.svelte +41 -0
  62. package/vendor/ds/kits/app/src/composites/Toolbar.svelte +67 -0
  63. package/vendor/ds/kits/app/src/composites/action-panel.variants.ts +12 -0
  64. package/vendor/ds/kits/app/src/composites/activity-feed.variants.ts +10 -0
  65. package/vendor/ds/kits/app/src/composites/application-shell.behavior.ts +25 -0
  66. package/vendor/ds/kits/app/src/composites/application-shell.variants.ts +35 -0
  67. package/vendor/ds/kits/app/src/composites/bottom-navigation.variants.ts +20 -0
  68. package/vendor/ds/kits/app/src/composites/card-heading.variants.ts +7 -0
  69. package/vendor/ds/kits/app/src/composites/category-filter.variants.ts +22 -0
  70. package/vendor/ds/kits/app/src/composites/category-preview.variants.ts +21 -0
  71. package/vendor/ds/kits/app/src/composites/chat-message.variants.ts +16 -0
  72. package/vendor/ds/kits/app/src/composites/checkout-form.appearance.ts +19 -0
  73. package/vendor/ds/kits/app/src/composites/checkout-form.variants.ts +7 -0
  74. package/vendor/ds/kits/app/src/composites/command-palette.behavior.ts +11 -0
  75. package/vendor/ds/kits/app/src/composites/command-palette.variants.ts +15 -0
  76. package/vendor/ds/kits/app/src/composites/command-surfaces.behavior.ts +24 -0
  77. package/vendor/ds/kits/app/src/composites/context-menu.variants.ts +19 -0
  78. package/vendor/ds/kits/app/src/composites/diff.variants.ts +31 -0
  79. package/vendor/ds/kits/app/src/composites/filter.variants.ts +21 -0
  80. package/vendor/ds/kits/app/src/composites/incentive.variants.ts +18 -0
  81. package/vendor/ds/kits/app/src/composites/main-landmark.ts +23 -0
  82. package/vendor/ds/kits/app/src/composites/menubar.variants.ts +18 -0
  83. package/vendor/ds/kits/app/src/composites/multi-column-layout.variants.ts +39 -0
  84. package/vendor/ds/kits/app/src/composites/navigation.behavior.ts +84 -0
  85. package/vendor/ds/kits/app/src/composites/order-history.variants.ts +38 -0
  86. package/vendor/ds/kits/app/src/composites/order-summary.variants.ts +23 -0
  87. package/vendor/ds/kits/app/src/composites/page-heading.variants.ts +22 -0
  88. package/vendor/ds/kits/app/src/composites/product-feature.variants.ts +37 -0
  89. package/vendor/ds/kits/app/src/composites/product-list.behavior.ts +4 -0
  90. package/vendor/ds/kits/app/src/composites/product-list.variants.ts +35 -0
  91. package/vendor/ds/kits/app/src/composites/product-overview.variants.ts +23 -0
  92. package/vendor/ds/kits/app/src/composites/product-quickview.variants.ts +21 -0
  93. package/vendor/ds/kits/app/src/composites/review.variants.ts +17 -0
  94. package/vendor/ds/kits/app/src/composites/settings-row.variants.ts +17 -0
  95. package/vendor/ds/kits/app/src/composites/shopping-cart.appearance.ts +32 -0
  96. package/vendor/ds/kits/app/src/composites/shopping-cart.variants.ts +5 -0
  97. package/vendor/ds/kits/app/src/composites/sidebar-layout.variants.ts +211 -0
  98. package/vendor/ds/kits/app/src/composites/sidebar-navigation.variants.ts +12 -0
  99. package/vendor/ds/kits/app/src/composites/sidebar-panel.variants.ts +13 -0
  100. package/vendor/ds/kits/app/src/composites/sidebar-rail.variants.ts +58 -0
  101. package/vendor/ds/kits/app/src/composites/speed-dial.variants.ts +22 -0
  102. package/vendor/ds/kits/app/src/composites/store-navigation.variants.ts +15 -0
  103. package/vendor/ds/kits/app/src/composites/task-list.behavior.ts +51 -0
  104. package/vendor/ds/kits/app/src/composites/task-list.variants.ts +18 -0
  105. package/vendor/ds/kits/app/src/composites/toolbar.variants.ts +27 -0
  106. package/vendor/ds/kits/app/src/core/category-filter.ts +4 -0
  107. package/vendor/ds/kits/app/src/core/checkout-form.ts +22 -0
  108. package/vendor/ds/kits/app/src/core/contracts/actionpanel.ts +24 -0
  109. package/vendor/ds/kits/app/src/core/contracts/activityfeed.ts +10 -0
  110. package/vendor/ds/kits/app/src/core/contracts/applicationshell.ts +17 -0
  111. package/vendor/ds/kits/app/src/core/contracts/bottomnavigation.ts +20 -0
  112. package/vendor/ds/kits/app/src/core/contracts/cardheading.ts +15 -0
  113. package/vendor/ds/kits/app/src/core/contracts/categoryfilter.ts +21 -0
  114. package/vendor/ds/kits/app/src/core/contracts/categorypreview.ts +18 -0
  115. package/vendor/ds/kits/app/src/core/contracts/chatmessage.ts +18 -0
  116. package/vendor/ds/kits/app/src/core/contracts/checkoutform.ts +18 -0
  117. package/vendor/ds/kits/app/src/core/contracts/commandpalette.ts +24 -0
  118. package/vendor/ds/kits/app/src/core/contracts/contextmenu.ts +30 -0
  119. package/vendor/ds/kits/app/src/core/contracts/diff.ts +18 -0
  120. package/vendor/ds/kits/app/src/core/contracts/entityinspector.ts +25 -0
  121. package/vendor/ds/kits/app/src/core/contracts/entityjourney.ts +14 -0
  122. package/vendor/ds/kits/app/src/core/contracts/filter.ts +22 -0
  123. package/vendor/ds/kits/app/src/core/contracts/incentive.ts +11 -0
  124. package/vendor/ds/kits/app/src/core/contracts/listrow.ts +15 -0
  125. package/vendor/ds/kits/app/src/core/contracts/menubar.ts +28 -0
  126. package/vendor/ds/kits/app/src/core/contracts/multicolumnlayout.ts +7 -0
  127. package/vendor/ds/kits/app/src/core/contracts/navitem.ts +17 -0
  128. package/vendor/ds/kits/app/src/core/contracts/nodebadge.ts +11 -0
  129. package/vendor/ds/kits/app/src/core/contracts/orderhistory.ts +25 -0
  130. package/vendor/ds/kits/app/src/core/contracts/ordersummary.ts +19 -0
  131. package/vendor/ds/kits/app/src/core/contracts/pageheading.ts +9 -0
  132. package/vendor/ds/kits/app/src/core/contracts/phasesummary.ts +9 -0
  133. package/vendor/ds/kits/app/src/core/contracts/pill.ts +17 -0
  134. package/vendor/ds/kits/app/src/core/contracts/playbackcontrols.ts +20 -0
  135. package/vendor/ds/kits/app/src/core/contracts/productfeature.ts +14 -0
  136. package/vendor/ds/kits/app/src/core/contracts/productlist.ts +17 -0
  137. package/vendor/ds/kits/app/src/core/contracts/productoverview.ts +20 -0
  138. package/vendor/ds/kits/app/src/core/contracts/productquickview.ts +16 -0
  139. package/vendor/ds/kits/app/src/core/contracts/propertypanel.ts +9 -0
  140. package/vendor/ds/kits/app/src/core/contracts/review.ts +22 -0
  141. package/vendor/ds/kits/app/src/core/contracts/settingsrow.ts +13 -0
  142. package/vendor/ds/kits/app/src/core/contracts/shoppingcart.ts +29 -0
  143. package/vendor/ds/kits/app/src/core/contracts/sidebarlayout.ts +40 -0
  144. package/vendor/ds/kits/app/src/core/contracts/sidebarnavigation.ts +16 -0
  145. package/vendor/ds/kits/app/src/core/contracts/sidebarpanel.ts +22 -0
  146. package/vendor/ds/kits/app/src/core/contracts/sidebarrail.ts +13 -0
  147. package/vendor/ds/kits/app/src/core/contracts/speeddial.ts +32 -0
  148. package/vendor/ds/kits/app/src/core/contracts/splitview.ts +15 -0
  149. package/vendor/ds/kits/app/src/core/contracts/storenavigation.ts +20 -0
  150. package/vendor/ds/kits/app/src/core/contracts/taskcard.ts +7 -0
  151. package/vendor/ds/kits/app/src/core/contracts/tasklist.ts +13 -0
  152. package/vendor/ds/kits/app/src/core/contracts/telemetryrow.ts +17 -0
  153. package/vendor/ds/kits/app/src/core/contracts/toolbar.ts +25 -0
  154. package/vendor/ds/kits/app/src/core/diff.ts +7 -0
  155. package/vendor/ds/kits/app/src/core/entity-inspector.ts +26 -0
  156. package/vendor/ds/kits/app/src/core/entity-journey.ts +52 -0
  157. package/vendor/ds/kits/app/src/core/measure.ts +7 -0
  158. package/vendor/ds/kits/app/src/core/operational.ts +42 -0
  159. package/vendor/ds/kits/app/src/core/product-list.ts +16 -0
  160. package/vendor/ds/kits/app/src/core/settings-row.ts +9 -0
  161. package/vendor/ds/kits/app/src/core/shopping-cart.ts +17 -0
  162. package/vendor/ds/kits/app/src/core/sidebar-rail.ts +58 -0
  163. package/vendor/ds/kits/app/src/entity-inspector.variants.ts +14 -0
  164. package/vendor/ds/kits/app/src/entity-journey.variants.ts +38 -0
  165. package/vendor/ds/kits/app/src/index.ts +429 -0
  166. package/vendor/ds/kits/app/src/operational.variants.ts +20 -0
  167. package/vendor/ds/kits/app/src/primitives/ListRow.svelte +95 -0
  168. package/vendor/ds/kits/app/src/primitives/NavItem.svelte +87 -0
  169. package/vendor/ds/kits/app/src/primitives/NodeBadge.svelte +47 -0
  170. package/vendor/ds/kits/app/src/primitives/Pill.svelte +81 -0
  171. package/vendor/ds/kits/app/src/primitives/SplitView.svelte +148 -0
  172. package/vendor/ds/kits/app/src/primitives/list-row.variants.ts +82 -0
  173. package/vendor/ds/kits/app/src/primitives/nav-item.variants.ts +56 -0
  174. package/vendor/ds/kits/app/src/primitives/node-badge.variants.ts +73 -0
  175. package/vendor/ds/kits/app/src/primitives/pill.variants.ts +117 -0
  176. package/vendor/ds/kits/app/src/primitives/split-view.behavior.ts +113 -0
  177. package/vendor/ds/kits/app/src/primitives/split-view.variants.ts +60 -0
  178. package/vendor/ds/kits/app/src/recipes.ts +44 -0
  179. package/vendor/ds/kits/app/svelte.config.js +6 -0
  180. package/vendor/ds/kits/app/test/action-panel.test.ts +63 -0
  181. package/vendor/ds/kits/app/test/activity-feed.test.ts +74 -0
  182. package/vendor/ds/kits/app/test/application-shell.test.ts +147 -0
  183. package/vendor/ds/kits/app/test/base-contraction.test.ts +60 -0
  184. package/vendor/ds/kits/app/test/button-migration.test.ts +134 -0
  185. package/vendor/ds/kits/app/test/card-heading.test.ts +53 -0
  186. package/vendor/ds/kits/app/test/category-filter.test.ts +84 -0
  187. package/vendor/ds/kits/app/test/category-preview.test.ts +75 -0
  188. package/vendor/ds/kits/app/test/chat-message.test.ts +70 -0
  189. package/vendor/ds/kits/app/test/checkout-form.test.ts +134 -0
  190. package/vendor/ds/kits/app/test/coherence.test.ts +193 -0
  191. package/vendor/ds/kits/app/test/command-palette.test.ts +177 -0
  192. package/vendor/ds/kits/app/test/command-surface-failures.test.ts +28 -0
  193. package/vendor/ds/kits/app/test/commerce-readiness.ts +54 -0
  194. package/vendor/ds/kits/app/test/consumer-check.test.ts +61 -0
  195. package/vendor/ds/kits/app/test/context-menu.test.ts +96 -0
  196. package/vendor/ds/kits/app/test/density.test.ts +487 -0
  197. package/vendor/ds/kits/app/test/diff.test.ts +121 -0
  198. package/vendor/ds/kits/app/test/elevation.test.ts +77 -0
  199. package/vendor/ds/kits/app/test/entity-inspector.test.ts +97 -0
  200. package/vendor/ds/kits/app/test/entity-journey.test.ts +100 -0
  201. package/vendor/ds/kits/app/test/event-dialect.test.ts +183 -0
  202. package/vendor/ds/kits/app/test/filter.test.ts +161 -0
  203. package/vendor/ds/kits/app/test/fixtures/ApplicationLayoutsConsumer.svelte +26 -0
  204. package/vendor/ds/kits/app/test/fixtures/ApplicationLayoutsContractFailures.svelte +19 -0
  205. package/vendor/ds/kits/app/test/fixtures/CommandPaletteConsumer.svelte +22 -0
  206. package/vendor/ds/kits/app/test/fixtures/CommandPaletteContractFailures.svelte +20 -0
  207. package/vendor/ds/kits/app/test/fixtures/CommandSurfaceContractFailures.svelte +24 -0
  208. package/vendor/ds/kits/app/test/fixtures/CommerceContractFailures.svelte +17 -0
  209. package/vendor/ds/kits/app/test/fixtures/CommerceSurfacesConsumer.svelte +30 -0
  210. package/vendor/ds/kits/app/test/fixtures/DiffConsumer.svelte +18 -0
  211. package/vendor/ds/kits/app/test/fixtures/DiffContractFailures.svelte +5 -0
  212. package/vendor/ds/kits/app/test/fixtures/EntityInspector.svelte +7 -0
  213. package/vendor/ds/kits/app/test/fixtures/EntityJourney.svelte +11 -0
  214. package/vendor/ds/kits/app/test/fixtures/FilterContractFailures.svelte +16 -0
  215. package/vendor/ds/kits/app/test/fixtures/FilterSurfacesConsumer.svelte +24 -0
  216. package/vendor/ds/kits/app/test/fixtures/FrameworkApp.svelte +28 -0
  217. package/vendor/ds/kits/app/test/fixtures/HeadingContractFailures.svelte +10 -0
  218. package/vendor/ds/kits/app/test/fixtures/MainOwnershipConsumer.svelte +35 -0
  219. package/vendor/ds/kits/app/test/fixtures/MerchandisingContractFailures.svelte +3 -0
  220. package/vendor/ds/kits/app/test/fixtures/MerchandisingSurfacesConsumer.svelte +28 -0
  221. package/vendor/ds/kits/app/test/fixtures/NavigationContractFailures.svelte +22 -0
  222. package/vendor/ds/kits/app/test/fixtures/NavigationSurfacesConsumer.svelte +23 -0
  223. package/vendor/ds/kits/app/test/fixtures/NestedSplitViewConsumer.svelte +20 -0
  224. package/vendor/ds/kits/app/test/fixtures/Operational.svelte +34 -0
  225. package/vendor/ds/kits/app/test/fixtures/ProductCatalogueConsumer.svelte +58 -0
  226. package/vendor/ds/kits/app/test/fixtures/ProductCatalogueContractFailures.svelte +29 -0
  227. package/vendor/ds/kits/app/test/fixtures/SettingsRows.svelte +10 -0
  228. package/vendor/ds/kits/app/test/fixtures/ShellBrandComposition.svelte +52 -0
  229. package/vendor/ds/kits/app/test/fixtures/SocialContractFailures.svelte +20 -0
  230. package/vendor/ds/kits/app/test/fixtures/SocialSurfacesConsumer.svelte +43 -0
  231. package/vendor/ds/kits/app/test/fixtures/TestGlyph.svelte +9 -0
  232. package/vendor/ds/kits/app/test/fixtures/TitlingSurfacesConsumer.svelte +21 -0
  233. package/vendor/ds/kits/app/test/fixtures/command-surfaces-consumer.ts +14 -0
  234. package/vendor/ds/kits/app/test/fixtures/consumer-check/Unfixed.svelte +50 -0
  235. package/vendor/ds/kits/app/test/fixtures/consumer-check/tsconfig.json +4 -0
  236. package/vendor/ds/kits/app/test/fixtures/markers/fixture-badge.variants.ts +12 -0
  237. package/vendor/ds/kits/app/test/fixtures/markers/fixture-chip.variants.ts +8 -0
  238. package/vendor/ds/kits/app/test/fixtures/tree-shaking/button-only.ts +7 -0
  239. package/vendor/ds/kits/app/test/fixtures/tree-shaking/menu-only.ts +9 -0
  240. package/vendor/ds/kits/app/test/fixtures/tree-shaking/number-field-only.ts +1 -0
  241. package/vendor/ds/kits/app/test/fixtures/tree-shaking/task-list-only.ts +1 -0
  242. package/vendor/ds/kits/app/test/framework-app.test.ts +140 -0
  243. package/vendor/ds/kits/app/test/framework-operational.test.ts +97 -0
  244. package/vendor/ds/kits/app/test/heading-level.test.ts +38 -0
  245. package/vendor/ds/kits/app/test/incentive.test.ts +60 -0
  246. package/vendor/ds/kits/app/test/label-in-name.ts +43 -0
  247. package/vendor/ds/kits/app/test/layout-readiness.ts +49 -0
  248. package/vendor/ds/kits/app/test/lint.test.ts +54 -0
  249. package/vendor/ds/kits/app/test/list-row.test.ts +117 -0
  250. package/vendor/ds/kits/app/test/main-ownership.test.ts +56 -0
  251. package/vendor/ds/kits/app/test/markers.test.ts +94 -0
  252. package/vendor/ds/kits/app/test/markers.ts +94 -0
  253. package/vendor/ds/kits/app/test/menubar.test.ts +93 -0
  254. package/vendor/ds/kits/app/test/mount.ts +86 -0
  255. package/vendor/ds/kits/app/test/multi-column-layout.test.ts +106 -0
  256. package/vendor/ds/kits/app/test/nav-item.test.ts +125 -0
  257. package/vendor/ds/kits/app/test/navigation-markers.test.ts +31 -0
  258. package/vendor/ds/kits/app/test/node-badge.test.ts +81 -0
  259. package/vendor/ds/kits/app/test/order-history.test.ts +78 -0
  260. package/vendor/ds/kits/app/test/order-summary.test.ts +77 -0
  261. package/vendor/ds/kits/app/test/page-heading.test.ts +90 -0
  262. package/vendor/ds/kits/app/test/pill.test.ts +63 -0
  263. package/vendor/ds/kits/app/test/product-feature.test.ts +76 -0
  264. package/vendor/ds/kits/app/test/product-list.test.ts +95 -0
  265. package/vendor/ds/kits/app/test/product-overview.test.ts +92 -0
  266. package/vendor/ds/kits/app/test/product-quickview.test.ts +116 -0
  267. package/vendor/ds/kits/app/test/react-consumer.tsx +36 -0
  268. package/vendor/ds/kits/app/test/review.test.ts +84 -0
  269. package/vendor/ds/kits/app/test/settings-row.test.ts +34 -0
  270. package/vendor/ds/kits/app/test/shell-brand.test.ts +22 -0
  271. package/vendor/ds/kits/app/test/shopping-cart.test.ts +172 -0
  272. package/vendor/ds/kits/app/test/sidebar-layout.test.ts +133 -0
  273. package/vendor/ds/kits/app/test/sidebar-navigation-bottom-navigation-store-navigation.test.ts +245 -0
  274. package/vendor/ds/kits/app/test/sidebar-panel.test.ts +29 -0
  275. package/vendor/ds/kits/app/test/sidebar-rail.test.ts +320 -0
  276. package/vendor/ds/kits/app/test/speed-dial.test.ts +53 -0
  277. package/vendor/ds/kits/app/test/split-view.behavior.test.ts +137 -0
  278. package/vendor/ds/kits/app/test/split-view.dense-tooling.test.ts +66 -0
  279. package/vendor/ds/kits/app/test/split-view.test.ts +210 -0
  280. package/vendor/ds/kits/app/test/task-list.test.ts +26 -0
  281. package/vendor/ds/kits/app/test/taxonomy.test.ts +149 -0
  282. package/vendor/ds/kits/app/test/toolbar.test.ts +42 -0
  283. package/vendor/ds/kits/app/test/tree-shaking.test.ts +381 -0
  284. package/vendor/ds/kits/app/test/vocabulary.test.ts +182 -0
  285. package/vendor/ds/kits/app/tools/build-cli.ts +34 -0
  286. package/vendor/ds/kits/app/tools/check-cli.ts +33 -0
  287. package/vendor/ds/kits/app/tools/consumer-check.ts +117 -0
  288. package/vendor/ds/kits/app/tools/lint-cli.ts +19 -0
  289. package/vendor/ds/kits/app/tools/paths.ts +47 -0
  290. package/vendor/ds/kits/app/tsconfig.consumer.json +30 -0
  291. package/vendor/ds/kits/app/tsconfig.json +26 -0
  292. package/vendor/ds/kits/app/type-ledger.json +4 -0
  293. package/vendor/ds/kits/app/vite.config.ts +28 -0
  294. package/vendor/ds/kits/base/README.md +1482 -0
  295. package/vendor/ds/kits/base/interaction-allowlist.json +106 -0
  296. package/vendor/ds/kits/base/kit.json +4 -0
  297. package/vendor/ds/kits/base/src/Accordion.svelte +113 -0
  298. package/vendor/ds/kits/base/src/Alert.svelte +51 -0
  299. package/vendor/ds/kits/base/src/AlertDialog.svelte +77 -0
  300. package/vendor/ds/kits/base/src/AppearanceSwitch.svelte +73 -0
  301. package/vendor/ds/kits/base/src/AspectRatio.svelte +32 -0
  302. package/vendor/ds/kits/base/src/Avatar.svelte +75 -0
  303. package/vendor/ds/kits/base/src/Badge.svelte +63 -0
  304. package/vendor/ds/kits/base/src/Breadcrumbs.svelte +57 -0
  305. package/vendor/ds/kits/base/src/BrowserMockup.svelte +53 -0
  306. package/vendor/ds/kits/base/src/BulletsSlide.svelte +60 -0
  307. package/vendor/ds/kits/base/src/Button.svelte +123 -0
  308. package/vendor/ds/kits/base/src/Calendar.svelte +156 -0
  309. package/vendor/ds/kits/base/src/Card.svelte +213 -0
  310. package/vendor/ds/kits/base/src/Carousel.svelte +172 -0
  311. package/vendor/ds/kits/base/src/Checkbox.svelte +99 -0
  312. package/vendor/ds/kits/base/src/CodeBlock.svelte +113 -0
  313. package/vendor/ds/kits/base/src/Combobox.svelte +124 -0
  314. package/vendor/ds/kits/base/src/Container.svelte +29 -0
  315. package/vendor/ds/kits/base/src/ContentMask.svelte +32 -0
  316. package/vendor/ds/kits/base/src/ControlGroup.svelte +42 -0
  317. package/vendor/ds/kits/base/src/Countdown.svelte +55 -0
  318. package/vendor/ds/kits/base/src/DateField.svelte +157 -0
  319. package/vendor/ds/kits/base/src/DatePicker.svelte +112 -0
  320. package/vendor/ds/kits/base/src/DateRangeField.svelte +81 -0
  321. package/vendor/ds/kits/base/src/DateRangePicker.svelte +137 -0
  322. package/vendor/ds/kits/base/src/Deck.svelte +24 -0
  323. package/vendor/ds/kits/base/src/DescriptionList.svelte +40 -0
  324. package/vendor/ds/kits/base/src/Dialog.svelte +143 -0
  325. package/vendor/ds/kits/base/src/Disclosure.svelte +85 -0
  326. package/vendor/ds/kits/base/src/Divider.svelte +22 -0
  327. package/vendor/ds/kits/base/src/Drawer.svelte +17 -0
  328. package/vendor/ds/kits/base/src/DropdownMenu.svelte +192 -0
  329. package/vendor/ds/kits/base/src/EmptyState.svelte +54 -0
  330. package/vendor/ds/kits/base/src/Eyebrow.svelte +21 -0
  331. package/vendor/ds/kits/base/src/Field.svelte +75 -0
  332. package/vendor/ds/kits/base/src/Fieldset.svelte +70 -0
  333. package/vendor/ds/kits/base/src/FigureSlide.svelte +70 -0
  334. package/vendor/ds/kits/base/src/FileInput.svelte +104 -0
  335. package/vendor/ds/kits/base/src/Form.svelte +21 -0
  336. package/vendor/ds/kits/base/src/GridList.svelte +51 -0
  337. package/vendor/ds/kits/base/src/Heading.svelte +41 -0
  338. package/vendor/ds/kits/base/src/Icon.svelte +75 -0
  339. package/vendor/ds/kits/base/src/Image.svelte +133 -0
  340. package/vendor/ds/kits/base/src/Indicator.svelte +35 -0
  341. package/vendor/ds/kits/base/src/InlineEdit.svelte +86 -0
  342. package/vendor/ds/kits/base/src/Input.svelte +84 -0
  343. package/vendor/ds/kits/base/src/Kbd.svelte +41 -0
  344. package/vendor/ds/kits/base/src/Label.svelte +21 -0
  345. package/vendor/ds/kits/base/src/Link.svelte +21 -0
  346. package/vendor/ds/kits/base/src/LinkPreview.svelte +95 -0
  347. package/vendor/ds/kits/base/src/List.svelte +28 -0
  348. package/vendor/ds/kits/base/src/ListContainer.svelte +51 -0
  349. package/vendor/ds/kits/base/src/LoadingIndicator.svelte +48 -0
  350. package/vendor/ds/kits/base/src/Logo.svelte +183 -0
  351. package/vendor/ds/kits/base/src/MediaObject.svelte +46 -0
  352. package/vendor/ds/kits/base/src/Meter.svelte +130 -0
  353. package/vendor/ds/kits/base/src/Navbar.svelte +176 -0
  354. package/vendor/ds/kits/base/src/NavigationMenu.svelte +124 -0
  355. package/vendor/ds/kits/base/src/NavigationScope.svelte +57 -0
  356. package/vendor/ds/kits/base/src/Notification.svelte +74 -0
  357. package/vendor/ds/kits/base/src/NumberField.svelte +104 -0
  358. package/vendor/ds/kits/base/src/OneTimeCodeInput.svelte +176 -0
  359. package/vendor/ds/kits/base/src/Pagination.svelte +40 -0
  360. package/vendor/ds/kits/base/src/PhoneInput.svelte +96 -0
  361. package/vendor/ds/kits/base/src/PhoneMockup.svelte +42 -0
  362. package/vendor/ds/kits/base/src/Popover.svelte +116 -0
  363. package/vendor/ds/kits/base/src/Progress.svelte +115 -0
  364. package/vendor/ds/kits/base/src/Prose.svelte +40 -0
  365. package/vendor/ds/kits/base/src/QuoteSlide.svelte +60 -0
  366. package/vendor/ds/kits/base/src/RadialProgress.svelte +85 -0
  367. package/vendor/ds/kits/base/src/RadioGroup.svelte +117 -0
  368. package/vendor/ds/kits/base/src/RangeCalendar.svelte +171 -0
  369. package/vendor/ds/kits/base/src/Rating.svelte +126 -0
  370. package/vendor/ds/kits/base/src/Reveal.svelte +36 -0
  371. package/vendor/ds/kits/base/src/ScrollArea.svelte +40 -0
  372. package/vendor/ds/kits/base/src/SearchSelect.svelte +203 -0
  373. package/vendor/ds/kits/base/src/SectionHeading.svelte +59 -0
  374. package/vendor/ds/kits/base/src/SectionSlide.svelte +56 -0
  375. package/vendor/ds/kits/base/src/Select.svelte +95 -0
  376. package/vendor/ds/kits/base/src/Skeleton.svelte +35 -0
  377. package/vendor/ds/kits/base/src/SkipLink.svelte +39 -0
  378. package/vendor/ds/kits/base/src/SlideFrame.svelte +63 -0
  379. package/vendor/ds/kits/base/src/Slider.svelte +107 -0
  380. package/vendor/ds/kits/base/src/Stack.svelte +57 -0
  381. package/vendor/ds/kits/base/src/Statistic.svelte +74 -0
  382. package/vendor/ds/kits/base/src/StatusIndicator.svelte +52 -0
  383. package/vendor/ds/kits/base/src/Steps.svelte +51 -0
  384. package/vendor/ds/kits/base/src/Swap.svelte +85 -0
  385. package/vendor/ds/kits/base/src/Switch.svelte +91 -0
  386. package/vendor/ds/kits/base/src/Table.svelte +96 -0
  387. package/vendor/ds/kits/base/src/Tabs.svelte +131 -0
  388. package/vendor/ds/kits/base/src/Text.svelte +45 -0
  389. package/vendor/ds/kits/base/src/Textarea.svelte +63 -0
  390. package/vendor/ds/kits/base/src/TimeField.svelte +118 -0
  391. package/vendor/ds/kits/base/src/TimeRangeField.svelte +81 -0
  392. package/vendor/ds/kits/base/src/Timeline.svelte +49 -0
  393. package/vendor/ds/kits/base/src/TitleSlide.svelte +63 -0
  394. package/vendor/ds/kits/base/src/ToggleButton.svelte +78 -0
  395. package/vendor/ds/kits/base/src/ToggleGroup.svelte +79 -0
  396. package/vendor/ds/kits/base/src/Tooltip.svelte +109 -0
  397. package/vendor/ds/kits/base/src/Transfer.svelte +31 -0
  398. package/vendor/ds/kits/base/src/TwoColumnSlide.svelte +63 -0
  399. package/vendor/ds/kits/base/src/WindowMockup.svelte +51 -0
  400. package/vendor/ds/kits/base/src/a11y.ts +21 -0
  401. package/vendor/ds/kits/base/src/accordion.variants.ts +26 -0
  402. package/vendor/ds/kits/base/src/alert-dialog.variants.ts +17 -0
  403. package/vendor/ds/kits/base/src/alert.variants.ts +36 -0
  404. package/vendor/ds/kits/base/src/appearance-switch.behavior.ts +29 -0
  405. package/vendor/ds/kits/base/src/aspect-ratio.variants.ts +14 -0
  406. package/vendor/ds/kits/base/src/avatar.variants.ts +29 -0
  407. package/vendor/ds/kits/base/src/badge.variants.ts +89 -0
  408. package/vendor/ds/kits/base/src/breadcrumbs.variants.ts +15 -0
  409. package/vendor/ds/kits/base/src/browser-mockup.variants.ts +18 -0
  410. package/vendor/ds/kits/base/src/button.variants.ts +186 -0
  411. package/vendor/ds/kits/base/src/calendar.variants.ts +35 -0
  412. package/vendor/ds/kits/base/src/card.variants.ts +293 -0
  413. package/vendor/ds/kits/base/src/carousel.variants.ts +19 -0
  414. package/vendor/ds/kits/base/src/checkbox.variants.ts +64 -0
  415. package/vendor/ds/kits/base/src/code-block.variants.ts +58 -0
  416. package/vendor/ds/kits/base/src/collapsible.style.ts +15 -0
  417. package/vendor/ds/kits/base/src/combobox.variants.ts +62 -0
  418. package/vendor/ds/kits/base/src/container.variants.ts +27 -0
  419. package/vendor/ds/kits/base/src/content-mask.variants.ts +57 -0
  420. package/vendor/ds/kits/base/src/control-group.variants.ts +22 -0
  421. package/vendor/ds/kits/base/src/core/a11y.ts +106 -0
  422. package/vendor/ds/kits/base/src/core/appearance-switch.ts +39 -0
  423. package/vendor/ds/kits/base/src/core/avatar.ts +27 -0
  424. package/vendor/ds/kits/base/src/core/breadcrumbs.ts +11 -0
  425. package/vendor/ds/kits/base/src/core/calendar.ts +95 -0
  426. package/vendor/ds/kits/base/src/core/carousel.ts +8 -0
  427. package/vendor/ds/kits/base/src/core/choices.ts +29 -0
  428. package/vendor/ds/kits/base/src/core/code-block.ts +23 -0
  429. package/vendor/ds/kits/base/src/core/confirmation.ts +24 -0
  430. package/vendor/ds/kits/base/src/core/contracts/accordion.ts +28 -0
  431. package/vendor/ds/kits/base/src/core/contracts/carousel.ts +23 -0
  432. package/vendor/ds/kits/base/src/core/contracts/combobox.ts +35 -0
  433. package/vendor/ds/kits/base/src/core/contracts/datefield.ts +23 -0
  434. package/vendor/ds/kits/base/src/core/contracts/datepicker.ts +62 -0
  435. package/vendor/ds/kits/base/src/core/contracts/daterangefield.ts +33 -0
  436. package/vendor/ds/kits/base/src/core/contracts/daterangepicker.ts +88 -0
  437. package/vendor/ds/kits/base/src/core/contracts/dialog.ts +24 -0
  438. package/vendor/ds/kits/base/src/core/contracts/disclosure.ts +15 -0
  439. package/vendor/ds/kits/base/src/core/contracts/linkpreview.ts +29 -0
  440. package/vendor/ds/kits/base/src/core/contracts/navbar.ts +30 -0
  441. package/vendor/ds/kits/base/src/core/contracts/navigationmenu.ts +35 -0
  442. package/vendor/ds/kits/base/src/core/contracts/phoneinput.ts +55 -0
  443. package/vendor/ds/kits/base/src/core/contracts/popover.ts +29 -0
  444. package/vendor/ds/kits/base/src/core/contracts/searchselect.ts +38 -0
  445. package/vendor/ds/kits/base/src/core/contracts/tabs.ts +26 -0
  446. package/vendor/ds/kits/base/src/core/contracts/timefield.ts +23 -0
  447. package/vendor/ds/kits/base/src/core/contracts/timerangefield.ts +33 -0
  448. package/vendor/ds/kits/base/src/core/contracts/tooltip.ts +12 -0
  449. package/vendor/ds/kits/base/src/core/contracts/transfer.ts +13 -0
  450. package/vendor/ds/kits/base/src/core/date-segments.ts +18 -0
  451. package/vendor/ds/kits/base/src/core/description-list.ts +5 -0
  452. package/vendor/ds/kits/base/src/core/dropdown-menu.ts +55 -0
  453. package/vendor/ds/kits/base/src/core/feedback.ts +5 -0
  454. package/vendor/ds/kits/base/src/core/field.ts +57 -0
  455. package/vendor/ds/kits/base/src/core/fieldset.ts +10 -0
  456. package/vendor/ds/kits/base/src/core/focus-scope.ts +27 -0
  457. package/vendor/ds/kits/base/src/core/icon.ts +15 -0
  458. package/vendor/ds/kits/base/src/core/index.ts +2 -0
  459. package/vendor/ds/kits/base/src/core/inline-edit.ts +86 -0
  460. package/vendor/ds/kits/base/src/core/input.ts +9 -0
  461. package/vendor/ds/kits/base/src/core/modal.ts +73 -0
  462. package/vendor/ds/kits/base/src/core/native-controls.ts +43 -0
  463. package/vendor/ds/kits/base/src/core/navbar.ts +16 -0
  464. package/vendor/ds/kits/base/src/core/navigation-disclosures.ts +10 -0
  465. package/vendor/ds/kits/base/src/core/navigation.ts +48 -0
  466. package/vendor/ds/kits/base/src/core/number-field.ts +8 -0
  467. package/vendor/ds/kits/base/src/core/one-time-code.ts +17 -0
  468. package/vendor/ds/kits/base/src/core/operational-motion.ts +174 -0
  469. package/vendor/ds/kits/base/src/core/pagination.ts +8 -0
  470. package/vendor/ds/kits/base/src/core/phone-input.ts +106 -0
  471. package/vendor/ds/kits/base/src/core/portal-appearance.ts +15 -0
  472. package/vendor/ds/kits/base/src/core/reveal.ts +60 -0
  473. package/vendor/ds/kits/base/src/core/segments.ts +28 -0
  474. package/vendor/ds/kits/base/src/core/skip-link.ts +7 -0
  475. package/vendor/ds/kits/base/src/core/slider.ts +23 -0
  476. package/vendor/ds/kits/base/src/core/steps.ts +12 -0
  477. package/vendor/ds/kits/base/src/core/table.ts +21 -0
  478. package/vendor/ds/kits/base/src/core/timeline.ts +14 -0
  479. package/vendor/ds/kits/base/src/core/toggle-group.ts +41 -0
  480. package/vendor/ds/kits/base/src/countdown.behavior.ts +26 -0
  481. package/vendor/ds/kits/base/src/countdown.variants.ts +11 -0
  482. package/vendor/ds/kits/base/src/date-field.variants.ts +24 -0
  483. package/vendor/ds/kits/base/src/date-picker.variants.ts +16 -0
  484. package/vendor/ds/kits/base/src/date-range-field.variants.ts +21 -0
  485. package/vendor/ds/kits/base/src/date-range-picker.variants.ts +15 -0
  486. package/vendor/ds/kits/base/src/deck.variants.ts +10 -0
  487. package/vendor/ds/kits/base/src/deprecation.ts +24 -0
  488. package/vendor/ds/kits/base/src/description-list.appearance.ts +32 -0
  489. package/vendor/ds/kits/base/src/description-list.variants.ts +6 -0
  490. package/vendor/ds/kits/base/src/dialog.variants.ts +30 -0
  491. package/vendor/ds/kits/base/src/disclosure.variants.ts +14 -0
  492. package/vendor/ds/kits/base/src/divider.variants.ts +17 -0
  493. package/vendor/ds/kits/base/src/drawer.variants.ts +48 -0
  494. package/vendor/ds/kits/base/src/dropdown-menu.behavior.ts +6 -0
  495. package/vendor/ds/kits/base/src/dropdown-menu.variants.ts +38 -0
  496. package/vendor/ds/kits/base/src/empty-state.variants.ts +41 -0
  497. package/vendor/ds/kits/base/src/eyebrow.variants.ts +14 -0
  498. package/vendor/ds/kits/base/src/field.variants.ts +54 -0
  499. package/vendor/ds/kits/base/src/fieldset.variants.ts +29 -0
  500. package/vendor/ds/kits/base/src/file-input.variants.ts +18 -0
  501. package/vendor/ds/kits/base/src/form.variants.ts +13 -0
  502. package/vendor/ds/kits/base/src/grid-list.variants.ts +38 -0
  503. package/vendor/ds/kits/base/src/heading.variants.ts +35 -0
  504. package/vendor/ds/kits/base/src/image.variants.ts +121 -0
  505. package/vendor/ds/kits/base/src/index.ts +1039 -0
  506. package/vendor/ds/kits/base/src/indicator.variants.ts +35 -0
  507. package/vendor/ds/kits/base/src/inline-edit.variants.ts +33 -0
  508. package/vendor/ds/kits/base/src/input.variants.ts +33 -0
  509. package/vendor/ds/kits/base/src/interaction.ts +3 -0
  510. package/vendor/ds/kits/base/src/kbd.variants.ts +25 -0
  511. package/vendor/ds/kits/base/src/label.variants.ts +8 -0
  512. package/vendor/ds/kits/base/src/link-preview.variants.ts +10 -0
  513. package/vendor/ds/kits/base/src/link.variants.ts +20 -0
  514. package/vendor/ds/kits/base/src/list.variants.ts +17 -0
  515. package/vendor/ds/kits/base/src/loading-indicator.variants.ts +31 -0
  516. package/vendor/ds/kits/base/src/logo.box.ts +128 -0
  517. package/vendor/ds/kits/base/src/logo.marks.ts +248 -0
  518. package/vendor/ds/kits/base/src/logo.surface.ts +45 -0
  519. package/vendor/ds/kits/base/src/logo.variants.ts +53 -0
  520. package/vendor/ds/kits/base/src/marks/reddb-horizontal-color.svg +14 -0
  521. package/vendor/ds/kits/base/src/marks/reddb-horizontal-inverse.svg +14 -0
  522. package/vendor/ds/kits/base/src/marks/reddb-icon-color.svg +5 -0
  523. package/vendor/ds/kits/base/src/marks/reddb-stacked-color.svg +16 -0
  524. package/vendor/ds/kits/base/src/marks/reddb-stacked-inverse.svg +16 -0
  525. package/vendor/ds/kits/base/src/marks/reddb-symbol-black.svg +5 -0
  526. package/vendor/ds/kits/base/src/marks/reddb-symbol-color.svg +5 -0
  527. package/vendor/ds/kits/base/src/marks/reddb-symbol-knockout.svg +4 -0
  528. package/vendor/ds/kits/base/src/marks/reddb-symbol-white.svg +5 -0
  529. package/vendor/ds/kits/base/src/marks/reddb-wordmark-black.svg +10 -0
  530. package/vendor/ds/kits/base/src/marks/reddb-wordmark-white.svg +10 -0
  531. package/vendor/ds/kits/base/src/media-object.variants.ts +29 -0
  532. package/vendor/ds/kits/base/src/meter.variants.ts +55 -0
  533. package/vendor/ds/kits/base/src/navbar.variants.ts +78 -0
  534. package/vendor/ds/kits/base/src/navigation-menu.behavior.ts +24 -0
  535. package/vendor/ds/kits/base/src/navigation-menu.variants.ts +39 -0
  536. package/vendor/ds/kits/base/src/navigation.ts +45 -0
  537. package/vendor/ds/kits/base/src/notification.variants.ts +14 -0
  538. package/vendor/ds/kits/base/src/number-field.variants.ts +10 -0
  539. package/vendor/ds/kits/base/src/one-time-code-input.variants.ts +23 -0
  540. package/vendor/ds/kits/base/src/pagination.variants.ts +19 -0
  541. package/vendor/ds/kits/base/src/phone-input.variants.ts +17 -0
  542. package/vendor/ds/kits/base/src/phone-mockup.variants.ts +16 -0
  543. package/vendor/ds/kits/base/src/popover.variants.ts +12 -0
  544. package/vendor/ds/kits/base/src/portal-appearance.svelte.ts +12 -0
  545. package/vendor/ds/kits/base/src/progress.behavior.ts +37 -0
  546. package/vendor/ds/kits/base/src/progress.variants.ts +31 -0
  547. package/vendor/ds/kits/base/src/prose.variants.ts +231 -0
  548. package/vendor/ds/kits/base/src/quiet-control.variants.ts +90 -0
  549. package/vendor/ds/kits/base/src/radial-progress.variants.ts +47 -0
  550. package/vendor/ds/kits/base/src/radio-group.variants.ts +59 -0
  551. package/vendor/ds/kits/base/src/rating.variants.ts +22 -0
  552. package/vendor/ds/kits/base/src/recipes.ts +100 -0
  553. package/vendor/ds/kits/base/src/reduced-motion.svelte.ts +40 -0
  554. package/vendor/ds/kits/base/src/reveal.variants.ts +43 -0
  555. package/vendor/ds/kits/base/src/scroll-area.variants.ts +29 -0
  556. package/vendor/ds/kits/base/src/search-select.variants.ts +39 -0
  557. package/vendor/ds/kits/base/src/section-heading.variants.ts +41 -0
  558. package/vendor/ds/kits/base/src/segments.variants.ts +8 -0
  559. package/vendor/ds/kits/base/src/select.variants.ts +30 -0
  560. package/vendor/ds/kits/base/src/skeleton.variants.ts +17 -0
  561. package/vendor/ds/kits/base/src/skip-link.variants.ts +17 -0
  562. package/vendor/ds/kits/base/src/slide-frame.variants.ts +94 -0
  563. package/vendor/ds/kits/base/src/slide-layout.variants.ts +43 -0
  564. package/vendor/ds/kits/base/src/slider.variants.ts +16 -0
  565. package/vendor/ds/kits/base/src/stack.variants.ts +65 -0
  566. package/vendor/ds/kits/base/src/statistic.variants.ts +12 -0
  567. package/vendor/ds/kits/base/src/status-indicator.variants.ts +52 -0
  568. package/vendor/ds/kits/base/src/steps.variants.ts +18 -0
  569. package/vendor/ds/kits/base/src/structured-data.ts +94 -0
  570. package/vendor/ds/kits/base/src/swap.variants.ts +13 -0
  571. package/vendor/ds/kits/base/src/switch.variants.ts +20 -0
  572. package/vendor/ds/kits/base/src/table.variants.ts +31 -0
  573. package/vendor/ds/kits/base/src/tabs.variants.ts +32 -0
  574. package/vendor/ds/kits/base/src/text.variants.ts +51 -0
  575. package/vendor/ds/kits/base/src/textarea.variants.ts +19 -0
  576. package/vendor/ds/kits/base/src/time-field.variants.ts +21 -0
  577. package/vendor/ds/kits/base/src/time-range-field.variants.ts +21 -0
  578. package/vendor/ds/kits/base/src/timeline.variants.ts +22 -0
  579. package/vendor/ds/kits/base/src/toggle-button.variants.ts +26 -0
  580. package/vendor/ds/kits/base/src/toggle-group.variants.ts +38 -0
  581. package/vendor/ds/kits/base/src/tone.ts +24 -0
  582. package/vendor/ds/kits/base/src/tooltip.variants.ts +14 -0
  583. package/vendor/ds/kits/base/src/transfer.variants.ts +5 -0
  584. package/vendor/ds/kits/base/src/type-roles.ts +22 -0
  585. package/vendor/ds/kits/base/src/window-mockup.variants.ts +18 -0
  586. package/vendor/ds/kits/base/svelte.config.js +6 -0
  587. package/vendor/ds/kits/base/test/accessible-name.test.ts +66 -0
  588. package/vendor/ds/kits/base/test/accordion.test.ts +81 -0
  589. package/vendor/ds/kits/base/test/alert-dialog.test.ts +81 -0
  590. package/vendor/ds/kits/base/test/alert.test.ts +75 -0
  591. package/vendor/ds/kits/base/test/appearance-switch.test.ts +124 -0
  592. package/vendor/ds/kits/base/test/avatar-media-object-carousel-failures.test.ts +25 -0
  593. package/vendor/ds/kits/base/test/avatar.test.ts +75 -0
  594. package/vendor/ds/kits/base/test/badge.test.ts +99 -0
  595. package/vendor/ds/kits/base/test/breadcrumbs.test.ts +45 -0
  596. package/vendor/ds/kits/base/test/browser-mockup.test.ts +57 -0
  597. package/vendor/ds/kits/base/test/browser-phone-window-mockup.test.ts +58 -0
  598. package/vendor/ds/kits/base/test/button.test.ts +340 -0
  599. package/vendor/ds/kits/base/test/calendar.test.ts +86 -0
  600. package/vendor/ds/kits/base/test/card-busy.test.ts +25 -0
  601. package/vendor/ds/kits/base/test/card-divider-aspect-ratio-failures.test.ts +29 -0
  602. package/vendor/ds/kits/base/test/card-divider-aspect-ratio.test.ts +201 -0
  603. package/vendor/ds/kits/base/test/card-media.test.ts +113 -0
  604. package/vendor/ds/kits/base/test/card-tone-api.test.ts +12 -0
  605. package/vendor/ds/kits/base/test/card-tone-contrast.test.ts +120 -0
  606. package/vendor/ds/kits/base/test/card-tone.test.ts +103 -0
  607. package/vendor/ds/kits/base/test/carousel.test.ts +63 -0
  608. package/vendor/ds/kits/base/test/checkbox.test.ts +165 -0
  609. package/vendor/ds/kits/base/test/code-block.test.ts +148 -0
  610. package/vendor/ds/kits/base/test/coherence.test.ts +124 -0
  611. package/vendor/ds/kits/base/test/combobox.test.ts +172 -0
  612. package/vendor/ds/kits/base/test/components.test.ts +113 -0
  613. package/vendor/ds/kits/base/test/consumer-check.test.ts +42 -0
  614. package/vendor/ds/kits/base/test/container-stack-skip-link-failures.test.ts +31 -0
  615. package/vendor/ds/kits/base/test/container.test.ts +41 -0
  616. package/vendor/ds/kits/base/test/content-mask-failures.test.ts +24 -0
  617. package/vendor/ds/kits/base/test/content-mask.test.ts +134 -0
  618. package/vendor/ds/kits/base/test/control-group.test.ts +51 -0
  619. package/vendor/ds/kits/base/test/control-size.test.ts +60 -0
  620. package/vendor/ds/kits/base/test/countdown.test.ts +70 -0
  621. package/vendor/ds/kits/base/test/date-field.test.ts +126 -0
  622. package/vendor/ds/kits/base/test/date-picker.test.ts +122 -0
  623. package/vendor/ds/kits/base/test/date-range-field.test.ts +96 -0
  624. package/vendor/ds/kits/base/test/date-range-picker.test.ts +104 -0
  625. package/vendor/ds/kits/base/test/description-list.test.ts +84 -0
  626. package/vendor/ds/kits/base/test/dialog-tooltip-failures.test.ts +52 -0
  627. package/vendor/ds/kits/base/test/dialog.test.ts +122 -0
  628. package/vendor/ds/kits/base/test/disclosure.test.ts +51 -0
  629. package/vendor/ds/kits/base/test/drawer-alert-dialog-appearance.test.ts +25 -0
  630. package/vendor/ds/kits/base/test/drawer-alert-dialog-failures.test.ts +36 -0
  631. package/vendor/ds/kits/base/test/drawer.test.ts +49 -0
  632. package/vendor/ds/kits/base/test/dropdown-menu.test.ts +344 -0
  633. package/vendor/ds/kits/base/test/dropdown-navigation-menu-failures.test.ts +29 -0
  634. package/vendor/ds/kits/base/test/elevation.test.ts +81 -0
  635. package/vendor/ds/kits/base/test/empty-state.test.ts +126 -0
  636. package/vendor/ds/kits/base/test/event-dialect.test.ts +239 -0
  637. package/vendor/ds/kits/base/test/field.test.ts +106 -0
  638. package/vendor/ds/kits/base/test/fieldset.test.ts +95 -0
  639. package/vendor/ds/kits/base/test/file-input.test.ts +99 -0
  640. package/vendor/ds/kits/base/test/fixtures/AccessibleNameConsumer.svelte +65 -0
  641. package/vendor/ds/kits/base/test/fixtures/BinaryChoiceConsumer.svelte +63 -0
  642. package/vendor/ds/kits/base/test/fixtures/BinaryChoiceContractFailures.svelte +17 -0
  643. package/vendor/ds/kits/base/test/fixtures/BindingConsumer.svelte +19 -0
  644. package/vendor/ds/kits/base/test/fixtures/CalendarConsumer.svelte +9 -0
  645. package/vendor/ds/kits/base/test/fixtures/CalendarContractFailures.svelte +27 -0
  646. package/vendor/ds/kits/base/test/fixtures/CardActionsConsumer.svelte +12 -0
  647. package/vendor/ds/kits/base/test/fixtures/CardHorizontalConsumer.svelte +15 -0
  648. package/vendor/ds/kits/base/test/fixtures/CollectionStructureConsumer.svelte +37 -0
  649. package/vendor/ds/kits/base/test/fixtures/CollectionStructureContractFailures.svelte +16 -0
  650. package/vendor/ds/kits/base/test/fixtures/ComboboxConsumer.svelte +43 -0
  651. package/vendor/ds/kits/base/test/fixtures/ComboboxContractFailures.svelte +27 -0
  652. package/vendor/ds/kits/base/test/fixtures/ContainerStackSkipLinkFailures.svelte +16 -0
  653. package/vendor/ds/kits/base/test/fixtures/ContentMaskConsumer.svelte +25 -0
  654. package/vendor/ds/kits/base/test/fixtures/ContentMaskContractFailures.svelte +19 -0
  655. package/vendor/ds/kits/base/test/fixtures/ControlledDialogConsumer.svelte +29 -0
  656. package/vendor/ds/kits/base/test/fixtures/DateEntryConsumer.svelte +45 -0
  657. package/vendor/ds/kits/base/test/fixtures/DateEntryContractFailures.svelte +31 -0
  658. package/vendor/ds/kits/base/test/fixtures/DatePickerConsumer.svelte +34 -0
  659. package/vendor/ds/kits/base/test/fixtures/DatePickerContractFailures.svelte +29 -0
  660. package/vendor/ds/kits/base/test/fixtures/DialogTooltipBehaviorFailures.svelte +33 -0
  661. package/vendor/ds/kits/base/test/fixtures/DisclosureFamilyConsumer.svelte +68 -0
  662. package/vendor/ds/kits/base/test/fixtures/DisclosureFamilyContractFailures.svelte +21 -0
  663. package/vendor/ds/kits/base/test/fixtures/DrawerAlertDialogBehaviorFailures.svelte +30 -0
  664. package/vendor/ds/kits/base/test/fixtures/DrawerAlertDialogConsumer.svelte +18 -0
  665. package/vendor/ds/kits/base/test/fixtures/FieldInputAccessibilityFailures.svelte +29 -0
  666. package/vendor/ds/kits/base/test/fixtures/FieldInputConsumer.svelte +33 -0
  667. package/vendor/ds/kits/base/test/fixtures/FormScaffoldingConsumer.svelte +55 -0
  668. package/vendor/ds/kits/base/test/fixtures/FormScaffoldingFailures.svelte +20 -0
  669. package/vendor/ds/kits/base/test/fixtures/FrameworkBase.svelte +52 -0
  670. package/vendor/ds/kits/base/test/fixtures/FrameworkChoices.svelte +20 -0
  671. package/vendor/ds/kits/base/test/fixtures/FrameworkCodeActions.svelte +15 -0
  672. package/vendor/ds/kits/base/test/fixtures/FrameworkComposition.svelte +36 -0
  673. package/vendor/ds/kits/base/test/fixtures/FrameworkEditReveal.svelte +11 -0
  674. package/vendor/ds/kits/base/test/fixtures/FrameworkField.svelte +10 -0
  675. package/vendor/ds/kits/base/test/fixtures/FrameworkIdentityControls.svelte +11 -0
  676. package/vendor/ds/kits/base/test/fixtures/FrameworkInput.svelte +8 -0
  677. package/vendor/ds/kits/base/test/fixtures/FrameworkManaged.svelte +43 -0
  678. package/vendor/ds/kits/base/test/fixtures/FrameworkMedia.svelte +20 -0
  679. package/vendor/ds/kits/base/test/fixtures/FrameworkNativeControls.svelte +11 -0
  680. package/vendor/ds/kits/base/test/fixtures/FrameworkNumericEntry.svelte +12 -0
  681. package/vendor/ds/kits/base/test/fixtures/FrameworkPrimitive.svelte +17 -0
  682. package/vendor/ds/kits/base/test/fixtures/FrameworkReadings.svelte +23 -0
  683. package/vendor/ds/kits/base/test/fixtures/FrameworkSlides.svelte +31 -0
  684. package/vendor/ds/kits/base/test/fixtures/FrameworkTextarea.svelte +8 -0
  685. package/vendor/ds/kits/base/test/fixtures/InlineTextConsumer.svelte +15 -0
  686. package/vendor/ds/kits/base/test/fixtures/InlineTextContractFailures.svelte +20 -0
  687. package/vendor/ds/kits/base/test/fixtures/LayoutConsumer.svelte +17 -0
  688. package/vendor/ds/kits/base/test/fixtures/MediaPresentationConsumer.svelte +41 -0
  689. package/vendor/ds/kits/base/test/fixtures/MediaPresentationContractFailures.svelte +23 -0
  690. package/vendor/ds/kits/base/test/fixtures/MenuBehaviorFailures.svelte +19 -0
  691. package/vendor/ds/kits/base/test/fixtures/MockupConsumer.svelte +34 -0
  692. package/vendor/ds/kits/base/test/fixtures/MockupContractFailures.svelte +23 -0
  693. package/vendor/ds/kits/base/test/fixtures/NavbarMasthead.svelte +55 -0
  694. package/vendor/ds/kits/base/test/fixtures/NavigationScopeConsumer.svelte +40 -0
  695. package/vendor/ds/kits/base/test/fixtures/NotificationEmptyStateConsumer.svelte +28 -0
  696. package/vendor/ds/kits/base/test/fixtures/NotificationEmptyStateContractFailures.svelte +21 -0
  697. package/vendor/ds/kits/base/test/fixtures/NumberFieldConsumer.svelte +9 -0
  698. package/vendor/ds/kits/base/test/fixtures/NumericChronologyConsumer.svelte +34 -0
  699. package/vendor/ds/kits/base/test/fixtures/NumericChronologyContractFailures.svelte +17 -0
  700. package/vendor/ds/kits/base/test/fixtures/Operational.svelte +20 -0
  701. package/vendor/ds/kits/base/test/fixtures/PopoverLinkPreviewFailures.svelte +38 -0
  702. package/vendor/ds/kits/base/test/fixtures/ProgressFeedbackConsumer.svelte +26 -0
  703. package/vendor/ds/kits/base/test/fixtures/ProgressLoadingContractFailures.svelte +17 -0
  704. package/vendor/ds/kits/base/test/fixtures/RangePressedConsumer.svelte +67 -0
  705. package/vendor/ds/kits/base/test/fixtures/RangePressedContractFailures.svelte +20 -0
  706. package/vendor/ds/kits/base/test/fixtures/RevealAppearanceConsumer.svelte +17 -0
  707. package/vendor/ds/kits/base/test/fixtures/SpecializedEntryConsumer.svelte +56 -0
  708. package/vendor/ds/kits/base/test/fixtures/SpecializedEntryContractFailures.svelte +26 -0
  709. package/vendor/ds/kits/base/test/fixtures/StatusVocabularyConsumer.svelte +19 -0
  710. package/vendor/ds/kits/base/test/fixtures/StatusVocabularyContractFailures.svelte +5 -0
  711. package/vendor/ds/kits/base/test/fixtures/SurfaceControlsConsumer.svelte +35 -0
  712. package/vendor/ds/kits/base/test/fixtures/SurfaceControlsContractFailures.svelte +30 -0
  713. package/vendor/ds/kits/base/test/fixtures/SurfaceSeparationConsumer.svelte +20 -0
  714. package/vendor/ds/kits/base/test/fixtures/SurfaceSeparationContractFailures.svelte +15 -0
  715. package/vendor/ds/kits/base/test/fixtures/TableConsumer.svelte +25 -0
  716. package/vendor/ds/kits/base/test/fixtures/TableContractFailures.svelte +22 -0
  717. package/vendor/ds/kits/base/test/fixtures/TabsFragmentConsumer.svelte +18 -0
  718. package/vendor/ds/kits/base/test/fixtures/TestGlyph.svelte +22 -0
  719. package/vendor/ds/kits/base/test/fixtures/TextareaSelectConsumer.svelte +30 -0
  720. package/vendor/ds/kits/base/test/fixtures/TextareaSelectContractFailures.svelte +19 -0
  721. package/vendor/ds/kits/base/test/fixtures/TimeEntryConsumer.svelte +45 -0
  722. package/vendor/ds/kits/base/test/fixtures/TimeEntryContractFailures.svelte +29 -0
  723. package/vendor/ds/kits/base/test/fixtures/TooltipChildConsumer.svelte +10 -0
  724. package/vendor/ds/kits/base/test/fixtures/UncontrolledFieldConsumer.svelte +16 -0
  725. package/vendor/ds/kits/base/test/fixtures/WayfindingConsumer.svelte +26 -0
  726. package/vendor/ds/kits/base/test/fixtures/WayfindingContractFailures.svelte +17 -0
  727. package/vendor/ds/kits/base/test/fixtures/alert-consumer.ts +11 -0
  728. package/vendor/ds/kits/base/test/fixtures/binary-choice-consumer.ts +15 -0
  729. package/vendor/ds/kits/base/test/fixtures/button-consumer.ts +16 -0
  730. package/vendor/ds/kits/base/test/fixtures/calendar-consumer.ts +7 -0
  731. package/vendor/ds/kits/base/test/fixtures/collection-structure-consumer.ts +17 -0
  732. package/vendor/ds/kits/base/test/fixtures/combobox-consumer.ts +9 -0
  733. package/vendor/ds/kits/base/test/fixtures/content-mask-consumer.ts +10 -0
  734. package/vendor/ds/kits/base/test/fixtures/date-entry-consumer.ts +11 -0
  735. package/vendor/ds/kits/base/test/fixtures/date-picker-consumer.ts +11 -0
  736. package/vendor/ds/kits/base/test/fixtures/dialog-tooltip-consumer.ts +9 -0
  737. package/vendor/ds/kits/base/test/fixtures/disclosure-family-consumer.ts +14 -0
  738. package/vendor/ds/kits/base/test/fixtures/drawer-alert-dialog-consumer.ts +13 -0
  739. package/vendor/ds/kits/base/test/fixtures/field-input-consumer.ts +15 -0
  740. package/vendor/ds/kits/base/test/fixtures/form-scaffolding-consumer.ts +13 -0
  741. package/vendor/ds/kits/base/test/fixtures/layout-consumer.ts +16 -0
  742. package/vendor/ds/kits/base/test/fixtures/media-presentation-consumer.ts +9 -0
  743. package/vendor/ds/kits/base/test/fixtures/menu-consumer.ts +20 -0
  744. package/vendor/ds/kits/base/test/fixtures/mockup-consumer.ts +14 -0
  745. package/vendor/ds/kits/base/test/fixtures/notification-empty-state-consumer.ts +12 -0
  746. package/vendor/ds/kits/base/test/fixtures/numeric-chronology-consumer.ts +11 -0
  747. package/vendor/ds/kits/base/test/fixtures/popover-link-preview-consumer.ts +9 -0
  748. package/vendor/ds/kits/base/test/fixtures/progress-feedback-consumer.ts +21 -0
  749. package/vendor/ds/kits/base/test/fixtures/range-pressed-consumer.ts +16 -0
  750. package/vendor/ds/kits/base/test/fixtures/specialized-entry-consumer.ts +15 -0
  751. package/vendor/ds/kits/base/test/fixtures/status-vocabulary-consumer.ts +22 -0
  752. package/vendor/ds/kits/base/test/fixtures/surface-controls-consumer.ts +22 -0
  753. package/vendor/ds/kits/base/test/fixtures/surface-separation-consumer.ts +31 -0
  754. package/vendor/ds/kits/base/test/fixtures/textarea-select-consumer.ts +13 -0
  755. package/vendor/ds/kits/base/test/fixtures/time-entry-consumer.ts +11 -0
  756. package/vendor/ds/kits/base/test/form.test.ts +72 -0
  757. package/vendor/ds/kits/base/test/framework-appearance.test.ts +53 -0
  758. package/vendor/ds/kits/base/test/framework-base.test.ts +128 -0
  759. package/vendor/ds/kits/base/test/framework-choices.test.ts +137 -0
  760. package/vendor/ds/kits/base/test/framework-code-actions.test.ts +123 -0
  761. package/vendor/ds/kits/base/test/framework-composition.test.ts +91 -0
  762. package/vendor/ds/kits/base/test/framework-contracts.test.ts +126 -0
  763. package/vendor/ds/kits/base/test/framework-edit-reveal.test.ts +183 -0
  764. package/vendor/ds/kits/base/test/framework-identity-controls.test.ts +162 -0
  765. package/vendor/ds/kits/base/test/framework-managed.test.ts +256 -0
  766. package/vendor/ds/kits/base/test/framework-media.test.ts +96 -0
  767. package/vendor/ds/kits/base/test/framework-native-controls.test.ts +156 -0
  768. package/vendor/ds/kits/base/test/framework-numeric-entry.test.ts +146 -0
  769. package/vendor/ds/kits/base/test/framework-operational.test.ts +162 -0
  770. package/vendor/ds/kits/base/test/framework-readings.test.ts +110 -0
  771. package/vendor/ds/kits/base/test/framework-slides.test.ts +100 -0
  772. package/vendor/ds/kits/base/test/grid-list.test.ts +64 -0
  773. package/vendor/ds/kits/base/test/icon.test.ts +59 -0
  774. package/vendor/ds/kits/base/test/image.test.ts +120 -0
  775. package/vendor/ds/kits/base/test/indicator.test.ts +68 -0
  776. package/vendor/ds/kits/base/test/inline-edit.test.ts +56 -0
  777. package/vendor/ds/kits/base/test/input.test.ts +82 -0
  778. package/vendor/ds/kits/base/test/kbd.test.ts +32 -0
  779. package/vendor/ds/kits/base/test/label-in-name.ts +43 -0
  780. package/vendor/ds/kits/base/test/label.test.ts +68 -0
  781. package/vendor/ds/kits/base/test/link-kbd-code-block-appearance.test.ts +31 -0
  782. package/vendor/ds/kits/base/test/link-preview.test.ts +80 -0
  783. package/vendor/ds/kits/base/test/link.test.ts +63 -0
  784. package/vendor/ds/kits/base/test/lint.test.ts +60 -0
  785. package/vendor/ds/kits/base/test/list-container.test.ts +45 -0
  786. package/vendor/ds/kits/base/test/list.test.ts +60 -0
  787. package/vendor/ds/kits/base/test/loading-indicator.test.ts +57 -0
  788. package/vendor/ds/kits/base/test/logo.test.ts +484 -0
  789. package/vendor/ds/kits/base/test/marks.test.ts +140 -0
  790. package/vendor/ds/kits/base/test/media-object.test.ts +58 -0
  791. package/vendor/ds/kits/base/test/meter.test.ts +79 -0
  792. package/vendor/ds/kits/base/test/mount.ts +79 -0
  793. package/vendor/ds/kits/base/test/navbar.test.ts +419 -0
  794. package/vendor/ds/kits/base/test/navigation-menu.test.ts +118 -0
  795. package/vendor/ds/kits/base/test/navigation-scope.test.ts +62 -0
  796. package/vendor/ds/kits/base/test/notification.test.ts +94 -0
  797. package/vendor/ds/kits/base/test/number-field.test.ts +38 -0
  798. package/vendor/ds/kits/base/test/one-time-code-input.test.ts +123 -0
  799. package/vendor/ds/kits/base/test/pagination.test.ts +50 -0
  800. package/vendor/ds/kits/base/test/phone-input.test.ts +95 -0
  801. package/vendor/ds/kits/base/test/phone-mockup.test.ts +51 -0
  802. package/vendor/ds/kits/base/test/popover-link-preview-failures.test.ts +43 -0
  803. package/vendor/ds/kits/base/test/popover.test.ts +79 -0
  804. package/vendor/ds/kits/base/test/progress-loading-failures.test.ts +27 -0
  805. package/vendor/ds/kits/base/test/progress.test.ts +70 -0
  806. package/vendor/ds/kits/base/test/prose.test.ts +138 -0
  807. package/vendor/ds/kits/base/test/quiet-control.test.ts +89 -0
  808. package/vendor/ds/kits/base/test/radial-progress.test.ts +52 -0
  809. package/vendor/ds/kits/base/test/radio-cards.test.ts +21 -0
  810. package/vendor/ds/kits/base/test/radio-group.test.ts +180 -0
  811. package/vendor/ds/kits/base/test/range-calendar.test.ts +102 -0
  812. package/vendor/ds/kits/base/test/rating.test.ts +98 -0
  813. package/vendor/ds/kits/base/test/react-accessible-name.test.ts +44 -0
  814. package/vendor/ds/kits/base/test/react-consumer.tsx +283 -0
  815. package/vendor/ds/kits/base/test/react.test.ts +110 -0
  816. package/vendor/ds/kits/base/test/reveal.test.ts +148 -0
  817. package/vendor/ds/kits/base/test/scroll-area.test.ts +58 -0
  818. package/vendor/ds/kits/base/test/search-select.test.ts +40 -0
  819. package/vendor/ds/kits/base/test/section-heading.test.ts +59 -0
  820. package/vendor/ds/kits/base/test/select.test.ts +125 -0
  821. package/vendor/ds/kits/base/test/setup-storage.ts +14 -0
  822. package/vendor/ds/kits/base/test/skeleton.test.ts +56 -0
  823. package/vendor/ds/kits/base/test/skip-link.test.ts +49 -0
  824. package/vendor/ds/kits/base/test/slider.test.ts +89 -0
  825. package/vendor/ds/kits/base/test/slides.test.ts +207 -0
  826. package/vendor/ds/kits/base/test/stack.test.ts +87 -0
  827. package/vendor/ds/kits/base/test/statistic.test.ts +37 -0
  828. package/vendor/ds/kits/base/test/status-indicator.test.ts +102 -0
  829. package/vendor/ds/kits/base/test/steps.test.ts +38 -0
  830. package/vendor/ds/kits/base/test/structured-data.test.ts +88 -0
  831. package/vendor/ds/kits/base/test/swap.test.ts +70 -0
  832. package/vendor/ds/kits/base/test/switch.test.ts +89 -0
  833. package/vendor/ds/kits/base/test/table.test.ts +108 -0
  834. package/vendor/ds/kits/base/test/tabs.test.ts +130 -0
  835. package/vendor/ds/kits/base/test/taxonomy.test.ts +41 -0
  836. package/vendor/ds/kits/base/test/textarea.test.ts +106 -0
  837. package/vendor/ds/kits/base/test/time-field.test.ts +108 -0
  838. package/vendor/ds/kits/base/test/time-range-field.test.ts +91 -0
  839. package/vendor/ds/kits/base/test/timeline.test.ts +75 -0
  840. package/vendor/ds/kits/base/test/toggle-button.test.ts +70 -0
  841. package/vendor/ds/kits/base/test/toggle-group.test.ts +177 -0
  842. package/vendor/ds/kits/base/test/tooltip.test.ts +61 -0
  843. package/vendor/ds/kits/base/test/type-primitives.test.ts +191 -0
  844. package/vendor/ds/kits/base/test/vocabulary-contrast.test.ts +258 -0
  845. package/vendor/ds/kits/base/test/wave2-bindings-overlays.test.ts +174 -0
  846. package/vendor/ds/kits/base/test/window-mockup.test.ts +49 -0
  847. package/vendor/ds/kits/base/tools/build-cli.ts +29 -0
  848. package/vendor/ds/kits/base/tools/lint-cli.ts +18 -0
  849. package/vendor/ds/kits/base/tools/paths.ts +46 -0
  850. package/vendor/ds/kits/base/tsconfig.consumer.json +19 -0
  851. package/vendor/ds/kits/base/tsconfig.json +26 -0
  852. package/vendor/ds/kits/base/type-ledger.json +4 -0
  853. package/vendor/ds/kits/base/types/marks.d.ts +20 -0
  854. package/vendor/ds/kits/base/vite.config.ts +29 -0
  855. package/vendor/ds/package.json +51 -0
  856. package/vendor/ds/styles/all.css +12 -0
  857. package/vendor/ds/styles/application.css +12 -0
  858. package/vendor/ds/styles/base.css +11 -0
  859. package/vendor/ds/theme/print.css +65 -0
  860. package/vendor/ds/theme/scheme-dark.css +77 -0
  861. package/vendor/ds/theme/scheme-light.css +78 -0
  862. package/vendor/ds/theme/theme-application.css +29 -0
  863. package/vendor/ds/theme/theme-base.css +180 -0
  864. package/vendor/ds/theme/theme.css +283 -0
  865. package/vendor/ds/tokens/density-comfortable.css +51 -0
  866. package/vendor/ds/tokens/density-compact.css +49 -0
  867. package/vendor/ds/tokens/density-spacious.css +49 -0
  868. package/vendor/ds/tokens/density-tiny.css +49 -0
  869. package/vendor/ds/tokens/tokens.css +182 -0
  870. package/src/lib/Kbd.svelte +0 -8
  871. package/src/lib/LoadingState.svelte +0 -20
  872. package/src/lib/NavItem.svelte +0 -53
  873. package/src/lib/SplitView.svelte +0 -145
@@ -0,0 +1,283 @@
1
+ // Consumer-facing type contracts. These never enter the vendored source closure.
2
+ import { createRef } from "react";
3
+ import { ContentMask, Eyebrow, Fieldset, Form, Prose, GridList, Indicator, List, Meter, SectionHeading } from "../react/src";
4
+ const ul = createRef<HTMLUListElement>();
5
+ const ol = createRef<HTMLOListElement>();
6
+ const div = createRef<HTMLDivElement>();
7
+ const form = createRef<HTMLFormElement>();
8
+ const article = createRef<HTMLElement>();
9
+ const span = createRef<HTMLSpanElement>();
10
+ <Prose as="article" ref={article} />;
11
+ <Eyebrow as="span" ref={span}>Overview</Eyebrow>;
12
+ <List ref={ul}><li>One</li></List>;
13
+ <List ordered ref={ol} start={3}><li>Three</li></List>;
14
+ <GridList list={false} ref={div}><div>Layout tile</div></GridList>;
15
+ <GridList ref={ul}><li>List tile</li></GridList>;
16
+ <Form ref={form} action={data => { data.get("email"); }} />;
17
+ <Fieldset legend="Recipients">{control => <input {...control} aria-label="Recipient" />}</Fieldset>;
18
+ <Indicator marker={<span>3</span>}><button>Inbox</button></Indicator>;
19
+ <SectionHeading title="Requests" actions={<button>Details</button>} />;
20
+ <ContentMask shape="hexagon"><span>Content</span></ContentMask>;
21
+ <Meter value={30} tone="success" />;
22
+ // @ts-expect-error Ordered lists expose the actual ol native ref.
23
+ <List ordered ref={ul} />;
24
+ // @ts-expect-error A layout grid exposes its div, not a list ref.
25
+ <GridList list={false} ref={ul} />;
26
+ // @ts-expect-error Native group naming is required.
27
+ <Fieldset />;
28
+ // @ts-expect-error A marker's anchored content is required.
29
+ <Indicator marker="3" />;
30
+ // @ts-expect-error A measured value is required.
31
+ <Meter />;
32
+ // @ts-expect-error New React APIs do not inherit deprecated Svelte aliases.
33
+ <Meter value={30} tone="primary" />;
34
+
35
+ // @ts-expect-error A div's native ref is required when the element is div.
36
+ <Eyebrow as="div" ref={span}>Overview</Eyebrow>;
37
+
38
+ import { Card, Icon, Image, Logo } from "../react/src";
39
+ import { Camera } from "lucide-react";
40
+ const anchor = createRef<HTMLAnchorElement>();
41
+ const svg = createRef<SVGSVGElement>();
42
+ const img = createRef<HTMLImageElement>();
43
+ <Icon icon={Camera} ref={svg} color="ink-muted" />;
44
+ <Icon icon="menu" ref={svg} />;
45
+ <Image src="/photo.webp" alt="Region" width={800} height={600} ref={img} sources={[{ srcset: "/photo.avif", type: "image/avif" }]} />;
46
+ <Logo href="/" ref={anchor} label="RedDB home" />;
47
+ <Logo ref={span} on="dark" />;
48
+ <Card ref={div} icon={Camera} image={{ src: "/photo.webp", alt: "Region", ratio: 1 }} footer={<button>Open</button>}>Body</Card>;
49
+ // @ts-expect-error Semantic ink roles exclude arbitrary colors.
50
+ <Icon icon={Camera} color="blue" />;
51
+ // @ts-expect-error Glyph is required.
52
+ <Icon />;
53
+ // @ts-expect-error Image alternatives are required.
54
+ <Image src="/photo.webp" ratio={1} />;
55
+ // @ts-expect-error Mark mode does not accept a link label.
56
+ <Logo label="Not a link" />;
57
+ // @ts-expect-error A linked Logo requires an anchor ref.
58
+ <Logo href="/" ref={span} />;
59
+ // @ts-expect-error Cards only accept native React glyphs.
60
+ <Card icon="menu" />;
61
+
62
+ import { Alert, Button, Breadcrumbs, BrowserMockup, EmptyState, Link, ListContainer, MediaObject, Notification, PhoneMockup, WindowMockup } from "../react/src";
63
+ import type { BreadcrumbItem } from "../react/src";
64
+ const trail: BreadcrumbItem[] = [{ id: "home", label: "Home", href: "/" }];
65
+ <Link href="/" ref={anchor}>Home</Link>;
66
+ <Alert tone="danger" ref={div}>An error occurred.</Alert>;
67
+ <Notification title="Saved" onDismiss={() => {}} ref={div} />;
68
+ <EmptyState title="No requests" actions={<Button>New request</Button>} ref={div} />;
69
+ <MediaObject media={<Icon icon="menu" />} ref={div}>Content</MediaObject>;
70
+ <ListContainer title="Destinations" header={<strong>Header</strong>} ref={div}><List><li>One</li></List></ListContainer>;
71
+ <Breadcrumbs items={trail} structuredData={{ origin: "https://example.com" }} />;
72
+ <BrowserMockup address="example.com" ref={div}><Link href="/">Live content</Link></BrowserMockup>;
73
+ <WindowMockup title="Window" ref={div}><span>Content</span></WindowMockup>;
74
+ <PhoneMockup ref={div}><span>Content</span></PhoneMockup>;
75
+ // @ts-expect-error Links always require destinations.
76
+ <Link>Home</Link>;
77
+ // @ts-expect-error Empty states always name the missing content.
78
+ <EmptyState />;
79
+ // @ts-expect-error Notifications require announcement text.
80
+ <Notification />;
81
+ // @ts-expect-error React uses the canonical tone name.
82
+ <Alert feedback="danger" />;
83
+ // @ts-expect-error Both regions of a MediaObject are required.
84
+ <MediaObject>Content</MediaObject>;
85
+ // @ts-expect-error Decorative chrome cannot hide caller content.
86
+ <BrowserMockup aria-hidden><span>Content</span></BrowserMockup>;
87
+ // @ts-expect-error Decorative frames always require caller content.
88
+ <PhoneMockup />;
89
+
90
+ import { Countdown, Pagination, ScrollArea, Steps, Table, Timeline } from "../react/src";
91
+ import type { TableCellContext, TableColumn, TableRow, TimelineItem, StepItem, PaginationPage } from "../react/src";
92
+ const tableRef = createRef<HTMLTableElement>();
93
+ const columns: TableColumn[] = [{ key: "name", header: "Name" }];
94
+ const rows: TableRow[] = [{ name: "Primary" }];
95
+ const stepItems: StepItem[] = [{ id: "one", label: "Set up", state: "current" }];
96
+ const timelineItems: TimelineItem[] = [{ id: "one", title: "Created", datetime: "2026-10-19", time: "Today" }];
97
+ const pageItems: PaginationPage[] = [{ page: 1, href: "/?page=1", current: true }];
98
+ <Table caption="Clusters" columns={columns} rows={rows} ref={tableRef} cell={({ value, rowIndex }: TableCellContext) => <Link href={"/cluster/" + rowIndex}>{value}</Link>} />;
99
+ <Timeline items={timelineItems} ref={ol} start={3} />;
100
+ <Steps items={stepItems} />;
101
+ <Pagination pages={pageItems} />;
102
+ <ScrollArea label="Activity" ref={div}>Scrollable content</ScrollArea>;
103
+ <Countdown remaining={65} ref={div} formatValue={value => value + " seconds"} />;
104
+ // @ts-expect-error Tables require a visible caption.
105
+ <Table columns={columns} rows={rows} />;
106
+ // @ts-expect-error Native Table ref points to the table, not the outer region.
107
+ <Table caption="Clusters" columns={columns} rows={rows} ref={div} />;
108
+ // @ts-expect-error Timeline data includes a machine-readable time.
109
+ <Timeline items={[{ id: "x", title: "Event", time: "Today" }]} />;
110
+ // @ts-expect-error Step state follows the canonical closed vocabulary.
111
+ <Steps items={[{ id: "x", label: "Event", state: "active" }]} />;
112
+ // @ts-expect-error Page links require an href.
113
+ <Pagination pages={[{ page: 1 }]} />;
114
+ // @ts-expect-error A keyboard-scrollable region requires a name.
115
+ <ScrollArea />;
116
+ // @ts-expect-error Remaining duration is caller-owned and required.
117
+ <Countdown />;
118
+
119
+ import { FileInput, Rating, ToggleButton } from "../react/src";
120
+ const fileRef = createRef<HTMLInputElement>();
121
+ const ratingRef = createRef<HTMLFieldSetElement>();
122
+ const toggleRef = createRef<HTMLButtonElement>();
123
+ <FileInput label="Evidence" ref={fileRef} files={null} onFilesChange={files => files?.item(0)} multiple />;
124
+ <Rating legend="Confidence" name="confidence" ref={ratingRef} defaultValue={3} onValueChange={value => value.toFixed()} />;
125
+ <ToggleButton label="Pin review" ref={toggleRef} defaultPressed onPressedChange={pressed => pressed.valueOf()} />;
126
+ // @ts-expect-error Native file selection cannot be supplied as a string value.
127
+ <FileInput label="Evidence" value="/tmp/report.txt" />;
128
+ // @ts-expect-error Native file inputs cannot be prepopulated by a string default.
129
+ <FileInput label="Evidence" defaultValue="report.txt" />;
130
+ // @ts-expect-error A rating requires a serialization name.
131
+ <Rating legend="Confidence" />;
132
+ // @ts-expect-error The component owns aria-pressed and cannot submit a form.
133
+ <ToggleButton label="Pin" type="submit" />;
134
+ // @ts-expect-error A toggle forwards its actual button ref.
135
+ <ToggleButton label="Pin" ref={anchor} />;
136
+
137
+ import { Checkbox, Switch, RadioGroup, Select } from "../react/src";
138
+ const choiceRef = createRef<HTMLInputElement>();
139
+ const selectRef = createRef<HTMLSelectElement>();
140
+ <Checkbox label="Confirm" name="confirm" required ref={choiceRef} defaultChecked onCheckedChange={checked => checked.valueOf()} />;
141
+ <Switch label="Digest" checked={true} ref={choiceRef} onCheckedChange={checked => checked.valueOf()} />;
142
+ <RadioGroup legend="Policy" name="policy" ref={ratingRef} options={[{ value: "a", label: "Balanced", description: "Details" }]} variant="cards" optionMedia={option => <span>{option.value}</span>} defaultValue="a" />;
143
+ <Select aria-label="Region" ref={selectRef} multiple defaultValue={["sa"]} options={[{ value: "sa", label: "South America" }]} onChange={event => event.currentTarget.selectedOptions} onValueChange={value => value.toUpperCase()} />;
144
+ // @ts-expect-error A native input ref is required for a checkbox.
145
+ <Checkbox label="Confirm" ref={selectRef} />;
146
+ // @ts-expect-error A Switch owns its native role.
147
+ <Switch label="Digest" role="radio" />;
148
+ // @ts-expect-error Radio groups require caller-owned choices.
149
+ <RadioGroup legend="Policy" name="policy" />;
150
+ // @ts-expect-error Semantic callback emits a native value, not a change event.
151
+ <Select onValueChange={event => event.currentTarget.value} />;
152
+ // @ts-expect-error Radio option media is a native render function.
153
+ <RadioGroup legend="Policy" name="policy" options={[]} optionMedia={<span>Media</span>} />;
154
+
155
+ import { SlideFrame, TitleSlide, SectionSlide, TwoColumnSlide, FigureSlide, QuoteSlide, BulletsSlide, Deck } from "../react/src";
156
+ <Deck label="Review" role="region" ref={article}><SlideFrame label="Overview" title="Native tooltip" ref={div} number={1} total={7}><button>Read</button></SlideFrame></Deck>;
157
+ <TitleSlide title="Review" level={3} surface="raised" ref={div} />;
158
+ <SectionSlide title="Coverage" summary="The next rollout" ref={div} />;
159
+ <TwoColumnSlide title="Options" start={<p>Retain</p>} end={<p>Verify</p>} ref={div} />;
160
+ <FigureSlide title="Readiness" figure={<table />} caption="Snapshot" ref={div} />;
161
+ <QuoteSlide quote="Ready for review" attribution="Operations" source="Review" ref={div} />;
162
+ <BulletsSlide title="Actions" items={["Review", "Ship"]} ref={div} />;
163
+ // @ts-expect-error Slides require an accessible name.
164
+ <SlideFrame />;
165
+ // @ts-expect-error Decks require a name.
166
+ <Deck />;
167
+ // @ts-expect-error Both caller-owned columns are required.
168
+ <TwoColumnSlide title="Options" start={<p>Retain</p>} />;
169
+ // @ts-expect-error Figures use native React content rather than a Svelte snippet.
170
+ <FigureSlide title="Readiness" figure={() => <table />} />;
171
+ // @ts-expect-error The frame owns the slide role.
172
+ <SlideFrame label="Overview" role="button" />;
173
+ // @ts-expect-error Slides expose a native div ref.
174
+ <TitleSlide title="Review" ref={span} />;
175
+ // @ts-expect-error Outline levels retain the canonical closed vocabulary.
176
+ <TitleSlide title="Review" level={7} />;
177
+ // @ts-expect-error Surface roles retain the canonical closed vocabulary.
178
+ <SlideFrame label="Overview" surface="brand" />;
179
+
180
+ import { NumberField, Slider, OneTimeCodeInput } from "../react/src";
181
+ const nativeInput = createRef<HTMLInputElement>(), codeGroup = createRef<HTMLFieldSetElement>();
182
+ <NumberField label="Capacity" defaultValue={3} min={1} max={12} step={0.1} ref={nativeInput} onValueChange={next => { const value: number | null = next; }} />;
183
+ <NumberField label="Capacity" value={null} readOnly />;
184
+ <Slider label="Sampling" defaultValue={35} step="any" ref={nativeInput} formatValue={next => `${next}%`} onValueChange={next => { const value: number = next; }} />;
185
+ <OneTimeCodeInput label="Code" defaultValue="012345" inputMode="numeric" pattern="[0-9]" ref={codeGroup} onComplete={next => { const value: string = next; }} />;
186
+ // @ts-expect-error Native numeric controls cannot receive string values.
187
+ <NumberField label="Capacity" value="3" />;
188
+ // @ts-expect-error Null is reserved for empty numeric text fields, not ranges.
189
+ <Slider label="Sampling" value={null} />;
190
+ // @ts-expect-error Native OTP keyboard hints retain the shared closed vocabulary.
191
+ <OneTimeCodeInput label="Code" inputMode="password" />;
192
+ // @ts-expect-error The native segmented group exposes a fieldset ref.
193
+ <OneTimeCodeInput label="Code" ref={nativeInput} />;
194
+ // @ts-expect-error Numeric controls expose their input, not their Field root.
195
+ <NumberField label="Capacity" ref={div} />;
196
+ // @ts-expect-error Code entry retains a required visible name.
197
+ <OneTimeCodeInput />;
198
+
199
+ import { Swap, CodeBlock, type CodeTokenizer } from "../react/src";
200
+ const tokenizer: CodeTokenizer = { tokenize: code => [{ kind: "text", value: code }] };
201
+ <Swap label="Pin request" defaultSwapped off={<span>Pin</span>} on={<strong>Pin</strong>} ref={toggleRef} onClick={event => event.currentTarget.focus()} onSwappedChange={next => next.valueOf()} />;
202
+ <CodeBlock code="select 1;" grammar={tokenizer} ref={div} copyErrorLabel="Retry copy" />;
203
+ // @ts-expect-error Swap requires a stable accessible name.
204
+ <Swap />;
205
+ // @ts-expect-error A swap never submits a form.
206
+ <Swap label="Pin" type="submit" />;
207
+ // @ts-expect-error Deprecated Svelte alias is not a new React API.
208
+ <Swap label="Pin" onChange={() => {}} />;
209
+ // @ts-expect-error Face content is native React content, not a snippet function.
210
+ <Swap label="Pin" on={() => <span>Pin</span>} />;
211
+ // @ts-expect-error CodeBlock requires exact source text.
212
+ <CodeBlock />;
213
+ // @ts-expect-error The source cannot be replaced by caller-owned children.
214
+ <CodeBlock code="select 1;"><p>Different source</p></CodeBlock>;
215
+ // @ts-expect-error CodeBlock exposes its native root div ref.
216
+ <CodeBlock code="select 1;" ref={toggleRef} />;
217
+
218
+ import { InlineEdit, Reveal, type RevealDirection } from "../react/src";
219
+ const entryDirection: RevealDirection = "up";
220
+ <InlineEdit label="Project" value="North" defaultEditing maxLength={40} ref={div} onConfirm={async value => { value.toUpperCase(); }} onValueChange={value => value.toUpperCase()} onEditingChange={next => next.valueOf()} />;
221
+ <Reveal direction={entryDirection} delay={120} debug ref={div}><p>Review</p></Reveal>;
222
+ // @ts-expect-error Committed text remains required.
223
+ <InlineEdit label="Project" />;
224
+ // @ts-expect-error Inline editing retains a required visible name.
225
+ <InlineEdit value="North" />;
226
+ // @ts-expect-error React retains native maxLength casing.
227
+ <InlineEdit label="Project" value="North" maxlength={40} />;
228
+ // @ts-expect-error Persistence resolves void; booleans cannot silently mean confirmation.
229
+ <InlineEdit label="Project" value="North" onConfirm={async () => false} />;
230
+ // @ts-expect-error The field-group ref is a div.
231
+ <InlineEdit label="Project" value="North" ref={toggleRef} />;
232
+ // @ts-expect-error Direction retains the canonical closed vocabulary.
233
+ <Reveal direction="diagonal" />;
234
+ // @ts-expect-error Motion delay is a number of milliseconds.
235
+ <Reveal delay="slow" />;
236
+
237
+
238
+ // Identity alternatives, native groups, and a caller-owned appearance axis.
239
+ import { Avatar, ToggleGroup, AppearanceSwitch } from "../react/src";
240
+ const avatarRef = createRef<HTMLSpanElement>();
241
+ const scopeRef = createRef<HTMLFieldSetElement>();
242
+ const appearanceRef = createRef<HTMLSelectElement>();
243
+ export const identityControls = <>
244
+ <Avatar name="Ada Lovelace" fallback="AL" src="/ada.png" ref={avatarRef} />
245
+ <ToggleGroup legend="Scope" name="scope" defaultValue="all" options={[{ value: "all", label: "All" }]} ref={scopeRef} onValueChange={value => value.toUpperCase()} />
246
+ <AppearanceSwitch label="Theme" axis="theme" options={[{ value: "application", label: "Application" }]} defaultValue="application" ref={appearanceRef} onValueChange={value => value.toUpperCase()} />
247
+ </>;
248
+ // @ts-expect-error An avatar requires a text or icon alternative.
249
+ export const unnamedAvatar = <Avatar name="Ada Lovelace" />;
250
+ // @ts-expect-error Theme is an axis value; axis only accepts the independent axis vocabulary.
251
+ export const invalidAppearanceAxis = <AppearanceSwitch label="Theme" axis="application" options={[]} />;
252
+ // @ts-expect-error Single selection is a string.
253
+ export const invalidToggleValue = <ToggleGroup legend="Scope" options={[]} value={["all"]} />;
254
+
255
+ import { parseDate } from "@internationalized/date";
256
+ import { Dialog, Drawer, AlertDialog, Popover, Tooltip, Accordion, Tabs, SearchSelect, Combobox, DateField, TimeField, DateRangeField, TimeRangeField, Calendar, RangeCalendar, DatePicker, DateRangePicker, Carousel, Navbar, NavigationMenu, NavigationScope, DropdownMenu, LinkPreview } from "../react/src";
257
+ export const requestReview = <>
258
+ <Dialog title="Export" triggerLabel="Export" ref={createRef<HTMLDialogElement>()} actions={({ close }) => <Button onClick={close}>Cancel</Button>}><SearchSelect label="Region" options={[]} onValueChange={value => value.toUpperCase()} /></Dialog>
259
+ <Drawer title="Trace" header={({ close }) => <Button onClick={close}>Back</Button>} />
260
+ <AlertDialog title="Remove" confirmLabel="Remove" onConfirm={async event => { event.preventDefault(); }} />
261
+ <Popover triggerLabel="Options" contentLabel="Options"><SearchSelect label="Regions" options={[]} multiple onValueChange={values => values.map(value => value.toUpperCase())} /></Popover>
262
+ <Tooltip content="Explanation" child={({ props }) => <Button {...props}>Help</Button>} />
263
+ <Accordion label="Phases" items={[{value:"query",label:"Query"}]}>{item => <p>{item.value}</p>}</Accordion>
264
+ <Tabs label="Sections" items={[{value:"overview",label:"Overview"}]}>{item => <p>{item.value}</p>}</Tabs>
265
+ <Combobox label="Service" options={[]} onInputValueChange={text => text.trim()} />
266
+ <DateField label="Date" name="date" onValueChange={value => value.toUpperCase()} /><TimeField label="Time" />
267
+ <DateRangeField label="Dates" startLabel="From" endLabel="To" onValueChange={value => value.end.trim()} /><TimeRangeField label="Times" startLabel="From" endLabel="To" />
268
+ <Calendar label="Day" value={parseDate("2026-06-10")} ref={div} onValueChange={value => value?.add({days:1})} />
269
+ <RangeCalendar label="Window" value={{ start: parseDate("2026-06-10"), end: undefined }} onValueChange={value => value.end?.toString()} />
270
+ <DatePicker label="Day" calendarLabel="Choose day" /><DateRangePicker label="Window" startLabel="From" endLabel="To" calendarLabel="Choose window" />
271
+ <Carousel label="Tips" slides={[{label:"One",content:<p>Tip</p>}]} viewport={context => <p>{context.active}</p>} />
272
+ <Navbar brand={<strong>Monitor</strong>} links={[]} /><NavigationMenu label="Guides" items={[]} />
273
+ <NavigationScope navigate={(href, event) => { href.trim(); event.preventDefault(); }}><LinkPreview href="#guide" label="Guide" previewLabel="Guide preview" /></NavigationScope>
274
+ <DropdownMenu triggerLabel="Actions" contentLabel="Actions" items={[{id:"review", label:"Review", onselect:() => {}}]} />
275
+ </>;
276
+ // @ts-expect-error A multi-select callback receives an array, not a string.
277
+ <SearchSelect label="Regions" options={[]} multiple onValueChange={(value: string) => {}} />;
278
+ // @ts-expect-error Calendar values retain the portable DateValue contract.
279
+ <Calendar label="Day" value="2026-06-10" />;
280
+ // @ts-expect-error Calendar trigger and grid require distinct accessible names.
281
+ <DatePicker label="Day" />;
282
+ // @ts-expect-error Native overlay refs are HTMLDialogElement refs.
283
+ <Dialog title="Review" ref={div} />;
@@ -0,0 +1,110 @@
1
+ import { act, createElement as h, createRef, useState } from "react";
2
+ import { createRoot, hydrateRoot, type Root } from "react-dom/client";
3
+ import { renderToString } from "react-dom/server";
4
+ import { afterEach, describe, expect, it, vi } from "vitest";
5
+ import { Button, Field, Input, Textarea, Heading, Text, Stack, Badge, Divider, Container, LoadingIndicator } from "../react/src";
6
+ import { button } from "../src/button.variants";
7
+ import { input } from "../src/input.variants";
8
+
9
+ Object.assign(globalThis, { IS_REACT_ACT_ENVIRONMENT: true });
10
+ let root: Root | undefined;
11
+ afterEach(async () => {
12
+ if (root) await act(() => root?.unmount());
13
+ root = undefined;
14
+ document.body.replaceChildren();
15
+ });
16
+ async function mount(node: ReturnType<typeof h>) {
17
+ const container = document.createElement("div");
18
+ document.body.append(container);
19
+ await act(() => { root = createRoot(container); root.render(node); });
20
+ return container;
21
+ }
22
+
23
+ describe("native React implementation", () => {
24
+ it("uses the canonical recipes, keeps native refs and defaults to a non-submitting button", async () => {
25
+ const ref = createRef<HTMLButtonElement>();
26
+ const container = await mount(h(Button, { ref, children: "Save" }));
27
+ const element = container.querySelector("button")!;
28
+ expect(ref.current).toBe(element);
29
+ expect(element.type).toBe("button");
30
+ expect(element.className).toBe(button());
31
+ expect(renderToString(h(Input, { "aria-label": "Name" }))).toContain(input());
32
+ });
33
+
34
+ it("removes link activation and announces loading without losing its label", async () => {
35
+ const click = vi.fn();
36
+ const container = await mount(h(Button, { href: "/details", loading: true, onClick: click, children: "Details" }));
37
+ const element = container.querySelector("a")!;
38
+ element.click();
39
+ expect(click).not.toHaveBeenCalled();
40
+ expect(element.hasAttribute("href")).toBe(false);
41
+ expect(element.tabIndex).toBe(-1);
42
+ expect(element.getAttribute("aria-busy")).toBe("true");
43
+ expect(element.getAttribute("aria-disabled")).toBe("true");
44
+ expect(element.textContent).toBe("Details");
45
+ });
46
+
47
+ it("hydrates generated Field associations without changing ids", async () => {
48
+ const field = h(Field, { label: "Organization", help: "Used for billing", error: "Choose a name", required: true,
49
+ children: control => h(Input, { ...control, name: "organization", defaultValue: "RedDB" }) });
50
+ const container = document.createElement("div");
51
+ container.innerHTML = renderToString(field);
52
+ document.body.append(container);
53
+ const serverId = container.querySelector("input")!.id;
54
+ const errors: unknown[] = [];
55
+ await act(() => { root = hydrateRoot(container, field, { onRecoverableError: error => errors.push(error) }); });
56
+ const element = container.querySelector("input")!;
57
+ expect(element.id).toBe(serverId);
58
+ expect(container.querySelector("label")!.htmlFor).toBe(serverId);
59
+ expect(element.required).toBe(true);
60
+ expect(element.getAttribute("aria-invalid")).toBe("true");
61
+ const descriptions = element.getAttribute("aria-describedby")!.split(" ");
62
+ expect(descriptions).toEqual([`${serverId}-help`, `${serverId}-error`]);
63
+ expect(errors).toEqual([]);
64
+ });
65
+
66
+ it("retains native form serialization and reset for uncontrolled controls", async () => {
67
+ const container = await mount(h("form", null,
68
+ h(Input, { name: "name", defaultValue: "Initial", "aria-label": "Name" }),
69
+ h(Textarea, { name: "notes", defaultValue: "Original", "aria-label": "Notes" })));
70
+ const form = container.querySelector("form")!;
71
+ form.querySelector("input")!.value = "Edited";
72
+ form.querySelector("textarea")!.value = "Changed";
73
+ expect(new FormData(form).get("name")).toBe("Edited");
74
+ await act(() => form.reset());
75
+ expect(new FormData(form).get("name")).toBe("Initial");
76
+ expect(new FormData(form).get("notes")).toBe("Original");
77
+ });
78
+
79
+ it("composes controlled values and preserves the native React event", async () => {
80
+ const event = vi.fn();
81
+ const changed = vi.fn();
82
+ function Form() {
83
+ const [value, setValue] = useState("Original");
84
+ return h(Input, { value, "aria-label": "Name", onChange: event, onValueChange: next => { changed(next); setValue(next); } });
85
+ }
86
+ const container = await mount(h(Form));
87
+ const element = container.querySelector("input")!;
88
+ // Use the native setter so React observes a user edit rather than a tracked programmatic assignment.
89
+ await act(() => {
90
+ Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value")!.set!.call(element, "Changed");
91
+ element.dispatchEvent(new Event("input", { bubbles: true }));
92
+ });
93
+ expect(element.value).toBe("Changed");
94
+ expect(changed).toHaveBeenCalledWith("Changed");
95
+ expect(event.mock.calls[0]?.[0].type).toBe("change");
96
+ });
97
+
98
+ it("renders meaningful static HTML without selecting an appearance axis", () => {
99
+ const html = renderToString(h(Container, null, h(Stack, null,
100
+ h(Heading, { level: 1 }, "Operations"), h(Text, { role: "caption" }, "Current state"),
101
+ h(Badge, { tone: "success", children: "Ready" }), h(Divider, { orientation: "vertical" }),
102
+ h(LoadingIndicator, { label: "Refreshing requests", labelHidden: true }))));
103
+ expect(html).toContain("<h1");
104
+ expect(html).toContain('aria-orientation="vertical"');
105
+ expect(html).toContain('role="status"');
106
+ expect(html).toContain("Refreshing requests");
107
+ expect(html).toContain("motion-reduce:");
108
+ expect(html).not.toMatch(/data-(?:theme|color-scheme|density)=/);
109
+ });
110
+ });
@@ -0,0 +1,148 @@
1
+ import { createRawSnippet, flushSync } from "svelte";
2
+ import { afterEach, describe, expect, it, vi } from "vitest";
3
+ import { Reveal } from "@reddb-io/design-system/base";
4
+ import RevealAppearanceConsumer from "./fixtures/RevealAppearanceConsumer.svelte";
5
+ import { render, rendered } from "./mount";
6
+
7
+ function mockReducedMotion(initial: boolean) {
8
+ let matches = initial;
9
+ const listeners = new Set<(event: MediaQueryListEvent) => void>();
10
+ const media = {
11
+ get matches() {
12
+ return matches;
13
+ },
14
+ media: "(prefers-reduced-motion: reduce)",
15
+ onchange: null,
16
+ addEventListener: vi.fn((_type: string, listener: (event: MediaQueryListEvent) => void) => {
17
+ listeners.add(listener);
18
+ }),
19
+ removeEventListener: vi.fn((_type: string, listener: (event: MediaQueryListEvent) => void) => {
20
+ listeners.delete(listener);
21
+ }),
22
+ } as unknown as MediaQueryList;
23
+ vi.stubGlobal("matchMedia", vi.fn(() => media));
24
+
25
+ return {
26
+ set(next: boolean) {
27
+ matches = next;
28
+ for (const listener of listeners) {
29
+ listener({ matches: next, media: media.media } as MediaQueryListEvent);
30
+ }
31
+ flushSync();
32
+ },
33
+ };
34
+ }
35
+
36
+ afterEach(() => {
37
+ vi.unstubAllGlobals();
38
+ });
39
+
40
+ describe("the Base Reveal Motion Primitive", () => {
41
+ it("reveals content with sane zero-config defaults on the native CSS path", () => {
42
+ vi.stubGlobal("CSS", { supports: vi.fn(() => true) });
43
+
44
+ const root = rendered(
45
+ render(Reveal, {
46
+ children: createRawSnippet(() => ({ render: () => "<p>Ready</p>" })),
47
+ }),
48
+ );
49
+
50
+ expect(root.getAttribute("data-reveal-path")).toBe("css");
51
+ expect(root.getAttribute("data-reveal-direction")).toBe("up");
52
+ expect(root.getAttribute("data-reveal-delay")).toBe("0");
53
+ expect(root.hasAttribute("data-reveal-debug")).toBe(false);
54
+ expect(root.textContent).toBe("Ready");
55
+ });
56
+
57
+ it("accepts direction and delay options and exposes its debug range", () => {
58
+ vi.stubGlobal("CSS", { supports: vi.fn(() => true) });
59
+
60
+ const root = rendered(render(Reveal, { direction: "left", delay: 180, debug: true }));
61
+
62
+ expect(root.getAttribute("data-reveal-direction")).toBe("left");
63
+ expect(root.style.getPropertyValue("--reveal-delay")).toBe("180ms");
64
+ expect(root.hasAttribute("data-reveal-debug")).toBe(true);
65
+ });
66
+
67
+ it("reactively drops positional movement under reduced motion on the CSS path", () => {
68
+ vi.stubGlobal("CSS", { supports: vi.fn(() => true) });
69
+ const preference = mockReducedMotion(true);
70
+
71
+ const root = rendered(render(Reveal, { direction: "right" }));
72
+
73
+ expect(root.getAttribute("data-reveal-motion")).toBe("fade");
74
+ expect(root.style.getPropertyValue("--reveal-x")).toBe("0px");
75
+ expect(root.style.getPropertyValue("--reveal-y")).toBe("0px");
76
+ expect(root.hasAttribute("data-reveal-entered")).toBe(true);
77
+ expect(root.classList).toContain("opacity-100");
78
+ expect(root.classList).not.toContain("opacity-0");
79
+ expect(root.classList).toContain("motion-reduce:!opacity-100");
80
+ expect(root.classList).toContain("motion-reduce:!transform-none");
81
+
82
+ preference.set(false);
83
+ expect(root.getAttribute("data-reveal-motion")).toBe("position-and-fade");
84
+ expect(root.style.getPropertyValue("--reveal-x")).toBe("");
85
+ expect(root.style.getPropertyValue("--reveal-y")).toBe("");
86
+ });
87
+
88
+ it("reveals on intersection when scroll-driven CSS is unavailable", () => {
89
+ vi.stubGlobal("CSS", { supports: vi.fn(() => false) });
90
+ mockReducedMotion(false);
91
+ let enter: ((entries: IntersectionObserverEntry[]) => void) | undefined;
92
+ const observe = vi.fn();
93
+ const disconnect = vi.fn();
94
+ vi.stubGlobal(
95
+ "IntersectionObserver",
96
+ // A constructor mock: Vitest only lets `new` call a `function` or class
97
+ // implementation, never an arrow function.
98
+ vi.fn(function (callback: (entries: IntersectionObserverEntry[]) => void) {
99
+ enter = callback;
100
+ return { observe, disconnect };
101
+ }),
102
+ );
103
+
104
+ const root = rendered(render(Reveal));
105
+ expect(root.getAttribute("data-reveal-path")).toBe("js");
106
+ expect(root.hasAttribute("data-reveal-entered")).toBe(false);
107
+ expect(observe).toHaveBeenCalledWith(root);
108
+
109
+ enter?.([{ isIntersecting: true } as IntersectionObserverEntry]);
110
+ flushSync();
111
+
112
+ expect(root.hasAttribute("data-reveal-entered")).toBe(true);
113
+ expect(disconnect).toHaveBeenCalledOnce();
114
+ });
115
+
116
+ it("drops positional movement and the observer under reduced motion on the JS path", () => {
117
+ vi.stubGlobal("CSS", { supports: vi.fn(() => false) });
118
+ mockReducedMotion(true);
119
+ const observe = vi.fn();
120
+ const IntersectionObserverMock = vi.fn(() => ({ observe, disconnect: vi.fn() }));
121
+ vi.stubGlobal("IntersectionObserver", IntersectionObserverMock);
122
+
123
+ const root = rendered(render(Reveal, { direction: "down" }));
124
+
125
+ expect(root.getAttribute("data-reveal-path")).toBe("js");
126
+ expect(root.getAttribute("data-reveal-motion")).toBe("fade");
127
+ expect(root.style.getPropertyValue("--reveal-x")).toBe("0px");
128
+ expect(root.style.getPropertyValue("--reveal-y")).toBe("0px");
129
+ expect(root.hasAttribute("data-reveal-entered")).toBe(true);
130
+ expect(IntersectionObserverMock).not.toHaveBeenCalled();
131
+ expect(observe).not.toHaveBeenCalled();
132
+ });
133
+
134
+ it("renders cleanly across Theme × Color Scheme × Density", () => {
135
+ vi.stubGlobal("CSS", { supports: vi.fn(() => true) });
136
+ mockReducedMotion(false);
137
+
138
+ const cells = render(RevealAppearanceConsumer).querySelectorAll("[data-reveal]");
139
+
140
+ expect(cells).toHaveLength(16);
141
+ for (const cell of cells) {
142
+ expect(cell.textContent).toBe("Visible in every appearance");
143
+ expect(cell.hasAttribute("data-theme")).toBe(false);
144
+ expect(cell.hasAttribute("data-color-scheme")).toBe(false);
145
+ expect(cell.hasAttribute("data-density")).toBe(false);
146
+ }
147
+ });
148
+ });
@@ -0,0 +1,58 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import SurfaceControlsConsumer from "./fixtures/SurfaceControlsConsumer.svelte";
3
+ import SurfaceControlsContractFailures from "./fixtures/SurfaceControlsContractFailures.svelte";
4
+ import {
5
+ SCROLL_AREA_ORIENTATIONS,
6
+ ScrollArea,
7
+ scrollArea,
8
+ } from "./fixtures/surface-controls-consumer";
9
+ import { classes, classesOf, render, rendered } from "./mount";
10
+
11
+ describe("the deliberately unreachable scroll-area fixture", () => {
12
+ it("demonstrates overflow that keyboard users cannot focus", () => {
13
+ const area = rendered(
14
+ render(SurfaceControlsContractFailures, { failure: "unreachable-scroll-area" }),
15
+ );
16
+
17
+ expect(classes(area).has("overflow-y-auto")).toBe(true);
18
+ expect(area.getAttribute("tabindex")).toBeNull();
19
+ area.focus();
20
+ expect(document.activeElement).not.toBe(area);
21
+ });
22
+ });
23
+
24
+ describe("the Base ScrollArea", () => {
25
+ it("names the contained region and makes native scrolling keyboard reachable", () => {
26
+ const onkeydown = vi.fn();
27
+ const area = rendered(
28
+ render(ScrollArea, { label: "Recent deployments", onkeydown }),
29
+ );
30
+
31
+ expect(area.getAttribute("role")).toBe("region");
32
+ expect(area.getAttribute("aria-label")).toBe("Recent deployments");
33
+ expect(area.tabIndex).toBe(0);
34
+ area.focus();
35
+ area.dispatchEvent(new KeyboardEvent("keydown", { key: "PageDown", bubbles: true }));
36
+ expect(document.activeElement).toBe(area);
37
+ expect(onkeydown).toHaveBeenCalledTimes(1);
38
+ });
39
+
40
+ it("publishes every native overflow direction", () => {
41
+ expect(SCROLL_AREA_ORIENTATIONS).toEqual(["vertical", "horizontal", "both"]);
42
+
43
+ for (const orientation of SCROLL_AREA_ORIENTATIONS) {
44
+ const area = rendered(render(ScrollArea, { label: "Logs", orientation }));
45
+ expect(classes(area)).toEqual(classesOf(scrollArea({ orientation })));
46
+ }
47
+ });
48
+
49
+ it("uses a live Density inset and inherits every nested appearance axis", () => {
50
+ const area = render(SurfaceControlsConsumer)
51
+ .querySelector<HTMLElement>("[data-scroll-area]")!;
52
+
53
+ expect(classes(area).has("p-[var(--reddb-spatial-inset-sm)]")).toBe(true);
54
+ expect(area.hasAttribute("data-theme")).toBe(false);
55
+ expect(area.hasAttribute("data-color-scheme")).toBe(false);
56
+ expect(area.hasAttribute("data-density")).toBe(false);
57
+ });
58
+ });
@@ -0,0 +1,40 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { SearchSelect, searchSelectOptions } from "../src/index";
3
+ import { render } from "./mount";
4
+
5
+ const options = [
6
+ { value: "gru", label: "São Paulo", description: "Brazil · South America", keywords: ["sa-east-1"] },
7
+ { value: "fra", label: "Frankfurt", description: "Germany · Europe", disabled: true },
8
+ ];
9
+
10
+ describe("searchable dropdown selection", () => {
11
+ it("matches accents, descriptions, aliases and all query terms without mutating choices", () => {
12
+ expect(searchSelectOptions(options, "sao paulo")).toEqual([options[0]]);
13
+ expect(searchSelectOptions(options, "BRAZIL sao")).toEqual([options[0]]);
14
+ expect(searchSelectOptions(options, "sa-east-1")).toEqual([options[0]]);
15
+ expect(searchSelectOptions(options, "europe")).toEqual([options[1]]);
16
+ expect(searchSelectOptions(options, "not present")).toEqual([]);
17
+ expect(searchSelectOptions(options, " ")).toBe(options);
18
+ });
19
+
20
+ it("submits a selected single value while its search popup is closed", () => {
21
+ const root = render(SearchSelect, { label: "Region", options, name: "region", value: "gru", required: true });
22
+ const form = document.createElement("form"); root.before(form); form.append(root);
23
+ const select = root.querySelector("select")!;
24
+ expect(new FormData(form).get("region")).toBe("gru");
25
+ expect(select.checkValidity()).toBe(true);
26
+ expect(document.querySelector("[data-search-select-surface]")).toBeNull();
27
+ expect(root.querySelector("[data-search-select-trigger]")?.textContent).toContain("São Paulo");
28
+ form.replaceWith(root);
29
+ });
30
+
31
+ it("submits multiple native entries and makes disabled selections inert", () => {
32
+ const root = render(SearchSelect, { label: "Regions", options, name: "region", multiple: true, value: ["gru", "fra"], disabled: true });
33
+ const form = document.createElement("form"); root.before(form); form.append(root);
34
+ expect([...root.querySelectorAll("option:checked")].map(option => (option as HTMLOptionElement).value)).toEqual(["gru", "fra"]);
35
+ expect(new FormData(form).getAll("region")).toEqual([]);
36
+ expect(root.querySelectorAll("[data-search-select-chip]")).toHaveLength(2);
37
+ expect([...root.querySelectorAll("button")].every(button => button.disabled)).toBe(true);
38
+ form.replaceWith(root);
39
+ });
40
+ });