@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.
Files changed (106) hide show
  1. package/dist/css/dialtone-default-theme.css +9 -8
  2. package/dist/css/dialtone-default-theme.min.css +1 -1
  3. package/dist/css/dialtone.css +9 -8
  4. package/dist/css/dialtone.min.css +1 -1
  5. package/dist/tokens/doc.json +55617 -55617
  6. package/dist/vue2/component-documentation.json +1 -1
  7. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  8. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  9. package/dist/vue2/lib/emoji-picker/emoji-picker.js +15 -5
  10. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  11. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  12. package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
  13. package/dist/vue2/lib/emoji-row/emoji-row.js +7 -8
  14. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  15. package/dist/vue2/localization/de-DE.cjs +2 -10
  16. package/dist/vue2/localization/de-DE.cjs.map +1 -1
  17. package/dist/vue2/localization/de-DE.js +2 -10
  18. package/dist/vue2/localization/de-DE.js.map +1 -1
  19. package/dist/vue2/localization/en-US.cjs +13 -19
  20. package/dist/vue2/localization/en-US.cjs.map +1 -1
  21. package/dist/vue2/localization/en-US.js +13 -19
  22. package/dist/vue2/localization/en-US.js.map +1 -1
  23. package/dist/vue2/localization/es-LA.cjs +2 -10
  24. package/dist/vue2/localization/es-LA.cjs.map +1 -1
  25. package/dist/vue2/localization/es-LA.js +2 -10
  26. package/dist/vue2/localization/es-LA.js.map +1 -1
  27. package/dist/vue2/localization/fr-FR.cjs +2 -10
  28. package/dist/vue2/localization/fr-FR.cjs.map +1 -1
  29. package/dist/vue2/localization/fr-FR.js +2 -10
  30. package/dist/vue2/localization/fr-FR.js.map +1 -1
  31. package/dist/vue2/localization/it-IT.cjs +2 -10
  32. package/dist/vue2/localization/it-IT.cjs.map +1 -1
  33. package/dist/vue2/localization/it-IT.js +2 -10
  34. package/dist/vue2/localization/it-IT.js.map +1 -1
  35. package/dist/vue2/localization/ja-JP.cjs +1 -5
  36. package/dist/vue2/localization/ja-JP.cjs.map +1 -1
  37. package/dist/vue2/localization/ja-JP.js +1 -5
  38. package/dist/vue2/localization/ja-JP.js.map +1 -1
  39. package/dist/vue2/localization/nl-NL.cjs +2 -10
  40. package/dist/vue2/localization/nl-NL.cjs.map +1 -1
  41. package/dist/vue2/localization/nl-NL.js +2 -10
  42. package/dist/vue2/localization/nl-NL.js.map +1 -1
  43. package/dist/vue2/localization/pt-BR.cjs +2 -10
  44. package/dist/vue2/localization/pt-BR.cjs.map +1 -1
  45. package/dist/vue2/localization/pt-BR.js +2 -10
  46. package/dist/vue2/localization/pt-BR.js.map +1 -1
  47. package/dist/vue2/localization/ru-RU.cjs +4 -20
  48. package/dist/vue2/localization/ru-RU.cjs.map +1 -1
  49. package/dist/vue2/localization/ru-RU.js +4 -20
  50. package/dist/vue2/localization/ru-RU.js.map +1 -1
  51. package/dist/vue2/localization/zh-CN.cjs +1 -5
  52. package/dist/vue2/localization/zh-CN.cjs.map +1 -1
  53. package/dist/vue2/localization/zh-CN.js +1 -5
  54. package/dist/vue2/localization/zh-CN.js.map +1 -1
  55. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  56. package/dist/vue3/component-documentation.json +1 -1
  57. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs +1 -1
  58. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  59. package/dist/vue3/lib/emoji-picker/emoji-picker.js +143 -133
  60. package/dist/vue3/lib/emoji-picker/emoji-picker.js.map +1 -1
  61. package/dist/vue3/lib/emoji-row/emoji-row.cjs +1 -1
  62. package/dist/vue3/lib/emoji-row/emoji-row.cjs.map +1 -1
  63. package/dist/vue3/lib/emoji-row/emoji-row.js +21 -22
  64. package/dist/vue3/lib/emoji-row/emoji-row.js.map +1 -1
  65. package/dist/vue3/localization/de-DE.cjs +2 -10
  66. package/dist/vue3/localization/de-DE.cjs.map +1 -1
  67. package/dist/vue3/localization/de-DE.js +2 -10
  68. package/dist/vue3/localization/de-DE.js.map +1 -1
  69. package/dist/vue3/localization/en-US.cjs +13 -19
  70. package/dist/vue3/localization/en-US.cjs.map +1 -1
  71. package/dist/vue3/localization/en-US.js +13 -19
  72. package/dist/vue3/localization/en-US.js.map +1 -1
  73. package/dist/vue3/localization/es-LA.cjs +2 -10
  74. package/dist/vue3/localization/es-LA.cjs.map +1 -1
  75. package/dist/vue3/localization/es-LA.js +2 -10
  76. package/dist/vue3/localization/es-LA.js.map +1 -1
  77. package/dist/vue3/localization/fr-FR.cjs +2 -10
  78. package/dist/vue3/localization/fr-FR.cjs.map +1 -1
  79. package/dist/vue3/localization/fr-FR.js +2 -10
  80. package/dist/vue3/localization/fr-FR.js.map +1 -1
  81. package/dist/vue3/localization/it-IT.cjs +2 -10
  82. package/dist/vue3/localization/it-IT.cjs.map +1 -1
  83. package/dist/vue3/localization/it-IT.js +2 -10
  84. package/dist/vue3/localization/it-IT.js.map +1 -1
  85. package/dist/vue3/localization/ja-JP.cjs +1 -5
  86. package/dist/vue3/localization/ja-JP.cjs.map +1 -1
  87. package/dist/vue3/localization/ja-JP.js +1 -5
  88. package/dist/vue3/localization/ja-JP.js.map +1 -1
  89. package/dist/vue3/localization/nl-NL.cjs +2 -10
  90. package/dist/vue3/localization/nl-NL.cjs.map +1 -1
  91. package/dist/vue3/localization/nl-NL.js +2 -10
  92. package/dist/vue3/localization/nl-NL.js.map +1 -1
  93. package/dist/vue3/localization/pt-BR.cjs +2 -10
  94. package/dist/vue3/localization/pt-BR.cjs.map +1 -1
  95. package/dist/vue3/localization/pt-BR.js +2 -10
  96. package/dist/vue3/localization/pt-BR.js.map +1 -1
  97. package/dist/vue3/localization/ru-RU.cjs +4 -20
  98. package/dist/vue3/localization/ru-RU.cjs.map +1 -1
  99. package/dist/vue3/localization/ru-RU.js +4 -20
  100. package/dist/vue3/localization/ru-RU.js.map +1 -1
  101. package/dist/vue3/localization/zh-CN.cjs +1 -5
  102. package/dist/vue3/localization/zh-CN.cjs.map +1 -1
  103. package/dist/vue3/localization/zh-CN.js +1 -5
  104. package/dist/vue3/localization/zh-CN.js.map +1 -1
  105. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  106. package/package.json +8 -3
