@dialpad/dialtone-vue 3.120.0 → 3.120.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
  2. package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
  3. package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
  4. package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
  5. package/dist/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
  6. package/dist/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
  7. package/dist/chunks/dropdown-w8Do29L5.js +442 -0
  8. package/dist/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
  9. package/dist/chunks/dropdown_constants-2pGCXy7m.js +8 -0
  10. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
  11. package/dist/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
  12. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
  13. package/dist/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
  14. package/dist/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
  15. package/dist/chunks/icon_constants-QYpmdE0R.js +16 -0
  16. package/dist/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
  17. package/dist/chunks/index-4qgKeErp.js +446 -0
  18. package/dist/chunks/{index-b4iXYvId.js.map → index-4qgKeErp.js.map} +1 -1
  19. package/dist/chunks/index-b_MgDylR.js +447 -0
  20. package/dist/chunks/{index-6tYeqbgP.js.map → index-b_MgDylR.js.map} +1 -1
  21. package/dist/chunks/{input-4UQWegUk.js → input-NmYDD5bn.js} +83 -60
  22. package/dist/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
  23. package/dist/chunks/input-ttnte8zB.js +295 -0
  24. package/dist/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
  25. package/dist/chunks/input_group-M-D25pOJ.js +152 -0
  26. package/dist/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
  27. package/dist/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
  28. package/dist/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
  29. package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
  30. package/dist/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  31. package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
  32. package/dist/chunks/{keyboard_list_navigation-F0O8nht0.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  33. package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
  34. package/dist/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
  35. package/dist/chunks/link_constants-nWVlXQBs.js +23 -0
  36. package/dist/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
  37. package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
  38. package/dist/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
  39. package/dist/chunks/list_item_constants-u1xcN9Dd.js +14 -0
  40. package/dist/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
  41. package/dist/chunks/modal-VgxXAQFP.js +105 -0
  42. package/dist/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
  43. package/dist/chunks/modal-XOr4kiNZ.js +106 -0
  44. package/dist/chunks/{modal-VuMFkZFH.js.map → modal-XOr4kiNZ.js.map} +1 -1
  45. package/dist/chunks/notice_action-WTucGhvr.js +222 -0
  46. package/dist/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
  47. package/dist/chunks/notice_action-p-ePanW_.js +223 -0
  48. package/dist/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
  49. package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
  50. package/dist/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
  51. package/dist/chunks/notice_constants-UXo9e3bS.js +6 -0
  52. package/dist/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
  53. package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
  54. package/dist/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-JwBF9h1Z.js.map} +1 -1
  55. package/dist/chunks/popover_constants-Qkpb0yh2.js +144 -0
  56. package/dist/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
  57. package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
  58. package/dist/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  59. package/dist/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
  60. package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  61. package/dist/chunks/stack_constants-HraCekPm.js +15 -0
  62. package/dist/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
  63. package/dist/chunks/stack_constants-SMzMWnAQ.js +14 -0
  64. package/dist/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
  65. package/dist/chunks/tab-RTDgnD9-.js +391 -0
  66. package/dist/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
  67. package/dist/chunks/tab-qc3f42Yp.js +390 -0
  68. package/dist/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
  69. package/dist/common/constants.cjs +60 -0
  70. package/dist/{lib → common}/constants.cjs.map +1 -1
  71. package/dist/{lib → common}/constants.js +25 -18
  72. package/dist/{lib → common}/constants.js.map +1 -1
  73. package/dist/common/dates.cjs +72 -0
  74. package/dist/{lib → common}/dates.cjs.map +1 -1
  75. package/dist/common/dates.js +72 -0
  76. package/dist/{lib → common}/dates.js.map +1 -1
  77. package/dist/common/emoji.cjs +163 -0
  78. package/dist/common/emoji.cjs.map +1 -0
  79. package/dist/common/emoji.js +168 -0
  80. package/dist/common/emoji.js.map +1 -0
  81. package/dist/common/mixins.cjs +17 -0
  82. package/dist/{lib → common}/mixins.cjs.map +1 -1
  83. package/dist/common/mixins.js +17 -0
  84. package/dist/common/utils.cjs +243 -0
  85. package/dist/{lib → common}/utils.cjs.map +1 -1
  86. package/dist/common/utils.js +243 -0
  87. package/dist/{lib → common}/utils.js.map +1 -1
  88. package/dist/common/validators.cjs +23 -0
  89. package/dist/{lib → common}/validators.cjs.map +1 -1
  90. package/dist/common/validators.js +23 -0
  91. package/dist/{lib → common}/validators.js.map +1 -1
  92. package/dist/dialtone-vue.cjs +373 -1
  93. package/dist/dialtone-vue.cjs.map +1 -1
  94. package/dist/dialtone-vue.js +328 -327
  95. package/dist/dialtone-vue.js.map +1 -1
  96. package/dist/lib/attachment-carousel.cjs +345 -1
  97. package/dist/lib/attachment-carousel.cjs.map +1 -1
  98. package/dist/lib/attachment-carousel.js +126 -108
  99. package/dist/lib/attachment-carousel.js.map +1 -1
  100. package/dist/lib/avatar.cjs +447 -1
  101. package/dist/lib/avatar.cjs.map +1 -1
  102. package/dist/lib/avatar.js +135 -101
  103. package/dist/lib/avatar.js.map +1 -1
  104. package/dist/lib/badge.cjs +206 -1
  105. package/dist/lib/badge.cjs.map +1 -1
  106. package/dist/lib/badge.js +64 -48
  107. package/dist/lib/badge.js.map +1 -1
  108. package/dist/lib/banner.cjs +242 -2
  109. package/dist/lib/banner.cjs.map +1 -1
  110. package/dist/lib/banner.js +81 -71
  111. package/dist/lib/banner.js.map +1 -1
  112. package/dist/lib/breadcrumbs.cjs +150 -1
  113. package/dist/lib/breadcrumbs.cjs.map +1 -1
  114. package/dist/lib/breadcrumbs.js +60 -52
  115. package/dist/lib/breadcrumbs.js.map +1 -1
  116. package/dist/lib/button-group.cjs +41 -1
  117. package/dist/lib/button-group.cjs.map +1 -1
  118. package/dist/lib/button-group.js +15 -14
  119. package/dist/lib/button-group.js.map +1 -1
  120. package/dist/lib/button.cjs +356 -1
  121. package/dist/lib/button.cjs.map +1 -1
  122. package/dist/lib/button.js +108 -88
  123. package/dist/lib/button.js.map +1 -1
  124. package/dist/lib/callbar-button-with-popover.cjs +322 -1
  125. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  126. package/dist/lib/callbar-button-with-popover.js +101 -83
  127. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  128. package/dist/lib/callbar-button.cjs +200 -1
  129. package/dist/lib/callbar-button.cjs.map +1 -1
  130. package/dist/lib/callbar-button.js +52 -45
  131. package/dist/lib/callbar-button.js.map +1 -1
  132. package/dist/lib/callbox.cjs +217 -1
  133. package/dist/lib/callbox.cjs.map +1 -1
  134. package/dist/lib/callbox.js +80 -67
  135. package/dist/lib/callbox.js.map +1 -1
  136. package/dist/lib/card.cjs +91 -1
  137. package/dist/lib/card.cjs.map +1 -1
  138. package/dist/lib/card.js +27 -27
  139. package/dist/lib/card.js.map +1 -1
  140. package/dist/lib/checkbox-group.cjs +115 -1
  141. package/dist/lib/checkbox-group.cjs.map +1 -1
  142. package/dist/lib/checkbox-group.js +34 -23
  143. package/dist/lib/checkbox-group.js.map +1 -1
  144. package/dist/lib/checkbox.cjs +156 -1
  145. package/dist/lib/checkbox.cjs.map +1 -1
  146. package/dist/lib/checkbox.js +72 -60
  147. package/dist/lib/checkbox.js.map +1 -1
  148. package/dist/lib/chip.cjs +235 -1
  149. package/dist/lib/chip.cjs.map +1 -1
  150. package/dist/lib/chip.js +84 -67
  151. package/dist/lib/chip.js.map +1 -1
  152. package/dist/lib/codeblock.cjs +23 -2
  153. package/dist/lib/codeblock.cjs.map +1 -1
  154. package/dist/lib/codeblock.js +13 -13
  155. package/dist/lib/codeblock.js.map +1 -1
  156. package/dist/lib/collapsible.cjs +398 -1
  157. package/dist/lib/collapsible.cjs.map +1 -1
  158. package/dist/lib/collapsible.js +123 -100
  159. package/dist/lib/collapsible.js.map +1 -1
  160. package/dist/lib/combobox-multi-select.cjs +589 -1
  161. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  162. package/dist/lib/combobox-multi-select.js +270 -177
  163. package/dist/lib/combobox-multi-select.js.map +1 -1
  164. package/dist/lib/combobox-with-popover.cjs +452 -1
  165. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  166. package/dist/lib/combobox-with-popover.js +172 -127
  167. package/dist/lib/combobox-with-popover.js.map +1 -1
  168. package/dist/lib/combobox.cjs +18 -1
  169. package/dist/lib/combobox.cjs.map +1 -1
  170. package/dist/lib/combobox.js +9 -9
  171. package/dist/lib/contact-info.cjs +205 -1
  172. package/dist/lib/contact-info.cjs.map +1 -1
  173. package/dist/lib/contact-info.js +69 -60
  174. package/dist/lib/contact-info.js.map +1 -1
  175. package/dist/lib/contact-row.cjs +246 -1
  176. package/dist/lib/contact-row.cjs.map +1 -1
  177. package/dist/lib/contact-row.js +67 -63
  178. package/dist/lib/contact-row.js.map +1 -1
  179. package/dist/lib/datepicker.cjs +854 -1
  180. package/dist/lib/datepicker.cjs.map +1 -1
  181. package/dist/lib/datepicker.js +585 -441
  182. package/dist/lib/datepicker.js.map +1 -1
  183. package/dist/lib/description-list.cjs +116 -1
  184. package/dist/lib/description-list.cjs.map +1 -1
  185. package/dist/lib/description-list.js +56 -24
  186. package/dist/lib/description-list.js.map +1 -1
  187. package/dist/lib/dropdown.cjs +36 -1
  188. package/dist/lib/dropdown.cjs.map +1 -1
  189. package/dist/lib/dropdown.js +22 -21
  190. package/dist/lib/dropdown.js.map +1 -1
  191. package/dist/lib/editor.cjs +711 -1
  192. package/dist/lib/editor.cjs.map +1 -1
  193. package/dist/lib/editor.js +271 -235
  194. package/dist/lib/editor.js.map +1 -1
  195. package/dist/lib/emoji-picker.cjs +1277 -1
  196. package/dist/lib/emoji-picker.cjs.map +1 -1
  197. package/dist/lib/emoji-picker.js +859 -569
  198. package/dist/lib/emoji-picker.js.map +1 -1
  199. package/dist/lib/emoji-row.cjs +128 -1
  200. package/dist/lib/emoji-row.cjs.map +1 -1
  201. package/dist/lib/emoji-row.js +89 -75
  202. package/dist/lib/emoji-row.js.map +1 -1
  203. package/dist/lib/emoji-text-wrapper.cjs +102 -1
  204. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  205. package/dist/lib/emoji-text-wrapper.js +42 -31
  206. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  207. package/dist/lib/emoji.cjs +158 -1
  208. package/dist/lib/emoji.cjs.map +1 -1
  209. package/dist/lib/emoji.js +153 -6
  210. package/dist/lib/emoji.js.map +1 -1
  211. package/dist/lib/feed-item-row.cjs +296 -1
  212. package/dist/lib/feed-item-row.cjs.map +1 -1
  213. package/dist/lib/feed-item-row.js +119 -100
  214. package/dist/lib/feed-item-row.js.map +1 -1
  215. package/dist/lib/feed-pill.cjs +173 -1
  216. package/dist/lib/feed-pill.cjs.map +1 -1
  217. package/dist/lib/feed-pill.js +70 -57
  218. package/dist/lib/feed-pill.js.map +1 -1
  219. package/dist/lib/general-row.cjs +518 -1
  220. package/dist/lib/general-row.cjs.map +1 -1
  221. package/dist/lib/general-row.js +186 -148
  222. package/dist/lib/general-row.js.map +1 -1
  223. package/dist/lib/group-row.cjs +116 -1
  224. package/dist/lib/group-row.cjs.map +1 -1
  225. package/dist/lib/group-row.js +37 -35
  226. package/dist/lib/group-row.js.map +1 -1
  227. package/dist/lib/grouped-chip.cjs +96 -1
  228. package/dist/lib/grouped-chip.cjs.map +1 -1
  229. package/dist/lib/grouped-chip.js +51 -46
  230. package/dist/lib/grouped-chip.js.map +1 -1
  231. package/dist/lib/hovercard.cjs +223 -1
  232. package/dist/lib/hovercard.cjs.map +1 -1
  233. package/dist/lib/hovercard.js +115 -80
  234. package/dist/lib/hovercard.js.map +1 -1
  235. package/dist/lib/icon.cjs +58 -1
  236. package/dist/lib/icon.cjs.map +1 -1
  237. package/dist/lib/icon.js +20 -20
  238. package/dist/lib/icon.js.map +1 -1
  239. package/dist/lib/image-viewer.cjs +243 -1
  240. package/dist/lib/image-viewer.cjs.map +1 -1
  241. package/dist/lib/image-viewer.js +104 -80
  242. package/dist/lib/image-viewer.js.map +1 -1
  243. package/dist/lib/input-group.cjs +91 -1
  244. package/dist/lib/input-group.cjs.map +1 -1
  245. package/dist/lib/input-group.js +41 -39
  246. package/dist/lib/input-group.js.map +1 -1
  247. package/dist/lib/input.cjs +578 -1
  248. package/dist/lib/input.cjs.map +1 -1
  249. package/dist/lib/input.js +185 -137
  250. package/dist/lib/input.js.map +1 -1
  251. package/dist/lib/item-layout.cjs +91 -1
  252. package/dist/lib/item-layout.cjs.map +1 -1
  253. package/dist/lib/item-layout.js +45 -39
  254. package/dist/lib/item-layout.js.map +1 -1
  255. package/dist/lib/ivr-node.cjs +263 -1
  256. package/dist/lib/ivr-node.cjs.map +1 -1
  257. package/dist/lib/ivr-node.js +130 -112
  258. package/dist/lib/ivr-node.js.map +1 -1
  259. package/dist/lib/keyboard-shortcut.cjs +119 -1
  260. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  261. package/dist/lib/keyboard-shortcut.js +58 -48
  262. package/dist/lib/keyboard-shortcut.js.map +1 -1
  263. package/dist/lib/lazy-show.cjs +82 -1
  264. package/dist/lib/lazy-show.cjs.map +1 -1
  265. package/dist/lib/lazy-show.js +21 -19
  266. package/dist/lib/lazy-show.js.map +1 -1
  267. package/dist/lib/link.cjs +43 -1
  268. package/dist/lib/link.cjs.map +1 -1
  269. package/dist/lib/link.js +20 -19
  270. package/dist/lib/link.js.map +1 -1
  271. package/dist/lib/list-item-group.cjs +67 -1
  272. package/dist/lib/list-item-group.cjs.map +1 -1
  273. package/dist/lib/list-item-group.js +24 -22
  274. package/dist/lib/list-item-group.js.map +1 -1
  275. package/dist/lib/list-item.cjs +216 -1
  276. package/dist/lib/list-item.cjs.map +1 -1
  277. package/dist/lib/list-item.js +71 -60
  278. package/dist/lib/list-item.js.map +1 -1
  279. package/dist/lib/message-input.cjs +708 -1
  280. package/dist/lib/message-input.cjs.map +1 -1
  281. package/dist/lib/message-input.js +232 -206
  282. package/dist/lib/message-input.js.map +1 -1
  283. package/dist/lib/modal.cjs +444 -2
  284. package/dist/lib/modal.cjs.map +1 -1
  285. package/dist/lib/modal.js +153 -120
  286. package/dist/lib/modal.js.map +1 -1
  287. package/dist/lib/notice.cjs +197 -1
  288. package/dist/lib/notice.cjs.map +1 -1
  289. package/dist/lib/notice.js +66 -63
  290. package/dist/lib/notice.js.map +1 -1
  291. package/dist/lib/pagination.cjs +205 -1
  292. package/dist/lib/pagination.cjs.map +1 -1
  293. package/dist/lib/pagination.js +96 -81
  294. package/dist/lib/pagination.js.map +1 -1
  295. package/dist/lib/popover.cjs +1080 -1
  296. package/dist/lib/popover.cjs.map +1 -1
  297. package/dist/lib/popover.js +447 -267
  298. package/dist/lib/popover.js.map +1 -1
  299. package/dist/lib/presence.cjs +70 -1
  300. package/dist/lib/presence.cjs.map +1 -1
  301. package/dist/lib/presence.js +33 -27
  302. package/dist/lib/presence.js.map +1 -1
  303. package/dist/lib/radio-group.cjs +88 -1
  304. package/dist/lib/radio-group.cjs.map +1 -1
  305. package/dist/lib/radio-group.js +18 -18
  306. package/dist/lib/radio-group.js.map +1 -1
  307. package/dist/lib/radio.cjs +162 -1
  308. package/dist/lib/radio.cjs.map +1 -1
  309. package/dist/lib/radio.js +66 -57
  310. package/dist/lib/radio.js.map +1 -1
  311. package/dist/lib/rich-text-editor.cjs +1137 -1
  312. package/dist/lib/rich-text-editor.cjs.map +1 -1
  313. package/dist/lib/rich-text-editor.js +567 -386
  314. package/dist/lib/rich-text-editor.js.map +1 -1
  315. package/dist/lib/root-layout.cjs +158 -1
  316. package/dist/lib/root-layout.cjs.map +1 -1
  317. package/dist/lib/root-layout.js +33 -31
  318. package/dist/lib/root-layout.js.map +1 -1
  319. package/dist/lib/scroller.cjs +1090 -1
  320. package/dist/lib/scroller.cjs.map +1 -1
  321. package/dist/lib/scroller.js +668 -345
  322. package/dist/lib/scroller.js.map +1 -1
  323. package/dist/lib/select-menu.cjs +312 -1
  324. package/dist/lib/select-menu.cjs.map +1 -1
  325. package/dist/lib/select-menu.js +124 -79
  326. package/dist/lib/select-menu.js.map +1 -1
  327. package/dist/lib/settings-menu-button.cjs +77 -1
  328. package/dist/lib/settings-menu-button.cjs.map +1 -1
  329. package/dist/lib/settings-menu-button.js +31 -30
  330. package/dist/lib/settings-menu-button.js.map +1 -1
  331. package/dist/lib/skeleton.cjs +635 -1
  332. package/dist/lib/skeleton.cjs.map +1 -1
  333. package/dist/lib/skeleton.js +189 -152
  334. package/dist/lib/skeleton.js.map +1 -1
  335. package/dist/lib/stack.cjs +123 -1
  336. package/dist/lib/stack.cjs.map +1 -1
  337. package/dist/lib/stack.js +61 -53
  338. package/dist/lib/stack.js.map +1 -1
  339. package/dist/lib/tabs.cjs +102 -1
  340. package/dist/lib/tabs.cjs.map +1 -1
  341. package/dist/lib/tabs.js +47 -41
  342. package/dist/lib/tabs.js.map +1 -1
  343. package/dist/lib/time-pill.cjs +41 -1
  344. package/dist/lib/time-pill.cjs.map +1 -1
  345. package/dist/lib/time-pill.js +18 -14
  346. package/dist/lib/time-pill.js.map +1 -1
  347. package/dist/lib/toast.cjs +281 -1
  348. package/dist/lib/toast.cjs.map +1 -1
  349. package/dist/lib/toast.js +96 -74
  350. package/dist/lib/toast.js.map +1 -1
  351. package/dist/lib/toggle.cjs +192 -1
  352. package/dist/lib/toggle.cjs.map +1 -1
  353. package/dist/lib/toggle.js +60 -49
  354. package/dist/lib/toggle.js.map +1 -1
  355. package/dist/lib/tooltip-directive.cjs +84 -1
  356. package/dist/lib/tooltip-directive.cjs.map +1 -1
  357. package/dist/lib/tooltip-directive.js +56 -42
  358. package/dist/lib/tooltip-directive.js.map +1 -1
  359. package/dist/lib/tooltip.cjs +460 -1
  360. package/dist/lib/tooltip.cjs.map +1 -1
  361. package/dist/lib/tooltip.js +162 -103
  362. package/dist/lib/tooltip.js.map +1 -1
  363. package/dist/lib/top-banner-info.cjs +71 -1
  364. package/dist/lib/top-banner-info.cjs.map +1 -1
  365. package/dist/lib/top-banner-info.js +27 -22
  366. package/dist/lib/top-banner-info.js.map +1 -1
  367. package/dist/lib/unread-pill.cjs +73 -1
  368. package/dist/lib/unread-pill.cjs.map +1 -1
  369. package/dist/lib/unread-pill.js +28 -25
  370. package/dist/lib/unread-pill.js.map +1 -1
  371. package/dist/lib/validation-messages.cjs +89 -1
  372. package/dist/lib/validation-messages.cjs.map +1 -1
  373. package/dist/lib/validation-messages.js +41 -36
  374. package/dist/lib/validation-messages.js.map +1 -1
  375. package/dist/style.css +1257 -1
  376. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
  377. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
  378. package/package.json +30 -29
  379. package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
  380. package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
  381. package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
  382. package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
  383. package/dist/chunks/dropdown-UO3UJalk.js +0 -2
  384. package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
  385. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
  386. package/dist/chunks/dropdown_constants-KHFvVI2L.js +0 -2
  387. package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
  388. package/dist/chunks/icon_constants-2S_OSQ1t.js +0 -2
  389. package/dist/chunks/index-6tYeqbgP.js +0 -3
  390. package/dist/chunks/index-IBtQ5jRJ.js +0 -2
  391. package/dist/chunks/index-IBtQ5jRJ.js.map +0 -1
  392. package/dist/chunks/index-b4iXYvId.js +0 -399
  393. package/dist/chunks/index-mRmwpCBG.js +0 -256
  394. package/dist/chunks/index-mRmwpCBG.js.map +0 -1
  395. package/dist/chunks/input-0Uksk4DP.js +0 -2
  396. package/dist/chunks/input_group-AS760Cp7.js +0 -2
  397. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
  398. package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
  399. package/dist/chunks/link_constants-Kn6kP4i1.js +0 -2
  400. package/dist/chunks/link_constants-vIUB92L4.js +0 -16
  401. package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
  402. package/dist/chunks/list_item_constants-Tsz5CO1m.js +0 -2
  403. package/dist/chunks/modal-VuMFkZFH.js +0 -82
  404. package/dist/chunks/modal-qEzlo0Sj.js +0 -2
  405. package/dist/chunks/notice_action-jO199emq.js +0 -2
  406. package/dist/chunks/notice_action-tJfD5Qw1.js +0 -209
  407. package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
  408. package/dist/chunks/notice_constants-mC6al2Dm.js +0 -2
  409. package/dist/chunks/popover_constants-hOEhklvr.js +0 -2
  410. package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
  411. package/dist/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
  412. package/dist/chunks/stack_constants-m9Ickqw0.js +0 -2
  413. package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
  414. package/dist/chunks/tab-GQZFMq83.js +0 -367
  415. package/dist/chunks/tab-at7WWglk.js +0 -2
  416. package/dist/lib/constants.cjs +0 -2
  417. package/dist/lib/dates.cjs +0 -2
  418. package/dist/lib/dates.js +0 -57
  419. package/dist/lib/mixins.cjs +0 -2
  420. package/dist/lib/mixins.js +0 -17
  421. package/dist/lib/utils.cjs +0 -2
  422. package/dist/lib/utils.js +0 -171
  423. package/dist/lib/validators.cjs +0 -2
  424. package/dist/lib/validators.js +0 -12
  425. /package/dist/{lib → common}/mixins.js.map +0 -0
