@dialpad/dialtone-vue 3.88.0 → 3.89.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/CHANGELOG.json +1 -1
- package/CHANGELOG.md +29 -0
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.cjs +5 -5
- package/dist/dialtone-vue.js +1623 -2191
- package/dist/{emoji-3ea15d88.js → emoji-e5c98301.js} +16 -16
- package/dist/emoji.js +4 -4
- package/dist/message_input.cjs +17 -17
- package/dist/message_input.js +4053 -3748
- package/dist/{notice-1ead279e.js → stack-5e05e7f3.js} +926 -334
- package/dist/stack-96a00d5c.cjs +2 -0
- package/dist/style.css +1 -1
- package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +13 -0
- package/dist/types/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/extensions/emoji/suggestion.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +71 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +16 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/mention.d.ts +2 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/mention.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/suggestion.d.ts +10 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/suggestion.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/extensions/{emoji/EmojiList.vue.d.ts → suggestion/SuggestionList.vue.d.ts} +17 -1
- package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/mention_suggestion.d.ts +11 -0
- package/dist/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +31 -0
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/types/components/root_layout/root_layout.vue.d.ts +3 -6
- package/dist/types/components/root_layout/root_layout.vue.d.ts.map +1 -1
- package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +7 -2
- package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +1 -1
- package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
- package/dist/types/recipes/list_items/contact_info/contact_info.vue.d.ts +1 -1
- package/package.json +13 -12
- package/dist/notice-876cf6fe.cjs +0 -2
- package/dist/types/components/rich_text_editor/extensions/emoji/EmojiList.vue.d.ts.map +0 -1
|
@@ -1,15 +1,449 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
1
|
+
import { _ as y, d as Y, p as Z, D as I, g as R, I as X, a as J, h as L, b as F, L as Q, c as ee, u as te, T as se, e as ne, i as oe, f as ie, j as ae } from "./emoji-e5c98301.js";
|
|
2
|
+
import { openBlock as i, createElementBlock as r, toDisplayString as A, createCommentVNode as d, createElementVNode as b, normalizeClass as p, resolveComponent as f, createBlock as u, resolveDynamicComponent as C, withCtx as h, mergeProps as T, renderSlot as l, createVNode as g, createTextVNode as le, withKeys as E, withModifiers as P, toHandlers as z, createSlots as re, renderList as de, Teleport as ce } from "vue";
|
|
3
|
+
const O = {
|
|
4
|
+
BUSY: "busy",
|
|
5
|
+
AWAY: "away",
|
|
6
|
+
OFFLINE: "offline",
|
|
7
|
+
ACTIVE: "active"
|
|
8
|
+
}, ue = [
|
|
9
|
+
O.BUSY,
|
|
10
|
+
O.AWAY,
|
|
11
|
+
O.OFFLINE,
|
|
12
|
+
O.ACTIVE
|
|
13
|
+
], he = {
|
|
14
|
+
name: "DtPresence",
|
|
15
|
+
props: {
|
|
16
|
+
/**
|
|
17
|
+
* Determines the color of the inner presence circle, indicating status.
|
|
18
|
+
* Accepts one of 4 values: 'busy', 'away', 'active', 'offline'
|
|
19
|
+
* @values busy, away, active, offline
|
|
20
|
+
*/
|
|
21
|
+
presence: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: O.ACTIVE,
|
|
24
|
+
validator: (e) => ue.includes(e)
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Since Presence is a visual element, we need SRs to read out any state changes
|
|
28
|
+
* that occur.
|
|
29
|
+
* Text entered here will be read by assistive technology. If null this component will be ignored by AT.
|
|
30
|
+
*/
|
|
31
|
+
srText: {
|
|
32
|
+
type: String,
|
|
33
|
+
default: null
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, fe = ["aria-live"], pe = {
|
|
37
|
+
key: 0,
|
|
38
|
+
"data-qa": "dt-presence-sr-text",
|
|
39
|
+
class: "sr-only"
|
|
40
|
+
};
|
|
41
|
+
function me(e, s, t, a, o, n) {
|
|
42
|
+
return i(), r("div", {
|
|
43
|
+
class: "d-presence",
|
|
44
|
+
"data-qa": "dt-presence",
|
|
45
|
+
role: "status",
|
|
46
|
+
"aria-live": e.$attrs.ariaLive || "off"
|
|
47
|
+
}, [
|
|
48
|
+
t.srText ? (i(), r("span", pe, A(t.srText), 1)) : d("", !0),
|
|
49
|
+
b("div", {
|
|
50
|
+
class: p(["d-presence__inner", {
|
|
51
|
+
"d-presence__inner--active": t.presence === "active",
|
|
52
|
+
"d-presence__inner--away": t.presence === "away",
|
|
53
|
+
"d-presence__inner--busy": t.presence === "busy",
|
|
54
|
+
"d-presence__inner--offline": t.presence === "offline"
|
|
55
|
+
}])
|
|
56
|
+
}, null, 2)
|
|
57
|
+
], 8, fe);
|
|
58
|
+
}
|
|
59
|
+
const ye = /* @__PURE__ */ y(he, [["render", me]]), N = {
|
|
60
|
+
xs: "d-avatar--xs",
|
|
61
|
+
sm: "d-avatar--sm",
|
|
62
|
+
md: "d-avatar--md",
|
|
63
|
+
lg: "d-avatar--lg",
|
|
64
|
+
xl: "d-avatar--xl"
|
|
65
|
+
}, _e = {
|
|
66
|
+
default: "",
|
|
67
|
+
icon: "d-avatar__icon",
|
|
68
|
+
initials: "d-avatar__initials"
|
|
69
|
+
}, ve = {
|
|
70
|
+
md: "d-avatar__presence--md",
|
|
71
|
+
lg: "d-avatar__presence--lg"
|
|
72
|
+
}, V = {
|
|
73
|
+
NONE: "",
|
|
74
|
+
BUSY: "busy",
|
|
75
|
+
AWAY: "away",
|
|
76
|
+
OFFLINE: "offline",
|
|
77
|
+
ACTIVE: "active"
|
|
78
|
+
}, ge = {
|
|
79
|
+
xs: "100",
|
|
80
|
+
sm: "200",
|
|
81
|
+
md: "300",
|
|
82
|
+
lg: "500",
|
|
83
|
+
xl: "600"
|
|
84
|
+
}, be = [
|
|
85
|
+
"100",
|
|
86
|
+
"200",
|
|
87
|
+
"300",
|
|
88
|
+
"400",
|
|
89
|
+
"500",
|
|
90
|
+
"600",
|
|
91
|
+
"700",
|
|
92
|
+
"800",
|
|
93
|
+
"900",
|
|
94
|
+
"1000",
|
|
95
|
+
"1100",
|
|
96
|
+
"1200",
|
|
97
|
+
"1300",
|
|
98
|
+
"1400",
|
|
99
|
+
"1500",
|
|
100
|
+
"1600",
|
|
101
|
+
"1700",
|
|
102
|
+
"1800"
|
|
103
|
+
], x = (e) => e > 1;
|
|
104
|
+
function Se() {
|
|
105
|
+
return [void 0, ...Object.keys(Y).map((e) => Z(e))];
|
|
106
|
+
}
|
|
107
|
+
const Ee = (e) => {
|
|
108
|
+
if (typeof e != "string" || !e.trim())
|
|
109
|
+
return "";
|
|
110
|
+
const s = e.trim().split(/\s+/g);
|
|
111
|
+
return s.length === 1 ? s.join("").substring(0, 2) : s.filter((t, a) => a === 0 || a === s.length - 1).map((t) => t.slice(0, 1).toUpperCase()).join("");
|
|
112
|
+
};
|
|
113
|
+
const Ce = Se(), Ie = {
|
|
114
|
+
name: "DtAvatar",
|
|
115
|
+
components: { DtPresence: ye, DtIcon: I },
|
|
116
|
+
inheritAttrs: !1,
|
|
117
|
+
props: {
|
|
118
|
+
/**
|
|
119
|
+
* Id of the avatar content wrapper element
|
|
120
|
+
*/
|
|
121
|
+
id: {
|
|
122
|
+
type: String,
|
|
123
|
+
default() {
|
|
124
|
+
return R();
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
/**
|
|
128
|
+
* Pass in a seed to get the random color generation based on that string. For example if you pass in a
|
|
129
|
+
* user ID as the string it will return the same randomly generated colors every time for that user.
|
|
130
|
+
*/
|
|
131
|
+
seed: {
|
|
132
|
+
type: String,
|
|
133
|
+
default: void 0
|
|
134
|
+
},
|
|
135
|
+
/**
|
|
136
|
+
* Set the avatar background to a specific color. If undefined will randomize the color which can be deterministic
|
|
137
|
+
* if the seed prop is set.
|
|
138
|
+
*/
|
|
139
|
+
color: {
|
|
140
|
+
type: String,
|
|
141
|
+
default: void 0
|
|
142
|
+
},
|
|
143
|
+
/**
|
|
144
|
+
* The size of the avatar
|
|
145
|
+
* @values xs, sm, md, lg, xl
|
|
146
|
+
*/
|
|
147
|
+
size: {
|
|
148
|
+
type: String,
|
|
149
|
+
default: "md",
|
|
150
|
+
validator: (e) => Object.keys(N).includes(e)
|
|
151
|
+
},
|
|
152
|
+
/**
|
|
153
|
+
* Used to customize the avatar container
|
|
154
|
+
*/
|
|
155
|
+
avatarClass: {
|
|
156
|
+
type: [String, Array, Object],
|
|
157
|
+
default: ""
|
|
158
|
+
},
|
|
159
|
+
/**
|
|
160
|
+
* Set classes on the avatar canvas. Wrapper around the core avatar image.
|
|
161
|
+
*/
|
|
162
|
+
canvasClass: {
|
|
163
|
+
type: [String, Array, Object],
|
|
164
|
+
default: ""
|
|
165
|
+
},
|
|
166
|
+
/**
|
|
167
|
+
* Pass through classes. Used to customize the avatar icon
|
|
168
|
+
*/
|
|
169
|
+
iconClass: {
|
|
170
|
+
type: [String, Array, Object],
|
|
171
|
+
default: ""
|
|
172
|
+
},
|
|
173
|
+
/**
|
|
174
|
+
* Determines whether to show the presence indicator for
|
|
175
|
+
* Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',
|
|
176
|
+
* or 'active'. By default, it's null and nothing is shown.
|
|
177
|
+
* @values null, busy, away, offline, active
|
|
178
|
+
*/
|
|
179
|
+
presence: {
|
|
180
|
+
type: String,
|
|
181
|
+
default: V.NONE,
|
|
182
|
+
validator: (e) => Object.values(V).includes(e)
|
|
183
|
+
},
|
|
184
|
+
/**
|
|
185
|
+
* A set of props to be passed into the presence component.
|
|
186
|
+
*/
|
|
187
|
+
presenceProps: {
|
|
188
|
+
type: Object,
|
|
189
|
+
default: () => ({})
|
|
190
|
+
},
|
|
191
|
+
/**
|
|
192
|
+
* Determines whether to show a group avatar.
|
|
193
|
+
* Limit to 2 digits max, more than 99 will be rendered as “99+”.
|
|
194
|
+
* if the number is 1 or less it would just show the regular avatar as if group had not been set.
|
|
195
|
+
*/
|
|
196
|
+
group: {
|
|
197
|
+
type: Number,
|
|
198
|
+
default: void 0,
|
|
199
|
+
validator: (e) => x(e)
|
|
200
|
+
},
|
|
201
|
+
/**
|
|
202
|
+
* The icon that overlays the avatar
|
|
203
|
+
*/
|
|
204
|
+
overlayIcon: {
|
|
205
|
+
type: String,
|
|
206
|
+
default: ""
|
|
207
|
+
},
|
|
208
|
+
/**
|
|
209
|
+
* The text that overlays the avatar
|
|
210
|
+
*/
|
|
211
|
+
overlayText: {
|
|
212
|
+
type: String,
|
|
213
|
+
default: ""
|
|
214
|
+
},
|
|
215
|
+
/**
|
|
216
|
+
* Used to customize the avatar overlay
|
|
217
|
+
*/
|
|
218
|
+
overlayClass: {
|
|
219
|
+
type: [String, Array, Object],
|
|
220
|
+
default: ""
|
|
221
|
+
},
|
|
222
|
+
/**
|
|
223
|
+
* Source of the image
|
|
224
|
+
*/
|
|
225
|
+
imageSrc: {
|
|
226
|
+
type: String,
|
|
227
|
+
default: ""
|
|
228
|
+
},
|
|
229
|
+
/**
|
|
230
|
+
* Alt attribute of the image, by default
|
|
231
|
+
* it'd be the full name
|
|
232
|
+
*/
|
|
233
|
+
imageAlt: {
|
|
234
|
+
type: String,
|
|
235
|
+
default: ""
|
|
236
|
+
},
|
|
237
|
+
/**
|
|
238
|
+
* Icon name to be displayed on the avatar
|
|
239
|
+
*/
|
|
240
|
+
iconName: {
|
|
241
|
+
type: String,
|
|
242
|
+
default: void 0,
|
|
243
|
+
validator: (e) => Ce.includes(e)
|
|
244
|
+
},
|
|
245
|
+
/**
|
|
246
|
+
* Icon size to be displayed on the avatar
|
|
247
|
+
* @values 100, 200, 300, 400, 500, 600, 700, 800
|
|
248
|
+
*/
|
|
249
|
+
iconSize: {
|
|
250
|
+
type: String,
|
|
251
|
+
default: "",
|
|
252
|
+
validator: (e) => !e || Object.keys(X).includes(e)
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Full name used to extract initials and set alt attribute.
|
|
256
|
+
*/
|
|
257
|
+
fullName: {
|
|
258
|
+
type: String,
|
|
259
|
+
default: ""
|
|
260
|
+
},
|
|
261
|
+
/**
|
|
262
|
+
* Makes the avatar focusable and clickable,
|
|
263
|
+
* emits a click event when clicked.
|
|
264
|
+
*/
|
|
265
|
+
clickable: {
|
|
266
|
+
type: Boolean,
|
|
267
|
+
default: !1
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
emits: [
|
|
271
|
+
/**
|
|
272
|
+
* Avatar click event
|
|
273
|
+
*
|
|
274
|
+
* @event click
|
|
275
|
+
* @type {PointerEvent | KeyboardEvent}
|
|
276
|
+
*/
|
|
277
|
+
"click"
|
|
278
|
+
],
|
|
279
|
+
data() {
|
|
280
|
+
return {
|
|
281
|
+
AVATAR_SIZE_MODIFIERS: N,
|
|
282
|
+
AVATAR_KIND_MODIFIERS: _e,
|
|
283
|
+
AVATAR_PRESENCE_SIZE_MODIFIERS: ve,
|
|
284
|
+
AVATAR_ICON_SIZES: ge,
|
|
285
|
+
imageLoadedSuccessfully: null,
|
|
286
|
+
formattedInitials: "",
|
|
287
|
+
initializing: !1
|
|
288
|
+
};
|
|
289
|
+
},
|
|
290
|
+
computed: {
|
|
291
|
+
isNotIconType() {
|
|
292
|
+
return !this.iconName;
|
|
293
|
+
},
|
|
294
|
+
avatarClasses() {
|
|
295
|
+
return [
|
|
296
|
+
"d-avatar",
|
|
297
|
+
N[this.validatedSize],
|
|
298
|
+
this.avatarClass,
|
|
299
|
+
{
|
|
300
|
+
"d-avatar--group": this.showGroup,
|
|
301
|
+
[`d-avatar--color-${this.getColor()}`]: this.isNotIconType,
|
|
302
|
+
"d-avatar--clickable": this.clickable
|
|
303
|
+
}
|
|
304
|
+
];
|
|
305
|
+
},
|
|
306
|
+
overlayClasses() {
|
|
307
|
+
return [
|
|
308
|
+
"d-avatar__overlay",
|
|
309
|
+
this.overlayClass
|
|
310
|
+
];
|
|
311
|
+
},
|
|
312
|
+
showGroup() {
|
|
313
|
+
return x(this.group);
|
|
314
|
+
},
|
|
315
|
+
formattedGroup() {
|
|
316
|
+
return this.group > 99 ? "99+" : this.group;
|
|
317
|
+
},
|
|
318
|
+
validatedSize() {
|
|
319
|
+
return this.group ? "xs" : this.size;
|
|
320
|
+
},
|
|
321
|
+
showImage() {
|
|
322
|
+
return this.imageLoadedSuccessfully !== !1 && this.imageSrc;
|
|
323
|
+
},
|
|
324
|
+
buttonAriaLabel() {
|
|
325
|
+
if (this.clickable)
|
|
326
|
+
return this.fullName || this.imageAlt || this.$attrs["aria-label"];
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
watch: {
|
|
330
|
+
fullName: {
|
|
331
|
+
immediate: !0,
|
|
332
|
+
handler(e) {
|
|
333
|
+
this.formatInitials(e);
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
imageSrc(e) {
|
|
337
|
+
this.imageLoadedSuccessfully = null, e && (this.validateProps(), this.setImageListeners());
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
mounted() {
|
|
341
|
+
this.validateProps(), this.setImageListeners();
|
|
342
|
+
},
|
|
343
|
+
methods: {
|
|
344
|
+
async setImageListeners() {
|
|
345
|
+
await this.$nextTick();
|
|
346
|
+
const e = this.$refs.avatarImage;
|
|
347
|
+
e && (e.addEventListener("load", () => this._loadedImageEventHandler(e), { once: !0 }), e.addEventListener("error", () => this._erroredImageEventHandler(e), { once: !0 }));
|
|
348
|
+
},
|
|
349
|
+
formatInitials(e) {
|
|
350
|
+
const s = Ee(e);
|
|
351
|
+
this.validatedSize === "xs" ? this.formattedInitials = "" : this.validatedSize === "sm" ? this.formattedInitials = s[0] : this.formattedInitials = s;
|
|
352
|
+
},
|
|
353
|
+
getColor() {
|
|
354
|
+
return this.color ?? J(be, this.seed);
|
|
355
|
+
},
|
|
356
|
+
_loadedImageEventHandler(e) {
|
|
357
|
+
this.imageLoadedSuccessfully = !0, e.classList.remove("d-d-none");
|
|
358
|
+
},
|
|
359
|
+
_erroredImageEventHandler(e) {
|
|
360
|
+
this.imageLoadedSuccessfully = !1, e.classList.add("d-d-none");
|
|
361
|
+
},
|
|
362
|
+
validateProps() {
|
|
363
|
+
if (this.imageSrc && !(this.fullName || this.imageAlt))
|
|
364
|
+
throw new Error("full-name or image-alt must be set if image-src is provided");
|
|
365
|
+
},
|
|
366
|
+
handleClick(e) {
|
|
367
|
+
this.clickable && this.$emit("click", e);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}, Oe = ["src", "alt"], Ae = {
|
|
371
|
+
key: 1,
|
|
372
|
+
class: "d-avatar__overlay-text"
|
|
373
|
+
}, ke = {
|
|
374
|
+
key: 1,
|
|
375
|
+
class: "d-avatar__count",
|
|
376
|
+
"data-qa": "dt-avatar-count"
|
|
377
|
+
};
|
|
378
|
+
function Te(e, s, t, a, o, n) {
|
|
379
|
+
const c = f("dt-icon"), _ = f("dt-presence");
|
|
380
|
+
return i(), u(C(t.clickable ? "button" : "div"), {
|
|
381
|
+
id: t.id,
|
|
382
|
+
class: p(n.avatarClasses),
|
|
383
|
+
"data-qa": "dt-avatar",
|
|
384
|
+
"aria-label": n.buttonAriaLabel,
|
|
385
|
+
onClick: n.handleClick
|
|
386
|
+
}, {
|
|
387
|
+
default: h(() => [
|
|
388
|
+
b("div", {
|
|
389
|
+
ref: "canvas",
|
|
390
|
+
class: p([
|
|
391
|
+
t.canvasClass,
|
|
392
|
+
"d-avatar__canvas",
|
|
393
|
+
{ "d-avatar--image-loaded": o.imageLoadedSuccessfully }
|
|
394
|
+
])
|
|
395
|
+
}, [
|
|
396
|
+
n.showImage ? (i(), r("img", {
|
|
397
|
+
key: 0,
|
|
398
|
+
ref: "avatarImage",
|
|
399
|
+
class: "d-avatar__image",
|
|
400
|
+
"data-qa": "dt-avatar-image",
|
|
401
|
+
src: t.imageSrc,
|
|
402
|
+
alt: t.imageAlt || t.fullName
|
|
403
|
+
}, null, 8, Oe)) : t.iconName ? (i(), u(c, {
|
|
404
|
+
key: 1,
|
|
405
|
+
name: t.iconName,
|
|
406
|
+
size: t.iconSize || o.AVATAR_ICON_SIZES[t.size],
|
|
407
|
+
class: p([t.iconClass, o.AVATAR_KIND_MODIFIERS.icon]),
|
|
408
|
+
"data-qa": "dt-avatar-icon"
|
|
409
|
+
}, null, 8, ["name", "size", "class"])) : (i(), r("span", {
|
|
410
|
+
key: 2,
|
|
411
|
+
class: p([o.AVATAR_KIND_MODIFIERS.initials, "d-ps-absolute d-zi-base d-us-none"])
|
|
412
|
+
}, A(o.formattedInitials), 3))
|
|
413
|
+
], 2),
|
|
414
|
+
t.overlayIcon || t.overlayText ? (i(), r("div", {
|
|
415
|
+
key: 0,
|
|
416
|
+
class: p(n.overlayClasses)
|
|
417
|
+
}, [
|
|
418
|
+
t.overlayIcon ? (i(), u(c, {
|
|
419
|
+
key: 0,
|
|
420
|
+
class: "d-avatar__overlay-icon",
|
|
421
|
+
name: t.overlayIcon
|
|
422
|
+
}, null, 8, ["name"])) : t.overlayText ? (i(), r("p", Ae, A(t.overlayText), 1)) : d("", !0)
|
|
423
|
+
], 2)) : d("", !0),
|
|
424
|
+
n.showGroup ? (i(), r("span", ke, A(n.formattedGroup), 1)) : d("", !0),
|
|
425
|
+
t.presence && !n.showGroup ? (i(), u(_, T({
|
|
426
|
+
key: 2,
|
|
427
|
+
presence: t.presence,
|
|
428
|
+
class: [
|
|
429
|
+
"d-avatar__presence",
|
|
430
|
+
o.AVATAR_PRESENCE_SIZE_MODIFIERS[t.size]
|
|
431
|
+
]
|
|
432
|
+
}, t.presenceProps, { "data-qa": "dt-presence" }), null, 16, ["presence", "class"])) : d("", !0)
|
|
433
|
+
]),
|
|
434
|
+
_: 1
|
|
435
|
+
}, 8, ["id", "class", "aria-label", "onClick"]);
|
|
436
|
+
}
|
|
437
|
+
const Dt = /* @__PURE__ */ y(Ie, [["render", Te]]), M = ["base", "error", "info", "success", "warning"], we = ["alert", "alertdialog", "status"], Pe = /* @__PURE__ */ new Map([
|
|
4
438
|
["info", "info"],
|
|
5
439
|
["success", "check-circle"],
|
|
6
440
|
["warning", "alert-triangle"],
|
|
7
441
|
["error", "alert-circle"],
|
|
8
442
|
["base", "bell"]
|
|
9
|
-
]),
|
|
443
|
+
]), Le = {
|
|
10
444
|
name: "DtNoticeIcon",
|
|
11
445
|
components: {
|
|
12
|
-
DtIcon:
|
|
446
|
+
DtIcon: I
|
|
13
447
|
},
|
|
14
448
|
props: {
|
|
15
449
|
/**
|
|
@@ -20,37 +454,37 @@ const $ = ["base", "error", "info", "success", "warning"], G = ["alert", "alertd
|
|
|
20
454
|
type: String,
|
|
21
455
|
default: "base",
|
|
22
456
|
validate(e) {
|
|
23
|
-
return
|
|
457
|
+
return M.includes(e);
|
|
24
458
|
}
|
|
25
459
|
}
|
|
26
460
|
},
|
|
27
461
|
data() {
|
|
28
462
|
return {
|
|
29
|
-
hasSlotContent:
|
|
463
|
+
hasSlotContent: L
|
|
30
464
|
};
|
|
31
465
|
},
|
|
32
466
|
computed: {
|
|
33
467
|
defaultIcon() {
|
|
34
|
-
return
|
|
468
|
+
return Pe.get(this.kind);
|
|
35
469
|
}
|
|
36
470
|
}
|
|
37
|
-
},
|
|
471
|
+
}, Ne = {
|
|
38
472
|
key: 0,
|
|
39
473
|
"aria-hidden": "true",
|
|
40
474
|
class: "d-notice__icon"
|
|
41
475
|
};
|
|
42
|
-
function
|
|
43
|
-
const
|
|
44
|
-
return
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
name:
|
|
476
|
+
function De(e, s, t, a, o, n) {
|
|
477
|
+
const c = f("dt-icon");
|
|
478
|
+
return n.defaultIcon || o.hasSlotContent(e.$slots.default) ? (i(), r("div", Ne, [
|
|
479
|
+
l(e.$slots, "default", {}, () => [
|
|
480
|
+
g(c, {
|
|
481
|
+
name: n.defaultIcon,
|
|
48
482
|
size: "400"
|
|
49
483
|
}, null, 8, ["name"])
|
|
50
484
|
])
|
|
51
|
-
])) :
|
|
485
|
+
])) : d("", !0);
|
|
52
486
|
}
|
|
53
|
-
const
|
|
487
|
+
const Re = /* @__PURE__ */ y(Le, [["render", De]]), Fe = {
|
|
54
488
|
name: "DtNoticeContent",
|
|
55
489
|
props: {
|
|
56
490
|
/**
|
|
@@ -79,35 +513,35 @@ const ee = /* @__PURE__ */ v(X, [["render", Q]]), te = {
|
|
|
79
513
|
},
|
|
80
514
|
data() {
|
|
81
515
|
return {
|
|
82
|
-
hasSlotContent:
|
|
516
|
+
hasSlotContent: L
|
|
83
517
|
};
|
|
84
518
|
}
|
|
85
|
-
},
|
|
519
|
+
}, Be = {
|
|
86
520
|
class: "d-notice__content",
|
|
87
521
|
"data-qa": "notice-content"
|
|
88
|
-
},
|
|
89
|
-
function
|
|
90
|
-
return
|
|
91
|
-
|
|
522
|
+
}, He = ["id"], Ve = ["id"];
|
|
523
|
+
function xe(e, s, t, a, o, n) {
|
|
524
|
+
return i(), r("div", Be, [
|
|
525
|
+
t.title || o.hasSlotContent(e.$slots.titleOverride) ? (i(), r("p", {
|
|
92
526
|
key: 0,
|
|
93
|
-
id:
|
|
527
|
+
id: t.titleId,
|
|
94
528
|
class: "d-notice__title",
|
|
95
529
|
"data-qa": "notice-content-title"
|
|
96
530
|
}, [
|
|
97
|
-
|
|
98
|
-
|
|
531
|
+
l(e.$slots, "titleOverride", {}, () => [
|
|
532
|
+
le(A(t.title), 1)
|
|
99
533
|
])
|
|
100
|
-
], 8,
|
|
101
|
-
|
|
102
|
-
id:
|
|
534
|
+
], 8, He)) : d("", !0),
|
|
535
|
+
b("p", {
|
|
536
|
+
id: t.contentId,
|
|
103
537
|
class: "d-notice__message",
|
|
104
538
|
"data-qa": "notice-content-message"
|
|
105
539
|
}, [
|
|
106
|
-
|
|
107
|
-
], 8,
|
|
540
|
+
l(e.$slots, "default")
|
|
541
|
+
], 8, Ve)
|
|
108
542
|
]);
|
|
109
543
|
}
|
|
110
|
-
const
|
|
544
|
+
const $e = /* @__PURE__ */ y(Fe, [["render", xe]]), B = {
|
|
111
545
|
props: {
|
|
112
546
|
/**
|
|
113
547
|
* If true, a hidden close button is included for screen readers
|
|
@@ -146,11 +580,11 @@ const le = /* @__PURE__ */ v(te, [["render", ie]]), I = {
|
|
|
146
580
|
a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);
|
|
147
581
|
}
|
|
148
582
|
}
|
|
149
|
-
},
|
|
583
|
+
}, qe = {
|
|
150
584
|
name: "SrOnlyCloseButton",
|
|
151
585
|
components: {
|
|
152
|
-
DtIcon:
|
|
153
|
-
DtButton:
|
|
586
|
+
DtIcon: I,
|
|
587
|
+
DtButton: F
|
|
154
588
|
},
|
|
155
589
|
props: {
|
|
156
590
|
/**
|
|
@@ -169,30 +603,30 @@ const le = /* @__PURE__ */ v(te, [["render", ie]]), I = {
|
|
|
169
603
|
}
|
|
170
604
|
}
|
|
171
605
|
};
|
|
172
|
-
function
|
|
173
|
-
const
|
|
174
|
-
return
|
|
606
|
+
function je(e, s, t, a, o, n) {
|
|
607
|
+
const c = f("dt-icon"), _ = f("dt-button");
|
|
608
|
+
return i(), u(_, {
|
|
175
609
|
id: "sr-only-close-button",
|
|
176
610
|
"data-qa": "dt-sr-only-close-button",
|
|
177
611
|
class: "d-vi-visible-sr",
|
|
178
|
-
"aria-label":
|
|
179
|
-
onClick:
|
|
180
|
-
onKeydown:
|
|
612
|
+
"aria-label": t.visuallyHiddenCloseLabel,
|
|
613
|
+
onClick: n.close,
|
|
614
|
+
onKeydown: E(P(n.close, ["prevent", "stop"]), ["space"])
|
|
181
615
|
}, {
|
|
182
|
-
default:
|
|
183
|
-
|
|
616
|
+
default: h(() => [
|
|
617
|
+
g(c, { name: "close" })
|
|
184
618
|
]),
|
|
185
619
|
_: 1
|
|
186
620
|
}, 8, ["aria-label", "onClick", "onKeydown"]);
|
|
187
621
|
}
|
|
188
|
-
const
|
|
622
|
+
const W = /* @__PURE__ */ y(qe, [["render", je]]), Ke = {
|
|
189
623
|
name: "DtNoticeAction",
|
|
190
624
|
components: {
|
|
191
|
-
DtIcon:
|
|
192
|
-
DtButton:
|
|
193
|
-
SrOnlyCloseButton:
|
|
625
|
+
DtIcon: I,
|
|
626
|
+
DtButton: F,
|
|
627
|
+
SrOnlyCloseButton: W
|
|
194
628
|
},
|
|
195
|
-
mixins: [
|
|
629
|
+
mixins: [B],
|
|
196
630
|
props: {
|
|
197
631
|
/**
|
|
198
632
|
* Props for the notice close button.
|
|
@@ -233,39 +667,39 @@ const F = /* @__PURE__ */ v(ae, [["render", re]]), de = {
|
|
|
233
667
|
this.$emit("close");
|
|
234
668
|
}
|
|
235
669
|
}
|
|
236
|
-
},
|
|
670
|
+
}, ze = {
|
|
237
671
|
class: "d-notice__actions",
|
|
238
672
|
"data-qa": "notice-content-actions"
|
|
239
673
|
};
|
|
240
|
-
function
|
|
241
|
-
const
|
|
242
|
-
return
|
|
243
|
-
|
|
244
|
-
|
|
674
|
+
function Me(e, s, t, a, o, n) {
|
|
675
|
+
const c = f("dt-icon"), _ = f("dt-button"), v = f("sr-only-close-button");
|
|
676
|
+
return i(), r("div", ze, [
|
|
677
|
+
l(e.$slots, "default"),
|
|
678
|
+
t.hideClose ? d("", !0) : (i(), u(_, T({
|
|
245
679
|
key: 0,
|
|
246
680
|
ref: "closeButton",
|
|
247
681
|
"data-qa": "dt-notice-action-close-button",
|
|
248
682
|
size: "sm",
|
|
249
683
|
importance: "clear",
|
|
250
684
|
circle: "",
|
|
251
|
-
"aria-label":
|
|
252
|
-
},
|
|
253
|
-
icon:
|
|
254
|
-
|
|
685
|
+
"aria-label": t.closeButtonProps.ariaLabel ? t.closeButtonProps.ariaLabel : "Close"
|
|
686
|
+
}, t.closeButtonProps, { onClick: n.close }), {
|
|
687
|
+
icon: h(() => [
|
|
688
|
+
g(c, {
|
|
255
689
|
name: "close",
|
|
256
690
|
size: "200"
|
|
257
691
|
})
|
|
258
692
|
]),
|
|
259
693
|
_: 1
|
|
260
694
|
}, 16, ["aria-label", "onClick"])),
|
|
261
|
-
e.showVisuallyHiddenClose ? (
|
|
695
|
+
e.showVisuallyHiddenClose ? (i(), u(v, {
|
|
262
696
|
key: 1,
|
|
263
697
|
"visually-hidden-close-label": e.visuallyHiddenCloseLabel,
|
|
264
|
-
onClose:
|
|
265
|
-
}, null, 8, ["visually-hidden-close-label", "onClose"])) :
|
|
698
|
+
onClose: n.close
|
|
699
|
+
}, null, 8, ["visually-hidden-close-label", "onClose"])) : d("", !0)
|
|
266
700
|
]);
|
|
267
701
|
}
|
|
268
|
-
const
|
|
702
|
+
const We = /* @__PURE__ */ y(Ke, [["render", Me]]), G = ':not(:disabled):not([aria-disabled="true"]):not([role="presentation"])', Ge = `${G}:not([tabindex="-1"])`, Ue = "button,[href],input,select,textarea,details,[tabindex]", Ye = {
|
|
269
703
|
methods: {
|
|
270
704
|
/**
|
|
271
705
|
* get the first focusable element in your component, includes tabindex="-1".
|
|
@@ -274,8 +708,8 @@ const pe = /* @__PURE__ */ v(de, [["render", ue]]), N = ':not(:disabled):not([ar
|
|
|
274
708
|
*/
|
|
275
709
|
async getFirstFocusableElement(e) {
|
|
276
710
|
await this.$nextTick();
|
|
277
|
-
const
|
|
278
|
-
return this._getFirstFocusElement(
|
|
711
|
+
const s = this._getFocusableElements(e, !0);
|
|
712
|
+
return this._getFirstFocusElement(s);
|
|
279
713
|
},
|
|
280
714
|
/**
|
|
281
715
|
* set focus to the first focusable element in your component, includes tabindex="-1".
|
|
@@ -283,8 +717,8 @@ const pe = /* @__PURE__ */ v(de, [["render", ue]]), N = ':not(:disabled):not([ar
|
|
|
283
717
|
* will default to the root node of the vue component
|
|
284
718
|
*/
|
|
285
719
|
async focusFirstElement(e) {
|
|
286
|
-
const
|
|
287
|
-
|
|
720
|
+
const s = await this.getFirstFocusableElement(e);
|
|
721
|
+
s == null || s.focus({ preventScroll: !0 });
|
|
288
722
|
},
|
|
289
723
|
/**
|
|
290
724
|
* internal use only.
|
|
@@ -296,8 +730,8 @@ const pe = /* @__PURE__ */ v(de, [["render", ue]]), N = ':not(:disabled):not([ar
|
|
|
296
730
|
_getFirstFocusElement(e) {
|
|
297
731
|
if (!e.length)
|
|
298
732
|
return;
|
|
299
|
-
let
|
|
300
|
-
return
|
|
733
|
+
let s = e[0];
|
|
734
|
+
return s.matches('[type="radio"]:not(:checked)') && (s = e.find((t) => t.checked && t.name === s.name) || s), s;
|
|
301
735
|
},
|
|
302
736
|
/**
|
|
303
737
|
* internal use only.
|
|
@@ -308,10 +742,10 @@ const pe = /* @__PURE__ */ v(de, [["render", ue]]), N = ':not(:disabled):not([ar
|
|
|
308
742
|
* @param {object} el - the root dom element to find focusable elements in.
|
|
309
743
|
* @param {bool} includeNegativeTabIndex - will include tabindex="-1" in the list of focusable elements.
|
|
310
744
|
*/
|
|
311
|
-
_getFocusableElements(e = this.$el,
|
|
312
|
-
return e ? [...e.querySelectorAll(
|
|
313
|
-
const
|
|
314
|
-
return
|
|
745
|
+
_getFocusableElements(e = this.$el, s = !1) {
|
|
746
|
+
return e ? [...e.querySelectorAll(Ue)].filter((a) => {
|
|
747
|
+
const o = window.getComputedStyle(a);
|
|
748
|
+
return o.getPropertyValue("display") !== "none" && o.getPropertyValue("visibility") !== "hidden" && a.matches(s ? G : Ge);
|
|
315
749
|
}) : [];
|
|
316
750
|
},
|
|
317
751
|
/**
|
|
@@ -320,27 +754,60 @@ const pe = /* @__PURE__ */ v(de, [["render", ue]]), N = ':not(:disabled):not([ar
|
|
|
320
754
|
* @param {object} el - optional - ref of dom element to trap focus on.
|
|
321
755
|
* will default to the root node of the vue component
|
|
322
756
|
*/
|
|
323
|
-
focusTrappedTabPress(e,
|
|
757
|
+
focusTrappedTabPress(e, s) {
|
|
324
758
|
if (!(e.key === "Tab"))
|
|
325
759
|
return;
|
|
326
|
-
const
|
|
327
|
-
if (!
|
|
760
|
+
const a = this._getFocusableElements(s);
|
|
761
|
+
if (!a.length) {
|
|
328
762
|
e.preventDefault();
|
|
329
763
|
return;
|
|
330
764
|
}
|
|
331
|
-
const
|
|
332
|
-
e.shiftKey ? document.activeElement ===
|
|
765
|
+
const o = this._getFirstFocusElement(a), n = a[a.length - 1];
|
|
766
|
+
e.shiftKey ? document.activeElement === o && (n.focus(), e.preventDefault()) : document.activeElement === n && (o.focus(), e.preventDefault());
|
|
333
767
|
}
|
|
334
768
|
}
|
|
335
|
-
},
|
|
769
|
+
}, Ze = {
|
|
770
|
+
name: "DtLink",
|
|
771
|
+
props: {
|
|
772
|
+
/**
|
|
773
|
+
* Applies the link variant styles
|
|
774
|
+
* @values null, danger, warning, success, muted, inverted
|
|
775
|
+
*/
|
|
776
|
+
kind: {
|
|
777
|
+
type: String,
|
|
778
|
+
default: "",
|
|
779
|
+
validator(e) {
|
|
780
|
+
return Q.includes(e);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
},
|
|
784
|
+
data() {
|
|
785
|
+
return {
|
|
786
|
+
LINK_KIND_MODIFIERS: ee
|
|
787
|
+
};
|
|
788
|
+
}
|
|
789
|
+
}, Xe = ["href"];
|
|
790
|
+
function Je(e, s, t, a, o, n) {
|
|
791
|
+
return i(), r("a", {
|
|
792
|
+
class: p([
|
|
793
|
+
"d-link",
|
|
794
|
+
o.LINK_KIND_MODIFIERS[t.kind]
|
|
795
|
+
]),
|
|
796
|
+
"data-qa": "dt-link",
|
|
797
|
+
href: "href" in e.$attrs ? e.$attrs.href : "javascript:void(0)"
|
|
798
|
+
}, [
|
|
799
|
+
l(e.$slots, "default")
|
|
800
|
+
], 10, Xe);
|
|
801
|
+
}
|
|
802
|
+
const Rt = /* @__PURE__ */ y(Ze, [["render", Je]]), D = {
|
|
336
803
|
DEFAULT: "default",
|
|
337
804
|
CUSTOM: "custom"
|
|
338
|
-
},
|
|
805
|
+
}, w = {
|
|
339
806
|
ARROW_KEYS: "arrow-keys",
|
|
340
807
|
TAB: "tab",
|
|
341
808
|
NONE: "none"
|
|
342
809
|
};
|
|
343
|
-
const
|
|
810
|
+
const Qe = {
|
|
344
811
|
name: "DtItemLayout",
|
|
345
812
|
props: {
|
|
346
813
|
/**
|
|
@@ -351,67 +818,67 @@ const ye = {
|
|
|
351
818
|
default: "div"
|
|
352
819
|
}
|
|
353
820
|
}
|
|
354
|
-
},
|
|
821
|
+
}, et = {
|
|
355
822
|
key: 0,
|
|
356
823
|
"data-qa": "dt-item-layout-left-wrapper",
|
|
357
824
|
class: "dt-item-layout--left"
|
|
358
|
-
},
|
|
825
|
+
}, tt = {
|
|
359
826
|
"data-qa": "dt-item-layout-content-wrapper",
|
|
360
827
|
class: "dt-item-layout--content"
|
|
361
|
-
},
|
|
828
|
+
}, st = {
|
|
362
829
|
key: 0,
|
|
363
830
|
"data-qa": "dt-item-layout-title-wrapper",
|
|
364
831
|
class: "dt-item-layout--title"
|
|
365
|
-
},
|
|
832
|
+
}, nt = {
|
|
366
833
|
key: 2,
|
|
367
834
|
"data-qa": "dt-item-layout-bottom-wrapper",
|
|
368
835
|
class: "dt-item-layout--bottom"
|
|
369
|
-
},
|
|
836
|
+
}, ot = {
|
|
370
837
|
key: 1,
|
|
371
838
|
"data-qa": "dt-item-layout-right-wrapper",
|
|
372
839
|
class: "dt-item-layout--right"
|
|
373
|
-
},
|
|
840
|
+
}, it = {
|
|
374
841
|
key: 2,
|
|
375
842
|
"data-qa": "dt-item-layout-selected-wrapper",
|
|
376
843
|
class: "dt-item-layout--selected"
|
|
377
844
|
};
|
|
378
|
-
function
|
|
379
|
-
return
|
|
380
|
-
default:
|
|
381
|
-
e.$slots.left ? (
|
|
382
|
-
|
|
383
|
-
])) :
|
|
384
|
-
|
|
385
|
-
e.$slots.default ? (
|
|
386
|
-
|
|
387
|
-
])) :
|
|
388
|
-
e.$slots.subtitle ? (
|
|
845
|
+
function at(e, s, t, a, o, n) {
|
|
846
|
+
return i(), u(C(t.as), { class: "dt-item-layout" }, {
|
|
847
|
+
default: h(() => [
|
|
848
|
+
e.$slots.left ? (i(), r("section", et, [
|
|
849
|
+
l(e.$slots, "left", {}, void 0, !0)
|
|
850
|
+
])) : d("", !0),
|
|
851
|
+
b("section", tt, [
|
|
852
|
+
e.$slots.default ? (i(), r("div", st, [
|
|
853
|
+
l(e.$slots, "default", {}, void 0, !0)
|
|
854
|
+
])) : d("", !0),
|
|
855
|
+
e.$slots.subtitle ? (i(), r("div", {
|
|
389
856
|
key: 1,
|
|
390
857
|
"data-qa": "dt-item-layout-subtitle-wrapper",
|
|
391
|
-
class:
|
|
858
|
+
class: p(["dt-item-layout--subtitle", { "d-mtn2": e.$slots.default }])
|
|
392
859
|
}, [
|
|
393
|
-
|
|
394
|
-
], 2)) :
|
|
395
|
-
e.$slots.bottom ? (
|
|
396
|
-
|
|
397
|
-
])) :
|
|
860
|
+
l(e.$slots, "subtitle", {}, void 0, !0)
|
|
861
|
+
], 2)) : d("", !0),
|
|
862
|
+
e.$slots.bottom ? (i(), r("div", nt, [
|
|
863
|
+
l(e.$slots, "bottom", {}, void 0, !0)
|
|
864
|
+
])) : d("", !0)
|
|
398
865
|
]),
|
|
399
|
-
e.$slots.right ? (
|
|
400
|
-
|
|
401
|
-
])) :
|
|
402
|
-
e.$slots.selected ? (
|
|
403
|
-
|
|
404
|
-
])) :
|
|
866
|
+
e.$slots.right ? (i(), r("section", ot, [
|
|
867
|
+
l(e.$slots, "right", {}, void 0, !0)
|
|
868
|
+
])) : d("", !0),
|
|
869
|
+
e.$slots.selected ? (i(), r("section", it, [
|
|
870
|
+
l(e.$slots, "selected", {}, void 0, !0)
|
|
871
|
+
])) : d("", !0)
|
|
405
872
|
]),
|
|
406
873
|
_: 3
|
|
407
874
|
});
|
|
408
875
|
}
|
|
409
|
-
const
|
|
410
|
-
const
|
|
876
|
+
const $ = /* @__PURE__ */ y(Qe, [["render", at], ["__scopeId", "data-v-9afad3c4"]]);
|
|
877
|
+
const lt = {
|
|
411
878
|
name: "DtListItem",
|
|
412
879
|
components: {
|
|
413
|
-
DtItemLayout:
|
|
414
|
-
DtIcon:
|
|
880
|
+
DtItemLayout: $,
|
|
881
|
+
DtIcon: I
|
|
415
882
|
},
|
|
416
883
|
/**
|
|
417
884
|
* Value provided from keyboard_list_navigation.js using id prop.
|
|
@@ -426,7 +893,7 @@ const Se = {
|
|
|
426
893
|
id: {
|
|
427
894
|
type: String,
|
|
428
895
|
default() {
|
|
429
|
-
return
|
|
896
|
+
return te.getUniqueString();
|
|
430
897
|
}
|
|
431
898
|
},
|
|
432
899
|
/**
|
|
@@ -449,8 +916,8 @@ const Se = {
|
|
|
449
916
|
*/
|
|
450
917
|
type: {
|
|
451
918
|
type: String,
|
|
452
|
-
default:
|
|
453
|
-
validator: (e) => Object.values(
|
|
919
|
+
default: D.DEFAULT,
|
|
920
|
+
validator: (e) => Object.values(D).includes(e)
|
|
454
921
|
},
|
|
455
922
|
/**
|
|
456
923
|
* The type of navigation that this component should support.
|
|
@@ -461,8 +928,8 @@ const Se = {
|
|
|
461
928
|
*/
|
|
462
929
|
navigationType: {
|
|
463
930
|
type: String,
|
|
464
|
-
default:
|
|
465
|
-
validator: (e) => Object.values(
|
|
931
|
+
default: w.NONE,
|
|
932
|
+
validator: (e) => Object.values(w).includes(e)
|
|
466
933
|
},
|
|
467
934
|
/**
|
|
468
935
|
* Applies selected styles to the list item
|
|
@@ -510,8 +977,8 @@ const Se = {
|
|
|
510
977
|
computed: {
|
|
511
978
|
listItemType() {
|
|
512
979
|
switch (this.type) {
|
|
513
|
-
case
|
|
514
|
-
return
|
|
980
|
+
case D.DEFAULT:
|
|
981
|
+
return $;
|
|
515
982
|
default:
|
|
516
983
|
return null;
|
|
517
984
|
}
|
|
@@ -537,13 +1004,13 @@ const Se = {
|
|
|
537
1004
|
return this.isHoverable ? this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted : !1;
|
|
538
1005
|
},
|
|
539
1006
|
isFocusable() {
|
|
540
|
-
return this.navigationType ===
|
|
1007
|
+
return this.navigationType === w.TAB;
|
|
541
1008
|
},
|
|
542
1009
|
/**
|
|
543
1010
|
* Whether to apply hover styles.
|
|
544
1011
|
*/
|
|
545
1012
|
isHoverable() {
|
|
546
|
-
return this.navigationType !==
|
|
1013
|
+
return this.navigationType !== w.NONE;
|
|
547
1014
|
}
|
|
548
1015
|
},
|
|
549
1016
|
methods: {
|
|
@@ -558,31 +1025,31 @@ const Se = {
|
|
|
558
1025
|
}
|
|
559
1026
|
}
|
|
560
1027
|
};
|
|
561
|
-
function
|
|
562
|
-
const
|
|
563
|
-
return
|
|
564
|
-
id:
|
|
1028
|
+
function rt(e, s, t, a, o, n) {
|
|
1029
|
+
const c = f("dt-icon");
|
|
1030
|
+
return i(), u(C(t.elementType), T({
|
|
1031
|
+
id: t.id,
|
|
565
1032
|
class: ["dt-list-item", {
|
|
566
|
-
"dt-list-item--focusable":
|
|
567
|
-
"dt-list-item--highlighted":
|
|
568
|
-
"dt-list-item--static": !
|
|
1033
|
+
"dt-list-item--focusable": n.isFocusable,
|
|
1034
|
+
"dt-list-item--highlighted": n.isHighlighted,
|
|
1035
|
+
"dt-list-item--static": !n.isHoverable
|
|
569
1036
|
}],
|
|
570
|
-
tabindex:
|
|
571
|
-
role:
|
|
572
|
-
"aria-selected":
|
|
573
|
-
},
|
|
574
|
-
default:
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
name:
|
|
578
|
-
fn:
|
|
579
|
-
|
|
1037
|
+
tabindex: n.isFocusable ? 0 : -1,
|
|
1038
|
+
role: t.role,
|
|
1039
|
+
"aria-selected": n.isHighlighted
|
|
1040
|
+
}, z(n.listItemListeners)), {
|
|
1041
|
+
default: h(() => [
|
|
1042
|
+
n.listItemType ? (i(), u(C(n.listItemType), { key: 0 }, re({ _: 2 }, [
|
|
1043
|
+
de(e.$slots, (_, v) => ({
|
|
1044
|
+
name: v,
|
|
1045
|
+
fn: h(() => [
|
|
1046
|
+
l(e.$slots, v)
|
|
580
1047
|
])
|
|
581
1048
|
})),
|
|
582
|
-
|
|
1049
|
+
t.selected ? {
|
|
583
1050
|
name: "selected",
|
|
584
|
-
fn:
|
|
585
|
-
|
|
1051
|
+
fn: h(() => [
|
|
1052
|
+
g(c, {
|
|
586
1053
|
name: "check",
|
|
587
1054
|
size: "400",
|
|
588
1055
|
class: "dt-list-item--selected-icon"
|
|
@@ -590,28 +1057,28 @@ function we(e, t, o, i, n, s) {
|
|
|
590
1057
|
]),
|
|
591
1058
|
key: "0"
|
|
592
1059
|
} : void 0
|
|
593
|
-
]), 1024)) :
|
|
1060
|
+
]), 1024)) : l(e.$slots, "default", { key: 1 })
|
|
594
1061
|
]),
|
|
595
1062
|
_: 3
|
|
596
1063
|
}, 16, ["id", "class", "tabindex", "role", "aria-selected"]);
|
|
597
1064
|
}
|
|
598
|
-
const
|
|
1065
|
+
const Ft = /* @__PURE__ */ y(lt, [["render", rt]]), q = {
|
|
599
1066
|
none: void 0,
|
|
600
1067
|
small: "d-p4",
|
|
601
1068
|
medium: "d-p8",
|
|
602
1069
|
large: "d-p16"
|
|
603
|
-
},
|
|
1070
|
+
}, dt = {
|
|
604
1071
|
none: void 0,
|
|
605
1072
|
small: "d-pl4",
|
|
606
1073
|
medium: "d-pl8",
|
|
607
1074
|
large: "d-pl16"
|
|
608
|
-
},
|
|
609
|
-
...
|
|
610
|
-
],
|
|
1075
|
+
}, ct = ["dialog", "menu", "listbox", "tree", "grid"], ut = ["", "anchor"], ht = ["none", "dialog", "first"], ft = ["parent", "body"], pt = [
|
|
1076
|
+
...se
|
|
1077
|
+
], mt = {
|
|
611
1078
|
name: "PopoverHeaderFooter",
|
|
612
1079
|
components: {
|
|
613
|
-
DtButton:
|
|
614
|
-
DtIcon:
|
|
1080
|
+
DtButton: F,
|
|
1081
|
+
DtIcon: I
|
|
615
1082
|
},
|
|
616
1083
|
props: {
|
|
617
1084
|
// eslint-disable-next-line vue/require-default-prop
|
|
@@ -657,34 +1124,34 @@ const Ke = /* @__PURE__ */ v(Se, [["render", we]]), H = {
|
|
|
657
1124
|
],
|
|
658
1125
|
data() {
|
|
659
1126
|
return {
|
|
660
|
-
hasSlotContent:
|
|
1127
|
+
hasSlotContent: L
|
|
661
1128
|
};
|
|
662
1129
|
},
|
|
663
1130
|
methods: {
|
|
664
1131
|
focusCloseButton() {
|
|
665
|
-
var
|
|
666
|
-
const e = (
|
|
1132
|
+
var s;
|
|
1133
|
+
const e = (s = this.$refs["popover__close-button"]) == null ? void 0 : s.$el;
|
|
667
1134
|
e == null || e.focus();
|
|
668
1135
|
}
|
|
669
1136
|
}
|
|
670
1137
|
};
|
|
671
|
-
function
|
|
672
|
-
const
|
|
673
|
-
return
|
|
1138
|
+
function yt(e, s, t, a, o, n) {
|
|
1139
|
+
const c = f("dt-icon"), _ = f("dt-button");
|
|
1140
|
+
return i(), r("div", {
|
|
674
1141
|
"data-qa": "dt-popover-header-footer",
|
|
675
|
-
class:
|
|
676
|
-
"d-popover__header":
|
|
677
|
-
"d-popover__footer":
|
|
1142
|
+
class: p({
|
|
1143
|
+
"d-popover__header": t.type === "header",
|
|
1144
|
+
"d-popover__footer": t.type === "footer"
|
|
678
1145
|
})
|
|
679
1146
|
}, [
|
|
680
|
-
|
|
1147
|
+
o.hasSlotContent(e.$slots.content) ? (i(), r("div", {
|
|
681
1148
|
key: 0,
|
|
682
1149
|
"data-qa": "dt-popover-header-footer-content",
|
|
683
|
-
class:
|
|
1150
|
+
class: p(["d-to-ellipsis", "d-w100p", t.contentClass])
|
|
684
1151
|
}, [
|
|
685
|
-
|
|
686
|
-
], 2)) :
|
|
687
|
-
|
|
1152
|
+
l(e.$slots, "content")
|
|
1153
|
+
], 2)) : d("", !0),
|
|
1154
|
+
t.showCloseButton ? (i(), u(_, T({
|
|
688
1155
|
key: 1,
|
|
689
1156
|
ref: "popover__close-button",
|
|
690
1157
|
"data-qa": "dt-popover-close",
|
|
@@ -692,31 +1159,31 @@ function He(e, t, o, i, n, s) {
|
|
|
692
1159
|
importance: "outlined",
|
|
693
1160
|
kind: "muted",
|
|
694
1161
|
circle: ""
|
|
695
|
-
},
|
|
696
|
-
onClick:
|
|
1162
|
+
}, t.closeButtonProps, {
|
|
1163
|
+
onClick: s[0] || (s[0] = (v) => e.$emit("close"))
|
|
697
1164
|
}), {
|
|
698
|
-
icon:
|
|
699
|
-
|
|
1165
|
+
icon: h(() => [
|
|
1166
|
+
g(c, {
|
|
700
1167
|
name: "close",
|
|
701
1168
|
size: "300"
|
|
702
1169
|
})
|
|
703
1170
|
]),
|
|
704
1171
|
_: 1
|
|
705
|
-
}, 16)) :
|
|
1172
|
+
}, 16)) : d("", !0)
|
|
706
1173
|
], 2);
|
|
707
1174
|
}
|
|
708
|
-
const
|
|
709
|
-
const
|
|
1175
|
+
const _t = /* @__PURE__ */ y(mt, [["render", yt]]);
|
|
1176
|
+
const vt = {
|
|
710
1177
|
name: "DtPopover",
|
|
711
1178
|
/********************
|
|
712
1179
|
* CHILD COMPONENTS *
|
|
713
1180
|
********************/
|
|
714
1181
|
components: {
|
|
715
|
-
SrOnlyCloseButton:
|
|
716
|
-
DtLazyShow:
|
|
717
|
-
PopoverHeaderFooter:
|
|
1182
|
+
SrOnlyCloseButton: W,
|
|
1183
|
+
DtLazyShow: ne,
|
|
1184
|
+
PopoverHeaderFooter: _t
|
|
718
1185
|
},
|
|
719
|
-
mixins: [
|
|
1186
|
+
mixins: [Ye, B],
|
|
720
1187
|
props: {
|
|
721
1188
|
/**
|
|
722
1189
|
* Controls whether the popover is shown. Leaving this null will have the popover trigger on click by default.
|
|
@@ -759,7 +1226,7 @@ const $e = {
|
|
|
759
1226
|
role: {
|
|
760
1227
|
type: String,
|
|
761
1228
|
default: "dialog",
|
|
762
|
-
validator: (e) =>
|
|
1229
|
+
validator: (e) => ct.includes(e)
|
|
763
1230
|
},
|
|
764
1231
|
/**
|
|
765
1232
|
* ID of the element that serves as the label for the popover content.
|
|
@@ -795,7 +1262,7 @@ const $e = {
|
|
|
795
1262
|
padding: {
|
|
796
1263
|
type: String,
|
|
797
1264
|
default: "large",
|
|
798
|
-
validator: (e) => Object.keys(
|
|
1265
|
+
validator: (e) => Object.keys(q).some((s) => s === e)
|
|
799
1266
|
},
|
|
800
1267
|
/**
|
|
801
1268
|
* Additional class name for the content wrapper element.
|
|
@@ -812,7 +1279,7 @@ const $e = {
|
|
|
812
1279
|
contentWidth: {
|
|
813
1280
|
type: String,
|
|
814
1281
|
default: "",
|
|
815
|
-
validator: (e) =>
|
|
1282
|
+
validator: (e) => ut.includes(e)
|
|
816
1283
|
},
|
|
817
1284
|
/**
|
|
818
1285
|
* Whether to apply transition on initial render in the content lazy show component.
|
|
@@ -842,7 +1309,7 @@ const $e = {
|
|
|
842
1309
|
id: {
|
|
843
1310
|
type: String,
|
|
844
1311
|
default() {
|
|
845
|
-
return
|
|
1312
|
+
return R();
|
|
846
1313
|
}
|
|
847
1314
|
},
|
|
848
1315
|
/**
|
|
@@ -946,7 +1413,7 @@ const $e = {
|
|
|
946
1413
|
sticky: {
|
|
947
1414
|
type: [Boolean, String],
|
|
948
1415
|
default: !1,
|
|
949
|
-
validator: (e) =>
|
|
1416
|
+
validator: (e) => pt.includes(e)
|
|
950
1417
|
},
|
|
951
1418
|
/**
|
|
952
1419
|
* Determines maximum height for the popover before overflow.
|
|
@@ -1004,7 +1471,7 @@ const $e = {
|
|
|
1004
1471
|
initialFocusElement: {
|
|
1005
1472
|
type: [String, HTMLElement],
|
|
1006
1473
|
default: "first",
|
|
1007
|
-
validator: (e) =>
|
|
1474
|
+
validator: (e) => ht.includes(e) || e instanceof HTMLElement || e.startsWith("#")
|
|
1008
1475
|
},
|
|
1009
1476
|
/**
|
|
1010
1477
|
* If the popover should open pressing up or down arrow key on the anchor element.
|
|
@@ -1023,7 +1490,7 @@ const $e = {
|
|
|
1023
1490
|
appendTo: {
|
|
1024
1491
|
type: [HTMLElement, String],
|
|
1025
1492
|
default: "body",
|
|
1026
|
-
validator: (e) =>
|
|
1493
|
+
validator: (e) => ft.includes(e) || e instanceof HTMLElement
|
|
1027
1494
|
}
|
|
1028
1495
|
},
|
|
1029
1496
|
emits: [
|
|
@@ -1049,15 +1516,15 @@ const $e = {
|
|
|
1049
1516
|
],
|
|
1050
1517
|
data() {
|
|
1051
1518
|
return {
|
|
1052
|
-
POPOVER_PADDING_CLASSES:
|
|
1053
|
-
POPOVER_HEADER_FOOTER_PADDING_CLASSES:
|
|
1519
|
+
POPOVER_PADDING_CLASSES: q,
|
|
1520
|
+
POPOVER_HEADER_FOOTER_PADDING_CLASSES: dt,
|
|
1054
1521
|
intersectionObserver: null,
|
|
1055
1522
|
isOutsideViewport: !1,
|
|
1056
1523
|
isOpen: !1,
|
|
1057
1524
|
toAppear: !1,
|
|
1058
1525
|
anchorEl: null,
|
|
1059
1526
|
popoverContentEl: null,
|
|
1060
|
-
hasSlotContent:
|
|
1527
|
+
hasSlotContent: L
|
|
1061
1528
|
};
|
|
1062
1529
|
},
|
|
1063
1530
|
computed: {
|
|
@@ -1078,7 +1545,7 @@ const $e = {
|
|
|
1078
1545
|
return this.isOutsideViewport && this.modal ? "calc(100vh - var(--dt-space-300))" : this.maxHeight;
|
|
1079
1546
|
},
|
|
1080
1547
|
labelledBy() {
|
|
1081
|
-
return this.ariaLabelledby || !this.ariaLabel &&
|
|
1548
|
+
return this.ariaLabelledby || !this.ariaLabel && R("DtPopover__anchor");
|
|
1082
1549
|
}
|
|
1083
1550
|
},
|
|
1084
1551
|
watch: {
|
|
@@ -1090,20 +1557,20 @@ const $e = {
|
|
|
1090
1557
|
}
|
|
1091
1558
|
},
|
|
1092
1559
|
modal(e) {
|
|
1093
|
-
var
|
|
1094
|
-
(
|
|
1560
|
+
var s;
|
|
1561
|
+
(s = this.tip) == null || s.setProps({
|
|
1095
1562
|
zIndex: e ? 650 : this.calculateAnchorZindex()
|
|
1096
1563
|
});
|
|
1097
1564
|
},
|
|
1098
1565
|
offset(e) {
|
|
1099
|
-
var
|
|
1100
|
-
(
|
|
1566
|
+
var s;
|
|
1567
|
+
(s = this.tip) == null || s.setProps({
|
|
1101
1568
|
offset: e
|
|
1102
1569
|
});
|
|
1103
1570
|
},
|
|
1104
1571
|
sticky(e) {
|
|
1105
|
-
var
|
|
1106
|
-
(
|
|
1572
|
+
var s;
|
|
1573
|
+
(s = this.tip) == null || s.setProps({
|
|
1107
1574
|
sticky: e
|
|
1108
1575
|
});
|
|
1109
1576
|
},
|
|
@@ -1120,8 +1587,8 @@ const $e = {
|
|
|
1120
1587
|
});
|
|
1121
1588
|
},
|
|
1122
1589
|
placement(e) {
|
|
1123
|
-
var
|
|
1124
|
-
(
|
|
1590
|
+
var s;
|
|
1591
|
+
(s = this.tip) == null || s.setProps({
|
|
1125
1592
|
placement: e
|
|
1126
1593
|
});
|
|
1127
1594
|
},
|
|
@@ -1136,8 +1603,8 @@ const $e = {
|
|
|
1136
1603
|
e !== null && (this.toAppear = e);
|
|
1137
1604
|
}
|
|
1138
1605
|
},
|
|
1139
|
-
isOpen(e,
|
|
1140
|
-
e ? (this.initTippyInstance(), this.tip.show()) : !e &&
|
|
1606
|
+
isOpen(e, s) {
|
|
1607
|
+
e ? (this.initTippyInstance(), this.tip.show()) : !e && s !== e && (this.removeEventListeners(), this.tip.hide());
|
|
1141
1608
|
}
|
|
1142
1609
|
},
|
|
1143
1610
|
mounted() {
|
|
@@ -1153,15 +1620,15 @@ const $e = {
|
|
|
1153
1620
|
******************/
|
|
1154
1621
|
methods: {
|
|
1155
1622
|
hasIntersectedViewport(e) {
|
|
1156
|
-
var
|
|
1157
|
-
const
|
|
1158
|
-
if (!
|
|
1623
|
+
var a;
|
|
1624
|
+
const s = (a = e == null ? void 0 : e[0]) == null ? void 0 : a.target;
|
|
1625
|
+
if (!s)
|
|
1159
1626
|
return;
|
|
1160
|
-
const
|
|
1161
|
-
this.isOutsideViewport =
|
|
1627
|
+
const t = oe(s);
|
|
1628
|
+
this.isOutsideViewport = t.bottom || t.top;
|
|
1162
1629
|
},
|
|
1163
1630
|
popperOptions() {
|
|
1164
|
-
return
|
|
1631
|
+
return ie({
|
|
1165
1632
|
fallbackPlacements: this.fallbackPlacements,
|
|
1166
1633
|
tether: this.tether,
|
|
1167
1634
|
hasHideModifierEnabled: !0
|
|
@@ -1177,9 +1644,9 @@ const $e = {
|
|
|
1177
1644
|
(e = this.anchorEl) != null && e.closest(".d-zi-drawer") ? 650 : 300;
|
|
1178
1645
|
},
|
|
1179
1646
|
defaultToggleOpen(e) {
|
|
1180
|
-
var
|
|
1647
|
+
var s, t, a;
|
|
1181
1648
|
if (!this.openOnContext && (this.open === null || this.open === void 0)) {
|
|
1182
|
-
if (!((
|
|
1649
|
+
if (!((s = this.anchorEl) != null && s.contains(e.target)) && !((t = this.anchorEl) != null && t.isEqualNode(e.target)) || (a = this.anchorEl) != null && a.disabled)
|
|
1183
1650
|
return;
|
|
1184
1651
|
this.toggleOpen();
|
|
1185
1652
|
}
|
|
@@ -1201,8 +1668,8 @@ const $e = {
|
|
|
1201
1668
|
this.isOpen = !this.isOpen;
|
|
1202
1669
|
},
|
|
1203
1670
|
onArrowKeyPress(e) {
|
|
1204
|
-
var
|
|
1205
|
-
this.open === null && (this.openWithArrowKeys && ((
|
|
1671
|
+
var s;
|
|
1672
|
+
this.open === null && (this.openWithArrowKeys && ((s = this.anchorEl) != null && s.contains(e.target)) && (this.isOpen || (this.isOpen = !0)), this.$emit("keydown", e));
|
|
1206
1673
|
},
|
|
1207
1674
|
addEventListeners() {
|
|
1208
1675
|
window.addEventListener("dt-popover-close", this.closePopover), this.contentWidth === "anchor" && window.addEventListener("resize", this.onResize);
|
|
@@ -1222,17 +1689,17 @@ const $e = {
|
|
|
1222
1689
|
preventScrolling() {
|
|
1223
1690
|
var e;
|
|
1224
1691
|
if (this.modal) {
|
|
1225
|
-
const
|
|
1226
|
-
|
|
1692
|
+
const s = (e = this.anchorEl) == null ? void 0 : e.closest("body, .tippy-box");
|
|
1693
|
+
s.tagName.toLowerCase() === "body" ? (s.classList.add("d-of-hidden"), this.tip.setProps({ offset: this.offset })) : s.classList.add("d-zi-popover");
|
|
1227
1694
|
}
|
|
1228
1695
|
},
|
|
1229
1696
|
/*
|
|
1230
1697
|
* Resets the prevent scrolling properties set in preventScrolling() back to normal.
|
|
1231
1698
|
**/
|
|
1232
1699
|
enableScrolling() {
|
|
1233
|
-
var
|
|
1234
|
-
const e = (
|
|
1235
|
-
e && (((
|
|
1700
|
+
var s, t;
|
|
1701
|
+
const e = (s = this.anchorEl) == null ? void 0 : s.closest("body, .tippy-box");
|
|
1702
|
+
e && (((t = e.tagName) == null ? void 0 : t.toLowerCase()) === "body" ? (e.classList.remove("d-of-hidden"), this.tip.setProps({ offset: this.offset })) : e.classList.remove("d-zi-popover"));
|
|
1236
1703
|
},
|
|
1237
1704
|
removeReferences() {
|
|
1238
1705
|
this.anchorEl = null, this.popoverContentEl = null, this.tip = null;
|
|
@@ -1251,9 +1718,9 @@ const $e = {
|
|
|
1251
1718
|
this.initialFocusElement === "dialog" && this.$refs.content.$el.focus(), this.initialFocusElement.startsWith("#") && this.focusInitialElementById(), this.initialFocusElement === "first" && this.focusFirstElementIfNeeded(this.$refs.popover__content), this.initialFocusElement instanceof HTMLElement && this.initialFocusElement.focus();
|
|
1252
1719
|
},
|
|
1253
1720
|
focusInitialElementById() {
|
|
1254
|
-
var
|
|
1255
|
-
const e = (
|
|
1256
|
-
e ? e.focus() : console.warn('Could not find the element specified in dt-popover prop "initialFocusElement". Defaulting to focusing the dialog.'), e ? e.focus() : (
|
|
1721
|
+
var s, t, a;
|
|
1722
|
+
const e = (t = (s = this.$refs.content) == null ? void 0 : s.$el) == null ? void 0 : t.querySelector(this.initialFocusElement);
|
|
1723
|
+
e ? e.focus() : console.warn('Could not find the element specified in dt-popover prop "initialFocusElement". Defaulting to focusing the dialog.'), e ? e.focus() : (a = this.$refs.content) == null || a.$el.focus();
|
|
1257
1724
|
},
|
|
1258
1725
|
onResize() {
|
|
1259
1726
|
this.closePopover();
|
|
@@ -1271,18 +1738,18 @@ const $e = {
|
|
|
1271
1738
|
await this.$nextTick(), this.popoverContentEl.style.width = `${(e = this.anchorEl) == null ? void 0 : e.clientWidth}px`;
|
|
1272
1739
|
},
|
|
1273
1740
|
focusFirstElementIfNeeded(e) {
|
|
1274
|
-
var
|
|
1275
|
-
this._getFocusableElements(e, !0).length !== 0 ? this.focusFirstElement(e) : this.showCloseButton ? (
|
|
1741
|
+
var t, a;
|
|
1742
|
+
this._getFocusableElements(e, !0).length !== 0 ? this.focusFirstElement(e) : this.showCloseButton ? (t = this.$refs.popover__header) == null || t.focusCloseButton() : (a = this.$refs.content) == null || a.$el.focus();
|
|
1276
1743
|
},
|
|
1277
1744
|
initTippyInstance() {
|
|
1278
|
-
var e,
|
|
1279
|
-
this.tip =
|
|
1745
|
+
var e, s;
|
|
1746
|
+
this.tip = ae(this.anchorEl, {
|
|
1280
1747
|
popperOptions: this.popperOptions(),
|
|
1281
1748
|
contentElement: this.popoverContentEl,
|
|
1282
1749
|
placement: this.placement,
|
|
1283
1750
|
offset: this.offset,
|
|
1284
1751
|
sticky: this.sticky,
|
|
1285
|
-
appendTo: this.appendTo === "body" ? (
|
|
1752
|
+
appendTo: this.appendTo === "body" ? (s = (e = this.anchorEl) == null ? void 0 : e.getRootNode()) == null ? void 0 : s.querySelector("body") : this.appendTo,
|
|
1286
1753
|
interactive: !0,
|
|
1287
1754
|
trigger: "manual",
|
|
1288
1755
|
// We have to manage hideOnClick functionality manually to handle
|
|
@@ -1294,114 +1761,114 @@ const $e = {
|
|
|
1294
1761
|
});
|
|
1295
1762
|
}
|
|
1296
1763
|
}
|
|
1297
|
-
},
|
|
1298
|
-
function
|
|
1299
|
-
const
|
|
1300
|
-
return
|
|
1301
|
-
|
|
1764
|
+
}, gt = ["aria-hidden"], bt = ["id", "tabindex"];
|
|
1765
|
+
function St(e, s, t, a, o, n) {
|
|
1766
|
+
const c = f("popover-header-footer"), _ = f("sr-only-close-button"), v = f("dt-lazy-show");
|
|
1767
|
+
return i(), r("div", null, [
|
|
1768
|
+
t.modal && o.isOpen ? (i(), u(ce, {
|
|
1302
1769
|
key: 0,
|
|
1303
1770
|
to: "body"
|
|
1304
1771
|
}, [
|
|
1305
|
-
|
|
1772
|
+
b("div", {
|
|
1306
1773
|
class: "d-modal--transparent",
|
|
1307
|
-
"aria-hidden":
|
|
1308
|
-
onClick:
|
|
1774
|
+
"aria-hidden": t.modal && o.isOpen ? "false" : "true",
|
|
1775
|
+
onClick: s[0] || (s[0] = P(() => {
|
|
1309
1776
|
}, ["prevent", "stop"]))
|
|
1310
|
-
}, null, 8,
|
|
1311
|
-
])) :
|
|
1312
|
-
(
|
|
1777
|
+
}, null, 8, gt)
|
|
1778
|
+
])) : d("", !0),
|
|
1779
|
+
(i(), u(C(t.elementType), {
|
|
1313
1780
|
ref: "popover",
|
|
1314
|
-
class:
|
|
1781
|
+
class: p(["d-popover", { "d-popover__anchor--opened": o.isOpen }]),
|
|
1315
1782
|
"data-qa": "dt-popover-container"
|
|
1316
1783
|
}, {
|
|
1317
|
-
default:
|
|
1318
|
-
|
|
1319
|
-
id: !
|
|
1784
|
+
default: h(() => [
|
|
1785
|
+
b("div", {
|
|
1786
|
+
id: !t.ariaLabelledby && n.labelledBy,
|
|
1320
1787
|
ref: "anchor",
|
|
1321
1788
|
"data-qa": "dt-popover-anchor",
|
|
1322
|
-
tabindex:
|
|
1323
|
-
onClickCapture:
|
|
1324
|
-
onContextmenu:
|
|
1789
|
+
tabindex: t.openOnContext ? 0 : void 0,
|
|
1790
|
+
onClickCapture: s[1] || (s[1] = (...m) => n.defaultToggleOpen && n.defaultToggleOpen(...m)),
|
|
1791
|
+
onContextmenu: s[2] || (s[2] = (...m) => n.onContext && n.onContext(...m)),
|
|
1325
1792
|
onKeydown: [
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1793
|
+
s[3] || (s[3] = E(P((...m) => n.onArrowKeyPress && n.onArrowKeyPress(...m), ["prevent"]), ["up"])),
|
|
1794
|
+
s[4] || (s[4] = E(P((...m) => n.onArrowKeyPress && n.onArrowKeyPress(...m), ["prevent"]), ["down"])),
|
|
1795
|
+
s[6] || (s[6] = E((m) => e.$emit("keydown", m), ["enter"])),
|
|
1796
|
+
s[7] || (s[7] = E((m) => e.$emit("keydown", m), ["space"]))
|
|
1330
1797
|
],
|
|
1331
|
-
onKeydownCapture:
|
|
1798
|
+
onKeydownCapture: s[5] || (s[5] = E((...m) => n.closePopover && n.closePopover(...m), ["escape"]))
|
|
1332
1799
|
}, [
|
|
1333
|
-
|
|
1800
|
+
l(e.$slots, "anchor", {
|
|
1334
1801
|
attrs: {
|
|
1335
|
-
"aria-expanded":
|
|
1336
|
-
"aria-controls":
|
|
1337
|
-
"aria-haspopup":
|
|
1802
|
+
"aria-expanded": o.isOpen.toString(),
|
|
1803
|
+
"aria-controls": t.id,
|
|
1804
|
+
"aria-haspopup": t.role
|
|
1338
1805
|
}
|
|
1339
1806
|
})
|
|
1340
|
-
], 40,
|
|
1341
|
-
|
|
1342
|
-
id:
|
|
1807
|
+
], 40, bt),
|
|
1808
|
+
g(v, T({
|
|
1809
|
+
id: t.id,
|
|
1343
1810
|
ref: "content",
|
|
1344
|
-
role:
|
|
1811
|
+
role: t.role,
|
|
1345
1812
|
"data-qa": "dt-popover",
|
|
1346
|
-
"aria-hidden": `${!
|
|
1347
|
-
"aria-labelledby":
|
|
1348
|
-
"aria-label":
|
|
1349
|
-
"aria-modal": `${!
|
|
1350
|
-
transition:
|
|
1351
|
-
show:
|
|
1352
|
-
appear:
|
|
1353
|
-
class: ["d-popover__dialog", { "d-popover__dialog--modal":
|
|
1813
|
+
"aria-hidden": `${!o.isOpen}`,
|
|
1814
|
+
"aria-labelledby": n.labelledBy,
|
|
1815
|
+
"aria-label": t.ariaLabel,
|
|
1816
|
+
"aria-modal": `${!t.modal}`,
|
|
1817
|
+
transition: t.transition,
|
|
1818
|
+
show: o.isOpen,
|
|
1819
|
+
appear: o.toAppear,
|
|
1820
|
+
class: ["d-popover__dialog", { "d-popover__dialog--modal": t.modal }, t.dialogClass],
|
|
1354
1821
|
style: {
|
|
1355
|
-
"max-height":
|
|
1356
|
-
"max-width":
|
|
1822
|
+
"max-height": n.calculatedMaxHeight,
|
|
1823
|
+
"max-width": t.maxWidth
|
|
1357
1824
|
},
|
|
1358
1825
|
css: e.$attrs.css,
|
|
1359
|
-
tabindex:
|
|
1360
|
-
},
|
|
1361
|
-
default:
|
|
1362
|
-
|
|
1826
|
+
tabindex: t.contentTabindex
|
|
1827
|
+
}, z(n.popoverListeners)), {
|
|
1828
|
+
default: h(() => [
|
|
1829
|
+
o.hasSlotContent(e.$slots.headerContent) || t.showCloseButton ? (i(), u(c, {
|
|
1363
1830
|
key: 0,
|
|
1364
1831
|
ref: "popover__header",
|
|
1365
|
-
class:
|
|
1366
|
-
"content-class":
|
|
1832
|
+
class: p(o.POPOVER_HEADER_FOOTER_PADDING_CLASSES[t.padding]),
|
|
1833
|
+
"content-class": t.headerClass,
|
|
1367
1834
|
type: "header",
|
|
1368
|
-
"show-close-button":
|
|
1369
|
-
"close-button-props":
|
|
1370
|
-
onClose:
|
|
1835
|
+
"show-close-button": t.showCloseButton,
|
|
1836
|
+
"close-button-props": t.closeButtonProps,
|
|
1837
|
+
onClose: n.closePopover
|
|
1371
1838
|
}, {
|
|
1372
|
-
content:
|
|
1373
|
-
|
|
1839
|
+
content: h(() => [
|
|
1840
|
+
l(e.$slots, "headerContent", { close: n.closePopover })
|
|
1374
1841
|
]),
|
|
1375
1842
|
_: 3
|
|
1376
|
-
}, 8, ["class", "content-class", "show-close-button", "close-button-props", "onClose"])) :
|
|
1377
|
-
|
|
1843
|
+
}, 8, ["class", "content-class", "show-close-button", "close-button-props", "onClose"])) : d("", !0),
|
|
1844
|
+
b("div", {
|
|
1378
1845
|
ref: "popover__content",
|
|
1379
1846
|
"data-qa": "dt-popover-content",
|
|
1380
|
-
class:
|
|
1847
|
+
class: p([
|
|
1381
1848
|
"d-popover__content",
|
|
1382
|
-
|
|
1383
|
-
|
|
1849
|
+
o.POPOVER_PADDING_CLASSES[t.padding],
|
|
1850
|
+
t.contentClass
|
|
1384
1851
|
])
|
|
1385
1852
|
}, [
|
|
1386
|
-
|
|
1853
|
+
l(e.$slots, "content", { close: n.closePopover })
|
|
1387
1854
|
], 2),
|
|
1388
|
-
|
|
1855
|
+
o.hasSlotContent(e.$slots.footerContent) ? (i(), u(c, {
|
|
1389
1856
|
key: 1,
|
|
1390
1857
|
ref: "popover__footer",
|
|
1391
1858
|
type: "footer",
|
|
1392
|
-
class:
|
|
1393
|
-
"content-class":
|
|
1859
|
+
class: p(o.POPOVER_HEADER_FOOTER_PADDING_CLASSES[t.padding]),
|
|
1860
|
+
"content-class": t.footerClass
|
|
1394
1861
|
}, {
|
|
1395
|
-
content:
|
|
1396
|
-
|
|
1862
|
+
content: h(() => [
|
|
1863
|
+
l(e.$slots, "footerContent", { close: n.closePopover })
|
|
1397
1864
|
]),
|
|
1398
1865
|
_: 3
|
|
1399
|
-
}, 8, ["class", "content-class"])) :
|
|
1400
|
-
e.showVisuallyHiddenClose ? (
|
|
1866
|
+
}, 8, ["class", "content-class"])) : d("", !0),
|
|
1867
|
+
e.showVisuallyHiddenClose ? (i(), u(_, {
|
|
1401
1868
|
key: 2,
|
|
1402
1869
|
"visually-hidden-close-label": e.visuallyHiddenCloseLabel,
|
|
1403
|
-
onClose:
|
|
1404
|
-
}, null, 8, ["visually-hidden-close-label", "onClose"])) :
|
|
1870
|
+
onClose: n.closePopover
|
|
1871
|
+
}, null, 8, ["visually-hidden-close-label", "onClose"])) : d("", !0)
|
|
1405
1872
|
]),
|
|
1406
1873
|
_: 3
|
|
1407
1874
|
}, 16, ["id", "role", "aria-hidden", "aria-labelledby", "aria-label", "aria-modal", "transition", "show", "appear", "class", "style", "css", "tabindex"])
|
|
@@ -1410,14 +1877,14 @@ function Re(e, t, o, i, n, s) {
|
|
|
1410
1877
|
}, 8, ["class"]))
|
|
1411
1878
|
]);
|
|
1412
1879
|
}
|
|
1413
|
-
const
|
|
1880
|
+
const Bt = /* @__PURE__ */ y(vt, [["render", St]]), Et = {
|
|
1414
1881
|
name: "DtNotice",
|
|
1415
1882
|
components: {
|
|
1416
|
-
DtNoticeIcon:
|
|
1417
|
-
DtNoticeContent:
|
|
1418
|
-
DtNoticeAction:
|
|
1883
|
+
DtNoticeIcon: Re,
|
|
1884
|
+
DtNoticeContent: $e,
|
|
1885
|
+
DtNoticeAction: We
|
|
1419
1886
|
},
|
|
1420
|
-
mixins: [
|
|
1887
|
+
mixins: [B],
|
|
1421
1888
|
props: {
|
|
1422
1889
|
/**
|
|
1423
1890
|
* Sets an ID on the title element of the component. Useful for aria-describedby
|
|
@@ -1452,7 +1919,7 @@ const ze = /* @__PURE__ */ v($e, [["render", Re]]), Ve = {
|
|
|
1452
1919
|
type: String,
|
|
1453
1920
|
default: "status",
|
|
1454
1921
|
validate(e) {
|
|
1455
|
-
return
|
|
1922
|
+
return we.includes(e);
|
|
1456
1923
|
}
|
|
1457
1924
|
},
|
|
1458
1925
|
/**
|
|
@@ -1472,7 +1939,7 @@ const ze = /* @__PURE__ */ v($e, [["render", Re]]), Ve = {
|
|
|
1472
1939
|
type: String,
|
|
1473
1940
|
default: "base",
|
|
1474
1941
|
validate(e) {
|
|
1475
|
-
return
|
|
1942
|
+
return M.includes(e);
|
|
1476
1943
|
}
|
|
1477
1944
|
},
|
|
1478
1945
|
/**
|
|
@@ -1522,64 +1989,189 @@ const ze = /* @__PURE__ */ v($e, [["render", Re]]), Ve = {
|
|
|
1522
1989
|
}
|
|
1523
1990
|
}
|
|
1524
1991
|
};
|
|
1525
|
-
function
|
|
1526
|
-
const
|
|
1527
|
-
return
|
|
1528
|
-
class:
|
|
1992
|
+
function Ct(e, s, t, a, o, n) {
|
|
1993
|
+
const c = f("dt-notice-icon"), _ = f("dt-notice-content"), v = f("dt-notice-action");
|
|
1994
|
+
return i(), r("aside", {
|
|
1995
|
+
class: p(n.noticeClass),
|
|
1529
1996
|
"data-qa": "notice"
|
|
1530
1997
|
}, [
|
|
1531
|
-
|
|
1532
|
-
default:
|
|
1533
|
-
|
|
1998
|
+
g(c, { kind: t.kind }, {
|
|
1999
|
+
default: h(() => [
|
|
2000
|
+
l(e.$slots, "icon")
|
|
1534
2001
|
]),
|
|
1535
2002
|
_: 3
|
|
1536
2003
|
}, 8, ["kind"]),
|
|
1537
|
-
_
|
|
1538
|
-
"title-id":
|
|
1539
|
-
"content-id":
|
|
1540
|
-
title:
|
|
1541
|
-
role:
|
|
2004
|
+
g(_, {
|
|
2005
|
+
"title-id": t.titleId,
|
|
2006
|
+
"content-id": t.contentId,
|
|
2007
|
+
title: t.title,
|
|
2008
|
+
role: t.role
|
|
1542
2009
|
}, {
|
|
1543
|
-
titleOverride:
|
|
1544
|
-
|
|
2010
|
+
titleOverride: h(() => [
|
|
2011
|
+
l(e.$slots, "titleOverride")
|
|
1545
2012
|
]),
|
|
1546
|
-
default:
|
|
1547
|
-
|
|
2013
|
+
default: h(() => [
|
|
2014
|
+
l(e.$slots, "default")
|
|
1548
2015
|
]),
|
|
1549
2016
|
_: 3
|
|
1550
2017
|
}, 8, ["title-id", "content-id", "title", "role"]),
|
|
1551
|
-
|
|
1552
|
-
"hide-close":
|
|
1553
|
-
"close-button-props":
|
|
2018
|
+
g(v, {
|
|
2019
|
+
"hide-close": t.hideClose,
|
|
2020
|
+
"close-button-props": t.closeButtonProps,
|
|
1554
2021
|
"visually-hidden-close": e.visuallyHiddenClose,
|
|
1555
2022
|
"visually-hidden-close-label": e.visuallyHiddenCloseLabel,
|
|
1556
|
-
onClose:
|
|
2023
|
+
onClose: s[0] || (s[0] = (m) => e.$emit("close"))
|
|
1557
2024
|
}, {
|
|
1558
|
-
default:
|
|
1559
|
-
|
|
2025
|
+
default: h(() => [
|
|
2026
|
+
l(e.$slots, "action")
|
|
1560
2027
|
]),
|
|
1561
2028
|
_: 3
|
|
1562
2029
|
}, 8, ["hide-close", "close-button-props", "visually-hidden-close", "visually-hidden-close-label"])
|
|
1563
2030
|
], 2);
|
|
1564
2031
|
}
|
|
1565
|
-
const
|
|
2032
|
+
const Ht = /* @__PURE__ */ y(Et, [["render", Ct]]), S = {
|
|
2033
|
+
default: "column",
|
|
2034
|
+
column: "column",
|
|
2035
|
+
row: "row",
|
|
2036
|
+
"row-reverse": "row-reverse",
|
|
2037
|
+
"column-reverse": "column-reverse"
|
|
2038
|
+
}, U = ["sm", "md", "lg", "xl"], H = ["0", "100", "200", "300", "400", "500", "600"];
|
|
2039
|
+
function j(e) {
|
|
2040
|
+
return e === S.default;
|
|
2041
|
+
}
|
|
2042
|
+
function K(e) {
|
|
2043
|
+
if (k(e) === "string")
|
|
2044
|
+
return j(e) ? null : S[e];
|
|
2045
|
+
if (k(e) === "object") {
|
|
2046
|
+
const { default: s } = e;
|
|
2047
|
+
return j(s) ? null : S[s];
|
|
2048
|
+
} else
|
|
2049
|
+
return null;
|
|
2050
|
+
}
|
|
2051
|
+
function k(e) {
|
|
2052
|
+
return typeof e;
|
|
2053
|
+
}
|
|
2054
|
+
function It(e) {
|
|
2055
|
+
return K(e) ? `d-stack--${S[K(e)]}` : null;
|
|
2056
|
+
}
|
|
2057
|
+
function Ot(e) {
|
|
2058
|
+
return k(e) === "object" ? [
|
|
2059
|
+
...U.map((s) => e[s] ? `d-stack--${s}--${e[s]}` : null)
|
|
2060
|
+
] : null;
|
|
2061
|
+
}
|
|
2062
|
+
function At(e) {
|
|
2063
|
+
return H.includes(e) ? `d-stack--gap-${e}` : null;
|
|
2064
|
+
}
|
|
2065
|
+
function kt(e) {
|
|
2066
|
+
if (k(e) === "string")
|
|
2067
|
+
return Object.keys(S).includes(e);
|
|
2068
|
+
if (k(e) === "object") {
|
|
2069
|
+
const { default: s } = e;
|
|
2070
|
+
return Object.keys(S).includes(s);
|
|
2071
|
+
} else
|
|
2072
|
+
return null;
|
|
2073
|
+
}
|
|
2074
|
+
function Tt(e) {
|
|
2075
|
+
return H.includes(e);
|
|
2076
|
+
}
|
|
2077
|
+
const wt = {
|
|
2078
|
+
name: "DtStack",
|
|
2079
|
+
props: {
|
|
2080
|
+
/**
|
|
2081
|
+
* Set this prop to the direction to stack the items.
|
|
2082
|
+
* You can override the default direction with 'default' key.
|
|
2083
|
+
* All the undefined breakpoints will have 'default' value.
|
|
2084
|
+
* By default, for the column direction it will have `justify-content: flex-start`
|
|
2085
|
+
* and for the row direction `align-items: center`. This can be overriden
|
|
2086
|
+
* by utility classes.
|
|
2087
|
+
*/
|
|
2088
|
+
direction: {
|
|
2089
|
+
type: [String, Object],
|
|
2090
|
+
default: "column",
|
|
2091
|
+
validator: (e) => kt(e)
|
|
2092
|
+
},
|
|
2093
|
+
/**
|
|
2094
|
+
* Set this prop to render stack as a specific HTML element.
|
|
2095
|
+
*/
|
|
2096
|
+
as: {
|
|
2097
|
+
type: String,
|
|
2098
|
+
default: "div"
|
|
2099
|
+
},
|
|
2100
|
+
/**
|
|
2101
|
+
* Set this prop to have the space between each stack item
|
|
2102
|
+
* @values 0, 100, 200, 300, 400, 500, 600
|
|
2103
|
+
*/
|
|
2104
|
+
gap: {
|
|
2105
|
+
type: String,
|
|
2106
|
+
default: "0",
|
|
2107
|
+
validator: (e) => Tt(e)
|
|
2108
|
+
}
|
|
2109
|
+
},
|
|
2110
|
+
data() {
|
|
2111
|
+
return {
|
|
2112
|
+
DT_STACK_DIRECTION: S,
|
|
2113
|
+
DT_STACK_GAP: H,
|
|
2114
|
+
DT_STACK_RESPONSIVE_BREAKPOINTS: U
|
|
2115
|
+
};
|
|
2116
|
+
},
|
|
2117
|
+
computed: {
|
|
2118
|
+
stackGap() {
|
|
2119
|
+
return At(this.gap);
|
|
2120
|
+
},
|
|
2121
|
+
defaultDirection() {
|
|
2122
|
+
return It(this.direction);
|
|
2123
|
+
},
|
|
2124
|
+
stackResponsive() {
|
|
2125
|
+
return Ot(this.direction);
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
};
|
|
2129
|
+
function Pt(e, s, t, a, o, n) {
|
|
2130
|
+
return i(), u(C(t.as), {
|
|
2131
|
+
class: p([
|
|
2132
|
+
"d-stack",
|
|
2133
|
+
n.defaultDirection,
|
|
2134
|
+
n.stackResponsive,
|
|
2135
|
+
n.stackGap
|
|
2136
|
+
])
|
|
2137
|
+
}, {
|
|
2138
|
+
default: h(() => [
|
|
2139
|
+
l(e.$slots, "default")
|
|
2140
|
+
]),
|
|
2141
|
+
_: 3
|
|
2142
|
+
}, 8, ["class"]);
|
|
2143
|
+
}
|
|
2144
|
+
const Vt = /* @__PURE__ */ y(wt, [["render", Pt]]);
|
|
1566
2145
|
export {
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
2146
|
+
N as A,
|
|
2147
|
+
Ft as D,
|
|
2148
|
+
w as L,
|
|
2149
|
+
Ye as M,
|
|
2150
|
+
M as N,
|
|
2151
|
+
ft as P,
|
|
2152
|
+
B as S,
|
|
2153
|
+
Vt as a,
|
|
2154
|
+
Rt as b,
|
|
2155
|
+
Dt as c,
|
|
2156
|
+
Ht as d,
|
|
2157
|
+
Bt as e,
|
|
2158
|
+
Re as f,
|
|
2159
|
+
$e as g,
|
|
2160
|
+
We as h,
|
|
2161
|
+
W as i,
|
|
2162
|
+
ut as j,
|
|
2163
|
+
$ as k,
|
|
2164
|
+
_e as l,
|
|
2165
|
+
ve as m,
|
|
2166
|
+
V as n,
|
|
2167
|
+
ge as o,
|
|
2168
|
+
be as p,
|
|
2169
|
+
x as q,
|
|
2170
|
+
q as r,
|
|
2171
|
+
dt as s,
|
|
2172
|
+
ct as t,
|
|
2173
|
+
ht as u,
|
|
2174
|
+
ye as v,
|
|
2175
|
+
O as w,
|
|
2176
|
+
ue as x
|
|
1585
2177
|
};
|