@dialpad/dialtone 9.137.0 → 9.138.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 +9 -8
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone.css +9 -8
- package/dist/css/dialtone.min.css +1 -1
- package/dist/tokens/doc.json +55617 -55617
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker.js +15 -5
- package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row.js +7 -8
- package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/vue2/localization/de-DE.cjs +2 -10
- package/dist/vue2/localization/de-DE.cjs.map +1 -1
- package/dist/vue2/localization/de-DE.js +2 -10
- package/dist/vue2/localization/de-DE.js.map +1 -1
- package/dist/vue2/localization/en-US.cjs +13 -19
- package/dist/vue2/localization/en-US.cjs.map +1 -1
- package/dist/vue2/localization/en-US.js +13 -19
- package/dist/vue2/localization/en-US.js.map +1 -1
- package/dist/vue2/localization/es-LA.cjs +2 -10
- package/dist/vue2/localization/es-LA.cjs.map +1 -1
- package/dist/vue2/localization/es-LA.js +2 -10
- package/dist/vue2/localization/es-LA.js.map +1 -1
- package/dist/vue2/localization/fr-FR.cjs +2 -10
- package/dist/vue2/localization/fr-FR.cjs.map +1 -1
- package/dist/vue2/localization/fr-FR.js +2 -10
- package/dist/vue2/localization/fr-FR.js.map +1 -1
- package/dist/vue2/localization/it-IT.cjs +2 -10
- package/dist/vue2/localization/it-IT.cjs.map +1 -1
- package/dist/vue2/localization/it-IT.js +2 -10
- package/dist/vue2/localization/it-IT.js.map +1 -1
- package/dist/vue2/localization/ja-JP.cjs +1 -5
- package/dist/vue2/localization/ja-JP.cjs.map +1 -1
- package/dist/vue2/localization/ja-JP.js +1 -5
- package/dist/vue2/localization/ja-JP.js.map +1 -1
- package/dist/vue2/localization/nl-NL.cjs +2 -10
- package/dist/vue2/localization/nl-NL.cjs.map +1 -1
- package/dist/vue2/localization/nl-NL.js +2 -10
- package/dist/vue2/localization/nl-NL.js.map +1 -1
- package/dist/vue2/localization/pt-BR.cjs +2 -10
- package/dist/vue2/localization/pt-BR.cjs.map +1 -1
- package/dist/vue2/localization/pt-BR.js +2 -10
- package/dist/vue2/localization/pt-BR.js.map +1 -1
- package/dist/vue2/localization/ru-RU.cjs +4 -20
- package/dist/vue2/localization/ru-RU.cjs.map +1 -1
- package/dist/vue2/localization/ru-RU.js +4 -20
- package/dist/vue2/localization/ru-RU.js.map +1 -1
- package/dist/vue2/localization/zh-CN.cjs +1 -5
- package/dist/vue2/localization/zh-CN.cjs.map +1 -1
- package/dist/vue2/localization/zh-CN.js +1 -5
- package/dist/vue2/localization/zh-CN.js.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker.cjs.map +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker.js +143 -133
- package/dist/vue3/lib/emoji-picker/emoji-picker.js.map +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.js +21 -22
- package/dist/vue3/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/vue3/localization/de-DE.cjs +2 -10
- package/dist/vue3/localization/de-DE.cjs.map +1 -1
- package/dist/vue3/localization/de-DE.js +2 -10
- package/dist/vue3/localization/de-DE.js.map +1 -1
- package/dist/vue3/localization/en-US.cjs +13 -19
- package/dist/vue3/localization/en-US.cjs.map +1 -1
- package/dist/vue3/localization/en-US.js +13 -19
- package/dist/vue3/localization/en-US.js.map +1 -1
- package/dist/vue3/localization/es-LA.cjs +2 -10
- package/dist/vue3/localization/es-LA.cjs.map +1 -1
- package/dist/vue3/localization/es-LA.js +2 -10
- package/dist/vue3/localization/es-LA.js.map +1 -1
- package/dist/vue3/localization/fr-FR.cjs +2 -10
- package/dist/vue3/localization/fr-FR.cjs.map +1 -1
- package/dist/vue3/localization/fr-FR.js +2 -10
- package/dist/vue3/localization/fr-FR.js.map +1 -1
- package/dist/vue3/localization/it-IT.cjs +2 -10
- package/dist/vue3/localization/it-IT.cjs.map +1 -1
- package/dist/vue3/localization/it-IT.js +2 -10
- package/dist/vue3/localization/it-IT.js.map +1 -1
- package/dist/vue3/localization/ja-JP.cjs +1 -5
- package/dist/vue3/localization/ja-JP.cjs.map +1 -1
- package/dist/vue3/localization/ja-JP.js +1 -5
- package/dist/vue3/localization/ja-JP.js.map +1 -1
- package/dist/vue3/localization/nl-NL.cjs +2 -10
- package/dist/vue3/localization/nl-NL.cjs.map +1 -1
- package/dist/vue3/localization/nl-NL.js +2 -10
- package/dist/vue3/localization/nl-NL.js.map +1 -1
- package/dist/vue3/localization/pt-BR.cjs +2 -10
- package/dist/vue3/localization/pt-BR.cjs.map +1 -1
- package/dist/vue3/localization/pt-BR.js +2 -10
- package/dist/vue3/localization/pt-BR.js.map +1 -1
- package/dist/vue3/localization/ru-RU.cjs +4 -20
- package/dist/vue3/localization/ru-RU.cjs.map +1 -1
- package/dist/vue3/localization/ru-RU.js +4 -20
- package/dist/vue3/localization/ru-RU.js.map +1 -1
- package/dist/vue3/localization/zh-CN.cjs +1 -5
- package/dist/vue3/localization/zh-CN.cjs.map +1 -1
- package/dist/vue3/localization/zh-CN.js +1 -5
- package/dist/vue3/localization/zh-CN.js.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/package.json +8 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ref as S, onMounted as re, createElementBlock as
|
|
2
|
-
import { DtIconSearch as
|
|
1
|
+
import { ref as S, onMounted as re, createElementBlock as I, openBlock as E, createVNode as F, unref as k, withKeys as J, withModifiers as ue, createSlots as ye, withCtx as N, computed as M, watch as K, Fragment as W, renderList as G, createBlock as Z, resolveDynamicComponent as Le, nextTick as x, onBeforeUnmount as Te, createElementVNode as A, createCommentVNode as Y, toDisplayString as z, withDirectives as te, vShow as oe, normalizeClass as ce, watchEffect as ae, createTextVNode as fe } from "vue";
|
|
2
|
+
import { DtIconSearch as je, DtIconClose as Ie, DtIconClock as Re, DtIconSatisfied as Ae, DtIconLivingThing as $e, DtIconFood as we, DtIconObject as Oe, DtIconTransportation as Ce, DtIconLightbulb as De, DtIconHeart as Be, DtIconFlag as Fe, DtIconTiktok as Ke } from "@dialpad/dialtone-icons/vue3";
|
|
3
3
|
import Ne from "../input/input.js";
|
|
4
4
|
import de from "../button/button.js";
|
|
5
5
|
import { returnFirstEl as Me } from "../../common/utils/index.js";
|
|
@@ -22,7 +22,7 @@ const He = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, ze = {
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
emits: ["update:modelValue", "focus-emoji-selector", "focus-tabset", "select-first-emoji"],
|
|
25
|
-
setup(
|
|
25
|
+
setup(t, { expose: g, emit: y }) {
|
|
26
26
|
const l = y, f = S(null);
|
|
27
27
|
function R() {
|
|
28
28
|
l("update:modelValue", ""), L();
|
|
@@ -34,29 +34,29 @@ const He = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, ze = {
|
|
|
34
34
|
L();
|
|
35
35
|
}), g({
|
|
36
36
|
focusSearchInput: L
|
|
37
|
-
}), (
|
|
38
|
-
|
|
37
|
+
}), (j, m) => (E(), I("div", He, [
|
|
38
|
+
F(k(Ne), {
|
|
39
39
|
id: "searchInput",
|
|
40
40
|
ref_key: "searchInput",
|
|
41
41
|
ref: f,
|
|
42
|
-
placeholder:
|
|
43
|
-
"model-value":
|
|
44
|
-
"onUpdate:modelValue": m[0] || (m[0] = (a) =>
|
|
42
|
+
placeholder: t.searchPlaceholderLabel,
|
|
43
|
+
"model-value": t.modelValue,
|
|
44
|
+
"onUpdate:modelValue": m[0] || (m[0] = (a) => j.$emit("update:modelValue", a)),
|
|
45
45
|
onKeydown: [
|
|
46
|
-
m[1] || (m[1] = J((a) =>
|
|
47
|
-
m[2] || (m[2] = J(ue((a) =>
|
|
48
|
-
m[3] || (m[3] = J((a) =>
|
|
46
|
+
m[1] || (m[1] = J((a) => j.$emit("focus-tabset"), ["up"])),
|
|
47
|
+
m[2] || (m[2] = J(ue((a) => j.$emit("focus-emoji-selector"), ["prevent"]), ["down"])),
|
|
48
|
+
m[3] || (m[3] = J((a) => j.$emit("select-first-emoji"), ["enter"]))
|
|
49
49
|
]
|
|
50
50
|
}, ye({
|
|
51
51
|
leftIcon: N(() => [
|
|
52
|
-
|
|
52
|
+
F(k(je), { size: "200" })
|
|
53
53
|
]),
|
|
54
54
|
_: 2
|
|
55
55
|
}, [
|
|
56
|
-
|
|
56
|
+
t.modelValue.length > 0 ? {
|
|
57
57
|
name: "rightIcon",
|
|
58
58
|
fn: N(() => [
|
|
59
|
-
|
|
59
|
+
F(k(de), {
|
|
60
60
|
importance: "clear",
|
|
61
61
|
size: "xs",
|
|
62
62
|
class: "d-emoji-picker__search-x-button",
|
|
@@ -65,7 +65,7 @@ const He = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, ze = {
|
|
|
65
65
|
onClick: R
|
|
66
66
|
}, {
|
|
67
67
|
icon: N(() => [
|
|
68
|
-
|
|
68
|
+
F(k(Ie), { size: "200" })
|
|
69
69
|
]),
|
|
70
70
|
_: 1
|
|
71
71
|
})
|
|
@@ -124,8 +124,8 @@ const He = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, ze = {
|
|
|
124
124
|
"focus-search-input",
|
|
125
125
|
"focus-skin-selector"
|
|
126
126
|
],
|
|
127
|
-
setup(
|
|
128
|
-
const l =
|
|
127
|
+
setup(t, { expose: g, emit: y }) {
|
|
128
|
+
const l = t, f = y, R = [
|
|
129
129
|
{ label: l.tabSetLabels[0], icon: Re },
|
|
130
130
|
{ label: l.tabSetLabels[1], icon: Ae },
|
|
131
131
|
{ label: l.tabSetLabels[2], icon: $e },
|
|
@@ -133,52 +133,52 @@ const He = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, ze = {
|
|
|
133
133
|
{ label: l.tabSetLabels[4], icon: Oe },
|
|
134
134
|
{ label: l.tabSetLabels[5], icon: Ce },
|
|
135
135
|
{ label: l.tabSetLabels[6], icon: De },
|
|
136
|
-
{ label: l.tabSetLabels[7], icon:
|
|
137
|
-
{ label: l.tabSetLabels[8], icon:
|
|
136
|
+
{ label: l.tabSetLabels[7], icon: Be },
|
|
137
|
+
{ label: l.tabSetLabels[8], icon: Fe },
|
|
138
138
|
{ label: l.tabSetLabels[9], icon: Ke }
|
|
139
139
|
], L = M(() => {
|
|
140
|
-
const
|
|
141
|
-
return l.showCustomEmojisTab ||
|
|
140
|
+
const o = l.showRecentlyUsedTab ? R : R.slice(1);
|
|
141
|
+
return l.showCustomEmojisTab || o.pop(), o.map((e, n) => ({
|
|
142
142
|
...e,
|
|
143
143
|
// IDs on dt-tab component need to be on string
|
|
144
144
|
id: (n + 1).toString(),
|
|
145
145
|
panelId: (n + 1).toString()
|
|
146
146
|
}));
|
|
147
|
-
}),
|
|
147
|
+
}), j = M(() => l.emojiFilter.length > 0), m = S("1"), a = S([]);
|
|
148
148
|
K(
|
|
149
149
|
() => l.scrollIntoTab,
|
|
150
150
|
() => {
|
|
151
|
-
|
|
151
|
+
j.value || (m.value = (l.scrollIntoTab + 1).toString());
|
|
152
152
|
}
|
|
153
153
|
), K(
|
|
154
|
-
|
|
154
|
+
j,
|
|
155
155
|
() => {
|
|
156
|
-
|
|
156
|
+
j.value && (m.value = null);
|
|
157
157
|
}
|
|
158
158
|
);
|
|
159
|
-
function d(
|
|
160
|
-
const e = parseInt(
|
|
161
|
-
m.value =
|
|
159
|
+
function d(o) {
|
|
160
|
+
const e = parseInt(o);
|
|
161
|
+
m.value = o, f("selected-tabset", e);
|
|
162
162
|
}
|
|
163
|
-
function D(
|
|
164
|
-
a.value.push(Me(
|
|
163
|
+
function D(o) {
|
|
164
|
+
a.value.push(Me(o.$el));
|
|
165
165
|
}
|
|
166
|
-
function
|
|
166
|
+
function B() {
|
|
167
167
|
a.value[0].focus();
|
|
168
168
|
}
|
|
169
|
-
function w(
|
|
170
|
-
|
|
169
|
+
function w(o, e) {
|
|
170
|
+
o.key === "Enter" && (d(e), a.value[e - 1].blur()), o.key === "Tab" && (o.preventDefault(), o.shiftKey ? f("focus-skin-selector") : f("focus-search-input")), o.key === "ArrowDown" && f("focus-search-input");
|
|
171
171
|
}
|
|
172
172
|
return g({
|
|
173
|
-
focusTabset:
|
|
174
|
-
}), (
|
|
175
|
-
|
|
173
|
+
focusTabset: B
|
|
174
|
+
}), (o, e) => (E(), I("div", qe, [
|
|
175
|
+
F(k(Pe), {
|
|
176
176
|
selected: m.value,
|
|
177
177
|
size: "sm",
|
|
178
178
|
"tab-list-class": "d-emoji-picker__tabset-list"
|
|
179
179
|
}, {
|
|
180
180
|
tabs: N(() => [
|
|
181
|
-
(E(!0),
|
|
181
|
+
(E(!0), I(W, null, G(L.value, (n, v) => (E(), Z(k(Ue), {
|
|
182
182
|
id: n.id,
|
|
183
183
|
key: n.id,
|
|
184
184
|
ref_for: !0,
|
|
@@ -204,67 +204,67 @@ const He = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, ze = {
|
|
|
204
204
|
}
|
|
205
205
|
};
|
|
206
206
|
function Ge() {
|
|
207
|
-
const
|
|
208
|
-
function f(
|
|
209
|
-
a(
|
|
207
|
+
const t = S([]), g = S([]), y = S(!1), l = S(!0);
|
|
208
|
+
function f(o, e) {
|
|
209
|
+
a(o, e - 1) || (t.value[o - 1] ? a(o - 1, t.value[o - 1].length - 1) : a(t.value.length - 1, t.value[t.value.length - 1].length - 1));
|
|
210
210
|
}
|
|
211
|
-
function R(
|
|
212
|
-
a(
|
|
211
|
+
function R(o, e) {
|
|
212
|
+
a(o, e + 1) || a(o + 1, 0) || a(0, 0);
|
|
213
213
|
}
|
|
214
|
-
function L(
|
|
214
|
+
function L(o, e) {
|
|
215
215
|
a(0, e - 1) || a(0, g.value.length - 1);
|
|
216
216
|
}
|
|
217
|
-
function
|
|
217
|
+
function j(o, e) {
|
|
218
218
|
a(0, e + 1) || a(0, 0);
|
|
219
219
|
}
|
|
220
|
-
function m(
|
|
221
|
-
y.value ?
|
|
220
|
+
function m(o, e, n) {
|
|
221
|
+
y.value ? o === "left" ? L(e, n) : o === "right" && j(e, n) : o === "left" ? f(e, n) : o === "right" && R(e, n);
|
|
222
222
|
}
|
|
223
|
-
function a(
|
|
223
|
+
function a(o, e) {
|
|
224
224
|
var v, c, T;
|
|
225
|
-
const n = y.value ? (v = g.value) == null ? void 0 : v[e] : (T = (c =
|
|
225
|
+
const n = y.value ? (v = g.value) == null ? void 0 : v[e] : (T = (c = t.value) == null ? void 0 : c[o]) == null ? void 0 : T[e];
|
|
226
226
|
return n ? (n.focus(), !0) : !1;
|
|
227
227
|
}
|
|
228
|
-
function d(
|
|
229
|
-
|
|
228
|
+
function d(o, e, n) {
|
|
229
|
+
t.value[e] || (t.value[e] = []), t.value[e][n] = o;
|
|
230
230
|
}
|
|
231
|
-
function D(
|
|
232
|
-
g.value[e] =
|
|
231
|
+
function D(o, e) {
|
|
232
|
+
g.value[e] = o;
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function B(o, e) {
|
|
235
235
|
var n;
|
|
236
|
-
if (l.value = !1,
|
|
236
|
+
if (l.value = !1, o === H.ARROW_UP) {
|
|
237
237
|
const v = e % $;
|
|
238
238
|
if (!a(0, e - $)) {
|
|
239
239
|
const c = g.value.length - g.value.length % $ + v;
|
|
240
240
|
a(0, c), a(0, c) || a(0, g.value.length - 1);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
|
-
if (
|
|
243
|
+
if (o === H.ARROW_DOWN && !a(0, e + $)) {
|
|
244
244
|
const v = e % $;
|
|
245
245
|
(n = g.value) != null && n[e + ($ - v)] ? a(0, g.value.length - 1) : a(0, v);
|
|
246
246
|
}
|
|
247
|
-
|
|
247
|
+
o === H.ARROW_LEFT && m("left", 0, e), o === H.ARROW_RIGHT && m("right", 0, e);
|
|
248
248
|
}
|
|
249
|
-
function w(
|
|
249
|
+
function w(o, e, n) {
|
|
250
250
|
var v, c;
|
|
251
|
-
if (
|
|
251
|
+
if (o === "ArrowUp") {
|
|
252
252
|
const T = n % $;
|
|
253
253
|
if (e === 0) {
|
|
254
|
-
const r = $ -
|
|
255
|
-
a(
|
|
254
|
+
const r = $ - t.value[t.value.length - 1].length % $, i = t.value[t.value.length - 1].length + r - ($ - T);
|
|
255
|
+
a(t.value.length - 1, i) || a(t.value.length - 1, t.value[t.value.length - 1].length - 1);
|
|
256
256
|
return;
|
|
257
257
|
}
|
|
258
258
|
if (!a(e, n - $)) {
|
|
259
|
-
const r = e - 1 < 0 ? 0 : e - 1, i =
|
|
260
|
-
a(r, _) || a(e - 1,
|
|
259
|
+
const r = e - 1 < 0 ? 0 : e - 1, i = t.value[r].length, _ = i - i % $ + T;
|
|
260
|
+
a(r, _) || a(e - 1, t.value[e - 1].length - 1);
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
|
-
if (
|
|
263
|
+
if (o === "ArrowDown" && !a(e, n + $)) {
|
|
264
264
|
const T = n % $;
|
|
265
|
-
(c = (v =
|
|
265
|
+
(c = (v = t.value) == null ? void 0 : v[e]) != null && c[n + ($ - T)] ? a(e, t.value[e].length - 1) : a(e + 1, T) || a(0, T) || a(0, t.value[0].length - 1);
|
|
266
266
|
}
|
|
267
|
-
|
|
267
|
+
o === "ArrowLeft" && m("left", e, n), o === "ArrowRight" && m("right", e, n);
|
|
268
268
|
}
|
|
269
269
|
return {
|
|
270
270
|
emojiFilteredRefs: g,
|
|
@@ -273,7 +273,7 @@ function Ge() {
|
|
|
273
273
|
setEmojiRef: d,
|
|
274
274
|
setFilteredRef: D,
|
|
275
275
|
focusEmoji: a,
|
|
276
|
-
handleArrowNavigationFiltered:
|
|
276
|
+
handleArrowNavigationFiltered: B,
|
|
277
277
|
handleArrowNavigation: w
|
|
278
278
|
};
|
|
279
279
|
}
|
|
@@ -386,17 +386,17 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
386
386
|
*/
|
|
387
387
|
"focus-search-input"
|
|
388
388
|
],
|
|
389
|
-
setup(
|
|
390
|
-
const l =
|
|
389
|
+
setup(t, { expose: g, emit: y }) {
|
|
390
|
+
const l = t, f = y, {
|
|
391
391
|
emojiFilteredRefs: R,
|
|
392
392
|
isFiltering: L,
|
|
393
|
-
hoverFirstEmoji:
|
|
393
|
+
hoverFirstEmoji: j,
|
|
394
394
|
setEmojiRef: m,
|
|
395
395
|
setFilteredRef: a,
|
|
396
396
|
focusEmoji: d,
|
|
397
397
|
handleArrowNavigationFiltered: D,
|
|
398
|
-
handleArrowNavigation:
|
|
399
|
-
} = Ge(), w = S(null),
|
|
398
|
+
handleArrowNavigation: B
|
|
399
|
+
} = Ge(), w = S(null), o = S(null), e = S(null), n = ["Recently used", "People", "Nature", "Food", "Activity", "Travel", "Objects", "Symbols", "Flags", "Custom"], v = M(() => {
|
|
400
400
|
let s = l.tabsetLabels.map((u) => ({ label: u, ref: S(null) }));
|
|
401
401
|
return l.recentlyUsedEmojis && !l.recentlyUsedEmojis.length && (s = l.tabsetLabels.slice(1).map((u) => ({ label: u, ref: S(null) }))), l.customEmojis && !l.customEmojis.length && s.pop(), s;
|
|
402
402
|
}), c = S(v.value[0].label), T = M(() => {
|
|
@@ -414,7 +414,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
414
414
|
]), _ = me(() => {
|
|
415
415
|
R.value = [], se();
|
|
416
416
|
}), le = () => {
|
|
417
|
-
const s =
|
|
417
|
+
const s = o.value;
|
|
418
418
|
s.scrollTop + s.clientHeight >= s.scrollHeight && f("scroll-bottom-reached");
|
|
419
419
|
};
|
|
420
420
|
K(i, () => {
|
|
@@ -441,7 +441,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
441
441
|
{ deep: !0 }
|
|
442
442
|
);
|
|
443
443
|
function ee(s, u = !1) {
|
|
444
|
-
|
|
444
|
+
j.value = u, f("highlighted-emoji", s);
|
|
445
445
|
}
|
|
446
446
|
function se() {
|
|
447
447
|
const s = l.emojiFilter.toLowerCase();
|
|
@@ -467,16 +467,16 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
467
467
|
function q(s, u = !0) {
|
|
468
468
|
const p = v.value[s - 1].ref.value[0];
|
|
469
469
|
x(() => {
|
|
470
|
-
const b =
|
|
470
|
+
const b = o.value, U = s === 1 ? 0 : p.offsetTop - 15;
|
|
471
471
|
b.scrollTop = U, u && d(s - 1, 0);
|
|
472
472
|
});
|
|
473
473
|
}
|
|
474
474
|
function he() {
|
|
475
|
-
const s =
|
|
475
|
+
const s = o.value;
|
|
476
476
|
s.scrollTop = 0;
|
|
477
477
|
}
|
|
478
478
|
function pe() {
|
|
479
|
-
|
|
479
|
+
o.value.addEventListener("scroll", le);
|
|
480
480
|
}
|
|
481
481
|
function _e() {
|
|
482
482
|
e.value = new IntersectionObserver(async (s) => {
|
|
@@ -485,7 +485,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
485
485
|
const { target: h } = u, p = parseInt(h.dataset.index);
|
|
486
486
|
u.isIntersecting && h.offsetTop <= w.value.offsetTop + 50 ? (c.value = ((b = v.value[p - 1]) == null ? void 0 : b.label) ?? ((U = v.value[0]) == null ? void 0 : U.label), f("scroll-into-tab", p - 1)) : u.boundingClientRect.bottom <= ((O = w.value) == null ? void 0 : O.getBoundingClientRect().bottom) ? (f("scroll-into-tab", p), c.value = (ne = v.value[p]) == null ? void 0 : ne.label) : p === 1 && (f("scroll-into-tab", p), c.value = (ie = v.value[0]) == null ? void 0 : ie.label);
|
|
487
487
|
});
|
|
488
|
-
}), e.value.observe(w.value), Array.from(
|
|
488
|
+
}), e.value.observe(w.value), Array.from(o.value.children).forEach((s, u) => {
|
|
489
489
|
e.value.observe(s), s.dataset.index = u;
|
|
490
490
|
});
|
|
491
491
|
}
|
|
@@ -504,7 +504,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
504
504
|
}
|
|
505
505
|
}, ke = (s, u, h, p) => {
|
|
506
506
|
if (s.preventDefault(), Object.values(H).includes(s.key)) {
|
|
507
|
-
|
|
507
|
+
B(s.key, u, h);
|
|
508
508
|
return;
|
|
509
509
|
}
|
|
510
510
|
switch (s.key) {
|
|
@@ -531,18 +531,18 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
531
531
|
return re(() => {
|
|
532
532
|
_e(), pe();
|
|
533
533
|
}), Te(() => {
|
|
534
|
-
e.value.disconnect(),
|
|
534
|
+
e.value.disconnect(), o.value.removeEventListener("scroll", le);
|
|
535
535
|
}), g({
|
|
536
536
|
focusEmojiSelector: Se,
|
|
537
537
|
focusLastEmoji: ge
|
|
538
|
-
}), (s, u) => (E(),
|
|
538
|
+
}), (s, u) => (E(), I("div", Ye, [
|
|
539
539
|
A("div", {
|
|
540
540
|
id: "d-emoji-picker-list",
|
|
541
541
|
ref_key: "listRef",
|
|
542
|
-
ref:
|
|
542
|
+
ref: o,
|
|
543
543
|
class: "d-emoji-picker__list"
|
|
544
544
|
}, [
|
|
545
|
-
|
|
545
|
+
t.emojiFilter ? (E(), I("p", Qe, z(r.value.length > 0 ? t.searchResultsLabel : t.searchNoResultsLabel), 1)) : (E(), I("div", {
|
|
546
546
|
key: 1,
|
|
547
547
|
ref_key: "tabCategoryRef",
|
|
548
548
|
ref: w,
|
|
@@ -550,15 +550,15 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
550
550
|
}, [
|
|
551
551
|
A("p", null, z(c.value), 1)
|
|
552
552
|
], 512)),
|
|
553
|
-
(E(!0),
|
|
553
|
+
(E(!0), I(W, null, G(v.value, (h, p) => te((E(), I("div", {
|
|
554
554
|
key: p,
|
|
555
555
|
ref_for: !0,
|
|
556
556
|
ref: h.ref,
|
|
557
557
|
class: "d-emoji-picker__alignment"
|
|
558
558
|
}, [
|
|
559
|
-
p ? (E(),
|
|
559
|
+
p ? (E(), I("p", Xe, z(h.label), 1)) : Y("", !0),
|
|
560
560
|
A("div", Ze, [
|
|
561
|
-
(E(!0),
|
|
561
|
+
(E(!0), I(W, null, G(k(C)[T.value[p] + t.skinTone] ? k(C)[T.value[p] + t.skinTone] : k(C)[T.value[p]], (b, U) => (E(), I("button", {
|
|
562
562
|
key: b.shortname,
|
|
563
563
|
ref_for: !0,
|
|
564
564
|
ref: (O) => {
|
|
@@ -584,11 +584,11 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
584
584
|
], 40, xe))), 128))
|
|
585
585
|
])
|
|
586
586
|
])), [
|
|
587
|
-
[oe, !
|
|
587
|
+
[oe, !t.emojiFilter]
|
|
588
588
|
])), 128)),
|
|
589
|
-
|
|
589
|
+
t.emojiFilter ? (E(), I("div", tt, [
|
|
590
590
|
A("div", ot, [
|
|
591
|
-
(E(!0),
|
|
591
|
+
(E(!0), I(W, null, G(r.value, (h, p) => (E(), I("button", {
|
|
592
592
|
key: h.shortname,
|
|
593
593
|
ref_for: !0,
|
|
594
594
|
ref: (b) => {
|
|
@@ -597,7 +597,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
597
597
|
type: "button",
|
|
598
598
|
"aria-label": h.name,
|
|
599
599
|
class: ce({
|
|
600
|
-
"hover-emoji": p === 0 && k(
|
|
600
|
+
"hover-emoji": p === 0 && k(j)
|
|
601
601
|
}),
|
|
602
602
|
onClick: (b) => X(h, b),
|
|
603
603
|
onFocusin: (b) => P(h),
|
|
@@ -650,8 +650,8 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
650
650
|
"focus-tabset",
|
|
651
651
|
"focus-last-emoji"
|
|
652
652
|
],
|
|
653
|
-
setup(
|
|
654
|
-
const l =
|
|
653
|
+
setup(t, { expose: g, emit: y }) {
|
|
654
|
+
const l = t, f = y, R = [
|
|
655
655
|
{
|
|
656
656
|
name: ":wave_tone1:",
|
|
657
657
|
unicode_output: "1f44b-1f3fb",
|
|
@@ -688,7 +688,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
688
688
|
skinTone: V.DEFAULT,
|
|
689
689
|
skinCode: ""
|
|
690
690
|
}
|
|
691
|
-
], L = S(!1),
|
|
691
|
+
], L = S(!1), j = S(null), m = S([]);
|
|
692
692
|
ae(
|
|
693
693
|
() => l.isHovering && (L.value = !1)
|
|
694
694
|
);
|
|
@@ -697,13 +697,13 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
697
697
|
function D(n) {
|
|
698
698
|
m.value.push(n);
|
|
699
699
|
}
|
|
700
|
-
function
|
|
701
|
-
|
|
700
|
+
function B() {
|
|
701
|
+
j.value.focus();
|
|
702
702
|
}
|
|
703
703
|
function w(n) {
|
|
704
|
-
d.value = n, L.value = !1, f("skin-tone", n.skinTone), x(() =>
|
|
704
|
+
d.value = n, L.value = !1, f("skin-tone", n.skinTone), x(() => B());
|
|
705
705
|
}
|
|
706
|
-
const
|
|
706
|
+
const o = (n, v, c) => {
|
|
707
707
|
var T, r, i;
|
|
708
708
|
n.preventDefault(), n.key === "ArrowLeft" && (c === 0 && ((T = m.value[m.value.length - 1]) == null || T.focus()), (r = m.value[c - 1]) == null || r.focus()), n.key === "ArrowRight" && ((i = m.value[c + 1]) == null || i.focus()), n.key === "Enter" && (v ? w(v) : e()), n.key === "Tab" && (n.shiftKey ? f("focus-last-emoji") : f("focus-tabset"));
|
|
709
709
|
};
|
|
@@ -711,10 +711,10 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
711
711
|
L.value = !L.value, x(() => m.value[0].focus());
|
|
712
712
|
}
|
|
713
713
|
return g({
|
|
714
|
-
focusSkinSelector:
|
|
715
|
-
}), (n, v) => (E(),
|
|
714
|
+
focusSkinSelector: B
|
|
715
|
+
}), (n, v) => (E(), I("div", it, [
|
|
716
716
|
te(A("div", at, [
|
|
717
|
-
(E(),
|
|
717
|
+
(E(), I(W, null, G(R, (c, T) => A("button", {
|
|
718
718
|
ref_for: !0,
|
|
719
719
|
ref: (r) => {
|
|
720
720
|
r && D(r);
|
|
@@ -723,7 +723,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
723
723
|
class: ce({
|
|
724
724
|
selected: d.value.skinCode === c.skinCode
|
|
725
725
|
}),
|
|
726
|
-
onKeydown: (r) =>
|
|
726
|
+
onKeydown: (r) => o(r, c, T),
|
|
727
727
|
onClick: (r) => w(c)
|
|
728
728
|
}, [
|
|
729
729
|
A("img", {
|
|
@@ -738,15 +738,15 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
738
738
|
[oe, L.value]
|
|
739
739
|
]),
|
|
740
740
|
te(A("div", ct, [
|
|
741
|
-
|
|
741
|
+
F(k(Je), { placement: "top-end" }, {
|
|
742
742
|
anchor: N(() => [
|
|
743
743
|
A("button", {
|
|
744
744
|
ref_key: "skinSelectorRef",
|
|
745
|
-
ref:
|
|
746
|
-
"aria-label":
|
|
745
|
+
ref: j,
|
|
746
|
+
"aria-label": t.skinSelectorButtonTooltipLabel,
|
|
747
747
|
tabindex: "-1",
|
|
748
748
|
onClick: e,
|
|
749
|
-
onKeydown: v[0] || (v[0] = (c) =>
|
|
749
|
+
onKeydown: v[0] || (v[0] = (c) => o(c))
|
|
750
750
|
}, [
|
|
751
751
|
A("img", {
|
|
752
752
|
class: "d-icon d-icon--size-500",
|
|
@@ -758,7 +758,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
758
758
|
], 40, ft)
|
|
759
759
|
]),
|
|
760
760
|
default: N(() => [
|
|
761
|
-
fe(z(
|
|
761
|
+
fe(z(t.skinSelectorButtonTooltipLabel) + " ", 1)
|
|
762
762
|
]),
|
|
763
763
|
_: 1
|
|
764
764
|
})
|
|
@@ -780,22 +780,22 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
780
780
|
default: null
|
|
781
781
|
}
|
|
782
782
|
},
|
|
783
|
-
setup(
|
|
783
|
+
setup(t) {
|
|
784
784
|
function g(y) {
|
|
785
785
|
return y.date_added ? y.image : `${Q + y.unicode_character}.png`;
|
|
786
786
|
}
|
|
787
787
|
return (y, l) => {
|
|
788
788
|
var f;
|
|
789
|
-
return E(),
|
|
790
|
-
|
|
789
|
+
return E(), I("div", vt, [
|
|
790
|
+
t.emoji ? (E(), I("img", {
|
|
791
791
|
key: 0,
|
|
792
792
|
class: "d-icon d-icon--size-500",
|
|
793
|
-
alt:
|
|
794
|
-
"aria-label":
|
|
795
|
-
title:
|
|
796
|
-
src: g(
|
|
793
|
+
alt: t.emoji.name,
|
|
794
|
+
"aria-label": t.emoji.name,
|
|
795
|
+
title: t.emoji.name,
|
|
796
|
+
src: g(t.emoji)
|
|
797
797
|
}, null, 8, bt)) : Y("", !0),
|
|
798
|
-
A("div", null, z((f =
|
|
798
|
+
A("div", null, z((f = t.emoji) == null ? void 0 : f.name), 1)
|
|
799
799
|
]);
|
|
800
800
|
};
|
|
801
801
|
}
|
|
@@ -859,6 +859,16 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
859
859
|
showSearch: {
|
|
860
860
|
type: Boolean,
|
|
861
861
|
default: !0
|
|
862
|
+
},
|
|
863
|
+
/**
|
|
864
|
+
* Shows the add emoji button in the footer when no emoji is highlighted
|
|
865
|
+
* @type {Boolean}
|
|
866
|
+
* @example
|
|
867
|
+
* <dt-emoji-picker :show-add-emoji-button="true" />
|
|
868
|
+
*/
|
|
869
|
+
showAddEmojiButton: {
|
|
870
|
+
type: Boolean,
|
|
871
|
+
default: !1
|
|
862
872
|
}
|
|
863
873
|
},
|
|
864
874
|
emits: [
|
|
@@ -891,8 +901,8 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
891
901
|
*/
|
|
892
902
|
"add-emoji"
|
|
893
903
|
],
|
|
894
|
-
setup(
|
|
895
|
-
const y =
|
|
904
|
+
setup(t, { emit: g }) {
|
|
905
|
+
const y = t, l = g, f = S(y.searchQuery.value), R = S(null), L = S({}), j = S(0), m = M(() => {
|
|
896
906
|
var r;
|
|
897
907
|
return ((r = y.recentlyUsedEmojis) == null ? void 0 : r.length) > 0;
|
|
898
908
|
}), a = M(() => {
|
|
@@ -909,7 +919,7 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
909
919
|
d.$t("DIALTONE_EMOJI_PICKER_TABSET_SYMBOLS_LABEL"),
|
|
910
920
|
d.$t("DIALTONE_EMOJI_PICKER_TABSET_FLAGS_LABEL"),
|
|
911
921
|
d.$t("DIALTONE_EMOJI_PICKER_TABSET_CUSTOM_LABEL")
|
|
912
|
-
],
|
|
922
|
+
], B = d.$t("DIALTONE_EMOJI_PICKER_SEARCH_PLACEHOLDER_LABEL"), w = d.$t("DIALTONE_EMOJI_PICKER_SEARCH_RESULTS_LABEL"), o = d.$t("DIALTONE_EMOJI_PICKER_SEARCH_NO_RESULTS_LABEL"), e = d.$t("DIALTONE_EMOJI_PICKER_SKIN_SELECTOR_BUTTON_TOOLTIP_LABEL"), n = d.$t("DIALTONE_EMOJI_PICKER_ADD_EMOJI_LABEL");
|
|
913
923
|
K(
|
|
914
924
|
() => y.searchQuery,
|
|
915
925
|
(r) => {
|
|
@@ -920,59 +930,59 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
920
930
|
f.value = "", L.value = { ...L.value, tabId: r };
|
|
921
931
|
}
|
|
922
932
|
function c(r) {
|
|
923
|
-
|
|
933
|
+
j.value = r;
|
|
924
934
|
}
|
|
925
935
|
function T(r) {
|
|
926
936
|
R.value = r;
|
|
927
937
|
}
|
|
928
|
-
return (r, i) => (E(),
|
|
938
|
+
return (r, i) => (E(), I("div", pt, [
|
|
929
939
|
A("div", _t, [
|
|
930
|
-
|
|
940
|
+
F(We, {
|
|
931
941
|
ref: "tabsetRef",
|
|
932
942
|
"emoji-filter": f.value,
|
|
933
943
|
"show-custom-emojis-tab": a.value,
|
|
934
944
|
"show-recently-used-tab": m.value,
|
|
935
|
-
"scroll-into-tab":
|
|
945
|
+
"scroll-into-tab": j.value,
|
|
936
946
|
"tab-set-labels": D,
|
|
937
947
|
onFocusSkinSelector: i[0] || (i[0] = (_) => r.$refs.skinSelectorRef.focusSkinSelector()),
|
|
938
|
-
onFocusSearchInput: i[1] || (i[1] = (_) =>
|
|
948
|
+
onFocusSearchInput: i[1] || (i[1] = (_) => t.showSearch ? r.$refs.searchInputRef.focusSearchInput() : r.$refs.emojiSelectorRef.focusEmojiSelector()),
|
|
939
949
|
onSelectedTabset: v,
|
|
940
950
|
onKeydown: i[2] || (i[2] = J((_) => l("close"), ["esc"]))
|
|
941
951
|
}, null, 8, ["emoji-filter", "show-custom-emojis-tab", "show-recently-used-tab", "scroll-into-tab"])
|
|
942
952
|
]),
|
|
943
953
|
A("div", Et, [
|
|
944
|
-
|
|
954
|
+
t.showSearch ? (E(), Z(ze, {
|
|
945
955
|
key: 0,
|
|
946
956
|
ref: "searchInputRef",
|
|
947
957
|
modelValue: f.value,
|
|
948
958
|
"onUpdate:modelValue": i[3] || (i[3] = (_) => f.value = _),
|
|
949
|
-
"search-placeholder-label": k(
|
|
959
|
+
"search-placeholder-label": k(B),
|
|
950
960
|
onSelectFirstEmoji: i[4] || (i[4] = (_) => l("selected-emoji", R.value)),
|
|
951
961
|
onFocusTabset: i[5] || (i[5] = (_) => r.$refs.tabsetRef.focusTabset()),
|
|
952
962
|
onFocusEmojiSelector: i[6] || (i[6] = (_) => r.$refs.emojiSelectorRef.focusEmojiSelector()),
|
|
953
963
|
onKeydown: i[7] || (i[7] = J((_) => l("close"), ["esc"]))
|
|
954
964
|
}, null, 8, ["modelValue", "search-placeholder-label"])) : Y("", !0),
|
|
955
|
-
|
|
965
|
+
F(nt, {
|
|
956
966
|
ref: "emojiSelectorRef",
|
|
957
967
|
"emoji-filter": f.value,
|
|
958
|
-
"skin-tone":
|
|
968
|
+
"skin-tone": t.skinTone,
|
|
959
969
|
"tabset-labels": D,
|
|
960
970
|
"search-results-label": k(w),
|
|
961
|
-
"search-no-results-label": k(
|
|
962
|
-
"recently-used-emojis":
|
|
963
|
-
"custom-emojis":
|
|
971
|
+
"search-no-results-label": k(o),
|
|
972
|
+
"recently-used-emojis": t.recentlyUsedEmojis,
|
|
973
|
+
"custom-emojis": t.customEmojis,
|
|
964
974
|
"selected-tabset": L.value,
|
|
965
975
|
onScrollIntoTab: c,
|
|
966
976
|
onHighlightedEmoji: T,
|
|
967
977
|
onSelectedEmoji: i[8] || (i[8] = (_) => l("selected-emoji", _)),
|
|
968
978
|
onFocusSkinSelector: i[9] || (i[9] = (_) => r.$refs.skinSelectorRef.focusSkinSelector()),
|
|
969
|
-
onFocusSearchInput: i[10] || (i[10] = (_) =>
|
|
979
|
+
onFocusSearchInput: i[10] || (i[10] = (_) => t.showSearch ? r.$refs.searchInputRef.focusSearchInput() : r.$refs.tabsetRef.focusTabset()),
|
|
970
980
|
onKeydown: i[11] || (i[11] = J((_) => l("close"), ["esc"])),
|
|
971
981
|
onScrollBottomReached: i[12] || (i[12] = (_) => l("scroll-bottom-reached"))
|
|
972
982
|
}, null, 8, ["emoji-filter", "skin-tone", "search-results-label", "search-no-results-label", "recently-used-emojis", "custom-emojis", "selected-tabset"])
|
|
973
983
|
]),
|
|
974
984
|
A("div", kt, [
|
|
975
|
-
|
|
985
|
+
t.showAddEmojiButton && !R.value ? (E(), Z(k(de), {
|
|
976
986
|
key: 0,
|
|
977
987
|
importance: "outlined",
|
|
978
988
|
"aria-label": k(n),
|
|
@@ -984,12 +994,12 @@ const Ye = { class: "d-emoji-picker__selector" }, Qe = {
|
|
|
984
994
|
]),
|
|
985
995
|
_: 1
|
|
986
996
|
}, 8, ["aria-label"])) : Y("", !0),
|
|
987
|
-
|
|
988
|
-
|
|
997
|
+
F(ht, { emoji: R.value }, null, 8, ["emoji"]),
|
|
998
|
+
F(mt, {
|
|
989
999
|
ref: "skinSelectorRef",
|
|
990
1000
|
"is-hovering": !!R.value,
|
|
991
1001
|
"skin-selector-button-tooltip-label": k(e),
|
|
992
|
-
"skin-tone":
|
|
1002
|
+
"skin-tone": t.skinTone,
|
|
993
1003
|
onSkinTone: i[14] || (i[14] = (_) => l("skin-tone", _)),
|
|
994
1004
|
onFocusTabset: i[15] || (i[15] = (_) => r.$refs.tabsetRef.focusTabset()),
|
|
995
1005
|
onFocusLastEmoji: i[16] || (i[16] = (_) => r.$refs.emojiSelectorRef.focusLastEmoji()),
|