@kubex/zinc 1.1.72 → 1.1.74

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.
@@ -13,6 +13,17 @@
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
+ },
16
27
  {
17
28
  "name": "zn-alert",
18
29
  "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.",
@@ -53,17 +64,6 @@
53
64
  }
54
65
  ]
55
66
  },
56
- {
57
- "name": "zn-action-bar",
58
- "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.",
59
- "attributes": [],
60
- "references": [
61
- {
62
- "name": "Documentation",
63
- "url": "https://zinc.style/components/action-bar"
64
- }
65
- ]
66
- },
67
67
  {
68
68
  "name": "zn-animated-button",
69
69
  "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",
@@ -2650,7 +2650,7 @@
2650
2650
  },
2651
2651
  {
2652
2652
  "name": "zn-page",
2653
- "description": "Combines a page header with tab navigation and tab panels.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.\n- **description** - Rich subtitle/description content. Falls back to the `summary` attribute when empty.\n- **bottom** - Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom 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.",
2653
+ "description": "Combines a page header with tab navigation and tab panels.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n \n\n\n### **Slots:**\n - _default_ - Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.\n- **description** - Rich subtitle/description content. Falls back to the `summary` attribute when empty.\n- **bottom** - Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom 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.",
2654
2654
  "attributes": [
2655
2655
  { "name": "caption", "values": [] },
2656
2656
  { "name": "entity-id", "values": [] },
@@ -2733,7 +2733,7 @@
2733
2733
  },
2734
2734
  {
2735
2735
  "name": "zn-page-nav",
2736
- "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.",
2736
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n \n\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.",
2737
2737
  "attributes": [
2738
2738
  { "name": "navigation", "values": [{ "name": "PageNavData" }] },
2739
2739
  { "name": "master-id", "values": [] },
@@ -2964,7 +2964,7 @@
2964
2964
  },
2965
2965
  {
2966
2966
  "name": "zn-preview-frame",
2967
- "description": "Embeds a live preview iframe and drives the hp-preview postMessage\nprotocol: answers the frame's ready handshake with a config payload fetched\nfrom data-uri, auto-saves watched forms on change, refreshes the preview\nafter each save (its own, or a shell-driven save of a `refresh-on` form),\nand accepts a theme payload via setTheme() that is retained and replayed\nafter every ready handshake.\n---\n\n\n### **Events:**\n - **zn-error** - Emitted when the preview reports a render error or a save fails.\n\n### **Methods:**\n - **refresh()** - Re-fetches the payload and pushes a fresh config to the preview.\n- **setTheme(theme: _Record<string, unknown>_)** - Pushes a theme payload into the preview. The payload is retained and\nre-posted after every ready handshake, so a frame reload doesn't drop an\nin-progress theme.\n\n### **CSS Properties:**\n - **--zn-preview-frame-dot-spacing** - Spacing of the backdrop dot grid (`backdrop=\"dots\"`). Defaults to 20px. _(default: undefined)_\n- **--zn-preview-frame-dot-opacity** - Opacity of the backdrop dots (`backdrop=\"dots\"`). Defaults to 0.08. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **stage** - The device-width wrapper around the iframe.\n- **iframe** - The preview iframe.\n- **error** - The error overlay.",
2967
+ "description": "Embeds a live preview iframe and drives the hp-preview postMessage\nprotocol: answers the frame's ready handshake with a config payload fetched\nfrom data-uri, auto-saves watched forms on change, refreshes the preview\nafter each save (its own, or a shell-driven save of a `refresh-on` form),\naccepts a theme payload via setTheme() that is retained and replayed\nafter every ready handshake, and grows the frame to a content height the\nembed reports so the panel scrolls an overflowing page.\n---\n\n\n### **Events:**\n - **zn-error** - Emitted when the preview reports a render error or a save fails.\n\n### **Methods:**\n - **refresh()** - Re-fetches the payload and pushes a fresh config to the preview.\n- **setTheme(theme: _Record<string, unknown>_)** - Pushes a theme payload into the preview. The payload is retained and\nre-posted after every ready handshake, so a frame reload doesn't drop an\nin-progress theme.\n\n### **CSS Properties:**\n - **--zn-preview-frame-dot-spacing** - Spacing of the backdrop dot grid (`backdrop=\"dots\"`). Defaults to 20px. _(default: undefined)_\n- **--zn-preview-frame-dot-opacity** - Opacity of the backdrop dots (`backdrop=\"dots\"`). Defaults to 0.08. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **stage** - The device-width wrapper around the iframe.\n- **iframe** - The preview iframe.\n- **error** - The error overlay.",
2968
2968
  "attributes": [
2969
2969
  {
2970
2970
  "name": "src",
@@ -3020,6 +3020,11 @@
3020
3020
  "name": "backdrop",
3021
3021
  "description": "Backdrop behind the stage: `dots` (default) is the canvas dot grid; `panel` is a plain `rgb(var(--zn-panel))` fill.",
3022
3022
  "values": [{ "name": "dots" }, { "name": "panel" }]
3023
+ },
3024
+ {
3025
+ "name": "interactive",
3026
+ "description": "Lets pointer input through to the embedded page. The preview is inert by\ndefault: clicks never reach the frame, so the previewed page can't be\nnavigated or submitted from inside the preview. Cross-origin content can't\nbe reached from here to cancel its own handlers, so this blocks pointer\ninput entirely — hover goes with it. Scrolling doesn't: an overflowing\npage is scrolled by the panel rather than by the frame (see _contentHeight).",
3027
+ "values": []
3023
3028
  }
3024
3029
  ],
3025
3030
  "references": [
@@ -3958,7 +3963,7 @@
3958
3963
  },
3959
3964
  {
3960
3965
  "name": "zn-tabs",
3961
- "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.",
3966
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n \n\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.",
3962
3967
  "attributes": [
3963
3968
  { "name": "master-id", "values": [] },
3964
3969
  { "name": "default-uri", "values": [] },
@@ -4481,6 +4486,17 @@
4481
4486
  }
4482
4487
  ]
4483
4488
  },
4489
+ {
4490
+ "name": "zn-well",
4491
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Slots:**\n - _default_ - The default slot.",
4492
+ "attributes": [
4493
+ { "name": "icon", "values": [] },
4494
+ { "name": "inline", "values": [] }
4495
+ ],
4496
+ "references": [
4497
+ { "name": "Documentation", "url": "https://zinc.style/components/well" }
4498
+ ]
4499
+ },
4484
4500
  {
4485
4501
  "name": "zn-vertical-stepper",
4486
4502
  "description": "Vertical steppers display a sequence of steps in a vertical layout with descriptions and optional icons.\n---\n\n\n### **Slots:**\n - **icon** - Optional slot for adding an icon or indicator before the step content.\n\n### **CSS Parts:**\n - **vs** - The main container for the vertical stepper.\n- **vs__left** - The left section containing the icon and connecting line.\n- **vs__icon** - The icon container.\n- **vs__line** - The vertical connecting line between steps.\n- **vs__right** - The right section containing caption and description text.\n- **vs__caption** - The caption/title text element.\n- **vs__description** - The description text element.",
@@ -4517,17 +4533,6 @@
4517
4533
  "url": "https://zinc.style/components/vertical-stepper"
4518
4534
  }
4519
4535
  ]
4520
- },
4521
- {
4522
- "name": "zn-well",
4523
- "description": "Short summary of the component's intended use.\n---\n\n\n### **Slots:**\n - _default_ - The default slot.",
4524
- "attributes": [
4525
- { "name": "icon", "values": [] },
4526
- { "name": "inline", "values": [] }
4527
- ],
4528
- "references": [
4529
- { "name": "Documentation", "url": "https://zinc.style/components/well" }
4530
- ]
4531
4536
  }
