@kubex/zinc 1.1.98 → 1.1.99

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 (56) hide show
  1. package/AGENTS.md +5 -0
  2. package/CLAUDE.md +5 -0
  3. package/dist/custom-elements.json +2930 -2072
  4. package/dist/vscode.html-custom-data.json +198 -59
  5. package/dist/web-types.json +501 -207
  6. package/dist/zn.d.ts +203 -9
  7. package/dist/zn.min.js +343 -297
  8. package/docs/pages/components/background.md +143 -0
  9. package/docs/pages/components/checkbox-group.md +13 -1
  10. package/docs/pages/components/checkbox.md +59 -1
  11. package/docs/pages/components/radio-group.md +12 -0
  12. package/docs/pages/components/radio.md +188 -0
  13. package/docs/pages/components/remarkd-editor.md +22 -0
  14. package/docs/pages/components/scroll-container.md +14 -15
  15. package/package.json +1 -1
  16. package/src/components/background/background.component.ts +111 -0
  17. package/src/components/background/background.scss +236 -0
  18. package/src/components/background/background.test.ts +120 -0
  19. package/src/components/background/index.ts +12 -0
  20. package/src/components/checkbox/checkbox.component.ts +62 -6
  21. package/src/components/checkbox/checkbox.scss +1 -0
  22. package/src/components/checkbox/checkbox.test.ts +56 -0
  23. package/src/components/checkbox-group/checkbox-group.component.ts +15 -0
  24. package/src/components/checkbox-group/checkbox-group.scss +23 -5
  25. package/src/components/checkbox-group/checkbox-group.test.ts +15 -0
  26. package/src/components/confirm/confirm.component.ts +3 -3
  27. package/src/components/confirm/confirm.test.ts +15 -0
  28. package/src/components/dialog/dialog.component.ts +3 -2
  29. package/src/components/editor/editor.component.ts +7 -6
  30. package/src/components/header/header.scss +1 -1
  31. package/src/components/navbar/navbar.scss +11 -0
  32. package/src/components/radio/radio.component.ts +63 -7
  33. package/src/components/radio/radio.scss +1 -0
  34. package/src/components/radio/radio.test.ts +56 -0
  35. package/src/components/radio-group/radio-group.component.ts +16 -3
  36. package/src/components/radio-group/radio-group.scss +23 -4
  37. package/src/components/radio-group/radio-group.test.ts +15 -0
  38. package/src/components/remarkd-editor/remarkd-editor.component.ts +118 -5
  39. package/src/components/remarkd-editor/remarkd-editor.scss +8 -1
  40. package/src/components/remarkd-editor/remarkd-editor.test.ts +96 -0
  41. package/src/components/scroll-container/scroll-container.component.ts +15 -1
  42. package/src/components/scroll-container/scroll-container.scss +4 -2
  43. package/src/components/scroll-container/scroll-container.test.ts +13 -0
  44. package/src/components/slideout/slideout.component.ts +3 -2
  45. package/src/components/thumbnail-group/thumbnail-group.scss +0 -1
  46. package/src/components/tile/tile.scss +4 -2
  47. package/src/components/translation-group/translation-group.test.ts +22 -0
  48. package/src/components/translations/translations.component.ts +18 -3
  49. package/src/form-control.scss +3 -1
  50. package/src/internal/conditional.ts +2 -2
  51. package/src/internal/form.ts +2 -1
  52. package/src/internal/selection-card.ts +19 -0
  53. package/src/selection-card.scss +187 -0
  54. package/src/utilities/query.test.ts +18 -1
  55. package/src/utilities/query.ts +8 -0
  56. package/src/zinc.ts +1 -0
package/dist/zn.d.ts CHANGED
@@ -124,6 +124,16 @@ declare module "internal/form-navigation" {
124
124
  */
125
125
  export function getFormNavigationController(form: HTMLFormElement): FormNavigationController;
126
126
  }
