@vonage/vivid 5.16.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 (564) 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/action-group/index.cjs +3 -3
  10. package/action-group/index.js +5 -5
  11. package/alert/definition.cjs +5 -5
  12. package/alert/definition.js +1 -1
  13. package/alert/index.cjs +3 -3
  14. package/alert/index.js +15 -14
  15. package/audio-player/definition.cjs +5 -5
  16. package/audio-player/definition.js +1 -1
  17. package/audio-player/index.cjs +16 -16
  18. package/audio-player/index.js +29 -28
  19. package/avatar/definition.cjs +5 -5
  20. package/avatar/definition.js +1 -1
  21. package/avatar/index.cjs +4 -4
  22. package/avatar/index.js +12 -11
  23. package/badge/definition.cjs +5 -5
  24. package/badge/definition.js +1 -1
  25. package/badge/index.cjs +1 -4
  26. package/badge/index.js +4 -20
  27. package/banner/definition.cjs +5 -5
  28. package/banner/definition.js +1 -1
  29. package/banner/index.cjs +3 -3
  30. package/banner/index.js +14 -13
  31. package/breadcrumb-item/definition.cjs +4 -4
  32. package/breadcrumb-item/definition.js +1 -1
  33. package/breadcrumb-item/index.cjs +1 -1
  34. package/breadcrumb-item/index.js +1 -0
  35. package/bundled/affix.cjs +1 -1
  36. package/bundled/affix.js +5 -5
  37. package/bundled/base-color-picker.cjs +2 -2
  38. package/bundled/base-color-picker.js +5 -5
  39. package/bundled/button.cjs +1 -1
  40. package/bundled/button.js +2 -2
  41. package/bundled/calendar-picker.template.cjs +2 -2
  42. package/bundled/calendar-picker.template.js +498 -498
  43. package/bundled/definition10.cjs +18 -30
  44. package/bundled/definition10.js +53 -155
  45. package/bundled/definition11.cjs +10 -19
  46. package/bundled/definition11.js +25 -74
  47. package/bundled/definition12.cjs +72 -18
  48. package/bundled/definition12.js +171 -107
  49. package/bundled/definition13.cjs +18 -17
  50. package/bundled/definition13.js +46 -66
  51. package/bundled/definition14.cjs +5 -10
  52. package/bundled/definition14.js +9 -27
  53. package/bundled/definition15.cjs +17 -71
  54. package/bundled/definition15.js +64 -181
  55. package/bundled/definition16.cjs +12 -4
  56. package/bundled/definition16.js +79 -14
  57. package/bundled/definition17.cjs +19 -13
  58. package/bundled/definition17.js +118 -69
  59. package/bundled/definition18.cjs +87 -12
  60. package/bundled/definition18.js +409 -52
  61. package/bundled/definition19.cjs +5 -87
  62. package/bundled/definition19.js +14 -422
  63. package/bundled/definition2.cjs +3 -14
  64. package/bundled/definition2.js +16 -49
  65. package/bundled/definition20.cjs +30 -5
  66. package/bundled/definition20.js +159 -9
  67. package/bundled/definition21.cjs +28 -19
  68. package/bundled/definition21.js +164 -47
  69. package/bundled/definition22.cjs +4 -24
  70. package/bundled/definition22.js +18 -88
  71. package/bundled/definition23.cjs +12 -0
  72. package/bundled/definition23.js +37 -0
  73. package/bundled/definition24.cjs +39 -0
  74. package/bundled/definition24.js +72 -0
  75. package/bundled/definition3.cjs +1 -1
  76. package/bundled/definition3.js +24 -21
  77. package/bundled/definition4.cjs +23 -38
  78. package/bundled/definition4.js +81 -63
  79. package/bundled/definition5.cjs +2 -2
  80. package/bundled/definition5.js +5 -5
  81. package/bundled/definition6.cjs +11 -11
  82. package/bundled/definition6.js +57 -41
  83. package/bundled/definition9.cjs +12 -30
  84. package/bundled/definition9.js +55 -148
  85. package/bundled/divider.cjs +1 -1
  86. package/bundled/divider.js +5 -5
  87. package/bundled/listbox.cjs +1 -1
  88. package/bundled/listbox.js +1 -1
  89. package/bundled/localized.cjs +1 -1
  90. package/bundled/localized.js +1 -0
  91. package/bundled/mixins.cjs +5 -5
  92. package/bundled/mixins.js +49 -49
  93. package/bundled/numberConverter.cjs +12 -0
  94. package/bundled/numberConverter.js +38 -0
  95. package/bundled/picker-field.template.cjs +8 -7
  96. package/bundled/picker-field.template.js +16 -15
  97. package/bundled/slider.template.cjs +7 -7
  98. package/bundled/slider.template.js +12 -12
  99. package/bundled/slottable-request.cjs +1 -1
  100. package/bundled/slottable-request.js +8 -38
  101. package/bundled/time-selection-picker.template.cjs +4 -4
  102. package/bundled/time-selection-picker.template.js +35 -35
  103. package/bundled/utils.cjs +1 -0
  104. package/bundled/utils.js +1420 -0
  105. package/bundled/vivid-element.cjs +1 -1
  106. package/bundled/vivid-element.js +1 -1
  107. package/button/definition.cjs +5 -5
  108. package/button/definition.js +1 -1
  109. package/button/index.cjs +1 -1
  110. package/button/index.js +1 -1
  111. package/calendar/index.cjs +11 -11
  112. package/calendar/index.js +30 -237
  113. package/calendar-event/index.cjs +3 -3
  114. package/calendar-event/index.js +4 -4
  115. package/card/definition.cjs +5 -5
  116. package/card/definition.js +1 -1
  117. package/card/index.cjs +15 -12
  118. package/card/index.js +17 -13
  119. package/checkbox/definition.cjs +5 -5
  120. package/checkbox/definition.js +1 -1
  121. package/checkbox/index.cjs +1 -1
  122. package/checkbox/index.js +2 -2
  123. package/color-picker/definition.cjs +5 -5
  124. package/color-picker/definition.js +2 -2
  125. package/color-picker/index.cjs +10 -10
  126. package/color-picker/index.js +58 -57
  127. package/combobox/definition.cjs +5 -5
  128. package/combobox/definition.js +2 -2
  129. package/combobox/index.cjs +9 -8
  130. package/combobox/index.js +40 -35
  131. package/contextual-help/definition.cjs +5 -5
  132. package/contextual-help/definition.js +2 -2
  133. package/contextual-help/index.cjs +1 -1
  134. package/contextual-help/index.js +2 -2
  135. package/country/definition.cjs +5 -5
  136. package/country/definition.js +1 -1
  137. package/country/index.cjs +1 -12
  138. package/country/index.js +4 -1216
  139. package/country-group/definition.cjs +6 -0
  140. package/country-group/definition.js +3 -0
  141. package/country-group/index.cjs +43 -0
  142. package/country-group/index.js +166 -0
  143. package/custom-elements.json +1274 -200
  144. package/data-grid/definition.cjs +9 -9
  145. package/data-grid/definition.js +2 -2
  146. package/data-grid/index.cjs +18 -18
  147. package/data-grid/index.js +260 -262
  148. package/date-picker/definition.cjs +5 -5
  149. package/date-picker/definition.js +2 -2
  150. package/date-picker/index.cjs +1 -1
  151. package/date-picker/index.js +13 -13
  152. package/date-range-picker/definition.cjs +5 -5
  153. package/date-range-picker/definition.js +2 -2
  154. package/date-range-picker/index.cjs +1 -1
  155. package/date-range-picker/index.js +8 -8
  156. package/date-time-picker/definition.cjs +5 -5
  157. package/date-time-picker/definition.js +2 -2
  158. package/date-time-picker/index.cjs +4 -4
  159. package/date-time-picker/index.js +25 -25
  160. package/dial-pad/definition.cjs +5 -5
  161. package/dial-pad/definition.js +2 -2
  162. package/dial-pad/index.cjs +6 -5
  163. package/dial-pad/index.js +14 -12
  164. package/dialog/definition.cjs +5 -5
  165. package/dialog/definition.js +2 -2
  166. package/dialog/index.cjs +6 -6
  167. package/dialog/index.js +17 -16
  168. package/divider/definition.cjs +1 -1
  169. package/divider/definition.js +1 -1
  170. package/divider/index.cjs +1 -1
  171. package/divider/index.js +1 -1
  172. package/empty-state/definition.cjs +5 -5
  173. package/empty-state/definition.js +2 -2
  174. package/empty-state/index.cjs +2 -2
  175. package/empty-state/index.js +6 -5
  176. package/fab/definition.cjs +5 -5
  177. package/fab/definition.js +2 -2
  178. package/fab/index.cjs +4 -4
  179. package/fab/index.js +13 -12
  180. package/file-picker/definition.cjs +5 -5
  181. package/file-picker/definition.js +2 -2
  182. package/file-picker/index.cjs +20 -17
  183. package/file-picker/index.js +40 -36
  184. package/flag/definition.cjs +6 -0
  185. package/flag/definition.js +3 -0
  186. package/flag/index.cjs +10 -0
  187. package/flag/index.js +61 -0
  188. package/header/definition.cjs +1 -1
  189. package/header/definition.js +1 -1
  190. package/header/index.cjs +4 -4
  191. package/header/index.js +5 -5
  192. package/icon/definition.cjs +1 -0
  193. package/icon/definition.js +1 -0
  194. package/icon/index.cjs +1 -1
  195. package/icon/index.js +1 -0
  196. package/index.cjs +204 -192
  197. package/index.js +55 -52
  198. package/layout/definition.cjs +1 -1
  199. package/layout/definition.js +1 -1
  200. package/lib/button/button.d.ts +1 -0
  201. package/lib/combobox/combobox.d.ts +0 -3
  202. package/lib/components.d.ts +2 -0
  203. package/lib/country/countries-data.d.ts +1 -0
  204. package/lib/country/{country-code-to-flag-icon.d.ts → utils.d.ts} +0 -3
  205. package/lib/country-group/country-group.d.ts +829 -0
  206. package/lib/country-group/country-group.template.d.ts +3 -0
  207. package/lib/country-group/definition.d.ts +3 -0
  208. package/lib/country-group/index.d.ts +1 -0
  209. package/lib/country-group/locale.d.ts +3 -0
  210. package/lib/date-picker/date-picker.d.ts +4 -0
  211. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  212. package/lib/date-time-picker/date-time-picker.d.ts +4 -4
  213. package/lib/dial-pad/dial-pad.d.ts +6 -2
  214. package/lib/dialog/dialog.d.ts +0 -1
  215. package/lib/flag/definition.d.ts +3 -0
  216. package/lib/flag/flag.d.ts +8 -0
  217. package/lib/flag/flag.template.d.ts +3 -0
  218. package/lib/flag/index.d.ts +1 -0
  219. package/lib/icon/icon.d.ts +1 -2
  220. package/lib/menu/menu.d.ts +0 -1
  221. package/lib/option/option.d.ts +0 -1
  222. package/lib/rich-text-editor/rte/exports.d.ts +1 -0
  223. package/lib/rich-text-editor/rte/features/alignment.d.ts +1 -1
  224. package/lib/rich-text-editor/rte/features/character-count.d.ts +21 -0
  225. package/lib/rich-text-editor/rte/features/font-size-picker.d.ts +1 -1
  226. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  227. package/lib/rich-text-editor/rte/features/keyboard-shortcuts.d.ts +1 -1
  228. package/lib/rich-text-editor/rte/features/text-color-picker.d.ts +1 -1
  229. package/lib/rich-text-editor/rte/public-interface.d.ts +6 -0
  230. package/lib/searchable-select/option-tag.d.ts +3 -2
  231. package/lib/searchable-select/searchable-select.d.ts +3 -1
  232. package/lib/table/definition.d.ts +2 -1
  233. package/lib/table/table-header-cell.d.ts +3 -0
  234. package/lib/table/table-sorting-button.d.ts +415 -0
  235. package/lib/table/table-sorting-button.template.d.ts +3 -0
  236. package/lib/tag-name-map.d.ts +2 -1
  237. package/lib/time-picker/time-picker.d.ts +2 -0
  238. package/locales/de-DE.cjs +5 -178
  239. package/locales/de-DE.js +3 -179
  240. package/locales/en-GB.cjs +5 -9
  241. package/locales/en-GB.js +3 -10
  242. package/locales/en-US.cjs +269 -2
  243. package/locales/en-US.js +266 -1
  244. package/locales/ja-JP.cjs +5 -171
  245. package/locales/ja-JP.js +3 -172
  246. package/locales/zh-CN.cjs +5 -172
  247. package/locales/zh-CN.js +3 -173
  248. package/menu/definition.cjs +5 -5
  249. package/menu/definition.js +1 -1
  250. package/menu/index.cjs +1 -1
  251. package/menu/index.js +2 -2
  252. package/menu-item/definition.cjs +6 -6
  253. package/menu-item/definition.js +1 -1
  254. package/menu-item/index.cjs +1 -1
  255. package/menu-item/index.js +2 -2
  256. package/nav/definition.cjs +1 -1
  257. package/nav/definition.js +1 -1
  258. package/nav-disclosure/definition.cjs +5 -5
  259. package/nav-disclosure/definition.js +2 -2
  260. package/nav-disclosure/index.cjs +4 -4
  261. package/nav-disclosure/index.js +13 -12
  262. package/nav-item/definition.cjs +5 -5
  263. package/nav-item/definition.js +2 -2
  264. package/nav-item/index.cjs +2 -2
  265. package/nav-item/index.js +12 -11
  266. package/note/definition.cjs +5 -5
  267. package/note/definition.js +2 -2
  268. package/note/index.cjs +3 -3
  269. package/note/index.js +11 -10
  270. package/number-field/definition.cjs +5 -5
  271. package/number-field/definition.js +2 -2
  272. package/number-field/index.cjs +4 -4
  273. package/number-field/index.js +29 -28
  274. package/option/definition.cjs +5 -5
  275. package/option/definition.js +2 -2
  276. package/option/index.cjs +1 -1
  277. package/option/index.js +2 -2
  278. package/package.json +9 -10
  279. package/pagination/definition.cjs +5 -5
  280. package/pagination/definition.js +2 -2
  281. package/pagination/index.cjs +3 -3
  282. package/pagination/index.js +16 -16
  283. package/popover/definition.cjs +5 -5
  284. package/popover/definition.js +2 -2
  285. package/popover/index.cjs +7 -7
  286. package/popover/index.js +12 -11
  287. package/popup/definition.cjs +4 -4
  288. package/popup/definition.js +1 -1
  289. package/popup/index.cjs +1 -1
  290. package/popup/index.js +1 -1
  291. package/progress/definition.cjs +1 -1
  292. package/progress/definition.js +1 -1
  293. package/progress/index.cjs +2 -2
  294. package/progress/index.js +5 -5
  295. package/radio/definition.cjs +1 -1
  296. package/radio/definition.js +1 -1
  297. package/radio/index.cjs +1 -1
  298. package/radio/index.js +1 -1
  299. package/radio-group/definition.cjs +5 -5
  300. package/radio-group/definition.js +2 -2
  301. package/radio-group/index.cjs +4 -4
  302. package/radio-group/index.js +11 -11
  303. package/range-slider/definition.cjs +5 -5
  304. package/range-slider/definition.js +2 -2
  305. package/range-slider/index.cjs +4 -4
  306. package/range-slider/index.js +39 -36
  307. package/rich-text-editor/definition.cjs +32 -31
  308. package/rich-text-editor/definition.js +3 -3
  309. package/rich-text-editor/index.cjs +13 -13
  310. package/rich-text-editor/index.js +1887 -1830
  311. package/rich-text-view/definition.cjs +1 -1
  312. package/rich-text-view/definition.js +1 -1
  313. package/rich-text-view/index.cjs +1 -1
  314. package/rich-text-view/index.js +8 -8
  315. package/searchable-select/definition.cjs +4 -4
  316. package/searchable-select/definition.js +2 -2
  317. package/searchable-select/index.cjs +15 -13
  318. package/searchable-select/index.js +75 -72
  319. package/select/definition.cjs +5 -5
  320. package/select/definition.js +2 -2
  321. package/select/index.cjs +1 -1
  322. package/select/index.js +2 -2
  323. package/selectable-box/definition.cjs +5 -5
  324. package/selectable-box/definition.js +2 -2
  325. package/selectable-box/index.cjs +7 -7
  326. package/selectable-box/index.js +12 -12
  327. package/shared/foundation/test-utilities/fixture.d.ts +1 -1
  328. package/shared/icon/utils.d.ts +1 -0
  329. package/shared/localization/Locale.d.ts +2 -0
  330. package/shared/patterns/linkable.d.ts +1 -1
  331. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  332. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  333. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  334. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  335. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  336. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  337. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  338. package/shared/picker-field/picker-field.d.ts +2 -0
  339. package/side-drawer/definition.cjs +1 -1
  340. package/side-drawer/definition.js +1 -1
  341. package/simple-color-picker/definition.cjs +5 -5
  342. package/simple-color-picker/definition.js +2 -2
  343. package/simple-color-picker/index.cjs +3 -3
  344. package/simple-color-picker/index.js +15 -14
  345. package/slider/definition.cjs +5 -5
  346. package/slider/definition.js +1 -1
  347. package/slider/index.cjs +1 -1
  348. package/slider/index.js +1 -1
  349. package/split-button/definition.cjs +5 -5
  350. package/split-button/definition.js +2 -2
  351. package/split-button/index.cjs +6 -6
  352. package/split-button/index.js +17 -16
  353. package/status/definition.cjs +5 -5
  354. package/status/definition.js +2 -2
  355. package/status/index.cjs +2 -2
  356. package/status/index.js +11 -10
  357. package/switch/definition.cjs +5 -5
  358. package/switch/definition.js +2 -2
  359. package/switch/index.cjs +4 -4
  360. package/switch/index.js +11 -10
  361. package/tab/definition.cjs +5 -5
  362. package/tab/definition.js +2 -2
  363. package/tab/index.cjs +1 -1
  364. package/tab/index.js +2 -2
  365. package/tab-panel/definition.cjs +1 -1
  366. package/tab-panel/definition.js +1 -1
  367. package/tab-panel/index.cjs +1 -1
  368. package/tab-panel/index.js +1 -1
  369. package/table/definition.cjs +4 -1
  370. package/table/definition.js +3 -2
  371. package/table/index.cjs +19 -10
  372. package/table/index.js +70 -21
  373. package/tabs/definition.cjs +6 -6
  374. package/tabs/definition.js +2 -2
  375. package/tabs/index.cjs +2 -2
  376. package/tabs/index.js +5 -5
  377. package/tag/definition.cjs +5 -5
  378. package/tag/definition.js +2 -2
  379. package/tag/index.cjs +8 -8
  380. package/tag/index.js +14 -13
  381. package/tag-group/definition.cjs +1 -1
  382. package/tag-group/definition.js +1 -1
  383. package/tag-group/index.cjs +3 -3
  384. package/tag-group/index.js +5 -5
  385. package/text-area/definition.cjs +5 -5
  386. package/text-area/definition.js +2 -2
  387. package/text-area/index.cjs +2 -2
  388. package/text-area/index.js +13 -13
  389. package/text-field/definition.cjs +5 -5
  390. package/text-field/definition.js +2 -2
  391. package/text-field/index.cjs +1 -1
  392. package/text-field/index.js +2 -2
  393. package/time-picker/definition.cjs +4 -4
  394. package/time-picker/definition.js +2 -2
  395. package/time-picker/index.cjs +1 -1
  396. package/time-picker/index.js +2 -2
  397. package/toggletip/definition.cjs +5 -5
  398. package/toggletip/definition.js +2 -2
  399. package/toggletip/index.cjs +1 -1
  400. package/toggletip/index.js +2 -2
  401. package/tooltip/definition.cjs +5 -5
  402. package/tooltip/definition.js +2 -2
  403. package/tooltip/index.cjs +1 -1
  404. package/tooltip/index.js +2 -2
  405. package/tree-item/definition.cjs +5 -5
  406. package/tree-item/definition.js +2 -2
  407. package/tree-item/index.cjs +1 -1
  408. package/tree-item/index.js +2 -2
  409. package/tree-view/definition.cjs +5 -5
  410. package/tree-view/definition.js +2 -2
  411. package/tree-view/index.cjs +3 -3
  412. package/tree-view/index.js +18 -18
  413. package/unbundled/button.cjs +2 -2
  414. package/unbundled/button.js +2 -2
  415. package/unbundled/calendar-picker.template.cjs +4347 -9
  416. package/unbundled/calendar-picker.template.js +4345 -7
  417. package/unbundled/chunk.cjs +0 -22
  418. package/unbundled/definition11.cjs +6 -0
  419. package/unbundled/definition11.js +6 -0
  420. package/unbundled/definition13.cjs +1 -8
  421. package/unbundled/definition13.js +1 -8
  422. package/unbundled/definition14.cjs +3 -2
  423. package/unbundled/definition14.js +3 -2
  424. package/unbundled/definition2.cjs +5 -75
  425. package/unbundled/definition2.js +1 -71
  426. package/unbundled/definition21.cjs +1 -2
  427. package/unbundled/definition21.js +1 -2
  428. package/unbundled/definition22.cjs +7 -2
  429. package/unbundled/definition22.js +7 -2
  430. package/unbundled/definition24.cjs +98 -979
  431. package/unbundled/definition24.js +93 -974
  432. package/unbundled/definition25.cjs +37 -322
  433. package/unbundled/definition25.js +33 -318
  434. package/unbundled/definition26.cjs +317 -91
  435. package/unbundled/definition26.js +313 -87
  436. package/unbundled/definition27.cjs +94 -192
  437. package/unbundled/definition27.js +91 -183
  438. package/unbundled/definition28.cjs +388 -395
  439. package/unbundled/definition28.js +388 -395
  440. package/unbundled/definition29.cjs +189 -110
  441. package/unbundled/definition29.js +180 -107
  442. package/unbundled/definition30.cjs +520 -36
  443. package/unbundled/definition30.js +519 -35
  444. package/unbundled/definition31.cjs +2 -1189
  445. package/unbundled/definition31.js +1 -1188
  446. package/unbundled/definition32.cjs +207 -1835
  447. package/unbundled/definition32.js +203 -1807
  448. package/unbundled/definition33.cjs +85 -228
  449. package/unbundled/definition33.js +82 -165
  450. package/unbundled/definition34.cjs +1887 -25
  451. package/unbundled/definition34.js +1857 -24
  452. package/unbundled/definition35.cjs +315 -121
  453. package/unbundled/definition35.js +236 -114
  454. package/unbundled/definition36.cjs +25 -405
  455. package/unbundled/definition36.js +22 -397
  456. package/unbundled/definition37.cjs +49 -140
  457. package/unbundled/definition37.js +46 -137
  458. package/unbundled/definition38.cjs +346 -329
  459. package/unbundled/definition38.js +343 -326
  460. package/unbundled/definition39.cjs +183 -234
  461. package/unbundled/definition39.js +181 -232
  462. package/unbundled/definition40.cjs +377 -47
  463. package/unbundled/definition40.js +372 -42
  464. package/unbundled/definition41.cjs +256 -57
  465. package/unbundled/definition41.js +255 -56
  466. package/unbundled/definition42.cjs +45 -421
  467. package/unbundled/definition42.js +41 -417
  468. package/unbundled/definition43.cjs +63 -49
  469. package/unbundled/definition43.js +61 -47
  470. package/unbundled/definition44.cjs +438 -30
  471. package/unbundled/definition44.js +434 -25
  472. package/unbundled/definition45.cjs +46 -84
  473. package/unbundled/definition45.js +43 -81
  474. package/unbundled/definition46.cjs +29 -54
  475. package/unbundled/definition46.js +24 -50
  476. package/unbundled/definition47.cjs +93 -21
  477. package/unbundled/definition47.js +91 -16
  478. package/unbundled/definition48.cjs +49 -33
  479. package/unbundled/definition48.js +46 -30
  480. package/unbundled/definition49.cjs +22 -347
  481. package/unbundled/definition49.js +16 -344
  482. package/unbundled/definition50.cjs +34 -211
  483. package/unbundled/definition50.js +30 -207
  484. package/unbundled/definition51.cjs +282 -242
  485. package/unbundled/definition51.js +275 -235
  486. package/unbundled/definition52.cjs +211 -51
  487. package/unbundled/definition52.js +209 -48
  488. package/unbundled/definition53.cjs +275 -131
  489. package/unbundled/definition53.js +272 -127
  490. package/unbundled/definition54.cjs +50 -261
  491. package/unbundled/definition54.js +48 -260
  492. package/unbundled/definition55.cjs +126 -443
  493. package/unbundled/definition55.js +123 -441
  494. package/unbundled/definition56.cjs +238 -12669
  495. package/unbundled/definition56.js +232 -12506
  496. package/unbundled/definition57.cjs +408 -729
  497. package/unbundled/definition57.js +406 -727
  498. package/unbundled/definition58.cjs +3619 -106
  499. package/unbundled/definition58.js +3449 -99
  500. package/unbundled/definition59.cjs +625 -868
  501. package/unbundled/definition59.js +620 -863
  502. package/unbundled/definition60.cjs +106 -108
  503. package/unbundled/definition60.js +102 -104
  504. package/unbundled/definition61.cjs +1040 -71
  505. package/unbundled/definition61.js +1035 -65
  506. package/unbundled/definition62.cjs +105 -169
  507. package/unbundled/definition62.js +101 -165
  508. package/unbundled/definition63.cjs +70 -113
  509. package/unbundled/definition63.js +65 -109
  510. package/unbundled/definition64.cjs +181 -53
  511. package/unbundled/definition64.js +178 -50
  512. package/unbundled/definition65.cjs +109 -76
  513. package/unbundled/definition65.js +109 -75
  514. package/unbundled/definition66.cjs +58 -21
  515. package/unbundled/definition66.js +55 -15
  516. package/unbundled/definition67.cjs +81 -74
  517. package/unbundled/definition67.js +79 -73
  518. package/unbundled/definition68.cjs +19 -344
  519. package/unbundled/definition68.js +14 -335
  520. package/unbundled/definition69.cjs +88 -26
  521. package/unbundled/definition69.js +85 -22
  522. package/unbundled/definition7.cjs +18 -3
  523. package/unbundled/definition7.js +18 -3
  524. package/unbundled/definition70.cjs +330 -111
  525. package/unbundled/definition70.js +320 -108
  526. package/unbundled/definition71.cjs +26 -271
  527. package/unbundled/definition71.js +21 -267
  528. package/unbundled/definition72.cjs +134 -28
  529. package/unbundled/definition72.js +125 -26
  530. package/unbundled/definition73.cjs +245 -113
  531. package/unbundled/definition73.js +242 -104
  532. package/unbundled/definition74.cjs +28 -212
  533. package/unbundled/definition74.js +26 -202
  534. package/unbundled/definition75.cjs +120 -52190
  535. package/unbundled/definition75.js +112 -52188
  536. package/unbundled/definition76.cjs +232 -0
  537. package/unbundled/definition76.js +213 -0
  538. package/unbundled/definition77.cjs +533 -0
  539. package/unbundled/definition77.js +513 -0
  540. package/unbundled/listbox.cjs +1 -1
  541. package/unbundled/listbox.js +1 -1
  542. package/unbundled/localized.cjs +2 -2
  543. package/unbundled/localized.js +1 -1
  544. package/unbundled/numberConverter.cjs +91 -0
  545. package/unbundled/numberConverter.js +74 -0
  546. package/unbundled/picker-field.template.cjs +3 -1
  547. package/unbundled/picker-field.template.js +3 -1
  548. package/unbundled/slottable-request.cjs +2 -3168
  549. package/unbundled/slottable-request.js +3 -3097
  550. package/unbundled/time-selection-picker.template.cjs +1 -1
  551. package/unbundled/time-selection-picker.template.js +1 -1
  552. package/unbundled/utils.cjs +1439 -0
  553. package/unbundled/utils.js +1428 -0
  554. package/unbundled/vivid-element.cjs +1 -1
  555. package/unbundled/vivid-element.js +1 -1
  556. package/video-player/definition.cjs +1 -1
  557. package/video-player/definition.js +1 -1
  558. package/video-player/index.cjs +3 -3
  559. package/video-player/index.js +9 -9
  560. package/vivid.api.json +860 -409
  561. package/unbundled/chunk.js +0 -33
  562. package/unbundled/en-US.cjs +0 -447
  563. package/unbundled/en-US.js +0 -443
  564. /package/{lib/icon/icon.placeholder.d.ts → shared/icon/icon-placeholder.d.ts} +0 -0
