@dialpad/dialtone-vue 3.210.0 → 3.211.0-next.2

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 (558) hide show
  1. package/dist/common/constants/index.cjs +1 -1
  2. package/dist/common/constants/index.cjs.map +1 -1
  3. package/dist/common/constants/index.js +10 -10
  4. package/dist/common/constants/index.js.map +1 -1
  5. package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
  6. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  7. package/dist/common/mixins/keyboard-list-navigation.js +7 -7
  8. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  9. package/dist/component-documentation.json +1 -1
  10. package/dist/dialtone-vue.cjs +1 -1
  11. package/dist/dialtone-vue.js +425 -387
  12. package/dist/dialtone-vue.js.map +1 -1
  13. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  14. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  15. package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
  16. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  17. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  18. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  19. package/dist/lib/avatar/avatar-constants.js +169 -43
  20. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  21. package/dist/lib/avatar/avatar.cjs +1 -1
  22. package/dist/lib/avatar/avatar.cjs.map +1 -1
  23. package/dist/lib/avatar/avatar.js +185 -100
  24. package/dist/lib/avatar/avatar.js.map +1 -1
  25. package/dist/lib/avatar/index.cjs +1 -1
  26. package/dist/lib/avatar/index.js +16 -10
  27. package/dist/lib/badge/badge.cjs +1 -1
  28. package/dist/lib/badge/badge.cjs.map +1 -1
  29. package/dist/lib/badge/badge.js +47 -35
  30. package/dist/lib/badge/badge.js.map +1 -1
  31. package/dist/lib/banner/banner.cjs +1 -1
  32. package/dist/lib/banner/banner.cjs.map +1 -1
  33. package/dist/lib/banner/banner.js +19 -18
  34. package/dist/lib/banner/banner.js.map +1 -1
  35. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  36. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  37. package/dist/lib/breadcrumbs/breadcrumb-item.js +3 -1
  38. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  39. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  40. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  41. package/dist/lib/breadcrumbs/breadcrumbs.js +21 -18
  42. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  43. package/dist/lib/button/button-constants.cjs +1 -1
  44. package/dist/lib/button/button-constants.cjs.map +1 -1
  45. package/dist/lib/button/button-constants.js +23 -19
  46. package/dist/lib/button/button-constants.js.map +1 -1
  47. package/dist/lib/button/button.cjs +1 -1
  48. package/dist/lib/button/button.cjs.map +1 -1
  49. package/dist/lib/button/button.js +171 -66
  50. package/dist/lib/button/button.js.map +1 -1
  51. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  52. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  53. package/dist/lib/callbar-button/callbar-button.js +13 -14
  54. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  55. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  56. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  57. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +42 -30
  58. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  59. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  60. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  61. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -26
  62. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  63. package/dist/lib/callbox/callbox.cjs +1 -1
  64. package/dist/lib/callbox/callbox.cjs.map +1 -1
  65. package/dist/lib/callbox/callbox.js +47 -47
  66. package/dist/lib/callbox/callbox.js.map +1 -1
  67. package/dist/lib/checkbox/checkbox.cjs +1 -1
  68. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  69. package/dist/lib/checkbox/checkbox.js +97 -43
  70. package/dist/lib/checkbox/checkbox.js.map +1 -1
  71. package/dist/lib/chip/chip.cjs +1 -1
  72. package/dist/lib/chip/chip.cjs.map +1 -1
  73. package/dist/lib/chip/chip.js +1 -1
  74. package/dist/lib/chip/chip.js.map +1 -1
  75. package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
  76. package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
  77. package/dist/lib/codeblock/codeblock-constants.js +6 -0
  78. package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
  79. package/dist/lib/codeblock/codeblock.cjs +1 -2
  80. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  81. package/dist/lib/codeblock/codeblock.js +34 -13
  82. package/dist/lib/codeblock/codeblock.js.map +1 -1
  83. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  84. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  85. package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
  86. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  87. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  88. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  89. package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
  90. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  91. package/dist/lib/contact-info/contact-info.cjs +1 -1
  92. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  93. package/dist/lib/contact-info/contact-info.js +56 -56
  94. package/dist/lib/contact-info/contact-info.js.map +1 -1
  95. package/dist/lib/contact-row/contact-row.cjs +1 -1
  96. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  97. package/dist/lib/contact-row/contact-row.js +1 -1
  98. package/dist/lib/contact-row/contact-row.js.map +1 -1
  99. package/dist/lib/datepicker/datepicker.cjs +1 -1
  100. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  101. package/dist/lib/datepicker/datepicker.js +13 -17
  102. package/dist/lib/datepicker/datepicker.js.map +1 -1
  103. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  104. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  105. package/dist/lib/dropdown/dropdown-list.js +29 -18
  106. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  107. package/dist/lib/editor/editor.cjs.map +1 -1
  108. package/dist/lib/editor/editor.js.map +1 -1
  109. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  110. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  111. package/dist/lib/emoji-picker/emoji-picker.js +2 -2
  112. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  113. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  114. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  115. package/dist/lib/empty-state/empty-state-constants.js +28 -16
  116. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  117. package/dist/lib/empty-state/empty-state.cjs +1 -1
  118. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  119. package/dist/lib/empty-state/empty-state.js +54 -32
  120. package/dist/lib/empty-state/empty-state.js.map +1 -1
  121. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  122. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  123. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  124. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  125. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  126. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  127. package/dist/lib/feed-item-row/feed-item-row.js +11 -11
  128. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  129. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  130. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  131. package/dist/lib/filter-pill/filter-pill.js +346 -0
  132. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  133. package/dist/lib/filter-pill/index.cjs +2 -0
  134. package/dist/lib/filter-pill/index.cjs.map +1 -0
  135. package/dist/lib/filter-pill/index.js +5 -0
  136. package/dist/lib/filter-pill/index.js.map +1 -0
  137. package/dist/lib/general-row/general-row.cjs +1 -1
  138. package/dist/lib/general-row/general-row.cjs.map +1 -1
  139. package/dist/lib/general-row/general-row.js +153 -99
  140. package/dist/lib/general-row/general-row.js.map +1 -1
  141. package/dist/lib/group-row/group-row.cjs +1 -1
  142. package/dist/lib/group-row/group-row.cjs.map +1 -1
  143. package/dist/lib/group-row/group-row.js +1 -1
  144. package/dist/lib/group-row/group-row.js.map +1 -1
  145. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  146. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  147. package/dist/lib/grouped-chip/grouped-chip.js +31 -31
  148. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  149. package/dist/lib/input/input-constants.cjs +1 -1
  150. package/dist/lib/input/input-constants.cjs.map +1 -1
  151. package/dist/lib/input/input-constants.js +17 -22
  152. package/dist/lib/input/input-constants.js.map +1 -1
  153. package/dist/lib/input/input.cjs +1 -1
  154. package/dist/lib/input/input.cjs.map +1 -1
  155. package/dist/lib/input/input.js +144 -72
  156. package/dist/lib/input/input.js.map +1 -1
  157. package/dist/lib/input-group/input-group.cjs +1 -1
  158. package/dist/lib/input-group/input-group.cjs.map +1 -1
  159. package/dist/lib/input-group/input-group.js +35 -28
  160. package/dist/lib/input-group/input-group.js.map +1 -1
  161. package/dist/lib/item-layout/item-layout.cjs +3 -3
  162. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  163. package/dist/lib/item-layout/item-layout.js +74 -39
  164. package/dist/lib/item-layout/item-layout.js.map +1 -1
  165. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  166. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  167. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +56 -43
  168. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  169. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  170. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  171. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  172. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  173. package/dist/lib/link/link.cjs +1 -1
  174. package/dist/lib/link/link.cjs.map +1 -1
  175. package/dist/lib/link/link.js +22 -12
  176. package/dist/lib/link/link.js.map +1 -1
  177. package/dist/lib/list-item/list-item.cjs +1 -1
  178. package/dist/lib/list-item/list-item.cjs.map +1 -1
  179. package/dist/lib/list-item/list-item.js +25 -15
  180. package/dist/lib/list-item/list-item.js.map +1 -1
  181. package/dist/lib/loader/loader.cjs +13 -1
  182. package/dist/lib/loader/loader.cjs.map +1 -1
  183. package/dist/lib/loader/loader.js +31 -20
  184. package/dist/lib/loader/loader.js.map +1 -1
  185. package/dist/lib/message-input/message-input.cjs +1 -1
  186. package/dist/lib/message-input/message-input.cjs.map +1 -1
  187. package/dist/lib/message-input/message-input.js +39 -39
  188. package/dist/lib/message-input/message-input.js.map +1 -1
  189. package/dist/lib/modal/modal.cjs +1 -1
  190. package/dist/lib/modal/modal.cjs.map +1 -1
  191. package/dist/lib/modal/modal.js +74 -61
  192. package/dist/lib/modal/modal.js.map +1 -1
  193. package/dist/lib/mode-island/index.cjs +2 -0
  194. package/dist/lib/mode-island/index.cjs.map +1 -0
  195. package/dist/lib/mode-island/index.js +7 -0
  196. package/dist/lib/mode-island/index.js.map +1 -0
  197. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  198. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  199. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  200. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  201. package/dist/lib/mode-island/mode-island.cjs +2 -0
  202. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  203. package/dist/lib/mode-island/mode-island.js +130 -0
  204. package/dist/lib/mode-island/mode-island.js.map +1 -0
  205. package/dist/lib/mode-island/utils.cjs +2 -0
  206. package/dist/lib/mode-island/utils.cjs.map +1 -0
  207. package/dist/lib/mode-island/utils.js +32 -0
  208. package/dist/lib/mode-island/utils.js.map +1 -0
  209. package/dist/lib/mode-island/validators.cjs +2 -0
  210. package/dist/lib/mode-island/validators.cjs.map +1 -0
  211. package/dist/lib/mode-island/validators.js +12 -0
  212. package/dist/lib/mode-island/validators.js.map +1 -0
  213. package/dist/lib/notice/notice-action.cjs +1 -1
  214. package/dist/lib/notice/notice-action.cjs.map +1 -1
  215. package/dist/lib/notice/notice-action.js +7 -7
  216. package/dist/lib/notice/notice-action.js.map +1 -1
  217. package/dist/lib/notice/notice-content.cjs +1 -1
  218. package/dist/lib/notice/notice-content.cjs.map +1 -1
  219. package/dist/lib/notice/notice-content.js +38 -21
  220. package/dist/lib/notice/notice-content.js.map +1 -1
  221. package/dist/lib/notice/notice.cjs +1 -1
  222. package/dist/lib/notice/notice.cjs.map +1 -1
  223. package/dist/lib/notice/notice.js +20 -19
  224. package/dist/lib/notice/notice.js.map +1 -1
  225. package/dist/lib/pagination/pagination.cjs +1 -1
  226. package/dist/lib/pagination/pagination.cjs.map +1 -1
  227. package/dist/lib/pagination/pagination.js +15 -14
  228. package/dist/lib/pagination/pagination.js.map +1 -1
  229. package/dist/lib/popover/popover.cjs +1 -1
  230. package/dist/lib/popover/popover.cjs.map +1 -1
  231. package/dist/lib/popover/popover.js +1 -1
  232. package/dist/lib/popover/popover.js.map +1 -1
  233. package/dist/lib/progress-circle/index.cjs +2 -0
  234. package/dist/lib/progress-circle/index.cjs.map +1 -0
  235. package/dist/lib/progress-circle/index.js +10 -0
  236. package/dist/lib/progress-circle/index.js.map +1 -0
  237. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
  238. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
  239. package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
  240. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
  241. package/dist/lib/progress-circle/progress-circle.cjs +2 -0
  242. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
  243. package/dist/lib/progress-circle/progress-circle.js +136 -0
  244. package/dist/lib/progress-circle/progress-circle.js.map +1 -0
  245. package/dist/lib/radio/radio.cjs +1 -1
  246. package/dist/lib/radio/radio.cjs.map +1 -1
  247. package/dist/lib/radio/radio.js +103 -41
  248. package/dist/lib/radio/radio.js.map +1 -1
  249. package/dist/lib/rich-text-editor/rich-text-editor.cjs +4 -4
  250. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  251. package/dist/lib/rich-text-editor/rich-text-editor.js +607 -560
  252. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  253. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  254. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  255. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  256. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  257. package/dist/lib/root-layout/root-layout.cjs +1 -1
  258. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  259. package/dist/lib/root-layout/root-layout.js +15 -13
  260. package/dist/lib/root-layout/root-layout.js.map +1 -1
  261. package/dist/lib/select-menu/select-menu.cjs +1 -1
  262. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  263. package/dist/lib/select-menu/select-menu.js +113 -61
  264. package/dist/lib/select-menu/select-menu.js.map +1 -1
  265. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  266. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  267. package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
  268. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  269. package/dist/lib/split-button/split-button-end.cjs +2 -0
  270. package/dist/lib/split-button/split-button-end.cjs.map +1 -0
  271. package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +13 -13
  272. package/dist/lib/split-button/split-button-end.js.map +1 -0
  273. package/dist/lib/split-button/split-button-start.cjs +2 -0
  274. package/dist/lib/split-button/split-button-start.cjs.map +1 -0
  275. package/dist/lib/split-button/split-button-start.js +231 -0
  276. package/dist/lib/split-button/split-button-start.js.map +1 -0
  277. package/dist/lib/split-button/split-button.cjs +1 -1
  278. package/dist/lib/split-button/split-button.cjs.map +1 -1
  279. package/dist/lib/split-button/split-button.js +334 -98
  280. package/dist/lib/split-button/split-button.js.map +1 -1
  281. package/dist/lib/tab/index.cjs +1 -1
  282. package/dist/lib/tab/index.js +13 -11
  283. package/dist/lib/tab/tab-group.cjs +1 -1
  284. package/dist/lib/tab/tab-group.cjs.map +1 -1
  285. package/dist/lib/tab/tab-group.js +107 -46
  286. package/dist/lib/tab/tab-group.js.map +1 -1
  287. package/dist/lib/tab/tab.cjs +1 -1
  288. package/dist/lib/tab/tab.cjs.map +1 -1
  289. package/dist/lib/tab/tab.js +128 -37
  290. package/dist/lib/tab/tab.js.map +1 -1
  291. package/dist/lib/tab/tabs-constants.cjs +1 -1
  292. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  293. package/dist/lib/tab/tabs-constants.js +13 -11
  294. package/dist/lib/tab/tabs-constants.js.map +1 -1
  295. package/dist/lib/text/index.cjs +2 -0
  296. package/dist/lib/text/index.cjs.map +1 -0
  297. package/dist/lib/text/index.js +20 -0
  298. package/dist/lib/text/index.js.map +1 -0
  299. package/dist/lib/text/text-constants.cjs +2 -0
  300. package/dist/lib/text/text-constants.cjs.map +1 -0
  301. package/dist/lib/text/text-constants.js +69 -0
  302. package/dist/lib/text/text-constants.js.map +1 -0
  303. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  304. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  305. package/dist/lib/text/text-tone-tokens.js +33 -0
  306. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  307. package/dist/lib/text/text.cjs +2 -0
  308. package/dist/lib/text/text.cjs.map +1 -0
  309. package/dist/lib/text/text.js +203 -0
  310. package/dist/lib/text/text.js.map +1 -0
  311. package/dist/lib/toast/toast.cjs +1 -1
  312. package/dist/lib/toast/toast.cjs.map +1 -1
  313. package/dist/lib/toast/toast.js +10 -9
  314. package/dist/lib/toast/toast.js.map +1 -1
  315. package/dist/lib/toggle/toggle.cjs +1 -1
  316. package/dist/lib/toggle/toggle.cjs.map +1 -1
  317. package/dist/lib/toggle/toggle.js +37 -33
  318. package/dist/lib/toggle/toggle.js.map +1 -1
  319. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  320. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  321. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  322. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  323. package/dist/localization/en-US.cjs +2 -0
  324. package/dist/localization/en-US.cjs.map +1 -1
  325. package/dist/localization/en-US.js +2 -0
  326. package/dist/localization/en-US.js.map +1 -1
  327. package/dist/localization/es-LA.cjs +1 -1
  328. package/dist/localization/es-LA.cjs.map +1 -1
  329. package/dist/localization/es-LA.js +1 -1
  330. package/dist/localization/es-LA.js.map +1 -1
  331. package/dist/localization/it-IT.cjs +3 -3
  332. package/dist/localization/it-IT.cjs.map +1 -1
  333. package/dist/localization/it-IT.js +3 -3
  334. package/dist/localization/it-IT.js.map +1 -1
  335. package/dist/localization/nl-NL.cjs +2 -2
  336. package/dist/localization/nl-NL.cjs.map +1 -1
  337. package/dist/localization/nl-NL.js +2 -2
  338. package/dist/localization/nl-NL.js.map +1 -1
  339. package/dist/localization/ru-RU.cjs +1 -1
  340. package/dist/localization/ru-RU.cjs.map +1 -1
  341. package/dist/localization/ru-RU.js +1 -1
  342. package/dist/localization/ru-RU.js.map +1 -1
  343. package/dist/localization/zh-CN.cjs +1 -1
  344. package/dist/localization/zh-CN.cjs.map +1 -1
  345. package/dist/localization/zh-CN.js +1 -1
  346. package/dist/localization/zh-CN.js.map +1 -1
  347. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  348. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  349. package/dist/style.css +1 -1
  350. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  351. package/dist/types/common/sr_only_close_button.vue.d.ts +38 -2
  352. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  353. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  354. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  355. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  356. package/dist/types/components/avatar/index.d.ts +1 -1
  357. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  358. package/dist/types/components/banner/banner.vue.d.ts +216 -5
  359. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  360. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  361. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  362. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  363. package/dist/types/components/button/button.vue.d.ts +38 -2
  364. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  365. package/dist/types/components/button/button_constants.d.ts +4 -0
  366. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  367. package/dist/types/components/checkbox/checkbox.vue.d.ts +178 -4
  368. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  369. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +138 -0
  370. package/dist/types/components/chip/chip.vue.d.ts +38 -2
  371. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  372. package/dist/types/components/codeblock/codeblock.vue.d.ts +22 -1
  373. package/dist/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
  374. package/dist/types/components/codeblock/codeblock_constants.d.ts +3 -0
  375. package/dist/types/components/codeblock/codeblock_constants.d.ts.map +1 -0
  376. package/dist/types/components/collapsible/collapsible.vue.d.ts +38 -2
  377. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  378. package/dist/types/components/combobox/combobox.vue.d.ts +81 -15
  379. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  380. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +40 -7
  381. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  382. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +40 -7
  383. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  384. package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  385. package/dist/types/components/dropdown/dropdown.vue.d.ts +76 -4
  386. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  387. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +190 -0
  388. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts +190 -0
  389. package/dist/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  390. package/dist/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  391. package/dist/types/components/empty_state/empty_state_constants.d.ts +23 -5
  392. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2382 -0
  393. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  394. package/dist/types/components/filter_pill/index.d.ts +2 -0
  395. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  396. package/dist/types/components/hovercard/hovercard.vue.d.ts +152 -8
  397. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  398. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +76 -4
  399. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  400. package/dist/types/components/input/input.vue.d.ts +182 -0
  401. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  402. package/dist/types/components/input/input_constants.d.ts +4 -11
  403. package/dist/types/components/input_group/input_group.vue.d.ts +138 -0
  404. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  405. package/dist/types/components/item_layout/item_layout.vue.d.ts +37 -6
  406. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  407. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +138 -0
  408. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  409. package/dist/types/components/link/link.vue.d.ts +9 -0
  410. package/dist/types/components/list_item/list_item.vue.d.ts +40 -7
  411. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  412. package/dist/types/components/loader/loader.vue.d.ts +1 -32
  413. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  414. package/dist/types/components/modal/modal.vue.d.ts +214 -4
  415. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  416. package/dist/types/components/mode_island/index.d.ts +3 -0
  417. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  418. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  419. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  420. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  421. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  422. package/dist/types/components/mode_island/utils.d.ts +12 -0
  423. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  424. package/dist/types/components/mode_island/validators.d.ts +6 -0
  425. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  426. package/dist/types/components/notice/notice.vue.d.ts +216 -5
  427. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  428. package/dist/types/components/notice/notice_action.vue.d.ts +76 -4
  429. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  430. package/dist/types/components/notice/notice_content.vue.d.ts +140 -1
  431. package/dist/types/components/notice/notice_content.vue.d.ts.map +1 -1
  432. package/dist/types/components/pagination/pagination.vue.d.ts +38 -2
  433. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  434. package/dist/types/components/popover/popover.vue.d.ts +76 -4
  435. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  436. package/dist/types/components/popover/popover_header_footer.vue.d.ts +38 -2
  437. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  438. package/dist/types/components/progress_circle/index.d.ts +3 -0
  439. package/dist/types/components/progress_circle/index.d.ts.map +1 -0
  440. package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
  441. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  442. package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
  443. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  444. package/dist/types/components/radio/radio.vue.d.ts +173 -0
  445. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  446. package/dist/types/components/radio_group/radio_group.vue.d.ts +138 -0
  447. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  448. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  449. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  450. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +209 -25
  451. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  452. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +140 -1
  453. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  454. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
  455. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  456. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +296 -6
  457. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  458. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  459. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  460. package/dist/types/components/select_menu/select_menu.vue.d.ts +172 -13
  461. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  462. package/dist/types/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +39 -3
  463. package/dist/types/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
  464. package/dist/types/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +103 -4
  465. package/dist/types/components/split_button/split_button-start.vue.d.ts.map +1 -0
  466. package/dist/types/components/split_button/split_button.vue.d.ts +443 -34
  467. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  468. package/dist/types/components/tab/index.d.ts +1 -1
  469. package/dist/types/components/tab/tab.vue.d.ts +73 -7
  470. package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
  471. package/dist/types/components/tab/tab_group.vue.d.ts +42 -0
  472. package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
  473. package/dist/types/components/tab/tabs_constants.d.ts +5 -3
  474. package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
  475. package/dist/types/components/text/index.d.ts +3 -0
  476. package/dist/types/components/text/index.d.ts.map +1 -0
  477. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  478. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  479. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  480. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  481. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  482. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  483. package/dist/types/components/text/text.vue.d.ts +141 -0
  484. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  485. package/dist/types/components/text/text_constants.d.ts +73 -0
  486. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  487. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  488. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  489. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +216 -5
  490. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  491. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +216 -5
  492. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  493. package/dist/types/components/toast/toast.vue.d.ts +864 -20
  494. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  495. package/dist/types/components/toggle/toggle.vue.d.ts +9 -1
  496. package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
  497. package/dist/types/index.d.ts +4 -0
  498. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +38 -2
  499. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  500. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +152 -8
  501. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  502. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +152 -8
  503. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  504. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +114 -6
  505. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  506. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +38 -2
  507. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  508. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +239 -35
  509. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  510. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +196 -12
  511. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  512. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +158 -10
  513. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  514. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +38 -2
  515. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +114 -6
  516. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  517. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +114 -6
  518. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  519. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +38 -2
  520. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  521. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +75 -8
  522. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  523. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +111 -32
  524. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  525. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +75 -8
  526. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  527. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +176 -2
  528. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  529. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +472 -8
  530. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  531. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +176 -2
  532. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  533. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +38 -2
  534. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  535. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +108 -31
  536. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  537. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  538. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  539. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +38 -2
  540. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  541. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +467 -28
  542. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  543. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +396 -3
  544. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  545. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +396 -3
  546. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  547. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  548. package/package.json +6 -5
  549. package/dist/lib/split-button/split-button-alpha.cjs +0 -2
  550. package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
  551. package/dist/lib/split-button/split-button-alpha.js +0 -138
  552. package/dist/lib/split-button/split-button-alpha.js.map +0 -1
  553. package/dist/lib/split-button/split-button-omega.cjs +0 -2
  554. package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
  555. package/dist/lib/split-button/split-button-omega.js.map +0 -1
  556. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
  557. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
  558. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const E={ERROR:"error",WARNING:"warning",SUCCESS:"success"},e={LARGE:"lg",EXTRA_LARGE:"xl"},I={xs:"",sm:"",md:"",lg:"d-description--lg",xl:"d-description--xl"},o={xs:"d-label--xs",sm:"d-label--sm",md:"",lg:"d-label--lg",xl:"d-label--xl"},t={esc:"Esc",escape:"Escape",tab:"Tab",enter:"Enter",space:"Space",spacebar:"Spacebar",up:"Up",arrowup:"ArrowUp",left:"Left",arrowleft:"ArrowLeft",right:"Right",arrowright:"ArrowRight",down:"Down",arrowdown:"ArrowDown",home:"Home",end:"End"},S=E.ERROR,r="dt",s={VALIDATION_MESSAGE_TYPES:E,DESCRIPTION_SIZE_TYPES:e,DEFAULT_VALIDATION_MESSAGE_TYPE:S,DEFAULT_PREFIX:r};exports.DEFAULT_PREFIX=r;exports.DEFAULT_VALIDATION_MESSAGE_TYPE=S;exports.DESCRIPTION_SIZE_MODIFIERS=I;exports.DESCRIPTION_SIZE_TYPES=e;exports.EVENT_KEYNAMES=t;exports.LABEL_SIZE_MODIFIERS=o;exports.VALIDATION_MESSAGE_TYPES=E;exports.default=s;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const E={ERROR:"error",WARNING:"warning",SUCCESS:"success"},e={LARGE:"lg",EXTRA_LARGE:"xl"},s={xs:"d-description--xs",sm:"d-description--sm",md:"",lg:"d-description--lg",xl:"d-description--xl"},I={xs:"d-label--xs",sm:"d-label--sm",md:"",lg:"d-label--lg",xl:"d-label--xl"},o={esc:"Esc",escape:"Escape",tab:"Tab",enter:"Enter",space:"Space",spacebar:"Spacebar",up:"Up",arrowup:"ArrowUp",left:"Left",arrowleft:"ArrowLeft",right:"Right",arrowright:"ArrowRight",down:"Down",arrowdown:"ArrowDown",home:"Home",end:"End"},r=E.ERROR,S="dt",t={VALIDATION_MESSAGE_TYPES:E,DESCRIPTION_SIZE_TYPES:e,DEFAULT_VALIDATION_MESSAGE_TYPE:r,DEFAULT_PREFIX:S};exports.DEFAULT_PREFIX=S;exports.DEFAULT_VALIDATION_MESSAGE_TYPE=r;exports.DESCRIPTION_SIZE_MODIFIERS=s;exports.DESCRIPTION_SIZE_TYPES=e;exports.EVENT_KEYNAMES=o;exports.LABEL_SIZE_MODIFIERS=I;exports.VALIDATION_MESSAGE_TYPES=E;exports.default=t;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","DESCRIPTION_SIZE_TYPES","DESCRIPTION_SIZE_MODIFIERS","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX","index"],"mappings":"4GAUY,MAACA,EAA2B,CACtC,MAAO,QACP,QAAS,UACT,QAAS,SACX,EAGaC,EAAyB,CACpC,MAAO,KACP,YAAa,IACf,EAGaC,EAA6B,CACxC,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,oBACJ,GAAI,mBACN,EAGaC,EAAuB,CAClC,GAAI,cACJ,GAAI,cACJ,GAAI,GACJ,GAAI,cACJ,GAAI,aACN,EAEaC,EAAiB,CAC5B,IAAK,MACL,OAAQ,SACR,IAAK,MACL,MAAO,QACP,MAAO,QACP,SAAU,WACV,GAAI,KACJ,QAAS,UACT,KAAM,OACN,UAAW,YACX,MAAO,QACP,WAAY,aACZ,KAAM,OACN,UAAW,YACX,KAAM,OACN,IAAK,KACP,EAMaC,EAAkCL,EAAyB,MAG3DM,EAAiB,KAE9BC,EAAe,CACb,yBAAAP,EACA,uBAAAC,EACA,gCAAAI,EACA,eAAAC,CACF"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: 'd-description--xs',\n sm: 'd-description--sm',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","DESCRIPTION_SIZE_TYPES","DESCRIPTION_SIZE_MODIFIERS","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX","index"],"mappings":"4GAUY,MAACA,EAA2B,CACtC,MAAO,QACP,QAAS,UACT,QAAS,SACX,EAGaC,EAAyB,CACpC,MAAO,KACP,YAAa,IACf,EAGaC,EAA6B,CACxC,GAAI,oBACJ,GAAI,oBACJ,GAAI,GACJ,GAAI,oBACJ,GAAI,mBACN,EAGaC,EAAuB,CAClC,GAAI,cACJ,GAAI,cACJ,GAAI,GACJ,GAAI,cACJ,GAAI,aACN,EAEaC,EAAiB,CAC5B,IAAK,MACL,OAAQ,SACR,IAAK,MACL,MAAO,QACP,MAAO,QACP,SAAU,WACV,GAAI,KACJ,QAAS,UACT,KAAM,OACN,UAAW,YACX,MAAO,QACP,WAAY,aACZ,KAAM,OACN,UAAW,YACX,KAAM,OACN,IAAK,KACP,EAMaC,EAAkCL,EAAyB,MAG3DM,EAAiB,KAE9BC,EAAe,CACb,yBAAAP,EACA,uBAAAC,EACA,gCAAAI,EACA,eAAAC,CACF"}
