@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.
- package/dist/custom-elements.json +97 -79
- package/dist/vscode.html-custom-data.json +13 -14
- package/dist/web-types.json +35 -27
- package/dist/zn.d.ts +5 -1
- package/dist/zn.min.js +23 -22
- package/docs/pages/components/channel-tile.md +30 -7
- package/package.json +1 -1
- package/src/components/button/button.component.ts +1 -2
- package/src/components/button/button.scss +6 -16
- package/src/components/channel-tile/channel-tile.component.ts +4 -2
- package/src/components/collapsible/collapsible.component.ts +11 -6
- package/src/components/data-table/data-table.component.ts +12 -12
|
@@ -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' |
|
|
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' |
|
|
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.
|
|
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": [] },
|
package/dist/web-types.json
CHANGED
|
@@ -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.
|
|
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' |
|
|
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' |
|
|
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' |
|
|
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--
|
|
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
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
|
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"
|
|
765
|
+
icon="arrow_left@lu"
|
|
766
|
+
panel-bg>First
|
|
766
767
|
</zn-button>
|
|
767
|
-
<zn-button
|
|
768
|
-
|
|
769
|
-
|
|
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
|
|
777
|
-
|
|
778
|
-
|
|
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
|
|
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"
|
|
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
|
|
11
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
@@ -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' |
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
|
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"
|
|
727
|
+
icon="arrow_left@lu"
|
|
728
|
+
panel-bg>First
|
|
729
729
|
</zn-button>
|
|
730
|
-
<zn-button
|
|
731
|
-
|
|
732
|
-
|
|
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
|
|
743
|
-
|
|
744
|
-
|
|
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
|
|
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"
|
|
749
|
+
icon-position="right"
|
|
750
|
+
panel-bg>Last
|
|
751
751
|
</zn-button>
|
|
752
752
|
</div>`;
|
|
753
753
|
}
|