@epam/ai-dial-ui-kit 0.2.0-rc.18 → 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"),d=require("classnames"),h=require("@tabler/icons-react"),b=require("react"),x=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:d("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,R=({icon:e,className:r})=>e?s.jsx("span",{className:d("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"},V=({title:e,variant:r,cssClass:t,ref:n,onClick:a,disable:o,iconAfter:l,iconBefore:i,hideTitleOnMobile:u,ariaLabel:c})=>{const m=d("dial-small-semi",l?"mr-2":"",i?"ml-2":"",u?"hidden sm:inline":"inline"),f=d(r&&Z[r],t,"focus-visible:outline outline-offset-0");return s.jsxs("button",{ref:n,type:"button",className:f,onClick:C=>a?.(C),disabled:o,"aria-label":e||c,children:[s.jsx(R,{icon:i}),e&&s.jsx("span",{className:m,children:e}),s.jsx(R,{icon:l})]})};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:d(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(V,{cssClass:"ml-2 text-secondary hover:text-primary",ariaLabel:"Close alert",iconBefore:s.jsx(h.IconX,{size:16}),onClick:o=>a?.(o)})]}),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:d({[se]:!0,"w-full h-full":n,[r||""]:!!r}),children:s.jsx(R,{icon:s.jsx(h.IconLoader,{width:e,height:e,className:d(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},oe=({initialOpen:e=!1,placement:r="bottom",isTriggerClickable:t=!1,open:n,onOpenChange:a}={})=>{const[o,l]=b.useState(e),i=b.useRef(null),u=n??o,c=a??l,m=x.useFloating({placement:r,open:u,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}}),C=x.useFocus(m.context,{enabled:n==null}),w=x.useDismiss(m.context),y=x.useRole(m.context,{role:"tooltip"}),j=x.useInteractions([f,C,w,y]);return b.useMemo(()=>({open:u,setOpen:c,arrowRef:i,...j,...m}),[u,c,j,m])},le=({children:e,...r})=>{const t=oe(r);return s.jsx(z.Provider,{value:t,children:e})},ie=b.forwardRef(function({style:r,...t},n){const a=W(),o=x.useMergeRefs([a.refs.setFloating,n]);return a.open?s.jsx(x.FloatingPortal,{id:"tooltip-portal",children:s.jsxs("div",{ref:o,style:{...a.floatingStyles,...r},...a.getFloatingProps(t),className:d("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 o=W(),i=r&&typeof r=="object"&&"ref"in r&&r.ref!==void 0?r.ref:void 0,u=x.useMergeRefs([o.refs.setReference,a,i]);return t&&b.isValidElement(r)?b.cloneElement(r,o.getReferenceProps({ref:u,...n,...r.props})):s.jsx("span",{ref:u,...o.getReferenceProps(n),className:n.className??"dial-tooltip-trigger text-left",children:r})}),I=({hideTooltip:e,tooltip:r,children:t,triggerClassName:n,contentClassName:a,...o})=>s.jsxs(le,{...o,children:[s.jsx(ce,{className:d(n,"truncate"),children:t}),s.jsx(ie,{className:d("text-primary",a,"max-w-[300px]",(e||!r)&&"hidden"),children:r})]}),de=18,B={size:de,stroke:2},ue=({label:e,id:r,checked:t,indeterminate:n,disabled:a,ariaLabel:o,onChange:l})=>{const i=b.useCallback(m=>{m.stopPropagation(),l?.(m.target.checked,r)},[l,r]),u=d("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=d("mr-2 border rounded",a?"bg-layer-4 border-icon-secondary":"");return s.jsxs("label",{className:u,htmlFor:r,children:[t&&(n?s.jsx(h.IconMinus,{className:c,...B}):s.jsx(h.IconCheck,{className:c,...B})),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:o,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",o="w-[22px] h-[22px] flex justify-center items-center mr-2 rounded-full text-white",l=()=>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:d(a,xe(e,t)),onClick:()=>n(e.id),children:[s.jsx("span",{className:d(o,me(e,t)),children:l()}),s.jsx("span",{children:e.name})]})},fe=({steps:e,currentStep:r,onChangeStep:t})=>{const n=a=>{const o=e.findIndex(i=>i.id===r),l=e.findIndex(i=>i.id===a);(a!==r&&e[o].status===g.VALID||l<o)&&t(a)};return s.jsx("div",{id:"steps",className:"flex gap-x-3",children:e.map((a,o)=>s.jsx(pe,{currentStep:r,onChangeStep:n,step:a,index:o},a.id))})},_=({name:e,value:r,title:t,description:n,checked:a=!1,inputId:o,cssClass:l,labelCssClass:i,disabled:u,onChange:c,descriptionCssClass:m})=>{const f=`${o}-desc`,C=d("dial-small cursor-pointer",u?"text-secondary":"text-primary",i),w=d("cursor-pointer dial-input-radio",t&&"mr-2",l),y=d("flex flex-col",!!n&&"mb-2"),j=d("dial-tiny mt-2 ml-[26px] text-secondary",m),v=k=>{u||k.target.checked&&c?.(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:u,"aria-describedby":a&&n?f:void 0,className:w,onChange:v}),t?s.jsx("label",{className:C,htmlFor:o,children:t}):null]}),a&&n&&s.jsx("div",{id:f,className:j,children:n})]})};var O=(e=>(e.Row="Row",e.Column="Column",e))(O||{});const he="flex flex-col gap-2",ge="flex",be="pb-1 mt-2",je={[O.Column]:"flex-col gap-y-3",[O.Row]:"flex-row gap-x-6"},Ce=({fieldTitle:e,radioCssClass:r,labelCssClass:t,disabled:n,elementId:a,radioButtons:o,activeRadioButton:l,orientation:i,onChange:u})=>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:d(ge,je[i]),children:o.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===l,onChange:()=>u(c.id)}),c.id===l&&c.content?s.jsx("div",{className:be,children:c.content}):null]},c.id))})]}),ye=({ariaLabel:e,cssClass:r,size:t=24,onClose:n})=>s.jsx(V,{ariaLabel:e,cssClass:d("text-secondary hover:text-accent-primary",r),onClick:n,iconBefore:s.jsx(h.IconX,{size:t})}),H=({value:e,textareaId:r,placeholder:t,cssClass:n="",disabled:a,invalid:o,readonly:l,onChange:i})=>s.jsx(I,{tooltip:e,triggerClassName:"flex",children:s.jsx("textarea",{id:r,placeholder:t,value:e||"",disabled:a,className:d("dial-textarea dial-input",o?"dial-input-error":"",a&&"dial-input-disable",l&&"dial-input-readonly",n),onChange:u=>!l&&i?.(u.currentTarget.value)})}),we=["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)&&!we.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,i=o.slice(0,l)+e.key+o.slice(l),u=parseFloat(i);if(!isNaN(u)){if(t!==void 0&&u<t){e.preventDefault();return}if(n!==void 0&&u>n){e.preventDefault();return}}}}},P=({iconBeforeInput:e,iconAfterInput:r,hideBorder:t,value:n,elementId:a,placeholder:o="",cssClass:l="",containerCssClass:i,tooltipTriggerClassName:u,type:c="text",disabled:m,readonly:f,invalid:C,onChange:w,min:y,max:j,prefix:v,suffix:k,textBeforeInput:p,textAfterInput:T})=>{const G=N=>N.target.blur(),U=c==="number"||y!==void 0||j!==void 0,K=N=>{ve(N,c,y,j)},X=N=>{const S=N.currentTarget.value;if(U&&S!==""){const L=parseFloat(S);if(isNaN(L)&&S!=="-"&&S!=="."||!isNaN(L)&&(y!==void 0&&L<y||j!==void 0&&L>j))return}w?.(S)};return s.jsxs("div",{className:d("dial-input-field flex flex-row items-center justify-between",t?"dial-input-no-border":"dial-input",C&&"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"})}),v&&s.jsxs("p",{className:"text-secondary dial-small pl-2",children:[" ",v]}),s.jsx(R,{icon:e}),s.jsx(I,{tooltip:n,triggerClassName:u,children:s.jsx("input",{type:c,autoComplete:"off",id:a,placeholder:o,value:n??"",title:n?String(n):"",disabled:m,className:d("border-0 bg-transparent px-2",l),onChange:N=>!f&&X?.(N),onKeyDown:K,onWheel:G,min:y,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+)?$/,De=/^0+/,q=({fieldTitle:e,errorText:r,optional:t,elementCssClass:n,elementContainerCssClass:a,elementId:o,containerCssClass:l,readonly:i,defaultEmptyText:u,min:c,max:m,...f})=>s.jsxs("div",{className:d("flex flex-col",l),children:[s.jsx(A,{fieldTitle:e,optional:t,htmlFor:o}),i?s.jsx("span",{children:f.value||(u??"None")}):s.jsxs(s.Fragment,{children:[s.jsx(P,{elementId:o,cssClass:n,containerCssClass:a,invalid:r!=null,min:c,max:m,...f}),s.jsx(M,{errorText:r})]})]}),Ie=({onChange:e,value:r,min:t,max:n,...a})=>{const o=l=>String(l)?.match(Ne)?String(l)?.replace(De,"0"):Number(l);return s.jsx(q,{type:"number",onChange:l=>e?.(o(l)),value:r,min:t,max:n,...a})},Re=({onChange:e,...r})=>s.jsx(q,{type:"text",onChange:t=>e?.(t),...r}),ke=({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=d("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=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: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:d("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 Te="z-[52] flex items-center justify-center bg-blackout md:p-4",Se="relative max-h-full rounded bg-layer-3 flex flex-col shadow w-full h-full md:h-auto",Ee="divide-tertiary divide-y",Pe="flex flex-row justify-between py-4 px-6 items-center",Ae={[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]"},Le=({open:e=!1,title:r,portalId:t,cssClass:n,overlayClass:a,headingClass:o,dividers:l=!0,children:i,footer:u,onClose:c,size:m=F.Md})=>{const{refs:f,context:C}=x.useFloating({open:e,onOpenChange:p=>{p||c?.(null)}}),w=x.useRole(C,{role:"dialog"}),y=x.useDismiss(C,{outsidePress:!0}),{getFloatingProps:j}=x.useInteractions([w,y]);if(!e)return null;const v=typeof r=="string"?"dial-popup-heading":void 0,k=p=>p?typeof p=="string"?s.jsx("h3",{id:v,className:d("flex-1 min-w-0 mr-3 truncate dial-h3 text-primary",o),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:d(Te,a),children:s.jsx(x.FloatingFocusManager,{context:C,children:s.jsxs("div",{ref:f.setFloating,...j(),role:"dialog","aria-modal":"true","aria-labelledby":v,className:d(Se,Ae[m],l&&Ee,n),children:[s.jsxs("div",{className:Pe,children:[k(r),s.jsx(V,{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}),u]})})})})},Be=({onClick:e})=>s.jsx(h.IconEyeOff,{...B,className:"text-primary",onClick:e}),Oe=({onClick:e})=>s.jsx(h.IconEye,{...B,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(Be,{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})]});exports.AlertVariant=D;exports.ButtonVariant=E;exports.DialAlert=ee;exports.DialButton=V;exports.DialCheckbox=ue;exports.DialCloseButton=ye;exports.DialErrorText=M;exports.DialFieldLabel=A;exports.DialIcon=R;exports.DialInput=P;exports.DialLoader=te;exports.DialNumberInputField=Ie;exports.DialPasswordInput=$;exports.DialPasswordInputField=Me;exports.DialPopup=Le;exports.DialRadioButton=_;exports.DialRadioGroup=Ce;exports.DialSteps=fe;exports.DialSwitch=Fe;exports.DialTextAreaField=ke;exports.DialTextInputField=Re;exports.DialTextarea=H;exports.DialTooltip=I;exports.PopupSize=F;exports.RadioGroupOrientation=O;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;