@baseplate-dev/project-builder-web 0.2.0 → 0.2.1

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 (24) hide show
  1. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-DeLjV85y.js → web-DNtY4wq3.js} +2 -2
  2. package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-DeLjV85y.js.map → web-DNtY4wq3.js.map} +1 -1
  3. package/dist/assets/__federation_shared_@baseplate-dev/{project-builder-lib-CEcnKpIc.js → project-builder-lib-zvGcQ6PN.js} +2 -2
  4. package/dist/assets/__federation_shared_@baseplate-dev/{project-builder-lib-CEcnKpIc.js.map → project-builder-lib-zvGcQ6PN.js.map} +1 -1
  5. package/dist/assets/__federation_shared_@baseplate-dev/{ui-components-BngA7Gbo.js → ui-components-DQh2UKHB.js} +2 -2
  6. package/dist/assets/__federation_shared_@baseplate-dev/{ui-components-BngA7Gbo.js.map → ui-components-DQh2UKHB.js.map} +1 -1
  7. package/dist/assets/{_virtual___federation_fn_import-DTGz4eK3.js → _virtual___federation_fn_import-BawTfoQI.js} +2 -2
  8. package/dist/assets/{_virtual___federation_fn_import-DTGz4eK3.js.map → _virtual___federation_fn_import-BawTfoQI.js.map} +1 -1
  9. package/dist/assets/index-BDJ79UQH.css +1 -0
  10. package/dist/assets/index-C6NlRicZ.js +78 -0
  11. package/dist/assets/index-C6NlRicZ.js.map +1 -0
  12. package/dist/assets/{index.esm-BCWxrcvn.js → index.esm-H0JGW0RR.js} +2 -2
  13. package/dist/assets/{index.esm-BCWxrcvn.js.map → index.esm-H0JGW0RR.js.map} +1 -1
  14. package/dist/assets/model-merger-D2RoujrB.js +2 -0
  15. package/dist/assets/model-merger-D2RoujrB.js.map +1 -0
  16. package/dist/assets/{not-empty-CxPFIhu9.js → not-empty-CznDVwM8.js} +2 -2
  17. package/dist/assets/{not-empty-CxPFIhu9.js.map → not-empty-CznDVwM8.js.map} +1 -1
  18. package/dist/index.html +5 -5
  19. package/package.json +6 -6
  20. package/dist/assets/index-BM00URXH.js +0 -78
  21. package/dist/assets/index-BM00URXH.js.map +0 -1
  22. package/dist/assets/index-BievMsrf.css +0 -1
  23. package/dist/assets/model-merger-xMPe_PFP.js +0 -2
  24. package/dist/assets/model-merger-xMPe_PFP.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{i as M}from"./_virtual___federation_fn_import-BawTfoQI.js";import{g as ee,a as $,e as te}from"./isEqual-C420KeG-.js";function z(e){return e==null||typeof e!="object"&&typeof e!="function"}function re(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function g(e,t,n,r=new Map,s=void 0){const o=s?.(e,t,n,r);if(o!=null)return o;if(z(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){const i=new Array(e.length);r.set(e,i);for(let a=0;a<e.length;a++)i[a]=g(e[a],a,n,r,s);return Object.hasOwn(e,"index")&&(i.index=e.index),Object.hasOwn(e,"input")&&(i.input=e.input),i}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const i=new RegExp(e.source,e.flags);return i.lastIndex=e.lastIndex,i}if(e instanceof Map){const i=new Map;r.set(e,i);for(const[a,f]of e)i.set(a,g(f,a,n,r,s));return i}if(e instanceof Set){const i=new Set;r.set(e,i);for(const a of e)i.add(g(a,void 0,n,r,s));return i}if(typeof Buffer<"u"&&Buffer.isBuffer(e))return e.subarray();if(re(e)){const i=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,i);for(let a=0;a<e.length;a++)i[a]=g(e[a],a,n,r,s);return i}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const i=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,i),w(i,e,n,r,s),i}if(typeof File<"u"&&e instanceof File){const i=new File([e],e.name,{type:e.type});return r.set(e,i),w(i,e,n,r,s),i}if(e instanceof Blob){const i=new Blob([e],{type:e.type});return r.set(e,i),w(i,e,n,r,s),i}if(e instanceof Error){const i=new e.constructor;return r.set(e,i),i.message=e.message,i.name=e.name,i.stack=e.stack,i.cause=e.cause,w(i,e,n,r,s),i}if(typeof e=="object"&&e!==null){const i=Object.create(Object.getPrototypeOf(e));return r.set(e,i),w(i,e,n,r,s),i}return e}function w(e,t,n=e,r,s){const o=[...Object.keys(t),...ee(t)];for(let i=0;i<o.length;i++){const a=o[i],f=Object.getOwnPropertyDescriptor(e,a);(f==null||f.writable)&&(e[a]=g(t[a],a,n,r,s))}}function K(e){return g(e,void 0,e,new Map,void 0)}function F(e,t){const n={},r=Object.keys(e);for(let s=0;s<r.length;s++){const o=r[s],i=e[o];n[o]=t(i,o,e)}return n}function R(e,t){const n=Object.keys(t);for(let r=0;r<n.length;r++){const s=n[r],o=t[s],i=e[s];Array.isArray(o)?Array.isArray(i)?e[s]=R(i,o):e[s]=R([],o):$(o)?$(i)?e[s]=R(i,o):e[s]=R({},o):(i===void 0||o!==void 0)&&(e[s]=o)}return e}function D(e,t){const n={...e};for(let r=0;r<t.length;r++){const s=t[r];delete n[s]}return n}function ne(e,t){return R(K(e),t)}let ie=e=>crypto.getRandomValues(new Uint8Array(e)),se=(e,t,n)=>{let r=(2<<Math.log2(e.length-1))-1,s=-~(1.6*r*t/e.length);return(o=t)=>{let i="";for(;;){let a=n(s),f=s|0;for(;f--;)if(i+=e[a[f]&r]||"",i.length>=o)return i}}},ae=(e,t=21)=>se(e,t|0,ie);const oe="0123456789",fe="abcdefghijklmnopqrstuvwxyz",ue="ABCDEFGHIJKLMNOPQRSTUVWXYZ",de=ae(`${oe}${fe}${ue}_`,12);function ce(e=12){return de(e)}const{z:P}=await M("zod"),le=/^[a-z0-9-]+$/,W=/^[A-Z][a-zA-Z0-9]*$/,pe=/^[a-z][a-zA-Z0-9]*$/,me=/^[A-Z][A-Z0-9_]*$/,he={KEBAB_CASE:P.string().regex(le,{message:'Must be kebab case (e.g. "my-project")'}),PASCAL_CASE:P.string().regex(W,{message:'Must be pascal case (e.g. "MyProject")'}),CAMEL_CASE:P.string().regex(pe,{message:'Must be camel case (e.g. "myProject")'}),CONSTANT_CASE:P.string().regex(me,{message:'Must be constant case (e.g. "MY_PROJECT")'})};function dt(e,t){return{spec:e,implementation:t}}function ct(e,t){const{platforms:n,defaultInitializer:r}=t??{};return{type:"plugin-spec",name:e,platforms:n&&(Array.isArray(n)?n:[n]),isOptional:!1,optional(){return{...this,isOptional:!0}},defaultInitializer:r}}class ye{constructor(t,n,r){Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"parentType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"prefix",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.prefix=n??t.split("/").pop()??t}generateNewId(){return`${this.prefix}:${ce()}`}idFromKey(t){if(t)return`${this.prefix}:${t}`}keyFromId(t){return t.split(":")[1]}isId(t){return t.startsWith(`${this.prefix}:`)}}function p(e,t){const{parentType:n,prefix:r}=t??{};return new ye(e,r,n)}const ge=Symbol("zod-plugin"),{ZodType:be}=await M("zod");class N extends be{_parse(t){const n={pluginStore:this._def.pluginStore};return this._def.innerType._parse({...t,parent:{...t.parent,common:{...t.parent.common,[ge]:n}}})}get pluginStore(){return this._def.pluginStore}}Object.defineProperty(N,"create",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>new N({innerType:e,pluginStore:t})});function lt(e,t){return N.create(e,t)}function we(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Re(e){return Object.is(e,-0)?"-0":e.toString()}function L(e){const t=[],n=e.length;if(n===0)return t;let r=0,s="",o="",i=!1;for(e.charCodeAt(0)===46&&(t.push(""),r++);r<n;){const a=e[r];o?a==="\\"&&r+1<n?(r++,s+=e[r]):a===o?o="":s+=a:i?a==='"'||a==="'"?o=a:a==="]"?(i=!1,t.push(s),s=""):s+=a:a==="["?(i=!0,s&&(t.push(s),s="")):a==="."?s&&(t.push(s),s=""):s+=a,r++}return s&&t.push(s),t}function m(e,t,n){if(e==null)return n;switch(typeof t){case"string":{const r=e[t];return r===void 0?we(t)?m(e,L(t),n):n:r}case"number":case"symbol":{typeof t=="number"&&(t=Re(t));const r=e[t];return r===void 0?n:r}default:{if(Array.isArray(t))return Pe(e,t,n);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const r=e[t];return r===void 0?n:r}}}function Pe(e,t,n){if(t.length===0)return n;let r=e;for(let s=0;s<t.length;s++){if(r==null)return n;r=r[t[s]]}return r===void 0?n:r}function Ee(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function b(e,t){if(t===e)return!0;switch(typeof t){case"object":{if(t==null)return!0;const n=Object.keys(t);if(e==null)return n.length===0;if(Array.isArray(t))return G(e,t);if(t instanceof Map)return xe(e,t);if(t instanceof Set)return Ae(e,t);for(let r=0;r<n.length;r++){const s=n[r];if(!z(e)&&!(s in e)||t[s]===void 0&&e[s]!==void 0||t[s]===null&&e[s]!==null||!b(e[s],t[s]))return!1}return!0}case"function":return Object.keys(t).length>0?b(e,{...t}):!1;default:return Ee(e)?!t:te(e,t)}}function xe(e,t){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(const[n,r]of t.entries())if(!b(e.get(n),r))return!1;return!0}function G(e,t){if(t.length===0)return!0;if(!Array.isArray(e))return!1;const n=new Set;for(let r=0;r<t.length;r++){const s=t[r],o=e.findIndex((i,a)=>b(i,s)&&!n.has(a));if(o===-1)return!1;n.add(o)}return!0}function Ae(e,t){return t.size===0?!0:e instanceof Set?G([...e],[...t]):!1}const Me=/^(?:0|[1-9]\d*)$/;function Ie(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return Me.test(e)}}function Z(e,t,n){const r=Array.isArray(t)?t:typeof t=="string"?L(t):[t];let s=e;for(let i=0;i<r.length-1;i++){const a=r[i],f=r[i+1];s[a]==null&&(s[a]=Ie(f)?[]:{}),s=s[a]}const o=r[r.length-1];return s[o]=n,e}const{z:Oe,ZodType:U}=await M("zod"),Ne=Oe.string().min(1);function k(e){return e instanceof Promise}function pt(e){return e}class Se{constructor(t,n,r){Object.defineProperty(this,"references",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"entitiesWithNameResolver",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathPrefix",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.references=[],this.entitiesWithNameResolver=[],this.pathPrefix=t,this.context=n,this.pathMap=new Map,this.data=r}_constructPathWithoutPrefix(t){return t?t.split(".").map(r=>/^[0-9]+$/.test(r)?Number.parseInt(r,10):r):[]}_constructPath(t){return t?[...this.pathPrefix,...this._constructPathWithoutPrefix(t)]:this.pathPrefix}_constructPathWithContext(t,n){if(typeof t=="string")return this._constructPath(t);const r=this.context.pathMap.get(t.context);if(!r)throw new Error(`Could not find context for ${t.context} from ${this.pathPrefix.join(".")}`);if(r.type!==n)throw new Error(`Attempted to retrieve context for ${t.context} from ${this.pathPrefix.join(".")} expecting ${n.name}, but found ${r.type.name}`);return r.path}addReference(t){if(!t.type.parentType&&t.parentPath)throw new Error("Parent path does nothing since reference does not have parent");if(t.type.parentType&&!t.parentPath)throw new Error("Parent path required if reference type has parent type");const n=this._constructPathWithoutPrefix(t.path),r=n.length===0?this.data:m(this.data,n);if(r==null)return;const s=this._constructPath(t.path);this.references.push({type:t.type,path:s,parentPath:t.parentPath&&t.type.parentType&&this._constructPathWithContext(t.parentPath,t.type.parentType),onDelete:t.onDelete}),t.addContext&&this._addPathToContext(s,t.type,t.addContext)}addEntity(t){const n=this._constructPath(t.path),r=t.idPath?this._constructPathWithoutPrefix(t.idPath):[...this._constructPathWithoutPrefix(t.path),"id"],s=m(this.data,r);if(!s)throw new Error(`No id found for entity ${t.type.name}`);if(!t.type.isId(s))throw new Error(`Invalid id: ${s} for entity ${t.type.name}`);const i=(t.getNameResolver??(f=>m(f,"name")))(this.data),a={id:s,type:t.type,path:n,idPath:[...this.pathPrefix,...r],parentPath:t.parentPath&&t.type.parentType&&this._constructPathWithContext(t.parentPath,t.type.parentType)};this.entitiesWithNameResolver.push({...a,nameResolver:typeof i=="string"?{resolveName:()=>i}:i}),t.addContext&&this._addPathToContext([...this.pathPrefix,...r],t.type,t.addContext)}_addPathToContext(t,n,r){if(this.pathMap.has(r))throw new Error(`Context path already defined for ${r} at ${this.pathPrefix.join(".")}`);this.pathMap.set(r,{path:t,type:n})}addPathToContext(t,n,r){this._addPathToContext(this._constructPath(t),n,r)}}const S=Symbol("zod-ref");class l extends U{_parse(t){const r=t.parent.common[S];if(!r||!this._def.builder)return this._def.innerType._parse(t);const s=new Se(t.path,r.context,t.data);this._def.builder(s,t.data),r.references.push(...s.references),r.entitiesWithNameResolver.push(...s.entitiesWithNameResolver);const o=this._def.innerType._parse({...t,path:t.path,parent:{...t.parent,common:{...t.parent.common,[S]:{...r,context:{...r.context,pathMap:new Map([...r.context.pathMap,...s.pathMap])}}}}});function i(a){if(a.status==="aborted")return a;for(const f of s.entitiesWithNameResolver)Z(a.value,f.idPath.slice(t.path.length),f.id);return a}return k(o)?o.then(i):i(o)}innerType(){return this._def.innerType}addEntity(t){return l.create(this,(n,r)=>{n.addEntity(typeof t=="function"?t(r):t)})}addReference(t){return l.create(this,(n,r)=>{n.addReference(typeof t=="function"?t(r):t)})}refBuilder(t){return l.create(this,t)}}Object.defineProperty(l,"create",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>new l({innerType:e,builder:t})});function mt(e,t){return l.create(e,t)}function Fe(e,t){return l.create(e).addReference(t)}function _e(e,t){return l.create(e.setKey("id",Ne)).addEntity(t)}class B extends U{_parse(t){const n={context:{pathMap:new Map},references:[],entitiesWithNameResolver:[]},r=this._def.innerType._parse({...t,parent:{...t.parent,common:{...t.parent.common,[S]:n}}});function s(o){return o.status==="aborted"?o:{...o,value:{data:o.value,entitiesWithNameResolver:n.entitiesWithNameResolver,references:n.references}}}return k(r)?r.then(s):s(r)}}Object.defineProperty(B,"create",{enumerable:!0,configurable:!0,writable:!0,value:e=>new B({innerType:e})});function Q(e){return t=>e(t)}const{z:E}=await M("zod"),x=p("feature"),T=he.KEBAB_CASE,je=Q(()=>_e(E.object({name:E.string().min(1).refine(e=>e.split("/").every(t=>T.safeParse(t).success),{message:"Feature name must be lowercase and contain only letters, numbers, and dashes"}),parentRef:Fe(E.string().nullish(),{type:x,onDelete:"DELETE_PARENT"})}),{type:x})),ht=Q(e=>E.array(je(e)).default([])),h=p("model"),$e=p("model-scalar-field",{parentType:h}),De=p("model-local-relation",{parentType:h}),Be=p("model-foreign-relation",{parentType:h}),qe=p("model-unique-constraint",{parentType:h}),yt=p("model-transformer",{parentType:h}),ze=p("model-enum"),gt=p("model-enum-value",{parentType:ze});function Ke(e){return e.features.filter(t=>!t.parentRef)}function V(e,t){return e.features.find(n=>n.id===t)}function _(e,t){const n=V(e,t);if(!n)throw new Error(`Could not find feature with ID ${t}`);return n}function We(e,t){return e.features.filter(n=>n.parentRef===t)}function X(e){return e.name.split("/").pop()??""}function Le(e,t){const n=_(e,t);return X(n)}function Ge(e,t){return _(e,t).name}function Ze(e){return e.split("/").every(n=>T.safeParse(n).success)}function Ue(e,t){if(x.isId(t))return t;const n=t.split("/");let r="",s=null;for(const o of n){const i=e.features.find(f=>f.name===o&&f.parentRef===s),a=[r,o].filter(Boolean).join("/");if(i)s=i.id;else{const f={id:x.generateNewId(),name:a,parentRef:s};e.features.push(f),s=f.id}r=a}if(!s)throw new Error("Failed to create feature");return s}function J(e,t){return e.features.find(n=>n.name===t)}function ke(e,t){return J(e,t)?.id??t}const bt={getRootFeatures:Ke,getFeatureById:V,getFeatureByIdOrThrow:_,getFeatureChildren:We,getFeatureName:X,getFeatureNameById:Le,getFeaturePathById:Ge,validateFeatureName:Ze,ensureFeatureByNameRecursively:Ue,getFeatureByName:J,getFeatureIdByNameOrDefault:ke};function H(e,t){return e.models.find(n=>n.id===t)}function Qe(e,t){const n=H(e,t);if(!n)throw new Error(`Could not find model with ID ${t}`);return n}function Te(e,t){const n=e.model.fields.find(r=>r.id===t);if(!n)throw new Error(`Could not find field with ID ${t}`);return n}function Ve(e,t){return e.models.flatMap(n=>n.model.relations?.filter(r=>r.modelRef===t).map(r=>({model:n,relation:r}))??[])}function Xe(e,t){return e.models.filter(n=>n.featureRef===t)}function Je(e){return e.model.primaryKeyFieldRefs}function He(e){return!!e.service.create.enabled||!!e.service.update.enabled||!!e.service.delete.enabled||e.service.transformers.length>0}function Ye(e){return W.test(e)}function ve(e,t){return e.models.find(n=>n.name===t)?.id??t}const A={byId:H,byIdOrThrow:Qe,getScalarFieldById:Te,getRelationsToModel:Ve,getModelsForFeature:Xe,getModelIdFields:Je,hasService:He,validateModelName:Ye,getModelIdByNameOrDefault:ve};class j{constructor(t){Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:t})}}class I extends j{constructor(t,n,r={}){super(t),Object.defineProperty(this,"getKey",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),this.getKey=n}diff(t,n){const r=t??[],s=n??[];if(!Array.isArray(r)||!Array.isArray(s))throw new TypeError("Current and desired must be arrays");const o=[],{allowRemove:i,ignoreFields:a=["id"]}=this.options,f=new Map(r.map(u=>[this.getKey(u),u])),c=new Map(s.map(u=>[this.getKey(u),u]));for(const[u,d]of c){const y=f.get(u);if(!y){o.push({type:"add",key:u,item:d});continue}b(D(y,a),D(d,a))||o.push({type:"update",key:u,item:d})}if(i)for(const[u,d]of f)c.has(u)||o.push({type:"remove",key:u,item:d});return o}apply(t,n){const r=n,s=t??[];if(!Array.isArray(s))throw new TypeError("Current must be array");const o=[...s];for(const{type:i,key:a,item:f}of r){const c=o.findIndex(u=>this.getKey(u)===a);switch(i){case"add":{o.push(f);break}case"update":{if(c===-1)throw new Error(`Cannot apply patch. Item with key "${a}" not found.`);o[c]=ne(o[c],f);break}case"remove":{c!==-1&&o.splice(c,1);break}}}return o}getActionVerb(t){return t?"created":"added or updated"}}class q extends j{diff(t,n){return n===void 0?[]:b(t,n)?[]:[{type:"update",key:"*",item:n}]}apply(t,n){return n.length===0?t:n[0].item}getActionVerb(t){return t?"set":"replaced"}}class O extends j{constructor(t,n){super(t),Object.defineProperty(this,"getKey",{enumerable:!0,configurable:!0,writable:!0,value:n})}diff(t,n){const r=t??[],s=n??[];if(!Array.isArray(r)||!Array.isArray(s))throw new TypeError("Current and desired must be arrays");const o=[],i=new Set(this.getKey?r.map(this.getKey):r);for(const a of s){const f=this.getKey?this.getKey(a):String(a);i.has(f)||o.push({type:"add",key:f,item:a})}return o}apply(t,n){const r=t??[];if(!Array.isArray(r))throw new TypeError("Current must be array");const s=[...r];for(const{type:o,item:i}of n)o==="add"&&s.push(i);return s}getActionVerb(t){return t?"created":"added"}}function wt(e){return e}function Ce(e,t,n){const r=F(n,(s,o)=>s?s.diff(m(e,o),m(t,o)):[]);if(!Object.values(r).every(s=>s.length===0))return r}function et(e,t,n){const r=K(e);for(const[s,o]of Object.entries(t)){if(!o)continue;const i=n[s],a=m(r,s);Z(r,s,i.apply(a,o))}return r}function tt(e){return e.fields.map(n=>n.fieldRef).sort().join("|")}const Y={"model.fields":new I("fields",e=>e.name),"model.relations":new I("relations",e=>e.name),"model.uniqueConstraints":new I("unique constraints",e=>tt(e)),"model.primaryKeyFieldRefs":new q("primary key fields"),"graphql.objectType.enabled":new q("GraphQL object type enabled"),"graphql.objectType.fields":new O("GraphQL object type fields"),"graphql.objectType.localRelations":new O("GraphQL object type local relations"),"graphql.objectType.foreignRelations":new O("GraphQL object type foreign relations")};function v(e,t,n){const r=new Map([...e.model.fields.map(a=>[a.id,a.name]),...n.flatMap(a=>a.model.fields.map(f=>[f.id,f.name]))]),s=new Map([...(e.model.relations??[]).map(a=>[a.id,a.name]),...n.flatMap(a=>(a.model.relations??[]).map(f=>[f.id,f.name])),...(e.model.relations??[]).map(a=>[a.foreignId,a.foreignRelationName]),...n.flatMap(a=>(a.model.relations??[]).map(f=>[f.foreignId,f.foreignRelationName]))]),o=a=>r.get(a)??t.nameFromId(a),i=a=>s.get(a)??t.nameFromId(a);return{...e,model:{...e.model,relations:e.model.relations?.map(a=>({...a,references:a.references.map(f=>({...f,localRef:o(f.localRef),foreignRef:o(f.foreignRef)}))})),uniqueConstraints:e.model.uniqueConstraints?.map(a=>({...a,fields:a.fields.map(f=>({...f,fieldRef:o(f.fieldRef)}))})),primaryKeyFieldRefs:e.model.primaryKeyFieldRefs.map(o)},graphql:{...e.graphql,objectType:{...e.graphql?.objectType,fields:e.graphql?.objectType?.fields.map(o)??[],localRelations:e.graphql?.objectType?.localRelations?.map(i),foreignRelations:e.graphql?.objectType?.foreignRelations?.map(i)}}}}function rt(e){return{...e,model:{...e.model,fields:e.model.fields.map(t=>({...t,id:t.id??$e.generateNewId()})),relations:e.model.relations?.map(t=>({...t,id:t.id??De.generateNewId(),foreignId:t.foreignId??Be.generateNewId()})),uniqueConstraints:e.model.uniqueConstraints?.map(t=>({...t,id:t.id??qe.generateNewId()}))}}}function nt(e,t,n){const r=rt(e),s=i=>{const a=r.model.fields.find(f=>f.name===i);if(!a)throw new Error(`Field ${i} not found`);return a.id},o=i=>{const a=r.model.relations?.find(f=>f.name===i);if(!a)throw new Error(`Relation ${i} not found`);return a.id};return{...r,model:{...r.model,relations:r.model.relations?.map(i=>({...i,references:i.references.map(a=>({...a,localRef:s(a.localRef),foreignRef:t(i.modelRef,a.foreignRef)}))})),uniqueConstraints:r.model.uniqueConstraints?.map(i=>({...i,fields:i.fields.map(a=>({...a,fieldRef:s(a.fieldRef)}))})),primaryKeyFieldRefs:r.model.primaryKeyFieldRefs.map(i=>s(i))},graphql:{...r.graphql,objectType:{...r.graphql?.objectType,fields:r.graphql?.objectType?.fields.map(i=>s(i))??[],localRelations:r.graphql?.objectType?.localRelations?.map(i=>o(i))??[],foreignRelations:r.graphql?.objectType?.foreignRelations?.map(i=>n(i))??[]}}}}function C(e,t){return{id:h.generateNewId(),name:e,featureRef:t,model:{fields:[],primaryKeyFieldRefs:[]}}}function it(e,t,n,{siblingModels:r=[]}={}){const s=e??C(t.name,t.featureRef),o=v(s,n,r),i=Ce(o,t,Y);if(i)return{isNewModel:!e,id:s.id,name:s.name,featureRef:s.featureRef,changes:i}}function st(e,t,n,{siblingModels:r=[]}={}){return F(t,(s,o)=>it(e[o]&&h.isId(e[o])?A.byIdOrThrow(n.definition,e[o]):void 0,s,n,{siblingModels:r}))}function at(e,t,n,r=[]){const s=v(e,n,r),o=et(s,t,Y);return{...e,...nt(o,(i,a)=>{const f=r.find(d=>d.id===i);if(f){const d=f.model.fields.find(y=>y.name===a);if(!d)throw new Error(`Field ${a} not found in sibling model ${i}`);return d.id}const c=A.byIdOrThrow(n.definition,i),u=c.model.fields.find(d=>d.name===a);if(!u)throw new Error(`Field ${a} not found in model ${c.name}`);return u.id},i=>{let a;for(const u of r){const d=u.model.relations?.find(y=>y.foreignRelationName===i);if(d){a=d.foreignId;break}}if(a)return a;const c=A.getRelationsToModel(n.definition,e.id).find(u=>u.relation.foreignRelationName===i&&u.relation.modelRef===e.id);if(!c)throw new Error(`Relation ${i} not found in model ${e.name}`);return c.relation.foreignId})}}function ot(e,t,n,{siblingModels:r=[]}={}){const s=t.isNewModel?C(t.name,t.featureRef):A.byIdOrThrow(n.definition,t.id),o=at(s,t.changes,n,r);if(t.isNewModel)e.models.push(o);else{const i=e.models.findIndex(a=>a.id===t.id);if(i===-1)throw new Error(`Model ${t.id} not found`);e.models[i]=o}return o.id}function Rt(e,t,n,r,{siblingModels:s=[]}={}){const o=st(t,n,r,{siblingModels:s});return F(o,(i,a)=>i?ot(e,i,r,{siblingModels:s}):n[a].name)}export{dt as A,Se as B,he as C,l as D,ye as E,bt as F,T as G,je as H,Y as I,it as J,st as K,at as L,A as M,ot as N,Rt as O,I as P,q as Q,O as R,wt as S,Ce as T,et as U,B as Z,p as a,Fe as b,ct as c,Q as d,Be as e,De as f,m as g,$e as h,_e as i,yt as j,pt as k,h as l,F as m,gt as n,x as o,ze as p,mt as q,Ne as r,Z as s,qe as t,ht as u,lt as v,D as w,K as x,N as y,ge as z};
