@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,337 +1,377 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
- const require_definition = require("./definition2.cjs");
3
+ const require_definition = require("./definition.cjs");
4
+ const require_definition$1 = require("./definition2.cjs");
4
5
  const require_decorate = require("./decorate.cjs");
6
+ const require_affix = require("./affix.cjs");
5
7
  const require_delegates_aria = require("./delegates-aria.cjs");
8
+ const require_form_associated = require("./form-associated.cjs");
9
+ const require_form_element = require("./form-element.cjs");
10
+ const require_with_success_text = require("./with-success-text.cjs");
11
+ const require_with_error_text = require("./with-error-text.cjs");
12
+ const require_with_contextual_help = require("./with-contextual-help.cjs");
6
13
  const require_localized = require("./localized.cjs");
7
- const require_definition$1 = require("./definition7.cjs");
8
- const require_definition$2 = require("./definition8.cjs");
14
+ const require_definition$2 = require("./definition7.cjs");
15
+ const require_enums = require("./enums.cjs");
16
+ const require_divider = require("./divider.cjs");
17
+ const require_mixins = require("./mixins.cjs");
18
+ const require_definition$3 = require("./definition25.cjs");
19
+ const require_definition$4 = require("./definition36.cjs");
9
20
  let _microsoft_fast_element = require("@microsoft/fast-element");
