sygnal 5.4.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/CHANGELOG.md +646 -0
  2. package/README.md +24 -9
  3. package/dist/astro/client.cjs.js +16 -9
  4. package/dist/astro/client.cjs.js.map +1 -1
  5. package/dist/astro/client.mjs +16 -9
  6. package/dist/astro/client.mjs.map +1 -1
  7. package/dist/astro/index.cjs.js +362 -91
  8. package/dist/astro/index.cjs.js.map +1 -1
  9. package/dist/astro/index.mjs +362 -92
  10. package/dist/astro/index.mjs.map +1 -1
  11. package/dist/astro/server.cjs.js +3396 -165
  12. package/dist/astro/server.cjs.js.map +1 -1
  13. package/dist/astro/server.mjs +3396 -165
  14. package/dist/astro/server.mjs.map +1 -1
  15. package/dist/devtools.cjs.js +1431 -0
  16. package/dist/devtools.cjs.js.map +1 -0
  17. package/dist/devtools.esm.js +1419 -0
  18. package/dist/devtools.esm.js.map +1 -0
  19. package/dist/diagnostics.cjs.js +3032 -296
  20. package/dist/diagnostics.cjs.js.map +1 -1
  21. package/dist/diagnostics.esm.js +3032 -296
  22. package/dist/diagnostics.esm.js.map +1 -1
  23. package/dist/element.cjs.js +230 -0
  24. package/dist/element.cjs.js.map +1 -0
  25. package/dist/element.esm.js +228 -0
  26. package/dist/element.esm.js.map +1 -0
  27. package/dist/guide/accessibility.md +257 -0
  28. package/dist/guide/adapters.md +221 -0
  29. package/dist/guide/behaviors.md +312 -0
  30. package/dist/guide/browser-sources.md +203 -0
  31. package/dist/guide/drag-and-drop.md +342 -0
  32. package/dist/guide/element-commands.md +306 -0
  33. package/dist/guide/error-boundaries.md +169 -0
  34. package/dist/guide/forms-reference.md +381 -0
  35. package/dist/guide/forms.md +250 -0
  36. package/dist/guide/http.md +299 -0
  37. package/dist/guide/inputs.md +173 -0
  38. package/dist/guide/persistence.md +245 -0
  39. package/dist/guide/recipes/carousel.md +155 -0
  40. package/dist/guide/recipes/charts.md +177 -0
  41. package/dist/guide/recipes/code-editor.md +135 -0
  42. package/dist/guide/recipes/data-grid.md +155 -0
  43. package/dist/guide/recipes/data-table.md +196 -0
  44. package/dist/guide/recipes/i18n.md +222 -0
  45. package/dist/guide/recipes/icons.md +115 -0
  46. package/dist/guide/recipes/overview.md +33 -0
  47. package/dist/guide/recipes/rich-text.md +154 -0
  48. package/dist/guide/resources.md +471 -0
  49. package/dist/guide/ssr.md +255 -0
  50. package/dist/guide/timers.md +178 -0
  51. package/dist/guide/ui/accordion.md +93 -0
  52. package/dist/guide/ui/combobox.md +144 -0
  53. package/dist/guide/ui/dialog.md +124 -0
  54. package/dist/guide/ui/disclosure.md +60 -0
  55. package/dist/guide/ui/menu.md +125 -0
  56. package/dist/guide/ui/overview.md +166 -0
  57. package/dist/guide/ui/popover.md +101 -0
  58. package/dist/guide/ui/select.md +114 -0
  59. package/dist/guide/ui/tabs.md +161 -0
  60. package/dist/guide/ui/toaster.md +152 -0
  61. package/dist/guide/ui/tooltip.md +103 -0
  62. package/dist/guide/undo.md +178 -0
  63. package/dist/guide/virtual-collections.md +183 -0
  64. package/dist/guide/web-components.md +179 -0
  65. package/dist/guide/widgets.md +217 -0
  66. package/dist/index.cjs.js +13178 -5769
  67. package/dist/index.cjs.js.map +1 -1
  68. package/dist/index.d.ts +2908 -276
  69. package/dist/index.esm.js +13149 -5779
  70. package/dist/index.esm.js.map +1 -1
  71. package/dist/jsx-dev-runtime.cjs.js +26 -334
  72. package/dist/jsx-dev-runtime.cjs.js.map +1 -1
  73. package/dist/jsx-dev-runtime.esm.js +19 -327
  74. package/dist/jsx-dev-runtime.esm.js.map +1 -1
  75. package/dist/jsx-runtime.cjs.js +26 -334
  76. package/dist/jsx-runtime.cjs.js.map +1 -1
  77. package/dist/jsx-runtime.esm.js +19 -327
  78. package/dist/jsx-runtime.esm.js.map +1 -1
  79. package/dist/jsx.cjs.js +10 -314
  80. package/dist/jsx.cjs.js.map +1 -1
  81. package/dist/jsx.esm.js +8 -315
  82. package/dist/jsx.esm.js.map +1 -1
  83. package/dist/react.cjs.js +117 -0
  84. package/dist/react.cjs.js.map +1 -0
  85. package/dist/react.esm.js +115 -0
  86. package/dist/react.esm.js.map +1 -0
  87. package/dist/shims/globalthis.cjs +20 -0
  88. package/dist/sygnal.min.js +1 -1
  89. package/dist/sygnal.min.js.map +1 -1
  90. package/dist/ui-combobox.cjs.js +169 -0
  91. package/dist/ui-combobox.cjs.js.map +1 -0
  92. package/dist/ui-combobox.esm.js +148 -0
  93. package/dist/ui-combobox.esm.js.map +1 -0
  94. package/dist/ui-menu.cjs.js +87 -0
  95. package/dist/ui-menu.cjs.js.map +1 -0
  96. package/dist/ui-menu.esm.js +66 -0
  97. package/dist/ui-menu.esm.js.map +1 -0
  98. package/dist/ui-select.cjs.js +104 -0
  99. package/dist/ui-select.cjs.js.map +1 -0
  100. package/dist/ui-select.esm.js +83 -0
  101. package/dist/ui-select.esm.js.map +1 -0
  102. package/dist/ui.cjs.js +738 -0
  103. package/dist/ui.cjs.js.map +1 -0
  104. package/dist/ui.esm.js +727 -0
  105. package/dist/ui.esm.js.map +1 -0
  106. package/dist/vike/ClientOnly.cjs.js +4 -14
  107. package/dist/vike/ClientOnly.cjs.js.map +1 -1
  108. package/dist/vike/ClientOnly.mjs +4 -14
  109. package/dist/vike/ClientOnly.mjs.map +1 -1
  110. package/dist/vike/{+config.js → config/+config.js} +9 -1
  111. package/dist/vike/config/+config.js.map +1 -0
  112. package/dist/vike/config/package.json +6 -0
  113. package/dist/vike/onRenderClient.cjs.js +165 -95
  114. package/dist/vike/onRenderClient.cjs.js.map +1 -1
  115. package/dist/vike/onRenderClient.mjs +165 -95
  116. package/dist/vike/onRenderClient.mjs.map +1 -1
  117. package/dist/vike/onRenderHtml.cjs.js +59 -24
  118. package/dist/vike/onRenderHtml.cjs.js.map +1 -1
  119. package/dist/vike/onRenderHtml.mjs +60 -25
  120. package/dist/vike/onRenderHtml.mjs.map +1 -1
  121. package/dist/vite/plugin.cjs.js +323 -88
  122. package/dist/vite/plugin.cjs.js.map +1 -1
  123. package/dist/vite/plugin.mjs +323 -89
  124. package/dist/vite/plugin.mjs.map +1 -1
  125. package/dist/zag.cjs.js +408 -0
  126. package/dist/zag.cjs.js.map +1 -0
  127. package/dist/zag.esm.js +405 -0
  128. package/dist/zag.esm.js.map +1 -0
  129. package/llms.txt +166 -103
  130. package/package.json +98 -14
  131. package/src/astro/client.ts +27 -16
  132. package/src/astro/index.d.ts +24 -0
  133. package/src/astro/index.ts +69 -3
  134. package/src/astro/server.ts +8 -2
  135. package/src/collection.ts +6 -93
  136. package/src/core/actions.ts +134 -0
  137. package/src/core/cell.ts +202 -0
  138. package/src/core/debug.ts +23 -0
  139. package/src/core/define.ts +242 -0
  140. package/src/core/hooks.ts +314 -0
  141. package/src/core/hosts/collection.ts +325 -0
  142. package/src/core/hosts/switchable.ts +146 -0
  143. package/src/core/instance.ts +592 -0
  144. package/src/core/markers/clientonly.ts +13 -0
  145. package/src/core/markers/lazy.ts +40 -0
  146. package/src/core/markers/portal.ts +96 -0
  147. package/src/core/markers/suspense.ts +41 -0
  148. package/src/core/markers/transition.ts +70 -0
  149. package/src/core/registry.ts +25 -0
  150. package/src/core/runtime.ts +573 -0
  151. package/src/core/statics.ts +104 -0
  152. package/src/core/teardown.ts +60 -0
  153. package/src/core/view.ts +37 -0
  154. package/src/cycle/dom/DocumentDOMSource.ts +13 -8
  155. package/src/cycle/dom/ElementFinder.ts +7 -9
  156. package/src/cycle/dom/EventDelegator.ts +174 -223
  157. package/src/cycle/dom/IsolateModule.ts +65 -35
  158. package/src/cycle/dom/MainDOMSource.ts +9 -2
  159. package/src/cycle/dom/PriorityQueue.ts +4 -2
  160. package/src/cycle/dom/SymbolTree.ts +18 -47
  161. package/src/cycle/dom/classNameModule.ts +9 -7
  162. package/src/cycle/dom/controlledInputModule.ts +23 -6
  163. package/src/cycle/dom/enrichEventStream.ts +25 -47
  164. package/src/cycle/dom/fragment.ts +7 -0
  165. package/src/cycle/dom/isolate.ts +30 -27
  166. package/src/cycle/dom/makeDOMDriver.ts +115 -56
  167. package/src/cycle/dom/mockDOMSource.ts +21 -1
  168. package/src/cycle/dom/modules.ts +16 -3
  169. package/src/cycle/dom/propsModule.ts +65 -0
  170. package/src/cycle/dom/selectModule.ts +22 -17
  171. package/src/cycle/dom/snabbdom.ts +1 -6
  172. package/src/cycle/dom/thunk.ts +3 -0
  173. package/src/cycle/dom/utils.ts +98 -0
  174. package/src/cycle/dom/viewTransition.ts +43 -0
  175. package/src/cycle/state/StateSource.ts +19 -3
  176. package/src/cycle/state/objIsEqual.ts +50 -0
  177. package/src/cycle/state/types.ts +0 -10
  178. package/src/defineComponent.ts +34 -0
  179. package/src/devtools.d.ts +151 -0
  180. package/src/devtools.ts +34 -0
  181. package/src/element.d.ts +59 -0
  182. package/src/element.ts +235 -0
  183. package/src/extra/backoff.ts +9 -0
  184. package/src/extra/behaviors.ts +169 -0
  185. package/src/extra/browserSignals.ts +23 -0
  186. package/src/extra/browserSources.ts +326 -0
  187. package/src/extra/command.ts +3 -3
  188. package/src/extra/controls.ts +47 -0
  189. package/src/extra/copyAsTest.ts +286 -0
  190. package/src/extra/devtools.ts +101 -31
  191. package/src/extra/devtoolsActions.ts +379 -0
  192. package/src/extra/devtoolsHook.ts +9 -0
  193. package/src/extra/devtoolsNext.ts +83 -0
  194. package/src/extra/diagnostics/checks/actionLog.ts +108 -0
  195. package/src/extra/diagnostics/checks/behaviors.ts +49 -0
  196. package/src/extra/diagnostics/checks/browserSources.ts +96 -0
  197. package/src/extra/diagnostics/checks/collections.ts +1 -1
  198. package/src/extra/diagnostics/checks/controls.ts +148 -0
  199. package/src/extra/diagnostics/checks/dataset.ts +57 -0
  200. package/src/extra/diagnostics/checks/dom.ts +20 -11
  201. package/src/extra/diagnostics/checks/elementCommands.ts +175 -0
  202. package/src/extra/diagnostics/checks/events.ts +17 -2
  203. package/src/extra/diagnostics/checks/fetch.ts +135 -0
  204. package/src/extra/diagnostics/checks/forms.ts +163 -0
  205. package/src/extra/diagnostics/checks/index.ts +97 -4
  206. package/src/extra/diagnostics/checks/inspect.ts +140 -32
  207. package/src/extra/diagnostics/checks/next.ts +417 -0
  208. package/src/extra/diagnostics/checks/persist.ts +54 -0
  209. package/src/extra/diagnostics/checks/props.ts +10 -5
  210. package/src/extra/diagnostics/checks/public.d.ts +98 -7
  211. package/src/extra/diagnostics/checks/replies.ts +128 -0
  212. package/src/extra/diagnostics/checks/router.ts +100 -0
  213. package/src/extra/diagnostics/checks/rxjsHints.ts +1 -1
  214. package/src/extra/diagnostics/checks/shared.ts +86 -2
  215. package/src/extra/diagnostics/checks/shorthand.ts +115 -0
  216. package/src/extra/diagnostics/checks/sortable.ts +129 -0
  217. package/src/extra/diagnostics/checks/state.ts +100 -7
  218. package/src/extra/diagnostics/checks/statics.ts +48 -0
  219. package/src/extra/diagnostics/checks/strict.ts +10 -67
  220. package/src/extra/diagnostics/checks/timers.ts +80 -0
  221. package/src/extra/diagnostics/checks/viewTransitions.ts +47 -0
  222. package/src/extra/diagnostics/checks/virtual.ts +73 -0
  223. package/src/extra/diagnostics/checks/widgets.ts +109 -0
  224. package/src/extra/diagnostics/checks/wiring.ts +66 -10
  225. package/src/extra/diagnostics/codes.ts +268 -23
  226. package/src/extra/diagnostics/index.ts +34 -9
  227. package/src/extra/diagnostics/legacy.ts +17 -0
  228. package/src/extra/driverFactories.ts +83 -19
  229. package/src/extra/elementCommands.ts +53 -0
  230. package/src/extra/fetchDriver.ts +519 -0
  231. package/src/extra/focusWithin.ts +27 -0
  232. package/src/extra/form.ts +268 -0
  233. package/src/extra/formHelpers.ts +139 -0
  234. package/src/extra/head.ts +106 -0
  235. package/src/extra/hmr.ts +2 -3
  236. package/src/extra/owned.ts +24 -0
  237. package/src/extra/pager.ts +50 -0
  238. package/src/extra/persist.ts +133 -0
  239. package/src/extra/pwa.ts +1 -1
  240. package/src/extra/queryCache.ts +107 -0
  241. package/src/extra/reducers.ts +1 -1
  242. package/src/extra/reduxDevtools.ts +92 -0
  243. package/src/extra/replies.ts +54 -0
  244. package/src/extra/router.ts +323 -0
  245. package/src/extra/run.ts +90 -217
  246. package/src/extra/selection.ts +76 -0
  247. package/src/extra/socketDriver.ts +265 -0
  248. package/src/extra/sortable.ts +377 -0
  249. package/src/extra/ssr.ts +427 -160
  250. package/src/extra/standardSchema.ts +27 -0
  251. package/src/extra/testing.ts +2433 -175
  252. package/src/extra/timers.ts +95 -0
  253. package/src/extra/undo.ts +261 -0
  254. package/src/extra/viewTransitions.ts +38 -0
  255. package/src/extra/virtual.ts +513 -0
  256. package/src/extra/widget.ts +201 -0
  257. package/src/index.d.ts +2631 -117
  258. package/src/index.ts +25 -4
  259. package/src/jsx-runtime.ts +15 -1
  260. package/src/jsx.ts +2 -1
  261. package/src/lazy.ts +50 -7
  262. package/src/portal.ts +3 -1
  263. package/src/pragma/index.ts +256 -133
  264. package/src/react-peers.d.ts +5 -0
  265. package/src/react.d.ts +43 -0
  266. package/src/react.ts +110 -0
  267. package/src/shared.ts +48 -0
  268. package/src/slot.ts +1 -1
  269. package/src/suspense.ts +3 -1
  270. package/src/switchable.ts +6 -121
  271. package/src/transition.ts +3 -1
  272. package/src/ui/accordion.ts +64 -0
  273. package/src/ui/dialog.ts +129 -0
  274. package/src/ui/disclosure.ts +35 -0
  275. package/src/ui/popover.ts +45 -0
  276. package/src/ui/shared.ts +94 -0
  277. package/src/ui/tabs.ts +82 -0
  278. package/src/ui/toaster.ts +198 -0
  279. package/src/ui/tooltip.ts +70 -0
  280. package/src/ui/zag/combobox.ts +115 -0
  281. package/src/ui/zag/menu.ts +40 -0
  282. package/src/ui/zag/select.ts +54 -0
  283. package/src/ui/zag/shared.ts +43 -0
  284. package/src/ui-combobox.d.ts +20 -0
  285. package/src/ui-combobox.ts +6 -0
  286. package/src/ui-menu.d.ts +30 -0
  287. package/src/ui-menu.ts +6 -0
  288. package/src/ui-select.d.ts +17 -0
  289. package/src/ui-select.ts +6 -0
  290. package/src/ui-zag-types.d.ts +42 -0
  291. package/src/ui.d.ts +208 -0
  292. package/src/ui.ts +15 -0
  293. package/src/vike/+config.ts +9 -1
  294. package/src/vike/ClientOnly.ts +1 -1
  295. package/src/vike/onRenderClient.ts +144 -96
  296. package/src/vike/onRenderHtml.ts +69 -26
  297. package/src/vike/types.ts +7 -1
  298. package/src/vite/globalthis-shim.ts +18 -0
  299. package/src/vite/globalthis.ts +56 -0
  300. package/src/vite/plugin.d.ts +22 -3
  301. package/src/vite/plugin.ts +222 -24
  302. package/src/zag.d.ts +64 -0
  303. package/src/zag.ts +238 -0
  304. package/dist/vike/+config.cjs.js +0 -66
  305. package/dist/vike/+config.cjs.js.map +0 -1
  306. package/dist/vike/+config.js.map +0 -1
  307. package/src/component.ts +0 -2301
  308. package/src/cycle/isolate/index.ts +0 -196
  309. package/src/cycle/run/index.ts +0 -151
  310. package/src/cycle/run/internals.ts +0 -143
  311. package/src/cycle/state/Collection.ts +0 -184
  312. package/src/cycle/state/index.ts +0 -5
  313. package/src/cycle/state/pickCombine.ts +0 -201
  314. package/src/cycle/state/pickMerge.ts +0 -122
  315. package/src/cycle/state/withState.ts +0 -47
  316. package/src/pragma/fn.ts +0 -55