@@ -5,9 +5,9 @@ const E = {
5
5
  }, e = {
6
6
  LARGE: "lg",
7
7
  EXTRA_LARGE: "xl"
8
- }, s = {
9
- xs: "",
10
- sm: "",
8
+ }, o = {
9
+ xs: "d-description--xs",
10
+ sm: "d-description--sm",
11
11
  md: "",
12
12
  lg: "d-description--lg",
13
13
  xl: "d-description--xl"
@@ -17,7 +17,7 @@ const E = {
17
17
  md: "",
18
18
  lg: "d-label--lg",
19
19
  xl: "d-label--xl"
20
- }, a = {
20
+ }, n = {
21
21
  esc: "Esc",
22
22
  escape: "Escape",
23
23
  tab: "Tab",
@@ -34,20 +34,20 @@ const E = {
34
34
  arrowdown: "ArrowDown",
35
35
  home: "Home",
36
36
  end: "End"
37
- }, r = E.ERROR, o = "dt", l = {
37
+ }, r = E.ERROR, s = "dt", c = {
38
38
  VALIDATION_MESSAGE_TYPES: E,
39
39
  DESCRIPTION_SIZE_TYPES: e,
40
40
  DEFAULT_VALIDATION_MESSAGE_TYPE: r,
41
- DEFAULT_PREFIX: o
41
+ DEFAULT_PREFIX: s
42
42
  };
43
43
  export {
44
- o as DEFAULT_PREFIX,
44
+ s as DEFAULT_PREFIX,
45
45
  r as DEFAULT_VALIDATION_MESSAGE_TYPE,
46
- s as DESCRIPTION_SIZE_MODIFIERS,
46
+ o as DESCRIPTION_SIZE_MODIFIERS,
47
47
  e as DESCRIPTION_SIZE_TYPES,
48
- a as EVENT_KEYNAMES,
48
+ n as EVENT_KEYNAMES,
49
49
  t as LABEL_SIZE_MODIFIERS,
50
50
  E as VALIDATION_MESSAGE_TYPES,
51
- l as default
51
+ c as default
52
52
  };
53
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","DESCRIPTION_SIZE_TYPES","DESCRIPTION_SIZE_MODIFIERS","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX","index"],"mappings":"AAUY,MAACA,IAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX,GAGaC,IAAyB;AAAA,EACpC,OAAO;AAAA,EACP,aAAa;AACf,GAGaC,IAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAGaC,IAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AACP,GAMaC,IAAkCL,EAAyB,OAG3DM,IAAiB,MAE9BC,IAAe;AAAA,EACb,0BAAAP;AAAA,EACA,wBAAAC;AAAA,EACA,iCAAAI;AAAA,EACA,gBAAAC;AACF;"}
1
+ {"version":3,"file":"index.js","sources":["../../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: 'd-description--xs',\n sm: 'd-description--sm',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","DESCRIPTION_SIZE_TYPES","DESCRIPTION_SIZE_MODIFIERS","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX","index"],"mappings":"AAUY,MAACA,IAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX,GAGaC,IAAyB;AAAA,EACpC,OAAO;AAAA,EACP,aAAa;AACf,GAGaC,IAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAGaC,IAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AACP,GAMaC,IAAkCL,EAAyB,OAG3DM,IAAiB,MAE9BC,IAAe;AAAA,EACb,0BAAAP;AAAA,EACA,wBAAAC;AAAA,EACA,iCAAAI;AAAA,EACA,gBAAAC;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./dom.cjs"),E=require("../utils/index.cjs"),N="listElementKey is required or the referenced element doesn't exist. Received listElement: ",v=({listItemRole:o="option",indexKey:s="highlightIndex",idKey:n="highlightId",listElementKey:I="listRef",activeItemKey:c="",openMethod:l=null,afterHighlightMethod:r=null,beginningOfListMethod:m=null,endOfListMethod:u=null,scrollToOnHighlight:g=!0,focusOnKeyboardNavigation:f=!1}={})=>({mixins:[a.default],data(){return{[s]:-1,[n]:"",scrollToOnHighlight:g,focusOnKeyboardNavigation:f}},provide(){return{highlightId:()=>this[n]}},methods:{_getListElement(){var t;return E.returnFirstEl((t=this[I]())==null?void 0:t.$el)||this[I]()},_itemsLength(){const t=this._getListItemNodes();return t===null?0:t.length},_getListItemNodes(){const t=this._getListElement();return t?Array.from(t.querySelectorAll(`[role="${o}"], #sr-only-close-button`)):(console.error(N,t),null)},onUpKey(){l&&this[l](!0),this[s]>0?this.setHighlightIndex(this[s]-1):m&&this[m](),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onDownKey(){l&&this[l](!0),this[s]<this._itemsLength()-1?this.setHighlightIndex(this[s]+1):u&&this[u](),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onHomeKey(){this.jumpToBeginning(),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onEndKey(){this.jumpToEnd(),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onNavigationKey(t){const e=this._getListItemNodes(),i=e.filter(h=>h.textContent.trim().toLowerCase().startsWith(t.toLowerCase()));if(i.length<=0)return;const d=i.findIndex(h=>this[s]===e.indexOf(h)),_=e.indexOf(d<i.length-1?i[d+1]:i[0]);this.setHighlightIndex(_),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},isValidLetter(t){return t.length>1?!1:t>="a"&&t<="z"||t>="A"&&t<="Z"},jumpToBeginning(){this.setHighlightIndex(0)},jumpToEnd(){this.setHighlightIndex(this._itemsLength()-1)},setHighlightIndex(t){this[s]=t,this[n]=this._getItemId(t),this._itemsLength()&&r&&this[r](t)},setHighlightId(t){this[n]=t,this[s]=this._getItemIndex(t),this._itemsLength()&&r&&this[r](this._getItemIndex(t))},_getItemIndex(t){const e=this._getListElement();return e?Array.from(e.querySelectorAll(`[role="${o}"], #sr-only-close-button`)).indexOf(e.querySelector(`#${t}`)):void 0},_getItemId(t){var i;const e=this._getListElement();if(e)return(i=e.querySelectorAll(`[role="${o}"], #sr-only-close-button`)[t])==null?void 0:i.id},scrollActiveItemIntoViewIfNeeded(){if(!this.scrollToOnHighlight)return;const t=this[c];if(t){const e=this._getListElement();this.scrollElementIntoViewIfNeeded(t,null,null,e)}},focusActiveItemIfNeeded(){if(!this.focusOnKeyboardNavigation)return;const t=this[c];t&&t.focus()}}});exports.default=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./dom.cjs"),E=require("../utils/index.cjs"),N="listElementKey is required or the referenced element doesn't exist. Received listElement: ",v=({listItemRole:o="option",indexKey:s="highlightIndex",idKey:n="highlightId",listElementKey:I="listRef",activeItemKey:c="",openMethod:l=null,afterHighlightMethod:r=null,beginningOfListMethod:u=null,endOfListMethod:m=null,scrollToOnHighlight:g=!0,focusOnKeyboardNavigation:f=!1}={})=>({mixins:[a.default],data(){return{[s]:-1,[n]:"",scrollToOnHighlight:g,focusOnKeyboardNavigation:f}},provide(){return{highlightId:()=>this[n]}},methods:{_getListElement(){var t;return E.returnFirstEl((t=this[I]())==null?void 0:t.$el)||this[I]()},_itemsLength(){const t=this._getListItemNodes();return t===null?0:t.length},_getListItemNodes(){const t=this._getListElement();return t?Array.from(t.querySelectorAll(`[role="${o}"], #sr-only-close-button`)):(console.error(N,t),null)},onUpKey(){l&&this[l](!0),this[s]>0?this.setHighlightIndex(this[s]-1):u&&this[u](),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onDownKey(){l&&this[l](!0),this[s]<this._itemsLength()-1?this.setHighlightIndex(this[s]+1):m&&this[m](),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onHomeKey(){this.jumpToBeginning(),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onEndKey(){this.jumpToEnd(),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},onNavigationKey(t){const e=this._getListItemNodes(),i=e.filter(h=>h.textContent.trim().toLowerCase().startsWith(t.toLowerCase()));if(i.length<=0)return;const d=i.findIndex(h=>this[s]===e.indexOf(h)),_=e.indexOf(d<i.length-1?i[d+1]:i[0]);this.setHighlightIndex(_),this.scrollActiveItemIntoViewIfNeeded(),this.focusActiveItemIfNeeded()},isValidLetter(t){return t.length>1?!1:t>="a"&&t<="z"||t>="A"&&t<="Z"},jumpToBeginning(){this.setHighlightIndex(0)},jumpToEnd(){this.setHighlightIndex(this._itemsLength()-1)},setHighlightIndex(t){this[s]=t,this[n]=this._getItemId(t),this._itemsLength()&&r&&this[r](t)},setHighlightId(t){t&&(this[n]=t,this[s]=this._getItemIndex(t),this._itemsLength()&&r&&this[r](this._getItemIndex(t)))},_getItemIndex(t){const e=this._getListElement();return e?Array.from(e.querySelectorAll(`[role="${o}"], #sr-only-close-button`)).indexOf(e.querySelector(`#${t}`)):void 0},_getItemId(t){var i;const e=this._getListElement();if(e)return(i=e.querySelectorAll(`[role="${o}"], #sr-only-close-button`)[t])==null?void 0:i.id},scrollActiveItemIntoViewIfNeeded(){if(!this.scrollToOnHighlight)return;const t=this[c];if(t){const e=this._getListElement();this.scrollElementIntoViewIfNeeded(t,null,null,e)}},focusActiveItemIfNeeded(){if(!this.focusOnKeyboardNavigation)return;const t=this[c];t&&t.focus()}}});exports.default=v;
2
2
  //# sourceMappingURL=keyboard-list-navigation.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-list-navigation.cjs","sources":["../../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["import Dom from './dom';\nimport { returnFirstEl } from '@/common/utils';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return returnFirstEl(this[listElementKey]()?.$el) || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":["ERROR_INVALID_LIST_ELEMENT","KeyboardNavigation","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","Dom","returnFirstEl","_a","listItems","listElement","key","matchingItems","item","highlightedMatchingItemIndex","nextHighlightedItemIndex","num","id","index","activeItemEl"],"mappings":"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"}
1
+ {"version":3,"file":"keyboard-list-navigation.cjs","sources":["../../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["import Dom from './dom';\nimport { returnFirstEl } from '@/common/utils';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return returnFirstEl(this[listElementKey]()?.$el) || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n if (!id) return;\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":["ERROR_INVALID_LIST_ELEMENT","KeyboardNavigation","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","Dom","returnFirstEl","_a","listItems","listElement","key","matchingItems","item","highlightedMatchingItemIndex","nextHighlightedItemIndex","num","id","index","activeItemEl"],"mappings":"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"}
@@ -19,9 +19,9 @@ const _ = "listElementKey is required or the referenced element doesn't exist. R
19
19
  // Optional, method to call when the highlightIndex goes past the beginning of the list.
20
20
  beginningOfListMethod: m = null,
21
21
  // Optional, method to call when the highlightIndex goes past the end of the list.
22
- endOfListMethod: g = null,
22
+ endOfListMethod: u = null,
23
23
  // Scroll the active element into view when highlighted by a keyboard event.
24
- scrollToOnHighlight: f = !0,
24
+ scrollToOnHighlight: g = !0,
25
25
  // Focus the active element on keyboard navigation.
26
26
  focusOnKeyboardNavigation: d = !1
27
27
  } = {}) => ({
@@ -30,7 +30,7 @@ const _ = "listElementKey is required or the referenced element doesn't exist. R
30
30
  return {
31
31
  [s]: -1,
32
32
  [n]: "",
33
- scrollToOnHighlight: f,
33
+ scrollToOnHighlight: g,
34
34
  focusOnKeyboardNavigation: d
35
35
  };
36
36
  },
@@ -62,7 +62,7 @@ const _ = "listElementKey is required or the referenced element doesn't exist. R
62
62
  l && this[l](!0), this[s] > 0 ? this.setHighlightIndex(this[s] - 1) : m && this[m](), this.scrollActiveItemIntoViewIfNeeded(), this.focusActiveItemIfNeeded();
63
63
  },
64
64
  onDownKey() {
65
- l && this[l](!0), this[s] < this._itemsLength() - 1 ? this.setHighlightIndex(this[s] + 1) : g && this[g](), this.scrollActiveItemIntoViewIfNeeded(), this.focusActiveItemIfNeeded();
65
+ l && this[l](!0), this[s] < this._itemsLength() - 1 ? this.setHighlightIndex(this[s] + 1) : u && this[u](), this.scrollActiveItemIntoViewIfNeeded(), this.focusActiveItemIfNeeded();
66
66
  },
67
67
  onHomeKey() {
68
68
  this.jumpToBeginning(), this.scrollActiveItemIntoViewIfNeeded(), this.focusActiveItemIfNeeded();
@@ -74,8 +74,8 @@ const _ = "listElementKey is required or the referenced element doesn't exist. R
74
74
  const e = this._getListItemNodes(), i = e.filter((h) => h.textContent.trim().toLowerCase().startsWith(t.toLowerCase()));
75
75
  if (i.length <= 0)
76
76
  return;
77
- const u = i.findIndex((h) => this[s] === e.indexOf(h)), a = e.indexOf(
78
- u < i.length - 1 ? i[u + 1] : i[0]
77
+ const f = i.findIndex((h) => this[s] === e.indexOf(h)), a = e.indexOf(
78
+ f < i.length - 1 ? i[f + 1] : i[0]
79
79
  );
80
80
  this.setHighlightIndex(a), this.scrollActiveItemIntoViewIfNeeded(), this.focusActiveItemIfNeeded();
81
81
  },
@@ -92,7 +92,7 @@ const _ = "listElementKey is required or the referenced element doesn't exist. R
92
92
  this[s] = t, this[n] = this._getItemId(t), this._itemsLength() && r && this[r](t);
93
93
  },
94
94
  setHighlightId(t) {
95
- this[n] = t, this[s] = this._getItemIndex(t), this._itemsLength() && r && this[r](this._getItemIndex(t));
95
+ t && (this[n] = t, this[s] = this._getItemIndex(t), this._itemsLength() && r && this[r](this._getItemIndex(t)));
96
96
  },
97
97
  _getItemIndex(t) {
98
98
  const e = this._getListElement();
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-list-navigation.js","sources":["../../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["import Dom from './dom';\nimport { returnFirstEl } from '@/common/utils';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return returnFirstEl(this[listElementKey]()?.$el) || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":["ERROR_INVALID_LIST_ELEMENT","KeyboardNavigation","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","Dom","returnFirstEl","_a","listItems","listElement","key","matchingItems","item","highlightedMatchingItemIndex","nextHighlightedItemIndex","num","id","index","activeItemEl"],"mappings":"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"}
1
+ {"version":3,"file":"keyboard-list-navigation.js","sources":["../../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["import Dom from './dom';\nimport { returnFirstEl } from '@/common/utils';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return returnFirstEl(this[listElementKey]()?.$el) || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n if (!id) return;\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":["ERROR_INVALID_LIST_ELEMENT","KeyboardNavigation","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","Dom","returnFirstEl","_a","listItems","listElement","key","matchingItems","item","highlightedMatchingItemIndex","nextHighlightedItemIndex","num","id","index","activeItemEl"],"mappings":"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"}