@kerfjs/ui 5.0.0-beta.49 → 5.0.0-beta.51

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 (319) hide show
  1. package/README.md +69 -15
  2. package/ai/catalog-authoring.json +12 -1
  3. package/ai/catalog-authoring.schema.json +49 -1
  4. package/ai/compile-time-contracts-v1.json +19 -2
  5. package/ai/compile-time-contracts-v1.schema.json +1 -0
  6. package/ai/component-catalog-v2-overrides.json +7 -0
  7. package/ai/component-catalog-v2.d.ts +19 -1
  8. package/ai/component-catalog-v2.json +920 -149
  9. package/ai/component-catalog-v2.schema.json +33 -1
  10. package/ai/component-catalog.json +689 -153
  11. package/ai/component-catalog.schema.json +21 -1
  12. package/ai/public-api-signatures-v1.md +404 -184
  13. package/ai/skill.md +31 -14
  14. package/ai/webawesome-jsx-signatures-v1.md +1 -1
  15. package/analyzer/index.mjs +105 -35
  16. package/dist/app-tab.d.ts +3 -1
  17. package/dist/app-tab.js +1 -1
  18. package/dist/badge.d.ts +24 -0
  19. package/dist/badge.js +3 -0
  20. package/dist/badge.js.map +1 -0
  21. package/dist/browser/badge.js +3 -0
  22. package/dist/browser/list-header.js +1 -0
  23. package/dist/browser/state-banner.js +1 -0
  24. package/dist/catalog-resources.d.ts +2 -2
  25. package/dist/catalog.d.ts +47 -125
  26. package/dist/catalog.js +429 -262
  27. package/dist/catalog.js.map +1 -1
  28. package/dist/{chunk-W2FK7ZNY.js → chunk-4R777DUZ.js} +10 -2
  29. package/dist/chunk-4R777DUZ.js.map +1 -0
  30. package/dist/{chunk-OMSRSL3B.js → chunk-5FZZMIMD.js} +6 -4
  31. package/dist/chunk-5FZZMIMD.js.map +1 -0
  32. package/dist/{chunk-AQFWBG23.js → chunk-5PMGQDG7.js} +5 -3
  33. package/dist/chunk-5PMGQDG7.js.map +1 -0
  34. package/dist/{chunk-SOK5EUF7.js → chunk-6ZXOQEAN.js} +4 -2
  35. package/dist/chunk-6ZXOQEAN.js.map +1 -0
  36. package/dist/{chunk-I4V3UDSA.js → chunk-7GUQYHKA.js} +25 -6
  37. package/dist/chunk-7GUQYHKA.js.map +1 -0
  38. package/dist/{chunk-XKFRMGMW.js → chunk-7IUSV4XG.js} +3 -1
  39. package/dist/chunk-7IUSV4XG.js.map +1 -0
  40. package/dist/{chunk-IU4QUY5I.js → chunk-AEPXGCNF.js} +20 -3
  41. package/dist/chunk-AEPXGCNF.js.map +1 -0
  42. package/dist/{chunk-VDUJZF5G.js → chunk-CMUIXJZM.js} +2 -2
  43. package/dist/{chunk-VDUJZF5G.js.map → chunk-CMUIXJZM.js.map} +1 -1
  44. package/dist/{chunk-DAO2VFTT.js → chunk-D547PH4L.js} +7 -5
  45. package/dist/chunk-D547PH4L.js.map +1 -0
  46. package/dist/{chunk-2TYUFZUC.js → chunk-D7GWXIAS.js} +4 -2
  47. package/dist/chunk-D7GWXIAS.js.map +1 -0
  48. package/dist/{chunk-E34TE2ZI.js → chunk-DVZCMMB3.js} +6 -4
  49. package/dist/chunk-DVZCMMB3.js.map +1 -0
  50. package/dist/{chunk-6NDBE2OK.js → chunk-E36EVCKG.js} +5 -3
  51. package/dist/chunk-E36EVCKG.js.map +1 -0
  52. package/dist/chunk-EKYZCRCX.js +256 -0
  53. package/dist/chunk-EKYZCRCX.js.map +1 -0
  54. package/dist/{chunk-TIGSG6BX.js → chunk-HJKRCKDR.js} +7 -3
  55. package/dist/chunk-HJKRCKDR.js.map +1 -0
  56. package/dist/{chunk-Y6LYKFXY.js → chunk-HMQ2ZDGG.js} +5 -3
  57. package/dist/chunk-HMQ2ZDGG.js.map +1 -0
  58. package/dist/{chunk-UDHHKZWO.js → chunk-JM53SMVF.js} +9 -5
  59. package/dist/chunk-JM53SMVF.js.map +1 -0
  60. package/dist/{chunk-OGTJNHRG.js → chunk-JMGKM7RK.js} +6 -4
  61. package/dist/chunk-JMGKM7RK.js.map +1 -0
  62. package/dist/{chunk-GYGM363P.js → chunk-KX7DP2GO.js} +17 -7
  63. package/dist/chunk-KX7DP2GO.js.map +1 -0
  64. package/dist/{chunk-OL4TC3U2.js → chunk-MO56ZZLG.js} +6 -2
  65. package/dist/chunk-MO56ZZLG.js.map +1 -0
  66. package/dist/{chunk-VXFGMDA7.js → chunk-MTM43SJO.js} +16 -2
  67. package/dist/chunk-MTM43SJO.js.map +1 -0
  68. package/dist/{chunk-ZPWZIVI6.js → chunk-N3GKMPDW.js} +7 -3
  69. package/dist/chunk-N3GKMPDW.js.map +1 -0
  70. package/dist/{chunk-DYBPI5O2.js → chunk-NDUGJ4TU.js} +4 -2
  71. package/dist/chunk-NDUGJ4TU.js.map +1 -0
  72. package/dist/{chunk-I45QO2IZ.js → chunk-NMGTHYW3.js} +7 -5
  73. package/dist/chunk-NMGTHYW3.js.map +1 -0
  74. package/dist/{chunk-WSXUPSID.js → chunk-NN6GYOA2.js} +7 -3
  75. package/dist/chunk-NN6GYOA2.js.map +1 -0
  76. package/dist/{chunk-OGNE3OFT.js → chunk-NZXWU4R5.js} +24 -3
  77. package/dist/chunk-NZXWU4R5.js.map +1 -0
  78. package/dist/{chunk-V6GQKOX2.js → chunk-O3RCCSQJ.js} +6 -4
  79. package/dist/chunk-O3RCCSQJ.js.map +1 -0
  80. package/dist/{chunk-WVLMZ5SG.js → chunk-S4QRSBFI.js} +25 -3
  81. package/dist/chunk-S4QRSBFI.js.map +1 -0
  82. package/dist/{chunk-CK6P5AUK.js → chunk-UBH743HV.js} +10 -7
  83. package/dist/chunk-UBH743HV.js.map +1 -0
  84. package/dist/{chunk-T7DOWS6T.js → chunk-ULCDZTWL.js} +7 -4
  85. package/dist/chunk-ULCDZTWL.js.map +1 -0
  86. package/dist/{chunk-V6HCTCVD.js → chunk-UPZ6EEJN.js} +9 -5
  87. package/dist/chunk-UPZ6EEJN.js.map +1 -0
  88. package/dist/{chunk-CAB6NQ2T.js → chunk-VOCPXGQN.js} +3 -1
  89. package/dist/chunk-VOCPXGQN.js.map +1 -0
  90. package/dist/chunk-XD7DWYXG.js +34 -0
  91. package/dist/chunk-XD7DWYXG.js.map +1 -0
  92. package/dist/{chunk-B6JYRX3P.js → chunk-ZIYOJFZD.js} +43 -4
  93. package/dist/chunk-ZIYOJFZD.js.map +1 -0
  94. package/dist/{chunk-EYALJQQD.js → chunk-ZK5EGVFP.js} +4 -2
  95. package/dist/chunk-ZK5EGVFP.js.map +1 -0
  96. package/dist/{chunk-6WTETUZ6.js → chunk-ZLWQZUGF.js} +8 -2
  97. package/dist/chunk-ZLWQZUGF.js.map +1 -0
  98. package/dist/collapsible-panel.d.ts +4 -2
  99. package/dist/collapsible-panel.js +4 -2
  100. package/dist/collapsible-panel.js.map +1 -1
  101. package/dist/css-values.d.ts +39 -3
  102. package/dist/css-values.js +1 -1
  103. package/dist/disclosure-arrow.d.ts +3 -1
  104. package/dist/disclosure-arrow.js +1 -1
  105. package/dist/empty-state.d.ts +3 -1
  106. package/dist/empty-state.js +1 -1
  107. package/dist/floating-toolbar.d.ts +3 -1
  108. package/dist/floating-toolbar.js +1 -1
  109. package/dist/grid.d.ts +17 -1
  110. package/dist/grid.js +2 -1
  111. package/dist/index.d.ts +4 -3
  112. package/dist/index.js +34 -33
  113. package/dist/list-action-row.d.ts +3 -1
  114. package/dist/list-action-row.js +1 -1
  115. package/dist/list-header.d.ts +6 -1
  116. package/dist/list-header.js +2 -1
  117. package/dist/list-inset-control.d.ts +3 -1
  118. package/dist/list-inset-control.js +1 -1
  119. package/dist/list-inset-text.d.ts +3 -1
  120. package/dist/list-inset-text.js +1 -1
  121. package/dist/list-item.d.ts +3 -1
  122. package/dist/list-item.js +1 -1
  123. package/dist/list.d.ts +23 -2
  124. package/dist/list.js +2 -1
  125. package/dist/loading-spinner.d.ts +3 -1
  126. package/dist/loading-spinner.js +1 -1
  127. package/dist/lucide-icon.d.ts +3 -1
  128. package/dist/lucide-icon.js +1 -1
  129. package/dist/nav-stack.d.ts +3 -1
  130. package/dist/nav-stack.js +1 -1
  131. package/dist/pane.d.ts +19 -2
  132. package/dist/pane.js +1 -1
  133. package/dist/resizable-region.d.ts +5 -2
  134. package/dist/resizable-region.js +1 -1
  135. package/dist/row.d.ts +21 -1
  136. package/dist/row.js +2 -1
  137. package/dist/segmented-control.d.ts +3 -1
  138. package/dist/segmented-control.js +1 -1
  139. package/dist/select.d.ts +16 -4
  140. package/dist/select.js +1 -1
  141. package/dist/skeleton.d.ts +3 -1
  142. package/dist/skeleton.js +1 -1
  143. package/dist/spacer.d.ts +3 -1
  144. package/dist/spacer.js +1 -1
  145. package/dist/split-view.d.ts +3 -1
  146. package/dist/split-view.js +24 -5
  147. package/dist/split-view.js.map +1 -1
  148. package/dist/state-banner.d.ts +3 -1
  149. package/dist/state-banner.js +2 -1
  150. package/dist/styles/badge.css +86 -0
  151. package/dist/styles/catalog/components/catalog-detail.css +35 -0
  152. package/dist/styles/catalog/components/catalog-example-stack.css +9 -0
  153. package/dist/styles/catalog/components/catalog-example.css +180 -0
  154. package/dist/styles/catalog/components/catalog-resource-footer.css +37 -0
  155. package/dist/styles/catalog/components/catalog-secondary-sections.css +38 -0
  156. package/dist/styles/catalog/components/catalog-section-list.css +22 -0
  157. package/dist/styles/catalog/components/catalog-sidebar.css +82 -0
  158. package/dist/styles/catalog/components/catalog-stage.css +60 -0
  159. package/dist/styles/catalog/components/catalog.css +22 -0
  160. package/dist/styles/catalog.css +10 -587
  161. package/dist/styles/collapsible-panel.css +132 -4
  162. package/dist/styles/document.css +23 -0
  163. package/dist/styles/foundation.css +21 -7
  164. package/dist/styles/grid.css +10 -0
  165. package/dist/styles/list-header.css +49 -60
  166. package/dist/styles/list-inset-control.css +8 -1
  167. package/dist/styles/list-item.css +6 -0
  168. package/dist/styles/list.css +11 -0
  169. package/dist/styles/nav-stack.css +89 -2
  170. package/dist/styles/pane.css +86 -1
  171. package/dist/styles/resizable-region.css +117 -5
  172. package/dist/styles/row.css +10 -0
  173. package/dist/styles/select.css +39 -7
  174. package/dist/styles/split-view.css +108 -2
  175. package/dist/styles/state-banner.css +0 -27
  176. package/dist/styles/styles.css +1 -0
  177. package/dist/styles/tab-bar.css +6 -1
  178. package/dist/styles/tab-scaffold.css +64 -1
  179. package/dist/styles/text.css +10 -0
  180. package/dist/styles/token-search-field.css +5 -40
  181. package/dist/styles/toolbar-control-group.css +198 -25
  182. package/dist/styles/toolbar-text.css +8 -1
  183. package/dist/styles/toolbar.css +169 -5
  184. package/dist/styles/webawesome.css +70 -9
  185. package/dist/styles/workbench.css +136 -4
  186. package/dist/sunken-panel.d.ts +3 -1
  187. package/dist/sunken-panel.js +1 -1
  188. package/dist/surface-scaffold.d.ts +6 -2
  189. package/dist/surface-scaffold.js +1 -1
  190. package/dist/tab-bar.d.ts +8 -1
  191. package/dist/tab-bar.js +1 -1
  192. package/dist/tab-scaffold.d.ts +3 -1
  193. package/dist/tab-scaffold.js +3 -1
  194. package/dist/tab-scaffold.js.map +1 -1
  195. package/dist/text.d.ts +9 -5
  196. package/dist/text.js +1 -1
  197. package/dist/token-search-field.d.ts +5 -1
  198. package/dist/token-search-field.js +1 -1
  199. package/dist/toolbar-control-group.d.ts +33 -3
  200. package/dist/toolbar-control-group.js +1 -1
  201. package/dist/toolbar-text.d.ts +3 -1
  202. package/dist/toolbar-text.js +1 -1
  203. package/dist/toolbar.d.ts +30 -1
  204. package/dist/toolbar.js +1 -1
  205. package/dist/types-CEsieBZi.d.ts +69 -0
  206. package/dist/value-table.d.ts +6 -2
  207. package/dist/value-table.js +1 -1
  208. package/dist/wire-resizable-regions.js +1 -1
  209. package/dist/wire-sidebar.d.ts +18 -3
  210. package/dist/wire-sidebar.js +95 -14
  211. package/dist/wire-sidebar.js.map +1 -1
  212. package/dist/wire-token-search-fields.js +1 -1
  213. package/dist/workbench.d.ts +3 -1
  214. package/dist/workbench.js +3 -1
  215. package/dist/workbench.js.map +1 -1
  216. package/docs/accessibility.md +56 -9
  217. package/docs/app-layouts.md +73 -0
  218. package/docs/catalog.md +48 -9
  219. package/docs/collapsible-panel.md +81 -8
  220. package/docs/component-contract.md +96 -28
  221. package/docs/component-integration.md +9 -4
  222. package/docs/component-selection.md +36 -15
  223. package/docs/design/templates/list/stack-dark.svg +1 -1
  224. package/docs/design/templates/list/stack.svg +1 -1
  225. package/docs/design/templates/list-dark.svg +1 -1
  226. package/docs/design/templates/list-header/action-dark.svg +1 -1
  227. package/docs/design/templates/list-header/action.svg +1 -1
  228. package/docs/design/templates/list-header/count-dark.svg +1 -1
  229. package/docs/design/templates/list-header/count.svg +1 -1
  230. package/docs/design/templates/list-header/inline-action-dark.svg +1 -1
  231. package/docs/design/templates/list-header/inline-action.svg +1 -1
  232. package/docs/design/templates/list-header/toggle-expanded-dark.svg +1 -1
  233. package/docs/design/templates/list-header/toggle-expanded.svg +1 -1
  234. package/docs/design/templates/list-header-dark.svg +1 -1
  235. package/docs/design/templates/list-header.svg +1 -1
  236. package/docs/design/templates/list.svg +1 -1
  237. package/docs/design/templates/state-banner/info-badge-dark.svg +1 -1
  238. package/docs/design/templates/state-banner/info-badge.svg +1 -1
  239. package/docs/design/templates/state-banner-dark.svg +1 -1
  240. package/docs/design/templates/state-banner.svg +1 -1
  241. package/docs/design/templates/toolbar/title-and-actions-dark.svg +1 -1
  242. package/docs/design/templates/toolbar/title-and-actions.svg +1 -1
  243. package/docs/design/templates/toolbar-control-group/with-text-dark.svg +1 -1
  244. package/docs/design/templates/toolbar-control-group/with-text.svg +1 -1
  245. package/docs/design/templates/toolbar-control-group-dark.svg +1 -1
  246. package/docs/design/templates/toolbar-control-group.svg +1 -1
  247. package/docs/design/templates/toolbar-dark.svg +1 -1
  248. package/docs/design/templates/toolbar-text/default-dark.svg +1 -1
  249. package/docs/design/templates/toolbar-text/default.svg +1 -1
  250. package/docs/design/templates/toolbar-text/large-dark.svg +1 -1
  251. package/docs/design/templates/toolbar-text/large.svg +1 -1
  252. package/docs/design/templates/toolbar-text/small-dark.svg +1 -1
  253. package/docs/design/templates/toolbar-text/small.svg +1 -1
  254. package/docs/design/templates/toolbar-text-dark.svg +1 -1
  255. package/docs/design/templates/toolbar-text.svg +1 -1
  256. package/docs/design/templates/toolbar.svg +1 -1
  257. package/docs/design-philosophy.md +6 -5
  258. package/docs/document-baseline.md +31 -0
  259. package/docs/layout.md +86 -21
  260. package/docs/nav-stack.md +8 -0
  261. package/docs/recipes.md +78 -43
  262. package/docs/split-view.md +8 -0
  263. package/docs/tab-scaffold.md +4 -2
  264. package/docs/type-contracts.md +21 -16
  265. package/docs/ui-analyzer.md +19 -0
  266. package/docs/ui-evaluator.md +17 -0
  267. package/docs/ux-demo.md +8 -8
  268. package/docs/webawesome-theme.md +25 -6
  269. package/docs/workbench.md +20 -1
  270. package/evaluator/index.mjs +73 -8
  271. package/llms.txt +61 -23
  272. package/package.json +12 -3
  273. package/ux-demo/recipes/app-shell.tsx +244 -184
  274. package/ux-demo/recipes/collapsible-sidebar.tsx +175 -116
  275. package/ux-demo/recipes/compact-toolbar.tsx +119 -102
  276. package/ux-demo/recipes/composer-form.tsx +79 -69
  277. package/ux-demo/recipes/list-detail-dialog.tsx +120 -136
  278. package/ux-demo/recipes/list-workspace-states.tsx +85 -79
  279. package/ux-demo/recipes/loaders.ts +5 -2
  280. package/ux-demo/recipes/loading-inspector.tsx +151 -134
  281. package/ux-demo/recipes/navigation-sidebar.tsx +93 -80
  282. package/ux-demo/recipes/navigation-stack.tsx +33 -22
  283. package/ux-demo/recipes/types.ts +14 -0
  284. package/ux-demo/recipes/workspace-header.tsx +73 -57
  285. package/dist/chunk-2TYUFZUC.js.map +0 -1
  286. package/dist/chunk-6NDBE2OK.js.map +0 -1
  287. package/dist/chunk-6WTETUZ6.js.map +0 -1
  288. package/dist/chunk-AQFWBG23.js.map +0 -1
  289. package/dist/chunk-B6JYRX3P.js.map +0 -1
  290. package/dist/chunk-CAB6NQ2T.js.map +0 -1
  291. package/dist/chunk-CK6P5AUK.js.map +0 -1
  292. package/dist/chunk-DAO2VFTT.js.map +0 -1
  293. package/dist/chunk-DYBPI5O2.js.map +0 -1
  294. package/dist/chunk-E34TE2ZI.js.map +0 -1
  295. package/dist/chunk-EYALJQQD.js.map +0 -1
  296. package/dist/chunk-GYGM363P.js.map +0 -1
  297. package/dist/chunk-I45QO2IZ.js.map +0 -1
  298. package/dist/chunk-I4V3UDSA.js.map +0 -1
  299. package/dist/chunk-IU4QUY5I.js.map +0 -1
  300. package/dist/chunk-OGNE3OFT.js.map +0 -1
  301. package/dist/chunk-OGTJNHRG.js.map +0 -1
  302. package/dist/chunk-OL4TC3U2.js.map +0 -1
  303. package/dist/chunk-OMSRSL3B.js.map +0 -1
  304. package/dist/chunk-SOK5EUF7.js.map +0 -1
  305. package/dist/chunk-T7DOWS6T.js.map +0 -1
  306. package/dist/chunk-TIGSG6BX.js.map +0 -1
  307. package/dist/chunk-UDHHKZWO.js.map +0 -1
  308. package/dist/chunk-V6GQKOX2.js.map +0 -1
  309. package/dist/chunk-V6HCTCVD.js.map +0 -1
  310. package/dist/chunk-VXFGMDA7.js.map +0 -1
  311. package/dist/chunk-W2FK7ZNY.js.map +0 -1
  312. package/dist/chunk-WN52USHV.js +0 -115
  313. package/dist/chunk-WN52USHV.js.map +0 -1
  314. package/dist/chunk-WSXUPSID.js.map +0 -1
  315. package/dist/chunk-WVLMZ5SG.js.map +0 -1
  316. package/dist/chunk-XKFRMGMW.js.map +0 -1
  317. package/dist/chunk-Y6LYKFXY.js.map +0 -1
  318. package/dist/chunk-ZPWZIVI6.js.map +0 -1
  319. package/ux-demo/recipes/recipes.css +0 -453