10
21
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
11
- let _floating_ui_dom = require("@floating-ui/dom");
12
- //#region src/lib/popover/popover.scss?inline
13
- var popover_default = ":host{display:inline-block}.base{white-space:initial;--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.base ::-webkit-scrollbar{width:4px}.base ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.base ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.base{border:none;border-radius:8px;inline-size:max-content;min-inline-size:fit-content;margin:0;padding:0;position:fixed;overflow:visible}.base:focus-visible{outline:none}.base::backdrop{background-color:var(--popover-backdrop-bg,transparent)}.control{padding:var(--popover-padding,24px);border-radius:inherit;background:var(--vvd-color-surface-4dp);color:var(--vvd-color-canvas-text);gap:var(--popover-gap,24px);flex-direction:column;display:flex}.control:not(.open){display:none}.control.condensed{--popover-padding:12px;--popover-gap:12px}.control.manual{padding-block-start:40px}.arrow{z-index:-1;background:var(--vvd-color-surface-4dp);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.dismiss-button{position:absolute;inset-block-start:4px;inset-inline-end:4px}";
22
+ //#region src/lib/number-field/number-field.scss?inline
23
+ var number_field_default = ".label-wrapper{align-items:center;gap:var(--label-wrapper-gap,4px);flex-direction:row;display:flex}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 auto}:host{display:inline-block}.base{--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-canvas);--_appearance-color-outline:var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.base:disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--vvd-color-canvas-text);--_appearance-color-fill:var(--vvd-color-neutral-200);--_appearance-color-outline:var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:var(--vvd-color-neutral-600);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-alert-50);--_appearance-color-outline:transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text:notSet;--_appearance-color-fill:var(--vvd-color-success-50);--_appearance-color-outline:transparent}.base{--_connotation-color-primary:var(--vvd-text-field-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-text-field-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-text-field-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-intermediate:var(--vvd-text-field-accent-intermediate,var(--vvd-color-neutral-500));--_connotation-color-firm:var(--vvd-text-field-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-fierce:var(--vvd-text-field-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-text-field-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-text-field-accent-soft,var(--vvd-color-neutral-100));--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2.5);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));--_text-field-border-radius:8px;--_text-field-pill-border-radius:24px;grid-template-columns:min-content 1fr max-content;align-items:center;gap:4px;width:100%;display:inline-grid}.base.size-condensed{--_text-field-gutter-start:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-gutter-end:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)) / 2);--_text-field-icon-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8)) / 2);--_text-field-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));--_text-field-border-radius:4px}@supports (user-select:none){.base{user-select:none}}.base:not(.disabled){--_low-ink-color:var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color:var(--_appearance-color-text)}.label:not(slot),.label::slotted(label){font:var(--vvd-typography-base);grid-area:1/1/auto/4;box-sizing:initial!important;padding:initial!important;margin:initial!important;color:var(--vvd-color-canvas-text)!important}.char-count+.label:not(slot),.char-count+.label::slotted(label){grid-column:1/3}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base)}.label-wrapper{grid-area:1/1/auto/4}.char-count+.label-wrapper{grid-column:1/3}.fieldset{background-color:var(--_appearance-color-fill);font:var(--vvd-typography-base);grid-column:1/4;align-items:center;padding-block:0;transition:color .2s,background-color .2s;display:flex;position:relative}.fieldset:after{border-radius:inherit;block-size:100%;box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);content:\"\";pointer-events:none;inline-size:100%;transition:box-shadow .2s;display:block;position:absolute}.fieldset:focus-visible{outline:none}.base>.fieldset{block-size:var(--_text-field-block-size)}.base:not(.shape-pill) .fieldset{border-radius:var(--_text-field-border-radius)}.base.shape-pill .fieldset{border-radius:var(--_text-field-pill-border-radius)}.wrapper{border-radius:inherit;block-size:100%;inline-size:100%}.control{border-radius:inherit;text-align:start}.control:not(slot),.control::slotted(input){font:inherit;text-align:inherit;outline:#0000;box-sizing:border-box!important;border-radius:inherit!important;width:100%!important;margin:initial!important;appearance:none!important;block-size:100%!important;color:inherit!important;padding-block:0!important;padding-inline:var(--_text-field-gutter-start) var(--_text-field-gutter-end)!important;background-color:#0000!important;border:0!important}.control:not(slot):disabled,.control::slotted(input:disabled){cursor:not-allowed!important;opacity:1!important;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot)::placeholder{opacity:1!important;-webkit-text-fill-color:var(--_low-ink-color)!important}.control::slotted(input:-webkit-autofill){-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.control:not(slot):-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--_appearance-color-fill) inset;-webkit-text-fill-color:var(--_appearance-color-text)!important}.has-icon .control:not(slot),.has-icon .control::slotted(input){padding-inline-start:calc(var(--_text-field-icon-size) + var(--_text-field-gutter-start) * 2)!important}.icon{z-index:1;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);line-height:1;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + var(--_text-field-gutter-start));transform:translateY(-50%)}.leading-items-wrapper{position:relative}.base.no-leading .leading-items-wrapper{display:none}.action-items-wrapper{margin-inline-end:4px}.base:not(.action-items) .action-items-wrapper{display:none}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.wrapper .control:focus-within):after{--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))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .wrapper:focus-within:after{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));--focus-stroke-gap-color:transparent;z-index:1;border-radius:inherit;content:\"\";pointer-events:none;display:block;position:absolute;inset:0}}:host([internal-part]) .fieldset{font:var(--vvd-typography-heading-4);background-color:#0000;line-height:1.1}:host([internal-part]) .fieldset:not(:focus-within):after{block-size:1px;inset-block-end:0}@supports selector(:has(*)){:host([internal-part]) .fieldset:has(.action-items-wrapper:focus-within):after{block-size:1px;inset-block-end:0}}:host([internal-part]) .control{text-align:center}slot[name=_mirrored-helper-text]{display:none}.base{--_text-field-gutter-end:70px}.control::-webkit-outer-spin-button{appearance:none}.control::-webkit-inner-spin-button{appearance:none}.control-buttons{z-index:1;display:flex;position:absolute;right:3px}.readonly .control-buttons,.disabled .control-buttons{pointer-events:none}.control-buttons .divider{margin-block:8px}.control-buttons>*{flex-shrink:0}";
14
24
  //#endregion
