@dialpad/dialtone 9.95.0 → 9.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/dialtone-default-theme.css +45 -1
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone.css +45 -1
- package/dist/css/dialtone.min.css +1 -1
- package/dist/tokens/doc.json +15432 -15432
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/components/hovercard/hovercard.vue.cjs +41 -2
- package/dist/vue2/components/hovercard/hovercard.vue.cjs.map +1 -1
- package/dist/vue2/components/hovercard/hovercard.vue.js +41 -2
- package/dist/vue2/components/hovercard/hovercard.vue.js.map +1 -1
- package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +2 -2
- package/dist/vue2/components/keyboard_shortcut/keyboard_shortcut.vue.js +2 -2
- package/dist/vue2/components/popover/popover.vue.cjs +36 -60
- package/dist/vue2/components/popover/popover.vue.cjs.map +1 -1
- package/dist/vue2/components/popover/popover.vue.js +36 -60
- package/dist/vue2/components/popover/popover.vue.js.map +1 -1
- package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs.map +1 -1
- package/dist/vue2/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js.map +1 -1
- package/dist/vue2/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs.map +1 -1
- package/dist/vue2/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js.map +1 -1
- package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.cjs +160 -17
- package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
- package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.js +161 -18
- package/dist/vue2/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs +1 -1
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.js +1 -1
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.js.map +1 -1
- package/dist/vue2/recipes/conversation_view/message_input/last_active_nodes.cjs +87 -0
- package/dist/vue2/recipes/conversation_view/message_input/last_active_nodes.cjs.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/last_active_nodes.js +87 -0
- package/dist/vue2/recipes/conversation_view/message_input/last_active_nodes.js.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.cjs +229 -46
- package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
- package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.js +229 -46
- package/dist/vue2/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
- package/dist/vue2/recipes/conversation_view/message_input/message_input_button.vue.cjs +58 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_button.vue.cjs.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_button.vue.js +58 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_button.vue.js.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_link.vue.cjs +108 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_link.vue.cjs.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_link.vue.js +108 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_link.vue.js.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_topbar.vue.cjs +106 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_topbar.vue.cjs.map +1 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_topbar.vue.js +106 -0
- package/dist/vue2/recipes/conversation_view/message_input/message_input_topbar.vue.js.map +1 -0
- package/dist/vue2/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/popover/popover.vue.d.ts +380 -2
- package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +37 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/message_input/last_active_nodes.d.ts +3 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +183 -60
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +48 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +38 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +87 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -0
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/components/hovercard/hovercard.vue.cjs +55 -22
- package/dist/vue3/components/hovercard/hovercard.vue.cjs.map +1 -1
- package/dist/vue3/components/hovercard/hovercard.vue.js +56 -23
- package/dist/vue3/components/hovercard/hovercard.vue.js.map +1 -1
- package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +2 -2
- package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.js +2 -2
- package/dist/vue3/components/popover/popover.vue.cjs +40 -64
- package/dist/vue3/components/popover/popover.vue.cjs.map +1 -1
- package/dist/vue3/components/popover/popover.vue.js +40 -64
- package/dist/vue3/components/popover/popover.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs +223 -21
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js +225 -23
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/last_active_nodes.cjs +87 -0
- package/dist/vue3/recipes/conversation_view/message_input/last_active_nodes.cjs.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/last_active_nodes.js +87 -0
- package/dist/vue3/recipes/conversation_view/message_input/last_active_nodes.js.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs +279 -65
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js +280 -66
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.cjs +81 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.cjs.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.js +81 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.js.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.cjs +193 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.cjs.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.js +193 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.js.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.cjs +223 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.cjs.map +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.js +223 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.js.map +1 -0
- package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/popover/popover.vue.d.ts +432 -1
- package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +42 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/message_input/last_active_nodes.d.ts +3 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +185 -61
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +50 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +42 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +89 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -0
- package/package.json +7 -4
|
@@ -121,23 +121,23 @@ const _sfc_main = {
|
|
|
121
121
|
default: "body",
|
|
122
122
|
validator: (appendTo) => {
|
|
123
123
|
return popover_constants.POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
|
|
124
|
-
},
|
|
125
|
-
/**
|
|
126
|
-
* The enter delay in milliseconds before the hovercard is shown.
|
|
127
|
-
* @type number
|
|
128
|
-
*/
|
|
129
|
-
enterDelay: {
|
|
130
|
-
type: Number,
|
|
131
|
-
default: tooltip_constants.TOOLTIP_DELAY_MS
|
|
132
|
-
},
|
|
133
|
-
/**
|
|
134
|
-
* The leave delay in milliseconds before the hovercard is hidden.
|
|
135
|
-
* @type number
|
|
136
|
-
*/
|
|
137
|
-
leaveDelay: {
|
|
138
|
-
type: Number,
|
|
139
|
-
default: tooltip_constants.TOOLTIP_DELAY_MS
|
|
140
124
|
}
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* The enter delay in milliseconds before the hovercard is shown.
|
|
128
|
+
* @type number
|
|
129
|
+
*/
|
|
130
|
+
enterDelay: {
|
|
131
|
+
type: Number,
|
|
132
|
+
default: tooltip_constants.TOOLTIP_DELAY_MS
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* The leave delay in milliseconds before the hovercard is hidden.
|
|
136
|
+
* @type number
|
|
137
|
+
*/
|
|
138
|
+
leaveDelay: {
|
|
139
|
+
type: Number,
|
|
140
|
+
default: tooltip_constants.TOOLTIP_DELAY_MS
|
|
141
141
|
}
|
|
142
142
|
},
|
|
143
143
|
emits: [
|
|
@@ -150,11 +150,42 @@ const _sfc_main = {
|
|
|
150
150
|
"opened"
|
|
151
151
|
],
|
|
152
152
|
setup(__props) {
|
|
153
|
+
const props = __props;
|
|
154
|
+
const hovercardOpen = vue.ref(props.open);
|
|
155
|
+
const inTimer = vue.ref(null);
|
|
156
|
+
const outTimer = vue.ref(null);
|
|
157
|
+
vue.watch(() => props.open, (open) => {
|
|
158
|
+
hovercardOpen.value = open;
|
|
159
|
+
}, { immediate: true });
|
|
160
|
+
function setInTimer() {
|
|
161
|
+
inTimer.value = setTimeout(() => {
|
|
162
|
+
hovercardOpen.value = true;
|
|
163
|
+
}, props.enterDelay);
|
|
164
|
+
}
|
|
165
|
+
function setOutTimer() {
|
|
166
|
+
outTimer.value = setTimeout(() => {
|
|
167
|
+
hovercardOpen.value = false;
|
|
168
|
+
}, props.leaveDelay);
|
|
169
|
+
}
|
|
170
|
+
function onMouseEnter() {
|
|
171
|
+
if (props.open === null) {
|
|
172
|
+
clearTimeout(outTimer.value);
|
|
173
|
+
setInTimer();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function onMouseLeave() {
|
|
177
|
+
if (props.open === null) {
|
|
178
|
+
clearTimeout(inTimer.value);
|
|
179
|
+
setOutTimer();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
153
182
|
return (_ctx, _cache) => {
|
|
154
183
|
return vue.openBlock(), vue.createBlock(vue.unref(popover.default), {
|
|
155
184
|
id: __props.id,
|
|
185
|
+
open: hovercardOpen.value,
|
|
156
186
|
placement: __props.placement,
|
|
157
187
|
"content-class": __props.contentClass,
|
|
188
|
+
"dialog-class": __props.dialogClass,
|
|
158
189
|
"fallback-placements": __props.fallbackPlacements,
|
|
159
190
|
padding: __props.padding,
|
|
160
191
|
transition: __props.transition ? "fade" : null,
|
|
@@ -164,12 +195,14 @@ const _sfc_main = {
|
|
|
164
195
|
"header-class": __props.headerClass,
|
|
165
196
|
"footer-class": __props.footerClass,
|
|
166
197
|
"append-to": __props.appendTo,
|
|
167
|
-
hovercard: true,
|
|
168
198
|
"data-qa": "dt-hovercard",
|
|
169
|
-
|
|
170
|
-
"
|
|
171
|
-
|
|
172
|
-
|
|
199
|
+
"enter-delay": __props.enterDelay,
|
|
200
|
+
"leave-delay": __props.leaveDelay,
|
|
201
|
+
onOpened: _cache[0] || (_cache[0] = (e) => _ctx.$emit("opened", e)),
|
|
202
|
+
onMouseenterPopover: onMouseEnter,
|
|
203
|
+
onMouseleavePopover: onMouseLeave,
|
|
204
|
+
onMouseenterPopoverAnchor: onMouseEnter,
|
|
205
|
+
onMouseleavePopoverAnchor: onMouseLeave
|
|
173
206
|
}, {
|
|
174
207
|
anchor: vue.withCtx(({ attrs }) => [
|
|
175
208
|
vue.renderSlot(_ctx.$slots, "anchor", vue.normalizeProps(vue.guardReactiveProps(attrs)))
|
|
@@ -184,7 +217,7 @@ const _sfc_main = {
|
|
|
184
217
|
vue.renderSlot(_ctx.$slots, "footerContent")
|
|
185
218
|
]),
|
|
186
219
|
_: 3
|
|
187
|
-
}, 8, ["id", "placement", "content-class", "fallback-placements", "padding", "transition", "offset", "header-class", "footer-class", "append-to", "
|
|
220
|
+
}, 8, ["id", "open", "placement", "content-class", "dialog-class", "fallback-placements", "padding", "transition", "offset", "header-class", "footer-class", "append-to", "enter-delay", "leave-delay"]);
|
|
188
221
|
};
|
|
189
222
|
}
|
|
190
223
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hovercard.vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hovercard.vue.cjs","sources":["../../../components/hovercard/hovercard.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-popover\n :id=\"id\"\n :open=\"hovercardOpen\"\n :placement=\"placement\"\n :content-class=\"contentClass\"\n :dialog-class=\"dialogClass\"\n :fallback-placements=\"fallbackPlacements\"\n :padding=\"padding\"\n :transition=\"transition ? 'fade' : null\"\n :offset=\"offset\"\n :modal=\"false\"\n initial-focus-element=\"none\"\n :header-class=\"headerClass\"\n :footer-class=\"footerClass\"\n :append-to=\"appendTo\"\n data-qa=\"dt-hovercard\"\n :enter-delay=\"enterDelay\"\n :leave-delay=\"leaveDelay\"\n @opened=\"(e) => ($emit('opened', e))\"\n @mouseenter-popover=\"onMouseEnter\"\n @mouseleave-popover=\"onMouseLeave\"\n @mouseenter-popover-anchor=\"onMouseEnter\"\n @mouseleave-popover-anchor=\"onMouseLeave\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the hovercard. Usually a button. -->\n <slot\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content>\n <!-- @slot Slot for the content that is displayed in the hovercard. -->\n <slot name=\"content\" />\n </template>\n <template #headerContent>\n <!-- @slot Slot for hovercard header content -->\n <slot name=\"headerContent\" />\n </template>\n\n <template #footerContent>\n <!-- @slot Slot for the footer content. -->\n <slot name=\"footerContent\" />\n </template>\n </dt-popover>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue';\nimport { POPOVER_APPEND_TO_VALUES, POPOVER_PADDING_CLASSES, DtPopover } from '@/components/popover/index.js';\nimport { TOOLTIP_DIRECTIONS, TOOLTIP_DELAY_MS } from '@/components/tooltip/index.js';\nimport { getUniqueString } from '@/common/utils';\n\nconst props = defineProps({\n /**\n * Fade transition when the content display is toggled.\n * @type boolean\n * @values true, false\n */\n transition: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the hovercard is shown. Leaving this null will have the hovercard trigger on hover by default.\n * If you set this value, the default trigger behavior will be disabled, and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\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 * @see https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the popover displays relative to the anchor.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\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-start',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * Padding size class for the popover content.\n * @values none, small, medium, large\n */\n padding: {\n type: String,\n default: 'large',\n validator: (padding) => {\n return Object.keys(POPOVER_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Displaces the content box from its anchor element\n * by the specified number of pixels.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n */\n offset: {\n type: Array,\n default: () => [0, 16],\n },\n\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class name for the header content wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the footer content wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * The enter delay in milliseconds before the hovercard is shown.\n * @type number\n */\n enterDelay: {\n type: Number,\n default: TOOLTIP_DELAY_MS,\n },\n\n /**\n * The leave delay in milliseconds before the hovercard is hidden.\n * @type number\n */\n leaveDelay: {\n type: Number,\n default: TOOLTIP_DELAY_MS,\n },\n});\n\ndefineEmits([\n /**\n * Emitted when hovercard is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n]);\n\nconst hovercardOpen = ref(props.open);\nconst inTimer = ref(null);\nconst outTimer = ref(null);\n\nwatch(() => props.open, (open) => {\n hovercardOpen.value = open;\n}, { immediate: true });\n\nfunction setInTimer () {\n inTimer.value = setTimeout(() => {\n hovercardOpen.value = true;\n }, props.enterDelay);\n}\n\nfunction setOutTimer () {\n outTimer.value = setTimeout(() => {\n hovercardOpen.value = false;\n }, props.leaveDelay);\n}\n\nfunction onMouseEnter () {\n if (props.open === null) {\n clearTimeout(outTimer.value);\n setInTimer();\n }\n}\n\nfunction onMouseLeave () {\n if (props.open === null) {\n clearTimeout(inTimer.value);\n setOutTimer();\n }\n}\n</script>\n"],"names":["ref","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,UAAM,QAAQ;AA4Jd,UAAM,gBAAgBA,IAAG,IAAC,MAAM,IAAI;AACpC,UAAM,UAAUA,IAAAA,IAAI,IAAI;AACxB,UAAM,WAAWA,IAAAA,IAAI,IAAI;AAEzBC,QAAK,MAAC,MAAM,MAAM,MAAM,CAAC,SAAS;AAChC,oBAAc,QAAQ;AAAA,IACxB,GAAG,EAAE,WAAW,KAAI,CAAE;AAEtB,aAAS,aAAc;AACrB,cAAQ,QAAQ,WAAW,MAAM;AAC/B,sBAAc,QAAQ;AAAA,MAC1B,GAAK,MAAM,UAAU;AAAA,IACrB;AAEA,aAAS,cAAe;AACtB,eAAS,QAAQ,WAAW,MAAM;AAChC,sBAAc,QAAQ;AAAA,MAC1B,GAAK,MAAM,UAAU;AAAA,IACrB;AAEA,aAAS,eAAgB;AACvB,UAAI,MAAM,SAAS,MAAM;AACvB,qBAAa,SAAS,KAAK;AAC3B;MACD;AAAA,IACH;AAEA,aAAS,eAAgB;AACvB,UAAI,MAAM,SAAS,MAAM;AACvB,qBAAa,QAAQ,KAAK;AAC1B;MACD;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { openBlock, createBlock, unref, withCtx, renderSlot, normalizeProps, guardReactiveProps } from "vue";
|
|
1
|
+
import { ref, watch, openBlock, createBlock, unref, withCtx, renderSlot, normalizeProps, guardReactiveProps } from "vue";
|
|
2
2
|
import { getUniqueString } from "../../common/utils.js";
|
|
3
3
|
import { TOOLTIP_DIRECTIONS, TOOLTIP_DELAY_MS } from "../tooltip/tooltip_constants.js";
|
|
4
4
|
import { POPOVER_PADDING_CLASSES, POPOVER_APPEND_TO_VALUES } from "../popover/popover_constants.js";
|
|
@@ -119,23 +119,23 @@ const _sfc_main = {
|
|
|
119
119
|
default: "body",
|
|
120
120
|
validator: (appendTo) => {
|
|
121
121
|
return POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
|
|
122
|
-
},
|
|
123
|
-
/**
|
|
124
|
-
* The enter delay in milliseconds before the hovercard is shown.
|
|
125
|
-
* @type number
|
|
126
|
-
*/
|
|
127
|
-
enterDelay: {
|
|
128
|
-
type: Number,
|
|
129
|
-
default: TOOLTIP_DELAY_MS
|
|
130
|
-
},
|
|
131
|
-
/**
|
|
132
|
-
* The leave delay in milliseconds before the hovercard is hidden.
|
|
133
|
-
* @type number
|
|
134
|
-
*/
|
|
135
|
-
leaveDelay: {
|
|
136
|
-
type: Number,
|
|
137
|
-
default: TOOLTIP_DELAY_MS
|
|
138
122
|
}
|
|
123
|
+
},
|
|
124
|
+
/**
|
|
125
|
+
* The enter delay in milliseconds before the hovercard is shown.
|
|
126
|
+
* @type number
|
|
127
|
+
*/
|
|
128
|
+
enterDelay: {
|
|
129
|
+
type: Number,
|
|
130
|
+
default: TOOLTIP_DELAY_MS
|
|
131
|
+
},
|
|
132
|
+
/**
|
|
133
|
+
* The leave delay in milliseconds before the hovercard is hidden.
|
|
134
|
+
* @type number
|
|
135
|
+
*/
|
|
136
|
+
leaveDelay: {
|
|
137
|
+
type: Number,
|
|
138
|
+
default: TOOLTIP_DELAY_MS
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
141
|
emits: [
|
|
@@ -148,11 +148,42 @@ const _sfc_main = {
|
|
|
148
148
|
"opened"
|
|
149
149
|
],
|
|
150
150
|
setup(__props) {
|
|
151
|
+
const props = __props;
|
|
152
|
+
const hovercardOpen = ref(props.open);
|
|
153
|
+
const inTimer = ref(null);
|
|
154
|
+
const outTimer = ref(null);
|
|
155
|
+
watch(() => props.open, (open) => {
|
|
156
|
+
hovercardOpen.value = open;
|
|
157
|
+
}, { immediate: true });
|
|
158
|
+
function setInTimer() {
|
|
159
|
+
inTimer.value = setTimeout(() => {
|
|
160
|
+
hovercardOpen.value = true;
|
|
161
|
+
}, props.enterDelay);
|
|
162
|
+
}
|
|
163
|
+
function setOutTimer() {
|
|
164
|
+
outTimer.value = setTimeout(() => {
|
|
165
|
+
hovercardOpen.value = false;
|
|
166
|
+
}, props.leaveDelay);
|
|
167
|
+
}
|
|
168
|
+
function onMouseEnter() {
|
|
169
|
+
if (props.open === null) {
|
|
170
|
+
clearTimeout(outTimer.value);
|
|
171
|
+
setInTimer();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
function onMouseLeave() {
|
|
175
|
+
if (props.open === null) {
|
|
176
|
+
clearTimeout(inTimer.value);
|
|
177
|
+
setOutTimer();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
151
180
|
return (_ctx, _cache) => {
|
|
152
181
|
return openBlock(), createBlock(unref(DtPopover), {
|
|
153
182
|
id: __props.id,
|
|
183
|
+
open: hovercardOpen.value,
|
|
154
184
|
placement: __props.placement,
|
|
155
185
|
"content-class": __props.contentClass,
|
|
186
|
+
"dialog-class": __props.dialogClass,
|
|
156
187
|
"fallback-placements": __props.fallbackPlacements,
|
|
157
188
|
padding: __props.padding,
|
|
158
189
|
transition: __props.transition ? "fade" : null,
|
|
@@ -162,12 +193,14 @@ const _sfc_main = {
|
|
|
162
193
|
"header-class": __props.headerClass,
|
|
163
194
|
"footer-class": __props.footerClass,
|
|
164
195
|
"append-to": __props.appendTo,
|
|
165
|
-
hovercard: true,
|
|
166
196
|
"data-qa": "dt-hovercard",
|
|
167
|
-
|
|
168
|
-
"
|
|
169
|
-
|
|
170
|
-
|
|
197
|
+
"enter-delay": __props.enterDelay,
|
|
198
|
+
"leave-delay": __props.leaveDelay,
|
|
199
|
+
onOpened: _cache[0] || (_cache[0] = (e) => _ctx.$emit("opened", e)),
|
|
200
|
+
onMouseenterPopover: onMouseEnter,
|
|
201
|
+
onMouseleavePopover: onMouseLeave,
|
|
202
|
+
onMouseenterPopoverAnchor: onMouseEnter,
|
|
203
|
+
onMouseleavePopoverAnchor: onMouseLeave
|
|
171
204
|
}, {
|
|
172
205
|
anchor: withCtx(({ attrs }) => [
|
|
173
206
|
renderSlot(_ctx.$slots, "anchor", normalizeProps(guardReactiveProps(attrs)))
|
|
@@ -182,7 +215,7 @@ const _sfc_main = {
|
|
|
182
215
|
renderSlot(_ctx.$slots, "footerContent")
|
|
183
216
|
]),
|
|
184
217
|
_: 3
|
|
185
|
-
}, 8, ["id", "placement", "content-class", "fallback-placements", "padding", "transition", "offset", "header-class", "footer-class", "append-to", "
|
|
218
|
+
}, 8, ["id", "open", "placement", "content-class", "dialog-class", "fallback-placements", "padding", "transition", "offset", "header-class", "footer-class", "append-to", "enter-delay", "leave-delay"]);
|
|
186
219
|
};
|
|
187
220
|
}
|
|
188
221
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hovercard.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hovercard.vue.js","sources":["../../../components/hovercard/hovercard.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-popover\n :id=\"id\"\n :open=\"hovercardOpen\"\n :placement=\"placement\"\n :content-class=\"contentClass\"\n :dialog-class=\"dialogClass\"\n :fallback-placements=\"fallbackPlacements\"\n :padding=\"padding\"\n :transition=\"transition ? 'fade' : null\"\n :offset=\"offset\"\n :modal=\"false\"\n initial-focus-element=\"none\"\n :header-class=\"headerClass\"\n :footer-class=\"footerClass\"\n :append-to=\"appendTo\"\n data-qa=\"dt-hovercard\"\n :enter-delay=\"enterDelay\"\n :leave-delay=\"leaveDelay\"\n @opened=\"(e) => ($emit('opened', e))\"\n @mouseenter-popover=\"onMouseEnter\"\n @mouseleave-popover=\"onMouseLeave\"\n @mouseenter-popover-anchor=\"onMouseEnter\"\n @mouseleave-popover-anchor=\"onMouseLeave\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the hovercard. Usually a button. -->\n <slot\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content>\n <!-- @slot Slot for the content that is displayed in the hovercard. -->\n <slot name=\"content\" />\n </template>\n <template #headerContent>\n <!-- @slot Slot for hovercard header content -->\n <slot name=\"headerContent\" />\n </template>\n\n <template #footerContent>\n <!-- @slot Slot for the footer content. -->\n <slot name=\"footerContent\" />\n </template>\n </dt-popover>\n</template>\n\n<script setup>\nimport { ref, watch } from 'vue';\nimport { POPOVER_APPEND_TO_VALUES, POPOVER_PADDING_CLASSES, DtPopover } from '@/components/popover/index.js';\nimport { TOOLTIP_DIRECTIONS, TOOLTIP_DELAY_MS } from '@/components/tooltip/index.js';\nimport { getUniqueString } from '@/common/utils';\n\nconst props = defineProps({\n /**\n * Fade transition when the content display is toggled.\n * @type boolean\n * @values true, false\n */\n transition: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls whether the hovercard is shown. Leaving this null will have the hovercard trigger on hover by default.\n * If you set this value, the default trigger behavior will be disabled, and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n open: {\n type: Boolean,\n default: null,\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 * @see https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the popover displays relative to the anchor.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\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-start',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * Padding size class for the popover content.\n * @values none, small, medium, large\n */\n padding: {\n type: String,\n default: 'large',\n validator: (padding) => {\n return Object.keys(POPOVER_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Displaces the content box from its anchor element\n * by the specified number of pixels.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n */\n offset: {\n type: Array,\n default: () => [0, 16],\n },\n\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class name for the header content wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the footer content wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * The enter delay in milliseconds before the hovercard is shown.\n * @type number\n */\n enterDelay: {\n type: Number,\n default: TOOLTIP_DELAY_MS,\n },\n\n /**\n * The leave delay in milliseconds before the hovercard is hidden.\n * @type number\n */\n leaveDelay: {\n type: Number,\n default: TOOLTIP_DELAY_MS,\n },\n});\n\ndefineEmits([\n /**\n * Emitted when hovercard is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n]);\n\nconst hovercardOpen = ref(props.open);\nconst inTimer = ref(null);\nconst outTimer = ref(null);\n\nwatch(() => props.open, (open) => {\n hovercardOpen.value = open;\n}, { immediate: true });\n\nfunction setInTimer () {\n inTimer.value = setTimeout(() => {\n hovercardOpen.value = true;\n }, props.enterDelay);\n}\n\nfunction setOutTimer () {\n outTimer.value = setTimeout(() => {\n hovercardOpen.value = false;\n }, props.leaveDelay);\n}\n\nfunction onMouseEnter () {\n if (props.open === null) {\n clearTimeout(outTimer.value);\n setInTimer();\n }\n}\n\nfunction onMouseLeave () {\n if (props.open === null) {\n clearTimeout(inTimer.value);\n setOutTimer();\n }\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,UAAM,QAAQ;AA4Jd,UAAM,gBAAgB,IAAI,MAAM,IAAI;AACpC,UAAM,UAAU,IAAI,IAAI;AACxB,UAAM,WAAW,IAAI,IAAI;AAEzB,UAAM,MAAM,MAAM,MAAM,CAAC,SAAS;AAChC,oBAAc,QAAQ;AAAA,IACxB,GAAG,EAAE,WAAW,KAAI,CAAE;AAEtB,aAAS,aAAc;AACrB,cAAQ,QAAQ,WAAW,MAAM;AAC/B,sBAAc,QAAQ;AAAA,MAC1B,GAAK,MAAM,UAAU;AAAA,IACrB;AAEA,aAAS,cAAe;AACtB,eAAS,QAAQ,WAAW,MAAM;AAChC,sBAAc,QAAQ;AAAA,MAC1B,GAAK,MAAM,UAAU;AAAA,IACrB;AAEA,aAAS,eAAgB;AACvB,UAAI,MAAM,SAAS,MAAM;AACvB,qBAAa,SAAS,KAAK;AAC3B;MACD;AAAA,IACH;AAEA,aAAS,eAAgB;AACvB,UAAI,MAAM,SAAS,MAAM;AACvB,qBAAa,QAAQ,KAAK;AAC1B;MACD;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -111,6 +111,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
111
111
|
}), 256))
|
|
112
112
|
], 2);
|
|
113
113
|
}
|
|
114
|
-
const
|
|
115
|
-
exports.default =
|
|
114
|
+
const DtKeyboardShortcut = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
|
|
115
|
+
exports.default = DtKeyboardShortcut;
|
|
116
116
|
//# sourceMappingURL=keyboard_shortcut.vue.cjs.map
|
|
@@ -109,8 +109,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
109
109
|
}), 256))
|
|
110
110
|
], 2);
|
|
111
111
|
}
|
|
112
|
-
const
|
|
112
|
+
const DtKeyboardShortcut = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
113
113
|
export {
|
|
114
|
-
|
|
114
|
+
DtKeyboardShortcut as default
|
|
115
115
|
};
|
|
116
116
|
//# sourceMappingURL=keyboard_shortcut.vue.js.map
|
|
@@ -10,7 +10,6 @@ const sr_only_close_button = require("../../common/sr_only_close_button.vue.cjs"
|
|
|
10
10
|
const vue = require("vue");
|
|
11
11
|
const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.cjs");
|
|
12
12
|
const lazy_show = require("../lazy_show/lazy_show.vue.cjs");
|
|
13
|
-
const tooltip_constants = require("../tooltip/tooltip_constants.cjs");
|
|
14
13
|
const _sfc_main = {
|
|
15
14
|
name: "DtPopover",
|
|
16
15
|
/********************
|
|
@@ -343,30 +342,6 @@ const _sfc_main = {
|
|
|
343
342
|
validator: (appendTo) => {
|
|
344
343
|
return popover_constants.POPOVER_APPEND_TO_VALUES.includes(appendTo) || appendTo instanceof HTMLElement;
|
|
345
344
|
}
|
|
346
|
-
},
|
|
347
|
-
/**
|
|
348
|
-
* Set this prop to true and popover component will support hovercard behaviour
|
|
349
|
-
* It will open on mouseenter and close on mouseleave with timer delay of 300ms
|
|
350
|
-
*/
|
|
351
|
-
hovercard: {
|
|
352
|
-
type: Boolean,
|
|
353
|
-
default: false
|
|
354
|
-
},
|
|
355
|
-
/**
|
|
356
|
-
* The enter delay in milliseconds before the hovercard is shown.
|
|
357
|
-
* @type number
|
|
358
|
-
*/
|
|
359
|
-
enterDelay: {
|
|
360
|
-
type: Number,
|
|
361
|
-
default: tooltip_constants.TOOLTIP_DELAY_MS
|
|
362
|
-
},
|
|
363
|
-
/**
|
|
364
|
-
* The leave delay in milliseconds before the hovercard is hidden.
|
|
365
|
-
* @type number
|
|
366
|
-
*/
|
|
367
|
-
leaveDelay: {
|
|
368
|
-
type: Number,
|
|
369
|
-
default: tooltip_constants.TOOLTIP_DELAY_MS
|
|
370
345
|
}
|
|
371
346
|
},
|
|
372
347
|
emits: [
|
|
@@ -388,7 +363,31 @@ const _sfc_main = {
|
|
|
388
363
|
* @event opened
|
|
389
364
|
* @type {Boolean | Array}
|
|
390
365
|
*/
|
|
391
|
-
"opened"
|
|
366
|
+
"opened",
|
|
367
|
+
/**
|
|
368
|
+
* Emitted when the mouse enters the popover
|
|
369
|
+
*
|
|
370
|
+
* @event mouseenter-popover
|
|
371
|
+
*/
|
|
372
|
+
"mouseenter-popover",
|
|
373
|
+
/**
|
|
374
|
+
* Emitted when the mouse leaves the popover
|
|
375
|
+
*
|
|
376
|
+
* @event mouseleave-popover
|
|
377
|
+
*/
|
|
378
|
+
"mouseleave-popover",
|
|
379
|
+
/**
|
|
380
|
+
* Emitted when the mouse enters the popover anchor
|
|
381
|
+
*
|
|
382
|
+
* @event mouseenter-popover-anchor
|
|
383
|
+
*/
|
|
384
|
+
"mouseenter-popover-anchor",
|
|
385
|
+
/**
|
|
386
|
+
* Emitted when the mouse leaves the popover anchor
|
|
387
|
+
*
|
|
388
|
+
* @event mouseleave-popover-anchor
|
|
389
|
+
*/
|
|
390
|
+
"mouseleave-popover-anchor"
|
|
392
391
|
],
|
|
393
392
|
data() {
|
|
394
393
|
return {
|
|
@@ -400,9 +399,7 @@ const _sfc_main = {
|
|
|
400
399
|
toAppear: false,
|
|
401
400
|
anchorEl: null,
|
|
402
401
|
popoverContentEl: null,
|
|
403
|
-
hasSlotContent: common_utils.hasSlotContent
|
|
404
|
-
inTimer: null,
|
|
405
|
-
outTimer: null
|
|
402
|
+
hasSlotContent: common_utils.hasSlotContent
|
|
406
403
|
};
|
|
407
404
|
},
|
|
408
405
|
computed: {
|
|
@@ -556,9 +553,6 @@ const _sfc_main = {
|
|
|
556
553
|
},
|
|
557
554
|
defaultToggleOpen(e) {
|
|
558
555
|
var _a, _b, _c;
|
|
559
|
-
if (this.hovercard) {
|
|
560
|
-
return;
|
|
561
|
-
}
|
|
562
556
|
if (this.openOnContext) {
|
|
563
557
|
return;
|
|
564
558
|
}
|
|
@@ -812,36 +806,18 @@ const _sfc_main = {
|
|
|
812
806
|
onShow: this.onShow
|
|
813
807
|
});
|
|
814
808
|
},
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
// ----------------------------------------------------------------------------
|
|
818
|
-
setInTimer() {
|
|
819
|
-
this.inTimer = setTimeout(() => {
|
|
820
|
-
this.isOpen = true;
|
|
821
|
-
}, this.enterDelay);
|
|
822
|
-
},
|
|
823
|
-
setOutTimer() {
|
|
824
|
-
this.outTimer = setTimeout(() => {
|
|
825
|
-
this.isOpen = false;
|
|
826
|
-
}, this.leaveDelay);
|
|
827
|
-
},
|
|
828
|
-
openHovercard() {
|
|
829
|
-
if (!this.hovercard) return;
|
|
830
|
-
if (this.open === null || this.open === void 0) {
|
|
831
|
-
clearTimeout(this.outTimer);
|
|
832
|
-
this.setInTimer();
|
|
833
|
-
}
|
|
809
|
+
onMouseEnter() {
|
|
810
|
+
this.$emit("mouseenter-popover");
|
|
834
811
|
},
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
812
|
+
onMouseLeave() {
|
|
813
|
+
this.$emit("mouseleave-popover");
|
|
814
|
+
},
|
|
815
|
+
onMouseEnterAnchor() {
|
|
816
|
+
this.$emit("mouseenter-popover-anchor");
|
|
817
|
+
},
|
|
818
|
+
onMouseLeaveAnchor() {
|
|
819
|
+
this.$emit("mouseleave-popover-anchor");
|
|
841
820
|
}
|
|
842
|
-
// ============================================================================
|
|
843
|
-
// $ HOVERCARD
|
|
844
|
-
// ----------------------------------------------------------------------------
|
|
845
821
|
}
|
|
846
822
|
};
|
|
847
823
|
const _hoisted_1 = ["aria-hidden"];
|
|
@@ -883,8 +859,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
883
859
|
_cache[7] || (_cache[7] = vue.withKeys(($event) => _ctx.$emit("keydown", $event), ["space"]))
|
|
884
860
|
],
|
|
885
861
|
onKeydownCapture: _cache[5] || (_cache[5] = vue.withKeys((...args) => $options.closePopover && $options.closePopover(...args), ["escape"])),
|
|
886
|
-
onMouseenter: _cache[8] || (_cache[8] = (...args) => $options.
|
|
887
|
-
onMouseleave: _cache[9] || (_cache[9] = (...args) => $options.
|
|
862
|
+
onMouseenter: _cache[8] || (_cache[8] = (...args) => $options.onMouseEnter && $options.onMouseEnter(...args)),
|
|
863
|
+
onMouseleave: _cache[9] || (_cache[9] = (...args) => $options.onMouseLeave && $options.onMouseLeave(...args))
|
|
888
864
|
}, [
|
|
889
865
|
vue.renderSlot(_ctx.$slots, "anchor", {
|
|
890
866
|
attrs: {
|
|
@@ -914,8 +890,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
914
890
|
css: _ctx.$attrs.css,
|
|
915
891
|
tabindex: $props.contentTabindex
|
|
916
892
|
}, vue.toHandlers($options.popoverListeners), {
|
|
917
|
-
onMouseenter: $options.
|
|
918
|
-
onMouseleave: $options.
|
|
893
|
+
onMouseenter: $options.onMouseEnterAnchor,
|
|
894
|
+
onMouseleave: $options.onMouseLeaveAnchor
|
|
919
895
|
}), {
|
|
920
896
|
default: vue.withCtx(() => [
|
|
921
897
|
$data.hasSlotContent(_ctx.$slots.headerContent) || $props.showCloseButton ? (vue.openBlock(), vue.createBlock(_component_popover_header_footer, {
|