@vonage/vivid 5.23.1 → 5.24.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 (406) hide show
  1. package/accordion/index.cjs +1 -1
  2. package/accordion/index.js +1 -1
  3. package/accordion-item/index.cjs +1 -1
  4. package/accordion-item/index.js +1 -1
  5. package/audio-player/index.cjs +2 -2
  6. package/audio-player/index.js +3 -3
  7. package/badge/index.cjs +1 -1
  8. package/badge/index.js +1 -1
  9. package/bundled/definition15.cjs +8 -7
  10. package/bundled/definition15.js +26 -24
  11. package/bundled/definition17.cjs +2 -2
  12. package/bundled/definition17.js +2 -2
  13. package/bundled/definition18.cjs +12 -83
  14. package/bundled/definition18.js +35 -419
  15. package/bundled/definition19.cjs +87 -7
  16. package/bundled/definition19.js +432 -16
  17. package/bundled/definition20.cjs +7 -37
  18. package/bundled/definition20.js +17 -172
  19. package/bundled/definition21.cjs +35 -27
  20. package/bundled/definition21.js +154 -154
  21. package/bundled/definition22.cjs +29 -6
  22. package/bundled/definition22.js +172 -20
  23. package/bundled/definition23.cjs +6 -12
  24. package/bundled/definition23.js +17 -32
  25. package/bundled/definition24.cjs +12 -39
  26. package/bundled/definition24.js +32 -67
  27. package/bundled/definition25.cjs +44 -0
  28. package/bundled/definition25.js +77 -0
  29. package/bundled/extractOptions.cjs +1 -0
  30. package/bundled/extractOptions.js +11 -0
  31. package/bundled/listbox.cjs +1 -1
  32. package/bundled/listbox.js +24 -11
  33. package/bundled/render-in-light-dom.cjs +1 -1
  34. package/bundled/render-in-light-dom.js +16 -19
  35. package/bundled/vivid-element.cjs +1 -1
  36. package/bundled/vivid-element.js +9 -1
  37. package/combobox/definition.cjs +1 -1
  38. package/combobox/definition.js +1 -1
  39. package/combobox/index.cjs +7 -7
  40. package/combobox/index.js +29 -21
  41. package/country/definition.cjs +1 -1
  42. package/country/definition.js +1 -1
  43. package/country/index.cjs +1 -1
  44. package/country/index.js +1 -1
  45. package/country-group/definition.cjs +1 -1
  46. package/country-group/definition.js +1 -1
  47. package/country-group/index.cjs +1 -1
  48. package/country-group/index.js +2 -2
  49. package/custom-elements.json +3102 -2842
  50. package/data-grid/definition.cjs +1 -1
  51. package/data-grid/definition.js +1 -1
  52. package/data-grid/index.cjs +4 -4
  53. package/data-grid/index.js +5 -5
  54. package/date-picker/definition.cjs +1 -1
  55. package/date-picker/definition.js +1 -1
  56. package/date-picker/index.cjs +1 -1
  57. package/date-picker/index.js +1 -1
  58. package/date-range-picker/definition.cjs +1 -1
  59. package/date-range-picker/definition.js +1 -1
  60. package/date-range-picker/index.cjs +1 -1
  61. package/date-range-picker/index.js +1 -1
  62. package/date-time-picker/definition.cjs +1 -1
  63. package/date-time-picker/definition.js +1 -1
  64. package/date-time-picker/index.cjs +1 -1
  65. package/date-time-picker/index.js +1 -1
  66. package/dial-pad/definition.cjs +1 -1
  67. package/dial-pad/definition.js +1 -1
  68. package/dial-pad/index.cjs +24 -24
  69. package/dial-pad/index.js +120 -51
  70. package/dialog/definition.cjs +1 -1
  71. package/dialog/definition.js +1 -1
  72. package/divider/definition.cjs +1 -1
  73. package/divider/definition.js +1 -1
  74. package/divider/index.cjs +1 -1
  75. package/divider/index.js +1 -1
  76. package/empty-state/definition.cjs +1 -1
  77. package/empty-state/definition.js +1 -1
  78. package/fab/definition.cjs +1 -1
  79. package/fab/definition.js +1 -1
  80. package/file-picker/definition.cjs +1 -1
  81. package/file-picker/definition.js +1 -1
  82. package/flag/definition.cjs +1 -1
  83. package/flag/definition.js +1 -1
  84. package/header/definition.cjs +1 -1
  85. package/header/definition.js +1 -1
  86. package/header/index.cjs +3 -3
  87. package/header/index.js +3 -3
  88. package/index.cjs +200 -196
  89. package/index.js +53 -52
  90. package/kbd-key/definition.cjs +1 -1
  91. package/kbd-key/definition.js +1 -1
  92. package/kbd-shortcut/definition.cjs +1 -1
  93. package/kbd-shortcut/definition.js +1 -1
  94. package/layout/definition.cjs +1 -1
  95. package/layout/definition.js +1 -1
  96. package/lib/accordion-item/accordion-item.d.ts +2 -1
  97. package/lib/action-group/action-group.d.ts +1 -1
  98. package/lib/alert/alert.d.ts +2 -2
  99. package/lib/audio-player/audio-player.d.ts +1 -1
  100. package/lib/avatar/avatar.d.ts +1 -1
  101. package/lib/badge/badge.d.ts +1 -1
  102. package/lib/banner/banner.d.ts +3 -3
  103. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  104. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  105. package/lib/button/button.d.ts +3 -3
  106. package/lib/calendar-event/calendar-event.d.ts +1 -1
  107. package/lib/card/card.d.ts +1 -1
  108. package/lib/checkbox/checkbox.d.ts +6 -6
  109. package/lib/color-picker/color-picker.d.ts +7 -7
  110. package/lib/combobox/combobox.d.ts +7 -7
  111. package/lib/components.d.ts +1 -0
  112. package/lib/country-group/country-group.d.ts +2 -2
  113. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  114. package/lib/data-grid/data-grid-row.d.ts +3 -2
  115. package/lib/data-grid/data-grid.options.d.ts +5 -0
  116. package/lib/date-picker/date-picker.d.ts +8 -8
  117. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  118. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  119. package/lib/dial-pad/dial-pad.d.ts +2 -1
  120. package/lib/dialog/dialog.d.ts +2 -2
  121. package/lib/divider/divider.d.ts +1 -1
  122. package/lib/fab/fab.d.ts +1 -1
  123. package/lib/file-picker/file-picker.d.ts +7 -7
  124. package/lib/header/header.d.ts +1 -1
  125. package/lib/menu/menu.d.ts +2 -2
  126. package/lib/menu-item/menu-item.d.ts +3 -3
  127. package/lib/nav/nav.d.ts +1 -1
  128. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  129. package/lib/nav-item/nav-item.d.ts +2 -2
  130. package/lib/note/note.d.ts +1 -1
  131. package/lib/number-field/number-field.d.ts +9 -9
  132. package/lib/optgroup/definition.d.ts +3 -0
  133. package/lib/optgroup/index.d.ts +1 -0
  134. package/lib/optgroup/optgroup.d.ts +430 -0
  135. package/lib/optgroup/optgroup.template.d.ts +2 -0
  136. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  137. package/lib/option/option.d.ts +2 -2
  138. package/lib/pagination/pagination.d.ts +1 -1
  139. package/lib/popover/popover.d.ts +2 -2
  140. package/lib/progress/progress.d.ts +1 -1
  141. package/lib/progress-ring/progress-ring.d.ts +1 -1
  142. package/lib/radio/radio.d.ts +3 -3
  143. package/lib/radio-group/radio-group.d.ts +1 -1
  144. package/lib/range-slider/range-slider.d.ts +3 -3
  145. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  146. package/lib/searchable-select/option-tag.d.ts +1 -1
  147. package/lib/searchable-select/searchable-select.d.ts +47 -47
  148. package/lib/select/select.d.ts +9 -9
  149. package/lib/selectable-box/selectable-box.d.ts +1 -1
  150. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  151. package/lib/slider/slider.d.ts +3 -3
  152. package/lib/split-button/split-button.d.ts +3 -3
  153. package/lib/status/status.d.ts +1 -1
  154. package/lib/switch/switch.d.ts +2 -2
  155. package/lib/tab/tab.d.ts +3 -3
  156. package/lib/tab-panel/tab-panel.d.ts +1 -1
  157. package/lib/table/table-cell.d.ts +1 -1
  158. package/lib/table/table-header-cell.d.ts +1 -1
  159. package/lib/table/table-row.d.ts +1 -1
  160. package/lib/table/table-sorting-button.d.ts +1 -1
  161. package/lib/tag/tag.d.ts +3 -3
  162. package/lib/tag-group/tag-group.d.ts +1 -1
  163. package/lib/tag-name-map.d.ts +2 -1
  164. package/lib/text-area/text-area.d.ts +8 -8
  165. package/lib/text-field/text-field.d.ts +9 -9
  166. package/lib/time-picker/time-picker.d.ts +4 -4
  167. package/lib/toggletip/toggletip.d.ts +2 -2
  168. package/lib/tooltip/tooltip.d.ts +2 -2
  169. package/lib/tree-item/tree-item.d.ts +2 -2
  170. package/lib/tree-view/tree-view.d.ts +1 -1
  171. package/lib/video-player/video-player.d.ts +1 -1
  172. package/menu/index.cjs +1 -1
  173. package/menu/index.js +1 -1
  174. package/menu-item/index.cjs +1 -1
  175. package/menu-item/index.js +1 -1
  176. package/nav/definition.cjs +1 -1
  177. package/nav/definition.js +1 -1
  178. package/nav-disclosure/definition.cjs +1 -1
  179. package/nav-disclosure/definition.js +1 -1
  180. package/nav-item/definition.cjs +1 -1
  181. package/nav-item/definition.js +1 -1
  182. package/note/definition.cjs +1 -1
  183. package/note/definition.js +1 -1
  184. package/number-field/definition.cjs +1 -1
  185. package/number-field/definition.js +1 -1
  186. package/number-field/index.cjs +1 -1
  187. package/number-field/index.js +1 -1
  188. package/optgroup/definition.cjs +5 -0
  189. package/optgroup/definition.js +2 -0
  190. package/optgroup/index.cjs +1 -0
  191. package/optgroup/index.js +4 -0
  192. package/package.json +6 -6
  193. package/pagination/definition.cjs +1 -1
  194. package/pagination/definition.js +1 -1
  195. package/platform-switch/definition.cjs +1 -1
  196. package/platform-switch/definition.js +1 -1
  197. package/popover/definition.cjs +1 -1
  198. package/popover/definition.js +1 -1
  199. package/progress/definition.cjs +1 -1
  200. package/progress/definition.js +1 -1
  201. package/radio/definition.cjs +1 -1
  202. package/radio/definition.js +1 -1
  203. package/radio-group/definition.cjs +1 -1
  204. package/radio-group/definition.js +1 -1
  205. package/range-slider/definition.cjs +1 -1
  206. package/range-slider/definition.js +1 -1
  207. package/rich-text-editor/definition.cjs +1 -1
  208. package/rich-text-editor/definition.js +1 -1
  209. package/rich-text-editor/index.cjs +1 -1
  210. package/rich-text-editor/index.js +4 -4
  211. package/rich-text-view/definition.cjs +1 -1
  212. package/rich-text-view/definition.js +1 -1
  213. package/searchable-select/definition.cjs +1 -1
  214. package/searchable-select/definition.js +1 -1
  215. package/searchable-select/index.cjs +19 -19
  216. package/searchable-select/index.js +60 -45
  217. package/select/definition.cjs +1 -1
  218. package/select/definition.js +1 -1
  219. package/select/index.cjs +1 -1
  220. package/select/index.js +1 -1
  221. package/selectable-box/definition.cjs +1 -1
  222. package/selectable-box/definition.js +1 -1
  223. package/shared/aria/delegates-aria.d.ts +1 -1
  224. package/shared/aria/host-semantics.d.ts +1 -1
  225. package/shared/color-picker/base-color-picker.d.ts +1 -1
  226. package/shared/feedback/feedback-message.d.ts +1 -1
  227. package/shared/feedback/mixins.d.ts +2 -2
  228. package/shared/foundation/button/button.d.ts +2 -2
  229. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  230. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  231. package/shared/foundation/listbox/listbox.d.ts +2 -0
  232. package/shared/patterns/affix.d.ts +2 -2
  233. package/shared/patterns/anchored.d.ts +2 -2
  234. package/shared/patterns/char-count/char-count.d.ts +1 -1
  235. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  236. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  237. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  238. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  239. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  240. package/shared/patterns/linkable.d.ts +1 -1
  241. package/shared/patterns/localized.d.ts +2 -2
  242. package/shared/patterns/trapped-focus.d.ts +1 -1
  243. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  244. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  245. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  246. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  247. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  248. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  249. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  250. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  251. package/shared/picker-field/picker-field.d.ts +7 -7
  252. package/side-drawer/definition.cjs +1 -1
  253. package/side-drawer/definition.js +1 -1
  254. package/simple-color-picker/definition.cjs +1 -1
  255. package/simple-color-picker/definition.js +1 -1
  256. package/split-button/definition.cjs +1 -1
  257. package/split-button/definition.js +1 -1
  258. package/split-button/index.cjs +1 -0
  259. package/split-button/index.js +1 -0
  260. package/status/definition.cjs +1 -1
  261. package/status/definition.js +1 -1
  262. package/switch/definition.cjs +1 -1
  263. package/switch/definition.js +1 -1
  264. package/switch/index.cjs +6 -5
  265. package/switch/index.js +16 -14
  266. package/tab/definition.cjs +1 -1
  267. package/tab/definition.js +1 -1
  268. package/tab-panel/definition.cjs +1 -1
  269. package/tab-panel/definition.js +1 -1
  270. package/table/definition.cjs +1 -1
  271. package/table/definition.js +1 -1
  272. package/tabs/definition.cjs +1 -1
  273. package/tabs/definition.js +1 -1
  274. package/tag/definition.cjs +1 -1
  275. package/tag/definition.js +1 -1
  276. package/tag-group/definition.cjs +1 -1
  277. package/tag-group/definition.js +1 -1
  278. package/text-area/definition.cjs +1 -1
  279. package/text-area/definition.js +1 -1
  280. package/time-picker/definition.cjs +1 -1
  281. package/time-picker/definition.js +1 -1
  282. package/tree-item/definition.cjs +1 -1
  283. package/tree-item/definition.js +1 -1
  284. package/tree-view/definition.cjs +1 -1
  285. package/tree-view/definition.js +1 -1
  286. package/unbundled/definition13.cjs +1 -1
  287. package/unbundled/definition13.js +1 -1
  288. package/unbundled/definition2.cjs +9 -3
  289. package/unbundled/definition2.js +9 -3
  290. package/unbundled/definition23.cjs +1 -0
  291. package/unbundled/definition23.js +2 -1
  292. package/unbundled/definition29.cjs +2 -2
  293. package/unbundled/definition29.js +2 -2
  294. package/unbundled/definition30.cjs +65 -484
  295. package/unbundled/definition30.js +57 -482
  296. package/unbundled/definition31.cjs +501 -39
  297. package/unbundled/definition31.js +499 -37
  298. package/unbundled/definition32.cjs +38 -239
  299. package/unbundled/definition32.js +35 -236
  300. package/unbundled/definition33.cjs +236 -74
  301. package/unbundled/definition33.js +233 -71
  302. package/unbundled/definition34.cjs +74 -1968
  303. package/unbundled/definition34.js +70 -1940
  304. package/unbundled/definition35.cjs +1992 -26
  305. package/unbundled/definition35.js +1964 -27
  306. package/unbundled/definition36.cjs +26 -111
  307. package/unbundled/definition36.js +23 -103
  308. package/unbundled/definition37.cjs +53 -294
  309. package/unbundled/definition37.js +50 -291
  310. package/unbundled/definition38.cjs +282 -132
  311. package/unbundled/definition38.js +279 -129
  312. package/unbundled/definition39.cjs +165 -339
  313. package/unbundled/definition39.js +163 -337
  314. package/unbundled/definition40.cjs +394 -228
  315. package/unbundled/definition40.js +391 -225
  316. package/unbundled/definition41.cjs +263 -46
  317. package/unbundled/definition41.js +258 -41
  318. package/unbundled/definition42.cjs +47 -67
  319. package/unbundled/definition42.js +45 -65
  320. package/unbundled/definition43.cjs +56 -383
  321. package/unbundled/definition43.js +55 -382
  322. package/unbundled/definition44.cjs +386 -44
  323. package/unbundled/definition44.js +382 -40
  324. package/unbundled/definition45.cjs +53 -45
  325. package/unbundled/definition45.js +49 -41
  326. package/unbundled/definition46.cjs +40 -164
  327. package/unbundled/definition46.js +36 -160
  328. package/unbundled/definition47.cjs +171 -31
  329. package/unbundled/definition47.js +168 -22
  330. package/unbundled/definition48.cjs +30 -89
  331. package/unbundled/definition48.js +22 -87
  332. package/unbundled/definition49.cjs +70 -33
  333. package/unbundled/definition49.js +67 -30
  334. package/unbundled/definition50.cjs +54 -23
  335. package/unbundled/definition50.js +52 -18
  336. package/unbundled/definition51.cjs +23 -39
  337. package/unbundled/definition51.js +17 -36
  338. package/unbundled/definition52.cjs +29 -314
  339. package/unbundled/definition52.js +27 -312
  340. package/unbundled/definition53.cjs +301 -195
  341. package/unbundled/definition53.js +297 -191
  342. package/unbundled/definition54.cjs +210 -40
  343. package/unbundled/definition54.js +206 -36
  344. package/unbundled/definition55.cjs +42 -266
  345. package/unbundled/definition55.js +38 -262
  346. package/unbundled/definition56.cjs +266 -50
  347. package/unbundled/definition56.js +263 -46
  348. package/unbundled/definition57.cjs +48 -146
  349. package/unbundled/definition57.js +47 -143
  350. package/unbundled/definition58.cjs +127 -225
  351. package/unbundled/definition58.js +122 -223
  352. package/unbundled/definition59.cjs +199 -418
  353. package/unbundled/definition59.js +196 -415
  354. package/unbundled/definition60.cjs +441 -3738
  355. package/unbundled/definition60.js +431 -3565
  356. package/unbundled/definition61.cjs +3712 -728
  357. package/unbundled/definition61.js +3538 -717
  358. package/unbundled/definition62.cjs +769 -97
  359. package/unbundled/definition62.js +766 -94
  360. package/unbundled/definition63.cjs +100 -981
  361. package/unbundled/definition63.js +98 -976
  362. package/unbundled/definition64.cjs +988 -93
  363. package/unbundled/definition64.js +982 -90
  364. package/unbundled/definition65.cjs +109 -73
  365. package/unbundled/definition65.js +105 -63
  366. package/unbundled/definition66.cjs +69 -155
  367. package/unbundled/definition66.js +60 -152
  368. package/unbundled/definition67.cjs +154 -118
  369. package/unbundled/definition67.js +151 -115
  370. package/unbundled/definition68.cjs +124 -49
  371. package/unbundled/definition68.js +120 -45
  372. package/unbundled/definition69.cjs +51 -84
  373. package/unbundled/definition69.js +50 -80
  374. package/unbundled/definition70.cjs +91 -19
  375. package/unbundled/definition70.js +86 -14
  376. package/unbundled/definition71.cjs +20 -87
  377. package/unbundled/definition71.js +14 -84
  378. package/unbundled/definition72.cjs +76 -294
  379. package/unbundled/definition72.js +71 -217
  380. package/unbundled/definition73.cjs +288 -311
  381. package/unbundled/definition73.js +218 -306
  382. package/unbundled/definition74.cjs +326 -26
  383. package/unbundled/definition74.js +317 -23
  384. package/unbundled/definition75.cjs +27 -122
  385. package/unbundled/definition75.js +22 -118
  386. package/unbundled/definition76.cjs +103 -232
  387. package/unbundled/definition76.js +99 -228
  388. package/unbundled/definition77.cjs +259 -26
  389. package/unbundled/definition77.js +249 -23
  390. package/unbundled/definition78.cjs +29 -148
  391. package/unbundled/definition78.js +27 -133
  392. package/unbundled/definition79.cjs +117 -173
  393. package/unbundled/definition79.js +108 -169
  394. package/unbundled/definition80.cjs +181 -477
  395. package/unbundled/definition80.js +176 -471
  396. package/unbundled/definition81.cjs +517 -0
  397. package/unbundled/definition81.js +497 -0
  398. package/unbundled/extractOptions.cjs +21 -0
  399. package/unbundled/extractOptions.js +16 -0
  400. package/unbundled/listbox.cjs +23 -6
  401. package/unbundled/listbox.js +23 -6
  402. package/unbundled/vivid-element.cjs +10 -1
  403. package/unbundled/vivid-element.js +10 -1
  404. package/video-player/definition.cjs +1 -1
  405. package/video-player/definition.js +1 -1
  406. package/vivid.api.json +194 -0
