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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1010) hide show
  1. package/dist/attachment_carousel-BHxR7A76.cjs +2 -0
  2. package/dist/attachment_carousel-BHxR7A76.cjs.map +1 -0
  3. package/dist/{attachment_carousel-1qxTI-NN.js → attachment_carousel-CouFqFMw.js} +5 -5
  4. package/dist/attachment_carousel-CouFqFMw.js.map +1 -0
  5. package/dist/{combobox-BQBKrDTW.js → combobox-DgClbLOg.js} +35 -36
  6. package/dist/combobox-DgClbLOg.js.map +1 -0
  7. package/dist/combobox-DhjZxfUw.cjs +3 -0
  8. package/dist/combobox-DhjZxfUw.cjs.map +1 -0
  9. package/dist/common/constants/index.cjs +1 -1
  10. package/dist/common/constants/index.cjs.map +1 -1
  11. package/dist/common/constants/index.d.ts +21 -27
  12. package/dist/common/constants/index.d.ts.map +1 -1
  13. package/dist/common/constants/index.js +14 -25
  14. package/dist/common/constants/index.js.map +1 -1
  15. package/dist/common/mixins/index.cjs +1 -1
  16. package/dist/common/mixins/index.d.ts +0 -1
  17. package/dist/common/mixins/index.js +1 -2
  18. package/dist/common/mixins/input-group.cjs +1 -1
  19. package/dist/common/mixins/input-group.cjs.map +1 -1
  20. package/dist/common/mixins/input-group.js +2 -2
  21. package/dist/common/mixins/input-group.js.map +1 -1
  22. package/dist/common/mixins/input.cjs +1 -1
  23. package/dist/common/mixins/input.cjs.map +1 -1
  24. package/dist/common/mixins/input.d.ts +33 -27
  25. package/dist/common/mixins/input.d.ts.map +1 -1
  26. package/dist/common/mixins/input.js +8 -0
  27. package/dist/common/mixins/input.js.map +1 -1
  28. package/dist/common/sr_only_close_button.vue.d.ts +7 -98
  29. package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
  30. package/dist/common/utils/index.cjs +1 -1
  31. package/dist/common/utils/index.cjs.map +1 -1
  32. package/dist/common/utils/index.d.ts +8 -2
  33. package/dist/common/utils/index.d.ts.map +1 -1
  34. package/dist/common/utils/index.js +88 -79
  35. package/dist/common/utils/index.js.map +1 -1
  36. package/dist/component-documentation.json +1 -1
  37. package/dist/components/avatar/avatar.vue.d.ts +27 -85
  38. package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
  39. package/dist/components/avatar/avatar_constants.d.ts +29 -86
  40. package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
  41. package/dist/components/avatar/index.d.ts +1 -1
  42. package/dist/components/badge/badge.vue.d.ts +1 -19
  43. package/dist/components/badge/badge.vue.d.ts.map +1 -1
  44. package/dist/components/badge/badge_constants.d.ts +1 -1
  45. package/dist/components/banner/banner.vue.d.ts +50 -447
  46. package/dist/components/banner/banner.vue.d.ts.map +1 -1
  47. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +17 -27
  48. package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  49. package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +16 -35
  50. package/dist/components/button/button.vue.d.ts +7 -98
  51. package/dist/components/button/button.vue.d.ts.map +1 -1
  52. package/dist/components/button/button_constants.d.ts +20 -29
  53. package/dist/components/button/button_constants.d.ts.map +1 -1
  54. package/dist/components/card/card.vue.d.ts +11 -2
  55. package/dist/components/card/card.vue.d.ts.map +1 -1
  56. package/dist/components/checkbox/checkbox.vue.d.ts +11 -183
  57. package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
  58. package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
  59. package/dist/components/checkbox_group/checkbox_group.vue.d.ts +15 -145
  60. package/dist/components/chip/chip.vue.d.ts +16 -125
  61. package/dist/components/chip/chip.vue.d.ts.map +1 -1
  62. package/dist/components/chip/chip_constants.d.ts +21 -24
  63. package/dist/components/chip/chip_constants.d.ts.map +1 -1
  64. package/dist/components/codeblock/codeblock.vue.d.ts +2 -25
  65. package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
  66. package/dist/components/collapsible/collapsible.vue.d.ts +11 -102
  67. package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
  68. package/dist/components/combobox/combobox.vue.d.ts +85 -160
  69. package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
  70. package/dist/components/combobox/combobox_empty-list.vue.d.ts +28 -61
  71. package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  72. package/dist/components/combobox/combobox_loading-list.vue.d.ts +48 -90
  73. package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  74. package/dist/components/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  75. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +13 -16
  76. package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
  77. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +196 -610
  78. package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  79. package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  80. package/dist/components/dropdown/dropdown.vue.d.ts +28 -292
  81. package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
  82. package/dist/components/emoji/emoji.vue.d.ts +20 -29
  83. package/dist/components/emoji_picker/emoji_picker.vue.d.ts +25 -225
  84. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +25 -225
  85. package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  86. package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  87. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +20 -29
  88. package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  89. package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
  90. package/dist/components/empty_state/empty_state_constants.d.ts +31 -52
  91. package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
  92. package/dist/components/hovercard/hovercard.vue.d.ts +57 -596
  93. package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
  94. package/dist/components/image_viewer/image_viewer.vue.d.ts +17 -224
  95. package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  96. package/dist/components/input/input.vue.d.ts +21 -214
  97. package/dist/components/input/input.vue.d.ts.map +1 -1
  98. package/dist/components/input/input_constants.d.ts +48 -46
  99. package/dist/components/input/input_constants.d.ts.map +1 -1
  100. package/dist/components/input_group/input_group.vue.d.ts +0 -142
  101. package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
  102. package/dist/components/item_layout/item_layout.vue.d.ts +27 -58
  103. package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
  104. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +0 -142
  105. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  106. package/dist/components/link/index.d.ts +1 -1
  107. package/dist/components/link/link.vue.d.ts +6 -26
  108. package/dist/components/link/link_constants.d.ts +4 -6
  109. package/dist/components/link/link_constants.d.ts.map +1 -1
  110. package/dist/components/list_item/list_item.vue.d.ts +28 -61
  111. package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
  112. package/dist/components/modal/modal.vue.d.ts +108 -411
  113. package/dist/components/modal/modal.vue.d.ts.map +1 -1
  114. package/dist/components/modal/modal_constants.d.ts +6 -7
  115. package/dist/components/motion_text/motion_text_constants.d.ts +23 -27
  116. package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
  117. package/dist/components/notice/notice.vue.d.ts +50 -447
  118. package/dist/components/notice/notice.vue.d.ts.map +1 -1
  119. package/dist/components/notice/notice_action.vue.d.ts +20 -211
  120. package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
  121. package/dist/components/notice/notice_constants.d.ts.map +1 -1
  122. package/dist/components/notice/notice_content.vue.d.ts +9 -170
  123. package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
  124. package/dist/components/notice/notice_icon.vue.d.ts +2 -11
  125. package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
  126. package/dist/components/pagination/pagination.vue.d.ts +10 -101
  127. package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
  128. package/dist/components/popover/popover.vue.d.ts +23 -267
  129. package/dist/components/popover/popover.vue.d.ts.map +1 -1
  130. package/dist/components/popover/popover_header_footer.vue.d.ts +7 -107
  131. package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  132. package/dist/components/radio/radio.vue.d.ts +8 -179
  133. package/dist/components/radio/radio.vue.d.ts.map +1 -1
  134. package/dist/components/radio/radio_constants.d.ts +2 -2
  135. package/dist/components/radio_group/radio_group.vue.d.ts +2 -143
  136. package/dist/components/resizable/resizable_constants.d.ts.map +1 -1
  137. package/dist/components/resizable/resizable_panel.vue.d.ts +0 -2
  138. package/dist/components/resizable/resizable_panel.vue.d.ts.map +1 -1
  139. package/dist/components/resizable/resizable_utils.d.ts.map +1 -1
  140. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +6 -26
  141. package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  142. package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  143. package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +20 -29
  144. package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +20 -29
  145. package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +6 -26
  146. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +27 -227
  147. package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  148. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +1 -144
  149. package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  150. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +28 -61
  151. package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  152. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +51 -597
  153. package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  154. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +15 -105
  155. package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  156. package/dist/components/root_layout/root_layout.vue.d.ts +2 -2
  157. package/dist/components/root_layout/root_layout_constants.d.ts +0 -2
  158. package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
  159. package/dist/components/scroller/modules/core_scroller.vue.d.ts +4 -4
  160. package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +24 -24
  161. package/dist/components/scroller/scroller.vue.d.ts +34 -34
  162. package/dist/components/select_menu/select_menu.vue.d.ts +34 -190
  163. package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
  164. package/dist/components/select_menu/select_menu_constants.d.ts +9 -14
  165. package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
  166. package/dist/components/skeleton/skeleton-list-item.vue.d.ts +12 -15
  167. package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +2 -5
  168. package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
  169. package/dist/components/skeleton/skeleton-text.vue.d.ts +1 -4
  170. package/dist/components/skeleton/skeleton.vue.d.ts +20 -29
  171. package/dist/components/skeleton/skeleton_constants.d.ts +13 -18
  172. package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
  173. package/dist/components/split_button/{split_button-start.vue.d.ts → split_button-alpha.vue.d.ts} +11 -170
  174. package/dist/components/split_button/split_button-alpha.vue.d.ts.map +1 -0
  175. package/dist/components/split_button/{split_button-end.vue.d.ts → split_button-omega.vue.d.ts} +13 -109
  176. package/dist/components/split_button/split_button-omega.vue.d.ts.map +1 -0
  177. package/dist/components/split_button/split_button.vue.d.ts +87 -809
  178. package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
  179. package/dist/components/split_button/split_button_constants.d.ts +7 -12
  180. package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
  181. package/dist/components/stack/stack_constants.d.ts.map +1 -1
  182. package/dist/components/tab/index.d.ts +1 -1
  183. package/dist/components/tab/tab.vue.d.ts +11 -131
  184. package/dist/components/tab/tab.vue.d.ts.map +1 -1
  185. package/dist/components/tab/tab_group.vue.d.ts +13 -139
  186. package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
  187. package/dist/components/tab/tabs_constants.d.ts +5 -23
  188. package/dist/components/tab/tabs_constants.d.ts.map +1 -1
  189. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +45 -442
  190. package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  191. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -11
  192. package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
  193. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +48 -445
  194. package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  195. package/dist/components/toast/toast.vue.d.ts +212 -1836
  196. package/dist/components/toast/toast.vue.d.ts.map +1 -1
  197. package/dist/components/toggle/toggle.vue.d.ts +21 -20
  198. package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
  199. package/dist/components/toggle/toggle_constants.d.ts +4 -6
  200. package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
  201. package/dist/components/tooltip/tooltip.vue.d.ts +8 -43
  202. package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
  203. package/dist/datepicker-DprRX9AH.cjs +2 -0
  204. package/dist/datepicker-DprRX9AH.cjs.map +1 -0
  205. package/dist/{datepicker-B2nhxiCg.js → datepicker-LVDRC6Lf.js} +24 -20
  206. package/dist/datepicker-LVDRC6Lf.js.map +1 -0
  207. package/dist/dialtone-vue.cjs +1 -1
  208. package/dist/dialtone-vue.css +1 -1
  209. package/dist/dialtone-vue.js +151 -174
  210. package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
  211. package/dist/emoji_picker-Cl-T4BXK.cjs +2 -0
  212. package/dist/emoji_picker-Cl-T4BXK.cjs.map +1 -0
  213. package/dist/{emoji_picker-BjgAohQy.js → emoji_picker-tVHfpHDk.js} +8 -9
  214. package/dist/emoji_picker-tVHfpHDk.js.map +1 -0
  215. package/dist/index.d.ts +0 -9
  216. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  217. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  218. package/dist/lib/attachment-carousel/index.cjs +1 -1
  219. package/dist/lib/attachment-carousel/index.js +1 -1
  220. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  221. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  222. package/dist/lib/avatar/avatar-constants.js +24 -111
  223. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  224. package/dist/lib/avatar/avatar.cjs +1 -1
  225. package/dist/lib/avatar/avatar.cjs.map +1 -1
  226. package/dist/lib/avatar/avatar.js +84 -145
  227. package/dist/lib/avatar/avatar.js.map +1 -1
  228. package/dist/lib/avatar/index.cjs +1 -1
  229. package/dist/lib/avatar/index.js +3 -3
  230. package/dist/lib/badge/badge-constants.cjs +1 -1
  231. package/dist/lib/badge/badge-constants.cjs.map +1 -1
  232. package/dist/lib/badge/badge-constants.js +1 -1
  233. package/dist/lib/badge/badge-constants.js.map +1 -1
  234. package/dist/lib/badge/badge.cjs +1 -1
  235. package/dist/lib/badge/badge.cjs.map +1 -1
  236. package/dist/lib/badge/badge.js +23 -51
  237. package/dist/lib/badge/badge.js.map +1 -1
  238. package/dist/lib/banner/banner.cjs +2 -2
  239. package/dist/lib/banner/banner.cjs.map +1 -1
  240. package/dist/lib/banner/banner.js +24 -71
  241. package/dist/lib/banner/banner.js.map +1 -1
  242. package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
  243. package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  244. package/dist/lib/breadcrumbs/breadcrumb-item.js +38 -29
  245. package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  246. package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  247. package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  248. package/dist/lib/breadcrumbs/breadcrumbs.js +2 -10
  249. package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  250. package/dist/lib/button/button-constants.cjs +1 -1
  251. package/dist/lib/button/button-constants.cjs.map +1 -1
  252. package/dist/lib/button/button-constants.js +3 -17
  253. package/dist/lib/button/button-constants.js.map +1 -1
  254. package/dist/lib/button/button.cjs +1 -1
  255. package/dist/lib/button/button.cjs.map +1 -1
  256. package/dist/lib/button/button.js +19 -162
  257. package/dist/lib/button/button.js.map +1 -1
  258. package/dist/lib/button-group/button-group.cjs.map +1 -1
  259. package/dist/lib/button-group/button-group.js.map +1 -1
  260. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  261. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  262. package/dist/lib/callbar-button/callbar-button.js +27 -26
  263. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  264. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  265. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  266. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +36 -45
  267. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  268. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  269. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  270. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -47
  271. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  272. package/dist/lib/callbox/callbox.cjs +1 -1
  273. package/dist/lib/callbox/callbox.cjs.map +1 -1
  274. package/dist/lib/callbox/callbox.js +8 -8
  275. package/dist/lib/callbox/callbox.js.map +1 -1
  276. package/dist/lib/card/card.cjs +1 -1
  277. package/dist/lib/card/card.cjs.map +1 -1
  278. package/dist/lib/card/card.js +18 -10
  279. package/dist/lib/card/card.js.map +1 -1
  280. package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
  281. package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
  282. package/dist/lib/checkbox/checkbox-constants.js +2 -2
  283. package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
  284. package/dist/lib/checkbox/checkbox.cjs +1 -1
  285. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  286. package/dist/lib/checkbox/checkbox.js +30 -80
  287. package/dist/lib/checkbox/checkbox.js.map +1 -1
  288. package/dist/lib/checkbox-group/checkbox-group.cjs +1 -1
  289. package/dist/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  290. package/dist/lib/checkbox-group/checkbox-group.js +12 -6
  291. package/dist/lib/checkbox-group/checkbox-group.js.map +1 -1
  292. package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
  293. package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  294. package/dist/lib/checkbox-group/checkboxes-decorator.js +1 -0
  295. package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  296. package/dist/lib/chip/chip-constants.cjs +1 -1
  297. package/dist/lib/chip/chip-constants.cjs.map +1 -1
  298. package/dist/lib/chip/chip-constants.js +0 -9
  299. package/dist/lib/chip/chip-constants.js.map +1 -1
  300. package/dist/lib/chip/chip.cjs +1 -1
  301. package/dist/lib/chip/chip.cjs.map +1 -1
  302. package/dist/lib/chip/chip.js +26 -43
  303. package/dist/lib/chip/chip.js.map +1 -1
  304. package/dist/lib/codeblock/codeblock.cjs +2 -1
  305. package/dist/lib/codeblock/codeblock.cjs.map +1 -1
  306. package/dist/lib/codeblock/codeblock.js +14 -25
  307. package/dist/lib/codeblock/codeblock.js.map +1 -1
  308. package/dist/lib/collapsible/collapsible.cjs +1 -1
  309. package/dist/lib/collapsible/collapsible.cjs.map +1 -1
  310. package/dist/lib/collapsible/collapsible.js +2 -2
  311. package/dist/lib/collapsible/collapsible.js.map +1 -1
  312. package/dist/lib/combobox/combobox.cjs +1 -1
  313. package/dist/lib/combobox/combobox.js +1 -1
  314. package/dist/lib/combobox/index.cjs +1 -1
  315. package/dist/lib/combobox/index.js +1 -1
  316. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
  317. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  318. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +0 -6
  319. package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  320. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  321. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  322. package/dist/lib/combobox-multi-select/combobox-multi-select.js +48 -69
  323. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  324. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  325. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  326. package/dist/lib/combobox-with-popover/combobox-with-popover.js +47 -64
  327. package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  328. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  329. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  330. package/dist/lib/contact-centers-row/contact-centers-row.js +45 -51
  331. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  332. package/dist/lib/contact-info/contact-info.cjs +1 -1
  333. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  334. package/dist/lib/contact-info/contact-info.js +8 -8
  335. package/dist/lib/contact-info/contact-info.js.map +1 -1
  336. package/dist/lib/contact-row/contact-row.cjs +1 -1
  337. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  338. package/dist/lib/contact-row/contact-row.js +3 -3
  339. package/dist/lib/contact-row/contact-row.js.map +1 -1
  340. package/dist/lib/datepicker/datepicker.cjs +1 -1
  341. package/dist/lib/datepicker/datepicker.js +1 -1
  342. package/dist/lib/datepicker/index.cjs +1 -1
  343. package/dist/lib/datepicker/index.js +1 -1
  344. package/dist/lib/description-list/description-list.cjs +1 -1
  345. package/dist/lib/description-list/description-list.cjs.map +1 -1
  346. package/dist/lib/description-list/description-list.js +1 -1
  347. package/dist/lib/description-list/description-list.js.map +1 -1
  348. package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
  349. package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
  350. package/dist/lib/dropdown/dropdown-constants.js +2 -2
  351. package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
  352. package/dist/lib/dropdown/dropdown-list.cjs +1 -1
  353. package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
  354. package/dist/lib/dropdown/dropdown-list.js +16 -28
  355. package/dist/lib/dropdown/dropdown-list.js.map +1 -1
  356. package/dist/lib/dropdown/dropdown.cjs +1 -1
  357. package/dist/lib/dropdown/dropdown.cjs.map +1 -1
  358. package/dist/lib/dropdown/dropdown.js +29 -43
  359. package/dist/lib/dropdown/dropdown.js.map +1 -1
  360. package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
  361. package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
  362. package/dist/lib/editor/EditorToolbarButton.js +1 -1
  363. package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
  364. package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
  365. package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
  366. package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
  367. package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
  368. package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
  369. package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
  370. package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
  371. package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
  372. package/dist/lib/editor/editor.cjs +1 -1
  373. package/dist/lib/editor/editor.cjs.map +1 -1
  374. package/dist/lib/editor/editor.js +143 -142
  375. package/dist/lib/editor/editor.js.map +1 -1
  376. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  377. package/dist/lib/emoji-picker/emoji-picker.js +1 -1
  378. package/dist/lib/emoji-picker/index.cjs +1 -1
  379. package/dist/lib/emoji-picker/index.js +1 -1
  380. package/dist/lib/emoji-row/emoji-row.cjs +1 -1
  381. package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
  382. package/dist/lib/emoji-row/emoji-row.js +1 -1
  383. package/dist/lib/emoji-row/emoji-row.js.map +1 -1
  384. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  385. package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  386. package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
  387. package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
  388. package/dist/lib/empty-state/empty-state-constants.js +9 -37
  389. package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
  390. package/dist/lib/empty-state/empty-state.cjs +1 -1
  391. package/dist/lib/empty-state/empty-state.cjs.map +1 -1
  392. package/dist/lib/empty-state/empty-state.js +30 -77
  393. package/dist/lib/empty-state/empty-state.js.map +1 -1
  394. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  395. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  396. package/dist/lib/feed-item-pill/feed-item-pill.js +42 -40
  397. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  398. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  399. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  400. package/dist/lib/feed-item-row/feed-item-row.js +3 -3
  401. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  402. package/dist/lib/general-row/general-row.cjs +1 -1
  403. package/dist/lib/general-row/general-row.cjs.map +1 -1
  404. package/dist/lib/general-row/general-row.js +61 -105
  405. package/dist/lib/general-row/general-row.js.map +1 -1
  406. package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
  407. package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  408. package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
  409. package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  410. package/dist/lib/group-row/group-row.cjs +1 -1
  411. package/dist/lib/group-row/group-row.cjs.map +1 -1
  412. package/dist/lib/group-row/group-row.js +2 -2
  413. package/dist/lib/group-row/group-row.js.map +1 -1
  414. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  415. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  416. package/dist/lib/grouped-chip/grouped-chip.js +9 -9
  417. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  418. package/dist/lib/hovercard/hovercard.cjs +1 -1
  419. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  420. package/dist/lib/hovercard/hovercard.js +24 -38
  421. package/dist/lib/hovercard/hovercard.js.map +1 -1
  422. package/dist/lib/icon/icon.cjs +1 -1
  423. package/dist/lib/icon/icon.cjs.map +1 -1
  424. package/dist/lib/icon/icon.js +1 -1
  425. package/dist/lib/icon/icon.js.map +1 -1
  426. package/dist/lib/illustration/illustration.cjs +1 -1
  427. package/dist/lib/illustration/illustration.cjs.map +1 -1
  428. package/dist/lib/illustration/illustration.js +1 -1
  429. package/dist/lib/illustration/illustration.js.map +1 -1
  430. package/dist/lib/image-viewer/image-viewer.cjs +1 -1
  431. package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
  432. package/dist/lib/image-viewer/image-viewer.js +32 -33
  433. package/dist/lib/image-viewer/image-viewer.js.map +1 -1
  434. package/dist/lib/input/input-constants.cjs +1 -1
  435. package/dist/lib/input/input-constants.cjs.map +1 -1
  436. package/dist/lib/input/input-constants.js +11 -25
  437. package/dist/lib/input/input-constants.js.map +1 -1
  438. package/dist/lib/input/input.cjs +1 -1
  439. package/dist/lib/input/input.cjs.map +1 -1
  440. package/dist/lib/input/input.js +85 -190
  441. package/dist/lib/input/input.js.map +1 -1
  442. package/dist/lib/input-group/input-group.cjs +1 -1
  443. package/dist/lib/input-group/input-group.cjs.map +1 -1
  444. package/dist/lib/input-group/input-group.js +15 -25
  445. package/dist/lib/input-group/input-group.js.map +1 -1
  446. package/dist/lib/item-layout/item-layout.cjs +3 -3
  447. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  448. package/dist/lib/item-layout/item-layout.js +19 -82
  449. package/dist/lib/item-layout/item-layout.js.map +1 -1
  450. package/dist/lib/ivr-node/ivr-node.cjs +1 -1
  451. package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
  452. package/dist/lib/ivr-node/ivr-node.js +1 -1
  453. package/dist/lib/ivr-node/ivr-node.js.map +1 -1
  454. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
  455. package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  456. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +38 -48
  457. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  458. package/dist/lib/link/index.cjs +1 -1
  459. package/dist/lib/link/index.js +2 -2
  460. package/dist/lib/link/link-constants.cjs +1 -1
  461. package/dist/lib/link/link-constants.cjs.map +1 -1
  462. package/dist/lib/link/link-constants.js +14 -17
  463. package/dist/lib/link/link-constants.js.map +1 -1
  464. package/dist/lib/link/link.cjs +1 -1
  465. package/dist/lib/link/link.cjs.map +1 -1
  466. package/dist/lib/link/link.js +2 -17
  467. package/dist/lib/link/link.js.map +1 -1
  468. package/dist/lib/list-item/list-item.cjs +1 -1
  469. package/dist/lib/list-item/list-item.cjs.map +1 -1
  470. package/dist/lib/list-item/list-item.js +5 -9
  471. package/dist/lib/list-item/list-item.js.map +1 -1
  472. package/dist/lib/list-item-group/list-item-group.cjs +1 -1
  473. package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
  474. package/dist/lib/list-item-group/list-item-group.js +1 -1
  475. package/dist/lib/list-item-group/list-item-group.js.map +1 -1
  476. package/dist/lib/message-input/index.cjs +1 -1
  477. package/dist/lib/message-input/index.js +1 -1
  478. package/dist/lib/message-input/message-input-button.cjs +1 -1
  479. package/dist/lib/message-input/message-input-button.cjs.map +1 -1
  480. package/dist/lib/message-input/message-input-button.js +1 -1
  481. package/dist/lib/message-input/message-input-button.js.map +1 -1
  482. package/dist/lib/message-input/message-input-link.cjs +1 -1
  483. package/dist/lib/message-input/message-input-link.cjs.map +1 -1
  484. package/dist/lib/message-input/message-input-link.js +9 -9
  485. package/dist/lib/message-input/message-input-link.js.map +1 -1
  486. package/dist/lib/message-input/message-input-topbar.cjs +1 -1
  487. package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
  488. package/dist/lib/message-input/message-input-topbar.js +2 -2
  489. package/dist/lib/message-input/message-input-topbar.js.map +1 -1
  490. package/dist/lib/message-input/message-input.cjs +1 -1
  491. package/dist/lib/message-input/message-input.js +1 -1
  492. package/dist/lib/modal/modal-constants.cjs +1 -1
  493. package/dist/lib/modal/modal-constants.cjs.map +1 -1
  494. package/dist/lib/modal/modal-constants.js +3 -3
  495. package/dist/lib/modal/modal-constants.js.map +1 -1
  496. package/dist/lib/modal/modal.cjs +1 -1
  497. package/dist/lib/modal/modal.cjs.map +1 -1
  498. package/dist/lib/modal/modal.js +164 -181
  499. package/dist/lib/modal/modal.js.map +1 -1
  500. package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
  501. package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
  502. package/dist/lib/motion-text/motion-text-constants.js +6 -18
  503. package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
  504. package/dist/lib/motion-text/motion-text.cjs +1 -1
  505. package/dist/lib/motion-text/motion-text.cjs.map +1 -1
  506. package/dist/lib/motion-text/motion-text.js +7 -5
  507. package/dist/lib/motion-text/motion-text.js.map +1 -1
  508. package/dist/lib/notice/notice-action.cjs +1 -1
  509. package/dist/lib/notice/notice-action.cjs.map +1 -1
  510. package/dist/lib/notice/notice-action.js +26 -34
  511. package/dist/lib/notice/notice-action.js.map +1 -1
  512. package/dist/lib/notice/notice-constants.cjs +1 -1
  513. package/dist/lib/notice/notice-constants.cjs.map +1 -1
  514. package/dist/lib/notice/notice-constants.js +2 -2
  515. package/dist/lib/notice/notice-constants.js.map +1 -1
  516. package/dist/lib/notice/notice-content.cjs +1 -1
  517. package/dist/lib/notice/notice-content.cjs.map +1 -1
  518. package/dist/lib/notice/notice-content.js +18 -51
  519. package/dist/lib/notice/notice-content.js.map +1 -1
  520. package/dist/lib/notice/notice-icon.cjs +1 -1
  521. package/dist/lib/notice/notice-icon.cjs.map +1 -1
  522. package/dist/lib/notice/notice-icon.js +28 -38
  523. package/dist/lib/notice/notice-icon.js.map +1 -1
  524. package/dist/lib/notice/notice.cjs +1 -1
  525. package/dist/lib/notice/notice.cjs.map +1 -1
  526. package/dist/lib/notice/notice.js +23 -70
  527. package/dist/lib/notice/notice.js.map +1 -1
  528. package/dist/lib/pagination/pagination.cjs +1 -1
  529. package/dist/lib/pagination/pagination.cjs.map +1 -1
  530. package/dist/lib/pagination/pagination.js +12 -13
  531. package/dist/lib/pagination/pagination.js.map +1 -1
  532. package/dist/lib/popover/popover-constants.cjs +1 -1
  533. package/dist/lib/popover/popover-constants.cjs.map +1 -1
  534. package/dist/lib/popover/popover-constants.js +6 -6
  535. package/dist/lib/popover/popover-constants.js.map +1 -1
  536. package/dist/lib/popover/popover-header-footer.cjs +1 -1
  537. package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
  538. package/dist/lib/popover/popover-header-footer.js +3 -11
  539. package/dist/lib/popover/popover-header-footer.js.map +1 -1
  540. package/dist/lib/popover/popover.cjs +1 -1
  541. package/dist/lib/popover/popover.cjs.map +1 -1
  542. package/dist/lib/popover/popover.js +59 -88
  543. package/dist/lib/popover/popover.js.map +1 -1
  544. package/dist/lib/radio/radio-constants.cjs +1 -1
  545. package/dist/lib/radio/radio-constants.cjs.map +1 -1
  546. package/dist/lib/radio/radio-constants.js +2 -2
  547. package/dist/lib/radio/radio-constants.js.map +1 -1
  548. package/dist/lib/radio/radio.cjs +1 -1
  549. package/dist/lib/radio/radio.cjs.map +1 -1
  550. package/dist/lib/radio/radio.js +33 -95
  551. package/dist/lib/radio/radio.js.map +1 -1
  552. package/dist/lib/radio-group/radio-group.cjs +1 -1
  553. package/dist/lib/radio-group/radio-group.cjs.map +1 -1
  554. package/dist/lib/radio-group/radio-group.js +2 -2
  555. package/dist/lib/radio-group/radio-group.js.map +1 -1
  556. package/dist/lib/resizable/index.cjs +1 -1
  557. package/dist/lib/resizable/index.js +3 -3
  558. package/dist/lib/resizable/resizable-handle.cjs +1 -1
  559. package/dist/lib/resizable/resizable-handle.js +1 -1
  560. package/dist/lib/resizable/resizable-panel.cjs +1 -1
  561. package/dist/lib/resizable/resizable-panel.cjs.map +1 -1
  562. package/dist/lib/resizable/resizable-panel.js +3 -11
  563. package/dist/lib/resizable/resizable-panel.js.map +1 -1
  564. package/dist/lib/resizable/resizable.cjs +1 -1
  565. package/dist/lib/resizable/resizable.js +1 -1
  566. package/dist/lib/rich-text-editor/index.cjs +1 -1
  567. package/dist/lib/rich-text-editor/index.js +1 -1
  568. package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
  569. package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
  570. package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  571. package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
  572. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  573. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  574. package/dist/lib/root-layout/root-layout-constants.js +0 -2
  575. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  576. package/dist/lib/root-layout/root-layout.cjs +1 -1
  577. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  578. package/dist/lib/root-layout/root-layout.js +2 -2
  579. package/dist/lib/root-layout/root-layout.js.map +1 -1
  580. package/dist/lib/scroller/index.cjs +1 -1
  581. package/dist/lib/scroller/index.js +1 -1
  582. package/dist/lib/scroller/scroller.cjs +1 -1
  583. package/dist/lib/scroller/scroller.js +1 -1
  584. package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
  585. package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
  586. package/dist/lib/select-menu/select-menu-constants.js +2 -7
  587. package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
  588. package/dist/lib/select-menu/select-menu.cjs +1 -1
  589. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  590. package/dist/lib/select-menu/select-menu.js +64 -119
  591. package/dist/lib/select-menu/select-menu.js.map +1 -1
  592. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  593. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  594. package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
  595. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  596. package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
  597. package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
  598. package/dist/lib/skeleton/skeleton-constants.js +4 -12
  599. package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
  600. package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
  601. package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  602. package/dist/lib/skeleton/skeleton-list-item.js +2 -2
  603. package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
  604. package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
  605. package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
  606. package/dist/lib/skeleton/skeleton-shape.js +3 -3
  607. package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
  608. package/dist/lib/split-button/split-button-alpha.cjs +2 -0
  609. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -0
  610. package/dist/lib/split-button/split-button-alpha.js +107 -0
  611. package/dist/lib/split-button/split-button-alpha.js.map +1 -0
  612. package/dist/lib/split-button/split-button-constants.cjs +1 -1
  613. package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
  614. package/dist/lib/split-button/split-button-constants.js +0 -5
  615. package/dist/lib/split-button/split-button-constants.js.map +1 -1
  616. package/dist/lib/split-button/split-button-omega.cjs +2 -0
  617. package/dist/lib/split-button/split-button-omega.cjs.map +1 -0
  618. package/dist/lib/split-button/{split-button-end.js → split-button-omega.js} +9 -9
  619. package/dist/lib/split-button/split-button-omega.js.map +1 -0
  620. package/dist/lib/split-button/split-button.cjs +1 -1
  621. package/dist/lib/split-button/split-button.cjs.map +1 -1
  622. package/dist/lib/split-button/split-button.js +71 -246
  623. package/dist/lib/split-button/split-button.js.map +1 -1
  624. package/dist/lib/stack/stack-constants.cjs +1 -1
  625. package/dist/lib/stack/stack-constants.cjs.map +1 -1
  626. package/dist/lib/stack/stack-constants.js +2 -10
  627. package/dist/lib/stack/stack-constants.js.map +1 -1
  628. package/dist/lib/stack/stack.cjs.map +1 -1
  629. package/dist/lib/stack/stack.js.map +1 -1
  630. package/dist/lib/tab/index.cjs +1 -1
  631. package/dist/lib/tab/index.js +5 -5
  632. package/dist/lib/tab/tab-group.cjs +1 -1
  633. package/dist/lib/tab/tab-group.cjs.map +1 -1
  634. package/dist/lib/tab/tab-group.js +52 -186
  635. package/dist/lib/tab/tab-group.js.map +1 -1
  636. package/dist/lib/tab/tab.cjs +1 -1
  637. package/dist/lib/tab/tab.cjs.map +1 -1
  638. package/dist/lib/tab/tab.js +23 -108
  639. package/dist/lib/tab/tab.js.map +1 -1
  640. package/dist/lib/tab/tabs-constants.cjs +1 -1
  641. package/dist/lib/tab/tabs-constants.cjs.map +1 -1
  642. package/dist/lib/tab/tabs-constants.js +2 -33
  643. package/dist/lib/tab/tabs-constants.js.map +1 -1
  644. package/dist/lib/toast/index.cjs +1 -1
  645. package/dist/lib/toast/index.js +1 -1
  646. package/dist/lib/toast/toast.cjs +1 -1
  647. package/dist/lib/toast/toast.js +1 -1
  648. package/dist/lib/toggle/toggle-constants.cjs +1 -1
  649. package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
  650. package/dist/lib/toggle/toggle-constants.js +0 -2
  651. package/dist/lib/toggle/toggle-constants.js.map +1 -1
  652. package/dist/lib/toggle/toggle.cjs +1 -1
  653. package/dist/lib/toggle/toggle.cjs.map +1 -1
  654. package/dist/lib/toggle/toggle.js +31 -26
  655. package/dist/lib/toggle/toggle.js.map +1 -1
  656. package/dist/lib/tooltip/tooltip.cjs +4 -1
  657. package/dist/lib/tooltip/tooltip.cjs.map +1 -1
  658. package/dist/lib/tooltip/tooltip.js +32 -46
  659. package/dist/lib/tooltip/tooltip.js.map +1 -1
  660. package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
  661. package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
  662. package/dist/lib/tooltip-directive/tooltip.js +35 -36
  663. package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
  664. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  665. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  666. package/dist/lib/top-banner-info/top-banner-info.js +4 -4
  667. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  668. package/dist/lib/unread-pill/unread-pill.cjs +1 -1
  669. package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
  670. package/dist/lib/unread-pill/unread-pill.js +1 -1
  671. package/dist/lib/unread-pill/unread-pill.js.map +1 -1
  672. package/dist/lib/validation-messages/validation-messages.cjs +1 -1
  673. package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
  674. package/dist/lib/validation-messages/validation-messages.js +2 -2
  675. package/dist/lib/validation-messages/validation-messages.js.map +1 -1
  676. package/dist/localization/en-US.cjs +0 -5
  677. package/dist/localization/en-US.cjs.map +1 -1
  678. package/dist/localization/en-US.js +1 -1
  679. package/dist/localization/en-US.js.map +1 -1
  680. package/dist/{markdownRenderer-Dsq-CiH9.cjs → markdownRenderer-DCgGQseq.cjs} +1 -1
  681. package/dist/{markdownRenderer-Dsq-CiH9.cjs.map → markdownRenderer-DCgGQseq.cjs.map} +1 -1
  682. package/dist/{markdownRenderer-k7_rQkox.js → markdownRenderer-D_P94RyM.js} +1 -1
  683. package/dist/{markdownRenderer-k7_rQkox.js.map → markdownRenderer-D_P94RyM.js.map} +1 -1
  684. package/dist/message_input-BiCHkV9g.cjs +2 -0
  685. package/dist/message_input-BiCHkV9g.cjs.map +1 -0
  686. package/dist/{message_input-rXsWKem_.js → message_input-DO6pV_GG.js} +132 -131
  687. package/dist/message_input-DO6pV_GG.js.map +1 -0
  688. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +17 -142
  689. package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  690. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +53 -532
  691. package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  692. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +49 -508
  693. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  694. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +46 -392
  695. package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  696. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +16 -125
  697. package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  698. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +31 -420
  699. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  700. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +24 -322
  701. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  702. package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +7 -98
  703. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +35 -390
  704. package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  705. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +30 -365
  706. package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  707. package/dist/recipes/conversation_view/editor/editor.vue.d.ts +284 -1824
  708. package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  709. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +55 -199
  710. package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  711. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +48 -161
  712. package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  713. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +56 -165
  714. package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  715. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +34 -156
  716. package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  717. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +188 -2104
  718. package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  719. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +15 -283
  720. package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  721. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +85 -881
  722. package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  723. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +15 -283
  724. package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  725. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +7 -98
  726. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  727. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +54 -143
  728. package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  729. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +34 -110
  730. package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  731. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +33 -150
  732. package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  733. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +85 -673
  734. package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  735. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +39 -560
  736. package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  737. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  738. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +38 -559
  739. package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  740. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  741. package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  742. package/dist/{resizable-CcxS3dH7.js → resizable-D4-peBOl.js} +3 -3
  743. package/dist/{resizable-CcxS3dH7.js.map → resizable-D4-peBOl.js.map} +1 -1
  744. package/dist/{resizable-DdPrpKvD.cjs → resizable-aOVGO_Os.cjs} +2 -2
  745. package/dist/{resizable-DdPrpKvD.cjs.map → resizable-aOVGO_Os.cjs.map} +1 -1
  746. package/dist/{resizable_handle-vqI5i9u6.js → resizable_handle-BlKBiWnx.js} +3 -3
  747. package/dist/{resizable_handle-vqI5i9u6.js.map → resizable_handle-BlKBiWnx.js.map} +1 -1
  748. package/dist/{resizable_handle-g45rLu_2.cjs → resizable_handle-RIKS8frB.cjs} +2 -2
  749. package/dist/{resizable_handle-g45rLu_2.cjs.map → resizable_handle-RIKS8frB.cjs.map} +1 -1
  750. package/dist/{resizable_utils-CQscchW4.js → resizable_utils-BComtrMV.js} +47 -29
  751. package/dist/resizable_utils-BComtrMV.js.map +1 -0
  752. package/dist/resizable_utils-DhuzXRdP.cjs +2 -0
  753. package/dist/resizable_utils-DhuzXRdP.cjs.map +1 -0
  754. package/dist/{rich_text_editor-DRwU4mUa.js → rich_text_editor-DYu2R0kw.js} +602 -640
  755. package/dist/{rich_text_editor-DRwU4mUa.js.map → rich_text_editor-DYu2R0kw.js.map} +1 -1
  756. package/dist/rich_text_editor-FduHYl-G.cjs +12 -0
  757. package/dist/{rich_text_editor-TolFmwK_.cjs.map → rich_text_editor-FduHYl-G.cjs.map} +1 -1
  758. package/dist/{scroller-DPqcc_Wl.js → scroller-BGVDh3sq.js} +6 -6
  759. package/dist/scroller-BGVDh3sq.js.map +1 -0
  760. package/dist/scroller-CjAsgjl9.cjs +2 -0
  761. package/dist/scroller-CjAsgjl9.cjs.map +1 -0
  762. package/dist/shared/sr_only_close_button.cjs +1 -1
  763. package/dist/shared/sr_only_close_button.cjs.map +1 -1
  764. package/dist/shared/sr_only_close_button.js +1 -1
  765. package/dist/shared/sr_only_close_button.js.map +1 -1
  766. package/dist/{toast-DqbTiHVx.js → toast-DvPN-bCi.js} +89 -222
  767. package/dist/toast-DvPN-bCi.js.map +1 -0
  768. package/dist/toast-d8_zmgkL.cjs +2 -0
  769. package/dist/toast-d8_zmgkL.cjs.map +1 -0
  770. package/dist/{useResizableCalculations-CoVtK_0B.cjs → useResizableCalculations-BDITle3Q.cjs} +2 -2
  771. package/dist/{useResizableCalculations-CoVtK_0B.cjs.map → useResizableCalculations-BDITle3Q.cjs.map} +1 -1
  772. package/dist/{useResizableCalculations-YI08W37g.js → useResizableCalculations-DAajatT4.js} +2 -2
  773. package/dist/{useResizableCalculations-YI08W37g.js.map → useResizableCalculations-DAajatT4.js.map} +1 -1
  774. package/package.json +5 -7
  775. package/dist/attachment_carousel-1qxTI-NN.js.map +0 -1
  776. package/dist/attachment_carousel-wnZS3vEt.cjs +0 -2
  777. package/dist/attachment_carousel-wnZS3vEt.cjs.map +0 -1
  778. package/dist/combobox-BQBKrDTW.js.map +0 -1
  779. package/dist/combobox-Da7wBh3G.cjs +0 -3
  780. package/dist/combobox-Da7wBh3G.cjs.map +0 -1
  781. package/dist/common/composables/useIndicatorAnimation.cjs +0 -2
  782. package/dist/common/composables/useIndicatorAnimation.cjs.map +0 -1
  783. package/dist/common/composables/useIndicatorAnimation.d.ts +0 -18
  784. package/dist/common/composables/useIndicatorAnimation.d.ts.map +0 -1
  785. package/dist/common/composables/useIndicatorAnimation.js +0 -78
  786. package/dist/common/composables/useIndicatorAnimation.js.map +0 -1
  787. package/dist/common/constants/sizes.cjs +0 -2
  788. package/dist/common/constants/sizes.cjs.map +0 -1
  789. package/dist/common/constants/sizes.d.ts +0 -22
  790. package/dist/common/constants/sizes.d.ts.map +0 -1
  791. package/dist/common/constants/sizes.js +0 -19
  792. package/dist/common/constants/sizes.js.map +0 -1
  793. package/dist/common/mixins/mode.cjs +0 -2
  794. package/dist/common/mixins/mode.cjs.map +0 -1
  795. package/dist/common/mixins/mode.d.ts +0 -25
  796. package/dist/common/mixins/mode.d.ts.map +0 -1
  797. package/dist/common/mixins/mode.js +0 -62
  798. package/dist/common/mixins/mode.js.map +0 -1
  799. package/dist/common/mode_constants.d.ts +0 -37
  800. package/dist/common/mode_constants.d.ts.map +0 -1
  801. package/dist/components/box/box.vue.d.ts +0 -75
  802. package/dist/components/box/box.vue.d.ts.map +0 -1
  803. package/dist/components/box/box_constants.d.ts +0 -11
  804. package/dist/components/box/box_constants.d.ts.map +0 -1
  805. package/dist/components/box/index.d.ts +0 -3
  806. package/dist/components/box/index.d.ts.map +0 -1
  807. package/dist/components/box/validators.d.ts +0 -11
  808. package/dist/components/box/validators.d.ts.map +0 -1
  809. package/dist/components/codeblock/codeblock_constants.d.ts +0 -9
  810. package/dist/components/codeblock/codeblock_constants.d.ts.map +0 -1
  811. package/dist/components/filter_pill/filter_pill.vue.d.ts +0 -4739
  812. package/dist/components/filter_pill/filter_pill.vue.d.ts.map +0 -1
  813. package/dist/components/filter_pill/index.d.ts +0 -2
  814. package/dist/components/filter_pill/index.d.ts.map +0 -1
  815. package/dist/components/mode_island/index.d.ts +0 -3
  816. package/dist/components/mode_island/index.d.ts.map +0 -1
  817. package/dist/components/mode_island/mode_island.vue.d.ts +0 -3
  818. package/dist/components/mode_island/mode_island.vue.d.ts.map +0 -1
  819. package/dist/components/mode_island/mode_island_constants.d.ts +0 -10
  820. package/dist/components/mode_island/mode_island_constants.d.ts.map +0 -1
  821. package/dist/components/mode_island/utils.d.ts +0 -12
  822. package/dist/components/mode_island/utils.d.ts.map +0 -1
  823. package/dist/components/mode_island/validators.d.ts +0 -6
  824. package/dist/components/mode_island/validators.d.ts.map +0 -1
  825. package/dist/components/prose/index.d.ts +0 -3
  826. package/dist/components/prose/index.d.ts.map +0 -1
  827. package/dist/components/prose/prose.vue.d.ts +0 -26
  828. package/dist/components/prose/prose.vue.d.ts.map +0 -1
  829. package/dist/components/prose/prose_constants.d.ts +0 -34
  830. package/dist/components/prose/prose_constants.d.ts.map +0 -1
  831. package/dist/components/segmented_control/index.d.ts +0 -4
  832. package/dist/components/segmented_control/index.d.ts.map +0 -1
  833. package/dist/components/segmented_control/segmented_control.vue.d.ts +0 -226
  834. package/dist/components/segmented_control/segmented_control.vue.d.ts.map +0 -1
  835. package/dist/components/segmented_control/segmented_control_constants.d.ts +0 -41
  836. package/dist/components/segmented_control/segmented_control_constants.d.ts.map +0 -1
  837. package/dist/components/segmented_control/segmented_control_item.vue.d.ts +0 -35
  838. package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +0 -1
  839. package/dist/components/split_button/split_button-end.vue.d.ts.map +0 -1
  840. package/dist/components/split_button/split_button-start.vue.d.ts.map +0 -1
  841. package/dist/components/text/index.d.ts +0 -3
  842. package/dist/components/text/index.d.ts.map +0 -1
  843. package/dist/components/text/text.vue.d.ts +0 -145
  844. package/dist/components/text/text.vue.d.ts.map +0 -1
  845. package/dist/components/text/text_constants.d.ts +0 -95
  846. package/dist/components/text/text_constants.d.ts.map +0 -1
  847. package/dist/datepicker-B2nhxiCg.js.map +0 -1
  848. package/dist/datepicker-CZrNL0Yn.cjs +0 -2
  849. package/dist/datepicker-CZrNL0Yn.cjs.map +0 -1
  850. package/dist/directives/focusgroup_directive/focusgroup.d.ts +0 -6
  851. package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +0 -1
  852. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +0 -74
  853. package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +0 -1
  854. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +0 -15
  855. package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +0 -1
  856. package/dist/directives/focusgroup_directive/index.d.ts +0 -2
  857. package/dist/directives/focusgroup_directive/index.d.ts.map +0 -1
  858. package/dist/directives/focustrap_directive/focustrap.d.ts +0 -6
  859. package/dist/directives/focustrap_directive/focustrap.d.ts.map +0 -1
  860. package/dist/directives/focustrap_directive/focustrap_constants.d.ts +0 -7
  861. package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +0 -1
  862. package/dist/directives/focustrap_directive/focustrap_utils.d.ts +0 -5
  863. package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +0 -1
  864. package/dist/directives/focustrap_directive/index.d.ts +0 -2
  865. package/dist/directives/focustrap_directive/index.d.ts.map +0 -1
  866. package/dist/directives/mode_directive/index.d.ts +0 -2
  867. package/dist/directives/mode_directive/index.d.ts.map +0 -1
  868. package/dist/directives/mode_directive/mode.d.ts +0 -6
  869. package/dist/directives/mode_directive/mode.d.ts.map +0 -1
  870. package/dist/emoji_picker-BQW4qRFg.cjs +0 -2
  871. package/dist/emoji_picker-BQW4qRFg.cjs.map +0 -1
  872. package/dist/emoji_picker-BjgAohQy.js.map +0 -1
  873. package/dist/lib/box/box-constants.cjs +0 -2
  874. package/dist/lib/box/box-constants.cjs.map +0 -1
  875. package/dist/lib/box/box-constants.js +0 -107
  876. package/dist/lib/box/box-constants.js.map +0 -1
  877. package/dist/lib/box/box.cjs +0 -2
  878. package/dist/lib/box/box.cjs.map +0 -1
  879. package/dist/lib/box/box.js +0 -237
  880. package/dist/lib/box/box.js.map +0 -1
  881. package/dist/lib/box/index.cjs +0 -1
  882. package/dist/lib/box/index.js +0 -3
  883. package/dist/lib/box/validators.cjs +0 -2
  884. package/dist/lib/box/validators.cjs.map +0 -1
  885. package/dist/lib/box/validators.js +0 -17
  886. package/dist/lib/box/validators.js.map +0 -1
  887. package/dist/lib/codeblock/codeblock-constants.cjs +0 -2
  888. package/dist/lib/codeblock/codeblock-constants.cjs.map +0 -1
  889. package/dist/lib/codeblock/codeblock-constants.js +0 -20
  890. package/dist/lib/codeblock/codeblock-constants.js.map +0 -1
  891. package/dist/lib/filter-pill/filter-pill.cjs +0 -2
  892. package/dist/lib/filter-pill/filter-pill.cjs.map +0 -1
  893. package/dist/lib/filter-pill/filter-pill.js +0 -441
  894. package/dist/lib/filter-pill/filter-pill.js.map +0 -1
  895. package/dist/lib/filter-pill/index.cjs +0 -1
  896. package/dist/lib/filter-pill/index.js +0 -2
  897. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +0 -2
  898. package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +0 -1
  899. package/dist/lib/focusgroup-directive/focusgroup-constants.js +0 -77
  900. package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +0 -1
  901. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +0 -2
  902. package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +0 -1
  903. package/dist/lib/focusgroup-directive/focusgroup-utils.js +0 -33
  904. package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +0 -1
  905. package/dist/lib/focusgroup-directive/focusgroup.cjs +0 -2
  906. package/dist/lib/focusgroup-directive/focusgroup.cjs.map +0 -1
  907. package/dist/lib/focusgroup-directive/focusgroup.js +0 -143
  908. package/dist/lib/focusgroup-directive/focusgroup.js.map +0 -1
  909. package/dist/lib/focusgroup-directive/index.cjs +0 -1
  910. package/dist/lib/focusgroup-directive/index.js +0 -2
  911. package/dist/lib/focustrap-directive/focustrap-constants.cjs +0 -2
  912. package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +0 -1
  913. package/dist/lib/focustrap-directive/focustrap-constants.js +0 -10
  914. package/dist/lib/focustrap-directive/focustrap-constants.js.map +0 -1
  915. package/dist/lib/focustrap-directive/focustrap-utils.cjs +0 -2
  916. package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +0 -1
  917. package/dist/lib/focustrap-directive/focustrap-utils.js +0 -19
  918. package/dist/lib/focustrap-directive/focustrap-utils.js.map +0 -1
  919. package/dist/lib/focustrap-directive/focustrap.cjs +0 -2
  920. package/dist/lib/focustrap-directive/focustrap.cjs.map +0 -1
  921. package/dist/lib/focustrap-directive/focustrap.js +0 -96
  922. package/dist/lib/focustrap-directive/focustrap.js.map +0 -1
  923. package/dist/lib/focustrap-directive/index.cjs +0 -1
  924. package/dist/lib/focustrap-directive/index.js +0 -2
  925. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +0 -2
  926. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +0 -1
  927. package/dist/lib/kitchen-sink/kitchen-sink-view.js +0 -205
  928. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +0 -1
  929. package/dist/lib/mode-directive/index.cjs +0 -1
  930. package/dist/lib/mode-directive/index.js +0 -2
  931. package/dist/lib/mode-directive/mode.cjs +0 -2
  932. package/dist/lib/mode-directive/mode.cjs.map +0 -1
  933. package/dist/lib/mode-directive/mode.js +0 -67
  934. package/dist/lib/mode-directive/mode.js.map +0 -1
  935. package/dist/lib/mode-island/index.cjs +0 -1
  936. package/dist/lib/mode-island/index.js +0 -3
  937. package/dist/lib/mode-island/mode-island-constants.cjs +0 -2
  938. package/dist/lib/mode-island/mode-island-constants.cjs.map +0 -1
  939. package/dist/lib/mode-island/mode-island-constants.js +0 -10
  940. package/dist/lib/mode-island/mode-island-constants.js.map +0 -1
  941. package/dist/lib/mode-island/mode-island.cjs +0 -2
  942. package/dist/lib/mode-island/mode-island.cjs.map +0 -1
  943. package/dist/lib/mode-island/mode-island.js +0 -102
  944. package/dist/lib/mode-island/mode-island.js.map +0 -1
  945. package/dist/lib/mode-island/utils.cjs +0 -2
  946. package/dist/lib/mode-island/utils.cjs.map +0 -1
  947. package/dist/lib/mode-island/utils.js +0 -28
  948. package/dist/lib/mode-island/utils.js.map +0 -1
  949. package/dist/lib/mode-island/validators.cjs +0 -2
  950. package/dist/lib/mode-island/validators.cjs.map +0 -1
  951. package/dist/lib/mode-island/validators.js +0 -10
  952. package/dist/lib/mode-island/validators.js.map +0 -1
  953. package/dist/lib/prose/index.cjs +0 -1
  954. package/dist/lib/prose/index.js +0 -3
  955. package/dist/lib/prose/prose-constants.cjs +0 -2
  956. package/dist/lib/prose/prose-constants.cjs.map +0 -1
  957. package/dist/lib/prose/prose-constants.js +0 -89
  958. package/dist/lib/prose/prose-constants.js.map +0 -1
  959. package/dist/lib/prose/prose.cjs +0 -2
  960. package/dist/lib/prose/prose.cjs.map +0 -1
  961. package/dist/lib/prose/prose.js +0 -68
  962. package/dist/lib/prose/prose.js.map +0 -1
  963. package/dist/lib/segmented-control/index.cjs +0 -1
  964. package/dist/lib/segmented-control/index.js +0 -4
  965. package/dist/lib/segmented-control/segmented-control-constants.cjs +0 -2
  966. package/dist/lib/segmented-control/segmented-control-constants.cjs.map +0 -1
  967. package/dist/lib/segmented-control/segmented-control-constants.js +0 -41
  968. package/dist/lib/segmented-control/segmented-control-constants.js.map +0 -1
  969. package/dist/lib/segmented-control/segmented-control-item.cjs +0 -2
  970. package/dist/lib/segmented-control/segmented-control-item.cjs.map +0 -1
  971. package/dist/lib/segmented-control/segmented-control-item.js +0 -104
  972. package/dist/lib/segmented-control/segmented-control-item.js.map +0 -1
  973. package/dist/lib/segmented-control/segmented-control.cjs +0 -2
  974. package/dist/lib/segmented-control/segmented-control.cjs.map +0 -1
  975. package/dist/lib/segmented-control/segmented-control.js +0 -204
  976. package/dist/lib/segmented-control/segmented-control.js.map +0 -1
  977. package/dist/lib/split-button/split-button-end.cjs +0 -2
  978. package/dist/lib/split-button/split-button-end.cjs.map +0 -1
  979. package/dist/lib/split-button/split-button-end.js.map +0 -1
  980. package/dist/lib/split-button/split-button-start.cjs +0 -2
  981. package/dist/lib/split-button/split-button-start.cjs.map +0 -1
  982. package/dist/lib/split-button/split-button-start.js +0 -182
  983. package/dist/lib/split-button/split-button-start.js.map +0 -1
  984. package/dist/lib/text/index.cjs +0 -1
  985. package/dist/lib/text/index.js +0 -3
  986. package/dist/lib/text/text-constants.cjs +0 -2
  987. package/dist/lib/text/text-constants.cjs.map +0 -1
  988. package/dist/lib/text/text-constants.js +0 -128
  989. package/dist/lib/text/text-constants.js.map +0 -1
  990. package/dist/lib/text/text.cjs +0 -2
  991. package/dist/lib/text/text.cjs.map +0 -1
  992. package/dist/lib/text/text.js +0 -150
  993. package/dist/lib/text/text.js.map +0 -1
  994. package/dist/message_input-DktL-f28.cjs +0 -2
  995. package/dist/message_input-DktL-f28.cjs.map +0 -1
  996. package/dist/message_input-rXsWKem_.js.map +0 -1
  997. package/dist/mode_constants-CzYJW9ua.cjs +0 -2
  998. package/dist/mode_constants-CzYJW9ua.cjs.map +0 -1
  999. package/dist/mode_constants-tb7TL85q.js +0 -14
  1000. package/dist/mode_constants-tb7TL85q.js.map +0 -1
  1001. package/dist/resizable_utils-CQscchW4.js.map +0 -1
  1002. package/dist/resizable_utils-DabS08OL.cjs +0 -2
  1003. package/dist/resizable_utils-DabS08OL.cjs.map +0 -1
  1004. package/dist/rich_text_editor-TolFmwK_.cjs +0 -12
  1005. package/dist/scroller-C15VLKNK.cjs +0 -2
  1006. package/dist/scroller-C15VLKNK.cjs.map +0 -1
  1007. package/dist/scroller-DPqcc_Wl.js.map +0 -1
  1008. package/dist/toast-BuNWsrhy.cjs +0 -2
  1009. package/dist/toast-BuNWsrhy.cjs.map +0 -1
  1010. package/dist/toast-DqbTiHVx.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-multi-select.js","names":[],"sources":["../../../components/combobox_multi_select/combobox_multi_select.vue"],"sourcesContent":["<!-- eslint-disable vue/no-static-inline-styles -->\n<template>\n <dt-combobox-with-popover\n ref=\"comboboxWithPopover\"\n :label=\"label\"\n :show-list=\"showList\"\n :max-height=\"listMaxHeight\"\n :max-width=\"listMaxWidth\"\n :popover-offset=\"popoverOffset\"\n :has-suggestion-list=\"hasSuggestionList\"\n content-width=\"anchor\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n v-bind=\"extractNonListeners($attrs)\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"d-recipe-combobox-multi-select__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['d-recipe-combobox-multi-select__chip-wrapper', chipWrapperClass]\"\n >\n <dt-chip\n v-for=\"(item, index) in selectedItems\"\n ref=\"chips\"\n :key=\"`${index}-${item}`\"\n :label-class=\"['d-chip__label']\"\n :class=\"[\n 'd-recipe-combobox-multi-select__chip',\n { 'd-recipe-combobox-multi-select__chip--truncate': !!chipMaxWidth },\n ]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :size=\"CHIP_SIZES[String(size)]\"\n :disabled=\"disabled\"\n v-on=\"chipListeners\"\n @keydown.backspace=\"onChipRemove(item)\"\n @close=\"onChipRemove(item)\"\n >\n {{ item }}\n </dt-chip>\n </span>\n\n <dt-input\n ref=\"input\"\n v-model=\"value\"\n class=\"d-recipe-combobox-multi-select__input\"\n :input-class=\"[\n inputClass, {\n 'd-recipe-combobox-multi-select__input--hidden': hideInputText,\n }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :disabled=\"disabled\"\n :aria-label=\"label\"\n :label=\"showLabel ? label : ''\"\n :description=\"description\"\n :placeholder=\"inputPlaceHolder\"\n :show-messages=\"showInputMessages\"\n :messages=\"inputMessages\"\n :size=\"size\"\n v-bind=\"inputListeners\"\n @input=\"onInput\"\n />\n\n <dt-validation-messages\n :validation-messages=\"maxSelectedMessage\"\n :show-messages=\"showValidationMessages\"\n />\n </span>\n </template>\n\n <!-- @slot slot for popover header -->\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #header\n >\n <div\n ref=\"header\"\n :class=\"headerClass\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <!-- @slot slot for popover list -->\n <template #list>\n <div\n ref=\"list\"\n :class=\"['d-recipe-combobox-multi-select__list', listClass]\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"d-recipe-combobox-multi-select__list--loading\"\n >\n {{ loadingMessage }}\n </div>\n </div>\n </template>\n\n <!-- @slot slot for popover footer -->\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footer\n >\n <div\n ref=\"footer\"\n :class=\"footerClass\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-combobox-with-popover>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport DtComboboxWithPopover from '@/components/combobox_with_popover/combobox_with_popover.vue';\nimport DtInput from '@/components/input/input.vue';\nimport DtChip from '@/components/chip/chip.vue';\nimport DtValidationMessages from '@/components/validation_messages/validation_messages.vue';\nimport { validationMessageValidator } from '@/common/validators';\nimport { extractVueListeners, extractNonListeners, hasSlotContent, returnFirstEl } from '@/common/utils';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '@/components/popover/popover_constants';\nimport {\n CHIP_SIZES,\n CHIP_TOP_POSITION,\n} from './combobox_multi_select_constants';\nimport { COMPONENT_SIZES } from '@/common/constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtComboboxMultiSelect',\n\n components: {\n DtComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Input placeholder\n */\n placeholder: {\n type: String,\n default: 'Select one or start typing',\n },\n\n /**\n * Input validation messages\n */\n inputMessages: {\n type: Array,\n default: () => [],\n validator: inputMessages => {\n return validationMessageValidator(inputMessages);\n },\n },\n\n /**\n * Show input validation message\n */\n showInputMessages: {\n type: Boolean,\n default: true,\n },\n\n // @TODO: https://dialpad.atlassian.net/browse/DP-52324\n // type: {\n // type: String,\n // values: ['input', 'select'],\n // default: 'select',\n // },\n\n /**\n * Determines if the list is loading\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The message when the list is loading\n */\n loadingMessage: {\n type: String,\n default: 'loading...',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxHeight: {\n type: String,\n default: '300px',\n },\n\n /**\n * The selected items\n */\n selectedItems: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Would be the maximum number of selections you can make. 0 is unlimited\n */\n maxSelected: {\n type: Number,\n default: 0,\n },\n\n /**\n * Max select message when the max selections is exceeded with the structure:\n * `[{\"message\": string, \"type\": VALIDATION_MESSAGE_TYPES }]`\n */\n maxSelectedMessage: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the chip.\n * @values 100, 200, 300\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: (t) => Object.keys(CHIP_SIZES).includes(String(t)),\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n\n /**\n * Determines whether the combobox should collapse to a single when losing focus.\n * @type {boolean}\n */\n collapseOnFocusOut: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Amount of reserved space (in px) on the right side of the input\n * before the chips and the input caret jump to the next line.\n * default is 64\n */\n reservedRightSpace: {\n type: Number,\n default: 64,\n },\n\n /**\n * Determines the maximum width of a single chip. If the text within this chip exceeds the value\n * it will be truncated with ellipses.\n * Possible units rem|px|em\n */\n chipMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the input element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * When true, disables the underlying input.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the header wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the footer wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the list wrapper element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event update:modelValue\n * @type {String}\n */\n 'update:modelValue',\n\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when item removed\n *\n * @event remove\n * @type {String}\n */\n 'remove',\n\n /**\n * Event fired when max selected items limit is reached\n *\n * @event max-selected\n * @type {Object}\n */\n 'max-selected',\n\n /**\n * Native keyup event\n *\n * @event keyup\n * @type {KeyboardEvent}\n */\n 'keyup',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when combobox item is highlighted\n *\n * @event combobox-highlight\n * @type {Object}\n */\n 'combobox-highlight',\n ],\n\n data () {\n return {\n value: '',\n popoverOffset: [0, 4],\n showValidationMessages: false,\n resizeWindowObserver: null,\n initialInputHeight: null,\n CHIP_SIZES,\n hasSlotContent,\n inputFocused: false,\n hideInputText: false,\n };\n },\n\n computed: {\n inputPlaceHolder () {\n return this.selectedItems?.length > 0 ? '' : this.placeholder;\n },\n\n chipListeners () {\n return {\n keydown: event => {\n this.onChipKeyDown(event);\n this.$emit('keydown', event);\n },\n };\n },\n\n inputListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n onInput: event => {\n this.$emit('update:modelValue', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n onKeydown: event => {\n this.onInputKeyDown(event);\n },\n\n onKeyup: event => {\n this.$emit('keyup', event);\n },\n\n onClick: () => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`d-recipe-combobox-multi-select__chip-wrapper-${COMPONENT_SIZES[String(this.size)] || this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut,\n };\n },\n },\n\n watch: {\n selectedItems: {\n deep: true,\n handler: async function () {\n await this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n await this.initSelectedItems();\n },\n },\n\n async label () {\n await this.$nextTick();\n // Adjust the chips position if label changed\n this.setChipsTopPosition();\n },\n\n async description () {\n await this.$nextTick();\n // Adjust the chips position if description changed\n this.setChipsTopPosition();\n },\n\n size: {\n async handler () {\n await this.$nextTick();\n const input = this.getInput();\n this.revertInputPadding(input);\n this.initialInputHeight = input.getBoundingClientRect().height;\n this.setInputPadding();\n this.setChipsTopPosition();\n },\n },\n },\n\n async mounted () {\n this.setInitialInputHeight();\n // Recalculate chip position and input padding when resizing window\n this.resizeWindowObserver = new ResizeObserver(async () => {\n this.setChipsTopPosition();\n this.setInputPadding();\n });\n this.resizeWindowObserver.observe(document.body);\n\n await this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n extractNonListeners,\n comboboxHighlight (highlightIndex) {\n this.$emit('combobox-highlight', highlightIndex);\n },\n\n async initSelectedItems () {\n await this.$nextTick();\n this.setInputPadding();\n this.setChipsTopPosition();\n this.setInputMinWidth();\n this.checkMaxSelected();\n },\n\n onChipRemove (item) {\n this.$emit('remove', item);\n this.$refs.input?.focus();\n },\n\n onComboboxSelect (i) {\n if (this.loading) return;\n this.value = '';\n this.$emit('select', i);\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.showComboboxList();\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.closeComboboxList();\n },\n\n getChips () {\n if (!this.selectedItems.length || !this.$refs.chips) return null;\n\n // Use the order from selectedItems to not rely on DOM order which may be stale.\n // Track matched indices to handle duplicate item names correctly.\n const matched = new Set();\n const chips = this.selectedItems.map(item => {\n return this.$refs.chips.find((chip, index) => {\n if (matched.has(index)) return false;\n const chipLabel = returnFirstEl(chip.$el)?.querySelector('.d-chip__label')?.textContent?.trim();\n if (chipLabel === item) {\n matched.add(index);\n return true;\n }\n return false;\n });\n });\n return chips.filter(Boolean).map(chip => returnFirstEl(chip.$el));\n },\n\n getChipButtons () {\n const chips = this.getChips();\n return chips && chips.map(chip => returnFirstEl(chip).querySelector('button'));\n },\n\n getLastChipButton () {\n const chipButtons = this.getChipButtons();\n return chipButtons && chipButtons[chipButtons.length - 1];\n },\n\n getLastChip () {\n const chips = this.getChips();\n return chips && chips[chips.length - 1];\n },\n\n getFirstChip () {\n const chips = this.getChips();\n return chips && chips[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyDown (event) {\n const key = event.code?.toLowerCase();\n if (key === 'arrowleft') {\n // Move to the previous chip\n this.navigateBetweenChips(event.target, true);\n } else if (key === 'arrowright') {\n if (event.target.id === this.getLastChipButton().id) {\n // Move to the input if it's the last chip\n this.moveFromChipToInput();\n } else {\n // Move to the next chip\n this.navigateBetweenChips(event.target, false);\n }\n }\n },\n\n onInputKeyDown (event) {\n const key = event.code?.toLowerCase();\n // If the cursor is at the start of the text,\n // press 'backspace' or 'left' focuses the last chip\n if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {\n // if there is selected text, do not focus the last chip\n if (event.target.selectionEnd !== event.target.selectionStart) {\n return;\n }\n if (key === 'backspace' || key === 'arrowleft') {\n this.moveFromInputToChip();\n }\n }\n },\n\n moveFromInputToChip () {\n this.getLastChipButton().focus();\n this.$refs.input?.blur();\n this.closeComboboxList();\n },\n\n moveFromChipToInput () {\n this.getLastChipButton().blur();\n this.$refs.input?.focus();\n this.showComboboxList();\n },\n\n navigateBetweenChips (target, toLeft) {\n const from = this.getChipButtons().indexOf(target);\n const to = toLeft ? from - 1 : from + 1;\n if (to < 0 || to >= this.$refs.chips?.length) {\n return;\n }\n this.getChipButtons()[from].blur();\n this.getChipButtons()[to].focus();\n this.closeComboboxList();\n },\n\n setChipsTopPosition () {\n // To place the chips in the input box\n // The chip \"top\" position should be the same line as the input box\n const input = this.getInput();\n if (!input) return;\n const inputSlotWrapper = this.$refs.inputSlotWrapper;\n const top = input.getBoundingClientRect().top -\n inputSlotWrapper.getBoundingClientRect().top;\n const chipsWrapper = this.$refs.chipsWrapper;\n chipsWrapper.style.top = (top - CHIP_TOP_POSITION[String(this.size)]) + 'px';\n },\n\n setInputPadding () {\n const lastChip = this.getLastChip();\n const input = this.getInput();\n const chipsWrapper = this.$refs.chipsWrapper;\n if (!input) return;\n this.revertInputPadding(input);\n this.popoverOffset = [0, 4];\n if (!lastChip) return;\n // Avoid adding extra padding when the input is not focused if collapseOnFocusOut is true\n // This ensures the input returns to its original state when resizing\n if (this.collapseOnFocusOut && !this.inputFocused) return;\n\n // Get the position of the last chip\n // The input cursor should be the same \"top\" as that chip and next besides it\n const left = lastChip.offsetLeft + this.getFullWidth(lastChip);\n const spaceLeft = input.getBoundingClientRect().width - left;\n // input.style.paddingLeft = left + 'px';\n\n if (spaceLeft > this.reservedRightSpace) {\n input.style.paddingInlineStart = left + 'px';\n } else {\n input.style.paddingInlineStart = '4px';\n }\n\n // Get the chip wrapper height minus the 4px padding\n const chipsWrapperHeight = chipsWrapper.getBoundingClientRect().height - 4;\n const lastChipHeight = lastChip.getBoundingClientRect().height - 4;\n\n // Get lastChip offsetTop plus 2px of the input padding.\n const top = spaceLeft > this.reservedRightSpace\n ? lastChip.offsetTop + 2\n : (chipsWrapperHeight + lastChipHeight - 9);\n\n input.style.paddingBlockStart = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingInlineStart = '';\n input.style.paddingBlockStart = '';\n input.style.paddingBlockEnd = '';\n },\n\n getFullWidth (el) {\n const styles = window.getComputedStyle(el);\n return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);\n },\n\n setInputMinWidth () {\n // Ensure the width of the input is \"slightly bigger\" than the width of a single chip\n const firstChip = this.getFirstChip();\n const input = this.getInput();\n if (!input) return;\n if (firstChip) {\n // Add 4px buffer for typing room\n input.style.minWidth = (this.getFullWidth(firstChip) + 4) + 'px';\n } else {\n input.style.minWidth = '';\n }\n },\n\n checkMaxSelected () {\n if (this.maxSelected === 0) return;\n if (this.selectedItems.length > this.maxSelected) {\n this.showValidationMessages = true;\n this.$emit('max-selected');\n } else {\n this.showValidationMessages = false;\n }\n },\n\n setInitialInputHeight () {\n const input = this.getInput();\n if (!input) return;\n this.initialInputHeight = input.getBoundingClientRect().height;\n },\n\n async handleInputFocusIn () {\n this.inputFocused = true;\n if (this.collapseOnFocusOut) {\n this.hideInputText = false;\n await this.$nextTick();\n this.setInputPadding();\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n this.hideInputText = true;\n const input = this.getInput();\n if (!input) return;\n // Hide the input text when is not on first line\n if (!input.style.paddingTop) {\n return;\n }\n this.revertInputPadding(input);\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"combobox-multi-select.js","names":[],"sources":["../../../components/combobox_multi_select/combobox_multi_select.vue"],"sourcesContent":["<!-- eslint-disable vue/no-static-inline-styles -->\n<template>\n <dt-combobox-with-popover\n ref=\"comboboxWithPopover\"\n :label=\"label\"\n :show-list=\"showList\"\n :max-height=\"listMaxHeight\"\n :max-width=\"listMaxWidth\"\n :popover-offset=\"popoverOffset\"\n :has-suggestion-list=\"hasSuggestionList\"\n content-width=\"anchor\"\n :append-to=\"appendTo\"\n :dialog-class=\"dialogClass\"\n :transition=\"transition\"\n v-bind=\"extractNonListeners($attrs)\"\n @select=\"onComboboxSelect\"\n @highlight=\"comboboxHighlight\"\n >\n <template #input=\"{ onInput }\">\n <span\n ref=\"inputSlotWrapper\"\n class=\"d-recipe-combobox-multi-select__input-wrapper\"\n @focusin=\"handleInputFocusIn\"\n @focusout=\"handleInputFocusOut\"\n >\n <span\n ref=\"chipsWrapper\"\n :class=\"['d-recipe-combobox-multi-select__chip-wrapper', chipWrapperClass]\"\n >\n <dt-chip\n v-for=\"(item, index) in selectedItems\"\n ref=\"chips\"\n :key=\"`${index}-${item}`\"\n :label-class=\"['d-chip__label']\"\n :class=\"[\n 'd-recipe-combobox-multi-select__chip',\n { 'd-recipe-combobox-multi-select__chip--truncate': !!chipMaxWidth },\n ]\"\n :style=\"{ maxWidth: chipMaxWidth }\"\n :size=\"CHIP_SIZES[size]\"\n :disabled=\"disabled\"\n v-on=\"chipListeners\"\n @keydown.backspace=\"onChipRemove(item)\"\n @close=\"onChipRemove(item)\"\n >\n {{ item }}\n </dt-chip>\n </span>\n\n <dt-input\n ref=\"input\"\n v-model=\"value\"\n class=\"d-recipe-combobox-multi-select__input\"\n :input-class=\"[\n inputClass, {\n 'd-recipe-combobox-multi-select__input--hidden': hideInputText,\n }]\"\n :input-wrapper-class=\"inputWrapperClass\"\n :disabled=\"disabled\"\n :aria-label=\"label\"\n :label=\"labelVisible ? label : ''\"\n :description=\"description\"\n :placeholder=\"inputPlaceHolder\"\n :show-messages=\"showInputMessages\"\n :messages=\"inputMessages\"\n :size=\"size\"\n v-bind=\"inputListeners\"\n @input=\"onInput\"\n />\n\n <dt-validation-messages\n :validation-messages=\"maxSelectedMessage\"\n :show-messages=\"showValidationMessages\"\n />\n </span>\n </template>\n\n <!-- @slot slot for popover header -->\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #header\n >\n <div ref=\"header\">\n <slot name=\"header\" />\n </div>\n </template>\n\n <!-- @slot slot for popover list -->\n <template #list>\n <div\n ref=\"list\"\n class=\"d-recipe-combobox-multi-select__list\"\n @mousedown.prevent\n >\n <slot\n v-if=\"!loading\"\n name=\"list\"\n />\n <div\n v-else\n class=\"d-recipe-combobox-multi-select__list--loading\"\n >\n {{ loadingMessage }}\n </div>\n </div>\n </template>\n\n <!-- @slot slot for popover footer -->\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footer\n >\n <div ref=\"footer\">\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-combobox-with-popover>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport DtComboboxWithPopover from '@/components/combobox_with_popover/combobox_with_popover.vue';\nimport DtInput from '@/components/input/input.vue';\nimport DtChip from '@/components/chip/chip.vue';\nimport DtValidationMessages from '@/components/validation_messages/validation_messages.vue';\nimport { validationMessageValidator } from '@/common/validators';\nimport { extractVueListeners, extractNonListeners, hasSlotContent, returnFirstEl } from '@/common/utils';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '@/components/popover/popover_constants';\nimport {\n MULTI_SELECT_SIZES,\n CHIP_SIZES,\n CHIP_TOP_POSITION,\n} from './combobox_multi_select_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtComboboxMultiSelect',\n\n components: {\n DtComboboxWithPopover,\n DtInput,\n DtChip,\n DtValidationMessages,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Input placeholder\n */\n placeholder: {\n type: String,\n default: 'Select one or start typing',\n },\n\n /**\n * Input validation messages\n */\n inputMessages: {\n type: Array,\n default: () => [],\n validator: inputMessages => {\n return validationMessageValidator(inputMessages);\n },\n },\n\n /**\n * Show input validation message\n */\n showInputMessages: {\n type: Boolean,\n default: true,\n },\n\n // @TODO: https://dialpad.atlassian.net/browse/DP-52324\n // type: {\n // type: String,\n // values: ['input', 'select'],\n // default: 'select',\n // },\n\n /**\n * Determines if the list is loading\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The message when the list is loading\n */\n loadingMessage: {\n type: String,\n default: 'loading...',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxHeight: {\n type: String,\n default: '300px',\n },\n\n /**\n * The selected items\n */\n selectedItems: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Would be the maximum number of selections you can make. 0 is unlimited\n */\n maxSelected: {\n type: Number,\n default: 0,\n },\n\n /**\n * Max select message when the max selections is exceeded with the structure:\n * `[{\"message\": string, \"type\": VALIDATION_MESSAGE_TYPES }]`\n */\n maxSelectedMessage: {\n type: Array,\n default: function () { return []; },\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the chip, one of `xs`, `sm`, `md`\n */\n size: {\n type: String,\n default: 'md',\n validator: (t) => Object.values(MULTI_SELECT_SIZES).includes(t),\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n\n /**\n * Determines whether the combobox should collapse to a single when losing focus.\n * @type {boolean}\n */\n collapseOnFocusOut: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|em\n */\n listMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Amount of reserved space (in px) on the right side of the input\n * before the chips and the input caret jump to the next line.\n * default is 64\n */\n reservedRightSpace: {\n type: Number,\n default: 64,\n },\n\n /**\n * Determines the maximum width of a single chip. If the text within this chip exceeds the value\n * it will be truncated with ellipses.\n * Possible units rem|px|em\n */\n chipMaxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the input element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n inputClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Additional class name for the input wrapper element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n inputWrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * When true, disables the underlying input.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class for the popover dialog element.\n */\n dialogClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String }\n */\n 'input',\n\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when item removed\n *\n * @event remove\n * @type {String}\n */\n 'remove',\n\n /**\n * Event fired when max selected items limit is reached\n *\n * @event max-selected\n * @type {Object}\n */\n 'max-selected',\n\n /**\n * Native keyup event\n *\n * @event keyup\n * @type {KeyboardEvent}\n */\n 'keyup',\n\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when combobox item is highlighted\n *\n * @event combobox-highlight\n * @type {Object}\n */\n 'combobox-highlight',\n ],\n\n data () {\n return {\n value: '',\n popoverOffset: [0, 4],\n showValidationMessages: false,\n resizeWindowObserver: null,\n initialInputHeight: null,\n CHIP_SIZES,\n hasSlotContent,\n inputFocused: false,\n hideInputText: false,\n };\n },\n\n computed: {\n inputPlaceHolder () {\n return this.selectedItems?.length > 0 ? '' : this.placeholder;\n },\n\n chipListeners () {\n return {\n keydown: event => {\n this.onChipKeyDown(event);\n this.$emit('keydown', event);\n },\n };\n },\n\n inputListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n onInput: event => {\n this.$emit('input', event);\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n\n onKeydown: event => {\n this.onInputKeyDown(event);\n },\n\n onKeyup: event => {\n this.$emit('keyup', event);\n },\n\n onClick: () => {\n if (this.hasSuggestionList) {\n this.showComboboxList();\n }\n },\n };\n },\n\n chipWrapperClass () {\n return {\n [`d-recipe-combobox-multi-select__chip-wrapper-${this.size}--collapsed`]: !this.inputFocused && this.collapseOnFocusOut,\n };\n },\n },\n\n watch: {\n selectedItems: {\n deep: true,\n handler: async function () {\n await this.initSelectedItems();\n },\n },\n\n chipMaxWidth: {\n async handler () {\n await this.initSelectedItems();\n },\n },\n\n async label () {\n await this.$nextTick();\n // Adjust the chips position if label changed\n this.setChipsTopPosition();\n },\n\n async description () {\n await this.$nextTick();\n // Adjust the chips position if description changed\n this.setChipsTopPosition();\n },\n\n size: {\n async handler () {\n await this.$nextTick();\n const input = this.getInput();\n this.revertInputPadding(input);\n this.initialInputHeight = input.getBoundingClientRect().height;\n this.setInputPadding();\n this.setChipsTopPosition();\n },\n },\n },\n\n async mounted () {\n this.setInitialInputHeight();\n // Recalculate chip position and input padding when resizing window\n this.resizeWindowObserver = new ResizeObserver(async () => {\n this.setChipsTopPosition();\n this.setInputPadding();\n });\n this.resizeWindowObserver.observe(document.body);\n\n await this.initSelectedItems();\n },\n\n beforeUnmount () {\n this.resizeWindowObserver?.unobserve(document.body);\n },\n\n methods: {\n extractNonListeners,\n comboboxHighlight (highlightIndex) {\n this.$emit('combobox-highlight', highlightIndex);\n },\n\n async initSelectedItems () {\n await this.$nextTick();\n this.setInputPadding();\n this.setChipsTopPosition();\n this.setInputMinWidth();\n this.checkMaxSelected();\n },\n\n onChipRemove (item) {\n this.$emit('remove', item);\n this.$refs.input?.focus();\n },\n\n onComboboxSelect (i) {\n if (this.loading) return;\n this.value = '';\n this.$emit('select', i);\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.showComboboxList();\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.$refs.comboboxWithPopover?.closeComboboxList();\n },\n\n getChips () {\n if (!this.selectedItems.length || !this.$refs.chips) return null;\n\n // Use the order from selectedItems to not rely on DOM order which may be stale.\n // Track matched indices to handle duplicate item names correctly.\n const matched = new Set();\n const chips = this.selectedItems.map(item => {\n return this.$refs.chips.find((chip, index) => {\n if (matched.has(index)) return false;\n const chipLabel = returnFirstEl(chip.$el)?.querySelector('.d-chip__label')?.textContent?.trim();\n if (chipLabel === item) {\n matched.add(index);\n return true;\n }\n return false;\n });\n });\n return chips.filter(Boolean).map(chip => returnFirstEl(chip.$el));\n },\n\n getChipButtons () {\n const chips = this.getChips();\n return chips && chips.map(chip => returnFirstEl(chip).querySelector('button'));\n },\n\n getLastChipButton () {\n const chipButtons = this.getChipButtons();\n return chipButtons && chipButtons[chipButtons.length - 1];\n },\n\n getLastChip () {\n const chips = this.getChips();\n return chips && chips[chips.length - 1];\n },\n\n getFirstChip () {\n const chips = this.getChips();\n return chips && chips[0];\n },\n\n getInput () {\n return this.$refs.input?.$refs.input;\n },\n\n onChipKeyDown (event) {\n const key = event.code?.toLowerCase();\n if (key === 'arrowleft') {\n // Move to the previous chip\n this.navigateBetweenChips(event.target, true);\n } else if (key === 'arrowright') {\n if (event.target.id === this.getLastChipButton().id) {\n // Move to the input if it's the last chip\n this.moveFromChipToInput();\n } else {\n // Move to the next chip\n this.navigateBetweenChips(event.target, false);\n }\n }\n },\n\n onInputKeyDown (event) {\n const key = event.code?.toLowerCase();\n // If the cursor is at the start of the text,\n // press 'backspace' or 'left' focuses the last chip\n if (this.selectedItems.length > 0 && event.target.selectionStart === 0) {\n // if there is selected text, do not focus the last chip\n if (event.target.selectionEnd !== event.target.selectionStart) {\n return;\n }\n if (key === 'backspace' || key === 'arrowleft') {\n this.moveFromInputToChip();\n }\n }\n },\n\n moveFromInputToChip () {\n this.getLastChipButton().focus();\n this.$refs.input?.blur();\n this.closeComboboxList();\n },\n\n moveFromChipToInput () {\n this.getLastChipButton().blur();\n this.$refs.input?.focus();\n this.showComboboxList();\n },\n\n navigateBetweenChips (target, toLeft) {\n const from = this.getChipButtons().indexOf(target);\n const to = toLeft ? from - 1 : from + 1;\n if (to < 0 || to >= this.$refs.chips?.length) {\n return;\n }\n this.getChipButtons()[from].blur();\n this.getChipButtons()[to].focus();\n this.closeComboboxList();\n },\n\n setChipsTopPosition () {\n // To place the chips in the input box\n // The chip \"top\" position should be the same line as the input box\n const input = this.getInput();\n if (!input) return;\n const inputSlotWrapper = this.$refs.inputSlotWrapper;\n const top = input.getBoundingClientRect().top -\n inputSlotWrapper.getBoundingClientRect().top;\n const chipsWrapper = this.$refs.chipsWrapper;\n chipsWrapper.style.top = (top - CHIP_TOP_POSITION[this.size]) + 'px';\n },\n\n setInputPadding () {\n const lastChip = this.getLastChip();\n const input = this.getInput();\n const chipsWrapper = this.$refs.chipsWrapper;\n if (!input) return;\n this.revertInputPadding(input);\n this.popoverOffset = [0, 4];\n if (!lastChip) return;\n // Avoid adding extra padding when the input is not focused if collapseOnFocusOut is true\n // This ensures the input returns to its original state when resizing\n if (this.collapseOnFocusOut && !this.inputFocused) return;\n\n // Get the position of the last chip\n // The input cursor should be the same \"top\" as that chip and next besides it\n const left = lastChip.offsetLeft + this.getFullWidth(lastChip);\n const spaceLeft = input.getBoundingClientRect().width - left;\n // input.style.paddingLeft = left + 'px';\n\n if (spaceLeft > this.reservedRightSpace) {\n input.style.paddingLeft = left + 'px';\n } else {\n input.style.paddingLeft = '4px';\n }\n\n // Get the chip wrapper height minus the 4px padding\n const chipsWrapperHeight = chipsWrapper.getBoundingClientRect().height - 4;\n const lastChipHeight = lastChip.getBoundingClientRect().height - 4;\n\n // Get lastChip offsetTop plus 2px of the input padding.\n const top = spaceLeft > this.reservedRightSpace\n ? lastChip.offsetTop + 2\n : (chipsWrapperHeight + lastChipHeight - 9);\n\n input.style.paddingTop = `${top}px`;\n },\n\n revertInputPadding (input) {\n input.style.paddingLeft = '';\n input.style.paddingTop = '';\n input.style.paddingBottom = '';\n },\n\n getFullWidth (el) {\n const styles = window.getComputedStyle(el);\n return el.offsetWidth + parseInt(styles.marginLeft) + parseInt(styles.marginRight);\n },\n\n setInputMinWidth () {\n // Ensure the width of the input is \"slightly bigger\" than the width of a single chip\n const firstChip = this.getFirstChip();\n const input = this.getInput();\n if (!input) return;\n if (firstChip) {\n // Add 4px buffer for typing room\n input.style.minWidth = (this.getFullWidth(firstChip) + 4) + 'px';\n } else {\n input.style.minWidth = '';\n }\n },\n\n checkMaxSelected () {\n if (this.maxSelected === 0) return;\n if (this.selectedItems.length > this.maxSelected) {\n this.showValidationMessages = true;\n this.$emit('max-selected');\n } else {\n this.showValidationMessages = false;\n }\n },\n\n setInitialInputHeight () {\n const input = this.getInput();\n if (!input) return;\n this.initialInputHeight = input.getBoundingClientRect().height;\n },\n\n async handleInputFocusIn () {\n this.inputFocused = true;\n if (this.collapseOnFocusOut) {\n this.hideInputText = false;\n await this.$nextTick();\n this.setInputPadding();\n }\n },\n\n async handleInputFocusOut () {\n this.inputFocused = false;\n if (this.collapseOnFocusOut) {\n this.hideInputText = true;\n const input = this.getInput();\n if (!input) return;\n // Hide the input text when is not on first line\n if (!input.style.paddingTop) {\n return;\n }\n this.revertInputPadding(input);\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(`../../common/constants/sizes.cjs`),t=require(`../../common/utils/index.cjs`),n=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),r=require(`../../mode_constants-CzYJW9ua.cjs`),i=require(`../combobox/combobox-loading-list.cjs`),a=require(`../combobox/combobox-empty-list.cjs`),o=require(`../../combobox-Da7wBh3G.cjs`),s=require(`../combobox/combobox-constants.cjs`),c=require(`../popover/popover-constants.cjs`),l=require(`../popover/popover.cjs`),u=require(`../dropdown/dropdown-constants.cjs`);let d=require(`vue`);var f={compatConfig:{MODE:3},name:`DtComboboxWithPopover`,components:{DtCombobox:o.t,DtPopover:l.default,ComboboxLoadingList:i.default,ComboboxEmptyList:a.default},props:{contentMode:r.t,label:{type:String,required:!0},showLabel:{type:Boolean,default:!0},size:{type:[String,Number],default:null,validator:t=>t===null||Object.values(s.COMBOBOX_LABEL_SIZES).includes(t)||Object.keys(e.COMPONENT_SIZES).includes(String(t))},description:{type:String,default:``},showList:{type:Boolean,default:null},listId:{type:String,default(){return t.getUniqueString()}},listClass:{type:[String,Array,Object],default:``},headerClass:{type:[String,Array,Object],default:``},footerClass:{type:[String,Array,Object],default:``},onBeginningOfList:{type:Function,default:null},onEndOfList:{type:Function,default:null},maxHeight:{type:String,default:``},maxWidth:{type:String,default:``},padding:{type:String,default:`small`,validator:e=>Object.keys(u.DROPDOWN_PADDING_CLASSES).some(t=>t===e)},contentWidth:{type:String,default:null,validator:e=>c.POPOVER_CONTENT_WIDTHS.includes(e)},openWithArrowKeys:{type:Boolean,default:!1},popoverOffset:{type:Array,default:()=>[0,4]},popoverSticky:{type:[Boolean,String],default:!1},hasSuggestionList:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},emptyList:{type:Boolean,default:!1},emptyStateMessage:{type:String,default:``},appendTo:{type:[HTMLElement,String],default:`body`,validator:e=>c.POPOVER_APPEND_TO_VALUES.includes(e)||e instanceof HTMLElement},transition:{type:String,default:`fade`}},emits:[`select`,`escape`,`highlight`,`opened`],data(){return{DROPDOWN_PADDING_CLASSES:u.DROPDOWN_PADDING_CLASSES,isListShown:!1,isInputFocused:!1,isListFocused:!1,externalAnchor:t.getUniqueString(),hasSlotContent:t.hasSlotContent}},computed:{comboboxListeners(){return{...this.$attrs,onSelect:this.onSelect,onEscape:this.onEscape,onHighlight:this.onHighlight}}},watch:{showList:{handler:function(e){e!==null&&(this.isListShown=e)},immediate:!0},isListShown(e){e?window.addEventListener(`mousedown`,this.onFocusOut):window.removeEventListener(`mousedown`,this.onFocusOut),this.onOpened(e)}},methods:{handleDisplayList(e){!this.hasSuggestionList&&e&&this.showComboboxList(),!this.hasSuggestionList&&!e&&this.closeComboboxList()},showComboboxList(){this.showList??(this.isListShown=!0)},closeComboboxList(){this.showList??(this.isListShown=!1)},onSelect(e){this.loading||(this.$emit(`select`,e),this.hasSuggestionList||this.closeComboboxList())},onEscape(){this.$emit(`escape`),this.closeComboboxList()},onHighlight(e){this.loading||this.$emit(`highlight`,e)},onOpened(e){this.$emit(`opened`,e)},onFocusIn(e){this.hasSuggestionList&&e&&this.$refs.input?.querySelector(`input`)===e.target&&this.showComboboxList()},onFocusOut(e){let t=this.$refs.popover?.tip?.popper,n=this.$refs.input;e.composedPath()?.some(e=>[t,n].includes(e))||this.closeComboboxList()},openOnArrowKeyPress(){this.showList!==null||this.isListShown||!this.openWithArrowKeys||this.showComboboxList()}}},p=[`id`],m=[`onMouseleave`,`onFocusout`];function h(e,t,n,r,i,a){let o=(0,d.resolveComponent)(`combobox-loading-list`),s=(0,d.resolveComponent)(`combobox-empty-list`),c=(0,d.resolveComponent)(`dt-popover`),l=(0,d.resolveComponent)(`dt-combobox`);return(0,d.openBlock)(),(0,d.createBlock)(l,(0,d.mergeProps)({ref:`combobox`,loading:n.loading,label:n.label,"show-label":n.showLabel,size:n.size,description:n.description,"empty-list":n.emptyList,"empty-state-message":n.emptyStateMessage,"show-list":i.isListShown,"on-beginning-of-list":n.onBeginningOfList,"on-end-of-list":n.onEndOfList,"list-rendered-outside":!0,"list-id":n.listId,"data-qa":`dt-combobox`},a.comboboxListeners),{input:(0,d.withCtx)(({inputProps:n})=>[(0,d.createElementVNode)(`div`,{id:i.externalAnchor,ref:`input`,onFocusin:t[0]||(t[0]=(...e)=>a.onFocusIn&&a.onFocusIn(...e)),onKeydown:[t[1]||(t[1]=(0,d.withKeys)(e=>a.openOnArrowKeyPress(e),[`up`])),t[2]||(t[2]=(0,d.withKeys)(e=>a.openOnArrowKeyPress(e),[`down`]))]},[(0,d.renderSlot)(e.$slots,`input`,{inputProps:n,onInput:a.handleDisplayList})],40,p)]),list:(0,d.withCtx)(({opened:r,listProps:a,clearHighlightIndex:l})=>[(0,d.createVNode)(c,{ref:`popover`,open:i.isListShown,"onUpdate:open":t[3]||(t[3]=e=>i.isListShown=e),"close-on-click":!1,"max-height":n.maxHeight,"max-width":n.maxWidth,offset:n.popoverOffset,sticky:n.popoverSticky,"content-mode":n.contentMode,placement:`bottom-start`,"initial-focus-element":`none`,padding:`none`,role:`listbox`,"external-anchor":i.externalAnchor,"content-width":n.contentWidth,"content-appear":!0,"content-tabindex":null,modal:!1,"auto-focus":!1,"append-to":n.appendTo,transition:n.transition,onOpened:r},(0,d.createSlots)({content:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,{ref:`listWrapper`,class:(0,d.normalizeClass)([`d-recipe-combobox-with-popover__list`,i.DROPDOWN_PADDING_CLASSES[n.padding],n.listClass]),onMouseleave:l,onFocusout:l},[n.loading?((0,d.openBlock)(),(0,d.createBlock)(o,(0,d.normalizeProps)((0,d.mergeProps)({key:0},a)),null,16)):n.emptyList&&n.emptyStateMessage?((0,d.openBlock)(),(0,d.createBlock)(s,(0,d.mergeProps)({key:1},a,{message:n.emptyStateMessage}),null,16,[`message`])):(0,d.renderSlot)(e.$slots,`list`,{key:2,listProps:a})],42,m)]),_:2},[i.hasSlotContent(e.$slots.header)?{name:`headerContent`,fn:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,{ref:`header`,class:(0,d.normalizeClass)(n.headerClass)},[(0,d.renderSlot)(e.$slots,`header`)],2)]),key:`0`}:void 0,i.hasSlotContent(e.$slots.footer)?{name:`footerContent`,fn:(0,d.withCtx)(()=>[(0,d.createElementVNode)(`div`,{ref:`footer`,class:(0,d.normalizeClass)(n.footerClass)},[(0,d.renderSlot)(e.$slots,`footer`)],2)]),key:`1`}:void 0]),1032,[`open`,`max-height`,`max-width`,`offset`,`sticky`,`content-mode`,`external-anchor`,`content-width`,`append-to`,`transition`,`onOpened`])]),_:3},16,[`loading`,`label`,`show-label`,`size`,`description`,`empty-list`,`empty-state-message`,`show-list`,`on-beginning-of-list`,`on-end-of-list`,`list-id`])}var g=n.t(f,[[`render`,h]]);exports.default=g;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/utils/index.cjs`),t=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),n=require(`../combobox/combobox-loading-list.cjs`),r=require(`../combobox/combobox-empty-list.cjs`),i=require(`../../combobox-DhjZxfUw.cjs`),a=require(`../combobox/combobox-constants.cjs`),o=require(`../popover/popover-constants.cjs`),s=require(`../popover/popover.cjs`),c=require(`../dropdown/dropdown-constants.cjs`);let l=require(`vue`);var u={compatConfig:{MODE:3},name:`DtComboboxWithPopover`,components:{DtCombobox:i.t,DtPopover:s.default,ComboboxLoadingList:n.default,ComboboxEmptyList:r.default},props:{label:{type:String,required:!0},labelVisible:{type:Boolean,default:!0},size:{type:String,default:null,validator:e=>Object.values(a.COMBOBOX_LABEL_SIZES).includes(e)},description:{type:String,default:``},showList:{type:Boolean,default:null},listId:{type:String,default(){return e.getUniqueString()}},listClass:{type:[String,Array,Object],default:``},dialogClass:{type:[String,Array,Object],default:``},onBeginningOfList:{type:Function,default:null},onEndOfList:{type:Function,default:null},maxHeight:{type:String,default:``},maxWidth:{type:String,default:``},padding:{type:String,default:`small`,validator:e=>Object.keys(c.DROPDOWN_PADDING_CLASSES).some(t=>t===e)},contentWidth:{type:String,default:null,validator:e=>o.POPOVER_CONTENT_WIDTHS.includes(e)},openWithArrowKeys:{type:Boolean,default:!1},popoverOffset:{type:Array,default:()=>[0,4]},popoverSticky:{type:[Boolean,String],default:!1},hasSuggestionList:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},emptyList:{type:Boolean,default:!1},emptyStateMessage:{type:String,default:``},appendTo:{type:[HTMLElement,String],default:`body`,validator:e=>o.POPOVER_APPEND_TO_VALUES.includes(e)||e instanceof HTMLElement},transition:{type:String,default:`fade`}},emits:[`select`,`escape`,`highlight`,`opened`],data(){return{DROPDOWN_PADDING_CLASSES:c.DROPDOWN_PADDING_CLASSES,isListShown:!1,isInputFocused:!1,isListFocused:!1,externalAnchor:e.getUniqueString(),hasSlotContent:e.hasSlotContent}},computed:{comboboxListeners(){return{...this.$attrs,onSelect:this.onSelect,onEscape:this.onEscape,onHighlight:this.onHighlight}}},watch:{showList:{handler:function(e){e!==null&&(this.isListShown=e)},immediate:!0},isListShown(e){e?window.addEventListener(`mousedown`,this.onFocusOut):window.removeEventListener(`mousedown`,this.onFocusOut),this.onOpened(e)}},methods:{handleDisplayList(e){!this.hasSuggestionList&&e&&this.showComboboxList(),!this.hasSuggestionList&&!e&&this.closeComboboxList()},showComboboxList(){this.showList??(this.isListShown=!0)},closeComboboxList(){this.showList??(this.isListShown=!1)},onSelect(e){this.loading||(this.$emit(`select`,e),this.hasSuggestionList||this.closeComboboxList())},onEscape(){this.$emit(`escape`),this.closeComboboxList()},onHighlight(e){this.loading||this.$emit(`highlight`,e)},onOpened(e){this.$emit(`opened`,e)},onFocusIn(e){this.hasSuggestionList&&e&&this.$refs.input?.querySelector(`input`)===e.target&&this.showComboboxList()},onFocusOut(e){let t=this.$refs.popover?.tip?.popper,n=this.$refs.input;e.composedPath()?.some(e=>[t,n].includes(e))||this.closeComboboxList()},openOnArrowKeyPress(){this.showList!==null||this.isListShown||!this.openWithArrowKeys||this.showComboboxList()}}},d=[`id`],f={ref:`header`},p=[`onMouseleave`,`onFocusout`],m={ref:`footer`};function h(e,t,n,r,i,a){let o=(0,l.resolveComponent)(`combobox-loading-list`),s=(0,l.resolveComponent)(`combobox-empty-list`),c=(0,l.resolveComponent)(`dt-popover`),u=(0,l.resolveComponent)(`dt-combobox`);return(0,l.openBlock)(),(0,l.createBlock)(u,(0,l.mergeProps)({ref:`combobox`,loading:n.loading,label:n.label,"label-visible":n.labelVisible,size:n.size,description:n.description,"empty-list":n.emptyList,"empty-state-message":n.emptyStateMessage,"show-list":i.isListShown,"on-beginning-of-list":n.onBeginningOfList,"on-end-of-list":n.onEndOfList,"list-rendered-outside":!0,"list-id":n.listId,"data-qa":`dt-combobox`},a.comboboxListeners),{input:(0,l.withCtx)(({inputProps:n})=>[(0,l.createElementVNode)(`div`,{id:i.externalAnchor,ref:`input`,onFocusin:t[0]||(t[0]=(...e)=>a.onFocusIn&&a.onFocusIn(...e)),onKeydown:[t[1]||(t[1]=(0,l.withKeys)(e=>a.openOnArrowKeyPress(e),[`up`])),t[2]||(t[2]=(0,l.withKeys)(e=>a.openOnArrowKeyPress(e),[`down`]))]},[(0,l.renderSlot)(e.$slots,`input`,{inputProps:n,onInput:a.handleDisplayList})],40,d)]),list:(0,l.withCtx)(({opened:r,listProps:a,clearHighlightIndex:u})=>[(0,l.createVNode)(c,{ref:`popover`,open:i.isListShown,"onUpdate:open":t[3]||(t[3]=e=>i.isListShown=e),"hide-on-click":!1,"max-height":n.maxHeight,"max-width":n.maxWidth,offset:n.popoverOffset,sticky:n.popoverSticky,placement:`bottom-start`,"initial-focus-element":`none`,padding:`none`,role:`listbox`,"external-anchor":i.externalAnchor,"content-width":n.contentWidth,"content-appear":!0,"content-tabindex":null,modal:!1,"auto-focus":!1,"append-to":n.appendTo,"dialog-class":n.dialogClass,transition:n.transition,onOpened:r},(0,l.createSlots)({content:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,{ref:`listWrapper`,class:(0,l.normalizeClass)([`d-recipe-combobox-with-popover__list`,i.DROPDOWN_PADDING_CLASSES[n.padding],n.listClass]),onMouseleave:u,onFocusout:u},[n.loading?((0,l.openBlock)(),(0,l.createBlock)(o,(0,l.normalizeProps)((0,l.mergeProps)({key:0},a)),null,16)):n.emptyList&&n.emptyStateMessage?((0,l.openBlock)(),(0,l.createBlock)(s,(0,l.mergeProps)({key:1},a,{message:n.emptyStateMessage}),null,16,[`message`])):(0,l.renderSlot)(e.$slots,`list`,{key:2,listProps:a})],42,p)]),_:2},[i.hasSlotContent(e.$slots.header)?{name:`headerContent`,fn:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,f,[(0,l.renderSlot)(e.$slots,`header`)],512)]),key:`0`}:void 0,i.hasSlotContent(e.$slots.footer)?{name:`footerContent`,fn:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`div`,m,[(0,l.renderSlot)(e.$slots,`footer`)],512)]),key:`1`}:void 0]),1032,[`open`,`max-height`,`max-width`,`offset`,`sticky`,`external-anchor`,`content-width`,`append-to`,`dialog-class`,`transition`,`onOpened`])]),_:3},16,[`loading`,`label`,`label-visible`,`size`,`description`,`empty-list`,`empty-state-message`,`show-list`,`on-beginning-of-list`,`on-end-of-list`,`list-id`])}var g=t.t(u,[[`render`,h]]);exports.default=g;
