@vonage/vivid 5.17.0 → 5.18.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 (459) hide show
  1. package/accordion/definition.cjs +6 -6
  2. package/accordion/definition.js +1 -1
  3. package/accordion/index.cjs +1 -1
  4. package/accordion/index.js +2 -2
  5. package/accordion-item/definition.cjs +5 -5
  6. package/accordion-item/definition.js +1 -1
  7. package/accordion-item/index.cjs +1 -1
  8. package/accordion-item/index.js +2 -2
  9. package/alert/definition.cjs +5 -5
  10. package/alert/definition.js +1 -1
  11. package/alert/index.cjs +2 -2
  12. package/alert/index.js +6 -5
  13. package/audio-player/definition.cjs +5 -5
  14. package/audio-player/definition.js +1 -1
  15. package/audio-player/index.cjs +1 -1
  16. package/audio-player/index.js +2 -1
  17. package/avatar/definition.cjs +5 -5
  18. package/avatar/definition.js +1 -1
  19. package/avatar/index.cjs +3 -3
  20. package/avatar/index.js +6 -5
  21. package/badge/definition.cjs +5 -5
  22. package/badge/definition.js +1 -1
  23. package/badge/index.cjs +1 -4
  24. package/badge/index.js +4 -20
  25. package/banner/definition.cjs +5 -5
  26. package/banner/definition.js +1 -1
  27. package/banner/index.cjs +2 -2
  28. package/banner/index.js +5 -4
  29. package/breadcrumb-item/definition.cjs +4 -4
  30. package/breadcrumb-item/definition.js +1 -1
  31. package/breadcrumb-item/index.cjs +1 -1
  32. package/breadcrumb-item/index.js +1 -0
  33. package/bundled/affix.cjs +1 -1
  34. package/bundled/affix.js +5 -5
  35. package/bundled/definition11.cjs +2 -2
  36. package/bundled/definition11.js +5 -5
  37. package/bundled/definition12.cjs +3 -3
  38. package/bundled/definition12.js +5 -5
  39. package/bundled/definition13.cjs +2 -2
  40. package/bundled/definition13.js +4 -4
  41. package/bundled/definition15.cjs +3 -3
  42. package/bundled/definition15.js +7 -7
  43. package/bundled/definition17.cjs +3 -3
  44. package/bundled/definition17.js +8 -8
  45. package/bundled/definition18.cjs +2 -2
  46. package/bundled/definition18.js +6 -6
  47. package/bundled/definition2.cjs +3 -14
  48. package/bundled/definition2.js +15 -48
  49. package/bundled/definition20.cjs +5 -5
  50. package/bundled/definition20.js +8 -8
  51. package/bundled/definition22.cjs +4 -39
  52. package/bundled/definition22.js +18 -70
  53. package/bundled/definition23.cjs +12 -0
  54. package/bundled/definition23.js +37 -0
  55. package/bundled/definition24.cjs +39 -0
  56. package/bundled/definition24.js +72 -0
  57. package/bundled/definition3.cjs +1 -1
  58. package/bundled/definition3.js +9 -6
  59. package/bundled/definition4.cjs +2 -2
  60. package/bundled/definition4.js +5 -5
  61. package/bundled/definition6.cjs +11 -11
  62. package/bundled/definition6.js +45 -29
  63. package/bundled/localized.cjs +1 -1
  64. package/bundled/localized.js +1 -0
  65. package/bundled/mixins.cjs +4 -4
  66. package/bundled/mixins.js +7 -7
  67. package/bundled/numberConverter.cjs +12 -0
  68. package/bundled/numberConverter.js +38 -0
  69. package/bundled/picker-field.template.cjs +2 -1
  70. package/bundled/picker-field.template.js +2 -1
  71. package/bundled/utils.cjs +1 -0
  72. package/bundled/utils.js +1420 -0
  73. package/bundled/vivid-element.cjs +1 -1
  74. package/bundled/vivid-element.js +1 -1
  75. package/button/definition.cjs +5 -5
  76. package/button/definition.js +1 -1
  77. package/button/index.cjs +1 -1
  78. package/button/index.js +1 -1
  79. package/card/definition.cjs +5 -5
  80. package/card/definition.js +1 -1
  81. package/card/index.cjs +4 -4
  82. package/card/index.js +7 -6
  83. package/checkbox/definition.cjs +5 -5
  84. package/checkbox/definition.js +1 -1
  85. package/checkbox/index.cjs +1 -1
  86. package/checkbox/index.js +1 -1
  87. package/color-picker/definition.cjs +5 -5
  88. package/color-picker/definition.js +1 -1
  89. package/color-picker/index.cjs +7 -7
  90. package/color-picker/index.js +55 -54
  91. package/combobox/definition.cjs +5 -5
  92. package/combobox/definition.js +1 -1
  93. package/combobox/index.cjs +2 -2
  94. package/combobox/index.js +8 -7
  95. package/contextual-help/definition.cjs +5 -5
  96. package/contextual-help/definition.js +1 -1
  97. package/contextual-help/index.cjs +1 -1
  98. package/contextual-help/index.js +1 -1
  99. package/country/definition.cjs +5 -5
  100. package/country/definition.js +1 -1
  101. package/country/index.cjs +1 -12
  102. package/country/index.js +4 -1216
  103. package/country-group/definition.cjs +6 -0
  104. package/country-group/definition.js +3 -0
  105. package/country-group/index.cjs +43 -0
  106. package/country-group/index.js +166 -0
  107. package/custom-elements.json +1112 -450
  108. package/data-grid/definition.cjs +9 -9
  109. package/data-grid/definition.js +2 -2
  110. package/data-grid/index.cjs +4 -4
  111. package/data-grid/index.js +47 -46
  112. package/date-picker/definition.cjs +5 -5
  113. package/date-picker/definition.js +2 -2
  114. package/date-picker/index.cjs +1 -1
  115. package/date-picker/index.js +1 -1
  116. package/date-range-picker/definition.cjs +5 -5
  117. package/date-range-picker/definition.js +2 -2
  118. package/date-range-picker/index.cjs +1 -1
  119. package/date-range-picker/index.js +1 -1
  120. package/date-time-picker/definition.cjs +5 -5
  121. package/date-time-picker/definition.js +2 -2
  122. package/date-time-picker/index.cjs +1 -1
  123. package/date-time-picker/index.js +1 -1
  124. package/dial-pad/definition.cjs +5 -5
  125. package/dial-pad/definition.js +2 -2
  126. package/dial-pad/index.cjs +4 -4
  127. package/dial-pad/index.js +9 -8
  128. package/dialog/definition.cjs +5 -5
  129. package/dialog/definition.js +2 -2
  130. package/dialog/index.cjs +4 -4
  131. package/dialog/index.js +12 -11
  132. package/divider/definition.cjs +1 -1
  133. package/divider/definition.js +1 -1
  134. package/empty-state/definition.cjs +5 -5
  135. package/empty-state/definition.js +2 -2
  136. package/empty-state/index.cjs +2 -2
  137. package/empty-state/index.js +6 -5
  138. package/fab/definition.cjs +5 -5
  139. package/fab/definition.js +2 -2
  140. package/fab/index.cjs +2 -2
  141. package/fab/index.js +5 -4
  142. package/file-picker/definition.cjs +5 -5
  143. package/file-picker/definition.js +2 -2
  144. package/file-picker/index.cjs +6 -6
  145. package/file-picker/index.js +9 -8
  146. package/flag/definition.cjs +6 -0
  147. package/flag/definition.js +3 -0
  148. package/flag/index.cjs +10 -0
  149. package/flag/index.js +61 -0
  150. package/header/definition.cjs +1 -1
  151. package/header/definition.js +1 -1
  152. package/icon/definition.cjs +1 -0
  153. package/icon/definition.js +1 -0
  154. package/icon/index.cjs +1 -1
  155. package/icon/index.js +1 -0
  156. package/index.cjs +183 -174
  157. package/index.js +48 -45
  158. package/layout/definition.cjs +1 -1
  159. package/layout/definition.js +1 -1
  160. package/lib/button/button.d.ts +1 -0
  161. package/lib/components.d.ts +2 -0
  162. package/lib/country/countries-data.d.ts +1 -0
  163. package/lib/country/{country-code-to-flag-icon.d.ts → utils.d.ts} +0 -3
  164. package/lib/country-group/country-group.d.ts +829 -0
  165. package/lib/country-group/country-group.template.d.ts +3 -0
  166. package/lib/country-group/definition.d.ts +3 -0
  167. package/lib/country-group/index.d.ts +1 -0
  168. package/lib/country-group/locale.d.ts +3 -0
  169. package/lib/date-picker/date-picker.d.ts +4 -0
  170. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  171. package/lib/date-time-picker/date-time-picker.d.ts +4 -0
  172. package/lib/flag/definition.d.ts +3 -0
  173. package/lib/flag/flag.d.ts +8 -0
  174. package/lib/flag/flag.template.d.ts +3 -0
  175. package/lib/flag/index.d.ts +1 -0
  176. package/lib/icon/icon.d.ts +1 -2
  177. package/lib/searchable-select/option-tag.d.ts +3 -1
  178. package/lib/searchable-select/searchable-select.d.ts +3 -1
  179. package/lib/tag-name-map.d.ts +2 -1
  180. package/lib/time-picker/time-picker.d.ts +2 -0
  181. package/locales/de-DE.cjs +1 -0
  182. package/locales/de-DE.js +1 -0
  183. package/locales/en-GB.cjs +1 -0
  184. package/locales/en-GB.js +1 -0
  185. package/locales/en-US.cjs +1 -0
  186. package/locales/en-US.js +1 -0
  187. package/locales/ja-JP.cjs +1 -0
  188. package/locales/ja-JP.js +1 -0
  189. package/locales/zh-CN.cjs +1 -0
  190. package/locales/zh-CN.js +1 -0
  191. package/menu/definition.cjs +5 -5
  192. package/menu/definition.js +1 -1
  193. package/menu/index.cjs +1 -1
  194. package/menu/index.js +1 -1
  195. package/menu-item/definition.cjs +6 -6
  196. package/menu-item/definition.js +1 -1
  197. package/menu-item/index.cjs +1 -1
  198. package/menu-item/index.js +1 -1
  199. package/nav/definition.cjs +1 -1
  200. package/nav/definition.js +1 -1
  201. package/nav-disclosure/definition.cjs +5 -5
  202. package/nav-disclosure/definition.js +2 -2
  203. package/nav-disclosure/index.cjs +2 -2
  204. package/nav-disclosure/index.js +6 -5
  205. package/nav-item/definition.cjs +5 -5
  206. package/nav-item/definition.js +2 -2
  207. package/nav-item/index.cjs +2 -2
  208. package/nav-item/index.js +5 -4
  209. package/note/definition.cjs +5 -5
  210. package/note/definition.js +2 -2
  211. package/note/index.cjs +2 -2
  212. package/note/index.js +5 -4
  213. package/number-field/definition.cjs +5 -5
  214. package/number-field/definition.js +2 -2
  215. package/number-field/index.cjs +2 -2
  216. package/number-field/index.js +6 -5
  217. package/option/definition.cjs +5 -5
  218. package/option/definition.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +4 -4
  222. package/pagination/definition.cjs +5 -5
  223. package/pagination/definition.js +2 -2
  224. package/pagination/index.cjs +1 -1
  225. package/pagination/index.js +1 -1
  226. package/popover/definition.cjs +5 -5
  227. package/popover/definition.js +2 -2
  228. package/popover/index.cjs +4 -4
  229. package/popover/index.js +7 -6
  230. package/popup/definition.cjs +4 -4
  231. package/popup/definition.js +1 -1
  232. package/popup/index.cjs +1 -1
  233. package/popup/index.js +1 -1
  234. package/progress/definition.cjs +1 -1
  235. package/progress/definition.js +1 -1
  236. package/radio/definition.cjs +1 -1
  237. package/radio/definition.js +1 -1
  238. package/radio-group/definition.cjs +5 -5
  239. package/radio-group/definition.js +2 -2
  240. package/radio-group/index.cjs +1 -1
  241. package/radio-group/index.js +1 -1
  242. package/range-slider/definition.cjs +5 -5
  243. package/range-slider/definition.js +2 -2
  244. package/range-slider/index.cjs +1 -1
  245. package/range-slider/index.js +22 -19
  246. package/rich-text-editor/definition.cjs +32 -32
  247. package/rich-text-editor/definition.js +2 -2
  248. package/rich-text-editor/index.cjs +1 -1
  249. package/rich-text-editor/index.js +2 -2
  250. package/rich-text-view/definition.cjs +1 -1
  251. package/rich-text-view/definition.js +1 -1
  252. package/searchable-select/definition.cjs +4 -4
  253. package/searchable-select/definition.js +2 -2
  254. package/searchable-select/index.cjs +6 -4
  255. package/searchable-select/index.js +76 -73
  256. package/select/definition.cjs +5 -5
  257. package/select/definition.js +2 -2
  258. package/select/index.cjs +1 -1
  259. package/select/index.js +1 -1
  260. package/selectable-box/definition.cjs +5 -5
  261. package/selectable-box/definition.js +2 -2
  262. package/selectable-box/index.cjs +1 -1
  263. package/selectable-box/index.js +1 -1
  264. package/shared/icon/utils.d.ts +1 -0
  265. package/shared/localization/Locale.d.ts +2 -0
  266. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  267. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  268. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  269. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  270. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  271. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  272. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  273. package/shared/picker-field/picker-field.d.ts +2 -0
  274. package/side-drawer/definition.cjs +1 -1
  275. package/side-drawer/definition.js +1 -1
  276. package/simple-color-picker/definition.cjs +5 -5
  277. package/simple-color-picker/definition.js +2 -2
  278. package/simple-color-picker/index.cjs +2 -2
  279. package/simple-color-picker/index.js +6 -5
  280. package/slider/definition.cjs +5 -5
  281. package/slider/definition.js +1 -1
  282. package/slider/index.cjs +1 -1
  283. package/slider/index.js +1 -1
  284. package/split-button/definition.cjs +5 -5
  285. package/split-button/definition.js +2 -2
  286. package/split-button/index.cjs +2 -2
  287. package/split-button/index.js +7 -6
  288. package/status/definition.cjs +5 -5
  289. package/status/definition.js +2 -2
  290. package/status/index.cjs +2 -2
  291. package/status/index.js +5 -4
  292. package/switch/definition.cjs +5 -5
  293. package/switch/definition.js +2 -2
  294. package/switch/index.cjs +2 -2
  295. package/switch/index.js +6 -5
  296. package/tab/definition.cjs +5 -5
  297. package/tab/definition.js +2 -2
  298. package/tab/index.cjs +1 -1
  299. package/tab/index.js +1 -1
  300. package/tab-panel/definition.cjs +1 -1
  301. package/tab-panel/definition.js +1 -1
  302. package/table/definition.cjs +17 -17
  303. package/table/definition.js +2 -2
  304. package/table/index.cjs +3 -3
  305. package/table/index.js +6 -5
  306. package/tabs/definition.cjs +6 -6
  307. package/tabs/definition.js +2 -2
  308. package/tabs/index.cjs +1 -1
  309. package/tabs/index.js +1 -1
  310. package/tag/definition.cjs +5 -5
  311. package/tag/definition.js +2 -2
  312. package/tag/index.cjs +4 -4
  313. package/tag/index.js +6 -5
  314. package/tag-group/definition.cjs +1 -1
  315. package/tag-group/definition.js +1 -1
  316. package/text-area/definition.cjs +5 -5
  317. package/text-area/definition.js +2 -2
  318. package/text-area/index.cjs +1 -1
  319. package/text-area/index.js +1 -1
  320. package/text-field/definition.cjs +5 -5
  321. package/text-field/definition.js +1 -1
  322. package/text-field/index.cjs +1 -1
  323. package/text-field/index.js +1 -1
  324. package/time-picker/definition.cjs +4 -4
  325. package/time-picker/definition.js +2 -2
  326. package/time-picker/index.cjs +1 -1
  327. package/time-picker/index.js +1 -1
  328. package/toggletip/definition.cjs +5 -5
  329. package/toggletip/definition.js +1 -1
  330. package/toggletip/index.cjs +1 -1
  331. package/toggletip/index.js +1 -1
  332. package/tooltip/definition.cjs +5 -5
  333. package/tooltip/definition.js +1 -1
  334. package/tooltip/index.cjs +1 -1
  335. package/tooltip/index.js +1 -1
  336. package/tree-item/definition.cjs +5 -5
  337. package/tree-item/definition.js +2 -2
  338. package/tree-item/index.cjs +1 -1
  339. package/tree-item/index.js +1 -1
  340. package/tree-view/definition.cjs +5 -5
  341. package/tree-view/definition.js +2 -2
  342. package/tree-view/index.cjs +1 -1
  343. package/tree-view/index.js +1 -1
  344. package/unbundled/definition11.cjs +6 -0
  345. package/unbundled/definition11.js +6 -0
  346. package/unbundled/definition14.cjs +1 -0
  347. package/unbundled/definition14.js +1 -0
  348. package/unbundled/definition2.cjs +5 -75
  349. package/unbundled/definition2.js +1 -71
  350. package/unbundled/definition28.cjs +1 -0
  351. package/unbundled/definition28.js +1 -0
  352. package/unbundled/definition31.cjs +2 -1189
  353. package/unbundled/definition31.js +1 -1188
  354. package/unbundled/definition32.cjs +207 -1835
  355. package/unbundled/definition32.js +203 -1807
  356. package/unbundled/definition33.cjs +83 -311
  357. package/unbundled/definition33.js +79 -235
  358. package/unbundled/definition34.cjs +1887 -25
  359. package/unbundled/definition34.js +1857 -24
  360. package/unbundled/definition35.cjs +315 -121
  361. package/unbundled/definition35.js +236 -114
  362. package/unbundled/definition36.cjs +25 -405
  363. package/unbundled/definition36.js +22 -397
  364. package/unbundled/definition37.cjs +47 -142
  365. package/unbundled/definition37.js +44 -139
  366. package/unbundled/definition38.cjs +345 -330
  367. package/unbundled/definition38.js +343 -328
  368. package/unbundled/definition39.cjs +183 -235
  369. package/unbundled/definition39.js +181 -233
  370. package/unbundled/definition40.cjs +377 -47
  371. package/unbundled/definition40.js +372 -42
  372. package/unbundled/definition41.cjs +256 -57
  373. package/unbundled/definition41.js +255 -56
  374. package/unbundled/definition42.cjs +45 -432
  375. package/unbundled/definition42.js +41 -428
  376. package/unbundled/definition43.cjs +63 -49
  377. package/unbundled/definition43.js +61 -47
  378. package/unbundled/definition44.cjs +438 -30
  379. package/unbundled/definition44.js +434 -25
  380. package/unbundled/definition45.cjs +46 -84
  381. package/unbundled/definition45.js +43 -81
  382. package/unbundled/definition46.cjs +29 -54
  383. package/unbundled/definition46.js +24 -50
  384. package/unbundled/definition47.cjs +93 -21
  385. package/unbundled/definition47.js +91 -16
  386. package/unbundled/definition48.cjs +49 -33
  387. package/unbundled/definition48.js +46 -30
  388. package/unbundled/definition49.cjs +22 -347
  389. package/unbundled/definition49.js +16 -344
  390. package/unbundled/definition50.cjs +34 -211
  391. package/unbundled/definition50.js +30 -207
  392. package/unbundled/definition51.cjs +282 -242
  393. package/unbundled/definition51.js +275 -235
  394. package/unbundled/definition52.cjs +211 -51
  395. package/unbundled/definition52.js +209 -48
  396. package/unbundled/definition53.cjs +275 -131
  397. package/unbundled/definition53.js +272 -127
  398. package/unbundled/definition54.cjs +50 -261
  399. package/unbundled/definition54.js +48 -260
  400. package/unbundled/definition55.cjs +126 -443
  401. package/unbundled/definition55.js +123 -441
  402. package/unbundled/definition56.cjs +234 -3596
  403. package/unbundled/definition56.js +229 -3428
  404. package/unbundled/definition57.cjs +407 -728
  405. package/unbundled/definition57.js +405 -726
  406. package/unbundled/definition58.cjs +3618 -106
  407. package/unbundled/definition58.js +3449 -100
  408. package/unbundled/definition59.cjs +624 -868
  409. package/unbundled/definition59.js +619 -863
  410. package/unbundled/definition60.cjs +106 -108
  411. package/unbundled/definition60.js +102 -104
  412. package/unbundled/definition61.cjs +1040 -71
  413. package/unbundled/definition61.js +1035 -65
  414. package/unbundled/definition62.cjs +105 -169
  415. package/unbundled/definition62.js +101 -165
  416. package/unbundled/definition63.cjs +70 -113
  417. package/unbundled/definition63.js +65 -109
  418. package/unbundled/definition64.cjs +181 -53
  419. package/unbundled/definition64.js +178 -50
  420. package/unbundled/definition65.cjs +109 -76
  421. package/unbundled/definition65.js +109 -75
  422. package/unbundled/definition66.cjs +58 -21
  423. package/unbundled/definition66.js +55 -15
  424. package/unbundled/definition67.cjs +81 -74
  425. package/unbundled/definition67.js +79 -73
  426. package/unbundled/definition68.cjs +19 -344
  427. package/unbundled/definition68.js +14 -335
  428. package/unbundled/definition69.cjs +88 -26
  429. package/unbundled/definition69.js +85 -22
  430. package/unbundled/definition7.cjs +18 -3
  431. package/unbundled/definition7.js +18 -3
  432. package/unbundled/definition70.cjs +330 -111
  433. package/unbundled/definition70.js +320 -108
  434. package/unbundled/definition71.cjs +26 -271
  435. package/unbundled/definition71.js +21 -267
  436. package/unbundled/definition72.cjs +134 -27
  437. package/unbundled/definition72.js +125 -25
  438. package/unbundled/definition73.cjs +245 -113
  439. package/unbundled/definition73.js +242 -104
  440. package/unbundled/definition74.cjs +28 -212
  441. package/unbundled/definition74.js +26 -202
  442. package/unbundled/definition75.cjs +117 -479
  443. package/unbundled/definition75.js +109 -475
  444. package/unbundled/definition76.cjs +232 -0
  445. package/unbundled/definition76.js +213 -0
  446. package/unbundled/definition77.cjs +533 -0
  447. package/unbundled/definition77.js +513 -0
  448. package/unbundled/numberConverter.cjs +91 -0
  449. package/unbundled/numberConverter.js +74 -0
  450. package/unbundled/picker-field.template.cjs +2 -0
  451. package/unbundled/picker-field.template.js +2 -0
  452. package/unbundled/utils.cjs +1439 -0
  453. package/unbundled/utils.js +1428 -0
  454. package/unbundled/vivid-element.cjs +1 -1
  455. package/unbundled/vivid-element.js +1 -1
  456. package/video-player/definition.cjs +1 -1
  457. package/video-player/definition.js +1 -1
  458. package/vivid.api.json +513 -0
  459. /package/{lib/icon/icon.placeholder.d.ts → shared/icon/icon-placeholder.d.ts} +0 -0
