@kerfjs/ui 5.0.0-beta.53 → 5.0.0-beta.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/ai/application-ui-diagnostic-ids-v1.json +1 -0
- package/ai/component-catalog-v2.json +82 -6
- package/ai/component-catalog-v2.schema.json +2 -1
- package/ai/component-catalog.json +105 -10
- package/ai/public-api-signatures-v1.md +204 -18
- package/ai/skill.md +23 -17
- package/ai/webawesome-jsx-signatures-v1.md +1 -1
- package/analyzer/index.mjs +48 -0
- package/analyzer/loud-pairs.d.mts +49 -0
- package/analyzer/loud-pairs.mjs +357 -0
- package/dist/app-tab.d.ts +7 -5
- package/dist/app-tab.js +1 -1
- package/dist/{chunk-EKYZCRCX.js → chunk-3CGQ7ZNO.js} +54 -22
- package/dist/chunk-3CGQ7ZNO.js.map +1 -0
- package/dist/{chunk-UKKSMZYT.js → chunk-46263QLK.js} +51 -1
- package/dist/chunk-46263QLK.js.map +1 -0
- package/dist/{chunk-NDUGJ4TU.js → chunk-5NDQABWK.js} +1 -1
- package/dist/{chunk-NDUGJ4TU.js.map → chunk-5NDQABWK.js.map} +1 -1
- package/dist/{chunk-CCMKJWLX.js → chunk-NE5JAOQS.js} +7 -7
- package/dist/chunk-NE5JAOQS.js.map +1 -0
- package/dist/chunk-PSHUSWQH.js +18 -0
- package/dist/chunk-PSHUSWQH.js.map +1 -0
- package/dist/{chunk-VOCPXGQN.js → chunk-VHADGP3B.js} +9 -8
- package/dist/chunk-VHADGP3B.js.map +1 -0
- package/dist/chunk-XQV2B4IL.js +14 -0
- package/dist/chunk-XQV2B4IL.js.map +1 -0
- package/dist/collapsible-panel.d.ts +6 -2
- package/dist/collapsible-panel.js +1 -0
- package/dist/collapsible-panel.js.map +1 -1
- package/dist/floating-toolbar.d.ts +5 -2
- package/dist/floating-toolbar.js +1 -1
- package/dist/index.js +6 -5
- package/dist/resizable-region.d.ts +4 -1
- package/dist/resizable-region.js +1 -1
- package/dist/split-view.js +1 -1
- package/dist/styles/collapsible-panel.css +88 -10
- package/dist/styles/floating-toolbar.css +11 -6
- package/dist/styles/resizable-region.css +81 -13
- package/dist/styles/workbench.css +472 -10
- package/dist/wire-resizable-regions.d.ts +2 -1
- package/dist/wire-resizable-regions.js +2 -1
- package/dist/wire-tab-bars.js +1 -1
- package/dist/wire-workbench.d.ts +109 -0
- package/dist/wire-workbench.js +355 -0
- package/dist/wire-workbench.js.map +1 -0
- package/dist/workbench.d.ts +65 -6
- package/dist/workbench.js +180 -76
- package/dist/workbench.js.map +1 -1
- package/docs/accessibility.md +54 -9
- package/docs/app-layouts.md +12 -1
- package/docs/collapsible-panel.md +59 -1
- package/docs/component-selection.md +16 -6
- package/docs/document-baseline.md +4 -0
- package/docs/layout.md +5 -1
- package/docs/recipes.md +5 -3
- package/docs/type-contracts.md +2 -1
- package/docs/ui-analyzer.md +94 -19
- package/docs/ui-doctor.md +6 -0
- package/docs/ux-demo.md +1 -1
- package/docs/webawesome-theme.md +11 -2
- package/docs/workbench.md +302 -7
- package/llms.txt +7 -3
- package/package.json +5 -1
- package/ux-demo/recipes/collapsible-sidebar.tsx +8 -7
- package/dist/chunk-CCMKJWLX.js.map +0 -1
- package/dist/chunk-EKYZCRCX.js.map +0 -1
- package/dist/chunk-UKKSMZYT.js.map +0 -1
- package/dist/chunk-VOCPXGQN.js.map +0 -1
package/README.md
CHANGED
|
@@ -203,6 +203,7 @@ interchangeable. `ListItem` and `ListActionRow` deliberately expose no raw
|
|
|
203
203
|
| `TabScaffold` | `@kerfjs/ui/tab-scaffold` | `@kerfjs/ui/tab-scaffold.css` |
|
|
204
204
|
| `wireTabScaffold` | `@kerfjs/ui/wire-tab-scaffold` | — |
|
|
205
205
|
| `Workbench` | `@kerfjs/ui/workbench` | `@kerfjs/ui/workbench.css` |
|
|
206
|
+
| `wireWorkbench` | `@kerfjs/ui/wire-workbench` | — |
|
|
206
207
|
| `CollapsiblePanel`, `CollapsiblePanelToggle` | `@kerfjs/ui/collapsible-panel` | `@kerfjs/ui/collapsible-panel.css` |
|
|
207
208
|
| `wireSidebar` | `@kerfjs/ui/wire-sidebar` | — |
|
|
208
209
|
| Content and navigation composition | — | `@kerfjs/ui/layout.css` |
|
|
@@ -329,6 +329,64 @@
|
|
|
329
329
|
"composition": "generated-permissive-default"
|
|
330
330
|
}
|
|
331
331
|
},
|
|
332
|
+
{
|
|
333
|
+
"key": "@kerfjs/ui:document-baseline",
|
|
334
|
+
"package": "@kerfjs/ui",
|
|
335
|
+
"id": "document-baseline",
|
|
336
|
+
"name": "Document baseline",
|
|
337
|
+
"kind": "composition",
|
|
338
|
+
"source": "kerf",
|
|
339
|
+
"parents": { "mode": "any", "entries": [] },
|
|
340
|
+
"contexts": ["application-ui"],
|
|
341
|
+
"zones": [],
|
|
342
|
+
"children": { "mode": "any", "concepts": [], "requiredConcepts": [] },
|
|
343
|
+
"state": [
|
|
344
|
+
{
|
|
345
|
+
"id": "the one direct mount container",
|
|
346
|
+
"owner": "application",
|
|
347
|
+
"required": false
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"id": "application overrides loaded after the baseline",
|
|
351
|
+
"owner": "application",
|
|
352
|
+
"required": false
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
"wiring": {
|
|
356
|
+
"required": false,
|
|
357
|
+
"helpers": [],
|
|
358
|
+
"obligations": [],
|
|
359
|
+
"stateAttributes": []
|
|
360
|
+
},
|
|
361
|
+
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
362
|
+
"layout": {
|
|
363
|
+
"roles": ["foundation"],
|
|
364
|
+
"geometry": {
|
|
365
|
+
"margin": "none",
|
|
366
|
+
"border": "none",
|
|
367
|
+
"padding": "none",
|
|
368
|
+
"notes": [
|
|
369
|
+
"The body margin is removed; .kui-app-root only sets height: 100% and owns no inset."
|
|
370
|
+
]
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"accessibility": {
|
|
374
|
+
"obligations": [
|
|
375
|
+
"Links keep the semantic link color at zero specificity so application focus and link styles still apply."
|
|
376
|
+
]
|
|
377
|
+
},
|
|
378
|
+
"cssValueProps": [],
|
|
379
|
+
"boundaries": {
|
|
380
|
+
"rootClass": "kui-app-root",
|
|
381
|
+
"publicClasses": ["kui-app-root"],
|
|
382
|
+
"publicTokens": []
|
|
383
|
+
},
|
|
384
|
+
"diagnostics": [],
|
|
385
|
+
"provenance": {
|
|
386
|
+
"selection": "ai/component-catalog.json",
|
|
387
|
+
"composition": "generated-permissive-default"
|
|
388
|
+
}
|
|
389
|
+
},
|
|
332
390
|
{
|
|
333
391
|
"key": "@kerfjs/ui:layout",
|
|
334
392
|
"package": "@kerfjs/ui",
|
|
@@ -887,9 +945,22 @@
|
|
|
887
945
|
],
|
|
888
946
|
"wiring": {
|
|
889
947
|
"required": false,
|
|
890
|
-
"helpers": [],
|
|
948
|
+
"helpers": ["wireWorkbench"],
|
|
891
949
|
"obligations": [],
|
|
892
|
-
"stateAttributes": [
|
|
950
|
+
"stateAttributes": [
|
|
951
|
+
{
|
|
952
|
+
"name": "data-handle-inset",
|
|
953
|
+
"on": "kui-workbench__rail",
|
|
954
|
+
"helper": "wireWorkbench",
|
|
955
|
+
"meaning": "Written by the shared resize wiring when the work-area minimum or a parent clamp holds a rail's maximum near its size. It carries no Workbench styling; the Workbench handle stays at the rail's inner edge."
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "data-resizing",
|
|
959
|
+
"on": "kui-workbench__rail",
|
|
960
|
+
"helper": "wireWorkbench",
|
|
961
|
+
"meaning": "Present on a resizable rail or the drawer while a pointer drag resizes it."
|
|
962
|
+
}
|
|
963
|
+
]
|
|
893
964
|
},
|
|
894
965
|
"responsive": { "owner": "not-applicable", "behaviors": [] },
|
|
895
966
|
"layout": {
|
|
@@ -906,7 +977,10 @@
|
|
|
906
977
|
"accessibility": {
|
|
907
978
|
"obligations": [
|
|
908
979
|
"Give the Workbench and each meaningful rail or drawer an accessible label.",
|
|
909
|
-
"Keep collapse controls outside the disappearing region and move focus when a controlled rerender replaces a collapse control with its restore control."
|
|
980
|
+
"Keep collapse controls outside the disappearing region and move focus when a controlled rerender replaces a collapse control with its restore control.",
|
|
981
|
+
"A resizable panel's separator is a focusable role=\"separator\" with its size in aria-valuenow and limits in aria-valuemin/aria-valuemax; arrow keys resize by 16px, Shift+arrow by 64px, and Home/End jump to the limits. It leaves the tab order while its panel is collapsed or not inline.",
|
|
982
|
+
"Given a panel's collapsed signal, wireWorkbench closes an open overlay panel on Escape or an outside press and, however the panel closed, returns focus stranded inside it to the control that opened it, else to its restore control.",
|
|
983
|
+
"An overlay panel can cover the toolbar toggle that opened it (a narrow right rail covers an editor toolbar's trailing toggle), so give every panel that may overlay its own close control in its header: a Pane header Toolbar with a single ToolbarControlGroup around the collapsiblePanelToggleIcon(side, false) button."
|
|
910
984
|
]
|
|
911
985
|
},
|
|
912
986
|
"cssValueProps": [],
|
|
@@ -921,6 +995,8 @@
|
|
|
921
995
|
"kui-workbench__center",
|
|
922
996
|
"kui-workbench__main",
|
|
923
997
|
"kui-workbench__panel-content",
|
|
998
|
+
"kui-workbench__handle",
|
|
999
|
+
"kui-workbench__handle-icon",
|
|
924
1000
|
"kui-workbench__restore"
|
|
925
1001
|
],
|
|
926
1002
|
"publicTokens": [
|
|
@@ -930,8 +1006,8 @@
|
|
|
930
1006
|
"--kui-workbench-overlay-z",
|
|
931
1007
|
"--kui-workbench-overlay-max-width",
|
|
932
1008
|
"--kui-workbench-overlay-max-height",
|
|
933
|
-
"--kui-workbench-restore-
|
|
934
|
-
"--kui-workbench-restore-
|
|
1009
|
+
"--kui-workbench-restore-inset",
|
|
1010
|
+
"--kui-workbench-restore-z"
|
|
935
1011
|
]
|
|
936
1012
|
},
|
|
937
1013
|
"diagnostics": [],
|
|
@@ -1035,8 +1111,8 @@
|
|
|
1035
1111
|
"--kui-collapsible-panel-height",
|
|
1036
1112
|
"--kui-collapsible-panel-popup-z",
|
|
1037
1113
|
"--kui-collapsible-panel-overlay-z",
|
|
1038
|
-
"--kui-collapsible-panel-restore-z",
|
|
1039
1114
|
"--kui-collapsible-panel-restore-inset",
|
|
1115
|
+
"--kui-collapsible-panel-restore-z",
|
|
1040
1116
|
"--kui-collapsible-panel-backdrop-z"
|
|
1041
1117
|
]
|
|
1042
1118
|
},
|
|
@@ -137,10 +137,11 @@
|
|
|
137
137
|
"kind": { "enum": ["component", "composition", "recipe"] },
|
|
138
138
|
"purpose": { "type": "string", "minLength": 1 },
|
|
139
139
|
"publicExports": {
|
|
140
|
+
"description": "Each export's name and the package.json#exports subpath that serves it. An entry from a private application omits subpath: the application is bundled, never imported by package name, so the name resolves through the entry's source file.",
|
|
140
141
|
"type": "array",
|
|
141
142
|
"items": {
|
|
142
143
|
"type": "object",
|
|
143
|
-
"required": ["name"
|
|
144
|
+
"required": ["name"],
|
|
144
145
|
"properties": {
|
|
145
146
|
"name": { "type": "string", "minLength": 1 },
|
|
146
147
|
"subpath": { "type": "string", "pattern": "^\\." }
|
|
@@ -353,6 +353,67 @@
|
|
|
353
353
|
"recipe": "docs/component-selection.md#foundation-tokens"
|
|
354
354
|
}
|
|
355
355
|
},
|
|
356
|
+
{
|
|
357
|
+
"id": "document-baseline",
|
|
358
|
+
"name": "Document baseline",
|
|
359
|
+
"category": "Foundation",
|
|
360
|
+
"kind": "composition",
|
|
361
|
+
"source": "kerf",
|
|
362
|
+
"description": "Opt-in document-level defaults: border-box sizing, body margin/font/surface, link color, and the html → body → .kui-app-root full-height chain.",
|
|
363
|
+
"uses": [],
|
|
364
|
+
"purpose": "Let an application opt into Kerf UI-owned document defaults and a definite full-height chain for a percentage-height application shell.",
|
|
365
|
+
"publicExports": [],
|
|
366
|
+
"useWhen": [
|
|
367
|
+
"An application wants Kerf UI to own document-level box sizing, body typography, surface, and link color.",
|
|
368
|
+
"A full-height shell (Workbench, SplitView, NavStack, or TabScaffold) mounts into one direct container: put .kui-app-root on that container."
|
|
369
|
+
],
|
|
370
|
+
"avoidWhen": [
|
|
371
|
+
"Do not put .kui-app-root on several sibling containers; each requests the full available document height.",
|
|
372
|
+
"Do not import it where the host page already owns document-level defaults it would override."
|
|
373
|
+
],
|
|
374
|
+
"alternatives": [
|
|
375
|
+
{
|
|
376
|
+
"id": "foundation",
|
|
377
|
+
"relationship": "composes-with",
|
|
378
|
+
"when": "Import the foundation tokens the baseline reads; the baseline itself adds only global document selectors."
|
|
379
|
+
}
|
|
380
|
+
],
|
|
381
|
+
"appOwns": [
|
|
382
|
+
"the one direct mount container",
|
|
383
|
+
"application overrides loaded after the baseline"
|
|
384
|
+
],
|
|
385
|
+
"variants": [
|
|
386
|
+
"document-flow page (no .kui-app-root)",
|
|
387
|
+
"full-height application root"
|
|
388
|
+
],
|
|
389
|
+
"accessibility": [
|
|
390
|
+
"Links keep the semantic link color at zero specificity so application focus and link styles still apply."
|
|
391
|
+
],
|
|
392
|
+
"geometry": {
|
|
393
|
+
"margin": "none",
|
|
394
|
+
"border": "none",
|
|
395
|
+
"padding": "none",
|
|
396
|
+
"notes": [
|
|
397
|
+
"The body margin is removed; .kui-app-root only sets height: 100% and owns no inset."
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
"delivery": {
|
|
401
|
+
"manualCssImport": "@kerfjs/ui/document.css",
|
|
402
|
+
"sideEffects": [
|
|
403
|
+
"css"
|
|
404
|
+
]
|
|
405
|
+
},
|
|
406
|
+
"wiring": [],
|
|
407
|
+
"publicClasses": [
|
|
408
|
+
"kui-app-root"
|
|
409
|
+
],
|
|
410
|
+
"publicTokens": [],
|
|
411
|
+
"links": {
|
|
412
|
+
"catalogRoute": "?component=document-baseline",
|
|
413
|
+
"documentation": "docs/document-baseline.md",
|
|
414
|
+
"recipe": "docs/document-baseline.md"
|
|
415
|
+
}
|
|
416
|
+
},
|
|
356
417
|
{
|
|
357
418
|
"id": "layout",
|
|
358
419
|
"name": "Application layout",
|
|
@@ -851,20 +912,24 @@
|
|
|
851
912
|
"category": "Structure",
|
|
852
913
|
"kind": "component",
|
|
853
914
|
"source": "kerf",
|
|
854
|
-
"description": "A desktop-class multi-panel workspace with independently collapsible left and right rails and a bottom drawer around one central work area.",
|
|
915
|
+
"description": "A desktop-class multi-panel workspace with independently collapsible, optionally drag-resizable left and right rails and a bottom drawer around one central work area.",
|
|
855
916
|
"uses": [],
|
|
856
917
|
"purpose": "Arrange a complex tool or editor as a stable central work area with optional peripheral rails and a bottom drawer.",
|
|
857
918
|
"publicExports": [
|
|
858
919
|
"Workbench",
|
|
859
920
|
"WorkbenchPanel",
|
|
860
|
-
"
|
|
921
|
+
"WorkbenchPanelResizable",
|
|
922
|
+
"WorkbenchProps",
|
|
923
|
+
"WorkbenchResponsiveOverlayAt"
|
|
861
924
|
],
|
|
862
925
|
"useWhen": [
|
|
863
|
-
"A desktop-class tool needs a central work area plus independently collapsible navigator, inspector, or console regions."
|
|
926
|
+
"A desktop-class tool needs a central work area plus independently collapsible navigator, inspector, or console regions.",
|
|
927
|
+
"A desktop-class tool should let people size its peripheral panels by dragging or with the keyboard; opt each panel in with resizable and wire it with wireWorkbench."
|
|
864
928
|
],
|
|
865
929
|
"avoidWhen": [
|
|
866
930
|
"Do not shrink the full multi-panel shell onto compact devices; present peripheral content through NavStack or overlay drawers instead.",
|
|
867
|
-
"Do not use Workbench for one standalone collapsible rail or drawer; use CollapsiblePanel."
|
|
931
|
+
"Do not use Workbench for one standalone collapsible rail or drawer; use CollapsiblePanel.",
|
|
932
|
+
"Do not offer resizing where rails present as compact overlay drawers or are replaced; set a panel's responsiveOverlayAt, or pass deviceClass so wireWorkbench suspends resizing on compact classes."
|
|
868
933
|
],
|
|
869
934
|
"alternatives": [
|
|
870
935
|
{
|
|
@@ -887,6 +952,10 @@
|
|
|
887
952
|
"bottom drawer",
|
|
888
953
|
"all panels",
|
|
889
954
|
"independently collapsed panels",
|
|
955
|
+
"opt-in drag and keyboard resizable panels with min/max limits",
|
|
956
|
+
"resizable rails that leave the work area a minimum width and shrink in proportion when the Workbench narrows",
|
|
957
|
+
"rails or a drawer that present as overlays below a narrow or compact Workbench container breakpoint",
|
|
958
|
+
"transient overlay panels wired with wireWorkbench: collapsed on entering the breakpoint, closed by Escape or an outside press",
|
|
890
959
|
"hidden separator",
|
|
891
960
|
"slide, fade-slide, or instant content",
|
|
892
961
|
"clipped, scrolling, or popup-visible content",
|
|
@@ -896,7 +965,10 @@
|
|
|
896
965
|
],
|
|
897
966
|
"accessibility": [
|
|
898
967
|
"Give the Workbench and each meaningful rail or drawer an accessible label.",
|
|
899
|
-
"Keep collapse controls outside the disappearing region and move focus when a controlled rerender replaces a collapse control with its restore control."
|
|
968
|
+
"Keep collapse controls outside the disappearing region and move focus when a controlled rerender replaces a collapse control with its restore control.",
|
|
969
|
+
"A resizable panel's separator is a focusable role=\"separator\" with its size in aria-valuenow and limits in aria-valuemin/aria-valuemax; arrow keys resize by 16px, Shift+arrow by 64px, and Home/End jump to the limits. It leaves the tab order while its panel is collapsed or not inline.",
|
|
970
|
+
"Given a panel's collapsed signal, wireWorkbench closes an open overlay panel on Escape or an outside press and, however the panel closed, returns focus stranded inside it to the control that opened it, else to its restore control.",
|
|
971
|
+
"An overlay panel can cover the toolbar toggle that opened it (a narrow right rail covers an editor toolbar's trailing toggle), so give every panel that may overlay its own close control in its header: a Pane header Toolbar with a single ToolbarControlGroup around the collapsiblePanelToggleIcon(side, false) button."
|
|
900
972
|
],
|
|
901
973
|
"geometry": {
|
|
902
974
|
"margin": "none",
|
|
@@ -913,7 +985,25 @@
|
|
|
913
985
|
"manual-css"
|
|
914
986
|
]
|
|
915
987
|
},
|
|
916
|
-
"wiring": [
|
|
988
|
+
"wiring": [
|
|
989
|
+
{
|
|
990
|
+
"export": "wireWorkbench",
|
|
991
|
+
"import": "@kerfjs/ui/wire-workbench",
|
|
992
|
+
"required": false,
|
|
993
|
+
"stateAttributes": [
|
|
994
|
+
{
|
|
995
|
+
"name": "data-handle-inset",
|
|
996
|
+
"on": "kui-workbench__rail",
|
|
997
|
+
"meaning": "Written by the shared resize wiring when the work-area minimum or a parent clamp holds a rail's maximum near its size. It carries no Workbench styling; the Workbench handle stays at the rail's inner edge."
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"name": "data-resizing",
|
|
1001
|
+
"on": "kui-workbench__rail",
|
|
1002
|
+
"meaning": "Present on a resizable rail or the drawer while a pointer drag resizes it."
|
|
1003
|
+
}
|
|
1004
|
+
]
|
|
1005
|
+
}
|
|
1006
|
+
],
|
|
917
1007
|
"publicClasses": [
|
|
918
1008
|
"kui-workbench",
|
|
919
1009
|
"kui-workbench__rail",
|
|
@@ -923,6 +1013,8 @@
|
|
|
923
1013
|
"kui-workbench__center",
|
|
924
1014
|
"kui-workbench__main",
|
|
925
1015
|
"kui-workbench__panel-content",
|
|
1016
|
+
"kui-workbench__handle",
|
|
1017
|
+
"kui-workbench__handle-icon",
|
|
926
1018
|
"kui-workbench__restore"
|
|
927
1019
|
],
|
|
928
1020
|
"publicTokens": [
|
|
@@ -932,8 +1024,8 @@
|
|
|
932
1024
|
"--kui-workbench-overlay-z",
|
|
933
1025
|
"--kui-workbench-overlay-max-width",
|
|
934
1026
|
"--kui-workbench-overlay-max-height",
|
|
935
|
-
"--kui-workbench-restore-
|
|
936
|
-
"--kui-workbench-restore-
|
|
1027
|
+
"--kui-workbench-restore-inset",
|
|
1028
|
+
"--kui-workbench-restore-z"
|
|
937
1029
|
],
|
|
938
1030
|
"links": {
|
|
939
1031
|
"catalogRoute": "?component=workbench",
|
|
@@ -1057,8 +1149,8 @@
|
|
|
1057
1149
|
"--kui-collapsible-panel-height",
|
|
1058
1150
|
"--kui-collapsible-panel-popup-z",
|
|
1059
1151
|
"--kui-collapsible-panel-overlay-z",
|
|
1060
|
-
"--kui-collapsible-panel-restore-z",
|
|
1061
1152
|
"--kui-collapsible-panel-restore-inset",
|
|
1153
|
+
"--kui-collapsible-panel-restore-z",
|
|
1062
1154
|
"--kui-collapsible-panel-backdrop-z"
|
|
1063
1155
|
],
|
|
1064
1156
|
"links": {
|
|
@@ -3492,7 +3584,10 @@
|
|
|
3492
3584
|
"canonicalShorthands": [],
|
|
3493
3585
|
"exceptionalShorthands": [],
|
|
3494
3586
|
"rawPolicy": "forbid",
|
|
3495
|
-
"examples": [
|
|
3587
|
+
"examples": [
|
|
3588
|
+
"color: uiColor(\"success-on-quiet\")",
|
|
3589
|
+
"color: foregroundColorVar(\"--app-choice-color\")"
|
|
3590
|
+
]
|
|
3496
3591
|
}
|
|
3497
3592
|
],
|
|
3498
3593
|
"useWhen": [
|