@vonage/vivid 5.5.0 → 5.7.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 (345) hide show
  1. package/LICENSE.md +201 -0
  2. package/accordion/definition.cjs +5 -0
  3. package/accordion/definition.js +5 -0
  4. package/accordion/index.cjs +1 -1
  5. package/accordion/index.js +14 -3
  6. package/accordion-item/definition.cjs +1 -1
  7. package/accordion-item/definition.js +1 -1
  8. package/alert/definition.cjs +4 -12
  9. package/alert/definition.js +5 -13
  10. package/alert/index.cjs +11 -11
  11. package/alert/index.js +33 -37
  12. package/audio-player/definition.cjs +4 -0
  13. package/audio-player/definition.js +4 -0
  14. package/audio-player/index.cjs +1 -1
  15. package/audio-player/index.js +8 -2
  16. package/avatar/definition.cjs +1 -1
  17. package/avatar/definition.js +1 -1
  18. package/avatar/index.cjs +1 -1
  19. package/avatar/index.js +4 -4
  20. package/banner/definition.cjs +2 -4
  21. package/banner/definition.js +2 -4
  22. package/banner/index.cjs +2 -2
  23. package/banner/index.js +1 -1
  24. package/breadcrumb/definition.cjs +1 -0
  25. package/breadcrumb/definition.js +1 -0
  26. package/breadcrumb/index.cjs +1 -1
  27. package/breadcrumb/index.js +1 -0
  28. package/breadcrumb-item/definition.cjs +1 -1
  29. package/breadcrumb-item/definition.js +1 -1
  30. package/breadcrumb-item/index.cjs +4 -4
  31. package/breadcrumb-item/index.js +4 -4
  32. package/bundled/affix.js +1 -1
  33. package/bundled/anchored.cjs +1 -1
  34. package/bundled/anchored.js +6 -6
  35. package/bundled/attribute-binding-behaviour.cjs +1 -1
  36. package/bundled/attribute-binding-behaviour.js +3 -1
  37. package/bundled/base-color-picker.cjs +1 -1
  38. package/bundled/base-color-picker.js +9 -3
  39. package/bundled/base-progress.cjs +1 -1
  40. package/bundled/base-progress.js +3 -0
  41. package/bundled/button.cjs +1 -1
  42. package/bundled/button.js +14 -10
  43. package/bundled/calendar-picker.template.cjs +1 -1
  44. package/bundled/calendar-picker.template.js +3 -1
  45. package/bundled/definition.cjs +1 -1
  46. package/bundled/definition.js +21 -21
  47. package/bundled/definition10.cjs +7 -7
  48. package/bundled/definition10.js +27 -17
  49. package/bundled/definition11.cjs +2 -2
  50. package/bundled/definition11.js +5 -5
  51. package/bundled/definition12.cjs +3 -3
  52. package/bundled/definition12.js +2 -1
  53. package/bundled/definition13.cjs +1 -1
  54. package/bundled/definition13.js +1 -1
  55. package/bundled/definition17.cjs +1 -1
  56. package/bundled/definition17.js +4 -1
  57. package/bundled/definition18.cjs +1 -1
  58. package/bundled/definition18.js +18 -7
  59. package/bundled/definition19.cjs +6 -6
  60. package/bundled/definition19.js +103 -68
  61. package/bundled/definition2.cjs +8 -9
  62. package/bundled/definition2.js +67 -75
  63. package/bundled/definition20.cjs +1 -1
  64. package/bundled/definition20.js +4 -4
  65. package/bundled/definition22.cjs +1 -1
  66. package/bundled/definition22.js +2 -1
  67. package/bundled/definition3.cjs +2 -2
  68. package/bundled/definition3.js +2 -1
  69. package/bundled/definition5.cjs +1 -1
  70. package/bundled/definition5.js +10 -4
  71. package/bundled/definition6.cjs +2 -2
  72. package/bundled/definition6.js +2 -1
  73. package/bundled/definition7.cjs +1 -1
  74. package/bundled/definition7.js +8 -5
  75. package/bundled/definition8.cjs +1 -1
  76. package/bundled/definition8.js +6 -5
  77. package/bundled/definition9.cjs +6 -6
  78. package/bundled/definition9.js +545 -488
  79. package/bundled/delegates-aria.cjs +1 -1
  80. package/bundled/delegates-aria.js +3 -1
  81. package/bundled/form-associated.cjs +1 -1
  82. package/bundled/form-associated.js +11 -3
  83. package/bundled/host-semantics.js +4 -4
  84. package/bundled/listbox.cjs +1 -1
  85. package/bundled/listbox.js +21 -3
  86. package/bundled/localized.cjs +1 -1
  87. package/bundled/localized.js +137 -67
  88. package/bundled/mixins.cjs +4 -4
  89. package/bundled/mixins.js +10 -7
  90. package/bundled/picker-field.template.cjs +1 -1
  91. package/bundled/picker-field.template.js +1 -0
  92. package/bundled/scrollIntoView.cjs +1 -1
  93. package/bundled/scrollIntoView.js +4 -1
  94. package/bundled/text-field.cjs +1 -1
  95. package/bundled/text-field.js +1 -1
  96. package/bundled/time-selection-picker.template.cjs +11 -11
  97. package/bundled/time-selection-picker.template.js +4 -1
  98. package/bundled/vivid-element.cjs +4 -4
  99. package/bundled/vivid-element.js +529 -492
  100. package/calendar/definition.cjs +2 -0
  101. package/calendar/definition.js +2 -0
  102. package/calendar/index.cjs +1 -1
  103. package/calendar/index.js +2 -0
  104. package/calendar-event/definition.cjs +1 -1
  105. package/calendar-event/definition.js +1 -1
  106. package/calendar-event/index.cjs +2 -2
  107. package/calendar-event/index.js +5 -5
  108. package/card/definition.cjs +1 -1
  109. package/card/definition.js +1 -1
  110. package/card/index.cjs +1 -1
  111. package/card/index.js +1 -1
  112. package/checkbox/definition.cjs +2 -1
  113. package/checkbox/definition.js +2 -1
  114. package/color-picker/definition.cjs +6 -1
  115. package/color-picker/definition.js +6 -1
  116. package/color-picker/index.cjs +1 -1
  117. package/color-picker/index.js +6 -1
  118. package/combobox/definition.cjs +17 -6
  119. package/combobox/definition.js +17 -6
  120. package/combobox/index.cjs +14 -9
  121. package/combobox/index.js +48 -36
  122. package/contextual-help/definition.cjs +1 -1
  123. package/contextual-help/definition.js +1 -1
  124. package/custom-elements.json +6985 -542
  125. package/data-grid/definition.cjs +106 -8
  126. package/data-grid/definition.js +106 -8
  127. package/data-grid/index.cjs +52 -38
  128. package/data-grid/index.js +313 -242
  129. package/date-range-picker/definition.cjs +2 -0
  130. package/date-range-picker/definition.js +2 -0
  131. package/date-range-picker/index.cjs +1 -1
  132. package/date-range-picker/index.js +5 -1
  133. package/dial-pad/definition.cjs +10 -1
  134. package/dial-pad/definition.js +10 -1
  135. package/dial-pad/index.cjs +2 -2
  136. package/dial-pad/index.js +37 -13
  137. package/dialog/definition.cjs +2 -1
  138. package/dialog/definition.js +2 -1
  139. package/dialog/index.cjs +1 -1
  140. package/dialog/index.js +2 -1
  141. package/fab/definition.cjs +2 -1
  142. package/fab/definition.js +2 -1
  143. package/fab/index.cjs +1 -1
  144. package/fab/index.js +6 -5
  145. package/file-picker/definition.cjs +7 -2
  146. package/file-picker/definition.js +7 -2
  147. package/file-picker/index.cjs +6 -6
  148. package/file-picker/index.js +82 -73
  149. package/icon/definition.cjs +12 -21
  150. package/icon/definition.js +13 -22
  151. package/index.cjs +21 -0
  152. package/index.js +1 -1
  153. package/lib/data-grid/locale.d.ts +5 -0
  154. package/lib/date-picker/date-picker.d.ts +38 -38
  155. package/lib/date-range-picker/date-range-picker.d.ts +20 -20
  156. package/lib/date-time-picker/date-time-picker.d.ts +40 -40
  157. package/lib/icon/icon.d.ts +0 -1
  158. package/lib/menu/menu.d.ts +4 -4
  159. package/lib/rich-text-editor/definition.d.ts +3 -2
  160. package/lib/rich-text-editor/locale.d.ts +29 -3
  161. package/lib/rich-text-editor/popover.d.ts +19 -0
  162. package/lib/rich-text-editor/rich-text-editor.d.ts +16 -45
  163. package/lib/rich-text-editor/rich-text-editor.template.d.ts +2 -2
  164. package/lib/rich-text-editor/rte/config.d.ts +18 -0
  165. package/lib/rich-text-editor/rte/document.d.ts +28 -0
  166. package/lib/rich-text-editor/rte/exports.d.ts +23 -0
  167. package/lib/rich-text-editor/rte/feature.d.ts +46 -0
  168. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +33 -0
  169. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +11 -0
  170. package/lib/rich-text-editor/rte/features/internal/history.d.ts +10 -0
  171. package/lib/rich-text-editor/rte/features/internal/text-style.d.ts +18 -0
  172. package/lib/rich-text-editor/rte/html-parser.d.ts +24 -0
  173. package/lib/rich-text-editor/rte/html-serializer.d.ts +30 -0
  174. package/lib/rich-text-editor/rte/instance.d.ts +57 -0
  175. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -0
  176. package/lib/rich-text-editor/rte/utils/impl.d.ts +1 -0
  177. package/lib/rich-text-editor/rte/utils/textblock-attrs.d.ts +29 -0
  178. package/lib/rich-text-editor/rte/utils/textblock-marks.d.ts +10 -0
  179. package/lib/rich-text-editor/rte/utils/ui.d.ts +109 -0
  180. package/lib/simple-color-picker/simple-color-picker.d.ts +4 -4
  181. package/lib/text-area/text-area.d.ts +1 -1
  182. package/lib/text-field/text-field.d.ts +1 -1
  183. package/lib/time-picker/time-picker.d.ts +20 -20
  184. package/lib/toggletip/toggletip.d.ts +4 -4
  185. package/lib/tooltip/tooltip.d.ts +4 -4
  186. package/locales/de-DE.cjs +42 -4
  187. package/locales/de-DE.js +42 -4
  188. package/locales/en-GB.cjs +43 -5
  189. package/locales/en-GB.js +43 -5
  190. package/locales/en-US.cjs +43 -5
  191. package/locales/en-US.js +43 -5
  192. package/locales/ja-JP.cjs +43 -5
  193. package/locales/ja-JP.js +43 -5
  194. package/locales/zh-CN.cjs +43 -5
  195. package/locales/zh-CN.js +43 -5
  196. package/menu/definition.cjs +2 -1
  197. package/menu/definition.js +2 -1
  198. package/nav-disclosure/definition.cjs +1 -1
  199. package/nav-disclosure/definition.js +1 -1
  200. package/nav-disclosure/index.cjs +1 -1
  201. package/nav-disclosure/index.js +1 -1
  202. package/nav-item/definition.cjs +1 -1
  203. package/nav-item/definition.js +1 -1
  204. package/nav-item/index.cjs +1 -1
  205. package/nav-item/index.js +5 -5
  206. package/number-field/definition.cjs +5 -3
  207. package/number-field/definition.js +5 -3
  208. package/number-field/index.cjs +5 -3
  209. package/number-field/index.js +34 -32
  210. package/package.json +76 -62
  211. package/pagination/definition.cjs +2 -0
  212. package/pagination/definition.js +2 -0
  213. package/pagination/index.cjs +1 -1
  214. package/pagination/index.js +2 -0
  215. package/radio/definition.cjs +5 -1
  216. package/radio/definition.js +5 -1
  217. package/range-slider/definition.cjs +3 -2
  218. package/range-slider/definition.js +3 -2
  219. package/range-slider/index.cjs +1 -1
  220. package/range-slider/index.js +4 -2
  221. package/rich-text-editor/definition.cjs +17942 -1074
  222. package/rich-text-editor/definition.js +17926 -1079
  223. package/rich-text-editor/index.cjs +29 -130
  224. package/rich-text-editor/index.js +5565 -2474
  225. package/searchable-select/definition.cjs +7 -3
  226. package/searchable-select/definition.js +7 -3
  227. package/searchable-select/index.cjs +5 -5
  228. package/searchable-select/index.js +11 -7
  229. package/select/definition.cjs +17 -2
  230. package/select/definition.js +17 -2
  231. package/selectable-box/definition.cjs +1 -1
  232. package/selectable-box/definition.js +1 -1
  233. package/selectable-box/index.cjs +3 -3
  234. package/selectable-box/index.js +1 -1
  235. package/shared/patterns/anchored.d.ts +8 -8
  236. package/shared/patterns/char-count/char-count.d.ts +1 -1
  237. package/shared/patterns/localized.d.ts +386 -0
  238. package/shared/picker-field/mixins/calendar-picker.d.ts +10 -10
  239. package/shared/picker-field/mixins/calendar-picker.template.d.ts +10 -10
  240. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +20 -20
  241. package/shared/picker-field/mixins/single-date-picker.d.ts +28 -28
  242. package/shared/picker-field/mixins/single-value-picker.d.ts +8 -8
  243. package/shared/picker-field/mixins/time-selection-picker.d.ts +20 -20
  244. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +20 -20
  245. package/shared/utils/promise.d.ts +7 -0
  246. package/simple-color-picker/definition.cjs +4 -1
  247. package/simple-color-picker/definition.js +4 -1
  248. package/simple-color-picker/index.cjs +3 -3
  249. package/simple-color-picker/index.js +4 -1
  250. package/slider/definition.cjs +8 -2
  251. package/slider/definition.js +8 -2
  252. package/split-button/definition.cjs +1 -1
  253. package/split-button/definition.js +1 -1
  254. package/split-button/index.cjs +1 -1
  255. package/split-button/index.js +1 -1
  256. package/styles/core/all.css +5 -1
  257. package/styles/core/theme.css +5 -1
  258. package/styles/core/typography.css +1 -1
  259. package/styles/tokens/theme-dark.css +4 -4
  260. package/styles/tokens/theme-light.css +4 -4
  261. package/styles/tokens/vivid-2-compat.css +1 -1
  262. package/switch/definition.cjs +2 -1
  263. package/switch/definition.js +2 -1
  264. package/switch/index.cjs +2 -2
  265. package/switch/index.js +11 -10
  266. package/tab/definition.cjs +1 -1
  267. package/tab/definition.js +1 -1
  268. package/tabs/definition.cjs +2 -0
  269. package/tabs/definition.js +2 -0
  270. package/tabs/index.cjs +1 -1
  271. package/tabs/index.js +2 -0
  272. package/tag/definition.cjs +1 -1
  273. package/tag/definition.js +1 -1
  274. package/tag/index.cjs +1 -1
  275. package/tag/index.js +1 -1
  276. package/text-area/definition.cjs +13 -7
  277. package/text-area/definition.js +13 -7
  278. package/text-area/index.cjs +6 -6
  279. package/text-area/index.js +20 -14
  280. package/text-field/definition.cjs +16 -6
  281. package/text-field/definition.js +16 -6
  282. package/toggletip/definition.cjs +5 -1
  283. package/toggletip/definition.js +5 -1
  284. package/tooltip/definition.cjs +4 -1
  285. package/tooltip/definition.js +4 -1
  286. package/tree-view/definition.cjs +28 -6
  287. package/tree-view/definition.js +28 -6
  288. package/tree-view/index.cjs +1 -1
  289. package/tree-view/index.js +28 -6
  290. package/unbundled/_commonjsHelpers.cjs +0 -26
  291. package/unbundled/_commonjsHelpers.js +1 -26
  292. package/unbundled/attribute-binding-behaviour.cjs +1 -0
  293. package/unbundled/attribute-binding-behaviour.js +1 -0
  294. package/unbundled/base-color-picker.cjs +9 -3
  295. package/unbundled/base-color-picker.js +9 -3
  296. package/unbundled/base-progress.cjs +3 -0
  297. package/unbundled/base-progress.js +3 -0
  298. package/unbundled/button.cjs +14 -10
  299. package/unbundled/button.js +14 -10
  300. package/unbundled/calendar-picker.template.cjs +3 -1
  301. package/unbundled/calendar-picker.template.js +3 -1
  302. package/unbundled/definition.cjs +2 -1
  303. package/unbundled/definition.js +2 -1
  304. package/unbundled/definition2.cjs +5 -2
  305. package/unbundled/definition2.js +5 -2
  306. package/unbundled/definition3.cjs +2 -1
  307. package/unbundled/definition3.js +2 -1
  308. package/unbundled/definition4.cjs +2 -1
  309. package/unbundled/definition4.js +2 -1
  310. package/unbundled/definition5.cjs +3 -2
  311. package/unbundled/definition5.js +4 -3
  312. package/unbundled/delegates-aria.cjs +1 -0
  313. package/unbundled/delegates-aria.js +1 -0
  314. package/unbundled/form-associated.cjs +4 -0
  315. package/unbundled/form-associated.js +4 -0
  316. package/unbundled/listbox.cjs +16 -1
  317. package/unbundled/listbox.js +16 -1
  318. package/unbundled/localized.cjs +36 -0
  319. package/unbundled/localized.js +37 -2
  320. package/unbundled/mixins.cjs +2 -0
  321. package/unbundled/mixins.js +2 -0
  322. package/unbundled/picker-field.template.cjs +1 -0
  323. package/unbundled/picker-field.template.js +1 -0
  324. package/unbundled/scrollIntoView.cjs +1 -0
  325. package/unbundled/scrollIntoView.js +1 -0
  326. package/unbundled/text-field.cjs +1 -1
  327. package/unbundled/text-field.js +1 -1
  328. package/unbundled/time-selection-picker.template.cjs +4 -1
  329. package/unbundled/time-selection-picker.template.js +4 -1
  330. package/unbundled/vivid-element.cjs +1 -1
  331. package/unbundled/vivid-element.js +1 -1
  332. package/video-player/definition.cjs +54 -44
  333. package/video-player/definition.js +51 -41
  334. package/video-player/index.cjs +28 -28
  335. package/video-player/index.js +1449 -1443
  336. package/vivid.api.json +6463 -6099
  337. package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +0 -4
  338. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +0 -18
  339. package/lib/rich-text-editor/image-placeholder/definition.d.ts +0 -2
  340. package/lib/rich-text-editor/image-placeholder/image-placeholder.d.ts +0 -7
  341. package/lib/rich-text-editor/image-placeholder/image-placeholder.template.d.ts +0 -4
  342. package/lib/rich-text-editor/menubar/consts.d.ts +0 -18
  343. package/lib/rich-text-editor/menubar/definition.d.ts +0 -2
  344. package/lib/rich-text-editor/menubar/menubar.d.ts +0 -386
  345. package/lib/rich-text-editor/menubar/menubar.template.d.ts +0 -4
