@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
@@ -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_definition$2 = require("./definition27.cjs");
9
- const require_base_color_picker = require("./base-color-picker.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,@lazy:change `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 { n as tooltipDefinition, r as Tooltip } from "./definition27.js";
8
- import { t as BaseColorPicker } from "./base-color-picker.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,@lazy:change `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 };