@kubex/zinc 1.0.112 → 1.0.114

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.
Files changed (96) hide show
  1. package/.github/workflows/eleventy_build.yml +5 -5
  2. package/.github/workflows/js_build_and_deploy.yaml +1 -1
  3. package/dist/custom-elements.json +2417 -188
  4. package/dist/vscode.html-custom-data.json +85 -5
  5. package/dist/web-types.json +246 -9
  6. package/dist/zn.d.ts +519 -338
  7. package/dist/zn.min.css +1 -1
  8. package/dist/zn.min.js +944 -865
  9. package/docs/eleventy.config.cjs +4 -2
  10. package/docs/pages/components/header.md +13 -0
  11. package/docs/pages/components/inline-edit.md +20 -0
  12. package/docs/pages/components/item.md +12 -1
  13. package/docs/pages/components/page.md +149 -0
  14. package/docs/pages/components/progress-bar.md +16 -0
  15. package/docs/pages/components/select.md +25 -0
  16. package/docs/pages/components/split-pane.md +6 -7
  17. package/docs/pages/components/tabs.md +59 -9
  18. package/package.json +8 -5
  19. package/scripts/build.js +40 -19
  20. package/scss/_global-spacing.scss +12 -1
  21. package/scss/_root.scss +34 -2
  22. package/scss/shared/layout.scss +15 -2
  23. package/scss/themes/_light.scss +1 -1
  24. package/src/components/absolute-container/absolute-container.component.ts +9 -25
  25. package/src/components/animated-button/animated-button.test.ts +8 -8
  26. package/src/components/button/button.component.ts +3 -1
  27. package/src/components/button/button.scss +5 -0
  28. package/src/components/button-menu/button-menu.component.ts +36 -21
  29. package/src/components/button-menu/button-menu.test.ts +55 -1
  30. package/src/components/chart/builders.ts +2 -1
  31. package/src/components/chart/chart.component.ts +7 -7
  32. package/src/components/collapsible/collapsible.component.ts +7 -14
  33. package/src/components/cols/cols.scss +1 -1
  34. package/src/components/content-block/content-block.component.ts +11 -33
  35. package/src/components/data-select/data-select.component.ts +7 -11
  36. package/src/components/data-table/data-table.component.ts +10 -14
  37. package/src/components/editor/modules/toolbar/toolbar.component.ts +5 -9
  38. package/src/components/expanding-action/expanding-action.component.ts +37 -43
  39. package/src/components/form-group/form-group.component.ts +8 -3
  40. package/src/components/header/header.component.ts +6 -5
  41. package/src/components/header/header.scss +31 -25
  42. package/src/components/inline-edit/inline-edit.component.ts +13 -1
  43. package/src/components/inline-edit/inline-edit.test.ts +50 -0
  44. package/src/components/input/input.test.ts +77 -0
  45. package/src/components/input-group/input-group.test.ts +2 -10
  46. package/src/components/item/item.component.ts +12 -6
  47. package/src/components/item/item.scss +1 -1
  48. package/src/components/item/item.test.ts +8 -0
  49. package/src/components/navbar/navbar.component.ts +242 -40
  50. package/src/components/navbar/navbar.scss +134 -21
  51. package/src/components/navbar/navbar.test.ts +157 -1
  52. package/src/components/option/option.scss +5 -7
  53. package/src/components/option/option.test.ts +30 -0
  54. package/src/components/page/index.ts +13 -0
  55. package/src/components/page/page.component.ts +406 -0
  56. package/src/components/page/page.scss +325 -0
  57. package/src/components/page/page.test.ts +397 -0
  58. package/src/components/page-nav/page-nav.scss +7 -5
  59. package/src/components/pane/pane.component.ts +2 -2
  60. package/src/components/pane/pane.scss +0 -1
  61. package/src/components/pane/pane.test.ts +31 -0
  62. package/src/components/panel/panel.scss +1 -0
  63. package/src/components/progress-bar/progress-bar.component.ts +5 -2
  64. package/src/components/progress-bar/progress-bar.scss +17 -1
  65. package/src/components/progress-bar/progress-bar.test.ts +12 -0
  66. package/src/components/scroll-container/scroll-container.component.ts +22 -21
  67. package/src/components/select/select.component.ts +240 -38
  68. package/src/components/select/select.scss +15 -0
  69. package/src/components/select/select.test.ts +477 -0
  70. package/src/components/settings-container/settings-container.component.ts +15 -19
  71. package/src/components/settings-container/settings-container.scss +8 -8
  72. package/src/components/sidebar/sidebar.component.ts +11 -11
  73. package/src/components/simple-chart/simple-chart.component.ts +7 -7
  74. package/src/components/sp/sp.scss +46 -15
  75. package/src/components/sp/sp.test.ts +15 -0
  76. package/src/components/split-pane/split-pane.component.ts +153 -26
  77. package/src/components/split-pane/split-pane.scss +89 -13
  78. package/src/components/split-pane/split-pane.test.ts +187 -0
  79. package/src/components/style/style.component.ts +8 -0
  80. package/src/components/tab/index.ts +13 -0
  81. package/src/components/tab/tab.component.ts +25 -0
  82. package/src/components/tab/tab.scss +7 -0
  83. package/src/components/table/table.component.ts +7 -2
  84. package/src/components/tabs/tabs.component.ts +75 -70
  85. package/src/components/tabs/tabs.scss +1 -1
  86. package/src/components/textarea/textarea.component.ts +5 -8
  87. package/src/components/translation-group/translation-group.component.ts +15 -14
  88. package/src/components/translations/translations.component.ts +18 -17
  89. package/src/components/translations/translations.scss +1 -0
  90. package/src/components/translations/translations.test.ts +3 -2
  91. package/src/internal/form.ts +234 -0
  92. package/src/internal/theme.ts +26 -46
  93. package/src/internal/zinc-element.ts +12 -7
  94. package/src/utilities/form.ts +1 -0
  95. package/src/wc.scss +1 -1
  96. package/src/zinc.ts +3 -0
package/dist/zn.d.ts CHANGED
@@ -36,33 +36,10 @@ declare module "internal/tabbable" {
36
36
  export function getTabbableElements(root: HTMLElement | ShadowRoot): HTMLElement[];
37
37
  }
38
38
  declare module "internal/theme" {
39
- import type { ReactiveController, ReactiveControllerHost } from "lit";
40
- /**
41
- * ThemeController is a reactive controller that listens for theme changes
42
- * and updates the theme property on the host element.
43
- *
44
- * if you want to reflect the theme attribute to the host element, you can use
45
- * the following code:
46
- *
47
- * ```ts
48
- * import { ThemeController } from "@zinc/internal/theme";
49
- *
50
- * export default class MyElement extends HTMLElement {
51
- * @property({ reflect: true }) t = '';
52
- * ...
53
- * ```
54
- */
55
- export class ThemeController implements ReactiveController {
56
- host: ReactiveControllerHost & HTMLElement;
57
- t: string;
58
- constructor(host: ReactiveControllerHost & HTMLElement);
59
- hostConnected(): void;
60
- hostDisconnected(): void;
61
- handleThemeEventUpdate: (e: CustomEvent & {
62
- theme: string;
63
- }) => void;
64
- getDefaultTheme: () => void;
65
- }
39
+ import { SignalWatcher } from '@lit-labs/signals';
40
+ export const themeSignal: import("@lit-labs/signals").Signal.State<string>;
41
+ export function installThemeListener(): void;
42
+ export { SignalWatcher };
66
43
  }
