@kerfjs/ui 5.0.0-beta.11 → 5.0.0-beta.111

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 (1362) hide show
  1. package/README.md +708 -160
  2. package/ai/application-ui-diagnostic-ids-v1.json +115 -0
  3. package/ai/application-ui-profile-sync.cjs +548 -0
  4. package/ai/application-ui-profile.d.mts +1 -0
  5. package/ai/application-ui-profile.d.ts +106 -0
  6. package/ai/application-ui-profile.defaults.json +222 -0
  7. package/ai/application-ui-profile.mjs +653 -0
  8. package/ai/application-ui-profile.schema.json +140 -0
  9. package/ai/catalog-authoring.json +34 -0
  10. package/ai/catalog-authoring.schema.json +105 -0
  11. package/ai/compile-time-contracts-v1.json +149 -0
  12. package/ai/compile-time-contracts-v1.schema.json +52 -0
  13. package/ai/component-catalog-extension.schema.json +104 -0
  14. package/ai/component-catalog.json +9118 -1376
  15. package/ai/component-catalog.schema.json +94 -1
  16. package/ai/component-class-owners.cjs +83 -0
  17. package/ai/component-composition-extension.d.ts +7 -0
  18. package/ai/component-composition-extension.schema.json +7 -0
  19. package/ai/component-composition-rules.json +570 -0
  20. package/ai/component-composition.d.ts +143 -0
  21. package/ai/component-composition.json +10444 -0
  22. package/ai/component-composition.schema.json +444 -0
  23. package/ai/components/README.md +206 -0
  24. package/ai/components/anchored-surface.md +99 -0
  25. package/ai/components/application-tabs.md +65 -0
  26. package/ai/components/backdrop-image.md +84 -0
  27. package/ai/components/badge.md +77 -0
  28. package/ai/components/button.md +97 -0
  29. package/ai/components/checkbox-group.md +89 -0
  30. package/ai/components/checkbox.md +90 -0
  31. package/ai/components/chip.md +80 -0
  32. package/ai/components/choice-chips.md +93 -0
  33. package/ai/components/collapsible-panel.md +103 -0
  34. package/ai/components/color-field.md +92 -0
  35. package/ai/components/color-picker.md +93 -0
  36. package/ai/components/color-swatches.md +82 -0
  37. package/ai/components/column-track.md +78 -0
  38. package/ai/components/combobox.md +90 -0
  39. package/ai/components/content-item.md +101 -0
  40. package/ai/components/content-swap.md +78 -0
  41. package/ai/components/corner-status.md +88 -0
  42. package/ai/components/disclosure-arrow.md +77 -0
  43. package/ai/components/disclosure.md +88 -0
  44. package/ai/components/document-baseline.md +77 -0
  45. package/ai/components/edge-activity-indicator.md +81 -0
  46. package/ai/components/empty-state.md +80 -0
  47. package/ai/components/feedback.md +71 -0
  48. package/ai/components/file-picker.md +89 -0
  49. package/ai/components/floating-toolbar.md +82 -0
  50. package/ai/components/foundation.md +65 -0
  51. package/ai/components/framed-list.md +80 -0
  52. package/ai/components/grid.md +101 -0
  53. package/ai/components/headers.md +63 -0
  54. package/ai/components/layout.md +75 -0
  55. package/ai/components/list-action-row.md +108 -0
  56. package/ai/components/list-detail-dialog.md +90 -0
  57. package/ai/components/list-header.md +91 -0
  58. package/ai/components/list-inset-control.md +74 -0
  59. package/ai/components/list-inset-text.md +72 -0
  60. package/ai/components/list-item.md +108 -0
  61. package/ai/components/list.md +127 -0
  62. package/ai/components/loading-spinner.md +73 -0
  63. package/ai/components/lucide-icon.md +99 -0
  64. package/ai/components/message-composer.md +85 -0
  65. package/ai/components/nav-stack.md +120 -0
  66. package/ai/components/pane.md +127 -0
  67. package/ai/components/popup-menu.md +174 -0
  68. package/ai/components/progress-bar.md +82 -0
  69. package/ai/components/progress-ring.md +80 -0
  70. package/ai/components/radio-group.md +89 -0
  71. package/ai/components/recipe-app-shell.md +57 -0
  72. package/ai/components/recipe-collapsible-sidebar.md +57 -0
  73. package/ai/components/recipe-compact-toolbar.md +57 -0
  74. package/ai/components/recipe-composer-form.md +57 -0
  75. package/ai/components/recipe-list-detail-dialog.md +57 -0
  76. package/ai/components/recipe-list-workspace-states.md +57 -0
  77. package/ai/components/recipe-loading-inspector.md +57 -0
  78. package/ai/components/recipe-media-detail.md +57 -0
  79. package/ai/components/recipe-navigation-sidebar.md +57 -0
  80. package/ai/components/recipe-navigation-stack.md +57 -0
  81. package/ai/components/recipe-workspace-header.md +57 -0
  82. package/ai/components/resize.md +106 -0
  83. package/ai/components/row.md +96 -0
  84. package/ai/components/search-field.md +108 -0
  85. package/ai/components/segmented-control.md +83 -0
  86. package/ai/components/select.md +118 -0
  87. package/ai/components/skeleton.md +84 -0
  88. package/ai/components/slider.md +84 -0
  89. package/ai/components/spacer.md +86 -0
  90. package/ai/components/split-button.md +83 -0
  91. package/ai/components/split-view.md +105 -0
  92. package/ai/components/state-banner.md +96 -0
  93. package/ai/components/summary-row.md +85 -0
  94. package/ai/components/sunken-panel.md +79 -0
  95. package/ai/components/surface-scaffold.md +120 -0
  96. package/ai/components/switch.md +81 -0
  97. package/ai/components/tab-bar.md +114 -0
  98. package/ai/components/tab-navigator.md +105 -0
  99. package/ai/components/tabs.md +95 -0
  100. package/ai/components/tag-field.md +86 -0
  101. package/ai/components/text-field.md +102 -0
  102. package/ai/components/text.md +93 -0
  103. package/ai/components/toast.md +85 -0
  104. package/ai/components/toolbar-control-group.md +127 -0
  105. package/ai/components/toolbar-text.md +100 -0
  106. package/ai/components/toolbar.md +103 -0
  107. package/ai/components/tooltip.md +81 -0
  108. package/ai/components/value-table.md +80 -0
  109. package/ai/components/wa-accordion-item.md +61 -0
  110. package/ai/components/wa-accordion.md +71 -0
  111. package/ai/components/wa-animated-image.md +56 -0
  112. package/ai/components/wa-animation.md +56 -0
  113. package/ai/components/wa-avatar.md +56 -0
  114. package/ai/components/wa-badge.md +62 -0
  115. package/ai/components/wa-breadcrumb-item.md +54 -0
  116. package/ai/components/wa-breadcrumb.md +56 -0
  117. package/ai/components/wa-button-group.md +62 -0
  118. package/ai/components/wa-button.md +61 -0
  119. package/ai/components/wa-callout.md +60 -0
  120. package/ai/components/wa-card.md +67 -0
  121. package/ai/components/wa-carousel-item.md +54 -0
  122. package/ai/components/wa-carousel.md +56 -0
  123. package/ai/components/wa-checkbox-group.md +62 -0
  124. package/ai/components/wa-checkbox.md +61 -0
  125. package/ai/components/wa-color-picker.md +63 -0
  126. package/ai/components/wa-comparison.md +56 -0
  127. package/ai/components/wa-copy-button.md +56 -0
  128. package/ai/components/wa-details.md +67 -0
  129. package/ai/components/wa-dialog.md +65 -0
  130. package/ai/components/wa-divider.md +54 -0
  131. package/ai/components/wa-drawer.md +62 -0
  132. package/ai/components/wa-dropdown-item.md +62 -0
  133. package/ai/components/wa-dropdown.md +62 -0
  134. package/ai/components/wa-format-bytes.md +54 -0
  135. package/ai/components/wa-format-date.md +54 -0
  136. package/ai/components/wa-format-number.md +54 -0
  137. package/ai/components/wa-icon.md +59 -0
  138. package/ai/components/wa-include.md +55 -0
  139. package/ai/components/wa-input.md +62 -0
  140. package/ai/components/wa-intersection-observer.md +54 -0
  141. package/ai/components/wa-known-date.md +54 -0
  142. package/ai/components/wa-markdown.md +54 -0
  143. package/ai/components/wa-mutation-observer.md +54 -0
  144. package/ai/components/wa-number-input.md +56 -0
  145. package/ai/components/wa-option.md +61 -0
  146. package/ai/components/wa-otp-input.md +54 -0
  147. package/ai/components/wa-page.md +62 -0
  148. package/ai/components/wa-pagination.md +56 -0
  149. package/ai/components/wa-popover.md +61 -0
  150. package/ai/components/wa-popup.md +60 -0
  151. package/ai/components/wa-progress-bar.md +60 -0
  152. package/ai/components/wa-progress-ring.md +60 -0
  153. package/ai/components/wa-qr-code.md +54 -0
  154. package/ai/components/wa-radio-group.md +67 -0
  155. package/ai/components/wa-radio.md +61 -0
  156. package/ai/components/wa-random-content.md +54 -0
  157. package/ai/components/wa-rating.md +56 -0
  158. package/ai/components/wa-relative-time.md +54 -0
  159. package/ai/components/wa-resize-observer.md +54 -0
  160. package/ai/components/wa-scroller.md +61 -0
  161. package/ai/components/wa-select.md +65 -0
  162. package/ai/components/wa-skeleton.md +60 -0
  163. package/ai/components/wa-slider.md +61 -0
  164. package/ai/components/wa-spinner.md +60 -0
  165. package/ai/components/wa-split-panel.md +60 -0
  166. package/ai/components/wa-step.md +56 -0
  167. package/ai/components/wa-stepper.md +56 -0
  168. package/ai/components/wa-switch.md +60 -0
  169. package/ai/components/wa-tab-group.md +71 -0
  170. package/ai/components/wa-tab-panel.md +62 -0
  171. package/ai/components/wa-tab.md +61 -0
  172. package/ai/components/wa-tag-input.md +62 -0
  173. package/ai/components/wa-tag.md +62 -0
  174. package/ai/components/wa-textarea.md +60 -0
  175. package/ai/components/wa-time-input.md +56 -0
  176. package/ai/components/wa-toast-item.md +62 -0
  177. package/ai/components/wa-toast.md +62 -0
  178. package/ai/components/wa-tooltip.md +61 -0
  179. package/ai/components/wa-tree-item.md +56 -0
  180. package/ai/components/wa-tree.md +56 -0
  181. package/ai/components/wa-zoomable-frame.md +56 -0
  182. package/ai/components/workbench-dialog.md +90 -0
  183. package/ai/components/workbench.md +120 -0
  184. package/ai/public-api-signatures-v1.md +6162 -446
  185. package/ai/skill.md +549 -65
  186. package/ai/webawesome-jsx-signatures-v1.md +12 -2
  187. package/analyzer/cli.mjs +49 -0
  188. package/analyzer/component-ownership.d.mts +72 -0
  189. package/analyzer/component-ownership.mjs +429 -0
  190. package/analyzer/index.d.mts +53 -0
  191. package/analyzer/index.mjs +2375 -0
  192. package/analyzer/loud-pairs.d.mts +49 -0
  193. package/analyzer/loud-pairs.mjs +357 -0
  194. package/analyzer/report.schema.json +66 -0
  195. package/analyzer/selectors.d.mts +21 -0
  196. package/analyzer/selectors.mjs +212 -0
  197. package/catalog-projection-cli.mjs +96 -0
  198. package/catalog-projection.d.mts +55 -0
  199. package/catalog-projection.mjs +62 -0
  200. package/dist/anchored-surface.d.ts +69 -0
  201. package/dist/anchored-surface.js +3 -0
  202. package/dist/anchored-surface.js.map +1 -0
  203. package/dist/backdrop-image.d.ts +140 -0
  204. package/dist/backdrop-image.js +5 -0
  205. package/dist/backdrop-image.js.map +1 -0
  206. package/dist/badge.d.ts +91 -0
  207. package/dist/badge.js +4 -0
  208. package/dist/badge.js.map +1 -0
  209. package/dist/browser/anchored-surface.js +3 -0
  210. package/dist/browser/backdrop-image.js +3 -0
  211. package/dist/browser/badge.js +3 -0
  212. package/dist/browser/button.js +5 -0
  213. package/dist/browser/catalog.js +29 -0
  214. package/dist/browser/checkbox-group.js +5 -0
  215. package/dist/browser/checkbox.js +4 -0
  216. package/dist/browser/chip.js +3 -0
  217. package/dist/browser/choice-chips.js +3 -0
  218. package/dist/browser/collapsible-panel.js +9 -0
  219. package/dist/browser/color-field.js +4 -0
  220. package/dist/browser/color-picker.js +5 -0
  221. package/dist/browser/color-swatches.js +3 -0
  222. package/dist/browser/column-track.js +3 -0
  223. package/dist/browser/combobox.js +3 -0
  224. package/dist/browser/content-item.js +4 -0
  225. package/dist/browser/content-swap.js +3 -0
  226. package/dist/browser/corner-status.js +3 -0
  227. package/dist/browser/disclosure.js +5 -0
  228. package/dist/browser/edge-activity-indicator.js +3 -0
  229. package/dist/browser/file-picker.js +3 -0
  230. package/dist/browser/framed-list.js +3 -0
  231. package/dist/browser/grid.js +3 -0
  232. package/dist/browser/list-action-row.js +3 -0
  233. package/dist/browser/list-detail-dialog.js +14 -0
  234. package/dist/browser/list-header.js +3 -1
  235. package/dist/browser/list-inset-control.js +3 -0
  236. package/dist/browser/list-inset-text.js +3 -0
  237. package/dist/browser/list-item.js +1 -0
  238. package/dist/browser/list.js +3 -0
  239. package/dist/browser/message-composer.js +5 -0
  240. package/dist/browser/nav-stack.js +11 -0
  241. package/dist/browser/pane.js +3 -0
  242. package/dist/browser/popup-menu.js +4 -0
  243. package/dist/browser/progress-bar.js +3 -0
  244. package/dist/browser/progress-ring.js +3 -0
  245. package/dist/browser/radio-group.js +3 -0
  246. package/dist/browser/row.js +3 -0
  247. package/dist/browser/search-field.js +4 -0
  248. package/dist/browser/segmented-control.js +0 -1
  249. package/dist/browser/select.js +2 -1
  250. package/dist/browser/slider.js +3 -0
  251. package/dist/browser/spacer.js +3 -0
  252. package/dist/browser/split-button.js +5 -0
  253. package/dist/browser/split-view.js +13 -0
  254. package/dist/browser/state-banner.js +1 -0
  255. package/dist/browser/summary-row.js +3 -0
  256. package/dist/browser/sunken-panel.js +3 -0
  257. package/dist/browser/surface-scaffold.js +4 -0
  258. package/dist/browser/switch.js +3 -0
  259. package/dist/browser/tab-bar-item.js +4 -0
  260. package/dist/browser/tab-navigator.js +4 -0
  261. package/dist/browser/tag-field.js +5 -0
  262. package/dist/browser/text-field.js +4 -0
  263. package/dist/browser/text.js +3 -0
  264. package/dist/browser/toolbar-control-group.js +1 -0
  265. package/dist/browser/workbench-dialog.js +15 -0
  266. package/dist/browser/workbench.js +14 -0
  267. package/dist/button.d.ts +123 -0
  268. package/dist/button.js +7 -0
  269. package/dist/button.js.map +1 -0
  270. package/dist/catalog-resources.d.ts +51 -0
  271. package/dist/catalog-resources.js +22 -0
  272. package/dist/catalog-resources.js.map +1 -0
  273. package/dist/catalog.d.ts +135 -101
  274. package/dist/catalog.js +701 -108
  275. package/dist/catalog.js.map +1 -1
  276. package/dist/checkbox-group.d.ts +70 -0
  277. package/dist/checkbox-group.js +7 -0
  278. package/dist/checkbox-group.js.map +1 -0
  279. package/dist/checkbox.d.ts +45 -0
  280. package/dist/checkbox.js +6 -0
  281. package/dist/checkbox.js.map +1 -0
  282. package/dist/chip.d.ts +117 -0
  283. package/dist/chip.js +4 -0
  284. package/dist/chip.js.map +1 -0
  285. package/dist/choice-chips.d.ts +116 -0
  286. package/dist/choice-chips.js +3 -0
  287. package/dist/choice-chips.js.map +1 -0
  288. package/dist/chunk-2FW7D4IG.js +52 -0
  289. package/dist/chunk-2FW7D4IG.js.map +1 -0
  290. package/dist/chunk-2GOCOLQL.js +270 -0
  291. package/dist/chunk-2GOCOLQL.js.map +1 -0
  292. package/dist/chunk-2LM3PYHA.js +300 -0
  293. package/dist/chunk-2LM3PYHA.js.map +1 -0
  294. package/dist/chunk-36HVQ72F.js +123 -0
  295. package/dist/chunk-36HVQ72F.js.map +1 -0
  296. package/dist/chunk-3GLYIIFR.js +230 -0
  297. package/dist/chunk-3GLYIIFR.js.map +1 -0
  298. package/dist/chunk-3VZ6SFD4.js +8 -0
  299. package/dist/chunk-3VZ6SFD4.js.map +1 -0
  300. package/dist/chunk-3WYREXW4.js +120 -0
  301. package/dist/chunk-3WYREXW4.js.map +1 -0
  302. package/dist/chunk-3Z7N2NAZ.js +385 -0
  303. package/dist/chunk-3Z7N2NAZ.js.map +1 -0
  304. package/dist/chunk-4OV272LF.js +93 -0
  305. package/dist/chunk-4OV272LF.js.map +1 -0
  306. package/dist/chunk-4RECPEHI.js +67 -0
  307. package/dist/chunk-4RECPEHI.js.map +1 -0
  308. package/dist/chunk-4UB5Z3ZZ.js +68 -0
  309. package/dist/chunk-4UB5Z3ZZ.js.map +1 -0
  310. package/dist/chunk-5J6Z4BWY.js +141 -0
  311. package/dist/chunk-5J6Z4BWY.js.map +1 -0
  312. package/dist/chunk-6C6DLP3W.js +31 -0
  313. package/dist/chunk-6C6DLP3W.js.map +1 -0
  314. package/dist/chunk-6VVIW7VB.js +69 -0
  315. package/dist/chunk-6VVIW7VB.js.map +1 -0
  316. package/dist/chunk-7AK5I7U7.js +55 -0
  317. package/dist/chunk-7AK5I7U7.js.map +1 -0
  318. package/dist/chunk-7K6U6FCN.js +122 -0
  319. package/dist/chunk-7K6U6FCN.js.map +1 -0
  320. package/dist/chunk-AMIHGFLP.js +59 -0
  321. package/dist/chunk-AMIHGFLP.js.map +1 -0
  322. package/dist/chunk-AN5IWMTM.js +24 -0
  323. package/dist/chunk-AN5IWMTM.js.map +1 -0
  324. package/dist/chunk-ATGAJVZ6.js +268 -0
  325. package/dist/chunk-ATGAJVZ6.js.map +1 -0
  326. package/dist/chunk-AYPGXR2E.js +20 -0
  327. package/dist/chunk-AYPGXR2E.js.map +1 -0
  328. package/dist/chunk-B53PS2LE.js +34 -0
  329. package/dist/chunk-B53PS2LE.js.map +1 -0
  330. package/dist/chunk-BKUMG2KB.js +95 -0
  331. package/dist/chunk-BKUMG2KB.js.map +1 -0
  332. package/dist/chunk-C26Q6P4Q.js +76 -0
  333. package/dist/chunk-C26Q6P4Q.js.map +1 -0
  334. package/dist/chunk-CEJ5FK6G.js +288 -0
  335. package/dist/chunk-CEJ5FK6G.js.map +1 -0
  336. package/dist/chunk-CIAUILRR.js +222 -0
  337. package/dist/chunk-CIAUILRR.js.map +1 -0
  338. package/dist/chunk-CNM6ZWP2.js +38 -0
  339. package/dist/chunk-CNM6ZWP2.js.map +1 -0
  340. package/dist/chunk-CTQUDCY5.js +26 -0
  341. package/dist/chunk-CTQUDCY5.js.map +1 -0
  342. package/dist/chunk-CVD5IZGB.js +66 -0
  343. package/dist/chunk-CVD5IZGB.js.map +1 -0
  344. package/dist/chunk-D4MXSAMI.js +50 -0
  345. package/dist/chunk-D4MXSAMI.js.map +1 -0
  346. package/dist/chunk-D5RGM3XA.js +38 -0
  347. package/dist/chunk-D5RGM3XA.js.map +1 -0
  348. package/dist/chunk-DZJ4GBSP.js +59 -0
  349. package/dist/chunk-DZJ4GBSP.js.map +1 -0
  350. package/dist/chunk-EIET4QLK.js +51 -0
  351. package/dist/chunk-EIET4QLK.js.map +1 -0
  352. package/dist/chunk-EKHDLBRP.js +86 -0
  353. package/dist/chunk-EKHDLBRP.js.map +1 -0
  354. package/dist/chunk-ETFP7HAR.js +147 -0
  355. package/dist/chunk-ETFP7HAR.js.map +1 -0
  356. package/dist/chunk-EYDXFOSH.js +457 -0
  357. package/dist/chunk-EYDXFOSH.js.map +1 -0
  358. package/dist/chunk-G3J7JDP6.js +29 -0
  359. package/dist/chunk-G3J7JDP6.js.map +1 -0
  360. package/dist/chunk-GS2QD3N7.js +14 -0
  361. package/dist/chunk-GS2QD3N7.js.map +1 -0
  362. package/dist/chunk-GXSX6Q6O.js +42 -0
  363. package/dist/chunk-GXSX6Q6O.js.map +1 -0
  364. package/dist/chunk-HDXUHLTQ.js +90 -0
  365. package/dist/chunk-HDXUHLTQ.js.map +1 -0
  366. package/dist/chunk-HJXVVFBT.js +108 -0
  367. package/dist/chunk-HJXVVFBT.js.map +1 -0
  368. package/dist/chunk-HTERKONR.js +49 -0
  369. package/dist/chunk-HTERKONR.js.map +1 -0
  370. package/dist/chunk-HU5IHXCI.js +73 -0
  371. package/dist/chunk-HU5IHXCI.js.map +1 -0
  372. package/dist/chunk-IIQ2XIMU.js +197 -0
  373. package/dist/chunk-IIQ2XIMU.js.map +1 -0
  374. package/dist/chunk-IKS72C6P.js +53 -0
  375. package/dist/chunk-IKS72C6P.js.map +1 -0
  376. package/dist/chunk-IO27YTL3.js +73 -0
  377. package/dist/chunk-IO27YTL3.js.map +1 -0
  378. package/dist/chunk-IQSRHXZR.js +164 -0
  379. package/dist/chunk-IQSRHXZR.js.map +1 -0
  380. package/dist/chunk-IRC5N7FA.js +16 -0
  381. package/dist/chunk-IRC5N7FA.js.map +1 -0
  382. package/dist/chunk-ITENVZ6Q.js +24 -0
  383. package/dist/chunk-ITENVZ6Q.js.map +1 -0
  384. package/dist/chunk-ITUQC4FW.js +163 -0
  385. package/dist/chunk-ITUQC4FW.js.map +1 -0
  386. package/dist/chunk-JCCN3U6X.js +176 -0
  387. package/dist/chunk-JCCN3U6X.js.map +1 -0
  388. package/dist/chunk-K57NINLH.js +137 -0
  389. package/dist/chunk-K57NINLH.js.map +1 -0
  390. package/dist/chunk-KC6WUSNS.js +34 -0
  391. package/dist/chunk-KC6WUSNS.js.map +1 -0
  392. package/dist/chunk-KCS6NJ3O.js +82 -0
  393. package/dist/chunk-KCS6NJ3O.js.map +1 -0
  394. package/dist/chunk-KDQZ3E5C.js +75 -0
  395. package/dist/chunk-KDQZ3E5C.js.map +1 -0
  396. package/dist/chunk-KH4KEMSP.js +71 -0
  397. package/dist/chunk-KH4KEMSP.js.map +1 -0
  398. package/dist/chunk-KK3S5OTW.js +98 -0
  399. package/dist/chunk-KK3S5OTW.js.map +1 -0
  400. package/dist/chunk-LMHN2TJL.js +167 -0
  401. package/dist/chunk-LMHN2TJL.js.map +1 -0
  402. package/dist/chunk-LTBVP6VN.js +59 -0
  403. package/dist/chunk-LTBVP6VN.js.map +1 -0
  404. package/dist/{chunk-YGN7OMLT.js → chunk-LZUUUHNH.js} +13 -6
  405. package/dist/chunk-LZUUUHNH.js.map +1 -0
  406. package/dist/chunk-MHMWQ7RB.js +19 -0
  407. package/dist/chunk-MHMWQ7RB.js.map +1 -0
  408. package/dist/chunk-MJ5RU6XT.js +173 -0
  409. package/dist/chunk-MJ5RU6XT.js.map +1 -0
  410. package/dist/chunk-MVKHSAKE.js +169 -0
  411. package/dist/chunk-MVKHSAKE.js.map +1 -0
  412. package/dist/chunk-NB6POCFH.js +103 -0
  413. package/dist/chunk-NB6POCFH.js.map +1 -0
  414. package/dist/chunk-NR6O74ST.js +169 -0
  415. package/dist/chunk-NR6O74ST.js.map +1 -0
  416. package/dist/chunk-OHPYT2BH.js +82 -0
  417. package/dist/chunk-OHPYT2BH.js.map +1 -0
  418. package/dist/chunk-OQP3PFKQ.js +341 -0
  419. package/dist/chunk-OQP3PFKQ.js.map +1 -0
  420. package/dist/chunk-OUCHU7JB.js +162 -0
  421. package/dist/chunk-OUCHU7JB.js.map +1 -0
  422. package/dist/chunk-OZ6X76G5.js +547 -0
  423. package/dist/chunk-OZ6X76G5.js.map +1 -0
  424. package/dist/chunk-PS24PVR6.js +124 -0
  425. package/dist/chunk-PS24PVR6.js.map +1 -0
  426. package/dist/chunk-QDSZTQXL.js +28 -0
  427. package/dist/chunk-QDSZTQXL.js.map +1 -0
  428. package/dist/chunk-QH5KOFNS.js +39 -0
  429. package/dist/chunk-QH5KOFNS.js.map +1 -0
  430. package/dist/chunk-QPTJ5DOO.js +87 -0
  431. package/dist/chunk-QPTJ5DOO.js.map +1 -0
  432. package/dist/chunk-QYMJHS4K.js +36 -0
  433. package/dist/chunk-QYMJHS4K.js.map +1 -0
  434. package/dist/chunk-RMWNO6BA.js +89 -0
  435. package/dist/chunk-RMWNO6BA.js.map +1 -0
  436. package/dist/chunk-S2XULQEK.js +52 -0
  437. package/dist/chunk-S2XULQEK.js.map +1 -0
  438. package/dist/chunk-S3ECMF23.js +33 -0
  439. package/dist/chunk-S3ECMF23.js.map +1 -0
  440. package/dist/chunk-S4Y3YTAI.js +35 -0
  441. package/dist/chunk-S4Y3YTAI.js.map +1 -0
  442. package/dist/chunk-S4ZGTDSG.js +18 -0
  443. package/dist/chunk-S4ZGTDSG.js.map +1 -0
  444. package/dist/chunk-SOBRGH7T.js +151 -0
  445. package/dist/chunk-SOBRGH7T.js.map +1 -0
  446. package/dist/chunk-T74YB76U.js +547 -0
  447. package/dist/chunk-T74YB76U.js.map +1 -0
  448. package/dist/chunk-TI2GV36S.js +90 -0
  449. package/dist/chunk-TI2GV36S.js.map +1 -0
  450. package/dist/{chunk-56RJXPHG.js → chunk-TKNVL53O.js} +7 -4
  451. package/dist/chunk-TKNVL53O.js.map +1 -0
  452. package/dist/chunk-TNJLNLVE.js +115 -0
  453. package/dist/chunk-TNJLNLVE.js.map +1 -0
  454. package/dist/chunk-TUID42UE.js +15 -0
  455. package/dist/chunk-TUID42UE.js.map +1 -0
  456. package/dist/chunk-UMNHJSIO.js +848 -0
  457. package/dist/chunk-UMNHJSIO.js.map +1 -0
  458. package/dist/chunk-VEME3D7K.js +298 -0
  459. package/dist/chunk-VEME3D7K.js.map +1 -0
  460. package/dist/chunk-VGECEXM6.js +213 -0
  461. package/dist/chunk-VGECEXM6.js.map +1 -0
  462. package/dist/chunk-WD6KABEU.js +200 -0
  463. package/dist/chunk-WD6KABEU.js.map +1 -0
  464. package/dist/chunk-WPNIKZMJ.js +507 -0
  465. package/dist/chunk-WPNIKZMJ.js.map +1 -0
  466. package/dist/chunk-WVS6CUCT.js +48 -0
  467. package/dist/chunk-WVS6CUCT.js.map +1 -0
  468. package/dist/chunk-XRZSK2WC.js +159 -0
  469. package/dist/chunk-XRZSK2WC.js.map +1 -0
  470. package/dist/chunk-XWNXGFX3.js +381 -0
  471. package/dist/chunk-XWNXGFX3.js.map +1 -0
  472. package/dist/chunk-Y6KT7ZTR.js +109 -0
  473. package/dist/chunk-Y6KT7ZTR.js.map +1 -0
  474. package/dist/chunk-YMUIQRWK.js +44 -0
  475. package/dist/chunk-YMUIQRWK.js.map +1 -0
  476. package/dist/chunk-YPAQFBMN.js +527 -0
  477. package/dist/chunk-YPAQFBMN.js.map +1 -0
  478. package/dist/chunk-ZCDRLN3B.js +138 -0
  479. package/dist/chunk-ZCDRLN3B.js.map +1 -0
  480. package/dist/chunk-ZKKO4MHC.js +25 -0
  481. package/dist/chunk-ZKKO4MHC.js.map +1 -0
  482. package/dist/chunk-ZN7KUMPY.js +48 -0
  483. package/dist/chunk-ZN7KUMPY.js.map +1 -0
  484. package/dist/chunk-ZNROKDSZ.js +54 -0
  485. package/dist/chunk-ZNROKDSZ.js.map +1 -0
  486. package/dist/chunk-ZX2QQJXD.js +249 -0
  487. package/dist/chunk-ZX2QQJXD.js.map +1 -0
  488. package/dist/collapsible-panel.d.ts +97 -17
  489. package/dist/collapsible-panel.js +134 -14
  490. package/dist/collapsible-panel.js.map +1 -1
  491. package/dist/color-field.d.ts +51 -0
  492. package/dist/color-field.js +92 -0
  493. package/dist/color-field.js.map +1 -0
  494. package/dist/color-picker.d.ts +113 -0
  495. package/dist/color-picker.js +8 -0
  496. package/dist/color-picker.js.map +1 -0
  497. package/dist/color-swatches.d.ts +56 -0
  498. package/dist/color-swatches.js +4 -0
  499. package/dist/color-swatches.js.map +1 -0
  500. package/dist/column-track.d.ts +41 -0
  501. package/dist/column-track.js +4 -0
  502. package/dist/column-track.js.map +1 -0
  503. package/dist/combobox.d.ts +40 -0
  504. package/dist/combobox.js +3 -0
  505. package/dist/combobox.js.map +1 -0
  506. package/dist/content-item.d.ts +170 -0
  507. package/dist/content-item.js +7 -0
  508. package/dist/content-item.js.map +1 -0
  509. package/dist/content-swap.d.ts +34 -0
  510. package/dist/content-swap.js +3 -0
  511. package/dist/content-swap.js.map +1 -0
  512. package/dist/corner-status.d.ts +36 -0
  513. package/dist/corner-status.js +3 -0
  514. package/dist/corner-status.js.map +1 -0
  515. package/dist/css-values.d.ts +127 -0
  516. package/dist/css-values.js +3 -0
  517. package/dist/css-values.js.map +1 -0
  518. package/dist/device-class.js +34 -6
  519. package/dist/device-class.js.map +1 -1
  520. package/dist/disclosure-arrow.d.ts +6 -1
  521. package/dist/disclosure-arrow.js +2 -1
  522. package/dist/disclosure.d.ts +66 -0
  523. package/dist/disclosure.js +51 -0
  524. package/dist/disclosure.js.map +1 -0
  525. package/dist/edge-activity-indicator.d.ts +28 -0
  526. package/dist/edge-activity-indicator.js +3 -0
  527. package/dist/edge-activity-indicator.js.map +1 -0
  528. package/dist/empty-state.d.ts +5 -2
  529. package/dist/empty-state.js +2 -1
  530. package/dist/extension-attributes-mu8MFUl0.d.ts +13 -0
  531. package/dist/file-picker.d.ts +54 -0
  532. package/dist/file-picker.js +3 -0
  533. package/dist/file-picker.js.map +1 -0
  534. package/dist/flex-alignment-4ms8ZbV8.d.ts +5 -0
  535. package/dist/floating-toolbar.d.ts +29 -6
  536. package/dist/floating-toolbar.js +1 -1
  537. package/dist/framed-list.d.ts +47 -0
  538. package/dist/framed-list.js +4 -0
  539. package/dist/framed-list.js.map +1 -0
  540. package/dist/grid.d.ts +58 -0
  541. package/dist/grid.js +6 -0
  542. package/dist/grid.js.map +1 -0
  543. package/dist/help-tags-register.d.ts +13 -0
  544. package/dist/help-tags-register.js +10 -0
  545. package/dist/help-tags-register.js.map +1 -0
  546. package/dist/index.d.ts +73 -17
  547. package/dist/index.js +85 -25
  548. package/dist/list-action-row.d.ts +69 -12
  549. package/dist/list-action-row.js +8 -1
  550. package/dist/list-detail-dialog.d.ts +124 -0
  551. package/dist/list-detail-dialog.js +168 -0
  552. package/dist/list-detail-dialog.js.map +1 -0
  553. package/dist/list-header.d.ts +72 -10
  554. package/dist/list-header.js +4 -1
  555. package/dist/list-icon-tile-B8dr97OW.d.ts +18 -0
  556. package/dist/list-inset-control.d.ts +22 -0
  557. package/dist/list-inset-control.js +3 -0
  558. package/dist/list-inset-control.js.map +1 -0
  559. package/dist/list-inset-text.d.ts +30 -0
  560. package/dist/list-inset-text.js +4 -0
  561. package/dist/list-inset-text.js.map +1 -0
  562. package/dist/list-item.d.ts +49 -5
  563. package/dist/list-item.js +4 -1
  564. package/dist/list.d.ts +149 -0
  565. package/dist/list.js +7 -0
  566. package/dist/list.js.map +1 -0
  567. package/dist/loading-spinner.d.ts +12 -2
  568. package/dist/loading-spinner.js +2 -1
  569. package/dist/lucide-icon.d.ts +23 -3
  570. package/dist/lucide-icon.js +2 -1
  571. package/dist/message-composer.d.ts +70 -0
  572. package/dist/message-composer.js +6 -0
  573. package/dist/message-composer.js.map +1 -0
  574. package/dist/nav-stack-CrZF95VO.d.ts +195 -0
  575. package/dist/nav-stack.d.ts +16 -38
  576. package/dist/nav-stack.js +15 -1
  577. package/dist/pane.d.ts +238 -0
  578. package/dist/pane.js +7 -0
  579. package/dist/pane.js.map +1 -0
  580. package/dist/panel-toolbar-vg6Ir5Dy.d.ts +77 -0
  581. package/dist/popup-menu-register.d.ts +11 -0
  582. package/dist/popup-menu-register.js +13 -0
  583. package/dist/popup-menu-register.js.map +1 -0
  584. package/dist/popup-menu.d.ts +153 -0
  585. package/dist/popup-menu.js +7 -0
  586. package/dist/popup-menu.js.map +1 -0
  587. package/dist/progress-bar.d.ts +52 -0
  588. package/dist/progress-bar.js +68 -0
  589. package/dist/progress-bar.js.map +1 -0
  590. package/dist/progress-ring.d.ts +44 -0
  591. package/dist/progress-ring.js +73 -0
  592. package/dist/progress-ring.js.map +1 -0
  593. package/dist/radio-group.d.ts +62 -0
  594. package/dist/radio-group.js +4 -0
  595. package/dist/radio-group.js.map +1 -0
  596. package/dist/resizable-region.d.ts +32 -3
  597. package/dist/resizable-region.js +1 -1
  598. package/dist/row.d.ts +53 -0
  599. package/dist/row.js +7 -0
  600. package/dist/row.js.map +1 -0
  601. package/dist/scroll-clearance-BikHljTc.d.ts +14 -0
  602. package/dist/search-field-CrGTN5sa.d.ts +208 -0
  603. package/dist/search-field-model.d.ts +3 -0
  604. package/dist/search-field-model.js +3 -0
  605. package/dist/search-field-model.js.map +1 -0
  606. package/dist/search-field.d.ts +3 -0
  607. package/dist/search-field.js +5 -0
  608. package/dist/search-field.js.map +1 -0
  609. package/dist/segmented-control.d.ts +14 -9
  610. package/dist/segmented-control.js +1 -2
  611. package/dist/select-register.d.ts +6 -3
  612. package/dist/select-register.js +402 -8
  613. package/dist/select-register.js.map +1 -1
  614. package/dist/select.d.ts +128 -9
  615. package/dist/select.js +6 -1
  616. package/dist/selection.d.ts +54 -0
  617. package/dist/selection.js +3 -0
  618. package/dist/selection.js.map +1 -0
  619. package/dist/semantic-content-BbzjvSu9.d.ts +14 -0
  620. package/dist/semantic-tone-CdW013KF.d.ts +4 -0
  621. package/dist/sides-BPSWde0A.d.ts +4 -0
  622. package/dist/skeleton.d.ts +14 -7
  623. package/dist/skeleton.js +2 -1
  624. package/dist/slider.d.ts +74 -0
  625. package/dist/slider.js +103 -0
  626. package/dist/slider.js.map +1 -0
  627. package/dist/spacer.d.ts +18 -0
  628. package/dist/spacer.js +4 -0
  629. package/dist/spacer.js.map +1 -0
  630. package/dist/split-button.d.ts +69 -0
  631. package/dist/split-button.js +7 -0
  632. package/dist/split-button.js.map +1 -0
  633. package/dist/split-view.d.ts +67 -6
  634. package/dist/split-view.js +15 -15
  635. package/dist/split-view.js.map +1 -1
  636. package/dist/state-banner.d.ts +41 -7
  637. package/dist/state-banner.js +4 -1
  638. package/dist/styles/anchored-surface.css +44 -0
  639. package/dist/styles/backdrop-image.css +258 -0
  640. package/dist/styles/badge.css +157 -0
  641. package/dist/styles/button.css +293 -0
  642. package/dist/styles/catalog/components/catalog-example-stack.css +14 -0
  643. package/dist/styles/catalog/components/catalog-example.css +250 -0
  644. package/dist/styles/catalog/components/catalog-stage.css +61 -0
  645. package/dist/styles/catalog/components/catalog.css +26 -0
  646. package/dist/styles/catalog.css +5 -522
  647. package/dist/styles/checkbox-group.css +63 -0
  648. package/dist/styles/checkbox.css +122 -0
  649. package/dist/styles/chip.css +234 -0
  650. package/dist/styles/choice-chips.css +205 -0
  651. package/dist/styles/collapsible-panel.css +450 -16
  652. package/dist/styles/color-field.css +125 -0
  653. package/dist/styles/color-picker.css +366 -0
  654. package/dist/styles/color-swatches.css +122 -0
  655. package/dist/styles/column-track.css +57 -0
  656. package/dist/styles/combobox.css +115 -0
  657. package/dist/styles/components/actions/button/button.css +293 -0
  658. package/dist/styles/components/actions/floating-toolbar/floating-toolbar.css +119 -0
  659. package/dist/styles/components/actions/popup-menu/popup-menu.css +498 -0
  660. package/dist/styles/components/actions/split-button/split-button.css +141 -0
  661. package/dist/styles/components/actions/toolbar/toolbar.css +483 -0
  662. package/dist/styles/components/actions/toolbar-control-group/toolbar-control-group.css +1188 -0
  663. package/dist/styles/components/actions/toolbar-text/toolbar-text.css +256 -0
  664. package/dist/styles/components/collections/framed-list/framed-list.css +53 -0
  665. package/dist/styles/components/collections/list/list.css +293 -0
  666. package/dist/styles/components/collections/list-action-row/list-action-row.css +466 -0
  667. package/dist/styles/components/collections/list-header/list-header.css +236 -0
  668. package/dist/styles/components/collections/list-inset-control/list-inset-control.css +30 -0
  669. package/dist/styles/components/collections/list-inset-text/list-inset-text.css +29 -0
  670. package/dist/styles/components/collections/list-item/list-item.css +461 -0
  671. package/dist/styles/components/collections/summary-row/summary-row.css +161 -0
  672. package/dist/styles/components/data-display/value-table/value-table.css +183 -0
  673. package/dist/styles/components/feedback/anchored-surface/anchored-surface.css +44 -0
  674. package/dist/styles/components/feedback/badge/badge.css +157 -0
  675. package/dist/styles/components/feedback/chip/chip.css +234 -0
  676. package/dist/styles/components/feedback/corner-status/corner-status.css +60 -0
  677. package/dist/styles/components/feedback/edge-activity-indicator/edge-activity-indicator.css +127 -0
  678. package/dist/styles/components/feedback/empty-state/empty-state.css +47 -0
  679. package/dist/styles/components/feedback/loading-spinner/loading-spinner.css +25 -0
  680. package/dist/styles/components/feedback/progress-bar/progress-bar.css +168 -0
  681. package/dist/styles/components/feedback/progress-ring/progress-ring.css +91 -0
  682. package/dist/styles/components/feedback/skeleton/skeleton.css +92 -0
  683. package/dist/styles/components/feedback/state-banner/state-banner.css +312 -0
  684. package/dist/styles/components/forms/checkbox/checkbox.css +122 -0
  685. package/dist/styles/components/forms/checkbox-group/checkbox-group.css +63 -0
  686. package/dist/styles/components/forms/choice-chips/choice-chips.css +205 -0
  687. package/dist/styles/components/forms/color-field/color-field.css +125 -0
  688. package/dist/styles/components/forms/color-picker/color-picker.css +366 -0
  689. package/dist/styles/components/forms/color-swatches/color-swatches.css +122 -0
  690. package/dist/styles/components/forms/combobox/combobox.css +115 -0
  691. package/dist/styles/components/forms/file-picker/file-picker.css +81 -0
  692. package/dist/styles/components/forms/message-composer/message-composer.css +84 -0
  693. package/dist/styles/components/forms/radio-group/radio-group.css +158 -0
  694. package/dist/styles/components/forms/search-field/search-field.css +441 -0
  695. package/dist/styles/components/forms/segmented-control/segmented-control.css +196 -0
  696. package/dist/styles/components/forms/select/select.css +580 -0
  697. package/dist/styles/components/forms/slider/slider.css +241 -0
  698. package/dist/styles/components/forms/switch/switch.css +132 -0
  699. package/dist/styles/components/forms/tag-field/tag-field.css +8 -0
  700. package/dist/styles/components/forms/text-field/text-field.css +193 -0
  701. package/dist/styles/components/layout/collapsible-panel/collapsible-panel.css +580 -0
  702. package/dist/styles/components/layout/column-track/column-track.css +57 -0
  703. package/dist/styles/components/layout/content-swap/content-swap.css +154 -0
  704. package/dist/styles/components/layout/grid/grid.css +88 -0
  705. package/dist/styles/components/layout/pane/pane.css +780 -0
  706. package/dist/styles/components/layout/resizable-region/resizable-region.css +546 -0
  707. package/dist/styles/components/layout/row/row.css +125 -0
  708. package/dist/styles/components/layout/spacer/spacer.css +11 -0
  709. package/dist/styles/components/layout/split-view/split-view.css +171 -0
  710. package/dist/styles/components/layout/workbench/workbench.css +1098 -0
  711. package/dist/styles/components/media/lucide-icon/lucide-icon.css +15 -0
  712. package/dist/styles/components/navigation/disclosure-arrow/disclosure-arrow.css +43 -0
  713. package/dist/styles/components/navigation/nav-stack/nav-stack.css +619 -0
  714. package/dist/styles/components/navigation/tab-bar/tab-bar.css +203 -0
  715. package/dist/styles/components/navigation/tab-bar-item/tab-bar-item.css +389 -0
  716. package/dist/styles/components/navigation/tab-navigator/tab-navigator.css +460 -0
  717. package/dist/styles/components/surfaces/backdrop-image/backdrop-image.css +258 -0
  718. package/dist/styles/components/surfaces/content-item/content-item.css +220 -0
  719. package/dist/styles/components/surfaces/disclosure/disclosure.css +136 -0
  720. package/dist/styles/components/surfaces/sunken-panel/sunken-panel.css +34 -0
  721. package/dist/styles/components/surfaces/surface-scaffold/surface-scaffold.css +752 -0
  722. package/dist/styles/components/typography/text/text.css +232 -0
  723. package/dist/styles/content-item.css +3 -0
  724. package/dist/styles/content-swap.css +154 -0
  725. package/dist/styles/corner-status.css +60 -0
  726. package/dist/styles/disclosure-arrow.css +20 -0
  727. package/dist/styles/disclosure.css +136 -0
  728. package/dist/styles/document.css +98 -0
  729. package/dist/styles/edge-activity-indicator.css +127 -0
  730. package/dist/styles/file-picker.css +81 -0
  731. package/dist/styles/floating-toolbar.css +87 -6
  732. package/dist/styles/foundation.css +491 -51
  733. package/dist/styles/framed-list.css +53 -0
  734. package/dist/styles/grid.css +88 -0
  735. package/dist/styles/layout.css +3 -41
  736. package/dist/styles/list-action-row.css +324 -18
  737. package/dist/styles/list-detail-dialog.css +11 -0
  738. package/dist/styles/list-header.css +135 -59
  739. package/dist/styles/list-inset-control.css +30 -0
  740. package/dist/styles/list-inset-text.css +29 -0
  741. package/dist/styles/list-item.css +371 -33
  742. package/dist/styles/list.css +293 -0
  743. package/dist/styles/loading-spinner.css +4 -0
  744. package/dist/styles/lucide-icon.css +9 -0
  745. package/dist/styles/message-composer.css +84 -0
  746. package/dist/styles/nav-stack.css +555 -47
  747. package/dist/styles/overlay-sheet.css +211 -0
  748. package/dist/styles/overlay-toast.css +149 -0
  749. package/dist/styles/overlay-tooltip.css +55 -0
  750. package/dist/styles/pane.css +780 -0
  751. package/dist/styles/popup-menu.css +498 -0
  752. package/dist/styles/progress-bar.css +168 -0
  753. package/dist/styles/progress-ring.css +91 -0
  754. package/dist/styles/radio-group.css +158 -0
  755. package/dist/styles/resizable-region.css +439 -4
  756. package/dist/styles/row.css +125 -0
  757. package/dist/styles/search-field.css +441 -0
  758. package/dist/styles/segmented-control.css +36 -9
  759. package/dist/styles/select.css +516 -74
  760. package/dist/styles/skeleton.css +64 -3
  761. package/dist/styles/slider.css +241 -0
  762. package/dist/styles/spacer.css +11 -0
  763. package/dist/styles/split-button.css +141 -0
  764. package/dist/styles/split-view.css +139 -3
  765. package/dist/styles/state-banner.css +164 -25
  766. package/dist/styles/styles.css +38 -3
  767. package/dist/styles/summary-row.css +161 -0
  768. package/dist/styles/sunken-panel.css +34 -0
  769. package/dist/styles/surface-scaffold.css +752 -0
  770. package/dist/styles/switch.css +132 -0
  771. package/dist/styles/tab-bar-item.css +389 -0
  772. package/dist/styles/tab-bar.css +167 -9
  773. package/dist/styles/tab-navigator.css +460 -0
  774. package/dist/styles/tag-field.css +8 -0
  775. package/dist/styles/text-field.css +193 -0
  776. package/dist/styles/text.css +232 -0
  777. package/dist/styles/toolbar-control-group.css +1000 -37
  778. package/dist/styles/toolbar-text.css +223 -7
  779. package/dist/styles/toolbar.css +433 -11
  780. package/dist/styles/value-table.css +115 -7
  781. package/dist/styles/webawesome.css +476 -20
  782. package/dist/styles/workbench-dialog.css +10 -0
  783. package/dist/styles/workbench.css +1011 -7
  784. package/dist/summary-row.d.ts +56 -0
  785. package/dist/summary-row.js +4 -0
  786. package/dist/summary-row.js.map +1 -0
  787. package/dist/sunken-panel.d.ts +38 -0
  788. package/dist/sunken-panel.js +4 -0
  789. package/dist/sunken-panel.js.map +1 -0
  790. package/dist/surface-scaffold-register.d.ts +12 -0
  791. package/dist/surface-scaffold-register.js +10 -0
  792. package/dist/surface-scaffold-register.js.map +1 -0
  793. package/dist/surface-scaffold.d.ts +284 -0
  794. package/dist/surface-scaffold.js +8 -0
  795. package/dist/surface-scaffold.js.map +1 -0
  796. package/dist/surface-tint-DQgYCaP9.d.ts +25 -0
  797. package/dist/switch.d.ts +38 -0
  798. package/dist/switch.js +4 -0
  799. package/dist/switch.js.map +1 -0
  800. package/dist/tab-bar-item.d.ts +65 -0
  801. package/dist/tab-bar-item.js +6 -0
  802. package/dist/tab-bar-item.js.map +1 -0
  803. package/dist/tab-bar.d.ts +33 -7
  804. package/dist/tab-bar.js +1 -1
  805. package/dist/tab-navigator.d.ts +155 -0
  806. package/dist/tab-navigator.js +132 -0
  807. package/dist/tab-navigator.js.map +1 -0
  808. package/dist/tag-field.d.ts +52 -0
  809. package/dist/tag-field.js +6 -0
  810. package/dist/tag-field.js.map +1 -0
  811. package/dist/text-field.d.ts +91 -0
  812. package/dist/text-field.js +6 -0
  813. package/dist/text-field.js.map +1 -0
  814. package/dist/text.d.ts +103 -0
  815. package/dist/text.js +3 -0
  816. package/dist/text.js.map +1 -0
  817. package/dist/toolbar-control-group.d.ts +112 -8
  818. package/dist/toolbar-control-group.js +3 -1
  819. package/dist/toolbar-text.d.ts +63 -9
  820. package/dist/toolbar-text.js +2 -1
  821. package/dist/toolbar.d.ts +78 -7
  822. package/dist/toolbar.js +1 -1
  823. package/dist/types-DmHWkSd6.d.ts +207 -0
  824. package/dist/value-table.d.ts +30 -4
  825. package/dist/value-table.js +2 -1
  826. package/dist/webawesome.d.ts +11 -1
  827. package/dist/wire-catalog.d.ts +118 -5
  828. package/dist/wire-catalog.js +314 -14
  829. package/dist/wire-catalog.js.map +1 -1
  830. package/dist/wire-checkboxes.d.ts +10 -0
  831. package/dist/wire-checkboxes.js +3 -0
  832. package/dist/{wire-token-search-fields.js.map → wire-checkboxes.js.map} +1 -1
  833. package/dist/wire-choice-chips.d.ts +17 -0
  834. package/dist/wire-choice-chips.js +4 -0
  835. package/dist/wire-choice-chips.js.map +1 -0
  836. package/dist/wire-color-fields.d.ts +33 -0
  837. package/dist/wire-color-fields.js +82 -0
  838. package/dist/wire-color-fields.js.map +1 -0
  839. package/dist/wire-color-pickers.d.ts +35 -0
  840. package/dist/wire-color-pickers.js +9 -0
  841. package/dist/wire-color-pickers.js.map +1 -0
  842. package/dist/wire-comboboxes.d.ts +26 -0
  843. package/dist/wire-comboboxes.js +4 -0
  844. package/dist/wire-comboboxes.js.map +1 -0
  845. package/dist/wire-content-items.d.ts +15 -0
  846. package/dist/wire-content-items.js +270 -0
  847. package/dist/wire-content-items.js.map +1 -0
  848. package/dist/wire-corner-status.d.ts +11 -0
  849. package/dist/wire-corner-status.js +3 -0
  850. package/dist/wire-corner-status.js.map +1 -0
  851. package/dist/wire-file-pickers.d.ts +27 -0
  852. package/dist/wire-file-pickers.js +3 -0
  853. package/dist/wire-file-pickers.js.map +1 -0
  854. package/dist/wire-list-focus-scroll.d.ts +16 -0
  855. package/dist/wire-list-focus-scroll.js +3 -0
  856. package/dist/wire-list-focus-scroll.js.map +1 -0
  857. package/dist/wire-list-reorder.d.ts +41 -0
  858. package/dist/wire-list-reorder.js +3 -0
  859. package/dist/wire-list-reorder.js.map +1 -0
  860. package/dist/wire-message-composers.d.ts +17 -0
  861. package/dist/wire-message-composers.js +3 -0
  862. package/dist/wire-message-composers.js.map +1 -0
  863. package/dist/wire-nav-stack.d.ts +4 -1
  864. package/dist/wire-nav-stack.js +352 -15
  865. package/dist/wire-nav-stack.js.map +1 -1
  866. package/dist/wire-overlay-sheets.d.ts +20 -0
  867. package/dist/wire-overlay-sheets.js +4 -0
  868. package/dist/wire-overlay-sheets.js.map +1 -0
  869. package/dist/wire-pane-chrome.d.ts +21 -0
  870. package/dist/wire-pane-chrome.js +67 -0
  871. package/dist/wire-pane-chrome.js.map +1 -0
  872. package/dist/wire-resizable-regions.d.ts +2 -1
  873. package/dist/wire-resizable-regions.js +2 -1
  874. package/dist/wire-scroll-dividers.d.ts +87 -0
  875. package/dist/wire-scroll-dividers.js +3 -0
  876. package/dist/wire-scroll-dividers.js.map +1 -0
  877. package/dist/{wire-token-search-fields.d.ts → wire-search-fields.d.ts} +34 -25
  878. package/dist/wire-search-fields.js +6 -0
  879. package/dist/wire-search-fields.js.map +1 -0
  880. package/dist/wire-sidebar.d.ts +24 -4
  881. package/dist/wire-sidebar.js +159 -45
  882. package/dist/wire-sidebar.js.map +1 -1
  883. package/dist/wire-sliders.d.ts +12 -0
  884. package/dist/wire-sliders.js +31 -0
  885. package/dist/wire-sliders.js.map +1 -0
  886. package/dist/wire-tab-bars.d.ts +6 -2
  887. package/dist/wire-tab-bars.js +1 -1
  888. package/dist/wire-tab-navigator.d.ts +13 -0
  889. package/dist/wire-tab-navigator.js +153 -0
  890. package/dist/wire-tab-navigator.js.map +1 -0
  891. package/dist/wire-tag-fields.d.ts +41 -0
  892. package/dist/wire-tag-fields.js +258 -0
  893. package/dist/wire-tag-fields.js.map +1 -0
  894. package/dist/wire-text-fields.d.ts +12 -0
  895. package/dist/wire-text-fields.js +3 -0
  896. package/dist/wire-text-fields.js.map +1 -0
  897. package/dist/wire-toolbar-visibility.d.ts +13 -0
  898. package/dist/wire-toolbar-visibility.js +3 -0
  899. package/dist/wire-toolbar-visibility.js.map +1 -0
  900. package/dist/wire-workbench.d.ts +116 -0
  901. package/dist/wire-workbench.js +6 -0
  902. package/dist/wire-workbench.js.map +1 -0
  903. package/dist/workbench-dialog.d.ts +107 -0
  904. package/dist/workbench-dialog.js +128 -0
  905. package/dist/workbench-dialog.js.map +1 -0
  906. package/dist/workbench.d.ts +259 -10
  907. package/dist/workbench.js +22 -15
  908. package/dist/workbench.js.map +1 -1
  909. package/docs/accessibility.md +835 -41
  910. package/docs/anchored-surface.md +107 -0
  911. package/docs/app-layouts.md +200 -10
  912. package/docs/apple-hig.md +2 -0
  913. package/docs/backdrop-image.md +132 -0
  914. package/docs/button.md +15 -0
  915. package/docs/catalog.md +599 -63
  916. package/docs/collapsible-panel.md +308 -25
  917. package/docs/color-field.md +65 -0
  918. package/docs/color-picker.md +102 -0
  919. package/docs/color-swatches.md +46 -0
  920. package/docs/component-contract.md +872 -57
  921. package/docs/component-integration.md +75 -0
  922. package/docs/component-selection.md +1124 -108
  923. package/docs/design/templates/button/emphasis-dark.svg +1 -0
  924. package/docs/design/templates/button/emphasis.svg +1 -0
  925. package/docs/design/templates/button/full-width-dark.svg +1 -0
  926. package/docs/design/templates/button/full-width.svg +1 -0
  927. package/docs/design/templates/button/icons-dark.svg +1 -0
  928. package/docs/design/templates/button/icons.svg +1 -0
  929. package/docs/design/templates/button/pill-dark.svg +1 -0
  930. package/docs/design/templates/button/pill.svg +1 -0
  931. package/docs/design/templates/button/states-dark.svg +1 -0
  932. package/docs/design/templates/button/states.svg +1 -0
  933. package/docs/design/templates/button/toggles-dark.svg +1 -0
  934. package/docs/design/templates/button/toggles.svg +1 -0
  935. package/docs/design/templates/button/tones-dark.svg +1 -0
  936. package/docs/design/templates/button/tones.svg +1 -0
  937. package/docs/design/templates/button-dark.svg +1 -0
  938. package/docs/design/templates/button.svg +1 -0
  939. package/docs/design/templates/checkbox/compact-dark.svg +1 -0
  940. package/docs/design/templates/checkbox/compact.svg +1 -0
  941. package/docs/design/templates/checkbox/error-dark.svg +1 -0
  942. package/docs/design/templates/checkbox/error.svg +1 -0
  943. package/docs/design/templates/checkbox/mixed-dark.svg +1 -0
  944. package/docs/design/templates/checkbox/mixed.svg +1 -0
  945. package/docs/design/templates/checkbox/states-dark.svg +1 -0
  946. package/docs/design/templates/checkbox/states.svg +1 -0
  947. package/docs/design/templates/checkbox-dark.svg +1 -0
  948. package/docs/design/templates/checkbox-group/horizontal-dark.svg +1 -0
  949. package/docs/design/templates/checkbox-group/horizontal.svg +1 -0
  950. package/docs/design/templates/checkbox-group/vertical-dark.svg +1 -0
  951. package/docs/design/templates/checkbox-group/vertical.svg +1 -0
  952. package/docs/design/templates/checkbox-group-dark.svg +1 -0
  953. package/docs/design/templates/checkbox-group.svg +1 -0
  954. package/docs/design/templates/checkbox.svg +1 -0
  955. package/docs/design/templates/chip/action-filters-dark.svg +1 -0
  956. package/docs/design/templates/chip/action-filters.svg +1 -0
  957. package/docs/design/templates/chip/tags-dark.svg +1 -0
  958. package/docs/design/templates/chip/tags.svg +1 -0
  959. package/docs/design/templates/chip-dark.svg +1 -0
  960. package/docs/design/templates/chip.svg +1 -0
  961. package/docs/design/templates/choice-chips/color-palette-dark.svg +1 -0
  962. package/docs/design/templates/choice-chips/color-palette.svg +1 -0
  963. package/docs/design/templates/choice-chips/compact-icons-dark.svg +1 -0
  964. package/docs/design/templates/choice-chips/compact-icons.svg +1 -0
  965. package/docs/design/templates/choice-chips/multiple-dark.svg +1 -0
  966. package/docs/design/templates/choice-chips/multiple.svg +1 -0
  967. package/docs/design/templates/choice-chips-dark.svg +1 -0
  968. package/docs/design/templates/choice-chips.svg +1 -0
  969. package/docs/design/templates/color-field/compact-dark.svg +1 -0
  970. package/docs/design/templates/color-field/compact.svg +1 -0
  971. package/docs/design/templates/color-field/error-dark.svg +1 -0
  972. package/docs/design/templates/color-field/error.svg +1 -0
  973. package/docs/design/templates/color-field/hint-dark.svg +1 -0
  974. package/docs/design/templates/color-field/hint.svg +1 -0
  975. package/docs/design/templates/color-field-dark.svg +1 -0
  976. package/docs/design/templates/color-field.svg +1 -0
  977. package/docs/design/templates/color-picker/gray-dark.svg +1 -0
  978. package/docs/design/templates/color-picker/gray.svg +1 -0
  979. package/docs/design/templates/color-picker/hsb-dark.svg +1 -0
  980. package/docs/design/templates/color-picker/hsb.svg +1 -0
  981. package/docs/design/templates/color-picker/rgb-dark.svg +1 -0
  982. package/docs/design/templates/color-picker/rgb.svg +1 -0
  983. package/docs/design/templates/color-picker-dark.svg +1 -0
  984. package/docs/design/templates/color-picker.svg +1 -0
  985. package/docs/design/templates/color-swatches/palette-dark.svg +1 -0
  986. package/docs/design/templates/color-swatches/palette.svg +1 -0
  987. package/docs/design/templates/color-swatches-dark.svg +1 -0
  988. package/docs/design/templates/color-swatches.svg +1 -0
  989. package/docs/design/templates/disclosure/embedded-dark.svg +1 -0
  990. package/docs/design/templates/disclosure/embedded.svg +1 -0
  991. package/docs/design/templates/disclosure/framed-sunken-dark.svg +1 -0
  992. package/docs/design/templates/disclosure/framed-sunken.svg +1 -0
  993. package/docs/design/templates/disclosure/plain-dark.svg +1 -0
  994. package/docs/design/templates/disclosure/plain.svg +1 -0
  995. package/docs/design/templates/disclosure-dark.svg +1 -0
  996. package/docs/design/templates/disclosure.svg +1 -0
  997. package/docs/design/templates/empty-state/filtered-dark.svg +1 -1
  998. package/docs/design/templates/empty-state/filtered.svg +1 -1
  999. package/docs/design/templates/empty-state/with-action-dark.svg +1 -1
  1000. package/docs/design/templates/empty-state/with-action.svg +1 -1
  1001. package/docs/design/templates/empty-state-dark.svg +1 -7
  1002. package/docs/design/templates/empty-state.svg +1 -7
  1003. package/docs/design/templates/list/compact-dark.svg +1 -0
  1004. package/docs/design/templates/list/compact.svg +1 -0
  1005. package/docs/design/templates/list/stack-dark.svg +1 -0
  1006. package/docs/design/templates/list/stack.svg +1 -0
  1007. package/docs/design/templates/list-action-row/default-dark.svg +1 -1
  1008. package/docs/design/templates/list-action-row/default.svg +1 -1
  1009. package/docs/design/templates/list-action-row/icon-tile-dark.svg +1 -0
  1010. package/docs/design/templates/list-action-row/icon-tile.svg +1 -0
  1011. package/docs/design/templates/list-action-row/selected-dark.svg +1 -1
  1012. package/docs/design/templates/list-action-row/selected.svg +1 -1
  1013. package/docs/design/templates/list-action-row/trailing-menu-dark.svg +1 -0
  1014. package/docs/design/templates/list-action-row/trailing-menu.svg +1 -0
  1015. package/docs/design/templates/list-action-row-dark.svg +1 -7
  1016. package/docs/design/templates/list-action-row.svg +1 -7
  1017. package/docs/design/templates/list-dark.svg +1 -0
  1018. package/docs/design/templates/list-header/action-dark.svg +1 -1
  1019. package/docs/design/templates/list-header/action.svg +1 -1
  1020. package/docs/design/templates/list-header/count-dark.svg +1 -1
  1021. package/docs/design/templates/list-header/count.svg +1 -1
  1022. package/docs/design/templates/list-header/inline-action-dark.svg +1 -0
  1023. package/docs/design/templates/list-header/inline-action.svg +1 -0
  1024. package/docs/design/templates/list-header/size-l-dark.svg +1 -0
  1025. package/docs/design/templates/list-header/size-l.svg +1 -0
  1026. package/docs/design/templates/list-header/size-m-dark.svg +1 -0
  1027. package/docs/design/templates/list-header/size-m.svg +1 -0
  1028. package/docs/design/templates/list-header/size-xl-dark.svg +1 -0
  1029. package/docs/design/templates/list-header/size-xl.svg +1 -0
  1030. package/docs/design/templates/list-header/size-xs-dark.svg +1 -0
  1031. package/docs/design/templates/list-header/size-xs.svg +1 -0
  1032. package/docs/design/templates/list-header/toggle-collapsed-dark.svg +1 -1
  1033. package/docs/design/templates/list-header/toggle-collapsed.svg +1 -1
  1034. package/docs/design/templates/list-header/toggle-expanded-dark.svg +1 -1
  1035. package/docs/design/templates/list-header/toggle-expanded.svg +1 -1
  1036. package/docs/design/templates/list-header-dark.svg +1 -11
  1037. package/docs/design/templates/list-header.svg +1 -11
  1038. package/docs/design/templates/list-item/default-dark.svg +1 -1
  1039. package/docs/design/templates/list-item/default.svg +1 -1
  1040. package/docs/design/templates/list-item/icon-tile-dark.svg +1 -0
  1041. package/docs/design/templates/list-item/icon-tile.svg +1 -0
  1042. package/docs/design/templates/list-item/multiline-dark.svg +1 -1
  1043. package/docs/design/templates/list-item/multiline.svg +1 -1
  1044. package/docs/design/templates/list-item/selected-dark.svg +1 -1
  1045. package/docs/design/templates/list-item/selected.svg +1 -1
  1046. package/docs/design/templates/list-item/trailing-dark.svg +1 -1
  1047. package/docs/design/templates/list-item/trailing.svg +1 -1
  1048. package/docs/design/templates/list-item-dark.svg +1 -11
  1049. package/docs/design/templates/list-item.svg +1 -11
  1050. package/docs/design/templates/list.svg +1 -0
  1051. package/docs/design/templates/message-composer/chat-dark.svg +1 -0
  1052. package/docs/design/templates/message-composer/chat.svg +1 -0
  1053. package/docs/design/templates/message-composer/prompt-dark.svg +1 -0
  1054. package/docs/design/templates/message-composer/prompt.svg +1 -0
  1055. package/docs/design/templates/message-composer-dark.svg +1 -0
  1056. package/docs/design/templates/message-composer.svg +1 -0
  1057. package/docs/design/templates/progress-bar/determinate-dark.svg +1 -0
  1058. package/docs/design/templates/progress-bar/determinate.svg +1 -0
  1059. package/docs/design/templates/progress-bar/tones-dark.svg +1 -0
  1060. package/docs/design/templates/progress-bar/tones.svg +1 -0
  1061. package/docs/design/templates/progress-bar-dark.svg +1 -0
  1062. package/docs/design/templates/progress-bar.svg +1 -0
  1063. package/docs/design/templates/progress-ring/sizes-dark.svg +1 -0
  1064. package/docs/design/templates/progress-ring/sizes.svg +1 -0
  1065. package/docs/design/templates/progress-ring/tones-dark.svg +1 -0
  1066. package/docs/design/templates/progress-ring/tones.svg +1 -0
  1067. package/docs/design/templates/progress-ring-dark.svg +1 -0
  1068. package/docs/design/templates/progress-ring.svg +1 -0
  1069. package/docs/design/templates/radio-group/horizontal-dark.svg +1 -0
  1070. package/docs/design/templates/radio-group/horizontal.svg +1 -0
  1071. package/docs/design/templates/radio-group/vertical-dark.svg +1 -0
  1072. package/docs/design/templates/radio-group/vertical.svg +1 -0
  1073. package/docs/design/templates/radio-group-dark.svg +1 -0
  1074. package/docs/design/templates/radio-group.svg +1 -0
  1075. package/docs/design/templates/search-field/empty-dark.svg +1 -0
  1076. package/docs/design/templates/search-field/empty.svg +1 -0
  1077. package/docs/design/templates/search-field/tokens-dark.svg +1 -0
  1078. package/docs/design/templates/search-field/tokens.svg +1 -0
  1079. package/docs/design/templates/search-field-dark.svg +1 -0
  1080. package/docs/design/templates/search-field.svg +1 -0
  1081. package/docs/design/templates/segmented-control/equal-dark.svg +1 -1
  1082. package/docs/design/templates/segmented-control/equal.svg +1 -1
  1083. package/docs/design/templates/segmented-control/pill-small-dark.svg +1 -1
  1084. package/docs/design/templates/segmented-control/pill-small.svg +1 -1
  1085. package/docs/design/templates/segmented-control-dark.svg +1 -7
  1086. package/docs/design/templates/segmented-control.svg +1 -7
  1087. package/docs/design/templates/select/compact-dark.svg +1 -0
  1088. package/docs/design/templates/select/compact.svg +1 -0
  1089. package/docs/design/templates/select/form-dark.svg +1 -0
  1090. package/docs/design/templates/select/form.svg +1 -0
  1091. package/docs/design/templates/select/icons-dark.svg +1 -0
  1092. package/docs/design/templates/select/icons.svg +1 -0
  1093. package/docs/design/templates/select-dark.svg +1 -0
  1094. package/docs/design/templates/select.svg +1 -0
  1095. package/docs/design/templates/skeleton-dark.svg +1 -9
  1096. package/docs/design/templates/skeleton.svg +1 -9
  1097. package/docs/design/templates/slider/compact-dark.svg +1 -0
  1098. package/docs/design/templates/slider/compact.svg +1 -0
  1099. package/docs/design/templates/slider/readout-dark.svg +1 -0
  1100. package/docs/design/templates/slider/readout.svg +1 -0
  1101. package/docs/design/templates/slider/ticks-dark.svg +1 -0
  1102. package/docs/design/templates/slider/ticks.svg +1 -0
  1103. package/docs/design/templates/slider-dark.svg +1 -0
  1104. package/docs/design/templates/slider.svg +1 -0
  1105. package/docs/design/templates/split-button/full-width-dark.svg +1 -0
  1106. package/docs/design/templates/split-button/full-width.svg +1 -0
  1107. package/docs/design/templates/split-button/pill-dark.svg +1 -0
  1108. package/docs/design/templates/split-button/pill.svg +1 -0
  1109. package/docs/design/templates/split-button/states-dark.svg +1 -0
  1110. package/docs/design/templates/split-button/states.svg +1 -0
  1111. package/docs/design/templates/split-button/tones-dark.svg +1 -0
  1112. package/docs/design/templates/split-button/tones.svg +1 -0
  1113. package/docs/design/templates/split-button-dark.svg +1 -0
  1114. package/docs/design/templates/split-button.svg +1 -0
  1115. package/docs/design/templates/state-banner/danger-dark.svg +1 -1
  1116. package/docs/design/templates/state-banner/danger.svg +1 -1
  1117. package/docs/design/templates/state-banner/info-badge-dark.svg +1 -0
  1118. package/docs/design/templates/state-banner/info-badge.svg +1 -0
  1119. package/docs/design/templates/state-banner/info-dark.svg +1 -1
  1120. package/docs/design/templates/state-banner/info.svg +1 -1
  1121. package/docs/design/templates/state-banner/strip-dark.svg +1 -0
  1122. package/docs/design/templates/state-banner/strip.svg +1 -0
  1123. package/docs/design/templates/state-banner/success-dark.svg +1 -1
  1124. package/docs/design/templates/state-banner/success.svg +1 -1
  1125. package/docs/design/templates/state-banner/warning-dark.svg +1 -1
  1126. package/docs/design/templates/state-banner/warning.svg +1 -1
  1127. package/docs/design/templates/state-banner-dark.svg +1 -11
  1128. package/docs/design/templates/state-banner.svg +1 -11
  1129. package/docs/design/templates/switch/compact-dark.svg +1 -0
  1130. package/docs/design/templates/switch/compact.svg +1 -0
  1131. package/docs/design/templates/switch/states-dark.svg +1 -0
  1132. package/docs/design/templates/switch/states.svg +1 -0
  1133. package/docs/design/templates/switch-dark.svg +1 -0
  1134. package/docs/design/templates/switch.svg +1 -0
  1135. package/docs/design/templates/tab-bar/workspace-tabs-dark.svg +1 -1
  1136. package/docs/design/templates/tab-bar/workspace-tabs.svg +1 -1
  1137. package/docs/design/templates/tab-bar-dark.svg +1 -5
  1138. package/docs/design/templates/tab-bar.svg +1 -5
  1139. package/docs/design/templates/tag-field/error-dark.svg +1 -0
  1140. package/docs/design/templates/tag-field/error.svg +1 -0
  1141. package/docs/design/templates/tag-field/tags-dark.svg +1 -0
  1142. package/docs/design/templates/tag-field/tags.svg +1 -0
  1143. package/docs/design/templates/tag-field-dark.svg +1 -0
  1144. package/docs/design/templates/tag-field.svg +1 -0
  1145. package/docs/design/templates/text-field/compact-dark.svg +1 -0
  1146. package/docs/design/templates/text-field/compact.svg +1 -0
  1147. package/docs/design/templates/text-field/error-dark.svg +1 -0
  1148. package/docs/design/templates/text-field/error.svg +1 -0
  1149. package/docs/design/templates/text-field/labeled-dark.svg +1 -0
  1150. package/docs/design/templates/text-field/labeled.svg +1 -0
  1151. package/docs/design/templates/text-field/multiline-dark.svg +1 -0
  1152. package/docs/design/templates/text-field/multiline.svg +1 -0
  1153. package/docs/design/templates/text-field/number-dark.svg +1 -0
  1154. package/docs/design/templates/text-field/number.svg +1 -0
  1155. package/docs/design/templates/text-field/search-dark.svg +1 -0
  1156. package/docs/design/templates/text-field/search.svg +1 -0
  1157. package/docs/design/templates/text-field-dark.svg +1 -0
  1158. package/docs/design/templates/text-field.svg +1 -0
  1159. package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -1
  1160. package/docs/design/templates/toolbar/title-and-actions.svg +1 -1
  1161. package/docs/design/templates/toolbar/width-visibility-320-dark.svg +1 -0
  1162. package/docs/design/templates/toolbar/width-visibility-320.svg +1 -0
  1163. package/docs/design/templates/toolbar/width-visibility-600-dark.svg +1 -0
  1164. package/docs/design/templates/toolbar/width-visibility-600.svg +1 -0
  1165. package/docs/design/templates/toolbar-control-group/borderless-single-dark.svg +1 -1
  1166. package/docs/design/templates/toolbar-control-group/borderless-single.svg +1 -1
  1167. package/docs/design/templates/toolbar-control-group/glass-dark.svg +1 -0
  1168. package/docs/design/templates/toolbar-control-group/glass.svg +1 -0
  1169. package/docs/design/templates/toolbar-control-group/icon-buttons-dark.svg +1 -1
  1170. package/docs/design/templates/toolbar-control-group/icon-buttons.svg +1 -1
  1171. package/docs/design/templates/toolbar-control-group/icon-tile-brand-dark.svg +1 -0
  1172. package/docs/design/templates/toolbar-control-group/icon-tile-brand.svg +1 -0
  1173. package/docs/design/templates/toolbar-control-group/icon-tile-danger-dark.svg +1 -0
  1174. package/docs/design/templates/toolbar-control-group/icon-tile-danger.svg +1 -0
  1175. package/docs/design/templates/toolbar-control-group/icon-tile-neutral-dark.svg +1 -0
  1176. package/docs/design/templates/toolbar-control-group/icon-tile-neutral.svg +1 -0
  1177. package/docs/design/templates/toolbar-control-group/icon-tile-success-dark.svg +1 -0
  1178. package/docs/design/templates/toolbar-control-group/icon-tile-success.svg +1 -0
  1179. package/docs/design/templates/toolbar-control-group/icon-tile-warning-dark.svg +1 -0
  1180. package/docs/design/templates/toolbar-control-group/icon-tile-warning.svg +1 -0
  1181. package/docs/design/templates/toolbar-control-group/push-buttons-dark.svg +1 -1
  1182. package/docs/design/templates/toolbar-control-group/push-buttons.svg +1 -1
  1183. package/docs/design/templates/toolbar-control-group/with-text-dark.svg +1 -1
  1184. package/docs/design/templates/toolbar-control-group/with-text.svg +1 -1
  1185. package/docs/design/templates/toolbar-control-group-dark.svg +1 -11
  1186. package/docs/design/templates/toolbar-control-group.svg +1 -11
  1187. package/docs/design/templates/toolbar-dark.svg +1 -5
  1188. package/docs/design/templates/toolbar-text/dark-tone-dark.svg +1 -0
  1189. package/docs/design/templates/toolbar-text/dark-tone.svg +1 -0
  1190. package/docs/design/templates/toolbar-text/default-dark.svg +1 -1
  1191. package/docs/design/templates/toolbar-text/default.svg +1 -1
  1192. package/docs/design/templates/toolbar-text/large-dark.svg +1 -1
  1193. package/docs/design/templates/toolbar-text/large.svg +1 -1
  1194. package/docs/design/templates/toolbar-text/small-dark.svg +1 -1
  1195. package/docs/design/templates/toolbar-text/small.svg +1 -1
  1196. package/docs/design/templates/toolbar-text-dark.svg +1 -9
  1197. package/docs/design/templates/toolbar-text.svg +1 -9
  1198. package/docs/design/templates/toolbar.svg +1 -5
  1199. package/docs/design/templates/value-table/details-dark.svg +1 -1
  1200. package/docs/design/templates/value-table/details.svg +1 -1
  1201. package/docs/design/templates/value-table-dark.svg +1 -5
  1202. package/docs/design/templates/value-table.svg +1 -5
  1203. package/docs/design/templates.md +89 -33
  1204. package/docs/design-philosophy.md +65 -20
  1205. package/docs/device-class.md +10 -9
  1206. package/docs/disclosure.md +97 -0
  1207. package/docs/document-baseline.md +93 -0
  1208. package/docs/examples/application-ui-profile.json +60 -0
  1209. package/docs/examples/command-palette-adapter.tsx +69 -17
  1210. package/docs/examples/component-catalog-extension.json +52 -0
  1211. package/docs/examples/component-composition-extension.json +80 -0
  1212. package/docs/layout.md +971 -53
  1213. package/docs/list-detail-dialog.md +100 -0
  1214. package/docs/manual-test-plan.md +55 -0
  1215. package/docs/message-composer.md +156 -0
  1216. package/docs/nav-stack.md +327 -14
  1217. package/docs/overlay-toast.md +62 -0
  1218. package/docs/overlay-tooltip.md +53 -0
  1219. package/docs/progress.md +62 -0
  1220. package/docs/recipes.md +156 -73
  1221. package/docs/slider.md +64 -0
  1222. package/docs/split-view.md +96 -7
  1223. package/docs/sunken-panel.md +106 -0
  1224. package/docs/surface-scaffold.md +490 -0
  1225. package/docs/tab-navigator.md +291 -0
  1226. package/docs/tag-field.md +66 -0
  1227. package/docs/type-contracts.md +137 -0
  1228. package/docs/ui-analyzer.md +406 -0
  1229. package/docs/ui-doctor.md +298 -0
  1230. package/docs/ui-evaluator.md +139 -0
  1231. package/docs/ux-demo.md +58 -17
  1232. package/docs/webawesome-migration.md +82 -0
  1233. package/docs/webawesome-theme.md +306 -47
  1234. package/docs/workbench-dialog.md +88 -0
  1235. package/docs/workbench.md +637 -12
  1236. package/docs/writing.md +154 -0
  1237. package/doctor/cli.mjs +120 -0
  1238. package/doctor/component-style-checks.mjs +457 -0
  1239. package/doctor/config.schema.json +94 -0
  1240. package/doctor/copy-capitalization-checks.mjs +603 -0
  1241. package/doctor/eslint-diagnostics.d.mts +24 -0
  1242. package/doctor/eslint-diagnostics.mjs +24 -0
  1243. package/doctor/index.d.mts +122 -0
  1244. package/doctor/index.mjs +1424 -0
  1245. package/doctor/report.schema.json +118 -0
  1246. package/evaluator/cli.mjs +89 -0
  1247. package/evaluator/index.d.mts +90 -0
  1248. package/evaluator/index.mjs +1203 -0
  1249. package/evaluator/report.schema.json +152 -0
  1250. package/llms.txt +943 -54
  1251. package/package.json +488 -43
  1252. package/scripts/component-catalog-extension-validation.mjs +28 -0
  1253. package/traversal-exclusions.mjs +86 -0
  1254. package/ux-demo/recipes/app-shell.tsx +204 -16
  1255. package/ux-demo/recipes/collapsible-sidebar.tsx +206 -45
  1256. package/ux-demo/recipes/compact-toolbar.tsx +135 -14
  1257. package/ux-demo/recipes/composer-form.tsx +135 -24
  1258. package/ux-demo/recipes/list-detail-dialog.tsx +155 -21
  1259. package/ux-demo/recipes/list-workspace-states.tsx +183 -11
  1260. package/ux-demo/recipes/loaders.ts +11 -3
  1261. package/ux-demo/recipes/loading-inspector.tsx +162 -39
  1262. package/ux-demo/recipes/media-detail.tsx +272 -0
  1263. package/ux-demo/recipes/mount-recipe.ts +28 -11
  1264. package/ux-demo/recipes/navigation-sidebar.tsx +137 -11
  1265. package/ux-demo/recipes/navigation-stack.tsx +79 -24
  1266. package/ux-demo/recipes/types.ts +18 -2
  1267. package/ux-demo/recipes/workspace-header.tsx +86 -5
  1268. package/vite-ux-review.d.mts +83 -0
  1269. package/vite-ux-review.mjs +120 -0
  1270. package/dist/app-tab.d.ts +0 -30
  1271. package/dist/app-tab.js +0 -5
  1272. package/dist/app-tab.js.map +0 -1
  1273. package/dist/browser/app-tab.js +0 -4
  1274. package/dist/browser/panel-header.js +0 -7
  1275. package/dist/browser/token-search-field.js +0 -4
  1276. package/dist/chunk-2Z5TWHKQ.js +0 -34
  1277. package/dist/chunk-2Z5TWHKQ.js.map +0 -1
  1278. package/dist/chunk-37T3VNIZ.js +0 -19
  1279. package/dist/chunk-37T3VNIZ.js.map +0 -1
  1280. package/dist/chunk-55DATV3A.js +0 -10
  1281. package/dist/chunk-55DATV3A.js.map +0 -1
  1282. package/dist/chunk-56RJXPHG.js.map +0 -1
  1283. package/dist/chunk-5ATCDSQS.js +0 -42
  1284. package/dist/chunk-5ATCDSQS.js.map +0 -1
  1285. package/dist/chunk-5E2HVJ33.js +0 -10
  1286. package/dist/chunk-5E2HVJ33.js.map +0 -1
  1287. package/dist/chunk-7BR3DO2A.js +0 -31
  1288. package/dist/chunk-7BR3DO2A.js.map +0 -1
  1289. package/dist/chunk-7JB7VPRI.js +0 -34
  1290. package/dist/chunk-7JB7VPRI.js.map +0 -1
  1291. package/dist/chunk-7LDCTU7D.js +0 -134
  1292. package/dist/chunk-7LDCTU7D.js.map +0 -1
  1293. package/dist/chunk-AQNKJRFH.js +0 -79
  1294. package/dist/chunk-AQNKJRFH.js.map +0 -1
  1295. package/dist/chunk-AVZHJN6C.js +0 -14
  1296. package/dist/chunk-AVZHJN6C.js.map +0 -1
  1297. package/dist/chunk-B24C4A6T.js +0 -22
  1298. package/dist/chunk-B24C4A6T.js.map +0 -1
  1299. package/dist/chunk-BLK3UEEI.js +0 -23
  1300. package/dist/chunk-BLK3UEEI.js.map +0 -1
  1301. package/dist/chunk-CH4SQ6H5.js +0 -39
  1302. package/dist/chunk-CH4SQ6H5.js.map +0 -1
  1303. package/dist/chunk-DAFFDO33.js +0 -14
  1304. package/dist/chunk-DAFFDO33.js.map +0 -1
  1305. package/dist/chunk-I7INRJO4.js +0 -17
  1306. package/dist/chunk-I7INRJO4.js.map +0 -1
  1307. package/dist/chunk-L4OKFDJY.js +0 -24
  1308. package/dist/chunk-L4OKFDJY.js.map +0 -1
  1309. package/dist/chunk-LCOBDOCC.js +0 -265
  1310. package/dist/chunk-LCOBDOCC.js.map +0 -1
  1311. package/dist/chunk-M5JRI6MN.js +0 -27
  1312. package/dist/chunk-M5JRI6MN.js.map +0 -1
  1313. package/dist/chunk-RNPGFQ33.js +0 -10
  1314. package/dist/chunk-RNPGFQ33.js.map +0 -1
  1315. package/dist/chunk-RUNWEPR4.js +0 -10
  1316. package/dist/chunk-RUNWEPR4.js.map +0 -1
  1317. package/dist/chunk-W2FK7ZNY.js +0 -26
  1318. package/dist/chunk-W2FK7ZNY.js.map +0 -1
  1319. package/dist/chunk-WVPYVDXY.js +0 -15
  1320. package/dist/chunk-WVPYVDXY.js.map +0 -1
  1321. package/dist/chunk-XE5ZLPCC.js +0 -20
  1322. package/dist/chunk-XE5ZLPCC.js.map +0 -1
  1323. package/dist/chunk-XXMOARTH.js +0 -229
  1324. package/dist/chunk-XXMOARTH.js.map +0 -1
  1325. package/dist/chunk-YGN7OMLT.js.map +0 -1
  1326. package/dist/panel-header.d.ts +0 -36
  1327. package/dist/panel-header.js +0 -7
  1328. package/dist/panel-header.js.map +0 -1
  1329. package/dist/styles/app-tab.css +0 -152
  1330. package/dist/styles/panel-header.css +0 -64
  1331. package/dist/styles/tab-scaffold.css +0 -84
  1332. package/dist/styles/token-search-field.css +0 -289
  1333. package/dist/tab-scaffold.d.ts +0 -30
  1334. package/dist/tab-scaffold.js +0 -16
  1335. package/dist/tab-scaffold.js.map +0 -1
  1336. package/dist/token-search-field.d.ts +0 -43
  1337. package/dist/token-search-field.js +0 -4
  1338. package/dist/token-search-field.js.map +0 -1
  1339. package/dist/wire-tab-scaffold.d.ts +0 -11
  1340. package/dist/wire-tab-scaffold.js +0 -16
  1341. package/dist/wire-tab-scaffold.js.map +0 -1
  1342. package/dist/wire-token-search-fields.js +0 -5
  1343. package/docs/design/templates/panel-header/icon-actions-dark.svg +0 -1
  1344. package/docs/design/templates/panel-header/icon-actions.svg +0 -1
  1345. package/docs/design/templates/panel-header/icon-summary-actions-dark.svg +0 -1
  1346. package/docs/design/templates/panel-header/icon-summary-actions.svg +0 -1
  1347. package/docs/design/templates/panel-header/no-icon-dark.svg +0 -1
  1348. package/docs/design/templates/panel-header/no-icon.svg +0 -1
  1349. package/docs/design/templates/panel-header/page-heading-dark.svg +0 -1
  1350. package/docs/design/templates/panel-header/page-heading.svg +0 -1
  1351. package/docs/design/templates/panel-header/title-only-dark.svg +0 -1
  1352. package/docs/design/templates/panel-header/title-only.svg +0 -1
  1353. package/docs/design/templates/panel-header-dark.svg +0 -13
  1354. package/docs/design/templates/panel-header.svg +0 -13
  1355. package/docs/design/templates/token-search-field/empty-dark.svg +0 -1
  1356. package/docs/design/templates/token-search-field/empty.svg +0 -1
  1357. package/docs/design/templates/token-search-field/tokens-dark.svg +0 -1
  1358. package/docs/design/templates/token-search-field/tokens.svg +0 -1
  1359. package/docs/design/templates/token-search-field-dark.svg +0 -7
  1360. package/docs/design/templates/token-search-field.svg +0 -7
  1361. package/docs/tab-scaffold.md +0 -41
  1362. package/ux-demo/recipes/recipes.css +0 -448