@@ -2,467 +2,80 @@ require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
3
  const require_definition = require("./definition2.cjs");
4
4
  const require_decorate = require("./decorate.cjs");
5
- const require_delegates_aria = require("./delegates-aria.cjs");
6
- const require_form_associated = require("./form-associated.cjs");
7
- const require_form_element = require("./form-element.cjs");
8
- const require_with_error_text = require("./with-error-text.cjs");
9
- const require_with_contextual_help = require("./with-contextual-help.cjs");
10
- const require_localized = require("./localized.cjs");
11
- const require_definition$1 = require("./definition7.cjs");
12
- const require_mixins = require("./mixins.cjs");
13
5
  let _microsoft_fast_element = require("@microsoft/fast-element");
14
6
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
15
- //#region src/lib/file-picker/file-picker.scss?inline
16
- var file_picker_default = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{max-inline-size:400px;display:block}:host([disabled]){cursor:not-allowed}.base{block-size:inherit;max-block-size:inherit;--_low-ink-color:var(--vvd-color-neutral-600);flex-direction:column;display:flex}.control-wrapper{block-size:inherit;max-block-size:inherit;flex-direction:column;gap:4px;display:flex}.control{box-sizing:border-box;border:1px dashed var(--vvd-color-neutral-400);background-color:var(--vvd-color-cta-50);color:var(--vvd-color-neutral-600);cursor:pointer;font:var(--vvd-typography-base);border-radius:8px;outline:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-block-size:52px;inline-size:100%;padding:16px;transition:all .3s;display:flex;position:relative}.control .upload-text{color:var(--vvd-color-neutral-600);isolation:isolate;pointer-events:none;text-align:center;justify-content:center;align-items:center;transition:all .3s;display:flex}.control.disabled{border-color:var(--vvd-color-neutral-300);background-color:var(--vvd-color-neutral-100);box-shadow:none;color:var(--vvd-color-neutral-300);pointer-events:none;transform:none}.control.disabled .upload-text{color:var(--vvd-color-neutral-300)}@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);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}@media (hover:hover){.control:hover{border-color:var(--vvd-color-cta-400);background-color:var(--vvd-color-cta-100);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}}.control:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.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{color:var(--vvd-color-cta-600);pointer-events:none;transition:all .3s;animation:2s ease-in-out infinite subtle-pulse}@media (hover:hover){.control:hover .upload-icon{color:var(--vvd-color-cta-700);animation:none;transform:scale(1.1)}}.control:active .upload-icon{transform:scale(1.05)}.control.drag-hover .upload-icon{color:var(--vvd-color-neutral-800);animation:none;transform:scale(1.15)}.control.disabled .upload-icon{color:var(--vvd-color-neutral-300);animation:none}@keyframes subtle-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.main{pointer-events:none}.preview{box-sizing:border-box;border:1px solid var(--vvd-color-neutral-300);background-color:var(--file-picker-list-item-background-color,var(--vvd-color-canvas));border-radius:8px;grid-template-rows:auto auto;grid-template-columns:1fr auto;inline-size:100%;padding:8px;display:grid}.preview .details{min-width:0;flex-direction:column;max-inline-size:100%;display:flex}.preview .details .filename{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview .details .size{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base-condensed)}.preview .error-message{color:var(--vvd-color-alert-600);font:var(--vvd-typography-base-condensed-bold);align-items:center;gap:4px;margin-block-start:4px;display:flex}.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{grid-area:1/2/-1/-1;align-self:center;display:inline}.preview-list{--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%);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{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.preview-list{flex-direction:column;gap:12px;margin-block-start:12px;display:flex;overflow-y:auto}.preview-list:not(:has(.preview)){display:none}.hidden-input{visibility:hidden;width:0;height:0;position:absolute;top:0;left:0}";
7
+ //#region src/lib/empty-state/empty-state.scss?inline
8
+ var empty_state_default = ":host{display:block}.base.connotation-cta{--_connotation-color-firm-all:var(--vvd-empty-state-cta-firm-all,var(--vvd-color-cta-600));--_connotation-color-dim:var(--vvd-empty-state-cta-dim,var(--vvd-color-cta-200));--_connotation-color-faint:var(--vvd-empty-state-cta-faint,var(--vvd-color-cta-50));--_connotation-color-primary:var(--vvd-empty-state-cta-primary,var(--vvd-color-cta-500))}.base.connotation-success{--_connotation-color-firm-all:var(--vvd-empty-state-success-firm-all,var(--vvd-color-success-600));--_connotation-color-dim:var(--vvd-empty-state-success-dim,var(--vvd-color-success-200));--_connotation-color-faint:var(--vvd-empty-state-success-faint,var(--vvd-color-success-50));--_connotation-color-primary:var(--vvd-empty-state-success-primary,var(--vvd-color-success-500))}.base.connotation-alert{--_connotation-color-firm-all:var(--vvd-empty-state-alert-firm-all,var(--vvd-color-alert-600));--_connotation-color-dim:var(--vvd-empty-state-alert-dim,var(--vvd-color-alert-200));--_connotation-color-faint:var(--vvd-empty-state-alert-faint,var(--vvd-color-alert-50));--_connotation-color-primary:var(--vvd-empty-state-alert-primary,var(--vvd-color-alert-500))}.base.connotation-warning{--_connotation-color-firm-all:var(--vvd-empty-state-warning-firm-all,var(--vvd-color-warning-600));--_connotation-color-dim:var(--vvd-empty-state-warning-dim,var(--vvd-color-warning-200));--_connotation-color-faint:var(--vvd-empty-state-warning-faint,var(--vvd-color-warning-50));--_connotation-color-primary:var(--vvd-empty-state-warning-primary,var(--vvd-color-warning-300))}.base.connotation-information{--_connotation-color-firm-all:var(--vvd-empty-state-information-firm-all,var(--vvd-color-information-600));--_connotation-color-dim:var(--vvd-empty-state-information-dim,var(--vvd-color-information-200));--_connotation-color-faint:var(--vvd-empty-state-information-faint,var(--vvd-color-information-50));--_connotation-color-primary:var(--vvd-empty-state-information-primary,var(--vvd-color-information-500))}.base.connotation-announcement{--_connotation-color-firm-all:var(--vvd-empty-state-announcement-firm-all,var(--vvd-color-announcement-600));--_connotation-color-dim:var(--vvd-empty-state-announcement-dim,var(--vvd-color-announcement-200));--_connotation-color-faint:var(--vvd-empty-state-announcement-faint,var(--vvd-color-announcement-50));--_connotation-color-primary:var(--vvd-empty-state-announcement-primary,var(--vvd-color-announcement-500))}.base:not(.connotation-cta,.connotation-success,.connotation-alert,.connotation-warning,.connotation-information,.connotation-announcement){--_connotation-color-firm-all:var(--vvd-empty-state-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-dim:var(--vvd-empty-state-accent-dim,var(--vvd-color-neutral-200));--_connotation-color-faint:var(--vvd-empty-state-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-primary:var(--vvd-empty-state-accent-primary,var(--vvd-color-canvas-text))}.base{--_empty-state-icon-container:120px;--_empty-state-icon-background:var(--_connotation-color-faint);--_empty-state-icon-font-size:52px;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:24px;block-size:100%;display:flex}.icon-container{background-color:var(--_empty-state-icon-background);block-size:var(--_empty-state-icon-container);box-shadow:inset 0 0 0 21px color-mix(in srgb, var(--_connotation-color-primary), transparent 90%);font-size:var(--_empty-state-icon-font-size);inline-size:var(--_empty-state-icon-container);--_empty-state-icon-background:transparent;--_empty-state-icon-font-size:40px;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-container .icon{border:1px solid var(--_connotation-color-dim);border-radius:inherit;color:var(--_connotation-color-firm-all);padding:19px}.content{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);text-align:center;flex-direction:column;gap:8px;display:flex}header{color:var(--_connotation-color-firm-all);font:var(--vvd-typography-base-extended-bold)}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.base.no-actions .actions{display:none}";
17
9
  //#endregion
18
- //#region src/lib/file-picker/data-transfer.ts
19
- /**
20
- * Extracts files from a DataTransfer, including files from directories.
21
- */
22
- async function filesFromDataTransfer(dataTransfer) {
23
- return dataTransfer.items?.[0]?.webkitGetAsEntry != null ? await filesFromDataTransferItems(dataTransfer.items) : Array.from(dataTransfer.files);
24
- }
25
- async function filesFromDataTransferItems(items) {
26
- const result = [];
27
- for (const item of items) {
28
- const file = item.getAsFile();
29
- if (file) result.push(Promise.resolve([file]));
30
- else {
31
- const entry = item.webkitGetAsEntry();
32
- if (entry) result.push(filesFromEntry(entry, false));
33
- }
34
- }
35
- return (await Promise.all(result)).flat();
36
- }
37
- var filesFromEntry = (entry, ignoreHiddenFiles) => {
38
- const handleFileEntry = (file) => new Promise((resolve, reject) => {
39
- file.file((f) => {
40
- if (ignoreHiddenFiles && f.name.substring(0, 1) === ".") resolve([]);
41
- else resolve([f]);
42
- }, reject);
43
- });
44
- const promise = entry.isFile ? handleFileEntry(entry) : entry.isDirectory ? filesFromDirectory(entry) : Promise.resolve([]);
45
- promise.catch(() => null);
46
- return promise;
47
- };
48
- var filesFromDirectory = async (directory) => new Promise((resolve, reject) => {
49
- const result = [];
50
- const dirReader = directory.createReader();
51
- const readEntries = () => {
52
- dirReader.readEntries((entries) => {
53
- for (const entry of entries) result.push(filesFromEntry(entry, true));
54
- if (entries.length) readEntries();
55
- else resolve(Promise.all(result).then((r) => r.flat()));
56
- }, reject);
57
- };
58
- readEntries();
59
- });
60
- //#endregion
61
- //#region src/lib/file-picker/accept.ts
62
- /**
63
- * Match a file against an accept string, like native file input
64
- */
65
- function isAcceptedFileType(file, accept) {
66
- if (!accept) return true;
67
- const validTypes = accept.split(",");
68
- const isBasePattern = (type) => /\/\*$/.test(type);
69
- const baseType = (type) => type.replace(/\/.*$/, "");
70
- for (let validType of validTypes) {
71
- validType = validType.trim();
72
- if (validType.charAt(0) === ".") {
73
- if (file.name.toLowerCase().endsWith(validType.toLowerCase())) return true;
74
- } else if (isBasePattern(validType)) {
75
- if (baseType(file.type) === baseType(validType)) return true;
76
- } else if (file.type === validType) return true;
77
- }
78
- return false;
79
- }
80
- //#endregion
81
- //#region src/lib/file-picker/file-picker.ts
10
+ //#region src/lib/empty-state/empty-state.ts
82
11
  /**
12
+ * An empty state element. Used when there is no data to display to the user.
13
+ *
83
14
  * @public
84
- * @component file-picker
85
- * @slot helper-text - Describes how to use the file-picker. Alternative to the `helper-text` attribute.
86
- * @event {CustomEvent<undefined>} change - Emitted when files are added or removed.
15
+ * @component empty-state
16
+ * @slot - The default slot controls the body text of the empty state
17
+ * @slot graphic - The graphic slot allows overriding the icon with a custom illustration
18
+ * @slot action-items - Slot to add action items to the empty state
87
19
  */
88
- var FilePicker = class extends require_with_contextual_help.WithContextualHelp(require_mixins.WithFeedback(require_with_error_text.WithErrorText(require_form_element.FormElement(require_delegates_aria.DelegatesAria(require_localized.Localized(require_form_associated.FormAssociated(require_vivid_element.VividElement))))))) {
89
- constructor(..._args) {
90
- super(..._args);
91
- this.singleFile = false;
92
- this.maxFiles = null;
93
- this.maxFileSize = 256;
94
- this.valueChanged = (previous, next) => {
95
- super.valueChanged(previous, next);
96
- if (next === "" && this.files.length) this.removeAllFiles();
97
- };
98
- this.proxy = document.createElement("input");
99
- this.setFormValue = (value, state) => {
100
- if (typeof value === "string") return;
101
- super.setFormValue(value, state);
102
- };
103
- this._customValidationError = null;
104
- this._dragHover = false;
105
- this._allFiles = [];
106
- }
107
- /**
108
- * @internal
109
- */
110
- nameChanged(previous, next) {
111
- super.nameChanged(previous, next);
112
- this.#updateFormValue();
113
- }
114
- #updateFormValue() {
115
- const files = this.files;
116
- if (!this.name) this.setFormValue(null);
117
- else {
118
- const formData = new FormData();
119
- for (const file of files) formData.append(this.name, file);
120
- this.setFormValue(formData);
121
- }
122
- this.#setValueToAFakePathLikeNativeInput();
123
- }
124
- #setValueToAFakePathLikeNativeInput() {
125
- this.value = this.files.length > 0 ? `C:\\fakepath\\${this.files[0].name}` : "";
126
- }
127
- /** @internal */
128
- validate() {
129
- super.validate(this.control);
130
- }
131
- /**
132
- * @internal
133
- */
134
- formResetCallback() {
135
- this.removeAllFiles();
136
- super.formResetCallback();
137
- }
138
- #getCustomValidationError() {
139
- if (this.rejectedFiles.length > 0) return this.locale.filePicker.invalidFilesError;
140
- return null;
141
- }
142
- /**
143
- * @internal
144
- */
145
- _customValidationErrorChanged() {
146
- /* v8 ignore if -- @preserve */
147
- if (this.proxy) this.proxy.setCustomValidity(this._customValidationError ?? "");
148
- this.validate();
149
- }
150
- #customValidationChangeHandler = { handleChange: () => {
151
- this._customValidationError = this.#customValidationChangeObserver.observe(this, _microsoft_fast_element.ExecutionContext.default);
152
- } };
153
- #customValidationChangeObserver;
154
- #startObservingCustomValidation() {
155
- this.#customValidationChangeObserver = _microsoft_fast_element.Observable.binding(() => this.#getCustomValidationError(), this.#customValidationChangeHandler, true);
156
- this.#customValidationChangeHandler.handleChange();
157
- }
158
- #stopObservingCustomValidation() {
159
- this.#customValidationChangeObserver.dispose();
160
- }
161
- connectedCallback() {
162
- super.connectedCallback();
163
- this.#startObservingCustomValidation();
164
- }
165
- disconnectedCallback() {
166
- super.disconnectedCallback();
167
- this.#stopObservingCustomValidation();
168
- }
169
- /**
170
- * @internal
171
- */
172
- _onDragEnter() {
173
- if (this.disabled) return true;
174
- this._dragHover = true;
175
- return true;
176
- }
177
- /**
178
- * @internal
179
- */
180
- _onDragOver(e) {
181
- if (this.disabled) return true;
182
- if (!e.dataTransfer) return true;
183
- const effect = e.dataTransfer.effectAllowed;
184
- e.dataTransfer.dropEffect = "move" === effect || "linkMove" === effect ? "move" : "copy";
185
- return false;
186
- }
187
- /**
188
- * @internal
189
- */
190
- _onDragLeave(e) {
191
- if (this.disabled) return true;
192
- /* v8 ignore else -- @preserve */
193
- if (e.currentTarget === e.target) this._dragHover = false;
194
- return true;
195
- }
196
- /**
197
- * @internal
198
- */
199
- _onDrop(e) {
200
- if (this.disabled) return true;
201
- this._dragHover = false;
202
- if (!e.dataTransfer) return true;
203
- filesFromDataTransfer(e.dataTransfer).then((files) => this.#addFiles(files)).catch((err) => {
204
- console.error(err);
205
- });
206
- return false;
207
- }
208
- /**
209
- * @internal
210
- */
211
- _onDragEnd() {
212
- if (this.disabled) return true;
213
- this._dragHover = false;
214
- return true;
215
- }
216
- /**
217
- * @internal
218
- */
219
- _onControlClick() {
220
- /* v8 ignore if -- @preserve */
221
- if (this.disabled) return;
222
- this._hiddenInput.click();
223
- }
224
- /**
225
- * @internal
226
- */
227
- _onRemoveFileClick(file) {
228
- if (this.disabled) return;
229
- this._allFiles = this._allFiles.filter((f) => f !== file);
230
- this.$emit("change");
231
- }
232
- /**
233
- * @internal
234
- */
235
- _allFilesChanged() {
236
- this.#updateFormValue();
237
- }
238
- #addFiles(files) {
239
- const newFiles = Array.from(files).filter((file) => !this._allFiles.some((existingFile) => existingFile.name === file.name && existingFile.size === file.size));
240
- if (this.singleFile && newFiles.length > 0) this._allFiles = [newFiles[newFiles.length - 1]];
241
- else this._allFiles = [...this._allFiles, ...newFiles];
242
- this.$emit("change");
243
- }
244
- /**
245
- * Removes all files from the File Picker.
246
- */
247
- removeAllFiles() {
248
- this._allFiles = [];
249
- }
250
- /**
251
- * All files with their current validation status.
252
- * @internal
253
- */
254
- get _validatedFiles() {
255
- const validationError = (file, validFileIndex) => {
256
- if (this.maxFileSize && file.size > this.maxFileSize * 1024 * 1024) return (this.fileTooBigError || this.locale.filePicker.fileTooBigError).replace("{{filesize}}", this._formatNumber(Math.round(file.size / 1024 / 10.24) / 100)).replace("{{maxFilesize}}", this._formatNumber(this.maxFileSize));
257
- else if (!isAcceptedFileType(file, this.accept)) return this.invalidFileTypeError || this.locale.filePicker.invalidFileTypeError;
258
- else if (typeof this.maxFiles === "number" && validFileIndex >= this.maxFiles) return (this.maxFilesExceededError || this.locale.filePicker.maxFilesExceededError).replace("{{maxFiles}}", String(this.maxFiles));
259
- else return null;
260
- };
261
- const result = [];
262
- let validFileIndex = 0;
263
- for (const file of this._allFiles) {
264
- const validatedFile = {
265
- file,
266
- validationError: validationError(file, validFileIndex)
267
- };
268
- result.push(validatedFile);
269
- if (!validatedFile.validationError) validFileIndex++;
270
- }
271
- return result;
272
- }
273
- /**
274
- * List of files that have been added to the file picker and passed validation
275
- *
276
- * @public
277
- */
278
- get files() {
279
- return this._validatedFiles.filter((f) => !f.validationError).map((f) => f.file);
280
- }
281
- /**
282
- * List of files that have been added to the file picker but failed validation
283
- *
284
- * @public
285
- */
286
- get rejectedFiles() {
287
- return this._validatedFiles.filter((f) => !!f.validationError).map((f) => f.file);
288
- }
289
- /**
290
- * @internal
291
- */
292
- _onHiddenInputChange(e) {
293
- this.#addFiles(this._hiddenInput.files);
294
- this._hiddenInput.value = "";
295
- e.stopPropagation();
296
- }
297
- /**
298
- * @internal
299
- */
300
- _formatNumber(value) {
301
- const str = String(value);
302
- if (this.locale.common.useCommaAsDecimalSeparator) return str.replace(".", ",");
303
- return str;
304
- }
305
- };
306
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
307
- attribute: "single-file",
308
- mode: "boolean"
309
- })], FilePicker.prototype, "singleFile", void 0);
310
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
311
- attribute: "max-files",
312
- converter: _microsoft_fast_element.nullableNumberConverter,
313
- mode: "fromView"
314
- })], FilePicker.prototype, "maxFiles", void 0);
315
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
316
- mode: "fromView",
317
- attribute: "max-file-size"
318
- })], FilePicker.prototype, "maxFileSize", void 0);
319
- require_decorate.__decorate([_microsoft_fast_element.attr], FilePicker.prototype, "accept", void 0);
320
- require_decorate.__decorate([_microsoft_fast_element.attr], FilePicker.prototype, "size", void 0);
321
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "invalid-file-type-error" })], FilePicker.prototype, "invalidFileTypeError", void 0);
322
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "max-files-exceeded-error" })], FilePicker.prototype, "maxFilesExceededError", void 0);
323
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "file-too-big-error" })], FilePicker.prototype, "fileTooBigError", void 0);
324
- require_decorate.__decorate([_microsoft_fast_element.observable], FilePicker.prototype, "_customValidationError", void 0);
325
- require_decorate.__decorate([_microsoft_fast_element.observable], FilePicker.prototype, "_dragHover", void 0);
326
- require_decorate.__decorate([_microsoft_fast_element.observable], FilePicker.prototype, "_allFiles", void 0);
327
- require_decorate.__decorate([_microsoft_fast_element.volatile], FilePicker.prototype, "_validatedFiles", null);
20
+ var EmptyState = class extends require_vivid_element.VividElement {};
21
+ require_decorate.__decorate([_microsoft_fast_element.attr], EmptyState.prototype, "connotation", void 0);
22
+ require_decorate.__decorate([_microsoft_fast_element.attr], EmptyState.prototype, "headline", void 0);
23
+ require_decorate.__decorate([_microsoft_fast_element.attr], EmptyState.prototype, "icon", void 0);
24
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "icon-decoration" })], EmptyState.prototype, "iconDecoration", void 0);
25
+ require_decorate.__decorate([_microsoft_fast_element.observable], EmptyState.prototype, "slottedActionItems", void 0);
328
26
  //#endregion
