@epam/ai-dial-ui-kit 0.2.0-rc.17 → 0.2.0-rc.19

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),u=require("classnames"),h=require("@tabler/icons-react"),b=require("react"),x=require("@floating-ui/react"),R=({icon:e,className:r})=>e?s.jsx("span",{className:u("flex-shrink-0",r),children:e}):null;var E=(e=>(e.Primary="primary",e.Secondary="secondary",e.Tertiary="tertiary",e))(E||{});const Z={[E.Primary]:"dial-primary-button",[E.Secondary]:"dial-secondary-button",[E.Tertiary]:"dial-tertiary-button"},B=({title:e,variant:r,cssClass:t,ref:n,onClick:a,disable:l,iconAfter:o,iconBefore:i,hideTitleOnMobile:d,ariaLabel:c})=>{const m=u("dial-small-semi",o?"mr-2":"",i?"ml-2":"",d?"hidden sm:inline":"inline"),f=u(r&&Z[r],t,"focus-visible:outline outline-offset-0");return s.jsxs("button",{ref:n,type:"button",className:f,onClick:y=>a?.(y),disabled:l,"aria-label":e||c,children:[s.jsx(R,{icon:i}),e&&s.jsx("span",{className:m,children:e}),s.jsx(R,{icon:o})]})},V=({errorText:e})=>e&&s.jsx("span",{className:"text-error dial-tiny mt-1",children:e}),A=({fieldTitle:e,htmlFor:r,optional:t,optionalText:n,cssClass:a})=>e?s.jsxs("label",{className:u("dial-tiny text-secondary",a,!a?.includes("mb")&&"mb-2"),htmlFor:r,children:[s.jsx("span",{className:"min-h-4",children:e}),t&&s.jsx("span",{className:"ml-1",children:n??"(Optional)"})]}):null;var D=(e=>(e.Info="info",e.Success="success",e.Warning="warning",e.Error="error",e))(D||{});const Y={info:s.jsx(h.IconInfoCircle,{size:24,stroke:2}),error:s.jsx(h.IconAlertCircle,{size:24,stroke:2}),warning:s.jsx(h.IconAlertTriangle,{size:24,stroke:2}),success:s.jsx(h.IconCircleCheck,{size:24,stroke:2})},J={[D.Info]:"bg-info border-info text-info",[D.Success]:"bg-success border-success text-success",[D.Warning]:"bg-warning border-warning text-warning",[D.Error]:"bg-error border-error text-error"},Q="items-center justify-between gap-2 p-3 border border-solid dial-small-150 rounded flex",ee=({variant:e=D.Info,message:r,cssClass:t,closable:n=!1,onClose:a})=>s.jsxs("div",{role:"alert",className:u(Q,J[e],t),children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(R,{icon:Y[e]}),s.jsx("div",{className:"text-primary",children:r})]}),n&&s.jsx(B,{cssClass:"ml-2 text-secondary hover:text-primary",ariaLabel:"Close alert",iconBefore:s.jsx(h.IconX,{size:16}),onClick:l=>a?.(l)})]}),se="flex items-center justify-center text-secondary",re="shrink-0 grow-0 basis-auto animate-spin-steps",te=({size:e=18,cssClass:r,iconClass:t,fullWidth:n=!0,ariaLabel:a="Loading"})=>s.jsx("div",{role:"status","aria-label":a,className:u({[se]:!0,"w-full h-full":n,[r||""]:!!r}),children:s.jsx(R,{icon:s.jsx(h.IconLoader,{width:e,height:e,className:u(re,t)})})}),ne=7,ae=2,z=b.createContext(null),W=()=>{const e=b.useContext(z);if(e==null)throw new Error("Tooltip components must be wrapped in <Tooltip />");return e},le=({initialOpen:e=!1,placement:r="bottom",isTriggerClickable:t=!1,open:n,onOpenChange:a}={})=>{const[l,o]=b.useState(e),i=b.useRef(null),d=n??l,c=a??o,m=x.useFloating({placement:r,open:d,onOpenChange:c,whileElementsMounted:x.autoUpdate,middleware:[x.offset(ne+ae),x.flip({crossAxis:r.includes("-"),fallbackAxisSideDirection:"start",padding:5}),x.shift({padding:5}),x.arrow({element:i})]}),f=x.useHover(m.context,{move:!1,enabled:n==null,mouseOnly:t,delay:{open:500,close:0}}),y=x.useFocus(m.context,{enabled:n==null}),w=x.useDismiss(m.context),C=x.useRole(m.context,{role:"tooltip"}),j=x.useInteractions([f,y,w,C]);return b.useMemo(()=>({open:d,setOpen:c,arrowRef:i,...j,...m}),[d,c,j,m])},oe=({children:e,...r})=>{const t=le(r);return s.jsx(z.Provider,{value:t,children:e})},ie=b.forwardRef(function({style:r,...t},n){const a=W(),l=x.useMergeRefs([a.refs.setFloating,n]);return a.open?s.jsx(x.FloatingPortal,{id:"tooltip-portal",children:s.jsxs("div",{ref:l,style:{...a.floatingStyles,...r},...a.getFloatingProps(t),className:u("z-[55] whitespace-pre-wrap rounded border border-primary bg-blackout px-2 py-1 dial-tiny shadow max-w-[300px]",a.getFloatingProps(t).className),children:[t.children,s.jsx(x.FloatingArrow,{ref:a.arrowRef,context:a.context,fill:"currentColor",strokeWidth:1,className:"stroke-primary w-2 text-[var(--bg-layer-0,_#000000)]"})]})}):null}),ce=b.forwardRef(function({children:r,asChild:t=!1,...n},a){const l=W(),i=r&&typeof r=="object"&&"ref"in r&&r.ref!==void 0?r.ref:void 0,d=x.useMergeRefs([l.refs.setReference,a,i]);return t&&b.isValidElement(r)?b.cloneElement(r,l.getReferenceProps({ref:d,...n,...r.props})):s.jsx("span",{ref:d,...l.getReferenceProps(n),className:n.className??"dial-tooltip-trigger text-left",children:r})}),I=({hideTooltip:e,tooltip:r,children:t,triggerClassName:n,contentClassName:a,...l})=>s.jsxs(oe,{...l,children:[s.jsx(ce,{className:u(n,"truncate"),children:t}),s.jsx(ie,{className:u("text-primary",a,"max-w-[300px]",(e||!r)&&"hidden"),children:r})]}),de=18,O={size:de,stroke:2},ue=({label:e,id:r,checked:t,indeterminate:n,disabled:a,ariaLabel:l,onChange:o})=>{const i=b.useCallback(m=>{m.stopPropagation(),o?.(m.target.checked,r)},[o,r]),d=u("flex flex-row items-center cursor-pointer text-accent-primary small-medium flex-1 min-w-0",`${t?"":'before:content-[""] before:inline-block before:w-[18px] before:h-[18px] before:border before:border-hover before:rounded before:mr-2'}`,a?"pointer-events-none text-secondary before:border-icon-secondary before:bg-layer-4":""),c=u("mr-2 border rounded",a?"bg-layer-4 border-icon-secondary":"");return s.jsxs("label",{className:d,htmlFor:r,children:[t&&(n?s.jsx(h.IconMinus,{className:c,...O}):s.jsx(h.IconCheck,{className:c,...O})),e&&s.jsx(I,{tooltip:e,triggerClassName:"flex-1 min-w-0",children:s.jsx("p",{className:"text-primary w-full truncate",children:e})}),s.jsx("input",{type:"checkbox",onChange:i,id:r,checked:t,"aria-checked":n?"mixed":t,"aria-disabled":a||void 0,"aria-label":e?void 0:l,className:"invisible w-0 h-0"})]})};var g=(e=>(e.VALID="valid",e.ERROR="error",e))(g||{});const xe=(e,r)=>{if(r===e.id)switch(e.status){case g.VALID:return"border-accent-secondary text-primary";case g.ERROR:return"border-red-900 text-primary";default:return"border-accent-primary text-primary"}switch(e.status){case g.VALID:return"border-primary text-white";case g.ERROR:return"border-red-900 text-error";default:return"border-primary text-secondary"}},me=(e,r)=>{if(r===e.id)switch(e.status){case g.VALID:return"bg-accent-secondary";case g.ERROR:return"bg-red-400";default:return"bg-accent-primary"}switch(e.status){case g.VALID:return"bg-accent-secondary";case g.ERROR:return"bg-red-400";default:return"bg-layer-4"}},pe=({step:e,index:r,currentStep:t,onChangeStep:n})=>{const a="h-[32px] flex flex-1 min-w-[180px] items-center dial-tiny border-t-2 cursor-pointer",l="w-[22px] h-[22px] flex justify-center items-center mr-2 rounded-full text-white",o=()=>t===e.id&&e.status===g.ERROR?s.jsx(h.IconExclamationCircle,{stroke:2,size:16}):t!==e.id&&e.status===g.VALID?s.jsx(h.IconCheck,{stroke:2,size:16}):r+1;return s.jsxs("button",{className:u(a,xe(e,t)),onClick:()=>n(e.id),children:[s.jsx("span",{className:u(l,me(e,t)),children:o()}),s.jsx("span",{children:e.name})]})},fe=({steps:e,currentStep:r,onChangeStep:t})=>{const n=a=>{const l=e.findIndex(i=>i.id===r),o=e.findIndex(i=>i.id===a);(a!==r&&e[l].status===g.VALID||o<l)&&t(a)};return s.jsx("div",{id:"steps",className:"flex gap-x-3",children:e.map((a,l)=>s.jsx(pe,{currentStep:r,onChangeStep:n,step:a,index:l},a.id))})},_=({name:e,value:r,title:t,description:n,checked:a=!1,inputId:l,cssClass:o,labelCssClass:i,disabled:d,onChange:c,descriptionCssClass:m})=>{const f=`${l}-desc`,y=u("dial-small cursor-pointer",d?"text-secondary":"text-primary",i),w=u("cursor-pointer dial-input-radio",t&&"mr-2",o),C=u("flex flex-col",!!n&&"mb-2"),j=u("dial-tiny mt-2 ml-[26px] text-secondary",m),N=k=>{d||k.target.checked&&c?.(r)};return s.jsxs("div",{className:C,children:[s.jsxs("div",{className:"flex flex-row items-center",children:[s.jsx("input",{type:"radio",id:l,name:e,value:r,checked:a,disabled:d,"aria-describedby":a&&n?f:void 0,className:w,onChange:N}),t?s.jsx("label",{className:y,htmlFor:l,children:t}):null]}),a&&n&&s.jsx("div",{id:f,className:j,children:n})]})};var M=(e=>(e.Row="Row",e.Column="Column",e))(M||{});const he="flex flex-col gap-2",ge="flex",be="pb-1 mt-2",je={[M.Column]:"flex-col gap-y-3",[M.Row]:"flex-row gap-x-6"},ye=({fieldTitle:e,radioCssClass:r,labelCssClass:t,disabled:n,elementId:a,radioButtons:l,activeRadioButton:o,orientation:i,onChange:d})=>s.jsxs("div",{className:he,children:[e&&s.jsx(A,{fieldTitle:e,htmlFor:a}),s.jsx("div",{role:"radiogroup","aria-label":e,"aria-disabled":n||void 0,className:u(ge,je[i]),children:l.map(c=>s.jsxs("div",{className:"flex flex-col",children:[s.jsx(_,{name:a,value:c.id,inputId:c.id,disabled:n,cssClass:r,labelCssClass:t,title:c.name,checked:c.id===o,onChange:()=>d(c.id)}),c.id===o&&c.content?s.jsx("div",{className:be,children:c.content}):null]},c.id))})]}),H=({value:e,textareaId:r,placeholder:t,cssClass:n="",disabled:a,invalid:l,readonly:o,onChange:i})=>s.jsx(I,{tooltip:e,triggerClassName:"flex",children:s.jsx("textarea",{id:r,placeholder:t,value:e||"",disabled:a,className:u("dial-textarea dial-input",l?"dial-input-error":"",a&&"dial-input-disable",o&&"dial-input-readonly",n),onChange:d=>!o&&i?.(d.currentTarget.value)})}),Ce=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Backspace","Delete","Tab","Enter","Escape","Home","End"],we=(e,r,t,n)=>{if((r==="number"||t!==void 0||n!==void 0)&&!Ce.includes(e.key)&&!(e.key==="-"&&e.currentTarget.selectionStart===0&&(t===void 0||t<0))&&!(e.key==="."&&r==="number"&&!e.currentTarget.value.includes("."))){if(!/^[0-9]$/.test(e.key)){e.preventDefault();return}if(t!==void 0||n!==void 0){const l=e.currentTarget.value,o=e.currentTarget.selectionStart||0,i=l.slice(0,o)+e.key+l.slice(o),d=parseFloat(i);if(!isNaN(d)){if(t!==void 0&&d<t){e.preventDefault();return}if(n!==void 0&&d>n){e.preventDefault();return}}}}},P=({iconBeforeInput:e,iconAfterInput:r,hideBorder:t,value:n,elementId:a,placeholder:l="",cssClass:o="",containerCssClass:i,tooltipTriggerClassName:d,type:c="text",disabled:m,readonly:f,invalid:y,onChange:w,min:C,max:j,prefix:N,suffix:k,textBeforeInput:p,textAfterInput:T})=>{const G=v=>v.target.blur(),U=c==="number"||C!==void 0||j!==void 0,K=v=>{we(v,c,C,j)},X=v=>{const S=v.currentTarget.value;if(U&&S!==""){const L=parseFloat(S);if(isNaN(L)&&S!=="-"&&S!=="."||!isNaN(L)&&(C!==void 0&&L<C||j!==void 0&&L>j))return}w?.(S)};return s.jsxs("div",{className:u("dial-input-field flex flex-row items-center justify-between",t?"dial-input-no-border":"dial-input",y&&"dial-input-error",m&&"dial-input-disable",f&&"dial-input-readonly",!p&&"pl-1",!T&&"pr-1",i),children:[p&&s.jsx(I,{tooltip:p,children:s.jsx(P,{hideBorder:!0,containerCssClass:"rounded-r-none border-r-0",cssClass:"px-2 overflow-hidden overflow-ellipsis dial-small",value:p,disabled:!0,elementId:p+"textBefore"})}),N&&s.jsxs("p",{className:"text-secondary dial-small pl-2",children:[" ",N]}),s.jsx(R,{icon:e}),s.jsx(I,{tooltip:n,triggerClassName:d,children:s.jsx("input",{type:c,autoComplete:"off",id:a,placeholder:l,value:n??"",title:n?String(n):"",disabled:m,className:u("border-0 bg-transparent px-2",o),onChange:v=>!f&&X?.(v),onKeyDown:K,onWheel:G,min:C,max:j})}),s.jsx(R,{icon:r}),k&&s.jsxs("p",{className:"text-secondary dial-small pr-2",children:[" ",k]}),T&&s.jsx(I,{tooltip:T,children:s.jsx(P,{hideBorder:!0,containerCssClass:"rounded-l-none border-l-0",cssClass:"px-2",value:T,disabled:!0,elementId:T+"textAfter"})})]})},Ne=/^0+\.(\d+)?$/,ve=/^0+/,q=({fieldTitle:e,errorText:r,optional:t,elementCssClass:n,elementContainerCssClass:a,elementId:l,containerCssClass:o,readonly:i,defaultEmptyText:d,min:c,max:m,...f})=>s.jsxs("div",{className:u("flex flex-col",o),children:[s.jsx(A,{fieldTitle:e,optional:t,htmlFor:l}),i?s.jsx("span",{children:f.value||(d??"None")}):s.jsxs(s.Fragment,{children:[s.jsx(P,{elementId:l,cssClass:n,containerCssClass:a,invalid:r!=null,min:c,max:m,...f}),s.jsx(V,{errorText:r})]})]}),De=({onChange:e,value:r,min:t,max:n,...a})=>{const l=o=>String(o)?.match(Ne)?String(o)?.replace(ve,"0"):Number(o);return s.jsx(q,{type:"number",onChange:o=>e?.(l(o)),value:r,min:t,max:n,...a})},Ie=({onChange:e,...r})=>s.jsx(q,{type:"text",onChange:t=>e?.(t),...r}),Re=({fieldTitle:e,optional:r,elementId:t,elementCssClass:n,errorText:a,...l})=>s.jsxs("div",{className:"flex flex-col",children:[s.jsx(A,{fieldTitle:e,optional:r,htmlFor:t}),s.jsx(H,{textareaId:t,cssClass:n,...l}),s.jsx(V,{errorText:a})]}),ke=({title:e,switchId:r,isOn:t=!1,disabled:n,onChange:a})=>{const l=u("flex w-[36px] h-[18px] cursor-pointer items-center gap-1 rounded-full p-0.5 transition-all duration-200",t?"flex-row-reverse":"flex-row",n?"pointer-events-none":"",n?t?"bg-controls-disable":"bg-layer-4":t?"bg-accent-primary":"bg-layer-4"),o=b.useCallback(i=>{i.stopPropagation(),a?.(!t)},[a,t]);return s.jsxs("div",{className:"flex flex-row items-center",children:[s.jsx("input",{type:"checkbox",onChange:o,id:r,disabled:n,className:"invisible w-0 h-0",checked:t}),s.jsx("label",{htmlFor:r,className:l,children:s.jsx("span",{className:u("size-3 rounded-full",n?t?"bg-layer-4":"bg-controls-disable":"bg-controls-enable-primary")})}),e&&s.jsx("span",{className:"pl-2 dial-small text-primary",children:e})]})};var F=(e=>(e.Sm="sm",e.Md="md",e.Lg="lg",e))(F||{});const Fe="z-[52] flex items-center justify-center bg-blackout md:p-4",Te="relative max-h-full rounded bg-layer-3 flex flex-col shadow w-full h-full md:h-auto",Se="divide-tertiary divide-y",Ee="flex flex-row justify-between py-4 px-6 items-center",Pe={[F.Sm]:"max-w-full md:max-w-[400px]",[F.Md]:"max-w-full md:max-w-[800px]",[F.Lg]:"max-w-full md:max-w-[1200px]"},Ae=({open:e=!1,title:r,portalId:t,cssClass:n,overlayClass:a,headingClass:l,dividers:o=!0,children:i,footer:d,onClose:c,size:m=F.Md})=>{const{refs:f,context:y}=x.useFloating({open:e,onOpenChange:p=>{p||c?.(null)}}),w=x.useRole(y,{role:"dialog"}),C=x.useDismiss(y,{outsidePress:!0}),{getFloatingProps:j}=x.useInteractions([w,C]);if(!e)return null;const N=typeof r=="string"?"dial-popup-heading":void 0,k=p=>p?typeof p=="string"?s.jsx("h3",{id:N,className:u("flex-1 min-w-0 mr-3 truncate dial-h3 text-primary",l),children:s.jsx(I,{tooltip:p,children:p})}):p:s.jsx("span",{});return s.jsx(x.FloatingPortal,{id:t,children:s.jsx(x.FloatingOverlay,{className:u(Fe,a),children:s.jsx(x.FloatingFocusManager,{context:y,children:s.jsxs("div",{ref:f.setFloating,...j(),role:"dialog","aria-modal":"true","aria-labelledby":N,className:u(Te,Pe[m],o&&Se,n),children:[s.jsxs("div",{className:Ee,children:[k(r),s.jsx(B,{cssClass:"text-secondary hover:text-accent-primary",ariaLabel:"Close dialog",iconBefore:s.jsx(h.IconX,{size:18}),onClick:p=>c?.(p)})]}),s.jsx("div",{className:"flex-grow overflow-auto",children:i}),d]})})})})},Le=({onClick:e})=>s.jsx(h.IconEyeOff,{...O,className:"text-primary",onClick:e}),Oe=({onClick:e})=>s.jsx(h.IconEye,{...O,className:"text-primary",onClick:e}),$=({...e})=>{const[r,t]=b.useState(!1),n=b.useCallback(a=>{t(a)},[]);return s.jsx(P,{type:r?"text":"password",...e,iconAfterInput:r?s.jsx(Le,{onClick:()=>n(!1)}):s.jsx(Oe,{onClick:()=>n(!0)})})},Me=({fieldTitle:e,optional:r,elementCssClass:t,elementId:n,errorText:a,...l})=>s.jsxs("div",{className:"flex flex-col",children:[s.jsx(A,{fieldTitle:e,optional:r,htmlFor:n}),s.jsx($,{cssClass:t,elementId:n,invalid:!!a,...l}),s.jsx(V,{errorText:a})]});exports.AlertVariant=D;exports.ButtonVariant=E;exports.DialAlert=ee;exports.DialButton=B;exports.DialCheckbox=ue;exports.DialErrorText=V;exports.DialFieldLabel=A;exports.DialIcon=R;exports.DialInput=P;exports.DialLoader=te;exports.DialNumberInputField=De;exports.DialPasswordInput=$;exports.DialPasswordInputField=Me;exports.DialPopup=Ae;exports.DialRadioButton=_;exports.DialRadioGroup=ye;exports.DialSteps=fe;exports.DialSwitch=ke;exports.DialTextAreaField=Re;exports.DialTextInputField=Ie;exports.DialTextarea=H;exports.DialTooltip=I;exports.PopupSize=F;exports.RadioGroupOrientation=M;exports.StepStatus=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("classnames"),g=require("@tabler/icons-react"),h=require("react"),p=require("@floating-ui/react"),M=({errorText:e})=>e&&s.jsx("span",{className:"text-error dial-tiny mt-1",children:e}),A=({fieldTitle:e,htmlFor:r,optional:t,optionalText:n,cssClass:a})=>e?s.jsxs("label",{className:i("dial-tiny text-secondary",a,!a?.includes("mb")&&"mb-2"),htmlFor:r,children:[s.jsx("span",{className:"min-h-4",children:e}),t&&s.jsx("span",{className:"ml-1",children:n??"(Optional)"})]}):null,N=({icon:e,className:r})=>e?s.jsx("span",{className:i("flex-shrink-0",r),children:e}):null;var E=(e=>(e.Primary="primary",e.Secondary="secondary",e.Tertiary="tertiary",e))(E||{});const Q={[E.Primary]:"dial-primary-button",[E.Secondary]:"dial-secondary-button",[E.Tertiary]:"dial-tertiary-button"},V=({title:e,variant:r,cssClass:t,ref:n,onClick:a,disable:o,iconAfter:l,iconBefore:c,hideTitleOnMobile:d,ariaLabel:u})=>{const x=i("dial-small-semi",l?"mr-2":"",c?"ml-2":"",d?"hidden sm:inline":"inline"),m=i(r&&Q[r],t,"focus-visible:outline outline-offset-0");return s.jsxs("button",{ref:n,type:"button",className:m,onClick:b=>a?.(b),disabled:o,"aria-label":e||u,children:[s.jsx(N,{icon:c}),e&&s.jsx("span",{className:x,children:e}),s.jsx(N,{icon:l})]})};var I=(e=>(e.Info="info",e.Success="success",e.Warning="warning",e.Error="error",e))(I||{});const Y={info:s.jsx(g.IconInfoCircle,{size:24,stroke:2}),error:s.jsx(g.IconAlertCircle,{size:24,stroke:2}),warning:s.jsx(g.IconAlertTriangle,{size:24,stroke:2}),success:s.jsx(g.IconCircleCheck,{size:24,stroke:2})},J={[I.Info]:"bg-info border-info text-info",[I.Success]:"bg-success border-success text-success",[I.Warning]:"bg-warning border-warning text-warning",[I.Error]:"bg-error border-error text-error"},ee="items-center justify-between gap-2 p-3 border border-solid dial-small-150 rounded flex",se=({variant:e=I.Info,message:r,cssClass:t,closable:n=!1,onClose:a})=>s.jsxs("div",{role:"alert",className:i(ee,J[e],t),children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(N,{icon:Y[e]}),s.jsx("div",{className:"text-primary",children:r})]}),n&&s.jsx(V,{cssClass:"ml-2 text-secondary hover:text-primary",ariaLabel:"Close alert",iconBefore:s.jsx(g.IconX,{size:16}),onClick:o=>a?.(o)})]}),re="flex items-center justify-center text-secondary",te="shrink-0 grow-0 basis-auto animate-spin-steps",ne=({size:e=18,cssClass:r,iconClass:t,fullWidth:n=!0,ariaLabel:a="Loading"})=>s.jsx("div",{role:"status","aria-label":a,className:i({[re]:!0,"w-full h-full":n,[r||""]:!!r}),children:s.jsx(N,{icon:s.jsx(g.IconLoader,{width:e,height:e,className:i(te,t)})})}),ae=7,oe=2,_=h.createContext(null),W=()=>{const e=h.useContext(_);if(e==null)throw new Error("Tooltip components must be wrapped in <Tooltip />");return e},le=({initialOpen:e=!1,placement:r="bottom",isTriggerClickable:t=!1,open:n,onOpenChange:a}={})=>{const[o,l]=h.useState(e),c=h.useRef(null),d=n??o,u=a??l,x=p.useFloating({placement:r,open:d,onOpenChange:u,whileElementsMounted:p.autoUpdate,middleware:[p.offset(ae+oe),p.flip({crossAxis:r.includes("-"),fallbackAxisSideDirection:"start",padding:5}),p.shift({padding:5}),p.arrow({element:c})]}),m=p.useHover(x.context,{move:!1,enabled:n==null,mouseOnly:t,delay:{open:500,close:0}}),b=p.useFocus(x.context,{enabled:n==null}),C=p.useDismiss(x.context),y=p.useRole(x.context,{role:"tooltip"}),f=p.useInteractions([m,b,C,y]);return h.useMemo(()=>({open:d,setOpen:u,arrowRef:c,...f,...x}),[d,u,f,x])},ie=({children:e,...r})=>{const t=le(r);return s.jsx(_.Provider,{value:t,children:e})},ce=h.forwardRef(function({style:r,...t},n){const a=W(),o=p.useMergeRefs([a.refs.setFloating,n]);return a.open?s.jsx(p.FloatingPortal,{id:"tooltip-portal",children:s.jsxs("div",{ref:o,style:{...a.floatingStyles,...r},...a.getFloatingProps(t),className:i("z-[55] whitespace-pre-wrap rounded border border-primary bg-blackout px-2 py-1 dial-tiny shadow max-w-[300px]",a.getFloatingProps(t).className),children:[t.children,s.jsx(p.FloatingArrow,{ref:a.arrowRef,context:a.context,fill:"currentColor",strokeWidth:1,className:"stroke-primary w-2 text-[var(--bg-layer-0,_#000000)]"})]})}):null}),de=h.forwardRef(function({children:r,asChild:t=!1,...n},a){const o=W(),c=r&&typeof r=="object"&&"ref"in r&&r.ref!==void 0?r.ref:void 0,d=p.useMergeRefs([o.refs.setReference,a,c]);return t&&h.isValidElement(r)?h.cloneElement(r,o.getReferenceProps({ref:d,...n,...r.props})):s.jsx("span",{ref:d,...o.getReferenceProps(n),className:n.className??"dial-tooltip-trigger text-left",children:r})}),k=({hideTooltip:e,tooltip:r,children:t,triggerClassName:n,contentClassName:a,...o})=>s.jsxs(ie,{...o,children:[s.jsx(de,{className:i(n,"truncate"),children:t}),s.jsx(ce,{className:i("text-primary",a,"max-w-[300px]",(e||!r)&&"hidden"),children:r})]}),ue=18,B={size:ue,stroke:2},xe=({label:e,id:r,checked:t,indeterminate:n,disabled:a,ariaLabel:o,onChange:l})=>{const c=h.useCallback(x=>{x.stopPropagation(),l?.(x.target.checked,r)},[l,r]),d=i("flex flex-row items-center cursor-pointer text-accent-primary small-medium flex-1 min-w-0",`${t?"":'before:content-[""] before:inline-block before:w-[18px] before:h-[18px] before:border before:border-hover before:rounded before:mr-2'}`,a?"pointer-events-none text-secondary before:border-icon-secondary before:bg-layer-4":""),u=i("mr-2 border rounded",a?"bg-layer-4 border-icon-secondary":"");return s.jsxs("label",{className:d,htmlFor:r,children:[t&&(n?s.jsx(g.IconMinus,{className:u,...B}):s.jsx(g.IconCheck,{className:u,...B})),e&&s.jsx(k,{tooltip:e,triggerClassName:"flex-1 min-w-0",children:s.jsx("p",{className:"text-primary w-full truncate",children:e})}),s.jsx("input",{type:"checkbox",onChange:c,id:r,checked:t,"aria-checked":n?"mixed":t,"aria-disabled":a||void 0,"aria-label":e?void 0:o,className:"invisible w-0 h-0"})]})};var w=(e=>(e.VALID="valid",e.ERROR="error",e))(w||{});const pe=(e,r)=>{if(r===e.id)switch(e.status){case w.VALID:return"border-accent-secondary text-primary";case w.ERROR:return"border-red-900 text-primary";default:return"border-accent-primary text-primary"}switch(e.status){case w.VALID:return"border-primary text-white";case w.ERROR:return"border-red-900 text-error";default:return"border-primary text-secondary"}},me=(e,r)=>{if(r===e.id)switch(e.status){case w.VALID:return"bg-accent-secondary";case w.ERROR:return"bg-red-400";default:return"bg-accent-primary"}switch(e.status){case w.VALID:return"bg-accent-secondary";case w.ERROR:return"bg-red-400";default:return"bg-layer-4"}},fe=({step:e,index:r,currentStep:t,onChangeStep:n})=>{const a="h-[32px] flex flex-1 min-w-[180px] items-center dial-tiny border-t-2 cursor-pointer",o="w-[22px] h-[22px] flex justify-center items-center mr-2 rounded-full text-white",l=()=>t===e.id&&e.status===w.ERROR?s.jsx(g.IconExclamationCircle,{stroke:2,size:16}):t!==e.id&&e.status===w.VALID?s.jsx(g.IconCheck,{stroke:2,size:16}):r+1;return s.jsxs("button",{className:i(a,pe(e,t)),onClick:()=>n(e.id),children:[s.jsx("span",{className:i(o,me(e,t)),children:l()}),s.jsx("span",{children:e.name})]})},he=({steps:e,currentStep:r,onChangeStep:t})=>{const n=a=>{const o=e.findIndex(c=>c.id===r),l=e.findIndex(c=>c.id===a);(a!==r&&e[o].status===w.VALID||l<o)&&t(a)};return s.jsx("div",{id:"steps",className:"flex gap-x-3",children:e.map((a,o)=>s.jsx(fe,{currentStep:r,onChangeStep:n,step:a,index:o},a.id))})},q=({name:e,value:r,title:t,description:n,checked:a=!1,inputId:o,cssClass:l,labelCssClass:c,disabled:d,onChange:u,descriptionCssClass:x})=>{const m=`${o}-desc`,b=i("dial-small cursor-pointer",d?"text-secondary":"text-primary",c),C=i("cursor-pointer dial-input-radio",t&&"mr-2",l),y=i("flex flex-col",!!n&&"mb-2"),f=i("dial-tiny mt-2 ml-[26px] text-secondary",x),v=R=>{d||R.target.checked&&u?.(r)};return s.jsxs("div",{className:y,children:[s.jsxs("div",{className:"flex flex-row items-center",children:[s.jsx("input",{type:"radio",id:o,name:e,value:r,checked:a,disabled:d,"aria-describedby":a&&n?m:void 0,className:C,onChange:v}),t?s.jsx("label",{className:b,htmlFor:o,children:t}):null]}),a&&n&&s.jsx("div",{id:m,className:f,children:n})]})};var z=(e=>(e.Row="Row",e.Column="Column",e))(z||{});const ge="flex flex-col gap-2",be="flex",je="pb-1 mt-2",Ce={[z.Column]:"flex-col gap-y-3",[z.Row]:"flex-row gap-x-6"},ye=({fieldTitle:e,radioCssClass:r,labelCssClass:t,disabled:n,elementId:a,radioButtons:o,activeRadioButton:l,orientation:c,onChange:d})=>s.jsxs("div",{className:ge,children:[e&&s.jsx(A,{fieldTitle:e,htmlFor:a}),s.jsx("div",{role:"radiogroup","aria-label":e,"aria-disabled":n||void 0,className:i(be,Ce[c]),children:o.map(u=>s.jsxs("div",{className:"flex flex-col",children:[s.jsx(q,{name:a,value:u.id,inputId:u.id,disabled:n,cssClass:r,labelCssClass:t,title:u.name,checked:u.id===l,onChange:()=>d(u.id)}),u.id===l&&u.content?s.jsx("div",{className:je,children:u.content}):null]},u.id))})]}),we=({ariaLabel:e,cssClass:r,size:t=24,onClose:n})=>s.jsx(V,{ariaLabel:e,cssClass:i("text-secondary hover:text-accent-primary",r),onClick:n,iconBefore:s.jsx(g.IconX,{size:t})}),H=({value:e,textareaId:r,placeholder:t,cssClass:n="",disabled:a,invalid:o,readonly:l,onChange:c})=>s.jsx(k,{tooltip:e,triggerClassName:"flex",children:s.jsx("textarea",{id:r,placeholder:t,value:e||"",disabled:a,className:i("dial-textarea dial-input px-3 py-2",o?"dial-input-error":"",a&&"dial-input-disable",l&&"dial-input-readonly",n),onChange:d=>!l&&c?.(d.currentTarget.value)})}),Ne=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Backspace","Delete","Tab","Enter","Escape","Home","End"],ve=(e,r,t,n)=>{if((r==="number"||t!==void 0||n!==void 0)&&!Ne.includes(e.key)&&!(e.key==="-"&&e.currentTarget.selectionStart===0&&(t===void 0||t<0))&&!(e.key==="."&&r==="number"&&!e.currentTarget.value.includes("."))){if(!/^[0-9]$/.test(e.key)){e.preventDefault();return}if(t!==void 0||n!==void 0){const o=e.currentTarget.value,l=e.currentTarget.selectionStart||0,c=o.slice(0,l)+e.key+o.slice(l),d=parseFloat(c);if(!isNaN(d)){if(t!==void 0&&d<t){e.preventDefault();return}if(n!==void 0&&d>n){e.preventDefault();return}}}}},P=({iconBeforeInput:e,iconAfterInput:r,hideBorder:t,value:n,elementId:a,placeholder:o="",cssClass:l="",containerCssClass:c,tooltipTriggerClassName:d,type:u="text",disabled:x,readonly:m,invalid:b,onChange:C,min:y,max:f,prefix:v,suffix:R,textBeforeInput:j,textAfterInput:F})=>{const U=D=>D.target.blur(),X=u==="number"||y!==void 0||f!==void 0,K=D=>{ve(D,u,y,f)},Z=D=>{const T=D.currentTarget.value;if(X&&T!==""){const L=parseFloat(T);if(isNaN(L)&&T!=="-"&&T!=="."||!isNaN(L)&&(y!==void 0&&L<y||f!==void 0&&L>f))return}C?.(T)};return s.jsxs("div",{className:i("dial-input-field flex flex-row items-center justify-between px-3 py-2",t?"dial-input-no-border":"dial-input",b&&"dial-input-error",x&&"dial-input-disable",m&&"dial-input-readonly",!j&&"pl-1",!F&&"pr-1",c),children:[j&&s.jsx(k,{tooltip:j,children:s.jsx(P,{hideBorder:!0,containerCssClass:"rounded-r-none border-r-0",cssClass:"px-2 overflow-hidden overflow-ellipsis dial-small",value:j,disabled:!0,elementId:j+"textBefore"})}),v&&s.jsxs("p",{className:"text-secondary dial-small pl-2",children:[" ",v]}),s.jsx(N,{icon:e}),s.jsx(k,{tooltip:n,triggerClassName:d,children:s.jsx("input",{type:u,autoComplete:"off",id:a,placeholder:o,value:n??"",title:n?String(n):"",disabled:x,className:i("border-0 bg-transparent px-2",l),onChange:D=>!m&&Z?.(D),onKeyDown:K,onWheel:U,min:y,max:f})}),s.jsx(N,{icon:r}),R&&s.jsxs("p",{className:"text-secondary dial-small pr-2",children:[" ",R]}),F&&s.jsx(k,{tooltip:F,children:s.jsx(P,{hideBorder:!0,containerCssClass:"rounded-l-none border-l-0",cssClass:"px-2",value:F,disabled:!0,elementId:F+"textAfter"})})]})},De=/^0+\.(\d+)?$/,Ie=/^0+/,G=({fieldTitle:e,errorText:r,optional:t,elementCssClass:n,elementContainerCssClass:a,elementId:o,containerCssClass:l,readonly:c,defaultEmptyText:d,min:u,max:x,...m})=>s.jsxs("div",{className:i("flex flex-col",l),children:[s.jsx(A,{fieldTitle:e,optional:t,htmlFor:o}),c?s.jsx("span",{children:m.value||(d??"None")}):s.jsxs(s.Fragment,{children:[s.jsx(P,{elementId:o,cssClass:n,containerCssClass:a,invalid:r!=null,min:u,max:x,...m}),s.jsx(M,{errorText:r})]})]}),ke=({onChange:e,value:r,min:t,max:n,...a})=>{const o=l=>String(l)?.match(De)?String(l)?.replace(Ie,"0"):Number(l);return s.jsx(G,{type:"number",onChange:l=>e?.(o(l)),value:r,min:t,max:n,...a})},Re=({onChange:e,...r})=>s.jsx(G,{type:"text",onChange:t=>e?.(t),...r}),Se=({fieldTitle:e,optional:r,elementId:t,elementCssClass:n,errorText:a,...o})=>s.jsxs("div",{className:"flex flex-col",children:[s.jsx(A,{fieldTitle:e,optional:r,htmlFor:t}),s.jsx(H,{textareaId:t,cssClass:n,...o}),s.jsx(M,{errorText:a})]}),Fe=({title:e,switchId:r,isOn:t=!1,disabled:n,onChange:a})=>{const o=i("flex w-[36px] h-[18px] cursor-pointer items-center gap-1 rounded-full p-0.5 transition-all duration-200",t?"flex-row-reverse":"flex-row",n?"pointer-events-none":"",n?t?"bg-controls-disable":"bg-layer-4":t?"bg-accent-primary":"bg-layer-4"),l=h.useCallback(c=>{c.stopPropagation(),a?.(!t)},[a,t]);return s.jsxs("div",{className:"flex flex-row items-center",children:[s.jsx("input",{type:"checkbox",onChange:l,id:r,disabled:n,className:"invisible w-0 h-0",checked:t}),s.jsx("label",{htmlFor:r,className:o,children:s.jsx("span",{className:i("size-3 rounded-full",n?t?"bg-layer-4":"bg-controls-disable":"bg-controls-enable-primary")})}),e&&s.jsx("span",{className:"pl-2 dial-small text-primary",children:e})]})};var S=(e=>(e.Sm="sm",e.Md="md",e.Lg="lg",e))(S||{});const Te="z-[52] flex items-center justify-center bg-blackout md:p-4",Ee="relative max-h-full rounded bg-layer-3 flex flex-col shadow w-full h-full md:h-auto",Pe="divide-tertiary divide-y",Ae="flex flex-row justify-between py-4 px-6 items-center",Le={[S.Sm]:"max-w-full md:max-w-[400px]",[S.Md]:"max-w-full md:max-w-[800px]",[S.Lg]:"max-w-full md:max-w-[1200px]"},Be=({open:e=!1,title:r,portalId:t,cssClass:n,overlayClass:a,headingClass:o,dividers:l=!0,children:c,footer:d,onClose:u,size:x=S.Md})=>{const{refs:m,context:b}=p.useFloating({open:e,onOpenChange:j=>{j||u?.(null)}}),C=p.useRole(b,{role:"dialog"}),y=p.useDismiss(b,{outsidePress:!0}),{getFloatingProps:f}=p.useInteractions([C,y]);if(!e)return null;const v=typeof r=="string"?"dial-popup-heading":void 0,R=j=>j?typeof j=="string"?s.jsx("h3",{id:v,className:i("flex-1 min-w-0 mr-3 truncate dial-h3 text-primary",o),children:s.jsx(k,{tooltip:j,children:j})}):j:s.jsx("span",{});return s.jsx(p.FloatingPortal,{id:t,children:s.jsx(p.FloatingOverlay,{className:i(Te,a),children:s.jsx(p.FloatingFocusManager,{context:b,children:s.jsxs("div",{ref:m.setFloating,...f(),role:"dialog","aria-modal":"true","aria-labelledby":v,className:i(Ee,Le[x],l&&Pe,n),children:[s.jsxs("div",{className:Ae,children:[R(r),s.jsx(V,{cssClass:"text-secondary hover:text-accent-primary",ariaLabel:"Close dialog",iconBefore:s.jsx(g.IconX,{size:18}),onClick:j=>u?.(j)})]}),s.jsx("div",{className:"flex-grow overflow-auto",children:c}),d]})})})})},ze=({onClick:e})=>s.jsx(g.IconEyeOff,{...B,className:"text-primary",onClick:e}),Oe=({onClick:e})=>s.jsx(g.IconEye,{...B,className:"text-primary",onClick:e}),$=({...e})=>{const[r,t]=h.useState(!1),n=h.useCallback(a=>{t(a)},[]);return s.jsx(P,{type:r?"text":"password",...e,iconAfterInput:r?s.jsx(ze,{onClick:()=>n(!1)}):s.jsx(Oe,{onClick:()=>n(!0)})})},Me=({fieldTitle:e,optional:r,elementCssClass:t,elementId:n,errorText:a,...o})=>s.jsxs("div",{className:"flex flex-col",children:[s.jsx(A,{fieldTitle:e,optional:r,htmlFor:n}),s.jsx($,{cssClass:t,elementId:n,invalid:!!a,...o}),s.jsx(M,{errorText:a})]});var O=(e=>(e.Small="small",e.Base="base",e))(O||{});const Ve={[O.Small]:{textClass:"text-xs px-1",containerClass:"px-[6px] py-1 h-[22px]",iconSize:10,iconStroke:1},[O.Base]:{textClass:"text-sm px-2",containerClass:"px-3 py-2 h-[38px]",iconSize:18,iconStroke:1.5}},_e=({elementId:e,value:r,placeholder:t,disabled:n,readonly:a,invalid:o,cssClass:l,containerCssClass:c,onChange:d,size:u=O.Base})=>{const[x,m]=h.useState(r||"");h.useEffect(()=>{m(r||"")},[r]);const b=h.useCallback(f=>{m(f),d?.(f)},[d]),C=Ve[u],y=h.useCallback(()=>{b("")},[b]);return s.jsxs("div",{className:i("dial-input flex flex-row items-center justify-between",o&&"dial-input-error",n&&"dial-input-disable",a&&"dial-input-readonly",C.containerClass,c),children:[s.jsx(N,{className:i(n?"text-secondary":"text-primary"),icon:s.jsx(g.IconSearch,{size:C.iconSize,stroke:C.iconStroke})}),s.jsx("input",{id:e,type:"text",autoComplete:"off",placeholder:t,value:x??"",title:x?String(x):"",disabled:n,readOnly:a,className:i("border-0 bg-transparent w-full",l,C.textClass),onChange:f=>!a&&b(f.currentTarget.value)}),x&&!a&&!n&&s.jsx(N,{className:"text-primary cursor-pointer",icon:s.jsx(g.IconX,{size:C.iconSize,stroke:C.iconStroke,onClick:y,"aria-label":"Clear search",role:"button"})})]})};exports.AlertVariant=I;exports.ButtonVariant=E;exports.DialAlert=se;exports.DialButton=V;exports.DialCheckbox=xe;exports.DialCloseButton=we;exports.DialErrorText=M;exports.DialFieldLabel=A;exports.DialIcon=N;exports.DialInput=P;exports.DialLoader=ne;exports.DialNumberInputField=ke;exports.DialPasswordInput=$;exports.DialPasswordInputField=Me;exports.DialPopup=Be;exports.DialRadioButton=q;exports.DialRadioGroup=ye;exports.DialSearch=_e;exports.DialSteps=he;exports.DialSwitch=Fe;exports.DialTextAreaField=Se;exports.DialTextInputField=Re;exports.DialTextarea=H;exports.DialTooltip=k;exports.PopupSize=S;exports.RadioGroupOrientation=z;exports.StepStatus=w;