@@ -12,60 +12,60 @@ import { w as H } from "../bundled/when.js";
12
12
  import { s as O } from "../bundled/slotted.js";
13
13
  import { r as u } from "../bundled/ref.js";
14
14
  import { r as I } from "../bundled/repeat.js";
15
- import { c as f } from "../bundled/class-names.js";
16
- const L = ":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(--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}.label-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--label-wrapper-gap, 8px)}.label-wrapper[hidden]{display:none}.label-wrapper .label{flex:1 1 auto}.label-wrapper slot[name=contextual-help]::slotted([data-vvd-component=contextual-help]){margin-inline-start:auto}";
17
- async function j(a) {
18
- return a.items?.[0]?.webkitGetAsEntry != null ? await M(a.items) : Array.from(a.files);
19
- }
15
+ import { c as m } from "../bundled/class-names.js";
16
+ const L = ".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}";
20
17
  async function M(a) {
18
+ return a.items?.[0]?.webkitGetAsEntry != null ? await R(a.items) : Array.from(a.files);
19
+ }
20
+ async function R(a) {
21
21
  const r = [];
22
- for (const t of a) {
23
- const e = t.getAsFile();
22
+ for (const o of a) {
23
+ const e = o.getAsFile();
24
24
  if (e)
25
25
  r.push(Promise.resolve([e]));
26
26
  else {
27
- const o = t.webkitGetAsEntry();
28
- o && r.push(h(o, !1));
27
+ const t = o.webkitGetAsEntry();
28
+ t && r.push(h(t, !1));
29
29
  }
30
30
  }
31
31
  return (await Promise.all(r)).flat();
32
32
  }
33
33
  const h = (a, r) => {
34
- const t = (o) => new Promise((i, n) => {
35
- o.file((c) => {
34
+ const o = (t) => new Promise((i, n) => {
35
+ t.file((c) => {
36
36
  r && c.name.substring(0, 1) === "." ? i([]) : i([c]);
37
37
  }, n);
38
- }), e = a.isFile ? t(a) : a.isDirectory ? R(a) : Promise.resolve([]);
38
+ }), e = a.isFile ? o(a) : a.isDirectory ? W(a) : Promise.resolve([]);
39
39
  return e.catch(() => null), e;
40
- }, R = async (a) => new Promise((r, t) => {
41
- const e = [], o = a.createReader(), i = () => {
42
- o.readEntries((n) => {
40
+ }, W = async (a) => new Promise((r, o) => {
41
+ const e = [], t = a.createReader(), i = () => {
42
+ t.readEntries((n) => {
43
43
  for (const c of n)
44
44
  e.push(h(c, !0));
45
45
  n.length ? i() : r(Promise.all(e).then((c) => c.flat()));
46
- }, t);
46
+ }, o);
47
47
  };
48
48
  i();
49
49
  });
50
- function W(a, r) {
50
+ function j(a, r) {
51
51
  if (!r)
52
52
  return !0;
53
- const t = r.split(","), e = (i) => /\/\*$/.test(i), o = (i) => i.replace(/\/.*$/, "");
54
- for (let i of t)
53
+ const o = r.split(","), e = (i) => /\/\*$/.test(i), t = (i) => i.replace(/\/.*$/, "");
54
+ for (let i of o)
55
55
  if (i = i.trim(), i.charAt(0) === ".") {
56
56
  if (a.name.toLowerCase().endsWith(i.toLowerCase()))
57
57
  return !0;
58
58
  } else if (e(i)) {
59
- if (o(a.type) === o(i))
59
+ if (t(a.type) === t(i))
60
60
  return !0;
61
61
  } else if (a.type === i)
62
62
  return !0;
63
63
  return !1;
64
64
  }
65
- var N = Object.defineProperty, G = Object.getOwnPropertyDescriptor, s = (a, r, t, e) => {
66
- for (var o = e > 1 ? void 0 : e ? G(r, t) : r, i = a.length - 1, n; i >= 0; i--)
67
- (n = a[i]) && (o = (e ? n(r, t, o) : n(o)) || o);
68
- return e && o && N(r, t, o), o;
65
+ var N = Object.defineProperty, G = Object.getOwnPropertyDescriptor, s = (a, r, o, e) => {
66
+ for (var t = e > 1 ? void 0 : e ? G(r, o) : r, i = a.length - 1, n; i >= 0; i--)
67
+ (n = a[i]) && (t = (e ? n(r, o, t) : n(t)) || t);
68
+ return e && t && N(r, o, t), t;
69
69
  };
70
70
  class l extends V(
71
71
  $(
@@ -75,10 +75,10 @@ class l extends V(
75
75
  )
76
76
  ) {
77
77
  constructor() {
78
- super(...arguments), this.singleFile = !1, this.maxFileSize = 256, this.valueChanged = (r, t) => {
79
- super.valueChanged(r, t), t === "" && this.files.length && this.removeAllFiles();
80
- }, this.proxy = document.createElement("input"), this.setFormValue = (r, t) => {
81
- typeof r != "string" && super.setFormValue(r, t);
78
+ super(...arguments), this.singleFile = !1, this.maxFileSize = 256, this.valueChanged = (r, o) => {
79
+ super.valueChanged(r, o), o === "" && this.files.length && this.removeAllFiles();
80
+ }, this.proxy = document.createElement("input"), this.setFormValue = (r, o) => {
81
+ typeof r != "string" && super.setFormValue(r, o);
82
82
  }, this._customValidationError = null, this.#e = {
83
83
  handleChange: () => {
84
84
  this._customValidationError = this.#r.observe(
@@ -91,18 +91,18 @@ class l extends V(
91
91
  /**
92
92
  * @internal
93
93
  */
94
- nameChanged(r, t) {
95
- super.nameChanged(r, t), this.#t();
94
+ nameChanged(r, o) {
95
+ super.nameChanged(r, o), this.#o();
96
96
  }
97
- #t() {
97
+ #o() {
98
98
  const r = this.files;
99
99
  if (!this.name)
100
100
  this.setFormValue(null);
101
101
  else {
102
- const t = new FormData();
102
+ const o = new FormData();
103
103
  for (const e of r)
104
- t.append(this.name, e);
105
- this.setFormValue(t);
104
+ o.append(this.name, e);
105
+ this.setFormValue(o);
106
106
  }
107
107
  this.#i();
108
108
  }
@@ -126,6 +126,7 @@ class l extends V(
126
126
  * @internal
127
127
  */
128
128
  _customValidationErrorChanged() {
129
+ /* v8 ignore if -- @preserve */
129
130
  this.proxy && this.proxy.setCustomValidity(this._customValidationError ?? ""), this.validate();
130
131
  }
131
132
  #e;
@@ -158,21 +159,22 @@ class l extends V(
158
159
  _onDragOver(r) {
159
160
  if (!r.dataTransfer)
160
161
  return !0;
161
- const t = r.dataTransfer.effectAllowed;
162
- return r.dataTransfer.dropEffect = t === "move" || t === "linkMove" ? "move" : "copy", !1;
162
+ const o = r.dataTransfer.effectAllowed;
163
+ return r.dataTransfer.dropEffect = o === "move" || o === "linkMove" ? "move" : "copy", !1;
163
164
  }
164
165
  /**
165
166
  * @internal
166
167
  */
167
168
  _onDragLeave(r) {
169
+ /* v8 ignore else -- @preserve */
168
170
  return r.currentTarget === r.target && (this._dragHover = !1), !0;
169
171
  }
170
172
  /**
171
173
  * @internal
172
174
  */
173
175
  _onDrop(r) {
174
- return this._dragHover = !1, r.dataTransfer ? (j(r.dataTransfer).then((t) => this.#o(t)).catch((t) => {
175
- console.error(t);
176
+ return this._dragHover = !1, r.dataTransfer ? (M(r.dataTransfer).then((o) => this.#t(o)).catch((o) => {
177
+ console.error(o);
176
178
  }), !1) : !0;
177
179
  }
178
180
  /**
@@ -191,16 +193,21 @@ class l extends V(
191
193
  * @internal
192
194
  */
193
195
  _onRemoveFileClick(r) {
194
- this._allFiles = this._allFiles.filter((t) => t !== r), this.$emit("change");
196
+ this._allFiles = this._allFiles.filter((o) => o !== r), this.$emit("change");
195
197
  }
196
198
  /**
197
199
  * @internal
198
200
  */
199
201
  _allFilesChanged() {
200
- this.#t();
202
+ this.#o();
201
203
  }
202
- #o(r) {
203
- this.singleFile ? r.length > 0 && (this._allFiles = [r[r.length - 1]]) : this._allFiles = [...this._allFiles, ...r], this.$emit("change");
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");
204
211
  }
205
212
  /**
206
213
  * Removes all files from the File Picker.
@@ -209,19 +216,19 @@ class l extends V(
209
216
  this._allFiles = [];
210
217
  }
211
218
  get _validatedFiles() {
212
- const r = (o, i) => this.maxFileSize && o.size > this.maxFileSize * 1024 * 1024 ? (this.fileTooBigError || this.locale.filePicker.fileTooBigError).replace(
219
+ const r = (t, i) => this.maxFileSize && t.size > this.maxFileSize * 1024 * 1024 ? (this.fileTooBigError || this.locale.filePicker.fileTooBigError).replace(
213
220
  "{{filesize}}",
214
- this._formatNumber(Math.round(o.size / 1024 / 10.24) / 100)
215
- ).replace("{{maxFilesize}}", this._formatNumber(this.maxFileSize)) : W(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 = [];
221
+ this._formatNumber(Math.round(t.size / 1024 / 10.24) / 100)
222
+ ).replace("{{maxFilesize}}", this._formatNumber(this.maxFileSize)) : j(t, 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, o = [];
216
223
  let e = 0;
217
- for (const o of this._allFiles) {
224
+ for (const t of this._allFiles) {
218
225
  const i = {
219
- file: o,
220
- validationError: r(o, e)
226
+ file: t,
227
+ validationError: r(t, e)
221
228
  };
222
- t.push(i), i.validationError || e++;
229
+ o.push(i), i.validationError || e++;
223
230
  }
224
- return t;
231
+ return o;
225
232
  }
226
233
  /**
227
234
  * Files that have been added to the file picker and passed validation.
@@ -243,14 +250,14 @@ class l extends V(
243
250
  * @internal
244
251
  */
245
252
  _onHiddenInputChange(r) {
246
- this.#o(this._hiddenInput.files), this._hiddenInput.value = "", r.stopPropagation();
253
+ this.#t(this._hiddenInput.files), this._hiddenInput.value = "", r.stopPropagation();
247
254
  }
248
255
  /**
249
256
  * @internal
250
257
  */
251
258
  _formatNumber(r) {
252
- const t = String(r);
253
- return this.locale.common.useCommaAsDecimalSeparator ? t.replace(".", ",") : t;
259
+ const o = String(r);
260
+ return this.locale.common.useCommaAsDecimalSeparator ? o.replace(".", ",") : o;
254
261
  }
255
262
  }
256
263
  s([
@@ -289,27 +296,28 @@ s([
289
296
  s([
290
297
  _
291
298
  ], l.prototype, "_validatedFiles", 1);
292
- const m = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r) => {
293
- let t = 0, e = "b";
299
+ const f = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r) => {
300
+ let o = 0, e = "b";
301
+ /* v8 ignore else -- @preserve */
294
302
  if (r > 0) {
295
- const o = ["tb", "gb", "mb", "kb", "b"];
296
- for (let i = 0; i < o.length; i++) {
297
- const n = o[i], c = Math.pow(m, 4 - i) / 10;
303
+ const t = ["tb", "gb", "mb", "kb", "b"];
304
+ for (let i = 0; i < t.length; i++) {
305
+ const n = t[i], c = Math.pow(f, 4 - i) / 10;
298
306
  if (r >= c) {
299
- t = r / Math.pow(m, 4 - i), e = n;
307
+ o = r / Math.pow(f, 4 - i), e = n;
300
308
  break;
301
309
  }
302
310
  }
303
- t = Math.round(10 * t) / 10;
311
+ o = Math.round(10 * o) / 10;
304
312
  }
305
- return p`<strong>${a._formatNumber(t)}</strong>
313
+ return p`<strong>${a._formatNumber(o)}</strong>
306
314
  ${Y[e]}`;
307
- }, K = ({ size: a, _dragHover: r }) => f(
315
+ }, K = ({ size: a, _dragHover: r }) => m(
308
316
  "control",
309
317
  [`size-${a}`, !!a],
310
318
  ["drag-hover", r]
311
319
  ), q = (a) => {
312
- const r = a.tagFor(b), t = a.tagFor(x);
320
+ const r = a.tagFor(b), o = a.tagFor(x);
313
321
  return p`
314
322
  <div class="base">
315
323
  <div class="label-wrapper" ?hidden=${(e) => !e.label && !e._hasContextualHelp}>
@@ -325,11 +333,12 @@ const m = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r
325
333
  ${u("control")}
326
334
  class="${K}"
327
335
  @click="${(e) => e._onControlClick()}"
328
- @keydown"${() => !1}"
336
+ @keydown"${/* v8 ignore next -- @preserve -- Prevent implicit form submission on Enter */
337
+ () => !1}"
329
338
  @dragenter="${(e) => e._onDragEnter()}"
330
- @dragover="${(e, o) => e._onDragOver(o.event)}"
331
- @dragleave="${(e, o) => e._onDragLeave(o.event)}"
332
- @drop="${(e, o) => e._onDrop(o.event)}"
339
+ @dragover="${(e, t) => e._onDragOver(t.event)}"
340
+ @dragleave="${(e, t) => e._onDragLeave(t.event)}"
341
+ @drop="${(e, t) => e._onDrop(t.event)}"
333
342
  @dragend="${(e) => e._onDragEnd()}"
334
343
  aria-describedby="${(e) => e._feedbackDescribedBy}"
335
344
  ${P()}
@@ -348,19 +357,19 @@ const m = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r
348
357
  ${I(
349
358
  (e) => e._validatedFiles,
350
359
  p`
351
- <div class="${(e) => f("preview", ["has-error", !!e.validationError])}">
360
+ <div class="${(e) => m("preview", ["has-error", !!e.validationError])}">
352
361
  <div class="details">
353
362
  <div class="filename">${(e) => e.file.name}</div>
354
- <div class="size">${(e, o) => U(o.parent, e.file.size)}</div>
363
+ <div class="size">${(e, t) => U(t.parent, e.file.size)}</div>
355
364
  </div>
356
365
  <div class="error-message">
357
366
  <${r} name="info-line" size="-6"></${r}>
358
367
  ${(e) => e.validationError}
359
368
  </div>
360
- <${t}
369
+ <${o}
361
370
  class="remove-btn" icon="delete-line" appearance="ghost-light" size="condensed"
362
- aria-label="${(e, o) => o.parent.locale.filePicker.removeFileLabel}"
363
- @click="${(e, o) => o.parent._onRemoveFileClick(e.file)}"></${t}>
371
+ aria-label="${(e, t) => t.parent.locale.filePicker.removeFileLabel}"
372
+ @click="${(e, t) => t.parent._onRemoveFileClick(e.file)}"></${o}>
364
373
  </div>`
365
374
  )}
366
375
  </div>
@@ -373,7 +382,7 @@ const m = 1e3, Y = { tb: "TB", gb: "GB", mb: "MB", kb: "KB", b: "b" }, U = (a, r
373
382
  ?multiple="${(e) => !e.singleFile && (!e.maxFiles || e.maxFiles > 1)}"
374
383
  accept="${(e) => e.accept || null}"
375
384
  tabindex="-1"
376
- @change="${(e, o) => e._onHiddenInputChange(o.event)}"
385
+ @change="${(e, t) => e._onHiddenInputChange(t.event)}"
377
386
  />
378
387
  `;
379
388
  }, J = C(
@@ -44,13 +44,12 @@ const PLACEHOLDER_ICON = `<svg width="80%" height="80%" viewBox="0 0 64 64">
44
44
  </svg>`;
45
45
 
46
46
  var __defProp = Object.defineProperty;
47
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
48
47
  var __decorateClass = (decorators, target, key, kind) => {
49
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
48
+ var result = void 0 ;
50
49
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
51
50
  if (decorator = decorators[i])
52
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
53
- if (kind && result) __defProp(target, key, result);
51
+ result = (decorator(target, key, result) ) || result;
52
+ if (result) __defProp(target, key, result);
54
53
  return result;
55
54
  };
56
55
  const PLACEHOLDER_DELAY = 500;
@@ -102,10 +101,6 @@ class Icon extends vividElement.VividElement {
102
101
  this.#abortController = null;
103
102
  }
104
103
  #currentRequestId;
105
- get iconUrl() {
106
- const key = normalizeKey(this.name);
107
- return key ? baseUrlTemplate(`${key}.svg`, ICONS_VERSION) : this._svg;
108
- }
109
104
  #abortController;
110
105
  async nameChanged() {
111
106
  const requestId = ++this.#currentRequestId;
@@ -116,9 +111,11 @@ class Icon extends vividElement.VividElement {
116
111
  this._svg = void 0;
117
112
  this.iconLoaded = false;
118
113
  let timeout = setTimeout(() => {
114
+ /* v8 ignore else -- @preserve */
119
115
  if (this.#currentRequestId === requestId) {
120
116
  this._svg = PLACEHOLDER_ICON;
121
117
  timeout = setTimeout(() => {
118
+ /* v8 ignore else -- @preserve */
122
119
  if (this.#currentRequestId === requestId && this._svg === PLACEHOLDER_ICON) {
123
120
  this._svg = void 0;
124
121
  }
@@ -127,6 +124,7 @@ class Icon extends vividElement.VividElement {
127
124
  }, PLACEHOLDER_DELAY);
128
125
  try {
129
126
  const svg = await resolveIcon(this.name, this.#abortController.signal);
127
+ /* v8 ignore else -- @preserve */
130
128
  if (this.#currentRequestId === requestId) {
131
129
  this._svg = svg;
132
130
  }
@@ -144,25 +142,22 @@ class Icon extends vividElement.VividElement {
144
142
  }
145
143
  __decorateClass([
146
144
  fastElement.attr
147
- ], Icon.prototype, "connotation", 2);
145
+ ], Icon.prototype, "connotation");
148
146
  __decorateClass([
149
147
  fastElement.attr({ converter: numberConverter })
150
- ], Icon.prototype, "size", 2);
148
+ ], Icon.prototype, "size");
151
149
  __decorateClass([
152
150
  fastElement.observable
153
- ], Icon.prototype, "_svg", 2);
151
+ ], Icon.prototype, "_svg");
154
152
  __decorateClass([
155
153
  fastElement.observable
156
- ], Icon.prototype, "iconLoaded", 2);
154
+ ], Icon.prototype, "iconLoaded");
157
155
  __decorateClass([
158
156
  fastElement.attr
159
- ], Icon.prototype, "label", 2);
157
+ ], Icon.prototype, "label");
160
158
  __decorateClass([
161
159
  fastElement.attr
162
- ], Icon.prototype, "name", 2);
163
- __decorateClass([
164
- fastElement.volatile
165
- ], Icon.prototype, "iconUrl", 1);
160
+ ], Icon.prototype, "name");
166
161
 
167
162
  const getClasses = ({ connotation, size }) => fastWebUtilities.classNames(
168
163
  "control",
@@ -180,10 +175,6 @@ const iconTemplate = (context) => {
180
175
  >
181
176
  <slot>
182
177
  ${fastElement.when(
183
- (x) => !x?.iconLoaded,
184
- fastElement.html`<img alt="${(x) => x?.name}" src="${(x) => x?.iconUrl}" />`
185
- )}
186
- ${fastElement.when(
187
178
  (x) => x?.iconLoaded && x?._svg,
188
179
  (x) => fastElement.html`${fastElement.html.partial(x._svg)}`
189
180
  )}
@@ -1,6 +1,6 @@
1
1
  import { V as VividElement, d as defineVividComponent, c as createRegisterFunction } from '../unbundled/vivid-element.js';
2
2
  import { VwcVisuallyHiddenElement as VisuallyHidden, visuallyHiddenDefinition } from '../visually-hidden/definition.js';
3
- import { attr, observable, volatile, when, html } from '@microsoft/fast-element';
3
+ import { attr, observable, when, html } from '@microsoft/fast-element';
4
4
  import { classNames } from '@microsoft/fast-web-utilities';
5
5
 
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}";
@@ -40,13 +40,12 @@ const PLACEHOLDER_ICON = `<svg width="80%" height="80%" viewBox="0 0 64 64">
40
40
  </svg>`;
41
41
 
42
42
  var __defProp = Object.defineProperty;
43
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
44
43
  var __decorateClass = (decorators, target, key, kind) => {
45
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
44
+ var result = void 0 ;
46
45
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
47
46
  if (decorator = decorators[i])
48
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
49
- if (kind && result) __defProp(target, key, result);
47
+ result = (decorator(target, key, result) ) || result;
48
+ if (result) __defProp(target, key, result);
50
49
  return result;
51
50
  };
52
51
  const PLACEHOLDER_DELAY = 500;
@@ -98,10 +97,6 @@ class Icon extends VividElement {
98
97
  this.#abortController = null;
99
98
  }
100
99
  #currentRequestId;
101
- get iconUrl() {
102
- const key = normalizeKey(this.name);
103
- return key ? baseUrlTemplate(`${key}.svg`, ICONS_VERSION) : this._svg;
104
- }
105
100
  #abortController;
106
101
  async nameChanged() {
107
102
  const requestId = ++this.#currentRequestId;
@@ -112,9 +107,11 @@ class Icon extends VividElement {
112
107
  this._svg = void 0;
113
108
  this.iconLoaded = false;
114
109
  let timeout = setTimeout(() => {
110
+ /* v8 ignore else -- @preserve */
115
111
  if (this.#currentRequestId === requestId) {
116
112
  this._svg = PLACEHOLDER_ICON;
117
113
  timeout = setTimeout(() => {
114
+ /* v8 ignore else -- @preserve */
118
115
  if (this.#currentRequestId === requestId && this._svg === PLACEHOLDER_ICON) {
119
116
  this._svg = void 0;
120
117
  }
@@ -123,6 +120,7 @@ class Icon extends VividElement {
123
120
  }, PLACEHOLDER_DELAY);
124
121
  try {
125
122
  const svg = await resolveIcon(this.name, this.#abortController.signal);
123
+ /* v8 ignore else -- @preserve */
126
124
  if (this.#currentRequestId === requestId) {
127
125
  this._svg = svg;
128
126
  }
@@ -140,25 +138,22 @@ class Icon extends VividElement {
140
138
  }
141
139
  __decorateClass([
142
140
  attr
143
- ], Icon.prototype, "connotation", 2);
141
+ ], Icon.prototype, "connotation");
144
142
  __decorateClass([
145
143
  attr({ converter: numberConverter })
146
- ], Icon.prototype, "size", 2);
144
+ ], Icon.prototype, "size");
147
145
  __decorateClass([
148
146
  observable
149
- ], Icon.prototype, "_svg", 2);
147
+ ], Icon.prototype, "_svg");
150
148
  __decorateClass([
151
149
  observable
152
- ], Icon.prototype, "iconLoaded", 2);
150
+ ], Icon.prototype, "iconLoaded");
153
151
  __decorateClass([
154
152
  attr
155
- ], Icon.prototype, "label", 2);
153
+ ], Icon.prototype, "label");
156
154
  __decorateClass([
157
155
  attr
158
- ], Icon.prototype, "name", 2);
159
- __decorateClass([
160
- volatile
161
- ], Icon.prototype, "iconUrl", 1);
156
+ ], Icon.prototype, "name");
162
157
 
163
158
  const getClasses = ({ connotation, size }) => classNames(
164
159
  "control",
@@ -176,10 +171,6 @@ const iconTemplate = (context) => {
176
171
  >
177
172
  <slot>
178
173
  ${when(
179
- (x) => !x?.iconLoaded,
180
- html`<img alt="${(x) => x?.name}" src="${(x) => x?.iconUrl}" />`
181
- )}
182
- ${when(
183
174
  (x) => x?.iconLoaded && x?._svg,
184
175
  (x) => html`${html.partial(x._svg)}`
185
176
  )}
package/index.cjs CHANGED
@@ -228,6 +228,27 @@ exports.registerRadio = radio_definition.registerRadio;
228
228
  exports.VwcRangeSliderElement = rangeSlider_definition.VwcRangeSliderElement;
229
229
  exports.rangeSliderDefinition = rangeSlider_definition.rangeSliderDefinition;
230
230
  exports.registerRangeSlider = rangeSlider_definition.registerRangeSlider;
231
+ exports.RteAlignmentFeature = richTextEditor_definition.RteAlignmentFeature;
232
+ exports.RteBase = richTextEditor_definition.RteBase;
233
+ exports.RteBoldFeature = richTextEditor_definition.RteBoldFeature;
234
+ exports.RteConfig = richTextEditor_definition.RteConfig;
235
+ exports.RteDropHandlerFeature = richTextEditor_definition.RteDropHandlerFeature;
236
+ exports.RteFileHandlerFeature = richTextEditor_definition.RteFileHandlerFeature;
237
+ exports.RteFontSizePickerFeature = richTextEditor_definition.RteFontSizePickerFeature;
238
+ exports.RteHardBreakFeature = richTextEditor_definition.RteHardBreakFeature;
239
+ exports.RteHtmlParser = richTextEditor_definition.RteHtmlParser;
240
+ exports.RteHtmlSerializer = richTextEditor_definition.RteHtmlSerializer;
241
+ exports.RteInlineImageFeature = richTextEditor_definition.RteInlineImageFeature;
242
+ exports.RteItalicFeature = richTextEditor_definition.RteItalicFeature;
243
+ exports.RteLinkFeature = richTextEditor_definition.RteLinkFeature;
244
+ exports.RteListFeature = richTextEditor_definition.RteListFeature;
245
+ exports.RteMonospaceFeature = richTextEditor_definition.RteMonospaceFeature;
246
+ exports.RtePlaceholderFeature = richTextEditor_definition.RtePlaceholderFeature;
247
+ exports.RteStrikethroughFeature = richTextEditor_definition.RteStrikethroughFeature;
248
+ exports.RteTextBlockPickerFeature = richTextEditor_definition.RteTextBlockPickerFeature;
249
+ exports.RteTextColorPickerFeature = richTextEditor_definition.RteTextColorPickerFeature;
250
+ exports.RteToolbarFeature = richTextEditor_definition.RteToolbarFeature;
251
+ exports.RteUnderlineFeature = richTextEditor_definition.RteUnderlineFeature;
231
252
  exports.VwcRichTextEditorElement = richTextEditor_definition.VwcRichTextEditorElement;
232
253
  exports.registerRichTextEditor = richTextEditor_definition.registerRichTextEditor;
233
254
  exports.richTextEditorDefinition = richTextEditor_definition.richTextEditorDefinition;
package/index.js CHANGED
@@ -47,7 +47,7 @@ export { VwcProgressElement, progressDefinition, registerProgress } from './prog
47
47
  export { VwcRadioGroupElement, radioGroupDefinition, registerRadioGroup } from './radio-group/definition.js';
48
48
  export { VwcRadioElement, radioDefinition, registerRadio } from './radio/definition.js';
49
49
  export { VwcRangeSliderElement, rangeSliderDefinition, registerRangeSlider } from './range-slider/definition.js';
50
- export { VwcRichTextEditorElement, registerRichTextEditor, richTextEditorDefinition } from './rich-text-editor/definition.js';
50
+ export { RteAlignmentFeature, RteBase, RteBoldFeature, RteConfig, RteDropHandlerFeature, RteFileHandlerFeature, RteFontSizePickerFeature, RteHardBreakFeature, RteHtmlParser, RteHtmlSerializer, RteInlineImageFeature, RteItalicFeature, RteLinkFeature, RteListFeature, RteMonospaceFeature, RtePlaceholderFeature, RteStrikethroughFeature, RteTextBlockPickerFeature, RteTextColorPickerFeature, RteToolbarFeature, RteUnderlineFeature, VwcRichTextEditorElement, registerRichTextEditor, richTextEditorDefinition } from './rich-text-editor/definition.js';
51
51
  export { VwcSearchableSelectElement, registerSearchableSelect } from './searchable-select/definition.js';
52
52
  export { VwcSelectElement, registerSelect, selectDefinition } from './select/definition.js';
53
53
  export { VwcSelectableBoxElement, registerSelectableBox, selectableBoxDefinition } from './selectable-box/definition.js';
@@ -1,6 +1,11 @@
1
+ import type { DataGridCellSortStates } from './data-grid.options';
2
+ type SortAnnouncements = Record<DataGridCellSortStates, string>;
1
3
  export interface DataGridLocale {
2
4
  cell: {
3
5
  selected: string;
4
6
  button: string;
7
+ sortStatus: SortAnnouncements;
8
+ sortInstruction: SortAnnouncements;
5
9
  };
6
10
  }
11
+ export {};