127
+ declare module "utilities/query" {
128
+ /**
129
+ * Builds a valid `#id` selector. Ids can legally contain characters that CSS treats as syntax (`&`, `.`, `:`,
130
+ * a leading digit), so they must be escaped before being used in `querySelector`/`matches`.
131
+ */
132
+ export function idSelector(id: string): string;
133
+ export function deepQuery<T extends Element = Element>(selector: string, root?: Document | ShadowRoot | Element): T | null;
134
+ export function deepQueryAll<T extends Element = Element>(selector: string, root?: Document | ShadowRoot | Element, out?: T[]): T[];
135
+ export function deepQuerySelectorAll(selector: string, element: Element, stopSelector: string): Element[];
136
+ }
127
137
  declare module "internal/storage" {
128
138
  export class Store {
129
139
  storage: Storage;
@@ -687,11 +697,6 @@ declare module "events/zn-select" {
687
697
  }
688
698
  }
689
699
  }
690
- declare module "utilities/query" {
691
- export function deepQuery<T extends Element = Element>(selector: string, root?: Document | ShadowRoot | Element): T | null;
692
- export function deepQueryAll<T extends Element = Element>(selector: string, root?: Document | ShadowRoot | Element, out?: T[]): T[];
693
- export function deepQuerySelectorAll(selector: string, element: Element, stopSelector: string): Element[];
694
- }
695
700
  declare module "internal/offset" {
696
701
  /**
697
702
  * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the
@@ -5981,16 +5986,19 @@ declare module "components/scroll-container/scroll-container.component" {
5981
5986
  *
5982
5987
  * @csspart base - The component's base wrapper.
5983
5988
  *
5984
- * @cssproperty --example - An example CSS custom property.
5989
+ * @cssproperty --zn-scroll-container-height - The height and maximum height of the scroll container.
5985
5990
  */
5986
5991
  export default class ZnScrollContainer extends ZincElement {
5987
5992
  static styles: CSSResultGroup;
5993
+ /** The height and maximum height of the scroll container. */
5994
+ height: string;
5988
5995
  startScrolled: boolean;
5989
5996
  private container;
5990
5997
  private footer;
5991
5998
  private _footerObserved;
5992
5999
  private _footerHeightFrame;
5993
6000
  protected firstUpdated(_changedProperties: PropertyValues): void;
6001
+ protected updated(changedProperties: PropertyValues): void;
5994
6002
  disconnectedCallback(): void;
5995
6003
  scrollEnd(): void;
5996
6004
  private _syncFooterHeight;
@@ -7022,10 +7030,20 @@ declare module "components/editor/index" {
7022
7030
  }
7023
7031
  }
7024
7032
  }
