@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.
- package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
- package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
- package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
- package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
- package/dist/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
- package/dist/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
- package/dist/chunks/dropdown-w8Do29L5.js +442 -0
- package/dist/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
- package/dist/chunks/dropdown_constants-2pGCXy7m.js +8 -0
- package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
- package/dist/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
- package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
- package/dist/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
- package/dist/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
- package/dist/chunks/icon_constants-QYpmdE0R.js +16 -0
- package/dist/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
- package/dist/chunks/index-4qgKeErp.js +446 -0
- package/dist/chunks/{index-b4iXYvId.js.map → index-4qgKeErp.js.map} +1 -1
- package/dist/chunks/index-b_MgDylR.js +447 -0
- package/dist/chunks/{index-6tYeqbgP.js.map → index-b_MgDylR.js.map} +1 -1
- package/dist/chunks/{input-4UQWegUk.js → input-NmYDD5bn.js} +83 -60
- package/dist/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
- package/dist/chunks/input-ttnte8zB.js +295 -0
- package/dist/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
- package/dist/chunks/input_group-M-D25pOJ.js +152 -0
- package/dist/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
- package/dist/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
- package/dist/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
- package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
- package/dist/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
- package/dist/chunks/{keyboard_list_navigation-F0O8nht0.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
- package/dist/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
- package/dist/chunks/link_constants-nWVlXQBs.js +23 -0
- package/dist/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
- package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
- package/dist/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
- package/dist/chunks/list_item_constants-u1xcN9Dd.js +14 -0
- package/dist/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
- package/dist/chunks/modal-VgxXAQFP.js +105 -0
- package/dist/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
- package/dist/chunks/modal-XOr4kiNZ.js +106 -0
- package/dist/chunks/{modal-VuMFkZFH.js.map → modal-XOr4kiNZ.js.map} +1 -1
- package/dist/chunks/notice_action-WTucGhvr.js +222 -0
- package/dist/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
- package/dist/chunks/notice_action-p-ePanW_.js +223 -0
- package/dist/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
- package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
- package/dist/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
- package/dist/chunks/notice_constants-UXo9e3bS.js +6 -0
- package/dist/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
- package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
- package/dist/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-JwBF9h1Z.js.map} +1 -1
- package/dist/chunks/popover_constants-Qkpb0yh2.js +144 -0
- package/dist/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
- package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
- package/dist/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
- package/dist/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
- package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
- package/dist/chunks/stack_constants-HraCekPm.js +15 -0
- package/dist/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
- package/dist/chunks/stack_constants-SMzMWnAQ.js +14 -0
- package/dist/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
- package/dist/chunks/tab-RTDgnD9-.js +391 -0
- package/dist/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
- package/dist/chunks/tab-qc3f42Yp.js +390 -0
- package/dist/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
- package/dist/common/constants.cjs +60 -0
- package/dist/{lib → common}/constants.cjs.map +1 -1
- package/dist/{lib → common}/constants.js +25 -18
- package/dist/{lib → common}/constants.js.map +1 -1
- package/dist/common/dates.cjs +72 -0
- package/dist/{lib → common}/dates.cjs.map +1 -1
- package/dist/common/dates.js +72 -0
- package/dist/{lib → common}/dates.js.map +1 -1
- package/dist/common/emoji.cjs +163 -0
- package/dist/common/emoji.cjs.map +1 -0
- package/dist/common/emoji.js +168 -0
- package/dist/common/emoji.js.map +1 -0
- package/dist/common/mixins.cjs +17 -0
- package/dist/{lib → common}/mixins.cjs.map +1 -1
- package/dist/common/mixins.js +17 -0
- package/dist/common/utils.cjs +243 -0
- package/dist/{lib → common}/utils.cjs.map +1 -1
- package/dist/common/utils.js +243 -0
- package/dist/{lib → common}/utils.js.map +1 -1
- package/dist/common/validators.cjs +23 -0
- package/dist/{lib → common}/validators.cjs.map +1 -1
- package/dist/common/validators.js +23 -0
- package/dist/{lib → common}/validators.js.map +1 -1
- package/dist/dialtone-vue.cjs +373 -1
- package/dist/dialtone-vue.cjs.map +1 -1
- package/dist/dialtone-vue.js +328 -327
- package/dist/dialtone-vue.js.map +1 -1
- package/dist/lib/attachment-carousel.cjs +345 -1
- package/dist/lib/attachment-carousel.cjs.map +1 -1
- package/dist/lib/attachment-carousel.js +126 -108
- package/dist/lib/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar.cjs +447 -1
- package/dist/lib/avatar.cjs.map +1 -1
- package/dist/lib/avatar.js +135 -101
- package/dist/lib/avatar.js.map +1 -1
- package/dist/lib/badge.cjs +206 -1
- package/dist/lib/badge.cjs.map +1 -1
- package/dist/lib/badge.js +64 -48
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/banner.cjs +242 -2
- package/dist/lib/banner.cjs.map +1 -1
- package/dist/lib/banner.js +81 -71
- package/dist/lib/banner.js.map +1 -1
- package/dist/lib/breadcrumbs.cjs +150 -1
- package/dist/lib/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs.js +60 -52
- package/dist/lib/breadcrumbs.js.map +1 -1
- package/dist/lib/button-group.cjs +41 -1
- package/dist/lib/button-group.cjs.map +1 -1
- package/dist/lib/button-group.js +15 -14
- package/dist/lib/button-group.js.map +1 -1
- package/dist/lib/button.cjs +356 -1
- package/dist/lib/button.cjs.map +1 -1
- package/dist/lib/button.js +108 -88
- package/dist/lib/button.js.map +1 -1
- package/dist/lib/callbar-button-with-popover.cjs +322 -1
- package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover.js +101 -83
- package/dist/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbar-button.cjs +200 -1
- package/dist/lib/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button.js +52 -45
- package/dist/lib/callbar-button.js.map +1 -1
- package/dist/lib/callbox.cjs +217 -1
- package/dist/lib/callbox.cjs.map +1 -1
- package/dist/lib/callbox.js +80 -67
- package/dist/lib/callbox.js.map +1 -1
- package/dist/lib/card.cjs +91 -1
- package/dist/lib/card.cjs.map +1 -1
- package/dist/lib/card.js +27 -27
- package/dist/lib/card.js.map +1 -1
- package/dist/lib/checkbox-group.cjs +115 -1
- package/dist/lib/checkbox-group.cjs.map +1 -1
- package/dist/lib/checkbox-group.js +34 -23
- package/dist/lib/checkbox-group.js.map +1 -1
- package/dist/lib/checkbox.cjs +156 -1
- package/dist/lib/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox.js +72 -60
- package/dist/lib/checkbox.js.map +1 -1
- package/dist/lib/chip.cjs +235 -1
- package/dist/lib/chip.cjs.map +1 -1
- package/dist/lib/chip.js +84 -67
- package/dist/lib/chip.js.map +1 -1
- package/dist/lib/codeblock.cjs +23 -2
- package/dist/lib/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock.js +13 -13
- package/dist/lib/codeblock.js.map +1 -1
- package/dist/lib/collapsible.cjs +398 -1
- package/dist/lib/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible.js +123 -100
- package/dist/lib/collapsible.js.map +1 -1
- package/dist/lib/combobox-multi-select.cjs +589 -1
- package/dist/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select.js +270 -177
- package/dist/lib/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover.cjs +452 -1
- package/dist/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover.js +172 -127
- package/dist/lib/combobox-with-popover.js.map +1 -1
- package/dist/lib/combobox.cjs +18 -1
- package/dist/lib/combobox.cjs.map +1 -1
- package/dist/lib/combobox.js +9 -9
- package/dist/lib/contact-info.cjs +205 -1
- package/dist/lib/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info.js +69 -60
- package/dist/lib/contact-info.js.map +1 -1
- package/dist/lib/contact-row.cjs +246 -1
- package/dist/lib/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row.js +67 -63
- package/dist/lib/contact-row.js.map +1 -1
- package/dist/lib/datepicker.cjs +854 -1
- package/dist/lib/datepicker.cjs.map +1 -1
- package/dist/lib/datepicker.js +585 -441
- package/dist/lib/datepicker.js.map +1 -1
- package/dist/lib/description-list.cjs +116 -1
- package/dist/lib/description-list.cjs.map +1 -1
- package/dist/lib/description-list.js +56 -24
- package/dist/lib/description-list.js.map +1 -1
- package/dist/lib/dropdown.cjs +36 -1
- package/dist/lib/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown.js +22 -21
- package/dist/lib/dropdown.js.map +1 -1
- package/dist/lib/editor.cjs +711 -1
- package/dist/lib/editor.cjs.map +1 -1
- package/dist/lib/editor.js +271 -235
- package/dist/lib/editor.js.map +1 -1
- package/dist/lib/emoji-picker.cjs +1277 -1
- package/dist/lib/emoji-picker.cjs.map +1 -1
- package/dist/lib/emoji-picker.js +859 -569
- package/dist/lib/emoji-picker.js.map +1 -1
- package/dist/lib/emoji-row.cjs +128 -1
- package/dist/lib/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row.js +89 -75
- package/dist/lib/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper.cjs +102 -1
- package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper.js +42 -31
- package/dist/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/lib/emoji.cjs +158 -1
- package/dist/lib/emoji.cjs.map +1 -1
- package/dist/lib/emoji.js +153 -6
- package/dist/lib/emoji.js.map +1 -1
- package/dist/lib/feed-item-row.cjs +296 -1
- package/dist/lib/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row.js +119 -100
- package/dist/lib/feed-item-row.js.map +1 -1
- package/dist/lib/feed-pill.cjs +173 -1
- package/dist/lib/feed-pill.cjs.map +1 -1
- package/dist/lib/feed-pill.js +70 -57
- package/dist/lib/feed-pill.js.map +1 -1
- package/dist/lib/general-row.cjs +518 -1
- package/dist/lib/general-row.cjs.map +1 -1
- package/dist/lib/general-row.js +186 -148
- package/dist/lib/general-row.js.map +1 -1
- package/dist/lib/group-row.cjs +116 -1
- package/dist/lib/group-row.cjs.map +1 -1
- package/dist/lib/group-row.js +37 -35
- package/dist/lib/group-row.js.map +1 -1
- package/dist/lib/grouped-chip.cjs +96 -1
- package/dist/lib/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip.js +51 -46
- package/dist/lib/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard.cjs +223 -1
- package/dist/lib/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard.js +115 -80
- package/dist/lib/hovercard.js.map +1 -1
- package/dist/lib/icon.cjs +58 -1
- package/dist/lib/icon.cjs.map +1 -1
- package/dist/lib/icon.js +20 -20
- package/dist/lib/icon.js.map +1 -1
- package/dist/lib/image-viewer.cjs +243 -1
- package/dist/lib/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer.js +104 -80
- package/dist/lib/image-viewer.js.map +1 -1
- package/dist/lib/input-group.cjs +91 -1
- package/dist/lib/input-group.cjs.map +1 -1
- package/dist/lib/input-group.js +41 -39
- package/dist/lib/input-group.js.map +1 -1
- package/dist/lib/input.cjs +578 -1
- package/dist/lib/input.cjs.map +1 -1
- package/dist/lib/input.js +185 -137
- package/dist/lib/input.js.map +1 -1
- package/dist/lib/item-layout.cjs +91 -1
- package/dist/lib/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout.js +45 -39
- package/dist/lib/item-layout.js.map +1 -1
- package/dist/lib/ivr-node.cjs +263 -1
- package/dist/lib/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node.js +130 -112
- package/dist/lib/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut.cjs +119 -1
- package/dist/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut.js +58 -48
- package/dist/lib/keyboard-shortcut.js.map +1 -1
- package/dist/lib/lazy-show.cjs +82 -1
- package/dist/lib/lazy-show.cjs.map +1 -1
- package/dist/lib/lazy-show.js +21 -19
- package/dist/lib/lazy-show.js.map +1 -1
- package/dist/lib/link.cjs +43 -1
- package/dist/lib/link.cjs.map +1 -1
- package/dist/lib/link.js +20 -19
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/list-item-group.cjs +67 -1
- package/dist/lib/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group.js +24 -22
- package/dist/lib/list-item-group.js.map +1 -1
- package/dist/lib/list-item.cjs +216 -1
- package/dist/lib/list-item.cjs.map +1 -1
- package/dist/lib/list-item.js +71 -60
- package/dist/lib/list-item.js.map +1 -1
- package/dist/lib/message-input.cjs +708 -1
- package/dist/lib/message-input.cjs.map +1 -1
- package/dist/lib/message-input.js +232 -206
- package/dist/lib/message-input.js.map +1 -1
- package/dist/lib/modal.cjs +444 -2
- package/dist/lib/modal.cjs.map +1 -1
- package/dist/lib/modal.js +153 -120
- package/dist/lib/modal.js.map +1 -1
- package/dist/lib/notice.cjs +197 -1
- package/dist/lib/notice.cjs.map +1 -1
- package/dist/lib/notice.js +66 -63
- package/dist/lib/notice.js.map +1 -1
- package/dist/lib/pagination.cjs +205 -1
- package/dist/lib/pagination.cjs.map +1 -1
- package/dist/lib/pagination.js +96 -81
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/popover.cjs +1080 -1
- package/dist/lib/popover.cjs.map +1 -1
- package/dist/lib/popover.js +447 -267
- package/dist/lib/popover.js.map +1 -1
- package/dist/lib/presence.cjs +70 -1
- package/dist/lib/presence.cjs.map +1 -1
- package/dist/lib/presence.js +33 -27
- package/dist/lib/presence.js.map +1 -1
- package/dist/lib/radio-group.cjs +88 -1
- package/dist/lib/radio-group.cjs.map +1 -1
- package/dist/lib/radio-group.js +18 -18
- package/dist/lib/radio-group.js.map +1 -1
- package/dist/lib/radio.cjs +162 -1
- package/dist/lib/radio.cjs.map +1 -1
- package/dist/lib/radio.js +66 -57
- package/dist/lib/radio.js.map +1 -1
- package/dist/lib/rich-text-editor.cjs +1137 -1
- package/dist/lib/rich-text-editor.cjs.map +1 -1
- package/dist/lib/rich-text-editor.js +567 -386
- package/dist/lib/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout.cjs +158 -1
- package/dist/lib/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout.js +33 -31
- package/dist/lib/root-layout.js.map +1 -1
- package/dist/lib/scroller.cjs +1090 -1
- package/dist/lib/scroller.cjs.map +1 -1
- package/dist/lib/scroller.js +668 -345
- package/dist/lib/scroller.js.map +1 -1
- package/dist/lib/select-menu.cjs +312 -1
- package/dist/lib/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu.js +124 -79
- package/dist/lib/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button.cjs +77 -1
- package/dist/lib/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button.js +31 -30
- package/dist/lib/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton.cjs +635 -1
- package/dist/lib/skeleton.cjs.map +1 -1
- package/dist/lib/skeleton.js +189 -152
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/stack.cjs +123 -1
- package/dist/lib/stack.cjs.map +1 -1
- package/dist/lib/stack.js +61 -53
- package/dist/lib/stack.js.map +1 -1
- package/dist/lib/tabs.cjs +102 -1
- package/dist/lib/tabs.cjs.map +1 -1
- package/dist/lib/tabs.js +47 -41
- package/dist/lib/tabs.js.map +1 -1
- package/dist/lib/time-pill.cjs +41 -1
- package/dist/lib/time-pill.cjs.map +1 -1
- package/dist/lib/time-pill.js +18 -14
- package/dist/lib/time-pill.js.map +1 -1
- package/dist/lib/toast.cjs +281 -1
- package/dist/lib/toast.cjs.map +1 -1
- package/dist/lib/toast.js +96 -74
- package/dist/lib/toast.js.map +1 -1
- package/dist/lib/toggle.cjs +192 -1
- package/dist/lib/toggle.cjs.map +1 -1
- package/dist/lib/toggle.js +60 -49
- package/dist/lib/toggle.js.map +1 -1
- package/dist/lib/tooltip-directive.cjs +84 -1
- package/dist/lib/tooltip-directive.cjs.map +1 -1
- package/dist/lib/tooltip-directive.js +56 -42
- package/dist/lib/tooltip-directive.js.map +1 -1
- package/dist/lib/tooltip.cjs +460 -1
- package/dist/lib/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip.js +162 -103
- package/dist/lib/tooltip.js.map +1 -1
- package/dist/lib/top-banner-info.cjs +71 -1
- package/dist/lib/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info.js +27 -22
- package/dist/lib/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill.cjs +73 -1
- package/dist/lib/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill.js +28 -25
- package/dist/lib/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages.cjs +89 -1
- package/dist/lib/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages.js +41 -36
- package/dist/lib/validation-messages.js.map +1 -1
- package/dist/style.css +1257 -1
- package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
- package/package.json +30 -29
- package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
- package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
- package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
- package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
- package/dist/chunks/dropdown-UO3UJalk.js +0 -2
- package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
- package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
- package/dist/chunks/dropdown_constants-KHFvVI2L.js +0 -2
- package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
- package/dist/chunks/icon_constants-2S_OSQ1t.js +0 -2
- package/dist/chunks/index-6tYeqbgP.js +0 -3
- package/dist/chunks/index-IBtQ5jRJ.js +0 -2
- package/dist/chunks/index-IBtQ5jRJ.js.map +0 -1
- package/dist/chunks/index-b4iXYvId.js +0 -399
- package/dist/chunks/index-mRmwpCBG.js +0 -256
- package/dist/chunks/index-mRmwpCBG.js.map +0 -1
- package/dist/chunks/input-0Uksk4DP.js +0 -2
- package/dist/chunks/input_group-AS760Cp7.js +0 -2
- package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
- package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
- package/dist/chunks/link_constants-Kn6kP4i1.js +0 -2
- package/dist/chunks/link_constants-vIUB92L4.js +0 -16
- package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
- package/dist/chunks/list_item_constants-Tsz5CO1m.js +0 -2
- package/dist/chunks/modal-VuMFkZFH.js +0 -82
- package/dist/chunks/modal-qEzlo0Sj.js +0 -2
- package/dist/chunks/notice_action-jO199emq.js +0 -2
- package/dist/chunks/notice_action-tJfD5Qw1.js +0 -209
- package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
- package/dist/chunks/notice_constants-mC6al2Dm.js +0 -2
- package/dist/chunks/popover_constants-hOEhklvr.js +0 -2
- package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
- package/dist/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
- package/dist/chunks/stack_constants-m9Ickqw0.js +0 -2
- package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
- package/dist/chunks/tab-GQZFMq83.js +0 -367
- package/dist/chunks/tab-at7WWglk.js +0 -2
- package/dist/lib/constants.cjs +0 -2
- package/dist/lib/dates.cjs +0 -2
- package/dist/lib/dates.js +0 -57
- package/dist/lib/mixins.cjs +0 -2
- package/dist/lib/mixins.js +0 -17
- package/dist/lib/utils.cjs +0 -2
- package/dist/lib/utils.js +0 -171
- package/dist/lib/validators.cjs +0 -2
- package/dist/lib/validators.js +0 -12
- /package/dist/{lib → common}/mixins.js.map +0 -0
package/dist/lib/tooltip.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { getUniqueString
|
|
4
|
-
import { resolveComponent
|
|
5
|
-
import {
|
|
6
|
-
import { DtLazyShow
|
|
1
|
+
import { TOOLTIP_DIRECTIONS, TOOLTIP_STICKY_VALUES, POPOVER_APPEND_TO_VALUES, TOOLTIP_KIND_MODIFIERS, getPopperOptions, getAnchor, createTippy, TOOLTIP_DELAY_MS } from "../chunks/popover_constants-Qkpb0yh2.js";
|
|
2
|
+
import { TOOLTIP_HIDE_ON_CLICK_VARIANTS } from "../chunks/popover_constants-Qkpb0yh2.js";
|
|
3
|
+
import { getUniqueString, hasSlotContent } from "../common/utils.js";
|
|
4
|
+
import { resolveComponent, openBlock, createElementBlock, withKeys, renderSlot, createCommentVNode, createVNode, mergeProps, toHandlers, withCtx, createTextVNode, toDisplayString } from "vue";
|
|
5
|
+
import { _export_sfc } from "../chunks/_plugin-vue_export-helper-caHeSgYY.js";
|
|
6
|
+
import { DtLazyShow } from "./lazy-show.js";
|
|
7
7
|
import "tippy.js";
|
|
8
|
-
import "
|
|
9
|
-
const
|
|
8
|
+
import "../common/constants.js";
|
|
9
|
+
const _sfc_main = {
|
|
10
10
|
name: "DtTooltip",
|
|
11
11
|
components: {
|
|
12
|
-
DtLazyShow
|
|
12
|
+
DtLazyShow
|
|
13
13
|
},
|
|
14
14
|
props: {
|
|
15
15
|
/**
|
|
@@ -18,7 +18,7 @@ const C = {
|
|
|
18
18
|
id: {
|
|
19
19
|
type: String,
|
|
20
20
|
default() {
|
|
21
|
-
return
|
|
21
|
+
return getUniqueString();
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
/**
|
|
@@ -44,7 +44,7 @@ const C = {
|
|
|
44
44
|
*/
|
|
45
45
|
inverted: {
|
|
46
46
|
type: Boolean,
|
|
47
|
-
default:
|
|
47
|
+
default: false
|
|
48
48
|
},
|
|
49
49
|
/**
|
|
50
50
|
* Displaces the tooltip from its reference element
|
|
@@ -79,8 +79,8 @@ const C = {
|
|
|
79
79
|
placement: {
|
|
80
80
|
type: String,
|
|
81
81
|
default: "top",
|
|
82
|
-
validator(
|
|
83
|
-
return
|
|
82
|
+
validator(placement) {
|
|
83
|
+
return TOOLTIP_DIRECTIONS.includes(placement);
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
/**
|
|
@@ -100,8 +100,10 @@ const C = {
|
|
|
100
100
|
*/
|
|
101
101
|
sticky: {
|
|
102
102
|
type: [Boolean, String],
|
|
103
|
-
default:
|
|
104
|
-
validator: (
|
|
103
|
+
default: false,
|
|
104
|
+
validator: (sticky) => {
|
|
105
|
+
return TOOLTIP_STICKY_VALUES.includes(sticky);
|
|
106
|
+
}
|
|
105
107
|
},
|
|
106
108
|
/**
|
|
107
109
|
* Sets the element to which the tooltip is going to append to.
|
|
@@ -112,7 +114,9 @@ const C = {
|
|
|
112
114
|
appendTo: {
|
|
113
115
|
type: [HTMLElement, String],
|
|
114
116
|
default: "body",
|
|
115
|
-
validator: (
|
|
117
|
+
validator: (appendTo) => {
|
|
118
|
+
return POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
|
|
119
|
+
}
|
|
116
120
|
},
|
|
117
121
|
/**
|
|
118
122
|
* Additional css classes for the tooltip content element.
|
|
@@ -137,7 +141,7 @@ const C = {
|
|
|
137
141
|
*/
|
|
138
142
|
enabled: {
|
|
139
143
|
type: Boolean,
|
|
140
|
-
default:
|
|
144
|
+
default: true
|
|
141
145
|
},
|
|
142
146
|
/**
|
|
143
147
|
* Controls whether the tooltip is shown. Leaving this null will have the tooltip trigger on mouseover by default.
|
|
@@ -163,7 +167,7 @@ const C = {
|
|
|
163
167
|
*/
|
|
164
168
|
contentAppear: {
|
|
165
169
|
type: Boolean,
|
|
166
|
-
default:
|
|
170
|
+
default: false
|
|
167
171
|
},
|
|
168
172
|
/**
|
|
169
173
|
* Whether the tooltip will have a delay when being focused or moused over.
|
|
@@ -171,7 +175,7 @@ const C = {
|
|
|
171
175
|
*/
|
|
172
176
|
delay: {
|
|
173
177
|
type: Boolean,
|
|
174
|
-
default:
|
|
178
|
+
default: true
|
|
175
179
|
},
|
|
176
180
|
/**
|
|
177
181
|
* External anchor id to use in those cases the anchor can't be provided via the slot.
|
|
@@ -199,27 +203,30 @@ const C = {
|
|
|
199
203
|
],
|
|
200
204
|
data() {
|
|
201
205
|
return {
|
|
202
|
-
TOOLTIP_KIND_MODIFIERS
|
|
203
|
-
hasSlotContent
|
|
206
|
+
TOOLTIP_KIND_MODIFIERS,
|
|
207
|
+
hasSlotContent,
|
|
204
208
|
tip: null,
|
|
205
209
|
inTimer: null,
|
|
206
210
|
// Internal state for whether the tooltip is shown. Changing the prop
|
|
207
211
|
// will update this.
|
|
208
|
-
isShown:
|
|
212
|
+
isShown: false,
|
|
209
213
|
// this is where the placement currently is, this can be different than
|
|
210
214
|
// the placement prop when there is not enough available room for the tip
|
|
211
215
|
// to display and it uses a fallback placement.
|
|
212
216
|
currentPlacement: this.placement,
|
|
213
217
|
// flag check touch based device
|
|
214
|
-
isTouchDevice:
|
|
218
|
+
isTouchDevice: false
|
|
215
219
|
};
|
|
216
220
|
},
|
|
217
221
|
computed: {
|
|
218
222
|
// whether the tooltip is visible or not.
|
|
219
223
|
isVisible() {
|
|
220
|
-
var
|
|
221
|
-
const
|
|
222
|
-
|
|
224
|
+
var _a, _b;
|
|
225
|
+
const hasMessage = !!((_a = this.message) == null ? void 0 : _a.trim());
|
|
226
|
+
const hasDefaultSlot = !!((_b = this.$slots) == null ? void 0 : _b.default);
|
|
227
|
+
const isDeviceCompatible = !this.isTouchDevice;
|
|
228
|
+
const shouldBeVisible = this.isShown && this.enabled && (hasMessage || hasDefaultSlot);
|
|
229
|
+
return shouldBeVisible && isDeviceCompatible;
|
|
223
230
|
},
|
|
224
231
|
tooltipListeners() {
|
|
225
232
|
return {
|
|
@@ -234,88 +241,137 @@ const C = {
|
|
|
234
241
|
tippyProps() {
|
|
235
242
|
return {
|
|
236
243
|
offset: this.offset,
|
|
237
|
-
interactive:
|
|
244
|
+
interactive: false,
|
|
238
245
|
trigger: "manual",
|
|
239
246
|
placement: this.placement,
|
|
240
247
|
sticky: this.sticky,
|
|
241
|
-
popperOptions:
|
|
248
|
+
popperOptions: getPopperOptions({
|
|
242
249
|
fallbackPlacements: this.fallbackPlacements,
|
|
243
|
-
hasHideModifierEnabled:
|
|
250
|
+
hasHideModifierEnabled: true,
|
|
244
251
|
onChangePlacement: this.onChangePlacement
|
|
245
252
|
})
|
|
246
253
|
};
|
|
247
254
|
},
|
|
248
255
|
anchor() {
|
|
249
|
-
return this.externalAnchor ? document.body.querySelector(this.externalAnchor) :
|
|
256
|
+
return this.externalAnchor ? document.body.querySelector(this.externalAnchor) : getAnchor(this.$refs.anchor);
|
|
250
257
|
}
|
|
251
258
|
},
|
|
252
259
|
watch: {
|
|
253
260
|
tippyProps: {
|
|
254
261
|
handler: "setProps",
|
|
255
|
-
deep:
|
|
262
|
+
deep: true
|
|
256
263
|
},
|
|
257
264
|
show: {
|
|
258
|
-
handler: function(
|
|
259
|
-
|
|
265
|
+
handler: function(show) {
|
|
266
|
+
if (show !== null) {
|
|
267
|
+
this.isShown = show;
|
|
268
|
+
}
|
|
260
269
|
},
|
|
261
|
-
immediate:
|
|
262
|
-
},
|
|
263
|
-
isShown(
|
|
264
|
-
|
|
270
|
+
immediate: true
|
|
271
|
+
},
|
|
272
|
+
isShown(isShown) {
|
|
273
|
+
if (isShown) {
|
|
274
|
+
this.setProps();
|
|
275
|
+
this.tip.show();
|
|
276
|
+
} else {
|
|
277
|
+
this.tip.hide();
|
|
278
|
+
}
|
|
265
279
|
},
|
|
266
|
-
sticky(
|
|
280
|
+
sticky(sticky) {
|
|
267
281
|
this.tip.setProps({
|
|
268
|
-
sticky
|
|
282
|
+
sticky
|
|
269
283
|
});
|
|
270
284
|
}
|
|
271
285
|
},
|
|
272
286
|
mounted() {
|
|
273
|
-
!this.enabled && this.show != null
|
|
287
|
+
if (!this.enabled && this.show != null) {
|
|
288
|
+
console.warn("Tooltip: You cannot use both the enabled and show props at the same time.");
|
|
289
|
+
console.warn("The show prop will be ignored.");
|
|
290
|
+
}
|
|
291
|
+
this.externalAnchor && this.addExternalAnchorEventListeners();
|
|
292
|
+
this.tip = createTippy(this.anchor, this.initOptions());
|
|
293
|
+
if (this.isShown) {
|
|
294
|
+
this.tip.show();
|
|
295
|
+
}
|
|
274
296
|
},
|
|
275
297
|
beforeUnmount() {
|
|
276
|
-
var
|
|
277
|
-
this.externalAnchor && this.removeExternalAnchorEventListeners()
|
|
298
|
+
var _a;
|
|
299
|
+
this.externalAnchor && this.removeExternalAnchorEventListeners();
|
|
300
|
+
if (this.tip) {
|
|
301
|
+
(_a = this.tip) == null ? void 0 : _a.destroy();
|
|
302
|
+
}
|
|
278
303
|
},
|
|
279
304
|
methods: {
|
|
280
305
|
calculateAnchorZindex() {
|
|
281
|
-
|
|
306
|
+
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
|
|
282
307
|
// anchor of popover is within a drawer.
|
|
283
|
-
this.$el.closest(".d-zi-drawer")
|
|
308
|
+
this.$el.closest(".d-zi-drawer")) {
|
|
309
|
+
return 651;
|
|
310
|
+
} else {
|
|
311
|
+
return 400;
|
|
312
|
+
}
|
|
284
313
|
},
|
|
285
314
|
hasVisibleFocus() {
|
|
286
315
|
return this.anchor.matches(":focus-visible");
|
|
287
316
|
},
|
|
288
317
|
onEnterAnchor(e) {
|
|
289
|
-
this.isTouchDevice && !e.relatedTarget
|
|
290
|
-
|
|
291
|
-
|
|
318
|
+
if (this.isTouchDevice && !e.relatedTarget)
|
|
319
|
+
return;
|
|
320
|
+
if (this.delay) {
|
|
321
|
+
this.inTimer = setTimeout((function(event) {
|
|
322
|
+
this.triggerShow(event);
|
|
323
|
+
}).bind(this, e), TOOLTIP_DELAY_MS);
|
|
324
|
+
} else {
|
|
325
|
+
this.triggerShow(e);
|
|
326
|
+
}
|
|
327
|
+
this.isTouchDevice = false;
|
|
292
328
|
},
|
|
293
329
|
triggerShow(e) {
|
|
294
|
-
e.type === "focusin"
|
|
330
|
+
if (e.type === "focusin") {
|
|
331
|
+
if (this.show === null && this.hasVisibleFocus()) {
|
|
332
|
+
this.isShown = true;
|
|
333
|
+
}
|
|
334
|
+
} else {
|
|
335
|
+
if (this.show === null)
|
|
336
|
+
this.isShown = true;
|
|
337
|
+
}
|
|
295
338
|
},
|
|
296
339
|
onLeaveAnchor(e) {
|
|
297
|
-
e.type === "keydown" && e.code !== "Escape"
|
|
340
|
+
if (e.type === "keydown" && e.code !== "Escape")
|
|
341
|
+
return;
|
|
342
|
+
clearTimeout(this.inTimer);
|
|
343
|
+
this.triggerHide();
|
|
298
344
|
},
|
|
299
345
|
triggerHide() {
|
|
300
|
-
this.show === null
|
|
346
|
+
if (this.show === null)
|
|
347
|
+
this.isShown = false;
|
|
301
348
|
},
|
|
302
|
-
onChangePlacement(
|
|
303
|
-
this.currentPlacement =
|
|
349
|
+
onChangePlacement(placement) {
|
|
350
|
+
this.currentPlacement = placement;
|
|
304
351
|
},
|
|
305
352
|
onLeaveTransitionComplete() {
|
|
306
|
-
var
|
|
307
|
-
(
|
|
353
|
+
var _a;
|
|
354
|
+
(_a = this.tip) == null ? void 0 : _a.unmount();
|
|
355
|
+
this.$emit("shown", false);
|
|
356
|
+
if (this.show !== null) {
|
|
357
|
+
this.$emit("update:show", false);
|
|
358
|
+
}
|
|
308
359
|
},
|
|
309
360
|
onEnterTransitionComplete() {
|
|
310
|
-
this.$emit("shown",
|
|
361
|
+
this.$emit("shown", true);
|
|
362
|
+
if (this.show !== null) {
|
|
363
|
+
this.$emit("update:show", true);
|
|
364
|
+
}
|
|
311
365
|
},
|
|
312
366
|
setProps() {
|
|
313
|
-
var
|
|
314
|
-
this.tip && this.tip.setProps
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
367
|
+
var _a, _b;
|
|
368
|
+
if (this.tip && this.tip.setProps) {
|
|
369
|
+
this.tip.setProps({
|
|
370
|
+
...this.tippyProps,
|
|
371
|
+
zIndex: this.calculateAnchorZindex(),
|
|
372
|
+
appendTo: this.appendTo === "body" ? (_b = (_a = this.anchor) == null ? void 0 : _a.getRootNode()) == null ? void 0 : _b.querySelector("body") : this.appendTo
|
|
373
|
+
});
|
|
374
|
+
}
|
|
319
375
|
},
|
|
320
376
|
onMount() {
|
|
321
377
|
this.setProps();
|
|
@@ -323,81 +379,84 @@ const C = {
|
|
|
323
379
|
initOptions() {
|
|
324
380
|
return {
|
|
325
381
|
contentElement: this.$refs.content.$el,
|
|
326
|
-
allowHTML:
|
|
382
|
+
allowHTML: true,
|
|
327
383
|
zIndex: this.calculateAnchorZindex(),
|
|
328
384
|
onMount: this.onMount,
|
|
329
385
|
...this.tippyProps
|
|
330
386
|
};
|
|
331
387
|
},
|
|
332
388
|
addExternalAnchorEventListeners() {
|
|
333
|
-
["focusin", "mouseenter"].forEach((
|
|
334
|
-
this.anchor.addEventListener(
|
|
335
|
-
})
|
|
336
|
-
|
|
389
|
+
["focusin", "mouseenter"].forEach((listener) => {
|
|
390
|
+
this.anchor.addEventListener(listener, (event) => this.onEnterAnchor(event));
|
|
391
|
+
});
|
|
392
|
+
["focusout", "mouseleave", "keydown"].forEach((listener) => {
|
|
393
|
+
this.anchor.addEventListener(listener, (event) => this.onLeaveAnchor(event));
|
|
337
394
|
});
|
|
338
395
|
},
|
|
339
396
|
removeExternalAnchorEventListeners() {
|
|
340
|
-
["focusin", "mouseenter"].forEach((
|
|
341
|
-
this.anchor.removeEventListener(
|
|
342
|
-
})
|
|
343
|
-
|
|
397
|
+
["focusin", "mouseenter"].forEach((listener) => {
|
|
398
|
+
this.anchor.removeEventListener(listener, (event) => this.onEnterAnchor(event));
|
|
399
|
+
});
|
|
400
|
+
["focusout", "mouseleave", "keydown"].forEach((listener) => {
|
|
401
|
+
this.anchor.removeEventListener(listener, (event) => this.onLeaveAnchor(event));
|
|
344
402
|
});
|
|
345
403
|
},
|
|
346
404
|
onTouchStart() {
|
|
347
|
-
this.isTouchDevice =
|
|
405
|
+
this.isTouchDevice = true;
|
|
348
406
|
}
|
|
349
407
|
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
408
|
+
};
|
|
409
|
+
const _hoisted_1 = { "data-qa": "dt-tooltip-container" };
|
|
410
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
411
|
+
const _component_dt_lazy_show = resolveComponent("dt-lazy-show");
|
|
412
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
413
|
+
!$props.externalAnchor ? (openBlock(), createElementBlock("span", {
|
|
355
414
|
key: 0,
|
|
356
415
|
ref: "anchor",
|
|
357
416
|
"data-qa": "dt-tooltip-anchor",
|
|
358
|
-
onFocusin:
|
|
359
|
-
onFocusout:
|
|
360
|
-
onMouseenter:
|
|
361
|
-
onMouseleave:
|
|
362
|
-
onKeydown:
|
|
363
|
-
onTouchstart:
|
|
417
|
+
onFocusin: _cache[0] || (_cache[0] = (...args) => $options.onEnterAnchor && $options.onEnterAnchor(...args)),
|
|
418
|
+
onFocusout: _cache[1] || (_cache[1] = (...args) => $options.onLeaveAnchor && $options.onLeaveAnchor(...args)),
|
|
419
|
+
onMouseenter: _cache[2] || (_cache[2] = (...args) => $options.onEnterAnchor && $options.onEnterAnchor(...args)),
|
|
420
|
+
onMouseleave: _cache[3] || (_cache[3] = (...args) => $options.onLeaveAnchor && $options.onLeaveAnchor(...args)),
|
|
421
|
+
onKeydown: _cache[4] || (_cache[4] = withKeys((...args) => $options.onLeaveAnchor && $options.onLeaveAnchor(...args), ["esc"])),
|
|
422
|
+
onTouchstart: _cache[5] || (_cache[5] = (...args) => $options.onTouchStart && $options.onTouchStart(...args))
|
|
364
423
|
}, [
|
|
365
|
-
|
|
366
|
-
], 544)),
|
|
367
|
-
|
|
368
|
-
id:
|
|
424
|
+
renderSlot(_ctx.$slots, "anchor")
|
|
425
|
+
], 544)) : createCommentVNode("", true),
|
|
426
|
+
createVNode(_component_dt_lazy_show, mergeProps({
|
|
427
|
+
id: $props.id,
|
|
369
428
|
ref: "content",
|
|
370
|
-
show:
|
|
429
|
+
show: $options.isVisible,
|
|
371
430
|
role: "tooltip",
|
|
372
431
|
"aria-hidden": "false",
|
|
373
432
|
"data-qa": "dt-tooltip",
|
|
374
|
-
appear:
|
|
375
|
-
transition:
|
|
433
|
+
appear: $props.contentAppear,
|
|
434
|
+
transition: $props.transition,
|
|
376
435
|
class: [
|
|
377
436
|
"d-tooltip",
|
|
378
|
-
`d-tooltip__arrow-tippy--${
|
|
437
|
+
`d-tooltip__arrow-tippy--${$data.currentPlacement}`,
|
|
379
438
|
{
|
|
380
|
-
[
|
|
439
|
+
[$data.TOOLTIP_KIND_MODIFIERS.inverted]: $props.inverted
|
|
381
440
|
},
|
|
382
|
-
|
|
441
|
+
$props.contentClass
|
|
383
442
|
]
|
|
384
|
-
},
|
|
385
|
-
default:
|
|
386
|
-
|
|
387
|
-
|
|
443
|
+
}, toHandlers($options.tooltipListeners)), {
|
|
444
|
+
default: withCtx(() => [
|
|
445
|
+
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
446
|
+
createTextVNode(toDisplayString($props.message), 1)
|
|
388
447
|
])
|
|
389
448
|
]),
|
|
390
449
|
_: 3
|
|
391
450
|
}, 16, ["id", "show", "appear", "transition", "class"])
|
|
392
451
|
]);
|
|
393
452
|
}
|
|
394
|
-
const
|
|
453
|
+
const DtTooltip = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
395
454
|
export {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
455
|
+
DtTooltip,
|
|
456
|
+
TOOLTIP_DELAY_MS,
|
|
457
|
+
TOOLTIP_DIRECTIONS,
|
|
458
|
+
TOOLTIP_HIDE_ON_CLICK_VARIANTS,
|
|
459
|
+
TOOLTIP_KIND_MODIFIERS,
|
|
460
|
+
TOOLTIP_STICKY_VALUES
|
|
402
461
|
};
|
|
403
462
|
//# sourceMappingURL=tooltip.js.map
|
package/dist/lib/tooltip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","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.js","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":["_openBlock","_createElementBlock","_renderSlot","_createVNode","_mergeProps","_toHandlers"],"mappings":"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"}
|
|
@@ -1,2 +1,72 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
|
|
5
|
+
const COLOR_CODES = [
|
|
6
|
+
"green300",
|
|
7
|
+
"green100",
|
|
8
|
+
"red200",
|
|
9
|
+
"red100",
|
|
10
|
+
"gold100",
|
|
11
|
+
"gold200",
|
|
12
|
+
"black100",
|
|
13
|
+
"white"
|
|
14
|
+
];
|
|
15
|
+
const _sfc_main = {
|
|
16
|
+
name: "DtRecipeTopBannerInfo",
|
|
17
|
+
props: {
|
|
18
|
+
/**
|
|
19
|
+
* color of the banner background
|
|
20
|
+
*/
|
|
21
|
+
colorCode: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: "green300",
|
|
24
|
+
validator: function(kind) {
|
|
25
|
+
return COLOR_CODES.includes(kind);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
computed: {
|
|
30
|
+
bannerInfoClass() {
|
|
31
|
+
const bgColors = {
|
|
32
|
+
// these are too specific, so for now I'm at least updating the resultant semantic value
|
|
33
|
+
// TODO: breaking change: update to be more abstract
|
|
34
|
+
green300: "d-bgc-success",
|
|
35
|
+
green100: "d-bgc-success",
|
|
36
|
+
red200: "d-bgc-critical",
|
|
37
|
+
red100: "d-bgc-critical",
|
|
38
|
+
gold200: "d-bgc-warning",
|
|
39
|
+
gold100: "d-bgc-warning",
|
|
40
|
+
black100: "d-bgc-info",
|
|
41
|
+
white: "d-bgc-primary"
|
|
42
|
+
};
|
|
43
|
+
return [bgColors[this.colorCode]];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const _hoisted_1 = { class: "dt-top-banner-info__left" };
|
|
48
|
+
const _hoisted_2 = {
|
|
49
|
+
class: "dt-top-banner-info__middle",
|
|
50
|
+
"data-qa": "banner-info--middle"
|
|
51
|
+
};
|
|
52
|
+
const _hoisted_3 = { class: "dt-top-banner-info__right" };
|
|
53
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
54
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
55
|
+
class: vue.normalizeClass(["dt-top-banner-info", $options.bannerInfoClass]),
|
|
56
|
+
"data-qa": "banner-info"
|
|
57
|
+
}, [
|
|
58
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
59
|
+
vue.renderSlot(_ctx.$slots, "left")
|
|
60
|
+
]),
|
|
61
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
62
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
63
|
+
]),
|
|
64
|
+
vue.createElementVNode("div", _hoisted_3, [
|
|
65
|
+
vue.renderSlot(_ctx.$slots, "right")
|
|
66
|
+
])
|
|
67
|
+
], 2);
|
|
68
|
+
}
|
|
69
|
+
const top_banner_info = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
70
|
+
exports.COLOR_CODES = COLOR_CODES;
|
|
71
|
+
exports.DtRecipeTopBannerInfo = top_banner_info;
|
|
2
72
|
//# sourceMappingURL=top-banner-info.cjs.map
|