@dialpad/dialtone 9.66.0 → 9.67.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 (801) hide show
  1. package/README.md +17 -0
  2. package/dist/tokens/doc.json +13063 -13063
  3. package/dist/vue2/chunks/{dropdown-YdCyJ5Dq.js → dropdown-6UoczdUY.js} +41 -77
  4. package/dist/vue2/chunks/{dropdown-YdCyJ5Dq.js.map → dropdown-6UoczdUY.js.map} +1 -1
  5. package/dist/vue2/chunks/{dropdown-mjrYu_mK.js → dropdown-pHxnQPzT.js} +41 -77
  6. package/dist/vue2/chunks/{dropdown-mjrYu_mK.js.map → dropdown-pHxnQPzT.js.map} +1 -1
  7. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  8. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  9. package/dist/vue2/chunks/{icon_constants-TdxqLsS2.js → icon_constants-Dy4MEUJL.js} +2 -3
  10. package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  11. package/dist/vue2/chunks/{icon_constants-VEA0wI5C.js → icon_constants-QYpmdE0R.js} +2 -3
  12. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  13. package/dist/vue2/chunks/{index-i65YVk-U.js → index-ODod4Oj_.js} +13 -5
  14. package/dist/vue2/chunks/{index-i65YVk-U.js.map → index-ODod4Oj_.js.map} +1 -1
  15. package/dist/vue2/chunks/{index-NYFNZeHH.js → index-anN_sx1F.js} +13 -5
  16. package/dist/vue2/chunks/{index-NYFNZeHH.js.map → index-anN_sx1F.js.map} +1 -1
  17. package/dist/vue2/chunks/{index-mBWay1Qb.js → index-eJ-WWRdf.js} +87 -122
  18. package/dist/vue2/chunks/{index-mBWay1Qb.js.map → index-eJ-WWRdf.js.map} +1 -1
  19. package/dist/vue2/chunks/{index-DyqUqjvI.js → index-gj1jEXP4.js} +87 -122
  20. package/dist/vue2/chunks/{index-DyqUqjvI.js.map → index-gj1jEXP4.js.map} +1 -1
  21. package/dist/vue2/chunks/{input-PhJeBN6r.js → input-6kbd8Pju.js} +9 -3
  22. package/dist/vue2/chunks/{input-PhJeBN6r.js.map → input-6kbd8Pju.js.map} +1 -1
  23. package/dist/vue2/chunks/{input-Hqw33WBe.js → input-Axw-wFj2.js} +9 -3
  24. package/dist/vue2/chunks/{input-Hqw33WBe.js.map → input-Axw-wFj2.js.map} +1 -1
  25. package/dist/vue2/chunks/{input_group-pE6ec9R3.js → input_group-m3cWYUfI.js} +2 -4
  26. package/dist/vue2/chunks/{input_group-ZI7aVGEp.js.map → input_group-m3cWYUfI.js.map} +1 -1
  27. package/dist/vue2/chunks/{input_group-ZI7aVGEp.js → input_group-qVZaS5Bb.js} +2 -4
  28. package/dist/vue2/chunks/{input_group-pE6ec9R3.js.map → input_group-qVZaS5Bb.js.map} +1 -1
  29. package/dist/vue2/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  30. package/dist/{vue3/chunks/keyboard_list_navigation-x3D6RcC7.js.map → vue2/chunks/keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  31. package/dist/vue2/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  32. package/dist/{vue3/chunks/keyboard_list_navigation-YIqTuw1W.js.map → vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  33. package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
  34. package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
  35. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  36. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  37. package/dist/vue2/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  38. package/dist/vue2/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
  39. package/dist/vue2/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  40. package/dist/{vue3/chunks/modal-OaWxzqNt.js.map → vue2/chunks/modal-XOr4kiNZ.js.map} +1 -1
  41. package/dist/vue2/chunks/{notice_action-qQr3K2TC.js → notice_action-IRUoLX2d.js} +46 -71
  42. package/dist/vue2/chunks/{notice_action-qQr3K2TC.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  43. package/dist/vue2/chunks/{notice_action-tEvvMg7Q.js → notice_action-P6uDyE9x.js} +46 -71
  44. package/dist/vue2/chunks/{notice_action-tEvvMg7Q.js.map → notice_action-P6uDyE9x.js.map} +1 -1
  45. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  46. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  47. package/dist/vue2/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  48. package/dist/{vue3/chunks/popover_constants-6YkPPbnk.js.map → vue2/chunks/popover_constants-WsOUIY-m.js.map} +1 -1
  49. package/dist/{vue3/chunks/popover_constants-h9MD6WUt.js → vue2/chunks/popover_constants-XnGWXaxX.js} +47 -26
  50. package/dist/vue2/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
  51. package/dist/vue2/chunks/{sr_only_close_button-IjMVfBDE.js → sr_only_close_button-81bHIpPu.js} +18 -24
  52. package/dist/vue2/chunks/{sr_only_close_button-IjMVfBDE.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  53. package/dist/vue2/chunks/{sr_only_close_button-2Q9Ny1Nc.js → sr_only_close_button-ZaGdAHz7.js} +18 -24
  54. package/dist/vue2/chunks/{sr_only_close_button-2Q9Ny1Nc.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
  55. package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
  56. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  57. package/dist/vue2/chunks/{tab-79yMX6m6.js → tab-FcsV5VmK.js} +68 -86
  58. package/dist/vue2/chunks/{tab-muPOS7JE.js.map → tab-FcsV5VmK.js.map} +1 -1
  59. package/dist/vue2/chunks/{tab-muPOS7JE.js → tab-V4cb44Ry.js} +68 -86
  60. package/dist/vue2/chunks/{tab-79yMX6m6.js.map → tab-V4cb44Ry.js.map} +1 -1
  61. package/dist/vue2/common/constants.cjs.map +1 -1
  62. package/dist/vue2/common/constants.js.map +1 -1
  63. package/dist/vue2/common/dates.cjs +1 -3
  64. package/dist/vue2/common/dates.cjs.map +1 -1
  65. package/dist/vue2/common/dates.js +1 -3
  66. package/dist/vue2/common/dates.js.map +1 -1
  67. package/dist/vue2/common/emoji.cjs +1 -1
  68. package/dist/vue2/common/emoji.js +1 -1
  69. package/dist/vue2/common/mixins.cjs +3 -3
  70. package/dist/vue2/common/mixins.js +3 -3
  71. package/dist/vue2/common/utils.cjs +44 -8
  72. package/dist/vue2/common/utils.cjs.map +1 -1
  73. package/dist/vue2/common/utils.js +44 -8
  74. package/dist/vue2/common/utils.js.map +1 -1
  75. package/dist/vue2/common/validators.cjs.map +1 -1
  76. package/dist/vue2/common/validators.js.map +1 -1
  77. package/dist/vue2/component-documentation.json +1 -1
  78. package/dist/vue2/dialtone-vue.cjs +12 -12
  79. package/dist/vue2/dialtone-vue.js +12 -12
  80. package/dist/vue2/lib/attachment-carousel.cjs +48 -172
  81. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  82. package/dist/vue2/lib/attachment-carousel.js +48 -172
  83. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  84. package/dist/vue2/lib/avatar.cjs +58 -75
  85. package/dist/vue2/lib/avatar.cjs.map +1 -1
  86. package/dist/vue2/lib/avatar.js +58 -75
  87. package/dist/vue2/lib/avatar.js.map +1 -1
  88. package/dist/vue2/lib/badge.cjs +20 -31
  89. package/dist/vue2/lib/badge.cjs.map +1 -1
  90. package/dist/vue2/lib/badge.js +20 -31
  91. package/dist/vue2/lib/badge.js.map +1 -1
  92. package/dist/vue2/lib/banner.cjs +29 -53
  93. package/dist/vue2/lib/banner.cjs.map +1 -1
  94. package/dist/vue2/lib/banner.js +29 -53
  95. package/dist/vue2/lib/banner.js.map +1 -1
  96. package/dist/vue2/lib/breadcrumbs.cjs +30 -36
  97. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  98. package/dist/vue2/lib/breadcrumbs.js +30 -36
  99. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  100. package/dist/vue2/lib/button-group.cjs +14 -7
  101. package/dist/vue2/lib/button-group.cjs.map +1 -1
  102. package/dist/vue2/lib/button-group.js +14 -7
  103. package/dist/vue2/lib/button-group.js.map +1 -1
  104. package/dist/vue2/lib/button.cjs +62 -55
  105. package/dist/vue2/lib/button.cjs.map +1 -1
  106. package/dist/vue2/lib/button.js +62 -55
  107. package/dist/vue2/lib/button.js.map +1 -1
  108. package/dist/vue2/lib/callbar-button-with-popover.cjs +23 -91
  109. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  110. package/dist/vue2/lib/callbar-button-with-popover.js +23 -91
  111. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  112. package/dist/vue2/lib/callbar-button.cjs +33 -49
  113. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  114. package/dist/vue2/lib/callbar-button.js +33 -49
  115. package/dist/vue2/lib/callbar-button.js.map +1 -1
  116. package/dist/vue2/lib/callbox.cjs +15 -78
  117. package/dist/vue2/lib/callbox.cjs.map +1 -1
  118. package/dist/vue2/lib/callbox.js +15 -78
  119. package/dist/vue2/lib/callbox.js.map +1 -1
  120. package/dist/vue2/lib/card.cjs +23 -16
  121. package/dist/vue2/lib/card.cjs.map +1 -1
  122. package/dist/vue2/lib/card.js +23 -16
  123. package/dist/vue2/lib/card.js.map +1 -1
  124. package/dist/vue2/lib/checkbox-group.cjs +15 -3
  125. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  126. package/dist/vue2/lib/checkbox-group.js +15 -3
  127. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  128. package/dist/vue2/lib/checkbox.cjs +16 -52
  129. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  130. package/dist/vue2/lib/checkbox.js +16 -52
  131. package/dist/vue2/lib/checkbox.js.map +1 -1
  132. package/dist/vue2/lib/chip.cjs +26 -58
  133. package/dist/vue2/lib/chip.cjs.map +1 -1
  134. package/dist/vue2/lib/chip.js +26 -58
  135. package/dist/vue2/lib/chip.js.map +1 -1
  136. package/dist/vue2/lib/codeblock.cjs +11 -4
  137. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  138. package/dist/vue2/lib/codeblock.js +11 -4
  139. package/dist/vue2/lib/codeblock.js.map +1 -1
  140. package/dist/vue2/lib/collapsible.cjs +34 -91
  141. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  142. package/dist/vue2/lib/collapsible.js +34 -91
  143. package/dist/vue2/lib/collapsible.js.map +1 -1
  144. package/dist/vue2/lib/combobox-multi-select.cjs +38 -131
  145. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  146. package/dist/vue2/lib/combobox-multi-select.js +38 -131
  147. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  148. package/dist/vue2/lib/combobox-with-popover.cjs +39 -130
  149. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  150. package/dist/vue2/lib/combobox-with-popover.js +39 -130
  151. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  152. package/dist/vue2/lib/combobox.cjs +3 -3
  153. package/dist/vue2/lib/combobox.js +3 -3
  154. package/dist/vue2/lib/contact-centers-row.cjs +29 -86
  155. package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
  156. package/dist/vue2/lib/contact-centers-row.js +29 -86
  157. package/dist/vue2/lib/contact-centers-row.js.map +1 -1
  158. package/dist/vue2/lib/contact-info.cjs +31 -95
  159. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  160. package/dist/vue2/lib/contact-info.js +31 -95
  161. package/dist/vue2/lib/contact-info.js.map +1 -1
  162. package/dist/vue2/lib/contact-row.cjs +18 -61
  163. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  164. package/dist/vue2/lib/contact-row.js +18 -61
  165. package/dist/vue2/lib/contact-row.js.map +1 -1
  166. package/dist/vue2/lib/datepicker.cjs +102 -361
  167. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  168. package/dist/vue2/lib/datepicker.js +102 -361
  169. package/dist/vue2/lib/datepicker.js.map +1 -1
  170. package/dist/vue2/lib/description-list.cjs +12 -11
  171. package/dist/vue2/lib/description-list.cjs.map +1 -1
  172. package/dist/vue2/lib/description-list.js +12 -11
  173. package/dist/vue2/lib/description-list.js.map +1 -1
  174. package/dist/vue2/lib/dropdown.cjs +17 -13
  175. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  176. package/dist/vue2/lib/dropdown.js +17 -13
  177. package/dist/vue2/lib/dropdown.js.map +1 -1
  178. package/dist/vue2/lib/editor.cjs +109 -409
  179. package/dist/vue2/lib/editor.cjs.map +1 -1
  180. package/dist/vue2/lib/editor.js +109 -409
  181. package/dist/vue2/lib/editor.js.map +1 -1
  182. package/dist/vue2/lib/emoji-picker.cjs +234 -512
  183. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  184. package/dist/vue2/lib/emoji-picker.js +234 -512
  185. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  186. package/dist/vue2/lib/emoji-row.cjs +31 -69
  187. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  188. package/dist/vue2/lib/emoji-row.js +31 -69
  189. package/dist/vue2/lib/emoji-row.js.map +1 -1
  190. package/dist/vue2/lib/emoji-text-wrapper.cjs +22 -14
  191. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  192. package/dist/vue2/lib/emoji-text-wrapper.js +22 -14
  193. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  194. package/dist/vue2/lib/emoji.cjs +13 -40
  195. package/dist/vue2/lib/emoji.cjs.map +1 -1
  196. package/dist/vue2/lib/emoji.js +13 -40
  197. package/dist/vue2/lib/emoji.js.map +1 -1
  198. package/dist/vue2/lib/empty-state.cjs +12 -27
  199. package/dist/vue2/lib/empty-state.cjs.map +1 -1
  200. package/dist/vue2/lib/empty-state.js +12 -27
  201. package/dist/vue2/lib/empty-state.js.map +1 -1
  202. package/dist/vue2/lib/feed-item-row.cjs +27 -106
  203. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  204. package/dist/vue2/lib/feed-item-row.js +27 -106
  205. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  206. package/dist/vue2/lib/feed-pill.cjs +35 -90
  207. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  208. package/dist/vue2/lib/feed-pill.js +35 -90
  209. package/dist/vue2/lib/feed-pill.js.map +1 -1
  210. package/dist/vue2/lib/general-row.cjs +75 -184
  211. package/dist/vue2/lib/general-row.cjs.map +1 -1
  212. package/dist/vue2/lib/general-row.js +75 -184
  213. package/dist/vue2/lib/general-row.js.map +1 -1
  214. package/dist/vue2/lib/group-row.cjs +16 -27
  215. package/dist/vue2/lib/group-row.cjs.map +1 -1
  216. package/dist/vue2/lib/group-row.js +16 -27
  217. package/dist/vue2/lib/group-row.js.map +1 -1
  218. package/dist/vue2/lib/grouped-chip.cjs +20 -68
  219. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  220. package/dist/vue2/lib/grouped-chip.js +20 -68
  221. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  222. package/dist/vue2/lib/hovercard.cjs +41 -71
  223. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  224. package/dist/vue2/lib/hovercard.js +41 -71
  225. package/dist/vue2/lib/hovercard.js.map +1 -1
  226. package/dist/vue2/lib/icon.cjs +12 -10
  227. package/dist/vue2/lib/icon.cjs.map +1 -1
  228. package/dist/vue2/lib/icon.js +12 -10
  229. package/dist/vue2/lib/icon.js.map +1 -1
  230. package/dist/vue2/lib/illustration.cjs +12 -9
  231. package/dist/vue2/lib/illustration.cjs.map +1 -1
  232. package/dist/vue2/lib/illustration.js +12 -9
  233. package/dist/vue2/lib/illustration.js.map +1 -1
  234. package/dist/vue2/lib/image-viewer.cjs +23 -88
  235. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  236. package/dist/vue2/lib/image-viewer.js +23 -88
  237. package/dist/vue2/lib/image-viewer.js.map +1 -1
  238. package/dist/vue2/lib/input-group.cjs +14 -24
  239. package/dist/vue2/lib/input-group.cjs.map +1 -1
  240. package/dist/vue2/lib/input-group.js +14 -24
  241. package/dist/vue2/lib/input-group.js.map +1 -1
  242. package/dist/vue2/lib/input.cjs +47 -109
  243. package/dist/vue2/lib/input.cjs.map +1 -1
  244. package/dist/vue2/lib/input.js +47 -109
  245. package/dist/vue2/lib/input.js.map +1 -1
  246. package/dist/vue2/lib/item-layout.cjs +11 -42
  247. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  248. package/dist/vue2/lib/item-layout.js +11 -42
  249. package/dist/vue2/lib/item-layout.js.map +1 -1
  250. package/dist/vue2/lib/ivr-node.cjs +47 -135
  251. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  252. package/dist/vue2/lib/ivr-node.js +47 -135
  253. package/dist/vue2/lib/ivr-node.js.map +1 -1
  254. package/dist/vue2/lib/keyboard-shortcut.cjs +23 -35
  255. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  256. package/dist/vue2/lib/keyboard-shortcut.js +23 -35
  257. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  258. package/dist/vue2/lib/lazy-show.cjs +11 -15
  259. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  260. package/dist/vue2/lib/lazy-show.js +11 -15
  261. package/dist/vue2/lib/lazy-show.js.map +1 -1
  262. package/dist/vue2/lib/link.cjs +15 -9
  263. package/dist/vue2/lib/link.cjs.map +1 -1
  264. package/dist/vue2/lib/link.js +15 -9
  265. package/dist/vue2/lib/link.js.map +1 -1
  266. package/dist/vue2/lib/list-item-group.cjs +11 -17
  267. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  268. package/dist/vue2/lib/list-item-group.js +11 -17
  269. package/dist/vue2/lib/list-item-group.js.map +1 -1
  270. package/dist/vue2/lib/list-item.cjs +23 -42
  271. package/dist/vue2/lib/list-item.cjs.map +1 -1
  272. package/dist/vue2/lib/list-item.js +23 -42
  273. package/dist/vue2/lib/list-item.js.map +1 -1
  274. package/dist/vue2/lib/message-input.cjs +97 -360
  275. package/dist/vue2/lib/message-input.cjs.map +1 -1
  276. package/dist/vue2/lib/message-input.js +97 -360
  277. package/dist/vue2/lib/message-input.js.map +1 -1
  278. package/dist/vue2/lib/modal.cjs +36 -94
  279. package/dist/vue2/lib/modal.cjs.map +1 -1
  280. package/dist/vue2/lib/modal.js +36 -94
  281. package/dist/vue2/lib/modal.js.map +1 -1
  282. package/dist/vue2/lib/notice.cjs +21 -40
  283. package/dist/vue2/lib/notice.cjs.map +1 -1
  284. package/dist/vue2/lib/notice.js +21 -40
  285. package/dist/vue2/lib/notice.js.map +1 -1
  286. package/dist/vue2/lib/pagination.cjs +20 -81
  287. package/dist/vue2/lib/pagination.cjs.map +1 -1
  288. package/dist/vue2/lib/pagination.js +20 -81
  289. package/dist/vue2/lib/pagination.js.map +1 -1
  290. package/dist/vue2/lib/popover.cjs +75 -194
  291. package/dist/vue2/lib/popover.cjs.map +1 -1
  292. package/dist/vue2/lib/popover.js +76 -195
  293. package/dist/vue2/lib/popover.js.map +1 -1
  294. package/dist/vue2/lib/presence.cjs +22 -23
  295. package/dist/vue2/lib/presence.cjs.map +1 -1
  296. package/dist/vue2/lib/presence.js +22 -23
  297. package/dist/vue2/lib/presence.js.map +1 -1
  298. package/dist/vue2/lib/radio-group.cjs +11 -2
  299. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  300. package/dist/vue2/lib/radio-group.js +11 -2
  301. package/dist/vue2/lib/radio-group.js.map +1 -1
  302. package/dist/vue2/lib/radio.cjs +15 -47
  303. package/dist/vue2/lib/radio.cjs.map +1 -1
  304. package/dist/vue2/lib/radio.js +15 -47
  305. package/dist/vue2/lib/radio.js.map +1 -1
  306. package/dist/vue2/lib/rich-text-editor.cjs +317 -336
  307. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  308. package/dist/vue2/lib/rich-text-editor.js +317 -336
  309. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  310. package/dist/vue2/lib/root-layout.cjs +15 -33
  311. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  312. package/dist/vue2/lib/root-layout.js +15 -33
  313. package/dist/vue2/lib/root-layout.js.map +1 -1
  314. package/dist/vue2/lib/scrollbar-directive.cjs +422 -388
  315. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
  316. package/dist/vue2/lib/scrollbar-directive.js +422 -388
  317. package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
  318. package/dist/vue2/lib/select-menu.cjs +33 -52
  319. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  320. package/dist/vue2/lib/select-menu.js +33 -52
  321. package/dist/vue2/lib/select-menu.js.map +1 -1
  322. package/dist/vue2/lib/settings-menu-button.cjs +16 -42
  323. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  324. package/dist/vue2/lib/settings-menu-button.js +16 -42
  325. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  326. package/dist/vue2/lib/skeleton.cjs +93 -118
  327. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  328. package/dist/vue2/lib/skeleton.js +93 -118
  329. package/dist/vue2/lib/skeleton.js.map +1 -1
  330. package/dist/vue2/lib/split-button.cjs +64 -164
  331. package/dist/vue2/lib/split-button.cjs.map +1 -1
  332. package/dist/vue2/lib/split-button.js +64 -164
  333. package/dist/vue2/lib/split-button.js.map +1 -1
  334. package/dist/vue2/lib/stack.cjs +33 -21
  335. package/dist/vue2/lib/stack.cjs.map +1 -1
  336. package/dist/vue2/lib/stack.js +33 -21
  337. package/dist/vue2/lib/stack.js.map +1 -1
  338. package/dist/vue2/lib/tabs.cjs +13 -20
  339. package/dist/vue2/lib/tabs.cjs.map +1 -1
  340. package/dist/vue2/lib/tabs.js +13 -20
  341. package/dist/vue2/lib/tabs.js.map +1 -1
  342. package/dist/vue2/lib/time-pill.cjs +11 -8
  343. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  344. package/dist/vue2/lib/time-pill.js +11 -8
  345. package/dist/vue2/lib/time-pill.js.map +1 -1
  346. package/dist/vue2/lib/toast.cjs +21 -42
  347. package/dist/vue2/lib/toast.cjs.map +1 -1
  348. package/dist/vue2/lib/toast.js +21 -42
  349. package/dist/vue2/lib/toast.js.map +1 -1
  350. package/dist/vue2/lib/toggle.cjs +24 -28
  351. package/dist/vue2/lib/toggle.cjs.map +1 -1
  352. package/dist/vue2/lib/toggle.js +24 -28
  353. package/dist/vue2/lib/toggle.js.map +1 -1
  354. package/dist/vue2/lib/tooltip-directive.cjs +26 -32
  355. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  356. package/dist/vue2/lib/tooltip-directive.js +26 -32
  357. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  358. package/dist/vue2/lib/tooltip.cjs +21 -31
  359. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  360. package/dist/vue2/lib/tooltip.js +22 -32
  361. package/dist/vue2/lib/tooltip.js.map +1 -1
  362. package/dist/vue2/lib/top-banner-info.cjs +21 -18
  363. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  364. package/dist/vue2/lib/top-banner-info.js +21 -18
  365. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  366. package/dist/vue2/lib/unread-pill.cjs +12 -18
  367. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  368. package/dist/vue2/lib/unread-pill.js +12 -18
  369. package/dist/vue2/lib/unread-pill.js.map +1 -1
  370. package/dist/vue2/lib/validation-messages.cjs +16 -23
  371. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  372. package/dist/vue2/lib/validation-messages.js +16 -23
  373. package/dist/vue2/lib/validation-messages.js.map +1 -1
  374. package/dist/vue2/style.css +9 -9
  375. package/dist/vue2/types/common/emoji/index.d.ts +59236 -2
  376. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  377. package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
  378. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  379. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
  380. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
  381. package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
  382. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  383. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
  384. package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
  385. package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
  386. package/dist/vue2/types/components/input/input.vue.d.ts +3 -2
  387. package/dist/vue2/types/components/input/input.vue.d.ts.map +1 -1
  388. package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
  389. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  390. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  391. package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
  392. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
  393. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  394. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  395. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  396. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  397. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  398. package/dist/vue3/chunks/{dropdown-6HXkh24e.js → dropdown-oA-_Gotg.js} +45 -40
  399. package/dist/vue3/chunks/{dropdown-6HXkh24e.js.map → dropdown-oA-_Gotg.js.map} +1 -1
  400. package/dist/vue3/chunks/{dropdown-QNvAb160.js → dropdown-p-Azgwov.js} +45 -40
  401. package/dist/vue3/chunks/{dropdown-QNvAb160.js.map → dropdown-p-Azgwov.js.map} +1 -1
  402. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  403. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  404. package/dist/vue3/chunks/{icon_constants-gIQj4mf7.js → icon_constants-Dy4MEUJL.js} +2 -3
  405. package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  406. package/dist/vue3/chunks/{icon_constants-bvhFNOPu.js → icon_constants-QYpmdE0R.js} +2 -3
  407. package/dist/vue3/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  408. package/dist/vue3/chunks/{index-ouh7Bvm-.js → index-4qgKeErp.js} +84 -71
  409. package/dist/vue3/chunks/{index-T15rAIdX.js.map → index-4qgKeErp.js.map} +1 -1
  410. package/dist/vue3/chunks/{index-dfdrE-3M.js → index-GVD15GIB.js} +12 -3
  411. package/dist/vue3/chunks/{index-dfdrE-3M.js.map → index-GVD15GIB.js.map} +1 -1
  412. package/dist/vue3/chunks/{index-T15rAIdX.js → index-b_MgDylR.js} +84 -71
  413. package/dist/vue3/chunks/{index-ouh7Bvm-.js.map → index-b_MgDylR.js.map} +1 -1
  414. package/dist/vue3/chunks/{index-fEp0B-5Z.js → index-lu2o2f4r.js} +12 -3
  415. package/dist/vue3/chunks/{index-fEp0B-5Z.js.map → index-lu2o2f4r.js.map} +1 -1
  416. package/dist/vue3/chunks/{input-HIysg24t.js → input-NmYDD5bn.js} +9 -3
  417. package/dist/vue3/chunks/{input-HIysg24t.js.map → input-NmYDD5bn.js.map} +1 -1
  418. package/dist/vue3/chunks/{input-dLLo3Wtg.js → input-ttnte8zB.js} +9 -3
  419. package/dist/vue3/chunks/{input-dLLo3Wtg.js.map → input-ttnte8zB.js.map} +1 -1
  420. package/dist/vue3/chunks/{input_group-rE6nhye8.js → input_group-M-D25pOJ.js} +2 -4
  421. package/dist/vue3/chunks/{input_group-hV1WT2it.js.map → input_group-M-D25pOJ.js.map} +1 -1
  422. package/dist/vue3/chunks/{input_group-hV1WT2it.js → input_group-jWnq2DJT.js} +2 -4
  423. package/dist/vue3/chunks/{input_group-rE6nhye8.js.map → input_group-jWnq2DJT.js.map} +1 -1
  424. package/dist/vue3/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  425. package/dist/{vue2/chunks/keyboard_list_navigation-x3D6RcC7.js.map → vue3/chunks/keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  426. package/dist/vue3/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  427. package/dist/{vue2/chunks/keyboard_list_navigation-YIqTuw1W.js.map → vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  428. package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
  429. package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
  430. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  431. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  432. package/dist/vue3/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  433. package/dist/{vue2/chunks/modal-8X6poIZW.js.map → vue3/chunks/modal-VgxXAQFP.js.map} +1 -1
  434. package/dist/vue3/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  435. package/dist/vue3/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
  436. package/dist/vue3/chunks/{notice_action-3ed0uIMN.js → notice_action-WTucGhvr.js} +61 -40
  437. package/dist/vue3/chunks/{notice_action-e08Lw5W6.js.map → notice_action-WTucGhvr.js.map} +1 -1
  438. package/dist/vue3/chunks/{notice_action-e08Lw5W6.js → notice_action-p-ePanW_.js} +61 -40
  439. package/dist/vue3/chunks/{notice_action-3ed0uIMN.js.map → notice_action-p-ePanW_.js.map} +1 -1
  440. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  441. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  442. package/dist/vue3/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  443. package/dist/vue3/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
  444. package/dist/{vue2/chunks/popover_constants-h9MD6WUt.js → vue3/chunks/popover_constants-XnGWXaxX.js} +47 -26
  445. package/dist/{vue2/chunks/popover_constants-h9MD6WUt.js.map → vue3/chunks/popover_constants-XnGWXaxX.js.map} +1 -1
  446. package/dist/vue3/chunks/{sr_only_close_button-Ji3Zlts6.js → sr_only_close_button-3EdsV-dH.js} +4 -4
  447. package/dist/vue3/chunks/{sr_only_close_button-Ji3Zlts6.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  448. package/dist/vue3/chunks/{sr_only_close_button-gKr0Vlbz.js → sr_only_close_button-xGrHFjwA.js} +4 -4
  449. package/dist/vue3/chunks/{sr_only_close_button-gKr0Vlbz.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  450. package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
  451. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  452. package/dist/vue3/chunks/{tab-aD6t0MNo.js → tab-RTDgnD9-.js} +49 -46
  453. package/dist/vue3/chunks/{tab-aD6t0MNo.js.map → tab-RTDgnD9-.js.map} +1 -1
  454. package/dist/vue3/chunks/{tab-X7IvNGTl.js → tab-qc3f42Yp.js} +49 -46
  455. package/dist/vue3/chunks/{tab-X7IvNGTl.js.map → tab-qc3f42Yp.js.map} +1 -1
  456. package/dist/vue3/common/constants.cjs.map +1 -1
  457. package/dist/vue3/common/constants.js.map +1 -1
  458. package/dist/vue3/common/dates.cjs +1 -3
  459. package/dist/vue3/common/dates.cjs.map +1 -1
  460. package/dist/vue3/common/dates.js +1 -3
  461. package/dist/vue3/common/dates.js.map +1 -1
  462. package/dist/vue3/common/emoji.cjs +1 -1
  463. package/dist/vue3/common/emoji.js +1 -1
  464. package/dist/vue3/common/mixins.cjs +3 -3
  465. package/dist/vue3/common/mixins.js +3 -3
  466. package/dist/vue3/common/utils.cjs +45 -11
  467. package/dist/vue3/common/utils.cjs.map +1 -1
  468. package/dist/vue3/common/utils.js +45 -11
  469. package/dist/vue3/common/utils.js.map +1 -1
  470. package/dist/vue3/common/validators.cjs.map +1 -1
  471. package/dist/vue3/common/validators.js.map +1 -1
  472. package/dist/vue3/component-documentation.json +1 -1
  473. package/dist/vue3/dialtone-vue.cjs +12 -12
  474. package/dist/vue3/dialtone-vue.js +12 -12
  475. package/dist/vue3/lib/attachment-carousel.cjs +108 -87
  476. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  477. package/dist/vue3/lib/attachment-carousel.js +108 -87
  478. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  479. package/dist/vue3/lib/avatar.cjs +88 -56
  480. package/dist/vue3/lib/avatar.cjs.map +1 -1
  481. package/dist/vue3/lib/avatar.js +88 -56
  482. package/dist/vue3/lib/avatar.js.map +1 -1
  483. package/dist/vue3/lib/badge.cjs +31 -15
  484. package/dist/vue3/lib/badge.cjs.map +1 -1
  485. package/dist/vue3/lib/badge.js +31 -15
  486. package/dist/vue3/lib/badge.js.map +1 -1
  487. package/dist/vue3/lib/banner.cjs +56 -38
  488. package/dist/vue3/lib/banner.cjs.map +1 -1
  489. package/dist/vue3/lib/banner.js +56 -38
  490. package/dist/vue3/lib/banner.js.map +1 -1
  491. package/dist/vue3/lib/breadcrumbs.cjs +36 -25
  492. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  493. package/dist/vue3/lib/breadcrumbs.js +36 -25
  494. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  495. package/dist/vue3/lib/button-group.cjs +7 -2
  496. package/dist/vue3/lib/button-group.cjs.map +1 -1
  497. package/dist/vue3/lib/button-group.js +7 -2
  498. package/dist/vue3/lib/button-group.js.map +1 -1
  499. package/dist/vue3/lib/button.cjs +69 -44
  500. package/dist/vue3/lib/button.cjs.map +1 -1
  501. package/dist/vue3/lib/button.js +69 -44
  502. package/dist/vue3/lib/button.js.map +1 -1
  503. package/dist/vue3/lib/callbar-button-with-popover.cjs +81 -68
  504. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  505. package/dist/vue3/lib/callbar-button-with-popover.js +81 -68
  506. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  507. package/dist/vue3/lib/callbar-button.cjs +45 -32
  508. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  509. package/dist/vue3/lib/callbar-button.js +45 -32
  510. package/dist/vue3/lib/callbar-button.js.map +1 -1
  511. package/dist/vue3/lib/callbox.cjs +57 -38
  512. package/dist/vue3/lib/callbox.cjs.map +1 -1
  513. package/dist/vue3/lib/callbox.js +57 -38
  514. package/dist/vue3/lib/callbox.js.map +1 -1
  515. package/dist/vue3/lib/card.cjs +33 -13
  516. package/dist/vue3/lib/card.cjs.map +1 -1
  517. package/dist/vue3/lib/card.js +33 -13
  518. package/dist/vue3/lib/card.js.map +1 -1
  519. package/dist/vue3/lib/checkbox-group.cjs +5 -2
  520. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  521. package/dist/vue3/lib/checkbox-group.js +5 -2
  522. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  523. package/dist/vue3/lib/checkbox.cjs +45 -41
  524. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  525. package/dist/vue3/lib/checkbox.js +45 -41
  526. package/dist/vue3/lib/checkbox.js.map +1 -1
  527. package/dist/vue3/lib/chip.cjs +53 -38
  528. package/dist/vue3/lib/chip.cjs.map +1 -1
  529. package/dist/vue3/lib/chip.js +53 -38
  530. package/dist/vue3/lib/chip.js.map +1 -1
  531. package/dist/vue3/lib/codeblock.cjs +6 -4
  532. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  533. package/dist/vue3/lib/codeblock.js +6 -4
  534. package/dist/vue3/lib/codeblock.js.map +1 -1
  535. package/dist/vue3/lib/collapsible.cjs +76 -62
  536. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  537. package/dist/vue3/lib/collapsible.js +76 -62
  538. package/dist/vue3/lib/collapsible.js.map +1 -1
  539. package/dist/vue3/lib/combobox-multi-select.cjs +88 -75
  540. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  541. package/dist/vue3/lib/combobox-multi-select.js +88 -75
  542. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  543. package/dist/vue3/lib/combobox-with-popover.cjs +85 -77
  544. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  545. package/dist/vue3/lib/combobox-with-popover.js +85 -77
  546. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  547. package/dist/vue3/lib/combobox.cjs +3 -3
  548. package/dist/vue3/lib/combobox.js +3 -3
  549. package/dist/vue3/lib/contact-centers-row.cjs +89 -65
  550. package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
  551. package/dist/vue3/lib/contact-centers-row.js +89 -65
  552. package/dist/vue3/lib/contact-centers-row.js.map +1 -1
  553. package/dist/vue3/lib/contact-info.cjs +82 -59
  554. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  555. package/dist/vue3/lib/contact-info.js +82 -59
  556. package/dist/vue3/lib/contact-info.js.map +1 -1
  557. package/dist/vue3/lib/contact-row.cjs +47 -37
  558. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  559. package/dist/vue3/lib/contact-row.js +47 -37
  560. package/dist/vue3/lib/contact-row.js.map +1 -1
  561. package/dist/vue3/lib/datepicker.cjs +263 -267
  562. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  563. package/dist/vue3/lib/datepicker.js +263 -267
  564. package/dist/vue3/lib/datepicker.js.map +1 -1
  565. package/dist/vue3/lib/description-list.cjs +14 -9
  566. package/dist/vue3/lib/description-list.cjs.map +1 -1
  567. package/dist/vue3/lib/description-list.js +14 -9
  568. package/dist/vue3/lib/description-list.js.map +1 -1
  569. package/dist/vue3/lib/dropdown.cjs +6 -6
  570. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  571. package/dist/vue3/lib/dropdown.js +6 -6
  572. package/dist/vue3/lib/dropdown.js.map +1 -1
  573. package/dist/vue3/lib/editor.cjs +249 -312
  574. package/dist/vue3/lib/editor.cjs.map +1 -1
  575. package/dist/vue3/lib/editor.js +249 -312
  576. package/dist/vue3/lib/editor.js.map +1 -1
  577. package/dist/vue3/lib/emoji-picker.cjs +419 -387
  578. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  579. package/dist/vue3/lib/emoji-picker.js +419 -387
  580. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  581. package/dist/vue3/lib/emoji-row.cjs +69 -59
  582. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  583. package/dist/vue3/lib/emoji-row.js +69 -59
  584. package/dist/vue3/lib/emoji-row.js.map +1 -1
  585. package/dist/vue3/lib/emoji-text-wrapper.cjs +12 -13
  586. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  587. package/dist/vue3/lib/emoji-text-wrapper.js +12 -13
  588. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  589. package/dist/vue3/lib/emoji.cjs +23 -19
  590. package/dist/vue3/lib/emoji.cjs.map +1 -1
  591. package/dist/vue3/lib/emoji.js +23 -19
  592. package/dist/vue3/lib/emoji.js.map +1 -1
  593. package/dist/vue3/lib/empty-state.cjs +30 -20
  594. package/dist/vue3/lib/empty-state.cjs.map +1 -1
  595. package/dist/vue3/lib/empty-state.js +30 -20
  596. package/dist/vue3/lib/empty-state.js.map +1 -1
  597. package/dist/vue3/lib/feed-item-row.cjs +74 -43
  598. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  599. package/dist/vue3/lib/feed-item-row.js +74 -43
  600. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  601. package/dist/vue3/lib/feed-pill.cjs +55 -45
  602. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  603. package/dist/vue3/lib/feed-pill.js +55 -45
  604. package/dist/vue3/lib/feed-pill.js.map +1 -1
  605. package/dist/vue3/lib/general-row.cjs +165 -115
  606. package/dist/vue3/lib/general-row.cjs.map +1 -1
  607. package/dist/vue3/lib/general-row.js +165 -115
  608. package/dist/vue3/lib/general-row.js.map +1 -1
  609. package/dist/vue3/lib/group-row.cjs +9 -7
  610. package/dist/vue3/lib/group-row.cjs.map +1 -1
  611. package/dist/vue3/lib/group-row.js +9 -7
  612. package/dist/vue3/lib/group-row.js.map +1 -1
  613. package/dist/vue3/lib/grouped-chip.cjs +48 -27
  614. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  615. package/dist/vue3/lib/grouped-chip.js +48 -27
  616. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  617. package/dist/vue3/lib/hovercard.cjs +33 -25
  618. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  619. package/dist/vue3/lib/hovercard.js +33 -25
  620. package/dist/vue3/lib/hovercard.js.map +1 -1
  621. package/dist/vue3/lib/icon.cjs +1 -1
  622. package/dist/vue3/lib/icon.cjs.map +1 -1
  623. package/dist/vue3/lib/icon.js +1 -1
  624. package/dist/vue3/lib/icon.js.map +1 -1
  625. package/dist/vue3/lib/illustration.cjs +1 -2
  626. package/dist/vue3/lib/illustration.cjs.map +1 -1
  627. package/dist/vue3/lib/illustration.js +1 -2
  628. package/dist/vue3/lib/illustration.js.map +1 -1
  629. package/dist/vue3/lib/image-viewer.cjs +66 -52
  630. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  631. package/dist/vue3/lib/image-viewer.js +66 -52
  632. package/dist/vue3/lib/image-viewer.js.map +1 -1
  633. package/dist/vue3/lib/input-group.cjs +19 -15
  634. package/dist/vue3/lib/input-group.cjs.map +1 -1
  635. package/dist/vue3/lib/input-group.js +19 -15
  636. package/dist/vue3/lib/input-group.js.map +1 -1
  637. package/dist/vue3/lib/input.cjs +114 -77
  638. package/dist/vue3/lib/input.cjs.map +1 -1
  639. package/dist/vue3/lib/input.js +114 -77
  640. package/dist/vue3/lib/input.js.map +1 -1
  641. package/dist/vue3/lib/item-layout.cjs +27 -10
  642. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  643. package/dist/vue3/lib/item-layout.js +27 -10
  644. package/dist/vue3/lib/item-layout.js.map +1 -1
  645. package/dist/vue3/lib/ivr-node.cjs +89 -80
  646. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  647. package/dist/vue3/lib/ivr-node.js +89 -80
  648. package/dist/vue3/lib/ivr-node.js.map +1 -1
  649. package/dist/vue3/lib/keyboard-shortcut.cjs +31 -26
  650. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  651. package/dist/vue3/lib/keyboard-shortcut.js +31 -26
  652. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  653. package/dist/vue3/lib/lazy-show.cjs +8 -6
  654. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  655. package/dist/vue3/lib/lazy-show.js +8 -6
  656. package/dist/vue3/lib/lazy-show.js.map +1 -1
  657. package/dist/vue3/lib/link.cjs +7 -2
  658. package/dist/vue3/lib/link.cjs.map +1 -1
  659. package/dist/vue3/lib/link.js +7 -2
  660. package/dist/vue3/lib/link.js.map +1 -1
  661. package/dist/vue3/lib/list-item-group.cjs +14 -7
  662. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  663. package/dist/vue3/lib/list-item-group.js +14 -7
  664. package/dist/vue3/lib/list-item-group.js.map +1 -1
  665. package/dist/vue3/lib/list-item.cjs +25 -24
  666. package/dist/vue3/lib/list-item.cjs.map +1 -1
  667. package/dist/vue3/lib/list-item.js +25 -24
  668. package/dist/vue3/lib/list-item.js.map +1 -1
  669. package/dist/vue3/lib/message-input.cjs +264 -227
  670. package/dist/vue3/lib/message-input.cjs.map +1 -1
  671. package/dist/vue3/lib/message-input.js +264 -227
  672. package/dist/vue3/lib/message-input.js.map +1 -1
  673. package/dist/vue3/lib/modal.cjs +99 -59
  674. package/dist/vue3/lib/modal.cjs.map +1 -1
  675. package/dist/vue3/lib/modal.js +99 -59
  676. package/dist/vue3/lib/modal.js.map +1 -1
  677. package/dist/vue3/lib/notice.cjs +46 -33
  678. package/dist/vue3/lib/notice.cjs.map +1 -1
  679. package/dist/vue3/lib/notice.js +46 -33
  680. package/dist/vue3/lib/notice.js.map +1 -1
  681. package/dist/vue3/lib/pagination.cjs +61 -49
  682. package/dist/vue3/lib/pagination.cjs.map +1 -1
  683. package/dist/vue3/lib/pagination.js +61 -49
  684. package/dist/vue3/lib/pagination.js.map +1 -1
  685. package/dist/vue3/lib/popover.cjs +156 -133
  686. package/dist/vue3/lib/popover.cjs.map +1 -1
  687. package/dist/vue3/lib/popover.js +157 -134
  688. package/dist/vue3/lib/popover.js.map +1 -1
  689. package/dist/vue3/lib/presence.cjs +17 -9
  690. package/dist/vue3/lib/presence.cjs.map +1 -1
  691. package/dist/vue3/lib/presence.js +17 -9
  692. package/dist/vue3/lib/presence.js.map +1 -1
  693. package/dist/vue3/lib/radio-group.cjs +1 -1
  694. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  695. package/dist/vue3/lib/radio-group.js +1 -1
  696. package/dist/vue3/lib/radio-group.js.map +1 -1
  697. package/dist/vue3/lib/radio.cjs +41 -34
  698. package/dist/vue3/lib/radio.cjs.map +1 -1
  699. package/dist/vue3/lib/radio.js +41 -34
  700. package/dist/vue3/lib/radio.js.map +1 -1
  701. package/dist/vue3/lib/rich-text-editor.cjs +288 -292
  702. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  703. package/dist/vue3/lib/rich-text-editor.js +288 -292
  704. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  705. package/dist/vue3/lib/root-layout.cjs +39 -24
  706. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  707. package/dist/vue3/lib/root-layout.js +39 -24
  708. package/dist/vue3/lib/root-layout.js.map +1 -1
  709. package/dist/vue3/lib/scrollbar-directive.cjs +422 -388
  710. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
  711. package/dist/vue3/lib/scrollbar-directive.js +422 -388
  712. package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
  713. package/dist/vue3/lib/scroller.cjs +83 -100
  714. package/dist/vue3/lib/scroller.cjs.map +1 -1
  715. package/dist/vue3/lib/scroller.js +83 -100
  716. package/dist/vue3/lib/scroller.js.map +1 -1
  717. package/dist/vue3/lib/select-menu.cjs +67 -40
  718. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  719. package/dist/vue3/lib/select-menu.js +67 -40
  720. package/dist/vue3/lib/select-menu.js.map +1 -1
  721. package/dist/vue3/lib/settings-menu-button.cjs +16 -10
  722. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  723. package/dist/vue3/lib/settings-menu-button.js +16 -10
  724. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  725. package/dist/vue3/lib/skeleton.cjs +93 -74
  726. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  727. package/dist/vue3/lib/skeleton.js +93 -74
  728. package/dist/vue3/lib/skeleton.js.map +1 -1
  729. package/dist/vue3/lib/split-button.cjs +74 -68
  730. package/dist/vue3/lib/split-button.cjs.map +1 -1
  731. package/dist/vue3/lib/split-button.js +74 -68
  732. package/dist/vue3/lib/split-button.js.map +1 -1
  733. package/dist/vue3/lib/stack.cjs +26 -18
  734. package/dist/vue3/lib/stack.cjs.map +1 -1
  735. package/dist/vue3/lib/stack.js +26 -18
  736. package/dist/vue3/lib/stack.js.map +1 -1
  737. package/dist/vue3/lib/tabs.cjs +7 -3
  738. package/dist/vue3/lib/tabs.cjs.map +1 -1
  739. package/dist/vue3/lib/tabs.js +7 -3
  740. package/dist/vue3/lib/tabs.js.map +1 -1
  741. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  742. package/dist/vue3/lib/time-pill.js.map +1 -1
  743. package/dist/vue3/lib/toast.cjs +51 -35
  744. package/dist/vue3/lib/toast.cjs.map +1 -1
  745. package/dist/vue3/lib/toast.js +51 -35
  746. package/dist/vue3/lib/toast.js.map +1 -1
  747. package/dist/vue3/lib/toggle.cjs +34 -24
  748. package/dist/vue3/lib/toggle.cjs.map +1 -1
  749. package/dist/vue3/lib/toggle.js +34 -24
  750. package/dist/vue3/lib/toggle.js.map +1 -1
  751. package/dist/vue3/lib/tooltip-directive.cjs +19 -26
  752. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  753. package/dist/vue3/lib/tooltip-directive.js +19 -26
  754. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  755. package/dist/vue3/lib/tooltip.cjs +32 -21
  756. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  757. package/dist/vue3/lib/tooltip.js +33 -22
  758. package/dist/vue3/lib/tooltip.js.map +1 -1
  759. package/dist/vue3/lib/top-banner-info.cjs +23 -8
  760. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  761. package/dist/vue3/lib/top-banner-info.js +23 -8
  762. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  763. package/dist/vue3/lib/unread-pill.cjs +11 -8
  764. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  765. package/dist/vue3/lib/unread-pill.js +11 -8
  766. package/dist/vue3/lib/unread-pill.js.map +1 -1
  767. package/dist/vue3/lib/validation-messages.cjs +17 -14
  768. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  769. package/dist/vue3/lib/validation-messages.js +17 -14
  770. package/dist/vue3/lib/validation-messages.js.map +1 -1
  771. package/dist/vue3/style.css +9 -9
  772. package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
  773. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  774. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
  775. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  776. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
  777. package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
  778. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  779. package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
  780. package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
  781. package/dist/vue3/types/components/input/input.vue.d.ts +3 -2
  782. package/dist/vue3/types/components/input/input.vue.d.ts.map +1 -1
  783. package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
  784. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  785. package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
  786. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  787. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  788. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  789. package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
  790. package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
  791. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
  792. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  793. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  794. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  795. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  796. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  797. package/package.json +3 -2
  798. package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +0 -1
  799. package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +0 -1
  800. package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +0 -1
  801. package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tab-aD6t0MNo.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","sm","TAB_LIST_KIND_MODIFIERS","inverted","TAB_LIST_IMPORTANCE_MODIFIERS","borderless","TAB_IMPORTANCE_MODIFIERS","selected","_sfc_main","name","provide","groupContext","provideObj","changeContentPanel","setFocus","props","label","type","String","default","disabled","Boolean","size","validate","includes","tabListClass","Array","Object","tabListChildProps","emits","data","focusId","tabs","watch","immediate","handler","mounted","updateSelected","beforeUpdate","methods","getTabChildren","from","$refs","querySelectorAll","map","el","context","panelId","getAttribute","replace","id","isSelected","onChange","$emit","selectOverride","tabLeft","index","getIndexAndTabs","indexElement","length","selectFocusOnTab","tabRight","focus","selectTab","selectTabByIndex","findIndex","onHomeButton","onEndButton","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","ref","class","$data","$props","role","onKeyup","$options","args","onKeydown","_renderSlot","_ctx","$slots","components","DtButton","inject","inheritAttrs","required","tabClass","computed","tabListeners","click","event","selectPanel","setSelectedPanelByDefault","_createBlock","_component_dt_button","tabindex","$attrs","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"tab-RTDgnD9-.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","_renderSlot","_createBlock","_toHandlers"],"mappings":"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"}
@@ -156,57 +156,38 @@ const _sfc_main$1 = {
156
156
  });
157
157
  },
158
158
  onChange() {
159
- this.$emit("change", {
160
- ...this.provideObj
161
- });
159
+ this.$emit("change", { ...this.provideObj });
162
160
  },
163
- changeContentPanel({
164
- selected,
165
- selectOverride
166
- }) {
161
+ changeContentPanel({ selected, selectOverride }) {
167
162
  this.provideObj.selected = selected;
168
163
  if (!selectOverride) {
169
164
  this.onChange();
170
165
  }
171
166
  },
172
167
  tabLeft() {
173
- const {
174
- index,
175
- tabs
176
- } = this.getIndexAndTabs();
168
+ const { index, tabs } = this.getIndexAndTabs();
177
169
  if (index === -1)
178
170
  return;
179
171
  const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;
180
172
  this.selectFocusOnTab(indexElement, tabs);
181
173
  },
182
174
  tabRight() {
183
- const {
184
- index,
185
- tabs
186
- } = this.getIndexAndTabs();
175
+ const { index, tabs } = this.getIndexAndTabs();
187
176
  if (index === -1)
188
177
  return;
189
178
  const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;
190
179
  this.selectFocusOnTab(indexElement, tabs);
191
180
  },
192
181
  selectFocusOnTab(index, tabs) {
193
- const {
194
- context
195
- } = tabs[index];
182
+ const { context } = tabs[index];
196
183
  context.focus();
197
184
  },
198
185
  selectTab() {
199
- const {
200
- tabs,
201
- index
202
- } = this.getIndexAndTabs();
186
+ const { tabs, index } = this.getIndexAndTabs();
203
187
  this.selectTabByIndex(index, tabs);
204
188
  },
205
189
  selectTabByIndex(index, tabs) {
206
- const {
207
- context,
208
- panelId
209
- } = tabs[index];
190
+ const { context, panelId } = tabs[index];
210
191
  this.provideObj.selected = panelId;
211
192
  context.focus();
212
193
  },
@@ -231,23 +212,39 @@ const _sfc_main$1 = {
231
212
  }
232
213
  }
233
214
  };
234
- const _hoisted_1 = {
235
- "data-qa": "dt-tab-group"
236
- };
215
+ const _hoisted_1 = { "data-qa": "dt-tab-group" };
237
216
  const _hoisted_2 = ["aria-label"];
238
217
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
239
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createElementVNode("div", vue.mergeProps({
240
- ref: "tabs",
241
- class: ["d-tablist", $data.TAB_LIST_SIZE_MODIFIERS[$props.size], {
242
- [$data.TAB_LIST_KIND_MODIFIERS.inverted]: $props.inverted,
243
- [$data.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: $props.borderless
244
- }, $props.tabListClass]
245
- }, $props.tabListChildProps, {
246
- role: "tablist",
247
- "aria-label": $props.label,
248
- onKeyup: [_cache[0] || (_cache[0] = vue.withKeys((...args) => $options.tabLeft && $options.tabLeft(...args), ["left"])), _cache[1] || (_cache[1] = vue.withKeys((...args) => $options.tabRight && $options.tabRight(...args), ["right"])), _cache[2] || (_cache[2] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["enter"])), _cache[3] || (_cache[3] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["space"]))],
249
- onKeydown: [_cache[4] || (_cache[4] = vue.withKeys((...args) => $options.onHomeButton && $options.onHomeButton(...args), ["home"])), _cache[5] || (_cache[5] = vue.withKeys((...args) => $options.onEndButton && $options.onEndButton(...args), ["end"]))]
250
- }), [vue.renderSlot(_ctx.$slots, "tabs")], 16, _hoisted_2), vue.renderSlot(_ctx.$slots, "default")]);
218
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
219
+ vue.createElementVNode("div", vue.mergeProps({
220
+ ref: "tabs",
221
+ class: [
222
+ "d-tablist",
223
+ $data.TAB_LIST_SIZE_MODIFIERS[$props.size],
224
+ {
225
+ [$data.TAB_LIST_KIND_MODIFIERS.inverted]: $props.inverted,
226
+ [$data.TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: $props.borderless
227
+ },
228
+ $props.tabListClass
229
+ ]
230
+ }, $props.tabListChildProps, {
231
+ role: "tablist",
232
+ "aria-label": $props.label,
233
+ onKeyup: [
234
+ _cache[0] || (_cache[0] = vue.withKeys((...args) => $options.tabLeft && $options.tabLeft(...args), ["left"])),
235
+ _cache[1] || (_cache[1] = vue.withKeys((...args) => $options.tabRight && $options.tabRight(...args), ["right"])),
236
+ _cache[2] || (_cache[2] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["enter"])),
237
+ _cache[3] || (_cache[3] = vue.withKeys((...args) => $options.selectTab && $options.selectTab(...args), ["space"]))
238
+ ],
239
+ onKeydown: [
240
+ _cache[4] || (_cache[4] = vue.withKeys((...args) => $options.onHomeButton && $options.onHomeButton(...args), ["home"])),
241
+ _cache[5] || (_cache[5] = vue.withKeys((...args) => $options.onEndButton && $options.onEndButton(...args), ["end"]))
242
+ ]
243
+ }), [
244
+ vue.renderSlot(_ctx.$slots, "tabs")
245
+ ], 16, _hoisted_2),
246
+ vue.renderSlot(_ctx.$slots, "default")
247
+ ]);
251
248
  }
