@kubex/zinc 1.1.157 → 1.1.159

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.
@@ -56,79 +56,6 @@
56
56
  }
57
57
  ]
58
58
  },
59
- {
60
- "kind": "javascript-module",
61
- "path": "components/action-bar/action-bar.js",
62
- "declarations": [
63
- {
64
- "kind": "class",
65
- "description": "",
66
- "name": "ZnActionBar",
67
- "cssProperties": [
68
- {
69
- "description": "An example CSS custom property.",
70
- "name": "--example"
71
- }
72
- ],
73
- "cssParts": [
74
- {
75
- "description": "The component's base wrapper.",
76
- "name": "base"
77
- }
78
- ],
79
- "slots": [
80
- {
81
- "description": "The default slot.",
82
- "name": ""
83
- },
84
- {
85
- "description": "An example slot.",
86
- "name": "example"
87
- }
88
- ],
89
- "members": [
90
- {
91
- "kind": "field",
92
- "name": "localize",
93
- "privacy": "private",
94
- "readonly": true,
95
- "default": "new LocalizeController(this)"
96
- }
97
- ],
98
- "events": [
99
- {
100
- "description": "Emitted as an example.",
101
- "name": "zn-event-name"
102
- }
103
- ],
104
- "superclass": {
105
- "name": "ZincElement",
106
- "module": "/src/internal/zinc-element"
107
- },
108
- "summary": "Short summary of the component's intended use.",
109
- "tagNameWithoutPrefix": "action-bar",
110
- "tagName": "zn-action-bar",
111
- "customElement": true,
112
- "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
113
- "documentation": "https://zinc.style/components/action-bar",
114
- "status": "experimental",
115
- "since": "1.0",
116
- "dependencies": [
117
- "zn-example"
118
- ]
119
- }
120
- ],
121
- "exports": [
122
- {
123
- "kind": "js",
124
- "name": "default",
125
- "declaration": {
126
- "name": "ZnActionBar",
127
- "module": "components/action-bar/action-bar.js"
128
- }
129
- }
130
- ]
131
- },
132
59
  {
133
60
  "kind": "javascript-module",
134
61
  "path": "components/alert/alert.js",
@@ -323,6 +250,79 @@
323
250
  }
324
251
  ]
325
252
  },
253
+ {
254
+ "kind": "javascript-module",
255
+ "path": "components/action-bar/action-bar.js",
256
+ "declarations": [
257
+ {
258
+ "kind": "class",
259
+ "description": "",
260
+ "name": "ZnActionBar",
261
+ "cssProperties": [
262
+ {
263
+ "description": "An example CSS custom property.",
264
+ "name": "--example"
265
+ }
266
+ ],
267
+ "cssParts": [
268
+ {
269
+ "description": "The component's base wrapper.",
270
+ "name": "base"
271
+ }
272
+ ],
273
+ "slots": [
274
+ {
275
+ "description": "The default slot.",
276
+ "name": ""
277
+ },
278
+ {
279
+ "description": "An example slot.",
280
+ "name": "example"
281
+ }
282
+ ],
283
+ "members": [
284
+ {
285
+ "kind": "field",
286
+ "name": "localize",
287
+ "privacy": "private",
288
+ "readonly": true,
289
+ "default": "new LocalizeController(this)"
290
+ }
291
+ ],
292
+ "events": [
293
+ {
294
+ "description": "Emitted as an example.",
295
+ "name": "zn-event-name"
296
+ }
297
+ ],
298
+ "superclass": {
299
+ "name": "ZincElement",
300
+ "module": "/src/internal/zinc-element"
301
+ },
302
+ "summary": "Short summary of the component's intended use.",
303
+ "tagNameWithoutPrefix": "action-bar",
304
+ "tagName": "zn-action-bar",
305
+ "customElement": true,
306
+ "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
307
+ "documentation": "https://zinc.style/components/action-bar",
308
+ "status": "experimental",
309
+ "since": "1.0",
310
+ "dependencies": [
311
+ "zn-example"
312
+ ]
313
+ }
314
+ ],
315
+ "exports": [
316
+ {
317
+ "kind": "js",
318
+ "name": "default",
319
+ "declaration": {
320
+ "name": "ZnActionBar",
321
+ "module": "components/action-bar/action-bar.js"
322
+ }
323
+ }
324
+ ]
325
+ },
326
326
  {
327
327
  "kind": "javascript-module",
328
328
  "path": "components/animated-button/animated-button.js",
@@ -15773,6 +15773,15 @@
15773
15773
  "default": "'filter'",
15774
15774
  "attribute": "attr"
15775
15775
  },
15776
+ {
15777
+ "kind": "field",
15778
+ "name": "_filterFrame",
15779
+ "type": {
15780
+ "text": "number"
15781
+ },
15782
+ "privacy": "private",
15783
+ "default": "0"
15784
+ },
15776
15785
  {
15777
15786
  "kind": "method",
15778
15787
  "name": "handleSearchChange",
@@ -15785,6 +15794,19 @@
15785
15794
  }
15786
15795
  }
15787
15796
  ]
15797
+ },
15798
+ {
15799
+ "kind": "method",
15800
+ "name": "applyFilter",
15801
+ "privacy": "private",
15802
+ "parameters": [
15803
+ {
15804
+ "name": "searchTerm",
15805
+ "type": {
15806
+ "text": "string"
15807
+ }
15808
+ }
15809
+ ]
15788
15810
  }
15789
15811
  ],
15790
15812
  "events": [
@@ -51767,42 +51789,86 @@
51767
51789
  },
51768
51790
  {
51769
51791
  "kind": "javascript-module",
51770
- "path": "components/translations/translations.js",
51792
+ "path": "components/translation-group/translation-group.js",
51771
51793
  "declarations": [
51772
51794
  {
51773
51795
  "kind": "class",
51774
51796
  "description": "",
51775
- "name": "ZnTranslations",
51797
+ "name": "ZnTranslationGroup",
51776
51798
  "cssParts": [
51777
51799
  {
51778
- "description": "The form control that wraps the label, the language select, the field and the help text.",
51779
- "name": "form-control"
51800
+ "description": "The component's base wrapper.",
51801
+ "name": "base",
51802
+ "inheritedFrom": {
51803
+ "name": "ZnPanel",
51804
+ "module": "src/components/panel/panel.component.ts"
51805
+ }
51780
51806
  },
51781
51807
  {
51782
- "description": "The label's wrapper.",
51783
- "name": "form-control-label"
51808
+ "description": "The form group holding the caption, the language select and the fields.",
51809
+ "name": "form-group"
51784
51810
  },
51785
51811
  {
51786
- "description": "The wrapper around the field being edited.",
51787
- "name": "form-control-input"
51812
+ "description": "The row of buttons at the bottom of the body.",
51813
+ "name": "actions"
51788
51814
  },
51789
51815
  {
51790
- "description": "The help text's wrapper.",
51791
- "name": "form-control-help-text"
51816
+ "description": "The select that chooses the language every child is editing, in the group's chip slot.",
51817
+ "name": "language-field"
51792
51818
  },
51793
51819
  {
51794
- "description": "The select that chooses the language being edited.",
51820
+ "description": "The select itself.",
51795
51821
  "name": "language-select"
51822
+ },
51823
+ {
51824
+ "description": "The header region, when a caption or actions are given.",
51825
+ "name": "header",
51826
+ "inheritedFrom": {
51827
+ "name": "ZnPanel",
51828
+ "module": "src/components/panel/panel.component.ts"
51829
+ }
51830
+ },
51831
+ {
51832
+ "description": "The padded row inside the header, forwarded from zn-header.",
51833
+ "name": "header-content",
51834
+ "inheritedFrom": {
51835
+ "name": "ZnPanel",
51836
+ "module": "src/components/panel/panel.component.ts"
51837
+ }
51838
+ },
51839
+ {
51840
+ "description": "The footer region, when the footer slot is filled.",
51841
+ "name": "footer",
51842
+ "inheritedFrom": {
51843
+ "name": "ZnPanel",
51844
+ "module": "src/components/panel/panel.component.ts"
51845
+ }
51796
51846
  }
51797
51847
  ],
51798
51848
  "slots": [
51799
51849
  {
51800
- "description": "The field's label. Alternatively, use the `label` attribute.",
51801
- "name": "label"
51850
+ "description": "The `zn-translations` fields the select drives.",
51851
+ "name": "",
51852
+ "inheritedFrom": {
51853
+ "name": "ZnPanel",
51854
+ "module": "src/components/panel/panel.component.ts"
51855
+ }
51802
51856
  },
51803
51857
  {
51804
- "description": "Text describing how to fill the field in, shown below it and shared by every language. Alternatively, use the `help-text` attribute.",
51805
- "name": "help-text"
51858
+ "description": "Buttons for the bottom of the panel, on the white body rather than the grey footer. They sit on the right, as zinc's form action rows do; `align=\"start\"` moves one to the left. Write them in the order they should be read — the sides are set by CSS ordering, so markup order is what a keyboard follows.",
51859
+ "name": "actions",
51860
+ "inheritedFrom": {
51861
+ "name": "ZnPanel",
51862
+ "module": "src/components/panel/panel.component.ts"
51863
+ }
51864
+ },
51865
+ {
51866
+ "description": "Content displayed in the grey panel footer.",
51867
+ "name": "footer",
51868
+ "inheritedFrom": {
51869
+ "name": "ZnPanel",
51870
+ "module": "src/components/panel/panel.component.ts"
51871
+ }
51806
51872
  }
51807
51873
  ],
51808
51874
  "members": [
@@ -51813,44 +51879,14 @@
51813
51879
  "text": "object"
51814
51880
  },
51815
51881
  "static": true,
51816
- "default": "{ 'zn-chip': ZnChip, 'zn-inline-edit': ZnInlineEdit, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-remarkd-editor': ZnRemarkdEditor, 'zn-select': ZnSelect, 'zn-textarea': ZnTextarea }"
51817
- },
51818
- {
51819
- "kind": "field",
51820
- "name": "formControlController",
51821
- "type": {
51822
- "text": "FormControlController"
51823
- },
51824
- "privacy": "private",
51825
- "readonly": true,
51826
- "default": "new FormControlController(this)"
51882
+ "default": "{ 'zn-chip': ZnChip, 'zn-form-group': ZnFormGroup, 'zn-option': ZnOption, 'zn-select': ZnSelect }"
51827
51883
  },
51828
51884
  {
51829
51885
  "kind": "field",
51830
- "name": "hasSlotController",
51886
+ "name": "_slotController",
51831
51887
  "privacy": "private",
51832
51888
  "readonly": true,
51833
- "default": "new HasSlotController(this, 'label', 'help-text')"
51834
- },
51835
- {
51836
- "kind": "field",
51837
- "name": "name",
51838
- "type": {
51839
- "text": "string"
51840
- },
51841
- "default": "''",
51842
- "description": "The name submitted with the form.",
51843
- "attribute": "name"
51844
- },
51845
- {
51846
- "kind": "field",
51847
- "name": "value",
51848
- "type": {
51849
- "text": "string"
51850
- },
51851
- "default": "'{\"en\":\"\"}'",
51852
- "description": "The translations as a JSON object keyed by language code. The mirror of `values` in attribute form.",
51853
- "attribute": "value"
51889
+ "default": "new HasSlotController(this, 'actions', 'footer')"
51854
51890
  },
51855
51891
  {
51856
51892
  "kind": "field",
@@ -51859,7 +51895,7 @@
51859
51895
  "text": "string"
51860
51896
  },
51861
51897
  "default": "''",
51862
- "description": "The label shown above the field. If you need HTML, use the `label` slot instead.",
51898
+ "description": "The form group's label. An alias for the inherited `caption`, which wins where both are set.",
51863
51899
  "attribute": "label"
51864
51900
  },
51865
51901
  {
@@ -51869,905 +51905,1017 @@
51869
51905
  "text": "string"
51870
51906
  },
51871
51907
  "default": "''",
51872
- "description": "Text shown below the field, describing how to fill it in. Applies to every language. If you need HTML, use the\n`help-text` slot instead.",
51908
+ "description": "Sits under the label, above the language select, as help text does in any other form group.",
51873
51909
  "attribute": "help-text"
51874
51910
  },