@@ -1,213 +1,149 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
- const require_definition = require("./definition2.cjs");
4
3
  const require_decorate = require("./decorate.cjs");
5
- const require_dialog = require("./dialog.cjs");
6
- const require_definition$1 = require("./definition10.cjs");
7
- const require_anchored = require("./anchored.cjs");
8
- const require_base_color_picker = require("./base-color-picker.cjs");
9
- const require_definition$2 = require("./definition26.cjs");
4
+ const require_delegates_aria = require("./delegates-aria.cjs");
5
+ const require_enums = require("./enums.cjs");
6
+ const require_definition = require("./definition23.cjs");
7
+ const require_definition$1 = require("./definition55.cjs");
10
8
  let _microsoft_fast_element = require("@microsoft/fast-element");
11
9
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
12
- //#region src/lib/simple-color-picker/simple-color-picker.scss?inline
13
- var simple_color_picker_default = ".palette{grid-template-columns:repeat(var(--swatches-per-row,7), var(--_color-swatch-size,24px));display:grid}.swatch{background-color:var(--swatch-color);block-size:var(--_color-swatch-size,24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size,24px);border-radius:4px;padding:0;position:relative}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch:focus-visible{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:none;outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;--focus-inset:-3px}:host :host{display:var(--_popup-display,inline)}:host :host([slotted-anchor]){--_popup-display:contents}.palette{padding:var(--_color-palette-spacing,16px);gap:var(--_color-palette-gap,12px)}::part(popup-base){block-size:max-content;max-block-size:100vh;inline-size:max-content;max-inline-size:100vw;min-block-size:var(--_color-swatch-size,24px);min-inline-size:var(--_color-swatch-size,24px)}";
10
+ //#region src/lib/selectable-box/selectable-box.scss?inline
11
+ var selectable_box_default = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all:var(--vvd-selectable-box-cta-firm-all,var(--vvd-color-cta-600));--_connotation-color-pale:var(--vvd-selectable-box-cta-pale,var(--vvd-color-cta-300));--_connotation-color-fierce:var(--vvd-selectable-box-cta-fierce,var(--vvd-color-cta-700));--_connotation-color-faint:var(--vvd-selectable-box-cta-faint,var(--vvd-color-cta-50));--_connotation-color-soft:var(--vvd-selectable-box-cta-soft,var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all:var(--vvd-selectable-box-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-pale:var(--vvd-selectable-box-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-selectable-box-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-selectable-box-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-selectable-box-accent-soft,var(--vvd-color-neutral-100))}.base{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}.base:disabled,.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.base{--control-offset:calc(var(--selectable-box-spacing,16px) + 36px);padding:var(--selectable-box-spacing,16px);border:1px solid var(--_appearance-color-outline);background-color:var(--_appearance-color-fill);text-align:start;border-radius:8px;inline-size:100%;position:relative}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base: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))}.base.tight{min-height:calc(var(--selectable-box-spacing,16px) * 2 + 22px);padding:0;overflow:hidden}.base.selected{background-color:var(--selectable-box-checked-bg,var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing,16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing,16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing,16px)}";
14
12
  //#endregion