252
249
  const DtTabGroup = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
253
250
  const _sfc_main = {
@@ -362,9 +359,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
362
359
  const _component_dt_button = vue.resolveComponent("dt-button");
363
360
  return vue.openBlock(), vue.createBlock(_component_dt_button, vue.mergeProps({
364
361
  id: `dt-tab-${$props.id}`,
365
- class: ["d-tab", {
366
- [$data.TAB_IMPORTANCE_MODIFIERS.selected]: $options.isSelected
367
- }, $props.tabClass],
362
+ class: [
363
+ "d-tab",
364
+ {
365
+ [$data.TAB_IMPORTANCE_MODIFIERS.selected]: $options.isSelected
366
+ },
367
+ $props.tabClass
368
+ ],
368
369
  role: "tab",
369
370
  "aria-selected": `${$options.isSelected}`,
370
371
  "aria-controls": `dt-panel-${$props.panelId}`,
@@ -373,7 +374,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
373
374
  tabindex: $options.isSelected ? "0" : "-1",
374
375
  disabled: $options.groupContext.disabled || $props.disabled
375
376
  }, _ctx.$attrs, vue.toHandlers($options.tabListeners)), {
376
- default: vue.withCtx(() => [vue.renderSlot(_ctx.$slots, "default")]),
377
+ default: vue.withCtx(() => [
378
+ vue.renderSlot(_ctx.$slots, "default")
379
+ ]),
377
380
  _: 3
378
381
  }, 16, ["id", "class", "aria-selected", "aria-controls", "aria-label", "tabindex", "disabled"]);
379
382
  }
