sygnal 5.3.7 → 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.
- package/CHANGELOG.md +646 -0
- package/README.md +77 -47
- package/dist/astro/client.cjs.js +33 -8114
- package/dist/astro/client.cjs.js.map +1 -0
- package/dist/astro/client.mjs +33 -8114
- package/dist/astro/client.mjs.map +1 -0
- package/dist/astro/index.cjs.js +1039 -9
- package/dist/astro/index.cjs.js.map +1 -0
- package/dist/astro/index.mjs +1038 -9
- package/dist/astro/index.mjs.map +1 -0
- package/dist/astro/server.cjs.js +3400 -166
- package/dist/astro/server.cjs.js.map +1 -0
- package/dist/astro/server.mjs +3400 -166
- package/dist/astro/server.mjs.map +1 -0
- package/dist/devtools.cjs.js +1431 -0
- package/dist/devtools.cjs.js.map +1 -0
- package/dist/devtools.esm.js +1419 -0
- package/dist/devtools.esm.js.map +1 -0
- package/dist/diagnostics.cjs.js +4033 -0
- package/dist/diagnostics.cjs.js.map +1 -0
- package/dist/diagnostics.esm.js +4003 -0
- package/dist/diagnostics.esm.js.map +1 -0
- package/dist/element.cjs.js +230 -0
- package/dist/element.cjs.js.map +1 -0
- package/dist/element.esm.js +228 -0
- package/dist/element.esm.js.map +1 -0
- package/dist/guide/accessibility.md +257 -0
- package/dist/guide/adapters.md +221 -0
- package/dist/guide/behaviors.md +312 -0
- package/dist/guide/browser-sources.md +203 -0
- package/dist/guide/drag-and-drop.md +342 -0
- package/dist/guide/element-commands.md +306 -0
- package/dist/guide/error-boundaries.md +169 -0
- package/dist/guide/forms-reference.md +381 -0
- package/dist/guide/forms.md +250 -0
- package/dist/guide/http.md +299 -0
- package/dist/guide/inputs.md +173 -0
- package/dist/guide/persistence.md +245 -0
- package/dist/guide/recipes/carousel.md +155 -0
- package/dist/guide/recipes/charts.md +177 -0
- package/dist/guide/recipes/code-editor.md +135 -0
- package/dist/guide/recipes/data-grid.md +155 -0
- package/dist/guide/recipes/data-table.md +196 -0
- package/dist/guide/recipes/i18n.md +222 -0
- package/dist/guide/recipes/icons.md +115 -0
- package/dist/guide/recipes/overview.md +33 -0
- package/dist/guide/recipes/rich-text.md +154 -0
- package/dist/guide/resources.md +471 -0
- package/dist/guide/ssr.md +255 -0
- package/dist/guide/timers.md +178 -0
- package/dist/guide/ui/accordion.md +93 -0
- package/dist/guide/ui/combobox.md +144 -0
- package/dist/guide/ui/dialog.md +124 -0
- package/dist/guide/ui/disclosure.md +60 -0
- package/dist/guide/ui/menu.md +125 -0
- package/dist/guide/ui/overview.md +166 -0
- package/dist/guide/ui/popover.md +101 -0
- package/dist/guide/ui/select.md +114 -0
- package/dist/guide/ui/tabs.md +161 -0
- package/dist/guide/ui/toaster.md +152 -0
- package/dist/guide/ui/tooltip.md +103 -0
- package/dist/guide/undo.md +178 -0
- package/dist/guide/virtual-collections.md +183 -0
- package/dist/guide/web-components.md +179 -0
- package/dist/guide/widgets.md +217 -0
- package/dist/index.cjs.js +15283 -6279
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +3739 -370
- package/dist/index.esm.js +15230 -6274
- package/dist/index.esm.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs.js +27 -329
- package/dist/jsx-dev-runtime.cjs.js.map +1 -0
- package/dist/jsx-dev-runtime.esm.js +20 -322
- package/dist/jsx-dev-runtime.esm.js.map +1 -0
- package/dist/jsx-runtime.cjs.js +27 -329
- package/dist/jsx-runtime.cjs.js.map +1 -0
- package/dist/jsx-runtime.esm.js +20 -322
- package/dist/jsx-runtime.esm.js.map +1 -0
- package/dist/jsx.cjs.js +11 -309
- package/dist/jsx.cjs.js.map +1 -0
- package/dist/jsx.esm.js +9 -310
- package/dist/jsx.esm.js.map +1 -0
- package/dist/react.cjs.js +117 -0
- package/dist/react.cjs.js.map +1 -0
- package/dist/react.esm.js +115 -0
- package/dist/react.esm.js.map +1 -0
- package/dist/shims/globalthis.cjs +20 -0
- package/dist/sygnal.min.js +2 -1
- package/dist/sygnal.min.js.map +1 -0
- package/dist/ui-combobox.cjs.js +169 -0
- package/dist/ui-combobox.cjs.js.map +1 -0
- package/dist/ui-combobox.esm.js +148 -0
- package/dist/ui-combobox.esm.js.map +1 -0
- package/dist/ui-menu.cjs.js +87 -0
- package/dist/ui-menu.cjs.js.map +1 -0
- package/dist/ui-menu.esm.js +66 -0
- package/dist/ui-menu.esm.js.map +1 -0
- package/dist/ui-select.cjs.js +104 -0
- package/dist/ui-select.cjs.js.map +1 -0
- package/dist/ui-select.esm.js +83 -0
- package/dist/ui-select.esm.js.map +1 -0
- package/dist/ui.cjs.js +738 -0
- package/dist/ui.cjs.js.map +1 -0
- package/dist/ui.esm.js +727 -0
- package/dist/ui.esm.js.map +1 -0
- package/dist/vike/ClientOnly.cjs.js +5 -14
- package/dist/vike/ClientOnly.cjs.js.map +1 -0
- package/dist/vike/ClientOnly.mjs +5 -14
- package/dist/vike/ClientOnly.mjs.map +1 -0
- package/dist/vike/{+config.js → config/+config.js} +10 -1
- package/dist/vike/config/+config.js.map +1 -0
- package/dist/vike/config/package.json +6 -0
- package/dist/vike/onRenderClient.cjs.js +166 -95
- package/dist/vike/onRenderClient.cjs.js.map +1 -0
- package/dist/vike/onRenderClient.mjs +166 -95
- package/dist/vike/onRenderClient.mjs.map +1 -0
- package/dist/vike/onRenderHtml.cjs.js +60 -24
- package/dist/vike/onRenderHtml.cjs.js.map +1 -0
- package/dist/vike/onRenderHtml.mjs +61 -25
- package/dist/vike/onRenderHtml.mjs.map +1 -0
- package/dist/vite/plugin.cjs.js +926 -65
- package/dist/vite/plugin.cjs.js.map +1 -0
- package/dist/vite/plugin.mjs +925 -65
- package/dist/vite/plugin.mjs.map +1 -0
- package/dist/zag.cjs.js +408 -0
- package/dist/zag.cjs.js.map +1 -0
- package/dist/zag.esm.js +405 -0
- package/dist/zag.esm.js.map +1 -0
- package/llms.txt +313 -0
- package/package.json +109 -16
- package/src/astro/client.ts +40 -18
- package/src/astro/index.d.ts +48 -1
- package/src/astro/index.ts +106 -9
- package/src/astro/server.ts +11 -3
- package/src/collection.ts +6 -90
- package/src/core/actions.ts +134 -0
- package/src/core/cell.ts +202 -0
- package/src/core/debug.ts +23 -0
- package/src/core/define.ts +242 -0
- package/src/core/hooks.ts +314 -0
- package/src/core/hosts/collection.ts +325 -0
- package/src/core/hosts/switchable.ts +146 -0
- package/src/core/instance.ts +592 -0
- package/src/core/markers/clientonly.ts +13 -0
- package/src/core/markers/lazy.ts +40 -0
- package/src/core/markers/portal.ts +96 -0
- package/src/core/markers/suspense.ts +41 -0
- package/src/core/markers/transition.ts +70 -0
- package/src/core/registry.ts +25 -0
- package/src/core/runtime.ts +573 -0
- package/src/core/statics.ts +104 -0
- package/src/core/teardown.ts +60 -0
- package/src/core/view.ts +37 -0
- package/src/cycle/dom/DocumentDOMSource.ts +13 -8
- package/src/cycle/dom/ElementFinder.ts +7 -9
- package/src/cycle/dom/EventDelegator.ts +174 -223
- package/src/cycle/dom/IsolateModule.ts +65 -35
- package/src/cycle/dom/MainDOMSource.ts +13 -2
- package/src/cycle/dom/PriorityQueue.ts +4 -2
- package/src/cycle/dom/SymbolTree.ts +18 -47
- package/src/cycle/dom/classNameModule.ts +76 -0
- package/src/cycle/dom/controlledInputModule.ts +50 -0
- package/src/cycle/dom/enrichEventStream.ts +29 -45
- package/src/cycle/dom/fragment.ts +7 -0
- package/src/cycle/dom/isolate.ts +30 -27
- package/src/cycle/dom/makeDOMDriver.ts +115 -57
- package/src/cycle/dom/mockDOMSource.ts +83 -9
- package/src/cycle/dom/modules.ts +21 -4
- package/src/cycle/dom/propsModule.ts +65 -0
- package/src/cycle/dom/selectModule.ts +22 -17
- package/src/cycle/dom/snabbdom.ts +1 -6
- package/src/cycle/dom/thunk.ts +3 -0
- package/src/cycle/dom/utils.ts +98 -0
- package/src/cycle/dom/viewTransition.ts +43 -0
- package/src/cycle/state/StateSource.ts +20 -4
- package/src/cycle/state/objIsEqual.ts +50 -0
- package/src/cycle/state/types.ts +0 -10
- package/src/defineComponent.ts +34 -0
- package/src/devtools.d.ts +151 -0
- package/src/devtools.ts +34 -0
- package/src/element.d.ts +59 -0
- package/src/element.ts +235 -0
- package/src/extra/backoff.ts +9 -0
- package/src/extra/behaviors.ts +169 -0
- package/src/extra/browserSignals.ts +23 -0
- package/src/extra/browserSources.ts +326 -0
- package/src/extra/command.ts +3 -3
- package/src/extra/controls.ts +47 -0
- package/src/extra/copyAsTest.ts +286 -0
- package/src/extra/devtools.ts +109 -31
- package/src/extra/devtoolsActions.ts +379 -0
- package/src/extra/devtoolsHook.ts +9 -0
- package/src/extra/devtoolsNext.ts +83 -0
- package/src/extra/diagnostics/checks/actionLog.ts +108 -0
- package/src/extra/diagnostics/checks/behaviors.ts +49 -0
- package/src/extra/diagnostics/checks/browserSources.ts +96 -0
- package/src/extra/diagnostics/checks/collections.ts +67 -0
- package/src/extra/diagnostics/checks/controls.ts +148 -0
- package/src/extra/diagnostics/checks/dataset.ts +57 -0
- package/src/extra/diagnostics/checks/dom.ts +250 -0
- package/src/extra/diagnostics/checks/elementCommands.ts +175 -0
- package/src/extra/diagnostics/checks/events.ts +83 -0
- package/src/extra/diagnostics/checks/fetch.ts +135 -0
- package/src/extra/diagnostics/checks/forms.ts +163 -0
- package/src/extra/diagnostics/checks/index.ts +202 -0
- package/src/extra/diagnostics/checks/inspect.ts +427 -0
- package/src/extra/diagnostics/checks/next.ts +417 -0
- package/src/extra/diagnostics/checks/persist.ts +54 -0
- package/src/extra/diagnostics/checks/props.ts +56 -0
- package/src/extra/diagnostics/checks/public.d.ts +302 -0
- package/src/extra/diagnostics/checks/replies.ts +128 -0
- package/src/extra/diagnostics/checks/router.ts +100 -0
- package/src/extra/diagnostics/checks/rxjsHints.ts +88 -0
- package/src/extra/diagnostics/checks/shared.ts +203 -0
- package/src/extra/diagnostics/checks/shorthand.ts +115 -0
- package/src/extra/diagnostics/checks/sortable.ts +129 -0
- package/src/extra/diagnostics/checks/state.ts +148 -0
- package/src/extra/diagnostics/checks/statics.ts +48 -0
- package/src/extra/diagnostics/checks/strict.ts +55 -0
- package/src/extra/diagnostics/checks/timers.ts +80 -0
- package/src/extra/diagnostics/checks/viewTransitions.ts +47 -0
- package/src/extra/diagnostics/checks/virtual.ts +73 -0
- package/src/extra/diagnostics/checks/widgets.ts +109 -0
- package/src/extra/diagnostics/checks/wiring.ts +121 -0
- package/src/extra/diagnostics/codes.ts +477 -0
- package/src/extra/diagnostics/index.ts +353 -0
- package/src/extra/diagnostics/legacy.ts +76 -0
- package/src/extra/driverFactories.ts +172 -60
- package/src/extra/elementCommands.ts +53 -0
- package/src/extra/eventDriver.ts +4 -0
- package/src/extra/fetchDriver.ts +519 -0
- package/src/extra/flatten.ts +75 -0
- package/src/extra/focusWithin.ts +27 -0
- package/src/extra/form.ts +268 -0
- package/src/extra/formHelpers.ts +139 -0
- package/src/extra/head.ts +106 -0
- package/src/extra/hmr.ts +2 -3
- package/src/extra/owned.ts +24 -0
- package/src/extra/pager.ts +50 -0
- package/src/extra/persist.ts +133 -0
- package/src/extra/pwa.ts +1 -1
- package/src/extra/queryCache.ts +107 -0
- package/src/extra/reducers.ts +13 -6
- package/src/extra/reduxDevtools.ts +92 -0
- package/src/extra/replies.ts +54 -0
- package/src/extra/router.ts +323 -0
- package/src/extra/run.ts +94 -210
- package/src/extra/selection.ts +76 -0
- package/src/extra/socketDriver.ts +265 -0
- package/src/extra/sortable.ts +377 -0
- package/src/extra/ssr.ts +427 -160
- package/src/extra/standardSchema.ts +27 -0
- package/src/extra/testing.ts +3158 -190
- package/src/extra/timers.ts +95 -0
- package/src/extra/undo.ts +261 -0
- package/src/extra/viewTransitions.ts +38 -0
- package/src/extra/virtual.ts +513 -0
- package/src/extra/widget.ts +201 -0
- package/src/extra/xstreamExtras.ts +269 -0
- package/src/index.d.ts +3012 -87
- package/src/index.ts +32 -10
- package/src/jsx-runtime.ts +15 -1
- package/src/jsx.ts +2 -1
- package/src/lazy.ts +50 -7
- package/src/portal.ts +3 -1
- package/src/pragma/index.ts +262 -134
- package/src/react-peers.d.ts +5 -0
- package/src/react.d.ts +43 -0
- package/src/react.ts +110 -0
- package/src/shared.ts +48 -0
- package/src/slot.ts +1 -1
- package/src/suspense.ts +3 -1
- package/src/switchable.ts +6 -119
- package/src/transition.ts +3 -1
- package/src/ui/accordion.ts +64 -0
- package/src/ui/dialog.ts +129 -0
- package/src/ui/disclosure.ts +35 -0
- package/src/ui/popover.ts +45 -0
- package/src/ui/shared.ts +94 -0
- package/src/ui/tabs.ts +82 -0
- package/src/ui/toaster.ts +198 -0
- package/src/ui/tooltip.ts +70 -0
- package/src/ui/zag/combobox.ts +115 -0
- package/src/ui/zag/menu.ts +40 -0
- package/src/ui/zag/select.ts +54 -0
- package/src/ui/zag/shared.ts +43 -0
- package/src/ui-combobox.d.ts +20 -0
- package/src/ui-combobox.ts +6 -0
- package/src/ui-menu.d.ts +30 -0
- package/src/ui-menu.ts +6 -0
- package/src/ui-select.d.ts +17 -0
- package/src/ui-select.ts +6 -0
- package/src/ui-zag-types.d.ts +42 -0
- package/src/ui.d.ts +208 -0
- package/src/ui.ts +15 -0
- package/src/vike/+config.ts +9 -1
- package/src/vike/ClientOnly.ts +1 -1
- package/src/vike/onRenderClient.ts +144 -96
- package/src/vike/onRenderHtml.ts +69 -26
- package/src/vike/types.ts +27 -4
- package/src/vite/globalthis-shim.ts +18 -0
- package/src/vite/globalthis.ts +56 -0
- package/src/vite/plugin.d.ts +114 -2
- package/src/vite/plugin.ts +920 -56
- package/src/zag.d.ts +64 -0
- package/src/zag.ts +238 -0
- package/dist/astro/astro/client.d.ts +0 -5
- package/dist/astro/astro/index.d.ts +0 -16
- package/dist/astro/astro/server.d.ts +0 -12
- package/dist/astro/client.d.ts +0 -5
- package/dist/astro/client.esm.js +0 -4665
- package/dist/astro/collection.d.ts +0 -12
- package/dist/astro/component.d.ts +0 -22
- package/dist/astro/cycle/dom/BodyDOMSource.d.ts +0 -10
- package/dist/astro/cycle/dom/DOMSource.d.ts +0 -11
- package/dist/astro/cycle/dom/DocumentDOMSource.d.ts +0 -12
- package/dist/astro/cycle/dom/ElementFinder.d.ts +0 -8
- package/dist/astro/cycle/dom/EventDelegator.d.ts +0 -34
- package/dist/astro/cycle/dom/IsolateModule.d.ts +0 -23
- package/dist/astro/cycle/dom/MainDOMSource.d.ts +0 -32
- package/dist/astro/cycle/dom/PriorityQueue.d.ts +0 -7
- package/dist/astro/cycle/dom/ScopeChecker.d.ts +0 -9
- package/dist/astro/cycle/dom/SymbolTree.d.ts +0 -9
- package/dist/astro/cycle/dom/VNodeWrapper.d.ts +0 -8
- package/dist/astro/cycle/dom/enrichEventStream.d.ts +0 -24
- package/dist/astro/cycle/dom/fromEvent.d.ts +0 -6
- package/dist/astro/cycle/dom/index.d.ts +0 -8
- package/dist/astro/cycle/dom/isolate.d.ts +0 -9
- package/dist/astro/cycle/dom/makeDOMDriver.d.ts +0 -11
- package/dist/astro/cycle/dom/mockDOMSource.d.ts +0 -17
- package/dist/astro/cycle/dom/modules.d.ts +0 -5
- package/dist/astro/cycle/dom/snabbdom.d.ts +0 -22
- package/dist/astro/cycle/dom/styleModule.d.ts +0 -13
- package/dist/astro/cycle/dom/thunk.d.ts +0 -11
- package/dist/astro/cycle/dom/utils.d.ts +0 -8
- package/dist/astro/cycle/isolate/index.d.ts +0 -42
- package/dist/astro/cycle/run/adapt.d.ts +0 -6
- package/dist/astro/cycle/run/index.d.ts +0 -36
- package/dist/astro/cycle/run/internals.d.ts +0 -8
- package/dist/astro/cycle/run/types.d.ts +0 -49
- package/dist/astro/cycle/state/Collection.d.ts +0 -29
- package/dist/astro/cycle/state/StateSource.d.ts +0 -20
- package/dist/astro/cycle/state/index.d.ts +0 -5
- package/dist/astro/cycle/state/pickCombine.d.ts +0 -3
- package/dist/astro/cycle/state/pickMerge.d.ts +0 -3
- package/dist/astro/cycle/state/types.d.ts +0 -18
- package/dist/astro/cycle/state/withState.d.ts +0 -17
- package/dist/astro/extra/classes.d.ts +0 -7
- package/dist/astro/extra/devtools.d.ts +0 -78
- package/dist/astro/extra/dragDriver.d.ts +0 -20
- package/dist/astro/extra/driverFactories.d.ts +0 -12
- package/dist/astro/extra/eventDriver.d.ts +0 -9
- package/dist/astro/extra/exactState.d.ts +0 -1
- package/dist/astro/extra/hmr.d.ts +0 -17
- package/dist/astro/extra/logDriver.d.ts +0 -2
- package/dist/astro/extra/processDrag.d.ts +0 -19
- package/dist/astro/extra/processForm.d.ts +0 -15
- package/dist/astro/extra/run.d.ts +0 -13
- package/dist/astro/extra/xstreamCompat.d.ts +0 -5
- package/dist/astro/index.d.ts +0 -19
- package/dist/astro/index.esm.js +0 -27
- package/dist/astro/jsx-dev-runtime.d.ts +0 -1
- package/dist/astro/jsx-runtime.d.ts +0 -4
- package/dist/astro/jsx.d.ts +0 -2
- package/dist/astro/pragma/fn.d.ts +0 -7
- package/dist/astro/pragma/index.d.ts +0 -7
- package/dist/astro/pragma/is.d.ts +0 -10
- package/dist/astro/server.d.ts +0 -12
- package/dist/astro/server.esm.js +0 -25
- package/dist/astro/switchable.d.ts +0 -7
- package/dist/collection.d.ts +0 -12
- package/dist/component.d.ts +0 -22
- package/dist/cycle/dom/BodyDOMSource.d.ts +0 -10
- package/dist/cycle/dom/DOMSource.d.ts +0 -11
- package/dist/cycle/dom/DocumentDOMSource.d.ts +0 -12
- package/dist/cycle/dom/ElementFinder.d.ts +0 -8
- package/dist/cycle/dom/EventDelegator.d.ts +0 -34
- package/dist/cycle/dom/IsolateModule.d.ts +0 -23
- package/dist/cycle/dom/MainDOMSource.d.ts +0 -32
- package/dist/cycle/dom/PriorityQueue.d.ts +0 -7
- package/dist/cycle/dom/ScopeChecker.d.ts +0 -9
- package/dist/cycle/dom/SymbolTree.d.ts +0 -9
- package/dist/cycle/dom/VNodeWrapper.d.ts +0 -8
- package/dist/cycle/dom/enrichEventStream.d.ts +0 -24
- package/dist/cycle/dom/fromEvent.d.ts +0 -6
- package/dist/cycle/dom/index.d.ts +0 -8
- package/dist/cycle/dom/isolate.d.ts +0 -9
- package/dist/cycle/dom/makeDOMDriver.d.ts +0 -11
- package/dist/cycle/dom/mockDOMSource.d.ts +0 -17
- package/dist/cycle/dom/modules.d.ts +0 -5
- package/dist/cycle/dom/snabbdom.d.ts +0 -22
- package/dist/cycle/dom/styleModule.d.ts +0 -13
- package/dist/cycle/dom/thunk.d.ts +0 -11
- package/dist/cycle/dom/utils.d.ts +0 -8
- package/dist/cycle/isolate/index.d.ts +0 -42
- package/dist/cycle/run/adapt.d.ts +0 -6
- package/dist/cycle/run/index.d.ts +0 -36
- package/dist/cycle/run/internals.d.ts +0 -8
- package/dist/cycle/run/types.d.ts +0 -49
- package/dist/cycle/state/Collection.d.ts +0 -29
- package/dist/cycle/state/StateSource.d.ts +0 -20
- package/dist/cycle/state/index.d.ts +0 -5
- package/dist/cycle/state/pickCombine.d.ts +0 -3
- package/dist/cycle/state/pickMerge.d.ts +0 -3
- package/dist/cycle/state/types.d.ts +0 -18
- package/dist/cycle/state/withState.d.ts +0 -17
- package/dist/extra/classes.d.ts +0 -7
- package/dist/extra/devtools.d.ts +0 -78
- package/dist/extra/dragDriver.d.ts +0 -20
- package/dist/extra/driverFactories.d.ts +0 -12
- package/dist/extra/eventDriver.d.ts +0 -9
- package/dist/extra/exactState.d.ts +0 -1
- package/dist/extra/hmr.d.ts +0 -17
- package/dist/extra/logDriver.d.ts +0 -2
- package/dist/extra/processDrag.d.ts +0 -19
- package/dist/extra/processForm.d.ts +0 -15
- package/dist/extra/run.d.ts +0 -13
- package/dist/extra/xstreamCompat.d.ts +0 -5
- package/dist/jsx-dev-runtime.d.ts +0 -1
- package/dist/jsx-dev-runtime.js +0 -224
- package/dist/jsx-runtime.d.ts +0 -4
- package/dist/jsx-runtime.js +0 -224
- package/dist/jsx.d.ts +0 -2
- package/dist/pragma/fn.d.ts +0 -7
- package/dist/pragma/index.d.ts +0 -7
- package/dist/pragma/is.d.ts +0 -10
- package/dist/switchable.d.ts +0 -7
- package/dist/vike/+config.cjs.js +0 -65
- package/src/component.ts +0 -2256
- package/src/cycle/isolate/index.ts +0 -196
- package/src/cycle/run/index.ts +0 -151
- package/src/cycle/run/internals.ts +0 -143
- package/src/cycle/state/Collection.ts +0 -174
- package/src/cycle/state/index.ts +0 -5
- package/src/cycle/state/pickCombine.ts +0 -167
- package/src/cycle/state/pickMerge.ts +0 -122
- package/src/cycle/state/withState.ts +0 -47
- package/src/pragma/fn.ts +0 -55
package/src/index.ts
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
// export sygnal core functions
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
4
|
+
export { ABORT } from "./shared"
|
|
5
|
+
export { defineComponent } from "./defineComponent"
|
|
6
|
+
export { Collection } from "./collection"
|
|
7
|
+
export { VirtualCollection } from "./extra/virtual"
|
|
8
|
+
export { Switchable } from "./switchable"
|
|
7
9
|
export { Portal, default as portal } from "./portal"
|
|
8
10
|
export { Transition } from "./transition"
|
|
9
11
|
export { Suspense } from "./suspense"
|
|
10
12
|
export { Slot } from "./slot"
|
|
11
13
|
export { lazy } from "./lazy"
|
|
12
14
|
export { driverFromAsync } from "./extra/driverFactories"
|
|
15
|
+
export { makeFetchDriver } from "./extra/fetchDriver"
|
|
16
|
+
export { queryCache } from "./extra/queryCache"
|
|
17
|
+
export { makeSocketDriver } from "./extra/socketDriver"
|
|
18
|
+
export { makeRouter, makeRouterDriver } from "./extra/router"
|
|
19
|
+
export { makeViewTransitionDOMDriver } from "./extra/viewTransitions"
|
|
20
|
+
export { makeHeadDriver, renderHead } from "./extra/head"
|
|
21
|
+
export { makeTimerDriver } from "./extra/timers"
|
|
22
|
+
export { makeBrowserDriver, makeBrowserDriverWith, intersectionSource, resizeSource, mediaSource, storageSource, visibilitySource, onlineSource, geolocationSource, clipboardSource } from "./extra/browserSources"
|
|
23
|
+
export { focusWithin } from "./extra/focusWithin"
|
|
13
24
|
export { default as processForm } from "./extra/processForm"
|
|
14
25
|
export { default as processDrag } from "./extra/processDrag"
|
|
15
26
|
export { makeDragDriver } from "./extra/dragDriver"
|
|
@@ -20,19 +31,30 @@ export { default as classes } from './extra/classes'
|
|
|
20
31
|
export { createElement } from './pragma/index'
|
|
21
32
|
export { createCommand } from './extra/command'
|
|
22
33
|
export { createRef, createRef$ } from './extra/ref'
|
|
34
|
+
export { controls } from './extra/controls'
|
|
35
|
+
export { defineWidget } from './extra/widget'
|
|
36
|
+
export { defineBehavior } from './extra/behaviors'
|
|
37
|
+
export { pager } from './extra/pager'
|
|
38
|
+
export { form } from './extra/form'
|
|
39
|
+
export { checkForm, formErrors, setField, getField, hasField, fieldName, fieldNames, replyErrors, focusInvalid } from './extra/formHelpers'
|
|
40
|
+
export { selection, isSelected } from './extra/selection'
|
|
41
|
+
export { sortable } from './extra/sortable'
|
|
42
|
+
export { undoable, undo } from './extra/undo'
|
|
43
|
+
export { persist } from './extra/persist'
|
|
23
44
|
export { renderComponent } from './extra/testing'
|
|
24
|
-
export { set, toggle, emit } from './extra/reducers'
|
|
45
|
+
export { set, toggle, emit, event } from './extra/reducers'
|
|
25
46
|
export { makeServiceWorkerDriver, onlineStatus$, createInstallPrompt } from './extra/pwa'
|
|
26
47
|
export { renderToString } from './extra/ssr'
|
|
27
48
|
export { default as xs } from './extra/xstreamCompat'
|
|
28
|
-
export { getDevTools } from './extra/
|
|
49
|
+
export { getDevTools } from './extra/devtoolsHook'
|
|
50
|
+
export { getDiagnostics, clearDiagnostics, onDiagnostic } from './extra/diagnostics/index'
|
|
29
51
|
|
|
30
52
|
// export dom helper functions (h, makeDOMDriver, etc.)
|
|
31
53
|
export * from './cycle/dom/index'
|
|
32
54
|
|
|
33
55
|
// export xstream and most used extra operators
|
|
34
|
-
|
|
35
|
-
export { default
|
|
36
|
-
|
|
37
|
-
export {
|
|
38
|
-
export {
|
|
56
|
+
// ESM ports of xstream/extra/* (behaviour-identical). The CJS originals are not callable from
|
|
57
|
+
// the rollup CJS build or native Node ESM (their default export is `{ default: fn }` there),
|
|
58
|
+
// and ESM classes tree-shake when an app does not use them.
|
|
59
|
+
export { concat, debounce, throttle, delay, dropRepeats, sampleCombine } from './extra/xstreamExtras'
|
|
60
|
+
export { flattenConcurrently, flattenSequentially } from './extra/flatten'
|
package/src/jsx-runtime.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
// P46-Q (D188): the pragma is the core's. The build makes './pragma/index' the external 'sygnal'
|
|
2
|
+
// (the core entry) and keeps snabbdom external, so an app ships one copy of each; the element
|
|
3
|
+
// fast path is the core createElement's `.a` (the children as one array)
|
|
1
4
|
import { createElement } from './pragma/index'
|
|
2
|
-
export { Fragment } from './cycle/dom/
|
|
5
|
+
export { Fragment } from './cycle/dom/fragment'
|
|
6
|
+
|
|
7
|
+
// G-351: a 'sygnal' without `.a` (an older core next to this runtime): createElement itself
|
|
8
|
+
const createTag = (createElement as any).a || ((t: any, p: any, c: any[], k: any) => {
|
|
9
|
+
const { children, ...rest } = p
|
|
10
|
+
if (k !== undefined) rest.key = k
|
|
11
|
+
return createElement(t, rest, ...c)
|
|
12
|
+
})
|
|
3
13
|
|
|
4
14
|
export function jsx(type: any, props: any, key?: any): any {
|
|
5
15
|
if (props == null) return createElement(type, null)
|
|
16
|
+
if (typeof type == 'string') {
|
|
17
|
+
const c = props.children
|
|
18
|
+
return createTag(type, props, c === undefined ? [] : Array.isArray(c) ? c : [c], key)
|
|
19
|
+
}
|
|
6
20
|
const { children, ...rest } = props
|
|
7
21
|
if (key !== undefined) rest.key = key
|
|
8
22
|
if (children === undefined) return createElement(type, rest)
|
package/src/jsx.ts
CHANGED
package/src/lazy.ts
CHANGED
|
@@ -1,6 +1,45 @@
|
|
|
1
|
-
|
|
1
|
+
// the core's resolver for lazy components, registered on import (D157)
|
|
2
|
+
import './core/markers/lazy';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* PLAN-5 B-4 (D103): `when` defers the import: 'visible' starts it when a placeholder enters the
|
|
6
|
+
* viewport (IntersectionObserver, `rootMargin`; at once without one), 'idle' when the browser is
|
|
7
|
+
* idle after a placeholder is on the page (requestIdleCallback with a 2 s timeout; setTimeout
|
|
8
|
+
* without it). Until then the placeholder is data-sygnal-lazy="deferred" (not "loading": a Suspense
|
|
9
|
+
* boundary doesn't wait for it, G-385) plus `data-sygnal-when`, in its own place, so it can scroll
|
|
10
|
+
* into view; once the import starts the owners render again (markers/lazy.ts) and it is the
|
|
11
|
+
* loading one. `placeholderHeight` gives the
|
|
12
|
+
* placeholders a min-height (empty ones stacked together would all be visible at once).
|
|
13
|
+
* SSR and renderComponent's mock DOM run no hooks: the placeholder stays until `load()`
|
|
14
|
+
* (preloading, e.g. on hover). All instances share one import.
|
|
15
|
+
*/
|
|
16
|
+
export interface LazyOptions {
|
|
17
|
+
when?: 'visible' | 'idle';
|
|
18
|
+
/** 'visible': the IntersectionObserver's rootMargin ('200px' starts the import a little earlier) */
|
|
19
|
+
rootMargin?: string;
|
|
20
|
+
/** the placeholder's min-height (a number: px), e.g. the component's expected height */
|
|
21
|
+
placeholderHeight?: number | string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const WHEN = 'data-sygnal-when';
|
|
25
|
+
|
|
26
|
+
export function lazy(loadFn: () => Promise<any>, options?: LazyOptions): any {
|
|
2
27
|
let cachedComponent: any = null;
|
|
3
28
|
let loadError: any = null;
|
|
29
|
+
const g: any = globalThis, when = options?.when, ph = options?.placeholderHeight;
|
|
30
|
+
// the deferred import's trigger (once), its observer, the placeholder's hooks
|
|
31
|
+
let go: any, io: any;
|
|
32
|
+
const start = () => { io?.disconnect(); go?.(); go = 0; };
|
|
33
|
+
const arm = (v: any) => {
|
|
34
|
+
if (!go) return;
|
|
35
|
+
if (when == 'idle') {
|
|
36
|
+
const f = () => start();
|
|
37
|
+
g.requestIdleCallback ? g.requestIdleCallback(f, {timeout: 2000}) : setTimeout(f, 1);
|
|
38
|
+
} else if (!g.IntersectionObserver) start();
|
|
39
|
+
else (io ||= new g.IntersectionObserver((es: any[]) => es.some(e => e.isIntersecting) && start(), {rootMargin: options?.rootMargin})).observe(v.elm);
|
|
40
|
+
};
|
|
41
|
+
const hook = when && {insert: arm, update: (_: any, v: any) => when != 'idle' && arm(v), destroy: (v: any) => io?.unobserve(v.elm)};
|
|
42
|
+
const style = ph != null && {minHeight: typeof ph == 'number' ? ph + 'px' : ph};
|
|
4
43
|
|
|
5
44
|
// View function that delegates to the loaded component
|
|
6
45
|
function LazyWrapper(viewArgs: any) {
|
|
@@ -12,22 +51,22 @@ export function lazy(loadFn: () => Promise<any>): any {
|
|
|
12
51
|
}
|
|
13
52
|
if (!cachedComponent) {
|
|
14
53
|
return {
|
|
15
|
-
sel: 'div', data: { attrs: { 'data-sygnal-lazy': 'loading' } },
|
|
54
|
+
sel: 'div', data: { attrs: { 'data-sygnal-lazy': go ? 'deferred' : 'loading', ...go && { [WHEN]: when } }, ...go && { hook }, ...style && { style } },
|
|
16
55
|
children: [], text: undefined, elm: undefined, key: undefined,
|
|
17
56
|
};
|
|
18
57
|
}
|
|
19
58
|
return cachedComponent(viewArgs);
|
|
20
59
|
}
|
|
21
60
|
|
|
22
|
-
// Start loading eagerly and copy static properties when done
|
|
23
|
-
const
|
|
61
|
+
// Start loading eagerly (with `when`, once triggered) and copy static properties when done
|
|
62
|
+
const started = when && new Promise(r => go = r);
|
|
63
|
+
const loadPromise = (started ? started.then(loadFn) : loadFn())
|
|
24
64
|
.then((mod: any) => {
|
|
25
65
|
cachedComponent = mod.default || mod;
|
|
26
66
|
(LazyWrapper as any).__sygnalLazyLoadedComponent = cachedComponent;
|
|
27
67
|
// Copy static properties so the component works on next render
|
|
28
|
-
const statics = ['model', 'intent', '
|
|
29
|
-
'
|
|
30
|
-
'stateSourceName', 'onError', 'debug', 'componentName'];
|
|
68
|
+
const statics = ['model', 'intent', 'context', 'initialState', 'calculated', 'isolatedState',
|
|
69
|
+
'onError', 'debug', 'componentName', 'connections', 'resources', 'route', 'head', 'uses', 'timers', 'persist', 'viewTransitions', 'browser'];
|
|
31
70
|
for (const key of statics) {
|
|
32
71
|
if (cachedComponent[key] !== undefined && (LazyWrapper as any)[key] === undefined) {
|
|
33
72
|
(LazyWrapper as any)[key] = cachedComponent[key];
|
|
@@ -44,7 +83,11 @@ export function lazy(loadFn: () => Promise<any>): any {
|
|
|
44
83
|
(LazyWrapper as any).__sygnalLazyLoaded = () => cachedComponent !== null;
|
|
45
84
|
(LazyWrapper as any).__sygnalLazyLoadedComponent = null;
|
|
46
85
|
(LazyWrapper as any).__sygnalLazyPromise = loadPromise;
|
|
86
|
+
// a deferred import's start (G-385: Suspense waits for its placeholder from then on)
|
|
87
|
+
(LazyWrapper as any).__sygnalLazyStarted = started;
|
|
47
88
|
(LazyWrapper as any).__sygnalLazyReRenderScheduled = false;
|
|
89
|
+
// start the import now (a deferred one too); resolves once it has loaded (or failed)
|
|
90
|
+
(LazyWrapper as any).load = () => (start(), loadPromise);
|
|
48
91
|
|
|
49
92
|
return LazyWrapper;
|
|
50
93
|
}
|
package/src/portal.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import {h} from './cycle/dom/snabbdom';
|
|
2
|
+
// the core's handler for this marker, registered on import (D157)
|
|
3
|
+
import './core/markers/portal';
|
|
2
4
|
|
|
3
5
|
const Portal = (props: any) => {
|
|
4
6
|
const {children, ...sanitizedProps} = props;
|
|
5
7
|
return h('portal', {props: sanitizedProps}, children);
|
|
6
8
|
};
|
|
7
|
-
(Portal as any).
|
|
9
|
+
(Portal as any).componentName = 'portal';
|
|
8
10
|
(Portal as any).preventInstantiation = true;
|
|
9
11
|
|
|
10
12
|
export {Portal};
|