7033
+ declare module "internal/selection-card" {
7034
+ /** Where a selection card renders its image, relative to the card's text. */
7035
+ export type SelectionCardImagePosition = 'top' | 'right' | 'bottom' | 'left';
7036
+ /**
7037
+ * Where a selection card renders its radio/checkbox indicator. `start` keeps the standard
7038
+ * inline position; `none` hides the indicator so the card itself shows the selected state.
7039
+ */
7040
+ export type SelectionCardControlPosition = 'start' | 'none' | 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
7041
+ }
7025
7042
  declare module "components/checkbox/checkbox.component" {
7026
7043
  import { type CSSResultGroup } from 'lit';
7027
7044
  import ZincElement from "internal/zinc-element";
7028
7045
  import ZnIcon from "components/icon/index";
7046
+ import type { SelectionCardControlPosition, SelectionCardImagePosition } from "internal/selection-card";
7029
7047
  import type { ZincFormControl } from "internal/zinc-element";
7030
7048
  type ColorOption = 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' | 'transparent';
7031
7049
  /**
@@ -7037,6 +7055,7 @@ declare module "components/checkbox/checkbox.component" {
7037
7055
  * @dependency zn-icon
7038
7056
  *
7039
7057
  * @slot - The checkbox's label.
7058
+ * @slot image - Replaces the built-in image used by contained checkboxes.
7040
7059
  * @slot description - A description of the checkbox's label. Serves as help text for a checkbox item. Alternatively, you can use the `description` attribute.
7041
7060
  * @slot selected-content - Use to nest rich content (like an input) inside a selected checkbox item. Use only with the contained style.
7042
7061
  *
@@ -7053,9 +7072,22 @@ declare module "components/checkbox/checkbox.component" {
7053
7072
  * @csspart checked-icon - The checked icon, an `<zn-icon>` element.
7054
7073
  * @csspart unchecked-icon - The unchecked icon, an `<zn-icon>` element.
7055
7074
  * @csspart indeterminate-icon - The indeterminate icon, an `<zn-icon>` element.
7075
+ * @csspart image-container - The wrapper around the built-in image or image slot.
7076
+ * @csspart image - The built-in image.
7077
+ * @csspart card-title - The title inside a selection card.
7056
7078
  * @csspart label - The container that wraps the checkbox's label.
7057
7079
  * @csspart description - The container that wraps the checkbox's description.
7058
7080
  * @csspart selected-content - The container that wraps optional content that appears when a checkbox is checked.
7081
+ *
7082
+ * @cssproperty --zn-selection-card-image-width - Width of the built-in card image.
7083
+ * @cssproperty --zn-selection-card-image-height - Height of the built-in card image.
7084
+ * @cssproperty --zn-selection-card-min-height - Minimum height of a contained checkbox with an image.
7085
+ * @cssproperty --zn-selection-card-content-min-width - Width the card text keeps before it wraps below the image.
7086
+ * @cssproperty --zn-selection-card-title-font-size - Font size of a selection card title.
7087
+ * @cssproperty --zn-selection-card-padding - Equal inset around the contents of a selection card.
7088
+ * @cssproperty --zn-selection-card-gap - Space between the image, title, and indicator gutter.
7089
+ * @cssproperty --zn-selection-card-control-offset - Distance between a positioned control and the card edge.
7090
+ * @cssproperty --zn-selection-card-border-radius - Corner radius of a contained container.
7059
7091
  */
7060
7092
  export default class ZnCheckbox extends ZincElement implements ZincFormControl {
7061
7093
  static styles: CSSResultGroup;
@@ -7071,6 +7103,8 @@ declare module "components/checkbox/checkbox.component" {
7071
7103
  name: string;
7072
7104
  /** The current value of the checkbox, submitted as a name/value pair with form data. */
7073
7105
  value: string;
7106
+ /** Title rendered inside the card. The default slot takes precedence when provided. */
7107
+ cardTitle: string;
7074
7108
  /** The unchecked value of the checkbox, submitted as a name/value pair with form data. */
7075
7109
  uncheckedValue: string;
7076
7110
  /** The checkbox's size. */
@@ -7086,6 +7120,19 @@ declare module "components/checkbox/checkbox.component" {
7086
7120
  indeterminate: boolean;
7087
7121
  /** Draws a container around the checkbox. */
7088
7122
  contained: boolean;
7123
+ /** Squares off the corners of the container drawn by `contained`, which is rounded by default. */
7124
+ square: boolean;
7125
+ /** URL for the image shown in a contained checkbox. */
7126
+ src: string;
7127
+ /** Accessible text for the built-in image. Leave empty when the image is decorative. */
7128
+ imageAlt: string;
7129
+ /** Places the image above, beside, or below the checkbox's text. Requires `contained`. */
7130
+ imagePosition: SelectionCardImagePosition;
7131
+ /**
7132
+ * Places the checkbox indicator within a contained card. Use `none` to hide the indicator so the card itself
7133
+ * shows the selected state. Requires `contained`.
7134
+ */
7135
+ controlPosition: SelectionCardControlPosition;
7089
7136
  /** Removes a container around the checkbox. */
7090
7137
  borderless: boolean;
7091
7138
  /** Applies styles relevant to checkboxes in a horizontal layout. */
@@ -7318,6 +7365,7 @@ declare module "components/radio/radio.component" {
7318
7365
  import { type CSSResultGroup } from 'lit';
7319
7366
  import ZincElement from "internal/zinc-element";
7320
7367
  import ZnIcon from "components/icon/index";
7368
+ import type { SelectionCardControlPosition, SelectionCardImagePosition } from "internal/selection-card";
7321
7369
  import type { ZincFormControl } from "internal/zinc-element";
7322
7370
  /**
7323
7371
  * @summary Short summary of the component's intended use.
@@ -7328,6 +7376,7 @@ declare module "components/radio/radio.component" {
7328
7376
  * @dependency zn-icon
7329
7377
  *
7330
7378
  * @slot - The radio's label.
7379
+ * @slot image - Replaces the built-in image used by contained radios.
7331
7380
  * @slot description - A description of the radio's label. Serves as help text for a radio item. Alternatively, you can use the `description` attribute.
7332
7381
  * @slot selected-content - Use to nest rich content (like an input) inside a selected radio item. Use only with the contained style.
7333
7382
  *
@@ -7341,9 +7390,22 @@ declare module "components/radio/radio.component" {
7341
7390
  * @csspart control - The square container that wraps the radio's checked state.
7342
7391
  * @csspart control--checked - Matches the control part when the radio is checked.
7343
7392
  * @csspart checked-icon - The checked icon, an `<zn-icon>` element.
7393
+ * @csspart image-container - The wrapper around the built-in image or image slot.
7394
+ * @csspart image - The built-in image.
7395
+ * @csspart card-title - The title inside a selection card.
7344
7396
  * @csspart label - The container that wraps the radio's label.
7345
7397
  * @csspart description - The container that wraps the radio's description.
7346
7398
  * @csspart selected-content - The container that wraps optional content that appears when a radio is checked.
7399
+ *
7400
+ * @cssproperty --zn-selection-card-image-width - Width of the built-in card image.
7401
+ * @cssproperty --zn-selection-card-image-height - Height of the built-in card image.
7402
+ * @cssproperty --zn-selection-card-min-height - Minimum height of a contained radio with an image.
7403
+ * @cssproperty --zn-selection-card-content-min-width - Width the card text keeps before it wraps below the image.
7404
+ * @cssproperty --zn-selection-card-title-font-size - Font size of a selection card title.
7405
+ * @cssproperty --zn-selection-card-padding - Equal inset around the contents of a selection card.
7406
+ * @cssproperty --zn-selection-card-gap - Space between the image, title, and indicator gutter.
7407
+ * @cssproperty --zn-selection-card-control-offset - Distance between a positioned control and the card edge.
7408
+ * @cssproperty --zn-selection-card-border-radius - Corner radius of a contained container.
7347
7409
  */
7348
7410
  export default class ZnRadio extends ZincElement implements ZincFormControl {
7349
7411
  static styles: CSSResultGroup;
@@ -7359,6 +7421,8 @@ declare module "components/radio/radio.component" {
7359
7421
  name: string;
7360
7422
  /** The current value of the radio, submitted as a name/value pair with form data. */
7361
7423
  value: string;
7424
+ /** Title rendered inside the card. The default slot takes precedence when provided. */
7425
+ cardTitle: string;
7362
7426
  /** The radio's size. */
7363
7427
  size: 'small' | 'medium' | 'large';
7364
7428
  /** Disables the radio. */
@@ -7367,6 +7431,19 @@ declare module "components/radio/radio.component" {
7367
7431
  checked: boolean;
7368
7432
  /** Draws a container around the radio. */
7369
7433
  contained: boolean;
7434
+ /** Squares off the corners of the container drawn by `contained`, which is rounded by default. */
7435
+ square: boolean;
7436
+ /** URL for the image shown in a contained radio. */
7437
+ src: string;
7438
+ /** Accessible text for the built-in image. Leave empty when the image is decorative. */
7439
+ imageAlt: string;
7440
+ /** Places the image above, beside, or below the radio's text. Requires `contained`. */
7441
+ imagePosition: SelectionCardImagePosition;
7442
+ /**
7443
+ * Places the radio indicator within a contained card. Use `none` to hide the indicator so the card itself
7444
+ * shows the selected state. Requires `contained`.
7445
+ */
7446
+ controlPosition: SelectionCardControlPosition;
7370
7447
  /** Applies styles relevant to radios in a horizontal layout. */
7371
7448
  horizontal: boolean;
7372
7449
  /** The default value of the form control. Primarily used for resetting the form control. */
@@ -7532,7 +7609,7 @@ declare module "components/radio-group/radio-group.component" {
7532
7609
  *
7533
7610
  * @csspart base - The component's base wrapper.
7534
7611
  *
7535
- * @cssproperty --example - An example CSS custom property.
7612
+ * @cssproperty --zn-radio-group-column-width - Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.
7536
7613
  */
7537
7614
  export default class ZnRadioGroup extends ZincElement implements ZincFormControl {
7538
7615
  static styles: CSSResultGroup;
@@ -7559,10 +7636,17 @@ declare module "components/radio-group/radio-group.component" {
7559
7636
  value: string;
7560
7637
  /** The radio group's size. This size will be applied to all child radios */
7561
7638
  size: 'small' | 'medium' | 'large';
7562
- /** The checkbox group's orientation. Changes the group's layout from the default (vertical) to horizontal. */
7639
+ /** The radio group's orientation. Changes the group's layout from the default (vertical) to horizontal. */
7563
7640
  horizontal: boolean;
7564
- /** The checkbox group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child checkboxes. */
7641
+ /** The radio group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child radios. */
7565
7642
  contained: boolean;
7643
+ /** Squares off the corners of every contained radio in the group, which are rounded by default. */
7644
+ square: boolean;
7645
+ /**
7646
+ * Lays horizontal contained radios out as a wrapping row instead of an equal-width grid, so each one sizes from
7647
+ * `--zn-radio-group-column-width` (set it to `auto` to size from content) and wraps onto a new line when needed.
7648
+ */
7649
+ wrap: boolean;
7566
7650
  /**
7567
7651
  * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you
7568
7652
  * to place the form control outside a form and associate it with the form that has this `id`. The form must be in
@@ -7907,6 +7991,8 @@ declare module "components/checkbox-group/checkbox-group.component" {
7907
7991
  * @csspart form-control-label - The label's wrapper.
7908
7992
  * @csspart form-control-input - The input's wrapper.
7909
7993
  * @csspart form-control-help-text - The help text's wrapper.
7994
+ *
7995
+ * @cssproperty --zn-checkbox-group-column-width - Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.
7910
7996
  */
7911
7997
  export default class ZnCheckboxGroup extends ZincElement implements ZincFormControl {
7912
7998
  static styles: CSSResultGroup;
@@ -7936,6 +8022,13 @@ declare module "components/checkbox-group/checkbox-group.component" {
7936
8022
  horizontal: boolean;
7937
8023
  /** The checkbox group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child checkboxes. */
7938
8024
  contained: boolean;
8025
+ /** Squares off the corners of every contained checkbox in the group, which are rounded by default. */
8026
+ square: boolean;
8027
+ /**
8028
+ * Lays horizontal contained checkboxes out as a wrapping row instead of an equal-width grid, so each one sizes from
8029
+ * `--zn-checkbox-group-column-width` (set it to `auto` to size from content) and wraps onto a new line when needed.
8030
+ */
8031
+ wrap: boolean;
7939
8032
  /**
7940
8033
  * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you
7941
8034
  * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in
@@ -8858,6 +8951,12 @@ declare module "components/translations/translations.component" {
8858
8951
  addLanguageKey(languageCode: string): void;
8859
8952
  /** Returns all language codes that have values. */
8860
8953
  getValueLanguages(): string[];
8954
+ /**
8955
+ * `values`, falling back to the `value` attribute it is built from while that is still pending. A parent
8956
+ * zn-translation-group syncs its children from its own first update, which runs before theirs, so reading
8957
+ * `values` alone would see it empty and overwrite the value the server rendered.
8958
+ */
8959
+ private pendingValues;
8861
8960
  disconnectedCallback(): void;
8862
8961
  protected firstUpdated(): void;
8863
8962
  protected updated(changedProperties: PropertyValues): void;
@@ -9385,6 +9484,8 @@ declare module "components/remarkd-editor/remarkd-editor.component" {
9385
9484
  * @csspart image-controls - The caption / alignment / size panel shown when an image block is clicked.
9386
9485
  * @csspart include - The chip rendered in place of an `include::` directive.
9387
9486
  * @csspart include-picker - The inline Include picker opened from the toolbar or "/include".
9487
+ *
9488
+ * @cssproperty --remarkd-editor-max-height - The tallest the editor grows before its body scrolls. Defaults to `100dvh`.
9388
9489
  */
9389
9490
  export default class ZnRemarkdEditor extends ZincElement implements ZincFormControl {
9390
9491
  static styles: CSSResultGroup;
@@ -9423,6 +9524,8 @@ declare module "components/remarkd-editor/remarkd-editor.component" {
9423
9524
  private dragStartX;
9424
9525
  private dragStartY;
9425
9526
  private dragGhost;
9527
+ private dragPointerY;
9528
+ private autoScrollFrame;
9426
9529
  /** The name of the control, submitted as part of form data. */
9427
9530
  name: string;
9428
9531
  /** The current remarkd source. */
@@ -9493,6 +9596,20 @@ declare module "components/remarkd-editor/remarkd-editor.component" {
9493
9596
  */
9494
9597
  private computeEditShell;
9495
9598
  private focusInput;
9599
+ /**
9600
+ * Scrolls the editor's own body to bring `el` into view. Never `scrollIntoView()` and
9601
+ * never `focus()` without preventScroll: both walk every scrollable ancestor, and an
9602
+ * `overflow: hidden`/`auto` panel around the editor is scrollable too — that shifts a
9603
+ * container the user never asked to move.
9604
+ */
9605
+ private reveal;
9606
+ private revealAfterUpdate;
9607
+ /**
9608
+ * Centres a block added without opening an editor. An image has no height until it
9609
+ * loads, so the first pass scrolls against a layout that is still short — the second
9610
+ * pass corrects it once the real dimensions are in.
9611
+ */
9612
+ private revealBlock;
9496
9613
  private addBlockAt;
9497
9614
  private deleteBlock;
9498
9615
  /** Inserts a draft block — committed (or dropped, if left empty) on blur. */
@@ -9519,6 +9636,16 @@ declare module "components/remarkd-editor/remarkd-editor.component" {
9519
9636
  private insertionIndexFromY;
9520
9637
  private handleHandlePointerDown;
9521
9638
  private handleDragPointerMove;
9639
+ /**
9640
+ * Holding the pointer near a scroll edge keeps the content moving, so a block can
9641
+ * be dragged past the visible slice of a long document. Runs per frame rather than
9642
+ * per pointermove — a pointer parked at the edge stops emitting moves.
9643
+ */
9644
+ private stepAutoScroll;
9645
+ /** Scrolls the editor body, falling through to the page once the body is at its limit. */
9646
+ private autoScroll;
9647
+ /** Scroll step for this frame: nothing until the pointer is within `edge` of a boundary. */
9648
+ private edgeScrollDelta;
9522
9649
  private handleDragPointerUp;
9523
9650
  private cancelDrag;
9524
9651
  private createDragGhost;
@@ -12144,6 +12271,72 @@ declare module "components/thumbnail-group/index" {
12144
12271
  }
12145
12272
  }
12146
12273
  }
12274
+ declare module "components/background/background.component" {
12275
+ import { type CSSResultGroup } from 'lit';
12276
+ import ZincElement from "internal/zinc-element";
12277
+ import ZnIcon from "components/icon/index";
12278
+ export type BackgroundImageStrength = 'soft' | 'medium' | 'full';
12279
+ export type BackgroundMotion = 'none' | 'drift' | 'breathe';
12280
+ export type BackgroundOverlay = 'none' | 'soft' | 'strong';
12281
+ export type BackgroundOverlayTone = 'light' | 'dark';
12282
+ /**
12283
+ * @summary Composes a colour, decorative image, image strength, optional motion and contrast overlay behind slotted content.
12284
+ *
12285
+ * @documentation https://zinc.style/components/background
12286
+ * @status experimental
12287
+ * @since 1.0
12288
+ *
12289
+ * @dependency zn-icon
12290
+ *
12291
+ * @slot - Content displayed above the background layers.
12292
+ *
12293
+ * @csspart base - The component's full-size background canvas.
12294
+ * @csspart image - The decorative background image.
12295
+ * @csspart overlay - The contrast overlay between the image and content.
12296
+ * @csspart floating-icons - The non-interactive layer containing the floating icons.
12297
+ * @csspart floating-icon - Each floating `zn-icon`.
12298
+ * @csspart content - The wrapper around the default slot.
12299
+ *
12300
+ * @cssproperty --zn-background-color - Fallback colour when the `color` attribute is not set.
12301
+ * @cssproperty --zn-background-image-position - Position of the background image. Defaults to `center`.
12302
+ * @cssproperty --zn-background-overlay-angle - Direction of the overlay gradient. Defaults to `110deg`.
12303
+ * @cssproperty --zn-background-floating-icon-color - Colour of the floating icons. Defaults to `currentColor`.
12304
+ */
12305
+ export default class ZnBackground extends ZincElement {
12306
+ static styles: CSSResultGroup;
12307
+ static dependencies: {
12308
+ 'zn-icon': typeof ZnIcon;
12309
+ };
12310
+ private readonly resizeObserver;
12311
+ /** URL of the decorative background image. */
12312
+ image: string;
12313
+ /** CSS colour painted beneath the image. */
12314
+ color: string;
12315
+ /** Visibility of the image: `soft` (30%), `medium` (62%) or `full` (100%). */
12316
+ imageStrength: BackgroundImageStrength;
12317
+ /** Subtle animation applied to the image. Motion stops when reduced motion is requested. */
12318
+ motion: BackgroundMotion;
12319
+ /** Strength of the contrast gradient above the image. */
12320
+ overlay: BackgroundOverlay;
12321
+ /** Whether the overlay uses a light or dark contrast treatment. */
12322
+ overlayTone: BackgroundOverlayTone;
12323
+ /** Comma-separated Zinc icon names placed as ambient decoration. At most eight are rendered. */
12324
+ floatingIcons: string;
12325
+ /** Pauses background motion without changing the selected motion treatment. */
12326
+ paused: boolean;
12327
+ render(): import("lit-html").TemplateResult<1>;
12328
+ }
12329
+ }
12330
+ declare module "components/background/index" {
12331
+ import ZnBackground from "components/background/background.component";
12332
+ export * from "components/background/background.component";
12333
+ export default ZnBackground;
12334
+ global {
12335
+ interface HTMLElementTagNameMap {
12336
+ 'zn-background': ZnBackground;
12337
+ }
12338
+ }
12339
+ }
12147
12340
  declare module "utilities/form" {
12148
12341
  export { clearFormStoreValues } from "internal/form";
12149
12342
  }
@@ -12507,6 +12700,7 @@ declare module "zinc" {
12507
12700
  export { default as ScheduleBuilder } from "components/schedule-builder/index";
12508
12701
  export { default as Thumbnail } from "components/thumbnail/index";
12509
12702
  export { default as ThumbnailGroup } from "components/thumbnail-group/index";
12703
+ export { default as Background } from "components/background/index";
12510
12704
  export { default as ZincElement } from "internal/zinc-element";
12511
12705
  export * from "utilities/on";
12512
12706
  export * from "utilities/query";