@nice2dev/ui 1.0.14 → 1.0.16
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.
- package/README.md +33 -39
- package/dist/NiceErrorBoundary-CH8SBcSZ.js +762 -0
- package/dist/NiceErrorBoundary-CKBaWmkn.js +762 -0
- package/dist/NiceErrorBoundary-CaVVPLh4.cjs +1 -0
- package/dist/NiceErrorBoundary-DBiUvzQs.cjs +1 -0
- package/dist/NiceForm-B5dMsHbO.js +5357 -0
- package/dist/NiceForm-Dbciuo4w.cjs +382 -0
- package/dist/NiceForm-DccuzkPX.cjs +382 -0
- package/dist/NiceForm-Jf-ufPZz.js +5357 -0
- package/dist/NiceModal-Bf1Q1VNL.cjs +1 -0
- package/dist/NiceModal-BxXotB3l.js +95 -0
- package/dist/NiceModal-DCA0wCuD.cjs +1 -0
- package/dist/NiceModal-DrywdSv3.js +95 -0
- package/dist/NiceModuleLifecyclePanel-CDX38sEx.js +6343 -0
- package/dist/NiceModuleLifecyclePanel-CEzuZnmj.cjs +1 -0
- package/dist/NiceModuleLifecyclePanel-D-dojncS.js +6349 -0
- package/dist/NiceModuleLifecyclePanel-xLrOv8nL.cjs +1 -0
- package/dist/NicePagination-1mgQ1T6J.cjs +1 -0
- package/dist/NicePagination-Aj63sKV3.js +171 -0
- package/dist/NicePagination-DNjVutBJ.cjs +1 -0
- package/dist/NicePagination-kFBRytja.js +171 -0
- package/dist/NicePinCodeInput-B_0RCKQN.cjs +419 -0
- package/dist/NicePinCodeInput-CPQhsGVC.js +11875 -0
- package/dist/NicePinCodeInput-DbeOo9o6.cjs +419 -0
- package/dist/NicePinCodeInput-Dffu701_.js +11875 -0
- package/dist/NiceSavedQueryPanel-4l-V9dGK.js +6446 -0
- package/dist/NiceSavedQueryPanel-B-EQ1oLv.cjs +596 -0
- package/dist/NiceSavedQueryPanel-B5TjD_Sb.cjs +596 -0
- package/dist/NiceSavedQueryPanel-D9Z3gF87.js +6446 -0
- package/dist/NiceTabs-BQgV3eKE.cjs +1 -0
- package/dist/NiceTabs-CaCiaBCQ.js +1624 -0
- package/dist/NiceTabs-CbKhMxbC.cjs +1 -0
- package/dist/NiceTabs-HXphGn1B.js +1624 -0
- package/dist/NiceWindow-Ceb0mZ_0.js +1409 -0
- package/dist/NiceWindow-Cn3e0Xtd.cjs +1 -0
- package/dist/NiceWindow-DXpnFZ0E.cjs +1 -0
- package/dist/NiceWindow-EXCwOEXz.js +1409 -0
- package/dist/charts-B6dTpbYV.cjs +761 -0
- package/dist/charts-BPJefcE8.js +4645 -0
- package/dist/charts-D5Qd_0sO.js +4645 -0
- package/dist/charts-Dr6QyMiv.cjs +761 -0
- package/dist/charts.cjs +1 -1
- package/dist/charts.mjs +1 -1
- package/dist/core-CtqcSgsw.js +22316 -0
- package/dist/core-DJ4NPp2B.js +22316 -0
- package/dist/core-DPY4m7vb.cjs +96 -0
- package/dist/core-oNMPbzb7.cjs +96 -0
- package/dist/data.cjs +1 -1
- package/dist/data.mjs +1 -1
- package/dist/editors.cjs +1 -1
- package/dist/editors.mjs +3 -3
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.mjs +2 -2
- package/dist/index-B-9lbtwJ.cjs +5194 -0
- package/dist/index-BNy9Nn0X.js +61422 -0
- package/dist/index-DM6SBE8H.cjs +5194 -0
- package/dist/index-DqpmYrH_.js +61432 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +69 -4
- package/dist/index.mjs +892 -890
- package/dist/lazy.cjs +1 -1
- package/dist/lazy.mjs +3 -3
- package/dist/navigation.cjs +1 -1
- package/dist/navigation.mjs +13 -13
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.mjs +36 -36
- package/package.json +3 -3
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),$=require("./core-oNMPbzb7.cjs"),t=require("react"),ke=require("./NiceTabs-BQgV3eKE.cjs"),kn=require("./vendor-DHEorsoy.cjs"),Ve=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,accessMode:g,displayStyle:p,value:K,defaultValue:te,onChange:z,onBlur:T,onKeyDown:X,placeholder:Z,rows:D=3,maxLength:U,resize:oe="vertical",autoFocus:ee,showCount:P,counterPlacement:I="bottom",submitOnEnter:A,onSubmit:m,showKeyboardHints:N,labelPlacement:j,errorPlacement:J,loading:G,labelWidth:F,controlWidth:R,displayMode:V},B)=>{const k=$._s(g,b),W=k==="hidden";k==="disabled"&&(s=!0),k==="readOnly"&&(r=!0);const{t:ne}=$.$o(),h=$.ks(b),u=$.cs("input",p),M=$.ls("input",p),Q=K?.length??0,pe=U?Q>U:!1,fe=$.ms({enabled:V,readOnly:r,disabled:s}),C={key:"Enter",ctrl:!0,description:ne("shortcuts.submit","Submit")},q=t.useCallback(l=>{A&&$.ac(l,C)&&(l.preventDefault(),m?.()),X?.(l)},[A,m,X,C]),ae=t.useMemo(()=>{const l=[];return A&&l.push(C),l.push({key:"Tab",description:ne("shortcuts.indent","Indent (when supported)")}),l},[A,ne,C]);return W?null:e.jsxs("div",{className:`nice-field nice-field--${d} ${j==="left"?"nice-field--label-left":""} ${G?"nice-field--loading":""} ${S||""}`,style:{...L,...F!=null&&{"--nice-field-label-width":typeof F=="number"?`${F}px`:F},...R!=null&&{"--nice-field-control-width":typeof R=="number"?`${R}px`:R}},"aria-busy":G||void 0,children:[n&&e.jsxs("label",{htmlFor:h,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:[n,N&&ae.length>0&&e.jsx($.Vr,{shortcuts:ae,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control nice-field__control--textarea",children:[fe.isDisplay?e.jsx($.ps,{value:K??te??"",placeholder:Z,disabled:s,readOnly:r,onActivate:fe.enterEdit,ariaLabel:n,className:"nice-display-value--textarea"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"flex",flexDirection:"column",flex:"1 1 auto",minWidth:0},children:[e.jsx("textarea",{ref:l=>{typeof B=="function"?B(l):B&&(B.current=l),fe.autoFocusRef(l)},id:h,className:`nice-textarea nice-input--${d} nice-textarea--ds-${M} ${a?"nice-textarea--error":""} ${s?"nice-textarea--disabled":""}`,style:{...u,resize:oe},name:o,value:K,defaultValue:te,placeholder:Z,rows:D,maxLength:U,disabled:s||G,readOnly:r,autoFocus:ee,"aria-invalid":!!a,"aria-describedby":a?`${h}-error`:i?`${h}-helper`:void 0,onChange:l=>z?.(l.target.value),onBlur:l=>{V&&fe.exitEdit(),T?.(l)},onKeyDown:q}),I!=="right"&&(P||U)&&e.jsxs("div",{className:`nice-textarea__counter ${pe?"nice-textarea__counter--over":""}`,children:[Q,U?` / ${U}`:""]})]}),I==="right"&&(P||U)&&e.jsxs("div",{className:`nice-textarea__counter nice-textarea__counter--right ${pe?"nice-textarea__counter--over":""}`,children:[Q,U?` / ${U}`:""]})]}),G&&e.jsx("span",{className:"nice-field__spinner nice-field__spinner--textarea",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),J==="right"&&a&&e.jsx("div",{id:`${h}-error`,className:"nice-field__error",role:"alert",children:a}),J==="right"&&!a&&i&&e.jsx("div",{id:`${h}-helper`,className:"nice-field__helper",children:i})]}),J!=="right"&&a&&e.jsx("div",{id:`${h}-error`,className:"nice-field__error",role:"alert",children:a}),J!=="right"&&!a&&i&&e.jsx("div",{id:`${h}-helper`,className:"nice-field__helper",children:i})]})});Ve.displayName="NiceTextArea";const Mn={"date-local":{inputType:"date",localized:!0},"date-utc":{inputType:"date",localized:!1},"datetime-local":{inputType:"datetime-local",localized:!0},"datetime-utc":{inputType:"datetime-local",localized:!1},"month-local":{inputType:"month",localized:!0},"month-utc":{inputType:"month",localized:!1},week:{inputType:"week",localized:!1},time:{inputType:"time",localized:!1}},wn={date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm",month:"yyyy-MM",week:"yyyy-Www",time:"HH:mm"},$n={"yyyy-MM-dd":"YYYY-MM-DD","yyyy-MM-ddTHH:mm":"YYYY-MM-DDTHH:MM","yyyy-MM":"YYYY-MM","yyyy-Www":"YYYY-Www","HH:mm":"HH:MM"};function Pe(n){const i=(n||"").toLowerCase().replace("_","-"),a=i.split("-")[0],c={pl:"dd.MM.yyyy","pl-pl":"dd.MM.yyyy",de:"dd.MM.yyyy","de-de":"dd.MM.yyyy","de-at":"dd.MM.yyyy","de-ch":"dd.MM.yyyy",cs:"dd.MM.yyyy","cs-cz":"dd.MM.yyyy",sk:"dd.MM.yyyy","sk-sk":"dd.MM.yyyy",ru:"dd.MM.yyyy","ru-ru":"dd.MM.yyyy",fi:"dd.MM.yyyy","fi-fi":"dd.MM.yyyy",no:"dd.MM.yyyy",nb:"dd.MM.yyyy",nn:"dd.MM.yyyy",da:"dd.MM.yyyy","da-dk":"dd.MM.yyyy",tr:"dd.MM.yyyy","tr-tr":"dd.MM.yyyy",sl:"dd.MM.yyyy",hr:"dd.MM.yyyy",sr:"dd.MM.yyyy",ro:"dd.MM.yyyy",bg:"dd.MM.yyyy",uk:"dd.MM.yyyy",is:"dd.MM.yyyy",et:"dd.MM.yyyy",lv:"dd.MM.yyyy",lt:"dd.MM.yyyy","en-gb":"dd/MM/yyyy","en-au":"dd/MM/yyyy","en-ie":"dd/MM/yyyy","en-nz":"dd/MM/yyyy","en-in":"dd/MM/yyyy",fr:"dd/MM/yyyy","fr-fr":"dd/MM/yyyy","fr-be":"dd/MM/yyyy",es:"dd/MM/yyyy","es-es":"dd/MM/yyyy",pt:"dd/MM/yyyy","pt-pt":"dd/MM/yyyy","pt-br":"dd/MM/yyyy",it:"dd/MM/yyyy","it-it":"dd/MM/yyyy",nl:"dd-MM-yyyy","nl-nl":"dd-MM-yyyy","nl-be":"dd/MM/yyyy",el:"dd/MM/yyyy",hu:"yyyy.MM.dd",en:"MM/dd/yyyy","en-us":"MM/dd/yyyy","en-ca":"MM/dd/yyyy",ja:"yyyy/MM/dd","ja-jp":"yyyy/MM/dd",ko:"yyyy.MM.dd","ko-kr":"yyyy.MM.dd",zh:"yyyy/MM/dd","zh-cn":"yyyy/MM/dd","zh-tw":"yyyy/MM/dd",sv:"yyyy-MM-dd","sv-se":"yyyy-MM-dd"};if(c[i])return c[i];if(c[a])return c[a];try{const r=new Intl.DateTimeFormat(n,{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(2024,0,15));let d="";for(const o of r)if(o.type==="day")d+="dd";else if(o.type==="month")d+="MM";else if(o.type==="year")d+="yyyy";else if(o.type==="literal"){const b=o.value.replace(/[\u00A0\u202F\u2009]/g," ").trim();d+=b||"."}return!/y/.test(d)||!/M/.test(d)||!/d/.test(d)?"yyyy-MM-dd":d}catch{return"yyyy-MM-dd"}}function Sn(n){const a=Pe(n).replace(/dd[^\w]*/g,"").replace(/[^\w]*dd/g,"");return!/y/.test(a)||!/M/.test(a)?"yyyy-MM":a}function Tn(){if(typeof document<"u"){const n=document.documentElement?.lang;if(n&&/^[a-zA-Z]{2,}/.test(n))return n}return typeof navigator<"u"&&navigator.language?navigator.language:"en-US"}function Dn(n,i,a){const c=wn[n];let s=c;i&&(n==="date"||n==="datetime-local"||n==="month")&&(n==="date"?s=Pe(a):n==="datetime-local"?s=`${Pe(a)} HH:mm`:s=Sn(a));const r=$n[s]??s.replace(/y/g,"Y").replace(/M/g,"M").replace(/d/g,"D").replace(/H/g,"H").replace(/m/g,"M");return{displayTpl:s,isoTpl:c,placeholder:r}}const An=new Set(["y","M","d","H","m","w"]);function Ae(n){return An.has(n)}function Ke(n){let i=0;for(const a of n)Ae(a)&&i++;return i}function Ye(n,i){let a="",c=0;for(const s of n)if(Ae(s)){if(c>=i.length)break;a+=i[c++]}else{if(c===0)break;c>=i.length,a+=s}return a}function Rn(n,i,a){if(a.length===0)return"";const c={};let s=0;for(const o of n)Ae(o)&&(s>=a.length?(c[o]??(c[o]=[])).push(""):(c[o]??(c[o]=[])).push(a[s]),s++);const r={};let d="";for(const o of i)if(Ae(o)){const b=c[o]??[],S=r[o]??0;d+=b[S]??"",r[o]=S+1}return d}function ze(n,i,a){if(a.length===0)return"";const c={};let s=0;for(const o of i)Ae(o)&&((c[o]??(c[o]=[])).push(a[s]??""),s++);const r={};let d="";for(const o of n)if(Ae(o)){const b=c[o]??[],S=r[o]??0;d+=b[S]??"",r[o]=S+1}return d.replace(/\s+$/,"")}function En(n,i,a){const c=Ke(i);if(a.length<c)return"";const s=Rn(n,i,a);if(s.length<c)return"";let r="",d=0;for(const o of i)Ae(o)?r+=s[d++]:r+=o;return r}function Le(n,i){if(!n)return"";const a=n.replace(/[^0-9]/g,""),c=Ke(i);return a.slice(0,c)}function Te(n,i,a){const c=Ye(n,a);let s=0;const r=Math.min(i,c.length);for(let d=0;d<r;d++)Ae(n[d])&&s++;return Math.min(s,a.length)}function Fn(n,i,a){if(a<=0)return 0;const c=Ye(n,i);let s=0;for(let r=0;r<c.length;r++)if(Ae(n[r])&&(s++,s===a)){let d=r+1;for(;d<c.length&&!Ae(n[d]);)d++;return d}return c.length}const Ze=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,accessMode:g,value:p,onChange:K,onBlur:te,onKeyDown:z,min:T,max:X,type:Z,dateFormatPreset:D,submitOnEnter:U,onSubmit:oe,showKeyboardHints:ee,displayStyle:P,labelPlacement:I,errorPlacement:A,loading:m,labelWidth:N,controlWidth:j,placeholder:J,clearable:G=!1,showPickerButton:F=!0,displayLocale:R,keyboardShortcuts:V=!0},B)=>{const k=$.cs("input",P),W=$.ls("input",P),ne=$._s(g,b),h=ne==="hidden";ne==="disabled"&&(s=!0),ne==="readOnly"&&(r=!0);const{t:u}=$.$o(),M=$.ks(b),Q=t.useRef(null),pe=t.useRef(null),fe=D?Mn[D]:null,C=fe?.inputType??Z??"date",q=fe?.localized??!1,ae=R??Tn(),l=t.useMemo(()=>Dn(C,q,ae),[C,q,ae]),E=t.useMemo(()=>Ke(l.isoTpl),[l.isoTpl]),[ue,ye]=t.useState(()=>{const v=Le(p,l.isoTpl);return ze(l.displayTpl,l.isoTpl,v)}),be=t.useRef(ue);t.useEffect(()=>{be.current=ue},[ue]);const xe=t.useRef(p??""),ve=t.useRef(null);t.useEffect(()=>{const v=p??"";if(v===xe.current)return;const O=Le(v,l.isoTpl),ie=ze(l.displayTpl,l.isoTpl,O);ye(ie),xe.current=v},[p,l.displayTpl,l.isoTpl]),t.useEffect(()=>{const v=Le(p,l.isoTpl);ye(ze(l.displayTpl,l.isoTpl,v))},[l.displayTpl,l.isoTpl]),t.useEffect(()=>{if(ve.current==null)return;const v=ve.current;ve.current=null;const O=Q.current;if(O&&document.activeElement===O)try{O.setSelectionRange(v,v)}catch{}});const y=t.useMemo(()=>Ye(l.displayTpl,ue),[l.displayTpl,ue]),H=J??l.placeholder,Y=Math.max(l.displayTpl.length+1,9),Ce=$.nc({enabled:U,onSubmit:oe}),se=t.useCallback((v,O)=>{const ie=v.slice(0,E);be.current=ie,ye(ie),ve.current=Fn(l.displayTpl,ie,Math.max(0,Math.min(ie.length,O)));const _e=En(l.displayTpl,l.isoTpl,ie);_e!==xe.current&&(xe.current=_e,K?.(_e))},[K,l.displayTpl,l.isoTpl,E]),le=t.useCallback(v=>{if(Ce(v),r||s){z?.(v);return}const O=v.key;if(v.ctrlKey||v.metaKey||v.altKey){z?.(v);return}const ie=be.current;if(O==="Escape"&&ie.length>0){v.preventDefault(),se("",0),z?.(v);return}if(V&&(l.isoTpl==="yyyy-MM-dd"||l.isoTpl==="yyyy-MM-ddTHH:mm"||l.isoTpl==="yyyy-MM")){const ge=he=>{const je=String(he.getFullYear()).padStart(4,"0"),De=String(he.getMonth()+1).padStart(2,"0"),Ee=String(he.getDate()).padStart(2,"0");let Fe="";if(l.isoTpl==="yyyy-MM")Fe=je+De;else if(l.isoTpl==="yyyy-MM-dd")Fe=je+De+Ee;else{const Nn=String(he.getHours()).padStart(2,"0"),jn=String(he.getMinutes()).padStart(2,"0");Fe=je+De+Ee+Nn+jn}se(Fe.slice(0,E),E)},Ne=()=>{if(p&&/^\d{4}-\d{2}/.test(p)){const he=new Date(p);if(!Number.isNaN(he.getTime()))return he}return new Date};if(O==="t"||O==="T"){v.preventDefault(),ge(new Date),z?.(v);return}if(O==="+"||O==="="||O==="-"){v.preventDefault();const he=O==="-"?-1:1,je=Ne();je.setDate(je.getDate()+he),ge(je),z?.(v);return}if(O==="m"||O==="M"){v.preventDefault();const he=Ne();he.setMonth(he.getMonth()+(O==="M"?-1:1)),ge(he),z?.(v);return}if(O==="y"||O==="Y"){v.preventDefault();const he=Ne();he.setFullYear(he.getFullYear()+(O==="Y"?-1:1)),ge(he),z?.(v);return}}const _e=v.currentTarget,we=_e.selectionStart??0,$e=_e.selectionEnd??0;if(/^[0-9]$/.test(O)){v.preventDefault();const ge=Te(l.displayTpl,we,ie),Ne=Te(l.displayTpl,$e,ie),he=ie.slice(0,ge),je=ie.slice(Ne);let De=(he+O+je).slice(0,E);ge===Ne&&he.length+1+je.length>E&&(De=(he+O+je.slice(1)).slice(0,E)),se(De,ge+1),z?.(v);return}if(O==="Backspace"){if(v.preventDefault(),we!==$e){const ge=Te(l.displayTpl,we,ie),Ne=Te(l.displayTpl,$e,ie),he=ie.slice(0,ge)+ie.slice(Ne);se(he,ge)}else{const ge=Te(l.displayTpl,we,ie);if(ge===0){z?.(v);return}const Ne=ie.slice(0,ge-1)+ie.slice(ge);se(Ne,ge-1)}z?.(v);return}if(O==="Delete"){if(v.preventDefault(),we!==$e){const ge=Te(l.displayTpl,we,ie),Ne=Te(l.displayTpl,$e,ie),he=ie.slice(0,ge)+ie.slice(Ne);se(he,ge)}else{const ge=Te(l.displayTpl,we,ie);if(ge>=ie.length){z?.(v);return}const Ne=ie.slice(0,ge)+ie.slice(ge+1);se(Ne,ge)}z?.(v);return}z?.(v)},[se,s,Ce,z,r,l.displayTpl,l.isoTpl,E,V,p]),f=t.useCallback(v=>{if(r||s)return;const O=v.clipboardData.getData("text");if(!O)return;v.preventDefault();const ie=be.current,_e=O.replace(/[^0-9]/g,"");let we;_e.length===E&&(O.includes("-")||O.includes("T"))?we=ze(l.displayTpl,l.isoTpl,_e):we=_e.slice(0,E);const $e=v.currentTarget,ge=$e.selectionStart??0,Ne=$e.selectionEnd??0,he=Te(l.displayTpl,ge,ie),je=Te(l.displayTpl,Ne,ie),De=ie.slice(0,he),Ee=ie.slice(je),Fe=(De+we+Ee).slice(0,E);se(Fe,Math.min(E,De.length+we.length))},[se,s,r,l.displayTpl,l.isoTpl,E]),de=t.useCallback(v=>{const O=v;if(O.inputType==="insertText"||O.inputType==="insertCompositionText"||O.inputType==="insertFromComposition"){const ie=O.data??"";if(!/^[0-9]+$/.test(ie)){v.preventDefault();return}if(ie.length>1){v.preventDefault();const _e=v.currentTarget,we=_e.selectionStart??0,$e=_e.selectionEnd??0,ge=be.current,Ne=Te(l.displayTpl,we,ge),he=Te(l.displayTpl,$e,ge),je=ge.slice(0,Ne),De=ge.slice(he),Ee=(je+ie+De).slice(0,E);se(Ee,Math.min(E,je.length+ie.length))}}},[se,l.displayTpl,E]),_=t.useCallback(v=>{if(r||s)return;const O=v.target.value,ie=O.replace(/[^0-9]/g,"").slice(0,E);if(ie!==be.current)if(ie.length===E&&(O.includes("-")||O.includes("T")||O.includes(":"))){const _e=ze(l.displayTpl,l.isoTpl,ie);se(_e,_e.length)}else se(ie,ie.length)},[se,s,r,l.displayTpl,l.isoTpl,E]),w=t.useCallback(()=>{se("",0),requestAnimationFrame(()=>Q.current?.focus())},[se]),x=t.useCallback(()=>{const v=pe.current;if(!v||s||r)return;const O=v;try{if(typeof O.showPicker=="function"){O.showPicker();return}}catch{}v.focus(),v.click()},[s,r]),ce=t.useCallback(v=>{const O=v.target.value,ie=Le(O,l.isoTpl),_e=ze(l.displayTpl,l.isoTpl,ie);xe.current=O,ye(_e),K?.(O),requestAnimationFrame(()=>Q.current?.focus())},[K,l.displayTpl,l.isoTpl]),me=t.useCallback(v=>{Q.current=v,typeof B=="function"?B(v):B&&(B.current=v)},[B]),re=t.useMemo(()=>{const v=[];return U&&v.push($.rc.submit),v.push({key:"Esc",description:u("shortcuts.clearDate","Clear value")}),v},[U,u]),Me=C==="time";return h?null:e.jsxs("div",{className:`nice-field nice-field--${d}${I?` nice-field--label-${I}`:""}${A==="right"?" nice-field--error-right":""} ${m?"nice-field--loading":""} ${S||""}`,style:{...L,...N!=null&&{"--nice-field-label-width":typeof N=="number"?`${N}px`:N},...j!=null&&{"--nice-field-control-width":typeof j=="number"?`${j}px`:j}},"aria-busy":m||void 0,children:[n&&e.jsxs("label",{htmlFor:M,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:[n,ee&&re.length>0&&e.jsx($.Vr,{shortcuts:re,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("div",{className:`nice-input nice-input--date nice-input--${d} nice-input--ds-${W} ${a?"nice-input--error":""} ${s?"nice-input--disabled":""} ${r?"nice-input--readonly":""}`,style:{...k,width:"fit-content",position:"relative"},children:[e.jsx("input",{ref:me,id:M,className:"nice-input__native nice-masked-input",type:"text",name:o,value:y,placeholder:H,disabled:s||m,readOnly:r,autoComplete:"off",spellCheck:!1,inputMode:"numeric","aria-invalid":!!a,"aria-label":n?void 0:u("controls.date","Date"),"data-display-tpl":l.displayTpl,"data-iso-tpl":l.isoTpl,style:{width:`${Y}ch`,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontVariantNumeric:"tabular-nums"},onBeforeInput:de,onChange:_,onBlur:te,onKeyDown:le,onPaste:f}),F&&!s&&!r&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"nice-input__picker-trigger",onClick:x,"aria-label":u("controls.openPicker","Open picker"),tabIndex:-1,children:Me?e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",focusable:"false",children:[e.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"1.8"}),e.jsx("path",{d:"M12 7v5l3.5 2",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]}):e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",focusable:"false",children:[e.jsx("rect",{x:"3.25",y:"4.5",width:"17.5",height:"16.5",rx:"2",stroke:"currentColor",strokeWidth:"1.7"}),e.jsx("line",{x1:"16",y1:"2.5",x2:"16",y2:"6.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"}),e.jsx("line",{x1:"8",y1:"2.5",x2:"8",y2:"6.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"}),e.jsx("line",{x1:"3.25",y1:"9.75",x2:"20.75",y2:"9.75",stroke:"currentColor",strokeWidth:"1.5"})]})}),e.jsx("input",{ref:pe,type:C,className:"nice-input__picker-companion",value:p??"",min:T,max:X,onChange:ce,tabIndex:-1,"aria-hidden":"true",style:{position:"absolute",width:0,height:0,opacity:0,pointerEvents:"none",border:0,padding:0,left:0,bottom:0}})]}),G&&!s&&!r&&e.jsx("button",{type:"button",className:"nice-input__clear",onClick:w,disabled:!p,"aria-label":u("controls.clear","Clear"),tabIndex:p?0:-1,children:"✕"})]}),m&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),A==="right"&&a&&e.jsx("div",{className:"nice-field__error",role:"alert",children:a}),A==="right"&&!a&&i&&e.jsx("div",{className:"nice-field__helper",children:i})]}),A!=="right"&&a&&e.jsx("div",{className:"nice-field__error",role:"alert",children:a}),A!=="right"&&!a&&i&&e.jsx("div",{className:"nice-field__helper",children:i})]})});Ze.displayName="NiceDatePicker";const on=({label:n,helperText:i,error:a,required:c,disabled:s,size:r="md",name:d,id:o,className:b,style:S,accessMode:L,options:g,value:p,onChange:K,direction:te="horizontal",showKeyboardHints:z,displayStyle:T,labelPlacement:X,errorPlacement:Z,labelWidth:D,controlWidth:U,loading:oe})=>{$.ls("toggle",T);const ee=$._s(L,o),P=ee==="hidden";(ee==="disabled"||ee==="readOnly")&&(s=!0);const{t:I}=$.$o(),A=$.ks(o),m=d||A,N=t.useMemo(()=>[{key:"ArrowUp",description:I("shortcuts.previousOption","Previous option")},{key:"ArrowDown",description:I("shortcuts.nextOption","Next option")},{key:"Space",description:I("shortcuts.select","Select")}],[I]);return P?null:e.jsxs("div",{className:`nice-field nice-field--inline nice-field--inline-block nice-field--${r} ${X==="left"?"nice-field--label-left":""} ${Z==="right"?"nice-field--error-right":""} ${oe?"nice-field--loading":""} ${b||""}`,style:{...S,...D!=null&&{"--nice-field-label-width":typeof D=="number"?`${D}px`:D},...U!=null&&{"--nice-field-control-width":typeof U=="number"?`${U}px`:U}},role:"radiogroup","aria-labelledby":`${A}-label`,"aria-busy":oe||void 0,children:[n&&e.jsxs("span",{id:`${A}-label`,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:[n,z&&e.jsx($.Vr,{shortcuts:N,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",children:[e.jsx("div",{className:`nice-radio-group ${te==="vertical"?"nice-radio-group--vertical":""}`,children:g.map(j=>e.jsxs("label",{className:`nice-radio ${s||j.disabled||oe?"nice-radio--disabled":""}`,children:[e.jsx("input",{type:"radio",className:"nice-radio__input",name:m,value:j.value,checked:p===j.value,disabled:s||j.disabled||oe,onChange:()=>K?.(j.value)}),e.jsx("span",{className:"nice-radio__circle",children:e.jsx("span",{className:"nice-radio__dot"})}),e.jsx("span",{children:j.label})]},j.value))}),oe&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),Z==="right"&&a&&e.jsx("div",{id:`${A}-error`,className:"nice-field__error",role:"alert",children:a}),Z==="right"&&!a&&i&&e.jsx("div",{id:`${A}-helper`,className:"nice-field__helper",children:i})]}),Z!=="right"&&a&&e.jsx("div",{id:`${A}-error`,className:"nice-field__error",role:"alert",children:a}),Z!=="right"&&!a&&i&&e.jsx("div",{id:`${A}-helper`,className:"nice-field__helper",children:i})]})},qe=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,id:r,className:d,style:o,accessMode:b,value:S=0,onChange:L,min:g=0,max:p=100,step:K=1,showValue:te=!0,showMinMax:z=!1,formatValue:T,showKeyboardHints:X,displayStyle:Z,size:D="md",labelPlacement:U,errorPlacement:oe,labelWidth:ee,controlWidth:P,loading:I,showTicks:A=!1,tickInterval:m,maxTicks:N=21,showTickLabels:j=!1},J)=>{$.ls("input",Z);const G=$._s(b,r),F=G==="hidden";(G==="disabled"||G==="readOnly")&&(s=!0);const{t:R}=$.$o(),V=$.ks(r),B=t.useMemo(()=>(S-g)/(p-g)*100,[S,g,p]),k=T?T(S):S.toString(),W=t.useMemo(()=>{if(!A)return[];const u=p-g;if(u<=0)return[g,p];let M=m??K,Q=Math.floor(u/M)+1;return Q>N&&(M=u/(N-1),Q=N),Array.from({length:Q},(pe,fe)=>{const C=g+fe*M;return fe===Q-1?p:C})},[A,g,p,K,m,N]),ne=t.useMemo(()=>[$.rc.increment,$.rc.decrement,$.rc.first,$.rc.last,$.rc.incrementBig,$.rc.decrementBig],[]),h=U==="left";return F?null:e.jsxs("div",{className:`nice-field nice-field--${D} ${h?"nice-field--label-left":""} ${I?"nice-field--loading":""} ${d||""}`,style:{...o,...ee!=null&&{"--nice-field-label-width":typeof ee=="number"?`${ee}px`:ee},...P!=null&&{"--nice-field-control-width":typeof P=="number"?`${P}px`:P}},"aria-busy":I||void 0,children:[h?n&&e.jsxs("label",{htmlFor:V,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:[n,X&&e.jsx($.Vr,{shortcuts:ne,size:"sm"})]}):(n||te||X)&&e.jsxs("div",{className:"nice-slider__header",children:[n?e.jsxs("label",{htmlFor:V,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:[n,X&&e.jsx($.Vr,{shortcuts:ne,size:"sm"})]}):e.jsx("span",{}),te&&e.jsx("span",{className:"nice-slider__value nice-slider__value--header",children:k})]}),e.jsxs("div",{className:"nice-field__control nice-field__control--slider",children:[e.jsxs("div",{className:`nice-slider ${s||I?"nice-slider--disabled":""} ${A?"nice-slider--with-ticks":""}`,children:[e.jsxs("div",{className:"nice-slider__track-wrapper",children:[e.jsx("div",{className:"nice-slider__track",children:e.jsx("div",{className:"nice-slider__fill",style:{width:`${B}%`}})}),A&&W.length>0&&e.jsx("div",{className:"nice-slider__ticks","aria-hidden":"true",children:W.map((u,M)=>{const Q=(u-g)/(p-g)*100,pe=u<=S;return e.jsx("span",{className:`nice-slider__tick ${pe?"nice-slider__tick--active":""}`,style:{left:`${Q}%`},children:j&&e.jsx("span",{className:"nice-slider__tick-label",children:T?T(u):u})},M)})}),e.jsx("input",{ref:J,id:V,type:"range",className:"nice-slider__native",min:g,max:p,step:K,value:S,disabled:s||I,"aria-valuenow":S,"aria-valuemin":g,"aria-valuemax":p,onChange:u=>L?.(parseFloat(u.target.value))}),e.jsx("div",{className:"nice-slider__thumb-visual",style:{left:`${B}%`}})]}),z&&e.jsxs("div",{className:"nice-slider__labels",children:[e.jsx("span",{children:T?T(g):g}),e.jsx("span",{children:T?T(p):p})]})]}),h&&te&&e.jsx("span",{className:"nice-slider__value nice-slider__value--inline",children:k}),I&&e.jsx("span",{className:"nice-field__spinner nice-field__spinner--slider",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),oe==="right"&&a&&e.jsx("div",{className:"nice-field__error nice-field__error--slider",role:"alert",children:a}),oe==="right"&&!a&&i&&e.jsx("div",{className:"nice-field__helper nice-field__helper--slider",children:i})]}),oe!=="right"&&a&&e.jsx("div",{className:"nice-field__error",role:"alert",children:a}),oe!=="right"&&!a&&i&&e.jsx("div",{className:"nice-field__helper",children:i})]})});qe.displayName="NiceSlider";function zn({text:n,query:i}){if(!i)return e.jsx(e.Fragment,{children:n});const a=n.toLowerCase().indexOf(i.toLowerCase());return a<0?e.jsx(e.Fragment,{children:n}):e.jsxs("span",{children:[n.slice(0,a),e.jsx("strong",{children:n.slice(a,a+i.length)}),n.slice(a+i.length)]})}const dn=({options:n,value:i,onChange:a,minSearchLength:c=1,maxResults:s=10,onSearch:r,clearable:d,loading:o,multiple:b,renderOption:S,highlightMatch:L=!0,label:g,error:p,helperText:K,required:te,disabled:z,size:T="md",id:X,className:Z,style:D,accessMode:U,showKeyboardHints:oe,displayStyle:ee,labelPlacement:P,errorPlacement:I,labelWidth:A,controlWidth:m})=>{$.cs("input",ee),$.ls("input",ee);const N=$._s(U,X),j=N==="hidden";(N==="disabled"||N==="readOnly")&&(z=!0);const J=$.ks(X),{t:G}=$.$o(),F=t.useMemo(()=>b?Array.isArray(i)?i:i?[i]:[]:[],[i,b]),[R,V]=t.useState(b||Array.isArray(i)?"":i),[B,k]=t.useState(!1),[W,ne]=t.useState(-1),h=t.useRef(null),u=t.useRef(null);$.Cs(h,()=>k(!1));const M=t.useMemo(()=>{const l=[$.rc.moveDown,$.rc.moveUp,$.rc.submit,$.rc.cancel];return b&&l.push({key:"Backspace",description:G("shortcuts.removeLastTag","Remove last tag")}),l},[b,G]);t.useEffect(()=>{b||V(Array.isArray(i)?"":i)},[i,b]);const Q=t.useMemo(()=>{if(R.length<c)return[];if(r)return n.slice(0,s);const l=R.toLowerCase();return n.filter(E=>E.label.toLowerCase().includes(l)).slice(0,s)},[n,R,c,s,r]),pe=t.useMemo(()=>{const l=new Map;for(const E of Q){const ue=E.group||"";l.has(ue)||l.set(ue,[]),l.get(ue).push(E)}return l},[Q]),fe=t.useCallback(l=>{V(l),k(l.length>=c),ne(0),r?.(l)},[c,r]),C=t.useCallback(l=>{if(b){const E=String(l.value),ue=F.includes(E)?F.filter(ye=>ye!==E):[...F,E];a?.(ue),V("")}else V(l.label),a?.(String(l.value)),k(!1)},[a,b,F]),q=l=>{if(b&&l.key==="Backspace"&&!R&&F.length>0){a?.(F.slice(0,-1));return}if(!B&&(l.key==="ArrowDown"||l.key==="ArrowUp")){l.preventDefault(),k(!0),ne(0);return}B&&(l.key==="ArrowDown"?(l.preventDefault(),ne(E=>E<0?0:Math.min(E+1,Q.length-1))):l.key==="ArrowUp"?(l.preventDefault(),ne(E=>E<=0?Q.length-1:E-1)):(l.key==="Enter"||l.key==="Tab")&&W>=0&&W<Q.length?(l.preventDefault(),C(Q[W])):l.key==="Escape"&&k(!1))},ae=t.useCallback(l=>{a?.(F.filter(E=>E!==l))},[F,a]);return j?null:e.jsxs("div",{className:`nice-field nice-field--${T} ${P==="left"?"nice-field--label-left":""} ${o?"nice-field--loading":""} ${Z||""}`,style:{width:"fit-content",...D,...A!=null&&{"--nice-field-label-width":typeof A=="number"?`${A}px`:A},...m!=null&&{"--nice-field-control-width":typeof m=="number"?`${m}px`:m}},ref:h,"aria-busy":o||void 0,children:[g&&e.jsxs("label",{className:`nice-field__label ${te?"nice-field__label--required":""}`,htmlFor:J,children:[g,oe&&e.jsx($.Vr,{shortcuts:M,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",style:{position:"relative"},children:[e.jsx("div",{className:`nice-input nice-input--${T} ${p?"nice-input--error":""} ${z?"nice-input--disabled":""}`,style:{width:"220px"},children:e.jsxs("div",{className:"nice-field__input-wrap",style:{display:"flex",flexWrap:b?"wrap":"nowrap",gap:4,alignItems:"center",flex:1,minWidth:0},children:[b&&F.map(l=>{const E=n.find(ue=>String(ue.value)===l);return e.jsxs("span",{className:"nice-autocomplete__tag",children:[E?.label||l,e.jsx("button",{type:"button",className:"nice-autocomplete__tag-remove",onClick:()=>ae(l),children:"✕"})]},l)}),e.jsx("input",{ref:u,id:J,type:"text",className:"nice-input__native",value:R,onChange:l=>fe(l.target.value),onFocus:()=>R.length>=c&&k(!0),onKeyDown:q,disabled:z,required:te,role:"combobox","aria-expanded":B,"aria-autocomplete":"list",autoComplete:"off",style:{flex:1,minWidth:60,border:"none",outline:"none",background:"transparent",color:"inherit",padding:0,font:"inherit"}}),d&&!b&&R&&!z&&e.jsx("button",{type:"button",className:"nice-field__clear",onClick:()=>{V(""),a?.("")},"aria-label":G("controls.clear","Clear"),children:"✕"})]})}),B&&Q.length>0&&e.jsx("ul",{className:"nice-dropdown__list",role:"listbox",children:Array.from(pe.entries()).map(([l,E])=>e.jsxs(t.Fragment,{children:[l&&e.jsx("li",{className:"nice-dropdown__group-label",children:l}),E.map(ue=>{const be=Q.indexOf(ue)===W,xe=b&&F.includes(String(ue.value));return e.jsx("li",{role:"option",className:`nice-dropdown__option ${be?"nice-dropdown__option--active":""} ${xe?"nice-dropdown__option--selected":""}`,onMouseDown:ve=>{ve.preventDefault(),C(ue)},"aria-selected":be,children:S?S(ue,R):L?e.jsx(zn,{text:ue.label,query:R}):ue.label},String(ue.value))})]},l))}),o&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),I==="right"&&p&&e.jsx("div",{id:`${J}-error`,className:"nice-field__error",role:"alert",children:p}),I==="right"&&!p&&K&&e.jsx("div",{id:`${J}-helper`,className:"nice-field__helper",children:K})]}),I!=="right"&&p&&e.jsx("div",{id:`${J}-error`,className:"nice-field__error",role:"alert",children:p}),I!=="right"&&!p&&K&&e.jsx("div",{id:`${J}-helper`,className:"nice-field__helper",children:K})]})},fn=({options:n,suggestions:i,value:a,onChange:c,searchable:s=!0,clearable:r,maxTags:d,allowCustom:o,placeholder:b,label:S,error:L,helperText:g,required:p,disabled:K,size:te="md",loading:z,id:T,className:X,style:Z,accessMode:D,showKeyboardHints:U,labelPlacement:oe,errorPlacement:ee,labelWidth:P,controlWidth:I,autoExpand:A=!1})=>{const m=$._s(D,T),N=m==="hidden";(m==="disabled"||m==="readOnly")&&(K=!0);const j=$.ks(T),{t:J}=$.$o(),[G,F]=t.useState(!1),[R,V]=t.useState(""),B=t.useRef(null),k=t.useRef(null);$.Cs(B,()=>F(!1));const W=t.useMemo(()=>[$.rc.submit,$.rc.cancel,{key:"Backspace",description:J("shortcuts.removeLastTag","Remove last tag")}],[J]),ne=t.useMemo(()=>Array.isArray(n)&&n.length>0?n:Array.isArray(i)?i.map(C=>({label:C,value:C})):[],[n,i]),h=t.useMemo(()=>Array.isArray(a)?a:[],[a]),u=t.useMemo(()=>{let C=ne.filter(q=>!h.includes(String(q.value)));if(R){const q=R.toLowerCase();C=C.filter(ae=>ae.label.toLowerCase().includes(q))}return C},[ne,h,R]),M=t.useCallback(C=>{d&&h.length>=d||(h.includes(C)||c([...h,C]),V(""))},[h,c,d]),Q=t.useCallback(C=>{c(h.filter(q=>q!==C))},[h,c]),pe=C=>{C.key==="Backspace"&&!R&&h.length>0?Q(h[h.length-1]):C.key==="Enter"&&R?(C.preventDefault(),u.length>0?M(String(u[0].value)):o&&M(R)):C.key==="Escape"&&F(!1)},fe=C=>ne.find(q=>String(q.value)===C)?.label??C;return N?null:e.jsxs("div",{className:`nice-field nice-field--${te} ${oe==="left"?"nice-field--label-left":""} ${z?"nice-field--loading":""} ${X||""}`,style:{...Z,...P!=null&&{"--nice-field-label-width":typeof P=="number"?`${P}px`:P},...I!=null&&{"--nice-field-control-width":typeof I=="number"?`${I}px`:I}},ref:B,"aria-busy":z||void 0,children:[S&&e.jsxs("label",{className:`nice-field__label ${p?"nice-field__label--required":""}`,htmlFor:j,children:[S,U&&e.jsx($.Vr,{shortcuts:W,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("div",{className:`nice-tagbox nice-tagbox--${te} ${A?"nice-tagbox--expand":"nice-tagbox--fixed"} ${L?"nice-tagbox--error":""} ${K?"nice-tagbox--disabled":""}`,onClick:()=>{!K&&!z&&(F(!0),k.current?.focus())},style:{position:"relative",cursor:K||z?"not-allowed":"text"},children:[e.jsxs("div",{className:"nice-tagbox__tags",children:[h.map(C=>e.jsxs("span",{className:"nice-tag nice-tagbox__tag",children:[fe(C),!K&&e.jsx("button",{type:"button",className:"nice-tag__remove",onClick:q=>{q.stopPropagation(),Q(C)},children:"✕"})]},C)),s&&e.jsx("input",{ref:k,id:j,type:"text",className:"nice-tagbox__input nice-input__native",value:R,onChange:C=>{V(C.target.value),F(!0)},onFocus:()=>F(!0),onKeyDown:pe,placeholder:h.length===0?b||J("controls.select","Select..."):"",disabled:K||z,autoComplete:"off",style:{border:"none",outline:"none",background:"transparent",color:"inherit",flex:1,minWidth:80,padding:0,font:"inherit",caretColor:"var(--color-primary)"}})]}),r&&h.length>0&&!K&&e.jsx("button",{type:"button",className:"nice-field__clear",onClick:C=>{C.stopPropagation(),c([])},"aria-label":J("controls.clear","Clear"),children:"✕"}),G&&(u.length>0||o&&R)&&e.jsxs("ul",{className:"nice-dropdown__list nice-tagbox__dropdown",role:"listbox",children:[u.map(C=>e.jsx("li",{role:"option",className:"nice-dropdown__option",onMouseDown:q=>{q.preventDefault(),M(String(C.value))},children:C.label},String(C.value))),o&&R&&!u.some(C=>String(C.value).toLowerCase()===R.toLowerCase())&&e.jsxs("li",{role:"option",className:"nice-dropdown__option nice-dropdown__option--add",onMouseDown:C=>{C.preventDefault(),M(R)},children:["+ ",J("controls.add","Add")," “",R,"”"]})]})]}),z&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),ee==="right"&&L&&e.jsx("div",{id:`${j}-error`,className:"nice-field__error",role:"alert",children:L}),ee==="right"&&!L&&g&&e.jsx("div",{id:`${j}-helper`,className:"nice-field__helper",children:g})]}),ee!=="right"&&L&&e.jsx("div",{id:`${j}-error`,className:"nice-field__error",role:"alert",children:L}),ee!=="right"&&!L&&g&&e.jsx("div",{id:`${j}-helper`,className:"nice-field__helper",children:g})]})},un={phone:"(999) 999-9999","credit-card":"9999 9999 9999 9999",date:"99/99/9999",ssn:"999-99-9999",zip:"99-999",time:"99:99",iban:"aa99 9999 9999 9999 9999 9999"};function In(n){return[...n].map(i=>i==="9"?{type:"digit"}:i==="a"?{type:"letter"}:i==="*"?{type:"alphanum"}:{type:"literal",literal:i})}function Ln(n,i){return i.type==="digit"?/\d/.test(n):i.type==="letter"?/[a-zA-Z]/.test(n):i.type==="alphanum"?/[a-zA-Z0-9]/.test(n):!1}function sn(n,i,a){let c=0,s="";for(const r of i)r.type==="literal"?s+=r.literal:c<n.length?(s+=n[c],c++):s+=a;return s}function Un(n,i){return n.map(a=>a.type==="literal"?a.literal:i).join("")}const Oe=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,value:g="",onChange:p,onBlur:K,onKeyDown:te,mask:z,maskPreset:T,maskChar:X="_",placeholder:Z,showMaskAsPlaceholder:D=!0,clearable:U=!1,autoFocus:oe,labelPlacement:ee,errorPlacement:P,loading:I,labelWidth:A,controlWidth:m,...N},j)=>{const{t:J}=$.$o(),G=$.ks(b),F=t.useRef(null),[R,V]=t.useState(!1),B=z||(T?un[T]:"")||"999",k=t.useMemo(()=>In(B),[B]),W=t.useMemo(()=>sn(g,k,X),[g,k,X]),ne=R||g?W:"",h=Z??(D?Un(k,X):void 0),u=t.useCallback(ae=>{F.current=ae,typeof j=="function"?j(ae):j&&(j.current=ae)},[j]),M=t.useCallback(ae=>{const l=sn(ae,k,X);p?.(ae,l)},[p,k,X]),Q=t.useCallback(ae=>{const l=ae.currentTarget,E=l.value,ue=l.selectionStart??E.length;let ye="",be=0;for(let xe=0;xe<E.length&&be<k.length;xe++){const ve=E[xe];for(;be<k.length&&k[be].type==="literal";)be++;if(be>=k.length)break;Ln(ve,k[be])&&(ye+=ve,be++)}M(ye),requestAnimationFrame(()=>{let xe=0,ve=0;for(let y=0;y<k.length;y++){if(k[y].type==="literal")xe=y+1;else if(ve<ye.length)ve++,xe=y+1;else{xe=y;break}if(xe>=ue&&ve>=ye.length)break}ve>=ye.length&&ye.length>0&&(xe=Math.min(xe,k.length)),l.setSelectionRange(xe,xe)})},[k,M]),pe=t.useCallback(ae=>{if(ae.key==="Backspace"&&g.length>0){ae.preventDefault();const l=g.slice(0,-1);M(l)}te?.(ae)},[g,M,te]),fe=t.useCallback(()=>V(!0),[]),C=t.useCallback(ae=>{V(!1),K?.(ae)},[K]),q=t.useCallback(()=>{M(""),F.current?.focus()},[M]);return e.jsxs("div",{className:`nice-field nice-field--masked nice-field--${d} ${ee==="left"?"nice-field--label-left":""} ${I?"nice-field--loading":""} ${S||""}`,style:{...L,...A!=null&&{"--nice-field-label-width":typeof A=="number"?`${A}px`:A},...m!=null&&{"--nice-field-control-width":typeof m=="number"?`${m}px`:m}},"aria-busy":I||void 0,children:[n&&e.jsx("label",{htmlFor:G,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:n}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("div",{className:`nice-input nice-input--${d} ${a?"nice-input--error":""} ${s?"nice-input--disabled":""} ${r?"nice-input--readonly":""}`,style:{width:"fit-content",minWidth:0},children:[e.jsx("input",{ref:u,id:G,className:"nice-input__native nice-masked-input",type:"text",name:o,value:ne,placeholder:h,disabled:s||I,readOnly:r,autoFocus:oe,style:{width:`${B.length}ch`,minWidth:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontVariantNumeric:"tabular-nums"},"aria-invalid":!!a,"aria-describedby":a?`${G}-error`:i?`${G}-helper`:void 0,onInput:Q,onChange:()=>{},onKeyDown:pe,onFocus:fe,onBlur:C,...N}),U&&g&&e.jsx("button",{type:"button",className:"nice-input__clear",disabled:s||r,onClick:q,"aria-label":J("controls.clear","Clear"),children:"✕"})]}),I&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),P==="right"&&a&&e.jsx("div",{id:`${G}-error`,className:"nice-field__error",role:"alert",children:a}),P==="right"&&!a&&i&&e.jsx("div",{id:`${G}-helper`,className:"nice-field__helper",children:i})]}),P!=="right"&&a&&e.jsx("div",{id:`${G}-error`,className:"nice-field__error",role:"alert",children:a}),P!=="right"&&!a&&i&&e.jsx("div",{id:`${G}-helper`,className:"nice-field__helper",children:i})]})});Oe.displayName="NiceMaskedInput";const Bn=[{id:"length",label:"At least 8 characters",test:n=>n.length>=8},{id:"uppercase",label:"At least one uppercase letter",test:n=>/[A-Z]/.test(n)},{id:"lowercase",label:"At least one lowercase letter",test:n=>/[a-z]/.test(n)},{id:"digit",label:"At least one digit",test:n=>/\d/.test(n)},{id:"special",label:"At least one special character",test:n=>/[^a-zA-Z0-9]/.test(n)}];function Hn(n,i){if(!n)return{level:"none",passed:[],ratio:0};const a=i.filter(r=>r.test(n)).map(r=>r.id),c=a.length/i.length;let s="weak";return c>=1?s="strong":c>=.75?s="good":c>=.5&&(s="fair"),{level:s,passed:a,ratio:c}}const Je=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,value:g="",onChange:p,onBlur:K,onKeyDown:te,placeholder:z,maxLength:T,showToggle:X=!0,showStrength:Z=!1,strengthRules:D,validationPlacement:U="bottom",autoFocus:oe,autoComplete:ee,labelPlacement:P,errorPlacement:I,loading:A,labelWidth:m,controlWidth:N,...j},J)=>{const{t:G}=$.$o(),F=$.ks(b),[R,V]=t.useState(!1),B=D??Bn,k=t.useMemo(()=>Z?Hn(g,B):null,[Z,g,B]),W=t.useCallback(()=>V(h=>!h),[]),ne=Z&&k&&g?e.jsxs("div",{className:`nice-password__strength ${U==="right"?"nice-password__strength--right":""}`,children:[e.jsx("div",{className:"nice-password__meter",children:e.jsx("div",{className:`nice-password__meter-fill nice-password__meter-fill--${k.level}`,style:{width:`${k.ratio*100}%`}})}),e.jsx("span",{className:`nice-password__strength-label nice-password__strength-label--${k.level}`,children:G(`password.strength.${k.level}`,k.level.charAt(0).toUpperCase()+k.level.slice(1))}),e.jsx("ul",{className:"nice-password__rules",children:B.map(h=>{const u=k.passed.includes(h.id);return e.jsxs("li",{className:`nice-password__rule ${u?"nice-password__rule--passed":""}`,children:[e.jsx("span",{className:"nice-password__rule-icon",children:u?"✓":"✗"}),h.label]},h.id)})})]}):null;return e.jsxs("div",{className:`nice-field nice-field--${d} ${P==="left"?"nice-field--label-left":""} ${A?"nice-field--loading":""} ${S||""}`,style:{...L,...m!=null&&{"--nice-field-label-width":typeof m=="number"?`${m}px`:m},...N!=null&&{"--nice-field-control-width":typeof N=="number"?`${N}px`:N}},"aria-busy":A||void 0,children:[n&&e.jsx("label",{htmlFor:F,className:`nice-field__label ${c?"nice-field__label--required":""}`,style:U==="right"&&P==="left"?{alignSelf:"flex-start",paddingTop:6}:void 0,children:n}),e.jsxs("div",{className:"nice-field__control",style:U==="right"?{alignItems:"flex-start"}:void 0,children:[e.jsxs("div",{style:U==="right"?{display:"flex",flexDirection:"column",flex:"1 1 auto",minWidth:0}:{display:"contents"},children:[e.jsxs("div",{className:`nice-input nice-input--${d} ${a?"nice-input--error":""} ${s?"nice-input--disabled":""} ${r?"nice-input--readonly":""}`,children:[e.jsx("input",{ref:J,id:F,className:"nice-input__native",type:R?"text":"password",name:o,value:g,placeholder:z,disabled:s||A,readOnly:r,maxLength:T,autoFocus:oe,autoComplete:ee,"aria-invalid":!!a,"aria-describedby":a?`${F}-error`:i?`${F}-helper`:void 0,onChange:h=>p?.(h.target.value),onBlur:K,onKeyDown:te,...j}),X&&e.jsx("button",{type:"button",className:"nice-password__toggle",onClick:W,disabled:s,tabIndex:-1,"aria-label":R?G("password.hide","Hide password"):G("password.show","Show password"),children:R?e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24"}),e.jsx("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}):e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3"})]})})]}),U==="right"&&I!=="right"&&a&&e.jsx("div",{id:`${F}-error`,className:"nice-field__error",role:"alert",children:a}),U==="right"&&I!=="right"&&!a&&i&&e.jsx("div",{id:`${F}-helper`,className:"nice-field__helper",children:i})]}),A&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),U==="right"&&ne,I==="right"&&a&&e.jsx("div",{id:`${F}-error`,className:"nice-field__error",role:"alert",children:a}),I==="right"&&!a&&i&&e.jsx("div",{id:`${F}-helper`,className:"nice-field__helper",children:i})]}),U!=="right"&&ne,U!=="right"&&I!=="right"&&a&&e.jsx("div",{id:`${F}-error`,className:"nice-field__error",role:"alert",children:a}),U!=="right"&&I!=="right"&&!a&&i&&e.jsx("div",{id:`${F}-helper`,className:"nice-field__helper",children:i})]})});Je.displayName="NicePasswordInput";const Pn=[{code:"PL",dialCode:"+48",name:"Poland",mask:"### ### ###"},{code:"US",dialCode:"+1",name:"United States",mask:"(###) ###-####"},{code:"GB",dialCode:"+44",name:"United Kingdom",mask:"#### ######"},{code:"DE",dialCode:"+49",name:"Germany",mask:"### ########"},{code:"FR",dialCode:"+33",name:"France",mask:"# ## ## ## ##"},{code:"CZ",dialCode:"+420",name:"Czech Republic",mask:"### ### ###"},{code:"SK",dialCode:"+421",name:"Slovakia",mask:"### ### ###"}],cn=127397;function Gn(n){return String.fromCodePoint(n.charCodeAt(0)+cn,n.charCodeAt(1)+cn)}function Vn(n,i){if(!i)return n;const a=n.replace(/\D/g,"");let c="",s=0;for(let r=0;r<i.length&&s<a.length;r++)i[r]==="#"?c+=a[s++]:c+=i[r];return c}function Be(n,i){return`${n}${i.replace(/\D/g,"")}`}const Qe=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,accessMode:g,value:p={},onChange:K,onBlur:te,countryCodes:z=Pn,defaultCountry:T="PL",placeholder:X,showFlag:Z=!0,validateE164:D=!1},U)=>{const oe=$._s(g,b),ee=oe==="hidden";oe==="disabled"&&(s=!0),oe==="readOnly"&&(r=!0);const{t:P}=$.$o(),I=$.ks(b),A=t.useMemo(()=>{const V=p.countryCode??T;return z.find(B=>B.code===V)??z[0]},[p.countryCode,T,z]),[m,N]=t.useState(),j=t.useMemo(()=>Vn(p.number??"",A?.mask),[p.number,A]),J=t.useCallback(V=>{const B=z.find(W=>W.code===V);if(!B)return;const k=p.number??"";K?.({countryCode:B.code,dialCode:B.dialCode,number:k,e164:Be(B.dialCode,k)})},[z,p.number,K]),G=t.useCallback(V=>{const B=V.replace(/\D/g,""),k=A;K?.({countryCode:k?.code,dialCode:k?.dialCode,number:B,e164:k?Be(k.dialCode,B):B}),N(void 0)},[A,K]),F=t.useCallback(V=>{if(D&&p.number){const B=Be(A?.dialCode??"",p.number);/^\+\d{7,15}$/.test(B)||N(P("invalidPhone","Invalid phone number"))}te?.(V)},[D,p.number,A,te,P]),R=a||m;return ee?null:e.jsxs("div",{ref:U,id:I,className:`nice-phone nice-size-${d}${S?` ${S}`:""}${R?" nice-error":""}${s?" nice-disabled":""}`,style:L,children:[n&&e.jsxs("label",{className:"nice-phone__label",children:[n,c&&e.jsx("span",{className:"nice-required",children:"*"})]}),e.jsxs("div",{className:"nice-phone__row",children:[e.jsx("select",{className:"nice-phone__country nice-select",value:A?.code,onChange:V=>J(V.target.value),disabled:s,"aria-label":P("countryCode","Country code"),children:z.map(V=>e.jsxs("option",{value:V.code,children:[Z?`${Gn(V.code)} `:"",V.dialCode," ",V.name]},V.code))}),e.jsx("input",{className:"nice-input nice-phone__number",type:"tel",name:o,value:j,onChange:V=>G(V.target.value),onBlur:F,placeholder:X??A?.mask?.replace(/#/g,"_")??"",disabled:s,readOnly:r,"aria-label":P("phoneNumber","Phone number")})]}),i&&e.jsx("span",{className:"nice-helper-text",children:i}),R&&typeof R=="string"&&e.jsx("span",{className:"nice-error-text",children:R})]})});Qe.displayName="NicePhoneInput";const Kn=({filled:n,size:i})=>e.jsxs("svg",{width:i,height:i,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n==="half"&&e.jsx("defs",{children:e.jsxs("linearGradient",{id:"halfGrad",children:[e.jsx("stop",{offset:"50%",stopColor:"currentColor"}),e.jsx("stop",{offset:"50%",stopColor:"transparent"})]})}),e.jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 22 12 18.27 5.82 22 7 14.14l-5-4.87 6.91-1.01L12 2z",fill:n==="full"?"currentColor":n==="half"?"url(#halfGrad)":"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"})]}),Yn={xxs:10,xs:14,sm:18,md:22,lg:28,xl:34,xxl:42},Xe=t.forwardRef(({value:n=0,onChange:i,count:a=5,half:c=!1,readOnly:s=!1,disabled:r=!1,size:d="md",label:o,icon:b,name:S,error:L,helperText:g,required:p,id:K,className:te,style:z,labelPlacement:T,errorPlacement:X,labelWidth:Z,controlWidth:D,valuePlacement:U="none",valueTemplate:oe,loading:ee,...P},I)=>{const{t:A}=$.$o(),m=$.ks(K),[N,j]=t.useState(null),J=Yn[d],G=!s&&!r&&!ee,F=N??n,R=h=>F>=h+1?"full":c&&F>=h+.5?"half":"empty",V=t.useCallback((h,u)=>{if(!G)return;const M=u&&c?h+.5:h+1;i?.(M===n?0:M)},[G,c,i,n]),B=t.useCallback((h,u)=>{if(G)if(c){const M=u.currentTarget.getBoundingClientRect(),Q=u.clientX-M.left<M.width/2;j(Q?h+.5:h+1)}else j(h+1)},[G,c]),k=t.useCallback(()=>{G&&j(null)},[G]),W=t.useCallback(h=>{if(!G)return;const u=c?.5:1;if(h.key==="ArrowRight"||h.key==="ArrowUp"){h.preventDefault();const M=Math.min(a,n+u);i?.(M)}else if(h.key==="ArrowLeft"||h.key==="ArrowDown"){h.preventDefault();const M=Math.max(0,n-u);i?.(M)}},[G,c,a,n,i]),ne=oe?oe.replace("{value}",String(n)):String(n);return e.jsxs("div",{className:`nice-field nice-field--${d} ${T==="left"?"nice-field--label-left":""} ${ee?"nice-field--loading":""} ${te||""}`,style:{...z,...Z!=null&&{"--nice-field-label-width":typeof Z=="number"?`${Z}px`:Z},...D!=null&&{"--nice-field-control-width":typeof D=="number"?`${D}px`:D}},"aria-busy":ee||void 0,...P,children:[o&&e.jsx("label",{htmlFor:m,className:`nice-field__label ${p?"nice-field__label--required":""}`,children:o}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("div",{ref:I,id:m,className:`nice-rating nice-rating--${d} ${r?"nice-rating--disabled":""} ${s?"nice-rating--readonly":""}`,role:"slider","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":a,"aria-label":o||A("controls.rating","Rating"),"aria-invalid":!!L,tabIndex:G?0:-1,onMouseLeave:k,onKeyDown:W,children:[S&&e.jsx("input",{type:"hidden",name:S,value:n}),Array.from({length:a},(h,u)=>{const M=R(u);return e.jsx("span",{className:`nice-rating__star nice-rating__star--${M}`,onClick:Q=>{if(!G)return;const pe=Q.currentTarget.getBoundingClientRect(),fe=c&&Q.clientX-pe.left<pe.width/2;V(u,fe)},onMouseMove:Q=>B(u,Q),"aria-label":`${u+1} ${A("controls.star","star")}`,children:b?b(M):e.jsx(Kn,{filled:M,size:J})},u)})]}),U==="right"&&e.jsx("span",{className:"nice-rating__value",children:ne}),U==="bottom"&&e.jsx("div",{className:"nice-rating__value nice-rating__value--bottom",children:ne}),ee&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),X==="right"&&L&&e.jsx("div",{id:`${m}-error`,className:"nice-field__error",role:"alert",children:L}),X==="right"&&!L&&g&&e.jsx("div",{id:`${m}-helper`,className:"nice-field__helper",children:g})]}),X!=="right"&&L&&e.jsx("div",{id:`${m}-error`,className:"nice-field__error",role:"alert",children:L}),X!=="right"&&!L&&g&&e.jsx("div",{id:`${m}-helper`,className:"nice-field__helper",children:g})]})});Xe.displayName="NiceRating";const Zn=[{label:"Polska",value:"PL"},{label:"Deutschland",value:"DE"},{label:"Česko",value:"CZ"},{label:"Slovensko",value:"SK"},{label:"United Kingdom",value:"GB"},{label:"United States",value:"US"},{label:"France",value:"FR"},{label:"Italia",value:"IT"},{label:"España",value:"ES"},{label:"Nederland",value:"NL"}],We=({label:n,helperText:i,error:a,errorPlacement:c="bottom",required:s,disabled:r,readOnly:d,loading:o,size:b="md",className:S,style:L,accessMode:g,id:p,value:K,defaultValue:te,onChange:z,columns:T=2,showState:X=!1,showBuilding:Z=!0,showApartment:D=!0,showCountry:U=!0,countryOptions:oe=Zn,defaultCountry:ee="PL",fieldLabels:P,fieldPlaceholders:I,showLabel:A=!0,labelPlacement:m,labelWidth:N,controlWidth:j})=>{const J=$._s(g,p),G=J==="hidden";J==="disabled"&&(r=!0),J==="readOnly"&&(d=!0);const{t:F}=$.$o(),R=K!==void 0,[V,B]=t.useState(te??{}),k=R?K:V,W=q=>{const ae={...k,...q};R||B(ae),z?.(ae)},ne={street:P?.street??F("address.street","Street"),building:P?.building??F("address.building","Building"),apartment:P?.apartment??F("address.apartment","Apt."),postalCode:P?.postalCode??F("address.postalCode","Postal code"),city:P?.city??F("address.city","City"),state:P?.state??F("address.state","State / Region"),country:P?.country??F("address.country","Country")},h=I??{},u=k.country??ee,M=m==="left"?"left":"top",Q={...L,...N!=null&&{"--nice-field-label-width":typeof N=="number"?`${N}px`:N},...j!=null&&{"--nice-field-control-width":typeof j=="number"?`${j}px`:j}},pe={display:"grid",gridTemplateColumns:`repeat(${T}, minmax(0, 1fr))`,gap:"8px 12px"},fe=T===2?{gridColumn:"span 2"}:{},C={size:b,disabled:r||o,readOnly:d,labelPlacement:M};return G?null:e.jsxs("div",{className:`nice-field nice-field--${b} nice-address nice-address--cols-${T} ${o?"nice-field--loading":""} ${S||""}`,style:Q,"aria-busy":o||void 0,children:[A&&n&&e.jsx("label",{className:`nice-field__label ${s?"nice-field__label--required":""}`,children:n}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("div",{className:"nice-address__grid",style:pe,children:[e.jsx("div",{style:fe,children:e.jsx(ke.NiceTextInput,{...C,label:ne.street,value:k.street??"",onChange:q=>W({street:q}),placeholder:h.street,required:s})}),Z&&e.jsx(ke.NiceTextInput,{...C,label:ne.building,value:k.building??"",onChange:q=>W({building:q}),placeholder:h.building}),D&&e.jsx(ke.NiceTextInput,{...C,label:ne.apartment,value:k.apartment??"",onChange:q=>W({apartment:q}),placeholder:h.apartment}),e.jsx(ke.NiceTextInput,{...C,label:ne.postalCode,value:k.postalCode??"",onChange:q=>W({postalCode:q}),placeholder:h.postalCode??"00-000",required:s}),e.jsx(ke.NiceTextInput,{...C,label:ne.city,value:k.city??"",onChange:q=>W({city:q}),placeholder:h.city,required:s}),X&&e.jsx(ke.NiceTextInput,{...C,label:ne.state,value:k.state??"",onChange:q=>W({state:q}),placeholder:h.state}),U&&e.jsx(ke.NiceSelect,{...C,label:ne.country,value:u,onChange:q=>W({country:typeof q=="string"?q:String(q??"")}),options:oe,required:s})]}),o&&e.jsx("span",{className:"nice-field__spinner nice-field__spinner--address",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),c==="right"&&a&&e.jsx("div",{className:"nice-field__error",role:"alert",children:a}),c==="right"&&!a&&i&&e.jsx("div",{className:"nice-field__helper",children:i})]}),c!=="right"&&a&&e.jsx("div",{className:"nice-field__error",role:"alert",children:a}),c!=="right"&&!a&&i&&e.jsx("div",{className:"nice-field__helper",children:i})]})};We.displayName="NiceAddress";const qn=Object.freeze({AR:["#74acdf","#ffffff","#74acdf"],AT:["#ed2939","#ffffff","#ed2939"],AU:["#012169","#ffffff","#e4002b"],BE:["#000000","#fae042","#ed2939"],BR:["#009c3b","#ffdf00","#002776"],CA:["#ff0000","#ffffff","#ff0000"],CH:["#d52b1e","#ffffff","#d52b1e"],CN:["#de2910","#ffde00","#de2910"],CZ:["#11457e","#ffffff","#d7141a"],DE:["#000000","#dd0000","#ffce00"],DK:["#c8102e","#ffffff","#c8102e"],EE:["#0072ce","#000000","#ffffff"],EG:["#ce1126","#ffffff","#000000"],ES:["#aa151b","#f1bf00","#aa151b"],FI:["#ffffff","#003580","#ffffff"],FR:["#0055a4","#ffffff","#ef4135"],GB:["#012169","#ffffff","#c8102e"],GR:["#0d5eaf","#ffffff","#0d5eaf"],HR:["#171796","#ffffff","#ff0000"],HU:["#ce2939","#ffffff","#477050"],IE:["#169b62","#ffffff","#ff883e"],IL:["#ffffff","#0038b8","#ffffff"],IN:["#ff9933","#ffffff","#138808"],IS:["#02529c","#ffffff","#dc1e35"],IT:["#009246","#ffffff","#ce2b37"],JP:["#ffffff","#bc002d","#ffffff"],KR:["#ffffff","#cd2e3a","#0047a0"],LT:["#fdb913","#006a44","#c1272d"],LU:["#ed2939","#ffffff","#00a1de"],LV:["#9e3039","#ffffff","#9e3039"],MX:["#006847","#ffffff","#ce1126"],NL:["#ae1c28","#ffffff","#21468b"],NO:["#ef2b2d","#ffffff","#002868"],NZ:["#012169","#ffffff","#cc142b"],PL:["#ffffff","#dc143c"],PT:["#006600","#ff0000"],RO:["#002b7f","#fcd116","#ce1126"],RU:["#ffffff","#0039a6","#d52b1e"],SE:["#006aa7","#fecc00","#006aa7"],SK:["#ffffff","#0b4ea2","#ee1c25"],TR:["#e30a17","#ffffff","#e30a17"],UA:["#005bbb","#ffd500"],US:["#b22234","#ffffff","#3c3b6e"],VN:["#da251d","#ffff00","#da251d"],ZA:["#007a4d","#ffffff","#de3831"],AD:["#10069f","#fedf00","#d50032"],AE:["#00732f","#ffffff","#000000"],AF:["#000000","#d32011","#007a36"],AG:["#ce1126","#fcd116","#000000"],AL:["#e41e20","#000000","#e41e20"],AM:["#d90012","#0033a0","#f2a800"],AO:["#ce1126","#000000","#ffc500"],AZ:["#0092bc","#ed2939","#509e2f"],BA:["#002395","#fecb00","#ffffff"],BB:["#00267f","#ffc726","#00267f"],BD:["#006a4e","#f42a41","#006a4e"],BF:["#ef2b2d","#009e49","#fcd116"],BG:["#ffffff","#00966e","#d62612"],BH:["#ffffff","#ce1126","#ce1126"],BI:["#1eb53a","#ffffff","#ce1126"],BJ:["#008751","#fcd116","#e8112d"],BN:["#f7e017","#ffffff","#000000"],BO:["#d52b1e","#f9e300","#007934"],BS:["#00778b","#ffc72c","#000000"],BT:["#ffcc33","#ff4e12","#ffcc33"],BW:["#75aadb","#ffffff","#000000"],BY:["#c8313e","#007c30","#ffffff"],BZ:["#003f87","#ce1126","#003f87"],CD:["#007fff","#f7d618","#ce1021"],CF:["#003082","#ffffff","#289728"],CG:["#009543","#fbde4a","#dc241f"],CI:["#f77f00","#ffffff","#009e60"],CM:["#007a5e","#ce1126","#fcd116"],CO:["#fcd116","#003893","#ce1126"],CR:["#002b7f","#ffffff","#ce1126"],CU:["#002590","#ffffff","#cf142b"],CV:["#003893","#ffffff","#cf2027"],CY:["#ffffff","#d57800","#ffffff"],DJ:["#6ab2e7","#ffffff","#12ad2b"],DM:["#006b3f","#ffffff","#000000"],DO:["#002d62","#ffffff","#ce1126"],DZ:["#006233","#ffffff","#d21034"],EC:["#ffd100","#034ea2","#ed1c24"],ER:["#ea0437","#0084c9","#418fde"],ET:["#078930","#fcdd09","#da121a"],FJ:["#68bfe5","#cc0000","#ffffff"],GA:["#3a75c4","#ffe700","#009e60"],GD:["#ce1126","#fcd116","#007a5e"],GE:["#ffffff","#ff0000","#ffffff"],GH:["#ce1126","#fcd116","#006b3f"],GM:["#ce1126","#ffffff","#0c1c8c"],GN:["#ce1126","#fcd116","#009460"],GQ:["#3e9a00","#ffffff","#e32118"],GT:["#4997d0","#ffffff","#4997d0"],GW:["#ce1126","#fcd116","#009e49"],GY:["#009e49","#ffffff","#fcd116"],HK:["#de2910","#ffffff","#de2910"],HN:["#0073cf","#ffffff","#0073cf"],HT:["#00209f","#d21034","#00209f"],ID:["#ff0000","#ffffff","#ff0000"],IQ:["#ce1126","#ffffff","#000000"],IR:["#239f40","#ffffff","#da0000"],JM:["#000000","#fed100","#009b3a"],JO:["#000000","#ffffff","#007a3d"],KE:["#000000","#bb0000","#006600"],KG:["#ff0000","#fcd116","#ff0000"],KH:["#032ea1","#e00025","#032ea1"],KM:["#fcd116","#ffffff","#ce1126"],KP:["#024fa2","#ed1c27","#024fa2"],KW:["#007a3d","#ffffff","#ce1126"],KZ:["#00afca","#fec50c","#00afca"],LA:["#ce1126","#002868","#ce1126"],LB:["#ed1c24","#ffffff","#ed1c24"],LI:["#002780","#ce1126","#002780"],LK:["#ffbe29","#8d153a","#00534e"],LR:["#bf0a30","#ffffff","#002868"],LS:["#00209f","#ffffff","#009543"],LY:["#e70013","#000000","#239e46"],MA:["#c1272d","#006233","#c1272d"],MD:["#0046ae","#ffd200","#cc092f"],ME:["#d4af37","#cc0033","#d4af37"],MG:["#ffffff","#fc3d32","#007e3a"],MH:["#003893","#dd7500","#ffffff"],MK:["#d20000","#ffe600","#d20000"],ML:["#14b53a","#fcd116","#ce1126"],MM:["#fecb00","#34b233","#ea2839"],MN:["#c4272f","#015197","#c4272f"],MO:["#00785a","#ffd700","#ffffff"],MR:["#006233","#ffc400","#d01c1f"],MT:["#ffffff","#cf142b","#ffffff"],MU:["#ea2839","#1a206d","#00a04d"],MV:["#d21034","#007e3a","#ffffff"],MW:["#000000","#ce1126","#339e35"],MY:["#cc0000","#ffffff","#010066"],MZ:["#009a44","#ffffff","#000000"],NA:["#003580","#ffffff","#009543"],NE:["#ff8000","#ffffff","#0db02b"],NG:["#008753","#ffffff","#008753"],NI:["#0067c6","#ffffff","#0067c6"],NP:["#dc143c","#003893","#dc143c"],OM:["#dc241f","#ffffff","#008000"],PA:["#ffffff","#cc0033","#005aa7"],PE:["#d91023","#ffffff","#d91023"],PG:["#ce1126","#000000","#fcd116"],PH:["#0038a8","#ffffff","#ce1126"],PK:["#ffffff","#01411c","#01411c"],PS:["#000000","#ffffff","#007a3d"],PY:["#d52b1e","#ffffff","#0038a8"],QA:["#ffffff","#8a1538","#8a1538"],RS:["#c6363c","#0c4076","#ffffff"],RW:["#00a1de","#fad201","#00a651"],SA:["#006c35","#ffffff","#006c35"],SB:["#0051ba","#fcd116","#215b33"],SC:["#003f87","#fcd116","#d62828"],SD:["#d21034","#ffffff","#000000"],SG:["#ed2939","#ffffff","#ed2939"],SI:["#ffffff","#0000ff","#ff0000"],SL:["#1eb53a","#ffffff","#0072c6"],SM:["#ffffff","#5eb6e4","#ffffff"],SN:["#00853f","#fdef42","#e31b23"],SO:["#4189dd","#ffffff","#4189dd"],SR:["#377e3f","#ffffff","#b40a2d"],SS:["#000000","#ce1126","#078930"],ST:["#12ad2b","#ffce00","#d21034"],SV:["#0047ab","#ffffff","#0047ab"],SY:["#ce1126","#ffffff","#000000"],SZ:["#3e5eb9","#ffd900","#b10c0c"],TD:["#002664","#fecb00","#c60c30"],TG:["#006a4e","#fcd116","#d21034"],TH:["#ed1c24","#ffffff","#241d4f"],TJ:["#cc0000","#ffffff","#006600"],TL:["#dc241f","#ffc726","#000000"],TM:["#00853e","#ffffff","#cc0000"],TN:["#e70013","#ffffff","#e70013"],TO:["#ffffff","#c10000","#c10000"],TT:["#ce1126","#ffffff","#000000"],TW:["#fe0000","#000095","#fe0000"],TZ:["#1eb53a","#fcd116","#00a3dd"],UG:["#000000","#fcdc04","#d90000"],UY:["#ffffff","#0038a8","#ffffff"],UZ:["#1eb53a","#ffffff","#0099b5"],VA:["#ffe000","#ffffff","#ffe000"],VE:["#fcd116","#00247d","#cf142b"],VU:["#000000","#ce1126","#009543"],WS:["#002b7f","#ffffff","#cc0033"],YE:["#ce1126","#ffffff","#000000"],ZM:["#198a00","#de2010","#ef7d00"],ZW:["#078930","#fcd116","#cf2027"]}),rn=["#cbd5e1","#94a3b8","#cbd5e1"];function On(n){return n?qn[n.toUpperCase()]??rn:rn}const Jn=kn.Flags3x2,Ge=({code:n,size:i=22,className:a})=>{const c=n?.toUpperCase(),s=c?Jn[c]:void 0,r=i,d=Math.round(i*2/3);return s?e.jsx("span",{className:a,role:"img","aria-label":`${c} flag`,style:{display:"inline-block",width:r,height:d,boxSizing:"content-box",border:"1px solid var(--nice-overlay-15, rgba(0, 0, 0, 0.15))",borderRadius:2,overflow:"hidden",flexShrink:0,verticalAlign:"middle",lineHeight:0},dangerouslySetInnerHTML:{__html:s.replace("<svg ",`<svg width="${r}" height="${d}" preserveAspectRatio="xMidYMid slice" `)}}):e.jsx(pn,{code:n,size:i,className:a})},pn=({code:n,size:i=18,className:a})=>{const c=On(n);return e.jsx("span",{className:a,role:"img","aria-label":`${n} flag`,style:{display:"inline-flex",width:i,height:Math.round(i*.7),boxSizing:"content-box",border:"1px solid var(--nice-overlay-15, rgba(0, 0, 0, 0.15))",borderRadius:2,overflow:"hidden",flexShrink:0,verticalAlign:"middle"},children:c.map((s,r)=>e.jsx("span",{style:{flex:1,background:s}},r))})};function mn(n,i,a,c=280){const[s,r]=t.useState(a==="left"?"left":"right"),d=t.useCallback(()=>{if(a!=="auto"){r(a);return}const o=i.current;if(!o||typeof window>"u")return;const b=o.getBoundingClientRect(),L=window.innerWidth-b.left,g=b.right;L>=c&&L>g?r("left"):r("right")},[a,i,c]);return t.useEffect(()=>{if(n)return d(),window.addEventListener("resize",d),window.addEventListener("scroll",d,!0),()=>{window.removeEventListener("resize",d),window.removeEventListener("scroll",d,!0)}},[n,d]),s}const Qn=({colors:n,size:i=28,shape:a="page",className:c})=>{const s=i,r=Math.round(i*.75),d=n.border??"color-mix(in srgb, currentColor 30%, transparent)";if(a==="swatch"){const p=[n.primary,n.background,n.backgroundSecondary??n.background,n.textColor];return e.jsx("span",{className:c,role:"img","aria-label":"Theme preview",style:{display:"inline-flex",width:s,height:r,border:`1px solid ${d}`,borderRadius:2,overflow:"hidden",flexShrink:0,verticalAlign:"middle"},children:p.map((K,te)=>e.jsx("span",{style:{flex:1,background:K}},te))})}const o=Math.max(2,Math.round(r*.22)),b=n.backgroundSecondary?Math.max(3,Math.round(s*.28)):0,S=Math.max(1,Math.round(r*.08)),L=Math.max(1,Math.round(r*.05)),g=Math.max(2,Math.round(s*.08));return e.jsxs("span",{className:c,role:"img","aria-label":"Theme preview",style:{position:"relative",display:"inline-block",width:s,height:r,boxSizing:"content-box",background:n.background,border:`1px solid ${d}`,borderRadius:2,overflow:"hidden",flexShrink:0,verticalAlign:"middle"},children:[e.jsx("span",{style:{position:"absolute",top:0,left:0,right:0,height:o,background:n.primary}}),b>0&&e.jsx("span",{style:{position:"absolute",top:o,left:0,bottom:0,width:b,background:n.backgroundSecondary}}),e.jsx("span",{style:{position:"absolute",top:o+L,left:b+g,right:g,height:S,background:n.textColor,opacity:.8,borderRadius:1}}),e.jsx("span",{style:{position:"absolute",top:o+L*2+S,left:b+g,width:`${Math.max(20,s-b-g*2-4)}px`,height:S,background:n.textColor,opacity:.5,borderRadius:1}})]})},gn=[{code:"US",name:"United States",dialCode:"+1",flag:"🇺🇸"},{code:"GB",name:"United Kingdom",dialCode:"+44",flag:"🇬🇧"},{code:"DE",name:"Germany",dialCode:"+49",flag:"🇩🇪"},{code:"FR",name:"France",dialCode:"+33",flag:"🇫🇷"},{code:"PL",name:"Poland",dialCode:"+48",flag:"🇵🇱"},{code:"ES",name:"Spain",dialCode:"+34",flag:"🇪🇸"},{code:"IT",name:"Italy",dialCode:"+39",flag:"🇮🇹"},{code:"NL",name:"Netherlands",dialCode:"+31",flag:"🇳🇱"},{code:"BE",name:"Belgium",dialCode:"+32",flag:"🇧🇪"},{code:"AT",name:"Austria",dialCode:"+43",flag:"🇦🇹"},{code:"CH",name:"Switzerland",dialCode:"+41",flag:"🇨🇭"},{code:"SE",name:"Sweden",dialCode:"+46",flag:"🇸🇪"},{code:"NO",name:"Norway",dialCode:"+47",flag:"🇳🇴"},{code:"DK",name:"Denmark",dialCode:"+45",flag:"🇩🇰"},{code:"FI",name:"Finland",dialCode:"+358",flag:"🇫🇮"},{code:"PT",name:"Portugal",dialCode:"+351",flag:"🇵🇹"},{code:"IE",name:"Ireland",dialCode:"+353",flag:"🇮🇪"},{code:"CZ",name:"Czech Republic",dialCode:"+420",flag:"🇨🇿"},{code:"SK",name:"Slovakia",dialCode:"+421",flag:"🇸🇰"},{code:"HU",name:"Hungary",dialCode:"+36",flag:"🇭🇺"},{code:"RO",name:"Romania",dialCode:"+40",flag:"🇷🇴"},{code:"BG",name:"Bulgaria",dialCode:"+359",flag:"🇧🇬"},{code:"GR",name:"Greece",dialCode:"+30",flag:"🇬🇷"},{code:"UA",name:"Ukraine",dialCode:"+380",flag:"🇺🇦"},{code:"RU",name:"Russia",dialCode:"+7",flag:"🇷🇺"},{code:"CA",name:"Canada",dialCode:"+1",flag:"🇨🇦"},{code:"AU",name:"Australia",dialCode:"+61",flag:"🇦🇺"},{code:"NZ",name:"New Zealand",dialCode:"+64",flag:"🇳🇿"},{code:"JP",name:"Japan",dialCode:"+81",flag:"🇯🇵"},{code:"KR",name:"South Korea",dialCode:"+82",flag:"🇰🇷"},{code:"CN",name:"China",dialCode:"+86",flag:"🇨🇳"},{code:"IN",name:"India",dialCode:"+91",flag:"🇮🇳"},{code:"SG",name:"Singapore",dialCode:"+65",flag:"🇸🇬"},{code:"MY",name:"Malaysia",dialCode:"+60",flag:"🇲🇾"},{code:"TH",name:"Thailand",dialCode:"+66",flag:"🇹🇭"},{code:"VN",name:"Vietnam",dialCode:"+84",flag:"🇻🇳"},{code:"ID",name:"Indonesia",dialCode:"+62",flag:"🇮🇩"},{code:"PH",name:"Philippines",dialCode:"+63",flag:"🇵🇭"},{code:"BR",name:"Brazil",dialCode:"+55",flag:"🇧🇷"},{code:"MX",name:"Mexico",dialCode:"+52",flag:"🇲🇽"},{code:"AR",name:"Argentina",dialCode:"+54",flag:"🇦🇷"},{code:"CL",name:"Chile",dialCode:"+56",flag:"🇨🇱"},{code:"CO",name:"Colombia",dialCode:"+57",flag:"🇨🇴"},{code:"PE",name:"Peru",dialCode:"+51",flag:"🇵🇪"},{code:"ZA",name:"South Africa",dialCode:"+27",flag:"🇿🇦"},{code:"EG",name:"Egypt",dialCode:"+20",flag:"🇪🇬"},{code:"NG",name:"Nigeria",dialCode:"+234",flag:"🇳🇬"},{code:"KE",name:"Kenya",dialCode:"+254",flag:"🇰🇪"},{code:"AE",name:"United Arab Emirates",dialCode:"+971",flag:"🇦🇪"},{code:"SA",name:"Saudi Arabia",dialCode:"+966",flag:"🇸🇦"},{code:"IL",name:"Israel",dialCode:"+972",flag:"🇮🇱"},{code:"TR",name:"Turkey",dialCode:"+90",flag:"🇹🇷"},{code:"AF",name:"Afghanistan",dialCode:"+93",flag:"🇦🇫"},{code:"AL",name:"Albania",dialCode:"+355",flag:"🇦🇱"},{code:"DZ",name:"Algeria",dialCode:"+213",flag:"🇩🇿"},{code:"AD",name:"Andorra",dialCode:"+376",flag:"🇦🇩"},{code:"AO",name:"Angola",dialCode:"+244",flag:"🇦🇴"},{code:"AG",name:"Antigua and Barbuda",dialCode:"+1268",flag:"🇦🇬"},{code:"AM",name:"Armenia",dialCode:"+374",flag:"🇦🇲"},{code:"AZ",name:"Azerbaijan",dialCode:"+994",flag:"🇦🇿"},{code:"BS",name:"Bahamas",dialCode:"+1242",flag:"🇧🇸"},{code:"BH",name:"Bahrain",dialCode:"+973",flag:"🇧🇭"},{code:"BD",name:"Bangladesh",dialCode:"+880",flag:"🇧🇩"},{code:"BB",name:"Barbados",dialCode:"+1246",flag:"🇧🇧"},{code:"BY",name:"Belarus",dialCode:"+375",flag:"🇧🇾"},{code:"BZ",name:"Belize",dialCode:"+501",flag:"🇧🇿"},{code:"BJ",name:"Benin",dialCode:"+229",flag:"🇧🇯"},{code:"BT",name:"Bhutan",dialCode:"+975",flag:"🇧🇹"},{code:"BO",name:"Bolivia",dialCode:"+591",flag:"🇧🇴"},{code:"BA",name:"Bosnia and Herzegovina",dialCode:"+387",flag:"🇧🇦"},{code:"BW",name:"Botswana",dialCode:"+267",flag:"🇧🇼"},{code:"BN",name:"Brunei",dialCode:"+673",flag:"🇧🇳"},{code:"BF",name:"Burkina Faso",dialCode:"+226",flag:"🇧🇫"},{code:"BI",name:"Burundi",dialCode:"+257",flag:"🇧🇮"},{code:"CV",name:"Cape Verde",dialCode:"+238",flag:"🇨🇻"},{code:"KH",name:"Cambodia",dialCode:"+855",flag:"🇰🇭"},{code:"CM",name:"Cameroon",dialCode:"+237",flag:"🇨🇲"},{code:"CF",name:"Central African Republic",dialCode:"+236",flag:"🇨🇫"},{code:"TD",name:"Chad",dialCode:"+235",flag:"🇹🇩"},{code:"KM",name:"Comoros",dialCode:"+269",flag:"🇰🇲"},{code:"CG",name:"Congo",dialCode:"+242",flag:"🇨🇬"},{code:"CD",name:"DR Congo",dialCode:"+243",flag:"🇨🇩"},{code:"CR",name:"Costa Rica",dialCode:"+506",flag:"🇨🇷"},{code:"CI",name:"Côte d'Ivoire",dialCode:"+225",flag:"🇨🇮"},{code:"HR",name:"Croatia",dialCode:"+385",flag:"🇭🇷"},{code:"CU",name:"Cuba",dialCode:"+53",flag:"🇨🇺"},{code:"CY",name:"Cyprus",dialCode:"+357",flag:"🇨🇾"},{code:"DJ",name:"Djibouti",dialCode:"+253",flag:"🇩🇯"},{code:"DM",name:"Dominica",dialCode:"+1767",flag:"🇩🇲"},{code:"DO",name:"Dominican Republic",dialCode:"+1809",flag:"🇩🇴"},{code:"EC",name:"Ecuador",dialCode:"+593",flag:"🇪🇨"},{code:"SV",name:"El Salvador",dialCode:"+503",flag:"🇸🇻"},{code:"GQ",name:"Equatorial Guinea",dialCode:"+240",flag:"🇬🇶"},{code:"ER",name:"Eritrea",dialCode:"+291",flag:"🇪🇷"},{code:"EE",name:"Estonia",dialCode:"+372",flag:"🇪🇪"},{code:"SZ",name:"Eswatini",dialCode:"+268",flag:"🇸🇿"},{code:"ET",name:"Ethiopia",dialCode:"+251",flag:"🇪🇹"},{code:"FJ",name:"Fiji",dialCode:"+679",flag:"🇫🇯"},{code:"GA",name:"Gabon",dialCode:"+241",flag:"🇬🇦"},{code:"GM",name:"Gambia",dialCode:"+220",flag:"🇬🇲"},{code:"GE",name:"Georgia",dialCode:"+995",flag:"🇬🇪"},{code:"GH",name:"Ghana",dialCode:"+233",flag:"🇬🇭"},{code:"GD",name:"Grenada",dialCode:"+1473",flag:"🇬🇩"},{code:"GT",name:"Guatemala",dialCode:"+502",flag:"🇬🇹"},{code:"GN",name:"Guinea",dialCode:"+224",flag:"🇬🇳"},{code:"GW",name:"Guinea-Bissau",dialCode:"+245",flag:"🇬🇼"},{code:"GY",name:"Guyana",dialCode:"+592",flag:"🇬🇾"},{code:"HT",name:"Haiti",dialCode:"+509",flag:"🇭🇹"},{code:"HN",name:"Honduras",dialCode:"+504",flag:"🇭🇳"},{code:"HK",name:"Hong Kong",dialCode:"+852",flag:"🇭🇰"},{code:"IS",name:"Iceland",dialCode:"+354",flag:"🇮🇸"},{code:"IQ",name:"Iraq",dialCode:"+964",flag:"🇮🇶"},{code:"IR",name:"Iran",dialCode:"+98",flag:"🇮🇷"},{code:"JM",name:"Jamaica",dialCode:"+1876",flag:"🇯🇲"},{code:"JO",name:"Jordan",dialCode:"+962",flag:"🇯🇴"},{code:"KZ",name:"Kazakhstan",dialCode:"+7",flag:"🇰🇿"},{code:"KW",name:"Kuwait",dialCode:"+965",flag:"🇰🇼"},{code:"KG",name:"Kyrgyzstan",dialCode:"+996",flag:"🇰🇬"},{code:"LA",name:"Laos",dialCode:"+856",flag:"🇱🇦"},{code:"LV",name:"Latvia",dialCode:"+371",flag:"🇱🇻"},{code:"LB",name:"Lebanon",dialCode:"+961",flag:"🇱🇧"},{code:"LS",name:"Lesotho",dialCode:"+266",flag:"🇱🇸"},{code:"LR",name:"Liberia",dialCode:"+231",flag:"🇱🇷"},{code:"LY",name:"Libya",dialCode:"+218",flag:"🇱🇾"},{code:"LI",name:"Liechtenstein",dialCode:"+423",flag:"🇱🇮"},{code:"LT",name:"Lithuania",dialCode:"+370",flag:"🇱🇹"},{code:"LU",name:"Luxembourg",dialCode:"+352",flag:"🇱🇺"},{code:"MO",name:"Macau",dialCode:"+853",flag:"🇲🇴"},{code:"MK",name:"North Macedonia",dialCode:"+389",flag:"🇲🇰"},{code:"MG",name:"Madagascar",dialCode:"+261",flag:"🇲🇬"},{code:"MW",name:"Malawi",dialCode:"+265",flag:"🇲🇼"},{code:"MV",name:"Maldives",dialCode:"+960",flag:"🇲🇻"},{code:"ML",name:"Mali",dialCode:"+223",flag:"🇲🇱"},{code:"MT",name:"Malta",dialCode:"+356",flag:"🇲🇹"},{code:"MR",name:"Mauritania",dialCode:"+222",flag:"🇲🇷"},{code:"MU",name:"Mauritius",dialCode:"+230",flag:"🇲🇺"},{code:"MD",name:"Moldova",dialCode:"+373",flag:"🇲🇩"},{code:"MC",name:"Monaco",dialCode:"+377",flag:"🇲🇨"},{code:"MN",name:"Mongolia",dialCode:"+976",flag:"🇲🇳"},{code:"ME",name:"Montenegro",dialCode:"+382",flag:"🇲🇪"},{code:"MA",name:"Morocco",dialCode:"+212",flag:"🇲🇦"},{code:"MZ",name:"Mozambique",dialCode:"+258",flag:"🇲🇿"},{code:"MM",name:"Myanmar",dialCode:"+95",flag:"🇲🇲"},{code:"NA",name:"Namibia",dialCode:"+264",flag:"🇳🇦"},{code:"NP",name:"Nepal",dialCode:"+977",flag:"🇳🇵"},{code:"NI",name:"Nicaragua",dialCode:"+505",flag:"🇳🇮"},{code:"NE",name:"Niger",dialCode:"+227",flag:"🇳🇪"},{code:"KP",name:"North Korea",dialCode:"+850",flag:"🇰🇵"},{code:"OM",name:"Oman",dialCode:"+968",flag:"🇴🇲"},{code:"PK",name:"Pakistan",dialCode:"+92",flag:"🇵🇰"},{code:"PS",name:"Palestine",dialCode:"+970",flag:"🇵🇸"},{code:"PA",name:"Panama",dialCode:"+507",flag:"🇵🇦"},{code:"PG",name:"Papua New Guinea",dialCode:"+675",flag:"🇵🇬"},{code:"PY",name:"Paraguay",dialCode:"+595",flag:"🇵🇾"},{code:"QA",name:"Qatar",dialCode:"+974",flag:"🇶🇦"},{code:"RW",name:"Rwanda",dialCode:"+250",flag:"🇷🇼"},{code:"WS",name:"Samoa",dialCode:"+685",flag:"🇼🇸"},{code:"SM",name:"San Marino",dialCode:"+378",flag:"🇸🇲"},{code:"ST",name:"São Tomé and Príncipe",dialCode:"+239",flag:"🇸🇹"},{code:"SN",name:"Senegal",dialCode:"+221",flag:"🇸🇳"},{code:"RS",name:"Serbia",dialCode:"+381",flag:"🇷🇸"},{code:"SC",name:"Seychelles",dialCode:"+248",flag:"🇸🇨"},{code:"SL",name:"Sierra Leone",dialCode:"+232",flag:"🇸🇱"},{code:"SI",name:"Slovenia",dialCode:"+386",flag:"🇸🇮"},{code:"SB",name:"Solomon Islands",dialCode:"+677",flag:"🇸🇧"},{code:"SO",name:"Somalia",dialCode:"+252",flag:"🇸🇴"},{code:"SS",name:"South Sudan",dialCode:"+211",flag:"🇸🇸"},{code:"LK",name:"Sri Lanka",dialCode:"+94",flag:"🇱🇰"},{code:"SD",name:"Sudan",dialCode:"+249",flag:"🇸🇩"},{code:"SR",name:"Suriname",dialCode:"+597",flag:"🇸🇷"},{code:"SY",name:"Syria",dialCode:"+963",flag:"🇸🇾"},{code:"TW",name:"Taiwan",dialCode:"+886",flag:"🇹🇼"},{code:"TJ",name:"Tajikistan",dialCode:"+992",flag:"🇹🇯"},{code:"TZ",name:"Tanzania",dialCode:"+255",flag:"🇹🇿"},{code:"TL",name:"Timor-Leste",dialCode:"+670",flag:"🇹🇱"},{code:"TG",name:"Togo",dialCode:"+228",flag:"🇹🇬"},{code:"TO",name:"Tonga",dialCode:"+676",flag:"🇹🇴"},{code:"TT",name:"Trinidad and Tobago",dialCode:"+1868",flag:"🇹🇹"},{code:"TN",name:"Tunisia",dialCode:"+216",flag:"🇹🇳"},{code:"TM",name:"Turkmenistan",dialCode:"+993",flag:"🇹🇲"},{code:"UG",name:"Uganda",dialCode:"+256",flag:"🇺🇬"},{code:"UY",name:"Uruguay",dialCode:"+598",flag:"🇺🇾"},{code:"UZ",name:"Uzbekistan",dialCode:"+998",flag:"🇺🇿"},{code:"VU",name:"Vanuatu",dialCode:"+678",flag:"🇻🇺"},{code:"VA",name:"Vatican City",dialCode:"+379",flag:"🇻🇦"},{code:"VE",name:"Venezuela",dialCode:"+58",flag:"🇻🇪"},{code:"YE",name:"Yemen",dialCode:"+967",flag:"🇾🇪"},{code:"ZM",name:"Zambia",dialCode:"+260",flag:"🇿🇲"},{code:"ZW",name:"Zimbabwe",dialCode:"+263",flag:"🇿🇼"}],en=({value:n,defaultValue:i,onChange:a,placeholder:c,showSearch:s=!0,searchPlaceholder:r,showDialCode:d,showFlag:o,showFlagInValue:b,showFlagInMenu:S,showTextInValue:L,showTextInMenu:g,showDialCodeInValue:p,showDialCodeInMenu:K,showCodeInValue:te=!1,showCodeInMenu:z=!1,compact:T=!1,dropdownAlign:X,disabled:Z=!1,countries:D,priorityCountries:U=["US","GB","DE","FR","PL"],allowClear:oe=!1,size:ee="md",className:P="",style:I,label:A,helperText:m,error:N,required:j,readOnly:J,loading:G,labelPlacement:F,errorPlacement:R,labelWidth:V,controlWidth:B,id:k,"data-testid":W="nice-country-picker"})=>{const{t:ne}=$.$o(),h=t.useRef(null),u=t.useRef(null),M=t.useRef(null),[Q,pe]=t.useState(i),[fe,C]=t.useState(!1),[q,ae]=t.useState(""),[l,E]=t.useState(0),ue=b??o??!0,ye=S??o??!0,be=L??!T,xe=g??!0,ve=p??d??!T,y=K??d??!0,H=mn(fe,u,X??(T?"auto":"left")),Y=n!==void 0?n:Q,Ce=t.useMemo(()=>{let x=gn;if(D){const ce=new Set(D.map(me=>me.toUpperCase()));x=x.filter(me=>ce.has(me.code))}return x},[D]),se=t.useMemo(()=>{if(!U?.length)return Ce;const x=new Set(U.map(re=>re.toUpperCase())),ce=Ce.filter(re=>x.has(re.code)),me=Ce.filter(re=>!x.has(re.code));return[...ce,...me]},[Ce,U]),le=t.useMemo(()=>{if(!q)return se;const x=q.toLowerCase();return se.filter(ce=>ce.name.toLowerCase().includes(x)||ce.code.toLowerCase().includes(x)||ce.dialCode.includes(x))},[se,q]),f=t.useMemo(()=>Y?Ce.find(x=>x.code===Y)??null:null,[Y,Ce]);t.useEffect(()=>{if(!fe)return;const x=ce=>{h.current&&!h.current.contains(ce.target)&&(C(!1),ae(""))};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[fe]),t.useEffect(()=>{fe&&s&&M.current&&M.current.focus()},[fe,s]),t.useEffect(()=>{E(0)},[q]);const de=t.useCallback(x=>{n===void 0&&pe(x.code),a?.(x),C(!1),ae("")},[n,a]),_=t.useCallback(x=>{x.stopPropagation(),n===void 0&&pe(void 0),a?.(null)},[n,a]),w=t.useCallback(x=>{if(!fe){(x.key==="Enter"||x.key===" "||x.key==="ArrowDown")&&(x.preventDefault(),C(!0));return}switch(x.key){case"ArrowDown":x.preventDefault(),E(ce=>Math.min(ce+1,le.length-1));break;case"ArrowUp":x.preventDefault(),E(ce=>Math.max(ce-1,0));break;case"Enter":x.preventDefault(),le[l]&&de(le[l]);break;case"Escape":x.preventDefault(),C(!1),ae("");break}},[fe,le,l,de]);return e.jsxs("div",{ref:h,className:`nice-field nice-field--${ee} nice-field--country-picker ${F==="left"?"nice-field--label-left":""} ${R==="right"?"nice-field--error-right":""} ${N?"nice-field--error":""} ${G?"nice-field--loading":""} nice-country-picker nice-country-picker--${ee} ${T?"nice-country-picker--compact":""} ${fe?"nice-country-picker--open":""} ${Z?"nice-country-picker--disabled":""} ${P}`,style:{...I,...V!=null&&{"--nice-field-label-width":typeof V=="number"?`${V}px`:V},...B!=null&&{"--nice-field-control-width":typeof B=="number"?`${B}px`:B}},"data-testid":W,"aria-busy":G||void 0,children:[A&&e.jsxs("label",{className:"nice-field__label",htmlFor:k,children:[A,j&&e.jsx("span",{className:"nice-field__required",children:"*"})]}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("button",{ref:u,type:"button",className:"nice-country-picker__trigger",onClick:()=>!Z&&!J&&C(!fe),onKeyDown:w,disabled:Z,id:k,"aria-haspopup":"listbox","aria-expanded":fe,"aria-invalid":N?!0:void 0,"data-testid":`${W}-trigger`,children:[f?e.jsxs("span",{className:"nice-country-picker__value",children:[ue&&e.jsx("span",{className:"nice-country-picker__flag","aria-hidden":"true",children:e.jsx(Ge,{code:f.code})}),be&&e.jsx("span",{className:"nice-country-picker__name",children:f.name}),te&&e.jsx("span",{className:"nice-country-picker__code",children:f.code}),ve&&e.jsxs("span",{className:"nice-country-picker__dial-code",children:["(",f.dialCode,")"]})]}):e.jsx("span",{className:"nice-country-picker__placeholder",children:T?"":c??ne("controls.select","Select country")}),e.jsxs("span",{className:"nice-country-picker__icons",children:[oe&&f&&!Z&&!J&&e.jsx("span",{className:"nice-country-picker__clear",onClick:_,"aria-label":ne("clear","Clear"),children:"✕"}),e.jsx("span",{className:"nice-country-picker__arrow",children:fe?"▲":"▼"})]})]}),fe&&e.jsxs("div",{className:`nice-country-picker__dropdown nice-country-picker__dropdown--align-${H}`,role:"listbox","data-testid":`${W}-dropdown`,children:[s&&e.jsx("div",{className:"nice-country-picker__search",children:e.jsx("input",{ref:M,type:"text",value:q,onChange:x=>ae(x.target.value),onKeyDown:w,placeholder:r??ne("search","Search"),className:"nice-country-picker__search-input","data-testid":`${W}-search`})}),e.jsx("div",{className:"nice-country-picker__list",children:le.length===0?e.jsx("div",{className:"nice-country-picker__empty",children:ne("noData","No countries found")}):le.map((x,ce)=>e.jsxs("div",{className:`nice-country-picker__option ${x.code===Y?"nice-country-picker__option--selected":""} ${ce===l?"nice-country-picker__option--highlighted":""}`,onClick:()=>de(x),onMouseEnter:()=>E(ce),role:"option","aria-selected":x.code===Y,"data-testid":`${W}-option-${x.code}`,children:[ye&&e.jsx("span",{className:"nice-country-picker__flag","aria-hidden":"true",children:e.jsx(Ge,{code:x.code})}),xe&&e.jsx("span",{className:"nice-country-picker__name",children:x.name}),z&&e.jsx("span",{className:"nice-country-picker__code",children:x.code}),y&&e.jsx("span",{className:"nice-country-picker__dial-code",children:x.dialCode})]},x.code))})]}),G&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),R==="right"&&N&&e.jsx("div",{className:"nice-field__error",role:"alert",children:N}),R==="right"&&!N&&m&&e.jsx("div",{className:"nice-field__helper",children:m})]}),R!=="right"&&N&&e.jsx("div",{className:"nice-field__error",role:"alert",children:N}),R!=="right"&&!N&&m&&e.jsx("div",{className:"nice-field__helper",children:m})]})};en.displayName="NiceCountryPicker";function Re(n){return n.toString().padStart(2,"0")}function Xn(n){if(!n)return{date:"",hours:0,minutes:0,seconds:0};const i=new Date(n);if(isNaN(i.getTime()))return{date:"",hours:0,minutes:0,seconds:0};const a=i.getFullYear(),c=Re(i.getMonth()+1),s=Re(i.getDate());return{date:`${a}-${c}-${s}`,hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds()}}function Wn(n,i,a,c){return n?`${n}T${Re(i)}:${Re(a)}:${Re(c)}`:""}const nn=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,value:g,onChange:p,onBlur:K,min:te,max:z,hourFormat:T="24",minuteStep:X=1,showSeconds:Z=!1,showNow:D=!1,clearable:U=!1,...oe},ee)=>{const{t:P}=$.$o(),I=$.ks(b),A=t.useRef(null),m=t.useMemo(()=>Xn(g),[g]),N=t.useCallback((u,M,Q,pe)=>{p?.(Wn(u,M,Q,pe))},[p]),j=t.useCallback(u=>{N(u.target.value,m.hours,m.minutes,m.seconds)},[N,m]),J=t.useCallback(u=>{const M=Math.max(0,Math.min(23,parseInt(u.target.value,10)||0));N(m.date,M,m.minutes,m.seconds)},[N,m]),G=t.useCallback(u=>{const M=Math.max(0,Math.min(59,parseInt(u.target.value,10)||0));N(m.date,m.hours,M,m.seconds)},[N,m]),F=t.useCallback(u=>{const M=Math.max(0,Math.min(59,parseInt(u.target.value,10)||0));N(m.date,m.hours,m.minutes,M)},[N,m]),R=t.useCallback(()=>{const u=m.hours>=12?m.hours-12:m.hours+12;N(m.date,u,m.minutes,m.seconds)},[N,m]),V=t.useCallback(()=>{const u=new Date,M=`${u.getFullYear()}-${Re(u.getMonth()+1)}-${Re(u.getDate())}`;N(M,u.getHours(),u.getMinutes(),u.getSeconds())},[N]),B=t.useCallback(()=>{p?.("")},[p]),k=T==="12"?m.hours===0?12:m.hours>12?m.hours-12:m.hours:m.hours,W=m.hours>=12?"PM":"AM",ne=te?te.split("T")[0]:void 0,h=z?z.split("T")[0]:void 0;return e.jsxs("div",{ref:ee,className:`nice-field ${S||""}`,style:L,...oe,children:[n&&e.jsx("label",{htmlFor:I,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:n}),e.jsxs("div",{className:`nice-datetime nice-datetime--${d} ${a?"nice-datetime--error":""} ${s?"nice-datetime--disabled":""} ${r?"nice-datetime--readonly":""}`,children:[e.jsx("input",{ref:A,id:I,type:"date",className:"nice-datetime__date",name:o?`${o}_date`:void 0,value:m.date,min:ne,max:h,disabled:s,readOnly:r,"aria-invalid":!!a,"aria-describedby":a?`${I}-error`:i?`${I}-helper`:void 0,onChange:j,onBlur:K}),e.jsx("span",{className:"nice-datetime__separator",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{d:"M10 2a8 8 0 100 16 8 8 0 000-16zm.75 4a.75.75 0 00-1.5 0v4c0 .2.08.39.22.53l2 2a.75.75 0 101.06-1.06L10.75 9.69V6z"})})}),e.jsx("input",{type:"number",className:"nice-datetime__time-part",value:k,min:T==="12"?1:0,max:T==="12"?12:23,disabled:s,readOnly:r,"aria-label":P("datetime.hours","Hours"),onChange:J}),e.jsx("span",{className:"nice-datetime__colon",children:":"}),e.jsx("input",{type:"number",className:"nice-datetime__time-part",value:Re(m.minutes),min:0,max:59,step:X,disabled:s,readOnly:r,"aria-label":P("datetime.minutes","Minutes"),onChange:G}),Z&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"nice-datetime__colon",children:":"}),e.jsx("input",{type:"number",className:"nice-datetime__time-part",value:Re(m.seconds),min:0,max:59,disabled:s,readOnly:r,"aria-label":P("datetime.seconds","Seconds"),onChange:F})]}),T==="12"&&e.jsx("button",{type:"button",className:"nice-datetime__ampm",disabled:s||r,onClick:R,"aria-label":P("datetime.toggleAmPm","Toggle AM/PM"),children:W}),D&&e.jsx("button",{type:"button",className:"nice-datetime__now",disabled:s||r,onClick:V,"aria-label":P("datetime.now","Now"),children:P("datetime.now","Now")}),U&&g&&e.jsx("button",{type:"button",className:"nice-input__clear",disabled:s||r,onClick:B,"aria-label":P("controls.clear","Clear"),children:"✕"})]}),a&&e.jsx("div",{id:`${I}-error`,className:"nice-field__error",role:"alert",children:a}),!a&&i&&e.jsx("div",{id:`${I}-helper`,className:"nice-field__helper",children:i})]})});nn.displayName="NiceDateTimePicker";function Se(n){return n.toString().padStart(2,"0")}function Ue(n){if(!n)return{hours:0,minutes:0,seconds:0};const i=n.split(":").map(Number);return{hours:Math.max(0,Math.min(23,i[0]||0)),minutes:Math.max(0,Math.min(59,i[1]||0)),seconds:Math.max(0,Math.min(59,i[2]||0))}}function ea(n,i,a,c){return c?`${Se(n)}:${Se(i)}:${Se(a)}`:`${Se(n)}:${Se(i)}`}function na(n,i,a){const{hours:c,minutes:s,seconds:r}=Ue(n),d=new Date(a);if(i!=null){const b=typeof i=="string"?new Date(i):new Date(i.getTime());if(!Number.isNaN(b.getTime()))return b.setHours(c,s,r,0),b}const o=new Date(d);return o.setHours(c,s,r,0),o.getTime()<=d.getTime()&&o.setDate(o.getDate()+1),o}function hn(n,i){if(n<=0)return i;const a=Math.floor(n/864e5),c=Math.floor(n%864e5/36e5),s=Math.floor(n%36e5/6e4),r=Math.floor(n%6e4/1e3),d=`${Se(c)}:${Se(s)}:${Se(r)}`;return a>0?`${a}d ${d}`:d}function aa(n,i){if(n<=0)return i;const a=Math.floor(n/864e5),c=Math.floor(n%864e5/36e5),s=Math.floor(n%36e5/6e4),r=Math.floor(n%6e4/1e3),d=[];return a&&d.push(`${a}d`),(a||c)&&d.push(`${c}h`),(a||c||s)&&d.push(`${s}m`),d.push(`${r}s`),d.join(" ")}function ia(n,i){if(n<=0)return i;const a=Math.floor(n/1e3),c=Math.floor(a/3600),s=Math.floor(a%3600/60),r=a%60;return c>0?`${Se(c)}:${Se(s)}:${Se(r)}`:`${Se(s)}:${Se(r)}`}function ta(n,i){if(n<=0)return i;const a=Math.floor(n/1e3),c=Math.floor(a/86400);if(c)return`${c}d`;const s=Math.floor(a/3600);if(s)return`${s}h`;const r=Math.floor(a/60);return r?`${r}m`:`${a}s`}function sa(n,i){if(n<=0)return i;const a=Math.floor(n/1e3),c=Math.floor(a/86400),s=Math.floor(a%86400/3600),r=Math.floor(a%3600/60),d=[];return c&&d.push(`${c} ${c===1?"day":"days"}`),s&&d.push(`${s} ${s===1?"hour":"hours"}`),r&&d.push(`${r} ${r===1?"minute":"minutes"}`),d.length?d.join(", "):"less than a minute"}const ca={verbose:hn,compact:aa,short:ia,minimal:ta,words:sa},an=t.forwardRef(({label:n,helperText:i,error:a,required:c,disabled:s,readOnly:r,size:d="md",name:o,id:b,className:S,style:L,value:g,onChange:p,onBlur:K,hourFormat:te="24",minuteStep:z=1,showSeconds:T=!1,min:X,max:Z,clearable:D=!1,labelPlacement:U,errorPlacement:oe,loading:ee,labelWidth:P,controlWidth:I,targetDate:A,onTargetChange:m,countdown:N=!1,countdownFormat:j="verbose",formatCountdown:J,countdownLabel:G,countdownInterval:F=1e3,countdownDoneText:R="now",...V},B)=>{const{t:k}=$.$o(),W=$.ks(b),ne=t.useRef(null),h=t.useMemo(()=>Ue(g),[g]),u=T?6:4,M=t.useCallback(f=>{const de=f.slice(0,u);if(de.length===0)return"";let _=de.slice(0,2);return de.length>2&&(_+=":"+de.slice(2,4)),T&&de.length>4&&(_+=":"+de.slice(4,6)),_},[u,T]),Q=t.useCallback(f=>f.replace(/\D/g,"").slice(0,u),[u]),pe=t.useMemo(()=>g?Q(g):"",[g,Q]),fe=M(pe),[C,q]=t.useState(()=>Date.now());t.useEffect(()=>{if(!N)return;const f=window.setInterval(()=>q(Date.now()),Math.max(100,F));return()=>window.clearInterval(f)},[N,F]);const ae=t.useMemo(()=>na(g,A,C),[g,A,C]),l=t.useRef(0);t.useEffect(()=>{if(!m)return;const f=ae.getTime();f!==l.current&&(l.current=f,m(ae))},[ae,m]);const E=t.useMemo(()=>{if(!N)return null;const f=ae.getTime()-C;return J?J(f,ae):(ca[j]??hn)(f,R)},[N,ae,C,J,j,R]),ue=t.useCallback((f,de,_)=>{p?.(ea(f,de,_,T))},[p,T]),ye=t.useCallback((f,de,_)=>{if(X){const w=Ue(X),x=w.hours*3600+w.minutes*60+w.seconds;if(f*3600+de*60+_<x)return[w.hours,w.minutes,w.seconds]}if(Z){const w=Ue(Z),x=w.hours*3600+w.minutes*60+w.seconds;if(f*3600+de*60+_>x)return[w.hours,w.minutes,w.seconds]}return[f,de,_]},[X,Z]),be=t.useCallback(()=>{const f=h.hours>=12?h.hours-12:h.hours+12,[de,_,w]=ye(f,h.minutes,h.seconds);ue(de,_,w)},[ue,h,ye]),xe=t.useCallback(()=>{p?.("")},[p]),ve=t.useCallback(f=>{if(r||s)return;if(f.length===0){p?.("");return}const de=parseInt(f.slice(0,2)||"0",10),_=parseInt(f.slice(2,4)||"0",10),w=T?parseInt(f.slice(4,6)||"0",10):0,x=Math.max(0,Math.min(23,isNaN(de)?0:de)),ce=Math.max(0,Math.min(59,isNaN(_)?0:_)),me=Math.max(0,Math.min(59,isNaN(w)?0:w)),[re,Me,v]=ye(x,ce,me);if(f.length<u){p?.(M(f));return}ue(re,Me,v)},[r,s,T,u,M,ye,ue,p]),y=t.useCallback(f=>{const de=Q(f.currentTarget.value);ve(de)},[Q,ve]),H=t.useCallback(f=>{if(!(r||s)){if(f.key==="ArrowUp"||f.key==="ArrowDown"){f.preventDefault();const de=f.key==="ArrowUp"?1:-1,_=h.hours;let w=h.minutes,x=h.seconds;T?x=((x+de)%60+60)%60:w=((w+de*z)%60+60)%60;const[ce,me,re]=ye(_,w,x);ue(ce,me,re);return}f.key==="Escape"&&g&&(f.preventDefault(),p?.(""))}},[r,s,h,T,z,ye,ue,g,p]),Y=h.hours>=12?"PM":"AM",Ce=t.useCallback(f=>{f.target.select()},[]),se=t.useCallback(f=>{K?.(f)},[K]),le=N&&E!=null&&e.jsxs("span",{className:"nice-timepicker__countdown",title:ae.toLocaleString(),"aria-live":"polite",children:[G&&e.jsx("span",{className:"nice-timepicker__countdown-label",children:G}),e.jsx("span",{className:"nice-timepicker__countdown-value",children:E})]});return e.jsxs("div",{ref:B,className:`nice-field nice-field--${d} ${U==="left"?"nice-field--label-left":""} ${ee?"nice-field--loading":""} ${S||""}`,style:{...L,...P!=null&&{"--nice-field-label-width":typeof P=="number"?`${P}px`:P},...I!=null&&{"--nice-field-control-width":typeof I=="number"?`${I}px`:I}},"aria-busy":ee||void 0,...V,children:[n&&e.jsx("label",{htmlFor:W,className:`nice-field__label ${c?"nice-field__label--required":""}`,children:n}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("div",{className:`nice-timepicker nice-timepicker--${d} ${a?"nice-timepicker--error":""} ${s?"nice-timepicker--disabled":""} ${r?"nice-timepicker--readonly":""}`,children:[e.jsx("input",{ref:ne,id:W,type:"text",inputMode:"numeric",autoComplete:"off",spellCheck:!1,className:"nice-timepicker__input nice-input__native nice-masked-input",value:fe,placeholder:T?"HH:MM:SS":"HH:MM",disabled:s||ee,readOnly:r,name:o,"aria-invalid":!!a,"aria-describedby":a?`${W}-error`:i?`${W}-helper`:void 0,"aria-label":k("datetime.time","Time"),style:{width:`${T?9:6}ch`,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontVariantNumeric:"tabular-nums"},onInput:y,onChange:()=>{},onKeyDown:H,onFocus:Ce,onBlur:se}),te==="12"&&e.jsx("button",{type:"button",className:"nice-timepicker__ampm",disabled:s||r,onClick:be,"aria-label":k("datetime.toggleAmPm","Toggle AM/PM"),children:Y}),D&&e.jsx("button",{type:"button",className:"nice-input__clear",disabled:s||r||!g,onClick:xe,"aria-label":k("controls.clear","Clear"),tabIndex:g?0:-1,children:"✕"})]}),le,ee&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),oe==="right"&&a&&e.jsx("div",{id:`${W}-error`,className:"nice-field__error",role:"alert",children:a}),oe==="right"&&!a&&i&&e.jsx("div",{id:`${W}-helper`,className:"nice-field__helper",children:i})]}),oe!=="right"&&a&&e.jsx("div",{id:`${W}-error`,className:"nice-field__error",role:"alert",children:a}),oe!=="right"&&!a&&i&&e.jsx("div",{id:`${W}-helper`,className:"nice-field__helper",children:i})]})});an.displayName="NiceTimePicker";const yn=t.createContext(null),bn=()=>{const n=t.useContext(yn);if(!n)throw new Error("useUploadContext must be used within NiceFileUpload");return n},ra=()=>`file-${Date.now()}-${Math.random().toString(36).slice(2,11)}`,Ie=n=>{if(n===0)return"0 B";const i=1024,a=["B","KB","MB","GB","TB"],c=Math.floor(Math.log(n)/Math.log(i));return parseFloat((n/Math.pow(i,c)).toFixed(2))+" "+a[c]},xn=n=>n.startsWith("image/")?"🖼️":n.startsWith("video/")?"🎬":n.startsWith("audio/")?"🎵":n.includes("pdf")?"📄":n.includes("word")||n.includes("document")?"📝":n.includes("excel")||n.includes("spreadsheet")?"📊":n.includes("powerpoint")||n.includes("presentation")?"📽️":n.includes("zip")||n.includes("rar")||n.includes("7z")?"📦":n.includes("text/")||n.includes("json")||n.includes("xml")?"📃":"📁",vn=n=>n.startsWith("image/"),_n=n=>n.startsWith("video/"),la=n=>n.startsWith("audio/"),oa=n=>{if(vn(n.type)||_n(n.type)||la(n.type))return URL.createObjectURL(n)},da=(n,i)=>async a=>{const c=new FormData;a.chunk?(c.append("chunk",a.chunk),c.append("chunkIndex",String(a.chunkIndex)),c.append("totalChunks",String(a.totalChunks)),c.append("fileName",a.file.name),c.append("fileId",a.fileId||"")):c.append("file",a.file);const s=new XMLHttpRequest;return new Promise((r,d)=>{s.upload.addEventListener("progress",o=>{o.lengthComputable&&a.onProgress&&a.onProgress(o.loaded/o.total*100)}),s.addEventListener("load",()=>{if(s.status>=200&&s.status<300)try{const o=JSON.parse(s.responseText);r({success:!0,url:o.url,fileId:o.fileId||o.id,metadata:o})}catch{r({success:!0,url:s.responseText})}else r({success:!1,error:`Upload failed: ${s.status} ${s.statusText}`})}),s.addEventListener("error",()=>{r({success:!1,error:"Network error"})}),s.addEventListener("abort",()=>{r({success:!1,error:"Upload cancelled"})}),a.signal&&a.signal.addEventListener("abort",()=>s.abort()),s.open("POST",n),i&&Object.entries(i).forEach(([o,b])=>{s.setRequestHeader(o,b)}),s.send(c)})},He=({progress:n,status:i})=>{const a=()=>{switch(i){case"success":return"var(--color-success, #22c55e)";case"error":return"var(--color-error, #ef4444)";case"cancelled":return"var(--text-muted, #6b7280)";default:return"var(--color-primary, #3b82f6)"}};return e.jsxs("div",{className:"nice-upload-progress",children:[e.jsx("div",{className:"nice-upload-progress-bar",style:{width:`${n}%`,backgroundColor:a()}}),e.jsxs("span",{className:"nice-upload-progress-text",children:[Math.round(n),"%"]})]})},ln=({file:n,size:i="md",customRender:a})=>{if(a)return e.jsx(e.Fragment,{children:a(n)});const s={xxs:24,xs:32,sm:48,md:80,lg:120,xl:160,xxl:200}[i]??80;return n.previewUrl&&vn(n.type)?e.jsx("div",{className:"nice-upload-preview",style:{width:s,height:s},children:e.jsx("img",{src:n.previewUrl,alt:n.name,style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:4}})}):n.previewUrl&&_n(n.type)?e.jsxs("div",{className:"nice-upload-preview",style:{width:s,height:s},children:[e.jsx("video",{src:n.previewUrl,style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:4},muted:!0}),e.jsx("span",{className:"nice-upload-preview-overlay",children:"▶️"})]}):e.jsx("div",{className:"nice-upload-preview nice-upload-preview-icon",style:{width:s,height:s,fontSize:s*.5},children:xn(n.type)})},fa=({file:n,actions:i,showPreview:a=!0,previewSize:c="md",customRenderPreview:s,customRender:r,mode:d="list"})=>{const{disabled:o,readOnly:b}=bn();if(r)return e.jsx(e.Fragment,{children:r(n,i)});const S=()=>{switch(n.status){case"pending":return e.jsx("span",{className:"nice-upload-badge pending",children:"Oczekuje"});case"uploading":return e.jsx("span",{className:"nice-upload-badge uploading",children:"Wysyłanie..."});case"success":return e.jsx("span",{className:"nice-upload-badge success",children:"✓ Przesłano"});case"error":return e.jsx("span",{className:"nice-upload-badge error",children:"✗ Błąd"});case"cancelled":return e.jsx("span",{className:"nice-upload-badge cancelled",children:"Anulowano"})}};return d==="compact"?e.jsxs("div",{className:`nice-upload-item compact ${n.status}`,children:[e.jsx("span",{className:"nice-upload-item-icon",children:xn(n.type)}),e.jsx("span",{className:"nice-upload-item-name",title:n.name,children:n.name}),e.jsx("span",{className:"nice-upload-item-size",children:Ie(n.size)}),n.status==="uploading"&&e.jsx(He,{progress:n.progress,status:n.status}),S(),!b&&!o&&n.status!=="uploading"&&e.jsx("button",{className:"nice-upload-item-remove",onClick:i.remove,title:"Usuń",children:"✕"})]}):d==="grid"?e.jsxs("div",{className:`nice-upload-item grid ${n.status}`,children:[a&&e.jsx(ln,{file:n,size:"lg",customRender:s}),e.jsxs("div",{className:"nice-upload-item-info",children:[e.jsx("span",{className:"nice-upload-item-name",title:n.name,children:n.name}),e.jsx("span",{className:"nice-upload-item-size",children:Ie(n.size)})]}),n.status==="uploading"&&e.jsx(He,{progress:n.progress,status:n.status}),S(),n.error&&e.jsx("span",{className:"nice-upload-item-error",children:n.error}),!b&&!o&&e.jsxs("div",{className:"nice-upload-item-actions",children:[n.status==="pending"&&e.jsx("button",{onClick:i.upload,className:"nice-upload-btn upload",children:"Wyślij"}),n.status==="uploading"&&e.jsx("button",{onClick:i.cancel,className:"nice-upload-btn cancel",children:"Anuluj"}),n.status==="error"&&e.jsx("button",{onClick:i.retry,className:"nice-upload-btn retry",children:"Ponów"}),n.status!=="uploading"&&e.jsx("button",{onClick:i.remove,className:"nice-upload-btn remove",children:"Usuń"})]})]}):e.jsxs("div",{className:`nice-upload-item list ${n.status}`,children:[a&&e.jsx(ln,{file:n,size:c,customRender:s}),e.jsxs("div",{className:"nice-upload-item-content",children:[e.jsxs("div",{className:"nice-upload-item-header",children:[e.jsx("span",{className:"nice-upload-item-name",title:n.name,children:n.name}),S()]}),e.jsx("span",{className:"nice-upload-item-size",children:Ie(n.size)}),n.status==="uploading"&&e.jsx(He,{progress:n.progress,status:n.status}),n.error&&e.jsx("span",{className:"nice-upload-item-error",children:n.error}),n.uploadedUrl&&e.jsx("a",{href:n.uploadedUrl,target:"_blank",rel:"noopener noreferrer",className:"nice-upload-item-link",children:"Otwórz plik"})]}),!b&&!o&&e.jsxs("div",{className:"nice-upload-item-actions",children:[n.status==="pending"&&e.jsx("button",{onClick:i.upload,className:"nice-upload-btn upload",title:"Wyślij",children:"⬆️"}),n.status==="uploading"&&e.jsx("button",{onClick:i.cancel,className:"nice-upload-btn cancel",title:"Anuluj",children:"⏹️"}),n.status==="error"&&e.jsx("button",{onClick:i.retry,className:"nice-upload-btn retry",title:"Ponów",children:"🔄"}),n.status!=="uploading"&&e.jsx("button",{onClick:i.remove,className:"nice-upload-btn remove",title:"Usuń",children:"🗑️"})]})]})},ua=({files:n,mode:i="list",showPreview:a=!0,previewSize:c,renderPreview:s,renderFileItem:r})=>{const d=bn();return n.length===0?null:e.jsx("div",{className:`nice-upload-list ${i}`,children:n.map(o=>{const b={upload:()=>d.uploadFile(o.id),cancel:()=>d.cancelFile(o.id),retry:()=>d.retryFile(o.id),remove:()=>d.removeFile(o.id)};return e.jsx(fa,{file:o,actions:b,mode:i,showPreview:a,previewSize:c,customRenderPreview:s,customRender:r},o.id)})})},pa=({onFiles:n,accept:i,multiple:a=!0,disabled:c,readOnly:s,dropzoneText:r="Przeciągnij pliki tutaj lub",browseText:d="wybierz z dysku",dragActiveText:o="Upuść pliki tutaj",className:b,inputRef:S})=>{const[L,g]=t.useState(!1),p=t.useRef(0),K=t.useCallback(D=>{D.preventDefault(),D.stopPropagation(),p.current++,D.dataTransfer.items&&D.dataTransfer.items.length>0&&g(!0)},[]),te=t.useCallback(D=>{D.preventDefault(),D.stopPropagation(),p.current--,p.current===0&&g(!1)},[]),z=t.useCallback(D=>{D.preventDefault(),D.stopPropagation()},[]),T=t.useCallback(D=>{if(D.preventDefault(),D.stopPropagation(),g(!1),p.current=0,c||s)return;const U=Array.from(D.dataTransfer.files);U.length>0&&n(a?U:[U[0]])},[c,s,a,n]),X=t.useCallback(()=>{!c&&!s&&S.current&&S.current.click()},[c,s,S]),Z=t.useCallback(D=>{const U=D.target.files?Array.from(D.target.files):[];U.length>0&&n(U),S.current&&(S.current.value="")},[n,S]);return e.jsxs("div",{className:`nice-upload-dropzone ${L?"drag-active":""} ${c?"disabled":""} ${s?"readonly":""} ${b||""}`,onDragEnter:K,onDragLeave:te,onDragOver:z,onDrop:T,onClick:X,children:[e.jsx("input",{ref:S,type:"file",accept:i,multiple:a,onChange:Z,style:{display:"none"},disabled:c||s}),e.jsxs("div",{className:"nice-upload-dropzone-content",children:[e.jsx("span",{className:"nice-upload-dropzone-icon",children:"📁"}),L?e.jsx("span",{className:"nice-upload-dropzone-text active",children:o}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"nice-upload-dropzone-text",children:r}),e.jsx("button",{type:"button",className:"nice-upload-browse-btn",disabled:c||s,children:d})]})]})]})},tn=t.forwardRef((n,i)=>{const{accept:a,multiple:c=!0,maxFileSize:s,maxFiles:r,minFileSize:d,chunkSize:o=5*1024*1024,chunkThreshold:b=10*1024*1024,autoUpload:S=!1,uploadHandler:L,uploadUrl:g,uploadHeaders:p,onFilesAdded:K,onUploadComplete:te,onUploadError:z,onProgress:T,onFileRemoved:X,onChange:Z,renderPreview:D,renderFileItem:U,showPreview:oe=!0,showFileList:ee=!0,listMode:P="list",previewSize:I="md",dropzoneText:A,browseText:m,dragActiveText:N,disabled:j,readOnly:J,dropzoneClassName:G,maxRetries:F=3,concurrentUploads:R=3,validateFile:V,keepFilesAfterUpload:B=!0,initialFiles:k=[],className:W,style:ne,...h}=n,[u,M]=t.useState(k),Q=t.useRef(null),pe=t.useRef(new Map),fe=t.useRef([]),C=t.useRef(new Set);t.useEffect(()=>()=>{u.forEach(_=>{_.previewUrl&&URL.revokeObjectURL(_.previewUrl)})},[]),t.useEffect(()=>{Z?.(u)},[u,Z]);const q=t.useCallback(()=>L||(g?da(g,p):null),[L,g,p]),ae=t.useCallback(_=>{if(V){const w=V(_);if(w)return w}if(s&&_.size>s)return`Plik jest za duży. Maksymalny rozmiar: ${Ie(s)}`;if(d&&_.size<d)return`Plik jest za mały. Minimalny rozmiar: ${Ie(d)}`;if(a){const w=a.split(",").map(re=>re.trim().toLowerCase()),x=_.type.toLowerCase(),ce="."+_.name.split(".").pop()?.toLowerCase();if(!w.some(re=>re.startsWith(".")?ce===re:re.endsWith("/*")?x.startsWith(re.replace("/*","/")):x===re))return`Niedozwolony typ pliku. Akceptowane typy: ${a}`}return null},[V,s,d,a]),l=t.useCallback(_=>{if(j||J)return;const w=u.length;let x=_;r&&w+x.length>r&&(x=x.slice(0,r-w));const ce=x.map(me=>{const re=ae(me);return{id:ra(),file:me,name:me.name,size:me.size,type:me.type,status:re?"error":"pending",progress:0,error:re||void 0,previewUrl:oa(me)}});M(me=>[...me,...ce]),K?.(ce),S&&(ce.filter(re=>re.status==="pending").forEach(re=>{fe.current.push(re.id)}),E())},[j,J,u.length,r,ae,S,K]),E=t.useCallback(()=>{const _=q();if(_)for(;fe.current.length>0&&C.current.size<R;){const w=fe.current.shift();w&&ue(w,_)}},[R,q]),ue=t.useCallback(async(_,w)=>{const x=u.find(me=>me.id===_);if(!x||x.status==="uploading"||x.status==="success")return;const ce=new AbortController;pe.current.set(_,ce),C.current.add(_),M(me=>me.map(re=>re.id===_?{...re,status:"uploading",progress:0,error:void 0}:re));try{const me=x.file;let re;if(me.size>b?re=await ye(x,w,ce.signal):re=await w({file:me,onProgress:Me=>{M(v=>v.map(O=>O.id===_?{...O,progress:Me}:O)),T?.(x,Me)},signal:ce.signal}),re.success)M(Me=>Me.map(v=>v.id===_?{...v,status:"success",progress:100,uploadedUrl:re.url,uploadedAt:new Date}:v)),te?.({...x,status:"success",uploadedUrl:re.url});else throw new Error(re.error||"Upload failed")}catch(me){if(me.name==="AbortError"||me.message==="Upload cancelled")M(re=>re.map(Me=>Me.id===_?{...Me,status:"cancelled",error:"Anulowano"}:Me));else{const re=me.message||"Błąd uploadu";M(Me=>Me.map(v=>v.id===_?{...v,status:"error",error:re}:v)),z?.(x,re)}}finally{pe.current.delete(_),C.current.delete(_),E()}},[u,b,T,te,z,E]),ye=async(_,w,x)=>{const ce=_.file,me=Math.ceil(ce.size/o);let re=0,Me={success:!1};for(let v=0;v<me;v++){if(x.aborted)throw new Error("Upload cancelled");const O=v*o,ie=Math.min(O+o,ce.size),_e=ce.slice(O,ie);let we=0,$e=!1;for(;!$e&&we<F;)try{Me=await w({file:ce,chunk:_e,chunkIndex:v,totalChunks:me,fileId:_.id,onProgress:ge=>{const Ne=(re+_e.size*ge/100)/ce.size*100;M(he=>he.map(je=>je.id===_.id?{...je,progress:Ne}:je))},signal:x}),Me.success?($e=!0,re+=_e.size):we++}catch(ge){if(we++,we>=F)throw ge}if(!$e)throw new Error(`Failed to upload chunk ${v+1}/${me}`)}return Me},be=t.useCallback(_=>{const w=q();if(!w){console.error("No upload handler configured");return}ue(_,w)},[q,ue]),xe=t.useCallback(_=>{const w=pe.current.get(_);w&&w.abort(),M(x=>x.map(ce=>ce.id===_&&ce.status==="uploading"?{...ce,status:"cancelled",error:"Anulowano"}:ce))},[]),ve=t.useCallback(_=>{M(w=>w.map(x=>x.id===_?{...x,status:"pending",progress:0,error:void 0}:x)),be(_)},[be]),y=t.useCallback(_=>{const w=u.find(x=>x.id===_);if(w){const x=pe.current.get(_);x&&x.abort(),w.previewUrl&&URL.revokeObjectURL(w.previewUrl),M(ce=>ce.filter(me=>me.id!==_)),X?.(w)}},[u,X]),H=t.useCallback(()=>{u.filter(w=>w.status==="pending").forEach(w=>{fe.current.push(w.id)}),E()},[u,E]),Y=t.useCallback(()=>{pe.current.forEach(_=>_.abort()),M(_=>_.map(w=>w.status==="uploading"?{...w,status:"cancelled",error:"Anulowano"}:w))},[]),Ce=t.useCallback(()=>{Y(),u.forEach(_=>{_.previewUrl&&URL.revokeObjectURL(_.previewUrl)}),M([])},[Y,u]),se=t.useCallback(()=>{u.filter(w=>w.status==="error").forEach(w=>ve(w.id))},[u,ve]),le=t.useCallback(()=>{Q.current?.click()},[]);t.useImperativeHandle(i,()=>({addFiles:l,uploadAll:H,cancelAll:Y,clearAll:Ce,getFiles:()=>u,getFile:_=>u.find(w=>w.id===_),retryFailed:se,openFileBrowser:le}),[l,H,Y,Ce,u,se,le]);const f=t.useMemo(()=>({files:u,uploadFile:be,cancelFile:xe,retryFile:ve,removeFile:y,disabled:j,readOnly:J}),[u,be,xe,ve,y,j,J]),de=t.useMemo(()=>({total:u.length,pending:u.filter(_=>_.status==="pending").length,uploading:u.filter(_=>_.status==="uploading").length,success:u.filter(_=>_.status==="success").length,error:u.filter(_=>_.status==="error").length}),[u]);return e.jsx(yn.Provider,{value:f,children:e.jsxs("div",{className:`nice-file-upload ${j?"disabled":""} ${J?"readonly":""} ${W||""}`,style:ne,...h,children:[!J&&e.jsx(pa,{onFiles:l,accept:a,multiple:c,disabled:j,readOnly:J,dropzoneText:A,browseText:m,dragActiveText:N,className:G,inputRef:Q}),ee&&u.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"nice-upload-stats",children:[e.jsxs("span",{children:[de.total," ",de.total===1?"plik":"plików"]}),de.pending>0&&e.jsxs("span",{className:"pending",children:[de.pending," oczekuje"]}),de.uploading>0&&e.jsxs("span",{className:"uploading",children:[de.uploading," wysyłanie"]}),de.success>0&&e.jsxs("span",{className:"success",children:[de.success," przesłano"]}),de.error>0&&e.jsxs("span",{className:"error",children:[de.error," błędów"]})]}),!J&&!j&&de.pending>0&&e.jsxs("div",{className:"nice-upload-actions",children:[e.jsxs("button",{onClick:H,className:"nice-upload-btn primary",children:["Wyślij wszystkie (",de.pending,")"]}),de.error>0&&e.jsxs("button",{onClick:se,className:"nice-upload-btn secondary",children:["Ponów nieudane (",de.error,")"]}),e.jsx("button",{onClick:Ce,className:"nice-upload-btn danger",children:"Wyczyść"})]}),e.jsx(ua,{files:u,mode:P,showPreview:oe,previewSize:I,renderPreview:D,renderFileItem:U})]}),e.jsx("style",{children:`
|
|
2
|
+
.nice-file-upload {
|
|
3
|
+
font-family: system-ui, -apple-system, sans-serif;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.nice-file-upload.disabled {
|
|
7
|
+
opacity: 0.5;
|
|
8
|
+
pointer-events: none;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.nice-upload-dropzone {
|
|
12
|
+
border: 2px dashed var(--nice-border, #d1d5db);
|
|
13
|
+
border-radius: var(--nice-radius-xl, 12px);
|
|
14
|
+
padding: var(--nice-space-10, 40px) var(--nice-space-6, 24px);
|
|
15
|
+
text-align: center;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
transition: all 0.2s ease;
|
|
18
|
+
background: var(--nice-bg-secondary, #fafafa);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.nice-upload-dropzone:hover:not(.disabled):not(.readonly) {
|
|
22
|
+
border-color: var(--nice-primary, #3b82f6);
|
|
23
|
+
background: var(--nice-primary-bg, #eff6ff);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.nice-upload-dropzone.drag-active {
|
|
27
|
+
border-color: var(--nice-primary, #3b82f6);
|
|
28
|
+
background: var(--nice-primary-bg, #dbeafe);
|
|
29
|
+
transform: scale(1.01);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.nice-upload-dropzone.disabled,
|
|
33
|
+
.nice-upload-dropzone.readonly {
|
|
34
|
+
cursor: default;
|
|
35
|
+
background: var(--nice-bg-secondary, #f3f4f6);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.nice-upload-dropzone-content {
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
align-items: center;
|
|
42
|
+
gap: var(--nice-space-3, 12px);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.nice-upload-dropzone-icon {
|
|
46
|
+
font-size: 48px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.nice-upload-dropzone-text {
|
|
50
|
+
font-size: 14px;
|
|
51
|
+
color: var(--nice-text-secondary, #6b7280);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.nice-upload-dropzone-text.active {
|
|
55
|
+
font-size: 16px;
|
|
56
|
+
color: var(--nice-primary, #3b82f6);
|
|
57
|
+
font-weight: 500;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.nice-upload-browse-btn {
|
|
61
|
+
background: var(--nice-primary, #3b82f6);
|
|
62
|
+
color: white;
|
|
63
|
+
border: none;
|
|
64
|
+
padding: var(--nice-space-2, 8px) var(--nice-space-5, 20px);
|
|
65
|
+
border-radius: var(--nice-radius-md, 6px);
|
|
66
|
+
font-size: 14px;
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
transition: background 0.2s;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.nice-upload-browse-btn:hover:not(:disabled) {
|
|
72
|
+
background: var(--nice-primary-hover, #2563eb);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.nice-upload-browse-btn:disabled {
|
|
76
|
+
background: var(--nice-text-muted, #9ca3af);
|
|
77
|
+
cursor: not-allowed;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.nice-upload-stats {
|
|
81
|
+
display: flex;
|
|
82
|
+
gap: var(--nice-space-4, 16px);
|
|
83
|
+
padding: var(--nice-space-3, 12px) 0;
|
|
84
|
+
font-size: 13px;
|
|
85
|
+
color: var(--nice-text-secondary, #6b7280);
|
|
86
|
+
border-bottom: 1px solid var(--border-color, #e5e7eb);
|
|
87
|
+
margin-top: var(--nice-space-4, 16px);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.nice-upload-stats .pending { color: var(--nice-warning, #f59e0b); }
|
|
91
|
+
.nice-upload-stats .uploading { color: var(--nice-primary, #3b82f6); }
|
|
92
|
+
.nice-upload-stats .success { color: var(--nice-success, #22c55e); }
|
|
93
|
+
.nice-upload-stats .error { color: var(--nice-danger, #ef4444); }
|
|
94
|
+
|
|
95
|
+
.nice-upload-actions {
|
|
96
|
+
display: flex;
|
|
97
|
+
gap: var(--nice-space-2, 8px);
|
|
98
|
+
padding: var(--nice-space-3, 12px) 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.nice-upload-btn {
|
|
102
|
+
padding: var(--nice-space-1-5, 6px) var(--nice-space-3-5, 14px);
|
|
103
|
+
border-radius: var(--nice-radius-md, 6px);
|
|
104
|
+
font-size: 13px;
|
|
105
|
+
cursor: pointer;
|
|
106
|
+
border: 1px solid transparent;
|
|
107
|
+
transition: all 0.2s;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.nice-upload-btn.primary {
|
|
111
|
+
background: var(--nice-primary, #3b82f6);
|
|
112
|
+
color: white;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.nice-upload-btn.primary:hover {
|
|
116
|
+
background: var(--nice-primary-hover, #2563eb);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.nice-upload-btn.secondary {
|
|
120
|
+
background: white;
|
|
121
|
+
border-color: var(--nice-border, #d1d5db);
|
|
122
|
+
color: var(--nice-text, #374151);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.nice-upload-btn.secondary:hover {
|
|
126
|
+
background: var(--nice-bg-secondary, #f3f4f6);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.nice-upload-btn.danger {
|
|
130
|
+
background: white;
|
|
131
|
+
border-color: var(--nice-danger-bg, #fca5a5);
|
|
132
|
+
color: var(--nice-danger-dark, #dc2626);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.nice-upload-btn.danger:hover {
|
|
136
|
+
background: var(--nice-danger-bg, #fef2f2);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.nice-upload-btn.upload { background: var(--nice-success, #22c55e); color: white; border: none; }
|
|
140
|
+
.nice-upload-btn.cancel { background: var(--nice-warning, #f59e0b); color: white; border: none; }
|
|
141
|
+
.nice-upload-btn.retry { background: var(--nice-primary, #3b82f6); color: white; border: none; }
|
|
142
|
+
.nice-upload-btn.remove { background: var(--nice-danger, #ef4444); color: white; border: none; }
|
|
143
|
+
|
|
144
|
+
.nice-upload-list {
|
|
145
|
+
margin-top: var(--nice-space-3, 12px);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.nice-upload-list.grid {
|
|
149
|
+
display: grid;
|
|
150
|
+
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
|
|
151
|
+
gap: var(--nice-space-4, 16px);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.nice-upload-item {
|
|
155
|
+
display: flex;
|
|
156
|
+
align-items: center;
|
|
157
|
+
gap: var(--nice-space-3, 12px);
|
|
158
|
+
padding: var(--nice-space-3, 12px);
|
|
159
|
+
background: var(--nice-bg-secondary, #f9fafb);
|
|
160
|
+
border-radius: var(--nice-radius-lg, 8px);
|
|
161
|
+
border: 1px solid var(--border-color, #e5e7eb);
|
|
162
|
+
margin-bottom: var(--nice-space-2, 8px);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.nice-upload-item.error {
|
|
166
|
+
border-color: var(--nice-danger-bg, #fca5a5);
|
|
167
|
+
background: var(--nice-danger-bg, #fef2f2);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.nice-upload-item.success {
|
|
171
|
+
border-color: var(--nice-success-light, #86efac);
|
|
172
|
+
background: var(--nice-success-bg, #f0fdf4);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.nice-upload-item.grid {
|
|
176
|
+
flex-direction: column;
|
|
177
|
+
text-align: center;
|
|
178
|
+
padding: var(--nice-space-4, 16px);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.nice-upload-item.compact {
|
|
182
|
+
padding: var(--nice-space-2, 8px) var(--nice-space-3, 12px);
|
|
183
|
+
font-size: 13px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.nice-upload-preview {
|
|
187
|
+
flex-shrink: 0;
|
|
188
|
+
display: flex;
|
|
189
|
+
align-items: center;
|
|
190
|
+
justify-content: center;
|
|
191
|
+
background: var(--nice-border, #e5e7eb);
|
|
192
|
+
border-radius: var(--nice-radius-md, 6px);
|
|
193
|
+
overflow: hidden;
|
|
194
|
+
position: relative;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.nice-upload-preview-icon {
|
|
198
|
+
background: var(--nice-bg-secondary, #f3f4f6);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.nice-upload-preview-overlay {
|
|
202
|
+
position: absolute;
|
|
203
|
+
font-size: 24px;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.nice-upload-item-content {
|
|
207
|
+
flex: 1;
|
|
208
|
+
min-width: 0;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.nice-upload-item-header {
|
|
212
|
+
display: flex;
|
|
213
|
+
align-items: center;
|
|
214
|
+
gap: var(--nice-space-2, 8px);
|
|
215
|
+
margin-bottom: var(--nice-space-1, 4px);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.nice-upload-item-name {
|
|
219
|
+
font-weight: 500;
|
|
220
|
+
font-size: 14px;
|
|
221
|
+
color: var(--nice-text, #111827);
|
|
222
|
+
overflow: hidden;
|
|
223
|
+
text-overflow: ellipsis;
|
|
224
|
+
white-space: nowrap;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.nice-upload-item-size {
|
|
228
|
+
font-size: 12px;
|
|
229
|
+
color: var(--nice-text-secondary, #6b7280);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.nice-upload-item-error {
|
|
233
|
+
font-size: 12px;
|
|
234
|
+
color: var(--nice-danger-dark, #dc2626);
|
|
235
|
+
margin-top: var(--nice-space-1, 4px);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.nice-upload-item-link {
|
|
239
|
+
font-size: 12px;
|
|
240
|
+
color: var(--nice-primary, #3b82f6);
|
|
241
|
+
text-decoration: none;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.nice-upload-item-link:hover {
|
|
245
|
+
text-decoration: underline;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.nice-upload-item-actions {
|
|
249
|
+
display: flex;
|
|
250
|
+
gap: var(--nice-space-1, 4px);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.nice-upload-item-actions button {
|
|
254
|
+
padding: var(--nice-space-1, 4px) var(--nice-space-2, 8px);
|
|
255
|
+
font-size: 12px;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.nice-upload-item-remove {
|
|
259
|
+
background: none;
|
|
260
|
+
border: none;
|
|
261
|
+
color: var(--nice-text-muted, #9ca3af);
|
|
262
|
+
cursor: pointer;
|
|
263
|
+
padding: var(--nice-space-1, 4px);
|
|
264
|
+
font-size: 14px;
|
|
265
|
+
line-height: 1;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.nice-upload-item-remove:hover {
|
|
269
|
+
color: var(--nice-danger, #ef4444);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
.nice-upload-badge {
|
|
273
|
+
font-size: 11px;
|
|
274
|
+
padding: var(--nice-space-0-5, 2px) var(--nice-space-2, 8px);
|
|
275
|
+
border-radius: var(--nice-radius-lg, 10px);
|
|
276
|
+
font-weight: 500;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.nice-upload-badge.pending { background: var(--nice-warning-bg, #fef3c7); color: var(--nice-warning-dark, #92400e); }
|
|
280
|
+
.nice-upload-badge.uploading { background: var(--nice-primary-bg, #dbeafe); color: var(--nice-primary-dark, #1e40af); }
|
|
281
|
+
.nice-upload-badge.success { background: var(--nice-success-bg, #dcfce7); color: var(--nice-success-dark, #166534); }
|
|
282
|
+
.nice-upload-badge.error { background: var(--nice-danger-bg, #fee2e2); color: var(--nice-danger-dark, #991b1b); }
|
|
283
|
+
.nice-upload-badge.cancelled { background: var(--nice-bg-secondary, #f3f4f6); color: var(--nice-text-secondary, #4b5563); }
|
|
284
|
+
|
|
285
|
+
.nice-upload-progress {
|
|
286
|
+
height: 6px;
|
|
287
|
+
background: var(--nice-border, #e5e7eb);
|
|
288
|
+
border-radius: var(--nice-radius-sm, 3px);
|
|
289
|
+
overflow: hidden;
|
|
290
|
+
margin-top: var(--nice-space-1-5, 6px);
|
|
291
|
+
position: relative;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.nice-upload-progress-bar {
|
|
295
|
+
height: 100%;
|
|
296
|
+
transition: width 0.2s ease;
|
|
297
|
+
border-radius: var(--nice-radius-sm, 3px);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.nice-upload-progress-text {
|
|
301
|
+
position: absolute;
|
|
302
|
+
right: 0;
|
|
303
|
+
top: -18px;
|
|
304
|
+
font-size: 11px;
|
|
305
|
+
color: var(--nice-text-secondary, #6b7280);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.nice-upload-item.compact .nice-upload-progress {
|
|
309
|
+
flex: 1;
|
|
310
|
+
margin: 0 var(--nice-space-2, 8px);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.nice-upload-item.compact .nice-upload-progress-text {
|
|
314
|
+
position: static;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.nice-upload-item-info {
|
|
318
|
+
margin-top: var(--nice-space-2, 8px);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.nice-upload-item.grid .nice-upload-item-name {
|
|
322
|
+
font-size: 13px;
|
|
323
|
+
max-width: 100%;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
@media (max-width: 640px) {
|
|
327
|
+
.nice-upload-dropzone {
|
|
328
|
+
padding: var(--nice-space-6, 24px) var(--nice-space-4, 16px);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.nice-upload-actions {
|
|
332
|
+
flex-wrap: wrap;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.nice-upload-list.grid {
|
|
336
|
+
grid-template-columns: repeat(2, 1fr);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
`})]})})});tn.displayName="NiceFileUpload";const ma=({onFiles:n,accept:i,multiple:a=!0,disabled:c,children:s,dropzoneText:r="Przeciągnij pliki tutaj",dragActiveText:d="Upuść pliki",className:o,style:b,...S})=>{const[L,g]=t.useState(!1),p=t.useRef(null),K=t.useCallback(Z=>{if(Z.preventDefault(),g(!1),c)return;const D=Array.from(Z.dataTransfer.files);D.length>0&&n(a?D:[D[0]])},[c,a,n]),te=t.useCallback(Z=>{Z.preventDefault(),c||g(!0)},[c]),z=t.useCallback(()=>{g(!1)},[]),T=t.useCallback(()=>{c||p.current?.click()},[c]),X=t.useCallback(Z=>{const D=Z.target.files?Array.from(Z.target.files):[];D.length>0&&n(D),p.current&&(p.current.value="")},[n]);return e.jsxs("div",{className:`nice-dropzone ${L?"active":""} ${c?"disabled":""} ${o||""}`,style:b,onDrop:K,onDragOver:te,onDragLeave:z,onClick:T,...S,children:[e.jsx("input",{ref:p,type:"file",accept:i,multiple:a,onChange:X,style:{display:"none"},disabled:c}),s||e.jsx("div",{className:"nice-dropzone-content",children:e.jsx("span",{children:L?d:r})}),e.jsx("style",{children:`
|
|
340
|
+
.nice-dropzone {
|
|
341
|
+
border: 2px dashed var(--nice-border, #d1d5db);
|
|
342
|
+
border-radius: var(--nice-radius-lg, 8px);
|
|
343
|
+
padding: var(--nice-space-6, 24px);
|
|
344
|
+
text-align: center;
|
|
345
|
+
cursor: pointer;
|
|
346
|
+
transition: all 0.2s;
|
|
347
|
+
}
|
|
348
|
+
.nice-dropzone:hover:not(.disabled) {
|
|
349
|
+
border-color: var(--nice-primary, #3b82f6);
|
|
350
|
+
background: var(--nice-primary-bg, #eff6ff);
|
|
351
|
+
}
|
|
352
|
+
.nice-dropzone.active {
|
|
353
|
+
border-color: var(--nice-primary, #3b82f6);
|
|
354
|
+
background: var(--nice-primary-bg, #dbeafe);
|
|
355
|
+
}
|
|
356
|
+
.nice-dropzone.disabled {
|
|
357
|
+
opacity: 0.5;
|
|
358
|
+
cursor: not-allowed;
|
|
359
|
+
}
|
|
360
|
+
.nice-dropzone-content {
|
|
361
|
+
color: var(--nice-text-secondary, #6b7280);
|
|
362
|
+
font-size: 14px;
|
|
363
|
+
}
|
|
364
|
+
`})]})},ga=({onFiles:n,accept:i,multiple:a=!0,disabled:c,children:s,className:r,style:d,...o})=>{const b=t.useRef(null),S=t.useCallback(()=>{c||b.current?.click()},[c]),L=t.useCallback(g=>{const p=g.target.files?Array.from(g.target.files):[];p.length>0&&n(p),b.current&&(b.current.value="")},[n]);return e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:S,disabled:c,className:`nice-file-picker-btn ${r||""}`,style:d,...o,children:s||"Wybierz pliki"}),e.jsx("input",{ref:b,type:"file",accept:i,multiple:a,onChange:L,style:{display:"none"},disabled:c}),e.jsx("style",{children:`
|
|
365
|
+
.nice-file-picker-btn {
|
|
366
|
+
padding: var(--nice-space-2, 8px) var(--nice-space-4, 16px);
|
|
367
|
+
background: var(--nice-primary, #3b82f6);
|
|
368
|
+
color: white;
|
|
369
|
+
border: none;
|
|
370
|
+
border-radius: var(--nice-radius-md, 6px);
|
|
371
|
+
cursor: pointer;
|
|
372
|
+
font-size: 14px;
|
|
373
|
+
transition: background 0.2s;
|
|
374
|
+
}
|
|
375
|
+
.nice-file-picker-btn:hover:not(:disabled) {
|
|
376
|
+
background: var(--nice-primary-hover, #2563eb);
|
|
377
|
+
}
|
|
378
|
+
.nice-file-picker-btn:disabled {
|
|
379
|
+
opacity: 0.5;
|
|
380
|
+
cursor: not-allowed;
|
|
381
|
+
}
|
|
382
|
+
`})]})},Cn=({items:n,data:i,onFieldChange:a,onSubmit:c,dataSource:s,recordKey:r,columns:d=1,responsiveColumns:o,gap:b=16,labelPosition:S="top",size:L="md",readOnly:g,disabled:p,className:K,style:te,accessMode:z,id:T,autoSaveDelay:X,onDirtyChange:Z,showActions:D,submitLabel:U="Submit",resetLabel:oe="Reset",onCancel:ee,cancelLabel:P="Cancel"})=>{const I=$._s(z,T),A=I==="hidden";I==="disabled"&&(p=!0),I==="readOnly"&&(g=!0);const m=$.Wa(s??null,r),N=!!s&&r!=null,j=N?m.editData:i??{},[J]=t.useState(()=>({...j})),[G,F]=t.useState([]),R=t.useMemo(()=>Object.keys(j).some(y=>j[y]!==J[y]),[j,J]),V=t.useRef(!1);t.useEffect(()=>{R!==V.current&&(V.current=R,Z?.(R))},[R,Z]);const B=t.useRef(null),k=t.useCallback(()=>{X&&(B.current&&clearTimeout(B.current),B.current=setTimeout(()=>{N?m.save():c?.(j)},X))},[X,N,m,c,j]),W=t.useCallback((y,H)=>{g||p||(F(Y=>[...Y,{field:y,prev:j[y]}]),N?m.set(y,H):a?.(y,H),k())},[N,m,a,g,p,j,k]),ne=t.useCallback(()=>{if(G.length===0)return;const y=G[G.length-1];F(H=>H.slice(0,-1)),N?m.set(y.field,y.prev):a?.(y.field,y.prev)},[G,N,m,a]),h=t.useCallback(y=>{y.preventDefault(),B.current&&clearTimeout(B.current),N?m.save():c?.(j)},[j,c,N,m]),u=t.useRef(null),[M,Q]=t.useState(d);t.useEffect(()=>{if(!o||!u.current){Q(d);return}const y=u.current,H=new ResizeObserver(Y=>{const Ce=Y[0]?.contentRect.width??0,se=Object.keys(o).map(Number).sort((le,f)=>f-le);for(const le of se)if(Ce>=le){Q(o[le]);return}Q(d)});return H.observe(y),()=>H.disconnect()},[o,d]);const pe=t.useMemo(()=>n.filter(y=>!(y.visible===!1||y.visibleWhen&&!y.visibleWhen(j))),[n,j]),fe=t.useMemo(()=>{const y=[];let H=null;for(const Y of pe)!H||H.name!==Y.group?(H={name:Y.group,items:[Y]},y.push(H)):H.items.push(Y);return y},[pe]),C=t.useCallback(y=>{const H=j[y.field]!==void 0?j[y.field]:y.defaultValue,Y=f=>W(y.field,f);if(y.render)return y.render(H,Y);const Ce=y.type||"text",se=y.options?.map(f=>typeof f=="string"?{label:f,value:f}:{label:f.label,value:String(f.value)}),le={size:L,disabled:p,readOnly:g};switch(Ce){case"number":return e.jsx(ke.NiceNumberInput,{...le,value:H??null,onChange:f=>Y(f),required:y.required});case"currency":return e.jsx(ke.NiceNumberInput,{...le,value:H??null,onChange:f=>Y(f),required:y.required,precision:y.precision??2,step:y.step??100,suffix:y.unit??"PLN",formatPreset:"money"});case"textarea":return e.jsx(Ve,{...le,value:H??"",onChange:f=>Y(f),rows:3});case"address":return e.jsx(We,{...le,value:H??{},onChange:f=>Y(f),required:y.required,columns:y.columns??2});case"select":return e.jsx(ke.NiceSelect,{...le,value:H??"",onChange:f=>Y(f),options:se??[]});case"autocomplete":return e.jsx(dn,{...le,value:H??"",onChange:f=>Y(f),options:se??[],suggestions:(se??[]).map(f=>f.label)});case"radio":return e.jsx(on,{...le,value:H??"",onChange:f=>Y(f),options:se??[]});case"checkbox":return e.jsx(ke.NiceCheckbox,{...le,checked:!!H,onChange:f=>Y(f),label:y.label});case"toggle":return e.jsx(ke.NiceToggle,{...le,checked:!!H,onChange:f=>Y(f)});case"date":return e.jsx(Ze,{...le,value:H??"",onChange:f=>Y(f)});case"time":return e.jsx(an,{...le,value:H??"",onChange:f=>Y(f)});case"datetime":return e.jsx(nn,{...le,value:H??"",onChange:f=>Y(f)});case"color":return e.jsx(ke.NiceColorPicker,{...le,value:H??"var(--text-primary, #000000)",onChange:f=>Y(f)});case"slider":return e.jsx(qe,{...le,value:typeof H=="number"?H:0,onChange:f=>Y(f)});case"rating":return e.jsx(Xe,{...le,value:typeof H=="number"?H:0,onChange:f=>Y(f)});case"password":return e.jsx(Je,{...le,value:H??"",onChange:f=>Y(f),required:y.required});case"phone":case"tel":return e.jsx(Qe,{...le,value:H??"",onChange:f=>Y(f)});case"country":return e.jsx(en,{...le,value:H??"",onChange:f=>Y(f)});case"tags":return e.jsx(fn,{...le,value:Array.isArray(H)?H:[],onChange:f=>Y(f),options:se??[]});case"masked":return e.jsx(Oe,{...le,value:H??"",mask:y.mask??"999-999-9999",onChange:f=>Y(f)});case"file":return e.jsx(tn,{...le,onFilesAdded:f=>Y(f)});case"email":return e.jsx(ke.NiceTextInput,{...le,type:"email",value:H??"",onChange:f=>Y(f),required:y.required});case"url":return e.jsx(ke.NiceTextInput,{...le,type:"url",value:H??"",onChange:f=>Y(f),required:y.required});default:return e.jsx(ke.NiceTextInput,{...le,value:H??"",onChange:f=>Y(f),required:y.required})}},[j,W,p,g,L]),q=y=>e.jsxs("div",{className:"nice-form__item",style:{gridColumn:y.colSpan?`span ${y.colSpan}`:void 0},children:[y.label&&e.jsxs("label",{className:"nice-form__label",children:[y.label,y.required&&e.jsx("span",{className:"nice-field__required",children:"*"})]}),e.jsx("div",{className:"nice-form__control",children:C(y)}),y.hint&&e.jsx("div",{className:"nice-form__hint",children:y.hint})]},y.field),ae={display:"grid",gridTemplateColumns:`repeat(${M}, 1fr)`,gap:b},l=fe.some(y=>y.name!=null),E=t.useMemo(()=>{const y=new Set,H=[];for(const Y of pe)Y.tab&&!y.has(Y.tab)&&(y.add(Y.tab),H.push(Y.tab));return H},[pe]),ue=E.length>0,[ye,be]=t.useState("");t.useEffect(()=>{ue&&!E.includes(ye)&&be(E[0])},[ue,E,ye]);const xe=y=>{const H=[];let Y=null;for(const se of y)!Y||Y.name!==se.group?(Y={name:se.group,items:[se]},H.push(Y)):Y.items.push(se);return H.some(se=>se.name!=null)?H.map((se,le)=>e.jsxs("fieldset",{className:se.name?"nice-form__group":"nice-form__group nice-form__group--no-title",children:[se.name&&e.jsx("legend",{className:"nice-form__group-title",children:se.name}),e.jsx("div",{style:ae,children:se.items.map(q)})]},le)):e.jsx("div",{style:ae,children:y.map(q)})},ve=D?e.jsxs("div",{className:"nice-form__actions",children:[e.jsxs("div",{className:"nice-form__actions-left",children:[ee&&e.jsx(ke.NiceButton,{type:"button",variant:"secondary",size:L,onClick:ee,children:P}),e.jsx(ke.NiceButton,{type:"button",variant:"ghost",size:L,onClick:ne,disabled:G.length===0,children:oe})]}),e.jsx("div",{className:"nice-form__actions-right",children:e.jsx(ke.NiceButton,{type:"submit",variant:"primary",size:L,children:U})})]}):null;return A?null:e.jsxs("form",{ref:u,className:`nice-form nice-form--label-${S}${R?" nice-form--dirty":""} ${K||""}`,style:l||ue?{...te}:{...ae,...te},onSubmit:h,noValidate:!0,children:[ue?e.jsx(ke.NiceTabs,{className:"nice-form__tabs",activeTab:ye||E[0],onChange:be,tabs:E.map(y=>({id:y,label:y,content:e.jsx("div",{className:"nice-form__tab-panel",children:xe(pe.filter(H=>(H.tab??E[0])===y))})}))}):l?fe.map((y,H)=>e.jsxs("fieldset",{className:y.name?"nice-form__group":"nice-form__group nice-form__group--no-title",children:[y.name&&e.jsx("legend",{className:"nice-form__group-title",children:y.name}),e.jsx("div",{style:ae,children:y.items.map(q)})]},H)):pe.map(q),ve]})};Cn.displayName="NiceForm";exports.COUNTRIES=gn;exports.FlagIcon=Ge;exports.FlagSwatch=pn;exports.MASK_PRESETS=un;exports.NiceAddress=We;exports.NiceAutocomplete=dn;exports.NiceCountryPicker=en;exports.NiceDatePicker=Ze;exports.NiceDateTimePicker=nn;exports.NiceDropZone=ma;exports.NiceFilePickerButton=ga;exports.NiceFileUpload=tn;exports.NiceForm=Cn;exports.NiceMaskedInput=Oe;exports.NicePasswordInput=Je;exports.NicePhoneInput=Qe;exports.NiceRadioGroup=on;exports.NiceRating=Xe;exports.NiceSlider=qe;exports.NiceTagBox=fn;exports.NiceTextArea=Ve;exports.NiceTimePicker=an;exports.ThemePreviewSwatch=Qn;exports.useDropdownAlignment=mn;
|