@dialpad/dialtone-vue 3.219.0 → 3.220.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (970) hide show
  1. package/dist/{attachment_carousel-CouFqFMw.js → attachment_carousel-1qxTI-NN.js} +5 -5
  2. package/dist/attachment_carousel-1qxTI-NN.js.map +1 -0
  3. package/dist/attachment_carousel-wnZS3vEt.cjs +2 -0
  4. package/dist/attachment_carousel-wnZS3vEt.cjs.map +1 -0
  5. package/dist/{combobox-DgClbLOg.js → combobox-BQBKrDTW.js} +36 -35
  6. package/dist/combobox-BQBKrDTW.js.map +1 -0
  7. package/dist/combobox-Da7wBh3G.cjs +3 -0
  8. package/dist/combobox-Da7wBh3G.cjs.map +1 -0
  9. package/dist/common/composables/useIndicatorAnimation.cjs +2 -0
  10. package/dist/common/composables/useIndicatorAnimation.cjs.map +1 -0
  11. package/dist/common/composables/useIndicatorAnimation.d.ts +18 -0
  12. package/dist/common/composables/useIndicatorAnimation.d.ts.map +1 -0
  13. package/dist/common/composables/useIndicatorAnimation.js +78 -0
  14. package/dist/common/composables/useIndicatorAnimation.js.map +1 -0
  15. package/dist/common/constants/index.cjs +1 -1
  16. package/dist/common/constants/index.cjs.map +1 -1
  17. package/dist/common/constants/index.d.ts +27 -21
  18. package/dist/common/constants/index.d.ts.map +1 -1
  19. package/dist/common/constants/index.js +25 -14
  20. package/dist/common/constants/index.js.map +1 -1
  21. package/dist/common/constants/sizes.cjs +2 -0
  22. package/dist/common/constants/sizes.cjs.map +1 -0
  23. package/dist/common/constants/sizes.d.ts +22 -0
  24. package/dist/common/constants/sizes.d.ts.map +1 -0
  25. package/dist/common/constants/sizes.js +19 -0
  26. package/dist/common/constants/sizes.js.map +1 -0
  27. package/dist/common/mixins/index.cjs +1 -1
  28. package/dist/common/mixins/index.d.ts +1 -0
  29. package/dist/common/mixins/index.js +2 -1
  30. package/dist/common/mixins/input.cjs +1 -1
  31. package/dist/common/mixins/input.cjs.map +1 -1
  32. package/dist/common/mixins/input.d.ts +27 -33
  33. package/dist/common/mixins/input.d.ts.map +1 -1
  34. package/dist/common/mixins/input.js +0 -8
  35. package/dist/common/mixins/input.js.map +1 -1
  36. package/dist/common/mixins/mode.cjs +2 -0
  37. package/dist/common/mixins/mode.cjs.map +1 -0
  38. package/dist/common/mixins/mode.d.ts +25 -0
  39. package/dist/common/mixins/mode.d.ts.map +1 -0
  40. package/dist/common/mixins/mode.js +62 -0
  41. package/dist/common/mixins/mode.js.map +1 -0
  42. package/dist/common/mode_constants.d.ts +37 -0
  43. package/dist/common/mode_constants.d.ts.map +1 -0
  44. package/dist/common/sr_only_close_button.vue.d.ts +53 -7
  45. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
  46. package/dist/common/utils/index.cjs +1 -1
  47. package/dist/common/utils/index.cjs.map +1 -1
  48. package/dist/common/utils/index.d.ts +2 -8
  49. package/dist/common/utils/index.d.ts.map +1 -1
  50. package/dist/common/utils/index.js +79 -88
  51. package/dist/common/utils/index.js.map +1 -1
  52. package/dist/component-documentation.json +1 -1
  53. package/dist/components/avatar/avatar.vue.d.ts +85 -27
  54. package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
  55. package/dist/components/avatar/avatar_constants.d.ts +86 -29
  56. package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
  57. package/dist/components/avatar/index.d.ts +1 -1
  58. package/dist/components/badge/badge.vue.d.ts +1 -1
  59. package/dist/components/badge/badge.vue.d.ts.map +1 -1
  60. package/dist/components/badge/badge_constants.d.ts +1 -1
  61. package/dist/components/banner/banner.vue.d.ts +269 -34
  62. package/dist/components/banner/banner.vue.d.ts.map +1 -1
  63. package/dist/components/box/box.vue.d.ts +73 -0
  64. package/dist/components/box/box.vue.d.ts.map +1 -0
  65. package/dist/components/box/box_constants.d.ts +11 -0
  66. package/dist/components/box/box_constants.d.ts.map +1 -0
  67. package/dist/components/box/index.d.ts +3 -0
  68. package/dist/components/box/index.d.ts.map +1 -0
  69. package/dist/components/box/validators.d.ts +11 -0
  70. package/dist/components/box/validators.d.ts.map +1 -0
  71. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +26 -17
  72. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  73. package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +25 -16
  74. package/dist/components/button/button.vue.d.ts +53 -7
  75. package/dist/components/button/button.vue.d.ts.map +1 -1
  76. package/dist/components/button/button_constants.d.ts +29 -20
  77. package/dist/components/button/button_constants.d.ts.map +1 -1
  78. package/dist/components/card/card.vue.d.ts +0 -9
  79. package/dist/components/card/card.vue.d.ts.map +1 -1
  80. package/dist/components/checkbox/checkbox.vue.d.ts +183 -10
  81. package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
  82. package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
  83. package/dist/components/checkbox_group/checkbox_group.vue.d.ts +142 -0
  84. package/dist/components/chip/chip.vue.d.ts +62 -16
  85. package/dist/components/chip/chip.vue.d.ts.map +1 -1
  86. package/dist/components/chip/chip_constants.d.ts +24 -21
  87. package/dist/components/chip/chip_constants.d.ts.map +1 -1
  88. package/dist/components/codeblock/codeblock.vue.d.ts +25 -2
  89. package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
  90. package/dist/components/codeblock/codeblock_constants.d.ts +9 -0
  91. package/dist/components/codeblock/codeblock_constants.d.ts.map +1 -0
  92. package/dist/components/collapsible/collapsible.vue.d.ts +53 -7
  93. package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
  94. package/dist/components/combobox/combobox.vue.d.ts +113 -38
  95. package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
  96. package/dist/components/combobox/combobox_empty-list.vue.d.ts +40 -7
  97. package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  98. package/dist/components/combobox/combobox_loading-list.vue.d.ts +64 -22
  99. package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  100. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
  101. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  102. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +399 -93
  103. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  104. package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  105. package/dist/components/dropdown/dropdown.vue.d.ts +175 -19
  106. package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
  107. package/dist/components/emoji/emoji.vue.d.ts +24 -15
  108. package/dist/components/emoji_picker/emoji_picker.vue.d.ts +204 -22
  109. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +204 -22
  110. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  111. package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  112. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
  113. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  114. package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
  115. package/dist/components/empty_state/empty_state_constants.d.ts +52 -31
  116. package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
  117. package/dist/components/filter_pill/filter_pill.vue.d.ts +4491 -0
  118. package/dist/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  119. package/dist/components/filter_pill/index.d.ts +2 -0
  120. package/dist/components/filter_pill/index.d.ts.map +1 -0
  121. package/dist/components/hovercard/hovercard.vue.d.ts +380 -41
  122. package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
  123. package/dist/components/image_viewer/image_viewer.vue.d.ts +131 -14
  124. package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  125. package/dist/components/input/input.vue.d.ts +195 -19
  126. package/dist/components/input/input.vue.d.ts.map +1 -1
  127. package/dist/components/input/input_constants.d.ts +46 -48
  128. package/dist/components/input/input_constants.d.ts.map +1 -1
  129. package/dist/components/input_group/input_group.vue.d.ts +142 -0
  130. package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
  131. package/dist/components/item_layout/item_layout.vue.d.ts +37 -6
  132. package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
  133. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +142 -0
  134. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  135. package/dist/components/link/index.d.ts +1 -1
  136. package/dist/components/link/link.vue.d.ts +25 -6
  137. package/dist/components/link/link_constants.d.ts +4 -4
  138. package/dist/components/link/link_constants.d.ts.map +1 -1
  139. package/dist/components/list_item/list_item.vue.d.ts +40 -7
  140. package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
  141. package/dist/components/modal/modal.vue.d.ts +292 -97
  142. package/dist/components/modal/modal.vue.d.ts.map +1 -1
  143. package/dist/components/modal/modal_constants.d.ts +7 -6
  144. package/dist/components/mode_island/index.d.ts +3 -0
  145. package/dist/components/mode_island/index.d.ts.map +1 -0
  146. package/dist/components/mode_island/mode_island.vue.d.ts +3 -0
  147. package/dist/components/mode_island/mode_island.vue.d.ts.map +1 -0
  148. package/dist/components/mode_island/mode_island_constants.d.ts +10 -0
  149. package/dist/components/mode_island/mode_island_constants.d.ts.map +1 -0
  150. package/dist/components/mode_island/utils.d.ts +12 -0
  151. package/dist/components/mode_island/utils.d.ts.map +1 -0
  152. package/dist/components/mode_island/validators.d.ts +6 -0
  153. package/dist/components/mode_island/validators.d.ts.map +1 -0
  154. package/dist/components/motion_text/motion_text_constants.d.ts +27 -23
  155. package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
  156. package/dist/components/notice/notice.vue.d.ts +269 -34
  157. package/dist/components/notice/notice.vue.d.ts.map +1 -1
  158. package/dist/components/notice/notice_action.vue.d.ts +112 -20
  159. package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
  160. package/dist/components/notice/notice_constants.d.ts.map +1 -1
  161. package/dist/components/notice/notice_content.vue.d.ts +144 -1
  162. package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
  163. package/dist/components/notice/notice_icon.vue.d.ts +2 -2
  164. package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
  165. package/dist/components/pagination/pagination.vue.d.ts +56 -10
  166. package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
  167. package/dist/components/popover/popover.vue.d.ts +163 -18
  168. package/dist/components/popover/popover.vue.d.ts.map +1 -1
  169. package/dist/components/popover/popover_header_footer.vue.d.ts +62 -7
  170. package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  171. package/dist/components/radio/radio.vue.d.ts +178 -6
  172. package/dist/components/radio/radio.vue.d.ts.map +1 -1
  173. package/dist/components/radio/radio_constants.d.ts +2 -2
  174. package/dist/components/radio_group/radio_group.vue.d.ts +142 -0
  175. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +25 -6
  176. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  177. package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  178. package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
  179. package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
  180. package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +25 -6
  181. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +227 -27
  182. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  183. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +144 -1
  184. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  185. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
  186. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  187. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +411 -44
  188. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  189. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +59 -13
  190. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  191. package/dist/components/root_layout/root_layout_constants.d.ts +2 -0
  192. package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
  193. package/dist/components/scroller/modules/core_scroller.vue.d.ts +2 -2
  194. package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +12 -12
  195. package/dist/components/scroller/scroller.vue.d.ts +18 -18
  196. package/dist/components/segmented_control/index.d.ts +4 -0
  197. package/dist/components/segmented_control/index.d.ts.map +1 -0
  198. package/dist/components/segmented_control/segmented_control.vue.d.ts +226 -0
  199. package/dist/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
  200. package/dist/components/segmented_control/segmented_control_constants.d.ts +41 -0
  201. package/dist/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
  202. package/dist/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
  203. package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
  204. package/dist/components/select_menu/select_menu.vue.d.ts +189 -31
  205. package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
  206. package/dist/components/select_menu/select_menu_constants.d.ts +14 -9
  207. package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
  208. package/dist/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
  209. package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
  210. package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  211. package/dist/components/skeleton/skeleton-text.vue.d.ts +3 -0
  212. package/dist/components/skeleton/skeleton.vue.d.ts +24 -15
  213. package/dist/components/skeleton/skeleton_constants.d.ts +18 -13
  214. package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
  215. package/dist/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
  216. package/dist/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
  217. package/dist/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
  218. package/dist/components/split_button/split_button-start.vue.d.ts.map +1 -0
  219. package/dist/components/split_button/split_button.vue.d.ts +602 -78
  220. package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
  221. package/dist/components/split_button/split_button_constants.d.ts +12 -7
  222. package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
  223. package/dist/components/stack/stack_constants.d.ts.map +1 -1
  224. package/dist/components/tab/index.d.ts +1 -1
  225. package/dist/components/tab/tab.vue.d.ts +86 -11
  226. package/dist/components/tab/tab.vue.d.ts.map +1 -1
  227. package/dist/components/tab/tab_group.vue.d.ts +125 -10
  228. package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
  229. package/dist/components/tab/tabs_constants.d.ts +23 -5
  230. package/dist/components/tab/tabs_constants.d.ts.map +1 -1
  231. package/dist/components/text/index.d.ts +3 -0
  232. package/dist/components/text/index.d.ts.map +1 -0
  233. package/dist/components/text/text.vue.d.ts +145 -0
  234. package/dist/components/text/text.vue.d.ts.map +1 -0
  235. package/dist/components/text/text_constants.d.ts +93 -0
  236. package/dist/components/text/text_constants.d.ts.map +1 -0
  237. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +264 -29
  238. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  239. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -2
  240. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  241. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +267 -32
  242. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  243. package/dist/components/toast/toast.vue.d.ts +1125 -185
  244. package/dist/components/toast/toast.vue.d.ts.map +1 -1
  245. package/dist/components/toggle/toggle.vue.d.ts +19 -19
  246. package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
  247. package/dist/components/toggle/toggle_constants.d.ts +6 -4
  248. package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
  249. package/dist/components/tooltip/tooltip.vue.d.ts +31 -5
  250. package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
  251. package/dist/{datepicker-LVDRC6Lf.js → datepicker-B2nhxiCg.js} +20 -24
  252. package/dist/datepicker-B2nhxiCg.js.map +1 -0
  253. package/dist/datepicker-CZrNL0Yn.cjs +2 -0
  254. package/dist/datepicker-CZrNL0Yn.cjs.map +1 -0
  255. package/dist/dialtone-vue.cjs +1 -1
  256. package/dist/dialtone-vue.css +1 -1
  257. package/dist/dialtone-vue.js +170 -150
  258. package/dist/directives/focusgroup_directive/focusgroup.d.ts +6 -0
  259. package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +1 -0
  260. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +74 -0
  261. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +1 -0
  262. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +15 -0
  263. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +1 -0
  264. package/dist/directives/focusgroup_directive/index.d.ts +2 -0
  265. package/dist/directives/focusgroup_directive/index.d.ts.map +1 -0
  266. package/dist/directives/focustrap_directive/focustrap.d.ts +6 -0
  267. package/dist/directives/focustrap_directive/focustrap.d.ts.map +1 -0
  268. package/dist/directives/focustrap_directive/focustrap_constants.d.ts +7 -0
  269. package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +1 -0
  270. package/dist/directives/focustrap_directive/focustrap_utils.d.ts +5 -0
  271. package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +1 -0
  272. package/dist/directives/focustrap_directive/index.d.ts +2 -0
  273. package/dist/directives/focustrap_directive/index.d.ts.map +1 -0
  274. package/dist/directives/mode_directive/index.d.ts +2 -0
  275. package/dist/directives/mode_directive/index.d.ts.map +1 -0
  276. package/dist/directives/mode_directive/mode.d.ts +6 -0
  277. package/dist/directives/mode_directive/mode.d.ts.map +1 -0
  278. package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  279. package/dist/emoji_picker-BQW4qRFg.cjs +2 -0
  280. package/dist/emoji_picker-BQW4qRFg.cjs.map +1 -0
  281. package/dist/{emoji_picker-tVHfpHDk.js → emoji_picker-BjgAohQy.js} +9 -8
  282. package/dist/emoji_picker-BjgAohQy.js.map +1 -0
  283. package/dist/index.d.ts +8 -0
  284. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  285. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  286. package/dist/lib/attachment-carousel/index.cjs +1 -1
  287. package/dist/lib/attachment-carousel/index.js +1 -1
  288. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  289. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  290. package/dist/lib/avatar/avatar-constants.js +111 -24
  291. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  292. package/dist/lib/avatar/avatar.cjs +1 -1
  293. package/dist/lib/avatar/avatar.cjs.map +1 -1
  294. package/dist/lib/avatar/avatar.js +145 -84
  295. package/dist/lib/avatar/avatar.js.map +1 -1
  296. package/dist/lib/avatar/index.cjs +1 -1
  297. package/dist/lib/avatar/index.js +3 -3
  298. package/dist/lib/badge/badge-constants.cjs +1 -1
  299. package/dist/lib/badge/badge-constants.cjs.map +1 -1
  300. package/dist/lib/badge/badge-constants.js +1 -1
  301. package/dist/lib/badge/badge-constants.js.map +1 -1
  302. package/dist/lib/badge/badge.cjs +1 -1
  303. package/dist/lib/badge/badge.cjs.map +1 -1
  304. package/dist/lib/badge/badge.js +26 -14
  305. package/dist/lib/badge/badge.js.map +1 -1
  306. package/dist/lib/banner/banner.cjs +2 -2
  307. package/dist/lib/banner/banner.cjs.map +1 -1
  308. package/dist/lib/banner/banner.js +17 -16
  309. package/dist/lib/banner/banner.js.map +1 -1
  310. package/dist/lib/box/box-constants.cjs +2 -0
  311. package/dist/lib/box/box-constants.cjs.map +1 -0
  312. package/dist/lib/box/box-constants.js +103 -0
  313. package/dist/lib/box/box-constants.js.map +1 -0
  314. package/dist/lib/box/box.cjs +2 -0
  315. package/dist/lib/box/box.cjs.map +1 -0
  316. package/dist/lib/box/box.js +229 -0
  317. package/dist/lib/box/box.js.map +1 -0
  318. package/dist/lib/box/index.cjs +1 -0
  319. package/dist/lib/box/index.js +3 -0
  320. package/dist/lib/box/validators.cjs +2 -0
  321. package/dist/lib/box/validators.cjs.map +1 -0
  322. package/dist/lib/box/validators.js +7 -0
  323. package/dist/lib/box/validators.js.map +1 -0
  324. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  325. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  326. package/dist/lib/breadcrumbs/breadcrumb-item.js +29 -38
  327. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  328. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  329. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  330. package/dist/lib/breadcrumbs/breadcrumbs.js +6 -6
  331. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  332. package/dist/lib/button/button-constants.cjs +1 -1
  333. package/dist/lib/button/button-constants.cjs.map +1 -1
  334. package/dist/lib/button/button-constants.js +17 -3
  335. package/dist/lib/button/button-constants.js.map +1 -1
  336. package/dist/lib/button/button.cjs +1 -1
  337. package/dist/lib/button/button.cjs.map +1 -1
  338. package/dist/lib/button/button.js +98 -15
  339. package/dist/lib/button/button.js.map +1 -1
  340. package/dist/lib/button-group/button-group.cjs.map +1 -1
  341. package/dist/lib/button-group/button-group.js.map +1 -1
  342. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  343. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  344. package/dist/lib/callbar-button/callbar-button.js +26 -27
  345. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  346. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  347. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  348. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +45 -36
  349. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  350. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  351. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  352. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +47 -38
  353. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  354. package/dist/lib/callbox/callbox.cjs +1 -1
  355. package/dist/lib/callbox/callbox.cjs.map +1 -1
  356. package/dist/lib/callbox/callbox.js +4 -4
  357. package/dist/lib/callbox/callbox.js.map +1 -1
  358. package/dist/lib/card/card.cjs +1 -1
  359. package/dist/lib/card/card.cjs.map +1 -1
  360. package/dist/lib/card/card.js +10 -18
  361. package/dist/lib/card/card.js.map +1 -1
  362. package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
  363. package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
  364. package/dist/lib/checkbox/checkbox-constants.js +2 -2
  365. package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
  366. package/dist/lib/checkbox/checkbox.cjs +1 -1
  367. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  368. package/dist/lib/checkbox/checkbox.js +79 -28
  369. package/dist/lib/checkbox/checkbox.js.map +1 -1
  370. package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
  371. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  372. package/dist/lib/checkbox-group/checkboxes-decorator.js +0 -1
  373. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  374. package/dist/lib/chip/chip-constants.cjs +1 -1
  375. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  376. package/dist/lib/chip/chip-constants.js +9 -0
  377. package/dist/lib/chip/chip-constants.js.map +1 -1
  378. package/dist/lib/chip/chip.cjs +1 -1
  379. package/dist/lib/chip/chip.cjs.map +1 -1
  380. package/dist/lib/chip/chip.js +13 -13
  381. package/dist/lib/chip/chip.js.map +1 -1
  382. package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
  383. package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
  384. package/dist/lib/codeblock/codeblock-constants.js +20 -0
  385. package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
  386. package/dist/lib/codeblock/codeblock.cjs +1 -2
  387. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  388. package/dist/lib/codeblock/codeblock.js +25 -14
  389. package/dist/lib/codeblock/codeblock.js.map +1 -1
  390. package/dist/lib/collapsible/collapsible.cjs +1 -1
  391. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  392. package/dist/lib/collapsible/collapsible.js +1 -1
  393. package/dist/lib/collapsible/collapsible.js.map +1 -1
  394. package/dist/lib/combobox/combobox.cjs +1 -1
  395. package/dist/lib/combobox/combobox.js +1 -1
  396. package/dist/lib/combobox/index.cjs +1 -1
  397. package/dist/lib/combobox/index.js +1 -1
  398. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  399. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  400. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +6 -0
  401. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  402. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  403. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  404. package/dist/lib/combobox-multi-select/combobox-multi-select.js +34 -33
  405. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  406. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  407. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  408. package/dist/lib/combobox-with-popover/combobox-with-popover.js +51 -46
  409. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  410. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  411. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  412. package/dist/lib/contact-centers-row/contact-centers-row.js +51 -45
  413. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  414. package/dist/lib/contact-info/contact-info.cjs +1 -1
  415. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  416. package/dist/lib/contact-info/contact-info.js +8 -8
  417. package/dist/lib/contact-info/contact-info.js.map +1 -1
  418. package/dist/lib/contact-row/contact-row.cjs +1 -1
  419. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  420. package/dist/lib/contact-row/contact-row.js +3 -3
  421. package/dist/lib/contact-row/contact-row.js.map +1 -1
  422. package/dist/lib/datepicker/datepicker.cjs +1 -1
  423. package/dist/lib/datepicker/datepicker.js +1 -1
  424. package/dist/lib/datepicker/index.cjs +1 -1
  425. package/dist/lib/datepicker/index.js +1 -1
  426. package/dist/lib/description-list/description-list.cjs +1 -1
  427. package/dist/lib/description-list/description-list.cjs.map +1 -1
  428. package/dist/lib/description-list/description-list.js +1 -1
  429. package/dist/lib/description-list/description-list.js.map +1 -1
  430. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  431. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  432. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  433. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  434. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  435. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  436. package/dist/lib/dropdown/dropdown-list.js +28 -16
  437. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  438. package/dist/lib/dropdown/dropdown.cjs +1 -1
  439. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  440. package/dist/lib/dropdown/dropdown.js +30 -26
  441. package/dist/lib/dropdown/dropdown.js.map +1 -1
  442. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  443. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  444. package/dist/lib/editor/EditorToolbarButton.js +1 -1
  445. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  446. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  447. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  448. package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
  449. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  450. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  451. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  452. package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
  453. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  454. package/dist/lib/editor/editor.cjs +1 -1
  455. package/dist/lib/editor/editor.cjs.map +1 -1
  456. package/dist/lib/editor/editor.js +134 -135
  457. package/dist/lib/editor/editor.js.map +1 -1
  458. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  459. package/dist/lib/emoji-picker/emoji-picker.js +1 -1
  460. package/dist/lib/emoji-picker/index.cjs +1 -1
  461. package/dist/lib/emoji-picker/index.js +1 -1
  462. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  463. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  464. package/dist/lib/emoji-row/emoji-row.js +1 -1
  465. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  466. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  467. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  468. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  469. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  470. package/dist/lib/empty-state/empty-state-constants.js +37 -9
  471. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  472. package/dist/lib/empty-state/empty-state.cjs +1 -1
  473. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  474. package/dist/lib/empty-state/empty-state.js +46 -26
  475. package/dist/lib/empty-state/empty-state.js.map +1 -1
  476. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  477. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  478. package/dist/lib/feed-item-pill/feed-item-pill.js +40 -42
  479. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  480. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  481. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  482. package/dist/lib/feed-item-row/feed-item-row.js +3 -3
  483. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  484. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  485. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  486. package/dist/lib/filter-pill/filter-pill.js +433 -0
  487. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  488. package/dist/lib/filter-pill/index.cjs +1 -0
  489. package/dist/lib/filter-pill/index.js +2 -0
  490. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +2 -0
  491. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +1 -0
  492. package/dist/lib/focusgroup-directive/focusgroup-constants.js +77 -0
  493. package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +1 -0
  494. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +2 -0
  495. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +1 -0
  496. package/dist/lib/focusgroup-directive/focusgroup-utils.js +33 -0
  497. package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +1 -0
  498. package/dist/lib/focusgroup-directive/focusgroup.cjs +2 -0
  499. package/dist/lib/focusgroup-directive/focusgroup.cjs.map +1 -0
  500. package/dist/lib/focusgroup-directive/focusgroup.js +143 -0
  501. package/dist/lib/focusgroup-directive/focusgroup.js.map +1 -0
  502. package/dist/lib/focusgroup-directive/index.cjs +1 -0
  503. package/dist/lib/focusgroup-directive/index.js +2 -0
  504. package/dist/lib/focustrap-directive/focustrap-constants.cjs +2 -0
  505. package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +1 -0
  506. package/dist/lib/focustrap-directive/focustrap-constants.js +10 -0
  507. package/dist/lib/focustrap-directive/focustrap-constants.js.map +1 -0
  508. package/dist/lib/focustrap-directive/focustrap-utils.cjs +2 -0
  509. package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +1 -0
  510. package/dist/lib/focustrap-directive/focustrap-utils.js +19 -0
  511. package/dist/lib/focustrap-directive/focustrap-utils.js.map +1 -0
  512. package/dist/lib/focustrap-directive/focustrap.cjs +2 -0
  513. package/dist/lib/focustrap-directive/focustrap.cjs.map +1 -0
  514. package/dist/lib/focustrap-directive/focustrap.js +96 -0
  515. package/dist/lib/focustrap-directive/focustrap.js.map +1 -0
  516. package/dist/lib/focustrap-directive/index.cjs +1 -0
  517. package/dist/lib/focustrap-directive/index.js +2 -0
  518. package/dist/lib/general-row/general-row.cjs +1 -1
  519. package/dist/lib/general-row/general-row.cjs.map +1 -1
  520. package/dist/lib/general-row/general-row.js +105 -61
  521. package/dist/lib/general-row/general-row.js.map +1 -1
  522. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  523. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  524. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  525. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  526. package/dist/lib/group-row/group-row.cjs +1 -1
  527. package/dist/lib/group-row/group-row.cjs.map +1 -1
  528. package/dist/lib/group-row/group-row.js +2 -2
  529. package/dist/lib/group-row/group-row.js.map +1 -1
  530. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  531. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  532. package/dist/lib/grouped-chip/grouped-chip.js +9 -9
  533. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  534. package/dist/lib/hovercard/hovercard.cjs +1 -1
  535. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  536. package/dist/lib/hovercard/hovercard.js +28 -24
  537. package/dist/lib/hovercard/hovercard.js.map +1 -1
  538. package/dist/lib/icon/icon.cjs +1 -1
  539. package/dist/lib/icon/icon.cjs.map +1 -1
  540. package/dist/lib/icon/icon.js +1 -1
  541. package/dist/lib/icon/icon.js.map +1 -1
  542. package/dist/lib/illustration/illustration.cjs +1 -1
  543. package/dist/lib/illustration/illustration.cjs.map +1 -1
  544. package/dist/lib/illustration/illustration.js +1 -1
  545. package/dist/lib/illustration/illustration.js.map +1 -1
  546. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  547. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  548. package/dist/lib/image-viewer/image-viewer.js +32 -31
  549. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  550. package/dist/lib/input/input-constants.cjs +1 -1
  551. package/dist/lib/input/input-constants.cjs.map +1 -1
  552. package/dist/lib/input/input-constants.js +25 -11
  553. package/dist/lib/input/input-constants.js.map +1 -1
  554. package/dist/lib/input/input.cjs +1 -1
  555. package/dist/lib/input/input.cjs.map +1 -1
  556. package/dist/lib/input/input.js +161 -79
  557. package/dist/lib/input/input.js.map +1 -1
  558. package/dist/lib/input-group/input-group.cjs +1 -1
  559. package/dist/lib/input-group/input-group.cjs.map +1 -1
  560. package/dist/lib/input-group/input-group.js +25 -15
  561. package/dist/lib/input-group/input-group.js.map +1 -1
  562. package/dist/lib/item-layout/item-layout.cjs +3 -3
  563. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  564. package/dist/lib/item-layout/item-layout.js +35 -12
  565. package/dist/lib/item-layout/item-layout.js.map +1 -1
  566. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  567. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  568. package/dist/lib/ivr-node/ivr-node.js +1 -1
  569. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  570. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  571. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  572. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +48 -38
  573. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  574. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  575. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  576. package/dist/lib/kitchen-sink/kitchen-sink-view.js +205 -0
  577. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  578. package/dist/lib/link/index.cjs +1 -1
  579. package/dist/lib/link/index.js +2 -2
  580. package/dist/lib/link/link-constants.cjs +1 -1
  581. package/dist/lib/link/link-constants.cjs.map +1 -1
  582. package/dist/lib/link/link-constants.js +7 -7
  583. package/dist/lib/link/link-constants.js.map +1 -1
  584. package/dist/lib/link/link.cjs +1 -1
  585. package/dist/lib/link/link.cjs.map +1 -1
  586. package/dist/lib/link/link.js +17 -2
  587. package/dist/lib/link/link.js.map +1 -1
  588. package/dist/lib/list-item/list-item.cjs +1 -1
  589. package/dist/lib/list-item/list-item.cjs.map +1 -1
  590. package/dist/lib/list-item/list-item.js +9 -5
  591. package/dist/lib/list-item/list-item.js.map +1 -1
  592. package/dist/lib/list-item-group/list-item-group.cjs +1 -1
  593. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  594. package/dist/lib/list-item-group/list-item-group.js +1 -1
  595. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  596. package/dist/lib/message-input/index.cjs +1 -1
  597. package/dist/lib/message-input/index.js +1 -1
  598. package/dist/lib/message-input/message-input-button.cjs +1 -1
  599. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  600. package/dist/lib/message-input/message-input-button.js +1 -1
  601. package/dist/lib/message-input/message-input-button.js.map +1 -1
  602. package/dist/lib/message-input/message-input-link.cjs +1 -1
  603. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  604. package/dist/lib/message-input/message-input-link.js +9 -9
  605. package/dist/lib/message-input/message-input-link.js.map +1 -1
  606. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  607. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  608. package/dist/lib/message-input/message-input-topbar.js +2 -2
  609. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  610. package/dist/lib/message-input/message-input.cjs +1 -1
  611. package/dist/lib/message-input/message-input.js +1 -1
  612. package/dist/lib/modal/modal-constants.cjs +1 -1
  613. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  614. package/dist/lib/modal/modal-constants.js +3 -3
  615. package/dist/lib/modal/modal-constants.js.map +1 -1
  616. package/dist/lib/modal/modal.cjs +1 -1
  617. package/dist/lib/modal/modal.cjs.map +1 -1
  618. package/dist/lib/modal/modal.js +158 -157
  619. package/dist/lib/modal/modal.js.map +1 -1
  620. package/dist/lib/mode-directive/index.cjs +1 -0
  621. package/dist/lib/mode-directive/index.js +2 -0
  622. package/dist/lib/mode-directive/mode.cjs +2 -0
  623. package/dist/lib/mode-directive/mode.cjs.map +1 -0
  624. package/dist/lib/mode-directive/mode.js +67 -0
  625. package/dist/lib/mode-directive/mode.js.map +1 -0
  626. package/dist/lib/mode-island/index.cjs +1 -0
  627. package/dist/lib/mode-island/index.js +3 -0
  628. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  629. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  630. package/dist/lib/mode-island/mode-island-constants.js +10 -0
  631. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  632. package/dist/lib/mode-island/mode-island.cjs +2 -0
  633. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  634. package/dist/lib/mode-island/mode-island.js +102 -0
  635. package/dist/lib/mode-island/mode-island.js.map +1 -0
  636. package/dist/lib/mode-island/utils.cjs +2 -0
  637. package/dist/lib/mode-island/utils.cjs.map +1 -0
  638. package/dist/lib/mode-island/utils.js +28 -0
  639. package/dist/lib/mode-island/utils.js.map +1 -0
  640. package/dist/lib/mode-island/validators.cjs +2 -0
  641. package/dist/lib/mode-island/validators.cjs.map +1 -0
  642. package/dist/lib/mode-island/validators.js +10 -0
  643. package/dist/lib/mode-island/validators.js.map +1 -0
  644. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  645. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  646. package/dist/lib/motion-text/motion-text-constants.js +18 -6
  647. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  648. package/dist/lib/motion-text/motion-text.cjs +1 -1
  649. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  650. package/dist/lib/motion-text/motion-text.js +5 -7
  651. package/dist/lib/motion-text/motion-text.js.map +1 -1
  652. package/dist/lib/notice/notice-action.cjs +1 -1
  653. package/dist/lib/notice/notice-action.cjs.map +1 -1
  654. package/dist/lib/notice/notice-action.js +14 -14
  655. package/dist/lib/notice/notice-action.js.map +1 -1
  656. package/dist/lib/notice/notice-constants.cjs +1 -1
  657. package/dist/lib/notice/notice-constants.cjs.map +1 -1
  658. package/dist/lib/notice/notice-constants.js +2 -2
  659. package/dist/lib/notice/notice-constants.js.map +1 -1
  660. package/dist/lib/notice/notice-content.cjs +1 -1
  661. package/dist/lib/notice/notice-content.cjs.map +1 -1
  662. package/dist/lib/notice/notice-content.js +29 -12
  663. package/dist/lib/notice/notice-content.js.map +1 -1
  664. package/dist/lib/notice/notice-icon.cjs +1 -1
  665. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  666. package/dist/lib/notice/notice-icon.js +4 -4
  667. package/dist/lib/notice/notice-icon.js.map +1 -1
  668. package/dist/lib/notice/notice.cjs +1 -1
  669. package/dist/lib/notice/notice.cjs.map +1 -1
  670. package/dist/lib/notice/notice.js +17 -16
  671. package/dist/lib/notice/notice.js.map +1 -1
  672. package/dist/lib/pagination/pagination.cjs +1 -1
  673. package/dist/lib/pagination/pagination.cjs.map +1 -1
  674. package/dist/lib/pagination/pagination.js +13 -12
  675. package/dist/lib/pagination/pagination.js.map +1 -1
  676. package/dist/lib/popover/popover-constants.cjs +1 -1
  677. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  678. package/dist/lib/popover/popover-constants.js +6 -6
  679. package/dist/lib/popover/popover-constants.js.map +1 -1
  680. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  681. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  682. package/dist/lib/popover/popover-header-footer.js +11 -3
  683. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  684. package/dist/lib/popover/popover.cjs +1 -1
  685. package/dist/lib/popover/popover.cjs.map +1 -1
  686. package/dist/lib/popover/popover.js +78 -58
  687. package/dist/lib/popover/popover.js.map +1 -1
  688. package/dist/lib/radio/radio-constants.cjs +1 -1
  689. package/dist/lib/radio/radio-constants.cjs.map +1 -1
  690. package/dist/lib/radio/radio-constants.js +2 -2
  691. package/dist/lib/radio/radio-constants.js.map +1 -1
  692. package/dist/lib/radio/radio.cjs +1 -1
  693. package/dist/lib/radio/radio.cjs.map +1 -1
  694. package/dist/lib/radio/radio.js +94 -31
  695. package/dist/lib/radio/radio.js.map +1 -1
  696. package/dist/lib/resizable/index.cjs +1 -1
  697. package/dist/lib/resizable/index.js +3 -3
  698. package/dist/lib/resizable/resizable-handle.cjs +1 -1
  699. package/dist/lib/resizable/resizable-handle.js +1 -1
  700. package/dist/lib/resizable/resizable-panel.cjs +1 -1
  701. package/dist/lib/resizable/resizable-panel.js +1 -1
  702. package/dist/lib/resizable/resizable.cjs +1 -1
  703. package/dist/lib/resizable/resizable.js +1 -1
  704. package/dist/lib/rich-text-editor/index.cjs +1 -1
  705. package/dist/lib/rich-text-editor/index.js +1 -1
  706. package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
  707. package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
  708. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  709. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  710. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  711. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  712. package/dist/lib/root-layout/root-layout-constants.js +2 -0
  713. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  714. package/dist/lib/root-layout/root-layout.cjs +1 -1
  715. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  716. package/dist/lib/root-layout/root-layout.js +2 -2
  717. package/dist/lib/root-layout/root-layout.js.map +1 -1
  718. package/dist/lib/scroller/index.cjs +1 -1
  719. package/dist/lib/scroller/index.js +1 -1
  720. package/dist/lib/scroller/scroller.cjs +1 -1
  721. package/dist/lib/scroller/scroller.js +1 -1
  722. package/dist/lib/segmented-control/index.cjs +1 -0
  723. package/dist/lib/segmented-control/index.js +4 -0
  724. package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
  725. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
  726. package/dist/lib/segmented-control/segmented-control-constants.js +41 -0
  727. package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
  728. package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
  729. package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
  730. package/dist/lib/segmented-control/segmented-control-item.js +104 -0
  731. package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
  732. package/dist/lib/segmented-control/segmented-control.cjs +2 -0
  733. package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
  734. package/dist/lib/segmented-control/segmented-control.js +204 -0
  735. package/dist/lib/segmented-control/segmented-control.js.map +1 -0
  736. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  737. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  738. package/dist/lib/select-menu/select-menu-constants.js +7 -2
  739. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  740. package/dist/lib/select-menu/select-menu.cjs +1 -1
  741. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  742. package/dist/lib/select-menu/select-menu.js +117 -58
  743. package/dist/lib/select-menu/select-menu.js.map +1 -1
  744. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  745. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  746. package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
  747. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  748. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  749. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  750. package/dist/lib/skeleton/skeleton-constants.js +10 -2
  751. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  752. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  753. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  754. package/dist/lib/skeleton/skeleton-list-item.js +2 -2
  755. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  756. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  757. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  758. package/dist/lib/skeleton/skeleton-shape.js +3 -3
  759. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  760. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  761. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  762. package/dist/lib/split-button/split-button-constants.js +5 -0
  763. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  764. package/dist/lib/split-button/split-button-end.cjs +2 -0
  765. package/dist/lib/split-button/split-button-end.cjs.map +1 -0
  766. package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +9 -9
  767. package/dist/lib/split-button/split-button-end.js.map +1 -0
  768. package/dist/lib/split-button/split-button-start.cjs +2 -0
  769. package/dist/lib/split-button/split-button-start.cjs.map +1 -0
  770. package/dist/lib/split-button/split-button-start.js +182 -0
  771. package/dist/lib/split-button/split-button-start.js.map +1 -0
  772. package/dist/lib/split-button/split-button.cjs +1 -1
  773. package/dist/lib/split-button/split-button.cjs.map +1 -1
  774. package/dist/lib/split-button/split-button.js +246 -71
  775. package/dist/lib/split-button/split-button.js.map +1 -1
  776. package/dist/lib/stack/stack-constants.cjs +1 -1
  777. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  778. package/dist/lib/stack/stack-constants.js +10 -2
  779. package/dist/lib/stack/stack-constants.js.map +1 -1
  780. package/dist/lib/stack/stack.cjs.map +1 -1
  781. package/dist/lib/stack/stack.js.map +1 -1
  782. package/dist/lib/tab/index.cjs +1 -1
  783. package/dist/lib/tab/index.js +5 -5
  784. package/dist/lib/tab/tab-group.cjs +1 -1
  785. package/dist/lib/tab/tab-group.cjs.map +1 -1
  786. package/dist/lib/tab/tab-group.js +173 -50
  787. package/dist/lib/tab/tab-group.js.map +1 -1
  788. package/dist/lib/tab/tab.cjs +1 -1
  789. package/dist/lib/tab/tab.cjs.map +1 -1
  790. package/dist/lib/tab/tab.js +108 -23
  791. package/dist/lib/tab/tab.js.map +1 -1
  792. package/dist/lib/tab/tabs-constants.cjs +1 -1
  793. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  794. package/dist/lib/tab/tabs-constants.js +33 -2
  795. package/dist/lib/tab/tabs-constants.js.map +1 -1
  796. package/dist/lib/text/index.cjs +1 -0
  797. package/dist/lib/text/index.js +3 -0
  798. package/dist/lib/text/text-constants.cjs +2 -0
  799. package/dist/lib/text/text-constants.cjs.map +1 -0
  800. package/dist/lib/text/text-constants.js +126 -0
  801. package/dist/lib/text/text-constants.js.map +1 -0
  802. package/dist/lib/text/text.cjs +2 -0
  803. package/dist/lib/text/text.cjs.map +1 -0
  804. package/dist/lib/text/text.js +150 -0
  805. package/dist/lib/text/text.js.map +1 -0
  806. package/dist/lib/toast/index.cjs +1 -1
  807. package/dist/lib/toast/index.js +1 -1
  808. package/dist/lib/toast/toast.cjs +1 -1
  809. package/dist/lib/toast/toast.js +1 -1
  810. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  811. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  812. package/dist/lib/toggle/toggle-constants.js +2 -0
  813. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  814. package/dist/lib/toggle/toggle.cjs +1 -1
  815. package/dist/lib/toggle/toggle.cjs.map +1 -1
  816. package/dist/lib/toggle/toggle.js +24 -29
  817. package/dist/lib/toggle/toggle.js.map +1 -1
  818. package/dist/lib/tooltip/tooltip.cjs +1 -4
  819. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  820. package/dist/lib/tooltip/tooltip.js +36 -31
  821. package/dist/lib/tooltip/tooltip.js.map +1 -1
  822. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  823. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  824. package/dist/lib/tooltip-directive/tooltip.js +36 -35
  825. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  826. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  827. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  828. package/dist/lib/top-banner-info/top-banner-info.js +4 -4
  829. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  830. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  831. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  832. package/dist/lib/unread-pill/unread-pill.js +1 -1
  833. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  834. package/dist/lib/validation-messages/validation-messages.cjs +1 -1
  835. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  836. package/dist/lib/validation-messages/validation-messages.js +2 -2
  837. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  838. package/dist/localization/en-US.cjs +5 -0
  839. package/dist/localization/en-US.cjs.map +1 -1
  840. package/dist/localization/en-US.js +1 -1
  841. package/dist/localization/en-US.js.map +1 -1
  842. package/dist/{markdownRenderer-DCgGQseq.cjs → markdownRenderer-Dsq-CiH9.cjs} +1 -1
  843. package/dist/{markdownRenderer-DCgGQseq.cjs.map → markdownRenderer-Dsq-CiH9.cjs.map} +1 -1
  844. package/dist/{markdownRenderer-D_P94RyM.js → markdownRenderer-k7_rQkox.js} +1 -1
  845. package/dist/{markdownRenderer-D_P94RyM.js.map → markdownRenderer-k7_rQkox.js.map} +1 -1
  846. package/dist/{message_input-CHlTsBGK.js → message_input-BYy1xKCy.js} +129 -130
  847. package/dist/message_input-BYy1xKCy.js.map +1 -0
  848. package/dist/message_input-sSCHhaeC.cjs +2 -0
  849. package/dist/message_input-sSCHhaeC.cjs.map +1 -0
  850. package/dist/mode_constants-CzYJW9ua.cjs +2 -0
  851. package/dist/mode_constants-CzYJW9ua.cjs.map +1 -0
  852. package/dist/mode_constants-tb7TL85q.js +14 -0
  853. package/dist/mode_constants-tb7TL85q.js.map +1 -0
  854. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +85 -14
  855. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  856. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +313 -41
  857. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  858. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +302 -41
  859. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  860. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +228 -35
  861. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  862. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +62 -16
  863. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  864. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
  865. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  866. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
  867. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  868. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
  869. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +228 -26
  870. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  871. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +216 -25
  872. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  873. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +1163 -178
  874. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  875. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +132 -42
  876. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  877. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +91 -23
  878. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  879. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +126 -35
  880. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  881. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
  882. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  883. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +1622 -207
  884. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  885. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +226 -12
  886. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  887. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +636 -55
  888. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  889. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +226 -12
  890. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  891. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
  892. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  893. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +122 -33
  894. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  895. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +87 -29
  896. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  897. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +82 -28
  898. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  899. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +588 -72
  900. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  901. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +480 -31
  902. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  903. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  904. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +479 -30
  905. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  906. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  907. package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  908. package/dist/{resizable-aOVGO_Os.cjs → resizable-DhowneUp.cjs} +2 -2
  909. package/dist/{resizable-aOVGO_Os.cjs.map → resizable-DhowneUp.cjs.map} +1 -1
  910. package/dist/{resizable-D4-peBOl.js → resizable-xcOu-0_w.js} +3 -3
  911. package/dist/{resizable-D4-peBOl.js.map → resizable-xcOu-0_w.js.map} +1 -1
  912. package/dist/{resizable_handle-BlKBiWnx.js → resizable_handle-BAZzCA_i.js} +3 -3
  913. package/dist/{resizable_handle-BlKBiWnx.js.map → resizable_handle-BAZzCA_i.js.map} +1 -1
  914. package/dist/{resizable_handle-RIKS8frB.cjs → resizable_handle-fjKg48eY.cjs} +2 -2
  915. package/dist/{resizable_handle-RIKS8frB.cjs.map → resizable_handle-fjKg48eY.cjs.map} +1 -1
  916. package/dist/{resizable_utils-DhuzXRdP.cjs → resizable_utils-BE4lK07_.cjs} +1 -1
  917. package/dist/{resizable_utils-DhuzXRdP.cjs.map → resizable_utils-BE4lK07_.cjs.map} +1 -1
  918. package/dist/{resizable_utils-BComtrMV.js → resizable_utils-DsKnGHKW.js} +1 -1
  919. package/dist/{resizable_utils-BComtrMV.js.map → resizable_utils-DsKnGHKW.js.map} +1 -1
  920. package/dist/{rich_text_editor-Ba67C4Uk.js → rich_text_editor-CEW74QNe.js} +637 -598
  921. package/dist/{rich_text_editor-Ba67C4Uk.js.map → rich_text_editor-CEW74QNe.js.map} +1 -1
  922. package/dist/rich_text_editor-immDiKq_.cjs +10 -0
  923. package/dist/{rich_text_editor-DMP5eTlf.cjs.map → rich_text_editor-immDiKq_.cjs.map} +1 -1
  924. package/dist/scroller-C15VLKNK.cjs +2 -0
  925. package/dist/scroller-C15VLKNK.cjs.map +1 -0
  926. package/dist/{scroller-BGVDh3sq.js → scroller-DPqcc_Wl.js} +6 -6
  927. package/dist/scroller-DPqcc_Wl.js.map +1 -0
  928. package/dist/shared/sr_only_close_button.cjs +1 -1
  929. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  930. package/dist/shared/sr_only_close_button.js +1 -1
  931. package/dist/shared/sr_only_close_button.js.map +1 -1
  932. package/dist/toast-B1WZNMAm.cjs +2 -0
  933. package/dist/toast-B1WZNMAm.cjs.map +1 -0
  934. package/dist/{toast-DvPN-bCi.js → toast-DaH2KF7B.js} +52 -51
  935. package/dist/toast-DaH2KF7B.js.map +1 -0
  936. package/dist/{useResizableCalculations-DAajatT4.js → useResizableCalculations-2UpEXvfY.js} +2 -2
  937. package/dist/{useResizableCalculations-DAajatT4.js.map → useResizableCalculations-2UpEXvfY.js.map} +1 -1
  938. package/dist/{useResizableCalculations-BDITle3Q.cjs → useResizableCalculations-DPBjAFWQ.cjs} +2 -2
  939. package/dist/{useResizableCalculations-BDITle3Q.cjs.map → useResizableCalculations-DPBjAFWQ.cjs.map} +1 -1
  940. package/package.json +9 -7
  941. package/dist/attachment_carousel-BHxR7A76.cjs +0 -2
  942. package/dist/attachment_carousel-BHxR7A76.cjs.map +0 -1
  943. package/dist/attachment_carousel-CouFqFMw.js.map +0 -1
  944. package/dist/combobox-DgClbLOg.js.map +0 -1
  945. package/dist/combobox-DhjZxfUw.cjs +0 -3
  946. package/dist/combobox-DhjZxfUw.cjs.map +0 -1
  947. package/dist/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
  948. package/dist/datepicker-DprRX9AH.cjs +0 -2
  949. package/dist/datepicker-DprRX9AH.cjs.map +0 -1
  950. package/dist/datepicker-LVDRC6Lf.js.map +0 -1
  951. package/dist/emoji_picker-Cl-T4BXK.cjs +0 -2
  952. package/dist/emoji_picker-Cl-T4BXK.cjs.map +0 -1
  953. package/dist/emoji_picker-tVHfpHDk.js.map +0 -1
  954. package/dist/lib/split-button/split-button-alpha.cjs +0 -2
  955. package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
  956. package/dist/lib/split-button/split-button-alpha.js +0 -107
  957. package/dist/lib/split-button/split-button-alpha.js.map +0 -1
  958. package/dist/lib/split-button/split-button-omega.cjs +0 -2
  959. package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
  960. package/dist/lib/split-button/split-button-omega.js.map +0 -1
  961. package/dist/message_input-AWgvtwMV.cjs +0 -2
  962. package/dist/message_input-AWgvtwMV.cjs.map +0 -1
  963. package/dist/message_input-CHlTsBGK.js.map +0 -1
  964. package/dist/rich_text_editor-DMP5eTlf.cjs +0 -10
  965. package/dist/scroller-BGVDh3sq.js.map +0 -1
  966. package/dist/scroller-CjAsgjl9.cjs +0 -2
  967. package/dist/scroller-CjAsgjl9.cjs.map +0 -1
  968. package/dist/toast-DvPN-bCi.js.map +0 -1
  969. package/dist/toast-d8_zmgkL.cjs +0 -2
  970. package/dist/toast-d8_zmgkL.cjs.map +0 -1
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./tabs-constants.cjs`),t=require(`./tab-group.cjs`),n=require(`./tab.cjs`),r=require(`./tab-panel.cjs`);exports.DtTab=n.default,exports.DtTabGroup=t.default,exports.DtTabPanel=r.default,exports.TAB_IMPORTANCE_MODIFIERS=e.TAB_IMPORTANCE_MODIFIERS,exports.TAB_LIST_IMPORTANCE_MODIFIERS=e.TAB_LIST_IMPORTANCE_MODIFIERS,exports.TAB_LIST_KIND_MODIFIERS=e.TAB_LIST_KIND_MODIFIERS,exports.TAB_LIST_SIZES=e.TAB_LIST_SIZES;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./tabs-constants.cjs`),t=require(`./tab-group.cjs`),n=require(`./tab.cjs`),r=require(`./tab-panel.cjs`);exports.DtTab=n.default,exports.DtTabGroup=t.default,exports.DtTabPanel=r.default,exports.TAB_ACTIVATION_MODES=e.TAB_ACTIVATION_MODES,exports.TAB_GROUP_KINDS=e.TAB_GROUP_KINDS,exports.TAB_LIST_IMPORTANCE_MODIFIERS=e.TAB_LIST_IMPORTANCE_MODIFIERS,exports.TAB_LIST_KIND_MODIFIERS=e.TAB_LIST_KIND_MODIFIERS,exports.TAB_LIST_SIZES=e.TAB_LIST_SIZES,exports.TAB_LIST_SIZE_MODIFIERS=e.TAB_LIST_SIZE_MODIFIERS,exports.TAB_SPREADS=e.TAB_SPREADS;
@@ -1,5 +1,5 @@
1
- import { TAB_IMPORTANCE_MODIFIERS as e, TAB_LIST_IMPORTANCE_MODIFIERS as t, TAB_LIST_KIND_MODIFIERS as n, TAB_LIST_SIZES as r } from "./tabs-constants.js";
2
- import i from "./tab-group.js";
3
- import a from "./tab.js";
4
- import o from "./tab-panel.js";
5
- export { a as DtTab, i as DtTabGroup, o as DtTabPanel, e as TAB_IMPORTANCE_MODIFIERS, t as TAB_LIST_IMPORTANCE_MODIFIERS, n as TAB_LIST_KIND_MODIFIERS, r as TAB_LIST_SIZES };
1
+ import { TAB_ACTIVATION_MODES as e, TAB_GROUP_KINDS as t, TAB_LIST_IMPORTANCE_MODIFIERS as n, TAB_LIST_KIND_MODIFIERS as r, TAB_LIST_SIZES as i, TAB_LIST_SIZE_MODIFIERS as a, TAB_SPREADS as o } from "./tabs-constants.js";
2
+ import s from "./tab-group.js";
3
+ import c from "./tab.js";
4
+ import l from "./tab-panel.js";
5
+ export { c as DtTab, s as DtTabGroup, l as DtTabPanel, e as TAB_ACTIVATION_MODES, t as TAB_GROUP_KINDS, n as TAB_LIST_IMPORTANCE_MODIFIERS, r as TAB_LIST_KIND_MODIFIERS, i as TAB_LIST_SIZES, a as TAB_LIST_SIZE_MODIFIERS, o as TAB_SPREADS };
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`./tabs-constants.cjs`);let n=require(`vue`);var r={compatConfig:{MODE:3},name:`DtTabGroup`,provide(){return{groupContext:this.provideObj,setFocus:this.setFocus}},props:{label:{type:String,default:``},selected:{type:String,default:``},disabled:{type:Boolean,default:!1},inverted:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},size:{type:String,default:`default`,validate(e){return t.TAB_LIST_SIZES.includes(e)}},tabListClass:{type:[String,Array,Object],default:``},tabListChildProps:{type:Object,default:()=>({})}},emits:[`change`,`before-change`],data(){return{provideObj:{selected:``,disabled:!1},focusId:null,tabs:[],TAB_LIST_SIZE_MODIFIERS:t.TAB_LIST_SIZE_MODIFIERS,TAB_LIST_KIND_MODIFIERS:t.TAB_LIST_KIND_MODIFIERS,TAB_LIST_IMPORTANCE_MODIFIERS:t.TAB_LIST_IMPORTANCE_MODIFIERS}},watch:{disabled:{immediate:!0,handler(){this.provideObj.disabled=this.disabled}},selected:{immediate:!0,handler(){this.provideObj.selected=this.selected}}},mounted(){this.updateSelected()},updated(){this.updateSelected()},methods:{updateSelected(){this.provideObj.selected||(this.provideObj.selected=this.selected),this.tabs=this.getTabChildren()},setFocus(e){this.focusId=e},getTabChildren(){return Array.from(this.$refs.tabs.querySelectorAll(`.d-tab`)).map(e=>({context:e,panelId:e.getAttribute(`aria-controls`)?.replace(`dt-panel-`,``),tabId:e.getAttribute(`id`)?.replace(`dt-tab-`,``),isSelected:e.getAttribute(`aria-selected`)===`true`}))},onChange(){this.$emit(`change`,{...this.provideObj})},tabLeft(){let e=this.getFocusedTabIndex();if(e===-1)return;let t=e-1<0?this.tabs.length-1:e-1;this.selectFocusOnTab(t)},tabRight(){let e=this.getFocusedTabIndex();if(e===-1)return;let t=e+1>this.tabs.length-1?0:e+1;this.selectFocusOnTab(t)},selectFocusOnTab(e){let{context:t}=this.tabs[e];t.focus()},selectTab(e){if(this.isSameTabClicked()||(this.$emit(`before-change`,e),e.defaultPrevented))return;let t=this.getFocusedTabIndex();this.selectTabByIndex(t),this.onChange()},selectTabByIndex(e){let{context:t,panelId:n}=this.tabs[e];this.provideObj.selected=n,t.focus()},getFocusedTabIndex(){let e=this.tabs.findIndex(e=>this.focusId?e.tabId===`${this.focusId}`:e.isSelected);return e===-1?0:e},onHomeButton(){this.tabs.length!==0&&this.tabs[0]?.context?.focus()},onEndButton(){this.tabs.length!==0&&this.tabs[this.tabs.length-1]?.context?.focus()},isSameTabClicked(){let e=this.tabs[this.getFocusedTabIndex()];return this.provideObj.selected===e.panelId}}},i={"data-qa":`dt-tab-group`},a=[`aria-label`];function o(e,t,r,o,s,c){return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[(0,n.createElementVNode)(`div`,(0,n.mergeProps)({ref:`tabs`,class:[`d-tablist`,s.TAB_LIST_SIZE_MODIFIERS[r.size],{[s.TAB_LIST_KIND_MODIFIERS.inverted]:r.inverted,[s.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]:r.borderless},r.tabListClass]},r.tabListChildProps,{role:`tablist`,"aria-label":r.label,onKeyup:[t[0]||(t[0]=(0,n.withKeys)((...e)=>c.tabLeft&&c.tabLeft(...e),[`left`])),t[1]||(t[1]=(0,n.withKeys)((...e)=>c.tabRight&&c.tabRight(...e),[`right`])),t[2]||(t[2]=(0,n.withKeys)((...e)=>c.selectTab&&c.selectTab(...e),[`enter`])),t[3]||(t[3]=(0,n.withKeys)((...e)=>c.selectTab&&c.selectTab(...e),[`space`]))],onClick:t[4]||(t[4]=(...e)=>c.selectTab&&c.selectTab(...e)),onKeydown:[t[5]||(t[5]=(0,n.withKeys)((...e)=>c.onHomeButton&&c.onHomeButton(...e),[`home`])),t[6]||(t[6]=(0,n.withKeys)((...e)=>c.onEndButton&&c.onEndButton(...e),[`end`]))]}),[(0,n.renderSlot)(e.$slots,`tabs`)],16,a),(0,n.renderSlot)(e.$slots,`default`)])}var s=e.t(r,[[`render`,o]]);exports.default=s;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`./tabs-constants.cjs`),n=require(`../../common/composables/useIndicatorAnimation.cjs`);let r=require(`vue`);var i={compatConfig:{MODE:3},name:`DtTabGroup`,provide(){return{groupContext:this.provideObj,setFocus:this.setFocus}},props:{label:{type:String,default:``},selected:{type:String,default:``},disabled:{type:Boolean,default:!1},inverted:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},spread:{type:String,default:`none`,validator(e){return t.TAB_SPREADS.includes(e)}},orientation:{type:String,default:`horizontal`,validator(e){return t.TAB_ORIENTATIONS.includes(e)}},size:{type:[String,Number],default:300,validator(e){return t.TAB_LIST_SIZES.includes(String(e))}},tabListClass:{type:[String,Array,Object],default:``},tabListChildProps:{type:Object,default:()=>({})},kind:{type:String,default:`default`,validator(e){return t.TAB_GROUP_KINDS.includes(e)}},outlined:{type:Boolean,default:!1},activationMode:{type:String,default:`manual`,validator(e){return t.TAB_ACTIVATION_MODES.includes(e)}},showIndicatorTransition:{type:Boolean,default:!0}},emits:[`change`,`before-change`],setup(){let e=(0,r.ref)(null);return{tabs:e,indicator:n.useIndicatorAnimation(e,`--tab-indicator-duration`,`--tab-indicator-easing`)}},data(){return{provideObj:{selected:``,disabled:!1,size:300,kind:`default`,outlined:!1,orientation:`horizontal`,spread:`none`,focusedTabId:null},tabItems:[],TAB_LIST_SIZE_MODIFIERS:t.TAB_LIST_SIZE_MODIFIERS,TAB_LIST_KIND_MODIFIERS:t.TAB_LIST_KIND_MODIFIERS,TAB_LIST_IMPORTANCE_MODIFIERS:t.TAB_LIST_IMPORTANCE_MODIFIERS,TAB_ORIENTATION_MODIFIERS:t.TAB_ORIENTATION_MODIFIERS,TAB_SPREAD_MODIFIERS:t.TAB_SPREAD_MODIFIERS}},watch:{disabled:{immediate:!0,handler(){this.provideObj.disabled=this.disabled}},selected:{immediate:!0,handler(e,t){this.provideObj.selected=this.selected,e!==t&&(this.provideObj.focusedTabId=null)}},size:{immediate:!0,handler(){this.provideObj.size=this.size}},kind:{immediate:!0,handler(){this.provideObj.kind=this.kind}},outlined:{immediate:!0,handler(){this.provideObj.outlined=this.outlined}},orientation:{immediate:!0,handler(){this.provideObj.orientation=this.orientation}},spread:{immediate:!0,handler(){this.provideObj.spread=this.spread}}},mounted(){this.updateSelected()},updated(){this.updateSelected()},methods:{updateSelected(){this.provideObj.selected||(this.provideObj.selected=this.selected),this.tabItems=this.getTabChildren(),this.provideObj.focusedTabId&&!this.tabItems.some(e=>e.tabId===this.provideObj.focusedTabId)&&(this.provideObj.focusedTabId=null)},setFocus(e){this.provideObj.focusedTabId!==e&&(this.provideObj.focusedTabId=e)},getTabChildren(){return Array.from(this.$refs.tabs.querySelectorAll(`[role="tab"]`)).map(e=>({context:e,panelId:e.getAttribute(`aria-controls`)?.replace(`dt-panel-`,``),tabId:e.getAttribute(`id`)?.replace(`dt-tab-`,``),isSelected:e.getAttribute(`aria-selected`)===`true`,isDisabled:e.getAttribute(`aria-disabled`)===`true`}))},onChange(){this.$emit(`change`,{...this.provideObj})},tabLeft(){this.orientation===`horizontal`&&this.navigatePrevious()},tabRight(){this.orientation===`horizontal`&&this.navigateNext()},tabUp(e){this.orientation===`vertical`&&(e.preventDefault(),this.navigatePrevious())},tabDown(e){this.orientation===`vertical`&&(e.preventDefault(),this.navigateNext())},navigatePrevious(){let e=this.getFocusedTabIndex();if(e===-1)return;let t=this.findNextTab(e,-1);this.selectFocusOnTab(t)},navigateNext(){let e=this.getFocusedTabIndex();if(e===-1)return;let t=this.findNextTab(e,1);this.selectFocusOnTab(t)},findNextTab(e,t){let n=this.tabItems.length;return(e+t+n)%n},transitionIndicator(e,t){if(!t||!this.showIndicatorTransition){this.provideObj.selected=e;return}let n=this.indicator.snapshot(`[aria-selected="true"]`);this.provideObj.selected=e,n&&this.$nextTick(()=>{let e={backgroundColor:`transparent`},r={},i=`::after`;this.outlined?(e={borderColor:`transparent`,backgroundColor:`transparent`},r={boxShadow:`inset 0 0 0 ${n.style.borderWidth} ${n.style.borderColor}`},i=`::before`):this.kind===`muted`&&(r={backgroundColor:n.style.backgroundColor},i=`::before`),this.indicator.animate({oldRect:n.rect,newEl:t,orientation:this.orientation,hideProps:e,indicatorExtra:r,pseudoElement:i})})},selectFocusOnTab(e){let{context:t,panelId:n,isDisabled:r}=this.tabItems[e];t.focus(),this.activationMode===`auto`&&!r&&(this.indicator.cancel(),this.provideObj.selected=n,this.onChange())},selectTab(e){let t=e.target.closest(`[role="tab"]`),n=t?this.tabItems.findIndex(e=>e.context===t):this.getFocusedTabIndex();n!==-1&&(this.tabItems[n]?.isDisabled||this.provideObj.selected!==this.tabItems[n]?.panelId&&(this.$emit(`before-change`,e),!e.defaultPrevented&&(e.preventDefault(),this.selectTabByIndex(n),this.onChange())))},selectTabByIndex(e){let{context:t,panelId:n}=this.tabItems[e];this.transitionIndicator(n,t),t.focus()},getFocusedTabIndex(){let e=this.provideObj.focusedTabId,t=this.tabItems.findIndex(t=>e?t.tabId===e:t.isSelected);return t===-1?0:t},onHomeButton(){this.tabItems.length&&this.selectFocusOnTab(0)},onEndButton(){this.tabItems.length&&this.selectFocusOnTab(this.tabItems.length-1)}}},a=[`aria-label`,`aria-orientation`];function o(e,t,n,i,o,s){return(0,r.openBlock)(),(0,r.createElementBlock)(`div`,{"data-qa":`dt-tab-group`,class:(0,r.normalizeClass)([`d-tab-neux`,{"d-tab-neux--vertical":n.orientation===`vertical`}])},[(0,r.createElementVNode)(`div`,(0,r.mergeProps)({ref:`tabs`,class:[`d-tablist`,o.TAB_LIST_SIZE_MODIFIERS[String(n.size)],o.TAB_ORIENTATION_MODIFIERS[n.orientation],n.orientation!==`vertical`&&o.TAB_SPREAD_MODIFIERS[n.spread],{[o.TAB_LIST_KIND_MODIFIERS.inverted]:n.inverted,[o.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]:n.borderless},n.tabListClass]},n.tabListChildProps,{role:`tablist`,"aria-label":n.label,"aria-orientation":n.orientation,onKeydown:[t[0]||(t[0]=(0,r.withKeys)((...e)=>s.tabLeft&&s.tabLeft(...e),[`left`])),t[1]||(t[1]=(0,r.withKeys)((...e)=>s.tabRight&&s.tabRight(...e),[`right`])),t[2]||(t[2]=(0,r.withKeys)((...e)=>s.tabUp&&s.tabUp(...e),[`up`])),t[3]||(t[3]=(0,r.withKeys)((...e)=>s.tabDown&&s.tabDown(...e),[`down`])),t[4]||(t[4]=(0,r.withKeys)((...e)=>s.selectTab&&s.selectTab(...e),[`enter`])),t[5]||(t[5]=(0,r.withKeys)((...e)=>s.selectTab&&s.selectTab(...e),[`space`])),t[7]||(t[7]=(0,r.withKeys)((0,r.withModifiers)((...e)=>s.onHomeButton&&s.onHomeButton(...e),[`prevent`]),[`home`])),t[8]||(t[8]=(0,r.withKeys)((0,r.withModifiers)((...e)=>s.onEndButton&&s.onEndButton(...e),[`prevent`]),[`end`]))],onClick:t[6]||(t[6]=(...e)=>s.selectTab&&s.selectTab(...e))}),[(0,r.renderSlot)(e.$slots,`tabs`)],16,a),(0,r.renderSlot)(e.$slots,`default`)],2)}var s=e.t(i,[[`render`,o]]);exports.default=s;
2
2
  //# sourceMappingURL=tab-group.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-group.cjs","names":[],"sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index - 1 < 0 ? this.tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement);\n },\n\n tabRight () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index + 1 > this.tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement);\n },\n\n selectFocusOnTab (index) {\n const { context } = this.tabs[index];\n context.focus();\n },\n\n selectTab (event) {\n if (this.isSameTabClicked()) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n const index = this.getFocusedTabIndex();\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getFocusedTabIndex () {\n // Hot fix https://github.com/dialpad/dialtone/pull/849\n // The main issue is that this.tabs is not being updated at the time this is being triggered.\n\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.tabId === `${this.focusId}` : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n\n isSameTabClicked () {\n const tab = this.tabs[this.getFocusedTabIndex()];\n return this.provideObj.selected === tab.panelId;\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"tab-group.cjs","names":[],"sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n :class=\"['d-tab-neux', { 'd-tab-neux--vertical': orientation === 'vertical' }]\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[String(size)],\n TAB_ORIENTATION_MODIFIERS[orientation],\n orientation !== 'vertical' && TAB_SPREAD_MODIFIERS[spread],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n :aria-orientation=\"orientation\"\n @keydown.left=\"tabLeft\"\n @keydown.right=\"tabRight\"\n @keydown.up=\"tabUp\"\n @keydown.down=\"tabDown\"\n @keydown.enter=\"selectTab\"\n @keydown.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home.prevent=\"onHomeButton\"\n @keydown.end.prevent=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n TAB_ORIENTATIONS,\n TAB_ORIENTATION_MODIFIERS,\n TAB_ACTIVATION_MODES,\n TAB_GROUP_KINDS,\n TAB_SPREADS,\n TAB_SPREAD_MODIFIERS,\n} from './tabs_constants';\nimport { ref } from 'vue';\nimport { useIndicatorAnimation } from '@/common/composables/useIndicatorAnimation';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @deprecated Use v-dt-mode directive instead.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how tabs distribute available space within the tab list.\n * @values none, grow, equal\n */\n spread: {\n type: String,\n default: 'none',\n validator (value) {\n return TAB_SPREADS.includes(value);\n },\n },\n\n /**\n * The orientation of the tab list\n * @values horizontal, vertical\n */\n orientation: {\n type: String,\n default: 'horizontal',\n validator (value) {\n return TAB_ORIENTATIONS.includes(value);\n },\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator (size) {\n return TAB_LIST_SIZES.includes(String(size));\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * The visual style kind applied to tabs within this group.\n * Maps to specific DtButton kind/importance combinations for selected/unselected states.\n * @values default, muted\n */\n kind: {\n type: String,\n default: 'default',\n validator (value) {\n return TAB_GROUP_KINDS.includes(value);\n },\n },\n\n /**\n * If true, the selected tab renders with outlined importance instead of clear.\n * @values true, false\n */\n outlined: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether tabs are selected on focus (auto) or on click/keypress (manual)\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: 'manual',\n validator (value) {\n return TAB_ACTIVATION_MODES.includes(value);\n },\n },\n\n /**\n * If true, the selection indicator animates between tabs on click.\n * @values true, false\n */\n showIndicatorTransition: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n setup () {\n const tabs = ref(null);\n const indicator = useIndicatorAnimation(\n tabs, '--tab-indicator-duration', '--tab-indicator-easing',\n );\n return { tabs, indicator };\n },\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n size: 300,\n kind: 'default',\n outlined: false,\n orientation: 'horizontal',\n spread: 'none',\n focusedTabId: null, // tracks last-focused tab for roving tabindex\n },\n\n tabItems: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_ORIENTATION_MODIFIERS,\n TAB_SPREAD_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler (newVal, oldVal) {\n this.provideObj.selected = this.selected;\n if (newVal !== oldVal) {\n this.provideObj.focusedTabId = null;\n }\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.provideObj.size = this.size;\n },\n },\n\n kind: {\n immediate: true,\n handler () {\n this.provideObj.kind = this.kind;\n },\n },\n\n outlined: {\n immediate: true,\n handler () {\n this.provideObj.outlined = this.outlined;\n },\n },\n\n orientation: {\n immediate: true,\n handler () {\n this.provideObj.orientation = this.orientation;\n },\n },\n\n spread: {\n immediate: true,\n handler () {\n this.provideObj.spread = this.spread;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabItems = this.getTabChildren();\n\n // Clear stale focusedTabId if the focused tab was removed\n if (this.provideObj.focusedTabId && !this.tabItems.some(t => t.tabId === this.provideObj.focusedTabId)) {\n this.provideObj.focusedTabId = null;\n }\n },\n\n setFocus (focusId) {\n if (this.provideObj.focusedTabId !== focusId) {\n this.provideObj.focusedTabId = focusId;\n }\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('[role=\"tab\"]'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n isDisabled: el.getAttribute('aria-disabled') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n if (this.orientation !== 'horizontal') return;\n this.navigatePrevious();\n },\n\n tabRight () {\n if (this.orientation !== 'horizontal') return;\n this.navigateNext();\n },\n\n tabUp (event) {\n if (this.orientation !== 'vertical') return;\n event.preventDefault();\n this.navigatePrevious();\n },\n\n tabDown (event) {\n if (this.orientation !== 'vertical') return;\n event.preventDefault();\n this.navigateNext();\n },\n\n navigatePrevious () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, -1);\n this.selectFocusOnTab(nextIndex);\n },\n\n navigateNext () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, 1);\n this.selectFocusOnTab(nextIndex);\n },\n\n findNextTab (fromIndex, direction) {\n const len = this.tabItems.length;\n return (fromIndex + direction + len) % len;\n },\n\n transitionIndicator (panelId, newContext) {\n if (!newContext || !this.showIndicatorTransition) {\n this.provideObj.selected = panelId;\n return;\n }\n\n const old = this.indicator.snapshot('[aria-selected=\"true\"]');\n\n this.provideObj.selected = panelId;\n if (!old) return;\n\n this.$nextTick(() => {\n let hideProps = { backgroundColor: 'transparent' };\n let indicatorExtra = {};\n let pseudoElement = '::after';\n\n if (this.outlined) {\n hideProps = { borderColor: 'transparent', backgroundColor: 'transparent' };\n indicatorExtra = { boxShadow: `inset 0 0 0 ${old.style.borderWidth} ${old.style.borderColor}` };\n pseudoElement = '::before';\n } else if (this.kind === 'muted') {\n indicatorExtra = { backgroundColor: old.style.backgroundColor };\n pseudoElement = '::before';\n }\n\n this.indicator.animate({\n oldRect: old.rect,\n newEl: newContext,\n orientation: this.orientation,\n hideProps,\n indicatorExtra,\n pseudoElement,\n });\n });\n },\n\n selectFocusOnTab (index) {\n const { context, panelId, isDisabled } = this.tabItems[index];\n context.focus();\n if (this.activationMode === 'auto' && !isDisabled) {\n this.indicator.cancel();\n this.provideObj.selected = panelId;\n this.onChange();\n }\n },\n\n selectTab (event) {\n const tabEl = event.target.closest('[role=\"tab\"]');\n const index = tabEl\n ? this.tabItems.findIndex(t => t.context === tabEl)\n : this.getFocusedTabIndex();\n\n if (index === -1) return;\n if (this.tabItems[index]?.isDisabled) return;\n if (this.provideObj.selected === this.tabItems[index]?.panelId) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n // Prevent keyboard defaults (Space scroll, Enter form submit)\n // after confirming the tab change will proceed\n event.preventDefault();\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabItems[index];\n this.transitionIndicator(panelId, context);\n context.focus();\n },\n\n getFocusedTabIndex () {\n const focusedId = this.provideObj.focusedTabId;\n const index = this.tabItems.findIndex((context) =>\n focusedId ? context.tabId === focusedId : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabItems.length) this.selectFocusOnTab(0);\n },\n\n onEndButton () {\n if (this.tabItems.length) this.selectFocusOnTab(this.tabItems.length - 1);\n },\n\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { t as e } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