@@ -1,245 +1,351 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
+ const require_definition = require("./definition.cjs");
3
4
  const require_decorate = require("./decorate.cjs");
5
+ const require_affix = require("./affix.cjs");
6
+ const require_delegates_aria = require("./delegates-aria.cjs");
7
+ const require_form_associated = require("./form-associated.cjs");
4
8
  const require_localized = require("./localized.cjs");
5
- const require_definition = require("./definition6.cjs");
9
+ const require_definition$1 = require("./definition6.cjs");
6
10
  const require_enums = require("./enums.cjs");
11
+ const require_divider = require("./divider.cjs");
12
+ const require_definition$2 = require("./definition22.cjs");
13
+ const require_mixins = require("./mixins.cjs");
14
+ const require_form_element = require("./form-element.cjs");
15
+ const require_with_error_text = require("./with-error-text.cjs");
16
+ const require_with_success_text = require("./with-success-text.cjs");
17
+ const require_definition$3 = require("./definition25.cjs");
18
+ const require_with_contextual_help = require("./with-contextual-help.cjs");
19
+ const require_definition$4 = require("./definition36.cjs");
7
20
  let _microsoft_fast_element = require("@microsoft/fast-element");
8
21
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
9
- //#region src/lib/pagination/pagination.scss?inline
10
- var pagination_default = ".control{justify-content:space-between;display:inline-flex}.control:not(.shape-pill){border-radius:4px}.control.shape-pill{border-radius:16px}.buttons-wrapper{column-gap:4px;display:flex}.vwc-pagination-button[size=super-condensed]{--base-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16))}.vwc-pagination-button[size=condensed]{--base-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8))}.vwc-pagination-button[size=normal]{--base-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)))}.vwc-pagination-button::part(button){padding-inline:0}.dots{text-align:center;align-self:center}.dots:not(.size-super-condensed){font:var(--vvd-typography-base-bold)}.dots.size-super-condensed{font:var(--vvd-typography-base-condensed-bold);inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16))}.dots.size-condensed{inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8))}.dots.size-normal{inline-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)))}";
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-600);--_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-600);--_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}.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}";
11
24
  //#endregion
