@mich8060/unified-design-system 0.2.38 → 0.2.40

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.
@@ -107,6 +107,7 @@
107
107
  "locumsmart",
108
108
  "modio",
109
109
  "gms",
110
+ "chg",
110
111
  "wireframe"
111
112
  ],
112
113
  "default": "default"
@@ -2714,13 +2715,13 @@
2714
2715
  },
2715
2716
  "tagVariant": {
2716
2717
  "type": "string",
2717
- "default": "red"
2718
+ "default": "neutral"
2718
2719
  }
2719
2720
  },
2720
2721
  "defaults": {
2721
2722
  "orientation": "horizontal",
2722
2723
  "appearance": "underline",
2723
- "tagVariant": "red"
2724
+ "tagVariant": "neutral"
2724
2725
  },
2725
2726
  "composition": {
2726
2727
  "preferredParents": [
@@ -71,6 +71,13 @@
71
71
  { "label": "Invoices", "icon": "Invoice" },
72
72
  { "label": "Reporting", "icon": "ChartBar" }
73
73
  ],
74
+ "chg": [
75
+ { "label": "Dashboard", "icon": "Layout" },
76
+ { "label": "Requests", "icon": "Briefcase" },
77
+ { "label": "Providers", "icon": "Users" },
78
+ { "label": "Calendar", "icon": "CalendarBlank" },
79
+ { "label": "Reporting", "icon": "ChartBar" }
80
+ ],
74
81
  "wireframe": [
75
82
  { "label": "Menu Item" },
76
83
  { "label": "Menu Item" },
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),c=require("react"),Ee=require("react-dom"),Q=require("../Icon/Icon.cjs"),me=require("../Divider/Divider.cjs"),pe=require("../Key/Key.cjs"),Ne=require("../SearchInput/SearchInput.cjs"),ke=require("../Toggle/Toggle.cjs");;/* empty css */const t="uds-action-menu",Le=new Set(["search","autosuggest"]),K=n=>String(n||"").trim().toLowerCase(),Re=n=>typeof(n==null?void 0:n.label)=="string"?n.label:"",fe=n=>{var p,u;const l=[...n];for(;l.length>0&&((p=l[0])!=null&&p.divider);)l.shift();for(;l.length>0&&((u=l[l.length-1])!=null&&u.divider);)l.pop();return l},ge=(n,l)=>{const p=K(l);if(!p)return n;const u=[];for(const h of n){if(h!=null&&h.divider){u.push(h);continue}const $=K(Re(h)),g=Array.isArray(h==null?void 0:h.items)?ge(h.items,l):null,d=Array.isArray(g)&&g.length>0;($.includes(p)||d)&&u.push(d?{...h,items:fe(g)}:h)}return fe(u)},he=(n,l,p=!1)=>{const u=K(l);if(!u||!n)return n;const h=K(n),$=p?h.startsWith(u)?0:-1:h.indexOf(u);if($<0)return n;const g=$+u.length,d=n.slice(0,$),M=n.slice($,g),q=n.slice(g);return o.jsxs(o.Fragment,{children:[d,o.jsx("span",{className:`${t}__match ${p?`${t}__match--weight`:""}`,children:M}),q]})};function _e({item:n,onItemClick:l}){const[p,u]=c.useState(!1),[h,$]=c.useState(!1),g=c.useRef(null),d=c.useRef(null),M=()=>{clearTimeout(d.current),u(!0)},q=()=>{d.current=setTimeout(()=>{u(!1)},150)},P=()=>{clearTimeout(d.current)},W=()=>{d.current=setTimeout(()=>{u(!1)},150)};return c.useEffect(()=>()=>{clearTimeout(d.current)},[]),c.useLayoutEffect(()=>{if(!p||!g.current)return;const r=g.current.getBoundingClientRect(),S=r.right>window.innerWidth-8,A=r.left<8;if(S&&!A){$(!0);return}if(A&&!S){$(!1);return}S&&A&&$(r.right-window.innerWidth>8)},[p]),o.jsxs("div",{className:`${t}__item-wrapper`,onMouseEnter:M,onMouseLeave:q,children:[o.jsxs("button",{className:`${t}__item ${t}__item--has-submenu ${n.disabled?`${t}__item--disabled`:""}`,role:"menuitem",disabled:n.disabled,"aria-haspopup":"true","aria-expanded":p,"aria-label":n.label,children:[n.icon&&o.jsx(Q.default,{name:n.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:n.label}),o.jsx(Q.default,{name:"CaretRight",size:12,appearance:"regular",className:`${t}__item-arrow`})]}),p&&n.items&&o.jsx("div",{ref:g,className:`${t}__submenu ${h?`${t}__submenu--left`:""}`,role:"menu","aria-orientation":"vertical",onMouseEnter:P,onMouseLeave:W,children:n.items.map((r,S)=>r.divider?o.jsx("div",{className:`${t}__divider`,children:o.jsx(me.default,{})},`divider-${S}`):r.items&&r.items.length>0?o.jsx(_e,{item:r,onItemClick:l},r.id||S):o.jsxs("button",{className:`${t}__item ${r.disabled?`${t}__item--disabled`:""} ${r.active?`${t}__item--active`:""} ${r.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:r.disabled,onClick:A=>l(r,A),"aria-label":r.label,children:[r.icon&&o.jsx(Q.default,{name:r.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:r.label}),r.shortcut&&o.jsx(pe.default,{label:r.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},r.id||S))})]})}function Me({trigger:n,items:l=[],placement:p="bottom-start",variant:u="default",searchPlaceholder:h="Search...",noResultsText:$="No results found",fullWidth:g=!1,disabled:d=!1,onOpenChange:M,className:q="",menuClassName:P="",...W}){const[r,S]=c.useState(!1),[A,ve]=c.useState({}),[G,X]=c.useState(typeof document<"u"?document.body:null),j=c.useRef(null),C=c.useRef(null),T=c.useRef(null),F=c.useRef(null),[Y,Z]=c.useState(""),[$e,be]=c.useState(""),z=u==="search",N=u==="autosuggest",ee=Le.has(u),I=z?Y:N?$e:"",te=c.useMemo(()=>ee?ge(l,I):l,[ee,l,I]),ne=()=>{if(!C.current||typeof document>"u")return document.body;const e=C.current.closest(".uds-modal__overlay"),s=C.current.closest(".app-shell__main-content");return e instanceof HTMLElement?e:s instanceof HTMLElement?s:document.body},re=e=>{var s;e.key==="Escape"&&(k(!1),(s=C.current)==null||s.focus())},k=e=>{e&&X(ne()),S(e),e||(F.current=null),M&&M(e)};c.useEffect(()=>{const e=s=>{j.current&&C.current&&!j.current.contains(s.target)&&!C.current.contains(s.target)&&k(!1)};return r&&(document.addEventListener("mousedown",e),document.addEventListener("keydown",re)),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",re)}},[r]);const oe=()=>{if(!r||!j.current||!C.current)return;const e=ne();X(e);const s=C.current.getBoundingClientRect(),a=j.current.getBoundingClientRect(),b=e===document.body?{top:0,left:0}:e.getBoundingClientRect(),w=e===document.body?0:e.scrollTop,y=e===document.body?0:e.scrollLeft,L=e===document.body?window.innerWidth:e.clientWidth,R=e===document.body?window.innerHeight:e.clientHeight,_=8,E=8,[f="bottom",m="start"]=String(p).split("-"),x=(i,ie)=>{let O=0,V=0;const ce=s.top-b.top+w,le=s.bottom-b.top+w,ue=s.left-b.left+y,de=s.right-b.left+y;return i==="bottom"&&(O=le+E),i==="top"&&(O=ce-a.height-E),i==="right"&&(V=de+E),i==="left"&&(V=ue-a.width-E),(i==="bottom"||i==="top")&&(ie==="end"?V=de-a.width:V=ue),(i==="left"||i==="right")&&(ie==="end"?O=le-a.height:O=ce),{top:O,left:V}},Se=i=>({top:i.top<w+_,bottom:i.top+a.height>w+R-_,left:i.left<y+_,right:i.left+a.width>y+L-_});let v=F.current??f;const B=m;let D=x(v,B);if(!F.current){const i=Se(D);v==="bottom"&&i.bottom?(v="top",D=x(v,B)):v==="top"&&i.top?(v="bottom",D=x(v,B)):v==="right"&&i.right?(v="left",D=x(v,B)):v==="left"&&i.left&&(v="right",D=x(v,B)),F.current=v}let U=D.top,J=D.left;U=Math.max(w+_,Math.min(U,w+R-a.height-_)),J=Math.max(y+_,Math.min(J,y+L-a.width-_));const H={position:e===document.body?"fixed":"absolute",top:`${U}px`,left:`${J}px`,width:g?`${s.width}px`:void 0,zIndex:e===modalOverlayContainer?"calc(var(--uds-elevation-modal) + 1)":void 0};ve(i=>i.top===H.top&&i.left===H.left&&i.width===H.width&&i.position===H.position?i:H)};c.useLayoutEffect(()=>{r&&oe()},[r,p,g,G]),c.useEffect(()=>{if(!r)return;const e=()=>{T.current==null&&(T.current=requestAnimationFrame(()=>{T.current=null,oe()}))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),T.current!=null&&(cancelAnimationFrame(T.current),T.current=null)}},[r]),c.useEffect(()=>{if(!r){Z("");return}z&&requestAnimationFrame(()=>{var s;const e=(s=j.current)==null?void 0:s.querySelector('input[type="search"]');e==null||e.focus()})},[r,z]);const we=e=>{var w,y,L,R,_,E,f;if(z&&e.target instanceof HTMLInputElement&&e.target.type==="search"&&((w=j.current)==null?void 0:w.contains(e.target))){if(e.key==="ArrowDown"){e.preventDefault();const m=(y=j.current)==null?void 0:y.querySelector('[role="menuitem"]:not([disabled])');m==null||m.focus()}return}const a=(L=j.current)==null?void 0:L.querySelectorAll('[role="menuitem"]:not([disabled])');if(!a||a.length===0)return;const b=Array.from(a).findIndex(m=>m===document.activeElement);switch(e.key){case"ArrowDown":{e.preventDefault();const m=b<a.length-1?b+1:0;(R=a[m])==null||R.focus();break}case"ArrowUp":{e.preventDefault();const m=b>0?b-1:a.length-1;(_=a[m])==null||_.focus();break}case"Home":e.preventDefault(),(E=a[0])==null||E.focus();break;case"End":e.preventDefault(),(f=a[a.length-1])==null||f.focus();break;case"Enter":case" ":e.preventDefault(),document.activeElement&&document.activeElement.click();break}},se=()=>{d||k(!r)},ae=(e,s)=>{if(e.disabled){s.preventDefault();return}e.onClick&&e.onClick(e,s),k(!1)},ye=()=>z?o.jsx("div",{className:`${t}__search`,children:o.jsx(Ne.SearchInput,{size:"compact",value:Y,onChange:e=>Z(e.target.value),className:`${t}__search-input`,placeholder:h,"aria-label":h})}):null,xe=()=>{var e,s,a,b,w;if(!n)return null;if(c.isValidElement(n)){const y=(e=n.props)==null?void 0:e.onClick,L=(s=n.props)==null?void 0:s.onChange,R=(a=n.props)==null?void 0:a.onFocus,_=(b=n.props)==null?void 0:b.onKeyDown,E=c.cloneElement(n,{disabled:d||((w=n.props)==null?void 0:w.disabled),"aria-disabled":d||void 0,onClick:f=>{d||(N||(f.preventDefault(),f.stopPropagation()),y&&y(f),N?k(!0):se())},onFocus:f=>{R&&R(f),!(d||!N)&&k(!0)},onChange:f=>{if(L&&L(f),d||!N)return;const m=f==null?void 0:f.target,x=m&&typeof m=="object"&&"value"in m?String(m.value??""):"";be(x),k(!0)},onKeyDown:f=>{var m;if(_&&_(f),!(d||!N)){if(f.key==="Escape"){k(!1);return}if(f.key==="ArrowDown"){f.preventDefault();const x=(m=j.current)==null?void 0:m.querySelector('[role="menuitem"]:not([disabled])');x==null||x.focus()}}},"aria-haspopup":"true","aria-expanded":r});return o.jsx("div",{ref:C,className:`${t}__trigger`,children:E})}return o.jsx("div",{ref:C,className:`${t}__trigger`,onClick:se,children:n})},je=[t,r&&`${t}--open`,g&&`${t}--full-width`,d&&`${t}--disabled`,q].filter(Boolean).join(" "),Ce=[`${t}__menu`,`${t}__menu--portal`,u==="search"&&`${t}__menu--search`,g&&`${t}__menu--full-width`,P].filter(Boolean).join(" ");return o.jsxs("div",{className:je,...W,children:[xe(),r&&!d&&G?Ee.createPortal(o.jsxs("div",{ref:j,className:Ce,style:A,role:"menu","aria-orientation":"vertical",onKeyDown:we,children:[ye(),te.length===0?o.jsx("div",{className:`${t}__empty`,children:$}):null,te.map((e,s)=>e.divider?o.jsx("div",{className:`${t}__divider`,children:o.jsx(me.default,{})},`divider-${s}`):e.items&&e.items.length>0?o.jsx(_e,{item:e,onItemClick:ae},e.id||s):e.type==="toggle"?o.jsxs("div",{className:`${t}__item ${t}__item--toggle ${e.disabled?`${t}__item--disabled`:""}`,role:"menuitemcheckbox","aria-checked":!!e.checked,"aria-label":e.label,children:[e.icon&&o.jsx(Q.default,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:he(e.label,I,N)}),o.jsx(ke.default,{checked:!!e.checked,size:"small",disabled:e.disabled,onChange:a=>{e.onChange&&e.onChange(a)},className:`${t}__item-toggle`})]},e.id||s):o.jsxs("button",{className:`${t}__item ${e.disabled?`${t}__item--disabled`:""} ${e.active?`${t}__item--active`:""} ${e.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:e.disabled,onClick:a=>ae(e,a),"aria-label":e.label,children:[e.icon&&o.jsx(Q.default,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:he(e.label,I,N)}),e.shortcut&&o.jsx(pe.default,{label:e.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},e.id||s))]}),G):null]})}exports.default=Me;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),i=require("react"),Re=require("react-dom"),P=require("../Icon/Icon.cjs"),ge=require("../Divider/Divider.cjs"),_e=require("../Key/Key.cjs"),Le=require("../SearchInput/SearchInput.cjs"),Me=require("../Toggle/Toggle.cjs");;/* empty css */const t="uds-action-menu",ke=new Set(["search","autosuggest"]),W=n=>String(n||"").trim().toLowerCase(),Ae=n=>typeof(n==null?void 0:n.label)=="string"?n.label:"",he=n=>{var p,d;const u=[...n];for(;u.length>0&&((p=u[0])!=null&&p.divider);)u.shift();for(;u.length>0&&((d=u[u.length-1])!=null&&d.divider);)u.pop();return u},ve=(n,u)=>{const p=W(u);if(!p)return n;const d=[];for(const m of n){if(m!=null&&m.divider){d.push(m);continue}const b=W(Ae(m)),_=Array.isArray(m==null?void 0:m.items)?ve(m.items,u):null,f=Array.isArray(_)&&_.length>0;(b.includes(p)||f)&&d.push(f?{...m,items:he(_)}:m)}return he(d)},pe=(n,u,p=!1)=>{const d=W(u);if(!d||!n)return n;const m=W(n),b=p?m.startsWith(d)?0:-1:m.indexOf(d);if(b<0)return n;const _=b+d.length,f=n.slice(0,b),k=n.slice(b,_),F=n.slice(_);return o.jsxs(o.Fragment,{children:[f,o.jsx("span",{className:`${t}__match ${p?`${t}__match--weight`:""}`,children:k}),F]})};function $e({item:n,onItemClick:u}){const[p,d]=i.useState(!1),[m,b]=i.useState(!1),_=i.useRef(null),f=i.useRef(null),k=()=>{clearTimeout(f.current),d(!0)},F=()=>{f.current=setTimeout(()=>{d(!1)},150)},G=()=>{clearTimeout(f.current)},U=()=>{f.current=setTimeout(()=>{d(!1)},150)};return i.useEffect(()=>()=>{clearTimeout(f.current)},[]),i.useLayoutEffect(()=>{if(!p||!_.current)return;const r=_.current.getBoundingClientRect(),E=r.right>window.innerWidth-8,A=r.left<8;if(E&&!A){b(!0);return}if(A&&!E){b(!1);return}E&&A&&b(r.right-window.innerWidth>8)},[p]),o.jsxs("div",{className:`${t}__item-wrapper`,onMouseEnter:k,onMouseLeave:F,children:[o.jsxs("button",{className:`${t}__item ${t}__item--has-submenu ${n.disabled?`${t}__item--disabled`:""}`,role:"menuitem",disabled:n.disabled,"aria-haspopup":"true","aria-expanded":p,"aria-label":n.label,children:[n.icon&&o.jsx(P.default,{name:n.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:n.label}),o.jsx(P.default,{name:"CaretRight",size:12,appearance:"regular",className:`${t}__item-arrow`})]}),p&&n.items&&o.jsx("div",{ref:_,className:`${t}__submenu ${m?`${t}__submenu--left`:""}`,role:"menu","aria-orientation":"vertical",onMouseEnter:G,onMouseLeave:U,children:n.items.map((r,E)=>r.divider?o.jsx("div",{className:`${t}__divider`,children:o.jsx(ge.default,{})},`divider-${E}`):r.items&&r.items.length>0?o.jsx($e,{item:r,onItemClick:u},r.id||E):o.jsxs("button",{className:`${t}__item ${r.disabled?`${t}__item--disabled`:""} ${r.active?`${t}__item--active`:""} ${r.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:r.disabled,onClick:A=>u(r,A),"aria-label":r.label,children:[r.icon&&o.jsx(P.default,{name:r.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:r.label}),r.shortcut&&o.jsx(_e.default,{label:r.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},r.id||E))})]})}function Te({trigger:n,items:u=[],placement:p="bottom-start",variant:d="default",searchPlaceholder:m="Search...",noResultsText:b="No results found",fullWidth:_=!1,disabled:f=!1,onOpenChange:k,className:F="",menuClassName:G="",...U}){const[r,E]=i.useState(!1),[A,be]=i.useState({}),[J,ee]=i.useState(typeof document<"u"?document.body:null),x=i.useRef(null),j=i.useRef(null),q=i.useRef(null),S=i.useRef(null),H=i.useRef(null),[te,ne]=i.useState(""),[we,ye]=i.useState(""),B=d==="search",N=d==="autosuggest",re=ke.has(d),K=B?te:N?we:"",oe=i.useMemo(()=>re?ve(u,K):u,[re,u,K]),se=()=>{if(!j.current||typeof document>"u")return document.body;const e=j.current.closest(".uds-modal__overlay"),s=j.current.closest(".app-shell__main-content");return e instanceof HTMLElement?e:s instanceof HTMLElement?s:document.body},ae=e=>{var s;e.key==="Escape"&&(R(!1),(s=j.current)==null||s.focus())},R=e=>{e&&ee(se()),E(e),e||(H.current=null),k&&k(e)};i.useEffect(()=>{const e=s=>{x.current&&j.current&&!x.current.contains(s.target)&&!j.current.contains(s.target)&&R(!1)};return r&&(document.addEventListener("mousedown",e),document.addEventListener("keydown",ae)),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",ae)}},[r]);const X=()=>{if(!r||!x.current||!j.current)return;const e=se();ee(e);const s=e instanceof HTMLElement&&e.classList.contains("uds-modal__overlay"),c=j.current.getBoundingClientRect(),g=x.current.getBoundingClientRect(),C=e===document.body?{top:0,left:0}:e.getBoundingClientRect(),w=e===document.body?0:e.scrollTop,y=e===document.body?0:e.scrollLeft,L=e===document.body?window.innerWidth:e.clientWidth,M=e===document.body?window.innerHeight:e.clientHeight,$=8,l=8,[h="bottom",T="start"]=String(p).split("-"),I=(a,le)=>{let V=0,Q=0;const ue=c.top-C.top+w,de=c.bottom-C.top+w,fe=c.left-C.left+y,me=c.right-C.left+y;return a==="bottom"&&(V=de+l),a==="top"&&(V=ue-g.height-l),a==="right"&&(Q=me+l),a==="left"&&(Q=fe-g.width-l),(a==="bottom"||a==="top")&&(le==="end"?Q=me-g.width:Q=fe),(a==="left"||a==="right")&&(le==="end"?V=de-g.height:V=ue),{top:V,left:Q}},Ne=a=>({top:a.top<w+$,bottom:a.top+g.height>w+M-$,left:a.left<y+$,right:a.left+g.width>y+L-$});let v=H.current??h;const O=T;let D=I(v,O);if(!H.current){const a=Ne(D);v==="bottom"&&a.bottom?(v="top",D=I(v,O)):v==="top"&&a.top?(v="bottom",D=I(v,O)):v==="right"&&a.right?(v="left",D=I(v,O)):v==="left"&&a.left&&(v="right",D=I(v,O)),H.current=v}let Y=D.top,Z=D.left;Y=Math.max(w+$,Math.min(Y,w+M-g.height-$)),Z=Math.max(y+$,Math.min(Z,y+L-g.width-$));const z={position:e===document.body?"fixed":"absolute",top:`${Y}px`,left:`${Z}px`,width:_?`${c.width}px`:void 0,zIndex:s?"calc(var(--uds-elevation-modal) + 1)":void 0};be(a=>a.top===z.top&&a.left===z.left&&a.width===z.width&&a.position===z.position&&a.zIndex===z.zIndex?a:z)};i.useLayoutEffect(()=>{r&&X()},[r,p,_,J]),i.useEffect(()=>{if(!r)return;const e=()=>{q.current==null&&(q.current=requestAnimationFrame(()=>{q.current=null,X()}))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),q.current!=null&&(cancelAnimationFrame(q.current),q.current=null)}},[r]),i.useEffect(()=>{if(!r){S.current!=null&&(cancelAnimationFrame(S.current),S.current=null);return}return S.current=requestAnimationFrame(()=>{S.current=requestAnimationFrame(()=>{H.current=null,X()})}),()=>{S.current!=null&&(cancelAnimationFrame(S.current),S.current=null)}},[r]),i.useEffect(()=>{if(!r){ne("");return}B&&requestAnimationFrame(()=>{var s;const e=(s=x.current)==null?void 0:s.querySelector('input[type="search"]');e==null||e.focus()})},[r,B]);const xe=e=>{var C,w,y,L,M,$,l;if(B&&e.target instanceof HTMLInputElement&&e.target.type==="search"&&((C=x.current)==null?void 0:C.contains(e.target))){if(e.key==="ArrowDown"){e.preventDefault();const h=(w=x.current)==null?void 0:w.querySelector('[role="menuitem"]:not([disabled])');h==null||h.focus()}return}const c=(y=x.current)==null?void 0:y.querySelectorAll('[role="menuitem"]:not([disabled])');if(!c||c.length===0)return;const g=Array.from(c).findIndex(h=>h===document.activeElement);switch(e.key){case"ArrowDown":{e.preventDefault();const h=g<c.length-1?g+1:0;(L=c[h])==null||L.focus();break}case"ArrowUp":{e.preventDefault();const h=g>0?g-1:c.length-1;(M=c[h])==null||M.focus();break}case"Home":e.preventDefault(),($=c[0])==null||$.focus();break;case"End":e.preventDefault(),(l=c[c.length-1])==null||l.focus();break;case"Enter":case" ":e.preventDefault(),document.activeElement&&document.activeElement.click();break}},ie=()=>{f||R(!r)},ce=(e,s)=>{if(e.disabled){s.preventDefault();return}e.onClick&&e.onClick(e,s),R(!1)},je=()=>B?o.jsx("div",{className:`${t}__search`,children:o.jsx(Le.SearchInput,{size:"compact",value:te,onChange:e=>ne(e.target.value),className:`${t}__search-input`,placeholder:m,"aria-label":m})}):null,Ce=()=>{var e,s,c,g,C;if(!n)return null;if(i.isValidElement(n)){const w=(e=n.props)==null?void 0:e.onClick,y=(s=n.props)==null?void 0:s.onChange,L=(c=n.props)==null?void 0:c.onFocus,M=(g=n.props)==null?void 0:g.onKeyDown,$=i.cloneElement(n,{disabled:f||((C=n.props)==null?void 0:C.disabled),"aria-disabled":f||void 0,onClick:l=>{f||(N||(l.preventDefault(),l.stopPropagation()),w&&w(l),N?R(!0):ie())},onFocus:l=>{L&&L(l),!(f||!N)&&R(!0)},onChange:l=>{if(y&&y(l),f||!N)return;const h=l==null?void 0:l.target,T=h&&typeof h=="object"&&"value"in h?String(h.value??""):"";ye(T),R(!0)},onKeyDown:l=>{var h;if(M&&M(l),!(f||!N)){if(l.key==="Escape"){R(!1);return}if(l.key==="ArrowDown"){l.preventDefault();const T=(h=x.current)==null?void 0:h.querySelector('[role="menuitem"]:not([disabled])');T==null||T.focus()}}},"aria-haspopup":"true","aria-expanded":r});return o.jsx("div",{ref:j,className:`${t}__trigger`,children:$})}return o.jsx("div",{ref:j,className:`${t}__trigger`,onClick:ie,children:n})},Ee=[t,r&&`${t}--open`,_&&`${t}--full-width`,f&&`${t}--disabled`,F].filter(Boolean).join(" "),Se=[`${t}__menu`,`${t}__menu--portal`,d==="search"&&`${t}__menu--search`,_&&`${t}__menu--full-width`,G].filter(Boolean).join(" ");return o.jsxs("div",{className:Ee,...U,children:[Ce(),r&&!f&&J?Re.createPortal(o.jsxs("div",{ref:x,className:Se,style:A,role:"menu","aria-orientation":"vertical",onKeyDown:xe,children:[je(),oe.length===0?o.jsx("div",{className:`${t}__empty`,children:b}):null,oe.map((e,s)=>e.divider?o.jsx("div",{className:`${t}__divider`,children:o.jsx(ge.default,{})},`divider-${s}`):e.items&&e.items.length>0?o.jsx($e,{item:e,onItemClick:ce},e.id||s):e.type==="toggle"?o.jsxs("div",{className:`${t}__item ${t}__item--toggle ${e.disabled?`${t}__item--disabled`:""}`,role:"menuitemcheckbox","aria-checked":!!e.checked,"aria-label":e.label,children:[e.icon&&o.jsx(P.default,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:pe(e.label,K,N)}),o.jsx(Me.default,{checked:!!e.checked,size:"small",disabled:e.disabled,onChange:c=>{e.onChange&&e.onChange(c)},className:`${t}__item-toggle`})]},e.id||s):o.jsxs("button",{className:`${t}__item ${e.disabled?`${t}__item--disabled`:""} ${e.active?`${t}__item--active`:""} ${e.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:e.disabled,onClick:c=>ce(e,c),"aria-label":e.label,children:[e.icon&&o.jsx(P.default,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),o.jsx("span",{className:`${t}__item-label`,children:pe(e.label,K,N)}),e.shortcut&&o.jsx(_e.default,{label:e.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},e.id||s))]}),J):null]})}exports.default=Te;
@@ -1 +1 @@
1
- import{jsxs as R,jsx as a,Fragment as De}from"react/jsx-runtime";import pe,{useState as z,useRef as H,useMemo as Te,useEffect as W,useLayoutEffect as $e}from"react";import{createPortal as xe}from"react-dom";import K from"../Icon/Icon.js";import ve from"../Divider/Divider.js";import be from"../Key/Key.js";import{SearchInput as ze}from"../SearchInput/SearchInput.js";import Be from"../Toggle/Toggle.js";/* empty css */const t="uds-action-menu",He=new Set(["search","autosuggest"]),G=n=>String(n||"").trim().toLowerCase(),Oe=n=>typeof(n==null?void 0:n.label)=="string"?n.label:"",ge=n=>{var h,l;const s=[...n];for(;s.length>0&&((h=s[0])!=null&&h.divider);)s.shift();for(;s.length>0&&((l=s[s.length-1])!=null&&l.divider);)s.pop();return s},we=(n,s)=>{const h=G(s);if(!h)return n;const l=[];for(const f of n){if(f!=null&&f.divider){l.push(f);continue}const $=G(Oe(f)),p=Array.isArray(f==null?void 0:f.items)?we(f.items,s):null,u=Array.isArray(p)&&p.length>0;($.includes(h)||u)&&l.push(u?{...f,items:ge(p)}:f)}return ge(l)},_e=(n,s,h=!1)=>{const l=G(s);if(!l||!n)return n;const f=G(n),$=h?f.startsWith(l)?0:-1:f.indexOf(l);if($<0)return n;const p=$+l.length,u=n.slice(0,$),D=n.slice($,p),O=n.slice(p);return R(De,{children:[u,a("span",{className:`${t}__match ${h?`${t}__match--weight`:""}`,children:D}),O]})};function ye({item:n,onItemClick:s}){const[h,l]=z(!1),[f,$]=z(!1),p=H(null),u=H(null),D=()=>{clearTimeout(u.current),l(!0)},O=()=>{u.current=setTimeout(()=>{l(!1)},150)},U=()=>{clearTimeout(u.current)},J=()=>{u.current=setTimeout(()=>{l(!1)},150)};return W(()=>()=>{clearTimeout(u.current)},[]),$e(()=>{if(!h||!p.current)return;const r=p.current.getBoundingClientRect(),E=r.right>window.innerWidth-8,T=r.left<8;if(E&&!T){$(!0);return}if(T&&!E){$(!1);return}E&&T&&$(r.right-window.innerWidth>8)},[h]),R("div",{className:`${t}__item-wrapper`,onMouseEnter:D,onMouseLeave:O,children:[R("button",{className:`${t}__item ${t}__item--has-submenu ${n.disabled?`${t}__item--disabled`:""}`,role:"menuitem",disabled:n.disabled,"aria-haspopup":"true","aria-expanded":h,"aria-label":n.label,children:[n.icon&&a(K,{name:n.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:n.label}),a(K,{name:"CaretRight",size:12,appearance:"regular",className:`${t}__item-arrow`})]}),h&&n.items&&a("div",{ref:p,className:`${t}__submenu ${f?`${t}__submenu--left`:""}`,role:"menu","aria-orientation":"vertical",onMouseEnter:U,onMouseLeave:J,children:n.items.map((r,E)=>r.divider?a("div",{className:`${t}__divider`,children:a(ve,{})},`divider-${E}`):r.items&&r.items.length>0?a(ye,{item:r,onItemClick:s},r.id||E):R("button",{className:`${t}__item ${r.disabled?`${t}__item--disabled`:""} ${r.active?`${t}__item--active`:""} ${r.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:r.disabled,onClick:T=>s(r,T),"aria-label":r.label,children:[r.icon&&a(K,{name:r.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:r.label}),r.shortcut&&a(be,{label:r.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},r.id||E))})]})}function Ge({trigger:n,items:s=[],placement:h="bottom-start",variant:l="default",searchPlaceholder:f="Search...",noResultsText:$="No results found",fullWidth:p=!1,disabled:u=!1,onOpenChange:D,className:O="",menuClassName:U="",...J}){const[r,E]=z(!1),[T,Ce]=z({}),[X,ee]=z(typeof document<"u"?document.body:null),C=H(null),N=H(null),B=H(null),j=H(null),[te,ne]=z(""),[Ne,Ee]=z(""),V=l==="search",L=l==="autosuggest",re=He.has(l),P=V?te:L?Ne:"",oe=Te(()=>re?we(s,P):s,[re,s,P]),ie=()=>{if(!N.current||typeof document>"u")return document.body;const e=N.current.closest(".uds-modal__overlay"),o=N.current.closest(".app-shell__main-content");return e instanceof HTMLElement?e:o instanceof HTMLElement?o:document.body},ae=e=>{var o;e.key==="Escape"&&(S(!1),(o=N.current)==null||o.focus())},S=e=>{e&&ee(ie()),E(e),e||(j.current=null),D&&D(e)};W(()=>{const e=o=>{C.current&&N.current&&!C.current.contains(o.target)&&!N.current.contains(o.target)&&S(!1)};return r&&(document.addEventListener("mousedown",e),document.addEventListener("keydown",ae)),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",ae)}},[r]);const ce=()=>{if(!r||!C.current||!N.current)return;const e=ie();ee(e);const o=N.current.getBoundingClientRect(),i=C.current.getBoundingClientRect(),v=e===document.body?{top:0,left:0}:e.getBoundingClientRect(),b=e===document.body?0:e.scrollTop,w=e===document.body?0:e.scrollLeft,M=e===document.body?window.innerWidth:e.clientWidth,A=e===document.body?window.innerHeight:e.clientHeight,g=8,k=8,[d="bottom",m="start"]=String(h).split("-"),y=(c,ue)=>{let F=0,I=0;const de=o.top-v.top+b,fe=o.bottom-v.top+b,me=o.left-v.left+w,he=o.right-v.left+w;return c==="bottom"&&(F=fe+k),c==="top"&&(F=de-i.height-k),c==="right"&&(I=he+k),c==="left"&&(I=me-i.width-k),(c==="bottom"||c==="top")&&(ue==="end"?I=he-i.width:I=me),(c==="left"||c==="right")&&(ue==="end"?F=fe-i.height:F=de),{top:F,left:I}},Re=c=>({top:c.top<b+g,bottom:c.top+i.height>b+A-g,left:c.left<w+g,right:c.left+i.width>w+M-g});let _=j.current??d;const Q=m;let x=y(_,Q);if(!j.current){const c=Re(x);_==="bottom"&&c.bottom?(_="top",x=y(_,Q)):_==="top"&&c.top?(_="bottom",x=y(_,Q)):_==="right"&&c.right?(_="left",x=y(_,Q)):_==="left"&&c.left&&(_="right",x=y(_,Q)),j.current=_}let Y=x.top,Z=x.left;Y=Math.max(b+g,Math.min(Y,b+A-i.height-g)),Z=Math.max(w+g,Math.min(Z,w+M-i.width-g));const q={position:e===document.body?"fixed":"absolute",top:`${Y}px`,left:`${Z}px`,width:p?`${o.width}px`:void 0,zIndex:e===modalOverlayContainer?"calc(var(--uds-elevation-modal) + 1)":void 0};Ce(c=>c.top===q.top&&c.left===q.left&&c.width===q.width&&c.position===q.position?c:q)};$e(()=>{r&&ce()},[r,h,p,X]),W(()=>{if(!r)return;const e=()=>{B.current==null&&(B.current=requestAnimationFrame(()=>{B.current=null,ce()}))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),B.current!=null&&(cancelAnimationFrame(B.current),B.current=null)}},[r]),W(()=>{if(!r){ne("");return}V&&requestAnimationFrame(()=>{var o;const e=(o=C.current)==null?void 0:o.querySelector('input[type="search"]');e==null||e.focus()})},[r,V]);const ke=e=>{var b,w,M,A,g,k,d;if(V&&e.target instanceof HTMLInputElement&&e.target.type==="search"&&((b=C.current)==null?void 0:b.contains(e.target))){if(e.key==="ArrowDown"){e.preventDefault();const m=(w=C.current)==null?void 0:w.querySelector('[role="menuitem"]:not([disabled])');m==null||m.focus()}return}const i=(M=C.current)==null?void 0:M.querySelectorAll('[role="menuitem"]:not([disabled])');if(!i||i.length===0)return;const v=Array.from(i).findIndex(m=>m===document.activeElement);switch(e.key){case"ArrowDown":{e.preventDefault();const m=v<i.length-1?v+1:0;(A=i[m])==null||A.focus();break}case"ArrowUp":{e.preventDefault();const m=v>0?v-1:i.length-1;(g=i[m])==null||g.focus();break}case"Home":e.preventDefault(),(k=i[0])==null||k.focus();break;case"End":e.preventDefault(),(d=i[i.length-1])==null||d.focus();break;case"Enter":case" ":e.preventDefault(),document.activeElement&&document.activeElement.click();break}},se=()=>{u||S(!r)},le=(e,o)=>{if(e.disabled){o.preventDefault();return}e.onClick&&e.onClick(e,o),S(!1)},Le=()=>V?a("div",{className:`${t}__search`,children:a(ze,{size:"compact",value:te,onChange:e=>ne(e.target.value),className:`${t}__search-input`,placeholder:f,"aria-label":f})}):null,Se=()=>{var e,o,i,v,b;if(!n)return null;if(pe.isValidElement(n)){const w=(e=n.props)==null?void 0:e.onClick,M=(o=n.props)==null?void 0:o.onChange,A=(i=n.props)==null?void 0:i.onFocus,g=(v=n.props)==null?void 0:v.onKeyDown,k=pe.cloneElement(n,{disabled:u||((b=n.props)==null?void 0:b.disabled),"aria-disabled":u||void 0,onClick:d=>{u||(L||(d.preventDefault(),d.stopPropagation()),w&&w(d),L?S(!0):se())},onFocus:d=>{A&&A(d),!(u||!L)&&S(!0)},onChange:d=>{if(M&&M(d),u||!L)return;const m=d==null?void 0:d.target,y=m&&typeof m=="object"&&"value"in m?String(m.value??""):"";Ee(y),S(!0)},onKeyDown:d=>{var m;if(g&&g(d),!(u||!L)){if(d.key==="Escape"){S(!1);return}if(d.key==="ArrowDown"){d.preventDefault();const y=(m=C.current)==null?void 0:m.querySelector('[role="menuitem"]:not([disabled])');y==null||y.focus()}}},"aria-haspopup":"true","aria-expanded":r});return a("div",{ref:N,className:`${t}__trigger`,children:k})}return a("div",{ref:N,className:`${t}__trigger`,onClick:se,children:n})},Me=[t,r&&`${t}--open`,p&&`${t}--full-width`,u&&`${t}--disabled`,O].filter(Boolean).join(" "),Ae=[`${t}__menu`,`${t}__menu--portal`,l==="search"&&`${t}__menu--search`,p&&`${t}__menu--full-width`,U].filter(Boolean).join(" ");return R("div",{className:Me,...J,children:[Se(),r&&!u&&X?xe(R("div",{ref:C,className:Ae,style:T,role:"menu","aria-orientation":"vertical",onKeyDown:ke,children:[Le(),oe.length===0?a("div",{className:`${t}__empty`,children:$}):null,oe.map((e,o)=>e.divider?a("div",{className:`${t}__divider`,children:a(ve,{})},`divider-${o}`):e.items&&e.items.length>0?a(ye,{item:e,onItemClick:le},e.id||o):e.type==="toggle"?R("div",{className:`${t}__item ${t}__item--toggle ${e.disabled?`${t}__item--disabled`:""}`,role:"menuitemcheckbox","aria-checked":!!e.checked,"aria-label":e.label,children:[e.icon&&a(K,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:_e(e.label,P,L)}),a(Be,{checked:!!e.checked,size:"small",disabled:e.disabled,onChange:i=>{e.onChange&&e.onChange(i)},className:`${t}__item-toggle`})]},e.id||o):R("button",{className:`${t}__item ${e.disabled?`${t}__item--disabled`:""} ${e.active?`${t}__item--active`:""} ${e.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:e.disabled,onClick:i=>le(e,i),"aria-label":e.label,children:[e.icon&&a(K,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:_e(e.label,P,L)}),e.shortcut&&a(be,{label:e.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},e.id||o))]}),X):null]})}export{Ge as default};
1
+ import{jsxs as R,jsx as a,Fragment as xe}from"react/jsx-runtime";import _e,{useState as F,useRef as H,useMemo as ze,useEffect as W,useLayoutEffect as be}from"react";import{createPortal as Fe}from"react-dom";import G from"../Icon/Icon.js";import we from"../Divider/Divider.js";import ye from"../Key/Key.js";import{SearchInput as He}from"../SearchInput/SearchInput.js";import Be from"../Toggle/Toggle.js";/* empty css */const t="uds-action-menu",qe=new Set(["search","autosuggest"]),J=n=>String(n||"").trim().toLowerCase(),Ve=n=>typeof(n==null?void 0:n.label)=="string"?n.label:"",$e=n=>{var h,u;const l=[...n];for(;l.length>0&&((h=l[0])!=null&&h.divider);)l.shift();for(;l.length>0&&((u=l[l.length-1])!=null&&u.divider);)l.pop();return l},Ce=(n,l)=>{const h=J(l);if(!h)return n;const u=[];for(const f of n){if(f!=null&&f.divider){u.push(f);continue}const v=J(Ve(f)),g=Array.isArray(f==null?void 0:f.items)?Ce(f.items,l):null,d=Array.isArray(g)&&g.length>0;(v.includes(h)||d)&&u.push(d?{...f,items:$e(g)}:f)}return $e(u)},ve=(n,l,h=!1)=>{const u=J(l);if(!u||!n)return n;const f=J(n),v=h?f.startsWith(u)?0:-1:f.indexOf(u);if(v<0)return n;const g=v+u.length,d=n.slice(0,v),T=n.slice(v,g),V=n.slice(g);return R(xe,{children:[d,a("span",{className:`${t}__match ${h?`${t}__match--weight`:""}`,children:T}),V]})};function Ne({item:n,onItemClick:l}){const[h,u]=F(!1),[f,v]=F(!1),g=H(null),d=H(null),T=()=>{clearTimeout(d.current),u(!0)},V=()=>{d.current=setTimeout(()=>{u(!1)},150)},X=()=>{clearTimeout(d.current)},Y=()=>{d.current=setTimeout(()=>{u(!1)},150)};return W(()=>()=>{clearTimeout(d.current)},[]),be(()=>{if(!h||!g.current)return;const r=g.current.getBoundingClientRect(),E=r.right>window.innerWidth-8,D=r.left<8;if(E&&!D){v(!0);return}if(D&&!E){v(!1);return}E&&D&&v(r.right-window.innerWidth>8)},[h]),R("div",{className:`${t}__item-wrapper`,onMouseEnter:T,onMouseLeave:V,children:[R("button",{className:`${t}__item ${t}__item--has-submenu ${n.disabled?`${t}__item--disabled`:""}`,role:"menuitem",disabled:n.disabled,"aria-haspopup":"true","aria-expanded":h,"aria-label":n.label,children:[n.icon&&a(G,{name:n.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:n.label}),a(G,{name:"CaretRight",size:12,appearance:"regular",className:`${t}__item-arrow`})]}),h&&n.items&&a("div",{ref:g,className:`${t}__submenu ${f?`${t}__submenu--left`:""}`,role:"menu","aria-orientation":"vertical",onMouseEnter:X,onMouseLeave:Y,children:n.items.map((r,E)=>r.divider?a("div",{className:`${t}__divider`,children:a(we,{})},`divider-${E}`):r.items&&r.items.length>0?a(Ne,{item:r,onItemClick:l},r.id||E):R("button",{className:`${t}__item ${r.disabled?`${t}__item--disabled`:""} ${r.active?`${t}__item--active`:""} ${r.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:r.disabled,onClick:D=>l(r,D),"aria-label":r.label,children:[r.icon&&a(G,{name:r.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:r.label}),r.shortcut&&a(ye,{label:r.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},r.id||E))})]})}function Je({trigger:n,items:l=[],placement:h="bottom-start",variant:u="default",searchPlaceholder:f="Search...",noResultsText:v="No results found",fullWidth:g=!1,disabled:d=!1,onOpenChange:T,className:V="",menuClassName:X="",...Y}){const[r,E]=F(!1),[D,Ee]=F({}),[Z,re]=F(typeof document<"u"?document.body:null),y=H(null),C=H(null),B=H(null),L=H(null),I=H(null),[oe,ie]=F(""),[Le,ke]=F(""),O=u==="search",k=u==="autosuggest",ae=qe.has(u),U=O?oe:k?Le:"",ce=ze(()=>ae?Ce(l,U):l,[ae,l,U]),se=()=>{if(!C.current||typeof document>"u")return document.body;const e=C.current.closest(".uds-modal__overlay"),o=C.current.closest(".app-shell__main-content");return e instanceof HTMLElement?e:o instanceof HTMLElement?o:document.body},le=e=>{var o;e.key==="Escape"&&(A(!1),(o=C.current)==null||o.focus())},A=e=>{e&&re(se()),E(e),e||(I.current=null),T&&T(e)};W(()=>{const e=o=>{y.current&&C.current&&!y.current.contains(o.target)&&!C.current.contains(o.target)&&A(!1)};return r&&(document.addEventListener("mousedown",e),document.addEventListener("keydown",le)),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",le)}},[r]);const ee=()=>{if(!r||!y.current||!C.current)return;const e=se();re(e);const o=e instanceof HTMLElement&&e.classList.contains("uds-modal__overlay"),c=C.current.getBoundingClientRect(),p=y.current.getBoundingClientRect(),N=e===document.body?{top:0,left:0}:e.getBoundingClientRect(),b=e===document.body?0:e.scrollTop,w=e===document.body?0:e.scrollLeft,M=e===document.body?window.innerWidth:e.clientWidth,S=e===document.body?window.innerHeight:e.clientHeight,$=8,s=8,[m="bottom",x="start"]=String(h).split("-"),Q=(i,fe)=>{let P=0,j=0;const me=c.top-N.top+b,he=c.bottom-N.top+b,pe=c.left-N.left+w,ge=c.right-N.left+w;return i==="bottom"&&(P=he+s),i==="top"&&(P=me-p.height-s),i==="right"&&(j=ge+s),i==="left"&&(j=pe-p.width-s),(i==="bottom"||i==="top")&&(fe==="end"?j=ge-p.width:j=pe),(i==="left"||i==="right")&&(fe==="end"?P=he-p.height:P=me),{top:P,left:j}},De=i=>({top:i.top<b+$,bottom:i.top+p.height>b+S-$,left:i.left<w+$,right:i.left+p.width>w+M-$});let _=I.current??m;const K=x;let z=Q(_,K);if(!I.current){const i=De(z);_==="bottom"&&i.bottom?(_="top",z=Q(_,K)):_==="top"&&i.top?(_="bottom",z=Q(_,K)):_==="right"&&i.right?(_="left",z=Q(_,K)):_==="left"&&i.left&&(_="right",z=Q(_,K)),I.current=_}let te=z.top,ne=z.left;te=Math.max(b+$,Math.min(te,b+S-p.height-$)),ne=Math.max(w+$,Math.min(ne,w+M-p.width-$));const q={position:e===document.body?"fixed":"absolute",top:`${te}px`,left:`${ne}px`,width:g?`${c.width}px`:void 0,zIndex:o?"calc(var(--uds-elevation-modal) + 1)":void 0};Ee(i=>i.top===q.top&&i.left===q.left&&i.width===q.width&&i.position===q.position&&i.zIndex===q.zIndex?i:q)};be(()=>{r&&ee()},[r,h,g,Z]),W(()=>{if(!r)return;const e=()=>{B.current==null&&(B.current=requestAnimationFrame(()=>{B.current=null,ee()}))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),B.current!=null&&(cancelAnimationFrame(B.current),B.current=null)}},[r]),W(()=>{if(!r){L.current!=null&&(cancelAnimationFrame(L.current),L.current=null);return}return L.current=requestAnimationFrame(()=>{L.current=requestAnimationFrame(()=>{I.current=null,ee()})}),()=>{L.current!=null&&(cancelAnimationFrame(L.current),L.current=null)}},[r]),W(()=>{if(!r){ie("");return}O&&requestAnimationFrame(()=>{var o;const e=(o=y.current)==null?void 0:o.querySelector('input[type="search"]');e==null||e.focus()})},[r,O]);const Ae=e=>{var N,b,w,M,S,$,s;if(O&&e.target instanceof HTMLInputElement&&e.target.type==="search"&&((N=y.current)==null?void 0:N.contains(e.target))){if(e.key==="ArrowDown"){e.preventDefault();const m=(b=y.current)==null?void 0:b.querySelector('[role="menuitem"]:not([disabled])');m==null||m.focus()}return}const c=(w=y.current)==null?void 0:w.querySelectorAll('[role="menuitem"]:not([disabled])');if(!c||c.length===0)return;const p=Array.from(c).findIndex(m=>m===document.activeElement);switch(e.key){case"ArrowDown":{e.preventDefault();const m=p<c.length-1?p+1:0;(M=c[m])==null||M.focus();break}case"ArrowUp":{e.preventDefault();const m=p>0?p-1:c.length-1;(S=c[m])==null||S.focus();break}case"Home":e.preventDefault(),($=c[0])==null||$.focus();break;case"End":e.preventDefault(),(s=c[c.length-1])==null||s.focus();break;case"Enter":case" ":e.preventDefault(),document.activeElement&&document.activeElement.click();break}},ue=()=>{d||A(!r)},de=(e,o)=>{if(e.disabled){o.preventDefault();return}e.onClick&&e.onClick(e,o),A(!1)},Me=()=>O?a("div",{className:`${t}__search`,children:a(He,{size:"compact",value:oe,onChange:e=>ie(e.target.value),className:`${t}__search-input`,placeholder:f,"aria-label":f})}):null,Se=()=>{var e,o,c,p,N;if(!n)return null;if(_e.isValidElement(n)){const b=(e=n.props)==null?void 0:e.onClick,w=(o=n.props)==null?void 0:o.onChange,M=(c=n.props)==null?void 0:c.onFocus,S=(p=n.props)==null?void 0:p.onKeyDown,$=_e.cloneElement(n,{disabled:d||((N=n.props)==null?void 0:N.disabled),"aria-disabled":d||void 0,onClick:s=>{d||(k||(s.preventDefault(),s.stopPropagation()),b&&b(s),k?A(!0):ue())},onFocus:s=>{M&&M(s),!(d||!k)&&A(!0)},onChange:s=>{if(w&&w(s),d||!k)return;const m=s==null?void 0:s.target,x=m&&typeof m=="object"&&"value"in m?String(m.value??""):"";ke(x),A(!0)},onKeyDown:s=>{var m;if(S&&S(s),!(d||!k)){if(s.key==="Escape"){A(!1);return}if(s.key==="ArrowDown"){s.preventDefault();const x=(m=y.current)==null?void 0:m.querySelector('[role="menuitem"]:not([disabled])');x==null||x.focus()}}},"aria-haspopup":"true","aria-expanded":r});return a("div",{ref:C,className:`${t}__trigger`,children:$})}return a("div",{ref:C,className:`${t}__trigger`,onClick:ue,children:n})},Re=[t,r&&`${t}--open`,g&&`${t}--full-width`,d&&`${t}--disabled`,V].filter(Boolean).join(" "),Te=[`${t}__menu`,`${t}__menu--portal`,u==="search"&&`${t}__menu--search`,g&&`${t}__menu--full-width`,X].filter(Boolean).join(" ");return R("div",{className:Re,...Y,children:[Se(),r&&!d&&Z?Fe(R("div",{ref:y,className:Te,style:D,role:"menu","aria-orientation":"vertical",onKeyDown:Ae,children:[Me(),ce.length===0?a("div",{className:`${t}__empty`,children:v}):null,ce.map((e,o)=>e.divider?a("div",{className:`${t}__divider`,children:a(we,{})},`divider-${o}`):e.items&&e.items.length>0?a(Ne,{item:e,onItemClick:de},e.id||o):e.type==="toggle"?R("div",{className:`${t}__item ${t}__item--toggle ${e.disabled?`${t}__item--disabled`:""}`,role:"menuitemcheckbox","aria-checked":!!e.checked,"aria-label":e.label,children:[e.icon&&a(G,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:ve(e.label,U,k)}),a(Be,{checked:!!e.checked,size:"small",disabled:e.disabled,onChange:c=>{e.onChange&&e.onChange(c)},className:`${t}__item-toggle`})]},e.id||o):R("button",{className:`${t}__item ${e.disabled?`${t}__item--disabled`:""} ${e.active?`${t}__item--active`:""} ${e.destructive?`${t}__item--destructive`:""}`,role:"menuitem",disabled:e.disabled,onClick:c=>de(e,c),"aria-label":e.label,children:[e.icon&&a(G,{name:e.icon,size:16,appearance:"regular",className:`${t}__item-icon`}),a("span",{className:`${t}__item-label`,children:ve(e.label,U,k)}),e.shortcut&&a(ye,{label:e.shortcut,appearance:"light",className:`${t}__item-shortcut`})]},e.id||o))]}),Z):null]})}export{Je as default};
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("react/jsx-runtime"),d=require("react");;/* empty css */const p=require("../../assets/svg/design-system.svg.cjs"),w=require("../../assets/svg/connect.svg.cjs"),B=require("../../assets/svg/comphealth.svg.cjs"),_=require("../../assets/svg/weatherby.svg.cjs"),A=require("../../assets/svg/modio.svg.cjs"),C=require("../../assets/svg/locumsmart.svg.cjs"),H=require("../../assets/svg/wireframe.svg.cjs"),M=require("../../assets/svg/design-system-symbol.svg.cjs"),L=require("../../assets/svg/connect-symbol.svg.cjs"),N=require("../../assets/svg/comphealth-symbol.svg.cjs"),j=require("../../assets/svg/weatherby-symbol.svg.cjs"),D=require("../../assets/svg/modio-symbol.svg.cjs"),O=require("../../assets/svg/locumsmart-symbol.svg.cjs"),$=require("../../assets/svg/wireframe-symbol.svg.cjs"),t="uds-branding",R={"design-system":{svg:p.default,alt:"Unified Design System"},connect:{svg:w.default,alt:"CHG Connect"},comphealth:{svg:B.default,alt:"CompHealth"},weatherby:{svg:_.default,alt:"Weatherby Healthcare"},modio:{svg:A.default,alt:"modio"},locumsmart:{svg:C.default,alt:"Locumsmart"},wireframe:{svg:H.default,alt:"Wireframe"}},W={"design-system":{svg:M.default,alt:"Unified Design System"},connect:{svg:L.default,alt:"CHG Connect"},comphealth:{svg:N.default,alt:"CompHealth"},weatherby:{svg:j.default,alt:"Weatherby Healthcare"},modio:{svg:D.default,alt:"modio"},locumsmart:{svg:O.default,alt:"Locumsmart"},wireframe:{svg:$.default,alt:"Wireframe"}};function x({brand:o,symbol:m=!1,inherit:a=!1,size:f="default",className:b="",...g}){const[y,s]=d.useState(null);d.useEffect(()=>{if(!a)return;const r=document.documentElement;s(r.getAttribute("data-brand"));const i=new MutationObserver(q=>{for(const u of q)u.type==="attributes"&&u.attributeName==="data-brand"&&s(r.getAttribute("data-brand"))});return i.observe(r,{attributes:!0,attributeFilter:["data-brand"]}),()=>i.disconnect()},[a]);const e=a?y:typeof o=="string"?o:null,n=m,l=e?(n?W:R)[e]:null;if(!l)return e&&console.warn(`Branding: "${e}" is not a recognized brand key.`),null;const{svg:v,alt:S}=l,h=[t,`${t}--${f}`,n?`${t}--symbol`:"",b].filter(Boolean).join(" ");return c.jsx("div",{className:h,...g,children:c.jsx("span",{className:`${t}__logo`,role:"img","aria-label":S,dangerouslySetInnerHTML:{__html:v}})})}exports.default=x;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),d=require("react");;/* empty css */const B=require("../../assets/svg/design-system.svg.cjs"),C=require("../../assets/svg/connect.svg.cjs"),H=require("../../assets/svg/comphealth.svg.cjs"),_=require("../../assets/svg/weatherby.svg.cjs"),A=require("../../assets/svg/modio.svg.cjs"),M=require("../../assets/svg/locumsmart.svg.cjs"),m=require("../../assets/svg/wireframe.svg.cjs"),L=require("../../assets/svg/design-system-symbol.svg.cjs"),N=require("../../assets/svg/connect-symbol.svg.cjs"),j=require("../../assets/svg/comphealth-symbol.svg.cjs"),D=require("../../assets/svg/weatherby-symbol.svg.cjs"),G=require("../../assets/svg/modio-symbol.svg.cjs"),O=require("../../assets/svg/locumsmart-symbol.svg.cjs"),f=require("../../assets/svg/wireframe-symbol.svg.cjs"),t="uds-branding",$={"design-system":{svg:B.default,alt:"Unified Design System"},connect:{svg:C.default,alt:"CHG Connect"},comphealth:{svg:H.default,alt:"CompHealth"},weatherby:{svg:_.default,alt:"Weatherby Healthcare"},modio:{svg:A.default,alt:"modio"},locumsmart:{svg:M.default,alt:"Locumsmart"},chg:{svg:m.default,alt:"CHG"},wireframe:{svg:m.default,alt:"Wireframe"}},R={"design-system":{svg:L.default,alt:"Unified Design System"},connect:{svg:N.default,alt:"CHG Connect"},comphealth:{svg:j.default,alt:"CompHealth"},weatherby:{svg:D.default,alt:"Weatherby Healthcare"},modio:{svg:G.default,alt:"modio"},locumsmart:{svg:O.default,alt:"Locumsmart"},chg:{svg:f.default,alt:"CHG"},wireframe:{svg:f.default,alt:"Wireframe"}};function W({brand:s,symbol:g=!1,inherit:a=!1,size:b="default",className:v="",...y}){const[S,o]=d.useState(null);d.useEffect(()=>{if(!a)return;const r=document.documentElement;o(r.getAttribute("data-brand"));const u=new MutationObserver(w=>{for(const c of w)c.type==="attributes"&&c.attributeName==="data-brand"&&o(r.getAttribute("data-brand"))});return u.observe(r,{attributes:!0,attributeFilter:["data-brand"]}),()=>u.disconnect()},[a]);const e=a?S:typeof s=="string"?s:null,n=g,l=e?(n?R:$)[e]:null;if(!l)return e&&console.warn(`Branding: "${e}" is not a recognized brand key.`),null;const{svg:h,alt:q}=l,p=[t,`${t}--${b}`,n?`${t}--symbol`:"",v].filter(Boolean).join(" ");return i.jsx("div",{className:p,...y,children:i.jsx("span",{className:`${t}__logo`,role:"img","aria-label":q,dangerouslySetInnerHTML:{__html:h}})})}exports.default=W;
@@ -1 +1 @@
1
- import{jsx as c}from"react/jsx-runtime";import{useState as h,useEffect as L}from"react";/* empty css */import C from"../../assets/svg/design-system.svg.js";import B from"../../assets/svg/connect.svg.js";import H from"../../assets/svg/comphealth.svg.js";import W from"../../assets/svg/weatherby.svg.js";import A from"../../assets/svg/modio.svg.js";import D from"../../assets/svg/locumsmart.svg.js";import M from"../../assets/svg/wireframe.svg.js";import _ from"../../assets/svg/design-system-symbol.svg.js";import w from"../../assets/svg/connect-symbol.svg.js";import N from"../../assets/svg/comphealth-symbol.svg.js";import $ from"../../assets/svg/weatherby-symbol.svg.js";import O from"../../assets/svg/modio-symbol.svg.js";import E from"../../assets/svg/locumsmart-symbol.svg.js";import G from"../../assets/svg/wireframe-symbol.svg.js";const o="uds-branding",j={"design-system":{svg:C,alt:"Unified Design System"},connect:{svg:B,alt:"CHG Connect"},comphealth:{svg:H,alt:"CompHealth"},weatherby:{svg:W,alt:"Weatherby Healthcare"},modio:{svg:A,alt:"modio"},locumsmart:{svg:D,alt:"Locumsmart"},wireframe:{svg:M,alt:"Wireframe"}},x={"design-system":{svg:_,alt:"Unified Design System"},connect:{svg:w,alt:"CHG Connect"},comphealth:{svg:N,alt:"CompHealth"},weatherby:{svg:$,alt:"Weatherby Healthcare"},modio:{svg:O,alt:"modio"},locumsmart:{svg:E,alt:"Locumsmart"},wireframe:{svg:G,alt:"Wireframe"}};function et({brand:a,symbol:f=!1,inherit:e=!1,size:d="default",className:g="",...b}){const[u,m]=h(null);L(()=>{if(!e)return;const r=document.documentElement;m(r.getAttribute("data-brand"));const i=new MutationObserver(S=>{for(const l of S)l.type==="attributes"&&l.attributeName==="data-brand"&&m(r.getAttribute("data-brand"))});return i.observe(r,{attributes:!0,attributeFilter:["data-brand"]}),()=>i.disconnect()},[e]);const t=e?u:typeof a=="string"?a:null,n=f,s=t?(n?x:j)[t]:null;if(!s)return t&&console.warn(`Branding: "${t}" is not a recognized brand key.`),null;const{svg:p,alt:y}=s,v=[o,`${o}--${d}`,n?`${o}--symbol`:"",g].filter(Boolean).join(" ");return c("div",{className:v,...b,children:c("span",{className:`${o}__logo`,role:"img","aria-label":y,dangerouslySetInnerHTML:{__html:p}})})}export{et as default};
1
+ import{jsx as c}from"react/jsx-runtime";import{useState as C,useEffect as H}from"react";/* empty css */import B from"../../assets/svg/design-system.svg.js";import W from"../../assets/svg/connect.svg.js";import A from"../../assets/svg/comphealth.svg.js";import D from"../../assets/svg/weatherby.svg.js";import M from"../../assets/svg/modio.svg.js";import _ from"../../assets/svg/locumsmart.svg.js";import g from"../../assets/svg/wireframe.svg.js";import w from"../../assets/svg/design-system-symbol.svg.js";import N from"../../assets/svg/connect-symbol.svg.js";import G from"../../assets/svg/comphealth-symbol.svg.js";import $ from"../../assets/svg/weatherby-symbol.svg.js";import O from"../../assets/svg/modio-symbol.svg.js";import E from"../../assets/svg/locumsmart-symbol.svg.js";import f from"../../assets/svg/wireframe-symbol.svg.js";const o="uds-branding",j={"design-system":{svg:B,alt:"Unified Design System"},connect:{svg:W,alt:"CHG Connect"},comphealth:{svg:A,alt:"CompHealth"},weatherby:{svg:D,alt:"Weatherby Healthcare"},modio:{svg:M,alt:"modio"},locumsmart:{svg:_,alt:"Locumsmart"},chg:{svg:g,alt:"CHG"},wireframe:{svg:g,alt:"Wireframe"}},x={"design-system":{svg:w,alt:"Unified Design System"},connect:{svg:N,alt:"CHG Connect"},comphealth:{svg:G,alt:"CompHealth"},weatherby:{svg:$,alt:"Weatherby Healthcare"},modio:{svg:O,alt:"modio"},locumsmart:{svg:E,alt:"Locumsmart"},chg:{svg:f,alt:"CHG"},wireframe:{svg:f,alt:"Wireframe"}};function et({brand:a,symbol:d=!1,inherit:e=!1,size:b="default",className:u="",...p}){const[y,m]=C(null);H(()=>{if(!e)return;const r=document.documentElement;m(r.getAttribute("data-brand"));const i=new MutationObserver(L=>{for(const l of L)l.type==="attributes"&&l.attributeName==="data-brand"&&m(r.getAttribute("data-brand"))});return i.observe(r,{attributes:!0,attributeFilter:["data-brand"]}),()=>i.disconnect()},[e]);const t=e?y:typeof a=="string"?a:null,s=d,n=t?(s?x:j)[t]:null;if(!n)return t&&console.warn(`Branding: "${t}" is not a recognized brand key.`),null;const{svg:v,alt:S}=n,h=[o,`${o}--${b}`,s?`${o}--symbol`:"",u].filter(Boolean).join(" ");return c("div",{className:h,...p,children:c("span",{className:`${o}__logo`,role:"img","aria-label":S,dangerouslySetInnerHTML:{__html:v}})})}export{et as default};
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),a=require("react"),C=require("react-dom"),D=require("../Button/Button.cjs");;/* empty css */const e="uds-modal",d={small:"small",default:"default",large:"large",fullscreen:"fullscreen"};function n(l){return l==null||typeof l=="boolean"?null:a.isValidElement(l)||typeof l=="string"||typeof l=="number"?l:null}function H({open:l=!1,onClose:r,title:y,subtitle:$,badge:j,header:g,footer:x,size:o="default",closeOnBackdrop:u=!0,closeOnEscape:f=!0,container:m,className:p="",children:N,...E}){const _=a.useRef(null),v=a.useRef(null),M=n(g),i=n(y),c=n($),b=n(j),h=n(x),k=n(N),q=E;a.useEffect(()=>{if(l)return v.current=document.activeElement instanceof HTMLElement?document.activeElement:null,document.body.style.overflow="hidden",requestAnimationFrame(()=>{var s;(s=_.current)==null||s.focus()}),()=>{var s;document.body.style.overflow="",(s=v.current)==null||s.focus()}},[l]);const R=a.useCallback(s=>{s.key==="Escape"&&f&&r&&(s.stopPropagation(),r())},[f,r]),S=a.useCallback(s=>{s.target===s.currentTarget&&u&&r&&r()},[u,r]);if(!l)return null;const w=typeof o=="string"&&o in d?d[o]:d.default,B=[e,`${e}--${w}`,p].filter(Boolean).join(" "),T=[`${e}__overlay`,o==="fullscreen"&&`${e}__overlay--fullscreen`].filter(Boolean).join(" "),A=t.jsx("div",{className:T,onClick:S,"aria-hidden":"true",children:t.jsxs("div",{ref:_,className:B,role:"dialog","aria-modal":"true","aria-labelledby":i?`${e}-title`:void 0,"aria-describedby":c?`${e}-subtitle`:void 0,tabIndex:-1,onKeyDown:R,...q,children:[t.jsx("div",{className:`${e}__header`,children:M||t.jsxs("div",{className:`${e}__header-content`,children:[t.jsxs("div",{className:`${e}__header-info`,children:[t.jsxs("div",{className:`${e}__header-title-row`,children:[i&&t.jsx("h2",{id:`${e}-title`,className:`${e}__title`,children:i}),b&&t.jsx("span",{className:`${e}__badge`,children:b})]}),c&&t.jsx("p",{id:`${e}-subtitle`,className:`${e}__subtitle`,children:c})]}),t.jsx(D.default,{appearance:"text",layout:"icon-only",size:"default",icon:"X",label:"Close modal",onClick:()=>r==null?void 0:r()})]})}),t.jsx("div",{className:`${e}__body`,children:k}),h&&t.jsx("div",{className:`${e}__footer`,children:h})]})}),P=m instanceof HTMLElement?m:document.body;return C.createPortal(A,P)}const L=a.memo(H);exports.default=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),r=require("react"),C=require("react-dom"),D=require("../Button/Button.cjs");;/* empty css */const e="uds-modal",d={small:"small",default:"default",large:"large",fullscreen:"fullscreen"};function n(l){return l==null||typeof l=="boolean"?null:r.isValidElement(l)||typeof l=="string"||typeof l=="number"?l:null}function H({open:l=!1,onClose:a,title:y,subtitle:$,badge:j,header:x,footer:g,size:i="default",closeOnBackdrop:u=!0,closeOnEscape:f=!0,container:m,className:p="",children:N,...E}){const _=r.useRef(null),v=r.useRef(null),M=n(x),o=n(y),c=n($),h=n(j),b=n(g),k=n(N),q=E;r.useEffect(()=>{if(l)return v.current=document.activeElement instanceof HTMLElement?document.activeElement:null,document.body.style.overflow="hidden",requestAnimationFrame(()=>{var s;(s=_.current)==null||s.focus()}),()=>{var s;document.body.style.overflow="",(s=v.current)==null||s.focus()}},[l]);const R=r.useCallback(s=>{s.key==="Escape"&&f&&a&&(s.stopPropagation(),a())},[f,a]),S=r.useCallback(s=>{s.target===s.currentTarget&&u&&a&&a()},[u,a]);if(!l)return null;const w=typeof i=="string"&&i in d?d[i]:d.default,B=[e,`${e}--${w}`,p].filter(Boolean).join(" "),T=[`${e}__overlay`,i==="fullscreen"&&`${e}__overlay--fullscreen`].filter(Boolean).join(" "),A=t.jsx("div",{className:T,onClick:S,"aria-hidden":"true",children:t.jsxs("div",{ref:_,className:B,role:"dialog","aria-modal":"true","aria-labelledby":o?`${e}-title`:void 0,"aria-describedby":c?`${e}-subtitle`:void 0,tabIndex:-1,onKeyDown:R,...q,children:[t.jsx("div",{className:`${e}__header`,children:M||t.jsx("div",{className:`${e}__header-content`,children:t.jsxs("div",{className:`${e}__header-info`,children:[t.jsxs("div",{className:`${e}__header-title-row`,children:[t.jsxs("div",{className:`${e}__title-meta`,children:[o&&t.jsx("h2",{id:`${e}-title`,className:`${e}__title`,children:o}),h&&t.jsx("span",{className:`${e}__badge`,children:h})]}),t.jsx(D.default,{appearance:"text",layout:"icon-only",size:"default",icon:"X",label:"Close modal",onClick:()=>a==null?void 0:a()})]}),c&&t.jsx("p",{id:`${e}-subtitle`,className:`${e}__subtitle`,children:c})]})})}),t.jsx("div",{className:`${e}__body`,children:k}),b&&t.jsx("div",{className:`${e}__footer`,children:b})]})}),P=m instanceof HTMLElement?m:document.body;return C.createPortal(A,P)}const L=r.memo(H);exports.default=L;
@@ -1 +1 @@
1
- import{jsx as a,jsxs as i}from"react/jsx-runtime";import $,{useRef as b,useEffect as F,useCallback as p}from"react";import{createPortal as K}from"react-dom";import q from"../Button/Button.js";/* empty css */const e="uds-modal",c={small:"small",default:"default",large:"large",fullscreen:"fullscreen"};function n(t){return t==null||typeof t=="boolean"?null:$.isValidElement(t)||typeof t=="string"||typeof t=="number"?t:null}function I({open:t=!1,onClose:r,title:g,subtitle:N,badge:E,header:k,footer:w,size:o="default",closeOnBackdrop:u=!0,closeOnEscape:f=!0,container:m,className:x="",children:B,...M}){const _=b(null),h=b(null),j=n(k),s=n(g),d=n(N),v=n(E),y=n(w),A=n(B),R=M;F(()=>{if(t)return h.current=document.activeElement instanceof HTMLElement?document.activeElement:null,document.body.style.overflow="hidden",requestAnimationFrame(()=>{var l;(l=_.current)==null||l.focus()}),()=>{var l;document.body.style.overflow="",(l=h.current)==null||l.focus()}},[t]);const S=p(l=>{l.key==="Escape"&&f&&r&&(l.stopPropagation(),r())},[f,r]),T=p(l=>{l.target===l.currentTarget&&u&&r&&r()},[u,r]);if(!t)return null;const H=typeof o=="string"&&o in c?c[o]:c.default,L=[e,`${e}--${H}`,x].filter(Boolean).join(" "),P=[`${e}__overlay`,o==="fullscreen"&&`${e}__overlay--fullscreen`].filter(Boolean).join(" "),C=a("div",{className:P,onClick:T,"aria-hidden":"true",children:i("div",{ref:_,className:L,role:"dialog","aria-modal":"true","aria-labelledby":s?`${e}-title`:void 0,"aria-describedby":d?`${e}-subtitle`:void 0,tabIndex:-1,onKeyDown:S,...R,children:[a("div",{className:`${e}__header`,children:j||i("div",{className:`${e}__header-content`,children:[i("div",{className:`${e}__header-info`,children:[i("div",{className:`${e}__header-title-row`,children:[s&&a("h2",{id:`${e}-title`,className:`${e}__title`,children:s}),v&&a("span",{className:`${e}__badge`,children:v})]}),d&&a("p",{id:`${e}-subtitle`,className:`${e}__subtitle`,children:d})]}),a(q,{appearance:"text",layout:"icon-only",size:"default",icon:"X",label:"Close modal",onClick:()=>r==null?void 0:r()})]})}),a("div",{className:`${e}__body`,children:A}),y&&a("div",{className:`${e}__footer`,children:y})]})}),D=m instanceof HTMLElement?m:document.body;return K(C,D)}const Q=$.memo(I);export{Q as default};
1
+ import{jsx as r,jsxs as i}from"react/jsx-runtime";import $,{useRef as b,useEffect as F,useCallback as p}from"react";import{createPortal as K}from"react-dom";import q from"../Button/Button.js";/* empty css */const e="uds-modal",c={small:"small",default:"default",large:"large",fullscreen:"fullscreen"};function n(t){return t==null||typeof t=="boolean"?null:$.isValidElement(t)||typeof t=="string"||typeof t=="number"?t:null}function I({open:t=!1,onClose:a,title:g,subtitle:N,badge:E,header:k,footer:w,size:o="default",closeOnBackdrop:u=!0,closeOnEscape:m=!0,container:f,className:x="",children:B,...M}){const _=b(null),h=b(null),j=n(k),s=n(g),d=n(N),v=n(E),y=n(w),A=n(B),R=M;F(()=>{if(t)return h.current=document.activeElement instanceof HTMLElement?document.activeElement:null,document.body.style.overflow="hidden",requestAnimationFrame(()=>{var l;(l=_.current)==null||l.focus()}),()=>{var l;document.body.style.overflow="",(l=h.current)==null||l.focus()}},[t]);const S=p(l=>{l.key==="Escape"&&m&&a&&(l.stopPropagation(),a())},[m,a]),T=p(l=>{l.target===l.currentTarget&&u&&a&&a()},[u,a]);if(!t)return null;const H=typeof o=="string"&&o in c?c[o]:c.default,L=[e,`${e}--${H}`,x].filter(Boolean).join(" "),P=[`${e}__overlay`,o==="fullscreen"&&`${e}__overlay--fullscreen`].filter(Boolean).join(" "),C=r("div",{className:P,onClick:T,"aria-hidden":"true",children:i("div",{ref:_,className:L,role:"dialog","aria-modal":"true","aria-labelledby":s?`${e}-title`:void 0,"aria-describedby":d?`${e}-subtitle`:void 0,tabIndex:-1,onKeyDown:S,...R,children:[r("div",{className:`${e}__header`,children:j||r("div",{className:`${e}__header-content`,children:i("div",{className:`${e}__header-info`,children:[i("div",{className:`${e}__header-title-row`,children:[i("div",{className:`${e}__title-meta`,children:[s&&r("h2",{id:`${e}-title`,className:`${e}__title`,children:s}),v&&r("span",{className:`${e}__badge`,children:v})]}),r(q,{appearance:"text",layout:"icon-only",size:"default",icon:"X",label:"Close modal",onClick:()=>a==null?void 0:a()})]}),d&&r("p",{id:`${e}-subtitle`,className:`${e}__subtitle`,children:d})]})})}),r("div",{className:`${e}__body`,children:A}),y&&r("div",{className:`${e}__footer`,children:y})]})}),D=f instanceof HTMLElement?f:document.body;return K(C,D)}const Q=$.memo(I);export{Q as default};
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),d=require("react"),x=require("../Badge/Badge.cjs"),y=require("../Icon/Icon.cjs"),S="uds-tabs-item";function g({label:e,active:i=!1,icon:r,tag:t,tagVariant:f="red",className:m="",onClick:s,...c}){const b=[S,i&&"active",m].filter(Boolean).join(" "),j=s?"button":"div",p=!!r&&typeof r=="string",v=!!t&&(typeof t=="number"||typeof t=="string");let n="";e!=null&&(typeof e=="string"?n=e:n=String(e));const u={};return Object.keys(c).forEach(l=>{const o=c[l];(o==null||typeof o!="object"||d.isValidElement(o))&&(u[l]=o)}),a.jsxs(j,{className:b,onClick:s,role:s?"tab":void 0,"aria-selected":s?i:void 0,...u,children:[p&&a.jsx(y.default,{name:r,size:16,appearance:"bold"}),n&&a.jsx("span",{children:n}),v&&a.jsx(x.default,{count:t,variant:f})]})}const h=d.memo(g);exports.default=h;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),d=require("react"),v=require("../Icon/Icon.cjs"),x=require("../Tag/Tag.cjs"),t="uds-tabs-item";function T({label:s,appearance:m="underline",active:c=!1,icon:l,tag:e,tagVariant:b="neutral",className:p="",onClick:n,...i}){const y=[t,`${t}--${m}`,c&&"active",p].filter(Boolean).join(" "),j=n?"button":"div",_=!!l&&typeof l=="string",S=e===!0||e!==!1&&(typeof e=="number"||typeof e=="string");let a="";s!=null&&(typeof s=="string"?a=s:a=String(s));const u={};return Object.keys(i).forEach(f=>{const o=i[f];(o==null||typeof o!="object"||d.isValidElement(o))&&(u[f]=o)}),r.jsxs(j,{className:y,onClick:n,role:n?"tab":void 0,"aria-selected":n?c:void 0,...u,children:[_&&r.jsx(v.default,{name:l,size:16,appearance:"bold",className:`${t}__icon`}),a&&r.jsx("span",{className:`${t}__label`,children:a}),S&&r.jsx(x.default,{label:typeof e=="number"||typeof e=="string"?String(e):"Label",size:"compact",appearance:"label-only",rounded:!0,solid:!0,color:b==="sky"?"sky":"neutral",className:`${t}__tag`})]})}const $=d.memo(T);exports.default=$;
@@ -1 +1 @@
1
- import{jsxs as v,jsx as r}from"react/jsx-runtime";import l from"react";import y from"../Badge/Badge.js";import x from"../Icon/Icon.js";const E="uds-tabs-item";function I({label:e,active:i=!1,icon:a,tag:t,tagVariant:d="red",className:p="",onClick:o,...m}){const u=[E,i&&"active",p].filter(Boolean).join(" "),b=o?"button":"div",h=!!a&&typeof a=="string",j=!!t&&(typeof t=="number"||typeof t=="string");let s="";e!=null&&(typeof e=="string"?s=e:s=String(e));const f={};return Object.keys(m).forEach(c=>{const n=m[c];(n==null||typeof n!="object"||l.isValidElement(n))&&(f[c]=n)}),v(b,{className:u,onClick:o,role:o?"tab":void 0,"aria-selected":o?i:void 0,...f,children:[h&&r(x,{name:a,size:16,appearance:"bold"}),s&&r("span",{children:s}),j&&r(y,{count:t,variant:d})]})}const A=l.memo(I);export{A as default};
1
+ import{jsxs as j,jsx as l}from"react/jsx-runtime";import p from"react";import N from"../Icon/Icon.js";import S from"../Tag/Tag.js";const t="uds-tabs-item";function T({label:s,appearance:u="underline",active:i=!1,icon:r,tag:e,tagVariant:d="neutral",className:b="",onClick:o,...c}){const y=[t,`${t}--${u}`,i&&"active",b].filter(Boolean).join(" "),_=o?"button":"div",$=!!r&&typeof r=="string",h=e===!0||e!==!1&&(typeof e=="number"||typeof e=="string");let a="";s!=null&&(typeof s=="string"?a=s:a=String(s));const m={};return Object.keys(c).forEach(f=>{const n=c[f];(n==null||typeof n!="object"||p.isValidElement(n))&&(m[f]=n)}),j(_,{className:y,onClick:o,role:o?"tab":void 0,"aria-selected":o?i:void 0,...m,children:[$&&l(N,{name:r,size:16,appearance:"bold",className:`${t}__icon`}),a&&l("span",{className:`${t}__label`,children:a}),h&&l(S,{label:typeof e=="number"||typeof e=="string"?String(e):"Label",size:"compact",appearance:"label-only",rounded:!0,solid:!0,color:d==="sky"?"sky":"neutral",className:`${t}__tag`})]})}const g=p.memo(T);export{g as default};
@@ -9,7 +9,7 @@ import type { BrandingProps } from "./Branding.types";
9
9
  * <Branding brand="connect" />
10
10
  *
11
11
  * @param {string} brand - Brand key: "design-system" | "connect" | "comphealth" |
12
- * "weatherby" | "modio" | "locumsmart" | "wireframe"
12
+ * "weatherby" | "modio" | "locumsmart" | "chg" | "wireframe"
13
13
  * @param {boolean} symbol - When true, renders only the brand symbol/icon instead
14
14
  * of the full logo. Defaults to false (full logo).
15
15
  * @param {boolean} inherit - When true, ignores `brand` prop and automatically uses
@@ -10,6 +10,6 @@ interface TabItemProps {
10
10
  onClick?: (...args: unknown[]) => void;
11
11
  [key: string]: unknown;
12
12
  }
13
- declare function TabItem({ label, active, icon, tag, tagVariant, className, onClick, ...props }: TabItemProps): import("react/jsx-runtime").JSX.Element;
13
+ declare function TabItem({ label, appearance, active, icon, tag, tagVariant, className, onClick, ...props }: TabItemProps): import("react/jsx-runtime").JSX.Element;
14
14
  declare const _default: React.MemoExoticComponent<typeof TabItem>;
15
15
  export default _default;
@@ -55,7 +55,7 @@ export declare const COMPONENT_API: {
55
55
  readonly props: {
56
56
  readonly brand: {
57
57
  readonly type: "enum";
58
- readonly values: readonly ["default", "comphealth", "weatherby", "connect", "locumsmart", "modio", "gms", "wireframe"];
58
+ readonly values: readonly ["default", "comphealth", "weatherby", "connect", "locumsmart", "modio", "gms", "chg", "wireframe"];
59
59
  readonly default: "default";
60
60
  };
61
61
  readonly theme: {
@@ -1888,13 +1888,13 @@ export declare const COMPONENT_API: {
1888
1888
  };
1889
1889
  readonly tagVariant: {
1890
1890
  readonly type: "string";
1891
- readonly default: "red";
1891
+ readonly default: "neutral";
1892
1892
  };
1893
1893
  };
1894
1894
  readonly defaults: {
1895
1895
  readonly orientation: "horizontal";
1896
1896
  readonly appearance: "underline";
1897
- readonly tagVariant: "red";
1897
+ readonly tagVariant: "neutral";
1898
1898
  };
1899
1899
  readonly states: readonly [];
1900
1900
  readonly tokensUsed: readonly [];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={Accordion:{name:"Accordion",source:"src/design-system/components/Accordion/Accordion.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ActionMenu:{name:"ActionMenu",source:"src/design-system/components/ActionMenu/ActionMenu.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Menu","Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},AppShell:{name:"AppShell",source:"src/design-system/components/AppShell/AppShell.spec.ts",tier:1,purpose:"Top-level application shell that composes menu, content, and main regions for consistent page architecture.",props:{brand:{type:"enum",values:["default","comphealth","weatherby","connect","locumsmart","modio","gms","wireframe"],default:"default"},theme:{type:"enum",values:["light","dark"],default:"light"}},defaults:{brand:"default",theme:"light"},states:["default"],tokensUsed:["--uds-surface-primary","--uds-text-primary","--uds-border-primary","--uds-spacing-24"],accessibility:{role:"application",keyboard:["Tab"]},composition:{allowedChildren:["Menu","Container","Layout","Text","Button"],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Avatar:{name:"Avatar",source:"src/design-system/components/Avatar/Avatar.spec.ts",props:{size:{type:"string",default:"default"}},defaults:{size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Badge:{name:"Badge",source:"src/design-system/components/Badge/Badge.spec.ts",props:{variant:{type:"enum",values:["blue","cyan","green","magenta","indigo","rose","neutral","orange","purple","red","sky","yellow","inverse","lime"],default:"red"},appearance:{type:"enum",values:["solid","outlined"],default:"solid"},rounded:{type:"boolean",default:!0}},defaults:{variant:"red",appearance:"solid",rounded:!0},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Branding:{name:"Branding",source:"src/design-system/components/Branding/Branding.spec.ts",props:{size:{type:"string",default:"default"}},defaults:{size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Breadcrumb:{name:"Breadcrumb",source:"src/design-system/components/Breadcrumb/Breadcrumb.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Button:{name:"Button",source:"src/design-system/components/Button/Button.spec.ts",props:{layout:{type:"enum",values:["label-only","icon-left","icon-right","icon-only","only"],default:"label-only"},appearance:{type:"enum",values:["primary","soft","outline","text","ghost","disabled","destructive"],default:"primary"},size:{type:"enum",values:["large","default","small","xsmall"],default:"default"}},defaults:{layout:"label-only",appearance:"primary",size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["AppShell","Container","Layout","Modal","Table","Tabs"],disallowedChildren:["Button"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ButtonGroup:{name:"ButtonGroup",source:"src/design-system/components/ButtonGroup/ButtonGroup.spec.ts",tier:2,purpose:"Groups related button actions with consistent spacing and orientation.",props:{orientation:{type:"enum",values:["horizontal","vertical"],default:"horizontal"},size:{type:"enum",values:["xsmall","small","default","large"],default:"default"}},defaults:{orientation:"horizontal",size:"default"},states:["default"],tokensUsed:["--uds-spacing-8","--uds-spacing-16"],accessibility:{role:"group",keyboard:["Tab","Enter","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not set button appearances in ButtonGroup options; grouped buttons are outline only.","Do not mix unrelated actions in one ButtonGroup."]},Calendar:{name:"Calendar",source:"src/design-system/components/Calendar/Calendar.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Checkbox:{name:"Checkbox",source:"src/design-system/components/Checkbox/Checkbox.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},CheckboxGroup:{name:"CheckboxGroup",source:"src/design-system/components/CheckboxGroup/CheckboxGroup.spec.ts",tier:2,purpose:"Provides grouped multi-select choices using Checkbox controls.",props:{orientation:{type:"enum",values:["vertical","horizontal"],default:"vertical"},disabled:{type:"boolean",default:!1}},defaults:{orientation:"vertical",disabled:!1},states:["default"],tokensUsed:["--uds-spacing-8","--uds-spacing-16","--uds-text-primary"],accessibility:{role:"group",keyboard:["Tab","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use CheckboxGroup when only one value may be selected.","Do not hide option labels."]},Checklist:{name:"Checklist",source:"src/design-system/components/Checklist/Checklist.spec.ts",tier:2,purpose:"Sidebar checklist for multi-step flows with completion status.",props:{},defaults:{},states:["default","active","completed","disabled"],tokensUsed:["--uds-surface-primary","--uds-border-primary","--uds-text-primary","--uds-text-secondary","--uds-surface-brand-primary","--uds-spacing-8","--uds-spacing-12","--uds-spacing-20","--uds-spacing-24"],accessibility:{role:"navigation",keyboard:["Tab","Enter","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Chip:{name:"Chip",source:"src/design-system/components/Chip/Chip.spec.ts",props:{selected:{type:"boolean",default:!1},shape:{type:"enum",values:["pill","rounded"],default:"pill"},size:{type:"enum",values:["default","compact","mini"],default:"default"},iconPlacement:{type:"enum",values:["both","left","right","none"],default:"none"},badgeVariant:{type:"string",default:"sky"}},defaults:{selected:!1,shape:"pill",size:"default",iconPlacement:"none",badgeVariant:"sky"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{iconplacement:"iconPlacement"}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Code:{name:"Code",source:"src/design-system/components/Code/Code.spec.ts",props:{language:{type:"enum",values:["markup","css","clike","javascript","typescript","tsx","jsx","json","bash","sql"],default:"javascript"},inline:{type:"enum",values:[!0,!1],default:!1}},defaults:{language:"javascript",inline:!1},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Container:{name:"Container",source:"src/design-system/components/Container/Container.spec.ts",tier:2,purpose:"Provides a reusable content wrapper with optional filled or transparent surface styles and standardized padding.",props:{appearance:{type:"enum",values:["default","transparent"],default:"transparent"},padding:{type:"enum",values:["none","xsmall","small","default","large","xlarge"],default:"large"},paddingX:{type:"enum",values:["none","xsmall","small","default","large","xlarge"],default:"large"},paddingY:{type:"enum",values:["none","xsmall","small","default","large","xlarge"],default:"large"}},defaults:{appearance:"transparent",padding:"large",paddingX:"large",paddingY:"large"},states:["default"],tokensUsed:["--uds-surface-secondary","--uds-border-width-1","--uds-border-primary","--uds-radius-8","--uds-spacing-0","--uds-spacing-8","--uds-spacing-12","--uds-spacing-16","--uds-spacing-24","--uds-spacing-32"],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:["Layout","Table","Text","Button","Field","Divider","Tag"],allowedParents:["AppShell","root"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use Container for semantic landmarks where <section>, <article>, or <aside> is required.","Do not hardcode spacing values on top of Container padding variants."]},CurrencyInput:{name:"CurrencyInput",source:"src/design-system/components/CurrencyInput/CurrencyInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},DateInput:{name:"DateInput",source:"src/design-system/components/DateInput/DateInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Datepicker:{name:"Datepicker",source:"src/design-system/components/Datepicker/Datepicker.spec.ts",props:{size:{type:"string",default:"desktop"}},defaults:{size:"desktop"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},DateRangeInput:{name:"DateRangeInput",source:"src/design-system/components/DateRangeInput/DateRangeInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Dialog:{name:"Dialog",source:"src/design-system/components/Dialog/Dialog.spec.ts",props:{intent:{type:"string",default:"info"},confirmLabel:{type:"string",default:"Confirm"},cancelLabel:{type:"string",default:"Cancel"}},defaults:{intent:"info",confirmLabel:"Confirm",cancelLabel:"Cancel"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:["Dialog"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Divider:{name:"Divider",source:"src/design-system/components/Divider/Divider.spec.ts",props:{alignment:{type:"enum",values:["left","center","right"],default:"center"},variant:{type:"enum",values:["line","solid"],default:"line"}},defaults:{alignment:"center",variant:"line"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Container","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},DotStatus:{name:"DotStatus",source:"src/design-system/components/DotStatus/DotStatus.spec.ts",props:{variant:{type:"enum",values:["red","blue","inverse","orange","sky","indigo","rose","neutral","celery","lime","yellow","green","cyan","purple","fuchsia"],default:"blue"},size:{type:"enum",values:["small","medium","large"],default:"medium"},outline:{type:"boolean",default:!1}},defaults:{variant:"blue",size:"medium",outline:!1},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Dropdown:{name:"Dropdown",source:"src/design-system/components/Dropdown/Dropdown.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"},placeholder:{type:"string",default:"Select an option"},placement:{type:"string",default:"bottom-start"}},defaults:{size:"default",state:"default",placeholder:"Select an option",placement:"bottom-start"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Menu","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},EmptyState:{name:"EmptyState",source:"src/design-system/components/EmptyState/EmptyState.spec.ts",tier:2,purpose:"Provide a clear, branded fallback when a section has no content, data, or search results.",props:{align:{type:"enum",values:["left","center"],default:"center"}},defaults:{align:"center"},states:["default"],tokensUsed:["--uds-surface-secondary","--uds-border-primary","--uds-radius-8","--uds-text-primary","--uds-text-secondary","--uds-spacing-24"],accessibility:{role:"region",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use EmptyState when content is loading; use a loading indicator instead.","Do not place multiple primary actions inside a single EmptyState."]},EventCard:{name:"EventCard",source:"src/design-system/components/EventCard/EventCard.spec.ts",props:{title:{type:"string",default:"Title"},type:{type:"string",default:"travel"},status:{type:"string",default:"active"}},defaults:{title:"Title",type:"travel",status:"active"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Field:{name:"Field",source:"src/design-system/components/Field/Field.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["TextInput","Input","Dropdown","Datepicker","Textarea","Checkbox","Radio","Toggle","Slider","FileUpload"],allowedParents:["Container","Modal","Tabs"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},FileUpload:{name:"FileUpload",source:"src/design-system/components/FileUpload/FileUpload.spec.ts",props:{instructionText:{type:"string",default:"Drop files here or click to upload"}},defaults:{instructionText:"Drop files here or click to upload"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Flex:{name:"Flex",source:"src/design-system/components/Flex/Flex.spec.ts",tier:1,purpose:"Creates token-driven flexbox layouts with controlled direction, alignment, wrapping, and spacing.",props:{direction:{type:"enum",values:["row","column"],default:"row"},justifyContent:{type:"enum",values:["flex-start","center","flex-end","space-between","space-around","space-evenly"],default:"flex-start"},alignItems:{type:"enum",values:["stretch","flex-start","center","flex-end","baseline"],default:"stretch"},wrap:{type:"enum",values:["nowrap","wrap","wrap-reverse"],default:"nowrap"}},defaults:{direction:"row",justifyContent:"flex-start",alignItems:"stretch",wrap:"nowrap"},states:["default"],tokensUsed:["--uds-gap-*","--uds-spacing-*"],accessibility:{role:"generic",keyboard:["Tab"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Icon:{name:"Icon",source:"src/design-system/components/Icon/Icon.spec.ts",props:{appearance:{type:"string",default:"regular"}},defaults:{appearance:"regular"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Menu"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ImageAspect:{name:"ImageAspect",source:"src/design-system/components/ImageAspect/ImageAspect.spec.ts",props:{aspectratio:{type:"enum",values:["square","video","4-3","3-2","21-9","portrait","auto"]},ratio:{type:"string",default:"square"}},defaults:{ratio:"square"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Key:{name:"Key",source:"src/design-system/components/Key/Key.spec.ts",props:{appearance:{type:"enum",values:["light","dark"],default:"light"}},defaults:{appearance:"light"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Layout:{name:"Layout",source:"src/design-system/components/Layout/Layout.spec.ts",tier:2,purpose:"Creates token-driven flexbox layouts with controlled direction, alignment, wrapping, and width behavior.",props:{fullWidth:{type:"boolean",default:!1},appearance:{type:"enum",values:["full","equal","right","left"],default:"full"}},defaults:{fullWidth:!1,appearance:"full"},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:["AppShell","Container"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Link:{name:"Link",source:"src/design-system/components/Link/Link.spec.ts",tier:1,purpose:"Provides inline navigation and action links using semantic text-link tokens.",props:{appearance:{type:"enum",values:["primary","secondary"],default:"primary"},underline:{type:"enum",values:["always","hover","none"],default:"always"},disabled:{type:"boolean",default:!1}},defaults:{appearance:"primary",underline:"always",disabled:!1},states:["default","hover","active","visited","focus","disabled"],tokensUsed:["--uds-text-link-primary-default","--uds-text-link-primary-hover","--uds-text-link-primary-active","--uds-text-link-primary-visited","--uds-text-link-secondary-default","--uds-text-link-secondary-hover","--uds-text-link-secondary-active","--uds-text-link-secondary-visited","--uds-focus-ring-width","--uds-focus-ring-border","--uds-focus-ring-offset"],accessibility:{role:"link",keyboard:["Enter activates link","Tab/Shift+Tab moves focus"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Using Link for button-like actions that do not navigate.","Relying on color only without visible text for meaning."]},Menu:{name:"Menu",source:"src/design-system/components/Menu/Menu.spec.ts",props:{identity:{type:"string",default:"design-system"}},defaults:{identity:"design-system"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["ActionMenu","Dropdown","Toggle","Text","Icon"],allowedParents:["AppShell","root"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},MicroCalendar:{name:"MicroCalendar",source:"src/design-system/components/MicroCalendar/MicroCalendar.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Modal:{name:"Modal",source:"src/design-system/components/Modal/Modal.spec.ts",props:{size:{type:"enum",values:["small","default","large","fullscreen"],default:"default"}},defaults:{size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["Text","Button","Divider","Field","TextInput","Dropdown","Datepicker","Textarea","Tag"],allowedParents:["AppShell","Container","root"],disallowedChildren:["Modal"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},NumberInput:{name:"NumberInput",source:"src/design-system/components/NumberInput/NumberInput.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"},type:{type:"string",default:"number"}},defaults:{size:"default",state:"default",type:"number"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Pagination:{name:"Pagination",source:"src/design-system/components/Pagination/Pagination.spec.ts",props:{variant:{type:"string",default:"default"}},defaults:{variant:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},PasswordInput:{name:"PasswordInput",source:"src/design-system/components/PasswordInput/PasswordInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},PhoneInput:{name:"PhoneInput",source:"src/design-system/components/PhoneInput/PhoneInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ProgressCircle:{name:"ProgressCircle",source:"src/design-system/components/ProgressCircle/ProgressCircle.spec.ts",props:{shape:{type:"enum",values:["circle","half-circle"],default:"circle"},size:{type:"enum",values:["xxs","xs","sm","md","lg"],default:"md"}},defaults:{shape:"circle",size:"md"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ProgressIndicator:{name:"ProgressIndicator",source:"src/design-system/components/ProgressIndicator/ProgressIndicator.spec.ts",props:{labelPosition:{type:"enum",values:["false","right","bottom","top-floating","bottom-floating"],default:!1},variant:{type:"enum",values:["default","blue","green","success","orange","warning","red","error","purple"],default:"default"},size:{type:"enum",values:["small","medium","large"],default:"medium"}},defaults:{labelPosition:!1,variant:"default",size:"medium"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ProvidersCard:{name:"ProvidersCard",source:"src/design-system/components/ProvidersCard/ProvidersCard.spec.ts",tier:3,purpose:"Displays provider identity, status, metadata, tags, and quick actions in a compact card.",props:{statusVariant:{type:"enum",values:["green","orange","red","blue","neutral"],default:"green"}},defaults:{statusVariant:"green"},states:["default"],tokensUsed:["--uds-spacing-16","--uds-spacing-12","--uds-border-width-1","--uds-border-primary","--uds-radius-8","--uds-surface-primary"],accessibility:{role:"group",keyboard:["Tab","Enter","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use ProvidersCard for tabular datasets where rows and sorting are required.","Do not replace action buttons with non-interactive text when actions are expected."]},Radio:{name:"Radio",source:"src/design-system/components/Radio/Radio.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},RadioGroup:{name:"RadioGroup",source:"src/design-system/components/RadioGroup/RadioGroup.spec.ts",tier:2,purpose:"Provides grouped single-select choices using Radio controls.",props:{orientation:{type:"enum",values:["vertical","horizontal"],default:"vertical"},disabled:{type:"boolean",default:!1}},defaults:{orientation:"vertical",disabled:!1},states:["default"],tokensUsed:["--uds-spacing-8","--uds-spacing-16","--uds-text-primary"],accessibility:{role:"radiogroup",keyboard:["Tab","ArrowUp","ArrowDown","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use RadioGroup when users can select more than one option.","Do not omit visible labels when context is unclear."]},ScrollView:{name:"ScrollView",source:"src/design-system/components/ScrollView/ScrollView.spec.ts",tier:2,purpose:"Provides a container with controlled scroll direction.",props:{direction:{type:"enum",values:["vertical","horizontal"],default:"vertical"}},defaults:{direction:"vertical"},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},SearchInput:{name:"SearchInput",source:"src/design-system/components/SearchInput/SearchInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},SectionHeader:{name:"SectionHeader",source:"src/design-system/components/SectionHeader/SectionHeader.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Slider:{name:"Slider",source:"src/design-system/components/Slider/Slider.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Statistics:{name:"Statistics",source:"src/design-system/components/Statistics/Statistics.spec.ts",tier:2,purpose:"Displays a KPI value with optional context, trend, and icon.",props:{trend:{type:"enum",values:["up","down","neutral"],default:"neutral"},iconAccent:{type:"enum",values:["amber","aqua","blue","cyan","emerald","fuchsia","green","indigo","lime","magenta","orange","purple","red","rose","sky","violet","yellow"],default:"blue"}},defaults:{trend:"neutral",iconAccent:"blue"},states:["default"],tokensUsed:["--uds-surface-secondary","--uds-surface-primary","--uds-border-primary","--uds-radius-8","--uds-text-secondary","--uds-system-success-primary","--uds-system-destructive-primary"],accessibility:{role:"status",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use Statistics for interactive controls.","Do not place long paragraph content inside helper text."]},Status:{name:"Status",source:"src/design-system/components/Status/Status.spec.ts",props:{appearance:{type:"enum",values:["light-gray","white","transparent"],default:"light-gray"},shape:{type:"enum",values:["pill","rounded"],default:"pill"},variant:{type:"string",default:"blue"}},defaults:{appearance:"light-gray",shape:"pill",variant:"blue"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Steps:{name:"Steps",source:"src/design-system/components/Steps/Steps.spec.ts",props:{orientation:{type:"enum",values:["horizontal","vertical"],default:"horizontal"},status:{type:"enum",values:["complete","active","incomplete","disabled","error"]},size:{type:"enum",values:["default","compact"],default:"default"}},defaults:{orientation:"horizontal",size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Table:{name:"Table",source:"src/design-system/components/Table/Table.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["Tag","Status","Avatar","Button","ActionMenu","ProgressIndicator","DotStatus"],allowedParents:["Container","Tabs"],disallowedChildren:["Table"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Tabs:{name:"Tabs",source:"src/design-system/components/Tabs/Tabs.spec.ts",props:{orientation:{type:"enum",values:["horizontal","vertical"],default:"horizontal"},appearance:{type:"string",default:"underline"},tagVariant:{type:"string",default:"red"}},defaults:{orientation:"horizontal",appearance:"underline",tagVariant:"red"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["Text","Tag","Button","Table","Field"],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Tag:{name:"Tag",source:"src/design-system/components/Tag/Tag.spec.ts",props:{appearance:{type:"enum",values:["label-only","icon-left"],default:"label-only"},size:{type:"enum",values:["compact","default"],default:"compact"},color:{type:"enum",values:["transparent","neutral","red","orange","yellow","emerald","green","sky","cyan","blue","indigo","purple","fuchsia","magenta","inverse"],default:"transparent"},label:{type:"string",default:"Label"}},defaults:{appearance:"label-only",size:"compact",color:"transparent",label:"Label"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Container","Modal","Table","Tabs"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Text:{name:"Text",source:"src/design-system/components/Text/Text.spec.ts",tier:2,purpose:"Applies UDS typography variants with governed weight and leading options while preserving semantic tags via `as`.",props:{variant:{type:"enum",values:["display-128","display-96","display-72","display-60","display-48","display-36","heading-32","heading-28","heading-24","body-20","body-16","body-14","body-12"],default:"body-16"},weight:{type:"enum",values:["regular","medium","semibold","bold"],default:"regular"},leading:{type:"enum",values:["tight","regular","loose"],default:"regular"}},defaults:{variant:"body-16",weight:"regular",leading:"regular"},states:["default"],tokensUsed:["--uds-font-family","--uds-font-size-*","--uds-line-*","--uds-font-weight*","--uds-type-*"],accessibility:{role:"text",keyboard:[]},composition:{allowedChildren:[],allowedParents:["AppShell","Container","Layout","Menu","Modal","Tabs"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not set font-size/line-height directly on consumer elements; use Text variant + leading.","Do not reintroduce tailwind-like typography utilities that bypass semantic tokens."]},Textarea:{name:"Textarea",source:"src/design-system/components/Textarea/Textarea.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"}},defaults:{size:"default",state:"default"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},TextInput:{name:"TextInput",source:"src/design-system/components/TextInput/TextInput.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"},type:{type:"string",default:"text"},iconPosition:{type:"string",default:"right"}},defaults:{size:"default",state:"default",type:"text",iconPosition:"right"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},TimeInput:{name:"TimeInput",source:"src/design-system/components/TimeInput/TimeInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Toast:{name:"Toast",source:"src/design-system/components/Toast/Toast.spec.ts",props:{variant:{type:"enum",values:["success","error","warning","info"],default:"info"}},defaults:{variant:"info"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:["Modal","Dialog"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Toggle:{name:"Toggle",source:"src/design-system/components/Toggle/Toggle.spec.ts",props:{size:{type:"enum",values:["large","small"],default:"large"}},defaults:{size:"large"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Menu"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Toolbar:{name:"Toolbar",source:"src/design-system/components/Toolbar/Toolbar.spec.ts",tier:2,purpose:"Top action bar with left and right action regions and centered title/branding.",props:{},defaults:{},states:["default"],tokensUsed:["--uds-surface-primary","--uds-border-primary","--uds-spacing-8","--uds-spacing-12","--uds-spacing-16"],accessibility:{role:"toolbar",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Tooltip:{name:"Tooltip",source:"src/design-system/components/Tooltip/Tooltip.spec.ts",props:{placement:{type:"enum",values:["top","bottom","left","right"],default:"top"}},defaults:{placement:"top"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]}};exports.COMPONENT_API=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={Accordion:{name:"Accordion",source:"src/design-system/components/Accordion/Accordion.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ActionMenu:{name:"ActionMenu",source:"src/design-system/components/ActionMenu/ActionMenu.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Menu","Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},AppShell:{name:"AppShell",source:"src/design-system/components/AppShell/AppShell.spec.ts",tier:1,purpose:"Top-level application shell that composes menu, content, and main regions for consistent page architecture.",props:{brand:{type:"enum",values:["default","comphealth","weatherby","connect","locumsmart","modio","gms","chg","wireframe"],default:"default"},theme:{type:"enum",values:["light","dark"],default:"light"}},defaults:{brand:"default",theme:"light"},states:["default"],tokensUsed:["--uds-surface-primary","--uds-text-primary","--uds-border-primary","--uds-spacing-24"],accessibility:{role:"application",keyboard:["Tab"]},composition:{allowedChildren:["Menu","Container","Layout","Text","Button"],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Avatar:{name:"Avatar",source:"src/design-system/components/Avatar/Avatar.spec.ts",props:{size:{type:"string",default:"default"}},defaults:{size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Badge:{name:"Badge",source:"src/design-system/components/Badge/Badge.spec.ts",props:{variant:{type:"enum",values:["blue","cyan","green","magenta","indigo","rose","neutral","orange","purple","red","sky","yellow","inverse","lime"],default:"red"},appearance:{type:"enum",values:["solid","outlined"],default:"solid"},rounded:{type:"boolean",default:!0}},defaults:{variant:"red",appearance:"solid",rounded:!0},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Branding:{name:"Branding",source:"src/design-system/components/Branding/Branding.spec.ts",props:{size:{type:"string",default:"default"}},defaults:{size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Breadcrumb:{name:"Breadcrumb",source:"src/design-system/components/Breadcrumb/Breadcrumb.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Button:{name:"Button",source:"src/design-system/components/Button/Button.spec.ts",props:{layout:{type:"enum",values:["label-only","icon-left","icon-right","icon-only","only"],default:"label-only"},appearance:{type:"enum",values:["primary","soft","outline","text","ghost","disabled","destructive"],default:"primary"},size:{type:"enum",values:["large","default","small","xsmall"],default:"default"}},defaults:{layout:"label-only",appearance:"primary",size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["AppShell","Container","Layout","Modal","Table","Tabs"],disallowedChildren:["Button"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ButtonGroup:{name:"ButtonGroup",source:"src/design-system/components/ButtonGroup/ButtonGroup.spec.ts",tier:2,purpose:"Groups related button actions with consistent spacing and orientation.",props:{orientation:{type:"enum",values:["horizontal","vertical"],default:"horizontal"},size:{type:"enum",values:["xsmall","small","default","large"],default:"default"}},defaults:{orientation:"horizontal",size:"default"},states:["default"],tokensUsed:["--uds-spacing-8","--uds-spacing-16"],accessibility:{role:"group",keyboard:["Tab","Enter","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not set button appearances in ButtonGroup options; grouped buttons are outline only.","Do not mix unrelated actions in one ButtonGroup."]},Calendar:{name:"Calendar",source:"src/design-system/components/Calendar/Calendar.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Checkbox:{name:"Checkbox",source:"src/design-system/components/Checkbox/Checkbox.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},CheckboxGroup:{name:"CheckboxGroup",source:"src/design-system/components/CheckboxGroup/CheckboxGroup.spec.ts",tier:2,purpose:"Provides grouped multi-select choices using Checkbox controls.",props:{orientation:{type:"enum",values:["vertical","horizontal"],default:"vertical"},disabled:{type:"boolean",default:!1}},defaults:{orientation:"vertical",disabled:!1},states:["default"],tokensUsed:["--uds-spacing-8","--uds-spacing-16","--uds-text-primary"],accessibility:{role:"group",keyboard:["Tab","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use CheckboxGroup when only one value may be selected.","Do not hide option labels."]},Checklist:{name:"Checklist",source:"src/design-system/components/Checklist/Checklist.spec.ts",tier:2,purpose:"Sidebar checklist for multi-step flows with completion status.",props:{},defaults:{},states:["default","active","completed","disabled"],tokensUsed:["--uds-surface-primary","--uds-border-primary","--uds-text-primary","--uds-text-secondary","--uds-surface-brand-primary","--uds-spacing-8","--uds-spacing-12","--uds-spacing-20","--uds-spacing-24"],accessibility:{role:"navigation",keyboard:["Tab","Enter","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Chip:{name:"Chip",source:"src/design-system/components/Chip/Chip.spec.ts",props:{selected:{type:"boolean",default:!1},shape:{type:"enum",values:["pill","rounded"],default:"pill"},size:{type:"enum",values:["default","compact","mini"],default:"default"},iconPlacement:{type:"enum",values:["both","left","right","none"],default:"none"},badgeVariant:{type:"string",default:"sky"}},defaults:{selected:!1,shape:"pill",size:"default",iconPlacement:"none",badgeVariant:"sky"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{iconplacement:"iconPlacement"}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Code:{name:"Code",source:"src/design-system/components/Code/Code.spec.ts",props:{language:{type:"enum",values:["markup","css","clike","javascript","typescript","tsx","jsx","json","bash","sql"],default:"javascript"},inline:{type:"enum",values:[!0,!1],default:!1}},defaults:{language:"javascript",inline:!1},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Container:{name:"Container",source:"src/design-system/components/Container/Container.spec.ts",tier:2,purpose:"Provides a reusable content wrapper with optional filled or transparent surface styles and standardized padding.",props:{appearance:{type:"enum",values:["default","transparent"],default:"transparent"},padding:{type:"enum",values:["none","xsmall","small","default","large","xlarge"],default:"large"},paddingX:{type:"enum",values:["none","xsmall","small","default","large","xlarge"],default:"large"},paddingY:{type:"enum",values:["none","xsmall","small","default","large","xlarge"],default:"large"}},defaults:{appearance:"transparent",padding:"large",paddingX:"large",paddingY:"large"},states:["default"],tokensUsed:["--uds-surface-secondary","--uds-border-width-1","--uds-border-primary","--uds-radius-8","--uds-spacing-0","--uds-spacing-8","--uds-spacing-12","--uds-spacing-16","--uds-spacing-24","--uds-spacing-32"],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:["Layout","Table","Text","Button","Field","Divider","Tag"],allowedParents:["AppShell","root"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use Container for semantic landmarks where <section>, <article>, or <aside> is required.","Do not hardcode spacing values on top of Container padding variants."]},CurrencyInput:{name:"CurrencyInput",source:"src/design-system/components/CurrencyInput/CurrencyInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},DateInput:{name:"DateInput",source:"src/design-system/components/DateInput/DateInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Datepicker:{name:"Datepicker",source:"src/design-system/components/Datepicker/Datepicker.spec.ts",props:{size:{type:"string",default:"desktop"}},defaults:{size:"desktop"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},DateRangeInput:{name:"DateRangeInput",source:"src/design-system/components/DateRangeInput/DateRangeInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Dialog:{name:"Dialog",source:"src/design-system/components/Dialog/Dialog.spec.ts",props:{intent:{type:"string",default:"info"},confirmLabel:{type:"string",default:"Confirm"},cancelLabel:{type:"string",default:"Cancel"}},defaults:{intent:"info",confirmLabel:"Confirm",cancelLabel:"Cancel"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:["Dialog"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Divider:{name:"Divider",source:"src/design-system/components/Divider/Divider.spec.ts",props:{alignment:{type:"enum",values:["left","center","right"],default:"center"},variant:{type:"enum",values:["line","solid"],default:"line"}},defaults:{alignment:"center",variant:"line"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Container","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},DotStatus:{name:"DotStatus",source:"src/design-system/components/DotStatus/DotStatus.spec.ts",props:{variant:{type:"enum",values:["red","blue","inverse","orange","sky","indigo","rose","neutral","celery","lime","yellow","green","cyan","purple","fuchsia"],default:"blue"},size:{type:"enum",values:["small","medium","large"],default:"medium"},outline:{type:"boolean",default:!1}},defaults:{variant:"blue",size:"medium",outline:!1},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Dropdown:{name:"Dropdown",source:"src/design-system/components/Dropdown/Dropdown.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"},placeholder:{type:"string",default:"Select an option"},placement:{type:"string",default:"bottom-start"}},defaults:{size:"default",state:"default",placeholder:"Select an option",placement:"bottom-start"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Menu","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},EmptyState:{name:"EmptyState",source:"src/design-system/components/EmptyState/EmptyState.spec.ts",tier:2,purpose:"Provide a clear, branded fallback when a section has no content, data, or search results.",props:{align:{type:"enum",values:["left","center"],default:"center"}},defaults:{align:"center"},states:["default"],tokensUsed:["--uds-surface-secondary","--uds-border-primary","--uds-radius-8","--uds-text-primary","--uds-text-secondary","--uds-spacing-24"],accessibility:{role:"region",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use EmptyState when content is loading; use a loading indicator instead.","Do not place multiple primary actions inside a single EmptyState."]},EventCard:{name:"EventCard",source:"src/design-system/components/EventCard/EventCard.spec.ts",props:{title:{type:"string",default:"Title"},type:{type:"string",default:"travel"},status:{type:"string",default:"active"}},defaults:{title:"Title",type:"travel",status:"active"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Field:{name:"Field",source:"src/design-system/components/Field/Field.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["TextInput","Input","Dropdown","Datepicker","Textarea","Checkbox","Radio","Toggle","Slider","FileUpload"],allowedParents:["Container","Modal","Tabs"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},FileUpload:{name:"FileUpload",source:"src/design-system/components/FileUpload/FileUpload.spec.ts",props:{instructionText:{type:"string",default:"Drop files here or click to upload"}},defaults:{instructionText:"Drop files here or click to upload"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Flex:{name:"Flex",source:"src/design-system/components/Flex/Flex.spec.ts",tier:1,purpose:"Creates token-driven flexbox layouts with controlled direction, alignment, wrapping, and spacing.",props:{direction:{type:"enum",values:["row","column"],default:"row"},justifyContent:{type:"enum",values:["flex-start","center","flex-end","space-between","space-around","space-evenly"],default:"flex-start"},alignItems:{type:"enum",values:["stretch","flex-start","center","flex-end","baseline"],default:"stretch"},wrap:{type:"enum",values:["nowrap","wrap","wrap-reverse"],default:"nowrap"}},defaults:{direction:"row",justifyContent:"flex-start",alignItems:"stretch",wrap:"nowrap"},states:["default"],tokensUsed:["--uds-gap-*","--uds-spacing-*"],accessibility:{role:"generic",keyboard:["Tab"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Icon:{name:"Icon",source:"src/design-system/components/Icon/Icon.spec.ts",props:{appearance:{type:"string",default:"regular"}},defaults:{appearance:"regular"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Menu"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ImageAspect:{name:"ImageAspect",source:"src/design-system/components/ImageAspect/ImageAspect.spec.ts",props:{aspectratio:{type:"enum",values:["square","video","4-3","3-2","21-9","portrait","auto"]},ratio:{type:"string",default:"square"}},defaults:{ratio:"square"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Key:{name:"Key",source:"src/design-system/components/Key/Key.spec.ts",props:{appearance:{type:"enum",values:["light","dark"],default:"light"}},defaults:{appearance:"light"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Layout:{name:"Layout",source:"src/design-system/components/Layout/Layout.spec.ts",tier:2,purpose:"Creates token-driven flexbox layouts with controlled direction, alignment, wrapping, and width behavior.",props:{fullWidth:{type:"boolean",default:!1},appearance:{type:"enum",values:["full","equal","right","left"],default:"full"}},defaults:{fullWidth:!1,appearance:"full"},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:["AppShell","Container"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Link:{name:"Link",source:"src/design-system/components/Link/Link.spec.ts",tier:1,purpose:"Provides inline navigation and action links using semantic text-link tokens.",props:{appearance:{type:"enum",values:["primary","secondary"],default:"primary"},underline:{type:"enum",values:["always","hover","none"],default:"always"},disabled:{type:"boolean",default:!1}},defaults:{appearance:"primary",underline:"always",disabled:!1},states:["default","hover","active","visited","focus","disabled"],tokensUsed:["--uds-text-link-primary-default","--uds-text-link-primary-hover","--uds-text-link-primary-active","--uds-text-link-primary-visited","--uds-text-link-secondary-default","--uds-text-link-secondary-hover","--uds-text-link-secondary-active","--uds-text-link-secondary-visited","--uds-focus-ring-width","--uds-focus-ring-border","--uds-focus-ring-offset"],accessibility:{role:"link",keyboard:["Enter activates link","Tab/Shift+Tab moves focus"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Using Link for button-like actions that do not navigate.","Relying on color only without visible text for meaning."]},Menu:{name:"Menu",source:"src/design-system/components/Menu/Menu.spec.ts",props:{identity:{type:"string",default:"design-system"}},defaults:{identity:"design-system"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["ActionMenu","Dropdown","Toggle","Text","Icon"],allowedParents:["AppShell","root"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},MicroCalendar:{name:"MicroCalendar",source:"src/design-system/components/MicroCalendar/MicroCalendar.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Modal:{name:"Modal",source:"src/design-system/components/Modal/Modal.spec.ts",props:{size:{type:"enum",values:["small","default","large","fullscreen"],default:"default"}},defaults:{size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["Text","Button","Divider","Field","TextInput","Dropdown","Datepicker","Textarea","Tag"],allowedParents:["AppShell","Container","root"],disallowedChildren:["Modal"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},NumberInput:{name:"NumberInput",source:"src/design-system/components/NumberInput/NumberInput.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"},type:{type:"string",default:"number"}},defaults:{size:"default",state:"default",type:"number"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Pagination:{name:"Pagination",source:"src/design-system/components/Pagination/Pagination.spec.ts",props:{variant:{type:"string",default:"default"}},defaults:{variant:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},PasswordInput:{name:"PasswordInput",source:"src/design-system/components/PasswordInput/PasswordInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},PhoneInput:{name:"PhoneInput",source:"src/design-system/components/PhoneInput/PhoneInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ProgressCircle:{name:"ProgressCircle",source:"src/design-system/components/ProgressCircle/ProgressCircle.spec.ts",props:{shape:{type:"enum",values:["circle","half-circle"],default:"circle"},size:{type:"enum",values:["xxs","xs","sm","md","lg"],default:"md"}},defaults:{shape:"circle",size:"md"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ProgressIndicator:{name:"ProgressIndicator",source:"src/design-system/components/ProgressIndicator/ProgressIndicator.spec.ts",props:{labelPosition:{type:"enum",values:["false","right","bottom","top-floating","bottom-floating"],default:!1},variant:{type:"enum",values:["default","blue","green","success","orange","warning","red","error","purple"],default:"default"},size:{type:"enum",values:["small","medium","large"],default:"medium"}},defaults:{labelPosition:!1,variant:"default",size:"medium"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},ProvidersCard:{name:"ProvidersCard",source:"src/design-system/components/ProvidersCard/ProvidersCard.spec.ts",tier:3,purpose:"Displays provider identity, status, metadata, tags, and quick actions in a compact card.",props:{statusVariant:{type:"enum",values:["green","orange","red","blue","neutral"],default:"green"}},defaults:{statusVariant:"green"},states:["default"],tokensUsed:["--uds-spacing-16","--uds-spacing-12","--uds-border-width-1","--uds-border-primary","--uds-radius-8","--uds-surface-primary"],accessibility:{role:"group",keyboard:["Tab","Enter","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use ProvidersCard for tabular datasets where rows and sorting are required.","Do not replace action buttons with non-interactive text when actions are expected."]},Radio:{name:"Radio",source:"src/design-system/components/Radio/Radio.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},RadioGroup:{name:"RadioGroup",source:"src/design-system/components/RadioGroup/RadioGroup.spec.ts",tier:2,purpose:"Provides grouped single-select choices using Radio controls.",props:{orientation:{type:"enum",values:["vertical","horizontal"],default:"vertical"},disabled:{type:"boolean",default:!1}},defaults:{orientation:"vertical",disabled:!1},states:["default"],tokensUsed:["--uds-spacing-8","--uds-spacing-16","--uds-text-primary"],accessibility:{role:"radiogroup",keyboard:["Tab","ArrowUp","ArrowDown","Space"]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use RadioGroup when users can select more than one option.","Do not omit visible labels when context is unclear."]},ScrollView:{name:"ScrollView",source:"src/design-system/components/ScrollView/ScrollView.spec.ts",tier:2,purpose:"Provides a container with controlled scroll direction.",props:{direction:{type:"enum",values:["vertical","horizontal"],default:"vertical"}},defaults:{direction:"vertical"},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},SearchInput:{name:"SearchInput",source:"src/design-system/components/SearchInput/SearchInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},SectionHeader:{name:"SectionHeader",source:"src/design-system/components/SectionHeader/SectionHeader.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Slider:{name:"Slider",source:"src/design-system/components/Slider/Slider.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Statistics:{name:"Statistics",source:"src/design-system/components/Statistics/Statistics.spec.ts",tier:2,purpose:"Displays a KPI value with optional context, trend, and icon.",props:{trend:{type:"enum",values:["up","down","neutral"],default:"neutral"},iconAccent:{type:"enum",values:["amber","aqua","blue","cyan","emerald","fuchsia","green","indigo","lime","magenta","orange","purple","red","rose","sky","violet","yellow"],default:"blue"}},defaults:{trend:"neutral",iconAccent:"blue"},states:["default"],tokensUsed:["--uds-surface-secondary","--uds-surface-primary","--uds-border-primary","--uds-radius-8","--uds-text-secondary","--uds-system-success-primary","--uds-system-destructive-primary"],accessibility:{role:"status",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not use Statistics for interactive controls.","Do not place long paragraph content inside helper text."]},Status:{name:"Status",source:"src/design-system/components/Status/Status.spec.ts",props:{appearance:{type:"enum",values:["light-gray","white","transparent"],default:"light-gray"},shape:{type:"enum",values:["pill","rounded"],default:"pill"},variant:{type:"string",default:"blue"}},defaults:{appearance:"light-gray",shape:"pill",variant:"blue"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Table"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Steps:{name:"Steps",source:"src/design-system/components/Steps/Steps.spec.ts",props:{orientation:{type:"enum",values:["horizontal","vertical"],default:"horizontal"},status:{type:"enum",values:["complete","active","incomplete","disabled","error"]},size:{type:"enum",values:["default","compact"],default:"default"}},defaults:{orientation:"horizontal",size:"default"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Table:{name:"Table",source:"src/design-system/components/Table/Table.spec.ts",props:{},defaults:{},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["Tag","Status","Avatar","Button","ActionMenu","ProgressIndicator","DotStatus"],allowedParents:["Container","Tabs"],disallowedChildren:["Table"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Tabs:{name:"Tabs",source:"src/design-system/components/Tabs/Tabs.spec.ts",props:{orientation:{type:"enum",values:["horizontal","vertical"],default:"horizontal"},appearance:{type:"string",default:"underline"},tagVariant:{type:"string",default:"neutral"}},defaults:{orientation:"horizontal",appearance:"underline",tagVariant:"neutral"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:["Text","Tag","Button","Table","Field"],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Tag:{name:"Tag",source:"src/design-system/components/Tag/Tag.spec.ts",props:{appearance:{type:"enum",values:["label-only","icon-left"],default:"label-only"},size:{type:"enum",values:["compact","default"],default:"compact"},color:{type:"enum",values:["transparent","neutral","red","orange","yellow","emerald","green","sky","cyan","blue","indigo","purple","fuchsia","magenta","inverse"],default:"transparent"},label:{type:"string",default:"Label"}},defaults:{appearance:"label-only",size:"compact",color:"transparent",label:"Label"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Container","Modal","Table","Tabs"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Text:{name:"Text",source:"src/design-system/components/Text/Text.spec.ts",tier:2,purpose:"Applies UDS typography variants with governed weight and leading options while preserving semantic tags via `as`.",props:{variant:{type:"enum",values:["display-128","display-96","display-72","display-60","display-48","display-36","heading-32","heading-28","heading-24","body-20","body-16","body-14","body-12"],default:"body-16"},weight:{type:"enum",values:["regular","medium","semibold","bold"],default:"regular"},leading:{type:"enum",values:["tight","regular","loose"],default:"regular"}},defaults:{variant:"body-16",weight:"regular",leading:"regular"},states:["default"],tokensUsed:["--uds-font-family","--uds-font-size-*","--uds-line-*","--uds-font-weight*","--uds-type-*"],accessibility:{role:"text",keyboard:[]},composition:{allowedChildren:[],allowedParents:["AppShell","Container","Layout","Menu","Modal","Tabs"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:["Do not set font-size/line-height directly on consumer elements; use Text variant + leading.","Do not reintroduce tailwind-like typography utilities that bypass semantic tokens."]},Textarea:{name:"Textarea",source:"src/design-system/components/Textarea/Textarea.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"}},defaults:{size:"default",state:"default"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},TextInput:{name:"TextInput",source:"src/design-system/components/TextInput/TextInput.spec.ts",props:{size:{type:"enum",values:["compact","default"],default:"default"},state:{type:"enum",values:["default","focused","error","disabled"],default:"default"},type:{type:"string",default:"text"},iconPosition:{type:"string",default:"right"}},defaults:{size:"default",state:"default",type:"text",iconPosition:"right"},states:["default","focused","error","disabled"],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Modal"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},TimeInput:{name:"TimeInput",source:"src/design-system/components/TimeInput/TimeInput.spec.ts",tier:2,purpose:"Describe purpose.",props:{},defaults:{},states:["default"],tokensUsed:[],accessibility:{role:"generic",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Toast:{name:"Toast",source:"src/design-system/components/Toast/Toast.spec.ts",props:{variant:{type:"enum",values:["success","error","warning","info"],default:"info"}},defaults:{variant:"info"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:["Modal","Dialog"]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Toggle:{name:"Toggle",source:"src/design-system/components/Toggle/Toggle.spec.ts",props:{size:{type:"enum",values:["large","small"],default:"large"}},defaults:{size:"large"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:["Field","Menu"],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Toolbar:{name:"Toolbar",source:"src/design-system/components/Toolbar/Toolbar.spec.ts",tier:2,purpose:"Top action bar with left and right action regions and centered title/branding.",props:{},defaults:{},states:["default"],tokensUsed:["--uds-surface-primary","--uds-border-primary","--uds-spacing-8","--uds-spacing-12","--uds-spacing-16"],accessibility:{role:"toolbar",keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]},Tooltip:{name:"Tooltip",source:"src/design-system/components/Tooltip/Tooltip.spec.ts",props:{placement:{type:"enum",values:["top","bottom","left","right"],default:"top"}},defaults:{placement:"top"},states:[],tokensUsed:[],accessibility:{keyboard:[]},composition:{allowedChildren:[],allowedParents:[],disallowedChildren:[]},aliases:{props:{}},ambiguity:{propNameCollisions:[],hadAliasNormalization:!1},antiPatterns:[]}};exports.COMPONENT_API=e;