@atom.io/template-preact-svg-editor 0.0.25 → 0.0.27

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.
@@ -1,13 +1,13 @@
1
1
 
2
- > @atom.io/template-preact-svg-editor@0.0.25 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
2
+ > @atom.io/template-preact-svg-editor@0.0.27 build /home/runner/work/wayforge/wayforge/templates/preact-svg-editor
3
3
  > vite build
4
4
 
5
- vite v7.2.7 building client environment for production...
5
+ vite v7.3.0 building client environment for production...
6
6
  transforming...
7
7
  ✓ 15 modules transformed.
8
8
  rendering chunks...
9
9
  computing gzip size...
10
10
  dist/index.html  0.52 kB │ gzip: 0.33 kB
11
11
  dist/assets/index-jy4_OpZh.css  1.60 kB │ gzip: 0.72 kB
12
- dist/assets/index-B8oB2XHU.js 73.33 kB │ gzip: 23.61 kB
13
- ✓ built in 855ms
12
+ dist/assets/index-O11zw35C.js 73.33 kB │ gzip: 23.61 kB
13
+ ✓ built in 725ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atom.io/template-preact-svg-editor
2
2
 
3
+ ## 0.0.27
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [8742047]
8
+ - Updated dependencies [8742047]
9
+ - Updated dependencies [8742047]
10
+ - atom.io@0.46.6
11
+
12
+ ## 0.0.26
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [9414e56]
17
+ - atom.io@0.46.5
18
+
3
19
  ## 0.0.25
4
20
 
5
21
  ### Patch Changes
