@telegraph/combobox 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @telegraph/combobox
|
|
2
2
|
|
|
3
|
+
## 0.0.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`6675b48`](https://github.com/knocklabs/telegraph/commit/6675b48d44f9ac929f518c0f4ea167ccbf7d825d) Thanks [@kylemcd](https://github.com/kylemcd)! - fix option button default not being type button
|
|
8
|
+
|
|
3
9
|
## 0.0.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),de=require("@radix-ui/react-use-controllable-state"),ge=require("@radix-ui/react-visually-hidden"),k=require("@telegraph/icon"),u=require("react"),P=require("@telegraph/typography"),D=require("@telegraph/compose-refs"),J=require("@telegraph/helpers"),be=require("@telegraph/input"),q=require("@telegraph/menu"),N=require("@telegraph/tag"),x=require("framer-motion");function Z(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,a.get?a:{enumerable:!0,get:()=>r[e]})}}return t.default=r,Object.freeze(t)}const he=Z(ge),ye=Z(u);function ee(r){var t,e,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var i=r.length;for(t=0;t<i;t++)r[t]&&(e=ee(r[t]))&&(a&&(a+=" "),a+=e)}else for(e in r)r[e]&&(a&&(a+=" "),a+=e);return a}function E(){for(var r,t,e=0,a="",i=arguments.length;e<i;e++)(r=arguments[e])&&(t=ee(r))&&(a&&(a+=" "),a+=t);return a}function fe(r,t){typeof r=="function"?r(t):r!=null&&(r.current=t)}function me(...r){return t=>r.forEach(e=>fe(e,t))}function te(...r){return ye.useCallback(me(...r),r)}const O=["sm","md","lg","xl","2xl"],ve=r=>{const t=[];let e=null;for(let a=0;a<O.length;a++){const i=O[a];if(r[i])e=r[i],t.push(e);else if(e!==null)t.push(e);else{let o=null;for(let n=a+1;n<O.length;n++)if(r[O[n]]){o=r[O[n]];break}if(o!==null){for(let n=0;n<=a;n++)t.push(o);e=o}}}return t},xe=r=>typeof r=="object"&&(r.sm||r.md||r.lg||r.xl||r["2xl"]),f=({value:r,prop:t})=>{if(!r)return"";if(t.valueType==="static")return r.toString();const e=t.type==="color"?"":`-${t.type}`;return r===!0?`var(--tgph${e}-${t.default})`:`var(--tgph${e}-${r})`},I={top:0,right:1,bottom:2,left:3},j={topLeft:0,topRight:1,bottomRight:2,bottomLeft:3},we=({cssVariables:r,value:t,prop:e,direction:a="all"})=>{const i=r[`--tgph-${e.rule}`]||"",o=i?i.split(" "):[],n=[(o==null?void 0:o[0])||0,(o==null?void 0:o[1])||0,(o==null?void 0:o[2])||0,(o==null?void 0:o[3])||0];return a==="all"?f({value:t,prop:e}):(e.ordering==="clockwise"?(a==="top"&&(n[j.topLeft]=f({value:t,prop:e}),n[j.topRight]=f({value:t,prop:e})),a==="right"&&(n[j.topRight]=f({value:t,prop:e}),n[j.bottomRight]=f({value:t,prop:e})),a==="bottom"&&(n[j.bottomRight]=f({value:t,prop:e}),n[j.bottomLeft]=f({value:t,prop:e})),a==="left"&&(n[j.bottomLeft]=f({value:t,prop:e}),n[j.topLeft]=f({value:t,prop:e})),(a==="topLeft"||a==="topRight"||a==="bottomRight"||a==="bottomLeft")&&(n[j[a]]=f({value:t,prop:e}))):(a==="x"&&(n[I.left]=f({value:t,prop:e}),n[I.right]=f({value:t,prop:e})),a==="y"&&(n[I.top]=f({value:t,prop:e}),n[I.bottom]=f({value:t,prop:e})),(a==="top"||a==="bottom"||a==="left"||a==="right")&&(n[I[a]]=f({value:t,prop:e}))),n.join(" "))},K=({prop:r,value:t,cssVariables:e})=>r.direction?we({cssVariables:e,prop:r,value:t,direction:r.direction,type:r.type}):f({value:t,prop:r}),re=({props:r,ref:t,propsMap:e})=>{if(!t.current)return;const a={};Object.entries(r).forEach(([i,o])=>{const n=e[i];n&&(typeof o=="string"||typeof o=="boolean"?a[`--tgph-${n.rule}`]=K({prop:n,key:i,value:o,cssVariables:a}):xe(o)&&ve(o).forEach((l,s)=>{l&&(a[`--tgph-${n.rule}-${O[s]}`]=K({prop:n,key:i,value:l,cssVariables:a}))})),Object.entries(a).forEach(([l,s])=>{t.current&&t.current.style.setProperty(l,s)})})},Y={display:{rule:"display",type:"block-display",valueType:"static"},h:{rule:"height",type:"spacing"},w:{rule:"width",type:"spacing"},maxH:{rule:"max-height",type:"spacing"},maxW:{rule:"max-width",type:"spacing"},p:{rule:"padding",type:"spacing",direction:"all"},m:{rule:"margin",type:"spacing",direction:"all"},pt:{rule:"padding",type:"spacing",direction:"top"},pl:{rule:"padding",type:"spacing",direction:"left"},pb:{rule:"padding",type:"spacing",direction:"bottom"},pr:{rule:"padding",type:"spacing",direction:"right"},px:{rule:"padding",type:"spacing",direction:"x"},py:{rule:"padding",type:"spacing",direction:"y"},mt:{rule:"margin",type:"spacing",direction:"top"},ml:{rule:"margin",type:"spacing",direction:"left"},mb:{rule:"margin",type:"spacing",direction:"bottom"},mr:{rule:"margin",type:"spacing",direction:"right"},mx:{rule:"margin",type:"spacing",direction:"x"},my:{rule:"margin",type:"spacing",direction:"y"},bg:{rule:"background-color",type:"color"},rounded:{rule:"border-radius",type:"rounded",direction:"all"},roundedTopLeft:{rule:"border-radius",type:"rounded",direction:"topLeft",ordering:"clockwise"},roundedBottomLeft:{rule:"border-radius",type:"rounded",direction:"bottomLeft",ordering:"clockwise"},roundedBottomRight:{rule:"border-radius",type:"rounded",direction:"bottomRight",ordering:"clockwise"},roundedTopRight:{rule:"border-radius",type:"rounded",direction:"topRight",ordering:"clockwise"},roundedTop:{rule:"border-radius",type:"rounded",direction:"top",ordering:"clockwise"},roundedBottom:{rule:"border-radius",type:"rounded",direction:"bottom",ordering:"clockwise"},roundedLeft:{rule:"border-radius",type:"rounded",direction:"left",ordering:"clockwise"},roundedRight:{rule:"border-radius",type:"rounded",direction:"right",ordering:"clockwise"},border:{rule:"border-width",type:"spacing",direction:"all",default:"px"},borderTop:{rule:"border-width",type:"spacing",direction:"top",default:"px"},borderLeft:{rule:"border-width",type:"spacing",direction:"left",default:"px"},borderBottom:{rule:"border-width",type:"spacing",direction:"bottom",default:"px"},borderRight:{rule:"border-width",type:"spacing",direction:"right",default:"px"},borderX:{rule:"border-width",type:"spacing",direction:"x",default:"px"},borderY:{rule:"border-width",type:"spacing",direction:"y",default:"px"},borderColor:{rule:"border-color",type:"color",default:"gray-4"},borderStyle:{rule:"border-style",type:"border-style",default:"solid"},shadow:{rule:"box-shadow",type:"shadow"}},je=({as:r,className:t,tgphRef:e,...a})=>{const i=r||"div",o=u.useRef(null),n=te(e,o),l=u.useMemo(()=>{const s={borderColor:!0,...a};return Object.keys(s).reduce((d,p)=>(Object.keys(Y).some(b=>b===p)?d.box[p]=s[p]:d.rest[p]=s[p],d),{box:{},rest:{}})},[a]);return u.useLayoutEffect(()=>{re({props:l.box,ref:o,propsMap:Y})},[l.box]),c.jsx(i,{className:E("tgph-box",t),ref:n,...l.rest})},X={display:{rule:"display",type:"flex-display",valueType:"static"},direction:{rule:"flex-direction",type:"flex-direction",valueType:"static"},align:{rule:"align-items",type:"align-items",valueType:"static"},justify:{rule:"justify-content",type:"justify-content",valueType:"static"},wrap:{rule:"flex-wrap",type:"flex-wrap",valueType:"static"},gap:{rule:"gap",type:"spacing",valueType:"variable"}},Re=({className:r,tgphRef:t,...e})=>{const a=u.useRef(null),i=te(t,a),o=u.useMemo(()=>Object.keys(e).reduce((n,l)=>(Object.keys(X).some(s=>s===l)?n.stack[l]=e[l]:n.rest[l]=e[l],n),{stack:{},rest:{}}),[e]);return u.useLayoutEffect(()=>{re({props:o.stack,ref:a,propsMap:X})},[o.stack,i]),c.jsx(je,{className:E("tgph-stack",r),tgphRef:i,...o.rest})},ke={solid:{gray:"bg-gray-9 hover:bg-gray-10 focus:bg-gray-11 data-[tgph-button-active=true]:!bg-gray-11",red:"bg-red-9 hover:bg-red-10 focus:bg-red-11 data-[tgph-button-active=true]:!bg-red-11",accent:"bg-accent-9 hover:bg-accent-10 focus:bg-accent-11 data-[tgph-button-active=true]:!bg-accent-11",green:"bg-green-9 hover:bg-green-10 focus:bg-green-11 data-[tgph-button-active=true]:!bg-green-11",blue:"bg-blue-9 hover:bg-blue-10 focus:bg-blue-11 data-[tgph-button-active=true]:!bg-blue-11",yellow:"bg-yellow-9 hover:bg-yellow-10 focus:bg-yellow-11 data-[tgph-button-active=true]:!bg-yellow-11",purple:"bg-purple-9 hover:bg-purple-10 focus:bg-purple-11 data-[tgph-button-active=true]:!bg-purple-11",disabled:"bg-gray-2"},soft:{gray:"bg-gray-3 hover:bg-gray-4 focus:bg-gray-5 data-[tgph-button-active=true]:!bg-gray-5",red:"bg-red-3 hover:bg-red-4 focus:bg-red-5 data-[tgph-button-active=true]:!bg-red-5",accent:"bg-accent-3 hover:bg-accent-4 focus:bg-accent-6 data-[tgph-button-active=true]:!bg-accent-6",green:"bg-green-3 hover:bg-green-4 focus:bg-green-5 data-[tgph-button-active=true]:!bg-green-5",blue:"bg-blue-3 hover:bg-blue-4 focus:bg-blue-5 data-[tgph-button-active=true]:!bg-blue-5",yellow:"bg-yellow-3 hover:bg-yellow-4 focus:bg-yellow-5 data-[tgph-button-active=true]:!bg-yellow-5",purple:"bg-purple-3 hover:bg-purple-4 focus:bg-purple-5 data-[tgph-button-active=true]:!bg-purple-5",disabled:"bg-gray-2"},outline:{gray:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-gray-6 hover:shadow-gray-7 focus:shadow-gray-8 data-[tgph-button-active=true]:!shadow-gray-8",red:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-red-6 hover:shadow-red-7 focus:shadow-red-8 data-[tgph-button-active=true]:!shadow-red-8",accent:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-accent-6 hover:shadow-accent-7 focus:shadow-accent-8 data-[tgph-button-active=true]:!shadow-accent-8",green:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-green-6 hover:shadow-green-7 focus:shadow-green-8 data-[tgph-button-active=true]:!shadow-green-8",blue:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-blue-6 hover:shadow-blue-7 focus:shadow-blue-8 data-[tgph-button-active=true]:!shadow-blue-8",yellow:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-yellow-6 hover:shadow-yellow-7 focus:shadow-yellow-8 data-[tgph-button-active=true]:!shadow-yellow-8",purple:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-purple-6 hover:shadow-purple-7 focus:shadow-purple-8 data-[tgph-button-active=true]:!shadow-purple-8",disabled:"bg-gray-2"},ghost:{gray:"bg-transparent hover:bg-gray-3 focus:bg-gray-4 data-[tgph-button-active=true]:!bg-gray-4 [&data-[tgph-button-active=true]>span]:!text-gray-12",red:"bg-transparent hover:bg-red-3 focus:bg-red-4 data-[tgph-button-active=true]:!bg-red-4",accent:"bg-transparent hover:bg-accent-3 focus:bg-accent-4 data-[tgph-button-active=true]:!bg-accent-4",green:"bg-transparent hover:bg-green-3 focus:bg-green-4 data-[tgph-button-active=true]:!bg-green-4",blue:"bg-transparent hover:bg-blue-3 focus:bg-blue-4 data-[tgph-button-active=true]:!bg-blue-4",yellow:"bg-transparent hover:bg-yellow-3 focus:bg-yellow-4 data-[tgph-button-active=true]:!bg-yellow-4",purple:"bg-transparent hover:bg-purple-3 focus:bg-purple-4 data-[tgph-button-active=true]:!bg-purple-4",disabled:"bg-transparent"}},$={default:{1:{w:"auto",h:"6",gap:"1",px:"2"},2:{w:"auto",h:"8",gap:"2",px:"3"},3:{w:"auto",h:"10",gap:"3",px:"4"}},"icon-only":{1:{w:"6",h:"6",gap:"0",px:"0"},2:{w:"8",h:"8",gap:"0",px:"0"},3:{w:"10",h:"10",gap:"0",px:"0"}}},Ce={1:"1",2:"2",3:"3"},Te={solid:{gray:"white",red:"white",accent:"white",green:"white",blue:"white",yellow:"white",purple:"white",disabled:"disabled"},soft:{gray:"default",red:"red",accent:"accent",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},outline:{gray:"default",red:"red",accent:"accent",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},ghost:{gray:"gray",red:"red",accent:"accent",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"}},Le={1:"1",2:"2",3:"3"},Se={solid:{gray:"white",red:"white",accent:"white",green:"white",blue:"white",yellow:"white",purple:"white",disabled:"disabled"},soft:{accent:"accent",gray:"gray",red:"red",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},outline:{accent:"accent",gray:"gray",red:"red",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},ghost:{accent:"accent",gray:"default",red:"red",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"}},Oe={default:"secondary","icon-only":"primary"},B=u.createContext({variant:"solid",size:"2",color:"gray",state:"default",layout:"default",active:!1}),oe=({as:r,variant:t="solid",size:e="2",color:a="gray",state:i="default",active:o=!1,disabled:n,className:l,...s})=>{const d=n?"disabled":i,p=d==="disabled"?"disabled":a,b=u.useMemo(()=>{var h;const g=u.Children.toArray(s==null?void 0:s.children);if((g==null?void 0:g.length)===1&&u.isValidElement(g[0])){const y=g[0];if((h=y==null?void 0:y.props)!=null&&h.icon)return"icon-only"}return"default"},[s==null?void 0:s.children]);return c.jsx(B.Provider,{value:{variant:t,size:e,color:p,state:d,layout:b,active:o},children:c.jsx(Re,{as:r||"button",className:E("appearance-none border-0 cursor-pointer bg-none box-border [font-family:inherit]","transition-colors no-underline",d==="disabled"&&"cursor-not-allowed",ke[t][p],$[b][e],l),h:$[b][e].h,w:$[b][e].w,gap:$[b][e].gap,px:$[b][e].px,display:"inline-flex",align:"center",justify:"center",rounded:"3","data-tgph-button":!0,"data-tgph-button-layout":b,"data-tgph-button-active":o,disabled:n,...s})})},z=({size:r,color:t,variant:e,icon:a,alt:i,"aria-hidden":o,...n})=>{const l=u.useContext(B),s={size:r??Le[l.size],color:t??Se[l.variant][l.color],variant:e??Oe[l.layout]};return c.jsx(k.Icon,{icon:a,"data-button-icon":!0,...i?{alt:i}:{"aria-hidden":o},...s,...n})},ae=({as:r,color:t,size:e,weight:a="medium",className:i,...o})=>{const n=u.useContext(B);return c.jsx(P.Text,{as:r||"span",color:t??Te[n.variant][n.color],size:e??Ce[n.size],weight:a,className:E("no-underline whitespace-nowrap",i),internal_optionalAs:!0,"data-button-text":!0,...o})},ne=({leadingIcon:r,trailingIcon:t,icon:e,children:a,...i})=>{const o=r||e;return c.jsxs(oe,{...i,children:[o&&c.jsx(z,{...o}),a&&c.jsx(ae,{children:a}),t&&c.jsx(z,{...t})]})};Object.assign(ne,{Root:oe,Icon:z,Text:ae});const Q=ne,_=["sm","md","lg","xl","2xl"],_e=r=>{const t=[];let e=null;for(let a=0;a<_.length;a++){const i=_[a];if(r[i])e=r[i],t.push(e);else if(e!==null)t.push(e);else{let o=null;for(let n=a+1;n<_.length;n++)if(r[_[n]]){o=r[_[n]];break}if(o!==null){for(let n=0;n<=a;n++)t.push(o);e=o}}}return t},Ee=r=>typeof r=="object"&&(r.sm||r.md||r.lg||r.xl||r["2xl"]),m=({value:r,prop:t})=>{if(!r)return"";if(t.valueType==="static")return r.toString();const e=t.type==="color"?"":`-${t.type}`;return r===!0?`var(--tgph${e}-${t.default})`:`var(--tgph${e}-${r})`},V={top:0,right:1,bottom:2,left:3},R={topLeft:0,topRight:1,bottomRight:2,bottomLeft:3},Ie=({cssVariables:r,value:t,prop:e,direction:a="all"})=>{const i=r[`--tgph-${e.rule}`]||"",o=i?i.split(" "):[],n=[(o==null?void 0:o[0])||0,(o==null?void 0:o[1])||0,(o==null?void 0:o[2])||0,(o==null?void 0:o[3])||0];return a==="all"?m({value:t,prop:e}):(e.ordering==="clockwise"?(a==="top"&&(n[R.topLeft]=m({value:t,prop:e}),n[R.topRight]=m({value:t,prop:e})),a==="right"&&(n[R.topRight]=m({value:t,prop:e}),n[R.bottomRight]=m({value:t,prop:e})),a==="bottom"&&(n[R.bottomRight]=m({value:t,prop:e}),n[R.bottomLeft]=m({value:t,prop:e})),a==="left"&&(n[R.bottomLeft]=m({value:t,prop:e}),n[R.topLeft]=m({value:t,prop:e})),(a==="topLeft"||a==="topRight"||a==="bottomRight"||a==="bottomLeft")&&(n[R[a]]=m({value:t,prop:e}))):(a==="x"&&(n[V.left]=m({value:t,prop:e}),n[V.right]=m({value:t,prop:e})),a==="y"&&(n[V.top]=m({value:t,prop:e}),n[V.bottom]=m({value:t,prop:e})),(a==="top"||a==="bottom"||a==="left"||a==="right")&&(n[V[a]]=m({value:t,prop:e}))),n.join(" "))},U=({prop:r,value:t,cssVariables:e})=>r.direction?Ie({cssVariables:e,prop:r,value:t,direction:r.direction,type:r.type}):m({value:t,prop:r}),ie=({props:r,ref:t,propsMap:e})=>{if(!t.current)return;const a={};Object.entries(r).forEach(([i,o])=>{const n=e[i];n&&(typeof o=="string"||typeof o=="boolean"?a[`--tgph-${n.rule}`]=U({prop:n,key:i,value:o,cssVariables:a}):Ee(o)&&_e(o).forEach((l,s)=>{l&&(a[`--tgph-${n.rule}-${_[s]}`]=U({prop:n,key:i,value:l,cssVariables:a}))})),Object.entries(a).forEach(([l,s])=>{t.current&&t.current.style.setProperty(l,s)})})},W={display:{rule:"display",type:"block-display",valueType:"static"},h:{rule:"height",type:"spacing"},w:{rule:"width",type:"spacing"},maxH:{rule:"max-height",type:"spacing"},maxW:{rule:"max-width",type:"spacing"},p:{rule:"padding",type:"spacing",direction:"all"},m:{rule:"margin",type:"spacing",direction:"all"},pt:{rule:"padding",type:"spacing",direction:"top"},pl:{rule:"padding",type:"spacing",direction:"left"},pb:{rule:"padding",type:"spacing",direction:"bottom"},pr:{rule:"padding",type:"spacing",direction:"right"},px:{rule:"padding",type:"spacing",direction:"x"},py:{rule:"padding",type:"spacing",direction:"y"},mt:{rule:"margin",type:"spacing",direction:"top"},ml:{rule:"margin",type:"spacing",direction:"left"},mb:{rule:"margin",type:"spacing",direction:"bottom"},mr:{rule:"margin",type:"spacing",direction:"right"},mx:{rule:"margin",type:"spacing",direction:"x"},my:{rule:"margin",type:"spacing",direction:"y"},bg:{rule:"background-color",type:"color"},rounded:{rule:"border-radius",type:"rounded",direction:"all"},roundedTopLeft:{rule:"border-radius",type:"rounded",direction:"topLeft",ordering:"clockwise"},roundedBottomLeft:{rule:"border-radius",type:"rounded",direction:"bottomLeft",ordering:"clockwise"},roundedBottomRight:{rule:"border-radius",type:"rounded",direction:"bottomRight",ordering:"clockwise"},roundedTopRight:{rule:"border-radius",type:"rounded",direction:"topRight",ordering:"clockwise"},roundedTop:{rule:"border-radius",type:"rounded",direction:"top",ordering:"clockwise"},roundedBottom:{rule:"border-radius",type:"rounded",direction:"bottom",ordering:"clockwise"},roundedLeft:{rule:"border-radius",type:"rounded",direction:"left",ordering:"clockwise"},roundedRight:{rule:"border-radius",type:"rounded",direction:"right",ordering:"clockwise"},border:{rule:"border-width",type:"spacing",direction:"all",default:"px"},borderTop:{rule:"border-width",type:"spacing",direction:"top",default:"px"},borderLeft:{rule:"border-width",type:"spacing",direction:"left",default:"px"},borderBottom:{rule:"border-width",type:"spacing",direction:"bottom",default:"px"},borderRight:{rule:"border-width",type:"spacing",direction:"right",default:"px"},borderX:{rule:"border-width",type:"spacing",direction:"x",default:"px"},borderY:{rule:"border-width",type:"spacing",direction:"y",default:"px"},borderColor:{rule:"border-color",type:"color",default:"gray-4"},borderStyle:{rule:"border-style",type:"border-style",default:"solid"},shadow:{rule:"box-shadow",type:"shadow"}},F=({as:r,className:t,tgphRef:e,...a})=>{const i=r||"div",o=u.useRef(null),n=D.useComposedRefs(e,o),l=u.useMemo(()=>{const s={borderColor:!0,...a};return Object.keys(s).reduce((d,p)=>(Object.keys(W).some(b=>b===p)?d.box[p]=s[p]:d.rest[p]=s[p],d),{box:{},rest:{}})},[a]);return u.useLayoutEffect(()=>{ie({props:l.box,ref:o,propsMap:W})},[l.box]),c.jsx(i,{className:E("tgph-box",t),ref:n,...l.rest})},G={display:{rule:"display",type:"flex-display",valueType:"static"},direction:{rule:"flex-direction",type:"flex-direction",valueType:"static"},align:{rule:"align-items",type:"align-items",valueType:"static"},justify:{rule:"justify-content",type:"justify-content",valueType:"static"},wrap:{rule:"flex-wrap",type:"flex-wrap",valueType:"static"},gap:{rule:"gap",type:"spacing",valueType:"variable"}},S=({className:r,tgphRef:t,...e})=>{const a=u.useRef(null),i=D.useComposedRefs(t,a),o=u.useMemo(()=>Object.keys(e).reduce((n,l)=>(Object.keys(G).some(s=>s===l)?n.stack[l]=e[l]:n.rest[l]=e[l],n),{stack:{},rest:{}}),[e]);return u.useLayoutEffect(()=>{ie({props:o.stack,ref:a,propsMap:G})},[o.stack,i]),c.jsx(F,{className:E("tgph-stack",r),tgphRef:i,...o.rest})},A=r=>Array.isArray(r),H=r=>typeof r=="object"&&!Array.isArray(r),$e=["ArrowDown","PageUp","Home"],Ve=["ArrowUp","PageDown","End"],le=["Enter"," "],w=u.createContext({onValueChange:()=>{},contentId:"",triggerId:"",open:!1,setOpen:()=>{},onOpenToggle:()=>{}}),Ae=({modal:r=!0,closeOnSelect:t=!0,open:e,onOpenChange:a,defaultOpen:i,value:o,onValueChange:n,errored:l,placeholder:s,layout:d,...p})=>{const b=u.useId(),h=u.useId(),g=u.useRef(null),y=u.useRef(null),v=u.useRef(null),[C,T]=u.useState(""),[L=!1,M]=de.useControllableState({prop:e,defaultProp:i,onChange:a}),ue=u.useCallback(()=>{M(pe=>!pe)},[M]);return u.useEffect(()=>{L||T("")},[L]),c.jsx(w.Provider,{value:{contentId:b,triggerId:h,value:o,onValueChange:n,placeholder:s,open:L,setOpen:M,onOpenToggle:ue,closeOnSelect:t,searchQuery:C,setSearchQuery:T,triggerRef:g,searchRef:y,contentRef:v,errored:l,layout:d},children:c.jsx(q.Menu.Root,{open:L,onOpenChange:M,modal:r,...p})})},Qe=({label:r,value:t,...e})=>{const a=u.useContext(w);return c.jsxs(N.Tag.Root,{size:"1",as:x.motion.span,initial:{opacity:0,transform:"scale(0.8)"},animate:{opacity:1,transform:"scale(1)"},exit:{opacity:0,transform:"scale(0.5)"},layout:"position",transition:{duration:.2,type:"spring",bounce:0,layout:{duration:.05,type:"spring",bounce:0}},...e,children:[c.jsx(N.Tag.Text,{children:r||t}),c.jsx(N.Tag.Button,{icon:{icon:k.Lucide.X,alt:`Remove ${t}`},onClick:i=>{const o=a.onValueChange,l=a.value.filter(s=>s.value!==t);o(l),i.stopPropagation(),i.preventDefault()}})]})},Me=({size:r="1"})=>{var a,i;const t=u.useContext(w),e=r==="1"?"6":r==="2"?"8":"10";if(t.value&&A(t.value)){const o=t.value,n=t.layout||"truncate",l=o.length-2,s=l.toString().split("");return o.length===0?c.jsx(S,{h:e,align:"center",my:"1",children:c.jsx(Q.Text,{color:"gray",children:t.placeholder})}):c.jsxs(S,{gap:"1",w:"full",my:"1",wrap:n==="wrap"?"wrap":"nowrap",align:"center",style:{position:"relative",flexGrow:1},children:[c.jsx(x.AnimatePresence,{initial:!1,mode:"popLayout",children:o.map((d,p)=>{if(n==="truncate"&&p<=1||n==="wrap")return c.jsx(J.RefToTgphRef,{children:c.jsx(Qe,{...d})},d.value)})}),c.jsx(x.AnimatePresence,{children:n==="truncate"&&o.length>2&&c.jsx(S,{as:x.motion.div,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2,type:"spring",bounce:0},h:"full",pr:"1",pl:"8",align:"center","aria-label":`${l} more selected`,style:{position:"absolute",right:0,backgroundImage:"linear-gradient(to left, var(--tgph-surface-1) 0 60%, transparent 90% 100%)"},children:c.jsxs(P.Text,{as:"span",size:"1",style:{whiteSpace:"nowrap"},children:["+",c.jsx(x.AnimatePresence,{mode:"wait",initial:!1,children:s.map(d=>c.jsx(F,{as:x.motion.span,w:"2",display:"inline-block",initial:{opacity:.5},animate:{opacity:1},exit:{opacity:.5},transition:{duration:.1,type:"spring",bounce:0},children:d},d))})," ","more"]})},"truncated text")})]})}return c.jsx(S,{h:e,align:"center",my:"1",children:c.jsx(Q.Text,{color:t.value?"default":"gray",children:((a=t==null?void 0:t.value)==null?void 0:a.label)||((i=t==null?void 0:t.value)==null?void 0:i.value)||t.placeholder})})},Pe=({size:r="1",...t})=>{const e=u.useContext(w),a=u.useCallback(()=>{var i,o,n;return e.value?H(e.value)?((i=e.value)==null?void 0:i.label)||((o=e.value)==null?void 0:o.value)||e.placeholder:((n=e.value)==null?void 0:n.map(l=>l.label).join(", "))||e.placeholder:e.placeholder},[e.value,e.placeholder]);return c.jsx(q.Menu.Anchor,{...t,asChild:!0,onClick:i=>{var o,n;i.preventDefault(),e.onOpenToggle(),(n=(o=e.triggerRef)==null?void 0:o.current)==null||n.focus()},onKeyDown:i=>{if(i.key==="Tab"){i.stopPropagation();return}if(le.includes(i.key)){i.preventDefault();return}if(i.key==="ArrowDown"){e.onOpenToggle();return}},tgphRef:e.triggerRef,children:c.jsx(J.RefToTgphRef,{children:c.jsxs(Q.Root,{id:e.triggerId,bg:"surface-1",variant:"outline",w:"full",h:"full",color:e.errored?"red":"gray",justify:"space-between",role:"combobox","aria-label":a(),"aria-controls":e.contentId,"aria-expanded":e.open,"aria-haspopup":"listbox","data-tgph-combobox-trigger":!0,"data-tgph-comobox-trigger-open":e.open,children:[c.jsx(Me,{size:r}),c.jsx(Q.Icon,{as:x.motion.div,icon:k.Lucide.ChevronDown,animate:{rotate:e.open?"180deg":"0deg"},transition:{duration:.2,type:"spring",bounce:0},"aria-hidden":!0})]})})})},De=({tgphRef:r,style:t,children:e,...a})=>{const i=u.useContext(w),o=u.useRef(!1),n=D.useComposedRefs(r,i.contentRef),l=u.useRef(null),[s,d]=u.useState(0),[p,b]=u.useState(!1),h=u.useCallback(g=>{const y=g.getBoundingClientRect();y&&d(y.height),p||b(!0)},[p]);return u.useEffect(()=>{const g=new ResizeObserver(y=>{for(const v of y){const C=v.target;h(C)}});return l.current&&p&&g.observe(l.current),()=>g.disconnect()},[p,h]),u.useEffect(()=>{p===!0&&i.open===!1&&b(!1)},[i.open,p]),c.jsx(q.Menu.Content,{as:x.motion.div,mt:"1",initial:{opacity:0,scale:.8,height:"auto"},animate:{opacity:1,scale:1,minHeight:s?`${s}px`:"0"},exit:{opacity:0,scale:0},transition:{duration:.2,type:"spring",bounce:0},onInteractOutside:()=>{i.setOpen(!1),o.current=!0},onAnimationComplete:()=>{if(!p&&l){const g=l.current;h(g)}},onCloseAutoFocus:g=>{var y,v;o.current||(v=(y=i.triggerRef)==null?void 0:y.current)==null||v.focus(),o.current=!1,g.preventDefault()},onKeyDown:g=>{var v,C,T,L;const y=(C=(v=i.contentRef)==null?void 0:v.current)==null?void 0:C.querySelectorAll("[data-tgph-combobox-option]");document.activeElement===(y==null?void 0:y[0])&&Ve.includes(g.key)&&((L=(T=i.searchRef)==null?void 0:T.current)==null||L.focus()),g.key==="Escape"&&i.setOpen(!1),g.stopPropagation()},bg:"surface-1",style:{width:"var(--tgph-comobobox-trigger-width)",...t,"--tgph-comobobox-content-transform-origin":"var(--radix-popper-transform-origin)","--tgph-combobox-content-available-width":"var(--radix-popper-available-width)","--tgph-combobox-content-available-height":"calc(var(--radix-popper-available-height) - var(--tgph-spacing-8))","--tgph-comobobox-trigger-width":"var(--radix-popper-anchor-width)","--tgph-combobox-trigger-height":"var(--radix-popper-anchor-height)"},...a,tgphRef:n,"data-tgph-combobox-content":!0,"data-tgph-combobox-content-open":p,role:void 0,"aria-orientation":void 0,children:c.jsx(S,{direction:"column",gap:"1",tgphRef:l,children:e})})},qe=({...r})=>{const t=u.useContext(w);return c.jsx(S,{id:t.contentId,direction:"column",gap:"1",style:{overflowY:"auto",maxHeight:"calc(var(--tgph-combobox-content-available-height) - var(--tgph-spacing-12))"},role:"listbox",...r})},se=({value:r,label:t,selected:e,onSelect:a,...i})=>{const o=u.useContext(w),[n,l]=u.useState(!1),s=o.value??[],d=(A(s),!o.searchQuery||r.toLowerCase().includes(o.searchQuery.toLowerCase())),p=A(s)?s.some(h=>h.value===r):s.value===r,b=h=>{var g,y;if(!(h.key&&!le.includes(h.key))){if(h.stopPropagation(),h.preventDefault(),o.closeOnSelect===!0&&o.setOpen(!1),a)return a(h);if(A(s)){const v=o.onValueChange,C=p?s.filter(T=>T.value!==r):[...s,{value:r,label:t}];v(C)}else if(H(s)){const v=o.onValueChange;v({value:r,label:t})}(y=(g=o.triggerRef)==null?void 0:g.current)==null||y.focus()}};if(d)return c.jsx(q.Menu.Button,{onSelect:b,onKeyDown:b,selected:e===null?null:e??p,onFocus:()=>l(!0),onBlur:()=>l(!1),role:"option","aria-selected":p?"true":"false","data-tgph-combobox-option":!0,"data-tgph-combobox-option-focused":n,"data-tgph-combobox-option-value":r,"data-tgph-combobox-option-label":t,...i,children:t||r})},Ne=({label:r="Search",placeholder:t="Search",tgphRef:e,...a})=>{var l;const i=u.useId(),o=u.useContext(w),n=D.useComposedRefs(e,o.searchRef);return u.useEffect(()=>{var p;const s=b=>{var h,g;$e.includes(b.key)&&((g=(h=o.contentRef)==null?void 0:h.current)==null||g.focus({preventScroll:!0})),b.key==="Escape"&&o.setOpen(!1),b.stopPropagation()},d=(p=o.searchRef)==null?void 0:p.current;if(d)return d.addEventListener("keydown",s),()=>{d.removeEventListener("keydown",s)}},[o]),c.jsxs(F,{borderBottom:!0,px:"1",pb:"1",children:[c.jsx(he.Root,{children:c.jsx(P.Text,{as:"label",htmlFor:i,children:r})}),c.jsx(be.Input,{id:i,variant:"ghost",placeholder:t,value:o.searchQuery,onChange:s=>{var d;(d=o==null?void 0:o.setSearchQuery)==null||d.call(o,s.target.value)},LeadingComponent:c.jsx(k.Icon,{icon:k.Lucide.Search,alt:"Search Icon"}),TrailingComponent:o!=null&&o.searchQuery&&((l=o==null?void 0:o.searchQuery)==null?void 0:l.length)>0?c.jsx(Q,{as:x.motion.button,initial:{opacity:0},animate:{opacity:1},transition:{duration:.2,type:"spring",bounce:0},variant:"ghost",color:"gray",icon:{icon:k.Lucide.X,alt:"Clear Search Query"},onClick:()=>{var s;return(s=o.setSearchQuery)==null?void 0:s.call(o,"")}}):null,autoFocus:!0,"data-tgph-combobox-search":!0,"aria-controls":o.contentId,...a,tgphRef:n})]})},ze=({icon:r={icon:k.Lucide.Search,alt:"Search Icon"},message:t="No results found",children:e,...a})=>{const i=u.useContext(w),[o,n]=u.useState(!1);if(u.useEffect(()=>{var s,d;const l=(d=(s=i.contentRef)==null?void 0:s.current)==null?void 0:d.querySelectorAll("[data-tgph-combobox-option]");(l==null?void 0:l.length)===0?n(!0):n(!1)},[i.searchQuery,i.contentRef,e]),o)return c.jsxs(S,{as:x.motion.div,initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.2,type:"spring",bounce:0},gap:"1",align:"center",justify:"center",w:"full",my:"8","data-tgph-combobox-empty":!0,...a,children:[r===null?c.jsx(c.Fragment,{}):c.jsx(k.Icon,{...r}),t===null?c.jsx(c.Fragment,{}):c.jsx(P.Text,{as:"span",children:t})]})},Be=({leadingText:r="Create",values:t,onCreate:e,selected:a=null,...i})=>{const o=u.useContext(w),n=u.useCallback(l=>!t||(t==null?void 0:t.length)===0?!1:t.some(s=>s.value===l),[t]);if(o.searchQuery&&!n(o.searchQuery))return c.jsx(se,{leadingIcon:{icon:k.Lucide.Plus,"aria-hidden":!0},mx:"1",value:o.searchQuery,label:`${r} "${o.searchQuery}"`,selected:a,onSelect:()=>{var l;e&&o.value&&o.searchQuery&&(H(o.value)&&e({value:o.searchQuery}),A(o.value)&&e({value:o.searchQuery}),(l=o.setSearchQuery)==null||l.call(o,""))},...i})},ce={};Object.assign(ce,{Root:Ae,Trigger:Pe,Content:De,Options:qe,Option:se,Search:Ne,Empty:ze,Create:Be});exports.Combobox=ce;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),de=require("@radix-ui/react-use-controllable-state"),ge=require("@radix-ui/react-visually-hidden"),k=require("@telegraph/icon"),u=require("react"),P=require("@telegraph/typography"),D=require("@telegraph/compose-refs"),J=require("@telegraph/helpers"),be=require("@telegraph/input"),q=require("@telegraph/menu"),N=require("@telegraph/tag"),x=require("framer-motion");function Z(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(t,e,a.get?a:{enumerable:!0,get:()=>r[e]})}}return t.default=r,Object.freeze(t)}const he=Z(ge),ye=Z(u);function ee(r){var t,e,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var i=r.length;for(t=0;t<i;t++)r[t]&&(e=ee(r[t]))&&(a&&(a+=" "),a+=e)}else for(e in r)r[e]&&(a&&(a+=" "),a+=e);return a}function E(){for(var r,t,e=0,a="",i=arguments.length;e<i;e++)(r=arguments[e])&&(t=ee(r))&&(a&&(a+=" "),a+=t);return a}function fe(r,t){typeof r=="function"?r(t):r!=null&&(r.current=t)}function me(...r){return t=>r.forEach(e=>fe(e,t))}function te(...r){return ye.useCallback(me(...r),r)}const O=["sm","md","lg","xl","2xl"],ve=r=>{const t=[];let e=null;for(let a=0;a<O.length;a++){const i=O[a];if(r[i])e=r[i],t.push(e);else if(e!==null)t.push(e);else{let o=null;for(let n=a+1;n<O.length;n++)if(r[O[n]]){o=r[O[n]];break}if(o!==null){for(let n=0;n<=a;n++)t.push(o);e=o}}}return t},xe=r=>typeof r=="object"&&(r.sm||r.md||r.lg||r.xl||r["2xl"]),f=({value:r,prop:t})=>{if(!r)return"";if(t.valueType==="static")return r.toString();const e=t.type==="color"?"":`-${t.type}`;return r===!0?`var(--tgph${e}-${t.default})`:`var(--tgph${e}-${r})`},I={top:0,right:1,bottom:2,left:3},j={topLeft:0,topRight:1,bottomRight:2,bottomLeft:3},we=({cssVariables:r,value:t,prop:e,direction:a="all"})=>{const i=r[`--tgph-${e.rule}`]||"",o=i?i.split(" "):[],n=[(o==null?void 0:o[0])||0,(o==null?void 0:o[1])||0,(o==null?void 0:o[2])||0,(o==null?void 0:o[3])||0];return a==="all"?f({value:t,prop:e}):(e.ordering==="clockwise"?(a==="top"&&(n[j.topLeft]=f({value:t,prop:e}),n[j.topRight]=f({value:t,prop:e})),a==="right"&&(n[j.topRight]=f({value:t,prop:e}),n[j.bottomRight]=f({value:t,prop:e})),a==="bottom"&&(n[j.bottomRight]=f({value:t,prop:e}),n[j.bottomLeft]=f({value:t,prop:e})),a==="left"&&(n[j.bottomLeft]=f({value:t,prop:e}),n[j.topLeft]=f({value:t,prop:e})),(a==="topLeft"||a==="topRight"||a==="bottomRight"||a==="bottomLeft")&&(n[j[a]]=f({value:t,prop:e}))):(a==="x"&&(n[I.left]=f({value:t,prop:e}),n[I.right]=f({value:t,prop:e})),a==="y"&&(n[I.top]=f({value:t,prop:e}),n[I.bottom]=f({value:t,prop:e})),(a==="top"||a==="bottom"||a==="left"||a==="right")&&(n[I[a]]=f({value:t,prop:e}))),n.join(" "))},K=({prop:r,value:t,cssVariables:e})=>r.direction?we({cssVariables:e,prop:r,value:t,direction:r.direction,type:r.type}):f({value:t,prop:r}),re=({props:r,ref:t,propsMap:e})=>{if(!t.current)return;const a={};Object.entries(r).forEach(([i,o])=>{const n=e[i];n&&(typeof o=="string"||typeof o=="boolean"?a[`--tgph-${n.rule}`]=K({prop:n,key:i,value:o,cssVariables:a}):xe(o)&&ve(o).forEach((l,s)=>{l&&(a[`--tgph-${n.rule}-${O[s]}`]=K({prop:n,key:i,value:l,cssVariables:a}))})),Object.entries(a).forEach(([l,s])=>{t.current&&t.current.style.setProperty(l,s)})})},Y={display:{rule:"display",type:"block-display",valueType:"static"},h:{rule:"height",type:"spacing"},w:{rule:"width",type:"spacing"},maxH:{rule:"max-height",type:"spacing"},maxW:{rule:"max-width",type:"spacing"},p:{rule:"padding",type:"spacing",direction:"all"},m:{rule:"margin",type:"spacing",direction:"all"},pt:{rule:"padding",type:"spacing",direction:"top"},pl:{rule:"padding",type:"spacing",direction:"left"},pb:{rule:"padding",type:"spacing",direction:"bottom"},pr:{rule:"padding",type:"spacing",direction:"right"},px:{rule:"padding",type:"spacing",direction:"x"},py:{rule:"padding",type:"spacing",direction:"y"},mt:{rule:"margin",type:"spacing",direction:"top"},ml:{rule:"margin",type:"spacing",direction:"left"},mb:{rule:"margin",type:"spacing",direction:"bottom"},mr:{rule:"margin",type:"spacing",direction:"right"},mx:{rule:"margin",type:"spacing",direction:"x"},my:{rule:"margin",type:"spacing",direction:"y"},bg:{rule:"background-color",type:"color"},rounded:{rule:"border-radius",type:"rounded",direction:"all"},roundedTopLeft:{rule:"border-radius",type:"rounded",direction:"topLeft",ordering:"clockwise"},roundedBottomLeft:{rule:"border-radius",type:"rounded",direction:"bottomLeft",ordering:"clockwise"},roundedBottomRight:{rule:"border-radius",type:"rounded",direction:"bottomRight",ordering:"clockwise"},roundedTopRight:{rule:"border-radius",type:"rounded",direction:"topRight",ordering:"clockwise"},roundedTop:{rule:"border-radius",type:"rounded",direction:"top",ordering:"clockwise"},roundedBottom:{rule:"border-radius",type:"rounded",direction:"bottom",ordering:"clockwise"},roundedLeft:{rule:"border-radius",type:"rounded",direction:"left",ordering:"clockwise"},roundedRight:{rule:"border-radius",type:"rounded",direction:"right",ordering:"clockwise"},border:{rule:"border-width",type:"spacing",direction:"all",default:"px"},borderTop:{rule:"border-width",type:"spacing",direction:"top",default:"px"},borderLeft:{rule:"border-width",type:"spacing",direction:"left",default:"px"},borderBottom:{rule:"border-width",type:"spacing",direction:"bottom",default:"px"},borderRight:{rule:"border-width",type:"spacing",direction:"right",default:"px"},borderX:{rule:"border-width",type:"spacing",direction:"x",default:"px"},borderY:{rule:"border-width",type:"spacing",direction:"y",default:"px"},borderColor:{rule:"border-color",type:"color",default:"gray-4"},borderStyle:{rule:"border-style",type:"border-style",default:"solid"},shadow:{rule:"box-shadow",type:"shadow"}},je=({as:r,className:t,tgphRef:e,...a})=>{const i=r||"div",o=u.useRef(null),n=te(e,o),l=u.useMemo(()=>{const s={borderColor:!0,...a};return Object.keys(s).reduce((d,p)=>(Object.keys(Y).some(b=>b===p)?d.box[p]=s[p]:d.rest[p]=s[p],d),{box:{},rest:{}})},[a]);return u.useLayoutEffect(()=>{re({props:l.box,ref:o,propsMap:Y})},[l.box]),c.jsx(i,{className:E("tgph-box",t),ref:n,...l.rest})},X={display:{rule:"display",type:"flex-display",valueType:"static"},direction:{rule:"flex-direction",type:"flex-direction",valueType:"static"},align:{rule:"align-items",type:"align-items",valueType:"static"},justify:{rule:"justify-content",type:"justify-content",valueType:"static"},wrap:{rule:"flex-wrap",type:"flex-wrap",valueType:"static"},gap:{rule:"gap",type:"spacing",valueType:"variable"}},Re=({className:r,tgphRef:t,...e})=>{const a=u.useRef(null),i=te(t,a),o=u.useMemo(()=>Object.keys(e).reduce((n,l)=>(Object.keys(X).some(s=>s===l)?n.stack[l]=e[l]:n.rest[l]=e[l],n),{stack:{},rest:{}}),[e]);return u.useLayoutEffect(()=>{re({props:o.stack,ref:a,propsMap:X})},[o.stack,i]),c.jsx(je,{className:E("tgph-stack",r),tgphRef:i,...o.rest})},ke={solid:{gray:"bg-gray-9 hover:bg-gray-10 focus:bg-gray-11 data-[tgph-button-active=true]:!bg-gray-11",red:"bg-red-9 hover:bg-red-10 focus:bg-red-11 data-[tgph-button-active=true]:!bg-red-11",accent:"bg-accent-9 hover:bg-accent-10 focus:bg-accent-11 data-[tgph-button-active=true]:!bg-accent-11",green:"bg-green-9 hover:bg-green-10 focus:bg-green-11 data-[tgph-button-active=true]:!bg-green-11",blue:"bg-blue-9 hover:bg-blue-10 focus:bg-blue-11 data-[tgph-button-active=true]:!bg-blue-11",yellow:"bg-yellow-9 hover:bg-yellow-10 focus:bg-yellow-11 data-[tgph-button-active=true]:!bg-yellow-11",purple:"bg-purple-9 hover:bg-purple-10 focus:bg-purple-11 data-[tgph-button-active=true]:!bg-purple-11",disabled:"bg-gray-2"},soft:{gray:"bg-gray-3 hover:bg-gray-4 focus:bg-gray-5 data-[tgph-button-active=true]:!bg-gray-5",red:"bg-red-3 hover:bg-red-4 focus:bg-red-5 data-[tgph-button-active=true]:!bg-red-5",accent:"bg-accent-3 hover:bg-accent-4 focus:bg-accent-6 data-[tgph-button-active=true]:!bg-accent-6",green:"bg-green-3 hover:bg-green-4 focus:bg-green-5 data-[tgph-button-active=true]:!bg-green-5",blue:"bg-blue-3 hover:bg-blue-4 focus:bg-blue-5 data-[tgph-button-active=true]:!bg-blue-5",yellow:"bg-yellow-3 hover:bg-yellow-4 focus:bg-yellow-5 data-[tgph-button-active=true]:!bg-yellow-5",purple:"bg-purple-3 hover:bg-purple-4 focus:bg-purple-5 data-[tgph-button-active=true]:!bg-purple-5",disabled:"bg-gray-2"},outline:{gray:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-gray-6 hover:shadow-gray-7 focus:shadow-gray-8 data-[tgph-button-active=true]:!shadow-gray-8",red:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-red-6 hover:shadow-red-7 focus:shadow-red-8 data-[tgph-button-active=true]:!shadow-red-8",accent:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-accent-6 hover:shadow-accent-7 focus:shadow-accent-8 data-[tgph-button-active=true]:!shadow-accent-8",green:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-green-6 hover:shadow-green-7 focus:shadow-green-8 data-[tgph-button-active=true]:!shadow-green-8",blue:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-blue-6 hover:shadow-blue-7 focus:shadow-blue-8 data-[tgph-button-active=true]:!shadow-blue-8",yellow:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-yellow-6 hover:shadow-yellow-7 focus:shadow-yellow-8 data-[tgph-button-active=true]:!shadow-yellow-8",purple:"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-purple-6 hover:shadow-purple-7 focus:shadow-purple-8 data-[tgph-button-active=true]:!shadow-purple-8",disabled:"bg-gray-2"},ghost:{gray:"bg-transparent hover:bg-gray-3 focus:bg-gray-4 data-[tgph-button-active=true]:!bg-gray-4 [&data-[tgph-button-active=true]>span]:!text-gray-12",red:"bg-transparent hover:bg-red-3 focus:bg-red-4 data-[tgph-button-active=true]:!bg-red-4",accent:"bg-transparent hover:bg-accent-3 focus:bg-accent-4 data-[tgph-button-active=true]:!bg-accent-4",green:"bg-transparent hover:bg-green-3 focus:bg-green-4 data-[tgph-button-active=true]:!bg-green-4",blue:"bg-transparent hover:bg-blue-3 focus:bg-blue-4 data-[tgph-button-active=true]:!bg-blue-4",yellow:"bg-transparent hover:bg-yellow-3 focus:bg-yellow-4 data-[tgph-button-active=true]:!bg-yellow-4",purple:"bg-transparent hover:bg-purple-3 focus:bg-purple-4 data-[tgph-button-active=true]:!bg-purple-4",disabled:"bg-transparent"}},$={default:{1:{w:"auto",h:"6",gap:"1",px:"2"},2:{w:"auto",h:"8",gap:"2",px:"3"},3:{w:"auto",h:"10",gap:"3",px:"4"}},"icon-only":{1:{w:"6",h:"6",gap:"0",px:"0"},2:{w:"8",h:"8",gap:"0",px:"0"},3:{w:"10",h:"10",gap:"0",px:"0"}}},Ce={1:"1",2:"2",3:"3"},Te={solid:{gray:"white",red:"white",accent:"white",green:"white",blue:"white",yellow:"white",purple:"white",disabled:"disabled"},soft:{gray:"default",red:"red",accent:"accent",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},outline:{gray:"default",red:"red",accent:"accent",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},ghost:{gray:"gray",red:"red",accent:"accent",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"}},Le={1:"1",2:"2",3:"3"},Se={solid:{gray:"white",red:"white",accent:"white",green:"white",blue:"white",yellow:"white",purple:"white",disabled:"disabled"},soft:{accent:"accent",gray:"gray",red:"red",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},outline:{accent:"accent",gray:"gray",red:"red",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"},ghost:{accent:"accent",gray:"default",red:"red",green:"green",blue:"blue",yellow:"yellow",purple:"purple",disabled:"disabled"}},Oe={default:"secondary","icon-only":"primary"},B=u.createContext({variant:"solid",size:"2",color:"gray",state:"default",layout:"default",active:!1}),oe=({as:r,variant:t="solid",size:e="2",color:a="gray",state:i="default",active:o=!1,disabled:n,className:l,...s})=>{const d=n?"disabled":i,p=d==="disabled"?"disabled":a,b=u.useMemo(()=>{var h;const g=u.Children.toArray(s==null?void 0:s.children);if((g==null?void 0:g.length)===1&&u.isValidElement(g[0])){const y=g[0];if((h=y==null?void 0:y.props)!=null&&h.icon)return"icon-only"}return"default"},[s==null?void 0:s.children]);return c.jsx(B.Provider,{value:{variant:t,size:e,color:p,state:d,layout:b,active:o},children:c.jsx(Re,{as:r||"button",className:E("appearance-none border-0 cursor-pointer bg-none box-border [font-family:inherit]","transition-colors no-underline",d==="disabled"&&"cursor-not-allowed",ke[t][p],$[b][e],l),h:$[b][e].h,w:$[b][e].w,gap:$[b][e].gap,px:$[b][e].px,display:"inline-flex",align:"center",justify:"center",rounded:"3","data-tgph-button":!0,"data-tgph-button-layout":b,"data-tgph-button-active":o,disabled:n,...s})})},z=({size:r,color:t,variant:e,icon:a,alt:i,"aria-hidden":o,...n})=>{const l=u.useContext(B),s={size:r??Le[l.size],color:t??Se[l.variant][l.color],variant:e??Oe[l.layout]};return c.jsx(k.Icon,{icon:a,"data-button-icon":!0,...i?{alt:i}:{"aria-hidden":o},...s,...n})},ae=({as:r,color:t,size:e,weight:a="medium",className:i,...o})=>{const n=u.useContext(B);return c.jsx(P.Text,{as:r||"span",color:t??Te[n.variant][n.color],size:e??Ce[n.size],weight:a,className:E("no-underline whitespace-nowrap",i),internal_optionalAs:!0,"data-button-text":!0,...o})},ne=({leadingIcon:r,trailingIcon:t,icon:e,children:a,...i})=>{const o=r||e;return c.jsxs(oe,{...i,children:[o&&c.jsx(z,{...o}),a&&c.jsx(ae,{children:a}),t&&c.jsx(z,{...t})]})};Object.assign(ne,{Root:oe,Icon:z,Text:ae});const Q=ne,_=["sm","md","lg","xl","2xl"],_e=r=>{const t=[];let e=null;for(let a=0;a<_.length;a++){const i=_[a];if(r[i])e=r[i],t.push(e);else if(e!==null)t.push(e);else{let o=null;for(let n=a+1;n<_.length;n++)if(r[_[n]]){o=r[_[n]];break}if(o!==null){for(let n=0;n<=a;n++)t.push(o);e=o}}}return t},Ee=r=>typeof r=="object"&&(r.sm||r.md||r.lg||r.xl||r["2xl"]),m=({value:r,prop:t})=>{if(!r)return"";if(t.valueType==="static")return r.toString();const e=t.type==="color"?"":`-${t.type}`;return r===!0?`var(--tgph${e}-${t.default})`:`var(--tgph${e}-${r})`},V={top:0,right:1,bottom:2,left:3},R={topLeft:0,topRight:1,bottomRight:2,bottomLeft:3},Ie=({cssVariables:r,value:t,prop:e,direction:a="all"})=>{const i=r[`--tgph-${e.rule}`]||"",o=i?i.split(" "):[],n=[(o==null?void 0:o[0])||0,(o==null?void 0:o[1])||0,(o==null?void 0:o[2])||0,(o==null?void 0:o[3])||0];return a==="all"?m({value:t,prop:e}):(e.ordering==="clockwise"?(a==="top"&&(n[R.topLeft]=m({value:t,prop:e}),n[R.topRight]=m({value:t,prop:e})),a==="right"&&(n[R.topRight]=m({value:t,prop:e}),n[R.bottomRight]=m({value:t,prop:e})),a==="bottom"&&(n[R.bottomRight]=m({value:t,prop:e}),n[R.bottomLeft]=m({value:t,prop:e})),a==="left"&&(n[R.bottomLeft]=m({value:t,prop:e}),n[R.topLeft]=m({value:t,prop:e})),(a==="topLeft"||a==="topRight"||a==="bottomRight"||a==="bottomLeft")&&(n[R[a]]=m({value:t,prop:e}))):(a==="x"&&(n[V.left]=m({value:t,prop:e}),n[V.right]=m({value:t,prop:e})),a==="y"&&(n[V.top]=m({value:t,prop:e}),n[V.bottom]=m({value:t,prop:e})),(a==="top"||a==="bottom"||a==="left"||a==="right")&&(n[V[a]]=m({value:t,prop:e}))),n.join(" "))},U=({prop:r,value:t,cssVariables:e})=>r.direction?Ie({cssVariables:e,prop:r,value:t,direction:r.direction,type:r.type}):m({value:t,prop:r}),ie=({props:r,ref:t,propsMap:e})=>{if(!t.current)return;const a={};Object.entries(r).forEach(([i,o])=>{const n=e[i];n&&(typeof o=="string"||typeof o=="boolean"?a[`--tgph-${n.rule}`]=U({prop:n,key:i,value:o,cssVariables:a}):Ee(o)&&_e(o).forEach((l,s)=>{l&&(a[`--tgph-${n.rule}-${_[s]}`]=U({prop:n,key:i,value:l,cssVariables:a}))})),Object.entries(a).forEach(([l,s])=>{t.current&&t.current.style.setProperty(l,s)})})},W={display:{rule:"display",type:"block-display",valueType:"static"},h:{rule:"height",type:"spacing"},w:{rule:"width",type:"spacing"},maxH:{rule:"max-height",type:"spacing"},maxW:{rule:"max-width",type:"spacing"},p:{rule:"padding",type:"spacing",direction:"all"},m:{rule:"margin",type:"spacing",direction:"all"},pt:{rule:"padding",type:"spacing",direction:"top"},pl:{rule:"padding",type:"spacing",direction:"left"},pb:{rule:"padding",type:"spacing",direction:"bottom"},pr:{rule:"padding",type:"spacing",direction:"right"},px:{rule:"padding",type:"spacing",direction:"x"},py:{rule:"padding",type:"spacing",direction:"y"},mt:{rule:"margin",type:"spacing",direction:"top"},ml:{rule:"margin",type:"spacing",direction:"left"},mb:{rule:"margin",type:"spacing",direction:"bottom"},mr:{rule:"margin",type:"spacing",direction:"right"},mx:{rule:"margin",type:"spacing",direction:"x"},my:{rule:"margin",type:"spacing",direction:"y"},bg:{rule:"background-color",type:"color"},rounded:{rule:"border-radius",type:"rounded",direction:"all"},roundedTopLeft:{rule:"border-radius",type:"rounded",direction:"topLeft",ordering:"clockwise"},roundedBottomLeft:{rule:"border-radius",type:"rounded",direction:"bottomLeft",ordering:"clockwise"},roundedBottomRight:{rule:"border-radius",type:"rounded",direction:"bottomRight",ordering:"clockwise"},roundedTopRight:{rule:"border-radius",type:"rounded",direction:"topRight",ordering:"clockwise"},roundedTop:{rule:"border-radius",type:"rounded",direction:"top",ordering:"clockwise"},roundedBottom:{rule:"border-radius",type:"rounded",direction:"bottom",ordering:"clockwise"},roundedLeft:{rule:"border-radius",type:"rounded",direction:"left",ordering:"clockwise"},roundedRight:{rule:"border-radius",type:"rounded",direction:"right",ordering:"clockwise"},border:{rule:"border-width",type:"spacing",direction:"all",default:"px"},borderTop:{rule:"border-width",type:"spacing",direction:"top",default:"px"},borderLeft:{rule:"border-width",type:"spacing",direction:"left",default:"px"},borderBottom:{rule:"border-width",type:"spacing",direction:"bottom",default:"px"},borderRight:{rule:"border-width",type:"spacing",direction:"right",default:"px"},borderX:{rule:"border-width",type:"spacing",direction:"x",default:"px"},borderY:{rule:"border-width",type:"spacing",direction:"y",default:"px"},borderColor:{rule:"border-color",type:"color",default:"gray-4"},borderStyle:{rule:"border-style",type:"border-style",default:"solid"},shadow:{rule:"box-shadow",type:"shadow"}},F=({as:r,className:t,tgphRef:e,...a})=>{const i=r||"div",o=u.useRef(null),n=D.useComposedRefs(e,o),l=u.useMemo(()=>{const s={borderColor:!0,...a};return Object.keys(s).reduce((d,p)=>(Object.keys(W).some(b=>b===p)?d.box[p]=s[p]:d.rest[p]=s[p],d),{box:{},rest:{}})},[a]);return u.useLayoutEffect(()=>{ie({props:l.box,ref:o,propsMap:W})},[l.box]),c.jsx(i,{className:E("tgph-box",t),ref:n,...l.rest})},G={display:{rule:"display",type:"flex-display",valueType:"static"},direction:{rule:"flex-direction",type:"flex-direction",valueType:"static"},align:{rule:"align-items",type:"align-items",valueType:"static"},justify:{rule:"justify-content",type:"justify-content",valueType:"static"},wrap:{rule:"flex-wrap",type:"flex-wrap",valueType:"static"},gap:{rule:"gap",type:"spacing",valueType:"variable"}},S=({className:r,tgphRef:t,...e})=>{const a=u.useRef(null),i=D.useComposedRefs(t,a),o=u.useMemo(()=>Object.keys(e).reduce((n,l)=>(Object.keys(G).some(s=>s===l)?n.stack[l]=e[l]:n.rest[l]=e[l],n),{stack:{},rest:{}}),[e]);return u.useLayoutEffect(()=>{ie({props:o.stack,ref:a,propsMap:G})},[o.stack,i]),c.jsx(F,{className:E("tgph-stack",r),tgphRef:i,...o.rest})},A=r=>Array.isArray(r),H=r=>typeof r=="object"&&!Array.isArray(r),$e=["ArrowDown","PageUp","Home"],Ve=["ArrowUp","PageDown","End"],le=["Enter"," "],w=u.createContext({onValueChange:()=>{},contentId:"",triggerId:"",open:!1,setOpen:()=>{},onOpenToggle:()=>{}}),Ae=({modal:r=!0,closeOnSelect:t=!0,open:e,onOpenChange:a,defaultOpen:i,value:o,onValueChange:n,errored:l,placeholder:s,layout:d,...p})=>{const b=u.useId(),h=u.useId(),g=u.useRef(null),y=u.useRef(null),v=u.useRef(null),[C,T]=u.useState(""),[L=!1,M]=de.useControllableState({prop:e,defaultProp:i,onChange:a}),ue=u.useCallback(()=>{M(pe=>!pe)},[M]);return u.useEffect(()=>{L||T("")},[L]),c.jsx(w.Provider,{value:{contentId:b,triggerId:h,value:o,onValueChange:n,placeholder:s,open:L,setOpen:M,onOpenToggle:ue,closeOnSelect:t,searchQuery:C,setSearchQuery:T,triggerRef:g,searchRef:y,contentRef:v,errored:l,layout:d},children:c.jsx(q.Menu.Root,{open:L,onOpenChange:M,modal:r,...p})})},Qe=({label:r,value:t,...e})=>{const a=u.useContext(w);return c.jsxs(N.Tag.Root,{size:"1",as:x.motion.span,initial:{opacity:0,transform:"scale(0.8)"},animate:{opacity:1,transform:"scale(1)"},exit:{opacity:0,transform:"scale(0.5)"},layout:"position",transition:{duration:.2,type:"spring",bounce:0,layout:{duration:.05,type:"spring",bounce:0}},...e,children:[c.jsx(N.Tag.Text,{children:r||t}),c.jsx(N.Tag.Button,{icon:{icon:k.Lucide.X,alt:`Remove ${t}`},onClick:i=>{const o=a.onValueChange,l=a.value.filter(s=>s.value!==t);o(l),i.stopPropagation(),i.preventDefault()}})]})},Me=({size:r="1"})=>{var a,i;const t=u.useContext(w),e=r==="1"?"6":r==="2"?"8":"10";if(t.value&&A(t.value)){const o=t.value,n=t.layout||"truncate",l=o.length-2,s=l.toString().split("");return o.length===0?c.jsx(S,{h:e,align:"center",my:"1",children:c.jsx(Q.Text,{color:"gray",children:t.placeholder})}):c.jsxs(S,{gap:"1",w:"full",my:"1",wrap:n==="wrap"?"wrap":"nowrap",align:"center",style:{position:"relative",flexGrow:1},children:[c.jsx(x.AnimatePresence,{initial:!1,mode:"popLayout",children:o.map((d,p)=>{if(n==="truncate"&&p<=1||n==="wrap")return c.jsx(J.RefToTgphRef,{children:c.jsx(Qe,{...d})},d.value)})}),c.jsx(x.AnimatePresence,{children:n==="truncate"&&o.length>2&&c.jsx(S,{as:x.motion.div,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2,type:"spring",bounce:0},h:"full",pr:"1",pl:"8",align:"center","aria-label":`${l} more selected`,style:{position:"absolute",right:0,backgroundImage:"linear-gradient(to left, var(--tgph-surface-1) 0 60%, transparent 90% 100%)"},children:c.jsxs(P.Text,{as:"span",size:"1",style:{whiteSpace:"nowrap"},children:["+",c.jsx(x.AnimatePresence,{mode:"wait",initial:!1,children:s.map(d=>c.jsx(F,{as:x.motion.span,w:"2",display:"inline-block",initial:{opacity:.5},animate:{opacity:1},exit:{opacity:.5},transition:{duration:.1,type:"spring",bounce:0},children:d},d))})," ","more"]})},"truncated text")})]})}return c.jsx(S,{h:e,align:"center",my:"1",children:c.jsx(Q.Text,{color:t.value?"default":"gray",children:((a=t==null?void 0:t.value)==null?void 0:a.label)||((i=t==null?void 0:t.value)==null?void 0:i.value)||t.placeholder})})},Pe=({size:r="1",...t})=>{const e=u.useContext(w),a=u.useCallback(()=>{var i,o,n;return e.value?H(e.value)?((i=e.value)==null?void 0:i.label)||((o=e.value)==null?void 0:o.value)||e.placeholder:((n=e.value)==null?void 0:n.map(l=>l.label).join(", "))||e.placeholder:e.placeholder},[e.value,e.placeholder]);return c.jsx(q.Menu.Anchor,{...t,asChild:!0,onClick:i=>{var o,n;i.preventDefault(),e.onOpenToggle(),(n=(o=e.triggerRef)==null?void 0:o.current)==null||n.focus()},onKeyDown:i=>{if(i.key==="Tab"){i.stopPropagation();return}if(le.includes(i.key)){i.preventDefault();return}if(i.key==="ArrowDown"){e.onOpenToggle();return}},tgphRef:e.triggerRef,children:c.jsx(J.RefToTgphRef,{children:c.jsxs(Q.Root,{id:e.triggerId,bg:"surface-1",variant:"outline",w:"full",h:"full",color:e.errored?"red":"gray",justify:"space-between",role:"combobox","aria-label":a(),"aria-controls":e.contentId,"aria-expanded":e.open,"aria-haspopup":"listbox","data-tgph-combobox-trigger":!0,"data-tgph-comobox-trigger-open":e.open,children:[c.jsx(Me,{size:r}),c.jsx(Q.Icon,{as:x.motion.div,icon:k.Lucide.ChevronDown,animate:{rotate:e.open?"180deg":"0deg"},transition:{duration:.2,type:"spring",bounce:0},"aria-hidden":!0})]})})})},De=({tgphRef:r,style:t,children:e,...a})=>{const i=u.useContext(w),o=u.useRef(!1),n=D.useComposedRefs(r,i.contentRef),l=u.useRef(null),[s,d]=u.useState(0),[p,b]=u.useState(!1),h=u.useCallback(g=>{const y=g.getBoundingClientRect();y&&d(y.height),p||b(!0)},[p]);return u.useEffect(()=>{const g=new ResizeObserver(y=>{for(const v of y){const C=v.target;h(C)}});return l.current&&p&&g.observe(l.current),()=>g.disconnect()},[p,h]),u.useEffect(()=>{p===!0&&i.open===!1&&b(!1)},[i.open,p]),c.jsx(q.Menu.Content,{as:x.motion.div,mt:"1",initial:{opacity:0,scale:.8,height:"auto"},animate:{opacity:1,scale:1,minHeight:s?`${s}px`:"0"},exit:{opacity:0,scale:0},transition:{duration:.2,type:"spring",bounce:0},onInteractOutside:()=>{i.setOpen(!1),o.current=!0},onAnimationComplete:()=>{if(!p&&l){const g=l.current;h(g)}},onCloseAutoFocus:g=>{var y,v;o.current||(v=(y=i.triggerRef)==null?void 0:y.current)==null||v.focus(),o.current=!1,g.preventDefault()},onKeyDown:g=>{var v,C,T,L;const y=(C=(v=i.contentRef)==null?void 0:v.current)==null?void 0:C.querySelectorAll("[data-tgph-combobox-option]");document.activeElement===(y==null?void 0:y[0])&&Ve.includes(g.key)&&((L=(T=i.searchRef)==null?void 0:T.current)==null||L.focus()),g.key==="Escape"&&i.setOpen(!1),g.stopPropagation()},bg:"surface-1",style:{width:"var(--tgph-comobobox-trigger-width)",...t,"--tgph-comobobox-content-transform-origin":"var(--radix-popper-transform-origin)","--tgph-combobox-content-available-width":"var(--radix-popper-available-width)","--tgph-combobox-content-available-height":"calc(var(--radix-popper-available-height) - var(--tgph-spacing-8))","--tgph-comobobox-trigger-width":"var(--radix-popper-anchor-width)","--tgph-combobox-trigger-height":"var(--radix-popper-anchor-height)"},...a,tgphRef:n,"data-tgph-combobox-content":!0,"data-tgph-combobox-content-open":p,role:void 0,"aria-orientation":void 0,children:c.jsx(S,{direction:"column",gap:"1",tgphRef:l,children:e})})},qe=({...r})=>{const t=u.useContext(w);return c.jsx(S,{id:t.contentId,direction:"column",gap:"1",style:{overflowY:"auto",maxHeight:"calc(var(--tgph-combobox-content-available-height) - var(--tgph-spacing-12))"},role:"listbox",...r})},se=({value:r,label:t,selected:e,onSelect:a,...i})=>{const o=u.useContext(w),[n,l]=u.useState(!1),s=o.value??[],d=(A(s),!o.searchQuery||r.toLowerCase().includes(o.searchQuery.toLowerCase())),p=A(s)?s.some(h=>h.value===r):s.value===r,b=h=>{var g,y;if(!(h.key&&!le.includes(h.key))){if(h.stopPropagation(),h.preventDefault(),o.closeOnSelect===!0&&o.setOpen(!1),a)return a(h);if(A(s)){const v=o.onValueChange,C=p?s.filter(T=>T.value!==r):[...s,{value:r,label:t}];v(C)}else if(H(s)){const v=o.onValueChange;v({value:r,label:t})}(y=(g=o.triggerRef)==null?void 0:g.current)==null||y.focus()}};if(d)return c.jsx(q.Menu.Button,{type:"button",onSelect:b,onKeyDown:b,selected:e===null?null:e??p,onFocus:()=>l(!0),onBlur:()=>l(!1),role:"option","aria-selected":p?"true":"false","data-tgph-combobox-option":!0,"data-tgph-combobox-option-focused":n,"data-tgph-combobox-option-value":r,"data-tgph-combobox-option-label":t,...i,children:t||r})},Ne=({label:r="Search",placeholder:t="Search",tgphRef:e,...a})=>{var l;const i=u.useId(),o=u.useContext(w),n=D.useComposedRefs(e,o.searchRef);return u.useEffect(()=>{var p;const s=b=>{var h,g;$e.includes(b.key)&&((g=(h=o.contentRef)==null?void 0:h.current)==null||g.focus({preventScroll:!0})),b.key==="Escape"&&o.setOpen(!1),b.stopPropagation()},d=(p=o.searchRef)==null?void 0:p.current;if(d)return d.addEventListener("keydown",s),()=>{d.removeEventListener("keydown",s)}},[o]),c.jsxs(F,{borderBottom:!0,px:"1",pb:"1",children:[c.jsx(he.Root,{children:c.jsx(P.Text,{as:"label",htmlFor:i,children:r})}),c.jsx(be.Input,{id:i,variant:"ghost",placeholder:t,value:o.searchQuery,onChange:s=>{var d;(d=o==null?void 0:o.setSearchQuery)==null||d.call(o,s.target.value)},LeadingComponent:c.jsx(k.Icon,{icon:k.Lucide.Search,alt:"Search Icon"}),TrailingComponent:o!=null&&o.searchQuery&&((l=o==null?void 0:o.searchQuery)==null?void 0:l.length)>0?c.jsx(Q,{as:x.motion.button,initial:{opacity:0},animate:{opacity:1},transition:{duration:.2,type:"spring",bounce:0},variant:"ghost",color:"gray",icon:{icon:k.Lucide.X,alt:"Clear Search Query"},onClick:()=>{var s;return(s=o.setSearchQuery)==null?void 0:s.call(o,"")}}):null,autoFocus:!0,"data-tgph-combobox-search":!0,"aria-controls":o.contentId,...a,tgphRef:n})]})},ze=({icon:r={icon:k.Lucide.Search,alt:"Search Icon"},message:t="No results found",children:e,...a})=>{const i=u.useContext(w),[o,n]=u.useState(!1);if(u.useEffect(()=>{var s,d;const l=(d=(s=i.contentRef)==null?void 0:s.current)==null?void 0:d.querySelectorAll("[data-tgph-combobox-option]");(l==null?void 0:l.length)===0?n(!0):n(!1)},[i.searchQuery,i.contentRef,e]),o)return c.jsxs(S,{as:x.motion.div,initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.2,type:"spring",bounce:0},gap:"1",align:"center",justify:"center",w:"full",my:"8","data-tgph-combobox-empty":!0,...a,children:[r===null?c.jsx(c.Fragment,{}):c.jsx(k.Icon,{...r}),t===null?c.jsx(c.Fragment,{}):c.jsx(P.Text,{as:"span",children:t})]})},Be=({leadingText:r="Create",values:t,onCreate:e,selected:a=null,...i})=>{const o=u.useContext(w),n=u.useCallback(l=>!t||(t==null?void 0:t.length)===0?!1:t.some(s=>s.value===l),[t]);if(o.searchQuery&&!n(o.searchQuery))return c.jsx(se,{leadingIcon:{icon:k.Lucide.Plus,"aria-hidden":!0},mx:"1",value:o.searchQuery,label:`${r} "${o.searchQuery}"`,selected:a,onSelect:()=>{var l;e&&o.value&&o.searchQuery&&(H(o.value)&&e({value:o.searchQuery}),A(o.value)&&e({value:o.searchQuery}),(l=o.setSearchQuery)==null||l.call(o,""))},...i})},ce={};Object.assign(ce,{Root:Ae,Trigger:Pe,Content:De,Options:qe,Option:se,Search:Ne,Empty:ze,Create:Be});exports.Combobox=ce;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../node_modules/clsx/dist/clsx.mjs","../../../button/dist/esm/index.mjs","../../../layout/dist/esm/index.mjs","../../src/Combobox/Combobox.helpers.ts","../../src/Combobox/Combobox.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { jsx as g, jsxs as V } from \"react/jsx-runtime\";\nimport { Icon as B } from \"@telegraph/icon\";\nimport * as N from \"react\";\nimport i from \"react\";\nimport m from \"clsx\";\nimport { Text as P } from \"@telegraph/typography\";\nfunction S(r, t) {\n typeof r == \"function\" ? r(t) : r != null && (r.current = t);\n}\nfunction z(...r) {\n return (t) => r.forEach((e) => S(e, t));\n}\nfunction M(...r) {\n return N.useCallback(z(...r), r);\n}\nconst y = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], I = (r) => {\n const t = [];\n let e = null;\n for (let o = 0; o < y.length; o++) {\n const n = y[o];\n if (r[n])\n e = r[n], t.push(e);\n else if (e !== null)\n t.push(e);\n else {\n let l = null;\n for (let a = o + 1; a < y.length; a++)\n if (r[y[a]]) {\n l = r[y[a]];\n break;\n }\n if (l !== null) {\n for (let a = 0; a <= o; a++)\n t.push(l);\n e = l;\n }\n }\n }\n return t;\n}, A = (r) => typeof r == \"object\" && (r.sm || r.md || r.lg || r.xl || r[\"2xl\"]), p = ({\n value: r,\n prop: t\n}) => {\n if (!r) return \"\";\n if (t.valueType === \"static\")\n return r.toString();\n const e = t.type === \"color\" ? \"\" : `-${t.type}`;\n return r === !0 ? `var(--tgph${e}-${t.default})` : `var(--tgph${e}-${r})`;\n}, w = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, s = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, D = ({\n cssVariables: r,\n value: t,\n prop: e,\n direction: o = \"all\"\n}) => {\n const n = r[`--tgph-${e.rule}`] || \"\", l = n ? n.split(\" \") : [], a = [\n (l == null ? void 0 : l[0]) || 0,\n (l == null ? void 0 : l[1]) || 0,\n (l == null ? void 0 : l[2]) || 0,\n (l == null ? void 0 : l[3]) || 0\n ];\n return o === \"all\" ? p({ value: t, prop: e }) : (e.ordering === \"clockwise\" ? (o === \"top\" && (a[s.topLeft] = p({\n value: t,\n prop: e\n }), a[s.topRight] = p({\n value: t,\n prop: e\n })), o === \"right\" && (a[s.topRight] = p({\n value: t,\n prop: e\n }), a[s.bottomRight] = p({\n value: t,\n prop: e\n })), o === \"bottom\" && (a[s.bottomRight] = p({\n value: t,\n prop: e\n }), a[s.bottomLeft] = p({\n value: t,\n prop: e\n })), o === \"left\" && (a[s.bottomLeft] = p({\n value: t,\n prop: e\n }), a[s.topLeft] = p({\n value: t,\n prop: e\n })), (o === \"topLeft\" || o === \"topRight\" || o === \"bottomRight\" || o === \"bottomLeft\") && (a[s[o]] = p({\n value: t,\n prop: e\n }))) : (o === \"x\" && (a[w.left] = p({\n value: t,\n prop: e\n }), a[w.right] = p({\n value: t,\n prop: e\n })), o === \"y\" && (a[w.top] = p({\n value: t,\n prop: e\n }), a[w.bottom] = p({\n value: t,\n prop: e\n })), (o === \"top\" || o === \"bottom\" || o === \"left\" || o === \"right\") && (a[w[o]] = p({\n value: t,\n prop: e\n }))), a.join(\" \"));\n}, L = ({\n prop: r,\n value: t,\n cssVariables: e\n}) => r.direction ? D({\n cssVariables: e,\n prop: r,\n value: t,\n direction: r.direction,\n type: r.type\n}) : p({ value: t, prop: r }), C = ({\n props: r,\n ref: t,\n propsMap: e\n}) => {\n if (!t.current) return;\n const o = {};\n Object.entries(r).forEach(([n, l]) => {\n const a = e[n];\n a && (typeof l == \"string\" || typeof l == \"boolean\" ? o[`--tgph-${a.rule}`] = L({\n prop: a,\n key: n,\n value: l,\n cssVariables: o\n }) : A(l) && I(l).forEach((u, d) => {\n u && (o[`--tgph-${a.rule}-${y[d]}`] = L({\n prop: a,\n key: n,\n value: u,\n cssVariables: o\n }));\n })), Object.entries(o).forEach(([u, d]) => {\n t.current && t.current.style.setProperty(u, d);\n });\n });\n}, j = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, H = ({\n as: r,\n className: t,\n tgphRef: e,\n ...o\n}) => {\n const n = r || \"div\", l = i.useRef(null), a = M(e, l), u = i.useMemo(() => {\n const d = { borderColor: !0, ...o };\n return Object.keys(d).reduce(\n (b, h) => (Object.keys(j).some((c) => c === h) ? b.box[h] = d[h] : b.rest[h] = d[h], b),\n { box: {}, rest: {} }\n );\n }, [o]);\n return i.useLayoutEffect(() => {\n C({\n props: u.box,\n ref: l,\n propsMap: j\n });\n }, [u.box]), /* @__PURE__ */ g(\n n,\n {\n className: m(\"tgph-box\", t),\n ref: a,\n ...u.rest\n }\n );\n}, T = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, W = ({\n className: r,\n tgphRef: t,\n ...e\n}) => {\n const o = i.useRef(null), n = M(t, o), l = i.useMemo(\n () => Object.keys(e).reduce(\n (a, u) => (Object.keys(T).some((d) => d === u) ? a.stack[u] = e[u] : a.rest[u] = e[u], a),\n { stack: {}, rest: {} }\n ),\n [e]\n );\n return i.useLayoutEffect(() => {\n C({\n props: l.stack,\n ref: o,\n propsMap: T\n });\n }, [l.stack, n]), /* @__PURE__ */ g(\n H,\n {\n className: m(\"tgph-stack\", r),\n tgphRef: n,\n ...l.rest\n }\n );\n}, X = {\n solid: {\n gray: \"bg-gray-9 hover:bg-gray-10 focus:bg-gray-11 data-[tgph-button-active=true]:!bg-gray-11\",\n red: \"bg-red-9 hover:bg-red-10 focus:bg-red-11 data-[tgph-button-active=true]:!bg-red-11\",\n accent: \"bg-accent-9 hover:bg-accent-10 focus:bg-accent-11 data-[tgph-button-active=true]:!bg-accent-11\",\n green: \"bg-green-9 hover:bg-green-10 focus:bg-green-11 data-[tgph-button-active=true]:!bg-green-11\",\n blue: \"bg-blue-9 hover:bg-blue-10 focus:bg-blue-11 data-[tgph-button-active=true]:!bg-blue-11\",\n yellow: \"bg-yellow-9 hover:bg-yellow-10 focus:bg-yellow-11 data-[tgph-button-active=true]:!bg-yellow-11\",\n purple: \"bg-purple-9 hover:bg-purple-10 focus:bg-purple-11 data-[tgph-button-active=true]:!bg-purple-11\",\n disabled: \"bg-gray-2\"\n },\n soft: {\n gray: \"bg-gray-3 hover:bg-gray-4 focus:bg-gray-5 data-[tgph-button-active=true]:!bg-gray-5\",\n red: \"bg-red-3 hover:bg-red-4 focus:bg-red-5 data-[tgph-button-active=true]:!bg-red-5\",\n accent: \"bg-accent-3 hover:bg-accent-4 focus:bg-accent-6 data-[tgph-button-active=true]:!bg-accent-6\",\n green: \"bg-green-3 hover:bg-green-4 focus:bg-green-5 data-[tgph-button-active=true]:!bg-green-5\",\n blue: \"bg-blue-3 hover:bg-blue-4 focus:bg-blue-5 data-[tgph-button-active=true]:!bg-blue-5\",\n yellow: \"bg-yellow-3 hover:bg-yellow-4 focus:bg-yellow-5 data-[tgph-button-active=true]:!bg-yellow-5\",\n purple: \"bg-purple-3 hover:bg-purple-4 focus:bg-purple-5 data-[tgph-button-active=true]:!bg-purple-5\",\n disabled: \"bg-gray-2\"\n },\n outline: {\n gray: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-gray-6 hover:shadow-gray-7 focus:shadow-gray-8 data-[tgph-button-active=true]:!shadow-gray-8\",\n red: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-red-6 hover:shadow-red-7 focus:shadow-red-8 data-[tgph-button-active=true]:!shadow-red-8\",\n accent: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-accent-6 hover:shadow-accent-7 focus:shadow-accent-8 data-[tgph-button-active=true]:!shadow-accent-8\",\n green: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-green-6 hover:shadow-green-7 focus:shadow-green-8 data-[tgph-button-active=true]:!shadow-green-8\",\n blue: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-blue-6 hover:shadow-blue-7 focus:shadow-blue-8 data-[tgph-button-active=true]:!shadow-blue-8\",\n yellow: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-yellow-6 hover:shadow-yellow-7 focus:shadow-yellow-8 data-[tgph-button-active=true]:!shadow-yellow-8\",\n purple: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-purple-6 hover:shadow-purple-7 focus:shadow-purple-8 data-[tgph-button-active=true]:!shadow-purple-8\",\n disabled: \"bg-gray-2\"\n },\n ghost: {\n gray: \"bg-transparent hover:bg-gray-3 focus:bg-gray-4 data-[tgph-button-active=true]:!bg-gray-4 [&data-[tgph-button-active=true]>span]:!text-gray-12\",\n red: \"bg-transparent hover:bg-red-3 focus:bg-red-4 data-[tgph-button-active=true]:!bg-red-4\",\n accent: \"bg-transparent hover:bg-accent-3 focus:bg-accent-4 data-[tgph-button-active=true]:!bg-accent-4\",\n green: \"bg-transparent hover:bg-green-3 focus:bg-green-4 data-[tgph-button-active=true]:!bg-green-4\",\n blue: \"bg-transparent hover:bg-blue-3 focus:bg-blue-4 data-[tgph-button-active=true]:!bg-blue-4\",\n yellow: \"bg-transparent hover:bg-yellow-3 focus:bg-yellow-4 data-[tgph-button-active=true]:!bg-yellow-4\",\n purple: \"bg-transparent hover:bg-purple-3 focus:bg-purple-4 data-[tgph-button-active=true]:!bg-purple-4\",\n disabled: \"bg-transparent\"\n }\n}, v = {\n default: {\n 1: {\n w: \"auto\",\n h: \"6\",\n gap: \"1\",\n px: \"2\"\n },\n 2: {\n w: \"auto\",\n h: \"8\",\n gap: \"2\",\n px: \"3\"\n },\n 3: {\n w: \"auto\",\n h: \"10\",\n gap: \"3\",\n px: \"4\"\n }\n },\n \"icon-only\": {\n 1: {\n w: \"6\",\n h: \"6\",\n gap: \"0\",\n px: \"0\"\n },\n 2: {\n w: \"8\",\n h: \"8\",\n gap: \"0\",\n px: \"0\"\n },\n 3: {\n w: \"10\",\n h: \"10\",\n gap: \"0\",\n px: \"0\"\n }\n }\n}, Y = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, q = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n gray: \"gray\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, F = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, G = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n accent: \"accent\",\n gray: \"default\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, J = {\n default: \"secondary\",\n \"icon-only\": \"primary\"\n}, k = i.createContext({\n variant: \"solid\",\n size: \"2\",\n color: \"gray\",\n state: \"default\",\n layout: \"default\",\n active: !1\n}), $ = ({\n as: r,\n variant: t = \"solid\",\n size: e = \"2\",\n color: o = \"gray\",\n state: n = \"default\",\n active: l = !1,\n disabled: a,\n className: u,\n ...d\n}) => {\n const b = a ? \"disabled\" : n, h = b === \"disabled\" ? \"disabled\" : o, c = i.useMemo(() => {\n var R;\n const f = i.Children.toArray(d == null ? void 0 : d.children);\n if ((f == null ? void 0 : f.length) === 1 && i.isValidElement(f[0])) {\n const x = f[0];\n if ((R = x == null ? void 0 : x.props) != null && R.icon)\n return \"icon-only\";\n }\n return \"default\";\n }, [d == null ? void 0 : d.children]);\n return /* @__PURE__ */ g(\n k.Provider,\n {\n value: { variant: t, size: e, color: h, state: b, layout: c, active: l },\n children: /* @__PURE__ */ g(\n W,\n {\n as: r || \"button\",\n className: m(\n \"appearance-none border-0 cursor-pointer bg-none box-border [font-family:inherit]\",\n \"transition-colors no-underline\",\n b === \"disabled\" && \"cursor-not-allowed\",\n X[t][h],\n v[c][e],\n u\n ),\n h: v[c][e].h,\n w: v[c][e].w,\n gap: v[c][e].gap,\n px: v[c][e].px,\n display: \"inline-flex\",\n align: \"center\",\n justify: \"center\",\n rounded: \"3\",\n \"data-tgph-button\": !0,\n \"data-tgph-button-layout\": c,\n \"data-tgph-button-active\": l,\n disabled: a,\n ...d\n }\n )\n }\n );\n}, _ = ({\n size: r,\n color: t,\n variant: e,\n icon: o,\n alt: n,\n \"aria-hidden\": l,\n ...a\n}) => {\n const u = i.useContext(k), d = {\n size: r ?? F[u.size],\n color: t ?? G[u.variant][u.color],\n variant: e ?? J[u.layout]\n };\n return /* @__PURE__ */ g(\n B,\n {\n icon: o,\n \"data-button-icon\": !0,\n ...n ? { alt: n } : { \"aria-hidden\": l },\n ...d,\n ...a\n }\n );\n}, E = ({\n as: r,\n color: t,\n size: e,\n weight: o = \"medium\",\n className: n,\n ...l\n}) => {\n const a = i.useContext(k);\n return /* @__PURE__ */ g(\n P,\n {\n as: r || \"span\",\n color: t ?? q[a.variant][a.color],\n size: e ?? Y[a.size],\n weight: o,\n className: m(\"no-underline whitespace-nowrap\", n),\n internal_optionalAs: !0,\n \"data-button-text\": !0,\n ...l\n }\n );\n}, O = ({\n leadingIcon: r,\n trailingIcon: t,\n icon: e,\n children: o,\n ...n\n}) => {\n const l = r || e;\n return /* @__PURE__ */ V($, { ...n, children: [\n l && /* @__PURE__ */ g(_, { ...l }),\n o && /* @__PURE__ */ g(E, { children: o }),\n t && /* @__PURE__ */ g(_, { ...t })\n ] });\n};\nObject.assign(O, {\n Root: $,\n Icon: _,\n Text: E\n});\nconst te = O;\nexport {\n te as Button\n};\n//# sourceMappingURL=index.mjs.map\n","import { jsx as x } from \"react/jsx-runtime\";\nimport { useComposedRefs as R } from \"@telegraph/compose-refs\";\nimport w from \"clsx\";\nimport u from \"react\";\nconst a = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], j = (i) => {\n const e = [];\n let t = null;\n for (let r = 0; r < a.length; r++) {\n const n = a[r];\n if (i[n])\n t = i[n], e.push(t);\n else if (t !== null)\n e.push(t);\n else {\n let s = null;\n for (let o = r + 1; o < a.length; o++)\n if (i[a[o]]) {\n s = i[a[o]];\n break;\n }\n if (s !== null) {\n for (let o = 0; o <= r; o++)\n e.push(s);\n t = s;\n }\n }\n }\n return e;\n}, k = (i) => typeof i == \"object\" && (i.sm || i.md || i.lg || i.xl || i[\"2xl\"]), d = ({\n value: i,\n prop: e\n}) => {\n if (!i) return \"\";\n if (e.valueType === \"static\")\n return i.toString();\n const t = e.type === \"color\" ? \"\" : `-${e.type}`;\n return i === !0 ? `var(--tgph${t}-${e.default})` : `var(--tgph${t}-${i})`;\n}, b = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, p = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, O = ({\n cssVariables: i,\n value: e,\n prop: t,\n direction: r = \"all\"\n}) => {\n const n = i[`--tgph-${t.rule}`] || \"\", s = n ? n.split(\" \") : [], o = [\n (s == null ? void 0 : s[0]) || 0,\n (s == null ? void 0 : s[1]) || 0,\n (s == null ? void 0 : s[2]) || 0,\n (s == null ? void 0 : s[3]) || 0\n ];\n return r === \"all\" ? d({ value: e, prop: t }) : (t.ordering === \"clockwise\" ? (r === \"top\" && (o[p.topLeft] = d({\n value: e,\n prop: t\n }), o[p.topRight] = d({\n value: e,\n prop: t\n })), r === \"right\" && (o[p.topRight] = d({\n value: e,\n prop: t\n }), o[p.bottomRight] = d({\n value: e,\n prop: t\n })), r === \"bottom\" && (o[p.bottomRight] = d({\n value: e,\n prop: t\n }), o[p.bottomLeft] = d({\n value: e,\n prop: t\n })), r === \"left\" && (o[p.bottomLeft] = d({\n value: e,\n prop: t\n }), o[p.topLeft] = d({\n value: e,\n prop: t\n })), (r === \"topLeft\" || r === \"topRight\" || r === \"bottomRight\" || r === \"bottomLeft\") && (o[p[r]] = d({\n value: e,\n prop: t\n }))) : (r === \"x\" && (o[b.left] = d({\n value: e,\n prop: t\n }), o[b.right] = d({\n value: e,\n prop: t\n })), r === \"y\" && (o[b.top] = d({\n value: e,\n prop: t\n }), o[b.bottom] = d({\n value: e,\n prop: t\n })), (r === \"top\" || r === \"bottom\" || r === \"left\" || r === \"right\") && (o[b[r]] = d({\n value: e,\n prop: t\n }))), o.join(\" \"));\n}, y = ({\n prop: i,\n value: e,\n cssVariables: t\n}) => i.direction ? O({\n cssVariables: t,\n prop: i,\n value: e,\n direction: i.direction,\n type: i.type\n}) : d({ value: e, prop: i }), L = ({\n props: i,\n ref: e,\n propsMap: t\n}) => {\n if (!e.current) return;\n const r = {};\n Object.entries(i).forEach(([n, s]) => {\n const o = t[n];\n o && (typeof s == \"string\" || typeof s == \"boolean\" ? r[`--tgph-${o.rule}`] = y({\n prop: o,\n key: n,\n value: s,\n cssVariables: r\n }) : k(s) && j(s).forEach((c, f) => {\n c && (r[`--tgph-${o.rule}-${a[f]}`] = y({\n prop: o,\n key: n,\n value: c,\n cssVariables: r\n }));\n })), Object.entries(r).forEach(([l, c]) => {\n e.current && e.current.style.setProperty(l, c);\n });\n });\n}, m = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, C = ({\n as: i,\n className: e,\n tgphRef: t,\n ...r\n}) => {\n const n = i || \"div\", s = u.useRef(null), o = R(t, s), l = u.useMemo(() => {\n const c = { borderColor: !0, ...r };\n return Object.keys(c).reduce(\n (f, g) => (Object.keys(m).some((T) => T === g) ? f.box[g] = c[g] : f.rest[g] = c[g], f),\n { box: {}, rest: {} }\n );\n }, [r]);\n return u.useLayoutEffect(() => {\n L({\n props: l.box,\n ref: s,\n propsMap: m\n });\n }, [l.box]), /* @__PURE__ */ x(\n n,\n {\n className: w(\"tgph-box\", e),\n ref: o,\n ...l.rest\n }\n );\n}, h = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, E = ({\n className: i,\n tgphRef: e,\n ...t\n}) => {\n const r = u.useRef(null), n = R(e, r), s = u.useMemo(\n () => Object.keys(t).reduce(\n (o, l) => (Object.keys(h).some((c) => c === l) ? o.stack[l] = t[l] : o.rest[l] = t[l], o),\n { stack: {}, rest: {} }\n ),\n [t]\n );\n return u.useLayoutEffect(() => {\n L({\n props: s.stack,\n ref: r,\n propsMap: h\n });\n }, [s.stack, n]), /* @__PURE__ */ x(\n C,\n {\n className: w(\"tgph-stack\", i),\n tgphRef: n,\n ...s.rest\n }\n );\n};\nexport {\n C as Box,\n E as Stack\n};\n//# sourceMappingURL=index.mjs.map\n","export type Option = { value: string; label?: string };\nexport const isMultiSelect = (\n value: Option | Array<Option>,\n): value is Array<Option> => {\n return Array.isArray(value);\n};\n\nexport const isSingleSelect = (\n value: Option | Array<Option>,\n): value is Option => {\n return typeof value === \"object\" && !Array.isArray(value);\n};\n","import { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { Button as TelegraphButton } from \"@telegraph/button\";\nimport { useComposedRefs } from \"@telegraph/compose-refs\";\nimport {\n RefToTgphRef,\n type TgphComponentProps,\n type TgphElement,\n} from \"@telegraph/helpers\";\nimport { Icon, Lucide } from \"@telegraph/icon\";\nimport { Input as TelegraphInput } from \"@telegraph/input\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { Menu as TelegraphMenu } from \"@telegraph/menu\";\nimport { Tag } from \"@telegraph/tag\";\nimport { Text } from \"@telegraph/typography\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { type Option, isMultiSelect, isSingleSelect } from \"./Combobox.helpers\";\n\nconst FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nconst LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nconst SELECT_KEYS = [\"Enter\", \" \"];\n\ntype RootProps = (\n | {\n value?: Array<Option>;\n onValueChange?: (value: Array<Option>) => void;\n layout?: \"truncate\" | \"wrap\";\n }\n | {\n value?: Option;\n onValueChange?: (value: Option) => void;\n layout?: never;\n }\n) & {\n open?: boolean;\n defaultOpen?: boolean;\n errored?: boolean;\n placeholder?: string;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n closeOnSelect?: boolean;\n children?: React.ReactNode;\n};\n\nconst ComboboxContext = React.createContext<\n Omit<RootProps, \"children\"> & {\n contentId: string;\n triggerId: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n onOpenToggle: () => void;\n searchQuery?: string;\n setSearchQuery?: (query: string) => void;\n triggerRef?: React.RefObject<HTMLDivElement>;\n searchRef?: React.RefObject<HTMLInputElement>;\n contentRef?: React.RefObject<HTMLDivElement>;\n }\n>({\n onValueChange: () => {},\n contentId: \"\",\n triggerId: \"\",\n open: false,\n setOpen: () => {},\n onOpenToggle: () => {},\n});\n\nconst Root = ({\n modal = true,\n closeOnSelect = true,\n open: openProp,\n onOpenChange: onOpenChangeProp,\n defaultOpen: defaultOpenProp,\n value,\n onValueChange,\n errored,\n placeholder,\n layout,\n ...props\n}: RootProps) => {\n const contentId = React.useId();\n const triggerId = React.useId();\n const triggerRef = React.useRef(null);\n const searchRef = React.useRef(null);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const [searchQuery, setSearchQuery] = React.useState<string>(\"\");\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: onOpenChangeProp,\n });\n\n const onOpenToggle = React.useCallback(() => {\n setOpen((prevOpen) => !prevOpen);\n }, [setOpen]);\n\n React.useEffect(() => {\n // If the combobox is closed clear\n // the search query\n if (!open) {\n setSearchQuery(\"\");\n }\n }, [open]);\n\n return (\n <ComboboxContext.Provider\n value={{\n contentId,\n triggerId,\n value,\n onValueChange,\n placeholder,\n open,\n setOpen,\n onOpenToggle,\n closeOnSelect,\n searchQuery,\n setSearchQuery,\n triggerRef,\n searchRef,\n contentRef,\n errored,\n layout,\n }}\n >\n <TelegraphMenu.Root\n open={open}\n onOpenChange={setOpen}\n modal={modal}\n {...props}\n />\n </ComboboxContext.Provider>\n );\n};\n\ntype TriggerTagProps = {\n value: string;\n label?: string;\n};\n\nconst TriggerTag = ({ label, value, ...props }: TriggerTagProps) => {\n const context = React.useContext(ComboboxContext);\n\n return (\n <Tag.Root\n size=\"1\"\n as={motion.span}\n initial={{ opacity: 0, transform: \"scale(0.8)\" }}\n animate={{ opacity: 1, transform: \"scale(1)\" }}\n exit={{ opacity: 0, transform: \"scale(0.5)\" }}\n layout=\"position\"\n transition={{\n duration: 0.2,\n type: \"spring\",\n bounce: 0,\n layout: {\n duration: 0.05,\n type: \"spring\",\n bounce: 0,\n },\n }}\n {...props}\n >\n <Tag.Text>{label || value}</Tag.Text>\n <Tag.Button\n icon={{ icon: Lucide.X, alt: `Remove ${value}` }}\n onClick={(event: React.MouseEvent) => {\n const onValueChange = context.onValueChange as (\n v: Array<Option>,\n ) => void;\n const contextValue = context.value as Array<Option>;\n const newValue = contextValue.filter((v) => v.value !== value);\n onValueChange(newValue);\n // Stop click event from bubbling up\n event.stopPropagation();\n // Stop the button \"submit\" action from triggering\n event.preventDefault();\n }}\n />\n </Tag.Root>\n );\n};\n\ntype TriggerValueProps<T extends TgphElement> = {\n size?: TgphComponentProps<typeof TelegraphButton.Root<T>>[\"size\"];\n};\n\nconst TriggerValue = <T extends TgphElement>({\n size = \"1\",\n}: TriggerValueProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const height = size === \"1\" ? \"6\" : size === \"2\" ? \"8\" : \"10\";\n\n if (context.value && isMultiSelect(context.value)) {\n const contextValue = context.value as Array<Option>;\n const layout = context.layout || \"truncate\";\n const truncatedLength = contextValue.length - 2;\n const truncatedLengthStringArray = truncatedLength.toString().split(\"\");\n\n if (contextValue.length === 0) {\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color=\"gray\">\n {context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n }\n\n return (\n <Stack\n gap=\"1\"\n w=\"full\"\n my=\"1\"\n wrap={layout === \"wrap\" ? \"wrap\" : \"nowrap\"}\n align=\"center\"\n style={{\n position: \"relative\",\n flexGrow: 1,\n }}\n >\n <AnimatePresence initial={false} mode=\"popLayout\">\n {contextValue.map((v, i) => {\n if ((layout === \"truncate\" && i <= 1) || layout === \"wrap\") {\n return (\n <RefToTgphRef key={v.value}>\n <TriggerTag {...v} />\n </RefToTgphRef>\n );\n }\n })}\n </AnimatePresence>\n <AnimatePresence>\n {layout === \"truncate\" && contextValue.length > 2 && (\n <Stack\n as={motion.div}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n h=\"full\"\n pr=\"1\"\n pl=\"8\"\n align=\"center\"\n aria-label={`${truncatedLength} more selected`}\n style={{\n position: \"absolute\",\n right: 0,\n backgroundImage:\n \"linear-gradient(to left, var(--tgph-surface-1) 0 60%, transparent 90% 100%)\",\n }}\n key=\"truncated text\"\n >\n <Text as=\"span\" size=\"1\" style={{ whiteSpace: \"nowrap\" }}>\n +\n <AnimatePresence mode=\"wait\" initial={false}>\n {truncatedLengthStringArray.map((n) => (\n <Box\n as={motion.span}\n w=\"2\"\n display=\"inline-block\"\n initial={{\n opacity: 0.5,\n }}\n animate={{\n opacity: 1,\n }}\n exit={{\n opacity: 0.5,\n }}\n transition={{ duration: 0.1, type: \"spring\", bounce: 0 }}\n key={n}\n >\n {n}\n </Box>\n ))}\n </AnimatePresence>{\" \"}\n more\n </Text>\n </Stack>\n )}\n </AnimatePresence>\n </Stack>\n );\n }\n\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color={!context.value ? \"gray\" : \"default\"}>\n {context?.value?.label || context?.value?.value || context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n};\n\ntype TriggerProps = React.ComponentProps<typeof TelegraphMenu.Anchor> & {\n placeholder?: string;\n size?: TgphComponentProps<typeof TelegraphButton.Root>[\"size\"];\n};\n\nconst Trigger = ({ size = \"1\", ...props }: TriggerProps) => {\n const context = React.useContext(ComboboxContext);\n\n const getAriaLabelString = React.useCallback(() => {\n if (!context.value) return context.placeholder;\n if (isSingleSelect(context.value)) {\n return (\n context.value?.label || context.value?.value || context.placeholder\n );\n } else {\n return (\n context.value?.map((v) => v.label).join(\", \") || context.placeholder\n );\n }\n }, [context.value, context.placeholder]);\n\n return (\n <TelegraphMenu.Anchor\n {...props}\n asChild\n onClick={(event: React.MouseEvent) => {\n event.preventDefault();\n context.onOpenToggle();\n context.triggerRef?.current?.focus();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // Lets the user tab in and out of the combobox as usual\n if (event.key === \"Tab\") {\n event.stopPropagation();\n return;\n }\n if (SELECT_KEYS.includes(event.key)) {\n event.preventDefault();\n return;\n }\n\n if (event.key === \"ArrowDown\") {\n context.onOpenToggle();\n return;\n }\n }}\n tgphRef={context.triggerRef}\n >\n <RefToTgphRef>\n <TelegraphButton.Root\n id={context.triggerId}\n bg=\"surface-1\"\n variant=\"outline\"\n w=\"full\"\n h=\"full\"\n color={context.errored ? \"red\" : \"gray\"}\n justify=\"space-between\"\n // Accessibility attributes\n role=\"combobox\"\n aria-label={getAriaLabelString()}\n aria-controls={context.contentId}\n aria-expanded={context.open}\n aria-haspopup=\"listbox\"\n // Custom attributes\n data-tgph-combobox-trigger\n data-tgph-comobox-trigger-open={context.open}\n >\n <TriggerValue size={size} />\n <TelegraphButton.Icon\n as={motion.div}\n icon={Lucide.ChevronDown}\n animate={{ rotate: context.open ? \"180deg\" : \"0deg\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n aria-hidden\n />\n </TelegraphButton.Root>\n </RefToTgphRef>\n </TelegraphMenu.Anchor>\n );\n};\n\ntype ContentProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Content<T>\n>;\n\nconst Content = <T extends TgphElement>({\n tgphRef,\n style,\n children,\n ...props\n}: ContentProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const hasInteractedOutside = React.useRef(false);\n const composedRef = useComposedRefs<unknown>(tgphRef, context.contentRef);\n\n const internalContentRef = React.useRef(null);\n\n const [height, setHeight] = React.useState(0);\n const [initialAnimationComplete, setInitialAnimationComplete] =\n React.useState(false);\n\n const setHeightFromContent = React.useCallback(\n (element: Element) => {\n // Set the initial height of the content after the animation completes\n const rect = element.getBoundingClientRect();\n if (rect) {\n setHeight(rect.height);\n }\n\n if (!initialAnimationComplete) {\n setInitialAnimationComplete(true);\n }\n },\n [initialAnimationComplete],\n );\n\n React.useEffect(() => {\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const element = entry.target;\n setHeightFromContent(element);\n }\n });\n // Attatch the observer once the initial animation completes\n // and the content ref is available\n if (internalContentRef.current && initialAnimationComplete) {\n observer.observe(internalContentRef.current);\n }\n\n return () => observer.disconnect();\n }, [initialAnimationComplete, setHeightFromContent]);\n\n // Reset the animation complete state when the combobox is closed\n React.useEffect(() => {\n if (initialAnimationComplete === true && context.open === false) {\n setInitialAnimationComplete(false);\n }\n }, [context.open, initialAnimationComplete]);\n\n return (\n <TelegraphMenu.Content\n as={motion.div}\n mt=\"1\"\n initial={{\n opacity: 0,\n scale: 0.8,\n height: \"auto\",\n }}\n animate={{\n opacity: 1,\n scale: 1,\n // Set height based on the internalContentRef so that\n // we get smooth animations when the content changes\n minHeight: height ? `${height}px` : \"0\",\n }}\n exit={{ opacity: 0, scale: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n onInteractOutside={() => {\n context.setOpen(false);\n hasInteractedOutside.current = true;\n }}\n onAnimationComplete={() => {\n // Set height when the initial animation for\n // displaying the content completes\n if (!initialAnimationComplete && internalContentRef) {\n const element = internalContentRef.current as unknown as Element;\n setHeightFromContent(element);\n }\n }}\n onCloseAutoFocus={(event: Event) => {\n if (!hasInteractedOutside.current) context.triggerRef?.current?.focus();\n hasInteractedOutside.current = false;\n\n event.preventDefault();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // If the first option is focused and the user presses the up\n // arrow key, focus the search input\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (\n document.activeElement === options?.[0] &&\n LAST_KEYS.includes(event.key)\n ) {\n context.searchRef?.current?.focus();\n }\n\n // Close the combobox if the user presses the escape key\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n }}\n bg=\"surface-1\"\n style={{\n width: \"var(--tgph-comobobox-trigger-width)\",\n ...style,\n ...{\n \"--tgph-comobobox-content-transform-origin\":\n \"var(--radix-popper-transform-origin)\",\n \"--tgph-combobox-content-available-width\":\n \"var(--radix-popper-available-width)\",\n \"--tgph-combobox-content-available-height\":\n \"calc(var(--radix-popper-available-height) - var(--tgph-spacing-8))\",\n \"--tgph-comobobox-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--tgph-combobox-trigger-height\": \"var(--radix-popper-anchor-height)\",\n },\n }}\n {...props}\n tgphRef={composedRef}\n data-tgph-combobox-content\n data-tgph-combobox-content-open={initialAnimationComplete}\n // Cancel out accessibility attirbutes related to aria menu\n role={undefined}\n aria-orientation={undefined}\n >\n <Stack direction=\"column\" gap=\"1\" tgphRef={internalContentRef}>\n {children}\n </Stack>\n </TelegraphMenu.Content>\n );\n};\n\ntype OptionsProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>>;\n\nconst Options = <T extends TgphElement>({ ...props }: OptionsProps<T>) => {\n const context = React.useContext(ComboboxContext);\n return (\n <Stack\n id={context.contentId}\n direction=\"column\"\n gap=\"1\"\n style={{\n overflowY: \"auto\",\n // Available Height - Padding from edge of screen\n maxHeight:\n \"calc(var(--tgph-combobox-content-available-height) - var(--tgph-spacing-12))\",\n }}\n // Accessibility attributes\n role=\"listbox\"\n {...props}\n />\n );\n};\n\ntype OptionProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n value: string;\n label?: string;\n selected?: boolean | null;\n};\n\nconst Option = <T extends TgphElement>({\n value,\n label,\n selected,\n onSelect,\n ...props\n}: OptionProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isFocused, setIsFocused] = React.useState(false);\n const contextValue = context.value ?? [];\n\n const isVisible = isMultiSelect(contextValue)\n ? !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase())\n : !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase());\n\n const isSelected = isMultiSelect(contextValue)\n ? contextValue.some((v) => v.value === value)\n : contextValue.value === value;\n\n const handleSelection = (event: React.KeyboardEvent) => {\n // Don't do anything if the key isn't a selection key\n if (event.key && !SELECT_KEYS.includes(event.key)) return;\n\n // Don't bubble up the event\n event.stopPropagation();\n event.preventDefault();\n\n if (context.closeOnSelect === true) {\n context.setOpen(false);\n }\n\n if (onSelect) {\n // Need to convert to non keyboard type event\n // since onSelect is expecting a mouse event\n // and we've handled the keyboard event already\n const onSelectEvent = event as unknown as Event;\n return onSelect(onSelectEvent);\n }\n\n if (isMultiSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Array<Option>) => void;\n\n const newValue = isSelected\n ? contextValue.filter((v) => v.value !== value)\n : [...contextValue, { value, label }];\n\n onValueChange(newValue);\n } else if (isSingleSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Option) => void;\n onValueChange({ value, label });\n }\n\n context.triggerRef?.current?.focus();\n };\n\n if (isVisible) {\n return (\n <TelegraphMenu.Button\n onSelect={handleSelection}\n onKeyDown={handleSelection}\n // Force null if selected equals null so we\n // can override the icon of the button\n selected={selected === null ? null : selected ?? isSelected}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n // Accessibility attributes\n role=\"option\"\n aria-selected={isSelected ? \"true\" : \"false\"}\n // Custom attributes\n data-tgph-combobox-option\n data-tgph-combobox-option-focused={isFocused}\n data-tgph-combobox-option-value={value}\n data-tgph-combobox-option-label={label}\n {...props}\n >\n {label || value}\n </TelegraphMenu.Button>\n );\n }\n};\n\ntype SearchProps = TgphComponentProps<typeof TelegraphInput> & {\n label?: string;\n};\n\nconst Search = ({\n label = \"Search\",\n placeholder = \"Search\",\n tgphRef,\n ...props\n}: SearchProps) => {\n const id = React.useId();\n const context = React.useContext(ComboboxContext);\n const composedRef = useComposedRefs(tgphRef, context.searchRef);\n\n React.useEffect(() => {\n const handleSearchKeyDown = (event: KeyboardEvent) => {\n if (FIRST_KEYS.includes(event.key)) {\n context.contentRef?.current?.focus({ preventScroll: true });\n }\n\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n };\n\n const searchInput = context.searchRef?.current;\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleSearchKeyDown);\n return () => {\n searchInput.removeEventListener(\"keydown\", handleSearchKeyDown);\n };\n }\n }, [context]);\n\n return (\n <Box borderBottom px=\"1\" pb=\"1\">\n <VisuallyHidden.Root>\n <Text as=\"label\" htmlFor={id}>\n {label}\n </Text>\n </VisuallyHidden.Root>\n <TelegraphInput\n id={id}\n variant=\"ghost\"\n placeholder={placeholder}\n value={context.searchQuery}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n context?.setSearchQuery?.(event.target.value);\n }}\n LeadingComponent={<Icon icon={Lucide.Search} alt=\"Search Icon\" />}\n TrailingComponent={\n context?.searchQuery && context?.searchQuery?.length > 0 ? (\n <TelegraphButton\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n variant=\"ghost\"\n color=\"gray\"\n icon={{ icon: Lucide.X, alt: \"Clear Search Query\" }}\n onClick={() => context.setSearchQuery?.(\"\")}\n />\n ) : null\n }\n autoFocus\n data-tgph-combobox-search\n aria-controls={context.contentId}\n {...props}\n tgphRef={composedRef}\n />\n </Box>\n );\n};\n\ntype EmptyProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>> & {\n icon?: TgphComponentProps<typeof Icon> | null;\n message?: string | null;\n};\n\nconst Empty = <T extends TgphElement>({\n icon = { icon: Lucide.Search, alt: \"Search Icon\" },\n message = \"No results found\",\n children,\n ...props\n}: EmptyProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isVisible, setIsVisible] = React.useState(false);\n\n React.useEffect(() => {\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (options?.length === 0) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n }, [context.searchQuery, context.contentRef, children]);\n\n if (isVisible) {\n return (\n <Stack\n as={motion.div}\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n gap=\"1\"\n align=\"center\"\n justify=\"center\"\n w=\"full\"\n my=\"8\"\n data-tgph-combobox-empty\n {...props}\n >\n {icon === null ? <></> : <Icon {...icon} />}\n {message === null ? <></> : <Text as=\"span\">{message}</Text>}\n </Stack>\n );\n }\n};\n\ntype CreateProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n leadingText?: string;\n values?: Array<Option>;\n onCreate?: (value: Option) => void;\n};\n\nconst Create = <T extends TgphElement>({\n leadingText = \"Create\",\n values,\n onCreate,\n selected = null,\n ...props\n}: CreateProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const variableAlreadyExists = React.useCallback(\n (searchQuery: string | undefined) => {\n if (!values || values?.length === 0) return false;\n return values.some((v) => v.value === searchQuery);\n },\n [values],\n );\n\n if (context.searchQuery && !variableAlreadyExists(context.searchQuery)) {\n return (\n <Option\n leadingIcon={{ icon: Lucide.Plus, \"aria-hidden\": true }}\n mx=\"1\"\n value={context.searchQuery}\n label={`${leadingText} \"${context.searchQuery}\"`}\n selected={selected}\n onSelect={() => {\n if (onCreate && context.value && context.searchQuery) {\n if (isSingleSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n if (isMultiSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n context.setSearchQuery?.(\"\");\n }\n }}\n {...props}\n />\n );\n }\n};\n\nconst Combobox = {} as {\n Root: typeof Root;\n Trigger: typeof Trigger;\n Content: typeof Content;\n Options: typeof Options;\n Option: typeof Option;\n Search: typeof Search;\n Empty: typeof Empty;\n Create: typeof Create;\n};\n\nObject.assign(Combobox, {\n Root,\n Trigger,\n Content,\n Options,\n Option,\n Search,\n Empty,\n Create,\n});\n\nexport { Combobox };\n"],"names":["r","e","f","n","o","clsx","S","z","M","N","y","I","l","a","A","p","w","s","D","L","C","u","d","j","H","i","b","h","c","g","m","T","W","X","v","Y","q","F","G","J","k","$","R","x","_","B","E","P","O","V","te","t","isMultiSelect","value","isSingleSelect","FIRST_KEYS","LAST_KEYS","SELECT_KEYS","ComboboxContext","React","Root","modal","closeOnSelect","openProp","onOpenChangeProp","defaultOpenProp","onValueChange","errored","placeholder","layout","props","contentId","triggerId","triggerRef","searchRef","contentRef","searchQuery","setSearchQuery","open","setOpen","useControllableState","onOpenToggle","prevOpen","jsx","TelegraphMenu","TriggerTag","label","context","jsxs","Tag","motion","Lucide","event","newValue","TriggerValue","size","height","contextValue","truncatedLength","truncatedLengthStringArray","Stack","TelegraphButton","AnimatePresence","RefToTgphRef","Text","Box","_a","_b","Trigger","getAriaLabelString","_c","Content","tgphRef","style","children","hasInteractedOutside","composedRef","useComposedRefs","internalContentRef","setHeight","initialAnimationComplete","setInitialAnimationComplete","setHeightFromContent","element","rect","observer","entries","entry","options","_d","Options","Option","selected","onSelect","isFocused","setIsFocused","isVisible","isSelected","handleSelection","Search","id","handleSearchKeyDown","searchInput","VisuallyHidden","TelegraphInput","Icon","Empty","icon","message","setIsVisible","Fragment","Create","leadingText","values","onCreate","variableAlreadyExists","Combobox"],"mappings":"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ACN,UAAW,OACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,mBACN,KAAM,OACP,EACD,QAAS,CACP,KAAM,gBACN,KAAM,UACN,UAAW,KACZ,EACD,eAAgB,CACd,KAAM,gBACN,KAAM,UACN,UAAW,UACX,SAAU,WACX,EACD,kBAAmB,CACjB,KAAM,gBACN,KAAM,UACN,UAAW,aACX,SAAU,WACX,EACD,mBAAoB,CAClB,KAAM,gBACN,KAAM,UACN,UAAW,cACX,SAAU,WACX,EACD,gBAAiB,CACf,KAAM,gBACN,KAAM,UACN,UAAW,WACX,SAAU,WACX,EACD,WAAY,CACV,KAAM,gBACN,KAAM,UACN,UAAW,MACX,SAAU,WACX,EACD,cAAe,CACb,KAAM,gBACN,KAAM,UACN,UAAW,SACX,SAAU,WACX,EACD,YAAa,CACX,KAAM,gBACN,KAAM,UACN,UAAW,OACX,SAAU,WACX,EACD,aAAc,CACZ,KAAM,gBACN,KAAM,UACN,UAAW,QACX,SAAU,WACX,EACD,OAAQ,CACN,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,UAAW,CACT,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,WAAY,CACV,KAAM,eACN,KAAM,UACN,UAAW,OACX,QAAS,IACV,EACD,aAAc,CACZ,KAAM,eACN,KAAM,UACN,UAAW,SACX,QAAS,IACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,UACN,UAAW,QACX,QAAS,IACV,EACD,QAAS,CACP,KAAM,eACN,KAAM,UACN,UAAW,IACX,QAAS,IACV,EACD,QAAS,CACP,KAAM,eACN,KAAM,UACN,UAAW,IACX,QAAS,IACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,QACN,QAAS,QACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,eACN,QAAS,OACV,EACD,OAAQ,CACN,KAAM,aACN,KAAM,QACP,CACH,EAAGC,GAAI,CAAC,CACN,GAAI,EACJ,UAAW,EACX,QAAS,EACT,GAAGpB,CACL,IAAM,CACJ,MAAMD,EAAI,GAAK,MAAOS,EAAIa,EAAE,OAAO,IAAI,EAAGZ,EAAIL,GAAE,EAAGI,CAAC,EAAGS,EAAII,EAAE,QAAQ,IAAM,CACzE,MAAMH,EAAI,CAAE,YAAa,GAAI,GAAGlB,CAAC,EACjC,OAAO,OAAO,KAAKkB,CAAC,EAAE,OACpB,CAACI,EAAGC,KAAO,OAAO,KAAKJ,CAAC,EAAE,KAAMK,GAAMA,IAAMD,CAAC,EAAID,EAAE,IAAIC,CAAC,EAAIL,EAAEK,CAAC,EAAID,EAAE,KAAKC,CAAC,EAAIL,EAAEK,CAAC,EAAGD,GACrF,CAAE,IAAK,CAAA,EAAI,KAAM,EAAI,CAC3B,CACA,EAAK,CAACtB,CAAC,CAAC,EACN,OAAOqB,EAAE,gBAAgB,IAAM,CAC7BL,GAAE,CACA,MAAOC,EAAE,IACT,IAAKT,EACL,SAAUW,CAChB,CAAK,CACF,EAAE,CAACF,EAAE,GAAG,CAAC,EAAmBQ,EAAC,IAC5B1B,EACA,CACE,UAAW2B,EAAE,WAAY,CAAC,EAC1B,IAAKjB,EACL,GAAGQ,EAAE,IACN,CACL,CACA,EAAGU,EAAI,CACL,QAAS,CACP,KAAM,UACN,KAAM,eACN,UAAW,QACZ,EACD,UAAW,CACT,KAAM,iBACN,KAAM,iBACN,UAAW,QACZ,EACD,MAAO,CACL,KAAM,cACN,KAAM,cACN,UAAW,QACZ,EACD,QAAS,CACP,KAAM,kBACN,KAAM,kBACN,UAAW,QACZ,EACD,KAAM,CACJ,KAAM,YACN,KAAM,YACN,UAAW,QACZ,EACD,IAAK,CACH,KAAM,MACN,KAAM,UACN,UAAW,UACZ,CACH,EAAGC,GAAI,CAAC,CACN,UAAW,EACX,QAAS,EACT,GAAG,CACL,IAAM,CACJ,MAAM5B,EAAIqB,EAAE,OAAO,IAAI,EAAGtB,EAAIK,GAAE,EAAGJ,CAAC,EAAGQ,EAAIa,EAAE,QAC3C,IAAM,OAAO,KAAK,CAAC,EAAE,OACnB,CAACZ,EAAGQ,KAAO,OAAO,KAAKU,CAAC,EAAE,KAAMT,GAAMA,IAAMD,CAAC,EAAIR,EAAE,MAAMQ,CAAC,EAAI,EAAEA,CAAC,EAAIR,EAAE,KAAKQ,CAAC,EAAI,EAAEA,CAAC,EAAGR,GACvF,CAAE,MAAO,CAAA,EAAI,KAAM,EAAI,CACxB,EACD,CAAC,CAAC,CACN,EACE,OAAOY,EAAE,gBAAgB,IAAM,CAC7BL,GAAE,CACA,MAAOR,EAAE,MACT,IAAKR,EACL,SAAU2B,CAChB,CAAK,CACF,EAAE,CAACnB,EAAE,MAAOT,CAAC,CAAC,EAAmB0B,EAAC,IACjCL,GACA,CACE,UAAWM,EAAE,aAAc,CAAC,EAC5B,QAAS3B,EACT,GAAGS,EAAE,IACN,CACL,CACA,EAAGqB,GAAI,CACL,MAAO,CACL,KAAM,yFACN,IAAK,qFACL,OAAQ,iGACR,MAAO,6FACP,KAAM,yFACN,OAAQ,iGACR,OAAQ,iGACR,SAAU,WACX,EACD,KAAM,CACJ,KAAM,sFACN,IAAK,kFACL,OAAQ,8FACR,MAAO,0FACP,KAAM,sFACN,OAAQ,8FACR,OAAQ,8FACR,SAAU,WACX,EACD,QAAS,CACP,KAAM,4IACN,IAAK,wIACL,OAAQ,qJACR,MAAO,gJACP,KAAM,4IACN,OAAQ,oJACR,OAAQ,oJACR,SAAU,WACX,EACD,MAAO,CACL,KAAM,gJACN,IAAK,wFACL,OAAQ,iGACR,MAAO,8FACP,KAAM,2FACN,OAAQ,iGACR,OAAQ,iGACR,SAAU,gBACX,CACH,EAAGC,EAAI,CACL,QAAS,CACP,EAAG,CACD,EAAG,OACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,OACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,OACH,EAAG,KACH,IAAK,IACL,GAAI,GACL,CACF,EACD,YAAa,CACX,EAAG,CACD,EAAG,IACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,IACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,KACH,EAAG,KACH,IAAK,IACL,GAAI,GACL,CACF,CACH,EAAGC,GAAI,CACL,EAAG,IACH,EAAG,IACH,EAAG,GACL,EAAGC,GAAI,CACL,MAAO,CACL,KAAM,QACN,IAAK,QACL,OAAQ,QACR,MAAO,QACP,KAAM,QACN,OAAQ,QACR,OAAQ,QACR,SAAU,UACX,EACD,KAAM,CACJ,KAAM,UACN,IAAK,MACL,OAAQ,SACR,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,QAAS,CACP,KAAM,UACN,IAAK,MACL,OAAQ,SACR,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,MAAO,CACL,KAAM,OACN,IAAK,MACL,OAAQ,SACR,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,CACH,EAAGC,GAAI,CACL,EAAG,IACH,EAAG,IACH,EAAG,GACL,EAAGC,GAAI,CACL,MAAO,CACL,KAAM,QACN,IAAK,QACL,OAAQ,QACR,MAAO,QACP,KAAM,QACN,OAAQ,QACR,OAAQ,QACR,SAAU,UACX,EACD,KAAM,CACJ,OAAQ,SACR,KAAM,OACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,QAAS,CACP,OAAQ,SACR,KAAM,OACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,MAAO,CACL,OAAQ,SACR,KAAM,UACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,CACH,EAAGC,GAAI,CACL,QAAS,YACT,YAAa,SACf,EAAGC,EAAIf,EAAE,cAAc,CACrB,QAAS,QACT,KAAM,IACN,MAAO,OACP,MAAO,UACP,OAAQ,UACR,OAAQ,EACV,CAAC,EAAGgB,GAAI,CAAC,CACP,GAAI,EACJ,QAAS,EAAI,QACb,KAAM,EAAI,IACV,MAAOrC,EAAI,OACX,MAAOD,EAAI,UACX,OAAQS,EAAI,GACZ,SAAUC,EACV,UAAWQ,EACX,GAAGC,CACL,IAAM,CACJ,MAAMI,EAAIb,EAAI,WAAaV,EAAGwB,EAAID,IAAM,WAAa,WAAatB,EAAGwB,EAAIH,EAAE,QAAQ,IAAM,CACvF,IAAIiB,EACJ,MAAMxC,EAAIuB,EAAE,SAAS,QAAQH,GAAK,KAAO,OAASA,EAAE,QAAQ,EAC5D,IAAKpB,GAAK,KAAO,OAASA,EAAE,UAAY,GAAKuB,EAAE,eAAevB,EAAE,CAAC,CAAC,EAAG,CACnE,MAAMyC,EAAIzC,EAAE,CAAC,EACb,IAAKwC,EAAIC,GAAK,KAAO,OAASA,EAAE,QAAU,MAAQD,EAAE,KAClD,MAAO,WACV,CACD,MAAO,SACX,EAAK,CAACpB,GAAK,KAAO,OAASA,EAAE,QAAQ,CAAC,EACpC,OAAuBO,EAAC,IACtBW,EAAE,SACF,CACE,MAAO,CAAE,QAAS,EAAG,KAAM,EAAG,MAAOb,EAAG,MAAOD,EAAG,OAAQE,EAAG,OAAQhB,CAAG,EACxE,SAA0BiB,EAAC,IACzBG,GACA,CACE,GAAI,GAAK,SACT,UAAWF,EACT,mFACA,iCACAJ,IAAM,YAAc,qBACpBO,GAAE,CAAC,EAAEN,CAAC,EACNO,EAAEN,CAAC,EAAE,CAAC,EACNP,CACD,EACD,EAAGa,EAAEN,CAAC,EAAE,CAAC,EAAE,EACX,EAAGM,EAAEN,CAAC,EAAE,CAAC,EAAE,EACX,IAAKM,EAAEN,CAAC,EAAE,CAAC,EAAE,IACb,GAAIM,EAAEN,CAAC,EAAE,CAAC,EAAE,GACZ,QAAS,cACT,MAAO,SACP,QAAS,SACT,QAAS,IACT,mBAAoB,GACpB,0BAA2BA,EAC3B,0BAA2BhB,EAC3B,SAAUC,EACV,GAAGS,CACJ,CACF,CACF,CACL,CACA,EAAGsB,EAAI,CAAC,CACN,KAAM,EACN,MAAO,EACP,QAAS,EACT,KAAMxC,EACN,IAAKD,EACL,cAAeS,EACf,GAAGC,CACL,IAAM,CACJ,MAAMQ,EAAII,EAAE,WAAWe,CAAC,EAAGlB,EAAI,CAC7B,KAAM,GAAKe,GAAEhB,EAAE,IAAI,EACnB,MAAO,GAAKiB,GAAEjB,EAAE,OAAO,EAAEA,EAAE,KAAK,EAChC,QAAS,GAAKkB,GAAElB,EAAE,MAAM,CAC5B,EACE,OAAuBQ,EAAC,IACtBgB,EAAC,KACD,CACE,KAAMzC,EACN,mBAAoB,GACpB,GAAGD,EAAI,CAAE,IAAKA,CAAC,EAAK,CAAE,cAAeS,CAAG,EACxC,GAAGU,EACH,GAAGT,CACJ,CACL,CACA,EAAGiC,GAAI,CAAC,CACN,GAAI,EACJ,MAAO,EACP,KAAM,EACN,OAAQ1C,EAAI,SACZ,UAAWD,EACX,GAAGS,CACL,IAAM,CACJ,MAAMC,EAAIY,EAAE,WAAWe,CAAC,EACxB,OAAuBX,EAAC,IACtBkB,EAAC,KACD,CACE,GAAI,GAAK,OACT,MAAO,GAAKX,GAAEvB,EAAE,OAAO,EAAEA,EAAE,KAAK,EAChC,KAAM,GAAKsB,GAAEtB,EAAE,IAAI,EACnB,OAAQT,EACR,UAAW0B,EAAE,iCAAkC3B,CAAC,EAChD,oBAAqB,GACrB,mBAAoB,GACpB,GAAGS,CACJ,CACL,CACA,EAAGoC,GAAI,CAAC,CACN,YAAa,EACb,aAAc,EACd,KAAM,EACN,SAAU5C,EACV,GAAGD,CACL,IAAM,CACJ,MAAMS,EAAI,GAAK,EACf,OAAuBqC,EAAC,KAACR,GAAG,CAAE,GAAGtC,EAAG,SAAU,CAC5CS,GAAqBiB,EAAAA,IAAEe,EAAG,CAAE,GAAGhC,CAAC,CAAE,EAClCR,GAAqByB,EAAAA,IAAEiB,GAAG,CAAE,SAAU1C,CAAC,CAAE,EACzC,GAAqByB,EAAAA,IAAEe,EAAG,CAAE,GAAG,CAAC,CAAE,CACnC,CAAA,CAAE,CACL,EACA,OAAO,OAAOI,GAAG,CACf,KAAMP,GACN,KAAMG,EACN,KAAME,EACR,CAAC,EACD,MAAMI,EAAKF,GC9tBLnC,EAAI,CAAC,KAAM,KAAM,KAAM,KAAM,KAAK,EAAGU,GAAKE,GAAM,CACpD,MAAMxB,EAAI,CAAA,EACV,IAAIkD,EAAI,KACR,QAASnD,EAAI,EAAGA,EAAIa,EAAE,OAAQb,IAAK,CACjC,MAAMG,EAAIU,EAAEb,CAAC,EACb,GAAIyB,EAAEtB,CAAC,EACLgD,EAAI1B,EAAEtB,CAAC,EAAGF,EAAE,KAAKkD,CAAC,UACXA,IAAM,KACblD,EAAE,KAAKkD,CAAC,MACL,CACH,IAAIlC,EAAI,KACR,QAASb,EAAIJ,EAAI,EAAGI,EAAIS,EAAE,OAAQT,IAChC,GAAIqB,EAAEZ,EAAET,CAAC,CAAC,EAAG,CACXa,EAAIQ,EAAEZ,EAAET,CAAC,CAAC,EACV,KACD,CACH,GAAIa,IAAM,KAAM,CACd,QAASb,EAAI,EAAGA,GAAKJ,EAAGI,IACtBH,EAAE,KAAKgB,CAAC,EACVkC,EAAIlC,CACL,CACF,CACF,CACD,OAAOhB,CACT,EAAGuC,GAAKf,GAAM,OAAOA,GAAK,WAAaA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,KAAK,GAAIH,EAAI,CAAC,CACrF,MAAOG,EACP,KAAMxB,CACR,IAAM,CACJ,GAAI,CAACwB,EAAG,MAAO,GACf,GAAIxB,EAAE,YAAc,SAClB,OAAOwB,EAAE,WACX,MAAM0B,EAAIlD,EAAE,OAAS,QAAU,GAAK,IAAIA,EAAE,IAAI,GAC9C,OAAOwB,IAAM,GAAK,aAAa0B,CAAC,IAAIlD,EAAE,OAAO,IAAM,aAAakD,CAAC,IAAI1B,CAAC,GACxE,EAAGC,EAAI,CACL,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,CACR,EAAGX,EAAI,CACL,QAAS,EACT,SAAU,EACV,YAAa,EACb,WAAY,CACd,EAAGiC,GAAI,CAAC,CACN,aAAcvB,EACd,MAAOxB,EACP,KAAMkD,EACN,UAAWnD,EAAI,KACjB,IAAM,CACJ,MAAMG,EAAIsB,EAAE,UAAU0B,EAAE,IAAI,EAAE,GAAK,GAAIlC,EAAId,EAAIA,EAAE,MAAM,GAAG,EAAI,CAAE,EAAEC,EAAI,EACnEa,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,GAC9BA,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,GAC9BA,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,GAC9BA,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,CACnC,EACE,OAAOjB,IAAM,MAAQsB,EAAE,CAAE,MAAOrB,EAAG,KAAMkD,EAAG,GAAKA,EAAE,WAAa,aAAenD,IAAM,QAAUI,EAAEW,EAAE,OAAO,EAAIO,EAAE,CAC9G,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,QAAQ,EAAIO,EAAE,CACpB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,UAAYI,EAAEW,EAAE,QAAQ,EAAIO,EAAE,CACvC,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,WAAW,EAAIO,EAAE,CACvB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,WAAaI,EAAEW,EAAE,WAAW,EAAIO,EAAE,CAC3C,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,UAAU,EAAIO,EAAE,CACtB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,SAAWI,EAAEW,EAAE,UAAU,EAAIO,EAAE,CACxC,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,OAAO,EAAIO,EAAE,CACnB,MAAOrB,EACP,KAAMkD,CACV,CAAG,IAAKnD,IAAM,WAAaA,IAAM,YAAcA,IAAM,eAAiBA,IAAM,gBAAkBI,EAAEW,EAAEf,CAAC,CAAC,EAAIsB,EAAE,CACtG,MAAOrB,EACP,KAAMkD,CACV,CAAG,KAAOnD,IAAM,MAAQI,EAAEsB,EAAE,IAAI,EAAIJ,EAAE,CAClC,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEsB,EAAE,KAAK,EAAIJ,EAAE,CACjB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,MAAQI,EAAEsB,EAAE,GAAG,EAAIJ,EAAE,CAC9B,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEsB,EAAE,MAAM,EAAIJ,EAAE,CAClB,MAAOrB,EACP,KAAMkD,CACV,CAAG,IAAKnD,IAAM,OAASA,IAAM,UAAYA,IAAM,QAAUA,IAAM,WAAaI,EAAEsB,EAAE1B,CAAC,CAAC,EAAIsB,EAAE,CACpF,MAAOrB,EACP,KAAMkD,CACP,CAAA,IAAK/C,EAAE,KAAK,GAAG,EAClB,EAAGM,EAAI,CAAC,CACN,KAAMe,EACN,MAAOxB,EACP,aAAckD,CAChB,IAAM1B,EAAE,UAAYuB,GAAE,CACpB,aAAcG,EACd,KAAM1B,EACN,MAAOxB,EACP,UAAWwB,EAAE,UACb,KAAMA,EAAE,IACV,CAAC,EAAIH,EAAE,CAAE,MAAOrB,EAAG,KAAMwB,CAAC,CAAE,EAAGN,GAAI,CAAC,CAClC,MAAOM,EACP,IAAKxB,EACL,SAAUkD,CACZ,IAAM,CACJ,GAAI,CAAClD,EAAE,QAAS,OAChB,MAAMD,EAAI,CAAA,EACV,OAAO,QAAQyB,CAAC,EAAE,QAAQ,CAAC,CAACtB,EAAGc,CAAC,IAAM,CACpC,MAAMb,EAAI+C,EAAEhD,CAAC,EACbC,IAAM,OAAOa,GAAK,UAAY,OAAOA,GAAK,UAAYjB,EAAE,UAAUI,EAAE,IAAI,EAAE,EAAIM,EAAE,CAC9E,KAAMN,EACN,IAAKD,EACL,MAAOc,EACP,aAAcjB,CACpB,CAAK,EAAIwC,GAAEvB,CAAC,GAAKM,GAAEN,CAAC,EAAE,QAAQ,CAACW,EAAG1B,IAAM,CAClC0B,IAAM5B,EAAE,UAAUI,EAAE,IAAI,IAAIS,EAAEX,CAAC,CAAC,EAAE,EAAIQ,EAAE,CACtC,KAAMN,EACN,IAAKD,EACL,MAAOyB,EACP,aAAc5B,CACf,CAAA,EACP,CAAK,GAAI,OAAO,QAAQA,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAG4B,CAAC,IAAM,CACzC3B,EAAE,SAAWA,EAAE,QAAQ,MAAM,YAAY,EAAG2B,CAAC,CACnD,CAAK,CACL,CAAG,CACH,EAAGE,EAAI,CACL,QAAS,CACP,KAAM,UACN,KAAM,gBACN,UAAW,QACZ,EACD,EAAG,CACD,KAAM,SACN,KAAM,SACP,EACD,EAAG,CACD,KAAM,QACN,KAAM,SACP,EACD,KAAM,CACJ,KAAM,aACN,KAAM,SACP,EACD,KAAM,CACJ,KAAM,YACN,KAAM,SACP,EACD,EAAG,CACD,KAAM,UACN,KAAM,UACN,UAAW,KACZ,EACD,EAAG,CACD,KAAM,SACN,KAAM,UACN,UAAW,KACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,KACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,MACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,QACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,OACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,KACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,MACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,QACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,OACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,mBACN,KAAM,OACP,EACD,QAAS,CACP,KAAM,gBACN,KAAM,UACN,UAAW,KACZ,EACD,eAAgB,CACd,KAAM,gBACN,KAAM,UACN,UAAW,UACX,SAAU,WACX,EACD,kBAAmB,CACjB,KAAM,gBACN,KAAM,UACN,UAAW,aACX,SAAU,WACX,EACD,mBAAoB,CAClB,KAAM,gBACN,KAAM,UACN,UAAW,cACX,SAAU,WACX,EACD,gBAAiB,CACf,KAAM,gBACN,KAAM,UACN,UAAW,WACX,SAAU,WACX,EACD,WAAY,CACV,KAAM,gBACN,KAAM,UACN,UAAW,MACX,SAAU,WACX,EACD,cAAe,CACb,KAAM,gBACN,KAAM,UACN,UAAW,SACX,SAAU,WACX,EACD,YAAa,CACX,KAAM,gBACN,KAAM,UACN,UAAW,OACX,SAAU,WACX,EACD,aAAc,CACZ,KAAM,gBACN,KAAM,UACN,UAAW,QACX,SAAU,WACX,EACD,OAAQ,CACN,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,UAAW,CACT,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,WAAY,CACV,KAAM,eACN,KAAM,UACN,UAAW,OACX,QAAS,IACV,EACD,aAAc,CACZ,KAAM,eACN,KAAM,UACN,UAAW,SACX,QAAS,IACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,UACN,UAAW,QACX,QAAS,IACV,EACD,QAAS,CACP,KAAM,eACN,KAA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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/clsx/dist/clsx.mjs","../../../button/dist/esm/index.mjs","../../../layout/dist/esm/index.mjs","../../src/Combobox/Combobox.helpers.ts","../../src/Combobox/Combobox.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { jsx as g, jsxs as V } from \"react/jsx-runtime\";\nimport { Icon as B } from \"@telegraph/icon\";\nimport * as N from \"react\";\nimport i from \"react\";\nimport m from \"clsx\";\nimport { Text as P } from \"@telegraph/typography\";\nfunction S(r, t) {\n typeof r == \"function\" ? r(t) : r != null && (r.current = t);\n}\nfunction z(...r) {\n return (t) => r.forEach((e) => S(e, t));\n}\nfunction M(...r) {\n return N.useCallback(z(...r), r);\n}\nconst y = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], I = (r) => {\n const t = [];\n let e = null;\n for (let o = 0; o < y.length; o++) {\n const n = y[o];\n if (r[n])\n e = r[n], t.push(e);\n else if (e !== null)\n t.push(e);\n else {\n let l = null;\n for (let a = o + 1; a < y.length; a++)\n if (r[y[a]]) {\n l = r[y[a]];\n break;\n }\n if (l !== null) {\n for (let a = 0; a <= o; a++)\n t.push(l);\n e = l;\n }\n }\n }\n return t;\n}, A = (r) => typeof r == \"object\" && (r.sm || r.md || r.lg || r.xl || r[\"2xl\"]), p = ({\n value: r,\n prop: t\n}) => {\n if (!r) return \"\";\n if (t.valueType === \"static\")\n return r.toString();\n const e = t.type === \"color\" ? \"\" : `-${t.type}`;\n return r === !0 ? `var(--tgph${e}-${t.default})` : `var(--tgph${e}-${r})`;\n}, w = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, s = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, D = ({\n cssVariables: r,\n value: t,\n prop: e,\n direction: o = \"all\"\n}) => {\n const n = r[`--tgph-${e.rule}`] || \"\", l = n ? n.split(\" \") : [], a = [\n (l == null ? void 0 : l[0]) || 0,\n (l == null ? void 0 : l[1]) || 0,\n (l == null ? void 0 : l[2]) || 0,\n (l == null ? void 0 : l[3]) || 0\n ];\n return o === \"all\" ? p({ value: t, prop: e }) : (e.ordering === \"clockwise\" ? (o === \"top\" && (a[s.topLeft] = p({\n value: t,\n prop: e\n }), a[s.topRight] = p({\n value: t,\n prop: e\n })), o === \"right\" && (a[s.topRight] = p({\n value: t,\n prop: e\n }), a[s.bottomRight] = p({\n value: t,\n prop: e\n })), o === \"bottom\" && (a[s.bottomRight] = p({\n value: t,\n prop: e\n }), a[s.bottomLeft] = p({\n value: t,\n prop: e\n })), o === \"left\" && (a[s.bottomLeft] = p({\n value: t,\n prop: e\n }), a[s.topLeft] = p({\n value: t,\n prop: e\n })), (o === \"topLeft\" || o === \"topRight\" || o === \"bottomRight\" || o === \"bottomLeft\") && (a[s[o]] = p({\n value: t,\n prop: e\n }))) : (o === \"x\" && (a[w.left] = p({\n value: t,\n prop: e\n }), a[w.right] = p({\n value: t,\n prop: e\n })), o === \"y\" && (a[w.top] = p({\n value: t,\n prop: e\n }), a[w.bottom] = p({\n value: t,\n prop: e\n })), (o === \"top\" || o === \"bottom\" || o === \"left\" || o === \"right\") && (a[w[o]] = p({\n value: t,\n prop: e\n }))), a.join(\" \"));\n}, L = ({\n prop: r,\n value: t,\n cssVariables: e\n}) => r.direction ? D({\n cssVariables: e,\n prop: r,\n value: t,\n direction: r.direction,\n type: r.type\n}) : p({ value: t, prop: r }), C = ({\n props: r,\n ref: t,\n propsMap: e\n}) => {\n if (!t.current) return;\n const o = {};\n Object.entries(r).forEach(([n, l]) => {\n const a = e[n];\n a && (typeof l == \"string\" || typeof l == \"boolean\" ? o[`--tgph-${a.rule}`] = L({\n prop: a,\n key: n,\n value: l,\n cssVariables: o\n }) : A(l) && I(l).forEach((u, d) => {\n u && (o[`--tgph-${a.rule}-${y[d]}`] = L({\n prop: a,\n key: n,\n value: u,\n cssVariables: o\n }));\n })), Object.entries(o).forEach(([u, d]) => {\n t.current && t.current.style.setProperty(u, d);\n });\n });\n}, j = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, H = ({\n as: r,\n className: t,\n tgphRef: e,\n ...o\n}) => {\n const n = r || \"div\", l = i.useRef(null), a = M(e, l), u = i.useMemo(() => {\n const d = { borderColor: !0, ...o };\n return Object.keys(d).reduce(\n (b, h) => (Object.keys(j).some((c) => c === h) ? b.box[h] = d[h] : b.rest[h] = d[h], b),\n { box: {}, rest: {} }\n );\n }, [o]);\n return i.useLayoutEffect(() => {\n C({\n props: u.box,\n ref: l,\n propsMap: j\n });\n }, [u.box]), /* @__PURE__ */ g(\n n,\n {\n className: m(\"tgph-box\", t),\n ref: a,\n ...u.rest\n }\n );\n}, T = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, W = ({\n className: r,\n tgphRef: t,\n ...e\n}) => {\n const o = i.useRef(null), n = M(t, o), l = i.useMemo(\n () => Object.keys(e).reduce(\n (a, u) => (Object.keys(T).some((d) => d === u) ? a.stack[u] = e[u] : a.rest[u] = e[u], a),\n { stack: {}, rest: {} }\n ),\n [e]\n );\n return i.useLayoutEffect(() => {\n C({\n props: l.stack,\n ref: o,\n propsMap: T\n });\n }, [l.stack, n]), /* @__PURE__ */ g(\n H,\n {\n className: m(\"tgph-stack\", r),\n tgphRef: n,\n ...l.rest\n }\n );\n}, X = {\n solid: {\n gray: \"bg-gray-9 hover:bg-gray-10 focus:bg-gray-11 data-[tgph-button-active=true]:!bg-gray-11\",\n red: \"bg-red-9 hover:bg-red-10 focus:bg-red-11 data-[tgph-button-active=true]:!bg-red-11\",\n accent: \"bg-accent-9 hover:bg-accent-10 focus:bg-accent-11 data-[tgph-button-active=true]:!bg-accent-11\",\n green: \"bg-green-9 hover:bg-green-10 focus:bg-green-11 data-[tgph-button-active=true]:!bg-green-11\",\n blue: \"bg-blue-9 hover:bg-blue-10 focus:bg-blue-11 data-[tgph-button-active=true]:!bg-blue-11\",\n yellow: \"bg-yellow-9 hover:bg-yellow-10 focus:bg-yellow-11 data-[tgph-button-active=true]:!bg-yellow-11\",\n purple: \"bg-purple-9 hover:bg-purple-10 focus:bg-purple-11 data-[tgph-button-active=true]:!bg-purple-11\",\n disabled: \"bg-gray-2\"\n },\n soft: {\n gray: \"bg-gray-3 hover:bg-gray-4 focus:bg-gray-5 data-[tgph-button-active=true]:!bg-gray-5\",\n red: \"bg-red-3 hover:bg-red-4 focus:bg-red-5 data-[tgph-button-active=true]:!bg-red-5\",\n accent: \"bg-accent-3 hover:bg-accent-4 focus:bg-accent-6 data-[tgph-button-active=true]:!bg-accent-6\",\n green: \"bg-green-3 hover:bg-green-4 focus:bg-green-5 data-[tgph-button-active=true]:!bg-green-5\",\n blue: \"bg-blue-3 hover:bg-blue-4 focus:bg-blue-5 data-[tgph-button-active=true]:!bg-blue-5\",\n yellow: \"bg-yellow-3 hover:bg-yellow-4 focus:bg-yellow-5 data-[tgph-button-active=true]:!bg-yellow-5\",\n purple: \"bg-purple-3 hover:bg-purple-4 focus:bg-purple-5 data-[tgph-button-active=true]:!bg-purple-5\",\n disabled: \"bg-gray-2\"\n },\n outline: {\n gray: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-gray-6 hover:shadow-gray-7 focus:shadow-gray-8 data-[tgph-button-active=true]:!shadow-gray-8\",\n red: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-red-6 hover:shadow-red-7 focus:shadow-red-8 data-[tgph-button-active=true]:!shadow-red-8\",\n accent: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-accent-6 hover:shadow-accent-7 focus:shadow-accent-8 data-[tgph-button-active=true]:!shadow-accent-8\",\n green: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-green-6 hover:shadow-green-7 focus:shadow-green-8 data-[tgph-button-active=true]:!shadow-green-8\",\n blue: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-blue-6 hover:shadow-blue-7 focus:shadow-blue-8 data-[tgph-button-active=true]:!shadow-blue-8\",\n yellow: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-yellow-6 hover:shadow-yellow-7 focus:shadow-yellow-8 data-[tgph-button-active=true]:!shadow-yellow-8\",\n purple: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-purple-6 hover:shadow-purple-7 focus:shadow-purple-8 data-[tgph-button-active=true]:!shadow-purple-8\",\n disabled: \"bg-gray-2\"\n },\n ghost: {\n gray: \"bg-transparent hover:bg-gray-3 focus:bg-gray-4 data-[tgph-button-active=true]:!bg-gray-4 [&data-[tgph-button-active=true]>span]:!text-gray-12\",\n red: \"bg-transparent hover:bg-red-3 focus:bg-red-4 data-[tgph-button-active=true]:!bg-red-4\",\n accent: \"bg-transparent hover:bg-accent-3 focus:bg-accent-4 data-[tgph-button-active=true]:!bg-accent-4\",\n green: \"bg-transparent hover:bg-green-3 focus:bg-green-4 data-[tgph-button-active=true]:!bg-green-4\",\n blue: \"bg-transparent hover:bg-blue-3 focus:bg-blue-4 data-[tgph-button-active=true]:!bg-blue-4\",\n yellow: \"bg-transparent hover:bg-yellow-3 focus:bg-yellow-4 data-[tgph-button-active=true]:!bg-yellow-4\",\n purple: \"bg-transparent hover:bg-purple-3 focus:bg-purple-4 data-[tgph-button-active=true]:!bg-purple-4\",\n disabled: \"bg-transparent\"\n }\n}, v = {\n default: {\n 1: {\n w: \"auto\",\n h: \"6\",\n gap: \"1\",\n px: \"2\"\n },\n 2: {\n w: \"auto\",\n h: \"8\",\n gap: \"2\",\n px: \"3\"\n },\n 3: {\n w: \"auto\",\n h: \"10\",\n gap: \"3\",\n px: \"4\"\n }\n },\n \"icon-only\": {\n 1: {\n w: \"6\",\n h: \"6\",\n gap: \"0\",\n px: \"0\"\n },\n 2: {\n w: \"8\",\n h: \"8\",\n gap: \"0\",\n px: \"0\"\n },\n 3: {\n w: \"10\",\n h: \"10\",\n gap: \"0\",\n px: \"0\"\n }\n }\n}, Y = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, q = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n gray: \"gray\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, F = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, G = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n accent: \"accent\",\n gray: \"default\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, J = {\n default: \"secondary\",\n \"icon-only\": \"primary\"\n}, k = i.createContext({\n variant: \"solid\",\n size: \"2\",\n color: \"gray\",\n state: \"default\",\n layout: \"default\",\n active: !1\n}), $ = ({\n as: r,\n variant: t = \"solid\",\n size: e = \"2\",\n color: o = \"gray\",\n state: n = \"default\",\n active: l = !1,\n disabled: a,\n className: u,\n ...d\n}) => {\n const b = a ? \"disabled\" : n, h = b === \"disabled\" ? \"disabled\" : o, c = i.useMemo(() => {\n var R;\n const f = i.Children.toArray(d == null ? void 0 : d.children);\n if ((f == null ? void 0 : f.length) === 1 && i.isValidElement(f[0])) {\n const x = f[0];\n if ((R = x == null ? void 0 : x.props) != null && R.icon)\n return \"icon-only\";\n }\n return \"default\";\n }, [d == null ? void 0 : d.children]);\n return /* @__PURE__ */ g(\n k.Provider,\n {\n value: { variant: t, size: e, color: h, state: b, layout: c, active: l },\n children: /* @__PURE__ */ g(\n W,\n {\n as: r || \"button\",\n className: m(\n \"appearance-none border-0 cursor-pointer bg-none box-border [font-family:inherit]\",\n \"transition-colors no-underline\",\n b === \"disabled\" && \"cursor-not-allowed\",\n X[t][h],\n v[c][e],\n u\n ),\n h: v[c][e].h,\n w: v[c][e].w,\n gap: v[c][e].gap,\n px: v[c][e].px,\n display: \"inline-flex\",\n align: \"center\",\n justify: \"center\",\n rounded: \"3\",\n \"data-tgph-button\": !0,\n \"data-tgph-button-layout\": c,\n \"data-tgph-button-active\": l,\n disabled: a,\n ...d\n }\n )\n }\n );\n}, _ = ({\n size: r,\n color: t,\n variant: e,\n icon: o,\n alt: n,\n \"aria-hidden\": l,\n ...a\n}) => {\n const u = i.useContext(k), d = {\n size: r ?? F[u.size],\n color: t ?? G[u.variant][u.color],\n variant: e ?? J[u.layout]\n };\n return /* @__PURE__ */ g(\n B,\n {\n icon: o,\n \"data-button-icon\": !0,\n ...n ? { alt: n } : { \"aria-hidden\": l },\n ...d,\n ...a\n }\n );\n}, E = ({\n as: r,\n color: t,\n size: e,\n weight: o = \"medium\",\n className: n,\n ...l\n}) => {\n const a = i.useContext(k);\n return /* @__PURE__ */ g(\n P,\n {\n as: r || \"span\",\n color: t ?? q[a.variant][a.color],\n size: e ?? Y[a.size],\n weight: o,\n className: m(\"no-underline whitespace-nowrap\", n),\n internal_optionalAs: !0,\n \"data-button-text\": !0,\n ...l\n }\n );\n}, O = ({\n leadingIcon: r,\n trailingIcon: t,\n icon: e,\n children: o,\n ...n\n}) => {\n const l = r || e;\n return /* @__PURE__ */ V($, { ...n, children: [\n l && /* @__PURE__ */ g(_, { ...l }),\n o && /* @__PURE__ */ g(E, { children: o }),\n t && /* @__PURE__ */ g(_, { ...t })\n ] });\n};\nObject.assign(O, {\n Root: $,\n Icon: _,\n Text: E\n});\nconst te = O;\nexport {\n te as Button\n};\n//# sourceMappingURL=index.mjs.map\n","import { jsx as x } from \"react/jsx-runtime\";\nimport { useComposedRefs as R } from \"@telegraph/compose-refs\";\nimport w from \"clsx\";\nimport u from \"react\";\nconst a = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], j = (i) => {\n const e = [];\n let t = null;\n for (let r = 0; r < a.length; r++) {\n const n = a[r];\n if (i[n])\n t = i[n], e.push(t);\n else if (t !== null)\n e.push(t);\n else {\n let s = null;\n for (let o = r + 1; o < a.length; o++)\n if (i[a[o]]) {\n s = i[a[o]];\n break;\n }\n if (s !== null) {\n for (let o = 0; o <= r; o++)\n e.push(s);\n t = s;\n }\n }\n }\n return e;\n}, k = (i) => typeof i == \"object\" && (i.sm || i.md || i.lg || i.xl || i[\"2xl\"]), d = ({\n value: i,\n prop: e\n}) => {\n if (!i) return \"\";\n if (e.valueType === \"static\")\n return i.toString();\n const t = e.type === \"color\" ? \"\" : `-${e.type}`;\n return i === !0 ? `var(--tgph${t}-${e.default})` : `var(--tgph${t}-${i})`;\n}, b = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, p = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, O = ({\n cssVariables: i,\n value: e,\n prop: t,\n direction: r = \"all\"\n}) => {\n const n = i[`--tgph-${t.rule}`] || \"\", s = n ? n.split(\" \") : [], o = [\n (s == null ? void 0 : s[0]) || 0,\n (s == null ? void 0 : s[1]) || 0,\n (s == null ? void 0 : s[2]) || 0,\n (s == null ? void 0 : s[3]) || 0\n ];\n return r === \"all\" ? d({ value: e, prop: t }) : (t.ordering === \"clockwise\" ? (r === \"top\" && (o[p.topLeft] = d({\n value: e,\n prop: t\n }), o[p.topRight] = d({\n value: e,\n prop: t\n })), r === \"right\" && (o[p.topRight] = d({\n value: e,\n prop: t\n }), o[p.bottomRight] = d({\n value: e,\n prop: t\n })), r === \"bottom\" && (o[p.bottomRight] = d({\n value: e,\n prop: t\n }), o[p.bottomLeft] = d({\n value: e,\n prop: t\n })), r === \"left\" && (o[p.bottomLeft] = d({\n value: e,\n prop: t\n }), o[p.topLeft] = d({\n value: e,\n prop: t\n })), (r === \"topLeft\" || r === \"topRight\" || r === \"bottomRight\" || r === \"bottomLeft\") && (o[p[r]] = d({\n value: e,\n prop: t\n }))) : (r === \"x\" && (o[b.left] = d({\n value: e,\n prop: t\n }), o[b.right] = d({\n value: e,\n prop: t\n })), r === \"y\" && (o[b.top] = d({\n value: e,\n prop: t\n }), o[b.bottom] = d({\n value: e,\n prop: t\n })), (r === \"top\" || r === \"bottom\" || r === \"left\" || r === \"right\") && (o[b[r]] = d({\n value: e,\n prop: t\n }))), o.join(\" \"));\n}, y = ({\n prop: i,\n value: e,\n cssVariables: t\n}) => i.direction ? O({\n cssVariables: t,\n prop: i,\n value: e,\n direction: i.direction,\n type: i.type\n}) : d({ value: e, prop: i }), L = ({\n props: i,\n ref: e,\n propsMap: t\n}) => {\n if (!e.current) return;\n const r = {};\n Object.entries(i).forEach(([n, s]) => {\n const o = t[n];\n o && (typeof s == \"string\" || typeof s == \"boolean\" ? r[`--tgph-${o.rule}`] = y({\n prop: o,\n key: n,\n value: s,\n cssVariables: r\n }) : k(s) && j(s).forEach((c, f) => {\n c && (r[`--tgph-${o.rule}-${a[f]}`] = y({\n prop: o,\n key: n,\n value: c,\n cssVariables: r\n }));\n })), Object.entries(r).forEach(([l, c]) => {\n e.current && e.current.style.setProperty(l, c);\n });\n });\n}, m = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, C = ({\n as: i,\n className: e,\n tgphRef: t,\n ...r\n}) => {\n const n = i || \"div\", s = u.useRef(null), o = R(t, s), l = u.useMemo(() => {\n const c = { borderColor: !0, ...r };\n return Object.keys(c).reduce(\n (f, g) => (Object.keys(m).some((T) => T === g) ? f.box[g] = c[g] : f.rest[g] = c[g], f),\n { box: {}, rest: {} }\n );\n }, [r]);\n return u.useLayoutEffect(() => {\n L({\n props: l.box,\n ref: s,\n propsMap: m\n });\n }, [l.box]), /* @__PURE__ */ x(\n n,\n {\n className: w(\"tgph-box\", e),\n ref: o,\n ...l.rest\n }\n );\n}, h = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, E = ({\n className: i,\n tgphRef: e,\n ...t\n}) => {\n const r = u.useRef(null), n = R(e, r), s = u.useMemo(\n () => Object.keys(t).reduce(\n (o, l) => (Object.keys(h).some((c) => c === l) ? o.stack[l] = t[l] : o.rest[l] = t[l], o),\n { stack: {}, rest: {} }\n ),\n [t]\n );\n return u.useLayoutEffect(() => {\n L({\n props: s.stack,\n ref: r,\n propsMap: h\n });\n }, [s.stack, n]), /* @__PURE__ */ x(\n C,\n {\n className: w(\"tgph-stack\", i),\n tgphRef: n,\n ...s.rest\n }\n );\n};\nexport {\n C as Box,\n E as Stack\n};\n//# sourceMappingURL=index.mjs.map\n","export type Option = { value: string; label?: string };\nexport const isMultiSelect = (\n value: Option | Array<Option>,\n): value is Array<Option> => {\n return Array.isArray(value);\n};\n\nexport const isSingleSelect = (\n value: Option | Array<Option>,\n): value is Option => {\n return typeof value === \"object\" && !Array.isArray(value);\n};\n","import { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { Button as TelegraphButton } from \"@telegraph/button\";\nimport { useComposedRefs } from \"@telegraph/compose-refs\";\nimport {\n RefToTgphRef,\n type TgphComponentProps,\n type TgphElement,\n} from \"@telegraph/helpers\";\nimport { Icon, Lucide } from \"@telegraph/icon\";\nimport { Input as TelegraphInput } from \"@telegraph/input\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { Menu as TelegraphMenu } from \"@telegraph/menu\";\nimport { Tag } from \"@telegraph/tag\";\nimport { Text } from \"@telegraph/typography\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { type Option, isMultiSelect, isSingleSelect } from \"./Combobox.helpers\";\n\nconst FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nconst LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nconst SELECT_KEYS = [\"Enter\", \" \"];\n\ntype RootProps = (\n | {\n value?: Array<Option>;\n onValueChange?: (value: Array<Option>) => void;\n layout?: \"truncate\" | \"wrap\";\n }\n | {\n value?: Option;\n onValueChange?: (value: Option) => void;\n layout?: never;\n }\n) & {\n open?: boolean;\n defaultOpen?: boolean;\n errored?: boolean;\n placeholder?: string;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n closeOnSelect?: boolean;\n children?: React.ReactNode;\n};\n\nconst ComboboxContext = React.createContext<\n Omit<RootProps, \"children\"> & {\n contentId: string;\n triggerId: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n onOpenToggle: () => void;\n searchQuery?: string;\n setSearchQuery?: (query: string) => void;\n triggerRef?: React.RefObject<HTMLDivElement>;\n searchRef?: React.RefObject<HTMLInputElement>;\n contentRef?: React.RefObject<HTMLDivElement>;\n }\n>({\n onValueChange: () => {},\n contentId: \"\",\n triggerId: \"\",\n open: false,\n setOpen: () => {},\n onOpenToggle: () => {},\n});\n\nconst Root = ({\n modal = true,\n closeOnSelect = true,\n open: openProp,\n onOpenChange: onOpenChangeProp,\n defaultOpen: defaultOpenProp,\n value,\n onValueChange,\n errored,\n placeholder,\n layout,\n ...props\n}: RootProps) => {\n const contentId = React.useId();\n const triggerId = React.useId();\n const triggerRef = React.useRef(null);\n const searchRef = React.useRef(null);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const [searchQuery, setSearchQuery] = React.useState<string>(\"\");\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: onOpenChangeProp,\n });\n\n const onOpenToggle = React.useCallback(() => {\n setOpen((prevOpen) => !prevOpen);\n }, [setOpen]);\n\n React.useEffect(() => {\n // If the combobox is closed clear\n // the search query\n if (!open) {\n setSearchQuery(\"\");\n }\n }, [open]);\n\n return (\n <ComboboxContext.Provider\n value={{\n contentId,\n triggerId,\n value,\n onValueChange,\n placeholder,\n open,\n setOpen,\n onOpenToggle,\n closeOnSelect,\n searchQuery,\n setSearchQuery,\n triggerRef,\n searchRef,\n contentRef,\n errored,\n layout,\n }}\n >\n <TelegraphMenu.Root\n open={open}\n onOpenChange={setOpen}\n modal={modal}\n {...props}\n />\n </ComboboxContext.Provider>\n );\n};\n\ntype TriggerTagProps = {\n value: string;\n label?: string;\n};\n\nconst TriggerTag = ({ label, value, ...props }: TriggerTagProps) => {\n const context = React.useContext(ComboboxContext);\n\n return (\n <Tag.Root\n size=\"1\"\n as={motion.span}\n initial={{ opacity: 0, transform: \"scale(0.8)\" }}\n animate={{ opacity: 1, transform: \"scale(1)\" }}\n exit={{ opacity: 0, transform: \"scale(0.5)\" }}\n layout=\"position\"\n transition={{\n duration: 0.2,\n type: \"spring\",\n bounce: 0,\n layout: {\n duration: 0.05,\n type: \"spring\",\n bounce: 0,\n },\n }}\n {...props}\n >\n <Tag.Text>{label || value}</Tag.Text>\n <Tag.Button\n icon={{ icon: Lucide.X, alt: `Remove ${value}` }}\n onClick={(event: React.MouseEvent) => {\n const onValueChange = context.onValueChange as (\n v: Array<Option>,\n ) => void;\n const contextValue = context.value as Array<Option>;\n const newValue = contextValue.filter((v) => v.value !== value);\n onValueChange(newValue);\n // Stop click event from bubbling up\n event.stopPropagation();\n // Stop the button \"submit\" action from triggering\n event.preventDefault();\n }}\n />\n </Tag.Root>\n );\n};\n\ntype TriggerValueProps<T extends TgphElement> = {\n size?: TgphComponentProps<typeof TelegraphButton.Root<T>>[\"size\"];\n};\n\nconst TriggerValue = <T extends TgphElement>({\n size = \"1\",\n}: TriggerValueProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const height = size === \"1\" ? \"6\" : size === \"2\" ? \"8\" : \"10\";\n\n if (context.value && isMultiSelect(context.value)) {\n const contextValue = context.value as Array<Option>;\n const layout = context.layout || \"truncate\";\n const truncatedLength = contextValue.length - 2;\n const truncatedLengthStringArray = truncatedLength.toString().split(\"\");\n\n if (contextValue.length === 0) {\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color=\"gray\">\n {context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n }\n\n return (\n <Stack\n gap=\"1\"\n w=\"full\"\n my=\"1\"\n wrap={layout === \"wrap\" ? \"wrap\" : \"nowrap\"}\n align=\"center\"\n style={{\n position: \"relative\",\n flexGrow: 1,\n }}\n >\n <AnimatePresence initial={false} mode=\"popLayout\">\n {contextValue.map((v, i) => {\n if ((layout === \"truncate\" && i <= 1) || layout === \"wrap\") {\n return (\n <RefToTgphRef key={v.value}>\n <TriggerTag {...v} />\n </RefToTgphRef>\n );\n }\n })}\n </AnimatePresence>\n <AnimatePresence>\n {layout === \"truncate\" && contextValue.length > 2 && (\n <Stack\n as={motion.div}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n h=\"full\"\n pr=\"1\"\n pl=\"8\"\n align=\"center\"\n aria-label={`${truncatedLength} more selected`}\n style={{\n position: \"absolute\",\n right: 0,\n backgroundImage:\n \"linear-gradient(to left, var(--tgph-surface-1) 0 60%, transparent 90% 100%)\",\n }}\n key=\"truncated text\"\n >\n <Text as=\"span\" size=\"1\" style={{ whiteSpace: \"nowrap\" }}>\n +\n <AnimatePresence mode=\"wait\" initial={false}>\n {truncatedLengthStringArray.map((n) => (\n <Box\n as={motion.span}\n w=\"2\"\n display=\"inline-block\"\n initial={{\n opacity: 0.5,\n }}\n animate={{\n opacity: 1,\n }}\n exit={{\n opacity: 0.5,\n }}\n transition={{ duration: 0.1, type: \"spring\", bounce: 0 }}\n key={n}\n >\n {n}\n </Box>\n ))}\n </AnimatePresence>{\" \"}\n more\n </Text>\n </Stack>\n )}\n </AnimatePresence>\n </Stack>\n );\n }\n\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color={!context.value ? \"gray\" : \"default\"}>\n {context?.value?.label || context?.value?.value || context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n};\n\ntype TriggerProps = React.ComponentProps<typeof TelegraphMenu.Anchor> & {\n placeholder?: string;\n size?: TgphComponentProps<typeof TelegraphButton.Root>[\"size\"];\n};\n\nconst Trigger = ({ size = \"1\", ...props }: TriggerProps) => {\n const context = React.useContext(ComboboxContext);\n\n const getAriaLabelString = React.useCallback(() => {\n if (!context.value) return context.placeholder;\n if (isSingleSelect(context.value)) {\n return (\n context.value?.label || context.value?.value || context.placeholder\n );\n } else {\n return (\n context.value?.map((v) => v.label).join(\", \") || context.placeholder\n );\n }\n }, [context.value, context.placeholder]);\n\n return (\n <TelegraphMenu.Anchor\n {...props}\n asChild\n onClick={(event: React.MouseEvent) => {\n event.preventDefault();\n context.onOpenToggle();\n context.triggerRef?.current?.focus();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // Lets the user tab in and out of the combobox as usual\n if (event.key === \"Tab\") {\n event.stopPropagation();\n return;\n }\n if (SELECT_KEYS.includes(event.key)) {\n event.preventDefault();\n return;\n }\n\n if (event.key === \"ArrowDown\") {\n context.onOpenToggle();\n return;\n }\n }}\n tgphRef={context.triggerRef}\n >\n <RefToTgphRef>\n <TelegraphButton.Root\n id={context.triggerId}\n bg=\"surface-1\"\n variant=\"outline\"\n w=\"full\"\n h=\"full\"\n color={context.errored ? \"red\" : \"gray\"}\n justify=\"space-between\"\n // Accessibility attributes\n role=\"combobox\"\n aria-label={getAriaLabelString()}\n aria-controls={context.contentId}\n aria-expanded={context.open}\n aria-haspopup=\"listbox\"\n // Custom attributes\n data-tgph-combobox-trigger\n data-tgph-comobox-trigger-open={context.open}\n >\n <TriggerValue size={size} />\n <TelegraphButton.Icon\n as={motion.div}\n icon={Lucide.ChevronDown}\n animate={{ rotate: context.open ? \"180deg\" : \"0deg\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n aria-hidden\n />\n </TelegraphButton.Root>\n </RefToTgphRef>\n </TelegraphMenu.Anchor>\n );\n};\n\ntype ContentProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Content<T>\n>;\n\nconst Content = <T extends TgphElement>({\n tgphRef,\n style,\n children,\n ...props\n}: ContentProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const hasInteractedOutside = React.useRef(false);\n const composedRef = useComposedRefs<unknown>(tgphRef, context.contentRef);\n\n const internalContentRef = React.useRef(null);\n\n const [height, setHeight] = React.useState(0);\n const [initialAnimationComplete, setInitialAnimationComplete] =\n React.useState(false);\n\n const setHeightFromContent = React.useCallback(\n (element: Element) => {\n // Set the initial height of the content after the animation completes\n const rect = element.getBoundingClientRect();\n if (rect) {\n setHeight(rect.height);\n }\n\n if (!initialAnimationComplete) {\n setInitialAnimationComplete(true);\n }\n },\n [initialAnimationComplete],\n );\n\n React.useEffect(() => {\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const element = entry.target;\n setHeightFromContent(element);\n }\n });\n // Attatch the observer once the initial animation completes\n // and the content ref is available\n if (internalContentRef.current && initialAnimationComplete) {\n observer.observe(internalContentRef.current);\n }\n\n return () => observer.disconnect();\n }, [initialAnimationComplete, setHeightFromContent]);\n\n // Reset the animation complete state when the combobox is closed\n React.useEffect(() => {\n if (initialAnimationComplete === true && context.open === false) {\n setInitialAnimationComplete(false);\n }\n }, [context.open, initialAnimationComplete]);\n\n return (\n <TelegraphMenu.Content\n as={motion.div}\n mt=\"1\"\n initial={{\n opacity: 0,\n scale: 0.8,\n height: \"auto\",\n }}\n animate={{\n opacity: 1,\n scale: 1,\n // Set height based on the internalContentRef so that\n // we get smooth animations when the content changes\n minHeight: height ? `${height}px` : \"0\",\n }}\n exit={{ opacity: 0, scale: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n onInteractOutside={() => {\n context.setOpen(false);\n hasInteractedOutside.current = true;\n }}\n onAnimationComplete={() => {\n // Set height when the initial animation for\n // displaying the content completes\n if (!initialAnimationComplete && internalContentRef) {\n const element = internalContentRef.current as unknown as Element;\n setHeightFromContent(element);\n }\n }}\n onCloseAutoFocus={(event: Event) => {\n if (!hasInteractedOutside.current) context.triggerRef?.current?.focus();\n hasInteractedOutside.current = false;\n\n event.preventDefault();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // If the first option is focused and the user presses the up\n // arrow key, focus the search input\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (\n document.activeElement === options?.[0] &&\n LAST_KEYS.includes(event.key)\n ) {\n context.searchRef?.current?.focus();\n }\n\n // Close the combobox if the user presses the escape key\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n }}\n bg=\"surface-1\"\n style={{\n width: \"var(--tgph-comobobox-trigger-width)\",\n ...style,\n ...{\n \"--tgph-comobobox-content-transform-origin\":\n \"var(--radix-popper-transform-origin)\",\n \"--tgph-combobox-content-available-width\":\n \"var(--radix-popper-available-width)\",\n \"--tgph-combobox-content-available-height\":\n \"calc(var(--radix-popper-available-height) - var(--tgph-spacing-8))\",\n \"--tgph-comobobox-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--tgph-combobox-trigger-height\": \"var(--radix-popper-anchor-height)\",\n },\n }}\n {...props}\n tgphRef={composedRef}\n data-tgph-combobox-content\n data-tgph-combobox-content-open={initialAnimationComplete}\n // Cancel out accessibility attirbutes related to aria menu\n role={undefined}\n aria-orientation={undefined}\n >\n <Stack direction=\"column\" gap=\"1\" tgphRef={internalContentRef}>\n {children}\n </Stack>\n </TelegraphMenu.Content>\n );\n};\n\ntype OptionsProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>>;\n\nconst Options = <T extends TgphElement>({ ...props }: OptionsProps<T>) => {\n const context = React.useContext(ComboboxContext);\n return (\n <Stack\n id={context.contentId}\n direction=\"column\"\n gap=\"1\"\n style={{\n overflowY: \"auto\",\n // Available Height - Padding from edge of screen\n maxHeight:\n \"calc(var(--tgph-combobox-content-available-height) - var(--tgph-spacing-12))\",\n }}\n // Accessibility attributes\n role=\"listbox\"\n {...props}\n />\n );\n};\n\ntype OptionProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n value: string;\n label?: string;\n selected?: boolean | null;\n};\n\nconst Option = <T extends TgphElement>({\n value,\n label,\n selected,\n onSelect,\n ...props\n}: OptionProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isFocused, setIsFocused] = React.useState(false);\n const contextValue = context.value ?? [];\n\n const isVisible = isMultiSelect(contextValue)\n ? !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase())\n : !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase());\n\n const isSelected = isMultiSelect(contextValue)\n ? contextValue.some((v) => v.value === value)\n : contextValue.value === value;\n\n const handleSelection = (event: React.KeyboardEvent) => {\n // Don't do anything if the key isn't a selection key\n if (event.key && !SELECT_KEYS.includes(event.key)) return;\n\n // Don't bubble up the event\n event.stopPropagation();\n event.preventDefault();\n\n if (context.closeOnSelect === true) {\n context.setOpen(false);\n }\n\n if (onSelect) {\n // Need to convert to non keyboard type event\n // since onSelect is expecting a mouse event\n // and we've handled the keyboard event already\n const onSelectEvent = event as unknown as Event;\n return onSelect(onSelectEvent);\n }\n\n if (isMultiSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Array<Option>) => void;\n\n const newValue = isSelected\n ? contextValue.filter((v) => v.value !== value)\n : [...contextValue, { value, label }];\n\n onValueChange(newValue);\n } else if (isSingleSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Option) => void;\n onValueChange({ value, label });\n }\n\n context.triggerRef?.current?.focus();\n };\n\n if (isVisible) {\n return (\n <TelegraphMenu.Button\n type=\"button\"\n onSelect={handleSelection}\n onKeyDown={handleSelection}\n // Force null if selected equals null so we\n // can override the icon of the button\n selected={selected === null ? null : selected ?? isSelected}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n // Accessibility attributes\n role=\"option\"\n aria-selected={isSelected ? \"true\" : \"false\"}\n // Custom attributes\n data-tgph-combobox-option\n data-tgph-combobox-option-focused={isFocused}\n data-tgph-combobox-option-value={value}\n data-tgph-combobox-option-label={label}\n {...props}\n >\n {label || value}\n </TelegraphMenu.Button>\n );\n }\n};\n\ntype SearchProps = TgphComponentProps<typeof TelegraphInput> & {\n label?: string;\n};\n\nconst Search = ({\n label = \"Search\",\n placeholder = \"Search\",\n tgphRef,\n ...props\n}: SearchProps) => {\n const id = React.useId();\n const context = React.useContext(ComboboxContext);\n const composedRef = useComposedRefs(tgphRef, context.searchRef);\n\n React.useEffect(() => {\n const handleSearchKeyDown = (event: KeyboardEvent) => {\n if (FIRST_KEYS.includes(event.key)) {\n context.contentRef?.current?.focus({ preventScroll: true });\n }\n\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n };\n\n const searchInput = context.searchRef?.current;\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleSearchKeyDown);\n return () => {\n searchInput.removeEventListener(\"keydown\", handleSearchKeyDown);\n };\n }\n }, [context]);\n\n return (\n <Box borderBottom px=\"1\" pb=\"1\">\n <VisuallyHidden.Root>\n <Text as=\"label\" htmlFor={id}>\n {label}\n </Text>\n </VisuallyHidden.Root>\n <TelegraphInput\n id={id}\n variant=\"ghost\"\n placeholder={placeholder}\n value={context.searchQuery}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n context?.setSearchQuery?.(event.target.value);\n }}\n LeadingComponent={<Icon icon={Lucide.Search} alt=\"Search Icon\" />}\n TrailingComponent={\n context?.searchQuery && context?.searchQuery?.length > 0 ? (\n <TelegraphButton\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n variant=\"ghost\"\n color=\"gray\"\n icon={{ icon: Lucide.X, alt: \"Clear Search Query\" }}\n onClick={() => context.setSearchQuery?.(\"\")}\n />\n ) : null\n }\n autoFocus\n data-tgph-combobox-search\n aria-controls={context.contentId}\n {...props}\n tgphRef={composedRef}\n />\n </Box>\n );\n};\n\ntype EmptyProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>> & {\n icon?: TgphComponentProps<typeof Icon> | null;\n message?: string | null;\n};\n\nconst Empty = <T extends TgphElement>({\n icon = { icon: Lucide.Search, alt: \"Search Icon\" },\n message = \"No results found\",\n children,\n ...props\n}: EmptyProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isVisible, setIsVisible] = React.useState(false);\n\n React.useEffect(() => {\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (options?.length === 0) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n }, [context.searchQuery, context.contentRef, children]);\n\n if (isVisible) {\n return (\n <Stack\n as={motion.div}\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n gap=\"1\"\n align=\"center\"\n justify=\"center\"\n w=\"full\"\n my=\"8\"\n data-tgph-combobox-empty\n {...props}\n >\n {icon === null ? <></> : <Icon {...icon} />}\n {message === null ? <></> : <Text as=\"span\">{message}</Text>}\n </Stack>\n );\n }\n};\n\ntype CreateProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n leadingText?: string;\n values?: Array<Option>;\n onCreate?: (value: Option) => void;\n};\n\nconst Create = <T extends TgphElement>({\n leadingText = \"Create\",\n values,\n onCreate,\n selected = null,\n ...props\n}: CreateProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const variableAlreadyExists = React.useCallback(\n (searchQuery: string | undefined) => {\n if (!values || values?.length === 0) return false;\n return values.some((v) => v.value === searchQuery);\n },\n [values],\n );\n\n if (context.searchQuery && !variableAlreadyExists(context.searchQuery)) {\n return (\n <Option\n leadingIcon={{ icon: Lucide.Plus, \"aria-hidden\": true }}\n mx=\"1\"\n value={context.searchQuery}\n label={`${leadingText} \"${context.searchQuery}\"`}\n selected={selected}\n onSelect={() => {\n if (onCreate && context.value && context.searchQuery) {\n if (isSingleSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n if (isMultiSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n context.setSearchQuery?.(\"\");\n }\n }}\n {...props}\n />\n );\n }\n};\n\nconst Combobox = {} as {\n Root: typeof Root;\n Trigger: typeof Trigger;\n Content: typeof Content;\n Options: typeof Options;\n Option: typeof Option;\n Search: typeof Search;\n Empty: typeof Empty;\n Create: typeof Create;\n};\n\nObject.assign(Combobox, {\n Root,\n Trigger,\n Content,\n Options,\n Option,\n Search,\n Empty,\n Create,\n});\n\nexport { Combobox };\n"],"names":["r","e","f","n","o","clsx","S","z","M","N","y","I","l","a","A","p","w","s","D","L","C","u","d","j","H","i","b","h","c","g","m","T","W","X","v","Y","q","F","G","J","k","$","R","x","_","B","E","P","O","V","te","t","isMultiSelect","value","isSingleSelect","FIRST_KEYS","LAST_KEYS","SELECT_KEYS","ComboboxContext","React","Root","modal","closeOnSelect","openProp","onOpenChangeProp","defaultOpenProp","onValueChange","errored","placeholder","layout","props","contentId","triggerId","triggerRef","searchRef","contentRef","searchQuery","setSearchQuery","open","setOpen","useControllableState","onOpenToggle","prevOpen","jsx","TelegraphMenu","TriggerTag","label","context","jsxs","Tag","motion","Lucide","event","newValue","TriggerValue","size","height","contextValue","truncatedLength","truncatedLengthStringArray","Stack","TelegraphButton","AnimatePresence","RefToTgphRef","Text","Box","_a","_b","Trigger","getAriaLabelString","_c","Content","tgphRef","style","children","hasInteractedOutside","composedRef","useComposedRefs","internalContentRef","setHeight","initialAnimationComplete","setInitialAnimationComplete","setHeightFromContent","element","rect","observer","entries","entry","options","_d","Options","Option","selected","onSelect","isFocused","setIsFocused","isVisible","isSelected","handleSelection","Search","id","handleSearchKeyDown","searchInput","VisuallyHidden","TelegraphInput","Icon","Empty","icon","message","setIsVisible","Fragment","Create","leadingText","values","onCreate","variableAlreadyExists","Combobox"],"mappings":"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ACN,UAAW,OACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,mBACN,KAAM,OACP,EACD,QAAS,CACP,KAAM,gBACN,KAAM,UACN,UAAW,KACZ,EACD,eAAgB,CACd,KAAM,gBACN,KAAM,UACN,UAAW,UACX,SAAU,WACX,EACD,kBAAmB,CACjB,KAAM,gBACN,KAAM,UACN,UAAW,aACX,SAAU,WACX,EACD,mBAAoB,CAClB,KAAM,gBACN,KAAM,UACN,UAAW,cACX,SAAU,WACX,EACD,gBAAiB,CACf,KAAM,gBACN,KAAM,UACN,UAAW,WACX,SAAU,WACX,EACD,WAAY,CACV,KAAM,gBACN,KAAM,UACN,UAAW,MACX,SAAU,WACX,EACD,cAAe,CACb,KAAM,gBACN,KAAM,UACN,UAAW,SACX,SAAU,WACX,EACD,YAAa,CACX,KAAM,gBACN,KAAM,UACN,UAAW,OACX,SAAU,WACX,EACD,aAAc,CACZ,KAAM,gBACN,KAAM,UACN,UAAW,QACX,SAAU,WACX,EACD,OAAQ,CACN,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,UAAW,CACT,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,WAAY,CACV,KAAM,eACN,KAAM,UACN,UAAW,OACX,QAAS,IACV,EACD,aAAc,CACZ,KAAM,eACN,KAAM,UACN,UAAW,SACX,QAAS,IACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,UACN,UAAW,QACX,QAAS,IACV,EACD,QAAS,CACP,KAAM,eACN,KAAM,UACN,UAAW,IACX,QAAS,IACV,EACD,QAAS,CACP,KAAM,eACN,KAAM,UACN,UAAW,IACX,QAAS,IACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,QACN,QAAS,QACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,eACN,QAAS,OACV,EACD,OAAQ,CACN,KAAM,aACN,KAAM,QACP,CACH,EAAGC,GAAI,CAAC,CACN,GAAI,EACJ,UAAW,EACX,QAAS,EACT,GAAGpB,CACL,IAAM,CACJ,MAAMD,EAAI,GAAK,MAAOS,EAAIa,EAAE,OAAO,IAAI,EAAGZ,EAAIL,GAAE,EAAGI,CAAC,EAAGS,EAAII,EAAE,QAAQ,IAAM,CACzE,MAAMH,EAAI,CAAE,YAAa,GAAI,GAAGlB,CAAC,EACjC,OAAO,OAAO,KAAKkB,CAAC,EAAE,OACpB,CAACI,EAAGC,KAAO,OAAO,KAAKJ,CAAC,EAAE,KAAMK,GAAMA,IAAMD,CAAC,EAAID,EAAE,IAAIC,CAAC,EAAIL,EAAEK,CAAC,EAAID,EAAE,KAAKC,CAAC,EAAIL,EAAEK,CAAC,EAAGD,GACrF,CAAE,IAAK,CAAA,EAAI,KAAM,EAAI,CAC3B,CACA,EAAK,CAACtB,CAAC,CAAC,EACN,OAAOqB,EAAE,gBAAgB,IAAM,CAC7BL,GAAE,CACA,MAAOC,EAAE,IACT,IAAKT,EACL,SAAUW,CAChB,CAAK,CACF,EAAE,CAACF,EAAE,GAAG,CAAC,EAAmBQ,EAAC,IAC5B1B,EACA,CACE,UAAW2B,EAAE,WAAY,CAAC,EAC1B,IAAKjB,EACL,GAAGQ,EAAE,IACN,CACL,CACA,EAAGU,EAAI,CACL,QAAS,CACP,KAAM,UACN,KAAM,eACN,UAAW,QACZ,EACD,UAAW,CACT,KAAM,iBACN,KAAM,iBACN,UAAW,QACZ,EACD,MAAO,CACL,KAAM,cACN,KAAM,cACN,UAAW,QACZ,EACD,QAAS,CACP,KAAM,kBACN,KAAM,kBACN,UAAW,QACZ,EACD,KAAM,CACJ,KAAM,YACN,KAAM,YACN,UAAW,QACZ,EACD,IAAK,CACH,KAAM,MACN,KAAM,UACN,UAAW,UACZ,CACH,EAAGC,GAAI,CAAC,CACN,UAAW,EACX,QAAS,EACT,GAAG,CACL,IAAM,CACJ,MAAM5B,EAAIqB,EAAE,OAAO,IAAI,EAAGtB,EAAIK,GAAE,EAAGJ,CAAC,EAAGQ,EAAIa,EAAE,QAC3C,IAAM,OAAO,KAAK,CAAC,EAAE,OACnB,CAACZ,EAAGQ,KAAO,OAAO,KAAKU,CAAC,EAAE,KAAMT,GAAMA,IAAMD,CAAC,EAAIR,EAAE,MAAMQ,CAAC,EAAI,EAAEA,CAAC,EAAIR,EAAE,KAAKQ,CAAC,EAAI,EAAEA,CAAC,EAAGR,GACvF,CAAE,MAAO,CAAA,EAAI,KAAM,EAAI,CACxB,EACD,CAAC,CAAC,CACN,EACE,OAAOY,EAAE,gBAAgB,IAAM,CAC7BL,GAAE,CACA,MAAOR,EAAE,MACT,IAAKR,EACL,SAAU2B,CAChB,CAAK,CACF,EAAE,CAACnB,EAAE,MAAOT,CAAC,CAAC,EAAmB0B,EAAC,IACjCL,GACA,CACE,UAAWM,EAAE,aAAc,CAAC,EAC5B,QAAS3B,EACT,GAAGS,EAAE,IACN,CACL,CACA,EAAGqB,GAAI,CACL,MAAO,CACL,KAAM,yFACN,IAAK,qFACL,OAAQ,iGACR,MAAO,6FACP,KAAM,yFACN,OAAQ,iGACR,OAAQ,iGACR,SAAU,WACX,EACD,KAAM,CACJ,KAAM,sFACN,IAAK,kFACL,OAAQ,8FACR,MAAO,0FACP,KAAM,sFACN,OAAQ,8FACR,OAAQ,8FACR,SAAU,WACX,EACD,QAAS,CACP,KAAM,4IACN,IAAK,wIACL,OAAQ,qJACR,MAAO,gJACP,KAAM,4IACN,OAAQ,oJACR,OAAQ,oJACR,SAAU,WACX,EACD,MAAO,CACL,KAAM,gJACN,IAAK,wFACL,OAAQ,iGACR,MAAO,8FACP,KAAM,2FACN,OAAQ,iGACR,OAAQ,iGACR,SAAU,gBACX,CACH,EAAGC,EAAI,CACL,QAAS,CACP,EAAG,CACD,EAAG,OACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,OACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,OACH,EAAG,KACH,IAAK,IACL,GAAI,GACL,CACF,EACD,YAAa,CACX,EAAG,CACD,EAAG,IACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,IACH,EAAG,IACH,IAAK,IACL,GAAI,GACL,EACD,EAAG,CACD,EAAG,KACH,EAAG,KACH,IAAK,IACL,GAAI,GACL,CACF,CACH,EAAGC,GAAI,CACL,EAAG,IACH,EAAG,IACH,EAAG,GACL,EAAGC,GAAI,CACL,MAAO,CACL,KAAM,QACN,IAAK,QACL,OAAQ,QACR,MAAO,QACP,KAAM,QACN,OAAQ,QACR,OAAQ,QACR,SAAU,UACX,EACD,KAAM,CACJ,KAAM,UACN,IAAK,MACL,OAAQ,SACR,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,QAAS,CACP,KAAM,UACN,IAAK,MACL,OAAQ,SACR,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,MAAO,CACL,KAAM,OACN,IAAK,MACL,OAAQ,SACR,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,CACH,EAAGC,GAAI,CACL,EAAG,IACH,EAAG,IACH,EAAG,GACL,EAAGC,GAAI,CACL,MAAO,CACL,KAAM,QACN,IAAK,QACL,OAAQ,QACR,MAAO,QACP,KAAM,QACN,OAAQ,QACR,OAAQ,QACR,SAAU,UACX,EACD,KAAM,CACJ,OAAQ,SACR,KAAM,OACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,QAAS,CACP,OAAQ,SACR,KAAM,OACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,EACD,MAAO,CACL,OAAQ,SACR,KAAM,UACN,IAAK,MACL,MAAO,QACP,KAAM,OACN,OAAQ,SACR,OAAQ,SACR,SAAU,UACX,CACH,EAAGC,GAAI,CACL,QAAS,YACT,YAAa,SACf,EAAGC,EAAIf,EAAE,cAAc,CACrB,QAAS,QACT,KAAM,IACN,MAAO,OACP,MAAO,UACP,OAAQ,UACR,OAAQ,EACV,CAAC,EAAGgB,GAAI,CAAC,CACP,GAAI,EACJ,QAAS,EAAI,QACb,KAAM,EAAI,IACV,MAAOrC,EAAI,OACX,MAAOD,EAAI,UACX,OAAQS,EAAI,GACZ,SAAUC,EACV,UAAWQ,EACX,GAAGC,CACL,IAAM,CACJ,MAAMI,EAAIb,EAAI,WAAaV,EAAGwB,EAAID,IAAM,WAAa,WAAatB,EAAGwB,EAAIH,EAAE,QAAQ,IAAM,CACvF,IAAIiB,EACJ,MAAMxC,EAAIuB,EAAE,SAAS,QAAQH,GAAK,KAAO,OAASA,EAAE,QAAQ,EAC5D,IAAKpB,GAAK,KAAO,OAASA,EAAE,UAAY,GAAKuB,EAAE,eAAevB,EAAE,CAAC,CAAC,EAAG,CACnE,MAAMyC,EAAIzC,EAAE,CAAC,EACb,IAAKwC,EAAIC,GAAK,KAAO,OAASA,EAAE,QAAU,MAAQD,EAAE,KAClD,MAAO,WACV,CACD,MAAO,SACX,EAAK,CAACpB,GAAK,KAAO,OAASA,EAAE,QAAQ,CAAC,EACpC,OAAuBO,EAAC,IACtBW,EAAE,SACF,CACE,MAAO,CAAE,QAAS,EAAG,KAAM,EAAG,MAAOb,EAAG,MAAOD,EAAG,OAAQE,EAAG,OAAQhB,CAAG,EACxE,SAA0BiB,EAAC,IACzBG,GACA,CACE,GAAI,GAAK,SACT,UAAWF,EACT,mFACA,iCACAJ,IAAM,YAAc,qBACpBO,GAAE,CAAC,EAAEN,CAAC,EACNO,EAAEN,CAAC,EAAE,CAAC,EACNP,CACD,EACD,EAAGa,EAAEN,CAAC,EAAE,CAAC,EAAE,EACX,EAAGM,EAAEN,CAAC,EAAE,CAAC,EAAE,EACX,IAAKM,EAAEN,CAAC,EAAE,CAAC,EAAE,IACb,GAAIM,EAAEN,CAAC,EAAE,CAAC,EAAE,GACZ,QAAS,cACT,MAAO,SACP,QAAS,SACT,QAAS,IACT,mBAAoB,GACpB,0BAA2BA,EAC3B,0BAA2BhB,EAC3B,SAAUC,EACV,GAAGS,CACJ,CACF,CACF,CACL,CACA,EAAGsB,EAAI,CAAC,CACN,KAAM,EACN,MAAO,EACP,QAAS,EACT,KAAMxC,EACN,IAAKD,EACL,cAAeS,EACf,GAAGC,CACL,IAAM,CACJ,MAAMQ,EAAII,EAAE,WAAWe,CAAC,EAAGlB,EAAI,CAC7B,KAAM,GAAKe,GAAEhB,EAAE,IAAI,EACnB,MAAO,GAAKiB,GAAEjB,EAAE,OAAO,EAAEA,EAAE,KAAK,EAChC,QAAS,GAAKkB,GAAElB,EAAE,MAAM,CAC5B,EACE,OAAuBQ,EAAC,IACtBgB,EAAC,KACD,CACE,KAAMzC,EACN,mBAAoB,GACpB,GAAGD,EAAI,CAAE,IAAKA,CAAC,EAAK,CAAE,cAAeS,CAAG,EACxC,GAAGU,EACH,GAAGT,CACJ,CACL,CACA,EAAGiC,GAAI,CAAC,CACN,GAAI,EACJ,MAAO,EACP,KAAM,EACN,OAAQ1C,EAAI,SACZ,UAAWD,EACX,GAAGS,CACL,IAAM,CACJ,MAAMC,EAAIY,EAAE,WAAWe,CAAC,EACxB,OAAuBX,EAAC,IACtBkB,EAAC,KACD,CACE,GAAI,GAAK,OACT,MAAO,GAAKX,GAAEvB,EAAE,OAAO,EAAEA,EAAE,KAAK,EAChC,KAAM,GAAKsB,GAAEtB,EAAE,IAAI,EACnB,OAAQT,EACR,UAAW0B,EAAE,iCAAkC3B,CAAC,EAChD,oBAAqB,GACrB,mBAAoB,GACpB,GAAGS,CACJ,CACL,CACA,EAAGoC,GAAI,CAAC,CACN,YAAa,EACb,aAAc,EACd,KAAM,EACN,SAAU5C,EACV,GAAGD,CACL,IAAM,CACJ,MAAMS,EAAI,GAAK,EACf,OAAuBqC,EAAC,KAACR,GAAG,CAAE,GAAGtC,EAAG,SAAU,CAC5CS,GAAqBiB,EAAAA,IAAEe,EAAG,CAAE,GAAGhC,CAAC,CAAE,EAClCR,GAAqByB,EAAAA,IAAEiB,GAAG,CAAE,SAAU1C,CAAC,CAAE,EACzC,GAAqByB,EAAAA,IAAEe,EAAG,CAAE,GAAG,CAAC,CAAE,CACnC,CAAA,CAAE,CACL,EACA,OAAO,OAAOI,GAAG,CACf,KAAMP,GACN,KAAMG,EACN,KAAME,EACR,CAAC,EACD,MAAMI,EAAKF,GC9tBLnC,EAAI,CAAC,KAAM,KAAM,KAAM,KAAM,KAAK,EAAGU,GAAKE,GAAM,CACpD,MAAMxB,EAAI,CAAA,EACV,IAAIkD,EAAI,KACR,QAASnD,EAAI,EAAGA,EAAIa,EAAE,OAAQb,IAAK,CACjC,MAAMG,EAAIU,EAAEb,CAAC,EACb,GAAIyB,EAAEtB,CAAC,EACLgD,EAAI1B,EAAEtB,CAAC,EAAGF,EAAE,KAAKkD,CAAC,UACXA,IAAM,KACblD,EAAE,KAAKkD,CAAC,MACL,CACH,IAAIlC,EAAI,KACR,QAASb,EAAIJ,EAAI,EAAGI,EAAIS,EAAE,OAAQT,IAChC,GAAIqB,EAAEZ,EAAET,CAAC,CAAC,EAAG,CACXa,EAAIQ,EAAEZ,EAAET,CAAC,CAAC,EACV,KACD,CACH,GAAIa,IAAM,KAAM,CACd,QAASb,EAAI,EAAGA,GAAKJ,EAAGI,IACtBH,EAAE,KAAKgB,CAAC,EACVkC,EAAIlC,CACL,CACF,CACF,CACD,OAAOhB,CACT,EAAGuC,GAAKf,GAAM,OAAOA,GAAK,WAAaA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,KAAK,GAAIH,EAAI,CAAC,CACrF,MAAOG,EACP,KAAMxB,CACR,IAAM,CACJ,GAAI,CAACwB,EAAG,MAAO,GACf,GAAIxB,EAAE,YAAc,SAClB,OAAOwB,EAAE,WACX,MAAM0B,EAAIlD,EAAE,OAAS,QAAU,GAAK,IAAIA,EAAE,IAAI,GAC9C,OAAOwB,IAAM,GAAK,aAAa0B,CAAC,IAAIlD,EAAE,OAAO,IAAM,aAAakD,CAAC,IAAI1B,CAAC,GACxE,EAAGC,EAAI,CACL,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,CACR,EAAGX,EAAI,CACL,QAAS,EACT,SAAU,EACV,YAAa,EACb,WAAY,CACd,EAAGiC,GAAI,CAAC,CACN,aAAcvB,EACd,MAAOxB,EACP,KAAMkD,EACN,UAAWnD,EAAI,KACjB,IAAM,CACJ,MAAMG,EAAIsB,EAAE,UAAU0B,EAAE,IAAI,EAAE,GAAK,GAAIlC,EAAId,EAAIA,EAAE,MAAM,GAAG,EAAI,CAAE,EAAEC,EAAI,EACnEa,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,GAC9BA,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,GAC9BA,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,GAC9BA,GAAK,KAAO,OAASA,EAAE,CAAC,IAAM,CACnC,EACE,OAAOjB,IAAM,MAAQsB,EAAE,CAAE,MAAOrB,EAAG,KAAMkD,EAAG,GAAKA,EAAE,WAAa,aAAenD,IAAM,QAAUI,EAAEW,EAAE,OAAO,EAAIO,EAAE,CAC9G,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,QAAQ,EAAIO,EAAE,CACpB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,UAAYI,EAAEW,EAAE,QAAQ,EAAIO,EAAE,CACvC,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,WAAW,EAAIO,EAAE,CACvB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,WAAaI,EAAEW,EAAE,WAAW,EAAIO,EAAE,CAC3C,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,UAAU,EAAIO,EAAE,CACtB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,SAAWI,EAAEW,EAAE,UAAU,EAAIO,EAAE,CACxC,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEW,EAAE,OAAO,EAAIO,EAAE,CACnB,MAAOrB,EACP,KAAMkD,CACV,CAAG,IAAKnD,IAAM,WAAaA,IAAM,YAAcA,IAAM,eAAiBA,IAAM,gBAAkBI,EAAEW,EAAEf,CAAC,CAAC,EAAIsB,EAAE,CACtG,MAAOrB,EACP,KAAMkD,CACV,CAAG,KAAOnD,IAAM,MAAQI,EAAEsB,EAAE,IAAI,EAAIJ,EAAE,CAClC,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEsB,EAAE,KAAK,EAAIJ,EAAE,CACjB,MAAOrB,EACP,KAAMkD,CACV,CAAG,GAAInD,IAAM,MAAQI,EAAEsB,EAAE,GAAG,EAAIJ,EAAE,CAC9B,MAAOrB,EACP,KAAMkD,CACP,CAAA,EAAG/C,EAAEsB,EAAE,MAAM,EAAIJ,EAAE,CAClB,MAAOrB,EACP,KAAMkD,CACV,CAAG,IAAKnD,IAAM,OAASA,IAAM,UAAYA,IAAM,QAAUA,IAAM,WAAaI,EAAEsB,EAAE1B,CAAC,CAAC,EAAIsB,EAAE,CACpF,MAAOrB,EACP,KAAMkD,CACP,CAAA,IAAK/C,EAAE,KAAK,GAAG,EAClB,EAAGM,EAAI,CAAC,CACN,KAAMe,EACN,MAAOxB,EACP,aAAckD,CAChB,IAAM1B,EAAE,UAAYuB,GAAE,CACpB,aAAcG,EACd,KAAM1B,EACN,MAAOxB,EACP,UAAWwB,EAAE,UACb,KAAMA,EAAE,IACV,CAAC,EAAIH,EAAE,CAAE,MAAOrB,EAAG,KAAMwB,CAAC,CAAE,EAAGN,GAAI,CAAC,CAClC,MAAOM,EACP,IAAKxB,EACL,SAAUkD,CACZ,IAAM,CACJ,GAAI,CAAClD,EAAE,QAAS,OAChB,MAAMD,EAAI,CAAA,EACV,OAAO,QAAQyB,CAAC,EAAE,QAAQ,CAAC,CAACtB,EAAGc,CAAC,IAAM,CACpC,MAAMb,EAAI+C,EAAEhD,CAAC,EACbC,IAAM,OAAOa,GAAK,UAAY,OAAOA,GAAK,UAAYjB,EAAE,UAAUI,EAAE,IAAI,EAAE,EAAIM,EAAE,CAC9E,KAAMN,EACN,IAAKD,EACL,MAAOc,EACP,aAAcjB,CACpB,CAAK,EAAIwC,GAAEvB,CAAC,GAAKM,GAAEN,CAAC,EAAE,QAAQ,CAACW,EAAG1B,IAAM,CAClC0B,IAAM5B,EAAE,UAAUI,EAAE,IAAI,IAAIS,EAAEX,CAAC,CAAC,EAAE,EAAIQ,EAAE,CACtC,KAAMN,EACN,IAAKD,EACL,MAAOyB,EACP,aAAc5B,CACf,CAAA,EACP,CAAK,GAAI,OAAO,QAAQA,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAG4B,CAAC,IAAM,CACzC3B,EAAE,SAAWA,EAAE,QAAQ,MAAM,YAAY,EAAG2B,CAAC,CACnD,CAAK,CACL,CAAG,CACH,EAAGE,EAAI,CACL,QAAS,CACP,KAAM,UACN,KAAM,gBACN,UAAW,QACZ,EACD,EAAG,CACD,KAAM,SACN,KAAM,SACP,EACD,EAAG,CACD,KAAM,QACN,KAAM,SACP,EACD,KAAM,CACJ,KAAM,aACN,KAAM,SACP,EACD,KAAM,CACJ,KAAM,YACN,KAAM,SACP,EACD,EAAG,CACD,KAAM,UACN,KAAM,UACN,UAAW,KACZ,EACD,EAAG,CACD,KAAM,SACN,KAAM,UACN,UAAW,KACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,KACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,MACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,QACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,OACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,UACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,KACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,MACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,QACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,OACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,SACN,KAAM,UACN,UAAW,GACZ,EACD,GAAI,CACF,KAAM,mBACN,KAAM,OACP,EACD,QAAS,CACP,KAAM,gBACN,KAAM,UACN,UAAW,KACZ,EACD,eAAgB,CACd,KAAM,gBACN,KAAM,UACN,UAAW,UACX,SAAU,WACX,EACD,kBAAmB,CACjB,KAAM,gBACN,KAAM,UACN,UAAW,aACX,SAAU,WACX,EACD,mBAAoB,CAClB,KAAM,gBACN,KAAM,UACN,UAAW,cACX,SAAU,WACX,EACD,gBAAiB,CACf,KAAM,gBACN,KAAM,UACN,UAAW,WACX,SAAU,WACX,EACD,WAAY,CACV,KAAM,gBACN,KAAM,UACN,UAAW,MACX,SAAU,WACX,EACD,cAAe,CACb,KAAM,gBACN,KAAM,UACN,UAAW,SACX,SAAU,WACX,EACD,YAAa,CACX,KAAM,gBACN,KAAM,UACN,UAAW,OACX,SAAU,WACX,EACD,aAAc,CACZ,KAAM,gBACN,KAAM,UACN,UAAW,QACX,SAAU,WACX,EACD,OAAQ,CACN,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,UAAW,CACT,KAAM,eACN,KAAM,UACN,UAAW,MACX,QAAS,IACV,EACD,WAAY,CACV,KAAM,eACN,KAAM,UACN,UAAW,OACX,QAAS,IACV,EACD,aAAc,CACZ,KAAM,eACN,KAAM,UACN,UAAW,SACX,QAAS,IACV,EACD,YAAa,CACX,KAAM,eACN,KAAM,UACN,UAAW,QACX,QAAS,IACV,EACD,QAAS,CACP,KAAM,eACN,KAA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","x_google_ignoreList":[0]}
|
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../node_modules/clsx/dist/clsx.mjs","../../../button/dist/esm/index.mjs","../../../layout/dist/esm/index.mjs","../../src/Combobox/Combobox.helpers.ts","../../src/Combobox/Combobox.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { jsx as g, jsxs as V } from \"react/jsx-runtime\";\nimport { Icon as B } from \"@telegraph/icon\";\nimport * as N from \"react\";\nimport i from \"react\";\nimport m from \"clsx\";\nimport { Text as P } from \"@telegraph/typography\";\nfunction S(r, t) {\n typeof r == \"function\" ? r(t) : r != null && (r.current = t);\n}\nfunction z(...r) {\n return (t) => r.forEach((e) => S(e, t));\n}\nfunction M(...r) {\n return N.useCallback(z(...r), r);\n}\nconst y = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], I = (r) => {\n const t = [];\n let e = null;\n for (let o = 0; o < y.length; o++) {\n const n = y[o];\n if (r[n])\n e = r[n], t.push(e);\n else if (e !== null)\n t.push(e);\n else {\n let l = null;\n for (let a = o + 1; a < y.length; a++)\n if (r[y[a]]) {\n l = r[y[a]];\n break;\n }\n if (l !== null) {\n for (let a = 0; a <= o; a++)\n t.push(l);\n e = l;\n }\n }\n }\n return t;\n}, A = (r) => typeof r == \"object\" && (r.sm || r.md || r.lg || r.xl || r[\"2xl\"]), p = ({\n value: r,\n prop: t\n}) => {\n if (!r) return \"\";\n if (t.valueType === \"static\")\n return r.toString();\n const e = t.type === \"color\" ? \"\" : `-${t.type}`;\n return r === !0 ? `var(--tgph${e}-${t.default})` : `var(--tgph${e}-${r})`;\n}, w = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, s = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, D = ({\n cssVariables: r,\n value: t,\n prop: e,\n direction: o = \"all\"\n}) => {\n const n = r[`--tgph-${e.rule}`] || \"\", l = n ? n.split(\" \") : [], a = [\n (l == null ? void 0 : l[0]) || 0,\n (l == null ? void 0 : l[1]) || 0,\n (l == null ? void 0 : l[2]) || 0,\n (l == null ? void 0 : l[3]) || 0\n ];\n return o === \"all\" ? p({ value: t, prop: e }) : (e.ordering === \"clockwise\" ? (o === \"top\" && (a[s.topLeft] = p({\n value: t,\n prop: e\n }), a[s.topRight] = p({\n value: t,\n prop: e\n })), o === \"right\" && (a[s.topRight] = p({\n value: t,\n prop: e\n }), a[s.bottomRight] = p({\n value: t,\n prop: e\n })), o === \"bottom\" && (a[s.bottomRight] = p({\n value: t,\n prop: e\n }), a[s.bottomLeft] = p({\n value: t,\n prop: e\n })), o === \"left\" && (a[s.bottomLeft] = p({\n value: t,\n prop: e\n }), a[s.topLeft] = p({\n value: t,\n prop: e\n })), (o === \"topLeft\" || o === \"topRight\" || o === \"bottomRight\" || o === \"bottomLeft\") && (a[s[o]] = p({\n value: t,\n prop: e\n }))) : (o === \"x\" && (a[w.left] = p({\n value: t,\n prop: e\n }), a[w.right] = p({\n value: t,\n prop: e\n })), o === \"y\" && (a[w.top] = p({\n value: t,\n prop: e\n }), a[w.bottom] = p({\n value: t,\n prop: e\n })), (o === \"top\" || o === \"bottom\" || o === \"left\" || o === \"right\") && (a[w[o]] = p({\n value: t,\n prop: e\n }))), a.join(\" \"));\n}, L = ({\n prop: r,\n value: t,\n cssVariables: e\n}) => r.direction ? D({\n cssVariables: e,\n prop: r,\n value: t,\n direction: r.direction,\n type: r.type\n}) : p({ value: t, prop: r }), C = ({\n props: r,\n ref: t,\n propsMap: e\n}) => {\n if (!t.current) return;\n const o = {};\n Object.entries(r).forEach(([n, l]) => {\n const a = e[n];\n a && (typeof l == \"string\" || typeof l == \"boolean\" ? o[`--tgph-${a.rule}`] = L({\n prop: a,\n key: n,\n value: l,\n cssVariables: o\n }) : A(l) && I(l).forEach((u, d) => {\n u && (o[`--tgph-${a.rule}-${y[d]}`] = L({\n prop: a,\n key: n,\n value: u,\n cssVariables: o\n }));\n })), Object.entries(o).forEach(([u, d]) => {\n t.current && t.current.style.setProperty(u, d);\n });\n });\n}, j = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, H = ({\n as: r,\n className: t,\n tgphRef: e,\n ...o\n}) => {\n const n = r || \"div\", l = i.useRef(null), a = M(e, l), u = i.useMemo(() => {\n const d = { borderColor: !0, ...o };\n return Object.keys(d).reduce(\n (b, h) => (Object.keys(j).some((c) => c === h) ? b.box[h] = d[h] : b.rest[h] = d[h], b),\n { box: {}, rest: {} }\n );\n }, [o]);\n return i.useLayoutEffect(() => {\n C({\n props: u.box,\n ref: l,\n propsMap: j\n });\n }, [u.box]), /* @__PURE__ */ g(\n n,\n {\n className: m(\"tgph-box\", t),\n ref: a,\n ...u.rest\n }\n );\n}, T = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, W = ({\n className: r,\n tgphRef: t,\n ...e\n}) => {\n const o = i.useRef(null), n = M(t, o), l = i.useMemo(\n () => Object.keys(e).reduce(\n (a, u) => (Object.keys(T).some((d) => d === u) ? a.stack[u] = e[u] : a.rest[u] = e[u], a),\n { stack: {}, rest: {} }\n ),\n [e]\n );\n return i.useLayoutEffect(() => {\n C({\n props: l.stack,\n ref: o,\n propsMap: T\n });\n }, [l.stack, n]), /* @__PURE__ */ g(\n H,\n {\n className: m(\"tgph-stack\", r),\n tgphRef: n,\n ...l.rest\n }\n );\n}, X = {\n solid: {\n gray: \"bg-gray-9 hover:bg-gray-10 focus:bg-gray-11 data-[tgph-button-active=true]:!bg-gray-11\",\n red: \"bg-red-9 hover:bg-red-10 focus:bg-red-11 data-[tgph-button-active=true]:!bg-red-11\",\n accent: \"bg-accent-9 hover:bg-accent-10 focus:bg-accent-11 data-[tgph-button-active=true]:!bg-accent-11\",\n green: \"bg-green-9 hover:bg-green-10 focus:bg-green-11 data-[tgph-button-active=true]:!bg-green-11\",\n blue: \"bg-blue-9 hover:bg-blue-10 focus:bg-blue-11 data-[tgph-button-active=true]:!bg-blue-11\",\n yellow: \"bg-yellow-9 hover:bg-yellow-10 focus:bg-yellow-11 data-[tgph-button-active=true]:!bg-yellow-11\",\n purple: \"bg-purple-9 hover:bg-purple-10 focus:bg-purple-11 data-[tgph-button-active=true]:!bg-purple-11\",\n disabled: \"bg-gray-2\"\n },\n soft: {\n gray: \"bg-gray-3 hover:bg-gray-4 focus:bg-gray-5 data-[tgph-button-active=true]:!bg-gray-5\",\n red: \"bg-red-3 hover:bg-red-4 focus:bg-red-5 data-[tgph-button-active=true]:!bg-red-5\",\n accent: \"bg-accent-3 hover:bg-accent-4 focus:bg-accent-6 data-[tgph-button-active=true]:!bg-accent-6\",\n green: \"bg-green-3 hover:bg-green-4 focus:bg-green-5 data-[tgph-button-active=true]:!bg-green-5\",\n blue: \"bg-blue-3 hover:bg-blue-4 focus:bg-blue-5 data-[tgph-button-active=true]:!bg-blue-5\",\n yellow: \"bg-yellow-3 hover:bg-yellow-4 focus:bg-yellow-5 data-[tgph-button-active=true]:!bg-yellow-5\",\n purple: \"bg-purple-3 hover:bg-purple-4 focus:bg-purple-5 data-[tgph-button-active=true]:!bg-purple-5\",\n disabled: \"bg-gray-2\"\n },\n outline: {\n gray: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-gray-6 hover:shadow-gray-7 focus:shadow-gray-8 data-[tgph-button-active=true]:!shadow-gray-8\",\n red: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-red-6 hover:shadow-red-7 focus:shadow-red-8 data-[tgph-button-active=true]:!shadow-red-8\",\n accent: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-accent-6 hover:shadow-accent-7 focus:shadow-accent-8 data-[tgph-button-active=true]:!shadow-accent-8\",\n green: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-green-6 hover:shadow-green-7 focus:shadow-green-8 data-[tgph-button-active=true]:!shadow-green-8\",\n blue: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-blue-6 hover:shadow-blue-7 focus:shadow-blue-8 data-[tgph-button-active=true]:!shadow-blue-8\",\n yellow: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-yellow-6 hover:shadow-yellow-7 focus:shadow-yellow-8 data-[tgph-button-active=true]:!shadow-yellow-8\",\n purple: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-purple-6 hover:shadow-purple-7 focus:shadow-purple-8 data-[tgph-button-active=true]:!shadow-purple-8\",\n disabled: \"bg-gray-2\"\n },\n ghost: {\n gray: \"bg-transparent hover:bg-gray-3 focus:bg-gray-4 data-[tgph-button-active=true]:!bg-gray-4 [&data-[tgph-button-active=true]>span]:!text-gray-12\",\n red: \"bg-transparent hover:bg-red-3 focus:bg-red-4 data-[tgph-button-active=true]:!bg-red-4\",\n accent: \"bg-transparent hover:bg-accent-3 focus:bg-accent-4 data-[tgph-button-active=true]:!bg-accent-4\",\n green: \"bg-transparent hover:bg-green-3 focus:bg-green-4 data-[tgph-button-active=true]:!bg-green-4\",\n blue: \"bg-transparent hover:bg-blue-3 focus:bg-blue-4 data-[tgph-button-active=true]:!bg-blue-4\",\n yellow: \"bg-transparent hover:bg-yellow-3 focus:bg-yellow-4 data-[tgph-button-active=true]:!bg-yellow-4\",\n purple: \"bg-transparent hover:bg-purple-3 focus:bg-purple-4 data-[tgph-button-active=true]:!bg-purple-4\",\n disabled: \"bg-transparent\"\n }\n}, v = {\n default: {\n 1: {\n w: \"auto\",\n h: \"6\",\n gap: \"1\",\n px: \"2\"\n },\n 2: {\n w: \"auto\",\n h: \"8\",\n gap: \"2\",\n px: \"3\"\n },\n 3: {\n w: \"auto\",\n h: \"10\",\n gap: \"3\",\n px: \"4\"\n }\n },\n \"icon-only\": {\n 1: {\n w: \"6\",\n h: \"6\",\n gap: \"0\",\n px: \"0\"\n },\n 2: {\n w: \"8\",\n h: \"8\",\n gap: \"0\",\n px: \"0\"\n },\n 3: {\n w: \"10\",\n h: \"10\",\n gap: \"0\",\n px: \"0\"\n }\n }\n}, Y = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, q = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n gray: \"gray\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, F = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, G = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n accent: \"accent\",\n gray: \"default\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, J = {\n default: \"secondary\",\n \"icon-only\": \"primary\"\n}, k = i.createContext({\n variant: \"solid\",\n size: \"2\",\n color: \"gray\",\n state: \"default\",\n layout: \"default\",\n active: !1\n}), $ = ({\n as: r,\n variant: t = \"solid\",\n size: e = \"2\",\n color: o = \"gray\",\n state: n = \"default\",\n active: l = !1,\n disabled: a,\n className: u,\n ...d\n}) => {\n const b = a ? \"disabled\" : n, h = b === \"disabled\" ? \"disabled\" : o, c = i.useMemo(() => {\n var R;\n const f = i.Children.toArray(d == null ? void 0 : d.children);\n if ((f == null ? void 0 : f.length) === 1 && i.isValidElement(f[0])) {\n const x = f[0];\n if ((R = x == null ? void 0 : x.props) != null && R.icon)\n return \"icon-only\";\n }\n return \"default\";\n }, [d == null ? void 0 : d.children]);\n return /* @__PURE__ */ g(\n k.Provider,\n {\n value: { variant: t, size: e, color: h, state: b, layout: c, active: l },\n children: /* @__PURE__ */ g(\n W,\n {\n as: r || \"button\",\n className: m(\n \"appearance-none border-0 cursor-pointer bg-none box-border [font-family:inherit]\",\n \"transition-colors no-underline\",\n b === \"disabled\" && \"cursor-not-allowed\",\n X[t][h],\n v[c][e],\n u\n ),\n h: v[c][e].h,\n w: v[c][e].w,\n gap: v[c][e].gap,\n px: v[c][e].px,\n display: \"inline-flex\",\n align: \"center\",\n justify: \"center\",\n rounded: \"3\",\n \"data-tgph-button\": !0,\n \"data-tgph-button-layout\": c,\n \"data-tgph-button-active\": l,\n disabled: a,\n ...d\n }\n )\n }\n );\n}, _ = ({\n size: r,\n color: t,\n variant: e,\n icon: o,\n alt: n,\n \"aria-hidden\": l,\n ...a\n}) => {\n const u = i.useContext(k), d = {\n size: r ?? F[u.size],\n color: t ?? G[u.variant][u.color],\n variant: e ?? J[u.layout]\n };\n return /* @__PURE__ */ g(\n B,\n {\n icon: o,\n \"data-button-icon\": !0,\n ...n ? { alt: n } : { \"aria-hidden\": l },\n ...d,\n ...a\n }\n );\n}, E = ({\n as: r,\n color: t,\n size: e,\n weight: o = \"medium\",\n className: n,\n ...l\n}) => {\n const a = i.useContext(k);\n return /* @__PURE__ */ g(\n P,\n {\n as: r || \"span\",\n color: t ?? q[a.variant][a.color],\n size: e ?? Y[a.size],\n weight: o,\n className: m(\"no-underline whitespace-nowrap\", n),\n internal_optionalAs: !0,\n \"data-button-text\": !0,\n ...l\n }\n );\n}, O = ({\n leadingIcon: r,\n trailingIcon: t,\n icon: e,\n children: o,\n ...n\n}) => {\n const l = r || e;\n return /* @__PURE__ */ V($, { ...n, children: [\n l && /* @__PURE__ */ g(_, { ...l }),\n o && /* @__PURE__ */ g(E, { children: o }),\n t && /* @__PURE__ */ g(_, { ...t })\n ] });\n};\nObject.assign(O, {\n Root: $,\n Icon: _,\n Text: E\n});\nconst te = O;\nexport {\n te as Button\n};\n//# sourceMappingURL=index.mjs.map\n","import { jsx as x } from \"react/jsx-runtime\";\nimport { useComposedRefs as R } from \"@telegraph/compose-refs\";\nimport w from \"clsx\";\nimport u from \"react\";\nconst a = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], j = (i) => {\n const e = [];\n let t = null;\n for (let r = 0; r < a.length; r++) {\n const n = a[r];\n if (i[n])\n t = i[n], e.push(t);\n else if (t !== null)\n e.push(t);\n else {\n let s = null;\n for (let o = r + 1; o < a.length; o++)\n if (i[a[o]]) {\n s = i[a[o]];\n break;\n }\n if (s !== null) {\n for (let o = 0; o <= r; o++)\n e.push(s);\n t = s;\n }\n }\n }\n return e;\n}, k = (i) => typeof i == \"object\" && (i.sm || i.md || i.lg || i.xl || i[\"2xl\"]), d = ({\n value: i,\n prop: e\n}) => {\n if (!i) return \"\";\n if (e.valueType === \"static\")\n return i.toString();\n const t = e.type === \"color\" ? \"\" : `-${e.type}`;\n return i === !0 ? `var(--tgph${t}-${e.default})` : `var(--tgph${t}-${i})`;\n}, b = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, p = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, O = ({\n cssVariables: i,\n value: e,\n prop: t,\n direction: r = \"all\"\n}) => {\n const n = i[`--tgph-${t.rule}`] || \"\", s = n ? n.split(\" \") : [], o = [\n (s == null ? void 0 : s[0]) || 0,\n (s == null ? void 0 : s[1]) || 0,\n (s == null ? void 0 : s[2]) || 0,\n (s == null ? void 0 : s[3]) || 0\n ];\n return r === \"all\" ? d({ value: e, prop: t }) : (t.ordering === \"clockwise\" ? (r === \"top\" && (o[p.topLeft] = d({\n value: e,\n prop: t\n }), o[p.topRight] = d({\n value: e,\n prop: t\n })), r === \"right\" && (o[p.topRight] = d({\n value: e,\n prop: t\n }), o[p.bottomRight] = d({\n value: e,\n prop: t\n })), r === \"bottom\" && (o[p.bottomRight] = d({\n value: e,\n prop: t\n }), o[p.bottomLeft] = d({\n value: e,\n prop: t\n })), r === \"left\" && (o[p.bottomLeft] = d({\n value: e,\n prop: t\n }), o[p.topLeft] = d({\n value: e,\n prop: t\n })), (r === \"topLeft\" || r === \"topRight\" || r === \"bottomRight\" || r === \"bottomLeft\") && (o[p[r]] = d({\n value: e,\n prop: t\n }))) : (r === \"x\" && (o[b.left] = d({\n value: e,\n prop: t\n }), o[b.right] = d({\n value: e,\n prop: t\n })), r === \"y\" && (o[b.top] = d({\n value: e,\n prop: t\n }), o[b.bottom] = d({\n value: e,\n prop: t\n })), (r === \"top\" || r === \"bottom\" || r === \"left\" || r === \"right\") && (o[b[r]] = d({\n value: e,\n prop: t\n }))), o.join(\" \"));\n}, y = ({\n prop: i,\n value: e,\n cssVariables: t\n}) => i.direction ? O({\n cssVariables: t,\n prop: i,\n value: e,\n direction: i.direction,\n type: i.type\n}) : d({ value: e, prop: i }), L = ({\n props: i,\n ref: e,\n propsMap: t\n}) => {\n if (!e.current) return;\n const r = {};\n Object.entries(i).forEach(([n, s]) => {\n const o = t[n];\n o && (typeof s == \"string\" || typeof s == \"boolean\" ? r[`--tgph-${o.rule}`] = y({\n prop: o,\n key: n,\n value: s,\n cssVariables: r\n }) : k(s) && j(s).forEach((c, f) => {\n c && (r[`--tgph-${o.rule}-${a[f]}`] = y({\n prop: o,\n key: n,\n value: c,\n cssVariables: r\n }));\n })), Object.entries(r).forEach(([l, c]) => {\n e.current && e.current.style.setProperty(l, c);\n });\n });\n}, m = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, C = ({\n as: i,\n className: e,\n tgphRef: t,\n ...r\n}) => {\n const n = i || \"div\", s = u.useRef(null), o = R(t, s), l = u.useMemo(() => {\n const c = { borderColor: !0, ...r };\n return Object.keys(c).reduce(\n (f, g) => (Object.keys(m).some((T) => T === g) ? f.box[g] = c[g] : f.rest[g] = c[g], f),\n { box: {}, rest: {} }\n );\n }, [r]);\n return u.useLayoutEffect(() => {\n L({\n props: l.box,\n ref: s,\n propsMap: m\n });\n }, [l.box]), /* @__PURE__ */ x(\n n,\n {\n className: w(\"tgph-box\", e),\n ref: o,\n ...l.rest\n }\n );\n}, h = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, E = ({\n className: i,\n tgphRef: e,\n ...t\n}) => {\n const r = u.useRef(null), n = R(e, r), s = u.useMemo(\n () => Object.keys(t).reduce(\n (o, l) => (Object.keys(h).some((c) => c === l) ? o.stack[l] = t[l] : o.rest[l] = t[l], o),\n { stack: {}, rest: {} }\n ),\n [t]\n );\n return u.useLayoutEffect(() => {\n L({\n props: s.stack,\n ref: r,\n propsMap: h\n });\n }, [s.stack, n]), /* @__PURE__ */ x(\n C,\n {\n className: w(\"tgph-stack\", i),\n tgphRef: n,\n ...s.rest\n }\n );\n};\nexport {\n C as Box,\n E as Stack\n};\n//# sourceMappingURL=index.mjs.map\n","export type Option = { value: string; label?: string };\nexport const isMultiSelect = (\n value: Option | Array<Option>,\n): value is Array<Option> => {\n return Array.isArray(value);\n};\n\nexport const isSingleSelect = (\n value: Option | Array<Option>,\n): value is Option => {\n return typeof value === \"object\" && !Array.isArray(value);\n};\n","import { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { Button as TelegraphButton } from \"@telegraph/button\";\nimport { useComposedRefs } from \"@telegraph/compose-refs\";\nimport {\n RefToTgphRef,\n type TgphComponentProps,\n type TgphElement,\n} from \"@telegraph/helpers\";\nimport { Icon, Lucide } from \"@telegraph/icon\";\nimport { Input as TelegraphInput } from \"@telegraph/input\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { Menu as TelegraphMenu } from \"@telegraph/menu\";\nimport { Tag } from \"@telegraph/tag\";\nimport { Text } from \"@telegraph/typography\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { type Option, isMultiSelect, isSingleSelect } from \"./Combobox.helpers\";\n\nconst FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nconst LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nconst SELECT_KEYS = [\"Enter\", \" \"];\n\ntype RootProps = (\n | {\n value?: Array<Option>;\n onValueChange?: (value: Array<Option>) => void;\n layout?: \"truncate\" | \"wrap\";\n }\n | {\n value?: Option;\n onValueChange?: (value: Option) => void;\n layout?: never;\n }\n) & {\n open?: boolean;\n defaultOpen?: boolean;\n errored?: boolean;\n placeholder?: string;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n closeOnSelect?: boolean;\n children?: React.ReactNode;\n};\n\nconst ComboboxContext = React.createContext<\n Omit<RootProps, \"children\"> & {\n contentId: string;\n triggerId: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n onOpenToggle: () => void;\n searchQuery?: string;\n setSearchQuery?: (query: string) => void;\n triggerRef?: React.RefObject<HTMLDivElement>;\n searchRef?: React.RefObject<HTMLInputElement>;\n contentRef?: React.RefObject<HTMLDivElement>;\n }\n>({\n onValueChange: () => {},\n contentId: \"\",\n triggerId: \"\",\n open: false,\n setOpen: () => {},\n onOpenToggle: () => {},\n});\n\nconst Root = ({\n modal = true,\n closeOnSelect = true,\n open: openProp,\n onOpenChange: onOpenChangeProp,\n defaultOpen: defaultOpenProp,\n value,\n onValueChange,\n errored,\n placeholder,\n layout,\n ...props\n}: RootProps) => {\n const contentId = React.useId();\n const triggerId = React.useId();\n const triggerRef = React.useRef(null);\n const searchRef = React.useRef(null);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const [searchQuery, setSearchQuery] = React.useState<string>(\"\");\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: onOpenChangeProp,\n });\n\n const onOpenToggle = React.useCallback(() => {\n setOpen((prevOpen) => !prevOpen);\n }, [setOpen]);\n\n React.useEffect(() => {\n // If the combobox is closed clear\n // the search query\n if (!open) {\n setSearchQuery(\"\");\n }\n }, [open]);\n\n return (\n <ComboboxContext.Provider\n value={{\n contentId,\n triggerId,\n value,\n onValueChange,\n placeholder,\n open,\n setOpen,\n onOpenToggle,\n closeOnSelect,\n searchQuery,\n setSearchQuery,\n triggerRef,\n searchRef,\n contentRef,\n errored,\n layout,\n }}\n >\n <TelegraphMenu.Root\n open={open}\n onOpenChange={setOpen}\n modal={modal}\n {...props}\n />\n </ComboboxContext.Provider>\n );\n};\n\ntype TriggerTagProps = {\n value: string;\n label?: string;\n};\n\nconst TriggerTag = ({ label, value, ...props }: TriggerTagProps) => {\n const context = React.useContext(ComboboxContext);\n\n return (\n <Tag.Root\n size=\"1\"\n as={motion.span}\n initial={{ opacity: 0, transform: \"scale(0.8)\" }}\n animate={{ opacity: 1, transform: \"scale(1)\" }}\n exit={{ opacity: 0, transform: \"scale(0.5)\" }}\n layout=\"position\"\n transition={{\n duration: 0.2,\n type: \"spring\",\n bounce: 0,\n layout: {\n duration: 0.05,\n type: \"spring\",\n bounce: 0,\n },\n }}\n {...props}\n >\n <Tag.Text>{label || value}</Tag.Text>\n <Tag.Button\n icon={{ icon: Lucide.X, alt: `Remove ${value}` }}\n onClick={(event: React.MouseEvent) => {\n const onValueChange = context.onValueChange as (\n v: Array<Option>,\n ) => void;\n const contextValue = context.value as Array<Option>;\n const newValue = contextValue.filter((v) => v.value !== value);\n onValueChange(newValue);\n // Stop click event from bubbling up\n event.stopPropagation();\n // Stop the button \"submit\" action from triggering\n event.preventDefault();\n }}\n />\n </Tag.Root>\n );\n};\n\ntype TriggerValueProps<T extends TgphElement> = {\n size?: TgphComponentProps<typeof TelegraphButton.Root<T>>[\"size\"];\n};\n\nconst TriggerValue = <T extends TgphElement>({\n size = \"1\",\n}: TriggerValueProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const height = size === \"1\" ? \"6\" : size === \"2\" ? \"8\" : \"10\";\n\n if (context.value && isMultiSelect(context.value)) {\n const contextValue = context.value as Array<Option>;\n const layout = context.layout || \"truncate\";\n const truncatedLength = contextValue.length - 2;\n const truncatedLengthStringArray = truncatedLength.toString().split(\"\");\n\n if (contextValue.length === 0) {\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color=\"gray\">\n {context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n }\n\n return (\n <Stack\n gap=\"1\"\n w=\"full\"\n my=\"1\"\n wrap={layout === \"wrap\" ? \"wrap\" : \"nowrap\"}\n align=\"center\"\n style={{\n position: \"relative\",\n flexGrow: 1,\n }}\n >\n <AnimatePresence initial={false} mode=\"popLayout\">\n {contextValue.map((v, i) => {\n if ((layout === \"truncate\" && i <= 1) || layout === \"wrap\") {\n return (\n <RefToTgphRef key={v.value}>\n <TriggerTag {...v} />\n </RefToTgphRef>\n );\n }\n })}\n </AnimatePresence>\n <AnimatePresence>\n {layout === \"truncate\" && contextValue.length > 2 && (\n <Stack\n as={motion.div}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n h=\"full\"\n pr=\"1\"\n pl=\"8\"\n align=\"center\"\n aria-label={`${truncatedLength} more selected`}\n style={{\n position: \"absolute\",\n right: 0,\n backgroundImage:\n \"linear-gradient(to left, var(--tgph-surface-1) 0 60%, transparent 90% 100%)\",\n }}\n key=\"truncated text\"\n >\n <Text as=\"span\" size=\"1\" style={{ whiteSpace: \"nowrap\" }}>\n +\n <AnimatePresence mode=\"wait\" initial={false}>\n {truncatedLengthStringArray.map((n) => (\n <Box\n as={motion.span}\n w=\"2\"\n display=\"inline-block\"\n initial={{\n opacity: 0.5,\n }}\n animate={{\n opacity: 1,\n }}\n exit={{\n opacity: 0.5,\n }}\n transition={{ duration: 0.1, type: \"spring\", bounce: 0 }}\n key={n}\n >\n {n}\n </Box>\n ))}\n </AnimatePresence>{\" \"}\n more\n </Text>\n </Stack>\n )}\n </AnimatePresence>\n </Stack>\n );\n }\n\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color={!context.value ? \"gray\" : \"default\"}>\n {context?.value?.label || context?.value?.value || context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n};\n\ntype TriggerProps = React.ComponentProps<typeof TelegraphMenu.Anchor> & {\n placeholder?: string;\n size?: TgphComponentProps<typeof TelegraphButton.Root>[\"size\"];\n};\n\nconst Trigger = ({ size = \"1\", ...props }: TriggerProps) => {\n const context = React.useContext(ComboboxContext);\n\n const getAriaLabelString = React.useCallback(() => {\n if (!context.value) return context.placeholder;\n if (isSingleSelect(context.value)) {\n return (\n context.value?.label || context.value?.value || context.placeholder\n );\n } else {\n return (\n context.value?.map((v) => v.label).join(\", \") || context.placeholder\n );\n }\n }, [context.value, context.placeholder]);\n\n return (\n <TelegraphMenu.Anchor\n {...props}\n asChild\n onClick={(event: React.MouseEvent) => {\n event.preventDefault();\n context.onOpenToggle();\n context.triggerRef?.current?.focus();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // Lets the user tab in and out of the combobox as usual\n if (event.key === \"Tab\") {\n event.stopPropagation();\n return;\n }\n if (SELECT_KEYS.includes(event.key)) {\n event.preventDefault();\n return;\n }\n\n if (event.key === \"ArrowDown\") {\n context.onOpenToggle();\n return;\n }\n }}\n tgphRef={context.triggerRef}\n >\n <RefToTgphRef>\n <TelegraphButton.Root\n id={context.triggerId}\n bg=\"surface-1\"\n variant=\"outline\"\n w=\"full\"\n h=\"full\"\n color={context.errored ? \"red\" : \"gray\"}\n justify=\"space-between\"\n // Accessibility attributes\n role=\"combobox\"\n aria-label={getAriaLabelString()}\n aria-controls={context.contentId}\n aria-expanded={context.open}\n aria-haspopup=\"listbox\"\n // Custom attributes\n data-tgph-combobox-trigger\n data-tgph-comobox-trigger-open={context.open}\n >\n <TriggerValue size={size} />\n <TelegraphButton.Icon\n as={motion.div}\n icon={Lucide.ChevronDown}\n animate={{ rotate: context.open ? \"180deg\" : \"0deg\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n aria-hidden\n />\n </TelegraphButton.Root>\n </RefToTgphRef>\n </TelegraphMenu.Anchor>\n );\n};\n\ntype ContentProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Content<T>\n>;\n\nconst Content = <T extends TgphElement>({\n tgphRef,\n style,\n children,\n ...props\n}: ContentProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const hasInteractedOutside = React.useRef(false);\n const composedRef = useComposedRefs<unknown>(tgphRef, context.contentRef);\n\n const internalContentRef = React.useRef(null);\n\n const [height, setHeight] = React.useState(0);\n const [initialAnimationComplete, setInitialAnimationComplete] =\n React.useState(false);\n\n const setHeightFromContent = React.useCallback(\n (element: Element) => {\n // Set the initial height of the content after the animation completes\n const rect = element.getBoundingClientRect();\n if (rect) {\n setHeight(rect.height);\n }\n\n if (!initialAnimationComplete) {\n setInitialAnimationComplete(true);\n }\n },\n [initialAnimationComplete],\n );\n\n React.useEffect(() => {\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const element = entry.target;\n setHeightFromContent(element);\n }\n });\n // Attatch the observer once the initial animation completes\n // and the content ref is available\n if (internalContentRef.current && initialAnimationComplete) {\n observer.observe(internalContentRef.current);\n }\n\n return () => observer.disconnect();\n }, [initialAnimationComplete, setHeightFromContent]);\n\n // Reset the animation complete state when the combobox is closed\n React.useEffect(() => {\n if (initialAnimationComplete === true && context.open === false) {\n setInitialAnimationComplete(false);\n }\n }, [context.open, initialAnimationComplete]);\n\n return (\n <TelegraphMenu.Content\n as={motion.div}\n mt=\"1\"\n initial={{\n opacity: 0,\n scale: 0.8,\n height: \"auto\",\n }}\n animate={{\n opacity: 1,\n scale: 1,\n // Set height based on the internalContentRef so that\n // we get smooth animations when the content changes\n minHeight: height ? `${height}px` : \"0\",\n }}\n exit={{ opacity: 0, scale: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n onInteractOutside={() => {\n context.setOpen(false);\n hasInteractedOutside.current = true;\n }}\n onAnimationComplete={() => {\n // Set height when the initial animation for\n // displaying the content completes\n if (!initialAnimationComplete && internalContentRef) {\n const element = internalContentRef.current as unknown as Element;\n setHeightFromContent(element);\n }\n }}\n onCloseAutoFocus={(event: Event) => {\n if (!hasInteractedOutside.current) context.triggerRef?.current?.focus();\n hasInteractedOutside.current = false;\n\n event.preventDefault();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // If the first option is focused and the user presses the up\n // arrow key, focus the search input\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (\n document.activeElement === options?.[0] &&\n LAST_KEYS.includes(event.key)\n ) {\n context.searchRef?.current?.focus();\n }\n\n // Close the combobox if the user presses the escape key\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n }}\n bg=\"surface-1\"\n style={{\n width: \"var(--tgph-comobobox-trigger-width)\",\n ...style,\n ...{\n \"--tgph-comobobox-content-transform-origin\":\n \"var(--radix-popper-transform-origin)\",\n \"--tgph-combobox-content-available-width\":\n \"var(--radix-popper-available-width)\",\n \"--tgph-combobox-content-available-height\":\n \"calc(var(--radix-popper-available-height) - var(--tgph-spacing-8))\",\n \"--tgph-comobobox-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--tgph-combobox-trigger-height\": \"var(--radix-popper-anchor-height)\",\n },\n }}\n {...props}\n tgphRef={composedRef}\n data-tgph-combobox-content\n data-tgph-combobox-content-open={initialAnimationComplete}\n // Cancel out accessibility attirbutes related to aria menu\n role={undefined}\n aria-orientation={undefined}\n >\n <Stack direction=\"column\" gap=\"1\" tgphRef={internalContentRef}>\n {children}\n </Stack>\n </TelegraphMenu.Content>\n );\n};\n\ntype OptionsProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>>;\n\nconst Options = <T extends TgphElement>({ ...props }: OptionsProps<T>) => {\n const context = React.useContext(ComboboxContext);\n return (\n <Stack\n id={context.contentId}\n direction=\"column\"\n gap=\"1\"\n style={{\n overflowY: \"auto\",\n // Available Height - Padding from edge of screen\n maxHeight:\n \"calc(var(--tgph-combobox-content-available-height) - var(--tgph-spacing-12))\",\n }}\n // Accessibility attributes\n role=\"listbox\"\n {...props}\n />\n );\n};\n\ntype OptionProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n value: string;\n label?: string;\n selected?: boolean | null;\n};\n\nconst Option = <T extends TgphElement>({\n value,\n label,\n selected,\n onSelect,\n ...props\n}: OptionProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isFocused, setIsFocused] = React.useState(false);\n const contextValue = context.value ?? [];\n\n const isVisible = isMultiSelect(contextValue)\n ? !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase())\n : !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase());\n\n const isSelected = isMultiSelect(contextValue)\n ? contextValue.some((v) => v.value === value)\n : contextValue.value === value;\n\n const handleSelection = (event: React.KeyboardEvent) => {\n // Don't do anything if the key isn't a selection key\n if (event.key && !SELECT_KEYS.includes(event.key)) return;\n\n // Don't bubble up the event\n event.stopPropagation();\n event.preventDefault();\n\n if (context.closeOnSelect === true) {\n context.setOpen(false);\n }\n\n if (onSelect) {\n // Need to convert to non keyboard type event\n // since onSelect is expecting a mouse event\n // and we've handled the keyboard event already\n const onSelectEvent = event as unknown as Event;\n return onSelect(onSelectEvent);\n }\n\n if (isMultiSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Array<Option>) => void;\n\n const newValue = isSelected\n ? contextValue.filter((v) => v.value !== value)\n : [...contextValue, { value, label }];\n\n onValueChange(newValue);\n } else if (isSingleSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Option) => void;\n onValueChange({ value, label });\n }\n\n context.triggerRef?.current?.focus();\n };\n\n if (isVisible) {\n return (\n <TelegraphMenu.Button\n onSelect={handleSelection}\n onKeyDown={handleSelection}\n // Force null if selected equals null so we\n // can override the icon of the button\n selected={selected === null ? null : selected ?? isSelected}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n // Accessibility attributes\n role=\"option\"\n aria-selected={isSelected ? \"true\" : \"false\"}\n // Custom attributes\n data-tgph-combobox-option\n data-tgph-combobox-option-focused={isFocused}\n data-tgph-combobox-option-value={value}\n data-tgph-combobox-option-label={label}\n {...props}\n >\n {label || value}\n </TelegraphMenu.Button>\n );\n }\n};\n\ntype SearchProps = TgphComponentProps<typeof TelegraphInput> & {\n label?: string;\n};\n\nconst Search = ({\n label = \"Search\",\n placeholder = \"Search\",\n tgphRef,\n ...props\n}: SearchProps) => {\n const id = React.useId();\n const context = React.useContext(ComboboxContext);\n const composedRef = useComposedRefs(tgphRef, context.searchRef);\n\n React.useEffect(() => {\n const handleSearchKeyDown = (event: KeyboardEvent) => {\n if (FIRST_KEYS.includes(event.key)) {\n context.contentRef?.current?.focus({ preventScroll: true });\n }\n\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n };\n\n const searchInput = context.searchRef?.current;\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleSearchKeyDown);\n return () => {\n searchInput.removeEventListener(\"keydown\", handleSearchKeyDown);\n };\n }\n }, [context]);\n\n return (\n <Box borderBottom px=\"1\" pb=\"1\">\n <VisuallyHidden.Root>\n <Text as=\"label\" htmlFor={id}>\n {label}\n </Text>\n </VisuallyHidden.Root>\n <TelegraphInput\n id={id}\n variant=\"ghost\"\n placeholder={placeholder}\n value={context.searchQuery}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n context?.setSearchQuery?.(event.target.value);\n }}\n LeadingComponent={<Icon icon={Lucide.Search} alt=\"Search Icon\" />}\n TrailingComponent={\n context?.searchQuery && context?.searchQuery?.length > 0 ? (\n <TelegraphButton\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n variant=\"ghost\"\n color=\"gray\"\n icon={{ icon: Lucide.X, alt: \"Clear Search Query\" }}\n onClick={() => context.setSearchQuery?.(\"\")}\n />\n ) : null\n }\n autoFocus\n data-tgph-combobox-search\n aria-controls={context.contentId}\n {...props}\n tgphRef={composedRef}\n />\n </Box>\n );\n};\n\ntype EmptyProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>> & {\n icon?: TgphComponentProps<typeof Icon> | null;\n message?: string | null;\n};\n\nconst Empty = <T extends TgphElement>({\n icon = { icon: Lucide.Search, alt: \"Search Icon\" },\n message = \"No results found\",\n children,\n ...props\n}: EmptyProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isVisible, setIsVisible] = React.useState(false);\n\n React.useEffect(() => {\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (options?.length === 0) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n }, [context.searchQuery, context.contentRef, children]);\n\n if (isVisible) {\n return (\n <Stack\n as={motion.div}\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n gap=\"1\"\n align=\"center\"\n justify=\"center\"\n w=\"full\"\n my=\"8\"\n data-tgph-combobox-empty\n {...props}\n >\n {icon === null ? <></> : <Icon {...icon} />}\n {message === null ? <></> : <Text as=\"span\">{message}</Text>}\n </Stack>\n );\n }\n};\n\ntype CreateProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n leadingText?: string;\n values?: Array<Option>;\n onCreate?: (value: Option) => void;\n};\n\nconst Create = <T extends TgphElement>({\n leadingText = \"Create\",\n values,\n onCreate,\n selected = null,\n ...props\n}: CreateProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const variableAlreadyExists = React.useCallback(\n (searchQuery: string | undefined) => {\n if (!values || values?.length === 0) return false;\n return values.some((v) => v.value === searchQuery);\n },\n [values],\n );\n\n if (context.searchQuery && !variableAlreadyExists(context.searchQuery)) {\n return (\n <Option\n leadingIcon={{ icon: Lucide.Plus, \"aria-hidden\": true }}\n mx=\"1\"\n value={context.searchQuery}\n label={`${leadingText} \"${context.searchQuery}\"`}\n selected={selected}\n onSelect={() => {\n if (onCreate && context.value && context.searchQuery) {\n if (isSingleSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n if (isMultiSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n context.setSearchQuery?.(\"\");\n }\n }}\n {...props}\n />\n );\n }\n};\n\nconst Combobox = {} as {\n Root: typeof Root;\n Trigger: typeof Trigger;\n Content: typeof Content;\n Options: typeof Options;\n Option: typeof Option;\n Search: typeof Search;\n Empty: typeof Empty;\n Create: typeof Create;\n};\n\nObject.assign(Combobox, {\n Root,\n Trigger,\n Content,\n Options,\n Option,\n Search,\n Empty,\n Create,\n});\n\nexport { Combobox };\n"],"names":["r","e","f","n","o","clsx","S","z","M","N","y","I","l","a","A","p","w","s","D","L","C","u","d","j","H","i","b","h","c","g","m","T","W","X","v","Y","q","F","G","J","k","$","R","x","_","B","E","P","O","V","te","t","isMultiSelect","value","isSingleSelect","FIRST_KEYS","LAST_KEYS","SELECT_KEYS","ComboboxContext","React","Root","modal","closeOnSelect","openProp","onOpenChangeProp","defaultOpenProp","onValueChange","errored","placeholder","layout","props","contentId","triggerId","triggerRef","searchRef","contentRef","searchQuery","setSearchQuery","open","setOpen","useControllableState","onOpenToggle","prevOpen","jsx","TelegraphMenu","TriggerTag","label","context","jsxs","Tag","motion","Lucide","event","newValue","TriggerValue","size","height","contextValue","truncatedLength","truncatedLengthStringArray","Stack","TelegraphButton","AnimatePresence","RefToTgphRef","Text","Box","_a","_b","Trigger","getAriaLabelString","_c","Content","tgphRef","style","children","hasInteractedOutside","composedRef","useComposedRefs","internalContentRef","setHeight","initialAnimationComplete","setInitialAnimationComplete","setHeightFromContent","element","rect","observer","entries","entry","options","_d","Options","Option","selected","onSelect","isFocused","setIsFocused","isVisible","isSelected","handleSelection","Search","id","handleSearchKeyDown","searchInput","VisuallyHidden","TelegraphInput","Icon","Empty","icon","message","setIsVisible","Fragment","Create","leadingText","values","onCreate","variableAlreadyExists","Combobox"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../node_modules/clsx/dist/clsx.mjs","../../../button/dist/esm/index.mjs","../../../layout/dist/esm/index.mjs","../../src/Combobox/Combobox.helpers.ts","../../src/Combobox/Combobox.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { jsx as g, jsxs as V } from \"react/jsx-runtime\";\nimport { Icon as B } from \"@telegraph/icon\";\nimport * as N from \"react\";\nimport i from \"react\";\nimport m from \"clsx\";\nimport { Text as P } from \"@telegraph/typography\";\nfunction S(r, t) {\n typeof r == \"function\" ? r(t) : r != null && (r.current = t);\n}\nfunction z(...r) {\n return (t) => r.forEach((e) => S(e, t));\n}\nfunction M(...r) {\n return N.useCallback(z(...r), r);\n}\nconst y = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], I = (r) => {\n const t = [];\n let e = null;\n for (let o = 0; o < y.length; o++) {\n const n = y[o];\n if (r[n])\n e = r[n], t.push(e);\n else if (e !== null)\n t.push(e);\n else {\n let l = null;\n for (let a = o + 1; a < y.length; a++)\n if (r[y[a]]) {\n l = r[y[a]];\n break;\n }\n if (l !== null) {\n for (let a = 0; a <= o; a++)\n t.push(l);\n e = l;\n }\n }\n }\n return t;\n}, A = (r) => typeof r == \"object\" && (r.sm || r.md || r.lg || r.xl || r[\"2xl\"]), p = ({\n value: r,\n prop: t\n}) => {\n if (!r) return \"\";\n if (t.valueType === \"static\")\n return r.toString();\n const e = t.type === \"color\" ? \"\" : `-${t.type}`;\n return r === !0 ? `var(--tgph${e}-${t.default})` : `var(--tgph${e}-${r})`;\n}, w = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, s = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, D = ({\n cssVariables: r,\n value: t,\n prop: e,\n direction: o = \"all\"\n}) => {\n const n = r[`--tgph-${e.rule}`] || \"\", l = n ? n.split(\" \") : [], a = [\n (l == null ? void 0 : l[0]) || 0,\n (l == null ? void 0 : l[1]) || 0,\n (l == null ? void 0 : l[2]) || 0,\n (l == null ? void 0 : l[3]) || 0\n ];\n return o === \"all\" ? p({ value: t, prop: e }) : (e.ordering === \"clockwise\" ? (o === \"top\" && (a[s.topLeft] = p({\n value: t,\n prop: e\n }), a[s.topRight] = p({\n value: t,\n prop: e\n })), o === \"right\" && (a[s.topRight] = p({\n value: t,\n prop: e\n }), a[s.bottomRight] = p({\n value: t,\n prop: e\n })), o === \"bottom\" && (a[s.bottomRight] = p({\n value: t,\n prop: e\n }), a[s.bottomLeft] = p({\n value: t,\n prop: e\n })), o === \"left\" && (a[s.bottomLeft] = p({\n value: t,\n prop: e\n }), a[s.topLeft] = p({\n value: t,\n prop: e\n })), (o === \"topLeft\" || o === \"topRight\" || o === \"bottomRight\" || o === \"bottomLeft\") && (a[s[o]] = p({\n value: t,\n prop: e\n }))) : (o === \"x\" && (a[w.left] = p({\n value: t,\n prop: e\n }), a[w.right] = p({\n value: t,\n prop: e\n })), o === \"y\" && (a[w.top] = p({\n value: t,\n prop: e\n }), a[w.bottom] = p({\n value: t,\n prop: e\n })), (o === \"top\" || o === \"bottom\" || o === \"left\" || o === \"right\") && (a[w[o]] = p({\n value: t,\n prop: e\n }))), a.join(\" \"));\n}, L = ({\n prop: r,\n value: t,\n cssVariables: e\n}) => r.direction ? D({\n cssVariables: e,\n prop: r,\n value: t,\n direction: r.direction,\n type: r.type\n}) : p({ value: t, prop: r }), C = ({\n props: r,\n ref: t,\n propsMap: e\n}) => {\n if (!t.current) return;\n const o = {};\n Object.entries(r).forEach(([n, l]) => {\n const a = e[n];\n a && (typeof l == \"string\" || typeof l == \"boolean\" ? o[`--tgph-${a.rule}`] = L({\n prop: a,\n key: n,\n value: l,\n cssVariables: o\n }) : A(l) && I(l).forEach((u, d) => {\n u && (o[`--tgph-${a.rule}-${y[d]}`] = L({\n prop: a,\n key: n,\n value: u,\n cssVariables: o\n }));\n })), Object.entries(o).forEach(([u, d]) => {\n t.current && t.current.style.setProperty(u, d);\n });\n });\n}, j = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, H = ({\n as: r,\n className: t,\n tgphRef: e,\n ...o\n}) => {\n const n = r || \"div\", l = i.useRef(null), a = M(e, l), u = i.useMemo(() => {\n const d = { borderColor: !0, ...o };\n return Object.keys(d).reduce(\n (b, h) => (Object.keys(j).some((c) => c === h) ? b.box[h] = d[h] : b.rest[h] = d[h], b),\n { box: {}, rest: {} }\n );\n }, [o]);\n return i.useLayoutEffect(() => {\n C({\n props: u.box,\n ref: l,\n propsMap: j\n });\n }, [u.box]), /* @__PURE__ */ g(\n n,\n {\n className: m(\"tgph-box\", t),\n ref: a,\n ...u.rest\n }\n );\n}, T = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, W = ({\n className: r,\n tgphRef: t,\n ...e\n}) => {\n const o = i.useRef(null), n = M(t, o), l = i.useMemo(\n () => Object.keys(e).reduce(\n (a, u) => (Object.keys(T).some((d) => d === u) ? a.stack[u] = e[u] : a.rest[u] = e[u], a),\n { stack: {}, rest: {} }\n ),\n [e]\n );\n return i.useLayoutEffect(() => {\n C({\n props: l.stack,\n ref: o,\n propsMap: T\n });\n }, [l.stack, n]), /* @__PURE__ */ g(\n H,\n {\n className: m(\"tgph-stack\", r),\n tgphRef: n,\n ...l.rest\n }\n );\n}, X = {\n solid: {\n gray: \"bg-gray-9 hover:bg-gray-10 focus:bg-gray-11 data-[tgph-button-active=true]:!bg-gray-11\",\n red: \"bg-red-9 hover:bg-red-10 focus:bg-red-11 data-[tgph-button-active=true]:!bg-red-11\",\n accent: \"bg-accent-9 hover:bg-accent-10 focus:bg-accent-11 data-[tgph-button-active=true]:!bg-accent-11\",\n green: \"bg-green-9 hover:bg-green-10 focus:bg-green-11 data-[tgph-button-active=true]:!bg-green-11\",\n blue: \"bg-blue-9 hover:bg-blue-10 focus:bg-blue-11 data-[tgph-button-active=true]:!bg-blue-11\",\n yellow: \"bg-yellow-9 hover:bg-yellow-10 focus:bg-yellow-11 data-[tgph-button-active=true]:!bg-yellow-11\",\n purple: \"bg-purple-9 hover:bg-purple-10 focus:bg-purple-11 data-[tgph-button-active=true]:!bg-purple-11\",\n disabled: \"bg-gray-2\"\n },\n soft: {\n gray: \"bg-gray-3 hover:bg-gray-4 focus:bg-gray-5 data-[tgph-button-active=true]:!bg-gray-5\",\n red: \"bg-red-3 hover:bg-red-4 focus:bg-red-5 data-[tgph-button-active=true]:!bg-red-5\",\n accent: \"bg-accent-3 hover:bg-accent-4 focus:bg-accent-6 data-[tgph-button-active=true]:!bg-accent-6\",\n green: \"bg-green-3 hover:bg-green-4 focus:bg-green-5 data-[tgph-button-active=true]:!bg-green-5\",\n blue: \"bg-blue-3 hover:bg-blue-4 focus:bg-blue-5 data-[tgph-button-active=true]:!bg-blue-5\",\n yellow: \"bg-yellow-3 hover:bg-yellow-4 focus:bg-yellow-5 data-[tgph-button-active=true]:!bg-yellow-5\",\n purple: \"bg-purple-3 hover:bg-purple-4 focus:bg-purple-5 data-[tgph-button-active=true]:!bg-purple-5\",\n disabled: \"bg-gray-2\"\n },\n outline: {\n gray: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-gray-6 hover:shadow-gray-7 focus:shadow-gray-8 data-[tgph-button-active=true]:!shadow-gray-8\",\n red: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-red-6 hover:shadow-red-7 focus:shadow-red-8 data-[tgph-button-active=true]:!shadow-red-8\",\n accent: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-accent-6 hover:shadow-accent-7 focus:shadow-accent-8 data-[tgph-button-active=true]:!shadow-accent-8\",\n green: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-green-6 hover:shadow-green-7 focus:shadow-green-8 data-[tgph-button-active=true]:!shadow-green-8\",\n blue: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-blue-6 hover:shadow-blue-7 focus:shadow-blue-8 data-[tgph-button-active=true]:!shadow-blue-8\",\n yellow: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-yellow-6 hover:shadow-yellow-7 focus:shadow-yellow-8 data-[tgph-button-active=true]:!shadow-yellow-8\",\n purple: \"bg-surface-1 shadow-[inset_0_0_0_1px] shadow-purple-6 hover:shadow-purple-7 focus:shadow-purple-8 data-[tgph-button-active=true]:!shadow-purple-8\",\n disabled: \"bg-gray-2\"\n },\n ghost: {\n gray: \"bg-transparent hover:bg-gray-3 focus:bg-gray-4 data-[tgph-button-active=true]:!bg-gray-4 [&data-[tgph-button-active=true]>span]:!text-gray-12\",\n red: \"bg-transparent hover:bg-red-3 focus:bg-red-4 data-[tgph-button-active=true]:!bg-red-4\",\n accent: \"bg-transparent hover:bg-accent-3 focus:bg-accent-4 data-[tgph-button-active=true]:!bg-accent-4\",\n green: \"bg-transparent hover:bg-green-3 focus:bg-green-4 data-[tgph-button-active=true]:!bg-green-4\",\n blue: \"bg-transparent hover:bg-blue-3 focus:bg-blue-4 data-[tgph-button-active=true]:!bg-blue-4\",\n yellow: \"bg-transparent hover:bg-yellow-3 focus:bg-yellow-4 data-[tgph-button-active=true]:!bg-yellow-4\",\n purple: \"bg-transparent hover:bg-purple-3 focus:bg-purple-4 data-[tgph-button-active=true]:!bg-purple-4\",\n disabled: \"bg-transparent\"\n }\n}, v = {\n default: {\n 1: {\n w: \"auto\",\n h: \"6\",\n gap: \"1\",\n px: \"2\"\n },\n 2: {\n w: \"auto\",\n h: \"8\",\n gap: \"2\",\n px: \"3\"\n },\n 3: {\n w: \"auto\",\n h: \"10\",\n gap: \"3\",\n px: \"4\"\n }\n },\n \"icon-only\": {\n 1: {\n w: \"6\",\n h: \"6\",\n gap: \"0\",\n px: \"0\"\n },\n 2: {\n w: \"8\",\n h: \"8\",\n gap: \"0\",\n px: \"0\"\n },\n 3: {\n w: \"10\",\n h: \"10\",\n gap: \"0\",\n px: \"0\"\n }\n }\n}, Y = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, q = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n gray: \"default\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n gray: \"gray\",\n red: \"red\",\n accent: \"accent\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, F = {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\"\n}, G = {\n solid: {\n gray: \"white\",\n red: \"white\",\n accent: \"white\",\n green: \"white\",\n blue: \"white\",\n yellow: \"white\",\n purple: \"white\",\n disabled: \"disabled\"\n },\n soft: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n outline: {\n accent: \"accent\",\n gray: \"gray\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n },\n ghost: {\n accent: \"accent\",\n gray: \"default\",\n red: \"red\",\n green: \"green\",\n blue: \"blue\",\n yellow: \"yellow\",\n purple: \"purple\",\n disabled: \"disabled\"\n }\n}, J = {\n default: \"secondary\",\n \"icon-only\": \"primary\"\n}, k = i.createContext({\n variant: \"solid\",\n size: \"2\",\n color: \"gray\",\n state: \"default\",\n layout: \"default\",\n active: !1\n}), $ = ({\n as: r,\n variant: t = \"solid\",\n size: e = \"2\",\n color: o = \"gray\",\n state: n = \"default\",\n active: l = !1,\n disabled: a,\n className: u,\n ...d\n}) => {\n const b = a ? \"disabled\" : n, h = b === \"disabled\" ? \"disabled\" : o, c = i.useMemo(() => {\n var R;\n const f = i.Children.toArray(d == null ? void 0 : d.children);\n if ((f == null ? void 0 : f.length) === 1 && i.isValidElement(f[0])) {\n const x = f[0];\n if ((R = x == null ? void 0 : x.props) != null && R.icon)\n return \"icon-only\";\n }\n return \"default\";\n }, [d == null ? void 0 : d.children]);\n return /* @__PURE__ */ g(\n k.Provider,\n {\n value: { variant: t, size: e, color: h, state: b, layout: c, active: l },\n children: /* @__PURE__ */ g(\n W,\n {\n as: r || \"button\",\n className: m(\n \"appearance-none border-0 cursor-pointer bg-none box-border [font-family:inherit]\",\n \"transition-colors no-underline\",\n b === \"disabled\" && \"cursor-not-allowed\",\n X[t][h],\n v[c][e],\n u\n ),\n h: v[c][e].h,\n w: v[c][e].w,\n gap: v[c][e].gap,\n px: v[c][e].px,\n display: \"inline-flex\",\n align: \"center\",\n justify: \"center\",\n rounded: \"3\",\n \"data-tgph-button\": !0,\n \"data-tgph-button-layout\": c,\n \"data-tgph-button-active\": l,\n disabled: a,\n ...d\n }\n )\n }\n );\n}, _ = ({\n size: r,\n color: t,\n variant: e,\n icon: o,\n alt: n,\n \"aria-hidden\": l,\n ...a\n}) => {\n const u = i.useContext(k), d = {\n size: r ?? F[u.size],\n color: t ?? G[u.variant][u.color],\n variant: e ?? J[u.layout]\n };\n return /* @__PURE__ */ g(\n B,\n {\n icon: o,\n \"data-button-icon\": !0,\n ...n ? { alt: n } : { \"aria-hidden\": l },\n ...d,\n ...a\n }\n );\n}, E = ({\n as: r,\n color: t,\n size: e,\n weight: o = \"medium\",\n className: n,\n ...l\n}) => {\n const a = i.useContext(k);\n return /* @__PURE__ */ g(\n P,\n {\n as: r || \"span\",\n color: t ?? q[a.variant][a.color],\n size: e ?? Y[a.size],\n weight: o,\n className: m(\"no-underline whitespace-nowrap\", n),\n internal_optionalAs: !0,\n \"data-button-text\": !0,\n ...l\n }\n );\n}, O = ({\n leadingIcon: r,\n trailingIcon: t,\n icon: e,\n children: o,\n ...n\n}) => {\n const l = r || e;\n return /* @__PURE__ */ V($, { ...n, children: [\n l && /* @__PURE__ */ g(_, { ...l }),\n o && /* @__PURE__ */ g(E, { children: o }),\n t && /* @__PURE__ */ g(_, { ...t })\n ] });\n};\nObject.assign(O, {\n Root: $,\n Icon: _,\n Text: E\n});\nconst te = O;\nexport {\n te as Button\n};\n//# sourceMappingURL=index.mjs.map\n","import { jsx as x } from \"react/jsx-runtime\";\nimport { useComposedRefs as R } from \"@telegraph/compose-refs\";\nimport w from \"clsx\";\nimport u from \"react\";\nconst a = [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"], j = (i) => {\n const e = [];\n let t = null;\n for (let r = 0; r < a.length; r++) {\n const n = a[r];\n if (i[n])\n t = i[n], e.push(t);\n else if (t !== null)\n e.push(t);\n else {\n let s = null;\n for (let o = r + 1; o < a.length; o++)\n if (i[a[o]]) {\n s = i[a[o]];\n break;\n }\n if (s !== null) {\n for (let o = 0; o <= r; o++)\n e.push(s);\n t = s;\n }\n }\n }\n return e;\n}, k = (i) => typeof i == \"object\" && (i.sm || i.md || i.lg || i.xl || i[\"2xl\"]), d = ({\n value: i,\n prop: e\n}) => {\n if (!i) return \"\";\n if (e.valueType === \"static\")\n return i.toString();\n const t = e.type === \"color\" ? \"\" : `-${e.type}`;\n return i === !0 ? `var(--tgph${t}-${e.default})` : `var(--tgph${t}-${i})`;\n}, b = {\n top: 0,\n right: 1,\n bottom: 2,\n left: 3\n}, p = {\n topLeft: 0,\n topRight: 1,\n bottomRight: 2,\n bottomLeft: 3\n}, O = ({\n cssVariables: i,\n value: e,\n prop: t,\n direction: r = \"all\"\n}) => {\n const n = i[`--tgph-${t.rule}`] || \"\", s = n ? n.split(\" \") : [], o = [\n (s == null ? void 0 : s[0]) || 0,\n (s == null ? void 0 : s[1]) || 0,\n (s == null ? void 0 : s[2]) || 0,\n (s == null ? void 0 : s[3]) || 0\n ];\n return r === \"all\" ? d({ value: e, prop: t }) : (t.ordering === \"clockwise\" ? (r === \"top\" && (o[p.topLeft] = d({\n value: e,\n prop: t\n }), o[p.topRight] = d({\n value: e,\n prop: t\n })), r === \"right\" && (o[p.topRight] = d({\n value: e,\n prop: t\n }), o[p.bottomRight] = d({\n value: e,\n prop: t\n })), r === \"bottom\" && (o[p.bottomRight] = d({\n value: e,\n prop: t\n }), o[p.bottomLeft] = d({\n value: e,\n prop: t\n })), r === \"left\" && (o[p.bottomLeft] = d({\n value: e,\n prop: t\n }), o[p.topLeft] = d({\n value: e,\n prop: t\n })), (r === \"topLeft\" || r === \"topRight\" || r === \"bottomRight\" || r === \"bottomLeft\") && (o[p[r]] = d({\n value: e,\n prop: t\n }))) : (r === \"x\" && (o[b.left] = d({\n value: e,\n prop: t\n }), o[b.right] = d({\n value: e,\n prop: t\n })), r === \"y\" && (o[b.top] = d({\n value: e,\n prop: t\n }), o[b.bottom] = d({\n value: e,\n prop: t\n })), (r === \"top\" || r === \"bottom\" || r === \"left\" || r === \"right\") && (o[b[r]] = d({\n value: e,\n prop: t\n }))), o.join(\" \"));\n}, y = ({\n prop: i,\n value: e,\n cssVariables: t\n}) => i.direction ? O({\n cssVariables: t,\n prop: i,\n value: e,\n direction: i.direction,\n type: i.type\n}) : d({ value: e, prop: i }), L = ({\n props: i,\n ref: e,\n propsMap: t\n}) => {\n if (!e.current) return;\n const r = {};\n Object.entries(i).forEach(([n, s]) => {\n const o = t[n];\n o && (typeof s == \"string\" || typeof s == \"boolean\" ? r[`--tgph-${o.rule}`] = y({\n prop: o,\n key: n,\n value: s,\n cssVariables: r\n }) : k(s) && j(s).forEach((c, f) => {\n c && (r[`--tgph-${o.rule}-${a[f]}`] = y({\n prop: o,\n key: n,\n value: c,\n cssVariables: r\n }));\n })), Object.entries(r).forEach(([l, c]) => {\n e.current && e.current.style.setProperty(l, c);\n });\n });\n}, m = {\n display: {\n rule: \"display\",\n type: \"block-display\",\n valueType: \"static\"\n },\n h: {\n rule: \"height\",\n type: \"spacing\"\n },\n w: {\n rule: \"width\",\n type: \"spacing\"\n },\n maxH: {\n rule: \"max-height\",\n type: \"spacing\"\n },\n maxW: {\n rule: \"max-width\",\n type: \"spacing\"\n },\n p: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"all\"\n },\n m: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"all\"\n },\n pt: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"top\"\n },\n pl: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"left\"\n },\n pb: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n pr: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"right\"\n },\n px: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"x\"\n },\n py: {\n rule: \"padding\",\n type: \"spacing\",\n direction: \"y\"\n },\n mt: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"top\"\n },\n ml: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"left\"\n },\n mb: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"bottom\"\n },\n mr: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"right\"\n },\n mx: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"x\"\n },\n my: {\n rule: \"margin\",\n type: \"spacing\",\n direction: \"y\"\n },\n bg: {\n rule: \"background-color\",\n type: \"color\"\n },\n rounded: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"all\"\n },\n roundedTopLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomLeft\",\n ordering: \"clockwise\"\n },\n roundedBottomRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottomRight\",\n ordering: \"clockwise\"\n },\n roundedTopRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"topRight\",\n ordering: \"clockwise\"\n },\n roundedTop: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"top\",\n ordering: \"clockwise\"\n },\n roundedBottom: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"bottom\",\n ordering: \"clockwise\"\n },\n roundedLeft: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"left\",\n ordering: \"clockwise\"\n },\n roundedRight: {\n rule: \"border-radius\",\n type: \"rounded\",\n direction: \"right\",\n ordering: \"clockwise\"\n },\n border: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"all\",\n default: \"px\"\n },\n borderTop: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"top\",\n default: \"px\"\n },\n borderLeft: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"left\",\n default: \"px\"\n },\n borderBottom: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"bottom\",\n default: \"px\"\n },\n borderRight: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"right\",\n default: \"px\"\n },\n borderX: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"x\",\n default: \"px\"\n },\n borderY: {\n rule: \"border-width\",\n type: \"spacing\",\n direction: \"y\",\n default: \"px\"\n },\n borderColor: {\n rule: \"border-color\",\n type: \"color\",\n default: \"gray-4\"\n },\n borderStyle: {\n rule: \"border-style\",\n type: \"border-style\",\n default: \"solid\"\n },\n shadow: {\n rule: \"box-shadow\",\n type: \"shadow\"\n }\n}, C = ({\n as: i,\n className: e,\n tgphRef: t,\n ...r\n}) => {\n const n = i || \"div\", s = u.useRef(null), o = R(t, s), l = u.useMemo(() => {\n const c = { borderColor: !0, ...r };\n return Object.keys(c).reduce(\n (f, g) => (Object.keys(m).some((T) => T === g) ? f.box[g] = c[g] : f.rest[g] = c[g], f),\n { box: {}, rest: {} }\n );\n }, [r]);\n return u.useLayoutEffect(() => {\n L({\n props: l.box,\n ref: s,\n propsMap: m\n });\n }, [l.box]), /* @__PURE__ */ x(\n n,\n {\n className: w(\"tgph-box\", e),\n ref: o,\n ...l.rest\n }\n );\n}, h = {\n display: {\n rule: \"display\",\n type: \"flex-display\",\n valueType: \"static\"\n },\n direction: {\n rule: \"flex-direction\",\n type: \"flex-direction\",\n valueType: \"static\"\n },\n align: {\n rule: \"align-items\",\n type: \"align-items\",\n valueType: \"static\"\n },\n justify: {\n rule: \"justify-content\",\n type: \"justify-content\",\n valueType: \"static\"\n },\n wrap: {\n rule: \"flex-wrap\",\n type: \"flex-wrap\",\n valueType: \"static\"\n },\n gap: {\n rule: \"gap\",\n type: \"spacing\",\n valueType: \"variable\"\n }\n}, E = ({\n className: i,\n tgphRef: e,\n ...t\n}) => {\n const r = u.useRef(null), n = R(e, r), s = u.useMemo(\n () => Object.keys(t).reduce(\n (o, l) => (Object.keys(h).some((c) => c === l) ? o.stack[l] = t[l] : o.rest[l] = t[l], o),\n { stack: {}, rest: {} }\n ),\n [t]\n );\n return u.useLayoutEffect(() => {\n L({\n props: s.stack,\n ref: r,\n propsMap: h\n });\n }, [s.stack, n]), /* @__PURE__ */ x(\n C,\n {\n className: w(\"tgph-stack\", i),\n tgphRef: n,\n ...s.rest\n }\n );\n};\nexport {\n C as Box,\n E as Stack\n};\n//# sourceMappingURL=index.mjs.map\n","export type Option = { value: string; label?: string };\nexport const isMultiSelect = (\n value: Option | Array<Option>,\n): value is Array<Option> => {\n return Array.isArray(value);\n};\n\nexport const isSingleSelect = (\n value: Option | Array<Option>,\n): value is Option => {\n return typeof value === \"object\" && !Array.isArray(value);\n};\n","import { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { Button as TelegraphButton } from \"@telegraph/button\";\nimport { useComposedRefs } from \"@telegraph/compose-refs\";\nimport {\n RefToTgphRef,\n type TgphComponentProps,\n type TgphElement,\n} from \"@telegraph/helpers\";\nimport { Icon, Lucide } from \"@telegraph/icon\";\nimport { Input as TelegraphInput } from \"@telegraph/input\";\nimport { Box, Stack } from \"@telegraph/layout\";\nimport { Menu as TelegraphMenu } from \"@telegraph/menu\";\nimport { Tag } from \"@telegraph/tag\";\nimport { Text } from \"@telegraph/typography\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React from \"react\";\n\nimport { type Option, isMultiSelect, isSingleSelect } from \"./Combobox.helpers\";\n\nconst FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nconst LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nconst SELECT_KEYS = [\"Enter\", \" \"];\n\ntype RootProps = (\n | {\n value?: Array<Option>;\n onValueChange?: (value: Array<Option>) => void;\n layout?: \"truncate\" | \"wrap\";\n }\n | {\n value?: Option;\n onValueChange?: (value: Option) => void;\n layout?: never;\n }\n) & {\n open?: boolean;\n defaultOpen?: boolean;\n errored?: boolean;\n placeholder?: string;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n closeOnSelect?: boolean;\n children?: React.ReactNode;\n};\n\nconst ComboboxContext = React.createContext<\n Omit<RootProps, \"children\"> & {\n contentId: string;\n triggerId: string;\n open: boolean;\n setOpen: (open: boolean) => void;\n onOpenToggle: () => void;\n searchQuery?: string;\n setSearchQuery?: (query: string) => void;\n triggerRef?: React.RefObject<HTMLDivElement>;\n searchRef?: React.RefObject<HTMLInputElement>;\n contentRef?: React.RefObject<HTMLDivElement>;\n }\n>({\n onValueChange: () => {},\n contentId: \"\",\n triggerId: \"\",\n open: false,\n setOpen: () => {},\n onOpenToggle: () => {},\n});\n\nconst Root = ({\n modal = true,\n closeOnSelect = true,\n open: openProp,\n onOpenChange: onOpenChangeProp,\n defaultOpen: defaultOpenProp,\n value,\n onValueChange,\n errored,\n placeholder,\n layout,\n ...props\n}: RootProps) => {\n const contentId = React.useId();\n const triggerId = React.useId();\n const triggerRef = React.useRef(null);\n const searchRef = React.useRef(null);\n const contentRef = React.useRef<HTMLDivElement>(null);\n\n const [searchQuery, setSearchQuery] = React.useState<string>(\"\");\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpenProp,\n onChange: onOpenChangeProp,\n });\n\n const onOpenToggle = React.useCallback(() => {\n setOpen((prevOpen) => !prevOpen);\n }, [setOpen]);\n\n React.useEffect(() => {\n // If the combobox is closed clear\n // the search query\n if (!open) {\n setSearchQuery(\"\");\n }\n }, [open]);\n\n return (\n <ComboboxContext.Provider\n value={{\n contentId,\n triggerId,\n value,\n onValueChange,\n placeholder,\n open,\n setOpen,\n onOpenToggle,\n closeOnSelect,\n searchQuery,\n setSearchQuery,\n triggerRef,\n searchRef,\n contentRef,\n errored,\n layout,\n }}\n >\n <TelegraphMenu.Root\n open={open}\n onOpenChange={setOpen}\n modal={modal}\n {...props}\n />\n </ComboboxContext.Provider>\n );\n};\n\ntype TriggerTagProps = {\n value: string;\n label?: string;\n};\n\nconst TriggerTag = ({ label, value, ...props }: TriggerTagProps) => {\n const context = React.useContext(ComboboxContext);\n\n return (\n <Tag.Root\n size=\"1\"\n as={motion.span}\n initial={{ opacity: 0, transform: \"scale(0.8)\" }}\n animate={{ opacity: 1, transform: \"scale(1)\" }}\n exit={{ opacity: 0, transform: \"scale(0.5)\" }}\n layout=\"position\"\n transition={{\n duration: 0.2,\n type: \"spring\",\n bounce: 0,\n layout: {\n duration: 0.05,\n type: \"spring\",\n bounce: 0,\n },\n }}\n {...props}\n >\n <Tag.Text>{label || value}</Tag.Text>\n <Tag.Button\n icon={{ icon: Lucide.X, alt: `Remove ${value}` }}\n onClick={(event: React.MouseEvent) => {\n const onValueChange = context.onValueChange as (\n v: Array<Option>,\n ) => void;\n const contextValue = context.value as Array<Option>;\n const newValue = contextValue.filter((v) => v.value !== value);\n onValueChange(newValue);\n // Stop click event from bubbling up\n event.stopPropagation();\n // Stop the button \"submit\" action from triggering\n event.preventDefault();\n }}\n />\n </Tag.Root>\n );\n};\n\ntype TriggerValueProps<T extends TgphElement> = {\n size?: TgphComponentProps<typeof TelegraphButton.Root<T>>[\"size\"];\n};\n\nconst TriggerValue = <T extends TgphElement>({\n size = \"1\",\n}: TriggerValueProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const height = size === \"1\" ? \"6\" : size === \"2\" ? \"8\" : \"10\";\n\n if (context.value && isMultiSelect(context.value)) {\n const contextValue = context.value as Array<Option>;\n const layout = context.layout || \"truncate\";\n const truncatedLength = contextValue.length - 2;\n const truncatedLengthStringArray = truncatedLength.toString().split(\"\");\n\n if (contextValue.length === 0) {\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color=\"gray\">\n {context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n }\n\n return (\n <Stack\n gap=\"1\"\n w=\"full\"\n my=\"1\"\n wrap={layout === \"wrap\" ? \"wrap\" : \"nowrap\"}\n align=\"center\"\n style={{\n position: \"relative\",\n flexGrow: 1,\n }}\n >\n <AnimatePresence initial={false} mode=\"popLayout\">\n {contextValue.map((v, i) => {\n if ((layout === \"truncate\" && i <= 1) || layout === \"wrap\") {\n return (\n <RefToTgphRef key={v.value}>\n <TriggerTag {...v} />\n </RefToTgphRef>\n );\n }\n })}\n </AnimatePresence>\n <AnimatePresence>\n {layout === \"truncate\" && contextValue.length > 2 && (\n <Stack\n as={motion.div}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n h=\"full\"\n pr=\"1\"\n pl=\"8\"\n align=\"center\"\n aria-label={`${truncatedLength} more selected`}\n style={{\n position: \"absolute\",\n right: 0,\n backgroundImage:\n \"linear-gradient(to left, var(--tgph-surface-1) 0 60%, transparent 90% 100%)\",\n }}\n key=\"truncated text\"\n >\n <Text as=\"span\" size=\"1\" style={{ whiteSpace: \"nowrap\" }}>\n +\n <AnimatePresence mode=\"wait\" initial={false}>\n {truncatedLengthStringArray.map((n) => (\n <Box\n as={motion.span}\n w=\"2\"\n display=\"inline-block\"\n initial={{\n opacity: 0.5,\n }}\n animate={{\n opacity: 1,\n }}\n exit={{\n opacity: 0.5,\n }}\n transition={{ duration: 0.1, type: \"spring\", bounce: 0 }}\n key={n}\n >\n {n}\n </Box>\n ))}\n </AnimatePresence>{\" \"}\n more\n </Text>\n </Stack>\n )}\n </AnimatePresence>\n </Stack>\n );\n }\n\n return (\n <Stack h={height} align=\"center\" my=\"1\">\n <TelegraphButton.Text color={!context.value ? \"gray\" : \"default\"}>\n {context?.value?.label || context?.value?.value || context.placeholder}\n </TelegraphButton.Text>\n </Stack>\n );\n};\n\ntype TriggerProps = React.ComponentProps<typeof TelegraphMenu.Anchor> & {\n placeholder?: string;\n size?: TgphComponentProps<typeof TelegraphButton.Root>[\"size\"];\n};\n\nconst Trigger = ({ size = \"1\", ...props }: TriggerProps) => {\n const context = React.useContext(ComboboxContext);\n\n const getAriaLabelString = React.useCallback(() => {\n if (!context.value) return context.placeholder;\n if (isSingleSelect(context.value)) {\n return (\n context.value?.label || context.value?.value || context.placeholder\n );\n } else {\n return (\n context.value?.map((v) => v.label).join(\", \") || context.placeholder\n );\n }\n }, [context.value, context.placeholder]);\n\n return (\n <TelegraphMenu.Anchor\n {...props}\n asChild\n onClick={(event: React.MouseEvent) => {\n event.preventDefault();\n context.onOpenToggle();\n context.triggerRef?.current?.focus();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // Lets the user tab in and out of the combobox as usual\n if (event.key === \"Tab\") {\n event.stopPropagation();\n return;\n }\n if (SELECT_KEYS.includes(event.key)) {\n event.preventDefault();\n return;\n }\n\n if (event.key === \"ArrowDown\") {\n context.onOpenToggle();\n return;\n }\n }}\n tgphRef={context.triggerRef}\n >\n <RefToTgphRef>\n <TelegraphButton.Root\n id={context.triggerId}\n bg=\"surface-1\"\n variant=\"outline\"\n w=\"full\"\n h=\"full\"\n color={context.errored ? \"red\" : \"gray\"}\n justify=\"space-between\"\n // Accessibility attributes\n role=\"combobox\"\n aria-label={getAriaLabelString()}\n aria-controls={context.contentId}\n aria-expanded={context.open}\n aria-haspopup=\"listbox\"\n // Custom attributes\n data-tgph-combobox-trigger\n data-tgph-comobox-trigger-open={context.open}\n >\n <TriggerValue size={size} />\n <TelegraphButton.Icon\n as={motion.div}\n icon={Lucide.ChevronDown}\n animate={{ rotate: context.open ? \"180deg\" : \"0deg\" }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n aria-hidden\n />\n </TelegraphButton.Root>\n </RefToTgphRef>\n </TelegraphMenu.Anchor>\n );\n};\n\ntype ContentProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Content<T>\n>;\n\nconst Content = <T extends TgphElement>({\n tgphRef,\n style,\n children,\n ...props\n}: ContentProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const hasInteractedOutside = React.useRef(false);\n const composedRef = useComposedRefs<unknown>(tgphRef, context.contentRef);\n\n const internalContentRef = React.useRef(null);\n\n const [height, setHeight] = React.useState(0);\n const [initialAnimationComplete, setInitialAnimationComplete] =\n React.useState(false);\n\n const setHeightFromContent = React.useCallback(\n (element: Element) => {\n // Set the initial height of the content after the animation completes\n const rect = element.getBoundingClientRect();\n if (rect) {\n setHeight(rect.height);\n }\n\n if (!initialAnimationComplete) {\n setInitialAnimationComplete(true);\n }\n },\n [initialAnimationComplete],\n );\n\n React.useEffect(() => {\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const element = entry.target;\n setHeightFromContent(element);\n }\n });\n // Attatch the observer once the initial animation completes\n // and the content ref is available\n if (internalContentRef.current && initialAnimationComplete) {\n observer.observe(internalContentRef.current);\n }\n\n return () => observer.disconnect();\n }, [initialAnimationComplete, setHeightFromContent]);\n\n // Reset the animation complete state when the combobox is closed\n React.useEffect(() => {\n if (initialAnimationComplete === true && context.open === false) {\n setInitialAnimationComplete(false);\n }\n }, [context.open, initialAnimationComplete]);\n\n return (\n <TelegraphMenu.Content\n as={motion.div}\n mt=\"1\"\n initial={{\n opacity: 0,\n scale: 0.8,\n height: \"auto\",\n }}\n animate={{\n opacity: 1,\n scale: 1,\n // Set height based on the internalContentRef so that\n // we get smooth animations when the content changes\n minHeight: height ? `${height}px` : \"0\",\n }}\n exit={{ opacity: 0, scale: 0 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n onInteractOutside={() => {\n context.setOpen(false);\n hasInteractedOutside.current = true;\n }}\n onAnimationComplete={() => {\n // Set height when the initial animation for\n // displaying the content completes\n if (!initialAnimationComplete && internalContentRef) {\n const element = internalContentRef.current as unknown as Element;\n setHeightFromContent(element);\n }\n }}\n onCloseAutoFocus={(event: Event) => {\n if (!hasInteractedOutside.current) context.triggerRef?.current?.focus();\n hasInteractedOutside.current = false;\n\n event.preventDefault();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n // If the first option is focused and the user presses the up\n // arrow key, focus the search input\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (\n document.activeElement === options?.[0] &&\n LAST_KEYS.includes(event.key)\n ) {\n context.searchRef?.current?.focus();\n }\n\n // Close the combobox if the user presses the escape key\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n }}\n bg=\"surface-1\"\n style={{\n width: \"var(--tgph-comobobox-trigger-width)\",\n ...style,\n ...{\n \"--tgph-comobobox-content-transform-origin\":\n \"var(--radix-popper-transform-origin)\",\n \"--tgph-combobox-content-available-width\":\n \"var(--radix-popper-available-width)\",\n \"--tgph-combobox-content-available-height\":\n \"calc(var(--radix-popper-available-height) - var(--tgph-spacing-8))\",\n \"--tgph-comobobox-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--tgph-combobox-trigger-height\": \"var(--radix-popper-anchor-height)\",\n },\n }}\n {...props}\n tgphRef={composedRef}\n data-tgph-combobox-content\n data-tgph-combobox-content-open={initialAnimationComplete}\n // Cancel out accessibility attirbutes related to aria menu\n role={undefined}\n aria-orientation={undefined}\n >\n <Stack direction=\"column\" gap=\"1\" tgphRef={internalContentRef}>\n {children}\n </Stack>\n </TelegraphMenu.Content>\n );\n};\n\ntype OptionsProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>>;\n\nconst Options = <T extends TgphElement>({ ...props }: OptionsProps<T>) => {\n const context = React.useContext(ComboboxContext);\n return (\n <Stack\n id={context.contentId}\n direction=\"column\"\n gap=\"1\"\n style={{\n overflowY: \"auto\",\n // Available Height - Padding from edge of screen\n maxHeight:\n \"calc(var(--tgph-combobox-content-available-height) - var(--tgph-spacing-12))\",\n }}\n // Accessibility attributes\n role=\"listbox\"\n {...props}\n />\n );\n};\n\ntype OptionProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n value: string;\n label?: string;\n selected?: boolean | null;\n};\n\nconst Option = <T extends TgphElement>({\n value,\n label,\n selected,\n onSelect,\n ...props\n}: OptionProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isFocused, setIsFocused] = React.useState(false);\n const contextValue = context.value ?? [];\n\n const isVisible = isMultiSelect(contextValue)\n ? !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase())\n : !context.searchQuery ||\n value.toLowerCase().includes(context.searchQuery.toLowerCase());\n\n const isSelected = isMultiSelect(contextValue)\n ? contextValue.some((v) => v.value === value)\n : contextValue.value === value;\n\n const handleSelection = (event: React.KeyboardEvent) => {\n // Don't do anything if the key isn't a selection key\n if (event.key && !SELECT_KEYS.includes(event.key)) return;\n\n // Don't bubble up the event\n event.stopPropagation();\n event.preventDefault();\n\n if (context.closeOnSelect === true) {\n context.setOpen(false);\n }\n\n if (onSelect) {\n // Need to convert to non keyboard type event\n // since onSelect is expecting a mouse event\n // and we've handled the keyboard event already\n const onSelectEvent = event as unknown as Event;\n return onSelect(onSelectEvent);\n }\n\n if (isMultiSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Array<Option>) => void;\n\n const newValue = isSelected\n ? contextValue.filter((v) => v.value !== value)\n : [...contextValue, { value, label }];\n\n onValueChange(newValue);\n } else if (isSingleSelect(contextValue)) {\n const onValueChange = context.onValueChange as (v: Option) => void;\n onValueChange({ value, label });\n }\n\n context.triggerRef?.current?.focus();\n };\n\n if (isVisible) {\n return (\n <TelegraphMenu.Button\n type=\"button\"\n onSelect={handleSelection}\n onKeyDown={handleSelection}\n // Force null if selected equals null so we\n // can override the icon of the button\n selected={selected === null ? null : selected ?? isSelected}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n // Accessibility attributes\n role=\"option\"\n aria-selected={isSelected ? \"true\" : \"false\"}\n // Custom attributes\n data-tgph-combobox-option\n data-tgph-combobox-option-focused={isFocused}\n data-tgph-combobox-option-value={value}\n data-tgph-combobox-option-label={label}\n {...props}\n >\n {label || value}\n </TelegraphMenu.Button>\n );\n }\n};\n\ntype SearchProps = TgphComponentProps<typeof TelegraphInput> & {\n label?: string;\n};\n\nconst Search = ({\n label = \"Search\",\n placeholder = \"Search\",\n tgphRef,\n ...props\n}: SearchProps) => {\n const id = React.useId();\n const context = React.useContext(ComboboxContext);\n const composedRef = useComposedRefs(tgphRef, context.searchRef);\n\n React.useEffect(() => {\n const handleSearchKeyDown = (event: KeyboardEvent) => {\n if (FIRST_KEYS.includes(event.key)) {\n context.contentRef?.current?.focus({ preventScroll: true });\n }\n\n if (event.key === \"Escape\") {\n context.setOpen(false);\n }\n\n event.stopPropagation();\n };\n\n const searchInput = context.searchRef?.current;\n\n if (searchInput) {\n searchInput.addEventListener(\"keydown\", handleSearchKeyDown);\n return () => {\n searchInput.removeEventListener(\"keydown\", handleSearchKeyDown);\n };\n }\n }, [context]);\n\n return (\n <Box borderBottom px=\"1\" pb=\"1\">\n <VisuallyHidden.Root>\n <Text as=\"label\" htmlFor={id}>\n {label}\n </Text>\n </VisuallyHidden.Root>\n <TelegraphInput\n id={id}\n variant=\"ghost\"\n placeholder={placeholder}\n value={context.searchQuery}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n context?.setSearchQuery?.(event.target.value);\n }}\n LeadingComponent={<Icon icon={Lucide.Search} alt=\"Search Icon\" />}\n TrailingComponent={\n context?.searchQuery && context?.searchQuery?.length > 0 ? (\n <TelegraphButton\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n variant=\"ghost\"\n color=\"gray\"\n icon={{ icon: Lucide.X, alt: \"Clear Search Query\" }}\n onClick={() => context.setSearchQuery?.(\"\")}\n />\n ) : null\n }\n autoFocus\n data-tgph-combobox-search\n aria-controls={context.contentId}\n {...props}\n tgphRef={composedRef}\n />\n </Box>\n );\n};\n\ntype EmptyProps<T extends TgphElement> = TgphComponentProps<typeof Stack<T>> & {\n icon?: TgphComponentProps<typeof Icon> | null;\n message?: string | null;\n};\n\nconst Empty = <T extends TgphElement>({\n icon = { icon: Lucide.Search, alt: \"Search Icon\" },\n message = \"No results found\",\n children,\n ...props\n}: EmptyProps<T>) => {\n const context = React.useContext(ComboboxContext);\n const [isVisible, setIsVisible] = React.useState(false);\n\n React.useEffect(() => {\n const options = context.contentRef?.current?.querySelectorAll(\n \"[data-tgph-combobox-option]\",\n );\n\n if (options?.length === 0) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n }, [context.searchQuery, context.contentRef, children]);\n\n if (isVisible) {\n return (\n <Stack\n as={motion.div}\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ duration: 0.2, type: \"spring\", bounce: 0 }}\n gap=\"1\"\n align=\"center\"\n justify=\"center\"\n w=\"full\"\n my=\"8\"\n data-tgph-combobox-empty\n {...props}\n >\n {icon === null ? <></> : <Icon {...icon} />}\n {message === null ? <></> : <Text as=\"span\">{message}</Text>}\n </Stack>\n );\n }\n};\n\ntype CreateProps<T extends TgphElement> = TgphComponentProps<\n typeof TelegraphMenu.Button<T>\n> & {\n leadingText?: string;\n values?: Array<Option>;\n onCreate?: (value: Option) => void;\n};\n\nconst Create = <T extends TgphElement>({\n leadingText = \"Create\",\n values,\n onCreate,\n selected = null,\n ...props\n}: CreateProps<T>) => {\n const context = React.useContext(ComboboxContext);\n\n const variableAlreadyExists = React.useCallback(\n (searchQuery: string | undefined) => {\n if (!values || values?.length === 0) return false;\n return values.some((v) => v.value === searchQuery);\n },\n [values],\n );\n\n if (context.searchQuery && !variableAlreadyExists(context.searchQuery)) {\n return (\n <Option\n leadingIcon={{ icon: Lucide.Plus, \"aria-hidden\": true }}\n mx=\"1\"\n value={context.searchQuery}\n label={`${leadingText} \"${context.searchQuery}\"`}\n selected={selected}\n onSelect={() => {\n if (onCreate && context.value && context.searchQuery) {\n if (isSingleSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n if (isMultiSelect(context.value)) {\n onCreate({ value: context.searchQuery });\n }\n\n context.setSearchQuery?.(\"\");\n }\n }}\n {...props}\n />\n );\n }\n};\n\nconst Combobox = {} as {\n Root: typeof Root;\n Trigger: typeof Trigger;\n Content: typeof Content;\n Options: typeof Options;\n Option: typeof Option;\n Search: typeof Search;\n Empty: typeof Empty;\n Create: typeof Create;\n};\n\nObject.assign(Combobox, {\n Root,\n Trigger,\n Content,\n Options,\n Option,\n Search,\n Empty,\n Create,\n});\n\nexport { Combobox };\n"],"names":["r","e","f","n","o","clsx","S","z","M","N","y","I","l","a","A","p","w","s","D","L","C","u","d","j","H","i","b","h","c","g","m","T","W","X","v","Y","q","F","G","J","k","$","R","x","_","B","E","P","O","V","te","t","isMultiSelect","value","isSingleSelect","FIRST_KEYS","LAST_KEYS","SELECT_KEYS","ComboboxContext","React","Root","modal","closeOnSelect","openProp","onOpenChangeProp","defaultOpenProp","onValueChange","errored","placeholder","layout","props","contentId","triggerId","triggerRef","searchRef","contentRef","searchQuery","setSearchQuery","open","setOpen","useControllableState","onOpenToggle","prevOpen","jsx","TelegraphMenu","TriggerTag","label","context","jsxs","Tag","motion","Lucide","event","newValue","TriggerValue","size","height","contextValue","truncatedLength","truncatedLengthStringArray","Stack","TelegraphButton","AnimatePresence","RefToTgphRef","Text","Box","_a","_b","Trigger","getAriaLabelString","_c","Content","tgphRef","style","children","hasInteractedOutside","composedRef","useComposedRefs","internalContentRef","setHeight","initialAnimationComplete","setInitialAnimationComplete","setHeightFromContent","element","rect","observer","entries","entry","options","_d","Options","Option","selected","onSelect","isFocused","setIsFocused","isVisible","isSelected","handleSelection","Search","id","handleSearchKeyDown","searchInput","VisuallyHidden","TelegraphInput","Icon","Empty","icon","message","setIsVisible","Fragment","Create","leadingText","values","onCreate","variableAlreadyExists","Combobox"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAU,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAiC,MAAM,oBAAoB,CAAC;AAMhF,KAAK,SAAS,GAAG,CACb;IACE,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAC9B,GACD;IACE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CACJ,GAAG;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAwBF,QAAA,MAAM,IAAI,yKAYP,SAAS,4CAuDX,CAAC;AAmKF,KAAK,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,GAAG;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,kBAAkB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;CAChE,CAAC;AAEF,QAAA,MAAM,OAAO,uBAA8B,YAAY,4CA0EtD,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI,kBAAkB,CAC3D,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAChC,CAAC;AAEF,QAAA,MAAM,OAAO,kEAKV,aAAa,CAAC,CAAC,4CAsIjB,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI,kBAAkB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/E,QAAA,MAAM,OAAO,wCAAyC,aAAa,CAAC,CAAC,4CAkBpE,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,kBAAkB,CAC1D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAC/B,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,MAAM,0EAMT,YAAY,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telegraph/combobox",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "A styled menu, triggered by a Select, that combines an Input and Single- or Multi-select.",
|
|
5
5
|
"repository": "https://github.com/knocklabs/telegraph/tree/main/packages/combobox",
|
|
6
6
|
"author": "@knocklabs",
|