15
- //#region src/lib/popover/popover.ts
25
+ //#region src/lib/number-field/number-field.ts
26
+ var STEP_DIRECTION = {
27
+ up: 1,
28
+ down: -1
29
+ };
30
+ function makeStep(element, direction) {
31
+ const value = parseFloat(element.value);
32
+ const stepUpValue = !isNaN(value) ? value + direction * element.step : element.min > 0 ? element.min : element.max < 0 ? element.max : !element.min ? direction * element.step : 0;
33
+ element.value = Number(stepUpValue.toFixed(12)).toString();
34
+ element._updatedValueAnnouncement = element.locale.numberField.updatedValueAnnouncement(element._presentationValue);
35
+ }
36
+ var buildNumberPatterns = (decimalSeparator) => {
37
+ const ds = decimalSeparator.source;
38
+ return {
39
+ invalidCharacters: new RegExp(`[^0-9\\-+e${ds}]`, "g"),
40
+ additionalDecimalSeparators: new RegExp(`(?<=${ds}.*)${ds}`, "g"),
41
+ trailingDecimalSeparator: new RegExp(`${ds}$`),
42
+ decimalSeparator
43
+ };
44
+ };
45
+ var numberPatternsWithPeriod = buildNumberPatterns(/\./);
46
+ var numberPatternsWithComma = buildNumberPatterns(/,/);
47
+ var validNumber = /^-?((\d*\.\d+)|(\d+))$/;
16
48
  /**
17
49
  * @public
18
- * @component popover
19
- * @slot - Default slot for the popover content.
20
- * @slot anchor - Slot for the trigger element.
21
- * @slot footer - Use the footer slot in order to add action buttons or other contents to the bottom of the dialog.
22
- * @event {CustomEvent} open - Fired when the popover opens.
23
- * @event {CustomEvent} close - Fired when the popover closes.
50
+ * @component number-field
51
+ * @slot helper-text - Describes how to use the number-field. Alternative to the `helper-text` attribute.
52
+ * @event {CustomEvent<undefined>} input - Fires a custom 'input' event when the value has changed
53
+ * @event {CustomEvent<undefined>} change - Fires a custom 'change' event when the value has changed
54
+ * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
55
+ * @vueModel valueAsNumber valueAsNumber input,@lazy:change `event.currentTarget.valueAsNumber`
56
+ * @testAction fill fill #control
57
+ * @testAction clear clear #control
58
+ * @testAction clickIncrement clickButton #incrementButton
59
+ * @testAction clickDecrement clickButton #decrementButton
60
+ * @testQuery valueAsNumber valueAsNumber
61
+ * @testRef control shadow input.control
62
+ * @testRef incrementButton shadowButton #add
63
+ * @testRef decrementButton shadowButton #subtract
24
64
  */
