subay 0.0.6 → 0.0.8

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.
@@ -0,0 +1,286 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta
6
+ name="viewport"
7
+ content="width=device-width, initial-scale=1.0"
8
+ />
9
+ <title>Subay Todo App</title>
10
+ <style>
11
+ * {
12
+ box-sizing: border-box;
13
+ margin: 0;
14
+ padding: 0;
15
+ }
16
+
17
+ body {
18
+ font-family: Arial, sans-serif;
19
+ background-color: #f5f5f5;
20
+ color: #333;
21
+ line-height: 1.6;
22
+ }
23
+
24
+ .container {
25
+ max-width: 600px;
26
+ margin: 20px auto;
27
+ padding: 20px;
28
+ background-color: #fff;
29
+ border-radius: 8px;
30
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
31
+ }
32
+
33
+ h1 {
34
+ text-align: center;
35
+ margin-bottom: 20px;
36
+ color: #333;
37
+ }
38
+
39
+ .todo-form {
40
+ display: flex;
41
+ margin-bottom: 20px;
42
+ }
43
+
44
+ .todo-input {
45
+ flex: 1;
46
+ padding: 10px;
47
+ border: 1px solid #ddd;
48
+ border-radius: 4px 0 0 4px;
49
+ font-size: 16px;
50
+ }
51
+
52
+ .add-button {
53
+ padding: 10px 20px;
54
+ background-color: #4caf50;
55
+ color: white;
56
+ border: none;
57
+ border-radius: 0 4px 4px 0;
58
+ cursor: pointer;
59
+ font-size: 16px;
60
+ }
61
+
62
+ .add-button:hover {
63
+ background-color: #45a049;
64
+ }
65
+
66
+ .todo-list {
67
+ list-style: none;
68
+ }
69
+
70
+ .todo-item {
71
+ display: flex;
72
+ align-items: center;
73
+ padding: 10px;
74
+ border-bottom: 1px solid #eee;
75
+ }
76
+
77
+ .todo-item:last-child {
78
+ border-bottom: none;
79
+ }
80
+
81
+ .todo-item.completed {
82
+ background-color: #f0f0f0;
83
+ }
84
+
85
+ .todo-checkbox {
86
+ margin-right: 10px;
87
+ transform: scale(1.2);
88
+ }
89
+
90
+ .todo-text {
91
+ flex: 1;
92
+ font-size: 16px;
93
+ }
94
+
95
+ .todo-text.completed {
96
+ text-decoration: line-through;
97
+ color: #888;
98
+ }
99
+
100
+ .delete-button {
101
+ padding: 5px 10px;
102
+ background-color: #f44336;
103
+ color: white;
104
+ border: none;
105
+ border-radius: 4px;
106
+ cursor: pointer;
107
+ font-size: 14px;
108
+ }
109
+
110
+ .delete-button:hover {
111
+ background-color: #d32f2f;
112
+ }
113
+
114
+ .empty-state {
115
+ text-align: center;
116
+ padding: 20px;
117
+ color: #888;
118
+ font-style: italic;
119
+ }
120
+ </style>
121
+ <script type="importmap">
122
+ {
123
+ "imports": {
124
+ "subay": "../lib/index.js"
125
+ }
126
+ }
127
+ </script>
128
+ </head>
129
+ <body>
130
+ <div
131
+ class="container"
132
+ id="app"
133
+ ></div>
134
+
135
+ <script type="module">
136
+ import { html, o, map } from 'subay';
137
+
138
+ /**
139
+ * @typedef {Object} Todo
140
+ * @property {number} id
141
+ * @property {string} text
142
+ * @property {boolean} completed
143
+ */
144
+
145
+ /**
146
+ * Todo Item Component
147
+ * @param {Todo} todo
148
+ * @param {function(number): void} onToggle
149
+ * @param {function(number): void} onDelete
150
+ * @returns {Array<Node>}
151
+ */
152
+ const TodoItem = (todo, onToggle, onDelete) => {
153
+ return html`
154
+ <li class="todo-item ${todo.completed ? 'completed' : ''}">
155
+ <input
156
+ type="checkbox"
157
+ class="todo-checkbox"
158
+ checked="${todo.completed}"
159
+ onchange="${() => onToggle(todo.id)}"
160
+ />
161
+ <span class="todo-text ${todo.completed ? 'completed' : ''}"> ${todo.text} </span>
162
+ <button
163
+ class="delete-button"
164
+ onclick="${() => onDelete(todo.id)}"
165
+ >
166
+ Delete
167
+ </button>
168
+ </li>
169
+ `;
170
+ };
171
+
172
+ /**
173
+ * Todo List Component
174
+ * @param {Todo[]} todos
175
+ * @param {function(number): void} onToggle
176
+ * @param {function(number): void} onDelete
177
+ * @returns {Array<Node>}
178
+ */
179
+ const TodoList = (todos, onToggle, onDelete) => {
180
+ if (todos().length === 0) {
181
+ return html` <div class="empty-state">No todos yet. Add your first todo!</div> `;
182
+ }
183
+
184
+ return html`
185
+ <ul class="todo-list">
186
+ ${map(
187
+ () => todos(),
188
+ (todo) =>
189
+ html`<${TodoItem}
190
+ todo="${todo}"
191
+ onToggle="${onToggle}"
192
+ onDelete="${onDelete}"
193
+ ></${TodoItem}> `,
194
+ )}
195
+ </ul>
196
+ `;
197
+ };
198
+
199
+ /**
200
+ * Todo Form Component
201
+ * @param {function(): string|function(string): string} newTodoText
202
+ * @param {function(): void} onAddTodo
203
+ * @returns {Array<Node>}
204
+ */
205
+ const TodoForm = (newTodoText, onAddTodo) => {
206
+ return html`
207
+ <form
208
+ class="todo-form"
209
+ onsubmit="${(e) => {
210
+ e.preventDefault();
211
+ onAddTodo();
212
+ }}"
213
+ >
214
+ <input
215
+ type="text"
216
+ class="todo-input"
217
+ value="${newTodoText}"
218
+ oninput="${(e) => newTodoText(e.target.value)}"
219
+ placeholder="What needs to be done?"
220
+ required
221
+ />
222
+ <button
223
+ type="submit"
224
+ class="add-button"
225
+ >
226
+ Add Todo
227
+ </button>
228
+ </form>
229
+ `;
230
+ };
231
+
232
+ // App Component
233
+ const App = () => {
234
+ // State
235
+ const todos = o([
236
+ { id: 1, text: 'Learn Subay', completed: false },
237
+ { id: 2, text: 'Build a todo app', completed: false },
238
+ { id: 3, text: 'Explore Subay features', completed: false },
239
+ ]);
240
+ const newTodoText = o('');
241
+ let nextId = 4;
242
+
243
+ // Handlers
244
+ const handleAddTodo = () => {
245
+ if (newTodoText()) {
246
+ todos([...todos(), { id: nextId++, text: newTodoText(), completed: false }]);
247
+ newTodoText('');
248
+ }
249
+ };
250
+
251
+ /**
252
+ * @param {number} id
253
+ */
254
+ const handleToggleTodo = (id) => {
255
+ todos(todos().map((todo) => (todo.id === id ? { ...todo, completed: !todo.completed } : todo)));
256
+ };
257
+
258
+ /**
259
+ * @param {number} id
260
+ */
261
+ const handleDeleteTodo = (id) => {
262
+ todos(todos().filter((todo) => todo.id !== id));
263
+ };
264
+
265
+ // Render
266
+ return html`
267
+ <div>
268
+ <h1>Todo App</h1>
269
+ <${TodoForm}
270
+ newTodoText="${newTodoText}"
271
+ onAddTodo="${handleAddTodo}"
272
+ ></${TodoForm}>
273
+ <${TodoList}
274
+ todos="${todos}"
275
+ onToggle="${handleToggleTodo}"
276
+ onDelete="${handleDeleteTodo}"
277
+ ></${TodoList}>
278
+ </div>
279
+ `;
280
+ };
281
+
282
+ // Mount the app
283
+ document.getElementById('app')?.append(...App());
284
+ </script>
285
+ </body>
286
+ </html>
package/lib/h.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AAgXA,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,KAAG,IAAI,EAmDrE,CAAC;AAoIF,eAAO,MAAM,GAAG,aAdD,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAmB3D,CAAC;AACF,eAAO,MAAM,IAAI,aApBF,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAyB3D,CAAC"}
1
+ {"version":3,"file":"h.d.ts","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"AAqYA,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,KAAG,IAAI,EAoDrE,CAAC;AAkIF,eAAO,MAAM,GAAG,aAdD,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAmB3D,CAAC;AACF,eAAO,MAAM,IAAI,aApBF,oBAAoB,aAAa,GAAG,EAAE,KAAG,IAAI,EAyB3D,CAAC"}
package/lib/h.js CHANGED
@@ -1,7 +1,14 @@
1
1
  import { cleanup, isReactive, root, S, sample } from './s.js';
2
2
  const cache = new Map();
3
- const MarkStart = 's' + Math.random().toString(36).slice(2);
4
- const MarkEnd = 'e' + Math.random().toString(36).slice(2);
3
+ function random6LetterString() {
4
+ const BASE = 36;
5
+ const power5 = BASE ** 5;
6
+ const min = 10 * power5;
7
+ const length = 26 * power5;
8
+ return Math.floor(Math.random() * length + min).toString(BASE);
9
+ }
10
+ const MarkStart = random6LetterString();
11
+ const MarkEnd = random6LetterString();
5
12
  const MarkReg = new RegExp(`([\\s\\S]*?)${MarkStart}(\\d+)${MarkEnd}([\\s\\S]*?)(?=${MarkStart}\\d+${MarkEnd}|$)`, 'g');
6
13
  const BlankText = /\s*\n\s*/g;
7
14
  const domParser = new DOMParser();
@@ -68,15 +75,15 @@ const parse = (docType, wrapSource, unwrapNode, segments, indexMap) => {
68
75
  for (let item = domNodeList.item(0), nextSibling = item?.nextSibling, index = 0; item != null; item = nextSibling, nextSibling = nextSibling?.nextSibling, index++) {
69
76
  do
70
77
  remove_and_dec_index: {
71
- if (item.nodeType === Node.ELEMENT_NODE) {
78
+ if (item.nodeType === 1) {
72
79
  const el = item;
73
80
  const tag = parseText(el.tagName.toLowerCase());
74
81
  const isVariableElem = tag.length > 1 || typeof tag[0] === 'number';
75
82
  nodeList.push({
76
- ns: el.namespaceURI,
77
- type: 2,
78
- tag,
79
- attrs: Array.from(el.attributes).flatMap((attr) => {
83
+ _ns: el.namespaceURI,
84
+ _type: 2,
85
+ _tag: tag,
86
+ _attrs: Array.from(el.attributes).flatMap((attr) => {
80
87
  const name = parseText(attr.nodeName);
81
88
  const value = parseText(attr.value);
82
89
  const isVariableAttr = name.length > 1 ||
@@ -91,27 +98,26 @@ const parse = (docType, wrapSource, unwrapNode, segments, indexMap) => {
91
98
  }
92
99
  return [
93
100
  {
94
- type: 3,
95
- name,
96
- value,
101
+ _name: name,
102
+ _value: value.length === 0 ? [true] : value,
97
103
  },
98
104
  ];
99
105
  }),
100
- content: el.childNodes.length > 0 ? dom2treenode(el.childNodes) : [],
101
- sourceNode: isVariableElem ? null : el,
102
- sourceIndex: index,
106
+ _content: el.childNodes.length > 0 ? dom2treenode(el.childNodes) : [],
107
+ _sourceNode: isVariableElem ? null : el,
108
+ _sourceIndex: index,
103
109
  });
104
110
  if (!isVariableElem) {
105
111
  break remove_and_dec_index;
106
112
  }
107
113
  }
108
- else if (item.nodeType === Node.TEXT_NODE) {
114
+ else if (item.nodeType === 3) {
109
115
  const data = item.data;
110
116
  const result = parseText(data);
111
117
  if (result.length > 0) {
112
118
  nodeList.push({
113
- type: 1,
114
- data: result,
119
+ _type: 1,
120
+ _data: result,
115
121
  });
116
122
  }
117
123
  }
@@ -127,22 +133,41 @@ const parse = (docType, wrapSource, unwrapNode, segments, indexMap) => {
127
133
  cache.set(segments, treeNode);
128
134
  return treeNode;
129
135
  };
130
- const element = (ns, sourceNode, tagName, child) => {
136
+ const element = (ns, sourceNode, tagName, attrs, values, child) => {
131
137
  if (typeof tagName === 'function') {
132
- return fragment(() => {
133
- const realTagName = tagName();
134
- if (typeof realTagName === 'string') {
135
- return element(ns, null, realTagName, child);
136
- }
137
- return [];
138
- });
138
+ if (isReactive(tagName)) {
139
+ return fragment(() => {
140
+ const realTagName = tagName();
141
+ return element(ns, null, realTagName, attrs, values, child);
142
+ });
143
+ }
144
+ else {
145
+ return fragment(() => {
146
+ return tagName(...attrs.flatMap(({ _name: name, _value: value }) => {
147
+ if (name[0] === '...' && typeof name[1] === 'number') {
148
+ return unparseText(name.slice(1), values);
149
+ }
150
+ else {
151
+ return unparseText(value, values);
152
+ }
153
+ }), child);
154
+ });
155
+ }
139
156
  }
140
157
  if (typeof tagName !== 'string') {
141
158
  return [];
142
159
  }
143
160
  const el = sourceNode || (ns ? document.createElementNS(ns, tagName) : document.createElement(tagName));
144
161
  S(() => {
145
- const subnodes = child(el);
162
+ for (const { _name: name, _value: value } of attrs) {
163
+ if (name[0] === '...' && typeof name[1] === 'number') {
164
+ spreadAttrs(el, unparseText(name.slice(1), values));
165
+ }
166
+ else {
167
+ attribute(el, unparseText(name, values), unparseText(value, values));
168
+ }
169
+ }
170
+ const subnodes = child();
146
171
  if (subnodes.length === 0) {
147
172
  return;
148
173
  }
@@ -164,18 +189,20 @@ const element = (ns, sourceNode, tagName, child) => {
164
189
  cleanup(() => el.remove());
165
190
  return [el];
166
191
  };
192
+ let fragmentHeadNode = null;
167
193
  const fragment = (child) => {
168
- const firstNode = document.createComment('start-frag');
194
+ const firstNode = new Comment('');
169
195
  cleanup(() => firstNode.remove());
170
196
  const tempArray = [firstNode];
171
197
  S(() => {
172
- const c = child(firstNode);
198
+ fragmentHeadNode = firstNode;
199
+ const c = child();
173
200
  const carr = Array.isArray(c) ? c : [c];
174
201
  const nodified = carr.map((c) => {
175
202
  if (c instanceof Node) {
176
203
  return c;
177
204
  }
178
- const node = document.createTextNode(c);
205
+ const node = new Text(c);
179
206
  cleanup(() => node.remove());
180
207
  return node;
181
208
  });
@@ -285,7 +312,8 @@ function arrTrans(a, b, a2b, dela, keep) {
285
312
  }
286
313
  }
287
314
  export const map = (array, f) => {
288
- return fragment((headNode) => {
315
+ return fragment(() => {
316
+ const headNode = fragmentHeadNode;
289
317
  cleanup(() => {
290
318
  mapState()._itemDestroyer.forEach((f) => f());
291
319
  });
@@ -360,7 +388,7 @@ const attribute = (node, key, val) => {
360
388
  });
361
389
  }
362
390
  else {
363
- node.setAttribute(key, val);
391
+ node.setAttribute(key, String(val));
364
392
  cleanup(() => {
365
393
  node.removeAttribute(key);
366
394
  });
@@ -381,59 +409,56 @@ const spreadAttrs = (node, value) => {
381
409
  });
382
410
  };
383
411
  const tree2dom = (ns, node, values) => {
384
- if (node.type === 1) {
385
- return node.data.flatMap((part) => {
412
+ if (node._type === 1) {
413
+ return node._data.flatMap((part) => {
386
414
  if (typeof part === 'string') {
387
- const textNode = document.createTextNode(part);
415
+ const textNode = new Text(part);
388
416
  cleanup(() => textNode.remove());
389
417
  return textNode;
390
418
  }
391
419
  else if (typeof part === 'number') {
392
420
  const value = values[part];
393
421
  if (typeof value === 'function') {
394
- return fragment(value);
422
+ if (isReactive(value)) {
423
+ return fragment(() => value());
424
+ }
425
+ else {
426
+ return fragment(value);
427
+ }
395
428
  }
396
- else {
397
- const textNode = document.createTextNode(String(value));
429
+ else if (typeof value !== 'object') {
430
+ const textNode = new Text(String(value));
398
431
  cleanup(() => textNode.remove());
399
432
  return textNode;
400
433
  }
434
+ return value;
401
435
  }
402
- return [];
403
436
  });
404
437
  }
405
438
  else {
406
- const { attrs, content, tag, sourceNode } = node;
439
+ const { _attrs: attrs, _content: content, _tag: tag, _sourceNode: sourceNode } = node;
407
440
  const tagValue = unparseText(tag, values);
408
- const currentNs = node.ns ?? ns;
409
- return element(currentNs, sourceNode, tagValue, (node) => {
410
- for (const { name, value } of attrs) {
411
- if (name[0] === '...' && typeof name[1] === 'number') {
412
- spreadAttrs(node, unparseText(name.slice(1), values));
413
- }
414
- else {
415
- attribute(node, unparseText(name, values), unparseText(value, values));
416
- }
417
- }
441
+ const currentNs = node._ns ?? ns;
442
+ return element(currentNs, sourceNode, tagValue, attrs, values, () => {
418
443
  return content.flatMap((t) => tree2dom(currentNs, t, values));
419
444
  });
420
445
  }
421
446
  };
422
447
  const cloneTreeNode = (treeNode, parentNode) => {
423
- if (treeNode.type === 1) {
448
+ if (treeNode._type === 1) {
424
449
  return treeNode;
425
450
  }
426
451
  else {
427
- if (!treeNode.sourceNode) {
452
+ if (!treeNode._sourceNode) {
428
453
  return treeNode;
429
454
  }
430
455
  const currentNode = parentNode ?
431
- parentNode.childNodes.item(treeNode.sourceIndex)
432
- : treeNode.sourceNode.cloneNode(true);
456
+ parentNode.childNodes.item(treeNode._sourceIndex)
457
+ : treeNode._sourceNode.cloneNode(true);
433
458
  return {
434
459
  ...treeNode,
435
- sourceNode: currentNode,
436
- content: treeNode.content.map((node) => cloneTreeNode(node, currentNode)),
460
+ _sourceNode: currentNode,
461
+ _content: treeNode._content.map((node) => cloneTreeNode(node, currentNode)),
437
462
  };
438
463
  }
439
464
  };
package/lib/h.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.js","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"h.js","sourceRoot":"","sources":["../src/h.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ var ne=Object.defineProperty;var re=(e,n)=>()=>(e&&(n=e(e=0)),n);var oe=(e,n)=>{for(var t in n)ne(e,t,{get:n[t],enumerable:!0})};var j={};oe(j,{namedFunc:()=>ie});var B,se,ie,k=re(()=>{"use strict";B=new Map,se=function e(){let n=new Error().stack;if(!n)return null;let t=/((?:\w+:\/\/)[-a-zA-Z0-9:@;?&=\/%\+\.\*!'\(\),\$_\{\}\^~\[\]`#|]+):(\d+):(\d+)/,r=n.split(`
2
+ `),s=r.findIndex(c=>c.includes(import.meta.url)&&c.includes(e.name));if(s>-1){let l=r[s+3];if(!l)return null;let i=l.match(t);if(!i)return null;let o=i[1],u=i[2],d=i[3];if(!o||!u||!d)return null;let p;if(B.has(o))p=B.get(o);else{let T=new XMLHttpRequest;T.open("GET",o,!1),T.send(),p=T.responseText,B.set(o,p)}let g=new RegExp(`(?:.*\r?
3
+ ){${Number(u)-1}}.{${Number(d)-1}}`),m=p.match(g);return m?m[0].match(/(\w+)\s*=\s*$/)?.[1]:null}return null},ie=(e,n)=>{let t=se()??n;if(!t)return e;let r=new Function(`return function ${t} (...args) {return ${t}._(...args)}`)();return r.I=e,Object.setPrototypeOf(r,e),r}});var H=(await Promise.resolve().then(()=>(k(),j))).namedFunc,f,$=Symbol(),U=Symbol(),_,q=new WeakMap,G=0,Q=e=>{let n=f,t=(()=>{});F(t),t.r=!1,f=t;let r=e(()=>{L(t),f=void 0});return f=n,r},N=(e,n)=>{let t=H(F(r=>{if(r===U||t.r){let s=f;L(t),t.r=!1,f=t,n=e(n),f=s}else f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f));return n}));return t.$o=3075,t.c=G++,f&&f.u.push(t),t(U),q.set(e,t),t},Te=e=>{function n(r){if(arguments.length===0)return f&&!f.o.has(t)&&(f.o.add(t),t.e.push(f)),e;if(_)return t.s===$&&_.push(t),t.s=r,r;e=r;let s=f;f=void 0;let c=new Set,l=(o,u)=>{!o.o.has(u)||c.has(o)||(c.add(o),o.e.forEach(d=>l(d,o)))};t.e.forEach(o=>l(o,t));let i=Array.from(c);return i.forEach(o=>{o.r=!0}),t.e=[],i.sort(ce).forEach(o=>{o.r&&o()}),f=s,e}let t=H(n);return t.e=[],t.s=$,t.$o=181,t.c=G++,t},ce=(e,n)=>e.c-n.c,L=e=>{e.u.forEach(L),e.r=!1,e.f.forEach(n=>n()),F(e)},F=e=>(e.o=new Set,e.e=[],e.u=[],e.f=[],e),x=e=>(f?.f.push(e),e),ge=e=>{let n=_;_=[];let t=e(),r=_;return _=n,r.forEach(s=>{if(s.s!==$){let c=s.s;s.s=$,s(c)}}),t};var z=e=>{let n=f;f=void 0;let t=e();return f=n,t},be=()=>!!f,Ie=e=>(N(e),()=>ae(e)),ae=e=>{let n=q.get(e);n&&L(n)},xe=e=>e?.$o===181,Se=e=>e?.$o===3075,v=e=>e?.$o;var R=new Map;function X(){return Math.floor(Math.random()*1572120576+604661760).toString(36)}var V=X(),P=X(),le=new RegExp(`([\\s\\S]*?)${V}(\\d+)${P}([\\s\\S]*?)(?=${V}\\d+${P}|$)`,"g"),ue=/\s*\n\s*/g,fe=new DOMParser,C=e=>{let n=[];if(e=e.replace(ue,""),e.includes(V)&&e.includes(P))for(let t of e.matchAll(le)){let[,r,s,c]=t;r&&n.push(r),s&&n.push(Number(s)),c&&n.push(c)}else e&&n.push(e);return n},A=(e,n)=>e.length===1?typeof e[0]=="number"?n[e[0]]:e[0]:N(()=>e.map(t=>{if(typeof t=="number"){let r=n[t];return typeof r=="function"?r():r}return t}).join("")),de=(e,n,t,r,s)=>{if(R.has(r))return R.get(r);let c=r.flatMap((p,g,{length:m})=>g===m-1?[p]:[p,V,s[g],P]).join(""),l=n(c),i=fe.parseFromString(l,e),o=p=>{let g=[];for(let m=p.item(0),T=m?.nextSibling,w=0;m!=null;m=T,T=T?.nextSibling,w++)do e:{if(m.nodeType===1){let y=m,I=C(y.tagName.toLowerCase()),S=I.length>1||typeof I[0]=="number";if(g.push({y:y.namespaceURI,a:2,h:I,T:Array.from(y.attributes).flatMap(a=>{let h=C(a.nodeName),b=C(a.value),M=h.length>1||typeof h[0]=="number"||b.length>1||typeof b[0]=="number";return!S&&!M?[]:(y.removeAttribute(a.nodeName),[{d:h,m:b.length===0?[!0]:b}])}),l:y.childNodes.length>0?o(y.childNodes):[],i:S?null:y,g:w}),!S)break e}else if(m.nodeType===3){let y=m.data,I=C(y);I.length>0&&g.push({a:1,b:I})}m.remove(),w--}while(!1);return g},u=t(i),d=o(u);return R.set(r,d),d},Z=(e,n,t,r,s,c)=>{if(typeof t=="function")return v(t)?E(()=>{let i=t();return Z(e,null,i,r,s,c)}):E(()=>t(...r.flatMap(({d:i,m:o})=>i[0]==="..."&&typeof i[1]=="number"?A(i.slice(1),s):A(o,s)),c));if(typeof t!="string")return[];let l=n||(e?document.createElementNS(e,t):document.createElement(t));return N(()=>{for(let{d:o,m:u}of r)o[0]==="..."&&typeof o[1]=="number"?ye(l,A(o.slice(1),s)):Y(l,A(o,s),A(u,s));let i=c();if(i.length!==0)if(!l.firstChild)l.append(...i);else for(let o=l.firstElementChild,u=0;u<i.length;u++){let d=i[u];o===d?o=o.nextElementSibling:l.insertBefore(d,o)}}),x(()=>l.remove()),[l]},J=null,E=e=>{let n=new Comment("");x(()=>n.remove());let t=[n];return N(()=>{J=n;let r=e(),c=(Array.isArray(r)?r:[r]).map(l=>{if(l instanceof Node)return l;let i=new Text(l);return x(()=>i.remove()),i});n.isConnected?n.after(...c):t.push(...c)}),t};function me(e,n,t,r,s){let c=e.length,l=n.length;if(e===n||c===0&&l===0)return;let i=0,o=Math.min(c,l);for(;i<o&&e[i]===n[i];)i++;let u=0;for(;u<o-i&&e[c-1-u]===n[l-1-u];)u++;let d=c-i-u,p=l-i-u;if(d===0&&p===0){for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<u;a++)s(e[c-u+a]);return}let g=new Map;for(let a=0;a<p;a++)g.set(n[i+a],a);let m=[];for(let a=0;a<d;a++){let h=e[i+a],b=g.get(h);b!==void 0&&m.push(b)}let T=[],w=new Array(m.length).fill(-1),y=[];for(let a=0;a<m.length;a++){let h=m[a],b=0,M=T.length;for(;b<M;){let D=b+M>>1;T[D]<h?b=D+1:M=D}let O=b;O===T.length?(T.push(h),y.push(a)):(T[O]=h,y[O]=a),O>0&&(w[a]=y[O-1])}let I=new Set,S=y.length>0?y[y.length-1]:-1;for(;S!==-1;){let a=m[S];I.add(n[i+a]),S=w[S]}for(let a=0;a<i;a++)s(e[a]);for(let a=0;a<d;a++){let h=e[i+a];I.has(h)||r(h)}for(let a=0;a<p;a++){let h=n[i+a];I.has(h)?s(h):t(h)}for(let a=0;a<u;a++)s(e[c-u+a])}var _e=(e,n)=>E(()=>{let t=J;x(()=>{s().t.forEach(c=>c())});let r=c=>Q(l=>{let i=n(c);return[l,i]}),s=N((c={p:[],n:[],t:[]})=>{let l=e(),i=c.p,o={p:l,n:[],t:[]};return me(i,l,u=>{let[d,p]=r(u);(o.n.at(-1)?.at(-1)??t).after(...p),o.n.push(p),o.t.push(d)},u=>{let d=i.indexOf(u);c.t[d]()},u=>{let d=i.indexOf(u);o.n.push(c.n[d]),o.t.push(c.t[d])}),o});return z(()=>s().n.flat())}),pe=(e,n)=>{let t;do t=Object.getOwnPropertyDescriptor(e,n),e=Object.getPrototypeOf(e);while(e&&!t);return!(!t||t.writable===!1||t.get&&!t.set)},Y=(e,n,t)=>{if(typeof n!="function"&&!v(t)){if(!e||!(e instanceof Element))return;if(pe(e,n)){let s=e[n];e[n]=t,x(()=>{e[n]=s})}else e.setAttribute(n,String(t)),x(()=>{e.removeAttribute(n)})}else N(()=>{Y(e,typeof n=="function"?n():n,v(t)?t():t)})},ye=(e,n)=>{N(()=>{let t=n();for(let r in t)Y(e,r,t[r])})},K=(e,n,t)=>{if(n.a===1)return n.b.flatMap(r=>{if(typeof r=="string"){let s=new Text(r);return x(()=>s.remove()),s}else if(typeof r=="number"){let s=t[r];if(typeof s=="function")return v(s)?E(()=>s()):E(s);if(typeof s!="object"){let c=new Text(String(s));return x(()=>c.remove()),c}return s}});{let{T:r,l:s,h:c,i:l}=n,i=A(c,t),o=n.y??e;return Z(o,l,i,r,t,()=>s.flatMap(u=>K(o,u,t)))}},ee=(e,n)=>{if(e.a===1)return e;{if(!e.i)return e;let t=n?n.childNodes.item(e.g):e.i.cloneNode(!0);return{...e,i:t,l:e.l.map(r=>ee(r,t))}}},te=(e,n,t,r)=>(s,...c)=>{let i=de(n,t,r,s,c.map(o=>c.indexOf(o))).map(o=>ee(o,null));return E(()=>i.flatMap(o=>K(e,o,c)))},W="http://www.w3.org/2000/svg",Ae=te(W,"text/xml",e=>`<svg xmlns="${W}">${e}</svg>`,e=>e.firstChild.childNodes),Ee=te(null,"text/html",e=>e,e=>e.body.childNodes);export{N as S,x as cleanup,Ee as html,Se as isComputed,be as isListening,xe as isObservable,v as isReactive,_e as map,Te as o,Te as observable,Q as root,z as sample,Ie as subscribe,Ae as svg,ge as transaction,ae as unsubscribe};