vlite3 1.4.2 → 1.4.4

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 (33) hide show
  1. package/components/AvatarUploader/AvatarUploader.vue.d.ts +2 -2
  2. package/components/Cart/Cart.vue.d.ts +27 -0
  3. package/components/Cart/CartCouponInput.vue.d.ts +32 -0
  4. package/components/Cart/CartEmptyState.vue.d.ts +17 -0
  5. package/components/Cart/CartLineItem.vue.d.ts +29 -0
  6. package/components/Cart/CartSummary.vue.d.ts +29 -0
  7. package/components/Cart/CartVariant1.vue.d.ts +42 -0
  8. package/components/Cart/CartVariant2.vue.d.ts +42 -0
  9. package/components/Cart/CartVariant3.vue.d.ts +41 -0
  10. package/components/Cart/CartVariant4.vue.d.ts +41 -0
  11. package/components/Cart/composables/useCartCalculation.d.ts +91 -0
  12. package/components/Cart/index.d.ts +7 -0
  13. package/components/Cart/types.d.ts +391 -0
  14. package/components/CategoryManager/CategoryManager.vue.d.ts +2 -2
  15. package/components/CategoryManager/CategoryManager.vue2.js +1 -1
  16. package/components/CategoryMenu/CategoryMenuVariant1.vue.js +1 -1
  17. package/components/Clipboard.vue.d.ts +2 -2
  18. package/components/ColorPicker/ColorIro.vue3.js +2 -2
  19. package/components/ColorPicker/ColorPicker.vue.js +2 -2
  20. package/components/Dropdown/Dropdown.vue.js +2 -1
  21. package/components/Dropdown/DropdownMenu.vue.d.ts +2 -0
  22. package/components/Dropdown/DropdownMenu.vue.js +2 -2
  23. package/components/Dropdown/{DropdownMenu.vue3.js → DropdownMenu.vue2.js} +45 -43
  24. package/components/FilePicker/FilePicker.vue.d.ts +2 -2
  25. package/components/Form/FormField.vue.d.ts +1 -1
  26. package/components/OTPInput/OTPInput.vue.d.ts +1 -1
  27. package/components/Rating/Rating.vue.d.ts +1 -1
  28. package/components/Screen/ScreenFilter.vue.js +1 -1
  29. package/core/config.d.ts +128 -0
  30. package/package.json +2 -2
  31. package/style.css +1 -1
  32. package/types/config.type.d.ts +2 -0
  33. /package/components/ColorPicker/{ColorIro.vue.js → ColorIro.vue2.js} +0 -0
