@vonage/vivid 5.7.0 → 5.9.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 (123) hide show
  1. package/bundled/data-grid.options.cjs +1 -0
  2. package/bundled/data-grid.options.js +29 -0
  3. package/bundled/definition19.cjs +3 -4
  4. package/bundled/definition19.js +35 -52
  5. package/bundled/definition2.cjs +1 -1
  6. package/bundled/definition2.js +1 -1
  7. package/bundled/definition3.cjs +1 -1
  8. package/bundled/definition3.js +1 -1
  9. package/bundled/definition8.cjs +1 -1
  10. package/bundled/definition8.js +1 -1
  11. package/bundled/definition9.cjs +9 -9
  12. package/bundled/definition9.js +113 -1342
  13. package/bundled/feature.cjs +4 -0
  14. package/bundled/feature.js +2886 -0
  15. package/bundled/floating-ui.dom.cjs +1 -0
  16. package/bundled/floating-ui.dom.js +1242 -0
  17. package/bundled/listbox.cjs +1 -1
  18. package/bundled/listbox.js +49 -22
  19. package/bundled/localized.cjs +1 -1
  20. package/bundled/localized.js +15 -13
  21. package/bundled/vivid-element.cjs +3 -3
  22. package/bundled/vivid-element.js +89 -69
  23. package/checkbox/definition.cjs +1 -1
  24. package/checkbox/definition.js +1 -1
  25. package/combobox/definition.cjs +14 -15
  26. package/combobox/definition.js +15 -16
  27. package/combobox/index.cjs +4 -4
  28. package/combobox/index.js +82 -87
  29. package/contextual-help/definition.cjs +1 -0
  30. package/contextual-help/definition.js +1 -1
  31. package/custom-elements.json +5145 -3781
  32. package/data-grid/definition.cjs +23 -49
  33. package/data-grid/definition.js +1 -27
  34. package/data-grid/index.cjs +27 -27
  35. package/data-grid/index.js +44 -64
  36. package/data-table/definition.cjs +204 -0
  37. package/data-table/definition.js +188 -0
  38. package/data-table/index.cjs +37 -0
  39. package/data-table/index.js +143 -0
  40. package/file-picker/definition.cjs +10 -8
  41. package/file-picker/definition.js +10 -8
  42. package/file-picker/index.cjs +5 -5
  43. package/file-picker/index.js +12 -12
  44. package/icon/definition.cjs +1 -1
  45. package/icon/definition.js +1 -1
  46. package/index.cjs +26 -0
  47. package/index.js +4 -0
  48. package/lib/components.d.ts +4 -0
  49. package/lib/contextual-help/definition.d.ts +2 -0
  50. package/lib/data-table/definition.d.ts +8 -0
  51. package/lib/data-table/table-body.d.ts +3 -0
  52. package/lib/data-table/table-body.template.d.ts +3 -0
  53. package/lib/data-table/table-cell.d.ts +381 -0
  54. package/lib/data-table/table-cell.template.d.ts +3 -0
  55. package/lib/data-table/table-head.d.ts +3 -0
  56. package/lib/data-table/table-head.template.d.ts +3 -0
  57. package/lib/data-table/table-header-cell.d.ts +381 -0
  58. package/lib/data-table/table-header-cell.template.d.ts +3 -0
  59. package/lib/data-table/table-row.d.ts +381 -0
  60. package/lib/data-table/table-row.template.d.ts +3 -0
  61. package/lib/data-table/table.d.ts +3 -0
  62. package/lib/data-table/table.template.d.ts +3 -0
  63. package/lib/popover/definition.d.ts +4 -0
  64. package/lib/popover/locale.d.ts +3 -0
  65. package/lib/popover/popover.d.ts +781 -0
  66. package/lib/popover/popover.template.d.ts +3 -0
  67. package/lib/rich-text-editor/locale.d.ts +0 -1
  68. package/lib/rich-text-editor/rte/config.d.ts +3 -0
  69. package/lib/rich-text-editor/rte/document.d.ts +2 -0
  70. package/lib/rich-text-editor/rte/exports.d.ts +1 -0
  71. package/lib/rich-text-editor/rte/view.d.ts +30 -0
  72. package/lib/rich-text-view/definition.d.ts +4 -0
  73. package/lib/rich-text-view/rich-text-view.d.ts +15 -0
  74. package/lib/rich-text-view/rich-text-view.template.d.ts +3 -0
  75. package/lib/tag-name-map.d.ts +10 -1
  76. package/locales/de-DE.cjs +3 -1
  77. package/locales/de-DE.js +3 -1
  78. package/locales/en-GB.cjs +3 -1
  79. package/locales/en-GB.js +3 -1
  80. package/locales/en-US.cjs +3 -1
  81. package/locales/en-US.js +3 -1
  82. package/locales/ja-JP.cjs +3 -1
  83. package/locales/ja-JP.js +3 -1
  84. package/locales/zh-CN.cjs +3 -1
  85. package/locales/zh-CN.js +3 -1
  86. package/package.json +8 -12
  87. package/popover/definition.cjs +363 -0
  88. package/popover/definition.js +357 -0
  89. package/popover/index.cjs +27 -0
  90. package/popover/index.js +263 -0
  91. package/rich-text-editor/definition.cjs +328 -3882
  92. package/rich-text-editor/definition.js +143 -3697
  93. package/rich-text-editor/index.cjs +12 -15
  94. package/rich-text-editor/index.js +3489 -6291
  95. package/rich-text-view/definition.cjs +159 -0
  96. package/rich-text-view/definition.js +153 -0
  97. package/rich-text-view/index.cjs +1 -0
  98. package/rich-text-view/index.js +95 -0
  99. package/select/definition.cjs +27 -15
  100. package/select/definition.js +27 -15
  101. package/shared/foundation/listbox/listbox.d.ts +0 -1
  102. package/shared/localization/Locale.d.ts +2 -0
  103. package/tag/definition.cjs +1 -1
  104. package/tag/definition.js +1 -1
  105. package/tag/index.cjs +1 -1
  106. package/tag/index.js +1 -1
  107. package/unbundled/_commonjsHelpers.cjs +26 -0
  108. package/unbundled/_commonjsHelpers.js +26 -1
  109. package/unbundled/data-grid.options.cjs +34 -0
  110. package/unbundled/data-grid.options.js +28 -0
  111. package/unbundled/definition.cjs +1 -1
  112. package/unbundled/definition.js +1 -1
  113. package/unbundled/feature.cjs +3678 -0
  114. package/unbundled/feature.js +3662 -0
  115. package/unbundled/listbox.cjs +29 -2
  116. package/unbundled/listbox.js +29 -2
  117. package/unbundled/vivid-element.cjs +1 -1
  118. package/unbundled/vivid-element.js +1 -1
  119. package/video-player/definition.cjs +11 -1
  120. package/video-player/definition.js +12 -2
  121. package/video-player/index.cjs +30 -30
  122. package/video-player/index.js +705 -702
  123. package/vivid.api.json +1478 -39