51875
51911
  {
51876
51912
  "kind": "field",
51877
- "name": "disabled",
51913
+ "name": "inline",
51878
51914
  "type": {
51879
51915
  "text": "boolean"
51880
51916
  },
51881
51917
  "default": "false",
51882
- "description": "Disables editing in every language.",
51883
- "attribute": "disabled",
51918
+ "description": "Drops the panel chrome — border, background and padding — so the group reads as a section of the surrounding form\nrather than a panel of its own. For groups nested inside another panel, where the fields would otherwise sit\nindented behind a second border.",
51919
+ "attribute": "inline",
51884
51920
  "reflects": true
51885
51921
  },
51886
51922
  {
51887
51923
  "kind": "field",
51888
- "name": "required",
51924
+ "name": "languageLabel",
51889
51925
  "type": {
51890
- "text": "boolean"
51926
+ "text": "string"
51891
51927
  },
51892
- "default": "false",
51893
- "description": "Marks the label required. Validity is not enforced per language.",
51894
- "attribute": "required",
51895
- "reflects": true
51928
+ "default": "'Edit Languages'",
51929
+ "description": "The select's accessible name. Not shown — the caption is what names the section on screen — but read out by a\nscreen reader, which has nothing else to go on once the visible label is gone.",
51930
+ "attribute": "language-label"
51896
51931
  },
51897
51932
  {
51898
51933
  "kind": "field",
51899
- "name": "flush",
51934
+ "name": "languages",
51900
51935
  "type": {
51901
- "text": "boolean"
51936
+ "text": "Record<string, string>"
51902
51937
  },
51903
- "default": "false",
51904
- "description": "Removes the component's own padding.",
51905
- "attribute": "flush",
51906
- "reflects": true
51938
+ "default": "{ 'en': 'EN' }",
51939
+ "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to. Set on every\nchild, so they do not need their own copy.",
51940
+ "attribute": "languages"
51907
51941
  },
51908
51942
  {
51909
51943
  "kind": "field",
51910
- "name": "inputType",
51944
+ "name": "_activeLanguage",
51911
51945
  "type": {
51912
- "text": "'text' | 'number' | 'textarea' | 'remarkd'"
51946
+ "text": "string"
51913
51947
  },
51914
- "default": "'text'",
51915
- "description": "The control each translation is edited through.",
51916
- "attribute": "input-type"
51948
+ "privacy": "private",
51949
+ "default": "'en'",
51950
+ "description": "The language every child is currently editing."
51917
51951
  },
51918
51952
  {
51919
51953
  "kind": "field",
51920
- "name": "textareaRows",
51954
+ "name": "_form",
51921
51955
  "type": {
51922
- "text": "number | undefined"
51956
+ "text": "HTMLFormElement | null"
51923
51957
  },
51924
- "description": "Rows of the textarea, when `input-type` is `textarea`.",
51925
- "attribute": "textarea-rows"
51958
+ "privacy": "private",
51959
+ "default": "null"
51926
51960
  },