package/docs/nav-stack.md CHANGED
@@ -5,14 +5,19 @@ and out over one another while the top chrome settles. A **single-pane layout is
5
5
  a `NavStack` with one entry**. It is one of the opt-in app layouts (see
6
6
  [`../../docs/23-app-layouts.md`](../../docs/23-app-layouts.md)).
7
7
 
8
- Import the component and its companion stylesheet:
8
+ Import the component and its wiring helper:
9
9
 
10
10
  ```ts
11
- import { NavStack, type NavStackView } from '@kerfjs/ui/nav-stack';
12
- import { wireNavStack } from '@kerfjs/ui/wire-nav-stack';
13
- import '@kerfjs/ui/nav-stack.css';
11
+ import { NavStack, type NavStackView } from "@kerfjs/ui/nav-stack";
12
+ import { wireNavStack } from "@kerfjs/ui/wire-nav-stack";
14
13
  ```
15
14
 
15
+ In a browser bundler that honors the `browser` export condition (Vite, esbuild, and
16
+ webpack do by default), the import above also
17
+ loads NavStack's stylesheet and those of the components it renders internally
18
+ (`Toolbar`, `ToolbarControlGroup`, `ToolbarText`, `Pane`, `List`, `LucideIcon`). Without that condition, import the manual stylesheets instead:
19
+ `@kerfjs/ui/nav-stack.css` plus those components' CSS, or `@kerfjs/ui/styles.css`.
20
+
16
21
  ## State lives in the app