12
- //#region src/lib/pagination/pagination.ts
13
- var MAX_DIGITS_AND_PLACEHOLDERS = 7;
14
- var totalConverter = {
15
- fromView: (value) => parseInt(value, 10),
16
- toView: (value) => value.toString()
25
+ //#region src/lib/number-field/number-field.ts
26
+ var STEP_DIRECTION = {
27
+ up: 1,
28
+ down: -1
17
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+))$/;
18
48
  /**
19
49
  * @public
20
- * @component pagination
21
- * @event {CustomEvent<{selectedIndex: number, total: number, oldIndex: number}>} pagination-change - Fires when the page changes.
22
- * @vueModel modelValue selectedIndex pagination-change `event.currentTarget.selectedIndex`
23
- * @testAction clickNext click #nextButton
24
- * @testAction clickPrev click #prevButton
25
- * @testAction clickPageIndex clickPaginationPage
26
- * @testQuery total total
27
- * @testQuery selectedPage paginationSelectedPage
28
- * @testRef nextButton shadow .next-button
29
- * @testRef prevButton shadow .prev-button
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
30
64
  */
31
- var Pagination = class extends require_localized.Localized(require_vivid_element.VividElement) {
32
- get pagesList() {
33
- return new Array(this.total < MAX_DIGITS_AND_PLACEHOLDERS ? this.total : MAX_DIGITS_AND_PLACEHOLDERS).fill(0).map((_, i, arr) => {
34
- if (i === 0) return 1;
35
- if (i === arr.length - 1) return this.total;
36
- if (this.selectedIndex !== void 0 && this.total > MAX_DIGITS_AND_PLACEHOLDERS) {
37
- if (this.selectedIndex < 4) {
38
- if (i === MAX_DIGITS_AND_PLACEHOLDERS - 2) return "...";
39
- }
40
- if (this.selectedIndex >= 4 && this.selectedIndex <= this.total - 5) {
41
- if (i > 1 && i < MAX_DIGITS_AND_PLACEHOLDERS - 2) return this.selectedIndex + (i - 2);
42
- /* v8 ignore else -- @preserve */
43
- if (i === 1 || i === MAX_DIGITS_AND_PLACEHOLDERS - 2) return "...";
44
- }
45
- if (this.selectedIndex > this.total - 5) {
46
- if (i > 1) return this.total - (6 - i);
47
- /* v8 ignore else -- @preserve */
48
- if (i === 1) return "...";
49
- }
50
- }
51
- return i + 1;
52
- });
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))))))))) {
66
+ constructor(..._args) {
67
+ super(..._args);
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;
53
77
  }
54
- constructor() {
55
- super();
56
- this.navIcons = false;
57
- this.total = 0;
58
- this.selectedIndex = 0;
59
- this.addEventListener("tabpressed", (e) => {
60
- const { value: currentLabel, shiftKey } = e.detail;
61
- const index = this.paginationButtons.findIndex((button) => Number(button.label) === currentLabel);
62
- const focusDirection = shiftKey ? -1 : 1;
63
- const newIndex = index + focusDirection;
64
- if (newIndex < 0) {
65
- this.prevButton.focus();
66
- return;
67
- }
68
- if (newIndex > this.paginationButtons.length - 1) {
69
- this.nextButton.focus();
70
- return;
71
- }
72
- /* v8 ignore else -- @preserve */
73
- if (this.paginationButtons) this.paginationButtons[index + focusDirection].focus();
74
- });
78
+ stepChanged(_, next) {
79
+ this.proxy.setAttribute("step", Number.isFinite(next) ? next.toString() : "");
80
+ }
81
+ /**
82
+ * Ensures that the max is greater than the min and that the value
83
+ * is less than the max
84
+ *
85
+ * @internal
86
+ */
87
+ maxChanged(_, next) {
88
+ this.max = Math.max(next, this.min ?? next);
89
+ this.proxy.max = this.max.toString();
90
+ this.validate();
91
+ }
92
+ /**
93
+ * Ensures that the min is less than the max and that the value
94
+ * is greater than the min
95
+ *
96
+ * @internal
97
+ */
98
+ minChanged(_, next) {
99
+ this.min = Math.min(next, this.max ?? next);
100
+ this.proxy.min = this.min.toString();
101
+ this.validate();
102
+ }
103
+ /** The value property, typed as a number. */
104
+ get valueAsNumber() {
105
+ return parseFloat(this.value);
106
+ }
107
+ set valueAsNumber(next) {
108
+ this.value = next.toString();
75
109
  }
76
110
  /** @internal */
77
- totalChanged(_, newValue) {
78
- if (newValue < 0) {
79
- this.total = 0;
80
- return;
111
+ valueChanged(previous, next) {
112
+ this.value = validNumber.test(next) ? next : "";
113
+ if (next !== this.value) return;
114
+ if (this.control && !this.isUserInput) this._presentationValue = this.#valueToPresentationValue(this.value);
115
+ super.valueChanged(previous, this.value);
116
+ if (previous !== void 0 && !this.isUserInput) {
117
+ this.$emit("input");
118
+ this.$emit("change");
81
119
  }
82
- this.#constrainSelectedIndex();
83
120
  }
84
121
  /** @internal */
85
- selectedIndexChanged(oldValue, newValue) {
86
- if (oldValue === void 0) return;
87
- this.$emit("pagination-change", {
88
- selectedIndex: newValue,
89
- total: this.total,
90
- oldIndex: oldValue
91
- });
92
- this.#constrainSelectedIndex();
122
+ get _numberPatterns() {
123
+ return this.locale.common.useCommaAsDecimalSeparator ? numberPatternsWithComma : numberPatternsWithPeriod;
93
124
  }
94
- /** @internal */
95
- paginationButtonsChanged(_, newValue) {
96
- newValue.forEach((button) => {
97
- button.shadowRoot.querySelector("button").setAttribute("part", "button");
98
- });
125
+ #valueToPresentationValue(value) {
126
+ return value.replace(".", this.locale.common.useCommaAsDecimalSeparator ? "," : ".");
127
+ }
128
+ #inputToPresentationValue(input) {
129
+ return input.replace(this._numberPatterns.invalidCharacters, "").replace(this._numberPatterns.additionalDecimalSeparators, "");
99
130
  }
100
- get #constrainedSelectedIndex() {
101
- return Math.max(0, Math.min(this.selectedIndex ?? 0, this.total - 1));
131
+ #presentationValueToValue(presentationValue) {
132
+ const candidate = presentationValue.replace(this._numberPatterns.trailingDecimalSeparator, "").replace(this._numberPatterns.decimalSeparator, ".");
133
+ return validNumber.test(candidate) ? candidate : "";
102
134
  }
103
- #constrainSelectedIndex() {
104
- if (this.selectedIndex !== this.#constrainedSelectedIndex) window.queueMicrotask(() => {
105
- if (this.selectedIndex !== this.#constrainedSelectedIndex) this.selectedIndex = this.#constrainedSelectedIndex;
135
+ /** {@inheritDoc (FormAssociated:interface).validate} */
136
+ validate() {
137
+ super.validate(this.control);
138
+ }
139
+ /** Increments the value using the step value */
140
+ stepUp() {
141
+ makeStep(this, STEP_DIRECTION.up);
142
+ }
143
+ /** Decrements the value using the step value */
144
+ stepDown() {
145
+ makeStep(this, STEP_DIRECTION.down);
146
+ }
147
+ /**
148
+ * Sets up the initial state of the number field
149
+ * @internal
150
+ */
151
+ connectedCallback() {
152
+ super.connectedCallback();
153
+ this.proxy.setAttribute("type", "number");
154
+ this.validate();
155
+ this._presentationValue = this.#valueToPresentationValue(this.value);
156
+ if (this.autofocus) _microsoft_fast_element.Updates.enqueue(() => {
157
+ this.focus();
106
158
  });
107
159
  }
160
+ /** Selects all the text in the number field */
161
+ select() {
162
+ this.control.select();
163
+ /**
164
+ * The select event does not permeate the shadow DOM boundary.
165
+ * This fn effectively proxies the select event,
166
+ * emitting a `select` event whenever the internal
167
+ * control emits a `select` event
168
+ */
169
+ this.$emit("select");
170
+ }
171
+ /**
172
+ * Handles the internal control's `input` event
173
+ * @internal
174
+ */
175
+ handleTextInput() {
176
+ this._presentationValue = this.#inputToPresentationValue(this.control.value);
177
+ if (this.control.value !== this._presentationValue) this.control.value = this._presentationValue;
178
+ this.isUserInput = true;
179
+ this.value = this.#presentationValueToValue(this._presentationValue);
180
+ this.isUserInput = false;
181
+ }
182
+ /**
183
+ * Change event handler for inner control.
184
+ * @remarks
185
+ * "Change" events are not `composable` so they will not
186
+ * permeate the shadow DOM boundary. This fn effectively proxies
187
+ * the change event, emitting a `change` event whenever the internal
188
+ * control emits a `change` event
189
+ * @internal
190
+ */
191
+ handleChange() {
192
+ this.$emit("change");
193
+ }
194
+ /**
195
+ * Handles the internal control's `keydown` event
196
+ * @internal
197
+ */
198
+ handleKeyDown(e) {
199
+ switch (e.key) {
200
+ case _microsoft_fast_web_utilities.keyArrowUp:
201
+ this.stepUp();
202
+ return false;
203
+ case _microsoft_fast_web_utilities.keyArrowDown:
204
+ this.stepDown();
205
+ return false;
206
+ }
207
+ return true;
208
+ }
108
209
  };
109
- require_decorate.__decorate([_microsoft_fast_element.attr], Pagination.prototype, "size", void 0);
110
- require_decorate.__decorate([_microsoft_fast_element.attr], Pagination.prototype, "shape", void 0);
111
- require_decorate.__decorate([_microsoft_fast_element.observable], Pagination.prototype, "paginationButtons", void 0);
112
- require_decorate.__decorate([_microsoft_fast_element.observable], Pagination.prototype, "prevButton", void 0);
113
- require_decorate.__decorate([_microsoft_fast_element.observable], Pagination.prototype, "nextButton", void 0);
114
210
  require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
115
- attribute: "nav-icons",
211
+ attribute: "readonly",
116
212
  mode: "boolean"
117
- })], Pagination.prototype, "navIcons", void 0);
118
- require_decorate.__decorate([_microsoft_fast_element.volatile], Pagination.prototype, "pagesList", null);
119
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
120
- mode: "reflect",
121
- converter: totalConverter
122
- })], Pagination.prototype, "total", void 0);
123
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
124
- mode: "reflect",
125
- converter: totalConverter,
126
- attribute: "selected-index"
127
- })], Pagination.prototype, "selectedIndex", void 0);
213
+ })], NumberField.prototype, "readOnly", void 0);
214
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], NumberField.prototype, "autofocus", void 0);
215
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "placeholder", void 0);
216
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "list", void 0);
217
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "maxlength", void 0);
218
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "minlength", void 0);
219
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "size", void 0);
220
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)()], NumberField.prototype, "scale", void 0);
221
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "step", void 0);
222
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "max", void 0);
223
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], NumberField.prototype, "min", void 0);
224
+ require_decorate.__decorate([_microsoft_fast_element.observable], NumberField.prototype, "defaultSlottedNodes", void 0);
225
+ require_decorate.__decorate([_microsoft_fast_element.observable], NumberField.prototype, "_presentationValue", void 0);
226
+ require_decorate.__decorate([_microsoft_fast_element.observable], NumberField.prototype, "_updatedValueAnnouncement", void 0);
227
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "increment-button-aria-label" })], NumberField.prototype, "incrementButtonAriaLabel", void 0);
228
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "decrement-button-aria-label" })], NumberField.prototype, "decrementButtonAriaLabel", void 0);
229
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "appearance", void 0);
230
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "shape", void 0);
231
+ require_decorate.__decorate([_microsoft_fast_element.attr], NumberField.prototype, "autoComplete", void 0);
128
232
  //#endregion
