@epam/ai-dial-ui-kit 0.15.0-dev.31 → 0.15.0-dev.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -289,6 +289,8 @@ breaking change and goes through the migration-guide process.
289
289
  | `collapsibleSidebar` | `dial-kit-collapsible-sidebar` | The `aside` element of a `CollapsibleSidebar` |
290
290
  | `resizableContainer` | `dial-kit-resizable-container` | The content box inside a `ResizableContainer`'s resize frame |
291
291
  | `popup` | `dial-kit-popup` | The `role="dialog"` panel of a `Popup` |
292
+ | `bottomSheet` | `dial-kit-bottom-sheet` | The `role="dialog"` panel of a `BottomSheet` |
293
+ | `sideDrawer` | `dial-kit-side-drawer` | The `role="dialog"` panel of a `SideDrawer`, open or closed |
292
294
  | `confirmationPopup` | `dial-kit-confirmation-popup` | A `ConfirmationPopup`'s panel, additive to `popup` |
293
295
  | `accordion` | `dial-kit-accordion` | The root of an `Accordion` |
294
296
  | `folderPath` | `dial-kit-folder-path` | The breadcrumb root of a `FolderPath` |
@@ -325,6 +327,8 @@ breaking change and goes through the migration-guide process.
325
327
  | `fileName` | `dial-kit-file-name` | The row of a `FileName`: its type icon, the name and any details |
326
328
  | `folderName` | `dial-kit-folder-name` | The `FileName` row of a `FolderName`, additive to `fileName` |
327
329
  | `sharedEntityIndicator` | `dial-kit-shared-entity-indicator` | The badge of a `SharedEntityIndicator`, including the one on a `FileIcon` |
330
+ | `badge` | `dial-kit-badge` | The root of a `Badge`: the label box, with its icon when it has one |
331
+ | `avatar` | `dial-kit-avatar` | The root of an `Avatar`: the image, or the initials box that replaces it |
328
332
  | `radioGroupPopupField` | `dial-kit-radio-group-popup-field` | The root of a `RadioGroupPopupField` |
329
333
 
330
334
  #### Controls
package/dist/CHANGELOG.md CHANGED
@@ -39,6 +39,16 @@ Versions match the git tags on the `development` branch.
39
39
 
40
40
  - **`InlineSelect` (2.0) — controlled `open`, and `listStyle`** — `onOpenChange` reported the dropdown opening, but the caller could not close it: a popover that owns Escape (closing its own menu first and itself only on a second press) had no way to shut the select without shutting itself. `open` makes the open state controlled, the same way `Dropdown`'s already is; without it the select keeps its own. `listStyle` is passed through to the `Dropdown` overlay, which renders in a portal, so custom properties a caller sets on its own wrapper can reach the rows, as they already can for `Dropdown`. Both are additive; nothing renders differently without them.
41
41
 
42
+ - **`BottomSheet` (2.0)** — a panel that slides up from the bottom edge over a dimmed page, the mobile counterpart of `Popup`, moved into the kit from ai-dial-chat's `BottomSheetShell`, which sat inside one feature library and was imported across a library boundary by another. It is built on the same Floating UI pieces as `Popup` rather than on a hand-written focus trap: a portal, a scroll-locking `FloatingOverlay` on the `z-popup` layer, a `FloatingFocusManager` that moves focus to the panel on open, keeps it inside and returns it on close, and `useDismiss`, so Escape, the close button and a press on the backdrop (unless `closeOnOutsideClick` is false) all call `onClose` while `open` stays the caller's. A `title` gives a 60px header with the title centred as an `<h2>` that names the dialog, a close button at the end and, with `onBack`, a back button at the start whose arrow mirrors in RTL; without a title there is no header and `ariaLabel` names the sheet. `backAriaLabel` and `closeAriaLabel` default to English. The body scrolls past 85% of the viewport height. The panel slides in over 300ms (`animate-slideUp`, a new theme animation) and not at all under `prefers-reduced-motion`. The panel carries `dial-kit-bottom-sheet` (`DIAL_KIT_CLASS.bottomSheet`).
43
+
44
+ - **`Badge` (2.0)** — a short, static label: a topic, a category, or a status that is not a control, moved into the kit from ai-dial-chat's catalog, where `CardTag` and `FeaturedChip` drew two hand-rolled 24px labels. `Tag` is the kit's selectable, dismissable chip at 32px; a badge never responds to the pointer. `BadgeVariant.Outlined` (the default) is the neutral label, bordered on the sunken layer in `dial-tiny-text`; `BadgeVariant.Filled` is a pill in one of the theme's visual colours — `BadgeColor.Blue` (default), `Green`, `Violet`, `Indigo`, `Brown` or `Red` — in the self-uppercasing `dial-caption-lead-semi-text`, so the label is passed in sentence case. `textClassName` replaces the variant's type scale, `icon` adds a decorative icon before the label, and native span attributes pass through. The root carries `dial-kit-badge` (`DIAL_KIT_CLASS.badge`).
45
+
46
+ - **`Avatar` (2.0)** — a person's or an entity's picture, or its initials on a colour picked from its name, moved into the kit from `@epam/ai-dial-chat-shared`'s `InitialsAvatar` and `@epam/ai-dial-navigation-panel`'s `UserAvatar`, which hosts were each reimplementing. `name` gives the initials (through the newly exported `extractInitials`: 1–2 letters, Unicode-aware, punctuation skipped, `?` when there are none) and a colour pair from the theme's visual tokens — the same name always gets the same colours, and they follow the active theme. `initials` overrides the derived ones. `src` shows an image instead; a missing or broken image falls back to the initials, `onImageError` reports the failure, and a new `src` is tried again. `shape` is `AvatarShape.Circle` for a person (the default) or `AvatarShape.Square` for an application or model. `size` sets the width and height and, unless `textClassName` supplies a type-scale class, a font size of 40% of it. With an `alt` the avatar is a `role="img"` named by it, image or initials alike; without one it is decorative and hidden from assistive technology. The root carries `dial-kit-avatar` (`DIAL_KIT_CLASS.avatar`).
47
+
48
+ - **`SideDrawer` (2.0)** — a full-height panel that slides in from the inline end over a dimmed page, moved into the kit from ai-dial-chat, where the catalog's `DetailsPanel` and `StandalonePublishPanel` each carried a near-identical copy with its own backdrop, transform transition, `inert` handling and hand-written Tab trap. Neither `Popup` (a centred modal) nor `CollapsibleSidebar` (an inline rail) covered it. It is built on the same Floating UI pieces as `Popup`: a scroll-locking `FloatingOverlay` on `z-popup`, a `FloatingFocusManager` that moves focus to the panel on open and returns it on close, and `useDismiss` for Escape and a press on the backdrop (unless `closeOnOutsideClick` is false), all calling `onClose` while `open` stays the caller's. Unlike `Popup` the panel stays mounted while closed, so it slides out as well as in and keeps the state of what it holds; closed, it is `inert`, the focus manager and scroll lock are off, and the backdrop lets pointer events through. On desktop it is 540px wide with a rounded, bordered leading edge; on mobile it takes the full width; it slides from the end in either writing direction over 300ms, and not at all under `prefers-reduced-motion`. The header follows `Popup`: `onBack` (with `backDisabled`), the title — a string `header` renders an `<h2>` that names the dialog, a node needs `ariaLabel` — then `headerActions` and the close button, which `closeDisabled` disables and `hideClose` leaves out. The panel carries `dial-kit-side-drawer` (`DIAL_KIT_CLASS.sideDrawer`).
49
+
50
+ - **`BottomSheet` and `SideDrawer` (2.0) — `style` and `overlayStyle`, and `headerClassName` on `BottomSheet`** — both render in a portal at the end of `<body>`, so custom properties a caller sets on its own wrapper never reached the panel, its header or the backdrop, and `className` can carry a class but not a runtime value. A host theming the sheet through `var(--…)` — a panel background, a title colour, a divider, a backdrop tint — had no way to deliver the values. `style` is an inline style on the panel and `overlayStyle` one on the backdrop, merged after its own positioning; `headerClassName` reaches `BottomSheet`'s header row, which `SideDrawer` already exposed. All additive; nothing renders differently without them. Requested in [ai-dial-chat](https://github.com/epam/ai-dial-chat), whose bottom sheets and side panels theme their surfaces through public colour props.
51
+
42
52
  ### Fixed
43
53
 
44
54
  - **`Button` and `IconButton` (2.0) — a disabled button's tooltip opens** — `tooltipProps` wraps the button in `<Tooltip asChild>`, but a natively `disabled` button receives no pointer or focus events, so its tooltip could never open. That is exactly the state where a "why is this unavailable" hint matters, and callers worked around it with their own `<span>` wrapper, which no keyboard user could reach either. A disabled button that has a visible tooltip is now marked `aria-disabled="true"` instead of `disabled`: it stays in the tab order and answers hover and focus, so the tooltip opens for mouse and keyboard users alike, and it is still announced as unavailable. Its click is swallowed with `preventDefault`, so neither `onClick` nor a `type="submit"` form submission fires. Without a tooltip, or while `hideTooltip` is set, the button stays natively disabled as before. The disabled look is unchanged, since every 2.0 variant already styles `[aria-disabled="true"]`; the two ghost icon-button rules that styled only `:disabled` now style both. Requested in [ai-dial-chat](https://github.com/epam/ai-dial-chat), where the chat-settings dialog explains why "Apply changes" is disabled.