329
- //#region src/lib/file-picker/file-picker.template.ts
330
- var filesizeBase = 1e3;
331
- var dictFileSizeUnits = {
332
- tb: "TB",
333
- gb: "GB",
334
- mb: "MB",
335
- kb: "KB",
336
- b: "b"
337
- };
338
- var renderFileSize = (x, size) => {
339
- let selectedSize = 0;
340
- let selectedUnit = "b";
341
- /* v8 ignore else -- @preserve */
342
- if (size > 0) {
343
- const units = [
344
- "tb",
345
- "gb",
346
- "mb",
347
- "kb",
348
- "b"
349
- ];
350
- for (let i = 0; i < units.length; i++) {
351
- const unit = units[i];
352
- if (size >= Math.pow(filesizeBase, 4 - i) / 10) {
353
- selectedSize = size / Math.pow(filesizeBase, 4 - i);
354
- selectedUnit = unit;
355
- break;
356
- }
357
- }
358
- selectedSize = Math.round(10 * selectedSize) / 10;
359
- }
360
- return _microsoft_fast_element.html`<strong>${x._formatNumber(selectedSize)}</strong>
361
- ${dictFileSizeUnits[selectedUnit]}`;
362
- };
363
- var getClasses = ({ size, _dragHover, disabled }) => (0, _microsoft_fast_web_utilities.classNames)("control", [`size-${size}`, Boolean(size)], ["drag-hover", _dragHover], ["disabled", disabled]);
364
- var FilePickerTemplate = (context) => {
27
+ //#region src/lib/empty-state/empty-state.template.ts
28
+ var getClasses = ({ connotation, slottedActionItems }) => (0, _microsoft_fast_web_utilities.classNames)("base", [`connotation-${connotation}`, Boolean(connotation)], ["no-actions", slottedActionItems?.length === 0]);
29
+ var EmptyStateTemplate = (context) => {
365
30
  const iconTag = context.tagFor(require_definition.Icon);
366
- const buttonTag = context.tagFor(require_definition$1.Button);
367
- return _microsoft_fast_element.html`
368
- <div class="base">
369
- <div class="label-wrapper" ?hidden=${(x) => !x.label && !x._hasContextualHelp}>
370
- ${(0, _microsoft_fast_element.when)((x) => x.label, _microsoft_fast_element.html`<label class="label">${(x) => x.label}</label>`)}
371
- <slot name="contextual-help" ${(0, _microsoft_fast_element.slotted)("_contextualHelpSlottedContent")}></slot>
372
- </div>
373
- <div class="control-wrapper">
374
- <button
375
- type="button"
376
- ${(0, _microsoft_fast_element.ref)("control")}
377
- class="${getClasses}"
378
- ?disabled="${(x) => x.disabled}"
379
- @click="${(x) => x._onControlClick()}"
380
- @keydown="${() => false}"
381
- @dragenter="${(x) => x._onDragEnter()}"
382
- @dragover="${(x, c) => x._onDragOver(c.event)}"
383
- @dragleave="${(x, c) => x._onDragLeave(c.event)}"
384
- @drop="${(x, c) => x._onDrop(c.event)}"
385
- @dragend="${(x) => x._onDragEnd()}"
386
- aria-describedby="${(x) => x._feedbackDescribedBy}"
387
- ${require_delegates_aria.delegateAria()}
388
- >
389
- <${iconTag}
390
- class="upload-icon"
391
- name="cloud-upload-line"
392
- size="-4"
393
- label="${(x) => x.locale.filePicker.uploadFilesLabel}"
394
- ></${iconTag}>
395
- <span class="upload-text"><slot></slot></span>
396
- </button>
397
- ${(x) => x._getFeedbackTemplate(context)}
398
- </div>
399
- <div class="preview-list">
400
- ${(0, _microsoft_fast_element.repeat)((x) => x._validatedFiles, _microsoft_fast_element.html`
401
- <div class="${(x) => (0, _microsoft_fast_web_utilities.classNames)("preview", ["has-error", !!x.validationError])}">
402
- <div class="details">
403
- <div class="filename">${(x) => x.file.name}</div>
404
- <div class="size">${(x, c) => renderFileSize(c.parent, x.file.size)}</div>
405
- </div>
406
- <div class="error-message">
407
- <${iconTag} name="info-line" size="-6"></${iconTag}>
408
- ${(x) => x.validationError}
409
- </div>
410
- <${buttonTag}
411
- class="remove-btn" icon="delete-line" appearance="ghost-light" size="condensed"
412
- ?disabled="${(_, c) => c.parent.disabled}"
413
- aria-label="${(_, c) => c.parent.locale.filePicker.removeFileLabel}"
414
- @click="${(x, c) => c.parent._onRemoveFileClick(x.file)}"></${buttonTag}>
31
+ return _microsoft_fast_element.html` <div
32
+ class="${getClasses}"
33
+ aria-labelledby="${(x) => x.headline ? "empty-state-headline" : null}"
34
+ >
35
+ <slot name="graphic">
36
+ ${(0, _microsoft_fast_element.when)((x) => x.icon, _microsoft_fast_element.html`<div class="icon-container">
37
+ <${iconTag} class="icon" name="${(x) => x.icon}"></${iconTag}>
415
38
  </div>`)}
416
- </div>
39
+ </slot>
40
+ <div class="content">
41
+ ${(0, _microsoft_fast_element.when)((x) => x.headline, _microsoft_fast_element.html`<header id="empty-state-headline">
42
+ ${(x) => x.headline}
43
+ </header>`)}
44
+ <slot></slot>
417
45
  </div>
418
- <input
419
- ${(0, _microsoft_fast_element.ref)("_hiddenInput")}
420
- class="hidden-input"
421
- aria-hidden="true"
422
- type="file"
423
- ?disabled="${(x) => x.disabled}"
424
- ?multiple="${(x) => !x.singleFile && (x.maxFiles == null || x.maxFiles > 1)}"
425
- accept="${(x) => x.accept || null}"
426
- tabindex="-1"
427
- @change="${(x, c) => x._onHiddenInputChange(c.event)}"
428
- />
429
- `;
46
+ <div class="actions">
47
+ <slot name="action-items" ${(0, _microsoft_fast_element.slotted)("slottedActionItems")}></slot>
48
+ </div>
49
+ </div>`;
430
50
  };
431
51
  //#endregion
432
- //#region src/lib/file-picker/definition.ts
52
+ //#region src/lib/empty-state/definition.ts
433
53
  /**
434
54
  * @internal
435
55
  */
436
- var filePickerDefinition = require_vivid_element.defineVividComponent("file-picker", FilePicker, FilePickerTemplate, [
437
- require_definition.iconDefinition,
438
- require_definition$1.buttonDefinition,
439
- require_mixins.feedbackMessageDefinition
440
- ], {
441
- styles: file_picker_default,
442
- shadowOptions: { delegatesFocus: true }
443
- });
56
+ var emptyStateDefinition = require_vivid_element.defineVividComponent("empty-state", EmptyState, EmptyStateTemplate, [require_definition.iconDefinition], { styles: empty_state_default });
444
57
  /**
445
- * Registers the file-picker element with the design system.
58
+ * Registers the empty-state element with the design system.
446
59
  *
447
60
  * @param prefix - the prefix to use for the component name
448
61
  */
449
- var registerFilePicker = require_vivid_element.createRegisterFunction(filePickerDefinition);
62
+ var registerEmptyState = require_vivid_element.createRegisterFunction(emptyStateDefinition);
450
63
  //#endregion
451
- Object.defineProperty(exports, "FilePicker", {
64
+ Object.defineProperty(exports, "EmptyState", {
452
65
  enumerable: true,
453
66
  get: function() {
454
- return FilePicker;
67
+ return EmptyState;
455
68
  }
456
69
  });
457
- Object.defineProperty(exports, "filePickerDefinition", {
70
+ Object.defineProperty(exports, "emptyStateDefinition", {
458
71
  enumerable: true,
459
72
  get: function() {
460
- return filePickerDefinition;
73
+ return emptyStateDefinition;
461
74
  }
462
75
  });
463
- Object.defineProperty(exports, "registerFilePicker", {
76
+ Object.defineProperty(exports, "registerEmptyState", {
464
77
  enumerable: true,
465
78
  get: function() {
466
- return registerFilePicker;
79
+ return registerEmptyState;
467
80
  }
468
81
  });