2
- import { TAB_LIST_IMPORTANCE_MODIFIERS as t, TAB_LIST_KIND_MODIFIERS as n, TAB_LIST_SIZES as r, TAB_LIST_SIZE_MODIFIERS as i } from "./tabs-constants.js";
3
- import { createElementBlock as a, createElementVNode as o, mergeProps as s, openBlock as c, renderSlot as l, withKeys as u } from "vue";
2
+ import { TAB_ACTIVATION_MODES as t, TAB_GROUP_KINDS as n, TAB_LIST_IMPORTANCE_MODIFIERS as r, TAB_LIST_KIND_MODIFIERS as i, TAB_LIST_SIZES as a, TAB_LIST_SIZE_MODIFIERS as o, TAB_ORIENTATIONS as s, TAB_ORIENTATION_MODIFIERS as c, TAB_SPREADS as l, TAB_SPREAD_MODIFIERS as u } from "./tabs-constants.js";
3
+ import { useIndicatorAnimation as d } from "../../common/composables/useIndicatorAnimation.js";
4
+ import { createElementBlock as f, createElementVNode as p, mergeProps as m, normalizeClass as h, openBlock as g, ref as _, renderSlot as v, withKeys as y, withModifiers as b } from "vue";
4
5
  //#region components/tab/tab_group.vue
