@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
@@ -0,0 +1,490 @@
1
+ # Dialog and popup surface scaffolds
2
+
3
+ `DialogSurface` is Kerf's modal dialog: a native `<dialog>` with a header
4
+ (title, header actions, close button), a body, and an optional footer, sized
5
+ and presented by its props. `PopoverDialogSurface` is its non-modal sibling,
6
+ and `PopupSurface` insets a raw Web Awesome dropdown. The application owns
7
+ open state, dismissal policy, ids, names, and content.
8
+
9
+ `DialogSurface` is the single-pane dialog type. For a modal that picks a
10
+ record from a list and shows its detail beside it, use
11
+ [`ListDetailDialog`](./list-detail-dialog.md) instead of wrapping a
12
+ `SplitView` in a `DialogSurface`: it draws no surface header, so the title and
13
+ close control sit in the detail column and the divider runs the full height.
14
+ For an editing task with side panels, use
15
+ [`WorkbenchDialog`](./workbench-dialog.md), a header-less dialog around a
16
+ `Workbench` whose rails become overlays on compact devices.
17
+
18
+ ```tsx
19
+ import { DialogSurface, openDialog } from '@kerfjs/ui/surface-scaffold';
20
+
21
+ <Button action="edit-workspace">Edit Workspace</Button>
22
+ <DialogSurface
23
+ id="edit-workspace"
24
+ label="Edit Workspace"
25
+ bodyInset="none"
26
+ footer={
27
+ <>
28
+ <Button rootAttributes={{ 'data-dialog-close': '' }}>Cancel</Button>
29
+ <Button tone="brand" action="save-workspace">Save</Button>
30
+ </>
31
+ }
32
+ >
33
+ <List>
34
+ <ListInsetText>Changes apply to every project in this workspace.</ListInsetText>
35
+ </List>
36
+ </DialogSurface>;
37
+
38
+ openDialog(document.getElementById('edit-workspace') as HTMLDialogElement);
39
+ ```
40
+
41
+ - **Name.** `label` names the dialog and is its title text. With `heading`
42
+ (title content such as an xl `ToolbarText` with a description), pass
43
+ `labelledBy`, the id of the element that names it, or keep `label`.
44
+ - **Description.** `describedBy` is the id of the element whose text is the
45
+ dialog's accessible description, rendered as `aria-describedby` on the
46
+ `<dialog>`: the `heading` ToolbarText's `descriptionId`, or app-owned summary
47
+ copy in the body. `rootAttributes` takes only `data-*` attributes, so it can
48
+ never set or override `aria-describedby`.
49
+ - **Header.** The title, then `headerActions` and a close button (`closeLabel`,
50
+ default `Close`). Set `closeEmphasis="quiet"` for a smaller, softer X in the
51
+ same 40px button target; the default `"normal"` keeps the standard close
52
+ control. Both preserve the accessible name, keyboard focus, and close
53
+ request behavior. `withoutHeader` renders none, for content that owns its
54
+ heading and close control.
55
+ - **Body and footer.** `children` is the body; `footer` sits below it (or
56
+ floats over it, see [Chat dialogs](#chat-dialogs-a-floating-footer-over-a-filling-transcript)).
57
+ - **Opening and closing.** Render the dialog closed and open it with
58
+ `openDialog(dialog)`: it opens modally in the top layer, the rest of the
59
+ page is inert, and focus moves to an `autofocus` element or else the panel.
60
+ `closeDialog(dialog)` closes it after its exit motion; the browser returns
61
+ focus to the element that opened it. Do not toggle its `open` attribute,
62
+ which opens a dialog without modality.
63
+ - **Close requests.** The close button, any element inside with
64
+ `data-dialog-close` (a Cancel button), Escape, and, with `lightDismiss`, a
65
+ press on the backdrop ask to close: the dialog dispatches a cancelable
66
+ `kui-request-close` whose `detail.source` is `close-button`, `escape`, or
67
+ `backdrop`. Call `preventDefault()` to keep it open (unsaved changes); the
68
+ panel then pulses, as it does for a backdrop press without `lightDismiss`.
69
+ The native `close` event fires once it has closed. Your own
70
+ `closeDialog()` is never refused.
71
+
72
+ Choose `size` (`small`, `medium`, or `large`), `presentation` (`modal`,
73
+ `side-sheet`, `fullscreen`, or `bottom-sheet`; see
74
+ [Bottom sheets](#bottom-sheets)), and independent `bodyInset` / `footerInset`
75
+ (`none`, `compact`, or `comfortable`). The defaults match Kerf's medium modal,
76
+ 8px body, and 16px footer rhythm. The dialog scales and fades in and out
77
+ (150ms), unless motion is reduced or the document's static effects mode is on.
78
+
79
+ The panel corner is concentric with a pill `ToolbarControlGroup` (22px) resting
80
+ at the body inset: 30px for `compact` (and `none`) and 38px for `comfortable`,
81
+ so header and body controls nest into the curve. A side sheet uses the same
82
+ radius on its leading corners, and a `PopoverDialogSurface` takes the 30px
83
+ default.
84
+
85
+ The modal size presets have preferred widths of 400px, 560px, and 800px,
86
+ respectively, before the viewport width cap. Set `preferredWidth` to a branded
87
+ `CssLength` when the desktop shell needs another width. It takes precedence over
88
+ `size`, while the viewport cap still applies. For example, 832px and 480px
89
+ desktop preferences can share the same responsive dialog without changing its
90
+ resource tracks or preview aspect sizing.
91
+
92
+ ### Sibling dialogs keep their identity
93
+
94
+ Every `DialogSurface` root has the same structure, so two sibling dialogs that
95
+ are rendered conditionally are matched by position when the page re-renders:
96
+ one open dialog's element (with its accessible name and open state) can be
97
+ reused for another, and its `close` event fires on the wrong dialog. Give each
98
+ sibling a stable key on its root with `rootAttributes` (or an `id`), instead
99
+ of wrapping it in an app `div`:
100
+
101
+ ```tsx
102
+ <DialogSurface label="Set up project" rootAttributes={{ "data-key": "project-setup" }}>…</DialogSurface>
103
+ ```
104
+
105
+ `rootAttributes` takes `data-*` identity only; the surface's own configuration
106
+ attributes (`data-size`, `data-presentation`, …) stay protected.
107
+
108
+ ### Modal viewport bounds
109
+
110
+ `viewportGutter` accepts a branded `CssLength` from `@kerfjs/ui/css-values`.
111
+ It sets the minimum horizontal clearance; `preferredWidth` overrides the `size`
112
+ preset when supplied. `maxHeight` accepts a branded length or `"viewport"`; explicit caps are
113
+ clamped to the dynamic viewport height minus twice the gutter (16px per edge
114
+ when the gutter is omitted). Negative gutters/caps clamp to zero. Omitting
115
+ both options keeps the default caps: 20px clear of each viewport edge, and
116
+ 80% of the viewport height at 420px wide or narrower.
117
+ These options apply only to `presentation="modal"`; side sheets and fullscreen
118
+ surfaces keep their own geometry, and a bottom sheet reads `height` and
119
+ `maxHeight` as described in [Bottom sheets](#bottom-sheets).
120
+
121
+ ```tsx
122
+ import { remify } from '@kerfjs/ui/css-values';
123
+ import { DialogSurface } from '@kerfjs/ui/surface-scaffold';
124
+
125
+ <DialogSurface id="close-workspace" label="Close Workspace" preferredWidth={remify(832)} viewportGutter={remify(8)} maxHeight="viewport" bodyInset="none" footer={actions}>
126
+ {/* Application-owned content */}
127
+ </DialogSurface>;
128
+ ```
129
+
130
+ This gives a desktop modal an 832px preferred width and a phone modal an 8px edge gutter with a `calc(100dvh - 16px)` height
131
+ cap without application selectors on Kerf roots. A cap is not a fixed
132
+ height: short content stays naturally sized, and taller content scrolls in the
133
+ dialog body while its header/footer remain outside that scroll owner. Choosing a larger cap cannot guarantee that arbitrary content
134
+ fits without scrolling; preview tracks, canvas aspect ratios and content sizing
135
+ remain application-owned.
136
+
137
+ Responsive policy is explicit application state: read `deviceClass()` during
138
+ the render to choose the gutter, cap or presentation. For example use
139
+ `viewportGutter={remify(device.value.handset ? 8 : 16)}` with `maxHeight="viewport"`.
140
+ The scaffold introduces no hidden breakpoint or automatic fullscreen switch.
141
+ An application can configure device-class breakpoints when its phone policy
142
+ differs from the default. Prefer a typed cap such as `maxHeight={remify(640)}`
143
+ when the modal should stop growing before the viewport bound.
144
+
145
+ ### Bottom sheets
146
+
147
+ `presentation="bottom-sheet"` attaches the dialog to the bottom edge of the
148
+ screen instead of centering it, the way a phone presents a compose or quick
149
+ edit sheet. The default `modal` presentation is unchanged.
150
+
151
+ - **Geometry.** The panel rests on the viewport's block-end edge. Its top
152
+ corners keep the dialog radius and its bottom corners are square. It is
153
+ full width on a phone and the `size` / `preferredWidth` width, centered, on
154
+ a wider screen.
155
+ - **Safe area and keyboard.** The panel runs to the edge, behind the home
156
+ indicator and any virtual keyboard, while a block-end padding keeps its
157
+ content above them. The padding is the largest of
158
+ `--kui-safe-area-block-end`, the keyboard overlap `openDialog` measures from
159
+ `visualViewport` (layout height minus the visual viewport's height and top
160
+ offset, ignored while pinch-zoomed), and the VirtualKeyboard API's
161
+ `env(keyboard-inset-height)`. A page whose viewport meta sets
162
+ `interactive-widget=resizes-content` shrinks the layout viewport instead, so
163
+ the measured overlap is zero and the sheet simply follows the dynamic
164
+ viewport. Kerf never sets `navigator.virtualKeyboard.overlaysContent`; an
165
+ application that opts into it gets the `env()` value for free.
166
+ - **Height.** `height`, `minHeight`, and `maxHeight` measure the visible
167
+ content height above that clearance. `height` is the opening height
168
+ (omit it to size to content), and `maxHeight` caps it. The panel never
169
+ exceeds the dynamic viewport minus the top safe area and one
170
+ `viewportGutter` (16px by default), so a tall keyboard shrinks the content
171
+ rather than pushing the sheet off the top.
172
+ - **Resizing.** `resizable` adds a grabber at the top edge: a focusable
173
+ horizontal `separator` named "Resize sheet" with `aria-valuemin`,
174
+ `aria-valuenow`, and `aria-valuemax` in visible px. Drag it, or use the
175
+ arrow keys (16px), Page Up/Down (64px), Home (`minHeight`, default 160px),
176
+ and End (the cap). The grabber sits at the panel's top edge, outside the
177
+ body, so it never disturbs `bodyLayout` children, and the resized height
178
+ survives a re-render while the sheet is open. Each opening starts again at
179
+ `height`.
180
+ - **Motion.** The sheet slides up from the bottom edge when it opens and back
181
+ down when it is dismissed. `enterMotion="standard"` or
182
+ `exitMotion="standard"` keeps the dialog's scale-and-fade for that
183
+ transition. There is no motion under `prefers-reduced-motion: reduce` or
184
+ the document's static effects mode (`:root[data-kui-effects="static"]`). A
185
+ refused close still pulses.
186
+
187
+ ```tsx
188
+ import { remify } from '@kerfjs/ui/css-values';
189
+ import { DialogSurface } from '@kerfjs/ui/surface-scaffold';
190
+
191
+ <DialogSurface id="new-message" label="New Message" lightDismiss presentation="bottom-sheet" height={remify(360)} minHeight={remify(200)} resizable bodyInset="none">
192
+ {/* Application-owned fields */}
193
+ </DialogSurface>;
194
+ ```
195
+
196
+ `openDialog` wires the resize grabber, keyboard clearance, and slide.
197
+ `preferredWidth`, `bodyLayout`, the floating header and footer, and the
198
+ insets compose with a bottom sheet as they do with a modal.
199
+
200
+ ### Core dialogs as bottom sheets
201
+
202
+ The core `kerfjs/overlay` surfaces (`overlay()` and the `confirm`, `prompt`,
203
+ `form`, and `choice` promise dialogs) take `presentation: 'bottom-sheet'`, but
204
+ the core ships no CSS. Import `@kerfjs/ui/overlay-sheet.css` once to give
205
+ them this package's bottom-sheet geometry:
206
+
207
+ - the bottom edge, full width up to 560px and centered beyond;
208
+ - square bottom corners under the dialog radius;
209
+ - the 8px surface inset, padded at the block end by the larger of the safe
210
+ area and the `--kerf-keyboard-inset` the core publishes;
211
+ - a cap below the top safe area;
212
+ - a slide up as it opens.
213
+
214
+ Pass `exitClass: 'kui-overlay-sheet-exit'` (with an `exitDuration` cap such as
215
+ `400`) to slide it back down as it closes. The stylesheet covers the plain
216
+ host and `native: true`, honors reduced motion and the static-effects switch,
217
+ and paints `Canvas` in forced colors.
218
+
219
+ The core renders bare default markup, so compose the content from components
220
+ through the dialog's `render` slot and spread the wiring slots onto native
221
+ buttons:
222
+
223
+ ```tsx
224
+ import "@kerfjs/ui/overlay-sheet.css";
225
+
226
+ confirm("Discard this draft?", {
227
+ presentation: "bottom-sheet",
228
+ exitClass: "kui-overlay-sheet-exit",
229
+ exitDuration: 400,
230
+ render: ({ message, ok, cancel }) => (
231
+ <List gap="xs">
232
+ <Toolbar label="Discard Draft" leading={<ToolbarText text="Discard Draft" size="xlarge" headingLevel={2} />} />
233
+ <ListInsetText>{message}</ListInsetText>
234
+ <Row hAlign="right" controlInsets="rl">
235
+ <ToolbarControlGroup label="Discard Draft Actions" content="text">
236
+ <button type="button" {...cancel}>Keep Editing</button>
237
+ <button type="button" {...ok}>Discard</button>
238
+ </ToolbarControlGroup>
239
+ </Row>
240
+ </List>
241
+ ),
242
+ });
243
+ ```
244
+
245
+ The wired controls can be native buttons, as here, or Web Awesome buttons.
246
+ With kerfjs 5.0 or later, the core holds focus on the sheet until a Web
247
+ Awesome OK button has rendered, then moves focus to it. On kerfjs 4.x, use
248
+ native buttons for the wired controls: the core's first focus reaches a Web
249
+ Awesome button before it has rendered and aborts the open.
250
+
251
+ A core sheet can also be resizable, like a `resizable` `DialogSurface` sheet.
252
+ Add the `kui-overlay-sheet-resizable` class next to the default wrapper class,
253
+ and call `wireOverlaySheets()` from `@kerfjs/ui/wire-overlay-sheets` once for
254
+ each container sheets open in (`document.body`, the core's default):
255
+
256
+ ```tsx
257
+ import "@kerfjs/ui/overlay-sheet.css";
258
+ import { wireOverlaySheets } from "@kerfjs/ui/wire-overlay-sheets";
259
+
260
+ const stopSheets = wireOverlaySheets();
261
+
262
+ overlay(<UpNext />, {
263
+ className: "kerf-overlay kui-overlay-sheet-resizable",
264
+ presentation: "bottom-sheet",
265
+ });
266
+ ```
267
+
268
+ Each such sheet gets the same grabber at its top edge: a `role="separator"`
269
+ that resizes the visible height by drag, the arrow keys (16px), Page Up/Down
270
+ (64px), Home (the minimum), and End (the cap), and reports that height as its
271
+ ARIA values. The minimum is `--kui-overlay-sheet-min-height` (160px). The
272
+ sheet opens at its content height every time. The grabber sticks to the top
273
+ edge while the content scrolls, and stays the sheet's first child (and first
274
+ tab stop) across re-renders of the overlay's content. Compose the sheet's
275
+ content root as a block or column, since the grabber is its first child. The
276
+ wiring watches only the container's direct children, which is where the core
277
+ appends each overlay; call the disposer to remove every grabber.
278
+
279
+ ### Filling the dialog
280
+
281
+ `maxHeight` caps a modal that sizes to its content. A layout that fills the
282
+ dialog (a list-detail `SplitView`, a `Pane` with its own chrome and scroller)
283
+ needs a height to fill instead: set `height` to a branded length or
284
+ `"viewport"`. It is bounded exactly like `maxHeight` (the dynamic viewport minus
285
+ both gutters) and takes precedence over it. `bodyLayout="fill"` then gives the
286
+ body's whole height to its one child, which owns its own scrolling; the body
287
+ itself stops scrolling. Combine it with `bodyInset="none"`.
288
+
289
+ ```tsx
290
+ <DialogSurface label="Repository Status" size="large" height={remify(640)} viewportGutter={remify(8)} bodyInset="none" bodyLayout="fill">
291
+ <SplitView id="repo-split" label="Changes" listWidth={{ size: 432, maxFraction: 0.5 }} list={list} detail={detail} />
292
+ </DialogSurface>;
293
+ ```
294
+
295
+ ### Chat dialogs: a floating footer over a filling transcript
296
+
297
+ A chat-style dialog keeps a heading or notices above one scrolling transcript
298
+ and floats its composer over the body's block end. Two props compose it:
299
+
300
+ - `bodyLayout="fill-last"` stacks the body's children: the leading children
301
+ keep their natural height, and the last one takes the remaining height and
302
+ owns its scrolling (a `scrollable` `List` transcript). The body itself stops
303
+ scrolling. `PopoverDialogSurface` accepts the same layout.
304
+ - `footerPresentation="floating"` lays the footer over the body's block end,
305
+ `footerOffset` (a branded `CssLength`, default the 16px container inset)
306
+ from the panel's inline and block-end edges, on a transparent background.
307
+ The modal panel is its positioning context. The default `docked` footer
308
+ sits below the body as before.
309
+
310
+ An open dialog measures its footer (it follows a composer that grows, wraps,
311
+ or hides) and the body reserves that height plus the offset after its own inset,
312
+ with a matching `scroll-padding`. Flowing body content scrolls beneath the
313
+ floating footer and its end stays reachable above it; with `fill` or
314
+ `fill-last` the filling child's scrollport ends at the footer's top. Content
315
+ is never hidden beneath the footer.
316
+
317
+ To let a filling transcript scroll visibly beneath the floating footer, opt
318
+ its scroller in with `scrollClearance="block-end"` (a `scrollable` `List`, or a
319
+ `Pane`, as the `fill` or last `fill-last` child). The body then stops
320
+ reserving the footer below that child, so the child reaches the panel's block
321
+ end, and publishes the footer's clearance (measured height plus offset) as the
322
+ inherited `--kui-scroll-clearance-block-end` context. The child adds it to its
323
+ own block-end padding and `scroll-padding`: messages pass beneath the
324
+ transparent footer mid-scroll, the last message rests above the composer at
325
+ the end, and focus or `scrollIntoView` never leaves an item hidden beneath it.
326
+ The context is general: chrome that overlays a region's block-start or
327
+ block-end edge publishes `--kui-scroll-clearance-block-start` / `-end`, and a
328
+ scroll owner opts in per edge (see `docs/layout.md` "Scroll clearance"). A
329
+ dialog body clears any clearance inherited from the page.
330
+
331
+ Choose the offset like any other responsive value: the scaffold adds no
332
+ breakpoint. An 8px offset lines a composer up with the transcript's
333
+ content-item edges when the body has `bodyInset="none"` and list geometry;
334
+ `viewportGutter` and `footerOffset` can follow `deviceClass()` when a phone
335
+ needs tighter edges. Put a [`MessageComposer`](./message-composer.md) in the floating footer
336
+ with `footerInset="none"`: its raised frame and shadow lift it over the
337
+ transcript, and its field grows the measured footer. With `submitOnEnter` and
338
+ `wireMessageComposers(root)`, Enter sends through the same action as the Send button.
339
+
340
+ ```tsx
341
+ <DialogSurface
342
+ label="Assistant"
343
+ height={remify(560)}
344
+ viewportGutter={remify(8)}
345
+ bodyInset="none"
346
+ bodyLayout="fill-last"
347
+ footerPresentation="floating"
348
+ footerOffset={remify(8)}
349
+ footerInset="none"
350
+ footer={<MessageComposer submitOnEnter id="assistant-message" name="message" label="Message" placeholder="Ask about this build" trailing={<Button tone="brand" action="send-message">Send</Button>} />}
351
+ >
352
+ <StateBanner title="Answers use the latest nightly build." tone="neutral" />
353
+ <List gap="xs" controlInsets="tb" scrollable scrollClearance="block-end">
354
+ {messages.map((message) => (
355
+ <ContentItem bubble={message.mine ? 'end' : 'start'} appearance={message.mine ? 'brand-loud' : 'neutral'}>
356
+ <Text variant="span">{message.text}</Text>
357
+ </ContentItem>
358
+ ))}
359
+ </List>
360
+ </DialogSurface>;
361
+ ```
362
+
363
+ ### A floating title bar
364
+
365
+ `headerPresentation="floating"` lays the dialog's header (its title and close
366
+ control) over the body's block-start edge on the translucent chrome material,
367
+ `--kui-chrome-material-raised` (the raised panel surface at 80% opacity)
368
+ behind `--kui-chrome-material-filter` (a blur and saturation backdrop filter).
369
+ Content passing beneath the title bar reads as softened color, not as
370
+ competing text. The default `docked` header sits above the body as before.
371
+
372
+ An open dialog measures its header the same way it measures the footer (it
373
+ follows a title that wraps, text that grows, or a `withoutHeader` toggle).
374
+ The body reserves the measured height before its own inset, with a matching
375
+ `scroll-padding`, so flowing content starts below the title bar and scrolls
376
+ beneath it. Unmeasured (a dialog opened without `openDialog`), the header
377
+ stays docked rather than covering content.
378
+
379
+ To let a filling transcript scroll visibly beneath the title bar, make it the
380
+ body's only child (`bodyLayout="fill"`, or `fill-last` with no leading rows)
381
+ and opt its scroller in with block-start `scrollClearance`. The body then
382
+ stops reserving the header, so the child reaches the panel's block-start
383
+ edge, and publishes the header's height as `--kui-scroll-clearance-block-start`.
384
+ Leading `fill-last` rows (a notice above the transcript) keep the body's
385
+ reservation: they never sit beneath the title bar. Combined with a floating
386
+ composer and `scrollClearance="both"`, the transcript scrolls beneath both:
387
+
388
+ ```tsx
389
+ <DialogSurface
390
+ label="Release Thread"
391
+ heading={<ToolbarText text="Release Thread" size="xlarge" description="Engineering · 5.2 candidate" />}
392
+ height={remify(560)}
393
+ viewportGutter={remify(8)}
394
+ bodyInset="none"
395
+ bodyLayout="fill"
396
+ headerPresentation="floating"
397
+ footerPresentation="floating"
398
+ footerOffset={remify(8)}
399
+ footerInset="none"
400
+ footer={<MessageComposer submitOnEnter id="thread-message" name="message" label="Message" placeholder="Reply to the thread" trailing={<Button tone="brand" action="send-message">Send</Button>} />}
401
+ >
402
+ <List gap="xs" controlInsets="tb" scrollable scrollClearance="both">
403
+ {bubbles}
404
+ </List>
405
+ </DialogSurface>;
406
+ ```
407
+
408
+ Like a `Pane`'s overlay header, the title bar draws its divider as scroll
409
+ state: a 1px line along its bottom edge only while the body, or a filling
410
+ child that reaches beneath it, is scrolled away from its top, and none at
411
+ rest. The open dialog follows those scrollers (a nested scroller that starts
412
+ below the title bar never counts), and the line is an inset shadow, so it
413
+ never moves the header or the content.
414
+
415
+ The material turns opaque under `prefers-reduced-transparency: reduce` or
416
+ `prefers-contrast: more`, and where the browser lacks `backdrop-filter`; in
417
+ forced colors the header paints `Canvas` with a `CanvasText` bottom edge.
418
+
419
+ For a title with a short supporting line, pass a `ToolbarText` as the
420
+ `heading` (`heading={<ToolbarText text="Release Thread" size="xlarge" description="Engineering · 5.2 candidate" />}`).
421
+ On the floating title bar an untoned `ToolbarText` keeps AA by itself: its
422
+ title takes the normal text color and its description lifts halfway toward
423
+ it. Any other quiet copy you place there can fall below AA over the content
424
+ passing beneath it, so keep it in the body (see
425
+ [Accessibility › Chrome material](accessibility.md#chrome-material)).
426
+
427
+ Treat a dialog body as a `List` by default. When its rows or sections own their
428
+ standard list geometry, set `bodyInset="none"` so the dialog does not add a
429
+ second inset. Bare prose is still a list child: wrap it in `ListInsetText` so its
430
+ text edge receives the standard 8px margin + 1px transparent border + 8px
431
+ padding and aligns with bordered siblings. Reserve `compact` or `comfortable`
432
+ body insets for exceptional content that does not already have list/content-item
433
+ geometry.
434
+
435
+ ## Non-modal dialogs: `PopoverDialogSurface`
436
+
437
+ `DialogSurface` is modal: it makes the page inert until it closes. When a dialog
438
+ should leave the page interactive and close on Escape or a press outside (a
439
+ status panel, a quick inspector), render `PopoverDialogSurface` instead of a
440
+ hand-built popover with application chrome CSS. It is a native
441
+ `popover="auto"` section with `role="dialog"` that owns Kerf's dialog chrome
442
+ (raised surface, border, large radius and shadow, and a backdrop) and the
443
+ same geometry props as a modal `DialogSurface`: `size`, `preferredWidth`,
444
+ `viewportGutter` (16px by default), `height` / `maxHeight`, and `bodyLayout`
445
+ (`flow`, `fill`, or `fill-last`).
446
+ Name it with `label` or `labelledBy`. To give it an accessible description,
447
+ pass `describedBy`, the id of the element that holds the summary. It renders as
448
+ `aria-describedby` on the `role="dialog"` root and usually names a title
449
+ `ToolbarText`'s `descriptionId`:
450
+
451
+ ```tsx
452
+ <PopoverDialogSurface id="connection-details" labelledBy="connection-title" describedBy="connection-summary" bodyLayout="fill-last">
453
+ <Toolbar label="Connection Details Heading" leading={<ToolbarText text="Connection Details" size="xlarge" id="connection-title" description="Connected to the build server." descriptionId="connection-summary" />} />
454
+ {details}
455
+ </PopoverDialogSurface>;
456
+ ```
457
+
458
+ `DialogSurface` takes the same `describedBy` for a modal dialog.
459
+
460
+ Open it with a control's `popoverTarget` (or `showPopover()`); the browser
461
+ places it centered in the top layer, light-dismisses it, and restores nothing
462
+ else, so move focus into it with `autofocus` on its first control when that
463
+ matters. A closed surface stays hidden; only the open one lays out.
464
+ `presentation="embedded"` renders the same surface in flow, with no top
465
+ layer and never wider than its container, for a catalog specimen or an inline
466
+ preview.
467
+
468
+ ```tsx
469
+ <button type="button" popoverTarget="repository-status">Repository Status</button>
470
+ <PopoverDialogSurface id="repository-status" label="Repository Status" preferredWidth={remify(1024)} height={remify(640)} viewportGutter={remify(8)} bodyLayout="fill">
471
+ <SplitView id="repo-split" label="Changes" list={list} detail={detail} />
472
+ </PopoverDialogSurface>;
473
+ ```
474
+
475
+ Use `DialogSurface` whenever the task must block the page.
476
+
477
+ Wrap one `PopupMenu` (or another single `wa-dropdown`) with `PopupSurface`. `inset="list-zero"` removes menu
478
+ padding for a child that already owns row insets, `compact` uses 4px, and
479
+ `standard` uses the shared 8px surface inset. Keep the menu trigger named. A raw
480
+ `wa-dropdown` should keep `data-morph-skip-children` when its upgraded light-DOM
481
+ items must retain identity across Kerf rerenders; a `PopupMenu` already
482
+ protects its own open state from the morph.
483
+
484
+ `openDialog` installs the document listeners every `DialogSurface` needs
485
+ (close requests, motion, and, while each dialog is open, chrome measurement,
486
+ the floating header's divider, the bottom sheet's keyboard clearance and
487
+ grabber, and restoring that measured state after an application re-render).
488
+ Import `@kerfjs/ui/surface-scaffold/register` once when a dialog may be opened
489
+ without `openDialog` and should still take close requests. Rendering a
490
+ `DialogSurface` has no side effects and registers no custom element.