@dialpad/dialtone 9.77.0-beta.1 → 9.78.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 (1020) hide show
  1. package/README.md +26 -23
  2. package/dist/css/dialtone-default-theme.css +798 -810
  3. package/dist/css/dialtone-default-theme.min.css +1 -1
  4. package/dist/css/dialtone.css +3 -0
  5. package/dist/css/dialtone.min.css +1 -1
  6. package/dist/css/tokens/tokens-base-dark.css +0 -5
  7. package/dist/css/tokens/tokens-base-light.css +0 -5
  8. package/dist/css/tokens/tokens-dp-dark.css +795 -805
  9. package/dist/css/tokens/tokens-dp-light.css +795 -805
  10. package/dist/css/tokens/tokens-expressive-dark.css +795 -805
  11. package/dist/css/tokens/tokens-expressive-light.css +795 -805
  12. package/dist/css/tokens/tokens-expressive-sm-dark.css +795 -805
  13. package/dist/css/tokens/tokens-expressive-sm-light.css +795 -805
  14. package/dist/css/tokens/tokens-tmo-dark.css +780 -790
  15. package/dist/css/tokens/tokens-tmo-light.css +780 -790
  16. package/dist/tokens/css/tokens-base-dark.css +0 -5
  17. package/dist/tokens/css/tokens-base-light.css +0 -5
  18. package/dist/tokens/css/tokens-dp-dark.css +795 -805
  19. package/dist/tokens/css/tokens-dp-light.css +795 -805
  20. package/dist/tokens/css/tokens-expressive-dark.css +795 -805
  21. package/dist/tokens/css/tokens-expressive-light.css +795 -805
  22. package/dist/tokens/css/tokens-expressive-sm-dark.css +795 -805
  23. package/dist/tokens/css/tokens-expressive-sm-light.css +795 -805
  24. package/dist/tokens/css/tokens-tmo-dark.css +780 -790
  25. package/dist/tokens/css/tokens-tmo-light.css +780 -790
  26. package/dist/tokens/doc.json +9895 -9895
  27. package/dist/tokens/postcss/rem-to-px.cjs +1 -1
  28. package/dist/tokens/postcss/rem-to-px.js +7 -12
  29. package/dist/tokens/postcss/root-to-host.cjs +1 -0
  30. package/dist/tokens/postcss/root-to-host.js +12 -0
  31. package/dist/tokens/themes/chunks/{tokens-base-dark-D9QWQ06G.js → tokens-base-dark-DPDbA0Im.js} +1 -1
  32. package/dist/tokens/themes/chunks/{tokens-base-dark-BspLyPe6.js → tokens-base-dark-OGkvNn32.js} +1 -1
  33. package/dist/tokens/themes/chunks/{tokens-base-light-CCF-uj56.js → tokens-base-light-C0l67sjm.js} +1 -1
  34. package/dist/tokens/themes/chunks/{tokens-base-light-B2jKQq80.js → tokens-base-light-nNZ2WKLp.js} +2 -2
  35. package/dist/tokens/themes/config.cjs +1 -1
  36. package/dist/tokens/themes/config.js +9 -9
  37. package/dist/tokens/themes/dp-dark.cjs +1 -1
  38. package/dist/tokens/themes/dp-dark.js +2 -2
  39. package/dist/tokens/themes/dp-light.cjs +1 -1
  40. package/dist/tokens/themes/dp-light.js +2 -2
  41. package/dist/tokens/themes/expressive-dark.cjs +1 -1
  42. package/dist/tokens/themes/expressive-dark.js +3 -3
  43. package/dist/tokens/themes/expressive-light.cjs +1 -1
  44. package/dist/tokens/themes/expressive-light.js +3 -3
  45. package/dist/tokens/themes/expressive-sm-dark.cjs +1 -1
  46. package/dist/tokens/themes/expressive-sm-dark.js +3 -3
  47. package/dist/tokens/themes/expressive-sm-light.cjs +1 -1
  48. package/dist/tokens/themes/expressive-sm-light.js +3 -3
  49. package/dist/tokens/themes/tmo-dark.cjs +1 -1
  50. package/dist/tokens/themes/tmo-dark.js +3 -3
  51. package/dist/tokens/themes/tmo-light.cjs +1 -1
  52. package/dist/tokens/themes/tmo-light.js +3 -3
  53. package/dist/tokens/types/postcss/constants.d.cts +45 -0
  54. package/dist/tokens/types/postcss/constants.d.cts.map +1 -0
  55. package/dist/tokens/types/postcss/dialtone-tokens.d.cts +3 -0
  56. package/dist/tokens/types/postcss/dialtone-tokens.d.cts.map +1 -0
  57. package/dist/tokens/types/themes/config.d.ts +2 -0
  58. package/dist/tokens/{themes/types → types}/themes/config.d.ts.map +1 -1
  59. package/dist/tokens/{themes/types → types}/themes/dp-dark.d.ts.map +1 -1
  60. package/dist/tokens/{themes/types → types}/themes/dp-light.d.ts.map +1 -1
  61. package/dist/tokens/types/themes/expressive-dark.d.ts.map +1 -0
  62. package/dist/tokens/types/themes/expressive-light.d.ts.map +1 -0
  63. package/dist/tokens/types/themes/expressive-sm-dark.d.ts.map +1 -0
  64. package/dist/tokens/types/themes/expressive-sm-light.d.ts.map +1 -0
  65. package/dist/tokens/{themes/types → types}/themes/tmo-dark.d.ts.map +1 -1
  66. package/dist/tokens/{themes/types → types}/themes/tmo-light.d.ts.map +1 -1
  67. package/dist/vue2/common/utils.cjs +7 -0
  68. package/dist/vue2/common/utils.cjs.map +1 -1
  69. package/dist/vue2/common/utils.js +8 -1
  70. package/dist/vue2/common/utils.js.map +1 -1
  71. package/dist/vue2/components/datepicker/datepicker.vue.cjs +4 -0
  72. package/dist/vue2/components/datepicker/datepicker.vue.cjs.map +1 -1
  73. package/dist/vue2/components/datepicker/datepicker.vue.js +4 -0
  74. package/dist/vue2/components/datepicker/datepicker.vue.js.map +1 -1
  75. package/dist/vue2/components/emoji_picker/emoji_picker.vue.cjs +3 -7
  76. package/dist/vue2/components/emoji_picker/emoji_picker.vue.cjs.map +1 -1
  77. package/dist/vue2/components/emoji_picker/emoji_picker.vue.js +3 -7
  78. package/dist/vue2/components/emoji_picker/emoji_picker.vue.js.map +1 -1
  79. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.cjs +8 -22
  80. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.cjs.map +1 -1
  81. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.js +8 -22
  82. package/dist/vue2/components/emoji_picker/modules/emoji_selector.vue.js.map +1 -1
  83. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs +5 -9
  84. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  85. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js +5 -9
  86. package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  87. package/dist/vue2/components/popover/popover.vue.cjs +1 -0
  88. package/dist/vue2/components/popover/popover.vue.cjs.map +1 -1
  89. package/dist/vue2/components/popover/popover.vue.js +2 -1
  90. package/dist/vue2/components/popover/popover.vue.js.map +1 -1
  91. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.cjs +35 -0
  92. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
  93. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.js +35 -0
  94. package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
  95. package/dist/vue2/components/split_button/split_button.vue.cjs +4 -0
  96. package/dist/vue2/components/split_button/split_button.vue.cjs.map +1 -1
  97. package/dist/vue2/components/split_button/split_button.vue.js +4 -0
  98. package/dist/vue2/components/split_button/split_button.vue.js.map +1 -1
  99. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +3 -0
  100. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  101. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +4 -1
  102. package/dist/vue2/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  103. package/dist/vue2/types/common/dates/index.d.ts +0 -44
  104. package/dist/vue2/types/common/dates/index.d.ts.map +1 -1
  105. package/dist/vue2/types/common/emoji/index.d.ts +0 -3
  106. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  107. package/dist/vue2/types/common/mixins/dom.d.ts +0 -8
  108. package/dist/vue2/types/common/mixins/dom.d.ts.map +1 -1
  109. package/dist/vue2/types/common/mixins/index.d.ts +3 -3
  110. package/dist/vue2/types/common/mixins/input.d.ts +2 -6
  111. package/dist/vue2/types/common/mixins/input.d.ts.map +1 -1
  112. package/dist/vue2/types/common/mixins/input_group.d.ts +2 -2
  113. package/dist/vue2/types/common/mixins/modal.d.ts +0 -32
  114. package/dist/vue2/types/common/mixins/modal.d.ts.map +1 -1
  115. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts +2 -10
  116. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  117. package/dist/vue2/types/common/utils/index.d.ts +1 -66
  118. package/dist/vue2/types/common/utils/index.d.ts.map +1 -1
  119. package/dist/vue2/types/components/avatar/avatar.vue.d.ts +4 -138
  120. package/dist/vue2/types/components/avatar/avatar.vue.d.ts.map +1 -1
  121. package/dist/vue2/types/components/avatar/index.d.ts +2 -2
  122. package/dist/vue2/types/components/badge/badge.vue.d.ts +7 -73
  123. package/dist/vue2/types/components/badge/badge.vue.d.ts.map +1 -1
  124. package/dist/vue2/types/components/badge/index.d.ts +2 -2
  125. package/dist/vue2/types/components/banner/banner.vue.d.ts +2 -106
  126. package/dist/vue2/types/components/banner/banner.vue.d.ts.map +1 -1
  127. package/dist/vue2/types/components/banner/index.d.ts +1 -1
  128. package/dist/vue2/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +2 -20
  129. package/dist/vue2/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  130. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +2 -22
  131. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts.map +1 -1
  132. package/dist/vue2/types/components/breadcrumbs/index.d.ts +3 -3
  133. package/dist/vue2/types/components/button/button.vue.d.ts +4 -156
  134. package/dist/vue2/types/components/button/button.vue.d.ts.map +1 -1
  135. package/dist/vue2/types/components/button/index.d.ts +2 -2
  136. package/dist/vue2/types/components/button_group/button_group.vue.d.ts +2 -8
  137. package/dist/vue2/types/components/button_group/button_group.vue.d.ts.map +1 -1
  138. package/dist/vue2/types/components/button_group/index.d.ts +2 -2
  139. package/dist/vue2/types/components/card/card.vue.d.ts +2 -34
  140. package/dist/vue2/types/components/card/card.vue.d.ts.map +1 -1
  141. package/dist/vue2/types/components/card/index.d.ts +1 -1
  142. package/dist/vue2/types/components/checkbox/checkbox.vue.d.ts +5 -10
  143. package/dist/vue2/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  144. package/dist/vue2/types/components/checkbox/index.d.ts +1 -1
  145. package/dist/vue2/types/components/checkbox_group/checkbox_group.vue.d.ts +9 -47
  146. package/dist/vue2/types/components/checkbox_group/checkbox_group.vue.d.ts.map +1 -1
  147. package/dist/vue2/types/components/checkbox_group/index.d.ts +1 -1
  148. package/dist/vue2/types/components/chip/chip.vue.d.ts +3 -61
  149. package/dist/vue2/types/components/chip/chip.vue.d.ts.map +1 -1
  150. package/dist/vue2/types/components/chip/index.d.ts +2 -2
  151. package/dist/vue2/types/components/codeblock/codeblock.vue.d.ts +2 -2
  152. package/dist/vue2/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
  153. package/dist/vue2/types/components/codeblock/index.d.ts +1 -1
  154. package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts +3 -85
  155. package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  156. package/dist/vue2/types/components/collapsible/collapsible_lazy_show.vue.d.ts +2 -44
  157. package/dist/vue2/types/components/collapsible/collapsible_lazy_show.vue.d.ts.map +1 -1
  158. package/dist/vue2/types/components/collapsible/index.d.ts +1 -1
  159. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +4 -118
  160. package/dist/vue2/types/components/combobox/combobox.vue.d.ts.map +1 -1
  161. package/dist/vue2/types/components/combobox/combobox_empty-list.vue.d.ts +2 -18
  162. package/dist/vue2/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  163. package/dist/vue2/types/components/combobox/combobox_loading-list.vue.d.ts +1 -1
  164. package/dist/vue2/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  165. package/dist/vue2/types/components/combobox/index.d.ts +2 -2
  166. package/dist/vue2/types/components/datepicker/datepicker.vue.d.ts +1 -1
  167. package/dist/vue2/types/components/datepicker/datepicker.vue.d.ts.map +1 -1
  168. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts +0 -5
  169. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  170. package/dist/vue2/types/components/datepicker/formatUtils.d.ts +0 -36
  171. package/dist/vue2/types/components/datepicker/formatUtils.d.ts.map +1 -1
  172. package/dist/vue2/types/components/datepicker/index.d.ts +2 -2
  173. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts +2 -2
  174. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts.map +1 -1
  175. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts +2 -2
  176. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  177. package/dist/vue2/types/components/description_list/description_list.vue.d.ts +2 -36
  178. package/dist/vue2/types/components/description_list/description_list.vue.d.ts.map +1 -1
  179. package/dist/vue2/types/components/description_list/index.d.ts +2 -2
  180. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +32 -200
  181. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  182. package/dist/vue2/types/components/dropdown/dropdown_separator.vue.d.ts +1 -1
  183. package/dist/vue2/types/components/dropdown/dropdown_separator.vue.d.ts.map +1 -1
  184. package/dist/vue2/types/components/dropdown/index.d.ts +3 -3
  185. package/dist/vue2/types/components/emoji/emoji.vue.d.ts +2 -52
  186. package/dist/vue2/types/components/emoji/emoji.vue.d.ts.map +1 -1
  187. package/dist/vue2/types/components/emoji/index.d.ts +1 -1
  188. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts +1 -1
  189. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts.map +1 -1
  190. package/dist/vue2/types/components/emoji_picker/index.d.ts +2 -2
  191. package/dist/vue2/types/components/emoji_picker/modules/emoji_description.vue.d.ts +2 -12
  192. package/dist/vue2/types/components/emoji_picker/modules/emoji_description.vue.d.ts.map +1 -1
  193. package/dist/vue2/types/components/emoji_picker/modules/emoji_search.vue.d.ts +2 -2
  194. package/dist/vue2/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  195. package/dist/vue2/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +3 -2
  196. package/dist/vue2/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  197. package/dist/vue2/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts +2 -2
  198. package/dist/vue2/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -1
  199. package/dist/vue2/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +1 -1
  200. package/dist/vue2/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  201. package/dist/vue2/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +2 -28
  202. package/dist/vue2/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  203. package/dist/vue2/types/components/emoji_text_wrapper/index.d.ts +1 -1
  204. package/dist/vue2/types/components/empty_state/empty_state.vue.d.ts +1 -1
  205. package/dist/vue2/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  206. package/dist/vue2/types/components/empty_state/index.d.ts +2 -2
  207. package/dist/vue2/types/components/hovercard/hovercard.vue.d.ts +1 -1
  208. package/dist/vue2/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  209. package/dist/vue2/types/components/hovercard/index.d.ts +1 -1
  210. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -22
  211. package/dist/vue2/types/components/icon/icon.vue.d.ts.map +1 -1
  212. package/dist/vue2/types/components/icon/index.d.ts +2 -2
  213. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -8
  214. package/dist/vue2/types/components/illustration/illustration.vue.d.ts.map +1 -1
  215. package/dist/vue2/types/components/illustration/index.d.ts +2 -2
  216. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +2 -58
  217. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  218. package/dist/vue2/types/components/image_viewer/index.d.ts +1 -1
  219. package/dist/vue2/types/components/input/index.d.ts +2 -2
  220. package/dist/vue2/types/components/input/input.vue.d.ts +3 -119
  221. package/dist/vue2/types/components/input/input.vue.d.ts.map +1 -1
  222. package/dist/vue2/types/components/input_group/index.d.ts +1 -1
  223. package/dist/vue2/types/components/input_group/input_group.vue.d.ts +8 -37
  224. package/dist/vue2/types/components/input_group/input_group.vue.d.ts.map +1 -1
  225. package/dist/vue2/types/components/item_layout/index.d.ts +1 -1
  226. package/dist/vue2/types/components/item_layout/item_layout.vue.d.ts +2 -16
  227. package/dist/vue2/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  228. package/dist/vue2/types/components/keyboard_shortcut/index.d.ts +2 -2
  229. package/dist/vue2/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +2 -24
  230. package/dist/vue2/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  231. package/dist/vue2/types/components/lazy_show/index.d.ts +1 -1
  232. package/dist/vue2/types/components/lazy_show/lazy_show.vue.d.ts +2 -30
  233. package/dist/vue2/types/components/lazy_show/lazy_show.vue.d.ts.map +1 -1
  234. package/dist/vue2/types/components/link/index.d.ts +2 -2
  235. package/dist/vue2/types/components/link/link.vue.d.ts +2 -20
  236. package/dist/vue2/types/components/link/link.vue.d.ts.map +1 -1
  237. package/dist/vue2/types/components/list_item/index.d.ts +2 -2
  238. package/dist/vue2/types/components/list_item/list_item.vue.d.ts +5 -58
  239. package/dist/vue2/types/components/list_item/list_item.vue.d.ts.map +1 -1
  240. package/dist/vue2/types/components/list_item_group/index.d.ts +1 -1
  241. package/dist/vue2/types/components/list_item_group/list_item_group.vue.d.ts +2 -26
  242. package/dist/vue2/types/components/list_item_group/list_item_group.vue.d.ts.map +1 -1
  243. package/dist/vue2/types/components/modal/index.d.ts +2 -2
  244. package/dist/vue2/types/components/modal/modal.vue.d.ts +7 -164
  245. package/dist/vue2/types/components/modal/modal.vue.d.ts.map +1 -1
  246. package/dist/vue2/types/components/notice/index.d.ts +5 -5
  247. package/dist/vue2/types/components/notice/notice.vue.d.ts +2 -94
  248. package/dist/vue2/types/components/notice/notice.vue.d.ts.map +1 -1
  249. package/dist/vue2/types/components/notice/notice_action.vue.d.ts +3 -28
  250. package/dist/vue2/types/components/notice/notice_action.vue.d.ts.map +1 -1
  251. package/dist/vue2/types/components/notice/notice_content.vue.d.ts +2 -24
  252. package/dist/vue2/types/components/notice/notice_content.vue.d.ts.map +1 -1
  253. package/dist/vue2/types/components/notice/notice_icon.vue.d.ts +2 -10
  254. package/dist/vue2/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  255. package/dist/vue2/types/components/pagination/index.d.ts +1 -1
  256. package/dist/vue2/types/components/pagination/pagination.vue.d.ts +2 -48
  257. package/dist/vue2/types/components/pagination/pagination.vue.d.ts.map +1 -1
  258. package/dist/vue2/types/components/popover/index.d.ts +2 -2
  259. package/dist/vue2/types/components/popover/popover.vue.d.ts +2 -2
  260. package/dist/vue2/types/components/popover/popover.vue.d.ts.map +1 -1
  261. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +2 -24
  262. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  263. package/dist/vue2/types/components/popover/tippy_utils.d.ts +2 -2
  264. package/dist/vue2/types/components/presence/index.d.ts +2 -2
  265. package/dist/vue2/types/components/presence/presence.vue.d.ts +2 -22
  266. package/dist/vue2/types/components/presence/presence.vue.d.ts.map +1 -1
  267. package/dist/vue2/types/components/radio/index.d.ts +2 -2
  268. package/dist/vue2/types/components/radio/radio.vue.d.ts +4 -10
  269. package/dist/vue2/types/components/radio/radio.vue.d.ts.map +1 -1
  270. package/dist/vue2/types/components/radio_group/index.d.ts +1 -1
  271. package/dist/vue2/types/components/radio_group/radio_group.vue.d.ts +8 -39
  272. package/dist/vue2/types/components/radio_group/radio_group.vue.d.ts.map +1 -1
  273. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +18 -18
  274. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  275. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts +2 -2
  276. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  277. package/dist/vue2/types/components/rich_text_editor/extensions/channels/channel.d.ts +1 -1
  278. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts +1 -4
  279. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts.map +1 -1
  280. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts +1 -1
  281. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/index.d.ts +1 -1
  282. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/utils.d.ts +0 -28
  283. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/utils.d.ts.map +1 -1
  284. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +18 -18
  285. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts.map +1 -1
  286. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +2 -2
  287. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts.map +1 -1
  288. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/emoji.d.ts +1 -1
  289. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/index.d.ts +2 -2
  290. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +18 -18
  291. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +1 -1
  292. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +2 -2
  293. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  294. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/mention.d.ts +1 -1
  295. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +18 -18
  296. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts.map +1 -1
  297. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +2 -2
  298. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  299. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
  300. package/dist/vue2/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +2 -2
  301. package/dist/vue2/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  302. package/dist/vue2/types/components/rich_text_editor/index.d.ts +2 -2
  303. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -245
  304. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  305. package/dist/vue2/types/components/root_layout/index.d.ts +2 -2
  306. package/dist/vue2/types/components/root_layout/root_layout.vue.d.ts +2 -80
  307. package/dist/vue2/types/components/root_layout/root_layout.vue.d.ts.map +1 -1
  308. package/dist/vue2/types/components/select_menu/index.d.ts +2 -2
  309. package/dist/vue2/types/components/select_menu/select_menu.vue.d.ts +3 -97
  310. package/dist/vue2/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  311. package/dist/vue2/types/components/skeleton/index.d.ts +6 -6
  312. package/dist/vue2/types/components/skeleton/skeleton-list-item.vue.d.ts +2 -68
  313. package/dist/vue2/types/components/skeleton/skeleton-list-item.vue.d.ts.map +1 -1
  314. package/dist/vue2/types/components/skeleton/skeleton-paragraph.vue.d.ts +2 -76
  315. package/dist/vue2/types/components/skeleton/skeleton-paragraph.vue.d.ts.map +1 -1
  316. package/dist/vue2/types/components/skeleton/skeleton-shape.vue.d.ts +2 -54
  317. package/dist/vue2/types/components/skeleton/skeleton-shape.vue.d.ts.map +1 -1
  318. package/dist/vue2/types/components/skeleton/skeleton-text.vue.d.ts +3 -66
  319. package/dist/vue2/types/components/skeleton/skeleton-text.vue.d.ts.map +1 -1
  320. package/dist/vue2/types/components/skeleton/skeleton.vue.d.ts +2 -70
  321. package/dist/vue2/types/components/skeleton/skeleton.vue.d.ts.map +1 -1
  322. package/dist/vue2/types/components/split_button/index.d.ts +2 -2
  323. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +4 -74
  324. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
  325. package/dist/vue2/types/components/split_button/split_button-omega.vue.d.ts +4 -54
  326. package/dist/vue2/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  327. package/dist/vue2/types/components/split_button/split_button.vue.d.ts +4 -150
  328. package/dist/vue2/types/components/split_button/split_button.vue.d.ts.map +1 -1
  329. package/dist/vue2/types/components/stack/index.d.ts +2 -2
  330. package/dist/vue2/types/components/stack/stack.vue.d.ts +1 -1
  331. package/dist/vue2/types/components/stack/stack.vue.d.ts.map +1 -1
  332. package/dist/vue2/types/components/tabs/index.d.ts +4 -4
  333. package/dist/vue2/types/components/tabs/tab.vue.d.ts +3 -43
  334. package/dist/vue2/types/components/tabs/tab.vue.d.ts.map +1 -1
  335. package/dist/vue2/types/components/tabs/tab_group.vue.d.ts +3 -59
  336. package/dist/vue2/types/components/tabs/tab_group.vue.d.ts.map +1 -1
  337. package/dist/vue2/types/components/tabs/tab_panel.vue.d.ts +2 -28
  338. package/dist/vue2/types/components/tabs/tab_panel.vue.d.ts.map +1 -1
  339. package/dist/vue2/types/components/toast/index.d.ts +2 -2
  340. package/dist/vue2/types/components/toast/toast.vue.d.ts +3 -111
  341. package/dist/vue2/types/components/toast/toast.vue.d.ts.map +1 -1
  342. package/dist/vue2/types/components/toggle/index.d.ts +2 -2
  343. package/dist/vue2/types/components/toggle/toggle.vue.d.ts +5 -67
  344. package/dist/vue2/types/components/toggle/toggle.vue.d.ts.map +1 -1
  345. package/dist/vue2/types/components/tooltip/index.d.ts +2 -2
  346. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +10 -216
  347. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
  348. package/dist/vue2/types/components/validation_messages/index.d.ts +1 -1
  349. package/dist/vue2/types/components/validation_messages/validation_messages.vue.d.ts +3 -24
  350. package/dist/vue2/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
  351. package/dist/vue2/types/directives/scrollbar/index.d.ts +1 -1
  352. package/dist/vue2/types/directives/tooltip/index.d.ts +1 -1
  353. package/dist/vue2/types/index.d.ts +80 -80
  354. package/dist/vue2/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +6 -82
  355. package/dist/vue2/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  356. package/dist/vue2/types/recipes/buttons/callbar_button/index.d.ts +2 -2
  357. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +5 -149
  358. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  359. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/index.d.ts +1 -1
  360. package/dist/vue2/types/recipes/cards/ivr_node/index.d.ts +2 -2
  361. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +2 -32
  362. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  363. package/dist/vue2/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +1 -1
  364. package/dist/vue2/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  365. package/dist/vue2/types/recipes/chips/grouped_chip/index.d.ts +1 -1
  366. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +2 -2
  367. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  368. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/index.d.ts +2 -2
  369. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +6 -171
  370. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  371. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/index.d.ts +1 -1
  372. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +2 -20
  373. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  374. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/index.d.ts +1 -1
  375. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +2 -2
  376. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  377. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +2 -2
  378. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +1 -1
  379. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +4 -178
  380. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  381. package/dist/vue2/types/recipes/conversation_view/editor/index.d.ts +1 -1
  382. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +2 -8
  383. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  384. package/dist/vue2/types/recipes/conversation_view/emoji_row/index.d.ts +2 -2
  385. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +2 -68
  386. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  387. package/dist/vue2/types/recipes/conversation_view/feed_item_row/index.d.ts +2 -2
  388. package/dist/vue2/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts +2 -40
  389. package/dist/vue2/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts.map +1 -1
  390. package/dist/vue2/types/recipes/conversation_view/feed_pill/index.d.ts +2 -2
  391. package/dist/vue2/types/recipes/conversation_view/message_input/index.d.ts +1 -1
  392. package/dist/vue2/types/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.d.ts +18 -18
  393. package/dist/vue2/types/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  394. package/dist/vue2/types/recipes/conversation_view/message_input/meeting_pill/meeting_pill.d.ts +1 -1
  395. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +5 -249
  396. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  397. package/dist/vue2/types/recipes/conversation_view/time_pill/index.d.ts +1 -1
  398. package/dist/vue2/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts +2 -16
  399. package/dist/vue2/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts.map +1 -1
  400. package/dist/vue2/types/recipes/header/settings_menu_button/index.d.ts +1 -1
  401. package/dist/vue2/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +2 -18
  402. package/dist/vue2/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  403. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +4 -90
  404. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  405. package/dist/vue2/types/recipes/item_layout/contact_info/index.d.ts +1 -1
  406. package/dist/vue2/types/recipes/leftbar/callbox/callbox.vue.d.ts +2 -66
  407. package/dist/vue2/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  408. package/dist/vue2/types/recipes/leftbar/callbox/index.d.ts +2 -2
  409. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +2 -38
  410. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  411. package/dist/vue2/types/recipes/leftbar/contact_centers_row/index.d.ts +1 -1
  412. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +2 -110
  413. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  414. package/dist/vue2/types/recipes/leftbar/contact_row/index.d.ts +1 -1
  415. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +2 -125
  416. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  417. package/dist/vue2/types/recipes/leftbar/general_row/index.d.ts +2 -2
  418. package/dist/vue2/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +2 -2
  419. package/dist/vue2/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  420. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts +2 -46
  421. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  422. package/dist/vue2/types/recipes/leftbar/group_row/index.d.ts +1 -1
  423. package/dist/vue2/types/recipes/leftbar/unread_pill/index.d.ts +2 -2
  424. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +2 -18
  425. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  426. package/dist/vue2/types/recipes/notices/top_banner_info/index.d.ts +2 -2
  427. package/dist/vue2/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts +2 -8
  428. package/dist/vue2/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  429. package/dist/vue3/common/sr_only_close_button.vue.cjs.map +1 -1
  430. package/dist/vue3/common/sr_only_close_button.vue.js.map +1 -1
  431. package/dist/vue3/common/utils.cjs +7 -0
  432. package/dist/vue3/common/utils.cjs.map +1 -1
  433. package/dist/vue3/common/utils.js +8 -1
  434. package/dist/vue3/common/utils.js.map +1 -1
  435. package/dist/vue3/components/avatar/avatar.vue.cjs.map +1 -1
  436. package/dist/vue3/components/avatar/avatar.vue.js.map +1 -1
  437. package/dist/vue3/components/badge/badge.vue.cjs.map +1 -1
  438. package/dist/vue3/components/badge/badge.vue.js.map +1 -1
  439. package/dist/vue3/components/banner/banner.vue.cjs.map +1 -1
  440. package/dist/vue3/components/banner/banner.vue.js.map +1 -1
  441. package/dist/vue3/components/breadcrumbs/breadcrumb_item.vue.cjs.map +1 -1
  442. package/dist/vue3/components/breadcrumbs/breadcrumb_item.vue.js.map +1 -1
  443. package/dist/vue3/components/breadcrumbs/breadcrumbs.vue.cjs.map +1 -1
  444. package/dist/vue3/components/breadcrumbs/breadcrumbs.vue.js.map +1 -1
  445. package/dist/vue3/components/button/button.vue.cjs.map +1 -1
  446. package/dist/vue3/components/button/button.vue.js.map +1 -1
  447. package/dist/vue3/components/button_group/button_group.vue.cjs.map +1 -1
  448. package/dist/vue3/components/button_group/button_group.vue.js.map +1 -1
  449. package/dist/vue3/components/card/card.vue.cjs.map +1 -1
  450. package/dist/vue3/components/card/card.vue.js.map +1 -1
  451. package/dist/vue3/components/checkbox/checkbox.vue.cjs.map +1 -1
  452. package/dist/vue3/components/checkbox/checkbox.vue.js.map +1 -1
  453. package/dist/vue3/components/chip/chip.vue.cjs.map +1 -1
  454. package/dist/vue3/components/chip/chip.vue.js.map +1 -1
  455. package/dist/vue3/components/codeblock/codeblock.vue.cjs.map +1 -1
  456. package/dist/vue3/components/codeblock/codeblock.vue.js.map +1 -1
  457. package/dist/vue3/components/collapsible/collapsible.vue.cjs.map +1 -1
  458. package/dist/vue3/components/collapsible/collapsible.vue.js.map +1 -1
  459. package/dist/vue3/components/collapsible/collapsible_lazy_show.vue.cjs.map +1 -1
  460. package/dist/vue3/components/collapsible/collapsible_lazy_show.vue.js.map +1 -1
  461. package/dist/vue3/components/combobox/combobox.vue.cjs.map +1 -1
  462. package/dist/vue3/components/combobox/combobox.vue.js.map +1 -1
  463. package/dist/vue3/components/combobox/combobox_empty-list.vue.cjs.map +1 -1
  464. package/dist/vue3/components/combobox/combobox_empty-list.vue.js.map +1 -1
  465. package/dist/vue3/components/combobox/combobox_loading-list.vue.cjs.map +1 -1
  466. package/dist/vue3/components/combobox/combobox_loading-list.vue.js.map +1 -1
  467. package/dist/vue3/components/datepicker/datepicker.vue.cjs +5 -0
  468. package/dist/vue3/components/datepicker/datepicker.vue.cjs.map +1 -1
  469. package/dist/vue3/components/datepicker/datepicker.vue.js +6 -1
  470. package/dist/vue3/components/datepicker/datepicker.vue.js.map +1 -1
  471. package/dist/vue3/components/description_list/description_list.vue.cjs.map +1 -1
  472. package/dist/vue3/components/description_list/description_list.vue.js.map +1 -1
  473. package/dist/vue3/components/dropdown/dropdown.vue.cjs.map +1 -1
  474. package/dist/vue3/components/dropdown/dropdown.vue.js.map +1 -1
  475. package/dist/vue3/components/emoji/emoji.vue.cjs.map +1 -1
  476. package/dist/vue3/components/emoji/emoji.vue.js.map +1 -1
  477. package/dist/vue3/components/emoji_picker/emoji_picker.vue.cjs +1 -7
  478. package/dist/vue3/components/emoji_picker/emoji_picker.vue.cjs.map +1 -1
  479. package/dist/vue3/components/emoji_picker/emoji_picker.vue.js +1 -7
  480. package/dist/vue3/components/emoji_picker/emoji_picker.vue.js.map +1 -1
  481. package/dist/vue3/components/emoji_picker/modules/emoji_selector.vue.cjs +2 -22
  482. package/dist/vue3/components/emoji_picker/modules/emoji_selector.vue.cjs.map +1 -1
  483. package/dist/vue3/components/emoji_picker/modules/emoji_selector.vue.js +2 -22
  484. package/dist/vue3/components/emoji_picker/modules/emoji_selector.vue.js.map +1 -1
  485. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs +5 -10
  486. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  487. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js +6 -11
  488. package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  489. package/dist/vue3/components/icon/icon.vue.cjs.map +1 -1
  490. package/dist/vue3/components/icon/icon.vue.js.map +1 -1
  491. package/dist/vue3/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  492. package/dist/vue3/components/image_viewer/image_viewer.vue.js.map +1 -1
  493. package/dist/vue3/components/input/input.vue.cjs.map +1 -1
  494. package/dist/vue3/components/input/input.vue.js.map +1 -1
  495. package/dist/vue3/components/input_group/input_group.vue.cjs.map +1 -1
  496. package/dist/vue3/components/input_group/input_group.vue.js.map +1 -1
  497. package/dist/vue3/components/item_layout/item_layout.vue.cjs.map +1 -1
  498. package/dist/vue3/components/item_layout/item_layout.vue.js.map +1 -1
  499. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
  500. package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
  501. package/dist/vue3/components/lazy_show/lazy_show.vue.cjs.map +1 -1
  502. package/dist/vue3/components/lazy_show/lazy_show.vue.js.map +1 -1
  503. package/dist/vue3/components/link/link.vue.cjs.map +1 -1
  504. package/dist/vue3/components/link/link.vue.js.map +1 -1
  505. package/dist/vue3/components/list_item/list_item.vue.cjs.map +1 -1
  506. package/dist/vue3/components/list_item/list_item.vue.js.map +1 -1
  507. package/dist/vue3/components/list_item_group/list_item_group.vue.cjs.map +1 -1
  508. package/dist/vue3/components/list_item_group/list_item_group.vue.js.map +1 -1
  509. package/dist/vue3/components/modal/modal.vue.cjs.map +1 -1
  510. package/dist/vue3/components/modal/modal.vue.js.map +1 -1
  511. package/dist/vue3/components/notice/notice.vue.cjs.map +1 -1
  512. package/dist/vue3/components/notice/notice.vue.js.map +1 -1
  513. package/dist/vue3/components/notice/notice_action.vue.cjs.map +1 -1
  514. package/dist/vue3/components/notice/notice_action.vue.js.map +1 -1
  515. package/dist/vue3/components/notice/notice_content.vue.cjs.map +1 -1
  516. package/dist/vue3/components/notice/notice_content.vue.js.map +1 -1
  517. package/dist/vue3/components/notice/notice_icon.vue.cjs.map +1 -1
  518. package/dist/vue3/components/notice/notice_icon.vue.js.map +1 -1
  519. package/dist/vue3/components/pagination/pagination.vue.cjs.map +1 -1
  520. package/dist/vue3/components/pagination/pagination.vue.js.map +1 -1
  521. package/dist/vue3/components/popover/popover.vue.cjs +1 -0
  522. package/dist/vue3/components/popover/popover.vue.cjs.map +1 -1
  523. package/dist/vue3/components/popover/popover.vue.js +2 -1
  524. package/dist/vue3/components/popover/popover.vue.js.map +1 -1
  525. package/dist/vue3/components/popover/popover_header_footer.vue.cjs.map +1 -1
  526. package/dist/vue3/components/popover/popover_header_footer.vue.js.map +1 -1
  527. package/dist/vue3/components/presence/presence.vue.cjs.map +1 -1
  528. package/dist/vue3/components/presence/presence.vue.js.map +1 -1
  529. package/dist/vue3/components/radio/radio.vue.cjs.map +1 -1
  530. package/dist/vue3/components/radio/radio.vue.js.map +1 -1
  531. package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelComponent.vue.cjs.map +1 -1
  532. package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelComponent.vue.js.map +1 -1
  533. package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.cjs.map +1 -1
  534. package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.js.map +1 -1
  535. package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.cjs.map +1 -1
  536. package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.js.map +1 -1
  537. package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.cjs.map +1 -1
  538. package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.js.map +1 -1
  539. package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionComponent.vue.cjs.map +1 -1
  540. package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionComponent.vue.js.map +1 -1
  541. package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs.map +1 -1
  542. package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js.map +1 -1
  543. package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.cjs.map +1 -1
  544. package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.js.map +1 -1
  545. package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.cjs.map +1 -1
  546. package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.js.map +1 -1
  547. package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs.map +1 -1
  548. package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js.map +1 -1
  549. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs +35 -0
  550. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
  551. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js +35 -0
  552. package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
  553. package/dist/vue3/components/root_layout/root_layout.vue.cjs.map +1 -1
  554. package/dist/vue3/components/root_layout/root_layout.vue.js.map +1 -1
  555. package/dist/vue3/components/scroller/modules/dynamic_scroller.vue.cjs.map +1 -1
  556. package/dist/vue3/components/scroller/modules/dynamic_scroller.vue.js.map +1 -1
  557. package/dist/vue3/components/select_menu/select_menu.vue.cjs.map +1 -1
  558. package/dist/vue3/components/select_menu/select_menu.vue.js.map +1 -1
  559. package/dist/vue3/components/skeleton/skeleton-list-item.vue.cjs.map +1 -1
  560. package/dist/vue3/components/skeleton/skeleton-list-item.vue.js.map +1 -1
  561. package/dist/vue3/components/skeleton/skeleton-paragraph.vue.cjs.map +1 -1
  562. package/dist/vue3/components/skeleton/skeleton-paragraph.vue.js.map +1 -1
  563. package/dist/vue3/components/skeleton/skeleton-shape.vue.cjs.map +1 -1
  564. package/dist/vue3/components/skeleton/skeleton-shape.vue.js.map +1 -1
  565. package/dist/vue3/components/skeleton/skeleton-text.vue.cjs.map +1 -1
  566. package/dist/vue3/components/skeleton/skeleton-text.vue.js.map +1 -1
  567. package/dist/vue3/components/skeleton/skeleton.vue.cjs.map +1 -1
  568. package/dist/vue3/components/skeleton/skeleton.vue.js.map +1 -1
  569. package/dist/vue3/components/split_button/split_button-alpha.vue.cjs.map +1 -1
  570. package/dist/vue3/components/split_button/split_button-alpha.vue.js.map +1 -1
  571. package/dist/vue3/components/split_button/split_button-omega.vue.cjs.map +1 -1
  572. package/dist/vue3/components/split_button/split_button-omega.vue.js.map +1 -1
  573. package/dist/vue3/components/split_button/split_button.vue.cjs +3 -0
  574. package/dist/vue3/components/split_button/split_button.vue.cjs.map +1 -1
  575. package/dist/vue3/components/split_button/split_button.vue.js +4 -1
  576. package/dist/vue3/components/split_button/split_button.vue.js.map +1 -1
  577. package/dist/vue3/components/stack/stack.vue.cjs.map +1 -1
  578. package/dist/vue3/components/stack/stack.vue.js.map +1 -1
  579. package/dist/vue3/components/tabs/tab.vue.cjs.map +1 -1
  580. package/dist/vue3/components/tabs/tab.vue.js.map +1 -1
  581. package/dist/vue3/components/tabs/tab_group.vue.cjs.map +1 -1
  582. package/dist/vue3/components/tabs/tab_group.vue.js.map +1 -1
  583. package/dist/vue3/components/tabs/tab_panel.vue.cjs.map +1 -1
  584. package/dist/vue3/components/tabs/tab_panel.vue.js.map +1 -1
  585. package/dist/vue3/components/toast/toast.vue.cjs.map +1 -1
  586. package/dist/vue3/components/toast/toast.vue.js.map +1 -1
  587. package/dist/vue3/components/toggle/toggle.vue.cjs.map +1 -1
  588. package/dist/vue3/components/toggle/toggle.vue.js.map +1 -1
  589. package/dist/vue3/components/tooltip/tooltip.vue.cjs +1 -0
  590. package/dist/vue3/components/tooltip/tooltip.vue.cjs.map +1 -1
  591. package/dist/vue3/components/tooltip/tooltip.vue.js +2 -1
  592. package/dist/vue3/components/tooltip/tooltip.vue.js.map +1 -1
  593. package/dist/vue3/components/validation_messages/validation_messages.vue.cjs.map +1 -1
  594. package/dist/vue3/components/validation_messages/validation_messages.vue.js.map +1 -1
  595. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs.map +1 -1
  596. package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js.map +1 -1
  597. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +3 -0
  598. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  599. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +4 -1
  600. package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  601. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  602. package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  603. package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.cjs.map +1 -1
  604. package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.js.map +1 -1
  605. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
  606. package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
  607. package/dist/vue3/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs.map +1 -1
  608. package/dist/vue3/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js.map +1 -1
  609. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  610. package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  611. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  612. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  613. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs.map +1 -1
  614. package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js.map +1 -1
  615. package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  616. package/dist/vue3/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  617. package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.cjs.map +1 -1
  618. package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.js.map +1 -1
  619. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
  620. package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
  621. package/dist/vue3/recipes/conversation_view/feed_pill/feed_item_pill.vue.cjs.map +1 -1
  622. package/dist/vue3/recipes/conversation_view/feed_pill/feed_item_pill.vue.js.map +1 -1
  623. package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  624. package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map +1 -1
  625. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
  626. package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
  627. package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.cjs.map +1 -1
  628. package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.js.map +1 -1
  629. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  630. package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  631. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
  632. package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
  633. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
  634. package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
  635. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs.map +1 -1
  636. package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js.map +1 -1
  637. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
  638. package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
  639. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  640. package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  641. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  642. package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  643. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  644. package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  645. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  646. package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  647. package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.cjs.map +1 -1
  648. package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.js.map +1 -1
  649. package/dist/vue3/types/common/dates/index.d.ts +0 -44
  650. package/dist/vue3/types/common/dates/index.d.ts.map +1 -1
  651. package/dist/vue3/types/common/emoji/index.d.ts +0 -3
  652. package/dist/vue3/types/common/emoji/index.d.ts.map +1 -1
  653. package/dist/vue3/types/common/mixins/dom.d.ts +0 -8
  654. package/dist/vue3/types/common/mixins/dom.d.ts.map +1 -1
  655. package/dist/vue3/types/common/mixins/index.d.ts +3 -3
  656. package/dist/vue3/types/common/mixins/input.d.ts +2 -6
  657. package/dist/vue3/types/common/mixins/input.d.ts.map +1 -1
  658. package/dist/vue3/types/common/mixins/input_group.d.ts +2 -2
  659. package/dist/vue3/types/common/mixins/modal.d.ts +0 -32
  660. package/dist/vue3/types/common/mixins/modal.d.ts.map +1 -1
  661. package/dist/vue3/types/common/sr_only_close_button.vue.d.ts +2 -10
  662. package/dist/vue3/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  663. package/dist/vue3/types/common/utils/index.d.ts +2 -67
  664. package/dist/vue3/types/common/utils/index.d.ts.map +1 -1
  665. package/dist/vue3/types/components/avatar/avatar.vue.d.ts +5 -139
  666. package/dist/vue3/types/components/avatar/avatar.vue.d.ts.map +1 -1
  667. package/dist/vue3/types/components/avatar/index.d.ts +2 -2
  668. package/dist/vue3/types/components/badge/badge.vue.d.ts +4 -71
  669. package/dist/vue3/types/components/badge/badge.vue.d.ts.map +1 -1
  670. package/dist/vue3/types/components/badge/index.d.ts +2 -2
  671. package/dist/vue3/types/components/banner/banner.vue.d.ts +2 -106
  672. package/dist/vue3/types/components/banner/banner.vue.d.ts.map +1 -1
  673. package/dist/vue3/types/components/banner/index.d.ts +1 -1
  674. package/dist/vue3/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +2 -20
  675. package/dist/vue3/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  676. package/dist/vue3/types/components/breadcrumbs/breadcrumbs.vue.d.ts +2 -22
  677. package/dist/vue3/types/components/breadcrumbs/breadcrumbs.vue.d.ts.map +1 -1
  678. package/dist/vue3/types/components/breadcrumbs/index.d.ts +3 -3
  679. package/dist/vue3/types/components/button/button.vue.d.ts +5 -157
  680. package/dist/vue3/types/components/button/button.vue.d.ts.map +1 -1
  681. package/dist/vue3/types/components/button/index.d.ts +2 -2
  682. package/dist/vue3/types/components/button_group/button_group.vue.d.ts +2 -8
  683. package/dist/vue3/types/components/button_group/button_group.vue.d.ts.map +1 -1
  684. package/dist/vue3/types/components/button_group/index.d.ts +2 -2
  685. package/dist/vue3/types/components/card/card.vue.d.ts +3 -35
  686. package/dist/vue3/types/components/card/card.vue.d.ts.map +1 -1
  687. package/dist/vue3/types/components/card/index.d.ts +1 -1
  688. package/dist/vue3/types/components/checkbox/checkbox.vue.d.ts +4 -4
  689. package/dist/vue3/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  690. package/dist/vue3/types/components/checkbox/index.d.ts +1 -1
  691. package/dist/vue3/types/components/checkbox_group/checkbox_group.vue.d.ts +12 -54
  692. package/dist/vue3/types/components/checkbox_group/checkbox_group.vue.d.ts.map +1 -1
  693. package/dist/vue3/types/components/checkbox_group/index.d.ts +1 -1
  694. package/dist/vue3/types/components/chip/chip.vue.d.ts +4 -62
  695. package/dist/vue3/types/components/chip/chip.vue.d.ts.map +1 -1
  696. package/dist/vue3/types/components/chip/index.d.ts +2 -2
  697. package/dist/vue3/types/components/codeblock/codeblock.vue.d.ts +2 -2
  698. package/dist/vue3/types/components/codeblock/codeblock.vue.d.ts.map +1 -1
  699. package/dist/vue3/types/components/codeblock/index.d.ts +1 -1
  700. package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +3 -85
  701. package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  702. package/dist/vue3/types/components/collapsible/collapsible_lazy_show.vue.d.ts +2 -44
  703. package/dist/vue3/types/components/collapsible/collapsible_lazy_show.vue.d.ts.map +1 -1
  704. package/dist/vue3/types/components/collapsible/index.d.ts +1 -1
  705. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +7 -125
  706. package/dist/vue3/types/components/combobox/combobox.vue.d.ts.map +1 -1
  707. package/dist/vue3/types/components/combobox/combobox_empty-list.vue.d.ts +2 -18
  708. package/dist/vue3/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  709. package/dist/vue3/types/components/combobox/combobox_loading-list.vue.d.ts +1 -1
  710. package/dist/vue3/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  711. package/dist/vue3/types/components/combobox/index.d.ts +2 -2
  712. package/dist/vue3/types/components/datepicker/composables/useCalendar.d.ts +2 -2
  713. package/dist/vue3/types/components/datepicker/composables/useMonthYearPicker.d.ts +3 -3
  714. package/dist/vue3/types/components/datepicker/datepicker.vue.d.ts +2 -2
  715. package/dist/vue3/types/components/datepicker/datepicker.vue.d.ts.map +1 -1
  716. package/dist/vue3/types/components/datepicker/datepicker_constants.d.ts +0 -5
  717. package/dist/vue3/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  718. package/dist/vue3/types/components/datepicker/index.d.ts +2 -2
  719. package/dist/vue3/types/components/datepicker/modules/calendar.vue.d.ts +2 -2
  720. package/dist/vue3/types/components/datepicker/modules/calendar.vue.d.ts.map +1 -1
  721. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +2 -2
  722. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  723. package/dist/vue3/types/components/description_list/description_list.vue.d.ts +2 -36
  724. package/dist/vue3/types/components/description_list/description_list.vue.d.ts.map +1 -1
  725. package/dist/vue3/types/components/description_list/index.d.ts +2 -2
  726. package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts +33 -204
  727. package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  728. package/dist/vue3/types/components/dropdown/dropdown_separator.vue.d.ts +1 -1
  729. package/dist/vue3/types/components/dropdown/dropdown_separator.vue.d.ts.map +1 -1
  730. package/dist/vue3/types/components/dropdown/index.d.ts +3 -3
  731. package/dist/vue3/types/components/emoji/emoji.vue.d.ts +2 -52
  732. package/dist/vue3/types/components/emoji/emoji.vue.d.ts.map +1 -1
  733. package/dist/vue3/types/components/emoji/index.d.ts +1 -1
  734. package/dist/vue3/types/components/emoji_picker/composables/useKeyboardNavigation.d.ts +3 -3
  735. package/dist/vue3/types/components/emoji_picker/emoji_picker.vue.d.ts +2 -2
  736. package/dist/vue3/types/components/emoji_picker/emoji_picker.vue.d.ts.map +1 -1
  737. package/dist/vue3/types/components/emoji_picker/index.d.ts +2 -2
  738. package/dist/vue3/types/components/emoji_picker/modules/emoji_description.vue.d.ts +2 -2
  739. package/dist/vue3/types/components/emoji_picker/modules/emoji_description.vue.d.ts.map +1 -1
  740. package/dist/vue3/types/components/emoji_picker/modules/emoji_search.vue.d.ts +2 -2
  741. package/dist/vue3/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  742. package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +3 -3
  743. package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  744. package/dist/vue3/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts +2 -2
  745. package/dist/vue3/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -1
  746. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +2 -2
  747. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  748. package/dist/vue3/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +2 -28
  749. package/dist/vue3/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  750. package/dist/vue3/types/components/emoji_text_wrapper/index.d.ts +1 -1
  751. package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts +2 -2
  752. package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  753. package/dist/vue3/types/components/empty_state/index.d.ts +2 -2
  754. package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts +2 -2
  755. package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  756. package/dist/vue3/types/components/hovercard/index.d.ts +1 -1
  757. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -22
  758. package/dist/vue3/types/components/icon/icon.vue.d.ts.map +1 -1
  759. package/dist/vue3/types/components/icon/index.d.ts +2 -2
  760. package/dist/vue3/types/components/illustration/illustration.vue.d.ts +2 -2
  761. package/dist/vue3/types/components/illustration/illustration.vue.d.ts.map +1 -1
  762. package/dist/vue3/types/components/illustration/index.d.ts +2 -2
  763. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts +2 -58
  764. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  765. package/dist/vue3/types/components/image_viewer/index.d.ts +1 -1
  766. package/dist/vue3/types/components/input/index.d.ts +2 -2
  767. package/dist/vue3/types/components/input/input.vue.d.ts +5 -121
  768. package/dist/vue3/types/components/input/input.vue.d.ts.map +1 -1
  769. package/dist/vue3/types/components/input_group/index.d.ts +1 -1
  770. package/dist/vue3/types/components/input_group/input_group.vue.d.ts +7 -29
  771. package/dist/vue3/types/components/input_group/input_group.vue.d.ts.map +1 -1
  772. package/dist/vue3/types/components/item_layout/index.d.ts +1 -1
  773. package/dist/vue3/types/components/item_layout/item_layout.vue.d.ts +3 -17
  774. package/dist/vue3/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  775. package/dist/vue3/types/components/keyboard_shortcut/index.d.ts +2 -2
  776. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +16 -38
  777. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  778. package/dist/vue3/types/components/lazy_show/index.d.ts +1 -1
  779. package/dist/vue3/types/components/lazy_show/lazy_show.vue.d.ts +3 -31
  780. package/dist/vue3/types/components/lazy_show/lazy_show.vue.d.ts.map +1 -1
  781. package/dist/vue3/types/components/link/index.d.ts +2 -2
  782. package/dist/vue3/types/components/link/link.vue.d.ts +2 -20
  783. package/dist/vue3/types/components/link/link.vue.d.ts.map +1 -1
  784. package/dist/vue3/types/components/list_item/index.d.ts +2 -2
  785. package/dist/vue3/types/components/list_item/list_item.vue.d.ts +6 -59
  786. package/dist/vue3/types/components/list_item/list_item.vue.d.ts.map +1 -1
  787. package/dist/vue3/types/components/list_item_group/index.d.ts +1 -1
  788. package/dist/vue3/types/components/list_item_group/list_item_group.vue.d.ts +2 -26
  789. package/dist/vue3/types/components/list_item_group/list_item_group.vue.d.ts.map +1 -1
  790. package/dist/vue3/types/components/modal/index.d.ts +2 -2
  791. package/dist/vue3/types/components/modal/modal.vue.d.ts +7 -161
  792. package/dist/vue3/types/components/modal/modal.vue.d.ts.map +1 -1
  793. package/dist/vue3/types/components/notice/index.d.ts +5 -5
  794. package/dist/vue3/types/components/notice/notice.vue.d.ts +2 -94
  795. package/dist/vue3/types/components/notice/notice.vue.d.ts.map +1 -1
  796. package/dist/vue3/types/components/notice/notice_action.vue.d.ts +3 -28
  797. package/dist/vue3/types/components/notice/notice_action.vue.d.ts.map +1 -1
  798. package/dist/vue3/types/components/notice/notice_content.vue.d.ts +3 -25
  799. package/dist/vue3/types/components/notice/notice_content.vue.d.ts.map +1 -1
  800. package/dist/vue3/types/components/notice/notice_icon.vue.d.ts +5 -13
  801. package/dist/vue3/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  802. package/dist/vue3/types/components/pagination/index.d.ts +1 -1
  803. package/dist/vue3/types/components/pagination/pagination.vue.d.ts +2 -48
  804. package/dist/vue3/types/components/pagination/pagination.vue.d.ts.map +1 -1
  805. package/dist/vue3/types/components/popover/index.d.ts +2 -2
  806. package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
  807. package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts +3 -25
  808. package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  809. package/dist/vue3/types/components/popover/tippy_utils.d.ts +2 -2
  810. package/dist/vue3/types/components/presence/index.d.ts +2 -2
  811. package/dist/vue3/types/components/presence/presence.vue.d.ts +2 -22
  812. package/dist/vue3/types/components/presence/presence.vue.d.ts.map +1 -1
  813. package/dist/vue3/types/components/radio/index.d.ts +2 -2
  814. package/dist/vue3/types/components/radio/radio.vue.d.ts +5 -11
  815. package/dist/vue3/types/components/radio/radio.vue.d.ts.map +1 -1
  816. package/dist/vue3/types/components/radio_group/index.d.ts +1 -1
  817. package/dist/vue3/types/components/radio_group/radio_group.vue.d.ts +10 -40
  818. package/dist/vue3/types/components/radio_group/radio_group.vue.d.ts.map +1 -1
  819. package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +18 -18
  820. package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  821. package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts +2 -2
  822. package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
  823. package/dist/vue3/types/components/rich_text_editor/extensions/channels/channel.d.ts +1 -1
  824. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts +1 -4
  825. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts.map +1 -1
  826. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts +1 -1
  827. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/index.d.ts +1 -1
  828. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/utils.d.ts +0 -28
  829. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/utils.d.ts.map +1 -1
  830. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +18 -18
  831. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts.map +1 -1
  832. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +2 -2
  833. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts.map +1 -1
  834. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/emoji.d.ts +1 -1
  835. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/index.d.ts +2 -2
  836. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +18 -18
  837. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +1 -1
  838. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +2 -2
  839. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  840. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/mention.d.ts +1 -1
  841. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +18 -18
  842. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts.map +1 -1
  843. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +2 -2
  844. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
  845. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
  846. package/dist/vue3/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +2 -2
  847. package/dist/vue3/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  848. package/dist/vue3/types/components/rich_text_editor/index.d.ts +2 -2
  849. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -245
  850. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  851. package/dist/vue3/types/components/root_layout/index.d.ts +2 -2
  852. package/dist/vue3/types/components/root_layout/root_layout.vue.d.ts +2 -86
  853. package/dist/vue3/types/components/root_layout/root_layout.vue.d.ts.map +1 -1
  854. package/dist/vue3/types/components/scroller/DtScroller.vue.d.ts +2 -2
  855. package/dist/vue3/types/components/scroller/DtScroller.vue.d.ts.map +1 -1
  856. package/dist/vue3/types/components/scroller/index.d.ts +1 -1
  857. package/dist/vue3/types/components/scroller/modules/core_scroller.vue.d.ts +4 -4
  858. package/dist/vue3/types/components/scroller/modules/core_scroller.vue.d.ts.map +1 -1
  859. package/dist/vue3/types/components/scroller/modules/dynamic_scroller.vue.d.ts +2 -2
  860. package/dist/vue3/types/components/scroller/modules/dynamic_scroller.vue.d.ts.map +1 -1
  861. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +3 -9
  862. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts.map +1 -1
  863. package/dist/vue3/types/components/select_menu/index.d.ts +2 -2
  864. package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts +5 -91
  865. package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  866. package/dist/vue3/types/components/skeleton/index.d.ts +6 -6
  867. package/dist/vue3/types/components/skeleton/skeleton-list-item.vue.d.ts +2 -68
  868. package/dist/vue3/types/components/skeleton/skeleton-list-item.vue.d.ts.map +1 -1
  869. package/dist/vue3/types/components/skeleton/skeleton-paragraph.vue.d.ts +2 -76
  870. package/dist/vue3/types/components/skeleton/skeleton-paragraph.vue.d.ts.map +1 -1
  871. package/dist/vue3/types/components/skeleton/skeleton-shape.vue.d.ts +2 -54
  872. package/dist/vue3/types/components/skeleton/skeleton-shape.vue.d.ts.map +1 -1
  873. package/dist/vue3/types/components/skeleton/skeleton-text.vue.d.ts +3 -66
  874. package/dist/vue3/types/components/skeleton/skeleton-text.vue.d.ts.map +1 -1
  875. package/dist/vue3/types/components/skeleton/skeleton.vue.d.ts +2 -70
  876. package/dist/vue3/types/components/skeleton/skeleton.vue.d.ts.map +1 -1
  877. package/dist/vue3/types/components/split_button/index.d.ts +2 -2
  878. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +5 -75
  879. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
  880. package/dist/vue3/types/components/split_button/split_button-omega.vue.d.ts +5 -55
  881. package/dist/vue3/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  882. package/dist/vue3/types/components/split_button/split_button.vue.d.ts +3 -149
  883. package/dist/vue3/types/components/split_button/split_button.vue.d.ts.map +1 -1
  884. package/dist/vue3/types/components/stack/index.d.ts +2 -2
  885. package/dist/vue3/types/components/stack/stack.vue.d.ts.map +1 -1
  886. package/dist/vue3/types/components/tabs/index.d.ts +4 -4
  887. package/dist/vue3/types/components/tabs/tab.vue.d.ts +2 -42
  888. package/dist/vue3/types/components/tabs/tab.vue.d.ts.map +1 -1
  889. package/dist/vue3/types/components/tabs/tab_group.vue.d.ts +3 -59
  890. package/dist/vue3/types/components/tabs/tab_group.vue.d.ts.map +1 -1
  891. package/dist/vue3/types/components/tabs/tab_panel.vue.d.ts +2 -28
  892. package/dist/vue3/types/components/tabs/tab_panel.vue.d.ts.map +1 -1
  893. package/dist/vue3/types/components/toast/index.d.ts +2 -2
  894. package/dist/vue3/types/components/toast/toast.vue.d.ts +3 -111
  895. package/dist/vue3/types/components/toast/toast.vue.d.ts.map +1 -1
  896. package/dist/vue3/types/components/toggle/index.d.ts +2 -2
  897. package/dist/vue3/types/components/toggle/toggle.vue.d.ts +6 -68
  898. package/dist/vue3/types/components/toggle/toggle.vue.d.ts.map +1 -1
  899. package/dist/vue3/types/components/tooltip/index.d.ts +2 -2
  900. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +9 -209
  901. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
  902. package/dist/vue3/types/components/validation_messages/index.d.ts +1 -1
  903. package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts +3 -24
  904. package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
  905. package/dist/vue3/types/directives/scrollbar/index.d.ts +1 -1
  906. package/dist/vue3/types/directives/tooltip/index.d.ts +1 -1
  907. package/dist/vue3/types/index.d.ts +81 -81
  908. package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +6 -82
  909. package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  910. package/dist/vue3/types/recipes/buttons/callbar_button/index.d.ts +2 -2
  911. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +5 -165
  912. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  913. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/index.d.ts +1 -1
  914. package/dist/vue3/types/recipes/cards/ivr_node/index.d.ts +2 -2
  915. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +4 -34
  916. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  917. package/dist/vue3/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +3 -3
  918. package/dist/vue3/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  919. package/dist/vue3/types/recipes/chips/grouped_chip/index.d.ts +1 -1
  920. package/dist/vue3/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  921. package/dist/vue3/types/recipes/comboboxes/combobox_multi_select/index.d.ts +2 -2
  922. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +9 -171
  923. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  924. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/index.d.ts +1 -1
  925. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +2 -20
  926. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  927. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/index.d.ts +1 -1
  928. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +2 -2
  929. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  930. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +2 -2
  931. package/dist/vue3/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +1 -1
  932. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +20 -194
  933. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  934. package/dist/vue3/types/recipes/conversation_view/editor/index.d.ts +1 -1
  935. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +2 -8
  936. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  937. package/dist/vue3/types/recipes/conversation_view/emoji_row/index.d.ts +2 -2
  938. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +3 -69
  939. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  940. package/dist/vue3/types/recipes/conversation_view/feed_item_row/index.d.ts +2 -2
  941. package/dist/vue3/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts +4 -42
  942. package/dist/vue3/types/recipes/conversation_view/feed_pill/feed_item_pill.vue.d.ts.map +1 -1
  943. package/dist/vue3/types/recipes/conversation_view/feed_pill/index.d.ts +2 -2
  944. package/dist/vue3/types/recipes/conversation_view/message_input/index.d.ts +1 -1
  945. package/dist/vue3/types/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.d.ts +18 -18
  946. package/dist/vue3/types/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  947. package/dist/vue3/types/recipes/conversation_view/message_input/meeting_pill/meeting_pill.d.ts +1 -1
  948. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +7 -251
  949. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  950. package/dist/vue3/types/recipes/conversation_view/time_pill/index.d.ts +1 -1
  951. package/dist/vue3/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts +2 -16
  952. package/dist/vue3/types/recipes/conversation_view/time_pill/time_pill.vue.d.ts.map +1 -1
  953. package/dist/vue3/types/recipes/header/settings_menu_button/index.d.ts +1 -1
  954. package/dist/vue3/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +2 -18
  955. package/dist/vue3/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  956. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +3 -89
  957. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  958. package/dist/vue3/types/recipes/item_layout/contact_info/index.d.ts +1 -1
  959. package/dist/vue3/types/recipes/leftbar/callbox/callbox.vue.d.ts +2 -66
  960. package/dist/vue3/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  961. package/dist/vue3/types/recipes/leftbar/callbox/index.d.ts +2 -2
  962. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +2 -38
  963. package/dist/vue3/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  964. package/dist/vue3/types/recipes/leftbar/contact_centers_row/index.d.ts +1 -1
  965. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +2 -110
  966. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  967. package/dist/vue3/types/recipes/leftbar/contact_row/index.d.ts +1 -1
  968. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +2 -125
  969. package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  970. package/dist/vue3/types/recipes/leftbar/general_row/index.d.ts +2 -2
  971. package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +4 -4
  972. package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
  973. package/dist/vue3/types/recipes/leftbar/group_row/group_row.vue.d.ts +2 -46
  974. package/dist/vue3/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  975. package/dist/vue3/types/recipes/leftbar/group_row/index.d.ts +1 -1
  976. package/dist/vue3/types/recipes/leftbar/unread_pill/index.d.ts +2 -2
  977. package/dist/vue3/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +2 -18
  978. package/dist/vue3/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  979. package/dist/vue3/types/recipes/notices/top_banner_info/index.d.ts +2 -2
  980. package/dist/vue3/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts +2 -8
  981. package/dist/vue3/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  982. package/package.json +61 -21
  983. package/dist/tokens/themes/types/themes/config.d.ts +0 -2
  984. package/dist/tokens/themes/types/themes/expressive-dark.d.ts.map +0 -1
  985. package/dist/tokens/themes/types/themes/expressive-light.d.ts.map +0 -1
  986. package/dist/tokens/themes/types/themes/expressive-sm-dark.d.ts.map +0 -1
  987. package/dist/tokens/themes/types/themes/expressive-sm-light.d.ts.map +0 -1
  988. package/dist/vue2/component-documentation.json +0 -1
  989. package/dist/vue2/types/components/button_group/buttons_decorator.vue.d.ts +0 -3
  990. package/dist/vue2/types/components/button_group/buttons_decorator.vue.d.ts.map +0 -1
  991. package/dist/vue2/types/components/checkbox_group/checkboxes_decorator.vue.d.ts +0 -3
  992. package/dist/vue2/types/components/checkbox_group/checkboxes_decorator.vue.d.ts.map +0 -1
  993. package/dist/vue2/types/components/dropdown/dropdown_list.vue.d.ts +0 -36
  994. package/dist/vue2/types/components/dropdown/dropdown_list.vue.d.ts.map +0 -1
  995. package/dist/vue2/types/components/input_group/decorators/input.vue.d.ts +0 -102
  996. package/dist/vue2/types/components/input_group/decorators/input.vue.d.ts.map +0 -1
  997. package/dist/vue2/types/components/input_group/decorators/inputs.vue.d.ts +0 -3
  998. package/dist/vue2/types/components/input_group/decorators/inputs.vue.d.ts.map +0 -1
  999. package/dist/vue2/types/components/radio_group/radios_decorator.vue.d.ts +0 -3
  1000. package/dist/vue2/types/components/radio_group/radios_decorator.vue.d.ts.map +0 -1
  1001. package/dist/vue3/types/components/button_group/buttons_decorator.vue.d.ts +0 -3
  1002. package/dist/vue3/types/components/button_group/buttons_decorator.vue.d.ts.map +0 -1
  1003. package/dist/vue3/types/components/checkbox_group/checkboxes_decorator.vue.d.ts +0 -3
  1004. package/dist/vue3/types/components/checkbox_group/checkboxes_decorator.vue.d.ts.map +0 -1
  1005. package/dist/vue3/types/components/dropdown/dropdown_list.vue.d.ts +0 -36
  1006. package/dist/vue3/types/components/dropdown/dropdown_list.vue.d.ts.map +0 -1
  1007. package/dist/vue3/types/components/input_group/decorators/input.vue.d.ts +0 -104
  1008. package/dist/vue3/types/components/input_group/decorators/input.vue.d.ts.map +0 -1
  1009. package/dist/vue3/types/components/input_group/decorators/inputs.vue.d.ts +0 -3
  1010. package/dist/vue3/types/components/input_group/decorators/inputs.vue.d.ts.map +0 -1
  1011. package/dist/vue3/types/components/radio_group/radios_decorator.vue.d.ts +0 -3
  1012. package/dist/vue3/types/components/radio_group/radios_decorator.vue.d.ts.map +0 -1
  1013. /package/dist/tokens/{themes/types → types}/themes/dp-dark.d.ts +0 -0
  1014. /package/dist/tokens/{themes/types → types}/themes/dp-light.d.ts +0 -0
  1015. /package/dist/tokens/{themes/types → types}/themes/expressive-dark.d.ts +0 -0
  1016. /package/dist/tokens/{themes/types → types}/themes/expressive-light.d.ts +0 -0
  1017. /package/dist/tokens/{themes/types → types}/themes/expressive-sm-dark.d.ts +0 -0
  1018. /package/dist/tokens/{themes/types → types}/themes/expressive-sm-light.d.ts +0 -0
  1019. /package/dist/tokens/{themes/types → types}/themes/tmo-dark.d.ts +0 -0
  1020. /package/dist/tokens/{themes/types → types}/themes/tmo-light.d.ts +0 -0
