@dialpad/dialtone-vue 3.220.0-next.4 → 3.220.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1010) hide show
  1. package/dist/attachment_carousel-BHxR7A76.cjs +2 -0
  2. package/dist/attachment_carousel-BHxR7A76.cjs.map +1 -0
  3. package/dist/{attachment_carousel-1qxTI-NN.js → attachment_carousel-CouFqFMw.js} +5 -5
  4. package/dist/attachment_carousel-CouFqFMw.js.map +1 -0
  5. package/dist/{combobox-BQBKrDTW.js → combobox-DgClbLOg.js} +35 -36
  6. package/dist/combobox-DgClbLOg.js.map +1 -0
  7. package/dist/combobox-DhjZxfUw.cjs +3 -0
  8. package/dist/combobox-DhjZxfUw.cjs.map +1 -0
  9. package/dist/common/constants/index.cjs +1 -1
  10. package/dist/common/constants/index.cjs.map +1 -1
  11. package/dist/common/constants/index.d.ts +21 -27
  12. package/dist/common/constants/index.d.ts.map +1 -1
  13. package/dist/common/constants/index.js +14 -25
  14. package/dist/common/constants/index.js.map +1 -1
  15. package/dist/common/mixins/index.cjs +1 -1
  16. package/dist/common/mixins/index.d.ts +0 -1
  17. package/dist/common/mixins/index.js +1 -2
  18. package/dist/common/mixins/input-group.cjs +1 -1
  19. package/dist/common/mixins/input-group.cjs.map +1 -1
  20. package/dist/common/mixins/input-group.js +2 -2
  21. package/dist/common/mixins/input-group.js.map +1 -1
  22. package/dist/common/mixins/input.cjs +1 -1
  23. package/dist/common/mixins/input.cjs.map +1 -1
  24. package/dist/common/mixins/input.d.ts +33 -27
  25. package/dist/common/mixins/input.d.ts.map +1 -1
  26. package/dist/common/mixins/input.js +8 -0
  27. package/dist/common/mixins/input.js.map +1 -1
  28. package/dist/common/sr_only_close_button.vue.d.ts +7 -98
  29. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
  30. package/dist/common/utils/index.cjs +1 -1
  31. package/dist/common/utils/index.cjs.map +1 -1
  32. package/dist/common/utils/index.d.ts +8 -2
  33. package/dist/common/utils/index.d.ts.map +1 -1
  34. package/dist/common/utils/index.js +88 -79
  35. package/dist/common/utils/index.js.map +1 -1
  36. package/dist/component-documentation.json +1 -1
  37. package/dist/components/avatar/avatar.vue.d.ts +27 -85
  38. package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
  39. package/dist/components/avatar/avatar_constants.d.ts +29 -86
  40. package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
  41. package/dist/components/avatar/index.d.ts +1 -1
  42. package/dist/components/badge/badge.vue.d.ts +1 -19
  43. package/dist/components/badge/badge.vue.d.ts.map +1 -1
  44. package/dist/components/badge/badge_constants.d.ts +1 -1
  45. package/dist/components/banner/banner.vue.d.ts +50 -447
  46. package/dist/components/banner/banner.vue.d.ts.map +1 -1
  47. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +17 -27
  48. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  49. package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +16 -35
  50. package/dist/components/button/button.vue.d.ts +7 -98
  51. package/dist/components/button/button.vue.d.ts.map +1 -1
  52. package/dist/components/button/button_constants.d.ts +20 -29
  53. package/dist/components/button/button_constants.d.ts.map +1 -1
  54. package/dist/components/card/card.vue.d.ts +11 -2
  55. package/dist/components/card/card.vue.d.ts.map +1 -1
  56. package/dist/components/checkbox/checkbox.vue.d.ts +11 -183
  57. package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
  58. package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
  59. package/dist/components/checkbox_group/checkbox_group.vue.d.ts +15 -145
  60. package/dist/components/chip/chip.vue.d.ts +16 -125
  61. package/dist/components/chip/chip.vue.d.ts.map +1 -1
  62. package/dist/components/chip/chip_constants.d.ts +21 -24
  63. package/dist/components/chip/chip_constants.d.ts.map +1 -1
  64. package/dist/components/codeblock/codeblock.vue.d.ts +2 -25
  65. package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
  66. package/dist/components/collapsible/collapsible.vue.d.ts +11 -102
  67. package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
  68. package/dist/components/combobox/combobox.vue.d.ts +85 -160
  69. package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
  70. package/dist/components/combobox/combobox_empty-list.vue.d.ts +28 -61
  71. package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  72. package/dist/components/combobox/combobox_loading-list.vue.d.ts +48 -90
  73. package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  74. package/dist/components/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  75. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +13 -16
  76. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  77. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +196 -610
  78. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  79. package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  80. package/dist/components/dropdown/dropdown.vue.d.ts +28 -292
  81. package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
  82. package/dist/components/emoji/emoji.vue.d.ts +20 -29
  83. package/dist/components/emoji_picker/emoji_picker.vue.d.ts +25 -225
  84. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +25 -225
  85. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  86. package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  87. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +20 -29
  88. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  89. package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
  90. package/dist/components/empty_state/empty_state_constants.d.ts +31 -52
  91. package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
  92. package/dist/components/hovercard/hovercard.vue.d.ts +57 -596
  93. package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
  94. package/dist/components/image_viewer/image_viewer.vue.d.ts +17 -224
  95. package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  96. package/dist/components/input/input.vue.d.ts +21 -214
  97. package/dist/components/input/input.vue.d.ts.map +1 -1
  98. package/dist/components/input/input_constants.d.ts +48 -46
  99. package/dist/components/input/input_constants.d.ts.map +1 -1
  100. package/dist/components/input_group/input_group.vue.d.ts +0 -142
  101. package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
  102. package/dist/components/item_layout/item_layout.vue.d.ts +27 -58
  103. package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
  104. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +0 -142
  105. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  106. package/dist/components/link/index.d.ts +1 -1
  107. package/dist/components/link/link.vue.d.ts +6 -26
  108. package/dist/components/link/link_constants.d.ts +4 -6
  109. package/dist/components/link/link_constants.d.ts.map +1 -1
  110. package/dist/components/list_item/list_item.vue.d.ts +28 -61
  111. package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
  112. package/dist/components/modal/modal.vue.d.ts +108 -411
  113. package/dist/components/modal/modal.vue.d.ts.map +1 -1
  114. package/dist/components/modal/modal_constants.d.ts +6 -7
  115. package/dist/components/motion_text/motion_text_constants.d.ts +23 -27
  116. package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
  117. package/dist/components/notice/notice.vue.d.ts +50 -447
  118. package/dist/components/notice/notice.vue.d.ts.map +1 -1
  119. package/dist/components/notice/notice_action.vue.d.ts +20 -211
  120. package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
  121. package/dist/components/notice/notice_constants.d.ts.map +1 -1
  122. package/dist/components/notice/notice_content.vue.d.ts +9 -170
  123. package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
  124. package/dist/components/notice/notice_icon.vue.d.ts +2 -11
  125. package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
  126. package/dist/components/pagination/pagination.vue.d.ts +10 -101
  127. package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
  128. package/dist/components/popover/popover.vue.d.ts +23 -267
  129. package/dist/components/popover/popover.vue.d.ts.map +1 -1
  130. package/dist/components/popover/popover_header_footer.vue.d.ts +7 -107
  131. package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  132. package/dist/components/radio/radio.vue.d.ts +8 -179
  133. package/dist/components/radio/radio.vue.d.ts.map +1 -1
  134. package/dist/components/radio/radio_constants.d.ts +2 -2
  135. package/dist/components/radio_group/radio_group.vue.d.ts +2 -143
  136. package/dist/components/resizable/resizable_constants.d.ts.map +1 -1
  137. package/dist/components/resizable/resizable_panel.vue.d.ts +0 -2
  138. package/dist/components/resizable/resizable_panel.vue.d.ts.map +1 -1
  139. package/dist/components/resizable/resizable_utils.d.ts.map +1 -1
  140. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +6 -26
  141. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  142. package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  143. package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +20 -29
  144. package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +20 -29
  145. package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +6 -26
  146. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +27 -227
  147. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  148. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +1 -144
  149. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  150. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +28 -61
  151. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  152. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +51 -597
  153. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  154. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +15 -105
  155. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  156. package/dist/components/root_layout/root_layout.vue.d.ts +2 -2
  157. package/dist/components/root_layout/root_layout_constants.d.ts +0 -2
  158. package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
  159. package/dist/components/scroller/modules/core_scroller.vue.d.ts +4 -4
  160. package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +24 -24
  161. package/dist/components/scroller/scroller.vue.d.ts +34 -34
  162. package/dist/components/select_menu/select_menu.vue.d.ts +34 -190
  163. package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
  164. package/dist/components/select_menu/select_menu_constants.d.ts +9 -14
  165. package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
  166. package/dist/components/skeleton/skeleton-list-item.vue.d.ts +12 -15
  167. package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +2 -5
  168. package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  169. package/dist/components/skeleton/skeleton-text.vue.d.ts +1 -4
  170. package/dist/components/skeleton/skeleton.vue.d.ts +20 -29
  171. package/dist/components/skeleton/skeleton_constants.d.ts +13 -18
  172. package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
  173. package/dist/components/split_button/{split_button-start.vue.d.ts → split_button-alpha.vue.d.ts} +11 -170
  174. package/dist/components/split_button/split_button-alpha.vue.d.ts.map +1 -0
  175. package/dist/components/split_button/{split_button-end.vue.d.ts → split_button-omega.vue.d.ts} +13 -109
  176. package/dist/components/split_button/split_button-omega.vue.d.ts.map +1 -0
  177. package/dist/components/split_button/split_button.vue.d.ts +87 -809
  178. package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
  179. package/dist/components/split_button/split_button_constants.d.ts +7 -12
  180. package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
  181. package/dist/components/stack/stack_constants.d.ts.map +1 -1
  182. package/dist/components/tab/index.d.ts +1 -1
  183. package/dist/components/tab/tab.vue.d.ts +11 -131
  184. package/dist/components/tab/tab.vue.d.ts.map +1 -1
  185. package/dist/components/tab/tab_group.vue.d.ts +13 -139
  186. package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
  187. package/dist/components/tab/tabs_constants.d.ts +5 -23
  188. package/dist/components/tab/tabs_constants.d.ts.map +1 -1
  189. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +45 -442
  190. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  191. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -11
  192. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  193. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +48 -445
  194. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  195. package/dist/components/toast/toast.vue.d.ts +212 -1836
  196. package/dist/components/toast/toast.vue.d.ts.map +1 -1
  197. package/dist/components/toggle/toggle.vue.d.ts +21 -20
  198. package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
  199. package/dist/components/toggle/toggle_constants.d.ts +4 -6
  200. package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
  201. package/dist/components/tooltip/tooltip.vue.d.ts +8 -43
  202. package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
  203. package/dist/datepicker-DprRX9AH.cjs +2 -0
  204. package/dist/datepicker-DprRX9AH.cjs.map +1 -0
  205. package/dist/{datepicker-B2nhxiCg.js → datepicker-LVDRC6Lf.js} +24 -20
  206. package/dist/datepicker-LVDRC6Lf.js.map +1 -0
  207. package/dist/dialtone-vue.cjs +1 -1
  208. package/dist/dialtone-vue.css +1 -1
  209. package/dist/dialtone-vue.js +151 -174
  210. package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  211. package/dist/emoji_picker-Cl-T4BXK.cjs +2 -0
  212. package/dist/emoji_picker-Cl-T4BXK.cjs.map +1 -0
  213. package/dist/{emoji_picker-BjgAohQy.js → emoji_picker-tVHfpHDk.js} +8 -9
  214. package/dist/emoji_picker-tVHfpHDk.js.map +1 -0
  215. package/dist/index.d.ts +0 -9
  216. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  217. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  218. package/dist/lib/attachment-carousel/index.cjs +1 -1
  219. package/dist/lib/attachment-carousel/index.js +1 -1
  220. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  221. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  222. package/dist/lib/avatar/avatar-constants.js +24 -111
  223. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  224. package/dist/lib/avatar/avatar.cjs +1 -1
  225. package/dist/lib/avatar/avatar.cjs.map +1 -1
  226. package/dist/lib/avatar/avatar.js +84 -145
  227. package/dist/lib/avatar/avatar.js.map +1 -1
  228. package/dist/lib/avatar/index.cjs +1 -1
  229. package/dist/lib/avatar/index.js +3 -3
  230. package/dist/lib/badge/badge-constants.cjs +1 -1
  231. package/dist/lib/badge/badge-constants.cjs.map +1 -1
  232. package/dist/lib/badge/badge-constants.js +1 -1
  233. package/dist/lib/badge/badge-constants.js.map +1 -1
  234. package/dist/lib/badge/badge.cjs +1 -1
  235. package/dist/lib/badge/badge.cjs.map +1 -1
  236. package/dist/lib/badge/badge.js +23 -51
  237. package/dist/lib/badge/badge.js.map +1 -1
  238. package/dist/lib/banner/banner.cjs +2 -2
  239. package/dist/lib/banner/banner.cjs.map +1 -1
  240. package/dist/lib/banner/banner.js +24 -71
  241. package/dist/lib/banner/banner.js.map +1 -1
  242. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  243. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  244. package/dist/lib/breadcrumbs/breadcrumb-item.js +38 -29
  245. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  246. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  247. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  248. package/dist/lib/breadcrumbs/breadcrumbs.js +2 -10
  249. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  250. package/dist/lib/button/button-constants.cjs +1 -1
  251. package/dist/lib/button/button-constants.cjs.map +1 -1
  252. package/dist/lib/button/button-constants.js +3 -17
  253. package/dist/lib/button/button-constants.js.map +1 -1
  254. package/dist/lib/button/button.cjs +1 -1
  255. package/dist/lib/button/button.cjs.map +1 -1
  256. package/dist/lib/button/button.js +19 -162
  257. package/dist/lib/button/button.js.map +1 -1
  258. package/dist/lib/button-group/button-group.cjs.map +1 -1
  259. package/dist/lib/button-group/button-group.js.map +1 -1
  260. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  261. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  262. package/dist/lib/callbar-button/callbar-button.js +27 -26
  263. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  264. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  265. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  266. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +36 -45
  267. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  268. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  269. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  270. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -47
  271. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  272. package/dist/lib/callbox/callbox.cjs +1 -1
  273. package/dist/lib/callbox/callbox.cjs.map +1 -1
  274. package/dist/lib/callbox/callbox.js +8 -8
  275. package/dist/lib/callbox/callbox.js.map +1 -1
  276. package/dist/lib/card/card.cjs +1 -1
  277. package/dist/lib/card/card.cjs.map +1 -1
  278. package/dist/lib/card/card.js +18 -10
  279. package/dist/lib/card/card.js.map +1 -1
  280. package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
  281. package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
  282. package/dist/lib/checkbox/checkbox-constants.js +2 -2
  283. package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
  284. package/dist/lib/checkbox/checkbox.cjs +1 -1
  285. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  286. package/dist/lib/checkbox/checkbox.js +30 -80
  287. package/dist/lib/checkbox/checkbox.js.map +1 -1
  288. package/dist/lib/checkbox-group/checkbox-group.cjs +1 -1
  289. package/dist/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  290. package/dist/lib/checkbox-group/checkbox-group.js +12 -6
  291. package/dist/lib/checkbox-group/checkbox-group.js.map +1 -1
  292. package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
  293. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  294. package/dist/lib/checkbox-group/checkboxes-decorator.js +1 -0
  295. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  296. package/dist/lib/chip/chip-constants.cjs +1 -1
  297. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  298. package/dist/lib/chip/chip-constants.js +0 -9
  299. package/dist/lib/chip/chip-constants.js.map +1 -1
  300. package/dist/lib/chip/chip.cjs +1 -1
  301. package/dist/lib/chip/chip.cjs.map +1 -1
  302. package/dist/lib/chip/chip.js +26 -43
  303. package/dist/lib/chip/chip.js.map +1 -1
  304. package/dist/lib/codeblock/codeblock.cjs +2 -1
  305. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  306. package/dist/lib/codeblock/codeblock.js +14 -25
  307. package/dist/lib/codeblock/codeblock.js.map +1 -1
  308. package/dist/lib/collapsible/collapsible.cjs +1 -1
  309. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  310. package/dist/lib/collapsible/collapsible.js +2 -2
  311. package/dist/lib/collapsible/collapsible.js.map +1 -1
  312. package/dist/lib/combobox/combobox.cjs +1 -1
  313. package/dist/lib/combobox/combobox.js +1 -1
  314. package/dist/lib/combobox/index.cjs +1 -1
  315. package/dist/lib/combobox/index.js +1 -1
  316. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  317. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  318. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +0 -6
  319. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  320. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  321. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  322. package/dist/lib/combobox-multi-select/combobox-multi-select.js +48 -69
  323. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  324. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  325. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  326. package/dist/lib/combobox-with-popover/combobox-with-popover.js +47 -64
  327. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  328. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  329. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  330. package/dist/lib/contact-centers-row/contact-centers-row.js +45 -51
  331. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  332. package/dist/lib/contact-info/contact-info.cjs +1 -1
  333. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  334. package/dist/lib/contact-info/contact-info.js +8 -8
  335. package/dist/lib/contact-info/contact-info.js.map +1 -1
  336. package/dist/lib/contact-row/contact-row.cjs +1 -1
  337. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  338. package/dist/lib/contact-row/contact-row.js +3 -3
  339. package/dist/lib/contact-row/contact-row.js.map +1 -1
  340. package/dist/lib/datepicker/datepicker.cjs +1 -1
  341. package/dist/lib/datepicker/datepicker.js +1 -1
  342. package/dist/lib/datepicker/index.cjs +1 -1
  343. package/dist/lib/datepicker/index.js +1 -1
  344. package/dist/lib/description-list/description-list.cjs +1 -1
  345. package/dist/lib/description-list/description-list.cjs.map +1 -1
  346. package/dist/lib/description-list/description-list.js +1 -1
  347. package/dist/lib/description-list/description-list.js.map +1 -1
  348. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  349. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  350. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  351. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  352. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  353. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  354. package/dist/lib/dropdown/dropdown-list.js +16 -28
  355. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  356. package/dist/lib/dropdown/dropdown.cjs +1 -1
  357. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  358. package/dist/lib/dropdown/dropdown.js +29 -43
  359. package/dist/lib/dropdown/dropdown.js.map +1 -1
  360. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  361. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  362. package/dist/lib/editor/EditorToolbarButton.js +1 -1
  363. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  364. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  365. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  366. package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
  367. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  368. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  369. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  370. package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
  371. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  372. package/dist/lib/editor/editor.cjs +1 -1
  373. package/dist/lib/editor/editor.cjs.map +1 -1
  374. package/dist/lib/editor/editor.js +143 -142
  375. package/dist/lib/editor/editor.js.map +1 -1
  376. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  377. package/dist/lib/emoji-picker/emoji-picker.js +1 -1
  378. package/dist/lib/emoji-picker/index.cjs +1 -1
  379. package/dist/lib/emoji-picker/index.js +1 -1
  380. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  381. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  382. package/dist/lib/emoji-row/emoji-row.js +1 -1
  383. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  384. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  385. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  386. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  387. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  388. package/dist/lib/empty-state/empty-state-constants.js +9 -37
  389. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  390. package/dist/lib/empty-state/empty-state.cjs +1 -1
  391. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  392. package/dist/lib/empty-state/empty-state.js +30 -77
  393. package/dist/lib/empty-state/empty-state.js.map +1 -1
  394. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  395. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  396. package/dist/lib/feed-item-pill/feed-item-pill.js +42 -40
  397. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  398. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  399. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  400. package/dist/lib/feed-item-row/feed-item-row.js +3 -3
  401. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  402. package/dist/lib/general-row/general-row.cjs +1 -1
  403. package/dist/lib/general-row/general-row.cjs.map +1 -1
  404. package/dist/lib/general-row/general-row.js +61 -105
  405. package/dist/lib/general-row/general-row.js.map +1 -1
  406. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  407. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  408. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  409. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  410. package/dist/lib/group-row/group-row.cjs +1 -1
  411. package/dist/lib/group-row/group-row.cjs.map +1 -1
  412. package/dist/lib/group-row/group-row.js +2 -2
  413. package/dist/lib/group-row/group-row.js.map +1 -1
  414. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  415. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  416. package/dist/lib/grouped-chip/grouped-chip.js +9 -9
  417. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  418. package/dist/lib/hovercard/hovercard.cjs +1 -1
  419. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  420. package/dist/lib/hovercard/hovercard.js +24 -38
  421. package/dist/lib/hovercard/hovercard.js.map +1 -1
  422. package/dist/lib/icon/icon.cjs +1 -1
  423. package/dist/lib/icon/icon.cjs.map +1 -1
  424. package/dist/lib/icon/icon.js +1 -1
  425. package/dist/lib/icon/icon.js.map +1 -1
  426. package/dist/lib/illustration/illustration.cjs +1 -1
  427. package/dist/lib/illustration/illustration.cjs.map +1 -1
  428. package/dist/lib/illustration/illustration.js +1 -1
  429. package/dist/lib/illustration/illustration.js.map +1 -1
  430. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  431. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  432. package/dist/lib/image-viewer/image-viewer.js +32 -33
  433. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  434. package/dist/lib/input/input-constants.cjs +1 -1
  435. package/dist/lib/input/input-constants.cjs.map +1 -1
  436. package/dist/lib/input/input-constants.js +11 -25
  437. package/dist/lib/input/input-constants.js.map +1 -1
  438. package/dist/lib/input/input.cjs +1 -1
  439. package/dist/lib/input/input.cjs.map +1 -1
  440. package/dist/lib/input/input.js +85 -190
  441. package/dist/lib/input/input.js.map +1 -1
  442. package/dist/lib/input-group/input-group.cjs +1 -1
  443. package/dist/lib/input-group/input-group.cjs.map +1 -1
  444. package/dist/lib/input-group/input-group.js +15 -25
  445. package/dist/lib/input-group/input-group.js.map +1 -1
  446. package/dist/lib/item-layout/item-layout.cjs +3 -3
  447. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  448. package/dist/lib/item-layout/item-layout.js +19 -82
  449. package/dist/lib/item-layout/item-layout.js.map +1 -1
  450. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  451. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  452. package/dist/lib/ivr-node/ivr-node.js +1 -1
  453. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  454. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  455. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  456. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +38 -48
  457. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  458. package/dist/lib/link/index.cjs +1 -1
  459. package/dist/lib/link/index.js +2 -2
  460. package/dist/lib/link/link-constants.cjs +1 -1
  461. package/dist/lib/link/link-constants.cjs.map +1 -1
  462. package/dist/lib/link/link-constants.js +14 -17
  463. package/dist/lib/link/link-constants.js.map +1 -1
  464. package/dist/lib/link/link.cjs +1 -1
  465. package/dist/lib/link/link.cjs.map +1 -1
  466. package/dist/lib/link/link.js +2 -17
  467. package/dist/lib/link/link.js.map +1 -1
  468. package/dist/lib/list-item/list-item.cjs +1 -1
  469. package/dist/lib/list-item/list-item.cjs.map +1 -1
  470. package/dist/lib/list-item/list-item.js +5 -9
  471. package/dist/lib/list-item/list-item.js.map +1 -1
  472. package/dist/lib/list-item-group/list-item-group.cjs +1 -1
  473. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  474. package/dist/lib/list-item-group/list-item-group.js +1 -1
  475. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  476. package/dist/lib/message-input/index.cjs +1 -1
  477. package/dist/lib/message-input/index.js +1 -1
  478. package/dist/lib/message-input/message-input-button.cjs +1 -1
  479. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  480. package/dist/lib/message-input/message-input-button.js +1 -1
  481. package/dist/lib/message-input/message-input-button.js.map +1 -1
  482. package/dist/lib/message-input/message-input-link.cjs +1 -1
  483. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  484. package/dist/lib/message-input/message-input-link.js +9 -9
  485. package/dist/lib/message-input/message-input-link.js.map +1 -1
  486. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  487. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  488. package/dist/lib/message-input/message-input-topbar.js +2 -2
  489. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  490. package/dist/lib/message-input/message-input.cjs +1 -1
  491. package/dist/lib/message-input/message-input.js +1 -1
  492. package/dist/lib/modal/modal-constants.cjs +1 -1
  493. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  494. package/dist/lib/modal/modal-constants.js +3 -3
  495. package/dist/lib/modal/modal-constants.js.map +1 -1
  496. package/dist/lib/modal/modal.cjs +1 -1
  497. package/dist/lib/modal/modal.cjs.map +1 -1
  498. package/dist/lib/modal/modal.js +164 -181
  499. package/dist/lib/modal/modal.js.map +1 -1
  500. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  501. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  502. package/dist/lib/motion-text/motion-text-constants.js +6 -18
  503. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  504. package/dist/lib/motion-text/motion-text.cjs +1 -1
  505. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  506. package/dist/lib/motion-text/motion-text.js +7 -5
  507. package/dist/lib/motion-text/motion-text.js.map +1 -1
  508. package/dist/lib/notice/notice-action.cjs +1 -1
  509. package/dist/lib/notice/notice-action.cjs.map +1 -1
  510. package/dist/lib/notice/notice-action.js +26 -34
  511. package/dist/lib/notice/notice-action.js.map +1 -1
  512. package/dist/lib/notice/notice-constants.cjs +1 -1
  513. package/dist/lib/notice/notice-constants.cjs.map +1 -1
  514. package/dist/lib/notice/notice-constants.js +2 -2
  515. package/dist/lib/notice/notice-constants.js.map +1 -1
  516. package/dist/lib/notice/notice-content.cjs +1 -1
  517. package/dist/lib/notice/notice-content.cjs.map +1 -1
  518. package/dist/lib/notice/notice-content.js +18 -51
  519. package/dist/lib/notice/notice-content.js.map +1 -1
  520. package/dist/lib/notice/notice-icon.cjs +1 -1
  521. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  522. package/dist/lib/notice/notice-icon.js +28 -38
  523. package/dist/lib/notice/notice-icon.js.map +1 -1
  524. package/dist/lib/notice/notice.cjs +1 -1
  525. package/dist/lib/notice/notice.cjs.map +1 -1
  526. package/dist/lib/notice/notice.js +23 -70
  527. package/dist/lib/notice/notice.js.map +1 -1
  528. package/dist/lib/pagination/pagination.cjs +1 -1
  529. package/dist/lib/pagination/pagination.cjs.map +1 -1
  530. package/dist/lib/pagination/pagination.js +12 -13
  531. package/dist/lib/pagination/pagination.js.map +1 -1
  532. package/dist/lib/popover/popover-constants.cjs +1 -1
  533. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  534. package/dist/lib/popover/popover-constants.js +6 -6
  535. package/dist/lib/popover/popover-constants.js.map +1 -1
  536. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  537. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  538. package/dist/lib/popover/popover-header-footer.js +3 -11
  539. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  540. package/dist/lib/popover/popover.cjs +1 -1
  541. package/dist/lib/popover/popover.cjs.map +1 -1
  542. package/dist/lib/popover/popover.js +59 -88
  543. package/dist/lib/popover/popover.js.map +1 -1
  544. package/dist/lib/radio/radio-constants.cjs +1 -1
  545. package/dist/lib/radio/radio-constants.cjs.map +1 -1
  546. package/dist/lib/radio/radio-constants.js +2 -2
  547. package/dist/lib/radio/radio-constants.js.map +1 -1
  548. package/dist/lib/radio/radio.cjs +1 -1
  549. package/dist/lib/radio/radio.cjs.map +1 -1
  550. package/dist/lib/radio/radio.js +33 -95
  551. package/dist/lib/radio/radio.js.map +1 -1
  552. package/dist/lib/radio-group/radio-group.cjs +1 -1
  553. package/dist/lib/radio-group/radio-group.cjs.map +1 -1
  554. package/dist/lib/radio-group/radio-group.js +2 -2
  555. package/dist/lib/radio-group/radio-group.js.map +1 -1
  556. package/dist/lib/resizable/index.cjs +1 -1
  557. package/dist/lib/resizable/index.js +3 -3
  558. package/dist/lib/resizable/resizable-handle.cjs +1 -1
  559. package/dist/lib/resizable/resizable-handle.js +1 -1
  560. package/dist/lib/resizable/resizable-panel.cjs +1 -1
  561. package/dist/lib/resizable/resizable-panel.cjs.map +1 -1
  562. package/dist/lib/resizable/resizable-panel.js +3 -11
  563. package/dist/lib/resizable/resizable-panel.js.map +1 -1
  564. package/dist/lib/resizable/resizable.cjs +1 -1
  565. package/dist/lib/resizable/resizable.js +1 -1
  566. package/dist/lib/rich-text-editor/index.cjs +1 -1
  567. package/dist/lib/rich-text-editor/index.js +1 -1
  568. package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
  569. package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
  570. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  571. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  572. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  573. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  574. package/dist/lib/root-layout/root-layout-constants.js +0 -2
  575. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  576. package/dist/lib/root-layout/root-layout.cjs +1 -1
  577. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  578. package/dist/lib/root-layout/root-layout.js +2 -2
  579. package/dist/lib/root-layout/root-layout.js.map +1 -1
  580. package/dist/lib/scroller/index.cjs +1 -1
  581. package/dist/lib/scroller/index.js +1 -1
  582. package/dist/lib/scroller/scroller.cjs +1 -1
  583. package/dist/lib/scroller/scroller.js +1 -1
  584. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  585. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  586. package/dist/lib/select-menu/select-menu-constants.js +2 -7
  587. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  588. package/dist/lib/select-menu/select-menu.cjs +1 -1
  589. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  590. package/dist/lib/select-menu/select-menu.js +64 -119
  591. package/dist/lib/select-menu/select-menu.js.map +1 -1
  592. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  593. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  594. package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
  595. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  596. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  597. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  598. package/dist/lib/skeleton/skeleton-constants.js +4 -12
  599. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  600. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  601. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  602. package/dist/lib/skeleton/skeleton-list-item.js +2 -2
  603. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  604. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  605. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  606. package/dist/lib/skeleton/skeleton-shape.js +3 -3
  607. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  608. package/dist/lib/split-button/split-button-alpha.cjs +2 -0
  609. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -0
  610. package/dist/lib/split-button/split-button-alpha.js +107 -0
  611. package/dist/lib/split-button/split-button-alpha.js.map +1 -0
  612. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  613. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  614. package/dist/lib/split-button/split-button-constants.js +0 -5
  615. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  616. package/dist/lib/split-button/split-button-omega.cjs +2 -0
  617. package/dist/lib/split-button/split-button-omega.cjs.map +1 -0
  618. package/dist/lib/split-button/{split-button-end.js → split-button-omega.js} +9 -9
  619. package/dist/lib/split-button/split-button-omega.js.map +1 -0
  620. package/dist/lib/split-button/split-button.cjs +1 -1
  621. package/dist/lib/split-button/split-button.cjs.map +1 -1
  622. package/dist/lib/split-button/split-button.js +71 -246
  623. package/dist/lib/split-button/split-button.js.map +1 -1
  624. package/dist/lib/stack/stack-constants.cjs +1 -1
  625. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  626. package/dist/lib/stack/stack-constants.js +2 -10
  627. package/dist/lib/stack/stack-constants.js.map +1 -1
  628. package/dist/lib/stack/stack.cjs.map +1 -1
  629. package/dist/lib/stack/stack.js.map +1 -1
  630. package/dist/lib/tab/index.cjs +1 -1
  631. package/dist/lib/tab/index.js +5 -5
  632. package/dist/lib/tab/tab-group.cjs +1 -1
  633. package/dist/lib/tab/tab-group.cjs.map +1 -1
  634. package/dist/lib/tab/tab-group.js +52 -186
  635. package/dist/lib/tab/tab-group.js.map +1 -1
  636. package/dist/lib/tab/tab.cjs +1 -1
  637. package/dist/lib/tab/tab.cjs.map +1 -1
  638. package/dist/lib/tab/tab.js +23 -108
  639. package/dist/lib/tab/tab.js.map +1 -1
  640. package/dist/lib/tab/tabs-constants.cjs +1 -1
  641. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  642. package/dist/lib/tab/tabs-constants.js +2 -33
  643. package/dist/lib/tab/tabs-constants.js.map +1 -1
  644. package/dist/lib/toast/index.cjs +1 -1
  645. package/dist/lib/toast/index.js +1 -1
  646. package/dist/lib/toast/toast.cjs +1 -1
  647. package/dist/lib/toast/toast.js +1 -1
  648. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  649. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  650. package/dist/lib/toggle/toggle-constants.js +0 -2
  651. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  652. package/dist/lib/toggle/toggle.cjs +1 -1
  653. package/dist/lib/toggle/toggle.cjs.map +1 -1
  654. package/dist/lib/toggle/toggle.js +31 -26
  655. package/dist/lib/toggle/toggle.js.map +1 -1
  656. package/dist/lib/tooltip/tooltip.cjs +4 -1
  657. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  658. package/dist/lib/tooltip/tooltip.js +32 -46
  659. package/dist/lib/tooltip/tooltip.js.map +1 -1
  660. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  661. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  662. package/dist/lib/tooltip-directive/tooltip.js +35 -36
  663. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  664. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  665. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  666. package/dist/lib/top-banner-info/top-banner-info.js +4 -4
  667. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  668. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  669. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  670. package/dist/lib/unread-pill/unread-pill.js +1 -1
  671. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  672. package/dist/lib/validation-messages/validation-messages.cjs +1 -1
  673. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  674. package/dist/lib/validation-messages/validation-messages.js +2 -2
  675. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  676. package/dist/localization/en-US.cjs +0 -5
  677. package/dist/localization/en-US.cjs.map +1 -1
  678. package/dist/localization/en-US.js +1 -1
  679. package/dist/localization/en-US.js.map +1 -1
  680. package/dist/{markdownRenderer-Dsq-CiH9.cjs → markdownRenderer-DCgGQseq.cjs} +1 -1
  681. package/dist/{markdownRenderer-Dsq-CiH9.cjs.map → markdownRenderer-DCgGQseq.cjs.map} +1 -1
  682. package/dist/{markdownRenderer-k7_rQkox.js → markdownRenderer-D_P94RyM.js} +1 -1
  683. package/dist/{markdownRenderer-k7_rQkox.js.map → markdownRenderer-D_P94RyM.js.map} +1 -1
  684. package/dist/message_input-BiCHkV9g.cjs +2 -0
  685. package/dist/message_input-BiCHkV9g.cjs.map +1 -0
  686. package/dist/{message_input-rXsWKem_.js → message_input-DO6pV_GG.js} +132 -131
  687. package/dist/message_input-DO6pV_GG.js.map +1 -0
  688. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +17 -142
  689. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  690. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +53 -532
  691. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  692. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +49 -508
  693. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  694. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +46 -392
  695. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  696. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +16 -125
  697. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  698. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +31 -420
  699. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  700. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +24 -322
  701. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  702. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +7 -98
  703. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +35 -390
  704. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  705. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +30 -365
  706. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  707. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +284 -1824
  708. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  709. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +55 -199
  710. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  711. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +48 -161
  712. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  713. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +56 -165
  714. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  715. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +34 -156
  716. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  717. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +188 -2104
  718. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  719. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +15 -283
  720. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  721. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +85 -881
  722. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  723. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +15 -283
  724. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  725. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +7 -98
  726. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  727. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +54 -143
  728. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  729. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +34 -110
  730. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  731. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +33 -150
  732. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  733. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +85 -673
  734. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  735. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +39 -560
  736. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  737. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  738. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +38 -559
  739. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  740. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  741. package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  742. package/dist/{resizable-CcxS3dH7.js → resizable-D4-peBOl.js} +3 -3
  743. package/dist/{resizable-CcxS3dH7.js.map → resizable-D4-peBOl.js.map} +1 -1
  744. package/dist/{resizable-DdPrpKvD.cjs → resizable-aOVGO_Os.cjs} +2 -2
  745. package/dist/{resizable-DdPrpKvD.cjs.map → resizable-aOVGO_Os.cjs.map} +1 -1
  746. package/dist/{resizable_handle-vqI5i9u6.js → resizable_handle-BlKBiWnx.js} +3 -3
  747. package/dist/{resizable_handle-vqI5i9u6.js.map → resizable_handle-BlKBiWnx.js.map} +1 -1
  748. package/dist/{resizable_handle-g45rLu_2.cjs → resizable_handle-RIKS8frB.cjs} +2 -2
  749. package/dist/{resizable_handle-g45rLu_2.cjs.map → resizable_handle-RIKS8frB.cjs.map} +1 -1
  750. package/dist/{resizable_utils-CQscchW4.js → resizable_utils-BComtrMV.js} +47 -29
  751. package/dist/resizable_utils-BComtrMV.js.map +1 -0
  752. package/dist/resizable_utils-DhuzXRdP.cjs +2 -0
  753. package/dist/resizable_utils-DhuzXRdP.cjs.map +1 -0
  754. package/dist/{rich_text_editor-DRwU4mUa.js → rich_text_editor-DYu2R0kw.js} +602 -640
  755. package/dist/{rich_text_editor-DRwU4mUa.js.map → rich_text_editor-DYu2R0kw.js.map} +1 -1
  756. package/dist/rich_text_editor-FduHYl-G.cjs +12 -0
  757. package/dist/{rich_text_editor-TolFmwK_.cjs.map → rich_text_editor-FduHYl-G.cjs.map} +1 -1
  758. package/dist/{scroller-DPqcc_Wl.js → scroller-BGVDh3sq.js} +6 -6
  759. package/dist/scroller-BGVDh3sq.js.map +1 -0
  760. package/dist/scroller-CjAsgjl9.cjs +2 -0
  761. package/dist/scroller-CjAsgjl9.cjs.map +1 -0
  762. package/dist/shared/sr_only_close_button.cjs +1 -1
  763. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  764. package/dist/shared/sr_only_close_button.js +1 -1
  765. package/dist/shared/sr_only_close_button.js.map +1 -1
  766. package/dist/{toast-DqbTiHVx.js → toast-DvPN-bCi.js} +89 -222
  767. package/dist/toast-DvPN-bCi.js.map +1 -0
  768. package/dist/toast-d8_zmgkL.cjs +2 -0
  769. package/dist/toast-d8_zmgkL.cjs.map +1 -0
  770. package/dist/{useResizableCalculations-CoVtK_0B.cjs → useResizableCalculations-BDITle3Q.cjs} +2 -2
  771. package/dist/{useResizableCalculations-CoVtK_0B.cjs.map → useResizableCalculations-BDITle3Q.cjs.map} +1 -1
  772. package/dist/{useResizableCalculations-YI08W37g.js → useResizableCalculations-DAajatT4.js} +2 -2
  773. package/dist/{useResizableCalculations-YI08W37g.js.map → useResizableCalculations-DAajatT4.js.map} +1 -1
  774. package/package.json +5 -7
  775. package/dist/attachment_carousel-1qxTI-NN.js.map +0 -1
  776. package/dist/attachment_carousel-wnZS3vEt.cjs +0 -2
  777. package/dist/attachment_carousel-wnZS3vEt.cjs.map +0 -1
  778. package/dist/combobox-BQBKrDTW.js.map +0 -1
  779. package/dist/combobox-Da7wBh3G.cjs +0 -3
  780. package/dist/combobox-Da7wBh3G.cjs.map +0 -1
  781. package/dist/common/composables/useIndicatorAnimation.cjs +0 -2
  782. package/dist/common/composables/useIndicatorAnimation.cjs.map +0 -1
  783. package/dist/common/composables/useIndicatorAnimation.d.ts +0 -18
  784. package/dist/common/composables/useIndicatorAnimation.d.ts.map +0 -1
  785. package/dist/common/composables/useIndicatorAnimation.js +0 -78
  786. package/dist/common/composables/useIndicatorAnimation.js.map +0 -1
  787. package/dist/common/constants/sizes.cjs +0 -2
  788. package/dist/common/constants/sizes.cjs.map +0 -1
  789. package/dist/common/constants/sizes.d.ts +0 -22
  790. package/dist/common/constants/sizes.d.ts.map +0 -1
  791. package/dist/common/constants/sizes.js +0 -19
  792. package/dist/common/constants/sizes.js.map +0 -1
  793. package/dist/common/mixins/mode.cjs +0 -2
  794. package/dist/common/mixins/mode.cjs.map +0 -1
  795. package/dist/common/mixins/mode.d.ts +0 -25
  796. package/dist/common/mixins/mode.d.ts.map +0 -1
  797. package/dist/common/mixins/mode.js +0 -62
  798. package/dist/common/mixins/mode.js.map +0 -1
  799. package/dist/common/mode_constants.d.ts +0 -37
  800. package/dist/common/mode_constants.d.ts.map +0 -1
  801. package/dist/components/box/box.vue.d.ts +0 -75
  802. package/dist/components/box/box.vue.d.ts.map +0 -1
  803. package/dist/components/box/box_constants.d.ts +0 -11
  804. package/dist/components/box/box_constants.d.ts.map +0 -1
  805. package/dist/components/box/index.d.ts +0 -3
  806. package/dist/components/box/index.d.ts.map +0 -1
  807. package/dist/components/box/validators.d.ts +0 -11
  808. package/dist/components/box/validators.d.ts.map +0 -1
  809. package/dist/components/codeblock/codeblock_constants.d.ts +0 -9
  810. package/dist/components/codeblock/codeblock_constants.d.ts.map +0 -1
  811. package/dist/components/filter_pill/filter_pill.vue.d.ts +0 -4739
  812. package/dist/components/filter_pill/filter_pill.vue.d.ts.map +0 -1
  813. package/dist/components/filter_pill/index.d.ts +0 -2
  814. package/dist/components/filter_pill/index.d.ts.map +0 -1
  815. package/dist/components/mode_island/index.d.ts +0 -3
  816. package/dist/components/mode_island/index.d.ts.map +0 -1
  817. package/dist/components/mode_island/mode_island.vue.d.ts +0 -3
  818. package/dist/components/mode_island/mode_island.vue.d.ts.map +0 -1
  819. package/dist/components/mode_island/mode_island_constants.d.ts +0 -10
  820. package/dist/components/mode_island/mode_island_constants.d.ts.map +0 -1
  821. package/dist/components/mode_island/utils.d.ts +0 -12
  822. package/dist/components/mode_island/utils.d.ts.map +0 -1
  823. package/dist/components/mode_island/validators.d.ts +0 -6
  824. package/dist/components/mode_island/validators.d.ts.map +0 -1
  825. package/dist/components/prose/index.d.ts +0 -3
  826. package/dist/components/prose/index.d.ts.map +0 -1
  827. package/dist/components/prose/prose.vue.d.ts +0 -26
  828. package/dist/components/prose/prose.vue.d.ts.map +0 -1
  829. package/dist/components/prose/prose_constants.d.ts +0 -34
  830. package/dist/components/prose/prose_constants.d.ts.map +0 -1
  831. package/dist/components/segmented_control/index.d.ts +0 -4
  832. package/dist/components/segmented_control/index.d.ts.map +0 -1
  833. package/dist/components/segmented_control/segmented_control.vue.d.ts +0 -226
  834. package/dist/components/segmented_control/segmented_control.vue.d.ts.map +0 -1
  835. package/dist/components/segmented_control/segmented_control_constants.d.ts +0 -41
  836. package/dist/components/segmented_control/segmented_control_constants.d.ts.map +0 -1
  837. package/dist/components/segmented_control/segmented_control_item.vue.d.ts +0 -35
  838. package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +0 -1
  839. package/dist/components/split_button/split_button-end.vue.d.ts.map +0 -1
  840. package/dist/components/split_button/split_button-start.vue.d.ts.map +0 -1
  841. package/dist/components/text/index.d.ts +0 -3
  842. package/dist/components/text/index.d.ts.map +0 -1
  843. package/dist/components/text/text.vue.d.ts +0 -145
  844. package/dist/components/text/text.vue.d.ts.map +0 -1
  845. package/dist/components/text/text_constants.d.ts +0 -95
  846. package/dist/components/text/text_constants.d.ts.map +0 -1
  847. package/dist/datepicker-B2nhxiCg.js.map +0 -1
  848. package/dist/datepicker-CZrNL0Yn.cjs +0 -2
  849. package/dist/datepicker-CZrNL0Yn.cjs.map +0 -1
  850. package/dist/directives/focusgroup_directive/focusgroup.d.ts +0 -6
  851. package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +0 -1
  852. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +0 -74
  853. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +0 -1
  854. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +0 -15
  855. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +0 -1
  856. package/dist/directives/focusgroup_directive/index.d.ts +0 -2
  857. package/dist/directives/focusgroup_directive/index.d.ts.map +0 -1
  858. package/dist/directives/focustrap_directive/focustrap.d.ts +0 -6
  859. package/dist/directives/focustrap_directive/focustrap.d.ts.map +0 -1
  860. package/dist/directives/focustrap_directive/focustrap_constants.d.ts +0 -7
  861. package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +0 -1
  862. package/dist/directives/focustrap_directive/focustrap_utils.d.ts +0 -5
  863. package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +0 -1
  864. package/dist/directives/focustrap_directive/index.d.ts +0 -2
  865. package/dist/directives/focustrap_directive/index.d.ts.map +0 -1
  866. package/dist/directives/mode_directive/index.d.ts +0 -2
  867. package/dist/directives/mode_directive/index.d.ts.map +0 -1
  868. package/dist/directives/mode_directive/mode.d.ts +0 -6
  869. package/dist/directives/mode_directive/mode.d.ts.map +0 -1
  870. package/dist/emoji_picker-BQW4qRFg.cjs +0 -2
  871. package/dist/emoji_picker-BQW4qRFg.cjs.map +0 -1
  872. package/dist/emoji_picker-BjgAohQy.js.map +0 -1
  873. package/dist/lib/box/box-constants.cjs +0 -2
  874. package/dist/lib/box/box-constants.cjs.map +0 -1
  875. package/dist/lib/box/box-constants.js +0 -107
  876. package/dist/lib/box/box-constants.js.map +0 -1
  877. package/dist/lib/box/box.cjs +0 -2
  878. package/dist/lib/box/box.cjs.map +0 -1
  879. package/dist/lib/box/box.js +0 -237
  880. package/dist/lib/box/box.js.map +0 -1
  881. package/dist/lib/box/index.cjs +0 -1
  882. package/dist/lib/box/index.js +0 -3
  883. package/dist/lib/box/validators.cjs +0 -2
  884. package/dist/lib/box/validators.cjs.map +0 -1
  885. package/dist/lib/box/validators.js +0 -17
  886. package/dist/lib/box/validators.js.map +0 -1
  887. package/dist/lib/codeblock/codeblock-constants.cjs +0 -2
  888. package/dist/lib/codeblock/codeblock-constants.cjs.map +0 -1
  889. package/dist/lib/codeblock/codeblock-constants.js +0 -20
  890. package/dist/lib/codeblock/codeblock-constants.js.map +0 -1
  891. package/dist/lib/filter-pill/filter-pill.cjs +0 -2
  892. package/dist/lib/filter-pill/filter-pill.cjs.map +0 -1
  893. package/dist/lib/filter-pill/filter-pill.js +0 -441
  894. package/dist/lib/filter-pill/filter-pill.js.map +0 -1
  895. package/dist/lib/filter-pill/index.cjs +0 -1
  896. package/dist/lib/filter-pill/index.js +0 -2
  897. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +0 -2
  898. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +0 -1
  899. package/dist/lib/focusgroup-directive/focusgroup-constants.js +0 -77
  900. package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +0 -1
  901. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +0 -2
  902. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +0 -1
  903. package/dist/lib/focusgroup-directive/focusgroup-utils.js +0 -33
  904. package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +0 -1
  905. package/dist/lib/focusgroup-directive/focusgroup.cjs +0 -2
  906. package/dist/lib/focusgroup-directive/focusgroup.cjs.map +0 -1
  907. package/dist/lib/focusgroup-directive/focusgroup.js +0 -143
  908. package/dist/lib/focusgroup-directive/focusgroup.js.map +0 -1
  909. package/dist/lib/focusgroup-directive/index.cjs +0 -1
  910. package/dist/lib/focusgroup-directive/index.js +0 -2
  911. package/dist/lib/focustrap-directive/focustrap-constants.cjs +0 -2
  912. package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +0 -1
  913. package/dist/lib/focustrap-directive/focustrap-constants.js +0 -10
  914. package/dist/lib/focustrap-directive/focustrap-constants.js.map +0 -1
  915. package/dist/lib/focustrap-directive/focustrap-utils.cjs +0 -2
  916. package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +0 -1
  917. package/dist/lib/focustrap-directive/focustrap-utils.js +0 -19
  918. package/dist/lib/focustrap-directive/focustrap-utils.js.map +0 -1
  919. package/dist/lib/focustrap-directive/focustrap.cjs +0 -2
  920. package/dist/lib/focustrap-directive/focustrap.cjs.map +0 -1
  921. package/dist/lib/focustrap-directive/focustrap.js +0 -96
  922. package/dist/lib/focustrap-directive/focustrap.js.map +0 -1
  923. package/dist/lib/focustrap-directive/index.cjs +0 -1
  924. package/dist/lib/focustrap-directive/index.js +0 -2
  925. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +0 -2
  926. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +0 -1
  927. package/dist/lib/kitchen-sink/kitchen-sink-view.js +0 -205
  928. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +0 -1
  929. package/dist/lib/mode-directive/index.cjs +0 -1
  930. package/dist/lib/mode-directive/index.js +0 -2
  931. package/dist/lib/mode-directive/mode.cjs +0 -2
  932. package/dist/lib/mode-directive/mode.cjs.map +0 -1
  933. package/dist/lib/mode-directive/mode.js +0 -67
  934. package/dist/lib/mode-directive/mode.js.map +0 -1
  935. package/dist/lib/mode-island/index.cjs +0 -1
  936. package/dist/lib/mode-island/index.js +0 -3
  937. package/dist/lib/mode-island/mode-island-constants.cjs +0 -2
  938. package/dist/lib/mode-island/mode-island-constants.cjs.map +0 -1
  939. package/dist/lib/mode-island/mode-island-constants.js +0 -10
  940. package/dist/lib/mode-island/mode-island-constants.js.map +0 -1
  941. package/dist/lib/mode-island/mode-island.cjs +0 -2
  942. package/dist/lib/mode-island/mode-island.cjs.map +0 -1
  943. package/dist/lib/mode-island/mode-island.js +0 -102
  944. package/dist/lib/mode-island/mode-island.js.map +0 -1
  945. package/dist/lib/mode-island/utils.cjs +0 -2
  946. package/dist/lib/mode-island/utils.cjs.map +0 -1
  947. package/dist/lib/mode-island/utils.js +0 -28
  948. package/dist/lib/mode-island/utils.js.map +0 -1
  949. package/dist/lib/mode-island/validators.cjs +0 -2
  950. package/dist/lib/mode-island/validators.cjs.map +0 -1
  951. package/dist/lib/mode-island/validators.js +0 -10
  952. package/dist/lib/mode-island/validators.js.map +0 -1
  953. package/dist/lib/prose/index.cjs +0 -1
  954. package/dist/lib/prose/index.js +0 -3
  955. package/dist/lib/prose/prose-constants.cjs +0 -2
  956. package/dist/lib/prose/prose-constants.cjs.map +0 -1
  957. package/dist/lib/prose/prose-constants.js +0 -89
  958. package/dist/lib/prose/prose-constants.js.map +0 -1
  959. package/dist/lib/prose/prose.cjs +0 -2
  960. package/dist/lib/prose/prose.cjs.map +0 -1
  961. package/dist/lib/prose/prose.js +0 -68
  962. package/dist/lib/prose/prose.js.map +0 -1
  963. package/dist/lib/segmented-control/index.cjs +0 -1
  964. package/dist/lib/segmented-control/index.js +0 -4
  965. package/dist/lib/segmented-control/segmented-control-constants.cjs +0 -2
  966. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +0 -1
  967. package/dist/lib/segmented-control/segmented-control-constants.js +0 -41
  968. package/dist/lib/segmented-control/segmented-control-constants.js.map +0 -1
  969. package/dist/lib/segmented-control/segmented-control-item.cjs +0 -2
  970. package/dist/lib/segmented-control/segmented-control-item.cjs.map +0 -1
  971. package/dist/lib/segmented-control/segmented-control-item.js +0 -104
  972. package/dist/lib/segmented-control/segmented-control-item.js.map +0 -1
  973. package/dist/lib/segmented-control/segmented-control.cjs +0 -2
  974. package/dist/lib/segmented-control/segmented-control.cjs.map +0 -1
  975. package/dist/lib/segmented-control/segmented-control.js +0 -204
  976. package/dist/lib/segmented-control/segmented-control.js.map +0 -1
  977. package/dist/lib/split-button/split-button-end.cjs +0 -2
  978. package/dist/lib/split-button/split-button-end.cjs.map +0 -1
  979. package/dist/lib/split-button/split-button-end.js.map +0 -1
  980. package/dist/lib/split-button/split-button-start.cjs +0 -2
  981. package/dist/lib/split-button/split-button-start.cjs.map +0 -1
  982. package/dist/lib/split-button/split-button-start.js +0 -182
  983. package/dist/lib/split-button/split-button-start.js.map +0 -1
  984. package/dist/lib/text/index.cjs +0 -1
  985. package/dist/lib/text/index.js +0 -3
  986. package/dist/lib/text/text-constants.cjs +0 -2
  987. package/dist/lib/text/text-constants.cjs.map +0 -1
  988. package/dist/lib/text/text-constants.js +0 -128
  989. package/dist/lib/text/text-constants.js.map +0 -1
  990. package/dist/lib/text/text.cjs +0 -2
  991. package/dist/lib/text/text.cjs.map +0 -1
  992. package/dist/lib/text/text.js +0 -150
  993. package/dist/lib/text/text.js.map +0 -1
  994. package/dist/message_input-DktL-f28.cjs +0 -2
  995. package/dist/message_input-DktL-f28.cjs.map +0 -1
  996. package/dist/message_input-rXsWKem_.js.map +0 -1
  997. package/dist/mode_constants-CzYJW9ua.cjs +0 -2
  998. package/dist/mode_constants-CzYJW9ua.cjs.map +0 -1
  999. package/dist/mode_constants-tb7TL85q.js +0 -14
  1000. package/dist/mode_constants-tb7TL85q.js.map +0 -1
  1001. package/dist/resizable_utils-CQscchW4.js.map +0 -1
  1002. package/dist/resizable_utils-DabS08OL.cjs +0 -2
  1003. package/dist/resizable_utils-DabS08OL.cjs.map +0 -1
  1004. package/dist/rich_text_editor-TolFmwK_.cjs +0 -12
  1005. package/dist/scroller-C15VLKNK.cjs +0 -2
  1006. package/dist/scroller-C15VLKNK.cjs.map +0 -1
  1007. package/dist/scroller-DPqcc_Wl.js.map +0 -1
  1008. package/dist/toast-BuNWsrhy.cjs +0 -2
  1009. package/dist/toast-BuNWsrhy.cjs.map +0 -1
  1010. package/dist/toast-DqbTiHVx.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"modal.cjs","names":[],"sources":["../../../components/modal/modal.vue"],"sourcesContent":["<template>\n <teleport\n :disabled=\"!appendTo\"\n :to=\"appendTo\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <dialog\n ref=\"dialogEl\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-describedby=\"describedById || undefined\"\n :aria-labelledby=\"labelledById\"\n v-bind=\"modeAttrs\"\n @cancel.prevent=\"close\"\n @click=\"onBackdropClick\"\n @keydown=\"onKeydown\"\n >\n <div\n v-if=\"open && (hasSlotContent($slots.banner) || bannerHeaderText)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerHeaderText prop -->\n <slot name=\"banner\">\n {{ bannerHeaderText }}\n </slot>\n </div>\n <transition\n :appear=\"open\"\n name=\"d-modal__dialog\"\n @after-enter=\"onAfterEnter\"\n @after-leave=\"onAfterLeave\"\n >\n <div\n v-show=\"open\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n >\n <div\n v-if=\"hasSlotContent($slots.header)\"\n :id=\"labelledById\"\n :class=\"['d-modal__header', headerClass]\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"headerText\" text prop -->\n <slot name=\"header\" />\n </div>\n <dt-text\n v-else\n :id=\"labelledById\"\n kind=\"headline\"\n :size=\"600\"\n strength=\"medium\"\n density=\"100\"\n text-box-trim=\"start\"\n as=\"h2\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ headerText }}\n </dt-text>\n <div\n v-if=\"hasSlotContent($slots.default)\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n :class=\"['d-modal__footer', footerClass]\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <sr-only-close-button\n v-if=\"!showClose\"\n @close=\"close\"\n />\n <dt-button\n v-else\n class=\"d-modal__close\"\n data-qa=\"dt-modal-close-button\"\n :size=\"300\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-close\n :size=\"iconSize\"\n />\n </template>\n </dt-button>\n </div>\n </transition>\n </dialog>\n </teleport>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtText } from '@/components/text';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue';\nimport ModeMixin from '@/common/mixins/mode';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { getUniqueString, hasSlotContent, returnFirstEl, disableRootScrolling, enableRootScrolling } from '@/common/utils';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\nimport { DialtoneLocalization } from '@/localization';\n\nconst focusableSelector = 'button:not(:disabled),[href],input:not(:disabled),select:not(:disabled),' +\n 'textarea:not(:disabled),details,[tabindex]:not([tabindex=\"-1\"]):not(:disabled):not([aria-disabled=\"true\"])';\n\n/**\n * Modals focus the user's attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtModal',\n\n components: {\n DtButton,\n DtText,\n DtIconClose,\n SrOnlyCloseButton,\n },\n\n mixins: [ModeMixin],\n\n props: {\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n open: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Header text to display in the modal header.\n */\n headerText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Header text to display in the modal banner.\n */\n bannerHeaderText: {\n type: String,\n default: undefined,\n },\n\n /**\n * The theme of the modal.\n * @values default, critical\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, critical, info, positive, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validator (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the header element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n headerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the footer element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n footerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Shows the close button on the modal\n * @values true, false\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n\n /**\n * A CSS selector string for the element to portal the modal to. If not provided, the modal will be rendered in its default location.\n */\n appendTo: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:open\n * @type {Boolean}\n */\n 'update:open',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n open (isShowing) {\n this.syncDialogState(isShowing);\n },\n },\n\n mounted () {\n if (this.open) {\n this.syncDialogState(true);\n }\n },\n\n beforeUnmount () {\n const dialogEl = this.$refs.dialogEl;\n if (dialogEl?.open) {\n dialogEl.close();\n enableRootScrolling(this.getScrollRoot());\n }\n this.previousActiveElement = null;\n },\n\n methods: {\n getScrollRoot () {\n return returnFirstEl(this.$refs.dialogEl)?.getRootNode()?.host;\n },\n\n syncDialogState (isShowing) {\n const dialogEl = this.$refs.dialogEl;\n if (!dialogEl) return;\n\n if (isShowing) {\n this.previousActiveElement = document.activeElement;\n if (!dialogEl.open) {\n dialogEl.showModal();\n }\n disableRootScrolling(this.getScrollRoot());\n } else if (dialogEl.open) {\n // Leave transition plays via v-show on inner content.\n // close() is called in onAfterLeave when transition completes.\n enableRootScrolling(this.getScrollRoot());\n }\n },\n\n close () {\n this.$emit('update:open', false);\n },\n\n onBackdropClick (event) {\n if (this.closeOnClick && event.target === event.currentTarget) {\n this.close();\n }\n this.$emit('click', event);\n },\n\n onKeydown (event) {\n this.$emit('keydown', event);\n },\n\n async onAfterEnter () {\n this.$emit('update:open', true);\n await this.setFocusAfterTransition();\n },\n\n onAfterLeave () {\n const dialogEl = this.$refs.dialogEl;\n if (dialogEl?.open) {\n dialogEl.close();\n }\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n },\n\n focusFirstTabbable (container) {\n const focusable = [...container.querySelectorAll(focusableSelector)];\n if (!focusable.length) return;\n let target = focusable[0];\n // If first focusable is an unchecked radio, prefer the checked radio in the same group.\n if (target.matches('[type=\"radio\"]:not(:checked)')) {\n target = focusable.find(el => el.checked && el.name === target.name) || target;\n }\n target.focus({ preventScroll: true });\n },\n\n async setFocusAfterTransition () {\n const dialogEl = this.$refs.dialogEl;\n if (!dialogEl) return;\n\n await this.$nextTick();\n\n if (this.initialFocusElement === 'first') {\n this.focusFirstTabbable(dialogEl);\n } else if (typeof this.initialFocusElement === 'string' && this.initialFocusElement.startsWith('#')) {\n const el = dialogEl.querySelector(this.initialFocusElement);\n if (el) {\n el.focus();\n } else {\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 this.focusFirstTabbable(dialogEl);\n }\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"modal.cjs","names":[],"sources":["../../../components/modal/modal.vue"],"sourcesContent":["<template>\n <teleport\n :disabled=\"!appendTo\"\n :to=\"appendTo\"\n >\n <dt-lazy-show\n ref=\"modalRoot\"\n transition=\"d-zoom\"\n :show=\"show\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-hidden=\"open\"\n v-on=\"modalListeners\"\n >\n <div\n v-if=\"show && (hasSlotContent($slots.banner) || bannerTitle)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerTitle prop -->\n <slot name=\"banner\">\n {{ bannerTitle }}\n </slot>\n </div>\n <transition\n appear\n name=\"d-modal__dialog\"\n >\n <div\n v-show=\"show\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-describedby=\"describedById\"\n :aria-labelledby=\"labelledById\"\n >\n <div\n v-if=\"hasSlotContent($slots.header)\"\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"title\" text prop -->\n <slot name=\"header\" />\n </div>\n <h2\n v-else\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ title }}\n </h2>\n <div\n v-if=\"hasSlotContent($slots.default)\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n class=\"d-modal__footer\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <sr-only-close-button\n v-if=\"hideClose\"\n @close=\"close\"\n />\n <dt-button\n v-else\n class=\"d-modal__close\"\n data-qa=\"dt-modal-close-button\"\n size=\"md\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-close\n :size=\"iconSize\"\n />\n </template>\n </dt-button>\n </div>\n </transition>\n </dt-lazy-show>\n </teleport>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport Modal from '@/common/mixins/modal';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { returnFirstEl, getUniqueString, hasSlotContent, disableRootScrolling, enableRootScrolling } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Modals focus the user’s attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtModal',\n\n components: {\n DtLazyShow,\n DtButton,\n DtIconClose,\n SrOnlyCloseButton,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title text to display in the modal header.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Title text to display in the modal banner.\n */\n bannerTitle: {\n type: String,\n default: '',\n },\n\n /**\n * The theme of the modal. kind - default or danger,\n * @values default, danger\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, error, info, success, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Hides the close button on the modal\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n\n /**\n * A CSS selector string for the element to portal the modal to. If not provided, the modal will be rendered in its default location.\n */\n appendTo: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:show\n * @type {Boolean}\n */\n 'update:show',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n EVENT_KEYNAMES,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n modalListeners () {\n return {\n click: event => {\n // Handle backdrop clicks for closing modal\n if (this.closeOnClick && event.target === event.currentTarget) {\n this.close();\n } else if (this.show && event.target !== event.currentTarget) {\n // Ensure focus stays within modal when clicking inside it\n this.handleModalClick(event);\n }\n\n this.$emit('click', event);\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n\n 'after-enter': async () => {\n this.$emit('update:show', true);\n await this.setFocusAfterTransition();\n },\n\n focusin: event => {\n // Ensure focus stays within modal\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n if (this.show && modalEl && !modalEl.contains(event.target)) {\n event.preventDefault();\n this.focusFirstElement(modalEl);\n }\n },\n };\n },\n\n open () {\n return `${!this.show}`;\n },\n\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n show: {\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n disableRootScrolling(returnFirstEl(modalEl).getRootNode().host);\n } else {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n enableRootScrolling(returnFirstEl(modalEl).getRootNode().host);\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n },\n\n methods: {\n close () {\n this.$emit('update:show', false);\n },\n\n async setFocusAfterTransition () {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n if (this.initialFocusElement === 'first') {\n await this.focusFirstElement(modalEl);\n } else if (this.initialFocusElement.startsWith('#')) {\n await this.focusElementById(this.initialFocusElement);\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n\n trapFocus (e) {\n if (this.show) {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n this.focusTrappedTabPress(e, modalEl);\n }\n },\n\n handleModalClick (event) {\n // Ensure focus stays within modal when clicking inside it\n const clickedElement = event.target;\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n const focusableElements = this._getFocusableElements(modalEl);\n\n // If the clicked element is not focusable, ensure focus stays in modal\n if (focusableElements.length && !focusableElements.includes(clickedElement)) {\n // Check if current active element is still within the modal\n if (!focusableElements.includes(document.activeElement)) {\n this.focusFirstElement(modalEl);\n }\n }\n },\n },\n};\n</script>\n"],"mappings":"2nBA+IA,IAAK,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,UAEN,WAAY,CACV,WAAA,EAAA,QACA,SAAA,EAAA,QACA,YAAA,EAAA,YACA,kBAAA,EAAA,QACD,CAED,OAAQ,CAAC,EAAA,QAAM,CAEf,MAAO,CAIL,KAAM,CACJ,KAAM,OACN,QAAS,GACV,CAOD,cAAe,CACb,KAAM,OACN,QAAS,GACV,CAKD,aAAc,CACZ,KAAM,OACN,QAAS,UAAY,CAAE,OAAO,EAAA,iBAAiB,EAChD,CAOD,KAAM,CACJ,KAAM,QACN,QAAS,GACV,CAKD,MAAO,CACL,KAAM,OACN,QAAS,GACV,CAKD,YAAa,CACX,KAAM,OACN,QAAS,GACV,CAMD,KAAM,CACJ,KAAM,OACN,QAAS,UACT,UAAY,GAAM,OAAO,KAAK,EAAA,qBAAqB,CAAC,SAAS,EAAE,CAChE,CAMD,KAAM,CACJ,KAAM,OACN,QAAS,UACT,UAAY,GAAM,OAAO,KAAK,EAAA,qBAAqB,CAAC,SAAS,EAAE,CAChE,CAOD,WAAY,CACV,KAAM,CAAC,OAAQ,OAAQ,MAAM,CAC7B,QAAS,GACV,CAOD,YAAa,CACX,KAAM,CAAC,OAAQ,OAAQ,MAAM,CAC7B,QAAS,GACV,CAOD,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,MAAM,CAC7B,QAAS,GACV,CAMD,WAAY,CACV,KAAM,OACN,QAAS,UACT,SAAU,EAAM,CACd,OAAO,EAAA,aAAa,SAAS,EAAK,EAErC,CAOD,YAAa,CACX,KAAM,CAAC,OAAQ,OAAQ,MAAM,CAC7B,QAAS,GACV,CAMD,UAAW,CACT,KAAM,QACN,QAAS,GACV,CAMD,aAAc,CACZ,KAAM,QACN,QAAS,GACV,CAMD,kBAAmB,CACjB,KAAM,QACN,QAAS,GACV,CASD,oBAAqB,CACnB,KAAM,CAAC,OAAQ,YAAY,CAC3B,QAAS,QACT,UAAW,GACF,IAAwB,SAC5B,aAA+B,aAChC,EAAoB,WAAW,IAAI,CAExC,CAKD,SAAU,CACR,KAAM,OACN,QAAS,IAAA,GACV,CACF,CAED,MAAO,CAOL,QAQA,UASA,cACD,CAED,MAAQ,CACN,MAAO,CACL,qBAAA,EAAA,qBACA,qBAAA,EAAA,qBACA,mBAAA,EAAA,mBACA,eAAA,EAAA,eACA,eAAA,EAAA,eACA,KAAM,IAAI,EAAA,qBACX,EAGH,SAAU,CACR,gBAAkB,CAChB,MAAO,CACL,MAAO,GAAS,CAEV,KAAK,cAAgB,EAAM,SAAW,EAAM,cAC9C,KAAK,OAAO,CACH,KAAK,MAAQ,EAAM,SAAW,EAAM,eAE7C,KAAK,iBAAiB,EAAM,CAG9B,KAAK,MAAM,QAAS,EAAM,EAG5B,QAAS,GAAS,CAChB,OAAQ,EAAM,KAAd,CACE,KAAK,EAAA,eAAe,IACpB,KAAK,EAAA,eAAe,OAClB,KAAK,OAAO,CACZ,MACF,KAAK,EAAA,eAAe,IAClB,KAAK,UAAU,EAAM,CACrB,MAEJ,KAAK,MAAM,UAAW,EAAM,EAG9B,cAAe,SAAY,CACzB,KAAK,MAAM,cAAe,GAAK,CAC/B,MAAM,KAAK,yBAAyB,EAGtC,QAAS,GAAS,CAEhB,IAAM,EAAU,KAAK,MAAM,WAAW,KAAO,KAAK,IAC9C,KAAK,MAAQ,GAAW,CAAC,EAAQ,SAAS,EAAM,OAAO,GACzD,EAAM,gBAAgB,CACtB,KAAK,kBAAkB,EAAQ,GAGpC,EAGH,MAAQ,CACN,MAAO,GAAG,CAAC,KAAK,QAGlB,eAAiB,CACf,MAAO,CAAC,CAAC,KAAK,OAAO,QAGvB,iBAAmB,CACjB,OAAO,EAAA,mBAAmB,KAAK,aAGjC,kBAAoB,CAClB,OAAO,KAAK,KAAK,GAAG,wBAAwB,EAE/C,CAED,MAAO,CACL,KAAM,CACJ,QAAS,EAAW,CACd,GAEF,KAAK,sBAAwB,SAAS,cAEtC,EAAA,qBAAqB,EAAA,cADL,KAAK,MAAM,WAAW,KAAO,KAAK,IACP,CAAC,aAAa,CAAC,KAAK,GAG/D,EAAA,oBAAoB,EAAA,cADJ,KAAK,MAAM,WAAW,KAAO,KAAK,IACR,CAAC,aAAa,CAAC,KAAK,CAE9D,KAAK,uBAAuB,OAAO,CACnC,KAAK,sBAAwB,OAGlC,CACF,CAED,QAAS,CACP,OAAS,CACP,KAAK,MAAM,cAAe,GAAM,EAGlC,MAAM,yBAA2B,CAC/B,IAAM,EAAU,KAAK,MAAM,WAAW,KAAO,KAAK,IAC9C,KAAK,sBAAwB,QAC/B,MAAM,KAAK,kBAAkB,EAAQ,CAC5B,KAAK,oBAAoB,WAAW,IAAI,CACjD,MAAM,KAAK,iBAAiB,KAAK,oBAAoB,CAC5C,KAAK,+BAA+B,aAC7C,KAAK,oBAAoB,OAAO,EAIpC,UAAW,EAAG,CACZ,GAAI,KAAK,KAAM,CACb,IAAM,EAAU,KAAK,MAAM,WAAW,KAAO,KAAK,IAClD,KAAK,qBAAqB,EAAG,EAAQ,GAIzC,iBAAkB,EAAO,CAEvB,IAAM,EAAiB,EAAM,OACvB,EAAU,KAAK,MAAM,WAAW,KAAO,KAAK,IAC5C,EAAoB,KAAK,sBAAsB,EAAQ,CAGzD,EAAkB,QAAU,CAAC,EAAkB,SAAS,EAAe,GAEpE,EAAkB,SAAS,SAAS,cAAc,EACrD,KAAK,kBAAkB,EAAQ,GAItC,CACF,qEAjZW,MAAM,mQA6BL,EAAA,SAAA,CApHR,SAAQ,CAAG,EAAA,SACX,GAAI,EAAA,6BAkHU,GAAA,EAAA,EAAA,YAAA,CA/Gb,IAAI,YACJ,WAAW,SACV,KAAM,EAAA,KACN,MAAK,WAA+B,EAAA,qBAAqB,EAAA,MAAe,EAAA,qBAAqB,EAAA,MAAe,EAAA,YAM7G,UAAQ,WACP,cAAa,EAAA,uBACO,EAAf,eAAc,CAAA,CAAA,2BAed,CAZE,EAAA,OAAS,EAAA,eAAe,EAAA,OAAO,OAAM,EAAK,EAAA,eAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAY5C,MAAA,OAXJ,UAAQ,kBACP,OAAA,EAAA,EAAA,gBAAK,mBAA2C,EAAA,YAAuB,EAAA,qCASjE,EAAA,OAAA,SAAA,EAAA,KAAA,EAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBADF,EAAA,YAAW,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,EAAA,EAAA,EAAA,aAsFL,EAAA,WAAA,CAlFX,OAAA,GACA,KAAK,8CAgFC,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,oBAAA,MAAA,CA5EH,OAAA,EAAA,EAAA,gBAAK,kDAAgF,EAAA,kBAAiB,CAAgB,EAAA,cAKvH,KAAK,SACL,aAAW,OACV,mBAAkB,EAAA,cAClB,kBAAiB,EAAA,eAGV,EAAA,eAAe,EAAA,OAAO,OAAM,GAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAO9B,MAAA,OANH,GAAI,EAAA,aACL,MAAM,kBACN,UAAQ,oCAGc,EAAA,OAAA,SAAA,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBASnB,KAAA,OALF,GAAI,EAAA,aACL,MAAM,kBACN,UAAQ,wCAEL,EAAA,MAAK,CAAA,EAAA,EAAA,EAGF,EAAA,eAAe,EAAA,OAAO,QAAO,GAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAS/B,MAAA,OARH,OAAA,EAAA,EAAA,gBAAK,CAAA,mBAAoD,EAAA,aAAA,CAAA,CAI1D,UAAQ,mCAGA,EAAA,OAAA,UAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAWN,IAAA,OAPD,OAAA,EAAA,EAAA,gBAAK,CAAA,mBAAoD,EAAA,aAAA,CAAA,CAI1D,UAAQ,uCAEL,EAAA,KAAI,CAAA,EAAA,EAGD,EAAA,gBAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAKC,SANT,EAMS,EAAA,EAAA,EAAA,YADe,EAAA,OAAA,SAAA,CAAA,CAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,CAGhB,EAAA,YAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,aAEN,EAAA,OADC,QAAO,EAAA,iEAkBE,EAAA,OAdV,MAAM,iBACN,UAAQ,wBACR,KAAK,KACL,KAAK,QACL,WAAW,QACV,aAAY,EAAA,iBACZ,MAAO,EAAA,iBACP,QAAO,EAAA,QAEG,MAAA,EAAA,EAAA,UAGP,CAHe,cAAQ,EAAA,EAAA,EAAA,aAGvB,EAAA,CADC,KAAM,EAAQ,CAAA,KAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA,4DAzEb,EAAA,KAAI,CAAA,CAAA,CAAA,CAAA"}