25
- var Popover = class extends require_localized.Localized(require_delegates_aria.DelegatesAria(require_vivid_element.VividElement)) {
65
+ var NumberField = class extends require_with_contextual_help.WithContextualHelp(require_mixins.WithFeedback(require_with_error_text.WithErrorText(require_with_success_text.WithSuccessText(require_form_element.FormElement(require_affix.AffixIcon(require_localized.Localized(require_delegates_aria.DelegatesAria(require_form_associated.FormAssociated(require_vivid_element.VividElement))))))))) {
26
66
  constructor(..._args) {
27
67
  super(..._args);
28
- this.placement = "bottom";
29
- this.manual = false;
30
- this.layout = "default";
31
- this.offset = 8;
32
- this.alternate = false;
33
- this.dismissButtonAriaLabel = null;
34
- this.arrow = false;
35
- this.open = false;
68
+ this.proxy = document.createElement("input");
69
+ this.readOnly = false;
70
+ this.autofocus = false;
71
+ this.step = 1;
72
+ this.isUserInput = false;
73
+ this._presentationValue = "";
74
+ this._updatedValueAnnouncement = "";
75
+ this.incrementButtonAriaLabel = null;
76
+ this.decrementButtonAriaLabel = null;
36
77
  }
37
- /**
38
- * @internal
39
- */
40
- placementChanged() {
41
- this.#updateAutoUpdate();
78
+ stepChanged(_, next) {
79
+ this.proxy.setAttribute("step", Number.isFinite(next) ? next.toString() : "");
42
80
  }
43
81
  /**
82
+ * Ensures that the max is greater than the min and that the value
83
+ * is less than the max
84
+ *
44
85
  * @internal
45
86
  */
46
- arrowChanged() {
47
- this.#updateAutoUpdate();
87
+ maxChanged(_, next) {
88
+ this.max = Math.max(next, this.min ?? next);
89
+ this.proxy.max = this.max.toString();
90
+ this.validate();
48
91
  }
49
92
  /**
93
+ * Ensures that the min is less than the max and that the value
94
+ * is greater than the min
95
+ *
50
96
  * @internal
51
97
  */
52
- openChanged(_oldValue, newValue) {
53
- if (!this._popoverEl) return;
54
- const isOpen = this._popoverEl.matches(":popover-open");
55
- if (newValue && !isOpen) this._popoverEl.showPopover();
56
- else if (!newValue && isOpen) this._popoverEl.hidePopover();
57
- this.#updateAutoUpdate();
98
+ minChanged(_, next) {
99
+ this.min = Math.min(next, this.max ?? next);
100
+ this.proxy.min = this.min.toString();
101
+ this.validate();
58
102
  }
59
103
  /**
60
- * @internal
104
+ * The value property, typed as a number.
105
+ *
106
+ * @public
61
107
  */
62
- anchorChanged() {
63
- this.#updateAnchor();
108
+ get valueAsNumber() {
109
+ return parseFloat(this.value);
64
110
  }
65
- /**
66
- * @internal
67
- */
68
- _slottedAnchorChanged() {
69
- this.#updateAnchor();
111
+ set valueAsNumber(next) {
112
+ this.value = next.toString();
70
113
  }
71
114
  /**
72
115
  * @internal
73
116
  */
74
- #currentAnchor = null;
75
- /**
76
- * @internal
77
- */
78
- #updateAnchor() {
79
- if (!this._popoverEl) return;
80
- const newAnchor = this.anchor || this._slottedAnchor?.[0] || null;
81
- if (this.#currentAnchor === newAnchor) return;
82
- if (this.#currentAnchor) this.#unbindTrigger(this.#currentAnchor);
83
- this.#currentAnchor = newAnchor;
84
- if (this.#currentAnchor && this._popoverEl) {
85
- this.#bindTrigger(this.#currentAnchor);
86
- this.#updateAutoUpdate();
117
+ valueChanged(previous, next) {
118
+ this.value = validNumber.test(next) ? next : "";
119
+ if (next !== this.value) return;
120
+ if (this.control && !this.isUserInput) this._presentationValue = this.#valueToPresentationValue(this.value);
121
+ super.valueChanged(previous, this.value);
122
+ if (previous !== void 0 && !this.isUserInput) {
123
+ this.$emit("input");
124
+ this.$emit("change");
87
125
  }
88
126
  }
89
127
  /**
90
128
  * @internal
91
129
  */
92
- #bindTrigger(anchor) {
93
- anchor.setAttribute("aria-haspopup", "dialog");
94
- if (anchor instanceof HTMLButtonElement || anchor instanceof HTMLInputElement) anchor.popoverTargetElement = this._popoverEl;
95
- else anchor.addEventListener("click", this.#manualToggle);
130
+ get _numberPatterns() {
131
+ return this.locale.common.useCommaAsDecimalSeparator ? numberPatternsWithComma : numberPatternsWithPeriod;
96
132
  }
97
- /**
98
- * @internal
99
- */
100
- #unbindTrigger(anchor) {
101
- anchor.removeAttribute("aria-haspopup");
102
- if (anchor instanceof HTMLButtonElement || anchor instanceof HTMLInputElement) anchor.popoverTargetElement = null;
103
- else anchor.removeEventListener("click", this.#manualToggle);
133
+ #valueToPresentationValue(value) {
134
+ return value.replace(".", this.locale.common.useCommaAsDecimalSeparator ? "," : ".");
104
135
  }
105
- /**
106
- * @internal
107
- */
108
- #manualToggle = () => {
109
- this._popoverEl.togglePopover();
110
- };
111
- /**
112
- * @internal
113
- */
114
- get #middleware() {
115
- let middleware = [
116
- (0, _floating_ui_dom.inline)(),
117
- (0, _floating_ui_dom.flip)(),
118
- (0, _floating_ui_dom.shift)(),
119
- (0, _floating_ui_dom.hide)()
120
- ];
121
- /* v8 ignore next -- @preserve */
122
- let offsetValue = this.offset ?? 0;
123
- if (this.arrow && this._arrowEl) {
124
- offsetValue = 12;
125
- middleware = [...middleware, (0, _floating_ui_dom.arrow)({
126
- element: this._arrowEl,
127
- padding: 10
128
- })];
129
- }
130
- /* v8 ignore else -- @preserve */
131
- if (offsetValue > 0) middleware.unshift((0, _floating_ui_dom.offset)(offsetValue));
132
- return middleware;
136
+ #inputToPresentationValue(input) {
137
+ return input.replace(this._numberPatterns.invalidCharacters, "").replace(this._numberPatterns.additionalDecimalSeparators, "");
138
+ }
139
+ #presentationValueToValue(presentationValue) {
140
+ const candidate = presentationValue.replace(this._numberPatterns.trailingDecimalSeparator, "").replace(this._numberPatterns.decimalSeparator, ".");
141
+ return validNumber.test(candidate) ? candidate : "";
142
+ }
143
+ /** {@inheritDoc (FormAssociated:interface).validate} */
144
+ validate() {
145
+ super.validate(this.control);
133
146
  }
134
147
  /**
135
- * @internal
136
- */
137
- #cleanup;
138
- /**
139
- * @internal
148
+ * Increments the value using the step value
149
+ *
150
+ * @public
140
151
  */
141
- #updateAutoUpdate() {
142
- this.#cleanup?.();
143
- if (this.open && this.#currentAnchor && this._popoverEl) this.#cleanup = (0, _floating_ui_dom.autoUpdate)(this.#currentAnchor, this._popoverEl, this.#autoUpdateCallback);
152
+ stepUp() {
153
+ makeStep(this, STEP_DIRECTION.up);
144
154
  }
145
155
  /**
146
- * Tracks the promise of the last position update.
147
- * @internal
156
+ * Decrements the value using the step value
157
+ *
158
+ * @public
148
159
  */
149
- #lastPositionUpdate;
160
+ stepDown() {
161
+ makeStep(this, STEP_DIRECTION.down);
162
+ }
150
163
  /**
164
+ * Sets up the initial state of the number field
151
165
  * @internal
152
166
  */
153
- #autoUpdateCallback = () => {
154
- this.#lastPositionUpdate = this.updatePosition();
155
- };
167
+ connectedCallback() {
168
+ super.connectedCallback();
169
+ this.proxy.setAttribute("type", "number");
170
+ this.validate();
171
+ this._presentationValue = this.#valueToPresentationValue(this.value);
172
+ if (this.autofocus) _microsoft_fast_element.Updates.enqueue(() => {
173
+ this.focus();
174
+ });
175
+ }
156
176
  /**
157
- * Updates the position of the popover
177
+ * Selects all the text in the number field
178
+ *
158
179
  * @public
159
180
  */
160
- async updatePosition() {
161
- /* v8 ignore if -- @preserve */
162
- if (!this.open || !this.#currentAnchor || !this._popoverEl) return;
163
- const positionData = await (0, _floating_ui_dom.computePosition)(this.#currentAnchor, this._popoverEl, {
164
- placement: this.placement,
165
- strategy: "fixed",
166
- middleware: this.#middleware
167
- });
168
- /* v8 ignore if -- @preserve */
169
- if (!this.open) return;
170
- this.#assignPopoverPosition(positionData);
171
- if (this.arrow && this._arrowEl) this.#assignArrowPosition(positionData);
181
+ select() {
182
+ this.control.select();
183
+ /**
184
+ * The select event does not permeate the shadow DOM boundary.
185
+ * This fn effectively proxies the select event,
186
+ * emitting a `select` event whenever the internal
187
+ * control emits a `select` event
188
+ */
189
+ this.$emit("select");
172
190
  }
173
191
  /**
192
+ * Handles the internal control's `input` event
174
193
  * @internal
175
194
  */
176
- #assignPopoverPosition(data) {
177
- const { x, y } = data;
178
- Object.assign(this._popoverEl.style, {
179
- left: `${x}px`,
180
- top: `${y}px`,
181
- visibility: data.middlewareData.hide?.referenceHidden ? "hidden" : "visible"
182
- });
195
+ handleTextInput() {
196
+ this._presentationValue = this.#inputToPresentationValue(this.control.value);
197
+ if (this.control.value !== this._presentationValue) this.control.value = this._presentationValue;
198
+ this.isUserInput = true;
199
+ this.value = this.#presentationValueToValue(this._presentationValue);
200
+ this.isUserInput = false;
183
201
  }
184
202
  /**
203
+ * Change event handler for inner control.
204
+ * @remarks
205
+ * "Change" events are not `composable` so they will not
206
+ * permeate the shadow DOM boundary. This fn effectively proxies
207
+ * the change event, emitting a `change` event whenever the internal
208
+ * control emits a `change` event
185
209
  * @internal
186
210
  */
187
- #assignArrowPosition(data) {
188
- /* v8 ignore if -- @preserve */
189
- if (!this._arrowEl) return;
190
- const { x: arrowX, y: arrowY } = data.middlewareData.arrow;
191
- const styles = {
192
- left: "calc(100% - 4px)",
193
- right: "-4px",
194
- top: "calc(100% - 4px)",
195
- bottom: "-4px"
196
- };
197
- const staticAxis = data.placement.split("-")[0];
198
- Object.assign(this._arrowEl.style, {
199
- left: arrowX ? `${arrowX}px` : styles[staticAxis],
200
- top: arrowY ? `${arrowY}px` : styles[staticAxis]
201
- });
211
+ handleChange() {
212
+ this.$emit("change");
202
213
  }
203
214
  /**
204
- * Syncs native toggle state (Esc key, light dismiss) back to the 'open' attribute.
215
+ * Handles the internal control's `keydown` event
205
216
  * @internal
206
217
  */
207
- #handleNativeToggle = (e) => {
208
- const isOpen = e.newState ? e.newState === "open" : this._popoverEl.matches(":popover-open");
209
- if (this.open !== isOpen) this.open = isOpen;
210
- this.$emit(isOpen ? "open" : "close", void 0, { bubbles: false });
211
- };
212
- connectedCallback() {
213
- super.connectedCallback();
214
- this.#updateAnchor();
215
- /* v8 ignore else -- @preserve */
216
- if (this._popoverEl) {
217
- this._popoverEl.addEventListener("toggle", this.#handleNativeToggle);
218
- if (this.open && !this._popoverEl.matches(":popover-open")) {
219
- this._popoverEl.showPopover();
220
- this.#updateAutoUpdate();
221
- }
222
- }
223
- }
224
- disconnectedCallback() {
225
- super.disconnectedCallback();
226
- this.#cleanup?.();
227
- if (this.#currentAnchor) {
228
- this.#unbindTrigger(this.#currentAnchor);
229
- this.#currentAnchor = null;
218
+ handleKeyDown(e) {
219
+ switch (e.key) {
220
+ case _microsoft_fast_web_utilities.keyArrowUp:
221
+ this.stepUp();
222
+ return false;
223
+ case _microsoft_fast_web_utilities.keyArrowDown:
224
+ this.stepDown();
225
+ return false;
230
226
  }
231
- /* v8 ignore else -- @preserve */
232
- if (this._popoverEl) this._popoverEl.removeEventListener("toggle", this.#handleNativeToggle);
233
- }
234
- show() {
235
- this.open = true;
236
- return this.#lastPositionUpdate ?? Promise.resolve();
237
- }
238
- hide() {
239
- this.open = false;
240
- }
241
- toggle() {
242
- this.open = !this.open;
227
+ return true;
243
228
  }
244
229
  };
245
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], Popover.prototype, "placement", void 0);
246
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], Popover.prototype, "manual", void 0);
247
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], Popover.prototype, "layout", void 0);
248
230
  require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
249
- attribute: "offset",
250
- mode: "fromView",
251
- converter: _microsoft_fast_element.nullableNumberConverter
252
- })], Popover.prototype, "offset", void 0);
253
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], Popover.prototype, "alternate", void 0);
254
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "dismiss-button-aria-label" })], Popover.prototype, "dismissButtonAriaLabel", void 0);
255
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], Popover.prototype, "arrow", void 0);
256
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], Popover.prototype, "open", void 0);
257
- require_decorate.__decorate([_microsoft_fast_element.observable], Popover.prototype, "anchor", void 0);
258
- require_decorate.__decorate([_microsoft_fast_element.observable], Popover.prototype, "_slottedAnchor", void 0);
231
+ attribute: "readonly",
232
+ mode: "boolean"
233
+ })], NumberField.prototype, "readOnly", void 0);
234
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], NumberField.prototype, "autofocus", void 0);
235
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "placeholder", void 0);
236
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "list", void 0);
237
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "maxlength", void 0);
238
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "minlength", void 0);
239
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "size", void 0);
240
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)()], NumberField.prototype, "scale", void 0);
241
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "step", void 0);
242
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "max", void 0);
243
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "min", void 0);
244
+ require_decorate.__decorate([_microsoft_fast_element.observable], NumberField.prototype, "defaultSlottedNodes", void 0);
245
+ require_decorate.__decorate([_microsoft_fast_element.observable], NumberField.prototype, "_presentationValue", void 0);
246
+ require_decorate.__decorate([_microsoft_fast_element.observable], NumberField.prototype, "_updatedValueAnnouncement", void 0);
247
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "increment-button-aria-label" })], NumberField.prototype, "incrementButtonAriaLabel", void 0);
248
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "decrement-button-aria-label" })], NumberField.prototype, "decrementButtonAriaLabel", void 0);
249
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "appearance", void 0);
250
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "shape", void 0);
251
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "autoComplete", void 0);
259
252
  //#endregion