4532
4537
  ]
4533
4538
  }
@@ -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.72",
4
+ "version": "1.1.74",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -15,6 +15,28 @@
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
+ },
18
40
  {
19
41
  "name": "zn-alert",
20
42
  "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.",
@@ -83,28 +105,6 @@
83
105
  ]
84
106
  }
85
107
  },
86
- {
87
- "name": "zn-action-bar",
88
- "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.",
89
- "doc-url": "",
90
- "attributes": [],
91
- "slots": [
92
- { "name": "", "description": "The default slot." },
93
- { "name": "example", "description": "An example slot." }
94
- ],
95
- "events": [
96
- { "name": "zn-event-name", "description": "Emitted as an example." }
97
- ],
98
- "js": {
99
- "properties": [],
100
- "events": [
101
- {
102
- "name": "zn-event-name",
103
- "description": "Emitted as an example."
104
- }
105
- ]
106
- }
107
- },
108
108
  {
109
109
  "name": "zn-animated-button",
110
110
  "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",
@@ -6190,7 +6190,7 @@
6190
6190
  },
6191
6191
  {
6192
6192
  "name": "zn-page",
6193
- "description": "Combines a page header with tab navigation and tab panels.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Slots:**\n - _default_ - Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.\n- **description** - Rich subtitle/description content. Falls back to the `summary` attribute when empty.\n- **bottom** - Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom 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.",
6193
+ "description": "Combines a page header with tab navigation and tab panels.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n \n\n\n### **Slots:**\n - _default_ - Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.\n- **description** - Rich subtitle/description content. Falls back to the `summary` attribute when empty.\n- **bottom** - Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom 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.",
6194
6194
  "doc-url": "",
6195
6195
  "attributes": [
6196
6196
  { "name": "caption", "value": { "type": "string" } },
@@ -6482,7 +6482,7 @@
6482
6482
  },
6483
6483
  {
6484
6484
  "name": "zn-page-nav",
6485
- "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.",
6485
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n \n\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.",
6486
6486
  "doc-url": "",
6487
6487
  "attributes": [
6488
6488
  { "name": "navigation", "value": { "type": "PageNavData" } },
@@ -6939,7 +6939,7 @@
6939
6939
  },
6940
6940
  {
6941
6941
  "name": "zn-preview-frame",
6942
- "description": "Embeds a live preview iframe and drives the hp-preview postMessage\nprotocol: answers the frame's ready handshake with a config payload fetched\nfrom data-uri, auto-saves watched forms on change, refreshes the preview\nafter each save (its own, or a shell-driven save of a `refresh-on` form),\nand accepts a theme payload via setTheme() that is retained and replayed\nafter every ready handshake.\n---\n\n\n### **Events:**\n - **zn-error** - Emitted when the preview reports a render error or a save fails.\n\n### **Methods:**\n - **refresh()** - Re-fetches the payload and pushes a fresh config to the preview.\n- **setTheme(theme: _Record<string, unknown>_)** - Pushes a theme payload into the preview. The payload is retained and\nre-posted after every ready handshake, so a frame reload doesn't drop an\nin-progress theme.\n\n### **CSS Properties:**\n - **--zn-preview-frame-dot-spacing** - Spacing of the backdrop dot grid (`backdrop=\"dots\"`). Defaults to 20px. _(default: undefined)_\n- **--zn-preview-frame-dot-opacity** - Opacity of the backdrop dots (`backdrop=\"dots\"`). Defaults to 0.08. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **stage** - The device-width wrapper around the iframe.\n- **iframe** - The preview iframe.\n- **error** - The error overlay.",
6942
+ "description": "Embeds a live preview iframe and drives the hp-preview postMessage\nprotocol: answers the frame's ready handshake with a config payload fetched\nfrom data-uri, auto-saves watched forms on change, refreshes the preview\nafter each save (its own, or a shell-driven save of a `refresh-on` form),\naccepts a theme payload via setTheme() that is retained and replayed\nafter every ready handshake, and grows the frame to a content height the\nembed reports so the panel scrolls an overflowing page.\n---\n\n\n### **Events:**\n - **zn-error** - Emitted when the preview reports a render error or a save fails.\n\n### **Methods:**\n - **refresh()** - Re-fetches the payload and pushes a fresh config to the preview.\n- **setTheme(theme: _Record<string, unknown>_)** - Pushes a theme payload into the preview. The payload is retained and\nre-posted after every ready handshake, so a frame reload doesn't drop an\nin-progress theme.\n\n### **CSS Properties:**\n - **--zn-preview-frame-dot-spacing** - Spacing of the backdrop dot grid (`backdrop=\"dots\"`). Defaults to 20px. _(default: undefined)_\n- **--zn-preview-frame-dot-opacity** - Opacity of the backdrop dots (`backdrop=\"dots\"`). Defaults to 0.08. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **stage** - The device-width wrapper around the iframe.\n- **iframe** - The preview iframe.\n- **error** - The error overlay.",
6943
6943
  "doc-url": "",
6944
6944
  "attributes": [
6945
6945
  {
@@ -6996,6 +6996,11 @@
6996
6996
  "name": "backdrop",
6997
6997
  "description": "Backdrop behind the stage: `dots` (default) is the canvas dot grid; `panel` is a plain `rgb(var(--zn-panel))` fill.",
6998
6998
  "value": { "type": "'dots' | 'panel'", "default": "'dots'" }
6999
+ },
7000
+ {
7001
+ "name": "interactive",
7002
+ "description": "Lets pointer input through to the embedded page. The preview is inert by\ndefault: clicks never reach the frame, so the previewed page can't be\nnavigated or submitted from inside the preview. Cross-origin content can't\nbe reached from here to cancel its own handlers, so this blocks pointer\ninput entirely — hover goes with it. Scrolling doesn't: an overflowing\npage is scrolled by the panel rather than by the frame (see _contentHeight).",
7003
+ "value": { "type": "boolean", "default": "false" }
6999
7004
  }
7000
7005
  ],
7001
7006
  "events": [
@@ -7061,6 +7066,11 @@
7061
7066
  "description": "Backdrop behind the stage: `dots` (default) is the canvas dot grid; `panel` is a plain `rgb(var(--zn-panel))` fill.",
7062
7067
  "type": "'dots' | 'panel'"
7063
7068
  },
7069
+ {
7070
+ "name": "interactive",
7071
+ "description": "Lets pointer input through to the embedded page. The preview is inert by\ndefault: clicks never reach the frame, so the previewed page can't be\nnavigated or submitted from inside the preview. Cross-origin content can't\nbe reached from here to cancel its own handlers, so this blocks pointer\ninput entirely — hover goes with it. Scrolling doesn't: an overflowing\npage is scrolled by the panel rather than by the frame (see _contentHeight).",
7072
+ "type": "boolean"
7073
+ },
7064
7074
  { "name": "frame", "type": "HTMLIFrameElement" }
7065
7075
  ],
7066
7076
  "events": [
@@ -9356,7 +9366,7 @@
9356
9366
  },
9357
9367
  {
9358
9368
  "name": "zn-tabs",
9359
- "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.",
9369
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Events:**\n - **zn-event-name** - Emitted as an example.\n\n### **Methods:**\n \n\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.",
9360
9370
  "doc-url": "",
9361
9371
  "attributes": [
9362
9372
  { "name": "master-id", "value": { "type": "string" } },
@@ -10591,6 +10601,24 @@
10591
10601
  "events": []
10592
10602
  }
10593
10603
  },
10604
+ {
10605
+ "name": "zn-well",
10606
+ "description": "Short summary of the component's intended use.\n---\n\n\n### **Slots:**\n - _default_ - The default slot.",
10607
+ "doc-url": "",
10608
+ "attributes": [
10609
+ { "name": "icon", "value": { "type": "string", "default": "''" } },
10610
+ { "name": "inline", "value": { "type": "boolean" } }
10611
+ ],
10612
+ "slots": [{ "name": "", "description": "The default slot." }],
10613
+ "events": [],
10614
+ "js": {
10615
+ "properties": [
10616
+ { "name": "icon", "type": "string" },
10617
+ { "name": "inline", "type": "boolean" }
10618
+ ],
10619
+ "events": []
10620
+ }
10621
+ },
10594
10622
  {
10595
10623
  "name": "zn-vertical-stepper",
10596
10624
  "description": "Vertical steppers display a sequence of steps in a vertical layout with descriptions and optional icons.\n---\n\n\n### **Slots:**\n - **icon** - Optional slot for adding an icon or indicator before the step content.\n\n### **CSS Parts:**\n - **vs** - The main container for the vertical stepper.\n- **vs__left** - The left section containing the icon and connecting line.\n- **vs__icon** - The icon container.\n- **vs__line** - The vertical connecting line between steps.\n- **vs__right** - The right section containing caption and description text.\n- **vs__caption** - The caption/title text element.\n- **vs__description** - The description text element.",
@@ -10659,24 +10687,6 @@
10659
10687
  ],
10660
10688
  "events": []
10661
10689
  }
10662
- },
10663
- {
10664
- "name": "zn-well",
10665
- "description": "Short summary of the component's intended use.\n---\n\n\n### **Slots:**\n - _default_ - The default slot.",
10666
- "doc-url": "",
10667
- "attributes": [
10668
- { "name": "icon", "value": { "type": "string", "default": "''" } },
10669
- { "name": "inline", "value": { "type": "boolean" } }
10670
- ],
10671
- "slots": [{ "name": "", "description": "The default slot." }],
10672
- "events": [],
10673
- "js": {
10674
- "properties": [
10675
- { "name": "icon", "type": "string" },
10676
- { "name": "inline", "type": "boolean" }
10677
- ],
10678
- "events": []
10679
- }
10680
10690
  }