2
2
  //# sourceMappingURL=combobox-with-popover.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-with-popover.cjs","names":[],"sources":["../../../components/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :show-label=\"showLabel\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :close-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n :content-mode=\"contentMode\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n :class=\"headerClass\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n :class=\"footerClass\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { COMPONENT_SIZES } from '@/common/constants';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\nimport { CONTENT_MODE_PROP } from '@/common/mode_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n props: {\n /**\n * Applies a color mode to the positioned content element.\n * @values light, dark, invert\n */\n contentMode: CONTENT_MODE_PROP,\n\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: null,\n validator: (t) => t === null\n || Object.values(COMBOBOX_LABEL_SIZES).includes(t)\n || Object.keys(COMPONENT_SIZES).includes(String(t)),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the header wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the footer wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"combobox-with-popover.cjs","names":[],"sources":["../../../components/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :dialog-class=\"dialogClass\"\n :transition=\"transition\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(COMBOBOX_LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the popover dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"mappings":"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"}
@@ -1,39 +1,36 @@
1
- import { COMPONENT_SIZES as e } from "../../common/constants/sizes.js";
2
- import { getUniqueString as t, hasSlotContent as n } from "../../common/utils/index.js";
3
- import { t as r } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
4
- import { t as i } from "../../mode_constants-tb7TL85q.js";
5
- import a from "../combobox/combobox-loading-list.js";
6
- import o from "../combobox/combobox-empty-list.js";
7
- import { t as s } from "../../combobox-BQBKrDTW.js";
8
- import { COMBOBOX_LABEL_SIZES as c } from "../combobox/combobox-constants.js";
9
- import { POPOVER_APPEND_TO_VALUES as l, POPOVER_CONTENT_WIDTHS as u } from "../popover/popover-constants.js";
10
- import d from "../popover/popover.js";
11
- import { DROPDOWN_PADDING_CLASSES as f } from "../dropdown/dropdown-constants.js";
12
- import { createBlock as p, createElementVNode as m, createSlots as h, createVNode as g, mergeProps as _, normalizeClass as v, normalizeProps as y, openBlock as b, renderSlot as x, resolveComponent as S, withCtx as C, withKeys as w } from "vue";
1
+ import { getUniqueString as e, hasSlotContent as t } from "../../common/utils/index.js";
2
+ import { t as n } from "../../_plugin-vue_export-helper-BTgDAbhb.js";
3
+ import r from "../combobox/combobox-loading-list.js";
4
+ import i from "../combobox/combobox-empty-list.js";
5
+ import { t as a } from "../../combobox-DgClbLOg.js";
6
+ import { COMBOBOX_LABEL_SIZES as o } from "../combobox/combobox-constants.js";
7
+ import { POPOVER_APPEND_TO_VALUES as s, POPOVER_CONTENT_WIDTHS as c } from "../popover/popover-constants.js";
8
+ import l from "../popover/popover.js";
9
+ import { DROPDOWN_PADDING_CLASSES as u } from "../dropdown/dropdown-constants.js";
10
+ import { createBlock as d, createElementVNode as f, createSlots as p, createVNode as m, mergeProps as h, normalizeClass as g, normalizeProps as _, openBlock as v, renderSlot as y, resolveComponent as b, withCtx as x, withKeys as S } from "vue";
13
11
  //#region components/combobox_with_popover/combobox_with_popover.vue