@@ -1,5 +1,5 @@
1
- import { ref as S, onMounted as re, createElementBlock as j, openBlock as E, createVNode as B, 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 Ie, DtIconClose as je, DtIconClock as Re, DtIconSatisfied as Ae, DtIconLivingThing as $e, DtIconFood as we, DtIconObject as Oe, DtIconTransportation as Ce, DtIconLightbulb as De, DtIconHeart as Fe, DtIconFlag as Be, DtIconTiktok as Ke } from "@dialpad/dialtone-icons/vue3";
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(o, { expose: g, emit: y }) {
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
- }), (I, m) => (E(), j("div", He, [
38
- B(k(Ne), {
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: o.searchPlaceholderLabel,
43
- "model-value": o.modelValue,
44
- "onUpdate:modelValue": m[0] || (m[0] = (a) => I.$emit("update:modelValue", 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) => I.$emit("focus-tabset"), ["up"])),
47
- m[2] || (m[2] = J(ue((a) => I.$emit("focus-emoji-selector"), ["prevent"]), ["down"])),
48
- m[3] || (m[3] = J((a) => I.$emit("select-first-emoji"), ["enter"]))
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
- B(k(Ie), { size: "200" })
52
+ F(k(je), { size: "200" })
53
53
  ]),
54
54
  _: 2
55
55
  }, [
56
- o.modelValue.length > 0 ? {
56
+ t.modelValue.length > 0 ? {
57
57
  name: "rightIcon",
58
58
  fn: N(() => [
59
- B(k(de), {
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
- B(k(je), { size: "200" })
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(o, { expose: g, emit: y }) {
128
- const l = o, f = y, R = [
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: Fe },
137
- { label: l.tabSetLabels[8], icon: Be },
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 t = l.showRecentlyUsedTab ? R : R.slice(1);
141
- return l.showCustomEmojisTab || t.pop(), t.map((e, n) => ({
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
- }), I = M(() => l.emojiFilter.length > 0), m = S("1"), a = S([]);
147
+ }), j = M(() => l.emojiFilter.length > 0), m = S("1"), a = S([]);
148
148
  K(
149
149
  () => l.scrollIntoTab,
150
150
  () => {
151
- I.value || (m.value = (l.scrollIntoTab + 1).toString());
151
+ j.value || (m.value = (l.scrollIntoTab + 1).toString());
152
152
  }
153
153
  ), K(
154
- I,
154
+ j,
155
155
  () => {
156
- I.value && (m.value = null);
156
+ j.value && (m.value = null);
157
157
  }
158
158
  );
159
- function d(t) {
160
- const e = parseInt(t);
161
- m.value = t, f("selected-tabset", e);
159
+ function d(o) {
160
+ const e = parseInt(o);
161
+ m.value = o, f("selected-tabset", e);
162
162
  }
163
- function D(t) {
164
- a.value.push(Me(t.$el));
163
+ function D(o) {
164
+ a.value.push(Me(o.$el));
165
165
  }
166
- function F() {
166
+ function B() {
167
167
  a.value[0].focus();
168
168
  }
169
- function w(t, e) {
170
- t.key === "Enter" && (d(e), a.value[e - 1].blur()), t.key === "Tab" && (t.preventDefault(), t.shiftKey ? f("focus-skin-selector") : f("focus-search-input")), t.key === "ArrowDown" && f("focus-search-input");
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: F
174
- }), (t, e) => (E(), j("div", qe, [
175
- B(k(Pe), {
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), j(W, null, G(L.value, (n, v) => (E(), Z(k(Ue), {
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 o = S([]), g = S([]), y = S(!1), l = S(!0);
208
- function f(t, e) {
209
- a(t, e - 1) || (o.value[t - 1] ? a(t - 1, o.value[t - 1].length - 1) : a(o.value.length - 1, o.value[o.value.length - 1].length - 1));
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(t, e) {
212
- a(t, e + 1) || a(t + 1, 0) || a(0, 0);
211
+ function R(o, e) {
212
+ a(o, e + 1) || a(o + 1, 0) || a(0, 0);
213
213
  }
214
- function L(t, e) {
214
+ function L(o, e) {
215
215
  a(0, e - 1) || a(0, g.value.length - 1);
216
216
  }
217
- function I(t, e) {
217
+ function j(o, e) {
218
218
  a(0, e + 1) || a(0, 0);
219
219
  }
220
- function m(t, e, n) {
221
- y.value ? t === "left" ? L(e, n) : t === "right" && I(e, n) : t === "left" ? f(e, n) : t === "right" && R(e, n);
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(t, e) {
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 = o.value) == null ? void 0 : c[t]) == null ? void 0 : T[e];
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(t, e, n) {
229
- o.value[e] || (o.value[e] = []), o.value[e][n] = t;
228
+ function d(o, e, n) {
229
+ t.value[e] || (t.value[e] = []), t.value[e][n] = o;
230
230
  }
231
- function D(t, e) {
232
- g.value[e] = t;
231
+ function D(o, e) {
232
+ g.value[e] = o;
233
233
  }
234
- function F(t, e) {
234
+ function B(o, e) {
235
235
  var n;
236
- if (l.value = !1, t === H.ARROW_UP) {
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 (t === H.ARROW_DOWN && !a(0, e + $)) {
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
- t === H.ARROW_LEFT && m("left", 0, e), t === H.ARROW_RIGHT && m("right", 0, e);
247
+ o === H.ARROW_LEFT && m("left", 0, e), o === H.ARROW_RIGHT && m("right", 0, e);
248
248
  }
249
- function w(t, e, n) {
249
+ function w(o, e, n) {
250
250
  var v, c;
251
- if (t === "ArrowUp") {
251
+ if (o === "ArrowUp") {
252
252
  const T = n % $;
253
253
  if (e === 0) {
254
- const r = $ - o.value[o.value.length - 1].length % $, i = o.value[o.value.length - 1].length + r - ($ - T);
255
- a(o.value.length - 1, i) || a(o.value.length - 1, o.value[o.value.length - 1].length - 1);
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 = o.value[r].length, _ = i - i % $ + T;
260
- a(r, _) || a(e - 1, o.value[e - 1].length - 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 (t === "ArrowDown" && !a(e, n + $)) {
263
+ if (o === "ArrowDown" && !a(e, n + $)) {
264
264
  const T = n % $;
265
- (c = (v = o.value) == null ? void 0 : v[e]) != null && c[n + ($ - T)] ? a(e, o.value[e].length - 1) : a(e + 1, T) || a(0, T) || a(0, o.value[0].length - 1);
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
- t === "ArrowLeft" && m("left", e, n), t === "ArrowRight" && m("right", e, n);
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: F,
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(o, { expose: g, emit: y }) {
390
- const l = o, f = y, {
389
+ setup(t, { expose: g, emit: y }) {
390
+ const l = t, f = y, {
391
391
  emojiFilteredRefs: R,
392
392
  isFiltering: L,
393
- hoverFirstEmoji: I,
393
+ hoverFirstEmoji: j,
394
394
  setEmojiRef: m,
395
395
  setFilteredRef: a,
396
396
  focusEmoji: d,
397
397
  handleArrowNavigationFiltered: D,
398
- handleArrowNavigation: F
399
- } = Ge(), w = S(null), t = S(null), e = S(null), n = ["Recently used", "People", "Nature", "Food", "Activity", "Travel", "Objects", "Symbols", "Flags", "Custom"], v = M(() => {
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 = t.value;
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
- I.value = u, f("highlighted-emoji", s);
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 = t.value, U = s === 1 ? 0 : p.offsetTop - 15;
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 = t.value;
475
+ const s = o.value;
476
476
  s.scrollTop = 0;
477
477
  }
478
478
  function pe() {
479
- t.value.addEventListener("scroll", le);
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(t.value.children).forEach((s, u) => {
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
- F(s.key, u, h);
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(), t.value.removeEventListener("scroll", le);
534
+ e.value.disconnect(), o.value.removeEventListener("scroll", le);
535
535
  }), g({
536
536
  focusEmojiSelector: Se,
537
537
  focusLastEmoji: ge
538
- }), (s, u) => (E(), j("div", Ye, [
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: t,
542
+ ref: o,
543
543
  class: "d-emoji-picker__list"
544
544
  }, [
545
- o.emojiFilter ? (E(), j("p", Qe, z(r.value.length > 0 ? o.searchResultsLabel : o.searchNoResultsLabel), 1)) : (E(), j("div", {
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), j(W, null, G(v.value, (h, p) => te((E(), j("div", {
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(), j("p", Xe, z(h.label), 1)) : Y("", !0),
559
+ p ? (E(), I("p", Xe, z(h.label), 1)) : Y("", !0),
560
560
  A("div", Ze, [
561
- (E(!0), j(W, null, G(k(C)[T.value[p] + o.skinTone] ? k(C)[T.value[p] + o.skinTone] : k(C)[T.value[p]], (b, U) => (E(), j("button", {
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, !o.emojiFilter]
587
+ [oe, !t.emojiFilter]
588
588
  ])), 128)),
589
- o.emojiFilter ? (E(), j("div", tt, [
589
+ t.emojiFilter ? (E(), I("div", tt, [
590
590
  A("div", ot, [
591
- (E(!0), j(W, null, G(r.value, (h, p) => (E(), j("button", {
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(I)
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(o, { expose: g, emit: y }) {
654
- const l = o, f = y, R = [
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), I = S(null), m = S([]);
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 F() {
701
- I.value.focus();
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(() => F());
704
+ d.value = n, L.value = !1, f("skin-tone", n.skinTone), x(() => B());
705
705
  }
706
- const t = (n, v, c) => {
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: F
715
- }), (n, v) => (E(), j("div", it, [
714
+ focusSkinSelector: B
715
+ }), (n, v) => (E(), I("div", it, [
716
716
  te(A("div", at, [
717
- (E(), j(W, null, G(R, (c, T) => A("button", {
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) => t(r, c, T),
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
- B(k(Je), { placement: "top-end" }, {
741
+ F(k(Je), { placement: "top-end" }, {
742
742
  anchor: N(() => [
743
743
  A("button", {
744
744
  ref_key: "skinSelectorRef",
745
- ref: I,
746
- "aria-label": o.skinSelectorButtonTooltipLabel,
745
+ ref: j,
746
+ "aria-label": t.skinSelectorButtonTooltipLabel,
747
747
  tabindex: "-1",
748
748
  onClick: e,
749
- onKeydown: v[0] || (v[0] = (c) => t(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(o.skinSelectorButtonTooltipLabel) + " ", 1)
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(o) {
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(), j("div", vt, [
790
- o.emoji ? (E(), j("img", {
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: o.emoji.name,
794
- "aria-label": o.emoji.name,
795
- title: o.emoji.name,
796
- src: g(o.emoji)
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 = o.emoji) == null ? void 0 : f.name), 1)
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(o, { emit: g }) {
895
- const y = o, l = g, f = S(y.searchQuery.value), R = S(null), L = S({}), I = S(0), m = M(() => {
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
- ], F = d.$t("DIALTONE_EMOJI_PICKER_SEARCH_PLACEHOLDER_LABEL"), w = d.$t("DIALTONE_EMOJI_PICKER_SEARCH_RESULTS_LABEL"), t = 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");
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
- I.value = r;
933
+ j.value = r;
924
934
  }
925
935
  function T(r) {
926
936
  R.value = r;
927
937
  }
928
- return (r, i) => (E(), j("div", pt, [
938
+ return (r, i) => (E(), I("div", pt, [
929
939
  A("div", _t, [
930
- B(We, {
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": I.value,
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] = (_) => o.showSearch ? r.$refs.searchInputRef.focusSearchInput() : r.$refs.emojiSelectorRef.focusEmojiSelector()),
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
- o.showSearch ? (E(), Z(ze, {
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(F),
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
- B(nt, {
965
+ F(nt, {
956
966
  ref: "emojiSelectorRef",
957
967
  "emoji-filter": f.value,
958
- "skin-tone": o.skinTone,
968
+ "skin-tone": t.skinTone,
959
969
  "tabset-labels": D,
960
970
  "search-results-label": k(w),
961
- "search-no-results-label": k(t),
962
- "recently-used-emojis": o.recentlyUsedEmojis,
963
- "custom-emojis": o.customEmojis,
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] = (_) => o.showSearch ? r.$refs.searchInputRef.focusSearchInput() : r.$refs.tabsetRef.focusTabset()),
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
- a.value && !R.value ? (E(), Z(k(de), {
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
- B(ht, { emoji: R.value }, null, 8, ["emoji"]),
988
- B(mt, {
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": o.skinTone,
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()),