@epam/ai-dial-ui-kit 0.2.0-rc.16 → 0.2.0-rc.18

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