@vonage/vivid 5.8.0 → 5.10.0

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 (158) hide show
  1. package/bundled/affix.js +1 -1
  2. package/bundled/anchored.cjs +1 -1
  3. package/bundled/anchored.js +6 -6
  4. package/bundled/data-grid.options.cjs +1 -0
  5. package/bundled/data-grid.options.js +29 -0
  6. package/bundled/definition10.js +4 -4
  7. package/bundled/definition2.cjs +1 -1
  8. package/bundled/definition2.js +1 -1
  9. package/bundled/definition3.cjs +1 -1
  10. package/bundled/definition3.js +1 -1
  11. package/bundled/definition7.js +3 -3
  12. package/bundled/definition9.cjs +9 -9
  13. package/bundled/definition9.js +113 -1342
  14. package/bundled/floating-ui.dom.cjs +1 -0
  15. package/bundled/floating-ui.dom.js +1242 -0
  16. package/bundled/host-semantics.js +4 -4
  17. package/bundled/localized.cjs +1 -1
  18. package/bundled/localized.js +21 -16
  19. package/bundled/mixins.cjs +2 -2
  20. package/bundled/mixins.js +6 -6
  21. package/bundled/slottable-request.cjs +4 -0
  22. package/bundled/slottable-request.js +2907 -0
  23. package/bundled/vivid-element.cjs +3 -3
  24. package/bundled/vivid-element.js +89 -69
  25. package/card/definition.cjs +1 -1
  26. package/card/definition.js +1 -1
  27. package/card/index.cjs +10 -10
  28. package/card/index.js +42 -42
  29. package/combobox/definition.cjs +14 -15
  30. package/combobox/definition.js +15 -16
  31. package/combobox/index.cjs +4 -4
  32. package/combobox/index.js +82 -87
  33. package/country/definition.cjs +340 -0
  34. package/country/definition.js +334 -0
  35. package/country/index.cjs +12 -0
  36. package/country/index.js +317 -0
  37. package/custom-elements.json +4835 -613
  38. package/data-grid/definition.cjs +23 -49
  39. package/data-grid/definition.js +1 -27
  40. package/data-grid/index.cjs +27 -27
  41. package/data-grid/index.js +44 -64
  42. package/file-picker/definition.cjs +10 -8
  43. package/file-picker/definition.js +10 -8
  44. package/file-picker/index.cjs +5 -5
  45. package/file-picker/index.js +12 -12
  46. package/icon/definition.cjs +1 -1
  47. package/icon/definition.js +1 -1
  48. package/index.cjs +38 -4
  49. package/index.js +7 -2
  50. package/lib/components.d.ts +6 -1
  51. package/lib/country/countries-data.d.ts +6 -0
  52. package/lib/country/country-code-to-flag-icon.d.ts +5 -0
  53. package/lib/country/country.d.ts +5 -0
  54. package/lib/country/country.template.d.ts +3 -0
  55. package/lib/country/definition.d.ts +3 -0
  56. package/lib/popover/definition.d.ts +4 -0
  57. package/lib/popover/locale.d.ts +3 -0
  58. package/lib/popover/popover.d.ts +781 -0
  59. package/lib/popover/popover.template.d.ts +3 -0
  60. package/lib/rich-text-editor/locale.d.ts +2 -0
  61. package/lib/rich-text-editor/popover.d.ts +1 -0
  62. package/lib/rich-text-editor/rte/config.d.ts +5 -1
  63. package/lib/rich-text-editor/rte/document.d.ts +2 -0
  64. package/lib/rich-text-editor/rte/exports.d.ts +5 -0
  65. package/lib/rich-text-editor/rte/feature.d.ts +7 -1
  66. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  67. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +1 -1
  68. package/lib/rich-text-editor/rte/features/internal/history.d.ts +1 -1
  69. package/lib/rich-text-editor/rte/features/internal/input-rules.d.ts +15 -0
  70. package/lib/rich-text-editor/rte/instance.d.ts +4 -2
  71. package/lib/rich-text-editor/rte/utils/feature-state.d.ts +8 -0
  72. package/lib/rich-text-editor/rte/utils/text-before-cursor.d.ts +2 -0
  73. package/lib/rich-text-editor/rte/utils/ui.d.ts +2 -0
  74. package/lib/rich-text-editor/rte/view.d.ts +30 -0
  75. package/lib/rich-text-view/definition.d.ts +5 -0
  76. package/lib/rich-text-view/rich-text-view.d.ts +19 -0
  77. package/lib/rich-text-view/rich-text-view.template.d.ts +3 -0
  78. package/lib/selectable-box/selectable-box.d.ts +1 -0
  79. package/lib/status/definition.d.ts +4 -0
  80. package/lib/status/status.d.ts +388 -0
  81. package/lib/status/status.template.d.ts +3 -0
  82. package/lib/table/definition.d.ts +8 -0
  83. package/lib/table/table-body.d.ts +3 -0
  84. package/lib/table/table-body.template.d.ts +3 -0
  85. package/lib/table/table-cell.d.ts +381 -0
  86. package/lib/table/table-cell.template.d.ts +3 -0
  87. package/lib/table/table-head.d.ts +3 -0
  88. package/lib/table/table-head.template.d.ts +3 -0
  89. package/lib/table/table-header-cell.d.ts +381 -0
  90. package/lib/table/table-header-cell.template.d.ts +3 -0
  91. package/lib/table/table-row.d.ts +381 -0
  92. package/lib/table/table-row.template.d.ts +3 -0
  93. package/lib/table/table.d.ts +3 -0
  94. package/lib/table/table.template.d.ts +3 -0
  95. package/lib/tag/tag.d.ts +1 -1
  96. package/lib/tag-name-map.d.ts +11 -1
  97. package/locales/de-DE.cjs +6 -1
  98. package/locales/de-DE.js +6 -1
  99. package/locales/en-GB.cjs +6 -1
  100. package/locales/en-GB.js +6 -1
  101. package/locales/en-US.cjs +6 -1
  102. package/locales/en-US.js +6 -1
  103. package/locales/ja-JP.cjs +6 -1
  104. package/locales/ja-JP.js +6 -1
  105. package/locales/zh-CN.cjs +6 -1
  106. package/locales/zh-CN.js +6 -1
  107. package/package.json +10 -9
  108. package/popover/definition.cjs +363 -0
  109. package/popover/definition.js +357 -0
  110. package/popover/index.cjs +27 -0
  111. package/popover/index.js +263 -0
  112. package/rich-text-editor/definition.cjs +12125 -14657
  113. package/rich-text-editor/definition.js +8876 -11412
  114. package/rich-text-editor/index.cjs +20 -22
  115. package/rich-text-editor/index.js +5046 -7096
  116. package/rich-text-view/definition.cjs +171 -0
  117. package/rich-text-view/definition.js +165 -0
  118. package/rich-text-view/index.cjs +1 -0
  119. package/rich-text-view/index.js +103 -0
  120. package/selectable-box/definition.cjs +16 -5
  121. package/selectable-box/definition.js +16 -5
  122. package/selectable-box/index.cjs +11 -9
  123. package/selectable-box/index.js +86 -78
  124. package/shared/localization/Locale.d.ts +2 -0
  125. package/shared/utils/slottable-request.d.ts +7 -0
  126. package/status/definition.cjs +76 -0
  127. package/status/definition.js +70 -0
  128. package/status/index.cjs +11 -0
  129. package/status/index.js +55 -0
  130. package/styles/core/all.css +2 -2
  131. package/styles/core/theme.css +2 -2
  132. package/styles/core/typography.css +1 -1
  133. package/styles/tokens/theme-dark.css +4 -4
  134. package/styles/tokens/theme-light.css +4 -4
  135. package/styles/tokens/vivid-2-compat.css +1 -1
  136. package/table/definition.cjs +168 -0
  137. package/table/definition.js +152 -0
  138. package/table/index.cjs +37 -0
  139. package/table/index.js +107 -0
  140. package/tag/definition.cjs +1 -1
  141. package/tag/definition.js +1 -1
  142. package/tag/index.cjs +24 -24
  143. package/tag/index.js +89 -89
  144. package/unbundled/_commonjsHelpers.cjs +26 -0
  145. package/unbundled/_commonjsHelpers.js +26 -1
  146. package/unbundled/data-grid.options.cjs +34 -0
  147. package/unbundled/data-grid.options.js +28 -0
  148. package/unbundled/definition.cjs +1 -1
  149. package/unbundled/definition.js +1 -1
  150. package/unbundled/slottable-request.cjs +3702 -0
  151. package/unbundled/slottable-request.js +3684 -0
  152. package/unbundled/vivid-element.cjs +1 -1
  153. package/unbundled/vivid-element.js +1 -1
  154. package/video-player/definition.cjs +11 -1
  155. package/video-player/definition.js +12 -2
  156. package/video-player/index.cjs +30 -30
  157. package/video-player/index.js +705 -702
  158. package/vivid.api.json +1957 -143