17
22
 
18
23
  Like every `@kerfjs/ui` component, `NavStack` is declarative: the app owns the
@@ -20,28 +25,336 @@ stack as a `signal<NavStackView[]>`, `NavStack({ views })` renders it, and
20
25
  `wireNavStack` animates the transitions.
21
26
 
22
27
  ```tsx
23
- const views = signal<NavStackView[]>([{ key: 'inbox', title: 'Inbox', content: <InboxView /> }]);
28
+ const views = signal<NavStackView[]>([
29
+ {
30
+ key: "inbox",
31
+ toolbar: { title: "Inbox" },
32
+ content: <InboxView />,
33
+ bottomToolbar: {
34
+ label: "Inbox status",
35
+ leading: <InboxStatus />,
36
+ },
37
+ },
38
+ ]);
24
39
 
25
40
  // render inside mount():
26
41
  <NavStack id="mail" label="Mail" views={views.value} />;
27
42
 
28
43
  // once, after first render:
29
- const dispose = wireNavStack(root, { onBack: () => { views.value = views.value.slice(0, -1); } });
44
+ const dispose = wireNavStack(root, {
45
+ onBack: () => {
46
+ views.value = views.value.slice(0, -1);
47
+ },
48
+ });
30
49
 
31
50
  // push / pop by editing the signal:
32
- views.value = [...views.value, { key: id, title: 'Message', content: <MessageView id={id} /> }];
51
+ views.value = [
52
+ ...views.value,
53
+ { key: id, toolbar: { title: "Message" }, content: <MessageView id={id} /> },
54
+ ];
33
55
  ```