@@ -1,25 +1,26 @@
1
- import { disableRootScrolling as e, enableRootScrolling as t, getUniqueString as n, hasSlotContent as r, returnFirstEl as i } from "../../common/utils/index.js";
2
- import { t as a } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
3
- import o from "../../common/mixins/mode.js";
4
- import { NOTICE_KINDS as s } from "../notice/notice-constants.js";
5
- import c from "../text/text.js";
1
+ import { EVENT_KEYNAMES as e } from "../../common/constants/index.js";
2
+ import { disableRootScrolling as t, enableRootScrolling as n, getUniqueString as r, hasSlotContent as i, returnFirstEl as a } from "../../common/utils/index.js";
3
+ import { t as o } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
4
+ import s from "../../common/mixins/modal.js";
5
+ import { NOTICE_KINDS as c } from "../notice/notice-constants.js";
6
6
  import { DialtoneLocalization as l } from "../../localization/index.js";
7
7
  import u from "../button/button.js";
8
8
  import d from "../../shared/sr_only_close_button.js";
9
- import { MODAL_BANNER_KINDS as f, MODAL_KIND_MODIFIERS as p, MODAL_SIZE_MODIFIERS as m } from "./modal-constants.js";
10
- import { Teleport as h, Transition as g, createBlock as _, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createTextVNode as x, createVNode as S, mergeProps as C, normalizeClass as w, openBlock as T, renderSlot as E, resolveComponent as D, toDisplayString as O, vShow as k, withCtx as A, withDirectives as j, withModifiers as M } from "vue";
11
- import { DtIconClose as N } from "@dialpad/dialtone-icons/vue";
9
+ import f from "../lazy-show/lazy-show.js";
10
+ import { MODAL_BANNER_KINDS as p, MODAL_KIND_MODIFIERS as m, MODAL_SIZE_MODIFIERS as h } from "./modal-constants.js";
11
+ import { Teleport as g, Transition as _, createBlock as v, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createTextVNode as S, createVNode as C, mergeProps as w, normalizeClass as T, openBlock as E, renderSlot as D, resolveComponent as O, toDisplayString as k, toHandlers as A, vShow as j, withCtx as M, withDirectives as N } from "vue";
12
+ import { DtIconClose as P } from "@dialpad/dialtone-icons/vue3";
12
13
  //#region components/modal/modal.vue
