@omerdlw/base-framework 2.0.1 → 3.0.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 +4 -1
- package/dist/{chunk-XASQT4CQ.js → chunk-66EYJBIP.js} +47 -27
- package/dist/chunk-66EYJBIP.js.map +1 -0
- package/dist/{chunk-6SG7V77J.js → chunk-HHWRTQKQ.js} +100 -67
- package/dist/chunk-HHWRTQKQ.js.map +1 -0
- package/dist/chunk-HLL5EHXC.js +485 -0
- package/dist/chunk-HLL5EHXC.js.map +1 -0
- package/dist/{chunk-6ZJVLUBE.js → chunk-I5GK7VOV.js} +8 -6
- package/dist/chunk-I5GK7VOV.js.map +1 -0
- package/dist/chunk-RIOKLMYM.js +145 -0
- package/dist/chunk-RIOKLMYM.js.map +1 -0
- package/dist/{chunk-SKBITB5X.js → chunk-RRAZKP3J.js} +3 -3
- package/dist/{chunk-SKBITB5X.js.map → chunk-RRAZKP3J.js.map} +1 -1
- package/dist/{chunk-QXR55VVS.js → chunk-TG6NMHXI.js} +241 -162
- package/dist/chunk-TG6NMHXI.js.map +1 -0
- package/dist/{chunk-A5RE3F6O.js → chunk-WVRMABDN.js} +249 -427
- package/dist/chunk-WVRMABDN.js.map +1 -0
- package/dist/index.js +7 -5
- package/dist/modules/ambient/analyze.d.ts +18 -3
- package/dist/modules/ambient/analyze.d.ts.map +1 -1
- package/dist/modules/ambient/dom.d.ts +14 -1
- package/dist/modules/ambient/dom.d.ts.map +1 -1
- package/dist/modules/ambient/hooks.d.ts.map +1 -1
- package/dist/modules/ambient/index.d.ts +2 -2
- package/dist/modules/ambient/index.d.ts.map +1 -1
- package/dist/modules/ambient/index.js +1 -1
- package/dist/modules/ambient/server/index.d.ts +1 -1
- package/dist/modules/ambient/server/index.d.ts.map +1 -1
- package/dist/modules/ambient/server/index.js +2 -2
- package/dist/modules/ambient/server/index.js.map +1 -1
- package/dist/modules/ambient/settings.d.ts +1 -0
- package/dist/modules/ambient/settings.d.ts.map +1 -1
- package/dist/modules/ambient/types.d.ts +13 -0
- package/dist/modules/ambient/types.d.ts.map +1 -1
- package/dist/modules/ambient/worker/index.js +1 -1
- package/dist/modules/context-menu/index.js +4 -3
- package/dist/modules/dock/cards.d.ts.map +1 -1
- package/dist/modules/dock/constants.d.ts +1 -35
- package/dist/modules/dock/constants.d.ts.map +1 -1
- package/dist/modules/dock/index.js +3 -2
- package/dist/modules/dock/motion.d.ts +7 -5
- package/dist/modules/dock/motion.d.ts.map +1 -1
- package/dist/modules/dock/overlay.d.ts.map +1 -1
- package/dist/modules/dock/routing/guards.d.ts +1 -1
- package/dist/modules/dock/routing/navigation.d.ts +7 -4
- package/dist/modules/dock/routing/navigation.d.ts.map +1 -1
- package/dist/modules/dock/runtime/display.d.ts +31 -2
- package/dist/modules/dock/runtime/display.d.ts.map +1 -1
- package/dist/modules/dock/runtime/dock.d.ts +2 -3
- package/dist/modules/dock/runtime/dock.d.ts.map +1 -1
- package/dist/modules/dock/runtime/pipeline.d.ts.map +1 -1
- package/dist/modules/dock/styles.d.ts +1 -1
- package/dist/modules/dock/styles.d.ts.map +1 -1
- package/dist/modules/dock/surface/hooks.d.ts.map +1 -1
- package/dist/modules/dock/surface/stack.d.ts.map +1 -1
- package/dist/modules/dock/types.d.ts +88 -43
- package/dist/modules/dock/types.d.ts.map +1 -1
- package/dist/modules/index.d.ts +3 -2
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +7 -5
- package/dist/modules/loading/context.d.ts.map +1 -1
- package/dist/modules/loading/index.js +1 -1
- package/dist/modules/navigation/constants.d.ts +37 -0
- package/dist/modules/navigation/constants.d.ts.map +1 -0
- package/dist/modules/navigation/context.d.ts +10 -0
- package/dist/modules/navigation/context.d.ts.map +1 -0
- package/dist/modules/navigation/hooks.d.ts +29 -0
- package/dist/modules/navigation/hooks.d.ts.map +1 -0
- package/dist/modules/navigation/index.d.ts +10 -0
- package/dist/modules/navigation/index.d.ts.map +1 -0
- package/dist/modules/navigation/index.js +81 -0
- package/dist/modules/navigation/index.js.map +1 -0
- package/dist/modules/navigation/listeners.d.ts +15 -0
- package/dist/modules/navigation/listeners.d.ts.map +1 -0
- package/dist/modules/navigation/module.d.ts +25 -0
- package/dist/modules/navigation/module.d.ts.map +1 -0
- package/dist/modules/navigation/navigator.d.ts +8 -0
- package/dist/modules/navigation/navigator.d.ts.map +1 -0
- package/dist/modules/navigation/settings.d.ts +10 -0
- package/dist/modules/navigation/settings.d.ts.map +1 -0
- package/dist/modules/navigation/state.d.ts +20 -0
- package/dist/modules/navigation/state.d.ts.map +1 -0
- package/dist/modules/navigation/types.d.ts +168 -0
- package/dist/modules/navigation/types.d.ts.map +1 -0
- package/dist/modules/navigation/utils.d.ts +11 -0
- package/dist/modules/navigation/utils.d.ts.map +1 -0
- package/docs/getting-started.md +2 -0
- package/docs/modules/README.md +5 -1
- package/docs/modules/ambient.md +9 -6
- package/docs/modules/dock.md +31 -13
- package/docs/modules/loading.md +2 -2
- package/docs/modules/navigation.md +216 -0
- package/docs/proposals/navigation.md +209 -0
- package/docs/theming.md +1 -1
- package/package.json +6 -1
- package/templates/AGENTS.md +2 -0
- package/templates/motion/dock.ts +83 -15
- package/dist/chunk-6SG7V77J.js.map +0 -1
- package/dist/chunk-6ZJVLUBE.js.map +0 -1
- package/dist/chunk-A5RE3F6O.js.map +0 -1
- package/dist/chunk-QXR55VVS.js.map +0 -1
- package/dist/chunk-XASQT4CQ.js.map +0 -1
- package/dist/modules/dock/routing/transactions.d.ts +0 -21
- package/dist/modules/dock/routing/transactions.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/navigation/constants.ts","../src/modules/navigation/settings.ts","../src/modules/navigation/utils.ts","../src/modules/navigation/state.ts","../src/modules/navigation/navigator.ts"],"names":["options"],"mappings":"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","file":"chunk-HLL5EHXC.js","sourcesContent":["import type { NavigationPhase, NavigationStatus } from \"./types\";\n\nexport const NAVIGATION_STATUS = Object.freeze({\n PENDING: \"pending\",\n COMPLETED: \"completed\",\n CANCELLED: \"cancelled\",\n FAILED: \"failed\",\n TIMED_OUT: \"timed-out\",\n} as const satisfies Record<string, NavigationStatus>);\n\nexport const NAVIGATION_PHASE = Object.freeze({\n LEAVING: \"leaving\",\n ROUTING: \"routing\",\n} as const satisfies Record<string, NavigationPhase>);\n\nexport const NAVIGATION_REASON = Object.freeze({\n GUARD: \"guard\",\n RETURNED: \"returned\",\n SUPERSEDED: \"superseded\",\n TIME_OUT: \"time-out\",\n} as const);\n\nexport const NAVIGATION_SOURCE = Object.freeze({\n HISTORY: \"history\",\n NAVIGATE: \"navigate\",\n} as const);\n\nexport const NAVIGATION_EVENTS = Object.freeze({\n /** A trip started (phase `leaving`). */\n START: \"NAVIGATION_START\",\n /** The router was asked for the route (phase `routing`). */\n COMMIT: \"NAVIGATION_COMMIT\",\n /** The trip settled, whatever its status. */\n END: \"NAVIGATION_END\",\n} as const);\n\nexport const NAVIGATION_INTENT_DELAY_MS = 180;\nexport const NAVIGATION_PREFETCH_TTL_MS = 4 * 60_000;\nexport const NAVIGATION_ARRIVAL_TTL_MS = 20_000;\nexport const NAVIGATION_MAX_HOLD_MS = 5_000;\nexport const NAVIGATION_TIMEOUT_MS = 15_000;\n\n/** Links with this attribute set to `\"false\"` are never warmed on intent. */\nexport const NAVIGATION_PREFETCH_ATTRIBUTE = \"data-prefetch\";\n","import {\n NAVIGATION_ARRIVAL_TTL_MS,\n NAVIGATION_INTENT_DELAY_MS,\n NAVIGATION_MAX_HOLD_MS,\n NAVIGATION_PREFETCH_TTL_MS,\n NAVIGATION_TIMEOUT_MS,\n} from \"./constants\";\nimport type {\n NavigationIntentSettings,\n NavigationSettings,\n NavigationSettingsInput,\n} from \"./types\";\n\nconst matchEveryLink = () => true;\n\nconst DEFAULT_INTENT: NavigationIntentSettings = Object.freeze({\n delayMs: NAVIGATION_INTENT_DELAY_MS,\n match: matchEveryLink,\n});\n\nconst createDefaults = (): NavigationSettings => ({\n arrivalTtlMs: NAVIGATION_ARRIVAL_TTL_MS,\n intent: { ...DEFAULT_INTENT },\n maxHoldMs: NAVIGATION_MAX_HOLD_MS,\n prefetchKind: \"full\",\n prefetchTtlMs: NAVIGATION_PREFETCH_TTL_MS,\n timeoutMs: NAVIGATION_TIMEOUT_MS,\n});\n\n// Kept on globalThis so every bundled copy of this module (one per package\n// entry) shares one configuration.\nconst SETTINGS_KEY = Symbol.for(\"@omerdlw/base-framework/navigation/settings\");\ntype GlobalWithSettings = typeof globalThis & {\n [SETTINGS_KEY]?: NavigationSettings;\n};\nconst scope = globalThis as GlobalWithSettings;\n\nexport function getNavigationSettings(): NavigationSettings {\n return (scope[SETTINGS_KEY] ??= createDefaults());\n}\n\nexport function mergeNavigationSettings(\n base: NavigationSettings,\n input: NavigationSettingsInput,\n): NavigationSettings {\n const { intent, ...rest } = input;\n const defined = Object.fromEntries(\n Object.entries(rest).filter(([, value]) => value !== undefined),\n ) as Partial<NavigationSettings>;\n let nextIntent = base.intent;\n if (intent === false) nextIntent = false;\n else if (intent === true) nextIntent = base.intent || { ...DEFAULT_INTENT };\n else if (intent)\n nextIntent = { ...(base.intent || DEFAULT_INTENT), ...intent };\n return { ...base, ...defined, intent: nextIntent };\n}\n\n/**\n * Sets intent prefetch, the warm cache, hold and arrival windows and the\n * route timeout for every navigator. Returns a function that restores the\n * previous settings.\n */\nexport function configureNavigation(input: NavigationSettingsInput): () => void {\n const previous = getNavigationSettings();\n const next = mergeNavigationSettings(previous, input);\n scope[SETTINGS_KEY] = next;\n return () => {\n if (scope[SETTINGS_KEY] === next) scope[SETTINGS_KEY] = previous;\n };\n}\n","import { normalizePath } from \"@/utils\";\n\nexport function isSafeInternalHref(value: unknown): boolean {\n const href = typeof value === \"string\" ? value.trim() : \"\";\n return href.startsWith(\"/\") && !href.startsWith(\"//\");\n}\n\n/** The pathname of an href, without search, hash or trailing slash. */\nexport function pathOf(href: string): string {\n return normalizePath(String(href).split(/[?#]/)[0]) || \"/\";\n}\n\n/** An href's location key: normalized pathname plus its search and hash. */\nexport function locationKeyOf(href: string): string {\n const value = String(href).trim();\n const cut = value.search(/[?#]/);\n if (cut === -1) return pathOf(value);\n return `${pathOf(value)}${value.slice(cut)}`;\n}\n\nexport function isSameLocation(left: string, right: string): boolean {\n return Boolean(left) && locationKeyOf(left) === locationKeyOf(right);\n}\n\nexport function isSamePathname(left: string, right: string): boolean {\n return Boolean(left) && Boolean(right) && pathOf(left) === pathOf(right);\n}\n\nexport function readWindowLocation(): string | null {\n if (typeof window === \"undefined\") return null;\n const { hash, pathname, search } = window.location;\n return locationKeyOf(`${pathname}${search}${hash}`);\n}\n\n/** The link with an internal href around `target`, or `null`. */\nexport function internalLinkOf(target: EventTarget | null): Element | null {\n if (typeof Element === \"undefined\" || !(target instanceof Element))\n return null;\n const link = target.closest(\"a[href]\");\n return link && isSafeInternalHref(link.getAttribute(\"href\")) ? link : null;\n}\n","import { NAVIGATION_PHASE, NAVIGATION_STATUS } from \"./constants\";\nimport type {\n NavigationPayload,\n NavigationState,\n NavigationStatus,\n NavigationTrip,\n} from \"./types\";\nimport { locationKeyOf } from \"./utils\";\n\nexport function createNavigationState(location = \"\"): NavigationState {\n return { active: null, last: null, location };\n}\n\nexport function createTrip({\n from,\n href,\n id,\n payload = {},\n signal,\n source,\n startedAt,\n}: {\n from: string;\n href: string;\n id: number;\n payload?: NavigationPayload;\n signal: AbortSignal;\n source: string;\n startedAt: number;\n}): NavigationTrip {\n return {\n from,\n href,\n id,\n payload,\n phase: NAVIGATION_PHASE.LEAVING,\n signal,\n source,\n startedAt,\n status: NAVIGATION_STATUS.PENDING,\n to: locationKeyOf(href),\n };\n}\n\nexport function settleTrip(\n trip: NavigationTrip,\n status: NavigationStatus,\n {\n arrivedAt,\n endedAt,\n error = null,\n reason = null,\n }: {\n arrivedAt?: string;\n endedAt: number;\n error?: unknown;\n reason?: string | null;\n },\n): NavigationTrip {\n const settled: NavigationTrip = { ...trip, endedAt, error, reason, status };\n if (arrivedAt && arrivedAt !== trip.to) settled.arrivedAt = arrivedAt;\n return settled;\n}\n\n/** Where a trip ends up: where it landed, else where it was headed. */\nexport const tripDestination = (trip: NavigationTrip): string =>\n trip.arrivedAt ?? trip.to;\n","import { globalEvents } from \"@/events\";\nimport { createStore, report } from \"@/utils\";\nimport {\n NAVIGATION_EVENTS,\n NAVIGATION_PHASE,\n NAVIGATION_REASON,\n NAVIGATION_SOURCE,\n NAVIGATION_STATUS,\n} from \"./constants\";\nimport { getNavigationSettings } from \"./settings\";\nimport {\n createNavigationState,\n createTrip,\n settleTrip,\n tripDestination,\n} from \"./state\";\nimport type {\n NavigateOptions,\n NavigationBlock,\n NavigationHold,\n NavigationIntentListener,\n NavigationPayload,\n NavigationPayloadKey,\n NavigationPayloadValue,\n NavigationPrefetchOptions,\n NavigationResult,\n NavigationRouter,\n NavigationState,\n NavigationStatus,\n NavigationTrip,\n Navigator,\n NavigatorOptions,\n} from \"./types\";\nimport {\n isSafeInternalHref,\n isSameLocation,\n isSamePathname,\n locationKeyOf,\n pathOf,\n readWindowLocation,\n} from \"./utils\";\n\ntype Timer = ReturnType<typeof setTimeout>;\n\nconst emitGlobal = (event: string, payload: Record<string, unknown>) =>\n globalEvents.emit(event, payload);\n\nconst afterPaint = (callback: () => void) => {\n if (typeof requestAnimationFrame === \"function\")\n requestAnimationFrame(() => callback());\n else setTimeout(callback, 0);\n};\n\n/**\n * The navigation state machine: one active trip at a time, from the first\n * intent through holds and the router call to arrival. Pure: no React, no\n * Next; the provider binds a router and reports arrivals.\n */\nexport function createNavigator(options: NavigatorOptions = {}): Navigator {\n const now = options.now ?? Date.now;\n const settings = options.settings ?? getNavigationSettings;\n const readLocation = options.readLocation ?? readWindowLocation;\n const emit = options.emit ?? emitGlobal;\n const nextFrame = options.nextFrame ?? afterPaint;\n let router: NavigationRouter | null = options.router ?? null;\n\n const store = createStore<NavigationState>(\n createNavigationState(locationKeyOf(readLocation() ?? \"\") || \"\"),\n // Payload values belong to the app; freezing them would surprise it.\n { freezeSnapshots: false },\n );\n\n let nextTripId = 0;\n let controller: AbortController | null = null;\n let patience: Timer | null = null;\n let replay: (() => void) | null = null;\n // Bumped on every location change, so a settled trip is an arrival only\n // until the page it landed on is left.\n let visit = 0;\n let landedVisit = -1;\n\n let nextHoldId = 0;\n const holds = new Map<\n number,\n { history: boolean; hold: NavigationHold }\n >();\n const providers: { key: string; value: unknown }[] = [];\n const warmed = new Map<string, number>();\n const intentListeners = new Set<NavigationIntentListener>();\n\n const active = () => store.getSnapshot().active;\n const isCurrent = (id: number) => active()?.id === id;\n const latest = (id: number) =>\n active()?.id === id ? active() : store.getSnapshot().last;\n const currentLocation = () =>\n store.getSnapshot().location || locationKeyOf(readLocation() ?? \"\");\n\n const announce = (event: string, trip: NavigationTrip) =>\n emit(event, {\n from: trip.from,\n source: trip.source,\n timestamp: now(),\n to: tripDestination(trip),\n trip,\n type: event,\n });\n\n const clearPatience = () => {\n if (patience === null) return;\n clearTimeout(patience);\n patience = null;\n };\n\n const waitFor = (id: number) => {\n clearPatience();\n const ms = Number(settings().timeoutMs);\n if (!Number.isFinite(ms) || ms <= 0) return;\n patience = setTimeout(() => {\n patience = null;\n settle(id, NAVIGATION_STATUS.TIMED_OUT, {\n reason: NAVIGATION_REASON.TIME_OUT,\n });\n }, ms);\n };\n\n function settle(\n id: number,\n status: NavigationStatus,\n details: { arrivedAt?: string; error?: unknown; reason?: string | null } = {},\n ): boolean {\n const trip = active();\n if (!trip || trip.id !== id) return false;\n clearPatience();\n replay = null;\n const settled = settleTrip(trip, status, { ...details, endedAt: now() });\n const abort = status === NAVIGATION_STATUS.COMPLETED ? null : controller;\n controller = null;\n if (status === NAVIGATION_STATUS.COMPLETED) landedVisit = visit;\n store.publish((state) => ({ ...state, active: null, last: settled }));\n abort?.abort(details.reason ?? status);\n announce(NAVIGATION_EVENTS.END, settled);\n return true;\n }\n\n function collectPayload(extra?: Partial<NavigationPayload>) {\n const payload: Record<string, unknown> = {};\n for (const { key, value } of providers) {\n try {\n payload[key] = typeof value === \"function\" ? value() : value;\n } catch (error) {\n report(`Navigation payload (${key})`, error);\n }\n }\n return { ...payload, ...extra } as NavigationPayload;\n }\n\n function begin(href: string, source: string, extra?: Partial<NavigationPayload>) {\n const previous = active();\n if (previous)\n settle(previous.id, NAVIGATION_STATUS.CANCELLED, {\n reason: NAVIGATION_REASON.SUPERSEDED,\n });\n controller = new AbortController();\n const trip = createTrip({\n from: currentLocation(),\n href,\n id: ++nextTripId,\n payload: collectPayload(extra),\n signal: controller.signal,\n source,\n startedAt: now(),\n });\n store.publish((state) => ({ ...state, active: trip }));\n waitFor(trip.id);\n announce(NAVIGATION_EVENTS.START, trip);\n return trip;\n }\n\n function commit(id: number, go: () => void): boolean {\n const trip = active();\n if (!trip || trip.id !== id) return false;\n const routing = { ...trip, phase: NAVIGATION_PHASE.ROUTING };\n store.publish((state) => ({ ...state, active: routing }));\n waitFor(id);\n announce(NAVIGATION_EVENTS.COMMIT, routing);\n try {\n go();\n } catch (error) {\n settle(id, NAVIGATION_STATUS.FAILED, { error });\n report(\"Navigation commit\", error);\n return false;\n }\n // A push that keeps the pathname changes no pathname to watch; read the\n // location once the router has written it.\n if (isSamePathname(routing.to, routing.from)) {\n nextFrame(() => {\n const location = readLocation();\n if (isCurrent(id) && location && isSameLocation(location, routing.to))\n arrive(location);\n });\n }\n return true;\n }\n\n function runHolds(trip: NavigationTrip, history: boolean): Promise<void> {\n const pending: Promise<unknown>[] = [];\n for (const entry of holds.values()) {\n if (history && !entry.history) continue;\n try {\n const result = entry.hold(trip);\n if (result && typeof (result as Promise<unknown>).then === \"function\")\n pending.push(\n Promise.resolve(result).catch((error) =>\n report(\"Navigation hold\", error),\n ),\n );\n } catch (error) {\n report(\"Navigation hold\", error);\n }\n }\n if (pending.length === 0) return Promise.resolve();\n return new Promise<void>((resolve) => {\n const done = () => {\n clearTimeout(cap);\n trip.signal.removeEventListener(\"abort\", done);\n resolve();\n };\n const cap = setTimeout(done, Math.max(0, settings().maxHoldMs));\n trip.signal.addEventListener(\"abort\", done);\n Promise.all(pending).then(done);\n });\n }\n\n async function navigate(\n href: string,\n {\n force = false,\n guard,\n onCommit,\n payload,\n replace = false,\n scroll,\n source = NAVIGATION_SOURCE.NAVIGATE,\n }: NavigateOptions = {},\n ): Promise<NavigationResult> {\n if (!isSafeInternalHref(href) || isSameLocation(href, currentLocation()))\n return { ok: false, trip: null };\n if (!router) {\n report(\"Navigation\", `No router bound; cannot open ${href}`, \"warn\");\n return { ok: false, trip: null };\n }\n\n const trip = begin(href, source, payload);\n try {\n if (!force && guard) {\n const verdict = await guard(trip);\n if (!isCurrent(trip.id)) return { ok: false, trip: latest(trip.id) };\n const block: NavigationBlock =\n typeof verdict === \"boolean\"\n ? { blocked: verdict }\n : (verdict ?? { blocked: false });\n if (block.blocked) {\n settle(trip.id, NAVIGATION_STATUS.CANCELLED, {\n reason: NAVIGATION_REASON.GUARD,\n });\n return { blocked: block, ok: false, trip: latest(trip.id) };\n }\n }\n\n await runHolds(trip, false);\n if (!isCurrent(trip.id)) return { ok: false, trip: latest(trip.id) };\n\n const options = scroll === undefined ? undefined : { scroll };\n const ok = commit(trip.id, () => {\n if (!router) throw new Error(\"No router bound\");\n onCommit?.(active()!);\n if (replace) router.replace(href, options);\n else router.push(href, options);\n });\n return { ok, trip: latest(trip.id) };\n } catch (error) {\n settle(trip.id, NAVIGATION_STATUS.FAILED, { error });\n report(\"Navigation\", error);\n return { ok: false, trip: latest(trip.id) };\n }\n }\n\n function depart(\n to: string,\n {\n replay: go,\n source = NAVIGATION_SOURCE.HISTORY,\n }: { replay?: () => void; source?: string } = {},\n ): NavigationTrip | null {\n if (!isSafeInternalHref(to)) return null;\n const trip = begin(to, source);\n if (!go) {\n // The browser already moved; the router follows on its own.\n commit(trip.id, () => {});\n return latest(trip.id);\n }\n replay = go;\n void runHolds(trip, true).then(() => {\n if (!isCurrent(trip.id) || replay !== go) return;\n replay = null;\n commit(trip.id, go);\n });\n return latest(trip.id);\n }\n\n function arrive(location: string): void {\n const key = locationKeyOf(location);\n if (!key) return;\n const state = store.getSnapshot();\n if (key !== state.location) {\n visit += 1;\n store.publish((current) => ({ ...current, location: key }));\n }\n const trip = state.active;\n if (!trip) return;\n if (trip.phase === NAVIGATION_PHASE.ROUTING) {\n // Seeing the origin again is not an arrival (an effect re-ran).\n if (isSameLocation(key, trip.from) && !isSameLocation(key, trip.to))\n return;\n settle(trip.id, NAVIGATION_STATUS.COMPLETED, { arrivedAt: key });\n } else if (isSameLocation(key, trip.to)) {\n settle(trip.id, NAVIGATION_STATUS.COMPLETED, { arrivedAt: key });\n } else if (!isSameLocation(key, trip.from)) {\n // Something else moved the page while this trip was still leaving.\n settle(trip.id, NAVIGATION_STATUS.CANCELLED, {\n reason: NAVIGATION_REASON.SUPERSEDED,\n });\n }\n }\n\n function arrival(pathname: string): NavigationTrip | null {\n const { active: trip, last } = store.getSnapshot();\n const ttl = settings().arrivalTtlMs;\n const fresh = (candidate: NavigationTrip) =>\n now() - candidate.startedAt < ttl &&\n isSamePathname(tripDestination(candidate), pathname);\n if (trip?.phase === NAVIGATION_PHASE.ROUTING && fresh(trip)) return trip;\n if (\n last?.status === NAVIGATION_STATUS.COMPLETED &&\n landedVisit === visit &&\n fresh(last)\n )\n return last;\n return null;\n }\n\n function cancel(reason: string | null = null): boolean {\n const trip = active();\n return trip\n ? settle(trip.id, NAVIGATION_STATUS.CANCELLED, { reason })\n : false;\n }\n\n function hold(\n run: NavigationHold,\n { history = true }: { history?: boolean } = {},\n ): () => void {\n const id = ++nextHoldId;\n holds.set(id, { history, hold: run });\n return () => {\n holds.delete(id);\n };\n }\n\n function holdsHistory(): boolean {\n for (const entry of holds.values()) if (entry.history) return true;\n return false;\n }\n\n function provide<K extends NavigationPayloadKey>(\n key: K,\n value: NavigationPayloadValue<K>,\n ): () => void {\n const entry = { key: key as string, value: value as unknown };\n providers.push(entry);\n return () => {\n const index = providers.indexOf(entry);\n if (index !== -1) providers.splice(index, 1);\n };\n }\n\n function prefetch(\n href: string,\n { force = false, kind }: NavigationPrefetchOptions = {},\n ): boolean {\n if (!isSafeInternalHref(href) || typeof router?.prefetch !== \"function\")\n return false;\n const key = locationKeyOf(href.split(\"#\")[0]);\n const at = warmed.get(key);\n if (!force && at !== undefined && now() - at < settings().prefetchTtlMs)\n return false;\n warmed.set(key, now());\n for (const listener of intentListeners) {\n try {\n listener(pathOf(href), href);\n } catch (error) {\n report(\"Navigation intent listener\", error);\n }\n }\n try {\n router.prefetch(href, {\n kind: kind ?? settings().prefetchKind,\n onInvalidate: () => {\n if (warmed.get(key) !== undefined) warmed.delete(key);\n },\n });\n return true;\n } catch (error) {\n warmed.delete(key);\n report(\"Navigation prefetch\", error, \"warn\");\n return false;\n }\n }\n\n function onIntent(listener: NavigationIntentListener): () => void {\n intentListeners.add(listener);\n return () => {\n intentListeners.delete(listener);\n };\n }\n\n function setRouter(next: NavigationRouter | null): void {\n router = next;\n }\n\n function dispose(): void {\n clearPatience();\n // Never leave the browser on a URL the page did not follow.\n const go = replay;\n replay = null;\n go?.();\n }\n\n return {\n arrival,\n arrive,\n cancel,\n depart,\n dispose,\n hold,\n holdsHistory,\n navigate,\n onIntent,\n prefetch,\n provide,\n setRouter,\n store,\n };\n}\n"]}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
+
import { navigationModule } from './chunk-RIOKLMYM.js';
|
|
1
2
|
import { modalModule } from './chunk-FIMPHODX.js';
|
|
2
|
-
import { ambientModule } from './chunk-
|
|
3
|
+
import { ambientModule } from './chunk-TG6NMHXI.js';
|
|
3
4
|
import { backgroundModule } from './chunk-CGHZSSFR.js';
|
|
4
|
-
import { contextMenuModule } from './chunk-
|
|
5
|
-
import { dockModule } from './chunk-
|
|
5
|
+
import { contextMenuModule } from './chunk-RRAZKP3J.js';
|
|
6
|
+
import { dockModule } from './chunk-WVRMABDN.js';
|
|
6
7
|
import { notificationModule } from './chunk-SYAVGTOX.js';
|
|
7
8
|
import { mediaModule } from './chunk-R2YGFJDJ.js';
|
|
8
9
|
import { controlsModule } from './chunk-4GMQKD6F.js';
|
|
9
|
-
import { loadingModule } from './chunk-
|
|
10
|
+
import { loadingModule } from './chunk-66EYJBIP.js';
|
|
10
11
|
|
|
11
12
|
// src/modules/index.ts
|
|
12
13
|
var defaultModules = Object.freeze([
|
|
13
14
|
backgroundModule,
|
|
14
15
|
ambientModule,
|
|
16
|
+
navigationModule,
|
|
15
17
|
dockModule,
|
|
16
18
|
controlsModule,
|
|
17
19
|
contextMenuModule,
|
|
@@ -22,5 +24,5 @@ var defaultModules = Object.freeze([
|
|
|
22
24
|
]);
|
|
23
25
|
|
|
24
26
|
export { defaultModules };
|
|
25
|
-
//# sourceMappingURL=chunk-
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-I5GK7VOV.js.map
|
|
28
|
+
//# sourceMappingURL=chunk-I5GK7VOV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAwBO,IAAM,cAAA,GAAiB,OAAO,MAAA,CAAO;AAAA,EAC1C,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAU","file":"chunk-I5GK7VOV.js","sourcesContent":["import { ambientModule } from \"./ambient/module\";\nimport { backgroundModule } from \"./background/module\";\nimport { contextMenuModule } from \"./context-menu/module\";\nimport { controlsModule } from \"./controls/module\";\nimport { dockModule } from \"./dock/module\";\nimport { loadingModule } from \"./loading/module\";\nimport { mediaModule } from \"./media/module\";\nimport { modalModule } from \"./modal/module\";\nimport { navigationModule } from \"./navigation/module\";\nimport { notificationModule } from \"./notification/module\";\n\nexport {\n ambientModule,\n backgroundModule,\n contextMenuModule,\n controlsModule,\n dockModule,\n loadingModule,\n mediaModule,\n modalModule,\n navigationModule,\n notificationModule,\n};\n\nexport const defaultModules = Object.freeze([\n backgroundModule,\n ambientModule,\n navigationModule,\n dockModule,\n controlsModule,\n contextMenuModule,\n loadingModule,\n mediaModule,\n modalModule,\n notificationModule,\n] as const);\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { createNavigationState, createNavigator, readWindowLocation, NAVIGATION_SOURCE, NAVIGATION_PHASE, isSameLocation, NAVIGATION_REASON, isSamePathname, internalLinkOf, NAVIGATION_PREFETCH_ATTRIBUTE, getNavigationSettings } from './chunk-HLL5EHXC.js';
|
|
2
|
+
import { getOrCreateGlobalContext, defineModule } from './chunk-GF7TUX5I.js';
|
|
3
|
+
import { createStore, useIsomorphicLayoutEffect } from './chunk-TV3WEF5G.js';
|
|
4
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
5
|
+
import { useRouter, usePathname } from 'next/navigation';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
// src/modules/navigation/listeners.ts
|
|
9
|
+
function watchIntent(navigator, settings, doc = document) {
|
|
10
|
+
let resting = null;
|
|
11
|
+
const stop = () => {
|
|
12
|
+
if (resting) clearTimeout(resting.timer);
|
|
13
|
+
resting = null;
|
|
14
|
+
};
|
|
15
|
+
const wanted = (target) => {
|
|
16
|
+
const { intent } = settings();
|
|
17
|
+
if (!intent) return null;
|
|
18
|
+
const link = internalLinkOf(target);
|
|
19
|
+
if (!link || link.getAttribute(NAVIGATION_PREFETCH_ATTRIBUTE) === "false")
|
|
20
|
+
return null;
|
|
21
|
+
const href = link.getAttribute("href");
|
|
22
|
+
return intent.match(href) ? href : null;
|
|
23
|
+
};
|
|
24
|
+
const onOver = (event) => {
|
|
25
|
+
const { pointerType } = event;
|
|
26
|
+
if (pointerType && pointerType !== "mouse") return;
|
|
27
|
+
const href = wanted(event.target);
|
|
28
|
+
if (!href) return stop();
|
|
29
|
+
if (resting?.href === href) return;
|
|
30
|
+
stop();
|
|
31
|
+
const { intent } = settings();
|
|
32
|
+
const delay = intent ? Math.max(0, intent.delayMs) : 0;
|
|
33
|
+
resting = {
|
|
34
|
+
href,
|
|
35
|
+
timer: setTimeout(() => {
|
|
36
|
+
resting = null;
|
|
37
|
+
navigator.prefetch(href);
|
|
38
|
+
}, delay)
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const onNow = (event) => {
|
|
42
|
+
const href = wanted(event.target);
|
|
43
|
+
if (href) navigator.prefetch(href);
|
|
44
|
+
};
|
|
45
|
+
doc.addEventListener("pointerover", onOver, { passive: true });
|
|
46
|
+
doc.addEventListener("pointerdown", onNow, { passive: true });
|
|
47
|
+
doc.addEventListener("focusin", onNow, { passive: true });
|
|
48
|
+
return () => {
|
|
49
|
+
stop();
|
|
50
|
+
doc.removeEventListener("pointerover", onOver);
|
|
51
|
+
doc.removeEventListener("pointerdown", onNow);
|
|
52
|
+
doc.removeEventListener("focusin", onNow);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function watchHistory(navigator, win = window) {
|
|
56
|
+
let replaying = false;
|
|
57
|
+
const onPopState = (event) => {
|
|
58
|
+
if (replaying) return;
|
|
59
|
+
const to = readWindowLocation();
|
|
60
|
+
if (!to) return;
|
|
61
|
+
const { active, location } = navigator.store.getSnapshot();
|
|
62
|
+
if (active?.source === NAVIGATION_SOURCE.HISTORY && active.phase === NAVIGATION_PHASE.LEAVING) {
|
|
63
|
+
if (isSameLocation(to, active.from)) {
|
|
64
|
+
navigator.cancel(NAVIGATION_REASON.RETURNED);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
} else if (isSamePathname(to, location)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (!navigator.holdsHistory()) {
|
|
71
|
+
navigator.depart(to);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
event.stopImmediatePropagation();
|
|
75
|
+
const { state } = event;
|
|
76
|
+
navigator.depart(to, {
|
|
77
|
+
replay: () => {
|
|
78
|
+
replaying = true;
|
|
79
|
+
try {
|
|
80
|
+
win.dispatchEvent(new PopStateEvent("popstate", { state }));
|
|
81
|
+
} finally {
|
|
82
|
+
replaying = false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
win.addEventListener("popstate", onPopState, { capture: true });
|
|
88
|
+
return () => win.removeEventListener("popstate", onPopState, { capture: true });
|
|
89
|
+
}
|
|
90
|
+
var NavigationContext = getOrCreateGlobalContext(
|
|
91
|
+
"NavigationContext",
|
|
92
|
+
null
|
|
93
|
+
);
|
|
94
|
+
var noop = () => {
|
|
95
|
+
};
|
|
96
|
+
var NOT_HANDLED = Object.freeze({ ok: false, trip: null });
|
|
97
|
+
var INERT_NAVIGATION_ACTIONS = Object.freeze({
|
|
98
|
+
arrival: () => null,
|
|
99
|
+
arrive: noop,
|
|
100
|
+
cancel: () => false,
|
|
101
|
+
depart: () => null,
|
|
102
|
+
hold: () => noop,
|
|
103
|
+
holdsHistory: () => false,
|
|
104
|
+
navigate: async () => NOT_HANDLED,
|
|
105
|
+
onIntent: () => noop,
|
|
106
|
+
prefetch: () => false,
|
|
107
|
+
provide: () => noop,
|
|
108
|
+
setRouter: noop
|
|
109
|
+
});
|
|
110
|
+
var NOOP_NAVIGATION_STORE = createStore(
|
|
111
|
+
createNavigationState()
|
|
112
|
+
);
|
|
113
|
+
function NavigationProvider({ children }) {
|
|
114
|
+
const router = useRouter();
|
|
115
|
+
const pathname = usePathname();
|
|
116
|
+
const [navigator] = useState(() => createNavigator({ router }));
|
|
117
|
+
useIsomorphicLayoutEffect(() => {
|
|
118
|
+
navigator.setRouter(router);
|
|
119
|
+
}, [navigator, router]);
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
navigator.arrive(readWindowLocation() ?? pathname);
|
|
122
|
+
}, [navigator, pathname]);
|
|
123
|
+
useEffect(() => watchHistory(navigator), [navigator]);
|
|
124
|
+
useEffect(
|
|
125
|
+
() => watchIntent(navigator, getNavigationSettings),
|
|
126
|
+
[navigator]
|
|
127
|
+
);
|
|
128
|
+
useEffect(() => () => navigator.dispose(), [navigator]);
|
|
129
|
+
const runtime = useMemo(
|
|
130
|
+
() => ({ actions: navigator, store: navigator.store }),
|
|
131
|
+
[navigator]
|
|
132
|
+
);
|
|
133
|
+
return /* @__PURE__ */ jsx(NavigationContext, { value: runtime, children });
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// src/modules/navigation/module.tsx
|
|
137
|
+
var navigationModule = defineModule({
|
|
138
|
+
id: "navigation",
|
|
139
|
+
context: NavigationContext,
|
|
140
|
+
Provider: NavigationProvider
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
export { INERT_NAVIGATION_ACTIONS, NOOP_NAVIGATION_STORE, NavigationContext, NavigationProvider, navigationModule, watchHistory, watchIntent };
|
|
144
|
+
//# sourceMappingURL=chunk-RIOKLMYM.js.map
|
|
145
|
+
//# sourceMappingURL=chunk-RIOKLMYM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/navigation/listeners.ts","../src/modules/navigation/context.tsx","../src/modules/navigation/module.tsx"],"names":[],"mappings":"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","file":"chunk-RIOKLMYM.js","sourcesContent":["import { NAVIGATION_PHASE, NAVIGATION_PREFETCH_ATTRIBUTE, NAVIGATION_REASON, NAVIGATION_SOURCE } from \"./constants\";\nimport type { NavigationSettings, Navigator } from \"./types\";\nimport {\n internalLinkOf,\n isSameLocation,\n isSamePathname,\n readWindowLocation,\n} from \"./utils\";\n\n/**\n * Prefetches internal links on intent: after `intent.delayMs` of mouse hover,\n * and at once on pointerdown or focus. Returns the cleanup.\n */\nexport function watchIntent(\n navigator: Pick<Navigator, \"prefetch\">,\n settings: () => NavigationSettings,\n doc: Document = document,\n): () => void {\n let resting: { href: string; timer: ReturnType<typeof setTimeout> } | null =\n null;\n\n const stop = () => {\n if (resting) clearTimeout(resting.timer);\n resting = null;\n };\n\n const wanted = (target: EventTarget | null): string | null => {\n const { intent } = settings();\n if (!intent) return null;\n const link = internalLinkOf(target);\n if (!link || link.getAttribute(NAVIGATION_PREFETCH_ATTRIBUTE) === \"false\")\n return null;\n const href = link.getAttribute(\"href\")!;\n return intent.match(href) ? href : null;\n };\n\n const onOver = (event: Event) => {\n const { pointerType } = event as PointerEvent;\n if (pointerType && pointerType !== \"mouse\") return;\n const href = wanted(event.target);\n if (!href) return stop();\n if (resting?.href === href) return;\n stop();\n const { intent } = settings();\n const delay = intent ? Math.max(0, intent.delayMs) : 0;\n resting = {\n href,\n timer: setTimeout(() => {\n resting = null;\n navigator.prefetch(href);\n }, delay),\n };\n };\n\n const onNow = (event: Event) => {\n const href = wanted(event.target);\n if (href) navigator.prefetch(href);\n };\n\n doc.addEventListener(\"pointerover\", onOver, { passive: true });\n doc.addEventListener(\"pointerdown\", onNow, { passive: true });\n doc.addEventListener(\"focusin\", onNow, { passive: true });\n return () => {\n stop();\n doc.removeEventListener(\"pointerover\", onOver);\n doc.removeEventListener(\"pointerdown\", onNow);\n doc.removeEventListener(\"focusin\", onNow);\n };\n}\n\n/**\n * Turns back/forward steps into trips. While a hold wants history steps, the\n * step is swallowed before the router sees it (a capture listener on\n * `window` runs first), the holds run, and the same `popstate` is replayed\n * for the router. Stepping back to the origin during the hold cancels the\n * trip. Returns the cleanup.\n */\nexport function watchHistory(\n navigator: Pick<Navigator, \"cancel\" | \"depart\" | \"holdsHistory\" | \"store\">,\n win: Window = window,\n): () => void {\n let replaying = false;\n\n const onPopState = (event: PopStateEvent) => {\n if (replaying) return;\n const to = readWindowLocation();\n if (!to) return;\n const { active, location } = navigator.store.getSnapshot();\n\n if (\n active?.source === NAVIGATION_SOURCE.HISTORY &&\n active.phase === NAVIGATION_PHASE.LEAVING\n ) {\n if (isSameLocation(to, active.from)) {\n // Back where the router still is: let it see the step, nothing moves.\n navigator.cancel(NAVIGATION_REASON.RETURNED);\n return;\n }\n } else if (isSamePathname(to, location)) {\n return;\n }\n\n if (!navigator.holdsHistory()) {\n navigator.depart(to);\n return;\n }\n\n event.stopImmediatePropagation();\n const { state } = event;\n navigator.depart(to, {\n replay: () => {\n replaying = true;\n try {\n win.dispatchEvent(new PopStateEvent(\"popstate\", { state }));\n } finally {\n replaying = false;\n }\n },\n });\n };\n\n win.addEventListener(\"popstate\", onPopState, { capture: true });\n return () => win.removeEventListener(\"popstate\", onPopState, { capture: true });\n}\n","\"use client\";\n\nimport { useEffect, useMemo, useState, type ReactNode } from \"react\";\nimport { usePathname, useRouter } from \"next/navigation\";\nimport { useIsomorphicLayoutEffect } from \"@/hooks\";\nimport { getOrCreateGlobalContext } from \"@/kernel\";\nimport { createStore } from \"@/utils\";\nimport { watchHistory, watchIntent } from \"./listeners\";\nimport { createNavigator } from \"./navigator\";\nimport { getNavigationSettings } from \"./settings\";\nimport { createNavigationState } from \"./state\";\nimport type {\n NavigationActions,\n NavigationResult,\n NavigationRouter,\n NavigationRuntime,\n NavigationState,\n} from \"./types\";\nimport { readWindowLocation } from \"./utils\";\n\nexport const NavigationContext =\n getOrCreateGlobalContext<NavigationRuntime | null>(\n \"NavigationContext\",\n null,\n );\n\nconst noop = () => {};\nconst NOT_HANDLED: NavigationResult = Object.freeze({ ok: false, trip: null });\n\n/** What readers get without the module: no trips, nothing held or warmed. */\nexport const INERT_NAVIGATION_ACTIONS: NavigationActions = Object.freeze({\n arrival: () => null,\n arrive: noop,\n cancel: () => false,\n depart: () => null,\n hold: () => noop,\n holdsHistory: () => false,\n navigate: async () => NOT_HANDLED,\n onIntent: () => noop,\n prefetch: () => false,\n provide: () => noop,\n setRouter: noop,\n});\n\nexport const NOOP_NAVIGATION_STORE = createStore<NavigationState>(\n createNavigationState(),\n);\n\nexport function NavigationProvider({ children }: { children?: ReactNode }) {\n const router: NavigationRouter = useRouter();\n const pathname = usePathname();\n const [navigator] = useState(() => createNavigator({ router }));\n\n useIsomorphicLayoutEffect(() => {\n navigator.setRouter(router);\n }, [navigator, router]);\n\n useEffect(() => {\n navigator.arrive(readWindowLocation() ?? pathname);\n }, [navigator, pathname]);\n\n useEffect(() => watchHistory(navigator), [navigator]);\n useEffect(\n () => watchIntent(navigator, getNavigationSettings),\n [navigator],\n );\n useEffect(() => () => navigator.dispose(), [navigator]);\n\n const runtime = useMemo<NavigationRuntime>(\n () => ({ actions: navigator, store: navigator.store }),\n [navigator],\n );\n\n return <NavigationContext value={runtime}>{children}</NavigationContext>;\n}\n","\"use client\";\n\nimport { defineModule } from \"@/kernel\";\nimport { NavigationContext, NavigationProvider } from \"./context\";\nimport type { NavigationTrip } from \"./types\";\n\nexport const navigationModule = defineModule({\n id: \"navigation\",\n context: NavigationContext,\n Provider: NavigationProvider,\n});\n\ninterface NavigationEventPayload {\n from: string;\n source: string;\n timestamp: number;\n to: string;\n trip: NavigationTrip;\n type: string;\n [key: string]: unknown;\n}\n\ndeclare module \"@omerdlw/base-framework/events\" {\n interface FrameworkEventMap {\n NAVIGATION_START: NavigationEventPayload;\n NAVIGATION_COMMIT: NavigationEventPayload;\n NAVIGATION_END: NavigationEventPayload;\n }\n}\n\ndeclare module \"@omerdlw/base-framework/kernel\" {\n interface CoreModules {\n navigation: typeof navigationModule;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useOptionalDockState } from './chunk-
|
|
1
|
+
import { useOptionalDockState } from './chunk-WVRMABDN.js';
|
|
2
2
|
import { defineThemeSpec, useTheme, useModuleMotion } from './chunk-7TAVYJ3A.js';
|
|
3
3
|
import { getOrCreateGlobalContext, defineModule, useRegistryEntries, useModuleRegistration } from './chunk-GF7TUX5I.js';
|
|
4
4
|
import { createStore, useStore, useIsomorphicLayoutEffect, useRequiredContext, isBrowser, toArray, toFiniteNumber, report, isObject, isImageIconSource } from './chunk-TV3WEF5G.js';
|
|
@@ -884,5 +884,5 @@ function defineContextMenu(definition = {}) {
|
|
|
884
884
|
}
|
|
885
885
|
|
|
886
886
|
export { CONTEXT_MENU_VISIBILITY_EVENT, CURRENT_PAGE_KEY, ContextMenuContext, ContextMenuGlobal, ContextMenuHeader, ContextMenuHeaderIcon, ContextMenuItem, ContextMenuProvider, ContextMenuRenderer, GLOBAL_MENU_KEY, INITIAL_POSITION, MENU_SCREEN_MARGIN, contextMenuModule, contextMenuTheme, createInitialMenuState, defineContextMenu, emitContextMenuVisibility, extractNodeText, getNextActiveIndex, isScrollLockKey, joinClassNames, positionMenu, prepareMenu, resolveAsBoolean, resolveAsValue, resolveContextMenu, resolveContextMenuPageMeta, resolveMenuHeader, resolveMenuItems, resolveNextOpenState, safeInvoke, useContextMenu, useContextMenuActions, useContextMenuContentModel, useContextMenuListener, useContextMenuRegistration, useContextMenuState, useMenuDismissal };
|
|
887
|
-
//# sourceMappingURL=chunk-
|
|
888
|
-
//# sourceMappingURL=chunk-
|
|
887
|
+
//# sourceMappingURL=chunk-RRAZKP3J.js.map
|
|
888
|
+
//# sourceMappingURL=chunk-RRAZKP3J.js.map
|