@studiometa/js-toolkit 3.9.0 → 4.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -101
- package/dist/Base.d.ts +371 -0
- package/dist/Base.js +907 -0
- package/dist/Base.js.map +1 -0
- package/dist/attribute-namespaces.d.ts +67 -0
- package/dist/attribute-namespaces.js +97 -0
- package/dist/attribute-namespaces.js.map +1 -0
- package/dist/attributes.d.ts +137 -0
- package/dist/attributes.js +166 -0
- package/dist/attributes.js.map +1 -0
- package/dist/children-watchers.d.ts +23 -0
- package/dist/children-watchers.js +48 -0
- package/dist/children-watchers.js.map +1 -0
- package/dist/component-brand.d.ts +11 -0
- package/dist/component-brand.js +17 -0
- package/dist/component-brand.js.map +1 -0
- package/dist/component-declarations.d.ts +15 -0
- package/dist/component-declarations.js +31 -0
- package/dist/component-declarations.js.map +1 -0
- package/dist/context-subscription.d.ts +24 -0
- package/dist/context-subscription.js +123 -0
- package/dist/context-subscription.js.map +1 -0
- package/dist/context.d.ts +82 -0
- package/dist/context.js +173 -0
- package/dist/context.js.map +1 -0
- package/dist/decorators.d.ts +70 -0
- package/dist/decorators.js +189 -0
- package/dist/decorators.js.map +1 -0
- package/dist/diagnostic-contract.d.ts +104 -0
- package/dist/diagnostic-contract.js +66 -0
- package/dist/diagnostic-contract.js.map +1 -0
- package/dist/diagnostics.d.ts +41 -0
- package/dist/diagnostics.js +102 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/document-order.d.ts +10 -0
- package/dist/document-order.js +17 -0
- package/dist/document-order.js.map +1 -0
- package/dist/dom-mutations.d.ts +77 -0
- package/dist/dom-mutations.js +238 -0
- package/dist/dom-mutations.js.map +1 -0
- package/dist/events.d.ts +17 -0
- package/dist/events.js +19 -0
- package/dist/events.js.map +1 -0
- package/dist/group.d.ts +55 -0
- package/dist/group.js +34 -0
- package/dist/group.js.map +1 -0
- package/dist/index.d.ts +40 -7
- package/dist/index.js +38 -143
- package/dist/instances.d.ts +86 -0
- package/dist/instances.js +71 -0
- package/dist/instances.js.map +1 -0
- package/dist/manifest.d.ts +36 -0
- package/dist/manifest.js +49 -0
- package/dist/manifest.js.map +1 -0
- package/dist/mount-strategies.d.ts +46 -0
- package/dist/mount-strategies.js +213 -0
- package/dist/mount-strategies.js.map +1 -0
- package/dist/negotiated-events.d.ts +43 -0
- package/dist/negotiated-events.js +98 -0
- package/dist/negotiated-events.js.map +1 -0
- package/dist/protocol-symbols.d.ts +24 -0
- package/dist/protocol-symbols.js +26 -0
- package/dist/protocol-symbols.js.map +1 -0
- package/dist/registry.d.ts +68 -0
- package/dist/registry.js +442 -0
- package/dist/registry.js.map +1 -0
- package/dist/responsive-options.d.ts +34 -0
- package/dist/responsive-options.js +106 -0
- package/dist/responsive-options.js.map +1 -0
- package/dist/scheduler.d.ts +51 -0
- package/dist/scheduler.js +217 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/services/breakpoint.d.ts +35 -0
- package/dist/services/breakpoint.js +130 -0
- package/dist/services/breakpoint.js.map +1 -0
- package/dist/services/drag.d.ts +65 -0
- package/dist/services/drag.js +271 -0
- package/dist/services/drag.js.map +1 -0
- package/dist/services/in-view.d.ts +26 -0
- package/dist/services/in-view.js +83 -0
- package/dist/services/in-view.js.map +1 -0
- package/dist/services/key.d.ts +70 -0
- package/dist/services/key.js +92 -0
- package/dist/services/key.js.map +1 -0
- package/dist/services/media.d.ts +18 -0
- package/dist/services/media.js +50 -0
- package/dist/services/media.js.map +1 -0
- package/dist/services/mixin.d.ts +82 -0
- package/dist/services/mixin.js +141 -0
- package/dist/services/mixin.js.map +1 -0
- package/dist/services/mutation.d.ts +41 -0
- package/dist/services/mutation.js +95 -0
- package/dist/services/mutation.js.map +1 -0
- package/dist/services/pointer.d.ts +49 -0
- package/dist/services/pointer.js +167 -0
- package/dist/services/pointer.js.map +1 -0
- package/dist/services/raf.d.ts +27 -0
- package/dist/services/raf.js +70 -0
- package/dist/services/raf.js.map +1 -0
- package/dist/services/resize.d.ts +38 -0
- package/dist/services/resize.js +82 -0
- package/dist/services/resize.js.map +1 -0
- package/dist/services/scroll-progress-offset.d.ts +17 -0
- package/dist/services/scroll-progress-offset.js +35 -0
- package/dist/services/scroll-progress-offset.js.map +1 -0
- package/dist/services/scroll-progress.d.ts +41 -0
- package/dist/services/scroll-progress.js +125 -0
- package/dist/services/scroll-progress.js.map +1 -0
- package/dist/services/scroll.d.ts +47 -0
- package/dist/services/scroll.js +170 -0
- package/dist/services/scroll.js.map +1 -0
- package/dist/services/service.d.ts +60 -0
- package/dist/services/service.js +110 -0
- package/dist/services/service.js.map +1 -0
- package/dist/services/toggle.d.ts +20 -0
- package/dist/services/toggle.js +42 -0
- package/dist/services/toggle.js.map +1 -0
- package/dist/services/until.d.ts +11 -0
- package/dist/services/until.js +25 -0
- package/dist/services/until.js.map +1 -0
- package/dist/shared-runtime.d.ts +8 -0
- package/dist/shared-runtime.js +43 -0
- package/dist/shared-runtime.js.map +1 -0
- package/dist/storage/createStorage.d.ts +12 -0
- package/dist/storage/createStorage.js +120 -0
- package/dist/storage/createStorage.js.map +1 -0
- package/dist/storage/index.d.ts +28 -0
- package/dist/storage/index.js +50 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/providers.d.ts +52 -0
- package/dist/storage/providers.js +172 -0
- package/dist/storage/providers.js.map +1 -0
- package/dist/storage/serializers.d.ts +10 -0
- package/dist/storage/serializers.js +14 -0
- package/dist/storage/serializers.js.map +1 -0
- package/dist/storage/sync.d.ts +19 -0
- package/dist/storage/sync.js +39 -0
- package/dist/storage/sync.js.map +1 -0
- package/dist/storage/types.d.ts +65 -0
- package/dist/storage/types.js +0 -0
- package/dist/subpaths/BREAKPOINTS.d.ts +2 -0
- package/dist/subpaths/BREAKPOINTS.js +2 -0
- package/dist/subpaths/Base.d.ts +2 -1
- package/dist/subpaths/Base.js +2 -6
- package/dist/subpaths/DIAGNOSTICS.d.ts +2 -0
- package/dist/subpaths/DIAGNOSTICS.js +2 -0
- package/dist/subpaths/DRAG_MODES.d.ts +2 -0
- package/dist/subpaths/DRAG_MODES.js +2 -0
- package/dist/subpaths/EVENTS.d.ts +2 -0
- package/dist/subpaths/EVENTS.js +2 -0
- package/dist/subpaths/MOUNT_ATTRIBUTE.d.ts +2 -0
- package/dist/subpaths/MOUNT_ATTRIBUTE.js +2 -0
- package/dist/subpaths/SWAP_MODES.d.ts +2 -0
- package/dist/subpaths/SWAP_MODES.js +2 -0
- package/dist/subpaths/children.d.ts +2 -0
- package/dist/subpaths/children.js +2 -0
- package/dist/subpaths/component.d.ts +2 -0
- package/dist/subpaths/component.js +2 -0
- package/dist/subpaths/createContext.d.ts +2 -0
- package/dist/subpaths/createContext.js +2 -0
- package/dist/subpaths/createFallbackProvider.d.ts +2 -0
- package/dist/subpaths/createFallbackProvider.js +2 -0
- package/dist/subpaths/createGroup.d.ts +2 -0
- package/dist/subpaths/createGroup.js +2 -0
- package/dist/subpaths/createLocalStorage.d.ts +2 -0
- package/dist/subpaths/createLocalStorage.js +2 -0
- package/dist/subpaths/createMemoryStorageProvider.d.ts +2 -0
- package/dist/subpaths/createMemoryStorageProvider.js +2 -0
- package/dist/subpaths/createService.d.ts +2 -0
- package/dist/subpaths/createService.js +2 -0
- package/dist/subpaths/createServiceMixin.d.ts +2 -0
- package/dist/subpaths/createServiceMixin.js +2 -0
- package/dist/subpaths/createSessionStorage.d.ts +2 -0
- package/dist/subpaths/createSessionStorage.js +2 -0
- package/dist/subpaths/createStorage.d.ts +2 -0
- package/dist/subpaths/createStorage.js +2 -0
- package/dist/subpaths/createUrlSearchParamsInHashProvider.d.ts +2 -0
- package/dist/subpaths/createUrlSearchParamsInHashProvider.js +2 -0
- package/dist/subpaths/createUrlSearchParamsInHashStorage.d.ts +2 -0
- package/dist/subpaths/createUrlSearchParamsInHashStorage.js +2 -0
- package/dist/subpaths/createUrlSearchParamsProvider.d.ts +2 -0
- package/dist/subpaths/createUrlSearchParamsProvider.js +2 -0
- package/dist/subpaths/createUrlSearchParamsStorage.d.ts +2 -0
- package/dist/subpaths/createUrlSearchParamsStorage.js +2 -0
- package/dist/subpaths/defaultScheduler.d.ts +2 -0
- package/dist/subpaths/defaultScheduler.js +2 -0
- package/dist/subpaths/defineManifest.d.ts +2 -1
- package/dist/subpaths/defineManifest.js +2 -6
- package/dist/subpaths/domUpdate.d.ts +2 -0
- package/dist/subpaths/domUpdate.js +2 -0
- package/dist/subpaths/emitExtendable.d.ts +2 -0
- package/dist/subpaths/emitExtendable.js +2 -0
- package/dist/subpaths/fromMetaGlob.d.ts +2 -1
- package/dist/subpaths/fromMetaGlob.js +2 -6
- package/dist/subpaths/fromWebpackContext.d.ts +2 -1
- package/dist/subpaths/fromWebpackContext.js +2 -6
- package/dist/subpaths/getBreakpoints.d.ts +2 -0
- package/dist/subpaths/getBreakpoints.js +2 -0
- package/dist/subpaths/getInstance.d.ts +2 -0
- package/dist/subpaths/getInstance.js +2 -0
- package/dist/subpaths/getInstances.d.ts +2 -1
- package/dist/subpaths/getInstances.js +2 -6
- package/dist/subpaths/getMountedInstances.d.ts +2 -0
- package/dist/subpaths/getMountedInstances.js +2 -0
- package/dist/subpaths/getUnmountedInstances.d.ts +2 -0
- package/dist/subpaths/getUnmountedInstances.js +2 -0
- package/dist/subpaths/inject.d.ts +2 -0
- package/dist/subpaths/inject.js +2 -0
- package/dist/subpaths/injectContext.d.ts +2 -0
- package/dist/subpaths/injectContext.js +2 -0
- package/dist/subpaths/injectContextSync.d.ts +2 -0
- package/dist/subpaths/injectContextSync.js +2 -0
- package/dist/subpaths/jsonSerializer.d.ts +2 -0
- package/dist/subpaths/jsonSerializer.js +2 -0
- package/dist/subpaths/localStorageProvider.d.ts +2 -0
- package/dist/subpaths/localStorageProvider.js +2 -0
- package/dist/subpaths/memoryStorageProvider.d.ts +2 -0
- package/dist/subpaths/memoryStorageProvider.js +2 -0
- package/dist/subpaths/namespaceQualifier.d.ts +2 -0
- package/dist/subpaths/namespaceQualifier.js +2 -0
- package/dist/subpaths/nextFrame.d.ts +2 -0
- package/dist/subpaths/nextFrame.js +2 -0
- package/dist/subpaths/on.d.ts +2 -0
- package/dist/subpaths/on.js +2 -0
- package/dist/subpaths/perTarget.d.ts +2 -0
- package/dist/subpaths/perTarget.js +2 -0
- package/dist/subpaths/provide.d.ts +2 -0
- package/dist/subpaths/provide.js +2 -0
- package/dist/subpaths/provideContext.d.ts +2 -0
- package/dist/subpaths/provideContext.js +2 -0
- package/dist/subpaths/provideRootContext.d.ts +2 -0
- package/dist/subpaths/provideRootContext.js +2 -0
- package/dist/subpaths/read.d.ts +2 -0
- package/dist/subpaths/read.js +2 -0
- package/dist/subpaths/registerComponent.d.ts +2 -1
- package/dist/subpaths/registerComponent.js +2 -6
- package/dist/subpaths/registerComponents.d.ts +2 -1
- package/dist/subpaths/registerComponents.js +2 -6
- package/dist/subpaths/registerManifest.d.ts +2 -1
- package/dist/subpaths/registerManifest.js +2 -6
- package/dist/subpaths/reportDiagnostic.d.ts +2 -0
- package/dist/subpaths/reportDiagnostic.js +2 -0
- package/dist/subpaths/sessionStorageProvider.d.ts +2 -0
- package/dist/subpaths/sessionStorageProvider.js +2 -0
- package/dist/subpaths/setBreakpoints.d.ts +2 -0
- package/dist/subpaths/setBreakpoints.js +2 -0
- package/dist/subpaths/signal.d.ts +2 -0
- package/dist/subpaths/signal.js +2 -0
- package/dist/subpaths/subscribeContext.d.ts +2 -0
- package/dist/subpaths/subscribeContext.js +2 -0
- package/dist/subpaths/swap.d.ts +2 -0
- package/dist/subpaths/swap.js +2 -0
- package/dist/subpaths/toggle.d.ts +2 -0
- package/dist/subpaths/toggle.js +2 -0
- package/dist/subpaths/until.d.ts +2 -0
- package/dist/subpaths/until.js +2 -0
- package/dist/subpaths/urlSearchParamsInHashProvider.d.ts +2 -0
- package/dist/subpaths/urlSearchParamsInHashProvider.js +2 -0
- package/dist/subpaths/urlSearchParamsProvider.d.ts +2 -0
- package/dist/subpaths/urlSearchParamsProvider.js +2 -0
- package/dist/subpaths/useBreakpoint.d.ts +2 -0
- package/dist/subpaths/useBreakpoint.js +2 -0
- package/dist/subpaths/useDrag.d.ts +2 -1
- package/dist/subpaths/useDrag.js +2 -6
- package/dist/subpaths/useInView.d.ts +2 -0
- package/dist/subpaths/useInView.js +2 -0
- package/dist/subpaths/useKey.d.ts +2 -1
- package/dist/subpaths/useKey.js +2 -6
- package/dist/subpaths/useMediaQuery.d.ts +2 -0
- package/dist/subpaths/useMediaQuery.js +2 -0
- package/dist/subpaths/useMutation.d.ts +2 -1
- package/dist/subpaths/useMutation.js +2 -6
- package/dist/subpaths/usePointer.d.ts +2 -1
- package/dist/subpaths/usePointer.js +2 -6
- package/dist/subpaths/usePrefersReducedMotion.d.ts +2 -0
- package/dist/subpaths/usePrefersReducedMotion.js +2 -0
- package/dist/subpaths/useRaf.d.ts +2 -1
- package/dist/subpaths/useRaf.js +2 -6
- package/dist/subpaths/useResize.d.ts +2 -1
- package/dist/subpaths/useResize.js +2 -6
- package/dist/subpaths/useScroll.d.ts +2 -1
- package/dist/subpaths/useScroll.js +2 -6
- package/dist/subpaths/useScrollProgress.d.ts +2 -0
- package/dist/subpaths/useScrollProgress.js +2 -0
- package/dist/subpaths/useWindowScroll.d.ts +2 -0
- package/dist/subpaths/useWindowScroll.js +2 -0
- package/dist/subpaths/useWindowSize.d.ts +2 -0
- package/dist/subpaths/useWindowSize.js +2 -0
- package/dist/subpaths/utils/DEFAULT_DAMP_FACTOR.d.ts +2 -0
- package/dist/subpaths/utils/DEFAULT_DAMP_FACTOR.js +2 -0
- package/dist/subpaths/utils/INERTIA_FRAME.d.ts +2 -0
- package/dist/subpaths/utils/INERTIA_FRAME.js +2 -0
- package/dist/subpaths/utils/MAX_SPRING_RATIO.d.ts +2 -0
- package/dist/subpaths/utils/MAX_SPRING_RATIO.js +2 -0
- package/dist/subpaths/utils/SCROLL_ALIGNMENTS.d.ts +2 -0
- package/dist/subpaths/utils/SCROLL_ALIGNMENTS.js +2 -0
- package/dist/subpaths/utils/SCROLL_AXES.d.ts +2 -0
- package/dist/subpaths/utils/SCROLL_AXES.js +2 -0
- package/dist/subpaths/utils/TRANSFORM_PROPS.d.ts +2 -0
- package/dist/subpaths/utils/TRANSFORM_PROPS.js +2 -0
- package/dist/subpaths/utils/TRANSITION_OPTIONS.d.ts +2 -0
- package/dist/subpaths/utils/TRANSITION_OPTIONS.js +2 -0
- package/dist/subpaths/utils/camelCase.d.ts +2 -1
- package/dist/subpaths/utils/camelCase.js +2 -6
- package/dist/subpaths/utils/capitalize.d.ts +2 -0
- package/dist/subpaths/utils/capitalize.js +2 -0
- package/dist/subpaths/utils/clamp.d.ts +2 -1
- package/dist/subpaths/utils/clamp.js +2 -6
- package/dist/subpaths/utils/clamp01.d.ts +2 -1
- package/dist/subpaths/utils/clamp01.js +2 -6
- package/dist/subpaths/utils/clampDampFactor.d.ts +2 -0
- package/dist/subpaths/utils/clampDampFactor.js +2 -0
- package/dist/subpaths/utils/createEaseInOut.d.ts +2 -1
- package/dist/subpaths/utils/createEaseInOut.js +2 -6
- package/dist/subpaths/utils/createEaseOut.d.ts +2 -1
- package/dist/subpaths/utils/createEaseOut.js +2 -6
- package/dist/subpaths/utils/createElement.d.ts +2 -1
- package/dist/subpaths/utils/createElement.js +2 -6
- package/dist/subpaths/utils/createRange.d.ts +2 -1
- package/dist/subpaths/utils/createRange.js +2 -6
- package/dist/subpaths/utils/damp.d.ts +2 -1
- package/dist/subpaths/utils/damp.js +2 -6
- package/dist/subpaths/utils/debounce.d.ts +2 -1
- package/dist/subpaths/utils/debounce.js +2 -6
- package/dist/subpaths/utils/decayOver.d.ts +2 -0
- package/dist/subpaths/utils/decayOver.js +2 -0
- package/dist/subpaths/utils/deepmerge.d.ts +2 -0
- package/dist/subpaths/utils/deepmerge.js +2 -0
- package/dist/subpaths/utils/easeInCirc.d.ts +2 -1
- package/dist/subpaths/utils/easeInCirc.js +2 -6
- package/dist/subpaths/utils/easeInCubic.d.ts +2 -1
- package/dist/subpaths/utils/easeInCubic.js +2 -6
- package/dist/subpaths/utils/easeInExpo.d.ts +2 -1
- package/dist/subpaths/utils/easeInExpo.js +2 -6
- package/dist/subpaths/utils/easeInOutCirc.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutCirc.js +2 -6
- package/dist/subpaths/utils/easeInOutCubic.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutCubic.js +2 -6
- package/dist/subpaths/utils/easeInOutExpo.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutExpo.js +2 -6
- package/dist/subpaths/utils/easeInOutQuad.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutQuad.js +2 -6
- package/dist/subpaths/utils/easeInOutQuart.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutQuart.js +2 -6
- package/dist/subpaths/utils/easeInOutQuint.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutQuint.js +2 -6
- package/dist/subpaths/utils/easeInOutSine.d.ts +2 -1
- package/dist/subpaths/utils/easeInOutSine.js +2 -6
- package/dist/subpaths/utils/easeInQuad.d.ts +2 -1
- package/dist/subpaths/utils/easeInQuad.js +2 -6
- package/dist/subpaths/utils/easeInQuart.d.ts +2 -1
- package/dist/subpaths/utils/easeInQuart.js +2 -6
- package/dist/subpaths/utils/easeInQuint.d.ts +2 -1
- package/dist/subpaths/utils/easeInQuint.js +2 -6
- package/dist/subpaths/utils/easeInSine.d.ts +2 -1
- package/dist/subpaths/utils/easeInSine.js +2 -6
- package/dist/subpaths/utils/easeLinear.d.ts +2 -1
- package/dist/subpaths/utils/easeLinear.js +2 -6
- package/dist/subpaths/utils/easeOutCirc.d.ts +2 -1
- package/dist/subpaths/utils/easeOutCirc.js +2 -6
- package/dist/subpaths/utils/easeOutCubic.d.ts +2 -1
- package/dist/subpaths/utils/easeOutCubic.js +2 -6
- package/dist/subpaths/utils/easeOutExpo.d.ts +2 -1
- package/dist/subpaths/utils/easeOutExpo.js +2 -6
- package/dist/subpaths/utils/easeOutQuad.d.ts +2 -1
- package/dist/subpaths/utils/easeOutQuad.js +2 -6
- package/dist/subpaths/utils/easeOutQuart.d.ts +2 -1
- package/dist/subpaths/utils/easeOutQuart.js +2 -6
- package/dist/subpaths/utils/easeOutQuint.d.ts +2 -1
- package/dist/subpaths/utils/easeOutQuint.js +2 -6
- package/dist/subpaths/utils/easeOutSine.d.ts +2 -1
- package/dist/subpaths/utils/easeOutSine.js +2 -6
- package/dist/subpaths/utils/enterTransition.d.ts +2 -0
- package/dist/subpaths/utils/enterTransition.js +2 -0
- package/dist/subpaths/utils/fold.d.ts +2 -1
- package/dist/subpaths/utils/fold.js +2 -6
- package/dist/subpaths/utils/getOffsetSizes.d.ts +2 -1
- package/dist/subpaths/utils/getOffsetSizes.js +2 -6
- package/dist/subpaths/utils/historyPush.d.ts +2 -1
- package/dist/subpaths/utils/historyPush.js +2 -6
- package/dist/subpaths/utils/historyReplace.d.ts +2 -1
- package/dist/subpaths/utils/historyReplace.js +2 -6
- package/dist/subpaths/utils/inertiaDecay.d.ts +2 -0
- package/dist/subpaths/utils/inertiaDecay.js +2 -0
- package/dist/subpaths/utils/inertiaFinalValue.d.ts +2 -1
- package/dist/subpaths/utils/inertiaFinalValue.js +2 -6
- package/dist/subpaths/utils/inertiaStep.d.ts +2 -0
- package/dist/subpaths/utils/inertiaStep.js +2 -0
- package/dist/subpaths/utils/inertiaTimeConstant.d.ts +2 -0
- package/dist/subpaths/utils/inertiaTimeConstant.js +2 -0
- package/dist/subpaths/utils/isBoolean.d.ts +2 -1
- package/dist/subpaths/utils/isBoolean.js +2 -6
- package/dist/subpaths/utils/isDefined.d.ts +2 -1
- package/dist/subpaths/utils/isDefined.js +2 -6
- package/dist/subpaths/utils/isFunction.d.ts +2 -1
- package/dist/subpaths/utils/isFunction.js +2 -6
- package/dist/subpaths/utils/isNull.d.ts +2 -1
- package/dist/subpaths/utils/isNull.js +2 -6
- package/dist/subpaths/utils/isNumber.d.ts +2 -1
- package/dist/subpaths/utils/isNumber.js +2 -6
- package/dist/subpaths/utils/isObject.d.ts +2 -1
- package/dist/subpaths/utils/isObject.js +2 -6
- package/dist/subpaths/utils/isString.d.ts +2 -1
- package/dist/subpaths/utils/isString.js +2 -6
- package/dist/subpaths/utils/kebabCase.d.ts +2 -0
- package/dist/subpaths/utils/kebabCase.js +2 -0
- package/dist/subpaths/utils/leaveTransition.d.ts +2 -0
- package/dist/subpaths/utils/leaveTransition.js +2 -0
- package/dist/subpaths/utils/lerp.d.ts +2 -1
- package/dist/subpaths/utils/lerp.js +2 -6
- package/dist/subpaths/utils/loadImage.d.ts +2 -1
- package/dist/subpaths/utils/loadImage.js +2 -6
- package/dist/subpaths/utils/loadLink.d.ts +2 -1
- package/dist/subpaths/utils/loadLink.js +2 -6
- package/dist/subpaths/utils/loadScript.d.ts +2 -1
- package/dist/subpaths/utils/loadScript.js +2 -6
- package/dist/subpaths/utils/lockScroll.d.ts +2 -0
- package/dist/subpaths/utils/lockScroll.js +2 -0
- package/dist/subpaths/utils/lowerCase.d.ts +2 -1
- package/dist/subpaths/utils/lowerCase.js +2 -6
- package/dist/subpaths/utils/map.d.ts +2 -1
- package/dist/subpaths/utils/map.js +2 -6
- package/dist/subpaths/utils/matrix.d.ts +2 -1
- package/dist/subpaths/utils/matrix.js +2 -6
- package/dist/subpaths/utils/mean.d.ts +2 -1
- package/dist/subpaths/utils/mean.js +2 -6
- package/dist/subpaths/utils/memo.d.ts +2 -1
- package/dist/subpaths/utils/memo.js +2 -6
- package/dist/subpaths/utils/noop.d.ts +2 -1
- package/dist/subpaths/utils/noop.js +2 -6
- package/dist/subpaths/utils/noopValue.d.ts +2 -1
- package/dist/subpaths/utils/noopValue.js +2 -6
- package/dist/subpaths/utils/objectToURLSearchParams.d.ts +2 -1
- package/dist/subpaths/utils/objectToURLSearchParams.js +2 -6
- package/dist/subpaths/utils/pascalCase.d.ts +2 -1
- package/dist/subpaths/utils/pascalCase.js +2 -6
- package/dist/subpaths/utils/random.d.ts +2 -1
- package/dist/subpaths/utils/random.js +2 -6
- package/dist/subpaths/utils/randomInt.d.ts +2 -1
- package/dist/subpaths/utils/randomInt.js +2 -6
- package/dist/subpaths/utils/randomItem.d.ts +2 -1
- package/dist/subpaths/utils/randomItem.js +2 -6
- package/dist/subpaths/utils/round.d.ts +2 -1
- package/dist/subpaths/utils/round.js +2 -6
- package/dist/subpaths/utils/saveActiveElement.d.ts +2 -1
- package/dist/subpaths/utils/saveActiveElement.js +2 -6
- package/dist/subpaths/utils/scrollPosition.d.ts +2 -0
- package/dist/subpaths/utils/scrollPosition.js +2 -0
- package/dist/subpaths/utils/scrollTo.d.ts +2 -1
- package/dist/subpaths/utils/scrollTo.js +2 -6
- package/dist/subpaths/utils/selectorFor.d.ts +2 -0
- package/dist/subpaths/utils/selectorFor.js +2 -0
- package/dist/subpaths/utils/setClassesOrStyles.d.ts +2 -0
- package/dist/subpaths/utils/setClassesOrStyles.js +2 -0
- package/dist/subpaths/utils/smoothTo.d.ts +2 -1
- package/dist/subpaths/utils/smoothTo.js +2 -6
- package/dist/subpaths/utils/snakeCase.d.ts +2 -1
- package/dist/subpaths/utils/snakeCase.js +2 -6
- package/dist/subpaths/utils/spring.d.ts +2 -1
- package/dist/subpaths/utils/spring.js +2 -6
- package/dist/subpaths/utils/throttle.d.ts +2 -1
- package/dist/subpaths/utils/throttle.js +2 -6
- package/dist/subpaths/utils/transform.d.ts +2 -1
- package/dist/subpaths/utils/transform.js +2 -6
- package/dist/subpaths/utils/transition.d.ts +2 -1
- package/dist/subpaths/utils/transition.js +2 -6
- package/dist/subpaths/utils/trapFocus.d.ts +2 -1
- package/dist/subpaths/utils/trapFocus.js +2 -6
- package/dist/subpaths/utils/untrapFocus.d.ts +2 -1
- package/dist/subpaths/utils/untrapFocus.js +2 -6
- package/dist/subpaths/utils/upperCase.d.ts +2 -1
- package/dist/subpaths/utils/upperCase.js +2 -6
- package/dist/subpaths/utils/wait.d.ts +2 -1
- package/dist/subpaths/utils/wait.js +2 -6
- package/dist/subpaths/utils/withLeadingCharacters.d.ts +2 -1
- package/dist/subpaths/utils/withLeadingCharacters.js +2 -6
- package/dist/subpaths/utils/withLeadingSlash.d.ts +2 -1
- package/dist/subpaths/utils/withLeadingSlash.js +2 -6
- package/dist/subpaths/utils/withTrailingCharacters.d.ts +2 -1
- package/dist/subpaths/utils/withTrailingCharacters.js +2 -6
- package/dist/subpaths/utils/withTrailingSlash.d.ts +2 -1
- package/dist/subpaths/utils/withTrailingSlash.js +2 -6
- package/dist/subpaths/utils/withoutLeadingCharacters.d.ts +2 -1
- package/dist/subpaths/utils/withoutLeadingCharacters.js +2 -6
- package/dist/subpaths/utils/withoutLeadingCharactersRecursive.d.ts +2 -1
- package/dist/subpaths/utils/withoutLeadingCharactersRecursive.js +2 -6
- package/dist/subpaths/utils/withoutLeadingSlash.d.ts +2 -1
- package/dist/subpaths/utils/withoutLeadingSlash.js +2 -6
- package/dist/subpaths/utils/withoutTrailingCharacters.d.ts +2 -1
- package/dist/subpaths/utils/withoutTrailingCharacters.js +2 -6
- package/dist/subpaths/utils/withoutTrailingCharactersRecursive.d.ts +2 -1
- package/dist/subpaths/utils/withoutTrailingCharactersRecursive.js +2 -6
- package/dist/subpaths/utils/withoutTrailingSlash.d.ts +2 -1
- package/dist/subpaths/utils/withoutTrailingSlash.js +2 -6
- package/dist/subpaths/utils/wrap.d.ts +2 -1
- package/dist/subpaths/utils/wrap.js +2 -6
- package/dist/subpaths/viewTransition.d.ts +2 -0
- package/dist/subpaths/viewTransition.js +2 -0
- package/dist/subpaths/warn.d.ts +2 -0
- package/dist/subpaths/warn.js +2 -0
- package/dist/subpaths/watchAttributeNamespace.d.ts +2 -0
- package/dist/subpaths/watchAttributeNamespace.js +2 -0
- package/dist/subpaths/watchAttributes.d.ts +2 -0
- package/dist/subpaths/watchAttributes.js +2 -0
- package/dist/subpaths/whenDOMSettled.d.ts +2 -0
- package/dist/subpaths/whenDOMSettled.js +2 -0
- package/dist/subpaths/withDrag.d.ts +2 -1
- package/dist/subpaths/withDrag.js +2 -6
- package/dist/subpaths/withInView.d.ts +2 -0
- package/dist/subpaths/withInView.js +2 -0
- package/dist/subpaths/withKey.d.ts +2 -0
- package/dist/subpaths/withKey.js +2 -0
- package/dist/subpaths/withMutation.d.ts +2 -1
- package/dist/subpaths/withMutation.js +2 -6
- package/dist/subpaths/withPointer.d.ts +2 -0
- package/dist/subpaths/withPointer.js +2 -0
- package/dist/subpaths/withRaf.d.ts +2 -0
- package/dist/subpaths/withRaf.js +2 -0
- package/dist/subpaths/withResize.d.ts +2 -0
- package/dist/subpaths/withResize.js +2 -0
- package/dist/subpaths/withScroll.d.ts +2 -0
- package/dist/subpaths/withScroll.js +2 -0
- package/dist/subpaths/withScrollProgress.d.ts +2 -0
- package/dist/subpaths/withScrollProgress.js +2 -0
- package/dist/subpaths/write.d.ts +2 -0
- package/dist/subpaths/write.js +2 -0
- package/dist/swap.d.ts +45 -0
- package/dist/swap.js +84 -0
- package/dist/swap.js.map +1 -0
- package/dist/test/index.d.ts +205 -0
- package/dist/test/index.js +249 -0
- package/dist/test/index.js.map +1 -0
- package/dist/utils/deepmerge.d.ts +31 -0
- package/dist/utils/deepmerge.js +76 -0
- package/dist/utils/deepmerge.js.map +1 -0
- package/dist/utils/dom.d.ts +51 -0
- package/dist/utils/dom.js +55 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/easings.d.ts +130 -0
- package/dist/utils/easings.js +148 -0
- package/dist/utils/easings.js.map +1 -0
- package/dist/utils/focus.d.ts +18 -0
- package/dist/utils/focus.js +63 -0
- package/dist/utils/focus.js.map +1 -0
- package/dist/utils/history.d.ts +29 -28
- package/dist/utils/history.js +60 -64
- package/dist/utils/history.js.map +1 -7
- package/dist/utils/index.d.ts +20 -29
- package/dist/utils/index.js +18 -281
- package/dist/utils/is.d.ts +29 -40
- package/dist/utils/is.js +59 -36
- package/dist/utils/is.js.map +1 -7
- package/dist/utils/load.d.ts +46 -0
- package/dist/utils/load.js +144 -0
- package/dist/utils/load.js.map +1 -0
- package/dist/utils/maths.d.ts +122 -0
- package/dist/utils/maths.js +177 -0
- package/dist/utils/maths.js.map +1 -0
- package/dist/utils/memo.d.ts +14 -4
- package/dist/utils/memo.js +33 -12
- package/dist/utils/memo.js.map +1 -7
- package/dist/utils/noop.d.ts +10 -6
- package/dist/utils/noop.js +16 -8
- package/dist/utils/noop.js.map +1 -7
- package/dist/utils/random.d.ts +17 -19
- package/dist/utils/random.js +22 -13
- package/dist/utils/random.js.map +1 -7
- package/dist/utils/scroll-lock.d.ts +27 -0
- package/dist/utils/scroll-lock.js +58 -0
- package/dist/utils/scroll-lock.js.map +1 -0
- package/dist/utils/scrollTo.d.ts +82 -29
- package/dist/utils/scrollTo.js +158 -106
- package/dist/utils/scrollTo.js.map +1 -7
- package/dist/utils/selectors.d.ts +19 -0
- package/dist/utils/selectors.js +25 -0
- package/dist/utils/selectors.js.map +1 -0
- package/dist/utils/smoothTo.d.ts +77 -0
- package/dist/utils/smoothTo.js +93 -0
- package/dist/utils/smoothTo.js.map +1 -0
- package/dist/utils/strings.d.ts +101 -0
- package/dist/utils/strings.js +169 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/timing.d.ts +21 -0
- package/dist/utils/timing.js +41 -0
- package/dist/utils/timing.js.map +1 -0
- package/dist/utils/transform.d.ts +67 -0
- package/dist/utils/transform.js +74 -0
- package/dist/utils/transform.js.map +1 -0
- package/dist/utils/transition.d.ts +61 -0
- package/dist/utils/transition.js +134 -0
- package/dist/utils/transition.js.map +1 -0
- package/dist/viewTransition.d.ts +17 -0
- package/dist/viewTransition.js +52 -0
- package/dist/viewTransition.js.map +1 -0
- package/package.json +520 -870
- package/dist/Base/Base.d.ts +0 -278
- package/dist/Base/Base.js +0 -535
- package/dist/Base/Base.js.map +0 -7
- package/dist/Base/features.d.ts +0 -16
- package/dist/Base/features.js +0 -36
- package/dist/Base/features.js.map +0 -7
- package/dist/Base/index.d.ts +0 -2
- package/dist/Base/index.js +0 -9
- package/dist/Base/index.js.map +0 -7
- package/dist/Base/managers/AbstractManager.d.ts +0 -30
- package/dist/Base/managers/AbstractManager.js +0 -38
- package/dist/Base/managers/AbstractManager.js.map +0 -7
- package/dist/Base/managers/ChildrenManager.d.ts +0 -81
- package/dist/Base/managers/ChildrenManager.js +0 -168
- package/dist/Base/managers/ChildrenManager.js.map +0 -7
- package/dist/Base/managers/EventsManager.d.ts +0 -109
- package/dist/Base/managers/EventsManager.js +0 -254
- package/dist/Base/managers/EventsManager.js.map +0 -7
- package/dist/Base/managers/OptionsManager.d.ts +0 -80
- package/dist/Base/managers/OptionsManager.js +0 -163
- package/dist/Base/managers/OptionsManager.js.map +0 -7
- package/dist/Base/managers/RefsManager.d.ts +0 -34
- package/dist/Base/managers/RefsManager.js +0 -101
- package/dist/Base/managers/RefsManager.js.map +0 -7
- package/dist/Base/managers/ResponsiveOptionsManager.d.ts +0 -33
- package/dist/Base/managers/ResponsiveOptionsManager.js +0 -67
- package/dist/Base/managers/ResponsiveOptionsManager.js.map +0 -7
- package/dist/Base/managers/ServicesManager.d.ts +0 -85
- package/dist/Base/managers/ServicesManager.js +0 -137
- package/dist/Base/managers/ServicesManager.js.map +0 -7
- package/dist/Base/managers/index.d.ts +0 -7
- package/dist/Base/managers/index.js +0 -17
- package/dist/Base/managers/index.js.map +0 -7
- package/dist/Base/types.d.ts +0 -1682
- package/dist/Base/types.js +0 -1
- package/dist/Base/types.js.map +0 -7
- package/dist/Base/utils.d.ts +0 -54
- package/dist/Base/utils.js +0 -172
- package/dist/Base/utils.js.map +0 -7
- package/dist/autoload/autoload.d.ts +0 -37
- package/dist/autoload/autoload.js +0 -29
- package/dist/autoload/autoload.js.map +0 -7
- package/dist/autoload/define-manifest.d.ts +0 -60
- package/dist/autoload/define-manifest.js +0 -51
- package/dist/autoload/define-manifest.js.map +0 -7
- package/dist/autoload/index.d.ts +0 -6
- package/dist/autoload/index.js +0 -34
- package/dist/autoload/index.js.map +0 -7
- package/dist/autoload/loader.d.ts +0 -108
- package/dist/autoload/loader.js +0 -381
- package/dist/autoload/loader.js.map +0 -7
- package/dist/autoload/modules.d.ts +0 -31
- package/dist/autoload/modules.js +0 -21
- package/dist/autoload/modules.js.map +0 -7
- package/dist/autoload/runtime.d.ts +0 -93
- package/dist/autoload/runtime.js +0 -100
- package/dist/autoload/runtime.js.map +0 -7
- package/dist/autoload/types.d.ts +0 -49
- package/dist/autoload/types.js +0 -1
- package/dist/autoload/types.js.map +0 -7
- package/dist/decorators/index.d.ts +0 -15
- package/dist/decorators/index.js +0 -51
- package/dist/decorators/index.js.map +0 -7
- package/dist/decorators/withBreakpointManager.d.ts +0 -7
- package/dist/decorators/withBreakpointManager.js +0 -82
- package/dist/decorators/withBreakpointManager.js.map +0 -7
- package/dist/decorators/withBreakpointObserver.d.ts +0 -15
- package/dist/decorators/withBreakpointObserver.js +0 -112
- package/dist/decorators/withBreakpointObserver.js.map +0 -7
- package/dist/decorators/withDrag.d.ts +0 -14
- package/dist/decorators/withDrag.js +0 -36
- package/dist/decorators/withDrag.js.map +0 -7
- package/dist/decorators/withExtraConfig.d.ts +0 -8
- package/dist/decorators/withExtraConfig.js +0 -18
- package/dist/decorators/withExtraConfig.js.map +0 -7
- package/dist/decorators/withFreezedOptions.d.ts +0 -10
- package/dist/decorators/withFreezedOptions.js +0 -28
- package/dist/decorators/withFreezedOptions.js.map +0 -7
- package/dist/decorators/withGroup.d.ts +0 -39
- package/dist/decorators/withGroup.js +0 -81
- package/dist/decorators/withGroup.js.map +0 -7
- package/dist/decorators/withIntersectionObserver.d.ts +0 -17
- package/dist/decorators/withIntersectionObserver.js +0 -45
- package/dist/decorators/withIntersectionObserver.js.map +0 -7
- package/dist/decorators/withMountOnMediaQuery.d.ts +0 -18
- package/dist/decorators/withMountOnMediaQuery.js +0 -62
- package/dist/decorators/withMountOnMediaQuery.js.map +0 -7
- package/dist/decorators/withMountWhenInView.d.ts +0 -22
- package/dist/decorators/withMountWhenInView.js +0 -68
- package/dist/decorators/withMountWhenInView.js.map +0 -7
- package/dist/decorators/withMountWhenPrefersMotion.d.ts +0 -6
- package/dist/decorators/withMountWhenPrefersMotion.js +0 -8
- package/dist/decorators/withMountWhenPrefersMotion.js.map +0 -7
- package/dist/decorators/withMutation.d.ts +0 -14
- package/dist/decorators/withMutation.js +0 -36
- package/dist/decorators/withMutation.js.map +0 -7
- package/dist/decorators/withName.d.ts +0 -6
- package/dist/decorators/withName.js +0 -12
- package/dist/decorators/withName.js.map +0 -7
- package/dist/decorators/withRelativePointer.d.ts +0 -14
- package/dist/decorators/withRelativePointer.js +0 -34
- package/dist/decorators/withRelativePointer.js.map +0 -7
- package/dist/decorators/withResponsiveOptions.d.ts +0 -9
- package/dist/decorators/withResponsiveOptions.js +0 -39
- package/dist/decorators/withResponsiveOptions.js.map +0 -7
- package/dist/decorators/withScrolledInView/index.d.ts +0 -2
- package/dist/decorators/withScrolledInView/index.js +0 -7
- package/dist/decorators/withScrolledInView/index.js.map +0 -7
- package/dist/decorators/withScrolledInView/types.d.ts +0 -2
- package/dist/decorators/withScrolledInView/types.js +0 -1
- package/dist/decorators/withScrolledInView/types.js.map +0 -7
- package/dist/decorators/withScrolledInView/utils.d.ts +0 -28
- package/dist/decorators/withScrolledInView/utils.js +0 -78
- package/dist/decorators/withScrolledInView/utils.js.map +0 -7
- package/dist/decorators/withScrolledInView/withScrolledInView.d.ts +0 -59
- package/dist/decorators/withScrolledInView/withScrolledInView.js +0 -176
- package/dist/decorators/withScrolledInView/withScrolledInView.js.map +0 -7
- package/dist/helpers/createApp.d.ts +0 -11
- package/dist/helpers/createApp.js +0 -38
- package/dist/helpers/createApp.js.map +0 -7
- package/dist/helpers/defineFeatures.d.ts +0 -7
- package/dist/helpers/defineFeatures.js +0 -21
- package/dist/helpers/defineFeatures.js.map +0 -7
- package/dist/helpers/getClosestParent.d.ts +0 -6
- package/dist/helpers/getClosestParent.js +0 -13
- package/dist/helpers/getClosestParent.js.map +0 -7
- package/dist/helpers/getDirectChildren.d.ts +0 -23
- package/dist/helpers/getDirectChildren.js +0 -31
- package/dist/helpers/getDirectChildren.js.map +0 -7
- package/dist/helpers/getInstanceFromElement.d.ts +0 -6
- package/dist/helpers/getInstanceFromElement.js +0 -10
- package/dist/helpers/getInstanceFromElement.js.map +0 -7
- package/dist/helpers/importOnInteraction.d.ts +0 -19
- package/dist/helpers/importOnInteraction.js +0 -27
- package/dist/helpers/importOnInteraction.js.map +0 -7
- package/dist/helpers/importOnMediaQuery.d.ts +0 -15
- package/dist/helpers/importOnMediaQuery.js +0 -22
- package/dist/helpers/importOnMediaQuery.js.map +0 -7
- package/dist/helpers/importWhenIdle.d.ts +0 -19
- package/dist/helpers/importWhenIdle.js +0 -24
- package/dist/helpers/importWhenIdle.js.map +0 -7
- package/dist/helpers/importWhenPrefersMotion.d.ts +0 -12
- package/dist/helpers/importWhenPrefersMotion.js +0 -8
- package/dist/helpers/importWhenPrefersMotion.js.map +0 -7
- package/dist/helpers/importWhenVisible.d.ts +0 -19
- package/dist/helpers/importWhenVisible.js +0 -21
- package/dist/helpers/importWhenVisible.js.map +0 -7
- package/dist/helpers/index.d.ts +0 -14
- package/dist/helpers/index.js +0 -38
- package/dist/helpers/index.js.map +0 -7
- package/dist/helpers/logTree.d.ts +0 -17
- package/dist/helpers/logTree.js +0 -59
- package/dist/helpers/logTree.js.map +0 -7
- package/dist/helpers/queryComponent.d.ts +0 -28
- package/dist/helpers/queryComponent.js +0 -88
- package/dist/helpers/queryComponent.js.map +0 -7
- package/dist/helpers/registerComponent.d.ts +0 -24
- package/dist/helpers/registerComponent.js +0 -30
- package/dist/helpers/registerComponent.js.map +0 -7
- package/dist/helpers/registerComponents.d.ts +0 -22
- package/dist/helpers/registerComponents.js +0 -21
- package/dist/helpers/registerComponents.js.map +0 -7
- package/dist/helpers/utils.d.ts +0 -10
- package/dist/helpers/utils.js +0 -15
- package/dist/helpers/utils.js.map +0 -7
- package/dist/index.js.map +0 -7
- package/dist/services/AbstractService.d.ts +0 -98
- package/dist/services/AbstractService.js +0 -114
- package/dist/services/AbstractService.js.map +0 -7
- package/dist/services/DragService.d.ts +0 -138
- package/dist/services/DragService.js +0 -227
- package/dist/services/DragService.js.map +0 -7
- package/dist/services/KeyService.d.ts +0 -30
- package/dist/services/KeyService.js +0 -48
- package/dist/services/KeyService.js.map +0 -7
- package/dist/services/LoadService.d.ts +0 -16
- package/dist/services/LoadService.js +0 -19
- package/dist/services/LoadService.js.map +0 -7
- package/dist/services/MutationService.d.ts +0 -21
- package/dist/services/MutationService.js +0 -34
- package/dist/services/MutationService.js.map +0 -7
- package/dist/services/PointerService.d.ts +0 -57
- package/dist/services/PointerService.js +0 -129
- package/dist/services/PointerService.js.map +0 -7
- package/dist/services/RafService.d.ts +0 -27
- package/dist/services/RafService.js +0 -60
- package/dist/services/RafService.js.map +0 -7
- package/dist/services/ResizeService.d.ts +0 -30
- package/dist/services/ResizeService.js +0 -70
- package/dist/services/ResizeService.js.map +0 -7
- package/dist/services/ScrollService.d.ts +0 -87
- package/dist/services/ScrollService.js +0 -142
- package/dist/services/ScrollService.js.map +0 -7
- package/dist/services/index.d.ts +0 -9
- package/dist/services/index.js +0 -53
- package/dist/services/index.js.map +0 -7
- package/dist/services/utils.d.ts +0 -14
- package/dist/services/utils.js +0 -11
- package/dist/services/utils.js.map +0 -7
- package/dist/subpaths/AbstractService.d.ts +0 -1
- package/dist/subpaths/AbstractService.js +0 -6
- package/dist/subpaths/AbstractService.js.map +0 -7
- package/dist/subpaths/AutoloadHandle.d.ts +0 -1
- package/dist/subpaths/AutoloadHandle.js +0 -1
- package/dist/subpaths/AutoloadHandle.js.map +0 -7
- package/dist/subpaths/AutoloadOptions.d.ts +0 -1
- package/dist/subpaths/AutoloadOptions.js +0 -1
- package/dist/subpaths/AutoloadOptions.js.map +0 -7
- package/dist/subpaths/AutoloadRuntime.d.ts +0 -1
- package/dist/subpaths/AutoloadRuntime.js +0 -1
- package/dist/subpaths/AutoloadRuntime.js.map +0 -7
- package/dist/subpaths/Base.js.map +0 -7
- package/dist/subpaths/BaseAsyncConstructor.d.ts +0 -1
- package/dist/subpaths/BaseAsyncConstructor.js +0 -1
- package/dist/subpaths/BaseAsyncConstructor.js.map +0 -7
- package/dist/subpaths/BaseChildren.d.ts +0 -1
- package/dist/subpaths/BaseChildren.js +0 -1
- package/dist/subpaths/BaseChildren.js.map +0 -7
- package/dist/subpaths/BaseConfig.d.ts +0 -1
- package/dist/subpaths/BaseConfig.js +0 -1
- package/dist/subpaths/BaseConfig.js.map +0 -7
- package/dist/subpaths/BaseConfigComponents.d.ts +0 -1
- package/dist/subpaths/BaseConfigComponents.js +0 -1
- package/dist/subpaths/BaseConfigComponents.js.map +0 -7
- package/dist/subpaths/BaseConstructor.d.ts +0 -1
- package/dist/subpaths/BaseConstructor.js +0 -1
- package/dist/subpaths/BaseConstructor.js.map +0 -7
- package/dist/subpaths/BaseDecorator.d.ts +0 -1
- package/dist/subpaths/BaseDecorator.js +0 -1
- package/dist/subpaths/BaseDecorator.js.map +0 -7
- package/dist/subpaths/BaseEl.d.ts +0 -1
- package/dist/subpaths/BaseEl.js +0 -1
- package/dist/subpaths/BaseEl.js.map +0 -7
- package/dist/subpaths/BaseEventHookParams.d.ts +0 -1
- package/dist/subpaths/BaseEventHookParams.js +0 -1
- package/dist/subpaths/BaseEventHookParams.js.map +0 -7
- package/dist/subpaths/BaseInterface.d.ts +0 -1
- package/dist/subpaths/BaseInterface.js +0 -1
- package/dist/subpaths/BaseInterface.js.map +0 -7
- package/dist/subpaths/BaseOptions.d.ts +0 -1
- package/dist/subpaths/BaseOptions.js +0 -1
- package/dist/subpaths/BaseOptions.js.map +0 -7
- package/dist/subpaths/BaseProps.d.ts +0 -1
- package/dist/subpaths/BaseProps.js +0 -1
- package/dist/subpaths/BaseProps.js.map +0 -7
- package/dist/subpaths/BaseRefs.d.ts +0 -1
- package/dist/subpaths/BaseRefs.js +0 -1
- package/dist/subpaths/BaseRefs.js.map +0 -7
- package/dist/subpaths/ComponentLoadStrategy.d.ts +0 -1
- package/dist/subpaths/ComponentLoadStrategy.js +0 -1
- package/dist/subpaths/ComponentLoadStrategy.js.map +0 -7
- package/dist/subpaths/ComponentLoader.d.ts +0 -1
- package/dist/subpaths/ComponentLoader.js +0 -6
- package/dist/subpaths/ComponentLoader.js.map +0 -7
- package/dist/subpaths/ComponentLoaderOptions.d.ts +0 -1
- package/dist/subpaths/ComponentLoaderOptions.js +0 -1
- package/dist/subpaths/ComponentLoaderOptions.js.map +0 -7
- package/dist/subpaths/ComponentLoaderStartOptions.d.ts +0 -1
- package/dist/subpaths/ComponentLoaderStartOptions.js +0 -1
- package/dist/subpaths/ComponentLoaderStartOptions.js.map +0 -7
- package/dist/subpaths/ComponentManifest.d.ts +0 -1
- package/dist/subpaths/ComponentManifest.js +0 -1
- package/dist/subpaths/ComponentManifest.js.map +0 -7
- package/dist/subpaths/ComponentManifestEntry.d.ts +0 -1
- package/dist/subpaths/ComponentManifestEntry.js +0 -1
- package/dist/subpaths/ComponentManifestEntry.js.map +0 -7
- package/dist/subpaths/ComponentOverride.d.ts +0 -1
- package/dist/subpaths/ComponentOverride.js +0 -1
- package/dist/subpaths/ComponentOverride.js.map +0 -7
- package/dist/subpaths/CreateAppOptions.d.ts +0 -1
- package/dist/subpaths/CreateAppOptions.js +0 -1
- package/dist/subpaths/CreateAppOptions.js.map +0 -7
- package/dist/subpaths/DEFAULT_DIAGNOSTIC_PREFIX.d.ts +0 -1
- package/dist/subpaths/DEFAULT_DIAGNOSTIC_PREFIX.js +0 -6
- package/dist/subpaths/DEFAULT_DIAGNOSTIC_PREFIX.js.map +0 -7
- package/dist/subpaths/DefineManifestOptions.d.ts +0 -1
- package/dist/subpaths/DefineManifestOptions.js +0 -1
- package/dist/subpaths/DefineManifestOptions.js.map +0 -7
- package/dist/subpaths/DragDecoratorOptions.d.ts +0 -1
- package/dist/subpaths/DragDecoratorOptions.js +0 -1
- package/dist/subpaths/DragDecoratorOptions.js.map +0 -7
- package/dist/subpaths/DragService.d.ts +0 -1
- package/dist/subpaths/DragService.js +0 -6
- package/dist/subpaths/DragService.js.map +0 -7
- package/dist/subpaths/DragServiceInterface.d.ts +0 -1
- package/dist/subpaths/DragServiceInterface.js +0 -1
- package/dist/subpaths/DragServiceInterface.js.map +0 -7
- package/dist/subpaths/DragServiceOptions.d.ts +0 -1
- package/dist/subpaths/DragServiceOptions.js +0 -1
- package/dist/subpaths/DragServiceOptions.js.map +0 -7
- package/dist/subpaths/DragServiceProps.d.ts +0 -1
- package/dist/subpaths/DragServiceProps.js +0 -1
- package/dist/subpaths/DragServiceProps.js.map +0 -7
- package/dist/subpaths/IDLE_TIMEOUT.d.ts +0 -1
- package/dist/subpaths/IDLE_TIMEOUT.js +0 -6
- package/dist/subpaths/IDLE_TIMEOUT.js.map +0 -7
- package/dist/subpaths/KeyService.d.ts +0 -1
- package/dist/subpaths/KeyService.js +0 -6
- package/dist/subpaths/KeyService.js.map +0 -7
- package/dist/subpaths/KeyServiceInterface.d.ts +0 -1
- package/dist/subpaths/KeyServiceInterface.js +0 -1
- package/dist/subpaths/KeyServiceInterface.js.map +0 -7
- package/dist/subpaths/KeyServiceProps.d.ts +0 -1
- package/dist/subpaths/KeyServiceProps.js +0 -1
- package/dist/subpaths/KeyServiceProps.js.map +0 -7
- package/dist/subpaths/LoadService.d.ts +0 -1
- package/dist/subpaths/LoadService.js +0 -6
- package/dist/subpaths/LoadService.js.map +0 -7
- package/dist/subpaths/LoadServiceInterface.d.ts +0 -1
- package/dist/subpaths/LoadServiceInterface.js +0 -1
- package/dist/subpaths/LoadServiceInterface.js.map +0 -7
- package/dist/subpaths/LoadServiceProps.d.ts +0 -1
- package/dist/subpaths/LoadServiceProps.js +0 -1
- package/dist/subpaths/LoadServiceProps.js.map +0 -7
- package/dist/subpaths/LoaderDependencies.d.ts +0 -1
- package/dist/subpaths/LoaderDependencies.js +0 -1
- package/dist/subpaths/LoaderDependencies.js.map +0 -7
- package/dist/subpaths/Managers.d.ts +0 -1
- package/dist/subpaths/Managers.js +0 -1
- package/dist/subpaths/Managers.js.map +0 -7
- package/dist/subpaths/ModuleRecord.d.ts +0 -1
- package/dist/subpaths/ModuleRecord.js +0 -1
- package/dist/subpaths/ModuleRecord.js.map +0 -7
- package/dist/subpaths/MutationDecoratorOptions.d.ts +0 -1
- package/dist/subpaths/MutationDecoratorOptions.js +0 -1
- package/dist/subpaths/MutationDecoratorOptions.js.map +0 -7
- package/dist/subpaths/MutationService.d.ts +0 -1
- package/dist/subpaths/MutationService.js +0 -6
- package/dist/subpaths/MutationService.js.map +0 -7
- package/dist/subpaths/MutationServiceInterface.d.ts +0 -1
- package/dist/subpaths/MutationServiceInterface.js +0 -1
- package/dist/subpaths/MutationServiceInterface.js.map +0 -7
- package/dist/subpaths/MutationServiceOptions.d.ts +0 -1
- package/dist/subpaths/MutationServiceOptions.js +0 -1
- package/dist/subpaths/MutationServiceOptions.js.map +0 -7
- package/dist/subpaths/MutationServiceProps.d.ts +0 -1
- package/dist/subpaths/MutationServiceProps.js +0 -1
- package/dist/subpaths/MutationServiceProps.js.map +0 -7
- package/dist/subpaths/NormalizedOffset.d.ts +0 -1
- package/dist/subpaths/NormalizedOffset.js +0 -1
- package/dist/subpaths/NormalizedOffset.js.map +0 -7
- package/dist/subpaths/OffsetValue.d.ts +0 -1
- package/dist/subpaths/OffsetValue.js +0 -1
- package/dist/subpaths/OffsetValue.js.map +0 -7
- package/dist/subpaths/PointerService.d.ts +0 -1
- package/dist/subpaths/PointerService.js +0 -6
- package/dist/subpaths/PointerService.js.map +0 -7
- package/dist/subpaths/PointerServiceInterface.d.ts +0 -1
- package/dist/subpaths/PointerServiceInterface.js +0 -1
- package/dist/subpaths/PointerServiceInterface.js.map +0 -7
- package/dist/subpaths/PointerServiceProps.d.ts +0 -1
- package/dist/subpaths/PointerServiceProps.js +0 -1
- package/dist/subpaths/PointerServiceProps.js.map +0 -7
- package/dist/subpaths/QueryOptions.d.ts +0 -1
- package/dist/subpaths/QueryOptions.js +0 -1
- package/dist/subpaths/QueryOptions.js.map +0 -7
- package/dist/subpaths/RafService.d.ts +0 -1
- package/dist/subpaths/RafService.js +0 -6
- package/dist/subpaths/RafService.js.map +0 -7
- package/dist/subpaths/RafServiceInterface.d.ts +0 -1
- package/dist/subpaths/RafServiceInterface.js +0 -1
- package/dist/subpaths/RafServiceInterface.js.map +0 -7
- package/dist/subpaths/RafServiceProps.d.ts +0 -1
- package/dist/subpaths/RafServiceProps.js +0 -1
- package/dist/subpaths/RafServiceProps.js.map +0 -7
- package/dist/subpaths/RegisterManifestOptions.d.ts +0 -1
- package/dist/subpaths/RegisterManifestOptions.js +0 -1
- package/dist/subpaths/RegisterManifestOptions.js.map +0 -7
- package/dist/subpaths/RelativePointerDecoratorOptions.d.ts +0 -1
- package/dist/subpaths/RelativePointerDecoratorOptions.js +0 -1
- package/dist/subpaths/RelativePointerDecoratorOptions.js.map +0 -7
- package/dist/subpaths/RelativePointerInterface.d.ts +0 -1
- package/dist/subpaths/RelativePointerInterface.js +0 -1
- package/dist/subpaths/RelativePointerInterface.js.map +0 -7
- package/dist/subpaths/ResizeService.d.ts +0 -1
- package/dist/subpaths/ResizeService.js +0 -6
- package/dist/subpaths/ResizeService.js.map +0 -7
- package/dist/subpaths/ResizeServiceInterface.d.ts +0 -1
- package/dist/subpaths/ResizeServiceInterface.js +0 -1
- package/dist/subpaths/ResizeServiceInterface.js.map +0 -7
- package/dist/subpaths/ResizeServiceProps.d.ts +0 -1
- package/dist/subpaths/ResizeServiceProps.js +0 -1
- package/dist/subpaths/ResizeServiceProps.js.map +0 -7
- package/dist/subpaths/ScrollInViewProps.d.ts +0 -1
- package/dist/subpaths/ScrollInViewProps.js +0 -1
- package/dist/subpaths/ScrollInViewProps.js.map +0 -7
- package/dist/subpaths/ScrollService.d.ts +0 -1
- package/dist/subpaths/ScrollService.js +0 -6
- package/dist/subpaths/ScrollService.js.map +0 -7
- package/dist/subpaths/ScrollServiceInterface.d.ts +0 -1
- package/dist/subpaths/ScrollServiceInterface.js +0 -1
- package/dist/subpaths/ScrollServiceInterface.js.map +0 -7
- package/dist/subpaths/ScrollServiceProps.d.ts +0 -1
- package/dist/subpaths/ScrollServiceProps.js +0 -1
- package/dist/subpaths/ScrollServiceProps.js.map +0 -7
- package/dist/subpaths/ServiceConfig.d.ts +0 -1
- package/dist/subpaths/ServiceConfig.js +0 -1
- package/dist/subpaths/ServiceConfig.js.map +0 -7
- package/dist/subpaths/ServiceInterface.d.ts +0 -1
- package/dist/subpaths/ServiceInterface.js +0 -1
- package/dist/subpaths/ServiceInterface.js.map +0 -7
- package/dist/subpaths/VISIBLE_ROOT_MARGIN.d.ts +0 -1
- package/dist/subpaths/VISIBLE_ROOT_MARGIN.js +0 -6
- package/dist/subpaths/VISIBLE_ROOT_MARGIN.js.map +0 -7
- package/dist/subpaths/WebpackContextLike.d.ts +0 -1
- package/dist/subpaths/WebpackContextLike.js +0 -1
- package/dist/subpaths/WebpackContextLike.js.map +0 -7
- package/dist/subpaths/WithBreakpointObserverInterface.d.ts +0 -1
- package/dist/subpaths/WithBreakpointObserverInterface.js +0 -1
- package/dist/subpaths/WithBreakpointObserverInterface.js.map +0 -7
- package/dist/subpaths/WithBreakpointObserverProps.d.ts +0 -1
- package/dist/subpaths/WithBreakpointObserverProps.js +0 -1
- package/dist/subpaths/WithBreakpointObserverProps.js.map +0 -7
- package/dist/subpaths/WithDragInterface.d.ts +0 -1
- package/dist/subpaths/WithDragInterface.js +0 -1
- package/dist/subpaths/WithDragInterface.js.map +0 -7
- package/dist/subpaths/WithFreezedOptionsInterface.d.ts +0 -1
- package/dist/subpaths/WithFreezedOptionsInterface.js +0 -1
- package/dist/subpaths/WithFreezedOptionsInterface.js.map +0 -7
- package/dist/subpaths/WithGroupInterface.d.ts +0 -1
- package/dist/subpaths/WithGroupInterface.js +0 -1
- package/dist/subpaths/WithGroupInterface.js.map +0 -7
- package/dist/subpaths/WithGroupOptions.d.ts +0 -1
- package/dist/subpaths/WithGroupOptions.js +0 -1
- package/dist/subpaths/WithGroupOptions.js.map +0 -7
- package/dist/subpaths/WithGroupProps.d.ts +0 -1
- package/dist/subpaths/WithGroupProps.js +0 -1
- package/dist/subpaths/WithGroupProps.js.map +0 -7
- package/dist/subpaths/WithIntersectionObserverInterface.d.ts +0 -1
- package/dist/subpaths/WithIntersectionObserverInterface.js +0 -1
- package/dist/subpaths/WithIntersectionObserverInterface.js.map +0 -7
- package/dist/subpaths/WithIntersectionObserverProps.d.ts +0 -1
- package/dist/subpaths/WithIntersectionObserverProps.js +0 -1
- package/dist/subpaths/WithIntersectionObserverProps.js.map +0 -7
- package/dist/subpaths/WithMountWhenInViewInterface.d.ts +0 -1
- package/dist/subpaths/WithMountWhenInViewInterface.js +0 -1
- package/dist/subpaths/WithMountWhenInViewInterface.js.map +0 -7
- package/dist/subpaths/WithMountWhenInViewProps.d.ts +0 -1
- package/dist/subpaths/WithMountWhenInViewProps.js +0 -1
- package/dist/subpaths/WithMountWhenInViewProps.js.map +0 -7
- package/dist/subpaths/WithMutationInterface.d.ts +0 -1
- package/dist/subpaths/WithMutationInterface.js +0 -1
- package/dist/subpaths/WithMutationInterface.js.map +0 -7
- package/dist/subpaths/WithScrolledInViewInterface.d.ts +0 -1
- package/dist/subpaths/WithScrolledInViewInterface.js +0 -1
- package/dist/subpaths/WithScrolledInViewInterface.js.map +0 -7
- package/dist/subpaths/WithScrolledInViewOptions.d.ts +0 -1
- package/dist/subpaths/WithScrolledInViewOptions.js +0 -1
- package/dist/subpaths/WithScrolledInViewOptions.js.map +0 -7
- package/dist/subpaths/WithScrolledInViewProps.d.ts +0 -1
- package/dist/subpaths/WithScrolledInViewProps.js +0 -1
- package/dist/subpaths/WithScrolledInViewProps.js.map +0 -7
- package/dist/subpaths/autoload.d.ts +0 -1
- package/dist/subpaths/autoload.js +0 -6
- package/dist/subpaths/autoload.js.map +0 -7
- package/dist/subpaths/closestComponent.d.ts +0 -1
- package/dist/subpaths/closestComponent.js +0 -6
- package/dist/subpaths/closestComponent.js.map +0 -7
- package/dist/subpaths/composeManifests.d.ts +0 -1
- package/dist/subpaths/composeManifests.js +0 -6
- package/dist/subpaths/composeManifests.js.map +0 -7
- package/dist/subpaths/createApp.d.ts +0 -1
- package/dist/subpaths/createApp.js +0 -6
- package/dist/subpaths/createApp.js.map +0 -7
- package/dist/subpaths/defineFeatures.d.ts +0 -1
- package/dist/subpaths/defineFeatures.js +0 -6
- package/dist/subpaths/defineFeatures.js.map +0 -7
- package/dist/subpaths/defineManifest.js.map +0 -7
- package/dist/subpaths/fromMetaGlob.js.map +0 -7
- package/dist/subpaths/fromWebpackContext.js.map +0 -7
- package/dist/subpaths/getClosestParent.d.ts +0 -1
- package/dist/subpaths/getClosestParent.js +0 -6
- package/dist/subpaths/getClosestParent.js.map +0 -7
- package/dist/subpaths/getDirectChildren.d.ts +0 -1
- package/dist/subpaths/getDirectChildren.js +0 -6
- package/dist/subpaths/getDirectChildren.js.map +0 -7
- package/dist/subpaths/getInstanceFromElement.d.ts +0 -1
- package/dist/subpaths/getInstanceFromElement.js +0 -6
- package/dist/subpaths/getInstanceFromElement.js.map +0 -7
- package/dist/subpaths/getInstances.js.map +0 -7
- package/dist/subpaths/getScopedGroups.d.ts +0 -1
- package/dist/subpaths/getScopedGroups.js +0 -6
- package/dist/subpaths/getScopedGroups.js.map +0 -7
- package/dist/subpaths/importOnInteraction.d.ts +0 -1
- package/dist/subpaths/importOnInteraction.js +0 -6
- package/dist/subpaths/importOnInteraction.js.map +0 -7
- package/dist/subpaths/importOnMediaQuery.d.ts +0 -1
- package/dist/subpaths/importOnMediaQuery.js +0 -6
- package/dist/subpaths/importOnMediaQuery.js.map +0 -7
- package/dist/subpaths/importWhenIdle.d.ts +0 -1
- package/dist/subpaths/importWhenIdle.js +0 -6
- package/dist/subpaths/importWhenIdle.js.map +0 -7
- package/dist/subpaths/importWhenPrefersMotion.d.ts +0 -1
- package/dist/subpaths/importWhenPrefersMotion.js +0 -6
- package/dist/subpaths/importWhenPrefersMotion.js.map +0 -7
- package/dist/subpaths/importWhenVisible.d.ts +0 -1
- package/dist/subpaths/importWhenVisible.js +0 -6
- package/dist/subpaths/importWhenVisible.js.map +0 -7
- package/dist/subpaths/isDirectChild.d.ts +0 -1
- package/dist/subpaths/isDirectChild.js +0 -6
- package/dist/subpaths/isDirectChild.js.map +0 -7
- package/dist/subpaths/logTree.d.ts +0 -1
- package/dist/subpaths/logTree.js +0 -6
- package/dist/subpaths/logTree.js.map +0 -7
- package/dist/subpaths/queryComponent.d.ts +0 -1
- package/dist/subpaths/queryComponent.js +0 -6
- package/dist/subpaths/queryComponent.js.map +0 -7
- package/dist/subpaths/queryComponentAll.d.ts +0 -1
- package/dist/subpaths/queryComponentAll.js +0 -6
- package/dist/subpaths/queryComponentAll.js.map +0 -7
- package/dist/subpaths/readEagerTokens.d.ts +0 -1
- package/dist/subpaths/readEagerTokens.js +0 -6
- package/dist/subpaths/readEagerTokens.js.map +0 -7
- package/dist/subpaths/registerComponent.js.map +0 -7
- package/dist/subpaths/registerComponents.js.map +0 -7
- package/dist/subpaths/registerManifest.js.map +0 -7
- package/dist/subpaths/registerManifests.d.ts +0 -1
- package/dist/subpaths/registerManifests.js +0 -6
- package/dist/subpaths/registerManifests.js.map +0 -7
- package/dist/subpaths/useDrag.js.map +0 -7
- package/dist/subpaths/useKey.js.map +0 -7
- package/dist/subpaths/useLoad.d.ts +0 -1
- package/dist/subpaths/useLoad.js +0 -6
- package/dist/subpaths/useLoad.js.map +0 -7
- package/dist/subpaths/useMutation.js.map +0 -7
- package/dist/subpaths/usePointer.js.map +0 -7
- package/dist/subpaths/useRaf.js.map +0 -7
- package/dist/subpaths/useResize.js.map +0 -7
- package/dist/subpaths/useScroll.js.map +0 -7
- package/dist/subpaths/utils/Animate.1.d.ts +0 -1
- package/dist/subpaths/utils/Animate.1.js +0 -1
- package/dist/subpaths/utils/Animate.1.js.map +0 -7
- package/dist/subpaths/utils/AnimateOptions.d.ts +0 -1
- package/dist/subpaths/utils/AnimateOptions.js +0 -1
- package/dist/subpaths/utils/AnimateOptions.js.map +0 -7
- package/dist/subpaths/utils/CSSCustomPropertyName.d.ts +0 -1
- package/dist/subpaths/utils/CSSCustomPropertyName.js +0 -1
- package/dist/subpaths/utils/CSSCustomPropertyName.js.map +0 -7
- package/dist/subpaths/utils/EasingFunction.d.ts +0 -1
- package/dist/subpaths/utils/EasingFunction.js +0 -1
- package/dist/subpaths/utils/EasingFunction.js.map +0 -7
- package/dist/subpaths/utils/Keyframe.d.ts +0 -1
- package/dist/subpaths/utils/Keyframe.js +0 -1
- package/dist/subpaths/utils/Keyframe.js.map +0 -7
- package/dist/subpaths/utils/LoadElementsOptions.d.ts +0 -1
- package/dist/subpaths/utils/LoadElementsOptions.js +0 -1
- package/dist/subpaths/utils/LoadElementsOptions.js.map +0 -7
- package/dist/subpaths/utils/LoadElementsReturnType.d.ts +0 -1
- package/dist/subpaths/utils/LoadElementsReturnType.js +0 -1
- package/dist/subpaths/utils/LoadElementsReturnType.js.map +0 -7
- package/dist/subpaths/utils/LoadableElements.d.ts +0 -1
- package/dist/subpaths/utils/LoadableElements.js +0 -1
- package/dist/subpaths/utils/LoadableElements.js.map +0 -7
- package/dist/subpaths/utils/LoadableElementsNames.d.ts +0 -1
- package/dist/subpaths/utils/LoadableElementsNames.js +0 -1
- package/dist/subpaths/utils/LoadableElementsNames.js.map +0 -7
- package/dist/subpaths/utils/NormalizedKeyframe.d.ts +0 -1
- package/dist/subpaths/utils/NormalizedKeyframe.js +0 -1
- package/dist/subpaths/utils/NormalizedKeyframe.js.map +0 -7
- package/dist/subpaths/utils/Queue.d.ts +0 -1
- package/dist/subpaths/utils/Queue.js +0 -6
- package/dist/subpaths/utils/Queue.js.map +0 -7
- package/dist/subpaths/utils/SmartQueue.d.ts +0 -1
- package/dist/subpaths/utils/SmartQueue.js +0 -6
- package/dist/subpaths/utils/SmartQueue.js.map +0 -7
- package/dist/subpaths/utils/StorageInstance.d.ts +0 -1
- package/dist/subpaths/utils/StorageInstance.js +0 -1
- package/dist/subpaths/utils/StorageInstance.js.map +0 -7
- package/dist/subpaths/utils/StorageOptions.d.ts +0 -1
- package/dist/subpaths/utils/StorageOptions.js +0 -1
- package/dist/subpaths/utils/StorageOptions.js.map +0 -7
- package/dist/subpaths/utils/StorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/StorageProvider.js +0 -1
- package/dist/subpaths/utils/StorageProvider.js.map +0 -7
- package/dist/subpaths/utils/StorageSerializer.d.ts +0 -1
- package/dist/subpaths/utils/StorageSerializer.js +0 -1
- package/dist/subpaths/utils/StorageSerializer.js.map +0 -7
- package/dist/subpaths/utils/TransformProps.d.ts +0 -1
- package/dist/subpaths/utils/TransformProps.js +0 -1
- package/dist/subpaths/utils/TransformProps.js.map +0 -7
- package/dist/subpaths/utils/UrlProviderOptions.d.ts +0 -1
- package/dist/subpaths/utils/UrlProviderOptions.js +0 -1
- package/dist/subpaths/utils/UrlProviderOptions.js.map +0 -7
- package/dist/subpaths/utils/addClass.d.ts +0 -1
- package/dist/subpaths/utils/addClass.js +0 -6
- package/dist/subpaths/utils/addClass.js.map +0 -7
- package/dist/subpaths/utils/addStyle.d.ts +0 -1
- package/dist/subpaths/utils/addStyle.js +0 -6
- package/dist/subpaths/utils/addStyle.js.map +0 -7
- package/dist/subpaths/utils/animate.d.ts +0 -1
- package/dist/subpaths/utils/animate.js +0 -6
- package/dist/subpaths/utils/animate.js.map +0 -7
- package/dist/subpaths/utils/boundingRectToCircle.d.ts +0 -1
- package/dist/subpaths/utils/boundingRectToCircle.js +0 -6
- package/dist/subpaths/utils/boundingRectToCircle.js.map +0 -7
- package/dist/subpaths/utils/cache.d.ts +0 -1
- package/dist/subpaths/utils/cache.js +0 -6
- package/dist/subpaths/utils/cache.js.map +0 -7
- package/dist/subpaths/utils/camelCase.js.map +0 -7
- package/dist/subpaths/utils/clamp.js.map +0 -7
- package/dist/subpaths/utils/clamp01.js.map +0 -7
- package/dist/subpaths/utils/collideCircleCircle.d.ts +0 -1
- package/dist/subpaths/utils/collideCircleCircle.js +0 -6
- package/dist/subpaths/utils/collideCircleCircle.js.map +0 -7
- package/dist/subpaths/utils/collideCircleRect.d.ts +0 -1
- package/dist/subpaths/utils/collideCircleRect.js +0 -6
- package/dist/subpaths/utils/collideCircleRect.js.map +0 -7
- package/dist/subpaths/utils/collidePointCircle.d.ts +0 -1
- package/dist/subpaths/utils/collidePointCircle.js +0 -6
- package/dist/subpaths/utils/collidePointCircle.js.map +0 -7
- package/dist/subpaths/utils/collidePointRect.d.ts +0 -1
- package/dist/subpaths/utils/collidePointRect.js +0 -6
- package/dist/subpaths/utils/collidePointRect.js.map +0 -7
- package/dist/subpaths/utils/collideRectRect.d.ts +0 -1
- package/dist/subpaths/utils/collideRectRect.js +0 -6
- package/dist/subpaths/utils/collideRectRect.js.map +0 -7
- package/dist/subpaths/utils/createEaseInOut.js.map +0 -7
- package/dist/subpaths/utils/createEaseOut.js.map +0 -7
- package/dist/subpaths/utils/createElement.js.map +0 -7
- package/dist/subpaths/utils/createLocalStorage.d.ts +0 -1
- package/dist/subpaths/utils/createLocalStorage.js +0 -6
- package/dist/subpaths/utils/createLocalStorage.js.map +0 -7
- package/dist/subpaths/utils/createLocalStorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/createLocalStorageProvider.js +0 -6
- package/dist/subpaths/utils/createLocalStorageProvider.js.map +0 -7
- package/dist/subpaths/utils/createMemoryStorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/createMemoryStorageProvider.js +0 -6
- package/dist/subpaths/utils/createMemoryStorageProvider.js.map +0 -7
- package/dist/subpaths/utils/createNoopProvider.d.ts +0 -1
- package/dist/subpaths/utils/createNoopProvider.js +0 -6
- package/dist/subpaths/utils/createNoopProvider.js.map +0 -7
- package/dist/subpaths/utils/createRange.js.map +0 -7
- package/dist/subpaths/utils/createSessionStorage.d.ts +0 -1
- package/dist/subpaths/utils/createSessionStorage.js +0 -6
- package/dist/subpaths/utils/createSessionStorage.js.map +0 -7
- package/dist/subpaths/utils/createSessionStorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/createSessionStorageProvider.js +0 -6
- package/dist/subpaths/utils/createSessionStorageProvider.js.map +0 -7
- package/dist/subpaths/utils/createStorage.d.ts +0 -1
- package/dist/subpaths/utils/createStorage.js +0 -6
- package/dist/subpaths/utils/createStorage.js.map +0 -7
- package/dist/subpaths/utils/createUrlSearchParamsInHashProvider.d.ts +0 -1
- package/dist/subpaths/utils/createUrlSearchParamsInHashProvider.js +0 -6
- package/dist/subpaths/utils/createUrlSearchParamsInHashProvider.js.map +0 -7
- package/dist/subpaths/utils/createUrlSearchParamsInHashStorage.d.ts +0 -1
- package/dist/subpaths/utils/createUrlSearchParamsInHashStorage.js +0 -6
- package/dist/subpaths/utils/createUrlSearchParamsInHashStorage.js.map +0 -7
- package/dist/subpaths/utils/createUrlSearchParamsProvider.d.ts +0 -1
- package/dist/subpaths/utils/createUrlSearchParamsProvider.js +0 -6
- package/dist/subpaths/utils/createUrlSearchParamsProvider.js.map +0 -7
- package/dist/subpaths/utils/createUrlSearchParamsStorage.d.ts +0 -1
- package/dist/subpaths/utils/createUrlSearchParamsStorage.js +0 -6
- package/dist/subpaths/utils/createUrlSearchParamsStorage.js.map +0 -7
- package/dist/subpaths/utils/damp.js.map +0 -7
- package/dist/subpaths/utils/dashCase.d.ts +0 -1
- package/dist/subpaths/utils/dashCase.js +0 -6
- package/dist/subpaths/utils/dashCase.js.map +0 -7
- package/dist/subpaths/utils/debounce.js.map +0 -7
- package/dist/subpaths/utils/domScheduler.d.ts +0 -1
- package/dist/subpaths/utils/domScheduler.js +0 -6
- package/dist/subpaths/utils/domScheduler.js.map +0 -7
- package/dist/subpaths/utils/ease.d.ts +0 -1
- package/dist/subpaths/utils/ease.js +0 -6
- package/dist/subpaths/utils/ease.js.map +0 -7
- package/dist/subpaths/utils/easeInCirc.js.map +0 -7
- package/dist/subpaths/utils/easeInCubic.js.map +0 -7
- package/dist/subpaths/utils/easeInExpo.js.map +0 -7
- package/dist/subpaths/utils/easeInOutCirc.js.map +0 -7
- package/dist/subpaths/utils/easeInOutCubic.js.map +0 -7
- package/dist/subpaths/utils/easeInOutExpo.js.map +0 -7
- package/dist/subpaths/utils/easeInOutQuad.js.map +0 -7
- package/dist/subpaths/utils/easeInOutQuart.js.map +0 -7
- package/dist/subpaths/utils/easeInOutQuint.js.map +0 -7
- package/dist/subpaths/utils/easeInOutSine.js.map +0 -7
- package/dist/subpaths/utils/easeInQuad.js.map +0 -7
- package/dist/subpaths/utils/easeInQuart.js.map +0 -7
- package/dist/subpaths/utils/easeInQuint.js.map +0 -7
- package/dist/subpaths/utils/easeInSine.js.map +0 -7
- package/dist/subpaths/utils/easeLinear.js.map +0 -7
- package/dist/subpaths/utils/easeOutCirc.js.map +0 -7
- package/dist/subpaths/utils/easeOutCubic.js.map +0 -7
- package/dist/subpaths/utils/easeOutExpo.js.map +0 -7
- package/dist/subpaths/utils/easeOutQuad.js.map +0 -7
- package/dist/subpaths/utils/easeOutQuart.js.map +0 -7
- package/dist/subpaths/utils/easeOutQuint.js.map +0 -7
- package/dist/subpaths/utils/easeOutSine.js.map +0 -7
- package/dist/subpaths/utils/endsWith.d.ts +0 -1
- package/dist/subpaths/utils/endsWith.js +0 -6
- package/dist/subpaths/utils/endsWith.js.map +0 -7
- package/dist/subpaths/utils/fold.js.map +0 -7
- package/dist/subpaths/utils/getAncestorWhere.d.ts +0 -1
- package/dist/subpaths/utils/getAncestorWhere.js +0 -6
- package/dist/subpaths/utils/getAncestorWhere.js.map +0 -7
- package/dist/subpaths/utils/getAncestorWhereUntil.d.ts +0 -1
- package/dist/subpaths/utils/getAncestorWhereUntil.js +0 -6
- package/dist/subpaths/utils/getAncestorWhereUntil.js.map +0 -7
- package/dist/subpaths/utils/getComponentResolver.d.ts +0 -1
- package/dist/subpaths/utils/getComponentResolver.js +0 -6
- package/dist/subpaths/utils/getComponentResolver.js.map +0 -7
- package/dist/subpaths/utils/getOffsetSizes.js.map +0 -7
- package/dist/subpaths/utils/hasWindow.d.ts +0 -1
- package/dist/subpaths/utils/hasWindow.js +0 -6
- package/dist/subpaths/utils/hasWindow.js.map +0 -7
- package/dist/subpaths/utils/historyPush.js.map +0 -7
- package/dist/subpaths/utils/historyReplace.js.map +0 -7
- package/dist/subpaths/utils/inertiaFinalValue.js.map +0 -7
- package/dist/subpaths/utils/isArray.d.ts +0 -1
- package/dist/subpaths/utils/isArray.js +0 -6
- package/dist/subpaths/utils/isArray.js.map +0 -7
- package/dist/subpaths/utils/isBoolean.js.map +0 -7
- package/dist/subpaths/utils/isDefined.js.map +0 -7
- package/dist/subpaths/utils/isDev.d.ts +0 -1
- package/dist/subpaths/utils/isDev.js +0 -6
- package/dist/subpaths/utils/isDev.js.map +0 -7
- package/dist/subpaths/utils/isEmpty.d.ts +0 -1
- package/dist/subpaths/utils/isEmpty.js +0 -6
- package/dist/subpaths/utils/isEmpty.js.map +0 -7
- package/dist/subpaths/utils/isEmptyString.d.ts +0 -1
- package/dist/subpaths/utils/isEmptyString.js +0 -6
- package/dist/subpaths/utils/isEmptyString.js.map +0 -7
- package/dist/subpaths/utils/isFunction.js.map +0 -7
- package/dist/subpaths/utils/isNull.js.map +0 -7
- package/dist/subpaths/utils/isNumber.js.map +0 -7
- package/dist/subpaths/utils/isObject.js.map +0 -7
- package/dist/subpaths/utils/isString.js.map +0 -7
- package/dist/subpaths/utils/keyCodes.d.ts +0 -1
- package/dist/subpaths/utils/keyCodes.js +0 -6
- package/dist/subpaths/utils/keyCodes.js.map +0 -7
- package/dist/subpaths/utils/lerp.js.map +0 -7
- package/dist/subpaths/utils/loadElement.d.ts +0 -1
- package/dist/subpaths/utils/loadElement.js +0 -6
- package/dist/subpaths/utils/loadElement.js.map +0 -7
- package/dist/subpaths/utils/loadIframe.d.ts +0 -1
- package/dist/subpaths/utils/loadIframe.js +0 -6
- package/dist/subpaths/utils/loadIframe.js.map +0 -7
- package/dist/subpaths/utils/loadImage.js.map +0 -7
- package/dist/subpaths/utils/loadLink.js.map +0 -7
- package/dist/subpaths/utils/loadScript.js.map +0 -7
- package/dist/subpaths/utils/localStorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/localStorageProvider.js +0 -6
- package/dist/subpaths/utils/localStorageProvider.js.map +0 -7
- package/dist/subpaths/utils/lowerCase.js.map +0 -7
- package/dist/subpaths/utils/map.js.map +0 -7
- package/dist/subpaths/utils/matrix.js.map +0 -7
- package/dist/subpaths/utils/mean.js.map +0 -7
- package/dist/subpaths/utils/memo.js.map +0 -7
- package/dist/subpaths/utils/memoize.d.ts +0 -1
- package/dist/subpaths/utils/memoize.js +0 -6
- package/dist/subpaths/utils/memoize.js.map +0 -7
- package/dist/subpaths/utils/memoryStorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/memoryStorageProvider.js +0 -6
- package/dist/subpaths/utils/memoryStorageProvider.js.map +0 -7
- package/dist/subpaths/utils/nextFrame.d.ts +0 -1
- package/dist/subpaths/utils/nextFrame.js +0 -6
- package/dist/subpaths/utils/nextFrame.js.map +0 -7
- package/dist/subpaths/utils/nextMicrotask.d.ts +0 -1
- package/dist/subpaths/utils/nextMicrotask.js +0 -6
- package/dist/subpaths/utils/nextMicrotask.js.map +0 -7
- package/dist/subpaths/utils/nextTick.d.ts +0 -1
- package/dist/subpaths/utils/nextTick.js +0 -6
- package/dist/subpaths/utils/nextTick.js.map +0 -7
- package/dist/subpaths/utils/noop.js.map +0 -7
- package/dist/subpaths/utils/noopValue.js.map +0 -7
- package/dist/subpaths/utils/objectToURLSearchParams.js.map +0 -7
- package/dist/subpaths/utils/pascalCase.js.map +0 -7
- package/dist/subpaths/utils/random.js.map +0 -7
- package/dist/subpaths/utils/randomInt.js.map +0 -7
- package/dist/subpaths/utils/randomItem.js.map +0 -7
- package/dist/subpaths/utils/removeClass.d.ts +0 -1
- package/dist/subpaths/utils/removeClass.js +0 -6
- package/dist/subpaths/utils/removeClass.js.map +0 -7
- package/dist/subpaths/utils/removeStyle.d.ts +0 -1
- package/dist/subpaths/utils/removeStyle.js +0 -6
- package/dist/subpaths/utils/removeStyle.js.map +0 -7
- package/dist/subpaths/utils/round.js.map +0 -7
- package/dist/subpaths/utils/saveActiveElement.js.map +0 -7
- package/dist/subpaths/utils/scrollTo.js.map +0 -7
- package/dist/subpaths/utils/sessionStorageProvider.d.ts +0 -1
- package/dist/subpaths/utils/sessionStorageProvider.js +0 -6
- package/dist/subpaths/utils/sessionStorageProvider.js.map +0 -7
- package/dist/subpaths/utils/smoothTo.js.map +0 -7
- package/dist/subpaths/utils/snakeCase.js.map +0 -7
- package/dist/subpaths/utils/spring.js.map +0 -7
- package/dist/subpaths/utils/startsWith.d.ts +0 -1
- package/dist/subpaths/utils/startsWith.js +0 -6
- package/dist/subpaths/utils/startsWith.js.map +0 -7
- package/dist/subpaths/utils/throttle.js.map +0 -7
- package/dist/subpaths/utils/toggleClass.d.ts +0 -1
- package/dist/subpaths/utils/toggleClass.js +0 -6
- package/dist/subpaths/utils/toggleClass.js.map +0 -7
- package/dist/subpaths/utils/transform.js.map +0 -7
- package/dist/subpaths/utils/transition.js.map +0 -7
- package/dist/subpaths/utils/trapFocus.js.map +0 -7
- package/dist/subpaths/utils/tween.d.ts +0 -1
- package/dist/subpaths/utils/tween.js +0 -6
- package/dist/subpaths/utils/tween.js.map +0 -7
- package/dist/subpaths/utils/untrapFocus.js.map +0 -7
- package/dist/subpaths/utils/upperCase.js.map +0 -7
- package/dist/subpaths/utils/urlSearchParamsInHashProvider.d.ts +0 -1
- package/dist/subpaths/utils/urlSearchParamsInHashProvider.js +0 -6
- package/dist/subpaths/utils/urlSearchParamsInHashProvider.js.map +0 -7
- package/dist/subpaths/utils/urlSearchParamsProvider.d.ts +0 -1
- package/dist/subpaths/utils/urlSearchParamsProvider.js +0 -6
- package/dist/subpaths/utils/urlSearchParamsProvider.js.map +0 -7
- package/dist/subpaths/utils/useScheduler.d.ts +0 -1
- package/dist/subpaths/utils/useScheduler.js +0 -6
- package/dist/subpaths/utils/useScheduler.js.map +0 -7
- package/dist/subpaths/utils/wait.js.map +0 -7
- package/dist/subpaths/utils/withLeadingCharacters.js.map +0 -7
- package/dist/subpaths/utils/withLeadingSlash.js.map +0 -7
- package/dist/subpaths/utils/withTrailingCharacters.js.map +0 -7
- package/dist/subpaths/utils/withTrailingSlash.js.map +0 -7
- package/dist/subpaths/utils/withoutLeadingCharacters.js.map +0 -7
- package/dist/subpaths/utils/withoutLeadingCharactersRecursive.js.map +0 -7
- package/dist/subpaths/utils/withoutLeadingSlash.js.map +0 -7
- package/dist/subpaths/utils/withoutTrailingCharacters.js.map +0 -7
- package/dist/subpaths/utils/withoutTrailingCharactersRecursive.js.map +0 -7
- package/dist/subpaths/utils/withoutTrailingSlash.js.map +0 -7
- package/dist/subpaths/utils/wrap.js.map +0 -7
- package/dist/subpaths/version.d.ts +0 -1
- package/dist/subpaths/version.js +0 -6
- package/dist/subpaths/version.js.map +0 -7
- package/dist/subpaths/withBreakpointManager.d.ts +0 -1
- package/dist/subpaths/withBreakpointManager.js +0 -6
- package/dist/subpaths/withBreakpointManager.js.map +0 -7
- package/dist/subpaths/withBreakpointObserver.d.ts +0 -1
- package/dist/subpaths/withBreakpointObserver.js +0 -6
- package/dist/subpaths/withBreakpointObserver.js.map +0 -7
- package/dist/subpaths/withDrag.js.map +0 -7
- package/dist/subpaths/withExtraConfig.d.ts +0 -1
- package/dist/subpaths/withExtraConfig.js +0 -6
- package/dist/subpaths/withExtraConfig.js.map +0 -7
- package/dist/subpaths/withFreezedOptions.d.ts +0 -1
- package/dist/subpaths/withFreezedOptions.js +0 -6
- package/dist/subpaths/withFreezedOptions.js.map +0 -7
- package/dist/subpaths/withGroup.d.ts +0 -1
- package/dist/subpaths/withGroup.js +0 -6
- package/dist/subpaths/withGroup.js.map +0 -7
- package/dist/subpaths/withIntersectionObserver.d.ts +0 -1
- package/dist/subpaths/withIntersectionObserver.js +0 -6
- package/dist/subpaths/withIntersectionObserver.js.map +0 -7
- package/dist/subpaths/withMountOnMediaQuery.d.ts +0 -1
- package/dist/subpaths/withMountOnMediaQuery.js +0 -6
- package/dist/subpaths/withMountOnMediaQuery.js.map +0 -7
- package/dist/subpaths/withMountOnMediaQueryInterface.d.ts +0 -1
- package/dist/subpaths/withMountOnMediaQueryInterface.js +0 -1
- package/dist/subpaths/withMountOnMediaQueryInterface.js.map +0 -7
- package/dist/subpaths/withMountOnMediaQueryProps.d.ts +0 -1
- package/dist/subpaths/withMountOnMediaQueryProps.js +0 -1
- package/dist/subpaths/withMountOnMediaQueryProps.js.map +0 -7
- package/dist/subpaths/withMountWhenInView.d.ts +0 -1
- package/dist/subpaths/withMountWhenInView.js +0 -6
- package/dist/subpaths/withMountWhenInView.js.map +0 -7
- package/dist/subpaths/withMountWhenPrefersMotion.d.ts +0 -1
- package/dist/subpaths/withMountWhenPrefersMotion.js +0 -6
- package/dist/subpaths/withMountWhenPrefersMotion.js.map +0 -7
- package/dist/subpaths/withMutation.js.map +0 -7
- package/dist/subpaths/withName.d.ts +0 -1
- package/dist/subpaths/withName.js +0 -6
- package/dist/subpaths/withName.js.map +0 -7
- package/dist/subpaths/withRelativePointer.d.ts +0 -1
- package/dist/subpaths/withRelativePointer.js +0 -6
- package/dist/subpaths/withRelativePointer.js.map +0 -7
- package/dist/subpaths/withResponsiveOptions.d.ts +0 -1
- package/dist/subpaths/withResponsiveOptions.js +0 -6
- package/dist/subpaths/withResponsiveOptions.js.map +0 -7
- package/dist/subpaths/withScrolledInView.d.ts +0 -1
- package/dist/subpaths/withScrolledInView.js +0 -6
- package/dist/subpaths/withScrolledInView.js.map +0 -7
- package/dist/utils/Queue.d.ts +0 -44
- package/dist/utils/Queue.js +0 -71
- package/dist/utils/Queue.js.map +0 -7
- package/dist/utils/SmartQueue.d.ts +0 -25
- package/dist/utils/SmartQueue.js +0 -41
- package/dist/utils/SmartQueue.js.map +0 -7
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.js +0 -19
- package/dist/utils/cache.js.map +0 -7
- package/dist/utils/collide/boundingRectToCircle.d.ts +0 -24
- package/dist/utils/collide/boundingRectToCircle.js +0 -14
- package/dist/utils/collide/boundingRectToCircle.js.map +0 -7
- package/dist/utils/collide/collideCircleCircle.d.ts +0 -16
- package/dist/utils/collide/collideCircleCircle.js +0 -13
- package/dist/utils/collide/collideCircleCircle.js.map +0 -7
- package/dist/utils/collide/collideCircleRect.d.ts +0 -23
- package/dist/utils/collide/collideCircleRect.js +0 -25
- package/dist/utils/collide/collideCircleRect.js.map +0 -7
- package/dist/utils/collide/collidePointCircle.d.ts +0 -21
- package/dist/utils/collide/collidePointCircle.js +0 -10
- package/dist/utils/collide/collidePointCircle.js.map +0 -7
- package/dist/utils/collide/collidePointRect.d.ts +0 -22
- package/dist/utils/collide/collidePointRect.js +0 -10
- package/dist/utils/collide/collidePointRect.js.map +0 -7
- package/dist/utils/collide/collideRectRect.d.ts +0 -17
- package/dist/utils/collide/collideRectRect.js +0 -10
- package/dist/utils/collide/collideRectRect.js.map +0 -7
- package/dist/utils/collide/index.d.ts +0 -9
- package/dist/utils/collide/index.js +0 -15
- package/dist/utils/collide/index.js.map +0 -7
- package/dist/utils/css/animate.d.ts +0 -46
- package/dist/utils/css/animate.js +0 -279
- package/dist/utils/css/animate.js.map +0 -7
- package/dist/utils/css/classes.d.ts +0 -15
- package/dist/utils/css/classes.js +0 -29
- package/dist/utils/css/classes.js.map +0 -7
- package/dist/utils/css/getOffsetSizes.d.ts +0 -14
- package/dist/utils/css/getOffsetSizes.js +0 -26
- package/dist/utils/css/getOffsetSizes.js.map +0 -7
- package/dist/utils/css/index.d.ts +0 -8
- package/dist/utils/css/index.js +0 -22
- package/dist/utils/css/index.js.map +0 -7
- package/dist/utils/css/matrix.d.ts +0 -28
- package/dist/utils/css/matrix.js +0 -8
- package/dist/utils/css/matrix.js.map +0 -7
- package/dist/utils/css/styles.d.ts +0 -10
- package/dist/utils/css/styles.js +0 -23
- package/dist/utils/css/styles.js.map +0 -7
- package/dist/utils/css/transform.d.ts +0 -22
- package/dist/utils/css/transform.js +0 -69
- package/dist/utils/css/transform.js.map +0 -7
- package/dist/utils/css/transition.d.ts +0 -20
- package/dist/utils/css/transition.js +0 -113
- package/dist/utils/css/transition.js.map +0 -7
- package/dist/utils/css/utils.d.ts +0 -1
- package/dist/utils/css/utils.js +0 -10
- package/dist/utils/css/utils.js.map +0 -7
- package/dist/utils/debounce.d.ts +0 -11
- package/dist/utils/debounce.js +0 -13
- package/dist/utils/debounce.js.map +0 -7
- package/dist/utils/dom/ancestors.d.ts +0 -8
- package/dist/utils/dom/ancestors.js +0 -15
- package/dist/utils/dom/ancestors.js.map +0 -7
- package/dist/utils/dom/createElement.d.ts +0 -33
- package/dist/utils/dom/createElement.js +0 -27
- package/dist/utils/dom/createElement.js.map +0 -7
- package/dist/utils/dom/index.d.ts +0 -2
- package/dist/utils/dom/index.js +0 -8
- package/dist/utils/dom/index.js.map +0 -7
- package/dist/utils/getComponentResolver.d.ts +0 -7
- package/dist/utils/getComponentResolver.js +0 -16
- package/dist/utils/getComponentResolver.js.map +0 -7
- package/dist/utils/has.d.ts +0 -4
- package/dist/utils/has.js +0 -7
- package/dist/utils/has.js.map +0 -7
- package/dist/utils/index.js.map +0 -7
- package/dist/utils/keyCodes.d.ts +0 -13
- package/dist/utils/keyCodes.js +0 -14
- package/dist/utils/keyCodes.js.map +0 -7
- package/dist/utils/loadElement.d.ts +0 -47
- package/dist/utils/loadElement.js +0 -33
- package/dist/utils/loadElement.js.map +0 -7
- package/dist/utils/math/clamp.d.ts +0 -5
- package/dist/utils/math/clamp.js +0 -7
- package/dist/utils/math/clamp.js.map +0 -7
- package/dist/utils/math/clamp01.d.ts +0 -5
- package/dist/utils/math/clamp01.js +0 -8
- package/dist/utils/math/clamp01.js.map +0 -7
- package/dist/utils/math/createEases.d.ts +0 -23
- package/dist/utils/math/createEases.js +0 -11
- package/dist/utils/math/createEases.js.map +0 -7
- package/dist/utils/math/createRange.d.ts +0 -5
- package/dist/utils/math/createRange.js +0 -13
- package/dist/utils/math/createRange.js.map +0 -7
- package/dist/utils/math/damp.d.ts +0 -11
- package/dist/utils/math/damp.js +0 -7
- package/dist/utils/math/damp.js.map +0 -7
- package/dist/utils/math/ease.d.ts +0 -71
- package/dist/utils/math/ease.js +0 -62
- package/dist/utils/math/ease.js.map +0 -7
- package/dist/utils/math/fold.d.ts +0 -5
- package/dist/utils/math/fold.js +0 -14
- package/dist/utils/math/fold.js.map +0 -7
- package/dist/utils/math/index.d.ts +0 -16
- package/dist/utils/math/index.js +0 -80
- package/dist/utils/math/index.js.map +0 -7
- package/dist/utils/math/inertiaFinalValue.d.ts +0 -10
- package/dist/utils/math/inertiaFinalValue.js +0 -15
- package/dist/utils/math/inertiaFinalValue.js.map +0 -7
- package/dist/utils/math/lerp.d.ts +0 -10
- package/dist/utils/math/lerp.js +0 -7
- package/dist/utils/math/lerp.js.map +0 -7
- package/dist/utils/math/map.d.ts +0 -12
- package/dist/utils/math/map.js +0 -7
- package/dist/utils/math/map.js.map +0 -7
- package/dist/utils/math/mean.d.ts +0 -4
- package/dist/utils/math/mean.js +0 -17
- package/dist/utils/math/mean.js.map +0 -7
- package/dist/utils/math/round.d.ts +0 -9
- package/dist/utils/math/round.js +0 -7
- package/dist/utils/math/round.js.map +0 -7
- package/dist/utils/math/smoothTo.d.ts +0 -69
- package/dist/utils/math/smoothTo.js +0 -56
- package/dist/utils/math/smoothTo.js.map +0 -7
- package/dist/utils/math/spring.d.ts +0 -13
- package/dist/utils/math/spring.js +0 -11
- package/dist/utils/math/spring.js.map +0 -7
- package/dist/utils/math/wrap.d.ts +0 -5
- package/dist/utils/math/wrap.js +0 -11
- package/dist/utils/math/wrap.js.map +0 -7
- package/dist/utils/memoize.d.ts +0 -21
- package/dist/utils/memoize.js +0 -26
- package/dist/utils/memoize.js.map +0 -7
- package/dist/utils/nextFrame.d.ts +0 -8
- package/dist/utils/nextFrame.js +0 -12
- package/dist/utils/nextFrame.js.map +0 -7
- package/dist/utils/nextMicrotask.d.ts +0 -8
- package/dist/utils/nextMicrotask.js +0 -8
- package/dist/utils/nextMicrotask.js.map +0 -7
- package/dist/utils/nextTick.d.ts +0 -8
- package/dist/utils/nextTick.js +0 -9
- package/dist/utils/nextTick.js.map +0 -7
- package/dist/utils/object/getAllProperties.d.ts +0 -11
- package/dist/utils/object/getAllProperties.js +0 -19
- package/dist/utils/object/getAllProperties.js.map +0 -7
- package/dist/utils/scheduler.d.ts +0 -15
- package/dist/utils/scheduler.js +0 -53
- package/dist/utils/scheduler.js.map +0 -7
- package/dist/utils/storage/createLocalStorageProvider.d.ts +0 -2
- package/dist/utils/storage/createLocalStorageProvider.js +0 -32
- package/dist/utils/storage/createLocalStorageProvider.js.map +0 -7
- package/dist/utils/storage/createMemoryStorageProvider.d.ts +0 -2
- package/dist/utils/storage/createMemoryStorageProvider.js +0 -27
- package/dist/utils/storage/createMemoryStorageProvider.js.map +0 -7
- package/dist/utils/storage/createNoopProvider.d.ts +0 -2
- package/dist/utils/storage/createNoopProvider.js +0 -23
- package/dist/utils/storage/createNoopProvider.js.map +0 -7
- package/dist/utils/storage/createSessionStorageProvider.d.ts +0 -2
- package/dist/utils/storage/createSessionStorageProvider.js +0 -31
- package/dist/utils/storage/createSessionStorageProvider.js.map +0 -7
- package/dist/utils/storage/createStorage.d.ts +0 -2
- package/dist/utils/storage/createStorage.js +0 -96
- package/dist/utils/storage/createStorage.js.map +0 -7
- package/dist/utils/storage/createUrlSearchParamsInHashProvider.d.ts +0 -2
- package/dist/utils/storage/createUrlSearchParamsInHashProvider.js +0 -57
- package/dist/utils/storage/createUrlSearchParamsInHashProvider.js.map +0 -7
- package/dist/utils/storage/createUrlSearchParamsProvider.d.ts +0 -2
- package/dist/utils/storage/createUrlSearchParamsProvider.js +0 -41
- package/dist/utils/storage/createUrlSearchParamsProvider.js.map +0 -7
- package/dist/utils/storage/getBrowserContext.d.ts +0 -1
- package/dist/utils/storage/getBrowserContext.js +0 -17
- package/dist/utils/storage/getBrowserContext.js.map +0 -7
- package/dist/utils/storage/getGlobalStorage.d.ts +0 -1
- package/dist/utils/storage/getGlobalStorage.js +0 -7
- package/dist/utils/storage/getGlobalStorage.js.map +0 -7
- package/dist/utils/storage/getStorageKeys.d.ts +0 -1
- package/dist/utils/storage/getStorageKeys.js +0 -12
- package/dist/utils/storage/getStorageKeys.js.map +0 -7
- package/dist/utils/storage/index.d.ts +0 -8
- package/dist/utils/storage/index.js +0 -62
- package/dist/utils/storage/index.js.map +0 -7
- package/dist/utils/storage/providers.d.ts +0 -11
- package/dist/utils/storage/providers.js +0 -30
- package/dist/utils/storage/providers.js.map +0 -7
- package/dist/utils/storage/serializers.d.ts +0 -2
- package/dist/utils/storage/serializers.js +0 -14
- package/dist/utils/storage/serializers.js.map +0 -7
- package/dist/utils/storage/types.d.ts +0 -33
- package/dist/utils/storage/types.js +0 -1
- package/dist/utils/storage/types.js.map +0 -7
- package/dist/utils/storage.d.ts +0 -1
- package/dist/utils/storage.js +0 -37
- package/dist/utils/storage.js.map +0 -7
- package/dist/utils/string/changeCase.d.ts +0 -30
- package/dist/utils/string/changeCase.js +0 -47
- package/dist/utils/string/changeCase.js.map +0 -7
- package/dist/utils/string/endsWith.d.ts +0 -9
- package/dist/utils/string/endsWith.js +0 -13
- package/dist/utils/string/endsWith.js.map +0 -7
- package/dist/utils/string/index.d.ts +0 -13
- package/dist/utils/string/index.js +0 -34
- package/dist/utils/string/index.js.map +0 -7
- package/dist/utils/string/startsWith.d.ts +0 -9
- package/dist/utils/string/startsWith.js +0 -13
- package/dist/utils/string/startsWith.js.map +0 -7
- package/dist/utils/string/withLeadingCharacters.d.ts +0 -9
- package/dist/utils/string/withLeadingCharacters.js +0 -8
- package/dist/utils/string/withLeadingCharacters.js.map +0 -7
- package/dist/utils/string/withLeadingSlash.d.ts +0 -8
- package/dist/utils/string/withLeadingSlash.js +0 -8
- package/dist/utils/string/withLeadingSlash.js.map +0 -7
- package/dist/utils/string/withTrailingCharacters.d.ts +0 -9
- package/dist/utils/string/withTrailingCharacters.js +0 -8
- package/dist/utils/string/withTrailingCharacters.js.map +0 -7
- package/dist/utils/string/withTrailingSlash.d.ts +0 -8
- package/dist/utils/string/withTrailingSlash.js +0 -8
- package/dist/utils/string/withTrailingSlash.js.map +0 -7
- package/dist/utils/string/withoutLeadingCharacters.d.ts +0 -9
- package/dist/utils/string/withoutLeadingCharacters.js +0 -7
- package/dist/utils/string/withoutLeadingCharacters.js.map +0 -7
- package/dist/utils/string/withoutLeadingCharactersRecursive.d.ts +0 -9
- package/dist/utils/string/withoutLeadingCharactersRecursive.js +0 -13
- package/dist/utils/string/withoutLeadingCharactersRecursive.js.map +0 -7
- package/dist/utils/string/withoutLeadingSlash.d.ts +0 -8
- package/dist/utils/string/withoutLeadingSlash.js +0 -8
- package/dist/utils/string/withoutLeadingSlash.js.map +0 -7
- package/dist/utils/string/withoutTrailingCharacters.d.ts +0 -9
- package/dist/utils/string/withoutTrailingCharacters.js +0 -7
- package/dist/utils/string/withoutTrailingCharacters.js.map +0 -7
- package/dist/utils/string/withoutTrailingCharactersRecursive.d.ts +0 -9
- package/dist/utils/string/withoutTrailingCharactersRecursive.js +0 -13
- package/dist/utils/string/withoutTrailingCharactersRecursive.js.map +0 -7
- package/dist/utils/string/withoutTrailingSlash.d.ts +0 -8
- package/dist/utils/string/withoutTrailingSlash.js +0 -8
- package/dist/utils/string/withoutTrailingSlash.js.map +0 -7
- package/dist/utils/throttle.d.ts +0 -9
- package/dist/utils/throttle.js +0 -15
- package/dist/utils/throttle.js.map +0 -7
- package/dist/utils/trapFocus.d.ts +0 -17
- package/dist/utils/trapFocus.js +0 -57
- package/dist/utils/trapFocus.js.map +0 -7
- package/dist/utils/tween.d.ts +0 -83
- package/dist/utils/tween.js +0 -119
- package/dist/utils/tween.js.map +0 -7
- package/dist/utils/wait.d.ts +0 -1
- package/dist/utils/wait.js +0 -9
- package/dist/utils/wait.js.map +0 -7
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -5
- package/dist/version.js.map +0 -7
package/dist/Base.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Base.js","names":["#isMounted","#optionReaders","#bindHandlers","#mountCycle","#initializeOptionEffects","#isActiveMountCycle","#initializeResponsiveOptions","#guard","#collectCleanup","#listeners","#tasks","#unmountCallbacks","#clearOptionEffects","#dispatch","#childrenWatchers","#runOptionEffect","#track","#optionCleanups","#bindDecoratedHandlers","#bindPlannedHandlers","#installDelegatedListeners","#bindGlobal","#bindOwn","#invokeDelegated"],"sources":["../src/Base.ts"],"sourcesContent":["import {\n isInNamespace,\n isNetChange,\n NEGATED_RAW,\n negatedOptionAttributeFor,\n optionAttributeFor,\n REF_ATTRIBUTE,\n} from './attributes.js';\nimport { BASE_BRAND } from './component-brand.js';\nimport { componentTokens } from './component-declarations.js';\nimport { registerChildrenWatcher, type ChildrenWatcher } from './children-watchers.js';\nimport { injectContext, injectContextSync, provideContext, type ContextKey } from './context.js';\nimport type { ToolkitDiagnosticCode } from './diagnostic-contract.js';\nimport { reportDiagnostic, warn, warnOnce } from './diagnostics.js';\nimport { compareDocumentOrder } from './document-order.js';\nimport { domVersion } from './dom-mutations.js';\nimport { EVENTS } from './events.js';\nimport { HANDLER_REGISTRATIONS, INSTANCES } from './protocol-symbols.js';\nimport { defaultScheduler, type ScheduledTask } from './scheduler.js';\nimport {\n activeBreakpoint,\n checkResponsiveAttributes,\n responsiveRawValue,\n watchBreakpoint,\n} from './responsive-options.js';\nimport type { MountStrategy } from './mount-strategies.js';\nimport { memo } from './utils/memo.js';\nimport { selectorFor } from './utils/selectors.js';\nimport { capitalize, kebabCase } from './utils/strings.js';\n\nconst REGEX_HANDLER = /^on[A-Z]/;\n\nlet componentId = 0;\n\nexport type OptionType =\n | typeof String\n | typeof Number\n | typeof Boolean\n | typeof Array\n | typeof Object;\n\n/** An ordered list of types accepted by one option. */\nexport type OptionTypes = readonly OptionType[];\n\ntype OptionDefinitionType = OptionType | OptionTypes;\n\n/**\n * The value an option of a given type holds.\n */\ntype OptionValue<T extends OptionDefinitionType> = T extends OptionTypes\n ? OptionValue<T[number]>\n : T extends typeof String\n ? string\n : T extends typeof Number\n ? number\n : T extends typeof Boolean\n ? boolean\n : T extends typeof Array\n ? unknown[]\n : Record<string, unknown>;\n\ntype PrimitiveOptionType = typeof String | typeof Number | typeof Boolean;\n\n/** `Array` and `Object` defaults must be per-instance factories. */\ntype TypedOptionDefinition<T extends OptionDefinitionType = OptionDefinitionType> =\n T extends OptionTypes\n ? {\n type: T;\n default?:\n | (() => OptionValue<T>)\n | (Extract<T[number], PrimitiveOptionType> extends never\n ? never\n : OptionValue<Extract<T[number], PrimitiveOptionType>>);\n }\n : T extends OptionType\n ? T extends typeof Array | typeof Object\n ? { type: T; default?: () => OptionValue<T> }\n : { type: T; default?: OptionValue<T> | (() => OptionValue<T>) }\n : never;\n\nexport type OptionDefinition = OptionDefinitionType | TypedOptionDefinition;\n\nexport interface OptionChange<T = unknown> {\n name: string;\n value: T;\n previousValue: T | undefined;\n rawValue: string | null;\n previousRawValue: string | null;\n initial: boolean;\n}\n\nexport type OptionChangedReturn = void | (() => void);\n\n/** Lazy importer resolving to a component class, default export or module namespace. */\nexport type ComponentImporter = () => Promise<unknown>;\n\nexport interface BaseConfig {\n name: string;\n /** Child classes or lazy importers keyed by component name. Importers are registered without being called. */\n components?: Record<string, BaseConstructor | ComponentImporter>;\n refs?: string[];\n options?: Record<string, OptionDefinition>;\n /**\n * When instances of this component mount. Defaults to `eager`; an\n * element's `data-mount` attribute overrides it.\n */\n mountStrategy?: MountStrategy;\n}\n\n/** Structural component constructor compatible with typed `Base` subclasses. */\nexport interface BaseConstructor {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (el: HTMLElement): Base<any>;\n config: BaseConfig;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly prototype: Base<any>;\n}\n\n/** Child event payload. `payload` is the unchanged event detail, typed from the child's `$emits`. */\nexport interface DelegatedEvent<T extends Base = Base, K extends string = string> {\n event: Event;\n target: T;\n payload: EmitDetail<PropsOf<T>, K>;\n}\n\n/**\n * Payload given to `on<Ref><Event>` handlers. `index` is the ref's position\n * among the same-named refs, so a list of buttons can be told apart.\n */\nexport interface RefEvent<T extends HTMLElement = HTMLElement> {\n event: Event;\n target: T;\n index: number;\n}\n\n/** Global handler payload containing the named target and platform event. */\nexport interface GlobalEvent<T extends Event = Event> {\n event: T;\n target: Window | Document;\n}\n\n/**\n * Events that do not bubble, so their delegated listener must be registered\n * in the capture phase to be reached at all.\n */\nconst CAPTURED_EVENTS = new Set([\n 'blur',\n 'focus',\n 'load',\n 'error',\n 'scroll',\n 'mouseenter',\n 'mouseleave',\n 'pointerenter',\n 'pointerleave',\n]);\n\n/**\n * Type-level description of a component's public surface.\n *\n * `$el` narrows the root element. `$emits` maps event names to payload objects, or `void` for events without payloads. Declarations do not validate markup at runtime.\n */\nexport interface BaseProps {\n $el?: HTMLElement;\n $refs?: Record<string, HTMLElement | HTMLElement[]>;\n /** `object` accepts named option interfaces without requiring an index signature. */\n $options?: object;\n $emits?: EmitMap;\n}\n\n/**\n * What `$emits` maps an event name to: the payload object the event carries,\n * or `void` for one that carries nothing.\n */\nexport type EmitMap = Record<string, object | void>;\n\n/* Intersections keep generic props resolved and `Base<T>` assignable to `Base`. */\n\ntype El<T extends BaseProps> = T['$el'] & HTMLElement;\n\ntype Refs<T extends BaseProps> = T['$refs'] & Record<string, HTMLElement | HTMLElement[]>;\n\ntype Options<T extends BaseProps> = T['$options'] & Record<string, unknown>;\n\n/** Resolve declared event names without widening them to `string`. */\ntype Emits<T extends BaseProps> = NonNullable<T['$emits']> &\n (unknown extends T['$emits'] ? EmitMap : unknown);\n\n/**\n * A component that declares `$emits` may only emit those names; one that\n * does not keeps the unrestricted signature — `keyof EmitMap` is `string`.\n */\ntype EmitName<T extends BaseProps> = keyof Emits<T> & string;\n\n/**\n * The `detail` an event carries: the declared payload object, or `null` for an\n * event declared `void`. `null` rather than `{}` because that is what the\n * platform stores for a `CustomEvent` built without a detail — nothing is\n * synthesized to stand in for a payload nobody announced.\n */\ntype EmitDetail<T extends BaseProps, K extends string> =\n // An un-narrowed `string` means the caller did not name the event, so\n // there is nothing to look up.\n string extends K ? unknown : PayloadOf<Emits<T>, K>;\n\n/**\n * One payload, looked up in a resolved `$emits` map. The lookup is an indexed\n * access rather than `K extends keyof M ? … : never`: `keyof M` mentions the\n * props parameter, and a conditional that tests against it is deferred for\n * every component that has one.\n */\ntype PayloadOf<M extends EmitMap, K extends string> = M[K] extends void ? null : M[K];\n\n/**\n * `$emit()`'s payload parameter, as a tuple so a declared payload is\n * **required** and a `void` event takes none — an event declared `void` accepts\n * no payload object, only the absent argument.\n */\ntype EmitArgs<T extends BaseProps, K extends string> = string extends K\n ? [payload?: object]\n : ArgsOf<Emits<T>, K>;\n\n/** Check concrete `void` first so generic component argument tuples remain resolvable. */\ntype ArgsOf<M extends EmitMap, K extends string> = void extends M[K]\n ? [payload?: M[K]]\n : [payload: M[K]];\n\n/**\n * The props a component was declared with, read from the phantom carrier\n * `Base` holds — inferring through `Base<infer P>` does not work, since the\n * parameter only appears inside conditional types.\n */\ntype PropsOf<T> = T extends { __props?: infer P }\n ? NonNullable<P> extends BaseProps\n ? NonNullable<P>\n : BaseProps\n : BaseProps;\n\nexport interface WatchChildrenCallbacks<T extends Base = Base> {\n added?(instance: T): void;\n removed?(instance: T): void;\n}\n\n/**\n * Live, DOM-ordered view over mounted descendants matched by exact component\n * name or by a component constructor and its subclasses.\n */\nexport interface ChildrenCollection<T extends Base = Base> extends Iterable<T> {\n readonly size: number;\n readonly items: T[];\n}\n\nexport interface LifecycleEventDetail {\n instance: Base;\n}\n\n/**\n * One handler declared with the `@on` decorator. Initializers store these on\n * the realm-stable `HANDLER_REGISTRATIONS` key for each instance.\n */\nexport interface HandlerRegistration {\n /**\n * The decorated method's name, and the only key the magic name scan dedupes\n * on. Not the function it decorates: `@read` and `@write` **replace** the\n * method with a wrapper, so a `@write` applied above an `@on` leaves the\n * class carrying a function this registration never saw. Comparing\n * identities missed it and bound the same handler a second time, which made\n * the order the two decorators are stacked in part of the interface. The\n * name is the same on both sides whatever wraps the body.\n */\n method: string | symbol;\n /**\n * Global event target for `@on(window, …)` / `@on(document, …)`, `null` for\n * everything the component can reach from its own subtree. Recorded as the\n * target itself rather than as a reserved `child` name, so the string space\n * stays free for a child or a ref actually called `window`.\n */\n target: Window | Document | null;\n /**\n * Child component name — or ref name, spelled the way `config.refs` declares\n * it, `[]` included for a list — for delegated handlers. `null` for own\n * events.\n */\n child: string | null;\n type: string;\n handler: (this: any, payload: any) => void;\n}\n\ndeclare global {\n interface Element {\n [INSTANCES]?: Map<string, Base>;\n }\n}\n\n/** Warn for non-object payloads used from untyped code. The event still dispatches. */\nfunction checkPayload(instance: Base, event: string, payload: unknown): void {\n if (payload !== undefined && (typeof payload !== 'object' || payload === null)) {\n warnOnce(\n instance,\n event,\n 'event.invalid-emit-payload',\n `\\`$emit('${event}', …)\\` takes one payload object; received ${typeof payload}. Name the value: \\`{ value }\\`.`,\n { component: instance.$config.name, target: instance.$el },\n );\n }\n}\n\n/**\n * Test ref ownership. Plain refs stop at any component boundary; namespaced refs stop at a boundary with the named component.\n *\n * The root is not tested because the namespace uses the class config name, which can differ from its declaration token.\n */\nfunction belongsTo(el: Element, root: Element, owner?: string): boolean {\n let parent = el.parentElement;\n while (parent && parent !== root) {\n const declarations = componentTokens(parent);\n if (owner === undefined ? declarations.size > 0 : declarations.has(owner)) {\n return false;\n }\n parent = parent.parentElement;\n }\n return parent === root;\n}\n\n/** The list suffix is part of both the declaration and `data-ref` value. */\nconst REF_LIST_SUFFIX = '[]';\n\nfunction isRefList(definition: string): boolean {\n return definition.endsWith(REF_LIST_SUFFIX);\n}\n\n/** The name a `config.refs` entry takes in `$refs`, and in `on<Ref><Event>`. */\nfunction refPropertyName(definition: string): string {\n return isRefList(definition) ? definition.slice(0, -REF_LIST_SUFFIX.length) : definition;\n}\n\n/** Namespaced refs name their owner and can cross other component boundaries. */\nconst REF_NAMESPACE_SEPARATOR = '.';\n\n/** Return `Component.ref[]`; the namespace wraps the complete ref definition. */\nfunction namespacedRef(componentName: string, definition: string): string {\n return `${componentName}${REF_NAMESPACE_SEPARATOR}${definition}`;\n}\n\n/**\n * Does this element declare `definition` as a ref of `root`, in either\n * spelling? The two forms scope differently, so which one was written decides\n * how ownership is resolved.\n */\nfunction isRefOf(\n el: Element,\n root: Element,\n componentName: string,\n definition: string,\n): el is HTMLElement {\n const declared = el.getAttribute(REF_ATTRIBUTE);\n if (declared === definition) {\n return belongsTo(el, root);\n }\n return (\n declared === namespacedRef(componentName, definition) && belongsTo(el, root, componentName)\n );\n}\n\n/** Return owned plain and namespaced refs for the declared name, in document order. */\nfunction queryRefs(root: HTMLElement, componentName: string, definition: string): HTMLElement[] {\n const plain = [\n ...root.querySelectorAll<HTMLElement>(`[${REF_ATTRIBUTE}=\"${definition}\"]`),\n ].filter((el) => belongsTo(el, root));\n const namespaced = root.querySelectorAll<HTMLElement>(\n `[${REF_ATTRIBUTE}=\"${namespacedRef(componentName, definition)}\"]`,\n );\n if (namespaced.length === 0) {\n return plain;\n }\n const owned = [...namespaced].filter((el) => belongsTo(el, root, componentName));\n if (plain.length === 0) {\n return owned;\n }\n // One property, so one document order — an index handed to `on<Ref><Event>`\n // has to mean the same thing as an index into `$refs`.\n return [...plain, ...owned].sort(compareDocumentOrder);\n}\n\n/** Warn once when a missing list ref has an unsuffixed markup candidate. */\nfunction warnMissingRefSuffix(instance: Base, definition: string, checked: Set<string>): void {\n if (checked.has(definition)) {\n return;\n }\n checked.add(definition);\n const name = refPropertyName(definition);\n const namespaced = namespacedRef(instance.$config.name, name);\n // Both spellings, so `data-ref=\"Slider.dots\"` is caught the same way\n // `data-ref=\"dots\"` is. This runs once per instance and per ref, and only\n // when the ref found nothing, so the selector list costs nothing here.\n if (\n !instance.$el.querySelector(`[${REF_ATTRIBUTE}=\"${name}\"],[${REF_ATTRIBUTE}=\"${namespaced}\"]`)\n ) {\n return;\n }\n warnOnce(\n instance,\n `attribute:${definition}`,\n 'ref.mismatch',\n `\\`${instance.$config.name}\\` declares \\`${definition}\\` and found no \\`data-ref=\"${definition}\"\\`, but the markup declares \\`data-ref=\"${name}\"\\`. A list ref carries the \\`[]\\` in the attribute too: add it, or drop it from \\`config.refs\\`.`,\n { component: instance.$config.name, target: instance.$el },\n );\n}\n\n/** Warn when `@on()` uses a list ref's derived property name instead of its suffixed declaration. */\nfunction warnRefSuffixMismatch(\n instance: Base,\n child: string,\n refs: Array<{ definition: string }>,\n): void {\n const other = isRefList(child) ? refPropertyName(child) : `${child}${REF_LIST_SUFFIX}`;\n if (!refs.some(({ definition }) => definition === other)) {\n return;\n }\n warnOnce(\n instance,\n `handler:${child}`,\n 'ref.mismatch',\n `\\`${instance.$config.name}\\` binds \\`@on('${child}', …)\\`, which matches no component and no ref. The ref is declared \\`${other}\\`, and \\`@on()\\` names a ref the way it is declared: write \\`@on('${other}', …)\\`.`,\n { component: instance.$config.name, target: instance.$el },\n );\n}\n\n/**\n * Build live refs resolved from current DOM. List declarations return arrays; namespaced attributes use the unqualified property name.\n */\nfunction buildRefs(instance: Base): Record<string, HTMLElement | HTMLElement[]> {\n const refs: Record<string, HTMLElement | HTMLElement[]> = {};\n const checked = new Set<string>();\n const componentName = instance.$config.name;\n for (const definition of instance.$config.refs ?? []) {\n const isList = isRefList(definition);\n const name = refPropertyName(definition);\n // Cache live refs by document version; structural changes invalidate them.\n let cachedVersion = -1;\n let cached: HTMLElement[] = [];\n Object.defineProperty(refs, name, {\n enumerable: true,\n get() {\n let elements: HTMLElement[];\n // A detached subtree produces no mutation records, so nothing\n // would ever invalidate a cache built from it.\n if (instance.$el.isConnected) {\n const version = domVersion();\n if (version !== cachedVersion) {\n cachedVersion = version;\n cached = queryRefs(instance.$el, componentName, definition);\n }\n elements = cached;\n } else {\n elements = queryRefs(instance.$el, componentName, definition);\n }\n if (isList && elements.length === 0) {\n warnMissingRefSuffix(instance, definition, checked);\n }\n return isList ? elements : elements[0];\n },\n });\n }\n return refs;\n}\n\n/** Build live attribute-backed options with per-instance defaults. */\ninterface OptionReader {\n /** The unsuffixed `data-option-*` attribute — the base of the cascade. */\n attribute: string;\n /**\n * The raw string in force now: the value of the breakpoint-scoped spelling\n * the cascade selects, or the base attribute's when none is scoped.\n */\n rawValue(): string | null;\n /**\n * The raw string that was in force at another breakpoint, or before a\n * mutation batch. `get` supplies the attribute values to resolve against, so\n * the same cascade answers both questions.\n */\n rawValueAt(breakpoint: string, get: (name: string) => string | null): string | null;\n /** Whether an attribute name is this option's, at any breakpoint. */\n owns(attributeName: string): boolean;\n read(raw: string | null): unknown;\n}\n\n/** The method name an option's effect is declared under. */\nfunction optionChangedMethod(name: string): string {\n return `option${capitalize(name)}Changed`;\n}\n\n/** The effect an option declares, or `undefined` when the component declares none. */\nfunction optionChangedHandler(\n instance: Base,\n name: string,\n): ((change: OptionChange) => OptionChangedReturn) | undefined {\n const handler = (instance as unknown as Record<string, unknown>)[optionChangedMethod(name)];\n return typeof handler === 'function'\n ? (handler as (change: OptionChange) => OptionChangedReturn)\n : undefined;\n}\n\n/** Warn once per declaration for literal object or array defaults. Values are not copied. */\nfunction warnLiteralDefault(\n componentName: string,\n option: string,\n definition: object,\n declared: object,\n target: Element,\n): void {\n const kind = Array.isArray(declared) ? 'array' : 'object';\n warnOnce(\n definition,\n '',\n 'option.literal-default',\n `\\`${componentName}\\` declares option \\`${option}\\` with a literal ${kind} default, which every instance of it then shares. Only a primitive may be a default; declare this one as a factory: \\`default: () => (…)\\`.`,\n { component: componentName, target },\n );\n}\n\n/** Turn the attribute in force into a value. `null` means the attribute is absent. */\ntype OptionTypeRule = (raw: string | null, defaultValue: () => unknown) => unknown;\n\n/** An absent attribute reads the declared default, or the type's empty value. */\nfunction absentValue(defaultValue: () => unknown, empty: unknown): unknown {\n const value = defaultValue();\n return value === undefined ? empty : value;\n}\n\n/**\n * `buildDefault()` already answers `[]` or `{}` when nothing was declared, so\n * a structured type needs no empty value of its own. Unparsable JSON is not a\n * failure either: the option falls back to that same default.\n */\nfunction readJSON(raw: string | null, defaultValue: () => unknown): unknown {\n if (raw === null) {\n return absentValue(defaultValue, undefined);\n }\n try {\n return JSON.parse(raw);\n } catch {\n return defaultValue();\n }\n}\n\nfunction emptyValue(type: OptionType): unknown {\n if (type === Boolean) return false;\n if (type === Number) return 0;\n if (type === String) return '';\n if (type === Array) return [];\n return {};\n}\n\nfunction isOptionValue(value: unknown, type: OptionType): boolean {\n if (type === Boolean) return typeof value === 'boolean';\n if (type === Number) return typeof value === 'number' && !Number.isNaN(value);\n if (type === String) return typeof value === 'string';\n if (type === Array) return Array.isArray(value);\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/** What each supported option type makes of its attribute. */\nconst OPTION_TYPE_RULES = new Map<OptionType, OptionTypeRule>([\n // Presence is the value — the attribute is there or it is not, as a platform\n // boolean attribute is — so `data-option-x=\"false\"` reads `true` and the way\n // to turn one off is to remove the attribute or to write its negated\n // spelling. Unlike every other type, a declared `null` default still reads\n // as `false`.\n [\n Boolean,\n (raw, defaultValue) => (raw === null ? (defaultValue() ?? false) : raw !== NEGATED_RAW),\n ],\n [Number, (raw, defaultValue) => (raw === null ? absentValue(defaultValue, 0) : Number(raw))],\n [String, (raw, defaultValue) => (raw === null ? absentValue(defaultValue, '') : raw)],\n [Array, readJSON],\n [Object, readJSON],\n]);\n\nfunction readUnion(types: OptionTypes, raw: string | null, defaultValue: () => unknown): unknown {\n if (raw === null) {\n return absentValue(defaultValue, types[0] === undefined ? undefined : emptyValue(types[0]));\n }\n\n // A negation is not a value, so it is answered before the members are tried:\n // `[String, Boolean]` would otherwise hand the sentinel to the string rule,\n // which accepts any string, and the option would read as one.\n if (raw === NEGATED_RAW) {\n return false;\n }\n\n for (const type of types) {\n const value = OPTION_TYPE_RULES.get(type)!(raw, () => undefined);\n if (isOptionValue(value, type)) {\n return value;\n }\n }\n\n return defaultValue();\n}\n\nfunction isOptionTypes(value: unknown): value is OptionTypes {\n return Array.isArray(value);\n}\n\nfunction isOptionShorthand(definition: OptionDefinition): definition is OptionType | OptionTypes {\n return typeof definition === 'function' || isOptionTypes(definition);\n}\n\n/**\n * Whether an option can hold `false`, and therefore whether the negated\n * attribute means anything for it. A union is enough: `[Boolean, String]` can\n * be turned off, `[String, Number]` has nothing to turn off.\n */\nexport function declaresBoolean(definition: OptionDefinition): boolean {\n const type = isOptionShorthand(definition) ? definition : definition.type;\n return isOptionTypes(type) ? type.includes(Boolean) : type === Boolean;\n}\n\n/**\n * The `$options` view and the readers behind it, built in one pass: the getters\n * and the readers are the same closures seen from two sides.\n */\nfunction buildOptions(instance: Base): {\n options: Record<string, unknown>;\n readers: Map<string, OptionReader>;\n} {\n const options: Record<string, unknown> = {};\n const readers = new Map<string, OptionReader>();\n const el = instance.$el;\n for (const [name, definition] of Object.entries(instance.$config.options ?? {})) {\n const shorthand = isOptionShorthand(definition);\n const type = shorthand ? definition : definition.type;\n const declared = shorthand ? undefined : definition.default;\n const attribute = optionAttributeFor(name);\n // Only an option which can hold `false` has an off spelling to read.\n const negated = declaresBoolean(definition) ? negatedOptionAttributeFor(name) : undefined;\n\n if (!shorthand && declared !== null && typeof declared === 'object') {\n warnLiteralDefault(instance.$config.name, name, definition, declared, el);\n }\n\n // Built on first read and memoised, so repeated reads hand back the same\n // object and a mutation of it sticks — for this instance only.\n let memoized: unknown;\n let isMemoized = false;\n const defaultValue = (): unknown => {\n if (!isMemoized) {\n isMemoized = true;\n memoized = buildDefault();\n }\n return memoized;\n };\n const buildDefault = (): unknown => {\n // `Function` is not an option type, so a callable default is a factory.\n if (typeof declared === 'function') {\n return (declared as () => unknown)();\n }\n // Anything else is handed over as declared — including a literal object\n // or array, which the contract does not allow and `warnLiteralDefault()`\n // has already reported. Copying it here would repair a declaration the\n // contract rejects, and make an unsupported form look supported.\n if (declared !== undefined) {\n return declared;\n }\n // An undeclared object or array default is still the instance's own.\n const defaultType = isOptionTypes(type) ? type[0] : type;\n if (defaultType === Array) return [];\n if (defaultType === Object) return {};\n return undefined;\n };\n\n const read = (raw: string | null): unknown =>\n isOptionTypes(type)\n ? readUnion(type, raw, defaultValue)\n : (\n OPTION_TYPE_RULES.get(type) ??\n ((value, fallback) => (value === null ? absentValue(fallback, undefined) : value))\n )(raw, defaultValue);\n\n // Every option is responsive, and it is **derived on read**: the getter\n // consults the viewport as well as the element, and stores nothing. This\n // is what lets `$options` stay a read-only view — there is no moment at\n // which a breakpoint change has to write a value in.\n const fromElement = (attributeName: string) => el.getAttribute(attributeName);\n const rawValue = () => responsiveRawValue(attribute, activeBreakpoint(), fromElement, negated);\n const rawValueAt = (breakpoint: string, get: (attributeName: string) => string | null) =>\n responsiveRawValue(attribute, breakpoint, get, negated);\n // An option owns its generated namespace: the base name and every\n // breakpoint-qualified spelling of it, on both the value and the negation.\n const owns = (attributeName: string) =>\n isInNamespace(attribute, attributeName) ||\n (negated !== undefined && isInNamespace(negated, attributeName));\n\n readers.set(name, { attribute, rawValue, rawValueAt, owns, read });\n Object.defineProperty(options, name, {\n enumerable: true,\n get: () => read(rawValue()),\n });\n }\n return { options, readers };\n}\n\n/**\n * Merge inherited config. Collections merge; declared scalar values override parent values.\n *\n * The registry uses this before an instance exists. Memoised per class: a\n * config is a pure function of the prototype chain, and `$config` reads it on\n * every access.\n */\nexport const resolveConfig = /* @__PURE__ */ memo((ctor: BaseConstructor): BaseConfig => {\n const chain: BaseConfig[] = [];\n let current: BaseConstructor | null = ctor;\n while (current?.config) {\n if (Object.hasOwn(current, 'config')) {\n chain.unshift(current.config);\n }\n current = Object.getPrototypeOf(current) as BaseConstructor | null;\n }\n\n const config = chain.reduce<BaseConfig>(\n (merged, own) => ({\n ...merged,\n ...own,\n refs: [...new Set([...(merged.refs ?? []), ...(own.refs ?? [])])],\n options: { ...merged.options, ...own.options },\n components: { ...merged.components, ...own.components },\n }),\n { name: ctor.name },\n );\n\n return config;\n});\n\n/**\n * Define one of the four fixed instance properties.\n *\n * `readonly` is a compile-time promise and these four are the instance's\n * identity — the element it is bound to, the id derived from its name, and the\n * two views over its markup. A non-writable property makes the promise the\n * runtime's too: an assignment throws in a module rather than replacing what\n * every other part of the framework reads. The fields are `declare`d, so the\n * class emits no initializer to overwrite what this defines.\n */\nfunction defineFixed<T extends Base, K extends '$el' | '$id' | '$options' | '$refs'>(\n instance: T,\n property: K,\n value: T[K],\n): void {\n Object.defineProperty(instance, property, { value, enumerable: true });\n}\n\n/** Reserved handler prefixes for global targets. They take precedence over child and ref names. */\nconst GLOBAL_PREFIXES = ['Window', 'Document'] as const;\n\n/** Resolve a global handler prefix only when an event name follows it. */\nfunction resolveGlobal(rest: string): { target: Window | Document; type: string } | null {\n for (const prefix of GLOBAL_PREFIXES) {\n if (rest.length > prefix.length && rest.startsWith(prefix)) {\n return {\n target: prefix === 'Window' ? window : document,\n type: kebabCase(rest.slice(prefix.length)),\n };\n }\n }\n return null;\n}\n\n/** Return inherited prototype handler names. Class fields are not included. */\nfunction handlerMethodNames(ctor: BaseConstructor): string[] {\n const names = new Set<string>();\n let proto: object | null = ctor.prototype;\n while (proto && proto !== Base.prototype) {\n for (const name of Object.getOwnPropertyNames(proto)) {\n if (REGEX_HANDLER.test(name)) {\n names.add(name);\n }\n }\n proto = Object.getPrototypeOf(proto) as object | null;\n }\n return [...names];\n}\n\n/**\n * One resolved magic handler: which listener to create, and where, for an\n * `on<…>` method name — everything but the instance to call it on.\n */\ntype HandlerPlanEntry = { method: string; type: string } & (\n | { kind: 'global'; target: Window | Document }\n /** The declared child name. */\n | { kind: 'child'; name: string }\n /** The **declared** ref, `[]` included: it is what `queryRefs()` takes. */\n | { kind: 'ref'; name: string }\n | { kind: 'own' }\n);\n\ninterface HandlerPlan {\n /** Declared child names, longest first. */\n childNames: string[];\n /** Declared refs, longest derived name first. */\n refs: Array<{ name: string; definition: string }>;\n componentName: string;\n entries: HandlerPlanEntry[];\n}\n\n/**\n * Resolve and cache each class's handler plan.\n *\n * Keep the `@__PURE__` annotation so bundlers can remove unused handler planning.\n */\nconst handlerPlan = /* @__PURE__ */ memo((ctor: BaseConstructor): HandlerPlan => {\n const config = resolveConfig(ctor);\n // Longest name first, so `onSliderDragStart` resolves to the declared\n // `SliderDrag` child, not to `Slider`.\n const byLength = (a: string, b: string) => b.length - a.length;\n const childNames = Object.keys(config.components ?? {}).sort(byLength);\n // Keep both declared and derived ref names; list refs differ by `[]`.\n const refs = (config.refs ?? [])\n .map((definition) => ({ name: refPropertyName(definition), definition }))\n .sort((a, b) => byLength(a.name, b.name));\n\n // The global prefixes are matched first because they are reserved; children\n // are matched before refs, so a name declared as both resolves to the\n // component.\n const entries = handlerMethodNames(ctor).map((method): HandlerPlanEntry => {\n const rest = method.slice(2);\n const global = resolveGlobal(rest);\n if (global) {\n return { kind: 'global', method, type: global.type, target: global.target };\n }\n const startsWith = (name: string) =>\n rest.startsWith(capitalize(name)) && rest.length > name.length;\n const childName = childNames.find(startsWith);\n if (childName) {\n return {\n kind: 'child',\n method,\n type: kebabCase(rest.slice(childName.length)),\n name: childName,\n };\n }\n const ref = refs.find(({ name }) => startsWith(name));\n if (ref) {\n return {\n kind: 'ref',\n method,\n type: kebabCase(rest.slice(ref.name.length)),\n name: ref.definition,\n };\n }\n return { kind: 'own', method, type: kebabCase(rest) };\n });\n\n return { childNames, refs, componentName: config.name, entries };\n});\n\n/** One handler waiting on a descendant, resolved at event time. */\ntype DelegatedEntry =\n | { kind: 'child'; name: string; invoke: (payload: DelegatedEvent) => void }\n // `name` here is the **declared** ref, suffix included: it is compared\n // against the `data-ref` attribute and handed to `queryRefs()`.\n | { kind: 'ref'; name: string; invoke: (payload: RefEvent) => void };\n\ntype DelegatedEntries = Map<string, DelegatedEntry[]>;\n\nfunction addDelegated(delegated: DelegatedEntries, type: string, entry: DelegatedEntry): void {\n if (!delegated.has(type)) {\n delegated.set(type, []);\n }\n delegated.get(type)?.push(entry);\n}\n\n/**\n * `mounted()` may return one cleanup, several, nothing — or a promise of\n * those. The shape nests, so a subclass composes with what it extends\n * without unpacking it: `return [super.mounted(), () => { … }]`.\n */\nexport type MountedReturn = void | (() => void) | MountedReturn[] | Promise<MountedReturn>;\n\nfunction reportLifecycleFailure(instance: Base, message: string, error: unknown): void {\n reportDiagnostic('component.lifecycle-failed', message, error, {\n component: instance.$config.name,\n target: instance.$el,\n });\n}\n\n/** What `#guard()` returns instead of a value when the guarded call threw. */\nconst GUARD_FAILED = Symbol('guard-failed');\n\n/**\n * The class every component extends.\n * @link https://js-toolkit-v4.studiometa.dev/api/\n */\nexport class Base<T extends BaseProps = BaseProps> {\n /** A class-owned brand inherited by subclasses and shared by bundled copies. */\n static readonly [BASE_BRAND] = true;\n\n static config: BaseConfig = { name: 'Base' };\n\n /**\n * Phantom carrier for the props type: type-only, never assigned, so\n * another component can read this one's declared surface.\n */\n declare readonly __props?: T;\n\n /**\n * Unique, stable instance id (`<ComponentName>-<sequence>`).\n *\n * Generated once during construction from the resolved component name. It\n * stays unchanged across unmount and remount cycles, so a component can use\n * it for persistent ARIA relationships without changing the DOM id itself.\n */\n declare readonly $id: string;\n\n declare readonly $el: El<T>;\n\n /**\n * Live view over the component's `data-ref` elements: every access\n * re-reads the DOM, so replaced markup is picked up with nothing to\n * refresh.\n */\n declare readonly $refs: Refs<T>;\n\n /**\n * Read-only view over the component's `data-option-*` attributes: an option\n * is an input, never a store.\n *\n * `buildOptions()` defines every property with a getter and no setter, so\n * the value is derived from the DOM and the viewport on each access and\n * nothing is ever written in. Assigning to one throws a `TypeError`, since\n * a module is strict code; the type says the same thing ahead of the throw.\n *\n * A component which must change a value it read keeps a private field\n * seeded from the option. One which means the DOM to change writes the\n * attribute, which is the same statement the markup makes.\n *\n * The constructor is the one place it is set.\n */\n declare readonly $options: Readonly<Options<T>>;\n\n #isMounted = false;\n\n /** Per-mount-cycle listeners, removed on every `$unmount()`. */\n #listeners: Array<[string, EventListener, EventTarget, boolean]> = [];\n\n /** Per-mount-cycle cleanups (service unsubscriptions, `mounted()` return values). */\n #unmountCallbacks: Array<() => void> = [];\n\n /**\n * The reader behind each declared option, built with the `$options` view.\n *\n * A side table rather than a cache: it holds no computed value, it holds the\n * other half of what `buildOptions()` produced, so it lives with the\n * instance like every other piece of its state.\n */\n #optionReaders: Map<string, OptionReader>;\n\n /** Cleanup returned by each active `option<Name>Changed()` effect. */\n #optionCleanups = new Map<string, () => void>();\n\n /** Increments on mount so a reentrant effect cannot attach to a later cycle. */\n #mountCycle = 0;\n\n /**\n * The `$watchChildren()` watchers this instance owns. The shared unmount\n * listener only holds weak references to them, so this field is what keeps\n * them alive — and what lets them die with their owner.\n */\n #childrenWatchers: ChildrenWatcher[] = [];\n\n #tasks = new Set<ScheduledTask<unknown>>();\n\n /** Filled by the `@on` decorator's initializers, if any are used. */\n declare [HANDLER_REGISTRATIONS]?: HandlerRegistration[];\n\n get $config(): BaseConfig {\n return resolveConfig(this.constructor as BaseConstructor);\n }\n\n get $isMounted(): boolean {\n return this.#isMounted;\n }\n\n constructor(el: HTMLElement) {\n const { name } = this.$config;\n componentId += 1;\n // `$el` has to be readable before the views are built: `buildOptions()`\n // and `buildRefs()` both read it off the instance.\n defineFixed(this, '$el', el);\n defineFixed(this, '$id', `${name}-${componentId - 1}`);\n el[INSTANCES] ??= new Map();\n el[INSTANCES].set(name, this);\n // Both views resolve on access, so they are built once and stay correct\n // for the instance's whole life.\n const built = buildOptions(this);\n // The view is a bag of getters, which no structural type describes once\n // `Readonly<>` is mapped over a props parameter — core builds it, and the\n // readonly says what every consumer may do with it.\n defineFixed(this, '$options', built.options as Readonly<Options<T>>);\n this.#optionReaders = built.readers;\n defineFixed(this, '$refs', buildRefs(this));\n }\n\n /**\n * Lifecycle hook, meant to be overridden. May return a cleanup function\n * (or an array of them) that runs on the next `$unmount()` — sync or\n * async:\n *\n * async mounted() {\n * const signal = await this.$inject(SomeContext);\n * return signal.subscribe((value) => { … });\n * }\n *\n * A component extending a mixin returns what it extends along with its\n * own, in any nesting:\n *\n * mounted() {\n * return [super.mounted(), () => { … }];\n * }\n */\n mounted(): MountedReturn {}\n\n /**\n * Lifecycle hook, meant to be overridden. Runs at the end of `$unmount()`,\n * after the `mounted()` cleanups, and returns nothing: a teardown that\n * belongs to a specific piece of setup is better written as the cleanup\n * `mounted()` returns, next to the setup it undoes.\n */\n unmounted(): void {}\n\n /**\n * Mount the instance. `$unmount()` is its inverse and the same instance can\n * mount again — this is what happens when an element is moved or\n * re-inserted in the DOM.\n */\n $mount(): this {\n if (this.#isMounted) {\n return this;\n }\n this.#bindHandlers();\n this.#isMounted = true;\n this.#mountCycle += 1;\n const cycle = this.#mountCycle;\n this.#initializeOptionEffects(cycle);\n if (!this.#isActiveMountCycle(cycle)) {\n return this;\n }\n this.#initializeResponsiveOptions(cycle);\n if (!this.#isActiveMountCycle(cycle)) {\n return this;\n }\n this.#guard('`mounted()` failed.', () => this.#collectCleanup(this.mounted(), cycle));\n if (!this.#isActiveMountCycle(cycle)) {\n return this;\n }\n // Announce the mounted instance to ancestors.\n const detail: LifecycleEventDetail = { instance: this };\n this.$el.dispatchEvent(\n new CustomEvent(EVENTS.component.mounted, { bubbles: true, cancelable: false, detail }),\n );\n return this;\n }\n\n /**\n * End the mount cycle. Removes the per-cycle listeners, leaves the\n * services, cancels the scheduler tasks the cycle left pending, runs the\n * `mounted()` cleanups and calls the `unmounted()` hook. The instance stays\n * on its element and `$mount()` starts a new cycle.\n */\n $unmount(): this {\n if (!this.#isMounted) {\n return this;\n }\n this.#isMounted = false;\n for (const [type, listener, target, capture] of this.#listeners) {\n target.removeEventListener(type, listener, capture);\n }\n this.#listeners = [];\n // Cancel cycle work before cleanup. Tasks scheduled by cleanup must remain active.\n const pending = this.#tasks;\n this.#tasks = new Set();\n for (const task of pending) {\n task.cancel();\n }\n const callbacks = this.#unmountCallbacks;\n this.#unmountCallbacks = [];\n for (const callback of callbacks) {\n this.#guard('A mount cleanup failed.', callback);\n }\n this.#clearOptionEffects();\n this.#guard('`unmounted()` failed.', () => this.unmounted());\n // The element may already be detached, so a bubbling event would reach\n // nobody: announce from the document instead.\n const detail: LifecycleEventDetail = { instance: this };\n document.dispatchEvent(\n new CustomEvent(EVENTS.component.unmounted, { cancelable: false, detail }),\n );\n return this;\n }\n\n /**\n * Dispatch a bubbling, cancelable event with the payload as `detail`.\n *\n * @returns The dispatched event. Check `defaultPrevented` for cancellation.\n */\n $emit<K extends EmitName<T>>(event: K, ...payload: EmitArgs<T, K>): CustomEvent<EmitDetail<T, K>>;\n $emit(event: string, payload?: object): CustomEvent<unknown> {\n checkPayload(this, event, payload);\n return this.#dispatch(event, payload);\n }\n\n /** Build and dispatch a component event. */\n #dispatch(event: string, detail: unknown): CustomEvent<unknown> {\n const dispatched = new CustomEvent(event, { bubbles: true, cancelable: true, detail });\n this.$el.dispatchEvent(dispatched);\n return dispatched;\n }\n\n $on(type: string, listener: EventListener, options?: AddEventListenerOptions): () => void {\n this.$el.addEventListener(type, listener, options);\n return () => this.$el.removeEventListener(type, listener, options);\n }\n\n $off(type: string, listener: EventListener, options?: AddEventListenerOptions): void {\n this.$el.removeEventListener(type, listener, options);\n }\n\n /**\n * Mounted descendant instances by component name, in DOM order.\n */\n $query<T extends Base = Base>(name: string): T[] {\n return [...this.$el.querySelectorAll(selectorFor(name))]\n .map((el) => el[INSTANCES]?.get(name))\n .filter((instance): instance is T => Boolean(instance?.$isMounted));\n }\n\n /**\n * Nearest mounted ancestor instance by component name.\n */\n $closest<T extends Base = Base>(name: string): T | null {\n let el = this.$el.parentElement;\n while (el) {\n const instance = el[INSTANCES]?.get(name);\n if (instance?.$isMounted) {\n return instance as T;\n }\n el = el.parentElement;\n }\n return null;\n }\n\n /**\n * Return a live, DOM-ordered collection of mounted descendants.\n *\n * A string matches `config.name`. A class also matches subclasses.\n */\n $watchChildren<T extends Base = Base>(\n name: string,\n callbacks?: WatchChildrenCallbacks<T>,\n ): ChildrenCollection<T>;\n $watchChildren<T extends BaseConstructor>(\n ComponentClass: T,\n callbacks?: WatchChildrenCallbacks<InstanceType<T>>,\n ): ChildrenCollection<InstanceType<T>>;\n $watchChildren<T extends Base = Base>(\n target: string | BaseConstructor,\n callbacks: WatchChildrenCallbacks<T> = {},\n ): ChildrenCollection<T> {\n const instances = new Set<T>();\n const matches = (instance: Base): instance is T =>\n typeof target === 'string' ? instance.$config.name === target : instance instanceof target;\n const add = (instance: T) => {\n if ((instance as Base) !== this && !instances.has(instance)) {\n instances.add(instance);\n callbacks.added?.(instance);\n }\n };\n const remove = (instance: T) => {\n if (instances.delete(instance)) {\n callbacks.removed?.(instance);\n }\n };\n\n // Defer callbacks until construction completes; listeners attach before the sweep.\n queueMicrotask(() => {\n if (typeof target === 'string') {\n for (const instance of this.$query<T>(target)) {\n add(instance);\n }\n return;\n }\n // Constructor matching must inspect instances because subclasses can use other tokens.\n for (const el of this.$el.querySelectorAll('*')) {\n for (const instance of el[INSTANCES]?.values() ?? []) {\n if (instance.$isMounted && matches(instance)) {\n add(instance);\n }\n }\n }\n });\n\n const onMounted = (event: Event) => {\n const { instance } = (event as CustomEvent<LifecycleEventDetail>).detail;\n if (instance.$isMounted && matches(instance)) {\n add(instance);\n }\n };\n // Unmounted instances announce from `document`, because their elements can\n // be detached. The instance keeps its own watchers, and the shared listener\n // reaches them weakly, so watching children adds no reference from the\n // document to this component.\n const watcher: ChildrenWatcher = (instance) => {\n if (matches(instance)) {\n remove(instance);\n }\n };\n this.#childrenWatchers.push(watcher);\n registerChildrenWatcher(watcher);\n // Instance-lifetime, so neither registration is released: the collection\n // survives unmount and mount cycles, and both ends die with the instance —\n // the mount listener with the element it sits on, the watcher with the\n // field above.\n this.$el.addEventListener(EVENTS.component.mounted, onMounted);\n\n return {\n get size() {\n return instances.size;\n },\n get items() {\n return [...instances].sort((a, b) => compareDocumentOrder(a.$el, b.$el));\n },\n [Symbol.iterator]() {\n return this.items[Symbol.iterator]();\n },\n };\n }\n\n /**\n * Provide a value verbatim to the subtree for as long as the element lives.\n * The nearest provider wins.\n *\n * The provider sits on the element, not on the mount cycle, so it answers\n * through every unmount and mount. Nothing releases it early: a component\n * whose declaration is withdrawn keeps providing until its element goes.\n */\n $provide<V>(key: ContextKey<V>, value: V): V {\n provideContext(this.$el, key, value);\n return value;\n }\n\n /**\n * Resolve the nearest value now or when a provider appears. The request remains pending without a provider and is canceled on unmount.\n */\n $inject<V>(key: ContextKey<V>): Promise<V> {\n const { promise, cancel } = injectContext(this.$el, key);\n this.#unmountCallbacks.push(cancel);\n return promise;\n }\n\n /** Resolve the nearest value now, or return `undefined` without queuing a request. */\n $injectSync<V>(key: ContextKey<V>): V | undefined {\n return injectContextSync(this.$el, key);\n }\n\n /**\n * Apply one mutation batch after declaration reconciliation. Option cleanup runs before the next value and on unmount. Only resolved value changes trigger effects.\n *\n * @internal\n */\n $optionsChanged(changes: ReadonlyMap<string, string | null>): void {\n if (!this.#isMounted) {\n return;\n }\n const before = (attributeName: string) =>\n changes.has(attributeName)\n ? (changes.get(attributeName) ?? null)\n : this.$el.getAttribute(attributeName);\n\n for (const [name, reader] of this.#optionReaders) {\n // The base attribute is one lookup; any of the scoped spellings may be\n // the one the cascade was selecting, so a miss asks about every changed\n // name before giving up.\n let touched = changes.has(reader.attribute);\n if (!touched) {\n for (const attributeName of changes.keys()) {\n if (reader.owns(attributeName)) {\n touched = true;\n break;\n }\n }\n }\n if (!touched) {\n continue;\n }\n const previousRawValue = reader.rawValueAt(activeBreakpoint(), before);\n if (isNetChange(reader.rawValue(), previousRawValue)) {\n this.#runOptionEffect(name, reader, previousRawValue, false);\n }\n }\n }\n\n /**\n * Report a warning on the diagnostic channel, as this component.\n *\n * The component name and the element are filled in from the instance, which\n * is the whole reason this exists on `Base` rather than being a bare\n * function a component imports: those two are what a listener filters and\n * inspects on, and a component is the one thing that always knows both.\n *\n * The code is namespaced — `'figure.load-failed'` — so a listener can select\n * one component's diagnostics without matching on message text. Core's own\n * codes are enumerated in `DIAGNOSTICS`; a code outside that set is a\n * consumer's, and the shape is all that is required of it.\n *\n * Canceling the event suppresses the default `console.warn` and nothing\n * else, so a host application can route these into its own reporter.\n */\n $warn(code: ToolkitDiagnosticCode, message: string): void {\n warn(code, message, { component: this.$config.name, target: this.$el });\n }\n\n /**\n * Report a recovered failure on the diagnostic channel, as this component.\n *\n * The counterpart to {@link $warn} for the case where something threw and\n * the component carried on: the original value is required, because a\n * reporter that cannot see the cause cannot do anything useful with it.\n * Canceling suppresses the default error sink.\n */\n $error(code: ToolkitDiagnosticCode, message: string, error: unknown): void {\n reportDiagnostic(code, message, error, {\n component: this.$config.name,\n target: this.$el,\n });\n }\n\n /** Schedule a DOM read; canceled automatically when the instance unmounts. */\n $read<T>(fn: () => T): ScheduledTask<T> {\n return this.#track(defaultScheduler.read(fn));\n }\n\n /** Schedule a DOM write; canceled automatically when the instance unmounts. */\n $write<T>(fn: () => T): ScheduledTask<T> {\n return this.#track(defaultScheduler.write(fn));\n }\n\n #track<T>(task: ScheduledTask<T>): ScheduledTask<T> {\n this.#tasks.add(task);\n const finished = () => this.#tasks.delete(task);\n void task.promise.then(finished, finished);\n return task;\n }\n\n #isActiveMountCycle(cycle: number): boolean {\n return this.#isMounted && this.#mountCycle === cycle;\n }\n\n /**\n * Run a hook or a cleanup owned by the component. A throw there must not\n * abandon the framework bookkeeping which follows it, so it is reported and\n * swallowed; the sentinel lets the few callers which care tell a failure\n * from a value the call returned.\n */\n #guard<T>(message: string, run: () => T): T | typeof GUARD_FAILED {\n try {\n return run();\n } catch (error) {\n reportLifecycleFailure(this, message, error);\n return GUARD_FAILED;\n }\n }\n\n #initializeOptionEffects(cycle: number): void {\n for (const [name, reader] of this.#optionReaders) {\n if (!this.#isActiveMountCycle(cycle)) {\n return;\n }\n this.#runOptionEffect(name, reader, null, true);\n }\n }\n\n /** Subscribe to breakpoint changes for this mount cycle only when an option effect exists. */\n #initializeResponsiveOptions(cycle: number): void {\n const readers = this.#optionReaders;\n if (!readers || readers.size === 0) {\n return;\n }\n // Scan attributes once per mount for unknown breakpoint suffixes.\n checkResponsiveAttributes(\n this.$el,\n [...readers.values()].map((reader) => reader.attribute),\n );\n\n const announces = [...readers.keys()].some(\n (name) => optionChangedHandler(this, name) !== undefined,\n );\n if (!announces) {\n return;\n }\n\n this.#collectCleanup(\n watchBreakpoint((previous) => {\n const fromElement = (attributeName: string) => this.$el.getAttribute(attributeName);\n for (const [name, reader] of readers) {\n // The attributes did not move; the viewport did. A crossing is only a\n // change to the options whose cascade now selects a different one.\n const previousRawValue = reader.rawValueAt(previous, fromElement);\n if (isNetChange(reader.rawValue(), previousRawValue)) {\n this.#runOptionEffect(name, reader, previousRawValue, false);\n }\n }\n }),\n cycle,\n );\n }\n\n #runOptionEffect(\n name: string,\n reader: OptionReader,\n previousRawValue: string | null,\n initial: boolean,\n ): void {\n const previousCleanup = this.#optionCleanups.get(name);\n this.#optionCleanups.delete(name);\n if (previousCleanup) {\n this.#guard(`Option \"${name}\" cleanup failed.`, previousCleanup);\n }\n if (!this.#isMounted) {\n return;\n }\n\n const handler = optionChangedHandler(this, name);\n if (!handler) {\n return;\n }\n\n const cycle = this.#mountCycle;\n const cleanup = this.#guard(`\\`${optionChangedMethod(name)}()\\` failed.`, () => {\n const rawValue = reader.rawValue();\n const change: OptionChange = {\n name,\n value: reader.read(rawValue),\n previousValue: initial ? undefined : reader.read(previousRawValue),\n rawValue,\n previousRawValue,\n initial,\n };\n return handler.call(this, change);\n });\n if (cleanup === GUARD_FAILED) {\n return;\n }\n if (typeof cleanup === 'function') {\n if (this.#isMounted && this.#mountCycle === cycle) {\n this.#optionCleanups.set(name, cleanup);\n } else {\n this.#guard(`Option \"${name}\" cleanup failed.`, cleanup);\n }\n }\n }\n\n #clearOptionEffects(): void {\n const cleanups = this.#optionCleanups;\n this.#optionCleanups = new Map();\n for (const [name, cleanup] of cleanups) {\n this.#guard(`Option \"${name}\" cleanup failed.`, cleanup);\n }\n }\n\n /**\n * Register the cleanup value returned by `mounted()`. Async hooks are\n * awaited; if their mount cycle ended in the meantime, the cleanup runs\n * right away instead of leaking into a later cycle.\n */\n #collectCleanup(result: MountedReturn, cycle: number): void {\n if (typeof result === 'function') {\n if (this.#isActiveMountCycle(cycle)) {\n this.#unmountCallbacks.push(result);\n } else {\n // The originating mount cycle ended while an async result was pending:\n // run the cleanup right away instead of leaking.\n this.#guard('A late mount cleanup failed.', result);\n }\n return;\n }\n if (Array.isArray(result)) {\n for (const item of result) {\n this.#collectCleanup(item, cycle);\n }\n return;\n }\n if (result instanceof Promise) {\n result\n .then((resolved) => this.#collectCleanup(resolved, cycle))\n .catch((error) => {\n reportLifecycleFailure(this, '`mounted()` failed.', error);\n });\n }\n }\n\n /** Bind root, delegated child/ref and global handlers for the current mount cycle. Delegated handlers resolve dynamic descendants at event time. */\n #bindHandlers(): void {\n // Resolve class-level handler metadata once.\n const plan = handlerPlan(this.constructor as BaseConstructor);\n const delegated: DelegatedEntries = new Map();\n // Decorated handlers win: both passes name a method the same way, so the\n // names bound here are what tells the second pass to skip them.\n const decorated = this.#bindDecoratedHandlers(plan, delegated);\n this.#bindPlannedHandlers(plan, delegated, decorated);\n this.#installDelegatedListeners(plan.componentName, delegated);\n }\n\n #bindOwn(type: string, invoke: (event: Event) => void): void {\n const listener: EventListener = (event) => invoke(event);\n this.$el.addEventListener(type, listener);\n this.#listeners.push([type, listener, this.$el, false]);\n }\n\n /** Bind a global handler in bubble phase for the current mount cycle. Capture is only for delegated non-bubbling events. */\n #bindGlobal(\n target: Window | Document,\n type: string,\n invoke: (payload: GlobalEvent) => void,\n ): void {\n const listener: EventListener = (event) => invoke({ event, target });\n target.addEventListener(type, listener);\n this.#listeners.push([type, listener, target, false]);\n }\n\n /**\n * Bind the decorated handlers, which already carry resolved targets and\n * event types, and return the method names they bound.\n */\n #bindDecoratedHandlers(plan: HandlerPlan, delegated: DelegatedEntries): Set<string | symbol> {\n const { childNames, refs } = plan;\n const registrations = this[HANDLER_REGISTRATIONS] ?? [];\n const decorated: Set<string | symbol> = new Set(registrations.map(({ method }) => method));\n for (const { target, child, type, handler } of registrations) {\n if (target) {\n this.#bindGlobal(target, type, (payload) => handler.call(this, payload));\n } else if (child) {\n // Decorators use the declared ref name, including `[]`.\n const declaredChild = childNames.includes(child);\n const ref = declaredChild ? undefined : refs.find(({ definition }) => definition === child);\n if (!declaredChild && !ref) {\n warnRefSuffixMismatch(this, child, refs);\n }\n addDelegated(delegated, type, {\n kind: ref ? 'ref' : 'child',\n name: child,\n invoke: (payload: DelegatedEvent | RefEvent) => handler.call(this, payload),\n });\n } else {\n this.#bindOwn(type, (event) => handler.call(this, event));\n }\n }\n return decorated;\n }\n\n /** Bind the undecorated magic handlers from the cached class plan. */\n #bindPlannedHandlers(\n plan: HandlerPlan,\n delegated: DelegatedEntries,\n decorated: Set<string | symbol>,\n ): void {\n const self = this as unknown as Record<string, (payload: unknown) => void>;\n for (const entry of plan.entries) {\n const { method, type } = entry;\n if (decorated.has(method)) {\n continue;\n }\n // Read through the instance, deliberately: a class field can shadow a\n // prototype method with something that is not callable, and the plan\n // lists the name either way.\n if (typeof self[method] !== 'function') {\n continue;\n }\n if (entry.kind === 'global') {\n this.#bindGlobal(entry.target, type, (payload) => self[method](payload));\n } else if (entry.kind === 'own') {\n this.#bindOwn(type, (event) => self[method](event));\n } else {\n addDelegated(delegated, type, {\n kind: entry.kind,\n name: entry.name,\n invoke: (payload: DelegatedEvent | RefEvent) => self[method](payload),\n });\n }\n }\n }\n\n /** Install one root listener per delegated event type. */\n #installDelegatedListeners(componentName: string, delegated: DelegatedEntries): void {\n for (const [type, entries] of delegated) {\n const listener: EventListener = (event) => {\n let el = event.target instanceof Element ? event.target : null;\n while (el && el !== this.$el) {\n let invoked = false;\n for (const entry of entries) {\n if (this.#invokeDelegated(entry, el, event, componentName)) {\n invoked = true;\n }\n }\n // Nearest matching target wins; every handler for it fired.\n if (invoked) {\n return;\n }\n el = el.parentElement;\n }\n };\n // Non-bubbling events never reach the root during the bubble phase,\n // so they are delegated from the capture phase instead.\n const capture = CAPTURED_EVENTS.has(type);\n this.$el.addEventListener(type, listener, capture);\n this.#listeners.push([type, listener, this.$el, capture]);\n }\n }\n\n /**\n * Fire one delegated entry when `el` is what it waits on: a mounted child\n * instance, or an owned ref. Returns whether it fired, which is how the\n * walk knows it reached the nearest matching element.\n */\n #invokeDelegated(\n entry: DelegatedEntry,\n el: Element,\n event: Event,\n componentName: string,\n ): boolean {\n if (entry.kind === 'child') {\n const child = el[INSTANCES]?.get(entry.name);\n if (!child?.$isMounted) {\n return false;\n }\n entry.invoke({\n event,\n target: child,\n // The detail verbatim — what a plain listener reads.\n payload: (event as CustomEvent).detail,\n });\n return true;\n }\n if (!isRefOf(el, this.$el, componentName, entry.name)) {\n return false;\n }\n entry.invoke({\n event,\n target: el,\n // The index within the ref list as `$refs` sees it, so the two\n // spellings share one numbering.\n index: queryRefs(this.$el, componentName, entry.name).indexOf(el),\n });\n return true;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA8BA,MAAM,gBAAgB;AAEtB,IAAI,cAAc;;;;;AAiHlB,MAAM,kCAAkB,IAAI,IAAI;CAC9B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;AA4ID,SAAS,aAAa,UAAgB,OAAe,SAAwB;CAC3E,IAAI,YAAY,KAAA,MAAc,OAAO,YAAY,YAAY,YAAY,OACvE,SACE,UACA,OACA,8BACA,YAAY,MAAM,6CAA6C,OAAO,QAAQ,mCAC9E;EAAE,WAAW,SAAS,QAAQ;EAAM,QAAQ,SAAS;CAAI,CAC3D;AAEJ;;;;;;AAOA,SAAS,UAAU,IAAa,MAAe,OAAyB;CACtE,IAAI,SAAS,GAAG;CAChB,OAAO,UAAU,WAAW,MAAM;EAChC,MAAM,eAAe,gBAAgB,MAAM;EAC3C,IAAI,UAAU,KAAA,IAAY,aAAa,OAAO,IAAI,aAAa,IAAI,KAAK,GACtE,OAAO;EAET,SAAS,OAAO;CAClB;CACA,OAAO,WAAW;AACpB;;AAGA,MAAM,kBAAkB;AAExB,SAAS,UAAU,YAA6B;CAC9C,OAAO,WAAW,SAAS,eAAe;AAC5C;;AAGA,SAAS,gBAAgB,YAA4B;CACnD,OAAO,UAAU,UAAU,IAAI,WAAW,MAAM,GAAG,EAAuB,IAAI;AAChF;;AAGA,MAAM,0BAA0B;;AAGhC,SAAS,cAAc,eAAuB,YAA4B;CACxE,OAAO,GAAG,gBAAgB,0BAA0B;AACtD;;;;;;AAOA,SAAS,QACP,IACA,MACA,eACA,YACmB;CACnB,MAAM,WAAW,GAAG,aAAa,aAAa;CAC9C,IAAI,aAAa,YACf,OAAO,UAAU,IAAI,IAAI;CAE3B,OACE,aAAa,cAAc,eAAe,UAAU,KAAK,UAAU,IAAI,MAAM,aAAa;AAE9F;;AAGA,SAAS,UAAU,MAAmB,eAAuB,YAAmC;CAC9F,MAAM,QAAQ,CACZ,GAAG,KAAK,iBAA8B,IAAI,cAAc,IAAI,WAAW,GAAG,CAC5E,CAAC,CAAC,QAAQ,OAAO,UAAU,IAAI,IAAI,CAAC;CACpC,MAAM,aAAa,KAAK,iBACtB,IAAI,cAAc,IAAI,cAAc,eAAe,UAAU,EAAE,GACjE;CACA,IAAI,WAAW,WAAW,GACxB,OAAO;CAET,MAAM,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,OAAO,UAAU,IAAI,MAAM,aAAa,CAAC;CAC/E,IAAI,MAAM,WAAW,GACnB,OAAO;CAIT,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,oBAAoB;AACvD;;AAGA,SAAS,qBAAqB,UAAgB,YAAoB,SAA4B;CAC5F,IAAI,QAAQ,IAAI,UAAU,GACxB;CAEF,QAAQ,IAAI,UAAU;CACtB,MAAM,OAAO,gBAAgB,UAAU;CACvC,MAAM,aAAa,cAAc,SAAS,QAAQ,MAAM,IAAI;CAI5D,IACE,CAAC,SAAS,IAAI,cAAc,cAAsB,KAAK,gBAAwB,WAAW,GAAG,GAE7F;CAEF,SACE,UACA,aAAa,cACb,gBACA,KAAK,SAAS,QAAQ,KAAK,gBAAgB,WAAW,8BAA8B,WAAW,2CAA2C,KAAK,oGAC/I;EAAE,WAAW,SAAS,QAAQ;EAAM,QAAQ,SAAS;CAAI,CAC3D;AACF;;AAGA,SAAS,sBACP,UACA,OACA,MACM;CACN,MAAM,QAAQ,UAAU,KAAK,IAAI,gBAAgB,KAAK,IAAI,GAAG,QAAQ;CACrE,IAAI,CAAC,KAAK,MAAM,EAAE,iBAAiB,eAAe,KAAK,GACrD;CAEF,SACE,UACA,WAAW,SACX,gBACA,KAAK,SAAS,QAAQ,KAAK,kBAAkB,MAAM,wEAAwE,MAAM,qEAAqE,MAAM,WAC5M;EAAE,WAAW,SAAS,QAAQ;EAAM,QAAQ,SAAS;CAAI,CAC3D;AACF;;;;AAKA,SAAS,UAAU,UAA6D;CAC9E,MAAM,OAAoD,CAAC;CAC3D,MAAM,0BAAU,IAAI,IAAY;CAChC,MAAM,gBAAgB,SAAS,QAAQ;CACvC,KAAK,MAAM,cAAc,SAAS,QAAQ,QAAQ,CAAC,GAAG;EACpD,MAAM,SAAS,UAAU,UAAU;EACnC,MAAM,OAAO,gBAAgB,UAAU;EAEvC,IAAI,gBAAgB;EACpB,IAAI,SAAwB,CAAC;EAC7B,OAAO,eAAe,MAAM,MAAM;GAChC,YAAY;GACZ,MAAM;IACJ,IAAI;IAGJ,IAAI,SAAS,IAAI,aAAa;KAC5B,MAAM,UAAU,WAAW;KAC3B,IAAI,YAAY,eAAe;MAC7B,gBAAgB;MAChB,SAAS,UAAU,SAAS,KAAK,eAAe,UAAU;KAC5D;KACA,WAAW;IACb,OACE,WAAW,UAAU,SAAS,KAAK,eAAe,UAAU;IAE9D,IAAI,UAAU,SAAS,WAAW,GAChC,qBAAqB,UAAU,YAAY,OAAO;IAEpD,OAAO,SAAS,WAAW,SAAS;GACtC;EACF,CAAC;CACH;CACA,OAAO;AACT;;AAuBA,SAAS,oBAAoB,MAAsB;CACjD,OAAO,SAAS,WAAW,IAAI,EAAE;AACnC;;AAGA,SAAS,qBACP,UACA,MAC6D;CAC7D,MAAM,UAAW,SAAgD,oBAAoB,IAAI;CACzF,OAAO,OAAO,YAAY,aACrB,UACD,KAAA;AACN;;AAGA,SAAS,mBACP,eACA,QACA,YACA,UACA,QACM;CAEN,SACE,YACA,IACA,0BACA,KAAK,cAAc,uBAAuB,OAAO,oBALtC,MAAM,QAAQ,QAAQ,IAAI,UAAU,SAK2B,8IAC1E;EAAE,WAAW;EAAe;CAAO,CACrC;AACF;;AAMA,SAAS,YAAY,cAA6B,OAAyB;CACzE,MAAM,QAAQ,aAAa;CAC3B,OAAO,UAAU,KAAA,IAAY,QAAQ;AACvC;;;;;;AAOA,SAAS,SAAS,KAAoB,cAAsC;CAC1E,IAAI,QAAQ,MACV,OAAO,YAAY,cAAc,KAAA,CAAS;CAE5C,IAAI;EACF,OAAO,KAAK,MAAM,GAAG;CACvB,QAAQ;EACN,OAAO,aAAa;CACtB;AACF;AAEA,SAAS,WAAW,MAA2B;CAC7C,IAAI,SAAS,SAAS,OAAO;CAC7B,IAAI,SAAS,QAAQ,OAAO;CAC5B,IAAI,SAAS,QAAQ,OAAO;CAC5B,IAAI,SAAS,OAAO,OAAO,CAAC;CAC5B,OAAO,CAAC;AACV;AAEA,SAAS,cAAc,OAAgB,MAA2B;CAChE,IAAI,SAAS,SAAS,OAAO,OAAO,UAAU;CAC9C,IAAI,SAAS,QAAQ,OAAO,OAAO,UAAU,YAAY,CAAC,OAAO,MAAM,KAAK;CAC5E,IAAI,SAAS,QAAQ,OAAO,OAAO,UAAU;CAC7C,IAAI,SAAS,OAAO,OAAO,MAAM,QAAQ,KAAK;CAC9C,OAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;;AAGA,MAAM,oCAAoB,IAAI,IAAgC;CAM5D,CACE,UACC,KAAK,iBAAkB,QAAQ,OAAQ,aAAa,KAAK,QAAS,QAAA,IACrE;CACA,CAAC,SAAS,KAAK,iBAAkB,QAAQ,OAAO,YAAY,cAAc,CAAC,IAAI,OAAO,GAAG,CAAE;CAC3F,CAAC,SAAS,KAAK,iBAAkB,QAAQ,OAAO,YAAY,cAAc,EAAE,IAAI,GAAI;CACpF,CAAC,OAAO,QAAQ;CAChB,CAAC,QAAQ,QAAQ;AACnB,CAAC;AAED,SAAS,UAAU,OAAoB,KAAoB,cAAsC;CAC/F,IAAI,QAAQ,MACV,OAAO,YAAY,cAAc,MAAM,OAAO,KAAA,IAAY,KAAA,IAAY,WAAW,MAAM,EAAE,CAAC;CAM5F,IAAI,QAAA,MACF,OAAO;CAGT,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,QAAQ,kBAAkB,IAAI,IAAI,CAAC,CAAE,WAAW,KAAA,CAAS;EAC/D,IAAI,cAAc,OAAO,IAAI,GAC3B,OAAO;CAEX;CAEA,OAAO,aAAa;AACtB;AAEA,SAAS,cAAc,OAAsC;CAC3D,OAAO,MAAM,QAAQ,KAAK;AAC5B;AAEA,SAAS,kBAAkB,YAAsE;CAC/F,OAAO,OAAO,eAAe,cAAc,cAAc,UAAU;AACrE;;;;;;AAOA,SAAgB,gBAAgB,YAAuC;CACrE,MAAM,OAAO,kBAAkB,UAAU,IAAI,aAAa,WAAW;CACrE,OAAO,cAAc,IAAI,IAAI,KAAK,SAAS,OAAO,IAAI,SAAS;AACjE;;;;;AAMA,SAAS,aAAa,UAGpB;CACA,MAAM,UAAmC,CAAC;CAC1C,MAAM,0BAAU,IAAI,IAA0B;CAC9C,MAAM,KAAK,SAAS;CACpB,KAAK,MAAM,CAAC,MAAM,eAAe,OAAO,QAAQ,SAAS,QAAQ,WAAW,CAAC,CAAC,GAAG;EAC/E,MAAM,YAAY,kBAAkB,UAAU;EAC9C,MAAM,OAAO,YAAY,aAAa,WAAW;EACjD,MAAM,WAAW,YAAY,KAAA,IAAY,WAAW;EACpD,MAAM,YAAY,mBAAmB,IAAI;EAEzC,MAAM,UAAU,gBAAgB,UAAU,IAAI,0BAA0B,IAAI,IAAI,KAAA;EAEhF,IAAI,CAAC,aAAa,aAAa,QAAQ,OAAO,aAAa,UACzD,mBAAmB,SAAS,QAAQ,MAAM,MAAM,YAAY,UAAU,EAAE;EAK1E,IAAI;EACJ,IAAI,aAAa;EACjB,MAAM,qBAA8B;GAClC,IAAI,CAAC,YAAY;IACf,aAAa;IACb,WAAW,aAAa;GAC1B;GACA,OAAO;EACT;EACA,MAAM,qBAA8B;GAElC,IAAI,OAAO,aAAa,YACtB,OAAQ,SAA2B;GAMrC,IAAI,aAAa,KAAA,GACf,OAAO;GAGT,MAAM,cAAc,cAAc,IAAI,IAAI,KAAK,KAAK;GACpD,IAAI,gBAAgB,OAAO,OAAO,CAAC;GACnC,IAAI,gBAAgB,QAAQ,OAAO,CAAC;EAEtC;EAEA,MAAM,QAAQ,QACZ,cAAc,IAAI,IACd,UAAU,MAAM,KAAK,YAAY,KAE/B,kBAAkB,IAAI,IAAI,OACxB,OAAO,aAAc,UAAU,OAAO,YAAY,UAAU,KAAA,CAAS,IAAI,OAAA,CAC3E,KAAK,YAAY;EAMzB,MAAM,eAAe,kBAA0B,GAAG,aAAa,aAAa;EAC5E,MAAM,iBAAiB,mBAAmB,WAAW,iBAAiB,GAAG,aAAa,OAAO;EAC7F,MAAM,cAAc,YAAoB,QACtC,mBAAmB,WAAW,YAAY,KAAK,OAAO;EAGxD,MAAM,QAAQ,kBACZ,cAAc,WAAW,aAAa,KACrC,YAAY,KAAA,KAAa,cAAc,SAAS,aAAa;EAEhE,QAAQ,IAAI,MAAM;GAAE;GAAW;GAAU;GAAY;GAAM;EAAK,CAAC;EACjE,OAAO,eAAe,SAAS,MAAM;GACnC,YAAY;GACZ,WAAW,KAAK,SAAS,CAAC;EAC5B,CAAC;CACH;CACA,OAAO;EAAE;EAAS;CAAQ;AAC5B;;;;;;;;AASA,MAAa,gBAAgC,sBAAM,SAAsC;CACvF,MAAM,QAAsB,CAAC;CAC7B,IAAI,UAAkC;CACtC,OAAO,SAAS,QAAQ;EACtB,IAAI,OAAO,OAAO,SAAS,QAAQ,GACjC,MAAM,QAAQ,QAAQ,MAAM;EAE9B,UAAU,OAAO,eAAe,OAAO;CACzC;CAaA,OAXe,MAAM,QAClB,QAAQ,SAAS;EAChB,GAAG;EACH,GAAG;EACH,MAAM,CAAC,mBAAG,IAAI,IAAI,CAAC,GAAI,OAAO,QAAQ,CAAC,GAAI,GAAI,IAAI,QAAQ,CAAC,CAAE,CAAC,CAAC;EAChE,SAAS;GAAE,GAAG,OAAO;GAAS,GAAG,IAAI;EAAQ;EAC7C,YAAY;GAAE,GAAG,OAAO;GAAY,GAAG,IAAI;EAAW;CACxD,IACA,EAAE,MAAM,KAAK,KAAK,CAGR;AACd,CAAC;;;;;;;;;;;AAYD,SAAS,YACP,UACA,UACA,OACM;CACN,OAAO,eAAe,UAAU,UAAU;EAAE;EAAO,YAAY;CAAK,CAAC;AACvE;;AAGA,MAAM,kBAAkB,CAAC,UAAU,UAAU;;AAG7C,SAAS,cAAc,MAAkE;CACvF,KAAK,MAAM,UAAU,iBACnB,IAAI,KAAK,SAAS,OAAO,UAAU,KAAK,WAAW,MAAM,GACvD,OAAO;EACL,QAAQ,WAAW,WAAW,SAAS;EACvC,MAAM,UAAU,KAAK,MAAM,OAAO,MAAM,CAAC;CAC3C;CAGJ,OAAO;AACT;;AAGA,SAAS,mBAAmB,MAAiC;CAC3D,MAAM,wBAAQ,IAAI,IAAY;CAC9B,IAAI,QAAuB,KAAK;CAChC,OAAO,SAAS,UAAU,KAAK,WAAW;EACxC,KAAK,MAAM,QAAQ,OAAO,oBAAoB,KAAK,GACjD,IAAI,cAAc,KAAK,IAAI,GACzB,MAAM,IAAI,IAAI;EAGlB,QAAQ,OAAO,eAAe,KAAK;CACrC;CACA,OAAO,CAAC,GAAG,KAAK;AAClB;;;;;;AA6BA,MAAM,cAA8B,sBAAM,SAAuC;CAC/E,MAAM,SAAS,cAAc,IAAI;CAGjC,MAAM,YAAY,GAAW,MAAc,EAAE,SAAS,EAAE;CACxD,MAAM,aAAa,OAAO,KAAK,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;CAErE,MAAM,QAAQ,OAAO,QAAQ,CAAC,EAAA,CAC3B,KAAK,gBAAgB;EAAE,MAAM,gBAAgB,UAAU;EAAG;CAAW,EAAE,CAAC,CACxE,MAAM,GAAG,MAAM,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC;CAK1C,MAAM,UAAU,mBAAmB,IAAI,CAAC,CAAC,KAAK,WAA6B;EACzE,MAAM,OAAO,OAAO,MAAM,CAAC;EAC3B,MAAM,SAAS,cAAc,IAAI;EACjC,IAAI,QACF,OAAO;GAAE,MAAM;GAAU;GAAQ,MAAM,OAAO;GAAM,QAAQ,OAAO;EAAO;EAE5E,MAAM,cAAc,SAClB,KAAK,WAAW,WAAW,IAAI,CAAC,KAAK,KAAK,SAAS,KAAK;EAC1D,MAAM,YAAY,WAAW,KAAK,UAAU;EAC5C,IAAI,WACF,OAAO;GACL,MAAM;GACN;GACA,MAAM,UAAU,KAAK,MAAM,UAAU,MAAM,CAAC;GAC5C,MAAM;EACR;EAEF,MAAM,MAAM,KAAK,MAAM,EAAE,WAAW,WAAW,IAAI,CAAC;EACpD,IAAI,KACF,OAAO;GACL,MAAM;GACN;GACA,MAAM,UAAU,KAAK,MAAM,IAAI,KAAK,MAAM,CAAC;GAC3C,MAAM,IAAI;EACZ;EAEF,OAAO;GAAE,MAAM;GAAO;GAAQ,MAAM,UAAU,IAAI;EAAE;CACtD,CAAC;CAED,OAAO;EAAE;EAAY;EAAM,eAAe,OAAO;EAAM;CAAQ;AACjE,CAAC;AAWD,SAAS,aAAa,WAA6B,MAAc,OAA6B;CAC5F,IAAI,CAAC,UAAU,IAAI,IAAI,GACrB,UAAU,IAAI,MAAM,CAAC,CAAC;CAExB,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK;AACjC;AASA,SAAS,uBAAuB,UAAgB,SAAiB,OAAsB;CACrF,iBAAiB,8BAA8B,SAAS,OAAO;EAC7D,WAAW,SAAS,QAAQ;EAC5B,QAAQ,SAAS;CACnB,CAAC;AACH;;AAGA,MAAM,eAAe,OAAO,cAAc;;;;;AAM1C,IAAa,OAAb,MAAmD;;CAEjD,QAAiB,cAAc;CAE/B,OAAO,SAAqB,EAAE,MAAM,OAAO;CA2C3C,aAAa;;CAGb,aAAmE,CAAC;;CAGpE,oBAAuC,CAAC;;;;;;;;CASxC;;CAGA,kCAAkB,IAAI,IAAwB;;CAG9C,cAAc;;;;;;CAOd,oBAAuC,CAAC;CAExC,yBAAS,IAAI,IAA4B;CAKzC,IAAI,UAAsB;EACxB,OAAO,cAAc,KAAK,WAA8B;CAC1D;CAEA,IAAI,aAAsB;EACxB,OAAO,KAAKA;CACd;CAEA,YAAY,IAAiB;EAC3B,MAAM,EAAE,SAAS,KAAK;EACtB,eAAe;EAGf,YAAY,MAAM,OAAO,EAAE;EAC3B,YAAY,MAAM,OAAO,GAAG,KAAK,GAAG,cAAc,GAAG;EACrD,GAAG,+BAAe,IAAI,IAAI;EAC1B,GAAG,UAAU,CAAC,IAAI,MAAM,IAAI;EAG5B,MAAM,QAAQ,aAAa,IAAI;EAI/B,YAAY,MAAM,YAAY,MAAM,OAA+B;EACnE,KAAKC,iBAAiB,MAAM;EAC5B,YAAY,MAAM,SAAS,UAAU,IAAI,CAAC;CAC5C;;;;;;;;;;;;;;;;;;CAmBA,UAAyB,CAAC;;;;;;;CAQ1B,YAAkB,CAAC;;;;;;CAOnB,SAAe;EACb,IAAI,KAAKD,YACP,OAAO;EAET,KAAKE,cAAc;EACnB,KAAKF,aAAa;EAClB,KAAKG,eAAe;EACpB,MAAM,QAAQ,KAAKA;EACnB,KAAKC,yBAAyB,KAAK;EACnC,IAAI,CAAC,KAAKC,oBAAoB,KAAK,GACjC,OAAO;EAET,KAAKC,6BAA6B,KAAK;EACvC,IAAI,CAAC,KAAKD,oBAAoB,KAAK,GACjC,OAAO;EAET,KAAKE,OAAO,6BAA6B,KAAKC,gBAAgB,KAAK,QAAQ,GAAG,KAAK,CAAC;EACpF,IAAI,CAAC,KAAKH,oBAAoB,KAAK,GACjC,OAAO;EAGT,MAAM,SAA+B,EAAE,UAAU,KAAK;EACtD,KAAK,IAAI,cACP,IAAI,YAAY,OAAO,UAAU,SAAS;GAAE,SAAS;GAAM,YAAY;GAAO;EAAO,CAAC,CACxF;EACA,OAAO;CACT;;;;;;;CAQA,WAAiB;EACf,IAAI,CAAC,KAAKL,YACR,OAAO;EAET,KAAKA,aAAa;EAClB,KAAK,MAAM,CAAC,MAAM,UAAU,QAAQ,YAAY,KAAKS,YACnD,OAAO,oBAAoB,MAAM,UAAU,OAAO;EAEpD,KAAKA,aAAa,CAAC;EAEnB,MAAM,UAAU,KAAKC;EACrB,KAAKA,yBAAS,IAAI,IAAI;EACtB,KAAK,MAAM,QAAQ,SACjB,KAAK,OAAO;EAEd,MAAM,YAAY,KAAKC;EACvB,KAAKA,oBAAoB,CAAC;EAC1B,KAAK,MAAM,YAAY,WACrB,KAAKJ,OAAO,2BAA2B,QAAQ;EAEjD,KAAKK,oBAAoB;EACzB,KAAKL,OAAO,+BAA+B,KAAK,UAAU,CAAC;EAG3D,MAAM,SAA+B,EAAE,UAAU,KAAK;EACtD,SAAS,cACP,IAAI,YAAY,OAAO,UAAU,WAAW;GAAE,YAAY;GAAO;EAAO,CAAC,CAC3E;EACA,OAAO;CACT;CAQA,MAAM,OAAe,SAAwC;EAC3D,aAAa,MAAM,OAAO,OAAO;EACjC,OAAO,KAAKM,UAAU,OAAO,OAAO;CACtC;;CAGA,UAAU,OAAe,QAAuC;EAC9D,MAAM,aAAa,IAAI,YAAY,OAAO;GAAE,SAAS;GAAM,YAAY;GAAM;EAAO,CAAC;EACrF,KAAK,IAAI,cAAc,UAAU;EACjC,OAAO;CACT;CAEA,IAAI,MAAc,UAAyB,SAA+C;EACxF,KAAK,IAAI,iBAAiB,MAAM,UAAU,OAAO;EACjD,aAAa,KAAK,IAAI,oBAAoB,MAAM,UAAU,OAAO;CACnE;CAEA,KAAK,MAAc,UAAyB,SAAyC;EACnF,KAAK,IAAI,oBAAoB,MAAM,UAAU,OAAO;CACtD;;;;CAKA,OAA8B,MAAmB;EAC/C,OAAO,CAAC,GAAG,KAAK,IAAI,iBAAiB,YAAY,IAAI,CAAC,CAAC,CAAC,CACrD,KAAK,OAAO,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CACrC,QAAQ,aAA4B,QAAQ,UAAU,UAAU,CAAC;CACtE;;;;CAKA,SAAgC,MAAwB;EACtD,IAAI,KAAK,KAAK,IAAI;EAClB,OAAO,IAAI;GACT,MAAM,WAAW,GAAG,UAAU,EAAE,IAAI,IAAI;GACxC,IAAI,UAAU,YACZ,OAAO;GAET,KAAK,GAAG;EACV;EACA,OAAO;CACT;CAeA,eACE,QACA,YAAuC,CAAC,GACjB;EACvB,MAAM,4BAAY,IAAI,IAAO;EAC7B,MAAM,WAAW,aACf,OAAO,WAAW,WAAW,SAAS,QAAQ,SAAS,SAAS,oBAAoB;EACtF,MAAM,OAAO,aAAgB;GAC3B,IAAK,aAAsB,QAAQ,CAAC,UAAU,IAAI,QAAQ,GAAG;IAC3D,UAAU,IAAI,QAAQ;IACtB,UAAU,QAAQ,QAAQ;GAC5B;EACF;EACA,MAAM,UAAU,aAAgB;GAC9B,IAAI,UAAU,OAAO,QAAQ,GAC3B,UAAU,UAAU,QAAQ;EAEhC;EAGA,qBAAqB;GACnB,IAAI,OAAO,WAAW,UAAU;IAC9B,KAAK,MAAM,YAAY,KAAK,OAAU,MAAM,GAC1C,IAAI,QAAQ;IAEd;GACF;GAEA,KAAK,MAAM,MAAM,KAAK,IAAI,iBAAiB,GAAG,GAC5C,KAAK,MAAM,YAAY,GAAG,UAAU,EAAE,OAAO,KAAK,CAAC,GACjD,IAAI,SAAS,cAAc,QAAQ,QAAQ,GACzC,IAAI,QAAQ;EAIpB,CAAC;EAED,MAAM,aAAa,UAAiB;GAClC,MAAM,EAAE,aAAc,MAA4C;GAClE,IAAI,SAAS,cAAc,QAAQ,QAAQ,GACzC,IAAI,QAAQ;EAEhB;EAKA,MAAM,WAA4B,aAAa;GAC7C,IAAI,QAAQ,QAAQ,GAClB,OAAO,QAAQ;EAEnB;EACA,KAAKC,kBAAkB,KAAK,OAAO;EACnC,wBAAwB,OAAO;EAK/B,KAAK,IAAI,iBAAiB,OAAO,UAAU,SAAS,SAAS;EAE7D,OAAO;GACL,IAAI,OAAO;IACT,OAAO,UAAU;GACnB;GACA,IAAI,QAAQ;IACV,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,qBAAqB,EAAE,KAAK,EAAE,GAAG,CAAC;GACzE;GACA,CAAC,OAAO,YAAY;IAClB,OAAO,KAAK,MAAM,OAAO,SAAS,CAAC;GACrC;EACF;CACF;;;;;;;;;CAUA,SAAY,KAAoB,OAAa;EAC3C,eAAe,KAAK,KAAK,KAAK,KAAK;EACnC,OAAO;CACT;;;;CAKA,QAAW,KAAgC;EACzC,MAAM,EAAE,SAAS,WAAW,cAAc,KAAK,KAAK,GAAG;EACvD,KAAKH,kBAAkB,KAAK,MAAM;EAClC,OAAO;CACT;;CAGA,YAAe,KAAmC;EAChD,OAAO,kBAAkB,KAAK,KAAK,GAAG;CACxC;;;;;;CAOA,gBAAgB,SAAmD;EACjE,IAAI,CAAC,KAAKX,YACR;EAEF,MAAM,UAAU,kBACd,QAAQ,IAAI,aAAa,IACpB,QAAQ,IAAI,aAAa,KAAK,OAC/B,KAAK,IAAI,aAAa,aAAa;EAEzC,KAAK,MAAM,CAAC,MAAM,WAAW,KAAKC,gBAAgB;GAIhD,IAAI,UAAU,QAAQ,IAAI,OAAO,SAAS;GAC1C,IAAI,CAAC,SACE;SAAA,MAAM,iBAAiB,QAAQ,KAAK,GACvC,IAAI,OAAO,KAAK,aAAa,GAAG;KAC9B,UAAU;KACV;IACF;;GAGJ,IAAI,CAAC,SACH;GAEF,MAAM,mBAAmB,OAAO,WAAW,iBAAiB,GAAG,MAAM;GACrE,IAAI,YAAY,OAAO,SAAS,GAAG,gBAAgB,GACjD,KAAKc,iBAAiB,MAAM,QAAQ,kBAAkB,KAAK;EAE/D;CACF;;;;;;;;;;;;;;;;;CAkBA,MAAM,MAA6B,SAAuB;EACxD,KAAK,MAAM,SAAS;GAAE,WAAW,KAAK,QAAQ;GAAM,QAAQ,KAAK;EAAI,CAAC;CACxE;;;;;;;;;CAUA,OAAO,MAA6B,SAAiB,OAAsB;EACzE,iBAAiB,MAAM,SAAS,OAAO;GACrC,WAAW,KAAK,QAAQ;GACxB,QAAQ,KAAK;EACf,CAAC;CACH;;CAGA,MAAS,IAA+B;EACtC,OAAO,KAAKC,OAAO,iBAAiB,KAAK,EAAE,CAAC;CAC9C;;CAGA,OAAU,IAA+B;EACvC,OAAO,KAAKA,OAAO,iBAAiB,MAAM,EAAE,CAAC;CAC/C;CAEA,OAAU,MAA0C;EAClD,KAAKN,OAAO,IAAI,IAAI;EACpB,MAAM,iBAAiB,KAAKA,OAAO,OAAO,IAAI;EAC9C,KAAU,QAAQ,KAAK,UAAU,QAAQ;EACzC,OAAO;CACT;CAEA,oBAAoB,OAAwB;EAC1C,OAAO,KAAKV,cAAc,KAAKG,gBAAgB;CACjD;;;;;;;CAQA,OAAU,SAAiB,KAAuC;EAChE,IAAI;GACF,OAAO,IAAI;EACb,SAAS,OAAO;GACd,uBAAuB,MAAM,SAAS,KAAK;GAC3C,OAAO;EACT;CACF;CAEA,yBAAyB,OAAqB;EAC5C,KAAK,MAAM,CAAC,MAAM,WAAW,KAAKF,gBAAgB;GAChD,IAAI,CAAC,KAAKI,oBAAoB,KAAK,GACjC;GAEF,KAAKU,iBAAiB,MAAM,QAAQ,MAAM,IAAI;EAChD;CACF;;CAGA,6BAA6B,OAAqB;EAChD,MAAM,UAAU,KAAKd;EACrB,IAAI,CAAC,WAAW,QAAQ,SAAS,GAC/B;EAGF,0BACE,KAAK,KACL,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW,OAAO,SAAS,CACxD;EAKA,IAAI,CAHc,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,MACnC,SAAS,qBAAqB,MAAM,IAAI,MAAM,KAAA,CAEpC,GACX;EAGF,KAAKO,gBACH,iBAAiB,aAAa;GAC5B,MAAM,eAAe,kBAA0B,KAAK,IAAI,aAAa,aAAa;GAClF,KAAK,MAAM,CAAC,MAAM,WAAW,SAAS;IAGpC,MAAM,mBAAmB,OAAO,WAAW,UAAU,WAAW;IAChE,IAAI,YAAY,OAAO,SAAS,GAAG,gBAAgB,GACjD,KAAKO,iBAAiB,MAAM,QAAQ,kBAAkB,KAAK;GAE/D;EACF,CAAC,GACD,KACF;CACF;CAEA,iBACE,MACA,QACA,kBACA,SACM;EACN,MAAM,kBAAkB,KAAKE,gBAAgB,IAAI,IAAI;EACrD,KAAKA,gBAAgB,OAAO,IAAI;EAChC,IAAI,iBACF,KAAKV,OAAO,WAAW,KAAK,oBAAoB,eAAe;EAEjE,IAAI,CAAC,KAAKP,YACR;EAGF,MAAM,UAAU,qBAAqB,MAAM,IAAI;EAC/C,IAAI,CAAC,SACH;EAGF,MAAM,QAAQ,KAAKG;EACnB,MAAM,UAAU,KAAKI,OAAO,KAAK,oBAAoB,IAAI,EAAE,qBAAqB;GAC9E,MAAM,WAAW,OAAO,SAAS;GACjC,MAAM,SAAuB;IAC3B;IACA,OAAO,OAAO,KAAK,QAAQ;IAC3B,eAAe,UAAU,KAAA,IAAY,OAAO,KAAK,gBAAgB;IACjE;IACA;IACA;GACF;GACA,OAAO,QAAQ,KAAK,MAAM,MAAM;EAClC,CAAC;EACD,IAAI,YAAY,cACd;EAEF,IAAI,OAAO,YAAY,YAAY;GACjC,IAAI,KAAKP,cAAc,KAAKG,gBAAgB,OAC1C,KAAKc,gBAAgB,IAAI,MAAM,OAAO;QAEtC,KAAKV,OAAO,WAAW,KAAK,oBAAoB,OAAO;EAE3D;CACF;CAEA,sBAA4B;EAC1B,MAAM,WAAW,KAAKU;EACtB,KAAKA,kCAAkB,IAAI,IAAI;EAC/B,KAAK,MAAM,CAAC,MAAM,YAAY,UAC5B,KAAKV,OAAO,WAAW,KAAK,oBAAoB,OAAO;CAE3D;;;;;;CAOA,gBAAgB,QAAuB,OAAqB;EAC1D,IAAI,OAAO,WAAW,YAAY;GAChC,IAAI,KAAKF,oBAAoB,KAAK,GAChC,KAAKM,kBAAkB,KAAK,MAAM;QAIlC,KAAKJ,OAAO,gCAAgC,MAAM;GAEpD;EACF;EACA,IAAI,MAAM,QAAQ,MAAM,GAAG;GACzB,KAAK,MAAM,QAAQ,QACjB,KAAKC,gBAAgB,MAAM,KAAK;GAElC;EACF;EACA,IAAI,kBAAkB,SACpB,OACG,MAAM,aAAa,KAAKA,gBAAgB,UAAU,KAAK,CAAC,CAAC,CACzD,OAAO,UAAU;GAChB,uBAAuB,MAAM,uBAAuB,KAAK;EAC3D,CAAC;CAEP;;CAGA,gBAAsB;EAEpB,MAAM,OAAO,YAAY,KAAK,WAA8B;EAC5D,MAAM,4BAA8B,IAAI,IAAI;EAG5C,MAAM,YAAY,KAAKU,uBAAuB,MAAM,SAAS;EAC7D,KAAKC,qBAAqB,MAAM,WAAW,SAAS;EACpD,KAAKC,2BAA2B,KAAK,eAAe,SAAS;CAC/D;CAEA,SAAS,MAAc,QAAsC;EAC3D,MAAM,YAA2B,UAAU,OAAO,KAAK;EACvD,KAAK,IAAI,iBAAiB,MAAM,QAAQ;EACxC,KAAKX,WAAW,KAAK;GAAC;GAAM;GAAU,KAAK;GAAK;EAAK,CAAC;CACxD;;CAGA,YACE,QACA,MACA,QACM;EACN,MAAM,YAA2B,UAAU,OAAO;GAAE;GAAO;EAAO,CAAC;EACnE,OAAO,iBAAiB,MAAM,QAAQ;EACtC,KAAKA,WAAW,KAAK;GAAC;GAAM;GAAU;GAAQ;EAAK,CAAC;CACtD;;;;;CAMA,uBAAuB,MAAmB,WAAmD;EAC3F,MAAM,EAAE,YAAY,SAAS;EAC7B,MAAM,gBAAgB,KAAK,0BAA0B,CAAC;EACtD,MAAM,YAAkC,IAAI,IAAI,cAAc,KAAK,EAAE,aAAa,MAAM,CAAC;EACzF,KAAK,MAAM,EAAE,QAAQ,OAAO,MAAM,aAAa,eAC7C,IAAI,QACF,KAAKY,YAAY,QAAQ,OAAO,YAAY,QAAQ,KAAK,MAAM,OAAO,CAAC;OAClE,IAAI,OAAO;GAEhB,MAAM,gBAAgB,WAAW,SAAS,KAAK;GAC/C,MAAM,MAAM,gBAAgB,KAAA,IAAY,KAAK,MAAM,EAAE,iBAAiB,eAAe,KAAK;GAC1F,IAAI,CAAC,iBAAiB,CAAC,KACrB,sBAAsB,MAAM,OAAO,IAAI;GAEzC,aAAa,WAAW,MAAM;IAC5B,MAAM,MAAM,QAAQ;IACpB,MAAM;IACN,SAAS,YAAuC,QAAQ,KAAK,MAAM,OAAO;GAC5E,CAAC;EACH,OACE,KAAKC,SAAS,OAAO,UAAU,QAAQ,KAAK,MAAM,KAAK,CAAC;EAG5D,OAAO;CACT;;CAGA,qBACE,MACA,WACA,WACM;EACN,MAAM,OAAO;EACb,KAAK,MAAM,SAAS,KAAK,SAAS;GAChC,MAAM,EAAE,QAAQ,SAAS;GACzB,IAAI,UAAU,IAAI,MAAM,GACtB;GAKF,IAAI,OAAO,KAAK,YAAY,YAC1B;GAEF,IAAI,MAAM,SAAS,UACjB,KAAKD,YAAY,MAAM,QAAQ,OAAO,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC;QAClE,IAAI,MAAM,SAAS,OACxB,KAAKC,SAAS,OAAO,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC;QAElD,aAAa,WAAW,MAAM;IAC5B,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,SAAS,YAAuC,KAAK,OAAO,CAAC,OAAO;GACtE,CAAC;EAEL;CACF;;CAGA,2BAA2B,eAAuB,WAAmC;EACnF,KAAK,MAAM,CAAC,MAAM,YAAY,WAAW;GACvC,MAAM,YAA2B,UAAU;IACzC,IAAI,KAAK,MAAM,kBAAkB,UAAU,MAAM,SAAS;IAC1D,OAAO,MAAM,OAAO,KAAK,KAAK;KAC5B,IAAI,UAAU;KACd,KAAK,MAAM,SAAS,SAClB,IAAI,KAAKC,iBAAiB,OAAO,IAAI,OAAO,aAAa,GACvD,UAAU;KAId,IAAI,SACF;KAEF,KAAK,GAAG;IACV;GACF;GAGA,MAAM,UAAU,gBAAgB,IAAI,IAAI;GACxC,KAAK,IAAI,iBAAiB,MAAM,UAAU,OAAO;GACjD,KAAKd,WAAW,KAAK;IAAC;IAAM;IAAU,KAAK;IAAK;GAAO,CAAC;EAC1D;CACF;;;;;;CAOA,iBACE,OACA,IACA,OACA,eACS;EACT,IAAI,MAAM,SAAS,SAAS;GAC1B,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,MAAM,IAAI;GAC3C,IAAI,CAAC,OAAO,YACV,OAAO;GAET,MAAM,OAAO;IACX;IACA,QAAQ;IAER,SAAU,MAAsB;GAClC,CAAC;GACD,OAAO;EACT;EACA,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,eAAe,MAAM,IAAI,GAClD,OAAO;EAET,MAAM,OAAO;GACX;GACA,QAAQ;GAGR,OAAO,UAAU,KAAK,KAAK,eAAe,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE;EAClE,CAAC;EACD,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
//#region src/attribute-namespaces.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The mechanism half of the attribute grammar: one namespace, watched on one
|
|
4
|
+
* element, rebound whenever one of its attributes changes.
|
|
5
|
+
*
|
|
6
|
+
* `attributes.ts` owns the grammar — what a namespace is, where the colon goes,
|
|
7
|
+
* and that a qualifier's parts belong to whoever declared the namespace. This
|
|
8
|
+
* module owns the other half of the split: **core decides when to re-parse and
|
|
9
|
+
* how the attribute is observed, and the caller decides what the string means.**
|
|
10
|
+
*
|
|
11
|
+
* Which mechanism a namespace gets follows from whether its whole set of names
|
|
12
|
+
* is enumerable, not from whether its qualifier vocabulary is finite. A
|
|
13
|
+
* declared option's names are `attribute × breakpoint` — finite, so they are
|
|
14
|
+
* registered with the one document observer and no second observer exists. A
|
|
15
|
+
* namespace whose names cannot be listed in advance is this module's case:
|
|
16
|
+
* `data-on:<any DOM event>`, and `data-bind:class.<any class name>`, whose
|
|
17
|
+
* qualifier head is finite while its tail is not. See DESIGN.md §3.
|
|
18
|
+
*/
|
|
19
|
+
/** One declaration read off an element, as {@link watchAttributeNamespace} reports it. */
|
|
20
|
+
interface AttributeNamespaceDeclaration {
|
|
21
|
+
/** Everything after the colon: `click.prevent`, `prop.value`, `view.once`. */
|
|
22
|
+
qualifier: string;
|
|
23
|
+
/** The attribute's value. Never `null` — an absent attribute releases instead. */
|
|
24
|
+
value: string;
|
|
25
|
+
/** The whole attribute name, which is the key the binding is held under. */
|
|
26
|
+
attribute: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Build whatever one declaration means, and return its release. Returning
|
|
30
|
+
* nothing says the declaration produced no binding — a malformed value, say —
|
|
31
|
+
* and leaves nothing to release.
|
|
32
|
+
*/
|
|
33
|
+
type AttributeNamespaceBinder = (declaration: AttributeNamespaceDeclaration) => (() => void) | void;
|
|
34
|
+
interface AttributeNamespaceOptions {
|
|
35
|
+
/**
|
|
36
|
+
* The qualifier heads this namespace declares. Given, a head outside the set
|
|
37
|
+
* warns once and binds nothing; omitted, the vocabulary is open and anything
|
|
38
|
+
* binds. This is independent of the mechanism: a finite head does not make a
|
|
39
|
+
* name enumerable, which is why `data-bind` is watched and validated at once.
|
|
40
|
+
*/
|
|
41
|
+
qualifiers?: readonly string[];
|
|
42
|
+
/** The component name carried by the warning, when there is one. */
|
|
43
|
+
component?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Bind every `<namespace>:<qualifier>` attribute of one element, and keep the
|
|
47
|
+
* bindings in step with the element.
|
|
48
|
+
*
|
|
49
|
+
* The declarations present now are bound on subscription; afterwards each
|
|
50
|
+
* attribute of the namespace is its own binding, keyed by the name that
|
|
51
|
+
* produced it, so one `#bind` covers all three shapes a change can take —
|
|
52
|
+
* **added** attaches with nothing to release, **changed** releases then
|
|
53
|
+
* attaches, **removed** releases with nothing to attach. This is what a
|
|
54
|
+
* memoised parse cannot do, and rewriting an attribute in place is not
|
|
55
|
+
* hypothetical: `swap({ mode: 'morph' })` does it, and so does any
|
|
56
|
+
* `data-bind:` template around the element.
|
|
57
|
+
*
|
|
58
|
+
* @param el The element whose attributes are read and watched.
|
|
59
|
+
* @param namespace The namespace, without its colon: `data-on`, `data-track`.
|
|
60
|
+
* @param bind Called once per declaration; returns that binding's release.
|
|
61
|
+
* @param options An optional finite head vocabulary, and a component name.
|
|
62
|
+
* @returns An idempotent cleanup releasing every binding and stopping the watch.
|
|
63
|
+
* @link https://js-toolkit-v4.studiometa.dev/api/dom/watchAttributeNamespace.html
|
|
64
|
+
*/
|
|
65
|
+
declare function watchAttributeNamespace(el: Element, namespace: string, bind: AttributeNamespaceBinder, { qualifiers, component }?: AttributeNamespaceOptions): () => void;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { AttributeNamespaceBinder, AttributeNamespaceDeclaration, AttributeNamespaceOptions, watchAttributeNamespace };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { namespaceQualifier, qualifierHead } from "./attributes.js";
|
|
2
|
+
import { warnOnce } from "./diagnostics.js";
|
|
3
|
+
import { watchAttributes } from "./dom-mutations.js";
|
|
4
|
+
//#region src/attribute-namespaces.ts
|
|
5
|
+
/**
|
|
6
|
+
* The mechanism half of the attribute grammar: one namespace, watched on one
|
|
7
|
+
* element, rebound whenever one of its attributes changes.
|
|
8
|
+
*
|
|
9
|
+
* `attributes.ts` owns the grammar — what a namespace is, where the colon goes,
|
|
10
|
+
* and that a qualifier's parts belong to whoever declared the namespace. This
|
|
11
|
+
* module owns the other half of the split: **core decides when to re-parse and
|
|
12
|
+
* how the attribute is observed, and the caller decides what the string means.**
|
|
13
|
+
*
|
|
14
|
+
* Which mechanism a namespace gets follows from whether its whole set of names
|
|
15
|
+
* is enumerable, not from whether its qualifier vocabulary is finite. A
|
|
16
|
+
* declared option's names are `attribute × breakpoint` — finite, so they are
|
|
17
|
+
* registered with the one document observer and no second observer exists. A
|
|
18
|
+
* namespace whose names cannot be listed in advance is this module's case:
|
|
19
|
+
* `data-on:<any DOM event>`, and `data-bind:class.<any class name>`, whose
|
|
20
|
+
* qualifier head is finite while its tail is not. See DESIGN.md §3.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Bind every `<namespace>:<qualifier>` attribute of one element, and keep the
|
|
24
|
+
* bindings in step with the element.
|
|
25
|
+
*
|
|
26
|
+
* The declarations present now are bound on subscription; afterwards each
|
|
27
|
+
* attribute of the namespace is its own binding, keyed by the name that
|
|
28
|
+
* produced it, so one `#bind` covers all three shapes a change can take —
|
|
29
|
+
* **added** attaches with nothing to release, **changed** releases then
|
|
30
|
+
* attaches, **removed** releases with nothing to attach. This is what a
|
|
31
|
+
* memoised parse cannot do, and rewriting an attribute in place is not
|
|
32
|
+
* hypothetical: `swap({ mode: 'morph' })` does it, and so does any
|
|
33
|
+
* `data-bind:` template around the element.
|
|
34
|
+
*
|
|
35
|
+
* @param el The element whose attributes are read and watched.
|
|
36
|
+
* @param namespace The namespace, without its colon: `data-on`, `data-track`.
|
|
37
|
+
* @param bind Called once per declaration; returns that binding's release.
|
|
38
|
+
* @param options An optional finite head vocabulary, and a component name.
|
|
39
|
+
* @returns An idempotent cleanup releasing every binding and stopping the watch.
|
|
40
|
+
* @link https://js-toolkit-v4.studiometa.dev/api/dom/watchAttributeNamespace.html
|
|
41
|
+
*/
|
|
42
|
+
function watchAttributeNamespace(el, namespace, bind, { qualifiers, component } = {}) {
|
|
43
|
+
/** Live bindings by the attribute that produced them, each holding its release. */
|
|
44
|
+
const bindings = /* @__PURE__ */ new Map();
|
|
45
|
+
const rebind = (attribute, value) => {
|
|
46
|
+
bindings.get(attribute)?.();
|
|
47
|
+
const qualifier = namespaceQualifier(namespace, attribute);
|
|
48
|
+
const release = value === null || qualifier === null || !isWellFormed(el, attribute, qualifier, component) || !isDeclared(el, namespace, attribute, qualifier, qualifiers, component) ? void 0 : bind({
|
|
49
|
+
qualifier,
|
|
50
|
+
value,
|
|
51
|
+
attribute
|
|
52
|
+
});
|
|
53
|
+
if (release) bindings.set(attribute, release);
|
|
54
|
+
else bindings.delete(attribute);
|
|
55
|
+
};
|
|
56
|
+
for (const { name, value } of Array.from(el.attributes)) rebind(name, value);
|
|
57
|
+
const stopWatchingAttributes = watchAttributes(el, ({ name, value }) => {
|
|
58
|
+
if (namespaceQualifier(namespace, name) !== null) rebind(name, value);
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
stopWatchingAttributes();
|
|
62
|
+
for (const release of bindings.values()) release();
|
|
63
|
+
bindings.clear();
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Whether a qualifier holds the grammar's one colon and no more, warning once
|
|
68
|
+
* if not. `namespaceQualifier()` returns everything after the first colon
|
|
69
|
+
* unexamined, so `data-on:click:s` reaches here as the qualifier `click:s` —
|
|
70
|
+
* a second declaration's separator leaking into the first — and an open
|
|
71
|
+
* namespace with no declared vocabulary would otherwise bind it as though
|
|
72
|
+
* `click:s` were an event name instead of the ill-formed attribute J1 settled
|
|
73
|
+
* it to be.
|
|
74
|
+
*/
|
|
75
|
+
function isWellFormed(el, attribute, qualifier, component) {
|
|
76
|
+
if (!qualifier.includes(":")) return true;
|
|
77
|
+
warnOnce(el, attribute, "attribute.unknown-qualifier", `\`${attribute}\` declares nothing: a qualifier holds one colon at most, and this one holds a second.`, {
|
|
78
|
+
component,
|
|
79
|
+
target: el
|
|
80
|
+
});
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
/** Whether a qualifier names a member of the vocabulary, warning once if not. */
|
|
84
|
+
function isDeclared(el, namespace, attribute, qualifier, qualifiers, component) {
|
|
85
|
+
if (qualifiers === void 0) return true;
|
|
86
|
+
const head = qualifierHead(qualifier);
|
|
87
|
+
if (qualifiers.includes(head)) return true;
|
|
88
|
+
warnOnce(el, attribute, "attribute.unknown-qualifier", `\`${attribute}\` declares nothing: \`${head}\` names no \`${namespace}\` binding — known names: ${qualifiers.join(", ")}.`, {
|
|
89
|
+
component,
|
|
90
|
+
target: el
|
|
91
|
+
});
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { watchAttributeNamespace };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=attribute-namespaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribute-namespaces.js","names":[],"sources":["../src/attribute-namespaces.ts"],"sourcesContent":["/**\n * The mechanism half of the attribute grammar: one namespace, watched on one\n * element, rebound whenever one of its attributes changes.\n *\n * `attributes.ts` owns the grammar — what a namespace is, where the colon goes,\n * and that a qualifier's parts belong to whoever declared the namespace. This\n * module owns the other half of the split: **core decides when to re-parse and\n * how the attribute is observed, and the caller decides what the string means.**\n *\n * Which mechanism a namespace gets follows from whether its whole set of names\n * is enumerable, not from whether its qualifier vocabulary is finite. A\n * declared option's names are `attribute × breakpoint` — finite, so they are\n * registered with the one document observer and no second observer exists. A\n * namespace whose names cannot be listed in advance is this module's case:\n * `data-on:<any DOM event>`, and `data-bind:class.<any class name>`, whose\n * qualifier head is finite while its tail is not. See DESIGN.md §3.\n */\n\nimport { namespaceQualifier, qualifierHead, QUALIFIER_SEPARATOR } from './attributes.js';\nimport { warnOnce } from './diagnostics.js';\nimport { watchAttributes } from './dom-mutations.js';\n\n/** One declaration read off an element, as {@link watchAttributeNamespace} reports it. */\nexport interface AttributeNamespaceDeclaration {\n /** Everything after the colon: `click.prevent`, `prop.value`, `view.once`. */\n qualifier: string;\n /** The attribute's value. Never `null` — an absent attribute releases instead. */\n value: string;\n /** The whole attribute name, which is the key the binding is held under. */\n attribute: string;\n}\n\n/**\n * Build whatever one declaration means, and return its release. Returning\n * nothing says the declaration produced no binding — a malformed value, say —\n * and leaves nothing to release.\n */\nexport type AttributeNamespaceBinder = (\n declaration: AttributeNamespaceDeclaration,\n) => (() => void) | void;\n\nexport interface AttributeNamespaceOptions {\n /**\n * The qualifier heads this namespace declares. Given, a head outside the set\n * warns once and binds nothing; omitted, the vocabulary is open and anything\n * binds. This is independent of the mechanism: a finite head does not make a\n * name enumerable, which is why `data-bind` is watched and validated at once.\n */\n qualifiers?: readonly string[];\n /** The component name carried by the warning, when there is one. */\n component?: string;\n}\n\n/**\n * Bind every `<namespace>:<qualifier>` attribute of one element, and keep the\n * bindings in step with the element.\n *\n * The declarations present now are bound on subscription; afterwards each\n * attribute of the namespace is its own binding, keyed by the name that\n * produced it, so one `#bind` covers all three shapes a change can take —\n * **added** attaches with nothing to release, **changed** releases then\n * attaches, **removed** releases with nothing to attach. This is what a\n * memoised parse cannot do, and rewriting an attribute in place is not\n * hypothetical: `swap({ mode: 'morph' })` does it, and so does any\n * `data-bind:` template around the element.\n *\n * @param el The element whose attributes are read and watched.\n * @param namespace The namespace, without its colon: `data-on`, `data-track`.\n * @param bind Called once per declaration; returns that binding's release.\n * @param options An optional finite head vocabulary, and a component name.\n * @returns An idempotent cleanup releasing every binding and stopping the watch.\n * @link https://js-toolkit-v4.studiometa.dev/api/dom/watchAttributeNamespace.html\n */\nexport function watchAttributeNamespace(\n el: Element,\n namespace: string,\n bind: AttributeNamespaceBinder,\n { qualifiers, component }: AttributeNamespaceOptions = {},\n): () => void {\n /** Live bindings by the attribute that produced them, each holding its release. */\n const bindings = new Map<string, () => void>();\n\n const rebind = (attribute: string, value: string | null): void => {\n // Release first, whatever comes next: a rewritten attribute must not leave\n // its previous binding attached, which is the whole point of watching.\n bindings.get(attribute)?.();\n const qualifier = namespaceQualifier(namespace, attribute);\n const release =\n value === null ||\n qualifier === null ||\n !isWellFormed(el, attribute, qualifier, component) ||\n !isDeclared(el, namespace, attribute, qualifier, qualifiers, component)\n ? undefined\n : bind({ qualifier, value, attribute });\n\n if (release) {\n // `set` on a key already there keeps its position, so the order the\n // element declares its bindings in survives a rewrite.\n bindings.set(attribute, release);\n } else {\n bindings.delete(attribute);\n }\n };\n\n for (const { name, value } of Array.from(el.attributes)) {\n rebind(name, value);\n }\n\n // The watcher covers every attribute of the element, framework names\n // included, so the namespace is what narrows it — and a removal keeps the\n // name it was declared under, so one test covers all three shapes.\n const stopWatchingAttributes = watchAttributes(el, ({ name, value }) => {\n if (namespaceQualifier(namespace, name) !== null) {\n rebind(name, value);\n }\n });\n\n return () => {\n stopWatchingAttributes();\n for (const release of bindings.values()) {\n release();\n }\n bindings.clear();\n };\n}\n\n/**\n * Whether a qualifier holds the grammar's one colon and no more, warning once\n * if not. `namespaceQualifier()` returns everything after the first colon\n * unexamined, so `data-on:click:s` reaches here as the qualifier `click:s` —\n * a second declaration's separator leaking into the first — and an open\n * namespace with no declared vocabulary would otherwise bind it as though\n * `click:s` were an event name instead of the ill-formed attribute J1 settled\n * it to be.\n */\nfunction isWellFormed(\n el: Element,\n attribute: string,\n qualifier: string,\n component: string | undefined,\n): boolean {\n if (!qualifier.includes(QUALIFIER_SEPARATOR)) {\n return true;\n }\n warnOnce(\n el,\n attribute,\n 'attribute.unknown-qualifier',\n `\\`${attribute}\\` declares nothing: a qualifier holds one colon at most, and this one holds a second.`,\n { component, target: el },\n );\n return false;\n}\n\n/** Whether a qualifier names a member of the vocabulary, warning once if not. */\nfunction isDeclared(\n el: Element,\n namespace: string,\n attribute: string,\n qualifier: string,\n qualifiers: readonly string[] | undefined,\n component: string | undefined,\n): boolean {\n if (qualifiers === undefined) {\n return true;\n }\n const head = qualifierHead(qualifier);\n if (qualifiers.includes(head)) {\n return true;\n }\n warnOnce(\n el,\n attribute,\n 'attribute.unknown-qualifier',\n `\\`${attribute}\\` declares nothing: \\`${head}\\` names no \\`${namespace}\\` binding — known names: ${qualifiers.join(', ')}.`,\n { component, target: el },\n );\n return false;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,SAAgB,wBACd,IACA,WACA,MACA,EAAE,YAAY,cAAyC,CAAC,GAC5C;;CAEZ,MAAM,2BAAW,IAAI,IAAwB;CAE7C,MAAM,UAAU,WAAmB,UAA+B;EAGhE,SAAS,IAAI,SAAS,CAAC,GAAG;EAC1B,MAAM,YAAY,mBAAmB,WAAW,SAAS;EACzD,MAAM,UACJ,UAAU,QACV,cAAc,QACd,CAAC,aAAa,IAAI,WAAW,WAAW,SAAS,KACjD,CAAC,WAAW,IAAI,WAAW,WAAW,WAAW,YAAY,SAAS,IAClE,KAAA,IACA,KAAK;GAAE;GAAW;GAAO;EAAU,CAAC;EAE1C,IAAI,SAGF,SAAS,IAAI,WAAW,OAAO;OAE/B,SAAS,OAAO,SAAS;CAE7B;CAEA,KAAK,MAAM,EAAE,MAAM,WAAW,MAAM,KAAK,GAAG,UAAU,GACpD,OAAO,MAAM,KAAK;CAMpB,MAAM,yBAAyB,gBAAgB,KAAK,EAAE,MAAM,YAAY;EACtE,IAAI,mBAAmB,WAAW,IAAI,MAAM,MAC1C,OAAO,MAAM,KAAK;CAEtB,CAAC;CAED,aAAa;EACX,uBAAuB;EACvB,KAAK,MAAM,WAAW,SAAS,OAAO,GACpC,QAAQ;EAEV,SAAS,MAAM;CACjB;AACF;;;;;;;;;;AAWA,SAAS,aACP,IACA,WACA,WACA,WACS;CACT,IAAI,CAAC,UAAU,SAAA,GAA4B,GACzC,OAAO;CAET,SACE,IACA,WACA,+BACA,KAAK,UAAU,yFACf;EAAE;EAAW,QAAQ;CAAG,CAC1B;CACA,OAAO;AACT;;AAGA,SAAS,WACP,IACA,WACA,WACA,WACA,YACA,WACS;CACT,IAAI,eAAe,KAAA,GACjB,OAAO;CAET,MAAM,OAAO,cAAc,SAAS;CACpC,IAAI,WAAW,SAAS,IAAI,GAC1B,OAAO;CAET,SACE,IACA,WACA,+BACA,KAAK,UAAU,yBAAyB,KAAK,gBAAgB,UAAU,4BAA4B,WAAW,KAAK,IAAI,EAAE,IACzH;EAAE;EAAW,QAAQ;CAAG,CAC1B;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
//#region src/attributes.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* How the framework spells its own attributes, and how it reads a batch of
|
|
4
|
+
* writes to them.
|
|
5
|
+
*
|
|
6
|
+
* One shape covers every attribute the framework reads:
|
|
7
|
+
*
|
|
8
|
+
* ```
|
|
9
|
+
* data-<namespace>[:<qualifier>[.<part>…]]
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* A namespace is a whole name, and it is one of two kinds. A **fixed** one is
|
|
13
|
+
* written here or by whoever owns it — `data-component`, `data-mount`,
|
|
14
|
+
* `data-ref`, and in ui `data-on`, `data-track`, `data-bind`. A **generated**
|
|
15
|
+
* one comes from a declaration: every declared option owns the namespace
|
|
16
|
+
* {@link optionAttributeFor} builds for it, so `columns` owns
|
|
17
|
+
* `data-option-columns`. The kind decides the mechanism — a generated
|
|
18
|
+
* namespace's whole set of names is enumerable, so it is registered with the
|
|
19
|
+
* one observer, while a fixed namespace with open qualifiers can only be
|
|
20
|
+
* watched per element. See DESIGN.md §3.
|
|
21
|
+
*
|
|
22
|
+
* Both kinds take exactly one {@link QUALIFIER_SEPARATOR}, and neither reads
|
|
23
|
+
* past it: a qualifier's parts belong to whoever declared the namespace.
|
|
24
|
+
*
|
|
25
|
+
* This module is deliberately a **leaf**: it imports nothing from core. The
|
|
26
|
+
* mutation engine, the registry and `Base` all need the same names, and the
|
|
27
|
+
* modules which used to own them sit downstream of the engine — the engine
|
|
28
|
+
* carried string literals rather than close the cycle
|
|
29
|
+
* `dom-mutations → component-declarations → responsive-options → dom-mutations`.
|
|
30
|
+
* Moving the names down instead of importing them sideways breaks that cycle
|
|
31
|
+
* without the copies. Anything which needs the DOM, a breakpoint or the
|
|
32
|
+
* observer belongs upstream of here, not in this file.
|
|
33
|
+
*/
|
|
34
|
+
/** Declares one or more component names, as whitespace-separated tokens. */
|
|
35
|
+
declare const COMPONENT_ATTRIBUTE = "data-component";
|
|
36
|
+
/**
|
|
37
|
+
* Overrides the mount strategy of the element's declared components.
|
|
38
|
+
* @link https://js-toolkit-v4.studiometa.dev/api/html/data-mount.html
|
|
39
|
+
*/
|
|
40
|
+
declare const MOUNT_ATTRIBUTE = "data-mount";
|
|
41
|
+
/** Names an element as a ref of the component which owns it. */
|
|
42
|
+
declare const REF_ATTRIBUTE = "data-ref";
|
|
43
|
+
/**
|
|
44
|
+
* Every declared option is `data-option-` plus its kebab-cased name.
|
|
45
|
+
*
|
|
46
|
+
* This is a **namespace family**, not a namespace: the name after it is the
|
|
47
|
+
* option's own, so `columns` owns `data-option-columns` — see the grammar
|
|
48
|
+
* below.
|
|
49
|
+
*/
|
|
50
|
+
declare const OPTION_ATTRIBUTE_PREFIX = "data-option-";
|
|
51
|
+
/**
|
|
52
|
+
* Introduces one qualifier of the namespace on its left, and there is **at most
|
|
53
|
+
* one of these in an attribute the framework reads**.
|
|
54
|
+
*
|
|
55
|
+
* A colon can never appear in a kebab-cased name, so `data-option-columns:s`
|
|
56
|
+
* stays unambiguous where `data-option-columns-s` would not.
|
|
57
|
+
*/
|
|
58
|
+
declare const QUALIFIER_SEPARATOR = ":";
|
|
59
|
+
/**
|
|
60
|
+
* Splits a qualifier into its parts. Core never reads them: what a part means
|
|
61
|
+
* belongs to whoever owns the namespace — a modifier for `data-on:click.prevent`,
|
|
62
|
+
* a property name for `data-bind:prop.value`.
|
|
63
|
+
*/
|
|
64
|
+
declare const PART_SEPARATOR = ".";
|
|
65
|
+
/** One qualified spelling: `data-on` + `click.prevent` → `data-on:click.prevent`. */
|
|
66
|
+
declare function namespacedAttribute(namespace: string, qualifier: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* Whether a name belongs to a namespace, plainly or qualified. `data-component`
|
|
69
|
+
* and `data-component:s` both answer yes; `data-components` does not.
|
|
70
|
+
*/
|
|
71
|
+
declare function isInNamespace(namespace: string, name: string | null): name is string;
|
|
72
|
+
/**
|
|
73
|
+
* The qualifier a name carries within a namespace, or `null` when the name is
|
|
74
|
+
* outside it — the bare namespace included, since a namespace with nothing
|
|
75
|
+
* after the colon declares nothing.
|
|
76
|
+
* @link https://js-toolkit-v4.studiometa.dev/guide/concepts/attribute-grammar.html
|
|
77
|
+
*/
|
|
78
|
+
declare function namespaceQualifier(namespace: string, name: string): string | null;
|
|
79
|
+
/**
|
|
80
|
+
* The part of a qualifier which names the member: `click` of `click.prevent`,
|
|
81
|
+
* `prop` of `prop.value`. The one piece of a qualifier core reads, and only to
|
|
82
|
+
* check it against a vocabulary its owner declared.
|
|
83
|
+
*/
|
|
84
|
+
declare function qualifierHead(qualifier: string): string;
|
|
85
|
+
/**
|
|
86
|
+
* The names every page observes, before a single component declares an option.
|
|
87
|
+
* The rest of the observer's filter is accumulated at registration time.
|
|
88
|
+
*/
|
|
89
|
+
declare const FRAMEWORK_ATTRIBUTES: readonly ["data-component", "data-mount", "data-ref"];
|
|
90
|
+
/** The attribute holding one option's value at the base of the cascade. */
|
|
91
|
+
declare function optionAttributeFor(name: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* What a present negation resolves to.
|
|
94
|
+
*
|
|
95
|
+
* A boolean reads presence, not value, so the raw string has to carry **which
|
|
96
|
+
* spelling was there** rather than what it said. A NUL character is that
|
|
97
|
+
* signal: the HTML parser replaces it with U+FFFD in an attribute value, so no
|
|
98
|
+
* markup can produce it, and change detection still sees a plain string.
|
|
99
|
+
*/
|
|
100
|
+
declare const NEGATED_RAW = "\0";
|
|
101
|
+
/**
|
|
102
|
+
* The attribute which turns a boolean option off by being there.
|
|
103
|
+
*
|
|
104
|
+
* `data-option-no-view-transition` is another spelling of
|
|
105
|
+
* `data-option-view-transition="false"`, which is what v3 wrote and what reads
|
|
106
|
+
* better in markup: a flag is present or it is not.
|
|
107
|
+
*/
|
|
108
|
+
declare function negatedOptionAttributeFor(name: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Whether a name is a declared option's, at any breakpoint. The scoped
|
|
111
|
+
* spellings share the prefix, so one test covers the whole family.
|
|
112
|
+
*/
|
|
113
|
+
declare function isOptionAttribute(attribute: string | null): attribute is string;
|
|
114
|
+
/** Whether a name declares components, plainly or scoped to a breakpoint. */
|
|
115
|
+
declare function isComponentAttribute(attribute: string | null): attribute is string;
|
|
116
|
+
/**
|
|
117
|
+
* Several writes to one attribute in a batch are **one** change, from the value
|
|
118
|
+
* it held before the first write to the value the DOM ends the batch with. So
|
|
119
|
+
* the first previous value wins and every later record is dropped: a morph
|
|
120
|
+
* rewriting an attribute twice must not look like two changes.
|
|
121
|
+
*
|
|
122
|
+
* This is the first half of the coalescing rule; {@link isNetChange} is the
|
|
123
|
+
* second. Declared options, watched attributes and the responsive cascade all
|
|
124
|
+
* answer to it, which is why it is stated here once rather than in each of them.
|
|
125
|
+
*/
|
|
126
|
+
declare function rememberPreviousValue(previousValues: Map<string, string | null>, attribute: string, previousValue: string | null): void;
|
|
127
|
+
/**
|
|
128
|
+
* The second half of the rule: a batch ending where it started changed nothing
|
|
129
|
+
* and is not reported. The comparison is on raw strings — what is in force now
|
|
130
|
+
* against what was in force before — so it holds for an attribute read straight
|
|
131
|
+
* off the element and for a value resolved through the responsive cascade
|
|
132
|
+
* alike, which is what lets a breakpoint crossing and an attribute rewrite be
|
|
133
|
+
* the same kind of event.
|
|
134
|
+
*/
|
|
135
|
+
declare function isNetChange(value: string | null, previousValue: string | null): boolean;
|
|
136
|
+
//#endregion
|
|
137
|
+
export { COMPONENT_ATTRIBUTE, FRAMEWORK_ATTRIBUTES, MOUNT_ATTRIBUTE, NEGATED_RAW, OPTION_ATTRIBUTE_PREFIX, PART_SEPARATOR, QUALIFIER_SEPARATOR, REF_ATTRIBUTE, isComponentAttribute, isInNamespace, isNetChange, isOptionAttribute, namespaceQualifier, namespacedAttribute, negatedOptionAttributeFor, optionAttributeFor, qualifierHead, rememberPreviousValue };
|