13
- var P = "button:not(:disabled),[href],input:not(:disabled),select:not(:disabled),textarea:not(:disabled),details,[tabindex]:not([tabindex=\"-1\"]):not(:disabled):not([aria-disabled=\"true\"])", F = {
14
+ var F = {
14
15
  compatConfig: { MODE: 3 },
15
16
  name: "DtModal",
16
17
  components: {
18
+ DtLazyShow: f,
17
19
  DtButton: u,
18
- DtText: c,
19
- DtIconClose: N,
20
+ DtIconClose: P,
20
21
  SrOnlyCloseButton: d
21
22
  },
22
- mixins: [o],
23
+ mixins: [s],
23
24
  props: {
24
25
  copy: {
25
26
  type: String,
@@ -32,30 +33,30 @@ var P = "button:not(:disabled),[href],input:not(:disabled),select:not(:disabled)
32
33
  labelledById: {
33
34
  type: String,
34
35
  default: function() {
35
- return n();
36
+ return r();
36
37
  }
37
38
  },
38
- open: {
39
+ show: {
39
40
  type: Boolean,
40
41
  default: !1
41
42
  },
42
- headerText: {
43
+ title: {
43
44
  type: String,
44
- default: void 0
45
+ default: ""
45
46
  },
46
- bannerHeaderText: {
47
+ bannerTitle: {
47
48
  type: String,
48
- default: void 0
49
+ default: ""
49
50
  },
50
51
  kind: {
51
52
  type: String,
52
53
  default: "default",
53
- validator: (e) => Object.keys(p).includes(e)
54
+ validator: (e) => Object.keys(m).includes(e)
54
55
  },
55
56
  size: {
56
57
  type: String,
57
58
  default: "default",
58
- validator: (e) => Object.keys(m).includes(e)
59
+ validator: (e) => Object.keys(h).includes(e)
59
60
  },
60
61
  modalClass: {
61
62
  type: [
@@ -84,8 +85,8 @@ var P = "button:not(:disabled),[href],input:not(:disabled),select:not(:disabled)
84
85
  bannerKind: {
85
86
  type: String,
86
87
  default: "warning",
87
- validator(e) {
88
- return s.includes(e);
88
+ validate(e) {
89
+ return c.includes(e);
89
90
  }
90
91
  },
91
92
  bannerClass: {
@@ -96,25 +97,9 @@ var P = "button:not(:disabled),[href],input:not(:disabled),select:not(:disabled)
96
97
  ],
97
98
  default: ""
98
99
  },
99
- headerClass: {
100
- type: [
101
- String,
102
- Object,
103
- Array
104
- ],
105
- default: ""
106
- },
107
- footerClass: {
108
- type: [
109
- String,
110
- Object,
111
- Array
112
- ],
113
- default: ""
114
- },
115
- showClose: {
100
+ hideClose: {
116
101
  type: Boolean,
117
- default: !0
102
+ default: !1
118
103
  },
119
104
  closeOnClick: {
120
105
  type: Boolean,
@@ -137,85 +122,93 @@ var P = "button:not(:disabled),[href],input:not(:disabled),select:not(:disabled)
137
122
  emits: [
138
123
  "click",
139
124
  "keydown",
140
- "update:open"
125
+ "update:show"
141
126
  ],
142
127
  data() {
143
128
  return {
144
- MODAL_KIND_MODIFIERS: p,
145
- MODAL_SIZE_MODIFIERS: m,
146
- MODAL_BANNER_KINDS: f,
147
- hasSlotContent: r,
129
+ MODAL_KIND_MODIFIERS: m,
130
+ MODAL_SIZE_MODIFIERS: h,
131
+ MODAL_BANNER_KINDS: p,
132
+ EVENT_KEYNAMES: e,
133
+ hasSlotContent: i,
148
134
  i18n: new l()
149
135
  };
150
136
  },
151
137
  computed: {
138
+ modalListeners() {
139
+ return {
140
+ click: (e) => {
141
+ this.closeOnClick && e.target === e.currentTarget ? this.close() : this.show && e.target !== e.currentTarget && this.handleModalClick(e), this.$emit("click", e);
142
+ },
143
+ keydown: (t) => {
144
+ switch (t.code) {
145
+ case e.esc:
146
+ case e.escape:
147
+ this.close();
148
+ break;
149
+ case e.tab:
150
+ this.trapFocus(t);
151
+ break;
152
+ }
153
+ this.$emit("keydown", t);
154
+ },
155
+ "after-enter": async () => {
156
+ this.$emit("update:show", !0), await this.setFocusAfterTransition();
157
+ },
158
+ focusin: (e) => {
159
+ let t = this.$refs.modalRoot?.$el || this.$el;
160
+ this.show && t && !t.contains(e.target) && (e.preventDefault(), this.focusFirstElement(t));
161
+ }
162
+ };
163
+ },
164
+ open() {
165
+ return `${!this.show}`;
166
+ },
152
167
  hasFooterSlot() {
153
168
  return !!this.$slots.footer;
154
169
  },
155
170
  bannerKindClass() {
156
- return f[this.bannerKind];
171
+ return p[this.bannerKind];
157
172
  },
158
173
  closeButtonTitle() {
159
174
  return this.i18n.$t("DIALTONE_CLOSE_BUTTON");
160
175
  }
161
176
  },
162
- watch: { open(e) {
163
- this.syncDialogState(e);
164
- } },
165
- mounted() {
166
- this.open && this.syncDialogState(!0);
167
- },
168
- beforeUnmount() {
169
- let e = this.$refs.dialogEl;
170
- e?.open && (e.close(), t(this.getScrollRoot())), this.previousActiveElement = null;
171
- },
177
+ watch: { show: { handler(e) {
178
+ e ? (this.previousActiveElement = document.activeElement, t(a(this.$refs.modalRoot?.$el || this.$el).getRootNode().host)) : (n(a(this.$refs.modalRoot?.$el || this.$el).getRootNode().host), this.previousActiveElement?.focus(), this.previousActiveElement = null);
179
+ } } },
172
180
  methods: {
173
- getScrollRoot() {
174
- return i(this.$refs.dialogEl)?.getRootNode()?.host;
175
- },
176
- syncDialogState(n) {
177
- let r = this.$refs.dialogEl;
178
- r && (n ? (this.previousActiveElement = document.activeElement, r.open || r.showModal(), e(this.getScrollRoot())) : r.open && t(this.getScrollRoot()));
179
- },
180
181
  close() {
181
- this.$emit("update:open", !1);
182
- },
183
- onBackdropClick(e) {
184
- this.closeOnClick && e.target === e.currentTarget && this.close(), this.$emit("click", e);
185
- },
186
- onKeydown(e) {
187
- this.$emit("keydown", e);
182
+ this.$emit("update:show", !1);
188
183
  },
189
- async onAfterEnter() {
190
- this.$emit("update:open", !0), await this.setFocusAfterTransition();
191
- },
192
- onAfterLeave() {
193
- let e = this.$refs.dialogEl;
194
- e?.open && e.close(), this.previousActiveElement?.focus(), this.previousActiveElement = null;
184
+ async setFocusAfterTransition() {
185
+ let e = this.$refs.modalRoot?.$el || this.$el;
186
+ this.initialFocusElement === "first" ? await this.focusFirstElement(e) : this.initialFocusElement.startsWith("#") ? await this.focusElementById(this.initialFocusElement) : this.initialFocusElement instanceof HTMLElement && this.initialFocusElement.focus();
195
187
  },
196
- focusFirstTabbable(e) {
197
- let t = [...e.querySelectorAll(P)];
198
- if (!t.length) return;
199
- let n = t[0];
200
- n.matches("[type=\"radio\"]:not(:checked)") && (n = t.find((e) => e.checked && e.name === n.name) || n), n.focus({ preventScroll: !0 });
188
+ trapFocus(e) {
189
+ if (this.show) {
190
+ let t = this.$refs.modalRoot?.$el || this.$el;
191
+ this.focusTrappedTabPress(e, t);
192
+ }
201
193
  },
202
- async setFocusAfterTransition() {
203
- let e = this.$refs.dialogEl;
204
- if (e) if (await this.$nextTick(), this.initialFocusElement === "first") this.focusFirstTabbable(e);
205
- else if (typeof this.initialFocusElement == "string" && this.initialFocusElement.startsWith("#")) {
206
- let t = e.querySelector(this.initialFocusElement);
207
- t ? t.focus() : (console.warn("Could not find the element specified in dt-modal prop \"initialFocusElement\". Defaulting to focusing the first element."), this.focusFirstTabbable(e));
208
- } else this.initialFocusElement instanceof HTMLElement && this.initialFocusElement.focus();
194
+ handleModalClick(e) {
195
+ let t = e.target, n = this.$refs.modalRoot?.$el || this.$el, r = this._getFocusableElements(n);
196
+ r.length && !r.includes(t) && (r.includes(document.activeElement) || this.focusFirstElement(n));
209
197
  }
210
198
  }
211
- }, I = ["aria-describedby", "aria-labelledby"], L = ["id"];
212
- function R(e, t, n, r, i, a) {
213
- let o = D("dt-text"), s = D("sr-only-close-button"), c = D("dt-icon-close"), l = D("dt-button");
214
- return T(), _(h, {
199
+ }, I = ["aria-describedby", "aria-labelledby"], L = ["id"], R = ["id"], z = {
200
+ key: 4,
201
+ class: "d-modal__footer"
202
+ };
203
+ function B(e, t, n, r, i, a) {
204
+ let o = O("sr-only-close-button"), s = O("dt-icon-close"), c = O("dt-button"), l = O("dt-lazy-show");
205
+ return E(), v(g, {
215
206
  disabled: !n.appendTo,
216
207
  to: n.appendTo
217
- }, [b("dialog", C({
218
- ref: "dialogEl",
208
+ }, [C(l, w({
209
+ ref: "modalRoot",
210
+ transition: "d-zoom",
211
+ show: n.show,
219
212
  class: [
220
213
  "d-modal",
221
214
  i.MODAL_KIND_MODIFIERS[n.kind],
@@ -223,95 +216,85 @@ function R(e, t, n, r, i, a) {
223
216
  n.modalClass
224
217
  ],
225
218
  "data-qa": "dt-modal",
226
- "aria-describedby": n.describedById || void 0,
227
- "aria-labelledby": n.labelledById
228
- }, e.modeAttrs, {
229
- onCancel: t[0] || (t[0] = M((...e) => a.close && a.close(...e), ["prevent"])),
230
- onClick: t[1] || (t[1] = (...e) => a.onBackdropClick && a.onBackdropClick(...e)),
231
- onKeydown: t[2] || (t[2] = (...e) => a.onKeydown && a.onKeydown(...e))
232
- }), [n.open && (i.hasSlotContent(e.$slots.banner) || n.bannerHeaderText) ? (T(), y("div", {
233
- key: 0,
234
- "data-qa": "dt-modal-banner",
235
- class: w([
236
- "d-modal__banner",
237
- n.bannerClass,
238
- a.bannerKindClass
239
- ])
240
- }, [E(e.$slots, "banner", {}, () => [x(O(n.bannerHeaderText), 1)])], 2)) : v("", !0), S(g, {
241
- appear: n.open,
242
- name: "d-modal__dialog",
243
- onAfterEnter: a.onAfterEnter,
244
- onAfterLeave: a.onAfterLeave
245
- }, {
246
- default: A(() => [j(b("div", { class: w([
247
- "d-modal__dialog",
248
- { "d-modal__dialog--scrollable": n.fixedHeaderFooter },
249
- n.dialogClass
250
- ]) }, [
251
- i.hasSlotContent(e.$slots.header) ? (T(), y("div", {
252
- key: 0,
253
- id: n.labelledById,
254
- class: w(["d-modal__header", n.headerClass]),
255
- "data-qa": "dt-modal-title"
256
- }, [E(e.$slots, "header")], 10, L)) : (T(), _(o, {
257
- key: 1,
258
- id: n.labelledById,
259
- kind: "headline",
260
- size: 600,
261
- strength: "medium",
262
- density: "100",
263
- "text-box-trim": "start",
264
- as: "h2",
265
- class: "d-modal__header",
266
- "data-qa": "dt-modal-title"
267
- }, {
268
- default: A(() => [x(O(n.headerText), 1)]),
269
- _: 1
270
- }, 8, ["id"])),
271
- i.hasSlotContent(e.$slots.default) ? (T(), y("div", {
272
- key: 2,
273
- class: w(["d-modal__content", n.contentClass]),
274
- "data-qa": "dt-modal-copy"
275
- }, [E(e.$slots, "default")], 2)) : (T(), y("p", {
276
- key: 3,
277
- class: w(["d-modal__content", n.contentClass]),
278
- "data-qa": "dt-modal-copy"
279
- }, O(n.copy), 3)),
280
- a.hasFooterSlot ? (T(), y("footer", {
281
- key: 4,
282
- class: w(["d-modal__footer", n.footerClass])
283
- }, [E(e.$slots, "footer")], 2)) : v("", !0),
284
- n.showClose ? (T(), _(l, {
285
- key: 6,
286
- class: "d-modal__close",
287
- "data-qa": "dt-modal-close-button",
288
- size: 300,
289
- kind: "muted",
290
- importance: "clear",
291
- "aria-label": a.closeButtonTitle,
292
- title: a.closeButtonTitle,
293
- onClick: a.close
294
- }, {
295
- icon: A(({ iconSize: e }) => [S(c, { size: e }, null, 8, ["size"])]),
296
- _: 1
297
- }, 8, [
298
- "aria-label",
299
- "title",
300
- "onClick"
301
- ])) : (T(), _(s, {
302
- key: 5,
303
- onClose: a.close
304
- }, null, 8, ["onClose"]))
305
- ], 2), [[k, n.open]])]),
219
+ "aria-hidden": a.open
220
+ }, A(a.modalListeners)), {
221
+ default: M(() => [n.show && (i.hasSlotContent(e.$slots.banner) || n.bannerTitle) ? (E(), b("div", {
222
+ key: 0,
223
+ "data-qa": "dt-modal-banner",
224
+ class: T([
225
+ "d-modal__banner",
226
+ n.bannerClass,
227
+ a.bannerKindClass
228
+ ])
229
+ }, [D(e.$slots, "banner", {}, () => [S(k(n.bannerTitle), 1)])], 2)) : y("", !0), C(_, {
230
+ appear: "",
231
+ name: "d-modal__dialog"
232
+ }, {
233
+ default: M(() => [N(x("div", {
234
+ class: T([
235
+ "d-modal__dialog",
236
+ { "d-modal__dialog--scrollable": n.fixedHeaderFooter },
237
+ n.dialogClass
238
+ ]),
239
+ role: "dialog",
240
+ "aria-modal": "true",
241
+ "aria-describedby": n.describedById,
242
+ "aria-labelledby": n.labelledById
243
+ }, [
244
+ i.hasSlotContent(e.$slots.header) ? (E(), b("div", {
245
+ key: 0,
246
+ id: n.labelledById,
247
+ class: "d-modal__header",
248
+ "data-qa": "dt-modal-title"
249
+ }, [D(e.$slots, "header")], 8, L)) : (E(), b("h2", {
250
+ key: 1,
251
+ id: n.labelledById,
252
+ class: "d-modal__header",
253
+ "data-qa": "dt-modal-title"
254
+ }, k(n.title), 9, R)),
255
+ i.hasSlotContent(e.$slots.default) ? (E(), b("div", {
256
+ key: 2,
257
+ class: T(["d-modal__content", n.contentClass]),
258
+ "data-qa": "dt-modal-copy"
259
+ }, [D(e.$slots, "default")], 2)) : (E(), b("p", {
260
+ key: 3,
261
+ class: T(["d-modal__content", n.contentClass]),
262
+ "data-qa": "dt-modal-copy"
263
+ }, k(n.copy), 3)),
264
+ a.hasFooterSlot ? (E(), b("footer", z, [D(e.$slots, "footer")])) : y("", !0),
265
+ n.hideClose ? (E(), v(o, {
266
+ key: 5,
267
+ onClose: a.close
268
+ }, null, 8, ["onClose"])) : (E(), v(c, {
269
+ key: 6,
270
+ class: "d-modal__close",
271
+ "data-qa": "dt-modal-close-button",
272
+ size: "md",
273
+ kind: "muted",
274
+ importance: "clear",
275
+ "aria-label": a.closeButtonTitle,
276
+ title: a.closeButtonTitle,
277
+ onClick: a.close
278
+ }, {
279
+ icon: M(({ iconSize: e }) => [C(s, { size: e }, null, 8, ["size"])]),
280
+ _: 1
281
+ }, 8, [
282
+ "aria-label",
283
+ "title",
284
+ "onClick"
285
+ ]))
286
+ ], 10, I), [[j, n.show]])]),
287
+ _: 3
288
+ })]),
306
289
  _: 3
307
- }, 8, [
308
- "appear",
309
- "onAfterEnter",
310
- "onAfterLeave"
311
- ])], 16, I)], 8, ["disabled", "to"]);
290
+ }, 16, [
291
+ "show",
292
+ "class",
293
+ "aria-hidden"
294
+ ])], 8, ["disabled", "to"]);
312
295
  }
313
- var z = /* @__PURE__ */ a(F, [["render", R]]);
296
+ var V = /* @__PURE__ */ o(F, [["render", B]]);
314
297
  //#endregion
315
- export { z as default };
298
+ export { V as default };
316
299
 
317
300
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","names":[],"sources":["../../../components/modal/modal.vue"],"sourcesContent":["<template>\n <teleport\n :disabled=\"!appendTo\"\n :to=\"appendTo\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <dialog\n ref=\"dialogEl\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-describedby=\"describedById || undefined\"\n :aria-labelledby=\"labelledById\"\n v-bind=\"modeAttrs\"\n @cancel.prevent=\"close\"\n @click=\"onBackdropClick\"\n @keydown=\"onKeydown\"\n >\n <div\n v-if=\"open && (hasSlotContent($slots.banner) || bannerHeaderText)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerHeaderText prop -->\n <slot name=\"banner\">\n {{ bannerHeaderText }}\n </slot>\n </div>\n <transition\n :appear=\"open\"\n name=\"d-modal__dialog\"\n @after-enter=\"onAfterEnter\"\n @after-leave=\"onAfterLeave\"\n >\n <div\n v-show=\"open\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n >\n <div\n v-if=\"hasSlotContent($slots.header)\"\n :id=\"labelledById\"\n :class=\"['d-modal__header', headerClass]\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"headerText\" text prop -->\n <slot name=\"header\" />\n </div>\n <dt-text\n v-else\n :id=\"labelledById\"\n kind=\"headline\"\n :size=\"600\"\n strength=\"medium\"\n density=\"100\"\n text-box-trim=\"start\"\n as=\"h2\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ headerText }}\n </dt-text>\n <div\n v-if=\"hasSlotContent($slots.default)\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n :class=\"['d-modal__footer', footerClass]\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <sr-only-close-button\n v-if=\"!showClose\"\n @close=\"close\"\n />\n <dt-button\n v-else\n class=\"d-modal__close\"\n data-qa=\"dt-modal-close-button\"\n :size=\"300\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-close\n :size=\"iconSize\"\n />\n </template>\n </dt-button>\n </div>\n </transition>\n </dialog>\n </teleport>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtText } from '@/components/text';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue';\nimport ModeMixin from '@/common/mixins/mode';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { getUniqueString, hasSlotContent, returnFirstEl, disableRootScrolling, enableRootScrolling } from '@/common/utils';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\nimport { DialtoneLocalization } from '@/localization';\n\nconst focusableSelector = 'button:not(:disabled),[href],input:not(:disabled),select:not(:disabled),' +\n 'textarea:not(:disabled),details,[tabindex]:not([tabindex=\"-1\"]):not(:disabled):not([aria-disabled=\"true\"])';\n\n/**\n * Modals focus the user's attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtModal',\n\n components: {\n DtButton,\n DtText,\n DtIconClose,\n SrOnlyCloseButton,\n },\n\n mixins: [ModeMixin],\n\n props: {\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n open: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Header text to display in the modal header.\n */\n headerText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Header text to display in the modal banner.\n */\n bannerHeaderText: {\n type: String,\n default: undefined,\n },\n\n /**\n * The theme of the modal.\n * @values default, critical\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, critical, info, positive, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validator (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the header element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n headerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the footer element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n footerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Shows the close button on the modal\n * @values true, false\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n\n /**\n * A CSS selector string for the element to portal the modal to. If not provided, the modal will be rendered in its default location.\n */\n appendTo: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:open\n * @type {Boolean}\n */\n 'update:open',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n open (isShowing) {\n this.syncDialogState(isShowing);\n },\n },\n\n mounted () {\n if (this.open) {\n this.syncDialogState(true);\n }\n },\n\n beforeUnmount () {\n const dialogEl = this.$refs.dialogEl;\n if (dialogEl?.open) {\n dialogEl.close();\n enableRootScrolling(this.getScrollRoot());\n }\n this.previousActiveElement = null;\n },\n\n methods: {\n getScrollRoot () {\n return returnFirstEl(this.$refs.dialogEl)?.getRootNode()?.host;\n },\n\n syncDialogState (isShowing) {\n const dialogEl = this.$refs.dialogEl;\n if (!dialogEl) return;\n\n if (isShowing) {\n this.previousActiveElement = document.activeElement;\n if (!dialogEl.open) {\n dialogEl.showModal();\n }\n disableRootScrolling(this.getScrollRoot());\n } else if (dialogEl.open) {\n // Leave transition plays via v-show on inner content.\n // close() is called in onAfterLeave when transition completes.\n enableRootScrolling(this.getScrollRoot());\n }\n },\n\n close () {\n this.$emit('update:open', false);\n },\n\n onBackdropClick (event) {\n if (this.closeOnClick && event.target === event.currentTarget) {\n this.close();\n }\n this.$emit('click', event);\n },\n\n onKeydown (event) {\n this.$emit('keydown', event);\n },\n\n async onAfterEnter () {\n this.$emit('update:open', true);\n await this.setFocusAfterTransition();\n },\n\n onAfterLeave () {\n const dialogEl = this.$refs.dialogEl;\n if (dialogEl?.open) {\n dialogEl.close();\n }\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n },\n\n focusFirstTabbable (container) {\n const focusable = [...container.querySelectorAll(focusableSelector)];\n if (!focusable.length) return;\n let target = focusable[0];\n // If first focusable is an unchecked radio, prefer the checked radio in the same group.\n if (target.matches('[type=\"radio\"]:not(:checked)')) {\n target = focusable.find(el => el.checked && el.name === target.name) || target;\n }\n target.focus({ preventScroll: true });\n },\n\n async setFocusAfterTransition () {\n const dialogEl = this.$refs.dialogEl;\n if (!dialogEl) return;\n\n await this.$nextTick();\n\n if (this.initialFocusElement === 'first') {\n this.focusFirstTabbable(dialogEl);\n } else if (typeof this.initialFocusElement === 'string' && this.initialFocusElement.startsWith('#')) {\n const el = dialogEl.querySelector(this.initialFocusElement);\n if (el) {\n el.focus();\n } else {\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 this.focusFirstTabbable(dialogEl);\n }\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","names":[],"sources":["../../../components/modal/modal.vue"],"sourcesContent":["<template>\n <teleport\n :disabled=\"!appendTo\"\n :to=\"appendTo\"\n >\n <dt-lazy-show\n ref=\"modalRoot\"\n transition=\"d-zoom\"\n :show=\"show\"\n :class=\"[\n 'd-modal',\n MODAL_KIND_MODIFIERS[kind],\n MODAL_SIZE_MODIFIERS[size],\n modalClass,\n ]\"\n data-qa=\"dt-modal\"\n :aria-hidden=\"open\"\n v-on=\"modalListeners\"\n >\n <div\n v-if=\"show && (hasSlotContent($slots.banner) || bannerTitle)\"\n data-qa=\"dt-modal-banner\"\n :class=\"[\n 'd-modal__banner',\n bannerClass,\n bannerKindClass,\n ]\"\n >\n <!-- @slot Slot for the banner, defaults to bannerTitle prop -->\n <slot name=\"banner\">\n {{ bannerTitle }}\n </slot>\n </div>\n <transition\n appear\n name=\"d-modal__dialog\"\n >\n <div\n v-show=\"show\"\n :class=\"[\n 'd-modal__dialog',\n { 'd-modal__dialog--scrollable': fixedHeaderFooter },\n dialogClass,\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-describedby=\"describedById\"\n :aria-labelledby=\"labelledById\"\n >\n <div\n v-if=\"hasSlotContent($slots.header)\"\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n <!-- @slot Slot for dialog header section, taking the place of any \"title\" text prop -->\n <slot name=\"header\" />\n </div>\n <h2\n v-else\n :id=\"labelledById\"\n class=\"d-modal__header\"\n data-qa=\"dt-modal-title\"\n >\n {{ title }}\n </h2>\n <div\n v-if=\"hasSlotContent($slots.default)\"\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n <!-- @slot Default slot for dialog body section, taking the place of any \"copy\" text prop -->\n <slot />\n </div>\n <p\n v-else\n :class=\"[\n 'd-modal__content',\n contentClass,\n ]\"\n data-qa=\"dt-modal-copy\"\n >\n {{ copy }}\n </p>\n <footer\n v-if=\"hasFooterSlot\"\n class=\"d-modal__footer\"\n >\n <!-- @slot Slot for dialog footer content, often containing cancel and confirm buttons. -->\n <slot name=\"footer\" />\n </footer>\n <sr-only-close-button\n v-if=\"hideClose\"\n @close=\"close\"\n />\n <dt-button\n v-else\n class=\"d-modal__close\"\n data-qa=\"dt-modal-close-button\"\n size=\"md\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"close\"\n >\n <template #icon=\"{ iconSize }\">\n <dt-icon-close\n :size=\"iconSize\"\n />\n </template>\n </dt-button>\n </div>\n </transition>\n </dt-lazy-show>\n </teleport>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport Modal from '@/common/mixins/modal';\nimport {\n MODAL_BANNER_KINDS,\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n} from './modal_constants';\nimport { returnFirstEl, getUniqueString, hasSlotContent, disableRootScrolling, enableRootScrolling } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\nimport { NOTICE_KINDS } from '@/components/notice';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Modals focus the user’s attention exclusively on one task or piece of information\n * via a window that sits on top of the page content.\n * @see https://dialtone.dialpad.com/components/modal.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtModal',\n\n components: {\n DtLazyShow,\n DtButton,\n DtIconClose,\n SrOnlyCloseButton,\n },\n\n mixins: [Modal],\n\n props: {\n /**\n * Body text to display as the modal's main content.\n */\n copy: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-describedby.\n * Recommended only if the dialog content itself isn't enough to give full context,\n * as screen readers should recite the dialog contents by default before any aria-description.\n */\n describedById: {\n type: String,\n default: '',\n },\n\n /**\n * Id to use for the dialog's aria-labelledby.\n */\n labelledById: {\n type: String,\n default: function () { return getUniqueString(); },\n },\n\n /**\n * Whether the modal should be shown.\n * Parent component can sync on this value to control the modal's visibility.\n * @values true, false\n */\n show: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title text to display in the modal header.\n */\n title: {\n type: String,\n default: '',\n },\n\n /**\n * Title text to display in the modal banner.\n */\n bannerTitle: {\n type: String,\n default: '',\n },\n\n /**\n * The theme of the modal. kind - default or danger,\n * @values default, danger\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(MODAL_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * The size of the modal. size - default or full,\n * @values default, full\n */\n size: {\n type: String,\n default: 'default',\n validator: (s) => Object.keys(MODAL_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Additional class name for the root modal element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n modalClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the content element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Sets the color of the banner.\n * @values base, error, info, success, warning\n */\n bannerKind: {\n type: String,\n default: 'warning',\n validate (kind) {\n return NOTICE_KINDS.includes(kind);\n },\n },\n\n /**\n * Additional class name for the banner element within the modal.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n bannerClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Hides the close button on the modal\n * @values true, false\n */\n hideClose: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the modal will close when you click outside of the dialog on the overlay.\n * @values true, false\n */\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Scrollable modal that allows scroll the modal content keeping the header and footer fixed\n * @values true, false\n */\n fixedHeaderFooter: {\n type: Boolean,\n default: true,\n },\n\n /**\n * The element that is focused when the modal is opened. This can be an\n * HTMLElement within the modal, a string starting with '#' which will\n * find the element by ID. 'first' which will automatically focus\n * the first element, or 'dialog' which will focus the dialog window itself.\n * If the dialog is modal this prop cannot be 'none'.\n */\n initialFocusElement: {\n type: [String, HTMLElement],\n default: 'first',\n validator: initialFocusElement => {\n return initialFocusElement === 'first' ||\n (initialFocusElement instanceof HTMLElement) ||\n initialFocusElement.startsWith('#');\n },\n },\n\n /**\n * A CSS selector string for the element to portal the modal to. If not provided, the modal will be rendered in its default location.\n */\n appendTo: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * The modal will emit a \"false\" boolean value for this event when the user performs a modal-closing action.\n * Parent components can sync on this value to create a 2-way binding to control modal visibility.\n *\n * @event update:show\n * @type {Boolean}\n */\n 'update:show',\n ],\n\n data () {\n return {\n MODAL_KIND_MODIFIERS,\n MODAL_SIZE_MODIFIERS,\n MODAL_BANNER_KINDS,\n EVENT_KEYNAMES,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n modalListeners () {\n return {\n click: event => {\n // Handle backdrop clicks for closing modal\n if (this.closeOnClick && event.target === event.currentTarget) {\n this.close();\n } else if (this.show && event.target !== event.currentTarget) {\n // Ensure focus stays within modal when clicking inside it\n this.handleModalClick(event);\n }\n\n this.$emit('click', event);\n },\n\n keydown: event => {\n switch (event.code) {\n case EVENT_KEYNAMES.esc:\n case EVENT_KEYNAMES.escape:\n this.close();\n break;\n case EVENT_KEYNAMES.tab:\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n\n 'after-enter': async () => {\n this.$emit('update:show', true);\n await this.setFocusAfterTransition();\n },\n\n focusin: event => {\n // Ensure focus stays within modal\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n if (this.show && modalEl && !modalEl.contains(event.target)) {\n event.preventDefault();\n this.focusFirstElement(modalEl);\n }\n },\n };\n },\n\n open () {\n return `${!this.show}`;\n },\n\n hasFooterSlot () {\n return !!this.$slots.footer;\n },\n\n bannerKindClass () {\n return MODAL_BANNER_KINDS[this.bannerKind];\n },\n\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n watch: {\n show: {\n handler (isShowing) {\n if (isShowing) {\n // Set a reference to the previously-active element, to which we'll return focus on modal close.\n this.previousActiveElement = document.activeElement;\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n disableRootScrolling(returnFirstEl(modalEl).getRootNode().host);\n } else {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n enableRootScrolling(returnFirstEl(modalEl).getRootNode().host);\n // Modal is being hidden, so return focus to the previously active element before clearing the reference.\n this.previousActiveElement?.focus();\n this.previousActiveElement = null;\n }\n },\n },\n },\n\n methods: {\n close () {\n this.$emit('update:show', false);\n },\n\n async setFocusAfterTransition () {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n if (this.initialFocusElement === 'first') {\n await this.focusFirstElement(modalEl);\n } else if (this.initialFocusElement.startsWith('#')) {\n await this.focusElementById(this.initialFocusElement);\n } else if (this.initialFocusElement instanceof HTMLElement) {\n this.initialFocusElement.focus();\n }\n },\n\n trapFocus (e) {\n if (this.show) {\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n this.focusTrappedTabPress(e, modalEl);\n }\n },\n\n handleModalClick (event) {\n // Ensure focus stays within modal when clicking inside it\n const clickedElement = event.target;\n const modalEl = this.$refs.modalRoot?.$el || this.$el;\n const focusableElements = this._getFocusableElements(modalEl);\n\n // If the clicked element is not focusable, ensure focus stays in modal\n if (focusableElements.length && !focusableElements.includes(clickedElement)) {\n // Check if current active element is still within the modal\n if (!focusableElements.includes(document.activeElement)) {\n this.focusFirstElement(modalEl);\n }\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}