@kubex/zinc 1.1.21 → 1.1.23

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.
@@ -47,79 +47,6 @@
47
47
  }
48
48
  ]
49
49
  },
50
- {
51
- "kind": "javascript-module",
52
- "path": "components/action-bar/action-bar.js",
53
- "declarations": [
54
- {
55
- "kind": "class",
56
- "description": "",
57
- "name": "ZnActionBar",
58
- "cssProperties": [
59
- {
60
- "description": "An example CSS custom property.",
61
- "name": "--example"
62
- }
63
- ],
64
- "cssParts": [
65
- {
66
- "description": "The component's base wrapper.",
67
- "name": "base"
68
- }
69
- ],
70
- "slots": [
71
- {
72
- "description": "The default slot.",
73
- "name": ""
74
- },
75
- {
76
- "description": "An example slot.",
77
- "name": "example"
78
- }
79
- ],
80
- "members": [
81
- {
82
- "kind": "field",
83
- "name": "localize",
84
- "privacy": "private",
85
- "readonly": true,
86
- "default": "new LocalizeController(this)"
87
- }
88
- ],
89
- "events": [
90
- {
91
- "description": "Emitted as an example.",
92
- "name": "zn-event-name"
93
- }
94
- ],
95
- "superclass": {
96
- "name": "ZincElement",
97
- "module": "/src/internal/zinc-element"
98
- },
99
- "summary": "Short summary of the component's intended use.",
100
- "tagNameWithoutPrefix": "action-bar",
101
- "tagName": "zn-action-bar",
102
- "customElement": true,
103
- "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 */",
104
- "documentation": "https://zinc.style/components/action-bar",
105
- "status": "experimental",
106
- "since": "1.0",
107
- "dependencies": [
108
- "zn-example"
109
- ]
110
- }
111
- ],
112
- "exports": [
113
- {
114
- "kind": "js",
115
- "name": "default",
116
- "declaration": {
117
- "name": "ZnActionBar",
118
- "module": "components/action-bar/action-bar.js"
119
- }
120
- }
121
- ]
122
- },
123
50
  {
124
51
  "kind": "javascript-module",
125
52
  "path": "components/alert/alert.js",
@@ -296,6 +223,79 @@
296
223
  }
297
224
  ]
298
225
  },
226
+ {
227
+ "kind": "javascript-module",
228
+ "path": "components/action-bar/action-bar.js",
229
+ "declarations": [
230
+ {
231
+ "kind": "class",
232
+ "description": "",
233
+ "name": "ZnActionBar",
234
+ "cssProperties": [
235
+ {
236
+ "description": "An example CSS custom property.",
237
+ "name": "--example"
238
+ }
239
+ ],
240
+ "cssParts": [
241
+ {
242
+ "description": "The component's base wrapper.",
243
+ "name": "base"
244
+ }
245
+ ],
246
+ "slots": [
247
+ {
248
+ "description": "The default slot.",
249
+ "name": ""
250
+ },
251
+ {
252
+ "description": "An example slot.",
253
+ "name": "example"
254
+ }
255
+ ],
256
+ "members": [
257
+ {
258
+ "kind": "field",
259
+ "name": "localize",
260
+ "privacy": "private",
261
+ "readonly": true,
262
+ "default": "new LocalizeController(this)"
263
+ }
264
+ ],
265
+ "events": [
266
+ {
267
+ "description": "Emitted as an example.",
268
+ "name": "zn-event-name"
269
+ }
270
+ ],
271
+ "superclass": {
272
+ "name": "ZincElement",
273
+ "module": "/src/internal/zinc-element"
274
+ },
275
+ "summary": "Short summary of the component's intended use.",
276
+ "tagNameWithoutPrefix": "action-bar",
277
+ "tagName": "zn-action-bar",
278
+ "customElement": true,
279
+ "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 */",
280
+ "documentation": "https://zinc.style/components/action-bar",
281
+ "status": "experimental",
282
+ "since": "1.0",
283
+ "dependencies": [
284
+ "zn-example"
285
+ ]
286
+ }
287
+ ],
288
+ "exports": [
289
+ {
290
+ "kind": "js",
291
+ "name": "default",
292
+ "declaration": {
293
+ "name": "ZnActionBar",
294
+ "module": "components/action-bar/action-bar.js"
295
+ }
296
+ }
297
+ ]
298
+ },
299
299
  {
300
300
  "kind": "javascript-module",
301
301
  "path": "components/animated-button/animated-button.js",
@@ -1283,7 +1283,7 @@
1283
1283
  "kind": "field",
1284
1284
  "name": "color",
1285
1285
  "type": {
1286
- "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | 'white' | (string & Record<never, never>)"
1286
+ "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | (string & Record<never, never>)"
1287
1287
  },
1288
1288
  "default": "'default'",
1289
1289
  "attribute": "color"
@@ -1764,7 +1764,7 @@
1764
1764
  {
1765
1765
  "name": "color",
1766
1766
  "type": {
1767
- "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | 'white' | (string & Record<never, never>)"
1767
+ "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | (string & Record<never, never>)"
1768
1768
  },
1769
1769
  "default": "'default'",
1770
1770
  "fieldName": "color"
@@ -2584,6 +2584,14 @@
2584
2584
  }
2585
2585
  ],
2586
2586
  "slots": [
2587
+ {
2588
+ "description": "Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state).",
2589
+ "name": "title"
2590
+ },
2591
+ {
2592
+ "description": "Replaces the secondary line. Falls back to the `subtitle` attribute.",
2593
+ "name": "subtitle"
2594
+ },
2587
2595
  {
2588
2596
  "description": "Replaces the leading icon in the active state.",
2589
2597
  "name": "leading"
@@ -3077,7 +3085,7 @@
3077
3085
  "tagNameWithoutPrefix": "channel-tile",
3078
3086
  "tagName": "zn-channel-tile",
3079
3087
  "customElement": true,
3080
- "jsDoc": "/**\n * @summary A channel/queue slot tile with two faces: an active (occupied) state\n * showing an in-progress item, and an available (empty) state advertising\n * capacity — optionally reserving an incoming item with an auto-accept countdown.\n * @documentation https://zinc.style/components/channel-tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-icon\n *\n * @event zn-accept - Emitted when an available tile is accepted (click or auto-accept).\n * Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n * @event zn-reject - Emitted when the reject control is pressed.\n *\n * @slot leading - Replaces the leading icon in the active state.\n * @slot action - Action content for the available state (e.g. a form). Falls back to a default accept button.\n * @slot footer - Trailing content (e.g. status badges) in the active state.\n *\n * @csspart base - The component's base wrapper.\n * @csspart progress - The progress indicator (incoming countdown overlay or active progress bar).\n *\n * @cssproperty --channel-tile-color - Resolved accent color (set from the `color` property).\n */",
3088
+ "jsDoc": "/**\n * @summary A channel/queue slot tile with two faces: an active (occupied) state\n * showing an in-progress item, and an available (empty) state advertising\n * capacity — optionally reserving an incoming item with an auto-accept countdown.\n * @documentation https://zinc.style/components/channel-tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-icon\n *\n * @event zn-accept - Emitted when an available tile is accepted (click or auto-accept).\n * Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n * @event zn-reject - Emitted when the reject control is pressed.\n *\n * @slot title - Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state).\n * @slot subtitle - Replaces the secondary line. Falls back to the `subtitle` attribute.\n * @slot leading - Replaces the leading icon in the active state.\n * @slot action - Action content for the available state (e.g. a form). Falls back to a default accept button.\n * @slot footer - Trailing content (e.g. status badges) in the active state.\n *\n * @csspart base - The component's base wrapper.\n * @csspart progress - The progress indicator (incoming countdown overlay or active progress bar).\n *\n * @cssproperty --channel-tile-color - Resolved accent color (set from the `color` property).\n */",
3081
3089
  "documentation": "https://zinc.style/components/channel-tile",
3082
3090
  "status": "experimental",
3083
3091
  "since": "1.0",
@@ -5328,6 +5336,16 @@
5328
5336
  "kind": "class",
5329
5337
  "description": "",
5330
5338
  "name": "ZnCollapsible",
5339
+ "cssParts": [
5340
+ {
5341
+ "description": "The header row (toggle).",
5342
+ "name": "header"
5343
+ },
5344
+ {
5345
+ "description": "The caption text.",
5346
+ "name": "caption"
5347
+ }
5348
+ ],
5331
5349
  "slots": [
5332
5350
  {
5333
5351
  "description": "Clicking will toggle the show state of the data",
@@ -5461,7 +5479,7 @@
5461
5479
  "name": "hasSlotController",
5462
5480
  "privacy": "private",
5463
5481
  "readonly": true,
5464
- "default": "new HasSlotController(this, '[default]', 'header', 'caption', 'label')"
5482
+ "default": "new HasSlotController(this, '[default]', 'header', 'caption', 'label', 'description')"
5465
5483
  },
5466
5484
  {
5467
5485
  "kind": "field",
@@ -5589,7 +5607,7 @@
5589
5607
  "tagNameWithoutPrefix": "collapsible",
5590
5608
  "tagName": "zn-collapsible",
5591
5609
  "customElement": true,
5592
- "jsDoc": "/**\n * @summary Toggles between showing and hiding content when clicked\n * @documentation https://zinc.style/components/collapsible\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon - The icon element\n *\n * @slot header - Clicking will toggle the show state of the data\n *\n */",
5610
+ "jsDoc": "/**\n * @summary Toggles between showing and hiding content when clicked\n * @documentation https://zinc.style/components/collapsible\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon - The icon element\n *\n * @slot header - Clicking will toggle the show state of the data\n *\n * @csspart header - The header row (toggle).\n * @csspart caption - The caption text.\n */",
5593
5611
  "documentation": "https://zinc.style/components/collapsible",
5594
5612
  "status": "experimental",
5595
5613
  "since": "1.0",
@@ -37169,7 +37187,7 @@
37169
37187
  "package": {
37170
37188
  "name": "@kubex/zinc",
37171
37189
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
37172
- "version": "1.1.21",
37190
+ "version": "1.1.23",
37173
37191
  "author": "",
37174
37192
  "license": "MIT"
37175
37193
  }
@@ -13,17 +13,6 @@
13
13
  }
14
14
  ]
15
15
  },
16
- {
17
- "name": "zn-action-bar",
18
- "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
19
- "attributes": [],
20
- "references": [
21
- {
22
- "name": "Documentation",
23
- "url": "https://zinc.style/components/action-bar"
24
- }
25
- ]
26
- },
27
16
  {
28
17
  "name": "zn-alert",
29
18
  "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
@@ -63,6 +52,17 @@
63
52
  }
64
53
  ]
65
54
  },
55
+ {
56
+ "name": "zn-action-bar",
57
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
58
+ "attributes": [],
59
+ "references": [
60
+ {
61
+ "name": "Documentation",
62
+ "url": "https://zinc.style/components/action-bar"
63
+ }
64
+ ]
65
+ },
66
66
  {
67
67
  "name": "zn-animated-button",
68
68
  "description": "\n---\n\n\n### **Methods:**\n - **purchase(): _void_** - Programmatically trigger the purchase flow\n- **setSuccess(): _void_** - Set the button to success state manually\n- **setFailure(message): _void_** - Set the button to failure state manually with optional error message\n- **reset(): _void_** - Reset the button to idle state",
@@ -168,7 +168,6 @@
168
168
  { "name": "warning" },
169
169
  { "name": "transparent" },
170
170
  { "name": "star" },
171
- { "name": "white" },
172
171
  { "name": "(string & Record<never, never>)" }
173
172
  ]
174
173
  },
@@ -327,7 +326,7 @@
327
326
  },