@@ -1,347 +1,39 @@
1
1
  'use strict';
2
2
 
3
- var _extend = require('extend');
4
-
5
- const undefinedv = (v) => v === undefined;
6
- const number = (v) => typeof v === 'number';
7
- const string = (v) => typeof v === 'string';
8
- const text = (v) => string(v) || number(v);
9
- const array = (v) => Array.isArray(v);
10
- const object = (v) => typeof v === 'object' && v !== null;
11
- const fun = (v) => typeof v === 'function';
12
- const vnode$1 = (v) => object(v) && 'sel' in v && 'data' in v && 'children' in v && 'text' in v;
13
- const svgPropsMap = {
14
- // Container / structural
15
- svg: 1, g: 1, defs: 1, symbol: 1, use: 1,
16
- // Shape
17
- circle: 1, ellipse: 1, line: 1, path: 1, polygon: 1, polyline: 1, rect: 1,
18
- // Text (no HTML collision: HTML has no <text>, <tspan>, or <textPath>)
19
- text: 1, tspan: 1, textPath: 1,
20
- // Gradient / paint
21
- linearGradient: 1, radialGradient: 1, stop: 1, pattern: 1,
22
- // Clipping / masking
23
- clipPath: 1, mask: 1,
24
- // Marker
25
- marker: 1,
26
- // Filter primitives
27
- filter: 1, feBlend: 1, feColorMatrix: 1, feComponentTransfer: 1,
28
- feComposite: 1, feConvolveMatrix: 1, feDiffuseLighting: 1,
29
- feDisplacementMap: 1, feDropShadow: 1, feFlood: 1, feGaussianBlur: 1,
30
- feImage: 1, feMerge: 1, feMergeNode: 1, feMorphology: 1, feOffset: 1,
31
- fePointLight: 1, feSpecularLighting: 1, feSpotLight: 1, feTile: 1,
32
- feTurbulence: 1, feFuncR: 1, feFuncG: 1, feFuncB: 1, feFuncA: 1,
33
- // Descriptive (excluding 'title' — collides with HTML <title>)
34
- desc: 1, metadata: 1,
35
- // Other (excluding 'a', 'image', 'style', 'script' — collide with HTML)
36
- foreignObject: 1, switch: 1,
37
- // Animation
38
- animate: 1, animateMotion: 1, animateTransform: 1, set: 1, mpath: 1,
39
- };
40
- const svg = (v) => v.sel in svgPropsMap;
41
-
42
- // TODO: stop using extend here
43
- // @ts-ignore — no type declarations for 'extend'
44
- const extend = (...objs) => _extend(true, ...objs);
45
- const assign = (...objs) => _extend(false, ...objs);
46
- const reduceDeep = (arr, fn, initial) => {
47
- let result = initial;
48
- for (let i = 0; i < arr.length; i++) {
49
- const value = arr[i];
50
- if (array(value)) {
51
- result = reduceDeep(value, fn, result);
52
- }
53
- else {
54
- result = fn(result, value);
55
- }
56
- }
57
- return result;
58
- };
59
- const mapObject = (obj, fn) => Object.keys(obj).map((key) => fn(key, obj[key])).reduce((acc, curr) => extend(acc, curr), {});
60
- const deepifyKeys = (obj, modules) => mapObject(obj, (key, val) => {
61
- const dashIndex = key.indexOf('-');
62
- if (dashIndex > -1 && modules[key.slice(0, dashIndex)] !== undefined) {
63
- const moduleData = {
64
- [key.slice(dashIndex + 1)]: val
65
- };
66
- return {
67
- [key.slice(0, dashIndex)]: moduleData
68
- };
69
- }
70
- return { [key]: val };
71
- });
72
- const omit = (key, obj) => mapObject(obj, (mod, data) => mod !== key ? ({ [mod]: data }) : {});
73
-
74
- const createTextElement = (text$1) => !text(text$1) ? undefined : {
75
- text: text$1,
76
- sel: undefined,
77
- data: undefined,
78
- children: undefined,
79
- elm: undefined,
80
- key: undefined
81
- };
82
- const applySvg = (vnode) => {
83
- // Skip text vnodes (sel is undefined) and nullish values
84
- if (!vnode || undefinedv(vnode.sel))
85
- return vnode;
86
- const data = vnode.data || {};
87
- const props = data.props || {};
88
- const propsWithoutClassName = omit('className', props);
89
- const classAttr = props.className !== undefined ? { class: props.className } : {};
90
- const mergedAttrs = assign({}, propsWithoutClassName, classAttr, data.attrs || {});
91
- return assign(vnode, { data: omit('props', assign({}, data, { ns: 'http://www.w3.org/2000/svg', attrs: mergedAttrs })) },
92
- // foreignObject contains HTML, not SVG — do not recurse into its children
93
- { children: (!Array.isArray(vnode.children) || vnode.sel === 'foreignObject')
94
- ? vnode.children
95
- : vnode.children.map((child) => applySvg(child))
96
- });
97
- };
98
- const considerSvg = (vnode) => !svg(vnode) ? vnode : applySvg(vnode);
99
- const rewrites = {
100
- for: 'attrs',
101
- role: 'attrs',
102
- tabindex: 'attrs',
103
- 'aria-*': 'attrs',
104
- key: null
105
- };
106
- const rewriteModules = (data, modules) => mapObject(data, (key, val) => {
107
- const inner = { [key]: val };
108
- if (rewrites[key] && modules[rewrites[key]] !== undefined) {
109
- return { [rewrites[key]]: inner };
110
- }
111
- if (rewrites[key] === null) {
112
- return {};
113
- }
114
- const keys = Object.keys(rewrites);
115
- for (let i = 0; i < keys.length; i++) {
116
- const k = keys[i];
117
- if (k.charAt(k.length - 1) === '*' && key.indexOf(k.slice(0, -1)) === 0 && modules[rewrites[k]] !== undefined) {
118
- return { [rewrites[k]]: inner };
119
- }
120
- }
121
- if (modules[key] !== undefined) {
122
- return { [modules[key] ? modules[key] : key]: val };
123
- }
124
- if (modules.props !== undefined) {
125
- return { props: inner };
126
- }
127
- return inner;
3
+ var sygnal = require('sygnal');
4
+ var jsx_js = require('snabbdom/build/jsx.js');
5
+
6
+ // Tag Fragment so we can identify it even after minification mangles Function.name.
7
+ // Its own module so the JSX runtime entries (which keep snabbdom external, D188) take it
8
+ // without the rest of the snabbdom barrel
9
+ jsx_js.Fragment.__sygnalFragment = true;
10
+ const Fragment = jsx_js.Fragment;
11
+
12
+ // P46-Q (D188): the pragma is the core's. The build makes './pragma/index' the external 'sygnal'
13
+ // (the core entry) and keeps snabbdom external, so an app ships one copy of each; the element
14
+ // fast path is the core createElement's `.a` (the children as one array)
15
+ // G-351: a 'sygnal' without `.a` (an older core next to this runtime): createElement itself
16
+ const createTag = sygnal.createElement.a || ((t, p, c, k) => {
17
+ const { children, ...rest } = p;
18
+ if (k !== undefined)
19
+ rest.key = k;
20
+ return sygnal.createElement(t, rest, ...c);
128
21
  });
129
- const applyFocusProps = (data) => {
130
- if (!data.props)
131
- return data;
132
- const { autoFocus, autoSelect, ...rest } = data.props;
133
- if (!autoFocus && !autoSelect)
134
- return data;
135
- data.props = rest;
136
- data._autoFocus = !!autoFocus;
137
- data._autoSelect = !!autoSelect;
138
- const doFocus = (elm) => {
139
- if (elm && typeof elm.focus === 'function') {
140
- requestAnimationFrame(() => {
141
- elm.focus();
142
- if (autoSelect && typeof elm.select === 'function') {
143
- elm.select();
144
- }
145
- });
146
- }
147
- };
148
- const existingInsert = data.hook?.insert;
149
- const existingPostpatch = data.hook?.postpatch;
150
- data.hook = {
151
- ...data.hook,
152
- insert: (vnode) => {
153
- if (existingInsert)
154
- existingInsert(vnode);
155
- if (autoFocus || autoSelect)
156
- doFocus(vnode.elm);
157
- },
158
- postpatch: (oldVnode, vnode) => {
159
- if (existingPostpatch)
160
- existingPostpatch(oldVnode, vnode);
161
- const wasFocused = oldVnode.data?._autoFocus;
162
- const isFocused = vnode.data?._autoFocus;
163
- if (!wasFocused && isFocused)
164
- doFocus(vnode.elm);
165
- },
166
- };
167
- return data;
168
- };
169
- const applyRefProps = (data, ref) => {
170
- if (!ref)
171
- return data;
172
- const setRef = (elm) => {
173
- if (typeof ref === 'function') {
174
- ref(elm);
175
- }
176
- else if (ref && typeof ref === 'object' && 'current' in ref) {
177
- ref.current = elm;
178
- }
179
- };
180
- const existingInsert = data.hook?.insert;
181
- const existingDestroy = data.hook?.destroy;
182
- const existingPostpatch = data.hook?.postpatch;
183
- data.hook = {
184
- ...data.hook,
185
- insert: (vnode) => {
186
- if (existingInsert)
187
- existingInsert(vnode);
188
- setRef(vnode.elm);
189
- },
190
- postpatch: (_oldVnode, vnode) => {
191
- if (existingPostpatch)
192
- existingPostpatch(_oldVnode, vnode);
193
- setRef(vnode.elm);
194
- },
195
- destroy: (vnode) => {
196
- if (existingDestroy)
197
- existingDestroy(vnode);
198
- setRef(null);
199
- },
200
- };
201
- return data;
202
- };
203
- const sanitizeData = (data, modules) => {
204
- const { ref, ...rest } = data;
205
- const sanitized = applyFocusProps(rewriteModules(deepifyKeys(rest, modules), modules));
206
- return applyRefProps(sanitized, ref);
207
- };
208
- const sanitizeText = (children) => children.length > 1 || !text(children[0]) ? undefined : children[0].toString();
209
- const sanitizeChildren = (children) => reduceDeep(children, (acc, child) => {
210
- const vnode = vnode$1(child) ? child : createTextElement(child);
211
- acc.push(vnode);
212
- return acc;
213
- }, []);
214
- const defaultModules = {
215
- attrs: '',
216
- props: '',
217
- class: '',
218
- data: 'dataset',
219
- style: '',
220
- hook: '',
221
- on: ''
222
- };
223
- const createElementWithModules = (modules) => {
224
- return (sel, data, ...children) => {
225
- if (typeof sel === 'undefined') {
226
- sel = 'UNDEFINED';
227
- // Pre-formatted (formatDiagnostic output) instead of diagnostics/legacy: the JSX
228
- // runtime entries bundle this file standalone and must not carry a second diagnostics core.
229
- console.error('[Sygnal SYG420] JSX: A JSX tag is undefined, so <UNDEFINED> is rendered instead. Import or define the component in this file. https://sygnal.js.org/reference/errors#syg420');
230
- }
231
- const isComponent = fun(sel);
232
- if (isComponent) {
233
- if (sel.__sygnalFragment || sel.name === 'Fragment') {
234
- return sel(data || {}, children);
235
- }
236
- data || (data = {});
237
- if (!sel.isSygnalComponent) {
238
- const name = sel.componentName || sel.label || sel.name || 'FUNCTION_COMPONENT';
239
- const view = sel;
240
- const { model, intent, hmrActions, context, peers, components, initialState, isolatedState, calculated, storeCalculatedInState, DOMSourceName, stateSourceName, onError, debug, preventInstantiation } = sel;
241
- if (preventInstantiation) {
242
- // children always stay an array here: Portal/Suspense/... read vnode.children
243
- return considerSvg({
244
- sel: name,
245
- data: data ? sanitizeData(data, modules) : {},
246
- children: sanitizeChildren(children),
247
- text: undefined,
248
- elm: undefined,
249
- key: data ? data.key : undefined
250
- });
251
- }
252
- const options = { name, view, model, intent, hmrActions, context, peers, components, initialState, isolatedState, calculated, storeCalculatedInState, DOMSourceName, stateSourceName, onError, debug };
253
- data.sygnalOptions = options;
254
- sel = name;
255
- }
256
- else {
257
- const factory = sel;
258
- sel = sel.componentName || sel.label || sel.name || 'sygnal-factory';
259
- data.sygnalFactory = factory;
260
- }
261
- }
262
- // B-011: a vnode is either text-only (`text`, no children) or has a children array,
263
- // never both; snabbdom's diff mishandles a vnode with both. A component placeholder
264
- // keeps an array so the component receives its text child via `children`.
265
- const text = isComponent ? undefined : sanitizeText(children);
266
- return considerSvg({
267
- sel,
268
- data: data ? sanitizeData(data, modules) : {},
269
- children: typeof text !== 'undefined' ? undefined : sanitizeChildren(children),
270
- text,
271
- elm: undefined,
272
- key: data ? data.key : undefined
273
- });
274
- };
275
- };
276
- const createElement = createElementWithModules(defaultModules);
277
-
278
- function vnode(sel, data, children, text, elm) {
279
- const key = data === undefined ? undefined : data.key;
280
- return { sel, data, children, text, elm, key };
281
- }
282
-
283
- /* eslint-disable @typescript-eslint/no-namespace, import/export */
284
- function Fragment$1(data, ...children) {
285
- const flatChildren = flattenAndFilter(children, []);
286
- if (flatChildren.length === 1 &&
287
- !flatChildren[0].sel &&
288
- flatChildren[0].text) {
289
- // only child is a simple text node, pass as text for a simpler vtree
290
- return vnode(undefined, undefined, undefined, flatChildren[0].text, undefined);
291
- }
292
- else {
293
- return vnode(undefined, data !== null && data !== void 0 ? data : {}, flatChildren, undefined, undefined);
294
- }
295
- }
296
- function flattenAndFilter(children, flattened) {
297
- for (const child of children) {
298
- // filter out falsey children, except 0 since zero can be a valid value e.g inside a chart
299
- if (child !== undefined &&
300
- child !== null &&
301
- child !== false &&
302
- child !== "") {
303
- if (Array.isArray(child)) {
304
- flattenAndFilter(child, flattened);
305
- }
306
- else if (typeof child === "string" ||
307
- typeof child === "number" ||
308
- typeof child === "boolean") {
309
- flattened.push(vnode(undefined, undefined, undefined, String(child), undefined));
310
- }
311
- else {
312
- flattened.push(child);
313
- }
314
- }
315
- }
316
- return flattened;
317
- }
318
-
319
- /**
320
- * Local snabbdom re-export barrel.
321
- *
322
- * Imports from specific snabbdom subpaths instead of the main barrel to avoid
323
- * triggering the broken `styleModule` top-level `window` reference in
324
- * snabbdom 3.6.3 (which causes ReferenceError in Node.js environments).
325
- *
326
- * The styleModule is provided separately by ./styleModule.ts with a fixed
327
- * window guard.
328
- */
329
- // Core
330
- // Tag Fragment so we can identify it even after minification mangles Function.name
331
- Fragment$1.__sygnalFragment = true;
332
- const Fragment = Fragment$1;
333
-
334
22
  function jsx(type, props, key) {
335
23
  if (props == null)
336
- return createElement(type, null);
24
+ return sygnal.createElement(type, null);
25
+ if (typeof type == 'string') {
26
+ const c = props.children;
27
+ return createTag(type, props, c === undefined ? [] : Array.isArray(c) ? c : [c], key);
28
+ }
337
29
  const { children, ...rest } = props;
338
30
  if (key !== undefined)
339
31
  rest.key = key;
340
32
  if (children === undefined)
341
- return createElement(type, rest);
33
+ return sygnal.createElement(type, rest);
342
34
  if (Array.isArray(children))
343
- return createElement(type, rest, ...children);
344
- return createElement(type, rest, children);
35
+ return sygnal.createElement(type, rest, ...children);
36
+ return sygnal.createElement(type, rest, children);
345
37
  }
346
38
 
347
39
  exports.Fragment = Fragment;
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-dev-runtime.cjs.js","sources":["../src/pragma/is.ts","../src/pragma/fn.ts","../src/pragma/index.ts","../node_modules/snabbdom/build/vnode.js","../node_modules/snabbdom/build/jsx.js","../src/cycle/dom/snabbdom.ts","../src/jsx-runtime.ts"],"sourcesContent":["\nexport const nullv = (v: any): v is null => v === null\n\nexport const undefinedv = (v: any): v is undefined => v === undefined\n\nexport const number = (v: any): v is number => typeof v === 'number'\n\nexport const string = (v: any): v is string => typeof v === 'string'\n\nexport const text = (v: any): v is string | number => string(v) || number(v)\n\nexport const array = (v: any): v is any[] => Array.isArray(v)\n\nexport const object = (v: any): v is Record<string, any> => typeof v === 'object' && v !== null\n\nexport const fun = (v: any): v is Function => typeof v === 'function'\n\nexport const vnode = (v: any): boolean => object(v) && 'sel' in v && 'data' in v && 'children' in v && 'text' in v\n\nconst svgPropsMap: Record<string, number> = {\n // Container / structural\n svg: 1, g: 1, defs: 1, symbol: 1, use: 1,\n // Shape\n circle: 1, ellipse: 1, line: 1, path: 1, polygon: 1, polyline: 1, rect: 1,\n // Text (no HTML collision: HTML has no <text>, <tspan>, or <textPath>)\n text: 1, tspan: 1, textPath: 1,\n // Gradient / paint\n linearGradient: 1, radialGradient: 1, stop: 1, pattern: 1,\n // Clipping / masking\n clipPath: 1, mask: 1,\n // Marker\n marker: 1,\n // Filter primitives\n filter: 1, feBlend: 1, feColorMatrix: 1, feComponentTransfer: 1,\n feComposite: 1, feConvolveMatrix: 1, feDiffuseLighting: 1,\n feDisplacementMap: 1, feDropShadow: 1, feFlood: 1, feGaussianBlur: 1,\n feImage: 1, feMerge: 1, feMergeNode: 1, feMorphology: 1, feOffset: 1,\n fePointLight: 1, feSpecularLighting: 1, feSpotLight: 1, feTile: 1,\n feTurbulence: 1, feFuncR: 1, feFuncG: 1, feFuncB: 1, feFuncA: 1,\n // Descriptive (excluding 'title' — collides with HTML <title>)\n desc: 1, metadata: 1,\n // Other (excluding 'a', 'image', 'style', 'script' — collide with HTML)\n foreignObject: 1, switch: 1,\n // Animation\n animate: 1, animateMotion: 1, animateTransform: 1, set: 1, mpath: 1,\n}\n\nexport const svg = (v: any): boolean => v.sel in svgPropsMap\n","// TODO: stop using extend here\n// @ts-ignore — no type declarations for 'extend'\nimport _extend from 'extend'\n\nimport * as is from './is'\n\nexport const extend = (...objs: any[]): any => _extend(true, ...objs)\n\nexport const assign = (...objs: any[]): any => _extend(false, ...objs)\n\nexport const reduceDeep = <T>(arr: any[], fn: (acc: T, value: any) => T, initial: T): T => {\n let result = initial\n for (let i = 0; i < arr.length; i++) {\n const value = arr[i]\n if (is.array(value)) {\n result = reduceDeep(value, fn, result)\n } else {\n result = fn(result, value)\n }\n }\n return result\n}\n\nexport const mapObject = (obj: Record<string, any>, fn: (key: string, val: any) => any): any => Object.keys(obj).map(\n (key) => fn(key, obj[key])\n).reduce(\n (acc: any, curr: any) => extend(acc, curr),\n {}\n)\n\nexport const deepifyKeys = (obj: Record<string, any>, modules: Record<string, any>): any => mapObject(obj,\n (key: string, val: any) => {\n const dashIndex = key.indexOf('-')\n if (dashIndex > -1 && modules[key.slice(0, dashIndex)] !== undefined) {\n const moduleData = {\n [key.slice(dashIndex + 1)]: val\n }\n return {\n [key.slice(0, dashIndex)]: moduleData\n }\n }\n return { [key]: val }\n }\n)\n\nexport const flatifyKeys = (obj: Record<string, any>): any => mapObject(obj,\n (mod: string, data: any) => !is.object(data) ? ({ [mod]: data }) : mapObject(\n flatifyKeys(data),\n (key: string, val: any) => ({ [`${mod}-${key}`]: val })\n )\n)\n\nexport const omit = (key: string, obj: Record<string, any>): any => mapObject(obj,\n (mod: string, data: any) => mod !== key ? ({ [mod]: data }) : {}\n)\n","\nimport * as is from './is'\nimport * as fn from './fn'\n\nconst createTextElement = (text: any): any => !is.text(text) ? undefined : {\n text,\n sel: undefined,\n data: undefined,\n children: undefined,\n elm: undefined,\n key: undefined\n}\n\nconst applySvg = (vnode: any): any => {\n // Skip text vnodes (sel is undefined) and nullish values\n if (!vnode || is.undefinedv(vnode.sel)) return vnode\n\n const data = vnode.data || {}\n const props = data.props || {}\n const propsWithoutClassName = fn.omit('className', props)\n const classAttr = props.className !== undefined ? { class: props.className } : {}\n const mergedAttrs = fn.assign({}, propsWithoutClassName, classAttr, data.attrs || {})\n\n return fn.assign(vnode,\n { data: fn.omit('props', fn.assign({}, data,\n { ns: 'http://www.w3.org/2000/svg', attrs: mergedAttrs }\n )) },\n // foreignObject contains HTML, not SVG — do not recurse into its children\n { children: (!Array.isArray(vnode.children) || vnode.sel === 'foreignObject')\n ? vnode.children\n : vnode.children.map((child: any) => applySvg(child))\n }\n )\n}\n\nconst considerSvg = (vnode: any): any => !is.svg(vnode) ? vnode : applySvg(vnode)\n\nconst rewrites: Record<string, string | null> = {\n for: 'attrs',\n role: 'attrs',\n tabindex: 'attrs',\n 'aria-*': 'attrs',\n key: null\n}\n\nconst rewriteModules = (data: any, modules: Record<string, any>): any => fn.mapObject(data, (key: string, val: any) => {\n const inner = { [key]: val }\n if (rewrites[key] && modules[rewrites[key] as string] !== undefined) {\n return { [rewrites[key] as string]: inner }\n }\n if (rewrites[key] === null) {\n return {}\n }\n const keys = Object.keys(rewrites)\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i]\n if (k.charAt(k.length - 1) === '*' && key.indexOf(k.slice(0, -1)) === 0 && modules[rewrites[k] as string] !== undefined) {\n return { [rewrites[k] as string]: inner }\n }\n }\n if (modules[key] !== undefined) {\n return { [modules[key] ? modules[key] : key]: val }\n }\n if (modules.props !== undefined) {\n return { props: inner }\n }\n return inner\n})\n\nconst applyFocusProps = (data: any): any => {\n if (!data.props) return data\n const { autoFocus, autoSelect, ...rest } = data.props\n if (!autoFocus && !autoSelect) return data\n\n data.props = rest\n data._autoFocus = !!autoFocus\n data._autoSelect = !!autoSelect\n\n const doFocus = (elm: any) => {\n if (elm && typeof elm.focus === 'function') {\n requestAnimationFrame(() => {\n elm.focus()\n if (autoSelect && typeof elm.select === 'function') {\n elm.select()\n }\n })\n }\n }\n\n const existingInsert = data.hook?.insert\n const existingPostpatch = data.hook?.postpatch\n data.hook = {\n ...data.hook,\n insert: (vnode: any) => {\n if (existingInsert) existingInsert(vnode)\n if (autoFocus || autoSelect) doFocus(vnode.elm)\n },\n postpatch: (oldVnode: any, vnode: any) => {\n if (existingPostpatch) existingPostpatch(oldVnode, vnode)\n const wasFocused = oldVnode.data?._autoFocus\n const isFocused = vnode.data?._autoFocus\n if (!wasFocused && isFocused) doFocus(vnode.elm)\n },\n }\n return data\n}\n\nconst applyRefProps = (data: any, ref: any): any => {\n if (!ref) return data\n\n const setRef = (elm: any) => {\n if (typeof ref === 'function') {\n ref(elm)\n } else if (ref && typeof ref === 'object' && 'current' in ref) {\n ref.current = elm\n }\n }\n\n const existingInsert = data.hook?.insert\n const existingDestroy = data.hook?.destroy\n const existingPostpatch = data.hook?.postpatch\n data.hook = {\n ...data.hook,\n insert: (vnode: any) => {\n if (existingInsert) existingInsert(vnode)\n setRef(vnode.elm)\n },\n postpatch: (_oldVnode: any, vnode: any) => {\n if (existingPostpatch) existingPostpatch(_oldVnode, vnode)\n setRef(vnode.elm)\n },\n destroy: (vnode: any) => {\n if (existingDestroy) existingDestroy(vnode)\n setRef(null)\n },\n }\n return data\n}\n\nconst sanitizeData = (data: any, modules: Record<string, any>): any => {\n const { ref, ...rest } = data\n const sanitized = applyFocusProps(rewriteModules(fn.deepifyKeys(rest, modules), modules))\n return applyRefProps(sanitized, ref)\n}\n\nconst sanitizeText = (children: any[]): string | undefined => children.length > 1 || !is.text(children[0]) ? undefined : children[0].toString()\n\nconst sanitizeChildren = (children: any[]): any[] => fn.reduceDeep(children, (acc: any[], child: any) => {\n const vnode = is.vnode(child) ? child : createTextElement(child)\n acc.push(vnode)\n return acc\n}\n, [])\n\nconst defaultModules: Record<string, string> = {\n attrs: '',\n props: '',\n class: '',\n data: 'dataset',\n style: '',\n hook: '',\n on: ''\n}\n\nexport const createElementWithModules = (modules: Record<string, any>) => {\n return (sel: any, data: any, ...children: any[]) => {\n if (typeof sel === 'undefined') {\n sel = 'UNDEFINED'\n // Pre-formatted (formatDiagnostic output) instead of diagnostics/legacy: the JSX\n // runtime entries bundle this file standalone and must not carry a second diagnostics core.\n console.error('[Sygnal SYG420] JSX: A JSX tag is undefined, so <UNDEFINED> is rendered instead. Import or define the component in this file. https://sygnal.js.org/reference/errors#syg420')\n }\n const isComponent = is.fun(sel)\n if (isComponent) {\n if ((sel as any).__sygnalFragment || sel.name === 'Fragment') {\n return sel(data || {}, children)\n }\n data ||= {}\n if (!(sel as any).isSygnalComponent) {\n const name = (sel as any).componentName || (sel as any).label || sel.name || 'FUNCTION_COMPONENT'\n const view = sel\n const { model, intent, hmrActions, context, peers, components, initialState, isolatedState, calculated, storeCalculatedInState, DOMSourceName, stateSourceName, onError, debug, preventInstantiation } = sel as any\n if (preventInstantiation) {\n // children always stay an array here: Portal/Suspense/... read vnode.children\n return considerSvg({\n sel: name,\n data: data ? sanitizeData(data, modules) : {},\n children: sanitizeChildren(children),\n text: undefined,\n elm: undefined,\n key: data ? data.key : undefined\n })\n }\n const options = { name, view, model, intent, hmrActions, context, peers, components, initialState, isolatedState, calculated, storeCalculatedInState, DOMSourceName, stateSourceName, onError, debug }\n data.sygnalOptions = options\n sel = name\n } else {\n const factory = sel\n sel = (sel as any).componentName || (sel as any).label || sel.name || 'sygnal-factory'\n data.sygnalFactory = factory\n }\n }\n // B-011: a vnode is either text-only (`text`, no children) or has a children array,\n // never both; snabbdom's diff mishandles a vnode with both. A component placeholder\n // keeps an array so the component receives its text child via `children`.\n const text = isComponent ? undefined : sanitizeText(children)\n return considerSvg({\n sel,\n data: data ? sanitizeData(data, modules) : {},\n children: typeof text !== 'undefined' ? undefined : sanitizeChildren(children),\n text,\n elm: undefined,\n key: data ? data.key : undefined\n })\n }\n}\n\nexport const createElement = createElementWithModules(defaultModules)\n\nexport default {\n createElement,\n createElementWithModules\n}\n","export function vnode(sel, data, children, text, elm) {\n const key = data === undefined ? undefined : data.key;\n return { sel, data, children, text, elm, key };\n}\n//# sourceMappingURL=vnode.js.map","/* eslint-disable @typescript-eslint/no-namespace, import/export */\nimport { vnode } from \"./vnode.js\";\nimport { h } from \"./h.js\";\nexport function Fragment(data, ...children) {\n const flatChildren = flattenAndFilter(children, []);\n if (flatChildren.length === 1 &&\n !flatChildren[0].sel &&\n flatChildren[0].text) {\n // only child is a simple text node, pass as text for a simpler vtree\n return vnode(undefined, undefined, undefined, flatChildren[0].text, undefined);\n }\n else {\n return vnode(undefined, data !== null && data !== void 0 ? data : {}, flatChildren, undefined, undefined);\n }\n}\nfunction flattenAndFilter(children, flattened) {\n for (const child of children) {\n // filter out falsey children, except 0 since zero can be a valid value e.g inside a chart\n if (child !== undefined &&\n child !== null &&\n child !== false &&\n child !== \"\") {\n if (Array.isArray(child)) {\n flattenAndFilter(child, flattened);\n }\n else if (typeof child === \"string\" ||\n typeof child === \"number\" ||\n typeof child === \"boolean\") {\n flattened.push(vnode(undefined, undefined, undefined, String(child), undefined));\n }\n else {\n flattened.push(child);\n }\n }\n }\n return flattened;\n}\n/**\n * jsx/tsx compatible factory function\n * see: https://www.typescriptlang.org/docs/handbook/jsx.html#factory-functions\n */\nexport function jsx(tag, data, ...children) {\n const flatChildren = flattenAndFilter(children, []);\n if (typeof tag === \"function\") {\n // tag is a function component\n return tag(data, flatChildren);\n }\n else {\n if (flatChildren.length === 1 &&\n !flatChildren[0].sel &&\n flatChildren[0].text) {\n // only child is a simple text node, pass as text for a simpler vtree\n return h(tag, data, flatChildren[0].text);\n }\n else {\n return h(tag, data, flatChildren);\n }\n }\n}\n//# sourceMappingURL=jsx.js.map","/**\n * Local snabbdom re-export barrel.\n *\n * Imports from specific snabbdom subpaths instead of the main barrel to avoid\n * triggering the broken `styleModule` top-level `window` reference in\n * snabbdom 3.6.3 (which causes ReferenceError in Node.js environments).\n *\n * The styleModule is provided separately by ./styleModule.ts with a fixed\n * window guard.\n */\n\n// Core\nexport {h, fragment as HFragment} from 'snabbdom/build/h.js';\nexport {init} from 'snabbdom/build/init.js';\nexport type {Options} from 'snabbdom/build/init.js';\nexport {toVNode} from 'snabbdom/build/tovnode.js';\nexport {vnode} from 'snabbdom/build/vnode.js';\nexport type {VNode, VNodeData} from 'snabbdom/build/vnode.js';\nimport {Fragment as _Fragment} from 'snabbdom/build/jsx.js';\n\n// Tag Fragment so we can identify it even after minification mangles Function.name\n(_Fragment as any).__sygnalFragment = true;\nexport const Fragment = _Fragment;\n\n// Module type\nexport type {Module} from 'snabbdom/build/modules/module.js';\n\n// Modules (excluding styleModule — see ./styleModule.ts)\nexport {classModule} from 'snabbdom/build/modules/class.js';\nexport {propsModule} from 'snabbdom/build/modules/props.js';\nexport {attributesModule} from 'snabbdom/build/modules/attributes.js';\nexport {datasetModule} from 'snabbdom/build/modules/dataset.js';\n","import { createElement } from './pragma/index'\nexport { Fragment } from './cycle/dom/snabbdom'\n\nexport function jsx(type: any, props: any, key?: any): any {\n if (props == null) return createElement(type, null)\n const { children, ...rest } = props\n if (key !== undefined) rest.key = key\n if (children === undefined) return createElement(type, rest)\n if (Array.isArray(children)) return createElement(type, rest, ...children)\n return createElement(type, rest, children)\n}\n\nexport { jsx as jsxs }\nexport { jsx as jsxDEV }\n"],"names":["vnode","is.array","text","is.text","is.undefinedv","fn.omit","fn.assign","is.svg","fn.mapObject","fn.deepifyKeys","fn.reduceDeep","is.vnode","is.fun","Fragment","_Fragment"],"mappings":"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","x_google_ignoreList":[3,4]}
1
+ {"version":3,"file":"jsx-dev-runtime.cjs.js","sources":["../src/cycle/dom/fragment.ts","../src/jsx-runtime.ts"],"sourcesContent":["import {Fragment as _Fragment} from 'snabbdom/build/jsx.js';\n\n// Tag Fragment so we can identify it even after minification mangles Function.name.\n// Its own module so the JSX runtime entries (which keep snabbdom external, D188) take it\n// without the rest of the snabbdom barrel\n(_Fragment as any).__sygnalFragment = true;\nexport const Fragment = _Fragment;\n","// P46-Q (D188): the pragma is the core's. The build makes './pragma/index' the external 'sygnal'\n// (the core entry) and keeps snabbdom external, so an app ships one copy of each; the element\n// fast path is the core createElement's `.a` (the children as one array)\nimport { createElement } from './pragma/index'\nexport { Fragment } from './cycle/dom/fragment'\n\n// G-351: a 'sygnal' without `.a` (an older core next to this runtime): createElement itself\nconst createTag = (createElement as any).a || ((t: any, p: any, c: any[], k: any) => {\n const { children, ...rest } = p\n if (k !== undefined) rest.key = k\n return createElement(t, rest, ...c)\n})\n\nexport function jsx(type: any, props: any, key?: any): any {\n if (props == null) return createElement(type, null)\n if (typeof type == 'string') {\n const c = props.children\n return createTag(type, props, c === undefined ? [] : Array.isArray(c) ? c : [c], key)\n }\n const { children, ...rest } = props\n if (key !== undefined) rest.key = key\n if (children === undefined) return createElement(type, rest)\n if (Array.isArray(children)) return createElement(type, rest, ...children)\n return createElement(type, rest, children)\n}\n\nexport { jsx as jsxs }\nexport { jsx as jsxDEV }\n"],"names":["_Fragment","createElement"],"mappings":";;;;;AAEA;AACA;AACA;AACCA,eAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACpC,MAAM,QAAQ,GAAGA;;ACNxB;AACA;AACA;AAIA;AACA,MAAM,SAAS,GAAIC,oBAAqB,CAAC,CAAC,KAAK,CAAC,CAAM,EAAE,CAAM,EAAE,CAAQ,EAAE,CAAM,KAAI;IAClF,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,SAAS;AAAE,QAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;IACjC,OAAOA,oBAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;AACrC,CAAC,CAAC,CAAA;SAEc,GAAG,CAAC,IAAS,EAAE,KAAU,EAAE,GAAS,EAAA;IAClD,IAAI,KAAK,IAAI,IAAI;AAAE,QAAA,OAAOA,oBAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACnD,IAAA,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE;AAC3B,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAA;AACxB,QAAA,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;KACtF;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACnC,IAAI,GAAG,KAAK,SAAS;AAAE,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IACrC,IAAI,QAAQ,KAAK,SAAS;AAAE,QAAA,OAAOA,oBAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC5D,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAOA,oBAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAA;IAC1E,OAAOA,oBAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC5C;;;;;;;"}