15
- //#region src/lib/simple-color-picker/simple-color-picker.ts
13
+ //#region src/lib/selectable-box/selectable-box.ts
16
14
  /**
17
15
  * @public
18
- * @component simple-color-picker
19
- * @slot anchor - Slot for attaching the toggle button
20
- * @event {CustomEvent<undefined>} change - Fires when the value changes
21
- * @vueModel modelValue value input `event.currentTarget.value`
16
+ * @component selectable-box
17
+ * @slot default - Slot for box's content.
18
+ * @event {CustomEvent<undefined>} change - Fired when the checked state changes
19
+ * @testAction check check #control
20
+ * @testAction uncheck uncheck #control
21
+ * @testQuery checked checked true
22
+ * @testQuery unchecked checked false
23
+ * @testRef control nestedShadow [data-vvd-component].control div.control
22
24
  */
23
- var SimpleColorPicker = class extends require_anchored.Anchored(require_base_color_picker.BaseColorPicker(require_vivid_element.VividElement)) {
25
+ var SelectableBox = class extends require_delegates_aria.DelegatesAria(require_vivid_element.VividElement) {
24
26
  constructor(..._args) {
25
27
  super(..._args);
26
- this.placement = "top-start";
27
- this.swatchesPerRow = 7;
28
- this._closeOnClickOutside = (e) => {
29
- const clickedOutside = !this.contains(e.target);
30
- const clickedOnAnchor = this._anchorEl?.contains(e.target);
31
- /* v8 ignore else -- @preserve */
32
- if (clickedOutside || clickedOnAnchor) this.open = false;
33
- };
34
- this._closeOnEscape = (e) => {
35
- /* v8 ignore else -- @preserve */
36
- if (e.key === "Escape") this.open = false;
37
- };
28
+ this.checked = false;
29
+ this.clickableBox = false;
30
+ this.controlPlacement = "end-stacked";
31
+ this.tight = false;
32
+ this.disabled = false;
38
33
  }
39
34
  /**
40
35
  * @internal
41
36
  */
42
- openChanged(_oldValue, newValue) {
43
- this._updateListeners();
44
- if (this._anchorEl) this.#updateAnchor(this._anchorEl);
45
- if (newValue && this.isConnected) requestAnimationFrame(() => {
46
- this._refreshCanvasColor();
47
- if (this.#openedByKeyboard) {
48
- const selectedIndex = this.swatches.findIndex((swatch) => swatch.value === this.value);
49
- const targetIndex = selectedIndex >= 0 ? selectedIndex : 0;
50
- this._focusSwatchByIndex(targetIndex);
51
- }
52
- this.#openedByKeyboard = false;
53
- });
37
+ _handleCheckedChange() {
38
+ if (this.disabled) return;
39
+ if (this.controlType === "radio" && this.checked) return;
40
+ this.checked = !this.checked;
41
+ if (this.clickableBox) this.$emit("change");
54
42
  }
55
43
  /**
56
44
  * @internal
57
45
  */
58
- _getRowLength() {
59
- return this.swatchesPerRow;
60
- }
61
- connectedCallback() {
62
- super.connectedCallback();
63
- this._updateListeners();
64
- }
65
- disconnectedCallback() {
66
- super.disconnectedCallback();
67
- this._updateListeners();
68
- }
69
- /**
70
- * @internal
71
- */
72
- _updateListeners() {
73
- document.removeEventListener("click", this._closeOnClickOutside);
74
- document.removeEventListener("keydown", this._closeOnEscape);
75
- if (this.open && this.isConnected) {
76
- document.addEventListener("click", this._closeOnClickOutside);
77
- document.addEventListener("keydown", this._closeOnEscape);
78
- }
79
- }
80
- /**
81
- * @internal
82
- */
83
- _getFocusReturnEl() {
84
- return this._anchorEl ?? null;
85
- }
86
- /**
87
- * @internal
88
- */
89
- _anchorElChanged(oldValue, newValue) {
90
- if (oldValue) this.#cleanupAnchor(oldValue);
91
- if (newValue) this.#setupAnchor(newValue);
92
- }
93
- /**
94
- * @internal
95
- */
96
- #updateAnchor(a) {
97
- a.setAttribute("aria-expanded", this.open.toString());
98
- a.setAttribute("data-expanded", this.open.toString());
99
- }
100
- /**
101
- * @internal
102
- */
103
- #setupAnchor(a) {
104
- this.#updateAnchor(a);
105
- a.addEventListener("click", this.#openPopup, true);
106
- a.addEventListener("keydown", this.#handleAnchorKeydown);
107
- a.setAttribute("aria-haspopup", "true");
108
- }
109
- /**
110
- * @internal
111
- */
112
- #cleanupAnchor(a) {
113
- a.removeEventListener("click", this.#openPopup, true);
114
- a.removeEventListener("keydown", this.#handleAnchorKeydown);
115
- a.removeAttribute("aria-expanded");
116
- a.removeAttribute("data-expanded");
117
- a.removeAttribute("aria-haspopup");
46
+ _handleKeydown(event) {
47
+ if (this.disabled) return true;
48
+ if ((event.code === "Space" || event.code === "Enter") && this.clickableBox) return this._handleCheckedChange();
49
+ return true;
118
50
  }
119
- /**
120
- * @internal
121
- */
122
- #openedByKeyboard = false;
123
- /**
124
- * @internal
125
- */
126
- #openPopup = () => {
127
- if (!this.open) {
128
- this.#openedByKeyboard = false;
129
- _microsoft_fast_element.Updates.enqueue(() => this.open = true);
130
- }
131
- };
132
- /**
133
- * @internal
134
- */
135
- #handleAnchorKeydown = (event) => {
136
- /* v8 ignore next -- @preserve */
137
- if (event.key === "Enter" || event.key === " ") {
138
- if (!this.open) {
139
- this.#openedByKeyboard = true;
140
- _microsoft_fast_element.Updates.enqueue(() => this.open = true);
141
- }
142
- event.preventDefault();
143
- }
144
- };
145
51
  };
146
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], SimpleColorPicker.prototype, "placement", void 0);
52
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], SelectableBox.prototype, "checked", void 0);
147
53
  require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