51927
51961
  {
51928
- "kind": "field",
51929
- "name": "allowRaw",
51930
- "type": {
51931
- "text": "boolean"
51962
+ "kind": "method",
51963
+ "name": "getAllTranslations",
51964
+ "privacy": "private",
51965
+ "return": {
51966
+ "type": {
51967
+ "text": "ZnTranslations[]"
51968
+ }
51932
51969
  },
51933
- "default": "false",
51934
- "description": "Allows raw HTML blocks, when `input-type` is `remarkd`.",
51935
- "attribute": "allow-raw"
51970
+ "description": "The children the select drives. Read live rather than cached, so markup added later is picked up."
51936
51971
  },
51937
51972
  {
51938
- "kind": "field",
51939
- "name": "attachmentUrl",
51940
- "type": {
51941
- "text": "string"
51973
+ "kind": "method",
51974
+ "name": "syncChildren",
51975
+ "privacy": "private",
51976
+ "description": "Sync grouped state, languages, and active language to all children."
51977
+ },
51978
+ {
51979
+ "kind": "method",
51980
+ "name": "languageState",
51981
+ "privacy": "private",
51982
+ "return": {
51983
+ "type": {
51984
+ "text": "{ type: 'success' | 'warning' | 'error'; label: string }"
51985
+ }
51942
51986
  },
51943
- "default": "''",
51944
- "description": "Where the remarkd editor uploads images, when `input-type` is `remarkd`.",
51945
- "attribute": "attachment-url"
51987
+ "parameters": [
51988
+ {
51989
+ "name": "language",
51990
+ "type": {
51991
+ "text": "string"
51992
+ }
51993
+ }
51994
+ ],
51995
+ "description": "A language is translated once every child carries a value for it, partial while only some do. The chips and the\ncount are read off the children, so a child's edit has to bring the group back round."
51946
51996
  },
51947
51997
  {
51948
- "kind": "field",
51949
- "name": "includeUrl",
51950
- "type": {
51951
- "text": "string"
51998
+ "kind": "method",
51999
+ "name": "displayName",
52000
+ "privacy": "private",
52001
+ "return": {
52002
+ "type": {
52003
+ "text": "string"
52004
+ }
51952
52005
  },
51953
- "default": "''",
51954
- "description": "Where the remarkd editor lists embeddable includes, when `input-type` is `remarkd`.",
51955
- "attribute": "include-url"
52006
+ "parameters": [
52007
+ {
52008
+ "name": "language",
52009
+ "type": {
52010
+ "text": "string"
52011
+ }
52012
+ }
52013
+ ],
52014
+ "description": "The configured name, or the code where `languages` does not name the language."
52015
+ },
52016
+ {
52017
+ "kind": "method",
52018
+ "name": "syncChildLanguages",
52019
+ "privacy": "private",
52020
+ "description": "Children take their language list from the group, so a change to `languages` has to reach them."
51956
52021
  },
51957
52022
  {
51958
52023
  "kind": "field",
51959
- "name": "linkUrl",
51960
- "type": {
51961
- "text": "string"
51962
- },
51963
- "default": "''",
51964
- "description": "Where the remarkd editor searches link targets, when `input-type` is `remarkd`.",
51965
- "attribute": "link-url"
52024
+ "name": "handleSlotChange",
52025
+ "privacy": "private"
52026
+ },
52027
+ {
52028
+ "kind": "method",
52029
+ "name": "switchLanguage",
52030
+ "privacy": "private",
52031
+ "parameters": [
52032
+ {
52033
+ "name": "lang",
52034
+ "type": {
52035
+ "text": "string"
52036
+ }
52037
+ }
52038
+ ],
52039
+ "description": "Moves every child onto `lang` and announces it. Does not touch their values."
51966
52040
  },
51967
52041
  {
51968
52042
  "kind": "field",
51969
- "name": "inlineEdit",
51970
- "type": {
51971
- "text": "boolean"
51972
- },
51973
- "default": "false",
51974
- "description": "Edits the translation through a `zn-inline-edit` — the value reads as text until it is clicked — rather than a\nplain input or textarea.",
51975
- "attribute": "inline-edit",
51976
- "reflects": true
52043
+ "name": "handleLanguageSelect",
52044
+ "privacy": "private",
52045
+ "description": "The select's own change and input events describe the language being browsed, not a translation being edited, so\nthey are stopped rather than allowed to reach a consumer listening for a child's value change."
51977
52046
  },
51978
52047
  {
51979
52048
  "kind": "field",
51980
- "name": "slashItems",
51981
- "type": {
51982
- "text": "SlashMenuItem[]"
51983
- },
51984
- "default": "[]",
51985
- "description": "Quick insertions offered by the slash menu on `text` and `textarea` inputs. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Every language shares the list.",
51986
- "attribute": "slash-items"
52049
+ "name": "handleLanguageInput",
52050
+ "privacy": "private"
51987
52051
  },
51988
52052
  {
51989
52053
  "kind": "field",
51990
- "name": "slashPreset",
51991
- "type": {
51992
- "text": "string"
51993
- },
51994
- "default": "''",
51995
- "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
51996
- "attribute": "slash-preset"
52054
+ "name": "handleChildChange",
52055
+ "privacy": "private",
52056
+ "description": "A child's edit changes which chips the select shows, and the translated count above it."
51997
52057
  },
51998
52058
  {
51999
52059
  "kind": "field",
52000
- "name": "slashTrigger",
52001
- "type": {
52002
- "text": "string"
52003
- },
52004
- "default": "'/'",
52005
- "description": "The characters that open the slash menu.",
52006
- "attribute": "slash-trigger"
52060
+ "name": "handleFormReset",
52061
+ "privacy": "private",
52062
+ "description": "The children restore their own values on the form's reset event without announcing it, and the chips and the\ncount are read off them — so re-read once every listener on that event has run."
52007
52063
  },
52008
52064
  {
52009
52065
  "kind": "field",
52010
- "name": "slashHeading",
52011
- "type": {
52012
- "text": "string"
52013
- },
52014
- "default": "'Insert'",
52015
- "description": "The name the slash menu's list is announced by.",
52016
- "attribute": "slash-heading"
52066
+ "name": "hasSlotController",
52067
+ "privacy": "private",
52068
+ "readonly": true,
52069
+ "default": "new HasSlotController(this, '[default]', 'actions', 'footer')",
52070
+ "inheritedFrom": {
52071
+ "name": "ZnPanel",
52072
+ "module": "components/panel/panel.js"
52073
+ }
52017
52074
  },
52018
52075
  {
52019
52076
  "kind": "field",
52020
- "name": "slashHideKeys",
52077
+ "name": "basis",
52021
52078
  "type": {
52022
- "text": "boolean"
52079
+ "text": "number"
52023
52080
  },
52024
- "default": "false",
52025
- "description": "Hides the insertion keys normally shown against the slash menu's items.",
52026
- "attribute": "slash-hide-keys"
52081
+ "attribute": "basis-px",
52082
+ "inheritedFrom": {
52083
+ "name": "ZnPanel",
52084
+ "module": "components/panel/panel.js"
52085
+ }
52027
52086
  },
52028
52087
  {
52029
52088
  "kind": "field",
52030
- "name": "slashRecentKey",
52089
+ "name": "caption",
52031
52090
  "type": {
52032
52091
  "text": "string"
52033
52092
  },
52034
- "default": "''",
52035
- "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
52036
- "attribute": "slash-recent-key"
52093
+ "attribute": "caption",
52094
+ "inheritedFrom": {
52095
+ "name": "ZnPanel",
52096
+ "module": "components/panel/panel.js"
52097
+ }
52037
52098
  },
52038
52099
  {
52039
52100
  "kind": "field",
52040
- "name": "slashItemsProvider",
52101
+ "name": "icon",
52041
52102
  "type": {
52042
- "text": "(query: string) => SlashMenuItem[] | Promise<SlashMenuItem[]> | undefined"
52103
+ "text": "string"
52043
52104
  },
52044
- "description": "Resolves additional slash menu items each time the menu opens. JavaScript only."
52105
+ "attribute": "icon",
52106
+ "inheritedFrom": {
52107
+ "name": "ZnPanel",
52108
+ "module": "components/panel/panel.js"
52109
+ }
52045
52110
  },
52046
52111
  {
52047
52112
  "kind": "field",
52048
- "name": "grouped",
52113
+ "name": "tabbed",
52049
52114
  "type": {
52050
52115
  "text": "boolean"
52051
52116
  },
52052
- "default": "false",
52053
- "description": "Hides this component's own language select and defers the choice to a parent zn-translation-group. The group sets\nthis on its children itself.",
52054
- "attribute": "grouped",
52055
- "reflects": true
52117
+ "attribute": "tabbed",
52118
+ "inheritedFrom": {
52119
+ "name": "ZnPanel",
52120
+ "module": "components/panel/panel.js"
52121
+ }
52056
52122
  },
52057
52123
  {
52058
52124
  "kind": "field",
52059
- "name": "languages",
52125
+ "name": "headerBorderless",
52060
52126
  "type": {
52061
- "text": "Record<string, string>"
52127
+ "text": "boolean"
52062
52128
  },
52063
- "default": "{ 'en': 'EN' }",
52064
- "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to.",
52065
- "attribute": "languages"
52129
+ "attribute": "header-borderless",
52130
+ "inheritedFrom": {
52131
+ "name": "ZnPanel",
52132
+ "module": "components/panel/panel.js"
52133
+ }
52066
52134
  },
52067
52135
  {
52068
52136
  "kind": "field",
52069
- "name": "values",
52137
+ "name": "cosmic",
52070
52138
  "type": {
52071
- "text": "Record<string, string>"
52139
+ "text": "boolean"
52072
52140
  },
52073
- "default": "{}",
52074
- "description": "The translations as an object keyed by language code. The mirror of `value` in property form.",
52075
- "attribute": "values"
52141
+ "attribute": "cosmic",
52142
+ "inheritedFrom": {
52143
+ "name": "ZnPanel",
52144
+ "module": "components/panel/panel.js"
52145
+ }
52076
52146
  },
52077
52147
  {
52078
52148
  "kind": "field",
52079
- "name": "defaultValue",
52149
+ "name": "flush",
52080
52150
  "type": {
52081
- "text": "string"
52151
+ "text": "boolean"
52082
52152
  },
52083
- "default": "'{\"en\":\"\"}'",
52084
- "description": "The serialized translations a form reset restores. Taken from the `value` attribute where there is one."
52153
+ "attribute": "flush",
52154
+ "inheritedFrom": {
52155
+ "name": "ZnPanel",
52156
+ "module": "components/panel/panel.js"
52157
+ }
52085
52158
  },
52086
52159
  {
52087
52160
  "kind": "field",
52088
- "name": "_activeLanguage",
52161
+ "name": "flushX",
52089
52162
  "type": {
52090
- "text": "string"
52163
+ "text": "boolean"
52091
52164
  },
52092
- "privacy": "private",
52093
- "default": "'en'"
52165
+ "attribute": "flush-x",
52166
+ "inheritedFrom": {
52167
+ "name": "ZnPanel",
52168
+ "module": "components/panel/panel.js"
52169
+ }
52094
52170
  },
52095
52171
  {
52096
52172
  "kind": "field",
52097
- "name": "validity",
52173
+ "name": "flushY",
52098
52174
  "type": {
52099
- "text": "ValidityState"
52175
+ "text": "boolean"
52100
52176
  },
52101
- "readonly": true
52177
+ "attribute": "flush-y",
52178
+ "inheritedFrom": {
52179
+ "name": "ZnPanel",
52180
+ "module": "components/panel/panel.js"
52181
+ }
52102
52182
  },
52103
52183
  {
52104
52184
  "kind": "field",
52105
- "name": "validationMessage",
52106
- "readonly": true
52185
+ "name": "flushFooter",
52186
+ "type": {
52187
+ "text": "boolean"
52188
+ },
52189
+ "attribute": "flush-footer",
52190
+ "inheritedFrom": {
52191
+ "name": "ZnPanel",
52192
+ "module": "components/panel/panel.js"
52193
+ }
52107
52194
  },
52108
52195
  {
52109
- "kind": "method",
52110
- "name": "checkValidity"
52196
+ "kind": "field",
52197
+ "name": "transparent",
52198
+ "type": {
52199
+ "text": "boolean"
52200
+ },
52201
+ "attribute": "transparent",
52202
+ "inheritedFrom": {
52203
+ "name": "ZnPanel",
52204
+ "module": "components/panel/panel.js"
52205
+ }
52111
52206
  },
52112
52207
  {
52113
- "kind": "method",
52114
- "name": "getForm"
52208
+ "kind": "field",
52209
+ "name": "shadow",
52210
+ "type": {
52211
+ "text": "boolean"
52212
+ },
52213
+ "attribute": "shadow",
52214
+ "inheritedFrom": {
52215
+ "name": "ZnPanel",
52216
+ "module": "components/panel/panel.js"
52217
+ }
52115
52218
  },
52116
52219
  {
52117
- "kind": "method",
52118
- "name": "reportValidity"
52220
+ "kind": "field",
52221
+ "name": "bodyEmpty",
52222
+ "type": {
52223
+ "text": "boolean"
52224
+ },
52225
+ "privacy": "private",
52226
+ "default": "false",
52227
+ "inheritedFrom": {
52228
+ "name": "ZnPanel",
52229
+ "module": "components/panel/panel.js"
52230
+ }
52119
52231
  },
52120
52232
  {
52121
- "kind": "method",
52122
- "name": "setCustomValidity"
52233
+ "kind": "field",
52234
+ "name": "resizeObserver",
52235
+ "type": {
52236
+ "text": "ResizeObserver | null"
52237
+ },
52238
+ "privacy": "private",
52239
+ "default": "null",
52240
+ "inheritedFrom": {
52241
+ "name": "ZnPanel",
52242
+ "module": "components/panel/panel.js"
52243
+ }
52123
52244
  },
52124
52245
  {
52125
52246
  "kind": "method",
52126
- "name": "setActiveLanguage",
52127
- "privacy": "public",
52128
- "parameters": [
52129
- {
52130
- "name": "language",
52131
- "type": {
52132
- "text": "string"
52133
- }
52134
- }
52135
- ],
52136
- "description": "Sets the active language externally. Used by zn-translation-group. Browsing to a language does not create a key\nfor it — an untouched language stays absent from `values` so it is not submitted as an empty translation."
52247
+ "name": "observeBodyContent",
52248
+ "privacy": "private",
52249
+ "inheritedFrom": {
52250
+ "name": "ZnPanel",
52251
+ "module": "components/panel/panel.js"
52252
+ }
52137
52253
  },
52138
52254
  {
52139
52255
  "kind": "method",
52140
- "name": "getActiveLanguage",
52141
- "privacy": "public",
52142
- "return": {
52143
- "type": {
52144
- "text": "string"
52145
- }
52256
+ "name": "measureBodyContent",
52257
+ "privacy": "private",
52258
+ "inheritedFrom": {
52259
+ "name": "ZnPanel",
52260
+ "module": "components/panel/panel.js"
52261
+ }
52262
+ }
52263
+ ],
52264
+ "events": [
52265
+ {
52266
+ "description": "Emitted when the active language changes. Detail: `{ language: string }`.",
52267
+ "name": "zn-language-change"
52268
+ }
52269
+ ],
52270
+ "attributes": [
52271
+ {
52272
+ "name": "label",
52273
+ "type": {
52274
+ "text": "string"
52146
52275
  },
52147
- "description": "Returns the currently active language."
52276
+ "default": "''",
52277
+ "description": "The form group's label. An alias for the inherited `caption`, which wins where both are set.",
52278
+ "fieldName": "label"
52148
52279
  },
52149
52280
  {
52150
- "kind": "method",
52151
- "name": "addLanguageKey",
52152
- "privacy": "public",
52153
- "parameters": [
52154
- {
52155
- "name": "languageCode",
52156
- "type": {
52157
- "text": "string"
52158
- }
52159
- }
52160
- ],
52161
- "description": "Adds a language key to this component's values if not already present. Used by zn-translation-group."
52281
+ "name": "help-text",
52282
+ "type": {
52283
+ "text": "string"
52284
+ },
52285
+ "default": "''",
52286
+ "description": "Sits under the label, above the language select, as help text does in any other form group.",
52287
+ "fieldName": "helpText"
52162
52288
  },
52163
52289
  {
52164
- "kind": "method",
52165
- "name": "getValueLanguages",
52166
- "privacy": "public",
52167
- "return": {
52168
- "type": {
52169
- "text": "string[]"
52170
- }
52290
+ "name": "inline",
52291
+ "type": {
52292
+ "text": "boolean"
52171
52293
  },
52172
- "description": "Returns all language codes that have values."
52294
+ "default": "false",
52295
+ "description": "Drops the panel chrome — border, background and padding — so the group reads as a section of the surrounding form\nrather than a panel of its own. For groups nested inside another panel, where the fields would otherwise sit\nindented behind a second border.",
52296
+ "fieldName": "inline"
52173
52297
  },
52174
52298
  {
52175
- "kind": "method",
52176
- "name": "hasTranslation",
52177
- "privacy": "public",
52178
- "return": {
52179
- "type": {
52180
- "text": "boolean"
52181
- }
52299
+ "name": "language-label",
52300
+ "type": {
52301
+ "text": "string"
52182
52302
  },
52183
- "parameters": [
52184
- {
52185
- "name": "language",
52186
- "type": {
52187
- "text": "string"
52188
- }
52189
- }
52190
- ],
52191
- "description": "Whether the language carries a translation of its own, rather than falling back to English."
52303
+ "default": "'Edit Languages'",
52304
+ "description": "The select's accessible name. Not shown — the caption is what names the section on screen — but read out by a\nscreen reader, which has nothing else to go on once the visible label is gone.",
52305
+ "fieldName": "languageLabel"
52192
52306
  },
52193
52307
  {
52194
- "kind": "method",
52195
- "name": "languageState",
52196
- "privacy": "private",
52197
- "return": {
52198
- "type": {
52199
- "text": "{ type: 'success' | 'error'; label: string }"
52200
- }
52308
+ "name": "languages",
52309
+ "type": {
52310
+ "text": "Record<string, string>"
52201
52311
  },
52202
- "parameters": [
52203
- {
52204
- "name": "language",
52205
- "type": {
52206
- "text": "string"
52207
- }
52208
- }
52209
- ],
52210
- "description": "The chip shown against a language, in the select's value and against each of its options."
52312
+ "default": "{ 'en': 'EN' }",
52313
+ "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to. Set on every\nchild, so they do not need their own copy.",
52314
+ "fieldName": "languages"
52211
52315
  },
52212
52316
  {
52213
- "kind": "method",
52214
- "name": "languageLabel",
52215
- "privacy": "private",
52216
- "return": {
52217
- "type": {
52218
- "text": "string"
52219
- }
52317
+ "name": "basis-px",
52318
+ "type": {
52319
+ "text": "number"
52220
52320
  },
52221
- "parameters": [
52222
- {
52223
- "name": "language",
52224
- "type": {
52225
- "text": "string"
52226
- }
52227
- }
52228
- ],
52229
- "description": "The configured name, or the code where `languages` does not name the language."
52321
+ "fieldName": "basis",
52322
+ "inheritedFrom": {
52323
+ "name": "ZnPanel",
52324
+ "module": "src/components/panel/panel.component.ts"
52325
+ }
52230
52326
  },
52231
52327
  {
52232
- "kind": "method",
52233
- "name": "pendingValues",
52234
- "privacy": "private",
52235
- "return": {
52236
- "type": {
52237
- "text": "Record<string, string>"
52238
- }
52328
+ "name": "caption",
52329
+ "type": {
52330
+ "text": "string"
52239
52331
  },
52240
- "description": "`values`, falling back to the `value` attribute it is built from while that is still pending. A parent\nzn-translation-group syncs its children from its own first update, which runs before theirs, so reading\n`values` alone would see it empty and overwrite the value the server rendered."
52332
+ "fieldName": "caption",
52333
+ "inheritedFrom": {
52334
+ "name": "ZnPanel",
52335
+ "module": "src/components/panel/panel.component.ts"
52336
+ }
52241
52337
  },
52242
52338
  {
52243
- "kind": "field",
52244
- "name": "handleLanguageSelect",
52245
- "privacy": "private",
52246
- "description": "The select's own change and input events are stopped here: they describe the language being browsed, not the\ntranslation being edited, and a consumer listening on zn-translations reads either as a value change."
52339
+ "name": "icon",
52340
+ "type": {
52341
+ "text": "string"
52342
+ },
52343
+ "fieldName": "icon",
52344
+ "inheritedFrom": {
52345
+ "name": "ZnPanel",
52346
+ "module": "src/components/panel/panel.component.ts"
52347
+ }
52247
52348
  },
52248
52349
  {
52249
- "kind": "field",
52250
- "name": "handleLanguageInput",
52251
- "privacy": "private"
52350
+ "name": "tabbed",
52351
+ "type": {
52352
+ "text": "boolean"
52353
+ },
52354
+ "fieldName": "tabbed",
52355
+ "inheritedFrom": {
52356
+ "name": "ZnPanel",
52357
+ "module": "src/components/panel/panel.component.ts"
52358
+ }
52252
52359
  },
52253
52360
  {
52254
- "kind": "field",
52255
- "name": "switchLanguage",
52256
- "privacy": "private",
52257
- "description": "The language shown in the field, without touching `values`."
52361
+ "name": "header-borderless",
52362
+ "type": {
52363
+ "text": "boolean"
52364
+ },
52365
+ "fieldName": "headerBorderless",
52366
+ "inheritedFrom": {
52367
+ "name": "ZnPanel",
52368
+ "module": "src/components/panel/panel.component.ts"
52369
+ }
52258
52370
  },
52259
52371
  {
52260
- "kind": "field",
52261
- "name": "handleValueUpdate",
52262
- "privacy": "private"
52372
+ "name": "cosmic",
52373
+ "type": {
52374
+ "text": "boolean"
52375
+ },
52376
+ "fieldName": "cosmic",
52377
+ "inheritedFrom": {
52378
+ "name": "ZnPanel",
52379
+ "module": "src/components/panel/panel.component.ts"
52380
+ }
52263
52381
  },
52264
52382
  {
52265
- "kind": "method",
52266
- "name": "updateValue",
52267
- "privacy": "private"
52383
+ "name": "flush",
52384
+ "type": {
52385
+ "text": "boolean"
52386
+ },
52387
+ "fieldName": "flush",
52388
+ "inheritedFrom": {
52389
+ "name": "ZnPanel",
52390
+ "module": "src/components/panel/panel.component.ts"
52391
+ }
52268
52392
  },
52269
52393
  {
52270
- "kind": "field",
52271
- "name": "handleKeyDown",
52272
- "privacy": "private"
52394
+ "name": "flush-x",
52395
+ "type": {
52396
+ "text": "boolean"
52397
+ },
52398
+ "fieldName": "flushX",
52399
+ "inheritedFrom": {
52400
+ "name": "ZnPanel",
52401
+ "module": "src/components/panel/panel.component.ts"
52402
+ }
52273
52403
  },
52274
52404
  {
52275
- "kind": "field",
52276
- "name": "handleSubmit",
52277
- "privacy": "private"
52405
+ "name": "flush-y",
52406
+ "type": {
52407
+ "text": "boolean"
52408
+ },
52409
+ "fieldName": "flushY",
52410
+ "inheritedFrom": {
52411
+ "name": "ZnPanel",
52412
+ "module": "src/components/panel/panel.component.ts"
52413
+ }
52278
52414
  },
52279
52415
  {
52280
- "kind": "method",
52281
- "name": "renderField",
52282
- "privacy": "private",
52283
- "parameters": [
52284
- {
52285
- "name": "value",
52286
- "type": {
52287
- "text": "string"
52288
- }
52289
- },
52290
- {
52291
- "name": "placeholder",
52292
- "type": {
52293
- "text": "string"
52294
- }
52295
- },
52296
- {
52297
- "name": "isRTL",
52298
- "type": {
52299
- "text": "boolean"
52300
- }
52301
- }
52302
- ],
52303
- "description": "The control the active language's translation is edited through."
52416
+ "name": "flush-footer",
52417
+ "type": {
52418
+ "text": "boolean"
52419
+ },
52420
+ "fieldName": "flushFooter",
52421
+ "inheritedFrom": {
52422
+ "name": "ZnPanel",
52423
+ "module": "src/components/panel/panel.component.ts"
52424
+ }
52304
52425
  },
52305
52426
  {
52306
- "kind": "method",
52307
- "name": "isRTLLanguage",
52308
- "privacy": "private",
52309
- "return": {
52310
- "type": {
52311
- "text": "boolean"
52312
- }
52427
+ "name": "transparent",
52428
+ "type": {
52429
+ "text": "boolean"
52313
52430
  },
52314
- "parameters": [
52315
- {
52316
- "name": "languageCode",
52317
- "type": {
52318
- "text": "string"
52319
- }
52320
- }
52321
- ],
52322
- "description": "Arabic and Hebrew read right to left, so the field's `dir` follows the language being edited."
52431
+ "fieldName": "transparent",
52432
+ "inheritedFrom": {
52433
+ "name": "ZnPanel",
52434
+ "module": "src/components/panel/panel.component.ts"
52435
+ }
52436
+ },
52437
+ {
52438
+ "name": "shadow",
52439
+ "type": {
52440
+ "text": "boolean"
52441
+ },
52442
+ "fieldName": "shadow",
52443
+ "inheritedFrom": {
52444
+ "name": "ZnPanel",
52445
+ "module": "src/components/panel/panel.component.ts"
52446
+ }
52323
52447
  }
52324
52448
  ],
52325
- "events": [
52449
+ "superclass": {
52450
+ "name": "ZnPanel",
52451
+ "module": "/src/components/panel/panel.component"
52452
+ },
52453
+ "summary": "Puts several zn-translations fields behind one language select, so a whole form's worth of copy is\ntranslated a language at a time.",
52454
+ "tagNameWithoutPrefix": "translation-group",
52455
+ "tagName": "zn-translation-group",
52456
+ "customElement": true,
52457
+ "jsDoc": "/**\n * @summary Puts several zn-translations fields behind one language select, so a whole form's worth of copy is\n * translated a language at a time.\n * @documentation https://zinc.style/components/translation-group\n * @status experimental\n * @since 1.0\n *\n * The fields sit in a `zn-form-group`, so the caption, help text and the language select share its label column and\n * the fields line up with every other form group around them. Choosing a language switches every child at once, and\n * each child hides its own select while it is in a group — `grouped` is set on them here.\n *\n * The select is searchable. Each option holds its language code as its value, so typing `de` finds German without the\n * code being on show.\n *\n * Closed, the select carries how many target languages are done — `1/5`. Its options each carry a chip aggregated\n * across the children:\n *\n * - `Translated` — every child has a value for it\n * - `Partial` — only some children do\n * - `English` — none do, so all of them fall back to the English text\n *\n * `Empty` replaces the last of those for English itself, which has nothing to fall back to. English counts towards\n * the `n of m` beside the label like any other language.\n *\n * The children own their values; this component only chooses which language is shown and reports on what they hold.\n * It reads them back on every child `zn-change`, so the chips and the count follow an edit as it is typed.\n *\n * Extends `zn-panel`, so `caption`, `flush`, `transparent` and the `footer` slot behave as they do there. Nested\n * inside another panel, add `inline` to drop the chrome and keep the fields aligned with the surrounding form.\n *\n * @dependency zn-chip\n * @dependency zn-form-group\n * @dependency zn-option\n * @dependency zn-select\n *\n * @event zn-language-change - Emitted when the active language changes. Detail: `{ language: string }`.\n *\n * @slot - The `zn-translations` fields the select drives.\n * @slot actions - Buttons for the bottom of the panel, on the white body rather than the grey footer. They sit on\n * the right, as zinc's form action rows do; `align=\"start\"` moves one to the left. Write them in the order they\n * should be read — the sides are set by CSS ordering, so markup order is what a keyboard follows.\n * @slot footer - Content displayed in the grey panel footer.\n *\n * @csspart base - The component's base wrapper.\n * @csspart form-group - The form group holding the caption, the language select and the fields.\n * @csspart actions - The row of buttons at the bottom of the body.\n * @csspart language-field - The select that chooses the language every child is editing, in the group's chip slot.\n * @csspart language-select - The select itself.\n */",
52458
+ "documentation": "https://zinc.style/components/translation-group",
52459
+ "status": "experimental",
52460
+ "since": "1.0",
52461
+ "dependencies": [
52462
+ "zn-chip",
52463
+ "zn-form-group",
52464
+ "zn-option",
52465
+ "zn-select"
52466
+ ],
52467
+ "cssProperties": [
52326
52468
  {
52327
- "description": "Emitted when a translation's value changes.",
52328
- "name": "zn-change"
52469
+ "description": "The flex-basis of the panel. Can be set using the basis-px attribute.",
52470
+ "name": "--zn-panel-basis",
52471
+ "inheritedFrom": {
52472
+ "name": "ZnPanel",
52473
+ "module": "src/components/panel/panel.component.ts"
52474
+ }
52329
52475
  },
52330
52476
  {
52331
- "description": "Emitted when a translation receives input.",
52332
- "name": "zn-input"
52477
+ "description": "Padding around the header row. Defaults to `--zn-base-gap`.",
52478
+ "name": "--zn-panel-header-padding",
52479
+ "inheritedFrom": {
52480
+ "name": "ZnPanel",
52481
+ "module": "src/components/panel/panel.component.ts"
52482
+ }
52483
+ },
52484
+ {
52485
+ "description": "Padding around the footer row.",
52486
+ "name": "--zn-panel-footer-padding",
52487
+ "inheritedFrom": {
52488
+ "name": "ZnPanel",
52489
+ "module": "src/components/panel/panel.component.ts"
52490
+ }
52491
+ }
52492
+ ]
52493
+ }
52494
+ ],
52495
+ "exports": [
52496
+ {
52497
+ "kind": "js",
52498
+ "name": "default",
52499
+ "declaration": {
52500
+ "name": "ZnTranslationGroup",
52501
+ "module": "components/translation-group/translation-group.js"
52502
+ }
52503
+ }
52504
+ ]
52505
+ },
52506
+ {
52507
+ "kind": "javascript-module",
52508
+ "path": "components/translations/translations.js",
52509
+ "declarations": [
52510
+ {
52511
+ "kind": "class",
52512
+ "description": "",
52513
+ "name": "ZnTranslations",
52514
+ "cssParts": [
52515
+ {
52516
+ "description": "The form control that wraps the label, the language select, the field and the help text.",
52517
+ "name": "form-control"
52518
+ },
52519
+ {
52520
+ "description": "The label's wrapper.",
52521
+ "name": "form-control-label"
52522
+ },
52523
+ {
52524
+ "description": "The wrapper around the field being edited.",
52525
+ "name": "form-control-input"
52526
+ },
52527
+ {
52528
+ "description": "The help text's wrapper.",
52529
+ "name": "form-control-help-text"
52530
+ },
52531
+ {
52532
+ "description": "The select that chooses the language being edited.",
52533
+ "name": "language-select"
52333
52534
  }
52334
52535
  ],
52335
- "attributes": [
52536
+ "slots": [
52537
+ {
52538
+ "description": "The field's label. Alternatively, use the `label` attribute.",
52539
+ "name": "label"
52540
+ },
52336
52541
  {
52542
+ "description": "Text describing how to fill the field in, shown below it and shared by every language. Alternatively, use the `help-text` attribute.",
52543
+ "name": "help-text"
52544
+ }
52545
+ ],
52546
+ "members": [
52547
+ {
52548
+ "kind": "field",
52549
+ "name": "dependencies",
52550
+ "type": {
52551
+ "text": "object"
52552
+ },
52553
+ "static": true,
52554
+ "default": "{ 'zn-chip': ZnChip, 'zn-inline-edit': ZnInlineEdit, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-remarkd-editor': ZnRemarkdEditor, 'zn-select': ZnSelect, 'zn-textarea': ZnTextarea }"
52555
+ },
52556
+ {
52557
+ "kind": "field",
52558
+ "name": "formControlController",
52559
+ "type": {
52560
+ "text": "FormControlController"
52561
+ },
52562
+ "privacy": "private",
52563
+ "readonly": true,
52564
+ "default": "new FormControlController(this)"
52565
+ },
52566
+ {
52567
+ "kind": "field",
52568
+ "name": "hasSlotController",
52569
+ "privacy": "private",
52570
+ "readonly": true,
52571
+ "default": "new HasSlotController(this, 'label', 'help-text')"
52572
+ },
52573
+ {
52574
+ "kind": "field",
52337
52575
  "name": "name",
52338
52576
  "type": {
52339
52577
  "text": "string"
52340
52578
  },
52341
52579
  "default": "''",
52342
52580
  "description": "The name submitted with the form.",
52343
- "fieldName": "name"
52581
+ "attribute": "name"
52344
52582
  },
52345
52583
  {
52584
+ "kind": "field",
52346
52585
  "name": "value",
52347
52586
  "type": {
52348
52587
  "text": "string"
52349
52588
  },
52350
52589
  "default": "'{\"en\":\"\"}'",
52351
52590
  "description": "The translations as a JSON object keyed by language code. The mirror of `values` in attribute form.",
52352
- "fieldName": "value"
52591
+ "attribute": "value"
52353
52592
  },
52354
52593
  {
52594
+ "kind": "field",
52355
52595
  "name": "label",
52356
52596
  "type": {
52357
52597
  "text": "string"
52358
52598
  },
52359
52599
  "default": "''",
52360
52600
  "description": "The label shown above the field. If you need HTML, use the `label` slot instead.",
52361
- "fieldName": "label"
52601
+ "attribute": "label"
52362
52602
  },
52363
52603
  {
52364
- "name": "help-text",
52604
+ "kind": "field",
52605
+ "name": "helpText",
52365
52606
  "type": {
52366
52607
  "text": "string"
52367
52608
  },
52368
52609
  "default": "''",
52369
52610
  "description": "Text shown below the field, describing how to fill it in. Applies to every language. If you need HTML, use the\n`help-text` slot instead.",
52370
- "fieldName": "helpText"
52611
+ "attribute": "help-text"
52371
52612
  },
52372
52613
  {
52614
+ "kind": "field",
52373
52615
  "name": "disabled",
52374
52616
  "type": {
52375
52617
  "text": "boolean"
52376
52618
  },
52377
52619
  "default": "false",
52378
52620
  "description": "Disables editing in every language.",
52379
- "fieldName": "disabled"
52621
+ "attribute": "disabled",
52622
+ "reflects": true
52380
52623
  },
52381
52624
  {
52625
+ "kind": "field",
52382
52626
  "name": "required",
52383
52627
  "type": {
52384
52628
  "text": "boolean"
52385
52629
  },
52386
52630
  "default": "false",
52387
52631
  "description": "Marks the label required. Validity is not enforced per language.",
52388
- "fieldName": "required"
52632
+ "attribute": "required",
52633
+ "reflects": true
52389
52634
  },
52390
52635
  {
52636
+ "kind": "field",
52391
52637
  "name": "flush",
52392
52638
  "type": {
52393
52639
  "text": "boolean"
52394
52640
  },
52395
52641
  "default": "false",
52396
52642
  "description": "Removes the component's own padding.",
52397
- "fieldName": "flush"
52643
+ "attribute": "flush",
52644
+ "reflects": true
52398
52645
  },
52399
52646
  {
52400
- "name": "input-type",
52647
+ "kind": "field",
52648
+ "name": "inputType",
52401
52649
  "type": {
52402
52650
  "text": "'text' | 'number' | 'textarea' | 'remarkd'"
52403
52651
  },
52404
52652
  "default": "'text'",
52405
52653
  "description": "The control each translation is edited through.",
52406
- "fieldName": "inputType"
52654
+ "attribute": "input-type"
52407
52655
  },
52408
52656
  {
52409
- "name": "textarea-rows",
52657
+ "kind": "field",
52658
+ "name": "textareaRows",
52410
52659
  "type": {
52411
52660
  "text": "number | undefined"
52412
52661
  },
52413
52662
  "description": "Rows of the textarea, when `input-type` is `textarea`.",
52414
- "fieldName": "textareaRows"
52663
+ "attribute": "textarea-rows"
52415
52664
  },
52416
52665
  {
52417
- "name": "allow-raw",
52666
+ "kind": "field",
52667
+ "name": "allowRaw",
52418
52668
  "type": {
52419
52669
  "text": "boolean"
52420
52670
  },
52421
52671
  "default": "false",
52422
52672
  "description": "Allows raw HTML blocks, when `input-type` is `remarkd`.",
52423
- "fieldName": "allowRaw"
52673
+ "attribute": "allow-raw"
52424
52674
  },
52425
52675
  {
52426
- "name": "attachment-url",
52676
+ "kind": "field",
52677
+ "name": "attachmentUrl",
52427
52678
  "type": {
52428
52679
  "text": "string"
52429
52680
  },
52430
52681
  "default": "''",
52431
52682
  "description": "Where the remarkd editor uploads images, when `input-type` is `remarkd`.",
52432
- "fieldName": "attachmentUrl"
52683
+ "attribute": "attachment-url"
52433
52684
  },
52434
52685
  {
52435
- "name": "include-url",
52686
+ "kind": "field",
52687
+ "name": "includeUrl",
52436
52688
  "type": {
52437
52689
  "text": "string"
52438
52690
  },
52439
52691
  "default": "''",
52440
52692
  "description": "Where the remarkd editor lists embeddable includes, when `input-type` is `remarkd`.",
52441
- "fieldName": "includeUrl"
52693
+ "attribute": "include-url"
52442
52694
  },
52443
52695
  {
52444
- "name": "link-url",
52696
+ "kind": "field",
52697
+ "name": "linkUrl",
52445
52698
  "type": {
52446
52699
  "text": "string"
52447
52700
  },
52448
52701
  "default": "''",
52449
52702
  "description": "Where the remarkd editor searches link targets, when `input-type` is `remarkd`.",
52450
- "fieldName": "linkUrl"
52703
+ "attribute": "link-url"
52451
52704
  },
52452
52705
  {
52453
- "name": "inline-edit",
52706
+ "kind": "field",
52707
+ "name": "inlineEdit",
52454
52708
  "type": {
52455
52709
  "text": "boolean"
52456
52710
  },
52457
52711
  "default": "false",
52458
52712
  "description": "Edits the translation through a `zn-inline-edit` — the value reads as text until it is clicked — rather than a\nplain input or textarea.",
52459
- "fieldName": "inlineEdit"
52713
+ "attribute": "inline-edit",
52714
+ "reflects": true
52460
52715
  },
52461
52716
  {
52462
- "name": "slash-items",
52717
+ "kind": "field",
52718
+ "name": "slashItems",
52463
52719
  "type": {
52464
52720
  "text": "SlashMenuItem[]"
52465
52721
  },
52466
52722
  "default": "[]",
52467
52723
  "description": "Quick insertions offered by the slash menu on `text` and `textarea` inputs. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Every language shares the list.",
52468
- "fieldName": "slashItems"
52724
+ "attribute": "slash-items"
52469
52725
  },
52470
52726
  {
52471
- "name": "slash-preset",
52727
+ "kind": "field",
52728
+ "name": "slashPreset",
52472
52729
  "type": {
52473
52730
  "text": "string"
52474
52731
  },
52475
52732
  "default": "''",
52476
52733
  "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
52477
- "fieldName": "slashPreset"
52734
+ "attribute": "slash-preset"
52478
52735
  },
52479
52736
  {
52480
- "name": "slash-trigger",
52737
+ "kind": "field",
52738
+ "name": "slashTrigger",
52481
52739
  "type": {
52482
52740
  "text": "string"
52483
52741
  },
52484
52742
  "default": "'/'",
52485
52743
  "description": "The characters that open the slash menu.",
52486
- "fieldName": "slashTrigger"
52744
+ "attribute": "slash-trigger"
52487
52745
  },
52488
52746
  {
52489
- "name": "slash-heading",
52747
+ "kind": "field",
52748
+ "name": "slashHeading",
52490
52749
  "type": {
52491
52750
  "text": "string"
52492
52751
  },
52493
52752
  "default": "'Insert'",
52494
52753
  "description": "The name the slash menu's list is announced by.",
52495
- "fieldName": "slashHeading"
52754
+ "attribute": "slash-heading"
52496
52755
  },
52497
52756
  {
52498
- "name": "slash-hide-keys",
52757
+ "kind": "field",
52758
+ "name": "slashHideKeys",
52499
52759
  "type": {
52500
52760
  "text": "boolean"
52501
52761
  },
52502
52762
  "default": "false",
52503
52763
  "description": "Hides the insertion keys normally shown against the slash menu's items.",
52504
- "fieldName": "slashHideKeys"
52764
+ "attribute": "slash-hide-keys"
52505
52765
  },
52506
52766
  {
52507
- "name": "slash-recent-key",
52767
+ "kind": "field",
52768
+ "name": "slashRecentKey",
52508
52769
  "type": {
52509
52770
  "text": "string"
52510
52771
  },
52511
52772
  "default": "''",
52512
52773
  "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
52513
- "fieldName": "slashRecentKey"
52774
+ "attribute": "slash-recent-key"
52514
52775
  },
52515
52776
  {
52777
+ "kind": "field",
52778
+ "name": "slashItemsProvider",
52779
+ "type": {
52780
+ "text": "(query: string) => SlashMenuItem[] | Promise<SlashMenuItem[]> | undefined"
52781
+ },
52782
+ "description": "Resolves additional slash menu items each time the menu opens. JavaScript only."
52783
+ },
52784
+ {
52785
+ "kind": "field",
52516
52786
  "name": "grouped",
52517
52787
  "type": {
52518
52788
  "text": "boolean"
52519
52789
  },
52520
52790
  "default": "false",
52521
52791
  "description": "Hides this component's own language select and defers the choice to a parent zn-translation-group. The group sets\nthis on its children itself.",
52522
- "fieldName": "grouped"
52792
+ "attribute": "grouped",
52793
+ "reflects": true
52523
52794
  },
52524
52795
  {
52796
+ "kind": "field",
52525
52797
  "name": "languages",
52526
52798
  "type": {
52527
52799
  "text": "Record<string, string>"
52528
52800
  },
52529
52801
  "default": "{ 'en': 'EN' }",
52530
52802
  "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to.",
52531
- "fieldName": "languages"
52803
+ "attribute": "languages"
52532
52804
  },
52533
52805
  {
52806
+ "kind": "field",
52534
52807
  "name": "values",
52535
52808
  "type": {
52536
52809
  "text": "Record<string, string>"
52537
52810
  },
52538
52811
  "default": "{}",
52539
52812
  "description": "The translations as an object keyed by language code. The mirror of `value` in property form.",
52540
- "fieldName": "values"
52541
- }
52542
- ],
52543
- "superclass": {
52544
- "name": "ZincElement",
52545
- "module": "/src/internal/zinc-element"
52546
- },
52547
- "summary": "Collects one piece of text in several languages, one language at a time.",
52548
- "tagNameWithoutPrefix": "translations",
52549
- "tagName": "zn-translations",
52550
- "customElement": true,
52551
- "jsDoc": "/**\n * @summary Collects one piece of text in several languages, one language at a time.\n * @documentation https://zinc.style/components/translations\n * @status experimental\n * @since 1.0\n *\n * A select above the field chooses the language being edited. Closed, it carries how many languages are translated —\n * `1/5`; open, every language it offers carries a chip saying whether it has a translation of its own or falls back\n * to English. Blank languages fall back to English at render\n * time, so a blank field shows the English text as its placeholder rather than looking empty.\n *\n * The value submitted is a JSON object keyed by language code. A language stays out of it until it is typed into, so\n * browsing the languages does not pad the payload with empty translations.\n *\n * Put several of these in a `zn-translation-group` to have one select drive all of them.\n *\n * @dependency zn-chip\n * @dependency zn-inline-edit\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n * @dependency zn-textarea\n *\n * @slot label - The field's label. Alternatively, use the `label` attribute.\n * @slot help-text - Text describing how to fill the field in, shown below it and shared by every language.\n * Alternatively, use the `help-text` attribute.\n *\n * @event zn-change - Emitted when a translation's value changes.\n * @event zn-input - Emitted when a translation receives input.\n *\n * @csspart form-control - The form control that wraps the label, the language select, the field and the help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The wrapper around the field being edited.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart language-select - The select that chooses the language being edited.\n */",
52552
- "documentation": "https://zinc.style/components/translations",
52553
- "status": "experimental",
52554
- "since": "1.0",
52555
- "dependencies": [
52556
- "zn-chip",
52557
- "zn-inline-edit",
52558
- "zn-input",
52559
- "zn-option",
52560
- "zn-select",
52561
- "zn-textarea"
52562
- ]
52563
- }
52564
- ],
52565
- "exports": [
52566
- {
52567
- "kind": "js",
52568
- "name": "default",
52569
- "declaration": {
52570
- "name": "ZnTranslations",
52571
- "module": "components/translations/translations.js"
52572
- }
52573
- }
52574
- ]
52575
- },
52576
- {
52577
- "kind": "javascript-module",
52578
- "path": "components/translation-group/translation-group.js",
52579
- "declarations": [
52580
- {
52581
- "kind": "class",
52582
- "description": "",
52583
- "name": "ZnTranslationGroup",
52584
- "cssParts": [
52585
- {
52586
- "description": "The component's base wrapper.",
52587
- "name": "base",
52588
- "inheritedFrom": {
52589
- "name": "ZnPanel",
52590
- "module": "src/components/panel/panel.component.ts"
52591
- }
52592
- },
52593
- {
52594
- "description": "The form group holding the caption, the language select and the fields.",
52595
- "name": "form-group"
52596
- },
52597
- {
52598
- "description": "The row of buttons at the bottom of the body.",
52599
- "name": "actions"
52600
- },
52601
- {
52602
- "description": "The select that chooses the language every child is editing, in the group's chip slot.",
52603
- "name": "language-field"
52604
- },
52605
- {
52606
- "description": "The select itself.",
52607
- "name": "language-select"
52608
- },
52609
- {
52610
- "description": "The header region, when a caption or actions are given.",
52611
- "name": "header",
52612
- "inheritedFrom": {
52613
- "name": "ZnPanel",
52614
- "module": "src/components/panel/panel.component.ts"
52615
- }
52616
- },
52617
- {
52618
- "description": "The padded row inside the header, forwarded from zn-header.",
52619
- "name": "header-content",
52620
- "inheritedFrom": {
52621
- "name": "ZnPanel",
52622
- "module": "src/components/panel/panel.component.ts"
52623
- }
52624
- },
52625
- {
52626
- "description": "The footer region, when the footer slot is filled.",
52627
- "name": "footer",
52628
- "inheritedFrom": {
52629
- "name": "ZnPanel",
52630
- "module": "src/components/panel/panel.component.ts"
52631
- }
52632
- }
52633
- ],
52634
- "slots": [
52635
- {
52636
- "description": "The `zn-translations` fields the select drives.",
52637
- "name": "",
52638
- "inheritedFrom": {
52639
- "name": "ZnPanel",
52640
- "module": "src/components/panel/panel.component.ts"
52641
- }
52642
- },
52643
- {
52644
- "description": "Buttons for the bottom of the panel, on the white body rather than the grey footer. They sit on the right, as zinc's form action rows do; `align=\"start\"` moves one to the left. Write them in the order they should be read — the sides are set by CSS ordering, so markup order is what a keyboard follows.",
52645
- "name": "actions",
52646
- "inheritedFrom": {
52647
- "name": "ZnPanel",
52648
- "module": "src/components/panel/panel.component.ts"
52649
- }
52813
+ "attribute": "values"
52650
52814
  },
52651
- {
52652
- "description": "Content displayed in the grey panel footer.",
52653
- "name": "footer",
52654
- "inheritedFrom": {
52655
- "name": "ZnPanel",
52656
- "module": "src/components/panel/panel.component.ts"
52657
- }
52658
- }
52659
- ],
52660
- "members": [
52661
52815
  {
52662
52816
  "kind": "field",
52663
- "name": "dependencies",
52817
+ "name": "defaultValue",
52664
52818
  "type": {
52665
- "text": "object"
52819
+ "text": "string"
52666
52820
  },
52667
- "static": true,
52668
- "default": "{ 'zn-chip': ZnChip, 'zn-form-group': ZnFormGroup, 'zn-option': ZnOption, 'zn-select': ZnSelect }"
52669
- },
52670
- {
52671
- "kind": "field",
52672
- "name": "_slotController",
52673
- "privacy": "private",
52674
- "readonly": true,
52675
- "default": "new HasSlotController(this, 'actions', 'footer')"
52821
+ "default": "'{\"en\":\"\"}'",
52822
+ "description": "The serialized translations a form reset restores. Taken from the `value` attribute where there is one."
52676
52823
  },
52677
52824
  {
52678
52825
  "kind": "field",
52679
- "name": "label",
52826
+ "name": "_activeLanguage",
52680
52827
  "type": {
52681
52828
  "text": "string"
52682
52829
  },
52683
- "default": "''",
52684
- "description": "The form group's label. An alias for the inherited `caption`, which wins where both are set.",
52685
- "attribute": "label"
52830
+ "privacy": "private",
52831
+ "default": "'en'"
52686
52832
  },
52687
52833
  {
52688
52834
  "kind": "field",
52689
- "name": "helpText",
52835
+ "name": "validity",
52690
52836
  "type": {
52691
- "text": "string"
52837
+ "text": "ValidityState"
52692
52838
  },
52693
- "default": "''",
52694
- "description": "Sits under the label, above the language select, as help text does in any other form group.",
52695
- "attribute": "help-text"
52839
+ "readonly": true
52696
52840
  },
52697
52841
  {
52698
52842
  "kind": "field",
52699
- "name": "inline",
52700
- "type": {
52701
- "text": "boolean"
52702
- },
52703
- "default": "false",
52704
- "description": "Drops the panel chrome — border, background and padding — so the group reads as a section of the surrounding form\nrather than a panel of its own. For groups nested inside another panel, where the fields would otherwise sit\nindented behind a second border.",
52705
- "attribute": "inline",
52706
- "reflects": true
52843
+ "name": "validationMessage",
52844
+ "readonly": true
52707
52845
  },
52708
52846
  {
52709
- "kind": "field",
52710
- "name": "languageLabel",
52711
- "type": {
52712
- "text": "string"
52713
- },
52714
- "default": "'Edit Languages'",
52715
- "description": "The select's accessible name. Not shown — the caption is what names the section on screen — but read out by a\nscreen reader, which has nothing else to go on once the visible label is gone.",
52716
- "attribute": "language-label"
52847
+ "kind": "method",
52848
+ "name": "checkValidity"
52717
52849
  },
52718
52850
  {
52719
- "kind": "field",
52720
- "name": "languages",
52721
- "type": {
52722
- "text": "Record<string, string>"
52723
- },
52724
- "default": "{ 'en': 'EN' }",
52725
- "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to. Set on every\nchild, so they do not need their own copy.",
52726
- "attribute": "languages"
52851
+ "kind": "method",
52852
+ "name": "getForm"
52727
52853
  },
52728
52854
  {
52729
- "kind": "field",
52730
- "name": "_activeLanguage",
52731
- "type": {
52732
- "text": "string"
52733
- },
52734
- "privacy": "private",
52735
- "default": "'en'",
52736
- "description": "The language every child is currently editing."
52855
+ "kind": "method",
52856
+ "name": "reportValidity"
52737
52857
  },
52738
52858
  {
52739
- "kind": "field",
52740
- "name": "_form",
52741
- "type": {
52742
- "text": "HTMLFormElement | null"
52743
- },
52744
- "privacy": "private",
52745
- "default": "null"
52859
+ "kind": "method",
52860
+ "name": "setCustomValidity"
52746
52861
  },
52747
52862
  {
52748
52863
  "kind": "method",
52749
- "name": "getAllTranslations",
52750
- "privacy": "private",
52864
+ "name": "setActiveLanguage",
52865
+ "privacy": "public",
52866
+ "parameters": [
52867
+ {
52868
+ "name": "language",
52869
+ "type": {
52870
+ "text": "string"
52871
+ }
52872
+ }
52873
+ ],
52874
+ "description": "Sets the active language externally. Used by zn-translation-group. Browsing to a language does not create a key\nfor it — an untouched language stays absent from `values` so it is not submitted as an empty translation."
52875
+ },
52876
+ {
52877
+ "kind": "method",
52878
+ "name": "getActiveLanguage",
52879
+ "privacy": "public",
52751
52880
  "return": {
52752
52881
  "type": {
52753
- "text": "ZnTranslations[]"
52882
+ "text": "string"
52754
52883
  }
52755
52884
  },
52756
- "description": "The children the select drives. Read live rather than cached, so markup added later is picked up."
52885
+ "description": "Returns the currently active language."
52757
52886
  },
52758
52887
  {
52759
52888
  "kind": "method",
52760
- "name": "syncChildren",
52761
- "privacy": "private",
52762
- "description": "Sync grouped state, languages, and active language to all children."
52889
+ "name": "addLanguageKey",
52890
+ "privacy": "public",
52891
+ "parameters": [
52892
+ {
52893
+ "name": "languageCode",
52894
+ "type": {
52895
+ "text": "string"
52896
+ }
52897
+ }
52898
+ ],
52899
+ "description": "Adds a language key to this component's values if not already present. Used by zn-translation-group."
52763
52900
  },
52764
52901
  {
52765
52902
  "kind": "method",
52766
- "name": "languageState",
52767
- "privacy": "private",
52903
+ "name": "getValueLanguages",
52904
+ "privacy": "public",
52768
52905
  "return": {
52769
52906
  "type": {
52770
- "text": "{ type: 'success' | 'warning' | 'error'; label: string }"
52907
+ "text": "string[]"
52908
+ }
52909
+ },
52910
+ "description": "Returns all language codes that have values."
52911
+ },
52912
+ {
52913
+ "kind": "method",
52914
+ "name": "hasTranslation",
52915
+ "privacy": "public",
52916
+ "return": {
52917
+ "type": {
52918
+ "text": "boolean"
52771
52919
  }
52772
52920
  },
52773
52921
  "parameters": [
@@ -52778,15 +52926,15 @@
52778
52926
  }
52779
52927
  }
52780
52928
  ],
52781
- "description": "A language is translated once every child carries a value for it, partial while only some do. The chips and the\ncount are read off the children, so a child's edit has to bring the group back round."
52929
+ "description": "Whether the language carries a translation of its own, rather than falling back to English."
52782
52930
  },
52783
52931
  {
52784
52932
  "kind": "method",
52785
- "name": "displayName",
52933
+ "name": "languageState",
52786
52934
  "privacy": "private",
52787
52935
  "return": {
52788
52936
  "type": {
52789
- "text": "string"
52937
+ "text": "{ type: 'success' | 'error'; label: string }"
52790
52938
  }
52791
52939
  },
52792
52940
  "parameters": [
@@ -52795,40 +52943,45 @@
52795
52943
  "type": {
52796
52944
  "text": "string"
52797
52945
  }
52798
- }
52799
- ],
52800
- "description": "The configured name, or the code where `languages` does not name the language."
52801
- },
52802
- {
52803
- "kind": "method",
52804
- "name": "syncChildLanguages",
52805
- "privacy": "private",
52806
- "description": "Children take their language list from the group, so a change to `languages` has to reach them."
52807
- },
52808
- {
52809
- "kind": "field",
52810
- "name": "handleSlotChange",
52811
- "privacy": "private"
52946
+ }
52947
+ ],
52948
+ "description": "The chip shown against a language, in the select's value and against each of its options."
52812
52949
  },
52813
52950
  {
52814
52951
  "kind": "method",
52815
- "name": "switchLanguage",
52952
+ "name": "languageLabel",
52816
52953
  "privacy": "private",
52954
+ "return": {
52955
+ "type": {
52956
+ "text": "string"
52957
+ }
52958
+ },
52817
52959
  "parameters": [
52818
52960
  {
52819
- "name": "lang",
52961
+ "name": "language",
52820
52962
  "type": {
52821
52963
  "text": "string"
52822
52964
  }
52823
52965
  }
52824
52966
  ],
52825
- "description": "Moves every child onto `lang` and announces it. Does not touch their values."
52967
+ "description": "The configured name, or the code where `languages` does not name the language."
52968
+ },
52969
+ {
52970
+ "kind": "method",
52971
+ "name": "pendingValues",
52972
+ "privacy": "private",
52973
+ "return": {
52974
+ "type": {
52975
+ "text": "Record<string, string>"
52976
+ }
52977
+ },
52978
+ "description": "`values`, falling back to the `value` attribute it is built from while that is still pending. A parent\nzn-translation-group syncs its children from its own first update, which runs before theirs, so reading\n`values` alone would see it empty and overwrite the value the server rendered."
52826
52979
  },
52827
52980
  {
52828
52981
  "kind": "field",
52829
52982
  "name": "handleLanguageSelect",
52830
52983
  "privacy": "private",
52831
- "description": "The select's own change and input events describe the language being browsed, not a translation being edited, so\nthey are stopped rather than allowed to reach a consumer listening for a child's value change."
52984
+ "description": "The select's own change and input events are stopped here: they describe the language being browsed, not the\ntranslation being edited, and a consumer listening on zn-translations reads either as a value change."
52832
52985
  },
52833
52986
  {
52834
52987
  "kind": "field",
@@ -52837,444 +52990,313 @@
52837
52990
  },
52838
52991
  {
52839
52992
  "kind": "field",
52840
- "name": "handleChildChange",
52993
+ "name": "switchLanguage",
52841
52994
  "privacy": "private",
52842
- "description": "A child's edit changes which chips the select shows, and the translated count above it."
52995
+ "description": "The language shown in the field, without touching `values`."
52843
52996
  },
52844
52997
  {
52845
52998
  "kind": "field",
52846
- "name": "handleFormReset",
52847
- "privacy": "private",
52848
- "description": "The children restore their own values on the form's reset event without announcing it, and the chips and the\ncount are read off them — so re-read once every listener on that event has run."
52999
+ "name": "handleValueUpdate",
53000
+ "privacy": "private"
52849
53001
  },
52850
53002
  {
52851
- "kind": "field",
52852
- "name": "hasSlotController",
52853
- "privacy": "private",
52854
- "readonly": true,
52855
- "default": "new HasSlotController(this, '[default]', 'actions', 'footer')",
52856
- "inheritedFrom": {
52857
- "name": "ZnPanel",
52858
- "module": "components/panel/panel.js"
52859
- }
53003
+ "kind": "method",
53004
+ "name": "updateValue",
53005
+ "privacy": "private"
52860
53006
  },
52861
53007
  {
52862
53008
  "kind": "field",
52863
- "name": "basis",
52864
- "type": {
52865
- "text": "number"
52866
- },
52867
- "attribute": "basis-px",
52868
- "inheritedFrom": {
52869
- "name": "ZnPanel",
52870
- "module": "components/panel/panel.js"
52871
- }
53009
+ "name": "handleKeyDown",
53010
+ "privacy": "private"
52872
53011
  },
52873
53012
  {
52874
53013
  "kind": "field",
52875
- "name": "caption",
52876
- "type": {
52877
- "text": "string"
52878
- },
52879
- "attribute": "caption",
52880
- "inheritedFrom": {
52881
- "name": "ZnPanel",
52882
- "module": "components/panel/panel.js"
52883
- }
53014
+ "name": "handleSubmit",
53015
+ "privacy": "private"
52884
53016
  },
52885
53017
  {
52886
- "kind": "field",
52887
- "name": "icon",
52888
- "type": {
52889
- "text": "string"
53018
+ "kind": "method",
53019
+ "name": "renderField",
53020
+ "privacy": "private",
53021
+ "parameters": [
53022
+ {
53023
+ "name": "value",
53024
+ "type": {
53025
+ "text": "string"
53026
+ }
53027
+ },
53028
+ {
53029
+ "name": "placeholder",
53030
+ "type": {
53031
+ "text": "string"
53032
+ }
53033
+ },
53034
+ {
53035
+ "name": "isRTL",
53036
+ "type": {
53037
+ "text": "boolean"
53038
+ }
53039
+ }
53040
+ ],
53041
+ "description": "The control the active language's translation is edited through."
53042
+ },
53043
+ {
53044
+ "kind": "method",
53045
+ "name": "isRTLLanguage",
53046
+ "privacy": "private",
53047
+ "return": {
53048
+ "type": {
53049
+ "text": "boolean"
53050
+ }
52890
53051
  },
52891
- "attribute": "icon",
52892
- "inheritedFrom": {
52893
- "name": "ZnPanel",
52894
- "module": "components/panel/panel.js"
52895
- }
53052
+ "parameters": [
53053
+ {
53054
+ "name": "languageCode",
53055
+ "type": {
53056
+ "text": "string"
53057
+ }
53058
+ }
53059
+ ],
53060
+ "description": "Arabic and Hebrew read right to left, so the field's `dir` follows the language being edited."
53061
+ }
53062
+ ],
53063
+ "events": [
53064
+ {
53065
+ "description": "Emitted when a translation's value changes.",
53066
+ "name": "zn-change"
52896
53067
  },
52897
53068
  {
52898
- "kind": "field",
52899
- "name": "tabbed",
53069
+ "description": "Emitted when a translation receives input.",
53070
+ "name": "zn-input"
53071
+ }
53072
+ ],
53073
+ "attributes": [
53074
+ {
53075
+ "name": "name",
52900
53076
  "type": {
52901
- "text": "boolean"
53077
+ "text": "string"
52902
53078
  },
52903
- "attribute": "tabbed",
52904
- "inheritedFrom": {
52905
- "name": "ZnPanel",
52906
- "module": "components/panel/panel.js"
52907
- }
53079
+ "default": "''",
53080
+ "description": "The name submitted with the form.",
53081
+ "fieldName": "name"
52908
53082
  },
52909
53083
  {
52910
- "kind": "field",
52911
- "name": "headerBorderless",
53084
+ "name": "value",
52912
53085
  "type": {
52913
- "text": "boolean"
53086
+ "text": "string"
52914
53087
  },
52915
- "attribute": "header-borderless",
52916
- "inheritedFrom": {
52917
- "name": "ZnPanel",
52918
- "module": "components/panel/panel.js"
52919
- }
53088
+ "default": "'{\"en\":\"\"}'",
53089
+ "description": "The translations as a JSON object keyed by language code. The mirror of `values` in attribute form.",
53090
+ "fieldName": "value"
52920
53091
  },
52921
53092
  {
52922
- "kind": "field",
52923
- "name": "cosmic",
53093
+ "name": "label",
52924
53094
  "type": {
52925
- "text": "boolean"
53095
+ "text": "string"
52926
53096
  },
52927
- "attribute": "cosmic",
52928
- "inheritedFrom": {
52929
- "name": "ZnPanel",
52930
- "module": "components/panel/panel.js"
52931
- }
53097
+ "default": "''",
53098
+ "description": "The label shown above the field. If you need HTML, use the `label` slot instead.",
53099
+ "fieldName": "label"
52932
53100
  },
52933
53101
  {
52934
- "kind": "field",
52935
- "name": "flush",
53102
+ "name": "help-text",
52936
53103
  "type": {
52937
- "text": "boolean"
53104
+ "text": "string"
52938
53105
  },
52939
- "attribute": "flush",
52940
- "inheritedFrom": {
52941
- "name": "ZnPanel",
52942
- "module": "components/panel/panel.js"
52943
- }
53106
+ "default": "''",
53107
+ "description": "Text shown below the field, describing how to fill it in. Applies to every language. If you need HTML, use the\n`help-text` slot instead.",
53108
+ "fieldName": "helpText"
52944
53109
  },
52945
53110
  {
52946
- "kind": "field",
52947
- "name": "flushX",
53111
+ "name": "disabled",
52948
53112
  "type": {
52949
53113
  "text": "boolean"
52950
53114
  },
52951
- "attribute": "flush-x",
52952
- "inheritedFrom": {
52953
- "name": "ZnPanel",
52954
- "module": "components/panel/panel.js"
52955
- }
53115
+ "default": "false",
53116
+ "description": "Disables editing in every language.",
53117
+ "fieldName": "disabled"
52956
53118
  },
52957
53119
  {
52958
- "kind": "field",
52959
- "name": "flushY",
53120
+ "name": "required",
52960
53121
  "type": {
52961
53122
  "text": "boolean"
52962
53123
  },
52963
- "attribute": "flush-y",
52964
- "inheritedFrom": {
52965
- "name": "ZnPanel",
52966
- "module": "components/panel/panel.js"
52967
- }
53124
+ "default": "false",
53125
+ "description": "Marks the label required. Validity is not enforced per language.",
53126
+ "fieldName": "required"
52968
53127
  },
52969
53128
  {
52970
- "kind": "field",
52971
- "name": "flushFooter",
53129
+ "name": "flush",
52972
53130
  "type": {
52973
53131
  "text": "boolean"
52974
53132
  },
52975
- "attribute": "flush-footer",
52976
- "inheritedFrom": {
52977
- "name": "ZnPanel",
52978
- "module": "components/panel/panel.js"
52979
- }
53133
+ "default": "false",
53134
+ "description": "Removes the component's own padding.",
53135
+ "fieldName": "flush"
52980
53136
  },
52981
53137
  {
52982
- "kind": "field",
52983
- "name": "transparent",
53138
+ "name": "input-type",
52984
53139
  "type": {
52985
- "text": "boolean"
53140
+ "text": "'text' | 'number' | 'textarea' | 'remarkd'"
52986
53141
  },
52987
- "attribute": "transparent",
52988
- "inheritedFrom": {
52989
- "name": "ZnPanel",
52990
- "module": "components/panel/panel.js"
52991
- }
53142
+ "default": "'text'",
53143
+ "description": "The control each translation is edited through.",
53144
+ "fieldName": "inputType"
52992
53145
  },
52993
53146
  {
52994
- "kind": "field",
52995
- "name": "shadow",
53147
+ "name": "textarea-rows",
52996
53148
  "type": {
52997
- "text": "boolean"
53149
+ "text": "number | undefined"
52998
53150
  },
52999
- "attribute": "shadow",
53000
- "inheritedFrom": {
53001
- "name": "ZnPanel",
53002
- "module": "components/panel/panel.js"
53003
- }
53151
+ "description": "Rows of the textarea, when `input-type` is `textarea`.",
53152
+ "fieldName": "textareaRows"
53004
53153
  },
53005
53154
  {
53006
- "kind": "field",
53007
- "name": "bodyEmpty",
53155
+ "name": "allow-raw",
53008
53156
  "type": {
53009
53157
  "text": "boolean"
53010
53158
  },
53011
- "privacy": "private",
53012
53159
  "default": "false",
53013
- "inheritedFrom": {
53014
- "name": "ZnPanel",
53015
- "module": "components/panel/panel.js"
53016
- }
53160
+ "description": "Allows raw HTML blocks, when `input-type` is `remarkd`.",
53161
+ "fieldName": "allowRaw"
53017
53162
  },
53018
53163
  {
53019
- "kind": "field",
53020
- "name": "resizeObserver",
53164
+ "name": "attachment-url",
53021
53165
  "type": {
53022
- "text": "ResizeObserver | null"
53166
+ "text": "string"
53023
53167
  },
53024
- "privacy": "private",
53025
- "default": "null",
53026
- "inheritedFrom": {
53027
- "name": "ZnPanel",
53028
- "module": "components/panel/panel.js"
53029
- }
53030
- },
53031
- {
53032
- "kind": "method",
53033
- "name": "observeBodyContent",
53034
- "privacy": "private",
53035
- "inheritedFrom": {
53036
- "name": "ZnPanel",
53037
- "module": "components/panel/panel.js"
53038
- }
53168
+ "default": "''",
53169
+ "description": "Where the remarkd editor uploads images, when `input-type` is `remarkd`.",
53170
+ "fieldName": "attachmentUrl"
53039
53171
  },
53040
53172
  {
53041
- "kind": "method",
53042
- "name": "measureBodyContent",
53043
- "privacy": "private",
53044
- "inheritedFrom": {
53045
- "name": "ZnPanel",
53046
- "module": "components/panel/panel.js"
53047
- }
53048
- }
53049
- ],
53050
- "events": [
53051
- {
53052
- "description": "Emitted when the active language changes. Detail: `{ language: string }`.",
53053
- "name": "zn-language-change"
53054
- }
53055
- ],
53056
- "attributes": [
53057
- {
53058
- "name": "label",
53173
+ "name": "include-url",
53059
53174
  "type": {
53060
53175
  "text": "string"
53061
53176
  },
53062
53177
  "default": "''",
53063
- "description": "The form group's label. An alias for the inherited `caption`, which wins where both are set.",
53064
- "fieldName": "label"
53178
+ "description": "Where the remarkd editor lists embeddable includes, when `input-type` is `remarkd`.",
53179
+ "fieldName": "includeUrl"
53065
53180
  },
53066
53181
  {
53067
- "name": "help-text",
53182
+ "name": "link-url",
53068
53183
  "type": {
53069
53184
  "text": "string"
53070
53185
  },
53071
53186
  "default": "''",
53072
- "description": "Sits under the label, above the language select, as help text does in any other form group.",
53073
- "fieldName": "helpText"
53187
+ "description": "Where the remarkd editor searches link targets, when `input-type` is `remarkd`.",
53188
+ "fieldName": "linkUrl"
53074
53189
  },
53075
53190
  {
53076
- "name": "inline",
53191
+ "name": "inline-edit",
53077
53192
  "type": {
53078
53193
  "text": "boolean"
53079
53194
  },
53080
53195
  "default": "false",
53081
- "description": "Drops the panel chrome — border, background and padding — so the group reads as a section of the surrounding form\nrather than a panel of its own. For groups nested inside another panel, where the fields would otherwise sit\nindented behind a second border.",
53082
- "fieldName": "inline"
53083
- },
53084
- {
53085
- "name": "language-label",
53086
- "type": {
53087
- "text": "string"
53088
- },
53089
- "default": "'Edit Languages'",
53090
- "description": "The select's accessible name. Not shown — the caption is what names the section on screen — but read out by a\nscreen reader, which has nothing else to go on once the visible label is gone.",
53091
- "fieldName": "languageLabel"
53092
- },
53093
- {
53094
- "name": "languages",
53095
- "type": {
53096
- "text": "Record<string, string>"
53097
- },
53098
- "default": "{ 'en': 'EN' }",
53099
- "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to. Set on every\nchild, so they do not need their own copy.",
53100
- "fieldName": "languages"
53196
+ "description": "Edits the translation through a `zn-inline-edit` — the value reads as text until it is clicked — rather than a\nplain input or textarea.",
53197
+ "fieldName": "inlineEdit"
53101
53198
  },
53102
53199
  {
53103
- "name": "basis-px",
53200
+ "name": "slash-items",
53104
53201
  "type": {
53105
- "text": "number"
53202
+ "text": "SlashMenuItem[]"
53106
53203
  },
53107
- "fieldName": "basis",
53108
- "inheritedFrom": {
53109
- "name": "ZnPanel",
53110
- "module": "src/components/panel/panel.component.ts"
53111
- }
53204
+ "default": "[]",
53205
+ "description": "Quick insertions offered by the slash menu on `text` and `textarea` inputs. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Every language shares the list.",
53206
+ "fieldName": "slashItems"
53112
53207
  },
53113
53208
  {
53114
- "name": "caption",
53209
+ "name": "slash-preset",
53115
53210
  "type": {
53116
53211
  "text": "string"
53117
53212
  },
53118
- "fieldName": "caption",
53119
- "inheritedFrom": {
53120
- "name": "ZnPanel",
53121
- "module": "src/components/panel/panel.component.ts"
53122
- }
53213
+ "default": "''",
53214
+ "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
53215
+ "fieldName": "slashPreset"
53123
53216
  },
53124
53217
  {
53125
- "name": "icon",
53218
+ "name": "slash-trigger",
53126
53219
  "type": {
53127
53220
  "text": "string"
53128
53221
  },
53129
- "fieldName": "icon",
53130
- "inheritedFrom": {
53131
- "name": "ZnPanel",
53132
- "module": "src/components/panel/panel.component.ts"
53133
- }
53134
- },
53135
- {
53136
- "name": "tabbed",
53137
- "type": {
53138
- "text": "boolean"
53139
- },
53140
- "fieldName": "tabbed",
53141
- "inheritedFrom": {
53142
- "name": "ZnPanel",
53143
- "module": "src/components/panel/panel.component.ts"
53144
- }
53145
- },
53146
- {
53147
- "name": "header-borderless",
53148
- "type": {
53149
- "text": "boolean"
53150
- },
53151
- "fieldName": "headerBorderless",
53152
- "inheritedFrom": {
53153
- "name": "ZnPanel",
53154
- "module": "src/components/panel/panel.component.ts"
53155
- }
53156
- },
53157
- {
53158
- "name": "cosmic",
53159
- "type": {
53160
- "text": "boolean"
53161
- },
53162
- "fieldName": "cosmic",
53163
- "inheritedFrom": {
53164
- "name": "ZnPanel",
53165
- "module": "src/components/panel/panel.component.ts"
53166
- }
53222
+ "default": "'/'",
53223
+ "description": "The characters that open the slash menu.",
53224
+ "fieldName": "slashTrigger"
53167
53225
  },
53168
53226
  {
53169
- "name": "flush",
53227
+ "name": "slash-heading",
53170
53228
  "type": {
53171
- "text": "boolean"
53229
+ "text": "string"
53172
53230
  },
53173
- "fieldName": "flush",
53174
- "inheritedFrom": {
53175
- "name": "ZnPanel",
53176
- "module": "src/components/panel/panel.component.ts"
53177
- }
53231
+ "default": "'Insert'",
53232
+ "description": "The name the slash menu's list is announced by.",
53233
+ "fieldName": "slashHeading"
53178
53234
  },
53179
53235
  {
53180
- "name": "flush-x",
53236
+ "name": "slash-hide-keys",
53181
53237
  "type": {
53182
53238
  "text": "boolean"
53183
53239
  },
53184
- "fieldName": "flushX",
53185
- "inheritedFrom": {
53186
- "name": "ZnPanel",
53187
- "module": "src/components/panel/panel.component.ts"
53188
- }
53240
+ "default": "false",
53241
+ "description": "Hides the insertion keys normally shown against the slash menu's items.",
53242
+ "fieldName": "slashHideKeys"
53189
53243
  },
53190
53244
  {
53191
- "name": "flush-y",
53245
+ "name": "slash-recent-key",
53192
53246
  "type": {
53193
- "text": "boolean"
53247
+ "text": "string"
53194
53248
  },
53195
- "fieldName": "flushY",
53196
- "inheritedFrom": {
53197
- "name": "ZnPanel",
53198
- "module": "src/components/panel/panel.component.ts"
53199
- }
53249
+ "default": "''",
53250
+ "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
53251
+ "fieldName": "slashRecentKey"
53200
53252
  },
53201
53253
  {
53202
- "name": "flush-footer",
53254
+ "name": "grouped",
53203
53255
  "type": {
53204
53256
  "text": "boolean"
53205
53257
  },
53206
- "fieldName": "flushFooter",
53207
- "inheritedFrom": {
53208
- "name": "ZnPanel",
53209
- "module": "src/components/panel/panel.component.ts"
53210
- }
53258
+ "default": "false",
53259
+ "description": "Hides this component's own language select and defers the choice to a parent zn-translation-group. The group sets\nthis on its children itself.",
53260
+ "fieldName": "grouped"
53211
53261
  },
53212
53262
  {
53213
- "name": "transparent",
53263
+ "name": "languages",
53214
53264
  "type": {
53215
- "text": "boolean"
53265
+ "text": "Record<string, string>"
53216
53266
  },
53217
- "fieldName": "transparent",
53218
- "inheritedFrom": {
53219
- "name": "ZnPanel",
53220
- "module": "src/components/panel/panel.component.ts"
53221
- }
53267
+ "default": "{ 'en': 'EN' }",
53268
+ "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to.",
53269
+ "fieldName": "languages"
53222
53270
  },
53223
53271
  {
53224
- "name": "shadow",
53272
+ "name": "values",
53225
53273
  "type": {
53226
- "text": "boolean"
53274
+ "text": "Record<string, string>"
53227
53275
  },
53228
- "fieldName": "shadow",
53229
- "inheritedFrom": {
53230
- "name": "ZnPanel",
53231
- "module": "src/components/panel/panel.component.ts"
53232
- }
53276
+ "default": "{}",
53277
+ "description": "The translations as an object keyed by language code. The mirror of `value` in property form.",
53278
+ "fieldName": "values"
53233
53279
  }
53234
53280
  ],
53235
53281
  "superclass": {
53236
- "name": "ZnPanel",
53237
- "module": "/src/components/panel/panel.component"
53282
+ "name": "ZincElement",
53283
+ "module": "/src/internal/zinc-element"
53238
53284
  },
53239
- "summary": "Puts several zn-translations fields behind one language select, so a whole form's worth of copy is\ntranslated a language at a time.",
53240
- "tagNameWithoutPrefix": "translation-group",
53241
- "tagName": "zn-translation-group",
53285
+ "summary": "Collects one piece of text in several languages, one language at a time.",
53286
+ "tagNameWithoutPrefix": "translations",
53287
+ "tagName": "zn-translations",
53242
53288
  "customElement": true,
53243
- "jsDoc": "/**\n * @summary Puts several zn-translations fields behind one language select, so a whole form's worth of copy is\n * translated a language at a time.\n * @documentation https://zinc.style/components/translation-group\n * @status experimental\n * @since 1.0\n *\n * The fields sit in a `zn-form-group`, so the caption, help text and the language select share its label column and\n * the fields line up with every other form group around them. Choosing a language switches every child at once, and\n * each child hides its own select while it is in a group — `grouped` is set on them here.\n *\n * The select is searchable. Each option holds its language code as its value, so typing `de` finds German without the\n * code being on show.\n *\n * Closed, the select carries how many target languages are done — `1/5`. Its options each carry a chip aggregated\n * across the children:\n *\n * - `Translated` — every child has a value for it\n * - `Partial` — only some children do\n * - `English` — none do, so all of them fall back to the English text\n *\n * `Empty` replaces the last of those for English itself, which has nothing to fall back to. English counts towards\n * the `n of m` beside the label like any other language.\n *\n * The children own their values; this component only chooses which language is shown and reports on what they hold.\n * It reads them back on every child `zn-change`, so the chips and the count follow an edit as it is typed.\n *\n * Extends `zn-panel`, so `caption`, `flush`, `transparent` and the `footer` slot behave as they do there. Nested\n * inside another panel, add `inline` to drop the chrome and keep the fields aligned with the surrounding form.\n *\n * @dependency zn-chip\n * @dependency zn-form-group\n * @dependency zn-option\n * @dependency zn-select\n *\n * @event zn-language-change - Emitted when the active language changes. Detail: `{ language: string }`.\n *\n * @slot - The `zn-translations` fields the select drives.\n * @slot actions - Buttons for the bottom of the panel, on the white body rather than the grey footer. They sit on\n * the right, as zinc's form action rows do; `align=\"start\"` moves one to the left. Write them in the order they\n * should be read — the sides are set by CSS ordering, so markup order is what a keyboard follows.\n * @slot footer - Content displayed in the grey panel footer.\n *\n * @csspart base - The component's base wrapper.\n * @csspart form-group - The form group holding the caption, the language select and the fields.\n * @csspart actions - The row of buttons at the bottom of the body.\n * @csspart language-field - The select that chooses the language every child is editing, in the group's chip slot.\n * @csspart language-select - The select itself.\n */",
53244
- "documentation": "https://zinc.style/components/translation-group",
53289
+ "jsDoc": "/**\n * @summary Collects one piece of text in several languages, one language at a time.\n * @documentation https://zinc.style/components/translations\n * @status experimental\n * @since 1.0\n *\n * A select above the field chooses the language being edited. Closed, it carries how many languages are translated —\n * `1/5`; open, every language it offers carries a chip saying whether it has a translation of its own or falls back\n * to English. Blank languages fall back to English at render\n * time, so a blank field shows the English text as its placeholder rather than looking empty.\n *\n * The value submitted is a JSON object keyed by language code. A language stays out of it until it is typed into, so\n * browsing the languages does not pad the payload with empty translations.\n *\n * Put several of these in a `zn-translation-group` to have one select drive all of them.\n *\n * @dependency zn-chip\n * @dependency zn-inline-edit\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n * @dependency zn-textarea\n *\n * @slot label - The field's label. Alternatively, use the `label` attribute.\n * @slot help-text - Text describing how to fill the field in, shown below it and shared by every language.\n * Alternatively, use the `help-text` attribute.\n *\n * @event zn-change - Emitted when a translation's value changes.\n * @event zn-input - Emitted when a translation receives input.\n *\n * @csspart form-control - The form control that wraps the label, the language select, the field and the help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The wrapper around the field being edited.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart language-select - The select that chooses the language being edited.\n */",
53290
+ "documentation": "https://zinc.style/components/translations",
53245
53291
  "status": "experimental",
53246
53292
  "since": "1.0",
53247
53293
  "dependencies": [
53248
53294
  "zn-chip",
53249
- "zn-form-group",
53295
+ "zn-inline-edit",
53296
+ "zn-input",
53250
53297
  "zn-option",
53251
- "zn-select"
53252
- ],
53253
- "cssProperties": [
53254
- {
53255
- "description": "The flex-basis of the panel. Can be set using the basis-px attribute.",
53256
- "name": "--zn-panel-basis",
53257
- "inheritedFrom": {
53258
- "name": "ZnPanel",
53259
- "module": "src/components/panel/panel.component.ts"
53260
- }
53261
- },
53262
- {
53263
- "description": "Padding around the header row. Defaults to `--zn-base-gap`.",
53264
- "name": "--zn-panel-header-padding",
53265
- "inheritedFrom": {
53266
- "name": "ZnPanel",
53267
- "module": "src/components/panel/panel.component.ts"
53268
- }
53269
- },
53270
- {
53271
- "description": "Padding around the footer row.",
53272
- "name": "--zn-panel-footer-padding",
53273
- "inheritedFrom": {
53274
- "name": "ZnPanel",
53275
- "module": "src/components/panel/panel.component.ts"
53276
- }
53277
- }
53298
+ "zn-select",
53299
+ "zn-textarea"
53278
53300
  ]
53279
53301
  }
53280
53302
  ],
@@ -53283,8 +53305,8 @@
53283
53305
  "kind": "js",
53284
53306
  "name": "default",
53285
53307
  "declaration": {
53286
- "name": "ZnTranslationGroup",
53287
- "module": "components/translation-group/translation-group.js"
53308
+ "name": "ZnTranslations",
53309
+ "module": "components/translations/translations.js"
53288
53310
  }
53289
53311
  }
53290
53312
  ]
@@ -53585,7 +53607,7 @@
53585
53607
  "package": {
53586
53608
  "name": "@kubex/zinc",
53587
53609
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
53588
- "version": "1.1.157",
53610
+ "version": "1.1.159",
53589
53611
  "author": "",
53590
53612
  "license": "MIT"
53591
53613
  }