@kubex/zinc 1.1.69 → 1.1.70
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/dist/custom-elements.json +307 -12
- package/dist/vscode.html-custom-data.json +13 -4
- package/dist/web-types.json +49 -11
- package/dist/zn.d.ts +75 -7
- package/dist/zn.min.js +275 -224
- package/docs/pages/components/icon-picker.md +14 -0
- package/docs/pages/components/input.md +19 -1
- package/docs/pages/components/theme-editor.md +52 -18
- package/package.json +1 -1
- package/src/components/collapsible/collapsible.scss +0 -10
- package/src/components/file/file.component.ts +15 -0
- package/src/components/icon-picker/icon-picker.component.ts +150 -16
- package/src/components/icon-picker/icon-picker.scss +32 -0
- package/src/components/input/input.component.ts +44 -21
- package/src/components/input/input.scss +134 -42
- package/src/components/input/input.test.ts +45 -0
- package/src/components/theme-editor/theme-editor.component.ts +166 -9
- package/src/components/theme-editor/theme-editor.test.ts +168 -0
|
@@ -13563,6 +13563,11 @@
|
|
|
13563
13563
|
"privacy": "private",
|
|
13564
13564
|
"description": "Clear the current value after the user confirms."
|
|
13565
13565
|
},
|
|
13566
|
+
{
|
|
13567
|
+
"kind": "method",
|
|
13568
|
+
"name": "clear",
|
|
13569
|
+
"description": "Programmatically clears the selected file and any external `src` without\nconfirmation. Unlike a user-initiated clear, this does not flag the control\nto submit an empty value."
|
|
13570
|
+
},
|
|
13566
13571
|
{
|
|
13567
13572
|
"kind": "method",
|
|
13568
13573
|
"name": "updatePreview",
|
|
@@ -16683,7 +16688,7 @@
|
|
|
16683
16688
|
"name": "formControlController",
|
|
16684
16689
|
"privacy": "private",
|
|
16685
16690
|
"readonly": true,
|
|
16686
|
-
"default": "new FormControlController(this, { assumeInteractionOn: ['zn-change'] })"
|
|
16691
|
+
"default": "new FormControlController(this, { assumeInteractionOn: ['zn-change'], // With allow-upload, a chosen file is submitted under `name` in place of // the icon string — the two are mutually exclusive. value: (el: ZnIconPicker) => el._file ?? el.icon })"
|
|
16687
16692
|
},
|
|
16688
16693
|
{
|
|
16689
16694
|
"kind": "field",
|
|
@@ -16718,7 +16723,7 @@
|
|
|
16718
16723
|
"type": {
|
|
16719
16724
|
"text": "string"
|
|
16720
16725
|
},
|
|
16721
|
-
"default": "'material'",
|
|
16726
|
+
"default": "'material-symbols-outlined'",
|
|
16722
16727
|
"attribute": "library"
|
|
16723
16728
|
},
|
|
16724
16729
|
{
|
|
@@ -16777,6 +16782,33 @@
|
|
|
16777
16782
|
"attribute": "required",
|
|
16778
16783
|
"reflects": true
|
|
16779
16784
|
},
|
|
16785
|
+
{
|
|
16786
|
+
"kind": "field",
|
|
16787
|
+
"name": "triggerSubmit",
|
|
16788
|
+
"type": {
|
|
16789
|
+
"text": "boolean"
|
|
16790
|
+
},
|
|
16791
|
+
"default": "false",
|
|
16792
|
+
"attribute": "trigger-submit"
|
|
16793
|
+
},
|
|
16794
|
+
{
|
|
16795
|
+
"kind": "field",
|
|
16796
|
+
"name": "allowUpload",
|
|
16797
|
+
"type": {
|
|
16798
|
+
"text": "boolean"
|
|
16799
|
+
},
|
|
16800
|
+
"default": "false",
|
|
16801
|
+
"attribute": "allow-upload"
|
|
16802
|
+
},
|
|
16803
|
+
{
|
|
16804
|
+
"kind": "field",
|
|
16805
|
+
"name": "accept",
|
|
16806
|
+
"type": {
|
|
16807
|
+
"text": "string"
|
|
16808
|
+
},
|
|
16809
|
+
"default": "'image/*'",
|
|
16810
|
+
"attribute": "accept"
|
|
16811
|
+
},
|
|
16780
16812
|
{
|
|
16781
16813
|
"kind": "field",
|
|
16782
16814
|
"name": "form",
|
|
@@ -16857,6 +16889,51 @@
|
|
|
16857
16889
|
"privacy": "private",
|
|
16858
16890
|
"default": "''"
|
|
16859
16891
|
},
|
|
16892
|
+
{
|
|
16893
|
+
"kind": "field",
|
|
16894
|
+
"name": "_pendingFile",
|
|
16895
|
+
"type": {
|
|
16896
|
+
"text": "File | null"
|
|
16897
|
+
},
|
|
16898
|
+
"privacy": "private",
|
|
16899
|
+
"default": "null"
|
|
16900
|
+
},
|
|
16901
|
+
{
|
|
16902
|
+
"kind": "field",
|
|
16903
|
+
"name": "_pendingFileUrl",
|
|
16904
|
+
"type": {
|
|
16905
|
+
"text": "string | null"
|
|
16906
|
+
},
|
|
16907
|
+
"privacy": "private",
|
|
16908
|
+
"default": "null"
|
|
16909
|
+
},
|
|
16910
|
+
{
|
|
16911
|
+
"kind": "field",
|
|
16912
|
+
"name": "_mode",
|
|
16913
|
+
"type": {
|
|
16914
|
+
"text": "'icon' | 'upload'"
|
|
16915
|
+
},
|
|
16916
|
+
"privacy": "private",
|
|
16917
|
+
"default": "'icon'"
|
|
16918
|
+
},
|
|
16919
|
+
{
|
|
16920
|
+
"kind": "field",
|
|
16921
|
+
"name": "_file",
|
|
16922
|
+
"type": {
|
|
16923
|
+
"text": "File | null"
|
|
16924
|
+
},
|
|
16925
|
+
"privacy": "private",
|
|
16926
|
+
"default": "null"
|
|
16927
|
+
},
|
|
16928
|
+
{
|
|
16929
|
+
"kind": "field",
|
|
16930
|
+
"name": "_fileUrl",
|
|
16931
|
+
"type": {
|
|
16932
|
+
"text": "string | null"
|
|
16933
|
+
},
|
|
16934
|
+
"privacy": "private",
|
|
16935
|
+
"default": "null"
|
|
16936
|
+
},
|
|
16860
16937
|
{
|
|
16861
16938
|
"kind": "field",
|
|
16862
16939
|
"name": "_dialog",
|
|
@@ -16865,6 +16942,14 @@
|
|
|
16865
16942
|
},
|
|
16866
16943
|
"privacy": "private"
|
|
16867
16944
|
},
|
|
16945
|
+
{
|
|
16946
|
+
"kind": "field",
|
|
16947
|
+
"name": "_fileInput",
|
|
16948
|
+
"type": {
|
|
16949
|
+
"text": "HTMLInputElement"
|
|
16950
|
+
},
|
|
16951
|
+
"privacy": "private"
|
|
16952
|
+
},
|
|
16868
16953
|
{
|
|
16869
16954
|
"kind": "field",
|
|
16870
16955
|
"name": "value",
|
|
@@ -16872,6 +16957,24 @@
|
|
|
16872
16957
|
"text": "string"
|
|
16873
16958
|
}
|
|
16874
16959
|
},
|
|
16960
|
+
{
|
|
16961
|
+
"kind": "field",
|
|
16962
|
+
"name": "file",
|
|
16963
|
+
"type": {
|
|
16964
|
+
"text": "File | null"
|
|
16965
|
+
},
|
|
16966
|
+
"description": "The chosen file when the user uploaded an image instead of picking an icon.",
|
|
16967
|
+
"readonly": true
|
|
16968
|
+
},
|
|
16969
|
+
{
|
|
16970
|
+
"kind": "field",
|
|
16971
|
+
"name": "isImageValue",
|
|
16972
|
+
"type": {
|
|
16973
|
+
"text": "boolean"
|
|
16974
|
+
},
|
|
16975
|
+
"description": "True when the current value renders as an image (an uploaded file or a URL) rather than a library icon.",
|
|
16976
|
+
"readonly": true
|
|
16977
|
+
},
|
|
16875
16978
|
{
|
|
16876
16979
|
"kind": "field",
|
|
16877
16980
|
"name": "validity",
|
|
@@ -16991,6 +17094,29 @@
|
|
|
16991
17094
|
"name": "handleCancel",
|
|
16992
17095
|
"privacy": "private"
|
|
16993
17096
|
},
|
|
17097
|
+
{
|
|
17098
|
+
"kind": "method",
|
|
17099
|
+
"name": "handleFileSelect",
|
|
17100
|
+
"privacy": "private",
|
|
17101
|
+
"parameters": [
|
|
17102
|
+
{
|
|
17103
|
+
"name": "e",
|
|
17104
|
+
"type": {
|
|
17105
|
+
"text": "Event"
|
|
17106
|
+
}
|
|
17107
|
+
}
|
|
17108
|
+
]
|
|
17109
|
+
},
|
|
17110
|
+
{
|
|
17111
|
+
"kind": "method",
|
|
17112
|
+
"name": "discardPendingFile",
|
|
17113
|
+
"privacy": "private"
|
|
17114
|
+
},
|
|
17115
|
+
{
|
|
17116
|
+
"kind": "method",
|
|
17117
|
+
"name": "clearFile",
|
|
17118
|
+
"privacy": "private"
|
|
17119
|
+
},
|
|
16994
17120
|
{
|
|
16995
17121
|
"kind": "method",
|
|
16996
17122
|
"name": "handleSearchInput",
|
|
@@ -17110,7 +17236,7 @@
|
|
|
17110
17236
|
"type": {
|
|
17111
17237
|
"text": "string"
|
|
17112
17238
|
},
|
|
17113
|
-
"default": "'material'",
|
|
17239
|
+
"default": "'material-symbols-outlined'",
|
|
17114
17240
|
"fieldName": "library"
|
|
17115
17241
|
},
|
|
17116
17242
|
{
|
|
@@ -17161,6 +17287,30 @@
|
|
|
17161
17287
|
"default": "false",
|
|
17162
17288
|
"fieldName": "required"
|
|
17163
17289
|
},
|
|
17290
|
+
{
|
|
17291
|
+
"name": "trigger-submit",
|
|
17292
|
+
"type": {
|
|
17293
|
+
"text": "boolean"
|
|
17294
|
+
},
|
|
17295
|
+
"default": "false",
|
|
17296
|
+
"fieldName": "triggerSubmit"
|
|
17297
|
+
},
|
|
17298
|
+
{
|
|
17299
|
+
"name": "allow-upload",
|
|
17300
|
+
"type": {
|
|
17301
|
+
"text": "boolean"
|
|
17302
|
+
},
|
|
17303
|
+
"default": "false",
|
|
17304
|
+
"fieldName": "allowUpload"
|
|
17305
|
+
},
|
|
17306
|
+
{
|
|
17307
|
+
"name": "accept",
|
|
17308
|
+
"type": {
|
|
17309
|
+
"text": "string"
|
|
17310
|
+
},
|
|
17311
|
+
"default": "'image/*'",
|
|
17312
|
+
"fieldName": "accept"
|
|
17313
|
+
},
|
|
17164
17314
|
{
|
|
17165
17315
|
"name": "form",
|
|
17166
17316
|
"type": {
|
|
@@ -17994,6 +18144,28 @@
|
|
|
17994
18144
|
"kind": "class",
|
|
17995
18145
|
"description": "",
|
|
17996
18146
|
"name": "ZnInput",
|
|
18147
|
+
"cssProperties": [
|
|
18148
|
+
{
|
|
18149
|
+
"description": "The height of a range input's track.",
|
|
18150
|
+
"name": "--zn-range-track-height"
|
|
18151
|
+
},
|
|
18152
|
+
{
|
|
18153
|
+
"description": "The color of a range input's track.",
|
|
18154
|
+
"name": "--zn-range-track-color"
|
|
18155
|
+
},
|
|
18156
|
+
{
|
|
18157
|
+
"description": "The diameter of a range input's thumb.",
|
|
18158
|
+
"name": "--zn-range-thumb-size"
|
|
18159
|
+
},
|
|
18160
|
+
{
|
|
18161
|
+
"description": "The color of a range input's thumb.",
|
|
18162
|
+
"name": "--zn-range-thumb-color"
|
|
18163
|
+
},
|
|
18164
|
+
{
|
|
18165
|
+
"description": "The width of the ring drawn around a range input's thumb.",
|
|
18166
|
+
"name": "--zn-range-thumb-ring-width"
|
|
18167
|
+
}
|
|
18168
|
+
],
|
|
17997
18169
|
"cssParts": [
|
|
17998
18170
|
{
|
|
17999
18171
|
"description": "The form control that wraps the label, input, and help text.",
|
|
@@ -18046,7 +18218,7 @@
|
|
|
18046
18218
|
"name": "label-tooltip"
|
|
18047
18219
|
},
|
|
18048
18220
|
{
|
|
18049
|
-
"description": "Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute.",
|
|
18221
|
+
"description": "Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute. Range inputs display their live value here unless this is set.",
|
|
18050
18222
|
"name": "context-note"
|
|
18051
18223
|
},
|
|
18052
18224
|
{
|
|
@@ -18160,7 +18332,7 @@
|
|
|
18160
18332
|
"kind": "field",
|
|
18161
18333
|
"name": "type",
|
|
18162
18334
|
"type": {
|
|
18163
|
-
"text": "'color' | 'currency' | 'date' | 'datetime-local' | 'email' | 'number' | 'password' |\n 'search' | 'tel' | 'text' | 'time' | 'url'"
|
|
18335
|
+
"text": "'color' | 'currency' | 'date' | 'datetime-local' | 'email' | 'number' | 'password' |\n 'range' | 'search' | 'tel' | 'text' | 'time' | 'url'"
|
|
18164
18336
|
},
|
|
18165
18337
|
"default": "'text'",
|
|
18166
18338
|
"description": "The type of input. Works the same as native `<input>` element. But only a subset of types is supported. Defaults\nto `text`",
|
|
@@ -18362,6 +18534,16 @@
|
|
|
18362
18534
|
"description": "The color format to display for color inputs. Only applies when type is 'color'. *",
|
|
18363
18535
|
"attribute": "color-format"
|
|
18364
18536
|
},
|
|
18537
|
+
{
|
|
18538
|
+
"kind": "field",
|
|
18539
|
+
"name": "valueSuffix",
|
|
18540
|
+
"type": {
|
|
18541
|
+
"text": "string"
|
|
18542
|
+
},
|
|
18543
|
+
"default": "''",
|
|
18544
|
+
"description": "Appended to the value that range inputs display above the track, on the right, e.g. `rem`. Only applies when type\nis 'range' and no `context-note` is set.",
|
|
18545
|
+
"attribute": "value-suffix"
|
|
18546
|
+
},
|
|
18365
18547
|
{
|
|
18366
18548
|
"kind": "field",
|
|
18367
18549
|
"name": "form",
|
|
@@ -18966,7 +19148,7 @@
|
|
|
18966
19148
|
{
|
|
18967
19149
|
"name": "type",
|
|
18968
19150
|
"type": {
|
|
18969
|
-
"text": "'color' | 'currency' | 'date' | 'datetime-local' | 'email' | 'number' | 'password' |\n 'search' | 'tel' | 'text' | 'time' | 'url'"
|
|
19151
|
+
"text": "'color' | 'currency' | 'date' | 'datetime-local' | 'email' | 'number' | 'password' |\n 'range' | 'search' | 'tel' | 'text' | 'time' | 'url'"
|
|
18970
19152
|
},
|
|
18971
19153
|
"default": "'text'",
|
|
18972
19154
|
"description": "The type of input. Works the same as native `<input>` element. But only a subset of types is supported. Defaults\nto `text`",
|
|
@@ -19134,6 +19316,15 @@
|
|
|
19134
19316
|
"description": "The color format to display for color inputs. Only applies when type is 'color'. *",
|
|
19135
19317
|
"fieldName": "colorFormat"
|
|
19136
19318
|
},
|
|
19319
|
+
{
|
|
19320
|
+
"name": "value-suffix",
|
|
19321
|
+
"type": {
|
|
19322
|
+
"text": "string"
|
|
19323
|
+
},
|
|
19324
|
+
"default": "''",
|
|
19325
|
+
"description": "Appended to the value that range inputs display above the track, on the right, e.g. `rem`. Only applies when type\nis 'range' and no `context-note` is set.",
|
|
19326
|
+
"fieldName": "valueSuffix"
|
|
19327
|
+
},
|
|
19137
19328
|
{
|
|
19138
19329
|
"name": "form",
|
|
19139
19330
|
"type": {
|
|
@@ -19274,7 +19465,7 @@
|
|
|
19274
19465
|
"tagNameWithoutPrefix": "input",
|
|
19275
19466
|
"tagName": "zn-input",
|
|
19276
19467
|
"customElement": true,
|
|
19277
|
-
"jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/input\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-tooltip\n *\n * @event zn-blur - Emitted when the control loses focus.\n * @event zn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event zn-clear - Emitted when the clear button is activated.\n * @event zn-focus - Emitted when the control gains focus.\n * @event zn-input - Emitted when the control receives input.\n * @event zn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the input.\n * @slot suffix - Used to append a presentational icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input - The internal `<input>` control.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart suffix - The container that wraps the suffix.\n */",
|
|
19468
|
+
"jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/input\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-tooltip\n *\n * @event zn-blur - Emitted when the control loses focus.\n * @event zn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event zn-clear - Emitted when the clear button is activated.\n * @event zn-focus - Emitted when the control gains focus.\n * @event zn-input - Emitted when the control receives input.\n * @event zn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute. Range inputs display their live value here unless this is set.\n * @slot prefix - Used to prepend a presentational icon or similar element to the input.\n * @slot suffix - Used to append a presentational icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input - The internal `<input>` control.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart suffix - The container that wraps the suffix.\n *\n * @cssproperty --zn-range-track-height - The height of a range input's track.\n * @cssproperty --zn-range-track-color - The color of a range input's track.\n * @cssproperty --zn-range-thumb-size - The diameter of a range input's thumb.\n * @cssproperty --zn-range-thumb-color - The color of a range input's thumb.\n * @cssproperty --zn-range-thumb-ring-width - The width of the ring drawn around a range input's thumb.\n */",
|
|
19278
19469
|
"documentation": "https://zinc.style/components/input",
|
|
19279
19470
|
"status": "experimental",
|
|
19280
19471
|
"since": "1.0",
|
|
@@ -39988,7 +40179,7 @@
|
|
|
39988
40179
|
],
|
|
39989
40180
|
"slots": [
|
|
39990
40181
|
{
|
|
39991
|
-
"description": "Ungrouped theme controls, rendered above any sections. Controls assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a `groups` entry) render inside that section/group instead. Harvesting and change detection walk every slot's full assigned subtree, not just direct children.",
|
|
40182
|
+
"description": "Ungrouped theme controls, rendered above any sections. Controls assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a `groups` entry) render inside that section/group instead. Harvesting and change detection walk every slot's full assigned subtree, not just direct children. With `sections` left unset, the structure is instead derived from the controls' own attributes: `group=\"<label>\"` becomes a tab and `category=\"<label>\"` a collapsible within it, and the control is slotted into that collapsible automatically. Either attribute works alone - a control with only `group` sits directly in its tab, and one with only `category` becomes its own top-level section. Setting `sections` explicitly disables the derivation entirely.",
|
|
39992
40183
|
"name": ""
|
|
39993
40184
|
},
|
|
39994
40185
|
{
|
|
@@ -40109,7 +40300,7 @@
|
|
|
40109
40300
|
"text": "ThemeEditorSection[]"
|
|
40110
40301
|
},
|
|
40111
40302
|
"default": "[]",
|
|
40112
|
-
"description": "Groups controls into named sections. Empty/unset renders
|
|
40303
|
+
"description": "Groups controls into named sections. Empty/unset falls back to deriving the\nstructure from the controls' own `group`/`category` attributes, and renders\none ungrouped column when they carry neither. A section with a non-empty\n`groups` nests a collapsible per group inside a `zn-tabs` tab for that\nsection - see `groups` on `ThemeEditorSection`.",
|
|
40113
40304
|
"attribute": "sections"
|
|
40114
40305
|
},
|
|
40115
40306
|
{
|
|
@@ -40362,6 +40553,15 @@
|
|
|
40362
40553
|
"privacy": "private",
|
|
40363
40554
|
"default": "0"
|
|
40364
40555
|
},
|
|
40556
|
+
{
|
|
40557
|
+
"kind": "field",
|
|
40558
|
+
"name": "_openedInitialCollapsible",
|
|
40559
|
+
"type": {
|
|
40560
|
+
"text": "boolean"
|
|
40561
|
+
},
|
|
40562
|
+
"privacy": "private",
|
|
40563
|
+
"default": "false"
|
|
40564
|
+
},
|
|
40365
40565
|
{
|
|
40366
40566
|
"kind": "field",
|
|
40367
40567
|
"name": "values",
|
|
@@ -40645,6 +40845,55 @@
|
|
|
40645
40845
|
}
|
|
40646
40846
|
]
|
|
40647
40847
|
},
|
|
40848
|
+
{
|
|
40849
|
+
"kind": "method",
|
|
40850
|
+
"name": "_hasStructureAttributes",
|
|
40851
|
+
"privacy": "private",
|
|
40852
|
+
"return": {
|
|
40853
|
+
"type": {
|
|
40854
|
+
"text": "boolean"
|
|
40855
|
+
}
|
|
40856
|
+
},
|
|
40857
|
+
"description": "Whether any direct child carries the `group`/`category` structure attributes."
|
|
40858
|
+
},
|
|
40859
|
+
{
|
|
40860
|
+
"kind": "method",
|
|
40861
|
+
"name": "_usesDerivedSections",
|
|
40862
|
+
"privacy": "private",
|
|
40863
|
+
"return": {
|
|
40864
|
+
"type": {
|
|
40865
|
+
"text": "boolean"
|
|
40866
|
+
}
|
|
40867
|
+
},
|
|
40868
|
+
"description": "Attribute-derived structure applies only when `sections` is left unset."
|
|
40869
|
+
},
|
|
40870
|
+
{
|
|
40871
|
+
"kind": "method",
|
|
40872
|
+
"name": "_derive",
|
|
40873
|
+
"privacy": "private",
|
|
40874
|
+
"return": {
|
|
40875
|
+
"type": {
|
|
40876
|
+
"text": "DerivedStructure"
|
|
40877
|
+
}
|
|
40878
|
+
},
|
|
40879
|
+
"description": "Builds the tab/collapsible tree from the controls' own `group` (tab) and\n`category` (collapsible) attributes, alongside the slot name each control\nneeds assigning to. Only direct children are considered, since `slot` only\nworks one level deep. Slot names are slugged from the labels and made\nunique across the whole tree, so two tabs can each hold a \"Colors\"\ncategory without their slots colliding."
|
|
40880
|
+
},
|
|
40881
|
+
{
|
|
40882
|
+
"kind": "method",
|
|
40883
|
+
"name": "_effectiveSections",
|
|
40884
|
+
"privacy": "private",
|
|
40885
|
+
"return": {
|
|
40886
|
+
"type": {
|
|
40887
|
+
"text": "ThemeEditorSection[]"
|
|
40888
|
+
}
|
|
40889
|
+
},
|
|
40890
|
+
"description": "Explicit `sections` when set, otherwise the attribute-derived tree."
|
|
40891
|
+
},
|
|
40892
|
+
{
|
|
40893
|
+
"kind": "method",
|
|
40894
|
+
"name": "_assignDerivedSlots",
|
|
40895
|
+
"privacy": "private"
|
|
40896
|
+
},
|
|
40648
40897
|
{
|
|
40649
40898
|
"kind": "method",
|
|
40650
40899
|
"name": "_hasNestedGroups",
|
|
@@ -40703,6 +40952,52 @@
|
|
|
40703
40952
|
}
|
|
40704
40953
|
]
|
|
40705
40954
|
},
|
|
40955
|
+
{
|
|
40956
|
+
"kind": "method",
|
|
40957
|
+
"name": "_tabCollapsibles",
|
|
40958
|
+
"privacy": "private",
|
|
40959
|
+
"return": {
|
|
40960
|
+
"type": {
|
|
40961
|
+
"text": "ZnCollapsible[]"
|
|
40962
|
+
}
|
|
40963
|
+
},
|
|
40964
|
+
"parameters": [
|
|
40965
|
+
{
|
|
40966
|
+
"name": "section",
|
|
40967
|
+
"type": {
|
|
40968
|
+
"text": "ThemeEditorSection"
|
|
40969
|
+
}
|
|
40970
|
+
}
|
|
40971
|
+
],
|
|
40972
|
+
"description": "Every collapsible inside a tab's panel, in document order."
|
|
40973
|
+
},
|
|
40974
|
+
{
|
|
40975
|
+
"kind": "method",
|
|
40976
|
+
"name": "_expandFirst",
|
|
40977
|
+
"privacy": "private",
|
|
40978
|
+
"parameters": [
|
|
40979
|
+
{
|
|
40980
|
+
"name": "collapsibles",
|
|
40981
|
+
"type": {
|
|
40982
|
+
"text": "ZnCollapsible[]"
|
|
40983
|
+
}
|
|
40984
|
+
}
|
|
40985
|
+
],
|
|
40986
|
+
"description": "Expands the first collapsible, unless one is already open."
|
|
40987
|
+
},
|
|
40988
|
+
{
|
|
40989
|
+
"kind": "method",
|
|
40990
|
+
"name": "_openFirstCollapsible",
|
|
40991
|
+
"privacy": "private",
|
|
40992
|
+
"parameters": [
|
|
40993
|
+
{
|
|
40994
|
+
"name": "section",
|
|
40995
|
+
"type": {
|
|
40996
|
+
"text": "ThemeEditorSection"
|
|
40997
|
+
}
|
|
40998
|
+
}
|
|
40999
|
+
]
|
|
41000
|
+
},
|
|
40706
41001
|
{
|
|
40707
41002
|
"kind": "method",
|
|
40708
41003
|
"name": "_renderTabs",
|
|
@@ -40819,7 +41114,7 @@
|
|
|
40819
41114
|
"text": "ThemeEditorSection[]"
|
|
40820
41115
|
},
|
|
40821
41116
|
"default": "[]",
|
|
40822
|
-
"description": "Groups controls into named sections. Empty/unset renders
|
|
41117
|
+
"description": "Groups controls into named sections. Empty/unset falls back to deriving the\nstructure from the controls' own `group`/`category` attributes, and renders\none ungrouped column when they carry neither. A section with a non-empty\n`groups` nests a collapsible per group inside a `zn-tabs` tab for that\nsection - see `groups` on `ThemeEditorSection`.",
|
|
40823
41118
|
"fieldName": "sections"
|
|
40824
41119
|
},
|
|
40825
41120
|
{
|
|
@@ -40903,7 +41198,7 @@
|
|
|
40903
41198
|
"tagNameWithoutPrefix": "theme-editor",
|
|
40904
41199
|
"tagName": "zn-theme-editor",
|
|
40905
41200
|
"customElement": true,
|
|
40906
|
-
"jsDoc": "/**\n * @summary A theme editor: slotted form controls drive a live preview frame,\n * with a toolbar for the preview's light/dark mode and device width.\n * @documentation https://zinc.style/components/theme-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-collapsible\n * @dependency zn-preview-frame\n * @dependency zn-icon\n * @dependency zn-button\n * @dependency zn-tabs\n * @dependency zn-navbar\n * @dependency zn-select\n *\n * @event zn-theme-change - Emitted when the values, mode or device change.\n * @event zn-theme-submit - Emitted on submit (button click), carrying the\n * current values. With `action` set, only fires after a successful save.\n * @event zn-error - Emitted when a save fails. Also seen for preview render\n * failures: the frame's zn-error is composed and not stopped, so it bubbles\n * out through the editor too.\n *\n * @slot - Ungrouped theme controls, rendered above any sections. Controls\n * assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a\n * `groups` entry) render inside that section/group instead. Harvesting and\n * change detection walk every slot's full assigned subtree, not just direct\n * children.\n * @slot toolbar - Actions in the toolbar, right-aligned beside the device\n * controls. Where a save button belongs.\n * @slot footer - Actions pinned beneath the controls. The built-in submit button\n * lives in the toolbar, not here.\n *\n * @csspart base - The component's base wrapper.\n * @csspart controls - The left-hand controls column, full height.\n * @csspart controls-header - The controls column's header row: `controls-caption` on the left, the light/dark mode toggle on the right.\n * @csspart toolbar - The preview column's header row: `preview-caption` on the left, the device switcher (and sources/submit) on the right. Spans the preview column only.\n * @csspart section - A rendered section's or group's collapsible (`section-layout=\"collapsible\"`, or any nested group).\n * @csspart footer - The footer wrapper beneath the controls.\n * @csspart preview - The preview column.\n * @csspart error - The inline error strip.\n * @csspart preview__base - The frame's base wrapper (forwarded from zn-preview-frame).\n * @csspart preview__stage - The frame's device-width wrapper (forwarded from zn-preview-frame).\n * @csspart preview__iframe - The frame's iframe (forwarded from zn-preview-frame).\n * @csspart preview__error - The frame's own error overlay (forwarded from zn-preview-frame).\n *\n * @cssproperty --zn-theme-editor-controls-width - Width of the controls column.\n */",
|
|
41201
|
+
"jsDoc": "/**\n * @summary A theme editor: slotted form controls drive a live preview frame,\n * with a toolbar for the preview's light/dark mode and device width.\n * @documentation https://zinc.style/components/theme-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-collapsible\n * @dependency zn-preview-frame\n * @dependency zn-icon\n * @dependency zn-button\n * @dependency zn-tabs\n * @dependency zn-navbar\n * @dependency zn-select\n *\n * @event zn-theme-change - Emitted when the values, mode or device change.\n * @event zn-theme-submit - Emitted on submit (button click), carrying the\n * current values. With `action` set, only fires after a successful save.\n * @event zn-error - Emitted when a save fails. Also seen for preview render\n * failures: the frame's zn-error is composed and not stopped, so it bubbles\n * out through the editor too.\n *\n * @slot - Ungrouped theme controls, rendered above any sections. Controls\n * assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a\n * `groups` entry) render inside that section/group instead. Harvesting and\n * change detection walk every slot's full assigned subtree, not just direct\n * children.\n *\n * With `sections` left unset, the structure is instead derived from the\n * controls' own attributes: `group=\"<label>\"` becomes a tab and\n * `category=\"<label>\"` a collapsible within it, and the control is slotted\n * into that collapsible automatically. Either attribute works alone - a\n * control with only `group` sits directly in its tab, and one with only\n * `category` becomes its own top-level section. Setting `sections`\n * explicitly disables the derivation entirely.\n * @slot toolbar - Actions in the toolbar, right-aligned beside the device\n * controls. Where a save button belongs.\n * @slot footer - Actions pinned beneath the controls. The built-in submit button\n * lives in the toolbar, not here.\n *\n * @csspart base - The component's base wrapper.\n * @csspart controls - The left-hand controls column, full height.\n * @csspart controls-header - The controls column's header row: `controls-caption` on the left, the light/dark mode toggle on the right.\n * @csspart toolbar - The preview column's header row: `preview-caption` on the left, the device switcher (and sources/submit) on the right. Spans the preview column only.\n * @csspart section - A rendered section's or group's collapsible (`section-layout=\"collapsible\"`, or any nested group).\n * @csspart footer - The footer wrapper beneath the controls.\n * @csspart preview - The preview column.\n * @csspart error - The inline error strip.\n * @csspart preview__base - The frame's base wrapper (forwarded from zn-preview-frame).\n * @csspart preview__stage - The frame's device-width wrapper (forwarded from zn-preview-frame).\n * @csspart preview__iframe - The frame's iframe (forwarded from zn-preview-frame).\n * @csspart preview__error - The frame's own error overlay (forwarded from zn-preview-frame).\n *\n * @cssproperty --zn-theme-editor-controls-width - Width of the controls column.\n */",
|
|
40907
41202
|
"documentation": "https://zinc.style/components/theme-editor",
|
|
40908
41203
|
"status": "experimental",
|
|
40909
41204
|
"since": "1.0",
|
|
@@ -43582,7 +43877,7 @@
|
|
|
43582
43877
|
"package": {
|
|
43583
43878
|
"name": "@kubex/zinc",
|
|
43584
43879
|
"description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
|
|
43585
|
-
"version": "1.1.
|
|
43880
|
+
"version": "1.1.70",
|
|
43586
43881
|
"author": "",
|
|
43587
43882
|
"license": "MIT"
|
|
43588
43883
|
}
|
|
@@ -1594,7 +1594,7 @@
|
|
|
1594
1594
|
},
|
|
1595
1595
|
{
|
|
1596
1596
|
"name": "zn-file",
|
|
1597
|
-
"description": "File controls allow selecting an arbitrary number of files for uploading.\n---\n\n\n### **Events:**\n - **zn-blur** - Emitted when the control loses focus.\n- **zn-change** - Emitted when an alteration to the control's value is committed by the user.\n- **zn-clear** - Emitted when the user confirms clearing the selected file or `src`.\n- **zn-error** - Emitted when multiple files are selected via drag and drop, without the `multiple` property being set.\n- **zn-focus** - Emitted when the control gains focus.\n- **zn-input** - Emitted when the control receives input.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the button or droparea.\n- **blur()** - Removes focus from the button or droparea.\n\n### **Slots:**\n - **label** - The file control's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the file control. Alternatively, you can use the `help-text` attribute.\n- **trigger** - Optional content to be used as trigger instead of the default content. Opening the file dialog on click and as well as drag and drop will work for this content. Following attributes will no longer work: *label*, *droparea*, *help-text*, *size*, *hide-value*. Also if using the disabled attribute, the disabled styling will not be applied and must be taken care of yourself.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **button-wrapper** - The wrapper around the button and text value.\n- **button** - The zn-button acting as a file input.\n- **button__base** - The zn-button's exported `base` part.\n- **value** - The chosen files or placeholder text for the file input.\n- **droparea** - The element wrapping the drop zone.\n- **droparea-background** - The background of the drop zone.\n- **upload** - The upload button shown in the droparea when no file is selected.\n- **preview** - The image preview rendered in the droparea for previewable files.\n- **filename** - The filename label rendered in the droparea for non-previewable files.\n- **clear** - The clear button rendered in the droparea when a file is present.\n- **clear-confirm** - The confirmation dialog shown before clearing the file.\n- **link** - The current link anchor rendered when `show-link` is enabled.\n- **trigger** - The container that wraps the trigger.",
|
|
1597
|
+
"description": "File controls allow selecting an arbitrary number of files for uploading.\n---\n\n\n### **Events:**\n - **zn-blur** - Emitted when the control loses focus.\n- **zn-change** - Emitted when an alteration to the control's value is committed by the user.\n- **zn-clear** - Emitted when the user confirms clearing the selected file or `src`.\n- **zn-error** - Emitted when multiple files are selected via drag and drop, without the `multiple` property being set.\n- **zn-focus** - Emitted when the control gains focus.\n- **zn-input** - Emitted when the control receives input.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the button or droparea.\n- **blur()** - Removes focus from the button or droparea.\n- **clear()** - Programmatically clears the selected file and any external `src` without\nconfirmation. Unlike a user-initiated clear, this does not flag the control\nto submit an empty value.\n\n### **Slots:**\n - **label** - The file control's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the file control. Alternatively, you can use the `help-text` attribute.\n- **trigger** - Optional content to be used as trigger instead of the default content. Opening the file dialog on click and as well as drag and drop will work for this content. Following attributes will no longer work: *label*, *droparea*, *help-text*, *size*, *hide-value*. Also if using the disabled attribute, the disabled styling will not be applied and must be taken care of yourself.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **button-wrapper** - The wrapper around the button and text value.\n- **button** - The zn-button acting as a file input.\n- **button__base** - The zn-button's exported `base` part.\n- **value** - The chosen files or placeholder text for the file input.\n- **droparea** - The element wrapping the drop zone.\n- **droparea-background** - The background of the drop zone.\n- **upload** - The upload button shown in the droparea when no file is selected.\n- **preview** - The image preview rendered in the droparea for previewable files.\n- **filename** - The filename label rendered in the droparea for non-previewable files.\n- **clear** - The clear button rendered in the droparea when a file is present.\n- **clear-confirm** - The confirmation dialog shown before clearing the file.\n- **link** - The current link anchor rendered when `show-link` is enabled.\n- **trigger** - The container that wraps the trigger.",
|
|
1598
1598
|
"attributes": [
|
|
1599
1599
|
{
|
|
1600
1600
|
"name": "files",
|
|
@@ -1879,6 +1879,9 @@
|
|
|
1879
1879
|
{ "name": "help-text", "values": [] },
|
|
1880
1880
|
{ "name": "disabled", "values": [] },
|
|
1881
1881
|
{ "name": "required", "values": [] },
|
|
1882
|
+
{ "name": "trigger-submit", "values": [] },
|
|
1883
|
+
{ "name": "allow-upload", "values": [] },
|
|
1884
|
+
{ "name": "accept", "values": [] },
|
|
1882
1885
|
{ "name": "form", "values": [] }
|
|
1883
1886
|
],
|
|
1884
1887
|
"references": [
|
|
@@ -1990,7 +1993,7 @@
|
|
|
1990
1993
|
},
|
|
1991
1994
|
{
|
|
1992
1995
|
"name": "zn-input",
|
|
1993
|
-
"description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-blur** - Emitted when the control loses focus.\n- **zn-change** - Emitted when an alteration to the control's value is committed by the user.\n- **zn-clear** - Emitted when the clear button is activated.\n- **zn-focus** - Emitted when the control gains focus.\n- **zn-input** - Emitted when the control receives input.\n- **zn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the input.\n- **blur()** - Removes focus from the input.\n- **select()** - Selects all the text in the input.\n- **setSelectionRange(selectionStart: _number_, selectionEnd: _number_, selectionDirection: _'forward' | 'backward' | 'none'_)** - Sets the start and end positions of the text selection (0-based).\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectMode: _'select' | 'start' | 'end' | 'preserve'_)** - Replaces a range of text with a new string.\n- **showPicker()** - Displays the browser picker for an input element (only works if the browser supports it for the input type).\n- **stepUp()** - Increments the value of a numeric input type by the value of the step attribute.\n- **stepDown()** - Decrements the value of a numeric input type by the value of the step attribute.\n- **checkValidity(): _boolean_** - Checks the validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **label-tooltip** - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n- **context-note** - Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the input.\n- **suffix** - Used to append a presentational icon or similar element to the input.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **show-password-icon** - An icon to use in lieu of the default show password icon.\n- **hide-password-icon** - An icon to use in lieu of the default hide password icon.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **input** - The internal `<input>` control.\n- **prefix** - The container that wraps the prefix.\n- **clear-button** - The clear button.\n- **password-toggle-button** - The password toggle button.\n- **suffix** - The container that wraps the suffix.",
|
|
1996
|
+
"description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-blur** - Emitted when the control loses focus.\n- **zn-change** - Emitted when an alteration to the control's value is committed by the user.\n- **zn-clear** - Emitted when the clear button is activated.\n- **zn-focus** - Emitted when the control gains focus.\n- **zn-input** - Emitted when the control receives input.\n- **zn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the input.\n- **blur()** - Removes focus from the input.\n- **select()** - Selects all the text in the input.\n- **setSelectionRange(selectionStart: _number_, selectionEnd: _number_, selectionDirection: _'forward' | 'backward' | 'none'_)** - Sets the start and end positions of the text selection (0-based).\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectMode: _'select' | 'start' | 'end' | 'preserve'_)** - Replaces a range of text with a new string.\n- **showPicker()** - Displays the browser picker for an input element (only works if the browser supports it for the input type).\n- **stepUp()** - Increments the value of a numeric input type by the value of the step attribute.\n- **stepDown()** - Decrements the value of a numeric input type by the value of the step attribute.\n- **checkValidity(): _boolean_** - Checks the validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **label-tooltip** - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n- **context-note** - Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute. Range inputs display their live value here unless this is set.\n- **prefix** - Used to prepend a presentational icon or similar element to the input.\n- **suffix** - Used to append a presentational icon or similar element to the input.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **show-password-icon** - An icon to use in lieu of the default show password icon.\n- **hide-password-icon** - An icon to use in lieu of the default hide password icon.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Properties:**\n - **--zn-range-track-height** - The height of a range input's track. _(default: undefined)_\n- **--zn-range-track-color** - The color of a range input's track. _(default: undefined)_\n- **--zn-range-thumb-size** - The diameter of a range input's thumb. _(default: undefined)_\n- **--zn-range-thumb-color** - The color of a range input's thumb. _(default: undefined)_\n- **--zn-range-thumb-ring-width** - The width of the ring drawn around a range input's thumb. _(default: undefined)_\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **input** - The internal `<input>` control.\n- **prefix** - The container that wraps the prefix.\n- **clear-button** - The clear button.\n- **password-toggle-button** - The password toggle button.\n- **suffix** - The container that wraps the suffix.",
|
|
1994
1997
|
"attributes": [
|
|
1995
1998
|
{ "name": "title", "values": [] },
|
|
1996
1999
|
{
|
|
@@ -2004,6 +2007,7 @@
|
|
|
2004
2007
|
{ "name": "email" },
|
|
2005
2008
|
{ "name": "number" },
|
|
2006
2009
|
{ "name": "password" },
|
|
2010
|
+
{ "name": "range" },
|
|
2007
2011
|
{ "name": "search" },
|
|
2008
2012
|
{ "name": "tel" },
|
|
2009
2013
|
{ "name": "text" },
|
|
@@ -2111,6 +2115,11 @@
|
|
|
2111
2115
|
{ "name": "oklch" }
|
|
2112
2116
|
]
|
|
2113
2117
|
},
|
|
2118
|
+
{
|
|
2119
|
+
"name": "value-suffix",
|
|
2120
|
+
"description": "Appended to the value that range inputs display above the track, on the right, e.g. `rem`. Only applies when type\nis 'range' and no `context-note` is set.",
|
|
2121
|
+
"values": []
|
|
2122
|
+
},
|
|
2114
2123
|
{
|
|
2115
2124
|
"name": "form",
|
|
2116
2125
|
"description": "By default, form-controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside a form and associate it with the form that has this `id`. The form must be\nin the same document or shadow root for this to work.",
|
|
@@ -4141,7 +4150,7 @@
|
|
|
4141
4150
|
},
|
|
4142
4151
|
{
|
|
4143
4152
|
"name": "zn-theme-editor",
|
|
4144
|
-
"description": "A theme editor: slotted form controls drive a live preview frame,\nwith a toolbar for the preview's light/dark mode and device width.\n---\n\n\n### **Events:**\n - **zn-theme-change** - Emitted when the values, mode or device change.\n- **zn-theme-submit** - Emitted on submit (button click), carrying the current values. With `action` set, only fires after a successful save.\n- **zn-error** - Emitted when a save fails. Also seen for preview render failures: the frame's zn-error is composed and not stopped, so it bubbles out through the editor too.\n\n### **Slots:**\n - _default_ - Ungrouped theme controls, rendered above any sections. Controls assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a `groups` entry) render inside that section/group instead. Harvesting and change detection walk every slot's full assigned subtree, not just direct children.\n- **toolbar** - Actions in the toolbar, right-aligned beside the device controls. Where a save button belongs.\n- **footer** - Actions pinned beneath the controls. The built-in submit button lives in the toolbar, not here.\n\n### **CSS Properties:**\n - **--zn-theme-editor-controls-width** - Width of the controls column. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **controls** - The left-hand controls column, full height.\n- **controls-header** - The controls column's header row: `controls-caption` on the left, the light/dark mode toggle on the right.\n- **toolbar** - The preview column's header row: `preview-caption` on the left, the device switcher (and sources/submit) on the right. Spans the preview column only.\n- **section** - A rendered section's or group's collapsible (`section-layout=\"collapsible\"`, or any nested group).\n- **footer** - The footer wrapper beneath the controls.\n- **preview** - The preview column.\n- **error** - The inline error strip.\n- **preview__base** - The frame's base wrapper (forwarded from zn-preview-frame).\n- **preview__stage** - The frame's device-width wrapper (forwarded from zn-preview-frame).\n- **preview__iframe** - The frame's iframe (forwarded from zn-preview-frame).\n- **preview__error** - The frame's own error overlay (forwarded from zn-preview-frame).",
|
|
4153
|
+
"description": "A theme editor: slotted form controls drive a live preview frame,\nwith a toolbar for the preview's light/dark mode and device width.\n---\n\n\n### **Events:**\n - **zn-theme-change** - Emitted when the values, mode or device change.\n- **zn-theme-submit** - Emitted on submit (button click), carrying the current values. With `action` set, only fires after a successful save.\n- **zn-error** - Emitted when a save fails. Also seen for preview render failures: the frame's zn-error is composed and not stopped, so it bubbles out through the editor too.\n\n### **Slots:**\n - _default_ - Ungrouped theme controls, rendered above any sections. Controls assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a `groups` entry) render inside that section/group instead. Harvesting and change detection walk every slot's full assigned subtree, not just direct children. With `sections` left unset, the structure is instead derived from the controls' own attributes: `group=\"<label>\"` becomes a tab and `category=\"<label>\"` a collapsible within it, and the control is slotted into that collapsible automatically. Either attribute works alone - a control with only `group` sits directly in its tab, and one with only `category` becomes its own top-level section. Setting `sections` explicitly disables the derivation entirely.\n- **toolbar** - Actions in the toolbar, right-aligned beside the device controls. Where a save button belongs.\n- **footer** - Actions pinned beneath the controls. The built-in submit button lives in the toolbar, not here.\n\n### **CSS Properties:**\n - **--zn-theme-editor-controls-width** - Width of the controls column. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **controls** - The left-hand controls column, full height.\n- **controls-header** - The controls column's header row: `controls-caption` on the left, the light/dark mode toggle on the right.\n- **toolbar** - The preview column's header row: `preview-caption` on the left, the device switcher (and sources/submit) on the right. Spans the preview column only.\n- **section** - A rendered section's or group's collapsible (`section-layout=\"collapsible\"`, or any nested group).\n- **footer** - The footer wrapper beneath the controls.\n- **preview** - The preview column.\n- **error** - The inline error strip.\n- **preview__base** - The frame's base wrapper (forwarded from zn-preview-frame).\n- **preview__stage** - The frame's device-width wrapper (forwarded from zn-preview-frame).\n- **preview__iframe** - The frame's iframe (forwarded from zn-preview-frame).\n- **preview__error** - The frame's own error overlay (forwarded from zn-preview-frame).",
|
|
4145
4154
|
"attributes": [
|
|
4146
4155
|
{
|
|
4147
4156
|
"name": "src",
|
|
@@ -4190,7 +4199,7 @@
|
|
|
4190
4199
|
},
|
|
4191
4200
|
{
|
|
4192
4201
|
"name": "sections",
|
|
4193
|
-
"description": "Groups controls into named sections. Empty/unset renders
|
|
4202
|
+
"description": "Groups controls into named sections. Empty/unset falls back to deriving the\nstructure from the controls' own `group`/`category` attributes, and renders\none ungrouped column when they carry neither. A section with a non-empty\n`groups` nests a collapsible per group inside a `zn-tabs` tab for that\nsection - see `groups` on `ThemeEditorSection`.",
|
|
4194
4203
|
"values": [{ "name": "ThemeEditorSection[]" }]
|
|
4195
4204
|
},
|
|
4196
4205
|
{
|