5
- var d = {
6
+ var x = {
6
7
  compatConfig: { MODE: 3 },
7
8
  name: "DtTabGroup",
8
9
  provide() {
@@ -32,11 +33,25 @@ var d = {
32
33
  type: Boolean,
33
34
  default: !1
34
35
  },
35
- size: {
36
+ spread: {
36
37
  type: String,
37
- default: "default",
38
- validate(e) {
39
- return r.includes(e);
38
+ default: "none",
39
+ validator(e) {
40
+ return l.includes(e);
41
+ }
42
+ },
43
+ orientation: {
44
+ type: String,
45
+ default: "horizontal",
46
+ validator(e) {
47
+ return s.includes(e);
48
+ }
49
+ },
50
+ size: {
51
+ type: [String, Number],
52
+ default: 300,
53
+ validator(e) {
54
+ return a.includes(String(e));
40
55
  }
41
56
  },
42
57
  tabListClass: {
@@ -50,20 +65,56 @@ var d = {
50
65
  tabListChildProps: {
51
66
  type: Object,
52
67
  default: () => ({})
68
+ },
69
+ kind: {
70
+ type: String,
71
+ default: "default",
72
+ validator(e) {
73
+ return n.includes(e);
74
+ }
75
+ },
76
+ outlined: {
77
+ type: Boolean,
78
+ default: !1
79
+ },
80
+ activationMode: {
81
+ type: String,
82
+ default: "manual",
83
+ validator(e) {
84
+ return t.includes(e);
85
+ }
86
+ },
87
+ showIndicatorTransition: {
88
+ type: Boolean,
89
+ default: !0
53
90
  }
54
91
  },
55
92
  emits: ["change", "before-change"],
93
+ setup() {
94
+ let e = _(null);
95
+ return {
96
+ tabs: e,
97
+ indicator: d(e, "--tab-indicator-duration", "--tab-indicator-easing")
98
+ };
99
+ },
56
100
  data() {
57
101
  return {
58
102
  provideObj: {
59
103
  selected: "",
60
- disabled: !1
104
+ disabled: !1,
105
+ size: 300,
106
+ kind: "default",
107
+ outlined: !1,
108
+ orientation: "horizontal",
109
+ spread: "none",
110
+ focusedTabId: null
61
111
  },
62
- focusId: null,
63
- tabs: [],
64
- TAB_LIST_SIZE_MODIFIERS: i,
65
- TAB_LIST_KIND_MODIFIERS: n,
66
- TAB_LIST_IMPORTANCE_MODIFIERS: t
112
+ tabItems: [],
113
+ TAB_LIST_SIZE_MODIFIERS: o,
114
+ TAB_LIST_KIND_MODIFIERS: i,
115
+ TAB_LIST_IMPORTANCE_MODIFIERS: r,
116
+ TAB_ORIENTATION_MODIFIERS: c,
117
+ TAB_SPREAD_MODIFIERS: u
67
118
  };
68
119
  },
69
120
  watch: {
@@ -74,9 +125,39 @@ var d = {
74
125
  }
75
126
  },
76
127
  selected: {
128
+ immediate: !0,
129
+ handler(e, t) {
130
+ this.provideObj.selected = this.selected, e !== t && (this.provideObj.focusedTabId = null);
131
+ }
132
+ },
133
+ size: {
77
134
  immediate: !0,
78
135
  handler() {
79
- this.provideObj.selected = this.selected;
136
+ this.provideObj.size = this.size;
137
+ }
138
+ },
139
+ kind: {
140
+ immediate: !0,
141
+ handler() {
142
+ this.provideObj.kind = this.kind;
143
+ }
144
+ },
145
+ outlined: {
146
+ immediate: !0,
147
+ handler() {
148
+ this.provideObj.outlined = this.outlined;
149
+ }
150
+ },
151
+ orientation: {
152
+ immediate: !0,
153
+ handler() {
154
+ this.provideObj.orientation = this.orientation;
155
+ }
156
+ },
157
+ spread: {
158
+ immediate: !0,
159
+ handler() {
160
+ this.provideObj.spread = this.spread;
80
161
  }
81
162
  }
82
163
  },
@@ -88,69 +169,107 @@ var d = {
88
169
  },
89
170
  methods: {
90
171
  updateSelected() {
91
- this.provideObj.selected || (this.provideObj.selected = this.selected), this.tabs = this.getTabChildren();
172
+ this.provideObj.selected || (this.provideObj.selected = this.selected), this.tabItems = this.getTabChildren(), this.provideObj.focusedTabId && !this.tabItems.some((e) => e.tabId === this.provideObj.focusedTabId) && (this.provideObj.focusedTabId = null);
92
173
  },
93
174
  setFocus(e) {
94
- this.focusId = e;
175
+ this.provideObj.focusedTabId !== e && (this.provideObj.focusedTabId = e);
95
176
  },
96
177
  getTabChildren() {
97
- return Array.from(this.$refs.tabs.querySelectorAll(".d-tab")).map((e) => ({
178
+ return Array.from(this.$refs.tabs.querySelectorAll("[role=\"tab\"]")).map((e) => ({
98
179
  context: e,
99
180
  panelId: e.getAttribute("aria-controls")?.replace("dt-panel-", ""),
100
181
  tabId: e.getAttribute("id")?.replace("dt-tab-", ""),
101
- isSelected: e.getAttribute("aria-selected") === "true"
182
+ isSelected: e.getAttribute("aria-selected") === "true",
183
+ isDisabled: e.getAttribute("aria-disabled") === "true"
102
184
  }));
103
185
  },
104
186
  onChange() {
105
187
  this.$emit("change", { ...this.provideObj });
106
188
  },
107
189
  tabLeft() {
190
+ this.orientation === "horizontal" && this.navigatePrevious();
191
+ },
192
+ tabRight() {
193
+ this.orientation === "horizontal" && this.navigateNext();
194
+ },
195
+ tabUp(e) {
196
+ this.orientation === "vertical" && (e.preventDefault(), this.navigatePrevious());
197
+ },
198
+ tabDown(e) {
199
+ this.orientation === "vertical" && (e.preventDefault(), this.navigateNext());
200
+ },
201
+ navigatePrevious() {
108
202
  let e = this.getFocusedTabIndex();
109
203
  if (e === -1) return;
110
- let t = e - 1 < 0 ? this.tabs.length - 1 : e - 1;
204
+ let t = this.findNextTab(e, -1);
111
205
  this.selectFocusOnTab(t);
112
206
  },
113
- tabRight() {
207
+ navigateNext() {
114
208
  let e = this.getFocusedTabIndex();
115
209
  if (e === -1) return;
116
- let t = e + 1 > this.tabs.length - 1 ? 0 : e + 1;
210
+ let t = this.findNextTab(e, 1);
117
211
  this.selectFocusOnTab(t);
118
212
  },
213
+ findNextTab(e, t) {
214
+ let n = this.tabItems.length;
215
+ return (e + t + n) % n;
216
+ },
217
+ transitionIndicator(e, t) {
218
+ if (!t || !this.showIndicatorTransition) {
219
+ this.provideObj.selected = e;
220
+ return;
221
+ }
222
+ let n = this.indicator.snapshot("[aria-selected=\"true\"]");
223
+ this.provideObj.selected = e, n && this.$nextTick(() => {
224
+ let e = { backgroundColor: "transparent" }, r = {}, i = "::after";
225
+ this.outlined ? (e = {
226
+ borderColor: "transparent",
227
+ backgroundColor: "transparent"
228
+ }, r = { boxShadow: `inset 0 0 0 ${n.style.borderWidth} ${n.style.borderColor}` }, i = "::before") : this.kind === "muted" && (r = { backgroundColor: n.style.backgroundColor }, i = "::before"), this.indicator.animate({
229
+ oldRect: n.rect,
230
+ newEl: t,
231
+ orientation: this.orientation,
232
+ hideProps: e,
233
+ indicatorExtra: r,
234
+ pseudoElement: i
235
+ });
236
+ });
237
+ },
119
238
  selectFocusOnTab(e) {
120
- let { context: t } = this.tabs[e];
121
- t.focus();
239
+ let { context: t, panelId: n, isDisabled: r } = this.tabItems[e];
240
+ t.focus(), this.activationMode === "auto" && !r && (this.indicator.cancel(), this.provideObj.selected = n, this.onChange());
122
241
  },
123
242
  selectTab(e) {
124
- if (this.isSameTabClicked() || (this.$emit("before-change", e), e.defaultPrevented)) return;
125
- let t = this.getFocusedTabIndex();
126
- this.selectTabByIndex(t), this.onChange();
243
+ let t = e.target.closest("[role=\"tab\"]"), n = t ? this.tabItems.findIndex((e) => e.context === t) : this.getFocusedTabIndex();
244
+ n !== -1 && (this.tabItems[n]?.isDisabled || this.provideObj.selected !== this.tabItems[n]?.panelId && (this.$emit("before-change", e), !e.defaultPrevented && (e.preventDefault(), this.selectTabByIndex(n), this.onChange())));
127
245
  },
128
246
  selectTabByIndex(e) {
129
- let { context: t, panelId: n } = this.tabs[e];
130
- this.provideObj.selected = n, t.focus();
247
+ let { context: t, panelId: n } = this.tabItems[e];
248
+ this.transitionIndicator(n, t), t.focus();
131
249
  },
132
250
  getFocusedTabIndex() {
133
- let e = this.tabs.findIndex((e) => this.focusId ? e.tabId === `${this.focusId}` : e.isSelected);
134
- return e === -1 ? 0 : e;
251
+ let e = this.provideObj.focusedTabId, t = this.tabItems.findIndex((t) => e ? t.tabId === e : t.isSelected);
252
+ return t === -1 ? 0 : t;
135
253
  },
136
254
  onHomeButton() {
137
- this.tabs.length !== 0 && this.tabs[0]?.context?.focus();
255
+ this.tabItems.length && this.selectFocusOnTab(0);
138
256
  },
139
257
  onEndButton() {
140
- this.tabs.length !== 0 && this.tabs[this.tabs.length - 1]?.context?.focus();
141
- },
142
- isSameTabClicked() {
143
- let e = this.tabs[this.getFocusedTabIndex()];
144
- return this.provideObj.selected === e.panelId;
258
+ this.tabItems.length && this.selectFocusOnTab(this.tabItems.length - 1);
145
259
  }
146
260
  }
147
- }, f = { "data-qa": "dt-tab-group" }, p = ["aria-label"];
148
- function m(e, t, n, r, i, d) {
149
- return c(), a("div", f, [o("div", s({
261
+ }, S = ["aria-label", "aria-orientation"];
262
+ function C(e, t, n, r, i, a) {
263
+ return g(), f("div", {
264
+ "data-qa": "dt-tab-group",
265
+ class: h(["d-tab-neux", { "d-tab-neux--vertical": n.orientation === "vertical" }])
266
+ }, [p("div", m({
150
267
  ref: "tabs",
151
268
  class: [
152
269
  "d-tablist",
153
- i.TAB_LIST_SIZE_MODIFIERS[n.size],
270
+ i.TAB_LIST_SIZE_MODIFIERS[String(n.size)],
271
+ i.TAB_ORIENTATION_MODIFIERS[n.orientation],
272
+ n.orientation !== "vertical" && i.TAB_SPREAD_MODIFIERS[n.spread],
154
273
  {
155
274
  [i.TAB_LIST_KIND_MODIFIERS.inverted]: n.inverted,
156
275
  [i.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: n.borderless
@@ -160,18 +279,22 @@ function m(e, t, n, r, i, d) {
160
279
  }, n.tabListChildProps, {
161
280
  role: "tablist",
162
281
  "aria-label": n.label,
163
- onKeyup: [
164
- t[0] || (t[0] = u((...e) => d.tabLeft && d.tabLeft(...e), ["left"])),
165
- t[1] || (t[1] = u((...e) => d.tabRight && d.tabRight(...e), ["right"])),
166
- t[2] || (t[2] = u((...e) => d.selectTab && d.selectTab(...e), ["enter"])),
167
- t[3] || (t[3] = u((...e) => d.selectTab && d.selectTab(...e), ["space"]))
282
+ "aria-orientation": n.orientation,
283
+ onKeydown: [
284
+ t[0] || (t[0] = y((...e) => a.tabLeft && a.tabLeft(...e), ["left"])),
285
+ t[1] || (t[1] = y((...e) => a.tabRight && a.tabRight(...e), ["right"])),
286
+ t[2] || (t[2] = y((...e) => a.tabUp && a.tabUp(...e), ["up"])),
287
+ t[3] || (t[3] = y((...e) => a.tabDown && a.tabDown(...e), ["down"])),
288
+ t[4] || (t[4] = y((...e) => a.selectTab && a.selectTab(...e), ["enter"])),
289
+ t[5] || (t[5] = y((...e) => a.selectTab && a.selectTab(...e), ["space"])),
290
+ t[7] || (t[7] = y(b((...e) => a.onHomeButton && a.onHomeButton(...e), ["prevent"]), ["home"])),
291
+ t[8] || (t[8] = y(b((...e) => a.onEndButton && a.onEndButton(...e), ["prevent"]), ["end"]))
168
292
  ],
169
- onClick: t[4] || (t[4] = (...e) => d.selectTab && d.selectTab(...e)),
170
- onKeydown: [t[5] || (t[5] = u((...e) => d.onHomeButton && d.onHomeButton(...e), ["home"])), t[6] || (t[6] = u((...e) => d.onEndButton && d.onEndButton(...e), ["end"]))]
171
- }), [l(e.$slots, "tabs")], 16, p), l(e.$slots, "default")]);
293
+ onClick: t[6] || (t[6] = (...e) => a.selectTab && a.selectTab(...e))
294
+ }), [v(e.$slots, "tabs")], 16, S), v(e.$slots, "default")], 2);
172
295
  }
173
- var h = /* @__PURE__ */ e(d, [["render", m]]);
296
+ var w = /* @__PURE__ */ e(x, [["render", C]]);
174
297
  //#endregion
175
- export { h as default };
298
+ export { w as default };
176
299
 
177
300
  //# sourceMappingURL=tab-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-group.js","names":[],"sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index - 1 < 0 ? this.tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement);\n },\n\n tabRight () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const indexElement = index + 1 > this.tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement);\n },\n\n selectFocusOnTab (index) {\n const { context } = this.tabs[index];\n context.focus();\n },\n\n selectTab (event) {\n if (this.isSameTabClicked()) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n const index = this.getFocusedTabIndex();\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getFocusedTabIndex () {\n // Hot fix https://github.com/dialpad/dialtone/pull/849\n // The main issue is that this.tabs is not being updated at the time this is being triggered.\n\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.tabId === `${this.focusId}` : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n\n isSameTabClicked () {\n const tab = this.tabs[this.getFocusedTabIndex()];\n return this.provideObj.selected === tab.panelId;\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"tab-group.js","names":[],"sources":["../../../components/tab/tab_group.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-tab-group\"\n :class=\"['d-tab-neux', { 'd-tab-neux--vertical': orientation === 'vertical' }]\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[String(size)],\n TAB_ORIENTATION_MODIFIERS[orientation],\n orientation !== 'vertical' && TAB_SPREAD_MODIFIERS[spread],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n :aria-orientation=\"orientation\"\n @keydown.left=\"tabLeft\"\n @keydown.right=\"tabRight\"\n @keydown.up=\"tabUp\"\n @keydown.down=\"tabDown\"\n @keydown.enter=\"selectTab\"\n @keydown.space=\"selectTab\"\n @click=\"selectTab\"\n @keydown.home.prevent=\"onHomeButton\"\n @keydown.end.prevent=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n TAB_ORIENTATIONS,\n TAB_ORIENTATION_MODIFIERS,\n TAB_ACTIVATION_MODES,\n TAB_GROUP_KINDS,\n TAB_SPREADS,\n TAB_SPREAD_MODIFIERS,\n} from './tabs_constants';\nimport { ref } from 'vue';\nimport { useIndicatorAnimation } from '@/common/composables/useIndicatorAnimation';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @deprecated Use v-dt-mode directive instead.\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how tabs distribute available space within the tab list.\n * @values none, grow, equal\n */\n spread: {\n type: String,\n default: 'none',\n validator (value) {\n return TAB_SPREADS.includes(value);\n },\n },\n\n /**\n * The orientation of the tab list\n * @values horizontal, vertical\n */\n orientation: {\n type: String,\n default: 'horizontal',\n validator (value) {\n return TAB_ORIENTATIONS.includes(value);\n },\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator (size) {\n return TAB_LIST_SIZES.includes(String(size));\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * The visual style kind applied to tabs within this group.\n * Maps to specific DtButton kind/importance combinations for selected/unselected states.\n * @values default, muted\n */\n kind: {\n type: String,\n default: 'default',\n validator (value) {\n return TAB_GROUP_KINDS.includes(value);\n },\n },\n\n /**\n * If true, the selected tab renders with outlined importance instead of clear.\n * @values true, false\n */\n outlined: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether tabs are selected on focus (auto) or on click/keypress (manual)\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: 'manual',\n validator (value) {\n return TAB_ACTIVATION_MODES.includes(value);\n },\n },\n\n /**\n * If true, the selection indicator animates between tabs on click.\n * @values true, false\n */\n showIndicatorTransition: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n\n /**\n * Before change tab event with the event argument, useful to perform validations and prevent changing tabs if neccessary.\n *\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n ],\n\n setup () {\n const tabs = ref(null);\n const indicator = useIndicatorAnimation(\n tabs, '--tab-indicator-duration', '--tab-indicator-easing',\n );\n return { tabs, indicator };\n },\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n size: 300,\n kind: 'default',\n outlined: false,\n orientation: 'horizontal',\n spread: 'none',\n focusedTabId: null, // tracks last-focused tab for roving tabindex\n },\n\n tabItems: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_ORIENTATION_MODIFIERS,\n TAB_SPREAD_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler (newVal, oldVal) {\n this.provideObj.selected = this.selected;\n if (newVal !== oldVal) {\n this.provideObj.focusedTabId = null;\n }\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.provideObj.size = this.size;\n },\n },\n\n kind: {\n immediate: true,\n handler () {\n this.provideObj.kind = this.kind;\n },\n },\n\n outlined: {\n immediate: true,\n handler () {\n this.provideObj.outlined = this.outlined;\n },\n },\n\n orientation: {\n immediate: true,\n handler () {\n this.provideObj.orientation = this.orientation;\n },\n },\n\n spread: {\n immediate: true,\n handler () {\n this.provideObj.spread = this.spread;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n updated () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabItems = this.getTabChildren();\n\n // Clear stale focusedTabId if the focused tab was removed\n if (this.provideObj.focusedTabId && !this.tabItems.some(t => t.tabId === this.provideObj.focusedTabId)) {\n this.provideObj.focusedTabId = null;\n }\n },\n\n setFocus (focusId) {\n if (this.provideObj.focusedTabId !== focusId) {\n this.provideObj.focusedTabId = focusId;\n }\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('[role=\"tab\"]'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n tabId: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n isDisabled: el.getAttribute('aria-disabled') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n tabLeft () {\n if (this.orientation !== 'horizontal') return;\n this.navigatePrevious();\n },\n\n tabRight () {\n if (this.orientation !== 'horizontal') return;\n this.navigateNext();\n },\n\n tabUp (event) {\n if (this.orientation !== 'vertical') return;\n event.preventDefault();\n this.navigatePrevious();\n },\n\n tabDown (event) {\n if (this.orientation !== 'vertical') return;\n event.preventDefault();\n this.navigateNext();\n },\n\n navigatePrevious () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, -1);\n this.selectFocusOnTab(nextIndex);\n },\n\n navigateNext () {\n const index = this.getFocusedTabIndex();\n if (index === -1) return;\n\n const nextIndex = this.findNextTab(index, 1);\n this.selectFocusOnTab(nextIndex);\n },\n\n findNextTab (fromIndex, direction) {\n const len = this.tabItems.length;\n return (fromIndex + direction + len) % len;\n },\n\n transitionIndicator (panelId, newContext) {\n if (!newContext || !this.showIndicatorTransition) {\n this.provideObj.selected = panelId;\n return;\n }\n\n const old = this.indicator.snapshot('[aria-selected=\"true\"]');\n\n this.provideObj.selected = panelId;\n if (!old) return;\n\n this.$nextTick(() => {\n let hideProps = { backgroundColor: 'transparent' };\n let indicatorExtra = {};\n let pseudoElement = '::after';\n\n if (this.outlined) {\n hideProps = { borderColor: 'transparent', backgroundColor: 'transparent' };\n indicatorExtra = { boxShadow: `inset 0 0 0 ${old.style.borderWidth} ${old.style.borderColor}` };\n pseudoElement = '::before';\n } else if (this.kind === 'muted') {\n indicatorExtra = { backgroundColor: old.style.backgroundColor };\n pseudoElement = '::before';\n }\n\n this.indicator.animate({\n oldRect: old.rect,\n newEl: newContext,\n orientation: this.orientation,\n hideProps,\n indicatorExtra,\n pseudoElement,\n });\n });\n },\n\n selectFocusOnTab (index) {\n const { context, panelId, isDisabled } = this.tabItems[index];\n context.focus();\n if (this.activationMode === 'auto' && !isDisabled) {\n this.indicator.cancel();\n this.provideObj.selected = panelId;\n this.onChange();\n }\n },\n\n selectTab (event) {\n const tabEl = event.target.closest('[role=\"tab\"]');\n const index = tabEl\n ? this.tabItems.findIndex(t => t.context === tabEl)\n : this.getFocusedTabIndex();\n\n if (index === -1) return;\n if (this.tabItems[index]?.isDisabled) return;\n if (this.provideObj.selected === this.tabItems[index]?.panelId) return;\n\n this.$emit('before-change', event);\n if (event.defaultPrevented) return;\n\n // Prevent keyboard defaults (Space scroll, Enter form submit)\n // after confirming the tab change will proceed\n event.preventDefault();\n\n this.selectTabByIndex(index);\n this.onChange();\n },\n\n selectTabByIndex (index) {\n const { context, panelId } = this.tabItems[index];\n this.transitionIndicator(panelId, context);\n context.focus();\n },\n\n getFocusedTabIndex () {\n const focusedId = this.provideObj.focusedTabId;\n const index = this.tabItems.findIndex((context) =>\n focusedId ? context.tabId === focusedId : context.isSelected,\n );\n\n return index === -1 ? 0 : index;\n },\n\n onHomeButton () {\n if (this.tabItems.length) this.selectFocusOnTab(0);\n },\n\n onEndButton () {\n if (this.tabItems.length) this.selectFocusOnTab(this.tabItems.length - 1);\n },\n\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`../button/button.cjs`),n=require(`./tabs-constants.cjs`);let r=require(`vue`);var i={compatConfig:{MODE:3},name:`DtTab`,components:{DtButton:t.default},inject:[`groupContext`,`setFocus`],inheritAttrs:!1,props:{id:{type:String,required:!0},panelId:{type:String,required:!0},label:{type:String,default:``},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tabClass:{type:[String,Array,Object],default:``}},emits:[`focus`,`click`],data(){return{TAB_IMPORTANCE_MODIFIERS:n.TAB_IMPORTANCE_MODIFIERS}},computed:{tabListeners(){return{click:e=>{this.$emit(`click`,e)},focus:e=>{this.setFocus(this.id),this.$emit(`focus`,e)}}},isSelected(){return this.groupContext.selected===this.panelId}},mounted(){this.selected&&(this.groupContext.selected=this.panelId)}};function a(e,t,n,i,a,o){let s=(0,r.resolveComponent)(`dt-button`);return(0,r.openBlock)(),(0,r.createBlock)(s,(0,r.mergeProps)({id:`dt-tab-${n.id}`,class:[`d-tab`,{[a.TAB_IMPORTANCE_MODIFIERS.selected]:o.isSelected},n.tabClass],role:`tab`,"aria-selected":`${o.isSelected}`,"aria-controls":`dt-panel-${n.panelId}`,"aria-label":n.label,"data-qa":`dt-tab`,tabindex:o.isSelected?`0`:`-1`,disabled:o.groupContext.disabled||n.disabled},e.$attrs,(0,r.toHandlers)(o.tabListeners)),{default:(0,r.withCtx)(()=>[(0,r.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`class`,`aria-selected`,`aria-controls`,`aria-label`,`tabindex`,`disabled`])}var o=e.t(i,[[`render`,a]]);exports.default=o;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),t=require(`../button/button.cjs`);let n=require(`vue`);var r={compatConfig:{MODE:3},name:`DtTab`,components:{DtButton:t.default},inject:[`groupContext`,`setFocus`],inheritAttrs:!1,props:{id:{type:String,required:!0},panelId:{type:String,required:!0},label:{type:String,default:``},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tabClass:{type:[String,Array,Object],default:``},labelClass:{type:[String,Array,Object],default:``},leadingClass:{type:[String,Array,Object],default:``},trailingClass:{type:[String,Array,Object],default:``}},emits:[`focus`,`click`],computed:{tabListeners(){return{click:e=>{this.$emit(`click`,e)},focus:e=>{this.setFocus(this.id),this.$emit(`focus`,e)}}},isDisabled(){return this.groupContext.disabled||this.disabled},buttonSize(){let e=this.groupContext.size;return e===`default`?void 0:e},isSelected(){return this.groupContext.selected===this.panelId},isFocusTarget(){let e=this.groupContext.focusedTabId;return e?e===this.id:this.isSelected},buttonKind(){return this.groupContext.outlined?this.groupContext.kind===`muted`?`muted`:`default`:this.groupContext.kind===`muted`?`muted`:this.isSelected?`default`:`muted`},buttonImportance(){return this.groupContext.outlined&&this.isSelected?`outlined`:`clear`},buttonActive(){return this.groupContext.outlined?!1:this.groupContext.kind===`muted`?this.isSelected:!1}},mounted(){this.selected&&(this.groupContext.selected=this.panelId)},beforeUnmount(){this.groupContext.focusedTabId===this.id&&this.setFocus(null)},methods:{}};function i(e,t,r,i,a,o){let s=(0,n.resolveComponent)(`dt-button`);return(0,n.openBlock)(),(0,n.createBlock)(s,(0,n.mergeProps)({id:`dt-tab-${r.id}`,class:[`d-tablist__item`,r.tabClass,{"d-tablist__item--vertical":o.groupContext.orientation===`vertical`},{"d-btn--disabled":o.isDisabled},{"d-tab--is-selected":!o.groupContext.outlined&&o.groupContext.kind!==`muted`&&o.isSelected}],importance:o.buttonImportance,kind:o.buttonKind,active:o.buttonActive,size:o.buttonSize,role:`tab`,"aria-selected":`${o.isSelected}`,"aria-controls":`dt-panel-${r.panelId}`,"aria-label":r.label,"aria-disabled":o.isDisabled?`true`:void 0,"label-class":r.labelClass,"leading-class":r.leadingClass,"trailing-class":r.trailingClass,"data-qa":`dt-tab`,tabindex:o.isFocusTarget?`0`:`-1`},e.$attrs,(0,n.toHandlers)(o.tabListeners)),(0,n.createSlots)({default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:2},[e.$slots.startIcon?{name:`startIcon`,fn:(0,n.withCtx)(({iconSize:t})=>[(0,n.renderSlot)(e.$slots,`startIcon`,{iconSize:t})]),key:`0`}:e.$slots.icon?{name:`startIcon`,fn:(0,n.withCtx)(({iconSize:t})=>[(0,n.renderSlot)(e.$slots,`icon`,{iconSize:t})]),key:`1`}:void 0,e.$slots.endIcon?{name:`endIcon`,fn:(0,n.withCtx)(({iconSize:t})=>[(0,n.renderSlot)(e.$slots,`endIcon`,{iconSize:t})]),key:`2`}:void 0,e.$slots.leading?{name:`leading`,fn:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`leading`)]),key:`3`}:void 0,e.$slots.trailing?{name:`trailing`,fn:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`trailing`)]),key:`4`}:void 0]),1040,[`id`,`class`,`importance`,`kind`,`active`,`size`,`aria-selected`,`aria-controls`,`aria-label`,`aria-disabled`,`label-class`,`leading-class`,`trailing-class`,`tabindex`])}var a=e.t(r,[[`render`,i]]);exports.default=a;
2
2
  //# sourceMappingURL=tab.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab.cjs","names":[],"sources":["../../../components/tab/tab.vue"],"sourcesContent":["<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n if (this.selected) {\n this.groupContext.selected = this.panelId;\n }\n },\n};\n</script>\n"],"mappings":"4RAiCA,IAAK,EAAU,CACb,aAAc,CAAE,KAAM,EAAG,CACzB,KAAM,QACN,WAAY,CACV,SAAA,EAAA,QACD,CAED,OAAQ,CAAC,eAAgB,WAAW,CAEpC,aAAc,GAEd,MAAO,CAIL,GAAI,CACF,KAAM,OACN,SAAU,GACX,CAKD,QAAS,CACP,KAAM,OACN,SAAU,GACX,CAKD,MAAO,CACL,KAAM,OACN,QAAS,GACV,CAMD,SAAU,CACR,KAAM,QACN,QAAS,GACV,CAMD,SAAU,CACR,KAAM,QACN,QAAS,GACV,CAKD,SAAU,CACR,KAAM,CAAC,OAAQ,MAAO,OAAO,CAC7B,QAAS,GACV,CACF,CAED,MAAO,CAOL,QAQA,QACD,CAED,MAAQ,CACN,MAAO,CACL,yBAAA,EAAA,yBACD,EAGH,SAAU,CACR,cAAgB,CACd,MAAO,CACL,MAAO,GAAS,CACd,KAAK,MAAM,QAAS,EAAM,EAG5B,MAAO,GAAS,CACd,KAAK,SAAS,KAAK,GAAG,CACtB,KAAK,MAAM,QAAS,EAAM,EAE7B,EAGH,YAAc,CACZ,OAAO,KAAK,aAAa,WAAa,KAAK,SAE9C,CAED,SAAW,CACL,KAAK,WACP,KAAK,aAAa,SAAW,KAAK,UAGvC,6GA1Ha,GAAA,EAAA,EAAA,YAAA,CApBT,GAAE,UAAY,EAAA,KACd,MAAK,WAAoC,EAAA,yBAAyB,UAAW,EAAA,WAAA,CAA2B,EAAA,UAOzG,KAAK,MACJ,gBAAa,GAAK,EAAA,aAClB,gBAAa,YAAc,EAAA,UAC3B,aAAY,EAAA,MACb,UAAQ,SACP,SAAU,EAAA,WAAU,IAAA,KACpB,SAAU,EAAA,aAAa,UAAY,EAAA,UAC5B,EAAA,QAAA,EAAA,EAAA,YACW,EAAb,aAAY,CAAA,CAAA,2BAGV,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"tab.cjs","names":[],"sources":["../../../components/tab/tab.vue"],"sourcesContent":["<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tablist__item',\n tabClass,\n { 'd-tablist__item--vertical': groupContext.orientation === 'vertical' },\n { 'd-btn--disabled': isDisabled },\n { 'd-tab--is-selected': !groupContext.outlined && groupContext.kind !== 'muted' && isSelected },\n ]\"\n :importance=\"buttonImportance\"\n :kind=\"buttonKind\"\n :active=\"buttonActive\"\n :size=\"buttonSize\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n :aria-disabled=\"isDisabled ? 'true' : undefined\"\n :label-class=\"labelClass\"\n :leading-class=\"leadingClass\"\n :trailing-class=\"trailingClass\"\n data-qa=\"dt-tab\"\n :tabindex=\"isFocusTarget ? '0' : '-1'\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot Icon displayed at the start (left in LTR) of the tab -->\n <template\n v-if=\"$slots.startIcon\"\n #startIcon=\"{ iconSize }\"\n >\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <!-- @slot @deprecated Use startIcon -->\n <template\n v-else-if=\"$slots.icon\"\n #startIcon=\"{ iconSize }\"\n >\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <!-- @slot Icon displayed at the end (right in LTR) of the tab -->\n <template\n v-if=\"$slots.endIcon\"\n #endIcon=\"{ iconSize }\"\n >\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.leading\"\n #leading\n >\n <slot name=\"leading\" />\n </template>\n <template\n v-if=\"$slots.trailing\"\n #trailing\n >\n <slot name=\"trailing\" />\n </template>\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the leading container\n */\n leadingClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the trailing container\n */\n trailingClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isDisabled () {\n return this.groupContext.disabled || this.disabled;\n },\n\n buttonSize () {\n const size = this.groupContext.size;\n return size === 'default' ? undefined : size;\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n\n isFocusTarget () {\n const focusedId = this.groupContext.focusedTabId;\n return focusedId ? focusedId === this.id : this.isSelected;\n },\n\n buttonKind () {\n if (this.groupContext.outlined) {\n return this.groupContext.kind === 'muted' ? 'muted' : 'default';\n }\n if (this.groupContext.kind === 'muted') {\n return 'muted';\n }\n return this.isSelected ? 'default' : 'muted';\n },\n\n buttonImportance () {\n if (this.groupContext.outlined && this.isSelected) {\n return 'outlined';\n }\n return 'clear';\n },\n\n buttonActive () {\n if (this.groupContext.outlined) {\n return false;\n }\n if (this.groupContext.kind === 'muted') {\n return this.isSelected;\n }\n return false;\n },\n },\n\n mounted () {\n if (this.selected) {\n this.groupContext.selected = this.panelId;\n }\n },\n\n beforeUnmount () {\n if (this.groupContext.focusedTabId === this.id) {\n this.setFocus(null);\n }\n },\n\n methods: {\n },\n};\n</script>\n"],"mappings":"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"}