@soybeanjs/headless 0.24.1 → 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 (73) 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/backtop/backtop.vue.d.ts +2 -2
  6. package/dist/components/bottom-sheet/bottom-sheet-root-nested.vue.d.ts +2 -2
  7. package/dist/components/calendar-range/calendar-range-root.vue.d.ts +2 -2
  8. package/dist/components/color-area/color-area-root.vue.d.ts +2 -2
  9. package/dist/components/color-field/color-field-root.vue.d.ts +2 -2
  10. package/dist/components/color-picker/color-picker-compact.vue.d.ts +3 -3
  11. package/dist/components/color-picker/color-picker-root.vue.d.ts +2 -2
  12. package/dist/components/color-slider/color-slider-root.vue.d.ts +3 -3
  13. package/dist/components/combobox/combobox-compact.vue.d.ts +2 -2
  14. package/dist/components/combobox/combobox-root.vue.d.ts +2 -2
  15. package/dist/components/context-menu/context-menu-checkbox-compact.vue.d.ts +3 -3
  16. package/dist/components/context-menu/context-menu-compact.vue.d.ts +2 -2
  17. package/dist/components/context-menu/context-menu-content.vue.d.ts +2 -2
  18. package/dist/components/context-menu/context-menu-radio-compact.vue.d.ts +3 -3
  19. package/dist/components/context-menu/context-menu-wrapper-compact.vue.d.ts +2 -2
  20. package/dist/components/date-field/date-field-root.vue.d.ts +2 -2
  21. package/dist/components/date-picker/date-picker-compact.js +1 -1
  22. package/dist/components/date-picker/date-picker-compact.vue.d.ts +4 -4
  23. package/dist/components/date-range-field/date-range-field-root.vue.d.ts +2 -2
  24. package/dist/components/date-range-picker/date-range-picker-compact.vue.d.ts +4 -4
  25. package/dist/components/dialog/dialog-compact.vue.d.ts +5 -5
  26. package/dist/components/dialog/state.js +1 -1
  27. package/dist/components/dropdown-menu/dropdown-menu-checkbox-compact.vue.d.ts +3 -3
  28. package/dist/components/dropdown-menu/dropdown-menu-compact.vue.d.ts +2 -2
  29. package/dist/components/dropdown-menu/dropdown-menu-content.vue.d.ts +2 -2
  30. package/dist/components/dropdown-menu/dropdown-menu-radio-compact.vue.d.ts +3 -3
  31. package/dist/components/dropdown-menu/dropdown-menu-wrapper-compact.vue.d.ts +2 -2
  32. package/dist/components/input-otp/input-otp-root.vue.d.ts +1 -1
  33. package/dist/components/menu/menu-content.vue.d.ts +2 -2
  34. package/dist/components/menu/menu-option-compact.vue.d.ts +2 -2
  35. package/dist/components/menu/menu-options-compact.vue.d.ts +2 -2
  36. package/dist/components/menu/menu-sub-content.vue.d.ts +2 -2
  37. package/dist/components/menubar/menubar-compact.vue.d.ts +3 -3
  38. package/dist/components/menubar/menubar-content.vue.d.ts +2 -2
  39. package/dist/components/menubar/menubar-root.vue.d.ts +1 -1
  40. package/dist/components/menubar/menubar-sub-content.vue.d.ts +2 -2
  41. package/dist/components/page-tabs/page-tabs-root.vue.d.ts +1 -1
  42. package/dist/components/pagination/pagination-root.vue.d.ts +2 -2
  43. package/dist/components/popconfirm/popconfirm-compact.vue.d.ts +2 -2
  44. package/dist/components/popper/popper-positioner.vue.d.ts +1 -1
  45. package/dist/components/progress/state.js +1 -1
  46. package/dist/components/select/select-compact.vue.d.ts +2 -2
  47. package/dist/components/select/select-root.vue.d.ts +2 -2
  48. package/dist/components/slider/slider-root.vue.d.ts +2 -2
  49. package/dist/components/splitter/splitter-group.vue.d.ts +1 -1
  50. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  51. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +1 -1
  52. package/dist/components/stepper/stepper-root.vue.d.ts +1 -1
  53. package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
  54. package/dist/components/tags-input/tags-input-root.vue.d.ts +1 -1
  55. package/dist/components/time-field/time-field-root.vue.d.ts +2 -2
  56. package/dist/components/time-range-field/time-range-field-root.vue.d.ts +3 -3
  57. package/dist/components/toast/state.js +1 -1
  58. package/dist/components/toast/toaster.vue.d.ts +2 -2
  59. package/dist/components/toggle/toggle.vue.d.ts +1 -1
  60. package/dist/components/tree-menu/tree-menu-compact.vue.d.ts +2 -2
  61. package/dist/components/tree-menu/tree-menu-root.vue.d.ts +1 -1
  62. package/dist/components/watermark/context.js +1 -1
  63. package/dist/components/watermark/types.d.ts +7 -1
  64. package/dist/components/watermark/watermark-compact.js +1 -1
  65. package/dist/components/watermark/watermark-overlay.js +1 -1
  66. package/dist/components/watermark/watermark-root.js +1 -1
  67. package/dist/composables/use-exposed-element.js +1 -1
  68. package/dist/date/utils.d.ts +1 -1
  69. package/package.json +2 -2
  70. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/defineProperty.js +0 -0
  71. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/toPrimitive.js +0 -0
  72. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/toPropertyKey.js +0 -0
  73. /package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/typeof.js +0 -0
@@ -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};
@@ -9,10 +9,10 @@ declare const __VLS_base: import("vue").DefineComponent<ToasterProps, {}, {}, {}
9
9
  offset: ToastOffset;
10
10
  duration: number;
11
11
  gap: number;
12
- position: ToastPosition;
13
- visibleCounts: number;
14
12
  hotkey: string[];
15
13
  containerAriaLabel: string;
14
+ position: ToastPosition;
15
+ visibleCounts: number;
16
16
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
17
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
18
  declare const _default: typeof __VLS_export;
@@ -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;
@@ -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};
@@ -4,7 +4,7 @@ import { DateStep, DateValue, Granularity, HourCycle, TimeGranularity, TimeInput
4
4
  declare function getOptsByGranularity(granularity: Granularity, hourCycle: HourCycle, isTimeValue?: boolean): Intl.DateTimeFormatOptions;
5
5
  declare function normalizeDateStep(step?: DateStep): DateStep;
6
6
  declare function handleCalendarInitialFocus(calendar: HTMLElement): void;
7
- declare function normalizeHourCycle(hourCycle: HourCycle): "h11" | "h23" | undefined;
7
+ declare function normalizeHourCycle(hourCycle: HourCycle): "h23" | "h11" | undefined;
8
8
  declare function normalizeHour12(hourCycle: HourCycle): boolean | undefined;
9
9
  declare function getInputType(granularity: Granularity): "date" | "datetime-local";
10
10
  declare function normalizeInputValue(date: DateValue | undefined, granularity: Granularity): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soybeanjs/headless",
3
- "version": "0.24.1",
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",