@@ -1,453 +0,0 @@
1
- .kui-recipe {
2
- width: 100%;
3
- min-width: 0;
4
- color: var(--kui-color-text);
5
- container-type: inline-size;
6
- }
7
- .kui-recipe button {
8
- font: inherit;
9
- }
10
- .kui-recipe__button {
11
- min-height: 2rem;
12
- padding: var(--kui-space-xs) var(--kui-space-s);
13
- border: 1px solid var(--kui-color-border);
14
- border-radius: var(--kui-radius-m);
15
- color: var(--kui-color-text);
16
- background: var(--kui-color-surface);
17
- cursor: pointer;
18
- }
19
- .kui-recipe__button[data-primary="true"] {
20
- color: var(--kui-color-brand-on-normal);
21
- border-color: var(--kui-color-brand-border-normal);
22
- background: var(--kui-color-brand-fill-normal);
23
- }
24
- .kui-recipe__button:focus-visible {
25
- outline: var(--kui-focus-ring);
26
- outline-offset: 2px;
27
- }
28
- .kui-recipe__surface {
29
- min-width: 0;
30
- overflow: hidden;
31
- border: 1px solid var(--kui-color-border);
32
- border-radius: var(--kui-radius-l);
33
- background: var(--kui-color-surface);
34
- box-shadow: var(--kui-shadow-s);
35
- }
36
- .kui-recipe__pane-title {
37
- margin: 0;
38
- font-size: var(--kui-font-s);
39
- }
40
- .kui-recipe__muted {
41
- color: var(--kui-color-text-quiet);
42
- font-size: var(--kui-font-s);
43
- }
44
- .kui-recipe__ownership {
45
- margin: 0;
46
- color: var(--kui-color-text-quiet);
47
- font-size: var(--kui-font-xs);
48
- }
49
-
50
- .recipe-shell {
51
- display: grid;
52
- height: min(37rem, 70vh);
53
- grid-template-rows: auto minmax(0, 1fr);
54
- }
55
- .recipe-shell__body {
56
- display: flex;
57
- min-width: 0;
58
- min-height: 0;
59
- }
60
- .recipe-shell__toolbar-actions {
61
- display: flex;
62
- min-width: 0;
63
- align-items: center;
64
- }
65
- .recipe-shell__responsive-controls {
66
- display: none;
67
- }
68
- .recipe-shell__nav,
69
- .recipe-shell__inspector {
70
- min-height: 0;
71
- background: var(--kui-color-surface);
72
- }
73
- .recipe-shell__nav-list,
74
- .recipe-shell__inspector-body,
75
- .recipe-shell__main-body {
76
- min-height: 0;
77
- }
78
- .recipe-shell__main {
79
- display: grid;
80
- min-width: 16rem;
81
- min-height: 0;
82
- flex: 1;
83
- grid-template-rows: auto minmax(0, 1fr);
84
- background: var(--kui-color-surface-lowered);
85
- }
86
- .recipe-shell__cards {
87
- display: grid;
88
- grid-template-columns: repeat(2, minmax(0, 1fr));
89
- gap: var(--kui-layout-content-gap);
90
- }
91
- .recipe-shell__card {
92
- --kui-content-item-border: var(--kui-color-border-quiet);
93
- --kui-content-item-background: var(--kui-color-surface);
94
- }
95
-
96
- .recipe-sidebar {
97
- display: grid;
98
- width: min(22rem, 100%);
99
- min-height: 32rem;
100
- margin-inline: auto;
101
- grid-template-rows: minmax(0, 1fr) auto;
102
- }
103
- .recipe-sidebar__body {
104
- min-height: 0;
105
- }
106
- .recipe-sidebar__footer {
107
- border-block-start: 1px solid var(--kui-color-border);
108
- }
109
-
110
- .recipe-header {
111
- min-height: 20rem;
112
- }
113
- .recipe-header__context {
114
- margin: 0;
115
- }
116
-
117
- .recipe-list-detail {
118
- display: grid;
119
- width: 100%;
120
- min-height: 25rem;
121
- grid-template-columns: minmax(13rem, 0.8fr) minmax(18rem, 1.4fr);
122
- }
123
- .recipe-list-detail__list {
124
- border-inline-end: 1px solid var(--kui-color-border);
125
- }
126
- .recipe-list-detail__detail {
127
- min-width: 0;
128
- }
129
- .recipe-list-detail__body {
130
- padding-block: var(--kui-layout-item-gap);
131
- }
132
- .recipe-list-detail__title {
133
- margin-inline: var(--kui-layout-inline-margin, remify(8px));
134
- }
135
- .recipe-list-detail__actions {
136
- margin-inline: var(--kui-layout-inline-margin, remify(8px));
137
- }
138
- .recipe-dialog {
139
- --spacing: 0;
140
- --width: min(62rem, calc(100vw - 2rem));
141
- }
142
- .kui-recipe__heading-summary {
143
- min-width: 0;
144
- margin: 0 var(--kui-layout-inline-margin, remify(8px));
145
- overflow: hidden;
146
- color: var(--kui-color-text-quiet);
147
- text-overflow: ellipsis;
148
- white-space: nowrap;
149
- }
150
-
151
- .recipe-form {
152
- width: min(38rem, 100%);
153
- margin-inline: auto;
154
- padding-block: var(--kui-layout-item-gap);
155
- }
156
- .recipe-form__section {
157
- display: grid;
158
- min-width: 0;
159
- margin-inline: var(--kui-layout-inline-margin, remify(8px));
160
- gap: var(--kui-layout-item-gap);
161
- }
162
- .recipe-form__fields {
163
- align-content: start;
164
- }
165
- .recipe-form__fields wa-input::part(form-control-label),
166
- .recipe-form__fields wa-input::part(hint),
167
- .recipe-form__fields wa-textarea::part(form-control-label),
168
- .recipe-form__fields wa-textarea::part(hint),
169
- .recipe-form__fields .kui-select::part(form-control-label) {
170
- padding-inline: remify(8px);
171
- }
172
- .recipe-form__fields wa-textarea::part(textarea) {
173
- padding-inline: remify(8px);
174
- }
175
- .recipe-form__footer {
176
- align-content: start;
177
- }
178
-
179
- .recipe-list {
180
- display: grid;
181
- min-height: 27rem;
182
- grid-template-rows: auto minmax(0, 1fr);
183
- }
184
- .recipe-list__body {
185
- min-height: 0;
186
- }
187
- .recipe-list__items {
188
- display: grid;
189
- margin: 0 var(--kui-layout-inline-margin);
190
- padding: var(--kui-layout-item-padding);
191
- border: var(--kui-layout-item-border-width) solid
192
- var(--kui-color-border-quiet);
193
- border-radius: var(--kui-layout-rounded-radius);
194
- background: var(--kui-color-surface);
195
- list-style: none;
196
- }
197
- .recipe-list__items li {
198
- display: grid;
199
- padding: var(--kui-layout-item-padding);
200
- border-block-end: 1px solid var(--kui-color-border-quiet);
201
- gap: var(--kui-layout-metadata-gap);
202
- }
203
- .recipe-list__items li:last-child {
204
- border-block-end: 0;
205
- }
206
-
207
- .recipe-compact-toolbar {
208
- display: flex;
209
- flex-direction: column;
210
- gap: var(--kui-layout-content-gap);
211
- }
212
- .recipe-compact-toolbar__guide {
213
- /* Span the toolbar's full width instead of the 8px content-item inset — under a
214
- full-bleed toolbar/divider the inset read as the boxes floating too far in. */
215
- display: grid;
216
- grid-template-columns: repeat(4, minmax(0, 1fr));
217
- margin-inline: 0;
218
- gap: var(--kui-layout-control-gap);
219
- }
220
- .recipe-compact-toolbar__guide > div {
221
- padding: var(--kui-layout-item-padding);
222
- border: var(--kui-layout-item-border-width) solid
223
- var(--kui-color-border-quiet);
224
- border-radius: var(--kui-layout-rounded-radius);
225
- }
226
- .recipe-compact-toolbar__guide strong,
227
- .recipe-compact-toolbar__guide span {
228
- display: block;
229
- }
230
-
231
- @container (max-width: 44rem) {
232
- .recipe-shell__inspector-region {
233
- display: none;
234
- }
235
- .recipe-shell__responsive-controls {
236
- display: inline-flex;
237
- }
238
- .recipe-shell[data-responsive-pane="inspector"] .recipe-shell__nav-region,
239
- .recipe-shell[data-responsive-pane="inspector"] .recipe-shell__main {
240
- display: none;
241
- }
242
- .recipe-shell[data-responsive-pane="inspector"]
243
- .recipe-shell__inspector-region {
244
- display: flex;
245
- min-width: 0;
246
- flex: 1;
247
- }
248
- .recipe-shell[data-responsive-pane="inspector"]
249
- .recipe-shell__inspector-region
250
- .kui-resizable-region {
251
- width: 100%;
252
- flex: 1;
253
- }
254
- .recipe-shell[data-responsive-pane="inspector"]
255
- .recipe-shell__inspector-region
256
- .kui-resizable-region__handle {
257
- display: none;
258
- }
259
- .recipe-shell__responsive-controls [data-recipe-command="show-navigation"] {
260
- display: none;
261
- }
262
- .recipe-shell__cards,
263
- .recipe-compact-toolbar__guide {
264
- grid-template-columns: 1fr 1fr;
265
- }
266
- .recipe-list-detail {
267
- grid-template-columns: 1fr;
268
- }
269
- .recipe-list-detail__list {
270
- border-inline-end: 0;
271
- border-block-end: 1px solid var(--kui-color-border);
272
- }
273
- .recipe-compact-toolbar .kui-toolbar {
274
- height: auto;
275
- grid-template-columns: minmax(0, 1fr);
276
- grid-template-areas: "leading" "center" "trailing";
277
- row-gap: var(--kui-toolbar-gap);
278
- }
279
- .recipe-compact-toolbar .kui-toolbar__leading {
280
- grid-area: leading;
281
- padding-inline-end: 0;
282
- }
283
- .recipe-compact-toolbar .kui-toolbar__center {
284
- grid-area: center;
285
- }
286
- .recipe-compact-toolbar .kui-toolbar__trailing {
287
- grid-area: trailing;
288
- justify-content: flex-start;
289
- }
290
- .recipe-compact-toolbar .kui-toolbar__trailing > .kui-control-cluster {
291
- width: 100%;
292
- }
293
- .recipe-compact-toolbar .kui-toolbar__trailing wa-select {
294
- min-width: min(12rem, 100%);
295
- flex: 1 1 12rem;
296
- }
297
- }
298
-
299
- @container (max-width: 28rem) {
300
- .recipe-shell__nav-region {
301
- display: none;
302
- }
303
- .recipe-shell[data-responsive-pane="navigation"] .recipe-shell__main,
304
- .recipe-shell[data-responsive-pane="navigation"]
305
- .recipe-shell__inspector-region {
306
- display: none;
307
- }
308
- .recipe-shell[data-responsive-pane="navigation"] .recipe-shell__nav-region {
309
- display: flex;
310
- min-width: 0;
311
- flex: 1;
312
- }
313
- .recipe-shell[data-responsive-pane="navigation"]
314
- .recipe-shell__nav-region
315
- .kui-resizable-region {
316
- width: 100%;
317
- flex: 1;
318
- }
319
- .recipe-shell[data-responsive-pane="navigation"]
320
- .recipe-shell__nav-region
321
- .kui-resizable-region__handle {
322
- display: none;
323
- }
324
- .recipe-shell__responsive-controls [data-recipe-command="show-navigation"] {
325
- display: grid;
326
- }
327
- .recipe-shell__cards,
328
- .recipe-compact-toolbar__guide {
329
- grid-template-columns: 1fr;
330
- }
331
- }
332
-
333
- @media (forced-colors: active) {
334
- .recipe-form__section {
335
- border-color: Canvas;
336
- }
337
- }
338
-
339
- @media (prefers-reduced-motion: reduce) {
340
- .kui-recipe *,
341
- .kui-recipe *::before,
342
- .kui-recipe *::after {
343
- scroll-behavior: auto !important;
344
- animation-duration: 1ms !important;
345
- transition-duration: 1ms !important;
346
- }
347
- }
348
-
349
- .recipe-navstack {
350
- display: flex;
351
- width: min(28rem, 100%);
352
- margin-inline: auto;
353
- flex-direction: column;
354
- }
355
- .recipe-navstack__stage {
356
- height: 24rem;
357
- }
358
- .recipe-navstack__view {
359
- /* The view is a .kui-content stack whose rows own their 8px margins; add only a
360
- little block breathing room, not an inline pad that would double-inset them. */
361
- padding-block: var(--kui-space-2xs);
362
- }
363
-
364
- .recipe-inspector {
365
- width: min(remify(560px), 100%);
366
- }
367
-
368
- /* The bare Select + SegmentedControl carry no content-item geometry, so inset
369
- them to the shared inline margin to line up with the ValueTable / list / banner
370
- content-items, and group the two related controls closer than the 24px
371
- between-region content gap. */
372
- .recipe-inspector__controls {
373
- display: flex;
374
- min-width: 0;
375
- flex-direction: column;
376
- margin-inline: var(--kui-layout-inline-margin, remify(8px));
377
- gap: var(--kui-space-s);
378
- }
379
-
380
- /* Collapsible-sidebar recipe: a mini app frame with a left rail (CollapsiblePanel)
381
- full-height at the leading edge, the main pane, and a bottom drawer under it.
382
- `contain: paint` bounds the wire's compact overlay (a viewport-`fixed` panel +
383
- backdrop) to this frame so the embedded demo does not cover the whole catalog. */
384
- .recipe-collapsible-sidebar {
385
- display: grid;
386
- height: min(34rem, 70vh);
387
- contain: paint;
388
- grid-template-areas:
389
- "rail main"
390
- "rail drawer";
391
- grid-template-columns: auto minmax(0, 1fr);
392
- grid-template-rows: minmax(0, 1fr) auto;
393
- }
394
- .recipe-collapsible-sidebar__rail {
395
- grid-area: rail;
396
- display: flex;
397
- min-height: 0;
398
- flex-direction: column;
399
- }
400
- .recipe-collapsible-sidebar__rail-head {
401
- display: flex;
402
- align-items: center;
403
- justify-content: space-between;
404
- padding: var(--kui-space-2xs) var(--kui-layout-inline-margin, remify(8px));
405
- border-block-end: 1px solid var(--kui-color-border);
406
- }
407
- .recipe-collapsible-sidebar__nav {
408
- min-height: 0;
409
- }
410
- .recipe-collapsible-sidebar__main {
411
- display: grid;
412
- grid-area: main;
413
- min-width: 0;
414
- min-height: 0;
415
- grid-template-rows: auto minmax(0, 1fr);
416
- background: var(--kui-color-surface-lowered);
417
- }
418
- .recipe-collapsible-sidebar__body {
419
- min-height: 0;
420
- }
421
- .recipe-collapsible-sidebar__card strong {
422
- display: block;
423
- }
424
- .recipe-collapsible-sidebar__drawer {
425
- grid-area: drawer;
426
- display: flex;
427
- min-height: 0;
428
- flex-direction: column;
429
- }
430
- .recipe-collapsible-sidebar__drawer-body {
431
- min-height: 0;
432
- }
433
- .recipe-collapsible-sidebar__log {
434
- display: flex;
435
- min-width: 0;
436
- flex-direction: column;
437
- margin: 0;
438
- margin-inline: var(--kui-layout-inline-margin, remify(8px));
439
- padding: 0;
440
- list-style: none;
441
- gap: var(--kui-space-xs);
442
- }
443
- .recipe-collapsible-sidebar__log li {
444
- display: flex;
445
- align-items: center;
446
- color: var(--kui-color-text-quiet);
447
- font-size: var(--kui-font-s);
448
- gap: var(--kui-space-xs);
449
- }
450
- .recipe-collapsible-sidebar__log svg {
451
- width: remify(16px);
452
- height: remify(16px);
453
- }