148
- attribute: "swatches-per-row",
149
- mode: "fromView",
150
- converter: _microsoft_fast_element.nullableNumberConverter
151
- })], SimpleColorPicker.prototype, "swatchesPerRow", void 0);
54
+ attribute: "clickable-box",
55
+ mode: "boolean"
56
+ })], SelectableBox.prototype, "clickableBox", void 0);
57
+ require_decorate.__decorate([_microsoft_fast_element.attr], SelectableBox.prototype, "connotation", void 0);
58
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "control-type" })], SelectableBox.prototype, "controlType", void 0);
59
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
60
+ attribute: "control-placement",
61
+ mode: "fromView"
62
+ })], SelectableBox.prototype, "controlPlacement", void 0);
63
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], SelectableBox.prototype, "tight", void 0);
64
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], SelectableBox.prototype, "disabled", void 0);
152
65
  //#endregion
153
- //#region src/lib/simple-color-picker/simple-color-picker.template.ts
154
- var getClasses = (_) => (0, _microsoft_fast_web_utilities.classNames)("control");
155
- var SimpleColorPickerTemplate = (context) => {
156
- const popupTag = context.tagFor(require_definition$1.Popup);
157
- const iconTag = context.tagFor(require_definition.Icon);
158
- const tooltipTag = context.tagFor(require_definition$2.Tooltip);
159
- return _microsoft_fast_element.html`
160
- ${require_anchored.anchorSlotTemplateFactory()}
161
- <${popupTag}
66
+ //#region src/lib/selectable-box/selectable-box.template.ts
67
+ var getClasses = ({ connotation, tight, checked, clickableBox, controlPlacement, disabled }) => (0, _microsoft_fast_web_utilities.classNames)("base", [`connotation-${connotation}`, Boolean(connotation)], ["tight", tight], ["selected", checked], ["clickable", clickableBox], ["readonly", !clickableBox], [`control-placement-${controlPlacement}`, Boolean(controlPlacement)], ["disabled", disabled]);
68
+ function handleControlChange(x) {
69
+ if (!x.clickableBox) x._handleCheckedChange();
70
+ }
71
+ function checkbox(context) {
72
+ const checkboxTag = context.tagFor(require_definition.Checkbox);
73
+ return _microsoft_fast_element.html`${(0, _microsoft_fast_element.when)((x) => x.controlType !== "radio", _microsoft_fast_element.html`
74
+ <${checkboxTag}
75
+ ${require_delegates_aria.delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
76
+ @change="${(x) => handleControlChange(x)}"
77
+ class="control checkbox ${(x) => x.controlPlacement}"
78
+ connotation="${(x) => x.connotation === "cta" ? require_enums.Connotation.CTA : require_enums.Connotation.Accent}"
79
+ :checked="${(x) => x.checked}"
80
+ ?disabled="${(x) => x.disabled}"
81
+ inert="${(x) => x.clickableBox ? true : null}"
82
+ ></${checkboxTag}>`)} `;
83
+ }
84
+ function radio(context) {
85
+ const radioTag = context.tagFor(require_definition$1.Radio);
86
+ return _microsoft_fast_element.html`${(0, _microsoft_fast_element.when)((x) => x.controlType === "radio", _microsoft_fast_element.html`
87
+ <${radioTag}
88
+ ${require_delegates_aria.delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
89
+ @change="${(x) => handleControlChange(x)}"
90
+ class="control radio ${(x) => x.controlPlacement}"
91
+ connotation="${(x) => x.connotation === "cta" ? require_enums.Connotation.CTA : require_enums.Connotation.Accent}"
92
+ :checked="${(x) => x.checked}"
93
+ ?disabled="${(x) => x.disabled}"
94
+ inert="${(x) => x.clickableBox ? true : null}"
95
+ ></${radioTag}>`)} `;
96
+ }
97
+ var SelectableBoxTemplate = (context) => {
98
+ return _microsoft_fast_element.html`<template>
99
+ <div
162
100
  class="${getClasses}"
163
- :anchor="${(x) => x._anchorEl}"
164
- :open="${(x) => x.open}"
165
- placement="${(x) => x.placement}"
166
- offset="4"
167
- @keydown="${(x, { event }) => {
168
- if (x.open && require_dialog.handleEscapeKeyAndStopPropogation(event)) return false;
169
- return true;
170
- }}"
101
+ tabindex="${(x) => x.clickableBox && !x.disabled ? "0" : null}"
102
+ ${require_delegates_aria.delegateAria({
103
+ role: (x) => x.clickableBox ? "button" : null,
104
+ ariaPressed: (x) => x.clickableBox ? x.checked ? "true" : "false" : null,
105
+ ariaLabel: (x) => x.clickableBox ? x.ariaLabel : null,
106
+ ariaDisabled: (x) => x.clickableBox && x.disabled ? "true" : null
107
+ })}
108
+ @keydown="${(x, c) => x._handleKeydown(c.event)}"
109
+ @click="${(x) => x.clickableBox ? x._handleCheckedChange() : null}"
171
110
  >