260
- //#region src/lib/popover/popover.template.ts
261
- var getClasses = ({ open, manual, layout }) => (0, _microsoft_fast_web_utilities.classNames)("control", ["open", Boolean(open)], ["manual", Boolean(manual)], ["condensed", layout === "condensed"]);
253
+ //#region src/lib/number-field/number-field.template.ts
254
+ var getStateClasses = ({ errorValidationMessage, disabled, value, readOnly, placeholder, appearance, shape, label, successText, scale }) => (0, _microsoft_fast_web_utilities.classNames)(["error", Boolean(errorValidationMessage)], ["disabled", disabled], ["has-value", Boolean(value)], ["readonly", readOnly], ["placeholder", Boolean(placeholder)], [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], ["no-label", !label], ["success", !!successText], [`size-${scale}`, Boolean(scale)]);
255
+ function renderLabel() {
256
+ return _microsoft_fast_element.html` <label for="control" class="label">
257
+ ${(x) => x.label}
258
+ </label>`;
259
+ }
260
+ function setControlButtonShape(numberField) {
261
+ return numberField.shape === require_enums.Shape.Pill ? require_enums.Shape.Pill : null;
262
+ }
263
+ function getTabIndex(numberField) {
264
+ return numberField.disabled || numberField.readOnly ? "-1" : null;
265
+ }
262
266
  /**
263
- * The template for the Popover component.
264
- *
265
267
  * @param context - element definition context
266
- * @public
267
268
  */