@@ -1,6 +1,7 @@
1
1
  import { I as N, i as W } from "../bundled/definition2.js";
2
- import { V as $, h as u, a as m, o as a, b as G, U as D, O as R, n as J, c as X, d as F } from "../bundled/vivid-element.js";
2
+ import { V as $, h as u, a as f, o as a, b as G, U as D, O as R, n as J, c as X, d as F } from "../bundled/vivid-element.js";
3
3
  import { V as Y, v as Z } from "../bundled/definition14.js";
4
+ import { D as v, a as _, b as g, G as b, c as H } from "../bundled/data-grid.options.js";
4
5
  import { R as A } from "../bundled/repeat.js";
5
6
  import { n as T } from "../bundled/normalize.js";
6
7
  import { d as ee, e as te, f as L, k as P, a as M, g as oe, h as le, i as ie, j as ne, b as ae, c as re, l as se } from "../bundled/key-codes.js";
@@ -9,35 +10,14 @@ import { c as V } from "../bundled/children.js";
9
10
  import { s as q, e as Q } from "../bundled/slotted.js";
10
11
  import { L as ce } from "../bundled/localized.js";
11
12
  import { c as B } from "../bundled/class-names.js";
12
- import { w as k } from "../bundled/when.js";
13
- const H = "focus", O = "focusin", w = "focusout", y = "keydown", de = ":host{display:block}:host([generate-header=sticky]){max-block-size:400px}.base{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.base{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.base ::-webkit-scrollbar{width:4px}.base ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.base ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.base{position:relative;overflow:auto;block-size:inherit;inline-size:100%;max-block-size:inherit}", ue = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-row-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-row-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-row-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-data-grid-row-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-data-grid-row-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-data-grid-row-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-row-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-row-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-row-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-row-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-data-grid-row-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-data-grid-row-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-data-grid-row-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-row-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:grid;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host([row-type=sticky-header]) .base{position:sticky;z-index:9;top:0;background:var(--data-grid-row-background, var(--vvd-color-canvas))}:host([row-type=hidden-header]) .base{display:none}:host(:is([selected]):not([row-type*=header])) .base{background-color:var(--_appearance-color-fill)}", he = ':host{block-size:100%;min-inline-size:80px}:host(:focus-visible){outline:none}:host([data-fixed]){position:sticky;z-index:5;background:var(--data-grid-cell-background, var(--vvd-color-surface-2dp))}:host([data-fixed]):before{position:absolute;z-index:1;top:0;right:0;width:1px;block-size:100%;box-shadow:4px 0 4px #0000001a,2px 0 2px #0000000d,1px 0 1px #0000000d;content:"";pointer-events:none}.base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-cell-cta-firm, var(--vvd-color-cta-600));--_connotation-color-soft: var(--vvd-data-grid-cell-cta-soft, var(--vvd-color-cta-100));--_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));--_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-cell-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-soft: var(--vvd-data-grid-cell-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-bottom:1px solid var(--vvd-color-neutral-300);block-size:var(--data-grid-cell-block-size, var(--_data-grid-cell-default-block-size));color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:13px 14px;padding-inline:12px}:host(:focus-visible) .base{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}:host([cell-type=columnheader]) .base{border-color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);--_data-grid-cell-default-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_data-grid-cell-default-white-space: nowrap}:host(:not([cell-type=columnheader])) .base{--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host(:is([selected]):not([cell-type=columnheader])) .base{background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}:host(:not([cell-type=columnheader][aria-sort])) slot{inline-size:100%}.header-icon{margin-inline-start:16px}', _ = {
14
- none: "none",
15
- ascending: "ascending",
16
- descending: "descending",
17
- other: "other"
18
- }, b = {
19
- none: "none",
20
- default: "default",
21
- sticky: "sticky"
22
- }, v = {
23
- default: "default",
24
- columnHeader: "columnheader",
25
- rowHeader: "rowheader"
26
- }, g = {
27
- default: "default",
28
- header: "header",
29
- stickyHeader: "sticky-header"
30
- }, z = {
31
- columnheader: "columnheader",
32
- rowheader: "rowheader",
33
- default: "gridcell"
34
- };
35
- var fe = Object.defineProperty, C = (o, e, t, i) => {
13
+ import { w as I } from "../bundled/when.js";
14
+ const O = "focus", z = "focusin", w = "focusout", y = "keydown", de = ":host{display:block}:host([generate-header=sticky]){max-block-size:400px}.base{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.base{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.base ::-webkit-scrollbar{width:4px}.base ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.base ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.base{position:relative;overflow:auto;block-size:inherit;inline-size:100%;max-block-size:inherit}", ue = ".base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-row-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-row-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-row-cta-firm, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-data-grid-row-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-data-grid-row-cta-soft, var(--vvd-color-cta-100));--_connotation-color-pale: var(--vvd-data-grid-row-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-row-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-row-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-row-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-row-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-row-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-data-grid-row-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-data-grid-row-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-pale: var(--vvd-data-grid-row-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-row-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:grid;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host([row-type=sticky-header]) .base{position:sticky;z-index:9;top:0;background:var(--data-grid-row-background, var(--vvd-color-canvas))}:host([row-type=hidden-header]) .base{display:none}:host(:is([selected]):not([row-type*=header])) .base{background-color:var(--_appearance-color-fill)}", he = ':host{block-size:100%;min-inline-size:80px}:host(:focus-visible){outline:none}:host([data-fixed]){position:sticky;z-index:5;background:var(--data-grid-cell-background, var(--vvd-color-surface-2dp))}:host([data-fixed]):before{position:absolute;z-index:1;top:0;right:0;width:1px;block-size:100%;box-shadow:4px 0 4px #0000001a,2px 0 2px #0000000d,1px 0 1px #0000000d;content:"";pointer-events:none}.base.connotation-cta{--_connotation-color-primary: var(--vvd-data-grid-cell-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-data-grid-cell-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-firm: var(--vvd-data-grid-cell-cta-firm, var(--vvd-color-cta-600));--_connotation-color-soft: var(--vvd-data-grid-cell-cta-soft, var(--vvd-color-cta-100));--_connotation-color-faint: var(--vvd-data-grid-cell-cta-faint, var(--vvd-color-cta-50));--_connotation-color-pale: var(--vvd-data-grid-cell-cta-pale, var(--vvd-color-cta-300));--_connotation-color-dim: var(--vvd-data-grid-cell-cta-dim, var(--vvd-color-cta-200))}.base:not(.connotation-cta){--_connotation-color-primary: var(--vvd-data-grid-cell-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-data-grid-cell-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-data-grid-cell-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-firm: var(--vvd-data-grid-cell-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-soft: var(--vvd-data-grid-cell-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-faint: var(--vvd-data-grid-cell-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-pale: var(--vvd-data-grid-cell-accent-pale, var(--vvd-color-neutral-300));--_connotation-color-dim: var(--vvd-data-grid-cell-accent-dim, var(--vvd-color-neutral-200))}.base{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}@media (hover: hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.base{display:flex;box-sizing:border-box;align-items:center;border-bottom:1px solid var(--vvd-color-neutral-300);block-size:var(--data-grid-cell-block-size, var(--_data-grid-cell-default-block-size));color:var(--_appearance-color-text);font:var(--vvd-typography-base);min-block-size:calc(1px*(48 + 4*clamp(-1,var(--vvd-size-density, 0),2)));padding-block:13px 14px;padding-inline:12px}:host(:focus-visible) .base{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}:host([cell-type=columnheader]) .base{border-color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);--_data-grid-cell-default-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) ;--_data-grid-cell-default-white-space: nowrap}:host(:not([cell-type=columnheader])) .base{--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host(:is([selected]):not([cell-type=columnheader])) .base{background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}:host(:not([cell-type=columnheader][aria-sort])) slot{inline-size:100%}.header-icon{margin-inline-start:16px}';
15
+ var me = Object.defineProperty, C = (o, e, t, i) => {
36
16
  for (var l = void 0, n = o.length - 1, r; n >= 0; n--)
37
17
  (r = o[n]) && (l = r(e, t, l) || l);
38
- return l && fe(e, t, l), l;
18
+ return l && me(e, t, l), l;
39
19
  };
40
- const me = u`
20
+ const fe = u`
41
21
  <template>
42
22
  ${(o) => o.rowData === null || o.columnDefinition === null || o.columnDefinition.columnDataKey === null ? null : o.rowData[o.columnDefinition.columnDataKey]}
43
23
  </template>
@@ -88,13 +68,13 @@ class p extends ce(K($)) {
88
68
  * @internal
89
69
  */
90
70
  connectedCallback() {
91
- super.connectedCallback(), this.addEventListener(O, this.handleFocusin), this.addEventListener(w, this.handleFocusout), this.addEventListener(y, this.handleKeydown), this.style.gridColumn = `${this.columnDefinition?.gridColumn === void 0 ? 0 : this.columnDefinition.gridColumn}`, this.updateCellView(), this.updateCellStyle(), this.updateFixedStyle();
71
+ super.connectedCallback(), this.addEventListener(z, this.handleFocusin), this.addEventListener(w, this.handleFocusout), this.addEventListener(y, this.handleKeydown), this.style.gridColumn = `${this.columnDefinition?.gridColumn === void 0 ? 0 : this.columnDefinition.gridColumn}`, this.updateCellView(), this.updateCellStyle(), this.updateFixedStyle();
92
72
  }
93
73
  /**
94
74
  * @internal
95
75
  */
96
76
  disconnectedCallback() {
97
- super.disconnectedCallback(), this.removeEventListener(O, this.handleFocusin), this.removeEventListener(
77
+ super.disconnectedCallback(), this.removeEventListener(z, this.handleFocusin), this.removeEventListener(
98
78
  w,
99
79
  this.handleFocusout
100
80
  ), this.removeEventListener(y, this.handleKeydown), this.disconnectCellView();
@@ -175,7 +155,7 @@ class p extends ce(K($)) {
175
155
  this.columnDefinition.cellTemplate !== void 0 ? this.customCellView = this.columnDefinition.cellTemplate.render(
176
156
  this,
177
157
  this
178
- ) : this.customCellView = me.render(this, this);
158
+ ) : this.customCellView = fe.render(this, this);
179
159
  break;
180
160
  }
181
161
  this.columnDefinition?.sortable ? this.columnDefinition.sortDirection ? this.sortDirection = this.columnDefinition.sortDirection : this.sortDirection = _.none : this.sortDirection = void 0;
@@ -220,10 +200,10 @@ class p extends ce(K($)) {
220
200
  }
221
201
  }
222
202
  C([
223
- m({ attribute: "cell-type" })
203
+ f({ attribute: "cell-type" })
224
204
  ], p.prototype, "cellType");
225
205
  C([
226
- m({ attribute: "grid-column" })
206
+ f({ attribute: "grid-column" })
227
207
  ], p.prototype, "gridColumn");
228
208
  C([
229
209
  a
@@ -235,10 +215,10 @@ C([
235
215
  a
236
216
  ], p.prototype, "_selectable");
237
217
  C([
238
- m({ mode: "boolean" })
218
+ f({ mode: "boolean" })
239
219
  ], p.prototype, "selected");
240
220
  C([
241
- m({ attribute: "sort-direction" })
221
+ f({ attribute: "sort-direction" })
242
222
  ], p.prototype, "sortDirection");
243
223
  var ve = Object.defineProperty, h = (o, e, t, i) => {
244
224
  for (var l = void 0, n = o.length - 1, r; n >= 0; n--)
@@ -339,10 +319,10 @@ class c extends K($) {
339
319
  }
340
320
  }
341
321
  h([
342
- m({ attribute: "grid-template-columns" })
322
+ f({ attribute: "grid-template-columns" })
343
323
  ], c.prototype, "gridTemplateColumns");
344
324
  h([
345
- m({ attribute: "row-type" })
325
+ f({ attribute: "row-type" })
346
326
  ], c.prototype, "rowType");
347
327
  h([
348
328
  a
@@ -375,20 +355,20 @@ h([
375
355
  a
376
356
  ], c.prototype, "_selectable");
377
357
  h([
378
- m({ mode: "boolean" })
358
+ f({ mode: "boolean" })
379
359
  ], c.prototype, "selected");
380
360
  var ge = Object.defineProperty, d = (o, e, t, i) => {
381
361
  for (var l = void 0, n = o.length - 1, r; n >= 0; n--)
382
362
  (r = o[n]) && (l = r(e, t, l) || l);
383
363
  return l && ge(e, t, l), l;
384
364
  };
385
- const f = {
365
+ const m = {
386
366
  none: "none",
387
367
  singleRow: "single-row",
388
368
  multiRow: "multi-row",
389
369
  singleCell: "single-cell",
390
370
  multiCell: "multi-cell"
391
- }, s = class I extends $ {
371
+ }, s = class k extends $ {
392
372
  constructor() {
393
373
  super(), this.noTabbing = !1, this.generateHeader = b.default, this.rowsData = [], this.columnDefinitions = null, this.focusRowIndex = 0, this.focusColumnIndex = 0, this.fixedColumnsPositions = [], this.behaviorOrchestrator = null, this.generatedHeader = null, this.isUpdatingFocus = !1, this.pendingFocusUpdate = !1, this.rowindexUpdateQueued = !1, this.columnDefinitionsStale = !0, this.generatedGridTemplateColumns = "", this.focusOnCell = (e, t, i) => {
394
374
  if (this.rowElements.length === 0) {
@@ -433,11 +413,11 @@ const f = {
433
413
  (e.key === "Enter" || e.key === " ") && this.#t(e);
434
414
  }, this.#t = ({ target: e, ctrlKey: t, shiftKey: i, metaKey: l }) => {
435
415
  if (!(e.getAttribute("role") !== "gridcell" || e.getAttribute("cell-type") !== "default")) {
436
- if (this.selectionMode === f.singleCell || this.selectionMode === f.multiCell) {
416
+ if (this.selectionMode === m.singleCell || this.selectionMode === m.multiCell) {
437
417
  this.#i({ target: e, ctrlKey: t, shiftKey: i, metaKey: l });
438
418
  return;
439
419
  }
440
- (this.selectionMode === f.singleRow || this.selectionMode === f.multiRow) && this.#n({ target: e, ctrlKey: t, shiftKey: i, metaKey: l });
420
+ (this.selectionMode === m.singleRow || this.selectionMode === m.multiRow) && this.#n({ target: e, ctrlKey: t, shiftKey: i, metaKey: l });
441
421
  }
442
422
  }, this.#i = ({
443
423
  target: e,
@@ -446,7 +426,7 @@ const f = {
446
426
  metaKey: l
447
427
  }) => {
448
428
  const n = e;
449
- if (this.selectionMode === f.multiCell && (t || i || l))
429
+ if (this.selectionMode === m.multiCell && (t || i || l))
450
430
  n.selected = !this.#r.includes(n);
451
431
  else {
452
432
  const r = n.selected;
@@ -459,7 +439,7 @@ const f = {
459
439
  metaKey: l
460
440
  }) => {
461
441
  const n = e.parentNode;
462
- if (this.selectionMode === f.multiRow && (t || i || l))
442
+ if (this.selectionMode === m.multiRow && (t || i || l))
463
443
  n.selected = !this.#a.includes(n);
464
444
  else {
465
445
  const r = n.selected;
@@ -479,16 +459,16 @@ const f = {
479
459
  ), i = Array.from(
480
460
  this.querySelectorAll('[role="row"], [row-type="default"]')
481
461
  );
482
- if (this.selectionMode === f.singleCell || this.selectionMode === f.multiCell) {
462
+ if (this.selectionMode === m.singleCell || this.selectionMode === m.multiCell) {
483
463
  for (const l of t)
484
464
  l._selectable = !0, l.selected = e ? !1 : l.selected || !1;
485
465
  for (const l of i)
486
466
  l._selectable = !1, l.selected = !1;
487
467
  }
488
- if (this.selectionMode === f.none)
468
+ if (this.selectionMode === m.none)
489
469
  for (const l of [...t, ...i])
490
470
  l._selectable = !1, l.selected = !1;
491
- if (this.selectionMode === f.singleRow || this.selectionMode === f.multiRow) {
471
+ if (this.selectionMode === m.singleRow || this.selectionMode === m.multiRow) {
492
472
  for (const l of t)
493
473
  l._selectable = !1, l.selected = !1;
494
474
  for (const l of i)
@@ -534,7 +514,7 @@ const f = {
534
514
  * @internal
535
515
  */
536
516
  rowsDataChanged() {
537
- this.columnDefinitions === null && this.rowsData.length > 0 && (this.columnDefinitions = I.generateColumns(this.rowsData[0])), this.$fastController.isConnected && this.toggleGeneratedHeader();
517
+ this.columnDefinitions === null && this.rowsData.length > 0 && (this.columnDefinitions = k.generateColumns(this.rowsData[0])), this.$fastController.isConnected && this.toggleGeneratedHeader();
538
518
  }
539
519
  /**
540
520
  * @internal
@@ -544,7 +524,7 @@ const f = {
544
524
  this.generatedGridTemplateColumns = "";
545
525
  return;
546
526
  }
547
- this.generatedGridTemplateColumns = I.generateTemplateColumns(
527
+ this.generatedGridTemplateColumns = k.generateTemplateColumns(
548
528
  this.columnDefinitions
549
529
  );
550
530
  /* v8 ignore if -- @preserve */
@@ -599,7 +579,7 @@ const f = {
599
579
  { positioning: !0 }
600
580
  ),
601
581
  this.appendChild(document.createComment(""))
602
- )), this.toggleGeneratedHeader(), this.addEventListener("row-focused", this.handleRowFocus), this.addEventListener(H, this.handleFocus), this.addEventListener(y, this.handleKeydown), this.addEventListener(w, this.handleFocusOut), this.observer = new MutationObserver(this.onChildListChange), this.observer.observe(this, { childList: !0 }), this.setupResizeObserver(), D.enqueue(this.queueRowIndexUpdate), this.#e(), R.getNotifier(this).subscribe(
582
+ )), this.toggleGeneratedHeader(), this.addEventListener("row-focused", this.handleRowFocus), this.addEventListener(O, this.handleFocus), this.addEventListener(y, this.handleKeydown), this.addEventListener(w, this.handleFocusOut), this.observer = new MutationObserver(this.onChildListChange), this.observer.observe(this, { childList: !0 }), this.setupResizeObserver(), D.enqueue(this.queueRowIndexUpdate), this.#e(), R.getNotifier(this).subscribe(
603
583
  this.#o,
604
584
  "columnDefinitions"
605
585
  );
@@ -608,7 +588,7 @@ const f = {
608
588
  * @internal
609
589
  */
610
590
  disconnectedCallback() {
611
- super.disconnectedCallback(), this.removeEventListener("row-focused", this.handleRowFocus), this.removeEventListener(H, this.handleFocus), this.removeEventListener(y, this.handleKeydown), this.removeEventListener(
591
+ super.disconnectedCallback(), this.removeEventListener("row-focused", this.handleRowFocus), this.removeEventListener(O, this.handleFocus), this.removeEventListener(y, this.handleKeydown), this.removeEventListener(
612
592
  w,
613
593
  this.handleFocusOut
614
594
  ), this.observer.disconnect(), this.resizeObserver && (this.resizeObserver.disconnect(), this.resizeObserver = void 0), this.generatedHeader = null, R.getNotifier(this).unsubscribe(
@@ -825,13 +805,13 @@ const f = {
825
805
  }
826
806
  };
827
807
  d([
828
- m({ attribute: "no-tabbing", mode: "boolean" })
808
+ f({ attribute: "no-tabbing", mode: "boolean" })
829
809
  ], s.prototype, "noTabbing");
830
810
  d([
831
- m({ attribute: "generate-header" })
811
+ f({ attribute: "generate-header" })
832
812
  ], s.prototype, "generateHeader");
833
813
  d([
834
- m({ attribute: "grid-template-columns" })
814
+ f({ attribute: "grid-template-columns" })
835
815
  ], s.prototype, "gridTemplateColumns");
836
816
  d([
837
817
  a
@@ -855,7 +835,7 @@ d([
855
835
  a
856
836
  ], s.prototype, "focusColumnIndex");
857
837
  d([
858
- m({ attribute: "fixed-columns", converter: J })
838
+ f({ attribute: "fixed-columns", converter: J })
859
839
  ], s.prototype, "fixedColumns");
860
840
  d([
861
841
  a
@@ -870,7 +850,7 @@ d([
870
850
  a
871
851
  ], s.prototype, "slottedRowElements");
872
852
  d([
873
- m({ attribute: "selection-mode" })
853
+ f({ attribute: "selection-mode" })
874
854
  ], s.prototype, "selectionMode");
875
855
  let Ce = s;
876
856
  function be(o) {
@@ -884,7 +864,7 @@ function be(o) {
884
864
  `;
885
865
  }
886
866
  function we(o) {
887
- return o.selectionMode === void 0 || o.selectionMode === f.none ? null : o.selectionMode.includes("multi") ? "true" : "false";
867
+ return o.selectionMode === void 0 || o.selectionMode === m.none ? null : o.selectionMode.includes("multi") ? "true" : "false";
888
868
  }
889
869
  function ye(o) {
890
870
  if (o.columnDefinitions === null) {
@@ -939,7 +919,7 @@ function Te(o) {
939
919
  ></${e}>
940
920
  `;
941
921
  }
942
- function ke(o) {
922
+ function Ie(o) {
943
923
  const e = o.tagFor(p);
944
924
  return u`
945
925
  <${e}
@@ -949,8 +929,8 @@ function ke(o) {
949
929
  ></${e}>
950
930
  `;
951
931
  }
952
- const Ie = (o) => {
953
- const e = Te(o), t = ke(o), i = (l) => B("base", ["selected", !!l.selected]);
932
+ const ke = (o) => {
933
+ const e = Te(o), t = Ie(o), i = (l) => B("base", ["selected", !!l.selected]);
954
934
  return u`
955
935
  <template
956
936
  ${U({
@@ -988,7 +968,7 @@ function $e(o) {
988
968
  function Fe(o) {
989
969
  const e = o.tagFor(N);
990
970
  return u`
991
- ${k(
971
+ ${I(
992
972
  E,
993
973
  u`
994
974
  <${e} class="header-icon" name="${Ee}"></${e}>
@@ -1022,7 +1002,7 @@ const Ge = (o) => {
1022
1002
  <template
1023
1003
  tabindex="-1"
1024
1004
  ${U({
1025
- role: (i) => z[i.cellType] ?? z.default,
1005
+ role: (i) => H[i.cellType] ?? H.default,
1026
1006
  ariaSelected: $e,
1027
1007
  ariaSort: (i) => i.sortDirection ?? null
1028
1008
  })}
@@ -1039,7 +1019,7 @@ const Ge = (o) => {
1039
1019
  ${(l) => l.locale.dataGrid.cell.selected}
1040
1020
  </${e}>` : null}
1041
1021
  <slot></slot>
1042
- ${k(
1022
+ ${I(
1043
1023
  E,
1044
1024
  u`<${e}
1045
1025
  data-announcement="button-role"
@@ -1048,7 +1028,7 @@ const Ge = (o) => {
1048
1028
  </${e}>
1049
1029
  `
1050
1030
  )}
1051
- ${k(
1031
+ ${I(
1052
1032
  Se,
1053
1033
  u`<${e}
1054
1034
  aria-live="polite"
@@ -1072,7 +1052,7 @@ const Ge = (o) => {
1072
1052
  ), Le = F(
1073
1053
  "data-grid-row",
1074
1054
  c,
1075
- Ie,
1055
+ ke,
1076
1056
  [Ae],
1077
1057
  {
1078
1058
  styles: ue
@@ -289,13 +289,15 @@ class FilePicker extends withContextualHelp.WithContextualHelp(
289
289
  this.#updateFormValue();
290
290
  }
291
291
  #addFiles(files) {
292
- if (this.singleFile) {
293
- /* v8 ignore else -- @preserve */
294
- if (files.length > 0) {
295
- this._allFiles = [files[files.length - 1]];
296
- }
292
+ const newFiles = Array.from(files).filter(
293
+ (file) => !this._allFiles.some(
294
+ (existingFile) => existingFile.name === file.name && existingFile.size === file.size
295
+ )
296
+ );
297
+ if (this.singleFile && newFiles.length > 0) {
298
+ this._allFiles = [newFiles[newFiles.length - 1]];
297
299
  } else {
298
- this._allFiles = [...this._allFiles, ...files];
300
+ this._allFiles = [...this._allFiles, ...newFiles];
299
301
  }
300
302
  this.$emit("change");
301
303
  }
@@ -461,12 +463,12 @@ const FilePickerTemplate = (context) => {
461
463
  aria-describedby="${(x) => x._feedbackDescribedBy}"
462
464
  ${delegatesAria.delegateAria()}
463
465
  >
464
- <vwc-icon
466
+ <${iconTag}
465
467
  class="upload-icon"
466
468
  name="cloud-upload-line"
467
469
  size="-4"
468
470
  label="${(x) => x.locale.filePicker.uploadFilesLabel}"
469
- ></vwc-icon>
471
+ ></${iconTag}>
470
472
  <span class="upload-text"><slot></slot></span>
471
473
  </button>
472
474
  ${(x) => x._getFeedbackTemplate(context)}
@@ -285,13 +285,15 @@ class FilePicker extends WithContextualHelp(
285
285
  this.#updateFormValue();
286
286
  }
287
287
  #addFiles(files) {
288
- if (this.singleFile) {
289
- /* v8 ignore else -- @preserve */
290
- if (files.length > 0) {
291
- this._allFiles = [files[files.length - 1]];
292
- }
288
+ const newFiles = Array.from(files).filter(
289
+ (file) => !this._allFiles.some(
290
+ (existingFile) => existingFile.name === file.name && existingFile.size === file.size
291
+ )
292
+ );
293
+ if (this.singleFile && newFiles.length > 0) {
294
+ this._allFiles = [newFiles[newFiles.length - 1]];
293
295
  } else {
294
- this._allFiles = [...this._allFiles, ...files];
296
+ this._allFiles = [...this._allFiles, ...newFiles];
295
297
  }
296
298
  this.$emit("change");
297
299
  }
@@ -457,12 +459,12 @@ const FilePickerTemplate = (context) => {
457
459
  aria-describedby="${(x) => x._feedbackDescribedBy}"
458
460
  ${delegateAria()}
459
461
  >
460
- <vwc-icon
462
+ <${iconTag}
461
463
  class="upload-icon"
462
464
  name="cloud-upload-line"
463
465
  size="-4"
464
466
  label="${(x) => x.locale.filePicker.uploadFilesLabel}"
465
- ></vwc-icon>
467
+ ></${iconTag}>
466
468
  <span class="upload-text"><slot></slot></span>
467
469
  </button>
468
470
  ${(x) => x._getFeedbackTemplate(context)}
@@ -1,4 +1,4 @@
1
- "use strict";const u=require("../bundled/definition2.cjs"),h=require("../bundled/definition3.cjs"),a=require("../bundled/vivid-element.cjs"),f=require("../bundled/mixins.cjs"),m=require("../bundled/delegates-aria.cjs"),x=require("../bundled/form-associated.cjs"),F=require("../bundled/with-contextual-help.cjs"),y=require("../bundled/with-error-text.cjs"),w=require("../bundled/form-element.cjs"),k=require("../bundled/localized.cjs"),_=require("../bundled/when.cjs"),E=require("../bundled/slotted.cjs"),p=require("../bundled/ref.cjs"),C=require("../bundled/repeat.cjs"),b=require("../bundled/class-names.cjs"),$=".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}:host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit;--_low-ink-color: var(--vvd-color-neutral-600)}.control-wrapper{display:flex;flex-direction:column;block-size:inherit;gap:4px;max-block-size:inherit}.control{position:relative;display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control .upload-text{display:flex;align-items:center;justify-content:center;color:var(--vvd-color-neutral-600);isolation:isolate;pointer-events:none;text-align:center;transition:all .3s ease}@media (hover: hover){.control:hover .upload-text{color:var(--vvd-color-neutral-800)}}.control.drag-hover .upload-text{color:var(--vvd-color-neutral-800)}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.control:active,.control:focus-visible{border-color:var(--vvd-color-cta-400);background-color:var(--vvd-color-cta-100);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}@media (hover: hover){.control:hover{border-color:var(--vvd-color-cta-400);background-color:var(--vvd-color-cta-100);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}}.control:active{box-shadow:0 1px 4px #0000001a;transform:translateY(0)}.control.drag-hover{border-color:var(--vvd-color-cta-200);background-color:var(--vvd-color-cta-200);outline:2px dashed var(--vvd-color-cta-500);transform:scale(1.02)}.upload-icon{animation:subtle-pulse 2s ease-in-out infinite;color:var(--vvd-color-cta-600);pointer-events:none;transition:all .3s ease}@media (hover: hover){.control:hover .upload-icon{animation:none;color:var(--vvd-color-cta-700);transform:scale(1.1)}}.control:active .upload-icon{transform:scale(1.05)}.control.drag-hover .upload-icon{animation:none;color:var(--vvd-color-neutral-800);transform:scale(1.15)}@keyframes subtle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.main{pointer-events:none}.preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.preview .details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.preview .details .filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.preview .details .size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.preview .error-message{display:flex;align-items:center;color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);gap:4px;margin-block-start:4px}.preview:not(.has-error) .error-message{display:none}.preview.has-error{border:1px solid var(--vvd-color-alert-500);background-color:var(--vvd-color-alert-50)}.preview.has-error .size{display:none}.preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:not(:has(.preview)){display:none}.hidden-input{position:absolute;top:0;left:0;width:0;height:0;visibility:hidden}";async function z(l){return l.items?.[0]?.webkitGetAsEntry!=null?await D(l.items):Array.from(l.files)}async function D(l){const r=[];for(const t of l){const e=t.getAsFile();if(e)r.push(Promise.resolve([e]));else{const o=t.webkitGetAsEntry();o&&r.push(g(o,!1))}}return(await Promise.all(r)).flat()}const g=(l,r)=>{const t=o=>new Promise((i,c)=>{o.file(d=>{r&&d.name.substring(0,1)==="."?i([]):i([d])},c)}),e=l.isFile?t(l):l.isDirectory?T(l):Promise.resolve([]);return e.catch(()=>null),e},T=async l=>new Promise((r,t)=>{const e=[],o=l.createReader(),i=()=>{o.readEntries(c=>{for(const d of c)e.push(g(d,!0));c.length?i():r(Promise.all(e).then(d=>d.flat()))},t)};i()});function P(l,r){if(!r)return!0;const t=r.split(","),e=i=>/\/\*$/.test(i),o=i=>i.replace(/\/.*$/,"");for(let i of t)if(i=i.trim(),i.charAt(0)==="."){if(l.name.toLowerCase().endsWith(i.toLowerCase()))return!0}else if(e(i)){if(o(l.type)===o(i))return!0}else if(l.type===i)return!0;return!1}var V=Object.defineProperty,A=Object.getOwnPropertyDescriptor,n=(l,r,t,e)=>{for(var o=e>1?void 0:e?A(r,t):r,i=l.length-1,c;i>=0;i--)(c=l[i])&&(o=(e?c(r,t,o):c(o))||o);return e&&o&&V(r,t,o),o};class s extends F.WithContextualHelp(f.WithFeedback(y.WithErrorText(w.FormElement(m.DelegatesAria(k.Localized(x.FormAssociated(a.VividElement))))))){constructor(){super(...arguments),this.singleFile=!1,this.maxFileSize=256,this.valueChanged=(r,t)=>{super.valueChanged(r,t),t===""&&this.files.length&&this.removeAllFiles()},this.proxy=document.createElement("input"),this.setFormValue=(r,t)=>{typeof r!="string"&&super.setFormValue(r,t)},this._customValidationError=null,this.#e={handleChange:()=>{this._customValidationError=this.#r.observe(this,a.ExecutionContext.default)}},this._dragHover=!1,this._allFiles=[]}nameChanged(r,t){super.nameChanged(r,t),this.#t()}#t(){const r=this.files;if(!this.name)this.setFormValue(null);else{const t=new FormData;for(const e of r)t.append(this.name,e);this.setFormValue(t)}this.#i()}#i(){this.value=this.files.length>0?`C:\\fakepath\\${this.files[0].name}`:""}validate(){super.validate(this.control)}formResetCallback(){this.removeAllFiles(),super.formResetCallback()}#l(){return this.rejectedFiles.length>0?this.locale.filePicker.invalidFilesError:null}_customValidationErrorChanged(){/* v8 ignore if -- @preserve */this.proxy&&this.proxy.setCustomValidity(this._customValidationError??""),this.validate()}#e;#r;#a(){this.#r=a.Observable.binding(()=>this.#l(),this.#e,!0),this.#e.handleChange()}#s(){this.#r.dispose()}connectedCallback(){super.connectedCallback(),this.#a()}disconnectedCallback(){super.disconnectedCallback(),this.#s()}_onDragEnter(){return this._dragHover=!0,!0}_onDragOver(r){if(!r.dataTransfer)return!0;const t=r.dataTransfer.effectAllowed;return r.dataTransfer.dropEffect=t==="move"||t==="linkMove"?"move":"copy",!1}_onDragLeave(r){/* v8 ignore else -- @preserve */return r.currentTarget===r.target&&(this._dragHover=!1),!0}_onDrop(r){return this._dragHover=!1,r.dataTransfer?(z(r.dataTransfer).then(t=>this.#o(t)).catch(t=>{console.error(t)}),!1):!0}_onDragEnd(){return this._dragHover=!1,!0}_onControlClick(){this._hiddenInput.click()}_onRemoveFileClick(r){this._allFiles=this._allFiles.filter(t=>t!==r),this.$emit("change")}_allFilesChanged(){this.#t()}#o(r){if(this.singleFile){/* v8 ignore else -- @preserve */r.length>0&&(this._allFiles=[r[r.length-1]])}else this._allFiles=[...this._allFiles,...r];this.$emit("change")}removeAllFiles(){this._allFiles=[]}get _validatedFiles(){const r=(o,i)=>this.maxFileSize&&o.size>this.maxFileSize*1024*1024?(this.fileTooBigError||this.locale.filePicker.fileTooBigError).replace("{{filesize}}",this._formatNumber(Math.round(o.size/1024/10.24)/100)).replace("{{maxFilesize}}",this._formatNumber(this.maxFileSize)):P(o,this.accept)?typeof this.maxFiles=="number"&&i>=this.maxFiles?(this.maxFilesExceededError||this.locale.filePicker.maxFilesExceededError).replace("{{maxFiles}}",String(this.maxFiles)):null:this.invalidFileTypeError||this.locale.filePicker.invalidFileTypeError,t=[];let e=0;for(const o of this._allFiles){const i={file:o,validationError:r(o,e)};t.push(i),i.validationError||e++}return t}get files(){return this._validatedFiles.filter(r=>!r.validationError).map(r=>r.file)}get rejectedFiles(){return this._validatedFiles.filter(r=>!!r.validationError).map(r=>r.file)}_onHiddenInputChange(r){this.#o(this._hiddenInput.files),this._hiddenInput.value="",r.stopPropagation()}_formatNumber(r){const t=String(r);return this.locale.common.useCommaAsDecimalSeparator?t.replace(".",","):t}}n([a.attr({attribute:"single-file",mode:"boolean"})],s.prototype,"singleFile",2);n([a.attr({attribute:"max-files"})],s.prototype,"maxFiles",2);n([a.attr({mode:"fromView",attribute:"max-file-size"})],s.prototype,"maxFileSize",2);n([a.attr],s.prototype,"accept",2);n([a.attr],s.prototype,"size",2);n([a.attr({attribute:"invalid-file-type-error"})],s.prototype,"invalidFileTypeError",2);n([a.attr({attribute:"max-files-exceeded-error"})],s.prototype,"maxFilesExceededError",2);n([a.attr({attribute:"file-too-big-error"})],s.prototype,"fileTooBigError",2);n([a.observable],s.prototype,"_customValidationError",2);n([a.observable],s.prototype,"_dragHover",2);n([a.observable],s.prototype,"_allFiles",2);n([a.volatile],s.prototype,"_validatedFiles",1);const v=1e3,q={tb:"TB",gb:"GB",mb:"MB",kb:"KB",b:"b"},S=(l,r)=>{let t=0,e="b";/* v8 ignore else -- @preserve */if(r>0){const o=["tb","gb","mb","kb","b"];for(let i=0;i<o.length;i++){const c=o[i],d=Math.pow(v,4-i)/10;if(r>=d){t=r/Math.pow(v,4-i),e=c;break}}t=Math.round(10*t)/10}return a.html`<strong>${l._formatNumber(t)}</strong>
1
+ "use strict";const u=require("../bundled/definition2.cjs"),h=require("../bundled/definition3.cjs"),a=require("../bundled/vivid-element.cjs"),f=require("../bundled/mixins.cjs"),m=require("../bundled/delegates-aria.cjs"),x=require("../bundled/form-associated.cjs"),F=require("../bundled/with-contextual-help.cjs"),y=require("../bundled/with-error-text.cjs"),w=require("../bundled/form-element.cjs"),k=require("../bundled/localized.cjs"),_=require("../bundled/when.cjs"),E=require("../bundled/slotted.cjs"),p=require("../bundled/ref.cjs"),$=require("../bundled/repeat.cjs"),b=require("../bundled/class-names.cjs"),C=".label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}:host{display:block;max-inline-size:400px}.base{display:flex;flex-direction:column;block-size:inherit;max-block-size:inherit;--_low-ink-color: var(--vvd-color-neutral-600)}.control-wrapper{display:flex;flex-direction:column;block-size:inherit;gap:4px;max-block-size:inherit}.control{position:relative;display:flex;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px;border:1px dashed var(--vvd-color-neutral-400);border-radius:8px;background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);gap:8px;inline-size:100%;min-block-size:52px;outline:none;transition:all .3s ease}.control .upload-text{display:flex;align-items:center;justify-content:center;color:var(--vvd-color-neutral-600);isolation:isolate;pointer-events:none;text-align:center;transition:all .3s ease}@media (hover: hover){.control:hover .upload-text{color:var(--vvd-color-neutral-800)}}.control.drag-hover .upload-text{color:var(--vvd-color-neutral-800)}.control:not(.size-expanded){min-block-size:52px}.control.size-expanded{min-block-size:120px}.control:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}.control:active,.control:focus-visible{border-color:var(--vvd-color-cta-400);background-color:var(--vvd-color-cta-100);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}@media (hover: hover){.control:hover{border-color:var(--vvd-color-cta-400);background-color:var(--vvd-color-cta-100);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}}.control:active{box-shadow:0 1px 4px #0000001a;transform:translateY(0)}.control.drag-hover{border-color:var(--vvd-color-cta-200);background-color:var(--vvd-color-cta-200);outline:2px dashed var(--vvd-color-cta-500);transform:scale(1.02)}.upload-icon{animation:subtle-pulse 2s ease-in-out infinite;color:var(--vvd-color-cta-600);pointer-events:none;transition:all .3s ease}@media (hover: hover){.control:hover .upload-icon{animation:none;color:var(--vvd-color-cta-700);transform:scale(1.1)}}.control:active .upload-icon{transform:scale(1.05)}.control.drag-hover .upload-icon{animation:none;color:var(--vvd-color-neutral-800);transform:scale(1.15)}@keyframes subtle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.main{pointer-events:none}.preview{display:grid;box-sizing:border-box;padding:8px;border:1px solid var(--vvd-color-neutral-300);border-radius:8px;background-color:var(--file-picker-list-item-background-color, var(--vvd-color-canvas));grid-template-columns:1fr auto;grid-template-rows:auto auto;inline-size:100%}.preview .details{display:flex;min-width:0;flex-direction:column;max-inline-size:100%}.preview .details .filename{overflow:hidden;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap}.preview .details .size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.preview .error-message{display:flex;align-items:center;color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);gap:4px;margin-block-start:4px}.preview:not(.has-error) .error-message{display:none}.preview.has-error{border:1px solid var(--vvd-color-alert-500);background-color:var(--vvd-color-alert-50)}.preview.has-error .size{display:none}.preview .remove-btn{display:inline;align-self:center;grid-column:2/-1;grid-row:1/-1}.preview-list{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.preview-list{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.preview-list ::-webkit-scrollbar{width:4px}.preview-list ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.preview-list ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-fallback-track-color, var(--scrollbar-thumb-color))}.preview-list{display:flex;flex-direction:column;gap:12px;margin-block-start:12px;overflow-y:auto}.preview-list:not(:has(.preview)){display:none}.hidden-input{position:absolute;top:0;left:0;width:0;height:0;visibility:hidden}";async function z(l){return l.items?.[0]?.webkitGetAsEntry!=null?await D(l.items):Array.from(l.files)}async function D(l){const r=[];for(const t of l){const e=t.getAsFile();if(e)r.push(Promise.resolve([e]));else{const o=t.webkitGetAsEntry();o&&r.push(g(o,!1))}}return(await Promise.all(r)).flat()}const g=(l,r)=>{const t=o=>new Promise((i,c)=>{o.file(d=>{r&&d.name.substring(0,1)==="."?i([]):i([d])},c)}),e=l.isFile?t(l):l.isDirectory?T(l):Promise.resolve([]);return e.catch(()=>null),e},T=async l=>new Promise((r,t)=>{const e=[],o=l.createReader(),i=()=>{o.readEntries(c=>{for(const d of c)e.push(g(d,!0));c.length?i():r(Promise.all(e).then(d=>d.flat()))},t)};i()});function P(l,r){if(!r)return!0;const t=r.split(","),e=i=>/\/\*$/.test(i),o=i=>i.replace(/\/.*$/,"");for(let i of t)if(i=i.trim(),i.charAt(0)==="."){if(l.name.toLowerCase().endsWith(i.toLowerCase()))return!0}else if(e(i)){if(o(l.type)===o(i))return!0}else if(l.type===i)return!0;return!1}var V=Object.defineProperty,A=Object.getOwnPropertyDescriptor,n=(l,r,t,e)=>{for(var o=e>1?void 0:e?A(r,t):r,i=l.length-1,c;i>=0;i--)(c=l[i])&&(o=(e?c(r,t,o):c(o))||o);return e&&o&&V(r,t,o),o};class s extends F.WithContextualHelp(f.WithFeedback(y.WithErrorText(w.FormElement(m.DelegatesAria(k.Localized(x.FormAssociated(a.VividElement))))))){constructor(){super(...arguments),this.singleFile=!1,this.maxFileSize=256,this.valueChanged=(r,t)=>{super.valueChanged(r,t),t===""&&this.files.length&&this.removeAllFiles()},this.proxy=document.createElement("input"),this.setFormValue=(r,t)=>{typeof r!="string"&&super.setFormValue(r,t)},this._customValidationError=null,this.#e={handleChange:()=>{this._customValidationError=this.#r.observe(this,a.ExecutionContext.default)}},this._dragHover=!1,this._allFiles=[]}nameChanged(r,t){super.nameChanged(r,t),this.#t()}#t(){const r=this.files;if(!this.name)this.setFormValue(null);else{const t=new FormData;for(const e of r)t.append(this.name,e);this.setFormValue(t)}this.#i()}#i(){this.value=this.files.length>0?`C:\\fakepath\\${this.files[0].name}`:""}validate(){super.validate(this.control)}formResetCallback(){this.removeAllFiles(),super.formResetCallback()}#l(){return this.rejectedFiles.length>0?this.locale.filePicker.invalidFilesError:null}_customValidationErrorChanged(){/* v8 ignore if -- @preserve */this.proxy&&this.proxy.setCustomValidity(this._customValidationError??""),this.validate()}#e;#r;#a(){this.#r=a.Observable.binding(()=>this.#l(),this.#e,!0),this.#e.handleChange()}#s(){this.#r.dispose()}connectedCallback(){super.connectedCallback(),this.#a()}disconnectedCallback(){super.disconnectedCallback(),this.#s()}_onDragEnter(){return this._dragHover=!0,!0}_onDragOver(r){if(!r.dataTransfer)return!0;const t=r.dataTransfer.effectAllowed;return r.dataTransfer.dropEffect=t==="move"||t==="linkMove"?"move":"copy",!1}_onDragLeave(r){/* v8 ignore else -- @preserve */return r.currentTarget===r.target&&(this._dragHover=!1),!0}_onDrop(r){return this._dragHover=!1,r.dataTransfer?(z(r.dataTransfer).then(t=>this.#o(t)).catch(t=>{console.error(t)}),!1):!0}_onDragEnd(){return this._dragHover=!1,!0}_onControlClick(){this._hiddenInput.click()}_onRemoveFileClick(r){this._allFiles=this._allFiles.filter(t=>t!==r),this.$emit("change")}_allFilesChanged(){this.#t()}#o(r){const t=Array.from(r).filter(e=>!this._allFiles.some(o=>o.name===e.name&&o.size===e.size));this.singleFile&&t.length>0?this._allFiles=[t[t.length-1]]:this._allFiles=[...this._allFiles,...t],this.$emit("change")}removeAllFiles(){this._allFiles=[]}get _validatedFiles(){const r=(o,i)=>this.maxFileSize&&o.size>this.maxFileSize*1024*1024?(this.fileTooBigError||this.locale.filePicker.fileTooBigError).replace("{{filesize}}",this._formatNumber(Math.round(o.size/1024/10.24)/100)).replace("{{maxFilesize}}",this._formatNumber(this.maxFileSize)):P(o,this.accept)?typeof this.maxFiles=="number"&&i>=this.maxFiles?(this.maxFilesExceededError||this.locale.filePicker.maxFilesExceededError).replace("{{maxFiles}}",String(this.maxFiles)):null:this.invalidFileTypeError||this.locale.filePicker.invalidFileTypeError,t=[];let e=0;for(const o of this._allFiles){const i={file:o,validationError:r(o,e)};t.push(i),i.validationError||e++}return t}get files(){return this._validatedFiles.filter(r=>!r.validationError).map(r=>r.file)}get rejectedFiles(){return this._validatedFiles.filter(r=>!!r.validationError).map(r=>r.file)}_onHiddenInputChange(r){this.#o(this._hiddenInput.files),this._hiddenInput.value="",r.stopPropagation()}_formatNumber(r){const t=String(r);return this.locale.common.useCommaAsDecimalSeparator?t.replace(".",","):t}}n([a.attr({attribute:"single-file",mode:"boolean"})],s.prototype,"singleFile",2);n([a.attr({attribute:"max-files"})],s.prototype,"maxFiles",2);n([a.attr({mode:"fromView",attribute:"max-file-size"})],s.prototype,"maxFileSize",2);n([a.attr],s.prototype,"accept",2);n([a.attr],s.prototype,"size",2);n([a.attr({attribute:"invalid-file-type-error"})],s.prototype,"invalidFileTypeError",2);n([a.attr({attribute:"max-files-exceeded-error"})],s.prototype,"maxFilesExceededError",2);n([a.attr({attribute:"file-too-big-error"})],s.prototype,"fileTooBigError",2);n([a.observable],s.prototype,"_customValidationError",2);n([a.observable],s.prototype,"_dragHover",2);n([a.observable],s.prototype,"_allFiles",2);n([a.volatile],s.prototype,"_validatedFiles",1);const v=1e3,q={tb:"TB",gb:"GB",mb:"MB",kb:"KB",b:"b"},S=(l,r)=>{let t=0,e="b";/* v8 ignore else -- @preserve */if(r>0){const o=["tb","gb","mb","kb","b"];for(let i=0;i<o.length;i++){const c=o[i],d=Math.pow(v,4-i)/10;if(r>=d){t=r/Math.pow(v,4-i),e=c;break}}t=Math.round(10*t)/10}return a.html`<strong>${l._formatNumber(t)}</strong>
2
2
  ${q[e]}`},H=({size:l,_dragHover:r})=>b.classNames("control",[`size-${l}`,!!l],["drag-hover",r]),B=l=>{const r=l.tagFor(u.Icon),t=l.tagFor(h.Button);return a.html`
3
3
  <div class="base">
4
4
  <div class="label-wrapper" ?hidden=${e=>!e.label&&!e._hasContextualHelp}>
@@ -20,18 +20,18 @@
20
20
  aria-describedby="${e=>e._feedbackDescribedBy}"
21
21
  ${m.delegateAria()}
22
22
  >
23
- <vwc-icon
23
+ <${r}
24
24
  class="upload-icon"
25
25
  name="cloud-upload-line"
26
26
  size="-4"
27
27
  label="${e=>e.locale.filePicker.uploadFilesLabel}"
28
- ></vwc-icon>
28
+ ></${r}>
29
29
  <span class="upload-text"><slot></slot></span>
30
30
  </button>
31
31
  ${e=>e._getFeedbackTemplate(l)}
32
32
  </div>
33
33
  <div class="preview-list">
34
- ${C.repeat(e=>e._validatedFiles,a.html`
34
+ ${$.repeat(e=>e._validatedFiles,a.html`
35
35
  <div class="${e=>b.classNames("preview",["has-error",!!e.validationError])}">
36
36
  <div class="details">
37
37
  <div class="filename">${e=>e.file.name}</div>
@@ -58,4 +58,4 @@
58
58
  tabindex="-1"
59
59
  @change="${(e,o)=>e._onHiddenInputChange(o.event)}"
60
60
  />
61
- `},O=a.defineVividComponent("file-picker",s,B,[u.iconDefinition,h.buttonDefinition,f.feedbackMessageDefinition],{styles:$,shadowOptions:{delegatesFocus:!0}}),I=a.createRegisterFunction(O);I();
61
+ `},O=a.defineVividComponent("file-picker",s,B,[u.iconDefinition,h.buttonDefinition,f.feedbackMessageDefinition],{styles:C,shadowOptions:{delegatesFocus:!0}}),I=a.createRegisterFunction(O);I();
@@ -1,7 +1,7 @@
1
1
  import { I as b, i as g } from "../bundled/definition2.js";
2
2
  import { B as x, b as F } from "../bundled/definition3.js";
3
- import { V as y, E as w, O as k, a as d, o as v, v as _, h as p, c as E, d as C } from "../bundled/vivid-element.js";
4
- import { W as $, f as z } from "../bundled/mixins.js";
3
+ import { V as y, E as w, O as k, a as d, o as v, v as _, h as p, c as E, d as $ } from "../bundled/vivid-element.js";
4
+ import { W as C, f as z } from "../bundled/mixins.js";
5
5
  import { D, d as P } from "../bundled/delegates-aria.js";
6
6
  import { F as T } from "../bundled/form-associated.js";
7
7
  import { W as V } from "../bundled/with-contextual-help.js";
@@ -68,7 +68,7 @@ var N = Object.defineProperty, G = Object.getOwnPropertyDescriptor, s = (a, r, o
68
68
  return e && t && N(r, o, t), t;
69
69
  };
70
70
  class l extends V(
71
- $(
71
+ C(
72
72
  A(
73
73
  S(D(B(T(y))))
74
74
  )
@@ -202,12 +202,12 @@ class l extends V(
202
202
  this.#o();
203
203
  }
204
204
  #t(r) {
205
- if (this.singleFile) {
206
- /* v8 ignore else -- @preserve */
207
- r.length > 0 && (this._allFiles = [r[r.length - 1]]);
208
- } else
209
- this._allFiles = [...this._allFiles, ...r];
210
- this.$emit("change");
205
+ const o = Array.from(r).filter(
206
+ (e) => !this._allFiles.some(
207
+ (t) => t.name === e.name && t.size === e.size
208
+ )
209
+ );
210
+ this.singleFile && o.length > 0 ? this._allFiles = [o[o.length - 1]] : this._allFiles = [...this._allFiles, ...o], this.$emit("change");
211
211
  }
212
212
  /**
213
213
  * Removes all files from the File Picker.
@@ -343,12 +343,12 @@ const f = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r
343
343
  aria-describedby="${(e) => e._feedbackDescribedBy}"
344
344
  ${P()}
345
345
  >
346
- <vwc-icon
346
+ <${r}
347
347
  class="upload-icon"
348
348
  name="cloud-upload-line"
349
349
  size="-4"
350
350
  label="${(e) => e.locale.filePicker.uploadFilesLabel}"
351
- ></vwc-icon>
351
+ ></${r}>
352
352
  <span class="upload-text"><slot></slot></span>
353
353
  </button>
354
354
  ${(e) => e._getFeedbackTemplate(a)}
@@ -385,7 +385,7 @@ const f = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r
385
385
  @change="${(e, t) => e._onHiddenInputChange(t.event)}"
386
386
  />
387
387
  `;
388
- }, J = C(
388
+ }, J = $(
389
389
  "file-picker",
390
390
  l,
391
391
  q,
@@ -10,7 +10,7 @@ const fastWebUtilities = require('@microsoft/fast-web-utilities');
10
10
  const styles = ":host{display:inline-block;vertical-align:sub}.control.connotation-accent{--_connotation-color-primary: var(--vvd-icon-accent-primary, var(--vvd-color-canvas-text))}.control.connotation-announcement{--_connotation-color-primary: var(--vvd-icon-announcement-primary, var(--vvd-color-announcement-500))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-icon-cta-primary, var(--vvd-color-cta-500))}.control.connotation-success{--_connotation-color-primary: var(--vvd-icon-success-primary, var(--vvd-color-success-500))}.control.connotation-warning{--_connotation-color-primary: var(--vvd-icon-warning-primary, var(--vvd-color-warning-300))}.control.connotation-alert{--_connotation-color-primary: var(--vvd-icon-alert-primary, var(--vvd-color-alert-500))}.control.connotation-information{--_connotation-color-primary: var(--vvd-icon-information-primary, var(--vvd-color-information-500))}.control.size--6{--_icon-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)) - (1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2)))) }.control.size--5{--_icon-block-size: calc(1px*(20 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--4{--_icon-block-size: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--3{--_icon-block-size: calc(1px*(28 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--2{--_icon-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--1{--_icon-block-size: calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-0{--_icon-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-1{--_icon-block-size: calc(1px*(44 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-2{--_icon-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-3{--_icon-block-size: calc(1px*(52 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-4{--_icon-block-size: calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-5{--_icon-block-size: calc(1px*(60 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control:not(.size--6,.size--5,.size--4,.size--3,.size--2,.size--1,.size-0,.size-1,.size-2,.size-3,.size-4,.size-5){--_icon-block-size: 1em}.control{display:flex;margin:unset;block-size:var(--_icon-block-size);color:currentColor;contain:strict;inline-size:var(--_icon-block-size)}.control[class*=connotation]{color:var(--_connotation-color-primary)}slot,svg,::slotted(:where(svg,img)){margin:auto;block-size:inherit;inline-size:inherit}";
11
11
 
12
12
  const ICONS_BASE_URL = 'https://icon.resources.vonage.com';
13
- const ICONS_VERSION = '4.6.9';
13
+ const ICONS_VERSION = '4.7.0';
14
14
 
15
15
  const numberConverter = {
16
16
  toView(value) {
@@ -6,7 +6,7 @@ import { classNames } from '@microsoft/fast-web-utilities';
6
6
  const styles = ":host{display:inline-block;vertical-align:sub}.control.connotation-accent{--_connotation-color-primary: var(--vvd-icon-accent-primary, var(--vvd-color-canvas-text))}.control.connotation-announcement{--_connotation-color-primary: var(--vvd-icon-announcement-primary, var(--vvd-color-announcement-500))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-icon-cta-primary, var(--vvd-color-cta-500))}.control.connotation-success{--_connotation-color-primary: var(--vvd-icon-success-primary, var(--vvd-color-success-500))}.control.connotation-warning{--_connotation-color-primary: var(--vvd-icon-warning-primary, var(--vvd-color-warning-300))}.control.connotation-alert{--_connotation-color-primary: var(--vvd-icon-alert-primary, var(--vvd-color-alert-500))}.control.connotation-information{--_connotation-color-primary: var(--vvd-icon-information-primary, var(--vvd-color-information-500))}.control.size--6{--_icon-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)) - (1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2)))) }.control.size--5{--_icon-block-size: calc(1px*(20 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--4{--_icon-block-size: calc(1px*(24 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--3{--_icon-block-size: calc(1px*(28 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--2{--_icon-block-size: calc(1px*(32 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size--1{--_icon-block-size: calc(1px*(36 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-0{--_icon-block-size: calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-1{--_icon-block-size: calc(1px*(44 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-2{--_icon-block-size: calc(1px*(48 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-3{--_icon-block-size: calc(1px*(52 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-4{--_icon-block-size: calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control.size-5{--_icon-block-size: calc(1px*(60 + 4*clamp(-1, var(--vvd-size-density, 0), 2))) }.control:not(.size--6,.size--5,.size--4,.size--3,.size--2,.size--1,.size-0,.size-1,.size-2,.size-3,.size-4,.size-5){--_icon-block-size: 1em}.control{display:flex;margin:unset;block-size:var(--_icon-block-size);color:currentColor;contain:strict;inline-size:var(--_icon-block-size)}.control[class*=connotation]{color:var(--_connotation-color-primary)}slot,svg,::slotted(:where(svg,img)){margin:auto;block-size:inherit;inline-size:inherit}";
7
7
 
8
8
  const ICONS_BASE_URL = 'https://icon.resources.vonage.com';
9
- const ICONS_VERSION = '4.6.9';
9
+ const ICONS_VERSION = '4.7.0';
10
10
 
11
11
  const numberConverter = {
12
12
  toView(value) {