328
327
  {
329
328
  "name": "zn-channel-tile",
330
- "description": "A channel/queue slot tile with two faces: an active (occupied) state\nshowing an in-progress item, and an available (empty) state advertising\ncapacity — optionally reserving an incoming item with an auto-accept countdown.\n---\n\n\n### **Events:**\n - **zn-accept** - Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n- **zn-reject** - Emitted when the reject control is pressed.\n\n### **Slots:**\n - **leading** - Replaces the leading icon in the active state.\n- **action** - Action content for the available state (e.g. a form). Falls back to a default accept button.\n- **footer** - Trailing content (e.g. status badges) in the active state.\n\n### **CSS Properties:**\n - **--channel-tile-color** - Resolved accent color (set from the `color` property). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **progress** - The progress indicator (incoming countdown overlay or active progress bar).",
329
+ "description": "A channel/queue slot tile with two faces: an active (occupied) state\nshowing an in-progress item, and an available (empty) state advertising\ncapacity — optionally reserving an incoming item with an auto-accept countdown.\n---\n\n\n### **Events:**\n - **zn-accept** - Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n- **zn-reject** - Emitted when the reject control is pressed.\n\n### **Slots:**\n - **title** - Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state).\n- **subtitle** - Replaces the secondary line. Falls back to the `subtitle` attribute.\n- **leading** - Replaces the leading icon in the active state.\n- **action** - Action content for the available state (e.g. a form). Falls back to a default accept button.\n- **footer** - Trailing content (e.g. status badges) in the active state.\n\n### **CSS Properties:**\n - **--channel-tile-color** - Resolved accent color (set from the `color` property). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **progress** - The progress indicator (incoming countdown overlay or active progress bar).",
331
330
  "attributes": [
332
331
  {
333
332
  "name": "available",
@@ -757,7 +756,7 @@
757
756
  },
758
757
  {
759
758
  "name": "zn-collapsible",
760
- "description": "Toggles between showing and hiding content when clicked\n---\n\n\n### **Slots:**\n - **header** - Clicking will toggle the show state of the data",
759
+ "description": "Toggles between showing and hiding content when clicked\n---\n\n\n### **Slots:**\n - **header** - Clicking will toggle the show state of the data\n\n### **CSS Parts:**\n - **header** - The header row (toggle).\n- **caption** - The caption text.",
761
760
  "attributes": [
762
761
  { "name": "caption", "values": [] },
763
762
  { "name": "description", "values": [] },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@kubex/zinc",
4
- "version": "1.1.21",
4
+ "version": "1.1.23",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -15,28 +15,6 @@
15
15
  "events": [],
16
16
  "js": { "properties": [], "events": [] }
17
17
  },
18
- {
19
- "name": "zn-action-bar",
20
- "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
21
- "doc-url": "",
22
- "attributes": [],
23
- "slots": [
24
- { "name": "", "description": "The default slot." },
25
- { "name": "example", "description": "An example slot." }
26
- ],
27
- "events": [
28
- { "name": "zn-event-name", "description": "Emitted as an example." }
29
- ],
30
- "js": {
31
- "properties": [],
32
- "events": [
33
- {
34
- "name": "zn-event-name",
35
- "description": "Emitted as an example."
36
- }
37
- ]
38
- }
39
- },
40
18
  {
41
19
  "name": "zn-alert",
42
20
  "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
@@ -100,6 +78,28 @@
100
78
  ]
101
79
  }
102
80
  },
81
+ {
82
+ "name": "zn-action-bar",
83
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - The default slot.\n- **example** - An example slot.\n\n### **CSS Properties:**\n - **--example** - An example CSS custom property. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
84
+ "doc-url": "",
85
+ "attributes": [],
86
+ "slots": [
87
+ { "name": "", "description": "The default slot." },
88
+ { "name": "example", "description": "An example slot." }
89
+ ],
90
+ "events": [
91
+ { "name": "zn-event-name", "description": "Emitted as an example." }
92
+ ],
93
+ "js": {
94
+ "properties": [],
95
+ "events": [
96
+ {
97
+ "name": "zn-event-name",
98
+ "description": "Emitted as an example."
99
+ }
100
+ ]
101
+ }
102
+ },
103
103
  {
104
104
  "name": "zn-animated-button",
105
105
  "description": "\n---\n\n\n### **Methods:**\n - **purchase(): _void_** - Programmatically trigger the purchase flow\n- **setSuccess(): _void_** - Set the button to success state manually\n- **setFailure(message): _void_** - Set the button to failure state manually with optional error message\n- **reset(): _void_** - Reset the button to idle state",
@@ -291,7 +291,7 @@
291
291
  {
292
292
  "name": "color",
293
293
  "value": {
294
- "type": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | 'white' | (string & Record<never, never>)",
294
+ "type": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | (string & Record<never, never>)",
295
295
  "default": "'default'"
296
296
  }
297
297
  },
@@ -462,7 +462,7 @@
462
462
  { "name": "countdownContainer", "type": "HTMLElement[]" },
463
463
  {
464
464
  "name": "color",
465
- "type": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | 'white' | (string & Record<never, never>)"
465
+ "type": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | (string & Record<never, never>)"
466
466
  },
467
467
  { "name": "hoverColor", "type": "string" },
468
468
  { "name": "text", "type": "boolean" },
@@ -635,7 +635,7 @@
635
635
  },
636
636
  {
637
637
  "name": "zn-channel-tile",
638
- "description": "A channel/queue slot tile with two faces: an active (occupied) state\nshowing an in-progress item, and an available (empty) state advertising\ncapacity — optionally reserving an incoming item with an auto-accept countdown.\n---\n\n\n### **Events:**\n - **zn-accept** - Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n- **zn-reject** - Emitted when the reject control is pressed.\n\n### **Slots:**\n - **leading** - Replaces the leading icon in the active state.\n- **action** - Action content for the available state (e.g. a form). Falls back to a default accept button.\n- **footer** - Trailing content (e.g. status badges) in the active state.\n\n### **CSS Properties:**\n - **--channel-tile-color** - Resolved accent color (set from the `color` property). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **progress** - The progress indicator (incoming countdown overlay or active progress bar).",
638
+ "description": "A channel/queue slot tile with two faces: an active (occupied) state\nshowing an in-progress item, and an available (empty) state advertising\ncapacity — optionally reserving an incoming item with an auto-accept countdown.\n---\n\n\n### **Events:**\n - **zn-accept** - Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n- **zn-reject** - Emitted when the reject control is pressed.\n\n### **Slots:**\n - **title** - Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state).\n- **subtitle** - Replaces the secondary line. Falls back to the `subtitle` attribute.\n- **leading** - Replaces the leading icon in the active state.\n- **action** - Action content for the available state (e.g. a form). Falls back to a default accept button.\n- **footer** - Trailing content (e.g. status badges) in the active state.\n\n### **CSS Properties:**\n - **--channel-tile-color** - Resolved accent color (set from the `color` property). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **progress** - The progress indicator (incoming countdown overlay or active progress bar).",
639
639
  "doc-url": "",
640
640
  "attributes": [
641
641
  {
@@ -735,6 +735,14 @@
735
735
  }
736
736
  ],
737
737
  "slots": [
738
+ {
739
+ "name": "title",
740
+ "description": "Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state)."
741
+ },
742
+ {
743
+ "name": "subtitle",
744
+ "description": "Replaces the secondary line. Falls back to the `subtitle` attribute."
745
+ },
738
746
  {
739
747
  "name": "leading",
740
748
  "description": "Replaces the leading icon in the active state."
@@ -1640,7 +1648,7 @@
1640
1648
  },
1641
1649
  {
1642
1650
  "name": "zn-collapsible",
1643
- "description": "Toggles between showing and hiding content when clicked\n---\n\n\n### **Slots:**\n - **header** - Clicking will toggle the show state of the data",
1651
+ "description": "Toggles between showing and hiding content when clicked\n---\n\n\n### **Slots:**\n - **header** - Clicking will toggle the show state of the data\n\n### **CSS Parts:**\n - **header** - The header row (toggle).\n- **caption** - The caption text.",
1644
1652
  "doc-url": "",
1645
1653
  "attributes": [
1646
1654
  {
package/dist/zn.d.ts CHANGED
@@ -1169,7 +1169,7 @@ declare module "components/button/button.component" {
1169
1169
  private _loadingState;
1170
1170
  button: HTMLButtonElement;
1171
1171
  countdownContainer: HTMLElement[];
1172
- color: 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'transparent' | 'star' | 'white' | (string & Record<never, never>);
1172
+ color: 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'transparent' | 'star' | (string & Record<never, never>);
1173
1173
  hoverColor: string;
1174
1174
  text: boolean;
1175
1175
  outline: boolean;
@@ -1377,6 +1377,8 @@ declare module "components/collapsible/collapsible.component" {
1377
1377
  *
1378
1378
  * @slot header - Clicking will toggle the show state of the data
1379
1379
  *
1380
+ * @csspart header - The header row (toggle).
1381
+ * @csspart caption - The caption text.
1380
1382
  */
1381
1383
  export default class ZnCollapsible extends ZincElement {
1382
1384
  static styles: CSSResultGroup;
@@ -3691,6 +3693,8 @@ declare module "components/channel-tile/channel-tile.component" {
3691
3693
  * Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.
3692
3694
  * @event zn-reject - Emitted when the reject control is pressed.
3693
3695
  *
3696
+ * @slot title - Replaces the primary line. Falls back to the `title` attribute (or "Available" when unset in the available state).
3697
+ * @slot subtitle - Replaces the secondary line. Falls back to the `subtitle` attribute.
3694
3698
  * @slot leading - Replaces the leading icon in the active state.
3695
3699
  * @slot action - Action content for the available state (e.g. a form). Falls back to a default accept button.
3696
3700
  * @slot footer - Trailing content (e.g. status badges) in the active state.
package/dist/zn.min.js CHANGED
@@ -112,13 +112,13 @@ function print() { __p += __j.call(arguments, '') }
112
112
  aria-label="tooltip">
113
113
  <slot name="content">${this.content}</slot>
114
114
  </div>
115
- </zn-popup>`}};ua.styles=Q(zde),_([ce("slot:not([name])")],ua.prototype,"defaultSlot",2),_([ce(".tooltip__body")],ua.prototype,"body",2),_([ce("zn-popup")],ua.prototype,"popup",2),_([w()],ua.prototype,"content",2),_([w()],ua.prototype,"placement",2),_([w({type:Boolean,reflect:!0})],ua.prototype,"disabled",2),_([w({type:Number})],ua.prototype,"distance",2),_([w({type:Boolean,reflect:!0})],ua.prototype,"open",2),_([w({type:Number})],ua.prototype,"skidding",2),_([w()],ua.prototype,"trigger",2),_([w({type:Boolean})],ua.prototype,"hoist",2),_([He("open",{waitUntilFirstUpdate:!0})],ua.prototype,"handleOpenChange",1),_([He(["content","distance","hoist","placement","skidding"])],ua.prototype,"handleOptionsChange",1),_([He("disabled")],ua.prototype,"handleDisabledChange",1);var bs=ua;ua.define("zn-tooltip");var Mde=J`:host,html,body{color:rgba(var(--zn-text),var(--zn-text-opacity));font-family:var(--zn-font-family-sans);font-feature-settings:normal;font-variation-settings:normal;font-size:var(--zn-text-paragraph-font-size);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-tab-size:4;-o-tab-size:4;tab-size:4;margin:0}html,body{background-color:rgba(var(--zn-body),var(--zn-bg-opacity));container-type:size;min-height:100%;height:100%}.inline-container{container-type:inline-size}.app-container{container-type:inline-size;display:flex;flex:1;flex-direction:column;position:relative;max-height:100%;height:100%;width:100%;max-width:100%}.inline-app-container,.app-container.inline-app-container,[inline-container] .app-container{display:block;height:auto;flex:unset}hr{height:0;border:none;border-top:1px solid rgb(var(--zn-border-color))}code,kbd,samp,pre,.mono{font-family:var(--zn-font-family-mono);font-size:1em}small{font-size:80%}.hidden{display:none !important}.visibility-hidden{visibility:hidden}p{font-size:var(--zn-text-paragraph-font-size);line-height:var(--zn-text-paragraph-line-height);font-weight:var(--zn-text-paragraph-font-weight)}h1,h2,h3,h4,h5,h6{color:rgb(var(--zn-text-heading))}h1{font-size:var(--zn-text-h1-font-size);line-height:var(--zn-text-h1-line-height);font-weight:var(--zn-text-h1-font-weight)}h2{font-size:var(--zn-text-h2-font-size);line-height:var(--zn-text-h2-line-height);font-weight:var(--zn-text-h2-font-weight)}h3,h4,h5,h6{font-size:var(--zn-text-h3-font-size);line-height:var(--zn-text-h3-line-height);font-weight:var(--zn-text-h3-font-weight)}kbd{font-family:monospace;background-color:#eee;color:#333;border:1px solid rgb(var(--zn-border-color));border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,0.2),0 1px 0 0 rgba(255,255,255,0.5) inset;display:inline-block;font-size:13px;line-height:20px;padding:1px 6px;white-space:nowrap;min-width:15px;color:rgba(0,0,0,0.5)}[t=dark] kbd{background-color:rgb(25,25,25);box-shadow:0 1px 1px rgba(0,0,0,0.2),0 1px 0 0 rgba(110,110,110,0.5) inset;color:#eee}[tab]{cursor:pointer}.zn-link:hover{--zn-text:rgb(var(--zn-primary));--icon-color:rgb(var(--zn-primary));--zn-text-heading:rgb(var(--zn-primary));--property-color:rgb(var(--zn-primary));opacity:1}.grow{flex-grow:1}.no-grow{flex-grow:0}.shrink{flex-shrink:1}.no-shrink{flex-shrink:0}.block{display:block}.flex{display:flex}.flex-wrap{display:flex;flex-wrap:wrap}.flex-col{display:flex;flex-direction:column}.flex-mid{display:flex;align-items:center}.flex-jc{justify-content:center}.flex-between{display:flex;justify-content:space-between}.flex-end{display:flex;justify-content:flex-end}.flex-bottom{display:flex;align-items:flex-end}.equal{flex-basis:50%}.m-auto{margin:auto}.mt-auto{margin-top:auto}.zn-pad{padding:var(--zn-base-gap,0)}.zn-pad-y,.zn-py{padding-top:16px;padding-bottom:16px}.zn-pad-x,.zn-px{padding-left:16px;padding-right:16px}.zn-pr{padding-right:16px}.zn-pl{padding-left:16px}.zn-pt{padding-top:16px}.zn-pb{padding-bottom:16px}.zn-margin{margin:16px}.zn-mx{margin-left:16px;margin-right:16px}.zn-my{margin-top:16px;margin-bottom:16px}.zn-mt{margin-top:16px}.zn-mb{margin-bottom:16px}.zn-ml{margin-left:16px}.zn-mr{margin-right:16px}.zn-mxa{margin-left:auto;margin-right:auto}.zn-mya{margin-top:auto;margin-bottom:auto}.zn-mta{margin-top:auto}.zn-mba{margin-bottom:auto}.zn-mla{margin-left:auto}.zn-mra{margin-right:auto}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}@keyframes act-vanish{from{transform:scale(1);opacity:1;max-height:100%}to{transform:scale(0.8);opacity:0;max-height:0}}.act-vanish{animation:ease-in act-vanish 600ms forwards;transform-origin:top center;background-color:rgba(var(--zn-color-error),0.3);display:block;overflow:hidden}.h-full{height:100%}.w-full{width:100%}.zn-panel-bg{--zn-page-surface-background:var(--zn-panel);background-color:rgba(var(--zn-panel),var(--zn-panel-opacity))}.zn-panel{background-color:rgba(var(--zn-panel),var(--zn-panel-opacity));border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);--zn-page-surface-background:var(--zn-panel)}.zn-container{display:flex;flex-direction:column;flex-grow:1;max-height:100%;overflow:hidden}.tar{text-align:right}.tal{text-align:left}.tac{text-align:center}.zn-empty-hide:empty{display:none}.ml-auto{margin-left:auto}.zn-b-dash{border-style:dashed}.zn-b-dotted{border-style:dotted}.zn-border{border-style:solid;border-width:1px !important}.zn-bt{border-top-style:solid;border-top-width:1px !important}.zn-bb{border-bottom-style:solid;border-bottom-width:1px !important}.zn-bl{border-left-style:solid;border-left-width:1px !important}.zn-br{border-right-style:solid;border-right-width:1px !important}.unifi-action{display:flex;gap:10px;padding:10px 0;align-items:center}.zn-panel-bar{border-bottom:1px solid rgb(var(--zn-border-color));background-color:rgba(var(--zn-panel),0.9);padding:var(--zn-base-px);gap:var(--zn-base-px);display:flex;flex-wrap:wrap;align-items:center;z-index:1}.zn-panel-bar--pill{border-radius:var(--zn-border-radius);border:1px solid rgb(var(--zn-border-color))}.zn-panel-bar--large{padding:var(--zn-base-px) calc(var(--zn-base-gap) + var(--zn-gutter));gap:var(--zn-base-px);height:50px}.scroll-container{overflow:auto;flex-grow:1;position:relative;display:flex;flex-direction:column;max-height:100%}.zn-divide{display:flex;flex-direction:column}.zn-divide>*:not(:first-child){border-top:1px solid rgb(var(--zn-border-color))}.zn-divide>div:empty+div:not(:first-child){border-top:0}.zn-divide-y{display:flex;flex-direction:row}.zn-divide-y>*:not(:first-child):not(:empty){border-left:1px solid rgb(var(--zn-border-color))}.zn-c-pad{--zn-pad-spacing:var(--zn-spacing-large)}.zn-c-pad-x>*{padding-left:var(--zn-pad-spacing);padding-right:var(--zn-pad-spacing)}.zn-c-pad-y>*:not(:first-child){padding-top:var(--zn-pad-spacing)}.zn-c-pad-y>*:not(:last-child){padding-bottom:var(--zn-pad-spacing)}.zn-nav.zn-transparent{background:transparent}.zn-nav{background:rgba(var(--zn-panel),var(--zn-panel-opacity));border-right:1px solid rgb(var(--zn-border-color));max-width:320px;height:100%;padding-top:5px}.zn-nav ul{list-style:none;padding-bottom:10px;margin:0;display:flex;flex-direction:column;position:relative}.zn-nav ul:after{content:"";height:1px;left:18px;right:18px;bottom:0;position:absolute;background:rgb(var(--zn-border-color))}.zn-nav ul li a{text-decoration:none;color:rgb(var(--zn-text));display:block;font-weight:500;cursor:pointer}.zn-nav ul li a:hover,.zn-nav ul li a.zn-tb-active{background:rgb(var(--zn-body))}.zn-nav ul li a.zn-tb-active{color:rgb(var(--zn-purple-text))}.zn-nav ul:last-child:after{display:none}.zn-nav strong,.zn-nav li a{padding:10px 20px}.zn-nav strong{display:block;margin-top:10px;font-size:13px;letter-spacing:0.93px;color:rgb(var(--zn-text-heading));font-weight:600;padding-bottom:5px;text-transform:uppercase}@keyframes shimmer-text-sweep{0%{background-position:100% center}100%{background-position:0% center}}@media (prefers-reduced-motion:no-preference){.shimmer-text{--shimmer-base:rgb(var(--zn-text));--shimmer-highlight:rgb(var(--zn-text-heading));--shimmer-core:0.5ch;--shimmer-spread:1.5ch;--shimmer-duration:1.5s;display:inline-block;width:-moz-fit-content;width:fit-content;max-width:100%;background-image:linear-gradient(90deg,transparent calc(50% - var(--shimmer-spread)),var(--shimmer-highlight) calc(50% - var(--shimmer-core)),var(--shimmer-highlight) calc(50% + var(--shimmer-core)),transparent calc(50% + var(--shimmer-spread))),linear-gradient(var(--shimmer-base),var(--shimmer-base));background-size:250% 100%,auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent !important;color:transparent !important;animation:var(--shimmer-duration) linear infinite shimmer-text-sweep}.shimmer-text.zn-error{--shimmer-base:rgb(var(--zn-color-error));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-error)) 55%,white)}.shimmer-text.zn-success{--shimmer-base:rgb(var(--zn-color-success));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-success)) 55%,white)}.shimmer-text.zn-info{--shimmer-base:rgb(var(--zn-color-info));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-info)) 55%,white)}.shimmer-text.zn-warning{--shimmer-base:rgb(var(--zn-color-warning));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-warning)) 55%,white)}.shimmer-text.zn-primary{--shimmer-base:rgb(var(--zn-primary));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-primary)) 55%,white)}.shimmer-text.zn-accent{--shimmer-base:rgb(var(--zn-accent));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-accent)) 55%,white)}}@media (prefers-reduced-motion:reduce){.shimmer-text{color:rgb(var(--zn-text))}.shimmer-text.zn-error{color:rgb(var(--zn-color-error)) !important}.shimmer-text.zn-success{color:rgb(var(--zn-color-success)) !important}.shimmer-text.zn-info{color:rgb(var(--zn-color-info)) !important}.shimmer-text.zn-warning{color:rgb(var(--zn-color-warning)) !important}.shimmer-text.zn-primary{color:rgb(var(--zn-primary)) !important}.shimmer-text.zn-accent{color:rgb(var(--zn-accent)) !important}}*,*::before,*::after{box-sizing:border-box}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}strong{font-weight:bolder}b{font-weight:600}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:inline-block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}@keyframes rotate-gradient{from{--rotate:0deg}to{--rotate:360deg}}button,.zn-button{border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:-moz-fit-content;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}button:hover:not([disabled]),.zn-button:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],input[type=file],input[list],textarea,select{display:block;width:100%;border-radius:5px;border-style:solid;border-width:1px !important;border-color:rgb(var(--zn-border-color));background-color:rgb(var(--zn-input-bg));outline:none}input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=file]:focus,input[list]:focus,textarea:focus,select:focus{border-color:rgb(var(--zn-primary));box-shadow:0 0 0 3px rgba(var(--zn-primary),0.3)}input[type=date]::-moz-placeholder, input[type=datetime-local]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=month]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=week]::-moz-placeholder, input[type=file]::-moz-placeholder, input[list]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder{font-weight:400;color:rgba(var(--zn-text),0.6)}input[type=date]::placeholder,input[type=datetime-local]::placeholder,input[type=email]::placeholder,input[type=month]::placeholder,input[type=number]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=text]::placeholder,input[type=time]::placeholder,input[type=url]::placeholder,input[type=week]::placeholder,input[type=file]::placeholder,input[list]::placeholder,textarea::placeholder,select::placeholder{font-weight:400;color:rgba(var(--zn-text),0.6)}@media (min-width:360px){input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],input[type=file],input[list],textarea,select{padding:8px}}label{font-weight:600;font-size:rgb(var(--zn-font-size-medium));line-height:var(--zn-spacing-medium);color:rgb(var(--zn-text-heading));display:block;margin-bottom:4px;margin-top:16px}input[type=checkbox],input[type=radio]{border-radius:5px}input[type=radio]{border-radius:50%}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:10px;background-color:rgb(var(--zn-border-color));height:8px;accent-color:rgb(var(--zn-primary));width:100%;max-width:768px}fieldset{border-color:rgba(var(--zn-primary),20%);border-width:2px;padding:0 16px 16px}select option{padding:4px}select>option:checked{background-color:rgba(var(--zn-primary),20%);border-radius:5px}fieldset>legend{padding:4px}input[type=button],input[type=submit],button[type=submit]:not(.button),button[type=button]:not(.button){border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:-moz-fit-content;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}input[type=button]:hover:not([disabled]),input[type=submit]:hover:not([disabled]),button[type=submit]:not(.button):hover:not([disabled]),button[type=button]:not(.button):hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}input[type=button],input[type=submit],button[type=submit]:not(.button),button[type=button]:not(.button){width:auto}div+button{margin-top:16px}input[type=file]::-webkit-file-upload-button{border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}input[type=file]::-webkit-file-upload-button:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}input[type=file]::-webkit-file-upload-button{margin-right:8px}input::-webkit-calendar-picker-indicator{cursor:pointer;padding:8px}input[list]::-webkit-calendar-picker-indicator{padding:8px 4px}.input--with-icon{position:relative}.input--with-icon zn-icon{padding:14px;position:absolute;top:50%;pointer-events:none;transform:translateY(-50%);left:8px;background-color:rgb(var(--zn-primary));color:rgb(var(--zn-text));border-radius:50%}.input--with-icon input{padding-left:40px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:rgb(var(--zn-text));-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px rgba(35,35,35,0.1607843137)}select{height:43px}.no-border{border:none !important}table:not(.remarkd-table){border-collapse:separate !important;border-spacing:0;width:100%;max-width:100%;table-layout:auto;text-align:left;font-family:var(--zn-font-sans);font-size:var(--zn-text-table-content-font-size);font-weight:var(--zn-text-table-content-font-weight);line-height:var(--zn-text-table-content-line-height);color:var(--zn-text-table-content-color);text-transform:var(--zn-text-table-content-transform)}table:not(.remarkd-table) thead{font-weight:var(--zn-font-weight-medium)}table:not(.remarkd-table) thead tr th{background-color:rgb(var(--zn-table-header-background-color))}table:not(.remarkd-table) tbody a{cursor:pointer;color:rgb(var(--zn-primary))}table:not(.remarkd-table) tbody tr td{border-top:1px solid rgb(var(--zn-border-color)) !important}table:not(.remarkd-table) tbody tr:first-of-type td{border-top:0 !important}table:not(.remarkd-table) th,table:not(.remarkd-table) td{padding:var(--zn-spacing-small) var(--zn-spacing-medium);min-width:90px;white-space:nowrap}table:not(.remarkd-table) td>span{white-space:normal}table:not(.remarkd-table) th{font-family:var(--zn-font-sans);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);color:var(--zn-text-button-label-color);text-transform:var(--zn-text-button-label-transform);text-transform:capitalize;border-bottom:1px solid rgb(var(--zn-border-color))}.zn-table-fixed{table-layout:fixed}.opacity-100{opacity:1}.opacity-90{opacity:0.9}.opacity-80{opacity:0.8}.opacity-60{opacity:0.6}.opacity-50{opacity:0.5}.opacity-40{opacity:0.4}.opacity-10{opacity:0.1}:host{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}:host *,:host *::before,:host *::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--zn-border-color))}[hidden]{display:none !important}.width-container,.form-container,.wide-form-container{height:100%;width:100%;margin:var(--zn-default-margin,0 auto)}.width-container{max-width:var(--zn-container)}.form-container{max-width:var(--zn-container-ph)}.wide-form-container{max-width:var(--zn-container-lg)}:host{display:inline-block;position:relative;width:auto;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host button,:host a{width:100%}.button{border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:-moz-fit-content;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}.button:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}.button{--btn-color:var(--zn-primary);--notification-color:rgb(var(--zn-color-error));border-width:var(--zn-button-border-width,1px);border-top-width:var(--zn-button-border-top-width,var(--zn-button-border-width,1px));border-right-width:var(--zn-button-border-right-width,var(--zn-button-border-width,1px));border-bottom-width:var(--zn-button-border-bottom-width,var(--zn-button-border-width,1px));border-left-width:var(--zn-button-border-left-width,var(--zn-button-border-width,1px));border-color:var(--zn-button-border-color,transparent);display:inline-flex;position:relative}.button.button--info{--btn-color:var(--zn-color-info)}.button.button--error{--btn-color:var(--zn-color-error)}.button.button--warning{--btn-color:var(--zn-color-warning)}.button.button--success{--btn-color:var(--zn-color-success)}.button__label--hidden{visibility:hidden}.button.button--muted-notification{--notification-color:rgb(var(--zn-color-info))}.button--has-notification{position:relative;overflow:visible}.button--has-notification::after{content:attr(data-notification);position:absolute;display:flex;justify-content:center;align-items:center;top:-4px;left:auto;inset-inline-end:-4px;box-sizing:border-box;min-width:13px;height:13px;padding:0 3px;border-radius:999px;font-size:var(--zn-text-notification-font-size);font-weight:var(--zn-text-notification-font-weight);line-height:var(--zn-text-notification-line-height);color:var(--zn-text-notification-color);background-color:var(--notification-color)}.button--has-notification.button--notification-dot::after{content:"";min-width:0;width:8px;height:8px;padding:0;border-radius:50%}.button::-moz-focus-inner{border:0}.button:focus{outline:none}.button:focus-visible{outline:2px solid rgb(var(--btn-color));outline-offset:2px}[disabled]{cursor:not-allowed;opacity:0.5}[disabled] *{pointer-events:none}.button--standard.button--secondary{background-color:var(--zn-color-neutral-50);border-color:var(--zn-button-border-color,var(--zn-color-neutral-50));color:rgb(var(--zn-primary))}.button--standard.button--secondary:hover:not([disabled]){background-color:var(--zn-color-neutral-100)}.button--standard.button--secondary:active:not([disabled]){background-color:var(--zn-color-neutral-100)}.button--standard{background-color:rgba(var(--btn-color),0.85);border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:rgba(255,255,255,0.9)}.button--standard:hover:not([disabled]){background-color:rgba(var(--btn-color),0.8)}.button--standard:active:not([disabled]){background-color:rgba(var(--btn-color))}.button--outline{background:none;border-width:var(--zn-button-border-width,1px);border-top-width:var(--zn-button-border-top-width,var(--zn-button-border-width,1px));border-right-width:var(--zn-button-border-right-width,var(--zn-button-border-width,1px));border-bottom-width:var(--zn-button-border-bottom-width,var(--zn-button-border-width,1px));border-left-width:var(--zn-button-border-left-width,var(--zn-button-border-width,1px));border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:rgb(var(--btn-color))}.button--outline:hover:not([disabled]),.button--outline:active:not([disabled]){background-color:rgb(var(--btn-color));color:white}.button--outline.button--secondary{border-color:var(--zn-button-border-color,var(--zn-color-neutral-100))}.button--outline.button--secondary:hover:not([disabled]),.button--outline.button--secondary:active:not([disabled]){background-color:var(--zn-color-neutral-100);color:rgb(var(--btn-color))}.button--text{background:none;color:rgb(var(--btn-color))}.button--text:hover:not([disabled]),.button--text:active:not([disabled]){background-color:rgba(var(--btn-color),0.1)}.button--text.button--secondary{font-weight:normal}.button--grow{width:100%}.button--with-icon.button--with-content:not(.button--icon-button).button--icon-left zn-icon{margin-right:var(--zn-base-px)}.button--with-icon.button--with-content:not(.button--icon-button).button--icon-right zn-icon{margin-left:var(--zn-base-px)}.button--square{border-radius:0}.button--transparent{background-color:transparent;border-color:var(--zn-button-border-color,transparent) !important;color:inherit}.button--transparent:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.1)}.button--transparent:active:not([disabled]){background-color:rgba(var(--zn-primary),0.2)}.button--star{--btn-color:var(--zn-orange);background-color:rgb(var(--btn-color));border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:white;opacity:1 !important}.button--star:hover:not([disabled]){background-color:rgb(var(--btn-color))}.button--star:active{background-color:rgb(var(--btn-color))}.button--star.button--outline{background-color:transparent;border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:rgb(var(--btn-color))}.button--star.button--outline:hover:not([disabled]),.button--star.button--outline:active:not([disabled]){background-color:rgba(var(--btn-color));color:white}.button.button--white{background:rgb(var(--zn-panel));border-color:var(--zn-button-border-color,rgb(var(--zn-border-color)));color:rgb(var(--zn-text))}.button.button--white:hover:not([disabled]),.button.button--white:active:not([disabled]){background:rgba(var(--zn-color-tab),0.5)}.button.button--icon-button{--icon-button-color:rgb(var(--zn-text));--icon-button-hover-color:rgb(var(--zn-primary));width:40px;min-width:40px;height:36px;min-height:36px;max-height:36px;padding:6px;margin:0;background:rgb(var(--zn-panel));border-color:var(--zn-button-border-color,rgb(var(--zn-border-color))) !important;border-radius:var(--zn-border-radius);color:var(--icon-button-color);font-weight:inherit;line-height:0}.button.button--icon-button zn-icon,.button.button--icon-button ::slotted(zn-icon){--icon-color:currentColor;color:inherit;line-height:0}.button.button--icon-button:hover:not([disabled]),.button.button--icon-button:active:not([disabled]){background:rgba(var(--zn-color-tab),0.5)}.button.button--icon-button.button--icon-button-small{width:36px;min-width:36px}.button.button--icon-button.button--icon-button-round{width:36px;min-width:36px;padding:8px;background:rgb(var(--zn-color-tab));border-color:var(--zn-button-border-color,transparent) !important;border-radius:var(--zn-border-radius-circle)}.button.button--icon-button.button--icon-button-round:hover:not([disabled]),.button.button--icon-button.button--icon-button-round:active:not([disabled]){background:rgb(var(--zn-color-border))}.button.button--icon-button.button--plain{background:transparent;border-color:var(--zn-button-border-color,transparent) !important}.button.button--icon-button.button--plain:hover:not([disabled]),.button.button--icon-button.button--plain:active:not([disabled]){background:rgb(var(--zn-color-tab))}.button.button--icon-button.button--no-hover:hover:not([disabled]),.button.button--icon-button.button--no-hover:active:not([disabled]){background:rgb(var(--zn-panel))}.button.button--icon-button.button--no-hover.button--icon-button-round:hover:not([disabled]),.button.button--icon-button.button--no-hover.button--icon-button-round:active:not([disabled]){background:rgb(var(--zn-color-tab))}.button.button--icon-button.button--no-hover.button--plain:hover:not([disabled]),.button.button--icon-button.button--no-hover.button--plain:active:not([disabled]){background:transparent}.button.button--icon-button.button--has-notification::after{--icon-inset:calc((100% - var(--notification-icon-size,20px)) / 2);top:calc(var(--icon-inset) - 4px);inset-inline-end:calc(var(--icon-inset) - 4px);transform:translate(50%,-50%)}.button--loading-bg-transparent{background-color:transparent}.button--loading-fill{pointer-events:none;position:absolute;z-index:1;background-color:rgba(var(--btn-color),0.85);border-radius:inherit;transition:width 0s;animation:loading-fill-grow var(--loading-duration,2s) linear forwards;inset:-1px}.button--loading-fill-transparent{background-color:rgba(var(--zn-primary),0.1)}.button--loading-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}.button--loading-text{z-index:5;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:inherit;font-weight:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;pointer-events:none;color:inherit}.button--loading-text .loading-countdown{margin-left:3px}.button--loading-text-left{justify-content:flex-start;padding-inline-start:7px}.button--loading-text-right{justify-content:flex-end;padding-inline-end:7px}.button--relative-wrapper{position:relative;display:inline-flex;height:100%;width:100%}@keyframes loading-fill-grow{from{width:0}to{width:100%}}:host([vertical-align=center]){align-self:center}:host([vertical-align=end]){align-self:end}:host([vertical-align=start]){align-self:start}:host([grow]){width:100%}:host([grow]) button{width:100%}:host([data-zn-button-group__button--grow]){flex-grow:1;flex-basis:0}:host([data-zn-button-group__button--inner]) .button{border-radius:0 !important;border-left:0 !important;border-right:0 !important}:host([data-zn-button-group__button]:not([data-zn-button-group__button--first]):not(:hover)) .button:after{content:"";position:absolute;top:0;inset-inline-start:0;bottom:0;border-left:solid 1px;mix-blend-mode:multiply;color:rgb(var(--zn-border-color))}:host([data-zn-button-group__button--first]:not([data-zn-button-group__button--last])) .button{border-radius:5px 0 0 5px !important;border-right:0 !important}:host([data-zn-button-group__button--last]:not([data-zn-button-group__button--first])) .button{border-radius:0 5px 5px 0 !important;border-left:0 !important}.button--panel-bg{background:rgb(var(--zn-panel))}`;var dt=class extends Y{constructor(){super(...arguments);this.formControlController=new lt(this);this.hasSlotController=new Je(this,"[default]");this._loadingState={countdown:null,interval:void 0};this.color="default";this.text=!1;this.outline=!1;this.disabled=!1;this.grow=!1;this.square=!1;this.iconButton=!1;this.plain=!1;this.noHover=!1;this.panelBackground=!1;this.dropdownCloser=!1;this.mutedNotifications=!1;this.content="";this.icon="";this.gaid="";this.iconPosition="left";this.rel="noreferrer noopener";this.autoClick=!1;this.autoClickDelay=2e3;this.loadingText="Loading...";this.loadingTextPosition="center";this.loading=!1;this.handleClick=()=>{if(!this.disabled){if(this.dropdownCloser){let t=null,i=this,n=0,o=30;for(;i&&n<o;){if(i instanceof jn){t=i;break}i=i.parentElement||(i.getRootNode()instanceof ShadowRoot?i.getRootNode().host:null),n++}t==null||t.hide()}this.type==="submit"&&this.formControlController.submit()}}}get validity(){return this._isButton()&&this.button?this.button.validity:za}get validationMessage(){return this._isButton()&&this.button?this.button.validationMessage:""}firstUpdated(){this._isButton()&&this.formControlController.updateValidity()}disconnectedCallback(){super.disconnectedCallback(),this.teardownAutoClick()}async handleAutoClickChange(t,i){i?(await this.updateComplete,this.setupAutoClick()):this.teardownAutoClick()}updated(t){if(super.updated(t),this.button){let i=this.button.querySelector(".button--loading-fill");if(i&&i.remove(),this.loading){let n=`${this.autoClickDelay/1e3}s`,o=document.createElement("div");o.classList.add("button--loading-fill"),o.setAttribute("style",`--loading-duration: ${n}`),this.button.classList.contains("button--transparent")&&(o.classList.add("button--loading-fill-transparent"),this.button.classList.add("button--loading-bg-transparent")),this.button.prepend(o),this.button.classList.add("button--loading-bg")}else this.button.classList.remove("button--loading-bg"),this.button.classList.remove("button--loading-bg-transparent");this.updateCountdownText()}}checkValidity(){return this._isButton()&&this.button?this.button.checkValidity():!0}getForm(){return this.formControlController.getForm()}reportValidity(){return this._isButton()&&this.button?this.button.reportValidity():!0}setCustomValidity(t){this._isButton()&&(this.button.setCustomValidity(t),this.formControlController.updateValidity())}click(){this.handleClick()}_isLink(){return this.href!==void 0}_isButton(){return!this._isLink()}getIconButtonColor(t){switch(t){case void 0:case"":case"default":return"rgb(var(--zn-text))";case"primary":return"rgb(var(--zn-primary))";case"secondary":return"rgb(var(--zn-text))";case"error":return"rgb(var(--zn-color-error))";case"info":return"rgb(var(--zn-color-info))";case"success":return"rgb(var(--zn-color-success))";case"warning":return"rgb(var(--zn-color-warning))";case"transparent":return"inherit";case"star":return"rgb(var(--zn-orange))";default:return t}}setupAutoClick(){this.button&&(this._autoClickTimeout&&(window.clearTimeout(this._autoClickTimeout),this._autoClickTimeout=void 0),this._loadingState.interval&&(window.clearInterval(this._loadingState.interval),this._loadingState.interval=void 0),this.loading=!0,this._loadingState.countdown=Math.ceil(this.autoClickDelay/1e3),this.updateCountdownText(),this._loadingState.interval=window.setInterval(()=>{this._loadingState.countdown&&this._loadingState.countdown>0&&(this._loadingState.countdown--,this.updateCountdownText())},1e3),this._autoClickTimeout=window.setTimeout(()=>{var t;this.loading=!1,this._loadingState.countdown=null,this.updateCountdownText(),this._loadingState.interval&&(window.clearInterval(this._loadingState.interval),this._loadingState.interval=void 0),(t=this.button)==null||t.click()},this.autoClickDelay))}updateCountdownText(){let t=this._loadingState.countdown&&this._loadingState.countdown>0?` (${this._loadingState.countdown}s)`:"";if(this.countdownContainer)for(let i of this.countdownContainer)i.textContent=t}teardownAutoClick(){this._autoClickTimeout&&(window.clearTimeout(this._autoClickTimeout),this._autoClickTimeout=void 0),this._loadingState.interval&&(window.clearInterval(this._loadingState.interval),this._loadingState.interval=void 0),this.loading=!1,this._loadingState.countdown=null,this.button&&(this.button.style.width="")}render(){let t=this._isLink(),i=this.loading&&this.autoClick,n=this.icon&&!this.loading?Zr`
115
+ </zn-popup>`}};ua.styles=Q(zde),_([ce("slot:not([name])")],ua.prototype,"defaultSlot",2),_([ce(".tooltip__body")],ua.prototype,"body",2),_([ce("zn-popup")],ua.prototype,"popup",2),_([w()],ua.prototype,"content",2),_([w()],ua.prototype,"placement",2),_([w({type:Boolean,reflect:!0})],ua.prototype,"disabled",2),_([w({type:Number})],ua.prototype,"distance",2),_([w({type:Boolean,reflect:!0})],ua.prototype,"open",2),_([w({type:Number})],ua.prototype,"skidding",2),_([w()],ua.prototype,"trigger",2),_([w({type:Boolean})],ua.prototype,"hoist",2),_([He("open",{waitUntilFirstUpdate:!0})],ua.prototype,"handleOpenChange",1),_([He(["content","distance","hoist","placement","skidding"])],ua.prototype,"handleOptionsChange",1),_([He("disabled")],ua.prototype,"handleDisabledChange",1);var bs=ua;ua.define("zn-tooltip");var Mde=J`:host,html,body{color:rgba(var(--zn-text),var(--zn-text-opacity));font-family:var(--zn-font-family-sans);font-feature-settings:normal;font-variation-settings:normal;font-size:var(--zn-text-paragraph-font-size);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-tab-size:4;-o-tab-size:4;tab-size:4;margin:0}html,body{background-color:rgba(var(--zn-body),var(--zn-bg-opacity));container-type:size;min-height:100%;height:100%}.inline-container{container-type:inline-size}.app-container{container-type:inline-size;display:flex;flex:1;flex-direction:column;position:relative;max-height:100%;height:100%;width:100%;max-width:100%}.inline-app-container,.app-container.inline-app-container,[inline-container] .app-container{display:block;height:auto;flex:unset}hr{height:0;border:none;border-top:1px solid rgb(var(--zn-border-color))}code,kbd,samp,pre,.mono{font-family:var(--zn-font-family-mono);font-size:1em}small{font-size:80%}.hidden{display:none !important}.visibility-hidden{visibility:hidden}p{font-size:var(--zn-text-paragraph-font-size);line-height:var(--zn-text-paragraph-line-height);font-weight:var(--zn-text-paragraph-font-weight)}h1,h2,h3,h4,h5,h6{color:rgb(var(--zn-text-heading))}h1{font-size:var(--zn-text-h1-font-size);line-height:var(--zn-text-h1-line-height);font-weight:var(--zn-text-h1-font-weight)}h2{font-size:var(--zn-text-h2-font-size);line-height:var(--zn-text-h2-line-height);font-weight:var(--zn-text-h2-font-weight)}h3,h4,h5,h6{font-size:var(--zn-text-h3-font-size);line-height:var(--zn-text-h3-line-height);font-weight:var(--zn-text-h3-font-weight)}kbd{font-family:monospace;background-color:#eee;color:#333;border:1px solid rgb(var(--zn-border-color));border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,0.2),0 1px 0 0 rgba(255,255,255,0.5) inset;display:inline-block;font-size:13px;line-height:20px;padding:1px 6px;white-space:nowrap;min-width:15px;color:rgba(0,0,0,0.5)}[t=dark] kbd{background-color:rgb(25,25,25);box-shadow:0 1px 1px rgba(0,0,0,0.2),0 1px 0 0 rgba(110,110,110,0.5) inset;color:#eee}[tab]{cursor:pointer}.zn-link:hover{--zn-text:rgb(var(--zn-primary));--icon-color:rgb(var(--zn-primary));--zn-text-heading:rgb(var(--zn-primary));--property-color:rgb(var(--zn-primary));opacity:1}.grow{flex-grow:1}.no-grow{flex-grow:0}.shrink{flex-shrink:1}.no-shrink{flex-shrink:0}.block{display:block}.flex{display:flex}.flex-wrap{display:flex;flex-wrap:wrap}.flex-col{display:flex;flex-direction:column}.flex-mid{display:flex;align-items:center}.flex-jc{justify-content:center}.flex-between{display:flex;justify-content:space-between}.flex-end{display:flex;justify-content:flex-end}.flex-bottom{display:flex;align-items:flex-end}.equal{flex-basis:50%}.m-auto{margin:auto}.mt-auto{margin-top:auto}.zn-pad{padding:var(--zn-base-gap,0)}.zn-pad-y,.zn-py{padding-top:16px;padding-bottom:16px}.zn-pad-x,.zn-px{padding-left:16px;padding-right:16px}.zn-pr{padding-right:16px}.zn-pl{padding-left:16px}.zn-pt{padding-top:16px}.zn-pb{padding-bottom:16px}.zn-margin{margin:16px}.zn-mx{margin-left:16px;margin-right:16px}.zn-my{margin-top:16px;margin-bottom:16px}.zn-mt{margin-top:16px}.zn-mb{margin-bottom:16px}.zn-ml{margin-left:16px}.zn-mr{margin-right:16px}.zn-mxa{margin-left:auto;margin-right:auto}.zn-mya{margin-top:auto;margin-bottom:auto}.zn-mta{margin-top:auto}.zn-mba{margin-bottom:auto}.zn-mla{margin-left:auto}.zn-mra{margin-right:auto}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}@keyframes act-vanish{from{transform:scale(1);opacity:1;max-height:100%}to{transform:scale(0.8);opacity:0;max-height:0}}.act-vanish{animation:ease-in act-vanish 600ms forwards;transform-origin:top center;background-color:rgba(var(--zn-color-error),0.3);display:block;overflow:hidden}.h-full{height:100%}.w-full{width:100%}.zn-panel-bg{--zn-page-surface-background:var(--zn-panel);background-color:rgba(var(--zn-panel),var(--zn-panel-opacity))}.zn-panel{background-color:rgba(var(--zn-panel),var(--zn-panel-opacity));border:1px solid rgb(var(--zn-border-color));border-radius:var(--zn-border-radius);--zn-page-surface-background:var(--zn-panel)}.zn-container{display:flex;flex-direction:column;flex-grow:1;max-height:100%;overflow:hidden}.tar{text-align:right}.tal{text-align:left}.tac{text-align:center}.zn-empty-hide:empty{display:none}.ml-auto{margin-left:auto}.zn-b-dash{border-style:dashed}.zn-b-dotted{border-style:dotted}.zn-border{border-style:solid;border-width:1px !important}.zn-bt{border-top-style:solid;border-top-width:1px !important}.zn-bb{border-bottom-style:solid;border-bottom-width:1px !important}.zn-bl{border-left-style:solid;border-left-width:1px !important}.zn-br{border-right-style:solid;border-right-width:1px !important}.unifi-action{display:flex;gap:10px;padding:10px 0;align-items:center}.zn-panel-bar{border-bottom:1px solid rgb(var(--zn-border-color));background-color:rgba(var(--zn-panel),0.9);padding:var(--zn-base-px);gap:var(--zn-base-px);display:flex;flex-wrap:wrap;align-items:center;z-index:1}.zn-panel-bar--pill{border-radius:var(--zn-border-radius);border:1px solid rgb(var(--zn-border-color))}.zn-panel-bar--large{padding:var(--zn-base-px) calc(var(--zn-base-gap) + var(--zn-gutter));gap:var(--zn-base-px);height:50px}.scroll-container{overflow:auto;flex-grow:1;position:relative;display:flex;flex-direction:column;max-height:100%}.zn-divide{display:flex;flex-direction:column}.zn-divide>*:not(:first-child){border-top:1px solid rgb(var(--zn-border-color))}.zn-divide>div:empty+div:not(:first-child){border-top:0}.zn-divide-y{display:flex;flex-direction:row}.zn-divide-y>*:not(:first-child):not(:empty){border-left:1px solid rgb(var(--zn-border-color))}.zn-c-pad{--zn-pad-spacing:var(--zn-spacing-large)}.zn-c-pad-x>*{padding-left:var(--zn-pad-spacing);padding-right:var(--zn-pad-spacing)}.zn-c-pad-y>*:not(:first-child){padding-top:var(--zn-pad-spacing)}.zn-c-pad-y>*:not(:last-child){padding-bottom:var(--zn-pad-spacing)}.zn-nav.zn-transparent{background:transparent}.zn-nav{background:rgba(var(--zn-panel),var(--zn-panel-opacity));border-right:1px solid rgb(var(--zn-border-color));max-width:320px;height:100%;padding-top:5px}.zn-nav ul{list-style:none;padding-bottom:10px;margin:0;display:flex;flex-direction:column;position:relative}.zn-nav ul:after{content:"";height:1px;left:18px;right:18px;bottom:0;position:absolute;background:rgb(var(--zn-border-color))}.zn-nav ul li a{text-decoration:none;color:rgb(var(--zn-text));display:block;font-weight:500;cursor:pointer}.zn-nav ul li a:hover,.zn-nav ul li a.zn-tb-active{background:rgb(var(--zn-body))}.zn-nav ul li a.zn-tb-active{color:rgb(var(--zn-purple-text))}.zn-nav ul:last-child:after{display:none}.zn-nav strong,.zn-nav li a{padding:10px 20px}.zn-nav strong{display:block;margin-top:10px;font-size:13px;letter-spacing:0.93px;color:rgb(var(--zn-text-heading));font-weight:600;padding-bottom:5px;text-transform:uppercase}@keyframes shimmer-text-sweep{0%{background-position:100% center}100%{background-position:0% center}}@media (prefers-reduced-motion:no-preference){.shimmer-text{--shimmer-base:rgb(var(--zn-text));--shimmer-highlight:rgb(var(--zn-text-heading));--shimmer-core:0.5ch;--shimmer-spread:1.5ch;--shimmer-duration:1.5s;display:inline-block;width:-moz-fit-content;width:fit-content;max-width:100%;background-image:linear-gradient(90deg,transparent calc(50% - var(--shimmer-spread)),var(--shimmer-highlight) calc(50% - var(--shimmer-core)),var(--shimmer-highlight) calc(50% + var(--shimmer-core)),transparent calc(50% + var(--shimmer-spread))),linear-gradient(var(--shimmer-base),var(--shimmer-base));background-size:250% 100%,auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent !important;color:transparent !important;animation:var(--shimmer-duration) linear infinite shimmer-text-sweep}.shimmer-text.zn-error{--shimmer-base:rgb(var(--zn-color-error));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-error)) 55%,white)}.shimmer-text.zn-success{--shimmer-base:rgb(var(--zn-color-success));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-success)) 55%,white)}.shimmer-text.zn-info{--shimmer-base:rgb(var(--zn-color-info));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-info)) 55%,white)}.shimmer-text.zn-warning{--shimmer-base:rgb(var(--zn-color-warning));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-color-warning)) 55%,white)}.shimmer-text.zn-primary{--shimmer-base:rgb(var(--zn-primary));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-primary)) 55%,white)}.shimmer-text.zn-accent{--shimmer-base:rgb(var(--zn-accent));--shimmer-highlight:color-mix(in srgb,rgb(var(--zn-accent)) 55%,white)}}@media (prefers-reduced-motion:reduce){.shimmer-text{color:rgb(var(--zn-text))}.shimmer-text.zn-error{color:rgb(var(--zn-color-error)) !important}.shimmer-text.zn-success{color:rgb(var(--zn-color-success)) !important}.shimmer-text.zn-info{color:rgb(var(--zn-color-info)) !important}.shimmer-text.zn-warning{color:rgb(var(--zn-color-warning)) !important}.shimmer-text.zn-primary{color:rgb(var(--zn-primary)) !important}.shimmer-text.zn-accent{color:rgb(var(--zn-accent)) !important}}*,*::before,*::after{box-sizing:border-box}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}strong{font-weight:bolder}b{font-weight:600}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:inline-block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}@keyframes rotate-gradient{from{--rotate:0deg}to{--rotate:360deg}}button,.zn-button{border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:-moz-fit-content;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}button:hover:not([disabled]),.zn-button:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],input[type=file],input[list],textarea,select{display:block;width:100%;border-radius:5px;border-style:solid;border-width:1px !important;border-color:rgb(var(--zn-border-color));background-color:rgb(var(--zn-input-bg));outline:none}input[type=date]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,input[type=file]:focus,input[list]:focus,textarea:focus,select:focus{border-color:rgb(var(--zn-primary));box-shadow:0 0 0 3px rgba(var(--zn-primary),0.3)}input[type=date]::-moz-placeholder, input[type=datetime-local]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=month]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=week]::-moz-placeholder, input[type=file]::-moz-placeholder, input[list]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder{font-weight:400;color:rgba(var(--zn-text),0.6)}input[type=date]::placeholder,input[type=datetime-local]::placeholder,input[type=email]::placeholder,input[type=month]::placeholder,input[type=number]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,input[type=text]::placeholder,input[type=time]::placeholder,input[type=url]::placeholder,input[type=week]::placeholder,input[type=file]::placeholder,input[list]::placeholder,textarea::placeholder,select::placeholder{font-weight:400;color:rgba(var(--zn-text),0.6)}@media (min-width:360px){input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],input[type=file],input[list],textarea,select{padding:8px}}label{font-weight:600;font-size:rgb(var(--zn-font-size-medium));line-height:var(--zn-spacing-medium);color:rgb(var(--zn-text-heading));display:block;margin-bottom:4px;margin-top:16px}input[type=checkbox],input[type=radio]{border-radius:5px}input[type=radio]{border-radius:50%}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:10px;background-color:rgb(var(--zn-border-color));height:8px;accent-color:rgb(var(--zn-primary));width:100%;max-width:768px}fieldset{border-color:rgba(var(--zn-primary),20%);border-width:2px;padding:0 16px 16px}select option{padding:4px}select>option:checked{background-color:rgba(var(--zn-primary),20%);border-radius:5px}fieldset>legend{padding:4px}input[type=button],input[type=submit],button[type=submit]:not(.button),button[type=button]:not(.button){border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:-moz-fit-content;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}input[type=button]:hover:not([disabled]),input[type=submit]:hover:not([disabled]),button[type=submit]:not(.button):hover:not([disabled]),button[type=button]:not(.button):hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}input[type=button],input[type=submit],button[type=submit]:not(.button),button[type=button]:not(.button){width:auto}div+button{margin-top:16px}input[type=file]::-webkit-file-upload-button{border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}input[type=file]::-webkit-file-upload-button:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}input[type=file]::-webkit-file-upload-button{margin-right:8px}input::-webkit-calendar-picker-indicator{cursor:pointer;padding:8px}input[list]::-webkit-calendar-picker-indicator{padding:8px 4px}.input--with-icon{position:relative}.input--with-icon zn-icon{padding:14px;position:absolute;top:50%;pointer-events:none;transform:translateY(-50%);left:8px;background-color:rgb(var(--zn-primary));color:rgb(var(--zn-text));border-radius:50%}.input--with-icon input{padding-left:40px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:rgb(var(--zn-text));-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px rgba(35,35,35,0.1607843137)}select{height:43px}.no-border{border:none !important}table:not(.remarkd-table){border-collapse:separate !important;border-spacing:0;width:100%;max-width:100%;table-layout:auto;text-align:left;font-family:var(--zn-font-sans);font-size:var(--zn-text-table-content-font-size);font-weight:var(--zn-text-table-content-font-weight);line-height:var(--zn-text-table-content-line-height);color:var(--zn-text-table-content-color);text-transform:var(--zn-text-table-content-transform)}table:not(.remarkd-table) thead{font-weight:var(--zn-font-weight-medium)}table:not(.remarkd-table) thead tr th{background-color:rgb(var(--zn-table-header-background-color))}table:not(.remarkd-table) tbody a{cursor:pointer;color:rgb(var(--zn-primary))}table:not(.remarkd-table) tbody tr td{border-top:1px solid rgb(var(--zn-border-color)) !important}table:not(.remarkd-table) tbody tr:first-of-type td{border-top:0 !important}table:not(.remarkd-table) th,table:not(.remarkd-table) td{padding:var(--zn-spacing-small) var(--zn-spacing-medium);min-width:90px;white-space:nowrap}table:not(.remarkd-table) td>span{white-space:normal}table:not(.remarkd-table) th{font-family:var(--zn-font-sans);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);color:var(--zn-text-button-label-color);text-transform:var(--zn-text-button-label-transform);text-transform:capitalize;border-bottom:1px solid rgb(var(--zn-border-color))}.zn-table-fixed{table-layout:fixed}.opacity-100{opacity:1}.opacity-90{opacity:0.9}.opacity-80{opacity:0.8}.opacity-60{opacity:0.6}.opacity-50{opacity:0.5}.opacity-40{opacity:0.4}.opacity-10{opacity:0.1}:host{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}:host *,:host *::before,:host *::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--zn-border-color))}[hidden]{display:none !important}.width-container,.form-container,.wide-form-container{height:100%;width:100%;margin:var(--zn-default-margin,0 auto)}.width-container{max-width:var(--zn-container)}.form-container{max-width:var(--zn-container-ph)}.wide-form-container{max-width:var(--zn-container-lg)}:host{display:inline-block;position:relative;width:auto;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host button,:host a{width:100%}.button{border-radius:var(--zn-border-radius);display:inline-flex;align-items:center;justify-content:center;padding:var(--zn-base-px);margin:auto;width:-moz-fit-content;width:fit-content;background-color:rgb(var(--zn-primary));color:rgba(255,255,255,0.9);font-size:var(--zn-text-button-label-font-size);font-weight:var(--zn-text-button-label-font-weight);line-height:var(--zn-text-button-label-line-height);text-transform:var(--zn-text-button-label-transform);cursor:pointer;vertical-align:middle;border-color:transparent;white-space:nowrap;max-height:36px;height:36px;min-height:36px}.button:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.8)}.button{--btn-color:var(--zn-primary);--notification-color:rgb(var(--zn-color-error));border-width:var(--zn-button-border-width,1px);border-top-width:var(--zn-button-border-top-width,var(--zn-button-border-width,1px));border-right-width:var(--zn-button-border-right-width,var(--zn-button-border-width,1px));border-bottom-width:var(--zn-button-border-bottom-width,var(--zn-button-border-width,1px));border-left-width:var(--zn-button-border-left-width,var(--zn-button-border-width,1px));border-color:var(--zn-button-border-color,transparent);display:inline-flex;position:relative}.button.button--info{--btn-color:var(--zn-color-info)}.button.button--error{--btn-color:var(--zn-color-error)}.button.button--warning{--btn-color:var(--zn-color-warning)}.button.button--success{--btn-color:var(--zn-color-success)}.button__label--hidden{visibility:hidden}.button.button--muted-notification{--notification-color:rgb(var(--zn-color-info))}.button--has-notification{position:relative;overflow:visible}.button--has-notification::after{content:attr(data-notification);position:absolute;display:flex;justify-content:center;align-items:center;top:-4px;left:auto;inset-inline-end:-4px;box-sizing:border-box;min-width:13px;height:13px;padding:0 3px;border-radius:999px;font-size:var(--zn-text-notification-font-size);font-weight:var(--zn-text-notification-font-weight);line-height:var(--zn-text-notification-line-height);color:var(--zn-text-notification-color);background-color:var(--notification-color)}.button--has-notification.button--notification-dot::after{content:"";min-width:0;width:8px;height:8px;padding:0;border-radius:50%}.button::-moz-focus-inner{border:0}.button:focus{outline:none}.button:focus-visible{outline:2px solid rgb(var(--btn-color));outline-offset:2px}[disabled]{cursor:not-allowed;opacity:0.5}[disabled] *{pointer-events:none}.button--standard.button--secondary{background-color:var(--zn-color-neutral-50);border-color:var(--zn-button-border-color,var(--zn-color-neutral-50));color:rgb(var(--zn-primary))}.button--standard.button--secondary:hover:not([disabled]){background-color:var(--zn-color-neutral-100)}.button--standard.button--secondary:active:not([disabled]){background-color:var(--zn-color-neutral-100)}.button--standard{background-color:rgba(var(--btn-color),0.85);border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:rgba(255,255,255,0.9)}.button--standard:hover:not([disabled]){background-color:rgba(var(--btn-color),0.8)}.button--standard:active:not([disabled]){background-color:rgba(var(--btn-color))}.button--outline{background:none;border-width:var(--zn-button-border-width,1px);border-top-width:var(--zn-button-border-top-width,var(--zn-button-border-width,1px));border-right-width:var(--zn-button-border-right-width,var(--zn-button-border-width,1px));border-bottom-width:var(--zn-button-border-bottom-width,var(--zn-button-border-width,1px));border-left-width:var(--zn-button-border-left-width,var(--zn-button-border-width,1px));border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:rgb(var(--btn-color))}.button--outline:hover:not([disabled]),.button--outline:active:not([disabled]){background-color:rgb(var(--btn-color));color:white}.button--outline.button--secondary{border-color:var(--zn-button-border-color,var(--zn-color-neutral-100))}.button--outline.button--secondary:hover:not([disabled]),.button--outline.button--secondary:active:not([disabled]){background-color:var(--zn-color-neutral-100);color:rgb(var(--btn-color))}.button--text{background:none;color:rgb(var(--btn-color))}.button--text:hover:not([disabled]),.button--text:active:not([disabled]){background-color:rgba(var(--btn-color),0.1)}.button--text.button--secondary{font-weight:normal}.button--grow{width:100%}.button--with-icon.button--with-content:not(.button--icon-button).button--icon-left zn-icon{margin-right:var(--zn-base-px)}.button--with-icon.button--with-content:not(.button--icon-button).button--icon-right zn-icon{margin-left:var(--zn-base-px)}.button--square{border-radius:0}.button--transparent{background-color:transparent;border-color:var(--zn-button-border-color,transparent) !important;color:inherit}.button--transparent:hover:not([disabled]){background-color:rgba(var(--zn-primary),0.1)}.button--transparent:active:not([disabled]){background-color:rgba(var(--zn-primary),0.2)}.button--star{--btn-color:var(--zn-orange);background-color:rgb(var(--btn-color));border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:white;opacity:1 !important}.button--star:hover:not([disabled]){background-color:rgb(var(--btn-color))}.button--star:active{background-color:rgb(var(--btn-color))}.button--star.button--outline{background-color:transparent;border-color:var(--zn-button-border-color,rgb(var(--btn-color)));color:rgb(var(--btn-color))}.button--star.button--outline:hover:not([disabled]),.button--star.button--outline:active:not([disabled]){background-color:rgba(var(--btn-color));color:white}.button.button--icon-button{--icon-button-color:rgb(var(--zn-text));--icon-button-hover-color:rgb(var(--zn-primary));width:40px;min-width:40px;height:36px;min-height:36px;max-height:36px;padding:6px;margin:0;background:rgb(var(--zn-panel));border-color:var(--zn-button-border-color,rgb(var(--zn-border-color))) !important;border-radius:var(--zn-border-radius);color:var(--icon-button-color);font-weight:inherit;line-height:0}.button.button--icon-button zn-icon,.button.button--icon-button ::slotted(zn-icon){--icon-color:currentColor;color:inherit;line-height:0}.button.button--icon-button:hover:not([disabled]),.button.button--icon-button:active:not([disabled]){background:rgba(var(--zn-color-tab),0.5)}.button.button--icon-button.button--icon-button-small{width:36px;min-width:36px}.button.button--icon-button.button--icon-button-round{width:36px;min-width:36px;padding:8px;background:rgb(var(--zn-color-tab));border-color:var(--zn-button-border-color,transparent) !important;border-radius:var(--zn-border-radius-circle)}.button.button--icon-button.button--icon-button-round:hover:not([disabled]),.button.button--icon-button.button--icon-button-round:active:not([disabled]){background:rgb(var(--zn-color-border))}.button.button--icon-button.button--plain{background:transparent;border-color:var(--zn-button-border-color,transparent) !important}.button.button--icon-button.button--plain:hover:not([disabled]),.button.button--icon-button.button--plain:active:not([disabled]){background:rgb(var(--zn-color-tab))}.button.button--icon-button.button--no-hover:hover:not([disabled]),.button.button--icon-button.button--no-hover:active:not([disabled]){background:rgb(var(--zn-panel))}.button.button--icon-button.button--no-hover.button--icon-button-round:hover:not([disabled]),.button.button--icon-button.button--no-hover.button--icon-button-round:active:not([disabled]){background:rgb(var(--zn-color-tab))}.button.button--icon-button.button--no-hover.button--plain:hover:not([disabled]),.button.button--icon-button.button--no-hover.button--plain:active:not([disabled]){background:transparent}.button.button--icon-button.button--has-notification::after{--icon-inset:calc((100% - var(--notification-icon-size,20px)) / 2);top:calc(var(--icon-inset) - 4px);inset-inline-end:calc(var(--icon-inset) - 4px);transform:translate(50%,-50%)}.button--loading-bg-transparent{background-color:transparent}.button--loading-fill{pointer-events:none;position:absolute;z-index:1;background-color:rgba(var(--btn-color),0.85);border-radius:inherit;transition:width 0s;animation:loading-fill-grow var(--loading-duration,2s) linear forwards;inset:-1px}.button--loading-fill-transparent{background-color:rgba(var(--zn-primary),0.1)}.button--loading-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}.button--loading-text{z-index:5;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:inherit;font-weight:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;pointer-events:none;color:inherit}.button--loading-text .loading-countdown{margin-left:3px}.button--loading-text-left{justify-content:flex-start;padding-inline-start:7px}.button--loading-text-right{justify-content:flex-end;padding-inline-end:7px}.button--relative-wrapper{position:relative;display:inline-flex;height:100%;width:100%}@keyframes loading-fill-grow{from{width:0}to{width:100%}}:host([vertical-align=center]){align-self:center}:host([vertical-align=end]){align-self:end}:host([vertical-align=start]){align-self:start}:host([grow]){width:100%}:host([grow]) button{width:100%}:host([data-zn-button-group__button--grow]){flex-grow:1;flex-basis:0}:host([data-zn-button-group__button--inner]) .button{border-radius:0 !important;border-left:0 !important;border-right:0 !important}:host([data-zn-button-group__button]:not([data-zn-button-group__button--first]):not(:hover)) .button:after{content:"";position:absolute;top:0;inset-inline-start:0;bottom:0;border-left:solid 1px;mix-blend-mode:multiply;color:rgb(var(--zn-border-color))}:host([data-zn-button-group__button--first]:not([data-zn-button-group__button--last])) .button{border-radius:5px 0 0 5px !important;border-right:0 !important}:host([data-zn-button-group__button--last]:not([data-zn-button-group__button--first])) .button{border-radius:0 5px 5px 0 !important;border-left:0 !important}.button--panel-bg{background:rgb(var(--zn-panel));border-color:var(--zn-button-border-color,rgb(var(--zn-border-color)));color:rgb(var(--zn-text))}.button--panel-bg:hover:not([disabled]),.button--panel-bg:active:not([disabled]){background:rgba(var(--zn-color-tab),0.5)}`;var dt=class extends Y{constructor(){super(...arguments);this.formControlController=new lt(this);this.hasSlotController=new Je(this,"[default]");this._loadingState={countdown:null,interval:void 0};this.color="default";this.text=!1;this.outline=!1;this.disabled=!1;this.grow=!1;this.square=!1;this.iconButton=!1;this.plain=!1;this.noHover=!1;this.panelBackground=!1;this.dropdownCloser=!1;this.mutedNotifications=!1;this.content="";this.icon="";this.gaid="";this.iconPosition="left";this.rel="noreferrer noopener";this.autoClick=!1;this.autoClickDelay=2e3;this.loadingText="Loading...";this.loadingTextPosition="center";this.loading=!1;this.handleClick=()=>{if(!this.disabled){if(this.dropdownCloser){let t=null,i=this,n=0,o=30;for(;i&&n<o;){if(i instanceof jn){t=i;break}i=i.parentElement||(i.getRootNode()instanceof ShadowRoot?i.getRootNode().host:null),n++}t==null||t.hide()}this.type==="submit"&&this.formControlController.submit()}}}get validity(){return this._isButton()&&this.button?this.button.validity:za}get validationMessage(){return this._isButton()&&this.button?this.button.validationMessage:""}firstUpdated(){this._isButton()&&this.formControlController.updateValidity()}disconnectedCallback(){super.disconnectedCallback(),this.teardownAutoClick()}async handleAutoClickChange(t,i){i?(await this.updateComplete,this.setupAutoClick()):this.teardownAutoClick()}updated(t){if(super.updated(t),this.button){let i=this.button.querySelector(".button--loading-fill");if(i&&i.remove(),this.loading){let n=`${this.autoClickDelay/1e3}s`,o=document.createElement("div");o.classList.add("button--loading-fill"),o.setAttribute("style",`--loading-duration: ${n}`),this.button.classList.contains("button--transparent")&&(o.classList.add("button--loading-fill-transparent"),this.button.classList.add("button--loading-bg-transparent")),this.button.prepend(o),this.button.classList.add("button--loading-bg")}else this.button.classList.remove("button--loading-bg"),this.button.classList.remove("button--loading-bg-transparent");this.updateCountdownText()}}checkValidity(){return this._isButton()&&this.button?this.button.checkValidity():!0}getForm(){return this.formControlController.getForm()}reportValidity(){return this._isButton()&&this.button?this.button.reportValidity():!0}setCustomValidity(t){this._isButton()&&(this.button.setCustomValidity(t),this.formControlController.updateValidity())}click(){this.handleClick()}_isLink(){return this.href!==void 0}_isButton(){return!this._isLink()}getIconButtonColor(t){switch(t){case void 0:case"":case"default":return"rgb(var(--zn-text))";case"primary":return"rgb(var(--zn-primary))";case"secondary":return"rgb(var(--zn-text))";case"error":return"rgb(var(--zn-color-error))";case"info":return"rgb(var(--zn-color-info))";case"success":return"rgb(var(--zn-color-success))";case"warning":return"rgb(var(--zn-color-warning))";case"transparent":return"inherit";case"star":return"rgb(var(--zn-orange))";default:return t}}setupAutoClick(){this.button&&(this._autoClickTimeout&&(window.clearTimeout(this._autoClickTimeout),this._autoClickTimeout=void 0),this._loadingState.interval&&(window.clearInterval(this._loadingState.interval),this._loadingState.interval=void 0),this.loading=!0,this._loadingState.countdown=Math.ceil(this.autoClickDelay/1e3),this.updateCountdownText(),this._loadingState.interval=window.setInterval(()=>{this._loadingState.countdown&&this._loadingState.countdown>0&&(this._loadingState.countdown--,this.updateCountdownText())},1e3),this._autoClickTimeout=window.setTimeout(()=>{var t;this.loading=!1,this._loadingState.countdown=null,this.updateCountdownText(),this._loadingState.interval&&(window.clearInterval(this._loadingState.interval),this._loadingState.interval=void 0),(t=this.button)==null||t.click()},this.autoClickDelay))}updateCountdownText(){let t=this._loadingState.countdown&&this._loadingState.countdown>0?` (${this._loadingState.countdown}s)`:"";if(this.countdownContainer)for(let i of this.countdownContainer)i.textContent=t}teardownAutoClick(){this._autoClickTimeout&&(window.clearTimeout(this._autoClickTimeout),this._autoClickTimeout=void 0),this._loadingState.interval&&(window.clearInterval(this._loadingState.interval),this._loadingState.interval=void 0),this.loading=!1,this._loadingState.countdown=null,this.button&&(this.button.style.width="")}render(){let t=this._isLink(),i=this.loading&&this.autoClick,n=this.icon&&!this.loading?Zr`
116
116
  <zn-icon part="icon" src="${this.icon}" id="xy2" size="${this.iconSize?this.iconSize:20}"
117
117
  color="${ue(this.iconColor)}" fill="${ue(this.iconFill)}"
118
118
  library="${ue(this.iconLibrary)}"></zn-icon>`:"",o=t?dd`a`:dd`button`,s=this.iconButton?{"--icon-button-color":this.getIconButtonColor(this.color),"--icon-button-hover-color":this.getIconButtonColor(this.hoverColor||"primary")}:{},l=Zr`
119
119
  <${o}
120
120
  part="base"
121
- class="${ae({button:!0,"button--default":this.color==="default","button--secondary":this.color==="secondary","button--panel-bg":this.panelBackground,"button--error":this.color==="error","button--info":this.color==="info","button--success":this.color==="success","button--warning":this.color==="warning","button--transparent":this.color==="transparent","button--star":this.color==="star","button--white":this.color==="white","button--outline":this.outline,"button--text":this.text&&!this.outline,"button--icon-button":!!this.iconButton,"button--plain":!!this.iconButton&&this.plain,"button--no-hover":this.noHover,"button--icon-button-small":this.iconButton==="small","button--icon-button-round":this.iconButton==="round","button--grow":this.grow,"button--standard":!this.outline&&!this.text,"button--with-icon":this.icon,"button--icon-left":this.iconPosition==="left","button--icon-right":this.iconPosition==="right","button--with-content":this.hasSlotController.test("[default]")||this.content,"button--square":this.square,"button--has-notification":this.notification!==void 0&&this.notification!==0,"button--muted-notification":this.mutedNotifications||this.notification!==void 0&&this.notification===-2,"button--notification-dot":this.notification!==void 0&&this.notification<0})}"
121
+ class="${ae({button:!0,"button--default":this.color==="default","button--secondary":this.color==="secondary","button--panel-bg":this.panelBackground,"button--error":this.color==="error","button--info":this.color==="info","button--success":this.color==="success","button--warning":this.color==="warning","button--transparent":this.color==="transparent","button--star":this.color==="star","button--outline":this.outline,"button--text":this.text&&!this.outline,"button--icon-button":!!this.iconButton,"button--plain":!!this.iconButton&&this.plain,"button--no-hover":this.noHover,"button--icon-button-small":this.iconButton==="small","button--icon-button-round":this.iconButton==="round","button--grow":this.grow,"button--standard":!this.outline&&!this.text,"button--with-icon":this.icon,"button--icon-left":this.iconPosition==="left","button--icon-right":this.iconPosition==="right","button--with-content":this.hasSlotController.test("[default]")||this.content,"button--square":this.square,"button--has-notification":this.notification!==void 0&&this.notification!==0,"button--muted-notification":this.mutedNotifications||this.notification!==void 0&&this.notification===-2,"button--notification-dot":this.notification!==void 0&&this.notification<0})}"
122
122
  type="${ue(this.type)}"
123
123
  href="${ue(this.href)}"
124
124
  target="${ue(t?this.target:void 0)}"
@@ -172,16 +172,17 @@ function print() { __p += __j.call(arguments, '') }
172
172
  ${this.arrow?C`
173
173
  <div part="arrow" class="popup__arrow" role="presentation"></div>`:""}
174
174
  </div>
175
- `}};Xt.styles=Q(oce),_([ce(".popup")],Xt.prototype,"popup",2),_([ce(".popup__arrow")],Xt.prototype,"arrowEl",2),_([w()],Xt.prototype,"anchor",2),_([w({type:Boolean,reflect:!0})],Xt.prototype,"active",2),_([w({reflect:!0})],Xt.prototype,"placement",2),_([w({reflect:!0})],Xt.prototype,"strategy",2),_([w({type:Number})],Xt.prototype,"distance",2),_([w({type:Number})],Xt.prototype,"skidding",2),_([w({type:Boolean})],Xt.prototype,"arrow",2),_([w({attribute:"arrow-placement"})],Xt.prototype,"arrowPlacement",2),_([w({attribute:"arrow-padding",type:Number})],Xt.prototype,"arrowPadding",2),_([w({type:Boolean})],Xt.prototype,"flip",2),_([w({attribute:"flip-fallback-placements",converter:{fromAttribute:t=>t.split(" ").map(i=>i.trim()).filter(i=>i!==""),toAttribute:t=>t.join(" ")}})],Xt.prototype,"flipFallbackPlacements",2),_([w({attribute:"flip-fallback-strategy"})],Xt.prototype,"flipFallbackStrategy",2),_([w({type:Object})],Xt.prototype,"flipBoundary",2),_([w({attribute:"flip-padding",type:Number})],Xt.prototype,"flipPadding",2),_([w({type:Boolean})],Xt.prototype,"shift",2),_([w({type:Object})],Xt.prototype,"shiftBoundary",2),_([w({attribute:"shift-padding",type:Number})],Xt.prototype,"shiftPadding",2),_([w({attribute:"auto-size"})],Xt.prototype,"autoSize",2),_([w()],Xt.prototype,"sync",2),_([w({type:Object})],Xt.prototype,"autoSizeBoundary",2),_([w({attribute:"auto-size-padding",type:Number})],Xt.prototype,"autoSizePadding",2),_([w({attribute:"hover-bridge",type:Boolean})],Xt.prototype,"hoverBridge",2);var L0=Xt;Xt.define("zn-popup");var sce=J`@keyframes rotate-gradient{from{--rotate:0deg}to{--rotate:360deg}}:host{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}:host *,:host *::before,:host *::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--zn-border-color))}[hidden]{display:none !important}.width-container,.form-container,.wide-form-container{height:100%;width:100%;margin:var(--zn-default-margin,0 auto)}.width-container{max-width:var(--zn-container)}.form-container{max-width:var(--zn-container-ph)}.wide-form-container{max-width:var(--zn-container-lg)}:host(:not([expanded])){cursor:pointer}:host([expanded]) .expand{transform:rotate(180deg)}:host-context(.app-navigation) .header{padding:var(--zn-base-px)}.header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;overflow:hidden;padding:var(--zn-base-gap);justify-items:center}.header .caption{font-weight:600;margin:0;flex-grow:1;width:100%;color:rgb(var(--zn-text-heading))}.header .description{text-align:right;padding:0;margin:0}.header .summary{font-weight:500;font-size:90%}.header .label{font-weight:500;font-size:90%}.header__left{flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.header__right{display:flex;flex-direction:row;align-items:center}:host([error-label]) .header .caption{color:rgb(var(--zn-color-error))}:host([warning-label]) .header .caption{color:rgb(var(--zn-color-warning))}:host(:not([flush])).content{padding:var(--zn-base-gap,0)}.content{transition:0.1s all ease-out}:host([expanded]) .content{margin:0 var(--zn-spacing-medium);padding-bottom:var(--zn-spacing-medium)}:host([expanded]) .content--flush{margin:0;padding:0}:host(:not([expanded])) .content{max-height:0;opacity:0;overflow:hidden;padding:0}.expand{margin-left:var(--zn-spacing-medium)}`;var Na=class extends Y{constructor(){super(...arguments);this.caption="";this.label="";this.showNumber=!1;this.countElement="*";this.expanded=!1;this.storeKey="";this.storeTtl=0;this.flush=!1;this.numberOfItems=0;this.hasSlotController=new Je(this,"[default]","header","caption","label");this.observer=new vr(this,{target:null,config:{childList:!0,subtree:!0},callback:()=>this.recalculateNumberOfItems()});this.showArrow=!0;this.handleCaptionToggle=t=>{let i=t.target;i&&(this.expanded=i.checked)};this.handleCollapse=t=>{let i=t.target;i.tagName.toLowerCase()==="input"&&i.type==="checkbox"||this.expanded&&(this.expanded=!1,t.stopPropagation())};this.recalculateNumberOfItems=()=>{let t=this.hasSlotController.getDefaultSlot().filter(n=>n.nodeType===Node.ELEMENT_NODE);if(this.countElement==="*"){this.numberOfItems=t.length;return}let i=t.flatMap(n=>Array.from(n.querySelectorAll(this.countElement)));this.numberOfItems=i.length}}async connectedCallback(){if(super.connectedCallback(),this._store=new hn(this.localStorage?window.localStorage:window.sessionStorage,"zncla:",this.storeTtl),this.expanded=this.defaultState==="open",this.storeKey){let i=this._store.get(this.storeKey);i&&(this.expanded=i==="true")}this.showNumber&&this.observer.observe(this),await this.updateComplete;let t=this.hasSlotController.getSlot("caption");if(t){let i=t.querySelectorAll("zn-toggle");this.showArrow=!1,i.forEach(n=>{n.removeEventListener("zn-input",this.handleCaptionToggle),n.addEventListener("zn-input",this.handleCaptionToggle)})}}updated(t){super.updated(t),t.has("expanded")&&this.storeKey&&this._store.set(this.storeKey,this.expanded.toString())}render(){return this.recalculateNumberOfItems(),C`
175
+ `}};Xt.styles=Q(oce),_([ce(".popup")],Xt.prototype,"popup",2),_([ce(".popup__arrow")],Xt.prototype,"arrowEl",2),_([w()],Xt.prototype,"anchor",2),_([w({type:Boolean,reflect:!0})],Xt.prototype,"active",2),_([w({reflect:!0})],Xt.prototype,"placement",2),_([w({reflect:!0})],Xt.prototype,"strategy",2),_([w({type:Number})],Xt.prototype,"distance",2),_([w({type:Number})],Xt.prototype,"skidding",2),_([w({type:Boolean})],Xt.prototype,"arrow",2),_([w({attribute:"arrow-placement"})],Xt.prototype,"arrowPlacement",2),_([w({attribute:"arrow-padding",type:Number})],Xt.prototype,"arrowPadding",2),_([w({type:Boolean})],Xt.prototype,"flip",2),_([w({attribute:"flip-fallback-placements",converter:{fromAttribute:t=>t.split(" ").map(i=>i.trim()).filter(i=>i!==""),toAttribute:t=>t.join(" ")}})],Xt.prototype,"flipFallbackPlacements",2),_([w({attribute:"flip-fallback-strategy"})],Xt.prototype,"flipFallbackStrategy",2),_([w({type:Object})],Xt.prototype,"flipBoundary",2),_([w({attribute:"flip-padding",type:Number})],Xt.prototype,"flipPadding",2),_([w({type:Boolean})],Xt.prototype,"shift",2),_([w({type:Object})],Xt.prototype,"shiftBoundary",2),_([w({attribute:"shift-padding",type:Number})],Xt.prototype,"shiftPadding",2),_([w({attribute:"auto-size"})],Xt.prototype,"autoSize",2),_([w()],Xt.prototype,"sync",2),_([w({type:Object})],Xt.prototype,"autoSizeBoundary",2),_([w({attribute:"auto-size-padding",type:Number})],Xt.prototype,"autoSizePadding",2),_([w({attribute:"hover-bridge",type:Boolean})],Xt.prototype,"hoverBridge",2);var L0=Xt;Xt.define("zn-popup");var sce=J`@keyframes rotate-gradient{from{--rotate:0deg}to{--rotate:360deg}}:host{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}:host *,:host *::before,:host *::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--zn-border-color))}[hidden]{display:none !important}.width-container,.form-container,.wide-form-container{height:100%;width:100%;margin:var(--zn-default-margin,0 auto)}.width-container{max-width:var(--zn-container)}.form-container{max-width:var(--zn-container-ph)}.wide-form-container{max-width:var(--zn-container-lg)}:host(:not([expanded])){cursor:pointer}:host([expanded]) .expand{transform:rotate(180deg)}:host-context(.app-navigation) .header{padding:var(--zn-base-px)}.header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;overflow:hidden;padding:var(--zn-base-gap);justify-items:center}.header .caption{font-weight:600;margin:0;flex-grow:1;width:100%;color:rgb(var(--zn-text-heading))}.header .description{text-align:right;padding:0;margin:0}.header .summary{font-weight:500;font-size:90%}.header .label{font-weight:500;font-size:90%}.header__left{flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.header__right{display:flex;flex-direction:row;align-items:center}:host([error-label]) .header .caption{color:rgb(var(--zn-color-error))}:host([warning-label]) .header .caption{color:rgb(var(--zn-color-warning))}:host(:not([flush])).content{padding:var(--zn-base-gap,0)}.content{transition:0.1s all ease-out}:host([expanded]) .content{margin:0 var(--zn-spacing-medium);padding-bottom:var(--zn-spacing-medium)}:host([expanded]) .content--flush{margin:0;padding:0}:host(:not([expanded])) .content{max-height:0;opacity:0;overflow:hidden;padding:0}.expand{margin-left:var(--zn-spacing-medium)}`;var Na=class extends Y{constructor(){super(...arguments);this.caption="";this.label="";this.showNumber=!1;this.countElement="*";this.expanded=!1;this.storeKey="";this.storeTtl=0;this.flush=!1;this.numberOfItems=0;this.hasSlotController=new Je(this,"[default]","header","caption","label","description");this.observer=new vr(this,{target:null,config:{childList:!0,subtree:!0},callback:()=>this.recalculateNumberOfItems()});this.showArrow=!0;this.handleCaptionToggle=t=>{let i=t.target;i&&(this.expanded=i.checked)};this.handleCollapse=t=>{let i=t.target;i.tagName.toLowerCase()==="input"&&i.type==="checkbox"||this.expanded&&(this.expanded=!1,t.stopPropagation())};this.recalculateNumberOfItems=()=>{let t=this.hasSlotController.getDefaultSlot().filter(n=>n.nodeType===Node.ELEMENT_NODE);if(this.countElement==="*"){this.numberOfItems=t.length;return}let i=t.flatMap(n=>Array.from(n.querySelectorAll(this.countElement)));this.numberOfItems=i.length}}async connectedCallback(){if(super.connectedCallback(),this._store=new hn(this.localStorage?window.localStorage:window.sessionStorage,"zncla:",this.storeTtl),this.expanded=this.defaultState==="open",this.storeKey){let i=this._store.get(this.storeKey);i&&(this.expanded=i==="true")}this.showNumber&&this.observer.observe(this),await this.updateComplete;let t=this.hasSlotController.getSlot("caption");if(t){let i=t.querySelectorAll("zn-toggle");this.showArrow=!1,i.forEach(n=>{n.removeEventListener("zn-input",this.handleCaptionToggle),n.addEventListener("zn-input",this.handleCaptionToggle)})}}updated(t){super.updated(t),t.has("expanded")&&this.storeKey&&this._store.set(this.storeKey,this.expanded.toString())}render(){return this.recalculateNumberOfItems(),C`
176
176
  <div @click="${()=>this.expanded?"":this.expanded=!0}">
177
- <slot name="header" class="header" @click="${this.handleCollapse}">
177
+ <slot name="header" part="header" class="header" @click="${this.handleCollapse}">
178
178
  <div class="header__left">
179
- <p class="caption">
179
+ <p part="caption" class="caption">
180
180
  <slot name="caption">${this.caption}</slot>
181
181
  </p>
182
- <p class="description">
183
- <slot name="description">${this.description}</slot>
184
- </p>
182
+ ${this.description||this.hasSlotController.test("description")?C`
183
+ <p class="description">
184
+ <slot name="description">${this.description}</slot>
185
+ </p>`:""}
185
186
  </div>
186
187
  <div class="header__right">
187
188
  <slot name="label"><p class="label">${this.label}</p></slot>
@@ -759,29 +760,29 @@ function print() { __p += __j.call(arguments, '') }
759
760
  </zn-select>
760
761
  </div>`}getPageRange(){let t=this.totalPages,i=this.page;if(t<=7)return Array.from({length:t},(s,l)=>l+1);let n=i>4,o=i<t-3;return!n&&o?[1,2,3,4,5,"ellipsis",t]:n&&!o?[1,"ellipsis",t-4,t-3,t-2,t-1,t]:[1,"ellipsis",i-1,i,i+1,"ellipsis",t]}getPagination(){return this.hidePagination||this.totalPages<=1?null:C`
761
762
  <div class="table__footer__pagination-buttons">
762
- <zn-button color="white"
763
- @click="${this.page!==1?this.goToFirstPage:void 0}"
763
+ <zn-button @click="${this.page!==1?this.goToFirstPage:void 0}"
764
764
  ?disabled="${this.page===1}"
765
- icon="arrow_left@lu">First
765
+ icon="arrow_left@lu"
766
+ panel-bg>First
766
767
  </zn-button>
767
- <zn-button color="white"
768
- @click="${this.page!==1?this.goToPreviousPage:void 0}"
769
- ?disabled="${this.page===1}">Back
768
+ <zn-button @click="${this.page!==1?this.goToPreviousPage:void 0}"
769
+ ?disabled="${this.page===1}"
770
+ panel-bg>Back
770
771
  </zn-button>
771
772
  ${this.getPageRange().map(t=>t==="ellipsis"?C`<span class="table__footer__pagination-ellipsis">…</span>`:C`
772
773
  <zn-button @click="${t!==this.page?()=>this.goToPage(t):void 0}"
773
774
  icon-button="small"
774
775
  class="${t===this.page?"table__footer__pagination-page--active":""}">${t}
775
776
  </zn-button>`)}
776
- <zn-button color="white"
777
- @click="${this.page!==this.totalPages?this.goToNextPage:void 0}"
778
- ?disabled="${this.page===this.totalPages}">Next
777
+ <zn-button @click="${this.page!==this.totalPages?this.goToNextPage:void 0}"
778
+ ?disabled="${this.page===this.totalPages}"
779
+ panel-bg>Next
779
780
  </zn-button>
780
- <zn-button color="white"
781
- @click="${this.page!==this.totalPages?this.goToLastPage:void 0}"
781
+ <zn-button @click="${this.page!==this.totalPages?this.goToLastPage:void 0}"
782
782
  ?disabled="${this.page===this.totalPages}"
783
783
  icon="arrow_right@lu"
784
- icon-position="right">Last
784
+ icon-position="right"
785
+ panel-bg>Last
785
786
  </zn-button>
786
787
  </div>`}getActions(){let t=[];return this.hasSlotController.test("delete-action".valueOf())||this.hasSlotController.test("modify-action".valueOf())||this.hasSlotController.test("create-action".valueOf())?(!this.hideCheckboxes&&this._rows.length>0&&t.push(C`
787
788
  <zn-button @click="${this.selectAll}"
@@ -1136,8 +1137,8 @@ function print() { __p += __j.call(arguments, '') }
1136
1137
  <div class="channel-tile__body">
1137
1138
  ${this._renderLeading()}
1138
1139
  <div class="channel-tile__content">
1139
- <h3 class="channel-tile__title">${t}</h3>
1140
- <p class="channel-tile__subtitle">${this.subtitle}</p>
1140
+ <h3 class="channel-tile__title"><slot name="title">${t}</slot></h3>
1141
+ <p class="channel-tile__subtitle"><slot name="subtitle">${this.subtitle}</slot></p>
1141
1142
  </div>
1142
1143
  <slot name="footer" class="channel-tile__footer"></slot>
1143
1144
  </div>
@@ -7,8 +7,10 @@ layout: component
7
7
 
8
8
  The channel tile represents a single slot in a queue or channel rail. It has two faces:
9
9
 
10
- - **Active** — the slot is occupied by an in-progress item (header, leading icon, title/subtitle, and a progress/SLA bar).
11
- - **Available** — the slot is empty and advertising capacity. When `incoming` is set it reserves an arriving item with a countdown that can auto-accept.
10
+ - **Active** — the slot is occupied by an in-progress item (header, leading icon, title/subtitle, and a progress/SLA
11
+ bar).
12
+ - **Available** — the slot is empty and advertising capacity. When `incoming` is set it reserves an arriving item with a
13
+ countdown that can auto-accept.
12
14
 
13
15
  Tiles are designed to sit side by side in a horizontal rail; each is a fixed-width block with a right divider.
14
16
 
@@ -31,7 +33,8 @@ Tiles are designed to sit side by side in a horizontal rail; each is a fixed-wid
31
33
 
32
34
  ### Active Tile
33
35
 
34
- The default (occupied) face. Set `header` for the top bar, `icon` + `color` for the leading badge, and `title`/`subtitle` for the item. The `progress` value (0–100) fills the SLA bar along the bottom edge.
36
+ The default (occupied) face. Set `header` for the top bar, `icon` + `color` for the leading badge, and `title`/
37
+ `subtitle` for the item. The `progress` value (0–100) fills the SLA bar along the bottom edge.
35
38
 
36
39
  ```html:preview
37
40
  <div style="display: flex;">
@@ -49,7 +52,8 @@ The default (occupied) face. Set `header` for the top bar, `icon` + `color` for
49
52
 
50
53
  ### Available Tile
51
54
 
52
- Set `available` to render the empty face. When `title` is omitted it defaults to "Available". The leading slot shows a built-in accept button.
55
+ Set `available` to render the empty face. When `title` is omitted it defaults to "Available". The leading slot shows a
56
+ built-in accept button.
53
57
 
54
58
  ```html:preview
55
59
  <div style="display: flex;">
@@ -59,7 +63,8 @@ Set `available` to render the empty face. When `title` is omitted it defaults to
59
63
 
60
64
  ### Accepting an Item
61
65
 
62
- Provide `accept-uri` and the built-in accept button becomes a link to it. When a tile is accepted, a cancelable `zn-accept` event fires before the fetch — call `preventDefault()` on it to take over the accept yourself.
66
+ Provide `accept-uri` and the built-in accept button becomes a link to it. When a tile is accepted, a cancelable
67
+ `zn-accept` event fires before the fetch — call `preventDefault()` on it to take over the accept yourself.
63
68
 
64
69
  ```html:preview
65
70
  <div style="display: flex;">
@@ -74,7 +79,9 @@ Provide `accept-uri` and the built-in accept button becomes a link to it. When a
74
79
 
75
80
  ### Incoming with Auto-Accept
76
81
 
77
- An `available` tile with `incoming` reserves an arriving item. Provide `reserved-until` (an epoch in seconds or milliseconds marking the end of the window) and `auto-accept-delay` (the window length in milliseconds) to drive the countdown overlay. When the window elapses the tile auto-accepts via `accept-uri`.
82
+ An `available` tile with `incoming` reserves an arriving item. Provide `reserved-until` (an epoch in seconds or
83
+ milliseconds marking the end of the window) and `auto-accept-delay` (the window length in milliseconds) to drive the
84
+ countdown overlay. When the window elapses the tile auto-accepts via `accept-uri`.
78
85
 
79
86
  ```html:preview
80
87
  <div style="display: flex;">
@@ -118,7 +125,8 @@ Add `rejectable` to an incoming tile to offer a reject control. Pressing it emit
118
125
 
119
126
  ### Colors
120
127
 
121
- The `color` attribute sets the accent (the leading icon badge and the `--channel-tile-color` custom property). Available colors are: `default`, `primary`, `info`, `success`, `warning`, `error`, and `disabled`.
128
+ The `color` attribute sets the accent (the leading icon badge and the `--channel-tile-color` custom property). Available
129
+ colors are: `default`, `primary`, `info`, `success`, `warning`, `error`, and `disabled`.
122
130
 
123
131
  ```html:preview
124
132
  <div style="display: flex; flex-wrap: wrap;">
@@ -131,6 +139,21 @@ The `color` attribute sets the accent (the leading icon badge and the `--channel
131
139
  </div>
132
140
  ```
133
141
 
142
+ ### Custom Title and Subtitle
143
+
144
+ The `title` and `subtitle` attributes cover plain text. For richer content, use the `title` and `subtitle` slots — they
145
+ override the matching attribute (which is used as the fallback when the slot is empty).
146
+
147
+ ```html:preview
148
+ <div style="display: flex;">
149
+ <zn-channel-tile header="Acme Support" icon="chat" color="info" progress="60"
150
+ progress-color="rgb(var(--zn-color-info))">
151
+ <span slot="title">Jane <strong>Cooper</strong></span>
152
+ <span slot="subtitle">Billing question · <a href="#">#4821</a></span>
153
+ </zn-channel-tile>
154
+ </div>
155
+ ```
156
+
134
157
  ### Custom Leading Content
135
158
 
136
159
  Use the `leading` slot to replace the leading icon in the active state.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubex/zinc",
3
- "version": "1.1.21",
3
+ "version": "1.1.23",
4
4
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
5
5
  "keywords": [
6
6
  "web components",
@@ -60,7 +60,7 @@ export default class ZnButton extends ZincElement implements ZincFormControl {
60
60
  @queryAll('.loading-countdown') countdownContainer: HTMLElement[];
61
61
 
62
62
  @property({}) color: 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |
63
- 'transparent' | 'star' | 'white' | (string & Record<never, never>) = 'default';
63
+ 'transparent' | 'star' | (string & Record<never, never>) = 'default';
64
64
  @property({attribute: 'hover-color'}) hoverColor: string;
65
65
  @property({type: Boolean}) text = false;
66
66
  @property({type: Boolean}) outline = false;
@@ -388,7 +388,6 @@ export default class ZnButton extends ZincElement implements ZincFormControl {
388
388
  'button--warning': this.color === 'warning',
389
389
  'button--transparent': this.color === 'transparent',
390
390
  'button--star': this.color === 'star',
391
- 'button--white': this.color === 'white',
392
391
  'button--outline': this.outline,
393
392
  'button--text': (this.text && !this.outline),
394
393
  'button--icon-button': !!this.iconButton,
@@ -244,22 +244,6 @@
244
244
  }
245
245
  }
246
246
 
247
- /**
248
- * White: white panel background with a neutral border, matching the
249
- * icon-button look but for normal (auto-width, text) buttons.
250
- *
251
- * Doubled-up selector so it out-cascades the standard/secondary combos.
252
- */
253
- .button.button--white {
254
- background: rgb(var(--zn-panel));
255
- border-color: var(--zn-button-border-color, rgb(var(--zn-border-color)));
256
- color: rgb(var(--zn-text));
257
-
258
- &:hover:not([disabled]), &:active:not([disabled]) {
259
- background: rgba(var(--zn-color-tab), 0.5);
260
- }
261
- }
262
-
263
247
  /**
264
248
  * Icon buttons
265
249
  *
@@ -489,4 +473,10 @@
489
473
 
490
474
  .button--panel-bg {
491
475
  background: rgb(var(--zn-panel));
476
+ border-color: var(--zn-button-border-color, rgb(var(--zn-border-color)));
477
+ color: rgb(var(--zn-text));
478
+
479
+ &:hover:not([disabled]), &:active:not([disabled]) {
480
+ background: rgba(var(--zn-color-tab), 0.5);
481
+ }
492
482
  }
@@ -23,6 +23,8 @@ export type ChannelTileColor =
23
23
  * Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.
24
24
  * @event zn-reject - Emitted when the reject control is pressed.
25
25
  *
26
+ * @slot title - Replaces the primary line. Falls back to the `title` attribute (or "Available" when unset in the available state).
27
+ * @slot subtitle - Replaces the secondary line. Falls back to the `subtitle` attribute.
26
28
  * @slot leading - Replaces the leading icon in the active state.
27
29
  * @slot action - Action content for the available state (e.g. a form). Falls back to a default accept button.
28
30
  * @slot footer - Trailing content (e.g. status badges) in the active state.
@@ -213,8 +215,8 @@ export default class ZnChannelTile extends ZincElement {
213
215
  <div class="channel-tile__body">
214
216
  ${this._renderLeading()}
215
217
  <div class="channel-tile__content">
216
- <h3 class="channel-tile__title">${title}</h3>
217
- <p class="channel-tile__subtitle">${this.subtitle}</p>
218
+ <h3 class="channel-tile__title"><slot name="title">${title}</slot></h3>
219
+ <p class="channel-tile__subtitle"><slot name="subtitle">${this.subtitle}</slot></p>
218
220
  </div>
219
221
  <slot name="footer" class="channel-tile__footer"></slot>
220
222
  </div>
@@ -20,6 +20,8 @@ import styles from './collapsible.scss';
20
20
  *
21
21
  * @slot header - Clicking will toggle the show state of the data
22
22
  *
23
+ * @csspart header - The header row (toggle).
24
+ * @csspart caption - The caption text.
23
25
  */
24
26
  export default class ZnCollapsible extends ZincElement {
25
27
  static styles: CSSResultGroup = unsafeCSS(styles);
@@ -51,7 +53,7 @@ export default class ZnCollapsible extends ZincElement {
51
53
 
52
54
  protected _store: Store;
53
55
 
54
- private readonly hasSlotController = new HasSlotController(this, '[default]', 'header', 'caption', 'label');
56
+ private readonly hasSlotController = new HasSlotController(this, '[default]', 'header', 'caption', 'label', 'description');
55
57
 
56
58
  private readonly observer = new MutationController(this, {
57
59
  target: null,
@@ -137,14 +139,17 @@ export default class ZnCollapsible extends ZincElement {
137
139
 
138
140
  return html`
139
141
  <div @click="${() => (!this.expanded ? (this.expanded = true) : '')}">
140
- <slot name="header" class="header" @click="${this.handleCollapse}">
142
+ <slot name="header" part="header" class="header" @click="${this.handleCollapse}">
141
143
  <div class="header__left">
142
- <p class="caption">
144
+ <p part="caption" class="caption">
143
145
  <slot name="caption">${this.caption}</slot>
144
146
  </p>
145
- <p class="description">
146
- <slot name="description">${this.description}</slot>
147
- </p>
147
+ ${this.description || this.hasSlotController.test('description')
148
+ ? html`
149
+ <p class="description">
150
+ <slot name="description">${this.description}</slot>
151
+ </p>`
152
+ : ''}
148
153
  </div>
149
154
  <div class="header__right">
150
155
  <slot name="label"><p class="label">${this.label}</p></slot>
@@ -722,14 +722,14 @@ export default class ZnDataTable extends ZincElement {
722
722
 
723
723
  return html`
724
724
  <div class="table__footer__pagination-buttons">
725
- <zn-button color="white"
726
- @click="${this.page !== 1 ? this.goToFirstPage : undefined}"
725
+ <zn-button @click="${this.page !== 1 ? this.goToFirstPage : undefined}"
727
726
  ?disabled="${this.page === 1}"
728
- icon="arrow_left@lu">First
727
+ icon="arrow_left@lu"
728
+ panel-bg>First
729
729
  </zn-button>
730
- <zn-button color="white"
731
- @click="${this.page !== 1 ? this.goToPreviousPage : undefined}"
732
- ?disabled="${this.page === 1}">Back
730
+ <zn-button @click="${this.page !== 1 ? this.goToPreviousPage : undefined}"
731
+ ?disabled="${this.page === 1}"
732
+ panel-bg>Back
733
733
  </zn-button>
734
734
  ${this.getPageRange().map((p) => p === 'ellipsis'
735
735
  ? html`<span class="table__footer__pagination-ellipsis">…</span>`
@@ -739,15 +739,15 @@ export default class ZnDataTable extends ZincElement {
739
739
  class="${p === this.page ? 'table__footer__pagination-page--active' : ''}">${p}
740
740
  </zn-button>`
741
741
  )}
742
- <zn-button color="white"
743
- @click="${this.page !== this.totalPages ? this.goToNextPage : undefined}"
744
- ?disabled="${this.page === this.totalPages}">Next
742
+ <zn-button @click="${this.page !== this.totalPages ? this.goToNextPage : undefined}"
743
+ ?disabled="${this.page === this.totalPages}"
744
+ panel-bg>Next
745
745
  </zn-button>
746
- <zn-button color="white"
747
- @click="${this.page !== this.totalPages ? this.goToLastPage : undefined}"
746
+ <zn-button @click="${this.page !== this.totalPages ? this.goToLastPage : undefined}"
748
747
  ?disabled="${this.page === this.totalPages}"
749
748
  icon="arrow_right@lu"
750
- icon-position="right">Last
749
+ icon-position="right"
750
+ panel-bg>Last
751
751
  </zn-button>
752
752
  </div>`;
753
753
  }