@@ -384,4 +387,4 @@ exports.TAB_IMPORTANCE_MODIFIERS = TAB_IMPORTANCE_MODIFIERS;
384
387
  exports.TAB_LIST_IMPORTANCE_MODIFIERS = TAB_LIST_IMPORTANCE_MODIFIERS;
385
388
  exports.TAB_LIST_KIND_MODIFIERS = TAB_LIST_KIND_MODIFIERS;
386
389
  exports.TAB_LIST_SIZES = TAB_LIST_SIZES;
387
- //# sourceMappingURL=tab-X7IvNGTl.js.map
390
+ //# sourceMappingURL=tab-qc3f42Yp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-X7IvNGTl.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["TAB_LIST_SIZES","TAB_LIST_SIZE_MODIFIERS","sm","TAB_LIST_KIND_MODIFIERS","inverted","TAB_LIST_IMPORTANCE_MODIFIERS","borderless","TAB_IMPORTANCE_MODIFIERS","selected","_sfc_main","name","provide","groupContext","provideObj","changeContentPanel","setFocus","props","label","type","String","default","disabled","Boolean","size","validate","includes","tabListClass","Array","Object","tabListChildProps","emits","data","focusId","tabs","watch","immediate","handler","mounted","updateSelected","beforeUpdate","methods","getTabChildren","from","$refs","querySelectorAll","map","el","context","panelId","getAttribute","replace","id","isSelected","onChange","$emit","selectOverride","tabLeft","index","getIndexAndTabs","indexElement","length","selectFocusOnTab","tabRight","focus","selectTab","selectTabByIndex","findIndex","onHomeButton","onEndButton","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","ref","class","$data","$props","role","onKeyup","$options","args","onKeydown","_renderSlot","_ctx","$slots","components","DtButton","inject","inheritAttrs","required","tabClass","computed","tabListeners","click","event","selectPanel","setSelectedPanelByDefault","_createBlock","_component_dt_button","tabindex","$attrs","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"tab-qc3f42Yp.js","sources":["../../components/tabs/tabs_constants.js","../../components/tabs/tab_group.vue","../../components/tabs/tab.vue"],"sourcesContent":["export const TAB_LIST_SIZES = ['default', 'sm'];\n\nexport const TAB_LIST_SIZE_MODIFIERS = {\n sm: 'd-tablist--sm',\n};\n\nexport const TAB_LIST_KIND_MODIFIERS = {\n inverted: 'd-tablist--inverted',\n};\n\nexport const TAB_LIST_IMPORTANCE_MODIFIERS = {\n borderless: 'd-tablist--no-border',\n};\n\nexport const TAB_IMPORTANCE_MODIFIERS = {\n selected: 'd-tab--selected',\n};\n","<template>\n <div\n data-qa=\"dt-tab-group\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -->\n <div\n ref=\"tabs\"\n :class=\"[\n 'd-tablist',\n TAB_LIST_SIZE_MODIFIERS[size],\n {\n [TAB_LIST_KIND_MODIFIERS.inverted]: inverted,\n [TAB_LIST_IMPORTANCE_MODIFIERS.borderless]: borderless,\n },\n tabListClass,\n ]\"\n v-bind=\"tabListChildProps\"\n role=\"tablist\"\n :aria-label=\"label\"\n @keyup.left=\"tabLeft\"\n @keyup.right=\"tabRight\"\n @keyup.enter=\"selectTab\"\n @keyup.space=\"selectTab\"\n @keydown.home=\"onHomeButton\"\n @keydown.end=\"onEndButton\"\n >\n <!-- @slot Slot for Tabs -->\n <slot name=\"tabs\" />\n </div>\n <!-- @slot Default slot for Panel -->\n <slot />\n </div>\n</template>\n\n<script>\nimport {\n TAB_LIST_SIZES,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n TAB_LIST_SIZE_MODIFIERS,\n} from './tabs_constants';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTabGroup',\n\n provide () {\n return {\n groupContext: this.provideObj,\n changeContentPanel: this.changeContentPanel,\n setFocus: this.setFocus,\n };\n },\n\n props: {\n /**\n * Identifies the tab group\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The id of the selected tab panel which should be displayed\n */\n selected: {\n type: String,\n default: '',\n },\n\n /**\n * If true, disables the tab group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies inverted styles to the tab group\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, applies borderless styles to the tab group\n * @values true, false\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If provided, applies size styles to the tab group\n * @values default, sm\n */\n size: {\n type: String,\n default: 'default',\n validate (size) {\n return TAB_LIST_SIZES.includes(size);\n },\n },\n\n /**\n * Pass through classes, used to customize the tab list\n */\n tabListClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through props, used to customize the tab list\n */\n tabListChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Change tab event with the arguments: selected id of the current tab and disabled value\n *\n * @event change\n * @type {Object}\n */\n 'change',\n ],\n\n data () {\n return {\n provideObj: {\n selected: '', // the currently displayed tab id\n disabled: false, // disable group\n },\n\n focusId: null,\n tabs: [],\n TAB_LIST_SIZE_MODIFIERS,\n TAB_LIST_KIND_MODIFIERS,\n TAB_LIST_IMPORTANCE_MODIFIERS,\n };\n },\n\n watch: {\n disabled: {\n immediate: true,\n handler () {\n this.provideObj.disabled = this.disabled;\n },\n },\n\n selected: {\n immediate: true,\n handler () {\n this.provideObj.selected = this.selected;\n },\n },\n },\n\n mounted () {\n this.updateSelected();\n },\n\n beforeUpdate () {\n this.updateSelected();\n },\n\n methods: {\n updateSelected () {\n /**\n * Prevent override tab selected by default\n */\n if (!this.provideObj.selected) {\n this.provideObj.selected = this.selected;\n }\n this.tabs = this.getTabChildren();\n },\n\n setFocus (focusId) {\n this.focusId = focusId;\n },\n\n getTabChildren () {\n const tabs = Array.from(this.$refs.tabs.querySelectorAll('.d-tab'));\n return tabs\n .map(el => {\n return ({\n context: el,\n panelId: el.getAttribute('aria-controls')?.replace('dt-panel-', ''),\n id: el.getAttribute('id')?.replace('dt-tab-', ''),\n isSelected: el.getAttribute('aria-selected') === 'true',\n });\n });\n },\n\n onChange () {\n this.$emit('change', { ...this.provideObj });\n },\n\n changeContentPanel ({ selected, selectOverride }) {\n this.provideObj.selected = selected;\n if (!selectOverride) {\n this.onChange();\n }\n },\n\n tabLeft () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n const indexElement = index - 1 < 0 ? tabs.length - 1 : index - 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n tabRight () {\n const { index, tabs } = this.getIndexAndTabs();\n if (index === -1) return;\n\n const indexElement = index + 1 > tabs.length - 1 ? 0 : index + 1;\n this.selectFocusOnTab(indexElement, tabs);\n },\n\n selectFocusOnTab (index, tabs) {\n const { context } = tabs[index];\n context.focus();\n },\n\n selectTab () {\n const { tabs, index } = this.getIndexAndTabs();\n this.selectTabByIndex(index, tabs);\n },\n\n selectTabByIndex (index, tabs) {\n const { context, panelId } = tabs[index];\n this.provideObj.selected = panelId;\n context.focus();\n },\n\n getIndexAndTabs () {\n const index = this.tabs.findIndex((context) =>\n this.focusId ? context.id === `${this.focusId}` : context.isSelected);\n return {\n tabs: this.tabs,\n index,\n };\n },\n\n onHomeButton () {\n if (this.tabs.length === 0) return;\n this.tabs[0]?.context?.focus();\n },\n\n onEndButton () {\n if (this.tabs.length === 0) return;\n this.tabs[this.tabs.length - 1]?.context?.focus();\n },\n },\n};\n</script>\n","<template>\n <dt-button\n :id=\"`dt-tab-${id}`\"\n :class=\"[\n 'd-tab',\n {\n [TAB_IMPORTANCE_MODIFIERS.selected]: isSelected,\n },\n tabClass,\n ]\"\n role=\"tab\"\n :aria-selected=\"`${isSelected}`\"\n :aria-controls=\"`dt-panel-${panelId}`\"\n :aria-label=\"label\"\n data-qa=\"dt-tab\"\n :tabindex=\"isSelected ? '0' : '-1'\"\n :disabled=\"groupContext.disabled || disabled\"\n v-bind=\"$attrs\"\n v-on=\"tabListeners\"\n >\n <!-- @slot default slot, defaults contains dt-button -->\n <slot />\n </dt-button>\n</template>\n\n<script>\nimport { TAB_IMPORTANCE_MODIFIERS } from './tabs_constants';\nimport { DtButton } from '../button';\n\n/**\n * Tabs allow users to navigation between grouped content in different views while within the same page context.\n * @see https://dialtone.dialpad.com/components/tabs.html\n */\nexport default {\n name: 'DtTab',\n components: {\n DtButton,\n },\n\n inject: ['changeContentPanel', 'groupContext', 'setFocus'],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the tab\n */\n id: {\n type: String,\n required: true,\n },\n\n /**\n * Id of the associated content panel\n */\n panelId: {\n type: String,\n required: true,\n },\n\n /**\n * Describes the tab\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Controls the state of the tab\n * @values true, false\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If true, disables the tab\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used to customize the tab element\n */\n tabClass: {\n type: [String, Array, Object],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n TAB_IMPORTANCE_MODIFIERS,\n };\n },\n\n computed: {\n tabListeners () {\n return {\n click: event => {\n this.selectPanel();\n this.$emit('click', event);\n },\n\n focus: event => {\n this.setFocus(this.id);\n this.$emit('focus', event);\n },\n };\n },\n\n isSelected () {\n return this.groupContext.selected === this.panelId;\n },\n },\n\n mounted () {\n this.setSelectedPanelByDefault();\n },\n\n methods: {\n setSelectedPanelByDefault () {\n if (this.selected) {\n this.selectPanel(true);\n }\n },\n\n selectPanel (selectOverride = false) {\n this.changeContentPanel({\n selected: this.panelId,\n selectOverride,\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_openBlock","_createElementBlock","_createElementVNode","_mergeProps","_renderSlot","DtButton","_createBlock","_toHandlers"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","ERROR","WARNING","SUCCESS","DESCRIPTION_SIZE_TYPES","LARGE","EXTRA_LARGE","DESCRIPTION_SIZE_MODIFIERS","xs","sm","md","lg","xl","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","esc","escape","tab","enter","space","spacebar","up","arrowup","left","arrowleft","right","arrowright","down","arrowdown","home","end","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX"],"mappings":";;AAUO,MAAMA,2BAA2B;AAAA,EACtCC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AACX;AAGO,MAAMC,yBAAyB;AAAA,EACpCC,OAAO;AAAA,EACPC,aAAa;AACf;AAGO,MAAMC,6BAA6B;AAAA,EACxCC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAGO,MAAMC,uBAAuB;AAAA,EAClCL,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAEO,MAAME,iBAAiB;AAAA,EAC5BC,KAAK;AAAA,EACLC,QAAQ;AAAA,EACRC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,IAAI;AAAA,EACJC,SAAS;AAAA,EACTC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,OAAO;AAAA,EACPC,YAAY;AAAA,EACZC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,MAAM;AAAA,EACNC,KAAK;AACP;AAMaC,MAAAA,kCAAkC/B,yBAAyBC;AAGjE,MAAM+B,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACbhC;AAAAA,EACAI;AAAAA,EACA2B;AAAAA,EACAC;AACF;;;;;;;;;"}
1
+ {"version":3,"file":"constants.cjs","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":[],"mappings":";;AAUY,MAAC,2BAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AAGY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,aAAa;AACf;AAGY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGY,MAAC,uBAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,iBAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AACP;AAMY,MAAC,kCAAkC,yBAAyB;AAG5D,MAAC,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","ERROR","WARNING","SUCCESS","DESCRIPTION_SIZE_TYPES","LARGE","EXTRA_LARGE","DESCRIPTION_SIZE_MODIFIERS","xs","sm","md","lg","xl","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","esc","escape","tab","enter","space","spacebar","up","arrowup","left","arrowleft","right","arrowright","down","arrowdown","home","end","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX"],"mappings":"AAUO,MAAMA,2BAA2B;AAAA,EACtCC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AACX;AAGO,MAAMC,yBAAyB;AAAA,EACpCC,OAAO;AAAA,EACPC,aAAa;AACf;AAGO,MAAMC,6BAA6B;AAAA,EACxCC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAGO,MAAMC,uBAAuB;AAAA,EAClCL,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAEO,MAAME,iBAAiB;AAAA,EAC5BC,KAAK;AAAA,EACLC,QAAQ;AAAA,EACRC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,IAAI;AAAA,EACJC,SAAS;AAAA,EACTC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,OAAO;AAAA,EACPC,YAAY;AAAA,EACZC,MAAM;AAAA,EACNC,WAAW;AAAA,EACXC,MAAM;AAAA,EACNC,KAAK;AACP;AAMaC,MAAAA,kCAAkC/B,yBAAyBC;AAGjE,MAAM+B,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACbhC;AAAAA,EACAI;AAAAA,EACA2B;AAAAA,EACAC;AACF;"}
1
+ {"version":3,"file":"constants.js","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":[],"mappings":"AAUY,MAAC,2BAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AAGY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,aAAa;AACf;AAGY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGY,MAAC,uBAAuB;AAAA,EAClC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,iBAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,KAAK;AACP;AAMY,MAAC,kCAAkC,yBAAyB;AAG5D,MAAC,iBAAiB;AAE9B,MAAe,QAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -49,9 +49,7 @@ function durationInHHMM(durationInSeconds) {
49
49
  return _baseFormatDuration(duration, ["hours", "minutes"]);
50
50
  }