268
- var popoverTemplate = (context) => {
269
- const elevationTag = context.tagFor(require_definition$2.Elevation);
270
- const buttonTag = context.tagFor(require_definition$1.Button);
271
- const iconTag = context.tagFor(require_definition.Icon);
269
+ function numberControlButtons(context) {
270
+ const buttonTag = context.tagFor(require_definition$2.Button);
271
+ const dividerTag = context.tagFor(require_divider.Divider);
272
+ return _microsoft_fast_element.html`
273
+ <div class="control-buttons" ?inert="${(x) => x.disabled || x.readOnly}">
274
+ <${buttonTag} id="subtract" icon="minus-line"
275
+ ?disabled="${(x) => x.disabled || x.readOnly}"
276
+ aria-label=${(x) => x.decrementButtonAriaLabel || x.locale.numberField.decrementButtonLabel(x.step)}
277
+ shape="${setControlButtonShape}"
278
+ type="button"
279
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
280
+ tabindex="${getTabIndex}"
281
+ @click="${(x) => x.stepDown()}"></${buttonTag}>
282
+ <${dividerTag} class="divider" orientation="vertical"></${dividerTag}>
283
+ <${buttonTag} id="add" icon="plus-line"
284
+ ?disabled="${(x) => x.disabled || x.readOnly}"
285
+ aria-label=${(x) => x.incrementButtonAriaLabel || x.locale.numberField.incrementButtonLabel(x.step)}
286
+ shape="${setControlButtonShape}"
287
+ type="button"
288
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
289
+ tabindex="${getTabIndex}"
290
+ @click="${(x) => x.stepUp()}"></${buttonTag}>
291
+ </div>
292
+ `;
293
+ }
294
+ var NumberFieldTemplate = (context) => {
295
+ const visuallyHiddenTag = context.tagFor(require_definition.VisuallyHidden);
272
296
  return _microsoft_fast_element.html`
273
- <slot name="anchor" ${(0, _microsoft_fast_element.slotted)("_slottedAnchor")}></slot>
274
- <${elevationTag}>
275
- <div class="base"
276
- ${(0, _microsoft_fast_element.ref)("_popoverEl")}
277
- popover="${(x) => x.manual ? "manual" : "auto"}"
278
- tabindex="-1"
279
- autofocus
280
- ${require_delegates_aria.delegateAria({
281
- role: "dialog",
282
- ariaModal: "false"
283
- })}
284
- >
285
- <div class="${getClasses}"
286
- part="${(x) => x.alternate ? "vvd-theme-alternate" : ""}">
287
- <slot></slot>
288
- <slot name="footer"></slot>
289
- ${(0, _microsoft_fast_element.when)((x) => x.manual, _microsoft_fast_element.html`<${buttonTag}
290
- aria-label="${(x) => x.dismissButtonAriaLabel || x.locale.popover.dismissButtonLabel}"
291
- type="button"
292
- size="condensed"
293
- class="dismiss-button"
294
- @click="${(x) => x.hide()}">
295
- <${iconTag} name="close-line" slot="icon"></${iconTag}>
296
- </${buttonTag}>`)}
297
- ${(0, _microsoft_fast_element.when)((x) => x.arrow, _microsoft_fast_element.html`<div class="arrow" ${(0, _microsoft_fast_element.ref)("_arrowEl")}></div>`)}
297
+ <div class="base ${getStateClasses}">
298
+ <div class="label-wrapper" ?hidden=${(x) => !x.label && !x._hasContextualHelp}>
299
+ ${(0, _microsoft_fast_element.when)((x) => x.label, renderLabel())}
300
+ <slot name="contextual-help" ${(0, _microsoft_fast_element.slotted)("_contextualHelpSlottedContent")}></slot>
301
+ </div>
302
+ <div class="fieldset">
303
+ <div class="wrapper">
304
+ <input
305
+ class="control"
306
+ id="control"
307
+ @input="${(x) => x.handleTextInput()}"
308
+ @change="${(x) => x.handleChange()}"
309
+ @keydown="${(x, c) => x.handleKeyDown(c.event)}"
310
+ ?autofocus="${(x) => x.autofocus}"
311
+ ?disabled="${(x) => x.disabled}"
312
+ list="${(x) => x.list}"
313
+ maxlength="${(x) => x.maxlength}"
314
+ minlength="${(x) => x.minlength}"
315
+ placeholder="${(x) => x.placeholder}"
316
+ ?readonly="${(x) => x.readOnly}"
317
+ ?required="${(x) => x.required}"
318
+ size="${(x) => x.size}"
319
+ autocomplete="${(x) => x.autoComplete}"
320
+ name="${(x) => x.name}"
321
+ ?spellcheck="${(x) => x.spellcheck}"
322
+ :value="${(x) => x._presentationValue}"
323
+ type="text"
324
+ aria-describedby="${(x) => x._feedbackDescribedBy}"
325
+ ${require_delegates_aria.delegateAria()}
326
+ ${(0, _microsoft_fast_element.ref)("control")}
327
+ />
298
328
  </div>
329
+ ${() => numberControlButtons(context)}
299
330
  </div>
300
- </${elevationTag}>
331
+ ${(x) => x._getFeedbackTemplate(context)}
332
+ <${visuallyHiddenTag} id="value-announcement" role="status" aria-atomic="true">
333
+ ${(x) => x._updatedValueAnnouncement}</${visuallyHiddenTag}>
334
+ </div>
301
335
  `;
302
336
  };
303
337
  //#endregion
304
- //#region src/lib/popover/definition.ts
305
- var popoverDefinition = require_vivid_element.defineVividComponent("popover", Popover, popoverTemplate, [
306
- require_definition$1.buttonDefinition,
307
- require_definition.iconDefinition,
308
- require_definition$2.elevationDefinition
338
+ //#region src/lib/number-field/definition.ts
339
+ /**
340
+ * @internal
341
+ */
342
+ var numberFieldDefinition = require_vivid_element.defineVividComponent("number-field", NumberField, NumberFieldTemplate, [
343
+ require_definition$2.buttonDefinition,
344
+ require_definition$4.dividerDefinition,
345
+ require_definition$1.iconDefinition,
346
+ require_mixins.feedbackMessageDefinition,
347
+ require_definition.visuallyHiddenDefinition,
348
+ require_definition$3.contextualHelpDefinition
309
349
  ], {
310
- styles: popover_default,
350
+ styles: number_field_default,
311
351
  shadowOptions: { delegatesFocus: true }
312
352
  });
313
353
  /**
314
- * Registers the popover element with the design system.
354
+ * Registers the number-field elements with the design system.
315
355
  *
316
356
  * @param prefix - the prefix to use for the component name
317
357
  */
318
- var registerPopover = require_vivid_element.createRegisterFunction(popoverDefinition);
358
+ var registerNumberField = require_vivid_element.createRegisterFunction(numberFieldDefinition);
319
359
  //#endregion
320
- Object.defineProperty(exports, "Popover", {
360
+ Object.defineProperty(exports, "NumberField", {
321
361
  enumerable: true,
322
362
  get: function() {
323
- return Popover;
363
+ return NumberField;
324
364
  }
325
365
  });
326
- Object.defineProperty(exports, "popoverDefinition", {
366
+ Object.defineProperty(exports, "numberFieldDefinition", {
327
367
  enumerable: true,
328
368
  get: function() {
329
- return popoverDefinition;
369
+ return numberFieldDefinition;
330
370
  }
331
371
  });
332
- Object.defineProperty(exports, "registerPopover", {
372
+ Object.defineProperty(exports, "registerNumberField", {
333
373
  enumerable: true,
334
374
  get: function() {
335
- return registerPopover;
375
+ return registerNumberField;
336
376
  }
337
377
  });