@knapsack/types 4.89.2 → 4.89.3

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/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import*as t from'superstruct';import {define,union,type,literal,string,object,number,enums,optional,array,size,boolean,defaulted}from'superstruct';import Ne from'color-string';import {z}from'zod/v4-mini';import {expectType,isObject,isObjKey,parseNumberWithUnit}from'@knapsack/utils';export{isObjKey,isObject}from'@knapsack/utils';import {isDraft}from'immer';import {z as z$1}from'zod';import {createUrlWithParams}from'@knapsack/utils/urls';var ve=Object.defineProperty;var n=(e,r)=>ve(e,"name",{value:r,configurable:true});function Be(e){if(typeof e!="string")return false;try{return !!Ne.get(e)}catch{return false}}n(Be,"isColor");var F=define("ColorStringStruct",e=>typeof e=="string"&&Be(e)),l=union([type({type:literal("value"),colorValue:F}),type({type:literal("design-token"),tokenName:string()})]),dn=type({type:literal("design-token"),tokenName:string()});var kn=["h1","h2","h3","h4","h5","h6"],fe=object({unit:enums(["rem","px"]),value:number()}),me=union([string(),number()]),Me=(a=>(a.woff2="woff2",a.woff="woff",a))(Me||{}),je=enums(["woff2","woff"]),ze=type({format:je,type:literal("url"),path:string()}),w=type({family:optional(string()),weight:optional(union([me,size(array(me),2)])),src:optional(array(ze)),style:optional(string()),display:optional(enums(["auto","block","swap","fallback","optional"])),variationSettings:optional(string()),unicodeRange:optional(string())}),We=(f=>(f.inherit="As typed",f.capitalize="Capitalize",f.lowercase="Lowercase",f.uppercase="Uppercase",f))(We||{}),Le=(u=>(u["ultra-condensed"]="Ultra-condensed",u["extra-condensed"]="Extra-condensed",u.condensed="Condensed",u["semi-condensed"]="Semi-condensed",u.normal="Normal",u["semi-expanded"]="Semi-expanded",u.expanded="Expanded",u["extra-expanded"]="Extra-expanded",u["ultra-expanded"]="Ultra-expanded",u))(Le||{}),O=type({fontWeight:optional(union([string(),number()])),textColor:optional(l),hoverColor:optional(l),underline:optional(boolean()),textTransform:optional(enums(["inherit","capitalize","lowercase","uppercase"])),fontStretch:optional(enums(["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded"]))}),_e=type({min:fe,max:optional(fe)}),s=type({fontSize:optional(_e),lineHeight:optional(union([string(),number()])),fontWeight:optional(union([string(),number()])),letterSpacing:optional(string()),fontFamily:optional(string()),textColor:optional(l),textTransform:optional(enums(["inherit","capitalize","lowercase","uppercase"])),fontStretch:optional(enums(["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded"]))}),m={},ye={},Sn={pageTitle:m,pageDescription:m,headingLarge:m,headingMedium:m,headingSmall:m,bodyText:m,link:ye},bn={pageTitle:m,pageDescription:m,headingXLarge:m,headingLarge:m,headingMedium:m,headingSmall:m,headingXSmall:m,bodyText:m,link:ye};var R=union([s,type({accentColor:optional(l)})]),W=union([R,type({hoverColor:optional(l),backgroundColor:optional(l)})]),L=union([R,type({backgroundColor:optional(l)})]),Ge={},$e={},Ye={},Rn={primaryNav:Ye,secondaryNav:$e,tabs:Ge};var jn=object({version:literal(1),oldSillySidebarBgColor:F}),zn=object({version:literal(2),anotherSillySidebarBgColor:F}),Wn=object({version:literal(3),sidebarBgColor:F}),Ln=object({version:literal(4),primaryColor:l,darkColor:l,lightColor:l,enableSidebarIcons:optional(defaulted(boolean(),true))}),_n=object({version:literal(5),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true))}),Gn=object({version:literal(6),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true)),appearance:type({customFonts:optional(array(w)),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),$n=object({version:literal(7),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true)),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Yn=object({version:literal(8),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Hn=object({version:literal(9),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),He=object({version:literal(10),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingXLarge:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),headingXSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Jn=He;var Qn=["large","medium","small"],eo=["large","medium","small"];var no={default:"Default",android:"Android",cssVar:"CSS Var",json:"JSON",less:"Less",scss:"SCSS",swift:"Swift"};var ro=["solid","dashed","dotted","double","groove","ridge","outset","inset"];function Je(e){return typeof e!="string"?false:e.split("{").length-1===1&&e.startsWith("{")&&e.endsWith("}")}n(Je,"isTokenReference");function x(e){return typeof e=="string"&&e.includes("{")}n(x,"hasTokenReferences");function qe(e){return !Je(e)}n(qe,"isNotTokenReference");var c=t.define("Token Reference",e=>typeof e!="string"?false:qe(e)?"Must start and end with curly braces":true),Xe={border:"border",shadow:"shadow",transition:"transition"},Ze=Object.values(Xe),Qe={string:"string",number:"number",boolean:"boolean",color:"color",dimension:"dimension",duration:"duration",fontWeight:"fontWeight",strokeStyle:"strokeStyle",cubicBezier:"cubicBezier"},et=Object.values(Qe);function J(e){return Ze.includes(e)}n(J,"isTokenTypeComposite");function ke(e){return et.includes(e)}n(ke,"isTokenTypeSingular");expectType([{inset:false,color:"#000",offsetX:"0px",offsetY:"0px",spread:"0px",blur:"0px"},{color:"#000",offsetX:"0px",offsetY:"0px",spread:"0px",blur:"0px",inset:true}]);var d=t.type({id:t.string(),description:t.optional(t.string()),references:t.optional(t.array(t.array(t.string()))),tokenConfig:t.optional(t.type({purpose:t.optional(t.string())}))});expectType([{type:"duration",value:"1ms",originalValue:"1ms",id:"1",kind:"static"},{type:"duration",value:"1ms",kind:"ref",id:"1",originalValue:"{a.b}",referencedTokenId:"1"},{type:"duration",value:"1ms",originalValue:"1ms",id:"1",kind:"ref"},{type:"duration",value:"1ms",kind:"static",id:"1",originalValue:"{a.b}",referencedTokenId:"1"},{type:"color",value:"#000",kind:"static",id:"1",originalValue:"#000"},{type:"color",value:"#000",kind:"ref",id:"1",originalValue:"{c.b}",referencedTokenId:"c.b"},{type:"cubicBezier",kind:"static",value:[0,0,0,1],originalValue:[0,0,0,1],id:"1"}]);function To(e){return J(e.type)}n(To,"isTokenDataComposite");expectType([{type:"border",kind:"static",id:"1",value:{color:"#000",style:"solid",width:"1px"},originalValue:{color:"#000",style:"solid",width:"1px"}},{type:"border",kind:"ref",referencedTokenId:"a.b",id:"1",value:{color:"red",style:"dashed",width:"2px"},originalValue:"{a.b}"},{type:"shadow",value:{color:"#000",offsetX:"1px",offsetY:"1px",blur:"1px",spread:"1px",inset:false},originalValue:{color:"#000",offsetX:"{a.a}",offsetY:"1px",blur:"1px",spread:"1px",inset:false},id:"1",kind:"static"},{type:"shadow",kind:"ref",referencedTokenId:"a.b",value:{inset:true,color:"red",offsetX:"1px",blur:"2px",offsetY:"3px",spread:"4px"},originalValue:"{a.b}",id:"1"},{type:"transition",value:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},originalValue:"{a.b}",kind:"ref",referencedTokenId:"a.b",id:"1"},{type:"transition",kind:"static",value:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},originalValue:{duration:"100ms",delay:"{a.c}",timingFunction:"{a.c}"},id:"1"},{type:"transition",kind:"static",value:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},originalValue:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},id:"1"}]);function nt(e){return typeof e=="string"&&!x(e)}n(nt,"isTokenValueColor");var A=t.define("Color Value",e=>typeof e!="string"?"Value must be a string":e===""?"Value must not be empty":x(e)?"Value must not contain {} (token references)":true),ot=t.assign(t.type({type:t.literal("color"),value:A,kind:t.literal("static"),originalValue:A}),d),rt=t.assign(t.type({type:t.literal("color"),value:A,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function q(e){return typeof e=="string"&&(e.endsWith("px")||e.endsWith("rem"))&&!x(e)}n(q,"isTokenValueDimension");var h=t.define("Dimension Value",e=>typeof e!="string"?"Value must be a string":x(e)?"Value must not contain {} (token references)":!e.endsWith("px")&&!e.endsWith("rem")&&!e.endsWith("em")&&!e.endsWith("%")?"Value must end with px, rem, em or %":true),at=t.assign(t.type({type:t.literal("dimension"),value:h,kind:t.literal("static"),originalValue:h}),d),it=t.assign(t.type({type:t.literal("dimension"),value:h,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function ko(e){return typeof e=="string"&&e.endsWith("ms")&&!x(e)}n(ko,"isTokenValueDuration");var E=t.define("Duration Value",e=>typeof e!="string"?"Value must be a string":x(e)?"Value must not contain {} (token references)":/^\d+ms$/.test(e)?true:'Value must be a number followed by "ms" (e.g., "100ms")'),st=t.assign(t.type({type:t.literal("duration"),value:E,kind:t.literal("static"),originalValue:E}),d),pt=t.assign(t.type({type:t.literal("duration"),value:E,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function So(e){return (typeof e=="string"||typeof e=="number")&&!x(e)}n(So,"isTokenValueFontWeight");var se=t.define("Font Weight Value",e=>typeof e!="string"&&typeof e!="number"?"Value must be a string or number":x(e)?"Value must not contain {} (token references)":true),lt=t.assign(t.type({type:t.literal("fontWeight"),value:se,kind:t.literal("static"),originalValue:se}),d),ct=t.assign(t.type({type:t.literal("fontWeight"),value:se,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),G=t.define("Cubic Bezier Value",e=>Array.isArray(e)?e.length!==4||!e.every(r=>typeof r=="number")?"Value must be an array of 4 numbers":e[0]<0||e[0]>1||e[2]<0||e[2]>1?"The first and third cubicBezier values must be between 0 and 1":true:"Value must be an array"),dt=t.assign(t.type({type:t.literal("cubicBezier"),value:G,kind:t.literal("static"),originalValue:G}),d),ut=t.assign(t.type({type:t.literal("cubicBezier"),value:G,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function gt(e){return isObject(e)&&nt(e.color)&&q(e.offsetX)&&q(e.offsetY)&&q(e.blur)&&q(e.spread)}n(gt,"isTokenValueShadow");var Se=t.define("Shadow Value",e=>gt(e)?true:`Expected a shadow value, got ${JSON.stringify(e)}`),ft=t.assign(t.type({type:t.literal("shadow"),value:Se,kind:t.literal("static"),originalValue:t.type({color:t.union([A,c]),offsetX:t.union([h,c]),offsetY:t.union([h,c]),blur:t.union([h,c]),spread:t.union([h,c]),inset:t.union([t.optional(t.boolean()),c])})}),d),mt=t.assign(t.type({type:t.literal("shadow"),value:Se,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),K=t.union([t.literal("solid"),t.literal("dashed"),t.literal("dotted"),t.literal("double"),t.literal("groove"),t.literal("ridge"),t.literal("outset"),t.literal("inset")]);function yt(e){return isObject(e)&&A.is(e.color)&&K.is(e.style)&&h.is(e.width)}n(yt,"isTokenValueBorder");var be=t.define("Border Value",yt),Tt=t.assign(t.type({type:t.literal("border"),value:be,kind:t.literal("static"),originalValue:t.type({color:t.union([A,c]),style:t.union([K,c]),width:t.union([h,c])})}),d),kt=t.assign(t.type({type:t.literal("border"),value:be,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function St(e){return isObject(e)&&G.is(e.timingFunction)&&E.is(e.duration)&&E.is(e.delay)}n(St,"isTokenValueTransition");var Ce=t.define("Transition Value",St),bt=t.assign(t.type({type:t.literal("transition"),value:Ce,kind:t.literal("static"),originalValue:t.type({timingFunction:t.union([G,c]),duration:t.union([E,c]),delay:t.union([E,c])})}),d),Ct=t.assign(t.type({type:t.literal("transition"),value:Ce,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),xt=t.assign(t.type({type:t.literal("string"),value:t.string(),kind:t.literal("static"),originalValue:t.string()}),d),ht=t.assign(t.type({type:t.literal("string"),value:t.string(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),Dt=t.assign(t.type({type:t.literal("strokeStyle"),value:K,kind:t.literal("static"),originalValue:K}),d),It=t.assign(t.type({type:t.literal("strokeStyle"),value:K,kind:t.literal("ref"),originalValue:c,referencedTokenId:K}),d),Pt=t.assign(t.type({type:t.literal("number"),value:t.number(),kind:t.literal("static"),originalValue:t.number()}),d),Vt=t.assign(t.type({type:t.literal("number"),value:t.number(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),Rt=t.assign(t.type({type:t.literal("boolean"),value:t.boolean(),kind:t.literal("static"),originalValue:t.boolean()}),d),Et=t.assign(t.type({type:t.literal("boolean"),value:t.boolean(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),bo=n(e=>{if(!isObject(e))throw new Error(`Expected token data to be an object, got ${JSON.stringify(e)}`);if(!isObjKey("type",e))throw new Error(`Expected token data to have a "type" property, got ${JSON.stringify(e)}`);if(typeof e.type!="string")throw new Error(`Expected token data "type" property to be a string, got ${JSON.stringify(e)}`);let r=e.type,a=e.kind;try{switch(r){case "boolean":a==="ref"?Et.assert(e):Rt.assert(e);return;case "border":a==="ref"?kt.assert(e):Tt.assert(e);return;case "color":a==="ref"?rt.assert(e):ot.assert(e);return;case "cubicBezier":a==="ref"?ut.assert(e):dt.assert(e);return;case "dimension":a==="ref"?it.assert(e):at.assert(e);return;case "duration":a==="ref"?pt.assert(e):st.assert(e);return;case "fontWeight":a==="ref"?ct.assert(e):lt.assert(e);return;case "number":a==="ref"?Vt.assert(e):Pt.assert(e);return;case "shadow":a==="ref"?mt.assert(e):ft.assert(e);return;case "string":a==="ref"?ht.assert(e):xt.assert(e);return;case "strokeStyle":a==="ref"?It.assert(e):Dt.assert(e);return;case "transition":a==="ref"?Ct.assert(e):bt.assert(e);return;default:{throw new Error(`Unknown token data type: ${r}`)}}}catch(u){throw u instanceof t.StructError?new Error(`Invalid token data for type "${r}": ${u.message}. Received this data: "${JSON.stringify(e)}"`):u}},"assertTokenData");expectType([{type:"dimension",kind:"static",value:"1px"},{type:"dimension",kind:"ref",referencedTokenId:"a.b"}]);expectType([{type:"border",kind:"ref",referencedTokenId:"a.b"},{type:"border",kind:"static",value:{color:{kind:"static",type:"color",value:"red"},style:{kind:"ref",type:"strokeStyle",referencedTokenId:""},width:{kind:"static",type:"dimension",value:"2px"}}}]);expectType([{type:"transition",kind:"ref",referencedTokenId:"a.b"},{type:"transition",kind:"static",value:{delay:{kind:"static",type:"duration",value:"1ms"},duration:{kind:"ref",type:"duration",referencedTokenId:"animation.slow"},timingFunction:{kind:"static",type:"cubicBezier",value:[.4,0,.2,1]}}}]);function Eo(e){return ke(e?.type)}n(Eo,"isTokenSrcValueInfoSingular");function vo(e){return J(e?.type)}n(vo,"isTokenSrcValueInfoComposite");expectType([{type:"dimension",kind:"static",value:"1px"},{type:"transition",kind:"ref",referencedTokenId:"a.b"},{type:"transition",kind:"ref",value:"1px"},{kind:"ref",type:"duration",referencedTokenId:"animation.slow"},{kind:"static",type:"cubicBezier",value:[.4,0,.2,1]},{type:"transition",kind:"static",value:{delay:{kind:"static",type:"duration",value:"1ms"},duration:{kind:"ref",type:"duration",referencedTokenId:"animation.slow"},timingFunction:{kind:"static",type:"cubicBezier",value:[.4,0,.2,1]}}}]);function Nt(e){return isObject(e)&&isObjKey("cloud.knapsack",e)}n(Nt,"isTokenSrcExtensions");expectType(["#ddd",true,[83,1,1,1],{color:"#000",style:"solid",width:"1px"},{inset:true,color:"#000",offsetX:"0px",offsetY:"{spacing.medium}",spread:"0px",blur:"0px"},{timingFunction:"{timing.ease}",duration:"{timing.duration.medium}",delay:"7ms",color:"#000"}]);function Ao(e){return !!(isObject(e)&&isObjKey("$value",e))}n(Ao,"isTokenSrc");function wt(e){return isObject(e)&&!Nt(e)&&!isObjKey("$value",e)&&!isObjKey("cloud.knapsack",e)}n(wt,"isTokenGroup");function Ko(e){if(wt(e)){let r=e.$extensions["cloud.knapsack"].group.collectionInfo;if(isObjKey("type",r)&&isObjKey("referenceId",r))return true}return false}n(Ko,"isTokenTypeVarRef");function jo(e){let r=typeof e;if(r==="string"||r==="number"||r==="boolean")return r;throw new Error(`Invalid token value type: ${JSON.stringify(r)}. Token value is: ${JSON.stringify(e)}`)}n(jo,"getPrimitiveValue");var zo=n(e=>e.includes("px")||e.includes("rem")||e.includes("em")||e.includes("%"),"isDimensionString");function Wo(e){let{value:r,unit:a}=parseNumberWithUnit(e);if(!a)return {value:r};if(a!=="px"&&a!=="rem"&&a!=="em"&&a!=="%")throw new Error(`Invalid unit "${a}" for value: ${r}`);return {value:r,unit:a}}n(Wo,"parseTokenDimensionValue");function Go(e){return e?.type==="data"||e?.type==="data-w-template-info"}n(Go,"isDemoWithData");function $o(e){return e?.type==="data"}n($o,"isDataDemo");function Yo(e){return e?.type==="template"}n(Yo,"isTemplateDemo");function Ho(e){return typeof e=="object"&&!e.isInferred}n(Ho,"isSpecNotInferred");var Xo={designSrc:"Design Source",subPage:"Subpage",template:"Template"};var xe=(T=>(T.auto="auto",T.small="small",T.medium="medium",T.large="large",T.full="full",T))(xe||{});var rr={patternsState:{patterns:{},renderers:{},statusSets:[]},customPagesState:{pages:{}},assetSetsState:{},navsState:{byId:{},order:[]},tokensSrc:{},filesState:{files:{}},db:{blocks:{byId:{},settings:{tokens:{rootFontSize:"16px"}}},demos:{byId:{},settings:{}},tabs:{byId:{},settings:{}},blockCollections:{byId:{},settings:{}},settings:{title:"",logoUrl:""}}};function At(e){return !isObject(e)||!["assetSetsState","customPagesState","navsState","patternsState","tokensSrc","db"].every(a=>isObjKey(a,e))?false:!isObjKey("metaState",e)}n(At,"isKsAppClientDataNoMeta");var ar=define("KsAppClientDataNoMeta",At),Kt=z.strictObject({assetSetsState:z.object({}),customPagesState:z.object({pages:z.object({})}),navsState:z.object({byId:z.object(),order:z.array(z.string())}),patternsState:z.object({patterns:z.object({}),renderers:z.object({}),statusSets:z.array(z.object())}),tokensSrc:z.object({}),filesState:z.object({files:z.object({})}),db:z.object({blocks:z.object({byId:z.object({}),settings:z.object({})}),demos:z.object({byId:z.object({}),settings:z.object({})}),tabs:z.optional(z.object({byId:z.object({}),settings:z.object({})})),blockCollections:z.optional(z.object({byId:z.object({}),settings:z.object({})})),templatesConfig:z.optional(z.object({})),settings:z.object({title:z.optional(z.string()),hideTitleInNavigation:z.optional(z.boolean()),logoUrl:z.optional(z.string())})})}),ir=z.custom().check(e=>{let{error:r}=Kt.safeParse(e.value);r&&e.issues.push(...r.issues);});function Ut(e){return isObject(e)?["assetSetsState","customPagesState","navsState","patternsState","tokensSrc","metaState","db"].every(a=>isObjKey(a,e)):false}n(Ut,"isKsAppClientDataAndMeta");var sr=define("KsAppClientDataAndMeta",Ut),Ft=type({isLocalDev:boolean(),plugins:array(type({id:string(),hasContent:boolean(),clientPluginPath:optional(string()),cssPath:optional(string())})),meta:optional(type({version:optional(string()),hasKnapsackCloud:boolean(),knapsackCloudSiteId:optional(string()),serverPort:optional(number()),websocketsPort:optional(number()),https:optional(boolean()),cacheDir:optional(string()),ksVersions:type({app:string()})}))}),pr=Ft.is;function jt(e){return !isObject(e)||!["assetSetsState","customPagesState","navsState","patternsState","settingsState","tokensState"].every(a=>isObjKey(a,e))?false:!isObjKey("metaState",e)}n(jt,"isKsAppClientDataNoMetaV3");var Pr=define("KsAppClientDataNoMeta",jt);function zt(e){return isObject(e)?["assetSetsState","customPagesState","navsState","patternsState","settingsState","tokensState","metaState"].every(a=>isObjKey(a,e)):false}n(zt,"isKsAppClientDataAndMetaV3");var Vr=define("KsAppClientDataAndMeta",zt),Wt=type({isLocalDev:boolean(),plugins:array(type({id:string(),hasContent:boolean(),clientPluginPath:optional(string()),cssPath:optional(string())})),meta:optional(type({version:optional(string()),hasKnapsackCloud:boolean(),knapsackCloudSiteId:optional(string()),serverPort:optional(number()),websocketsPort:optional(number()),https:optional(boolean()),cacheDir:optional(string()),ksVersions:type({app:string()})}))}),Rr=Wt.is;var Ve={version:"4.1.7",checkIfNeeded:n(e=>true,"checkIfNeeded"),migrate:n(e=>{if(!isDraft(e))throw new Error("Tried to run migrations on appClientData but it is not an Immer Draft");Object.values(e.patternsState.patterns).forEach(r=>{delete r.demoSize;}),Object.values(e.db.demos.byId).forEach(r=>{r.type==="data"&&(Object.entries(r.data.slots??{}).forEach(([a,u])=>{r.data.slots[a]=u.map(f=>typeof f=="string"?{type:"text",text:f}:(f.type==="template-reference"||f.type==="text"||(f.type="template-demo"),f));}),!(r.patternId&&r.templateId)&&(()=>{for(let{id:a,templates:u=[]}of Object.values(e.patternsState.patterns))for(let{id:f,demoIds:T=[]}of u)if(T.includes(r.id)){r.patternId=a,r.templateId=f;return}})());});},"migrate")};var Ar=[Ve];var _t={ROOT:"ROOT",DESIGN:"Design",DEVELOP:"Develop",DOCUMENT:"Documentation",PROTOTYPE:"Prototype",SETTINGS:"Settings"},Ur=Object.values(_t);var Gt=(k=>(k.string="string",k.boolean="boolean",k.number="number",k.object="object",k.options="options",k.function="function",k.customTypeScript="customTypeScript",k.array="array",k.arrayOfObjects="arrayOfObjects",k.arrayOfStrings="arrayOfStrings",k.arrayOfNumbers="arrayOfNumbers",k.unknown="unknown",k))(Gt||{}),Mr=n(e=>"type"in e&&e.type==="string"&&!("enum"in e),"isStringProp"),jr=n(e=>"type"in e&&e.type==="number","isNumberProp"),zr=n(e=>"type"in e&&e.type==="boolean","isBooleanProp"),Wr=n(e=>"enum"in e,"isOptionsProp"),Lr=n(e=>"typeof"in e&&e?.typeof==="function","isFunctionProp"),_r=n(e=>!("typeof"in e)&&"tsType"in e,"isCustomTypeScriptProp"),Gr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="object","isArrayOfObjectsProp"),$r=n(e=>"type"in e&&e.type==="object"&&"properties"in e&&Object.keys(e.properties).length>0,"isObjectProp"),Yr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="string","isArrayOfStringsProp"),Hr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="number","isArrayOfNumbersProp");var Re=t.object({op:t.union([t.literal("replace"),t.literal("remove"),t.literal("add")]),path:t.array(t.union([t.string(),t.number()])),value:t.optional(t.any())}),$t=Re,Xr=n(e=>$t.is(e),"isPatch"),ce=t.array(Re),Yt=ce,Zr=n(e=>Yt.is(e),"isPatches"),Ee=t.type({patches:ce,inversePatches:t.optional(ce),event:t.optional(t.object({type:t.string()})),id:t.string(),date:t.string(),userId:t.optional(t.string())}),Ht=Ee,Qr=n(e=>Ht.is(e),"isKsRemoteChange"),Jt=t.array(Ee),qt=Jt,ea=n(e=>qt.is(e),"isKsRemoteChanges");var ra={react:"react",vue:"vue","web-components":"web-components",twig:"twig",hbs:"hbs",angular:"angular",html:"html",ios:"ios",android:"android"},aa=z$1.strictObject({path:z$1.string().describe("Can contain glob patterns, relative paths, absolute paths, package paths, or package sub-paths"),filter:z$1.custom(e=>typeof e=="function").optional().describe("A function that takes a path and returns a boolean")});function ia(e){return "codeSrcPath"in e}n(ia,"isTemplateInfoWithCodeSrcPath");function Xt(e){switch(e.rendererId){case "angular":case "react":return `${e.rendererId}---${e.codeSrcPath}---${e.exportName||"default"}`;case "web-components":return `${e.rendererId}---${e.elementName}`;case "twig":return `${e.rendererId}---${e.namespacePath}`;case "vue":case "hbs":case "html":return `${e.rendererId}---${e.codeSrcPath}`;case "ios":return `${e.rendererId}---${e.moduleName}---${e.symbolName}`;case "android":return `${e.rendererId}---${e.packageName}---${e.componentName}`;default:{throw new Error(`Invalid template info: ${JSON.stringify(e)}`)}}}n(Xt,"createTemplateInfoId");function sa(e){return {...e,id:Xt(e)}}n(sa,"addIdToTemplateInfo");function pa({rendererId:e,alias:r,path:a}){return (()=>{switch(e){case "react":case "angular":return {rendererId:e,codeSrcPath:a,exportName:r||"default"};case "vue":case "hbs":case "html":return {rendererId:e,codeSrcPath:a};case "twig":return {rendererId:e,namespacePath:r};case "web-components":return {rendererId:e,elementName:r};case "ios":return {rendererId:e,moduleName:a,symbolName:r};case "android":return {rendererId:e,packageName:a,componentName:r};default:{throw new Error(`Invalid renderer ID: ${e}`)}}})()}n(pa,"normalizeTemplateInfo");function la(e){switch(e.rendererId){case "react":case "angular":return {path:e.codeSrcPath,alias:e.exportName};case "hbs":case "html":case "vue":return {path:e.codeSrcPath};case "twig":return {alias:e.namespacePath};case "web-components":return {alias:e.elementName};case "ios":return {path:e.moduleName,alias:e.symbolName};case "android":return {path:e.packageName,alias:e.componentName};default:{throw new Error(`Invalid template info: ${JSON.stringify(e)}`)}}}n(la,"convertTemplateInfoToOldWay");var Zt=(r=>(r.ready="ready",r))(Zt||{}),ua="ks-meta";var fa={PATTERN_TEMPLATE_CHANGED:"PATTERN_TEMPLATE_CHANGED",PATTERN_ASSET_CHANGED:"PATTERN_ASSET_CHANGED",DESIGN_TOKENS_CHANGED:"DESIGN_TOKENS_CHANGED",RENDERER_CLIENT_RELOAD:"RENDERER_CLIENT_RELOAD",APP_CLIENT_DATA_CHANGED:"APP_CLIENT_DATA_CHANGED"};var Qt=(T=>(T.GitHub="GitHub",T.GitLab="GitLab",T.GitLabRest="GitLabRest",T.Bitbucket="Bitbucket",T.Azure="Azure",T))(Qt||{}),en=(u=>(u.Conflicting="CONFLICTING",u.Mergeable="MERGEABLE",u.Unknown="UNKNOWN",u))(en||{}),tn=(f=>(f.Create="CREATE",f.Move="MOVE",f.Update="UPDATE",f.Chmod="CHMOD",f))(tn||{}),nn=(a=>(a.Base64="BASE64",a.Text="TEXT",a))(nn||{});var on={ADMIN:{id:"ADMIN",title:"Admin",hierarchy:4,permissions:{canManageUsers:true,canDelete:true,canEdit:true,canPublish:true,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:true,canView:true},DESIGN:{canEdit:true,canView:true},DEVELOP:{canEdit:true,canView:true},PROTOTYPE:{canEdit:true,canView:true},SETTINGS:{canEdit:true,canView:true}}},CONTRIBUTOR:{id:"CONTRIBUTOR",title:"Contributor",hierarchy:3,permissions:{canManageUsers:false,canDelete:false,canEdit:true,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:true,canView:true},DESIGN:{canEdit:true,canView:true},DEVELOP:{canEdit:true,canView:true},PROTOTYPE:{canEdit:true,canView:true},SETTINGS:{canEdit:true,canView:true}}},CONSUMER:{id:"CONSUMER",title:"Consumer",hierarchy:2,permissions:{canManageUsers:false,canDelete:false,canEdit:true,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:false,canView:true},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:true,canView:true},SETTINGS:{canEdit:false,canView:false}}},VIEWER:{id:"VIEWER",title:"Viewer",hierarchy:1,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:false,canView:true},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}},ANONYMOUS:{id:"ANONYMOUS",title:"Anonymous",hierarchy:0,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:false,canView:true},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}},EDITOR:{id:"EDITOR",title:"Editor",hierarchy:0,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:false},sectionAccess:{ROOT:{canEdit:false,canView:false},DOCUMENT:{canEdit:false,canView:false},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}},MANAGER:{id:"MANAGER",title:"Manager",hierarchy:0,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:false},sectionAccess:{ROOT:{canEdit:false,canView:false},DOCUMENT:{canEdit:false,canView:false},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}}},Ta=Object.values(on);function ba({path:e,queryParams:r,origin:a}){return createUrlWithParams({url:e,queryParams:r,origin:a})}n(ba,"createUrlForRoute");function an(e){return Object.fromEntries(e.entries())}n(an,"getParams");function Ca(e){return an(e)}n(Ca,"getParamsForRoute");export{Qn as BlockSizes,eo as BlockSpacings,aa as CodeSrcUserConfigSchema,l as ColorConfigStruct,F as ColorStringStruct,dn as ColorTokenConfigStruct,w as FontFaceConfigStruct,je as FontFaceFormatsEnumStruct,Me as FontFaceSourceFormats,ze as FontFaceSourceStruct,me as FontFaceWeightStruct,_e as FontSizeConfigStruct,fe as FontSizeConfigValStruct,Le as FontStretches,Qt as GitProviderType,kn as HeadingLevels,sr as KsAppClientDataAndMetaStruct,Vr as KsAppClientDataAndMetaStructV3,ar as KsAppClientDataNoMetaStruct,Pr as KsAppClientDataNoMetaStructV3,ir as KsAppClientDataNoMetaZod,Ft as KsMetaStateStruct,Wt as KsMetaStateStructV3,qt as KsRemoteChangesStruct,Zt as KsRendererClientEvents,en as MergeableState,R as NavCustomizationConfigStruct,xe as PageHeaderSizes,W as PrimaryNavCustomizationConfigStruct,Gt as PropTypeNames,tn as RestActions,L as SecondaryNavCustomizationConfigStruct,nn as TextEncoding,We as TextTransforms,c as TokenReferenceStruct,A as TokenValueColorStruct,G as TokenValueCubicBezierStruct,h as TokenValueDimensionStruct,E as TokenValueDurationStruct,se as TokenValueFontWeightStruct,K as TokenValueStrokeStyleStruct,s as TypographyConfigStruct,O as TypographyLinkConfigStruct,Jn as UiConfigStruct,He as UiConfigV10Struct,jn as UiConfigV1Struct,zn as UiConfigV2Struct,Wn as UiConfigV3Struct,Ln as UiConfigV4Struct,_n as UiConfigV5Struct,Gn as UiConfigV6Struct,$n as UiConfigV7Struct,Yn as UiConfigV8Struct,Hn as UiConfigV9Struct,fa as WS_EVENTS,sa as addIdToTemplateInfo,Ur as appSections,_t as appSectionsById,bo as assertTokenData,la as convertTemplateInfoToOldWay,Xt as createTemplateInfoId,ba as createUrlForRoute,Rn as customizableNavElements,rr as emptyAppClientData,an as getParams,Ca as getParamsForRoute,jo as getPrimitiveValue,x as hasTokenReferences,Hr as isArrayOfNumbersProp,Gr as isArrayOfObjectsProp,Yr as isArrayOfStringsProp,zr as isBooleanProp,_r as isCustomTypeScriptProp,$o as isDataDemo,Go as isDemoWithData,zo as isDimensionString,Lr as isFunctionProp,Ut as isKsAppClientDataAndMeta,zt as isKsAppClientDataAndMetaV3,At as isKsAppClientDataNoMeta,jt as isKsAppClientDataNoMetaV3,pr as isKsMetaState,Rr as isKsMetaStateV3,Qr as isKsRemoteChange,ea as isKsRemoteChanges,qe as isNotTokenReference,jr as isNumberProp,$r as isObjectProp,Wr as isOptionsProp,Xr as isPatch,Zr as isPatches,Ho as isSpecNotInferred,Mr as isStringProp,Yo as isTemplateDemo,ia as isTemplateInfoWithCodeSrcPath,To as isTokenDataComposite,wt as isTokenGroup,Je as isTokenReference,Ao as isTokenSrc,Nt as isTokenSrcExtensions,vo as isTokenSrcValueInfoComposite,Eo as isTokenSrcValueInfoSingular,J as isTokenTypeComposite,ke as isTokenTypeSingular,Ko as isTokenTypeVarRef,yt as isTokenValueBorder,nt as isTokenValueColor,q as isTokenValueDimension,ko as isTokenValueDuration,So as isTokenValueFontWeight,gt as isTokenValueShadow,St as isTokenValueTransition,ua as ksRendererClientMetaId,Ar as migrations,pa as normalizeTemplateInfo,Sn as pageElements,bn as pageElementsV2,Wo as parseTokenDimensionValue,Xo as patternTabTypes,ra as rendererIds,Ta as roles,on as rolesById,ro as strokeStyleValues,no as tokenNameDisplayFormats,Ze as tokenTypeComposites,et as tokenTypeSingulars};//# sourceMappingURL=index.mjs.map
1
+ import*as t from'superstruct';import {define,union,type,literal,string,object,number,enums,optional,array,size,boolean,defaulted}from'superstruct';import we from'color-string';import {z}from'zod/v4-mini';import {expectType,isObject,isObjKey,parseNumberWithUnit}from'@knapsack/utils';export{isObjKey,isObject}from'@knapsack/utils';import {isDraft}from'immer';import {z as z$1}from'zod';import {createUrlWithParams}from'@knapsack/utils/urls';var Ne=Object.defineProperty;var n=(e,r)=>Ne(e,"name",{value:r,configurable:true});function Ae(e){if(typeof e!="string")return false;try{return !!we.get(e)}catch{return false}}n(Ae,"isColor");var F=define("ColorStringStruct",e=>typeof e=="string"&&Ae(e)),l=union([type({type:literal("value"),colorValue:F}),type({type:literal("design-token"),tokenName:string()})]),un=type({type:literal("design-token"),tokenName:string()});var Sn=["h1","h2","h3","h4","h5","h6"],fe=object({unit:enums(["rem","px"]),value:number()}),me=union([string(),number()]),je=(a=>(a.woff2="woff2",a.woff="woff",a))(je||{}),ze=enums(["woff2","woff"]),We=type({format:ze,type:literal("url"),path:string()}),w=type({family:optional(string()),weight:optional(union([me,size(array(me),2)])),src:optional(array(We)),style:optional(string()),display:optional(enums(["auto","block","swap","fallback","optional"])),variationSettings:optional(string()),unicodeRange:optional(string())}),Le=(f=>(f.inherit="As typed",f.capitalize="Capitalize",f.lowercase="Lowercase",f.uppercase="Uppercase",f))(Le||{}),_e=(u=>(u["ultra-condensed"]="Ultra-condensed",u["extra-condensed"]="Extra-condensed",u.condensed="Condensed",u["semi-condensed"]="Semi-condensed",u.normal="Normal",u["semi-expanded"]="Semi-expanded",u.expanded="Expanded",u["extra-expanded"]="Extra-expanded",u["ultra-expanded"]="Ultra-expanded",u))(_e||{}),O=type({fontWeight:optional(union([string(),number()])),textColor:optional(l),hoverColor:optional(l),underline:optional(boolean()),textTransform:optional(enums(["inherit","capitalize","lowercase","uppercase"])),fontStretch:optional(enums(["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded"]))}),Ge=type({min:fe,max:optional(fe)}),s=type({fontSize:optional(Ge),lineHeight:optional(union([string(),number()])),fontWeight:optional(union([string(),number()])),letterSpacing:optional(string()),fontFamily:optional(string()),textColor:optional(l),textTransform:optional(enums(["inherit","capitalize","lowercase","uppercase"])),fontStretch:optional(enums(["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded"]))}),m={},ye={},bn={pageTitle:m,pageDescription:m,headingLarge:m,headingMedium:m,headingSmall:m,bodyText:m,link:ye},Cn={pageTitle:m,pageDescription:m,headingXLarge:m,headingLarge:m,headingMedium:m,headingSmall:m,headingXSmall:m,bodyText:m,link:ye};var R=union([s,type({accentColor:optional(l)})]),W=union([R,type({hoverColor:optional(l),backgroundColor:optional(l)})]),L=union([R,type({backgroundColor:optional(l)})]),$e={},Ye={},He={},En={primaryNav:He,secondaryNav:Ye,tabs:$e};var zn=object({version:literal(1),oldSillySidebarBgColor:F}),Wn=object({version:literal(2),anotherSillySidebarBgColor:F}),Ln=object({version:literal(3),sidebarBgColor:F}),_n=object({version:literal(4),primaryColor:l,darkColor:l,lightColor:l,enableSidebarIcons:optional(defaulted(boolean(),true))}),Gn=object({version:literal(5),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true))}),$n=object({version:literal(6),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true)),appearance:type({customFonts:optional(array(w)),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Yn=object({version:literal(7),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true)),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Hn=object({version:literal(8),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),qn=object({version:literal(9),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),qe=object({version:literal(10),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(R)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingXLarge:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),headingXSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Jn=qe;var eo=["large","medium","small"],to=["large","medium","small"];var oo={default:"Default",android:"Android",cssVar:"CSS Var",json:"JSON",less:"Less",scss:"SCSS",swift:"Swift"};var ao=["solid","dashed","dotted","double","groove","ridge","outset","inset"];function Je(e){return typeof e!="string"?false:e.split("{").length-1===1&&e.startsWith("{")&&e.endsWith("}")}n(Je,"isTokenReference");function x(e){return typeof e=="string"&&e.includes("{")}n(x,"hasTokenReferences");function Xe(e){return !Je(e)}n(Xe,"isNotTokenReference");var c=t.define("Token Reference",e=>typeof e!="string"?false:Xe(e)?"Must start and end with curly braces":true),Ze={border:"border",shadow:"shadow",transition:"transition"},Qe=Object.values(Ze),et={string:"string",number:"number",boolean:"boolean",color:"color",dimension:"dimension",duration:"duration",fontWeight:"fontWeight",strokeStyle:"strokeStyle",cubicBezier:"cubicBezier"},tt=Object.values(et);function q(e){return Qe.includes(e)}n(q,"isTokenTypeComposite");function ke(e){return tt.includes(e)}n(ke,"isTokenTypeSingular");expectType([{inset:false,color:"#000",offsetX:"0px",offsetY:"0px",spread:"0px",blur:"0px"},{color:"#000",offsetX:"0px",offsetY:"0px",spread:"0px",blur:"0px",inset:true}]);var d=t.type({id:t.string(),description:t.optional(t.string()),references:t.optional(t.array(t.array(t.string()))),tokenConfig:t.optional(t.type({purpose:t.optional(t.string())}))});expectType([{type:"duration",value:"1ms",originalValue:"1ms",id:"1",kind:"static"},{type:"duration",value:"1ms",kind:"ref",id:"1",originalValue:"{a.b}",referencedTokenId:"1"},{type:"duration",value:"1ms",originalValue:"1ms",id:"1",kind:"ref"},{type:"duration",value:"1ms",kind:"static",id:"1",originalValue:"{a.b}",referencedTokenId:"1"},{type:"color",value:"#000",kind:"static",id:"1",originalValue:"#000"},{type:"color",value:"#000",kind:"ref",id:"1",originalValue:"{c.b}",referencedTokenId:"c.b"},{type:"cubicBezier",kind:"static",value:[0,0,0,1],originalValue:[0,0,0,1],id:"1"}]);function ko(e){return q(e.type)}n(ko,"isTokenDataComposite");expectType([{type:"border",kind:"static",id:"1",value:{color:"#000",style:"solid",width:"1px"},originalValue:{color:"#000",style:"solid",width:"1px"}},{type:"border",kind:"ref",referencedTokenId:"a.b",id:"1",value:{color:"red",style:"dashed",width:"2px"},originalValue:"{a.b}"},{type:"shadow",value:{color:"#000",offsetX:"1px",offsetY:"1px",blur:"1px",spread:"1px",inset:false},originalValue:{color:"#000",offsetX:"{a.a}",offsetY:"1px",blur:"1px",spread:"1px",inset:false},id:"1",kind:"static"},{type:"shadow",kind:"ref",referencedTokenId:"a.b",value:{inset:true,color:"red",offsetX:"1px",blur:"2px",offsetY:"3px",spread:"4px"},originalValue:"{a.b}",id:"1"},{type:"transition",value:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},originalValue:"{a.b}",kind:"ref",referencedTokenId:"a.b",id:"1"},{type:"transition",kind:"static",value:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},originalValue:{duration:"100ms",delay:"{a.c}",timingFunction:"{a.c}"},id:"1"},{type:"transition",kind:"static",value:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},originalValue:{duration:"100ms",delay:"200ms",timingFunction:[0,0,0,0]},id:"1"}]);function ot(e){return typeof e=="string"&&!x(e)}n(ot,"isTokenValueColor");var A=t.define("Color Value",e=>typeof e!="string"?"Value must be a string":e===""?"Value must not be empty":x(e)?"Value must not contain {} (token references)":true),rt=t.assign(t.type({type:t.literal("color"),value:A,kind:t.literal("static"),originalValue:A}),d),at=t.assign(t.type({type:t.literal("color"),value:A,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function J(e){return typeof e=="string"&&(e.endsWith("px")||e.endsWith("rem"))&&!x(e)}n(J,"isTokenValueDimension");var h=t.define("Dimension Value",e=>typeof e!="string"?"Value must be a string":x(e)?"Value must not contain {} (token references)":!e.endsWith("px")&&!e.endsWith("rem")&&!e.endsWith("em")&&!e.endsWith("%")?"Value must end with px, rem, em or %":true),it=t.assign(t.type({type:t.literal("dimension"),value:h,kind:t.literal("static"),originalValue:h}),d),st=t.assign(t.type({type:t.literal("dimension"),value:h,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function So(e){return typeof e=="string"&&e.endsWith("ms")&&!x(e)}n(So,"isTokenValueDuration");var E=t.define("Duration Value",e=>typeof e!="string"?"Value must be a string":x(e)?"Value must not contain {} (token references)":/^\d+ms$/.test(e)?true:'Value must be a number followed by "ms" (e.g., "100ms")'),pt=t.assign(t.type({type:t.literal("duration"),value:E,kind:t.literal("static"),originalValue:E}),d),lt=t.assign(t.type({type:t.literal("duration"),value:E,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function bo(e){return (typeof e=="string"||typeof e=="number")&&!x(e)}n(bo,"isTokenValueFontWeight");var se=t.define("Font Weight Value",e=>typeof e!="string"&&typeof e!="number"?"Value must be a string or number":x(e)?"Value must not contain {} (token references)":true),ct=t.assign(t.type({type:t.literal("fontWeight"),value:se,kind:t.literal("static"),originalValue:se}),d),dt=t.assign(t.type({type:t.literal("fontWeight"),value:se,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),G=t.define("Cubic Bezier Value",e=>Array.isArray(e)?e.length!==4||!e.every(r=>typeof r=="number")?"Value must be an array of 4 numbers":e[0]<0||e[0]>1||e[2]<0||e[2]>1?"The first and third cubicBezier values must be between 0 and 1":true:"Value must be an array"),ut=t.assign(t.type({type:t.literal("cubicBezier"),value:G,kind:t.literal("static"),originalValue:G}),d),gt=t.assign(t.type({type:t.literal("cubicBezier"),value:G,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function ft(e){return isObject(e)&&ot(e.color)&&J(e.offsetX)&&J(e.offsetY)&&J(e.blur)&&J(e.spread)}n(ft,"isTokenValueShadow");var Se=t.define("Shadow Value",e=>ft(e)?true:`Expected a shadow value, got ${JSON.stringify(e)}`),mt=t.assign(t.type({type:t.literal("shadow"),value:Se,kind:t.literal("static"),originalValue:t.type({color:t.union([A,c]),offsetX:t.union([h,c]),offsetY:t.union([h,c]),blur:t.union([h,c]),spread:t.union([h,c]),inset:t.union([t.optional(t.boolean()),c])})}),d),yt=t.assign(t.type({type:t.literal("shadow"),value:Se,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),K=t.union([t.literal("solid"),t.literal("dashed"),t.literal("dotted"),t.literal("double"),t.literal("groove"),t.literal("ridge"),t.literal("outset"),t.literal("inset")]);function Tt(e){return isObject(e)&&A.is(e.color)&&K.is(e.style)&&h.is(e.width)}n(Tt,"isTokenValueBorder");var be=t.define("Border Value",Tt),kt=t.assign(t.type({type:t.literal("border"),value:be,kind:t.literal("static"),originalValue:t.type({color:t.union([A,c]),style:t.union([K,c]),width:t.union([h,c])})}),d),St=t.assign(t.type({type:t.literal("border"),value:be,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function bt(e){return isObject(e)&&G.is(e.timingFunction)&&E.is(e.duration)&&E.is(e.delay)}n(bt,"isTokenValueTransition");var Ce=t.define("Transition Value",bt),Ct=t.assign(t.type({type:t.literal("transition"),value:Ce,kind:t.literal("static"),originalValue:t.type({timingFunction:t.union([G,c]),duration:t.union([E,c]),delay:t.union([E,c])})}),d),xt=t.assign(t.type({type:t.literal("transition"),value:Ce,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),ht=t.assign(t.type({type:t.literal("string"),value:t.string(),kind:t.literal("static"),originalValue:t.string()}),d),Dt=t.assign(t.type({type:t.literal("string"),value:t.string(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),It=t.assign(t.type({type:t.literal("strokeStyle"),value:K,kind:t.literal("static"),originalValue:K}),d),Pt=t.assign(t.type({type:t.literal("strokeStyle"),value:K,kind:t.literal("ref"),originalValue:c,referencedTokenId:K}),d),Vt=t.assign(t.type({type:t.literal("number"),value:t.number(),kind:t.literal("static"),originalValue:t.number()}),d),Rt=t.assign(t.type({type:t.literal("number"),value:t.number(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),Et=t.assign(t.type({type:t.literal("boolean"),value:t.boolean(),kind:t.literal("static"),originalValue:t.boolean()}),d),vt=t.assign(t.type({type:t.literal("boolean"),value:t.boolean(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),Co=n(e=>{if(!isObject(e))throw new Error(`Expected token data to be an object, got ${JSON.stringify(e)}`);if(!isObjKey("type",e))throw new Error(`Expected token data to have a "type" property, got ${JSON.stringify(e)}`);if(typeof e.type!="string")throw new Error(`Expected token data "type" property to be a string, got ${JSON.stringify(e)}`);let r=e.type,a=e.kind;try{switch(r){case "boolean":a==="ref"?vt.assert(e):Et.assert(e);return;case "border":a==="ref"?St.assert(e):kt.assert(e);return;case "color":a==="ref"?at.assert(e):rt.assert(e);return;case "cubicBezier":a==="ref"?gt.assert(e):ut.assert(e);return;case "dimension":a==="ref"?st.assert(e):it.assert(e);return;case "duration":a==="ref"?lt.assert(e):pt.assert(e);return;case "fontWeight":a==="ref"?dt.assert(e):ct.assert(e);return;case "number":a==="ref"?Rt.assert(e):Vt.assert(e);return;case "shadow":a==="ref"?yt.assert(e):mt.assert(e);return;case "string":a==="ref"?Dt.assert(e):ht.assert(e);return;case "strokeStyle":a==="ref"?Pt.assert(e):It.assert(e);return;case "transition":a==="ref"?xt.assert(e):Ct.assert(e);return;default:{throw new Error(`Unknown token data type: ${r}`)}}}catch(u){throw u instanceof t.StructError?new Error(`Invalid token data for type "${r}": ${u.message}. Received this data: "${JSON.stringify(e)}"`):u}},"assertTokenData");expectType([{type:"dimension",kind:"static",value:"1px"},{type:"dimension",kind:"ref",referencedTokenId:"a.b"}]);expectType([{type:"border",kind:"ref",referencedTokenId:"a.b"},{type:"border",kind:"static",value:{color:{kind:"static",type:"color",value:"red"},style:{kind:"ref",type:"strokeStyle",referencedTokenId:""},width:{kind:"static",type:"dimension",value:"2px"}}}]);expectType([{type:"transition",kind:"ref",referencedTokenId:"a.b"},{type:"transition",kind:"static",value:{delay:{kind:"static",type:"duration",value:"1ms"},duration:{kind:"ref",type:"duration",referencedTokenId:"animation.slow"},timingFunction:{kind:"static",type:"cubicBezier",value:[.4,0,.2,1]}}}]);function vo(e){return ke(e?.type)}n(vo,"isTokenSrcValueInfoSingular");function No(e){return q(e?.type)}n(No,"isTokenSrcValueInfoComposite");expectType([{type:"dimension",kind:"static",value:"1px"},{type:"transition",kind:"ref",referencedTokenId:"a.b"},{type:"transition",kind:"ref",value:"1px"},{kind:"ref",type:"duration",referencedTokenId:"animation.slow"},{kind:"static",type:"cubicBezier",value:[.4,0,.2,1]},{type:"transition",kind:"static",value:{delay:{kind:"static",type:"duration",value:"1ms"},duration:{kind:"ref",type:"duration",referencedTokenId:"animation.slow"},timingFunction:{kind:"static",type:"cubicBezier",value:[.4,0,.2,1]}}}]);function wt(e){return isObject(e)&&isObjKey("cloud.knapsack",e)}n(wt,"isTokenSrcExtensions");expectType(["#ddd",true,[83,1,1,1],{color:"#000",style:"solid",width:"1px"},{inset:true,color:"#000",offsetX:"0px",offsetY:"{spacing.medium}",spread:"0px",blur:"0px"},{timingFunction:"{timing.ease}",duration:"{timing.duration.medium}",delay:"7ms",color:"#000"}]);function Ko(e){return !!(isObject(e)&&isObjKey("$value",e))}n(Ko,"isTokenSrc");function Ot(e){return isObject(e)&&!wt(e)&&!isObjKey("$value",e)&&!isObjKey("cloud.knapsack",e)}n(Ot,"isTokenGroup");function Uo(e){if(Ot(e)){let r=e.$extensions["cloud.knapsack"].group.collectionInfo;if(isObjKey("type",r)&&isObjKey("referenceId",r))return true}return false}n(Uo,"isTokenTypeVarRef");function zo(e){let r=typeof e;if(r==="string"||r==="number"||r==="boolean")return r;throw new Error(`Invalid token value type: ${JSON.stringify(r)}. Token value is: ${JSON.stringify(e)}`)}n(zo,"getPrimitiveValue");var Wo=n(e=>e.includes("px")||e.includes("rem")||e.includes("em")||e.includes("%"),"isDimensionString");function Lo(e){let{value:r,unit:a}=parseNumberWithUnit(e);if(!a)return {value:r};if(a!=="px"&&a!=="rem"&&a!=="em"&&a!=="%")throw new Error(`Invalid unit "${a}" for value: ${r}`);return {value:r,unit:a}}n(Lo,"parseTokenDimensionValue");function $o(e){return e?.type==="data"||e?.type==="data-w-template-info"}n($o,"isDemoWithData");function Yo(e){return e?.type==="data"}n(Yo,"isDataDemo");function Ho(e){return e?.type==="template"}n(Ho,"isTemplateDemo");function qo(e){return typeof e=="object"&&!e.isInferred}n(qo,"isSpecNotInferred");var Zo={designSrc:"Design Source",subPage:"Subpage",template:"Template"};var xe=(T=>(T.auto="auto",T.small="small",T.medium="medium",T.large="large",T.full="full",T))(xe||{});var ar={patternsState:{patterns:{},renderers:{},statusSets:[]},customPagesState:{pages:{}},assetSetsState:{},navsState:{byId:{},order:[]},tokensSrc:{},filesState:{files:{}},db:{blocks:{byId:{},settings:{tokens:{rootFontSize:"16px"}}},demos:{byId:{},settings:{}},tabs:{byId:{},settings:{}},blockCollections:{byId:{},settings:{}},settings:{title:"",logoUrl:""}}};function Kt(e){return !isObject(e)||!["assetSetsState","customPagesState","navsState","patternsState","tokensSrc","db"].every(a=>isObjKey(a,e))?false:!isObjKey("metaState",e)}n(Kt,"isKsAppClientDataNoMeta");var ir=define("KsAppClientDataNoMeta",Kt),Ut=z.strictObject({assetSetsState:z.object({}),customPagesState:z.object({pages:z.object({})}),navsState:z.object({byId:z.object(),order:z.array(z.string())}),patternsState:z.object({patterns:z.object({}),renderers:z.object({}),statusSets:z.array(z.object())}),tokensSrc:z.object({}),filesState:z.object({files:z.object({})}),db:z.object({blocks:z.object({byId:z.object({}),settings:z.object({})}),demos:z.object({byId:z.object({}),settings:z.object({})}),tabs:z.optional(z.object({byId:z.object({}),settings:z.object({})})),blockCollections:z.optional(z.object({byId:z.object({}),settings:z.object({})})),templatesConfig:z.optional(z.object({})),settings:z.object({title:z.optional(z.string()),hideTitleInNavigation:z.optional(z.boolean()),logoUrl:z.optional(z.string())})})}),sr=z.custom().check(e=>{let{error:r}=Ut.safeParse(e.value);r&&e.issues.push(...r.issues);});function Ft(e){return isObject(e)?["assetSetsState","customPagesState","navsState","patternsState","tokensSrc","metaState","db"].every(a=>isObjKey(a,e)):false}n(Ft,"isKsAppClientDataAndMeta");var pr=define("KsAppClientDataAndMeta",Ft),Mt=type({isLocalDev:boolean(),plugins:array(type({id:string(),hasContent:boolean(),clientPluginPath:optional(string()),cssPath:optional(string())})),meta:optional(type({version:optional(string()),hasKnapsackCloud:boolean(),knapsackCloudSiteId:optional(string()),serverPort:optional(number()),websocketsPort:optional(number()),https:optional(boolean()),cacheDir:optional(string()),ksVersions:type({app:string()})}))}),lr=Mt.is;function zt(e){return !isObject(e)||!["assetSetsState","customPagesState","navsState","patternsState","settingsState","tokensState"].every(a=>isObjKey(a,e))?false:!isObjKey("metaState",e)}n(zt,"isKsAppClientDataNoMetaV3");var Vr=define("KsAppClientDataNoMeta",zt);function Wt(e){return isObject(e)?["assetSetsState","customPagesState","navsState","patternsState","settingsState","tokensState","metaState"].every(a=>isObjKey(a,e)):false}n(Wt,"isKsAppClientDataAndMetaV3");var Rr=define("KsAppClientDataAndMeta",Wt),Lt=type({isLocalDev:boolean(),plugins:array(type({id:string(),hasContent:boolean(),clientPluginPath:optional(string()),cssPath:optional(string())})),meta:optional(type({version:optional(string()),hasKnapsackCloud:boolean(),knapsackCloudSiteId:optional(string()),serverPort:optional(number()),websocketsPort:optional(number()),https:optional(boolean()),cacheDir:optional(string()),ksVersions:type({app:string()})}))}),Er=Lt.is;var Ve={version:"4.1.7",checkIfNeeded:n(e=>true,"checkIfNeeded"),migrate:n(e=>{if(!isDraft(e))throw new Error("Tried to run migrations on appClientData but it is not an Immer Draft");Object.values(e.patternsState.patterns).forEach(r=>{delete r.demoSize;}),Object.values(e.db.demos.byId).forEach(r=>{r.type==="data"&&(Object.entries(r.data.slots??{}).forEach(([a,u])=>{r.data.slots[a]=u.map(f=>typeof f=="string"?{type:"text",text:f}:(f.type==="template-reference"||f.type==="text"||(f.type="template-demo"),f));}),!(r.patternId&&r.templateId)&&(()=>{for(let{id:a,templates:u=[]}of Object.values(e.patternsState.patterns))for(let{id:f,demoIds:T=[]}of u)if(T.includes(r.id)){r.patternId=a,r.templateId=f;return}})());});},"migrate")};var Kr=[Ve];var Gt={ROOT:"ROOT",DESIGN:"Design",DEVELOP:"Develop",DOCUMENT:"Documentation",PROTOTYPE:"Prototype",SETTINGS:"Settings"},Fr=Object.values(Gt);var $t=(k=>(k.string="string",k.boolean="boolean",k.number="number",k.object="object",k.options="options",k.function="function",k.customTypeScript="customTypeScript",k.array="array",k.arrayOfObjects="arrayOfObjects",k.arrayOfStrings="arrayOfStrings",k.arrayOfNumbers="arrayOfNumbers",k.unknown="unknown",k))($t||{}),jr=n(e=>"type"in e&&e.type==="string"&&!("enum"in e),"isStringProp"),zr=n(e=>"type"in e&&e.type==="number","isNumberProp"),Wr=n(e=>"type"in e&&e.type==="boolean","isBooleanProp"),Lr=n(e=>"enum"in e,"isOptionsProp"),_r=n(e=>"typeof"in e&&e?.typeof==="function","isFunctionProp"),Gr=n(e=>!("typeof"in e)&&"tsType"in e,"isCustomTypeScriptProp"),$r=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="object","isArrayOfObjectsProp"),Yr=n(e=>"type"in e&&e.type==="object"&&"properties"in e&&Object.keys(e.properties).length>0,"isObjectProp"),Hr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="string","isArrayOfStringsProp"),qr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="number","isArrayOfNumbersProp");var Re=t.object({op:t.union([t.literal("replace"),t.literal("remove"),t.literal("add")]),path:t.array(t.union([t.string(),t.number()])),value:t.optional(t.any())}),Yt=Re,Zr=n(e=>Yt.is(e),"isPatch"),ce=t.array(Re),Ht=ce,Qr=n(e=>Ht.is(e),"isPatches"),Ee=t.type({patches:ce,inversePatches:t.optional(ce),event:t.optional(t.object({type:t.string()})),id:t.string(),date:t.string(),userId:t.optional(t.string())}),qt=Ee,ea=n(e=>qt.is(e),"isKsRemoteChange"),Jt=t.array(Ee),Xt=Jt,ta=n(e=>Xt.is(e),"isKsRemoteChanges");var ve={react:"react",vue:"vue","web-components":"web-components",twig:"twig",hbs:"hbs",angular:"angular",html:"html",ios:"ios",android:"android"},aa=z$1.strictObject({path:z$1.string().describe("Can contain glob patterns, relative paths, absolute paths, package paths, or package sub-paths"),filter:z$1.custom(e=>typeof e=="function").optional().describe("A function that takes a path and returns a boolean")});function ia(e){return "codeSrcPath"in e}n(ia,"isTemplateInfoWithCodeSrcPath");function Zt(e){switch(e.rendererId){case "angular":case "react":return `${e.rendererId}---${e.codeSrcPath}---${e.exportName||"default"}`;case "web-components":return `${e.rendererId}---${e.elementName}`;case "twig":return `${e.rendererId}---${e.namespacePath}`;case "vue":case "hbs":case "html":return `${e.rendererId}---${e.codeSrcPath}`;case "ios":return `${e.rendererId}---${e.moduleName}---${e.symbolName}`;case "android":return `${e.rendererId}---${e.packageName}---${e.componentName}`;default:{throw new Error(`Invalid template info: ${JSON.stringify(e)}`)}}}n(Zt,"createTemplateInfoId");function sa(e){return {...e,id:Zt(e)}}n(sa,"addIdToTemplateInfo");function pa({rendererId:e,alias:r,path:a}){return (()=>{switch(e){case "react":case "angular":return {rendererId:e,codeSrcPath:a,exportName:r||"default"};case "vue":case "hbs":case "html":return {rendererId:e,codeSrcPath:a};case "twig":return {rendererId:e,namespacePath:r};case "web-components":return {rendererId:e,elementName:r};case "ios":return {rendererId:e,moduleName:a,symbolName:r};case "android":return {rendererId:e,packageName:a,componentName:r};default:{throw new Error(`Invalid renderer ID: ${e}`)}}})()}n(pa,"normalizeTemplateInfo");function la(e){switch(e.rendererId){case "react":case "angular":return {path:e.codeSrcPath,alias:e.exportName};case "hbs":case "html":case "vue":return {path:e.codeSrcPath};case "twig":return {alias:e.namespacePath};case "web-components":return {alias:e.elementName};case "ios":return {path:e.moduleName,alias:e.symbolName};case "android":return {path:e.packageName,alias:e.componentName};default:{throw new Error(`Invalid template info: ${JSON.stringify(e)}`)}}}n(la,"convertTemplateInfoToOldWay");var ca={id:ve.ios,title:"Native iOS",aliasUse:"required",aliasTitle:"Symbol Name",aliasDescription:"The synchronized name of the iOS symbol.",enableDataDemos:true,enableTemplateDemos:false,hasTemplateImgSupport:true,hasSlotsSupport:false,hasSlotOptionsSupport:false,hasInferSpecSupport:true,hasTemplateSuggestionsSupport:true},da={id:ve.android,title:"Native Android",aliasUse:"required",aliasTitle:"Component Name",aliasDescription:"The synchronized name of the Android component.",enableDataDemos:true,enableTemplateDemos:false,hasSlotsSupport:false,hasSlotOptionsSupport:false,hasTemplateImgSupport:true,hasInferSpecSupport:true,hasTemplateSuggestionsSupport:true};var Qt=(r=>(r.ready="ready",r))(Qt||{}),fa="ks-meta";var ya={PATTERN_TEMPLATE_CHANGED:"PATTERN_TEMPLATE_CHANGED",PATTERN_ASSET_CHANGED:"PATTERN_ASSET_CHANGED",DESIGN_TOKENS_CHANGED:"DESIGN_TOKENS_CHANGED",RENDERER_CLIENT_RELOAD:"RENDERER_CLIENT_RELOAD",APP_CLIENT_DATA_CHANGED:"APP_CLIENT_DATA_CHANGED"};var en=(T=>(T.GitHub="GitHub",T.GitLab="GitLab",T.GitLabRest="GitLabRest",T.Bitbucket="Bitbucket",T.Azure="Azure",T))(en||{}),tn=(u=>(u.Conflicting="CONFLICTING",u.Mergeable="MERGEABLE",u.Unknown="UNKNOWN",u))(tn||{}),nn=(f=>(f.Create="CREATE",f.Move="MOVE",f.Update="UPDATE",f.Chmod="CHMOD",f))(nn||{}),on=(a=>(a.Base64="BASE64",a.Text="TEXT",a))(on||{});var rn={ADMIN:{id:"ADMIN",title:"Admin",hierarchy:4,permissions:{canManageUsers:true,canDelete:true,canEdit:true,canPublish:true,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:true,canView:true},DESIGN:{canEdit:true,canView:true},DEVELOP:{canEdit:true,canView:true},PROTOTYPE:{canEdit:true,canView:true},SETTINGS:{canEdit:true,canView:true}}},CONTRIBUTOR:{id:"CONTRIBUTOR",title:"Contributor",hierarchy:3,permissions:{canManageUsers:false,canDelete:false,canEdit:true,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:true,canView:true},DESIGN:{canEdit:true,canView:true},DEVELOP:{canEdit:true,canView:true},PROTOTYPE:{canEdit:true,canView:true},SETTINGS:{canEdit:true,canView:true}}},CONSUMER:{id:"CONSUMER",title:"Consumer",hierarchy:2,permissions:{canManageUsers:false,canDelete:false,canEdit:true,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:false,canView:true},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:true,canView:true},SETTINGS:{canEdit:false,canView:false}}},VIEWER:{id:"VIEWER",title:"Viewer",hierarchy:1,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:false,canView:true},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}},ANONYMOUS:{id:"ANONYMOUS",title:"Anonymous",hierarchy:0,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:true},sectionAccess:{ROOT:{canEdit:false,canView:true},DOCUMENT:{canEdit:false,canView:true},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}},EDITOR:{id:"EDITOR",title:"Editor",hierarchy:0,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:false},sectionAccess:{ROOT:{canEdit:false,canView:false},DOCUMENT:{canEdit:false,canView:false},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}},MANAGER:{id:"MANAGER",title:"Manager",hierarchy:0,permissions:{canManageUsers:false,canDelete:false,canEdit:false,canPublish:false,canView:false},sectionAccess:{ROOT:{canEdit:false,canView:false},DOCUMENT:{canEdit:false,canView:false},DESIGN:{canEdit:false,canView:false},DEVELOP:{canEdit:false,canView:false},PROTOTYPE:{canEdit:false,canView:false},SETTINGS:{canEdit:false,canView:false}}}},Sa=Object.values(rn);function xa({path:e,queryParams:r,origin:a}){return createUrlWithParams({url:e,queryParams:r,origin:a})}n(xa,"createUrlForRoute");function sn(e){return Object.fromEntries(e.entries())}n(sn,"getParams");function ha(e){return sn(e)}n(ha,"getParamsForRoute");export{eo as BlockSizes,to as BlockSpacings,aa as CodeSrcUserConfigSchema,l as ColorConfigStruct,F as ColorStringStruct,un as ColorTokenConfigStruct,w as FontFaceConfigStruct,ze as FontFaceFormatsEnumStruct,je as FontFaceSourceFormats,We as FontFaceSourceStruct,me as FontFaceWeightStruct,Ge as FontSizeConfigStruct,fe as FontSizeConfigValStruct,_e as FontStretches,en as GitProviderType,Sn as HeadingLevels,pr as KsAppClientDataAndMetaStruct,Rr as KsAppClientDataAndMetaStructV3,ir as KsAppClientDataNoMetaStruct,Vr as KsAppClientDataNoMetaStructV3,sr as KsAppClientDataNoMetaZod,Mt as KsMetaStateStruct,Lt as KsMetaStateStructV3,Xt as KsRemoteChangesStruct,Qt as KsRendererClientEvents,tn as MergeableState,R as NavCustomizationConfigStruct,xe as PageHeaderSizes,W as PrimaryNavCustomizationConfigStruct,$t as PropTypeNames,nn as RestActions,L as SecondaryNavCustomizationConfigStruct,on as TextEncoding,Le as TextTransforms,c as TokenReferenceStruct,A as TokenValueColorStruct,G as TokenValueCubicBezierStruct,h as TokenValueDimensionStruct,E as TokenValueDurationStruct,se as TokenValueFontWeightStruct,K as TokenValueStrokeStyleStruct,s as TypographyConfigStruct,O as TypographyLinkConfigStruct,Jn as UiConfigStruct,qe as UiConfigV10Struct,zn as UiConfigV1Struct,Wn as UiConfigV2Struct,Ln as UiConfigV3Struct,_n as UiConfigV4Struct,Gn as UiConfigV5Struct,$n as UiConfigV6Struct,Yn as UiConfigV7Struct,Hn as UiConfigV8Struct,qn as UiConfigV9Struct,ya as WS_EVENTS,sa as addIdToTemplateInfo,Fr as appSections,Gt as appSectionsById,Co as assertTokenData,la as convertTemplateInfoToOldWay,Zt as createTemplateInfoId,xa as createUrlForRoute,En as customizableNavElements,ar as emptyAppClientData,sn as getParams,ha as getParamsForRoute,zo as getPrimitiveValue,x as hasTokenReferences,qr as isArrayOfNumbersProp,$r as isArrayOfObjectsProp,Hr as isArrayOfStringsProp,Wr as isBooleanProp,Gr as isCustomTypeScriptProp,Yo as isDataDemo,$o as isDemoWithData,Wo as isDimensionString,_r as isFunctionProp,Ft as isKsAppClientDataAndMeta,Wt as isKsAppClientDataAndMetaV3,Kt as isKsAppClientDataNoMeta,zt as isKsAppClientDataNoMetaV3,lr as isKsMetaState,Er as isKsMetaStateV3,ea as isKsRemoteChange,ta as isKsRemoteChanges,Xe as isNotTokenReference,zr as isNumberProp,Yr as isObjectProp,Lr as isOptionsProp,Zr as isPatch,Qr as isPatches,qo as isSpecNotInferred,jr as isStringProp,Ho as isTemplateDemo,ia as isTemplateInfoWithCodeSrcPath,ko as isTokenDataComposite,Ot as isTokenGroup,Je as isTokenReference,Ko as isTokenSrc,wt as isTokenSrcExtensions,No as isTokenSrcValueInfoComposite,vo as isTokenSrcValueInfoSingular,q as isTokenTypeComposite,ke as isTokenTypeSingular,Uo as isTokenTypeVarRef,Tt as isTokenValueBorder,ot as isTokenValueColor,J as isTokenValueDimension,So as isTokenValueDuration,bo as isTokenValueFontWeight,ft as isTokenValueShadow,bt as isTokenValueTransition,fa as ksRendererClientMetaId,da as metaForAndroidRenderer,ca as metaForIosRenderer,Kr as migrations,pa as normalizeTemplateInfo,bn as pageElements,Cn as pageElementsV2,Lo as parseTokenDimensionValue,Zo as patternTabTypes,ve as rendererIds,Sa as roles,rn as rolesById,ao as strokeStyleValues,oo as tokenNameDisplayFormats,Qe as tokenTypeComposites,tt as tokenTypeSingulars};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map