172
- <div class="palette" role="grid"
173
- aria-rowcount="${(x) => Math.ceil(x.swatches.length / x._getRowLength())}"
174
- aria-colcount="${(x) => x._getRowLength()}"
175
- style="--swatches-per-row: ${(x) => x._getRowLength()};"
176
- aria-label="${(x) => x.locale.simpleColorPicker.colorPaletteLabel}">
177
- ${(0, _microsoft_fast_element.repeat)((x) => x.swatches, (x) => x._renderColorSwatch(iconTag, tooltipTag), { positioning: true })}
178
- </div>
179
- </${popupTag}>
180
- `;
111
+ ${checkbox(context)} ${radio(context)}
112
+ <slot></slot>
113
+ </div>
114
+ </template>`;
181
115
  };
182
116
  //#endregion
183
- //#region src/lib/simple-color-picker/definition.ts
184
- var simpleColorPickerDefinition = require_vivid_element.defineVividComponent("simple-color-picker", SimpleColorPicker, SimpleColorPickerTemplate, [
185
- require_definition$1.popupDefinition,
186
- require_definition.iconDefinition,
187
- require_definition$2.tooltipDefinition
188
- ], { styles: simple_color_picker_default });
117
+ //#region src/lib/selectable-box/definition.ts
118
+ /**
119
+ * @internal
120
+ */
121
+ var selectableBoxDefinition = require_vivid_element.defineVividComponent("selectable-box", SelectableBox, SelectableBoxTemplate, [require_definition.checkboxDefinition, require_definition$1.radioDefinition], {
122
+ styles: selectable_box_default,
123
+ shadowOptions: { delegatesFocus: true }
124
+ });
189
125
  /**
190
- * Registers the simple-color-picker element with the design system.
126
+ * Registers the selectable-box element with the design system.
191
127
  *
192
128
  * @param prefix - the prefix to use for the component name
193
129
  */
