@onereach/ui-components 25.1.2-beta.5768.0 → 25.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/esm/{OrAutocomplete-BYPOrjCw.mjs → OrAutocomplete-C1ToaRkp.mjs} +69 -69
  2. package/dist/esm/OrAutocomplete-C1ToaRkp.mjs.map +1 -0
  3. package/dist/esm/{OrDataGrid-B6fMQzTu.mjs → OrDataGrid-COx5W-ik.mjs} +3 -3
  4. package/dist/esm/{OrDataGrid-B6fMQzTu.mjs.map → OrDataGrid-COx5W-ik.mjs.map} +1 -1
  5. package/dist/esm/{OrSelect-ozo6QAOf.mjs → OrSelect-DU7MIxsd.mjs} +221 -231
  6. package/dist/esm/OrSelect-DU7MIxsd.mjs.map +1 -0
  7. package/dist/esm/{OrTag-Bixe0EQq.mjs → OrTag-BqSIqSCt.mjs} +14 -14
  8. package/dist/esm/OrTag-BqSIqSCt.mjs.map +1 -0
  9. package/dist/esm/{OrTagInput-iFJhEZwO.mjs → OrTagInput-Bxt-g2Hx.mjs} +123 -123
  10. package/dist/esm/OrTagInput-Bxt-g2Hx.mjs.map +1 -0
  11. package/dist/esm/{OrTags-CS0bcLtx.mjs → OrTags-DxQDW443.mjs} +2 -2
  12. package/dist/esm/{OrTags-CS0bcLtx.mjs.map → OrTags-DxQDW443.mjs.map} +1 -1
  13. package/dist/esm/components/index.mjs +6 -6
  14. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  15. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  16. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  17. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  18. package/dist/esm/components/or-tag-v3/index.mjs +1 -1
  19. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  20. package/dist/esm/index.mjs +6 -6
  21. package/dist/types/components/or-autocomplete-v3/OrAutocomplete.vue.d.ts +44 -44
  22. package/dist/types/components/or-button-v3/OrButton.vue.d.ts +1 -1
  23. package/dist/types/components/or-confirm-v3/OrConfirm.vue.d.ts +8 -8
  24. package/dist/types/components/or-data-grid-v3/OrDataGrid.vue.d.ts +9 -9
  25. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +4 -4
  26. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +4 -4
  27. package/dist/types/components/or-editor-tabs-v3/OrEditorTabs.vue.d.ts +1 -1
  28. package/dist/types/components/or-inline-input-v3/OrInlineInput.vue.d.ts +2 -2
  29. package/dist/types/components/or-inline-textarea-v3/OrInlineTextarea.vue.d.ts +2 -2
  30. package/dist/types/components/or-input-v3/OrInput.vue.d.ts +3 -3
  31. package/dist/types/components/or-pagination-v3/OrPagination.vue.d.ts +4 -4
  32. package/dist/types/components/or-search-v3/OrSearch.vue.d.ts +6 -6
  33. package/dist/types/components/or-select-v3/OrSelect.vue.d.ts +15 -15
  34. package/dist/types/components/or-select-v3/partials/or-select-multiple-control/OrSelectMultipleControl.vue.d.ts +6 -6
  35. package/dist/types/components/or-sorting-v3/OrSorting.vue.d.ts +1 -1
  36. package/dist/types/components/or-switch-v3/OrSwitch.vue.d.ts +1 -1
  37. package/dist/types/components/or-tag-input-v3/OrTagInput.vue.d.ts +10 -9
  38. package/dist/types/components/or-tags-v3/OrTags.vue.d.ts +2 -2
  39. package/dist/types/components/or-textarea-v3/OrTextarea.vue.d.ts +1 -1
  40. package/dist/types/components/or-toast-v3/OrToast.vue.d.ts +3 -3
  41. package/package.json +5 -4
  42. package/dist/esm/OrAutocomplete-BYPOrjCw.mjs.map +0 -1
  43. package/dist/esm/OrSelect-ozo6QAOf.mjs.map +0 -1
  44. package/dist/esm/OrTag-Bixe0EQq.mjs.map +0 -1
  45. package/dist/esm/OrTagInput-iFJhEZwO.mjs.map +0 -1
