@knapsack/types 5.0.0--canary.6593.4738696.0 → 5.0.0

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.
Files changed (127) hide show
  1. package/.lintstagedrc.mjs +2 -2
  2. package/CHANGELOG.md +174 -0
  3. package/convert-types-to-json-schemas.ts +3 -1
  4. package/dist/acd-test-fixtures/empty.d.ts +1 -1
  5. package/dist/acd-test-fixtures/empty.d.ts.map +1 -1
  6. package/dist/acd-test-fixtures/index.js.map +1 -1
  7. package/dist/acd-test-fixtures/index.mjs.map +1 -1
  8. package/dist/api-routes.js.map +1 -1
  9. package/dist/api-routes.mjs.map +1 -1
  10. package/dist/app-client-data/blocks.d.ts +2 -1
  11. package/dist/app-client-data/blocks.d.ts.map +1 -1
  12. package/dist/app-client-data/blocks.settings.d.ts +2 -2
  13. package/dist/app-client-data/blocks.settings.d.ts.map +1 -1
  14. package/dist/app-client-data/design-tokens-types/token-data.d.ts +7 -7
  15. package/dist/app-client-data/design-tokens-types/token-data.d.ts.map +1 -1
  16. package/dist/app-client-data/design-tokens-types/token-definitions.d.ts.map +1 -1
  17. package/dist/app-client-data/design-tokens-types/token-src-value-info.d.ts +2 -2
  18. package/dist/app-client-data/design-tokens-types/token-src-value-info.d.ts.map +1 -1
  19. package/dist/app-client-data/design-tokens-types/token-src.d.ts +3 -3
  20. package/dist/app-client-data/design-tokens-types/token-src.d.ts.map +1 -1
  21. package/dist/app-client-data/index.d.ts +14 -6
  22. package/dist/app-client-data/index.d.ts.map +1 -1
  23. package/dist/app-client-data/page.d.ts +0 -6
  24. package/dist/app-client-data/page.d.ts.map +1 -1
  25. package/dist/app-client-data/page.header.d.ts +1 -1
  26. package/dist/app-client-data/page.header.d.ts.map +1 -1
  27. package/dist/app-client-data/patterns.d.ts +74 -0
  28. package/dist/app-client-data/patterns.d.ts.map +1 -1
  29. package/dist/app-client-data/types-to-json-schemas.d.ts.map +1 -1
  30. package/dist/app-client-data/validation.test.d.ts +2 -0
  31. package/dist/app-client-data/validation.test.d.ts.map +1 -0
  32. package/dist/app-client-data-migrations/4.1.7-demos.d.ts.map +1 -1
  33. package/dist/app-client-data-migrations/migration.types.d.ts +1 -1
  34. package/dist/app-client-data-migrations/migration.types.d.ts.map +1 -1
  35. package/dist/app-client-data-v3/index.d.ts +1 -1
  36. package/dist/app-client-data-v3/index.d.ts.map +1 -1
  37. package/dist/app-client-data-v3/page.header.d.ts +1 -1
  38. package/dist/app-client-data-v3/page.header.d.ts.map +1 -1
  39. package/dist/app-client-data-v3/types-to-json-schemas.d.ts.map +1 -1
  40. package/dist/app-sections.d.ts +2 -1
  41. package/dist/app-sections.d.ts.map +1 -1
  42. package/dist/app-sections.js +1 -1
  43. package/dist/app-sections.js.map +1 -1
  44. package/dist/app-sections.mjs +1 -1
  45. package/dist/app-sections.mjs.map +1 -1
  46. package/dist/changes.js.map +1 -1
  47. package/dist/changes.mjs.map +1 -1
  48. package/dist/color-config.d.ts +1 -1
  49. package/dist/color-config.d.ts.map +1 -1
  50. package/dist/color-config.js +1 -1
  51. package/dist/color-config.js.map +1 -1
  52. package/dist/color-config.mjs +1 -1
  53. package/dist/color-config.mjs.map +1 -1
  54. package/dist/e2e-session-config.d.ts +20 -0
  55. package/dist/e2e-session-config.d.ts.map +1 -0
  56. package/dist/e2e-session-config.js +2 -0
  57. package/dist/e2e-session-config.js.map +1 -0
  58. package/dist/e2e-session-config.mjs +2 -0
  59. package/dist/e2e-session-config.mjs.map +1 -0
  60. package/dist/git-providers.js.map +1 -1
  61. package/dist/git-providers.mjs.map +1 -1
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +1 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/index.mjs +1 -1
  67. package/dist/index.mjs.map +1 -1
  68. package/dist/intercepts.d.ts +1 -1
  69. package/dist/intercepts.d.ts.map +1 -1
  70. package/dist/json-schema.js.map +1 -1
  71. package/dist/json-schema.mjs.map +1 -1
  72. package/dist/misc.d.ts +2 -2
  73. package/dist/misc.d.ts.map +1 -1
  74. package/dist/nav-customization-config.d.ts +3 -3
  75. package/dist/nav-customization-config.d.ts.map +1 -1
  76. package/dist/nav-customization-config.js +1 -1
  77. package/dist/nav-customization-config.js.map +1 -1
  78. package/dist/nav-customization-config.mjs +1 -1
  79. package/dist/nav-customization-config.mjs.map +1 -1
  80. package/dist/renderer-client-types.js.map +1 -1
  81. package/dist/renderer-client-types.mjs.map +1 -1
  82. package/dist/renderers.d.ts +28 -0
  83. package/dist/renderers.d.ts.map +1 -1
  84. package/dist/renderers.js +1 -1
  85. package/dist/renderers.js.map +1 -1
  86. package/dist/renderers.mjs +1 -1
  87. package/dist/renderers.mjs.map +1 -1
  88. package/dist/renderers.test.d.ts +2 -0
  89. package/dist/renderers.test.d.ts.map +1 -0
  90. package/dist/typography-config.d.ts +2 -2
  91. package/dist/typography-config.d.ts.map +1 -1
  92. package/dist/typography-config.js +1 -1
  93. package/dist/typography-config.js.map +1 -1
  94. package/dist/typography-config.mjs +1 -1
  95. package/dist/typography-config.mjs.map +1 -1
  96. package/dist/ui-config.d.ts +5 -5
  97. package/dist/ui-config.d.ts.map +1 -1
  98. package/dist/ui-config.js +1 -1
  99. package/dist/ui-config.js.map +1 -1
  100. package/dist/ui-config.mjs +1 -1
  101. package/dist/ui-config.mjs.map +1 -1
  102. package/dist/user-roles.d.ts +1 -0
  103. package/dist/user-roles.d.ts.map +1 -1
  104. package/dist/user-roles.js +1 -1
  105. package/dist/user-roles.js.map +1 -1
  106. package/dist/user-roles.mjs +1 -1
  107. package/dist/user-roles.mjs.map +1 -1
  108. package/dist/web-sockets.js.map +1 -1
  109. package/dist/web-sockets.mjs.map +1 -1
  110. package/package.json +16 -18
  111. package/vitest.config.mjs +1 -2
  112. package/.eslintrc.js +0 -6
  113. package/ava.config.cjs +0 -3
  114. package/dist/app-client-data/validation.vtest.d.ts +0 -2
  115. package/dist/app-client-data/validation.vtest.d.ts.map +0 -1
  116. package/dist/cypress-session-config.d.ts +0 -20
  117. package/dist/cypress-session-config.d.ts.map +0 -1
  118. package/dist/cypress-session-config.js +0 -2
  119. package/dist/cypress-session-config.js.map +0 -1
  120. package/dist/cypress-session-config.mjs +0 -2
  121. package/dist/cypress-session-config.mjs.map +0 -1
  122. package/dist/renderers.vitest.d.ts +0 -2
  123. package/dist/renderers.vitest.d.ts.map +0 -1
  124. package/dist/renderers.vitest.js +0 -451
  125. package/dist/renderers.vitest.js.map +0 -1
  126. package/dist/renderers.vitest.mjs +0 -451
  127. package/dist/renderers.vitest.mjs.map +0 -1
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"},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}`;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};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};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 Oe 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 we=Object.defineProperty;var n=(e,r)=>we(e,"name",{value:r,configurable:true});function Ke(e){if(typeof e!="string")return false;try{return !!Oe.get(e)}catch{return false}}n(Ke,"isColor");var M=define("ColorStringStruct",e=>typeof e=="string"&&Ke(e)),l=union([type({type:literal("value"),colorValue:M}),type({type:literal("design-token"),tokenName:string()})]),gn=type({type:literal("design-token"),tokenName:string()});var Sn=["h1","h2","h3","h4","h5","h6"],me=object({unit:enums(["rem","px"]),value:number()}),ye=union([string(),number()]),ze=(a=>(a.woff2="woff2",a.woff="woff",a))(ze||{}),We=enums(["woff2","woff"]),Le=type({format:We,type:literal("url"),path:string()}),w=type({family:optional(string()),weight:optional(union([ye,size(array(ye),2)])),src:optional(array(Le)),style:optional(string()),display:optional(enums(["auto","block","swap","fallback","optional"])),variationSettings:optional(string()),unicodeRange:optional(string())}),_e=(g=>(g.inherit="As typed",g.capitalize="Capitalize",g.lowercase="Lowercase",g.uppercase="Uppercase",g))(_e||{}),Ge=(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))(Ge||{}),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:me,max:optional(me)}),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={},Te={},bn={pageTitle:m,pageDescription:m,headingLarge:m,headingMedium:m,headingSmall:m,bodyText:m,link:Te},Cn={pageTitle:m,pageDescription:m,headingXLarge:m,headingLarge:m,headingMedium:m,headingSmall:m,headingXSmall:m,bodyText:m,link:Te};var E=union([s,type({accentColor:optional(l)})]),W=union([E,type({hoverColor:optional(l),backgroundColor:optional(l)})]),L=union([E,type({backgroundColor:optional(l)})]),He={},Ye={},qe={},Pn={primaryNav:qe,secondaryNav:Ye,tabs:He};var wn=object({version:literal(1),oldSillySidebarBgColor:M}),On=object({version:literal(2),anotherSillySidebarBgColor:M}),Bn=object({version:literal(3),sidebarBgColor:M}),An=object({version:literal(4),primaryColor:l,darkColor:l,lightColor:l,enableSidebarIcons:optional(defaulted(boolean(),true))}),Kn=object({version:literal(5),primaryColor:l,darkColor:l,lightColor:l,linkColor:l,enableSidebarIcons:optional(defaulted(boolean(),true))}),Fn=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)})})}),Mn=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(E)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Un=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(E)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),jn=object({version:literal(9),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(E)})),pageElements:type({pageTitle:optional(s),pageDescription:optional(s),headingLarge:optional(s),headingMedium:optional(s),headingSmall:optional(s),bodyText:optional(s),link:optional(O)})})}),Je=object({version:literal(10),appearance:type({customFonts:optional(array(w)),navigation:optional(type({primaryNav:optional(W),secondaryNav:optional(L),tabs:optional(E)})),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)})})}),zn=Je;var Gn=["large","medium","small"],$n=["large","medium","small"];var Yn={default:"Default",android:"Android",cssVar:"CSS Var",json:"JSON",less:"Less",scss:"SCSS",swift:"Swift"};var Jn=["solid","dashed","dotted","double","groove","ridge","outset","inset"];function Xe(e){return typeof e!="string"?false:e.split("{").length-1===1&&e.startsWith("{")&&e.endsWith("}")}n(Xe,"isTokenReference");function x(e){return typeof e=="string"&&e.includes("{")}n(x,"hasTokenReferences");function Ze(e){return !Xe(e)}n(Ze,"isNotTokenReference");var c=t.define("Token Reference",e=>typeof e!="string"?false:Ze(e)?"Must start and end with curly braces":true),Qe={border:"border",shadow:"shadow",transition:"transition"},et=Object.values(Qe),tt={string:"string",number:"number",boolean:"boolean",color:"color",dimension:"dimension",duration:"duration",fontWeight:"fontWeight",strokeStyle:"strokeStyle",cubicBezier:"cubicBezier"},nt=Object.values(tt);function q(e){return et.includes(e)}n(q,"isTokenTypeComposite");function Se(e){return nt.includes(e)}n(Se,"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 q(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 rt(e){return typeof e=="string"&&!x(e)}n(rt,"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),at=t.assign(t.type({type:t.literal("color"),value:A,kind:t.literal("static"),originalValue:A}),d),it=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),st=t.assign(t.type({type:t.literal("dimension"),value:h,kind:t.literal("static"),originalValue:h}),d),pt=t.assign(t.type({type:t.literal("dimension"),value:h,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function no(e){return typeof e=="string"&&e.endsWith("ms")&&!x(e)}n(no,"isTokenValueDuration");var R=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")'),lt=t.assign(t.type({type:t.literal("duration"),value:R,kind:t.literal("static"),originalValue:R}),d),ct=t.assign(t.type({type:t.literal("duration"),value:R,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function oo(e){return (typeof e=="string"||typeof e=="number")&&!x(e)}n(oo,"isTokenValueFontWeight");var pe=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),dt=t.assign(t.type({type:t.literal("fontWeight"),value:pe,kind:t.literal("static"),originalValue:pe}),d),ut=t.assign(t.type({type:t.literal("fontWeight"),value:pe,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"),ft=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 mt(e){return isObject(e)&&rt(e.color)&&J(e.offsetX)&&J(e.offsetY)&&J(e.blur)&&J(e.spread)}n(mt,"isTokenValueShadow");var be=t.define("Shadow Value",e=>mt(e)?true:`Expected a shadow value, got ${JSON.stringify(e)}`),yt=t.assign(t.type({type:t.literal("shadow"),value:be,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),Tt=t.assign(t.type({type:t.literal("shadow"),value:be,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 kt(e){return isObject(e)&&A.is(e.color)&&K.is(e.style)&&h.is(e.width)}n(kt,"isTokenValueBorder");var Ce=t.define("Border Value",kt),St=t.assign(t.type({type:t.literal("border"),value:Ce,kind:t.literal("static"),originalValue:t.type({color:t.union([A,c]),style:t.union([K,c]),width:t.union([h,c])})}),d),bt=t.assign(t.type({type:t.literal("border"),value:Ce,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d);function Ct(e){return isObject(e)&&G.is(e.timingFunction)&&R.is(e.duration)&&R.is(e.delay)}n(Ct,"isTokenValueTransition");var xe=t.define("Transition Value",Ct),xt=t.assign(t.type({type:t.literal("transition"),value:xe,kind:t.literal("static"),originalValue:t.type({timingFunction:t.union([G,c]),duration:t.union([R,c]),delay:t.union([R,c])})}),d),ht=t.assign(t.type({type:t.literal("transition"),value:xe,kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),Dt=t.assign(t.type({type:t.literal("string"),value:t.string(),kind:t.literal("static"),originalValue:t.string()}),d),It=t.assign(t.type({type:t.literal("string"),value:t.string(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),Pt=t.assign(t.type({type:t.literal("strokeStyle"),value:K,kind:t.literal("static"),originalValue:K}),d),Vt=t.assign(t.type({type:t.literal("strokeStyle"),value:K,kind:t.literal("ref"),originalValue:c,referencedTokenId:K}),d),Et=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),vt=t.assign(t.type({type:t.literal("boolean"),value:t.boolean(),kind:t.literal("static"),originalValue:t.boolean()}),d),Nt=t.assign(t.type({type:t.literal("boolean"),value:t.boolean(),kind:t.literal("ref"),originalValue:c,referencedTokenId:t.string()}),d),ro=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"?Nt.assert(e):vt.assert(e);return;case "border":a==="ref"?bt.assert(e):St.assert(e);return;case "color":a==="ref"?it.assert(e):at.assert(e);return;case "cubicBezier":a==="ref"?gt.assert(e):ft.assert(e);return;case "dimension":a==="ref"?pt.assert(e):st.assert(e);return;case "duration":a==="ref"?ct.assert(e):lt.assert(e);return;case "fontWeight":a==="ref"?ut.assert(e):dt.assert(e);return;case "number":a==="ref"?Rt.assert(e):Et.assert(e);return;case "shadow":a==="ref"?Tt.assert(e):yt.assert(e);return;case "string":a==="ref"?It.assert(e):Dt.assert(e);return;case "strokeStyle":a==="ref"?Vt.assert(e):Pt.assert(e);return;case "transition":a==="ref"?ht.assert(e):xt.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 lo(e){return Se(e?.type)}n(lo,"isTokenSrcValueInfoSingular");function co(e){return q(e?.type)}n(co,"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 Ot(e){return isObject(e)&&isObjKey("cloud.knapsack",e)}n(Ot,"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 mo(e){return !!(isObject(e)&&isObjKey("$value",e))}n(mo,"isTokenSrc");function Bt(e){return isObject(e)&&!Ot(e)&&!isObjKey("$value",e)&&!isObjKey("cloud.knapsack",e)}n(Bt,"isTokenGroup");function yo(e){if(Bt(e)){let r=e.$extensions["cloud.knapsack"].group.collectionInfo;if(isObjKey("type",r)&&isObjKey("referenceId",r))return true}return false}n(yo,"isTokenTypeVarRef");function bo(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(bo,"getPrimitiveValue");var Co=n(e=>e.includes("px")||e.includes("rem")||e.includes("em")||e.includes("%"),"isDimensionString");function xo(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(xo,"parseTokenDimensionValue");function Io(e){return e?.type==="data"||e?.type==="data-w-template-info"}n(Io,"isDemoWithData");function Po(e){return e?.type==="data"}n(Po,"isDataDemo");function Vo(e){return e?.type==="template"}n(Vo,"isTemplateDemo");var he=["removeHtmlAttributes","removeClassName","removeStyle","removeAria","removeEventHandlers"],Eo={removeHtmlAttributes:false,removeClassName:false,removeStyle:false,removeAria:false,removeEventHandlers:false};function Ro(e){if(e)return he.filter(r=>e[r]===true).join(",")}n(Ro,"encodeInferSpecFilters");function vo(e){let r=new Set(e.split(",").map(a=>a.trim()).filter(Boolean));return Object.fromEntries(he.map(a=>[a,r.has(a)]))}n(vo,"decodeInferSpecFilters");function No(e){return typeof e=="object"&&!e.isInferred}n(No,"isSpecNotInferred");var Bo={designSrc:"Design Source",subPage:"Subpage",template:"Template"};var De=(T=>(T.auto="auto",T.small="small",T.medium="medium",T.large="large",T.full="full",T))(De||{});var jo={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 Ft(e){return !isObject(e)||!["assetSetsState","customPagesState","navsState","patternsState","tokensSrc","db"].every(a=>isObjKey(a,e))?false:!isObjKey("metaState",e)}n(Ft,"isKsAppClientDataNoMeta");var zo=define("KsAppClientDataNoMeta",Ft),Mt=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())})})}),Wo=z.custom().check(e=>{let{error:r}=Mt.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 Lo=define("KsAppClientDataAndMeta",Ut),jt=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()})}))}),_o=jt.is;function Wt(e){return !isObject(e)||!["assetSetsState","customPagesState","navsState","patternsState","settingsState","tokensState"].every(a=>isObjKey(a,e))?false:!isObjKey("metaState",e)}n(Wt,"isKsAppClientDataNoMetaV3");var sr=define("KsAppClientDataNoMeta",Wt);function Lt(e){return isObject(e)?["assetSetsState","customPagesState","navsState","patternsState","settingsState","tokensState","metaState"].every(a=>isObjKey(a,e)):false}n(Lt,"isKsAppClientDataAndMetaV3");var pr=define("KsAppClientDataAndMeta",Lt),_t=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=_t.is;var Re={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(g=>typeof g=="string"?{type:"text",text:g}:(g.type==="template-reference"||g.type==="text"||(g.type="template-demo"),g));}),!(r.patternId&&r.templateId)&&(()=>{for(let{id:a,templates:u=[]}of Object.values(e.patternsState.patterns))for(let{id:g,demoIds:T=[]}of u)if(T.includes(r.id)){r.patternId=a,r.templateId=g;return}})());});},"migrate")};var yr=[Re];var $t={ROOT:"ROOT",DESIGN:"Design",DEVELOP:"Develop",DOCUMENT:"Documentation",MCP:"MCP",PROTOTYPE:"Prototype",SETTINGS:"Settings"},kr=Object.values($t);var Ht=(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))(Ht||{}),br=n(e=>"type"in e&&e.type==="string"&&!("enum"in e),"isStringProp"),Cr=n(e=>"type"in e&&e.type==="number","isNumberProp"),xr=n(e=>"type"in e&&e.type==="boolean","isBooleanProp"),hr=n(e=>"enum"in e,"isOptionsProp"),Dr=n(e=>"typeof"in e&&e?.typeof==="function","isFunctionProp"),Ir=n(e=>!("typeof"in e)&&"tsType"in e,"isCustomTypeScriptProp"),Pr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="object","isArrayOfObjectsProp"),Vr=n(e=>"type"in e&&e.type==="object"&&"properties"in e&&Object.keys(e.properties).length>0,"isObjectProp"),Er=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="string","isArrayOfStringsProp"),Rr=n(e=>"type"in e&&e.type==="array"&&"items"in e&&e.items.type==="number","isArrayOfNumbersProp");var ve=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=ve,wr=n(e=>Yt.is(e),"isPatch"),de=t.array(ve),qt=de,Or=n(e=>qt.is(e),"isPatches"),Ne=t.type({patches:de,inversePatches:t.optional(de),event:t.optional(t.object({type:t.string()})),id:t.string(),date:t.string(),userId:t.optional(t.string())}),Jt=Ne,Br=n(e=>Jt.is(e),"isKsRemoteChange"),Xt=t.array(Ne),Zt=Xt,Ar=n(e=>Zt.is(e),"isKsRemoteChanges");var oe={react:"react",vue:"vue","web-components":"web-components",twig:"twig",hbs:"hbs",angular:"angular",html:"html",ios:"ios",android:"android"},Ur=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 jr(e){return "codeSrcPath"in e}n(jr,"isTemplateInfoWithCodeSrcPath");function Qt(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(Qt,"createTemplateInfoId");function zr(e){return {...e,id:Qt(e)}}n(zr,"addIdToTemplateInfo");function Wr({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(Wr,"normalizeTemplateInfo");function Lr(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(Lr,"convertTemplateInfoToOldWay");var _r={id:oe.ios,title:"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},Gr={id:oe.android,title:"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},en=[oe.ios,oe.android];function tn(e){return en.includes(e)}n(tn,"isRendererIdForNativeMobile");function $r(e){return tn(e.rendererId)}n($r,"isTemplateInfoForNativeMobile");var nn=(r=>(r.ready="ready",r))(nn||{}),qr="ks-meta";var Xr={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 on=(T=>(T.GitHub="GitHub",T.GitLab="GitLab",T.GitLabRest="GitLabRest",T.Bitbucket="Bitbucket",T.Azure="Azure",T))(on||{}),rn=(u=>(u.Conflicting="CONFLICTING",u.Mergeable="MERGEABLE",u.Unknown="UNKNOWN",u))(rn||{}),an=(g=>(g.Create="CREATE",g.Move="MOVE",g.Update="UPDATE",g.Chmod="CHMOD",g))(an||{}),sn=(a=>(a.Base64="BASE64",a.Text="TEXT",a))(sn||{});var pn={ADMIN:{id:"ADMIN",title:"Admin",description:"Full access. Can manage users, publish changes, and configure all settings.",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},MCP:{canEdit:true,canView:true}}},CONTRIBUTOR:{id:"CONTRIBUTOR",title:"Contributor",description:"Can view and edit content across Design, Develop, and Prototype. Cannot publish or manage users.",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},MCP:{canEdit:false,canView:false}}},CONSUMER:{id:"CONSUMER",title:"Consumer",description:"Can view documentation and edit prototypes. Cannot access Design or Develop sections.",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},MCP:{canEdit:false,canView:false}}},VIEWER:{id:"VIEWER",title:"Viewer",description:"Read-only access to documentation. Cannot edit anything.",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},MCP:{canEdit:false,canView:false}}},ANONYMOUS:{id:"ANONYMOUS",title:"Anonymous",description:"",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},MCP:{canEdit:false,canView:false}}},EDITOR:{id:"EDITOR",title:"Editor",description:"",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},MCP:{canEdit:false,canView:false}}},MANAGER:{id:"MANAGER",title:"Manager",description:"",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},MCP:{canEdit:false,canView:false}}}},ea=Object.values(pn);function oa({path:e,queryParams:r,origin:a}){return createUrlWithParams({url:e,queryParams:r,origin:a})}n(oa,"createUrlForRoute");function cn(e){return Object.fromEntries(e.entries())}n(cn,"getParams");function ra(e){return cn(e)}n(ra,"getParamsForRoute");export{he as ALL_INFER_SPEC_FILTER_KEYS,Gn as BlockSizes,$n as BlockSpacings,Ur as CodeSrcUserConfigSchema,l as ColorConfigStruct,M as ColorStringStruct,gn as ColorTokenConfigStruct,Eo as DEFAULT_INFER_SPEC_FILTERS,w as FontFaceConfigStruct,We as FontFaceFormatsEnumStruct,ze as FontFaceSourceFormats,Le as FontFaceSourceStruct,ye as FontFaceWeightStruct,$e as FontSizeConfigStruct,me as FontSizeConfigValStruct,Ge as FontStretches,on as GitProviderType,Sn as HeadingLevels,Lo as KsAppClientDataAndMetaStruct,pr as KsAppClientDataAndMetaStructV3,zo as KsAppClientDataNoMetaStruct,sr as KsAppClientDataNoMetaStructV3,Wo as KsAppClientDataNoMetaZod,jt as KsMetaStateStruct,_t as KsMetaStateStructV3,Zt as KsRemoteChangesStruct,nn as KsRendererClientEvents,rn as MergeableState,E as NavCustomizationConfigStruct,De as PageHeaderSizes,W as PrimaryNavCustomizationConfigStruct,Ht as PropTypeNames,an as RestActions,L as SecondaryNavCustomizationConfigStruct,sn as TextEncoding,_e as TextTransforms,c as TokenReferenceStruct,A as TokenValueColorStruct,G as TokenValueCubicBezierStruct,h as TokenValueDimensionStruct,R as TokenValueDurationStruct,pe as TokenValueFontWeightStruct,K as TokenValueStrokeStyleStruct,s as TypographyConfigStruct,O as TypographyLinkConfigStruct,zn as UiConfigStruct,Je as UiConfigV10Struct,wn as UiConfigV1Struct,On as UiConfigV2Struct,Bn as UiConfigV3Struct,An as UiConfigV4Struct,Kn as UiConfigV5Struct,Fn as UiConfigV6Struct,Mn as UiConfigV7Struct,Un as UiConfigV8Struct,jn as UiConfigV9Struct,Xr as WS_EVENTS,zr as addIdToTemplateInfo,kr as appSections,$t as appSectionsById,ro as assertTokenData,Lr as convertTemplateInfoToOldWay,Qt as createTemplateInfoId,oa as createUrlForRoute,Pn as customizableNavElements,vo as decodeInferSpecFilters,jo as emptyAppClientData,Ro as encodeInferSpecFilters,cn as getParams,ra as getParamsForRoute,bo as getPrimitiveValue,x as hasTokenReferences,Rr as isArrayOfNumbersProp,Pr as isArrayOfObjectsProp,Er as isArrayOfStringsProp,xr as isBooleanProp,Ir as isCustomTypeScriptProp,Po as isDataDemo,Io as isDemoWithData,Co as isDimensionString,Dr as isFunctionProp,Ut as isKsAppClientDataAndMeta,Lt as isKsAppClientDataAndMetaV3,Ft as isKsAppClientDataNoMeta,Wt as isKsAppClientDataNoMetaV3,_o as isKsMetaState,lr as isKsMetaStateV3,Br as isKsRemoteChange,Ar as isKsRemoteChanges,Ze as isNotTokenReference,Cr as isNumberProp,Vr as isObjectProp,hr as isOptionsProp,wr as isPatch,Or as isPatches,tn as isRendererIdForNativeMobile,No as isSpecNotInferred,br as isStringProp,Vo as isTemplateDemo,$r as isTemplateInfoForNativeMobile,jr as isTemplateInfoWithCodeSrcPath,to as isTokenDataComposite,Bt as isTokenGroup,Xe as isTokenReference,mo as isTokenSrc,Ot as isTokenSrcExtensions,co as isTokenSrcValueInfoComposite,lo as isTokenSrcValueInfoSingular,q as isTokenTypeComposite,Se as isTokenTypeSingular,yo as isTokenTypeVarRef,kt as isTokenValueBorder,rt as isTokenValueColor,J as isTokenValueDimension,no as isTokenValueDuration,oo as isTokenValueFontWeight,mt as isTokenValueShadow,Ct as isTokenValueTransition,qr as ksRendererClientMetaId,Gr as metaForAndroidRenderer,_r as metaForIosRenderer,yr as migrations,Wr as normalizeTemplateInfo,bn as pageElements,Cn as pageElementsV2,xo as parseTokenDimensionValue,Bo as patternTabTypes,oe as rendererIds,en as rendererIdsForNativeMobile,ea as roles,pn as rolesById,Jn as strokeStyleValues,Yn as tokenNameDisplayFormats,et as tokenTypeComposites,nt as tokenTypeSingulars};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map