194
- var registerSimpleColorPicker = require_vivid_element.createRegisterFunction(simpleColorPickerDefinition);
130
+ var registerSelectableBox = require_vivid_element.createRegisterFunction(selectableBoxDefinition);
195
131
  //#endregion
196
- Object.defineProperty(exports, "SimpleColorPicker", {
132
+ Object.defineProperty(exports, "SelectableBox", {
197
133
  enumerable: true,
198
134
  get: function() {
199
- return SimpleColorPicker;
135
+ return SelectableBox;
200
136
  }
201
137
  });
202
- Object.defineProperty(exports, "registerSimpleColorPicker", {
138
+ Object.defineProperty(exports, "registerSelectableBox", {
203
139
  enumerable: true,
204
140
  get: function() {
205
- return registerSimpleColorPicker;
141
+ return registerSelectableBox;
206
142
  }
207
143
  });
208
- Object.defineProperty(exports, "simpleColorPickerDefinition", {
144
+ Object.defineProperty(exports, "selectableBoxDefinition", {
209
145
  enumerable: true,
210
146
  get: function() {
211
- return simpleColorPickerDefinition;
147
+ return selectableBoxDefinition;
212
148
  }
213
149
  });
@@ -1,195 +1,131 @@
1
1
  import { o as defineVividComponent, s as createRegisterFunction, t as VividElement } from "./vivid-element.js";
2
- import { r as Icon, t as iconDefinition } from "./definition2.js";
3
2
  import { t as __decorate } from "./decorate.js";
4
- import { t as handleEscapeKeyAndStopPropogation } from "./dialog.js";
5
- import { i as Popup, t as popupDefinition } from "./definition10.js";
6
- import { n as anchorSlotTemplateFactory, t as Anchored } from "./anchored.js";
7
- import { t as BaseColorPicker } from "./base-color-picker.js";
8
- import { n as tooltipDefinition, r as Tooltip } from "./definition26.js";
9
- import { Updates, attr, html, nullableNumberConverter, repeat } from "@microsoft/fast-element";
3
+ import { n as delegateAria, t as DelegatesAria } from "./delegates-aria.js";
4
+ import { r as Connotation } from "./enums.js";
5
+ import { r as Checkbox, t as checkboxDefinition } from "./definition23.js";
6
+ import { r as Radio, t as radioDefinition } from "./definition55.js";
7
+ import { attr, html, when } from "@microsoft/fast-element";
10
8
  import { classNames } from "@microsoft/fast-web-utilities";
11
- //#region src/lib/simple-color-picker/simple-color-picker.scss?inline
12
- var simple_color_picker_default = ".palette{grid-template-columns:repeat(var(--swatches-per-row,7), var(--_color-swatch-size,24px));display:grid}.swatch{background-color:var(--swatch-color);block-size:var(--_color-swatch-size,24px);color:var(--vvd-color-canvas);cursor:pointer;inline-size:var(--_color-swatch-size,24px);border-radius:4px;padding:0;position:relative}.swatch:not(.contrast){border:none}.swatch.contrast{border:1px solid var(--vvd-color-neutral-400);color:var(--vvd-color-canvas-text)}.swatch:focus-visible{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:none;outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px));--focus-stroke-gap-color:transparent;--focus-inset:-3px}:host :host{display:var(--_popup-display,inline)}:host :host([slotted-anchor]){--_popup-display:contents}.palette{padding:var(--_color-palette-spacing,16px);gap:var(--_color-palette-gap,12px)}::part(popup-base){block-size:max-content;max-block-size:100vh;inline-size:max-content;max-inline-size:100vw;min-block-size:var(--_color-swatch-size,24px);min-inline-size:var(--_color-swatch-size,24px)}";
9
+ //#region src/lib/selectable-box/selectable-box.scss?inline
10
+ var selectable_box_default = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all:var(--vvd-selectable-box-cta-firm-all,var(--vvd-color-cta-600));--_connotation-color-pale:var(--vvd-selectable-box-cta-pale,var(--vvd-color-cta-300));--_connotation-color-fierce:var(--vvd-selectable-box-cta-fierce,var(--vvd-color-cta-700));--_connotation-color-faint:var(--vvd-selectable-box-cta-faint,var(--vvd-color-cta-50));--_connotation-color-soft:var(--vvd-selectable-box-cta-soft,var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all:var(--vvd-selectable-box-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-pale:var(--vvd-selectable-box-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-selectable-box-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-selectable-box-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-selectable-box-accent-soft,var(--vvd-color-neutral-100))}.base{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}.base:disabled,.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.base{--control-offset:calc(var(--selectable-box-spacing,16px) + 36px);padding:var(--selectable-box-spacing,16px);border:1px solid var(--_appearance-color-outline);background-color:var(--_appearance-color-fill);text-align:start;border-radius:8px;inline-size:100%;position:relative}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base: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))}.base.tight{min-height:calc(var(--selectable-box-spacing,16px) * 2 + 22px);padding:0;overflow:hidden}.base.selected{background-color:var(--selectable-box-checked-bg,var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing,16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing,16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing,16px)}";
13
11
  //#endregion
14
- //#region src/lib/simple-color-picker/simple-color-picker.ts
12
+ //#region src/lib/selectable-box/selectable-box.ts
15
13
  /**
16
14
  * @public
17
- * @component simple-color-picker
18
- * @slot anchor - Slot for attaching the toggle button
19
- * @event {CustomEvent<undefined>} change - Fires when the value changes
20
- * @vueModel modelValue value input `event.currentTarget.value`
15
+ * @component selectable-box
16
+ * @slot default - Slot for box's content.
17
+ * @event {CustomEvent<undefined>} change - Fired when the checked state changes
18
+ * @testAction check check #control
19
+ * @testAction uncheck uncheck #control
20
+ * @testQuery checked checked true
21
+ * @testQuery unchecked checked false
22
+ * @testRef control nestedShadow [data-vvd-component].control div.control
21
23
  */
22
- var SimpleColorPicker = class extends Anchored(BaseColorPicker(VividElement)) {
24
+ var SelectableBox = class extends DelegatesAria(VividElement) {
23
25
  constructor(..._args) {
24
26
  super(..._args);
25
- this.placement = "top-start";
26
- this.swatchesPerRow = 7;
27
- this._closeOnClickOutside = (e) => {
28
- const clickedOutside = !this.contains(e.target);
29
- const clickedOnAnchor = this._anchorEl?.contains(e.target);
30
- /* v8 ignore else -- @preserve */
31
- if (clickedOutside || clickedOnAnchor) this.open = false;
32
- };
33
- this._closeOnEscape = (e) => {
34
- /* v8 ignore else -- @preserve */
35
- if (e.key === "Escape") this.open = false;
36
- };
27
+ this.checked = false;
28
+ this.clickableBox = false;
29
+ this.controlPlacement = "end-stacked";
30
+ this.tight = false;
31
+ this.disabled = false;
37
32
  }
38
33
  /**
39
34
  * @internal
40
35
  */
41
- openChanged(_oldValue, newValue) {
42
- this._updateListeners();
43
- if (this._anchorEl) this.#updateAnchor(this._anchorEl);
44
- if (newValue && this.isConnected) requestAnimationFrame(() => {
45
- this._refreshCanvasColor();
46
- if (this.#openedByKeyboard) {
47
- const selectedIndex = this.swatches.findIndex((swatch) => swatch.value === this.value);
48
- const targetIndex = selectedIndex >= 0 ? selectedIndex : 0;
49
- this._focusSwatchByIndex(targetIndex);
50
- }
51
- this.#openedByKeyboard = false;
52
- });
36
+ _handleCheckedChange() {
37
+ if (this.disabled) return;
38
+ if (this.controlType === "radio" && this.checked) return;
39
+ this.checked = !this.checked;
40
+ if (this.clickableBox) this.$emit("change");
53
41
  }
54
42
  /**
55
43
  * @internal
56
44
  */
57
- _getRowLength() {
58
- return this.swatchesPerRow;
59
- }
60
- connectedCallback() {
61
- super.connectedCallback();
62
- this._updateListeners();
63
- }
64
- disconnectedCallback() {
65
- super.disconnectedCallback();
66
- this._updateListeners();
67
- }
68
- /**
69
- * @internal
70
- */
71
- _updateListeners() {
72
- document.removeEventListener("click", this._closeOnClickOutside);
73
- document.removeEventListener("keydown", this._closeOnEscape);
74
- if (this.open && this.isConnected) {
75
- document.addEventListener("click", this._closeOnClickOutside);
76
- document.addEventListener("keydown", this._closeOnEscape);
77
- }
78
- }
79
- /**
80
- * @internal
81
- */
82
- _getFocusReturnEl() {
83
- return this._anchorEl ?? null;
84
- }
85
- /**
86
- * @internal
87
- */
88
- _anchorElChanged(oldValue, newValue) {
89
- if (oldValue) this.#cleanupAnchor(oldValue);
90
- if (newValue) this.#setupAnchor(newValue);
91
- }
92
- /**
93
- * @internal
94
- */
95
- #updateAnchor(a) {
96
- a.setAttribute("aria-expanded", this.open.toString());
97
- a.setAttribute("data-expanded", this.open.toString());
98
- }
99
- /**
100
- * @internal
101
- */
102
- #setupAnchor(a) {
103
- this.#updateAnchor(a);
104
- a.addEventListener("click", this.#openPopup, true);
105
- a.addEventListener("keydown", this.#handleAnchorKeydown);
106
- a.setAttribute("aria-haspopup", "true");
107
- }
108
- /**
109
- * @internal
110
- */
111
- #cleanupAnchor(a) {
112
- a.removeEventListener("click", this.#openPopup, true);
113
- a.removeEventListener("keydown", this.#handleAnchorKeydown);
114
- a.removeAttribute("aria-expanded");
115
- a.removeAttribute("data-expanded");
116
- a.removeAttribute("aria-haspopup");
45
+ _handleKeydown(event) {
46
+ if (this.disabled) return true;
47
+ if ((event.code === "Space" || event.code === "Enter") && this.clickableBox) return this._handleCheckedChange();
48
+ return true;
117
49
  }
118
- /**
119
- * @internal
120
- */
121
- #openedByKeyboard = false;
122
- /**
123
- * @internal
124
- */
125
- #openPopup = () => {
126
- if (!this.open) {
127
- this.#openedByKeyboard = false;
128
- Updates.enqueue(() => this.open = true);
129
- }
130
- };
131
- /**
132
- * @internal
133
- */
134
- #handleAnchorKeydown = (event) => {
135
- /* v8 ignore next -- @preserve */
136
- if (event.key === "Enter" || event.key === " ") {
137
- if (!this.open) {
138
- this.#openedByKeyboard = true;
139
- Updates.enqueue(() => this.open = true);
140
- }
141
- event.preventDefault();
142
- }
143
- };
144
50
  };
145
- __decorate([attr({ mode: "fromView" })], SimpleColorPicker.prototype, "placement", void 0);
51
+ __decorate([attr({ mode: "boolean" })], SelectableBox.prototype, "checked", void 0);
52
+ __decorate([attr({
53
+ attribute: "clickable-box",
54
+ mode: "boolean"
55
+ })], SelectableBox.prototype, "clickableBox", void 0);
56
+ __decorate([attr], SelectableBox.prototype, "connotation", void 0);
57
+ __decorate([attr({ attribute: "control-type" })], SelectableBox.prototype, "controlType", void 0);
146
58
  __decorate([attr({
147
- attribute: "swatches-per-row",
148
- mode: "fromView",
149
- converter: nullableNumberConverter
150
- })], SimpleColorPicker.prototype, "swatchesPerRow", void 0);
59
+ attribute: "control-placement",
60
+ mode: "fromView"
61
+ })], SelectableBox.prototype, "controlPlacement", void 0);
62
+ __decorate([attr({ mode: "boolean" })], SelectableBox.prototype, "tight", void 0);
63
+ __decorate([attr({ mode: "boolean" })], SelectableBox.prototype, "disabled", void 0);
151
64
  //#endregion
152
- //#region src/lib/simple-color-picker/simple-color-picker.template.ts
153
- var getClasses = (_) => classNames("control");
154
- var SimpleColorPickerTemplate = (context) => {
155
- const popupTag = context.tagFor(Popup);
156
- const iconTag = context.tagFor(Icon);
157
- const tooltipTag = context.tagFor(Tooltip);
158
- return html`
159
- ${anchorSlotTemplateFactory()}
160
- <${popupTag}
65
+ //#region src/lib/selectable-box/selectable-box.template.ts
66
+ var getClasses = ({ connotation, tight, checked, clickableBox, controlPlacement, disabled }) => classNames("base", [`connotation-${connotation}`, Boolean(connotation)], ["tight", tight], ["selected", checked], ["clickable", clickableBox], ["readonly", !clickableBox], [`control-placement-${controlPlacement}`, Boolean(controlPlacement)], ["disabled", disabled]);
67
+ function handleControlChange(x) {
68
+ if (!x.clickableBox) x._handleCheckedChange();
69
+ }
70
+ function checkbox(context) {
71
+ const checkboxTag = context.tagFor(Checkbox);
72
+ return html`${when((x) => x.controlType !== "radio", html`
73
+ <${checkboxTag}
74
+ ${delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
75
+ @change="${(x) => handleControlChange(x)}"
76
+ class="control checkbox ${(x) => x.controlPlacement}"
77
+ connotation="${(x) => x.connotation === "cta" ? Connotation.CTA : Connotation.Accent}"
78
+ :checked="${(x) => x.checked}"
79
+ ?disabled="${(x) => x.disabled}"
80
+ inert="${(x) => x.clickableBox ? true : null}"
81
+ ></${checkboxTag}>`)} `;
82
+ }
83
+ function radio(context) {
84
+ const radioTag = context.tagFor(Radio);
85
+ return html`${when((x) => x.controlType === "radio", html`
86
+ <${radioTag}
87
+ ${delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
88
+ @change="${(x) => handleControlChange(x)}"
89
+ class="control radio ${(x) => x.controlPlacement}"
90
+ connotation="${(x) => x.connotation === "cta" ? Connotation.CTA : Connotation.Accent}"
91
+ :checked="${(x) => x.checked}"
92
+ ?disabled="${(x) => x.disabled}"
93
+ inert="${(x) => x.clickableBox ? true : null}"
94
+ ></${radioTag}>`)} `;
95
+ }
96
+ var SelectableBoxTemplate = (context) => {
97
+ return html`<template>
98
+ <div
161
99
  class="${getClasses}"
162
- :anchor="${(x) => x._anchorEl}"
163
- :open="${(x) => x.open}"
164
- placement="${(x) => x.placement}"
165
- offset="4"
166
- @keydown="${(x, { event }) => {
167
- if (x.open && handleEscapeKeyAndStopPropogation(event)) return false;
168
- return true;
169
- }}"
100
+ tabindex="${(x) => x.clickableBox && !x.disabled ? "0" : null}"
101
+ ${delegateAria({
102
+ role: (x) => x.clickableBox ? "button" : null,
103
+ ariaPressed: (x) => x.clickableBox ? x.checked ? "true" : "false" : null,
104
+ ariaLabel: (x) => x.clickableBox ? x.ariaLabel : null,
105
+ ariaDisabled: (x) => x.clickableBox && x.disabled ? "true" : null
106
+ })}
107
+ @keydown="${(x, c) => x._handleKeydown(c.event)}"
108
+ @click="${(x) => x.clickableBox ? x._handleCheckedChange() : null}"
170
109
  >
171
- <div class="palette" role="grid"
172
- aria-rowcount="${(x) => Math.ceil(x.swatches.length / x._getRowLength())}"
173
- aria-colcount="${(x) => x._getRowLength()}"
174
- style="--swatches-per-row: ${(x) => x._getRowLength()};"
175
- aria-label="${(x) => x.locale.simpleColorPicker.colorPaletteLabel}">
176
- ${repeat((x) => x.swatches, (x) => x._renderColorSwatch(iconTag, tooltipTag), { positioning: true })}
177
- </div>
178
- </${popupTag}>
179
- `;
110
+ ${checkbox(context)} ${radio(context)}
111
+ <slot></slot>
112
+ </div>
113
+ </template>`;
180
114
  };