@@ -1,17 +1,17 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("input[data-v-e2132f34]{min-width:0;background:none;outline:none}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
- import { onClickOutside as le } from "@vueuse/core";
3
- import { defineComponent as re, ref as f, toRefs as ae, computed as d, reactive as ne, watch as de, nextTick as A, resolveComponent as p, openBlock as B, createElementBlock as se, normalizeClass as E, createBlock as P, withCtx as r, renderSlot as v, createTextVNode as m, toDisplayString as i, createCommentVNode as D, createVNode as w, createSlots as I, createElementVNode as R, withDirectives as q, mergeProps as ie, withKeys as ue, vModelDynamic as pe, vShow as U } from "vue";
4
- import { useResponsive as fe, useIdAttribute as ve, useControlAttributes as me, useValidationAttributes as ye, useProxyModelValue as ge } from "@onereach/ui-components-common/hooks";
5
- import { toArray as be, include as ce, exclude as he } from "@onereach/ui-components-common/utils";
6
- import { O as Oe } from "./OrError-B5ihH6-3.mjs";
7
- import { O as Be } from "./OrHint-NvbZyURY.mjs";
8
- import { O as we } from "./OrIconButton-BlHCLpeW.mjs";
9
- import { O as Ie } from "./OrInputBox-6ciokFdU.mjs";
10
- import { a as Ve } from "./OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs";
11
- import { O as ke } from "./OrLabel-K7_HgvcK.mjs";
12
- import { O as Se } from "./OrLoader-2SaTMxmZ.mjs";
13
- import { a as j } from "./OrTag-Bixe0EQq.mjs";
14
- import { O as $e, T as G } from "./OrTags-CS0bcLtx.mjs";
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("input[data-v-2baf79b5]{min-width:0;background:none;outline:none}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
+ import { useResponsive as le, useIdAttribute as re, useControlAttributes as ne, useValidationAttributes as de, useProxyModelValue as se } from "@onereach/ui-components-common/hooks";
3
+ import { toArray as ie, include as ue, exclude as pe } from "@onereach/ui-components-common/utils";
4
+ import { O as fe } from "./OrError-B5ihH6-3.mjs";
5
+ import { O as ve } from "./OrHint-NvbZyURY.mjs";
6
+ import { O as me } from "./OrIconButton-BlHCLpeW.mjs";
7
+ import { O as ye } from "./OrInputBox-6ciokFdU.mjs";
8
+ import { a as ge } from "./OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs";
9
+ import { O as be } from "./OrLabel-K7_HgvcK.mjs";
10
+ import { O as ce } from "./OrLoader-2SaTMxmZ.mjs";
11
+ import { a as K, T as U } from "./OrTag-BqSIqSCt.mjs";
12
+ import { defineComponent as he, ref as f, toRefs as Oe, computed as s, reactive as Be, watch as we, nextTick as A, resolveComponent as p, openBlock as B, createElementBlock as Ve, normalizeClass as E, createBlock as P, withCtx as l, renderSlot as v, createTextVNode as m, toDisplayString as i, createCommentVNode as D, createVNode as w, createSlots as V, createElementVNode as j, withDirectives as q, mergeProps as Ie, withKeys as ke, vModelDynamic as Se, vShow as G } from "vue";
13
+ import { O as $e, T as J } from "./OrTags-DxQDW443.mjs";
14
+ import { onClickOutside as Te } from "@vueuse/core";
15
15
  import { _ as Le } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
16
16
  const Me = [
17
17
  // Layout
@@ -26,18 +26,18 @@ const Me = [
26
26
  // Theme (placeholder)
27
27
  "placeholder:theme-foreground-outline",
28
28
  "dark:placeholder:theme-foreground-outline-dark"
29
- ], Te = [
29
+ ], Ae = [
30
30
  // Box
31
31
  "!min-h-0"
32
- ], Ae = re({
32
+ ], Ee = he({
33
33
  name: "OrTagInput",
34
34
  components: {
35
- OrError: Oe,
36
- OrHint: Be,
37
- OrIconButton: we,
38
- OrInputBox: Ie,
39
- OrLabel: ke,
40
- OrLoader: Se,
35
+ OrError: fe,
36
+ OrHint: ve,
37
+ OrIconButton: me,
38
+ OrInputBox: ye,
39
+ OrLabel: be,
40
+ OrLoader: ce,
41
41
  OrTags: $e
42
42
  },
43
43
  model: {
@@ -87,7 +87,7 @@ const Me = [
87
87
  },
88
88
  overflow: {
89
89
  type: String,
90
- default: () => G.Hidden
90
+ default: () => J.Hidden
91
91
  },
92
92
  // todo: review default state, disabling will breaking
93
93
  enableClear: {
@@ -120,109 +120,109 @@ const Me = [
120
120
  "blur",
121
121
  "activate"
122
122
  ],
123
- setup(e, t) {
124
- const H = f(), g = f(), V = f(), b = f(), { modelValue: k, overflow: S, placeholder: $, disabled: y, readonly: c, saveOnBlur: L } = ae(e), { isMobile: M } = fe(), l = d(() => [
123
+ setup(e, a) {
124
+ const H = f(), g = f(), I = f(), b = f(), { modelValue: k, overflow: S, placeholder: $, disabled: y, readonly: c, saveOnBlur: T } = Oe(e), { isMobile: L } = le(), t = s(() => [
125
125
  "or-tag-input-v3",
126
126
  ...Me,
127
- ...e.variant === Ve.Embedded ? ["grow"] : []
128
- ]), J = d(() => [
127
+ ...e.variant === ge.Embedded ? ["grow"] : []
128
+ ]), Q = s(() => [
129
129
  ...Ce
130
- ]), Q = d(() => [
131
- ...Te
132
- ]), W = d(() => [
130
+ ]), W = s(() => [
131
+ ...Ae
132
+ ]), X = s(() => [
133
133
  "interactivity-select",
134
134
  ...e.additionalInputBoxStyles
135
- ]), N = ne({
136
- id: ve(),
137
- ...me(),
138
- ...ye()
139
- }), u = f(!1), n = ge(k, t.emit), s = f(), X = d(() => be(n.value).map((o) => ({
135
+ ]), N = Be({
136
+ id: re(),
137
+ ...ne(),
138
+ ...de()
139
+ }), u = f(!1), n = se(k, a.emit), d = f(), Y = s(() => ie(n.value).map((o) => ({
140
140
  label: o,
141
141
  value: o,
142
142
  tagProps: {
143
- color: o === s.value ? j.Danger : j.Default
143
+ color: o === d.value ? K.Danger : K.Default
144
144
  }
145
- }))), h = d(() => {
145
+ }))), h = s(() => {
146
146
  var o;
147
147
  return ((o = n.value) == null ? void 0 : o.length) ?? 0;
148
- }), C = d(() => N.maxlength), Y = d(() => {
149
- var a;
150
- const o = s.value ? s.value.length : h.value === 0 ? ((a = $.value) == null ? void 0 : a.length) ?? 0 : 0;
148
+ }), M = s(() => N.maxlength), Z = s(() => {
149
+ var r;
150
+ const o = d.value ? d.value.length : h.value === 0 ? ((r = $.value) == null ? void 0 : r.length) ?? 0 : 0;
151
151
  return {
152
152
  width: `${Math.max(o + 1 || 0, 3)}ch`
153
153
  };
154
- }), Z = d(() => s.value || h.value === 0 || u.value), x = d(() => ({
155
- variant: c.value || y.value || !u.value ? "tag" : "reset",
154
+ }), x = s(() => d.value || h.value === 0 || u.value), _ = s(() => ({
155
+ variant: c.value || y.value || !u.value ? U.Tag : U.Reset,
156
156
  disabled: y.value
157
157
  }));
158
- function T() {
158
+ function C() {
159
159
  var o;
160
160
  (o = g.value) == null || o.focus();
161
161
  }
162
- function z() {
162
+ function R() {
163
163
  var o;
164
- (o = g.value) == null || o.blur();
164
+ (o = g.value) == null || o.blur(), d.value = "";
165
165
  }
166
- function F() {
167
- u.value = !1, A(() => z()), t.emit("blur");
166
+ function z() {
167
+ u.value = !1, A(() => R()), a.emit("blur");
168
168
  }
169
- function _() {
170
- y.value || c.value || (u.value || (u.value = !0, t.emit("focus")), A(() => T()));
169
+ function ee() {
170
+ y.value || c.value || (u.value || (u.value = !0, a.emit("focus")), A(() => C()));
171
171
  }
172
- function K() {
173
- var a;
174
- const o = s.value;
175
- o && ((a = n.value) != null && a.includes(o) || C.value && h.value >= C.value || (n.value = ce(o, n.value ?? []), s.value = "", A(() => T())));
172
+ function F() {
173
+ var r;
174
+ const o = d.value;
175
+ o && ((r = n.value) != null && r.includes(o) || M.value && h.value >= M.value || (n.value = ue(o, n.value ?? []), d.value = "", A(() => C())));
176
176
  }
177
- function ee(o) {
178
- n.value = he(o, n.value ?? []);
177
+ function oe(o) {
178
+ n.value = pe(o, n.value ?? []);
179
179
  }
180
- function oe() {
181
- n.value = [], s.value = "", t.emit("reset");
180
+ function ae() {
181
+ n.value = [], d.value = "", a.emit("reset");
182
182
  }
183
183
  function te() {
184
- s.value = "";
184
+ d.value = "";
185
185
  }
186
- return le(V, () => {
187
- var o, a;
188
- u.value === !1 || ((a = (o = b.value) == null ? void 0 : o.overflowPopover) == null ? void 0 : a.state) === "open" || (L.value && K(), F());
189
- }), de(n, (o, a) => {
186
+ return Te(I, () => {
187
+ var o, r;
188
+ u.value === !1 || ((r = (o = b.value) == null ? void 0 : o.overflowPopover) == null ? void 0 : r.state) === "open" || (T.value && F(), z());
189
+ }), we(n, (o, r) => {
190
190
  var O;
191
- S.value === G.Scroll && (o == null ? void 0 : o.length) !== (a == null ? void 0 : a.length) && ((O = b.value) == null ? void 0 : O.scrollToEnd).call(O);
191
+ S.value === J.Scroll && (o == null ? void 0 : o.length) !== (r == null ? void 0 : r.length) && ((O = b.value) == null ? void 0 : O.scrollToEnd).call(O);
192
192
  }), {
193
193
  root: H,
194
194
  control: g,
195
- inputBox: V,
195
+ inputBox: I,
196
196
  tags: b,
197
- rootStyles: l,
198
- controlStyles: J,
199
- itemStyles: Q,
200
- inputBoxStyles: W,
201
- controlInlineStyles: Y,
197
+ rootStyles: t,
198
+ controlStyles: Q,
199
+ itemStyles: W,
200
+ inputBoxStyles: X,
201
+ controlInlineStyles: Z,
202
202
  controlAttributes: N,
203
203
  proxyModelValue: n,
204
- draftModelValue: s,
205
- tagsItems: X,
206
- tagsProps: x,
204
+ draftModelValue: d,
205
+ tagsItems: Y,
206
+ tagsProps: _,
207
207
  currentLength: h,
208
- maxLength: C,
208
+ maxLength: M,
209
209
  activated: u,
210
- showControl: Z,
211
- isMobile: M,
212
- focus: T,
213
- blur: z,
214
- add: K,
215
- activate: _,
216
- deactivate: F,
217
- remove: ee,
218
- reset: oe,
210
+ showControl: x,
211
+ isMobile: L,
212
+ focus: C,
213
+ blur: R,
214
+ add: F,
215
+ activate: ee,
216
+ deactivate: z,
217
+ remove: oe,
218
+ reset: ae,
219
219
  clear: te
220
220
  };
221
221
  }
222
- }), Ee = { class: "inline-flex w-fit max-w-full" }, Pe = ["placeholder", "readonly", "disabled"];
223
- function De(e, t, H, g, V, b) {
224
- const k = p("OrLabel"), S = p("OrTags"), $ = p("OrLoader"), y = p("OrIconButton"), c = p("OrInputBox"), L = p("OrHint"), M = p("OrError");
225
- return B(), se("div", {
222
+ }), Pe = { class: "inline-flex w-fit max-w-full" }, De = ["placeholder", "readonly", "disabled"];
223
+ function qe(e, a, H, g, I, b) {
224
+ const k = p("OrLabel"), S = p("OrTags"), $ = p("OrLoader"), y = p("OrIconButton"), c = p("OrInputBox"), T = p("OrHint"), L = p("OrError");
225
+ return B(), Ve("div", {
226
226
  ref: "root",
227
227
  class: E(e.rootStyles)
228
228
  }, [
@@ -233,10 +233,10 @@ function De(e, t, H, g, V, b) {
233
233
  required: e.required,
234
234
  disabled: e.disabled
235
235
  }, {
236
- addon: r(() => [
236
+ addon: l(() => [
237
237
  v(e.$slots, "addon", {}, void 0, !0)
238
238
  ]),
239
- default: r(() => [
239
+ default: l(() => [
240
240
  v(e.$slots, "label", {}, () => [
241
241
  m(i(e.label), 1)
242
242
  ], !0)
@@ -253,8 +253,8 @@ function De(e, t, H, g, V, b) {
253
253
  tabindex: 0,
254
254
  "force-state": e.activated ? "focus-within" : void 0,
255
255
  onFocus: e.activate
256
- }, I({
257
- default: r(() => [
256
+ }, V({
257
+ default: l(() => [
258
258
  w(S, {
259
259
  ref: "tags",
260
260
  class: E(["grow"]),
@@ -262,21 +262,21 @@ function De(e, t, H, g, V, b) {
262
262
  disabled: e.disabled,
263
263
  "tag-props": e.tagsProps,
264
264
  overflow: e.overflow,
265
- onReset: t[6] || (t[6] = (l) => e.remove(l))
266
- }, I({
267
- tag: r(({ item: l }) => [
268
- v(e.$slots, "tag", { item: l }, () => [
269
- m(i(l.label), 1)
265
+ onReset: a[6] || (a[6] = (t) => e.remove(t))
266
+ }, V({
267
+ tag: l(({ item: t }) => [
268
+ v(e.$slots, "tag", { item: t }, () => [
269
+ m(i(t.label), 1)
270
270
  ], !0)
271
271
  ]),
272
272
  _: 2
273
273
  }, [
274
274
  e.showControl ? {
275
275
  name: "tail",
276
- fn: r(() => [
277
- R("div", Ee, [
278
- q(R("input", ie({ ref: "control" }, e.controlAttributes, {
279
- "onUpdate:modelValue": t[0] || (t[0] = (l) => e.draftModelValue = l),
276
+ fn: l(() => [
277
+ j("div", Pe, [
278
+ q(j("input", Ie({ ref: "control" }, e.controlAttributes, {
279
+ "onUpdate:modelValue": a[0] || (a[0] = (t) => e.draftModelValue = t),
280
280
  class: e.controlStyles,
281
281
  style: e.controlInlineStyles,
282
282
  type: "text",
@@ -286,16 +286,16 @@ function De(e, t, H, g, V, b) {
286
286
  autocomplete: "off",
287
287
  minlength: void 0,
288
288
  maxlength: void 0,
289
- onInput: t[1] || (t[1] = (l) => e.$emit("input", l)),
289
+ onInput: a[1] || (a[1] = (t) => e.$emit("input", t)),
290
290
  onKeydown: [
291
- t[2] || (t[2] = (l) => e.$emit("keydown", l)),
292
- t[3] || (t[3] = ue((l) => e.add(), ["enter"]))
291
+ a[2] || (a[2] = (t) => e.$emit("keydown", t)),
292
+ a[3] || (a[3] = ke((t) => e.add(), ["enter"]))
293
293
  ],
294
- onKeyup: t[4] || (t[4] = (l) => e.$emit("keyup", l)),
295
- onFocus: t[5] || (t[5] = (...l) => e.activate && e.activate(...l))
296
- }), null, 16, Pe), [
294
+ onKeyup: a[4] || (a[4] = (t) => e.$emit("keyup", t)),
295
+ onFocus: a[5] || (a[5] = (...t) => e.activate && e.activate(...t))
296
+ }), null, 16, De), [
297
297
  [
298
- pe,
298
+ Se,
299
299
  e.draftModelValue,
300
300
  void 0,
301
301
  { trim: !0 }
@@ -311,20 +311,20 @@ function De(e, t, H, g, V, b) {
311
311
  }, [
312
312
  e.$slots.prependInner ? {
313
313
  name: "prepend",
314
- fn: r(() => [
314
+ fn: l(() => [
315
315
  v(e.$slots, "prependInner", {}, void 0, !0)
316
316
  ]),
317
317
  key: "0"
318
318
  } : void 0,
319
319
  e.$slots.appendInner ? {
320
320
  name: "addon",
321
- fn: r(() => [
321
+ fn: l(() => [
322
322
  v(e.$slots, "appendInner", {}, void 0, !0)
323
323
  ]),
324
324
  key: "1"
325
325
  } : e.loading ? {
326
326
  name: "addon",
327
- fn: r(() => [
327
+ fn: l(() => [
328
328
  w($, {
329
329
  variant: "circular",
330
330
  color: e.error ? "danger" : "primary",
@@ -334,22 +334,22 @@ function De(e, t, H, g, V, b) {
334
334
  key: "2"
335
335
  } : e.enableClear && !e.readonly && !e.disabled ? {
336
336
  name: "addon",
337
- fn: r(() => [
337
+ fn: l(() => [
338
338
  e.proxyModelValue && e.proxyModelValue.length > 0 || e.draftModelValue ? (B(), P(y, {
339
339
  key: 0,
340
340
  icon: "close",
341
341
  color: "inherit",
342
- onClick: t[7] || (t[7] = (l) => e.reset())
342
+ onClick: a[7] || (a[7] = (t) => e.reset())
343
343
  })) : D("", !0)
344
344
  ]),
345
345
  key: "3"
346
346
  } : void 0
347
347
  ]), 1032, ["class", "variant", "invalid", "readonly", "disabled", "force-state", "onFocus"]),
348
- e.$slots.hint || e.hint || e.maxLength ? q((B(), P(L, {
348
+ e.$slots.hint || e.hint || e.maxLength ? q((B(), P(T, {
349
349
  key: 1,
350
350
  disabled: e.disabled
351
- }, I({
352
- default: r(() => [
351
+ }, V({
352
+ default: l(() => [
353
353
  v(e.$slots, "hint", {}, () => [
354
354
  m(i(e.hint), 1)
355
355
  ], !0)
@@ -358,34 +358,34 @@ function De(e, t, H, g, V, b) {
358
358
  }, [
359
359
  e.maxLength ? {
360
360
  name: "addon",
361
- fn: r(() => [
361
+ fn: l(() => [
362
362
  m(i(e.currentLength) + " / " + i(e.maxLength), 1)
363
363
  ]),
364
364
  key: "0"
365
365
  } : void 0
366
366
  ]), 1032, ["disabled"])), [
367
- [U, !e.error]
367
+ [G, !e.error]
368
368
  ]) : D("", !0),
369
- q(w(M, { disabled: e.disabled }, I({
370
- default: r(() => [
369
+ q(w(L, { disabled: e.disabled }, V({
370
+ default: l(() => [
371
371
  m(i(e.error) + " ", 1)
372
372
  ]),
373
373
  _: 2
374
374
  }, [
375
375
  e.maxLength ? {
376
376
  name: "addon",
377
- fn: r(() => [
377
+ fn: l(() => [
378
378
  m(i(e.currentLength) + " / " + i(e.maxLength), 1)
379
379
  ]),
380
380
  key: "0"
381
381
  } : void 0
382
382
  ]), 1032, ["disabled"]), [
383
- [U, typeof e.error == "string" && e.error.length > 0]
383
+ [G, typeof e.error == "string" && e.error.length > 0]
384
384
  ])
385
385
  ], 2);
386
386
  }
387
- const Ye = /* @__PURE__ */ Le(Ae, [["render", De], ["__scopeId", "data-v-e2132f34"]]);
387
+ const Ze = /* @__PURE__ */ Le(Ee, [["render", qe], ["__scopeId", "data-v-2baf79b5"]]);
388
388
  export {
389
- Ye as O
389
+ Ze as O
390
390
  };
391
- //# sourceMappingURL=OrTagInput-iFJhEZwO.mjs.map
391
+ //# sourceMappingURL=OrTagInput-Bxt-g2Hx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrTagInput-Bxt-g2Hx.mjs","sources":["../../../components/or-tag-input-v3/src/styles.ts","../../../components/or-tag-input-v3/src/OrTagInput.vue"],"sourcesContent":["export const TagInput: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const TagInputControl: string[] = [\n // Layout\n // 'flex-auto',\n\n // Typography\n 'typography-inherit',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n];\n\nexport const TagInputItem: string[] = [\n // Box\n '!min-h-0',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :control-id=\"controlAttributes.id\"\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :ref=\"'inputBox'\"\n :class=\"inputBoxStyles\"\n :variant=\"variant\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :tabindex=\"0\"\n :force-state=\"activated ? 'focus-within': undefined\"\n @focus=\"activate\"\n >\n <template\n v-if=\"$slots.prependInner\"\n v-slot:prepend\n >\n <slot name=\"prependInner\" />\n </template>\n <OrTags\n :ref=\"'tags'\"\n :class=\"['grow']\"\n :items=\"tagsItems\"\n :disabled=\"disabled\"\n :tag-props=\"tagsProps\"\n :overflow=\"overflow\"\n @reset=\"remove($event)\"\n >\n <template v-slot:tag=\"{ item }\">\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </template>\n\n <template\n v-if=\"showControl\"\n v-slot:tail\n >\n <div class=\"inline-flex w-fit max-w-full\">\n <input\n :ref=\"'control'\"\n v-bind=\"controlAttributes\"\n v-model.trim=\"draftModelValue\"\n :class=\"controlStyles\"\n :style=\"controlInlineStyles\"\n :type=\"'text'\"\n :placeholder=\"!proxyModelValue || (proxyModelValue && proxyModelValue.length === 0) ? placeholder : undefined\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :autocomplete=\"'off'\"\n :minlength=\"undefined\"\n :maxlength=\"undefined\"\n @input=\"$emit('input', $event)\"\n @keydown=\"$emit('keydown', $event)\"\n @keydown.enter=\"add()\"\n @keyup=\"$emit('keyup', $event)\"\n @focus=\"activate\"\n >\n </div>\n </template>\n </OrTags>\n <template\n v-if=\"$slots.appendInner\"\n v-slot:addon\n >\n <slot name=\"appendInner\" />\n </template>\n <template\n v-else-if=\"loading\"\n v-slot:addon\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"error ? 'danger' : 'primary'\"\n :size=\"isMobile ? 'm' : 's'\"\n />\n </template>\n\n <template\n v-else-if=\"enableClear && !readonly && !disabled\"\n v-slot:addon\n >\n <template v-if=\"proxyModelValue && proxyModelValue.length > 0 || draftModelValue\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n @click=\"reset()\"\n />\n </template>\n </template>\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint || maxLength\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ currentLength }} / {{ maxLength }}\n </template>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ currentLength }} / {{ maxLength }}\n </template>\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, toArray } from '@onereach/ui-components-common/utils';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { TagColor, TagVariant } from '@onereach/ui-components.or-tag-v3';\nimport { OrTagsV3 as OrTags, TagObject, TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, reactive, ref, toRefs, watch } from 'vue';\n\nimport { TagInput, TagInputControl, TagInputItem } from './styles';\nimport { TagInputModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrTagInput',\n\n components: {\n OrError,\n OrHint,\n OrIconButton,\n OrInputBox,\n OrLabel,\n OrLoader,\n OrTags,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<TagInputModelValue>,\n default: () => [],\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n // todo: review default state, disabling will breaking\n enableClear: {\n type: Boolean,\n default: true,\n },\n\n additionalInputBoxStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n saveOnBlur: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'reset',\n 'clear',\n\n 'focus',\n 'blur',\n\n 'activate',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<HTMLInputElement>();\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const tags = ref<InstanceType<typeof OrTags>>();\n\n // Props\n const { modelValue, overflow, placeholder, disabled, readonly, saveOnBlur } = toRefs(props);\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tag-input-v3',\n ...TagInput,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...TagInputControl,\n ]);\n\n const itemStyles = computed(() => [\n ...TagInputItem,\n ]);\n\n const inputBoxStyles = computed(() => [\n 'interactivity-select',\n ...props.additionalInputBoxStyles,\n ]);\n\n // State\n const controlAttributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n const activated = ref(false);\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const draftModelValue = ref<string>();\n\n const tagsItems = computed(() => {\n return toArray(proxyModelValue.value).map((item) => ({\n label: item,\n value: item,\n\n tagProps: {\n color: item === draftModelValue.value ? TagColor.Danger : TagColor.Default,\n },\n } as TagObject));\n });\n\n const currentLength = computed(() => proxyModelValue.value?.length ?? 0);\n const maxLength = computed(() => controlAttributes.maxlength);\n\n const controlInlineStyles = computed(() => {\n const chars = draftModelValue.value\n ? draftModelValue.value.length\n : currentLength.value === 0\n ? placeholder.value?.length ?? 0\n : 0;\n return {\n width: `${Math.max(chars + 1 || 0, 3)}ch`,\n };\n });\n\n const showControl = computed(() => {\n return draftModelValue.value\n || currentLength.value === 0\n || activated.value;\n });\n\n const tagsProps = computed(() => ({\n variant: readonly.value || disabled.value || !activated.value ? TagVariant.Tag : TagVariant.Reset,\n disabled: disabled.value,\n }));\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n draftModelValue.value = '';\n }\n\n function deactivate() {\n activated.value = false;\n nextTick(() => blur());\n context.emit('blur');\n }\n\n function activate() {\n if (disabled.value || readonly.value) return;\n\n if (!activated.value) {\n activated.value = true;\n context.emit('focus');\n }\n\n nextTick(() => focus());\n }\n\n function add(): void {\n const newItem = draftModelValue.value;\n\n if (!newItem) return;\n if (proxyModelValue.value?.includes(newItem)) return;\n if (maxLength.value && currentLength.value >= maxLength.value) return;\n\n proxyModelValue.value = include(newItem, proxyModelValue.value ?? []);\n draftModelValue.value = '';\n\n nextTick(() => focus());\n }\n\n function remove(value: string): void {\n proxyModelValue.value = exclude(value, proxyModelValue.value ?? []);\n }\n\n function reset(): void {\n proxyModelValue.value = [];\n draftModelValue.value = '';\n context.emit('reset');\n }\n\n function clear(): void {\n draftModelValue.value = '';\n }\n\n // Effects\n onClickOutside((inputBox as MaybeElementRef), () => {\n if (activated.value === false || (tags.value?.overflowPopover as any)?.state === 'open') return;\n if (saveOnBlur.value) add();\n deactivate();\n });\n\n watch(proxyModelValue, (items, prevItems) => {\n if (overflow.value !== TagsOverflow.Scroll) return;\n if (items?.length !== prevItems?.length) {\n (tags.value?.scrollToEnd as any)();\n }\n });\n\n return {\n root,\n control,\n inputBox,\n tags,\n rootStyles,\n controlStyles,\n itemStyles,\n inputBoxStyles,\n controlInlineStyles,\n controlAttributes,\n proxyModelValue,\n draftModelValue,\n tagsItems,\n tagsProps,\n currentLength,\n maxLength,\n activated,\n showControl,\n isMobile,\n focus,\n blur,\n add,\n activate,\n deactivate,\n remove,\n reset,\n clear,\n };\n },\n});\n</script>\n\n<style scoped>\ninput {\n min-width: 0;\n background: none;\n outline: none;\n}\n</style>\n"],"names":["TagInput","TagInputControl","TagInputItem","_sfc_main","defineComponent","OrError","OrHint","OrIconButton","OrInputBox","OrLabel","OrLoader","OrTags","TagsOverflow","props","context","root","ref","control","inputBox","tags","modelValue","overflow","placeholder","disabled","readonly","saveOnBlur","toRefs","isMobile","useResponsive","rootStyles","computed","InputBoxVariant","controlStyles","itemStyles","inputBoxStyles","controlAttributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","activated","proxyModelValue","useProxyModelValue","draftModelValue","tagsItems","toArray","item","TagColor","currentLength","_a","maxLength","controlInlineStyles","chars","showControl","tagsProps","TagVariant","focus","blur","deactivate","nextTick","activate","add","newItem","include","remove","value","exclude","reset","clear","onClickOutside","_b","watch","items","prevItems","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_OrLabel","_renderSlot","_createCommentVNode","_createVNode","_component_OrInputBox","_createSlots","_withCtx","_component_OrTags","_cache","$event","_createElementVNode","_mergeProps","_withKeys","_component_OrLoader","_component_OrIconButton","_withDirectives","_component_OrHint","_component_OrError"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useOverflow as F } from "@onereach/ui-components-common/hooks";
3
3
  import { O as L } from "./OrButton-C_hXddAf.mjs";
4
4
  import { O as M } from "./OrPopover-DbygLPtT.mjs";
5
5
  import "@onereach/ui-components-common/utils";
6
- import { O as q } from "./OrTag-Bixe0EQq.mjs";
6
+ import { O as q } from "./OrTag-BqSIqSCt.mjs";
7
7
  import { _ as G } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
8
8
  var p = /* @__PURE__ */ ((o) => (o.Wrap = "wrap", o.Scroll = "scroll", o.Hidden = "hidden", o))(p || {});
9
9
  const J = [
@@ -222,4 +222,4 @@ export {
222
222
  no as O,
223
223
  p as T
224
224
  };
225
- //# sourceMappingURL=OrTags-CS0bcLtx.mjs.map
225
+ //# sourceMappingURL=OrTags-DxQDW443.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrTags-CS0bcLtx.mjs","sources":["../../../components/or-tags-v3/src/props.ts","../../../components/or-tags-v3/src/styles.ts","../../../components/or-tags-v3/src/utils/castToTag.ts","../../../components/or-tags-v3/src/OrTags.vue"],"sourcesContent":["export enum TagsOverflow {\n Wrap = 'wrap',\n Scroll = 'scroll',\n Hidden = 'hidden',\n}\n","import { TagsOverflow } from './props';\n\nexport const Tags: string[] = [\n // Layout\n 'layout-row',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-sm',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const TagsContainer: string[] = [\n // Layout\n 'layout-row',\n 'max-w-full',\n\n // Spacing\n 'gap-sm',\n 'py-xs',\n];\n\nexport const TagsContainerOverflows: Record<TagsOverflow, string[]> = {\n [TagsOverflow.Wrap]: [\n // Layout\n '!flex-wrap',\n ],\n\n [TagsOverflow.Scroll]: [\n // Layout\n 'overflow-y-auto',\n // todo: extract to plugin?\n '[&::-webkit-scrollbar]:hidden [-ms-overflow-style:\\'none\\'] [scrollbar-width:\\'none\\']',\n ],\n\n [TagsOverflow.Hidden]: [\n // Overflow\n 'overflow-hidden',\n ],\n};\n\nexport const TagsOverflowButton: string[] = [\n // Typography\n 'typography-caption-regular',\n];\n\nexport const TagsOverflowPopover: string[] = [\n // Layout\n 'layout-row !flex-wrap !content-start overflow-y-auto',\n\n // Box\n 'max-w-[192px] max-h-[340px]',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-sm',\n];\n","import { Tag, TagObject } from '../types';\nexport function castToTagObject(tag: Tag): TagObject {\n if (typeof tag === 'string') {\n return {\n label: tag,\n value: tag,\n };\n } else {\n return tag;\n }\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div\n v-if=\"localItems.length > 0\"\n :ref=\"'container'\"\n :class=\"containerStyles\"\n >\n <OrTag\n v-for=\"item in localItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n :class=\"['max-w-full']\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n\n <slot\n v-if=\"overflow === 'wrap'\"\n name=\"tail\"\n />\n </div>\n\n <template v-if=\"overflow === 'hidden' && overflowItems.length > 0\">\n <OrButton\n :ref=\"'overflowButton'\"\n :class=\"overflowButtonStyles\"\n :type=\"'button'\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"disabled\"\n @click.stop=\"togglePopover\"\n >\n +{{ overflowItems.length }}\n </OrButton>\n\n <OrPopover\n :ref=\"'overflowPopover'\"\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :trigger=\"overflowButtonRoot\"\n >\n <div :class=\"overflowPopoverStyles\">\n <OrTag\n v-for=\"item in overflowItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n </div>\n </OrPopover>\n </template>\n\n <slot\n v-if=\"overflow !== 'wrap' || items.length === 0\"\n name=\"tail\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, nextTick, ref } from 'vue';\nimport { useOverflow } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagV3 as OrTag } from '@onereach/ui-components.or-tag-v3';\nimport { TagsOverflow } from './props';\nimport { Tags, TagsContainer, TagsContainerOverflows, TagsOverflowButton, TagsOverflowPopover } from './styles';\nimport { Tag } from './types';\nimport { castToTagObject } from './utils/castToTag';\n\nexport default defineComponent({\n name: 'OrTags',\n\n components: {\n OrButton,\n OrPopover,\n OrTag,\n },\n\n props: {\n items: {\n type: Array as PropType<Tag[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n tagProps: {\n type: Object as PropType<InstanceType<typeof OrTag>['$props']>,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n 'container',\n 'overflowPopover',\n 'scrollToEnd',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const container = ref<HTMLElement>();\n\n // Props\n const overflowButton = ref<InstanceType<typeof OrButton>>();\n const overflowButtonRoot = computed(() => overflowButton.value?.root);\n\n const overflowPopover = ref<InstanceType<typeof OrPopover>>();\n const overflowPopoverRoot = computed(() => overflowPopover.value?.root);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tags-v3',\n ...Tags,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-tags-popover-v3',\n ]);\n\n const containerStyles = computed(() => [\n ...TagsContainer,\n ...TagsContainerOverflows[props.overflow],\n ]);\n\n const overflowButtonStyles = computed(() => [\n ...TagsOverflowButton,\n ]);\n\n const overflowPopoverStyles = computed(() => [\n ...TagsOverflowPopover,\n ]);\n\n // State\n const { innerItems } = useOverflow(container, {\n hide: false,\n threshold: 8,\n });\n\n const localItems = computed(() => {\n return props.items.map(castToTagObject);\n });\n\n const overflowItems = computed(() => {\n return localItems.value.slice(innerItems.value.length);\n });\n\n // Methods\n function togglePopover() {\n (overflowPopover.value!.toggle as () => void)();\n }\n\n function scrollToEnd() {\n nextTick(() => {\n container.value?.scrollTo({\n left: container.value?.scrollWidth,\n behavior: 'smooth',\n });\n });\n }\n\n return {\n root,\n container,\n localItems,\n overflowButton,\n overflowButtonRoot,\n overflowPopover,\n overflowPopoverRoot,\n rootStyles,\n popoverStyles,\n containerStyles,\n overflowButtonStyles,\n overflowPopoverStyles,\n overflowItems,\n togglePopover,\n scrollToEnd,\n };\n },\n});\n</script>\n"],"names":["TagsOverflow","Tags","TagsContainer","TagsContainerOverflows","TagsOverflowButton","TagsOverflowPopover","castToTagObject","tag","_sfc_main","defineComponent","OrButton","OrPopover","OrTag","props","root","ref","container","overflowButton","overflowButtonRoot","computed","_a","overflowPopover","overflowPopoverRoot","rootStyles","popoverStyles","containerStyles","overflowButtonStyles","overflowPopoverStyles","innerItems","useOverflow","localItems","overflowItems","togglePopover","scrollToEnd","nextTick","_b","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_renderList","item","_createBlock","_component_OrTag","_mergeProps","$event","_withCtx","_renderSlot","_createCommentVNode","_createVNode","_component_OrButton","_withModifiers","_component_OrPopover","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"OrTags-DxQDW443.mjs","sources":["../../../components/or-tags-v3/src/props.ts","../../../components/or-tags-v3/src/styles.ts","../../../components/or-tags-v3/src/utils/castToTag.ts","../../../components/or-tags-v3/src/OrTags.vue"],"sourcesContent":["export enum TagsOverflow {\n Wrap = 'wrap',\n Scroll = 'scroll',\n Hidden = 'hidden',\n}\n","import { TagsOverflow } from './props';\n\nexport const Tags: string[] = [\n // Layout\n 'layout-row',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-sm',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const TagsContainer: string[] = [\n // Layout\n 'layout-row',\n 'max-w-full',\n\n // Spacing\n 'gap-sm',\n 'py-xs',\n];\n\nexport const TagsContainerOverflows: Record<TagsOverflow, string[]> = {\n [TagsOverflow.Wrap]: [\n // Layout\n '!flex-wrap',\n ],\n\n [TagsOverflow.Scroll]: [\n // Layout\n 'overflow-y-auto',\n // todo: extract to plugin?\n '[&::-webkit-scrollbar]:hidden [-ms-overflow-style:\\'none\\'] [scrollbar-width:\\'none\\']',\n ],\n\n [TagsOverflow.Hidden]: [\n // Overflow\n 'overflow-hidden',\n ],\n};\n\nexport const TagsOverflowButton: string[] = [\n // Typography\n 'typography-caption-regular',\n];\n\nexport const TagsOverflowPopover: string[] = [\n // Layout\n 'layout-row !flex-wrap !content-start overflow-y-auto',\n\n // Box\n 'max-w-[192px] max-h-[340px]',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-sm',\n];\n","import { Tag, TagObject } from '../types';\nexport function castToTagObject(tag: Tag): TagObject {\n if (typeof tag === 'string') {\n return {\n label: tag,\n value: tag,\n };\n } else {\n return tag;\n }\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div\n v-if=\"localItems.length > 0\"\n :ref=\"'container'\"\n :class=\"containerStyles\"\n >\n <OrTag\n v-for=\"item in localItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n :class=\"['max-w-full']\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n\n <slot\n v-if=\"overflow === 'wrap'\"\n name=\"tail\"\n />\n </div>\n\n <template v-if=\"overflow === 'hidden' && overflowItems.length > 0\">\n <OrButton\n :ref=\"'overflowButton'\"\n :class=\"overflowButtonStyles\"\n :type=\"'button'\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"disabled\"\n @click.stop=\"togglePopover\"\n >\n +{{ overflowItems.length }}\n </OrButton>\n\n <OrPopover\n :ref=\"'overflowPopover'\"\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :trigger=\"overflowButtonRoot\"\n >\n <div :class=\"overflowPopoverStyles\">\n <OrTag\n v-for=\"item in overflowItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n </div>\n </OrPopover>\n </template>\n\n <slot\n v-if=\"overflow !== 'wrap' || items.length === 0\"\n name=\"tail\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, nextTick, ref } from 'vue';\nimport { useOverflow } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagV3 as OrTag } from '@onereach/ui-components.or-tag-v3';\nimport { TagsOverflow } from './props';\nimport { Tags, TagsContainer, TagsContainerOverflows, TagsOverflowButton, TagsOverflowPopover } from './styles';\nimport { Tag } from './types';\nimport { castToTagObject } from './utils/castToTag';\n\nexport default defineComponent({\n name: 'OrTags',\n\n components: {\n OrButton,\n OrPopover,\n OrTag,\n },\n\n props: {\n items: {\n type: Array as PropType<Tag[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n tagProps: {\n type: Object as PropType<InstanceType<typeof OrTag>['$props']>,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n 'container',\n 'overflowPopover',\n 'scrollToEnd',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const container = ref<HTMLElement>();\n\n // Props\n const overflowButton = ref<InstanceType<typeof OrButton>>();\n const overflowButtonRoot = computed(() => overflowButton.value?.root);\n\n const overflowPopover = ref<InstanceType<typeof OrPopover>>();\n const overflowPopoverRoot = computed(() => overflowPopover.value?.root);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tags-v3',\n ...Tags,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-tags-popover-v3',\n ]);\n\n const containerStyles = computed(() => [\n ...TagsContainer,\n ...TagsContainerOverflows[props.overflow],\n ]);\n\n const overflowButtonStyles = computed(() => [\n ...TagsOverflowButton,\n ]);\n\n const overflowPopoverStyles = computed(() => [\n ...TagsOverflowPopover,\n ]);\n\n // State\n const { innerItems } = useOverflow(container, {\n hide: false,\n threshold: 8,\n });\n\n const localItems = computed(() => {\n return props.items.map(castToTagObject);\n });\n\n const overflowItems = computed(() => {\n return localItems.value.slice(innerItems.value.length);\n });\n\n // Methods\n function togglePopover() {\n (overflowPopover.value!.toggle as () => void)();\n }\n\n function scrollToEnd() {\n nextTick(() => {\n container.value?.scrollTo({\n left: container.value?.scrollWidth,\n behavior: 'smooth',\n });\n });\n }\n\n return {\n root,\n container,\n localItems,\n overflowButton,\n overflowButtonRoot,\n overflowPopover,\n overflowPopoverRoot,\n rootStyles,\n popoverStyles,\n containerStyles,\n overflowButtonStyles,\n overflowPopoverStyles,\n overflowItems,\n togglePopover,\n scrollToEnd,\n };\n },\n});\n</script>\n"],"names":["TagsOverflow","Tags","TagsContainer","TagsContainerOverflows","TagsOverflowButton","TagsOverflowPopover","castToTagObject","tag","_sfc_main","defineComponent","OrButton","OrPopover","OrTag","props","root","ref","container","overflowButton","overflowButtonRoot","computed","_a","overflowPopover","overflowPopoverRoot","rootStyles","popoverStyles","containerStyles","overflowButtonStyles","overflowPopoverStyles","innerItems","useOverflow","localItems","overflowItems","togglePopover","scrollToEnd","nextTick","_b","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_renderList","item","_createBlock","_component_OrTag","_mergeProps","$event","_withCtx","_renderSlot","_createCommentVNode","_createVNode","_component_OrButton","_withModifiers","_component_OrPopover","_createElementVNode"],"mappings":";;;;;;;AAAY,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA;ACEL,MAAMC,IAAiB;AAAA;AAAA,EAE5B;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAA0B;AAAA;AAAA,EAErC;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAAyD;AAAA,EACpE,CAACH,EAAa,IAAI,GAAG;AAAA;AAAA,IAEnB;AAAA,EACF;AAAA,EAEA,CAACA,EAAa,MAAM,GAAG;AAAA;AAAA,IAErB;AAAA;AAAA,IAEA;AAAA,EACF;AAAA,EAEA,CAACA,EAAa,MAAM,GAAG;AAAA;AAAA,IAErB;AAAA,EACF;AACF,GAEaI,IAA+B;AAAA;AAAA,EAE1C;AACF,GAEaC,IAAgC;AAAA;AAAA,EAE3C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AACF;AC9DO,SAASC,EAAgBC,GAAqB;AAC/C,SAAA,OAAOA,KAAQ,WACV;AAAA,IACL,OAAOA;AAAA,IACP,OAAOA;AAAA,EAAA,IAGFA;AAEX;AC4EA,MAAAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMZ,EAAa;AAAA,IAC9B;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMa,GAAO;AAEX,UAAMC,IAAOC,KACPC,IAAYD,KAGZE,IAAiBF,KACjBG,IAAqBC,EAAS,MAAA;;AAAM,cAAAC,IAAAH,EAAe,UAAf,gBAAAG,EAAsB;AAAA,KAAI,GAE9DC,IAAkBN,KAClBO,IAAsBH,EAAS,MAAA;;AAAM,cAAAC,IAAAC,EAAgB,UAAhB,gBAAAD,EAAuB;AAAA,KAAI,GAGhEG,IAAaJ,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGlB;AAAA,IAAA,CACJ,GAEKuB,IAAgBL,EAAS,MAAM;AAAA,MACnC;AAAA,IAAA,CACD,GAEKM,IAAkBN,EAAS,MAAM;AAAA,MACrC,GAAGjB;AAAA,MACH,GAAGC,EAAuBU,EAAM,QAAQ;AAAA,IAAA,CACzC,GAEKa,IAAuBP,EAAS,MAAM;AAAA,MAC1C,GAAGf;AAAA,IAAA,CACJ,GAEKuB,IAAwBR,EAAS,MAAM;AAAA,MAC3C,GAAGd;AAAA,IAAA,CACJ,GAGK,EAAE,YAAAuB,EAAA,IAAeC,EAAYb,GAAW;AAAA,MAC5C,MAAM;AAAA,MACN,WAAW;AAAA,IAAA,CACZ,GAEKc,IAAaX,EAAS,MACnBN,EAAM,MAAM,IAAIP,CAAe,CACvC,GAEKyB,IAAgBZ,EAAS,MACtBW,EAAW,MAAM,MAAMF,EAAW,MAAM,MAAM,CACtD;AAGD,aAASI,IAAgB;AACtB,MAAAX,EAAgB,MAAO;IAC1B;AAEA,aAASY,IAAc;AACrB,MAAAC,EAAS,MAAM;;AACb,SAAAC,IAAAnB,EAAU,UAAV,QAAAmB,EAAiB,SAAS;AAAA,UACxB,OAAMf,IAAAJ,EAAU,UAAV,gBAAAI,EAAiB;AAAA,UACvB,UAAU;AAAA,QAAA;AAAA,MACX,CACF;AAAA,IACH;AAEO,WAAA;AAAA,MACL,MAAAN;AAAA,MACA,WAAAE;AAAA,MACA,YAAAc;AAAA,MACA,gBAAAb;AAAA,MACA,oBAAAC;AAAA,MACA,iBAAAG;AAAA,MACA,qBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,eAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,eAAAI;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;+CApNCG,EAuEM,WAAA;SArEEC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAGVC,EAAiBC,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,iCACN,GAAAF,EAAA,OAAA;AAAA,MAChB,KAAK;AAAA,MAAA,KAAA;AAAA,eAENE,EAaQ,eAAA;AAAA,IAAA,GAAA;AAAA,OAVAH,EAAA,EAAK,GAAKC,EAAAG,GAAA,MAAAC,EAAAF,EAAA,YAAA,CAAAG,OACVN,EAAgB,GAAAO,EAAAC,GAAAC,EAAA,EAAA,GAAAN,EAAA,UAAA,GAAAG,EAAA,SAAA,GAAA;AAAA,QACrB,KAAKA,EAAA;AAAA,QAAA,OAAA,CAAA,YAAA;AAAA,QAOC,SAAA,CAAAI,MAAAP,EAAA,MAAA,SAAAG,EAAA,KAAA;AAAA,MAAA,CALP,GAAA;AAAA,QAAA,SAAAK,EAAA,MAAA;AAAA;;;;;SASc,MAAA,CAAA,SAAA,CAAA,EADhB,GAAA,GAAA;AAAA,MAAAR,EAAA,aAAA,SAAAS,EAAAT,EAAA,QAAA,QAAA,EAAA,KAAA,EAAA,CAAA,IAAAU,EAAA,IAAA,EAAA;AAAA,IAMF,GAAA,CAAA,KAAAA,EAAA,IAAA,EAAA;AAAA,IACEV,EAAA,aAUW,+CATaF,EAAAG,GAAA,EAAA,KAAA,EAAA,GAAA;AAAA,MAAAU,EAChBC,GAAE;AAAA,QACP,KAAI;AAAA,QACJ,OAAOb,EAAQC,EAAA,oBAAA;AAAA,QACf,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,OAAK;AAAA,QAAA,UAAAA,EAAA;AAAA,QAEL,SAAAa,EAAAb,EAAA,eAAA,CAAA,MAAA,CAAA;AAAA,MAAA,GAAA;AAAA;;;QAGH,GAAA;AAAA,MACG,GAAA,GAAG,CAAE,SAAiB,YAAA,SAAA,CAAA;AAAA,MAAAW,EACjBG,GAAE;AAAA,QACP,KAAA;AAAA,QACA,OAAOf,EAAEC,EAAkB,aAAA;AAAA,QAAA,iBAAAA,EAAA;AAAA;;QAEjB,SAAAQ,EAAA,MAAA;AAAA,UAAAO,EAAA,OAAA;AAAA,qBACTf,EAYQ,qBAAA;AAAA,UAAA,GAAA;AAAA,aATAH,EAAA,EAAK,GAAKC,EAAAG,GAAA,MAAAC,EAAAF,EAAA,eAAA,CAAAG,OACfN,EAAK,GAAEO,EAAKC,GAAoBC,EAAA,EAAA,GAAAN,EAAA,UAAA,GAAAG,EAAA,SAAA,GAAA;AAAA,cAAA,KAAAA,EAAA;AAAA,cAO1B,SAAA,CAAAI,MAAAP,EAAA,MAAA,SAAAG,EAAA,KAAA;AAAA,YAAA,CALP,GAAA;AAAA,cAAA,SAAAK,EAAA,MAAA;AAAA;;;;;;;;;;IAYA,GAAA,EAAA,KADRE,EAGE,IAAA,EAAA;AAAA,IAAAV,EAAA,aAAA,UAAAA,EAAA,MAAA,WAAA,IAAAS,EAAAT,EAAA,QAAA,QAAA,EAAA,KAAA,EAAA,CAAA,IAAAU,EAAA,IAAA,EAAA;AAAA;;;"}
@@ -1,4 +1,4 @@
1
- import { O as o } from "../OrAutocomplete-BYPOrjCw.mjs";
1
+ import { O as o } from "../OrAutocomplete-C1ToaRkp.mjs";
2
2
  import { a as t, A as s, O } from "../OrAvatar-XcP_rrT3.mjs";
3
3
  import { B as p, O as m } from "../OrBottomSheet-CJxmY84p.mjs";
4
4
  import { O as x } from "../OrButtonGroup-Cd6tpyP3.mjs";
@@ -19,7 +19,7 @@ import { EditorState as X } from "@codemirror/state";
19
19
  import { O as Z } from "../OrCombinedInput-Ddlid03b.mjs";
20
20
  import { C as $, O as rr } from "../OrConfirm-hPRH5PIY.mjs";
21
21
  import { O as or } from "../OrContextMenu-CrpiM2Jq.mjs";
22
- import { D as tr, a as sr, b as Or, o as ir, m as pr, e as mr, c as nr, d as xr, p as Vr, h as fr, f as lr, g as Tr, k as dr, i as cr, j as Dr, l as Cr, n as Sr, O as br } from "../OrDataGrid-B6fMQzTu.mjs";
22
+ import { D as tr, a as sr, b as Or, o as ir, m as pr, e as mr, c as nr, d as xr, p as Vr, h as fr, f as lr, g as Tr, k as dr, i as cr, j as Dr, l as Cr, n as Sr, O as br } from "../OrDataGrid-COx5W-ik.mjs";
23
23
  import { O as Pr } from "../OrDateFormat-RNeTJhfN.mjs";
24
24
  import { O as gr } from "../OrDatePicker-C7FejdS-.mjs";
25
25
  import { O as Gr } from "../OrDateRangePicker-BbaCBJbG.mjs";
@@ -70,7 +70,7 @@ import { F as Oe, O as ie, R as pe, a as me } from "../OrRichTextEditor-DKhL46g9
70
70
  import { O as xe, R as Ve } from "../OrRichTooltip-D8vv5Btb.mjs";
71
71
  import { O as le } from "../OrSearch-OIfce3Md.mjs";
72
72
  import { O as de, S as ce } from "../OrSegmentedControl-D5QoWe-N.mjs";
73
- import { O as Ce } from "../OrSelect-ozo6QAOf.mjs";
73
+ import { O as Ce } from "../OrSelect-DU7MIxsd.mjs";
74
74
  import { O as be, S as ue } from "../props-BxqD8LGb.mjs";
75
75
  import { b as Ie, O as ge, a as ke } from "../OrSkeletonArea-fMhHFyo1.mjs";
76
76
  import { O as Re } from "../OrSkeletonArea.vue_vue_type_script_lang-jgRhbZ0X.mjs";
@@ -81,9 +81,9 @@ import { O as Me, a as ye, S as Ae } from "../OrStatus-D4QIuE7R.mjs";
81
81
  import { O as He } from "../OrSwitch-BkAgqeim.mjs";
82
82
  import { O as Qe } from "../OrTab-BdtxL_PY.mjs";
83
83
  import { O as qe, a as Je, T as Ke } from "../OrTabs-D4RY2JMk.mjs";
84
- import { O as Xe } from "../OrTagInput-iFJhEZwO.mjs";
85
- import { O as Ze, a as _e, T as $e } from "../OrTag-Bixe0EQq.mjs";
86
- import { O as at, T as ot } from "../OrTags-CS0bcLtx.mjs";
84
+ import { O as Xe } from "../OrTagInput-Bxt-g2Hx.mjs";
85
+ import { O as Ze, a as _e, T as $e } from "../OrTag-BqSIqSCt.mjs";
86
+ import { O as at, T as ot } from "../OrTags-DxQDW443.mjs";
87
87
  import { O as tt } from "../OrTeleport.vue3-C9kW_8PS.mjs";
88
88
  import { O as Ot } from "../OrText-3zAJU5xf.mjs";
89
89
  import { O as pt } from "../OrTextarea-zEjULE8W.mjs";
@@ -1,4 +1,4 @@
1
- import { O as r } from "../../OrAutocomplete-BYPOrjCw.mjs";
1
+ import { O as r } from "../../OrAutocomplete-C1ToaRkp.mjs";
2
2
  export {
3
3
  r as OrAutocompleteV3
4
4
  };
@@ -1,4 +1,4 @@
1
- import { D as e, a as t, b as d, o as i, m as o, e as l, c as D, d as s, p as G, h as O, f as b, g as T, k as n, i as C, j as w, l as F, n as H, O as R } from "../../OrDataGrid-B6fMQzTu.mjs";
1
+ import { D as e, a as t, b as d, o as i, m as o, e as l, c as D, d as s, p as G, h as O, f as b, g as T, k as n, i as C, j as w, l as F, n as H, O as R } from "../../OrDataGrid-COx5W-ik.mjs";
2
2
  export {
3
3
  e as DataGridVariant,
4
4
  t as OrDataGridFooter,
@@ -1,4 +1,4 @@
1
- import { O as o } from "../../OrSelect-ozo6QAOf.mjs";
1
+ import { O as o } from "../../OrSelect-DU7MIxsd.mjs";
2
2
  export {
3
3
  o as OrSelectV3
4
4
  };
@@ -1,4 +1,4 @@
1
- import { O as o } from "../../OrTagInput-iFJhEZwO.mjs";
1
+ import { O as o } from "../../OrTagInput-Bxt-g2Hx.mjs";
2
2
  export {
3
3
  o as OrTagInputV3
4
4
  };
@@ -1,4 +1,4 @@
1
- import { O as o, a as T, T as g } from "../../OrTag-Bixe0EQq.mjs";
1
+ import { O as o, a as T, T as g } from "../../OrTag-BqSIqSCt.mjs";
2
2
  export {
3
3
  o as OrTagV3,
4
4
  T as TagColor,