10681
10691
  ]
10682
10692
  }
package/dist/zn.d.ts CHANGED
@@ -4487,6 +4487,29 @@ declare module "components/tab/index" {
4487
4487
  }
4488
4488
  }
4489
4489
  }
4490
+ declare module "components/tabs/tabs-navigation" {
4491
+ export const TAB_STORE_PREFIX = "zntab:";
4492
+ /** Scopes a store key to the current location, so each page keeps its own tab. */
4493
+ export function locationScopedKey(key: string): string;
4494
+ /**
4495
+ * Ends the visits to every location other than the one on screen, discarding
4496
+ * the tabs they were left showing. Called whenever the location may have
4497
+ * changed, so the only tabs ever remembered are the current page's.
4498
+ */
4499
+ export function endVisitsToOtherLocations(): void;
4500
+ /**
4501
+ * Whether the current location was reached in a way that should replay the tab
4502
+ * it was last left on: a reload, or a history traversal. A fresh navigation -
4503
+ * including a client side one to a location visited earlier - returns false.
4504
+ */
4505
+ export function isRestorableLocation(): boolean;
4506
+ /** The tab the current history entry was left showing, if it recorded one for the visit under way. */
4507
+ export function getHistoryTab(key: string): string | null;
4508
+ /** Adds a history entry for a tab change, making it its own Back step. */
4509
+ export function pushHistoryTab(key: string, tab: string): void;
4510
+ /** Records the tab on the current entry without adding a Back step. */
4511
+ export function replaceHistoryTab(key: string, tab: string): void;
4512
+ }
4490
4513
  declare module "components/tabs/tabs.component" {
4491
4514
  import { type CSSResultGroup, type PropertyValues } from 'lit';
4492
4515
  import { Store } from "internal/storage";
@@ -4540,12 +4563,24 @@ declare module "components/tabs/tabs.component" {
4540
4563
  private _tabs;
4541
4564
  private _actions;
4542
4565
  private _knownUri;
4566
+ private _defaultTab;
4543
4567
  private readonly hasSlotController;
4544
4568
  private readonly _domObserver;
4545
4569
  private readonly _monitorObserver;
4546
4570
  constructor();
4547
4571
  connectedCallback(): Promise<void>;
4572
+ disconnectedCallback(): void;
4548
4573
  monitorDom(): void;
4574
+ /** The key the active tab is persisted under. Null disables persistence. */
4575
+ protected getTabStoreKey(): string | null;
4576
+ protected getStoredTab(): string | null;
4577
+ protected storeActiveTab(tabName: string): void;
4578
+ protected restoreStoredTab(stored: string): void;
4579
+ /** Activates the tab the container starts on, ignoring any stored selection. */
4580
+ protected activateDefaultTab(): void;
4581
+ private readonly handlePopState;
4582
+ private pushTabHistory;
4583
+ private getUriForTabId;
4549
4584
  _addPanel(panel: HTMLElement): void;
4550
4585
  _addTab(tab: HTMLElement): void;
4551
4586
  reRegisterTabs: () => void;
@@ -4558,9 +4593,9 @@ declare module "components/tabs/tabs.component" {
4558
4593
  _createUriPanel(tabEle: Element, tabUri: string, tabId: string): HTMLDivElement;
4559
4594
  _handleClick(event: PointerEvent): void;
4560
4595
  fetchUriTab(target: HTMLElement): void;
4561
- clickTab(target: HTMLElement, refresh: boolean): void;
4596
+ clickTab(target: HTMLElement, refresh: boolean, pushHistory?: boolean): void;
4562
4597
  getRefTab(target: HTMLElement): string | null;
4563
- setActiveTab(tabName: string, store: boolean, refresh: boolean, refTab?: string | null): void;
4598
+ setActiveTab(tabName: string, store: boolean, refresh: boolean, refTab?: string | null, pushHistory?: boolean): void;
4564
4599
  _setTabEleActive(ele: Element, active: boolean): void;
4565
4600
  selectTab(tabName: string, refresh: boolean): boolean;
4566
4601
  getActiveTab(): Element[];
@@ -4625,6 +4660,7 @@ declare module "components/page/page.component" {
4625
4660
  private hasExpandingActions;
4626
4661
  private actionObserver;
4627
4662
  private tabObserver;
4663
+ private pageHistoryKey;
4628
4664
  connectedCallback(): Promise<void>;
4629
4665
  disconnectedCallback(): void;
4630
4666
  private handleAltPress;
@@ -4644,8 +4680,12 @@ declare module "components/page/page.component" {
4644
4680
  private handlePageScroll;
4645
4681
  updated(changedProperties: PropertyValues): void;
4646
4682
  private handleNavigationSelect;
4683
+ private getNavigationItemPage;
4647
4684
  private activateTab;
4648
4685
  private activateInitialPageTab;
4686
+ protected getTabStoreKey(): string;
4687
+ protected activateDefaultTab(): void;
4688
+ private getPageHistoryKey;
4649
4689
  private activateTabDefinition;
4650
4690
  private findNavItemForUri;
4651
4691
  private registerPagePanels;
@@ -4759,6 +4799,7 @@ declare module "components/icon-picker/icon-picker.component" {
4759
4799
  private handleFreeInput;
4760
4800
  private handleClear;
4761
4801
  private _handleTriggerClick;
4802
+ private _handleTriggerKeyDown;
4762
4803
  render(): import("lit-html").TemplateResult<1>;
4763
4804
  }
4764
4805
  }
@@ -10422,7 +10463,7 @@ declare module "components/page-builder/index" {
10422
10463
  }
10423
10464
  }
10424
10465
  declare module "components/preview-frame/preview-frame.component" {
10425
- import { type CSSResultGroup } from 'lit';
10466
+ import { type CSSResultGroup, type PropertyValues } from 'lit';
10426
10467
  import ZincElement from "internal/zinc-element";
10427
10468
  const DEVICE_WIDTHS: {
10428
10469
  readonly desktop: "100%";
@@ -10435,8 +10476,10 @@ declare module "components/preview-frame/preview-frame.component" {
10435
10476
  * protocol: answers the frame's ready handshake with a config payload fetched
10436
10477
  * from data-uri, auto-saves watched forms on change, refreshes the preview
10437
10478
  * after each save (its own, or a shell-driven save of a `refresh-on` form),
10438
- * and accepts a theme payload via setTheme() that is retained and replayed
10439
- * after every ready handshake.
10479
+ * accepts a theme payload via setTheme() that is retained and replayed
10480
+ * after every ready handshake, and grows the frame to a content height the
10481
+ * embed reports so the panel scrolls an overflowing page.
10482
+ *
10440
10483
  * @documentation https://zinc.style/components/preview-frame
10441
10484
  * @status experimental
10442
10485
  * @since 1.0
@@ -10506,17 +10549,41 @@ declare module "components/preview-frame/preview-frame.component" {
10506
10549
  device: PreviewFrameDevice;
10507
10550
  /** Backdrop behind the stage: `dots` (default) is the canvas dot grid; `panel` is a plain `rgb(var(--zn-panel))` fill. */
10508
10551
  backdrop: 'dots' | 'panel';
10552
+ /**
10553
+ * Lets pointer input through to the embedded page. The preview is inert by
10554
+ * default: clicks never reach the frame, so the previewed page can't be
10555
+ * navigated or submitted from inside the preview. Cross-origin content can't
10556
+ * be reached from here to cancel its own handlers, so this blocks pointer
10557
+ * input entirely — hover goes with it. Scrolling doesn't: an overflowing
10558
+ * page is scrolled by the panel rather than by the frame (see _contentHeight).
10559
+ */
10560
+ interactive: boolean;
10509
10561
  frame: HTMLIFrameElement;
10510
10562
  private error;
10563
+ /**
10564
+ * Height of the embedded page's content, when it's known: reported by the
10565
+ * embed (`height` on hp-preview:rendered, or an hp-preview:height message) or
10566
+ * measured directly for a same-origin embed. The frame is laid out at this
10567
+ * height rather than the panel's, so the page never scrolls inside the frame
10568
+ * — the panel scrolls instead, which is what makes an overflowing preview
10569
+ * reachable while pointer input to the frame is blocked. 0 = unknown, and the
10570
+ * frame falls back to filling the panel.
10571
+ */
10572
+ private _contentHeight;
10511
10573
  private _generation;
10512
10574
  private _theme;
10575
+ private _contentObserver;
10513
10576
  private readonly _watchedForms;
10514
10577
  private readonly _refreshForms;
10515
10578
  private readonly _debounceTimers;
10516
10579
  private readonly _formObserver;
10517
10580
  connectedCallback(): void;
10581
+ protected willUpdate(changed: PropertyValues<this>): void;
10518
10582
  disconnectedCallback(): void;
10519
10583
  private readonly _onMessage;
10584
+ private _applyContentHeight;
10585
+ private _resetContentHeight;
10586
+ private readonly _onFrameLoad;
10520
10587
  /** Re-fetches the payload and pushes a fresh config to the preview. */
10521
10588
  refresh(): Promise<void>;
10522
10589
  /**