@adia-ai/a2ui 0.8.42 → 0.8.43
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/CHANGELOG.md +5 -0
- package/catalog/catalog-a2ui_0_9.json +92 -830
- package/catalog/catalog-a2ui_0_9_rules.txt +16 -39
- package/catalog/tier-index.json +3 -33
- package/package.json +1 -1
- package/prop-apply.js +10 -1
- package/registry.js +9 -6
- package/validate/validator.js +2 -2
|
@@ -416,7 +416,7 @@
|
|
|
416
416
|
},
|
|
417
417
|
"ActionItem": {
|
|
418
418
|
"title": "ActionItem",
|
|
419
|
-
"description": "Child of <action-list-ui>. One actionable row — icon + label + optional\ndescription, forwards activation to the parent action-list. Row contract\nconverges on <menu-item-ui>: icon/text/description/value/variant/disabled\nprops and icon/text/subtitle/trailing slot overrides (#1363 C5)
|
|
419
|
+
"description": "Child of <action-list-ui>. One actionable row — icon + label + optional\ndescription, forwards activation to the parent action-list. Row contract\nconverges on <menu-item-ui>: icon/text/description/value/variant/disabled\nprops and icon/text/subtitle/trailing slot overrides (#1363 C5). (The\ndeprecated `subtitle` prop alias for `description` was cut in 0.8.43 —\nADR-0063, gh#1571/gh#1617.)",
|
|
420
420
|
"type": "object",
|
|
421
421
|
"allOf": [
|
|
422
422
|
{
|
|
@@ -428,7 +428,7 @@
|
|
|
428
428
|
],
|
|
429
429
|
"properties": {
|
|
430
430
|
"description": {
|
|
431
|
-
"description": "Optional secondary description line rendered under the label. Canonical spelling (ADR-0063, gh#1571) replacing `subtitle` — converges action-item onto the same spelling <menu-item-ui> adopted under gh#1563.",
|
|
431
|
+
"description": "Optional secondary description line rendered under the label. Canonical spelling (ADR-0063, gh#1571) replacing `subtitle` — converges action-item onto the same spelling <menu-item-ui> adopted under gh#1563. The deprecated `subtitle` prop alias was cut in 0.8.43 (gh#1617).",
|
|
432
432
|
"type": "string",
|
|
433
433
|
"default": ""
|
|
434
434
|
},
|
|
@@ -444,11 +444,6 @@
|
|
|
444
444
|
"description": "Leading icon name (Phosphor).",
|
|
445
445
|
"type": "string"
|
|
446
446
|
},
|
|
447
|
-
"subtitle": {
|
|
448
|
-
"description": "DEPRECATED (ADR-0063, gh#1571) — use `description` instead. Same type/default/rendered position; kept working as a dual-read compat shim (one-time console.warn when it's the name that resolves). Removed in 0.9.0. (The `subtitle` SLOT below is a separate surface, deliberately left unrenamed in this pass — see its own description.)",
|
|
449
|
-
"type": "string",
|
|
450
|
-
"default": ""
|
|
451
|
-
},
|
|
452
447
|
"text": {
|
|
453
448
|
"description": "Action label.",
|
|
454
449
|
"type": "string"
|
|
@@ -499,7 +494,7 @@
|
|
|
499
494
|
"description": "Override the [icon] glyph with a custom slotted element (custom icon-ui, image, avatar). Mutually exclusive with the [icon] attribute — slot child wins."
|
|
500
495
|
},
|
|
501
496
|
"subtitle": {
|
|
502
|
-
"description": "Custom secondary-line content override; falls through to the [description] prop (
|
|
497
|
+
"description": "Custom secondary-line content override; falls through to the [description] prop if not slotted (ADR-0063, gh#1571 — the deprecated [subtitle] prop alias was cut in 0.8.43, gh#1617). The slot's own name is unchanged by that rename — this is a distinct, deliberately-unrenamed surface."
|
|
503
498
|
},
|
|
504
499
|
"text": {
|
|
505
500
|
"description": "Custom label content; falls through to [text] prop if not slotted."
|
|
@@ -5129,7 +5124,7 @@
|
|
|
5129
5124
|
},
|
|
5130
5125
|
"CalendarPicker": {
|
|
5131
5126
|
"title": "CalendarPicker",
|
|
5132
|
-
"description": "Date (and, per `[precision]`, date+time) picker with trigger button and popover panel. Form-associated input emitting an ISO date (or, when `precision` is `minute`/`second`, ISO datetime) string via change events; supports min/max and disabled-date masks. Use for single-date or single-datetime input in forms; for date ranges use <date-range-picker-ui> instead of composing two calendar-picker instances. gh#1372 (#1363 C3c) folded <datetime-picker-ui>'s surface into this widened `precision` axis —
|
|
5127
|
+
"description": "Date (and, per `[precision]`, date+time) picker with trigger button and popover panel. Form-associated input emitting an ISO date (or, when `precision` is `minute`/`second`, ISO datetime) string via change events; supports min/max and disabled-date masks. Use for single-date or single-datetime input in forms; for date ranges use <date-range-picker-ui> instead of composing two calendar-picker instances. gh#1372 (#1363 C3c) folded <datetime-picker-ui>'s surface into this widened `precision` axis — that thin alias component was cut in 0.8.43 (gh#1617); this is the sole tag now.",
|
|
5133
5128
|
"type": "object",
|
|
5134
5129
|
"allOf": [
|
|
5135
5130
|
{
|
|
@@ -5866,38 +5861,23 @@
|
|
|
5866
5861
|
],
|
|
5867
5862
|
"default": "abbr"
|
|
5868
5863
|
},
|
|
5869
|
-
"hideAverage": {
|
|
5870
|
-
"description": "DEPRECATED (ADR-0063, gh#1563) — use `noAverage` instead. Same meaning, same default; kept working as a dual-read compat shim (one- time console.warn when it's the name that resolves). Removed in 0.9.0.",
|
|
5871
|
-
"type": "boolean",
|
|
5872
|
-
"default": false
|
|
5873
|
-
},
|
|
5874
|
-
"hideGrid": {
|
|
5875
|
-
"description": "DEPRECATED (ADR-0063, gh#1563) — use `noGrid` instead. Same meaning, same default; kept working as a dual-read compat shim (one-time console.warn when it's the name that resolves). Removed in 0.9.0.",
|
|
5876
|
-
"type": "boolean",
|
|
5877
|
-
"default": false
|
|
5878
|
-
},
|
|
5879
|
-
"hideValues": {
|
|
5880
|
-
"description": "DEPRECATED (ADR-0063, gh#1563) — use `noValues` instead. Same meaning, same default; kept working as a dual-read compat shim (one- time console.warn when it's the name that resolves). Removed in 0.9.0.",
|
|
5881
|
-
"type": "boolean",
|
|
5882
|
-
"default": false
|
|
5883
|
-
},
|
|
5884
5864
|
"loading": {
|
|
5885
5865
|
"description": "Show a skeleton placeholder instead of the chart body. Set to true while data is being fetched; clear once data arrives. Preserves the element's aspect-ratio dimensions so the skeleton occupies the same space the chart will fill. Parity with stat-ui[loading] and table-ui[loading] (§FB-12, v0.6.27).",
|
|
5886
5866
|
"type": "boolean",
|
|
5887
5867
|
"default": false
|
|
5888
5868
|
},
|
|
5889
5869
|
"noAverage": {
|
|
5890
|
-
"description": "When true, suppress the overlaid average line. Canonical spelling (ADR-0063, gh#1563)
|
|
5870
|
+
"description": "When true, suppress the overlaid average line. Canonical spelling (ADR-0063, gh#1563) — the deprecated `hideAverage` dual-read shim was cut in 0.8.43 (gh#1617).",
|
|
5891
5871
|
"type": "boolean",
|
|
5892
5872
|
"default": false
|
|
5893
5873
|
},
|
|
5894
5874
|
"noGrid": {
|
|
5895
|
-
"description": "Hide gridlines. Canonical spelling (ADR-0063, gh#1563)
|
|
5875
|
+
"description": "Hide gridlines. Canonical spelling (ADR-0063, gh#1563) — the deprecated `hideGrid` dual-read shim was cut in 0.8.43 (gh#1617).",
|
|
5896
5876
|
"type": "boolean",
|
|
5897
5877
|
"default": false
|
|
5898
5878
|
},
|
|
5899
5879
|
"noValues": {
|
|
5900
|
-
"description": "Hide value labels. Canonical spelling (ADR-0063, gh#1563)
|
|
5880
|
+
"description": "Hide value labels. Canonical spelling (ADR-0063, gh#1563) — the deprecated `hideValues` dual-read shim was cut in 0.8.43 (gh#1617).",
|
|
5901
5881
|
"type": "boolean",
|
|
5902
5882
|
"default": false
|
|
5903
5883
|
},
|
|
@@ -6175,7 +6155,7 @@
|
|
|
6175
6155
|
"default": ""
|
|
6176
6156
|
},
|
|
6177
6157
|
"interactive": {
|
|
6178
|
-
"description": "Canonical opt-in spelling (ADR-0063, gh#1563)
|
|
6158
|
+
"description": "Canonical opt-in spelling (ADR-0063, gh#1563) — the deprecated `static` opt-out alias was cut in 0.8.43 (gh#1617). Rows are interactive <button>-role badges by default — this default stays `true` (deliberately NOT flipped yet; the 0.9.0 cut inverts it to `false` after a full consumer scan of every `<chart-legend-ui>` tag per the ADR).",
|
|
6179
6159
|
"type": "boolean",
|
|
6180
6160
|
"default": true
|
|
6181
6161
|
},
|
|
@@ -6209,11 +6189,6 @@
|
|
|
6209
6189
|
"dashed"
|
|
6210
6190
|
],
|
|
6211
6191
|
"default": "dot"
|
|
6212
|
-
},
|
|
6213
|
-
"static": {
|
|
6214
|
-
"description": "DEPRECATED (ADR-0063, gh#1563) — use `interactive` instead. When set (and `interactive` is absent), rows are non-interactive <span>s (no click, no toggle). Kept working as a dual-read compat shim (one-time console.warn when it's the name that resolves). Removed in 0.9.0.",
|
|
6215
|
-
"type": "boolean",
|
|
6216
|
-
"default": false
|
|
6217
6192
|
}
|
|
6218
6193
|
},
|
|
6219
6194
|
"required": [
|
|
@@ -6229,7 +6204,7 @@
|
|
|
6229
6204
|
],
|
|
6230
6205
|
"events": {
|
|
6231
6206
|
"toggle": {
|
|
6232
|
-
"description": "Fires on row click
|
|
6207
|
+
"description": "Fires on row click when interactive. Detail: {key, active, mode}. `active` is the new state (true=visible). Consumers (or chart-ui via [for]) wire this to series visibility.",
|
|
6233
6208
|
"detail": {
|
|
6234
6209
|
"active": {
|
|
6235
6210
|
"description": "New visibility state (true = visible).",
|
|
@@ -6286,12 +6261,8 @@
|
|
|
6286
6261
|
"name": "idle"
|
|
6287
6262
|
},
|
|
6288
6263
|
{
|
|
6289
|
-
"description": "Rows are <button>s.
|
|
6264
|
+
"description": "Rows are <button>s (the default). When false, rows are <span>s — no click handler, no toggle affordance.",
|
|
6290
6265
|
"name": "interactive"
|
|
6291
|
-
},
|
|
6292
|
-
{
|
|
6293
|
-
"description": "Rows are <span>s. No click handler, no toggle affordance.",
|
|
6294
|
-
"name": "static"
|
|
6295
6266
|
}
|
|
6296
6267
|
],
|
|
6297
6268
|
"status": "stable",
|
|
@@ -7695,7 +7666,7 @@
|
|
|
7695
7666
|
},
|
|
7696
7667
|
"ColorArea": {
|
|
7697
7668
|
"title": "ColorArea",
|
|
7698
|
-
"description": "OKLCH-native color picker with 2D area and H/C/L sliders. Form-associated input emitting OKLCH color strings; canonical color authoring surface in the AdiaUI token system. Use for color input in design tools or theming UIs; for simple color swatches use <swatch-ui> or <color-input-ui> instead. Renamed from `<color-picker-ui>` (ADR-0063, gh#1563 — `-picker` is reserved for the outer trigger + popover composite shape; this is the inline substrate, mirroring <calendar-grid-ui>'s naming precedent). `<color-picker-ui>`
|
|
7669
|
+
"description": "OKLCH-native color picker with 2D area and H/C/L sliders. Form-associated input emitting OKLCH color strings; canonical color authoring surface in the AdiaUI token system. Use for color input in design tools or theming UIs; for simple color swatches use <swatch-ui> or <color-input-ui> instead. Renamed from `<color-picker-ui>` (ADR-0063, gh#1563 — `-picker` is reserved for the outer trigger + popover composite shape; this is the inline substrate, mirroring <calendar-grid-ui>'s naming precedent). `<color-picker-ui>` was cut in 0.8.43 (gh#1617) — this is the sole tag now.",
|
|
7699
7670
|
"type": "object",
|
|
7700
7671
|
"allOf": [
|
|
7701
7672
|
{
|
|
@@ -7841,7 +7812,7 @@
|
|
|
7841
7812
|
},
|
|
7842
7813
|
"ColorInput": {
|
|
7843
7814
|
"title": "ColorInput",
|
|
7844
|
-
"description": "Compact form-bearing color input — opens a popover-anchored\n`<color-area-ui>` from an inline swatch button. §302 (v0.5.12,\nFEEDBACK-29 re-bucket from v0.6.0). Canonicalizes the USAGE.md §221f\nOption B recipe (popover + button + color-area) into a single\nform-associated tag for inline form contexts (settings drawer \"source\ncolor\" field, swatch-row inline-edit, etc.). Composes `<color-area-ui>`\n(ADR-0063, gh#1563 — renamed from `<color-picker-ui>`,
|
|
7815
|
+
"description": "Compact form-bearing color input — opens a popover-anchored\n`<color-area-ui>` from an inline swatch button. §302 (v0.5.12,\nFEEDBACK-29 re-bucket from v0.6.0). Canonicalizes the USAGE.md §221f\nOption B recipe (popover + button + color-area) into a single\nform-associated tag for inline form contexts (settings drawer \"source\ncolor\" field, swatch-row inline-edit, etc.). Composes `<color-area-ui>`\n(ADR-0063, gh#1563 — renamed from `<color-picker-ui>`, cut in 0.8.43,\ngh#1617); `color-input-ui`'s own tag/name is unaffected.",
|
|
7845
7816
|
"type": "object",
|
|
7846
7817
|
"allOf": [
|
|
7847
7818
|
{
|
|
@@ -8057,152 +8028,6 @@
|
|
|
8057
8028
|
"version": 1
|
|
8058
8029
|
}
|
|
8059
8030
|
},
|
|
8060
|
-
"ColorPicker": {
|
|
8061
|
-
"title": "ColorPicker",
|
|
8062
|
-
"description": "DEPRECATED (ADR-0063, gh#1563, gh#1377 B11) — `-picker` is reserved for the outer, trigger + popover, form-associated composite shape (`calendar-picker-ui` / `date-range-picker-ui` / `datetime-picker-ui` / `time-picker-ui`); `color-picker-ui` was the sole violator, playing `calendar-grid-ui`'s inline-substrate role under a `-picker` name. `<color-picker-ui>` is now a thin `UIColorArea` subclass (see color-picker.class.js) rather than an independent implementation — every prop/event/token is inherited unchanged from `<color-area-ui>`. Existing markup keeps working, but new markup should reach for `<color-area-ui>` directly. See `<color-area-ui>` for the full contract.",
|
|
8063
|
-
"type": "object",
|
|
8064
|
-
"allOf": [
|
|
8065
|
-
{
|
|
8066
|
-
"$ref": "#/$defs/ComponentCommon"
|
|
8067
|
-
},
|
|
8068
|
-
{
|
|
8069
|
-
"$ref": "#/$defs/CatalogComponentCommon"
|
|
8070
|
-
}
|
|
8071
|
-
],
|
|
8072
|
-
"properties": {
|
|
8073
|
-
"baseHue": {
|
|
8074
|
-
"description": "Reference hue (degrees) for the [hue-drift-max] constraint. Default\nNaN — falls back to the picker's hue at first commit so the consumer\ncan pre-seed the picker and constrain drift from that initial value.\n",
|
|
8075
|
-
"type": "number",
|
|
8076
|
-
"default": "NaN"
|
|
8077
|
-
},
|
|
8078
|
-
"component": {
|
|
8079
|
-
"const": "ColorPicker"
|
|
8080
|
-
},
|
|
8081
|
-
"disabled": {
|
|
8082
|
-
"description": "Disables all interaction",
|
|
8083
|
-
"type": "boolean",
|
|
8084
|
-
"default": false
|
|
8085
|
-
},
|
|
8086
|
-
"format": {
|
|
8087
|
-
"description": "Output format for the value property",
|
|
8088
|
-
"type": "string",
|
|
8089
|
-
"enum": [
|
|
8090
|
-
"hex",
|
|
8091
|
-
"oklch"
|
|
8092
|
-
],
|
|
8093
|
-
"default": "hex"
|
|
8094
|
-
},
|
|
8095
|
-
"hueDriftMax": {
|
|
8096
|
-
"description": "Generation constraint — maximum allowed signed-shortest-path hue\ndeviation (degrees) from [base-hue] (or the first-committed hue\nif [base-hue] is unset). Default NaN (no constraint). Wrap-aware\nso a drift of 350 degrees resolves as -10.\n",
|
|
8097
|
-
"type": "number",
|
|
8098
|
-
"default": "NaN"
|
|
8099
|
-
},
|
|
8100
|
-
"maxChroma": {
|
|
8101
|
-
"description": "Generation constraint (v0.4.9 §99h, FEEDBACK-02 #7) — clamp the\nOKLCH chroma channel to at most this value before commit. Out-of-\nbound mutations round-trip to the nearest in-bound equivalent +\nfire `constraint-clamp`. Default Infinity (no constraint).\n",
|
|
8102
|
-
"type": "number",
|
|
8103
|
-
"default": "Infinity"
|
|
8104
|
-
},
|
|
8105
|
-
"maxL": {
|
|
8106
|
-
"description": "Generation constraint — clamp OKLCH lightness to at most this value (0..1). Default 1 (no constraint).",
|
|
8107
|
-
"type": "number",
|
|
8108
|
-
"default": 1
|
|
8109
|
-
},
|
|
8110
|
-
"minL": {
|
|
8111
|
-
"description": "Generation constraint — clamp OKLCH lightness to at least this value (0..1). Default 0 (no constraint).",
|
|
8112
|
-
"type": "number",
|
|
8113
|
-
"default": 0
|
|
8114
|
-
},
|
|
8115
|
-
"name": {
|
|
8116
|
-
"description": "Form field name",
|
|
8117
|
-
"type": "string",
|
|
8118
|
-
"default": ""
|
|
8119
|
-
},
|
|
8120
|
-
"value": {
|
|
8121
|
-
"description": "Current color as hex string",
|
|
8122
|
-
"type": "string",
|
|
8123
|
-
"default": "#3b82f6"
|
|
8124
|
-
}
|
|
8125
|
-
},
|
|
8126
|
-
"required": [
|
|
8127
|
-
"component"
|
|
8128
|
-
],
|
|
8129
|
-
"unevaluatedProperties": false,
|
|
8130
|
-
"x-adiaui": {
|
|
8131
|
-
"anti_patterns": [
|
|
8132
|
-
{
|
|
8133
|
-
"fix": "{\"component\": \"ColorArea\", \"name\": \"brand\"}\n",
|
|
8134
|
-
"why": "ColorPicker is deprecated (ADR-0063, gh#1563) — new generation should\nreach for ColorArea instead.\n",
|
|
8135
|
-
"wrong": "{\"component\": \"ColorPicker\", \"name\": \"brand\"}\n"
|
|
8136
|
-
}
|
|
8137
|
-
],
|
|
8138
|
-
"category": "input",
|
|
8139
|
-
"composes": [
|
|
8140
|
-
"slider-ui"
|
|
8141
|
-
],
|
|
8142
|
-
"events": {
|
|
8143
|
-
"change": {
|
|
8144
|
-
"description": "Fired on every color change"
|
|
8145
|
-
},
|
|
8146
|
-
"constraint-clamp": {
|
|
8147
|
-
"description": "Fired immediately before `change` / `input` when one or more\nconsumer-declared constraints (max-chroma / max-l / min-l /\nhue-drift-max) clamped a channel away from the user-requested\nvalue. detail.clamps is an array of axis-specific clamp records.\n",
|
|
8148
|
-
"detail": {
|
|
8149
|
-
"clamps": {
|
|
8150
|
-
"description": "Array of `{ axis, requested, clamped, reason }` objects. axis is\none of \"l\" / \"c\" / \"h\". reason names the triggering constraint\nprop. Empty arrays are never emitted.\n",
|
|
8151
|
-
"type": "array"
|
|
8152
|
-
}
|
|
8153
|
-
}
|
|
8154
|
-
},
|
|
8155
|
-
"input": {
|
|
8156
|
-
"description": "Fired during continuous interaction (drag)"
|
|
8157
|
-
}
|
|
8158
|
-
},
|
|
8159
|
-
"examples": [
|
|
8160
|
-
{
|
|
8161
|
-
"description": "Deprecated tag — prefer ColorArea's own \"color-area-demo\" example for NEW markup.",
|
|
8162
|
-
"a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"cp\"\n ]\n },\n {\n \"id\": \"cp\",\n \"component\": \"ColorPicker\",\n \"value\": \"#3b82f6\"\n }\n]",
|
|
8163
|
-
"name": "color-picker-legacy"
|
|
8164
|
-
}
|
|
8165
|
-
],
|
|
8166
|
-
"keywords": [
|
|
8167
|
-
"colorpicker",
|
|
8168
|
-
"color-picker",
|
|
8169
|
-
"color",
|
|
8170
|
-
"picker"
|
|
8171
|
-
],
|
|
8172
|
-
"name": "UIColorPicker",
|
|
8173
|
-
"parts": {},
|
|
8174
|
-
"related": [
|
|
8175
|
-
"color-area",
|
|
8176
|
-
"grid",
|
|
8177
|
-
"button"
|
|
8178
|
-
],
|
|
8179
|
-
"slots": {},
|
|
8180
|
-
"states": [
|
|
8181
|
-
{
|
|
8182
|
-
"description": "Default, ready for interaction.",
|
|
8183
|
-
"name": "idle"
|
|
8184
|
-
},
|
|
8185
|
-
{
|
|
8186
|
-
"description": "Non-interactive; dimmed.",
|
|
8187
|
-
"attribute": "disabled",
|
|
8188
|
-
"name": "disabled"
|
|
8189
|
-
}
|
|
8190
|
-
],
|
|
8191
|
-
"status": "deprecated",
|
|
8192
|
-
"synonyms": {
|
|
8193
|
-
"color-picker": [
|
|
8194
|
-
"color-canvas",
|
|
8195
|
-
"color-surface",
|
|
8196
|
-
"swatch-picker",
|
|
8197
|
-
"color-area"
|
|
8198
|
-
]
|
|
8199
|
-
},
|
|
8200
|
-
"tag": "color-picker-ui",
|
|
8201
|
-
"tokens": {},
|
|
8202
|
-
"traits": [],
|
|
8203
|
-
"version": 2
|
|
8204
|
-
}
|
|
8205
|
-
},
|
|
8206
8031
|
"Combobox": {
|
|
8207
8032
|
"title": "Combobox",
|
|
8208
8033
|
"description": "Typeahead-filterable single-select primitive — the constrained-choice\ncombobox per WAI-APG \"Combobox With List Autocomplete (manual\nselection)\". The committed value MUST come from the options list\nunless `[free-text]` is set. Distinct from `<select-ui searchable>`\n(button-first dropdown) and `<autocomplete-input-ui>` (free-form).\nForm-bearing via UIFormElement: `[name]`, `[value]`, `[required]`,\n`[disabled]`, fires `change`. Options via native `<option>` /\n`<optgroup>` children OR programmatic `.options` array.\n",
|
|
@@ -9984,9 +9809,9 @@
|
|
|
9984
9809
|
"version": 1
|
|
9985
9810
|
}
|
|
9986
9811
|
},
|
|
9987
|
-
"
|
|
9988
|
-
"title": "
|
|
9989
|
-
"description": "
|
|
9812
|
+
"DemoToggle": {
|
|
9813
|
+
"title": "DemoToggle",
|
|
9814
|
+
"description": "Side-by-side comparison primitive — header bar with a switch + two child slots (\"on\" / \"off\"); toggling the switch swaps which slot is visible. Used on trait detail pages to show \"with trait\" vs \"without trait\" on the same chrome. data-mode=\"overlay\" stacks the slots on the same coordinates so layout never shifts.",
|
|
9990
9815
|
"type": "object",
|
|
9991
9816
|
"allOf": [
|
|
9992
9817
|
{
|
|
@@ -9997,107 +9822,37 @@
|
|
|
9997
9822
|
}
|
|
9998
9823
|
],
|
|
9999
9824
|
"properties": {
|
|
10000
|
-
"required": {
|
|
10001
|
-
"description": "Required for validation when inside a `<form>`.",
|
|
10002
|
-
"type": "boolean",
|
|
10003
|
-
"default": false
|
|
10004
|
-
},
|
|
10005
9825
|
"component": {
|
|
10006
|
-
"const": "
|
|
10007
|
-
},
|
|
10008
|
-
"disabled": {
|
|
10009
|
-
"description": "Block all interaction. Trigger remains rendered but does not open the popover.",
|
|
10010
|
-
"type": "boolean",
|
|
10011
|
-
"default": false
|
|
10012
|
-
},
|
|
10013
|
-
"format": {
|
|
10014
|
-
"description": "Trigger button date format. `short`: `Jan 1, 2026 14:30`; `long`: `January 1, 2026 14:30`; `iso`: full ISO string.",
|
|
10015
|
-
"type": "string",
|
|
10016
|
-
"enum": [
|
|
10017
|
-
"short",
|
|
10018
|
-
"long",
|
|
10019
|
-
"iso"
|
|
10020
|
-
],
|
|
10021
|
-
"default": "short"
|
|
9826
|
+
"const": "DemoToggle"
|
|
10022
9827
|
},
|
|
10023
|
-
"
|
|
10024
|
-
"description": "
|
|
9828
|
+
"initial": {
|
|
9829
|
+
"description": "Initial state when [state] is not set on connect (\"on\" | \"off\").",
|
|
10025
9830
|
"type": "string",
|
|
10026
9831
|
"enum": [
|
|
10027
|
-
"",
|
|
10028
|
-
"
|
|
10029
|
-
"h23"
|
|
9832
|
+
"on",
|
|
9833
|
+
"off"
|
|
10030
9834
|
],
|
|
10031
|
-
"default": ""
|
|
10032
|
-
},
|
|
10033
|
-
"locale": {
|
|
10034
|
-
"description": "BCP-47 locale tag used to derive hour-cycle when `hour-cycle` is empty. Falls back to `<html lang>` then to browser default.",
|
|
10035
|
-
"type": "string",
|
|
10036
|
-
"default": ""
|
|
10037
|
-
},
|
|
10038
|
-
"max": {
|
|
10039
|
-
"description": "Latest selectable ISO 8601 datetime (inclusive). Days after are disabled in the calendar pane; times after are rejected by the time pane on the same day.",
|
|
10040
|
-
"type": "string",
|
|
10041
|
-
"default": ""
|
|
10042
|
-
},
|
|
10043
|
-
"min": {
|
|
10044
|
-
"description": "Earliest selectable ISO 8601 datetime (inclusive). Days before are disabled in the calendar pane; times before are rejected by the time pane on the same day.",
|
|
10045
|
-
"type": "string",
|
|
10046
|
-
"default": ""
|
|
10047
|
-
},
|
|
10048
|
-
"name": {
|
|
10049
|
-
"description": "Form field name. The ISO 8601 datetime is submitted under this key when the picker is inside a `<form>`.",
|
|
10050
|
-
"type": "string",
|
|
10051
|
-
"default": ""
|
|
10052
|
-
},
|
|
10053
|
-
"open": {
|
|
10054
|
-
"description": "Whether the popover is currently open.",
|
|
10055
|
-
"type": "boolean",
|
|
10056
|
-
"default": false
|
|
9835
|
+
"default": "off"
|
|
10057
9836
|
},
|
|
10058
|
-
"
|
|
10059
|
-
"description": "
|
|
9837
|
+
"labelOff": {
|
|
9838
|
+
"description": "Header label rendered when state is \"off\".",
|
|
10060
9839
|
"type": "string",
|
|
10061
|
-
"default": "
|
|
9840
|
+
"default": "Off"
|
|
10062
9841
|
},
|
|
10063
|
-
"
|
|
10064
|
-
"description": "
|
|
9842
|
+
"labelOn": {
|
|
9843
|
+
"description": "Header label rendered when state is \"on\".",
|
|
10065
9844
|
"type": "string",
|
|
10066
|
-
"
|
|
10067
|
-
"top",
|
|
10068
|
-
"bottom",
|
|
10069
|
-
"left",
|
|
10070
|
-
"right",
|
|
10071
|
-
"top-start",
|
|
10072
|
-
"top-end",
|
|
10073
|
-
"bottom-start",
|
|
10074
|
-
"bottom-end"
|
|
10075
|
-
],
|
|
10076
|
-
"default": "bottom"
|
|
9845
|
+
"default": "On"
|
|
10077
9846
|
},
|
|
10078
|
-
"
|
|
10079
|
-
"description": "
|
|
9847
|
+
"state": {
|
|
9848
|
+
"description": "Current toggle state (\"on\" | \"off\"). Reflected as data-state on the host.",
|
|
10080
9849
|
"type": "string",
|
|
10081
9850
|
"enum": [
|
|
10082
|
-
"
|
|
10083
|
-
"
|
|
10084
|
-
"
|
|
9851
|
+
"",
|
|
9852
|
+
"on",
|
|
9853
|
+
"off"
|
|
10085
9854
|
],
|
|
10086
|
-
"default": "
|
|
10087
|
-
},
|
|
10088
|
-
"readonly": {
|
|
10089
|
-
"description": "Block edits; allow keyboard navigation for screen-reader inspection.",
|
|
10090
|
-
"type": "boolean",
|
|
10091
|
-
"default": false
|
|
10092
|
-
},
|
|
10093
|
-
"step": {
|
|
10094
|
-
"description": "Per-Arrow-keypress increment in seconds for the time pane. 60 = minute precision (default), 900 = 15-minute, 1 = second precision.",
|
|
10095
|
-
"type": "number",
|
|
10096
|
-
"default": 60
|
|
10097
|
-
},
|
|
10098
|
-
"value": {
|
|
10099
|
-
"description": "Current value as ISO 8601 datetime (\"YYYY-MM-DDTHH:mm\" or \"YYYY-MM-DDTHH:mm:ss\"). Empty when no value selected.",
|
|
10100
|
-
"$ref": "#/$defs/DynamicString"
|
|
9855
|
+
"default": ""
|
|
10101
9856
|
}
|
|
10102
9857
|
},
|
|
10103
9858
|
"required": [
|
|
@@ -10105,192 +9860,8 @@
|
|
|
10105
9860
|
],
|
|
10106
9861
|
"unevaluatedProperties": false,
|
|
10107
9862
|
"x-adiaui": {
|
|
10108
|
-
"anti_patterns": [
|
|
10109
|
-
|
|
10110
|
-
"fix": "{\"component\": \"DatetimePicker\", \"value\": \"2026-05-24T00:00\"}\n",
|
|
10111
|
-
"why": "`value` is a date-only string — no time component. The contract requires\na full ISO 8601 datetime including the `T` and time segment.\n",
|
|
10112
|
-
"wrong": "{\"component\": \"DatetimePicker\", \"value\": \"2026-05-24\"}\n"
|
|
10113
|
-
},
|
|
10114
|
-
{
|
|
10115
|
-
"fix": "{\"component\": \"CalendarPicker\", \"precision\": \"minute\", \"name\": \"appointment\"}\n",
|
|
10116
|
-
"why": "DatetimePicker is deprecated (gh#1372) — new generation should reach\nfor CalendarPicker's widened precision axis instead.\n",
|
|
10117
|
-
"wrong": "{\"component\": \"DatetimePicker\", \"name\": \"appointment\"}\n"
|
|
10118
|
-
}
|
|
10119
|
-
],
|
|
10120
|
-
"category": "input",
|
|
10121
|
-
"composes": [
|
|
10122
|
-
"calendar-grid-ui",
|
|
10123
|
-
"time-picker-ui",
|
|
10124
|
-
"divider-ui"
|
|
10125
|
-
],
|
|
10126
|
-
"events": {
|
|
10127
|
-
"change": {
|
|
10128
|
-
"description": "Fired when the value commits (date picked + time edited, OR Apply clicked in explicit-commit mode).",
|
|
10129
|
-
"detail": {
|
|
10130
|
-
"value": "string"
|
|
10131
|
-
}
|
|
10132
|
-
},
|
|
10133
|
-
"close": {
|
|
10134
|
-
"description": "Popover closed (without commit, or after commit).",
|
|
10135
|
-
"detail": {
|
|
10136
|
-
"reason": "string"
|
|
10137
|
-
}
|
|
10138
|
-
},
|
|
10139
|
-
"input": {
|
|
10140
|
-
"description": "Fired during partial selection (date picked but time still pending, or vice versa).",
|
|
10141
|
-
"detail": {
|
|
10142
|
-
"value": "string"
|
|
10143
|
-
}
|
|
10144
|
-
},
|
|
10145
|
-
"invalid": {
|
|
10146
|
-
"description": "A constraint failed (out of range, parse error).",
|
|
10147
|
-
"detail": {
|
|
10148
|
-
"reason": "string",
|
|
10149
|
-
"value": "string"
|
|
10150
|
-
}
|
|
10151
|
-
},
|
|
10152
|
-
"open": {
|
|
10153
|
-
"description": "Popover opened (user clicked the trigger or pressed Enter / Space).",
|
|
10154
|
-
"detail": {
|
|
10155
|
-
"trigger": "string"
|
|
10156
|
-
}
|
|
10157
|
-
}
|
|
10158
|
-
},
|
|
10159
|
-
"examples": [
|
|
10160
|
-
{
|
|
10161
|
-
"description": "Form-field-wrapped picker with min/max bounds. Prefer the CalendarPicker[precision] form for NEW markup — see calendar-picker-ui's own \"datetime-picker\" example.",
|
|
10162
|
-
"a2ui": "[\n {\n \"id\": \"field\",\n \"component\": \"Field\",\n \"label\": \"Appointment\",\n \"children\": [\"dt\"]\n },\n {\n \"id\": \"dt\",\n \"component\": \"DatetimePicker\",\n \"name\": \"appointment\",\n \"min\": \"2026-01-01T00:00\",\n \"max\": \"2026-12-31T23:59\"\n }\n]\n",
|
|
10163
|
-
"name": "canonical"
|
|
10164
|
-
}
|
|
10165
|
-
],
|
|
10166
|
-
"keywords": [
|
|
10167
|
-
"datetimepicker",
|
|
10168
|
-
"datetime-picker",
|
|
10169
|
-
"datetime",
|
|
10170
|
-
"date-time",
|
|
10171
|
-
"dateandtime",
|
|
10172
|
-
"appointment",
|
|
10173
|
-
"schedule",
|
|
10174
|
-
"timestamp"
|
|
10175
|
-
],
|
|
10176
|
-
"name": "UIDatetimePicker",
|
|
10177
|
-
"parts": {},
|
|
10178
|
-
"related": [
|
|
10179
|
-
"calendar-picker",
|
|
10180
|
-
"time-picker",
|
|
10181
|
-
"date-range-picker",
|
|
10182
|
-
"popover",
|
|
10183
|
-
"field",
|
|
10184
|
-
"button"
|
|
10185
|
-
],
|
|
10186
|
-
"slots": {
|
|
10187
|
-
"footer": {
|
|
10188
|
-
"description": "Optional Apply / Cancel buttons for explicit-commit flows. Spans both panes below the calendar + time area."
|
|
10189
|
-
},
|
|
10190
|
-
"trigger": {
|
|
10191
|
-
"description": "Custom trigger replacement. When omitted, a default trigger is stamped (a plain clickable span, per the base `<calendar-picker-ui>` — NOT the old standalone datetime-picker's `<button-ui>` trigger; see the Consequences note below)."
|
|
10192
|
-
}
|
|
10193
|
-
},
|
|
10194
|
-
"states": [
|
|
10195
|
-
{
|
|
10196
|
-
"description": "Closed, no pending selection.",
|
|
10197
|
-
"name": "idle"
|
|
10198
|
-
},
|
|
10199
|
-
{
|
|
10200
|
-
"description": "Popover open.",
|
|
10201
|
-
"attribute": "open",
|
|
10202
|
-
"name": "open"
|
|
10203
|
-
},
|
|
10204
|
-
{
|
|
10205
|
-
"description": "Non-interactive; dimmed.",
|
|
10206
|
-
"attribute": "disabled",
|
|
10207
|
-
"name": "disabled"
|
|
10208
|
-
},
|
|
10209
|
-
{
|
|
10210
|
-
"description": "Read-only; trigger keyboard-focusable but popover does not open.",
|
|
10211
|
-
"attribute": "readonly",
|
|
10212
|
-
"name": "readonly"
|
|
10213
|
-
}
|
|
10214
|
-
],
|
|
10215
|
-
"status": "deprecated",
|
|
10216
|
-
"synonyms": {
|
|
10217
|
-
"appointment": [
|
|
10218
|
-
"datetime",
|
|
10219
|
-
"meeting",
|
|
10220
|
-
"schedule"
|
|
10221
|
-
],
|
|
10222
|
-
"datetime": [
|
|
10223
|
-
"date-time",
|
|
10224
|
-
"timestamp",
|
|
10225
|
-
"appointment",
|
|
10226
|
-
"schedule"
|
|
10227
|
-
],
|
|
10228
|
-
"tags": [
|
|
10229
|
-
"DateTimePicker",
|
|
10230
|
-
"DateTimeInput",
|
|
10231
|
-
"DatetimeInput",
|
|
10232
|
-
"Timestamp"
|
|
10233
|
-
]
|
|
10234
|
-
},
|
|
10235
|
-
"tag": "datetime-picker-ui",
|
|
10236
|
-
"tokens": {},
|
|
10237
|
-
"traits": [],
|
|
10238
|
-
"version": 2
|
|
10239
|
-
}
|
|
10240
|
-
},
|
|
10241
|
-
"DemoToggle": {
|
|
10242
|
-
"title": "DemoToggle",
|
|
10243
|
-
"description": "Side-by-side comparison primitive — header bar with a switch + two child slots (\"on\" / \"off\"); toggling the switch swaps which slot is visible. Used on trait detail pages to show \"with trait\" vs \"without trait\" on the same chrome. data-mode=\"overlay\" stacks the slots on the same coordinates so layout never shifts.",
|
|
10244
|
-
"type": "object",
|
|
10245
|
-
"allOf": [
|
|
10246
|
-
{
|
|
10247
|
-
"$ref": "#/$defs/ComponentCommon"
|
|
10248
|
-
},
|
|
10249
|
-
{
|
|
10250
|
-
"$ref": "#/$defs/CatalogComponentCommon"
|
|
10251
|
-
}
|
|
10252
|
-
],
|
|
10253
|
-
"properties": {
|
|
10254
|
-
"component": {
|
|
10255
|
-
"const": "DemoToggle"
|
|
10256
|
-
},
|
|
10257
|
-
"initial": {
|
|
10258
|
-
"description": "Initial state when [state] is not set on connect (\"on\" | \"off\").",
|
|
10259
|
-
"type": "string",
|
|
10260
|
-
"enum": [
|
|
10261
|
-
"on",
|
|
10262
|
-
"off"
|
|
10263
|
-
],
|
|
10264
|
-
"default": "off"
|
|
10265
|
-
},
|
|
10266
|
-
"labelOff": {
|
|
10267
|
-
"description": "Header label rendered when state is \"off\".",
|
|
10268
|
-
"type": "string",
|
|
10269
|
-
"default": "Off"
|
|
10270
|
-
},
|
|
10271
|
-
"labelOn": {
|
|
10272
|
-
"description": "Header label rendered when state is \"on\".",
|
|
10273
|
-
"type": "string",
|
|
10274
|
-
"default": "On"
|
|
10275
|
-
},
|
|
10276
|
-
"state": {
|
|
10277
|
-
"description": "Current toggle state (\"on\" | \"off\"). Reflected as data-state on the host.",
|
|
10278
|
-
"type": "string",
|
|
10279
|
-
"enum": [
|
|
10280
|
-
"",
|
|
10281
|
-
"on",
|
|
10282
|
-
"off"
|
|
10283
|
-
],
|
|
10284
|
-
"default": ""
|
|
10285
|
-
}
|
|
10286
|
-
},
|
|
10287
|
-
"required": [
|
|
10288
|
-
"component"
|
|
10289
|
-
],
|
|
10290
|
-
"unevaluatedProperties": false,
|
|
10291
|
-
"x-adiaui": {
|
|
10292
|
-
"anti_patterns": [],
|
|
10293
|
-
"category": "container",
|
|
9863
|
+
"anti_patterns": [],
|
|
9864
|
+
"category": "container",
|
|
10294
9865
|
"composes": [
|
|
10295
9866
|
"switch-ui"
|
|
10296
9867
|
],
|
|
@@ -11231,6 +10802,9 @@
|
|
|
11231
10802
|
"--drilldown-row-px": {
|
|
11232
10803
|
"description": "Inline padding of each row."
|
|
11233
10804
|
},
|
|
10805
|
+
"--drilldown-row-py": {
|
|
10806
|
+
"description": "Block padding of each row (grows a row past --drilldown-row-height once content, e.g. a two-line label+meta row, exceeds it)."
|
|
10807
|
+
},
|
|
11234
10808
|
"--drilldown-row-radius": {
|
|
11235
10809
|
"description": "Border radius of each row."
|
|
11236
10810
|
}
|
|
@@ -14162,7 +13736,7 @@
|
|
|
14162
13736
|
],
|
|
14163
13737
|
"properties": {
|
|
14164
13738
|
"type": {
|
|
14165
|
-
"description": "Input type. `password` wraps a native `<input>` for disc masking; `number` renders a contenteditable + stepper buttons (no native input). `text`/`email`/`tel`/`url` use plain contenteditable. input-ui does NOT implement date/time/color/search affordances — those HTML5 type values render as a plain contenteditable with no calendar, clock, swatch, or search affordance (first-pass-VALID against this enum historically, but functionally broken generation output). Use the owning primitive instead — CalendarPicker for date (+ month/week, no dedicated granularity primitive exists),
|
|
13739
|
+
"description": "Input type. `password` wraps a native `<input>` for disc masking; `number` renders a contenteditable + stepper buttons (no native input). `text`/`email`/`tel`/`url` use plain contenteditable. input-ui does NOT implement date/time/color/search affordances — those HTML5 type values render as a plain contenteditable with no calendar, clock, swatch, or search affordance (first-pass-VALID against this enum historically, but functionally broken generation output). Use the owning primitive instead — CalendarPicker for date (+ month/week, no dedicated granularity primitive exists), CalendarPicker precision=\"minute\" for datetime-local, TimePicker for time, ColorInput/ColorArea for color, Search for search. See anti_patterns.",
|
|
14166
13740
|
"type": "string",
|
|
14167
13741
|
"enum": [
|
|
14168
13742
|
"text",
|
|
@@ -14313,8 +13887,8 @@
|
|
|
14313
13887
|
"wrong": "{\"component\": \"Input\", \"type\": \"date\"}\n"
|
|
14314
13888
|
},
|
|
14315
13889
|
{
|
|
14316
|
-
"fix": "{\"component\": \"
|
|
14317
|
-
"why": "Same gap as \"date\" — no native datetime picker rendered. Use\
|
|
13890
|
+
"fix": "{\"component\": \"CalendarPicker\", \"precision\": \"minute\"}\n",
|
|
13891
|
+
"why": "Same gap as \"date\" — no native datetime picker rendered. Use\nCalendarPicker with precision=\"minute\" for combined date + time\ninput (DatetimePicker was a deprecated thin alias, cut in 0.8.43,\ngh#1617 — CalendarPicker is the sole tag now).\n",
|
|
14318
13892
|
"wrong": "{\"component\": \"Input\", \"type\": \"datetime-local\"}\n"
|
|
14319
13893
|
},
|
|
14320
13894
|
{
|
|
@@ -14334,7 +13908,7 @@
|
|
|
14334
13908
|
},
|
|
14335
13909
|
{
|
|
14336
13910
|
"fix": "{\"component\": \"ColorInput\"}\n",
|
|
14337
|
-
"why": "No native color swatch/picker rendered — just a plain text\nsurface. Use ColorInput for a compact form-bearing swatch +\npopover, or
|
|
13911
|
+
"why": "No native color swatch/picker rendered — just a plain text\nsurface. Use ColorInput for a compact form-bearing swatch +\npopover, or ColorArea directly for the full OKLCH picker surface\n(ColorPicker was a deprecated thin alias, cut in 0.8.43, gh#1617 —\nColorArea is the sole tag now).\n",
|
|
14338
13912
|
"wrong": "{\"component\": \"Input\", \"type\": \"color\"}\n"
|
|
14339
13913
|
},
|
|
14340
13914
|
{
|
|
@@ -17047,7 +16621,7 @@
|
|
|
17047
16621
|
},
|
|
17048
16622
|
"MenuItem": {
|
|
17049
16623
|
"title": "MenuItem",
|
|
17050
|
-
"description": "Child of `<menu-ui>`. One actionable row inside a menu, with optional leading icon + label + description + value. (`subtitle`
|
|
16624
|
+
"description": "Child of `<menu-ui>`. One actionable row inside a menu, with optional leading icon + label + description + value. (The deprecated `subtitle` prop alias for `description` was cut in 0.8.43 — ADR-0063, gh#1563/gh#1617.)",
|
|
17051
16625
|
"type": "object",
|
|
17052
16626
|
"allOf": [
|
|
17053
16627
|
{
|
|
@@ -17059,7 +16633,7 @@
|
|
|
17059
16633
|
],
|
|
17060
16634
|
"properties": {
|
|
17061
16635
|
"description": {
|
|
17062
|
-
"description": "Optional secondary description line rendered under the label. Canonical spelling (ADR-0063, gh#1563) replacing `subtitle` — converges menu-item onto the ~20-component corpus majority that already names this concept `description`.",
|
|
16636
|
+
"description": "Optional secondary description line rendered under the label. Canonical spelling (ADR-0063, gh#1563) replacing `subtitle` — converges menu-item onto the ~20-component corpus majority that already names this concept `description`. The deprecated `subtitle` prop alias was cut in 0.8.43 (gh#1617).",
|
|
17063
16637
|
"type": "string",
|
|
17064
16638
|
"default": ""
|
|
17065
16639
|
},
|
|
@@ -17076,11 +16650,6 @@
|
|
|
17076
16650
|
"type": "string",
|
|
17077
16651
|
"default": ""
|
|
17078
16652
|
},
|
|
17079
|
-
"subtitle": {
|
|
17080
|
-
"description": "DEPRECATED (ADR-0063, gh#1563) — use `description` instead. Same type/default/rendered position; kept working as a dual-read compat shim (one-time console.warn when it's the name that resolves). Removed in 0.9.0. (The `subtitle` SLOT below is a separate surface, deliberately left unrenamed in this pass — see its own description.)",
|
|
17081
|
-
"type": "string",
|
|
17082
|
-
"default": ""
|
|
17083
|
-
},
|
|
17084
16653
|
"text": {
|
|
17085
16654
|
"description": "Item label text.",
|
|
17086
16655
|
"type": "string",
|
|
@@ -17131,7 +16700,7 @@
|
|
|
17131
16700
|
"description": "Custom leading element override; falls through to `[icon]` prop if not slotted."
|
|
17132
16701
|
},
|
|
17133
16702
|
"subtitle": {
|
|
17134
|
-
"description": "Custom secondary-line content override; falls through to the `[description]` prop (
|
|
16703
|
+
"description": "Custom secondary-line content override; falls through to the `[description]` prop if not slotted (ADR-0063, gh#1563 — the deprecated `[subtitle]` prop alias was cut in 0.8.43, gh#1617). The slot's own name is unchanged by that rename — this is a distinct, deliberately-unrenamed surface."
|
|
17135
16704
|
},
|
|
17136
16705
|
"text": {
|
|
17137
16706
|
"description": "Custom label content; falls through to `[text]` prop if not slotted."
|
|
@@ -19308,7 +18877,7 @@
|
|
|
19308
18877
|
},
|
|
19309
18878
|
"Pane": {
|
|
19310
18879
|
"title": "Pane",
|
|
19311
|
-
"description": "Collapsible, resizable content panel — drag-resize handle on the\ninner edge when [
|
|
18880
|
+
"description": "Collapsible, resizable content panel — drag-resize handle on the\ninner edge when [edge=\"leading\"] / [edge=\"trailing\"], [resizable]\nopt-in. Used standalone for resizable two-pane layouts, or wrapped\nby <editor-sidebar> / <admin-sidebar> which DELEGATE drag to the\ninner pane-ui rather than reimplementing it. See pane.yaml's\na2ui.rules for the full composition contract.\n",
|
|
19312
18881
|
"type": "object",
|
|
19313
18882
|
"allOf": [
|
|
19314
18883
|
{
|
|
@@ -19328,7 +18897,7 @@
|
|
|
19328
18897
|
"const": "Pane"
|
|
19329
18898
|
},
|
|
19330
18899
|
"edge": {
|
|
19331
|
-
"description": "Opts a pane into horizontal-sibling chrome: suppresses the default\nfour-sided border and moves the resize grabber to the inner edge\n(right edge for `leading`, left edge for `trailing`). Also flips the\nresize-drag direction so `trailing` panes grow when dragged leftward.\nUnset keeps the pane-intrinsic chrome (full border, right-edge\ngrabber when resizable). Canonical spelling (ADR-0063, gh#1563)\
|
|
18900
|
+
"description": "Opts a pane into horizontal-sibling chrome: suppresses the default\nfour-sided border and moves the resize grabber to the inner edge\n(right edge for `leading`, left edge for `trailing`). Also flips the\nresize-drag direction so `trailing` panes grow when dragged leftward.\nUnset keeps the pane-intrinsic chrome (full border, right-edge\ngrabber when resizable). Canonical spelling (ADR-0063, gh#1563) — the\ndeprecated `side` dual-read alias was cut in 0.8.43 (gh#1617).\n",
|
|
19332
18901
|
"type": "string",
|
|
19333
18902
|
"enum": [
|
|
19334
18903
|
"",
|
|
@@ -19351,16 +18920,6 @@
|
|
|
19351
18920
|
"description": "Component property: resizable.",
|
|
19352
18921
|
"type": "boolean",
|
|
19353
18922
|
"default": false
|
|
19354
|
-
},
|
|
19355
|
-
"side": {
|
|
19356
|
-
"description": "DEPRECATED (ADR-0063, gh#1563) — use `edge` instead. Same type/default/enum; kept working as a dual-read compat shim (one-time console.warn when it's the name that resolves). Removed in 0.9.0.",
|
|
19357
|
-
"type": "string",
|
|
19358
|
-
"enum": [
|
|
19359
|
-
"",
|
|
19360
|
-
"leading",
|
|
19361
|
-
"trailing"
|
|
19362
|
-
],
|
|
19363
|
-
"default": ""
|
|
19364
18923
|
}
|
|
19365
18924
|
},
|
|
19366
18925
|
"required": [
|
|
@@ -20915,7 +20474,7 @@
|
|
|
20915
20474
|
},
|
|
20916
20475
|
"Progress": {
|
|
20917
20476
|
"title": "Progress",
|
|
20918
|
-
"description": "Linear progress bar indicator. Value < 0 marks indeterminate state showing animated activity instead of a fill. Bar-only — for circular loading indicators use <spinner-ui> instead (the former `variant=\"spinner\"` render mode was retired; spinner-ui owns circular). Set `label` for a labeled task-list row (label + bar + optional `meta` text in one row, e.g. storage quotas, capacity breakdowns) — absorbed <progress-row-ui>'s row layout directly; that component
|
|
20477
|
+
"description": "Linear progress bar indicator. Value < 0 marks indeterminate state showing animated activity instead of a fill. Bar-only — for circular loading indicators use <spinner-ui> instead (the former `variant=\"spinner\"` render mode was retired; spinner-ui owns circular). Set `label` for a labeled task-list row (label + bar + optional `meta` text in one row, e.g. storage quotas, capacity breakdowns) — absorbed <progress-row-ui>'s row layout directly; that component was cut in 0.8.43 (gh#1617). Omit `label` for a standalone bar (global loading indicators); for percent-complete inline displays use <stat-ui> instead.",
|
|
20919
20478
|
"type": "object",
|
|
20920
20479
|
"allOf": [
|
|
20921
20480
|
{
|
|
@@ -21123,111 +20682,6 @@
|
|
|
21123
20682
|
"version": 1
|
|
21124
20683
|
}
|
|
21125
20684
|
},
|
|
21126
|
-
"ProgressRow": {
|
|
21127
|
-
"title": "ProgressRow",
|
|
21128
|
-
"description": "DEPRECATED (gh#1363 C4) — absorbed into <progress-ui>: set `label` (and optional `meta`) directly on <progress-ui> instead, which activates the identical row layout in place. progress-row-ui keeps working (still composes <progress-ui> internally, unchanged behavior) for existing back-compat markup, but is no longer taught or generated for new work. Was: inline labeled progress row with label, progress bar, and meta text — storage quotas, capacity breakdowns, usage indicators.",
|
|
21129
|
-
"type": "object",
|
|
21130
|
-
"allOf": [
|
|
21131
|
-
{
|
|
21132
|
-
"$ref": "#/$defs/ComponentCommon"
|
|
21133
|
-
},
|
|
21134
|
-
{
|
|
21135
|
-
"$ref": "#/$defs/CatalogComponentCommon"
|
|
21136
|
-
}
|
|
21137
|
-
],
|
|
21138
|
-
"properties": {
|
|
21139
|
-
"component": {
|
|
21140
|
-
"const": "ProgressRow"
|
|
21141
|
-
},
|
|
21142
|
-
"label": {
|
|
21143
|
-
"description": "Left-hand label text",
|
|
21144
|
-
"type": "string",
|
|
21145
|
-
"default": ""
|
|
21146
|
-
},
|
|
21147
|
-
"meta": {
|
|
21148
|
-
"description": "Right-hand meta text (e.g. '32 GB', '4.2k / 10k')",
|
|
21149
|
-
"type": "string",
|
|
21150
|
-
"default": ""
|
|
21151
|
-
},
|
|
21152
|
-
"value": {
|
|
21153
|
-
"description": "Progress value 0-100 (null = indeterminate; legacy -1 accepted for back-compat)",
|
|
21154
|
-
"type": [
|
|
21155
|
-
"number",
|
|
21156
|
-
"null"
|
|
21157
|
-
],
|
|
21158
|
-
"default": null
|
|
21159
|
-
},
|
|
21160
|
-
"variant": {
|
|
21161
|
-
"description": "Color variant for the progress fill",
|
|
21162
|
-
"type": "string",
|
|
21163
|
-
"enum": [
|
|
21164
|
-
"default",
|
|
21165
|
-
"success",
|
|
21166
|
-
"warning",
|
|
21167
|
-
"danger"
|
|
21168
|
-
],
|
|
21169
|
-
"default": "default"
|
|
21170
|
-
}
|
|
21171
|
-
},
|
|
21172
|
-
"required": [
|
|
21173
|
-
"component"
|
|
21174
|
-
],
|
|
21175
|
-
"unevaluatedProperties": false,
|
|
21176
|
-
"x-adiaui": {
|
|
21177
|
-
"anti_patterns": [
|
|
21178
|
-
{
|
|
21179
|
-
"fix": "{\"component\": \"Progress\", \"label\": \"CPU\", \"value\": 92}\n",
|
|
21180
|
-
"why": "ProgressRow is deprecated — its row layout was absorbed\ninto Progress directly.\n",
|
|
21181
|
-
"wrong": "{\"component\": \"ProgressRow\", \"label\": \"CPU\", \"value\": 92}\n"
|
|
21182
|
-
}
|
|
21183
|
-
],
|
|
21184
|
-
"category": "feedback",
|
|
21185
|
-
"composes": [
|
|
21186
|
-
"progress-ui"
|
|
21187
|
-
],
|
|
21188
|
-
"events": {},
|
|
21189
|
-
"examples": [],
|
|
21190
|
-
"keywords": [
|
|
21191
|
-
"progressrow",
|
|
21192
|
-
"progress-row",
|
|
21193
|
-
"progress",
|
|
21194
|
-
"row"
|
|
21195
|
-
],
|
|
21196
|
-
"name": "UIProgressRow",
|
|
21197
|
-
"parts": {},
|
|
21198
|
-
"related": [
|
|
21199
|
-
"Progress",
|
|
21200
|
-
"StepProgress",
|
|
21201
|
-
"List"
|
|
21202
|
-
],
|
|
21203
|
-
"slots": {
|
|
21204
|
-
"label": {
|
|
21205
|
-
"description": "Label region — control label."
|
|
21206
|
-
},
|
|
21207
|
-
"meta": {
|
|
21208
|
-
"description": "Child content region for the `meta` slot."
|
|
21209
|
-
}
|
|
21210
|
-
},
|
|
21211
|
-
"states": [
|
|
21212
|
-
{
|
|
21213
|
-
"description": "Default, ready for interaction.",
|
|
21214
|
-
"name": "idle"
|
|
21215
|
-
}
|
|
21216
|
-
],
|
|
21217
|
-
"status": "deprecated",
|
|
21218
|
-
"synonyms": {
|
|
21219
|
-
"progress-row": [
|
|
21220
|
-
"task-row",
|
|
21221
|
-
"progress-line",
|
|
21222
|
-
"labeled-progress"
|
|
21223
|
-
]
|
|
21224
|
-
},
|
|
21225
|
-
"tag": "progress-row-ui",
|
|
21226
|
-
"tokens": {},
|
|
21227
|
-
"traits": [],
|
|
21228
|
-
"version": 1
|
|
21229
|
-
}
|
|
21230
|
-
},
|
|
21231
20685
|
"QRCode": {
|
|
21232
20686
|
"title": "QRCode",
|
|
21233
20687
|
"description": "Inline QR code generator — renders a scannable code as inline SVG.\nTwo modes:\n\n**A. Auto-encode (default).** Set `[value]` to a string (URL, plain\ntext, share link, 2FA secret). The component encodes the data with\nthe built-in zero-deps QR encoder (byte mode, ECC level configurable,\nversions 1–10 up to ~150 byte chars) and renders an SVG.\n\n**B. Bring-your-own matrix.** Set `[matrix]` to a JSON string of a\n2-D 0/1 array (`[[1,0,1,...],[...],...]`). The component renders the\nsupplied matrix directly without invoking its own encoder. Use this\nwhen you need versions 11–40, kanji/alphanumeric mode, or any\nencoder feature beyond the built-in. When both `[value]` and\n`[matrix]` are set, the matrix wins (BYO override).\n\nOutput is a single `<svg>` with `viewBox=\"0 0 N N\"`. Crisp-edges\nrendering preserves the scannable cell boundaries at any size.\nSizing is controlled by the `[size]` prop (host CSS-pixel dimension);\ninternal cell size is computed from `size / (matrix-size + 2 ·\nquiet-zone)`. ARIA: `role=\"img\"` with `aria-label` (default \"QR code\"\nor the `[label]` prop).\n",
|
|
@@ -22704,8 +22158,7 @@
|
|
|
22704
22158
|
"name": "UISegment",
|
|
22705
22159
|
"parts": {},
|
|
22706
22160
|
"related": [
|
|
22707
|
-
"segmented-control"
|
|
22708
|
-
"ToggleOption"
|
|
22161
|
+
"segmented-control"
|
|
22709
22162
|
],
|
|
22710
22163
|
"slots": {},
|
|
22711
22164
|
"states": [
|
|
@@ -22760,7 +22213,7 @@
|
|
|
22760
22213
|
"const": "Segmented"
|
|
22761
22214
|
},
|
|
22762
22215
|
"multiple": {
|
|
22763
|
-
"description": "Enables multi-select — value becomes a comma-separated set, the sliding indicator is suppressed (each selected segment carries its own background instead), and Space/Enter toggles a focused segment instead of arrow-move selecting it. Positive polarity, matching select-ui[multiple]. Absorbs the role of the
|
|
22216
|
+
"description": "Enables multi-select — value becomes a comma-separated set, the sliding indicator is suppressed (each selected segment carries its own background instead), and Space/Enter toggles a focused segment instead of arrow-move selecting it. Positive polarity, matching select-ui[multiple]. Absorbs the role of the <toggle-group-ui> + <toggle-option-ui> pair (gh#1369, #1363 C1) — those components were cut in 0.8.43 (gh#1617). Unlike the former <toggle-group-ui single>, re-clicking an already-selected segment does NOT clear the selection — segmented-ui's single-select is standard radiogroup semantics (always exactly one selected once a value is set).",
|
|
22764
22217
|
"type": "boolean",
|
|
22765
22218
|
"default": false
|
|
22766
22219
|
},
|
|
@@ -22819,8 +22272,6 @@
|
|
|
22819
22272
|
},
|
|
22820
22273
|
"related": [
|
|
22821
22274
|
"Segment",
|
|
22822
|
-
"ToggleGroup",
|
|
22823
|
-
"ToggleOption",
|
|
22824
22275
|
"Tabs",
|
|
22825
22276
|
"Radio"
|
|
22826
22277
|
],
|
|
@@ -26220,7 +25671,7 @@
|
|
|
26220
25671
|
},
|
|
26221
25672
|
"TableToolbar": {
|
|
26222
25673
|
"title": "TableToolbar",
|
|
26223
|
-
"description": "Header / companion bar for a sibling table-ui. Renders title + count badge, filter / sort / columns popovers,
|
|
25674
|
+
"description": "Header / companion bar for a sibling table-ui. Renders an optional leading [slot=\"scope\"] region, title + count badge, an optional \"Showing X–Y of N\" range summary, filter / sort / columns popovers, a search input, an optional page-size select, and a trailing [slot=\"actions\"] region — all wired to the target table via an [for] id-ref. Modeled on chart-legend-ui's [for] binding pattern. Drop next to (or above) any table-ui to add the standard data-grid toolbar without re-implementing search, filter, sort, column visibility, or pagination summary/page-size. Filter rows auto-pick a primitive per column: ≤ 50 distinct values → multi-select (searchable when ≥ 12 options), id-like keys → free-text contains. The column descriptor's `filter` field overrides the auto-detect: `'select'` forces multi-select even on high-cardinality columns; `'text'` forces a contains input even on small enums.",
|
|
26224
25675
|
"type": "object",
|
|
26225
25676
|
"allOf": [
|
|
26226
25677
|
{
|
|
@@ -26264,11 +25715,35 @@
|
|
|
26264
25715
|
"type": "boolean",
|
|
26265
25716
|
"default": false
|
|
26266
25717
|
},
|
|
25718
|
+
"pageSize": {
|
|
25719
|
+
"description": "Current rows-per-page value, shown as the selected option in the page-size select. Falls back to the first entry of pageSizeOptions when unset (0) or not present among the options. Applied directly to the bound table's own [paginate] prop (rows-per-page), the same way filter/sort/columns changes are applied to the target — mirror this prop only to reflect state to URL / persistence / analytics.",
|
|
25720
|
+
"type": "number",
|
|
25721
|
+
"default": 0
|
|
25722
|
+
},
|
|
25723
|
+
"pageSizeOptions": {
|
|
25724
|
+
"description": "Rows-per-page choices rendered as `<option>`s in the page-size select (e.g. `[10, 25, 50, 100]`). JS property (`.pageSizeOptions = [...]`), or a declarative JSON-array `page-size-options=\"[10,25,50]\"` attribute hydrated once at connect — the same dynamic-array pattern table-ui's own `columns`/`data` props use. Empty (the default) hides the page-size select entirely — additive opt-in, no footprint on existing consumers.",
|
|
25725
|
+
"$ref": "#/$defs/DynamicStringList"
|
|
25726
|
+
},
|
|
26267
25727
|
"placeholder": {
|
|
26268
25728
|
"description": "Placeholder text for the search input.",
|
|
26269
25729
|
"type": "string",
|
|
26270
25730
|
"default": "Search..."
|
|
26271
25731
|
},
|
|
25732
|
+
"rangeEnd": {
|
|
25733
|
+
"description": "1-indexed last row number of the current page, for the range summary (e.g. `25` in \"Showing 1–25 of 320\"). See rangeStart.",
|
|
25734
|
+
"type": "number",
|
|
25735
|
+
"default": 0
|
|
25736
|
+
},
|
|
25737
|
+
"rangeStart": {
|
|
25738
|
+
"description": "1-indexed first row number of the current page, for the \"Showing X–Y of N\" range summary (e.g. `1` in \"Showing 1–25 of 320\"). Renders alongside — never in place of — [text]/[count]; the range summary is its own cluster, independent of the title cluster. All three of rangeStart/rangeEnd/rangeTotal must be set (> 0) for the summary to render; omit all three (the default) to opt out entirely.",
|
|
25739
|
+
"type": "number",
|
|
25740
|
+
"default": 0
|
|
25741
|
+
},
|
|
25742
|
+
"rangeTotal": {
|
|
25743
|
+
"description": "Total row count across all pages, for the range summary (e.g. `320` in \"Showing 1–25 of 320\"). Distinct from pagination-ui's `total` (total PAGES) — this is total ROWS; deliberately not spelled `total` to avoid that cross-sibling name collision (ADR-0063 B5). See rangeStart.",
|
|
25744
|
+
"type": "number",
|
|
25745
|
+
"default": 0
|
|
25746
|
+
},
|
|
26272
25747
|
"text": {
|
|
26273
25748
|
"description": "Title text shown on the left.",
|
|
26274
25749
|
"type": "string",
|
|
@@ -26310,6 +25785,9 @@
|
|
|
26310
25785
|
"filter-change": {
|
|
26311
25786
|
"description": "Filter set changed. Detail: { filters }."
|
|
26312
25787
|
},
|
|
25788
|
+
"page-size-change": {
|
|
25789
|
+
"description": "Page-size select changed. Detail: { pageSize }."
|
|
25790
|
+
},
|
|
26313
25791
|
"search": {
|
|
26314
25792
|
"description": "Debounced search query change. Detail: { value }."
|
|
26315
25793
|
},
|
|
@@ -26322,6 +25800,11 @@
|
|
|
26322
25800
|
"description": "Members table with filter/sort/columns/search wired to a sibling table-ui.",
|
|
26323
25801
|
"a2ui": "[\n {\"id\": \"root\", \"component\": \"Column\", \"gap\": \"3\", \"children\": [\"bar\", \"card\"]},\n {\"id\": \"bar\", \"component\": \"TableToolbar\", \"for\": \"members\", \"text\": \"All Employees\", \"count\": \"32\"},\n {\"id\": \"card\", \"component\": \"Card\", \"children\": [\"sec\"]},\n {\"id\": \"sec\", \"component\": \"Section\", \"bleed\": true, \"children\": [\"tbl\"]},\n {\"id\": \"tbl\", \"component\": \"Table\", \"id\": \"members\", \"sortable\": true, \"raw\": true}\n]",
|
|
26324
25802
|
"name": "members-toolbar"
|
|
25803
|
+
},
|
|
25804
|
+
{
|
|
25805
|
+
"description": "The ratified adiav2 list-page toolbar row (ADIA2-9123): scope menu, range summary, filter/columns triggers, page-size select, and a primary CTA — search and sort dropped per that contract.",
|
|
25806
|
+
"a2ui": "[\n {\"id\": \"root\", \"component\": \"Column\", \"gap\": \"3\", \"children\": [\"bar\", \"card\"]},\n {\"id\": \"bar\", \"component\": \"TableToolbar\", \"for\": \"accounts\", \"no-sort\": true, \"no-search\": true, \"range-start\": 1, \"range-end\": 25, \"range-total\": 320, \"page-size\": 25, \"page-size-options\": [10, 25, 50, 100]},\n {\"id\": \"card\", \"component\": \"Card\", \"children\": [\"sec\"]},\n {\"id\": \"sec\", \"component\": \"Section\", \"bleed\": true, \"children\": [\"tbl\"]},\n {\"id\": \"tbl\", \"component\": \"Table\", \"id\": \"accounts\", \"sortable\": true, \"raw\": true}\n]",
|
|
25807
|
+
"name": "adiav2-list-page-toolbar-row"
|
|
26325
25808
|
}
|
|
26326
25809
|
],
|
|
26327
25810
|
"keywords": [
|
|
@@ -26350,6 +25833,9 @@
|
|
|
26350
25833
|
"slots": {
|
|
26351
25834
|
"actions": {
|
|
26352
25835
|
"description": "Trailing action area — primary buttons (e.g. \"New row\") rendered after the search input."
|
|
25836
|
+
},
|
|
25837
|
+
"scope": {
|
|
25838
|
+
"description": "Leading region rendered BEFORE the [text]/[count] title cluster — e.g. a scope/view-switcher menu (an org's teams, a saved view). Positioning is CSS by DOM order, mirroring how [slot=\"actions\"] is a real, author-fillable insertion point rather than template-stamped content."
|
|
26353
25839
|
}
|
|
26354
25840
|
},
|
|
26355
25841
|
"states": [
|
|
@@ -26401,6 +25887,12 @@
|
|
|
26401
25887
|
"--table-toolbar-radius": {
|
|
26402
25888
|
"description": "Toolbar corner radius (variant=card)"
|
|
26403
25889
|
},
|
|
25890
|
+
"--table-toolbar-summary-fg": {
|
|
25891
|
+
"description": "Range-summary (\"Showing X–Y of N\") text color"
|
|
25892
|
+
},
|
|
25893
|
+
"--table-toolbar-summary-size": {
|
|
25894
|
+
"description": "Range-summary font size"
|
|
25895
|
+
},
|
|
26404
25896
|
"--table-toolbar-title-fg": {
|
|
26405
25897
|
"description": "Title text color"
|
|
26406
25898
|
},
|
|
@@ -28399,236 +27891,6 @@
|
|
|
28399
27891
|
"version": 1
|
|
28400
27892
|
}
|
|
28401
27893
|
},
|
|
28402
|
-
"ToggleGroup": {
|
|
28403
|
-
"title": "ToggleGroup",
|
|
28404
|
-
"description": "DEPRECATED (gh#1369) — use <segmented-ui multiple> + <segment-ui> instead. Multi-select button group (unlike <segmented-ui> which is single-select by default). Hosts <toggle-option-ui> children, each independently toggleable; emits change events with the active value set.",
|
|
28405
|
-
"type": "object",
|
|
28406
|
-
"allOf": [
|
|
28407
|
-
{
|
|
28408
|
-
"$ref": "#/$defs/ComponentCommon"
|
|
28409
|
-
},
|
|
28410
|
-
{
|
|
28411
|
-
"$ref": "#/$defs/CatalogComponentCommon"
|
|
28412
|
-
}
|
|
28413
|
-
],
|
|
28414
|
-
"properties": {
|
|
28415
|
-
"component": {
|
|
28416
|
-
"const": "ToggleGroup"
|
|
28417
|
-
},
|
|
28418
|
-
"single": {
|
|
28419
|
-
"description": "When true, restrict to one active option (single-select) — clicking the already-selected option again CLEARS it (empty value), unlike a native radiogroup. Migration (gh#1369): [single]=true maps to plain <segmented-ui> (no [multiple]) — note segmented-ui's single-select never clears on re-click, it's standard radiogroup semantics; the default (false, multi-select) maps to <segmented-ui multiple>.",
|
|
28420
|
-
"type": "boolean",
|
|
28421
|
-
"default": false
|
|
28422
|
-
},
|
|
28423
|
-
"value": {
|
|
28424
|
-
"description": "Comma-separated selected values",
|
|
28425
|
-
"type": "string",
|
|
28426
|
-
"default": ""
|
|
28427
|
-
}
|
|
28428
|
-
},
|
|
28429
|
-
"required": [
|
|
28430
|
-
"component"
|
|
28431
|
-
],
|
|
28432
|
-
"unevaluatedProperties": false,
|
|
28433
|
-
"x-adiaui": {
|
|
28434
|
-
"allowedChildren": [
|
|
28435
|
-
"ToggleOption"
|
|
28436
|
-
],
|
|
28437
|
-
"anti_patterns": [],
|
|
28438
|
-
"category": "navigation",
|
|
28439
|
-
"composes": [],
|
|
28440
|
-
"events": {
|
|
28441
|
-
"change": {
|
|
28442
|
-
"description": "Fired when selection changes. detail: { value }",
|
|
28443
|
-
"detail": {
|
|
28444
|
-
"value": {
|
|
28445
|
-
"description": "New toggle-group value.",
|
|
28446
|
-
"type": "string"
|
|
28447
|
-
}
|
|
28448
|
-
}
|
|
28449
|
-
}
|
|
28450
|
-
},
|
|
28451
|
-
"examples": [
|
|
28452
|
-
{
|
|
28453
|
-
"description": "Basic ToggleGroup usage",
|
|
28454
|
-
"a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"comp\"\n ]\n },\n {\n \"id\": \"comp\",\n \"component\": \"ToggleGroup\",\n \"value\": \"\"\n }\n]",
|
|
28455
|
-
"name": "basic-toggle-group"
|
|
28456
|
-
}
|
|
28457
|
-
],
|
|
28458
|
-
"keywords": [
|
|
28459
|
-
"togglegroup",
|
|
28460
|
-
"toggle-group",
|
|
28461
|
-
"toggle",
|
|
28462
|
-
"group"
|
|
28463
|
-
],
|
|
28464
|
-
"name": "UIToggleGroup",
|
|
28465
|
-
"parts": {},
|
|
28466
|
-
"related": [
|
|
28467
|
-
"ToggleOption",
|
|
28468
|
-
"Segmented",
|
|
28469
|
-
"Radio"
|
|
28470
|
-
],
|
|
28471
|
-
"slots": {
|
|
28472
|
-
"default": {
|
|
28473
|
-
"description": "Default slot — primary child content."
|
|
28474
|
-
}
|
|
28475
|
-
},
|
|
28476
|
-
"states": [
|
|
28477
|
-
{
|
|
28478
|
-
"description": "Default, ready for interaction.",
|
|
28479
|
-
"name": "idle"
|
|
28480
|
-
}
|
|
28481
|
-
],
|
|
28482
|
-
"status": "deprecated",
|
|
28483
|
-
"synonyms": {
|
|
28484
|
-
"toggle-group": [
|
|
28485
|
-
"segmented-control",
|
|
28486
|
-
"option-group",
|
|
28487
|
-
"toggle-set"
|
|
28488
|
-
]
|
|
28489
|
-
},
|
|
28490
|
-
"tag": "toggle-group-ui",
|
|
28491
|
-
"tokens": {
|
|
28492
|
-
"--toggle-group-border": {
|
|
28493
|
-
"description": "Border color of the group container"
|
|
28494
|
-
},
|
|
28495
|
-
"--toggle-group-height": {
|
|
28496
|
-
"description": "Height of the group container"
|
|
28497
|
-
},
|
|
28498
|
-
"--toggle-group-radius": {
|
|
28499
|
-
"description": "Border radius of the group container"
|
|
28500
|
-
},
|
|
28501
|
-
"--toggle-option-bg-hover": {
|
|
28502
|
-
"description": "Background color on hover"
|
|
28503
|
-
},
|
|
28504
|
-
"--toggle-option-border": {
|
|
28505
|
-
"description": "Border color between adjacent options"
|
|
28506
|
-
},
|
|
28507
|
-
"--toggle-option-duration": {
|
|
28508
|
-
"description": "Transition duration"
|
|
28509
|
-
},
|
|
28510
|
-
"--toggle-option-easing": {
|
|
28511
|
-
"description": "Transition easing function"
|
|
28512
|
-
},
|
|
28513
|
-
"--toggle-option-fg": {
|
|
28514
|
-
"description": "Default text color"
|
|
28515
|
-
},
|
|
28516
|
-
"--toggle-option-fg-disabled": {
|
|
28517
|
-
"description": "Text color when disabled"
|
|
28518
|
-
},
|
|
28519
|
-
"--toggle-option-fg-hover": {
|
|
28520
|
-
"description": "Text color on hover"
|
|
28521
|
-
},
|
|
28522
|
-
"--toggle-option-focus-ring": {
|
|
28523
|
-
"description": "Focus ring box-shadow"
|
|
28524
|
-
},
|
|
28525
|
-
"--toggle-option-font-size": {
|
|
28526
|
-
"description": "Font size for option text and icons"
|
|
28527
|
-
},
|
|
28528
|
-
"--toggle-option-gap": {
|
|
28529
|
-
"description": "Gap between icon and text within an option"
|
|
28530
|
-
},
|
|
28531
|
-
"--toggle-option-height": {
|
|
28532
|
-
"description": "Min-height of each option"
|
|
28533
|
-
},
|
|
28534
|
-
"--toggle-option-px": {
|
|
28535
|
-
"description": "Horizontal padding of each option"
|
|
28536
|
-
},
|
|
28537
|
-
"--toggle-option-selected-bg": {
|
|
28538
|
-
"description": "Background color when selected"
|
|
28539
|
-
},
|
|
28540
|
-
"--toggle-option-selected-fg": {
|
|
28541
|
-
"description": "Text color when selected"
|
|
28542
|
-
}
|
|
28543
|
-
},
|
|
28544
|
-
"traits": [],
|
|
28545
|
-
"version": 1
|
|
28546
|
-
}
|
|
28547
|
-
},
|
|
28548
|
-
"ToggleOption": {
|
|
28549
|
-
"title": "ToggleOption",
|
|
28550
|
-
"description": "DEPRECATED (gh#1369) — use `<segment-ui>` inside `<segmented-ui multiple>` instead. Child of `<toggle-group-ui>`. One toggleable option inside a single-select or multi-select group. Pressed state mirrors `value` against the parent's selection.",
|
|
28551
|
-
"type": "object",
|
|
28552
|
-
"allOf": [
|
|
28553
|
-
{
|
|
28554
|
-
"$ref": "#/$defs/ComponentCommon"
|
|
28555
|
-
},
|
|
28556
|
-
{
|
|
28557
|
-
"$ref": "#/$defs/CatalogComponentCommon"
|
|
28558
|
-
}
|
|
28559
|
-
],
|
|
28560
|
-
"properties": {
|
|
28561
|
-
"component": {
|
|
28562
|
-
"const": "ToggleOption"
|
|
28563
|
-
},
|
|
28564
|
-
"disabled": {
|
|
28565
|
-
"description": "Disabled state — blocks pointer + keyboard activation.",
|
|
28566
|
-
"type": "boolean",
|
|
28567
|
-
"default": false
|
|
28568
|
-
},
|
|
28569
|
-
"icon": {
|
|
28570
|
-
"description": "Optional Phosphor icon name; renders as a leading icon.",
|
|
28571
|
-
"type": "string",
|
|
28572
|
-
"default": ""
|
|
28573
|
-
},
|
|
28574
|
-
"selected": {
|
|
28575
|
-
"description": "Whether this option is currently selected. Managed by the parent\n<toggle-group-ui> container (ADR-0056) — don't set directly; the group's\n`value` is the single source of truth. Converges onto <segment-ui>'s\ndeclared reflected-prop mechanism.",
|
|
28576
|
-
"type": "boolean",
|
|
28577
|
-
"default": false
|
|
28578
|
-
},
|
|
28579
|
-
"text": {
|
|
28580
|
-
"description": "Visible label text.",
|
|
28581
|
-
"type": "string",
|
|
28582
|
-
"default": ""
|
|
28583
|
-
},
|
|
28584
|
-
"value": {
|
|
28585
|
-
"description": "Stable identifier matched against the parent group's `value`.",
|
|
28586
|
-
"type": "string",
|
|
28587
|
-
"default": ""
|
|
28588
|
-
}
|
|
28589
|
-
},
|
|
28590
|
-
"required": [
|
|
28591
|
-
"component"
|
|
28592
|
-
],
|
|
28593
|
-
"unevaluatedProperties": false,
|
|
28594
|
-
"x-adiaui": {
|
|
28595
|
-
"allowedParents": [
|
|
28596
|
-
"ToggleGroup"
|
|
28597
|
-
],
|
|
28598
|
-
"anti_patterns": [],
|
|
28599
|
-
"category": "form",
|
|
28600
|
-
"composes": [],
|
|
28601
|
-
"events": {},
|
|
28602
|
-
"examples": [],
|
|
28603
|
-
"keywords": [
|
|
28604
|
-
"toggle-option",
|
|
28605
|
-
"toggle-segment",
|
|
28606
|
-
"option-toggle",
|
|
28607
|
-
"segmented-option"
|
|
28608
|
-
],
|
|
28609
|
-
"name": "UIToggleOption",
|
|
28610
|
-
"parts": {},
|
|
28611
|
-
"related": [
|
|
28612
|
-
"ToggleGroup",
|
|
28613
|
-
"Segment",
|
|
28614
|
-
"Radio"
|
|
28615
|
-
],
|
|
28616
|
-
"slots": {},
|
|
28617
|
-
"states": [],
|
|
28618
|
-
"status": "deprecated",
|
|
28619
|
-
"synonyms": {
|
|
28620
|
-
"toggle-option": [
|
|
28621
|
-
"toggle-segment",
|
|
28622
|
-
"option-button",
|
|
28623
|
-
"segmented-option"
|
|
28624
|
-
]
|
|
28625
|
-
},
|
|
28626
|
-
"tag": "toggle-option-ui",
|
|
28627
|
-
"tokens": {},
|
|
28628
|
-
"traits": [],
|
|
28629
|
-
"version": 1
|
|
28630
|
-
}
|
|
28631
|
-
},
|
|
28632
27894
|
"ToggleScheme": {
|
|
28633
27895
|
"title": "ToggleScheme",
|
|
28634
27896
|
"description": "Icon-button primitive that toggles `color-scheme` between light and dark on a target element (default `:root`). Encapsulates the prefers-color-scheme initial-resolution, the inline-style write to the target, optional localStorage persistence (sharing the `adia-theme-` namespace with <theme-panel>), and the moon/sun icon swap. Replaces the hand-wired `<button-ui id=\"theme-toggle\">` + `applyScheme()` pattern previously duplicated across apps/genui, apps/construct-canvas, playgrounds/chat.",
|