2
+ //# sourceMappingURL=model-merger-D2RoujrB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-merger-D2RoujrB.js","sources":["../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/cloneDeep.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/mapValues.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/merge.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/omit.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/object/toMerged.mjs","../../../../node_modules/.pnpm/nanoid@5.0.9/node_modules/nanoid/index.browser.js","../../../utils/dist/string/random-key.js","../../../utils/dist/validators/case-validators.js","../../../project-builder-lib/dist/plugins/spec/types.js","../../../project-builder-lib/dist/references/types.js","../../../project-builder-lib/dist/plugins/schema/common.js","../../../project-builder-lib/dist/plugins/schema/parser.js","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/toKey.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/util/toPath.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/object/get.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/predicate/isObject.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/predicate/isMatch.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/_internal/isIndex.mjs","../../../../node_modules/.pnpm/es-toolkit@1.31.0/node_modules/es-toolkit/dist/compat/object/set.mjs","../../../project-builder-lib/dist/references/ref-builder.js","../../../project-builder-lib/dist/schema/creator/schema-creator.js","../../../project-builder-lib/dist/schema/features/feature.js","../../../project-builder-lib/dist/schema/models/types.js","../../../project-builder-lib/dist/definition/feature/feature-utils.js","../../../project-builder-lib/dist/definition/model/model-utils.js","../../../project-builder-lib/dist/utils/definition-diff/definition-diff.js","../../../project-builder-lib/dist/tools/model-merger/model-merger.js"],"sourcesContent":["function isPrimitive(value) {\n return value == null || (typeof value !== 'object' && typeof value !== 'function');\n}\n\nexport { isPrimitive };\n","function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","import { getSymbols } from '../compat/_internal/getSymbols.mjs';\nimport { isPrimitive } from '../predicate/isPrimitive.mjs';\nimport { isTypedArray } from '../predicate/isTypedArray.mjs';\n\nfunction cloneDeepWith(obj, cloneValue) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = new Map(), cloneValue = undefined) {\n const cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n if (cloned != null) {\n return cloned;\n }\n if (isPrimitive(valueToClone)) {\n return valueToClone;\n }\n if (stack.has(valueToClone)) {\n return stack.get(valueToClone);\n }\n if (Array.isArray(valueToClone)) {\n const result = new Array(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n if (Object.hasOwn(valueToClone, 'index')) {\n result.index = valueToClone.index;\n }\n if (Object.hasOwn(valueToClone, 'input')) {\n result.input = valueToClone.input;\n }\n return result;\n }\n if (valueToClone instanceof Date) {\n return new Date(valueToClone.getTime());\n }\n if (valueToClone instanceof RegExp) {\n const result = new RegExp(valueToClone.source, valueToClone.flags);\n result.lastIndex = valueToClone.lastIndex;\n return result;\n }\n if (valueToClone instanceof Map) {\n const result = new Map();\n stack.set(valueToClone, result);\n for (const [key, value] of valueToClone) {\n result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (valueToClone instanceof Set) {\n const result = new Set();\n stack.set(valueToClone, result);\n for (const value of valueToClone) {\n result.add(cloneDeepWithImpl(value, undefined, objectToClone, stack, cloneValue));\n }\n return result;\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(valueToClone)) {\n return valueToClone.subarray();\n }\n if (isTypedArray(valueToClone)) {\n const result = new (Object.getPrototypeOf(valueToClone).constructor)(valueToClone.length);\n stack.set(valueToClone, result);\n for (let i = 0; i < valueToClone.length; i++) {\n result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n }\n return result;\n }\n if (valueToClone instanceof ArrayBuffer ||\n (typeof SharedArrayBuffer !== 'undefined' && valueToClone instanceof SharedArrayBuffer)) {\n return valueToClone.slice(0);\n }\n if (valueToClone instanceof DataView) {\n const result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof File !== 'undefined' && valueToClone instanceof File) {\n const result = new File([valueToClone], valueToClone.name, {\n type: valueToClone.type,\n });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Blob) {\n const result = new Blob([valueToClone], { type: valueToClone.type });\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (valueToClone instanceof Error) {\n const result = new valueToClone.constructor();\n stack.set(valueToClone, result);\n result.message = valueToClone.message;\n result.name = valueToClone.name;\n result.stack = valueToClone.stack;\n result.cause = valueToClone.cause;\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n if (typeof valueToClone === 'object' && valueToClone !== null) {\n const result = Object.create(Object.getPrototypeOf(valueToClone));\n stack.set(valueToClone, result);\n copyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n return result;\n }\n return valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n const keys = [...Object.keys(source), ...getSymbols(source)];\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor == null || descriptor.writable) {\n target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n }\n }\n}\n\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","import { cloneDeepWithImpl } from './cloneDeepWith.mjs';\n\nfunction cloneDeep(obj) {\n return cloneDeepWithImpl(obj, undefined, obj, new Map(), undefined);\n}\n\nexport { cloneDeep };\n","function mapValues(object, getNewValue) {\n const result = {};\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = object[key];\n result[key] = getNewValue(value, key, object);\n }\n return result;\n}\n\nexport { mapValues };\n","import { isPlainObject } from '../predicate/isPlainObject.mjs';\n\nfunction merge(target, source) {\n const sourceKeys = Object.keys(source);\n for (let i = 0; i < sourceKeys.length; i++) {\n const key = sourceKeys[i];\n const sourceValue = source[key];\n const targetValue = target[key];\n if (Array.isArray(sourceValue)) {\n if (Array.isArray(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge([], sourceValue);\n }\n }\n else if (isPlainObject(sourceValue)) {\n if (isPlainObject(targetValue)) {\n target[key] = merge(targetValue, sourceValue);\n }\n else {\n target[key] = merge({}, sourceValue);\n }\n }\n else if (targetValue === undefined || sourceValue !== undefined) {\n target[key] = sourceValue;\n }\n }\n return target;\n}\n\nexport { merge };\n","function omit(obj, keys) {\n const result = { ...obj };\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n delete result[key];\n }\n return result;\n}\n\nexport { omit };\n","import { cloneDeep } from './cloneDeep.mjs';\nimport { merge } from './merge.mjs';\n\nfunction toMerged(target, source) {\n return merge(cloneDeep(target), source);\n}\n\nexport { toMerged };\n","import { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","import { customAlphabet } from 'nanoid';\nconst NUMBERS = '0123456789';\nconst LOWERCASE = 'abcdefghijklmnopqrstuvwxyz';\nconst UPPERCASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n/**\n * Use custom ID generator for characters that be easily selected\n */\nconst customNanoid = customAlphabet(`${NUMBERS}${LOWERCASE}${UPPERCASE}_`, 12);\n/**\n * Generate a random key string made up of numbers, lowercase, and uppercase letters\n * @returns A random key string\n */\nexport function randomKey(length = 12) {\n return customNanoid(length);\n}\n//# sourceMappingURL=random-key.js.map","import { z } from 'zod';\n/**\n * Regex for validating kebab case, e.g. \"my-project\".\n */\nexport const KEBAB_CASE_REGEX = /^[a-z0-9-]+$/;\n/**\n * Regex for validating pascal case, e.g. \"MyProject\".\n */\nexport const PASCAL_CASE_REGEX = /^[A-Z][a-zA-Z0-9]*$/;\n/**\n * Regex for validating camel case, e.g. \"myProject\".\n */\nexport const CAMEL_CASE_REGEX = /^[a-z][a-zA-Z0-9]*$/;\n/**\n * Regex for validating constant case, e.g. \"MY_PROJECT\".\n */\nexport const CONSTANT_CASE_REGEX = /^[A-Z][A-Z0-9_]*$/;\nexport const CASE_VALIDATORS = {\n /**\n * Zod validator for validating kebab case, e.g. \"my-project\".\n */\n KEBAB_CASE: z.string().regex(KEBAB_CASE_REGEX, {\n message: 'Must be kebab case (e.g. \"my-project\")',\n }),\n /**\n * Zod validator for validating pascal case, e.g. \"MyProject\".\n */\n PASCAL_CASE: z.string().regex(PASCAL_CASE_REGEX, {\n message: 'Must be pascal case (e.g. \"MyProject\")',\n }),\n /**\n * Zod validator for validating camel case, e.g. \"myProject\".\n */\n CAMEL_CASE: z.string().regex(CAMEL_CASE_REGEX, {\n message: 'Must be camel case (e.g. \"myProject\")',\n }),\n /**\n * Zod validator for validating constant case, e.g. \"MY_PROJECT\".\n */\n CONSTANT_CASE: z.string().regex(CONSTANT_CASE_REGEX, {\n message: 'Must be constant case (e.g. \"MY_PROJECT\")',\n }),\n};\n//# sourceMappingURL=case-validators.js.map","export function createInitializedPluginSpec(spec, implementation) {\n return { spec, implementation };\n}\nexport function createPluginSpec(name, options) {\n const { platforms, defaultInitializer } = options ?? {};\n return {\n type: 'plugin-spec',\n name,\n platforms: platforms && (Array.isArray(platforms) ? platforms : [platforms]),\n isOptional: false,\n optional() {\n return { ...this, isOptional: true };\n },\n defaultInitializer,\n };\n}\n//# sourceMappingURL=types.js.map","import { randomKey } from '@baseplate-dev/utils';\n/**\n * Definition of an entity type.\n */\nexport class DefinitionEntityType {\n /**\n * Creates a new entity type.\n *\n * @param name - The name of the entity type.\n * @param prefix - The prefix of the entity type to use in the ID, defaults to the name.\n * @param parentType - The type of the parent entity if any\n */\n constructor(name, prefix, parentType) {\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: name\n });\n Object.defineProperty(this, \"parentType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: parentType\n });\n Object.defineProperty(this, \"prefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.prefix = prefix ?? name.split('/').pop() ?? name;\n }\n /**\n * Generates a new ID for the entity type.\n *\n * @returns The new ID.\n */\n generateNewId() {\n return `${this.prefix}:${randomKey()}`;\n }\n idFromKey(key) {\n if (!key) {\n return undefined;\n }\n return `${this.prefix}:${key}`;\n }\n keyFromId(id) {\n return id.split(':')[1];\n }\n isId(id) {\n return id.startsWith(`${this.prefix}:`);\n }\n}\nexport function createEntityType(name, options) {\n const { parentType, prefix } = options ?? {};\n return new DefinitionEntityType(name, prefix, parentType);\n}\n//# sourceMappingURL=types.js.map","export const zodPluginSymbol = Symbol('zod-plugin');\n//# sourceMappingURL=common.js.map","/**\n * Zod Plugin Wrapper\n *\n * Used for initializing the zod parsing with plugins\n */\nimport { ZodType } from 'zod';\nimport { zodPluginSymbol } from './common.js';\nexport class ZodPluginWrapper extends ZodType {\n _parse(input) {\n // run builder\n const pluginContext = {\n pluginStore: this._def.pluginStore,\n };\n return this._def.innerType._parse({\n ...input,\n parent: {\n ...input.parent,\n common: {\n ...input.parent.common,\n [zodPluginSymbol]: pluginContext,\n },\n },\n });\n }\n get pluginStore() {\n return this._def.pluginStore;\n }\n}\nObject.defineProperty(ZodPluginWrapper, \"create\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (type, pluginStore) => new ZodPluginWrapper({\n innerType: type,\n pluginStore,\n })\n});\nexport function zPluginWrapper(type, pluginStore) {\n return ZodPluginWrapper.create(type, pluginStore);\n}\n//# sourceMappingURL=parser.js.map","function isDeepKey(key) {\n switch (typeof key) {\n case 'number':\n case 'symbol': {\n return false;\n }\n case 'string': {\n return key.includes('.') || key.includes('[') || key.includes(']');\n }\n }\n}\n\nexport { isDeepKey };\n","function toKey(value) {\n if (Object.is(value, -0)) {\n return '-0';\n }\n return value.toString();\n}\n\nexport { toKey };\n","function toPath(deepKey) {\n const result = [];\n const length = deepKey.length;\n if (length === 0) {\n return result;\n }\n let index = 0;\n let key = '';\n let quoteChar = '';\n let bracket = false;\n if (deepKey.charCodeAt(0) === 46) {\n result.push('');\n index++;\n }\n while (index < length) {\n const char = deepKey[index];\n if (quoteChar) {\n if (char === '\\\\' && index + 1 < length) {\n index++;\n key += deepKey[index];\n }\n else if (char === quoteChar) {\n quoteChar = '';\n }\n else {\n key += char;\n }\n }\n else if (bracket) {\n if (char === '\"' || char === \"'\") {\n quoteChar = char;\n }\n else if (char === ']') {\n bracket = false;\n result.push(key);\n key = '';\n }\n else {\n key += char;\n }\n }\n else {\n if (char === '[') {\n bracket = true;\n if (key) {\n result.push(key);\n key = '';\n }\n }\n else if (char === '.') {\n if (key) {\n result.push(key);\n key = '';\n }\n }\n else {\n key += char;\n }\n }\n index++;\n }\n if (key) {\n result.push(key);\n }\n return result;\n}\n\nexport { toPath };\n","import { isDeepKey } from '../_internal/isDeepKey.mjs';\nimport { toKey } from '../_internal/toKey.mjs';\nimport { toPath } from '../util/toPath.mjs';\n\nfunction get(object, path, defaultValue) {\n if (object == null) {\n return defaultValue;\n }\n switch (typeof path) {\n case 'string': {\n const result = object[path];\n if (result === undefined) {\n if (isDeepKey(path)) {\n return get(object, toPath(path), defaultValue);\n }\n else {\n return defaultValue;\n }\n }\n return result;\n }\n case 'number':\n case 'symbol': {\n if (typeof path === 'number') {\n path = toKey(path);\n }\n const result = object[path];\n if (result === undefined) {\n return defaultValue;\n }\n return result;\n }\n default: {\n if (Array.isArray(path)) {\n return getWithPath(object, path, defaultValue);\n }\n if (Object.is(path?.valueOf(), -0)) {\n path = '-0';\n }\n else {\n path = String(path);\n }\n const result = object[path];\n if (result === undefined) {\n return defaultValue;\n }\n return result;\n }\n }\n}\nfunction getWithPath(object, path, defaultValue) {\n if (path.length === 0) {\n return defaultValue;\n }\n let current = object;\n for (let index = 0; index < path.length; index++) {\n if (current == null) {\n return defaultValue;\n }\n current = current[path[index]];\n }\n if (current === undefined) {\n return defaultValue;\n }\n return current;\n}\n\nexport { get };\n","function isObject(value) {\n return value !== null && (typeof value === 'object' || typeof value === 'function');\n}\n\nexport { isObject };\n","import { isObject } from './isObject.mjs';\nimport { isPrimitive } from '../../predicate/isPrimitive.mjs';\nimport { eq } from '../util/eq.mjs';\n\nfunction isMatch(target, source) {\n if (source === target) {\n return true;\n }\n switch (typeof source) {\n case 'object': {\n if (source == null) {\n return true;\n }\n const keys = Object.keys(source);\n if (target == null) {\n return keys.length === 0;\n }\n if (Array.isArray(source)) {\n return isArrayMatch(target, source);\n }\n if (source instanceof Map) {\n return isMapMatch(target, source);\n }\n if (source instanceof Set) {\n return isSetMatch(target, source);\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!isPrimitive(target) && !(key in target)) {\n return false;\n }\n if (source[key] === undefined && target[key] !== undefined) {\n return false;\n }\n if (source[key] === null && target[key] !== null) {\n return false;\n }\n if (!isMatch(target[key], source[key])) {\n return false;\n }\n }\n return true;\n }\n case 'function': {\n if (Object.keys(source).length > 0) {\n return isMatch(target, { ...source });\n }\n return false;\n }\n default: {\n if (!isObject(target)) {\n return eq(target, source);\n }\n return !source;\n }\n }\n}\nfunction isMapMatch(target, source) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Map)) {\n return false;\n }\n for (const [key, value] of source.entries()) {\n if (!isMatch(target.get(key), value)) {\n return false;\n }\n }\n return true;\n}\nfunction isArrayMatch(target, source) {\n if (source.length === 0) {\n return true;\n }\n if (!Array.isArray(target)) {\n return false;\n }\n const countedIndex = new Set();\n for (let i = 0; i < source.length; i++) {\n const sourceItem = source[i];\n const index = target.findIndex((targetItem, index) => {\n return isMatch(targetItem, sourceItem) && !countedIndex.has(index);\n });\n if (index === -1) {\n return false;\n }\n countedIndex.add(index);\n }\n return true;\n}\nfunction isSetMatch(target, source) {\n if (source.size === 0) {\n return true;\n }\n if (!(target instanceof Set)) {\n return false;\n }\n return isArrayMatch([...target], [...source]);\n}\n\nexport { isArrayMatch, isMapMatch, isMatch, isSetMatch };\n","const IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\\d*)$/;\nfunction isIndex(value, length = Number.MAX_SAFE_INTEGER) {\n switch (typeof value) {\n case 'number': {\n return Number.isInteger(value) && value >= 0 && value < length;\n }\n case 'symbol': {\n return false;\n }\n case 'string': {\n return IS_UNSIGNED_INTEGER.test(value);\n }\n }\n}\n\nexport { isIndex };\n","import { isIndex } from '../_internal/isIndex.mjs';\nimport { toPath } from '../util/toPath.mjs';\n\nfunction set(obj, path, value) {\n const resolvedPath = Array.isArray(path) ? path : typeof path === 'string' ? toPath(path) : [path];\n let current = obj;\n for (let i = 0; i < resolvedPath.length - 1; i++) {\n const key = resolvedPath[i];\n const nextKey = resolvedPath[i + 1];\n if (current[key] == null) {\n current[key] = isIndex(nextKey) ? [] : {};\n }\n current = current[key];\n }\n const lastKey = resolvedPath[resolvedPath.length - 1];\n current[lastKey] = value;\n return obj;\n}\n\nexport { set };\n","import { get, set } from 'es-toolkit/compat';\nimport { z, ZodType } from 'zod';\n/**\n * Zod reference ID schema: a string with a minimum length of 1.\n */\nexport const zRefId = z.string().min(1);\n/**\n * Determines whether the given object is a Promise.\n * @param object - The value to test.\n * @returns True if the value is a Promise, false otherwise.\n */\nfunction isPromise(object) {\n return object instanceof Promise;\n}\n/**\n * Creates a definition entity name resolver.\n * @param entityNameResolver - The entity name resolver.\n * @returns The definition entity name resolver.\n */\nexport function createDefinitionEntityNameResolver(entityNameResolver) {\n return entityNameResolver;\n}\n/**\n * ZodRefBuilder is responsible for constructing reference paths, and registering\n * references and entities as defined in a Zod schema.\n *\n * The builder uses a prefix (usually the current parsing path) and context (a\n * shared map for resolving relative references) to build complete reference paths.\n *\n * @template TInput - The type of the input data being parsed.\n */\nexport class ZodRefBuilder {\n /**\n * Creates a new builder instance.\n * @param pathPrefix - The starting path for all references.\n * @param context - Shared context including a path map and deserialize flag.\n * @param data - The data being parsed.\n */\n constructor(pathPrefix, context, data) {\n Object.defineProperty(this, \"references\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"entitiesWithNameResolver\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pathPrefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"context\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pathMap\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.references = [];\n this.entitiesWithNameResolver = [];\n this.pathPrefix = pathPrefix;\n this.context = context;\n this.pathMap = new Map();\n this.data = data;\n }\n /**\n * Converts a dot-separated string path into an array of keys.\n * @param path - A string (e.g. \"a.b.0.c\") representing the path.\n * @returns An array of keys (numbers for numeric strings, otherwise strings).\n */\n _constructPathWithoutPrefix(path) {\n if (!path)\n return [];\n const pathComponents = path\n .split('.')\n .map((key) => (/^[0-9]+$/.test(key) ? Number.parseInt(key, 10) : key));\n return pathComponents;\n }\n /**\n * Prepends the builder's path prefix to the provided path.\n * @param path - The dot-separated path string.\n * @returns The complete reference path as an array.\n */\n _constructPath(path) {\n if (!path)\n return this.pathPrefix;\n return [...this.pathPrefix, ...this._constructPathWithoutPrefix(path)];\n }\n /**\n * Constructs a reference path that may be defined directly as a string or indirectly\n * via a context object. If a context object is provided, the function looks up the\n * actual path from the builder's context.\n *\n * @param path - Either a dot-separated string path or an object with a context key.\n * @param expectedEntityType - The entity type expected for this context.\n * @returns The resolved reference path.\n * @throws If the context cannot be found or its type does not match.\n */\n _constructPathWithContext(path, expectedEntityType) {\n if (typeof path === 'string') {\n return this._constructPath(path);\n }\n // Lookup the context for the given key.\n const pathContext = this.context.pathMap.get(path.context);\n if (!pathContext) {\n throw new Error(`Could not find context for ${path.context} from ${this.pathPrefix.join('.')}`);\n }\n if (pathContext.type !== expectedEntityType) {\n throw new Error(`Attempted to retrieve context for ${path.context} from ${this.pathPrefix.join('.')} expecting ${expectedEntityType.name}, but found ${pathContext.type.name}`);\n }\n return pathContext.path;\n }\n /**\n * Registers a reference based on the provided input definition.\n *\n * Flow:\n * 1. Validate that the parent path is provided if required (and vice versa).\n * 2. Compute the reference path; if the path is empty, use the entire data.\n * 3. If the referenced value is null or undefined, skip adding the reference.\n * 4. Otherwise, add the reference and, if requested, register its context.\n *\n * @param reference - The reference definition.\n * @throws If parent path usage is incorrect.\n */\n addReference(reference) {\n if (!reference.type.parentType && reference.parentPath) {\n throw new Error(`Parent path does nothing since reference does not have parent`);\n }\n if (reference.type.parentType && !reference.parentPath) {\n throw new Error(`Parent path required if reference type has parent type`);\n }\n // Compute the path without prefix once.\n const refPathWithoutPrefix = this._constructPathWithoutPrefix(reference.path);\n // If the path is empty, use the entire data; otherwise, retrieve the value.\n const refValue = refPathWithoutPrefix.length === 0\n ? this.data\n : get(this.data, refPathWithoutPrefix);\n if (refValue === undefined || refValue === null)\n return;\n const fullPath = this._constructPath(reference.path);\n this.references.push({\n type: reference.type,\n path: fullPath,\n parentPath: reference.parentPath &&\n reference.type.parentType &&\n this._constructPathWithContext(reference.parentPath, reference.type.parentType),\n onDelete: reference.onDelete,\n });\n // Optionally, add this path to the shared context.\n if (reference.addContext) {\n this._addPathToContext(fullPath, reference.type, reference.addContext);\n }\n }\n /**\n * Registers an entity based on the provided definition.\n *\n * Flow:\n * 1. Validate that not both a name and a name reference path are provided.\n * 2. Compute the full entity path.\n * 3. Resolve the entity ID:\n * - Use the provided idPath if available; otherwise, default to appending 'id'\n * to the entity path.\n * - If no id is found, generate a new one.\n * 4. Resolve the entity name:\n * - Use the provided resolveName if available; otherwise, default to using the\n * name path.\n * 5. Register the entity in either the direct entities list or the name-ref list.\n * 6. Optionally, add the entity’s id path to the shared context.\n *\n * @param entity - The entity definition.\n * @throws If both name and nameRefPath are provided or if no name is resolved.\n */\n addEntity(entity) {\n // Build the full path for the entity.\n const path = this._constructPath(entity.path);\n // Resolve the id path: if provided use it; otherwise, assume the id is at \"entity.path.id\"\n const idPath = entity.idPath\n ? this._constructPathWithoutPrefix(entity.idPath)\n : [...this._constructPathWithoutPrefix(entity.path), 'id'];\n const id = get(this.data, idPath);\n if (!id) {\n throw new Error(`No id found for entity ${entity.type.name}`);\n }\n if (!entity.type.isId(id)) {\n throw new Error(`Invalid id: ${id} for entity ${entity.type.name}`);\n }\n // Resolve the name: if getNameResolver is provided, use it to build the name resolver; otherwise,\n // use the default name resolver.\n const getNameResolver = entity.getNameResolver ?? ((value) => get(value, 'name'));\n const nameResolver = getNameResolver(this.data);\n // Base entity definition shared between regular entities and those with a name reference.\n const entityBase = {\n id,\n type: entity.type,\n path,\n idPath: [...this.pathPrefix, ...idPath],\n parentPath: entity.parentPath &&\n entity.type.parentType &&\n this._constructPathWithContext(entity.parentPath, entity.type.parentType),\n };\n this.entitiesWithNameResolver.push({\n ...entityBase,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- needed to allow more specific generic typed to be put in here\n nameResolver: typeof nameResolver === 'string'\n ? { resolveName: () => nameResolver }\n : nameResolver,\n });\n // Optionally add the id path to the context.\n if (entity.addContext) {\n this._addPathToContext([...this.pathPrefix, ...idPath], entity.type, entity.addContext);\n }\n }\n /**\n * Registers a given path into the builder's context map.\n * @param path - The full reference path.\n * @param type - The entity type associated with the path.\n * @param context - A unique key to identify this context.\n * @throws If the context key is already registered.\n */\n _addPathToContext(path, type, context) {\n if (this.pathMap.has(context)) {\n throw new Error(`Context path already defined for ${context} at ${this.pathPrefix.join('.')}`);\n }\n this.pathMap.set(context, { path, type });\n }\n /**\n * Convenience method that builds a full path from a dot-separated string and\n * adds it to the context.\n * @param path - The dot-separated string path.\n * @param type - The entity type.\n * @param context - The context key.\n */\n addPathToContext(path, type, context) {\n this._addPathToContext(this._constructPath(path), type, context);\n }\n}\n/**\n * Unique symbol used to store ZodRef context in the parent’s common context.\n */\nconst zodRefSymbol = Symbol('zod-ref');\n/**\n * ZodRef wraps an inner Zod type and enhances it with the ability to register\n * and process entity references. During parsing, it delegates to a builder (if present)\n * to collect references and entities before delegating to the inner type.\n *\n * @template T - The inner Zod type.\n */\nexport class ZodRef extends ZodType {\n /**\n * The core parse method that:\n * 1. Retrieves (or creates) the builder context from the parent.\n * 2. Runs the builder function (if present) to register references/entities.\n * 3. Delegates parsing to the inner type.\n * 4. Transforms the output to replace entity id placeholders with generated ids.\n *\n * @param input - The Zod parse input.\n * @returns The parse result.\n */\n _parse(input) {\n const context = input.parent.common;\n // If no builder context or builder function exists, simply parse using the inner type.\n const zodRefContext = context[zodRefSymbol];\n if (!zodRefContext || !this._def.builder) {\n return this._def.innerType._parse(input);\n }\n // Create a new builder instance for the current parsing context.\n const builder = new ZodRefBuilder(input.path, zodRefContext.context, input.data);\n // Execute the builder function to register references/entities.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n this._def.builder(builder, input.data);\n zodRefContext.references.push(...builder.references);\n zodRefContext.entitiesWithNameResolver.push(...builder.entitiesWithNameResolver);\n // Re-parse using the inner type but merge the updated context.\n const parseOutput = this._def.innerType._parse({\n ...input,\n path: input.path,\n parent: {\n ...input.parent,\n common: {\n ...input.parent.common,\n [zodRefSymbol]: {\n ...zodRefContext,\n context: {\n ...zodRefContext.context,\n // Merge new context entries from the builder.\n pathMap: new Map([\n ...zodRefContext.context.pathMap,\n ...builder.pathMap,\n ]),\n },\n },\n },\n },\n });\n /**\n * Transforms the output of the inner parse by iterating through all registered\n * entities and assigning the id to the corresponding path in the output in case\n * it was generated by the builder.\n *\n * @param output - The result from the inner parse.\n * @returns The transformed parse output.\n */\n function transformParseOutput(output) {\n if (output.status === 'aborted')\n return output;\n // For each entity, assign the id to the corresponding path in the output\n // in the event that it was generated by the builder.\n for (const entity of builder.entitiesWithNameResolver) {\n set(output.value, entity.idPath.slice(input.path.length), entity.id);\n }\n return output;\n }\n // If the parse result is a Promise, attach the transformation asynchronously.\n if (isPromise(parseOutput)) {\n return parseOutput.then(transformParseOutput);\n }\n return transformParseOutput(parseOutput);\n }\n /**\n * Returns the inner Zod type.\n * @returns The wrapped inner Zod type.\n */\n innerType() {\n return this._def.innerType;\n }\n /**\n * Adds an entity registration to the current ZodRef.\n *\n * @param entity - Either an entity definition or a function that returns one.\n * @returns A new ZodRef instance with the entity registration added.\n */\n addEntity(entity) {\n return ZodRef.create(this, (builder, data) => {\n builder.addEntity(typeof entity === 'function' ? entity(data) : entity);\n });\n }\n /**\n * Adds a reference registration to the current ZodRef.\n *\n * @param reference - Either a reference definition or a function that returns one.\n * @returns A new ZodRef instance with the reference registration added.\n */\n addReference(reference) {\n return ZodRef.create(this, (builder, data) => {\n builder.addReference(typeof reference === 'function' ? reference(data) : reference);\n });\n }\n /**\n * Applies a custom builder function to the ZodRef.\n * @param builder - The builder function that registers additional references/entities.\n * @returns A new ZodRef instance with the builder applied.\n */\n refBuilder(builder) {\n return ZodRef.create(this, builder);\n }\n}\n/**\n * Creates a new ZodRef instance wrapping a given Zod type with an optional builder.\n * @param type - The inner Zod type.\n * @param builder - Optional builder function to register references/entities.\n * @returns A new ZodRef instance.\n */\nObject.defineProperty(ZodRef, \"create\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (type, builder) => new ZodRef({\n innerType: type,\n builder,\n })\n});\n/**\n * Convenience function for creating a ZodRef using a schema and an optional builder.\n * @param schema - The base Zod schema.\n * @param builder - Optional builder function.\n * @returns A new ZodRef instance.\n */\nexport function zRefBuilder(schema, builder) {\n return ZodRef.create(schema, builder);\n}\n/**\n * Convenience function for creating a ZodRef with a reference added.\n * @param schema - The base Zod schema.\n * @param reference - Either a reference definition or a function returning one.\n * @returns A new ZodRef instance with the reference registration.\n */\nexport function zRef(schema, reference) {\n return ZodRef.create(schema).addReference(reference);\n}\n/**\n * Convenience function for creating a ZodRef that registers an entity.\n * This function also sets the id key on the schema using zRefId.\n *\n * @template TObject - The Zod object type.\n * @template TEntityType - The entity type.\n * @template TPath - The path type.\n * @param schema - The base Zod object schema.\n * @param entity - Either an entity definition or a function returning one.\n * @returns A new ZodRef instance with the entity registration.\n */\nexport function zEnt(schema, entity) {\n // Set the \"id\" key on the schema using zRefId and then register the entity.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any\n return ZodRef.create(schema.setKey('id', zRefId)).addEntity(entity);\n}\n/**\n * ZodRefWrapper is used for initializing parsing that collects references and entities.\n *\n * @template T - The inner Zod type.\n */\nexport class ZodRefWrapper extends ZodType {\n /**\n * Core parse method that:\n * 1. Initializes a fresh reference context.\n * 2. Parses using the inner type while injecting the context.\n * 3. Returns a payload containing the parsed data, along with references and entities.\n *\n * @param input - The parse input.\n * @returns The parsed payload.\n */\n _parse(input) {\n // Initialize the reference context.\n const refContext = {\n context: {\n pathMap: new Map(),\n },\n references: [],\n entitiesWithNameResolver: [],\n };\n // Inject the refContext into the parent's common context and parse the inner type.\n const parseOutput = this._def.innerType._parse({\n ...input,\n parent: {\n ...input.parent,\n common: {\n ...input.parent.common,\n [zodRefSymbol]: refContext,\n },\n },\n });\n function transformParseOutput(output) {\n if (output.status === 'aborted')\n return output;\n return {\n ...output,\n value: {\n data: output.value,\n entitiesWithNameResolver: refContext.entitiesWithNameResolver,\n references: refContext.references,\n },\n };\n }\n if (isPromise(parseOutput)) {\n return parseOutput.then(transformParseOutput);\n }\n return transformParseOutput(parseOutput);\n }\n}\n/**\n * Creates a new ZodRefWrapper instance.\n * @param type - The inner Zod type.\n * @param options - Options for the ZodRefWrapper.\n * @param options.skipReferenceNameResolution - Flag to skip resolving references to names (serialized definitions use resolved name references).\n * @param options.allowInvalidReferences - Flag to allow invalid references (used for testing deletes).\n * @returns A new instance of ZodRefWrapper.\n */\nObject.defineProperty(ZodRefWrapper, \"create\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (type) => new ZodRefWrapper({\n innerType: type,\n })\n});\n//# sourceMappingURL=ref-builder.js.map","export function definitionSchema(creator) {\n return (options) => creator(options);\n}\n//# sourceMappingURL=schema-creator.js.map","import { CASE_VALIDATORS } from '@baseplate-dev/utils';\nimport { z } from 'zod';\nimport { createEntityType, zEnt, zRef } from '#src/references/index.js';\nimport { definitionSchema } from '#src/schema/creator/schema-creator.js';\nexport const featureEntityType = createEntityType('feature');\nexport const featureNameSchema = CASE_VALIDATORS.KEBAB_CASE;\nexport const createFeatureSchema = definitionSchema(() => zEnt(z.object({\n name: z\n .string()\n .min(1)\n .refine((name) => name\n .split('/')\n .every((part) => featureNameSchema.safeParse(part).success), {\n message: 'Feature name must be lowercase and contain only letters, numbers, and dashes',\n }),\n parentRef: zRef(z.string().nullish(), {\n type: featureEntityType,\n onDelete: 'DELETE_PARENT',\n }),\n}), { type: featureEntityType }));\nexport const createFeaturesSchema = definitionSchema((ctx) => z.array(createFeatureSchema(ctx)).default([]));\n//# sourceMappingURL=feature.js.map","import { createEntityType } from '#src/references/index.js';\nexport const modelEntityType = createEntityType('model');\nexport const modelScalarFieldEntityType = createEntityType('model-scalar-field', {\n parentType: modelEntityType,\n});\nexport const modelLocalRelationEntityType = createEntityType('model-local-relation', { parentType: modelEntityType });\nexport const modelForeignRelationEntityType = createEntityType('model-foreign-relation', { parentType: modelEntityType });\nexport const modelUniqueConstraintEntityType = createEntityType('model-unique-constraint', { parentType: modelEntityType });\nexport const modelTransformerEntityType = createEntityType('model-transformer', { parentType: modelEntityType });\nexport const modelEnumEntityType = createEntityType('model-enum');\nexport const modelEnumValueEntityType = createEntityType('model-enum-value', {\n parentType: modelEnumEntityType,\n});\n//# sourceMappingURL=types.js.map","import { featureEntityType, featureNameSchema } from '#src/schema/index.js';\nfunction getRootFeatures(projectDefinition) {\n return projectDefinition.features.filter((f) => !f.parentRef);\n}\nfunction getFeatureById(projectDefinition, featureId) {\n return projectDefinition.features.find((f) => f.id === featureId);\n}\nfunction getFeatureByIdOrThrow(projectDefinition, featureId) {\n const feature = getFeatureById(projectDefinition, featureId);\n if (!feature) {\n throw new Error(`Could not find feature with ID ${featureId}`);\n }\n return feature;\n}\nfunction getFeatureChildren(projectDefinition, featureId) {\n return projectDefinition.features.filter((f) => f.parentRef === featureId);\n}\nfunction getFeatureName(featureConfig) {\n return featureConfig.name.split('/').pop() ?? '';\n}\nfunction getFeatureNameById(projectDefinition, featureId) {\n const feature = getFeatureByIdOrThrow(projectDefinition, featureId);\n return getFeatureName(feature);\n}\nfunction getFeaturePathById(projectDefinition, featureId) {\n const feature = getFeatureByIdOrThrow(projectDefinition, featureId);\n return feature.name;\n}\nfunction validateFeatureName(name) {\n const nameParts = name.split('/');\n return nameParts.every((part) => featureNameSchema.safeParse(part).success);\n}\nfunction ensureFeatureByNameRecursively(projectDefinition, nameOrId) {\n if (featureEntityType.isId(nameOrId)) {\n return nameOrId;\n }\n const nameParts = nameOrId.split('/');\n let lastName = '';\n let parentRef = null;\n for (const part of nameParts) {\n const feature = projectDefinition.features.find((f) => f.name === part && f.parentRef === parentRef);\n const name = [lastName, part].filter(Boolean).join('/');\n if (feature) {\n parentRef = feature.id;\n }\n else {\n const newFeature = {\n id: featureEntityType.generateNewId(),\n name,\n parentRef,\n };\n projectDefinition.features.push(newFeature);\n parentRef = newFeature.id;\n }\n lastName = name;\n }\n if (!parentRef) {\n throw new Error('Failed to create feature');\n }\n return parentRef;\n}\nfunction getFeatureByName(projectDefinition, name) {\n return projectDefinition.features.find((f) => f.name === name);\n}\nfunction getFeatureIdByNameOrDefault(projectDefinition, name) {\n return getFeatureByName(projectDefinition, name)?.id ?? name;\n}\nexport const FeatureUtils = {\n getRootFeatures,\n getFeatureById,\n getFeatureByIdOrThrow,\n getFeatureChildren,\n getFeatureName,\n getFeatureNameById,\n getFeaturePathById,\n validateFeatureName,\n ensureFeatureByNameRecursively,\n getFeatureByName,\n getFeatureIdByNameOrDefault,\n};\n//# sourceMappingURL=feature-utils.js.map","import { PASCAL_CASE_REGEX } from '@baseplate-dev/utils';\nfunction byId(projectDefinition, id) {\n return projectDefinition.models.find((m) => m.id === id);\n}\nfunction byIdOrThrow(projectDefinition, id) {\n const model = byId(projectDefinition, id);\n if (!model) {\n throw new Error(`Could not find model with ID ${id}`);\n }\n return model;\n}\nfunction getScalarFieldById(model, id) {\n const field = model.model.fields.find((f) => f.id === id);\n if (!field) {\n throw new Error(`Could not find field with ID ${id}`);\n }\n return field;\n}\nfunction getRelationsToModel(projectDefinition, modelId) {\n return projectDefinition.models.flatMap((m) => m.model.relations\n ?.filter((r) => r.modelRef === modelId)\n .map((r) => ({ model: m, relation: r })) ?? []);\n}\nfunction getModelsForFeature(projectDefinition, featureId) {\n return projectDefinition.models.filter((m) => m.featureRef === featureId);\n}\nfunction getModelIdFields(model) {\n return model.model.primaryKeyFieldRefs;\n}\nfunction hasService(model) {\n return (!!model.service.create.enabled ||\n !!model.service.update.enabled ||\n !!model.service.delete.enabled ||\n model.service.transformers.length > 0);\n}\nfunction validateModelName(name) {\n return PASCAL_CASE_REGEX.test(name);\n}\n/**\n * Returns the ID of a model by name, or the name if no model is found.\n * @param projectDefinition - The project definition.\n * @param name - The name of the model.\n * @returns The ID of the model, or the name if no model is found.\n */\nfunction getModelIdByNameOrDefault(projectDefinition, name) {\n return projectDefinition.models.find((m) => m.name === name)?.id ?? name;\n}\nexport const ModelUtils = {\n byId,\n byIdOrThrow,\n getScalarFieldById,\n getRelationsToModel,\n getModelsForFeature,\n getModelIdFields,\n hasService,\n validateModelName,\n getModelIdByNameOrDefault,\n};\n//# sourceMappingURL=model-utils.js.map","/**\n * Allows diffing of arbitrary JSON objects.\n */\nimport { cloneDeep, mapValues, omit, toMerged } from 'es-toolkit';\nimport { get, isMatch, set } from 'es-toolkit/compat';\nclass DefinitionDiffField {\n constructor(\n /**\n * The name of the field to be presented to the user.\n */\n name) {\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: name\n });\n }\n}\n/**\n * A field that is an array of objects with a unique key.\n */\nexport class DefinitionDiffKeyedArrayField extends DefinitionDiffField {\n constructor(name, getKey, options = {}) {\n super(name);\n Object.defineProperty(this, \"getKey\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: getKey\n });\n Object.defineProperty(this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n this.getKey = getKey;\n }\n diff(current, desired) {\n const currentValue = current ?? [];\n const desiredValue = desired ?? [];\n if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {\n throw new TypeError('Current and desired must be arrays');\n }\n const ops = [];\n const { allowRemove, ignoreFields = ['id'] } = this.options;\n const currentByKey = new Map(currentValue.map((item) => [this.getKey(item), item]));\n const desiredByKey = new Map(desiredValue.map((item) => [this.getKey(item), item]));\n for (const [key, desiredItem] of desiredByKey) {\n const currentItem = currentByKey.get(key);\n if (!currentItem) {\n ops.push({ type: 'add', key, item: desiredItem });\n continue;\n }\n if (!isMatch(omit(currentItem, ignoreFields), omit(desiredItem, ignoreFields))) {\n ops.push({ type: 'update', key, item: desiredItem });\n }\n }\n if (allowRemove) {\n for (const [key, currentItem] of currentByKey) {\n if (!desiredByKey.has(key)) {\n ops.push({ type: 'remove', key, item: currentItem });\n }\n }\n }\n return ops;\n }\n apply(current, diff) {\n const patch = diff;\n const currentValue = current ?? [];\n if (!Array.isArray(currentValue)) {\n throw new TypeError('Current must be array');\n }\n const items = [...currentValue];\n for (const { type, key, item } of patch) {\n const index = items.findIndex((i) => this.getKey(i) === key);\n switch (type) {\n case 'add': {\n items.push(item);\n break;\n }\n case 'update': {\n if (index === -1) {\n throw new Error(`Cannot apply patch. Item with key \"${key}\" not found.`);\n }\n // Preserve existing id if present.\n items[index] = toMerged(items[index], item);\n break;\n }\n case 'remove': {\n if (index !== -1) {\n items.splice(index, 1);\n }\n break;\n }\n }\n }\n return items;\n }\n getActionVerb(isNew) {\n return isNew ? 'created' : 'added or updated';\n }\n}\n/**\n * A field that is a replacement for the entire object or array.\n */\nexport class DefinitionDiffReplacementField extends DefinitionDiffField {\n diff(current, desired) {\n if (desired === undefined) {\n return [];\n }\n if (!isMatch(current, desired)) {\n return [{ type: 'update', key: '*', item: desired }];\n }\n return [];\n }\n apply(current, diff) {\n if (diff.length === 0)\n return current;\n return diff[0].item;\n }\n getActionVerb(isNew) {\n return isNew ? 'set' : 'replaced';\n }\n}\n/**\n * A field that ensures an array contains certain values.\n * This field type only adds items, never removes them.\n */\nexport class DefinitionDiffArrayIncludesField extends DefinitionDiffField {\n constructor(name, getKey) {\n super(name);\n Object.defineProperty(this, \"getKey\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: getKey\n });\n }\n diff(current, desired) {\n const currentValue = current ?? [];\n const desiredValue = desired ?? [];\n if (!Array.isArray(currentValue) || !Array.isArray(desiredValue)) {\n throw new TypeError('Current and desired must be arrays');\n }\n const ops = [];\n const currentSet = new Set(this.getKey ? currentValue.map(this.getKey) : currentValue);\n for (const item of desiredValue) {\n const key = this.getKey ? this.getKey(item) : String(item);\n if (!currentSet.has(key)) {\n ops.push({ type: 'add', key, item });\n }\n }\n return ops;\n }\n apply(current, diff) {\n const currentValue = (current ?? []);\n if (!Array.isArray(currentValue)) {\n throw new TypeError('Current must be array');\n }\n const items = [...currentValue];\n for (const { type, item } of diff) {\n if (type === 'add') {\n items.push(item);\n }\n }\n return items;\n }\n getActionVerb(isNew) {\n return isNew ? 'created' : 'added';\n }\n}\nexport function createDefinitionDiffConfig(config) {\n return config;\n}\n/**\n * Creates a diff between two objects.\n */\nexport function createDefinitionDiff(current, desired, configuration) {\n const ops = mapValues(configuration, (field, key) => {\n if (!field)\n return [];\n return field.diff(get(current, key), get(desired, key));\n });\n if (Object.values(ops).every((ops) => ops.length === 0)) {\n return undefined;\n }\n return ops;\n}\n/**\n * Applies a diff to an object.\n */\nexport function applyDefinitionDiff(current, diff, configuration) {\n const clonedCurrent = cloneDeep(current);\n for (const [key, ops] of Object.entries(diff)) {\n if (!ops)\n continue;\n const field = configuration[key];\n const currentValue = get(clonedCurrent, key);\n set(clonedCurrent, key, field.apply(currentValue, ops));\n }\n return clonedCurrent;\n}\n//# sourceMappingURL=definition-diff.js.map","import { mapValues } from 'es-toolkit';\nimport { ModelUtils } from '#src/definition/index.js';\nimport { modelEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelUniqueConstraintEntityType, } from '#src/schema/index.js';\nimport { applyDefinitionDiff, createDefinitionDiff, createDefinitionDiffConfig, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, } from '#src/utils/definition-diff/definition-diff.js';\n/**\n * Computes a unique key for a unique constraint by sorting its field refs.\n *\n * @param constraint - Unique constraint input.\n * @returns A key string.\n */\nfunction getUniqueConstraintKey(constraint) {\n const fields = constraint.fields.map((f) => f.fieldRef).sort();\n return fields.join('|');\n}\nexport const modelMergerDefinitionDiffConfig = createDefinitionDiffConfig({\n 'model.fields': new DefinitionDiffKeyedArrayField('fields', (f) => f.name),\n 'model.relations': new DefinitionDiffKeyedArrayField('relations', (r) => r.name),\n 'model.uniqueConstraints': new DefinitionDiffKeyedArrayField('unique constraints', (c) => getUniqueConstraintKey(c)),\n 'model.primaryKeyFieldRefs': new DefinitionDiffReplacementField('primary key fields'),\n 'graphql.objectType.enabled': new DefinitionDiffReplacementField('GraphQL object type enabled'),\n 'graphql.objectType.fields': new DefinitionDiffArrayIncludesField('GraphQL object type fields'),\n 'graphql.objectType.localRelations': new DefinitionDiffArrayIncludesField('GraphQL object type local relations'),\n 'graphql.objectType.foreignRelations': new DefinitionDiffArrayIncludesField('GraphQL object type foreign relations'),\n});\n/**\n * Serializes a model merger model input such that all IDs are replaced with\n * names.\n *\n * @param input - The model merger model input.\n * @param definitionContainer - The definition container.\n * @returns The serialized model merger model input.\n */\nfunction serializeModelMergerModelInput(input, definitionContainer, siblingModels) {\n const siblingModelFieldIdMap = new Map([\n ...input.model.fields.map((f) => [f.id, f.name]),\n ...siblingModels.flatMap((m) => m.model.fields.map((f) => [f.id, f.name])),\n ]);\n const siblingModelRelationIdMap = new Map([\n ...(input.model.relations ?? []).map((r) => [r.id, r.name]),\n ...siblingModels.flatMap((m) => (m.model.relations ?? []).map((r) => [r.id, r.name])),\n ...(input.model.relations ?? []).map((r) => [r.foreignId, r.foreignRelationName]),\n ...siblingModels.flatMap((m) => (m.model.relations ?? []).map((r) => [r.foreignId, r.foreignRelationName])),\n ]);\n const fieldNameFromId = (id) => siblingModelFieldIdMap.get(id) ?? definitionContainer.nameFromId(id);\n const relationNameFromId = (id) => siblingModelRelationIdMap.get(id) ?? definitionContainer.nameFromId(id);\n return {\n ...input,\n model: {\n ...input.model,\n relations: input.model.relations?.map((r) => ({\n ...r,\n references: r.references.map((reference) => ({\n ...reference,\n localRef: fieldNameFromId(reference.localRef),\n foreignRef: fieldNameFromId(reference.foreignRef),\n })),\n })),\n uniqueConstraints: input.model.uniqueConstraints?.map((c) => ({\n ...c,\n fields: c.fields.map((f) => ({\n ...f,\n fieldRef: fieldNameFromId(f.fieldRef),\n })),\n })),\n primaryKeyFieldRefs: input.model.primaryKeyFieldRefs.map(fieldNameFromId),\n },\n graphql: {\n ...input.graphql,\n objectType: {\n ...input.graphql?.objectType,\n fields: input.graphql?.objectType?.fields.map(fieldNameFromId) ?? [],\n localRelations: input.graphql?.objectType?.localRelations?.map(relationNameFromId),\n foreignRelations: input.graphql?.objectType?.foreignRelations?.map(relationNameFromId),\n },\n },\n };\n}\n/**\n * Attaches IDs to the model merger model input.\n *\n * @param input - The model merger model input.\n * @returns The model merger model input with IDs attached.\n */\nfunction attachIdsToModelMergerModelInput(input) {\n return {\n ...input,\n model: {\n ...input.model,\n fields: input.model.fields.map((f) => ({\n ...f,\n id: f.id ?? modelScalarFieldEntityType.generateNewId(),\n })),\n relations: input.model.relations?.map((r) => ({\n ...r,\n id: r.id ?? modelLocalRelationEntityType.generateNewId(),\n foreignId: r.foreignId ?? modelForeignRelationEntityType.generateNewId(),\n })),\n uniqueConstraints: input.model.uniqueConstraints?.map((c) => ({\n ...c,\n id: c.id ?? modelUniqueConstraintEntityType.generateNewId(),\n })),\n },\n };\n}\n/**\n * Deserializes a model merger model input converting all names to IDs.\n *\n * @param input - The model merger model input.\n * @param resolveForeignFieldRef - A function that resolves the foreign field ref.\n * @returns The deserialized model merger model input.\n */\nfunction deserializeModelMergerModelInput(input, resolveForeignFieldRef, resolveForeignRelationRef) {\n const inputWithIds = attachIdsToModelMergerModelInput(input);\n const resolveLocalFieldName = (name) => {\n const field = inputWithIds.model.fields.find((f) => f.name === name);\n if (!field) {\n throw new Error(`Field ${name} not found`);\n }\n return field.id;\n };\n const resolveLocalRelationName = (name) => {\n const relation = inputWithIds.model.relations?.find((r) => r.name === name);\n if (!relation) {\n throw new Error(`Relation ${name} not found`);\n }\n return relation.id;\n };\n return {\n ...inputWithIds,\n model: {\n ...inputWithIds.model,\n relations: inputWithIds.model.relations?.map((relation) => ({\n ...relation,\n references: relation.references.map((reference) => ({\n ...reference,\n localRef: resolveLocalFieldName(reference.localRef),\n foreignRef: resolveForeignFieldRef(relation.modelRef, reference.foreignRef),\n })),\n })),\n uniqueConstraints: inputWithIds.model.uniqueConstraints?.map((constraint) => ({\n ...constraint,\n fields: constraint.fields.map((field) => ({\n ...field,\n fieldRef: resolveLocalFieldName(field.fieldRef),\n })),\n })),\n primaryKeyFieldRefs: inputWithIds.model.primaryKeyFieldRefs.map((fieldRef) => resolveLocalFieldName(fieldRef)),\n },\n graphql: {\n ...inputWithIds.graphql,\n objectType: {\n ...inputWithIds.graphql?.objectType,\n fields: inputWithIds.graphql?.objectType?.fields.map((fieldRef) => resolveLocalFieldName(fieldRef)) ?? [],\n localRelations: inputWithIds.graphql?.objectType?.localRelations?.map((relationRef) => resolveLocalRelationName(relationRef)) ?? [],\n foreignRelations: inputWithIds.graphql?.objectType?.foreignRelations?.map((relationRef) => resolveForeignRelationRef(relationRef)) ?? [],\n },\n },\n };\n}\n/**\n * Creates a new blank model config input from a name and feature ref.\n *\n * @param name - The name of the model.\n * @param featureRef - The feature ref of the model.\n * @returns The new model config input.\n */\nfunction createNewModelConfigInput(name, featureRef) {\n return {\n id: modelEntityType.generateNewId(),\n name,\n featureRef,\n model: {\n fields: [],\n primaryKeyFieldRefs: [],\n },\n };\n}\n/**\n * Diff the model definition.\n *\n * @param current - The current model definition or a new model to be created.\n * @param desired - The desired model definition.\n * @param definitionContainer - Project definition container.\n * @param options - Diff options.\n * @returns A diff output or undefined if there are no differences.\n */\nexport function createModelMergerResult(current, desired, definitionContainer, { siblingModels = [] } = {}) {\n const currentModel = current ?? createNewModelConfigInput(desired.name, desired.featureRef);\n // resolves all the names of the current model config input\n const resolvedCurrent = serializeModelMergerModelInput(currentModel, definitionContainer, siblingModels);\n const diff = createDefinitionDiff(resolvedCurrent, desired, modelMergerDefinitionDiffConfig);\n if (!diff) {\n return undefined;\n }\n return {\n isNewModel: !current,\n id: currentModel.id,\n name: currentModel.name,\n featureRef: currentModel.featureRef,\n changes: diff,\n };\n}\n/**\n * Creates a model merger result for a set of models.\n *\n * @param current - A map of model IDs\n * @param desired - The desired model definition.\n * @param definitionContainer - Project definition container.\n * @param options - Diff options.\n * @returns A model merger result for a set of models.\n */\nexport function createModelMergerResults(current, desired, definitionContainer, { siblingModels = [] } = {}) {\n return mapValues(desired, (desired, key) => createModelMergerResult(current[key] && modelEntityType.isId(current[key])\n ? ModelUtils.byIdOrThrow(definitionContainer.definition, current[key])\n : undefined, desired, definitionContainer, {\n siblingModels,\n }));\n}\nexport function applyModelMergerDiff(model, diff, definitionContainer, siblingModels = []) {\n const resolvedCurrent = serializeModelMergerModelInput(model, definitionContainer, siblingModels);\n const patchedCurrent = applyDefinitionDiff(resolvedCurrent, diff, modelMergerDefinitionDiffConfig);\n return {\n ...model,\n ...deserializeModelMergerModelInput(patchedCurrent, (modelId, fieldName) => {\n const siblingModel = siblingModels.find((m) => m.id === modelId);\n if (siblingModel) {\n const field = siblingModel.model.fields.find((f) => f.name === fieldName);\n if (!field) {\n throw new Error(`Field ${fieldName} not found in sibling model ${modelId}`);\n }\n return field.id;\n }\n const model = ModelUtils.byIdOrThrow(definitionContainer.definition, modelId);\n const field = model.model.fields.find((f) => f.name === fieldName);\n if (!field) {\n throw new Error(`Field ${fieldName} not found in model ${model.name}`);\n }\n return field.id;\n }, (relationName) => {\n // Search sibling model first\n let relationId;\n for (const siblingModel of siblingModels) {\n const relation = siblingModel.model.relations?.find((r) => r.foreignRelationName === relationName);\n if (relation) {\n relationId = relation.foreignId;\n break;\n }\n }\n if (relationId) {\n return relationId;\n }\n const relations = ModelUtils.getRelationsToModel(definitionContainer.definition, model.id);\n const relation = relations.find((r) => r.relation.foreignRelationName === relationName &&\n r.relation.modelRef === model.id);\n if (!relation) {\n throw new Error(`Relation ${relationName} not found in model ${model.name}`);\n }\n return relation.relation.foreignId;\n }),\n };\n}\nexport function applyModelMergerResultInPlace(draftConfig, result, definitionContainer, { siblingModels = [] } = {}) {\n const model = result.isNewModel\n ? createNewModelConfigInput(result.name, result.featureRef)\n : ModelUtils.byIdOrThrow(definitionContainer.definition, result.id);\n const newModel = applyModelMergerDiff(model, result.changes, definitionContainer, siblingModels);\n if (result.isNewModel) {\n draftConfig.models.push(newModel);\n }\n else {\n const index = draftConfig.models.findIndex((m) => m.id === result.id);\n if (index === -1) {\n throw new Error(`Model ${result.id} not found`);\n }\n draftConfig.models[index] = newModel;\n }\n return newModel.id;\n}\nexport function createAndApplyModelMergerResults(draftConfig, current, desired, definitionContainer, { siblingModels = [] } = {}) {\n const results = createModelMergerResults(current, desired, definitionContainer, { siblingModels });\n return mapValues(results, (result, key) => result\n ? applyModelMergerResultInPlace(draftConfig, result, definitionContainer, { siblingModels })\n : desired[key].name);\n}\n//# sourceMappingURL=model-merger.js.map"],"names":["isPrimitive","value","isTypedArray","x","cloneDeepWithImpl","valueToClone","keyToClone","objectToClone","stack","cloneValue","cloned","result","i","key","copyProperties","target","source","keys","getSymbols","descriptor","cloneDeep","obj","mapValues","object","getNewValue","merge","sourceKeys","sourceValue","targetValue","isPlainObject","omit","toMerged","random","bytes","customRandom","alphabet","defaultSize","getRandom","mask","step","size","id","j","customAlphabet","NUMBERS","LOWERCASE","UPPERCASE","customNanoid","randomKey","length","z","importShared","KEBAB_CASE_REGEX","PASCAL_CASE_REGEX","CAMEL_CASE_REGEX","CONSTANT_CASE_REGEX","CASE_VALIDATORS","createInitializedPluginSpec","spec","implementation","createPluginSpec","name","options","platforms","defaultInitializer","DefinitionEntityType","prefix","parentType","createEntityType","zodPluginSymbol","ZodType","ZodPluginWrapper","input","pluginContext","type","pluginStore","zPluginWrapper","isDeepKey","toKey","toPath","deepKey","index","quoteChar","bracket","char","get","path","defaultValue","getWithPath","current","isObject","isMatch","isArrayMatch","isMapMatch","isSetMatch","eq","countedIndex","sourceItem","targetItem","IS_UNSIGNED_INTEGER","isIndex","set","resolvedPath","nextKey","lastKey","zRefId","isPromise","createDefinitionEntityNameResolver","entityNameResolver","ZodRefBuilder","pathPrefix","context","data","expectedEntityType","pathContext","reference","refPathWithoutPrefix","refValue","fullPath","entity","idPath","nameResolver","entityBase","zodRefSymbol","ZodRef","zodRefContext","builder","parseOutput","transformParseOutput","output","zRefBuilder","schema","zRef","zEnt","ZodRefWrapper","refContext","definitionSchema","creator","featureEntityType","featureNameSchema","createFeatureSchema","part","createFeaturesSchema","ctx","modelEntityType","modelScalarFieldEntityType","modelLocalRelationEntityType","modelForeignRelationEntityType","modelUniqueConstraintEntityType","modelTransformerEntityType","modelEnumEntityType","modelEnumValueEntityType","getRootFeatures","projectDefinition","f","getFeatureById","featureId","getFeatureByIdOrThrow","feature","getFeatureChildren","getFeatureName","featureConfig","getFeatureNameById","getFeaturePathById","validateFeatureName","ensureFeatureByNameRecursively","nameOrId","nameParts","lastName","parentRef","newFeature","getFeatureByName","getFeatureIdByNameOrDefault","FeatureUtils","byId","m","byIdOrThrow","model","getScalarFieldById","field","getRelationsToModel","modelId","getModelsForFeature","getModelIdFields","hasService","validateModelName","getModelIdByNameOrDefault","ModelUtils","DefinitionDiffField","DefinitionDiffKeyedArrayField","getKey","desired","currentValue","desiredValue","ops","allowRemove","ignoreFields","currentByKey","item","desiredByKey","desiredItem","currentItem","diff","patch","items","isNew","DefinitionDiffReplacementField","DefinitionDiffArrayIncludesField","currentSet","createDefinitionDiffConfig","config","createDefinitionDiff","configuration","applyDefinitionDiff","clonedCurrent","getUniqueConstraintKey","constraint","modelMergerDefinitionDiffConfig","r","c","serializeModelMergerModelInput","definitionContainer","siblingModels","siblingModelFieldIdMap","siblingModelRelationIdMap","fieldNameFromId","relationNameFromId","attachIdsToModelMergerModelInput","deserializeModelMergerModelInput","resolveForeignFieldRef","resolveForeignRelationRef","inputWithIds","resolveLocalFieldName","resolveLocalRelationName","relation","fieldRef","relationRef","createNewModelConfigInput","featureRef","createModelMergerResult","currentModel","resolvedCurrent","createModelMergerResults","applyModelMergerDiff","patchedCurrent","fieldName","siblingModel","relationName","relationId","applyModelMergerResultInPlace","draftConfig","newModel","createAndApplyModelMergerResults","results"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,15,16,17,18,19,20,21,22]}
@@ -1,2 +1,2 @@
1
- import{i as M}from"./_virtual___federation_fn_import-DTGz4eK3.js";function s(t){var a,r,h="";if(typeof t=="string"||typeof t=="number")h+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(a=0;a<n;a++)t[a]&&(r=s(t[a]))&&(h&&(h+=" "),h+=r)}else for(r in t)t[r]&&(h&&(h+=" "),h+=r);return h}function O(){for(var t,a,r=0,h="",n=arguments.length;r<n;r++)(t=arguments[r])&&(a=s(t))&&(h&&(h+=" "),h+=a);return h}const u=await M("react");var p={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},z=u.createContext&&u.createContext(p),H=["attr","size","title"];function w(t,a){if(t==null)return{};var r=x(t,a),h,n;if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);for(n=0;n<e.length;n++)h=e[n],!(a.indexOf(h)>=0)&&Object.prototype.propertyIsEnumerable.call(t,h)&&(r[h]=t[h])}return r}function x(t,a){if(t==null)return{};var r={};for(var h in t)if(Object.prototype.hasOwnProperty.call(t,h)){if(a.indexOf(h)>=0)continue;r[h]=t[h]}return r}function d(){return d=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var h in r)Object.prototype.hasOwnProperty.call(r,h)&&(t[h]=r[h])}return t},d.apply(this,arguments)}function f(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(t);a&&(h=h.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,h)}return r}function o(t){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?f(Object(r),!0).forEach(function(h){V(t,h,r[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(h){Object.defineProperty(t,h,Object.getOwnPropertyDescriptor(r,h))})}return t}function V(t,a,r){return a=B(a),a in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}function B(t){var a=y(t,"string");return typeof a=="symbol"?a:a+""}function y(t,a){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var h=r.call(t,a);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(t)}const c=await M("react");function g(t){return t&&t.map((a,r)=>c.createElement(a.tag,o({key:r},a.attr),g(a.child)))}function l(t){return a=>c.createElement(b,d({attr:o({},t.attr)},a),g(t.child))}function b(t){var a=r=>{var{attr:h,size:n,title:e}=t,m=w(t,H),v=n||r.size||"1em",i;return r.className&&(i=r.className),t.className&&(i=(i?i+" ":"")+t.className),c.createElement("svg",d({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,h,m,{className:i,style:o(o({color:t.color||r.color},r.style),t.style),height:v,width:v,xmlns:"http://www.w3.org/2000/svg"}),e&&c.createElement("title",null,e),t.children)};return z!==void 0?c.createElement(z.Consumer,null,r=>a(r)):a(p)}function C(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zM9 14H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2zm-8 4H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2z"},child:[]}]})(t)}function S(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"},child:[]}]})(t)}function j(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(t)}function P(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(t)}function E(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5z"},child:[]}]})(t)}function A(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"},child:[]}]})(t)}function D(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5-4-4V4h8v3.5l-4 4z"},child:[]}]})(t)}function N(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"},child:[]}]})(t)}function _(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"},child:[]},{tag:"path",attr:{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},child:[]}]})(t)}function I(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]}]})(t)}function K(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(t)}function R(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 10h-8.35A5.99 5.99 0 0 0 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6a5.99 5.99 0 0 0 5.65-4H13l2 2 2-2 2 2 4-4.04L21 10zM7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"},child:[]}]})(t)}function W(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(t)}function F(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"},child:[]}]})(t)}function G(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"},child:[]}]})(t)}function T(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zM6 13c0-1.65.67-3.15 1.76-4.24L6.34 7.34A8.014 8.014 0 0 0 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"},child:[]}]})(t)}function q(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z"},child:[]}]})(t)}function J(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"},child:[]}]})(t)}function U(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"},child:[]}]})(t)}function $(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"},child:[]}]})(t)}function k(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"},child:[]}]})(t)}function Q(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"},child:[]}]})(t)}function X(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"},child:[]}]})(t)}function Y(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"},child:[]}]})(t)}function Z(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"},child:[]}]})(t)}function t1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"},child:[]}]})(t)}function a1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"},child:[]}]})(t)}function r1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"},child:[]}]})(t)}function h1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"},child:[]}]})(t)}function l1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"},child:[]}]})(t)}function n1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"},child:[]}]})(t)}function e1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 12c0 2.21.91 4.2 2.36 5.64L3 20h6v-6l-2.24 2.24A6.003 6.003 0 0 1 5 12a5.99 5.99 0 0 1 4-5.65V4.26C5.55 5.15 3 8.27 3 12zm8 5h2v-2h-2v2zM21 4h-6v6l2.24-2.24A6.003 6.003 0 0 1 19 12a5.99 5.99 0 0 1-4 5.65v2.09c3.45-.89 6-4.01 6-7.74 0-2.21-.91-4.2-2.36-5.64L21 4zm-10 9h2V7h-2v6z"},child:[]}]})(t)}function i1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0 0 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 0 0 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"},child:[]}]})(t)}function c1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m13.783 15.172 2.121-2.121 5.996 5.996-2.121 2.121zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49a3 3 0 0 0-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21z"},child:[]}]})(t)}function d1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"},child:[]}]})(t)}function o1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"},child:[]}]})(t)}function v1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.488.488 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1a.566.566 0 0 0-.18-.03c-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"},child:[]}]})(t)}function u1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"},child:[]}]})(t)}function z1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm2 16H5V5h11.17L19 7.83V19zm-7-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zM6 6h9v4H6z"},child:[]}]})(t)}function f1(t){return t!=null}export{c1 as A,l1 as B,t1 as C,Z as D,Y as E,n1 as F,l as G,a1 as H,I,C as J,_ as K,$ as L,D as M,J as N,u1 as O,z1 as P,i1 as a,X as b,O as c,e1 as d,K as e,S as f,U as g,Q as h,q as i,v1 as j,A as k,h1 as l,W as m,f1 as n,F as o,j as p,k as q,N as r,r1 as s,R as t,G as u,d1 as v,o1 as w,E as x,P as y,T as z};
2
- //# sourceMappingURL=not-empty-CxPFIhu9.js.map
1
+ import{i as M}from"./_virtual___federation_fn_import-BawTfoQI.js";function s(t){var a,r,h="";if(typeof t=="string"||typeof t=="number")h+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(a=0;a<n;a++)t[a]&&(r=s(t[a]))&&(h&&(h+=" "),h+=r)}else for(r in t)t[r]&&(h&&(h+=" "),h+=r);return h}function O(){for(var t,a,r=0,h="",n=arguments.length;r<n;r++)(t=arguments[r])&&(a=s(t))&&(h&&(h+=" "),h+=a);return h}const u=await M("react");var p={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},z=u.createContext&&u.createContext(p),H=["attr","size","title"];function w(t,a){if(t==null)return{};var r=x(t,a),h,n;if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);for(n=0;n<e.length;n++)h=e[n],!(a.indexOf(h)>=0)&&Object.prototype.propertyIsEnumerable.call(t,h)&&(r[h]=t[h])}return r}function x(t,a){if(t==null)return{};var r={};for(var h in t)if(Object.prototype.hasOwnProperty.call(t,h)){if(a.indexOf(h)>=0)continue;r[h]=t[h]}return r}function d(){return d=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var h in r)Object.prototype.hasOwnProperty.call(r,h)&&(t[h]=r[h])}return t},d.apply(this,arguments)}function f(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(t);a&&(h=h.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,h)}return r}function o(t){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?f(Object(r),!0).forEach(function(h){V(t,h,r[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(h){Object.defineProperty(t,h,Object.getOwnPropertyDescriptor(r,h))})}return t}function V(t,a,r){return a=B(a),a in t?Object.defineProperty(t,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[a]=r,t}function B(t){var a=y(t,"string");return typeof a=="symbol"?a:a+""}function y(t,a){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var h=r.call(t,a);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(t)}const c=await M("react");function g(t){return t&&t.map((a,r)=>c.createElement(a.tag,o({key:r},a.attr),g(a.child)))}function l(t){return a=>c.createElement(b,d({attr:o({},t.attr)},a),g(t.child))}function b(t){var a=r=>{var{attr:h,size:n,title:e}=t,m=w(t,H),v=n||r.size||"1em",i;return r.className&&(i=r.className),t.className&&(i=(i?i+" ":"")+t.className),c.createElement("svg",d({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,h,m,{className:i,style:o(o({color:t.color||r.color},r.style),t.style),height:v,width:v,xmlns:"http://www.w3.org/2000/svg"}),e&&c.createElement("title",null,e),t.children)};return z!==void 0?c.createElement(z.Consumer,null,r=>a(r)):a(p)}function C(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zM9 14H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2zm-8 4H7v-2h2v2zm4 0h-2v-2h2v2zm4 0h-2v-2h2v2z"},child:[]}]})(t)}function S(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"},child:[]}]})(t)}function j(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM8 9h8v10H8V9zm7.5-5-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(t)}function P(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(t)}function E(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5z"},child:[]}]})(t)}function A(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"},child:[]}]})(t)}function D(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5-4-4V4h8v3.5l-4 4z"},child:[]}]})(t)}function N(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"},child:[]}]})(t)}function _(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"},child:[]},{tag:"path",attr:{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},child:[]}]})(t)}function I(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]}]})(t)}function K(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(t)}function R(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 10h-8.35A5.99 5.99 0 0 0 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6a5.99 5.99 0 0 0 5.65-4H13l2 2 2-2 2 2 4-4.04L21 10zM7 15c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"},child:[]}]})(t)}function W(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(t)}function F(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"},child:[]}]})(t)}function G(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"},child:[]}]})(t)}function T(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zM6 13c0-1.65.67-3.15 1.76-4.24L6.34 7.34A8.014 8.014 0 0 0 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"},child:[]}]})(t)}function q(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z"},child:[]}]})(t)}function J(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"},child:[]}]})(t)}function U(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"},child:[]}]})(t)}function $(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2z"},child:[]}]})(t)}function k(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"},child:[]}]})(t)}function Q(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"},child:[]}]})(t)}function X(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"},child:[]}]})(t)}function Y(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"},child:[]}]})(t)}function Z(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"},child:[]}]})(t)}function t1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"},child:[]}]})(t)}function a1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"},child:[]}]})(t)}function r1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"},child:[]}]})(t)}function h1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"},child:[]}]})(t)}function l1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"},child:[]}]})(t)}function n1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"},child:[]}]})(t)}function e1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 12c0 2.21.91 4.2 2.36 5.64L3 20h6v-6l-2.24 2.24A6.003 6.003 0 0 1 5 12a5.99 5.99 0 0 1 4-5.65V4.26C5.55 5.15 3 8.27 3 12zm8 5h2v-2h-2v2zM21 4h-6v6l2.24-2.24A6.003 6.003 0 0 1 19 12a5.99 5.99 0 0 1-4 5.65v2.09c3.45-.89 6-4.01 6-7.74 0-2.21-.91-4.2-2.36-5.64L21 4zm-10 9h2V7h-2v6z"},child:[]}]})(t)}function i1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0 0 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 0 0 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"},child:[]}]})(t)}function c1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m13.783 15.172 2.121-2.121 5.996 5.996-2.121 2.121zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49a3 3 0 0 0-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21z"},child:[]}]})(t)}function d1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"},child:[]}]})(t)}function o1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"},child:[]}]})(t)}function v1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.488.488 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1a.566.566 0 0 0-.18-.03c-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"},child:[]}]})(t)}function u1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M11 15h2v2h-2v-2zm0-8h2v6h-2V7zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"},child:[]}]})(t)}function z1(t){return l({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm2 16H5V5h11.17L19 7.83V19zm-7-7c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zM6 6h9v4H6z"},child:[]}]})(t)}function f1(t){return t!=null}export{c1 as A,l1 as B,t1 as C,Z as D,Y as E,n1 as F,l as G,a1 as H,I,C as J,_ as K,$ as L,D as M,J as N,u1 as O,z1 as P,i1 as a,X as b,O as c,e1 as d,K as e,S as f,U as g,Q as h,q as i,v1 as j,A as k,h1 as l,W as m,f1 as n,F as o,j as p,k as q,N as r,r1 as s,R as t,G as u,d1 as v,o1 as w,E as x,P as y,T as z};
2
+ //# sourceMappingURL=not-empty-CznDVwM8.js.map