@dialpad/dialtone 9.29.1 → 9.30.1

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 (864) hide show
  1. package/dist/css/dialtone.css +2 -2
  2. package/dist/tokens/css/variables-dark.css +1 -1
  3. package/dist/tokens/css/variables-expressive-dark.css +937 -0
  4. package/dist/tokens/css/variables-expressive-light.css +817 -0
  5. package/dist/tokens/css/{variables-cox-dark.css → variables-expressive-sm-dark.css} +68 -67
  6. package/dist/tokens/css/{variables-cox-light.css → variables-expressive-sm-light.css} +67 -66
  7. package/dist/tokens/css/variables-light.css +1 -1
  8. package/dist/tokens/css/variables-tmo-dark.css +1 -1
  9. package/dist/tokens/css/variables-tmo-light.css +1 -1
  10. package/dist/tokens/doc.json +21010 -294
  11. package/dist/tokens/less/variables-dark.less +1 -1
  12. package/dist/tokens/less/variables-expressive-dark.less +934 -0
  13. package/dist/tokens/less/variables-expressive-light.less +814 -0
  14. package/dist/tokens/less/{variables-cox-dark.less → variables-expressive-sm-dark.less} +67 -66
  15. package/dist/tokens/less/{variables-cox-light.less → variables-expressive-sm-light.less} +66 -65
  16. package/dist/tokens/less/variables-light.less +1 -1
  17. package/dist/tokens/less/variables-tmo-dark.less +1 -1
  18. package/dist/tokens/less/variables-tmo-light.less +1 -1
  19. package/dist/vue2/chunks/_plugin-vue2_normalizer-1aBeR4AK.js +59 -0
  20. package/dist/vue2/chunks/_plugin-vue2_normalizer-1aBeR4AK.js.map +1 -0
  21. package/dist/vue2/chunks/_plugin-vue2_normalizer-sOSkiPF3.js +60 -0
  22. package/dist/vue2/chunks/_plugin-vue2_normalizer-sOSkiPF3.js.map +1 -0
  23. package/dist/vue2/chunks/{dropdown-SMWaTWyF.js → dropdown-DTtcQEFC.js} +131 -84
  24. package/dist/vue2/chunks/{dropdown-SMWaTWyF.js.map → dropdown-DTtcQEFC.js.map} +1 -1
  25. package/dist/vue2/chunks/dropdown-IaLNHmVd.js +403 -0
  26. package/dist/vue2/chunks/{dropdown-zhMEz3bn.js.map → dropdown-IaLNHmVd.js.map} +1 -1
  27. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js +8 -0
  28. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
  29. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
  30. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
  31. package/dist/vue2/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
  32. package/dist/vue2/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
  33. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js +16 -0
  34. package/dist/{vue3/chunks/icon_constants-2S_OSQ1t.js.map → vue2/chunks/icon_constants-QYpmdE0R.js.map} +1 -1
  35. package/dist/vue2/chunks/index-eJ-WWRdf.js +442 -0
  36. package/dist/vue2/chunks/{index-2jPosQBn.js.map → index-eJ-WWRdf.js.map} +1 -1
  37. package/dist/vue2/chunks/index-gj1jEXP4.js +441 -0
  38. package/dist/vue2/chunks/{index-nIyl_PL6.js.map → index-gj1jEXP4.js.map} +1 -1
  39. package/dist/{vue3/chunks/input-4UQWegUk.js → vue2/chunks/input-6kbd8Pju.js} +83 -60
  40. package/dist/vue2/chunks/{input-o-fc1X4b.js.map → input-6kbd8Pju.js.map} +1 -1
  41. package/dist/vue2/chunks/input-Axw-wFj2.js +295 -0
  42. package/dist/vue2/chunks/{input-1tm09l_-.js.map → input-Axw-wFj2.js.map} +1 -1
  43. package/dist/vue2/chunks/input_group-m3cWYUfI.js +143 -0
  44. package/dist/vue2/chunks/{input_group-zcAq3DQl.js.map → input_group-m3cWYUfI.js.map} +1 -1
  45. package/dist/vue2/chunks/{input_group-zcAq3DQl.js → input_group-qVZaS5Bb.js} +27 -24
  46. package/dist/vue2/chunks/{input_group-j2gTtc1C.js.map → input_group-qVZaS5Bb.js.map} +1 -1
  47. package/dist/vue2/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  48. package/dist/vue2/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  49. package/dist/vue2/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
  50. package/dist/{vue3/chunks/keyboard_list_navigation-F0O8nht0.js.map → vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  51. package/dist/vue2/chunks/link_constants-Huj7D_hm.js +22 -0
  52. package/dist/vue2/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
  53. package/dist/vue2/chunks/link_constants-nWVlXQBs.js +23 -0
  54. package/dist/{vue3/chunks/link_constants-Kn6kP4i1.js.map → vue2/chunks/link_constants-nWVlXQBs.js.map} +1 -1
  55. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js +13 -0
  56. package/dist/vue2/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
  57. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js +14 -0
  58. package/dist/{vue3/chunks/list_item_constants-Tsz5CO1m.js.map → vue2/chunks/list_item_constants-u1xcN9Dd.js.map} +1 -1
  59. package/dist/vue2/chunks/modal-VgxXAQFP.js +105 -0
  60. package/dist/vue2/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
  61. package/dist/vue2/chunks/modal-XOr4kiNZ.js +106 -0
  62. package/dist/{vue3/chunks/modal-VuMFkZFH.js.map → vue2/chunks/modal-XOr4kiNZ.js.map} +1 -1
  63. package/dist/vue2/chunks/notice_action-IRUoLX2d.js +196 -0
  64. package/dist/vue2/chunks/{notice_action-u3ZKIhit.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  65. package/dist/vue2/chunks/notice_action-P6uDyE9x.js +195 -0
  66. package/dist/vue2/chunks/{notice_action-9NmtQRai.js.map → notice_action-P6uDyE9x.js.map} +1 -1
  67. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js +7 -0
  68. package/dist/vue2/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
  69. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js +6 -0
  70. package/dist/{vue3/chunks/notice_constants-mC6al2Dm.js.map → vue2/chunks/notice_constants-UXo9e3bS.js.map} +1 -1
  71. package/dist/vue2/chunks/popover_constants-JwBF9h1Z.js +143 -0
  72. package/dist/{vue3/chunks/popover_constants-hOEhklvr.js.map → vue2/chunks/popover_constants-JwBF9h1Z.js.map} +1 -1
  73. package/dist/vue2/chunks/popover_constants-Qkpb0yh2.js +144 -0
  74. package/dist/vue2/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
  75. package/dist/vue2/chunks/sr_only_close_button-81bHIpPu.js +95 -0
  76. package/dist/vue2/chunks/{sr_only_close_button-ErijKGYR.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  77. package/dist/vue2/chunks/sr_only_close_button-ZaGdAHz7.js +94 -0
  78. package/dist/vue2/chunks/{sr_only_close_button-JGole5Xi.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
  79. package/dist/vue2/chunks/stack_constants-HraCekPm.js +15 -0
  80. package/dist/vue2/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
  81. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js +14 -0
  82. package/dist/{vue3/chunks/stack_constants-m9Ickqw0.js.map → vue2/chunks/stack_constants-SMzMWnAQ.js.map} +1 -1
  83. package/dist/vue2/chunks/tab-FcsV5VmK.js +386 -0
  84. package/dist/vue2/chunks/{tab-7hJQSLFx.js.map → tab-FcsV5VmK.js.map} +1 -1
  85. package/dist/vue2/chunks/tab-V4cb44Ry.js +387 -0
  86. package/dist/vue2/chunks/{tab-Qm9LVkYj.js.map → tab-V4cb44Ry.js.map} +1 -1
  87. package/dist/vue2/common/constants.cjs +60 -0
  88. package/dist/vue2/{lib → common}/constants.cjs.map +1 -1
  89. package/dist/{vue3/lib → vue2/common}/constants.js +25 -18
  90. package/dist/vue2/{lib → common}/constants.js.map +1 -1
  91. package/dist/vue2/common/dates.cjs +72 -0
  92. package/dist/{vue3/lib → vue2/common}/dates.cjs.map +1 -1
  93. package/dist/vue2/common/dates.js +72 -0
  94. package/dist/vue2/{lib → common}/dates.js.map +1 -1
  95. package/dist/vue2/common/emoji.cjs +163 -0
  96. package/dist/vue2/common/emoji.cjs.map +1 -0
  97. package/dist/vue2/common/emoji.js +168 -0
  98. package/dist/vue2/common/emoji.js.map +1 -0
  99. package/dist/vue2/common/mixins.cjs +17 -0
  100. package/dist/vue2/{lib → common}/mixins.cjs.map +1 -1
  101. package/dist/vue2/common/mixins.js +17 -0
  102. package/dist/vue2/common/utils.cjs +237 -0
  103. package/dist/vue2/{lib → common}/utils.cjs.map +1 -1
  104. package/dist/vue2/common/utils.js +237 -0
  105. package/dist/vue2/{lib → common}/utils.js.map +1 -1
  106. package/dist/vue2/common/validators.cjs +23 -0
  107. package/dist/vue2/{lib → common}/validators.cjs.map +1 -1
  108. package/dist/vue2/common/validators.js +23 -0
  109. package/dist/vue2/{lib → common}/validators.js.map +1 -1
  110. package/dist/vue2/dialtone-vue.cjs +372 -1
  111. package/dist/vue2/dialtone-vue.cjs.map +1 -1
  112. package/dist/vue2/dialtone-vue.js +325 -324
  113. package/dist/vue2/dialtone-vue.js.map +1 -1
  114. package/dist/vue2/lib/attachment-carousel.cjs +260 -1
  115. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  116. package/dist/vue2/lib/attachment-carousel.js +96 -84
  117. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  118. package/dist/vue2/lib/avatar.cjs +399 -1
  119. package/dist/vue2/lib/avatar.cjs.map +1 -1
  120. package/dist/vue2/lib/avatar.js +111 -79
  121. package/dist/vue2/lib/avatar.js.map +1 -1
  122. package/dist/vue2/lib/badge.cjs +182 -1
  123. package/dist/vue2/lib/badge.cjs.map +1 -1
  124. package/dist/vue2/lib/badge.js +53 -38
  125. package/dist/vue2/lib/badge.js.map +1 -1
  126. package/dist/vue2/lib/banner.cjs +209 -2
  127. package/dist/vue2/lib/banner.cjs.map +1 -1
  128. package/dist/vue2/lib/banner.js +58 -47
  129. package/dist/vue2/lib/banner.js.map +1 -1
  130. package/dist/vue2/lib/breadcrumbs.cjs +146 -1
  131. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  132. package/dist/vue2/lib/breadcrumbs.js +57 -48
  133. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  134. package/dist/vue2/lib/button-group.cjs +47 -1
  135. package/dist/vue2/lib/button-group.cjs.map +1 -1
  136. package/dist/vue2/lib/button-group.js +21 -18
  137. package/dist/vue2/lib/button-group.js.map +1 -1
  138. package/dist/vue2/lib/button.cjs +349 -1
  139. package/dist/vue2/lib/button.cjs.map +1 -1
  140. package/dist/vue2/lib/button.js +98 -76
  141. package/dist/vue2/lib/button.js.map +1 -1
  142. package/dist/vue2/lib/callbar-button-with-popover.cjs +249 -1
  143. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  144. package/dist/vue2/lib/callbar-button-with-popover.js +66 -50
  145. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  146. package/dist/vue2/lib/callbar-button.cjs +182 -1
  147. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  148. package/dist/vue2/lib/callbar-button.js +42 -34
  149. package/dist/vue2/lib/callbar-button.js.map +1 -1
  150. package/dist/vue2/lib/callbox.cjs +146 -1
  151. package/dist/vue2/lib/callbox.cjs.map +1 -1
  152. package/dist/vue2/lib/callbox.js +38 -32
  153. package/dist/vue2/lib/callbox.js.map +1 -1
  154. package/dist/vue2/lib/card.cjs +73 -1
  155. package/dist/vue2/lib/card.cjs.map +1 -1
  156. package/dist/vue2/lib/card.js +22 -20
  157. package/dist/vue2/lib/card.js.map +1 -1
  158. package/dist/vue2/lib/checkbox-group.cjs +129 -1
  159. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  160. package/dist/vue2/lib/checkbox-group.js +42 -29
  161. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  162. package/dist/vue2/lib/checkbox.cjs +127 -1
  163. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  164. package/dist/vue2/lib/checkbox.js +46 -35
  165. package/dist/vue2/lib/checkbox.js.map +1 -1
  166. package/dist/vue2/lib/chip.cjs +198 -1
  167. package/dist/vue2/lib/chip.cjs.map +1 -1
  168. package/dist/vue2/lib/chip.js +59 -45
  169. package/dist/vue2/lib/chip.js.map +1 -1
  170. package/dist/vue2/lib/codeblock.cjs +29 -2
  171. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  172. package/dist/vue2/lib/codeblock.js +15 -14
  173. package/dist/vue2/lib/codeblock.js.map +1 -1
  174. package/dist/vue2/lib/collapsible.cjs +334 -1
  175. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  176. package/dist/vue2/lib/collapsible.js +91 -68
  177. package/dist/vue2/lib/collapsible.js.map +1 -1
  178. package/dist/vue2/lib/combobox-multi-select.cjs +519 -1
  179. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  180. package/dist/vue2/lib/combobox-multi-select.js +223 -136
  181. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  182. package/dist/vue2/lib/combobox-with-popover.cjs +384 -1
  183. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  184. package/dist/vue2/lib/combobox-with-popover.js +130 -86
  185. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  186. package/dist/vue2/lib/combobox.cjs +18 -1
  187. package/dist/vue2/lib/combobox.cjs.map +1 -1
  188. package/dist/vue2/lib/combobox.js +9 -9
  189. package/dist/vue2/lib/contact-info.cjs +145 -1
  190. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  191. package/dist/vue2/lib/contact-info.js +34 -32
  192. package/dist/vue2/lib/contact-info.js.map +1 -1
  193. package/dist/vue2/lib/contact-row.cjs +205 -1
  194. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  195. package/dist/vue2/lib/contact-row.js +42 -39
  196. package/dist/vue2/lib/contact-row.js.map +1 -1
  197. package/dist/vue2/lib/datepicker.cjs +662 -1
  198. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  199. package/dist/vue2/lib/datepicker.js +330 -218
  200. package/dist/vue2/lib/datepicker.js.map +1 -1
  201. package/dist/vue2/lib/description-list.cjs +114 -1
  202. package/dist/vue2/lib/description-list.cjs.map +1 -1
  203. package/dist/vue2/lib/description-list.js +51 -19
  204. package/dist/vue2/lib/description-list.js.map +1 -1
  205. package/dist/vue2/lib/dropdown.cjs +45 -1
  206. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  207. package/dist/vue2/lib/dropdown.js +27 -25
  208. package/dist/vue2/lib/dropdown.js.map +1 -1
  209. package/dist/vue2/lib/editor.cjs +555 -1
  210. package/dist/vue2/lib/editor.cjs.map +1 -1
  211. package/dist/vue2/lib/editor.js +191 -162
  212. package/dist/vue2/lib/editor.js.map +1 -1
  213. package/dist/vue2/lib/emoji-picker.cjs +1063 -1
  214. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  215. package/dist/vue2/lib/emoji-picker.js +638 -374
  216. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  217. package/dist/vue2/lib/emoji-row.cjs +88 -1
  218. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  219. package/dist/vue2/lib/emoji-row.js +46 -40
  220. package/dist/vue2/lib/emoji-row.js.map +1 -1
  221. package/dist/vue2/lib/emoji-text-wrapper.cjs +109 -1
  222. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  223. package/dist/vue2/lib/emoji-text-wrapper.js +49 -35
  224. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  225. package/dist/vue2/lib/emoji.cjs +145 -1
  226. package/dist/vue2/lib/emoji.cjs.map +1 -1
  227. package/dist/vue2/lib/emoji.js +140 -5
  228. package/dist/vue2/lib/emoji.js.map +1 -1
  229. package/dist/vue2/lib/feed-item-row.cjs +213 -1
  230. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  231. package/dist/vue2/lib/feed-item-row.js +71 -63
  232. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  233. package/dist/vue2/lib/feed-pill.cjs +149 -1
  234. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  235. package/dist/vue2/lib/feed-pill.js +60 -51
  236. package/dist/vue2/lib/feed-pill.js.map +1 -1
  237. package/dist/vue2/lib/general-row.cjs +405 -1
  238. package/dist/vue2/lib/general-row.cjs.map +1 -1
  239. package/dist/vue2/lib/general-row.js +133 -106
  240. package/dist/vue2/lib/general-row.js.map +1 -1
  241. package/dist/vue2/lib/group-row.cjs +117 -1
  242. package/dist/vue2/lib/group-row.cjs.map +1 -1
  243. package/dist/vue2/lib/group-row.js +33 -30
  244. package/dist/vue2/lib/group-row.js.map +1 -1
  245. package/dist/vue2/lib/grouped-chip.cjs +45 -1
  246. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  247. package/dist/vue2/lib/grouped-chip.js +28 -26
  248. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  249. package/dist/vue2/lib/hovercard.cjs +227 -1
  250. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  251. package/dist/vue2/lib/hovercard.js +98 -63
  252. package/dist/vue2/lib/hovercard.js.map +1 -1
  253. package/dist/vue2/lib/icon.cjs +59 -1
  254. package/dist/vue2/lib/icon.cjs.map +1 -1
  255. package/dist/vue2/lib/icon.js +22 -20
  256. package/dist/vue2/lib/icon.js.map +1 -1
  257. package/dist/vue2/lib/image-viewer.cjs +190 -1
  258. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  259. package/dist/vue2/lib/image-viewer.js +83 -62
  260. package/dist/vue2/lib/image-viewer.js.map +1 -1
  261. package/dist/vue2/lib/input-group.cjs +91 -1
  262. package/dist/vue2/lib/input-group.cjs.map +1 -1
  263. package/dist/vue2/lib/input-group.js +29 -27
  264. package/dist/vue2/lib/input-group.js.map +1 -1
  265. package/dist/vue2/lib/input.cjs +492 -1
  266. package/dist/vue2/lib/input.cjs.map +1 -1
  267. package/dist/vue2/lib/input.js +127 -89
  268. package/dist/vue2/lib/input.js.map +1 -1
  269. package/dist/vue2/lib/item-layout.cjs +40 -1
  270. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  271. package/dist/vue2/lib/item-layout.js +15 -13
  272. package/dist/vue2/lib/item-layout.js.map +1 -1
  273. package/dist/vue2/lib/ivr-node.cjs +209 -1
  274. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  275. package/dist/vue2/lib/ivr-node.js +115 -99
  276. package/dist/vue2/lib/ivr-node.js.map +1 -1
  277. package/dist/vue2/lib/keyboard-shortcut.cjs +106 -1
  278. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  279. package/dist/vue2/lib/keyboard-shortcut.js +42 -34
  280. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  281. package/dist/vue2/lib/lazy-show.cjs +80 -1
  282. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  283. package/dist/vue2/lib/lazy-show.js +20 -16
  284. package/dist/vue2/lib/lazy-show.js.map +1 -1
  285. package/dist/vue2/lib/link.cjs +70 -1
  286. package/dist/vue2/lib/link.cjs.map +1 -1
  287. package/dist/vue2/lib/link.js +22 -20
  288. package/dist/vue2/lib/link.js.map +1 -1
  289. package/dist/vue2/lib/list-item-group.cjs +60 -1
  290. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  291. package/dist/vue2/lib/list-item-group.js +19 -17
  292. package/dist/vue2/lib/list-item-group.js.map +1 -1
  293. package/dist/vue2/lib/list-item.cjs +204 -1
  294. package/dist/vue2/lib/list-item.cjs.map +1 -1
  295. package/dist/vue2/lib/list-item.js +67 -56
  296. package/dist/vue2/lib/list-item.js.map +1 -1
  297. package/dist/vue2/lib/message-input.cjs +554 -1
  298. package/dist/vue2/lib/message-input.cjs.map +1 -1
  299. package/dist/vue2/lib/message-input.js +174 -152
  300. package/dist/vue2/lib/message-input.js.map +1 -1
  301. package/dist/vue2/lib/modal.cjs +350 -2
  302. package/dist/vue2/lib/modal.cjs.map +1 -1
  303. package/dist/vue2/lib/modal.js +118 -90
  304. package/dist/vue2/lib/modal.js.map +1 -1
  305. package/dist/vue2/lib/notice.cjs +159 -1
  306. package/dist/vue2/lib/notice.cjs.map +1 -1
  307. package/dist/vue2/lib/notice.js +46 -43
  308. package/dist/vue2/lib/notice.js.map +1 -1
  309. package/dist/vue2/lib/pagination.cjs +152 -1
  310. package/dist/vue2/lib/pagination.cjs.map +1 -1
  311. package/dist/vue2/lib/pagination.js +60 -48
  312. package/dist/vue2/lib/pagination.js.map +1 -1
  313. package/dist/vue2/lib/popover.cjs +956 -1
  314. package/dist/vue2/lib/popover.cjs.map +1 -1
  315. package/dist/vue2/lib/popover.js +401 -221
  316. package/dist/vue2/lib/popover.js.map +1 -1
  317. package/dist/vue2/lib/presence.cjs +65 -1
  318. package/dist/vue2/lib/presence.cjs.map +1 -1
  319. package/dist/vue2/lib/presence.js +32 -26
  320. package/dist/vue2/lib/presence.js.map +1 -1
  321. package/dist/vue2/lib/radio-group.cjs +98 -1
  322. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  323. package/dist/vue2/lib/radio-group.js +24 -22
  324. package/dist/vue2/lib/radio-group.js.map +1 -1
  325. package/dist/vue2/lib/radio.cjs +118 -1
  326. package/dist/vue2/lib/radio.cjs.map +1 -1
  327. package/dist/vue2/lib/radio.js +43 -35
  328. package/dist/vue2/lib/radio.js.map +1 -1
  329. package/dist/vue2/lib/rich-text-editor.cjs +1138 -1
  330. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  331. package/dist/vue2/lib/rich-text-editor.js +574 -387
  332. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  333. package/dist/vue2/lib/root-layout.cjs +130 -1
  334. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  335. package/dist/vue2/lib/root-layout.js +28 -24
  336. package/dist/vue2/lib/root-layout.js.map +1 -1
  337. package/dist/vue2/lib/select-menu.cjs +282 -1
  338. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  339. package/dist/vue2/lib/select-menu.js +101 -61
  340. package/dist/vue2/lib/select-menu.js.map +1 -1
  341. package/dist/vue2/lib/settings-menu-button.cjs +65 -1
  342. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  343. package/dist/vue2/lib/settings-menu-button.js +26 -24
  344. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  345. package/dist/vue2/lib/skeleton.cjs +612 -1
  346. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  347. package/dist/vue2/lib/skeleton.js +174 -135
  348. package/dist/vue2/lib/skeleton.js.map +1 -1
  349. package/dist/vue2/lib/stack.cjs +127 -1
  350. package/dist/vue2/lib/stack.cjs.map +1 -1
  351. package/dist/vue2/lib/stack.js +66 -56
  352. package/dist/vue2/lib/stack.js.map +1 -1
  353. package/dist/vue2/lib/tabs.cjs +99 -1
  354. package/dist/vue2/lib/tabs.cjs.map +1 -1
  355. package/dist/vue2/lib/tabs.js +42 -35
  356. package/dist/vue2/lib/tabs.js.map +1 -1
  357. package/dist/vue2/lib/time-pill.cjs +47 -1
  358. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  359. package/dist/vue2/lib/time-pill.js +21 -16
  360. package/dist/vue2/lib/time-pill.js.map +1 -1
  361. package/dist/vue2/lib/toast.cjs +247 -1
  362. package/dist/vue2/lib/toast.cjs.map +1 -1
  363. package/dist/vue2/lib/toast.js +78 -55
  364. package/dist/vue2/lib/toast.js.map +1 -1
  365. package/dist/vue2/lib/toggle.cjs +177 -1
  366. package/dist/vue2/lib/toggle.cjs.map +1 -1
  367. package/dist/vue2/lib/toggle.js +46 -37
  368. package/dist/vue2/lib/toggle.js.map +1 -1
  369. package/dist/vue2/lib/tooltip-directive.cjs +87 -1
  370. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  371. package/dist/vue2/lib/tooltip-directive.js +55 -41
  372. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  373. package/dist/vue2/lib/tooltip.cjs +436 -1
  374. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  375. package/dist/vue2/lib/tooltip.js +152 -90
  376. package/dist/vue2/lib/tooltip.js.map +1 -1
  377. package/dist/vue2/lib/top-banner-info.cjs +63 -1
  378. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  379. package/dist/vue2/lib/top-banner-info.js +22 -18
  380. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  381. package/dist/vue2/lib/unread-pill.cjs +63 -1
  382. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  383. package/dist/vue2/lib/unread-pill.js +25 -21
  384. package/dist/vue2/lib/unread-pill.js.map +1 -1
  385. package/dist/vue2/lib/validation-messages.cjs +85 -1
  386. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  387. package/dist/vue2/lib/validation-messages.js +32 -29
  388. package/dist/vue2/lib/validation-messages.js.map +1 -1
  389. package/dist/vue2/style.css +1214 -1
  390. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  391. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  392. package/dist/vue3/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
  393. package/dist/vue3/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
  394. package/dist/vue3/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
  395. package/dist/vue3/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
  396. package/dist/vue3/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
  397. package/dist/vue3/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
  398. package/dist/vue3/chunks/dropdown-w8Do29L5.js +442 -0
  399. package/dist/vue3/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
  400. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js +8 -0
  401. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
  402. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
  403. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
  404. package/dist/vue3/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
  405. package/dist/{vue2/chunks/icon_constants-OpYAAKwF.js.map → vue3/chunks/icon_constants-Dy4MEUJL.js.map} +1 -1
  406. package/dist/vue3/chunks/icon_constants-QYpmdE0R.js +16 -0
  407. package/dist/vue3/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
  408. package/dist/vue3/chunks/index-4qgKeErp.js +446 -0
  409. package/dist/vue3/chunks/{index-b4iXYvId.js.map → index-4qgKeErp.js.map} +1 -1
  410. package/dist/vue3/chunks/index-b_MgDylR.js +447 -0
  411. package/dist/vue3/chunks/{index-6tYeqbgP.js.map → index-b_MgDylR.js.map} +1 -1
  412. package/dist/{vue2/chunks/input-1tm09l_-.js → vue3/chunks/input-NmYDD5bn.js} +83 -60
  413. package/dist/vue3/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
  414. package/dist/vue3/chunks/input-ttnte8zB.js +295 -0
  415. package/dist/vue3/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
  416. package/dist/vue3/chunks/input_group-M-D25pOJ.js +152 -0
  417. package/dist/vue3/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
  418. package/dist/vue3/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
  419. package/dist/vue3/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
  420. package/dist/vue3/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  421. package/dist/vue3/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  422. package/dist/vue3/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
  423. package/dist/{vue2/chunks/keyboard_list_navigation-F0O8nht0.js.map → vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  424. package/dist/vue3/chunks/link_constants-Huj7D_hm.js +22 -0
  425. package/dist/{vue2/chunks/link_constants-vIUB92L4.js.map → vue3/chunks/link_constants-Huj7D_hm.js.map} +1 -1
  426. package/dist/vue3/chunks/link_constants-nWVlXQBs.js +23 -0
  427. package/dist/vue3/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
  428. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js +13 -0
  429. package/dist/{vue2/chunks/list_item_constants-LTUc74pD.js.map → vue3/chunks/list_item_constants-EiqkqZvP.js.map} +1 -1
  430. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js +14 -0
  431. package/dist/vue3/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
  432. package/dist/vue3/chunks/modal-VgxXAQFP.js +105 -0
  433. package/dist/vue3/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
  434. package/dist/vue3/chunks/modal-XOr4kiNZ.js +106 -0
  435. package/dist/{vue2/chunks/modal-VuMFkZFH.js.map → vue3/chunks/modal-XOr4kiNZ.js.map} +1 -1
  436. package/dist/vue3/chunks/notice_action-WTucGhvr.js +222 -0
  437. package/dist/vue3/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
  438. package/dist/vue3/chunks/notice_action-p-ePanW_.js +223 -0
  439. package/dist/vue3/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
  440. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js +7 -0
  441. package/dist/{vue2/chunks/notice_constants-c--hBFQw.js.map → vue3/chunks/notice_constants-7Qt2CQEY.js.map} +1 -1
  442. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js +6 -0
  443. package/dist/vue3/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
  444. package/dist/vue3/chunks/popover_constants-JwBF9h1Z.js +143 -0
  445. package/dist/{vue2/chunks/popover_constants-qjlEkroB.js.map → vue3/chunks/popover_constants-JwBF9h1Z.js.map} +1 -1
  446. package/dist/vue3/chunks/popover_constants-Qkpb0yh2.js +144 -0
  447. package/dist/vue3/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
  448. package/dist/vue3/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
  449. package/dist/vue3/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  450. package/dist/vue3/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
  451. package/dist/vue3/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  452. package/dist/vue3/chunks/stack_constants-HraCekPm.js +15 -0
  453. package/dist/{vue2/chunks/stack_constants-u7tNqGtc.js.map → vue3/chunks/stack_constants-HraCekPm.js.map} +1 -1
  454. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js +14 -0
  455. package/dist/vue3/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
  456. package/dist/vue3/chunks/tab-RTDgnD9-.js +391 -0
  457. package/dist/vue3/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
  458. package/dist/vue3/chunks/tab-qc3f42Yp.js +390 -0
  459. package/dist/vue3/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
  460. package/dist/vue3/common/constants.cjs +60 -0
  461. package/dist/vue3/{lib → common}/constants.cjs.map +1 -1
  462. package/dist/{vue2/lib → vue3/common}/constants.js +25 -18
  463. package/dist/vue3/{lib → common}/constants.js.map +1 -1
  464. package/dist/vue3/common/dates.cjs +72 -0
  465. package/dist/{vue2/lib → vue3/common}/dates.cjs.map +1 -1
  466. package/dist/vue3/common/dates.js +72 -0
  467. package/dist/vue3/{lib → common}/dates.js.map +1 -1
  468. package/dist/vue3/common/emoji.cjs +163 -0
  469. package/dist/vue3/common/emoji.cjs.map +1 -0
  470. package/dist/vue3/common/emoji.js +168 -0
  471. package/dist/vue3/common/emoji.js.map +1 -0
  472. package/dist/vue3/common/mixins.cjs +17 -0
  473. package/dist/vue3/{lib → common}/mixins.cjs.map +1 -1
  474. package/dist/vue3/common/mixins.js +17 -0
  475. package/dist/vue3/common/utils.cjs +243 -0
  476. package/dist/vue3/{lib → common}/utils.cjs.map +1 -1
  477. package/dist/vue3/common/utils.js +243 -0
  478. package/dist/vue3/{lib → common}/utils.js.map +1 -1
  479. package/dist/vue3/common/validators.cjs +23 -0
  480. package/dist/vue3/{lib → common}/validators.cjs.map +1 -1
  481. package/dist/vue3/common/validators.js +23 -0
  482. package/dist/vue3/{lib → common}/validators.js.map +1 -1
  483. package/dist/vue3/dialtone-vue.cjs +373 -1
  484. package/dist/vue3/dialtone-vue.cjs.map +1 -1
  485. package/dist/vue3/dialtone-vue.js +328 -327
  486. package/dist/vue3/dialtone-vue.js.map +1 -1
  487. package/dist/vue3/lib/attachment-carousel.cjs +345 -1
  488. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  489. package/dist/vue3/lib/attachment-carousel.js +126 -108
  490. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  491. package/dist/vue3/lib/avatar.cjs +447 -1
  492. package/dist/vue3/lib/avatar.cjs.map +1 -1
  493. package/dist/vue3/lib/avatar.js +135 -101
  494. package/dist/vue3/lib/avatar.js.map +1 -1
  495. package/dist/vue3/lib/badge.cjs +206 -1
  496. package/dist/vue3/lib/badge.cjs.map +1 -1
  497. package/dist/vue3/lib/badge.js +64 -48
  498. package/dist/vue3/lib/badge.js.map +1 -1
  499. package/dist/vue3/lib/banner.cjs +242 -2
  500. package/dist/vue3/lib/banner.cjs.map +1 -1
  501. package/dist/vue3/lib/banner.js +81 -71
  502. package/dist/vue3/lib/banner.js.map +1 -1
  503. package/dist/vue3/lib/breadcrumbs.cjs +150 -1
  504. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  505. package/dist/vue3/lib/breadcrumbs.js +60 -52
  506. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  507. package/dist/vue3/lib/button-group.cjs +41 -1
  508. package/dist/vue3/lib/button-group.cjs.map +1 -1
  509. package/dist/vue3/lib/button-group.js +15 -14
  510. package/dist/vue3/lib/button-group.js.map +1 -1
  511. package/dist/vue3/lib/button.cjs +356 -1
  512. package/dist/vue3/lib/button.cjs.map +1 -1
  513. package/dist/vue3/lib/button.js +108 -88
  514. package/dist/vue3/lib/button.js.map +1 -1
  515. package/dist/vue3/lib/callbar-button-with-popover.cjs +322 -1
  516. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  517. package/dist/vue3/lib/callbar-button-with-popover.js +101 -83
  518. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  519. package/dist/vue3/lib/callbar-button.cjs +200 -1
  520. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  521. package/dist/vue3/lib/callbar-button.js +52 -45
  522. package/dist/vue3/lib/callbar-button.js.map +1 -1
  523. package/dist/vue3/lib/callbox.cjs +217 -1
  524. package/dist/vue3/lib/callbox.cjs.map +1 -1
  525. package/dist/vue3/lib/callbox.js +80 -67
  526. package/dist/vue3/lib/callbox.js.map +1 -1
  527. package/dist/vue3/lib/card.cjs +91 -1
  528. package/dist/vue3/lib/card.cjs.map +1 -1
  529. package/dist/vue3/lib/card.js +27 -27
  530. package/dist/vue3/lib/card.js.map +1 -1
  531. package/dist/vue3/lib/checkbox-group.cjs +115 -1
  532. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  533. package/dist/vue3/lib/checkbox-group.js +34 -23
  534. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  535. package/dist/vue3/lib/checkbox.cjs +156 -1
  536. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  537. package/dist/vue3/lib/checkbox.js +72 -60
  538. package/dist/vue3/lib/checkbox.js.map +1 -1
  539. package/dist/vue3/lib/chip.cjs +235 -1
  540. package/dist/vue3/lib/chip.cjs.map +1 -1
  541. package/dist/vue3/lib/chip.js +84 -67
  542. package/dist/vue3/lib/chip.js.map +1 -1
  543. package/dist/vue3/lib/codeblock.cjs +23 -2
  544. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  545. package/dist/vue3/lib/codeblock.js +13 -13
  546. package/dist/vue3/lib/codeblock.js.map +1 -1
  547. package/dist/vue3/lib/collapsible.cjs +398 -1
  548. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  549. package/dist/vue3/lib/collapsible.js +123 -100
  550. package/dist/vue3/lib/collapsible.js.map +1 -1
  551. package/dist/vue3/lib/combobox-multi-select.cjs +589 -1
  552. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  553. package/dist/vue3/lib/combobox-multi-select.js +270 -177
  554. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  555. package/dist/vue3/lib/combobox-with-popover.cjs +452 -1
  556. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  557. package/dist/vue3/lib/combobox-with-popover.js +172 -127
  558. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  559. package/dist/vue3/lib/combobox.cjs +18 -1
  560. package/dist/vue3/lib/combobox.cjs.map +1 -1
  561. package/dist/vue3/lib/combobox.js +9 -9
  562. package/dist/vue3/lib/contact-info.cjs +205 -1
  563. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  564. package/dist/vue3/lib/contact-info.js +69 -60
  565. package/dist/vue3/lib/contact-info.js.map +1 -1
  566. package/dist/vue3/lib/contact-row.cjs +246 -1
  567. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  568. package/dist/vue3/lib/contact-row.js +67 -63
  569. package/dist/vue3/lib/contact-row.js.map +1 -1
  570. package/dist/vue3/lib/datepicker.cjs +854 -1
  571. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  572. package/dist/vue3/lib/datepicker.js +585 -441
  573. package/dist/vue3/lib/datepicker.js.map +1 -1
  574. package/dist/vue3/lib/description-list.cjs +116 -1
  575. package/dist/vue3/lib/description-list.cjs.map +1 -1
  576. package/dist/vue3/lib/description-list.js +56 -24
  577. package/dist/vue3/lib/description-list.js.map +1 -1
  578. package/dist/vue3/lib/dropdown.cjs +36 -1
  579. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  580. package/dist/vue3/lib/dropdown.js +22 -21
  581. package/dist/vue3/lib/dropdown.js.map +1 -1
  582. package/dist/vue3/lib/editor.cjs +711 -1
  583. package/dist/vue3/lib/editor.cjs.map +1 -1
  584. package/dist/vue3/lib/editor.js +271 -235
  585. package/dist/vue3/lib/editor.js.map +1 -1
  586. package/dist/vue3/lib/emoji-picker.cjs +1277 -1
  587. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  588. package/dist/vue3/lib/emoji-picker.js +859 -569
  589. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  590. package/dist/vue3/lib/emoji-row.cjs +128 -1
  591. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  592. package/dist/vue3/lib/emoji-row.js +89 -75
  593. package/dist/vue3/lib/emoji-row.js.map +1 -1
  594. package/dist/vue3/lib/emoji-text-wrapper.cjs +102 -1
  595. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  596. package/dist/vue3/lib/emoji-text-wrapper.js +42 -31
  597. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  598. package/dist/vue3/lib/emoji.cjs +158 -1
  599. package/dist/vue3/lib/emoji.cjs.map +1 -1
  600. package/dist/vue3/lib/emoji.js +153 -6
  601. package/dist/vue3/lib/emoji.js.map +1 -1
  602. package/dist/vue3/lib/feed-item-row.cjs +296 -1
  603. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  604. package/dist/vue3/lib/feed-item-row.js +119 -100
  605. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  606. package/dist/vue3/lib/feed-pill.cjs +173 -1
  607. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  608. package/dist/vue3/lib/feed-pill.js +70 -57
  609. package/dist/vue3/lib/feed-pill.js.map +1 -1
  610. package/dist/vue3/lib/general-row.cjs +518 -1
  611. package/dist/vue3/lib/general-row.cjs.map +1 -1
  612. package/dist/vue3/lib/general-row.js +186 -148
  613. package/dist/vue3/lib/general-row.js.map +1 -1
  614. package/dist/vue3/lib/group-row.cjs +116 -1
  615. package/dist/vue3/lib/group-row.cjs.map +1 -1
  616. package/dist/vue3/lib/group-row.js +37 -35
  617. package/dist/vue3/lib/group-row.js.map +1 -1
  618. package/dist/vue3/lib/grouped-chip.cjs +96 -1
  619. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  620. package/dist/vue3/lib/grouped-chip.js +51 -46
  621. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  622. package/dist/vue3/lib/hovercard.cjs +223 -1
  623. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  624. package/dist/vue3/lib/hovercard.js +115 -80
  625. package/dist/vue3/lib/hovercard.js.map +1 -1
  626. package/dist/vue3/lib/icon.cjs +58 -1
  627. package/dist/vue3/lib/icon.cjs.map +1 -1
  628. package/dist/vue3/lib/icon.js +20 -20
  629. package/dist/vue3/lib/icon.js.map +1 -1
  630. package/dist/vue3/lib/image-viewer.cjs +243 -1
  631. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  632. package/dist/vue3/lib/image-viewer.js +104 -80
  633. package/dist/vue3/lib/image-viewer.js.map +1 -1
  634. package/dist/vue3/lib/input-group.cjs +91 -1
  635. package/dist/vue3/lib/input-group.cjs.map +1 -1
  636. package/dist/vue3/lib/input-group.js +41 -39
  637. package/dist/vue3/lib/input-group.js.map +1 -1
  638. package/dist/vue3/lib/input.cjs +578 -1
  639. package/dist/vue3/lib/input.cjs.map +1 -1
  640. package/dist/vue3/lib/input.js +185 -137
  641. package/dist/vue3/lib/input.js.map +1 -1
  642. package/dist/vue3/lib/item-layout.cjs +91 -1
  643. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  644. package/dist/vue3/lib/item-layout.js +45 -39
  645. package/dist/vue3/lib/item-layout.js.map +1 -1
  646. package/dist/vue3/lib/ivr-node.cjs +263 -1
  647. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  648. package/dist/vue3/lib/ivr-node.js +130 -112
  649. package/dist/vue3/lib/ivr-node.js.map +1 -1
  650. package/dist/vue3/lib/keyboard-shortcut.cjs +119 -1
  651. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  652. package/dist/vue3/lib/keyboard-shortcut.js +58 -48
  653. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  654. package/dist/vue3/lib/lazy-show.cjs +82 -1
  655. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  656. package/dist/vue3/lib/lazy-show.js +21 -19
  657. package/dist/vue3/lib/lazy-show.js.map +1 -1
  658. package/dist/vue3/lib/link.cjs +43 -1
  659. package/dist/vue3/lib/link.cjs.map +1 -1
  660. package/dist/vue3/lib/link.js +20 -19
  661. package/dist/vue3/lib/link.js.map +1 -1
  662. package/dist/vue3/lib/list-item-group.cjs +67 -1
  663. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  664. package/dist/vue3/lib/list-item-group.js +24 -22
  665. package/dist/vue3/lib/list-item-group.js.map +1 -1
  666. package/dist/vue3/lib/list-item.cjs +216 -1
  667. package/dist/vue3/lib/list-item.cjs.map +1 -1
  668. package/dist/vue3/lib/list-item.js +71 -60
  669. package/dist/vue3/lib/list-item.js.map +1 -1
  670. package/dist/vue3/lib/message-input.cjs +708 -1
  671. package/dist/vue3/lib/message-input.cjs.map +1 -1
  672. package/dist/vue3/lib/message-input.js +232 -206
  673. package/dist/vue3/lib/message-input.js.map +1 -1
  674. package/dist/vue3/lib/modal.cjs +444 -2
  675. package/dist/vue3/lib/modal.cjs.map +1 -1
  676. package/dist/vue3/lib/modal.js +153 -120
  677. package/dist/vue3/lib/modal.js.map +1 -1
  678. package/dist/vue3/lib/notice.cjs +197 -1
  679. package/dist/vue3/lib/notice.cjs.map +1 -1
  680. package/dist/vue3/lib/notice.js +66 -63
  681. package/dist/vue3/lib/notice.js.map +1 -1
  682. package/dist/vue3/lib/pagination.cjs +205 -1
  683. package/dist/vue3/lib/pagination.cjs.map +1 -1
  684. package/dist/vue3/lib/pagination.js +96 -81
  685. package/dist/vue3/lib/pagination.js.map +1 -1
  686. package/dist/vue3/lib/popover.cjs +1080 -1
  687. package/dist/vue3/lib/popover.cjs.map +1 -1
  688. package/dist/vue3/lib/popover.js +447 -267
  689. package/dist/vue3/lib/popover.js.map +1 -1
  690. package/dist/vue3/lib/presence.cjs +70 -1
  691. package/dist/vue3/lib/presence.cjs.map +1 -1
  692. package/dist/vue3/lib/presence.js +33 -27
  693. package/dist/vue3/lib/presence.js.map +1 -1
  694. package/dist/vue3/lib/radio-group.cjs +88 -1
  695. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  696. package/dist/vue3/lib/radio-group.js +18 -18
  697. package/dist/vue3/lib/radio-group.js.map +1 -1
  698. package/dist/vue3/lib/radio.cjs +162 -1
  699. package/dist/vue3/lib/radio.cjs.map +1 -1
  700. package/dist/vue3/lib/radio.js +66 -57
  701. package/dist/vue3/lib/radio.js.map +1 -1
  702. package/dist/vue3/lib/rich-text-editor.cjs +1137 -1
  703. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  704. package/dist/vue3/lib/rich-text-editor.js +567 -386
  705. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  706. package/dist/vue3/lib/root-layout.cjs +158 -1
  707. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  708. package/dist/vue3/lib/root-layout.js +33 -31
  709. package/dist/vue3/lib/root-layout.js.map +1 -1
  710. package/dist/vue3/lib/scroller.cjs +1090 -1
  711. package/dist/vue3/lib/scroller.cjs.map +1 -1
  712. package/dist/vue3/lib/scroller.js +668 -345
  713. package/dist/vue3/lib/scroller.js.map +1 -1
  714. package/dist/vue3/lib/select-menu.cjs +312 -1
  715. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  716. package/dist/vue3/lib/select-menu.js +124 -79
  717. package/dist/vue3/lib/select-menu.js.map +1 -1
  718. package/dist/vue3/lib/settings-menu-button.cjs +77 -1
  719. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  720. package/dist/vue3/lib/settings-menu-button.js +31 -30
  721. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  722. package/dist/vue3/lib/skeleton.cjs +635 -1
  723. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  724. package/dist/vue3/lib/skeleton.js +189 -152
  725. package/dist/vue3/lib/skeleton.js.map +1 -1
  726. package/dist/vue3/lib/stack.cjs +123 -1
  727. package/dist/vue3/lib/stack.cjs.map +1 -1
  728. package/dist/vue3/lib/stack.js +61 -53
  729. package/dist/vue3/lib/stack.js.map +1 -1
  730. package/dist/vue3/lib/tabs.cjs +102 -1
  731. package/dist/vue3/lib/tabs.cjs.map +1 -1
  732. package/dist/vue3/lib/tabs.js +47 -41
  733. package/dist/vue3/lib/tabs.js.map +1 -1
  734. package/dist/vue3/lib/time-pill.cjs +41 -1
  735. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  736. package/dist/vue3/lib/time-pill.js +18 -14
  737. package/dist/vue3/lib/time-pill.js.map +1 -1
  738. package/dist/vue3/lib/toast.cjs +281 -1
  739. package/dist/vue3/lib/toast.cjs.map +1 -1
  740. package/dist/vue3/lib/toast.js +96 -74
  741. package/dist/vue3/lib/toast.js.map +1 -1
  742. package/dist/vue3/lib/toggle.cjs +192 -1
  743. package/dist/vue3/lib/toggle.cjs.map +1 -1
  744. package/dist/vue3/lib/toggle.js +60 -49
  745. package/dist/vue3/lib/toggle.js.map +1 -1
  746. package/dist/vue3/lib/tooltip-directive.cjs +84 -1
  747. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  748. package/dist/vue3/lib/tooltip-directive.js +56 -42
  749. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  750. package/dist/vue3/lib/tooltip.cjs +460 -1
  751. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  752. package/dist/vue3/lib/tooltip.js +162 -103
  753. package/dist/vue3/lib/tooltip.js.map +1 -1
  754. package/dist/vue3/lib/top-banner-info.cjs +71 -1
  755. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  756. package/dist/vue3/lib/top-banner-info.js +27 -22
  757. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  758. package/dist/vue3/lib/unread-pill.cjs +73 -1
  759. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  760. package/dist/vue3/lib/unread-pill.js +28 -25
  761. package/dist/vue3/lib/unread-pill.js.map +1 -1
  762. package/dist/vue3/lib/validation-messages.cjs +89 -1
  763. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  764. package/dist/vue3/lib/validation-messages.js +41 -36
  765. package/dist/vue3/lib/validation-messages.js.map +1 -1
  766. package/dist/vue3/style.css +1257 -1
  767. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  768. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  769. package/package.json +35 -35
  770. package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js +0 -2
  771. package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js.map +0 -1
  772. package/dist/vue2/chunks/_plugin-vue2_normalizer-u6G_3nkj.js +0 -33
  773. package/dist/vue2/chunks/_plugin-vue2_normalizer-u6G_3nkj.js.map +0 -1
  774. package/dist/vue2/chunks/dropdown-zhMEz3bn.js +0 -2
  775. package/dist/vue2/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  776. package/dist/vue2/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  777. package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js +0 -2
  778. package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
  779. package/dist/vue2/chunks/icon_constants-2S_OSQ1t.js +0 -2
  780. package/dist/vue2/chunks/index-2jPosQBn.js +0 -3
  781. package/dist/vue2/chunks/index-YkSDT8-g.js +0 -244
  782. package/dist/vue2/chunks/index-YkSDT8-g.js.map +0 -1
  783. package/dist/vue2/chunks/index-nIyl_PL6.js +0 -372
  784. package/dist/vue2/chunks/index-sdfB7Aok.js +0 -2
  785. package/dist/vue2/chunks/index-sdfB7Aok.js.map +0 -1
  786. package/dist/vue2/chunks/input-o-fc1X4b.js +0 -2
  787. package/dist/vue2/chunks/input_group-j2gTtc1C.js +0 -2
  788. package/dist/vue2/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  789. package/dist/vue2/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
  790. package/dist/vue2/chunks/link_constants-Kn6kP4i1.js +0 -2
  791. package/dist/vue2/chunks/link_constants-vIUB92L4.js +0 -16
  792. package/dist/vue2/chunks/list_item_constants-LTUc74pD.js +0 -13
  793. package/dist/vue2/chunks/list_item_constants-Tsz5CO1m.js +0 -2
  794. package/dist/vue2/chunks/modal-VuMFkZFH.js +0 -82
  795. package/dist/vue2/chunks/modal-qEzlo0Sj.js +0 -2
  796. package/dist/vue2/chunks/notice_action-9NmtQRai.js +0 -182
  797. package/dist/vue2/chunks/notice_action-u3ZKIhit.js +0 -2
  798. package/dist/vue2/chunks/notice_constants-c--hBFQw.js +0 -6
  799. package/dist/vue2/chunks/notice_constants-mC6al2Dm.js +0 -2
  800. package/dist/vue2/chunks/popover_constants-hOEhklvr.js +0 -2
  801. package/dist/vue2/chunks/popover_constants-qjlEkroB.js +0 -114
  802. package/dist/vue2/chunks/sr_only_close_button-ErijKGYR.js +0 -3
  803. package/dist/vue2/chunks/sr_only_close_button-JGole5Xi.js +0 -86
  804. package/dist/vue2/chunks/stack_constants-m9Ickqw0.js +0 -2
  805. package/dist/vue2/chunks/stack_constants-u7tNqGtc.js +0 -13
  806. package/dist/vue2/chunks/tab-7hJQSLFx.js +0 -2
  807. package/dist/vue2/chunks/tab-Qm9LVkYj.js +0 -346
  808. package/dist/vue2/lib/constants.cjs +0 -2
  809. package/dist/vue2/lib/dates.cjs +0 -2
  810. package/dist/vue2/lib/dates.js +0 -57
  811. package/dist/vue2/lib/mixins.cjs +0 -2
  812. package/dist/vue2/lib/mixins.js +0 -17
  813. package/dist/vue2/lib/utils.cjs +0 -2
  814. package/dist/vue2/lib/utils.js +0 -175
  815. package/dist/vue2/lib/validators.cjs +0 -2
  816. package/dist/vue2/lib/validators.js +0 -12
  817. package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
  818. package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
  819. package/dist/vue3/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
  820. package/dist/vue3/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
  821. package/dist/vue3/chunks/dropdown-UO3UJalk.js +0 -2
  822. package/dist/vue3/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  823. package/dist/vue3/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  824. package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js +0 -2
  825. package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
  826. package/dist/vue3/chunks/icon_constants-2S_OSQ1t.js +0 -2
  827. package/dist/vue3/chunks/index-6tYeqbgP.js +0 -3
  828. package/dist/vue3/chunks/index-IBtQ5jRJ.js +0 -2
  829. package/dist/vue3/chunks/index-IBtQ5jRJ.js.map +0 -1
  830. package/dist/vue3/chunks/index-b4iXYvId.js +0 -399
  831. package/dist/vue3/chunks/index-mRmwpCBG.js +0 -256
  832. package/dist/vue3/chunks/index-mRmwpCBG.js.map +0 -1
  833. package/dist/vue3/chunks/input-0Uksk4DP.js +0 -2
  834. package/dist/vue3/chunks/input_group-AS760Cp7.js +0 -2
  835. package/dist/vue3/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  836. package/dist/vue3/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
  837. package/dist/vue3/chunks/link_constants-Kn6kP4i1.js +0 -2
  838. package/dist/vue3/chunks/link_constants-vIUB92L4.js +0 -16
  839. package/dist/vue3/chunks/list_item_constants-LTUc74pD.js +0 -13
  840. package/dist/vue3/chunks/list_item_constants-Tsz5CO1m.js +0 -2
  841. package/dist/vue3/chunks/modal-VuMFkZFH.js +0 -82
  842. package/dist/vue3/chunks/modal-qEzlo0Sj.js +0 -2
  843. package/dist/vue3/chunks/notice_action-jO199emq.js +0 -2
  844. package/dist/vue3/chunks/notice_action-tJfD5Qw1.js +0 -209
  845. package/dist/vue3/chunks/notice_constants-c--hBFQw.js +0 -6
  846. package/dist/vue3/chunks/notice_constants-mC6al2Dm.js +0 -2
  847. package/dist/vue3/chunks/popover_constants-hOEhklvr.js +0 -2
  848. package/dist/vue3/chunks/popover_constants-qjlEkroB.js +0 -114
  849. package/dist/vue3/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
  850. package/dist/vue3/chunks/stack_constants-m9Ickqw0.js +0 -2
  851. package/dist/vue3/chunks/stack_constants-u7tNqGtc.js +0 -13
  852. package/dist/vue3/chunks/tab-GQZFMq83.js +0 -367
  853. package/dist/vue3/chunks/tab-at7WWglk.js +0 -2
  854. package/dist/vue3/lib/constants.cjs +0 -2
  855. package/dist/vue3/lib/dates.cjs +0 -2
  856. package/dist/vue3/lib/dates.js +0 -57
  857. package/dist/vue3/lib/mixins.cjs +0 -2
  858. package/dist/vue3/lib/mixins.js +0 -17
  859. package/dist/vue3/lib/utils.cjs +0 -2
  860. package/dist/vue3/lib/utils.js +0 -171
  861. package/dist/vue3/lib/validators.cjs +0 -2
  862. package/dist/vue3/lib/validators.js +0 -12
  863. /package/dist/vue2/{lib → common}/mixins.js.map +0 -0
  864. /package/dist/vue3/{lib → common}/mixins.js.map +0 -0
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ const focusableAttrs = ':not(:disabled):not([aria-disabled="true"]):not([role="presentation"])';
3
+ const tabbableAttrs = `${focusableAttrs}:not([tabindex="-1"])`;
4
+ const focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;
5
+ const Modal = {
6
+ methods: {
7
+ /**
8
+ * get the first focusable element in your component, includes tabindex="-1".
9
+ * @param {object} el - optional - ref of dom element to trap focus on.
10
+ * will default to the root node of the vue component
11
+ */
12
+ async getFirstFocusableElement(el) {
13
+ await this.$nextTick();
14
+ const focusableElements = this._getFocusableElements(el, true);
15
+ return this._getFirstFocusElement(focusableElements);
16
+ },
17
+ /**
18
+ * set focus to the first focusable element in your component, includes tabindex="-1".
19
+ * @param {object} el - optional - ref of dom element to trap focus on.
20
+ * will default to the root node of the vue component
21
+ */
22
+ async focusFirstElement(el = this.$el) {
23
+ const elToFocus = await this.getFirstFocusableElement(el);
24
+ elToFocus == null ? void 0 : elToFocus.focus({ preventScroll: true });
25
+ },
26
+ async focusElementById(elementId) {
27
+ var _a;
28
+ await this.$nextTick();
29
+ const result = (_a = this.$el) == null ? void 0 : _a.querySelector(elementId);
30
+ if (result) {
31
+ result.focus();
32
+ return;
33
+ }
34
+ console.warn('Could not find the element specified in dt-modal prop "initialFocusElement". Defaulting to focusing the first element.');
35
+ await this.focusFirstElement();
36
+ },
37
+ /**
38
+ * internal use only.
39
+ *
40
+ * @param focusableElements - list of focusable elements
41
+ * @returns {*} - first DOM element that is focusable.
42
+ * @private
43
+ */
44
+ _getFirstFocusElement(focusableElements) {
45
+ if (!focusableElements.length) {
46
+ return;
47
+ }
48
+ let firstFocusEl = focusableElements[0];
49
+ if (firstFocusEl.matches('[type="radio"]:not(:checked)')) {
50
+ firstFocusEl = focusableElements.find((el) => el.checked && el.name === firstFocusEl.name) || firstFocusEl;
51
+ }
52
+ return firstFocusEl;
53
+ },
54
+ /**
55
+ * internal use only.
56
+ *
57
+ * gets all the focusable elements within the component
58
+ * and sets the first and last of those elements.
59
+ *
60
+ * @param {object} el - the root dom element to find focusable elements in.
61
+ * @param {bool} includeNegativeTabIndex - will include tabindex="-1" in the list of focusable elements.
62
+ */
63
+ _getFocusableElements(el = this.$el, includeNegativeTabIndex = false) {
64
+ if (!el)
65
+ return [];
66
+ const focusableContent = [...el.querySelectorAll(focusableElementsList)];
67
+ return focusableContent.filter((fc) => {
68
+ const style = window.getComputedStyle(fc);
69
+ return style.getPropertyValue("display") !== "none" && style.getPropertyValue("visibility") !== "hidden" && fc.matches(includeNegativeTabIndex ? focusableAttrs : tabbableAttrs);
70
+ });
71
+ },
72
+ /**
73
+ * tabs to the next element contained within your component, does not include tabindex="-1".
74
+ * @param {object} e - keypress event
75
+ * @param {object} el - optional - ref of dom element to trap focus on.
76
+ * will default to the root node of the vue component
77
+ */
78
+ focusTrappedTabPress(e, el) {
79
+ const isTabPressed = e.key === "Tab";
80
+ if (!isTabPressed) {
81
+ return;
82
+ }
83
+ const focusableElements = this._getFocusableElements(el);
84
+ if (!focusableElements.length) {
85
+ e.preventDefault();
86
+ return;
87
+ }
88
+ const firstFocusableElement = this._getFirstFocusElement(focusableElements);
89
+ const lastFocusableElement = focusableElements[focusableElements.length - 1];
90
+ if (e.shiftKey) {
91
+ if (document.activeElement === firstFocusableElement) {
92
+ lastFocusableElement.focus();
93
+ e.preventDefault();
94
+ }
95
+ } else {
96
+ if (document.activeElement === lastFocusableElement) {
97
+ firstFocusableElement.focus();
98
+ e.preventDefault();
99
+ }
100
+ }
101
+ }
102
+ }
103
+ };
104
+ exports.Modal = Modal;
105
+ //# sourceMappingURL=modal-VgxXAQFP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-qEzlo0Sj.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","Modal","el","focusableElements","elToFocus","elementId","result","_a","firstFocusEl","includeNegativeTabIndex","fc","style","firstFocusableElement","lastFocusableElement"],"mappings":"aAAA,MAAMA,EAAiB,yEACjBC,EAAgB,GAAGD,CAAc,wBACjCE,EAAwB,yDAiBfC,EAAA,CACb,QAAS,CAMP,MAAM,yBAA0BC,EAAI,CAClC,MAAM,KAAK,YACX,MAAMC,EAAoB,KAAK,sBAAsBD,EAAI,EAAI,EAC7D,OAAO,KAAK,sBAAsBC,CAAiB,CACpD,EAOD,MAAM,kBAAmBD,EAAK,KAAK,IAAK,CACtC,MAAME,EAAY,MAAM,KAAK,yBAAyBF,CAAE,EACxDE,GAAA,MAAAA,EAAW,MAAM,CAAE,cAAe,EAAM,EACzC,EAED,MAAM,iBAAkBC,EAAW,OACjC,MAAM,KAAK,YACX,MAAMC,GAASC,EAAA,KAAK,MAAL,YAAAA,EAAU,cAAcF,GACvC,GAAIC,EAAQ,CACVA,EAAO,MAAK,EACZ,MACD,CAGD,QAAQ,KAAK,wHACgC,EAC7C,MAAM,KAAK,mBACZ,EASD,sBAAuBH,EAAmB,CACxC,GAAI,CAACA,EAAkB,OACrB,OAEF,IAAIK,EAAeL,EAAkB,CAAC,EAEtC,OAAIK,EAAa,QAAQ,8BAA8B,IACrDA,EAAeL,EAAkB,KAAKD,GAAMA,EAAG,SAAWA,EAAG,OAASM,EAAa,IAAI,GAAKA,GAEvFA,CACR,EAWD,sBAAuBN,EAAK,KAAK,IAAKO,EAA0B,GAAO,CACrE,OAAKP,EACoB,CAAC,GAAGA,EAAG,iBAAiBF,CAAqB,CAAC,EAC/C,OAAQU,GAAO,CACrC,MAAMC,EAAQ,OAAO,iBAAiBD,CAAE,EACxC,OAAOC,EAAM,iBAAiB,SAAS,IAAM,QAC3CA,EAAM,iBAAiB,YAAY,IAAM,UACzCD,EAAG,QAAQD,EAA0BX,EAAiBC,CAAa,CAC7E,CAAO,EAPe,EAQjB,EAQD,qBAAsB,EAAGG,EAAI,CAG3B,GAAI,EAFiB,EAAE,MAAQ,OAG7B,OAGF,MAAMC,EAAoB,KAAK,sBAAsBD,CAAE,EACvD,GAAI,CAACC,EAAkB,OAAQ,CAC7B,EAAE,eAAc,EAChB,MACD,CAED,MAAMS,EAAwB,KAAK,sBAAsBT,CAAiB,EACpEU,EAAuBV,EAAkBA,EAAkB,OAAS,CAAC,EAEvE,EAAE,SACA,SAAS,gBAAkBS,IAC7BC,EAAqB,MAAK,EAC1B,EAAE,eAAc,GAGd,SAAS,gBAAkBA,IAC7BD,EAAsB,MAAK,EAC3B,EAAE,eAAc,EAGrB,CACF,CACH"}
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;;"}
@@ -0,0 +1,106 @@
1
+ const focusableAttrs = ':not(:disabled):not([aria-disabled="true"]):not([role="presentation"])';
2
+ const tabbableAttrs = `${focusableAttrs}:not([tabindex="-1"])`;
3
+ const focusableElementsList = `button,[href],input,select,textarea,details,[tabindex]`;
4
+ const Modal = {
5
+ methods: {
6
+ /**
7
+ * get the first focusable element in your component, includes tabindex="-1".
8
+ * @param {object} el - optional - ref of dom element to trap focus on.
9
+ * will default to the root node of the vue component
10
+ */
11
+ async getFirstFocusableElement(el) {
12
+ await this.$nextTick();
13
+ const focusableElements = this._getFocusableElements(el, true);
14
+ return this._getFirstFocusElement(focusableElements);
15
+ },
16
+ /**
17
+ * set focus to the first focusable element in your component, includes tabindex="-1".
18
+ * @param {object} el - optional - ref of dom element to trap focus on.
19
+ * will default to the root node of the vue component
20
+ */
21
+ async focusFirstElement(el = this.$el) {
22
+ const elToFocus = await this.getFirstFocusableElement(el);
23
+ elToFocus == null ? void 0 : elToFocus.focus({ preventScroll: true });
24
+ },
25
+ async focusElementById(elementId) {
26
+ var _a;
27
+ await this.$nextTick();
28
+ const result = (_a = this.$el) == null ? void 0 : _a.querySelector(elementId);
29
+ if (result) {
30
+ result.focus();
31
+ return;
32
+ }
33
+ console.warn('Could not find the element specified in dt-modal prop "initialFocusElement". Defaulting to focusing the first element.');
34
+ await this.focusFirstElement();
35
+ },
36
+ /**
37
+ * internal use only.
38
+ *
39
+ * @param focusableElements - list of focusable elements
40
+ * @returns {*} - first DOM element that is focusable.
41
+ * @private
42
+ */
43
+ _getFirstFocusElement(focusableElements) {
44
+ if (!focusableElements.length) {
45
+ return;
46
+ }
47
+ let firstFocusEl = focusableElements[0];
48
+ if (firstFocusEl.matches('[type="radio"]:not(:checked)')) {
49
+ firstFocusEl = focusableElements.find((el) => el.checked && el.name === firstFocusEl.name) || firstFocusEl;
50
+ }
51
+ return firstFocusEl;
52
+ },
53
+ /**
54
+ * internal use only.
55
+ *
56
+ * gets all the focusable elements within the component
57
+ * and sets the first and last of those elements.
58
+ *
59
+ * @param {object} el - the root dom element to find focusable elements in.
60
+ * @param {bool} includeNegativeTabIndex - will include tabindex="-1" in the list of focusable elements.
61
+ */
62
+ _getFocusableElements(el = this.$el, includeNegativeTabIndex = false) {
63
+ if (!el)
64
+ return [];
65
+ const focusableContent = [...el.querySelectorAll(focusableElementsList)];
66
+ return focusableContent.filter((fc) => {
67
+ const style = window.getComputedStyle(fc);
68
+ return style.getPropertyValue("display") !== "none" && style.getPropertyValue("visibility") !== "hidden" && fc.matches(includeNegativeTabIndex ? focusableAttrs : tabbableAttrs);
69
+ });
70
+ },
71
+ /**
72
+ * tabs to the next element contained within your component, does not include tabindex="-1".
73
+ * @param {object} e - keypress event
74
+ * @param {object} el - optional - ref of dom element to trap focus on.
75
+ * will default to the root node of the vue component
76
+ */
77
+ focusTrappedTabPress(e, el) {
78
+ const isTabPressed = e.key === "Tab";
79
+ if (!isTabPressed) {
80
+ return;
81
+ }
82
+ const focusableElements = this._getFocusableElements(el);
83
+ if (!focusableElements.length) {
84
+ e.preventDefault();
85
+ return;
86
+ }
87
+ const firstFocusableElement = this._getFirstFocusElement(focusableElements);
88
+ const lastFocusableElement = focusableElements[focusableElements.length - 1];
89
+ if (e.shiftKey) {
90
+ if (document.activeElement === firstFocusableElement) {
91
+ lastFocusableElement.focus();
92
+ e.preventDefault();
93
+ }
94
+ } else {
95
+ if (document.activeElement === lastFocusableElement) {
96
+ firstFocusableElement.focus();
97
+ e.preventDefault();
98
+ }
99
+ }
100
+ }
101
+ }
102
+ };
103
+ export {
104
+ Modal
105
+ };
106
+ //# sourceMappingURL=modal-XOr4kiNZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-VuMFkZFH.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","Modal","el","focusableElements","elToFocus","elementId","_a","result","firstFocusEl","includeNegativeTabIndex","fc","style","firstFocusableElement","lastFocusableElement"],"mappings":"AAAA,MAAMA,IAAiB,0EACjBC,IAAgB,GAAGD,CAAc,yBACjCE,IAAwB,0DAiBfC,IAAA;AAAA,EACb,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,MAAM,yBAA0BC,GAAI;AAClC,YAAM,KAAK;AACX,YAAMC,IAAoB,KAAK,sBAAsBD,GAAI,EAAI;AAC7D,aAAO,KAAK,sBAAsBC,CAAiB;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,MAAM,kBAAmBD,IAAK,KAAK,KAAK;AACtC,YAAME,IAAY,MAAM,KAAK,yBAAyBF,CAAE;AACxD,MAAAE,KAAA,QAAAA,EAAW,MAAM,EAAE,eAAe,GAAM;AAAA,IACzC;AAAA,IAED,MAAM,iBAAkBC,GAAW;AA1CvC,UAAAC;AA2CM,YAAM,KAAK;AACX,YAAMC,KAASD,IAAA,KAAK,QAAL,gBAAAA,EAAU,cAAcD;AACvC,UAAIE,GAAQ;AACV,QAAAA,EAAO,MAAK;AACZ;AAAA,MACD;AAGD,cAAQ,KAAK,wHACgC,GAC7C,MAAM,KAAK;IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASD,sBAAuBJ,GAAmB;AACxC,UAAI,CAACA,EAAkB;AACrB;AAEF,UAAIK,IAAeL,EAAkB,CAAC;AAEtC,aAAIK,EAAa,QAAQ,8BAA8B,MACrDA,IAAeL,EAAkB,KAAK,CAAAD,MAAMA,EAAG,WAAWA,EAAG,SAASM,EAAa,IAAI,KAAKA,IAEvFA;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWD,sBAAuBN,IAAK,KAAK,KAAKO,IAA0B,IAAO;AACrE,aAAKP,IACoB,CAAC,GAAGA,EAAG,iBAAiBF,CAAqB,CAAC,EAC/C,OAAO,CAACU,MAAO;AACrC,cAAMC,IAAQ,OAAO,iBAAiBD,CAAE;AACxC,eAAOC,EAAM,iBAAiB,SAAS,MAAM,UAC3CA,EAAM,iBAAiB,YAAY,MAAM,YACzCD,EAAG,QAAQD,IAA0BX,IAAiBC,CAAa;AAAA,MAC7E,CAAO,IAPe;IAQjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,qBAAsB,GAAGG,GAAI;AAG3B,UAAI,EAFiB,EAAE,QAAQ;AAG7B;AAGF,YAAMC,IAAoB,KAAK,sBAAsBD,CAAE;AACvD,UAAI,CAACC,EAAkB,QAAQ;AAC7B,UAAE,eAAc;AAChB;AAAA,MACD;AAED,YAAMS,IAAwB,KAAK,sBAAsBT,CAAiB,GACpEU,IAAuBV,EAAkBA,EAAkB,SAAS,CAAC;AAE3E,MAAI,EAAE,WACA,SAAS,kBAAkBS,MAC7BC,EAAqB,MAAK,GAC1B,EAAE,eAAc,KAGd,SAAS,kBAAkBA,MAC7BD,EAAsB,MAAK,GAC3B,EAAE,eAAc;AAAA,IAGrB;AAAA,EACF;AACH;"}
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;"}
@@ -0,0 +1,196 @@
1
+ import { NOTICE_KINDS } from "./notice_constants-7Qt2CQEY.js";
2
+ import { normalizeComponent } from "./_plugin-vue2_normalizer-sOSkiPF3.js";
3
+ import { DtIcon } from "../lib/icon.js";
4
+ import { SrOnlyCloseButton, SrOnlyCloseButtonMixin } from "./sr_only_close_button-81bHIpPu.js";
5
+ import { DtButton } from "../lib/button.js";
6
+ const kindToIcon = /* @__PURE__ */ new Map([
7
+ ["info", "info"],
8
+ ["success", "check-circle"],
9
+ ["warning", "alert-triangle"],
10
+ ["error", "alert-circle"],
11
+ ["base", "bell"]
12
+ ]);
13
+ const _sfc_main$2 = {
14
+ name: "DtNoticeIcon",
15
+ components: {
16
+ DtIcon
17
+ },
18
+ props: {
19
+ /**
20
+ * Kind of icon
21
+ * @values base, error, info, success, warning
22
+ */
23
+ kind: {
24
+ type: String,
25
+ default: "base",
26
+ validate(kind) {
27
+ return NOTICE_KINDS.includes(kind);
28
+ }
29
+ }
30
+ },
31
+ computed: {
32
+ defaultIcon() {
33
+ return kindToIcon.get(this.kind);
34
+ }
35
+ }
36
+ };
37
+ var _sfc_render$2 = function render() {
38
+ var _vm = this, _c = _vm._self._c;
39
+ return _vm.defaultIcon || _vm.$slots.default ? _c("div", { staticClass: "d-notice__icon", attrs: { "aria-hidden": "true" } }, [_vm._t("default", function() {
40
+ return [_c("dt-icon", { attrs: { "name": _vm.defaultIcon, "size": "400" } })];
41
+ })], 2) : _vm._e();
42
+ };
43
+ var _sfc_staticRenderFns$2 = [];
44
+ var __component__$2 = /* @__PURE__ */ normalizeComponent(
45
+ _sfc_main$2,
46
+ _sfc_render$2,
47
+ _sfc_staticRenderFns$2,
48
+ false,
49
+ null,
50
+ null,
51
+ null,
52
+ null
53
+ );
54
+ const DtNoticeIcon = __component__$2.exports;
55
+ const _sfc_main$1 = {
56
+ name: "DtNoticeContent",
57
+ props: {
58
+ /**
59
+ * Title header of the notice. This can be left blank to remove the title from the notice entirely.
60
+ */
61
+ title: {
62
+ type: String,
63
+ default: ""
64
+ },
65
+ /**
66
+ * ID for the title element of the component. Useful for aria-describedby
67
+ * or aria-labelledby or any other reason you may need an id to refer to the title.
68
+ */
69
+ titleId: {
70
+ type: String,
71
+ default: void 0
72
+ },
73
+ /**
74
+ * ID for the content element of the component. Useful for aria-describedby
75
+ * or aria-labelledby or any other reason you may need an id to refer to the content.
76
+ */
77
+ contentId: {
78
+ type: String,
79
+ default: void 0
80
+ }
81
+ }
82
+ };
83
+ var _sfc_render$1 = function render2() {
84
+ var _vm = this, _c = _vm._self._c;
85
+ return _c("div", { staticClass: "d-notice__content", attrs: { "data-qa": "notice-content" } }, [_vm.title || _vm.$slots.titleOverride ? _c("p", { staticClass: "d-notice__title", attrs: { "id": _vm.titleId, "data-qa": "notice-content-title" } }, [_vm._t("titleOverride", function() {
86
+ return [_vm._v(" " + _vm._s(_vm.title) + " ")];
87
+ })], 2) : _vm._e(), _c("p", { staticClass: "d-notice__message", attrs: { "id": _vm.contentId, "data-qa": "notice-content-message" } }, [_vm._t("default")], 2)]);
88
+ };
89
+ var _sfc_staticRenderFns$1 = [];
90
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(
91
+ _sfc_main$1,
92
+ _sfc_render$1,
93
+ _sfc_staticRenderFns$1,
94
+ false,
95
+ null,
96
+ null,
97
+ null,
98
+ null
99
+ );
100
+ const DtNoticeContent = __component__$1.exports;
101
+ const _sfc_main = {
102
+ name: "DtNoticeAction",
103
+ components: {
104
+ DtIcon,
105
+ DtButton,
106
+ SrOnlyCloseButton
107
+ },
108
+ mixins: [SrOnlyCloseButtonMixin],
109
+ props: {
110
+ /**
111
+ * Props for the notice close button.
112
+ */
113
+ closeButtonProps: {
114
+ type: Object,
115
+ default: () => ({})
116
+ },
117
+ /**
118
+ * Hides the close button from the notice
119
+ * @values true, false
120
+ */
121
+ hideClose: {
122
+ type: Boolean,
123
+ default: false
124
+ },
125
+ /**
126
+ * Hides the action from the notice
127
+ * @values true, false
128
+ */
129
+ hideAction: {
130
+ type: Boolean,
131
+ default: false
132
+ }
133
+ },
134
+ emits: [
135
+ /**
136
+ * Close button click event
137
+ *
138
+ * @event close
139
+ */
140
+ "close"
141
+ ],
142
+ computed: {
143
+ noticeActionListeners() {
144
+ return {
145
+ ...this.$listeners,
146
+ click: (event) => {
147
+ this.close();
148
+ this.$emit("click", event);
149
+ }
150
+ };
151
+ }
152
+ },
153
+ created() {
154
+ if (!this.hideClose && !this.closeButtonProps.ariaLabel) {
155
+ console.error("Invalid props: you must pass in closeButtonProps.ariaLabel if the close button is displayed.");
156
+ }
157
+ },
158
+ mounted() {
159
+ if (!this.hideClose) {
160
+ this.lastFocusedElement = document.activeElement;
161
+ }
162
+ },
163
+ beforeDestroy() {
164
+ var _a;
165
+ (_a = this.lastFocusedElement) == null ? void 0 : _a.focus();
166
+ },
167
+ methods: {
168
+ close() {
169
+ this.$emit("close");
170
+ }
171
+ }
172
+ };
173
+ var _sfc_render = function render3() {
174
+ var _vm = this, _c = _vm._self._c;
175
+ return _c("div", { staticClass: "d-notice__actions", attrs: { "data-qa": "notice-content-actions" } }, [!_vm.hideAction ? _vm._t("default") : _vm._e(), !_vm.hideClose ? _c("dt-button", _vm._g(_vm._b({ ref: "closeButton", attrs: { "data-qa": "dt-notice-action-close-button", "size": "sm", "importance": "clear", "circle": "", "aria-label": _vm.closeButtonProps.ariaLabel ? _vm.closeButtonProps.ariaLabel : "Close" }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
176
+ return [_c("dt-icon", { attrs: { "name": "close", "size": "200" } })];
177
+ }, proxy: true }], null, false, 1154370889) }, "dt-button", _vm.closeButtonProps, false), _vm.noticeActionListeners)) : _vm._e(), _vm.showVisuallyHiddenClose ? _c("sr-only-close-button", { attrs: { "visually-hidden-close-label": _vm.visuallyHiddenCloseLabel }, on: { "close": _vm.close } }) : _vm._e()], 2);
178
+ };
179
+ var _sfc_staticRenderFns = [];
180
+ var __component__ = /* @__PURE__ */ normalizeComponent(
181
+ _sfc_main,
182
+ _sfc_render,
183
+ _sfc_staticRenderFns,
184
+ false,
185
+ null,
186
+ null,
187
+ null,
188
+ null
189
+ );
190
+ const DtNoticeAction = __component__.exports;
191
+ export {
192
+ DtNoticeAction,
193
+ DtNoticeContent,
194
+ DtNoticeIcon
195
+ };
196
+ //# sourceMappingURL=notice_action-IRUoLX2d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notice_action-u3ZKIhit.js","sources":["../../components/notice/notice_icon.vue","../../components/notice/notice_content.vue","../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n <div\n v-if=\"defaultIcon || $slots.default\"\n aria-hidden=\"true\"\n class=\"d-notice__icon\"\n >\n <!-- @slot Slot for the main content -->\n <slot>\n <dt-icon\n :name=\"defaultIcon\"\n size=\"400\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { NOTICE_KINDS } from './notice_constants';\n\nconst kindToIcon = new Map([\n ['info', 'info'],\n ['success', 'check-circle'],\n ['warning', 'alert-triangle'],\n ['error', 'alert-circle'],\n ['base', 'bell'],\n]);\n\nexport default {\n name: 'DtNoticeIcon',\n\n components: {\n DtIcon,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-notice__content\"\n data-qa=\"notice-content\"\n >\n <p\n v-if=\"title || $slots.titleOverride\"\n :id=\"titleId\"\n class=\"d-notice__title\"\n data-qa=\"notice-content-title\"\n >\n <!-- @slot Slot for the title -->\n <slot name=\"titleOverride\">\n {{ title }}\n </slot>\n </p>\n <p\n :id=\"contentId\"\n class=\"d-notice__message\"\n data-qa=\"notice-content-message\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </p>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'DtNoticeContent',\n\n props: {\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * ID for the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * ID for the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-notice__actions\"\n data-qa=\"notice-content-actions\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"!hideAction\" />\n <dt-button\n v-if=\"!hideClose\"\n ref=\"closeButton\"\n data-qa=\"dt-notice-action-close-button\"\n size=\"sm\"\n importance=\"clear\"\n circle\n :aria-label=\"closeButtonProps.ariaLabel ? closeButtonProps.ariaLabel : 'Close'\"\n v-bind=\"closeButtonProps\"\n v-on=\"noticeActionListeners\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"200\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n @close=\"close\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n name: 'DtNoticeAction',\n\n components: {\n DtIcon,\n DtButton,\n SrOnlyCloseButton,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * Props for the notice close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n computed: {\n noticeActionListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n this.close();\n this.$emit('click', event);\n },\n };\n },\n },\n\n created () {\n if (!this.hideClose && !this.closeButtonProps.ariaLabel) {\n console.error('Invalid props: you must pass in closeButtonProps.ariaLabel if the close button is displayed.');\n }\n },\n\n mounted () {\n if (!this.hideClose) {\n this.lastFocusedElement = document.activeElement;\n }\n },\n\n beforeDestroy () {\n this.lastFocusedElement?.focus();\n },\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["kindToIcon","_sfc_main","DtIcon","kind","NOTICE_KINDS","DtButton","SrOnlyCloseButton","SrOnlyCloseButtonMixin","event","_a"],"mappings":"8NAoBAA,EAAA,IAAA,IAAA,CACA,CAAA,OAAA,MAAA,EACA,CAAA,UAAA,cAAA,EACA,CAAA,UAAA,gBAAA,EACA,CAAA,QAAA,cAAA,EACA,CAAA,OAAA,MAAA,CACA,CAAA,EAEAC,EAAA,CACA,KAAA,eAEA,WAAA,CACA,OAAAC,EAAA,MACA,EAEA,MAAA,CAKA,KAAA,CACA,KAAA,OACA,QAAA,OACA,SAAAC,EAAA,CACA,OAAAC,EAAA,EAAA,SAAAD,CAAA,CACA,CACA,CACA,EAEA,SAAA,CACA,aAAA,CACA,OAAAH,EAAA,IAAA,KAAA,IAAA,CACA,CACA,CACA,uTC1BAC,EAAA,CACA,KAAA,kBAEA,MAAA,CAIA,MAAA,CACA,KAAA,OACA,QAAA,EACA,EAMA,QAAA,CACA,KAAA,OACA,QAAA,MACA,EAMA,UAAA,CACA,KAAA,OACA,QAAA,MACA,CACA,CACA,mgBCnBAA,EAAA,CACA,KAAA,iBAEA,WAAA,CACA,OAAAC,EAAA,OACA,SAAAG,EAAA,SACA,kBAAAC,EAAA,CACA,EAEA,OAAA,CAAAC,EAAAA,CAAA,EAEA,MAAA,CAIA,iBAAA,CACA,KAAA,OACA,QAAA,KAAA,CAAA,EACA,EAMA,UAAA,CACA,KAAA,QACA,QAAA,EACA,EAMA,WAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAMA,OACA,EAEA,SAAA,CACA,uBAAA,CACA,MAAA,CACA,GAAA,KAAA,WAEA,MAAAC,GAAA,CACA,KAAA,MAAA,EACA,KAAA,MAAA,QAAAA,CAAA,CACA,CACA,CACA,CACA,EAEA,SAAA,CACA,CAAA,KAAA,WAAA,CAAA,KAAA,iBAAA,WACA,QAAA,MAAA,8FAAA,CAEA,EAEA,SAAA,CACA,KAAA,YACA,KAAA,mBAAA,SAAA,cAEA,EAEA,eAAA,QACAC,EAAA,KAAA,qBAAA,MAAAA,EAAA,OACA,EAEA,QAAA,CACA,OAAA,CACA,KAAA,MAAA,OAAA,CACA,CACA,CACA"}
1
+ {"version":3,"file":"notice_action-IRUoLX2d.js","sources":["../../components/notice/notice_icon.vue","../../components/notice/notice_content.vue","../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n <div\n v-if=\"defaultIcon || $slots.default\"\n aria-hidden=\"true\"\n class=\"d-notice__icon\"\n >\n <!-- @slot Slot for the main content -->\n <slot>\n <dt-icon\n :name=\"defaultIcon\"\n size=\"400\"\n />\n </slot>\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { NOTICE_KINDS } from './notice_constants';\n\nconst kindToIcon = new Map([\n ['info', 'info'],\n ['success', 'check-circle'],\n ['warning', 'alert-triangle'],\n ['error', 'alert-circle'],\n ['base', 'bell'],\n]);\n\nexport default {\n name: 'DtNoticeIcon',\n\n components: {\n DtIcon,\n },\n\n props: {\n /**\n * Kind of icon\n * @values base, error, info, success, warning\n */\n kind: {\n type: String,\n default: 'base',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n },\n\n computed: {\n defaultIcon () {\n return kindToIcon.get(this.kind);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-notice__content\"\n data-qa=\"notice-content\"\n >\n <p\n v-if=\"title || $slots.titleOverride\"\n :id=\"titleId\"\n class=\"d-notice__title\"\n data-qa=\"notice-content-title\"\n >\n <!-- @slot Slot for the title -->\n <slot name=\"titleOverride\">\n {{ title }}\n </slot>\n </p>\n <p\n :id=\"contentId\"\n class=\"d-notice__message\"\n data-qa=\"notice-content-message\"\n >\n <!-- @slot Slot for main content -->\n <slot />\n </p>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'DtNoticeContent',\n\n props: {\n /**\n * Title header of the notice. This can be left blank to remove the title from the notice entirely.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * ID for the title element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the title.\n */\n titleId: {\n type: String,\n default: undefined,\n },\n\n /**\n * ID for the content element of the component. Useful for aria-describedby\n * or aria-labelledby or any other reason you may need an id to refer to the content.\n */\n contentId: {\n type: String,\n default: undefined,\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-notice__actions\"\n data-qa=\"notice-content-actions\"\n >\n <!-- @slot Slot for main content -->\n <slot v-if=\"!hideAction\" />\n <dt-button\n v-if=\"!hideClose\"\n ref=\"closeButton\"\n data-qa=\"dt-notice-action-close-button\"\n size=\"sm\"\n importance=\"clear\"\n circle\n :aria-label=\"closeButtonProps.ariaLabel ? closeButtonProps.ariaLabel : 'Close'\"\n v-bind=\"closeButtonProps\"\n v-on=\"noticeActionListeners\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"200\"\n />\n </template>\n </dt-button>\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n @close=\"close\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n name: 'DtNoticeAction',\n\n components: {\n DtIcon,\n DtButton,\n SrOnlyCloseButton,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * Props for the notice close button.\n */\n closeButtonProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Hides the close button from the notice\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Hides the action from the notice\n * @values true, false\n */\n hideAction: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Close button click event\n *\n * @event close\n */\n 'close',\n ],\n\n computed: {\n noticeActionListeners () {\n return {\n ...this.$listeners,\n\n click: event => {\n this.close();\n this.$emit('click', event);\n },\n };\n },\n },\n\n created () {\n if (!this.hideClose && !this.closeButtonProps.ariaLabel) {\n console.error('Invalid props: you must pass in closeButtonProps.ariaLabel if the close button is displayed.');\n }\n },\n\n mounted () {\n if (!this.hideClose) {\n this.lastFocusedElement = document.activeElement;\n }\n },\n\n beforeDestroy () {\n this.lastFocusedElement?.focus();\n },\n\n methods: {\n close () {\n this.$emit('close');\n },\n },\n};\n</script>\n"],"names":["_sfc_main"],"mappings":";;;;;AAoBA,MAAA,aAAA,oBAAA,IAAA;AAAA,EACA,CAAA,QAAA,MAAA;AAAA,EACA,CAAA,WAAA,cAAA;AAAA,EACA,CAAA,WAAA,gBAAA;AAAA,EACA,CAAA,SAAA,cAAA;AAAA,EACA,CAAA,QAAA,MAAA;AACA,CAAA;AAEA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA,MAAA;AACA,eAAA,aAAA,SAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,cAAA;AACA,aAAA,WAAA,IAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;AC1BA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;ACnBA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA,CAAA,sBAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,wBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA,QAEA,OAAA,WAAA;AACA,eAAA,MAAA;AACA,eAAA,MAAA,SAAA,KAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,aAAA,CAAA,KAAA,iBAAA,WAAA;AACA,cAAA,MAAA,8FAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,WAAA;AACA,WAAA,qBAAA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,gBAAA;;AACA,eAAA,uBAAA,mBAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,QAAA;AACA,WAAA,MAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}