129
- //#region src/lib/pagination/pagination.template.ts
130
- var ALLOWED_SIZES = [
131
- require_enums.Size.SuperCondensed,
132
- require_enums.Size.Condensed,
133
- require_enums.Size.Normal
134
- ];
135
- var ALLOWED_SHAPES = [require_enums.Shape.Rounded, require_enums.Shape.Pill];
136
- var handleSelection = (value, { parent: x }) => {
137
- return x.selectedIndex = Number(value) - 1;
138
- };
139
- var handleKeyDown = (value, { event, parent }) => {
140
- if (event.key === " " || event.key === "Enter") handleSelection(value, { parent });
141
- if (event.key === "Tab") event.target.dispatchEvent(new CustomEvent("tabpressed", {
142
- detail: {
143
- value,
144
- shiftKey: event.shiftKey
145
- },
146
- bubbles: true,
147
- composed: true
148
- }));
149
- };
150
- var getClasses = (_) => (0, _microsoft_fast_web_utilities.classNames)("control");
151
- function getButtonAppearance(value, { parent }) {
152
- return parent.selectedIndex === Number(value) - 1 ? "filled" : "ghost";
233
+ //#region src/lib/number-field/number-field.template.ts
234
+ function renderLabel() {
235
+ return _microsoft_fast_element.html` <label for="control" class="label">
236
+ ${(x) => x.label}
237
+ </label>`;
153
238
  }
154
- var paginationButtonRenderer = (buttonTag) => _microsoft_fast_element.html` ${(0, _microsoft_fast_element.when)((value) => value !== "...", _microsoft_fast_element.html`
155
- <${buttonTag} class="vwc-pagination-button"
156
- label="${(value) => value}"
157
- appearance="${getButtonAppearance}"
158
- size="${(_, { parent: x }) => getPaginationSize(x)}"
159
- shape="${(_, { parent: x }) => getPaginationShape(x)}"
160
- style="inline-size: ${(value) => getPaginationButtonWidth(value)};"
161
- tabindex="0"
162
- aria-label="${(value, { parent: x }) => x.locale.pagination.goToPageLabel(value)}"
163
- aria-current="${(value, { parent }) => parent.selectedIndex === Number(value) - 1}"
164
- @click="${handleSelection}"
165
- @keydown="${handleKeyDown}">
166
- </${buttonTag}>
167
- `)}
168
- ${(0, _microsoft_fast_element.when)((value) => value === "...", _microsoft_fast_element.html` <div
169
- class="dots size-${(_, { parent: x }) => getPaginationSize(x)}"
170
- aria-hidden="true"
171
- >
172
- ...
173
- </div>`)}`;
174
- var getPaginationSize = (x) => {
175
- if (!x.size || !ALLOWED_SIZES.includes(x.size)) return require_enums.Size.SuperCondensed;
176
- return x.size;
177
- };
178
- var getPaginationShape = (x) => {
179
- if (!x.shape || !ALLOWED_SHAPES.includes(x.shape)) return require_enums.Shape.Rounded;
180
- return x.shape;
181
- };
182
- var getPaginationButtonWidth = (value) => {
183
- return `calc(var(--base-size) + ${String(value).length - 1}ch)`;
184
- };
185
- var PaginationTemplate = (context) => {
186
- const buttonTag = context.tagFor(require_definition.Button);
187
- const buttonTagName = context.tagFor(require_definition.Button, true);
188
- const paginationButtonTemplate = paginationButtonRenderer(buttonTag);
239
+ function setControlButtonShape(numberField) {
240
+ return numberField.shape === require_enums.Shape.Pill ? require_enums.Shape.Pill : null;
241
+ }
242
+ function getTabIndex(numberField) {
243
+ return numberField.disabled || numberField.readOnly ? "-1" : null;
244
+ }
245
+ /** @param context - element definition context */
246
+ function numberControlButtons(context) {
247
+ const buttonTag = context.tagFor(require_definition$1.Button);
248
+ const dividerTag = context.tagFor(require_divider.Divider);
249
+ return _microsoft_fast_element.html`
250
+ <div class="control-buttons" ?inert="${(x) => x.disabled || x.readOnly}">
251
+ <${buttonTag} id="subtract" icon="minus-line"
252
+ ?disabled="${(x) => x.disabled || x.readOnly}"
253
+ aria-label=${(x) => x.decrementButtonAriaLabel || x.locale.numberField.decrementButtonLabel(x.step)}
254
+ shape="${setControlButtonShape}"
255
+ type="button"
256
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
257
+ tabindex="${getTabIndex}"
258
+ @click="${(x) => x.stepDown()}"></${buttonTag}>
259
+ <${dividerTag} class="divider" orientation="vertical"></${dividerTag}>
260
+ <${buttonTag} id="add" icon="plus-line"
261
+ ?disabled="${(x) => x.disabled || x.readOnly}"
262
+ aria-label=${(x) => x.incrementButtonAriaLabel || x.locale.numberField.incrementButtonLabel(x.step)}
263
+ shape="${setControlButtonShape}"
264
+ type="button"
265
+ size="${(x) => x.scale === "condensed" ? "super-condensed" : "condensed"}"
266
+ tabindex="${getTabIndex}"
267
+ @click="${(x) => x.stepUp()}"></${buttonTag}>
268
+ </div>
269
+ `;
270
+ }
271
+ var NumberFieldTemplate = (context) => {
272
+ const visuallyHiddenTag = context.tagFor(require_definition$2.VisuallyHidden);
189
273
  return _microsoft_fast_element.html`
190
- <div class="${getClasses}">
191
- <${buttonTag} class="prev-button" ${(0, _microsoft_fast_element.ref)("prevButton")}
192
- label="${(x) => !x.navIcons ? "Previous" : null}"
193
- icon="${(x) => x.navIcons ? "chevron-left-line" : null}"
194
- size="${getPaginationSize}"
195
- shape="${getPaginationShape}"
196
- ?disabled="${(x) => x.total === 0 || x.selectedIndex === 0}"
197
- @click="${(x) => x.selectedIndex !== void 0 && x.selectedIndex--}"
198
- aria-label="${(x) => x.locale.pagination.previousPageLabel}"
199
- ></${buttonTag}>
200
- <div id="buttons-wrapper" class="buttons-wrapper" ${(0, _microsoft_fast_element.children)({
201
- property: "paginationButtons",
202
- filter: (0, _microsoft_fast_element.elements)(buttonTagName)
203
- })}>
204
- ${(0, _microsoft_fast_element.repeat)((x) => x.pagesList, paginationButtonTemplate, { positioning: true })}
274
+ <div class="base ${(x) => (0, _microsoft_fast_web_utilities.classNames)(["error", Boolean(x.errorValidationMessage)], ["disabled", x.disabled], ["has-value", Boolean(x.value)], ["readonly", x.readOnly], ["placeholder", Boolean(x.placeholder)], [`appearance-${x.appearance}`, Boolean(x.appearance)], [`shape-${x.shape}`, Boolean(x.shape)], ["no-label", !x.label], ["success", !!x.successText], [`size-${x.scale}`, Boolean(x.scale)])}">
275
+ <div class="label-wrapper" ?hidden=${(x) => !x.label && !x._hasContextualHelp}>
276
+ ${(0, _microsoft_fast_element.when)((x) => x.label, renderLabel())}
277
+ <slot name="contextual-help" ${(0, _microsoft_fast_element.slotted)("_contextualHelpSlottedContent")}></slot>
278
+ </div>
279
+ <div class="fieldset">
280
+ <div class="wrapper">
281
+ <input
282
+ class="control"
283
+ id="control"
284
+ @input="${(x) => x.handleTextInput()}"
285
+ @change="${(x) => x.handleChange()}"
286
+ @keydown="${(x, c) => x.handleKeyDown(c.event)}"
287
+ ?autofocus="${(x) => x.autofocus}"
288
+ ?disabled="${(x) => x.disabled}"
289
+ list="${(x) => x.list}"
290
+ maxlength="${(x) => x.maxlength}"
291
+ minlength="${(x) => x.minlength}"
292
+ placeholder="${(x) => x.placeholder}"
293
+ ?readonly="${(x) => x.readOnly}"
294
+ ?required="${(x) => x.required}"
295
+ size="${(x) => x.size}"
296
+ autocomplete="${(x) => x.autoComplete}"
297
+ name="${(x) => x.name}"
298
+ ?spellcheck="${(x) => x.spellcheck}"
299
+ :value="${(x) => x._presentationValue}"
300
+ type="text"
301
+ ${require_delegates_aria.delegateAria({ ariaDescribedBy: (x) => x._feedbackDescribedBy })}
302
+ ${(0, _microsoft_fast_element.ref)("control")}
303
+ />
304
+ </div>
305
+ ${() => numberControlButtons(context)}
306
+ </div>
307
+ ${(x) => x._getFeedbackTemplate(context)}
308
+ <${visuallyHiddenTag} id="value-announcement" role="status" aria-atomic="true">
309
+ ${(x) => x._updatedValueAnnouncement}</${visuallyHiddenTag}>
205
310
  </div>
206
- <${buttonTag} class="next-button" ${(0, _microsoft_fast_element.ref)("nextButton")}
207
- label="${(x) => !x.navIcons ? "Next" : null}"
208
- icon="${(x) => x.navIcons ? "chevron-right-line" : null}"
209
- size="${getPaginationSize}"
210
- shape="${getPaginationShape}"
211
- ?disabled="${(x) => x.total === 0 || x.selectedIndex === x.total - 1}"
212
- @click="${(x) => x.selectedIndex !== void 0 && x.selectedIndex++}"
213
- aria-label="${(x) => x.locale.pagination.nextPageLabel}"
214
- ></${buttonTag}>
215
- </div>`;
311
+ `;
216
312
  };
217
313
  //#endregion
218
- //#region src/lib/pagination/definition.ts
314
+ //#region src/lib/number-field/definition.ts
219
315
  /** @internal */
220
- var paginationDefinition = require_vivid_element.defineVividComponent("pagination", Pagination, PaginationTemplate, [require_definition.buttonDefinition], { styles: pagination_default });
316
+ var numberFieldDefinition = require_vivid_element.defineVividComponent("number-field", NumberField, NumberFieldTemplate, [
317
+ require_definition$1.buttonDefinition,
318
+ require_definition$4.dividerDefinition,
319
+ require_definition.iconDefinition,
320
+ require_mixins.feedbackMessageDefinition,
321
+ require_definition$2.visuallyHiddenDefinition,
322
+ require_definition$3.contextualHelpDefinition
323
+ ], {
324
+ styles: number_field_default,
325
+ shadowOptions: { delegatesFocus: true }
326
+ });
221
327
  /**
222
- * Registers the pagination element with the design system.
328
+ * Registers the number-field elements with the design system.
223
329
  *
224
330
  * @param prefix - the prefix to use for the component name
225
331
  */
226
- var registerPagination = require_vivid_element.createRegisterFunction(paginationDefinition);
332
+ var registerNumberField = require_vivid_element.createRegisterFunction(numberFieldDefinition);
227
333
  //#endregion
228
- Object.defineProperty(exports, "Pagination", {
334
+ Object.defineProperty(exports, "NumberField", {
229
335
  enumerable: true,
230
336
  get: function() {
231
- return Pagination;
337
+ return NumberField;
232
338
  }
233
339
  });
234
- Object.defineProperty(exports, "paginationDefinition", {
340
+ Object.defineProperty(exports, "numberFieldDefinition", {
235
341
  enumerable: true,
236
342
  get: function() {
237
- return paginationDefinition;
343
+ return numberFieldDefinition;
238
344
  }
239
345
  });
240
- Object.defineProperty(exports, "registerPagination", {
346
+ Object.defineProperty(exports, "registerNumberField", {
241
347
  enumerable: true,
242
348
  get: function() {
243
- return registerPagination;
349
+ return registerNumberField;
244
350
  }
245
351
  });