@zvoove/unity-ui 2.21.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1878,7 +1878,7 @@ return a(t,{children:[
1878
1878
  /* @__PURE__ */e(Dp,{...I.reduce((e,a)=>({...e,[a]:x[a]}),{}),maxLength:k(),label:l,type:"text",value:c,icon:"calendar",onIconClick:_,iconPosition:"right",placeholder:Z??F(),onChange:e=>{const{value:a}=e.target,t=E(a)??"";let l,r=!1;d(t),n?.({target:{value:t,name:s}}),t.length===k()&&(l=y(t),l&&!Number.isNaN(l.getTime())&&(S(l),r=!0)),n?.({target:{value:t,name:s}},r?l:void 0)},name:s,id:s,"data-selector":`${s}-${u}`,isFocused:h,onFocus:e=>{e.preventDefault(),H?.(e),C&&_()},onKeyDown:e=>{g?.(e),/[\d./-]/.test(e.key)||["Backspace","Delete","ArrowLeft","ArrowRight","Tab"].includes(e.key)||e.preventDefault()}}),
1879
1879
  /* @__PURE__ */e(cm,{isOpen:h,isVisible:b,onClose:N,onDateSelect:S,selectedDate:D,inputSelector:`${s}-${u}`,onCancel:()=>{const e=y(v);S(Number.isNaN(e.getTime())?null:e),N()},closeOnSelect:V})]})},hm=a=>/* @__PURE__ */e(kc,{...a,children:/* @__PURE__ */e(dm,{})}),pm=Ya({base:["fixed","inset-none","transition-opacity","duration-500","bg-scrim/50"],variants:{show:{true:["opacity-100"],false:["opacity-0","pointer-events-none"]}}}),um=({show:a,onClick:t,className:l,children:n,zIndex:r=20})=>/* @__PURE__ */e("div",{className:pm({show:a,className:l}),onClick:t,role:"presentation","aria-hidden":"true",style:{zIndex:r},children:n});um.displayName="Backdrop";const Cm=Ya({base:["transition-all","duration-500","w-full","mx-[40px]","max-h-[90vh]","overflow-hidden"],variants:{size:{sm:["max-w-[320px]"],md:["max-w-[560px]"],lg:["max-w-[1200px]"],fullscreen:["w-dvw!","h-dvh!","max-w-dvw!","max-h-dvh!","mx-none!"],none:[]},show:{true:["scale-100","opacity-100"],false:["scale-90","opacity-0"]}},defaultVariants:{size:"none"}});Ya({base:["max-h-[90vh]","overflow-y-auto"]});const Hm=new class{dialogStack=[];closeCallbacks=/* @__PURE__ */new Map;registerOpenDialog(e,a){this.dialogStack.includes(e)||this.dialogStack.push(e),this.closeCallbacks.set(e,a)}unregisterOpenDialog(e){const a=this.dialogStack.indexOf(e);-1!==a&&this.dialogStack.splice(a,1),this.closeCallbacks.delete(e)}closeOtherDialogs(e){[...this.dialogStack].forEach(a=>{if(a!==e){const e=this.closeCallbacks.get(a);e&&(e(),this.unregisterOpenDialog(a))}})}isTopDialog(e){return this.dialogStack.length>0&&this.dialogStack.at(-1)===e}hasOpenDialogs(){return this.dialogStack.length>0}getOpenDialogs(){return[...this.dialogStack]}clear(){this.dialogStack.length=0,this.closeCallbacks.clear()}};const gm=new class{openMenus=/* @__PURE__ */new Set;closeCallbacks=/* @__PURE__ */new Map;registerOpenMenu(e,a){this.openMenus.add(e),this.closeCallbacks.set(e,a)}unregisterOpenMenu(e){this.openMenus.delete(e),this.closeCallbacks.delete(e)}closeOtherMenus(e){this.openMenus.forEach(a=>{if(a!==e){const e=this.closeCallbacks.get(a);e&&(e(),this.unregisterOpenMenu(a))}})}hasOpenMenus(){return this.openMenus.size>0}getOpenMenus(){return Array.from(this.openMenus)}clear(){this.openMenus.clear(),this.closeCallbacks.clear()}};const fm=new class{openSelects=/* @__PURE__ */new Set;closeCallbacks=/* @__PURE__ */new Map;registerOpenSelect(e,a){this.openSelects.add(e),this.closeCallbacks.set(e,a)}unregisterOpenSelect(e){this.openSelects.delete(e),this.closeCallbacks.delete(e)}closeOtherSelects(e){this.openSelects.forEach(a=>{if(a!==e){const e=this.closeCallbacks.get(a);e&&(e(),this.unregisterOpenSelect(a))}})}hasOpenSelects(){return this.openSelects.size>0}getOpenSelects(){return Array.from(this.openSelects)}clear(){this.openSelects.clear(),this.closeCallbacks.clear()}};const Vm=new class{openSheets=/* @__PURE__ */new Set;closeCallbacks=/* @__PURE__ */new Map;registerOpenSheet(e,a){this.openSheets.add(e),this.closeCallbacks.set(e,a)}unregisterOpenSheet(e){this.openSheets.delete(e),this.closeCallbacks.delete(e)}closeOtherSheets(e){this.openSheets.forEach(a=>{if(a!==e){const e=this.closeCallbacks.get(a);e&&(e(),this.unregisterOpenSheet(a))}})}hasOpenSheets(){return this.openSheets.size>0}getOpenSheets(){return Array.from(this.openSheets)}clear(){this.openSheets.clear(),this.closeCallbacks.clear()}},Zm=({open:a,onClose:t,children:l,closeOnBackdropClick:n=!0,closeOnEsc:o=!1,padding:s="lg",size:c,zIndex:d=20})=>{const p=h(),u=m(null),{mounted:C,show:H,setShow:g}=(e=>{const[a,t]=i(!1),[l,n]=i(!1);return Z(()=>{e&&f(()=>{t(!0)})},[e]),r(()=>(e?(document.body.style.overflow="hidden",setTimeout(()=>{f(()=>{n(!0)})},100)):(f(()=>{n(!1)}),document.body.style.overflow=""),()=>{document.body.style.overflow=""}),[e]),r(()=>{if(!l&&a){const e=setTimeout(()=>t(!1),500);return()=>clearTimeout(e)}},[l,a]),{mounted:a,show:l,setShow:n}})(a),V=ps(c)??"none";Go(!c,`@Dialog: Please use the prop ${$o("red","size")}. In version ${$o("red","^3.0.0")} the default size will be ${$o("red","sm")} and ${$o("red","none")} will be deprecated`),((e,a,t)=>{r(()=>{const l=l=>{a&&"Escape"===l.key&&Hm.isTopDialog(t)&&(gm.hasOpenMenus()||fm.hasOpenSelects()||Vm.hasOpenSheets()||e())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e,a,t])})(t,o,p),((e,a,t)=>{r(()=>{if(!a||!e.current)return;const l=a=>{if("Tab"!==a.key)return;if(!Hm.isTopDialog(t))return;const l=document.activeElement;if(l.closest('[role="menu"]'))return;if(l.closest("dialog")||document.querySelector("dialog[open]"))return;const n=e.current?.querySelectorAll(J);if(!n?.length)return;const r=n[0],i=n[n.length-1],o=e.current?.contains(l);if(!o)return a.preventDefault(),void r.focus();a.shiftKey&&l===r?(a.preventDefault(),i.focus()):a.shiftKey||l!==i||(a.preventDefault(),r.focus())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[a,e,t])})(u,C,p),r(()=>{if(C&&a)return Hm.registerOpenDialog(p,t),()=>{Hm.unregisterOpenDialog(p)}},[C,a,p,t]);return C?A.createPortal(
1880
1880
  /* @__PURE__ */e(um,{show:H,onClick:()=>{n&&(g(!1),setTimeout(()=>t(),500))},className:"flex items-center justify-center",zIndex:d,children:/* @__PURE__ */e("div",{onClick:e=>e.stopPropagation(),ref:u,className:Cm({show:H,size:V}),role:"dialog","aria-modal":"true","aria-label":"Dialog",children:/* @__PURE__ */e(zs,{padding:s,overflow:"y-auto",maxHeight:"fullscreen"===V?"100vh":"90vh",maxWidth:"fullscreen"===V?"100vw":"auto",height:"fullscreen"===V?"100vh":"auto",width:"fullscreen"===V?"100vw":"auto",borderRadius:"fullscreen"===V?"none":"md",children:l})})}),document.body):null},xm=Ya({base:["border-outline-variant"],variants:{variant:{fullWidth:["w-full","m-none"],inset:["ml-md"],middle:["mx-md"]}}}),Mm=({variant:a="fullWidth"})=>/* @__PURE__ */e("hr",{className:xm({variant:a})}),vm=({value:t,required:l=!1,htmlFor:n,...r})=>/* @__PURE__ */a("label",{...r,className:"flex space-xs",htmlFor:n,children:[
1881
- /* @__PURE__ */e($m,{as:"span",variant:"title",size:"medium",children:t}),l&&/* @__PURE__ */e($m,{as:"span",variant:"title",size:"medium",color:"error",children:"*"})]}),Am=Ya({base:["grid","w-full"],variants:{...K,...R,...q}}),bm=d(({children:a,padding:t="none",gap:l="none",margin:n="none",columns:r=1,rows:i=1,className:o,height:s,minHeight:c,maxHeight:m,width:d,minWidth:h,maxWidth:p,...u},C)=>{const H=ps(r),g=ps(i),f=ps(s),V=ps(c),Z=ps(m),x=ps(d),M=ps(h),v=ps(p);return Go(!!o,"@Grid: className is not supported"),/* @__PURE__ */e("div",{ref:C,className:Am({...ds(t,n,l)}),...u,style:{gridTemplateColumns:"number"==typeof H?`repeat(${H}, 1fr)`:H,gridTemplateRows:"number"==typeof g?`repeat(${g}, 1fr)`:g,height:f,width:x,minHeight:V,maxHeight:Z,minWidth:M,maxWidth:v},children:a})}),wm=d(({children:a,colSpan:t,rowSpan:l,className:n,...r},i)=>{const o=ps(t),s=ps(l);return Go(!!n,"@Grid.Item: className is not supported"),/* @__PURE__ */e("div",{className:"flex",ref:i,...r,style:{gridColumn:o?`span ${o}`:void 0,gridRow:s?`span ${s}`:void 0},children:a})});bm.Item=wm,bm.displayName="Grid";const Em=Ya({base:["flex","items-center","gap-xs","w-full"],variants:{variant:{sender:["flex-row-reverse"],receiver:["flex-row"]}},defaultVariants:{variant:"receiver"}}),ym=Ya({base:["flex","items-center","gap-xs2"],variants:{variant:{sender:["flex-row-reverse"],receiver:["flex-row"]}},defaultVariants:{variant:"receiver"}}),Lm=Ya({base:["inline-flex","items-center","justify-center","size-xl","rounded-xs","text-on-surface-variant","transition-colors","duration-150","cursor-pointer","border-none","bg-transparent","hover:bg-surface-container-low","hover:text-on-surface","active:bg-surface-container"],variants:{active:{true:["text-primary","hover:text-primary"]},animated:{true:["animate-[thumb-pop_0.35s_ease-out]"]}}}),km=Ya({base:["text-body-small","text-on-surface-variant","select-none","whitespace-nowrap"]}),Fm=Ya({base:["text-body-small","text-on-surface-variant","select-none","whitespace-nowrap","animate-[fade-in_0.3s_ease-out_both]"]}),_m=[{icon:"copy",label:"Copy",confirmation:{icon:"check",text:"Copied"}},{icon:"thumb-up",label:"Helpful",feedbackType:"positive",confirmation:{text:"Thanks for your feedback",duration:0}},{icon:"thumb-down",label:"Not helpful",feedbackType:"negative",confirmation:{text:"Thanks for your feedback",duration:0}},{icon:"more-horizontal",label:"More"}],Nm=d(({variant:t="receiver",timestamp:l,actions:n,menuItems:r,onFeedback:s,className:c},d)=>{const h=n??_m,[p,u]=i(null),[C,H]=i(null),[g,f]=i(null),[V,Z]=i(null),x=m(null),M=m(null),v=m(null),A=o(()=>{x.current&&clearTimeout(x.current),M.current&&clearTimeout(M.current),v.current&&clearTimeout(v.current)},[]),b=o(e=>{const{confirmation:a,feedbackType:t}=e;if(!a)return;const l=void 0!==t,n=a.duration??3e3;if(A(),l){const l=p===t,r=l?null:t??null;if(u(r),s?.(r),l)return f(null),void Z(null);H(e.label),f(e.label),a.text&&Z(a.text),v.current=setTimeout(()=>H(null),350),n>0&&a.text&&(x.current=setTimeout(()=>Z(null),n))}else{H(e.label),f(e.label),a.text&&Z(a.text),v.current=setTimeout(()=>H(null),350);const t=n>0?n:3e3;M.current=setTimeout(()=>{f(null),Z(null)},t)}},[p,s,A]),w=(a,t)=>{const l=(e=>void 0!==e.feedbackType?p===e.feedbackType:!(g!==e.label||!e.confirmation)||e.active)(a),n=C===a.label,r=(e=>void 0!==e.feedbackType?e.icon:g===e.label&&e.confirmation?.icon?e.confirmation.icon:e.icon)(a),i=(e=>{if(void 0!==e.feedbackType)return p===e.feedbackType?"fill":void 0})(a);/* @__PURE__ */
1881
+ /* @__PURE__ */e($m,{as:"span",variant:"title",size:"medium",children:t}),l&&/* @__PURE__ */e($m,{as:"span",variant:"title",size:"medium",color:"error",children:"*"})]}),Am=Ya({base:["grid","w-full"],variants:{...K,...R,...q}}),bm=d(({children:a,padding:t="none",gap:l="none",margin:n="none",columns:r=1,rows:i=1,className:o,height:s,minHeight:c,maxHeight:m,width:d,minWidth:h,maxWidth:p,...u},C)=>{const H=ps(r),g=ps(i),f=ps(s),V=ps(c),Z=ps(m),x=ps(d),M=ps(h),v=ps(p);return Go(!!o,"@Grid: className is not supported"),/* @__PURE__ */e("div",{ref:C,className:Am({...ds(t,n,l)}),...u,style:{gridTemplateColumns:"number"==typeof H?`repeat(${H}, 1fr)`:H,gridTemplateRows:"number"==typeof g?`repeat(${g}, 1fr)`:g,height:f,width:x,minHeight:V,maxHeight:Z,minWidth:M,maxWidth:v},children:a})}),wm=d(({children:a,colSpan:t,rowSpan:l,className:n,...r},i)=>{const o=ps(t),s=ps(l);return Go(!!n,"@Grid.Item: className is not supported"),/* @__PURE__ */e("div",{className:"flex",ref:i,...r,style:{gridColumn:o?`span ${o}`:void 0,gridRow:s?`span ${s}`:void 0},children:a})});bm.Item=wm,bm.displayName="Grid";const Em=Ya({base:["flex","items-center","gap-xs","w-full"],variants:{variant:{sender:["flex-row-reverse"],receiver:["flex-row"]}},defaultVariants:{variant:"receiver"}}),ym=Ya({base:["flex","items-center","gap-xs2"],variants:{variant:{sender:["flex-row-reverse"],receiver:["flex-row"]}},defaultVariants:{variant:"receiver"}}),Lm=Ya({base:["inline-flex","items-center","justify-center","size-xl","rounded-xs","text-on-surface-variant","transition-colors","duration-150","cursor-pointer","border-none","bg-transparent","hover:bg-surface-container-low","hover:text-on-surface","active:bg-surface-container"],variants:{active:{true:["text-primary","hover:text-primary"]},animated:{true:["animate-[thumb-pop_0.35s_ease-out]"]}}}),km=Ya({base:["text-body-small","text-on-surface-variant","select-none","whitespace-nowrap"]}),Fm=Ya({base:["text-body-small","text-on-surface-variant","select-none","whitespace-nowrap","animate-[fade-in_0.3s_ease-out_both]"]}),_m=[{icon:"copy",label:"Kopieren",confirmation:{icon:"check",text:"Kopiert"}},{icon:"thumb-up",label:"Hilfreich",feedbackType:"positive",confirmation:{text:"Danke für Ihr Feedback",duration:0}},{icon:"thumb-down",label:"Nicht hilfreich",feedbackType:"negative",confirmation:{text:"Danke für Ihr Feedback",duration:0}},{icon:"more-horizontal",label:"Mehr"}],Nm=d(({variant:t="receiver",timestamp:l,actions:n,menuItems:r,onFeedback:s,className:c},d)=>{const h=n??_m,[p,u]=i(null),[C,H]=i(null),[g,f]=i(null),[V,Z]=i(null),x=m(null),M=m(null),v=m(null),A=o(()=>{x.current&&clearTimeout(x.current),M.current&&clearTimeout(M.current),v.current&&clearTimeout(v.current)},[]),b=o(e=>{const{confirmation:a,feedbackType:t}=e;if(!a)return;const l=void 0!==t,n=a.duration??3e3;if(A(),l){const l=p===t,r=l?null:t??null;if(u(r),s?.(r),l)return f(null),void Z(null);H(e.label),f(e.label),a.text&&Z(a.text),v.current=setTimeout(()=>H(null),350),n>0&&a.text&&(x.current=setTimeout(()=>Z(null),n))}else{H(e.label),f(e.label),a.text&&Z(a.text),v.current=setTimeout(()=>H(null),350);const t=n>0?n:3e3;M.current=setTimeout(()=>{f(null),Z(null)},t)}},[p,s,A]),w=(a,t)=>{const l=(e=>void 0!==e.feedbackType?p===e.feedbackType:!(g!==e.label||!e.confirmation)||e.active)(a),n=C===a.label,r=(e=>void 0!==e.feedbackType?e.icon:g===e.label&&e.confirmation?.icon?e.confirmation.icon:e.icon)(a),i=(e=>{if(void 0!==e.feedbackType)return p===e.feedbackType?"fill":void 0})(a);/* @__PURE__ */
1882
1882
  return e(Rp,{content:a.label,placement:"top",children:/* @__PURE__ */e("button",{type:"button",className:Lm({active:l,animated:n}),onClick:e=>{a.confirmation&&b(a),a.onClick?.(e)},"aria-label":a.label,children:/* @__PURE__ */e(nc,{name:r,size:"xs",color:l?"primary":void 0,weight:i})})},`${a.label}-${t}`)};/* @__PURE__ */
1883
1883
  return a("div",{ref:d,className:Em({variant:t,className:c}),"data-testid":"message-actions",children:[
1884
1884
  /* @__PURE__ */e("div",{className:ym({variant:t}),children:h.map((a,t)=>(e=>"more-horizontal"===e.icon&&r&&r.length>0)(a)?((a,t)=>/* @__PURE__ */e(fd,{items:r,placement:"bottom-left",density:"-2",children:/* @__PURE__ */e(Rp,{content:a.label,placement:"top",children:/* @__PURE__ */e("button",{type:"button",className:Lm({active:a.active}),"aria-label":a.label,children:/* @__PURE__ */e(nc,{name:a.icon,size:"xs"})})})},`${a.label}-${t}`))(a,t):w(a,t))}),V&&/* @__PURE__ */e("span",{className:Fm(),children:V}),l&&!V&&/* @__PURE__ */e("span",{className:km(),children:l})]})});Nm.displayName="MessageActions";const Sm={default:{name:"info"},positive:{name:"check-circle",weight:"fill"},warning:{name:"warning"},error:{name:"error",weight:"fill"},subtle:{name:"info"},neutral:{name:"info"},outlined:{name:"info"}},Dm={default:"inverse-surface",positive:"green-container",warning:"yellow-container",error:"error-container",subtle:"steel-blue-container",neutral:"surface",outlined:"surface"},Im={default:"inverse-on-surface",positive:"on-green-container",warning:"on-yellow-container",error:"on-error-container",subtle:"on-steel-blue-container",neutral:"on-surface",outlined:"on-surface"},Om=({message:t,variant:l="default",icon:n,elevated:r=!0})=>/* @__PURE__ */e("div",{className:"w-full",children:/* @__PURE__ */e(zs,{bgColor:Dm[l],elevation:r&&"outlined"!==l?1:0,borderRadius:"sm",padding:"sm",variant:"outlined"===l?"outlined":"filled",children:/* @__PURE__ */a(bm,{columns:"auto 1fr",gap:"sm",children:[
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zvoove/unity-ui",
3
- "version": "2.21.0",
3
+ "version": "2.22.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@github.com/zvoove-org/unity-ui.git"
@@ -54,11 +54,11 @@
54
54
  "@eslint/eslintrc": "^3.3.5",
55
55
  "@eslint/js": "^9.39.4",
56
56
  "@phosphor-icons/react": "^2.1.10",
57
- "@storybook/addon-a11y": "^10.2.16",
58
- "@storybook/addon-docs": "^10.2.16",
59
- "@storybook/addon-links": "^10.2.16",
60
- "@storybook/addon-themes": "^10.2.16",
61
- "@storybook/react-vite": "^10.2.16",
57
+ "@storybook/addon-a11y": "^10.2.19",
58
+ "@storybook/addon-docs": "^10.2.19",
59
+ "@storybook/addon-links": "^10.2.19",
60
+ "@storybook/addon-themes": "^10.2.19",
61
+ "@storybook/react-vite": "^10.2.19",
62
62
  "@storybook/testing-library": "^0.2.2",
63
63
  "@tailwindcss/postcss": "^4.2.1",
64
64
  "@tailwindcss/vite": "^4.2.1",
@@ -67,7 +67,7 @@
67
67
  "@testing-library/user-event": "^14.6.1",
68
68
  "@trivago/prettier-plugin-sort-imports": "^6.0.2",
69
69
  "@types/enzyme": "^3.10.19",
70
- "@types/node": "^25.3.5",
70
+ "@types/node": "^25.4.0",
71
71
  "@types/react": "^19.2.14",
72
72
  "@types/react-dom": "^19.2.3",
73
73
  "@typescript-eslint/eslint-plugin": "^8.56.1",
@@ -90,12 +90,12 @@
90
90
  "eslint-plugin-storybook": "^10.2.16",
91
91
  "globals": "^17.4.0",
92
92
  "husky": "^9.1.7",
93
- "jsdom": "^27.0.0",
93
+ "jsdom": "^28.1.0",
94
94
  "prettier": "^3.8.1",
95
95
  "react": "^19.2.4",
96
96
  "react-dom": "^19.2.4",
97
97
  "rollup-plugin-visualizer": "^6.0.11",
98
- "storybook": "^10.2.16",
98
+ "storybook": "^10.2.19",
99
99
  "tailwind-merge": "^3.5.0",
100
100
  "tailwind-variants": "^3.2.2",
101
101
  "tailwindcss": "^4.2.1",
@@ -121,6 +121,6 @@
121
121
  }
122
122
  },
123
123
  "optionalDependencies": {
124
- "lightningcss-linux-x64-gnu": "^1.30.2"
124
+ "lightningcss-linux-x64-gnu": "^1.32.0"
125
125
  }
126
126
  }