@soybeanjs/headless 0.24.0 → 0.24.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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/dist/components/alert/alert-compact.vue.d.ts +2 -2
  3. package/dist/components/autocomplete/autocomplete-compact.vue.d.ts +2 -2
  4. package/dist/components/autocomplete/autocomplete-root.vue.d.ts +3 -3
  5. package/dist/components/bottom-sheet/bottom-sheet-root-nested.vue.d.ts +2 -2
  6. package/dist/components/calendar-range/calendar-range-root.vue.d.ts +1 -1
  7. package/dist/components/collapsible/collapsible-root.vue.d.ts +1 -1
  8. package/dist/components/color-area/color-area-compact.vue.d.ts +2 -2
  9. package/dist/components/color-area/color-area-root.vue.d.ts +4 -4
  10. package/dist/components/color-field/color-field-root.vue.d.ts +2 -2
  11. package/dist/components/color-picker/color-picker-compact.vue.d.ts +5 -5
  12. package/dist/components/color-picker/color-picker-root.vue.d.ts +4 -4
  13. package/dist/components/color-slider/color-slider-compact.vue.d.ts +2 -2
  14. package/dist/components/color-slider/color-slider-root.vue.d.ts +4 -4
  15. package/dist/components/combobox/combobox-compact.vue.d.ts +2 -2
  16. package/dist/components/combobox/combobox-root.vue.d.ts +2 -2
  17. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +2 -2
  18. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +2 -2
  19. package/dist/components/date-field/date-field-root.vue.d.ts +2 -2
  20. package/dist/components/date-picker/date-picker-compact.js +1 -1
  21. package/dist/components/date-picker/date-picker-compact.vue.d.ts +4 -4
  22. package/dist/components/date-range-field/date-range-field-root.vue.d.ts +2 -2
  23. package/dist/components/date-range-picker/date-range-picker-compact.vue.d.ts +4 -4
  24. package/dist/components/dialog/dialog-compact.vue.d.ts +5 -5
  25. package/dist/components/dialog/state.js +1 -1
  26. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +2 -2
  27. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +2 -2
  28. package/dist/components/dropdown-menu/dropdown-menu-root.vue.d.ts +1 -1
  29. package/dist/components/input-otp/input-otp-compact.vue.d.ts +2 -2
  30. package/dist/components/input-otp/input-otp-root.vue.d.ts +3 -3
  31. package/dist/components/menubar/menubar-compact.vue.d.ts +2 -2
  32. package/dist/components/menubar/menubar-root.vue.d.ts +1 -1
  33. package/dist/components/navigation-menu/navigation-menu-root.vue.d.ts +1 -1
  34. package/dist/components/page-tabs/page-tabs-compact.vue.d.ts +1 -1
  35. package/dist/components/page-tabs/page-tabs-root.vue.d.ts +1 -1
  36. package/dist/components/pagination/pagination-root.vue.d.ts +2 -2
  37. package/dist/components/popconfirm/popconfirm-compact.vue.d.ts +2 -2
  38. package/dist/components/popper/popper-positioner.vue.d.ts +2 -2
  39. package/dist/components/progress/state.js +1 -1
  40. package/dist/components/select/select-compact.vue.d.ts +2 -2
  41. package/dist/components/select/select-root.vue.d.ts +2 -2
  42. package/dist/components/slider/slider-root.vue.d.ts +2 -2
  43. package/dist/components/splitter/splitter-group.vue.d.ts +1 -1
  44. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  45. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +1 -1
  46. package/dist/components/stepper/stepper-root.vue.d.ts +1 -1
  47. package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
  48. package/dist/components/tags-input/tags-input-compact.vue.d.ts +2 -2
  49. package/dist/components/tags-input/tags-input-root.vue.d.ts +3 -3
  50. package/dist/components/time-field/time-field-root.vue.d.ts +2 -2
  51. package/dist/components/time-range-field/time-range-field-root.vue.d.ts +3 -3
  52. package/dist/components/toast/state.js +1 -1
  53. package/dist/components/toggle/toggle.vue.d.ts +1 -1
  54. package/dist/components/tree-menu/tree-menu-compact.vue.d.ts +2 -2
  55. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +1 -1
  56. package/dist/components/visually-hidden/visually-hidden-input.vue.d.ts +1 -1
  57. package/dist/components/watermark/context.js +1 -1
  58. package/dist/components/watermark/types.d.ts +7 -1
  59. package/dist/components/watermark/watermark-compact.js +1 -1
  60. package/dist/components/watermark/watermark-overlay.js +1 -1
  61. package/dist/components/watermark/watermark-root.js +1 -1
  62. package/dist/composables/use-exposed-element.js +1 -1
  63. package/package.json +2 -2
  64. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/defineProperty.js +0 -0
  65. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/toPrimitive.js +0 -0
  66. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/toPropertyKey.js +0 -0
  67. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/typeof.js +0 -0
@@ -5,24 +5,24 @@ type __VLS_Slots = InputOtpCompactSlots;
5
5
  declare const __VLS_base: import("vue").DefineComponent<InputOtpCompactProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
6
  input: (value: string) => any;
7
7
  select: (event: Event) => any;
8
- "update:modelValue": (value: string) => any;
9
8
  blur: (event: FocusEvent) => any;
10
9
  change: (event: Event) => any;
11
10
  focus: (event: FocusEvent) => any;
12
11
  mouseleave: (event: MouseEvent) => any;
13
12
  mouseover: (event: MouseEvent) => any;
14
13
  paste: (event: ClipboardEvent) => any;
14
+ "update:modelValue": (value: string) => any;
15
15
  complete: (value: string) => any;