14
- var T = {
12
+ var C = {
15
13
  compatConfig: { MODE: 3 },
16
14
  name: "DtComboboxWithPopover",
17
15
  components: {
18
- DtCombobox: s,
19
- DtPopover: d,
20
- ComboboxLoadingList: a,
21
- ComboboxEmptyList: o
16
+ DtCombobox: a,
17
+ DtPopover: l,
18
+ ComboboxLoadingList: r,
19
+ ComboboxEmptyList: i
22
20
  },
23
21
  props: {
24
- contentMode: i,
25
22
  label: {
26
23
  type: String,
27
24
  required: !0
28
25
  },
29
- showLabel: {
26
+ labelVisible: {
30
27
  type: Boolean,
31
28
  default: !0
32
29
  },
33
30
  size: {
34
- type: [String, Number],
31
+ type: String,
35
32
  default: null,
36
- validator: (t) => t === null || Object.values(c).includes(t) || Object.keys(e).includes(String(t))
33
+ validator: (e) => Object.values(o).includes(e)
37
34
  },
38
35
  description: {
39
36
  type: String,
@@ -46,7 +43,7 @@ var T = {
46
43
  listId: {
47
44
  type: String,
48
45
  default() {
49
- return t();
46
+ return e();
50
47
  }
51
48
  },
52
49
  listClass: {
@@ -57,15 +54,7 @@ var T = {
57
54
  ],
58
55
  default: ""
59
56
  },
60
- headerClass: {
61
- type: [
62
- String,
63
- Array,
64
- Object
65
- ],
66
- default: ""
67
- },
68
- footerClass: {
57
+ dialogClass: {
69
58
  type: [
70
59
  String,
71
60
  Array,
@@ -92,12 +81,12 @@ var T = {
92
81
  padding: {
93
82
  type: String,
94
83
  default: "small",
95
- validator: (e) => Object.keys(f).some((t) => t === e)
84
+ validator: (e) => Object.keys(u).some((t) => t === e)
96
85
  },
97
86
  contentWidth: {
98
87
  type: String,
99
88
  default: null,
100
- validator: (e) => u.includes(e)
89
+ validator: (e) => c.includes(e)
101
90
  },
102
91
  openWithArrowKeys: {
103
92
  type: Boolean,
@@ -130,7 +119,7 @@ var T = {
130
119
  appendTo: {
131
120
  type: [HTMLElement, String],
132
121
  default: "body",
133
- validator: (e) => l.includes(e) || e instanceof HTMLElement
122
+ validator: (e) => s.includes(e) || e instanceof HTMLElement
134
123
  },
135
124
  transition: {
136
125
  type: String,
@@ -145,12 +134,12 @@ var T = {
145
134
  ],
146
135
  data() {
147
136
  return {
148
- DROPDOWN_PADDING_CLASSES: f,
137
+ DROPDOWN_PADDING_CLASSES: u,
149
138
  isListShown: !1,
150
139
  isInputFocused: !1,
151
140
  isListFocused: !1,
152
- externalAnchor: t(),
153
- hasSlotContent: n
141
+ externalAnchor: e(),
142
+ hasSlotContent: t
154
143
  };
155
144
  },
156
145
  computed: { comboboxListeners() {
@@ -205,14 +194,14 @@ var T = {
205
194
  this.showList !== null || this.isListShown || !this.openWithArrowKeys || this.showComboboxList();
206
195
  }
207
196
  }
208
- }, E = ["id"], D = ["onMouseleave", "onFocusout"];
197
+ }, w = ["id"], T = { ref: "header" }, E = ["onMouseleave", "onFocusout"], D = { ref: "footer" };
209
198
  function O(e, t, n, r, i, a) {
210
- let o = S("combobox-loading-list"), s = S("combobox-empty-list"), c = S("dt-popover"), l = S("dt-combobox");
211
- return b(), p(l, _({
199
+ let o = b("combobox-loading-list"), s = b("combobox-empty-list"), c = b("dt-popover"), l = b("dt-combobox");
200
+ return v(), d(l, h({
212
201
  ref: "combobox",
213
202
  loading: n.loading,
214
203
  label: n.label,
215
- "show-label": n.showLabel,
204
+ "label-visible": n.labelVisible,
216
205
  size: n.size,
217
206
  description: n.description,
218
207
  "empty-list": n.emptyList,
@@ -224,25 +213,24 @@ function O(e, t, n, r, i, a) {
224
213
  "list-id": n.listId,
225
214
  "data-qa": "dt-combobox"
226
215
  }, a.comboboxListeners), {
227
- input: C(({ inputProps: n }) => [m("div", {
216
+ input: x(({ inputProps: n }) => [f("div", {
228
217
  id: i.externalAnchor,
229
218
  ref: "input",
230
219
  onFocusin: t[0] || (t[0] = (...e) => a.onFocusIn && a.onFocusIn(...e)),
231
- onKeydown: [t[1] || (t[1] = w((e) => a.openOnArrowKeyPress(e), ["up"])), t[2] || (t[2] = w((e) => a.openOnArrowKeyPress(e), ["down"]))]
232
- }, [x(e.$slots, "input", {
220
+ onKeydown: [t[1] || (t[1] = S((e) => a.openOnArrowKeyPress(e), ["up"])), t[2] || (t[2] = S((e) => a.openOnArrowKeyPress(e), ["down"]))]
221
+ }, [y(e.$slots, "input", {
233
222
  inputProps: n,
234
223
  onInput: a.handleDisplayList
235
- })], 40, E)]),
236
- list: C(({ opened: r, listProps: a, clearHighlightIndex: l }) => [g(c, {
224
+ })], 40, w)]),
225
+ list: x(({ opened: r, listProps: a, clearHighlightIndex: l }) => [m(c, {
237
226
  ref: "popover",
238
227
  open: i.isListShown,
239
228
  "onUpdate:open": t[3] || (t[3] = (e) => i.isListShown = e),
240
- "close-on-click": !1,
229
+ "hide-on-click": !1,
241
230
  "max-height": n.maxHeight,
242
231
  "max-width": n.maxWidth,
243
232
  offset: n.popoverOffset,
244
233
  sticky: n.popoverSticky,
245
- "content-mode": n.contentMode,
246
234
  placement: "bottom-start",
247
235
  "initial-focus-element": "none",
248
236
  padding: "none",
@@ -254,36 +242,31 @@ function O(e, t, n, r, i, a) {
254
242
  modal: !1,
255
243
  "auto-focus": !1,
256
244
  "append-to": n.appendTo,
245
+ "dialog-class": n.dialogClass,
257
246
  transition: n.transition,
258
247
  onOpened: r
259
- }, h({
260
- content: C(() => [m("div", {
248
+ }, p({
249
+ content: x(() => [f("div", {
261
250
  ref: "listWrapper",
262
- class: v([
251
+ class: g([
263
252
  "d-recipe-combobox-with-popover__list",
264
253
  i.DROPDOWN_PADDING_CLASSES[n.padding],
265
254
  n.listClass
266
255
  ]),
267
256
  onMouseleave: l,
268
257
  onFocusout: l
269
- }, [n.loading ? (b(), p(o, y(_({ key: 0 }, a)), null, 16)) : n.emptyList && n.emptyStateMessage ? (b(), p(s, _({ key: 1 }, a, { message: n.emptyStateMessage }), null, 16, ["message"])) : x(e.$slots, "list", {
258
+ }, [n.loading ? (v(), d(o, _(h({ key: 0 }, a)), null, 16)) : n.emptyList && n.emptyStateMessage ? (v(), d(s, h({ key: 1 }, a, { message: n.emptyStateMessage }), null, 16, ["message"])) : y(e.$slots, "list", {
270
259
  key: 2,
271
260
  listProps: a
272
- })], 42, D)]),
261
+ })], 42, E)]),
273
262
  _: 2
274
263
  }, [i.hasSlotContent(e.$slots.header) ? {
275
264
  name: "headerContent",
276
- fn: C(() => [m("div", {
277
- ref: "header",
278
- class: v(n.headerClass)
279
- }, [x(e.$slots, "header")], 2)]),
265
+ fn: x(() => [f("div", T, [y(e.$slots, "header")], 512)]),
280
266
  key: "0"
281
267
  } : void 0, i.hasSlotContent(e.$slots.footer) ? {
282
268
  name: "footerContent",
283
- fn: C(() => [m("div", {
284
- ref: "footer",
285
- class: v(n.footerClass)
286
- }, [x(e.$slots, "footer")], 2)]),
269
+ fn: x(() => [f("div", D, [y(e.$slots, "footer")], 512)]),
287
270
  key: "1"
288
271
  } : void 0]), 1032, [
289
272
  "open",
@@ -291,10 +274,10 @@ function O(e, t, n, r, i, a) {
291
274
  "max-width",
292
275
  "offset",
293
276
  "sticky",
294
- "content-mode",
295
277
  "external-anchor",
296
278
  "content-width",
297
279
  "append-to",
280
+ "dialog-class",
298
281
  "transition",
299
282
  "onOpened"
300
283
  ])]),
@@ -302,7 +285,7 @@ function O(e, t, n, r, i, a) {
302
285
  }, 16, [
303
286
  "loading",
304
287
  "label",
305
- "show-label",
288
+ "label-visible",
306
289
  "size",
307
290
  "description",
308
291
  "empty-list",
@@ -313,7 +296,7 @@ function O(e, t, n, r, i, a) {
313
296
  "list-id"
314
297
  ]);
315
298
  }
316
- var k = /* @__PURE__ */ r(T, [["render", O]]);
299
+ var k = /* @__PURE__ */ n(C, [["render", O]]);
317
300
  //#endregion
318
301
  export { k as default };
319
302
 
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-with-popover.js","names":[],"sources":["../../../components/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :show-label=\"showLabel\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :close-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n :content-mode=\"contentMode\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n :class=\"headerClass\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n :class=\"footerClass\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { COMPONENT_SIZES } from '@/common/constants';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\nimport { CONTENT_MODE_PROP } from '@/common/mode_constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n props: {\n /**\n * Applies a color mode to the positioned content element.\n * @values light, dark, invert\n */\n contentMode: CONTENT_MODE_PROP,\n\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: null,\n validator: (t) => t === null\n || Object.values(COMBOBOX_LABEL_SIZES).includes(t)\n || Object.keys(COMPONENT_SIZES).includes(String(t)),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the header wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the footer wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"combobox-with-popover.js","names":[],"sources":["../../../components/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :dialog-class=\"dialogClass\"\n :transition=\"transition\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[\n 'd-recipe-combobox-with-popover__list',\n DROPDOWN_PADDING_CLASSES[padding],\n listClass,\n ]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, COMBOBOX_LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(COMBOBOX_LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class for the popover dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"mappings":"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"}