@@ -0,0 +1,391 @@
1
+ export type CartVariant = 'Variant1' | 'Variant2' | 'Variant3' | 'Variant4';
2
+ /** How the cart should be sized within its parent */
3
+ export type CartSize = 'sm' | 'md' | 'lg';
4
+ /**
5
+ * Tax configuration. The cart applies this automatically when `data.totals`
6
+ * is not provided. Supports the most common real-world scenarios:
7
+ *
8
+ * - **`rate`** — percent-based tax on the post-discount subtotal
9
+ * (e.g. 8.75% US sales tax, 19% German VAT)
10
+ * - **`flat`** — fixed tax amount (e.g. "$5 service fee")
11
+ * - **`exempt`** — no tax at all (digital goods, B2B resale, etc.)
12
+ * - **`inclusive`**— tax already baked into the displayed price (EU VAT)
13
+ */
14
+ export interface CartTaxConfig {
15
+ mode: 'rate' | 'flat' | 'exempt' | 'inclusive';
16
+ /** Percent rate when `mode === 'rate' | 'inclusive'` (e.g. 8.75) */
17
+ rate?: number;
18
+ /** Fixed amount when `mode === 'flat'` */
19
+ amount?: number;
20
+ /** Override the default label (e.g. "GST" instead of "Tax (10%)") */
21
+ label?: string;
22
+ /** Currency this tax applies to (defaults to the cart currency) */
23
+ currency?: string;
24
+ /**
25
+ * What base to apply tax on. Default: 'afterDiscount' (most common).
26
+ * - `subtotal` — full subtotal before any coupon
27
+ * - `afterDiscount` — subtotal minus coupon discount
28
+ * - `original` — alias for `subtotal`
29
+ */
30
+ applyTo?: 'subtotal' | 'afterDiscount' | 'original';
31
+ }
32
+ /**
33
+ * Shipping configuration. Plug-and-play with the most common e-commerce /
34
+ * POS patterns. Use `mode: 'function'` for fully custom logic.
35
+ */
36
+ export interface CartShippingConfig {
37
+ mode: 'flat' | 'free' | 'freeOver' | 'tiered' | 'function' | 'pickup';
38
+ /** Default shipping cost (for `flat` / `freeOver`) */
39
+ cost?: number;
40
+ /** Free-shipping threshold (for `freeOver`) */
41
+ freeOver?: number;
42
+ /** Tiered shipping table (for `tiered`) */
43
+ tiers?: Array<{
44
+ /** Min subtotal for this tier to apply */
45
+ minSubtotal: number;
46
+ /** Shipping cost for this tier (0 = free) */
47
+ cost: number;
48
+ /** Optional label override for this tier */
49
+ label?: string;
50
+ }>;
51
+ /** Custom calculation (for `function`) */
52
+ calculate?: (subtotal: number, items: CartItem[]) => {
53
+ cost: number;
54
+ isFree?: boolean;
55
+ label?: string;
56
+ };
57
+ /** Default label for the shipping line */
58
+ label?: string;
59
+ /** Currency this shipping cost is in */
60
+ currency?: string;
61
+ }
62
+ /**
63
+ * A coupon's business rules. Pass an array of these as `data.coupons` and
64
+ * the cart will validate user-typed codes against this list internally —
65
+ * you don't need any custom code in your component to handle fixed/percent
66
+ * discounts, min-spend, expiry, or max-cap.
67
+ *
68
+ * If you need server-side validation (rate-limited, single-use, fraud),
69
+ * use `validateCoupon` on `CartProps` instead — the cart will await it
70
+ * and drive the `applying` / `applied` / `invalid` UX for you.
71
+ */
72
+ export interface CartCouponDefinition {
73
+ /** Coupon code (case-insensitive match by default) */
74
+ code: string;
75
+ /** 'percentage' (% off subtotal) or 'fixed' (flat amount off) */
76
+ type: 'percentage' | 'fixed';
77
+ /** Discount value — percent (0-100) for 'percentage', currency for 'fixed' */
78
+ value: number;
79
+ /** Human-readable description, e.g. "10% off your first order" */
80
+ description?: string;
81
+ /** Min cart subtotal required to apply */
82
+ minSubtotal?: number;
83
+ /** Cap on the discount amount (mostly for `type: 'percentage'`) */
84
+ maxDiscount?: number;
85
+ /** ISO 8601 / Date — coupon expiry */
86
+ expiresAt?: string | Date;
87
+ /** ISO 4217 currency code (coupon only applies to matching currency) */
88
+ currency?: string;
89
+ /**
90
+ * For stacking: how many times this coupon can be applied (1 by default).
91
+ * Single-use coupons set this to 1.
92
+ */
93
+ usageLimit?: number;
94
+ /** Optional minimum item count required */
95
+ minItems?: number;
96
+ }
97
+ /**
98
+ * Drives the coupon input's visual state and helper message.
99
+ *
100
+ * - `idle` → empty input, no validation feedback
101
+ * - `applying` → request in flight (shows spinner, disables input)
102
+ * - `applied` → success state (green check, shows "Remove" action)
103
+ * - `invalid` → code does not exist (red border + helper text)
104
+ * - `expired` → coupon no longer valid (amber border + helper text)
105
+ * - `error` → generic error (e.g. min spend not met) — message from API
106
+ */
107
+ export type CartCouponState = 'idle' | 'applying' | 'applied' | 'invalid' | 'expired' | 'error';
108
+ export interface CartTrustSignal {
109
+ /** Iconify name, e.g. "lucide:truck" */
110
+ icon: string;
111
+ /** Text to display */
112
+ text: string;
113
+ }
114
+ export interface CartItem {
115
+ /** Unique identifier for the line item */
116
+ id: string | number;
117
+ /** Product / service name (required) */
118
+ name: string;
119
+ /** Optional secondary description */
120
+ description?: string;
121
+ /** URL to the product thumbnail */
122
+ thumbnail?: string;
123
+ /** SKU / barcode string */
124
+ sku?: string;
125
+ /** Variant label (size, color, etc.) */
126
+ variant?: string;
127
+ /** Unit price */
128
+ price: number;
129
+ /** Quantity in cart */
130
+ quantity: number;
131
+ /** Optional strike-through original price (for sale items) */
132
+ originalPrice?: number;
133
+ /** Hard cap on the qty stepper (e.g. stock) */
134
+ maxQuantity?: number;
135
+ /** Mark out-of-stock items (renders disabled state) */
136
+ inStock?: boolean;
137
+ /** Whether this line should be taxed */
138
+ taxable?: boolean;
139
+ /** Free-form metadata — passed through to custom renderers via slots */
140
+ metadata?: Record<string, any>;
141
+ }
142
+ export interface CartCoupon {
143
+ /** The coupon code as typed by the user */
144
+ code: string;
145
+ /** Human-readable description, e.g. "10% off your order" */
146
+ description?: string;
147
+ /** Current state of the coupon in the UX (see CartCouponState) */
148
+ state?: CartCouponState;
149
+ /** Discount amount (positive number) applied to the cart */
150
+ discountAmount?: number;
151
+ /**
152
+ * Free-form message from the validation API.
153
+ * Shown in the helper-text area when state is 'invalid' | 'expired' | 'error'.
154
+ */
155
+ message?: string;
156
+ /** ISO 8601 / Date — used to render the "Expires in 2d" pill */
157
+ expiresAt?: string | Date;
158
+ /**
159
+ * The full coupon definition. When provided, the cart will recompute
160
+ * `discountAmount` automatically as items change. Without it, the
161
+ * cart trusts whatever `discountAmount` you pass in.
162
+ */
163
+ definition?: CartCouponDefinition;
164
+ }
165
+ export interface CartTotals {
166
+ /** Sum of all line items before any discount/tax/shipping */
167
+ subtotal: number;
168
+ /** Total discount applied to the order (positive number) */
169
+ discount?: number;
170
+ /** Estimated tax — labelled exactly as the user asked: "Estimated Tax" */
171
+ estimatedTax?: number;
172
+ /** Tax rate in percent (e.g. 8.625) — used to render "Tax (8.625%)" */
173
+ taxRate?: number;
174
+ /** Shipping cost */
175
+ shipping?: number;
176
+ /** Final amount to charge (after discount + tax + shipping) */
177
+ grandTotal: number;
178
+ /** Number of items — used to render the "Items (4)" line in the summary */
179
+ itemCount?: number;
180
+ /** Total saved vs. original prices — rendered as a savings pill */
181
+ totalSavings?: number;
182
+ /** ISO 4217 currency code (defaults to the global Price config) */
183
+ currency?: string;
184
+ /** Subtotal of taxable items only (used internally; safe to ignore) */
185
+ taxableSubtotal?: number;
186
+ /**
187
+ * Free-shipping progress hint. When the user is below the free-shipping
188
+ * threshold, the cart renders "Add $X more for free shipping".
189
+ */
190
+ freeShippingProgress?: {
191
+ /** Amount left to spend to unlock free shipping */
192
+ remaining: number;
193
+ /** The free-shipping threshold itself */
194
+ threshold: number;
195
+ } | null;
196
+ /** Per-line tax breakdown — drives the summary if you want multi-rate tax */
197
+ taxBreakdown?: Array<{
198
+ label: string;
199
+ amount: number;
200
+ rate?: number;
201
+ }>;
202
+ }
203
+ export interface CartActions {
204
+ /** Label for the primary action, e.g. "Continue to Checkout" */
205
+ continueLabel?: string;
206
+ /** Label for the secondary action, e.g. "Continue Shopping" */
207
+ continueShoppingLabel?: string;
208
+ /** Show / hide the primary action button */
209
+ showContinue?: boolean;
210
+ /** Show / hide the secondary action button */
211
+ showContinueShopping?: boolean;
212
+ /** Disable the primary action (e.g. when cart is empty) */
213
+ continueDisabled?: boolean;
214
+ /** Disable the secondary action */
215
+ continueShoppingDisabled?: boolean;
216
+ /** Optional icon for the primary action (Iconify name) */
217
+ continueIcon?: string;
218
+ /** Optional icon for the secondary action (Iconify name) */
219
+ continueShoppingIcon?: string;
220
+ }
221
+ /**
222
+ * Every optional block of the cart can be turned on or off independently.
223
+ * This is what makes the same component usable across e-commerce and POS.
224
+ *
225
+ * Defaults are documented per field — they are designed to satisfy the
226
+ * "out-of-the-box e-commerce cart" use case. POS scenarios explicitly
227
+ * disable thumbnails and description.
228
+ */
229
+ export interface CartFeatures {
230
+ /** Allow +/- quantity stepper (disabled in readonly) */
231
+ editableQuantity?: boolean;
232
+ /** Allow removing individual items */
233
+ removable?: boolean;
234
+ /** Show the "Clear cart" action */
235
+ clearable?: boolean;
236
+ /** Show the coupon input */
237
+ coupon?: boolean;
238
+ /** Show the Subtotal row */
239
+ subtotal?: boolean;
240
+ /** Show the Discount row */
241
+ discount?: boolean;
242
+ /** Show the Estimated Tax row */
243
+ estimatedTax?: boolean;
244
+ /** Show the Shipping row */
245
+ shipping?: boolean;
246
+ /** Show the Total Savings row */
247
+ totalSavings?: boolean;
248
+ /** Show the primary "Continue" action */
249
+ continue?: boolean;
250
+ /** Show the secondary "Continue shopping" action */
251
+ continueShopping?: boolean;
252
+ /** Show item thumbnails (false in POS compact) */
253
+ thumbnails?: boolean;
254
+ /** Show the secondary description line under the name */
255
+ description?: boolean;
256
+ /** Show the SKU line under the name */
257
+ sku?: boolean;
258
+ /** Show the variant label (size, color) */
259
+ itemVariant?: boolean;
260
+ /** Render an Empty state when there are no items */
261
+ emptyState?: boolean;
262
+ /** Show trust signals (if provided in data) */
263
+ trustSignals?: boolean;
264
+ }
265
+ export interface CartData {
266
+ /** Cart title (e.g. "Your Cart", "Order #1287", "Basket") */
267
+ title?: string;
268
+ /** Optional subtitle / context line */
269
+ subtitle?: string;
270
+ /** Brand / store name */
271
+ brandName?: string;
272
+ /** Brand / store logo URL */
273
+ brandLogo?: string;
274
+ /** Line items in the cart */
275
+ items: CartItem[];
276
+ /**
277
+ * Totals breakdown. OPTIONAL — if you don't pass it, the cart computes
278
+ * it automatically from `items + tax + shipping + coupon`. If you do
279
+ * pass it (e.g. server-computed or pre-aggregated), the cart uses it
280
+ * verbatim and skips its own math.
281
+ */
282
+ totals?: CartTotals;
283
+ /** Currently applied coupon, if any */
284
+ coupon?: CartCoupon;
285
+ /**
286
+ * Tax configuration. Used by the built-in calculator when `totals`
287
+ * is not provided. Ignored when `totals` is provided.
288
+ */
289
+ tax?: CartTaxConfig;
290
+ /**
291
+ * Shipping configuration. Used by the built-in calculator when `totals`
292
+ * is not provided. Ignored when `totals` is provided.
293
+ */
294
+ shipping?: CartShippingConfig;
295
+ /**
296
+ * Catalog of valid coupons. When provided, the cart will validate
297
+ * user-typed codes against this list internally — no `apply-coupon`
298
+ * event handler needed. Use this for static coupon lists; for
299
+ * server-validated coupons, use the `validateCoupon` prop instead.
300
+ */
301
+ coupons?: CartCouponDefinition[];
302
+ /**
303
+ * Default currency for the cart. Used by the calculation engine when
304
+ * `totals` is not provided. Falls back to the global Price config.
305
+ */
306
+ currency?: string;
307
+ /** Mark the entire cart read-only (no qty edits, no remove, no coupon change) */
308
+ readonly?: boolean;
309
+ /** Reduce padding/typography (mirrors Invoice `compact` flag) */
310
+ compact?: boolean;
311
+ /** Manually toggle the empty state (overrides `items.length === 0`) */
312
+ empty?: boolean;
313
+ /** Optional trust signals (e.g. "Free shipping over $50", "30-day returns"). */
314
+ trustSignals?: CartTrustSignal[];
315
+ /** Custom CSS class for the root container */
316
+ containerClass?: string | any[] | Record<string, boolean>;
317
+ }
318
+ export interface CartLabels {
319
+ /** Replaces the default "Cart" / "Your Cart" heading */
320
+ cart?: string;
321
+ /** Replaces the default "Your cart is empty" heading in the empty state */
322
+ emptyTitle?: string;
323
+ /** Replaces the default empty-state description */
324
+ emptyDescription?: string;
325
+ /** Replaces the default "Start shopping" CTA in the empty state */
326
+ emptyAction?: string;
327
+ /** Replaces the default "Subtotal" label */
328
+ subtotal?: string;
329
+ /** Replaces the default "Discount" label */
330
+ discount?: string;
331
+ /** Replaces the default "Estimated Tax" label */
332
+ estimatedTax?: string;
333
+ /** Replaces the default "Shipping" label */
334
+ shipping?: string;
335
+ /** Replaces the default "Grand Total" label */
336
+ grandTotal?: string;
337
+ /** Replaces the default "Total Savings" label */
338
+ totalSavings?: string;
339
+ /** Replaces the default "Coupon" input label */
340
+ coupon?: string;
341
+ /** Replaces the default coupon input placeholder */
342
+ couponPlaceholder?: string;
343
+ /** Replaces the default "Apply" button text */
344
+ applyCoupon?: string;
345
+ /** Replaces the default "Remove coupon" aria-label on the applied-coupon × button */
346
+ removeCoupon?: string;
347
+ /** Replaces the default "Quantity" label */
348
+ quantity?: string;
349
+ /** Replaces the default "Remove" item button */
350
+ remove?: string;
351
+ /** Replaces the default "Continue to checkout" button */
352
+ continue?: string;
353
+ /** Replaces the default "Continue shopping" button */
354
+ continueShopping?: string;
355
+ /** Replaces the default "Clear cart" action */
356
+ clearCart?: string;
357
+ /** Replaces the default "Items" prefix in summary (e.g. "Items (3)") */
358
+ itemCount?: string;
359
+ }
360
+ export interface CartProps {
361
+ /** The complete cart data object (required) */
362
+ data: CartData;
363
+ /** Visual layout variant */
364
+ variant?: CartVariant;
365
+ /** Action button configuration */
366
+ actions?: CartActions;
367
+ /** Per-feature on/off toggles */
368
+ features?: CartFeatures;
369
+ /** Custom text label overrides */
370
+ labels?: CartLabels;
371
+ /** Custom CSS class for the root container */
372
+ containerClass?: string | any[] | Record<string, boolean>;
373
+ /**
374
+ * Async server-side coupon validator. Receives the code the user typed
375
+ * and the current subtotal; resolves with a `CartCouponDefinition`
376
+ * (or null to reject). When provided, this takes precedence over
377
+ * `data.coupons` for the apply flow.
378
+ *
379
+ * The cart automatically drives the `applying` / `applied` / `invalid`
380
+ * / `expired` / `error` UX around this call.
381
+ */
382
+ validateCoupon?: (code: string, context: {
383
+ subtotal: number;
384
+ currency?: string;
385
+ items: CartItem[];
386
+ }) => Promise<CartCouponDefinition | {
387
+ code: string;
388
+ message: string;
389
+ state?: 'invalid' | 'expired' | 'error';
390
+ } | null>;
391
+ }
@@ -37,11 +37,11 @@ declare const __VLS_component: import('vue').DefineComponent<CategoryManagerProp
37
37
  }>, {
38
38
  size: "sm" | "md" | "lg";
39
39
  loading: boolean;
40
+ emptyTitle: string;
41
+ emptyDescription: string;
40
42
  readonly: boolean;
41
43
  modelValue: CategoryItem[];
42
44
  rawData: RawCategoryItem[];
43
- emptyTitle: string;
44
- emptyDescription: string;
45
45
  defaultExpanded: (string | number)[];
46
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
47
47
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -17,7 +17,7 @@ import "v-datepicker-lite";
17
17
  import "v-datepicker-lite/style.css";
18
18
  import "@jaames/iro";
19
19
  import "@vueuse/core";
20
- /* empty css */
20
+ /* empty css */
21
21
  import Ue from "../IconPicker.vue.js";
22
22
  /* empty css */
23
23
  /* empty css */
@@ -33,7 +33,7 @@ const T = {
33
33
  f("select", { id: "all", title: o.allItemLabel });
34
34
  }, u = (n, c = []) => O(o.routePrefix, n, c), x = (n) => n ? "router-link" : "button", g = (n) => n ? { to: n } : { type: "button" }, y = (n) => o.activeId ? n.id === o.activeId || (n.children || []).some((c) => y(c)) : !1;
35
35
  return (n, c) => (t(), s("nav", {
36
- class: P(["relative w-full bg-card", o.class]),
36
+ class: P(["relative w-full", o.class]),
37
37
  role: "navigation",
38
38
  "aria-label": "Categories"
39
39
  }, [
@@ -27,11 +27,11 @@ declare function __VLS_template(): {
27
27
  };
28
28
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
29
29
  declare const __VLS_component: import('vue').DefineComponent<ClipboardProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
30
- copy: (text: string) => any;
31
30
  error: (err: Error) => any;
31
+ copy: (text: string) => any;
32
32
  }, string, import('vue').PublicProps, Readonly<ClipboardProps> & Readonly<{
33
- onCopy?: (text: string) => any;
34
33
  onError?: (err: Error) => any;
34
+ onCopy?: (text: string) => any;
35
35
  }>, {
36
36
  variant: ButtonVariant;
37
37
  size: ButtonSize;
@@ -1,5 +1,5 @@
1
- import o from "./ColorIro.vue.js";
2
- /* empty css */
1
+ import o from "./ColorIro.vue2.js";
2
+ /* empty css */
3
3
  export {
4
4
  o as default
5
5
  };
@@ -7,8 +7,8 @@ import "../../core/config.js";
7
7
  /* empty css */
8
8
  /* empty css */
9
9
  import E from "../Button.vue.js";
10
- import _ from "./ColorIro.vue.js";
11
- /* empty css */
10
+ import _ from "./ColorIro.vue2.js";
11
+ /* empty css */
12
12
  import { useEyeDropper as I } from "@vueuse/core";
13
13
  const N = { class: "absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center justify-center z-20 pointer-events-none" }, j = {
14
14
  key: 0,
@@ -254,6 +254,7 @@ const He = /* @__PURE__ */ ae({
254
254
  searchable: t.searchable,
255
255
  remote: t.remote,
256
256
  debounceTime: t.debounceTime,
257
+ trigger: t.trigger,
257
258
  onSelect: le,
258
259
  onClose: w,
259
260
  onLoadMore: o[0] || (o[0] = (n) => e.$emit("load-more")),
@@ -288,7 +289,7 @@ const He = /* @__PURE__ */ ae({
288
289
  ]),
289
290
  key: "3"
290
291
  } : void 0
291
- ]), 1032, ["options", "cachedOptions", "class", "emptyMessage", "searchEmptyMessage", "selected", "selectedIndex", "maxHeight", "nestedPosition", "nestedOffset", "selectable", "direction", "isCustomSlotMenu", "layout", "columns", "loading", "hasMore", "searchable", "remote", "debounceTime"])) : ye("", !0)
292
+ ]), 1032, ["options", "cachedOptions", "class", "emptyMessage", "searchEmptyMessage", "selected", "selectedIndex", "maxHeight", "nestedPosition", "nestedOffset", "selectable", "direction", "isCustomSlotMenu", "layout", "columns", "loading", "hasMore", "searchable", "remote", "debounceTime", "trigger"])) : ye("", !0)
292
293
  ]),
293
294
  _: 3
294
295
  }, 8, ["trigger", "disabled", "teleport", "offset", "placement", "isOpen", "keepAlive", "menuId", "ignoreClickOutside", "className", "styles"]),
@@ -20,6 +20,7 @@ interface Props {
20
20
  direction?: 'ltr' | 'rtl';
21
21
  emptyMessage?: string;
22
22
  searchEmptyMessage?: string;
23
+ trigger?: import('v-tooltip-lite/types').TooltTipTrigger;
23
24
  }
24
25
  declare function __VLS_template(): {
25
26
  attrs: Partial<{}>;
@@ -54,6 +55,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
54
55
  columns: number | string;
55
56
  loading: boolean;
56
57
  layout: "default" | "grouped";
58
+ trigger: import('v-tooltip-lite/types').TooltTipTrigger;
57
59
  direction: "ltr" | "rtl";
58
60
  selectable: boolean;
59
61
  options: (IDropdownOption | string | number)[];
@@ -1,7 +1,7 @@
1
- import o from "./DropdownMenu.vue3.js";
1
+ import o from "./DropdownMenu.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-0df8084f"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-754d002e"]]);
5
5
  export {
6
6
  m as default
7
7
  };