16
16
  }, string, import("vue").PublicProps, Readonly<InputOtpCompactProps> & Readonly<{
17
17
  onInput?: ((value: string) => any) | undefined;
18
18
  onSelect?: ((event: Event) => any) | undefined;
19
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
19
  onBlur?: ((event: FocusEvent) => any) | undefined;
21
20
  onChange?: ((event: Event) => any) | undefined;
22
21
  onFocus?: ((event: FocusEvent) => any) | undefined;
23
22
  onMouseleave?: ((event: MouseEvent) => any) | undefined;
24
23
  onMouseover?: ((event: MouseEvent) => any) | undefined;
25
24
  onPaste?: ((event: ClipboardEvent) => any) | undefined;
25
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
26
26
  onComplete?: ((value: string) => any) | undefined;
27
27
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
28
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -17,30 +17,30 @@ declare const __VLS_base: import("vue").DefineComponent<InputOtpRootProps, {
17
17
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
18
  input: (value: string) => any;
19
19
  select: (event: Event) => any;
20
- "update:modelValue": (value: string) => any;
21
20
  blur: (event: FocusEvent) => any;
22
21
  change: (event: Event) => any;
23
22
  focus: (event: FocusEvent) => any;
24
23
  mouseleave: (event: MouseEvent) => any;
25
24
  mouseover: (event: MouseEvent) => any;
26
25
  paste: (event: ClipboardEvent) => any;
26
+ "update:modelValue": (value: string) => any;
27
27
  complete: (value: string) => any;
28
28
  }, string, import("vue").PublicProps, Readonly<InputOtpRootProps> & Readonly<{
29
29
  onInput?: ((value: string) => any) | undefined;
30
30
  onSelect?: ((event: Event) => any) | undefined;
31
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
32
31
  onBlur?: ((event: FocusEvent) => any) | undefined;
33
32
  onChange?: ((event: Event) => any) | undefined;
34
33
  onFocus?: ((event: FocusEvent) => any) | undefined;
35
34
  onMouseleave?: ((event: MouseEvent) => any) | undefined;
36
35
  onMouseover?: ((event: MouseEvent) => any) | undefined;
37
36
  onPaste?: ((event: ClipboardEvent) => any) | undefined;
37
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
38
38
  onComplete?: ((value: string) => any) | undefined;
39
39
  }>, {
40
40
  autocomplete: string;
41
41
  inputmode: InputOtpInputMode;
42
- defaultValue: string;
43
42
  modelValue: string;
43
+ defaultValue: string;
44
44
  pushPasswordManagerStrategy: InputOtpPushPasswordManagerStrategy;
45
45
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
46
46
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -6,8 +6,8 @@ import { MenubarCompactProps, MenubarCompactSlots } from "./types.js";
6
6
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
7
  props: import("vue").PublicProps & __VLS_PrettifyLocal<MenubarCompactProps<T> & {
8
8
  onSelect?: ((item: MenuOptionData<T>, event: Event) => any) | undefined;
9
- "onUpdate:modelValue"?: ((value: T) => any) | undefined;
10
9
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
10
+ "onUpdate:modelValue"?: ((value: T) => any) | undefined;
11
11
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
12
12
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
13
13
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
@@ -21,7 +21,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props:
21
21
  expose: (exposed: {}) => void;
22
22
  attrs: any;
23
23
  slots: MenubarCompactSlots<T>;
24
- emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
24
+ emit: ((evt: "select", item: MenuOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: FocusOutsideEvent) => void) & ((evt: "interactOutside", event: PointerDownOutsideEvent | FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
25
25
  }>) => import("vue").VNode & {
26
26
  __ctx?: Awaited<typeof __VLS_setup>;
27
27
  };
@@ -13,8 +13,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
13
13
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
14
  "onUpdate:modelValue"?: ((value: DefinedValue) => any) | undefined;
15
15
  }>, {
16
- modelValue: DefinedValue;
17
16
  loop: boolean;
17
+ modelValue: DefinedValue;
18
18
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
@@ -13,9 +13,9 @@ declare const __VLS_base: import("vue").DefineComponent<NavigationMenuRootProps,
13
13
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
14
14
  }>, {
15
15
  orientation: DataOrientation;
16
+ unmountOnHide: boolean;
16
17
  delayDuration: number;
17
18
  skipDelayDuration: number;
18
- unmountOnHide: boolean;
19
19
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
21
  declare const _default: typeof __VLS_export;
@@ -5,8 +5,8 @@ declare const __VLS_export: <T extends PageTabsOptionData = PageTabsOptionData>(
5
5
  props: import("vue").PublicProps & __VLS_PrettifyLocal<PageTabsCompactProps<T> & {
6
6
  onContextmenu?: ((tab: T) => any) | undefined;
7
7
  onClick?: ((tab: T) => any) | undefined;
8
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
8
  onClose?: ((tab: T) => any) | undefined;
9
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
10
10
  "onUpdate:items"?: ((items: T[]) => any) | undefined;
11
11
  onPin?: ((tab: T) => any) | undefined;
12
12
  onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
@@ -10,8 +10,8 @@ declare const __VLS_base: import("vue").DefineComponent<PageTabsRootProps, {}, {
10
10
  }, string, import("vue").PublicProps, Readonly<PageTabsRootProps> & Readonly<{
11
11
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
12
12
  }>, {
13
- modelValue: string;
14
13
  loop: boolean;
14
+ modelValue: string;
15
15
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
17
  declare const _default: typeof __VLS_export;
@@ -15,11 +15,11 @@ declare const __VLS_base: import("vue").DefineComponent<PaginationRootProps, {},
15
15
  "onUpdate:page"?: ((value: number) => any) | undefined;
16
16
  "onUpdate:pageSize"?: ((value: number) => any) | undefined;
17
17
  }>, {
18
+ defaultPage: number;
19
+ defaultPageSize: number;
18
20
  total: number;
19
21
  siblingCount: number;
20
22
  showEdges: boolean;
21
- defaultPage: number;
22
- defaultPageSize: number;
23
23
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
@@ -3,8 +3,8 @@ import { PopconfirmCompactProps, PopconfirmCompactSlots } from "./types.js";
3
3
  //#region src/components/popconfirm/popconfirm-compact.vue.d.ts
4
4
  type __VLS_Slots = PopconfirmCompactSlots;
5
5
  declare const __VLS_base: import("vue").DefineComponent<PopconfirmCompactProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
- cancel: (event: PointerEvent) => any;
7
6
  "update:open": (value: boolean) => any;
7
+ cancel: (event: PointerEvent) => any;
8
8
  escapeKeyDown: (event: KeyboardEvent) => any;
9
9
  pointerDownOutside: (event: PointerDownOutsideEvent) => any;
10
10
  focusOutside: (event: FocusOutsideEvent) => any;
@@ -13,8 +13,8 @@ declare const __VLS_base: import("vue").DefineComponent<PopconfirmCompactProps,
13
13
  closeAutoFocus: (event: Event) => any;
14
14
  confirm: (event: PointerEvent) => any;
15
15
  }, string, import("vue").PublicProps, Readonly<PopconfirmCompactProps> & Readonly<{
16
- onCancel?: ((event: PointerEvent) => any) | undefined;
17
16
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
17
+ onCancel?: ((event: PointerEvent) => any) | undefined;
18
18
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
19
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
20
20
  onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
@@ -161,7 +161,7 @@ declare const __VLS_base: import("vue").DefineComponent<PopperPositionerProps, {
161
161
  'aria-colindex': string | number;
162
162
  'aria-colspan': string | number;
163
163
  'aria-controls': string;
164
- 'aria-current': "date" | (boolean | "true" | "false") | "page" | "step" | "location" | "time";
164
+ 'aria-current': (boolean | "true" | "false") | "page" | "step" | "location" | "date" | "time";
165
165
  'aria-describedby': string;
166
166
  'aria-details': string;
167
167
  'aria-disabled': boolean | "true" | "false";
@@ -201,6 +201,7 @@ declare const __VLS_base: import("vue").DefineComponent<PopperPositionerProps, {
201
201
  'aria-valuenow': string | number;
202
202
  'aria-valuetext': string;
203
203
  placement: Placement;
204
+ reference: import("@floating-ui/dom").ReferenceElement;
204
205
  side: import("@floating-ui/utils").Side;
205
206
  sideOffset: number;
206
207
  sideFlip: boolean;
@@ -218,7 +219,6 @@ declare const __VLS_base: import("vue").DefineComponent<PopperPositionerProps, {
218
219
  updatePositionStrategy: "optimized" | "always";
219
220
  disableUpdateOnLayoutShift: boolean;
220
221
  prioritizePosition: boolean;
221
- reference: import("@floating-ui/dom").ReferenceElement;
222
222
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
223
223
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
224
224
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{clamp as e}from"../../shared/value.js";import{isClient as t}from"../../shared/env.js";import"../../shared/index.js";import{_defineProperty as n}from"../../_virtual/_@oxc-project_runtime@0.130.0/helpers/defineProperty.js";import{defu as r}from"defu";const i={direction:`ltr`,minimum:.08,maximum:1,easing:`linear`,speed:200,trickle:!0,trickleSpeed:200};var a=class{static reset(){return this.status=null,this.isPaused=!1,this.pending=[],this.options=i,this.clearTrickleTimer(),this}static configure(e){return this.options=r({...e},this.options),this}static isStarted(){return typeof this.status==`number`}static isRendered(){return t?document.querySelector(`[data-soybean-progress-provider]`)!==null:!1}static set(n){if(!t||this.isPaused)return this;let r=this.isStarted();n=e(n,this.options.minimum,this.options.maximum),this.status=n===this.options.maximum?null:n,this.status===null&&this.clearTrickleTimer();let i=this.render(!r),a=this.options.speed,o=this.options.easing;return i.forEach(e=>e.offsetWidth),this.queue(e=>{i.forEach(e=>{c(e.querySelector(`[data-soybean-progress-bar]`),this.barPositionCSS({n,speed:a,ease:o}))}),n===this.options.maximum?(i.forEach(e=>{c(e,{transition:`none`,opacity:`1`}),e.offsetWidth}),setTimeout(()=>{i.forEach(e=>{c(e,{transition:`all ${a}ms ${o}`,opacity:`0`})}),setTimeout(()=>{i.forEach(e=>{this.remove(e),c(e,{transition:`none`,opacity:`1`})}),e()},a)},a)):setTimeout(e,a)}),this}static start(){return t?(this.status||this.set(0),this.options.trickle&&this.startTrickling(),this):this}static done(e){return!t||!e&&!this.status?this:this.inc(.3+.5*Math.random()).set(1)}static inc(t){if(this.isPaused)return this;let n=this.status;return n?n>1?this:(typeof t!=`number`&&(t=n>=0&&n<.2?.1:n>=.2&&n<.5?.04:n>=.5&&n<.8?.02:n>=.8&&n<.99?.005:0),n=e(n+t,0,.994),this.set(n)):this.start()}static dec(t){if(this.isPaused)return this;let n=this.status;return typeof n==`number`?(typeof t!=`number`&&(t=n>.8?.1:n>.5?.05:n>.2?.02:.01),n=e(n-t,0,.994),this.set(n)):this}static trickle(){return this.isPaused?this:this.inc()}static promise(e){let t=typeof e==`function`?e():e;if(!t)return this;if(typeof t.then==`function`)return this.start(),Promise.resolve(t).then(()=>{this.done()},()=>{this.done(!0)}),this;if(typeof t.state!=`function`||typeof t.always!=`function`||t.state()===`resolved`)return this;let n=0,r=0;return this.start(),n++,r++,t.always(()=>{r--,r===0?(n=0,this.done()):this.set((n-r)/n)}),this}static render(e=!1){if(!t)return[];let n=Array.from(document.querySelectorAll(`[data-soybean-progress-provider]`));return n.forEach(t=>{t.style.display=``;let n=t.querySelector(`[data-soybean-progress-bar]`),r=s(e?0:this.status||0,this.options.direction);c(n,this.barPositionCSS({n:this.status||0,speed:this.options.speed,ease:this.options.easing,percent:r})),typeof this.status==`number`?t.setAttribute(`aria-valuenow`,`${this.status}`):t.removeAttribute(`aria-valuenow`)}),n}static remove(e){t&&(this.clearTrickleTimer(),e?e.style.display=`none`:document.querySelectorAll(`[data-soybean-progress-provider]`).forEach(e=>{let t=e;t.style.display=`none`}))}static pause(){return this.isStarted()?(this.isPaused=!0,this.clearTrickleTimer(),this):this}static resume(){return this.isStarted()?(this.isPaused=!1,this.options.trickle&&this.startTrickling(),this):this}static queue(e){this.pending.push(e),this.pending.length===1&&this.next()}static next(){let e=this.pending.shift();e&&e(this.next.bind(this))}static clearTrickleTimer(){this.trickleTimer&&(clearTimeout(this.trickleTimer),this.trickleTimer=void 0)}static startTrickling(){if(this.trickleTimer||this.isPaused||!this.isStarted())return;let e=()=>{this.trickleTimer=void 0,!(this.isPaused||!this.isStarted())&&(this.trickle(),!this.isPaused&&this.isStarted()&&(this.trickleTimer=setTimeout(e,this.options.trickleSpeed)))};this.trickleTimer=setTimeout(e,this.options.trickleSpeed)}static barPositionCSS({n:e,speed:t,ease:n,percent:r}){return{transform:`translate3d(${r??s(e,this.options.direction)}%,0,0)`,transition:`all ${t}ms ${n}`}}};n(a,`options`,i),n(a,`status`,null),n(a,`pending`,[]),n(a,`isPaused`,!1),n(a,`trickleTimer`,void 0);const o=a;function s(e,t){return t===`rtl`?(1-e)*100:(-1+e)*100}function c(e,t,n){if(typeof t==`string`)n!==void 0&&(e.style[t]=n);else for(let n in t)if(t.hasOwnProperty(n)){let r=t[n];r!==void 0&&(e.style[n]=r)}}export{o as progress};
1
+ import{clamp as e}from"../../shared/value.js";import{isClient as t}from"../../shared/env.js";import"../../shared/index.js";import{_defineProperty as n}from"../../_virtual/_@oxc-project_runtime@0.132.0/helpers/defineProperty.js";import{defu as r}from"defu";const i={direction:`ltr`,minimum:.08,maximum:1,easing:`linear`,speed:200,trickle:!0,trickleSpeed:200};var a=class{static reset(){return this.status=null,this.isPaused=!1,this.pending=[],this.options=i,this.clearTrickleTimer(),this}static configure(e){return this.options=r({...e},this.options),this}static isStarted(){return typeof this.status==`number`}static isRendered(){return t?document.querySelector(`[data-soybean-progress-provider]`)!==null:!1}static set(n){if(!t||this.isPaused)return this;let r=this.isStarted();n=e(n,this.options.minimum,this.options.maximum),this.status=n===this.options.maximum?null:n,this.status===null&&this.clearTrickleTimer();let i=this.render(!r),a=this.options.speed,o=this.options.easing;return i.forEach(e=>e.offsetWidth),this.queue(e=>{i.forEach(e=>{c(e.querySelector(`[data-soybean-progress-bar]`),this.barPositionCSS({n,speed:a,ease:o}))}),n===this.options.maximum?(i.forEach(e=>{c(e,{transition:`none`,opacity:`1`}),e.offsetWidth}),setTimeout(()=>{i.forEach(e=>{c(e,{transition:`all ${a}ms ${o}`,opacity:`0`})}),setTimeout(()=>{i.forEach(e=>{this.remove(e),c(e,{transition:`none`,opacity:`1`})}),e()},a)},a)):setTimeout(e,a)}),this}static start(){return t?(this.status||this.set(0),this.options.trickle&&this.startTrickling(),this):this}static done(e){return!t||!e&&!this.status?this:this.inc(.3+.5*Math.random()).set(1)}static inc(t){if(this.isPaused)return this;let n=this.status;return n?n>1?this:(typeof t!=`number`&&(t=n>=0&&n<.2?.1:n>=.2&&n<.5?.04:n>=.5&&n<.8?.02:n>=.8&&n<.99?.005:0),n=e(n+t,0,.994),this.set(n)):this.start()}static dec(t){if(this.isPaused)return this;let n=this.status;return typeof n==`number`?(typeof t!=`number`&&(t=n>.8?.1:n>.5?.05:n>.2?.02:.01),n=e(n-t,0,.994),this.set(n)):this}static trickle(){return this.isPaused?this:this.inc()}static promise(e){let t=typeof e==`function`?e():e;if(!t)return this;if(typeof t.then==`function`)return this.start(),Promise.resolve(t).then(()=>{this.done()},()=>{this.done(!0)}),this;if(typeof t.state!=`function`||typeof t.always!=`function`||t.state()===`resolved`)return this;let n=0,r=0;return this.start(),n++,r++,t.always(()=>{r--,r===0?(n=0,this.done()):this.set((n-r)/n)}),this}static render(e=!1){if(!t)return[];let n=Array.from(document.querySelectorAll(`[data-soybean-progress-provider]`));return n.forEach(t=>{t.style.display=``;let n=t.querySelector(`[data-soybean-progress-bar]`),r=s(e?0:this.status||0,this.options.direction);c(n,this.barPositionCSS({n:this.status||0,speed:this.options.speed,ease:this.options.easing,percent:r})),typeof this.status==`number`?t.setAttribute(`aria-valuenow`,`${this.status}`):t.removeAttribute(`aria-valuenow`)}),n}static remove(e){t&&(this.clearTrickleTimer(),e?e.style.display=`none`:document.querySelectorAll(`[data-soybean-progress-provider]`).forEach(e=>{let t=e;t.style.display=`none`}))}static pause(){return this.isStarted()?(this.isPaused=!0,this.clearTrickleTimer(),this):this}static resume(){return this.isStarted()?(this.isPaused=!1,this.options.trickle&&this.startTrickling(),this):this}static queue(e){this.pending.push(e),this.pending.length===1&&this.next()}static next(){let e=this.pending.shift();e&&e(this.next.bind(this))}static clearTrickleTimer(){this.trickleTimer&&(clearTimeout(this.trickleTimer),this.trickleTimer=void 0)}static startTrickling(){if(this.trickleTimer||this.isPaused||!this.isStarted())return;let e=()=>{this.trickleTimer=void 0,!(this.isPaused||!this.isStarted())&&(this.trickle(),!this.isPaused&&this.isStarted()&&(this.trickleTimer=setTimeout(e,this.options.trickleSpeed)))};this.trickleTimer=setTimeout(e,this.options.trickleSpeed)}static barPositionCSS({n:e,speed:t,ease:n,percent:r}){return{transform:`translate3d(${r??s(e,this.options.direction)}%,0,0)`,transition:`all ${t}ms ${n}`}}};n(a,`options`,i),n(a,`status`,null),n(a,`pending`,[]),n(a,`isPaused`,!1),n(a,`trickleTimer`,void 0);const o=a;function s(e,t){return t===`rtl`?(1-e)*100:(-1+e)*100}function c(e,t,n){if(typeof t==`string`)n!==void 0&&(e.style[t]=n);else for(let n in t)if(t.hasOwnProperty(n)){let r=t[n];r!==void 0&&(e.style[n]=r)}}export{o as progress};
@@ -5,8 +5,8 @@ import { SelectCompactProps, SelectCompactSlots, SelectItemEvent } from "./types
5
5
  declare const __VLS_export: <T extends DefinedValue = DefinedValue, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
6
  props: import("vue").PublicProps & __VLS_PrettifyLocal<SelectCompactProps<T, M> & {
7
7
  onSelect?: ((event: SelectItemEvent<T>) => any) | undefined;
8
- "onUpdate:modelValue"?: ((value: M extends true ? T[] : T) => any) | undefined;
9
8
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
9
+ "onUpdate:modelValue"?: ((value: M extends true ? T[] : T) => any) | undefined;
10
10
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
11
11
  onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
12
12
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
@@ -16,7 +16,7 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, M extends bo
16
16
  expose: (exposed: {}) => void;
17
17
  attrs: any;
18
18
  slots: SelectCompactSlots<T, M>;
19
- emit: ((evt: "select", event: SelectItemEvent<T>) => void) & ((evt: "update:modelValue", value: M extends true ? T[] : T) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "closeAutoFocus", event: Event) => void);
19
+ emit: ((evt: "select", event: SelectItemEvent<T>) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: M extends true ? T[] : T) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: PointerDownOutsideEvent) => void) & ((evt: "closeAutoFocus", event: Event) => void);
20
20
  }>) => import("vue").VNode & {
21
21
  __ctx?: Awaited<typeof __VLS_setup>;
22
22
  };
@@ -4,8 +4,8 @@ import { SelectRootProps } from "./types.js";
4
4
  //#region src/components/select/select-root.vue.d.ts
5
5
  declare const __VLS_export: <T extends DefinedValue, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
6
  props: import("vue").PublicProps & __VLS_PrettifyLocal<SelectRootProps<T, M> & {
7
- "onUpdate:modelValue"?: ((value: M extends true ? T[] : T) => any) | undefined;
8
7
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
8
+ "onUpdate:modelValue"?: ((value: M extends true ? T[] : T) => any) | undefined;
9
9
  }> & (typeof globalThis extends {
10
10
  __VLS_PROPS_FALLBACK: infer P;
11
11
  } ? P : {});
@@ -17,7 +17,7 @@ declare const __VLS_export: <T extends DefinedValue, M extends boolean = false>(
17
17
  open: boolean;
18
18
  }) => any;
19
19
  };
20
- emit: ((evt: "update:modelValue", value: M extends true ? T[] : T) => void) & ((evt: "update:open", value: boolean) => void);
20
+ emit: ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", value: M extends true ? T[] : T) => void);
21
21
  }>) => import("vue").VNode & {
22
22
  __ctx?: Awaited<typeof __VLS_setup>;
23
23
  };
@@ -14,14 +14,14 @@ declare const __VLS_base: import("vue").DefineComponent<SliderRootProps, {}, {},
14
14
  "onUpdate:modelValue"?: ((value: number[]) => any) | undefined;
15
15
  onValueCommit?: ((value: number[]) => any) | undefined;
16
16
  }>, {
17
+ disabled: boolean;
17
18
  dir: Direction;
18
19
  max: number;
19
20
  min: number;
20
21
  orientation: DataOrientation;
21
- disabled: boolean;
22
22
  step: number;
23
- defaultValue: number[];
24
23
  modelValue: number[];
24
+ defaultValue: number[];
25
25
  inverted: boolean;
26
26
  minStepsBetweenThumbs: number;
27
27
  thumbAlignment: SliderThumbAlignment;
@@ -14,8 +14,8 @@ declare const __VLS_base: import("vue").DefineComponent<SplitterGroupProps, {},
14
14
  }>, {
15
15
  dir: Direction;
16
16
  direction: DataOrientation;
17
- keyboardResizeBy: number;
18
17
  defaultLayout: number[];
18
+ keyboardResizeBy: number;
19
19
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
20
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
21
  declare const _default: typeof __VLS_export;
@@ -33,9 +33,9 @@ declare const __VLS_base: import("vue").DefineComponent<SplitterPanelProps, {
33
33
  collapsible: boolean;
34
34
  order: number;
35
35
  defaultSize: number;
36
- collapsedSize: number;
37
- maxSize: number;
38
36
  minSize: number;
37
+ maxSize: number;
38
+ collapsedSize: number;
39
39
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
40
40
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
41
41
  declare const _default: typeof __VLS_export;
@@ -13,8 +13,8 @@ declare const __VLS_base: import("vue").DefineComponent<SplitterResizeHandleProp
13
13
  }, string, import("vue").PublicProps, Readonly<SplitterResizeHandleProps> & Readonly<{
14
14
  onDragging?: ((value: boolean) => any) | undefined;
15
15
  }>, {
16
- tabindex: number;
17
16
  disabled: boolean;
17
+ tabindex: number;
18
18
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
@@ -37,8 +37,8 @@ declare const __VLS_base: import("vue").DefineComponent<StepperRootProps, {
37
37
  "onUpdate:modelValue"?: ((payload: number) => any) | undefined;
38
38
  }>, {
39
39
  orientation: DataOrientation;
40
- defaultValue: number;
41
40
  modelValue: number;
41
+ defaultValue: number;
42
42
  linear: boolean;
43
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
44
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -14,8 +14,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
14
14
  "onUpdate:modelValue"?: ((payload: DefinedValue | null) => any) | undefined;
15
15
  }>, {
16
16
  orientation: DataOrientation;
17
- modelValue: DefinedValue | null;
18
17
  loop: boolean;
18
+ modelValue: DefinedValue | null;
19
19
  activationMode: TabsActivationMode;
20
20
  unmountOnHide: boolean;
21
21
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -3,13 +3,13 @@ import { TagsInputCompactProps, TagsInputCompactSlots } from "./types.js";
3
3
  //#region src/components/tags-input/tags-input-compact.vue.d.ts
4
4
  type __VLS_Slots = TagsInputCompactSlots;
5
5
  declare const __VLS_base: import("vue").DefineComponent<TagsInputCompactProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
- "update:modelValue": (value: string[]) => any;
7
6
  invalid: (value: string) => any;
7
+ "update:modelValue": (value: string[]) => any;
8
8
  addTag: (value: string) => any;
9
9
  removeTag: (value: string) => any;
10
10
  }, string, import("vue").PublicProps, Readonly<TagsInputCompactProps> & Readonly<{
11
- "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
12
11
  onInvalid?: ((value: string) => any) | undefined;
12
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
13
13
  onAddTag?: ((value: string) => any) | undefined;
14
14
  onRemoveTag?: ((value: string) => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -9,19 +9,19 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_1) => any;
10
10
  };
11
11
  declare const __VLS_base: import("vue").DefineComponent<TagsInputRootProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
- "update:modelValue": (value: string[]) => any;
13
12
  invalid: (value: string) => any;
13
+ "update:modelValue": (value: string[]) => any;
14
14
  addTag: (value: string) => any;
15
15
  removeTag: (value: string) => any;
16
16
  }, string, import("vue").PublicProps, Readonly<TagsInputRootProps> & Readonly<{
17
- "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
18
17
  onInvalid?: ((value: string) => any) | undefined;
18
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
19
19
  onAddTag?: ((value: string) => any) | undefined;
20
20
  onRemoveTag?: ((value: string) => any) | undefined;
21
21
  }>, {
22
22
  max: number;
23
- defaultValue: string[];
24
23
  modelValue: string[];
24
+ defaultValue: string[];
25
25
  delimiter: string | RegExp;
26
26
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -10,14 +10,14 @@ declare const __VLS_base: import("vue").DefineComponent<TimeFieldRootProps, {},
10
10
  "onUpdate:modelValue"?: ((time: TimeValue | undefined) => any) | undefined;
11
11
  "onUpdate:placeholder"?: ((time: TimeValue) => any) | undefined;
12
12
  }>, {
13
- placeholder: TimeValue;
14
13
  disabled: boolean;
14
+ placeholder: TimeValue;
15
15
  step: DateStep;
16
16
  defaultValue: TimeValue;
17
17
  defaultPlaceholder: TimeValue;
18
18
  readonly: boolean;
19
- hourCycle: 12 | 24;
20
19
  granularity: TimeGranularity;
20
+ hourCycle: 12 | 24;
21
21
  hideTimeZone: boolean;
22
22
  isTimeUnavailable: TimeMatcher;
23
23
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -14,18 +14,18 @@ declare const __VLS_base: import("vue").DefineComponent<TimeRangeFieldRootProps,
14
14
  "onUpdate:startValue"?: ((time: TimeValue | undefined) => any) | undefined;
15
15
  "onUpdate:endValue"?: ((time: TimeValue | undefined) => any) | undefined;
16
16
  }>, {
17
- placeholder: TimeValue;
18
17
  disabled: boolean;
18
+ placeholder: TimeValue;
19
19
  step: DateStep;
20
20
  defaultValue: TimeRange;
21
21
  defaultPlaceholder: TimeValue;
22
22
  readonly: boolean;
23
- hourCycle: 12 | 24;
24
23
  granularity: TimeGranularity;
24
+ hourCycle: 12 | 24;
25
25
  hideTimeZone: boolean;
26
+ isTimeUnavailable: TimeMatcher;
26
27
  startName: string;
27
28
  endName: string;
28
- isTimeUnavailable: TimeMatcher;
29
29
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
30
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
31
31
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.130.0/helpers/defineProperty.js";import{isVNode as t}from"vue";let n=1;const r=new class{constructor(){e(this,`subscribers`,void 0),e(this,`toasts`,void 0),e(this,`dismissed`,void 0),e(this,`subscribe`,e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);t>=0&&this.subscribers.splice(t,1)})),e(this,`publish`,e=>{this.subscribers.forEach(t=>t(e))}),e(this,`resetDismissed`,e=>{this.dismissed.has(e)&&this.dismissed.delete(e)}),e(this,`upsert`,e=>{let t=this.toasts.findIndex(t=>t.id===e.id);if(t<0){this.publish(e),this.toasts=[...this.toasts,e];return}let n={...this.toasts[t],...e};this.publish(n),this.toasts=this.toasts.map((e,r)=>r===t?n:e)}),e(this,`create`,e=>{let{message:t,dismissible:n=!0,...r}=e,i=s(e.id);this.resetDismissed(i);let a={...r,id:i,dismissible:n,title:t};return this.upsert(a),i}),e(this,`dismiss`,e=>{if(e!==void 0)return this.dismissed.add(e),requestAnimationFrame(()=>this.publish({id:e,dismiss:!0})),e;this.toasts.forEach(e=>{this.dismissed.add(e.id),this.publish({id:e.id,dismiss:!0})})}),e(this,`message`,(e,t)=>this.create({...t,message:e,type:`default`})),e(this,`error`,(e,t)=>this.create({...t,message:e,type:`error`})),e(this,`success`,(e,t)=>this.create({...t,message:e,type:`success`})),e(this,`info`,(e,t)=>this.create({...t,message:e,type:`info`})),e(this,`warning`,(e,t)=>this.create({...t,message:e,type:`warning`})),e(this,`loading`,(e,t)=>this.create({...t,message:e,type:`loading`})),e(this,`custom`,(e,t)=>{let n=s(t?.id),r=t?.dismissible??!0;return this.resetDismissed(n),this.upsert({custom:e,dismissible:r,id:n,...t}),n}),e(this,`promise`,(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:`loading`,message:n.loading,description:typeof n.description==`function`?void 0:n.description}));let i=Promise.resolve(typeof e==`function`?e():e),a=r!==void 0,s,l=async(e,t,n,i)=>{a=!1;let{description:o,settings:s}=await c(t,n,i,r);this.create({id:r,type:e,description:o,...s})},u=i.then(async e=>{if(s=[`resolve`,e],t(e)){a=!1,this.create({id:r,type:`default`,message:e});return}if(o(e)&&!e.ok){await l(`error`,n.error,n.description,`HTTP error! status: ${e.status}`);return}if(e instanceof Error){await l(`error`,n.error,n.description,e);return}n.success!==void 0&&await l(`success`,n.success,n.description,e)}).catch(async e=>{s=[`reject`,e],n.error!==void 0&&await l(`error`,n.error,n.description,e)}).finally(()=>{a&&(this.dismiss(r),r=void 0),n.finally?.()}),d=()=>new Promise((e,t)=>u.then(()=>s[0]===`reject`?t(s[1]):e(s[1])).catch(t));return typeof r!=`string`&&typeof r!=`number`?{unwrap:d}:Object.assign(r,{unwrap:d})}),e(this,`getActives`,()=>this.toasts.filter(e=>!this.dismissed.has(e.id))),this.subscribers=[],this.toasts=[],this.dismissed=new Set}},i=r.message,a=Object.assign(i,{success:r.success,info:r.info,warning:r.warning,error:r.error,custom:r.custom,message:r.message,promise:r.promise,dismiss:r.dismiss,loading:r.loading},{getHistory:()=>r.toasts,getToasts:()=>r.getActives()});function o(e){return typeof e==`object`&&!!e&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`}function s(e){return typeof e==`number`||typeof e==`string`&&e.length>0?e:n++}async function c(e,t,n,r){let[i,a]=await Promise.all([l(e,n),l(t,n)]);return{description:a,settings:d(i,r)}}async function l(e,t){return typeof e==`function`?await e(t):e}function u(e){return typeof e==`object`&&!!e&&`message`in e}function d(e,t){return u(e)?e:{id:t??``,message:e??``}}export{r as ToastState,a as toast};
1
+ import{_defineProperty as e}from"../../_virtual/_@oxc-project_runtime@0.132.0/helpers/defineProperty.js";import{isVNode as t}from"vue";let n=1;const r=new class{constructor(){e(this,`subscribers`,void 0),e(this,`toasts`,void 0),e(this,`dismissed`,void 0),e(this,`subscribe`,e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);t>=0&&this.subscribers.splice(t,1)})),e(this,`publish`,e=>{this.subscribers.forEach(t=>t(e))}),e(this,`resetDismissed`,e=>{this.dismissed.has(e)&&this.dismissed.delete(e)}),e(this,`upsert`,e=>{let t=this.toasts.findIndex(t=>t.id===e.id);if(t<0){this.publish(e),this.toasts=[...this.toasts,e];return}let n={...this.toasts[t],...e};this.publish(n),this.toasts=this.toasts.map((e,r)=>r===t?n:e)}),e(this,`create`,e=>{let{message:t,dismissible:n=!0,...r}=e,i=s(e.id);this.resetDismissed(i);let a={...r,id:i,dismissible:n,title:t};return this.upsert(a),i}),e(this,`dismiss`,e=>{if(e!==void 0)return this.dismissed.add(e),requestAnimationFrame(()=>this.publish({id:e,dismiss:!0})),e;this.toasts.forEach(e=>{this.dismissed.add(e.id),this.publish({id:e.id,dismiss:!0})})}),e(this,`message`,(e,t)=>this.create({...t,message:e,type:`default`})),e(this,`error`,(e,t)=>this.create({...t,message:e,type:`error`})),e(this,`success`,(e,t)=>this.create({...t,message:e,type:`success`})),e(this,`info`,(e,t)=>this.create({...t,message:e,type:`info`})),e(this,`warning`,(e,t)=>this.create({...t,message:e,type:`warning`})),e(this,`loading`,(e,t)=>this.create({...t,message:e,type:`loading`})),e(this,`custom`,(e,t)=>{let n=s(t?.id),r=t?.dismissible??!0;return this.resetDismissed(n),this.upsert({custom:e,dismissible:r,id:n,...t}),n}),e(this,`promise`,(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:`loading`,message:n.loading,description:typeof n.description==`function`?void 0:n.description}));let i=Promise.resolve(typeof e==`function`?e():e),a=r!==void 0,s,l=async(e,t,n,i)=>{a=!1;let{description:o,settings:s}=await c(t,n,i,r);this.create({id:r,type:e,description:o,...s})},u=i.then(async e=>{if(s=[`resolve`,e],t(e)){a=!1,this.create({id:r,type:`default`,message:e});return}if(o(e)&&!e.ok){await l(`error`,n.error,n.description,`HTTP error! status: ${e.status}`);return}if(e instanceof Error){await l(`error`,n.error,n.description,e);return}n.success!==void 0&&await l(`success`,n.success,n.description,e)}).catch(async e=>{s=[`reject`,e],n.error!==void 0&&await l(`error`,n.error,n.description,e)}).finally(()=>{a&&(this.dismiss(r),r=void 0),n.finally?.()}),d=()=>new Promise((e,t)=>u.then(()=>s[0]===`reject`?t(s[1]):e(s[1])).catch(t));return typeof r!=`string`&&typeof r!=`number`?{unwrap:d}:Object.assign(r,{unwrap:d})}),e(this,`getActives`,()=>this.toasts.filter(e=>!this.dismissed.has(e.id))),this.subscribers=[],this.toasts=[],this.dismissed=new Set}},i=r.message,a=Object.assign(i,{success:r.success,info:r.info,warning:r.warning,error:r.error,custom:r.custom,message:r.message,promise:r.promise,dismiss:r.dismiss,loading:r.loading},{getHistory:()=>r.toasts,getToasts:()=>r.getActives()});function o(e){return typeof e==`object`&&!!e&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`}function s(e){return typeof e==`number`||typeof e==`string`&&e.length>0?e:n++}async function c(e,t,n,r){let[i,a]=await Promise.all([l(e,n),l(t,n)]);return{description:a,settings:d(i,r)}}async function l(e,t){return typeof e==`function`?await e(t):e}function u(e){return typeof e==`object`&&!!e&&`message`in e}function d(e,t){return u(e)?e:{id:t??``,message:e??``}}export{r as ToastState,a as toast};
@@ -15,8 +15,8 @@ declare const __VLS_base: import("vue").DefineComponent<ToggleProps, {}, {}, {},
15
15
  }, string, import("vue").PublicProps, Readonly<ToggleProps> & Readonly<{
16
16
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
17
17
  }>, {
18
- defaultValue: boolean;
19
18
  modelValue: boolean;
19
+ defaultValue: boolean;
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
21
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
22
  declare const _default: typeof __VLS_export;
@@ -5,15 +5,15 @@ declare const __VLS_export: <T extends TreeMenuBaseOptionData = TreeMenuBaseOpti
5
5
  props: import("vue").PublicProps & __VLS_PrettifyLocal<TreeMenuCompactProps<T> & {
6
6
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
7
7
  "onUpdate:expanded"?: ((value: string[]) => any) | undefined;
8
- onSelectDropdown?: ((value: string) => any) | undefined;
9
8
  "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
9
+ onSelectDropdown?: ((value: string) => any) | undefined;
10
10
  }> & (typeof globalThis extends {
11
11
  __VLS_PROPS_FALLBACK: infer P;
12
12
  } ? P : {});
13
13
  expose: (exposed: {}) => void;
14
14
  attrs: any;
15
15
  slots: TreeMenuCompactSlots<T>;
16
- emit: ((evt: "update:modelValue", value: string) => void) & ((evt: "update:expanded", value: string[]) => void) & ((evt: "selectDropdown", value: string) => void) & ((evt: "update:collapsed", value: boolean) => void);
16
+ emit: ((evt: "update:modelValue", value: string) => void) & ((evt: "update:expanded", value: string[]) => void) & ((evt: "update:collapsed", value: boolean) => void) & ((evt: "selectDropdown", value: string) => void);
17
17
  }>) => import("vue").VNode & {
18
18
  __ctx?: Awaited<typeof __VLS_setup>;
19
19
  };
@@ -15,8 +15,8 @@ declare const __VLS_base: import("vue").DefineComponent<TreeMenuRootProps, {}, {
15
15
  "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
16
16
  }>, {
17
17
  defaultValue: string;
18
- defaultExpanded: string[];
19
18
  collapsed: boolean;
19
+ defaultExpanded: string[];
20
20
  indent: number;
21
21
  defaultCollapsed: boolean;
22
22
  collapsedWidth: number;
@@ -2,8 +2,8 @@ import { VisuallyHiddenFeature, VisuallyHiddenInputProps } from "./types.js";
2
2
 
3
3
  //#region src/components/visually-hidden/visually-hidden-input.vue.d.ts
4
4
  declare const __VLS_export: import("vue").DefineComponent<VisuallyHiddenInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VisuallyHiddenInputProps> & Readonly<{}>, {
5
- feature: VisuallyHiddenFeature;
6
5
  checked: boolean;
6
+ feature: VisuallyHiddenFeature;
7
7
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
8
  declare const _default: typeof __VLS_export;
9
9
  //#endregion
@@ -1 +1 @@
1
- import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";const[n,r]=e(`WatermarkRoot`,e=>e),[i,a]=t(`WatermarkUi`);export{n as provideWatermarkRootContext,i as provideWatermarkUi,r as useWatermarkRootContext,a as useWatermarkUi};
1
+ import{useContext as e}from"../../composables/use-context.js";import{useUiContext as t}from"../../composables/use-ui-context.js";import"../../composables/index.js";const[n,r]=e(`WatermarkCompact`,e=>e),[i,a]=e(`WatermarkRoot`,e=>e),[o,s]=t(`WatermarkUi`);export{n as provideWatermarkCompactContext,i as provideWatermarkRootContext,o as provideWatermarkUi,r as useWatermarkCompactContext,a as useWatermarkRootContext,s as useWatermarkUi};
@@ -1,6 +1,6 @@
1
1
  import { UiClass } from "../../types/common.js";
2
2
  import { BaseProps } from "../../types/vue.js";
3
- import { ShallowRef } from "vue";
3
+ import { ComputedRef, ShallowRef } from "vue";
4
4
 
5
5
  //#region src/components/watermark/types.d.ts
6
6
  /**
@@ -74,6 +74,12 @@ interface WatermarkRootProps extends BaseProps {
74
74
  * @defaultValue false
75
75
  */
76
76
  cross?: boolean;
77
+ /**
78
+ * When true, observes and restores the watermark overlay if it is tampered with or removed.
79
+ *
80
+ * @defaultValue false
81
+ */
82
+ defense?: boolean;
77
83
  }
78
84
  /**
79
85
  * Properties for the WatermarkOverlay component.
@@ -1 +1 @@
1
- import{useOmitProps as e}from"../../composables/use-props.js";import"../../composables/index.js";import t from"./watermark-overlay.js";import n from"./watermark-root.js";import{createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";const f=a({name:`WatermarkCompact`,__name:`watermark-compact`,props:{overlayProps:{},content:{},image:{},fontSize:{},fontFamily:{},fontColor:{},fontWeight:{},rotate:{},gap:{},offset:{},width:{},height:{},cross:{type:Boolean}},setup(a){let f=e(a,[`overlayProps`]);return(e,p)=>(c(),r(n,s(o(u(f))),{default:d(()=>[l(e.$slots,`default`),i(t,s(o(a.overlayProps)),null,16)]),_:3},16))}});export{f as default};
1
+ import{useOmitProps as e}from"../../composables/use-props.js";import"../../composables/index.js";import{provideWatermarkCompactContext as t}from"./context.js";import n from"./watermark-overlay.js";import r from"./watermark-root.js";import{createBlock as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,shallowRef as d,unref as f,withCtx as p}from"vue";const m=a({name:`WatermarkCompact`,__name:`watermark-compact`,props:{overlayProps:{},content:{},image:{},fontSize:{},fontFamily:{},fontColor:{},fontWeight:{},rotate:{},gap:{},offset:{},width:{},height:{},cross:{type:Boolean},defense:{type:Boolean}},setup(a){let m=e(a,[`overlayProps`]),h=d(0);function g(){h.value+=1}return t({overlayRenderKey:h,repairOverlay:g}),(e,t)=>(l(),i(r,c(o(f(m))),{default:p(()=>[u(e.$slots,`default`),(l(),i(n,s({key:h.value},a.overlayProps),null,16))]),_:3},16))}});export{m as default};
@@ -1 +1 @@
1
- import{useWatermarkRootContext as e,useWatermarkUi as t}from"./context.js";import{createCommentVNode as n,createElementBlock as r,defineComponent as i,normalizeClass as a,normalizeStyle as o,openBlock as s,unref as c}from"vue";const l=i({name:`WatermarkOverlay`,__name:`watermark-overlay`,setup(i){let l=t(`overlay`),{overlayStyle:u}=e(`WatermarkOverlay`);return(e,t)=>c(u)?(s(),r(`div`,{key:0,"data-soybean-watermark-overlay":``,class:a(c(l)),style:o(c(u)),"aria-hidden":`true`},null,6)):n(`v-if`,!0)}});export{l as default};
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{useWatermarkCompactContext as t,useWatermarkRootContext as n,useWatermarkUi as r}from"./context.js";import{computed as i,createCommentVNode as a,createElementBlock as o,defineComponent as s,normalizeClass as c,normalizeStyle as l,openBlock as u,unref as d}from"vue";import{useMutationObserver as f}from"@vueuse/core";const p=s({name:`WatermarkOverlay`,__name:`watermark-overlay`,setup(s){let p=r(`overlay`),m=t(),{overlayStyle:h,defense:g}=n(`WatermarkOverlay`),[_,v]=e(),y=i(()=>c(p.value)),b=i(()=>h.value?.backgroundImage??``);function x(){let e=_.value;return!e||!h.value?!1:!e.hasAttribute(`data-soybean-watermark-overlay`)||e.getAttribute(`aria-hidden`)!==`true`||e.hasAttribute(`hidden`)||e.className!==y.value||e.style.backgroundImage!==b.value?!0:e.style.length!==+!!b.value}return f(_,()=>{!g.value||!h.value||x()&&m?.repairOverlay()},{attributes:!0,attributeFilter:[`aria-hidden`,`class`,`data-soybean-watermark-overlay`,`hidden`,`style`]}),(e,t)=>d(h)?(u(),o(`div`,{key:0,ref:d(v),"data-soybean-watermark-overlay":``,class:c(d(p)),style:l(d(h)),"aria-hidden":`true`},null,6)):a(`v-if`,!0)}});export{p as default};
@@ -1 +1 @@
1
- import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{provideWatermarkRootContext as t,useWatermarkUi as n}from"./context.js";import{generateWatermarkDataUrl as r,resolveWatermarkConfig as i}from"./shared.js";import{createElementBlock as a,defineComponent as o,normalizeClass as s,onBeforeUnmount as c,openBlock as l,renderSlot as u,shallowRef as d,unref as f,watch as p}from"vue";const m=o({name:`WatermarkRoot`,__name:`watermark-root`,props:{content:{},image:{},fontSize:{},fontFamily:{},fontColor:{},fontWeight:{},rotate:{},gap:{},offset:{},width:{},height:{},cross:{type:Boolean}},setup(o,{expose:m}){let h=o,g=n(`root`),[_,v]=e(),y=d(),b=d(),x=d(null),S=d(null);function C(){let e=S.value;e&&(e.img.removeEventListener(`load`,w),e.img.removeEventListener(`error`,T),S.value=null)}function w(){let e=S.value;if(!e||e.img!==this)return;x.value=this;let t=r(e.config,this);y.value=t,b.value=t?{backgroundImage:`url(${t})`}:void 0,S.value=null}function T(){let e=S.value;!e||e.img!==this||(x.value=null,y.value=void 0,b.value=void 0,S.value=null)}function E(e){C();let t=new Image;t.crossOrigin=`anonymous`,S.value={img:t,config:e},t.addEventListener(`load`,w),t.addEventListener(`error`,T),t.src=h.image}function D(){let e=i(h);if(h.image)E(e);else{let t=r(e);y.value=t,b.value=t?{backgroundImage:`url(${t})`}:void 0}}return p(()=>[h.content,h.image,h.fontSize,h.fontFamily,h.fontColor,h.fontWeight,h.rotate,h.gap,h.offset,h.width,h.height,h.cross],()=>{D()},{immediate:!0}),t({overlayStyle:b}),c(()=>{C()}),m({rootElement:_,dataUrl:y}),(e,t)=>(l(),a(`div`,{ref:f(v),"data-soybean-watermark-root":``,class:s(f(g))},[u(e.$slots,`default`)],2))}});export{m as default};
1
+ import{useForwardElement as e}from"../../composables/use-forward-element.js";import"../../composables/index.js";import{provideWatermarkRootContext as t,useWatermarkCompactContext as n,useWatermarkUi as r}from"./context.js";import{generateWatermarkDataUrl as i,resolveWatermarkConfig as a}from"./shared.js";import{computed as o,createElementBlock as s,defineComponent as c,normalizeClass as l,onBeforeUnmount as u,openBlock as d,renderSlot as f,shallowRef as p,unref as m,watch as h}from"vue";import{useMutationObserver as g}from"@vueuse/core";const _=c({name:`WatermarkRoot`,__name:`watermark-root`,props:{content:{},image:{},fontSize:{},fontFamily:{},fontColor:{},fontWeight:{},rotate:{},gap:{},offset:{},width:{},height:{},cross:{type:Boolean},defense:{type:Boolean}},setup(c,{expose:_}){let v=c,y=r(`root`),b=n(),[x,S]=e(),C=p(),w=p(),T=o(()=>v.defense??!1),E=p(null),D=p(null);function O(){let e=D.value;e&&(e.img.removeEventListener(`load`,k),e.img.removeEventListener(`error`,A),D.value=null)}function k(){let e=D.value;if(!e||e.img!==this)return;E.value=this;let t=i(e.config,this);C.value=t,w.value=t?{backgroundImage:`url(${t})`}:void 0,D.value=null}function A(){let e=D.value;!e||e.img!==this||(E.value=null,C.value=void 0,w.value=void 0,D.value=null)}function j(e){O();let t=new Image;t.crossOrigin=`anonymous`,D.value={img:t,config:e},t.addEventListener(`load`,k),t.addEventListener(`error`,A),t.src=v.image}function M(){let e=a(v);if(v.image)j(e);else{let t=i(e);C.value=t,w.value=t?{backgroundImage:`url(${t})`}:void 0}}return h(()=>[v.content,v.image,v.fontSize,v.fontFamily,v.fontColor,v.fontWeight,v.rotate,v.gap,v.offset,v.width,v.height,v.cross,v.defense],()=>{M()},{immediate:!0}),g(x,e=>{!T.value||!w.value||e.some(e=>e.type===`childList`?Array.from(e.removedNodes).some(e=>e instanceof HTMLElement&&e.hasAttribute(`data-soybean-watermark-overlay`)):!1)&&(x.value?.querySelector(`[data-soybean-watermark-overlay]`)||b?.repairOverlay())},{childList:!0}),t({overlayStyle:w,defense:T}),u(()=>{O()}),_({rootElement:x,dataUrl:C}),(e,t)=>(d(),s(`div`,{ref:m(S),"data-soybean-watermark-root":``,class:l(m(y))},[f(e.$slots,`default`)],2))}});export{_ as default};
@@ -1 +1 @@
1
- import{useForwardElement as e}from"./use-forward-element.js";import{getCurrentInstance as t,shallowRef as n}from"vue";function r(r){let i=t();if(!i)return console.warn(`useExposedElement must be called within setup()`),[n(),()=>{}];let[a,o]=e(r);return i.exposed||Object.defineProperty(i,`exposed`,{value:{},writable:!0,configurable:!0}),[a,e=>{o(e),Object.defineProperty(i.exposed,`$el`,{enumerable:!0,configurable:!0,get:()=>a.value})}]}export{r as useExposedElement};
1
+ import{useForwardElement as e}from"./use-forward-element.js";import{getCurrentInstance as t,shallowRef as n}from"vue";function r(r){let i=t();if(!i)return console.warn(`useExposedElement must be called within setup()`),[n(),()=>{}];let[a,o]=e(r);return i.exposed||Object.defineProperty(i,"exposed",{value:{},writable:!0,configurable:!0}),[a,e=>{o(e),Object.defineProperty(i.exposed,"$el",{enumerable:!0,configurable:!0,get:()=>a.value})}]}export{r as useExposedElement};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/headless",
3
- "version": "0.24.0",
3
+ "version": "0.24.2",
4
4
  "description": "SoybeanHeadless is a collection unstyled components for Vue 3. It is designed to be lightweight and easy to use.",
5
5
  "homepage": "https://github.com/soybeanjs/soybean-ui",
6
6
  "bugs": {
@@ -97,7 +97,7 @@
97
97
  "@soybeanjs/hooks": "^0.3.0",
98
98
  "@soybeanjs/utils": "^0.1.1",
99
99
  "@standard-schema/spec": "^1.1.0",
100
- "@tanstack/vue-virtual": "^3.13.24",
100
+ "@tanstack/vue-virtual": "^3.13.25",
101
101
  "@vue/shared": "^3.5.34",
102
102
  "@vueuse/core": "^14.3.0",
103
103
  "@vueuse/integrations": "^14.3.0",