@@ -11,4 +11,4 @@ ${a.trace}`:`No previous disposal trace for ${r} was found.`),n}const l=T(t),c=s
11
11
  ${l} was most recently disposed
12
12
  ${a.trace}`:`No previous disposal trace for ${l} was found.`),n}const u=e.moleculeGraph.getRelationEntries({downstreamMoleculeKey:i.stringKey}).filter(([,{source:a}])=>a!==r).map(([a])=>te(a));o&&s.moleculeGraph.delete(r),s.moleculeGraph.set({upstreamMoleculeKey:c.stringKey,downstreamMoleculeKey:i.stringKey},{source:c.stringKey});const f={type:"molecule_transfer",key:i.key,exclusive:!!o,from:u,to:[c.key],timestamp:Date.now()};return x(s)&&s.transactionMeta.phase==="building"&&s.transactionMeta.update.subEvents.push(f),n}function io(e,t,n){switch(n){case"newValue":fn(e,t);break;case"oldValue":Ee(e,t.token);break}}function lo(e,t,n){switch(n){case"newValue":Ee(e,t.token);break;case"oldValue":fn(e,t),t.subType==="atom"&&e.valueMap.set(t.token.key,t.value);break}}function fn(e,t){const{token:n}=t;t.subType==="writable"&&t.value?L(e,n,t.value):j(e,n)}function ao(e,t,n){switch(n){case"newValue":un(e,t.provenance,t.key);break;case"oldValue":lt(e,t.key);break}}function co(e,t,n){switch(n){case"newValue":lt(e,t.key);break;case"oldValue":un(e,t.provenance.map(te),t.key);for(const[o,r]of t.values){const s=e.families.get(o);if(s){j(e,s,t.key);const i=`${o}(${T(t.key)})`;e.valueMap.set(i,r)}}break}}function uo(e,t,n){switch(n){case"newValue":for(const o of t.to)vt(e,o,t.key,t.exclusive?"exclusive":void 0);break;case"oldValue":{let o="exclusive";for(const r of t.from)vt(e,r,t.key,o),o=void 0}break}}function _n(e,t,n){const o=t.subEvents;for(const r of o)switch(r.type){case"atom_update":ro(e,r);break;case"state_creation":io(e,r,n);break;case"state_disposal":lo(e,r,n);break;case"molecule_creation":ao(e,r,n);break;case"molecule_disposal":co(e,r,n);break;case"molecule_transfer":uo(e,r,n);break;case"transaction_outcome":_n(e,r,n);break}}function ie(e){return"epoch"in e.transactionMeta}function x(e){return"phase"in e.transactionMeta}function dn(e,t){return e.transactionMeta.actionContinuities.getRelatedKey(t)}function fo(e,t){return e.transactionMeta.epoch.get(t)}function _o(e,t){const n=dn(e,t);if(n!==void 0)return fo(e,n)}function po(e,t,n){const o=dn(e,t);o!==void 0&&e.transactionMeta.epoch.set(o,n)}function yo(e,t){const n=v(e),{parent:o}=n;n.transactionMeta.phase="applying",n.transactionMeta.update.output=t,o.child=null,o.on.transactionApplying.next(n.transactionMeta);const{subEvents:r}=n.transactionMeta.update;e.logger.info("🛄","transaction",n.transactionMeta.update.token.key,`applying ${r.length} subEvents:`,r),_n(o,n.transactionMeta.update,"newValue"),ie(o)?(po(o,n.transactionMeta.update.token.key,n.transactionMeta.update.epoch),C(e,{key:n.transactionMeta.update.token.key,type:"transaction"})?.subject.next(n.transactionMeta.update),e.logger.info("🛬","transaction",n.transactionMeta.update.token.key,"applied")):x(o)&&o.transactionMeta.update.subEvents.push(n.transactionMeta.update),o.on.transactionApplying.next(null)}function ho(e){return{store:e}}const mo=(e,t,n,o)=>{const r=v(e),s={parent:r,child:null,on:r.on,loggers:r.loggers,logger:r.logger,config:r.config,atoms:new E(r.atoms),atomsThatAreDefault:new Set(r.atomsThatAreDefault),families:new E(r.families),joins:new E(r.joins),operation:{open:!1},readonlySelectors:new E(r.readonlySelectors),timelines:new E(r.timelines),timelineTopics:r.timelineTopics.overlay(),trackers:new Map,transactions:new E(r.transactions),selectorAtoms:r.selectorAtoms.overlay(),selectorGraph:r.selectorGraph.overlay(),writableSelectors:new E(r.writableSelectors),valueMap:new E(r.valueMap),defaults:r.defaults,disposalTraces:e.disposalTraces.copy(),molecules:new E(r.molecules),moleculeGraph:r.moleculeGraph.overlay(),moleculeData:r.moleculeData.overlay(),keyRefsInJoins:r.keyRefsInJoins.overlay(),miscResources:new E(r.miscResources)},i=_o(e,t.key),l={phase:"building",update:{type:"transaction_outcome",token:t,id:o,epoch:i===void 0?NaN:i+1,timestamp:Date.now(),subEvents:[],params:n,output:void 0},toolkit:{get:((...u)=>j(c,...u)),set:((...u)=>{L(c,...u)}),reset:((...u)=>{ut(c,...u)}),run:(u,f=rn())=>cn(c,u,f),find:((...u)=>G(e,...u)),json:u=>he(c,u),dispose:((...u)=>{Ee(c,...u)}),env:()=>ho(c)}},c=Object.assign(s,{transactionMeta:l});return r.child=c,e.logger.info("🛫","transaction",t.key,"building with params:",n),c};function pn(e,t){const{key:n}=t,o=e.transactions.has(n),r={key:n,type:"transaction",run:(i,l)=>{const c=mo(e,Q(r),i,l);try{const{toolkit:u}=c.transactionMeta,f=t.do(u,...i);return yo(c,f),f}catch(u){throw oo(c),e.logger.warn("💥","transaction",n,"caught:",u),u}},install:i=>pn(i,t),subject:new S};v(e).transactions.set(n,r);const s=Q(r);return o||e.on.transactionCreation.next(s),s}var go=class{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;writableSelectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new V({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new V({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new V({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new V({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new eo(100);molecules=new Map;moleculeGraph=new V({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});moleculeData=new V({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});keyRefsInJoins=new V({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...e)=>e.sort().join(":")});miscResources=new Map;on={atomCreation:new S,atomDisposal:new S,selectorCreation:new S,selectorDisposal:new S,timelineCreation:new S,transactionCreation:new S,transactionApplying:new Qn(null),operationClose:new S,moleculeCreation:new S,moleculeDisposal:new S};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0};loggers=[new Po("warn",(e,t,n)=>!no(n))];logger={error:(...e)=>{for(const t of this.loggers)t.error(...e)},info:(...e)=>{for(const t of this.loggers)t.info(...e)},warn:(...e)=>{for(const t of this.loggers)t.warn(...e)}};constructor(e,t=null){if(this.config={...t?.config,...e},t!==null){this.operation={...t?.operation},ie(t)&&(this.transactionMeta={epoch:new Map(t?.transactionMeta.epoch),actionContinuities:new V(t?.transactionMeta.actionContinuities.toJSON())});for(const[,o]of t.families)o.internalRoles?.includes("mutable")||o.internalRoles?.includes("join")||o.install(this);const n=new Set;for(const[,o]of t.atoms)if(!n.has(o.key)&&(o.install(this),o.type==="mutable_atom")){const r=he(t,o),s=Mn(o);n.add(r.key),n.add(s.key)}for(const[,o]of t.readonlySelectors)o.install(this);for(const[,o]of t.writableSelectors)n.has(o.key)||o.install(this);for(const[,o]of t.transactions)o.install(this);for(const[,o]of t.timelines)o.install(this)}}};const F={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new go({name:"IMPLICIT_STORE",lifespan:"ephemeral",isProduction:!0}),globalThis.ATOM_IO_IMPLICIT_STORE}};var bo=class extends Error{constructor(e,t){super(`${B[e.type]} ${T(e.key)} not found in store "${t.config.name}".`)}};function C(e,t){let n,o=e;for(;o!==null;){switch(t.type){case"atom":case"mutable_atom":n=o.atoms.get(t.key);break;case"writable_pure_selector":case"writable_held_selector":n=o.writableSelectors.get(t.key);break;case"readonly_pure_selector":case"readonly_held_selector":n=o.readonlySelectors.get(t.key);break;case"atom_family":case"mutable_atom_family":case"writable_pure_selector_family":case"readonly_pure_selector_family":case"writable_held_selector_family":case"readonly_held_selector_family":n=o.families.get(t.key);break;case"timeline":n=o.timelines.get(t.key);break;case"transaction":n=o.transactions.get(t.key);break}if(n)return n;o=o.child}throw new bo(t,e)}function yn(e,t,n,o){const r=e.disposalTraces.buffer.find(s=>s?.key===T(o));switch(e.logger.error("❌",t.type,t.key,"gets a fallback value because key",o,"is not allocated",r?`This key was previously disposed:
13
13
  ${r.trace}`:"(no previous disposal trace found)"),n.type){case"mutable_atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=new n.class;return e.defaults.set(n.key,s),s.READONLY_VIEW}case"atom_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=n.default,i=s(o);return e.defaults.set(n.key,i),i}case"readonly_pure_selector_family":case"writable_pure_selector_family":case"readonly_held_selector_family":case"writable_held_selector_family":{if(e.defaults.has(n.key))return e.defaults.get(n.key);const s=n.default(o);return e.defaults.set(n.key,s),s}}}function Re(e,t){const{type:n,key:o,catch:r}=t;switch(n){case"readonly_pure_selector":case"writable_pure_selector":{let s;e.logger.info("🧮",n,o,"computing value");try{s=t.getFrom(e),s instanceof Promise&&(s=s.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return P(e,t,i)}throw i}return P(e,t,s)}case"atom":{let s;if(U(t.default))try{s=t.default(),s instanceof Promise&&(s=s.catch(i=>{if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return i}throw i}))}catch(i){if(e.logger.error("💥",n,o,"rejected:",i),r){for(const l of r)if(i instanceof l)return s=P(e,t,i),e.logger.info("✨",t.type,o,"computed default",s),s}throw i}else s=t.default,e.logger.info("✨",t.type,o,"using static default",s);return P(e,t,s)}}}function z(e,t,n){if(e.valueMap.has(t.key))return En(e,t,n);e.logger.info("❔",t.type,t.key,"value not found in cache");const{key:o}=t;switch(t.type){case"readonly_held_selector":case"writable_held_selector":return e.logger.info("🧮",t.type,o,"computing value"),t.getFrom(e);case"writable_pure_selector":case"readonly_pure_selector":case"atom":return Re(e,t);case"mutable_atom":{const r=new t.class;return e.logger.info("✨",t.type,o,"created new instance",r),P(e,t,r)}}}function at(e,t){return C(e,{key:t.family.key,type:`${t.type}_family`})}const kt={atom_family:"atom",molecule_family:"molecule",mutable_atom_family:"mutable_atom",readonly_held_selector_family:"readonly_held_selector",readonly_pure_selector_family:"readonly_pure_selector",writable_held_selector_family:"writable_held_selector",writable_pure_selector_family:"writable_pure_selector"},le=Symbol("MUST_CREATE"),wo=Symbol("DO_NOT_CREATE");function ae(e,t,n,o){const r=T(o),s=t.molecules.get(r);if(!s&&t.config.lifespan==="immortal"){const{type:l,key:c}=n;return t.logger.warn("💣","key",r,"was used to mint a counterfeit token for",l,`"${c}"`),{counterfeit:!0,key:`${c}(${r})`,type:kt[l],family:{key:c,subKey:r}}}let i;if(e===le)t.logger.info("👪",n.type,n.key,"adds member",typeof o=="string"?`\`${o}\``:o),i=n.create(o),s&&t.moleculeData.set(r,n.key);else{const{type:l,key:c}=n;return{key:`${c}(${r})`,type:kt[l],family:{key:c,subKey:r}}}return i}function ct(e,...t){let n,o,r,s,i;if(t.length===1){if(i=t[0],"family"in i){const c=at(e,i);if(r=C(e,c),s=te(i.family.subKey),n=ce(e,c,s),"counterfeit"in i)return{token:i,family:r,subKey:s,isNew:!1};n?i=n:(o=ae(le,e,c,s),i=o)}}else r=C(e,t[0]),s=t[1],n=ce(e,r,s),n?i=n:(o=ae(le,e,r,s),i=o);const l="counterfeit"in i;if(o&&l===!1&&r){let c;switch(i.type){case"readonly_pure_selector":case"readonly_held_selector":c="readable";break;case"atom":case"mutable_atom":case"writable_pure_selector":case"writable_held_selector":c="writable";break}const u={type:"state_creation",subType:c,token:i,timestamp:Date.now()};r.subject.next(u);const f=v(e);if(i.family)if(ie(f))switch(i.type){case"atom":case"mutable_atom":e.on.atomCreation.next(i);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":e.on.selectorCreation.next(i);break}else x(f)&&f.on.transactionApplying.state===null&&f.transactionMeta.update.subEvents.push(u)}return{token:i,family:r,subKey:s,isNew:!!o}}function j(e,...t){const{token:n,family:o,subKey:r}=ct(e,...t);return"counterfeit"in n&&o&&r?yn(e,n,o,r):z(e,C(e,n))}function ce(e,t,n){const o=T(n),r=`${t.key}(${o})`,s=v(e);let i;switch(t.type){case"atom_family":case"mutable_atom_family":i=s.atoms.get(r);break;case"writable_held_selector_family":case"writable_pure_selector_family":i=s.writableSelectors.get(r);break;case"readonly_held_selector_family":case"readonly_pure_selector_family":i=s.readonlySelectors.get(r);break}return i&&Q(i)}function G(e,t,n){const o=C(e,t),r=ce(e,t,n);return r||ae(wo,e,o,n)}function hn(e,t,n){const o=t.key,r="readonly_pure_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=T(f),d={key:o,subKey:a},_=`${o}(${a})`,p=v(e),y={key:_,get:t.get(f)};return t.catch&&(y.catch=t.catch),Rn(p,y,d)},internalRoles:n,subject:l,install:f=>hn(f,t),default:f=>t.get(f)({get:((...a)=>j(e,...a)),find:((...a)=>G(e,...a)),json:a=>he(e,a)})};return e.families.set(o,u),s}function mn(e,t,n){const o={key:t.key,type:"atom_family"},r=e.families.get(t.key);r&&e.config.isProduction===!0&&e.logger.error("❗","atom_family",t.key,`Overwriting an existing ${B[r.type]} "${r.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const s=new S,l={...o,create:c=>{const u=T(c),f={key:t.key,subKey:u},a=`${t.key}(${u})`,d=v(e),_=t.default,p={key:a,default:U(_)?()=>_(c):_};return t.effects&&(p.effects=t.effects(c)),t.catch&&(p.catch=t.catch),je(d,p,f)},default:t.default,subject:s,install:c=>mn(c,t),internalRoles:n};return e.families.set(t.key,l),U(t.default)===!1&&e.defaults.set(t.key,t.default),o}function gn(e,t,n){const o=t.key,r="readonly_held_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=T(f),d={key:o,subKey:a},_=`${o}(${a})`;return Tn(v(e),{key:_,const:t.const(f),get:t.get(f)},d)},internalRoles:n,subject:l,install:f=>gn(f,t),default:t.const};return e.families.set(o,u),s}function bn(e,t,n){const o=t.key,r="writable_held_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=T(f),d={key:o,subKey:a},_=`${o}(${a})`;return xn(v(e),{key:_,const:t.const(f),get:t.get(f),set:t.set(f)},d)},internalRoles:n,subject:l,install:f=>bn(f,t),default:t.const};return e.families.set(o,u),s}function wn(e,t,n){const o=t.key,r="writable_pure_selector_family",s={key:o,type:r},i=e.families.get(o);i&&e.config.isProduction===!0&&e.logger.error("❗",r,o,`Overwriting an existing ${B[i.type]} "${i.key}" in store "${e.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const l=new S,u={...s,create:f=>{const a=T(f),d={key:o,subKey:a},_=`${o}(${a})`,p=v(e),y={key:_,get:t.get(f),set:t.set(f)};return t.catch&&(y.catch=t.catch),Kn(p,y,d)},internalRoles:n,subject:l,install:f=>wn(f,t),default:f=>t.get(f)({get:((...a)=>j(e,...a)),find:((...a)=>G(e,...a)),json:a=>he(e,a)})};return e.families.set(o,u),s}function vo(e,t){const n="set"in t,o="const"in t;return o&&n?bn(e,t,void 0):o?gn(e,t,void 0):n?wn(e,t):hn(e,t)}function Ee(e,...t){let n;if(t.length===1)n=t[0];else{const o=t[0],r=t[1];n=G(e,o,r)}try{C(e,n)}catch{e.logger.error("❌",n.type,n.key,`could not be disposed because it was not found in the store "${e.config.name}".`);return}switch(n.type){case"atom":case"mutable_atom":Pn(e,n);break;case"writable_pure_selector":case"readonly_pure_selector":case"writable_held_selector":case"readonly_held_selector":Ko(e,n);break}}function vn(e,t){if(e.operation.open){const n=performance.now();return e.logger.info("🚫",t.type,t.key,`deferring setState at T-${n} until setState for "${e.operation.token.key}" is done`),n}return e.operation={open:!0,done:new Set,prev:new Map,timestamp:Date.now(),token:t,subEvents:[]},e.logger.info("⭕",t.type,t.key,`operation start in store "${e.config.name}"${x(e)?` ${e.transactionMeta.phase} "${e.transactionMeta.update.token.key}"`:""}`),e}function kn(e){e.operation.open&&e.logger.info("🔴",e.operation.token.type,e.operation.token.key,`operation done in store "${e.config.name}"`),e.operation={open:!1},e.on.operationClose.next(e.operation)}const Sn=(e,t)=>e.operation.open?e.operation.done.has(t):(e.logger.error("🐞","unknown",t,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0),Oe=(e,t)=>{if(!e.operation.open){e.logger.error("🐞","unknown",t,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}e.operation.done.add(t)};function Ze(e,t,n,o,r){const{oldValue:s,newValue:i}=n,l="oldValue"in n,c=Q(t);if(o&&r){t.subject.next({newValue:i});const _={checkpoint:!0,type:"state_creation",subType:"writable",token:c,timestamp:Date.now(),value:i};e.operation.subEvents.push(_),r.subject.next(_);const p=v(e);if(c.family)if(ie(p))switch(c.type){case"atom":case"mutable_atom":e.on.atomCreation.next(c);break;case"writable_pure_selector":case"writable_held_selector":e.on.selectorCreation.next(c);break}else x(p)&&p.on.transactionApplying.state===null&&p.transactionMeta.update.subEvents.push(_);return}const{key:u,subject:f,type:a}=t;let d;if(l?d={oldValue:we(s)?s.READONLY_VIEW:s,newValue:we(i)?i.READONLY_VIEW:i}:d={newValue:we(i)?i.READONLY_VIEW:i},ie(e)){switch(a){case"mutable_atom":e.logger.info("📢",a,u,"is now (",i,") subscribers:",f.subscribers.keys());break;case"atom":case"writable_pure_selector":case"writable_held_selector":e.logger.info("📢",a,u,"went (",s,"->",i,") subscribers:",f.subscribers.keys())}f.next(d)}if(x(e)&&(a==="mutable_atom"||a==="atom")){if(e.on.transactionApplying.state===null){if(we(i))return;const{timestamp:_}=e.operation,p={type:"atom_update",token:c,timestamp:_,update:d};e.transactionMeta.update.subEvents.push(p),e.logger.info("📁","atom",u,"stowed (",s,"->",i,")");return}if(_t(t,"tracker:signal")){const _=u.slice(1),p=e.atoms.get(_);z(e,p,"mut").do(d.newValue)===null&&ft(e,p)}}}const St=Symbol("UNSET"),Xe=(e,t,n)=>{let o,r;if(U(n)){const s=z(e,t,"mut");o=s,r=n(s)}else e.valueMap.has(t.key)?o=En(e,t,"mut"):t.type==="atom"&&!U(t.default)?o=t.default:o=St,r=n;return e.logger.info("⭐","atom",t.key,"setting value",r),r=P(e,t,r),Oe(e,t.key),ft(e,t),o===St?{newValue:r}:{oldValue:o,newValue:r}};function Ie(e,t){switch(t.type){case"mutable_atom":return Xe(e,t,new t.class);case"atom":{let n;return U(t.default)?n=Re(e,t):n=t.default,Xe(e,t,n)}}}function ko(e,t){let n;switch(t.type){case"atom":case"mutable_atom":n=Ie(e,t);break;case"writable_held_selector":{const o=ue(e,t.key);for(const s of o.values())Ze(e,t,Ie(e,s),!1);const r=t.getFrom(e);n={oldValue:r,newValue:r}}break;case"writable_pure_selector":{const o=Re(e,t),r=ue(e,t.key);for(const s of r.values())Ze(e,t,Ie(e,s),!1);n={oldValue:o,newValue:Re(e,t)}}break}return n}function L(e,...t){Ae(et,e,...t)}const Qe=Symbol("RESET");function ut(e,...t){L(e,...t,Qe)}function So(e,t,n){let o,r,s;const{type:i,key:l}=t;switch(t.type){case"writable_pure_selector":o=z(e,t,"mut"),r=wt(n,o),r=P(e,t,r);break;case"writable_held_selector":s=t.const,wt(n,s),o=s,r=s}return e.logger.info("⭐",i,l,"setting to",r),Oe(e,l),t.setSelf(r),{oldValue:o,newValue:r}}const $o=(e,t,n)=>{let o;switch(t.type){case"atom":case"mutable_atom":o=Xe(e,t,n);break;case"writable_pure_selector":case"writable_held_selector":o=So(e,t,n);break}return o},et=Symbol("OWN_OP"),$n=Symbol("JOIN_OP");function Ae(e,t,...n){let o,r,s,i,l,c;n.length===2?(s=n[0],c=n[1],"family"in s&&(i=at(t,s),l=te(s.family.subKey),o=ce(t,i,l),o?s=o:s=r=ae(le,t,i,l))):(i=C(t,n[0]),l=n[1],c=n[2],o=ce(t,i,l),o?s=o:s=r=ae(le,t,i,l));const u=c===Qe?"reset":"set";let f;if(e===et){const _=vn(t,s);if(typeof _=="number"){const p=_,y=t.on.operationClose.subscribe(`waiting to ${u} "${s.key}" at T-${p}`,function(){y(),t.logger.info("🟢",s.type,s.key,"resuming deferred",u,`from T-${p}`),Ae(e,t,s,c)});return}f=_}else f=t;if("counterfeit"in s&&"family"in s){const _=s.family.subKey,p=t.disposalTraces.buffer.find(y=>y?.key===_);t.logger.error("❌",s.type,s.key,"could not be",u,"because key",_,"is not allocated.",p?`this key was previously disposed:${p.trace}`:"(no previous disposal trace found)");return}const a=C(f,s);let d;c===Qe?d=ko(f,a):d=$o(f,a,c),Ze(f,a,d,!!r,i),e===et&&kn(f)}const Cn=(e,t)=>v(e).atoms.has(t),Co=(e,t)=>v(e).writableSelectors.has(t),To=(e,t)=>v(e).readonlySelectors.has(t),Ro=(e,t)=>Cn(e,t)||Co(e,t)||To(e,t);function $t(e,t){return v(e).selectorGraph.getRelationEntries({downstreamSelectorKey:t}).filter(([n,{source:o}])=>o!==t).map(([n,{source:o}])=>o).filter(n=>Ro(e,n))}function ue(e,t,n=new Set){const o=$t(e,t),r=new Map;for(;o.length>0;){const s=o.pop();if(!n.has(s))if(n.add(s),Cn(e,s)){const i=e.atoms.get(s);r.set(i.key,i)}else o.push(...$t(e,s))}return r}function xo(e,t,n,o,r){const s=v(e),{type:i,key:l}=o;if(i==="atom"||i==="mutable_atom")s.selectorAtoms.set({selectorKey:n,atomKey:l}),e.logger.info("🔍",t,n,`discovers root atom "${l}"`);else{const c=ue(e,l,r);e.logger.info("🔍",t,n,`discovers root atoms: [ ${[...c.values()].map(u=>`"${u.key}"`).join(", ")} ]`);for(const{key:u}of c.values())s.selectorAtoms=s.selectorAtoms.set({selectorKey:n,atomKey:u})}r.add(l)}function Pe(e,t,n,o){return{get:(...r)=>{const s=v(e),{token:i,family:l,subKey:c}=ct(e,...r);let u;return"counterfeit"in i&&l&&c?u=yn(e,i,l,c):u=z(e,C(e,i)),e.logger.info("🔌",t,n,`registers dependency ( "${i.key}" =`,u,")"),s.selectorGraph.set({upstreamSelectorKey:i.key,downstreamSelectorKey:n},{source:i.key}),xo(e,t,n,i,o),u},set:((...r)=>{Ae($n,v(e),...r)}),find:((...r)=>G(e,...r)),json:r=>he(e,r)}}function Tn(e,t,n){const o=v(e),r=new S,s=new Set,{key:i,const:l}=t,c="readonly_held_selector";e.logger.info("🔨",c,i,"is being created");const{get:u,find:f,json:a}=Pe(o,c,i,s),_={...t,type:c,subject:r,getFrom:y=>{const w=y.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[m,{source:g}]of w)g!==i&&y.selectorGraph.delete(m,i);return y.selectorAtoms.delete(i),t.get({get:u,find:f,json:a},l),P(y,_,l),e.logger.info("✨",c,i,"=",l),s.clear(),l},install:y=>Tn(y,t,n)};n&&(_.family=n),o.readonlySelectors.set(i,_);const p={key:i,type:c};return n&&(p.family=n),p}function Rn(e,t,n){const o=v(e),r=new S,s=new Set,i=t.key,l="readonly_pure_selector";e.logger.info("🔨",l,i,"is being created");const{get:c,find:u,json:f}=Pe(o,l,i,s),d={...t,type:l,subject:r,getFrom:()=>{const p=v(e),y=p.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[m,{source:g}]of y)g!==i&&p.selectorGraph.delete(m,i);p.selectorAtoms.delete(i);const w=t.get({get:c,find:u,json:f});return e.logger.info("✨",l,i,"=",w),s.clear(),w},install:p=>Rn(p,t,n)};n&&(d.family=n),o.readonlySelectors.set(i,d);const _={key:i,type:l};return n&&(_.family=n),_}function xn(e,t,n){const o=v(e),r=new S,s=new Set,{key:i,const:l}=t,c="writable_held_selector";e.logger.info("🔨",c,i,"is being created");const u=Pe(o,c,i,s),{find:f,get:a,json:d}=u,_={find:f,get:a,json:d},w={...t,type:c,subject:r,getFrom:g=>{const R=g.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[M,{source:I}]of R)I!==i&&g.selectorGraph.delete(M,i);return g.selectorAtoms.delete(i),t.get(_,l),P(g,w,l),e.logger.info("✨",c,i,"=",l),s.clear(),l},setSelf:()=>{t.set(u,l)},install:g=>xn(g,t,n)};n&&(w.family=n),o.writableSelectors.set(i,w);const m={key:i,type:c};return n&&(m.family=n),m}function Kn(e,t,n){const o=v(e),r=new S,s=new Set,i=t.key,l="writable_pure_selector";e.logger.info("🔨",l,i,"is being created");const c=Pe(o,l,i,s),{find:u,get:f,json:a}=c,d={find:u,get:f,json:a},y={...t,type:l,subject:r,getFrom:m=>{const g=m.selectorGraph.getRelationEntries({downstreamSelectorKey:i});for(const[M,{source:I}]of g)I!==i&&m.selectorGraph.delete(M,i);m.selectorAtoms.delete(i);const R=t.get(d);return e.logger.info("✨",l,i,"=",R),s.clear(),R},setSelf:m=>{t.set(c,m)},install:m=>Kn(m,t,n)};n&&(y.family=n),o.writableSelectors.set(i,y);const w={key:i,type:l};return n&&(w.family=n),w}function Ko(e,t){const n=v(e),{key:o,type:r,family:s}=t;if(!s)e.logger.error("❌",r,o,"Standalone selectors cannot be disposed.");else{n.molecules.get(s.subKey)&&n.moleculeData.delete(s.subKey,s.key);let i;switch(t.type){case"writable_held_selector":n.writableSelectors.delete(o),i={key:s.key,type:"writable_held_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"writable_pure_selector":n.writableSelectors.delete(o),i={key:s.key,type:"writable_pure_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_held_selector":n.readonlySelectors.delete(o),i={key:s.key,type:"readonly_held_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break;case"readonly_pure_selector":n.readonlySelectors.delete(o),i={key:s.key,type:"readonly_pure_selector_family"},C(e,i).subject.next({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()});break}n.valueMap.delete(o),n.selectorAtoms.delete(o),n.selectorGraph.delete(o),n.moleculeData.delete(s.key,s.subKey),e.logger.info("🔥",t.type,o,"deleted"),x(n)&&n.transactionMeta.phase==="building"?n.transactionMeta.update.subEvents.push({type:"state_disposal",subType:"selector",token:t,timestamp:Date.now()}):e.on.selectorDisposal.next(t)}}const Mo=(e,t)=>{const n=v(e);return n.operation.open?n.operation.prev.get(t.key):n.valueMap.get(t.key)},Ct=(e,t,n)=>n.subject.subscribe(`${t.type}:${t.key}`,o=>{e.logger.info("📢",t.type,t.key,"root",n.key,"went",o.oldValue,"->",o.newValue);const r=Mo(e,t),s=z(e,t);e.logger.info("✨",t.type,t.key,"went",r,"->",s),t.subject.next({newValue:s,oldValue:r})});function fe(e,t,n,o){function r(a){e.operation.open&&s?.type==="atom"&&_t(s,"tracker:signal")&&"*"+e.operation.token.key===t.key&&"inboundTracker"in o||o(a)}ct(e,t);const s=C(e,t);e.logger.info("👀",s.type,s.key,`Adding subscription "${n}"`);const i=s.type==="writable_pure_selector"||s.type==="readonly_pure_selector",l=new Map;let c=r;if(i){z(e,s);for(const[a,d]of ue(e,s.key))l.set(a,Ct(e,s,d));c=function(d){const _=ue(e,s.key);for(const[p,y]of l)_.get(p)?_.delete(p):(y(),l.delete(p));for(const[p,y]of _)l.set(p,Ct(e,s,y));r(d)}}const u=s.subject.subscribe(n,c);return()=>{e.logger.info("🙈",s.type,s.key,`Removing subscription "${n}"`),u();for(const a of l.values())a()}}const Eo=(e,t,n,o)=>{const r=C(e,t);e.logger.info("👀","timeline",t.key,`Adding subscription "${n}"`);const s=r.subject.subscribe(n,o);return()=>{e.logger.info("🙈","timeline",t.key,`Removing subscription "${n}" from timeline`),s()}};var Oo=class{initializeSignalAtom(e,t){const n=`*${e.key}`;t.atoms.delete(n),t.valueMap.delete(n);const o=e.family?{key:`*${e.family.key}`,subKey:e.family.subKey}:void 0,r=je(t,{key:n,default:null},o,["tracker:signal"]);if(t.parent?.valueMap.has(n)){const s=t.parent.valueMap.get(n);t.valueMap.set(n,s)}return r}unsubscribeFromInnerValue;unsubscribeFromState;captureSignalsFromCore(e,t,n){const o=e.key,r=`tracker-from-core:${n.config.name}:${x(n)?n.transactionMeta.update.token.key:"main"}:${o}`,s=i=>{Ae($n,n,t,i)};this.unsubscribeFromInnerValue=j(n,e).subscribe(r,s),this.unsubscribeFromState=fe(n,e,r,(function(l){l.newValue!==l.oldValue&&(this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=l.newValue.subscribe(r,s))}).bind(this))}supplySignalsToCore(e,t,n){const o=e.key,r=`tracker-to-core:${n.config.name}:${x(n)?n.transactionMeta.update.token.key:"main"}:${o}`;fe(n,t,r,Object.assign(function({newValue:i,oldValue:l}){const c=n.timelineTopics.getRelatedKey(t.key);if(c&&n.timelines.get(c)?.timeTraveling){const u=Eo(n,{key:c,type:"timeline"},r,function(a){u(),L(n,e,d=>(a==="redo"&&i?d.do(i):a==="undo"&&l&&d.undo(l),d))});return}L(n,e,u=>(u.do(i),u))},{inboundTracker:!0}))}mutableAtomToken;latestSignalToken;[Symbol.dispose];constructor(e,t){const n=v(t),o=this.initializeSignalAtom(e,n);this.mutableAtomToken=e,this.latestSignalToken=o,this.captureSignalsFromCore(e,o,n),this.supplySignalsToCore(e,o,n),n.trackers.set(e.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),n.trackers.delete(e.key)}}};const he=(e,t)=>t.family?G(e,C(v(e),{key:`${t.family.key}:JSON`,type:"writable_pure_selector_family"}),te(t.family.subKey)):{type:"writable_pure_selector",key:`${t.key}:JSON`},Mn=e=>{const t={type:"atom",key:`*${e.key}`};return e.family&&(t.family={key:`*${e.family.key}`,subKey:e.family.subKey}),t};function we(e){return typeof e=="object"&&e!==null&&"do"in e&&"undo"in e&&"subscribe"in e&&"READONLY_VIEW"in e&&"toJSON"in e}function P(e,t,n){const{key:o,subject:r,type:s}=t,i=e.valueMap.get(o);if(i instanceof qe&&!i.done){const l=i;return n instanceof Promise?(l.use(n),l):(e.valueMap.set(o,n),n)}if(n instanceof Promise){const l=new qe(n);return e.valueMap.set(o,l),l.then(function(u){if(e.valueMap.get(o)===l){switch(vn(e,t),P(e,t,u),s){case"atom":ft(e,t);break;case"readonly_pure_selector":case"writable_pure_selector":An(e,o);break}kn(e),r.next({newValue:u,oldValue:l})}}).catch(c=>{e.logger.error("💥",t.type,o,"rejected:",c)}),l}return e.logger.info("📝",t.type,t.key,"writing to cache",n),e.valueMap.set(o,n),n}function En(e,t,n){e.logger.info("📖",t.type,t.key,"reading cached value");let o=e.valueMap.get(t.key);if(n==="mut"&&t.type==="mutable_atom"&&x(e)){const r=t,{parent:s}=e;if(e.valueMap.hasOwn(r.key))return o;const i=s.valueMap.get(r.key);e.logger.info("📃","atom",r.key,"copying");const l=i.toJSON(),c=r.class.fromJSON(l);e.valueMap.set(r.key,c),new Oo(r,s),o=c}return o}function On(e,t){const n=e.valueMap.get(t);n instanceof qe||(e.operation.open&&e.operation.prev.set(t,n),e.valueMap.delete(t),e.logger.info("🗑","state",t,"evicted"))}function ft(e,t){const n=v(e),{key:o,type:r}=t,s=n.selectorAtoms.getRelatedKeys(o);if(n.logger.info("🧹",r,o,s?`evicting ${s.size} states downstream:`:"no downstream states",s??"to evict"),s){n.operation.open&&n.logger.info("🧹",r,o,`[ ${[...n.operation.done].join(", ")} ] already done`);for(const i of s)Sn(n,i)||(On(n,i),Oe(n,i))}}function An(e,t){const n=v(e),o=n.selectorGraph.getRelationEntries({upstreamSelectorKey:t}).filter(([r,{source:s}])=>s===t);for(const[r]of o)Sn(n,r)||(On(n,r),Oe(n,r),An(e,r))}function je(e,t,n,o){const r="atom",{key:s}=t;e.logger.info("🔨",r,s,"is being created");const i=v(e),l=i.atoms.get(s);if(l?.type===r&&e.config.isProduction===!0)return e.logger.error("❌","atom",s,"Tried to create atom, but it already exists in the store."),Q(l);const c=new S,u={...t,type:r,install:a=>(a.logger.info("🛠️",r,s,`installing in store "${a.config.name}"`),je(a,t,n)),subject:c};n&&(u.family=n),o&&(u.internalRoles=o),i.atoms.set(s,u);const f=Q(u);if(t.effects){let a=0;const d=[];for(const _ of t.effects){const p=_({resetSelf:()=>{ut(e,f)},setSelf:y=>{L(e,f,y)},onSet:y=>fe(e,f,`effect[${a}]`,y),token:f,store:Zn(e)});p&&d.push(p),++a}u.cleanup=()=>{for(const _ of d)_()}}return e.on.atomCreation.next(f),f}function _t(e,t){return"internalRoles"in e?e.internalRoles.includes(t):!1}function Pn(e,t){const n=v(e),{key:o,family:r}=t,s=C(n,t);if(!r)e.logger.error("❌","atom",o,"Standalone atoms cannot be disposed.");else{s.cleanup?.();const i=e.valueMap.get(s.key),l=C(e,at(e,t)).subject,c={type:"state_disposal",subType:"atom",token:t,value:i,timestamp:Date.now()};l.next(c);const u=x(n);if(n.atoms.delete(o),n.valueMap.delete(o),n.selectorAtoms.delete(o),n.atomsThatAreDefault.delete(o),n.moleculeData.delete(r.key,r.subKey),e.timelineTopics.delete(o),t.type==="mutable_atom"&&(Pn(e,Mn(t)),e.trackers.delete(o)),e.logger.info("🔥","atom",o,"deleted"),u&&n.transactionMeta.phase==="building"){const f=n.transactionMeta.update.subEvents.at(-1),a=f?.type==="molecule_disposal"&&f.values.some(([_])=>_===s.family?.key),d=_t(s,"tracker:signal");!a&&!d&&n.transactionMeta.update.subEvents.push(c)}else e.on.atomDisposal.next(t)}}function Ne(e){return je(F.STORE,e,void 0)}function dt(e){return mn(F.STORE,e)}function xe(...e){return j(F.STORE,...e)}const B={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",user:"👤",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},Ve=(e,t)=>(n,o,r,s,...i)=>{console[e](`${n} ${B[o]} \`${r}\` ${s}`,...i)},Ao={error:Ve("error"),info:Ve("info"),warn:Ve("warn")};var Po=class{logLevel;filter;logger;constructor(e,t,n=Ao){this.logLevel=e,this.filter=t,this.logger=n}error=(...e)=>{if(this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.error(...e):t&&this.logger.error(...t)}};info=(...e)=>{if(this.logLevel==="info"){const t=this.filter?.(...e)??!0;t===!0?this.logger.info(...e):t&&this.logger.info(...t)}};warn=(...e)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const t=this.filter?.(...e)??!0;t===!0?this.logger.warn(...e):t&&this.logger.warn(...t)}}};function jo(e,t){return[e,t].sort().join("")}function No(e){if(typeof e!="string")return null;const[t,n]=e.split("==");if(!n)return null;const o=t.slice(4),[r,s]=n.split("++");return o&&r&&s?[o,r,s]:null}function Tt(...e){ut(F.STORE,...e)}function Do(e){return vo(F.STORE,e)}function O(...e){L(F.STORE,...e)}function Fo(e){return pn(F.STORE,e)}function Io(e,t=rn()){return cn(F.STORE,e,t)}var H,k,Ue,Rt,_e=0,jn=[],$=h,xt=$.__b,Kt=$.__r,Mt=$.diffed,Et=$.__c,Ot=$.unmount,At=$.__;function ne(e,t){$.__h&&$.__h(k,e,_e||t),_e=0;var n=k.__H||(k.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function Nn(e){return _e=1,Vo(Fn,e)}function Vo(e,t,n){var o=ne(H++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):Fn(void 0,t),function(l){var c=o.__N?o.__N[0]:o.__[0],u=o.t(c,l);c!==u&&(o.__N=[u,o.__[1]],o.__c.setState({}))}],o.__c=k,!k.__f)){var r=function(l,c,u){if(!o.__c.__H)return!0;var f=o.__c.__H.__.filter(function(d){return!!d.__c});if(f.every(function(d){return!d.__N}))return!s||s.call(this,l,c,u);var a=o.__c.props!==l;return f.forEach(function(d){if(d.__N){var _=d.__[0];d.__=d.__N,d.__N=void 0,_!==d.__[0]&&(a=!0)}}),s&&s.call(this,l,c,u)||a};k.__f=!0;var s=k.shouldComponentUpdate,i=k.componentWillUpdate;k.componentWillUpdate=function(l,c,u){if(this.__e){var f=s;s=void 0,r(l,c,u),s=f}i&&i.call(this,l,c,u)},k.shouldComponentUpdate=r}return o.__N||o.__}function de(e,t){var n=ne(H++,3);!$.__s&&yt(n.__H,t)&&(n.__=e,n.u=t,k.__H.__h.push(n))}function Uo(e,t){var n=ne(H++,4);!$.__s&&yt(n.__H,t)&&(n.__=e,n.u=t,k.__h.push(n))}function pt(e){return _e=5,Dn(function(){return{current:e}},[])}function Dn(e,t){var n=ne(H++,7);return yt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function tt(e,t){return _e=8,Dn(function(){return e},t)}function Lo(e){var t=k.context[e.__c],n=ne(H++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(k)),t.props.value):e.__}function Ho(){var e=ne(H++,11);if(!e.__){for(var t=k.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function Wo(){for(var e;e=jn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Se),e.__H.__h.forEach(nt),e.__H.__h=[]}catch(t){e.__H.__h=[],$.__e(t,e.__v)}}$.__b=function(e){k=null,xt&&xt(e)},$.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),At&&At(e,t)},$.__r=function(e){Kt&&Kt(e),H=0;var t=(k=e.__c).__H;t&&(Ue===k?(t.__h=[],k.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.forEach(Se),t.__h.forEach(nt),t.__h=[],H=0)),Ue=k},$.diffed=function(e){Mt&&Mt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(jn.push(t)!==1&&Rt===$.requestAnimationFrame||((Rt=$.requestAnimationFrame)||zo)(Wo)),t.__H.__.forEach(function(n){n.u&&(n.__H=n.u),n.u=void 0})),Ue=k=null},$.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Se),n.__h=n.__h.filter(function(o){return!o.__||nt(o)})}catch(o){t.some(function(r){r.__h&&(r.__h=[])}),t=[],$.__e(o,n.__v)}}),Et&&Et(e,t)},$.unmount=function(e){Ot&&Ot(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{Se(o)}catch(r){t=r}}),n.__H=void 0,t&&$.__e(t,n.__v))};var Pt=typeof requestAnimationFrame=="function";function zo(e){var t,n=function(){clearTimeout(o),Pt&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);Pt&&(t=requestAnimationFrame(n))}function Se(e){var t=k,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),k=t}function nt(e){var t=k;e.__c=e.__(),k=t}function yt(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function Fn(e,t){return typeof t=="function"?t(e):t}function Go(e,t){for(var n in t)e[n]=t[n];return e}function jt(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function Bo(e,t){var n=t(),o=Nn({t:{__:n,u:t}}),r=o[0].t,s=o[1];return Uo(function(){r.__=n,r.u=t,Le(r)&&s({t:r})},[e,n,t]),de(function(){return Le(r)&&s({t:r}),e(function(){Le(r)&&s({t:r})})},[e]),n}function Le(e){var t,n,o=e.u,r=e.__;try{var s=o();return!((t=r)===(n=s)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}function Nt(e,t){this.props=e,this.context=t}(Nt.prototype=new D).isPureReactComponent=!0,Nt.prototype.shouldComponentUpdate=function(e,t){return jt(this.props,e)||jt(this.state,t)};var Dt=h.__b;h.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Dt&&Dt(e)};var Jo=h.__e;h.__e=function(e,t,n,o){if(e.then){for(var r,s=t;s=s.__;)if((r=s.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Jo(e,t,n,o)};var Ft=h.unmount;function In(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=Go({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return In(o,t,n)})),e}function Vn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Vn(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function He(){this.__u=0,this.o=null,this.__b=null}function Un(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function ve(){this.i=null,this.l=null}h.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Ft&&Ft(e)},(He.prototype=new D).__c=function(e,t){var n=t.__c,o=this;o.o==null&&(o.o=[]),o.o.push(n);var r=Un(o.__v),s=!1,i=function(){s||(s=!0,n.__R=null,r?r(l):l())};n.__R=i;var l=function(){if(!--o.__u){if(o.state.__a){var c=o.state.__a;o.__v.__k[0]=Vn(c,c.__c.__P,c.__c.__O)}var u;for(o.setState({__a:o.__b=null});u=o.o.pop();)u.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(i,i)},He.prototype.componentWillUnmount=function(){this.o=[]},He.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=In(this.__b,n,o.__O=o.__P)}this.__b=null}var r=t.__a&&Be(K,null,e.fallback);return r&&(r.__u&=-33),[Be(K,null,t.__a?null:e.children),r]};var It=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};(ve.prototype=new D).__a=function(e){var t=this,n=Un(t.__v),o=t.l.get(e);return o[0]++,function(r){var s=function(){t.props.revealOrder?(o.push(r),It(t,e,o)):r()};n?n(s):s()}},ve.prototype.render=function(e){this.i=null,this.l=new Map;var t=Te(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},ve.prototype.componentDidUpdate=ve.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){It(e,n,t)})};var Yo=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,qo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Zo=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Xo=/[A-Z0-9]/g,Qo=typeof document<"u",er=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};D.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(D.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Vt=h.event;function tr(){}function nr(){return this.cancelBubble}function or(){return this.defaultPrevented}h.event=function(e){return Vt&&(e=Vt(e)),e.persist=tr,e.isPropagationStopped=nr,e.isDefaultPrevented=or,e.nativeEvent=e};var rr={enumerable:!1,configurable:!0,get:function(){return this.class}},Ut=h.vnode;h.vnode=function(e){typeof e.type=="string"&&(function(t){var n=t.props,o=t.type,r={},s=o.indexOf("-")===-1;for(var i in n){var l=n[i];if(!(i==="value"&&"defaultValue"in n&&l==null||Qo&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&l===!0?l="":c==="translate"&&l==="no"?l=!1:c[0]==="o"&&c[1]==="n"?c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||er(n.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":Zo.test(i)&&(i=c):c=i="oninput":s&&qo.test(i)?i=i.replace(Xo,"-$&").toLowerCase():l===null&&(l=void 0),c==="oninput"&&r[i=c]&&(i="oninputCapture"),r[i]=l}}o=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=Te(n.children).forEach(function(u){u.props.selected=r.value.indexOf(u.props.value)!=-1})),o=="select"&&r.defaultValue!=null&&(r.value=Te(n.children).forEach(function(u){u.props.selected=r.multiple?r.defaultValue.indexOf(u.props.value)!=-1:r.defaultValue==u.props.value})),n.class&&!n.className?(r.class=n.class,Object.defineProperty(r,"className",rr)):(n.className&&!n.class||n.class&&n.className)&&(r.class=r.className=n.className),t.props=r})(e),e.$$typeof=Yo,Ut&&Ut(e)};var Lt=h.__r;h.__r=function(e){Lt&&Lt(e),e.__c};var Ht=h.diffed;h.diffed=function(e){Ht&&Ht(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value)};const sr=Yn(F.STORE);function ir(e,t){const n=t(null);return de(()=>{O(e,n.current)},[e]),n}function lr(e,...t){let n;if(t.length===2){const o=t[0],r=t[1];n=G(e,o,r)}else n=t[0];return n}function ar(e,t){if(globalThis.env?.NODE_ENV==="development"){const n=pt(!1);de(()=>{let o=n.current;if(o===!1)o=e()??!0,n.current=o;else return()=>{U(o)&&o(),n.current=!1}},t)}else de(e,t)}function ee(...e){const t=Lo(sr),n=lr(t,...e),o=Ho();if(n.type==="mutable_atom"||n.type==="readonly_held_selector"||n.type==="writable_held_selector"){const[,i]=Nn(0),l=pt(j(t,n));return ar(()=>fe(t,n,`use-o:${o}`,({newValue:c})=>{l.current=c,i(u=>u+1)}),[n.key]),l.current}const r=tt(i=>fe(t,n,`use-o:${o}`,i),[n.key]),s=tt(()=>j(t,n),[n.key]);return Bo(r,s)}const $e=Ne({key:"pathKeys",default:[]}),Ke=dt({key:"subpathKeys",default:[]}),me=dt({key:"nodeAtoms",default:null}),pe=dt({key:"edgeAtoms",default:!0}),cr=Do({key:"pathDrawSelectors",get:e=>({get:t})=>t(Ke,e).map((o,r)=>{const s=t(me,o),i=t(pe,o);return s===null?"Z":r===0?`M ${s.x} ${s.y}`:i===!1?`M ${s.x} ${s.y}`:i===!0?`L ${s.x} ${s.y}`:"c"in i?`C ${i.c.x} ${i.c.y} ${i.s.x} ${i.s.y} ${s.x} ${s.y}`:`S ${i.s.x} ${i.s.y} ${s.x} ${s.y}`}).join(" ")});function Y(e,t,n){return Math.max(t,Math.min(n,e))}function Wt({at:e,subpathKey:t,prevSubpathKey:n,node:o}){let r;switch(typeof o){case"undefined":r=ee(me,n);break;default:r=o}return r===null?null:b(K,{children:[b("line",{class:"bezier",x1:r.x,y1:r.y,x2:e.x,y2:e.y,stroke:"#777","stroke-width":1}),b("circle",{class:"bezier",fill:"#777",stroke:"#aaa","stroke-width":1,cx:e.x,cy:e.y,r:2}),b("circle",{class:"bezier-draggable",fill:"transparent",cx:e.x,cy:e.y,r:6,onPointerDown:s=>{s.currentTarget.setPointerCapture(s.pointerId),O(De,{key:t,by:o?"s":"c"})}})]})}function ur({subpathKey:e,nextSubpathKey:t}){const n=ee(me,e),o=ee(pe,e);return n===null?null:b(K,{children:[typeof o=="boolean"?b("rect",{class:"node",x:n.x-3,y:n.y-3,width:6,height:6}):b(K,{children:[b(Wt,{at:o.s,node:n,subpathKey:e,prevSubpathKey:t}),o.c?b(Wt,{at:o.c,subpathKey:e,prevSubpathKey:t}):null,b("circle",{class:"node",cx:n.x,cy:n.y,r:3})]}),b("circle",{class:"node-draggable",fill:"transparent",cx:n.x,cy:n.y,r:10,onPointerDown:r=>{r.currentTarget.setPointerCapture(r.pointerId),O(De,{key:e})}})]})}function fr({pathKey:e}){const t=ee(cr,e);return b("path",{d:`${t} Z`,class:"path",style:{pointerEvents:"none"}})}function _r({pathKey:e}){const t=ee(Ke,e);return b(K,{children:[b(fr,{pathKey:e}),t.toReversed().map((n,o,r)=>b(ur,{subpathKey:n,nextSubpathKey:r[o+1]??r[0]},n))]})}function dr(){const e=ee($e);return b(K,{children:e.map(t=>b(_r,{pathKey:t},t))})}const Ln=Ne({key:"svgRef",default:null}),De=Ne({key:"currentlyDragging",default:null});function pr(e){e.preventDefault();const{key:t,by:n}=xe(De)??{},o=xe(Ln);if(!o||!t)return;const r=o.createSVGPoint();r.x=e.clientX,r.y=e.clientY;const s=o.getScreenCTM()?.inverse(),{x:i,y:l}=r.matrixTransform(s);switch(n){case void 0:O(me,t,{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)});break;case"s":O(pe,t,c=>({...c,s:{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)}}));break;case"c":O(pe,t,c=>({...c,c:{x:Y(i,-185,q+185),y:Y(l,-10,Z+10)}}));break}}const yr=["m","M","l","L","c","C","v","V","z","Z"],hr=Ne({key:"preactLogo",default:()=>fetch("preact.svg").then(e=>e.text())}),mr=Fo({key:"reset",do:async()=>{const e=await xe(hr);for(const r of xe($e))Tt(Ke,r);Tt($e);const t=e.split(`
14
- `).filter(r=>r.startsWith(" <path")).map(r=>{const s=r.split('d="')[1].slice(0,-9);let i,l="",c=[];const u=[];for(const d of s){if(yr.includes(d)){l&&(c.push(Number.parseFloat(l)),l=""),i&&u.push({letter:i,numbers:c}),i=d,c=[];continue}if(d===" "){c.push(Number.parseFloat(l)),l="";continue}if(d==="-"&&l){c.push(Number.parseFloat(l)),l="-";continue}l+=d}let f={x:0,y:0};return u.map(({letter:d,numbers:_})=>{let p,y;switch(d){case"m":p={x:f.x+_[0],y:f.y+_[1]},y=!1;break;case"M":p={x:_[0],y:_[1]},y=!1;break;case"l":p={x:f.x+_[0],y:f.y+_[1]},y=!0;break;case"L":p={x:_[0],y:_[1]},y=!0;break;case"c":p={x:f.x+_[4],y:f.y+_[5]},y={c:{x:f.x+_[0],y:f.y+_[1]},s:{x:f.x+_[2],y:f.y+_[3]}};break;case"C":p={x:_[4],y:_[5]},y={c:{x:_[0],y:_[1]},s:{x:_[2],y:_[3]}};break;case"v":p={x:f.x,y:f.y+_[0]},y=!0;break;case"V":p={x:f.x,y:_[0]},y=!0;break;case"z":case"Z":p=null,y=!0}return p&&(f=p),{node:p,edge:y}})});let n=0,o=0;for(const r of t){const s=o;for(const{node:l,edge:c}of r)O(pe,`subpath${o}`,c),O(me,`subpath${o}`,l),o++;const i=o-s;O(Ke,`path${n}`,Array.from({length:i},(l,c)=>`subpath${s+c}`)),O($e,l=>[...l,`path${n}`]),n++}}}),zt=Io(mr),q=256,Z=296;function gr(){const e=ir(Ln,pt),t=tt(n=>{n.currentTarget.releasePointerCapture(n.pointerId),O(De,null)},[]);return de(()=>void zt(),[]),b("div",{style:{display:"flex",flexFlow:"column",position:"relative",overflow:"hidden",maxWidth:"1280px",width:"100vw",alignItems:"center"},children:[b("svg",{ref:e,viewBox:`-185 -15 ${q+370} ${Z+30}`,width:1e3,height:500,onPointerMove:pr,onPointerUp:t,onPointerCancel:t,children:[b("title",{children:"Bezier Playground"}),b("defs",{children:b("pattern",{id:"grid",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:b("rect",{x:"0",y:"0",width:".5",height:".5",fill:"none",stroke:"#aaa"})})}),b("rect",{x:0,y:0,width:q,height:Z,fill:"#aaa3"}),b("rect",{x:-185,y:-10,width:q+370,height:Z+20,fill:"url(#grid)"}),b(dr,{})]}),b("button",{type:"button",class:"flat",onClick:zt,children:"Reset"})]})}function br(){return b(K,{children:[b("h1",{children:"Atom.io in Preact on Vite"}),b("main",{children:[b(gr,{}),b("article",{children:[b(We,{title:"Learn Atom.io",description:"Atom.io is where data lives.",href:"https://atom.io.fyi/docs/getting-started"}),b(We,{title:"Learn Preact",description:"If you're new to Preact, try the interactive tutorial to learn important concepts",href:"https://preactjs.com/tutorial"}),b(We,{title:"Learn Vite",description:"To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation",href:"https://vitejs.dev"})]})]})]})}function We(e){return b("a",{href:e.href,target:"_blank",class:"resource",rel:"noreferrer",children:[b("h2",{children:e.title}),b("p",{children:e.description})]})}Jn(b(br,{}),document.getElementById("app"));
14
+ `).filter(r=>r.startsWith(" <path")).map(r=>{const s=r.split('d="')[1].slice(0,-9);let i,l="",c=[];const u=[];for(const d of s){if(yr.includes(d)){l&&(c.push(Number.parseFloat(l)),l=""),i&&u.push({letter:i,numbers:c}),i=d,c=[];continue}if(d===" "){c.push(Number.parseFloat(l)),l="";continue}if(d==="-"&&l){c.push(Number.parseFloat(l)),l="-";continue}l+=d}let f={x:0,y:0};return u.map(({letter:d,numbers:_})=>{let p,y;switch(d){case"m":p={x:f.x+_[0],y:f.y+_[1]},y=!1;break;case"M":p={x:_[0],y:_[1]},y=!1;break;case"l":p={x:f.x+_[0],y:f.y+_[1]},y=!0;break;case"L":p={x:_[0],y:_[1]},y=!0;break;case"c":p={x:f.x+_[4],y:f.y+_[5]},y={c:{x:f.x+_[0],y:f.y+_[1]},s:{x:f.x+_[2],y:f.y+_[3]}};break;case"C":p={x:_[4],y:_[5]},y={c:{x:_[0],y:_[1]},s:{x:_[2],y:_[3]}};break;case"v":p={x:f.x,y:f.y+_[0]},y=!0;break;case"V":p={x:f.x,y:_[0]},y=!0;break;case"z":case"Z":p=null,y=!0}return p&&(f=p),{node:p,edge:y}})});let n=0,o=0;for(const r of t){const s=o;for(const{node:l,edge:c}of r)O(pe,`subpath${o}`,c),O(me,`subpath${o}`,l),o++;const i=o-s;O(Ke,`path${n}`,Array.from({length:i},(l,c)=>`subpath${s+c}`)),O($e,l=>[...l,`path${n}`]),n++}}}),zt=Io(mr),q=256,Z=296;function gr(){const e=ir(Ln,pt),t=tt(n=>{n.currentTarget.releasePointerCapture(n.pointerId),O(De,null)},[]);return de(()=>{zt()},[]),b("div",{style:{display:"flex",flexFlow:"column",position:"relative",overflow:"hidden",maxWidth:"1280px",width:"100vw",alignItems:"center"},children:[b("svg",{ref:e,viewBox:`-185 -15 ${q+370} ${Z+30}`,width:1e3,height:500,onPointerMove:pr,onPointerUp:t,onPointerCancel:t,children:[b("title",{children:"Bezier Playground"}),b("defs",{children:b("pattern",{id:"grid",width:"5",height:"5",patternUnits:"userSpaceOnUse",children:b("rect",{x:"0",y:"0",width:".5",height:".5",fill:"none",stroke:"#aaa"})})}),b("rect",{x:0,y:0,width:q,height:Z,fill:"#aaa3"}),b("rect",{x:-185,y:-10,width:q+370,height:Z+20,fill:"url(#grid)"}),b(dr,{})]}),b("button",{type:"button",class:"flat",onClick:zt,children:"Reset"})]})}function br(){return b(K,{children:[b("h1",{children:"Atom.io in Preact on Vite"}),b("main",{children:[b(gr,{}),b("article",{children:[b(We,{title:"Learn Atom.io",description:"Atom.io is where data lives.",href:"https://atom.io.fyi/docs/getting-started"}),b(We,{title:"Learn Preact",description:"If you're new to Preact, try the interactive tutorial to learn important concepts",href:"https://preactjs.com/tutorial"}),b(We,{title:"Learn Vite",description:"To learn more about Vite and how you can customize it to fit your needs, take a look at their excellent documentation",href:"https://vitejs.dev"})]})]})]})}function We(e){return b("a",{href:e.href,target:"_blank",class:"resource",rel:"noreferrer",children:[b("h2",{children:e.title}),b("p",{children:e.description})]})}Jn(b(br,{}),document.getElementById("app"));
package/dist/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <meta name="color-scheme" content="light dark" />
8
8
  <title>Vite + Preact + Atom.io</title>
9
- <script type="module" crossorigin src="/assets/index-B8oB2XHU.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-O11zw35C.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-jy4_OpZh.css">
11
11
  </head>
12
12
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atom.io/template-preact-svg-editor",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -9,16 +9,16 @@
9
9
  "preact": "10.28.0",
10
10
  "react": "npm:@preact/compat@18.3.1",
11
11
  "react-dom": "npm:@preact/compat@18.3.1",
12
- "atom.io": "0.46.4"
12
+ "atom.io": "0.46.6"
13
13
  },
14
14
  "devDependencies": {
15
15
  "@preact/preset-vite": "2.10.2",
16
- "@typescript-eslint/eslint-plugin": "8.49.0",
17
- "@typescript-eslint/parser": "8.49.0",
16
+ "@typescript-eslint/eslint-plugin": "8.50.0",
17
+ "@typescript-eslint/parser": "8.50.0",
18
18
  "eslint-config-preact": "2.0.0",
19
19
  "eslint-plugin-import-x": "4.16.1",
20
20
  "eslint-plugin-simple-import-sort": "12.1.1",
21
- "vite": "7.2.7"
21
+ "vite": "7.3.0"
22
22
  },
23
23
  "scripts": {
24
24
  "dev": "vite",