@@ -1,2 +1,461 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../chunks/popover_constants-hOEhklvr.js"),l=require("./utils.cjs"),o=require("vue"),u=require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js"),d=require("./lazy-show.cjs");require("tippy.js");require("./constants.cjs");const p={name:"DtTooltip",components:{DtLazyShow:d.DtLazyShow},props:{id:{type:String,default(){return l.getUniqueString()}},fallbackPlacements:{type:Array,default:()=>["auto"]},inverted:{type:Boolean,default:!1},offset:{type:Array,default:()=>[0,-4]},placement:{type:String,default:"top",validator(e){return i.T.includes(e)}},sticky:{type:[Boolean,String],default:!1,validator:e=>i.j.includes(e)},appendTo:{type:[HTMLElement,String],default:"body",validator:e=>i.e.includes(e)||e instanceof HTMLElement},contentClass:{type:[String,Object,Array],default:""},message:{type:String,default:""},enabled:{type:Boolean,default:!0},show:{type:Boolean,default:null},transition:{type:String,default:"fade"},contentAppear:{type:Boolean,default:!1},delay:{type:Boolean,default:!0},externalAnchor:{type:String,default:null}},emits:["shown","update:show"],data(){return{TOOLTIP_KIND_MODIFIERS:i.i,hasSlotContent:l.hasSlotContent,tip:null,inTimer:null,isShown:!1,currentPlacement:this.placement,isTouchDevice:!1}},computed:{isVisible(){var a,n;const e=!!((a=this.message)!=null&&a.trim()),t=!!((n=this.$slots)!=null&&n.default),r=!this.isTouchDevice;return this.isShown&&this.enabled&&(e||t)&&r},tooltipListeners(){return{"after-leave":()=>{this.onLeaveTransitionComplete()},"after-enter":()=>{this.onEnterTransitionComplete()}}},tippyProps(){return{offset:this.offset,interactive:!1,trigger:"manual",placement:this.placement,sticky:this.sticky,popperOptions:i.l({fallbackPlacements:this.fallbackPlacements,hasHideModifierEnabled:!0,onChangePlacement:this.onChangePlacement})}},anchor(){return this.externalAnchor?document.body.querySelector(this.externalAnchor):i.m(this.$refs.anchor)}},watch:{tippyProps:{handler:"setProps",deep:!0},show:{handler:function(e){e!==null&&(this.isShown=e)},immediate:!0},isShown(e){e?(this.setProps(),this.tip.show()):this.tip.hide()},sticky(e){this.tip.setProps({sticky:e})}},mounted(){!this.enabled&&this.show!=null&&(console.warn("Tooltip: You cannot use both the enabled and show props at the same time."),console.warn("The show prop will be ignored.")),this.externalAnchor&&this.addExternalAnchorEventListeners(),this.tip=i.n(this.anchor,this.initOptions()),this.isShown&&this.tip.show()},beforeUnmount(){var e;this.externalAnchor&&this.removeExternalAnchorEventListeners(),this.tip&&((e=this.tip)==null||e.destroy())},methods:{calculateAnchorZindex(){return this.$el.getRootNode().querySelector('.d-modal[aria-hidden="false"], .d-modal--transparent[aria-hidden="false"]')||this.$el.closest(".d-zi-drawer")?651:400},hasVisibleFocus(){return this.anchor.matches(":focus-visible")},onEnterAnchor(e){this.isTouchDevice&&!e.relatedTarget||(this.delay?this.inTimer=setTimeout((function(t){this.triggerShow(t)}).bind(this,e),i.h):this.triggerShow(e),this.isTouchDevice=!1)},triggerShow(e){e.type==="focusin"?this.show===null&&this.hasVisibleFocus()&&(this.isShown=!0):this.show===null&&(this.isShown=!0)},onLeaveAnchor(e){e.type==="keydown"&&e.code!=="Escape"||(clearTimeout(this.inTimer),this.triggerHide())},triggerHide(){this.show===null&&(this.isShown=!1)},onChangePlacement(e){this.currentPlacement=e},onLeaveTransitionComplete(){var e;(e=this.tip)==null||e.unmount(),this.$emit("shown",!1),this.show!==null&&this.$emit("update:show",!1)},onEnterTransitionComplete(){this.$emit("shown",!0),this.show!==null&&this.$emit("update:show",!0)},setProps(){var e,t;this.tip&&this.tip.setProps&&this.tip.setProps({...this.tippyProps,zIndex:this.calculateAnchorZindex(),appendTo:this.appendTo==="body"?(t=(e=this.anchor)==null?void 0:e.getRootNode())==null?void 0:t.querySelector("body"):this.appendTo})},onMount(){this.setProps()},initOptions(){return{contentElement:this.$refs.content.$el,allowHTML:!0,zIndex:this.calculateAnchorZindex(),onMount:this.onMount,...this.tippyProps}},addExternalAnchorEventListeners(){["focusin","mouseenter"].forEach(e=>{this.anchor.addEventListener(e,t=>this.onEnterAnchor(t))}),["focusout","mouseleave","keydown"].forEach(e=>{this.anchor.addEventListener(e,t=>this.onLeaveAnchor(t))})},removeExternalAnchorEventListeners(){["focusin","mouseenter"].forEach(e=>{this.anchor.removeEventListener(e,t=>this.onEnterAnchor(t))}),["focusout","mouseleave","keydown"].forEach(e=>{this.anchor.removeEventListener(e,t=>this.onLeaveAnchor(t))})},onTouchStart(){this.isTouchDevice=!0}}},f={"data-qa":"dt-tooltip-container"};function m(e,t,r,h,a,n){const c=o.resolveComponent("dt-lazy-show");return o.openBlock(),o.createElementBlock("div",f,[r.externalAnchor?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("span",{key:0,ref:"anchor","data-qa":"dt-tooltip-anchor",onFocusin:t[0]||(t[0]=(...s)=>n.onEnterAnchor&&n.onEnterAnchor(...s)),onFocusout:t[1]||(t[1]=(...s)=>n.onLeaveAnchor&&n.onLeaveAnchor(...s)),onMouseenter:t[2]||(t[2]=(...s)=>n.onEnterAnchor&&n.onEnterAnchor(...s)),onMouseleave:t[3]||(t[3]=(...s)=>n.onLeaveAnchor&&n.onLeaveAnchor(...s)),onKeydown:t[4]||(t[4]=o.withKeys((...s)=>n.onLeaveAnchor&&n.onLeaveAnchor(...s),["esc"])),onTouchstart:t[5]||(t[5]=(...s)=>n.onTouchStart&&n.onTouchStart(...s))},[o.renderSlot(e.$slots,"anchor")],544)),o.createVNode(c,o.mergeProps({id:r.id,ref:"content",show:n.isVisible,role:"tooltip","aria-hidden":"false","data-qa":"dt-tooltip",appear:r.contentAppear,transition:r.transition,class:["d-tooltip",`d-tooltip__arrow-tippy--${a.currentPlacement}`,{[a.TOOLTIP_KIND_MODIFIERS.inverted]:r.inverted},r.contentClass]},o.toHandlers(n.tooltipListeners)),{default:o.withCtx(()=>[o.renderSlot(e.$slots,"default",{},()=>[o.createTextVNode(o.toDisplayString(r.message),1)])]),_:3},16,["id","show","appear","transition","class"])])}const y=u._(p,[["render",m]]);exports.TOOLTIP_DELAY_MS=i.h;exports.TOOLTIP_DIRECTIONS=i.T;exports.TOOLTIP_HIDE_ON_CLICK_VARIANTS=i.k;exports.TOOLTIP_KIND_MODIFIERS=i.i;exports.TOOLTIP_STICKY_VALUES=i.j;exports.DtTooltip=y;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const popover_constants = require("../chunks/popover_constants-JwBF9h1Z.js");
4
+ const common_utils = require("../common/utils.cjs");
5
+ const vue = require("vue");
6
+ const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
7
+ const lib_lazyShow = require("./lazy-show.cjs");
8
+ require("tippy.js");
9
+ require("../common/constants.cjs");
10
+ const _sfc_main = {
11
+ name: "DtTooltip",
12
+ components: {
13
+ DtLazyShow: lib_lazyShow.DtLazyShow
14
+ },
15
+ props: {
16
+ /**
17
+ * The id of the tooltip
18
+ */
19
+ id: {
20
+ type: String,
21
+ default() {
22
+ return common_utils.getUniqueString();
23
+ }
24
+ },
25
+ /**
26
+ * If the popover does not fit in the direction described by "placement",
27
+ * it will attempt to change its direction to the "fallbackPlacements"
28
+ * if defined, otherwise it will automatically position to a new location
29
+ * as it sees best fit. See
30
+ * <a
31
+ * class="d-link"
32
+ * href="https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements"
33
+ * target="_blank"
34
+ * >
35
+ * Popper.js docs
36
+ * </a>
37
+ * */
38
+ fallbackPlacements: {
39
+ type: Array,
40
+ default: () => ["auto"]
41
+ },
42
+ /**
43
+ * If true, applies inverted styles to the tooltip
44
+ * @values true, false
45
+ */
46
+ inverted: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ /**
51
+ * Displaces the tooltip from its reference element
52
+ * by the specified number of pixels. See
53
+ * <a
54
+ * class="d-link"
55
+ * href="https://atomiks.github.io/tippyjs/v6/all-props/#offset"
56
+ * target="_blank"
57
+ * >
58
+ * Tippy.js docs
59
+ * </a>
60
+ */
61
+ offset: {
62
+ type: Array,
63
+ default: () => [0, -4]
64
+ },
65
+ /**
66
+ * The direction the popover displays relative to the anchor. See
67
+ * <a
68
+ * class="d-link"
69
+ * href="https://atomiks.github.io/tippyjs/v6/all-props/#placement"
70
+ * target="_blank"
71
+ * >
72
+ * Tippy.js docs
73
+ * </a>
74
+ * @values top, top-start, top-end,
75
+ * right, right-start, right-end,
76
+ * left, left-start, left-end,
77
+ * bottom, bottom-start, bottom-end,
78
+ * auto, auto-start, auto-end
79
+ */
80
+ placement: {
81
+ type: String,
82
+ default: "top",
83
+ validator(placement) {
84
+ return popover_constants.TOOLTIP_DIRECTIONS.includes(placement);
85
+ }
86
+ },
87
+ /**
88
+ * If the tooltip sticks to the anchor. This is usually not needed, but can be needed
89
+ * if the reference element's position is animating, or to automatically update the popover
90
+ * position in those cases the DOM layout changes the reference element's position.
91
+ * `true` enables it, `reference` only checks the "reference" rect for changes and `popper` only
92
+ * checks the "popper" rect for changes. See
93
+ * <a
94
+ * class="d-link"
95
+ * href="https://atomiks.github.io/tippyjs/v6/all-props/#sticky"
96
+ * target="_blank"
97
+ * >
98
+ * Tippy.js docs
99
+ * </a>
100
+ * @values true, false, reference, popper
101
+ */
102
+ sticky: {
103
+ type: [Boolean, String],
104
+ default: false,
105
+ validator: (sticky) => {
106
+ return popover_constants.TOOLTIP_STICKY_VALUES.includes(sticky);
107
+ }
108
+ },
109
+ /**
110
+ * Sets the element to which the tooltip is going to append to.
111
+ * 'body' will append to the nearest body (supports shadow DOM).
112
+ * This prop is not reactive, must be set on initial render.
113
+ * @values 'body', 'parent', HTMLElement,
114
+ */
115
+ appendTo: {
116
+ type: [HTMLElement, String],
117
+ default: "body",
118
+ validator: (appendTo) => {
119
+ return popover_constants.POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
120
+ }
121
+ },
122
+ /**
123
+ * Additional css classes for the tooltip content element.
124
+ * Can accept all of String, Object, and Array, i.e. has the
125
+ * same api as Vue's built-in handling of the class attribute.
126
+ */
127
+ contentClass: {
128
+ type: [String, Object, Array],
129
+ default: ""
130
+ },
131
+ /**
132
+ * A provided message for the tooltip content
133
+ */
134
+ message: {
135
+ type: String,
136
+ default: ""
137
+ },
138
+ /**
139
+ * Controls whether hover/focus causes the tooltip to appear.
140
+ * Cannot be combined with the show prop. show value will be ignored.
141
+ * by default this is true, if you override with false, the tooltip will never show up.
142
+ */
143
+ enabled: {
144
+ type: Boolean,
145
+ default: true
146
+ },
147
+ /**
148
+ * Controls whether the tooltip is shown. Leaving this null will have the tooltip trigger on mouseover by default.
149
+ * If you set this value, the default mouseover behavior will be disabled and you can control it as you need.
150
+ * Supports .sync modifier
151
+ * @values null, true, false
152
+ */
153
+ show: {
154
+ type: Boolean,
155
+ default: null
156
+ },
157
+ /**
158
+ * Named transition when the content display is toggled.
159
+ * @see DtLazyShow
160
+ */
161
+ transition: {
162
+ type: String,
163
+ default: "fade"
164
+ },
165
+ /**
166
+ * Whether to apply transition on initial render in the content lazy show component.
167
+ * @values true, false
168
+ */
169
+ contentAppear: {
170
+ type: Boolean,
171
+ default: false
172
+ },
173
+ /**
174
+ * Whether the tooltip will have a delay when being focused or moused over.
175
+ * @values true, false
176
+ */
177
+ delay: {
178
+ type: Boolean,
179
+ default: true
180
+ },
181
+ /**
182
+ * External anchor id to use in those cases the anchor can't be provided via the slot.
183
+ * For instance, using the combobox's input as the anchor for the popover.
184
+ */
185
+ externalAnchor: {
186
+ type: String,
187
+ default: null
188
+ }
189
+ },
190
+ emits: [
191
+ /**
192
+ * Emitted when tooltip is shown or hidden
193
+ *
194
+ * @event shown
195
+ * @type {Boolean}
196
+ */
197
+ "shown",
198
+ /**
199
+ * Sync show value
200
+ *
201
+ * @event update:show
202
+ */
203
+ "update:show"
204
+ ],
205
+ data() {
206
+ return {
207
+ TOOLTIP_KIND_MODIFIERS: popover_constants.TOOLTIP_KIND_MODIFIERS,
208
+ hasSlotContent: common_utils.hasSlotContent,
209
+ tip: null,
210
+ inTimer: null,
211
+ // Internal state for whether the tooltip is shown. Changing the prop
212
+ // will update this.
213
+ isShown: false,
214
+ // this is where the placement currently is, this can be different than
215
+ // the placement prop when there is not enough available room for the tip
216
+ // to display and it uses a fallback placement.
217
+ currentPlacement: this.placement,
218
+ // flag check touch based device
219
+ isTouchDevice: false
220
+ };
221
+ },
222
+ computed: {
223
+ // whether the tooltip is visible or not.
224
+ isVisible() {
225
+ var _a, _b;
226
+ const hasMessage = !!((_a = this.message) == null ? void 0 : _a.trim());
227
+ const hasDefaultSlot = !!((_b = this.$slots) == null ? void 0 : _b.default);
228
+ const isDeviceCompatible = !this.isTouchDevice;
229
+ const shouldBeVisible = this.isShown && this.enabled && (hasMessage || hasDefaultSlot);
230
+ return shouldBeVisible && isDeviceCompatible;
231
+ },
232
+ tooltipListeners() {
233
+ return {
234
+ "after-leave": () => {
235
+ this.onLeaveTransitionComplete();
236
+ },
237
+ "after-enter": () => {
238
+ this.onEnterTransitionComplete();
239
+ }
240
+ };
241
+ },
242
+ tippyProps() {
243
+ return {
244
+ offset: this.offset,
245
+ interactive: false,
246
+ trigger: "manual",
247
+ placement: this.placement,
248
+ sticky: this.sticky,
249
+ popperOptions: popover_constants.getPopperOptions({
250
+ fallbackPlacements: this.fallbackPlacements,
251
+ hasHideModifierEnabled: true,
252
+ onChangePlacement: this.onChangePlacement
253
+ })
254
+ };
255
+ },
256
+ anchor() {
257
+ return this.externalAnchor ? document.body.querySelector(this.externalAnchor) : popover_constants.getAnchor(this.$refs.anchor);
258
+ }
259
+ },
260
+ watch: {
261
+ tippyProps: {
262
+ handler: "setProps",
263
+ deep: true
264
+ },
265
+ show: {
266
+ handler: function(show) {
267
+ if (show !== null) {
268
+ this.isShown = show;
269
+ }
270
+ },
271
+ immediate: true
272
+ },
273
+ isShown(isShown) {
274
+ if (isShown) {
275
+ this.setProps();
276
+ this.tip.show();
277
+ } else {
278
+ this.tip.hide();
279
+ }
280
+ },
281
+ sticky(sticky) {
282
+ this.tip.setProps({
283
+ sticky
284
+ });
285
+ }
286
+ },
287
+ mounted() {
288
+ if (!this.enabled && this.show != null) {
289
+ console.warn("Tooltip: You cannot use both the enabled and show props at the same time.");
290
+ console.warn("The show prop will be ignored.");
291
+ }
292
+ this.externalAnchor && this.addExternalAnchorEventListeners();
293
+ this.tip = popover_constants.createTippy(this.anchor, this.initOptions());
294
+ if (this.isShown) {
295
+ this.tip.show();
296
+ }
297
+ },
298
+ beforeUnmount() {
299
+ var _a;
300
+ this.externalAnchor && this.removeExternalAnchorEventListeners();
301
+ if (this.tip) {
302
+ (_a = this.tip) == null ? void 0 : _a.destroy();
303
+ }
304
+ },
305
+ methods: {
306
+ calculateAnchorZindex() {
307
+ if (this.$el.getRootNode().querySelector('.d-modal[aria-hidden="false"], .d-modal--transparent[aria-hidden="false"]') || // Special case because we don't have any dialtone drawer component yet. Render at 651 when
308
+ // anchor of popover is within a drawer.
309
+ this.$el.closest(".d-zi-drawer")) {
310
+ return 651;
311
+ } else {
312
+ return 400;
313
+ }
314
+ },
315
+ hasVisibleFocus() {
316
+ return this.anchor.matches(":focus-visible");
317
+ },
318
+ onEnterAnchor(e) {
319
+ if (this.isTouchDevice && !e.relatedTarget)
320
+ return;
321
+ if (this.delay) {
322
+ this.inTimer = setTimeout((function(event) {
323
+ this.triggerShow(event);
324
+ }).bind(this, e), popover_constants.TOOLTIP_DELAY_MS);
325
+ } else {
326
+ this.triggerShow(e);
327
+ }
328
+ this.isTouchDevice = false;
329
+ },
330
+ triggerShow(e) {
331
+ if (e.type === "focusin") {
332
+ if (this.show === null && this.hasVisibleFocus()) {
333
+ this.isShown = true;
334
+ }
335
+ } else {
336
+ if (this.show === null)
337
+ this.isShown = true;
338
+ }
339
+ },
340
+ onLeaveAnchor(e) {
341
+ if (e.type === "keydown" && e.code !== "Escape")
342
+ return;
343
+ clearTimeout(this.inTimer);
344
+ this.triggerHide();
345
+ },
346
+ triggerHide() {
347
+ if (this.show === null)
348
+ this.isShown = false;
349
+ },
350
+ onChangePlacement(placement) {
351
+ this.currentPlacement = placement;
352
+ },
353
+ onLeaveTransitionComplete() {
354
+ var _a;
355
+ (_a = this.tip) == null ? void 0 : _a.unmount();
356
+ this.$emit("shown", false);
357
+ if (this.show !== null) {
358
+ this.$emit("update:show", false);
359
+ }
360
+ },
361
+ onEnterTransitionComplete() {
362
+ this.$emit("shown", true);
363
+ if (this.show !== null) {
364
+ this.$emit("update:show", true);
365
+ }
366
+ },
367
+ setProps() {
368
+ var _a, _b;
369
+ if (this.tip && this.tip.setProps) {
370
+ this.tip.setProps({
371
+ ...this.tippyProps,
372
+ zIndex: this.calculateAnchorZindex(),
373
+ appendTo: this.appendTo === "body" ? (_b = (_a = this.anchor) == null ? void 0 : _a.getRootNode()) == null ? void 0 : _b.querySelector("body") : this.appendTo
374
+ });
375
+ }
376
+ },
377
+ onMount() {
378
+ this.setProps();
379
+ },
380
+ initOptions() {
381
+ return {
382
+ contentElement: this.$refs.content.$el,
383
+ allowHTML: true,
384
+ zIndex: this.calculateAnchorZindex(),
385
+ onMount: this.onMount,
386
+ ...this.tippyProps
387
+ };
388
+ },
389
+ addExternalAnchorEventListeners() {
390
+ ["focusin", "mouseenter"].forEach((listener) => {
391
+ this.anchor.addEventListener(listener, (event) => this.onEnterAnchor(event));
392
+ });
393
+ ["focusout", "mouseleave", "keydown"].forEach((listener) => {
394
+ this.anchor.addEventListener(listener, (event) => this.onLeaveAnchor(event));
395
+ });
396
+ },
397
+ removeExternalAnchorEventListeners() {
398
+ ["focusin", "mouseenter"].forEach((listener) => {
399
+ this.anchor.removeEventListener(listener, (event) => this.onEnterAnchor(event));
400
+ });
401
+ ["focusout", "mouseleave", "keydown"].forEach((listener) => {
402
+ this.anchor.removeEventListener(listener, (event) => this.onLeaveAnchor(event));
403
+ });
404
+ },
405
+ onTouchStart() {
406
+ this.isTouchDevice = true;
407
+ }
408
+ }
409
+ };
410
+ const _hoisted_1 = { "data-qa": "dt-tooltip-container" };
411
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
412
+ const _component_dt_lazy_show = vue.resolveComponent("dt-lazy-show");
413
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
414
+ !$props.externalAnchor ? (vue.openBlock(), vue.createElementBlock("span", {
415
+ key: 0,
416
+ ref: "anchor",
417
+ "data-qa": "dt-tooltip-anchor",
418
+ onFocusin: _cache[0] || (_cache[0] = (...args) => $options.onEnterAnchor && $options.onEnterAnchor(...args)),
419
+ onFocusout: _cache[1] || (_cache[1] = (...args) => $options.onLeaveAnchor && $options.onLeaveAnchor(...args)),
420
+ onMouseenter: _cache[2] || (_cache[2] = (...args) => $options.onEnterAnchor && $options.onEnterAnchor(...args)),
421
+ onMouseleave: _cache[3] || (_cache[3] = (...args) => $options.onLeaveAnchor && $options.onLeaveAnchor(...args)),
422
+ onKeydown: _cache[4] || (_cache[4] = vue.withKeys((...args) => $options.onLeaveAnchor && $options.onLeaveAnchor(...args), ["esc"])),
423
+ onTouchstart: _cache[5] || (_cache[5] = (...args) => $options.onTouchStart && $options.onTouchStart(...args))
424
+ }, [
425
+ vue.renderSlot(_ctx.$slots, "anchor")
426
+ ], 544)) : vue.createCommentVNode("", true),
427
+ vue.createVNode(_component_dt_lazy_show, vue.mergeProps({
428
+ id: $props.id,
429
+ ref: "content",
430
+ show: $options.isVisible,
431
+ role: "tooltip",
432
+ "aria-hidden": "false",
433
+ "data-qa": "dt-tooltip",
434
+ appear: $props.contentAppear,
435
+ transition: $props.transition,
436
+ class: [
437
+ "d-tooltip",
438
+ `d-tooltip__arrow-tippy--${$data.currentPlacement}`,
439
+ {
440
+ [$data.TOOLTIP_KIND_MODIFIERS.inverted]: $props.inverted
441
+ },
442
+ $props.contentClass
443
+ ]
444
+ }, vue.toHandlers($options.tooltipListeners)), {
445
+ default: vue.withCtx(() => [
446
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
447
+ vue.createTextVNode(vue.toDisplayString($props.message), 1)
448
+ ])
449
+ ]),
450
+ _: 3
451
+ }, 16, ["id", "show", "appear", "transition", "class"])
452
+ ]);
453
+ }
454
+ const DtTooltip = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
455
+ exports.TOOLTIP_DELAY_MS = popover_constants.TOOLTIP_DELAY_MS;
456
+ exports.TOOLTIP_DIRECTIONS = popover_constants.TOOLTIP_DIRECTIONS;
457
+ exports.TOOLTIP_HIDE_ON_CLICK_VARIANTS = popover_constants.TOOLTIP_HIDE_ON_CLICK_VARIANTS;
458
+ exports.TOOLTIP_KIND_MODIFIERS = popover_constants.TOOLTIP_KIND_MODIFIERS;
459
+ exports.TOOLTIP_STICKY_VALUES = popover_constants.TOOLTIP_STICKY_VALUES;
460
+ exports.DtTooltip = DtTooltip;
2
461
  //# sourceMappingURL=tooltip.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.cjs","sources":["../../components/tooltip/tooltip.vue"],"sourcesContent":["<template>\n <div data-qa=\"dt-tooltip-container\">\n <!-- disabling as the below events are for capturing events from interactive\n elements within the span rather than on the span itself -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <span\n v-if=\"!externalAnchor\"\n ref=\"anchor\"\n data-qa=\"dt-tooltip-anchor\"\n @focusin=\"onEnterAnchor\"\n @focusout=\"onLeaveAnchor\"\n @mouseenter=\"onEnterAnchor\"\n @mouseleave=\"onLeaveAnchor\"\n @keydown.esc=\"onLeaveAnchor\"\n @touchstart=\"onTouchStart\"\n >\n <!-- @slot Slot for the anchor element -->\n <slot\n name=\"anchor\"\n />\n </span>\n <dt-lazy-show\n :id=\"id\"\n ref=\"content\"\n :show=\"isVisible\"\n role=\"tooltip\"\n aria-hidden=\"false\"\n data-qa=\"dt-tooltip\"\n :appear=\"contentAppear\"\n :transition=\"transition\"\n :class=\"[\n 'd-tooltip',\n `d-tooltip__arrow-tippy--${currentPlacement}`,\n {\n [ TOOLTIP_KIND_MODIFIERS.inverted ]: inverted,\n },\n contentClass,\n ]\"\n v-on=\"tooltipListeners\"\n >\n <!-- In case when transitionend event doesn't work correct (for ex. tooltip component with custom trigger) -->\n <!-- after-leave event can be used instead of transitionend -->\n <!-- @slot Slot for the content, defaults to message prop -->\n <slot>\n {{ message }}\n </slot>\n </dt-lazy-show>\n </div>\n</template>\n\n<script>\nimport {\n TOOLTIP_KIND_MODIFIERS,\n TOOLTIP_DIRECTIONS,\n TOOLTIP_STICKY_VALUES,\n TOOLTIP_DELAY_MS,\n} from './tooltip_constants.js';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '../popover/popover_constants';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport {\n createTippy,\n getAnchor,\n getPopperOptions,\n} from '@/components/popover/tippy_utils';\n\n/**\n * A tooltip is a floating label that briefly explains an action, function, or an element.\n * Its content is exclusively text and shouldn't be vital information for users.\n * If richer media is desired, consider using a popover instead.\n * @see https://dialtone.dialpad.com/components/tooltip.html\n */\nexport default {\n name: 'DtTooltip',\n components: {\n DtLazyShow,\n },\n\n props: {\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * If the popover does not fit in the direction described by \"placement\",\n * it will attempt to change its direction to the \"fallbackPlacements\"\n * if defined, otherwise it will automatically position to a new location\n * as it sees best fit. See\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * */\n fallbackPlacements: {\n type: Array,\n default: () => ['auto'],\n },\n\n /**\n * If true, applies inverted styles to the tooltip\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the tooltip from its reference element\n * by the specified number of pixels. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n */\n offset: {\n type: Array,\n default: () => [0, -4],\n },\n\n /**\n * The direction the popover displays relative to the anchor. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n */\n placement: {\n type: String,\n default: 'top',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * If the tooltip sticks to the anchor. This is usually not needed, but can be needed\n * if the reference element's position is animating, or to automatically update the popover\n * position in those cases the DOM layout changes the reference element's position.\n * `true` enables it, `reference` only checks the \"reference\" rect for changes and `popper` only\n * checks the \"popper\" rect for changes. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#sticky\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values true, false, reference, popper\n */\n sticky: {\n type: [Boolean, String],\n default: false,\n validator: (sticky) => {\n return TOOLTIP_STICKY_VALUES.includes(sticky);\n },\n },\n\n /**\n * Sets the element to which the tooltip is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * This prop is not reactive, must be set on initial render.\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Additional css classes for the tooltip content element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * A provided message for the tooltip content\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Controls whether hover/focus causes the tooltip to appear.\n * Cannot be combined with the show prop. show value will be ignored.\n * by default this is true, if you override with false, the tooltip will never show up.\n */\n enabled: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Controls whether the tooltip is shown. Leaving this null will have the tooltip trigger on mouseover by default.\n * If you set this value, the default mouseover behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n\n /**\n * Whether to apply transition on initial render in the content lazy show component.\n * @values true, false\n */\n contentAppear: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the tooltip will have a delay when being focused or moused over.\n * @values true, false\n */\n delay: {\n type: Boolean,\n default: true,\n },\n\n /**\n * External anchor id to use in those cases the anchor can't be provided via the slot.\n * For instance, using the combobox's input as the anchor for the popover.\n */\n externalAnchor: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Emitted when tooltip is shown or hidden\n *\n * @event shown\n * @type {Boolean}\n */\n 'shown',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n TOOLTIP_KIND_MODIFIERS,\n hasSlotContent,\n tip: null,\n\n inTimer: null,\n\n // Internal state for whether the tooltip is shown. Changing the prop\n // will update this.\n isShown: false,\n\n // this is where the placement currently is, this can be different than\n // the placement prop when there is not enough available room for the tip\n // to display and it uses a fallback placement.\n currentPlacement: this.placement,\n\n // flag check touch based device\n isTouchDevice: false,\n };\n },\n\n computed: {\n // whether the tooltip is visible or not.\n isVisible () {\n const hasMessage = !!this.message?.trim();\n const hasDefaultSlot = !!this.$slots?.default;\n const isDeviceCompatible = !this.isTouchDevice;\n\n const shouldBeVisible = this.isShown && this.enabled && (hasMessage || hasDefaultSlot);\n\n return shouldBeVisible && isDeviceCompatible;\n },\n\n tooltipListeners () {\n return {\n 'after-leave': () => {\n this.onLeaveTransitionComplete();\n },\n\n 'after-enter': () => {\n this.onEnterTransitionComplete();\n },\n };\n },\n\n tippyProps () {\n return {\n offset: this.offset,\n interactive: false,\n trigger: 'manual',\n placement: this.placement,\n sticky: this.sticky,\n popperOptions: getPopperOptions({\n fallbackPlacements: this.fallbackPlacements,\n hasHideModifierEnabled: true,\n onChangePlacement: this.onChangePlacement,\n }),\n };\n },\n\n anchor () {\n return this.externalAnchor ? document.body.querySelector(this.externalAnchor) : getAnchor(this.$refs.anchor);\n },\n },\n\n watch: {\n\n tippyProps: {\n handler: 'setProps',\n deep: true,\n },\n\n show: {\n handler: function (show) {\n if (show !== null) {\n this.isShown = show;\n }\n },\n\n immediate: true,\n },\n\n isShown (isShown) {\n if (isShown) {\n this.setProps();\n this.tip.show();\n } else {\n this.tip.hide();\n }\n },\n\n sticky (sticky) {\n this.tip.setProps({\n sticky,\n });\n },\n },\n\n mounted () {\n if (!this.enabled && this.show != null) {\n console.warn('Tooltip: You cannot use both the enabled and show props at the same time.');\n console.warn('The show prop will be ignored.');\n }\n\n this.externalAnchor && this.addExternalAnchorEventListeners();\n this.tip = createTippy(this.anchor, this.initOptions());\n\n // immediate watcher fires before mounted, so have this here in case\n // show prop was initially set to true.\n if (this.isShown) {\n this.tip.show();\n }\n },\n\n beforeUnmount () {\n this.externalAnchor && this.removeExternalAnchorEventListeners();\n\n if (this.tip) {\n this.tip?.destroy();\n }\n },\n\n methods: {\n calculateAnchorZindex () {\n // if a modal is currently active render at modal-element z-index, otherwise at tooltip z-index\n if (this.$el.getRootNode()\n .querySelector('.d-modal[aria-hidden=\"false\"], .d-modal--transparent[aria-hidden=\"false\"]') ||\n // Special case because we don't have any dialtone drawer component yet. Render at 651 when\n // anchor of popover is within a drawer.\n this.$el.closest('.d-zi-drawer')) {\n return 651;\n } else {\n return 400;\n }\n },\n\n hasVisibleFocus () {\n return this.anchor.matches(':focus-visible');\n },\n\n onEnterAnchor (e) {\n // Note: This is to stop the call of mouseenter event when touchstart event is triggered,\n // as when triggered by click or touch, the relatedTarget property of MouseEvent is null\n if (this.isTouchDevice && !e.relatedTarget) return;\n\n if (this.delay) {\n this.inTimer = setTimeout(function (event) {\n this.triggerShow(event);\n }.bind(this, e), TOOLTIP_DELAY_MS);\n } else {\n this.triggerShow(e);\n }\n\n // since this method will be trigger by mouse event, updating the flag is non-touch device\n this.isTouchDevice = false;\n },\n\n triggerShow (e) {\n if (e.type === 'focusin') {\n // only show tooltips on visible focus when triggered via focus.\n // when the user is using the mouse they only want tooltips to display\n // on mouseover.\n //\n // Example: anchor of a popover is a button with tooltip.\n // closing it with the mouse would trigger the tooltip to display as\n // the anchor is focused on close. Not what we want.\n if (this.show === null && this.hasVisibleFocus()) {\n this.isShown = true;\n }\n } else {\n if (this.show === null) this.isShown = true;\n }\n },\n\n onLeaveAnchor (e) {\n if (e.type === 'keydown' && e.code !== 'Escape') return;\n\n clearTimeout(this.inTimer);\n this.triggerHide();\n },\n\n triggerHide () {\n if (this.show === null) this.isShown = false;\n },\n\n onChangePlacement (placement) {\n this.currentPlacement = placement;\n },\n\n onLeaveTransitionComplete () {\n this.tip?.unmount();\n this.$emit('shown', false);\n if (this.show !== null) {\n this.$emit('update:show', false);\n }\n },\n\n onEnterTransitionComplete () {\n this.$emit('shown', true);\n if (this.show !== null) {\n this.$emit('update:show', true);\n }\n },\n\n setProps () {\n if (this.tip && this.tip.setProps) {\n this.tip.setProps({\n ...this.tippyProps,\n zIndex: this.calculateAnchorZindex(),\n appendTo: this.appendTo === 'body' ? this.anchor?.getRootNode()?.querySelector('body') : this.appendTo,\n });\n }\n },\n\n onMount () {\n this.setProps();\n },\n\n initOptions () {\n return {\n contentElement: this.$refs.content.$el,\n allowHTML: true,\n zIndex: this.calculateAnchorZindex(),\n onMount: this.onMount,\n ...this.tippyProps,\n };\n },\n\n addExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n\n removeExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n\n onTouchStart () {\n this.isTouchDevice = true;\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.tippy-box[data-popper-reference-hidden] {\n .d-tooltip {\n visibility: hidden;\n pointer-events: none;\n }\n}\n</style>\n"],"names":["_sfc_main","DtLazyShow","getUniqueString","placement","TOOLTIP_DIRECTIONS","sticky","TOOLTIP_STICKY_VALUES","appendTo","POPOVER_APPEND_TO_VALUES","TOOLTIP_KIND_MODIFIERS","hasSlotContent","hasMessage","_a","hasDefaultSlot","_b","isDeviceCompatible","getPopperOptions","getAnchor","show","isShown","createTippy","event","TOOLTIP_DELAY_MS","listener","_hoisted_1","_openBlock","_createElementBlock","$props","$options","args","_renderSlot","_ctx","_createVNode","_component_dt_lazy_show","_mergeProps","$data","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.cjs","sources":["../../components/tooltip/tooltip.vue"],"sourcesContent":["<template>\n <div data-qa=\"dt-tooltip-container\">\n <!-- disabling as the below events are for capturing events from interactive\n elements within the span rather than on the span itself -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <span\n v-if=\"!externalAnchor\"\n ref=\"anchor\"\n data-qa=\"dt-tooltip-anchor\"\n @focusin=\"onEnterAnchor\"\n @focusout=\"onLeaveAnchor\"\n @mouseenter=\"onEnterAnchor\"\n @mouseleave=\"onLeaveAnchor\"\n @keydown.esc=\"onLeaveAnchor\"\n @touchstart=\"onTouchStart\"\n >\n <!-- @slot Slot for the anchor element -->\n <slot\n name=\"anchor\"\n />\n </span>\n <dt-lazy-show\n :id=\"id\"\n ref=\"content\"\n :show=\"isVisible\"\n role=\"tooltip\"\n aria-hidden=\"false\"\n data-qa=\"dt-tooltip\"\n :appear=\"contentAppear\"\n :transition=\"transition\"\n :class=\"[\n 'd-tooltip',\n `d-tooltip__arrow-tippy--${currentPlacement}`,\n {\n [ TOOLTIP_KIND_MODIFIERS.inverted ]: inverted,\n },\n contentClass,\n ]\"\n v-on=\"tooltipListeners\"\n >\n <!-- In case when transitionend event doesn't work correct (for ex. tooltip component with custom trigger) -->\n <!-- after-leave event can be used instead of transitionend -->\n <!-- @slot Slot for the content, defaults to message prop -->\n <slot>\n {{ message }}\n </slot>\n </dt-lazy-show>\n </div>\n</template>\n\n<script>\nimport {\n TOOLTIP_KIND_MODIFIERS,\n TOOLTIP_DIRECTIONS,\n TOOLTIP_STICKY_VALUES,\n TOOLTIP_DELAY_MS,\n} from './tooltip_constants.js';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '../popover/popover_constants';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport {\n createTippy,\n getAnchor,\n getPopperOptions,\n} from '@/components/popover/tippy_utils';\n\n/**\n * A tooltip is a floating label that briefly explains an action, function, or an element.\n * Its content is exclusively text and shouldn't be vital information for users.\n * If richer media is desired, consider using a popover instead.\n * @see https://dialtone.dialpad.com/components/tooltip.html\n */\nexport default {\n name: 'DtTooltip',\n components: {\n DtLazyShow,\n },\n\n props: {\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * If the popover does not fit in the direction described by \"placement\",\n * it will attempt to change its direction to the \"fallbackPlacements\"\n * if defined, otherwise it will automatically position to a new location\n * as it sees best fit. See\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * */\n fallbackPlacements: {\n type: Array,\n default: () => ['auto'],\n },\n\n /**\n * If true, applies inverted styles to the tooltip\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the tooltip from its reference element\n * by the specified number of pixels. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n */\n offset: {\n type: Array,\n default: () => [0, -4],\n },\n\n /**\n * The direction the popover displays relative to the anchor. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n */\n placement: {\n type: String,\n default: 'top',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * If the tooltip sticks to the anchor. This is usually not needed, but can be needed\n * if the reference element's position is animating, or to automatically update the popover\n * position in those cases the DOM layout changes the reference element's position.\n * `true` enables it, `reference` only checks the \"reference\" rect for changes and `popper` only\n * checks the \"popper\" rect for changes. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#sticky\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values true, false, reference, popper\n */\n sticky: {\n type: [Boolean, String],\n default: false,\n validator: (sticky) => {\n return TOOLTIP_STICKY_VALUES.includes(sticky);\n },\n },\n\n /**\n * Sets the element to which the tooltip is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * This prop is not reactive, must be set on initial render.\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Additional css classes for the tooltip content element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * A provided message for the tooltip content\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Controls whether hover/focus causes the tooltip to appear.\n * Cannot be combined with the show prop. show value will be ignored.\n * by default this is true, if you override with false, the tooltip will never show up.\n */\n enabled: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Controls whether the tooltip is shown. Leaving this null will have the tooltip trigger on mouseover by default.\n * If you set this value, the default mouseover behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n\n /**\n * Whether to apply transition on initial render in the content lazy show component.\n * @values true, false\n */\n contentAppear: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the tooltip will have a delay when being focused or moused over.\n * @values true, false\n */\n delay: {\n type: Boolean,\n default: true,\n },\n\n /**\n * External anchor id to use in those cases the anchor can't be provided via the slot.\n * For instance, using the combobox's input as the anchor for the popover.\n */\n externalAnchor: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Emitted when tooltip is shown or hidden\n *\n * @event shown\n * @type {Boolean}\n */\n 'shown',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n TOOLTIP_KIND_MODIFIERS,\n hasSlotContent,\n tip: null,\n\n inTimer: null,\n\n // Internal state for whether the tooltip is shown. Changing the prop\n // will update this.\n isShown: false,\n\n // this is where the placement currently is, this can be different than\n // the placement prop when there is not enough available room for the tip\n // to display and it uses a fallback placement.\n currentPlacement: this.placement,\n\n // flag check touch based device\n isTouchDevice: false,\n };\n },\n\n computed: {\n // whether the tooltip is visible or not.\n isVisible () {\n const hasMessage = !!this.message?.trim();\n const hasDefaultSlot = !!this.$slots?.default;\n const isDeviceCompatible = !this.isTouchDevice;\n\n const shouldBeVisible = this.isShown && this.enabled && (hasMessage || hasDefaultSlot);\n\n return shouldBeVisible && isDeviceCompatible;\n },\n\n tooltipListeners () {\n return {\n 'after-leave': () => {\n this.onLeaveTransitionComplete();\n },\n\n 'after-enter': () => {\n this.onEnterTransitionComplete();\n },\n };\n },\n\n tippyProps () {\n return {\n offset: this.offset,\n interactive: false,\n trigger: 'manual',\n placement: this.placement,\n sticky: this.sticky,\n popperOptions: getPopperOptions({\n fallbackPlacements: this.fallbackPlacements,\n hasHideModifierEnabled: true,\n onChangePlacement: this.onChangePlacement,\n }),\n };\n },\n\n anchor () {\n return this.externalAnchor ? document.body.querySelector(this.externalAnchor) : getAnchor(this.$refs.anchor);\n },\n },\n\n watch: {\n\n tippyProps: {\n handler: 'setProps',\n deep: true,\n },\n\n show: {\n handler: function (show) {\n if (show !== null) {\n this.isShown = show;\n }\n },\n\n immediate: true,\n },\n\n isShown (isShown) {\n if (isShown) {\n this.setProps();\n this.tip.show();\n } else {\n this.tip.hide();\n }\n },\n\n sticky (sticky) {\n this.tip.setProps({\n sticky,\n });\n },\n },\n\n mounted () {\n if (!this.enabled && this.show != null) {\n console.warn('Tooltip: You cannot use both the enabled and show props at the same time.');\n console.warn('The show prop will be ignored.');\n }\n\n this.externalAnchor && this.addExternalAnchorEventListeners();\n this.tip = createTippy(this.anchor, this.initOptions());\n\n // immediate watcher fires before mounted, so have this here in case\n // show prop was initially set to true.\n if (this.isShown) {\n this.tip.show();\n }\n },\n\n beforeUnmount () {\n this.externalAnchor && this.removeExternalAnchorEventListeners();\n\n if (this.tip) {\n this.tip?.destroy();\n }\n },\n\n methods: {\n calculateAnchorZindex () {\n // if a modal is currently active render at modal-element z-index, otherwise at tooltip z-index\n if (this.$el.getRootNode()\n .querySelector('.d-modal[aria-hidden=\"false\"], .d-modal--transparent[aria-hidden=\"false\"]') ||\n // Special case because we don't have any dialtone drawer component yet. Render at 651 when\n // anchor of popover is within a drawer.\n this.$el.closest('.d-zi-drawer')) {\n return 651;\n } else {\n return 400;\n }\n },\n\n hasVisibleFocus () {\n return this.anchor.matches(':focus-visible');\n },\n\n onEnterAnchor (e) {\n // Note: This is to stop the call of mouseenter event when touchstart event is triggered,\n // as when triggered by click or touch, the relatedTarget property of MouseEvent is null\n if (this.isTouchDevice && !e.relatedTarget) return;\n\n if (this.delay) {\n this.inTimer = setTimeout(function (event) {\n this.triggerShow(event);\n }.bind(this, e), TOOLTIP_DELAY_MS);\n } else {\n this.triggerShow(e);\n }\n\n // since this method will be trigger by mouse event, updating the flag is non-touch device\n this.isTouchDevice = false;\n },\n\n triggerShow (e) {\n if (e.type === 'focusin') {\n // only show tooltips on visible focus when triggered via focus.\n // when the user is using the mouse they only want tooltips to display\n // on mouseover.\n //\n // Example: anchor of a popover is a button with tooltip.\n // closing it with the mouse would trigger the tooltip to display as\n // the anchor is focused on close. Not what we want.\n if (this.show === null && this.hasVisibleFocus()) {\n this.isShown = true;\n }\n } else {\n if (this.show === null) this.isShown = true;\n }\n },\n\n onLeaveAnchor (e) {\n if (e.type === 'keydown' && e.code !== 'Escape') return;\n\n clearTimeout(this.inTimer);\n this.triggerHide();\n },\n\n triggerHide () {\n if (this.show === null) this.isShown = false;\n },\n\n onChangePlacement (placement) {\n this.currentPlacement = placement;\n },\n\n onLeaveTransitionComplete () {\n this.tip?.unmount();\n this.$emit('shown', false);\n if (this.show !== null) {\n this.$emit('update:show', false);\n }\n },\n\n onEnterTransitionComplete () {\n this.$emit('shown', true);\n if (this.show !== null) {\n this.$emit('update:show', true);\n }\n },\n\n setProps () {\n if (this.tip && this.tip.setProps) {\n this.tip.setProps({\n ...this.tippyProps,\n zIndex: this.calculateAnchorZindex(),\n appendTo: this.appendTo === 'body' ? this.anchor?.getRootNode()?.querySelector('body') : this.appendTo,\n });\n }\n },\n\n onMount () {\n this.setProps();\n },\n\n initOptions () {\n return {\n contentElement: this.$refs.content.$el,\n allowHTML: true,\n zIndex: this.calculateAnchorZindex(),\n onMount: this.onMount,\n ...this.tippyProps,\n };\n },\n\n addExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n\n removeExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n\n onTouchStart () {\n this.isTouchDevice = true;\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.tippy-box[data-popper-reference-hidden] {\n .d-tooltip {\n visibility: hidden;\n pointer-events: none;\n }\n}\n</style>\n"],"names":["DtLazyShow","getUniqueString","TOOLTIP_DIRECTIONS","TOOLTIP_STICKY_VALUES","POPOVER_APPEND_TO_VALUES","TOOLTIP_KIND_MODIFIERS","hasSlotContent","getPopperOptions","getAnchor","createTippy","TOOLTIP_DELAY_MS","_openBlock","_createElementBlock","_renderSlot","_createVNode","_mergeProps","_toHandlers"],"mappings":"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"}