@@ -0,0 +1,45 @@
1
+ export let HSLA_EXCLUDED_COLORS: string[];
2
+ export let IS_COLOR_REGEX: RegExp;
3
+ export let IS_THEME_COLOR_REGEX: RegExp;
4
+ export let IS_SHADOW_REGEX: RegExp;
5
+ export let IS_TYPOGRAPHY_REGEX: RegExp;
6
+ export namespace REGEX_OPTIONS {
7
+ let SHADOW_VARIABLES: string;
8
+ let TYPOGRAPHY_VARIABLES: string;
9
+ let TYPOGRAPHY_TYPE: string;
10
+ let TYPOGRAPHY_SIZES: string;
11
+ }
12
+ export let PLATFORM_FONT_SIZES: {
13
+ '100-mobile': string;
14
+ '200-mobile': string;
15
+ '300-mobile': string;
16
+ '400-mobile': string;
17
+ '500-mobile': string;
18
+ '100-tc8': string;
19
+ '200-tc8': string;
20
+ '300-tc8': string;
21
+ '400-tc8': string;
22
+ '500-tc8': string;
23
+ '100-tv': string;
24
+ '200-tv': string;
25
+ '300-tv': string;
26
+ '400-tv': string;
27
+ '500-tv': string;
28
+ };
29
+ export let Z_INDEX: {
30
+ hide: number;
31
+ base: number;
32
+ base1: number;
33
+ selected: number;
34
+ active: number;
35
+ navigation: number;
36
+ 'navigation-fixed': number;
37
+ dropdown: number;
38
+ popover: number;
39
+ tooltip: number;
40
+ drawer: number;
41
+ modal: number;
42
+ 'modal-element': number;
43
+ notification: number;
44
+ };
45
+ //# sourceMappingURL=constants.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../../postcss/constants.cjs"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _exports: import('postcss').PluginCreator<any>;
2
+ export = _exports;
3
+ //# sourceMappingURL=dialtone-tokens.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialtone-tokens.d.cts","sourceRoot":"","sources":["../../../postcss/dialtone-tokens.cjs"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export function setTheme(theme: any, rootNode?: HTMLElement): void;
2
+ //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../themes/config.js"],"names":[],"mappings":"AAIA,2CAKC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../themes/config.js"],"names":[],"mappings":"AAMA,mEAQC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dp-dark.d.ts","sourceRoot":"","sources":["../../../../themes/dp-dark.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dp-dark.d.ts","sourceRoot":"","sources":["../../../themes/dp-dark.js"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"dp-light.d.ts","sourceRoot":"","sources":["../../../../themes/dp-light.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dp-light.d.ts","sourceRoot":"","sources":["../../../themes/dp-light.js"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressive-dark.d.ts","sourceRoot":"","sources":["../../../themes/expressive-dark.js"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressive-light.d.ts","sourceRoot":"","sources":["../../../themes/expressive-light.js"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressive-sm-dark.d.ts","sourceRoot":"","sources":["../../../themes/expressive-sm-dark.js"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressive-sm-light.d.ts","sourceRoot":"","sources":["../../../themes/expressive-sm-light.js"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"tmo-dark.d.ts","sourceRoot":"","sources":["../../../../themes/tmo-dark.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tmo-dark.d.ts","sourceRoot":"","sources":["../../../themes/tmo-dark.js"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"tmo-light.d.ts","sourceRoot":"","sources":["../../../../themes/tmo-light.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tmo-light.d.ts","sourceRoot":"","sources":["../../../themes/tmo-light.js"],"names":[],"mappings":""}
@@ -194,6 +194,12 @@ function safeConcatStrings(elements) {
194
194
  function capitalizeFirstLetter(str, locale = "en-US") {
195
195
  return str.replace(new RegExp("^\\p{CWU}", "u"), (char) => char.toLocaleUpperCase(locale));
196
196
  }
197
+ function warnIfUnmounted(componentRef, componentName) {
198
+ if (!componentRef || !(componentRef instanceof HTMLElement) || !(document == null ? void 0 : document.body)) return;
199
+ if (!document.body.contains(componentRef)) {
200
+ console.warn(`The ${componentName} component is not attached to the document body. This may cause issues.`);
201
+ }
202
+ }
197
203
  const utils = {
198
204
  getUniqueString,
199
205
  getRandomElement,
@@ -238,4 +244,5 @@ exports.kebabCaseToPascalCase = kebabCaseToPascalCase;
238
244
  exports.linkRegex = linkRegex;
239
245
  exports.pascalCaseToKebabCase = pascalCaseToKebabCase;
240
246
  exports.safeConcatStrings = safeConcatStrings;
247
+ exports.warnIfUnmounted = warnIfUnmounted;
241
248
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../../common/utils/index.js"],"sourcesContent":["import {\n DEFAULT_PREFIX,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n VALIDATION_MESSAGE_TYPES,\n} from '../constants';\nimport Vue from 'vue';\n\nlet UNIQUE_ID_COUNTER = 0;\nlet TIMER;\n\n// selector to find focusable not hidden inputs\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)';\n// selector to find focusable not disables elements\nconst FOCUSABLE_SELECTOR_NOT_DISABLED = 'select:not(:disabled),textarea:not(:disabled),button:not(:disabled)';\n// // selector to find focusable not hidden and disabled elements\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED = `${FOCUSABLE_SELECTOR_NOT_HIDDEN},${FOCUSABLE_SELECTOR_NOT_DISABLED}`;\n// selector to find focusable elements\nconst FOCUSABLE_SELECTOR = `a,frame,iframe,${FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED},*[tabindex]`;\n\nconst scheduler = typeof setImmediate === 'function' ? setImmediate : setTimeout;\n\nexport function getUniqueString (prefix = DEFAULT_PREFIX) {\n return `${prefix}${UNIQUE_ID_COUNTER++}`;\n}\n\n/**\n * Returns a random element from array\n * @param array - the array to return a random element from\n * @param {string} seed - use a string to seed the randomization, so it returns the same element each time\n * based on that string.\n * @returns {*} - the random element\n */\nexport function getRandomElement (array, seed) {\n if (seed) {\n const hash = javaHashCode(seed);\n return array[Math.abs(hash) % array.length];\n } else {\n return array[getRandomInt(array.length)];\n }\n}\n\n/**\n * Returns a hash code for a string.\n * (Compatible to Java's String.hashCode())\n * We use this algo to be in sync with android.\n *\n * The hash code for a string object is computed as\n * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]\n * using number arithmetic, where s[i] is the i th character\n * of the given string, n is the length of the string,\n * and ^ indicates exponentiation.\n * (The hash value of the empty string is zero.)\n *\n * @param {string} str a string\n * @return {number} a hash code value for the given string.\n */\nexport function javaHashCode (str) {\n let h;\n for (let i = 0; i < str.length; i++) {\n h = Math.imul(31, h) + str.charCodeAt(i) | 0;\n }\n\n return h;\n}\n\n/**\n * Generate a random integer\n * @param {number} max - max range of integer to generate\n * @returns {number} randomly generated integer between 0 and max\n */\nexport function getRandomInt (max) {\n return Math.floor(Math.random() * max);\n}\n\nexport function formatMessages (messages) {\n if (!messages) {\n return [];\n }\n\n return messages.map(message => {\n if (typeof message === 'string') {\n return {\n message,\n type: DEFAULT_VALIDATION_MESSAGE_TYPE,\n };\n }\n\n return message;\n });\n}\n\nexport function filterFormattedMessages (formattedMessages) {\n const validationState = getValidationState(formattedMessages);\n\n if (!formattedMessages || !validationState) {\n return [];\n }\n\n return formattedMessages.filter(message => !!message.message && message.type === validationState);\n}\n\n/*\n * The priority order of message types is as flows: 'error' > 'warning' > 'success'.\n * If any message of type 'error' is present in messages, the input state is considered\n * to be 'error', then 'warning' and lastly 'success'.\n */\nexport function getValidationState (formattedMessages) {\n if (!formattedMessages) {\n return null;\n }\n\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.ERROR)) {\n return VALIDATION_MESSAGE_TYPES.ERROR;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.WARNING)) {\n return VALIDATION_MESSAGE_TYPES.WARNING;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.SUCCESS)) {\n return VALIDATION_MESSAGE_TYPES.SUCCESS;\n }\n\n return null;\n}\n\nexport function hasFormattedMessageOfType (formattedMessages, messageType) {\n if (!formattedMessages || !messageType) {\n return false;\n }\n\n return formattedMessages.some(message => message?.type === messageType);\n}\n\nexport function findFirstFocusableNode (element) {\n return element?.querySelector(FOCUSABLE_SELECTOR);\n}\n\n/* html-fragment component:\n * To render html without wrapping in another element as when using v-html.\n * props: html\n */\nexport const htmlFragment = {\n name: 'html-fragment',\n functional: true,\n props: ['html'],\n render (h, ctx) {\n return new Vue({\n // eslint-disable-next-line vue/multi-word-component-names\n name: 'Inner',\n beforeCreate () { this.$createElement = h; },\n template: `<div>${ctx.props.html}</div>`,\n }).$mount()._vnode.children;\n },\n};\n\nexport const flushPromises = () => {\n return new Promise((resolve) => {\n scheduler(resolve);\n });\n};\n\n/**\n * Transform a string from kebab-case to PascalCase\n * @param string\n * @returns {string}\n */\nexport const kebabCaseToPascalCase = (string) => {\n return string?.toLowerCase()\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join('');\n};\n\n/**\n * Transform a string from PascalCase to kebab-case\n * @param string\n * @returns {string}\n */\nexport const pascalCaseToKebabCase = (string) => {\n return string\n .replace(/\\.?([A-Z0-9]+)/g, (x, y) => '-' + y.toLowerCase())\n .replace(/^-/, '');\n};\n\n/*\n* Set's a global timer to debounce the execution of a function.\n* @param { object } func - the function that is going to be called after timeout\n* @param { number } [timeout=300] timeout\n* */\nexport function debounce (func, timeout = 300) {\n clearTimeout(TIMER);\n TIMER = setTimeout(func, timeout);\n}\n\n/**\n * Checks if the element is out of the viewport\n * https://gomakethings.com/how-to-check-if-any-part-of-an-element-is-out-of-the-viewport-with-vanilla-js/\n * @param {HTMLElement} element The element to check\n * @return {Object} A set of booleans for each side of the element\n */\n\nexport function isOutOfViewPort (element) {\n const bounding = element.getBoundingClientRect();\n\n const isOut = {\n top: bounding.top < 0,\n left: bounding.left < 0,\n bottom: bounding.bottom > (window.innerHeight || document.documentElement.clientHeight),\n right: bounding.right > (window.innerWidth || document.documentElement.clientWidth),\n };\n isOut.any = Object.values(isOut).some(val => val);\n isOut.all = Object.values(isOut).every(val => val);\n return isOut;\n}\n\n// match valid characters for a domain name followed by a dot, e.g. \"dialpad.\"\nconst domainNameRegex = /(?:(?:[^\\s!@#$%^&*()_=+[\\]{}\\\\|;:'\",.<>/?]+)\\.)/;\n\n// match valid TLDs for a hostname (outdated list from ~2017)\nconst tldRegerx = new RegExp(\n '(?:' +\n 'com|ru|org|net|de|jp|uk|br|it|pl|fr|in|au|ir|info|nl|cn|es|cz|kr|ca|eu|ua|co|gr|' +\n 'za|ro|biz|ch|se|tw|mx|vn|hu|be|tr|at|dk|tv|me|ar|sk|no|us|fi|id|cl|xyz|io|pt|by|' +\n 'il|ie|nz|kz|hk|lt|cc|my|sg|club|bg|edu|рф|pk|su|top|th|hr|rs|pe|pro|si|az|lv|pw|' +\n 'ae|ph|online|ng|ee|ws|ve|cat' +\n ')',\n);\n\n// match valid IPv4 addresses, e.g. \"192.158.1.38\"\nconst ipv4Regex = new RegExp(\n '(?:(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])\\\\.){3}' +\n '(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])',\n);\n\n// match hostnames OR IPv4 addresses, e.g. \"dialpad.com\" or \"192.158.1.38\"\nconst hostnameOrIpRegex = new RegExp(\n '(?:' +\n [\n [\n domainNameRegex.source,\n tldRegerx.source,\n ].join('+'),\n ipv4Regex.source,\n ].join('|') +\n ')',\n);\n\n// match URL paths, e.g. \"/news\"\nconst urlPathRegex = /(?:(?:[;/][^#?<>\\s]*)?)/;\n\n// match URL queries and fragments, e.g. \"?cache=1&new=true\" or \"#heading1\"\nconst urlQueryOrFragmentRegex = /(?:(?:\\?[^#<>\\s]+)?(?:#[^<>\\s]+)?)/;\n\n// match complete hostnames or IPv4 addresses without a protocol and with optional\n// URL paths, queries and fragments e.g. \"dialpad.com/news?cache=1#heading1\"\nconst urlWithoutProtocolRegex = new RegExp(\n '\\\\b' +\n [\n hostnameOrIpRegex.source,\n urlPathRegex.source,\n urlQueryOrFragmentRegex.source,\n '(?!\\\\w)',\n ].join('+'),\n);\n\n// match complete hostnames with protocols and optional URL paths, queries and fragments,\n// e.g. \"ws://localhost:9010\" or \"https://dialpad.com/news?cache=1#heading1\"\nconst urlWithProtocolRegex = /\\b[a-z\\d.-]+:\\/\\/[^<>\\s]+/;\n\n// match email addresses with an optional \"mailto:\" prefix and URL queries, e.g.\n// \"hey@dialpad.com\" or \"mailto:hey@dialpad.com?subject=Hi&body=Hey%20there\"\nconst emailAddressRegex = new RegExp(\n '(?:mailto:)?' +\n '[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+)*@' +\n [\n hostnameOrIpRegex.source,\n urlQueryOrFragmentRegex.source,\n ].join('+') +\n '(?!\\\\w)',\n);\n\n/**\n * Match phone numbers, e.g. \"765-8813\", \"(778) 765-8813\" or \"+17787658813\".\n * @param {number} minLength\n * @param {number} maxLength\n * @returns {RegExp}\n */\nexport function getPhoneNumberRegex (minLength = 7, maxLength = 15) {\n // Some older browser versions don't support lookbehind, so provide a RegExp\n // version without it. It fails just one test case, so IMO it's still good\n // enough to use. https://caniuse.com/js-regexp-lookbehind\n try {\n return new RegExp(\n '(?:^|(?<=\\\\W))' +\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('This browser doesn\\'t support regex lookahead/lookbehind');\n }\n\n return new RegExp(\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n}\n\nconst phoneNumberRegex = getPhoneNumberRegex();\n\n// match all link types\nexport const linkRegex = new RegExp(\n [\n urlWithoutProtocolRegex.source,\n urlWithProtocolRegex.source,\n emailAddressRegex.source,\n phoneNumberRegex.source,\n ].join('|'),\n 'gi',\n);\n\n/**\n * Check if a string is a phone number. Validates only exact matches.\n * @param {string|number} input\n * @returns {boolean}\n */\nexport function isPhoneNumber (input) {\n if (!input || (!['string', 'number'].includes(typeof input))) return false;\n input = input.toString();\n return phoneNumberRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an URL. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isURL (input) {\n if (!input || typeof input !== 'string') return false;\n return urlWithoutProtocolRegex.exec(input)?.[0] === input ||\n urlWithProtocolRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an email address. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isEmailAddress (input) {\n if (!input || typeof input !== 'string') return false;\n return emailAddressRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Concatenate a string removing null or undefined elements\n * avoiding parsing them as string with template strings\n * @param {Array} elements\n * @returns {String}\n */\nexport function safeConcatStrings (elements) {\n return elements.filter(str => !!str).join(' ');\n}\n\n/**\n * Locale safe function to capitalize the first letter of a string.\n * @param {string} str the string to capitalize the first letter of\n * @param {string} locale a string representing the locale to be used. Defaults to 'en-US'\n * @returns The passed in string with the first letter capitalized\n */\nexport function capitalizeFirstLetter (str, locale = 'en-US') {\n return str.replace(/^\\p{CWU}/u, char => char.toLocaleUpperCase(locale));\n}\n\nexport default {\n getUniqueString,\n getRandomElement,\n getRandomInt,\n formatMessages,\n filterFormattedMessages,\n hasFormattedMessageOfType,\n getValidationState,\n htmlFragment,\n flushPromises,\n kebabCaseToPascalCase,\n debounce,\n isOutOfViewPort,\n getPhoneNumberRegex,\n linkRegex,\n isEmailAddress,\n isPhoneNumber,\n isURL,\n safeConcatStrings,\n capitalizeFirstLetter,\n};\n"],"names":["DEFAULT_PREFIX","DEFAULT_VALIDATION_MESSAGE_TYPE","VALIDATION_MESSAGE_TYPES"],"mappings":"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"}
1
+ {"version":3,"file":"utils.cjs","sources":["../../common/utils/index.js"],"sourcesContent":["import {\n DEFAULT_PREFIX,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n VALIDATION_MESSAGE_TYPES,\n} from '../constants';\nimport Vue from 'vue';\n\nlet UNIQUE_ID_COUNTER = 0;\nlet TIMER;\n\n// selector to find focusable not hidden inputs\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)';\n// selector to find focusable not disables elements\nconst FOCUSABLE_SELECTOR_NOT_DISABLED = 'select:not(:disabled),textarea:not(:disabled),button:not(:disabled)';\n// // selector to find focusable not hidden and disabled elements\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED = `${FOCUSABLE_SELECTOR_NOT_HIDDEN},${FOCUSABLE_SELECTOR_NOT_DISABLED}`;\n// selector to find focusable elements\nconst FOCUSABLE_SELECTOR = `a,frame,iframe,${FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED},*[tabindex]`;\n\nconst scheduler = typeof setImmediate === 'function' ? setImmediate : setTimeout;\n\nexport function getUniqueString (prefix = DEFAULT_PREFIX) {\n return `${prefix}${UNIQUE_ID_COUNTER++}`;\n}\n\n/**\n * Returns a random element from array\n * @param array - the array to return a random element from\n * @param {string} seed - use a string to seed the randomization, so it returns the same element each time\n * based on that string.\n * @returns {*} - the random element\n */\nexport function getRandomElement (array, seed) {\n if (seed) {\n const hash = javaHashCode(seed);\n return array[Math.abs(hash) % array.length];\n } else {\n return array[getRandomInt(array.length)];\n }\n}\n\n/**\n * Returns a hash code for a string.\n * (Compatible to Java's String.hashCode())\n * We use this algo to be in sync with android.\n *\n * The hash code for a string object is computed as\n * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]\n * using number arithmetic, where s[i] is the i th character\n * of the given string, n is the length of the string,\n * and ^ indicates exponentiation.\n * (The hash value of the empty string is zero.)\n *\n * @param {string} str a string\n * @return {number} a hash code value for the given string.\n */\nexport function javaHashCode (str) {\n let h;\n for (let i = 0; i < str.length; i++) {\n h = Math.imul(31, h) + str.charCodeAt(i) | 0;\n }\n\n return h;\n}\n\n/**\n * Generate a random integer\n * @param {number} max - max range of integer to generate\n * @returns {number} randomly generated integer between 0 and max\n */\nexport function getRandomInt (max) {\n return Math.floor(Math.random() * max);\n}\n\nexport function formatMessages (messages) {\n if (!messages) {\n return [];\n }\n\n return messages.map(message => {\n if (typeof message === 'string') {\n return {\n message,\n type: DEFAULT_VALIDATION_MESSAGE_TYPE,\n };\n }\n\n return message;\n });\n}\n\nexport function filterFormattedMessages (formattedMessages) {\n const validationState = getValidationState(formattedMessages);\n\n if (!formattedMessages || !validationState) {\n return [];\n }\n\n return formattedMessages.filter(message => !!message.message && message.type === validationState);\n}\n\n/*\n * The priority order of message types is as flows: 'error' > 'warning' > 'success'.\n * If any message of type 'error' is present in messages, the input state is considered\n * to be 'error', then 'warning' and lastly 'success'.\n */\nexport function getValidationState (formattedMessages) {\n if (!formattedMessages) {\n return null;\n }\n\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.ERROR)) {\n return VALIDATION_MESSAGE_TYPES.ERROR;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.WARNING)) {\n return VALIDATION_MESSAGE_TYPES.WARNING;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.SUCCESS)) {\n return VALIDATION_MESSAGE_TYPES.SUCCESS;\n }\n\n return null;\n}\n\nexport function hasFormattedMessageOfType (formattedMessages, messageType) {\n if (!formattedMessages || !messageType) {\n return false;\n }\n\n return formattedMessages.some(message => message?.type === messageType);\n}\n\nexport function findFirstFocusableNode (element) {\n return element?.querySelector(FOCUSABLE_SELECTOR);\n}\n\n/* html-fragment component:\n * To render html without wrapping in another element as when using v-html.\n * props: html\n */\nexport const htmlFragment = {\n name: 'html-fragment',\n functional: true,\n props: ['html'],\n render (h, ctx) {\n return new Vue({\n // eslint-disable-next-line vue/multi-word-component-names\n name: 'Inner',\n beforeCreate () { this.$createElement = h; },\n template: `<div>${ctx.props.html}</div>`,\n }).$mount()._vnode.children;\n },\n};\n\nexport const flushPromises = () => {\n return new Promise((resolve) => {\n scheduler(resolve);\n });\n};\n\n/**\n * Transform a string from kebab-case to PascalCase\n * @param string\n * @returns {string}\n */\nexport const kebabCaseToPascalCase = (string) => {\n return string?.toLowerCase()\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join('');\n};\n\n/**\n * Transform a string from PascalCase to kebab-case\n * @param string\n * @returns {string}\n */\nexport const pascalCaseToKebabCase = (string) => {\n return string\n .replace(/\\.?([A-Z0-9]+)/g, (x, y) => '-' + y.toLowerCase())\n .replace(/^-/, '');\n};\n\n/*\n* Set's a global timer to debounce the execution of a function.\n* @param { object } func - the function that is going to be called after timeout\n* @param { number } [timeout=300] timeout\n* */\nexport function debounce (func, timeout = 300) {\n clearTimeout(TIMER);\n TIMER = setTimeout(func, timeout);\n}\n\n/**\n * Checks if the element is out of the viewport\n * https://gomakethings.com/how-to-check-if-any-part-of-an-element-is-out-of-the-viewport-with-vanilla-js/\n * @param {HTMLElement} element The element to check\n * @return {Object} A set of booleans for each side of the element\n */\n\nexport function isOutOfViewPort (element) {\n const bounding = element.getBoundingClientRect();\n\n const isOut = {\n top: bounding.top < 0,\n left: bounding.left < 0,\n bottom: bounding.bottom > (window.innerHeight || document.documentElement.clientHeight),\n right: bounding.right > (window.innerWidth || document.documentElement.clientWidth),\n };\n isOut.any = Object.values(isOut).some(val => val);\n isOut.all = Object.values(isOut).every(val => val);\n return isOut;\n}\n\n// match valid characters for a domain name followed by a dot, e.g. \"dialpad.\"\nconst domainNameRegex = /(?:(?:[^\\s!@#$%^&*()_=+[\\]{}\\\\|;:'\",.<>/?]+)\\.)/;\n\n// match valid TLDs for a hostname (outdated list from ~2017)\nconst tldRegerx = new RegExp(\n '(?:' +\n 'com|ru|org|net|de|jp|uk|br|it|pl|fr|in|au|ir|info|nl|cn|es|cz|kr|ca|eu|ua|co|gr|' +\n 'za|ro|biz|ch|se|tw|mx|vn|hu|be|tr|at|dk|tv|me|ar|sk|no|us|fi|id|cl|xyz|io|pt|by|' +\n 'il|ie|nz|kz|hk|lt|cc|my|sg|club|bg|edu|рф|pk|su|top|th|hr|rs|pe|pro|si|az|lv|pw|' +\n 'ae|ph|online|ng|ee|ws|ve|cat' +\n ')',\n);\n\n// match valid IPv4 addresses, e.g. \"192.158.1.38\"\nconst ipv4Regex = new RegExp(\n '(?:(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])\\\\.){3}' +\n '(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])',\n);\n\n// match hostnames OR IPv4 addresses, e.g. \"dialpad.com\" or \"192.158.1.38\"\nconst hostnameOrIpRegex = new RegExp(\n '(?:' +\n [\n [\n domainNameRegex.source,\n tldRegerx.source,\n ].join('+'),\n ipv4Regex.source,\n ].join('|') +\n ')',\n);\n\n// match URL paths, e.g. \"/news\"\nconst urlPathRegex = /(?:(?:[;/][^#?<>\\s]*)?)/;\n\n// match URL queries and fragments, e.g. \"?cache=1&new=true\" or \"#heading1\"\nconst urlQueryOrFragmentRegex = /(?:(?:\\?[^#<>\\s]+)?(?:#[^<>\\s]+)?)/;\n\n// match complete hostnames or IPv4 addresses without a protocol and with optional\n// URL paths, queries and fragments e.g. \"dialpad.com/news?cache=1#heading1\"\nconst urlWithoutProtocolRegex = new RegExp(\n '\\\\b' +\n [\n hostnameOrIpRegex.source,\n urlPathRegex.source,\n urlQueryOrFragmentRegex.source,\n '(?!\\\\w)',\n ].join('+'),\n);\n\n// match complete hostnames with protocols and optional URL paths, queries and fragments,\n// e.g. \"ws://localhost:9010\" or \"https://dialpad.com/news?cache=1#heading1\"\nconst urlWithProtocolRegex = /\\b[a-z\\d.-]+:\\/\\/[^<>\\s]+/;\n\n// match email addresses with an optional \"mailto:\" prefix and URL queries, e.g.\n// \"hey@dialpad.com\" or \"mailto:hey@dialpad.com?subject=Hi&body=Hey%20there\"\nconst emailAddressRegex = new RegExp(\n '(?:mailto:)?' +\n '[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+)*@' +\n [\n hostnameOrIpRegex.source,\n urlQueryOrFragmentRegex.source,\n ].join('+') +\n '(?!\\\\w)',\n);\n\n/**\n * Match phone numbers, e.g. \"765-8813\", \"(778) 765-8813\" or \"+17787658813\".\n * @param {number} minLength\n * @param {number} maxLength\n * @returns {RegExp}\n */\nexport function getPhoneNumberRegex (minLength = 7, maxLength = 15) {\n // Some older browser versions don't support lookbehind, so provide a RegExp\n // version without it. It fails just one test case, so IMO it's still good\n // enough to use. https://caniuse.com/js-regexp-lookbehind\n try {\n return new RegExp(\n '(?:^|(?<=\\\\W))' +\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('This browser doesn\\'t support regex lookahead/lookbehind');\n }\n\n return new RegExp(\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n}\n\nconst phoneNumberRegex = getPhoneNumberRegex();\n\n// match all link types\nexport const linkRegex = new RegExp(\n [\n urlWithoutProtocolRegex.source,\n urlWithProtocolRegex.source,\n emailAddressRegex.source,\n phoneNumberRegex.source,\n ].join('|'),\n 'gi',\n);\n\n/**\n * Check if a string is a phone number. Validates only exact matches.\n * @param {string|number} input\n * @returns {boolean}\n */\nexport function isPhoneNumber (input) {\n if (!input || (!['string', 'number'].includes(typeof input))) return false;\n input = input.toString();\n return phoneNumberRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an URL. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isURL (input) {\n if (!input || typeof input !== 'string') return false;\n return urlWithoutProtocolRegex.exec(input)?.[0] === input ||\n urlWithProtocolRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an email address. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isEmailAddress (input) {\n if (!input || typeof input !== 'string') return false;\n return emailAddressRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Concatenate a string removing null or undefined elements\n * avoiding parsing them as string with template strings\n * @param {Array} elements\n * @returns {String}\n */\nexport function safeConcatStrings (elements) {\n return elements.filter(str => !!str).join(' ');\n}\n\n/**\n * Locale safe function to capitalize the first letter of a string.\n * @param {string} str the string to capitalize the first letter of\n * @param {string} locale a string representing the locale to be used. Defaults to 'en-US'\n * @returns The passed in string with the first letter capitalized\n */\nexport function capitalizeFirstLetter (str, locale = 'en-US') {\n return str.replace(/^\\p{CWU}/u, char => char.toLocaleUpperCase(locale));\n}\n\n/**\n * Warns if the component is not mounted properly. Useful for tests.\n * @param {HTMLElement} componentRef - the component reference\n * @param {string} componentName - the component name\n */\nexport function warnIfUnmounted (componentRef, componentName) {\n if (!componentRef || !(componentRef instanceof HTMLElement) || !document?.body) return;\n if (!document.body.contains(componentRef)) {\n console.warn(`The ${componentName} component is not attached to the document body. This may cause issues.`);\n }\n}\n\nexport default {\n getUniqueString,\n getRandomElement,\n getRandomInt,\n formatMessages,\n filterFormattedMessages,\n hasFormattedMessageOfType,\n getValidationState,\n htmlFragment,\n flushPromises,\n kebabCaseToPascalCase,\n debounce,\n isOutOfViewPort,\n getPhoneNumberRegex,\n linkRegex,\n isEmailAddress,\n isPhoneNumber,\n isURL,\n safeConcatStrings,\n capitalizeFirstLetter,\n};\n"],"names":["DEFAULT_PREFIX","DEFAULT_VALIDATION_MESSAGE_TYPE","VALIDATION_MESSAGE_TYPES"],"mappings":"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"}
@@ -192,6 +192,12 @@ function safeConcatStrings(elements) {
192
192
  function capitalizeFirstLetter(str, locale = "en-US") {
193
193
  return str.replace(new RegExp("^\\p{CWU}", "u"), (char) => char.toLocaleUpperCase(locale));
194
194
  }
195
+ function warnIfUnmounted(componentRef, componentName) {
196
+ if (!componentRef || !(componentRef instanceof HTMLElement) || !(document == null ? void 0 : document.body)) return;
197
+ if (!document.body.contains(componentRef)) {
198
+ console.warn(`The ${componentName} component is not attached to the document body. This may cause issues.`);
199
+ }
200
+ }
195
201
  const utils = {
196
202
  getUniqueString,
197
203
  getRandomElement,
@@ -236,6 +242,7 @@ export {
236
242
  kebabCaseToPascalCase,
237
243
  linkRegex,
238
244
  pascalCaseToKebabCase,
239
- safeConcatStrings
245
+ safeConcatStrings,
246
+ warnIfUnmounted
240
247
  };
241
248
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../common/utils/index.js"],"sourcesContent":["import {\n DEFAULT_PREFIX,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n VALIDATION_MESSAGE_TYPES,\n} from '../constants';\nimport Vue from 'vue';\n\nlet UNIQUE_ID_COUNTER = 0;\nlet TIMER;\n\n// selector to find focusable not hidden inputs\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)';\n// selector to find focusable not disables elements\nconst FOCUSABLE_SELECTOR_NOT_DISABLED = 'select:not(:disabled),textarea:not(:disabled),button:not(:disabled)';\n// // selector to find focusable not hidden and disabled elements\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED = `${FOCUSABLE_SELECTOR_NOT_HIDDEN},${FOCUSABLE_SELECTOR_NOT_DISABLED}`;\n// selector to find focusable elements\nconst FOCUSABLE_SELECTOR = `a,frame,iframe,${FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED},*[tabindex]`;\n\nconst scheduler = typeof setImmediate === 'function' ? setImmediate : setTimeout;\n\nexport function getUniqueString (prefix = DEFAULT_PREFIX) {\n return `${prefix}${UNIQUE_ID_COUNTER++}`;\n}\n\n/**\n * Returns a random element from array\n * @param array - the array to return a random element from\n * @param {string} seed - use a string to seed the randomization, so it returns the same element each time\n * based on that string.\n * @returns {*} - the random element\n */\nexport function getRandomElement (array, seed) {\n if (seed) {\n const hash = javaHashCode(seed);\n return array[Math.abs(hash) % array.length];\n } else {\n return array[getRandomInt(array.length)];\n }\n}\n\n/**\n * Returns a hash code for a string.\n * (Compatible to Java's String.hashCode())\n * We use this algo to be in sync with android.\n *\n * The hash code for a string object is computed as\n * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]\n * using number arithmetic, where s[i] is the i th character\n * of the given string, n is the length of the string,\n * and ^ indicates exponentiation.\n * (The hash value of the empty string is zero.)\n *\n * @param {string} str a string\n * @return {number} a hash code value for the given string.\n */\nexport function javaHashCode (str) {\n let h;\n for (let i = 0; i < str.length; i++) {\n h = Math.imul(31, h) + str.charCodeAt(i) | 0;\n }\n\n return h;\n}\n\n/**\n * Generate a random integer\n * @param {number} max - max range of integer to generate\n * @returns {number} randomly generated integer between 0 and max\n */\nexport function getRandomInt (max) {\n return Math.floor(Math.random() * max);\n}\n\nexport function formatMessages (messages) {\n if (!messages) {\n return [];\n }\n\n return messages.map(message => {\n if (typeof message === 'string') {\n return {\n message,\n type: DEFAULT_VALIDATION_MESSAGE_TYPE,\n };\n }\n\n return message;\n });\n}\n\nexport function filterFormattedMessages (formattedMessages) {\n const validationState = getValidationState(formattedMessages);\n\n if (!formattedMessages || !validationState) {\n return [];\n }\n\n return formattedMessages.filter(message => !!message.message && message.type === validationState);\n}\n\n/*\n * The priority order of message types is as flows: 'error' > 'warning' > 'success'.\n * If any message of type 'error' is present in messages, the input state is considered\n * to be 'error', then 'warning' and lastly 'success'.\n */\nexport function getValidationState (formattedMessages) {\n if (!formattedMessages) {\n return null;\n }\n\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.ERROR)) {\n return VALIDATION_MESSAGE_TYPES.ERROR;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.WARNING)) {\n return VALIDATION_MESSAGE_TYPES.WARNING;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.SUCCESS)) {\n return VALIDATION_MESSAGE_TYPES.SUCCESS;\n }\n\n return null;\n}\n\nexport function hasFormattedMessageOfType (formattedMessages, messageType) {\n if (!formattedMessages || !messageType) {\n return false;\n }\n\n return formattedMessages.some(message => message?.type === messageType);\n}\n\nexport function findFirstFocusableNode (element) {\n return element?.querySelector(FOCUSABLE_SELECTOR);\n}\n\n/* html-fragment component:\n * To render html without wrapping in another element as when using v-html.\n * props: html\n */\nexport const htmlFragment = {\n name: 'html-fragment',\n functional: true,\n props: ['html'],\n render (h, ctx) {\n return new Vue({\n // eslint-disable-next-line vue/multi-word-component-names\n name: 'Inner',\n beforeCreate () { this.$createElement = h; },\n template: `<div>${ctx.props.html}</div>`,\n }).$mount()._vnode.children;\n },\n};\n\nexport const flushPromises = () => {\n return new Promise((resolve) => {\n scheduler(resolve);\n });\n};\n\n/**\n * Transform a string from kebab-case to PascalCase\n * @param string\n * @returns {string}\n */\nexport const kebabCaseToPascalCase = (string) => {\n return string?.toLowerCase()\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join('');\n};\n\n/**\n * Transform a string from PascalCase to kebab-case\n * @param string\n * @returns {string}\n */\nexport const pascalCaseToKebabCase = (string) => {\n return string\n .replace(/\\.?([A-Z0-9]+)/g, (x, y) => '-' + y.toLowerCase())\n .replace(/^-/, '');\n};\n\n/*\n* Set's a global timer to debounce the execution of a function.\n* @param { object } func - the function that is going to be called after timeout\n* @param { number } [timeout=300] timeout\n* */\nexport function debounce (func, timeout = 300) {\n clearTimeout(TIMER);\n TIMER = setTimeout(func, timeout);\n}\n\n/**\n * Checks if the element is out of the viewport\n * https://gomakethings.com/how-to-check-if-any-part-of-an-element-is-out-of-the-viewport-with-vanilla-js/\n * @param {HTMLElement} element The element to check\n * @return {Object} A set of booleans for each side of the element\n */\n\nexport function isOutOfViewPort (element) {\n const bounding = element.getBoundingClientRect();\n\n const isOut = {\n top: bounding.top < 0,\n left: bounding.left < 0,\n bottom: bounding.bottom > (window.innerHeight || document.documentElement.clientHeight),\n right: bounding.right > (window.innerWidth || document.documentElement.clientWidth),\n };\n isOut.any = Object.values(isOut).some(val => val);\n isOut.all = Object.values(isOut).every(val => val);\n return isOut;\n}\n\n// match valid characters for a domain name followed by a dot, e.g. \"dialpad.\"\nconst domainNameRegex = /(?:(?:[^\\s!@#$%^&*()_=+[\\]{}\\\\|;:'\",.<>/?]+)\\.)/;\n\n// match valid TLDs for a hostname (outdated list from ~2017)\nconst tldRegerx = new RegExp(\n '(?:' +\n 'com|ru|org|net|de|jp|uk|br|it|pl|fr|in|au|ir|info|nl|cn|es|cz|kr|ca|eu|ua|co|gr|' +\n 'za|ro|biz|ch|se|tw|mx|vn|hu|be|tr|at|dk|tv|me|ar|sk|no|us|fi|id|cl|xyz|io|pt|by|' +\n 'il|ie|nz|kz|hk|lt|cc|my|sg|club|bg|edu|рф|pk|su|top|th|hr|rs|pe|pro|si|az|lv|pw|' +\n 'ae|ph|online|ng|ee|ws|ve|cat' +\n ')',\n);\n\n// match valid IPv4 addresses, e.g. \"192.158.1.38\"\nconst ipv4Regex = new RegExp(\n '(?:(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])\\\\.){3}' +\n '(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])',\n);\n\n// match hostnames OR IPv4 addresses, e.g. \"dialpad.com\" or \"192.158.1.38\"\nconst hostnameOrIpRegex = new RegExp(\n '(?:' +\n [\n [\n domainNameRegex.source,\n tldRegerx.source,\n ].join('+'),\n ipv4Regex.source,\n ].join('|') +\n ')',\n);\n\n// match URL paths, e.g. \"/news\"\nconst urlPathRegex = /(?:(?:[;/][^#?<>\\s]*)?)/;\n\n// match URL queries and fragments, e.g. \"?cache=1&new=true\" or \"#heading1\"\nconst urlQueryOrFragmentRegex = /(?:(?:\\?[^#<>\\s]+)?(?:#[^<>\\s]+)?)/;\n\n// match complete hostnames or IPv4 addresses without a protocol and with optional\n// URL paths, queries and fragments e.g. \"dialpad.com/news?cache=1#heading1\"\nconst urlWithoutProtocolRegex = new RegExp(\n '\\\\b' +\n [\n hostnameOrIpRegex.source,\n urlPathRegex.source,\n urlQueryOrFragmentRegex.source,\n '(?!\\\\w)',\n ].join('+'),\n);\n\n// match complete hostnames with protocols and optional URL paths, queries and fragments,\n// e.g. \"ws://localhost:9010\" or \"https://dialpad.com/news?cache=1#heading1\"\nconst urlWithProtocolRegex = /\\b[a-z\\d.-]+:\\/\\/[^<>\\s]+/;\n\n// match email addresses with an optional \"mailto:\" prefix and URL queries, e.g.\n// \"hey@dialpad.com\" or \"mailto:hey@dialpad.com?subject=Hi&body=Hey%20there\"\nconst emailAddressRegex = new RegExp(\n '(?:mailto:)?' +\n '[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+)*@' +\n [\n hostnameOrIpRegex.source,\n urlQueryOrFragmentRegex.source,\n ].join('+') +\n '(?!\\\\w)',\n);\n\n/**\n * Match phone numbers, e.g. \"765-8813\", \"(778) 765-8813\" or \"+17787658813\".\n * @param {number} minLength\n * @param {number} maxLength\n * @returns {RegExp}\n */\nexport function getPhoneNumberRegex (minLength = 7, maxLength = 15) {\n // Some older browser versions don't support lookbehind, so provide a RegExp\n // version without it. It fails just one test case, so IMO it's still good\n // enough to use. https://caniuse.com/js-regexp-lookbehind\n try {\n return new RegExp(\n '(?:^|(?<=\\\\W))' +\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('This browser doesn\\'t support regex lookahead/lookbehind');\n }\n\n return new RegExp(\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n}\n\nconst phoneNumberRegex = getPhoneNumberRegex();\n\n// match all link types\nexport const linkRegex = new RegExp(\n [\n urlWithoutProtocolRegex.source,\n urlWithProtocolRegex.source,\n emailAddressRegex.source,\n phoneNumberRegex.source,\n ].join('|'),\n 'gi',\n);\n\n/**\n * Check if a string is a phone number. Validates only exact matches.\n * @param {string|number} input\n * @returns {boolean}\n */\nexport function isPhoneNumber (input) {\n if (!input || (!['string', 'number'].includes(typeof input))) return false;\n input = input.toString();\n return phoneNumberRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an URL. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isURL (input) {\n if (!input || typeof input !== 'string') return false;\n return urlWithoutProtocolRegex.exec(input)?.[0] === input ||\n urlWithProtocolRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an email address. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isEmailAddress (input) {\n if (!input || typeof input !== 'string') return false;\n return emailAddressRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Concatenate a string removing null or undefined elements\n * avoiding parsing them as string with template strings\n * @param {Array} elements\n * @returns {String}\n */\nexport function safeConcatStrings (elements) {\n return elements.filter(str => !!str).join(' ');\n}\n\n/**\n * Locale safe function to capitalize the first letter of a string.\n * @param {string} str the string to capitalize the first letter of\n * @param {string} locale a string representing the locale to be used. Defaults to 'en-US'\n * @returns The passed in string with the first letter capitalized\n */\nexport function capitalizeFirstLetter (str, locale = 'en-US') {\n return str.replace(/^\\p{CWU}/u, char => char.toLocaleUpperCase(locale));\n}\n\nexport default {\n getUniqueString,\n getRandomElement,\n getRandomInt,\n formatMessages,\n filterFormattedMessages,\n hasFormattedMessageOfType,\n getValidationState,\n htmlFragment,\n flushPromises,\n kebabCaseToPascalCase,\n debounce,\n isOutOfViewPort,\n getPhoneNumberRegex,\n linkRegex,\n isEmailAddress,\n isPhoneNumber,\n isURL,\n safeConcatStrings,\n capitalizeFirstLetter,\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../common/utils/index.js"],"sourcesContent":["import {\n DEFAULT_PREFIX,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n VALIDATION_MESSAGE_TYPES,\n} from '../constants';\nimport Vue from 'vue';\n\nlet UNIQUE_ID_COUNTER = 0;\nlet TIMER;\n\n// selector to find focusable not hidden inputs\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN = 'input:not([type=hidden]):not(:disabled)';\n// selector to find focusable not disables elements\nconst FOCUSABLE_SELECTOR_NOT_DISABLED = 'select:not(:disabled),textarea:not(:disabled),button:not(:disabled)';\n// // selector to find focusable not hidden and disabled elements\nconst FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED = `${FOCUSABLE_SELECTOR_NOT_HIDDEN},${FOCUSABLE_SELECTOR_NOT_DISABLED}`;\n// selector to find focusable elements\nconst FOCUSABLE_SELECTOR = `a,frame,iframe,${FOCUSABLE_SELECTOR_NOT_HIDDEN_DISABLED},*[tabindex]`;\n\nconst scheduler = typeof setImmediate === 'function' ? setImmediate : setTimeout;\n\nexport function getUniqueString (prefix = DEFAULT_PREFIX) {\n return `${prefix}${UNIQUE_ID_COUNTER++}`;\n}\n\n/**\n * Returns a random element from array\n * @param array - the array to return a random element from\n * @param {string} seed - use a string to seed the randomization, so it returns the same element each time\n * based on that string.\n * @returns {*} - the random element\n */\nexport function getRandomElement (array, seed) {\n if (seed) {\n const hash = javaHashCode(seed);\n return array[Math.abs(hash) % array.length];\n } else {\n return array[getRandomInt(array.length)];\n }\n}\n\n/**\n * Returns a hash code for a string.\n * (Compatible to Java's String.hashCode())\n * We use this algo to be in sync with android.\n *\n * The hash code for a string object is computed as\n * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]\n * using number arithmetic, where s[i] is the i th character\n * of the given string, n is the length of the string,\n * and ^ indicates exponentiation.\n * (The hash value of the empty string is zero.)\n *\n * @param {string} str a string\n * @return {number} a hash code value for the given string.\n */\nexport function javaHashCode (str) {\n let h;\n for (let i = 0; i < str.length; i++) {\n h = Math.imul(31, h) + str.charCodeAt(i) | 0;\n }\n\n return h;\n}\n\n/**\n * Generate a random integer\n * @param {number} max - max range of integer to generate\n * @returns {number} randomly generated integer between 0 and max\n */\nexport function getRandomInt (max) {\n return Math.floor(Math.random() * max);\n}\n\nexport function formatMessages (messages) {\n if (!messages) {\n return [];\n }\n\n return messages.map(message => {\n if (typeof message === 'string') {\n return {\n message,\n type: DEFAULT_VALIDATION_MESSAGE_TYPE,\n };\n }\n\n return message;\n });\n}\n\nexport function filterFormattedMessages (formattedMessages) {\n const validationState = getValidationState(formattedMessages);\n\n if (!formattedMessages || !validationState) {\n return [];\n }\n\n return formattedMessages.filter(message => !!message.message && message.type === validationState);\n}\n\n/*\n * The priority order of message types is as flows: 'error' > 'warning' > 'success'.\n * If any message of type 'error' is present in messages, the input state is considered\n * to be 'error', then 'warning' and lastly 'success'.\n */\nexport function getValidationState (formattedMessages) {\n if (!formattedMessages) {\n return null;\n }\n\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.ERROR)) {\n return VALIDATION_MESSAGE_TYPES.ERROR;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.WARNING)) {\n return VALIDATION_MESSAGE_TYPES.WARNING;\n }\n if (hasFormattedMessageOfType(formattedMessages, VALIDATION_MESSAGE_TYPES.SUCCESS)) {\n return VALIDATION_MESSAGE_TYPES.SUCCESS;\n }\n\n return null;\n}\n\nexport function hasFormattedMessageOfType (formattedMessages, messageType) {\n if (!formattedMessages || !messageType) {\n return false;\n }\n\n return formattedMessages.some(message => message?.type === messageType);\n}\n\nexport function findFirstFocusableNode (element) {\n return element?.querySelector(FOCUSABLE_SELECTOR);\n}\n\n/* html-fragment component:\n * To render html without wrapping in another element as when using v-html.\n * props: html\n */\nexport const htmlFragment = {\n name: 'html-fragment',\n functional: true,\n props: ['html'],\n render (h, ctx) {\n return new Vue({\n // eslint-disable-next-line vue/multi-word-component-names\n name: 'Inner',\n beforeCreate () { this.$createElement = h; },\n template: `<div>${ctx.props.html}</div>`,\n }).$mount()._vnode.children;\n },\n};\n\nexport const flushPromises = () => {\n return new Promise((resolve) => {\n scheduler(resolve);\n });\n};\n\n/**\n * Transform a string from kebab-case to PascalCase\n * @param string\n * @returns {string}\n */\nexport const kebabCaseToPascalCase = (string) => {\n return string?.toLowerCase()\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join('');\n};\n\n/**\n * Transform a string from PascalCase to kebab-case\n * @param string\n * @returns {string}\n */\nexport const pascalCaseToKebabCase = (string) => {\n return string\n .replace(/\\.?([A-Z0-9]+)/g, (x, y) => '-' + y.toLowerCase())\n .replace(/^-/, '');\n};\n\n/*\n* Set's a global timer to debounce the execution of a function.\n* @param { object } func - the function that is going to be called after timeout\n* @param { number } [timeout=300] timeout\n* */\nexport function debounce (func, timeout = 300) {\n clearTimeout(TIMER);\n TIMER = setTimeout(func, timeout);\n}\n\n/**\n * Checks if the element is out of the viewport\n * https://gomakethings.com/how-to-check-if-any-part-of-an-element-is-out-of-the-viewport-with-vanilla-js/\n * @param {HTMLElement} element The element to check\n * @return {Object} A set of booleans for each side of the element\n */\n\nexport function isOutOfViewPort (element) {\n const bounding = element.getBoundingClientRect();\n\n const isOut = {\n top: bounding.top < 0,\n left: bounding.left < 0,\n bottom: bounding.bottom > (window.innerHeight || document.documentElement.clientHeight),\n right: bounding.right > (window.innerWidth || document.documentElement.clientWidth),\n };\n isOut.any = Object.values(isOut).some(val => val);\n isOut.all = Object.values(isOut).every(val => val);\n return isOut;\n}\n\n// match valid characters for a domain name followed by a dot, e.g. \"dialpad.\"\nconst domainNameRegex = /(?:(?:[^\\s!@#$%^&*()_=+[\\]{}\\\\|;:'\",.<>/?]+)\\.)/;\n\n// match valid TLDs for a hostname (outdated list from ~2017)\nconst tldRegerx = new RegExp(\n '(?:' +\n 'com|ru|org|net|de|jp|uk|br|it|pl|fr|in|au|ir|info|nl|cn|es|cz|kr|ca|eu|ua|co|gr|' +\n 'za|ro|biz|ch|se|tw|mx|vn|hu|be|tr|at|dk|tv|me|ar|sk|no|us|fi|id|cl|xyz|io|pt|by|' +\n 'il|ie|nz|kz|hk|lt|cc|my|sg|club|bg|edu|рф|pk|su|top|th|hr|rs|pe|pro|si|az|lv|pw|' +\n 'ae|ph|online|ng|ee|ws|ve|cat' +\n ')',\n);\n\n// match valid IPv4 addresses, e.g. \"192.158.1.38\"\nconst ipv4Regex = new RegExp(\n '(?:(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])\\\\.){3}' +\n '(?:[0-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])',\n);\n\n// match hostnames OR IPv4 addresses, e.g. \"dialpad.com\" or \"192.158.1.38\"\nconst hostnameOrIpRegex = new RegExp(\n '(?:' +\n [\n [\n domainNameRegex.source,\n tldRegerx.source,\n ].join('+'),\n ipv4Regex.source,\n ].join('|') +\n ')',\n);\n\n// match URL paths, e.g. \"/news\"\nconst urlPathRegex = /(?:(?:[;/][^#?<>\\s]*)?)/;\n\n// match URL queries and fragments, e.g. \"?cache=1&new=true\" or \"#heading1\"\nconst urlQueryOrFragmentRegex = /(?:(?:\\?[^#<>\\s]+)?(?:#[^<>\\s]+)?)/;\n\n// match complete hostnames or IPv4 addresses without a protocol and with optional\n// URL paths, queries and fragments e.g. \"dialpad.com/news?cache=1#heading1\"\nconst urlWithoutProtocolRegex = new RegExp(\n '\\\\b' +\n [\n hostnameOrIpRegex.source,\n urlPathRegex.source,\n urlQueryOrFragmentRegex.source,\n '(?!\\\\w)',\n ].join('+'),\n);\n\n// match complete hostnames with protocols and optional URL paths, queries and fragments,\n// e.g. \"ws://localhost:9010\" or \"https://dialpad.com/news?cache=1#heading1\"\nconst urlWithProtocolRegex = /\\b[a-z\\d.-]+:\\/\\/[^<>\\s]+/;\n\n// match email addresses with an optional \"mailto:\" prefix and URL queries, e.g.\n// \"hey@dialpad.com\" or \"mailto:hey@dialpad.com?subject=Hi&body=Hey%20there\"\nconst emailAddressRegex = new RegExp(\n '(?:mailto:)?' +\n '[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&\\'*+/=?^_`{|}~-]+)*@' +\n [\n hostnameOrIpRegex.source,\n urlQueryOrFragmentRegex.source,\n ].join('+') +\n '(?!\\\\w)',\n);\n\n/**\n * Match phone numbers, e.g. \"765-8813\", \"(778) 765-8813\" or \"+17787658813\".\n * @param {number} minLength\n * @param {number} maxLength\n * @returns {RegExp}\n */\nexport function getPhoneNumberRegex (minLength = 7, maxLength = 15) {\n // Some older browser versions don't support lookbehind, so provide a RegExp\n // version without it. It fails just one test case, so IMO it's still good\n // enough to use. https://caniuse.com/js-regexp-lookbehind\n try {\n return new RegExp(\n '(?:^|(?<=\\\\W))' +\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn('This browser doesn\\'t support regex lookahead/lookbehind');\n }\n\n return new RegExp(\n '(?![\\\\s\\\\-])\\\\+?(?:[0-9()\\\\- \\\\t]' +\n `{${minLength},${maxLength}}` +\n ')(?=\\\\b)(?=\\\\W(?=\\\\W|$)|\\\\s|$)',\n );\n}\n\nconst phoneNumberRegex = getPhoneNumberRegex();\n\n// match all link types\nexport const linkRegex = new RegExp(\n [\n urlWithoutProtocolRegex.source,\n urlWithProtocolRegex.source,\n emailAddressRegex.source,\n phoneNumberRegex.source,\n ].join('|'),\n 'gi',\n);\n\n/**\n * Check if a string is a phone number. Validates only exact matches.\n * @param {string|number} input\n * @returns {boolean}\n */\nexport function isPhoneNumber (input) {\n if (!input || (!['string', 'number'].includes(typeof input))) return false;\n input = input.toString();\n return phoneNumberRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an URL. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isURL (input) {\n if (!input || typeof input !== 'string') return false;\n return urlWithoutProtocolRegex.exec(input)?.[0] === input ||\n urlWithProtocolRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Check if a string is an email address. Validates only exact matches.\n * @param {string} input\n * @returns {boolean}\n */\nexport function isEmailAddress (input) {\n if (!input || typeof input !== 'string') return false;\n return emailAddressRegex.exec(input)?.[0] === input;\n}\n\n/**\n * Concatenate a string removing null or undefined elements\n * avoiding parsing them as string with template strings\n * @param {Array} elements\n * @returns {String}\n */\nexport function safeConcatStrings (elements) {\n return elements.filter(str => !!str).join(' ');\n}\n\n/**\n * Locale safe function to capitalize the first letter of a string.\n * @param {string} str the string to capitalize the first letter of\n * @param {string} locale a string representing the locale to be used. Defaults to 'en-US'\n * @returns The passed in string with the first letter capitalized\n */\nexport function capitalizeFirstLetter (str, locale = 'en-US') {\n return str.replace(/^\\p{CWU}/u, char => char.toLocaleUpperCase(locale));\n}\n\n/**\n * Warns if the component is not mounted properly. Useful for tests.\n * @param {HTMLElement} componentRef - the component reference\n * @param {string} componentName - the component name\n */\nexport function warnIfUnmounted (componentRef, componentName) {\n if (!componentRef || !(componentRef instanceof HTMLElement) || !document?.body) return;\n if (!document.body.contains(componentRef)) {\n console.warn(`The ${componentName} component is not attached to the document body. This may cause issues.`);\n }\n}\n\nexport default {\n getUniqueString,\n getRandomElement,\n getRandomInt,\n formatMessages,\n filterFormattedMessages,\n hasFormattedMessageOfType,\n getValidationState,\n htmlFragment,\n flushPromises,\n kebabCaseToPascalCase,\n debounce,\n isOutOfViewPort,\n getPhoneNumberRegex,\n linkRegex,\n isEmailAddress,\n isPhoneNumber,\n isURL,\n safeConcatStrings,\n capitalizeFirstLetter,\n};\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  const monthYearPicker = require("./modules/month-year-picker.vue.cjs");
3
3
  const calendar = require("./modules/calendar.vue.cjs");
4
4
  const stack = require("../stack/stack.vue.cjs");
5
+ const common_utils = require("../../common/utils.cjs");
5
6
  const _pluginVue2_normalizer = require("../../_virtual/_plugin-vue2_normalizer.cjs");
6
7
  const _sfc_main = {
7
8
  name: "DtDatepicker",
@@ -106,6 +107,9 @@ const _sfc_main = {
106
107
  calendarDays: []
107
108
  };
108
109
  },
110
+ mounted() {
111
+ common_utils.warnIfUnmounted(this.$el, this.$options.name);
112
+ },
109
113
  methods: {
110
114
  updateCalendarDays(days) {
111
115
  this.calendarDays = days;
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.vue.cjs","sources":["../../../components/datepicker/datepicker.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"400\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport DtStack from '@/components/stack/stack.vue';\n\nexport default {\n name: 'DtDatepicker',\n\n components: { DtStack, MonthYearPicker, Calendar },\n\n props: {\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n },\n\n emits: [\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n ],\n\n data () {\n return {\n calendarDays: [],\n };\n },\n\n methods: {\n updateCalendarDays (days) {\n this.calendarDays = days;\n },\n },\n};\n</script>\n"],"names":["DtStack","MonthYearPicker","Calendar"],"mappings":";;;;;AA2CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAAA,SAAAA,wBAAAC,iBAAA,UAAAC,SAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,oBAAA;IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,mBAAA,MAAA;AACA,WAAA,eAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"datepicker.vue.cjs","sources":["../../../components/datepicker/datepicker.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"400\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport DtStack from '@/components/stack/stack.vue';\nimport { warnIfUnmounted } from '@/common/utils';\n\nexport default {\n name: 'DtDatepicker',\n\n components: { DtStack, MonthYearPicker, Calendar },\n\n props: {\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n },\n\n emits: [\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n ],\n\n data () {\n return {\n calendarDays: [],\n };\n },\n\n mounted () {\n warnIfUnmounted(this.$el, this.$options.name);\n },\n\n methods: {\n updateCalendarDays (days) {\n this.calendarDays = days;\n },\n },\n};\n</script>\n"],"names":["DtStack","MonthYearPicker","Calendar","warnIfUnmounted"],"mappings":";;;;;;AA4CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAAA,SAAAA,wBAAAC,iBAAA,UAAAC,SAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,oBAAA;IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACAC,iBAAA,gBAAA,KAAA,KAAA,KAAA,SAAA,IAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,mBAAA,MAAA;AACA,WAAA,eAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import MonthYearPicker from "./modules/month-year-picker.vue.js";
2
2
  import Calendar from "./modules/calendar.vue.js";
3
3
  import DtStack from "../stack/stack.vue.js";
4
+ import { warnIfUnmounted } from "../../common/utils.js";
4
5
  import normalizeComponent from "../../_virtual/_plugin-vue2_normalizer.js";
5
6
  const _sfc_main = {
6
7
  name: "DtDatepicker",
@@ -105,6 +106,9 @@ const _sfc_main = {
105
106
  calendarDays: []
106
107
  };
107
108
  },
109
+ mounted() {
110
+ warnIfUnmounted(this.$el, this.$options.name);
111
+ },
108
112
  methods: {
109
113
  updateCalendarDays(days) {
110
114
  this.calendarDays = days;
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.vue.js","sources":["../../../components/datepicker/datepicker.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"400\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport DtStack from '@/components/stack/stack.vue';\n\nexport default {\n name: 'DtDatepicker',\n\n components: { DtStack, MonthYearPicker, Calendar },\n\n props: {\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n },\n\n emits: [\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n ],\n\n data () {\n return {\n calendarDays: [],\n };\n },\n\n methods: {\n updateCalendarDays (days) {\n this.calendarDays = days;\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;AA2CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,SAAA,iBAAA,SAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,oBAAA;IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,mBAAA,MAAA;AACA,WAAA,eAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"datepicker.vue.js","sources":["../../../components/datepicker/datepicker.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"400\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport DtStack from '@/components/stack/stack.vue';\nimport { warnIfUnmounted } from '@/common/utils';\n\nexport default {\n name: 'DtDatepicker',\n\n components: { DtStack, MonthYearPicker, Calendar },\n\n props: {\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n },\n\n emits: [\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n ],\n\n data () {\n return {\n calendarDays: [],\n };\n },\n\n mounted () {\n warnIfUnmounted(this.$el, this.$options.name);\n },\n\n methods: {\n updateCalendarDays (days) {\n this.calendarDays = days;\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;AA4CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,SAAA,iBAAA,SAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,oBAAA;IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,oBAAA,KAAA,KAAA,KAAA,SAAA,IAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,mBAAA,MAAA;AACA,WAAA,eAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -124,8 +124,7 @@ const _sfc_main = {
124
124
  internalSearchQuery: this.searchQuery,
125
125
  highlightedEmoji: null,
126
126
  selectedTabset: {},
127
- scrollIntoTab: 0,
128
- isScrolling: false
127
+ scrollIntoTab: 0
129
128
  };
130
129
  },
131
130
  computed: {
@@ -147,9 +146,6 @@ const _sfc_main = {
147
146
  updateScrollIntoTab(value) {
148
147
  this.scrollIntoTab = value;
149
148
  },
150
- updateIsScrolling(value) {
151
- this.isScrolling = value;
152
- },
153
149
  updateHighlightedEmoji(emoji) {
154
150
  this.highlightedEmoji = emoji;
155
151
  }
@@ -157,7 +153,7 @@ const _sfc_main = {
157
153
  };
158
154
  var _sfc_render = function render() {
159
155
  var _vm = this, _c = _vm._self._c;
160
- return _c("div", { staticClass: "d-emoji-picker" }, [_c("div", { staticClass: "d-emoji-picker--header" }, [_c("emoji-tabset", { ref: "tabsetRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "show-recently-used-tab": _vm.showRecentlyUsedTab, "scroll-into-tab": _vm.scrollIntoTab, "tab-set-labels": _vm.tabSetLabels, "is-scrolling": _vm.isScrolling }, on: { "focus-skin-selector": function($event) {
156
+ return _c("div", { staticClass: "d-emoji-picker" }, [_c("div", { staticClass: "d-emoji-picker--header" }, [_c("emoji-tabset", { ref: "tabsetRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "show-recently-used-tab": _vm.showRecentlyUsedTab, "scroll-into-tab": _vm.scrollIntoTab, "tab-set-labels": _vm.tabSetLabels }, on: { "focus-skin-selector": function($event) {
161
157
  return _vm.$refs.skinSelectorRef.focusSkinSelector();
162
158
  }, "focus-search-input": function($event) {
163
159
  _vm.showSearch ? _vm.$refs.searchInputRef.focusSearchInput() : _vm.$refs.emojiSelectorRef.focusEmojiSelector();
@@ -173,7 +169,7 @@ var _sfc_render = function render() {
173
169
  } }, nativeOn: { "keydown": function($event) {
174
170
  if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) return null;
175
171
  return _vm.$emit("close");
176
- } } }) : _vm._e(), _c("emoji-selector", { ref: "emojiSelectorRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "skin-tone": _vm.skinTone, "tab-set-labels": _vm.tabSetLabels, "search-results-label": _vm.searchResultsLabel, "search-no-results-label": _vm.searchNoResultsLabel, "recently-used-emojis": _vm.recentlyUsedEmojis, "selected-tabset": _vm.selectedTabset }, on: { "scroll-into-tab": _vm.updateScrollIntoTab, "is-scrolling": _vm.updateIsScrolling, "highlighted-emoji": _vm.updateHighlightedEmoji, "selected-emoji": function($event) {
172
+ } } }) : _vm._e(), _c("emoji-selector", { ref: "emojiSelectorRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "skin-tone": _vm.skinTone, "tab-set-labels": _vm.tabSetLabels, "search-results-label": _vm.searchResultsLabel, "search-no-results-label": _vm.searchNoResultsLabel, "recently-used-emojis": _vm.recentlyUsedEmojis, "selected-tabset": _vm.selectedTabset }, on: { "scroll-into-tab": _vm.updateScrollIntoTab, "highlighted-emoji": _vm.updateHighlightedEmoji, "selected-emoji": function($event) {
177
173
  return _vm.$emit("selected-emoji", $event);
178
174
  }, "focus-skin-selector": function($event) {
179
175
  return _vm.$refs.skinSelectorRef.focusSkinSelector();
@@ -1 +1 @@
1
- {"version":3,"file":"emoji_picker.vue.cjs","sources":["../../../components/emoji_picker/emoji_picker.vue"],"sourcesContent":["<template>\n <div\n class=\"d-emoji-picker\"\n >\n <div class=\"d-emoji-picker--header\">\n <emoji-tabset\n ref=\"tabsetRef\"\n :emoji-filter=\"internalSearchQuery\"\n :show-recently-used-tab=\"showRecentlyUsedTab\"\n :scroll-into-tab=\"scrollIntoTab\"\n :tab-set-labels=\"tabSetLabels\"\n :is-scrolling=\"isScrolling\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.emojiSelectorRef.focusEmojiSelector()\"\n @selected-tabset=\"scrollToSelectedTabset\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--body\">\n <emoji-search\n v-if=\"showSearch\"\n ref=\"searchInputRef\"\n :model-value=\"internalSearchQuery\"\n :search-placeholder-label=\"searchPlaceholderLabel\"\n @update:model-value=\"newValue => internalSearchQuery = newValue\"\n @select-first-emoji=\"$emit('selected-emoji', highlightedEmoji)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-emoji-selector=\"$refs.emojiSelectorRef.focusEmojiSelector()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n <emoji-selector\n ref=\"emojiSelectorRef\"\n :emoji-filter=\"internalSearchQuery\"\n :skin-tone=\"skinTone\"\n :tab-set-labels=\"tabSetLabels\"\n :search-results-label=\"searchResultsLabel\"\n :search-no-results-label=\"searchNoResultsLabel\"\n :recently-used-emojis=\"recentlyUsedEmojis\"\n :selected-tabset=\"selectedTabset\"\n @scroll-into-tab=\"updateScrollIntoTab\"\n @is-scrolling=\"updateIsScrolling\"\n @highlighted-emoji=\"updateHighlightedEmoji\"\n @selected-emoji=\"$emit('selected-emoji', $event)\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.tabsetRef.focusTabset()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--footer\">\n <emoji-description :emoji=\"highlightedEmoji\" />\n <emoji-skin-selector\n ref=\"skinSelectorRef\"\n :is-hovering=\"!!highlightedEmoji\"\n :skin-selector-button-tooltip-label=\"skinSelectorButtonTooltipLabel\"\n :skin-tone=\"skinTone\"\n @skin-tone=\"$emit('skin-tone', $event)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-last-emoji=\"$refs.emojiSelectorRef.focusLastEmoji()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport EmojiTabset from './modules/emoji_tabset.vue';\nimport EmojiSearch from './modules/emoji_search.vue';\nimport EmojiSelector from './modules/emoji_selector.vue';\nimport EmojiDescription from './modules/emoji_description.vue';\nimport EmojiSkinSelector from './modules/emoji_skin_selector.vue';\n\nexport default {\n name: 'DtEmojiPicker',\n\n components: {\n EmojiTabset,\n EmojiSearch,\n EmojiSelector,\n EmojiDescription,\n EmojiSkinSelector,\n },\n\n props: {\n /**\n * The array with recently used emoji object\n * This list is necessary to fill the recently used tab\n * @type {Array}\n * @default []\n * @example\n * <dt-emoji-picker :recentlyUsedEmojis=\"[emojiObject, emojiObject]\" />\n */\n // TODO try to simplify this to achieve an array of unicode characters and not an entire emoji data object\n recentlyUsedEmojis: {\n type: Array,\n },\n\n /**\n * The placeholder text for the search input\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchPlaceholderLabel=\"'Search...'\" />\n */\n searchPlaceholderLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search results tab\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchResultsLabel=\"'Search results'\" />\n */\n searchResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search no results\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchNoResultsLabel=\"'No results'\" />\n */\n searchNoResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The list of tabsets to show, it is necessary to be updated with the correct language\n * It must respect the provided order.\n * @type {Array}\n * @required\n * @example\n * <dt-emoji-picker\n * :tabSetLabels=\"['Most recently used', 'Smileys and people', 'Nature',\n * 'Food', 'Activity', 'Travel', 'Objects', 'Symbols', 'Flags']\" />\n */\n tabSetLabels: {\n type: Array,\n required: true,\n },\n\n /**\n * The skin tone to show the emojis\n * This prop gives the possibility to use the skin tone selected by the user previously\n * @type {String}\n * @default 'Default'\n * @values 'Default', 'Light', 'MediumLight', 'Medium', 'MediumDark', 'Dark'\n * @example\n * <dt-emoji-picker :skinTone=\"'Default'\" />\n */\n skinTone: {\n type: String,\n default: 'Default',\n },\n\n /**\n * Tooltip shown when skin selector button is hovered.\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :skin-selector-button-tooltip-label=\"'Change default skin tone'\" />\n */\n skinSelectorButtonTooltipLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets the search query that filters emojis.\n * @type {String}\n * @example\n * <dt-emoji-picker search-query=\"smile\" />\n */\n searchQuery: {\n type: String,\n default: '',\n },\n\n /**\n * Shows the search input\n * @type {Boolean}\n * @example\n * <dt-emoji-picker :show-search=\"false\" />\n */\n showSearch: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n internalSearchQuery: this.searchQuery,\n highlightedEmoji: null,\n selectedTabset: {},\n scrollIntoTab: 0,\n isScrolling: false,\n };\n },\n\n computed: {\n showRecentlyUsedTab () {\n return this.recentlyUsedEmojis?.length > 0;\n },\n },\n\n watch: {\n searchQuery (value) {\n this.internalSearchQuery = value;\n },\n },\n\n methods: {\n scrollToSelectedTabset (tabId) {\n this.internalSearchQuery = '';\n this.selectedTabset = { ...this.selectedTabset, tabId };\n },\n\n updateScrollIntoTab (value) {\n this.scrollIntoTab = value;\n },\n\n updateIsScrolling (value) {\n this.isScrolling = value;\n },\n\n updateHighlightedEmoji (emoji) {\n this.highlightedEmoji = emoji;\n },\n },\n};\n</script>\n"],"names":["EmojiTabset","EmojiSearch","EmojiSelector","EmojiDescription","EmojiSkinSelector"],"mappings":";;;;;;;AAuEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAA;AAAAA,IACA,aAAAC;AAAAA,IACA,eAAAC;AAAAA,IACA,kBAAAC;AAAAA,IACA,mBAAAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,oBAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,sBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gCAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,qBAAA,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,gBAAA,CAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,sBAAA;;AACA,eAAA,UAAA,uBAAA,mBAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,YAAA,OAAA;AACA,WAAA,sBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,uBAAA,OAAA;AACA,WAAA,sBAAA;AACA,WAAA,iBAAA,EAAA,GAAA,KAAA,gBAAA,MAAA;AAAA,IACA;AAAA,IAEA,oBAAA,OAAA;AACA,WAAA,gBAAA;AAAA,IACA;AAAA,IAEA,kBAAA,OAAA;AACA,WAAA,cAAA;AAAA,IACA;AAAA,IAEA,uBAAA,OAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"emoji_picker.vue.cjs","sources":["../../../components/emoji_picker/emoji_picker.vue"],"sourcesContent":["<template>\n <div\n class=\"d-emoji-picker\"\n >\n <div class=\"d-emoji-picker--header\">\n <emoji-tabset\n ref=\"tabsetRef\"\n :emoji-filter=\"internalSearchQuery\"\n :show-recently-used-tab=\"showRecentlyUsedTab\"\n :scroll-into-tab=\"scrollIntoTab\"\n :tab-set-labels=\"tabSetLabels\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.emojiSelectorRef.focusEmojiSelector()\"\n @selected-tabset=\"scrollToSelectedTabset\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--body\">\n <emoji-search\n v-if=\"showSearch\"\n ref=\"searchInputRef\"\n :model-value=\"internalSearchQuery\"\n :search-placeholder-label=\"searchPlaceholderLabel\"\n @update:model-value=\"newValue => internalSearchQuery = newValue\"\n @select-first-emoji=\"$emit('selected-emoji', highlightedEmoji)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-emoji-selector=\"$refs.emojiSelectorRef.focusEmojiSelector()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n <emoji-selector\n ref=\"emojiSelectorRef\"\n :emoji-filter=\"internalSearchQuery\"\n :skin-tone=\"skinTone\"\n :tab-set-labels=\"tabSetLabels\"\n :search-results-label=\"searchResultsLabel\"\n :search-no-results-label=\"searchNoResultsLabel\"\n :recently-used-emojis=\"recentlyUsedEmojis\"\n :selected-tabset=\"selectedTabset\"\n @scroll-into-tab=\"updateScrollIntoTab\"\n @highlighted-emoji=\"updateHighlightedEmoji\"\n @selected-emoji=\"$emit('selected-emoji', $event)\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.tabsetRef.focusTabset()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--footer\">\n <emoji-description :emoji=\"highlightedEmoji\" />\n <emoji-skin-selector\n ref=\"skinSelectorRef\"\n :is-hovering=\"!!highlightedEmoji\"\n :skin-selector-button-tooltip-label=\"skinSelectorButtonTooltipLabel\"\n :skin-tone=\"skinTone\"\n @skin-tone=\"$emit('skin-tone', $event)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-last-emoji=\"$refs.emojiSelectorRef.focusLastEmoji()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport EmojiTabset from './modules/emoji_tabset.vue';\nimport EmojiSearch from './modules/emoji_search.vue';\nimport EmojiSelector from './modules/emoji_selector.vue';\nimport EmojiDescription from './modules/emoji_description.vue';\nimport EmojiSkinSelector from './modules/emoji_skin_selector.vue';\n\nexport default {\n name: 'DtEmojiPicker',\n\n components: {\n EmojiTabset,\n EmojiSearch,\n EmojiSelector,\n EmojiDescription,\n EmojiSkinSelector,\n },\n\n props: {\n /**\n * The array with recently used emoji object\n * This list is necessary to fill the recently used tab\n * @type {Array}\n * @default []\n * @example\n * <dt-emoji-picker :recentlyUsedEmojis=\"[emojiObject, emojiObject]\" />\n */\n // TODO try to simplify this to achieve an array of unicode characters and not an entire emoji data object\n recentlyUsedEmojis: {\n type: Array,\n },\n\n /**\n * The placeholder text for the search input\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchPlaceholderLabel=\"'Search...'\" />\n */\n searchPlaceholderLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search results tab\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchResultsLabel=\"'Search results'\" />\n */\n searchResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search no results\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchNoResultsLabel=\"'No results'\" />\n */\n searchNoResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The list of tabsets to show, it is necessary to be updated with the correct language\n * It must respect the provided order.\n * @type {Array}\n * @required\n * @example\n * <dt-emoji-picker\n * :tabSetLabels=\"['Most recently used', 'Smileys and people', 'Nature',\n * 'Food', 'Activity', 'Travel', 'Objects', 'Symbols', 'Flags']\" />\n */\n tabSetLabels: {\n type: Array,\n required: true,\n },\n\n /**\n * The skin tone to show the emojis\n * This prop gives the possibility to use the skin tone selected by the user previously\n * @type {String}\n * @default 'Default'\n * @values 'Default', 'Light', 'MediumLight', 'Medium', 'MediumDark', 'Dark'\n * @example\n * <dt-emoji-picker :skinTone=\"'Default'\" />\n */\n skinTone: {\n type: String,\n default: 'Default',\n },\n\n /**\n * Tooltip shown when skin selector button is hovered.\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :skin-selector-button-tooltip-label=\"'Change default skin tone'\" />\n */\n skinSelectorButtonTooltipLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets the search query that filters emojis.\n * @type {String}\n * @example\n * <dt-emoji-picker search-query=\"smile\" />\n */\n searchQuery: {\n type: String,\n default: '',\n },\n\n /**\n * Shows the search input\n * @type {Boolean}\n * @example\n * <dt-emoji-picker :show-search=\"false\" />\n */\n showSearch: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n internalSearchQuery: this.searchQuery,\n highlightedEmoji: null,\n selectedTabset: {},\n scrollIntoTab: 0,\n };\n },\n\n computed: {\n showRecentlyUsedTab () {\n return this.recentlyUsedEmojis?.length > 0;\n },\n },\n\n watch: {\n searchQuery (value) {\n this.internalSearchQuery = value;\n },\n },\n\n methods: {\n scrollToSelectedTabset (tabId) {\n this.internalSearchQuery = '';\n this.selectedTabset = { ...this.selectedTabset, tabId };\n },\n\n updateScrollIntoTab (value) {\n this.scrollIntoTab = value;\n },\n\n updateHighlightedEmoji (emoji) {\n this.highlightedEmoji = emoji;\n },\n },\n};\n</script>\n"],"names":["EmojiTabset","EmojiSearch","EmojiSelector","EmojiDescription","EmojiSkinSelector"],"mappings":";;;;;;;AAqEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAA;AAAAA,IACA,aAAAC;AAAAA,IACA,eAAAC;AAAAA,IACA,kBAAAC;AAAAA,IACA,mBAAAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,oBAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,sBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gCAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,qBAAA,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,gBAAA,CAAA;AAAA,MACA,eAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,sBAAA;;AACA,eAAA,UAAA,uBAAA,mBAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,YAAA,OAAA;AACA,WAAA,sBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,uBAAA,OAAA;AACA,WAAA,sBAAA;AACA,WAAA,iBAAA,EAAA,GAAA,KAAA,gBAAA,MAAA;AAAA,IACA;AAAA,IAEA,oBAAA,OAAA;AACA,WAAA,gBAAA;AAAA,IACA;AAAA,IAEA,uBAAA,OAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -123,8 +123,7 @@ const _sfc_main = {
123
123
  internalSearchQuery: this.searchQuery,
124
124
  highlightedEmoji: null,
125
125
  selectedTabset: {},
126
- scrollIntoTab: 0,
127
- isScrolling: false
126
+ scrollIntoTab: 0
128
127
  };
129
128
  },
130
129
  computed: {
@@ -146,9 +145,6 @@ const _sfc_main = {
146
145
  updateScrollIntoTab(value) {
147
146
  this.scrollIntoTab = value;
148
147
  },
149
- updateIsScrolling(value) {
150
- this.isScrolling = value;
151
- },
152
148
  updateHighlightedEmoji(emoji) {
153
149
  this.highlightedEmoji = emoji;
154
150
  }
@@ -156,7 +152,7 @@ const _sfc_main = {
156
152
  };
157
153
  var _sfc_render = function render() {
158
154
  var _vm = this, _c = _vm._self._c;
159
- return _c("div", { staticClass: "d-emoji-picker" }, [_c("div", { staticClass: "d-emoji-picker--header" }, [_c("emoji-tabset", { ref: "tabsetRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "show-recently-used-tab": _vm.showRecentlyUsedTab, "scroll-into-tab": _vm.scrollIntoTab, "tab-set-labels": _vm.tabSetLabels, "is-scrolling": _vm.isScrolling }, on: { "focus-skin-selector": function($event) {
155
+ return _c("div", { staticClass: "d-emoji-picker" }, [_c("div", { staticClass: "d-emoji-picker--header" }, [_c("emoji-tabset", { ref: "tabsetRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "show-recently-used-tab": _vm.showRecentlyUsedTab, "scroll-into-tab": _vm.scrollIntoTab, "tab-set-labels": _vm.tabSetLabels }, on: { "focus-skin-selector": function($event) {
160
156
  return _vm.$refs.skinSelectorRef.focusSkinSelector();
161
157
  }, "focus-search-input": function($event) {
162
158
  _vm.showSearch ? _vm.$refs.searchInputRef.focusSearchInput() : _vm.$refs.emojiSelectorRef.focusEmojiSelector();
@@ -172,7 +168,7 @@ var _sfc_render = function render() {
172
168
  } }, nativeOn: { "keydown": function($event) {
173
169
  if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) return null;
174
170
  return _vm.$emit("close");
175
- } } }) : _vm._e(), _c("emoji-selector", { ref: "emojiSelectorRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "skin-tone": _vm.skinTone, "tab-set-labels": _vm.tabSetLabels, "search-results-label": _vm.searchResultsLabel, "search-no-results-label": _vm.searchNoResultsLabel, "recently-used-emojis": _vm.recentlyUsedEmojis, "selected-tabset": _vm.selectedTabset }, on: { "scroll-into-tab": _vm.updateScrollIntoTab, "is-scrolling": _vm.updateIsScrolling, "highlighted-emoji": _vm.updateHighlightedEmoji, "selected-emoji": function($event) {
171
+ } } }) : _vm._e(), _c("emoji-selector", { ref: "emojiSelectorRef", attrs: { "emoji-filter": _vm.internalSearchQuery, "skin-tone": _vm.skinTone, "tab-set-labels": _vm.tabSetLabels, "search-results-label": _vm.searchResultsLabel, "search-no-results-label": _vm.searchNoResultsLabel, "recently-used-emojis": _vm.recentlyUsedEmojis, "selected-tabset": _vm.selectedTabset }, on: { "scroll-into-tab": _vm.updateScrollIntoTab, "highlighted-emoji": _vm.updateHighlightedEmoji, "selected-emoji": function($event) {
176
172
  return _vm.$emit("selected-emoji", $event);
177
173
  }, "focus-skin-selector": function($event) {
178
174
  return _vm.$refs.skinSelectorRef.focusSkinSelector();
@@ -1 +1 @@
1
- {"version":3,"file":"emoji_picker.vue.js","sources":["../../../components/emoji_picker/emoji_picker.vue"],"sourcesContent":["<template>\n <div\n class=\"d-emoji-picker\"\n >\n <div class=\"d-emoji-picker--header\">\n <emoji-tabset\n ref=\"tabsetRef\"\n :emoji-filter=\"internalSearchQuery\"\n :show-recently-used-tab=\"showRecentlyUsedTab\"\n :scroll-into-tab=\"scrollIntoTab\"\n :tab-set-labels=\"tabSetLabels\"\n :is-scrolling=\"isScrolling\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.emojiSelectorRef.focusEmojiSelector()\"\n @selected-tabset=\"scrollToSelectedTabset\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--body\">\n <emoji-search\n v-if=\"showSearch\"\n ref=\"searchInputRef\"\n :model-value=\"internalSearchQuery\"\n :search-placeholder-label=\"searchPlaceholderLabel\"\n @update:model-value=\"newValue => internalSearchQuery = newValue\"\n @select-first-emoji=\"$emit('selected-emoji', highlightedEmoji)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-emoji-selector=\"$refs.emojiSelectorRef.focusEmojiSelector()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n <emoji-selector\n ref=\"emojiSelectorRef\"\n :emoji-filter=\"internalSearchQuery\"\n :skin-tone=\"skinTone\"\n :tab-set-labels=\"tabSetLabels\"\n :search-results-label=\"searchResultsLabel\"\n :search-no-results-label=\"searchNoResultsLabel\"\n :recently-used-emojis=\"recentlyUsedEmojis\"\n :selected-tabset=\"selectedTabset\"\n @scroll-into-tab=\"updateScrollIntoTab\"\n @is-scrolling=\"updateIsScrolling\"\n @highlighted-emoji=\"updateHighlightedEmoji\"\n @selected-emoji=\"$emit('selected-emoji', $event)\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.tabsetRef.focusTabset()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--footer\">\n <emoji-description :emoji=\"highlightedEmoji\" />\n <emoji-skin-selector\n ref=\"skinSelectorRef\"\n :is-hovering=\"!!highlightedEmoji\"\n :skin-selector-button-tooltip-label=\"skinSelectorButtonTooltipLabel\"\n :skin-tone=\"skinTone\"\n @skin-tone=\"$emit('skin-tone', $event)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-last-emoji=\"$refs.emojiSelectorRef.focusLastEmoji()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport EmojiTabset from './modules/emoji_tabset.vue';\nimport EmojiSearch from './modules/emoji_search.vue';\nimport EmojiSelector from './modules/emoji_selector.vue';\nimport EmojiDescription from './modules/emoji_description.vue';\nimport EmojiSkinSelector from './modules/emoji_skin_selector.vue';\n\nexport default {\n name: 'DtEmojiPicker',\n\n components: {\n EmojiTabset,\n EmojiSearch,\n EmojiSelector,\n EmojiDescription,\n EmojiSkinSelector,\n },\n\n props: {\n /**\n * The array with recently used emoji object\n * This list is necessary to fill the recently used tab\n * @type {Array}\n * @default []\n * @example\n * <dt-emoji-picker :recentlyUsedEmojis=\"[emojiObject, emojiObject]\" />\n */\n // TODO try to simplify this to achieve an array of unicode characters and not an entire emoji data object\n recentlyUsedEmojis: {\n type: Array,\n },\n\n /**\n * The placeholder text for the search input\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchPlaceholderLabel=\"'Search...'\" />\n */\n searchPlaceholderLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search results tab\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchResultsLabel=\"'Search results'\" />\n */\n searchResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search no results\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchNoResultsLabel=\"'No results'\" />\n */\n searchNoResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The list of tabsets to show, it is necessary to be updated with the correct language\n * It must respect the provided order.\n * @type {Array}\n * @required\n * @example\n * <dt-emoji-picker\n * :tabSetLabels=\"['Most recently used', 'Smileys and people', 'Nature',\n * 'Food', 'Activity', 'Travel', 'Objects', 'Symbols', 'Flags']\" />\n */\n tabSetLabels: {\n type: Array,\n required: true,\n },\n\n /**\n * The skin tone to show the emojis\n * This prop gives the possibility to use the skin tone selected by the user previously\n * @type {String}\n * @default 'Default'\n * @values 'Default', 'Light', 'MediumLight', 'Medium', 'MediumDark', 'Dark'\n * @example\n * <dt-emoji-picker :skinTone=\"'Default'\" />\n */\n skinTone: {\n type: String,\n default: 'Default',\n },\n\n /**\n * Tooltip shown when skin selector button is hovered.\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :skin-selector-button-tooltip-label=\"'Change default skin tone'\" />\n */\n skinSelectorButtonTooltipLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets the search query that filters emojis.\n * @type {String}\n * @example\n * <dt-emoji-picker search-query=\"smile\" />\n */\n searchQuery: {\n type: String,\n default: '',\n },\n\n /**\n * Shows the search input\n * @type {Boolean}\n * @example\n * <dt-emoji-picker :show-search=\"false\" />\n */\n showSearch: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n internalSearchQuery: this.searchQuery,\n highlightedEmoji: null,\n selectedTabset: {},\n scrollIntoTab: 0,\n isScrolling: false,\n };\n },\n\n computed: {\n showRecentlyUsedTab () {\n return this.recentlyUsedEmojis?.length > 0;\n },\n },\n\n watch: {\n searchQuery (value) {\n this.internalSearchQuery = value;\n },\n },\n\n methods: {\n scrollToSelectedTabset (tabId) {\n this.internalSearchQuery = '';\n this.selectedTabset = { ...this.selectedTabset, tabId };\n },\n\n updateScrollIntoTab (value) {\n this.scrollIntoTab = value;\n },\n\n updateIsScrolling (value) {\n this.isScrolling = value;\n },\n\n updateHighlightedEmoji (emoji) {\n this.highlightedEmoji = emoji;\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;AAuEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,oBAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,sBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gCAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,qBAAA,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,gBAAA,CAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,sBAAA;;AACA,eAAA,UAAA,uBAAA,mBAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,YAAA,OAAA;AACA,WAAA,sBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,uBAAA,OAAA;AACA,WAAA,sBAAA;AACA,WAAA,iBAAA,EAAA,GAAA,KAAA,gBAAA,MAAA;AAAA,IACA;AAAA,IAEA,oBAAA,OAAA;AACA,WAAA,gBAAA;AAAA,IACA;AAAA,IAEA,kBAAA,OAAA;AACA,WAAA,cAAA;AAAA,IACA;AAAA,IAEA,uBAAA,OAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"emoji_picker.vue.js","sources":["../../../components/emoji_picker/emoji_picker.vue"],"sourcesContent":["<template>\n <div\n class=\"d-emoji-picker\"\n >\n <div class=\"d-emoji-picker--header\">\n <emoji-tabset\n ref=\"tabsetRef\"\n :emoji-filter=\"internalSearchQuery\"\n :show-recently-used-tab=\"showRecentlyUsedTab\"\n :scroll-into-tab=\"scrollIntoTab\"\n :tab-set-labels=\"tabSetLabels\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.emojiSelectorRef.focusEmojiSelector()\"\n @selected-tabset=\"scrollToSelectedTabset\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--body\">\n <emoji-search\n v-if=\"showSearch\"\n ref=\"searchInputRef\"\n :model-value=\"internalSearchQuery\"\n :search-placeholder-label=\"searchPlaceholderLabel\"\n @update:model-value=\"newValue => internalSearchQuery = newValue\"\n @select-first-emoji=\"$emit('selected-emoji', highlightedEmoji)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-emoji-selector=\"$refs.emojiSelectorRef.focusEmojiSelector()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n <emoji-selector\n ref=\"emojiSelectorRef\"\n :emoji-filter=\"internalSearchQuery\"\n :skin-tone=\"skinTone\"\n :tab-set-labels=\"tabSetLabels\"\n :search-results-label=\"searchResultsLabel\"\n :search-no-results-label=\"searchNoResultsLabel\"\n :recently-used-emojis=\"recentlyUsedEmojis\"\n :selected-tabset=\"selectedTabset\"\n @scroll-into-tab=\"updateScrollIntoTab\"\n @highlighted-emoji=\"updateHighlightedEmoji\"\n @selected-emoji=\"$emit('selected-emoji', $event)\"\n @focus-skin-selector=\"$refs.skinSelectorRef.focusSkinSelector()\"\n @focus-search-input=\"showSearch ? $refs.searchInputRef.focusSearchInput() : $refs.tabsetRef.focusTabset()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n <div class=\"d-emoji-picker--footer\">\n <emoji-description :emoji=\"highlightedEmoji\" />\n <emoji-skin-selector\n ref=\"skinSelectorRef\"\n :is-hovering=\"!!highlightedEmoji\"\n :skin-selector-button-tooltip-label=\"skinSelectorButtonTooltipLabel\"\n :skin-tone=\"skinTone\"\n @skin-tone=\"$emit('skin-tone', $event)\"\n @focus-tabset=\"$refs.tabsetRef.focusTabset()\"\n @focus-last-emoji=\"$refs.emojiSelectorRef.focusLastEmoji()\"\n @keydown.esc.native=\"$emit('close')\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport EmojiTabset from './modules/emoji_tabset.vue';\nimport EmojiSearch from './modules/emoji_search.vue';\nimport EmojiSelector from './modules/emoji_selector.vue';\nimport EmojiDescription from './modules/emoji_description.vue';\nimport EmojiSkinSelector from './modules/emoji_skin_selector.vue';\n\nexport default {\n name: 'DtEmojiPicker',\n\n components: {\n EmojiTabset,\n EmojiSearch,\n EmojiSelector,\n EmojiDescription,\n EmojiSkinSelector,\n },\n\n props: {\n /**\n * The array with recently used emoji object\n * This list is necessary to fill the recently used tab\n * @type {Array}\n * @default []\n * @example\n * <dt-emoji-picker :recentlyUsedEmojis=\"[emojiObject, emojiObject]\" />\n */\n // TODO try to simplify this to achieve an array of unicode characters and not an entire emoji data object\n recentlyUsedEmojis: {\n type: Array,\n },\n\n /**\n * The placeholder text for the search input\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchPlaceholderLabel=\"'Search...'\" />\n */\n searchPlaceholderLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search results tab\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchResultsLabel=\"'Search results'\" />\n */\n searchResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The label for the search no results\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :searchNoResultsLabel=\"'No results'\" />\n */\n searchNoResultsLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The list of tabsets to show, it is necessary to be updated with the correct language\n * It must respect the provided order.\n * @type {Array}\n * @required\n * @example\n * <dt-emoji-picker\n * :tabSetLabels=\"['Most recently used', 'Smileys and people', 'Nature',\n * 'Food', 'Activity', 'Travel', 'Objects', 'Symbols', 'Flags']\" />\n */\n tabSetLabels: {\n type: Array,\n required: true,\n },\n\n /**\n * The skin tone to show the emojis\n * This prop gives the possibility to use the skin tone selected by the user previously\n * @type {String}\n * @default 'Default'\n * @values 'Default', 'Light', 'MediumLight', 'Medium', 'MediumDark', 'Dark'\n * @example\n * <dt-emoji-picker :skinTone=\"'Default'\" />\n */\n skinTone: {\n type: String,\n default: 'Default',\n },\n\n /**\n * Tooltip shown when skin selector button is hovered.\n * @type {String}\n * @required\n * @example\n * <dt-emoji-picker :skin-selector-button-tooltip-label=\"'Change default skin tone'\" />\n */\n skinSelectorButtonTooltipLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets the search query that filters emojis.\n * @type {String}\n * @example\n * <dt-emoji-picker search-query=\"smile\" />\n */\n searchQuery: {\n type: String,\n default: '',\n },\n\n /**\n * Shows the search input\n * @type {Boolean}\n * @example\n * <dt-emoji-picker :show-search=\"false\" />\n */\n showSearch: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n internalSearchQuery: this.searchQuery,\n highlightedEmoji: null,\n selectedTabset: {},\n scrollIntoTab: 0,\n };\n },\n\n computed: {\n showRecentlyUsedTab () {\n return this.recentlyUsedEmojis?.length > 0;\n },\n },\n\n watch: {\n searchQuery (value) {\n this.internalSearchQuery = value;\n },\n },\n\n methods: {\n scrollToSelectedTabset (tabId) {\n this.internalSearchQuery = '';\n this.selectedTabset = { ...this.selectedTabset, tabId };\n },\n\n updateScrollIntoTab (value) {\n this.scrollIntoTab = value;\n },\n\n updateHighlightedEmoji (emoji) {\n this.highlightedEmoji = emoji;\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;AAqEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,oBAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,sBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gCAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,qBAAA,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,gBAAA,CAAA;AAAA,MACA,eAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,sBAAA;;AACA,eAAA,UAAA,uBAAA,mBAAA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,YAAA,OAAA;AACA,WAAA,sBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,uBAAA,OAAA;AACA,WAAA,sBAAA;AACA,WAAA,iBAAA,EAAA,GAAA,KAAA,gBAAA,MAAA;AAAA,IACA;AAAA,IAEA,oBAAA,OAAA;AACA,WAAA,gBAAA;AAAA,IACA;AAAA,IAEA,uBAAA,OAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}