34
56
 
35
57
  `NavStack` renders every entry stacked, the last one active and the rest kept
36
- mounted (so their DOM state and focus survive) but hidden. Each entry carries a
37
- `key` (stable identity), `content`, an optional `title`, and optional per-view
38
- `toolbar` actions. The back control appears automatically once the stack has more
39
- than one entry; `wireNavStack`'s `onBack` is where the app pops its own signal.
58
+ mounted (so their DOM state survives) but hidden. Each entry carries a
59
+ `key` (stable identity), `content`, an optional `toolbar` object with `title`,
60
+ `leading`, `center`, and `trailing` groups, and an optional structured
61
+ `bottomToolbar`. The component-level structured
62
+ `bottomToolbar` remains a persistent fallback for views that do not provide one.
63
+ Each view can also provide `header`, `footer`, `headerList`, `footerList`, and
64
+ `pane` configuration, as a `WorkbenchStaticPanel` does. With any of these,
65
+ the view renders a `Pane`: its header and footer stay pinned around the view's
66
+ scrolling content, and slide with that view during navigation. The header and
67
+ footer list configuration forwards to their `List`s; `pane` forwards
68
+ `contentElement`, `contentLabel`, `separators`, `safeAreaEdges`,
69
+ `chromeDividers`, `appearance`, `deepInset`, `scrollClearance`, `headerPresentation`, `tabIndex`,
70
+ and `outlined` to the Pane. Without those fields, the view
71
+ keeps its simple direct scroll area. Use `pane: { appearance: "sunken" }` for a
72
+ lowered scrolling work surface.
73
+ The back control appears automatically once the stack has more than one entry;
74
+ `wireNavStack`'s `onBack` is where the app pops its own signal.
75
+
76
+ See [Lowered work surfaces](layout.md#lowered-work-surfaces) for nested Pane
77
+ and layout content.
78
+
79
+ ## The top toolbar
80
+
81
+ The top chrome is a real `Toolbar`, so it follows the same zone,
82
+ group, and responsive rules as every other toolbar. Its leading zone holds the
83
+ back control (a contained, bordered `ToolbarControlGroup`, shown once the stack has
84
+ depth), then `toolbar.leading`. `toolbar.trailing` fills the trailing zone.
85
+ Give each zone `ToolbarControlGroup`s or `ToolbarText`, as in any toolbar.
86
+
87
+ Where `toolbar.title` goes depends on the back control:
88
+
89
+ - **At the root** (no back control) the title is a filling `ToolbarText` at
90
+ the end of the leading zone, so it reads left-aligned.
91
+ - **Once the stack has depth**, the title is the center zone's only child and
92
+ the toolbar is `centerAlign="balanced"`, like a platform navigation bar. The
93
+ title sits on the bar's midpoint while the sides leave room, moves away from
94
+ a wider side when they do not, and truncates with an ellipsis before it
95
+ reaches the back control or a trailing group. It keeps the root title's
96
+ full-strength text color at its smaller size. This overrides a configured
97
+ `centerAlign`, which applies to view-owned center content.
98
+ - **A view that sets `toolbar.center`** owns the center zone, so its title
99
+ stays left-aligned in the leading zone at any depth.
100
+
101
+ Configure the toolbar with `toolbarConfig` instead of styling it:
102
+
103
+ ```tsx
104
+ <NavStack
105
+ id="mail"
106
+ label="Mail"
107
+ views={views.value}
108
+ backText={previousTitle}
109
+ toolbarConfig={{
110
+ headingLevel: 1,
111
+ titleSize: "xlarge",
112
+ dividerSides: "b",
113
+ responsive: "wrap",
114
+ }}
115
+ />
116
+ ```
117
+
118
+ - Each view's `toolbar` can forward the `Toolbar` configuration (`dividerSides`,
119
+ `centerAlign`, `responsive`, `responsiveAt`, `safeAreaEdges`) and its `label`,
120
+ `titleSize`, and `headingLevel`. A view value overrides the corresponding
121
+ `toolbarConfig` default. Its `bottomToolbar` forwards the same `Toolbar`
122
+ configuration and has a required accessible `label`.
123
+ - `toolbarConfig` supplies stack-wide defaults (`dividerSides`,
124
+ `centerAlign`, `responsive`, `responsiveAt`, `safeAreaEdges`) and adds
125
+ `label` (the toolbar's accessible name), `titleSize` (the title's
126
+ `ToolbarText` size; default `xlarge` at the root, where the title is the page
127
+ heading, and `large` once a back control shares the bar; a Workbench panel's
128
+ stack keeps `large` at every depth), and `headingLevel` (expose the title as
129
+ a heading; default a plain span). The defaults keep the stack's own chrome:
130
+ no divider, the standard Toolbar height (a 44px control band with 8px above and below), and the top and side safe-area edges
131
+ claimed.
132
+ - `backIcon` replaces the default chevron-left icon. `backText` adds visible
133
+ text beside it (for example, the previous view's title); visible text names
134
+ the control, so `backLabel` applies only to the icon-only control.
135
+
136
+ `panelToggle` supplies a persistent final group in the trailing zone of every
137
+ view's top toolbar. `Workbench` uses it for a navigation panel's standard
138
+ collapse toggle; the active view still owns the preceding toolbar groups.
139
+
140
+ The catalog's **Configured Toolbar** example shows these together: a level-2
141
+ heading title over a bottom divider, leading and center groups on the root
142
+ view, a trailing group on the pushed view, and `backText` set to the previous
143
+ view's title.
144
+
145
+ Focus follows the controlled stack automatically. On push, `wireNavStack`
146
+ remembers the focused descendant of the departing view and moves focus into the
147
+ new top view. On pop it restores that exact descendant when it still exists. A
148
+ new view prefers a descendant marked `data-nav-focus`, then its first enabled
149
+ focusable descendant, and finally the view container itself. Use
150
+ `data-nav-focus` for a heading or primary control when DOM order is not the best
151
+ initial reading position; it may use `tabindex="-1"` for programmatic focus.
152
+ When a remembered control was removed during the controlled rerender, the same
153
+ fallback order applies. While focus rests on the view container itself (it
154
+ had nothing focusable, such as an inert loading placeholder), a later
155
+ re-render that morphs away the temporary `tabindex` keeps it there, and once
156
+ content with a focus target arrives under the same key, focus moves to it;
157
+ focus the person moved elsewhere is never reclaimed. Disposing the helper stops future transitions and
158
+ cleans up any temporary fallback `tabindex` it added.
159
+
160
+ ## Separators and scroll dividers
161
+
162
+ `separator="auto"` (the default) draws a line under the top chrome and above
163
+ the optional bottom toolbar when the active view's Pane has
164
+ `appearance="sunken"`, even if its content fits and no scroll wiring runs. The
165
+ line follows the active view on push and pop. Set `separator="hidden"` to hide
166
+ both stack-owned edges, including lines requested by `chromeDividers`. The
167
+ existing 1px edges change color without moving the content. A view's own Pane
168
+ header and footer separators remain controlled by that Pane.
169
+
170
+ For a flat active view, the stack draws no permanent line. With
171
+ `wireScrollDividers(appRoot)` installed (see
172
+ [Layout › Scroll dividers](layout.md#scroll-dividers)), the top chrome shows a
173
+ line along its bottom edge only while the active view's content is scrolled
174
+ beneath it, and the bottom toolbar a line along its top edge only while more
175
+ content lies below it — neither when the content fits. The line follows the
176
+ active view across a push or pop. The chrome's line is overlaid on its bottom
177
+ edge and the bottom toolbar's is its always-present 1px top border, colored
178
+ only while shown, so neither ever moves the chrome or the content. When the view's only child is a `Pane`,
179
+ the line keys on whichever actually scrolls — the view, or the Pane's content —
180
+ and a Pane header or footer draws its own boundary instead. An explicit
181
+ `toolbarConfig.dividerSides` still draws a permanent Toolbar edge.
182
+
183
+ `chromeDividers` configures both lines for flat views, with the same values as a `Pane`'s:
184
+ `scroll` (the default) follows the scroll state above and draws nothing until
185
+ the wiring runs; `always` keeps both lines, with or without the wiring; `none`
186
+ drops them even when the wiring reports scroll state. A sunken active Pane still
187
+ shows the separator unless `separator="hidden"`. This option does not change the
188
+ top Toolbar's own `dividerSides`.
189
+
190
+ ```tsx
191
+ <NavStack id="settings" label="Settings" views={views.value} chromeDividers="always" />
192
+ ```
193
+
194
+ ## Background colors
195
+
196
+ `background` paints the stack, its docked chrome and bottom toolbar, and every
197
+ view in an app-chosen color from `@kerfjs/ui/css-values` instead of the
198
+ surface. One view's own color goes in its `pane: { background }`, which paints
199
+ over the stack's. Overlay chrome keeps the chrome material. The app keeps text
200
+ at AA over the color; forced colors paint `Canvas`. See
201
+ [Background colors](layout.md#background-colors).
202
+
203
+ ```tsx
204
+ <NavStack id="music" label="Music" views={views.value} background={uiColor("surface-raised")} />
205
+ ```
206
+
207
+ `tint={{ color, scheme }}` re-derives the stack's surface and text tokens from
208
+ an app color instead, so its chrome, views, and content all take on the color
209
+ with text kept at AA. See [Tinted surfaces](layout.md#tinted-surfaces).
210
+
211
+ ## Overlay chrome
212
+
213
+ `chromePresentation="overlay"` lays the top chrome over the active view's top
214
+ edge, like an iOS navigation bar, instead of docking it above the view
215
+ (`"docked"`, the default). The chrome paints the shared chrome material,
216
+ `--kui-chrome-material` behind `--kui-chrome-material-filter`, so content
217
+ scrolls visibly, blurred, beneath it.
218
+
219
+ ```tsx
220
+ <NavStack id="mail" label="Mail" views={views.value} chromePresentation="overlay" />
221
+ ```
222
+
223
+ - **`wireNavStack` measures it.** The helper you already call for transitions
224
+ reads the live chrome's border-box height with a `ResizeObserver`, publishes
225
+ it on the stack root, and marks the root `data-chrome-overlay="measured"`.
226
+ Only then does the chrome leave its band. Unwired, or with `hideToolbar`, the
227
+ chrome stays docked, so it never covers content it has not measured. The
228
+ measurement follows the chrome as its title wraps, text grows, or a pushed
229
+ view changes its toolbar. A re-render that strips the measurement gets it
230
+ back before paint.
231
+ - **Every view clears it automatically.** The measured height becomes the
232
+ viewport's block-start edge context (`--kui-edge-inset-block-start`), the
233
+ same context that carries safe areas. A plain view pads and scroll-pads by
234
+ it, a sole `Pane` adds it to its content's (or its header's) block-start
235
+ inset, and a nested layout hands it on. The first item rests just below the
236
+ chrome, and anything focused or scrolled into view stops clear of it. No
237
+ `scrollClearance` prop is involved, so a Pane that also opts into
238
+ `scrollClearance` does not clear the chrome twice.
239
+ - **Safe area.** The chrome keeps claiming the top safe area: its toolbar pads
240
+ for it while the material paints through it. The measured height already
241
+ includes that padding, so views clear the chrome and the safe area exactly
242
+ once.
243
+ - **Transitions.** Only the live chrome is measured, never a cross-fading
244
+ copy. An overlay bar (top chrome or bottom toolbar) cross-fades its
245
+ contents, never its material: the live bar keeps the material at full
246
+ opacity while its new contents fade in, and the copy fading out above it
247
+ carries only the old contents, so the sliding views never show through the
248
+ chrome mid push or pop. The incoming view settles at the incoming chrome's
249
+ clearance.
250
+ - **Classic scrollbars.** Where the active view's scroller (the view, or a
251
+ sole header-less Pane's content) shows a classic, space-taking scrollbar,
252
+ `wireNavStack` measures it and the chrome ends where its track begins, so
253
+ the thumb and arrows stay visible and usable. An overlay scrollbar takes no
254
+ space and passes beneath the material like the content.
255
+ - **Dividers.** With `wireScrollDividers`, the line under the chrome still
256
+ appears only while content is scrolled beneath it.
257
+ - **Contrast.** The material keeps normal text at AA over any content. An
258
+ untoned `ToolbarText` in the chrome lifts itself: its title takes the normal
259
+ text color at every size and its `description` mixes the quiet color halfway
260
+ toward it, and a default-tone `ToolbarControlGroup` takes the normal text
261
+ color for its controls. Other quiet copy you place in the chrome has no such
262
+ lift, so keep it in the view (see
263
+ [Accessibility › Chrome material](accessibility.md#chrome-material)). The
264
+ material turns opaque under `prefers-reduced-transparency`,
265
+ `prefers-contrast: more`, or without `backdrop-filter`, and forced colors
266
+ paint `Canvas` with a `CanvasText` bottom edge.
267
+
268
+ `SplitView`'s `compactStack.chromePresentation` and a Workbench navigation
269
+ panel's `navStack.chromePresentation` forward the same option.
270
+ `chromePresentation` governs only the top chrome; the bottom toolbar has its
271
+ own option below.
272
+
273
+ ### Overlay bottom toolbar
274
+
275
+ `bottomToolbarPresentation="overlay"` does the same for the bottom toolbar,
276
+ like an iOS toolbar: it lies over the active view's bottom edge on the same
277
+ chrome material instead of docking below the view (`"docked"`, the default).
278
+ It is a separate prop, so either bar can be overlaid alone, and it mirrors
279
+ `Pane.headerPresentation` and `DialogSurface.footerPresentation` in naming one
280
+ edge.
281
+
282
+ ```tsx
283
+ <NavStack
284
+ id="mail"
285
+ label="Mail"
286
+ views={views.value}
287
+ chromePresentation="overlay"
288
+ bottomToolbarPresentation="overlay"
289
+ bottomToolbar={{ label: 'Mail Actions', trailing: composeGroup }}
290
+ />
291
+ ```
292
+
293
+ - **`wireNavStack` measures it.** It reads the live bottom toolbar's
294
+ border-box height (never a cross-fading copy's), publishes it on the stack
295
+ root, and marks the root `data-bottom-toolbar-overlay="measured"`. Only then
296
+ does the toolbar leave its band. Unwired, or while no bottom toolbar is
297
+ shown (a view without one and no stack-level fallback), it stays docked. The
298
+ measurement follows a view-owned toolbar as views push and pop, and a
299
+ re-render that strips it gets it back before paint.
300
+ - **Every view clears it automatically.** The measured height becomes the
301
+ viewport's block-end edge context (`--kui-edge-inset-block-end`). A plain
302
+ view pads and scroll-pads by it, a sole `Pane` adds it to its content's
303
+ block-end inset (or its footer's, so the footer rests just above the
304
+ toolbar), and a nested layout hands it on. The last item rests just above
305
+ the toolbar, and anything focused or scrolled into view stops clear of it.
306
+ - **Safe area.** The toolbar keeps claiming the bottom safe area (the home
307
+ indicator), and the measured height includes it, so views clear both exactly
308
+ once. Inside a `TabNavigator` scene the tab bar owns that edge, so the
309
+ stack's toolbar sits just above the tab bar and counts no safe area.
310
+ - **Classic scrollbars and dividers.** The toolbar ends where a classic
311
+ scrollbar's track begins (a sole Pane with a footer ends its scroller above
312
+ the toolbar, so nothing needs leaving there). With `wireScrollDividers`, the
313
+ toolbar's top line still appears only while more content lies below.
314
+ - **Contrast.** An untoned `ToolbarText` lifts itself as in the top chrome,
315
+ and a default-tone `ToolbarControlGroup` in either overlaid bar takes the
316
+ normal text color for its controls, so labels and icons keep AA over the
317
+ content beneath. The material has the same opaque fallbacks; in forced
318
+ colors the toolbar paints `Canvas` and its always-present 1px top border
319
+ becomes a `CanvasText` edge, which the measurement includes.
320
+
321
+ `SplitView`'s `compactStack.bottomToolbarPresentation` and a Workbench
322
+ navigation panel's `navStack.bottomToolbarPresentation` forward it too.
323
+
324
+ ### Clear chrome
325
+
326
+ `chromePresentation="clear"` and `bottomToolbarPresentation="clear"` lay the
327
+ bars over the active view like `overlay`, with the same measuring and edge
328
+ insets, but fully transparent, for chrome over imagery. Keep their controls
329
+ in glass control groups (`ToolbarControlGroup material="glass"`); the stack's
330
+ own back control is one automatically under clear chrome. They stay
331
+ clear while content scrolls beneath them; with `scrollEdge="material"` (or
332
+ `"surface"`) a backing fades in gradually, opacity only, over
333
+ `scrollEdgeDistance` pixels of scroll (default 60): behind the top chrome as
334
+ the view's content scrolls beneath it, and behind the bottom toolbar until
335
+ the content nears its end. Clear bars draw no scroll
336
+ divider, turn opaque under reduced transparency or increased contrast, and
337
+ paint `Canvas` in forced colors. See [Clear header](layout.md#clear-header).
338
+
339
+ ## Safe areas
340
+
341
+ The stack paints through a device's unsafe areas. Its chrome pads for the top
342
+ and side insets, its bottom toolbar for the bottom and side insets, and each
343
+ view pads the remaining edges inside its scroller, so content scrolls under the
344
+ unsafe area but can always be scrolled clear. A view whose only child is a
345
+ `Pane` or layout lets that child own the insets. See [Choosing an app layout › Safe areas](app-layouts.md#safe-areas).
40
346
 
41
347
  ## Transitions
42
348
 
43
349
  `wireNavStack(root, { onBack, duration? })` observes the rendered stack and
44
350
  animates each change: a pushed view slides in from the trailing edge; a popped
45
- view slides back off it over the revealed view. It returns a disposer. The
46
- animation honors `prefers-reduced-motion` (transitions collapse to instant) and
47
- `duration: 0` disables it. Applicable at every device size and inside dialogs.
351
+ view slides back off it over the revealed view; and snapshots of the previous
352
+ top and bottom chrome cross-fade into the active view's chrome. The preserved
353
+ underlying view remains visible during a push, while remaining inaccessible.
354
+ Starting transforms and opacity apply instantly before the transition begins.
355
+ A new navigation settles the previous transition and cancels its pending frames
356
+ and cleanup timers; disposal removes temporary copies and exiting views. Focus moves to
357
+ the new top view independently of animation duration. It returns a disposer.
358
+ The animation honors `prefers-reduced-motion` (transitions collapse to instant)
359
+ and `duration: 0` disables it. Applicable at every device size and inside
360
+ dialogs.
@@ -0,0 +1,62 @@
1
+ # Toasts
2
+
3
+ `kerfjs/overlay`'s `toast()` shows a brief, auto-dismissing notification in
4
+ one body-level live region. The core ships no CSS. Import
5
+ `@kerfjs/ui/overlay-toast.css` once and every toast takes Kerf's look:
6
+
7
+ ```ts
8
+ import "@kerfjs/ui/overlay-toast.css";
9
+ import { toast } from "kerfjs/overlay";
10
+
11
+ const exit = { exitClass: "kui-toast-exit", exitDuration: 200 };
12
+
13
+ toast("Draft saved.", exit);
14
+ toast("Project published.", { ...exit, variant: "success" });
15
+ ```
16
+
17
+ ## What the stylesheet does
18
+
19
+ - **Placement.** The region (`.kerf-toasts`) sits above the bottom edge,
20
+ centered, 16px from the viewport edge plus the bottom safe area, at most
21
+ 480px wide. It never blocks the page; only the toasts take presses.
22
+ - **Stacking.** Toasts stack newest last with an 8px gap.
23
+ - **Surface.** Each toast (`.kerf-toast`) is the raised surface with a neutral
24
+ border, the rounded radius, and the large shadow.
25
+ - **Tones.** `variant: 'info' | 'success' | 'warning'` lays the brand,
26
+ success, or warning quiet fill over the opaque surface, with the matching
27
+ border and text.
28
+ - **StateBanner content.** A toast whose only content is a `StateBanner` takes
29
+ the banner's tone, border, and inset, and keeps its own elevation:
30
+
31
+ ```tsx
32
+ toast(
33
+ () => <StateBanner title="Export Finished" detail="report.csv is ready." tone="success" />,
34
+ { ...exit, duration: 6000 },
35
+ );
36
+ ```
37
+
38
+ - **Motion.** A new toast rises and fades in on its own (no `enterClass`
39
+ needed). Pass `exitClass: 'kui-toast-exit'` with `exitDuration: 200` and it
40
+ sinks and fades out before removal. Under `prefers-reduced-motion` or
41
+ `:root[data-kui-effects="static"]` it only fades, or not at all.
42
+ - **Forced colors.** Toasts draw a `CanvasText` border on `Canvas`.
43
+
44
+ ## Choices the app owns
45
+
46
+ - What to say and when: a toast confirms a completed action (saved, copied,
47
+ published) or reports a status. An error the person must act on, or a
48
+ decision, belongs in a `StateBanner` in the affected surface or a
49
+ `DialogSurface`, not a toast that disappears.
50
+ - `duration` (default 4000ms; `0` keeps it until you call `dismiss()`), and
51
+ `mode: 'replace'` to collapse a rapid sequence to the latest message.
52
+ - Top-edge stacking: pass your own region as `container` with
53
+ `data-placement="top"` (and the `kerf-toasts` class); it stacks from the top
54
+ safe area down.
55
+ - Stacking order above other layers: set `--kui-overlay-toast-z-index`
56
+ (default 1100).
57
+
58
+ The region is `aria-live="polite"` and each toast is `role="status"`, so a
59
+ screen reader announces it without moving focus. Never make a toast the only
60
+ path to an action.
61
+
62
+ Use this instead of `wa-toast` and `wa-toast-item`, which are Discouraged.
@@ -0,0 +1,53 @@
1
+ # Tooltips
2
+
3
+ `kerfjs/overlay`'s `tooltip(anchor, content, options?)` shows a hover and
4
+ keyboard-focus tooltip beside any element and positions it there. The core
5
+ ships no CSS. Import `@kerfjs/ui/overlay-tooltip.css` once and every tooltip
6
+ takes the help tag's look:
7
+
8
+ ```ts
9
+ import "@kerfjs/ui/overlay-tooltip.css";
10
+ import { tooltip } from "kerfjs/overlay";
11
+
12
+ const stop = tooltip(
13
+ deployButton,
14
+ "Builds the current branch and deploys it to staging.",
15
+ { exitClass: "kui-tooltip-exit", exitDuration: 100 },
16
+ );
17
+ // Later: stop() removes the listeners and any shown tooltip.
18
+ ```
19
+
20
+ ## What the stylesheet does
21
+
22
+ - **Look.** The `.kerf-tooltip` wrapper takes the loud neutral fill with
23
+ on-loud text at 14px and a 3px radius: the same look as the help tags that
24
+ icon-only Kerf controls show.
25
+ - **Width.** It sizes to its text and wraps at 40 characters, staying 8px
26
+ inside a narrow viewport.
27
+ - **Pointer.** It never takes the pointer, so it cannot block the control
28
+ beneath it.
29
+ - **Motion.** It fades in on its own (no `enterClass` needed). Pass
30
+ `exitClass: 'kui-tooltip-exit'` with `exitDuration: 100` and it fades out as
31
+ it hides. Under `prefers-reduced-motion` or
32
+ `:root[data-kui-effects="static"]` it appears and leaves at once.
33
+ - **Forced colors.** It draws `CanvasText` on `Canvas`.
34
+ - **Stacking.** Set `--kui-overlay-tooltip-z-index` (default 1200) to change
35
+ its stacking order. With `native: true` it is in the top layer instead.
36
+
37
+ Structured content from a render function inherits the tooltip's colors, so
38
+ use plain inline markup (`<strong>`, a line break) rather than components that
39
+ set their own text color.
40
+
41
+ ## When to use it
42
+
43
+ - A control or value needs a short explanation on hover and focus: a longer
44
+ description of an action, a chart point, or a truncated label.
45
+ - Not for icon-only Kerf controls: `@kerfjs/ui/help-tags-register` already
46
+ shows their help tag.
47
+ - Not for interactive content or the only copy of important information. Use an
48
+ `AnchoredSurface` the person opens, or visible text.
49
+
50
+ Keep the anchor's accessible name complete without the tooltip; the wrapper is
51
+ `role="tooltip"` and appears on keyboard focus as well as hover.
52
+
53
+ Use this instead of `wa-tooltip`, which is Discouraged.
@@ -0,0 +1,62 @@
1
+ # Progress
2
+
3
+ Two components show progress: `ProgressBar` (`@kerfjs/ui/progress-bar`), a
4
+ linear bar on the native `<progress>` element, and `ProgressRing`
5
+ (`@kerfjs/ui/progress-ring`), a compact circle for a line of text, a row, or a
6
+ toolbar. Both are determinate (`value` of `max`, default `max` 1) or, without a
7
+ `value`, indeterminate.
8
+
9
+ ```tsx
10
+ import { ProgressBar } from "@kerfjs/ui/progress-bar";
11
+ import { ProgressRing } from "@kerfjs/ui/progress-ring";
12
+
13
+ <ProgressBar
14
+ id="upload"
15
+ label="Uploading Files"
16
+ value={3}
17
+ max={12}
18
+ valueText="3 of 12 files"
19
+ showValue
20
+ />;
21
+ <ProgressRing label="Claim Time Remaining" value={0.75} valueText="45 minutes left" />;
22
+ ```
23
+
24
+ ## ProgressBar
25
+
26
+ - **Name.** `label` is a visible line above the bar that also names it (with
27
+ an `id`, through `aria-labelledby`); `ariaLabel` names a bar without one.
28
+ - **Readout.** `showValue` puts the percentage, or `valueText`, at the end of
29
+ the label row. `valueText` also replaces the spoken percentage.
30
+ - **Indeterminate.** Omit `value` and a band sweeps across the track. It holds
31
+ still under `prefers-reduced-motion` or the static-effects switch.
32
+ - **Tone and size.** `tone` is `brand` (default), `success`, `warning`, or
33
+ `danger`; `size="compact"` is a 4px track for a row or table cell (default
34
+ 6px).
35
+
36
+ The bar takes the full available width and the shared block-content inset (a
37
+ transparent 1px border and 8px padding), so its label sits on the same text
38
+ column as `Text`.
39
+
40
+ ## ProgressRing
41
+
42
+ - **Name.** `label` is required: the ring is `role="progressbar"` with
43
+ `aria-valuenow` as a percentage, or `valueText`.
44
+ - **Size.** `small` (16px) for a line of text, `medium` (24px, the default)
45
+ beside an icon in a row or toolbar, `large` (40px) on its own. Its box is
46
+ exactly its diameter, so it aligns with icons of the same size.
47
+ - **Indeterminate.** Omit `value` and it spins a quarter arc, which holds still
48
+ under reduced motion.
49
+ - **Tone.** The same tones as the bar.
50
+
51
+ ## Choosing
52
+
53
+ - A measurable task with room for a label row: `ProgressBar`.
54
+ - Compact progress beside an item: `ProgressRing`.
55
+ - A brief busy glyph inside a control: `LoadingSpinner`.
56
+ - App-wide progress with no home beside the work: `CornerStatus` or
57
+ `EdgeActivityIndicator`.
58
+ - A reading on a scale that is not progress (a rating, a level): a native
59
+ `<meter>`.
60
+
61
+ Forced colors draw the fills in `Highlight`. Use these instead of
62
+ `wa-progress-bar` and `wa-progress-ring`, which are Discouraged.