@@ -0,0 +1,188 @@
1
+ import { V as VividElement, d as defineVividComponent, c as createRegisterFunction } from '../unbundled/vivid-element.js';
2
+ import { html } from '@microsoft/fast-element';
3
+ import { H as HostSemantics, a as applyHostSemantics } from '../unbundled/host-semantics.js';
4
+ import { c as DataGridCellRole } from '../unbundled/data-grid.options.js';
5
+
6
+ const tableStyles = ":host{display:inline-block}.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;display:table;overflow:auto;width:100%;block-size:inherit;border-collapse:collapse;inline-size:100%;max-block-size:inherit}";
7
+
8
+ const tableHeadStyles = ":host{display:table-header-group}";
9
+
10
+ const tableBodyStyles = ":host{display:table-row-group}";
11
+
12
+ const tableRowStyles = ":host{display:table-row}.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:contents;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host(:is([selected])) .base{background-color:var(--_appearance-color-fill)}";
13
+
14
+ const tableHeaderCellStyles = ":host{display:table-cell;box-sizing:border-box;padding:0;border-bottom:1px solid var(--vvd-color-canvas-text);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-bold);padding-block:12px 14px;padding-inline:12px;vertical-align:middle}:host.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))}:host: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))}:host{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}:host.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){:host.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}}:host.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}:host{--_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: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));outline:none}slot{display:block;overflow:hidden;inline-size:100%;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}";
15
+
16
+ const tableCellStyles = ":host{display:table-cell}:host.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))}:host: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))}:host{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}:host.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){:host.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}}:host.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}:host{box-sizing:border-box;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:12px 14px;padding-inline:12px;vertical-align:middle}:host: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));outline:none}:host:not([cell-type=columnheader]){--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host:is([selected]){background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;inline-size:100%;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}";
17
+
18
+ class Table extends VividElement {
19
+ /**
20
+ * @internal
21
+ */
22
+ connectedCallback() {
23
+ super.connectedCallback();
24
+ }
25
+ }
26
+
27
+ const TableTemplate = (context) => {
28
+ return html`
29
+ <template role="table">
30
+ <div class="base">
31
+ <slot></slot>
32
+ </div>
33
+ </template>
34
+ `;
35
+ };
36
+
37
+ class TableHead extends VividElement {
38
+ }
39
+
40
+ const TableHeadTemplate = (context) => {
41
+ return html`
42
+ <template>
43
+ <slot></slot>
44
+ </template>
45
+ `;
46
+ };
47
+
48
+ class TableBody extends VividElement {
49
+ /**
50
+ * @internal
51
+ */
52
+ connectedCallback() {
53
+ super.connectedCallback();
54
+ }
55
+ }
56
+
57
+ const TableBodyTemplate = (context) => {
58
+ return html`
59
+ <template>
60
+ <slot></slot>
61
+ </template>
62
+ `;
63
+ };
64
+
65
+ class TableRow extends HostSemantics(VividElement) {
66
+ /**
67
+ * @internal
68
+ */
69
+ connectedCallback() {
70
+ super.connectedCallback();
71
+ }
72
+ }
73
+
74
+ const TableRowTemplate = (context) => {
75
+ return html`
76
+ <template
77
+ ${applyHostSemantics({
78
+ role: "row"
79
+ })}
80
+ >
81
+ <div class="base">
82
+ <slot></slot>
83
+ </div>
84
+ </template>
85
+ `;
86
+ };
87
+
88
+ class TableHeaderCell extends HostSemantics(VividElement) {
89
+ /**
90
+ * @internal
91
+ */
92
+ connectedCallback() {
93
+ super.connectedCallback();
94
+ }
95
+ }
96
+
97
+ const TableHeaderCellTemplate = (context) => {
98
+ return html`
99
+ <template
100
+ tabindex="-1"
101
+ ${applyHostSemantics({
102
+ role: () => DataGridCellRole.columnheader
103
+ })}
104
+ >
105
+ <slot></slot>
106
+ </template>
107
+ `;
108
+ };
109
+
110
+ class TableCell extends HostSemantics(VividElement) {
111
+ /**
112
+ * @internal
113
+ */
114
+ connectedCallback() {
115
+ super.connectedCallback();
116
+ }
117
+ }
118
+
119
+ const TableCellTemplate = (context) => {
120
+ return html`
121
+ <template
122
+ tabindex="-1"
123
+ ${applyHostSemantics({
124
+ role: () => "cell"
125
+ })}
126
+ >
127
+ <slot></slot>
128
+ </template>
129
+ `;
130
+ };
131
+
132
+ const tableCellDefinition = defineVividComponent(
133
+ "table-cell",
134
+ TableCell,
135
+ TableCellTemplate,
136
+ [],
137
+ {
138
+ styles: tableCellStyles
139
+ }
140
+ );
141
+ const tableHeaderCellDefinition = defineVividComponent(
142
+ "table-header-cell",
143
+ TableHeaderCell,
144
+ TableHeaderCellTemplate,
145
+ [tableCellDefinition],
146
+ {
147
+ styles: tableHeaderCellStyles
148
+ }
149
+ );
150
+ const tableRowDefinition = defineVividComponent(
151
+ "table-row",
152
+ TableRow,
153
+ TableRowTemplate,
154
+ [tableCellDefinition, tableHeaderCellDefinition],
155
+ {
156
+ styles: tableRowStyles
157
+ }
158
+ );
159
+ const tableBodyDefinition = defineVividComponent(
160
+ "table-body",
161
+ TableBody,
162
+ TableBodyTemplate,
163
+ [tableRowDefinition],
164
+ {
165
+ styles: tableBodyStyles
166
+ }
167
+ );
168
+ const tableHeadDefinition = defineVividComponent(
169
+ "table-head",
170
+ TableHead,
171
+ TableHeadTemplate,
172
+ [tableRowDefinition],
173
+ {
174
+ styles: tableHeadStyles
175
+ }
176
+ );
177
+ const tableDefinition = defineVividComponent(
178
+ "table",
179
+ Table,
180
+ TableTemplate,
181
+ [tableHeadDefinition, tableBodyDefinition],
182
+ {
183
+ styles: tableStyles
184
+ }
185
+ );
186
+ const registerDataTable = createRegisterFunction(tableDefinition);
187
+
188
+ export { TableBody as VwcTableBodyElement, TableCell as VwcTableCellElement, Table as VwcTableElement, TableHead as VwcTableHeadElement, TableHeaderCell as VwcTableHeaderCellElement, TableRow as VwcTableRowElement, registerDataTable, tableBodyDefinition, tableCellDefinition, tableDefinition, tableHeadDefinition, tableHeaderCellDefinition, tableRowDefinition };
@@ -0,0 +1,37 @@
1
+ "use strict";const a=require("../bundled/vivid-element.cjs"),r=require("../bundled/host-semantics.cjs"),l=require("../bundled/data-grid.options.cjs"),c=":host{display:inline-block}.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;display:table;overflow:auto;width:100%;block-size:inherit;border-collapse:collapse;inline-size:100%;max-block-size:inherit}",n=":host{display:table-header-group}",i=":host{display:table-row-group}",d=":host{display:table-row}.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:contents;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host(:is([selected])) .base{background-color:var(--_appearance-color-fill)}",v=":host{display:table-cell;box-sizing:border-box;padding:0;border-bottom:1px solid var(--vvd-color-canvas-text);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-bold);padding-block:12px 14px;padding-inline:12px;vertical-align:middle}:host.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))}:host: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))}:host{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}:host.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){:host.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}}:host.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}:host{--_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: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));outline:none}slot{display:block;overflow:hidden;inline-size:100%;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}",s=":host{display:table-cell}:host.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))}:host: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))}:host{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}:host.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){:host.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}}:host.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}:host{box-sizing:border-box;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:12px 14px;padding-inline:12px;vertical-align:middle}:host: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));outline:none}:host:not([cell-type=columnheader]){--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host:is([selected]){background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;inline-size:100%;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}";class p extends a.VividElement{connectedCallback(){super.connectedCallback()}}const b=o=>a.html`
2
+ <template role="table">
3
+ <div class="base">
4
+ <slot></slot>
5
+ </div>
6
+ </template>
7
+ `;class m extends a.VividElement{}const _=o=>a.html`
8
+ <template>
9
+ <slot></slot>
10
+ </template>
11
+ `;class f extends a.VividElement{connectedCallback(){super.connectedCallback()}}const h=o=>a.html`
12
+ <template>
13
+ <slot></slot>
14
+ </template>
15
+ `;class u extends r.HostSemantics(a.VividElement){connectedCallback(){super.connectedCallback()}}const x=o=>a.html`
16
+ <template
17
+ ${r.applyHostSemantics({role:"row"})}
18
+ >
19
+ <div class="base">
20
+ <slot></slot>
21
+ </div>
22
+ </template>
23
+ `;class g extends r.HostSemantics(a.VividElement){connectedCallback(){super.connectedCallback()}}const y=o=>a.html`
24
+ <template
25
+ tabindex="-1"
26
+ ${r.applyHostSemantics({role:()=>l.DataGridCellRole.columnheader})}
27
+ >
28
+ <slot></slot>
29
+ </template>
30
+ `;class w extends r.HostSemantics(a.VividElement){connectedCallback(){super.connectedCallback()}}const k=o=>a.html`
31
+ <template
32
+ tabindex="-1"
33
+ ${r.applyHostSemantics({role:()=>"cell"})}
34
+ >
35
+ <slot></slot>
36
+ </template>
37
+ `,t=a.defineVividComponent("table-cell",w,k,[],{styles:s}),C=a.defineVividComponent("table-header-cell",g,y,[t],{styles:v}),e=a.defineVividComponent("table-row",u,x,[t,C],{styles:d}),z=a.defineVividComponent("table-body",f,h,[e],{styles:i}),T=a.defineVividComponent("table-head",m,_,[e],{styles:n}),H=a.defineVividComponent("table",p,b,[T,z],{styles:c}),S=a.createRegisterFunction(H);S();
@@ -0,0 +1,143 @@
1
+ import { V as o, h as r, c as i, d as t } from "../bundled/vivid-element.js";
2
+ import { H as e, a as l } from "../bundled/host-semantics.js";
3
+ import { c as d } from "../bundled/data-grid.options.js";
4
+ const v = ":host{display:inline-block}.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;display:table;overflow:auto;width:100%;block-size:inherit;border-collapse:collapse;inline-size:100%;max-block-size:inherit}", s = ":host{display:table-header-group}", p = ":host{display:table-row-group}", b = ":host{display:table-row}.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:contents;width:100%;box-sizing:border-box;color:var(--vvd-color-canvas-text)}:host(:is([selected])) .base{background-color:var(--_appearance-color-fill)}", m = ":host{display:table-cell;box-sizing:border-box;padding:0;border-bottom:1px solid var(--vvd-color-canvas-text);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-bold);padding-block:12px 14px;padding-inline:12px;vertical-align:middle}:host.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))}:host: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))}:host{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}:host.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){:host.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}}:host.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}:host{--_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: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));outline:none}slot{display:block;overflow:hidden;inline-size:100%;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}", _ = ":host{display:table-cell}:host.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))}:host: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))}:host{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){:host:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}:host.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}:host.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){:host.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}}:host.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}:host{box-sizing:border-box;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:12px 14px;padding-inline:12px;vertical-align:middle}:host: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));outline:none}:host:not([cell-type=columnheader]){--_data-grid-cell-default-block-size: 100%;--_data-grid-cell-default-white-space: normal}:host:is([selected]){background-color:var(--_appearance-color-fill)}slot{display:block;overflow:hidden;inline-size:100%;text-overflow:ellipsis;white-space:var(--data-grid-cell-white-space, var(--_data-grid-cell-default-white-space))}";
5
+ class f extends o {
6
+ /**
7
+ * @internal
8
+ */
9
+ connectedCallback() {
10
+ super.connectedCallback();
11
+ }
12
+ }
13
+ const h = (a) => r`
14
+ <template role="table">
15
+ <div class="base">
16
+ <slot></slot>
17
+ </div>
18
+ </template>
19
+ `;
20
+ class x extends o {
21
+ }
22
+ const u = (a) => r`
23
+ <template>
24
+ <slot></slot>
25
+ </template>
26
+ `;
27
+ class g extends o {
28
+ /**
29
+ * @internal
30
+ */
31
+ connectedCallback() {
32
+ super.connectedCallback();
33
+ }
34
+ }
35
+ const y = (a) => r`
36
+ <template>
37
+ <slot></slot>
38
+ </template>
39
+ `;
40
+ class w extends e(o) {
41
+ /**
42
+ * @internal
43
+ */
44
+ connectedCallback() {
45
+ super.connectedCallback();
46
+ }
47
+ }
48
+ const k = (a) => r`
49
+ <template
50
+ ${l({
51
+ role: "row"
52
+ })}
53
+ >
54
+ <div class="base">
55
+ <slot></slot>
56
+ </div>
57
+ </template>
58
+ `;
59
+ class C extends e(o) {
60
+ /**
61
+ * @internal
62
+ */
63
+ connectedCallback() {
64
+ super.connectedCallback();
65
+ }
66
+ }
67
+ const z = (a) => r`
68
+ <template
69
+ tabindex="-1"
70
+ ${l({
71
+ role: () => d.columnheader
72
+ })}
73
+ >
74
+ <slot></slot>
75
+ </template>
76
+ `;
77
+ class T extends e(o) {
78
+ /**
79
+ * @internal
80
+ */
81
+ connectedCallback() {
82
+ super.connectedCallback();
83
+ }
84
+ }
85
+ const H = (a) => r`
86
+ <template
87
+ tabindex="-1"
88
+ ${l({
89
+ role: () => "cell"
90
+ })}
91
+ >
92
+ <slot></slot>
93
+ </template>
94
+ `, c = t(
95
+ "table-cell",
96
+ T,
97
+ H,
98
+ [],
99
+ {
100
+ styles: _
101
+ }
102
+ ), D = t(
103
+ "table-header-cell",
104
+ C,
105
+ z,
106
+ [c],
107
+ {
108
+ styles: m
109
+ }
110
+ ), n = t(
111
+ "table-row",
112
+ w,
113
+ k,
114
+ [c, D],
115
+ {
116
+ styles: b
117
+ }
118
+ ), S = t(
119
+ "table-body",
120
+ g,
121
+ y,
122
+ [n],
123
+ {
124
+ styles: p
125
+ }
126
+ ), R = t(
127
+ "table-head",
128
+ x,
129
+ u,
130
+ [n],
131
+ {
132
+ styles: s
133
+ }
134
+ ), B = t(
135
+ "table",
136
+ f,
137
+ h,
138
+ [R, S],
139
+ {
140
+ styles: v
141
+ }
142
+ ), V = i(B);
143
+ V();
@@ -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,