181
115
  //#endregion
182
- //#region src/lib/simple-color-picker/definition.ts
183
- var simpleColorPickerDefinition = defineVividComponent("simple-color-picker", SimpleColorPicker, SimpleColorPickerTemplate, [
184
- popupDefinition,
185
- iconDefinition,
186
- tooltipDefinition
187
- ], { styles: simple_color_picker_default });
116
+ //#region src/lib/selectable-box/definition.ts
117
+ /**
118
+ * @internal
119
+ */
120
+ var selectableBoxDefinition = defineVividComponent("selectable-box", SelectableBox, SelectableBoxTemplate, [checkboxDefinition, radioDefinition], {
121
+ styles: selectable_box_default,
122
+ shadowOptions: { delegatesFocus: true }
123
+ });
188
124
  /**
189
- * Registers the simple-color-picker element with the design system.
125
+ * Registers the selectable-box element with the design system.
190
126
  *
191
127
  * @param prefix - the prefix to use for the component name
192
128
  */
193
- var registerSimpleColorPicker = createRegisterFunction(simpleColorPickerDefinition);
129
+ var registerSelectableBox = createRegisterFunction(selectableBoxDefinition);
194
130
  //#endregion
195
- export { simpleColorPickerDefinition as n, SimpleColorPicker as r, registerSimpleColorPicker as t };
131
+ export { selectableBoxDefinition as n, SelectableBox as r, registerSelectableBox as t };