51
51
  function _getRelativeDaysText(days) {
52
- const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, {
53
- numeric: "auto"
54
- });
52
+ const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: "auto" });
55
53
  return common_utils.capitalizeFirstLetter(rtl.formatToParts(days, "day")[0].value, dialtoneLocale.code);
56
54
  }
57
55
  function relativeDate(date) {
@@ -1 +1 @@
1
- {"version":3,"file":"dates.cjs","sources":["../../common/dates/index.js"],"sourcesContent":["import {\n format,\n formatDuration,\n intervalToDuration,\n formatDistance,\n isToday,\n isYesterday,\n isThisWeek,\n isThisYear,\n} from 'date-fns';\nimport { capitalizeFirstLetter } from '../utils';\n\nlet dialtoneLocale;\n\n// Base functions just wrap core date-fns functions, but this allows us to do checks and set default options.\n\nfunction _baseFormat (date, formatString) {\n _checkLocaleSet();\n return format(date, formatString, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _baseFormatDuration (duration, formatString) {\n _checkLocaleSet();\n return formatDuration(duration, {\n locale: dialtoneLocale,\n format: formatString,\n });\n}\n\nfunction _baseFormatDistance (date, baseDate) {\n _checkLocaleSet();\n return formatDistance(date, baseDate, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _isLocaleSet () {\n return dialtoneLocale !== undefined;\n}\n\nfunction _checkLocaleSet () {\n if (!_isLocaleSet()) {\n throw new Error('Locale not set, please call setDateLocale(locale) and pass ' +\n 'in a datefns locale object as the locale param before calling this function');\n }\n}\n\n/**\n * Sets the locale for date-fns. This should be called before any date-fns functions are called.\n * @param {Locale} locale A date-fns locale object\n */\nexport function setDateLocale (locale) {\n dialtoneLocale = locale;\n}\n\n/**\n * This formats a date to the Dialtone standard medium date format as shown here:\n * https://dialtone.dialpad.com/guides/writing-guidelines/#formats-by-length\n * @param {Date} date A javascript date object\n * @returns {string} A string in the format of 'September 2, 2022'\n */\nexport function getDateMedium (date) {\n return _baseFormat(date, 'MMMM d, y');\n}\n\n/**\n * Converts a call duration in total number of seconds to a human readable string\n * such as 'less than a minute' or '4 hours 34 minutes'.\n * @param {number} durationInSeconds The duration of the call in seconds\n * @returns {string} A human readable string representing the duration of the call\n */\nexport function durationInHHMM (durationInSeconds) {\n if (durationInSeconds < 60) {\n // returns 'less than a minute', we're doing it like this instead of returning a string\n // so datefns handles i18n.\n return _baseFormatDistance(0, 29 * 1000);\n }\n const duration = intervalToDuration({\n start: 0,\n end: durationInSeconds * 1000,\n });\n return _baseFormatDuration(duration, ['hours', 'minutes']);\n}\n\n/**\n * gets the human readable name of the day relative to the current time. For example, if you pass in -1 it will\n * say \"Yesterday\" if you pass in 0 it will say \"Today\", if you pass in 1 it will say \"Tomorrow\".\n * @param {number} days The number of days relative to the current time\n * @returns {string} A human readable string representing the distance between the date and now\n */\nfunction _getRelativeDaysText (days) {\n const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: 'auto' });\n return capitalizeFirstLetter(rtl.formatToParts(days, 'day')[0].value, dialtoneLocale.code);\n}\n\n/**\n * Returns the distance between the passed in date and now in a human readable format, typically used\n * when showing a history of items in a log such as a feed list.\n *\n * datefns does not support 'today' and 'yesterday' without showing time so we use Intl for these cases.\n *\n * examples below to explain\n * the different potential formats:\n *\n * If current day:\n * Today\n *\n * If previous day:\n * Yesterday\n *\n * Older than yesterday, but in the same calendar week:\n * Monday\n *\n * Older than the most recent calendar week, but in the same year:\n * Monday, October 14\n *\n * older than a calendar year:\n * October 14, 2022\n *\n *\n * @param {Date} date The timestamp of the item's date\n * @returns {string} A human readable string representing the distance between the date and now\n */\nexport function relativeDate (date) {\n if (isToday(date)) {\n return _getRelativeDaysText(0);\n } else if (isYesterday(date)) {\n return _getRelativeDaysText(-1);\n } else if (isThisWeek(date)) {\n return _baseFormat(date, 'EEEE');\n } else if (isThisYear(date)) {\n return _baseFormat(date, 'EEEE, MMMM d');\n } else {\n return _baseFormat(date, 'MMMM d, y');\n }\n}\n"],"names":["dialtoneLocale","_baseFormat","date","formatString","_checkLocaleSet","format","locale","_baseFormatDuration","duration","formatDuration","_baseFormatDistance","baseDate","formatDistance","_isLocaleSet","undefined","Error","setDateLocale","getDateMedium","durationInHHMM","durationInSeconds","intervalToDuration","start","end","_getRelativeDaysText","days","rtl","Intl","RelativeTimeFormat","code","numeric","capitalizeFirstLetter","formatToParts","value","relativeDate","isToday","isYesterday","isThisWeek","isThisYear"],"mappings":";;;;;;AAYA,IAAIA;AAIJ,SAASC,YAAaC,MAAMC,cAAc;AACxCC;AACA,SAAOC,QAAM,OAACH,MAAMC,cAAc;AAAA,IAChCG,QAAQN;AAAAA,EACV,CAAC;AACH;AAEA,SAASO,oBAAqBC,UAAUL,cAAc;AACpDC;AACA,SAAOK,QAAAA,eAAeD,UAAU;AAAA,IAC9BF,QAAQN;AAAAA,IACRK,QAAQF;AAAAA,EACV,CAAC;AACH;AAEA,SAASO,oBAAqBR,MAAMS,UAAU;AAC5CP;AACA,SAAOQ,QAAc,eAACV,MAAMS,UAAU;AAAA,IACpCL,QAAQN;AAAAA,EACV,CAAC;AACH;AAEA,SAASa,eAAgB;AACvB,SAAOb,mBAAmBc;AAC5B;AAEA,SAASV,kBAAmB;AAC1B,MAAI,CAACS,aAAY,GAAI;AACnB,UAAM,IAAIE,MAAM,wIAC6D;AAAA,EAC/E;AACF;AAMO,SAASC,cAAeV,QAAQ;AACrCN,mBAAiBM;AACnB;AAQO,SAASW,cAAef,MAAM;AACnC,SAAOD,YAAYC,MAAM,WAAW;AACtC;AAQO,SAASgB,eAAgBC,mBAAmB;AACjD,MAAIA,oBAAoB,IAAI;AAG1B,WAAOT,oBAAoB,GAAG,KAAK,GAAI;AAAA,EACzC;AACA,QAAMF,WAAWY,QAAAA,mBAAmB;AAAA,IAClCC,OAAO;AAAA,IACPC,KAAKH,oBAAoB;AAAA,EAC3B,CAAC;AACD,SAAOZ,oBAAoBC,UAAU,CAAC,SAAS,SAAS,CAAC;AAC3D;AAQA,SAASe,qBAAsBC,MAAM;AACnC,QAAMC,MAAM,IAAIC,KAAKC,mBAAmB3B,eAAe4B,MAAM;AAAA,IAAEC,SAAS;AAAA,EAAO,CAAC;AAChF,SAAOC,mCAAsBL,IAAIM,cAAcP,MAAM,KAAK,EAAE,CAAC,EAAEQ,OAAOhC,eAAe4B,IAAI;AAC3F;AA8BO,SAASK,aAAc/B,MAAM;AAClC,MAAIgC,QAAAA,QAAQhC,IAAI,GAAG;AACjB,WAAOqB,qBAAqB,CAAC;AAAA,EAC/B,WAAWY,QAAAA,YAAYjC,IAAI,GAAG;AAC5B,WAAOqB,qBAAqB,EAAE;AAAA,EAChC,WAAWa,QAAAA,WAAWlC,IAAI,GAAG;AAC3B,WAAOD,YAAYC,MAAM,MAAM;AAAA,EACjC,WAAWmC,QAAAA,WAAWnC,IAAI,GAAG;AAC3B,WAAOD,YAAYC,MAAM,cAAc;AAAA,EACzC,OAAO;AACL,WAAOD,YAAYC,MAAM,WAAW;AAAA,EACtC;AACF;;;;;"}
1
+ {"version":3,"file":"dates.cjs","sources":["../../common/dates/index.js"],"sourcesContent":["import {\n format,\n formatDuration,\n intervalToDuration,\n formatDistance,\n isToday,\n isYesterday,\n isThisWeek,\n isThisYear,\n} from 'date-fns';\nimport { capitalizeFirstLetter } from '../utils';\n\nlet dialtoneLocale;\n\n// Base functions just wrap core date-fns functions, but this allows us to do checks and set default options.\n\nfunction _baseFormat (date, formatString) {\n _checkLocaleSet();\n return format(date, formatString, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _baseFormatDuration (duration, formatString) {\n _checkLocaleSet();\n return formatDuration(duration, {\n locale: dialtoneLocale,\n format: formatString,\n });\n}\n\nfunction _baseFormatDistance (date, baseDate) {\n _checkLocaleSet();\n return formatDistance(date, baseDate, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _isLocaleSet () {\n return dialtoneLocale !== undefined;\n}\n\nfunction _checkLocaleSet () {\n if (!_isLocaleSet()) {\n throw new Error('Locale not set, please call setDateLocale(locale) and pass ' +\n 'in a datefns locale object as the locale param before calling this function');\n }\n}\n\n/**\n * Sets the locale for date-fns. This should be called before any date-fns functions are called.\n * @param {Locale} locale A date-fns locale object\n */\nexport function setDateLocale (locale) {\n dialtoneLocale = locale;\n}\n\n/**\n * This formats a date to the Dialtone standard medium date format as shown here:\n * https://dialtone.dialpad.com/guides/writing-guidelines/#formats-by-length\n * @param {Date} date A javascript date object\n * @returns {string} A string in the format of 'September 2, 2022'\n */\nexport function getDateMedium (date) {\n return _baseFormat(date, 'MMMM d, y');\n}\n\n/**\n * Converts a call duration in total number of seconds to a human readable string\n * such as 'less than a minute' or '4 hours 34 minutes'.\n * @param {number} durationInSeconds The duration of the call in seconds\n * @returns {string} A human readable string representing the duration of the call\n */\nexport function durationInHHMM (durationInSeconds) {\n if (durationInSeconds < 60) {\n // returns 'less than a minute', we're doing it like this instead of returning a string\n // so datefns handles i18n.\n return _baseFormatDistance(0, 29 * 1000);\n }\n const duration = intervalToDuration({\n start: 0,\n end: durationInSeconds * 1000,\n });\n return _baseFormatDuration(duration, ['hours', 'minutes']);\n}\n\n/**\n * gets the human readable name of the day relative to the current time. For example, if you pass in -1 it will\n * say \"Yesterday\" if you pass in 0 it will say \"Today\", if you pass in 1 it will say \"Tomorrow\".\n * @param {number} days The number of days relative to the current time\n * @returns {string} A human readable string representing the distance between the date and now\n */\nfunction _getRelativeDaysText (days) {\n const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: 'auto' });\n return capitalizeFirstLetter(rtl.formatToParts(days, 'day')[0].value, dialtoneLocale.code);\n}\n\n/**\n * Returns the distance between the passed in date and now in a human readable format, typically used\n * when showing a history of items in a log such as a feed list.\n *\n * datefns does not support 'today' and 'yesterday' without showing time so we use Intl for these cases.\n *\n * examples below to explain\n * the different potential formats:\n *\n * If current day:\n * Today\n *\n * If previous day:\n * Yesterday\n *\n * Older than yesterday, but in the same calendar week:\n * Monday\n *\n * Older than the most recent calendar week, but in the same year:\n * Monday, October 14\n *\n * older than a calendar year:\n * October 14, 2022\n *\n *\n * @param {Date} date The timestamp of the item's date\n * @returns {string} A human readable string representing the distance between the date and now\n */\nexport function relativeDate (date) {\n if (isToday(date)) {\n return _getRelativeDaysText(0);\n } else if (isYesterday(date)) {\n return _getRelativeDaysText(-1);\n } else if (isThisWeek(date)) {\n return _baseFormat(date, 'EEEE');\n } else if (isThisYear(date)) {\n return _baseFormat(date, 'EEEE, MMMM d');\n } else {\n return _baseFormat(date, 'MMMM d, y');\n }\n}\n"],"names":["format","formatDuration","formatDistance","intervalToDuration","capitalizeFirstLetter","isToday","isYesterday","isThisWeek","isThisYear"],"mappings":";;;;;;AAYA,IAAI;AAIJ,SAAS,YAAa,MAAM,cAAc;AACxC;AACA,SAAOA,QAAM,OAAC,MAAM,cAAc;AAAA,IAChC,QAAQ;AAAA,EACZ,CAAG;AACH;AAEA,SAAS,oBAAqB,UAAU,cAAc;AACpD;AACA,SAAOC,QAAAA,eAAe,UAAU;AAAA,IAC9B,QAAQ;AAAA,IACR,QAAQ;AAAA,EACZ,CAAG;AACH;AAEA,SAAS,oBAAqB,MAAM,UAAU;AAC5C;AACA,SAAOC,QAAc,eAAC,MAAM,UAAU;AAAA,IACpC,QAAQ;AAAA,EACZ,CAAG;AACH;AAEA,SAAS,eAAgB;AACvB,SAAO,mBAAmB;AAC5B;AAEA,SAAS,kBAAmB;AAC1B,MAAI,CAAC,aAAY,GAAI;AACnB,UAAM,IAAI,MAAM,wIAC6D;AAAA,EAC9E;AACH;AAMO,SAAS,cAAe,QAAQ;AACrC,mBAAiB;AACnB;AAQO,SAAS,cAAe,MAAM;AACnC,SAAO,YAAY,MAAM,WAAW;AACtC;AAQO,SAAS,eAAgB,mBAAmB;AACjD,MAAI,oBAAoB,IAAI;AAG1B,WAAO,oBAAoB,GAAG,KAAK,GAAI;AAAA,EACxC;AACD,QAAM,WAAWC,QAAAA,mBAAmB;AAAA,IAClC,OAAO;AAAA,IACP,KAAK,oBAAoB;AAAA,EAC7B,CAAG;AACD,SAAO,oBAAoB,UAAU,CAAC,SAAS,SAAS,CAAC;AAC3D;AAQA,SAAS,qBAAsB,MAAM;AACnC,QAAM,MAAM,IAAI,KAAK,mBAAmB,eAAe,MAAM,EAAE,SAAS,OAAM,CAAE;AAChF,SAAOC,mCAAsB,IAAI,cAAc,MAAM,KAAK,EAAE,CAAC,EAAE,OAAO,eAAe,IAAI;AAC3F;AA8BO,SAAS,aAAc,MAAM;AAClC,MAAIC,QAAAA,QAAQ,IAAI,GAAG;AACjB,WAAO,qBAAqB,CAAC;AAAA,EACjC,WAAaC,QAAAA,YAAY,IAAI,GAAG;AAC5B,WAAO,qBAAqB,EAAE;AAAA,EAClC,WAAaC,QAAAA,WAAW,IAAI,GAAG;AAC3B,WAAO,YAAY,MAAM,MAAM;AAAA,EACnC,WAAaC,QAAAA,WAAW,IAAI,GAAG;AAC3B,WAAO,YAAY,MAAM,cAAc;AAAA,EAC3C,OAAS;AACL,WAAO,YAAY,MAAM,WAAW;AAAA,EACrC;AACH;;;;;"}
@@ -47,9 +47,7 @@ function durationInHHMM(durationInSeconds) {
47
47
  return _baseFormatDuration(duration, ["hours", "minutes"]);
48
48
  }
49
49
  function _getRelativeDaysText(days) {
50
- const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, {
51
- numeric: "auto"
52
- });
50
+ const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: "auto" });
53
51
  return capitalizeFirstLetter(rtl.formatToParts(days, "day")[0].value, dialtoneLocale.code);