67
44
  declare module "internal/event" {
68
45
  export type EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>> ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>> ? never : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail'] ? never : T : never : never;
@@ -82,12 +59,14 @@ declare module "internal/event" {
82
59
  export function waitForEvent(el: HTMLElement, eventName: string): Promise<void>;
83
60
  }
84
61
  declare module "internal/zinc-element" {
85
- import { LitElement } from "lit";
62
+ import { LitElement, type PropertyValues } from "lit";
86
63
  import type { EventTypeDoesNotRequireDetail, EventTypeRequiresDetail, EventTypesWithoutRequiredDetail, EventTypesWithRequiredDetail, GetCustomEventType, ZincEventInit } from "internal/event";
87
- export default class ZincElement extends LitElement {
64
+ const ZincElement_base: typeof LitElement & (new (...args: any[]) => import("@lit-labs/signals").SignalWatcherApi);
65
+ export default class ZincElement extends ZincElement_base {
88
66
  dir: string;
89
67
  lang: string;
90
68
  t: string;
69
+ protected willUpdate(changed: PropertyValues): void;
91
70
  static define(name: string, elementConstructor?: typeof ZincElement, options?: ElementDefinitionOptions): void;
92
71
  static dependencies: Record<string, typeof ZincElement>;
93
72
  constructor();
@@ -101,6 +80,7 @@ declare module "internal/zinc-element" {
101
80
  defaultValue?: unknown;
102
81
  defaultChecked?: boolean;
103
82
  form?: string;
83
+ storeKey?: string;
104
84
  pattern?: string;
105
85
  min?: number | string | Date;
106
86
  max?: number | string | Date;
@@ -142,11 +122,26 @@ declare module "internal/form-navigation" {
142
122
  */
143
123
  export function getFormNavigationController(form: HTMLFormElement): FormNavigationController;
144
124
  }
125
+ declare module "internal/storage" {
126
+ export class Store {
127
+ storage: Storage;
128
+ prefix: string;
129
+ ttl: number;
130
+ constructor(storage: Storage, prefix: string, ttl?: number);
131
+ get(key: string): null | string;
132
+ stripTtl(value: string | null): null | string;
133
+ setWithTTL(key: string, value: string, ttl: number): void;
134
+ set(key: string, value: string): void;
135
+ remove(key: string): void;
136
+ cleanup(): void;
137
+ }
138
+ }
145
139
  declare module "internal/form" {
146
140
  import type { ReactiveController, ReactiveControllerHost } from "lit";
147
141
  import type { ZincFormControl } from "internal/zinc-element";
148
142
  import type Button from "components/button/index";
149
143
  export const formCollections: WeakMap<HTMLFormElement, Set<ZincFormControl>>;
144
+ export function clearFormStoreValues(formOrStoreKey: HTMLFormElement | string): void;
150
145
  export interface FormControlControllerOptions {
151
146
  /** A function that returns the form containing the form control. */
152
147
  form: (input: ZincFormControl) => HTMLFormElement | null;
@@ -190,6 +185,10 @@ declare module "internal/form" {
190
185
  private enableSubmit;
191
186
  private handleFormReset;
192
187
  private handleInteraction;
188
+ private attachFormPersistence;
189
+ private detachFormPersistence;
190
+ private restorePersistedValue;
191
+ private persistHostValue;
193
192
  private checkFormValidity;
194
193
  private reportFormValidity;
195
194
  private setUserInteracted;
@@ -460,7 +459,7 @@ declare module "components/popup/popup.component" {
460
459
  /** Forces the popup to recalculate and reposition itself. */
461
460
  reposition(): void;
462
461
  private updateHoverBridge;
463
- render(): import("lit").TemplateResult<1>;
462
+ render(): import("lit-html").TemplateResult<1>;
464
463
  }
465
464
  }
466
465
  declare module "components/popup/index" {
@@ -508,7 +507,7 @@ declare module "components/menu-item/submenu-controller" {
508
507
  private disableSubmenu;
509
508
  private updateSkidding;
510
509
  isExpanded(): boolean;
511
- renderSubmenu(): import("lit").TemplateResult<1>;
510
+ renderSubmenu(): import("lit-html").TemplateResult<1>;
512
511
  }
513
512
  }
514
513
  declare module "utilities/sha256" {
@@ -557,7 +556,7 @@ declare module "components/icon/icon.component" {
557
556
  connectedCallback(): void;
558
557
  private applyHashFragment;
559
558
  private normalizeRavatarEmail;
560
- render(): import("lit").TemplateResult<1>;
559
+ render(): import("lit-html").TemplateResult<1>;
561
560
  private getAvatarInitials;
562
561
  protected getColorForAvatar(avatarInitials: string): string;
563
562
  }
@@ -647,7 +646,7 @@ declare module "components/menu-item/menu-item.component" {
647
646
  getTextLabel(): string;
648
647
  isSubmenu(): boolean;
649
648
  private _isLink;
650
- render(): import("lit").TemplateResult;
649
+ render(): import("lit-html").TemplateResult;
651
650
  }
652
651
  }
653
652
  declare module "components/menu-item/index" {
@@ -787,7 +786,7 @@ declare module "components/dialog/dialog.component" {
787
786
  /** Hides the dialog. */
788
787
  hide(): void;
789
788
  private closeClickHandler;
790
- render(): import("lit").TemplateResult<1>;
789
+ render(): import("lit-html").TemplateResult<1>;
791
790
  }
792
791
  }
793
792
  declare module "components/dialog/index" {
@@ -865,7 +864,7 @@ declare module "components/confirm/confirm.component" {
865
864
  updateTriggers(): void;
866
865
  show: (event?: Event | undefined) => void;
867
866
  hide(): void;
868
- render(): import("lit").TemplateResult<1>;
867
+ render(): import("lit-html").TemplateResult<1>;
869
868
  submitDialog(): void;
870
869
  }
871
870
  }
@@ -929,7 +928,7 @@ declare module "components/tooltip/tooltip.component" {
929
928
  handleDisabledChange(): void;
930
929
  show(): Promise<void>;
931
930
  hide(): void;
932
- render(): import("lit").TemplateResult<1>;
931
+ render(): import("lit-html").TemplateResult<1>;
933
932
  }
934
933
  }
935
934
  declare module "components/tooltip/index" {
@@ -991,7 +990,7 @@ declare module "components/menu/menu.component" {
991
990
  * `tabindex="-1"` to all other items. This method must be called prior to setting focus on a menu item.
992
991
  */
993
992
  setCurrentItem(item: ZnMenuItem): void;
994
- render(): import("lit").TemplateResult<1>;
993
+ render(): import("lit-html").TemplateResult<1>;
995
994
  private handleClick;
996
995
  private handleKeyDown;
997
996
  private handleMouseDown;
@@ -1084,7 +1083,7 @@ declare module "components/dropdown/dropdown.component" {
1084
1083
  /** Aria related method */
1085
1084
  private updateAccessibleTrigger;
1086
1085
  handleOpenChange(): void;
1087
- render(): import("lit").TemplateResult<1>;
1086
+ render(): import("lit-html").TemplateResult<1>;
1088
1087
  }
1089
1088
  }
1090
1089
  declare module "components/dropdown/index" {
@@ -1148,6 +1147,7 @@ declare module "components/button/button.component" {
1148
1147
  disabled: boolean;
1149
1148
  grow: boolean;
1150
1149
  square: boolean;
1150
+ panelBackground: boolean;
1151
1151
  dropdownCloser: boolean;
1152
1152
  notification: number;
1153
1153
  mutedNotifications: boolean;
@@ -1223,12 +1223,9 @@ declare module "components/absolute-container/absolute-container.component" {
1223
1223
  *
1224
1224
  */
1225
1225
  export default class ZnAbsoluteContainer extends ZincElement {
1226
- private domObserver;
1227
- connectedCallback(): void;
1228
- disconnectedCallback(): void;
1226
+ constructor();
1229
1227
  protected firstUpdated(_changedProperties: PropertyValues): void;
1230
1228
  resize(): void;
1231
- observerDom(): void;
1232
1229
  createRenderRoot(): this;
1233
1230
  }
1234
1231
  }
@@ -1242,20 +1239,6 @@ declare module "components/absolute-container/index" {
1242
1239
  }
1243
1240
  }
1244
1241
  }
1245
- declare module "internal/storage" {
1246
- export class Store {
1247
- storage: Storage;
1248
- prefix: string;
1249
- ttl: number;
1250
- constructor(storage: Storage, prefix: string, ttl?: number);
1251
- get(key: string): null | string;
1252
- stripTtl(value: string | null): null | string;
1253
- setWithTTL(key: string, value: string, ttl: number): void;
1254
- set(key: string, value: string): void;
1255
- remove(key: string): void;
1256
- cleanup(): void;
1257
- }
1258
- }
1259
1242
  declare module "events/zn-input" {
1260
1243
  export type ZnInputEvent = CustomEvent<Record<PropertyKey, never>>;
1261
1244
  global {
@@ -1325,7 +1308,7 @@ declare module "components/toggle/toggle.component" {
1325
1308
  getForm(): HTMLFormElement | null;
1326
1309
  reportValidity(): boolean;
1327
1310
  setCustomValidity(message: string): void;
1328
- render(): import("lit").TemplateResult<1>;
1311
+ render(): import("lit-html").TemplateResult<1>;
1329
1312
  }
1330
1313
  }
1331
1314
  declare module "components/toggle/index" {
@@ -1370,15 +1353,14 @@ declare module "components/collapsible/collapsible.component" {
1370
1353
  numberOfItems: number;
1371
1354
  protected _store: Store;
1372
1355
  private readonly hasSlotController;
1373
- private observer;
1356
+ private readonly observer;
1374
1357
  private showArrow;
1375
1358
  connectedCallback(): Promise<void>;
1376
1359
  handleCaptionToggle: (e: ZnInputEvent) => void;
1377
1360
  protected updated(changedProperties: PropertyValues): void;
1378
- disconnectedCallback(): void;
1379
1361
  handleCollapse: (e: MouseEvent) => void;
1380
1362
  recalculateNumberOfItems: () => void;
1381
- render(): import("lit").TemplateResult<1>;
1363
+ render(): import("lit-html").TemplateResult<1>;
1382
1364
  }
1383
1365
  }
1384
1366
  declare module "components/collapsible/index" {
@@ -1418,7 +1400,7 @@ declare module "components/alert/alert.component" {
1418
1400
  collapse: boolean;
1419
1401
  level: 'primary' | 'error' | 'info' | 'success' | 'warning' | 'note' | 'cosmic';
1420
1402
  size: 'small' | 'medium' | 'large';
1421
- render(): import("lit").TemplateResult<1>;
1403
+ render(): import("lit-html").TemplateResult<1>;
1422
1404
  hideAlert(): void;
1423
1405
  }
1424
1406
  }
@@ -1461,7 +1443,7 @@ declare module "components/button-group/button-group.component" {
1461
1443
  gap: boolean;
1462
1444
  defaultSlot: HTMLSlotElement;
1463
1445
  private handleSlotChange;
1464
- render(): import("lit").TemplateResult<1>;
1446
+ render(): import("lit-html").TemplateResult<1>;
1465
1447
  }
1466
1448
  }
1467
1449
  declare module "components/button-group/index" {
@@ -1505,7 +1487,7 @@ declare module "components/chip/chip.component" {
1505
1487
  flushX: boolean;
1506
1488
  flushY: boolean;
1507
1489
  private readonly hasSlotController;
1508
- render(): import("lit").TemplateResult<1>;
1490
+ render(): import("lit-html").TemplateResult<1>;
1509
1491
  }
1510
1492
  }
1511
1493
  declare module "components/chip/index" {
@@ -1534,7 +1516,7 @@ declare module "components/well/well.component" {
1534
1516
  icon: string;
1535
1517
  inline: boolean;
1536
1518
  private readonly hasSlotController;
1537
- render(): import("lit").TemplateResult<1>;
1519
+ render(): import("lit-html").TemplateResult<1>;
1538
1520
  }
1539
1521
  }
1540
1522
  declare module "components/well/index" {
@@ -1587,7 +1569,7 @@ declare module "components/copy-button/copy-button.component" {
1587
1569
  * append a dot and the property name, e.g. `from="el.value"`.
1588
1570
  */
1589
1571
  from: string;
1590
- render(): import("lit").TemplateResult<1>;
1572
+ render(): import("lit-html").TemplateResult<1>;
1591
1573
  private showStatus;
1592
1574
  private handleCopy;
1593
1575
  }
@@ -1659,7 +1641,7 @@ declare module "components/data-table-filter/data-table-filter.component" {
1659
1641
  handleQBReset: () => void;
1660
1642
  handleQBUpdate: () => void;
1661
1643
  closeSlideout(): void;
1662
- render(): import("lit").TemplateResult<1>;
1644
+ render(): import("lit-html").TemplateResult<1>;
1663
1645
  }
1664
1646
  }
1665
1647
  declare module "components/data-table-filter/index" {
@@ -1884,7 +1866,7 @@ declare module "components/input/input.component" {
1884
1866
  reportValidity(): boolean;
1885
1867
  /** Sets a custom validation message. Pass an empty string to restore validity. */
1886
1868
  setCustomValidity(message: string): void;
1887
- render(): import("lit").TemplateResult<1>;
1869
+ render(): import("lit-html").TemplateResult<1>;
1888
1870
  }
1889
1871
  }
1890
1872
  declare module "components/input/index" {
@@ -1993,7 +1975,7 @@ declare module "components/option/option.component" {
1993
1975
  handleSelectedChange(): void;
1994
1976
  /** Returns a plain text label based on the option's content. */
1995
1977
  getTextLabel(): string;
1996
- render(): import("lit").TemplateResult<1>;
1978
+ render(): import("lit-html").TemplateResult<1>;
1997
1979
  }
1998
1980
  }
1999
1981
  declare module "components/option/index" {
@@ -2103,7 +2085,7 @@ declare module "components/opt-group/opt-group.component" {
2103
2085
  handleDisabledChange(): void;
2104
2086
  /** @internal - Updates visibility of the group based on whether any child options are visible. */
2105
2087
  updateVisibility(): void;
2106
- render(): import("lit").TemplateResult<1>;
2088
+ render(): import("lit-html").TemplateResult<1>;
2107
2089
  private handleSlotChange;
2108
2090
  private propagateDisabled;
2109
2091
  }
@@ -2219,10 +2201,13 @@ declare module "components/select/select.component" {
2219
2201
  private inputPrefix;
2220
2202
  /** @internal - current search/filter text when search is enabled (lowercased for matching) */
2221
2203
  private _searchQuery;
2222
- /** @internal - raw display value of the search input (preserves case for the input field) */
2204
+ /** @internal - raw display value of the search input (preserves case for the input field). Reactive so the
2205
+ * free-text "Add" row re-renders on every keystroke, not just when the match/no-match state changes. */
2223
2206
  private _searchDisplayValue;
2224
2207
  /** @internal - whether the "no matching options" empty state is visible */
2225
2208
  private _noResultsVisible;
2209
+ /** @internal - whether the free-text "Add" row is the active keyboard-navigation target */
2210
+ private _addOptionActive;
2226
2211
  /** @internal */
2227
2212
  private _fetchedOptions;
2228
2213
  /** @internal */
@@ -2290,6 +2275,13 @@ declare module "components/select/select.component" {
2290
2275
  pill: boolean;
2291
2276
  /** Enables search/filter functionality. When enabled, the user can type into the select to filter the visible options. */
2292
2277
  search: boolean;
2278
+ /**
2279
+ * Allows the user to enter values that are not in the options list ("free text"). Implies the editable,
2280
+ * filtering input behavior of `search`. A typed value that doesn't match an existing option is committed
2281
+ * by pressing Enter, clicking the "Add" row, or blurring the field, and becomes a selected option — a tag
2282
+ * when `multiple` is enabled. The committed value is both the option's value and its label.
2283
+ */
2284
+ freeText: boolean;
2293
2285
  /** The select's label. If you need to display HTML, use the `label` slot instead. */
2294
2286
  label: string;
2295
2287
  /** Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead. */
@@ -2375,12 +2367,40 @@ declare module "components/select/select.component" {
2375
2367
  private handleClearMouseDown;
2376
2368
  /** Whether the component is in remote-search mode (search + dataUri both set) */
2377
2369
  private get _isRemoteSearch();
2370
+ /** Whether the display input is editable and filters options (search or free-text). */
2371
+ private get _isTypeable();
2378
2372
  /** Handles text input on the display input for search/filter mode */
2379
2373
  private handleSearchInput;
2380
2374
  /** Filters visible options based on the current search query */
2381
2375
  private filterOptions;
2382
2376
  /** Clears the search query and shows all options */
2383
2377
  private clearSearch;
2378
+ /**
2379
+ * Commits the current typed text as a selected value when `free-text` is enabled. A selected `<zn-option>`
2380
+ * (value = label = trimmed text) is created in the light DOM so the value flows through the existing
2381
+ * tag/value/selection machinery and appears as a deselectable row in the listbox. Returns `true` when
2382
+ * something was committed, `false` when there was nothing to commit.
2383
+ */
2384
+ private commitFreeText;
2385
+ /**
2386
+ * The trimmed pending text to offer as a free-text "Add" row, or `null` when no Add row should be shown
2387
+ * (free-text disabled, dropdown closed, input empty, or the text exactly matches an existing option).
2388
+ */
2389
+ private get _freeTextAddValue();
2390
+ /** Commits the typed value when the "Add" row is pressed, keeping focus on the input. */
2391
+ private handleAddOptionMouseDown;
2392
+ /**
2393
+ * In free-text mode, creates a hidden `<zn-option>` for any value that has no matching option, so values
2394
+ * set via the `value`/`defaultValue` attribute (e.g. previously-saved custom entries) render as tags or
2395
+ * the display value on load. No-op when free-text is disabled.
2396
+ */
2397
+ private _materialiseFreeTextValues;
2398
+ /**
2399
+ * Creates a free-text-marked `<zn-option>` in the light DOM (value = label) and returns it. The option is
2400
+ * a normal, visible, selectable row so the user can deselect a custom value from the dropdown like any
2401
+ * other option; the `data-free-text` marker lets us drop it from the DOM once it's no longer selected.
2402
+ */
2403
+ private _createFreeTextOption;
2384
2404
  private handleOptionClick;
2385
2405
  private handleDefaultSlotChange;
2386
2406
  private handleTagRemove;
@@ -2532,7 +2552,7 @@ declare module "components/data-select/data-select.component" {
2532
2552
  distinct: string;
2533
2553
  conditional: string;
2534
2554
  protected readonly formControlController: FormControlController;
2535
- private selectObserver?;
2555
+ private readonly selectObserver;
2536
2556
  get validationMessage(): string;
2537
2557
  get validity(): ValidityState;
2538
2558
  constructor();
@@ -2550,7 +2570,7 @@ declare module "components/data-select/data-select.component" {
2550
2570
  handleClear: () => void;
2551
2571
  getLocalProvider(name: string): LocalDataProvider<DataProviderOption>;
2552
2572
  blur: () => void;
2553
- protected render(): import("lit").TemplateResult<1>;
2573
+ protected render(): import("lit-html").TemplateResult<1>;
2554
2574
  private _updatePrefix;
2555
2575
  private _updateIconEmptyState;
2556
2576
  private getPlaceholder;
@@ -2680,7 +2700,7 @@ declare module "components/query-builder/query-builder.component" {
2680
2700
  get validationMessage(): string;
2681
2701
  get validity(): ValidityState;
2682
2702
  protected firstUpdated(_changedProperties: PropertyValues): void;
2683
- render(): import("lit").TemplateResult<1>;
2703
+ render(): import("lit-html").TemplateResult<1>;
2684
2704
  private _handleChange;
2685
2705
  private _addRule;
2686
2706
  private _createInput;
@@ -2771,7 +2791,7 @@ declare module "components/data-table-search/data-table-search.component" {
2771
2791
  * Emit the search change event with form data
2772
2792
  */
2773
2793
  private emitSearchChange;
2774
- render(): import("lit").TemplateResult<1>;
2794
+ render(): import("lit-html").TemplateResult<1>;
2775
2795
  }
2776
2796
  }
2777
2797
  declare module "components/data-table-search/index" {
@@ -2812,7 +2832,7 @@ declare module "components/empty-state/empty-state.component" {
2812
2832
  type: 'error' | 'info' | 'primary' | '';
2813
2833
  padded: boolean;
2814
2834
  private readonly hasSlotController;
2815
- render(): import("lit").TemplateResult<1>;
2835
+ render(): import("lit-html").TemplateResult<1>;
2816
2836
  }
2817
2837
  }
2818
2838
  declare module "components/empty-state/index" {
@@ -2875,7 +2895,7 @@ declare module "components/hover-container/hover-container.component" {
2875
2895
  handleDisabledChange(): void;
2876
2896
  show(): Promise<void>;
2877
2897
  hide(): void;
2878
- render(): import("lit").TemplateResult<1>;
2898
+ render(): import("lit-html").TemplateResult<1>;
2879
2899
  }
2880
2900
  }
2881
2901
  declare module "components/hover-container/index" {
@@ -2942,6 +2962,7 @@ declare module "components/style/style.component" {
2942
2962
  height: string;
2943
2963
  pad: string;
2944
2964
  margin: string;
2965
+ gutter: boolean;
2945
2966
  autoMargin: string;
2946
2967
  connectedCallback(): void;
2947
2968
  createRenderRoot(): this;
@@ -3114,7 +3135,7 @@ declare module "components/data-table/data-table.component" {
3114
3135
  selectAllButton: ZnButton;
3115
3136
  private _initialLoad;
3116
3137
  private _lastTableContent;
3117
- private resizeObserver;
3138
+ private readonly resizeObserver;
3118
3139
  private itemsPerPage;
3119
3140
  private page;
3120
3141
  private totalPages;
@@ -3217,7 +3238,7 @@ declare module "components/cols/cols.component" {
3217
3238
  divide: boolean;
3218
3239
  padX: boolean;
3219
3240
  padY: boolean;
3220
- render(): import("lit").TemplateResult<1>;
3241
+ render(): import("lit-html").TemplateResult<1>;
3221
3242
  }
3222
3243
  }
3223
3244
  declare module "components/cols/index" {
@@ -3373,7 +3394,7 @@ declare module "components/tile/tile.component" {
3373
3394
  inline: boolean;
3374
3395
  private _isLink;
3375
3396
  private _handleActionsClick;
3376
- render(): import("lit").TemplateResult;
3397
+ render(): import("lit-html").TemplateResult;
3377
3398
  }
3378
3399
  }
3379
3400
  declare module "components/tile/index" {
@@ -3411,7 +3432,7 @@ declare module "components/tile-property/tile-property.component" {
3411
3432
  caption: string;
3412
3433
  description: string;
3413
3434
  icon: string;
3414
- render(): import("lit").TemplateResult<1>;
3435
+ render(): import("lit-html").TemplateResult<1>;
3415
3436
  }
3416
3437
  }
3417
3438
  declare module "components/tile-property/index" {
@@ -3489,8 +3510,8 @@ declare module "components/chart/chart.component" {
3489
3510
  smooth: boolean;
3490
3511
  scale: boolean | number;
3491
3512
  private chart?;
3492
- private resizeObserver?;
3493
3513
  private liveTimer?;
3514
+ private readonly resizeObserver;
3494
3515
  protected firstUpdated(_changedProperties: PropertyValues): void;
3495
3516
  private getTheme;
3496
3517
  private getTextColor;
@@ -3531,10 +3552,10 @@ declare module "components/simple-chart/simple-chart.component" {
3531
3552
  labels?: string[];
3532
3553
  enableAnimations: boolean | number;
3533
3554
  private chart?;
3534
- private resizeObserver?;
3555
+ private readonly resizeObserver;
3535
3556
  firstUpdated(): void;
3536
3557
  disconnectedCallback(): void;
3537
- render(): import("lit").TemplateResult<1>;
3558
+ render(): import("lit-html").TemplateResult<1>;
3538
3559
  }
3539
3560
  }
3540
3561
  declare module "components/simple-chart/index" {
@@ -3574,7 +3595,8 @@ declare module "components/navbar/navbar.component" {
3574
3595
  * @event zn-event-name - Emitted as an example.
3575
3596
  *
3576
3597
  * @slot - The default slot.
3577
- * @slot example - An example slot.
3598
+ * @slot expand - Expanding action panels rendered alongside the navbar items.
3599
+ * @slot bottom - Content rendered below the navbar row (e.g. chips, filters).
3578
3600
  *
3579
3601
  * @csspart base - The component's base wrapper.
3580
3602
  *
@@ -3606,23 +3628,42 @@ declare module "components/navbar/navbar.component" {
3606
3628
  private _appended;
3607
3629
  private _expanding;
3608
3630
  private _openedTabs;
3609
- private resizeObserver;
3631
+ private readonly _itemsObserver;
3610
3632
  private _navItems;
3611
3633
  private _expandable;
3612
3634
  private _extendedMenu;
3635
+ private readonly _cloneSources;
3613
3636
  private _navItemsGap;
3614
3637
  private _expandableMargin;
3615
3638
  private _totalItemWidth;
3639
+ private _resizeFrame;
3640
+ private _resizeController;
3616
3641
  protected _store: Store;
3617
3642
  appendItem(item: Element): void;
3643
+ addExpandingAction(action: Element): void;
3644
+ constructor();
3645
+ private readonly _expandingActionObserver;
3646
+ private _scheduleResize;
3647
+ private _observeExpandingAction;
3648
+ private _adoptNewLightItems;
3618
3649
  connectedCallback(): void;
3650
+ private _updateVisibility;
3651
+ itemCount(): number;
3652
+ private _resolveAvailableWidth;
3653
+ private _measureTotalItemWidth;
3654
+ private _getItemWidth;
3655
+ private _getHorizontalSpacing;
3656
+ private _getMoreItemWidth;
3657
+ private _getExpandableWidth;
3619
3658
  handleResize: () => void;
3659
+ private _syncExtendedActive;
3620
3660
  addItem(item: Element, persist?: boolean): void;
3621
3661
  protected firstUpdated(_changedProperties: PropertyValues): void;
3622
3662
  private _loadStoredTabs;
3623
3663
  private _saveTabToStorage;
3624
3664
  private handleClick;
3625
- render(): import("lit").TemplateResult<1>;
3665
+ protected updated(_changedProperties: PropertyValues): void;
3666
+ render(): import("lit-html").TemplateResult<1>;
3626
3667
  }
3627
3668
  }
3628
3669
  declare module "components/navbar/index" {
@@ -3669,6 +3710,7 @@ declare module "components/header/header.component" {
3669
3710
  fullWidth: boolean;
3670
3711
  previousPath: string;
3671
3712
  previousTarget: string;
3713
+ hideBreadcrumb: boolean;
3672
3714
  private navbar;
3673
3715
  connectedCallback(): void;
3674
3716
  disconnectedCallback(): void;
@@ -3676,7 +3718,7 @@ declare module "components/header/header.component" {
3676
3718
  handleAltPress: () => void;
3677
3719
  handleAltUp: () => void;
3678
3720
  updateNav(): void;
3679
- render(): import("lit").TemplateResult<1>;
3721
+ render(): import("lit-html").TemplateResult<1>;
3680
3722
  }
3681
3723
  }
3682
3724
  declare module "components/header/index" {
@@ -3689,6 +3731,282 @@ declare module "components/header/index" {
3689
3731
  }
3690
3732
  }
3691
3733
  }
3734
+ declare module "utilities/md5" {
3735
+ export function md5(string: string): string;
3736
+ }
3737
+ declare module "components/expanding-action/expanding-action.component" {
3738
+ import { type CSSResultGroup, type PropertyValues } from 'lit';
3739
+ import ZincElement from "internal/zinc-element";
3740
+ /**
3741
+ * @summary Short summary of the component's intended use.
3742
+ * @documentation https://zinc.style/components/expanding-action
3743
+ * @status experimental
3744
+ * @since 1.0
3745
+ *
3746
+ * @dependency zn-example
3747
+ *
3748
+ * @event zn-event-name - Emitted as an example.
3749
+ *
3750
+ * @slot - The default slot.
3751
+ * @slot example - An example slot.
3752
+ *
3753
+ * @csspart base - The component's base wrapper.
3754
+ *
3755
+ * @cssproperty --example - An example CSS custom property.
3756
+ */
3757
+ export default class ZnExpandingAction extends ZincElement {
3758
+ static styles: CSSResultGroup;
3759
+ icon: string;
3760
+ method: 'drop' | 'fill';
3761
+ contextUri: string;
3762
+ count: string;
3763
+ color: string;
3764
+ prefetch: boolean;
3765
+ basis: string;
3766
+ maxHeight: string;
3767
+ open: boolean;
3768
+ masterId: string;
3769
+ fetchStyle: string;
3770
+ noPrefetch: boolean;
3771
+ private _panel;
3772
+ private _panels;
3773
+ private _knownUri;
3774
+ private _actions;
3775
+ private _preload;
3776
+ private _metaObserved;
3777
+ private readonly _countObserver;
3778
+ private readonly _colorObserver;
3779
+ constructor();
3780
+ connectedCallback(): Promise<void>;
3781
+ firstUpdated(_changedProperties: PropertyValues): void;
3782
+ _observeMetaData(): void;
3783
+ _registerActions(): void;
3784
+ _addAction(action: HTMLElement): void;
3785
+ _uriToId(actionUri: string): string;
3786
+ _handleClick(event: PointerEvent): void;
3787
+ _createUriPanel(actionEle: Element, actionUri: string, actionId: string): HTMLDivElement;
3788
+ fetchUri(target: HTMLElement): void;
3789
+ fetchContextHeaders(): Promise<void>;
3790
+ clickAction(target: HTMLElement): void;
3791
+ handleIconClicked: () => void;
3792
+ handleIconCloseClicked: () => void;
3793
+ render(): import("lit-html").TemplateResult<1>;
3794
+ protected renderDropdown(): import("lit-html").TemplateResult<1>;
3795
+ protected renderFill(): import("lit-html").TemplateResult<1>;
3796
+ }
3797
+ }
3798
+ declare module "components/expanding-action/index" {
3799
+ import ZnExpandingAction from "components/expanding-action/expanding-action.component";
3800
+ export * from "components/expanding-action/expanding-action.component";
3801
+ export default ZnExpandingAction;
3802
+ global {
3803
+ interface HTMLElementTagNameMap {
3804
+ 'zn-expanding-action': ZnExpandingAction;
3805
+ }
3806
+ }
3807
+ }
3808
+ declare module "components/tab/tab.component" {
3809
+ import { type CSSResultGroup } from 'lit';
3810
+ import ZincElement from "internal/zinc-element";
3811
+ /**
3812
+ * @summary Defines a tab panel for use inside zn-page.
3813
+ * @documentation https://zinc.style/components/tab
3814
+ * @status experimental
3815
+ * @since 1.0
3816
+ *
3817
+ * @slot - The tab panel content.
3818
+ */
3819
+ export default class ZnTab extends ZincElement {
3820
+ static styles: CSSResultGroup;
3821
+ caption: string;
3822
+ priority: number;
3823
+ uri: string;
3824
+ render(): import("lit-html").TemplateResult<1>;
3825
+ }
3826
+ }
3827
+ declare module "components/tab/index" {
3828
+ import ZnTab from "components/tab/tab.component";
3829
+ export * from "components/tab/tab.component";
3830
+ export default ZnTab;
3831
+ global {
3832
+ interface HTMLElementTagNameMap {
3833
+ 'zn-tab': ZnTab;
3834
+ }
3835
+ }
3836
+ }
3837
+ declare module "components/tabs/tabs.component" {
3838
+ import { type CSSResultGroup, type PropertyValues } from 'lit';
3839
+ import { Store } from "internal/storage";
3840
+ import ZincElement from "internal/zinc-element";
3841
+ /**
3842
+ * @summary Short summary of the component's intended use.
3843
+ * @documentation https://zinc.style/components/tabs
3844
+ * @status experimental
3845
+ * @since 1.0
3846
+ *
3847
+ * @dependency zn-example
3848
+ *
3849
+ * @event zn-event-name - Emitted as an example.
3850
+ *
3851
+ * @slot - The default slot.
3852
+ * @slot example - An example slot.
3853
+ *
3854
+ * @csspart base - The component's base wrapper.
3855
+ *
3856
+ * @cssproperty --example - An example CSS custom property.
3857
+ */
3858
+ export default class ZnTabs extends ZincElement {
3859
+ static styles: CSSResultGroup;
3860
+ masterId: string;
3861
+ defaultUri: string;
3862
+ _current: string;
3863
+ _split: number;
3864
+ _splitMin: number;
3865
+ _splitMinSecondary: number;
3866
+ _splitMax: number;
3867
+ primaryCaption: string;
3868
+ secondaryCaption: string;
3869
+ noPrefetch: boolean;
3870
+ noCache: boolean;
3871
+ localStorage: boolean;
3872
+ storeKey: string;
3873
+ storeTtl: number;
3874
+ padded: boolean;
3875
+ fetchStyle: string;
3876
+ fullWidth: boolean;
3877
+ paddedRight: boolean;
3878
+ monitor: string;
3879
+ caption: string;
3880
+ description: string;
3881
+ protected preload: boolean;
3882
+ protected _store: Store;
3883
+ protected _activeClicks: number;
3884
+ private _panel;
3885
+ private _panels;
3886
+ private _activeTab;
3887
+ private _tabs;
3888
+ private _actions;
3889
+ private _knownUri;
3890
+ private readonly hasSlotController;
3891
+ private readonly _domObserver;
3892
+ private readonly _monitorObserver;
3893
+ constructor();
3894
+ connectedCallback(): Promise<void>;
3895
+ monitorDom(): void;
3896
+ _addPanel(panel: HTMLElement): void;
3897
+ _addTab(tab: HTMLElement): void;
3898
+ reRegisterTabs: () => void;
3899
+ firstUpdated(_changedProperties: PropertyValues): void;
3900
+ switchTab(inc: number): void;
3901
+ nextTab(): void;
3902
+ previousTab(): void;
3903
+ _prepareTab(tabId: string): void;
3904
+ _uriToId(tabUri: string): string;
3905
+ _createUriPanel(tabEle: Element, tabUri: string, tabId: string): HTMLDivElement;
3906
+ _handleClick(event: PointerEvent): void;
3907
+ fetchUriTab(target: HTMLElement): void;
3908
+ clickTab(target: HTMLElement, refresh: boolean): void;
3909
+ getRefTab(target: HTMLElement): string | null;
3910
+ setActiveTab(tabName: string, store: boolean, refresh: boolean, refTab?: string | null): void;
3911
+ _setTabEleActive(ele: Element, active: boolean): void;
3912
+ selectTab(tabName: string, refresh: boolean): boolean;
3913
+ getActiveTab(): Element[];
3914
+ observerDom(): void;
3915
+ removeTabAndPanel(tabId: string): void;
3916
+ _registerTabs: () => void;
3917
+ render(): import("lit-html").TemplateResult<1>;
3918
+ }
3919
+ }
3920
+ declare module "components/tabs/index" {
3921
+ import ZnTabs from "components/tabs/tabs.component";
3922
+ export * from "components/tabs/tabs.component";
3923
+ export default ZnTabs;
3924
+ global {
3925
+ interface HTMLElementTagNameMap {
3926
+ 'zn-tabs': ZnTabs;
3927
+ }
3928
+ }
3929
+ }
3930
+ declare module "components/page/page.component" {
3931
+ import { type CSSResultGroup, type PropertyValues } from 'lit';
3932
+ import ZnButton from "components/button/index";
3933
+ import ZnCopyButton from "components/copy-button/index";
3934
+ import ZnExpandingAction from "components/expanding-action/index";
3935
+ import ZnIcon from "components/icon/index";
3936
+ import ZnNavbar from "components/navbar/index";
3937
+ import ZnTab from "components/tab/index";
3938
+ import ZnTabs from "components/tabs/index";
3939
+ /**
3940
+ * @summary Combines a page header with tab navigation and tab panels.
3941
+ * @documentation https://zinc.style/components/page
3942
+ * @status experimental
3943
+ * @since 1.0
3944
+ *
3945
+ * @slot - Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.
3946
+ * @slot bottom - Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom slot.
3947
+ */
3948
+ export default class ZnPage extends ZnTabs {
3949
+ static styles: CSSResultGroup;
3950
+ static dependencies: {
3951
+ 'zn-button': typeof ZnButton;
3952
+ 'zn-copy-button': typeof ZnCopyButton;
3953
+ 'zn-expanding-action': typeof ZnExpandingAction;
3954
+ 'zn-icon': typeof ZnIcon;
3955
+ 'zn-navbar': typeof ZnNavbar;
3956
+ 'zn-tab': typeof ZnTab;
3957
+ };
3958
+ private readonly pageSlotController;
3959
+ caption: string;
3960
+ entityId: string;
3961
+ entityIdShow: boolean;
3962
+ fullLocation: string;
3963
+ modal: boolean;
3964
+ nested: boolean;
3965
+ primary: boolean;
3966
+ previousPath: string;
3967
+ previousTarget: string;
3968
+ summary: string;
3969
+ private scrolled;
3970
+ private tabDefinitions;
3971
+ private hasExpandingActions;
3972
+ private actionObserver;
3973
+ private tabObserver;
3974
+ connectedCallback(): Promise<void>;
3975
+ disconnectedCallback(): void;
3976
+ private handleAltPress;
3977
+ private handleAltUp;
3978
+ _registerTabs: () => void;
3979
+ firstUpdated(changedProperties: PropertyValues): void;
3980
+ private getOwnExpandingActions;
3981
+ private getNavbar;
3982
+ private refreshExpandingActionsState;
3983
+ private syncExpandingActionsToNavbar;
3984
+ private prepareTabs;
3985
+ private parsePriority;
3986
+ private compareTabs;
3987
+ private captionToId;
3988
+ private uniqueId;
3989
+ private handlePageScroll;
3990
+ updated(changedProperties: PropertyValues): void;
3991
+ private handleNavigationSelect;
3992
+ private activateTab;
3993
+ private activateInitialPageTab;
3994
+ private registerPagePanels;
3995
+ private registerPageNavigationTabs;
3996
+ private syncNavigationActive;
3997
+ render(): import("lit-html").TemplateResult<1>;
3998
+ }
3999
+ }
4000
+ declare module "components/page/index" {
4001
+ import ZnPage from "components/page/page.component";
4002
+ export * from "components/page/page.component";
4003
+ export default ZnPage;
4004
+ global {
4005
+ interface HTMLElementTagNameMap {
4006
+ 'zn-page': ZnPage;
4007
+ }
4008
+ }
4009
+ }
3692
4010
  declare module "components/icon-picker/brand-icons" {
3693
4011
  export const brandIcons: string[];
3694
4012
  }
@@ -3768,7 +4086,7 @@ declare module "components/icon-picker/icon-picker.component" {
3768
4086
  private handleClear;
3769
4087
  private _handleTriggerClick;
3770
4088
  private _handleTriggerKeyDown;
3771
- render(): import("lit").TemplateResult<1>;
4089
+ render(): import("lit-html").TemplateResult<1>;
3772
4090
  }
3773
4091
  }
3774
4092
  declare module "components/icon-picker/index" {
@@ -3847,6 +4165,11 @@ declare module "components/inline-edit/inline-edit.component" {
3847
4165
  contextData: string;
3848
4166
  /** Enables search/filtering on select inputs. */
3849
4167
  search: boolean;
4168
+ /**
4169
+ * Allows entering values that aren't in the options list on select inputs ("free text"). Setting this implies
4170
+ * `input-type="select"` (unless a data `provider` is used) and forwards the behavior to the inner `<zn-select>`.
4171
+ */
4172
+ freeText: boolean;
3850
4173
  /** The input's help text. If you need to display HTML, use the `help-text` slot instead. **/
3851
4174
  helpText: string;
3852
4175
  /** The text direction for the input (ltr or rtl) **/
@@ -3885,7 +4208,7 @@ declare module "components/inline-edit/inline-edit.component" {
3885
4208
  handleInput: (e: Event) => void;
3886
4209
  private moveSlottedOptionsToSelect;
3887
4210
  handleSlotChange: () => Promise<void>;
3888
- protected render(): import("lit").TemplateResult<1>;
4211
+ protected render(): import("lit-html").TemplateResult<1>;
3889
4212
  protected _getTextAreaInput(): HTMLTemplateResult;
3890
4213
  protected _getTextInput(): HTMLTemplateResult;
3891
4214
  protected _getNumberInput(): HTMLTemplateResult;
@@ -3920,7 +4243,7 @@ declare module "components/pagination/pagination.component" {
3920
4243
  uri: string;
3921
4244
  protected _createLink(page: number): string;
3922
4245
  protected _calculatePages(): number;
3923
- protected render(): import("lit").TemplateResult<1>;
4246
+ protected render(): import("lit-html").TemplateResult<1>;
3924
4247
  }
3925
4248
  }
3926
4249
  declare module "components/pagination/index" {
@@ -3965,7 +4288,7 @@ declare module "components/vertical-stepper/vertical-stepper.component" {
3965
4288
  active: boolean;
3966
4289
  description: string;
3967
4290
  caption: string;
3968
- render(): import("lit").TemplateResult<1>;
4291
+ render(): import("lit-html").TemplateResult<1>;
3969
4292
  }
3970
4293
  }
3971
4294
  declare module "components/vertical-stepper/index" {
@@ -4004,7 +4327,7 @@ declare module "components/timer/timer.component" {
4004
4327
  private _timerId;
4005
4328
  disconnectedCallback(): void;
4006
4329
  private _getLastMessage;
4007
- render(): import("lit").TemplateResult<1>;
4330
+ render(): import("lit-html").TemplateResult<1>;
4008
4331
  private _getTimes;
4009
4332
  }
4010
4333
  }
@@ -4018,99 +4341,6 @@ declare module "components/timer/index" {
4018
4341
  }
4019
4342
  }
4020
4343
  }
4021
- declare module "utilities/md5" {
4022
- export function md5(string: string): string;
4023
- }
4024
- declare module "components/tabs/tabs.component" {
4025
- import { type CSSResultGroup, type PropertyValues } from 'lit';
4026
- import { Store } from "internal/storage";
4027
- import ZincElement from "internal/zinc-element";
4028
- /**
4029
- * @summary Short summary of the component's intended use.
4030
- * @documentation https://zinc.style/components/tabs
4031
- * @status experimental
4032
- * @since 1.0
4033
- *
4034
- * @dependency zn-example
4035
- *
4036
- * @event zn-event-name - Emitted as an example.
4037
- *
4038
- * @slot - The default slot.
4039
- * @slot example - An example slot.
4040
- *
4041
- * @csspart base - The component's base wrapper.
4042
- *
4043
- * @cssproperty --example - An example CSS custom property.
4044
- */
4045
- export default class ZnTabs extends ZincElement {
4046
- static styles: CSSResultGroup;
4047
- masterId: string;
4048
- defaultUri: string;
4049
- _current: string;
4050
- _split: number;
4051
- _splitMin: number;
4052
- _splitMax: number;
4053
- primaryCaption: string;
4054
- secondaryCaption: string;
4055
- noPrefetch: boolean;
4056
- noCache: boolean;
4057
- localStorage: boolean;
4058
- storeKey: string;
4059
- storeTtl: number;
4060
- padded: boolean;
4061
- fetchStyle: string;
4062
- fullWidth: boolean;
4063
- paddedRight: boolean;
4064
- monitor: string;
4065
- caption: string;
4066
- description: string;
4067
- protected preload: boolean;
4068
- protected _store: Store;
4069
- protected _activeClicks: number;
4070
- private _panel;
4071
- private _panels;
4072
- private _activeTab;
4073
- private _tabs;
4074
- private _actions;
4075
- private _knownUri;
4076
- private readonly hasSlotController;
4077
- constructor();
4078
- connectedCallback(): Promise<void>;
4079
- monitorDom(): void;
4080
- _addPanel(panel: HTMLElement): void;
4081
- _addTab(tab: HTMLElement): void;
4082
- reRegisterTabs: () => void;
4083
- firstUpdated(_changedProperties: PropertyValues): void;
4084
- switchTab(inc: number): void;
4085
- nextTab(): void;
4086
- previousTab(): void;
4087
- _prepareTab(tabId: string): void;
4088
- _uriToId(tabUri: string): string;
4089
- _createUriPanel(tabEle: Element, tabUri: string, tabId: string): HTMLDivElement;
4090
- _handleClick(event: PointerEvent): void;
4091
- fetchUriTab(target: HTMLElement): void;
4092
- clickTab(target: HTMLElement, refresh: boolean): void;
4093
- getRefTab(target: HTMLElement): string | null;
4094
- setActiveTab(tabName: string, store: boolean, refresh: boolean, refTab?: string | null): void;
4095
- _setTabEleActive(ele: Element, active: boolean): void;
4096
- selectTab(tabName: string, refresh: boolean): boolean;
4097
- getActiveTab(): Element[];
4098
- observerDom(): void;
4099
- removeTabAndPanel(tabId: string): void;
4100
- _registerTabs: () => void;
4101
- render(): import("lit").TemplateResult<1>;
4102
- }
4103
- }
4104
- declare module "components/tabs/index" {
4105
- import ZnTabs from "components/tabs/tabs.component";
4106
- export * from "components/tabs/tabs.component";
4107
- export default ZnTabs;
4108
- global {
4109
- interface HTMLElementTagNameMap {
4110
- 'zn-tabs': ZnTabs;
4111
- }
4112
- }
4113
- }
4114
4344
  declare module "components/panel/panel.component" {
4115
4345
  import { type CSSResultGroup, type PropertyValues } from 'lit';
4116
4346
  import ZincElement from "internal/zinc-element";
@@ -4191,14 +4421,15 @@ declare module "components/table/table.component" {
4191
4421
  private columnDisplay;
4192
4422
  private wideColumn;
4193
4423
  private rows;
4424
+ private readonly resizeObserver;
4194
4425
  resizing(): void;
4195
4426
  connectedCallback(): void;
4196
4427
  _handleMenu(e: any): void;
4197
4428
  menuClick(e: any): void;
4198
- tableHead(): import("lit").TemplateResult<1> | undefined;
4199
- tableBody(): import("lit").TemplateResult<1>;
4429
+ tableHead(): import("lit-html").TemplateResult<1> | undefined;
4430
+ tableBody(): import("lit-html").TemplateResult<1>;
4200
4431
  columnContent(col: any): any;
4201
- render(): import("lit").TemplateResult<1>;
4432
+ render(): import("lit-html").TemplateResult<1>;
4202
4433
  }
4203
4434
  }
4204
4435
  declare module "components/table/index" {
@@ -4234,9 +4465,9 @@ declare module "components/pane/pane.component" {
4234
4465
  export default class ZnPane extends ZincElement {
4235
4466
  static styles: CSSResultGroup;
4236
4467
  flush: boolean;
4237
- protected _header: HTMLElement;
4468
+ protected _header: HTMLElement | null;
4238
4469
  connectedCallback(): void;
4239
- render(): import("lit").TemplateResult<1>;
4470
+ render(): import("lit-html").TemplateResult<1>;
4240
4471
  }
4241
4472
  }
4242
4473
  declare module "components/pane/index" {
@@ -4263,6 +4494,7 @@ declare module "components/split-pane/split-pane.component" {
4263
4494
  import { type CSSResultGroup } from 'lit';
4264
4495
  import { Store } from "internal/storage";
4265
4496
  import ZincElement from "internal/zinc-element";
4497
+ import { PropertyValues } from "@lit/reactive-element";
4266
4498
  /**
4267
4499
  * @summary Short summary of the component's intended use.
4268
4500
  * @documentation https://zinc.style/components/split-pane
@@ -4288,10 +4520,14 @@ declare module "components/split-pane/split-pane.component" {
4288
4520
  private currentPixelSize;
4289
4521
  private currentPercentSize;
4290
4522
  private currentContainerSize;
4523
+ private focusChangeHandler;
4291
4524
  private primaryFull;
4525
+ private resizeObserver;
4526
+ private parentIsNarrow;
4292
4527
  calculatePixels: boolean;
4293
4528
  preferSecondarySize: boolean;
4294
4529
  minimumPaneSize: number;
4530
+ minimumSecondaryPaneSize: number;
4295
4531
  maximumPaneSize: number;
4296
4532
  initialSize: number;
4297
4533
  storeKey: string;
@@ -4302,16 +4538,26 @@ declare module "components/split-pane/split-pane.component" {
4302
4538
  _focusPane: number;
4303
4539
  padded: boolean;
4304
4540
  paddedRight: boolean;
4541
+ gap: boolean;
4542
+ hide: 'primary' | 'secondary' | '';
4543
+ mergedNavigation: boolean;
4305
4544
  localStorage: boolean;
4306
4545
  storeTtl: number;
4307
4546
  protected _store: Store;
4308
4547
  connectedCallback(): void;
4309
- firstUpdated(changedProperties: any): void;
4548
+ disconnectedCallback(): void;
4549
+ private refreshNarrowState;
4550
+ firstUpdated(changedProperties: PropertyValues): void;
4310
4551
  applyStoredSize(): void;
4311
4552
  resize(e: any): void;
4312
4553
  setSize(primaryPanelPixels: number): void;
4313
- _togglePane(e: any): void;
4314
4554
  _setFocusPane(idx: number): void;
4555
+ private getDirectNestedSplitPanes;
4556
+ private updateNestedNavigationMerging;
4557
+ private getPaneIndexForNestedSplitPane;
4558
+ private getNestedNavigationItems;
4559
+ private getDirectNestedSplitPanesForPane;
4560
+ private getNavigationItems;
4315
4561
  protected render(): unknown;
4316
4562
  }
4317
4563
  }
@@ -4351,12 +4597,12 @@ declare module "components/sidebar/sidebar.component" {
4351
4597
  open: boolean;
4352
4598
  startScrolled: boolean;
4353
4599
  wide: boolean;
4600
+ private domObserver;
4354
4601
  constructor();
4355
4602
  connectedCallback(): void;
4356
- observerDom(): void;
4357
4603
  scrollBottom(): void;
4358
- render(): import("lit").TemplateResult<1>;
4359
- _expander(): import("lit").TemplateResult<1>;
4604
+ render(): import("lit-html").TemplateResult<1>;
4605
+ _expander(): import("lit-html").TemplateResult<1>;
4360
4606
  handleClick(e: any): void;
4361
4607
  }
4362
4608
  }
@@ -4468,7 +4714,7 @@ declare module "components/stepper/stepper.component" {
4468
4714
  steps: number;
4469
4715
  value: number;
4470
4716
  showProgress: boolean;
4471
- render(): import("lit").TemplateResult<1>;
4717
+ render(): import("lit-html").TemplateResult<1>;
4472
4718
  }
4473
4719
  }
4474
4720
  declare module "components/stepper/index" {
@@ -4514,8 +4760,8 @@ declare module "components/stat/stat.component" {
4514
4760
  calcPercentageDifference(): number;
4515
4761
  getCurrentAmount(): string;
4516
4762
  private getDisplayAmount;
4517
- diffText(): import("lit").TemplateResult<1> | null;
4518
- render(): import("lit").TemplateResult<1>;
4763
+ diffText(): import("lit-html").TemplateResult<1> | null;
4764
+ render(): import("lit-html").TemplateResult<1>;
4519
4765
  }
4520
4766
  }
4521
4767
  declare module "components/stat/index" {
@@ -4555,10 +4801,10 @@ declare module "components/scroll-container/scroll-container.component" {
4555
4801
  private footer;
4556
4802
  protected firstUpdated(_changedProperties: PropertyValues): void;
4557
4803
  scrollEnd(): void;
4558
- private _footerResizeObserver?;
4804
+ private readonly _footerResizeObserver;
4805
+ private readonly _domObserver;
4559
4806
  connectedCallback(): void;
4560
- disconnectedCallback(): void;
4561
- render(): import("lit").TemplateResult<1>;
4807
+ render(): import("lit-html").TemplateResult<1>;
4562
4808
  }
4563
4809
  }
4564
4810
  declare module "components/scroll-container/index" {
@@ -4622,6 +4868,7 @@ declare module "components/progress-tile/index" {
4622
4868
  declare module "components/progress-bar/progress-bar.component" {
4623
4869
  import { type CSSResultGroup } from 'lit';
4624
4870
  import ZincElement from "internal/zinc-element";
4871
+ export type ProgressBarColor = 'current' | 'info' | 'error' | 'success' | 'warning';
4625
4872
  /**
4626
4873
  * @summary Progress bars provide visual feedback about the completion status of a task or process.
4627
4874
  * @documentation https://zinc.style/components/progress-bar
@@ -4638,7 +4885,7 @@ declare module "components/progress-bar/progress-bar.component" {
4638
4885
  * @csspart info - The description text element.
4639
4886
  *
4640
4887
  * @cssproperty --zn-border-color - The color of the progress bar background track.
4641
- * @cssproperty --zn-primary - The color of the progress bar fill.
4888
+ * @cssproperty --zn-progress-bar-color - The color of the progress bar fill.
4642
4889
  * @cssproperty --zn-text-heading - The color of the caption text.
4643
4890
  * @cssproperty --zn-text - The color of the progress percentage and description text.
4644
4891
  * @cssproperty --zn-spacing-x-small - The spacing between header/footer and the progress bar.
@@ -4646,10 +4893,11 @@ declare module "components/progress-bar/progress-bar.component" {
4646
4893
  export default class ZnProgressBar extends ZincElement {
4647
4894
  static styles: CSSResultGroup;
4648
4895
  caption: string | undefined;
4896
+ color: ProgressBarColor;
4649
4897
  description: string | undefined;
4650
4898
  value: number | undefined;
4651
4899
  showProgress: boolean | undefined;
4652
- render(): import("lit").TemplateResult<1>;
4900
+ render(): import("lit-html").TemplateResult<1>;
4653
4901
  }
4654
4902
  }
4655
4903
  declare module "components/progress-bar/index" {
@@ -4708,15 +4956,15 @@ declare module "components/order-table/order-table.component" {
4708
4956
  connectedCallback(): void;
4709
4957
  disconnectedCallback(): void;
4710
4958
  resizeEventHandler: () => void;
4711
- render(): import("lit").TemplateResult<1>;
4712
- getHeaders(): import("lit").TemplateResult<1>;
4713
- getRows(): import("lit").TemplateResult<1>;
4714
- getCaption(item: any): import("lit").TemplateResult<1>;
4715
- getSubItems(item: any): import("lit").TemplateResult<1>;
4716
- getSummary(): import("lit").TemplateResult<1>;
4959
+ render(): import("lit-html").TemplateResult<1>;
4960
+ getHeaders(): import("lit-html").TemplateResult<1>;
4961
+ getRows(): import("lit-html").TemplateResult<1>;
4962
+ getCaption(item: any): import("lit-html").TemplateResult<1>;
4963
+ getSubItems(item: any): import("lit-html").TemplateResult<1>;
4964
+ getSummary(): import("lit-html").TemplateResult<1>;
4717
4965
  private getMobileRows;
4718
- getMobileSubItems(item: any): import("lit").TemplateResult<1>;
4719
- getMobileCaption(item: any, extra: any): import("lit").TemplateResult<1>;
4966
+ getMobileSubItems(item: any): import("lit-html").TemplateResult<1>;
4967
+ getMobileCaption(item: any, extra: any): import("lit-html").TemplateResult<1>;
4720
4968
  }
4721
4969
  }
4722
4970
  declare module "components/order-table/index" {
@@ -4789,7 +5037,7 @@ declare module "components/bulk-actions/bulk-actions.component" {
4789
5037
  get validationMessage(): string;
4790
5038
  get validity(): ValidityState;
4791
5039
  protected firstUpdated(_changedProperties: PropertyValues): void;
4792
- render(): import("lit").TemplateResult<1>;
5040
+ render(): import("lit-html").TemplateResult<1>;
4793
5041
  private _handleChange;
4794
5042
  private _addRule;
4795
5043
  private _createInput;
@@ -4823,7 +5071,7 @@ declare module "components/editor/modules/toolbar/tool/tool.component" {
4823
5071
  key: string;
4824
5072
  icon: string;
4825
5073
  handler: string;
4826
- render(): import("lit").TemplateResult<1>;
5074
+ render(): import("lit-html").TemplateResult<1>;
4827
5075
  }
4828
5076
  }
4829
5077
  declare module "components/editor/modules/toolbar/tool/index" {
@@ -4848,8 +5096,8 @@ declare module "components/editor/modules/toolbar/toolbar.component" {
4848
5096
  private _overflowMenu;
4849
5097
  private _overflowGroup;
4850
5098
  private _featureConfig;
4851
- private _resizeObserver;
4852
5099
  private _resizeId;
5100
+ private readonly _resizeObserver;
4853
5101
  private _movedContent;
4854
5102
  connectedCallback(): void;
4855
5103
  disconnectedCallback(): void;
@@ -4866,7 +5114,7 @@ declare module "components/editor/modules/toolbar/toolbar.component" {
4866
5114
  private calculateOverflow;
4867
5115
  private _dispatchOverflowEvent;
4868
5116
  private populateOverflowMenu;
4869
- render(): import("lit").TemplateResult<1>;
5117
+ render(): import("lit-html").TemplateResult<1>;
4870
5118
  private _textOptions;
4871
5119
  private _formatOptions;
4872
5120
  private _commonFormatOptions;
@@ -4898,7 +5146,7 @@ declare module "components/editor/modules/dialog/dialog.component" {
4898
5146
  private removeOpenListeners;
4899
5147
  private requestClose;
4900
5148
  private _getLoadingState;
4901
- render(): import("lit").TemplateResult<1>;
5149
+ render(): import("lit-html").TemplateResult<1>;
4902
5150
  }
4903
5151
  }
4904
5152
  declare module "components/editor/modules/emoji/emoji" {
@@ -5014,7 +5262,7 @@ declare module "components/editor/modules/context-menu/context-menu-component" {
5014
5262
  getActiveIndex(): number;
5015
5263
  private _onClickItem;
5016
5264
  protected willUpdate(changed: PropertyValues): void;
5017
- render(): import("lit").TemplateResult<1>;
5265
+ render(): import("lit-html").TemplateResult<1>;
5018
5266
  }
5019
5267
  }
5020
5268
  declare module "components/editor/modules/context-menu/quick-action/quick-action.component" {
@@ -5026,7 +5274,7 @@ declare module "components/editor/modules/context-menu/quick-action/quick-action
5026
5274
  key: string;
5027
5275
  icon: string;
5028
5276
  order?: number | null;
5029
- render(): import("lit").TemplateResult<1>;
5277
+ render(): import("lit-html").TemplateResult<1>;
5030
5278
  }
5031
5279
  }
5032
5280
  declare module "components/editor/modules/context-menu/quick-action/index" {
@@ -5140,7 +5388,7 @@ declare module "components/editor/modules/emoji/headless/headless-emoji.componen
5140
5388
  private onMouseEnterItem;
5141
5389
  private onClickItem;
5142
5390
  protected willUpdate(changed: PropertyValues): void;
5143
- render(): import("lit").TemplateResult<1>;
5391
+ render(): import("lit-html").TemplateResult<1>;
5144
5392
  }
5145
5393
  }
5146
5394
  declare module "components/editor/modules/emoji/headless/headless-emoji" {
@@ -5203,7 +5451,7 @@ declare module "components/editor/modules/ai/panel/ai-panel.component" {
5203
5451
  show(): void;
5204
5452
  hide(): void;
5205
5453
  private handleTriggerKeyDown;
5206
- render(): import("lit").TemplateResult<1>;
5454
+ render(): import("lit-html").TemplateResult<1>;
5207
5455
  }
5208
5456
  }
5209
5457
  declare module "components/editor/modules/ai/tooltip/ai-tooltip.component" {
@@ -5214,7 +5462,7 @@ declare module "components/editor/modules/ai/tooltip/ai-tooltip.component" {
5214
5462
  open: boolean;
5215
5463
  show(): void;
5216
5464
  hide(): void;
5217
- render(): import("lit").TemplateResult<1>;
5465
+ render(): import("lit-html").TemplateResult<1>;
5218
5466
  }
5219
5467
  }
5220
5468
  declare module "components/textarea/textarea.component" {
@@ -5248,7 +5496,7 @@ declare module "components/textarea/textarea.component" {
5248
5496
  static styles: CSSResultGroup;
5249
5497
  private readonly formControlController;
5250
5498
  private readonly hasSlotController;
5251
- private resizeObserver;
5499
+ private readonly resizeObserver;
5252
5500
  /** Ensures we only attempt to derive the initial value from light DOM content once */
5253
5501
  private _didInitFromContent;
5254
5502
  formControl: HTMLElement;
@@ -5321,7 +5569,6 @@ declare module "components/textarea/textarea.component" {
5321
5569
  get validationMessage(): string;
5322
5570
  connectedCallback(): void;
5323
5571
  firstUpdated(): void;
5324
- disconnectedCallback(): void;
5325
5572
  private handleBlur;
5326
5573
  private handleChange;
5327
5574
  private handleFocus;
@@ -5358,7 +5605,7 @@ declare module "components/textarea/textarea.component" {
5358
5605
  reportValidity(): boolean;
5359
5606
  /** Sets a custom validation message. Pass an empty string to restore validity. */
5360
5607
  setCustomValidity(message: string): void;
5361
- render(): import("lit").TemplateResult<1>;
5608
+ render(): import("lit-html").TemplateResult<1>;
5362
5609
  }
5363
5610
  }
5364
5611
  declare module "components/textarea/index" {
@@ -5492,7 +5739,7 @@ declare module "components/editor/editor.component" {
5492
5739
  private _closePopups;
5493
5740
  private _closeAiPanel;
5494
5741
  private _closeDialog;
5495
- render(): import("lit").TemplateResult<1>;
5742
+ render(): import("lit-html").TemplateResult<1>;
5496
5743
  }
5497
5744
  }
5498
5745
  declare module "components/editor/index" {
@@ -5630,7 +5877,7 @@ declare module "components/checkbox/checkbox.component" {
5630
5877
  * the custom validation message, call this method with an empty string.
5631
5878
  */
5632
5879
  setCustomValidity(message: string): void;
5633
- render(): import("lit").TemplateResult<1>;
5880
+ render(): import("lit-html").TemplateResult<1>;
5634
5881
  }
5635
5882
  }
5636
5883
  declare module "components/checkbox/index" {
@@ -5798,7 +6045,7 @@ declare module "components/datepicker/datepicker.component" {
5798
6045
  private normalizeDate;
5799
6046
  private autoFormatDate;
5800
6047
  protected updated(_changedProperties: PropertyValues): void;
5801
- render(): import("lit").TemplateResult<1>;
6048
+ render(): import("lit-html").TemplateResult<1>;
5802
6049
  }
5803
6050
  }
5804
6051
  declare module "components/datepicker/index" {
@@ -5838,7 +6085,8 @@ declare module "components/form-group/form-group.component" {
5838
6085
  labelTooltip: string;
5839
6086
  /** The form groups help text. If you need to display HTML, use the `help-text` slot instead. */
5840
6087
  helpText: string;
5841
- render(): import("lit").TemplateResult<1>;
6088
+ forceCols: boolean;
6089
+ render(): import("lit-html").TemplateResult<1>;
5842
6090
  }
5843
6091
  }
5844
6092
  declare module "components/form-group/index" {
@@ -5877,7 +6125,7 @@ declare module "components/input-group/input-group.component" {
5877
6125
  /** Adds a gap between the grouped elements, preserving individual border radii. Use `sm`, `md`, or `lg`. */
5878
6126
  gap: 'sm' | 'md' | 'lg';
5879
6127
  private handleSlotChange;
5880
- render(): import("lit").TemplateResult<1>;
6128
+ render(): import("lit-html").TemplateResult<1>;
5881
6129
  }
5882
6130
  }
5883
6131
  declare module "components/input-group/index" {
@@ -5944,7 +6192,7 @@ declare module "components/linked-select/linked-select.component" {
5944
6192
  handleLinkedSelectChange: () => void;
5945
6193
  handleChange(e: Event): void;
5946
6194
  handleSelectChange: (e: ZnSelectEvent) => void;
5947
- render(): import("lit").TemplateResult<1>;
6195
+ render(): import("lit-html").TemplateResult<1>;
5948
6196
  }
5949
6197
  }
5950
6198
  declare module "components/linked-select/index" {
@@ -6056,7 +6304,7 @@ declare module "components/radio/radio.component" {
6056
6304
  * the custom validation message, call this method with an empty string.
6057
6305
  */
6058
6306
  setCustomValidity(message: string): void;
6059
- render(): import("lit").TemplateResult<1>;
6307
+ render(): import("lit-html").TemplateResult<1>;
6060
6308
  }
6061
6309
  }
6062
6310
  declare module "components/radio/index" {
@@ -6129,7 +6377,7 @@ declare module "components/rating/rating.component" {
6129
6377
  private _handleTouchStart;
6130
6378
  private _handleTouchMove;
6131
6379
  private _handleTouchEnd;
6132
- render(): import("lit").TemplateResult<1>;
6380
+ render(): import("lit-html").TemplateResult<1>;
6133
6381
  }
6134
6382
  }
6135
6383
  declare module "components/rating/index" {
@@ -6225,7 +6473,7 @@ declare module "components/radio-group/radio-group.component" {
6225
6473
  /** Sets a custom validation message. Pass an empty string to restore validity. */
6226
6474
  setCustomValidity(message?: string): void;
6227
6475
  focus(options?: FocusOptions): void;
6228
- render(): import("lit").TemplateResult<1>;
6476
+ render(): import("lit-html").TemplateResult<1>;
6229
6477
  }
6230
6478
  }
6231
6479
  declare module "components/radio-group/index" {
@@ -6437,7 +6685,7 @@ declare module "components/file/file.component" {
6437
6685
  private renderFileValueWithDelete;
6438
6686
  private renderDroparea;
6439
6687
  private renderButton;
6440
- render(): import("lit").TemplateResult<1>;
6688
+ render(): import("lit-html").TemplateResult<1>;
6441
6689
  }
6442
6690
  }
6443
6691
  declare module "components/file/index" {
@@ -6535,7 +6783,7 @@ declare module "components/checkbox-group/checkbox-group.component" {
6535
6783
  reportValidity(): boolean;
6536
6784
  /** Sets a custom validation message. Pass an empty string to restore validity. */
6537
6785
  setCustomValidity(message?: string): void;
6538
- render(): import("lit").TemplateResult<1>;
6786
+ render(): import("lit-html").TemplateResult<1>;
6539
6787
  }
6540
6788
  }
6541
6789
  declare module "components/checkbox-group/index" {
@@ -6586,13 +6834,14 @@ declare module "components/item/item.component" {
6586
6834
  inline: boolean;
6587
6835
  grid: boolean;
6588
6836
  noPadding: boolean;
6837
+ flush: boolean;
6589
6838
  alignEnd: boolean;
6590
6839
  alignCenter: boolean;
6591
6840
  connectedCallback(): void;
6592
6841
  protected updated(_changedProperties: PropertyValues): void;
6593
6842
  protected _hasContent(): boolean;
6594
6843
  protected _hasRequiredSlot(): boolean;
6595
- render(): import("lit").TemplateResult<1>;
6844
+ render(): import("lit-html").TemplateResult<1>;
6596
6845
  }
6597
6846
  }
6598
6847
  declare module "components/item/index" {
@@ -6634,15 +6883,15 @@ declare module "components/button-menu/button-menu.component" {
6634
6883
  noPadding: boolean;
6635
6884
  private _buttons;
6636
6885
  private _originalButtons;
6637
- private resizeObserver;
6886
+ private _resizeRafId;
6887
+ private readonly resizeObserver;
6638
6888
  protected firstUpdated(_changedProperties: PropertyValues): Promise<void>;
6639
6889
  watchContainerMaxWidth(): void;
6640
6890
  connectedCallback(): void;
6641
- disconnectedCallback(): void;
6642
- handleResize: () => void;
6643
6891
  calculateVisibleButtons(): void;
6644
6892
  calculateMenuButtons(totalButtons: number, visibleButtons: number, buttons: CustomButtonWidths[]): void;
6645
- render(): import("lit").TemplateResult<1>;
6893
+ private getButtonLabel;
6894
+ render(): import("lit-html").TemplateResult<1>;
6646
6895
  addButton(button: ZnButton): void;
6647
6896
  setDynamicButtons(btns: NodeListOf<ZnButton>): void;
6648
6897
  removeButton(id: string): void;
@@ -6727,7 +6976,7 @@ declare module "components/slideout/slideout.component" {
6727
6976
  /** Hides the slideout. */
6728
6977
  hide(): Promise<void>;
6729
6978
  private closeClickHandler;
6730
- render(): import("lit").TemplateResult<1>;
6979
+ render(): import("lit-html").TemplateResult<1>;
6731
6980
  }
6732
6981
  }
6733
6982
  declare module "components/slideout/index" {
@@ -6762,7 +7011,7 @@ declare module "components/data-table-sort/data-table-sort.component" {
6762
7011
  */
6763
7012
  export default class ZnDataTableSort extends ZincElement {
6764
7013
  static styles: CSSResultGroup;
6765
- render(): import("lit").TemplateResult<1>;
7014
+ render(): import("lit-html").TemplateResult<1>;
6766
7015
  }
6767
7016
  }
6768
7017
  declare module "components/data-table-sort/index" {
@@ -6798,7 +7047,7 @@ declare module "components/action-bar/action-bar.component" {
6798
7047
  export default class ZnActionBar extends ZincElement {
6799
7048
  static styles: CSSResultGroup;
6800
7049
  private readonly localize;
6801
- render(): import("lit").TemplateResult<1>;
7050
+ render(): import("lit-html").TemplateResult<1>;
6802
7051
  }
6803
7052
  }
6804
7053
  declare module "components/action-bar/index" {
@@ -6811,77 +7060,6 @@ declare module "components/action-bar/index" {
6811
7060
  }
6812
7061
  }
6813
7062
  }
6814
- declare module "components/expanding-action/expanding-action.component" {
6815
- import { type CSSResultGroup, type PropertyValues } from 'lit';
6816
- import ZincElement from "internal/zinc-element";
6817
- /**
6818
- * @summary Short summary of the component's intended use.
6819
- * @documentation https://zinc.style/components/expanding-action
6820
- * @status experimental
6821
- * @since 1.0
6822
- *
6823
- * @dependency zn-example
6824
- *
6825
- * @event zn-event-name - Emitted as an example.
6826
- *
6827
- * @slot - The default slot.
6828
- * @slot example - An example slot.
6829
- *
6830
- * @csspart base - The component's base wrapper.
6831
- *
6832
- * @cssproperty --example - An example CSS custom property.
6833
- */
6834
- export default class ZnExpandingAction extends ZincElement {
6835
- static styles: CSSResultGroup;
6836
- icon: string;
6837
- method: 'drop' | 'fill';
6838
- contextUri: string;
6839
- count: string;
6840
- color: string;
6841
- prefetch: boolean;
6842
- basis: string;
6843
- maxHeight: string;
6844
- open: boolean;
6845
- masterId: string;
6846
- fetchStyle: string;
6847
- noPrefetch: boolean;
6848
- private _panel;
6849
- private _panels;
6850
- private _knownUri;
6851
- private _actions;
6852
- private _preload;
6853
- private _countObserver?;
6854
- private _colorObserver?;
6855
- constructor();
6856
- connectedCallback(): Promise<void>;
6857
- disconnectedCallback(): void;
6858
- firstUpdated(_changedProperties: PropertyValues): void;
6859
- _observeMetaData(): void;
6860
- _registerActions(): void;
6861
- _addAction(action: HTMLElement): void;
6862
- _uriToId(actionUri: string): string;
6863
- _handleClick(event: PointerEvent): void;
6864
- _createUriPanel(actionEle: Element, actionUri: string, actionId: string): HTMLDivElement;
6865
- fetchUri(target: HTMLElement): void;
6866
- fetchContextHeaders(): Promise<void>;
6867
- clickAction(target: HTMLElement): void;
6868
- handleIconClicked: () => void;
6869
- handleIconCloseClicked: () => void;
6870
- render(): import("lit").TemplateResult<1>;
6871
- protected renderDropdown(): import("lit").TemplateResult<1>;
6872
- protected renderFill(): import("lit").TemplateResult<1>;
6873
- }
6874
- }
6875
- declare module "components/expanding-action/index" {
6876
- import ZnExpandingAction from "components/expanding-action/expanding-action.component";
6877
- export * from "components/expanding-action/expanding-action.component";
6878
- export default ZnExpandingAction;
6879
- global {
6880
- interface HTMLElementTagNameMap {
6881
- 'zn-expanding-action': ZnExpandingAction;
6882
- }
6883
- }
6884
- }
6885
7063
  declare module "components/page-nav/page-nav.component" {
6886
7064
  import { type CSSResultGroup } from 'lit';
6887
7065
  import ZnTabs from "components/tabs/index";
@@ -6921,7 +7099,7 @@ declare module "components/page-nav/page-nav.component" {
6921
7099
  toggleNavigation(): void;
6922
7100
  setActiveTab(tabName: string, store: boolean, refresh: boolean, refTab?: string | null): void;
6923
7101
  clickTab(target: HTMLElement, refresh: boolean, close?: boolean): void;
6924
- render(): import("lit").TemplateResult<1>;
7102
+ render(): import("lit-html").TemplateResult<1>;
6925
7103
  }
6926
7104
  }
6927
7105
  declare module "components/page-nav/index" {
@@ -6946,7 +7124,7 @@ declare module "components/status-indicator/status-indicator.component" {
6946
7124
  export default class ZnStatusIndicator extends ZincElement {
6947
7125
  static styles: CSSResultGroup;
6948
7126
  type: 'success' | 'error' | 'warning' | 'info';
6949
- render(): import("lit").TemplateResult<1>;
7127
+ render(): import("lit-html").TemplateResult<1>;
6950
7128
  }
6951
7129
  }
6952
7130
  declare module "components/status-indicator/index" {
@@ -6998,7 +7176,7 @@ declare module "components/split-button/split-button.component" {
6998
7176
  disconnectedCallback(): void;
6999
7177
  handleMenuItemClick(e: ZnMenuSelectEvent): void;
7000
7178
  handleTriggerClick(): void;
7001
- render(): import("lit").TemplateResult<1>;
7179
+ render(): import("lit-html").TemplateResult<1>;
7002
7180
  private renderTriggerSlot;
7003
7181
  checkValidity(): boolean;
7004
7182
  getForm(): HTMLFormElement | null;
@@ -7045,7 +7223,7 @@ declare module "components/content-block/content-block.component" {
7045
7223
  iframe: Promise<HTMLIFrameElement>;
7046
7224
  private readonly hasSlotController;
7047
7225
  private _textRows;
7048
- private _footerObserver?;
7226
+ private readonly _footerObserver;
7049
7227
  private _replaceDebounce;
7050
7228
  connectedCallback(): void;
7051
7229
  disconnectedCallback(): void;
@@ -7054,7 +7232,7 @@ declare module "components/content-block/content-block.component" {
7054
7232
  private _toggleHtml;
7055
7233
  private _resizeIframe;
7056
7234
  protected firstUpdated(_changedProperties: PropertyValues): void;
7057
- protected render(): import("lit").TemplateResult<1>;
7235
+ protected render(): import("lit-html").TemplateResult<1>;
7058
7236
  protected truncateText(): string;
7059
7237
  private _handleSlotChange;
7060
7238
  private _debouncedReplace;
@@ -7100,7 +7278,7 @@ declare module "components/filter-wrapper/filter-wrapper.component" {
7100
7278
  handleSubmit: (event: Event) => void;
7101
7279
  connectedCallback(): void;
7102
7280
  private renderDefaultButton;
7103
- render(): import("lit").TemplateResult<1>;
7281
+ render(): import("lit-html").TemplateResult<1>;
7104
7282
  }
7105
7283
  }
7106
7284
  declare module "components/filter-wrapper/index" {
@@ -7146,12 +7324,11 @@ declare module "components/settings-container/settings-container.component" {
7146
7324
  position: 'top-end' | 'top-start' | 'bottom-end' | 'bottom-start';
7147
7325
  storeKey: string;
7148
7326
  noScroll: boolean;
7149
- private _mutationObserver;
7327
+ private readonly _mutationObserver;
7150
7328
  private _updateFiltersScheduled;
7151
7329
  private _store;
7152
7330
  private _hiddenElements;
7153
7331
  connectedCallback(): void;
7154
- disconnectedCallback(): void;
7155
7332
  private scheduleUpdateFilters;
7156
7333
  private handleContentSlotChange;
7157
7334
  private handleFiltersSlotChange;
@@ -7159,7 +7336,7 @@ declare module "components/settings-container/settings-container.component" {
7159
7336
  private updateSingleFilter;
7160
7337
  updateFilters(): void;
7161
7338
  updateFilter(e: ZnChangeEvent): void;
7162
- render(): import("lit").TemplateResult<1>;
7339
+ render(): import("lit-html").TemplateResult<1>;
7163
7340
  private getDropdownContent;
7164
7341
  }
7165
7342
  }
@@ -7197,7 +7374,7 @@ declare module "components/filter-container/filter-container.component" {
7197
7374
  static styles: CSSResultGroup;
7198
7375
  attr: string;
7199
7376
  handleSearchChange(event: Event): void;
7200
- render(): import("lit").TemplateResult<1>;
7377
+ render(): import("lit-html").TemplateResult<1>;
7201
7378
  }
7202
7379
  }
7203
7380
  declare module "components/filter-container/index" {
@@ -7248,7 +7425,7 @@ declare module "components/reveal/reveal.component" {
7248
7425
  protected handleToggleReveal(): void;
7249
7426
  protected handleMouseEnter(): void;
7250
7427
  protected handleMouseLeave(): void;
7251
- render(): import("lit").TemplateResult<1>;
7428
+ render(): import("lit-html").TemplateResult<1>;
7252
7429
  }
7253
7430
  }
7254
7431
  declare module "components/reveal/index" {
@@ -7297,7 +7474,7 @@ declare module "components/audio-select/audio-select.component" {
7297
7474
  stopAudio(): void;
7298
7475
  handleSelectChange(e: ZnChangeEvent): void;
7299
7476
  togglePreview(e: CustomEvent): void;
7300
- render(): import("lit").TemplateResult<1>;
7477
+ render(): import("lit-html").TemplateResult<1>;
7301
7478
  }
7302
7479
  }
7303
7480
  declare module "components/audio-select/index" {
@@ -7346,9 +7523,9 @@ declare module "components/translations/translations.component" {
7346
7523
  values: Record<string, string>;
7347
7524
  private _activeLanguage;
7348
7525
  private _overflowIndex;
7349
- private _resizeObserver?;
7350
7526
  private _lastObservedWidth;
7351
7527
  private _measureRafId;
7528
+ constructor();
7352
7529
  get validity(): ValidityState;
7353
7530
  get validationMessage(): string;
7354
7531
  checkValidity(): boolean;
@@ -7363,7 +7540,6 @@ declare module "components/translations/translations.component" {
7363
7540
  addLanguageKey(languageCode: string): void;
7364
7541
  /** Returns all language codes that have values. */
7365
7542
  getValueLanguages(): string[];
7366
- connectedCallback(): void;
7367
7543
  disconnectedCallback(): void;
7368
7544
  protected firstUpdated(): void;
7369
7545
  protected updated(changedProperties: PropertyValues): void;
@@ -7378,7 +7554,7 @@ declare module "components/translations/translations.component" {
7378
7554
  private handleKeyDown;
7379
7555
  private handleSubmit;
7380
7556
  private isRTLLanguage;
7381
- render(): import("lit").TemplateResult<1>;
7557
+ render(): import("lit-html").TemplateResult<1>;
7382
7558
  }
7383
7559
  }
7384
7560
  declare module "components/translations/index" {
@@ -7406,7 +7582,7 @@ declare module "components/key/key.component" {
7406
7582
  active: boolean;
7407
7583
  iconSize: number;
7408
7584
  private _handleClick;
7409
- render(): import("lit").TemplateResult<1>;
7585
+ render(): import("lit-html").TemplateResult<1>;
7410
7586
  }
7411
7587
  }
7412
7588
  declare module "components/key/index" {
@@ -7450,7 +7626,7 @@ declare module "components/key-container/key-container.component" {
7450
7626
  private getKeys;
7451
7627
  private updateFilters;
7452
7628
  private itemMatchesKey;
7453
- render(): import("lit").TemplateResult<1>;
7629
+ render(): import("lit-html").TemplateResult<1>;
7454
7630
  }
7455
7631
  }
7456
7632
  declare module "components/key-container/index" {
@@ -7510,7 +7686,7 @@ declare module "components/animated-button/animated-button.component" {
7510
7686
  private scheduleRedirect;
7511
7687
  private scheduleReset;
7512
7688
  private handleClick;
7513
- protected render(): import("lit").TemplateResult<1>;
7689
+ protected render(): import("lit-html").TemplateResult<1>;
7514
7690
  }
7515
7691
  }
7516
7692
  declare module "components/animated-button/index" {
@@ -7564,10 +7740,9 @@ declare module "components/translation-group/translation-group.component" {
7564
7740
  /** Tracks all language codes that have been activated across children. */
7565
7741
  private _activatedLanguages;
7566
7742
  private _overflowIndex;
7567
- private _resizeObserver?;
7568
7743
  private _lastObservedWidth;
7569
7744
  private _measureRafId;
7570
- connectedCallback(): void;
7745
+ constructor();
7571
7746
  disconnectedCallback(): void;
7572
7747
  protected firstUpdated(_changedProperties: PropertyValues): void;
7573
7748
  protected updated(changedProperties: PropertyValues): void;
@@ -7581,7 +7756,7 @@ declare module "components/translation-group/translation-group.component" {
7581
7756
  private switchLanguage;
7582
7757
  private handleLanguageAdd;
7583
7758
  private handleOverflowSelect;
7584
- render(): import("lit").TemplateResult<1>;
7759
+ render(): import("lit-html").TemplateResult<1>;
7585
7760
  }
7586
7761
  }
7587
7762
  declare module "components/translation-group/index" {
@@ -7746,7 +7921,7 @@ declare module "components/priority-list/priority-list.component" {
7746
7921
  /** Sets a custom validation message. Pass an empty string to restore validity. */
7747
7922
  setCustomValidity(_message?: string): void;
7748
7923
  protected updated(changedProperties: PropertyValues): void;
7749
- render(): import("lit").TemplateResult<1>;
7924
+ render(): import("lit-html").TemplateResult<1>;
7750
7925
  }
7751
7926
  }
7752
7927
  declare module "components/priority-list/index" {
@@ -7845,8 +8020,8 @@ declare module "components/markdown-editor/markdown-editor.component" {
7845
8020
  handleViewModeChange(): Promise<void>;
7846
8021
  handleValueChange(): Promise<void>;
7847
8022
  handleMarkedReady(): void;
7848
- render(): import("lit").TemplateResult<1>;
7849
- markdownHelperBtn(): import("lit").TemplateResult<1>;
8023
+ render(): import("lit-html").TemplateResult<1>;
8024
+ markdownHelperBtn(): import("lit-html").TemplateResult<1>;
7850
8025
  private renderViewButton;
7851
8026
  }
7852
8027
  }
@@ -7860,6 +8035,9 @@ declare module "components/markdown-editor/index" {
7860
8035
  }
7861
8036
  }
7862
8037
  }
8038
+ declare module "utilities/form" {
8039
+ export { clearFormStoreValues } from "internal/form";
8040
+ }
7863
8041
  declare module "events/zn-after-hide" {
7864
8042
  export type ZnAfterHideEvent = CustomEvent<Record<PropertyKey, never>>;
7865
8043
  global {
@@ -7990,6 +8168,8 @@ declare module "zinc" {
7990
8168
  export { default as SimpleChart } from "components/simple-chart/index";
7991
8169
  export { default as Header } from "components/header/index";
7992
8170
  export { default as Navbar } from "components/navbar/index";
8171
+ export { default as Page } from "components/page/index";
8172
+ export { default as Tab } from "components/tab/index";
7993
8173
  export { default as IconPicker } from "components/icon-picker/index";
7994
8174
  export { default as InlineEdit } from "components/inline-edit/index";
7995
8175
  export { default as Pagination } from "components/pagination/index";
@@ -8062,6 +8242,7 @@ declare module "zinc" {
8062
8242
  export * from "utilities/on";
8063
8243
  export * from "utilities/query";
8064
8244
  export * from "utilities/lit-to-html";
8245
+ export * from "utilities/form";
8065
8246
  export * from "events/events";
8066
8247
  }
8067
8248
  declare module "components/editor/modules/events/zn-command-select" {