@@ -1 +1 @@
1
- "use strict";const t=require("react/jsx-runtime"),g=require("./DateCellRenderer-BFEh4rXZ.cjs"),U=require("@tabler/icons-react"),a=require("react"),h=require("./merge-classes-BEJXjzkx.cjs"),p=require("@floating-ui/react"),ge=require("./icon-DhjrDQ8I.cjs"),ne=require("./icon-CrGVkVpG.cjs"),C=require("./IconButton-DHOFapLo.cjs"),Ct=require("classnames");function gt(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return s.default=e,Object.freeze(s)}const de=gt(a);var he=(e=>(e.Top="top",e.Right="right",e.Bottom="bottom",e.Left="left",e))(he||{});const ht=7,xt=2,bt=500,St="fill-control-inverted",It="z-tooltip max-w-[376px] whitespace-pre-wrap break-words rounded-lg bg-control-inverted px-3 py-2 dial-small-text text-control-inverted shadow-xs",ze=a.createContext(null),Ze=()=>{const e=a.useContext(ze);if(e==null)throw new Error("Tooltip components must be wrapped in <TooltipContainer />");return e},Nt=({initialOpen:e=!1,placement:s=he.Bottom,isTriggerClickable:n=!1,open:r,onOpenChange:i}={})=>{const[u,c]=a.useState(e),m=a.useRef(null),d=r??u,x=i??c,S=p.useFloating({placement:s,open:d,onOpenChange:x,whileElementsMounted:p.autoUpdate,middleware:[p.offset(ht+xt),p.flip({fallbackAxisSideDirection:"start",padding:5}),p.shift({padding:5}),p.arrow({element:m})]}),f=p.useHover(S.context,{move:!1,enabled:r==null,mouseOnly:n,delay:{open:bt,close:0}}),I=p.useFocus(S.context,{enabled:r==null}),E=p.useDismiss(S.context),A=p.useRole(S.context,{role:"tooltip"}),k=p.useInteractions([f,I,E,A]);return a.useEffect(()=>{if(!d)return;const y=S.refs.reference.current;if(!(y instanceof Element))return;const T=new IntersectionObserver(([O])=>{O.isIntersecting||x(!1)},{root:null,threshold:0});return T.observe(y),()=>T.disconnect()},[d,S.refs.reference,x]),a.useMemo(()=>({open:d,setOpen:x,arrowRef:m,...k,...S}),[d,x,k,S])},Le=({children:e,...s})=>{const n=Nt(s);return t.jsx(ze.Provider,{value:n,children:e})},we=({style:e,...s})=>{const n=Ze(),r=C.useHasHover(),i=g.useThemeScope(),u=a.useRef(null),c=p.useMergeRefs([n.refs.setFloating,u]);return!n.open||!r?null:t.jsx(p.FloatingPortal,{id:"tooltip-portal",children:t.jsxs("div",{ref:c,"data-placement":n.placement,style:{...n.floatingStyles,...e},...n.getFloatingProps(s),className:Ct(It,i,n.getFloatingProps(s).className,g.DIAL_KIT_CLASS.tooltip),children:[s.children,t.jsx(p.FloatingArrow,{ref:n.arrowRef,context:n.context,className:St})]})})},Re=({children:e,asChild:s=!1,...n})=>{const r=Ze(),i=s&&a.isValidElement(e),u=i?e.props?.ref:null,c=p.useMergeRefs([r.refs.setReference,...u?[u]:[]]);if(i){const m=e.props;return a.cloneElement(e,r.getReferenceProps({...m,...n,className:h.mergeClasses(m.className,n.className)||void 0,ref:c}))}return t.jsx("span",{ref:c,...r.getReferenceProps(n),className:n.className??"text-start",children:e})},We=({hideTooltip:e=!1,tooltip:s,children:n,asChild:r=!1,triggerClassName:i,contentClassName:u,...c})=>{const m=!e&&!!s;return t.jsxs(Le,{...c,children:[t.jsx(Re,{asChild:r,className:i,children:n}),m&&t.jsx(we,{className:u,children:s})]})},Fe={[C.ButtonVariant.Primary]:{[C.ButtonAppearance.Solid]:"dial-kit-primary-solid-button",[C.ButtonAppearance.Ghost]:"dial-kit-primary-ghost-button",[C.ButtonAppearance.Link]:"dial-kit-primary-link-button"},[C.ButtonVariant.Neutral]:{[C.ButtonAppearance.Solid]:"dial-kit-neutral-solid-button",[C.ButtonAppearance.Outlined]:"dial-kit-neutral-outlined-button"},[C.ButtonVariant.Danger]:{[C.ButtonAppearance.Solid]:"dial-kit-danger-solid-button",[C.ButtonAppearance.Ghost]:"dial-kit-danger-ghost-button",[C.ButtonAppearance.Outlined]:"dial-kit-danger-outlined-button"},[C.ButtonVariant.Static]:{[C.ButtonAppearance.Solid]:"dial-kit-static-solid-button"},[C.ButtonVariant.Starter]:{[C.ButtonAppearance.Outlined]:"dial-kit-starter-outlined-button"},[C.ButtonVariant.Success]:{},[C.ButtonVariant.Secondary]:{},[C.ButtonVariant.Tertiary]:{}},vt=e=>{e.preventDefault()},Ke=(e,s,n)=>{const r=s!=null&&!s.hideTooltip&&s.tooltip!=null&&s.tooltip!=="";return e&&r?{disabled:void 0,"aria-disabled":!0,onClick:vt}:{disabled:e,onClick:n}},Ue=(e=C.ButtonVariant.Primary,s=C.ButtonAppearance.Solid)=>{const n=Fe[e]?.[s];return n||(console.warn(`Could not find Button styles for variant: ${e} and appearance: ${s}. Using default primary solid button styles.`),Fe[C.ButtonVariant.Primary][C.ButtonAppearance.Solid])},Et={[C.ElementSize.Small]:"size-[24px]",[C.ElementSize.Standard]:"size-[40px] dial-kit-enhanced-target",[C.ElementSize.Large]:"size-[48px] dial-kit-enhanced-target"},xe=({variant:e,appearance:s=C.ButtonAppearance.Solid,size:n=C.ElementSize.Standard,className:r,icon:i,tooltipProps:u,type:c="button",disabled:m,...d})=>{const x=h.mergeClasses("dial-kit-base-icon-button dial-kit-base-button",e&&Ue(e,s),Et[n],r),S=t.jsx("button",{...d,...Ke(m,u,d.onClick),type:c,className:x,"aria-label":C.resolveAccessibleName(d["aria-label"],u?.tooltip),children:i});return u?t.jsx(We,{asChild:!0,...u,children:S}):S},$e=({caption:e,onClick:s,"aria-label":n})=>{if(!e)return null;const r=h.mergeClasses("text-secondary hover:text-control-accent-hover active:text-control-accent-active","focus-visible:outline focus-visible:outline-focus",g.DIAL_KIT_CLASS.infoButton);return t.jsx(xe,{"aria-label":n,className:r,icon:t.jsx(U.IconInfoCircle,{size:ne.DIAL_ICON_SIZE.SM,stroke:ge.DIAL_KIT_ICON_STROKE,"aria-hidden":"true"}),onClick:s,size:C.ElementSize.Small,tooltipProps:{tooltip:e}})},De=({label:e,required:s,className:n,containerClassName:r,caption:i,size:u=C.ElementSize.Small,...c})=>e?t.jsxs("span",{className:h.mergeClasses("flex items-center gap-0.5",r,g.DIAL_KIT_CLASS.label),children:[t.jsxs("label",{...c,className:h.mergeClasses("text-secondary flex items-center gap-0.5",u===C.ElementSize.Small?"dial-tiny-semi-text":"dial-small-text",n),children:[typeof e=="string"?t.jsx("span",{className:"min-h-4",children:e}):e,s&&t.jsxs(t.Fragment,{children:[t.jsx("span",{"aria-hidden":"true",className:"text-error dial-tiny-text",children:"*"}),t.jsx("span",{className:"sr-only",children:"(required)"})]})]}),t.jsx($e,{caption:i})]}):null;var H=(e=>(e.None="none",e.Check="check",e.Tint="tint",e.Checkbox="checkbox",e.Highlight="highlight",e))(H||{});const je=(e,s)=>({appearance:r,...i})=>t.jsx(xe,{...i,variant:e,appearance:r||s}),qe=(e,s)=>({variant:r,...i})=>t.jsx(xe,{...i,variant:r||s,appearance:e}),yt=je(C.ButtonVariant.Primary,C.ButtonAppearance.Solid),Tt=je(C.ButtonVariant.Neutral,C.ButtonAppearance.Solid),_t=je(C.ButtonVariant.Danger,C.ButtonAppearance.Ghost),Xe=qe(C.ButtonAppearance.Ghost,C.ButtonVariant.Primary),At=qe(C.ButtonAppearance.Solid,C.ButtonVariant.Static),Ye=({ariaLabel:e="Close",className:s,size:n=C.ElementSize.Small,onClose:r,...i})=>t.jsx(Xe,{...i,size:n,"aria-label":e,className:h.mergeClasses(s,g.DIAL_KIT_CLASS.closeButton),onClick:r,icon:t.jsx(U.IconX,{size:n===C.ElementSize.Small?ne.DIAL_ICON_SIZE.SM:ne.DIAL_ICON_SIZE.MD,stroke:ge.DIAL_KIT_ICON_STROKE,"aria-hidden":"true"})}),kt=e=>{const s=a.useRef(null),[n,r]=a.useState(!1),[i,u]=a.useState(""),c=a.useRef(!1),m=a.useCallback(()=>{const x=s.current;x&&(c.current&&u(x.textContent??""),r(x.scrollWidth>x.clientWidth))},[]),d=a.useCallback(()=>g.scheduleMeasure(m),[m]);return a.useEffect(()=>{const x=s.current;if(x)return g.observeElementSize(x,m)},[m]),a.useEffect(()=>{c.current=typeof e!="string",d()},[e,d]),{ref:s,isTruncated:n,textContent:i,remeasure:d}},be=({text:e,className:s,contentClassName:n,hideTooltip:r=!1,id:i,customTooltipContent:u,...c})=>{const{ref:m,isTruncated:d,textContent:x,remeasure:S}=kt(e),f=typeof e=="string"?e:x,I=a.useMemo(()=>r||!d?null:u??f,[u,f,r,d]);return t.jsxs(Le,{...c,children:[t.jsx(Re,{asChild:!0,onMouseEnter:S,onFocusCapture:S,children:t.jsx("span",{id:i,ref:m,"aria-label":d&&f?f:void 0,className:h.mergeClasses("block min-w-0 max-w-full flex-1 truncate text-start",s,g.DIAL_KIT_CLASS.ellipsisTooltip),children:e})}),!!I&&t.jsx(we,{className:n,children:I})]})},Lt=8,wt=400,Rt="z-interactive-tooltip max-w-[320px] rounded-xl bg-layer-0 p-4 dial-small-text text-primary shadow-md",fe=({content:e,placement:s=he.Right,children:n,asChild:r=!1,hideTooltip:i=!1,initialOpen:u=!1,open:c,onOpenChange:m,triggerClassName:d,contentClassName:x})=>{const S=g.useIsMobileScreen(),f=g.useThemeScope(),[I,E]=a.useState(u),A=c??I,k=j=>{m?.(j),c==null&&E(j)},y=p.useFloatingNodeId(),{refs:T,floatingStyles:O,context:w}=p.useFloating({nodeId:y,placement:s,open:A,onOpenChange:k,whileElementsMounted:p.autoUpdate,middleware:[p.offset(Lt),p.flip({padding:5}),p.shift({padding:5})]}),$=p.useHover(w,{enabled:c==null,handleClose:p.safePolygon(),delay:{open:wt,close:0}}),R=p.useFocus(w,{enabled:c==null}),F=p.useDismiss(w),{getReferenceProps:V,getFloatingProps:v}=p.useInteractions([$,R,F]),q=a.useRef(null),Q=p.useMergeRefs(a.useMemo(()=>[T.setFloating,q],[T.setFloating])),X=r&&a.isValidElement(n),G=X?n.props?.ref:null,P=p.useMergeRefs(a.useMemo(()=>[T.setReference,...G?[G]:[]],[T.setReference,G])),L=!i&&!S&&!!e,D=X?a.cloneElement(n,V({...n.props,ref:P,className:h.mergeClasses(n.props.className,d)||void 0})):t.jsx("span",{ref:P,...V(),className:d??"text-start",children:n});return t.jsxs(t.Fragment,{children:[D,A&&L&&t.jsx(p.FloatingPortal,{id:"interactive-tooltip-portal",children:t.jsx(p.FloatingFocusManager,{context:w,modal:!1,initialFocus:-1,returnFocus:!1,order:["reference","content"],children:t.jsx("div",{ref:Q,"data-placement":w.placement,style:O,...v(),className:h.mergeClasses(Rt,f,x,g.DIAL_KIT_CLASS.interactiveTooltip),children:e})})})]})},Je="rounded-xl bg-layer-raised p-1 shadow-md",Me="flex flex-col gap-0.5",Qe=h.mergeClasses(Je,"w-max"),et=h.mergeClasses(Qe,Me,"py-2"),tt=h.mergeClasses("flex w-full cursor-pointer items-center gap-2 px-3 h-[40px] rounded-lg","dial-small-text text-primary truncate","hover:bg-control-accent-alpha-hover","focus-visible:outline focus-visible:outline-focus"),nt="bg-control-accent-alpha",Dt=h.mergeClasses(nt,"text-accent"),jt=h.mergeClasses("cursor-not-allowed text-control-disable-primary","bg-transparent hover:bg-transparent"),st=4,Mt=h.mergeClasses("flex items-center gap-2 align-middle","h-auto px-0 bg-transparent border-0"),Ht=h.mergeClasses("z-floating focus-visible:outline-none",Je),Ot=Qe,Bt=et,Ft=h.mergeClasses(Me,"py-1"),Vt="my-1 border-t border-tertiary",J=st,Gt=t.jsx(U.IconChevronRight,{size:ne.DIAL_ICON_SIZE.SM,stroke:ge.DIAL_KIT_ICON_STROKE,"aria-hidden":"true"}),Ve={size:14,stroke:3,"aria-hidden":!0},He=({isSelected:e=!1,isIndeterminate:s=!1,invalid:n=!1,disabled:r=!1,htmlFor:i,className:u})=>{const c=s||e,m=!!i,d=h.mergeClasses("grid size-[20px] shrink-0 place-items-center rounded border transition-colors duration-200",m&&"dial-kit-minimum-target",m&&"peer-focus-visible:outline peer-focus-visible:outline-focus",r?"border-transparent bg-control-disable-primary text-control-disable-primary":h.mergeClasses(n&&c&&"border-transparent bg-control-error text-control-permanent",n&&!c&&"border-error bg-control-neutral",!n&&c&&"border-transparent bg-control-accent text-control-permanent hover:bg-control-accent-hover",!n&&!c&&"border-default bg-control-neutral hover:border-accent hover:bg-control-accent-alpha-hover"),r?"cursor-not-allowed":m&&"cursor-pointer",u,g.DIAL_KIT_CLASS.checkboxBox),x=s?t.jsx(U.IconMinus,{...Ve}):e&&t.jsx(U.IconCheck,{...Ve});return m?t.jsx("label",{htmlFor:i,className:d,children:x}):t.jsx("span",{"aria-hidden":"true",className:d,children:x})},Pt=t.jsx(U.IconCheck,{size:ne.DIAL_ICON_SIZE.SM,stroke:ge.DIAL_KIT_ICON_STROKE,className:`shrink-0 ${g.DIAL_KIT_CLASS.menuItemCheck}`,"aria-hidden":!0}),pe=({label:e,icon:s,description:n,mark:r=H.None,selected:i=!1,danger:u=!1,trailing:c,rightControl:m,ellipsisLabel:d=!1,labelClassName:x,children:S,className:f,disabled:I=!1,type:E="button",...A})=>{const k=i&&r===H.Highlight,y=i&&(r===H.Checkbox||r===H.Tint),T=h.mergeClasses(u&&"text-error",I&&"text-control-disable-primary"),O=h.mergeClasses(tt,"aria-expanded:bg-control-accent-alpha-hover",k&&Dt,y&&nt,I&&jt,u&&"text-error",f,g.DIAL_KIT_CLASS.menuItem),w=t.jsxs("button",{type:E,disabled:I,"data-menu-item-row":m?"":void 0,className:m?"flex h-full min-w-0 flex-1 items-center gap-2 truncate text-start focus-visible:outline-none":O,...A,children:[S??t.jsxs(t.Fragment,{children:[r===H.Checkbox&&t.jsx(He,{isSelected:i,disabled:I}),s&&t.jsx(g.DialIcon,{icon:s,className:T}),d?t.jsx(be,{text:e,className:h.mergeClasses(T,x)}):t.jsx("span",{className:h.mergeClasses("min-w-0 flex-1 truncate text-start",T,x),children:e}),n&&t.jsx("span",{className:h.mergeClasses("shrink-0 text-secondary dial-small-text",I&&"text-control-disable-primary"),children:n}),i&&r===H.Check&&Pt]}),c&&t.jsx("span",{className:h.mergeClasses("ml-auto shrink-0",T),children:c})]});return m?t.jsxs("div",{role:"none",className:h.mergeClasses(O,"has-[[data-menu-item-row]:focus-visible]:outline","has-[[data-menu-item-row]:focus-visible]:outline-focus"),children:[w,m]}):w},Ce=e=>e.mark??(e.selectable?H.Checkbox:H.None),rt=e=>e.selectable?"menuitemcheckbox":Ce(e)===H.Check?"menuitemradio":"menuitem",zt=({item:e,onRootClose:s})=>{const{isOpen:n,nodeId:r,refs:i,floatingStyles:u,context:c,getReferenceProps:m,getFloatingProps:d}=g.useSubMenuFloating(J,"menu",!!e.disabled),x=a.useCallback(f=>I=>{f.disabled||(f.onClick?.({key:f.key,domEvent:I}),f.selectable||s())},[s]),S=t.jsx(pe,{ref:i.setReference,role:"menuitem","aria-haspopup":"menu","aria-expanded":n,"aria-disabled":!!e.disabled,disabled:e.disabled,icon:e.icon,label:e.label,trailing:Gt,className:e.className,...m(),children:e.renderItem?.(e)});return t.jsxs(p.FloatingNode,{id:r,children:[e.interactiveTooltip?t.jsx(fe,{asChild:!0,placement:e.interactiveTooltip.placement,content:e.interactiveTooltip.content,contentClassName:e.interactiveTooltip.contentClassName,children:S}):S,n&&t.jsx(g.SubMenuPanel,{refs:i,floatingStyles:u,context:c,getFloatingProps:d,role:"menu",surfaceClassName:e.renderSubMenu?Ot:Bt,children:e.renderSubMenu?e.renderSubMenu():t.jsxs(t.Fragment,{children:[e.menuHeader&&(typeof e.menuHeader=="function"?e.menuHeader():e.menuHeader),e.children.map(f=>{const I=rt(f),E=t.jsx(pe,{role:I,"aria-checked":I==="menuitem"?void 0:!!f.checked,"aria-current":Ce(f)===H.Highlight&&f.checked?!0:void 0,"aria-disabled":!!f.disabled,disabled:f.disabled,mark:Ce(f),selected:!!f.checked,danger:f.danger,icon:f.icon,label:f.label,className:f.className,rightControl:f.rightControl,onClick:x(f),children:f.renderItem?.(f)});return t.jsx(a.Fragment,{children:f.interactiveTooltip?t.jsx(fe,{asChild:!0,placement:f.interactiveTooltip.placement,content:f.interactiveTooltip.content,contentClassName:f.interactiveTooltip.contentClassName,children:E}):E},f.key)}),e.menuFooter&&(typeof e.menuFooter=="function"?e.menuFooter():e.menuFooter)]})})]})},Zt='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="option"]',Wt=e=>!e.hasAttribute("disabled")&&e.getAttribute("aria-disabled")!=="true",Kt=["ArrowDown","ArrowUp","Home","End"],Ut=(e,s,n)=>{if(e==="Home")return 0;if(e==="End")return n-1;const r=e==="ArrowDown"?1:-1;return s===-1?r===1?0:n-1:(s+r+n)%n},$t=e=>"clientWidth"in e?e.clientWidth:e.getBoundingClientRect?.()?.width??0,ot=({children:e,items:s,onItemClick:n,menuHeader:r,menuFooter:i,renderOverlay:u,trigger:c=[g.DropdownTrigger.Click],placement:m,disabled:d=!1,open:x,defaultOpen:S=!1,onOpenChange:f,closable:I=!1,onClose:E,className:A,overlayContentClassName:k,separatorClassName:y,listClassName:T,listStyle:O,outsidePressIgnoreRef:w,outsideClosable:$=!0,allowedPlacements:R,anchorToMouse:F=!1,matchReferenceWidth:V=!0,maxDropdownHeight:v,initialFocus:q})=>{const Q=g.useThemeScope(),[X,G]=a.useState(S),P=x!==void 0,L=P?!!x:X,D=a.useRef(null),[j,se]=a.useState(!0),_=a.useCallback((l,o,b)=>{l&&se(b!=="hover"&&b!=="safe-polygon"),P||G(l),f?.(l)},[P,f]),re=a.useId(),Se=m===void 0,oe=p.useFloatingNodeId(),{refs:M,floatingStyles:K,context:z}=p.useFloating({nodeId:oe,placement:m,open:L,onOpenChange:_,whileElementsMounted:p.autoUpdate,middleware:[p.offset({mainAxis:J,crossAxis:0}),Se?p.autoPlacement({alignment:"start",crossAxis:!0,padding:J,allowedPlacements:R}):p.flip({padding:J}),p.shift({padding:J}),p.size({padding:J,apply({availableWidth:l,availableHeight:o,elements:b}){const N=b.floating,B=$t(b.reference);N.style.setProperty("--fui-available-height",`${Math.floor(o)}px`),N.style.setProperty("--reference-width",V?`${Math.round(B)}px`:"0px"),V?N.style.minWidth=`${Math.round(B)}px`:N.style.removeProperty("min-width"),N.style.maxWidth=`${Math.floor(l)}px`;const te=Math.floor(o);N.style.maxHeight=`${v?Math.min(te,v):te}px`}})]}),Y=p.useClick(z,{enabled:c.includes(g.DropdownTrigger.Click)&&!d}),Ie=p.useHover(z,{enabled:c.includes(g.DropdownTrigger.Hover)&&!d,move:!1,restMs:40,handleClose:p.safePolygon(),delay:{open:80,close:80}}),ee=p.useDismiss(z,{bubbles:!0,referencePress:!1,outsidePress:l=>{if(!$)return!1;const o=l.target;return!(w?.current&&o instanceof Node&&w.current.contains(o))}}),ae=p.useRole(z,{role:"menu"}),{getReferenceProps:Ne,getFloatingProps:le}=p.useInteractions([Y,Ie,ee,ae]),Z=a.useCallback((l,o)=>{M.setPositionReference({getBoundingClientRect:()=>({width:0,height:0,x:l,y:o,top:o,left:l,right:l,bottom:o})})},[M]),ve=a.useCallback(l=>{!c.includes(g.DropdownTrigger.ContextMenu)||d||(l.preventDefault(),F&&(Z(l.clientX,l.clientY),D.current=document.elementFromPoint(l.clientX,l.clientY)),_(!0))},[F,d,_,Z,c]),Ee=a.useCallback(l=>{!F||d||(c.includes(g.DropdownTrigger.ContextMenu)&&L&&_(!1),Z(l.clientX,l.clientY),D.current=document.elementFromPoint(l.clientX,l.clientY))},[F,d,Z,L,c,_]);a.useEffect(()=>{d&&L&&_(!1)},[d,L,_]);const ye=a.useCallback(l=>{if(l.defaultPrevented||!Kt.includes(l.key)||!l.currentTarget.contains(l.target))return;const o=Array.from(l.currentTarget.querySelectorAll(Zt)).filter(Wt);if(o.length===0)return;l.preventDefault();const b=l.currentTarget.ownerDocument.activeElement,N=o.findIndex(B=>B===b);o[Ut(l.key,N,o.length)]?.focus()},[]),ce=a.useCallback(l=>o=>{l.disabled||(l.onClick?.({key:l.key,domEvent:o}),n?.({key:l.key,domEvent:o}),l.selectable||_(!1))},[n,_]),ie=a.useMemo(()=>u?u():s?t.jsxs(t.Fragment,{children:[r&&t.jsx(t.Fragment,{children:typeof r=="function"?r():r}),t.jsx("div",{role:"none",className:h.mergeClasses(Ft,k,g.DIAL_KIT_CLASS.dropdownList),"aria-label":"dropdown",children:s.map(l=>{if(l.type===g.DropdownItemType.Divider)return t.jsx("div",{role:"separator",className:h.mergeClasses(Vt,y)},l.key);if(l.type===g.DropdownItemType.PlainText)return t.jsx("div",{className:h.mergeClasses("px-3 py-2 text-secondary dial-caption-text",l.className),children:l.label},l.key);if(l.children?.length)return t.jsx(zt,{item:l,onRootClose:()=>_(!1)},l.key);const o=Ce(l),b=rt(l),N=t.jsx(pe,{role:b,"aria-checked":b==="menuitem"?void 0:!!l.checked,"aria-current":o===H.Highlight&&l.checked?!0:void 0,"aria-disabled":!!l.disabled,disabled:l.disabled,mark:o,selected:!!l.checked,danger:l.danger,icon:l.icon,label:l.label,className:l.className,rightControl:l.rightControl,onClick:ce(l),children:l.renderItem?.(l)});return t.jsx(a.Fragment,{children:l.interactiveTooltip?t.jsx(fe,{asChild:!0,placement:l.interactiveTooltip.placement,content:l.interactiveTooltip.content,contentClassName:l.interactiveTooltip.contentClassName,children:N}):N},l.key)})}),i&&t.jsx(t.Fragment,{children:typeof i=="function"?i():i})]}):null,[ce,s,i,r,u,_,k,y]),Te=Ne({onContextMenu:ve,onMouseDown:Ee});return a.useEffect(()=>{if(!L)return;const l=M.reference.current;let o=null;if(l instanceof Element?o=l:D.current instanceof Element&&(o=D.current),!o)return;const b=new IntersectionObserver(([N])=>{N.isIntersecting||_(!1)},{root:null,threshold:0});return b.observe(o),()=>b.disconnect()},[L,M.reference,_]),t.jsx(p.FloatingTree,{children:t.jsxs(p.FloatingNode,{id:oe,children:[t.jsx("span",{ref:M.setReference,className:h.mergeClasses(Mt,d&&"!cursor-not-allowed opacity-75",A,g.DIAL_KIT_CLASS.dropdown),"aria-haspopup":"menu","aria-expanded":L,"aria-controls":re,...Te,children:e}),L&&t.jsx(p.FloatingPortal,{children:t.jsx(p.FloatingFocusManager,{context:z,modal:!1,initialFocus:q!==void 0?q:j?0:-1,returnFocus:!0,children:t.jsxs("div",{id:re,ref:M.setFloating,style:O?{...O,...K}:K,className:h.mergeClasses(Ht,!V&&"w-max","overflow-auto",Q,T),...le({onKeyDown:ye}),children:[I&&t.jsx("div",{className:"flex items-center justify-between px-2 pt-2",children:t.jsx(Ye,{ariaLabel:"Close dropdown",onClose:l=>{E?.(l),_(!1)}})}),ie]})})})]})})},Oe=({id:e,labelProps:s,isSelected:n=!1,isIndeterminate:r=!1,invalid:i=!1,disabled:u,onChange:c,caption:m,className:d,boxClassName:x,...S})=>{const f=a.useId(),I=e??f,E=m?`${I}-caption`:void 0,A=a.useCallback(y=>{c?.(y.target.checked)},[c]),k=a.useCallback(y=>{y&&(y.indeterminate=r)},[r]);return t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsxs("div",{className:h.mergeClasses("flex items-center gap-2",d,g.DIAL_KIT_CLASS.checkbox),children:[t.jsx("input",{...S,ref:k,type:"checkbox",id:I,checked:n,disabled:u,onChange:A,"aria-checked":r?"mixed":n,"aria-invalid":i||void 0,"aria-label":C.resolveAccessibleName(typeof s?.label!="string"?S["aria-label"]:void 0),"aria-describedby":E,className:"peer sr-only"}),t.jsx(He,{htmlFor:I,isSelected:n,isIndeterminate:r,invalid:i,disabled:u,className:x}),s&&t.jsx(De,{size:C.ElementSize.Standard,...s,htmlFor:I,className:h.mergeClasses("py-[1px]",u?"cursor-not-allowed text-control-disable-primary":"cursor-pointer text-primary",s.className)})]}),m&&t.jsx("span",{id:E,className:"dial-tiny-text text-secondary ml-[28px]",children:m})]})},at=e=>de.createElement("svg",{width:32,height:32,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},de.createElement("path",{d:"M20.2954 16.7035C20.2954 17.088 20.6029 17.4069 20.9737 17.4069C21.3445 17.4069 21.6519 17.088 21.6519 16.7035C21.6519 16.3189 21.3445 16 20.9737 16C20.6029 16 20.2954 16.3189 20.2954 16.7035Z",fill:"currentColor"}),de.createElement("path",{d:"M11.7041 16.7035C11.7041 17.088 11.3966 17.4069 11.0258 17.4069C10.655 17.4069 10.3476 17.088 10.3476 16.7035C10.3476 16.3189 10.655 16 11.0258 16C11.3966 16 11.7041 16.3189 11.7041 16.7035Z",fill:"currentColor"}),de.createElement("path",{d:"M19.0221 2.40002L19.5525 1.86969C19.4118 1.72904 19.221 1.65002 19.0221 1.65002V2.40002ZM26.5777 9.95558H27.3277C27.3277 9.75667 27.2487 9.5659 27.108 9.42525L26.5777 9.95558ZM5.42212 29.6H4.67212C4.67212 30.0142 5.00791 30.35 5.42212 30.35V29.6ZM8.44434 2.40002V1.65002V2.40002ZM13.8932 19.5173C13.8932 19.9315 14.229 20.2673 14.6432 20.2673C15.0574 20.2673 15.3932 19.9315 15.3932 19.5173H14.6432H13.8932ZM16.6063 19.5173C16.6063 19.9315 16.9421 20.2673 17.3563 20.2673C17.7705 20.2673 18.1063 19.9315 18.1063 19.5173H17.3563H16.6063ZM19.0221 2.40002H18.2721V8.44447H19.0221H19.7721V2.40002H19.0221ZM19.0221 8.44447H18.2721C18.2721 9.04415 18.5103 9.61927 18.9344 10.0433L19.4647 9.51299L19.995 8.98266C19.8523 8.83992 19.7721 8.64633 19.7721 8.44447H19.0221ZM19.4647 9.51299L18.9344 10.0433C19.3584 10.4674 19.9335 10.7056 20.5332 10.7056V9.95558V9.20558C20.3314 9.20558 20.1378 9.12539 19.995 8.98266L19.4647 9.51299ZM20.5332 9.95558V10.7056H26.5777V9.95558V9.20558H20.5332V9.95558ZM5.42212 29.6H6.17212V5.42225H5.42212H4.67212V29.6H5.42212ZM5.42212 5.42225H6.17212C6.17212 4.81962 6.41151 4.24167 6.83764 3.81554L6.30731 3.28521L5.77698 2.75488C5.06955 3.46231 4.67212 4.42179 4.67212 5.42225H5.42212ZM6.30731 3.28521L6.83764 3.81554C7.26376 3.38942 7.84171 3.15002 8.44434 3.15002V2.40002V1.65002C7.44389 1.65002 6.48441 2.04745 5.77698 2.75488L6.30731 3.28521ZM8.44434 2.40002V3.15002H19.0221V2.40002V1.65002H8.44434V2.40002ZM19.0221 2.40002L18.4918 2.93035L26.0473 10.4859L26.5777 9.95558L27.108 9.42525L19.5525 1.86969L19.0221 2.40002ZM26.5777 9.95558H25.8277V26.5778H26.5777H27.3277V9.95558H26.5777ZM26.5777 26.5778H25.8277C25.8277 27.1804 25.5883 27.7584 25.1622 28.1845L25.6925 28.7148L26.2228 29.2452C26.9302 28.5377 27.3277 27.5783 27.3277 26.5778H26.5777ZM25.6925 28.7148L25.1622 28.1845C24.736 28.6106 24.1581 28.85 23.5555 28.85V29.6V30.35C24.5559 30.35 25.5154 29.9526 26.2228 29.2452L25.6925 28.7148ZM23.5555 29.6V28.85H5.42212V29.6V30.35H23.5555V29.6ZM20.9737 16V16.75C20.9388 16.75 20.9181 16.7345 20.9119 16.7281C20.906 16.722 20.9019 16.7133 20.9019 16.7035H21.6519H22.4019C22.4019 15.9307 21.7842 15.25 20.9737 15.25V16ZM21.6519 16.7035H20.9019C20.9019 16.6936 20.906 16.685 20.9119 16.6788C20.9181 16.6724 20.9388 16.6569 20.9737 16.6569V17.4069V18.1569C21.7842 18.1569 22.4019 17.4762 22.4019 16.7035H21.6519ZM20.9737 17.4069V16.6569C21.0086 16.6569 21.0292 16.6724 21.0354 16.6788C21.0414 16.685 21.0454 16.6936 21.0454 16.7035H20.2954H19.5454C19.5454 17.4762 20.1631 18.1569 20.9737 18.1569V17.4069ZM20.2954 16.7035H21.0454C21.0454 16.7133 21.0414 16.722 21.0354 16.7281C21.0292 16.7345 21.0086 16.75 20.9737 16.75V16V15.25C20.1631 15.25 19.5454 15.9307 19.5454 16.7035H20.2954ZM11.0258 16V16.75C10.9909 16.75 10.9703 16.7345 10.9641 16.7281C10.9582 16.722 10.9541 16.7133 10.9541 16.7035H11.7041H12.4541C12.4541 15.9307 11.8364 15.25 11.0258 15.25V16ZM11.7041 16.7035H10.9541C10.9541 16.6936 10.9582 16.685 10.9641 16.6788C10.9703 16.6724 10.9909 16.6569 11.0258 16.6569V17.4069V18.1569C11.8364 18.1569 12.4541 17.4762 12.4541 16.7035H11.7041ZM11.0258 17.4069V16.6569C11.0607 16.6569 11.0814 16.6724 11.0876 16.6788C11.0935 16.685 11.0976 16.6936 11.0976 16.7035H10.3476H9.59757C9.59757 17.4762 10.2153 18.1569 11.0258 18.1569V17.4069ZM10.3476 16.7035H11.0976C11.0976 16.7133 11.0935 16.722 11.0876 16.7281C11.0814 16.7345 11.0607 16.75 11.0258 16.75V16V15.25C10.2153 15.25 9.59757 15.9307 9.59757 16.7035H10.3476ZM14.6432 19.5173H15.3932C15.3932 19.127 15.6889 18.8604 15.9998 18.8604V18.1104V17.3604C14.8094 17.3604 13.8932 18.3506 13.8932 19.5173H14.6432ZM15.9998 18.1104V18.8604C16.3106 18.8604 16.6063 19.127 16.6063 19.5173H17.3563H18.1063C18.1063 18.3506 17.1901 17.3604 15.9998 17.3604V18.1104Z",fill:"currentColor"})),lt=({id:e,name:s,value:n,labelProps:r,isSelected:i=!1,disabled:u,onChange:c,caption:m,className:d,...x})=>{const S=a.useId(),f=e??S,I=m?`${f}-caption`:void 0,E=a.useCallback(A=>{A.target.checked&&c?.(n)},[c,n]);return t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsxs("div",{className:h.mergeClasses("flex items-center gap-2 ",d,g.DIAL_KIT_CLASS.radio),children:[t.jsx("input",{...x,type:"radio",id:f,name:s,value:n,checked:i,disabled:u,onChange:E,"aria-label":C.resolveAccessibleName(typeof r?.label!="string"?x["aria-label"]:void 0),"aria-describedby":I,className:"peer sr-only"}),t.jsx("label",{htmlFor:f,className:h.mergeClasses("group grid size-[20px] shrink-0 place-items-center rounded-full border transition-colors duration-200 hover:bg-control-accent-alpha-hover","dial-kit-minimum-target","peer-focus-visible:outline peer-focus-visible:outline-focus",u?"cursor-not-allowed border-default bg-control-disable-primary":h.mergeClasses("cursor-pointer",i?"border border-accent bg-control-neutral":"border-default bg-control-neutral")),children:i&&t.jsx("span",{className:h.mergeClasses("size-3 rounded-full",u?"bg-control-disable-secondary":"bg-control-accent")})}),r&&t.jsx(De,{size:C.ElementSize.Standard,...r,htmlFor:f,className:h.mergeClasses("py-[1px]",u?"cursor-not-allowed text-control-disable-primary":"cursor-pointer text-primary",r.className)})]}),m&&t.jsx("span",{id:I,className:"dial-tiny-text text-secondary ml-[26px]",children:m})]})},Ge=32,ct=({title:e,description:s,icon:n,live:r=!1,className:i,titleClassName:u,descriptionClassName:c})=>t.jsxs("div",{role:r?"status":void 0,className:h.mergeClasses("flex size-full flex-col items-center justify-center gap-2 text-tertiary",i,g.DIAL_KIT_CLASS.noDataContent),children:[n??t.jsx(at,{width:Ge,height:Ge,"aria-hidden":"true"}),t.jsx("span",{className:h.mergeClasses("dial-tiny-text text-secondary",u),children:e}),s&&t.jsx("span",{className:h.mergeClasses("dial-tiny-text text-secondary",c),children:s})]}),it="dial-kit-grid",qt="dial-kit-grid-with-selection",Xt="dial-kit-grid-without-header-borders",Yt="dial-kit-grid-row-select",Jt="dial-kit-grid-header-select",Qt="dial-kit-grid-selection-visible",en="dial-kit-grid-align-right",ke=40,_e="0.5px solid var(--stroke-tertiary, #E0E6F0)",me={accentColor:"var(--bg-control-accent, #1D4ED8)",backgroundColor:"var(--bg-layer-raised, #FCFCFC)",oddRowBackgroundColor:"var(--bg-layer-sunken, #EEF1F7)",selectedRowBackgroundColor:"var(--bg-control-accent-alpha, #2764D90F)",rowHoverColor:"var(--bg-control-accent-alpha-hover, #2764D924)",borderColor:"var(--stroke-tertiary, #E0E6F0)",rowBorder:_e,headerRowBorder:_e,headerColumnBorder:_e,chromeBackgroundColor:"var(--bg-layer-base, #F5F7FA)",foregroundColor:"var(--text-primary, #161B2D)",headerTextColor:"var(--text-secondary, #57647A)",browserColorScheme:"light",headerFontSize:14,headerFontWeight:600,fontSize:14,fontFamily:"var(--theme-font, var(--font-inter))",spacing:4,borderRadius:4,wrapperBorderRadius:8};var W=(e=>(e.API="api",e.ROW_DATA_CHANGED="rowDataChanged",e.CHECKBOX_SELECTED="checkboxSelected",e))(W||{});const tn=({params:e,mode:s,label:n,radioName:r,rowId:i,disabled:u})=>{const c=e.node,[m,d]=a.useState(()=>!!c.isSelected());a.useEffect(()=>{const S=()=>d(!!c.isSelected());return S(),c.addEventListener("rowSelected",S),()=>c.removeEventListener("rowSelected",S)},[c]);const x=S=>{u||c.setSelected(S,s===g.GridSelectionMode.SINGLE,W.CHECKBOX_SELECTED)};return s===g.GridSelectionMode.SINGLE?t.jsx(lt,{name:r,value:i,isSelected:m,disabled:u,"aria-label":n,onChange:()=>x(!0)}):t.jsx(Oe,{isSelected:m,disabled:u,"aria-label":n,onChange:x})},Pe=e=>{let s=0,n=0;return e.forEachNodeAfterFilter(r=>{r.selectable!==!1&&(n++,r.isSelected()&&s++)}),{selected:s,selectable:n}},nn=({api:e,label:s})=>{const[{selected:n,selectable:r},i]=a.useState(()=>Pe(e));a.useEffect(()=>{const c=()=>i(Pe(e));return c(),e.addEventListener("selectionChanged",c),e.addEventListener("modelUpdated",c),()=>{e.isDestroyed()||(e.removeEventListener("selectionChanged",c),e.removeEventListener("modelUpdated",c))}},[e]);const u=a.useCallback(c=>{if(c){e.selectAll("filtered",W.CHECKBOX_SELECTED);return}e.deselectAll("filtered",W.CHECKBOX_SELECTED)},[e]);return t.jsx(Oe,{isSelected:r>0&&n===r,isIndeterminate:n>0&&n<r,disabled:r===0,"aria-label":s,onChange:u})},ut="en-US",dt={year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"},Ae=40,sn={minWidth:Ae,width:Ae,maxWidth:Ae,resizable:!1,sortable:!1,filter:!1,floatingFilter:!1,suppressMovable:!0,suppressHeaderMenuButton:!0,suppressAutoSize:!0,suppressSizeToFit:!0},mt="dial-kit-grid-selection",rn=150,on=100,an=({columnDefs:e,rowData:s,additionalGridOptions:n,getContextMenuItems:r,className:i,ariaLabel:u="Data grid",wrapCustomCellRenderers:c=!0,disabledRowIds:m,selectedRowIds:d,onSelectionChange:x,onGridApiChange:S,getRowId:f,alternateOddRowColors:I=!1,filterPlaceholder:E="Enter value",emptyStateIcon:A,emptyStateTitle:k="No results found",emptyStateDescription:y="Sorry, we couldn't find any results for your search.",loading:T=!1,wrapperBorder:O=!0,withoutHeaderBorders:w=!1,allowDisabledContextMenu:$=!1,selectionMode:R,selectRowLabel:F,selectAllLabel:V="Select all rows"})=>{g.registerAgGridModulesOnce();const[v,q]=a.useState(),Q=g.useIsMobileScreen(),X=g.useIsTabletScreen(),G=a.useRef(new Set),P=a.useRef(void 0),L=`dial-kit-grid-selection-${a.useId()}`,D=a.useRef({getRowId:f,getContextMenuItems:r,onSelectionChange:x,selectRowLabel:F,wrapCustomCellRenderers:c});D.current={getRowId:f,getContextMenuItems:r,onSelectionChange:x,selectRowLabel:F,wrapCustomCellRenderers:c};const j=a.useCallback(o=>{const b=D.current.getRowId;return b?b(o):String(o.id??JSON.stringify(o))},[]),se=!!r,_=!!c,re=a.useMemo(()=>g.themeBalham.withPart(g.colorSchemeLight).withParams({...me,oddRowBackgroundColor:I?me.oddRowBackgroundColor:me.backgroundColor,wrapperBorder:O}),[I,O]),Se=a.useCallback(o=>{o.api.sizeColumnsToFit()},[]),oe=Q||X||(d?.size??0)>0,M=a.useCallback(o=>!!o&&!!m?.has(j(o)),[m,j]),K=a.useCallback((o,b,N)=>se?t.jsx(ot,{trigger:[g.DropdownTrigger.ContextMenu],items:o.data?D.current.getContextMenuItems?.(o.data)??[]:[],anchorToMouse:!0,matchReferenceWidth:!0,className:h.mergeClasses("size-full",N&&"cursor-not-allowed opacity-75"),disabled:N&&!$,children:t.jsx("span",{className:"block min-w-0 max-w-full flex-1",children:b})}):b,[se,$]),z=a.useCallback(o=>{if(!o.data)return null;const b=M(o.data);return K(o,t.jsx(be,{text:o.value==null?"":String(o.value),className:"max-w-full dial-small-text text-primary",hideTooltip:b}),b)},[M,K]),Y=a.useCallback(o=>o===W.API||o===W.ROW_DATA_CHANGED,[]),Ie=a.useMemo(()=>g.debounceFn(o=>{const N=(o.selectedNodes??[]).map(te=>te.data),B=new Set(N.map(j));G.current=B,P.current=o.source,!Y(o.source)&&D.current.onSelectionChange?.(B,N)},on),[Y,j]),ee=a.useMemo(()=>{if(R)return{...sn,colId:mt,headerName:"",headerClass:Jt,cellClass:Yt,headerComponent:R===g.GridSelectionMode.MULTIPLE?nn:void 0,headerComponentParams:{label:V},cellRenderer:o=>{if(!o.data)return null;const b=j(o.data);return t.jsx(tn,{params:o,mode:R,rowId:b,radioName:L,label:D.current.selectRowLabel?.(o.data)??"Select row",disabled:m?.has(b)})}}},[R,V,j,m,L]),ae=a.useCallback(o=>{if(!o.cellRenderer)return{...o,cellRenderer:z};const b=D.current.wrapCustomCellRenderers;if(!(typeof b=="function"?b(o):!!b))return o;const B=o.cellRenderer;return{...o,cellRenderer:ue=>{const ft=M(ue.data),Be=typeof B=="function"?B:void 0,pt=Be?t.jsx(Be,{...ue}):z(ue);return K(ue,pt,ft)}}},[M,z,K]),Ne=a.useMemo(()=>{const o=_?(e??[]).map(ae):e??[];return ee?[ee,...o]:o},[e,_,ae,ee]),{defaultColDef:le,rowSelection:Z,...ve}=n??{},Ee=a.useMemo(()=>({minWidth:rn,resizable:!0,sortable:!0,floatingFilter:!0,filter:"agTextColumnFilter",filterParams:{filterPlaceholder:E,buttons:["reset"]},comparator:g.baseColumnComparator,...g.omitUndefined(le)}),[E,le]),ye=o=>{o.api.sizeColumnsToFit(),q(o.api),n?.onGridReady?.(o),S?.(o.api)};a.useEffect(()=>{v&&s&&v.setGridOption("rowData",s)},[v,s]);const ce=a.useCallback(()=>t.jsx(ct,{live:!0,title:k,description:y,icon:A??t.jsx(U.IconZoomCancel,{size:100,stroke:.5,"aria-hidden":"true"})}),[k,y,A]),ie=typeof Z=="object"?Z:void 0,Te=a.useMemo(()=>R?{isRowSelectable:o=>!M(o.data),...ie,mode:R===g.GridSelectionMode.SINGLE?"singleRow":"multiRow",checkboxes:!1,headerCheckbox:!1}:Z,[Z,ie,M,R]);a.useEffect(()=>{v&&s&&G.current.size&&G.current.forEach(o=>{const b=v.getRowNode(o);b&&!b.isSelected()&&b.setSelected(!0,!1,W.API)})},[v,s]),a.useEffect(()=>{v&&d&&(v.deselectAll("all",W.API),d.forEach(o=>{const b=v.getRowNode(o);b&&!b.isSelected()&&b.setSelected(!0,!1,W.API)}))},[v,d]);const l=a.useCallback(o=>o.data?j(o.data):"",[j]);return a.useEffect(()=>{const o=Y(P.current);if(v&&d?.size&&o){const b=Array.from(d)[0];if(b){const N=v.getRowNode(b);N&&v.ensureNodeVisible(N)}}},[v,Y,d]),t.jsx("div",{className:h.mergeClasses(it,"size-full",R&&qt,R&&oe&&Qt,w&&Xt,i),role:"region","aria-label":u,"aria-busy":T,children:t.jsx("div",{className:"h-full overflow-x-auto",children:t.jsx(g.AgGridReact,{rowModelType:"clientSide",headerHeight:ke,rowHeight:ke,cellSelection:!1,theme:re,autoSizeStrategy:{type:"fitGridWidth"},columnDefs:Ne,defaultColDef:Ee,onGridSizeChanged:Se,onGridReady:ye,loading:T,suppressCellFocus:!0,suppressDragLeaveHidesColumns:!0,noRowsOverlayComponent:ce,rowData:s,rowSelection:Te,onSelectionChanged:Ie,getRowId:l,...ve})})})},ln=({value:e,locale:s=ut,options:n=dt,emptyPlaceholder:r,className:i,hideTooltip:u=!1})=>{const c=g.convertToDate(e),m=a.useMemo(()=>c?new Intl.DateTimeFormat(s,n).format(c):r,[c,r,s,n]),d=c?c.toISOString():void 0;return t.jsx(be,{text:d?t.jsx("time",{dateTime:d,children:m}):t.jsx("span",{children:m}),className:h.mergeClasses("dial-small-text text-primary",i),hideTooltip:u})};exports.Checkbox=Oe;exports.CheckboxBox=He;exports.CloseButton=Ye;exports.DEFAULT_DATE_FORMAT_OPTIONS=dt;exports.DEFAULT_LOCALE=ut;exports.DangerIconButton=_t;exports.DateCellRenderer=ln;exports.Dropdown=ot;exports.EllipsisTooltip=be;exports.GRID_ALIGN_RIGHT_CLASS=en;exports.GRID_ROOT_CLASS=it;exports.GRID_SELECTION_COLUMN_ID=mt;exports.GRID_THEME_PARAMS=me;exports.GhostIconButton=Xe;exports.Grid=an;exports.IconButton=xe;exports.InfoButton=$e;exports.InteractiveTooltip=fe;exports.Label=De;exports.MenuItem=pe;exports.MenuItemMark=H;exports.NeutralIconButton=Tt;exports.NoDataContent=ct;exports.PrimaryIconButton=yt;exports.ROW_HEIGHT=ke;exports.Radio=lt;exports.StaticIconButton=At;exports.SvgNoData=at;exports.Tooltip=We;exports.TooltipContainer=Le;exports.TooltipContent=we;exports.TooltipPlacement=he;exports.TooltipTrigger=Re;exports.getButtonClassNames=Ue;exports.getDisabledButtonProps=Ke;exports.overlayGap=st;exports.overlayItemClassName=tt;exports.overlayListClassName=Me;exports.overlaySubMenuListClassName=et;
1
+ "use strict";const t=require("react/jsx-runtime"),g=require("./DateCellRenderer-DB9p0E9c.cjs"),U=require("@tabler/icons-react"),a=require("react"),h=require("./merge-classes-BEJXjzkx.cjs"),p=require("@floating-ui/react"),ge=require("./icon-DhjrDQ8I.cjs"),ne=require("./icon-CrGVkVpG.cjs"),C=require("./IconButton-DHOFapLo.cjs"),Ct=require("classnames");function gt(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return s.default=e,Object.freeze(s)}const de=gt(a);var he=(e=>(e.Top="top",e.Right="right",e.Bottom="bottom",e.Left="left",e))(he||{});const ht=7,xt=2,bt=500,St="fill-control-inverted",It="z-tooltip max-w-[376px] whitespace-pre-wrap break-words rounded-lg bg-control-inverted px-3 py-2 dial-small-text text-control-inverted shadow-xs",ze=a.createContext(null),Ze=()=>{const e=a.useContext(ze);if(e==null)throw new Error("Tooltip components must be wrapped in <TooltipContainer />");return e},Nt=({initialOpen:e=!1,placement:s=he.Bottom,isTriggerClickable:n=!1,open:r,onOpenChange:i}={})=>{const[u,c]=a.useState(e),m=a.useRef(null),d=r??u,x=i??c,S=p.useFloating({placement:s,open:d,onOpenChange:x,whileElementsMounted:p.autoUpdate,middleware:[p.offset(ht+xt),p.flip({fallbackAxisSideDirection:"start",padding:5}),p.shift({padding:5}),p.arrow({element:m})]}),f=p.useHover(S.context,{move:!1,enabled:r==null,mouseOnly:n,delay:{open:bt,close:0}}),I=p.useFocus(S.context,{enabled:r==null}),E=p.useDismiss(S.context),A=p.useRole(S.context,{role:"tooltip"}),k=p.useInteractions([f,I,E,A]);return a.useEffect(()=>{if(!d)return;const y=S.refs.reference.current;if(!(y instanceof Element))return;const T=new IntersectionObserver(([O])=>{O.isIntersecting||x(!1)},{root:null,threshold:0});return T.observe(y),()=>T.disconnect()},[d,S.refs.reference,x]),a.useMemo(()=>({open:d,setOpen:x,arrowRef:m,...k,...S}),[d,x,k,S])},Le=({children:e,...s})=>{const n=Nt(s);return t.jsx(ze.Provider,{value:n,children:e})},we=({style:e,...s})=>{const n=Ze(),r=C.useHasHover(),i=g.useThemeScope(),u=a.useRef(null),c=p.useMergeRefs([n.refs.setFloating,u]);return!n.open||!r?null:t.jsx(p.FloatingPortal,{id:"tooltip-portal",children:t.jsxs("div",{ref:c,"data-placement":n.placement,style:{...n.floatingStyles,...e},...n.getFloatingProps(s),className:Ct(It,i,n.getFloatingProps(s).className,g.DIAL_KIT_CLASS.tooltip),children:[s.children,t.jsx(p.FloatingArrow,{ref:n.arrowRef,context:n.context,className:St})]})})},Re=({children:e,asChild:s=!1,...n})=>{const r=Ze(),i=s&&a.isValidElement(e),u=i?e.props?.ref:null,c=p.useMergeRefs([r.refs.setReference,...u?[u]:[]]);if(i){const m=e.props;return a.cloneElement(e,r.getReferenceProps({...m,...n,className:h.mergeClasses(m.className,n.className)||void 0,ref:c}))}return t.jsx("span",{ref:c,...r.getReferenceProps(n),className:n.className??"text-start",children:e})},We=({hideTooltip:e=!1,tooltip:s,children:n,asChild:r=!1,triggerClassName:i,contentClassName:u,...c})=>{const m=!e&&!!s;return t.jsxs(Le,{...c,children:[t.jsx(Re,{asChild:r,className:i,children:n}),m&&t.jsx(we,{className:u,children:s})]})},Fe={[C.ButtonVariant.Primary]:{[C.ButtonAppearance.Solid]:"dial-kit-primary-solid-button",[C.ButtonAppearance.Ghost]:"dial-kit-primary-ghost-button",[C.ButtonAppearance.Link]:"dial-kit-primary-link-button"},[C.ButtonVariant.Neutral]:{[C.ButtonAppearance.Solid]:"dial-kit-neutral-solid-button",[C.ButtonAppearance.Outlined]:"dial-kit-neutral-outlined-button"},[C.ButtonVariant.Danger]:{[C.ButtonAppearance.Solid]:"dial-kit-danger-solid-button",[C.ButtonAppearance.Ghost]:"dial-kit-danger-ghost-button",[C.ButtonAppearance.Outlined]:"dial-kit-danger-outlined-button"},[C.ButtonVariant.Static]:{[C.ButtonAppearance.Solid]:"dial-kit-static-solid-button"},[C.ButtonVariant.Starter]:{[C.ButtonAppearance.Outlined]:"dial-kit-starter-outlined-button"},[C.ButtonVariant.Success]:{},[C.ButtonVariant.Secondary]:{},[C.ButtonVariant.Tertiary]:{}},vt=e=>{e.preventDefault()},Ke=(e,s,n)=>{const r=s!=null&&!s.hideTooltip&&s.tooltip!=null&&s.tooltip!=="";return e&&r?{disabled:void 0,"aria-disabled":!0,onClick:vt}:{disabled:e,onClick:n}},Ue=(e=C.ButtonVariant.Primary,s=C.ButtonAppearance.Solid)=>{const n=Fe[e]?.[s];return n||(console.warn(`Could not find Button styles for variant: ${e} and appearance: ${s}. Using default primary solid button styles.`),Fe[C.ButtonVariant.Primary][C.ButtonAppearance.Solid])},Et={[C.ElementSize.Small]:"size-[24px]",[C.ElementSize.Standard]:"size-[40px] dial-kit-enhanced-target",[C.ElementSize.Large]:"size-[48px] dial-kit-enhanced-target"},xe=({variant:e,appearance:s=C.ButtonAppearance.Solid,size:n=C.ElementSize.Standard,className:r,icon:i,tooltipProps:u,type:c="button",disabled:m,...d})=>{const x=h.mergeClasses("dial-kit-base-icon-button dial-kit-base-button",e&&Ue(e,s),Et[n],r),S=t.jsx("button",{...d,...Ke(m,u,d.onClick),type:c,className:x,"aria-label":C.resolveAccessibleName(d["aria-label"],u?.tooltip),children:i});return u?t.jsx(We,{asChild:!0,...u,children:S}):S},$e=({caption:e,onClick:s,"aria-label":n})=>{if(!e)return null;const r=h.mergeClasses("text-secondary hover:text-control-accent-hover active:text-control-accent-active","focus-visible:outline focus-visible:outline-focus",g.DIAL_KIT_CLASS.infoButton);return t.jsx(xe,{"aria-label":n,className:r,icon:t.jsx(U.IconInfoCircle,{size:ne.DIAL_ICON_SIZE.SM,stroke:ge.DIAL_KIT_ICON_STROKE,"aria-hidden":"true"}),onClick:s,size:C.ElementSize.Small,tooltipProps:{tooltip:e}})},De=({label:e,required:s,className:n,containerClassName:r,caption:i,size:u=C.ElementSize.Small,...c})=>e?t.jsxs("span",{className:h.mergeClasses("flex items-center gap-0.5",r,g.DIAL_KIT_CLASS.label),children:[t.jsxs("label",{...c,className:h.mergeClasses("text-secondary flex items-center gap-0.5",u===C.ElementSize.Small?"dial-tiny-semi-text":"dial-small-text",n),children:[typeof e=="string"?t.jsx("span",{className:"min-h-4",children:e}):e,s&&t.jsxs(t.Fragment,{children:[t.jsx("span",{"aria-hidden":"true",className:"text-error dial-tiny-text",children:"*"}),t.jsx("span",{className:"sr-only",children:"(required)"})]})]}),t.jsx($e,{caption:i})]}):null;var H=(e=>(e.None="none",e.Check="check",e.Tint="tint",e.Checkbox="checkbox",e.Highlight="highlight",e))(H||{});const je=(e,s)=>({appearance:r,...i})=>t.jsx(xe,{...i,variant:e,appearance:r||s}),qe=(e,s)=>({variant:r,...i})=>t.jsx(xe,{...i,variant:r||s,appearance:e}),yt=je(C.ButtonVariant.Primary,C.ButtonAppearance.Solid),Tt=je(C.ButtonVariant.Neutral,C.ButtonAppearance.Solid),_t=je(C.ButtonVariant.Danger,C.ButtonAppearance.Ghost),Xe=qe(C.ButtonAppearance.Ghost,C.ButtonVariant.Primary),At=qe(C.ButtonAppearance.Solid,C.ButtonVariant.Static),Ye=({ariaLabel:e="Close",className:s,size:n=C.ElementSize.Small,onClose:r,...i})=>t.jsx(Xe,{...i,size:n,"aria-label":e,className:h.mergeClasses(s,g.DIAL_KIT_CLASS.closeButton),onClick:r,icon:t.jsx(U.IconX,{size:n===C.ElementSize.Small?ne.DIAL_ICON_SIZE.SM:ne.DIAL_ICON_SIZE.MD,stroke:ge.DIAL_KIT_ICON_STROKE,"aria-hidden":"true"})}),kt=e=>{const s=a.useRef(null),[n,r]=a.useState(!1),[i,u]=a.useState(""),c=a.useRef(!1),m=a.useCallback(()=>{const x=s.current;x&&(c.current&&u(x.textContent??""),r(x.scrollWidth>x.clientWidth))},[]),d=a.useCallback(()=>g.scheduleMeasure(m),[m]);return a.useEffect(()=>{const x=s.current;if(x)return g.observeElementSize(x,m)},[m]),a.useEffect(()=>{c.current=typeof e!="string",d()},[e,d]),{ref:s,isTruncated:n,textContent:i,remeasure:d}},be=({text:e,className:s,contentClassName:n,hideTooltip:r=!1,id:i,customTooltipContent:u,...c})=>{const{ref:m,isTruncated:d,textContent:x,remeasure:S}=kt(e),f=typeof e=="string"?e:x,I=a.useMemo(()=>r||!d?null:u??f,[u,f,r,d]);return t.jsxs(Le,{...c,children:[t.jsx(Re,{asChild:!0,onMouseEnter:S,onFocusCapture:S,children:t.jsx("span",{id:i,ref:m,"aria-label":d&&f?f:void 0,className:h.mergeClasses("block min-w-0 max-w-full flex-1 truncate text-start",s,g.DIAL_KIT_CLASS.ellipsisTooltip),children:e})}),!!I&&t.jsx(we,{className:n,children:I})]})},Lt=8,wt=400,Rt="z-interactive-tooltip max-w-[320px] rounded-xl bg-layer-0 p-4 dial-small-text text-primary shadow-md",fe=({content:e,placement:s=he.Right,children:n,asChild:r=!1,hideTooltip:i=!1,initialOpen:u=!1,open:c,onOpenChange:m,triggerClassName:d,contentClassName:x})=>{const S=g.useIsMobileScreen(),f=g.useThemeScope(),[I,E]=a.useState(u),A=c??I,k=j=>{m?.(j),c==null&&E(j)},y=p.useFloatingNodeId(),{refs:T,floatingStyles:O,context:w}=p.useFloating({nodeId:y,placement:s,open:A,onOpenChange:k,whileElementsMounted:p.autoUpdate,middleware:[p.offset(Lt),p.flip({padding:5}),p.shift({padding:5})]}),$=p.useHover(w,{enabled:c==null,handleClose:p.safePolygon(),delay:{open:wt,close:0}}),R=p.useFocus(w,{enabled:c==null}),F=p.useDismiss(w),{getReferenceProps:V,getFloatingProps:v}=p.useInteractions([$,R,F]),q=a.useRef(null),Q=p.useMergeRefs(a.useMemo(()=>[T.setFloating,q],[T.setFloating])),X=r&&a.isValidElement(n),G=X?n.props?.ref:null,P=p.useMergeRefs(a.useMemo(()=>[T.setReference,...G?[G]:[]],[T.setReference,G])),L=!i&&!S&&!!e,D=X?a.cloneElement(n,V({...n.props,ref:P,className:h.mergeClasses(n.props.className,d)||void 0})):t.jsx("span",{ref:P,...V(),className:d??"text-start",children:n});return t.jsxs(t.Fragment,{children:[D,A&&L&&t.jsx(p.FloatingPortal,{id:"interactive-tooltip-portal",children:t.jsx(p.FloatingFocusManager,{context:w,modal:!1,initialFocus:-1,returnFocus:!1,order:["reference","content"],children:t.jsx("div",{ref:Q,"data-placement":w.placement,style:O,...v(),className:h.mergeClasses(Rt,f,x,g.DIAL_KIT_CLASS.interactiveTooltip),children:e})})})]})},Je="rounded-xl bg-layer-raised p-1 shadow-md",Me="flex flex-col gap-0.5",Qe=h.mergeClasses(Je,"w-max"),et=h.mergeClasses(Qe,Me,"py-2"),tt=h.mergeClasses("flex w-full cursor-pointer items-center gap-2 px-3 h-[40px] rounded-lg","dial-small-text text-primary truncate","hover:bg-control-accent-alpha-hover","focus-visible:outline focus-visible:outline-focus"),nt="bg-control-accent-alpha",Dt=h.mergeClasses(nt,"text-accent"),jt=h.mergeClasses("cursor-not-allowed text-control-disable-primary","bg-transparent hover:bg-transparent"),st=4,Mt=h.mergeClasses("flex items-center gap-2 align-middle","h-auto px-0 bg-transparent border-0"),Ht=h.mergeClasses("z-floating focus-visible:outline-none",Je),Ot=Qe,Bt=et,Ft=h.mergeClasses(Me,"py-1"),Vt="my-1 border-t border-tertiary",J=st,Gt=t.jsx(U.IconChevronRight,{size:ne.DIAL_ICON_SIZE.SM,stroke:ge.DIAL_KIT_ICON_STROKE,"aria-hidden":"true"}),Ve={size:14,stroke:3,"aria-hidden":!0},He=({isSelected:e=!1,isIndeterminate:s=!1,invalid:n=!1,disabled:r=!1,htmlFor:i,className:u})=>{const c=s||e,m=!!i,d=h.mergeClasses("grid size-[20px] shrink-0 place-items-center rounded border transition-colors duration-200",m&&"dial-kit-minimum-target",m&&"peer-focus-visible:outline peer-focus-visible:outline-focus",r?"border-transparent bg-control-disable-primary text-control-disable-primary":h.mergeClasses(n&&c&&"border-transparent bg-control-error text-control-permanent",n&&!c&&"border-error bg-control-neutral",!n&&c&&"border-transparent bg-control-accent text-control-permanent hover:bg-control-accent-hover",!n&&!c&&"border-default bg-control-neutral hover:border-accent hover:bg-control-accent-alpha-hover"),r?"cursor-not-allowed":m&&"cursor-pointer",u,g.DIAL_KIT_CLASS.checkboxBox),x=s?t.jsx(U.IconMinus,{...Ve}):e&&t.jsx(U.IconCheck,{...Ve});return m?t.jsx("label",{htmlFor:i,className:d,children:x}):t.jsx("span",{"aria-hidden":"true",className:d,children:x})},Pt=t.jsx(U.IconCheck,{size:ne.DIAL_ICON_SIZE.SM,stroke:ge.DIAL_KIT_ICON_STROKE,className:`shrink-0 ${g.DIAL_KIT_CLASS.menuItemCheck}`,"aria-hidden":!0}),pe=({label:e,icon:s,description:n,mark:r=H.None,selected:i=!1,danger:u=!1,trailing:c,rightControl:m,ellipsisLabel:d=!1,labelClassName:x,children:S,className:f,disabled:I=!1,type:E="button",...A})=>{const k=i&&r===H.Highlight,y=i&&(r===H.Checkbox||r===H.Tint),T=h.mergeClasses(u&&"text-error",I&&"text-control-disable-primary"),O=h.mergeClasses(tt,"aria-expanded:bg-control-accent-alpha-hover",k&&Dt,y&&nt,I&&jt,u&&"text-error",f,g.DIAL_KIT_CLASS.menuItem),w=t.jsxs("button",{type:E,disabled:I,"data-menu-item-row":m?"":void 0,className:m?"flex h-full min-w-0 flex-1 items-center gap-2 truncate text-start focus-visible:outline-none":O,...A,children:[S??t.jsxs(t.Fragment,{children:[r===H.Checkbox&&t.jsx(He,{isSelected:i,disabled:I}),s&&t.jsx(g.DialIcon,{icon:s,className:T}),d?t.jsx(be,{text:e,className:h.mergeClasses(T,x)}):t.jsx("span",{className:h.mergeClasses("min-w-0 flex-1 truncate text-start",T,x),children:e}),n&&t.jsx("span",{className:h.mergeClasses("shrink-0 text-secondary dial-small-text",I&&"text-control-disable-primary"),children:n}),i&&r===H.Check&&Pt]}),c&&t.jsx("span",{className:h.mergeClasses("ml-auto shrink-0",T),children:c})]});return m?t.jsxs("div",{role:"none",className:h.mergeClasses(O,"has-[[data-menu-item-row]:focus-visible]:outline","has-[[data-menu-item-row]:focus-visible]:outline-focus"),children:[w,m]}):w},Ce=e=>e.mark??(e.selectable?H.Checkbox:H.None),rt=e=>e.selectable?"menuitemcheckbox":Ce(e)===H.Check?"menuitemradio":"menuitem",zt=({item:e,onRootClose:s})=>{const{isOpen:n,nodeId:r,refs:i,floatingStyles:u,context:c,getReferenceProps:m,getFloatingProps:d}=g.useSubMenuFloating(J,"menu",!!e.disabled),x=a.useCallback(f=>I=>{f.disabled||(f.onClick?.({key:f.key,domEvent:I}),f.selectable||s())},[s]),S=t.jsx(pe,{ref:i.setReference,role:"menuitem","aria-haspopup":"menu","aria-expanded":n,"aria-disabled":!!e.disabled,disabled:e.disabled,icon:e.icon,label:e.label,trailing:Gt,className:e.className,...m(),children:e.renderItem?.(e)});return t.jsxs(p.FloatingNode,{id:r,children:[e.interactiveTooltip?t.jsx(fe,{asChild:!0,placement:e.interactiveTooltip.placement,content:e.interactiveTooltip.content,contentClassName:e.interactiveTooltip.contentClassName,children:S}):S,n&&t.jsx(g.SubMenuPanel,{refs:i,floatingStyles:u,context:c,getFloatingProps:d,role:"menu",surfaceClassName:e.renderSubMenu?Ot:Bt,children:e.renderSubMenu?e.renderSubMenu():t.jsxs(t.Fragment,{children:[e.menuHeader&&(typeof e.menuHeader=="function"?e.menuHeader():e.menuHeader),e.children.map(f=>{const I=rt(f),E=t.jsx(pe,{role:I,"aria-checked":I==="menuitem"?void 0:!!f.checked,"aria-current":Ce(f)===H.Highlight&&f.checked?!0:void 0,"aria-disabled":!!f.disabled,disabled:f.disabled,mark:Ce(f),selected:!!f.checked,danger:f.danger,icon:f.icon,label:f.label,className:f.className,rightControl:f.rightControl,onClick:x(f),children:f.renderItem?.(f)});return t.jsx(a.Fragment,{children:f.interactiveTooltip?t.jsx(fe,{asChild:!0,placement:f.interactiveTooltip.placement,content:f.interactiveTooltip.content,contentClassName:f.interactiveTooltip.contentClassName,children:E}):E},f.key)}),e.menuFooter&&(typeof e.menuFooter=="function"?e.menuFooter():e.menuFooter)]})})]})},Zt='[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="option"]',Wt=e=>!e.hasAttribute("disabled")&&e.getAttribute("aria-disabled")!=="true",Kt=["ArrowDown","ArrowUp","Home","End"],Ut=(e,s,n)=>{if(e==="Home")return 0;if(e==="End")return n-1;const r=e==="ArrowDown"?1:-1;return s===-1?r===1?0:n-1:(s+r+n)%n},$t=e=>"clientWidth"in e?e.clientWidth:e.getBoundingClientRect?.()?.width??0,ot=({children:e,items:s,onItemClick:n,menuHeader:r,menuFooter:i,renderOverlay:u,trigger:c=[g.DropdownTrigger.Click],placement:m,disabled:d=!1,open:x,defaultOpen:S=!1,onOpenChange:f,closable:I=!1,onClose:E,className:A,overlayContentClassName:k,separatorClassName:y,listClassName:T,listStyle:O,outsidePressIgnoreRef:w,outsideClosable:$=!0,allowedPlacements:R,anchorToMouse:F=!1,matchReferenceWidth:V=!0,maxDropdownHeight:v,initialFocus:q})=>{const Q=g.useThemeScope(),[X,G]=a.useState(S),P=x!==void 0,L=P?!!x:X,D=a.useRef(null),[j,se]=a.useState(!0),_=a.useCallback((l,o,b)=>{l&&se(b!=="hover"&&b!=="safe-polygon"),P||G(l),f?.(l)},[P,f]),re=a.useId(),Se=m===void 0,oe=p.useFloatingNodeId(),{refs:M,floatingStyles:K,context:z}=p.useFloating({nodeId:oe,placement:m,open:L,onOpenChange:_,whileElementsMounted:p.autoUpdate,middleware:[p.offset({mainAxis:J,crossAxis:0}),Se?p.autoPlacement({alignment:"start",crossAxis:!0,padding:J,allowedPlacements:R}):p.flip({padding:J}),p.shift({padding:J}),p.size({padding:J,apply({availableWidth:l,availableHeight:o,elements:b}){const N=b.floating,B=$t(b.reference);N.style.setProperty("--fui-available-height",`${Math.floor(o)}px`),N.style.setProperty("--reference-width",V?`${Math.round(B)}px`:"0px"),V?N.style.minWidth=`${Math.round(B)}px`:N.style.removeProperty("min-width"),N.style.maxWidth=`${Math.floor(l)}px`;const te=Math.floor(o);N.style.maxHeight=`${v?Math.min(te,v):te}px`}})]}),Y=p.useClick(z,{enabled:c.includes(g.DropdownTrigger.Click)&&!d}),Ie=p.useHover(z,{enabled:c.includes(g.DropdownTrigger.Hover)&&!d,move:!1,restMs:40,handleClose:p.safePolygon(),delay:{open:80,close:80}}),ee=p.useDismiss(z,{bubbles:!0,referencePress:!1,outsidePress:l=>{if(!$)return!1;const o=l.target;return!(w?.current&&o instanceof Node&&w.current.contains(o))}}),ae=p.useRole(z,{role:"menu"}),{getReferenceProps:Ne,getFloatingProps:le}=p.useInteractions([Y,Ie,ee,ae]),Z=a.useCallback((l,o)=>{M.setPositionReference({getBoundingClientRect:()=>({width:0,height:0,x:l,y:o,top:o,left:l,right:l,bottom:o})})},[M]),ve=a.useCallback(l=>{!c.includes(g.DropdownTrigger.ContextMenu)||d||(l.preventDefault(),F&&(Z(l.clientX,l.clientY),D.current=document.elementFromPoint(l.clientX,l.clientY)),_(!0))},[F,d,_,Z,c]),Ee=a.useCallback(l=>{!F||d||(c.includes(g.DropdownTrigger.ContextMenu)&&L&&_(!1),Z(l.clientX,l.clientY),D.current=document.elementFromPoint(l.clientX,l.clientY))},[F,d,Z,L,c,_]);a.useEffect(()=>{d&&L&&_(!1)},[d,L,_]);const ye=a.useCallback(l=>{if(l.defaultPrevented||!Kt.includes(l.key)||!l.currentTarget.contains(l.target))return;const o=Array.from(l.currentTarget.querySelectorAll(Zt)).filter(Wt);if(o.length===0)return;l.preventDefault();const b=l.currentTarget.ownerDocument.activeElement,N=o.findIndex(B=>B===b);o[Ut(l.key,N,o.length)]?.focus()},[]),ce=a.useCallback(l=>o=>{l.disabled||(l.onClick?.({key:l.key,domEvent:o}),n?.({key:l.key,domEvent:o}),l.selectable||_(!1))},[n,_]),ie=a.useMemo(()=>u?u():s?t.jsxs(t.Fragment,{children:[r&&t.jsx(t.Fragment,{children:typeof r=="function"?r():r}),t.jsx("div",{role:"none",className:h.mergeClasses(Ft,k,g.DIAL_KIT_CLASS.dropdownList),"aria-label":"dropdown",children:s.map(l=>{if(l.type===g.DropdownItemType.Divider)return t.jsx("div",{role:"separator",className:h.mergeClasses(Vt,y)},l.key);if(l.type===g.DropdownItemType.PlainText)return t.jsx("div",{className:h.mergeClasses("px-3 py-2 text-secondary dial-caption-text",l.className),children:l.label},l.key);if(l.children?.length)return t.jsx(zt,{item:l,onRootClose:()=>_(!1)},l.key);const o=Ce(l),b=rt(l),N=t.jsx(pe,{role:b,"aria-checked":b==="menuitem"?void 0:!!l.checked,"aria-current":o===H.Highlight&&l.checked?!0:void 0,"aria-disabled":!!l.disabled,disabled:l.disabled,mark:o,selected:!!l.checked,danger:l.danger,icon:l.icon,label:l.label,className:l.className,rightControl:l.rightControl,onClick:ce(l),children:l.renderItem?.(l)});return t.jsx(a.Fragment,{children:l.interactiveTooltip?t.jsx(fe,{asChild:!0,placement:l.interactiveTooltip.placement,content:l.interactiveTooltip.content,contentClassName:l.interactiveTooltip.contentClassName,children:N}):N},l.key)})}),i&&t.jsx(t.Fragment,{children:typeof i=="function"?i():i})]}):null,[ce,s,i,r,u,_,k,y]),Te=Ne({onContextMenu:ve,onMouseDown:Ee});return a.useEffect(()=>{if(!L)return;const l=M.reference.current;let o=null;if(l instanceof Element?o=l:D.current instanceof Element&&(o=D.current),!o)return;const b=new IntersectionObserver(([N])=>{N.isIntersecting||_(!1)},{root:null,threshold:0});return b.observe(o),()=>b.disconnect()},[L,M.reference,_]),t.jsx(p.FloatingTree,{children:t.jsxs(p.FloatingNode,{id:oe,children:[t.jsx("span",{ref:M.setReference,className:h.mergeClasses(Mt,d&&"!cursor-not-allowed opacity-75",A,g.DIAL_KIT_CLASS.dropdown),"aria-haspopup":"menu","aria-expanded":L,"aria-controls":re,...Te,children:e}),L&&t.jsx(p.FloatingPortal,{children:t.jsx(p.FloatingFocusManager,{context:z,modal:!1,initialFocus:q!==void 0?q:j?0:-1,returnFocus:!0,children:t.jsxs("div",{id:re,ref:M.setFloating,style:O?{...O,...K}:K,className:h.mergeClasses(Ht,!V&&"w-max","overflow-auto",Q,T),...le({onKeyDown:ye}),children:[I&&t.jsx("div",{className:"flex items-center justify-between px-2 pt-2",children:t.jsx(Ye,{ariaLabel:"Close dropdown",onClose:l=>{E?.(l),_(!1)}})}),ie]})})})]})})},Oe=({id:e,labelProps:s,isSelected:n=!1,isIndeterminate:r=!1,invalid:i=!1,disabled:u,onChange:c,caption:m,className:d,boxClassName:x,...S})=>{const f=a.useId(),I=e??f,E=m?`${I}-caption`:void 0,A=a.useCallback(y=>{c?.(y.target.checked)},[c]),k=a.useCallback(y=>{y&&(y.indeterminate=r)},[r]);return t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsxs("div",{className:h.mergeClasses("flex items-center gap-2",d,g.DIAL_KIT_CLASS.checkbox),children:[t.jsx("input",{...S,ref:k,type:"checkbox",id:I,checked:n,disabled:u,onChange:A,"aria-checked":r?"mixed":n,"aria-invalid":i||void 0,"aria-label":C.resolveAccessibleName(typeof s?.label!="string"?S["aria-label"]:void 0),"aria-describedby":E,className:"peer sr-only"}),t.jsx(He,{htmlFor:I,isSelected:n,isIndeterminate:r,invalid:i,disabled:u,className:x}),s&&t.jsx(De,{size:C.ElementSize.Standard,...s,htmlFor:I,className:h.mergeClasses("py-[1px]",u?"cursor-not-allowed text-control-disable-primary":"cursor-pointer text-primary",s.className)})]}),m&&t.jsx("span",{id:E,className:"dial-tiny-text text-secondary ml-[28px]",children:m})]})},at=e=>de.createElement("svg",{width:32,height:32,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},de.createElement("path",{d:"M20.2954 16.7035C20.2954 17.088 20.6029 17.4069 20.9737 17.4069C21.3445 17.4069 21.6519 17.088 21.6519 16.7035C21.6519 16.3189 21.3445 16 20.9737 16C20.6029 16 20.2954 16.3189 20.2954 16.7035Z",fill:"currentColor"}),de.createElement("path",{d:"M11.7041 16.7035C11.7041 17.088 11.3966 17.4069 11.0258 17.4069C10.655 17.4069 10.3476 17.088 10.3476 16.7035C10.3476 16.3189 10.655 16 11.0258 16C11.3966 16 11.7041 16.3189 11.7041 16.7035Z",fill:"currentColor"}),de.createElement("path",{d:"M19.0221 2.40002L19.5525 1.86969C19.4118 1.72904 19.221 1.65002 19.0221 1.65002V2.40002ZM26.5777 9.95558H27.3277C27.3277 9.75667 27.2487 9.5659 27.108 9.42525L26.5777 9.95558ZM5.42212 29.6H4.67212C4.67212 30.0142 5.00791 30.35 5.42212 30.35V29.6ZM8.44434 2.40002V1.65002V2.40002ZM13.8932 19.5173C13.8932 19.9315 14.229 20.2673 14.6432 20.2673C15.0574 20.2673 15.3932 19.9315 15.3932 19.5173H14.6432H13.8932ZM16.6063 19.5173C16.6063 19.9315 16.9421 20.2673 17.3563 20.2673C17.7705 20.2673 18.1063 19.9315 18.1063 19.5173H17.3563H16.6063ZM19.0221 2.40002H18.2721V8.44447H19.0221H19.7721V2.40002H19.0221ZM19.0221 8.44447H18.2721C18.2721 9.04415 18.5103 9.61927 18.9344 10.0433L19.4647 9.51299L19.995 8.98266C19.8523 8.83992 19.7721 8.64633 19.7721 8.44447H19.0221ZM19.4647 9.51299L18.9344 10.0433C19.3584 10.4674 19.9335 10.7056 20.5332 10.7056V9.95558V9.20558C20.3314 9.20558 20.1378 9.12539 19.995 8.98266L19.4647 9.51299ZM20.5332 9.95558V10.7056H26.5777V9.95558V9.20558H20.5332V9.95558ZM5.42212 29.6H6.17212V5.42225H5.42212H4.67212V29.6H5.42212ZM5.42212 5.42225H6.17212C6.17212 4.81962 6.41151 4.24167 6.83764 3.81554L6.30731 3.28521L5.77698 2.75488C5.06955 3.46231 4.67212 4.42179 4.67212 5.42225H5.42212ZM6.30731 3.28521L6.83764 3.81554C7.26376 3.38942 7.84171 3.15002 8.44434 3.15002V2.40002V1.65002C7.44389 1.65002 6.48441 2.04745 5.77698 2.75488L6.30731 3.28521ZM8.44434 2.40002V3.15002H19.0221V2.40002V1.65002H8.44434V2.40002ZM19.0221 2.40002L18.4918 2.93035L26.0473 10.4859L26.5777 9.95558L27.108 9.42525L19.5525 1.86969L19.0221 2.40002ZM26.5777 9.95558H25.8277V26.5778H26.5777H27.3277V9.95558H26.5777ZM26.5777 26.5778H25.8277C25.8277 27.1804 25.5883 27.7584 25.1622 28.1845L25.6925 28.7148L26.2228 29.2452C26.9302 28.5377 27.3277 27.5783 27.3277 26.5778H26.5777ZM25.6925 28.7148L25.1622 28.1845C24.736 28.6106 24.1581 28.85 23.5555 28.85V29.6V30.35C24.5559 30.35 25.5154 29.9526 26.2228 29.2452L25.6925 28.7148ZM23.5555 29.6V28.85H5.42212V29.6V30.35H23.5555V29.6ZM20.9737 16V16.75C20.9388 16.75 20.9181 16.7345 20.9119 16.7281C20.906 16.722 20.9019 16.7133 20.9019 16.7035H21.6519H22.4019C22.4019 15.9307 21.7842 15.25 20.9737 15.25V16ZM21.6519 16.7035H20.9019C20.9019 16.6936 20.906 16.685 20.9119 16.6788C20.9181 16.6724 20.9388 16.6569 20.9737 16.6569V17.4069V18.1569C21.7842 18.1569 22.4019 17.4762 22.4019 16.7035H21.6519ZM20.9737 17.4069V16.6569C21.0086 16.6569 21.0292 16.6724 21.0354 16.6788C21.0414 16.685 21.0454 16.6936 21.0454 16.7035H20.2954H19.5454C19.5454 17.4762 20.1631 18.1569 20.9737 18.1569V17.4069ZM20.2954 16.7035H21.0454C21.0454 16.7133 21.0414 16.722 21.0354 16.7281C21.0292 16.7345 21.0086 16.75 20.9737 16.75V16V15.25C20.1631 15.25 19.5454 15.9307 19.5454 16.7035H20.2954ZM11.0258 16V16.75C10.9909 16.75 10.9703 16.7345 10.9641 16.7281C10.9582 16.722 10.9541 16.7133 10.9541 16.7035H11.7041H12.4541C12.4541 15.9307 11.8364 15.25 11.0258 15.25V16ZM11.7041 16.7035H10.9541C10.9541 16.6936 10.9582 16.685 10.9641 16.6788C10.9703 16.6724 10.9909 16.6569 11.0258 16.6569V17.4069V18.1569C11.8364 18.1569 12.4541 17.4762 12.4541 16.7035H11.7041ZM11.0258 17.4069V16.6569C11.0607 16.6569 11.0814 16.6724 11.0876 16.6788C11.0935 16.685 11.0976 16.6936 11.0976 16.7035H10.3476H9.59757C9.59757 17.4762 10.2153 18.1569 11.0258 18.1569V17.4069ZM10.3476 16.7035H11.0976C11.0976 16.7133 11.0935 16.722 11.0876 16.7281C11.0814 16.7345 11.0607 16.75 11.0258 16.75V16V15.25C10.2153 15.25 9.59757 15.9307 9.59757 16.7035H10.3476ZM14.6432 19.5173H15.3932C15.3932 19.127 15.6889 18.8604 15.9998 18.8604V18.1104V17.3604C14.8094 17.3604 13.8932 18.3506 13.8932 19.5173H14.6432ZM15.9998 18.1104V18.8604C16.3106 18.8604 16.6063 19.127 16.6063 19.5173H17.3563H18.1063C18.1063 18.3506 17.1901 17.3604 15.9998 17.3604V18.1104Z",fill:"currentColor"})),lt=({id:e,name:s,value:n,labelProps:r,isSelected:i=!1,disabled:u,onChange:c,caption:m,className:d,...x})=>{const S=a.useId(),f=e??S,I=m?`${f}-caption`:void 0,E=a.useCallback(A=>{A.target.checked&&c?.(n)},[c,n]);return t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsxs("div",{className:h.mergeClasses("flex items-center gap-2 ",d,g.DIAL_KIT_CLASS.radio),children:[t.jsx("input",{...x,type:"radio",id:f,name:s,value:n,checked:i,disabled:u,onChange:E,"aria-label":C.resolveAccessibleName(typeof r?.label!="string"?x["aria-label"]:void 0),"aria-describedby":I,className:"peer sr-only"}),t.jsx("label",{htmlFor:f,className:h.mergeClasses("group grid size-[20px] shrink-0 place-items-center rounded-full border transition-colors duration-200 hover:bg-control-accent-alpha-hover","dial-kit-minimum-target","peer-focus-visible:outline peer-focus-visible:outline-focus",u?"cursor-not-allowed border-default bg-control-disable-primary":h.mergeClasses("cursor-pointer",i?"border border-accent bg-control-neutral":"border-default bg-control-neutral")),children:i&&t.jsx("span",{className:h.mergeClasses("size-3 rounded-full",u?"bg-control-disable-secondary":"bg-control-accent")})}),r&&t.jsx(De,{size:C.ElementSize.Standard,...r,htmlFor:f,className:h.mergeClasses("py-[1px]",u?"cursor-not-allowed text-control-disable-primary":"cursor-pointer text-primary",r.className)})]}),m&&t.jsx("span",{id:I,className:"dial-tiny-text text-secondary ml-[26px]",children:m})]})},Ge=32,ct=({title:e,description:s,icon:n,live:r=!1,className:i,titleClassName:u,descriptionClassName:c})=>t.jsxs("div",{role:r?"status":void 0,className:h.mergeClasses("flex size-full flex-col items-center justify-center gap-2 text-tertiary",i,g.DIAL_KIT_CLASS.noDataContent),children:[n??t.jsx(at,{width:Ge,height:Ge,"aria-hidden":"true"}),t.jsx("span",{className:h.mergeClasses("dial-tiny-text text-secondary",u),children:e}),s&&t.jsx("span",{className:h.mergeClasses("dial-tiny-text text-secondary",c),children:s})]}),it="dial-kit-grid",qt="dial-kit-grid-with-selection",Xt="dial-kit-grid-without-header-borders",Yt="dial-kit-grid-row-select",Jt="dial-kit-grid-header-select",Qt="dial-kit-grid-selection-visible",en="dial-kit-grid-align-right",ke=40,_e="0.5px solid var(--stroke-tertiary, #E0E6F0)",me={accentColor:"var(--bg-control-accent, #1D4ED8)",backgroundColor:"var(--bg-layer-raised, #FCFCFC)",oddRowBackgroundColor:"var(--bg-layer-sunken, #EEF1F7)",selectedRowBackgroundColor:"var(--bg-control-accent-alpha, #2764D90F)",rowHoverColor:"var(--bg-control-accent-alpha-hover, #2764D924)",borderColor:"var(--stroke-tertiary, #E0E6F0)",rowBorder:_e,headerRowBorder:_e,headerColumnBorder:_e,chromeBackgroundColor:"var(--bg-layer-base, #F5F7FA)",foregroundColor:"var(--text-primary, #161B2D)",headerTextColor:"var(--text-secondary, #57647A)",browserColorScheme:"light",headerFontSize:14,headerFontWeight:600,fontSize:14,fontFamily:"var(--theme-font, var(--font-inter))",spacing:4,borderRadius:4,wrapperBorderRadius:8};var W=(e=>(e.API="api",e.ROW_DATA_CHANGED="rowDataChanged",e.CHECKBOX_SELECTED="checkboxSelected",e))(W||{});const tn=({params:e,mode:s,label:n,radioName:r,rowId:i,disabled:u})=>{const c=e.node,[m,d]=a.useState(()=>!!c.isSelected());a.useEffect(()=>{const S=()=>d(!!c.isSelected());return S(),c.addEventListener("rowSelected",S),()=>c.removeEventListener("rowSelected",S)},[c]);const x=S=>{u||c.setSelected(S,s===g.GridSelectionMode.SINGLE,W.CHECKBOX_SELECTED)};return s===g.GridSelectionMode.SINGLE?t.jsx(lt,{name:r,value:i,isSelected:m,disabled:u,"aria-label":n,onChange:()=>x(!0)}):t.jsx(Oe,{isSelected:m,disabled:u,"aria-label":n,onChange:x})},Pe=e=>{let s=0,n=0;return e.forEachNodeAfterFilter(r=>{r.selectable!==!1&&(n++,r.isSelected()&&s++)}),{selected:s,selectable:n}},nn=({api:e,label:s})=>{const[{selected:n,selectable:r},i]=a.useState(()=>Pe(e));a.useEffect(()=>{const c=()=>i(Pe(e));return c(),e.addEventListener("selectionChanged",c),e.addEventListener("modelUpdated",c),()=>{e.isDestroyed()||(e.removeEventListener("selectionChanged",c),e.removeEventListener("modelUpdated",c))}},[e]);const u=a.useCallback(c=>{if(c){e.selectAll("filtered",W.CHECKBOX_SELECTED);return}e.deselectAll("filtered",W.CHECKBOX_SELECTED)},[e]);return t.jsx(Oe,{isSelected:r>0&&n===r,isIndeterminate:n>0&&n<r,disabled:r===0,"aria-label":s,onChange:u})},ut="en-US",dt={year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"},Ae=40,sn={minWidth:Ae,width:Ae,maxWidth:Ae,resizable:!1,sortable:!1,filter:!1,floatingFilter:!1,suppressMovable:!0,suppressHeaderMenuButton:!0,suppressAutoSize:!0,suppressSizeToFit:!0},mt="dial-kit-grid-selection",rn=150,on=100,an=({columnDefs:e,rowData:s,additionalGridOptions:n,getContextMenuItems:r,className:i,ariaLabel:u="Data grid",wrapCustomCellRenderers:c=!0,disabledRowIds:m,selectedRowIds:d,onSelectionChange:x,onGridApiChange:S,getRowId:f,alternateOddRowColors:I=!1,filterPlaceholder:E="Enter value",emptyStateIcon:A,emptyStateTitle:k="No results found",emptyStateDescription:y="Sorry, we couldn't find any results for your search.",loading:T=!1,wrapperBorder:O=!0,withoutHeaderBorders:w=!1,allowDisabledContextMenu:$=!1,selectionMode:R,selectRowLabel:F,selectAllLabel:V="Select all rows"})=>{g.registerAgGridModulesOnce();const[v,q]=a.useState(),Q=g.useIsMobileScreen(),X=g.useIsTabletScreen(),G=a.useRef(new Set),P=a.useRef(void 0),L=`dial-kit-grid-selection-${a.useId()}`,D=a.useRef({getRowId:f,getContextMenuItems:r,onSelectionChange:x,selectRowLabel:F,wrapCustomCellRenderers:c});D.current={getRowId:f,getContextMenuItems:r,onSelectionChange:x,selectRowLabel:F,wrapCustomCellRenderers:c};const j=a.useCallback(o=>{const b=D.current.getRowId;return b?b(o):String(o.id??JSON.stringify(o))},[]),se=!!r,_=!!c,re=a.useMemo(()=>g.themeBalham.withPart(g.colorSchemeLight).withParams({...me,oddRowBackgroundColor:I?me.oddRowBackgroundColor:me.backgroundColor,wrapperBorder:O}),[I,O]),Se=a.useCallback(o=>{o.api.sizeColumnsToFit()},[]),oe=Q||X||(d?.size??0)>0,M=a.useCallback(o=>!!o&&!!m?.has(j(o)),[m,j]),K=a.useCallback((o,b,N)=>se?t.jsx(ot,{trigger:[g.DropdownTrigger.ContextMenu],items:o.data?D.current.getContextMenuItems?.(o.data)??[]:[],anchorToMouse:!0,matchReferenceWidth:!0,className:h.mergeClasses("size-full",N&&"cursor-not-allowed opacity-75"),disabled:N&&!$,children:t.jsx("span",{className:"block min-w-0 max-w-full flex-1",children:b})}):b,[se,$]),z=a.useCallback(o=>{if(!o.data)return null;const b=M(o.data);return K(o,t.jsx(be,{text:o.value==null?"":String(o.value),className:"max-w-full dial-small-text text-primary",hideTooltip:b}),b)},[M,K]),Y=a.useCallback(o=>o===W.API||o===W.ROW_DATA_CHANGED,[]),Ie=a.useMemo(()=>g.debounceFn(o=>{const N=(o.selectedNodes??[]).map(te=>te.data),B=new Set(N.map(j));G.current=B,P.current=o.source,!Y(o.source)&&D.current.onSelectionChange?.(B,N)},on),[Y,j]),ee=a.useMemo(()=>{if(R)return{...sn,colId:mt,headerName:"",headerClass:Jt,cellClass:Yt,headerComponent:R===g.GridSelectionMode.MULTIPLE?nn:void 0,headerComponentParams:{label:V},cellRenderer:o=>{if(!o.data)return null;const b=j(o.data);return t.jsx(tn,{params:o,mode:R,rowId:b,radioName:L,label:D.current.selectRowLabel?.(o.data)??"Select row",disabled:m?.has(b)})}}},[R,V,j,m,L]),ae=a.useCallback(o=>{if(!o.cellRenderer)return{...o,cellRenderer:z};const b=D.current.wrapCustomCellRenderers;if(!(typeof b=="function"?b(o):!!b))return o;const B=o.cellRenderer;return{...o,cellRenderer:ue=>{const ft=M(ue.data),Be=typeof B=="function"?B:void 0,pt=Be?t.jsx(Be,{...ue}):z(ue);return K(ue,pt,ft)}}},[M,z,K]),Ne=a.useMemo(()=>{const o=_?(e??[]).map(ae):e??[];return ee?[ee,...o]:o},[e,_,ae,ee]),{defaultColDef:le,rowSelection:Z,...ve}=n??{},Ee=a.useMemo(()=>({minWidth:rn,resizable:!0,sortable:!0,floatingFilter:!0,filter:"agTextColumnFilter",filterParams:{filterPlaceholder:E,buttons:["reset"]},comparator:g.baseColumnComparator,...g.omitUndefined(le)}),[E,le]),ye=o=>{o.api.sizeColumnsToFit(),q(o.api),n?.onGridReady?.(o),S?.(o.api)};a.useEffect(()=>{v&&s&&v.setGridOption("rowData",s)},[v,s]);const ce=a.useCallback(()=>t.jsx(ct,{live:!0,title:k,description:y,icon:A??t.jsx(U.IconZoomCancel,{size:100,stroke:.5,"aria-hidden":"true"})}),[k,y,A]),ie=typeof Z=="object"?Z:void 0,Te=a.useMemo(()=>R?{isRowSelectable:o=>!M(o.data),...ie,mode:R===g.GridSelectionMode.SINGLE?"singleRow":"multiRow",checkboxes:!1,headerCheckbox:!1}:Z,[Z,ie,M,R]);a.useEffect(()=>{v&&s&&G.current.size&&G.current.forEach(o=>{const b=v.getRowNode(o);b&&!b.isSelected()&&b.setSelected(!0,!1,W.API)})},[v,s]),a.useEffect(()=>{v&&d&&(v.deselectAll("all",W.API),d.forEach(o=>{const b=v.getRowNode(o);b&&!b.isSelected()&&b.setSelected(!0,!1,W.API)}))},[v,d]);const l=a.useCallback(o=>o.data?j(o.data):"",[j]);return a.useEffect(()=>{const o=Y(P.current);if(v&&d?.size&&o){const b=Array.from(d)[0];if(b){const N=v.getRowNode(b);N&&v.ensureNodeVisible(N)}}},[v,Y,d]),t.jsx("div",{className:h.mergeClasses(it,"size-full",R&&qt,R&&oe&&Qt,w&&Xt,i),role:"region","aria-label":u,"aria-busy":T,children:t.jsx("div",{className:"h-full overflow-x-auto",children:t.jsx(g.AgGridReact,{rowModelType:"clientSide",headerHeight:ke,rowHeight:ke,cellSelection:!1,theme:re,autoSizeStrategy:{type:"fitGridWidth"},columnDefs:Ne,defaultColDef:Ee,onGridSizeChanged:Se,onGridReady:ye,loading:T,suppressCellFocus:!0,suppressDragLeaveHidesColumns:!0,noRowsOverlayComponent:ce,rowData:s,rowSelection:Te,onSelectionChanged:Ie,getRowId:l,...ve})})})},ln=({value:e,locale:s=ut,options:n=dt,emptyPlaceholder:r,className:i,hideTooltip:u=!1})=>{const c=g.convertToDate(e),m=a.useMemo(()=>c?new Intl.DateTimeFormat(s,n).format(c):r,[c,r,s,n]),d=c?c.toISOString():void 0;return t.jsx(be,{text:d?t.jsx("time",{dateTime:d,children:m}):t.jsx("span",{children:m}),className:h.mergeClasses("dial-small-text text-primary",i),hideTooltip:u})};exports.Checkbox=Oe;exports.CheckboxBox=He;exports.CloseButton=Ye;exports.DEFAULT_DATE_FORMAT_OPTIONS=dt;exports.DEFAULT_LOCALE=ut;exports.DangerIconButton=_t;exports.DateCellRenderer=ln;exports.Dropdown=ot;exports.EllipsisTooltip=be;exports.GRID_ALIGN_RIGHT_CLASS=en;exports.GRID_ROOT_CLASS=it;exports.GRID_SELECTION_COLUMN_ID=mt;exports.GRID_THEME_PARAMS=me;exports.GhostIconButton=Xe;exports.Grid=an;exports.IconButton=xe;exports.InfoButton=$e;exports.InteractiveTooltip=fe;exports.Label=De;exports.MenuItem=pe;exports.MenuItemMark=H;exports.NeutralIconButton=Tt;exports.NoDataContent=ct;exports.PrimaryIconButton=yt;exports.ROW_HEIGHT=ke;exports.Radio=lt;exports.StaticIconButton=At;exports.SvgNoData=at;exports.Tooltip=We;exports.TooltipContainer=Le;exports.TooltipContent=we;exports.TooltipPlacement=he;exports.TooltipTrigger=Re;exports.getButtonClassNames=Ue;exports.getDisabledButtonProps=Ke;exports.overlayGap=st;exports.overlayItemClassName=tt;exports.overlayListClassName=Me;exports.overlaySubMenuListClassName=et;