@dialpad/dialtone 9.65.0 → 9.66.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 (870) hide show
  1. package/dist/chunks/tokens-base-dark--ozK7f0P.js +4 -0
  2. package/dist/chunks/tokens-base-dark-V8E4WaJI.js +1 -0
  3. package/dist/chunks/tokens-base-light-LYlvM3eZ.js +1 -0
  4. package/dist/chunks/tokens-base-light-ljPrpLe2.js +4 -0
  5. package/dist/css/dialtone-default-theme.css +57 -55
  6. package/dist/css/dialtone-default-theme.min.css +1 -1
  7. package/dist/css/dialtone.css +8 -6
  8. package/dist/css/dialtone.min.css +1 -1
  9. package/dist/css/tokens/tokens-base-dark.css +5 -5
  10. package/dist/css/tokens/tokens-base-light.css +5 -5
  11. package/dist/css/tokens/tokens-dp-dark.css +44 -44
  12. package/dist/css/tokens/tokens-dp-light.css +44 -44
  13. package/dist/css/tokens/tokens-expressive-dark.css +50 -50
  14. package/dist/css/tokens/tokens-expressive-light.css +50 -50
  15. package/dist/css/tokens/tokens-expressive-sm-dark.css +50 -50
  16. package/dist/css/tokens/tokens-expressive-sm-light.css +50 -50
  17. package/dist/css/tokens/tokens-tmo-dark.css +44 -44
  18. package/dist/css/tokens/tokens-tmo-light.css +44 -44
  19. package/dist/themes/dp-dark.cjs +1 -1
  20. package/dist/themes/dp-dark.js +2 -2
  21. package/dist/themes/dp-light.cjs +1 -1
  22. package/dist/themes/dp-light.js +2 -2
  23. package/dist/themes/expressive-dark.cjs +1 -1
  24. package/dist/themes/expressive-dark.js +2 -2
  25. package/dist/themes/expressive-light.cjs +1 -1
  26. package/dist/themes/expressive-light.js +2 -2
  27. package/dist/themes/expressive-sm-dark.cjs +1 -1
  28. package/dist/themes/expressive-sm-dark.js +2 -2
  29. package/dist/themes/expressive-sm-light.cjs +1 -1
  30. package/dist/themes/expressive-sm-light.js +2 -2
  31. package/dist/themes/tmo-dark.cjs +1 -1
  32. package/dist/themes/tmo-dark.js +2 -2
  33. package/dist/themes/tmo-light.cjs +1 -1
  34. package/dist/themes/tmo-light.js +2 -2
  35. package/dist/tokens/css/tokens-base-dark.css +5 -5
  36. package/dist/tokens/css/tokens-base-light.css +5 -5
  37. package/dist/tokens/css/tokens-dp-dark.css +44 -44
  38. package/dist/tokens/css/tokens-dp-light.css +44 -44
  39. package/dist/tokens/css/tokens-expressive-dark.css +50 -50
  40. package/dist/tokens/css/tokens-expressive-light.css +50 -50
  41. package/dist/tokens/css/tokens-expressive-sm-dark.css +50 -50
  42. package/dist/tokens/css/tokens-expressive-sm-light.css +50 -50
  43. package/dist/tokens/css/tokens-tmo-dark.css +44 -44
  44. package/dist/tokens/css/tokens-tmo-light.css +44 -44
  45. package/dist/tokens/doc.json +14285 -14285
  46. package/dist/tokens/less/tokens-base-dark.less +5 -5
  47. package/dist/tokens/less/tokens-base-light.less +5 -5
  48. package/dist/tokens/less/tokens-dp-dark.less +44 -44
  49. package/dist/tokens/less/tokens-dp-light.less +44 -44
  50. package/dist/tokens/less/tokens-expressive-dark.less +50 -50
  51. package/dist/tokens/less/tokens-expressive-light.less +50 -50
  52. package/dist/tokens/less/tokens-expressive-sm-dark.less +50 -50
  53. package/dist/tokens/less/tokens-expressive-sm-light.less +50 -50
  54. package/dist/tokens/less/tokens-tmo-dark.less +44 -44
  55. package/dist/tokens/less/tokens-tmo-light.less +44 -44
  56. package/dist/tokens/tokens-base-dark.json +5 -5
  57. package/dist/tokens/tokens-base-light.json +5 -5
  58. package/dist/tokens/tokens-dp-dark.json +44 -44
  59. package/dist/tokens/tokens-dp-light.json +44 -44
  60. package/dist/tokens/tokens-expressive-dark.json +50 -50
  61. package/dist/tokens/tokens-expressive-light.json +50 -50
  62. package/dist/tokens/tokens-expressive-sm-dark.json +50 -50
  63. package/dist/tokens/tokens-expressive-sm-light.json +50 -50
  64. package/dist/tokens/tokens-tmo-dark.json +44 -44
  65. package/dist/tokens/tokens-tmo-light.json +44 -44
  66. package/dist/vue2/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  67. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  68. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  69. package/dist/vue2/chunks/{dropdown-6UoczdUY.js.map → dropdown-mjrYu_mK.js.map} +1 -1
  70. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  71. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  72. package/dist/vue2/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  73. package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  74. package/dist/vue2/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  75. package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  76. package/dist/vue2/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  77. package/dist/vue2/chunks/{index-eJ-WWRdf.js.map → index-DyqUqjvI.js.map} +1 -1
  78. package/dist/vue2/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  79. package/dist/vue2/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  80. package/dist/vue2/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  81. package/dist/vue2/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  82. package/dist/vue2/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  83. package/dist/vue2/chunks/{index-gj1jEXP4.js.map → index-mBWay1Qb.js.map} +1 -1
  84. package/dist/vue2/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  85. package/dist/vue2/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  86. package/dist/vue2/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  87. package/dist/vue2/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  88. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  89. package/dist/vue2/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  90. package/dist/vue2/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  91. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  92. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  93. package/dist/{vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map → vue2/chunks/keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  94. package/dist/vue2/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  95. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  96. package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
  97. package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
  98. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  99. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  100. package/dist/vue2/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  101. package/dist/{vue3/chunks/modal-XOr4kiNZ.js.map → vue2/chunks/modal-8X6poIZW.js.map} +1 -1
  102. package/dist/vue2/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  103. package/dist/vue2/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  104. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  105. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  106. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  107. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.js.map} +1 -1
  108. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  109. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  110. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  111. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  112. package/dist/vue2/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  113. package/dist/{vue3/chunks/popover_constants-WsOUIY-m.js.map → vue2/chunks/popover_constants-h9MD6WUt.js.map} +1 -1
  114. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  115. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  116. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  117. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.js.map} +1 -1
  118. package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
  119. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  120. package/dist/vue2/chunks/{tab-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  121. package/dist/vue2/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  122. package/dist/vue2/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  123. package/dist/vue2/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.js.map} +1 -1
  124. package/dist/vue2/common/constants.cjs.map +1 -1
  125. package/dist/vue2/common/constants.js.map +1 -1
  126. package/dist/vue2/common/dates.cjs +3 -1
  127. package/dist/vue2/common/dates.cjs.map +1 -1
  128. package/dist/vue2/common/dates.js +3 -1
  129. package/dist/vue2/common/dates.js.map +1 -1
  130. package/dist/vue2/common/emoji.cjs +1 -1
  131. package/dist/vue2/common/emoji.js +1 -1
  132. package/dist/vue2/common/mixins.cjs +3 -3
  133. package/dist/vue2/common/mixins.js +3 -3
  134. package/dist/vue2/common/utils.cjs +8 -44
  135. package/dist/vue2/common/utils.cjs.map +1 -1
  136. package/dist/vue2/common/utils.js +8 -44
  137. package/dist/vue2/common/utils.js.map +1 -1
  138. package/dist/vue2/common/validators.cjs.map +1 -1
  139. package/dist/vue2/common/validators.js.map +1 -1
  140. package/dist/vue2/component-documentation.json +1 -1
  141. package/dist/vue2/dialtone-vue.cjs +12 -12
  142. package/dist/vue2/dialtone-vue.js +12 -12
  143. package/dist/vue2/lib/attachment-carousel.cjs +172 -48
  144. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  145. package/dist/vue2/lib/attachment-carousel.js +172 -48
  146. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  147. package/dist/vue2/lib/avatar.cjs +75 -58
  148. package/dist/vue2/lib/avatar.cjs.map +1 -1
  149. package/dist/vue2/lib/avatar.js +75 -58
  150. package/dist/vue2/lib/avatar.js.map +1 -1
  151. package/dist/vue2/lib/badge.cjs +31 -20
  152. package/dist/vue2/lib/badge.cjs.map +1 -1
  153. package/dist/vue2/lib/badge.js +31 -20
  154. package/dist/vue2/lib/badge.js.map +1 -1
  155. package/dist/vue2/lib/banner.cjs +53 -29
  156. package/dist/vue2/lib/banner.cjs.map +1 -1
  157. package/dist/vue2/lib/banner.js +53 -29
  158. package/dist/vue2/lib/banner.js.map +1 -1
  159. package/dist/vue2/lib/breadcrumbs.cjs +36 -30
  160. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  161. package/dist/vue2/lib/breadcrumbs.js +36 -30
  162. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  163. package/dist/vue2/lib/button-group.cjs +7 -14
  164. package/dist/vue2/lib/button-group.cjs.map +1 -1
  165. package/dist/vue2/lib/button-group.js +7 -14
  166. package/dist/vue2/lib/button-group.js.map +1 -1
  167. package/dist/vue2/lib/button.cjs +55 -62
  168. package/dist/vue2/lib/button.cjs.map +1 -1
  169. package/dist/vue2/lib/button.js +55 -62
  170. package/dist/vue2/lib/button.js.map +1 -1
  171. package/dist/vue2/lib/callbar-button-with-popover.cjs +91 -23
  172. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  173. package/dist/vue2/lib/callbar-button-with-popover.js +91 -23
  174. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  175. package/dist/vue2/lib/callbar-button.cjs +49 -33
  176. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  177. package/dist/vue2/lib/callbar-button.js +49 -33
  178. package/dist/vue2/lib/callbar-button.js.map +1 -1
  179. package/dist/vue2/lib/callbox.cjs +78 -15
  180. package/dist/vue2/lib/callbox.cjs.map +1 -1
  181. package/dist/vue2/lib/callbox.js +78 -15
  182. package/dist/vue2/lib/callbox.js.map +1 -1
  183. package/dist/vue2/lib/card.cjs +16 -23
  184. package/dist/vue2/lib/card.cjs.map +1 -1
  185. package/dist/vue2/lib/card.js +16 -23
  186. package/dist/vue2/lib/card.js.map +1 -1
  187. package/dist/vue2/lib/checkbox-group.cjs +3 -15
  188. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  189. package/dist/vue2/lib/checkbox-group.js +3 -15
  190. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  191. package/dist/vue2/lib/checkbox.cjs +52 -16
  192. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  193. package/dist/vue2/lib/checkbox.js +52 -16
  194. package/dist/vue2/lib/checkbox.js.map +1 -1
  195. package/dist/vue2/lib/chip.cjs +58 -26
  196. package/dist/vue2/lib/chip.cjs.map +1 -1
  197. package/dist/vue2/lib/chip.js +58 -26
  198. package/dist/vue2/lib/chip.js.map +1 -1
  199. package/dist/vue2/lib/codeblock.cjs +4 -11
  200. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  201. package/dist/vue2/lib/codeblock.js +4 -11
  202. package/dist/vue2/lib/codeblock.js.map +1 -1
  203. package/dist/vue2/lib/collapsible.cjs +91 -34
  204. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  205. package/dist/vue2/lib/collapsible.js +91 -34
  206. package/dist/vue2/lib/collapsible.js.map +1 -1
  207. package/dist/vue2/lib/combobox-multi-select.cjs +131 -38
  208. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  209. package/dist/vue2/lib/combobox-multi-select.js +131 -38
  210. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  211. package/dist/vue2/lib/combobox-with-popover.cjs +130 -39
  212. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  213. package/dist/vue2/lib/combobox-with-popover.js +130 -39
  214. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  215. package/dist/vue2/lib/combobox.cjs +3 -3
  216. package/dist/vue2/lib/combobox.js +3 -3
  217. package/dist/vue2/lib/contact-centers-row.cjs +86 -29
  218. package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
  219. package/dist/vue2/lib/contact-centers-row.js +86 -29
  220. package/dist/vue2/lib/contact-centers-row.js.map +1 -1
  221. package/dist/vue2/lib/contact-info.cjs +95 -24
  222. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  223. package/dist/vue2/lib/contact-info.js +95 -24
  224. package/dist/vue2/lib/contact-info.js.map +1 -1
  225. package/dist/vue2/lib/contact-row.cjs +61 -18
  226. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  227. package/dist/vue2/lib/contact-row.js +61 -18
  228. package/dist/vue2/lib/contact-row.js.map +1 -1
  229. package/dist/vue2/lib/datepicker.cjs +361 -102
  230. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  231. package/dist/vue2/lib/datepicker.js +361 -102
  232. package/dist/vue2/lib/datepicker.js.map +1 -1
  233. package/dist/vue2/lib/description-list.cjs +11 -12
  234. package/dist/vue2/lib/description-list.cjs.map +1 -1
  235. package/dist/vue2/lib/description-list.js +11 -12
  236. package/dist/vue2/lib/description-list.js.map +1 -1
  237. package/dist/vue2/lib/dropdown.cjs +13 -17
  238. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  239. package/dist/vue2/lib/dropdown.js +13 -17
  240. package/dist/vue2/lib/dropdown.js.map +1 -1
  241. package/dist/vue2/lib/editor.cjs +409 -109
  242. package/dist/vue2/lib/editor.cjs.map +1 -1
  243. package/dist/vue2/lib/editor.js +409 -109
  244. package/dist/vue2/lib/editor.js.map +1 -1
  245. package/dist/vue2/lib/emoji-picker.cjs +512 -234
  246. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  247. package/dist/vue2/lib/emoji-picker.js +512 -234
  248. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  249. package/dist/vue2/lib/emoji-row.cjs +69 -31
  250. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  251. package/dist/vue2/lib/emoji-row.js +69 -31
  252. package/dist/vue2/lib/emoji-row.js.map +1 -1
  253. package/dist/vue2/lib/emoji-text-wrapper.cjs +14 -22
  254. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  255. package/dist/vue2/lib/emoji-text-wrapper.js +14 -22
  256. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  257. package/dist/vue2/lib/emoji.cjs +40 -13
  258. package/dist/vue2/lib/emoji.cjs.map +1 -1
  259. package/dist/vue2/lib/emoji.js +40 -13
  260. package/dist/vue2/lib/emoji.js.map +1 -1
  261. package/dist/vue2/lib/empty-state.cjs +27 -12
  262. package/dist/vue2/lib/empty-state.cjs.map +1 -1
  263. package/dist/vue2/lib/empty-state.js +27 -12
  264. package/dist/vue2/lib/empty-state.js.map +1 -1
  265. package/dist/vue2/lib/feed-item-row.cjs +106 -27
  266. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  267. package/dist/vue2/lib/feed-item-row.js +106 -27
  268. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  269. package/dist/vue2/lib/feed-pill.cjs +90 -35
  270. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  271. package/dist/vue2/lib/feed-pill.js +90 -35
  272. package/dist/vue2/lib/feed-pill.js.map +1 -1
  273. package/dist/vue2/lib/general-row.cjs +184 -75
  274. package/dist/vue2/lib/general-row.cjs.map +1 -1
  275. package/dist/vue2/lib/general-row.js +184 -75
  276. package/dist/vue2/lib/general-row.js.map +1 -1
  277. package/dist/vue2/lib/group-row.cjs +27 -16
  278. package/dist/vue2/lib/group-row.cjs.map +1 -1
  279. package/dist/vue2/lib/group-row.js +27 -16
  280. package/dist/vue2/lib/group-row.js.map +1 -1
  281. package/dist/vue2/lib/grouped-chip.cjs +68 -20
  282. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  283. package/dist/vue2/lib/grouped-chip.js +68 -20
  284. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  285. package/dist/vue2/lib/hovercard.cjs +71 -41
  286. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  287. package/dist/vue2/lib/hovercard.js +71 -41
  288. package/dist/vue2/lib/hovercard.js.map +1 -1
  289. package/dist/vue2/lib/icon.cjs +10 -12
  290. package/dist/vue2/lib/icon.cjs.map +1 -1
  291. package/dist/vue2/lib/icon.js +10 -12
  292. package/dist/vue2/lib/icon.js.map +1 -1
  293. package/dist/vue2/lib/illustration.cjs +9 -12
  294. package/dist/vue2/lib/illustration.cjs.map +1 -1
  295. package/dist/vue2/lib/illustration.js +9 -12
  296. package/dist/vue2/lib/illustration.js.map +1 -1
  297. package/dist/vue2/lib/image-viewer.cjs +98 -23
  298. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  299. package/dist/vue2/lib/image-viewer.js +98 -23
  300. package/dist/vue2/lib/image-viewer.js.map +1 -1
  301. package/dist/vue2/lib/input-group.cjs +24 -14
  302. package/dist/vue2/lib/input-group.cjs.map +1 -1
  303. package/dist/vue2/lib/input-group.js +24 -14
  304. package/dist/vue2/lib/input-group.js.map +1 -1
  305. package/dist/vue2/lib/input.cjs +108 -40
  306. package/dist/vue2/lib/input.cjs.map +1 -1
  307. package/dist/vue2/lib/input.js +108 -40
  308. package/dist/vue2/lib/input.js.map +1 -1
  309. package/dist/vue2/lib/item-layout.cjs +42 -11
  310. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  311. package/dist/vue2/lib/item-layout.js +42 -11
  312. package/dist/vue2/lib/item-layout.js.map +1 -1
  313. package/dist/vue2/lib/ivr-node.cjs +135 -47
  314. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  315. package/dist/vue2/lib/ivr-node.js +135 -47
  316. package/dist/vue2/lib/ivr-node.js.map +1 -1
  317. package/dist/vue2/lib/keyboard-shortcut.cjs +35 -23
  318. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  319. package/dist/vue2/lib/keyboard-shortcut.js +35 -23
  320. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  321. package/dist/vue2/lib/lazy-show.cjs +15 -11
  322. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  323. package/dist/vue2/lib/lazy-show.js +15 -11
  324. package/dist/vue2/lib/lazy-show.js.map +1 -1
  325. package/dist/vue2/lib/link.cjs +9 -15
  326. package/dist/vue2/lib/link.cjs.map +1 -1
  327. package/dist/vue2/lib/link.js +9 -15
  328. package/dist/vue2/lib/link.js.map +1 -1
  329. package/dist/vue2/lib/list-item-group.cjs +17 -11
  330. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  331. package/dist/vue2/lib/list-item-group.js +17 -11
  332. package/dist/vue2/lib/list-item-group.js.map +1 -1
  333. package/dist/vue2/lib/list-item.cjs +42 -23
  334. package/dist/vue2/lib/list-item.cjs.map +1 -1
  335. package/dist/vue2/lib/list-item.js +42 -23
  336. package/dist/vue2/lib/list-item.js.map +1 -1
  337. package/dist/vue2/lib/message-input.cjs +367 -97
  338. package/dist/vue2/lib/message-input.cjs.map +1 -1
  339. package/dist/vue2/lib/message-input.js +367 -97
  340. package/dist/vue2/lib/message-input.js.map +1 -1
  341. package/dist/vue2/lib/modal.cjs +94 -36
  342. package/dist/vue2/lib/modal.cjs.map +1 -1
  343. package/dist/vue2/lib/modal.js +94 -36
  344. package/dist/vue2/lib/modal.js.map +1 -1
  345. package/dist/vue2/lib/notice.cjs +40 -21
  346. package/dist/vue2/lib/notice.cjs.map +1 -1
  347. package/dist/vue2/lib/notice.js +40 -21
  348. package/dist/vue2/lib/notice.js.map +1 -1
  349. package/dist/vue2/lib/pagination.cjs +81 -20
  350. package/dist/vue2/lib/pagination.cjs.map +1 -1
  351. package/dist/vue2/lib/pagination.js +81 -20
  352. package/dist/vue2/lib/pagination.js.map +1 -1
  353. package/dist/vue2/lib/popover.cjs +194 -75
  354. package/dist/vue2/lib/popover.cjs.map +1 -1
  355. package/dist/vue2/lib/popover.js +195 -76
  356. package/dist/vue2/lib/popover.js.map +1 -1
  357. package/dist/vue2/lib/presence.cjs +23 -22
  358. package/dist/vue2/lib/presence.cjs.map +1 -1
  359. package/dist/vue2/lib/presence.js +23 -22
  360. package/dist/vue2/lib/presence.js.map +1 -1
  361. package/dist/vue2/lib/radio-group.cjs +2 -11
  362. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  363. package/dist/vue2/lib/radio-group.js +2 -11
  364. package/dist/vue2/lib/radio-group.js.map +1 -1
  365. package/dist/vue2/lib/radio.cjs +47 -15
  366. package/dist/vue2/lib/radio.cjs.map +1 -1
  367. package/dist/vue2/lib/radio.js +47 -15
  368. package/dist/vue2/lib/radio.js.map +1 -1
  369. package/dist/vue2/lib/rich-text-editor.cjs +340 -327
  370. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  371. package/dist/vue2/lib/rich-text-editor.js +340 -327
  372. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  373. package/dist/vue2/lib/root-layout.cjs +33 -15
  374. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  375. package/dist/vue2/lib/root-layout.js +33 -15
  376. package/dist/vue2/lib/root-layout.js.map +1 -1
  377. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
  378. package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
  379. package/dist/vue2/lib/select-menu.cjs +52 -33
  380. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  381. package/dist/vue2/lib/select-menu.js +52 -33
  382. package/dist/vue2/lib/select-menu.js.map +1 -1
  383. package/dist/vue2/lib/settings-menu-button.cjs +42 -16
  384. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  385. package/dist/vue2/lib/settings-menu-button.js +42 -16
  386. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  387. package/dist/vue2/lib/skeleton.cjs +118 -93
  388. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  389. package/dist/vue2/lib/skeleton.js +118 -93
  390. package/dist/vue2/lib/skeleton.js.map +1 -1
  391. package/dist/vue2/lib/split-button.cjs +164 -64
  392. package/dist/vue2/lib/split-button.cjs.map +1 -1
  393. package/dist/vue2/lib/split-button.js +164 -64
  394. package/dist/vue2/lib/split-button.js.map +1 -1
  395. package/dist/vue2/lib/stack.cjs +21 -33
  396. package/dist/vue2/lib/stack.cjs.map +1 -1
  397. package/dist/vue2/lib/stack.js +21 -33
  398. package/dist/vue2/lib/stack.js.map +1 -1
  399. package/dist/vue2/lib/tabs.cjs +20 -13
  400. package/dist/vue2/lib/tabs.cjs.map +1 -1
  401. package/dist/vue2/lib/tabs.js +20 -13
  402. package/dist/vue2/lib/tabs.js.map +1 -1
  403. package/dist/vue2/lib/time-pill.cjs +8 -11
  404. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  405. package/dist/vue2/lib/time-pill.js +8 -11
  406. package/dist/vue2/lib/time-pill.js.map +1 -1
  407. package/dist/vue2/lib/toast.cjs +42 -21
  408. package/dist/vue2/lib/toast.cjs.map +1 -1
  409. package/dist/vue2/lib/toast.js +42 -21
  410. package/dist/vue2/lib/toast.js.map +1 -1
  411. package/dist/vue2/lib/toggle.cjs +28 -24
  412. package/dist/vue2/lib/toggle.cjs.map +1 -1
  413. package/dist/vue2/lib/toggle.js +28 -24
  414. package/dist/vue2/lib/toggle.js.map +1 -1
  415. package/dist/vue2/lib/tooltip-directive.cjs +32 -26
  416. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  417. package/dist/vue2/lib/tooltip-directive.js +32 -26
  418. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  419. package/dist/vue2/lib/tooltip.cjs +31 -21
  420. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  421. package/dist/vue2/lib/tooltip.js +32 -22
  422. package/dist/vue2/lib/tooltip.js.map +1 -1
  423. package/dist/vue2/lib/top-banner-info.cjs +18 -21
  424. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  425. package/dist/vue2/lib/top-banner-info.js +18 -21
  426. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  427. package/dist/vue2/lib/unread-pill.cjs +18 -12
  428. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  429. package/dist/vue2/lib/unread-pill.js +18 -12
  430. package/dist/vue2/lib/unread-pill.js.map +1 -1
  431. package/dist/vue2/lib/validation-messages.cjs +23 -16
  432. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  433. package/dist/vue2/lib/validation-messages.js +23 -16
  434. package/dist/vue2/lib/validation-messages.js.map +1 -1
  435. package/dist/vue2/style.css +5 -0
  436. package/dist/vue2/types/common/emoji/index.d.ts +2 -59236
  437. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  438. package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
  439. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  440. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
  441. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
  442. package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
  443. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  444. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
  445. package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
  446. package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
  447. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  448. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  449. package/dist/vue2/types/components/input/input.vue.d.ts +1 -1
  450. package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
  451. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -1
  452. package/dist/vue2/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  453. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -3
  454. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  455. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  456. package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
  457. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
  458. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  459. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  460. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  461. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  462. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js → dropdown-6HXkh24e.js} +40 -45
  463. package/dist/vue3/chunks/{dropdown-p-Azgwov.js.map → dropdown-6HXkh24e.js.map} +1 -1
  464. package/dist/vue3/chunks/{dropdown-p-Azgwov.js → dropdown-QNvAb160.js} +40 -45
  465. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js.map → dropdown-QNvAb160.js.map} +1 -1
  466. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  467. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  468. package/dist/vue3/chunks/{icon_constants-QYpmdE0R.js → icon_constants-bvhFNOPu.js} +3 -2
  469. package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +1 -0
  470. package/dist/vue3/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-gIQj4mf7.js} +3 -2
  471. package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +1 -0
  472. package/dist/vue3/chunks/{index-b_MgDylR.js → index-T15rAIdX.js} +71 -84
  473. package/dist/vue3/chunks/{index-4qgKeErp.js.map → index-T15rAIdX.js.map} +1 -1
  474. package/dist/vue3/chunks/{index-GVD15GIB.js → index-dfdrE-3M.js} +3 -12
  475. package/dist/vue3/chunks/{index-GVD15GIB.js.map → index-dfdrE-3M.js.map} +1 -1
  476. package/dist/vue3/chunks/{index-lu2o2f4r.js → index-fEp0B-5Z.js} +3 -12
  477. package/dist/vue3/chunks/{index-lu2o2f4r.js.map → index-fEp0B-5Z.js.map} +1 -1
  478. package/dist/vue3/chunks/{index-4qgKeErp.js → index-ouh7Bvm-.js} +71 -84
  479. package/dist/vue3/chunks/{index-b_MgDylR.js.map → index-ouh7Bvm-.js.map} +1 -1
  480. package/dist/vue3/chunks/{input-NmYDD5bn.js → input-HIysg24t.js} +3 -9
  481. package/dist/vue3/chunks/{input-NmYDD5bn.js.map → input-HIysg24t.js.map} +1 -1
  482. package/dist/vue3/chunks/{input-ttnte8zB.js → input-dLLo3Wtg.js} +3 -9
  483. package/dist/vue3/chunks/{input-ttnte8zB.js.map → input-dLLo3Wtg.js.map} +1 -1
  484. package/dist/vue3/chunks/{input_group-jWnq2DJT.js → input_group-hV1WT2it.js} +4 -2
  485. package/dist/vue3/chunks/{input_group-jWnq2DJT.js.map → input_group-hV1WT2it.js.map} +1 -1
  486. package/dist/vue3/chunks/{input_group-M-D25pOJ.js → input_group-rE6nhye8.js} +4 -2
  487. package/dist/vue3/chunks/{input_group-M-D25pOJ.js.map → input_group-rE6nhye8.js.map} +1 -1
  488. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  489. package/dist/{vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map → vue3/chunks/keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  490. package/dist/vue3/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  491. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  492. package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
  493. package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
  494. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  495. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  496. package/dist/vue3/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  497. package/dist/vue3/chunks/{modal-VgxXAQFP.js.map → modal-8X6poIZW.js.map} +1 -1
  498. package/dist/vue3/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  499. package/dist/{vue2/chunks/modal-XOr4kiNZ.js.map → vue3/chunks/modal-OaWxzqNt.js.map} +1 -1
  500. package/dist/vue3/chunks/{notice_action-WTucGhvr.js → notice_action-3ed0uIMN.js} +40 -61
  501. package/dist/vue3/chunks/{notice_action-p-ePanW_.js.map → notice_action-3ed0uIMN.js.map} +1 -1
  502. package/dist/vue3/chunks/{notice_action-p-ePanW_.js → notice_action-e08Lw5W6.js} +40 -61
  503. package/dist/vue3/chunks/{notice_action-WTucGhvr.js.map → notice_action-e08Lw5W6.js.map} +1 -1
  504. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  505. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  506. package/dist/vue3/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  507. package/dist/{vue2/chunks/popover_constants-XnGWXaxX.js.map → vue3/chunks/popover_constants-6YkPPbnk.js.map} +1 -1
  508. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  509. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  510. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js → sr_only_close_button-Ji3Zlts6.js} +4 -4
  511. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js.map → sr_only_close_button-Ji3Zlts6.js.map} +1 -1
  512. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js → sr_only_close_button-gKr0Vlbz.js} +4 -4
  513. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js.map → sr_only_close_button-gKr0Vlbz.js.map} +1 -1
  514. package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
  515. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  516. package/dist/vue3/chunks/{tab-qc3f42Yp.js → tab-X7IvNGTl.js} +46 -49
  517. package/dist/vue3/chunks/{tab-qc3f42Yp.js.map → tab-X7IvNGTl.js.map} +1 -1
  518. package/dist/vue3/chunks/{tab-RTDgnD9-.js → tab-aD6t0MNo.js} +46 -49
  519. package/dist/vue3/chunks/{tab-RTDgnD9-.js.map → tab-aD6t0MNo.js.map} +1 -1
  520. package/dist/vue3/common/constants.cjs.map +1 -1
  521. package/dist/vue3/common/constants.js.map +1 -1
  522. package/dist/vue3/common/dates.cjs +3 -1
  523. package/dist/vue3/common/dates.cjs.map +1 -1
  524. package/dist/vue3/common/dates.js +3 -1
  525. package/dist/vue3/common/dates.js.map +1 -1
  526. package/dist/vue3/common/emoji.cjs +1 -1
  527. package/dist/vue3/common/emoji.js +1 -1
  528. package/dist/vue3/common/mixins.cjs +3 -3
  529. package/dist/vue3/common/mixins.js +3 -3
  530. package/dist/vue3/common/utils.cjs +11 -45
  531. package/dist/vue3/common/utils.cjs.map +1 -1
  532. package/dist/vue3/common/utils.js +11 -45
  533. package/dist/vue3/common/utils.js.map +1 -1
  534. package/dist/vue3/common/validators.cjs.map +1 -1
  535. package/dist/vue3/common/validators.js.map +1 -1
  536. package/dist/vue3/component-documentation.json +1 -1
  537. package/dist/vue3/dialtone-vue.cjs +12 -12
  538. package/dist/vue3/dialtone-vue.js +12 -12
  539. package/dist/vue3/lib/attachment-carousel.cjs +87 -108
  540. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  541. package/dist/vue3/lib/attachment-carousel.js +87 -108
  542. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  543. package/dist/vue3/lib/avatar.cjs +56 -88
  544. package/dist/vue3/lib/avatar.cjs.map +1 -1
  545. package/dist/vue3/lib/avatar.js +56 -88
  546. package/dist/vue3/lib/avatar.js.map +1 -1
  547. package/dist/vue3/lib/badge.cjs +15 -31
  548. package/dist/vue3/lib/badge.cjs.map +1 -1
  549. package/dist/vue3/lib/badge.js +15 -31
  550. package/dist/vue3/lib/badge.js.map +1 -1
  551. package/dist/vue3/lib/banner.cjs +38 -56
  552. package/dist/vue3/lib/banner.cjs.map +1 -1
  553. package/dist/vue3/lib/banner.js +38 -56
  554. package/dist/vue3/lib/banner.js.map +1 -1
  555. package/dist/vue3/lib/breadcrumbs.cjs +25 -36
  556. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  557. package/dist/vue3/lib/breadcrumbs.js +25 -36
  558. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  559. package/dist/vue3/lib/button-group.cjs +2 -7
  560. package/dist/vue3/lib/button-group.cjs.map +1 -1
  561. package/dist/vue3/lib/button-group.js +2 -7
  562. package/dist/vue3/lib/button-group.js.map +1 -1
  563. package/dist/vue3/lib/button.cjs +44 -69
  564. package/dist/vue3/lib/button.cjs.map +1 -1
  565. package/dist/vue3/lib/button.js +44 -69
  566. package/dist/vue3/lib/button.js.map +1 -1
  567. package/dist/vue3/lib/callbar-button-with-popover.cjs +68 -81
  568. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  569. package/dist/vue3/lib/callbar-button-with-popover.js +68 -81
  570. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  571. package/dist/vue3/lib/callbar-button.cjs +32 -45
  572. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  573. package/dist/vue3/lib/callbar-button.js +32 -45
  574. package/dist/vue3/lib/callbar-button.js.map +1 -1
  575. package/dist/vue3/lib/callbox.cjs +38 -57
  576. package/dist/vue3/lib/callbox.cjs.map +1 -1
  577. package/dist/vue3/lib/callbox.js +38 -57
  578. package/dist/vue3/lib/callbox.js.map +1 -1
  579. package/dist/vue3/lib/card.cjs +13 -33
  580. package/dist/vue3/lib/card.cjs.map +1 -1
  581. package/dist/vue3/lib/card.js +13 -33
  582. package/dist/vue3/lib/card.js.map +1 -1
  583. package/dist/vue3/lib/checkbox-group.cjs +2 -5
  584. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  585. package/dist/vue3/lib/checkbox-group.js +2 -5
  586. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  587. package/dist/vue3/lib/checkbox.cjs +41 -45
  588. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  589. package/dist/vue3/lib/checkbox.js +41 -45
  590. package/dist/vue3/lib/checkbox.js.map +1 -1
  591. package/dist/vue3/lib/chip.cjs +38 -53
  592. package/dist/vue3/lib/chip.cjs.map +1 -1
  593. package/dist/vue3/lib/chip.js +38 -53
  594. package/dist/vue3/lib/chip.js.map +1 -1
  595. package/dist/vue3/lib/codeblock.cjs +4 -6
  596. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  597. package/dist/vue3/lib/codeblock.js +4 -6
  598. package/dist/vue3/lib/codeblock.js.map +1 -1
  599. package/dist/vue3/lib/collapsible.cjs +62 -76
  600. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  601. package/dist/vue3/lib/collapsible.js +62 -76
  602. package/dist/vue3/lib/collapsible.js.map +1 -1
  603. package/dist/vue3/lib/combobox-multi-select.cjs +75 -88
  604. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  605. package/dist/vue3/lib/combobox-multi-select.js +75 -88
  606. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  607. package/dist/vue3/lib/combobox-with-popover.cjs +77 -85
  608. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  609. package/dist/vue3/lib/combobox-with-popover.js +77 -85
  610. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  611. package/dist/vue3/lib/combobox.cjs +3 -3
  612. package/dist/vue3/lib/combobox.js +3 -3
  613. package/dist/vue3/lib/contact-centers-row.cjs +65 -89
  614. package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
  615. package/dist/vue3/lib/contact-centers-row.js +65 -89
  616. package/dist/vue3/lib/contact-centers-row.js.map +1 -1
  617. package/dist/vue3/lib/contact-info.cjs +58 -73
  618. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  619. package/dist/vue3/lib/contact-info.js +58 -73
  620. package/dist/vue3/lib/contact-info.js.map +1 -1
  621. package/dist/vue3/lib/contact-row.cjs +37 -47
  622. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  623. package/dist/vue3/lib/contact-row.js +37 -47
  624. package/dist/vue3/lib/contact-row.js.map +1 -1
  625. package/dist/vue3/lib/datepicker.cjs +267 -263
  626. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  627. package/dist/vue3/lib/datepicker.js +267 -263
  628. package/dist/vue3/lib/datepicker.js.map +1 -1
  629. package/dist/vue3/lib/description-list.cjs +9 -14
  630. package/dist/vue3/lib/description-list.cjs.map +1 -1
  631. package/dist/vue3/lib/description-list.js +9 -14
  632. package/dist/vue3/lib/description-list.js.map +1 -1
  633. package/dist/vue3/lib/dropdown.cjs +6 -6
  634. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  635. package/dist/vue3/lib/dropdown.js +6 -6
  636. package/dist/vue3/lib/dropdown.js.map +1 -1
  637. package/dist/vue3/lib/editor.cjs +312 -249
  638. package/dist/vue3/lib/editor.cjs.map +1 -1
  639. package/dist/vue3/lib/editor.js +312 -249
  640. package/dist/vue3/lib/editor.js.map +1 -1
  641. package/dist/vue3/lib/emoji-picker.cjs +387 -419
  642. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  643. package/dist/vue3/lib/emoji-picker.js +387 -419
  644. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  645. package/dist/vue3/lib/emoji-row.cjs +59 -69
  646. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  647. package/dist/vue3/lib/emoji-row.js +59 -69
  648. package/dist/vue3/lib/emoji-row.js.map +1 -1
  649. package/dist/vue3/lib/emoji-text-wrapper.cjs +13 -12
  650. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  651. package/dist/vue3/lib/emoji-text-wrapper.js +13 -12
  652. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  653. package/dist/vue3/lib/emoji.cjs +19 -23
  654. package/dist/vue3/lib/emoji.cjs.map +1 -1
  655. package/dist/vue3/lib/emoji.js +19 -23
  656. package/dist/vue3/lib/emoji.js.map +1 -1
  657. package/dist/vue3/lib/empty-state.cjs +20 -30
  658. package/dist/vue3/lib/empty-state.cjs.map +1 -1
  659. package/dist/vue3/lib/empty-state.js +20 -30
  660. package/dist/vue3/lib/empty-state.js.map +1 -1
  661. package/dist/vue3/lib/feed-item-row.cjs +43 -74
  662. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  663. package/dist/vue3/lib/feed-item-row.js +43 -74
  664. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  665. package/dist/vue3/lib/feed-pill.cjs +45 -55
  666. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  667. package/dist/vue3/lib/feed-pill.js +45 -55
  668. package/dist/vue3/lib/feed-pill.js.map +1 -1
  669. package/dist/vue3/lib/general-row.cjs +115 -165
  670. package/dist/vue3/lib/general-row.cjs.map +1 -1
  671. package/dist/vue3/lib/general-row.js +115 -165
  672. package/dist/vue3/lib/general-row.js.map +1 -1
  673. package/dist/vue3/lib/group-row.cjs +7 -9
  674. package/dist/vue3/lib/group-row.cjs.map +1 -1
  675. package/dist/vue3/lib/group-row.js +7 -9
  676. package/dist/vue3/lib/group-row.js.map +1 -1
  677. package/dist/vue3/lib/grouped-chip.cjs +27 -48
  678. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  679. package/dist/vue3/lib/grouped-chip.js +27 -48
  680. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  681. package/dist/vue3/lib/hovercard.cjs +25 -33
  682. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  683. package/dist/vue3/lib/hovercard.js +25 -33
  684. package/dist/vue3/lib/hovercard.js.map +1 -1
  685. package/dist/vue3/lib/icon.cjs +1 -1
  686. package/dist/vue3/lib/icon.cjs.map +1 -1
  687. package/dist/vue3/lib/icon.js +1 -1
  688. package/dist/vue3/lib/icon.js.map +1 -1
  689. package/dist/vue3/lib/illustration.cjs +2 -1
  690. package/dist/vue3/lib/illustration.cjs.map +1 -1
  691. package/dist/vue3/lib/illustration.js +2 -1
  692. package/dist/vue3/lib/illustration.js.map +1 -1
  693. package/dist/vue3/lib/image-viewer.cjs +62 -66
  694. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  695. package/dist/vue3/lib/image-viewer.js +62 -66
  696. package/dist/vue3/lib/image-viewer.js.map +1 -1
  697. package/dist/vue3/lib/input-group.cjs +15 -19
  698. package/dist/vue3/lib/input-group.cjs.map +1 -1
  699. package/dist/vue3/lib/input-group.js +15 -19
  700. package/dist/vue3/lib/input-group.js.map +1 -1
  701. package/dist/vue3/lib/input.cjs +76 -104
  702. package/dist/vue3/lib/input.cjs.map +1 -1
  703. package/dist/vue3/lib/input.js +76 -104
  704. package/dist/vue3/lib/input.js.map +1 -1
  705. package/dist/vue3/lib/item-layout.cjs +10 -27
  706. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  707. package/dist/vue3/lib/item-layout.js +10 -27
  708. package/dist/vue3/lib/item-layout.js.map +1 -1
  709. package/dist/vue3/lib/ivr-node.cjs +80 -89
  710. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  711. package/dist/vue3/lib/ivr-node.js +80 -89
  712. package/dist/vue3/lib/ivr-node.js.map +1 -1
  713. package/dist/vue3/lib/keyboard-shortcut.cjs +26 -31
  714. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  715. package/dist/vue3/lib/keyboard-shortcut.js +26 -31
  716. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  717. package/dist/vue3/lib/lazy-show.cjs +6 -8
  718. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  719. package/dist/vue3/lib/lazy-show.js +6 -8
  720. package/dist/vue3/lib/lazy-show.js.map +1 -1
  721. package/dist/vue3/lib/link.cjs +2 -7
  722. package/dist/vue3/lib/link.cjs.map +1 -1
  723. package/dist/vue3/lib/link.js +2 -7
  724. package/dist/vue3/lib/link.js.map +1 -1
  725. package/dist/vue3/lib/list-item-group.cjs +7 -14
  726. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  727. package/dist/vue3/lib/list-item-group.js +7 -14
  728. package/dist/vue3/lib/list-item-group.js.map +1 -1
  729. package/dist/vue3/lib/list-item.cjs +24 -25
  730. package/dist/vue3/lib/list-item.cjs.map +1 -1
  731. package/dist/vue3/lib/list-item.js +24 -25
  732. package/dist/vue3/lib/list-item.js.map +1 -1
  733. package/dist/vue3/lib/message-input.cjs +239 -277
  734. package/dist/vue3/lib/message-input.cjs.map +1 -1
  735. package/dist/vue3/lib/message-input.js +240 -278
  736. package/dist/vue3/lib/message-input.js.map +1 -1
  737. package/dist/vue3/lib/modal.cjs +59 -99
  738. package/dist/vue3/lib/modal.cjs.map +1 -1
  739. package/dist/vue3/lib/modal.js +59 -99
  740. package/dist/vue3/lib/modal.js.map +1 -1
  741. package/dist/vue3/lib/notice.cjs +33 -46
  742. package/dist/vue3/lib/notice.cjs.map +1 -1
  743. package/dist/vue3/lib/notice.js +33 -46
  744. package/dist/vue3/lib/notice.js.map +1 -1
  745. package/dist/vue3/lib/pagination.cjs +49 -61
  746. package/dist/vue3/lib/pagination.cjs.map +1 -1
  747. package/dist/vue3/lib/pagination.js +49 -61
  748. package/dist/vue3/lib/pagination.js.map +1 -1
  749. package/dist/vue3/lib/popover.cjs +133 -156
  750. package/dist/vue3/lib/popover.cjs.map +1 -1
  751. package/dist/vue3/lib/popover.js +134 -157
  752. package/dist/vue3/lib/popover.js.map +1 -1
  753. package/dist/vue3/lib/presence.cjs +9 -17
  754. package/dist/vue3/lib/presence.cjs.map +1 -1
  755. package/dist/vue3/lib/presence.js +9 -17
  756. package/dist/vue3/lib/presence.js.map +1 -1
  757. package/dist/vue3/lib/radio-group.cjs +1 -1
  758. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  759. package/dist/vue3/lib/radio-group.js +1 -1
  760. package/dist/vue3/lib/radio-group.js.map +1 -1
  761. package/dist/vue3/lib/radio.cjs +34 -41
  762. package/dist/vue3/lib/radio.cjs.map +1 -1
  763. package/dist/vue3/lib/radio.js +34 -41
  764. package/dist/vue3/lib/radio.js.map +1 -1
  765. package/dist/vue3/lib/rich-text-editor.cjs +297 -298
  766. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  767. package/dist/vue3/lib/rich-text-editor.js +297 -298
  768. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  769. package/dist/vue3/lib/root-layout.cjs +24 -39
  770. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  771. package/dist/vue3/lib/root-layout.js +24 -39
  772. package/dist/vue3/lib/root-layout.js.map +1 -1
  773. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
  774. package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
  775. package/dist/vue3/lib/scroller.cjs +100 -83
  776. package/dist/vue3/lib/scroller.cjs.map +1 -1
  777. package/dist/vue3/lib/scroller.js +100 -83
  778. package/dist/vue3/lib/scroller.js.map +1 -1
  779. package/dist/vue3/lib/select-menu.cjs +40 -67
  780. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  781. package/dist/vue3/lib/select-menu.js +40 -67
  782. package/dist/vue3/lib/select-menu.js.map +1 -1
  783. package/dist/vue3/lib/settings-menu-button.cjs +10 -16
  784. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  785. package/dist/vue3/lib/settings-menu-button.js +10 -16
  786. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  787. package/dist/vue3/lib/skeleton.cjs +74 -93
  788. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  789. package/dist/vue3/lib/skeleton.js +74 -93
  790. package/dist/vue3/lib/skeleton.js.map +1 -1
  791. package/dist/vue3/lib/split-button.cjs +68 -74
  792. package/dist/vue3/lib/split-button.cjs.map +1 -1
  793. package/dist/vue3/lib/split-button.js +68 -74
  794. package/dist/vue3/lib/split-button.js.map +1 -1
  795. package/dist/vue3/lib/stack.cjs +18 -26
  796. package/dist/vue3/lib/stack.cjs.map +1 -1
  797. package/dist/vue3/lib/stack.js +18 -26
  798. package/dist/vue3/lib/stack.js.map +1 -1
  799. package/dist/vue3/lib/tabs.cjs +3 -7
  800. package/dist/vue3/lib/tabs.cjs.map +1 -1
  801. package/dist/vue3/lib/tabs.js +3 -7
  802. package/dist/vue3/lib/tabs.js.map +1 -1
  803. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  804. package/dist/vue3/lib/time-pill.js.map +1 -1
  805. package/dist/vue3/lib/toast.cjs +35 -51
  806. package/dist/vue3/lib/toast.cjs.map +1 -1
  807. package/dist/vue3/lib/toast.js +35 -51
  808. package/dist/vue3/lib/toast.js.map +1 -1
  809. package/dist/vue3/lib/toggle.cjs +24 -34
  810. package/dist/vue3/lib/toggle.cjs.map +1 -1
  811. package/dist/vue3/lib/toggle.js +24 -34
  812. package/dist/vue3/lib/toggle.js.map +1 -1
  813. package/dist/vue3/lib/tooltip-directive.cjs +26 -19
  814. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  815. package/dist/vue3/lib/tooltip-directive.js +26 -19
  816. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  817. package/dist/vue3/lib/tooltip.cjs +21 -32
  818. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  819. package/dist/vue3/lib/tooltip.js +22 -33
  820. package/dist/vue3/lib/tooltip.js.map +1 -1
  821. package/dist/vue3/lib/top-banner-info.cjs +8 -23
  822. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  823. package/dist/vue3/lib/top-banner-info.js +8 -23
  824. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  825. package/dist/vue3/lib/unread-pill.cjs +8 -11
  826. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  827. package/dist/vue3/lib/unread-pill.js +8 -11
  828. package/dist/vue3/lib/unread-pill.js.map +1 -1
  829. package/dist/vue3/lib/validation-messages.cjs +14 -17
  830. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  831. package/dist/vue3/lib/validation-messages.js +14 -17
  832. package/dist/vue3/lib/validation-messages.js.map +1 -1
  833. package/dist/vue3/style.css +5 -0
  834. package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
  835. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  836. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
  837. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  838. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
  839. package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
  840. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  841. package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
  842. package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
  843. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  844. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  845. package/dist/vue3/types/components/input/input.vue.d.ts +1 -1
  846. package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
  847. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  848. package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
  849. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -1
  850. package/dist/vue3/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  851. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -3
  852. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  853. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  854. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  855. package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
  856. package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
  857. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
  858. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  859. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  860. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  861. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  862. package/package.json +3 -3
  863. package/dist/chunks/tokens-base-dark-BC3U5KoN.js +0 -4
  864. package/dist/chunks/tokens-base-dark-zbBpWlfP.js +0 -1
  865. package/dist/chunks/tokens-base-light-PCrr7t8W.js +0 -4
  866. package/dist/chunks/tokens-base-light-dvWvBHbM.js +0 -1
  867. package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  868. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +0 -1
  869. package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  870. package/dist/vue3/chunks/icon_constants-QYpmdE0R.js.map +0 -1