54
52
  }
55
53
  function relativeDate(date) {
@@ -1 +1 @@
1
- {"version":3,"file":"dates.js","sources":["../../common/dates/index.js"],"sourcesContent":["import {\n format,\n formatDuration,\n intervalToDuration,\n formatDistance,\n isToday,\n isYesterday,\n isThisWeek,\n isThisYear,\n} from 'date-fns';\nimport { capitalizeFirstLetter } from '../utils';\n\nlet dialtoneLocale;\n\n// Base functions just wrap core date-fns functions, but this allows us to do checks and set default options.\n\nfunction _baseFormat (date, formatString) {\n _checkLocaleSet();\n return format(date, formatString, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _baseFormatDuration (duration, formatString) {\n _checkLocaleSet();\n return formatDuration(duration, {\n locale: dialtoneLocale,\n format: formatString,\n });\n}\n\nfunction _baseFormatDistance (date, baseDate) {\n _checkLocaleSet();\n return formatDistance(date, baseDate, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _isLocaleSet () {\n return dialtoneLocale !== undefined;\n}\n\nfunction _checkLocaleSet () {\n if (!_isLocaleSet()) {\n throw new Error('Locale not set, please call setDateLocale(locale) and pass ' +\n 'in a datefns locale object as the locale param before calling this function');\n }\n}\n\n/**\n * Sets the locale for date-fns. This should be called before any date-fns functions are called.\n * @param {Locale} locale A date-fns locale object\n */\nexport function setDateLocale (locale) {\n dialtoneLocale = locale;\n}\n\n/**\n * This formats a date to the Dialtone standard medium date format as shown here:\n * https://dialtone.dialpad.com/guides/writing-guidelines/#formats-by-length\n * @param {Date} date A javascript date object\n * @returns {string} A string in the format of 'September 2, 2022'\n */\nexport function getDateMedium (date) {\n return _baseFormat(date, 'MMMM d, y');\n}\n\n/**\n * Converts a call duration in total number of seconds to a human readable string\n * such as 'less than a minute' or '4 hours 34 minutes'.\n * @param {number} durationInSeconds The duration of the call in seconds\n * @returns {string} A human readable string representing the duration of the call\n */\nexport function durationInHHMM (durationInSeconds) {\n if (durationInSeconds < 60) {\n // returns 'less than a minute', we're doing it like this instead of returning a string\n // so datefns handles i18n.\n return _baseFormatDistance(0, 29 * 1000);\n }\n const duration = intervalToDuration({\n start: 0,\n end: durationInSeconds * 1000,\n });\n return _baseFormatDuration(duration, ['hours', 'minutes']);\n}\n\n/**\n * gets the human readable name of the day relative to the current time. For example, if you pass in -1 it will\n * say \"Yesterday\" if you pass in 0 it will say \"Today\", if you pass in 1 it will say \"Tomorrow\".\n * @param {number} days The number of days relative to the current time\n * @returns {string} A human readable string representing the distance between the date and now\n */\nfunction _getRelativeDaysText (days) {\n const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: 'auto' });\n return capitalizeFirstLetter(rtl.formatToParts(days, 'day')[0].value, dialtoneLocale.code);\n}\n\n/**\n * Returns the distance between the passed in date and now in a human readable format, typically used\n * when showing a history of items in a log such as a feed list.\n *\n * datefns does not support 'today' and 'yesterday' without showing time so we use Intl for these cases.\n *\n * examples below to explain\n * the different potential formats:\n *\n * If current day:\n * Today\n *\n * If previous day:\n * Yesterday\n *\n * Older than yesterday, but in the same calendar week:\n * Monday\n *\n * Older than the most recent calendar week, but in the same year:\n * Monday, October 14\n *\n * older than a calendar year:\n * October 14, 2022\n *\n *\n * @param {Date} date The timestamp of the item's date\n * @returns {string} A human readable string representing the distance between the date and now\n */\nexport function relativeDate (date) {\n if (isToday(date)) {\n return _getRelativeDaysText(0);\n } else if (isYesterday(date)) {\n return _getRelativeDaysText(-1);\n } else if (isThisWeek(date)) {\n return _baseFormat(date, 'EEEE');\n } else if (isThisYear(date)) {\n return _baseFormat(date, 'EEEE, MMMM d');\n } else {\n return _baseFormat(date, 'MMMM d, y');\n }\n}\n"],"names":["dialtoneLocale","_baseFormat","date","formatString","_checkLocaleSet","format","locale","_baseFormatDuration","duration","formatDuration","_baseFormatDistance","baseDate","formatDistance","_isLocaleSet","undefined","Error","setDateLocale","getDateMedium","durationInHHMM","durationInSeconds","intervalToDuration","start","end","_getRelativeDaysText","days","rtl","Intl","RelativeTimeFormat","code","numeric","capitalizeFirstLetter","formatToParts","value","relativeDate","isToday","isYesterday","isThisWeek","isThisYear"],"mappings":";;;;AAYA,IAAIA;AAIJ,SAASC,YAAaC,MAAMC,cAAc;AACxCC;AACA,SAAOC,OAAOH,MAAMC,cAAc;AAAA,IAChCG,QAAQN;AAAAA,EACV,CAAC;AACH;AAEA,SAASO,oBAAqBC,UAAUL,cAAc;AACpDC;AACA,SAAOK,eAAeD,UAAU;AAAA,IAC9BF,QAAQN;AAAAA,IACRK,QAAQF;AAAAA,EACV,CAAC;AACH;AAEA,SAASO,oBAAqBR,MAAMS,UAAU;AAC5CP;AACA,SAAOQ,eAAeV,MAAMS,UAAU;AAAA,IACpCL,QAAQN;AAAAA,EACV,CAAC;AACH;AAEA,SAASa,eAAgB;AACvB,SAAOb,mBAAmBc;AAC5B;AAEA,SAASV,kBAAmB;AAC1B,MAAI,CAACS,aAAY,GAAI;AACnB,UAAM,IAAIE,MAAM,wIAC6D;AAAA,EAC/E;AACF;AAMO,SAASC,cAAeV,QAAQ;AACrCN,mBAAiBM;AACnB;AAQO,SAASW,cAAef,MAAM;AACnC,SAAOD,YAAYC,MAAM,WAAW;AACtC;AAQO,SAASgB,eAAgBC,mBAAmB;AACjD,MAAIA,oBAAoB,IAAI;AAG1B,WAAOT,oBAAoB,GAAG,KAAK,GAAI;AAAA,EACzC;AACA,QAAMF,WAAWY,mBAAmB;AAAA,IAClCC,OAAO;AAAA,IACPC,KAAKH,oBAAoB;AAAA,EAC3B,CAAC;AACD,SAAOZ,oBAAoBC,UAAU,CAAC,SAAS,SAAS,CAAC;AAC3D;AAQA,SAASe,qBAAsBC,MAAM;AACnC,QAAMC,MAAM,IAAIC,KAAKC,mBAAmB3B,eAAe4B,MAAM;AAAA,IAAEC,SAAS;AAAA,EAAO,CAAC;AAChF,SAAOC,sBAAsBL,IAAIM,cAAcP,MAAM,KAAK,EAAE,CAAC,EAAEQ,OAAOhC,eAAe4B,IAAI;AAC3F;AA8BO,SAASK,aAAc/B,MAAM;AAClC,MAAIgC,QAAQhC,IAAI,GAAG;AACjB,WAAOqB,qBAAqB,CAAC;AAAA,EAC/B,WAAWY,YAAYjC,IAAI,GAAG;AAC5B,WAAOqB,qBAAqB,EAAE;AAAA,EAChC,WAAWa,WAAWlC,IAAI,GAAG;AAC3B,WAAOD,YAAYC,MAAM,MAAM;AAAA,EACjC,WAAWmC,WAAWnC,IAAI,GAAG;AAC3B,WAAOD,YAAYC,MAAM,cAAc;AAAA,EACzC,OAAO;AACL,WAAOD,YAAYC,MAAM,WAAW;AAAA,EACtC;AACF;"}
1
+ {"version":3,"file":"dates.js","sources":["../../common/dates/index.js"],"sourcesContent":["import {\n format,\n formatDuration,\n intervalToDuration,\n formatDistance,\n isToday,\n isYesterday,\n isThisWeek,\n isThisYear,\n} from 'date-fns';\nimport { capitalizeFirstLetter } from '../utils';\n\nlet dialtoneLocale;\n\n// Base functions just wrap core date-fns functions, but this allows us to do checks and set default options.\n\nfunction _baseFormat (date, formatString) {\n _checkLocaleSet();\n return format(date, formatString, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _baseFormatDuration (duration, formatString) {\n _checkLocaleSet();\n return formatDuration(duration, {\n locale: dialtoneLocale,\n format: formatString,\n });\n}\n\nfunction _baseFormatDistance (date, baseDate) {\n _checkLocaleSet();\n return formatDistance(date, baseDate, {\n locale: dialtoneLocale,\n });\n}\n\nfunction _isLocaleSet () {\n return dialtoneLocale !== undefined;\n}\n\nfunction _checkLocaleSet () {\n if (!_isLocaleSet()) {\n throw new Error('Locale not set, please call setDateLocale(locale) and pass ' +\n 'in a datefns locale object as the locale param before calling this function');\n }\n}\n\n/**\n * Sets the locale for date-fns. This should be called before any date-fns functions are called.\n * @param {Locale} locale A date-fns locale object\n */\nexport function setDateLocale (locale) {\n dialtoneLocale = locale;\n}\n\n/**\n * This formats a date to the Dialtone standard medium date format as shown here:\n * https://dialtone.dialpad.com/guides/writing-guidelines/#formats-by-length\n * @param {Date} date A javascript date object\n * @returns {string} A string in the format of 'September 2, 2022'\n */\nexport function getDateMedium (date) {\n return _baseFormat(date, 'MMMM d, y');\n}\n\n/**\n * Converts a call duration in total number of seconds to a human readable string\n * such as 'less than a minute' or '4 hours 34 minutes'.\n * @param {number} durationInSeconds The duration of the call in seconds\n * @returns {string} A human readable string representing the duration of the call\n */\nexport function durationInHHMM (durationInSeconds) {\n if (durationInSeconds < 60) {\n // returns 'less than a minute', we're doing it like this instead of returning a string\n // so datefns handles i18n.\n return _baseFormatDistance(0, 29 * 1000);\n }\n const duration = intervalToDuration({\n start: 0,\n end: durationInSeconds * 1000,\n });\n return _baseFormatDuration(duration, ['hours', 'minutes']);\n}\n\n/**\n * gets the human readable name of the day relative to the current time. For example, if you pass in -1 it will\n * say \"Yesterday\" if you pass in 0 it will say \"Today\", if you pass in 1 it will say \"Tomorrow\".\n * @param {number} days The number of days relative to the current time\n * @returns {string} A human readable string representing the distance between the date and now\n */\nfunction _getRelativeDaysText (days) {\n const rtl = new Intl.RelativeTimeFormat(dialtoneLocale.code, { numeric: 'auto' });\n return capitalizeFirstLetter(rtl.formatToParts(days, 'day')[0].value, dialtoneLocale.code);\n}\n\n/**\n * Returns the distance between the passed in date and now in a human readable format, typically used\n * when showing a history of items in a log such as a feed list.\n *\n * datefns does not support 'today' and 'yesterday' without showing time so we use Intl for these cases.\n *\n * examples below to explain\n * the different potential formats:\n *\n * If current day:\n * Today\n *\n * If previous day:\n * Yesterday\n *\n * Older than yesterday, but in the same calendar week:\n * Monday\n *\n * Older than the most recent calendar week, but in the same year:\n * Monday, October 14\n *\n * older than a calendar year:\n * October 14, 2022\n *\n *\n * @param {Date} date The timestamp of the item's date\n * @returns {string} A human readable string representing the distance between the date and now\n */\nexport function relativeDate (date) {\n if (isToday(date)) {\n return _getRelativeDaysText(0);\n } else if (isYesterday(date)) {\n return _getRelativeDaysText(-1);\n } else if (isThisWeek(date)) {\n return _baseFormat(date, 'EEEE');\n } else if (isThisYear(date)) {\n return _baseFormat(date, 'EEEE, MMMM d');\n } else {\n return _baseFormat(date, 'MMMM d, y');\n }\n}\n"],"names":[],"mappings":";;;;AAYA,IAAI;AAIJ,SAAS,YAAa,MAAM,cAAc;AACxC;AACA,SAAO,OAAO,MAAM,cAAc;AAAA,IAChC,QAAQ;AAAA,EACZ,CAAG;AACH;AAEA,SAAS,oBAAqB,UAAU,cAAc;AACpD;AACA,SAAO,eAAe,UAAU;AAAA,IAC9B,QAAQ;AAAA,IACR,QAAQ;AAAA,EACZ,CAAG;AACH;AAEA,SAAS,oBAAqB,MAAM,UAAU;AAC5C;AACA,SAAO,eAAe,MAAM,UAAU;AAAA,IACpC,QAAQ;AAAA,EACZ,CAAG;AACH;AAEA,SAAS,eAAgB;AACvB,SAAO,mBAAmB;AAC5B;AAEA,SAAS,kBAAmB;AAC1B,MAAI,CAAC,aAAY,GAAI;AACnB,UAAM,IAAI,MAAM,wIAC6D;AAAA,EAC9E;AACH;AAMO,SAAS,cAAe,QAAQ;AACrC,mBAAiB;AACnB;AAQO,SAAS,cAAe,MAAM;AACnC,SAAO,YAAY,MAAM,WAAW;AACtC;AAQO,SAAS,eAAgB,mBAAmB;AACjD,MAAI,oBAAoB,IAAI;AAG1B,WAAO,oBAAoB,GAAG,KAAK,GAAI;AAAA,EACxC;AACD,QAAM,WAAW,mBAAmB;AAAA,IAClC,OAAO;AAAA,IACP,KAAK,oBAAoB;AAAA,EAC7B,CAAG;AACD,SAAO,oBAAoB,UAAU,CAAC,SAAS,SAAS,CAAC;AAC3D;AAQA,SAAS,qBAAsB,MAAM;AACnC,QAAM,MAAM,IAAI,KAAK,mBAAmB,eAAe,MAAM,EAAE,SAAS,OAAM,CAAE;AAChF,SAAO,sBAAsB,IAAI,cAAc,MAAM,KAAK,EAAE,CAAC,EAAE,OAAO,eAAe,IAAI;AAC3F;AA8BO,SAAS,aAAc,MAAM;AAClC,MAAI,QAAQ,IAAI,GAAG;AACjB,WAAO,qBAAqB,CAAC;AAAA,EACjC,WAAa,YAAY,IAAI,GAAG;AAC5B,WAAO,qBAAqB,EAAE;AAAA,EAClC,WAAa,WAAW,IAAI,GAAG;AAC3B,WAAO,YAAY,MAAM,MAAM;AAAA,EACnC,WAAa,WAAW,IAAI,GAAG;AAC3B,WAAO,YAAY,MAAM,cAAc;AAAA,EAC3C,OAAS;AACL,WAAO,YAAY,MAAM,WAAW;AAAA,EACrC;AACH;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-fEp0B-5Z.js");
3
+ const common_emoji = require("../chunks/index-lu2o2f4r.js");
4
4
  require("@dialpad/dialtone-emojis");
5
5
  exports.codeToEmojiData = common_emoji.codeToEmojiData;
6
6
  Object.defineProperty(exports, "customEmojiAssetUrl", {
@@ -1,4 +1,4 @@
1
- import { codeToEmojiData, customEmojiAssetUrl, defaultEmojiAssetUrl, emojiFileExtensionLarge, emojiFileExtensionSmall, emojiImageUrlLarge, emojiImageUrlSmall, emojiJson, emojiRegex, emojiShortCodeRegex, emojiVersion, filterValidShortCodes, findEmojis, findShortCodes, getEmojiData, setCustomEmojiJson, setCustomEmojiUrl, setEmojiAssetUrlLarge, setEmojiAssetUrlSmall, shortcodeToEmojiData, stringToUnicode, unicodeToString, validateCustomEmojiJson } from "../chunks/index-dfdrE-3M.js";
1
+ import { codeToEmojiData, customEmojiAssetUrl, defaultEmojiAssetUrl, emojiFileExtensionLarge, emojiFileExtensionSmall, emojiImageUrlLarge, emojiImageUrlSmall, emojiJson, emojiRegex, emojiShortCodeRegex, emojiVersion, filterValidShortCodes, findEmojis, findShortCodes, getEmojiData, setCustomEmojiJson, setCustomEmojiUrl, setEmojiAssetUrlLarge, setEmojiAssetUrlSmall, shortcodeToEmojiData, stringToUnicode, unicodeToString, validateCustomEmojiJson } from "../chunks/index-GVD15GIB.js";
2
2
  import "@dialpad/dialtone-emojis";
3
3
  export {
4
4
  codeToEmojiData,
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const input = require("../chunks/input-dLLo3Wtg.js");
4
- const input_group = require("../chunks/input_group-rE6nhye8.js");
5
- const keyboard_list_navigation = require("../chunks/keyboard_list_navigation-x3D6RcC7.js");
3
+ const input = require("../chunks/input-ttnte8zB.js");
4
+ const input_group = require("../chunks/input_group-M-D25pOJ.js");
5
+ const keyboard_list_navigation = require("../chunks/keyboard_list_navigation-fJnl_Iox.js");
6
6
  require("vue");
7
7
  require("./constants.cjs");
8
8
  require("./validators.cjs");
@@ -1,6 +1,6 @@
1
- import { CheckableMixin, GroupableMixin, InputMixin } from "../chunks/input-HIysg24t.js";
2
- import { InputGroupMixin } from "../chunks/input_group-hV1WT2it.js";
3
- import { KeyboardNavigation } from "../chunks/keyboard_list_navigation-YIqTuw1W.js";
1
+ import { CheckableMixin, GroupableMixin, InputMixin } from "../chunks/input-NmYDD5bn.js";
2
+ import { InputGroupMixin } from "../chunks/input_group-jWnq2DJT.js";
3
+ import { KeyboardNavigation } from "../chunks/keyboard_list_navigation-ScXhrxya.js";
4
4
  import "vue";
5
5
  import "./constants.js";
6
6
  import "./validators.js";
@@ -76,9 +76,7 @@ function findFirstFocusableNode(element) {
76
76
  return element == null ? void 0 : element.querySelector(FOCUSABLE_SELECTOR);
77
77
  }
78
78
  const htmlFragment = (props) => {
79
- return vue.h("div", {
80
- innerHTML: props.html
81
- });
79
+ return vue.h("div", { innerHTML: props.html });
82
80
  };
83
81
  const flushPromises = () => {
84
82
  return new Promise((resolve) => {
@@ -123,24 +121,60 @@ function isOutOfViewPort(element) {
123
121
  return isOut;
124
122
  }
125
123
  const domainNameRegex = /(?:(?:[^\s!@#$%^&*()_=+[\]{}\\|;:'",.<>/?]+)\.)/;
126
- const tldRegerx = new RegExp("(?: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|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|il|ie|nz|kz|hk|lt|cc|my|sg|club|bg|edu|рф|pk|su|top|th|hr|rs|pe|pro|si|az|lv|pw|ae|ph|online|ng|ee|ws|ve|cat)");
127
- const ipv4Regex = new RegExp("(?:(?:[0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(?:[0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])");
128
- const hostnameOrIpRegex = new RegExp("(?:" + [[domainNameRegex.source, tldRegerx.source].join("+"), ipv4Regex.source].join("|") + ")");
124
+ const tldRegerx = new RegExp(
125
+ "(?: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|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|il|ie|nz|kz|hk|lt|cc|my|sg|club|bg|edu|рф|pk|su|top|th|hr|rs|pe|pro|si|az|lv|pw|ae|ph|online|ng|ee|ws|ve|cat)"
126
+ );
127
+ const ipv4Regex = new RegExp(
128
+ "(?:(?:[0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(?:[0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])"
129
+ );
130
+ const hostnameOrIpRegex = new RegExp(
131
+ "(?:" + [
132
+ [
133
+ domainNameRegex.source,
134
+ tldRegerx.source
135
+ ].join("+"),
136
+ ipv4Regex.source
137
+ ].join("|") + ")"
138
+ );
129
139
  const urlPathRegex = /(?:(?:[;/][^#?<>\s]*)?)/;
130
140
  const urlQueryOrFragmentRegex = /(?:(?:\?[^#<>\s]+)?(?:#[^<>\s]+)?)/;
131
- const urlWithoutProtocolRegex = new RegExp("\\b" + [hostnameOrIpRegex.source, urlPathRegex.source, urlQueryOrFragmentRegex.source, "(?!\\w)"].join("+"));
141
+ const urlWithoutProtocolRegex = new RegExp(
142
+ "\\b" + [
143
+ hostnameOrIpRegex.source,
144
+ urlPathRegex.source,
145
+ urlQueryOrFragmentRegex.source,
146
+ "(?!\\w)"
147
+ ].join("+")
148
+ );
132
149
  const urlWithProtocolRegex = /\b[a-z\d.-]+:\/\/[^<>\s]+/;
133
- const emailAddressRegex = new RegExp("(?:mailto:)?[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@" + [hostnameOrIpRegex.source, urlQueryOrFragmentRegex.source].join("+") + "(?!\\w)");
150
+ const emailAddressRegex = new RegExp(
151
+ "(?:mailto:)?[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@" + [
152
+ hostnameOrIpRegex.source,
153
+ urlQueryOrFragmentRegex.source
154
+ ].join("+") + "(?!\\w)"
155
+ );
134
156
  function getPhoneNumberRegex(minLength = 7, maxLength = 15) {
135
157
  try {
136
- return new RegExp(`(?:^|(?<=\\W))(?![\\s\\-])\\+?(?:[0-9()\\- \\t]{${minLength},${maxLength}})(?=\\b)(?=\\W(?=\\W|$)|\\s|$)`);
158
+ return new RegExp(
159
+ `(?:^|(?<=\\W))(?![\\s\\-])\\+?(?:[0-9()\\- \\t]{${minLength},${maxLength}})(?=\\b)(?=\\W(?=\\W|$)|\\s|$)`
160
+ );
137
161
  } catch (e) {
138
162
  console.warn("This browser doesn't support regex lookahead/lookbehind");
139
163
  }
140
- return new RegExp(`(?![\\s\\-])\\+?(?:[0-9()\\- \\t]{${minLength},${maxLength}})(?=\\b)(?=\\W(?=\\W|$)|\\s|$)`);
164
+ return new RegExp(
165
+ `(?![\\s\\-])\\+?(?:[0-9()\\- \\t]{${minLength},${maxLength}})(?=\\b)(?=\\W(?=\\W|$)|\\s|$)`
166
+ );
141
167
  }
142
168
  const phoneNumberRegex = getPhoneNumberRegex();
143
- const linkRegex = new RegExp([urlWithoutProtocolRegex.source, urlWithProtocolRegex.source, emailAddressRegex.source, phoneNumberRegex.source].join("|"), "gi");
169
+ const linkRegex = new RegExp(
170
+ [
171
+ urlWithoutProtocolRegex.source,
172
+ urlWithProtocolRegex.source,
173
+ emailAddressRegex.source,
174
+ phoneNumberRegex.source
175
+ ].join("|"),
176
+ "gi"
177
+ );
144
178
  function isPhoneNumber(input) {
145
179
  var _a;
146
180
  if (!input || !["string", "number"].includes(typeof input))