@@ -4,7 +4,9 @@ const common_validators = require("../common/validators.cjs");
4
4
  const common_utils = require("../common/utils.cjs");
5
5
  const lib_validationMessages = require("../lib/validation-messages.cjs");
6
6
  const InputGroupMixin = {
7
- components: { DtValidationMessages: lib_validationMessages.DtValidationMessages },
7
+ components: {
8
+ DtValidationMessages: lib_validationMessages.DtValidationMessages
9
+ },
8
10
  // provide data to slotted components
9
11
  provide() {
10
12
  return {
@@ -140,4 +142,4 @@ const InputGroupMixin = {
140
142
  }
141
143
  };
142
144
  exports.InputGroupMixin = InputGroupMixin;
143
- //# sourceMappingURL=input_group-m3cWYUfI.js.map
145
+ //# sourceMappingURL=input_group-pE6ec9R3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input_group-qVZaS5Bb.js","sources":["../../common/mixins/input_group.js"],"sourcesContent":["import Vue from 'vue';\nimport { DtValidationMessages } from '@/components/validation_messages';\nimport { validationMessageValidator } from '../validators';\nimport {\n getUniqueString,\n formatMessages,\n getValidationState,\n} from '@/common/utils';\n\n/**\n * This mixin provides a base provide obj and set of components, props, computed, watchers and data attributes that are\n * commonly used in our input group components.\n * @displayName Input Group Mixin\n */\nexport const InputGroupMixin = {\n components: { DtValidationMessages },\n\n // provide data to slotted components\n provide () {\n return {\n groupContext: this.provideObj,\n setGroupValue: this.setGroupValue,\n };\n },\n\n props: {\n /**\n * The id of the input group\n */\n id: {\n type: String,\n default () {\n return getUniqueString();\n },\n },\n\n /**\n * The value of the input group\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * The name of the input group\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * The legend of the input group\n */\n legend: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => validationMessageValidator(messages),\n },\n\n /**\n * Show validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the legend element\n */\n legendClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the messages container\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the legend element\n */\n legendChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the messages container\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n data () {\n const formattedMessages = formatMessages(this.messages);\n\n return {\n // wrap values in object to make reactive\n provideObj: {\n name: this.name,\n disabled: this.disabled,\n validationState: getValidationState(formattedMessages),\n },\n };\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n\n validationState () {\n return getValidationState(this.formattedMessages);\n },\n },\n\n watch: {\n disabled (newDisabled) {\n this.provideObj.disabled = newDisabled;\n },\n\n validationState (newValidationState) {\n this.provideObj.validationState = newValidationState;\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted input components.\n * slotted input components will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.internalValue = newValue;\n this.$emit('input', newValue);\n },\n },\n\n mounted () {\n if (!this.legend && !this.$slots.legend && !this.$attrs['aria-label']) {\n Vue.util.warn('It is expected that an aria-label is provided when there is no legend.', this);\n }\n },\n};\n\nexport default {\n InputGroupMixin,\n};\n"],"names":[],"mappings":";;;;AAcY,MAAC,kBAAkB;AAAA,EAC7B,YAAY,EAAE,qBAAsB;AAAA;AAAA,EAGpC,UAAW;AACT,WAAO;AAAA,MACL,cAAc,KAAK;AAAA,MACnB,eAAe,KAAK;AAAA,IAC1B;AAAA,EACG;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAW;AACT,eAAO,gBAAe;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ,SAAS,MAAM;AAAA,MACtC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,cAAY,2BAA2B,QAAQ;AAAA,IAC3D;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,EACF;AAAA,EAED,OAAQ;AACN,UAAM,oBAAoB,eAAe,KAAK,QAAQ;AAEtD,WAAO;AAAA;AAAA,MAEL,YAAY;AAAA,QACV,MAAM,KAAK;AAAA,QACX,UAAU,KAAK;AAAA,QACf,iBAAiB,mBAAmB,iBAAiB;AAAA,MACtD;AAAA,IACP;AAAA,EACG;AAAA,EAED,UAAU;AAAA,IACR,oBAAqB;AACnB,aAAO,eAAe,KAAK,QAAQ;AAAA,IACpC;AAAA,IAED,kBAAmB;AACjB,aAAO,mBAAmB,KAAK,iBAAiB;AAAA,IACjD;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,SAAU,aAAa;AACrB,WAAK,WAAW,WAAW;AAAA,IAC5B;AAAA,IAED,gBAAiB,oBAAoB;AACnC,WAAK,WAAW,kBAAkB;AAAA,IACnC;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,cAAe,UAAU;AACvB,WAAK,gBAAgB;AACrB,WAAK,MAAM,SAAS,QAAQ;AAAA,IAC7B;AAAA,EACF;AAAA,EAED,UAAW;AACT,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,OAAO,UAAU,CAAC,KAAK,OAAO,YAAY,GAAG;AACrE,UAAI,KAAK,KAAK,0EAA0E,IAAI;AAAA,IAC7F;AAAA,EACF;AACH;"}
1
+ {"version":3,"file":"input_group-pE6ec9R3.js","sources":["../../common/mixins/input_group.js"],"sourcesContent":["import Vue from 'vue';\nimport { DtValidationMessages } from '@/components/validation_messages';\nimport { validationMessageValidator } from '../validators';\nimport {\n getUniqueString,\n formatMessages,\n getValidationState,\n} from '@/common/utils';\n\n/**\n * This mixin provides a base provide obj and set of components, props, computed, watchers and data attributes that are\n * commonly used in our input group components.\n * @displayName Input Group Mixin\n */\nexport const InputGroupMixin = {\n components: { DtValidationMessages },\n\n // provide data to slotted components\n provide () {\n return {\n groupContext: this.provideObj,\n setGroupValue: this.setGroupValue,\n };\n },\n\n props: {\n /**\n * The id of the input group\n */\n id: {\n type: String,\n default () {\n return getUniqueString();\n },\n },\n\n /**\n * The value of the input group\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * The name of the input group\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * The legend of the input group\n */\n legend: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => validationMessageValidator(messages),\n },\n\n /**\n * Show validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the legend element\n */\n legendClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the messages container\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the legend element\n */\n legendChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the messages container\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n data () {\n const formattedMessages = formatMessages(this.messages);\n\n return {\n // wrap values in object to make reactive\n provideObj: {\n name: this.name,\n disabled: this.disabled,\n validationState: getValidationState(formattedMessages),\n },\n };\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n\n validationState () {\n return getValidationState(this.formattedMessages);\n },\n },\n\n watch: {\n disabled (newDisabled) {\n this.provideObj.disabled = newDisabled;\n },\n\n validationState (newValidationState) {\n this.provideObj.validationState = newValidationState;\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted input components.\n * slotted input components will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.internalValue = newValue;\n this.$emit('input', newValue);\n },\n },\n\n mounted () {\n if (!this.legend && !this.$slots.legend && !this.$attrs['aria-label']) {\n Vue.util.warn('It is expected that an aria-label is provided when there is no legend.', this);\n }\n },\n};\n\nexport default {\n InputGroupMixin,\n};\n"],"names":["InputGroupMixin","components","DtValidationMessages","provide","groupContext","provideObj","setGroupValue","props","id","type","String","default","getUniqueString","value","Number","Boolean","Object","name","required","legend","disabled","messages","Array","validator","validationMessageValidator","showMessages","legendClass","messagesClass","legendChildProps","messagesChildProps","data","formattedMessages","formatMessages","validationState","getValidationState","computed","watch","newDisabled","newValidationState","methods","newValue","internalValue","$emit","mounted","$slots","$attrs","Vue","util","warn"],"mappings":"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"}
@@ -74,7 +74,10 @@ const Dom = {
74
74
  }
75
75
  }
76
76
  if (opt_behavior) {
77
- el.scrollTo({ top: scrollTop, behavior: opt_behavior });
77
+ el.scrollTo({
78
+ top: scrollTop,
79
+ behavior: opt_behavior
80
+ });
78
81
  } else {
79
82
  el.scrollTop = scrollTop;
80
83
  }
@@ -208,9 +211,7 @@ const KeyboardNavigation = ({
208
211
  const highlightedMatchingItemIndex = matchingItems.findIndex((item) => {
209
212
  return this[indexKey] === listItems.indexOf(item);
210
213
  });
211
- const nextHighlightedItemIndex = listItems.indexOf(
212
- highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]
213
- );
214
+ const nextHighlightedItemIndex = listItems.indexOf(highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]);
214
215
  this.setHighlightIndex(nextHighlightedItemIndex);
215
216
  this.scrollActiveItemIntoViewIfNeeded();
216
217
  this.focusActiveItemIfNeeded();
@@ -281,4 +282,4 @@ const KeyboardNavigation = ({
281
282
  export {
282
283
  KeyboardNavigation
283
284
  };
284
- //# sourceMappingURL=keyboard_list_navigation-ScXhrxya.js.map
285
+ //# sourceMappingURL=keyboard_list_navigation-YIqTuw1W.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard_list_navigation-fJnl_Iox.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\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 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":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboard_list_navigation-YIqTuw1W.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\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 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":["methods","scrollElementIntoViewIfNeeded","ref","opt_center","opt_behavior","opt_parent","scrollIntoViewIfNeeded","scrollIntoView","scrollElementIntoView","opt_scrollToTop","dir","undefined","opt_dir","opt_ifNeeded","parentElement","offsetTop","refParent","scrollBounds","_getScrollBounds","parentHeight","bottom","top","elHeight","_getElementHeight","offsetBottom","scrollTop","_setScrollTop","el","bounds","opt_isNeeded","_inScrollBounds","scrollTo","behavior","getBoundingClientRect","height","ERROR_INVALID_LIST_ELEMENT","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","mixins","Dom","data","provide","highlightId","_getListElement","$el","_itemsLength","listItems","_getListItemNodes","length","listElement","console","error","Array","from","querySelectorAll","onUpKey","setHighlightIndex","scrollActiveItemIntoViewIfNeeded","focusActiveItemIfNeeded","onDownKey","onHomeKey","jumpToBeginning","onEndKey","jumpToEnd","onNavigationKey","key","matchingItems","filter","item","content","textContent","trim","toLowerCase","startsWith","highlightedMatchingItemIndex","findIndex","indexOf","nextHighlightedItemIndex","isValidLetter","num","_getItemId","setHighlightId","id","_getItemIndex","querySelector","index","activeItemEl","focus"],"mappings":"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"}
@@ -75,7 +75,10 @@ const Dom = {
75
75
  }
76
76
  }
77
77
  if (opt_behavior) {
78
- el.scrollTo({ top: scrollTop, behavior: opt_behavior });
78
+ el.scrollTo({
79
+ top: scrollTop,
80
+ behavior: opt_behavior
81
+ });
79
82
  } else {
80
83
  el.scrollTop = scrollTop;
81
84
  }
@@ -209,9 +212,7 @@ const KeyboardNavigation = ({
209
212
  const highlightedMatchingItemIndex = matchingItems.findIndex((item) => {
210
213
  return this[indexKey] === listItems.indexOf(item);
211
214
  });
212
- const nextHighlightedItemIndex = listItems.indexOf(
213
- highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]
214
- );
215
+ const nextHighlightedItemIndex = listItems.indexOf(highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]);
215
216
  this.setHighlightIndex(nextHighlightedItemIndex);
216
217
  this.scrollActiveItemIntoViewIfNeeded();
217
218
  this.focusActiveItemIfNeeded();
@@ -280,4 +281,4 @@ const KeyboardNavigation = ({
280
281
  }
281
282
  });
282
283
  exports.KeyboardNavigation = KeyboardNavigation;
283
- //# sourceMappingURL=keyboard_list_navigation-fJnl_Iox.js.map
284
+ //# sourceMappingURL=keyboard_list_navigation-x3D6RcC7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard_list_navigation-ScXhrxya.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\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 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":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboard_list_navigation-x3D6RcC7.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\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 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":["methods","scrollElementIntoViewIfNeeded","ref","opt_center","opt_behavior","opt_parent","scrollIntoViewIfNeeded","scrollIntoView","scrollElementIntoView","opt_scrollToTop","dir","undefined","opt_dir","opt_ifNeeded","parentElement","offsetTop","refParent","scrollBounds","_getScrollBounds","parentHeight","bottom","top","elHeight","_getElementHeight","offsetBottom","scrollTop","_setScrollTop","el","bounds","opt_isNeeded","_inScrollBounds","scrollTo","behavior","getBoundingClientRect","height","ERROR_INVALID_LIST_ELEMENT","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","mixins","Dom","data","provide","highlightId","_getListElement","$el","_itemsLength","listItems","_getListItemNodes","length","listElement","console","error","Array","from","querySelectorAll","onUpKey","setHighlightIndex","scrollActiveItemIntoViewIfNeeded","focusActiveItemIfNeeded","onDownKey","onHomeKey","jumpToBeginning","onEndKey","jumpToEnd","onNavigationKey","key","matchingItems","filter","item","content","textContent","trim","toLowerCase","startsWith","highlightedMatchingItemIndex","findIndex","indexOf","nextHighlightedItemIndex","isValidLetter","num","_getItemId","setHighlightId","id","_getItemIndex","querySelector","index","activeItemEl","focus"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"link_constants-AfTWrr-n.js","sources":["../../components/link/link_constants.js"],"sourcesContent":["export const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const SUCCESS = 'success';\nexport const MUTED = 'muted';\nexport const MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, MENTION];\n\nexport const LINK_KIND_MODIFIERS = {\n default: '',\n warning: 'd-link--warning',\n danger: 'd-link--danger',\n success: 'd-link--success',\n muted: 'd-link--muted',\n mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":[],"mappings":"AAAO,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AACX,MAAC,QAAQ;AACd,MAAM,UAAU;AACX,MAAC,gBAAgB,CAAC,IAAI,QAAQ,SAAS,SAAS,OAAO,OAAO;AAE9D,MAAC,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEA,MAAM,+BAA+B;AAAA,EACnC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEY,MAAC,sBAAsB,CAAC,MAAM,aAAa;AACrD,MAAI,UAAU;AACZ,WAAO,6BAA6B,QAAQ,SAAS;AAAA,EACtD;AACD,SAAO,oBAAoB,IAAI;AACjC;"}
1
+ {"version":3,"file":"link_constants-AfTWrr-n.js","sources":["../../components/link/link_constants.js"],"sourcesContent":["export const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const SUCCESS = 'success';\nexport const MUTED = 'muted';\nexport const MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, MENTION];\n\nexport const LINK_KIND_MODIFIERS = {\n default: '',\n warning: 'd-link--warning',\n danger: 'd-link--danger',\n success: 'd-link--success',\n muted: 'd-link--muted',\n mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":["DANGER","WARNING","SUCCESS","MUTED","MENTION","LINK_VARIANTS","LINK_KIND_MODIFIERS","default","warning","danger","success","muted","mention","LINK_KIND_MODIFIERS_INVERTED","getLinkKindModifier","kind","inverted"],"mappings":"AAAO,MAAMA,SAAS;AACf,MAAMC,UAAU;AAChB,MAAMC,UAAU;AAChB,MAAMC,QAAQ;AACd,MAAMC,UAAU;AACVC,MAAAA,gBAAgB,CAAC,IAAIL,QAAQC,SAASC,SAASC,OAAOC,OAAO;AAEnE,MAAME,sBAAsB;AAAA,EACjCC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,SAAS;AAAA,EACTC,OAAO;AAAA,EACPC,SAAS;AACX;AAEA,MAAMC,+BAA+B;AAAA,EACnCN,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,SAAS;AAAA,EACTC,OAAO;AAAA,EACPC,SAAS;AACX;MAEaE,sBAAsBA,CAACC,MAAMC,aAAa;AACrD,MAAIA,UAAU;AACZ,WAAOH,6BAA6BE,QAAQ,SAAS;AAAA,EACvD;AACA,SAAOT,oBAAoBS,IAAI;AACjC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"link_constants-x8NwdqmA.js","sources":["../../components/link/link_constants.js"],"sourcesContent":["export const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const SUCCESS = 'success';\nexport const MUTED = 'muted';\nexport const MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, MENTION];\n\nexport const LINK_KIND_MODIFIERS = {\n default: '',\n warning: 'd-link--warning',\n danger: 'd-link--danger',\n success: 'd-link--success',\n muted: 'd-link--muted',\n mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":[],"mappings":";AAAO,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AACX,MAAC,QAAQ;AACd,MAAM,UAAU;AACX,MAAC,gBAAgB,CAAC,IAAI,QAAQ,SAAS,SAAS,OAAO,OAAO;AAE9D,MAAC,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEA,MAAM,+BAA+B;AAAA,EACnC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEY,MAAC,sBAAsB,CAAC,MAAM,aAAa;AACrD,MAAI,UAAU;AACZ,WAAO,6BAA6B,QAAQ,SAAS;AAAA,EACtD;AACD,SAAO,oBAAoB,IAAI;AACjC;;;;;"}
1
+ {"version":3,"file":"link_constants-x8NwdqmA.js","sources":["../../components/link/link_constants.js"],"sourcesContent":["export const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const SUCCESS = 'success';\nexport const MUTED = 'muted';\nexport const MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, MENTION];\n\nexport const LINK_KIND_MODIFIERS = {\n default: '',\n warning: 'd-link--warning',\n danger: 'd-link--danger',\n success: 'd-link--success',\n muted: 'd-link--muted',\n mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":["DANGER","WARNING","SUCCESS","MUTED","MENTION","LINK_VARIANTS","LINK_KIND_MODIFIERS","default","warning","danger","success","muted","mention","LINK_KIND_MODIFIERS_INVERTED","getLinkKindModifier","kind","inverted"],"mappings":";AAAO,MAAMA,SAAS;AACf,MAAMC,UAAU;AAChB,MAAMC,UAAU;AAChB,MAAMC,QAAQ;AACd,MAAMC,UAAU;AACVC,MAAAA,gBAAgB,CAAC,IAAIL,QAAQC,SAASC,SAASC,OAAOC,OAAO;AAEnE,MAAME,sBAAsB;AAAA,EACjCC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,SAAS;AAAA,EACTC,OAAO;AAAA,EACPC,SAAS;AACX;AAEA,MAAMC,+BAA+B;AAAA,EACnCN,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,SAAS;AAAA,EACTC,OAAO;AAAA,EACPC,SAAS;AACX;MAEaE,sBAAsBA,CAACC,MAAMC,aAAa;AACrD,MAAIA,UAAU;AACZ,WAAOH,6BAA6BE,QAAQ,SAAS;AAAA,EACvD;AACA,SAAOT,oBAAoBS,IAAI;AACjC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list_item_constants-EiqkqZvP.js","sources":["../../components/list_item/list_item_constants.js"],"sourcesContent":["export const LIST_ITEM_TYPES = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n};\n\nexport const LIST_ITEM_NAVIGATION_TYPES = {\n ARROW_KEYS: 'arrow-keys',\n TAB: 'tab',\n NONE: 'none',\n};\n\nexport default {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n};\n"],"names":[],"mappings":";AAAY,MAAC,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,QAAQ;AACV;AAEY,MAAC,6BAA6B;AAAA,EACxC,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AACR;;;"}
1
+ {"version":3,"file":"list_item_constants-EiqkqZvP.js","sources":["../../components/list_item/list_item_constants.js"],"sourcesContent":["export const LIST_ITEM_TYPES = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n};\n\nexport const LIST_ITEM_NAVIGATION_TYPES = {\n ARROW_KEYS: 'arrow-keys',\n TAB: 'tab',\n NONE: 'none',\n};\n\nexport default {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n};\n"],"names":["LIST_ITEM_TYPES","DEFAULT","CUSTOM","LIST_ITEM_NAVIGATION_TYPES","ARROW_KEYS","TAB","NONE"],"mappings":";AAAO,MAAMA,kBAAkB;AAAA,EAC7BC,SAAS;AAAA,EACTC,QAAQ;AACV;AAEO,MAAMC,6BAA6B;AAAA,EACxCC,YAAY;AAAA,EACZC,KAAK;AAAA,EACLC,MAAM;AACR;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"list_item_constants-u1xcN9Dd.js","sources":["../../components/list_item/list_item_constants.js"],"sourcesContent":["export const LIST_ITEM_TYPES = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n};\n\nexport const LIST_ITEM_NAVIGATION_TYPES = {\n ARROW_KEYS: 'arrow-keys',\n TAB: 'tab',\n NONE: 'none',\n};\n\nexport default {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n};\n"],"names":[],"mappings":"AAAY,MAAC,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,QAAQ;AACV;AAEY,MAAC,6BAA6B;AAAA,EACxC,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AACR;"}
1
+ {"version":3,"file":"list_item_constants-u1xcN9Dd.js","sources":["../../components/list_item/list_item_constants.js"],"sourcesContent":["export const LIST_ITEM_TYPES = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n};\n\nexport const LIST_ITEM_NAVIGATION_TYPES = {\n ARROW_KEYS: 'arrow-keys',\n TAB: 'tab',\n NONE: 'none',\n};\n\nexport default {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n};\n"],"names":["LIST_ITEM_TYPES","DEFAULT","CUSTOM","LIST_ITEM_NAVIGATION_TYPES","ARROW_KEYS","TAB","NONE"],"mappings":"AAAO,MAAMA,kBAAkB;AAAA,EAC7BC,SAAS;AAAA,EACTC,QAAQ;AACV;AAEO,MAAMC,6BAA6B;AAAA,EACxCC,YAAY;AAAA,EACZC,KAAK;AAAA,EACLC,MAAM;AACR;"}
@@ -20,7 +20,9 @@ const Modal = {
20
20
  */
21
21
  async focusFirstElement(el = this.$el) {
22
22
  const elToFocus = await this.getFirstFocusableElement(el);
23
- elToFocus == null ? void 0 : elToFocus.focus({ preventScroll: true });
23
+ elToFocus == null ? void 0 : elToFocus.focus({
24
+ preventScroll: true
25
+ });
24
26
  },
25
27
  async focusElementById(elementId) {
26
28
  var _a;
@@ -103,4 +105,4 @@ const Modal = {
103
105
  export {
104
106
  Modal
105
107
  };
106
- //# sourceMappingURL=modal-XOr4kiNZ.js.map
108
+ //# sourceMappingURL=modal-8X6poIZW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-XOr4kiNZ.js","sources":["../../common/mixins/modal.js"],"sourcesContent":["const focusableAttrs = ':not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])';\nconst tabbableAttrs = `${focusableAttrs}:not([tabindex=\"-1\"])`;\nconst focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;\n\n/**\n * This mixin provides the methods to automatically trap tab focus within\n * the component this mixin is on, meaning it is not possible to tab out\n * of the component without dismissing it.\n *\n * Useful for accessibility reasons on things like important actionable alerts.\n *\n * Use focusFirstElement to focus on the first tabbable element within your component, and call\n * focusTrappedTabPress every time tab is pressed to trap tab within this\n * component.\n *\n * Note that focusFirstElement WILL focus elements with tabindex=\"-1\",\n * however focusTrappedTabPress will not.\n * @displayName Modal Mixin\n */\nexport default {\n methods: {\n /**\n * get the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async getFirstFocusableElement (el) {\n await this.$nextTick();\n const focusableElements = this._getFocusableElements(el, true);\n return this._getFirstFocusElement(focusableElements);\n },\n\n /**\n * set focus to the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async focusFirstElement (el = this.$el) {\n const elToFocus = await this.getFirstFocusableElement(el);\n elToFocus?.focus({ preventScroll: true });\n },\n\n async focusElementById (elementId) {\n await this.$nextTick();\n const result = this.$el?.querySelector(elementId);\n if (result) {\n result.focus();\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn('Could not find the element specified in dt-modal prop \"initialFocusElement\". ' +\n 'Defaulting to focusing the first element.');\n await this.focusFirstElement();\n },\n\n /**\n * internal use only.\n *\n * @param focusableElements - list of focusable elements\n * @returns {*} - first DOM element that is focusable.\n * @private\n */\n _getFirstFocusElement (focusableElements) {\n if (!focusableElements.length) {\n return;\n }\n let firstFocusEl = focusableElements[0];\n // If first element is a checkbox, put focus on the selected checkbox or the first checkbox if none are selected.\n if (firstFocusEl.matches('[type=\"radio\"]:not(:checked)')) {\n firstFocusEl = focusableElements.find(el => el.checked && el.name === firstFocusEl.name) || firstFocusEl;\n }\n return firstFocusEl;\n },\n\n /**\n * internal use only.\n *\n * gets all the focusable elements within the component\n * and sets the first and last of those elements.\n *\n * @param {object} el - the root dom element to find focusable elements in.\n * @param {bool} includeNegativeTabIndex - will include tabindex=\"-1\" in the list of focusable elements.\n */\n _getFocusableElements (el = this.$el, includeNegativeTabIndex = false) {\n if (!el) return [];\n const focusableContent = [...el.querySelectorAll(focusableElementsList)];\n return focusableContent.filter((fc) => {\n const style = window.getComputedStyle(fc);\n return style.getPropertyValue('display') !== 'none' &&\n style.getPropertyValue('visibility') !== 'hidden' &&\n fc.matches(includeNegativeTabIndex ? focusableAttrs : tabbableAttrs);\n });\n },\n\n /**\n * tabs to the next element contained within your component, does not include tabindex=\"-1\".\n * @param {object} e - keypress event\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n focusTrappedTabPress (e, el) {\n const isTabPressed = e.key === 'Tab';\n\n if (!isTabPressed) {\n return;\n }\n\n const focusableElements = this._getFocusableElements(el);\n if (!focusableElements.length) {\n e.preventDefault();\n return;\n }\n\n const firstFocusableElement = this._getFirstFocusElement(focusableElements);\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n }\n },\n },\n};\n"],"names":[],"mappings":"AAAA,MAAM,iBAAiB;AACvB,MAAM,gBAAgB,GAAG,cAAc;AACvC,MAAM,wBAAwB;AAiB9B,MAAe,QAAA;AAAA,EACb,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,MAAM,yBAA0B,IAAI;AAClC,YAAM,KAAK;AACX,YAAM,oBAAoB,KAAK,sBAAsB,IAAI,IAAI;AAC7D,aAAO,KAAK,sBAAsB,iBAAiB;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,MAAM,kBAAmB,KAAK,KAAK,KAAK;AACtC,YAAM,YAAY,MAAM,KAAK,yBAAyB,EAAE;AACxD,6CAAW,MAAM,EAAE,eAAe,KAAM;AAAA,IACzC;AAAA,IAED,MAAM,iBAAkB,WAAW;AA1CvC;AA2CM,YAAM,KAAK;AACX,YAAM,UAAS,UAAK,QAAL,mBAAU,cAAc;AACvC,UAAI,QAAQ;AACV,eAAO,MAAK;AACZ;AAAA,MACD;AAGD,cAAQ,KAAK,wHACgC;AAC7C,YAAM,KAAK;IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASD,sBAAuB,mBAAmB;AACxC,UAAI,CAAC,kBAAkB,QAAQ;AAC7B;AAAA,MACD;AACD,UAAI,eAAe,kBAAkB,CAAC;AAEtC,UAAI,aAAa,QAAQ,8BAA8B,GAAG;AACxD,uBAAe,kBAAkB,KAAK,QAAM,GAAG,WAAW,GAAG,SAAS,aAAa,IAAI,KAAK;AAAA,MAC7F;AACD,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWD,sBAAuB,KAAK,KAAK,KAAK,0BAA0B,OAAO;AACrE,UAAI,CAAC;AAAI,eAAO;AAChB,YAAM,mBAAmB,CAAC,GAAG,GAAG,iBAAiB,qBAAqB,CAAC;AACvE,aAAO,iBAAiB,OAAO,CAAC,OAAO;AACrC,cAAM,QAAQ,OAAO,iBAAiB,EAAE;AACxC,eAAO,MAAM,iBAAiB,SAAS,MAAM,UAC3C,MAAM,iBAAiB,YAAY,MAAM,YACzC,GAAG,QAAQ,0BAA0B,iBAAiB,aAAa;AAAA,MAC7E,CAAO;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,qBAAsB,GAAG,IAAI;AAC3B,YAAM,eAAe,EAAE,QAAQ;AAE/B,UAAI,CAAC,cAAc;AACjB;AAAA,MACD;AAED,YAAM,oBAAoB,KAAK,sBAAsB,EAAE;AACvD,UAAI,CAAC,kBAAkB,QAAQ;AAC7B,UAAE,eAAc;AAChB;AAAA,MACD;AAED,YAAM,wBAAwB,KAAK,sBAAsB,iBAAiB;AAC1E,YAAM,uBAAuB,kBAAkB,kBAAkB,SAAS,CAAC;AAE3E,UAAI,EAAE,UAAU;AACd,YAAI,SAAS,kBAAkB,uBAAuB;AACpD,+BAAqB,MAAK;AAC1B,YAAE,eAAc;AAAA,QACjB;AAAA,MACT,OAAa;AACL,YAAI,SAAS,kBAAkB,sBAAsB;AACnD,gCAAsB,MAAK;AAC3B,YAAE,eAAc;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACH;"}
1
+ {"version":3,"file":"modal-8X6poIZW.js","sources":["../../common/mixins/modal.js"],"sourcesContent":["const focusableAttrs = ':not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])';\nconst tabbableAttrs = `${focusableAttrs}:not([tabindex=\"-1\"])`;\nconst focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;\n\n/**\n * This mixin provides the methods to automatically trap tab focus within\n * the component this mixin is on, meaning it is not possible to tab out\n * of the component without dismissing it.\n *\n * Useful for accessibility reasons on things like important actionable alerts.\n *\n * Use focusFirstElement to focus on the first tabbable element within your component, and call\n * focusTrappedTabPress every time tab is pressed to trap tab within this\n * component.\n *\n * Note that focusFirstElement WILL focus elements with tabindex=\"-1\",\n * however focusTrappedTabPress will not.\n * @displayName Modal Mixin\n */\nexport default {\n methods: {\n /**\n * get the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async getFirstFocusableElement (el) {\n await this.$nextTick();\n const focusableElements = this._getFocusableElements(el, true);\n return this._getFirstFocusElement(focusableElements);\n },\n\n /**\n * set focus to the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async focusFirstElement (el = this.$el) {\n const elToFocus = await this.getFirstFocusableElement(el);\n elToFocus?.focus({ preventScroll: true });\n },\n\n async focusElementById (elementId) {\n await this.$nextTick();\n const result = this.$el?.querySelector(elementId);\n if (result) {\n result.focus();\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn('Could not find the element specified in dt-modal prop \"initialFocusElement\". ' +\n 'Defaulting to focusing the first element.');\n await this.focusFirstElement();\n },\n\n /**\n * internal use only.\n *\n * @param focusableElements - list of focusable elements\n * @returns {*} - first DOM element that is focusable.\n * @private\n */\n _getFirstFocusElement (focusableElements) {\n if (!focusableElements.length) {\n return;\n }\n let firstFocusEl = focusableElements[0];\n // If first element is a checkbox, put focus on the selected checkbox or the first checkbox if none are selected.\n if (firstFocusEl.matches('[type=\"radio\"]:not(:checked)')) {\n firstFocusEl = focusableElements.find(el => el.checked && el.name === firstFocusEl.name) || firstFocusEl;\n }\n return firstFocusEl;\n },\n\n /**\n * internal use only.\n *\n * gets all the focusable elements within the component\n * and sets the first and last of those elements.\n *\n * @param {object} el - the root dom element to find focusable elements in.\n * @param {bool} includeNegativeTabIndex - will include tabindex=\"-1\" in the list of focusable elements.\n */\n _getFocusableElements (el = this.$el, includeNegativeTabIndex = false) {\n if (!el) return [];\n const focusableContent = [...el.querySelectorAll(focusableElementsList)];\n return focusableContent.filter((fc) => {\n const style = window.getComputedStyle(fc);\n return style.getPropertyValue('display') !== 'none' &&\n style.getPropertyValue('visibility') !== 'hidden' &&\n fc.matches(includeNegativeTabIndex ? focusableAttrs : tabbableAttrs);\n });\n },\n\n /**\n * tabs to the next element contained within your component, does not include tabindex=\"-1\".\n * @param {object} e - keypress event\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n focusTrappedTabPress (e, el) {\n const isTabPressed = e.key === 'Tab';\n\n if (!isTabPressed) {\n return;\n }\n\n const focusableElements = this._getFocusableElements(el);\n if (!focusableElements.length) {\n e.preventDefault();\n return;\n }\n\n const firstFocusableElement = this._getFirstFocusElement(focusableElements);\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n }\n },\n },\n};\n"],"names":["focusableAttrs","tabbableAttrs","focusableElementsList","methods","getFirstFocusableElement","el","$nextTick","focusableElements","_getFocusableElements","_getFirstFocusElement","focusFirstElement","$el","elToFocus","focus","preventScroll","focusElementById","elementId","result","querySelector","console","warn","length","firstFocusEl","matches","find","checked","name","includeNegativeTabIndex","focusableContent","querySelectorAll","filter","fc","style","window","getComputedStyle","getPropertyValue","focusTrappedTabPress","e","isTabPressed","key","preventDefault","firstFocusableElement","lastFocusableElement","shiftKey","document","activeElement"],"mappings":"AAAA,MAAMA,iBAAiB;AACvB,MAAMC,gBAAgB,GAAGD,cAAc;AACvC,MAAME,wBAAwB;AAiB9B,MAAe,QAAA;AAAA,EACbC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,MAAMC,yBAA0BC,IAAI;AAClC,YAAM,KAAKC;AACX,YAAMC,oBAAoB,KAAKC,sBAAsBH,IAAI,IAAI;AAC7D,aAAO,KAAKI,sBAAsBF,iBAAiB;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,MAAMG,kBAAmBL,KAAK,KAAKM,KAAK;AACtC,YAAMC,YAAY,MAAM,KAAKR,yBAAyBC,EAAE;AACxDO,6CAAWC,MAAM;AAAA,QAAEC,eAAe;AAAA,MAAK;AAAA,IACxC;AAAA,IAED,MAAMC,iBAAkBC,WAAW;AA1CvC;AA2CM,YAAM,KAAKV;AACX,YAAMW,UAAS,UAAKN,QAAL,mBAAUO,cAAcF;AACvC,UAAIC,QAAQ;AACVA,eAAOJ,MAAK;AACZ;AAAA,MACF;AAGAM,cAAQC,KAAK,wHACgC;AAC7C,YAAM,KAAKV;IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASDD,sBAAuBF,mBAAmB;AACxC,UAAI,CAACA,kBAAkBc,QAAQ;AAC7B;AAAA,MACF;AACA,UAAIC,eAAef,kBAAkB,CAAC;AAEtC,UAAIe,aAAaC,QAAQ,8BAA8B,GAAG;AACxDD,uBAAef,kBAAkBiB,KAAKnB,QAAMA,GAAGoB,WAAWpB,GAAGqB,SAASJ,aAAaI,IAAI,KAAKJ;AAAAA,MAC9F;AACA,aAAOA;AAAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWDd,sBAAuBH,KAAK,KAAKM,KAAKgB,0BAA0B,OAAO;AACrE,UAAI,CAACtB;AAAI,eAAO;AAChB,YAAMuB,mBAAmB,CAAC,GAAGvB,GAAGwB,iBAAiB3B,qBAAqB,CAAC;AACvE,aAAO0B,iBAAiBE,OAAQC,QAAO;AACrC,cAAMC,QAAQC,OAAOC,iBAAiBH,EAAE;AACxC,eAAOC,MAAMG,iBAAiB,SAAS,MAAM,UAC3CH,MAAMG,iBAAiB,YAAY,MAAM,YACzCJ,GAAGR,QAAQI,0BAA0B3B,iBAAiBC,aAAa;AAAA,MACvE,CAAC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQDmC,qBAAsBC,GAAGhC,IAAI;AAC3B,YAAMiC,eAAeD,EAAEE,QAAQ;AAE/B,UAAI,CAACD,cAAc;AACjB;AAAA,MACF;AAEA,YAAM/B,oBAAoB,KAAKC,sBAAsBH,EAAE;AACvD,UAAI,CAACE,kBAAkBc,QAAQ;AAC7BgB,UAAEG,eAAc;AAChB;AAAA,MACF;AAEA,YAAMC,wBAAwB,KAAKhC,sBAAsBF,iBAAiB;AAC1E,YAAMmC,uBAAuBnC,kBAAkBA,kBAAkBc,SAAS,CAAC;AAE3E,UAAIgB,EAAEM,UAAU;AACd,YAAIC,SAASC,kBAAkBJ,uBAAuB;AACpDC,+BAAqB7B,MAAK;AAC1BwB,YAAEG,eAAc;AAAA,QAClB;AAAA,MACF,OAAO;AACL,YAAII,SAASC,kBAAkBH,sBAAsB;AACnDD,gCAAsB5B,MAAK;AAC3BwB,YAAEG,eAAc;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;"}
@@ -21,7 +21,9 @@ const Modal = {
21
21
  */
22
22
  async focusFirstElement(el = this.$el) {
23
23
  const elToFocus = await this.getFirstFocusableElement(el);
24
- elToFocus == null ? void 0 : elToFocus.focus({ preventScroll: true });
24
+ elToFocus == null ? void 0 : elToFocus.focus({
25
+ preventScroll: true
26
+ });
25
27
  },
26
28
  async focusElementById(elementId) {
27
29
  var _a;
@@ -102,4 +104,4 @@ const Modal = {
102
104
  }
103
105
  };
104
106
  exports.Modal = Modal;
105
- //# sourceMappingURL=modal-VgxXAQFP.js.map
107
+ //# sourceMappingURL=modal-OaWxzqNt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-VgxXAQFP.js","sources":["../../common/mixins/modal.js"],"sourcesContent":["const focusableAttrs = ':not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])';\nconst tabbableAttrs = `${focusableAttrs}:not([tabindex=\"-1\"])`;\nconst focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;\n\n/**\n * This mixin provides the methods to automatically trap tab focus within\n * the component this mixin is on, meaning it is not possible to tab out\n * of the component without dismissing it.\n *\n * Useful for accessibility reasons on things like important actionable alerts.\n *\n * Use focusFirstElement to focus on the first tabbable element within your component, and call\n * focusTrappedTabPress every time tab is pressed to trap tab within this\n * component.\n *\n * Note that focusFirstElement WILL focus elements with tabindex=\"-1\",\n * however focusTrappedTabPress will not.\n * @displayName Modal Mixin\n */\nexport default {\n methods: {\n /**\n * get the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async getFirstFocusableElement (el) {\n await this.$nextTick();\n const focusableElements = this._getFocusableElements(el, true);\n return this._getFirstFocusElement(focusableElements);\n },\n\n /**\n * set focus to the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async focusFirstElement (el = this.$el) {\n const elToFocus = await this.getFirstFocusableElement(el);\n elToFocus?.focus({ preventScroll: true });\n },\n\n async focusElementById (elementId) {\n await this.$nextTick();\n const result = this.$el?.querySelector(elementId);\n if (result) {\n result.focus();\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn('Could not find the element specified in dt-modal prop \"initialFocusElement\". ' +\n 'Defaulting to focusing the first element.');\n await this.focusFirstElement();\n },\n\n /**\n * internal use only.\n *\n * @param focusableElements - list of focusable elements\n * @returns {*} - first DOM element that is focusable.\n * @private\n */\n _getFirstFocusElement (focusableElements) {\n if (!focusableElements.length) {\n return;\n }\n let firstFocusEl = focusableElements[0];\n // If first element is a checkbox, put focus on the selected checkbox or the first checkbox if none are selected.\n if (firstFocusEl.matches('[type=\"radio\"]:not(:checked)')) {\n firstFocusEl = focusableElements.find(el => el.checked && el.name === firstFocusEl.name) || firstFocusEl;\n }\n return firstFocusEl;\n },\n\n /**\n * internal use only.\n *\n * gets all the focusable elements within the component\n * and sets the first and last of those elements.\n *\n * @param {object} el - the root dom element to find focusable elements in.\n * @param {bool} includeNegativeTabIndex - will include tabindex=\"-1\" in the list of focusable elements.\n */\n _getFocusableElements (el = this.$el, includeNegativeTabIndex = false) {\n if (!el) return [];\n const focusableContent = [...el.querySelectorAll(focusableElementsList)];\n return focusableContent.filter((fc) => {\n const style = window.getComputedStyle(fc);\n return style.getPropertyValue('display') !== 'none' &&\n style.getPropertyValue('visibility') !== 'hidden' &&\n fc.matches(includeNegativeTabIndex ? focusableAttrs : tabbableAttrs);\n });\n },\n\n /**\n * tabs to the next element contained within your component, does not include tabindex=\"-1\".\n * @param {object} e - keypress event\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n focusTrappedTabPress (e, el) {\n const isTabPressed = e.key === 'Tab';\n\n if (!isTabPressed) {\n return;\n }\n\n const focusableElements = this._getFocusableElements(el);\n if (!focusableElements.length) {\n e.preventDefault();\n return;\n }\n\n const firstFocusableElement = this._getFirstFocusElement(focusableElements);\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n }\n },\n },\n};\n"],"names":[],"mappings":";AAAA,MAAM,iBAAiB;AACvB,MAAM,gBAAgB,GAAG,cAAc;AACvC,MAAM,wBAAwB;AAiB9B,MAAe,QAAA;AAAA,EACb,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,MAAM,yBAA0B,IAAI;AAClC,YAAM,KAAK;AACX,YAAM,oBAAoB,KAAK,sBAAsB,IAAI,IAAI;AAC7D,aAAO,KAAK,sBAAsB,iBAAiB;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,MAAM,kBAAmB,KAAK,KAAK,KAAK;AACtC,YAAM,YAAY,MAAM,KAAK,yBAAyB,EAAE;AACxD,6CAAW,MAAM,EAAE,eAAe,KAAM;AAAA,IACzC;AAAA,IAED,MAAM,iBAAkB,WAAW;;AACjC,YAAM,KAAK;AACX,YAAM,UAAS,UAAK,QAAL,mBAAU,cAAc;AACvC,UAAI,QAAQ;AACV,eAAO,MAAK;AACZ;AAAA,MACD;AAGD,cAAQ,KAAK,wHACgC;AAC7C,YAAM,KAAK;IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASD,sBAAuB,mBAAmB;AACxC,UAAI,CAAC,kBAAkB,QAAQ;AAC7B;AAAA,MACD;AACD,UAAI,eAAe,kBAAkB,CAAC;AAEtC,UAAI,aAAa,QAAQ,8BAA8B,GAAG;AACxD,uBAAe,kBAAkB,KAAK,QAAM,GAAG,WAAW,GAAG,SAAS,aAAa,IAAI,KAAK;AAAA,MAC7F;AACD,aAAO;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWD,sBAAuB,KAAK,KAAK,KAAK,0BAA0B,OAAO;AACrE,UAAI,CAAC;AAAI,eAAO;AAChB,YAAM,mBAAmB,CAAC,GAAG,GAAG,iBAAiB,qBAAqB,CAAC;AACvE,aAAO,iBAAiB,OAAO,CAAC,OAAO;AACrC,cAAM,QAAQ,OAAO,iBAAiB,EAAE;AACxC,eAAO,MAAM,iBAAiB,SAAS,MAAM,UAC3C,MAAM,iBAAiB,YAAY,MAAM,YACzC,GAAG,QAAQ,0BAA0B,iBAAiB,aAAa;AAAA,MAC7E,CAAO;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,qBAAsB,GAAG,IAAI;AAC3B,YAAM,eAAe,EAAE,QAAQ;AAE/B,UAAI,CAAC,cAAc;AACjB;AAAA,MACD;AAED,YAAM,oBAAoB,KAAK,sBAAsB,EAAE;AACvD,UAAI,CAAC,kBAAkB,QAAQ;AAC7B,UAAE,eAAc;AAChB;AAAA,MACD;AAED,YAAM,wBAAwB,KAAK,sBAAsB,iBAAiB;AAC1E,YAAM,uBAAuB,kBAAkB,kBAAkB,SAAS,CAAC;AAE3E,UAAI,EAAE,UAAU;AACd,YAAI,SAAS,kBAAkB,uBAAuB;AACpD,+BAAqB,MAAK;AAC1B,YAAE,eAAc;AAAA,QACjB;AAAA,MACT,OAAa;AACL,YAAI,SAAS,kBAAkB,sBAAsB;AACnD,gCAAsB,MAAK;AAC3B,YAAE,eAAc;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACH;;"}
1
+ {"version":3,"file":"modal-OaWxzqNt.js","sources":["../../common/mixins/modal.js"],"sourcesContent":["const focusableAttrs = ':not(:disabled):not([aria-disabled=\"true\"]):not([role=\"presentation\"])';\nconst tabbableAttrs = `${focusableAttrs}:not([tabindex=\"-1\"])`;\nconst focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;\n\n/**\n * This mixin provides the methods to automatically trap tab focus within\n * the component this mixin is on, meaning it is not possible to tab out\n * of the component without dismissing it.\n *\n * Useful for accessibility reasons on things like important actionable alerts.\n *\n * Use focusFirstElement to focus on the first tabbable element within your component, and call\n * focusTrappedTabPress every time tab is pressed to trap tab within this\n * component.\n *\n * Note that focusFirstElement WILL focus elements with tabindex=\"-1\",\n * however focusTrappedTabPress will not.\n * @displayName Modal Mixin\n */\nexport default {\n methods: {\n /**\n * get the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async getFirstFocusableElement (el) {\n await this.$nextTick();\n const focusableElements = this._getFocusableElements(el, true);\n return this._getFirstFocusElement(focusableElements);\n },\n\n /**\n * set focus to the first focusable element in your component, includes tabindex=\"-1\".\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n async focusFirstElement (el = this.$el) {\n const elToFocus = await this.getFirstFocusableElement(el);\n elToFocus?.focus({ preventScroll: true });\n },\n\n async focusElementById (elementId) {\n await this.$nextTick();\n const result = this.$el?.querySelector(elementId);\n if (result) {\n result.focus();\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn('Could not find the element specified in dt-modal prop \"initialFocusElement\". ' +\n 'Defaulting to focusing the first element.');\n await this.focusFirstElement();\n },\n\n /**\n * internal use only.\n *\n * @param focusableElements - list of focusable elements\n * @returns {*} - first DOM element that is focusable.\n * @private\n */\n _getFirstFocusElement (focusableElements) {\n if (!focusableElements.length) {\n return;\n }\n let firstFocusEl = focusableElements[0];\n // If first element is a checkbox, put focus on the selected checkbox or the first checkbox if none are selected.\n if (firstFocusEl.matches('[type=\"radio\"]:not(:checked)')) {\n firstFocusEl = focusableElements.find(el => el.checked && el.name === firstFocusEl.name) || firstFocusEl;\n }\n return firstFocusEl;\n },\n\n /**\n * internal use only.\n *\n * gets all the focusable elements within the component\n * and sets the first and last of those elements.\n *\n * @param {object} el - the root dom element to find focusable elements in.\n * @param {bool} includeNegativeTabIndex - will include tabindex=\"-1\" in the list of focusable elements.\n */\n _getFocusableElements (el = this.$el, includeNegativeTabIndex = false) {\n if (!el) return [];\n const focusableContent = [...el.querySelectorAll(focusableElementsList)];\n return focusableContent.filter((fc) => {\n const style = window.getComputedStyle(fc);\n return style.getPropertyValue('display') !== 'none' &&\n style.getPropertyValue('visibility') !== 'hidden' &&\n fc.matches(includeNegativeTabIndex ? focusableAttrs : tabbableAttrs);\n });\n },\n\n /**\n * tabs to the next element contained within your component, does not include tabindex=\"-1\".\n * @param {object} e - keypress event\n * @param {object} el - optional - ref of dom element to trap focus on.\n * will default to the root node of the vue component\n */\n focusTrappedTabPress (e, el) {\n const isTabPressed = e.key === 'Tab';\n\n if (!isTabPressed) {\n return;\n }\n\n const focusableElements = this._getFocusableElements(el);\n if (!focusableElements.length) {\n e.preventDefault();\n return;\n }\n\n const firstFocusableElement = this._getFirstFocusElement(focusableElements);\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n }\n },\n },\n};\n"],"names":["focusableAttrs","tabbableAttrs","focusableElementsList","methods","getFirstFocusableElement","el","$nextTick","focusableElements","_getFocusableElements","_getFirstFocusElement","focusFirstElement","$el","elToFocus","focus","preventScroll","focusElementById","elementId","result","querySelector","console","warn","length","firstFocusEl","matches","find","checked","name","includeNegativeTabIndex","focusableContent","querySelectorAll","filter","fc","style","window","getComputedStyle","getPropertyValue","focusTrappedTabPress","e","isTabPressed","key","preventDefault","firstFocusableElement","lastFocusableElement","shiftKey","document","activeElement"],"mappings":";AAAA,MAAMA,iBAAiB;AACvB,MAAMC,gBAAgB,GAAGD,cAAc;AACvC,MAAME,wBAAwB;AAiB9B,MAAe,QAAA;AAAA,EACbC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,MAAMC,yBAA0BC,IAAI;AAClC,YAAM,KAAKC;AACX,YAAMC,oBAAoB,KAAKC,sBAAsBH,IAAI,IAAI;AAC7D,aAAO,KAAKI,sBAAsBF,iBAAiB;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,MAAMG,kBAAmBL,KAAK,KAAKM,KAAK;AACtC,YAAMC,YAAY,MAAM,KAAKR,yBAAyBC,EAAE;AACxDO,6CAAWC,MAAM;AAAA,QAAEC,eAAe;AAAA,MAAK;AAAA,IACxC;AAAA,IAED,MAAMC,iBAAkBC,WAAW;;AACjC,YAAM,KAAKV;AACX,YAAMW,UAAS,UAAKN,QAAL,mBAAUO,cAAcF;AACvC,UAAIC,QAAQ;AACVA,eAAOJ,MAAK;AACZ;AAAA,MACF;AAGAM,cAAQC,KAAK,wHACgC;AAC7C,YAAM,KAAKV;IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASDD,sBAAuBF,mBAAmB;AACxC,UAAI,CAACA,kBAAkBc,QAAQ;AAC7B;AAAA,MACF;AACA,UAAIC,eAAef,kBAAkB,CAAC;AAEtC,UAAIe,aAAaC,QAAQ,8BAA8B,GAAG;AACxDD,uBAAef,kBAAkBiB,KAAKnB,QAAMA,GAAGoB,WAAWpB,GAAGqB,SAASJ,aAAaI,IAAI,KAAKJ;AAAAA,MAC9F;AACA,aAAOA;AAAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWDd,sBAAuBH,KAAK,KAAKM,KAAKgB,0BAA0B,OAAO;AACrE,UAAI,CAACtB;AAAI,eAAO;AAChB,YAAMuB,mBAAmB,CAAC,GAAGvB,GAAGwB,iBAAiB3B,qBAAqB,CAAC;AACvE,aAAO0B,iBAAiBE,OAAQC,QAAO;AACrC,cAAMC,QAAQC,OAAOC,iBAAiBH,EAAE;AACxC,eAAOC,MAAMG,iBAAiB,SAAS,MAAM,UAC3CH,MAAMG,iBAAiB,YAAY,MAAM,YACzCJ,GAAGR,QAAQI,0BAA0B3B,iBAAiBC,aAAa;AAAA,MACvE,CAAC;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQDmC,qBAAsBC,GAAGhC,IAAI;AAC3B,YAAMiC,eAAeD,EAAEE,QAAQ;AAE/B,UAAI,CAACD,cAAc;AACjB;AAAA,MACF;AAEA,YAAM/B,oBAAoB,KAAKC,sBAAsBH,EAAE;AACvD,UAAI,CAACE,kBAAkBc,QAAQ;AAC7BgB,UAAEG,eAAc;AAChB;AAAA,MACF;AAEA,YAAMC,wBAAwB,KAAKhC,sBAAsBF,iBAAiB;AAC1E,YAAMmC,uBAAuBnC,kBAAkBA,kBAAkBc,SAAS,CAAC;AAE3E,UAAIgB,EAAEM,UAAU;AACd,YAAIC,SAASC,kBAAkBJ,uBAAuB;AACpDC,+BAAqB7B,MAAK;AAC1BwB,YAAEG,eAAc;AAAA,QAClB;AAAA,MACF,OAAO;AACL,YAAII,SAASC,kBAAkBH,sBAAsB;AACnDD,gCAAsB5B,MAAK;AAC3BwB,YAAEG,eAAc;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;"}