sanity 3.74.2-corel.18 → 3.74.2-coreui.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/lib/_chunks-cjs/runtime.js +8 -4
  2. package/lib/_chunks-cjs/runtime.js.map +1 -1
  3. package/lib/_chunks-cjs/version.js +1 -1
  4. package/lib/_chunks-es/version.mjs +1 -1
  5. package/lib/_legacy/version.esm.js +1 -1
  6. package/package.json +10 -11
  7. package/src/_internal/cli/server/renderDocument.tsx +12 -0
  8. package/src/_internal/cli/server/runtime.ts +13 -10
  9. package/src/_internal/cli/server/vite/plugin-sanity-build-entries.ts +14 -12
  10. package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs +0 -19
  11. package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs.map +0 -1
  12. package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs +0 -58
  13. package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs.map +0 -1
  14. package/dist/LiveQueries-sYvgBCKh.mjs +0 -267
  15. package/dist/LiveQueries-sYvgBCKh.mjs.map +0 -1
  16. package/dist/LoaderQueries-AQneabiG.mjs +0 -581
  17. package/dist/LoaderQueries-AQneabiG.mjs.map +0 -1
  18. package/dist/Observable-wwWYwtkh.mjs +0 -551
  19. package/dist/Observable-wwWYwtkh.mjs.map +0 -1
  20. package/dist/PostMessageDocuments-DLMdHDk6.mjs +0 -75
  21. package/dist/PostMessageDocuments-DLMdHDk6.mjs.map +0 -1
  22. package/dist/PostMessageFeatures-CazMQz3f.mjs +0 -21
  23. package/dist/PostMessageFeatures-CazMQz3f.mjs.map +0 -1
  24. package/dist/PostMessagePerspective-m4uZ6sI5.mjs +0 -23
  25. package/dist/PostMessagePerspective-m4uZ6sI5.mjs.map +0 -1
  26. package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs +0 -66
  27. package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs.map +0 -1
  28. package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs +0 -66
  29. package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs.map +0 -1
  30. package/dist/PostMessageSchema-BVFyZOH1.mjs +0 -514
  31. package/dist/PostMessageSchema-BVFyZOH1.mjs.map +0 -1
  32. package/dist/PostMessageTelemetry-CSluBvcC.mjs +0 -51
  33. package/dist/PostMessageTelemetry-CSluBvcC.mjs.map +0 -1
  34. package/dist/PresentationToolGrantsCheck-4zo266wj.mjs +0 -3919
  35. package/dist/PresentationToolGrantsCheck-4zo266wj.mjs.map +0 -1
  36. package/dist/QRCodeSVG-D6VfGEbM.mjs +0 -648
  37. package/dist/QRCodeSVG-D6VfGEbM.mjs.map +0 -1
  38. package/dist/SourceContext-T8zcpOpp.mjs +0 -33
  39. package/dist/SourceContext-T8zcpOpp.mjs.map +0 -1
  40. package/dist/StructureToolProvider-BMLps71e.mjs +0 -13815
  41. package/dist/StructureToolProvider-BMLps71e.mjs.map +0 -1
  42. package/dist/Subject-DP0DoUP_.mjs +0 -108
  43. package/dist/Subject-DP0DoUP_.mjs.map +0 -1
  44. package/dist/ViteDevServerStopped-DdibXNvO.mjs +0 -44
  45. package/dist/ViteDevServerStopped-DdibXNvO.mjs.map +0 -1
  46. package/dist/_createContext.mjs +0 -36
  47. package/dist/_createContext.mjs.map +0 -1
  48. package/dist/_singletons.mjs +0 -195
  49. package/dist/_singletons.mjs.map +0 -1
  50. package/dist/browser-BzDH2pyp.mjs +0 -455
  51. package/dist/browser-BzDH2pyp.mjs.map +0 -1
  52. package/dist/browser-DWCoWoiH.mjs +0 -3988
  53. package/dist/browser-DWCoWoiH.mjs.map +0 -1
  54. package/dist/debounceTime-BeoKrERE.mjs +0 -130
  55. package/dist/debounceTime-BeoKrERE.mjs.map +0 -1
  56. package/dist/desk.mjs +0 -52
  57. package/dist/desk.mjs.map +0 -1
  58. package/dist/first-Di4GZDIY.mjs +0 -42
  59. package/dist/first-Di4GZDIY.mjs.map +0 -1
  60. package/dist/get-psIoeD-z.mjs +0 -327
  61. package/dist/get-psIoeD-z.mjs.map +0 -1
  62. package/dist/hooks-4sgcd521.mjs +0 -90
  63. package/dist/hooks-4sgcd521.mjs.map +0 -1
  64. package/dist/index-9PJcXUTv.mjs +0 -87
  65. package/dist/index-9PJcXUTv.mjs.map +0 -1
  66. package/dist/index-ByFK-IwD.mjs +0 -528
  67. package/dist/index-ByFK-IwD.mjs.map +0 -1
  68. package/dist/index-C2OAo3To.mjs +0 -7079
  69. package/dist/index-C2OAo3To.mjs.map +0 -1
  70. package/dist/index-C3OvVLVP.mjs +0 -4636
  71. package/dist/index-C3OvVLVP.mjs.map +0 -1
  72. package/dist/index-DBPVDKJN.mjs +0 -1198
  73. package/dist/index-DBPVDKJN.mjs.map +0 -1
  74. package/dist/index-DkvUNBNf.mjs +0 -73
  75. package/dist/index-DkvUNBNf.mjs.map +0 -1
  76. package/dist/index-Sp9w8lMg.mjs +0 -118
  77. package/dist/index-Sp9w8lMg.mjs.map +0 -1
  78. package/dist/index.browser-BxT2qp9y.mjs +0 -104
  79. package/dist/index.browser-BxT2qp9y.mjs.map +0 -1
  80. package/dist/index.mjs +0 -129019
  81. package/dist/index.mjs.map +0 -1
  82. package/dist/isObservable-ByOheaM8.mjs +0 -8
  83. package/dist/isObservable-ByOheaM8.mjs.map +0 -1
  84. package/dist/never-ChKjLemk.mjs +0 -6
  85. package/dist/never-ChKjLemk.mjs.map +0 -1
  86. package/dist/pane-C4tskUPg.mjs +0 -5
  87. package/dist/pane-C4tskUPg.mjs.map +0 -1
  88. package/dist/pane-Dhx8FvsK.mjs +0 -5
  89. package/dist/pane-Dhx8FvsK.mjs.map +0 -1
  90. package/dist/presentation-CSS9GR9X.mjs +0 -984
  91. package/dist/presentation-CSS9GR9X.mjs.map +0 -1
  92. package/dist/presentation.mjs +0 -14
  93. package/dist/presentation.mjs.map +0 -1
  94. package/dist/resources-4cbq8YlR.mjs +0 -124
  95. package/dist/resources-4cbq8YlR.mjs.map +0 -1
  96. package/dist/resources-BVETz6Ur.mjs +0 -57
  97. package/dist/resources-BVETz6Ur.mjs.map +0 -1
  98. package/dist/resources-D4AaU75F.mjs +0 -434
  99. package/dist/resources-D4AaU75F.mjs.map +0 -1
  100. package/dist/resources-Dc-6ZcPg.mjs +0 -157
  101. package/dist/resources-Dc-6ZcPg.mjs.map +0 -1
  102. package/dist/resources-DgU0prBM.mjs +0 -179
  103. package/dist/resources-DgU0prBM.mjs.map +0 -1
  104. package/dist/resources-MD8RsYhH.mjs +0 -288
  105. package/dist/resources-MD8RsYhH.mjs.map +0 -1
  106. package/dist/router.mjs +0 -689
  107. package/dist/router.mjs.map +0 -1
  108. package/dist/share-bcOpIdQz.mjs +0 -71
  109. package/dist/share-bcOpIdQz.mjs.map +0 -1
  110. package/dist/shareReplay-Dj1O6fKV.mjs +0 -43
  111. package/dist/shareReplay-Dj1O6fKV.mjs.map +0 -1
  112. package/dist/stegaEncodeSourceMap-DXdUZQye.mjs +0 -342
  113. package/dist/stegaEncodeSourceMap-DXdUZQye.mjs.map +0 -1
  114. package/dist/structure.mjs +0 -56
  115. package/dist/structure.mjs.map +0 -1
  116. package/dist/takeUntil-CgZP1bze.mjs +0 -111
  117. package/dist/takeUntil-CgZP1bze.mjs.map +0 -1
  118. package/dist/v4-C78sE4Gb.mjs +0 -27082
  119. package/dist/v4-C78sE4Gb.mjs.map +0 -1
  120. package/dist/version-D7UZEoYI.mjs +0 -5
  121. package/dist/version-D7UZEoYI.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.mjs","sources":["../src/router/useRouter.ts","../src/router/useLink.ts","../src/router/useIntentLink.ts","../src/router/IntentLink.tsx","../src/router/Link.tsx","../src/router/_parseRoute.ts","../src/router/utils/arrayify.ts","../src/router/_findMatchingRoutes.ts","../src/router/encodeURIComponentExcept.ts","../src/router/utils/debug.ts","../src/router/_resolvePathFromState.ts","../src/router/utils/parseScopedParams.ts","../src/router/_resolveStateFromPath.ts","../src/router/utils/base64url.ts","../src/router/utils/jsonParamsEncoding.ts","../src/router/utils/paramsEncoding.ts","../src/router/route.ts","../src/router/stickyParams.ts","../src/router/RouterProvider.tsx","../src/router/RouteScope.tsx","../src/router/useStateLink.ts","../src/router/StateLink.tsx","../src/router/useRouterState.ts","../src/router/withRouter.tsx"],"sourcesContent":["import {useContext} from 'react'\nimport {RouterContext} from 'sanity/_singletons'\n\nimport {type RouterContextValue} from './types'\n\n/**\n * Returns the router context value.\n * @public\n *\n * @returns The router context value.\n * {@link RouterContextValue}\n * @throws An error if the router context value is missing.\n *\n * @example\n * ```tsx\n * const router = useRouter()\n * ```\n */\nexport function useRouter(): RouterContextValue {\n const router = useContext(RouterContext)\n\n if (!router) {\n throw new Error('Router: missing context value')\n }\n\n return router\n}\n","import {useCallback} from 'react'\n\nimport {useRouter} from './useRouter'\n\nfunction isLeftClickEvent(event: React.MouseEvent) {\n return event.button === 0\n}\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)\n}\n\n/**\n * @public\n */\nexport interface UseLinkOptions {\n /**\n * The URL that the link should navigate to.\n */\n href?: string\n\n /**\n * The event handler function that should be called when the link is clicked.\n */\n onClick?: React.MouseEventHandler<HTMLElement>\n\n /**\n * Whether the link should replace the current URL in the browser history.\n */\n replace?: boolean\n\n /**\n * The target window or frame that the linked document will open in.\n */\n target?: string\n}\n\n/**\n * Returns an object with an `onClick` function that can be used as a click handler for a link.\n *\n * @public\n *\n * @param options - An object containing the properties for the link.\n * See {@link UseLinkOptions}\n *\n * @returns An object with an `onClick` function.\n *\n * @example\n * ```tsx\n * const linkProps = useLink({\n * href: 'https://www.sanity.io',\n * target: '_blank'\n * })\n *\n * <a {...linkProps}>Link</a>\n * ```\n */\nexport function useLink(options: UseLinkOptions): {onClick: React.MouseEventHandler<HTMLElement>} {\n const {onClick: onClickProp, href, target, replace = false} = options\n const {navigateUrl} = useRouter()\n\n const onClick = useCallback(\n (event: React.MouseEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return\n }\n\n if (!href) return\n\n if (onClickProp) {\n onClickProp(event)\n }\n\n if (isModifiedEvent(event) || !isLeftClickEvent(event)) {\n return\n }\n\n // If target prop is set (e.g. to \"_blank\") let browser handle link.\n if (target) {\n return\n }\n\n event.preventDefault()\n\n navigateUrl({path: href, replace})\n },\n [href, navigateUrl, onClickProp, replace, target],\n )\n\n return {onClick: onClick}\n}\n","import {useMemo} from 'react'\n\nimport {type IntentParameters, type SearchParam} from './types'\nimport {useLink} from './useLink'\nimport {useRouter} from './useRouter'\n\n/**\n * @public\n */\nexport interface UseIntentLinkOptions {\n /**\n * The name of the intent to trigger.\n */\n intent: string\n\n /**\n * An optional click event handler.\n */\n onClick?: React.MouseEventHandler<HTMLElement>\n\n /**\n * Optional parameters to pass to the intent. See {@link IntentParameters}\n */\n params?: IntentParameters\n\n /**\n * Whether to replace the current URL in the browser history.\n */\n replace?: boolean\n\n /**\n * The target window or frame to open the link in.\n */\n target?: string\n searchParams?: SearchParam[]\n}\n\n/**\n *\n * Returns props for an anchor element that will trigger an intent when clicked.\n *\n * @example\n * ```tsx\n * const {onClick, href} = useIntentLink({\n * intent: 'edit',\n * params: {id: 'foo'}\n * })\n *\n * <a href={href} onClick={onClick}>Link to \"foo\" editor</a>\n * ```\n *\n * @public\n *\n * @param options - Options to use for the link\n * {@link UseIntentLinkOptions}\n *\n * @returns - An object with `onClick` and `href` props to use for the link\n */\nexport function useIntentLink(options: UseIntentLinkOptions): {\n onClick: React.MouseEventHandler<HTMLElement>\n href: string\n} {\n const {intent, onClick: onClickProp, params, replace, target, searchParams} = options\n const {resolveIntentLink} = useRouter()\n const href = useMemo(\n () => resolveIntentLink(intent, params, searchParams),\n [intent, params, searchParams, resolveIntentLink],\n )\n const {onClick} = useLink({href, onClick: onClickProp, replace, target})\n\n return {onClick, href}\n}\n","import {type ForwardedRef, forwardRef, type HTMLProps} from 'react'\n\nimport {type IntentParameters, type SearchParam} from './types'\nimport {useIntentLink} from './useIntentLink'\n\n/**\n * Props for the {@link IntentLink} component.\n *\n * @public\n */\nexport interface IntentLinkProps {\n /**\n * The name of the intent.\n */\n intent: string\n\n /**\n * The parameters to include in the intent.\n * {@link IntentParameters}\n */\n params?: IntentParameters\n\n /**\n * Whether to replace the current URL in the browser history instead of adding a new entry.\n */\n replace?: boolean\n\n /**\n * search params to include in the intent.\n */\n searchParams?: SearchParam[]\n}\n\n/**\n * @public\n *\n * @param props - Props to pass to `IntentLink` component.\n * See {@link IntentLinkProps}\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * return <IntentLink intent=\"edit\" params={{id: 'abc123'}}>Edit</IntentLink>\n * }\n * ```\n */\nexport const IntentLink = forwardRef(function IntentLink(\n props: IntentLinkProps & HTMLProps<HTMLAnchorElement>,\n ref: ForwardedRef<HTMLAnchorElement>,\n) {\n const {intent, params, target, searchParams, ...restProps} = props\n const {onClick, href} = useIntentLink({\n intent,\n params,\n target,\n onClick: props.onClick,\n searchParams,\n })\n\n return <a {...restProps} href={href} onClick={onClick} ref={ref} target={target} />\n})\n","import {type ForwardedRef, forwardRef, type HTMLProps} from 'react'\n\nimport {useLink} from './useLink'\n\n/**\n * Props for the {@link Link} component.\n *\n * @public\n */\nexport interface LinkProps {\n /**\n * Whether to replace the current URL in the browser history instead of adding a new entry.\n */\n replace?: boolean\n}\n\n/**\n * A component that creates an HTML anchor element.\n *\n * @public\n *\n * @param props - Props to pass to the `Link` component.\n * See {@link LinkProps}\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * return (\n * <Link href=\"https://www.sanity.io\" target=\"_blank\" replace>\n * Go to Sanity\n * </Link>\n * )\n * }\n * ```\n */\nexport const Link = forwardRef(function Link(\n props: LinkProps & HTMLProps<HTMLAnchorElement>,\n ref: ForwardedRef<HTMLAnchorElement>,\n) {\n const {onClick: onClickProp, href, target, replace, ...restProps} = props\n const {onClick} = useLink({onClick: onClickProp, href, target, replace})\n\n return <a {...restProps} onClick={onClick} href={href} target={target} ref={ref} />\n})\n","import {type Route, type RouteSegment} from './types'\n\nconst VALID_PARAM_SEGMENT = /^[a-zA-Z0-9_-]+$/\n\nfunction createSegment(segment: string): RouteSegment | null {\n if (!segment) {\n return null\n }\n\n if (segment.startsWith(':')) {\n const paramName = segment.slice(1)\n\n if (!VALID_PARAM_SEGMENT.test(paramName)) {\n const addendum = segment.includes('*')\n ? ' Splats are not supported. Consider using child routes instead'\n : ''\n // eslint-disable-next-line no-console\n console.error(\n new Error(`Warning: Param segments \"${segment}\" includes invalid characters.${addendum}`),\n )\n }\n\n return {type: 'param', name: paramName}\n }\n\n return {type: 'dir', name: segment}\n}\n\n/** @internal */\nexport function _parseRoute(route: string): Route {\n const [pathname] = route.split('?')\n\n const segments = pathname.split('/').map(createSegment).filter(Boolean) as RouteSegment[]\n\n return {\n raw: route,\n segments: segments,\n }\n}\n","export function arrayify<T>(val: Array<T> | T): Array<T> {\n if (Array.isArray(val)) {\n return val\n }\n\n return val ? [val] : []\n}\n","import {difference, intersection, isPlainObject, pick} from 'lodash'\n\nimport {\n type InternalSearchParam,\n type MatchError,\n type MatchOk,\n type MatchResult,\n type RouterNode,\n type RouterState,\n} from './types'\nimport {arrayify} from './utils/arrayify'\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return isPlainObject(value)\n}\n\nfunction createMatchError(\n node: RouterNode,\n missingKeys: string[],\n unmappableStateKeys: string[],\n): MatchError {\n return {type: 'error', node, missingKeys, unmappableStateKeys}\n}\n\nfunction createMatchOk(\n node: RouterNode,\n matchedState: Record<string, string>,\n searchParams: InternalSearchParam[],\n child?: MatchOk | undefined,\n): MatchOk {\n return {type: 'ok', node, matchedState, searchParams, child}\n}\n\n/** @internal */\nexport function _findMatchingRoutes(node: RouterNode, _state?: RouterState): MatchResult {\n if (!_state) {\n return createMatchOk(node, {}, [])\n }\n\n const scopedState = node.scope ? (_state[node.scope] as RouterState) : _state\n\n const {_searchParams: searchParams = [], ...state} = scopedState || {}\n\n const requiredParams = node.route.segments\n .filter((seg) => seg.type === 'param')\n .map((seg) => seg.name)\n\n const stateKeys = isRecord(state) ? Object.keys(state) : []\n\n // These are params found in both the state and the route definition\n const consumedParams = intersection(stateKeys, requiredParams)\n\n // these are params found in the route definition but not in the state, can't map them to a route\n const missingParams = difference(requiredParams, consumedParams)\n\n // these are params found in the state but not in the route definition\n const remainingParams = difference(stateKeys, consumedParams)\n\n if (missingParams.length > 0) {\n return createMatchError(node, missingParams, [])\n }\n\n const scopedParams = searchParams.map(([key, value]): InternalSearchParam => [[key], value])\n\n const consumedState = pick(state, consumedParams) as Record<string, string>\n\n if (remainingParams.length === 0) {\n return createMatchOk(node, consumedState, scopedParams)\n }\n\n const children = arrayify(\n (typeof node.children === 'function'\n ? node.children(isRecord(state) ? state : {})\n : node.children) || [],\n )\n\n if (remainingParams.length > 0 && children.length === 0) {\n // our state includes extra keys that's not consumed by child routes\n return createMatchError(node, [], remainingParams)\n }\n\n const remainingState = pick(state, remainingParams)\n\n const childResult = children.map((childNode) => _findMatchingRoutes(childNode, remainingState))\n\n // Look for a matching route\n const found = childResult.find((res): res is MatchOk => res.type === 'ok')\n return found\n ? createMatchOk(node, consumedState, scopedParams, found)\n : createMatchError(node, [], remainingParams)\n}\n","/**\n * Like encodeURIComponent, but supports a custom set of unescaped characters.\n * @param uriComponent - A value representing an unencoded URI component.\n * @param unescaped - a string containing characters to not escape\n */\nexport function encodeURIComponentExcept(\n uriComponent: string | number | boolean,\n unescaped: string,\n): string {\n const chars = [...String(uriComponent)]\n let res = ''\n for (let i = 0; i < chars.length; i++) {\n const char = chars[i]\n if (unescaped.includes(char)) {\n res += char\n } else {\n res += encodeURIComponent(char)\n }\n }\n return res\n}\n","import Debug from 'debug'\n\nexport const debug = Debug('state-router')\n","import {_findMatchingRoutes} from './_findMatchingRoutes'\nimport {encodeURIComponentExcept} from './encodeURIComponentExcept'\nimport {type InternalSearchParam, type MatchOk, type RouterNode, type RouterState} from './types'\nimport {debug} from './utils/debug'\n\n/** @internal */\nexport function _resolvePathFromState(node: RouterNode, _state: RouterState): string {\n debug('Resolving path from state %o', _state)\n\n const match = _findMatchingRoutes(node, _state)\n if (match.type === 'error') {\n const unmappable = match.unmappableStateKeys\n if (unmappable.length > 0) {\n throw new Error(\n `Unable to find matching route for state. Could not map the following state key${\n unmappable.length == 1 ? '' : 's'\n } to a valid url: ${unmappable.map(quote).join(', ')}`,\n )\n }\n const missingKeys = match.missingKeys\n throw new Error(\n `Unable to find matching route for state. State object is missing the following key${\n missingKeys.length == 1 ? '' : 's'\n } defined in route: ${missingKeys.map(quote).join(', ')}`,\n )\n }\n\n const {path, searchParams} = pathFromMatchResult(match)\n\n const search = searchParams.length > 0 ? encodeParams(searchParams) : ''\n\n return `/${path.join('/')}${search ? `?${search}` : ''}`\n}\n\nfunction bracketify(value: string): string {\n return `[${value}]`\n}\n\nfunction encodeParams(params: InternalSearchParam[]): string {\n return params\n .flatMap(([key, value]) => {\n if (value === undefined) {\n return []\n }\n return [encodeSearchParamKey(serializeScopedPath(key)), encodeSearchParamValue(value)].join(\n '=',\n )\n })\n .join('&')\n}\n\nfunction serializeScopedPath(scopedPath: string[]): string {\n const [head, ...tail] = scopedPath\n\n return tail.length > 0 ? [head, ...tail.map(bracketify)].join('') : head\n}\n\nfunction encodeSearchParamValue(value: string): string {\n return encodeURIComponentExcept(value, '/')\n}\n\nfunction encodeSearchParamKey(value: string): string {\n return encodeURIComponentExcept(value, '[]')\n}\n\nfunction pathFromMatchResult(match: MatchOk): {\n path: string[]\n searchParams: InternalSearchParam[]\n} {\n const matchedState = match.matchedState\n\n const base = match.node.route.segments.map((segment) => {\n if (segment.type === 'dir') {\n return segment.name\n }\n\n const transform = match.node.transform && match.node.transform[segment.name]\n\n return transform\n ? transform.toPath(matchedState[segment.name] as any)\n : matchedState[segment.name]\n })\n\n const childMatch = match.child ? pathFromMatchResult(match.child) : undefined\n\n const searchParams = childMatch?.searchParams\n ? [...match.searchParams, ...childMatch.searchParams]\n : match.searchParams\n\n return {\n searchParams: addNodeScope(match.node, searchParams),\n path: [...(base || []), ...(childMatch?.path || [])],\n }\n}\n\nfunction addNodeScope(\n node: RouterNode,\n searchParams: InternalSearchParam[],\n): InternalSearchParam[] {\n const scope = node.scope\n return scope && !node.__unsafe_disableScopedSearchParams\n ? searchParams.map(([namespaces, value]) => [[scope, ...namespaces], value])\n : searchParams\n}\n\nfunction quote(value: string): string {\n return `\"${value}\"`\n}\n","import {type InternalSearchParam} from '../types'\n\nexport function parseScopedParams(params: [key: string, value: string][]): InternalSearchParam[] {\n return params.map(([key, value]) => [parse(key), value])\n}\n\nconst OPEN = 1\nconst CLOSED = 0\n\nfunction parse(str: string) {\n const result = []\n let i = 0\n let state = CLOSED\n while (i < str.length) {\n const nextBracketIdx = str.indexOf('[', i)\n if (nextBracketIdx === -1) {\n result.push(str.slice(i, str.length))\n break\n }\n if (state === OPEN) {\n throw new Error('Nested brackets not supported')\n }\n state = OPEN\n if (nextBracketIdx > i) {\n result.push(str.slice(i, nextBracketIdx))\n i = nextBracketIdx\n }\n\n const nextClosing = str.indexOf(']', nextBracketIdx)\n if (nextClosing === -1) {\n if (state === OPEN) {\n throw new Error('Unclosed bracket')\n }\n break\n }\n state = CLOSED\n result.push(str.slice(i + 1, nextClosing))\n i = nextClosing + 1\n }\n return result\n}\n","import {\n type InternalSearchParam,\n type RouterNode,\n type RouterState,\n type SearchParam,\n} from './types'\nimport {arrayify} from './utils/arrayify'\nimport {debug} from './utils/debug'\nimport {parseScopedParams} from './utils/parseScopedParams'\n\nfunction matchPath(\n node: RouterNode,\n path: string,\n searchParams: InternalSearchParam[],\n): RouterState | null {\n const parts = path.split('/').filter(Boolean)\n const segmentsLength = node.route.segments.length\n\n if (parts.length < segmentsLength) {\n return null\n }\n\n const state: RouterState = {}\n const isMatching = node.route.segments.every((segment, i) => {\n if (segment.type === 'dir') {\n return segment.name === parts[i]\n }\n\n const transform = node.transform && node.transform[segment.name]\n\n state[segment.name] = transform ? transform.toState(parts[i]) : parts[i]\n\n return true\n })\n\n if (!isMatching) {\n return null\n }\n\n const rest = parts.slice(segmentsLength)\n\n let childState: RouterState | null = null\n\n const children =\n typeof node.children === 'function' ? arrayify(node.children(state)) : node.children\n\n const unscopedParams = removeScope(node.scope, searchParams)\n\n children.some((childNode) => {\n if (childNode) {\n const childParams = childNode.scope\n ? unscopedParams.filter(([namespaces]) => childNode.scope === namespaces[0])\n : unscopedParams\n\n childState = matchPath(childNode, rest.join('/'), childParams)\n return childState\n }\n return undefined\n })\n\n if (rest.length > 0 && !childState) {\n return null\n }\n\n const selfParams = unscopedParams.flatMap(([namespace, value]): SearchParam[] => {\n return namespace.length === 1 ? [[namespace[0], value]] : []\n })\n\n const mergedState: RouterState = {\n ...state,\n ...(childState || {}),\n ...(selfParams.length > 0 ? {_searchParams: selfParams} : {}),\n }\n\n return node.scope ? {[node.scope]: mergedState} : mergedState\n}\n\n/**\n * @internal\n */\nexport function _resolveStateFromPath(node: RouterNode, path: string): Record<string, any> | null {\n debug('resolving state from path %s', path)\n\n const [pathname, search] = path.split('?')\n const urlSearchParams = Array.from(new URLSearchParams(search).entries())\n\n const pathMatch = matchPath(node, pathname, parseScopedParams(urlSearchParams))\n\n debug('resolved: %o', pathMatch || null)\n\n return pathMatch || null\n}\n\nfunction removeScope(\n scope: string | undefined,\n searchParams: InternalSearchParam[],\n): InternalSearchParam[] {\n return scope\n ? searchParams.map(([namespaces, value]) => [\n namespaces[0] === scope ? namespaces.slice(1) : namespaces,\n value,\n ])\n : searchParams\n}\n","/**\n * `atob()` and `btoa()` do not support Unicode characters outside of the Latin1 range,\n * but we obviously want to support the full range of Unicode characters in our router.\n *\n * Additionally, we would prefer not to use characters like `+` and `=` in URLs, as they\n * have specific meanings there and may be misinterpreted. Thus, this uses base64url instead\n * of the more common base64.\n */\n\n/**\n * Encodes a string as base64url\n *\n * @param str - String to encode\n * @returns Encoded string\n * @internal\n */\nexport function encodeBase64Url(str: string): string {\n return encodeBase64(str).replace(/\\//g, '_').replace(/\\+/g, '-').replace(/[=]+$/, '')\n}\n\n/**\n * Decodes a base64url-encoded string\n *\n * @param str - String to decode\n * @returns Decoded string\n * @internal\n */\nexport function decodeBase64Url(str: string): string {\n return decodeBase64(str.replace(/-/g, '+').replace(/_/g, '/'))\n}\n\nfunction percentToByte(p: string) {\n return String.fromCharCode(parseInt(p.slice(1), 16))\n}\n\nfunction encodeBase64(str: string): string {\n return btoa(encodeURIComponent(str).replace(/%[0-9A-F]{2}/g, percentToByte))\n}\n\nfunction byteToPercent(b: string) {\n return `%${`00${b.charCodeAt(0).toString(16)}`.slice(-2)}`\n}\n\nfunction decodeBase64(str: string): string {\n return decodeURIComponent(Array.from(atob(str), byteToPercent).join(''))\n}\n","import {decodeBase64Url, encodeBase64Url} from './base64url'\n\n/**\n * Decode a path segment containing JSON parameters\n *\n * @param pathSegment - The path segment to decode\n * @returns The decoded parameters\n * @internal\n * @hidden\n */\nexport function decodeJsonParams(pathSegment = ''): Record<string, unknown> {\n const segment = decodeURIComponent(pathSegment)\n\n if (!segment) {\n return {}\n }\n\n // Because of high-unicode characters (eg outside of the latin1 range), we prefer base64url\n // since it also removes characters we'd rather not put in our URLs (eg '=' and '/')\n try {\n return JSON.parse(decodeBase64Url(segment))\n } catch (err) {\n // Fall-through: previously we used plain base64 encoding instead of base64url\n }\n\n try {\n return JSON.parse(atob(segment))\n } catch (err) {\n // Fall-through: before _that_, we used plain URI encoding\n }\n\n try {\n return JSON.parse(segment)\n } catch (err) {\n console.warn('Failed to parse JSON parameters')\n }\n\n return {}\n}\n\n/**\n * Encodes a set of parameters as a path segment, using base64url\n *\n * @param params - Paramters to encode\n * @returns The encoded parameters as a path segment\n * @internal\n * @hidden\n */\nexport function encodeJsonParams(params?: Record<string, unknown>): string {\n return params ? encodeBase64Url(JSON.stringify(params)) : ''\n}\n","export function decodeParams(pathSegment: string): Record<string, string> {\n return pathSegment.split(';').reduce<Record<string, string>>((params, pair) => {\n const [key, value] = pair.split('=')\n\n params[decodeURIComponent(key)] = decodeURIComponent(value)\n\n return params\n }, {})\n}\n\nexport function encodeParams(params: Record<string, string | undefined | null>): string {\n return Object.entries(params)\n .filter(([, value]) => value !== undefined && value !== null)\n .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value as string)}`)\n .join(';')\n}\n","import {_parseRoute} from './_parseRoute'\nimport {_resolvePathFromState} from './_resolvePathFromState'\nimport {_resolveStateFromPath} from './_resolveStateFromPath'\nimport {type RouteChildren, type Router, type RouteTransform} from './types'\nimport {decodeJsonParams, encodeJsonParams} from './utils/jsonParamsEncoding'\nimport {decodeParams, encodeParams} from './utils/paramsEncoding'\n\n/**\n * @public\n */\nexport interface RouteNodeOptions {\n /**\n * The path of the route node.\n */\n path?: string\n /**\n * The children of the route node. See {@link RouteChildren}\n */\n children?: RouteChildren\n /**\n * The transforms to apply to the route node. See {@link RouteTransform}\n */\n transform?: {\n [key: string]: RouteTransform<any>\n }\n /**\n * The scope of the route node.\n */\n scope?: string\n\n /**\n * Optionally disable scoping of search params\n * Scoped search params will be represented as scope[param]=value in the url\n * Disabling this will still scope search params based on any parent scope unless the parent scope also has disabled search params scoping\n * Caution: enabling this can cause conflicts with multiple plugins defining search params with the same name\n */\n __unsafe_disableScopedSearchParams?: boolean\n}\n\n/**\n * Interface for the {@link route} object.\n *\n * @public\n */\nexport interface RouteObject {\n /**\n * Creates a new router.\n * Returns {@link Router}\n * See {@link RouteNodeOptions} and {@link RouteChildren}\n */\n create: (\n routeOrOpts: RouteNodeOptions | string,\n childrenOrOpts?: RouteNodeOptions | RouteChildren | null,\n children?: Router | RouteChildren,\n ) => Router\n\n /**\n * Creates a new router for handling intents.\n * Returns {@link Router}\n */\n intents: (base: string) => Router\n\n /**\n * Creates a new router scope.\n * Returns {@link Router}\n */\n scope(\n scopeName: string,\n routeOrOpts: RouteNodeOptions | string,\n childrenOrOpts?: RouteNodeOptions | RouteChildren | null,\n children?: Router | RouteChildren,\n ): Router\n}\n\n/**\n * An object containing functions for creating routers and router scopes.\n * See {@link RouteObject}\n *\n * @public\n *\n * @example\n * ```ts\n * const router = route.create({\n * path: \"/foo\",\n * children: [\n * route.create({\n * path: \"/bar\",\n * children: [\n * route.create({\n * path: \"/:baz\",\n * transform: {\n * baz: {\n * toState: (id) => ({ id }),\n * toPath: (state) => state.id,\n * },\n * },\n * }),\n * ],\n * }),\n * ],\n * });\n * ```\n */\nexport const route: RouteObject = {\n create: (routeOrOpts, childrenOrOpts, children) =>\n _createNode(normalizeArgs(routeOrOpts, childrenOrOpts, children)),\n intents: (base: string) => {\n const basePath = normalize(base).join('/')\n\n return route.create(`${basePath}/:intent`, [\n route.create(\n ':params',\n {\n transform: {\n params: {\n toState: decodeParams,\n toPath: encodeParams,\n },\n },\n },\n [\n route.create(':payload', {\n transform: {\n payload: {\n toState: decodeJsonParams,\n toPath: encodeJsonParams,\n },\n },\n }),\n ],\n ),\n ])\n },\n scope(\n scopeName: string,\n routeOrOpts: RouteNodeOptions | string,\n childrenOrOpts?: RouteNodeOptions | RouteChildren | null,\n children?: Router | RouteChildren,\n ) {\n const options = normalizeArgs(routeOrOpts, childrenOrOpts, children)\n\n return _createNode({\n ...options,\n scope: scopeName,\n })\n },\n}\n\nfunction normalizeChildren(children: any): RouteChildren {\n if (Array.isArray(children) || typeof children === 'function') {\n return children\n }\n return children ? [children] : []\n}\n\nfunction isRoute(val?: RouteNodeOptions | Router | RouteChildren) {\n return val && '_isRoute' in val\n}\n\nfunction normalizeArgs(...args: any[]): RouteNodeOptions\nfunction normalizeArgs(\n path: string | RouteNodeOptions,\n childrenOrOpts?: RouteNodeOptions | Router | RouteChildren,\n children?: Router | RouteChildren,\n): RouteNodeOptions {\n if (typeof path === 'object') {\n return path\n }\n\n if (\n Array.isArray(childrenOrOpts) ||\n typeof childrenOrOpts === 'function' ||\n isRoute(childrenOrOpts)\n ) {\n return {path, children: normalizeChildren(childrenOrOpts)}\n }\n\n if (children) {\n return {path, ...childrenOrOpts, children: normalizeChildren(children)}\n }\n\n return {path, ...childrenOrOpts}\n}\n\nfunction normalize(...paths: string[]) {\n return paths.reduce<string[]>((acc, path) => acc.concat(path.split('/')), []).filter(Boolean)\n}\n\nconst EMPTY_STATE = {}\n\nfunction isRoot(pathname: string): boolean {\n // it is the root if every segment is an empty string\n return pathname.split('/').every((segment) => !segment)\n}\n\n/**\n * @internal\n * @param options - Route node options\n */\nexport function _createNode(options: RouteNodeOptions): Router {\n // eslint-disable-next-line camelcase\n const {path, scope, transform, children, __unsafe_disableScopedSearchParams} = options\n\n if (!path) {\n throw new TypeError('Missing path')\n }\n\n const parsedRoute = _parseRoute(path)\n\n return {\n _isRoute: true, // todo: make a Router class instead\n scope,\n // eslint-disable-next-line camelcase\n __unsafe_disableScopedSearchParams,\n route: parsedRoute,\n children: children || [],\n transform,\n encode(state) {\n return _resolvePathFromState(this, state)\n },\n decode(_path) {\n return _resolveStateFromPath(this, _path)\n },\n isRoot: isRoot,\n isNotFound(pathname: string): boolean {\n return this.decode(pathname) === null\n },\n getBasePath(): string {\n return this.encode(EMPTY_STATE)\n },\n getRedirectBase(pathname: string): string | null {\n if (isRoot(pathname)) {\n const basePath = this.getBasePath()\n // Check if basepath is something different than given\n if (pathname !== basePath) {\n return basePath\n }\n }\n return null\n },\n }\n}\n","export const STICKY_PARAMS: string[] = ['perspective', 'excludedPerspectives']\n","import {fromPairs, partition, toPairs} from 'lodash'\nimport {type ReactNode, useCallback, useMemo} from 'react'\nimport {RouterContext} from 'sanity/_singletons'\n\nimport {STICKY_PARAMS} from './stickyParams'\nimport {\n type IntentParameters,\n type NavigateOptions,\n type Router,\n type RouterContextValue,\n type RouterState,\n type SearchParam,\n} from './types'\n\n/**\n * The props for the {@link RouterProvider} component.\n *\n * @public\n */\nexport interface RouterProviderProps {\n /**\n * A function that is called when the user navigates to a new path.\n * Takes an object containing the path to navigate to and an optional `replace` flag.\n */\n onNavigate: (opts: {path: string; replace?: boolean}) => void\n /**\n * The router object that is used to handle navigation. See {@link Router}\n */\n router: Router\n /**\n * The current state of the router. See {@link RouterState}\n */\n state: RouterState\n /**\n * The child elements to render.\n */\n children: ReactNode\n}\n\n/**\n * @example\n * ```tsx\n * import {\n * NavigateOptions,\n * route,\n * RouterProvider,\n * RouterState\n * } from 'sanity'\n * import {useCallback, useMemo} from 'react'\n *\n * function Root() {\n * const [router] = useState(() => route.create('/'))\n *\n * const [state, setState] = useState<RouterState>({})\n *\n * const handleNavigate = useCallback((\n * path: string,\n * options?: NavigateOptions\n * ) => {\n * console.log('navigate', path, options)\n *\n * setState(router.decode(path))\n * }, [router])\n *\n * return (\n * <RouterProvider\n * onNavigate={handleNavigate}\n * router={router}\n * state={state}\n * >\n * <div>This is a routed application</div>\n * </RouterProvider>\n * )\n * }\n * ```\n *\n * @param props - The component props.\n * {@link RouterProviderProps}\n *\n * @public\n */\nexport function RouterProvider(props: RouterProviderProps): React.JSX.Element {\n const {onNavigate, router: routerProp, state} = props\n\n const resolveIntentLink = useCallback(\n (intentName: string, parameters?: IntentParameters, _searchParams?: SearchParam[]): string => {\n const [params, payload] = Array.isArray(parameters) ? parameters : [parameters]\n return routerProp.encode({\n intent: intentName,\n params,\n payload,\n _searchParams: toPairs({\n ...fromPairs((state._searchParams ?? []).filter(([key]) => STICKY_PARAMS.includes(key))),\n ...fromPairs(_searchParams ?? []),\n }),\n })\n },\n [routerProp, state._searchParams],\n )\n\n const resolvePathFromState = useCallback(\n (nextState: RouterState): string => {\n const currentStateParams = state._searchParams || []\n const nextStateParams = nextState._searchParams || []\n const nextParams = STICKY_PARAMS.reduce((acc, param) => {\n return replaceStickyParam(\n acc,\n param,\n findParam(nextStateParams, param) ?? findParam(currentStateParams, param),\n )\n }, nextStateParams || [])\n\n return routerProp.encode({\n ...nextState,\n _searchParams: nextParams,\n })\n },\n [routerProp, state],\n )\n\n const handleNavigateStickyParams = useCallback(\n (params: Record<string, string | undefined>, options: NavigateOptions = {}) => {\n const hasInvalidParam = Object.keys(params).some((param) => !STICKY_PARAMS.includes(param))\n if (hasInvalidParam) {\n throw new Error('One or more parameters are not sticky')\n }\n\n const allNextSearchParams = [...(state._searchParams || []), ...Object.entries(params)]\n\n const searchParams = Object.entries(\n allNextSearchParams.reduce<SearchParam>(\n (deduppedSearchParams, [key, value]) => ({\n ...deduppedSearchParams,\n [key]: value,\n }),\n [] as unknown as SearchParam,\n ),\n )\n\n // Trigger the navigation with updated _searchParams\n onNavigate({\n path: resolvePathFromState({\n ...state,\n _searchParams: searchParams,\n }),\n replace: options.replace,\n })\n },\n [onNavigate, resolvePathFromState, state],\n )\n\n const navigate = useCallback(\n (nextState: Record<string, unknown>, options: NavigateOptions = {}) => {\n onNavigate({path: resolvePathFromState(nextState), replace: options.replace})\n },\n [onNavigate, resolvePathFromState],\n )\n\n const navigateIntent = useCallback(\n (intentName: string, params?: IntentParameters, options: NavigateOptions = {}) => {\n onNavigate({path: resolveIntentLink(intentName, params), replace: options.replace})\n },\n [onNavigate, resolveIntentLink],\n )\n\n const [routerState, stickyParams] = useMemo(() => {\n if (!state._searchParams) {\n return [state, null]\n }\n const {_searchParams, ...rest} = state\n const [sticky, restParams] = partition(_searchParams, ([key]) => STICKY_PARAMS.includes(key))\n if (sticky.length === 0) {\n return [state, null]\n }\n return [{...rest, _searchParams: restParams}, sticky]\n }, [state])\n\n const stickyParamsByName = useMemo(() => Object.fromEntries(stickyParams || []), [stickyParams])\n\n const router: RouterContextValue = useMemo(\n () => ({\n navigate,\n navigateIntent,\n navigateStickyParams: handleNavigateStickyParams,\n navigateUrl: onNavigate,\n resolveIntentLink,\n resolvePathFromState,\n state: routerState,\n stickyParams: stickyParamsByName,\n }),\n [\n handleNavigateStickyParams,\n navigate,\n navigateIntent,\n onNavigate,\n resolveIntentLink,\n resolvePathFromState,\n routerState,\n stickyParamsByName,\n ],\n )\n\n return <RouterContext.Provider value={router}>{props.children}</RouterContext.Provider>\n}\n\nfunction replaceStickyParam(\n current: SearchParam[],\n param: string,\n value: string | undefined,\n): SearchParam[] {\n const filtered = current.filter(([key]) => key !== param)\n return value === undefined || value == '' ? filtered : [...filtered, [param, value]]\n}\n\nfunction findParam(searchParams: SearchParam[], key: string): string | undefined {\n const entry = searchParams.find(([k]) => k === key)\n return entry ? entry[1] : undefined\n}\n","/* eslint-disable camelcase */\nimport {type ReactNode, useCallback, useEffect, useMemo, useRef} from 'react'\nimport {RouterContext} from 'sanity/_singletons'\n\nimport {type NavigateOptions, type RouterContextValue, type RouterState} from './types'\nimport {useRouter} from './useRouter'\n\nfunction addScope(\n routerState: Record<string, any>,\n scope: string,\n scopedState: Record<string, any>,\n) {\n return (\n scopedState && {\n ...routerState,\n [scope]: scopedState,\n }\n )\n}\n\n/**\n * Props for the {@link RouteScope} component.\n *\n * @public\n */\nexport interface RouteScopeProps {\n /**\n * The scope for the nested routes.\n */\n scope: string\n\n /**\n * Optionally disable scoping of search params\n * Scoped search params will be represented as scope[param]=value in the url\n * Disabling this will still scope search params based on any parent scope unless the parent scope also has disabled search params scoping\n * Caution: enabling this can cause conflicts with multiple plugins defining search params with the same name\n */\n __unsafe_disableScopedSearchParams?: boolean\n /**\n * The content to display inside the route scope.\n */\n children: ReactNode\n}\n\n/**\n * A component that wraps a scoped router context, so that calls to\n * `useRouter()`, `useRouterState()`, and usage of `<StateLink />`\n * will be prefixed with the scope segment.\n *\n * @public\n *\n * @param props - Props to pass `RouteScope` component.\n * See {@link RouteScopeProps}\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * return (\n * <RouteScope scope=\"foo\">\n * <StateLink state={{bar: 'baz'}}>Link</StateLink>\n * </RouteScope>\n * )\n * }\n * ```\n */\nexport const RouteScope = function RouteScope(props: RouteScopeProps): React.JSX.Element {\n const {children, scope, __unsafe_disableScopedSearchParams} = props\n const parentRouter = useRouter()\n const {resolvePathFromState: parent_resolvePathFromState, navigate: parent_navigate} =\n parentRouter\n\n const parentStateRef = useRef(parentRouter.state)\n useEffect(() => {\n parentStateRef.current = parentRouter.state\n }, [parentRouter.state])\n\n const resolveNextParentState = useCallback(\n (_nextState: RouterState) => {\n const {_searchParams, ...nextState} = _nextState\n const nextParentState = addScope(parentStateRef.current, scope, nextState)\n if (__unsafe_disableScopedSearchParams) {\n // Move search params to parent scope\n nextParentState._searchParams = _searchParams\n } else {\n nextParentState[scope]._searchParams = _searchParams\n }\n return nextParentState\n },\n [scope, __unsafe_disableScopedSearchParams],\n )\n\n const resolvePathFromState = useCallback(\n (nextState: RouterState) => parent_resolvePathFromState(resolveNextParentState(nextState)),\n [parent_resolvePathFromState, resolveNextParentState],\n )\n\n const navigate = useCallback(\n (nextState: RouterState, options?: NavigateOptions) =>\n parent_navigate(resolveNextParentState(nextState), options),\n [parent_navigate, resolveNextParentState],\n )\n\n const childRouter: RouterContextValue = useMemo(() => {\n const parentState = parentRouter.state\n const childState = {...(parentState[scope] || {})} as RouterState\n if (__unsafe_disableScopedSearchParams) {\n childState._searchParams = parentState._searchParams\n }\n return {\n ...parentRouter,\n navigate,\n resolvePathFromState,\n state: childState,\n }\n }, [scope, parentRouter, navigate, resolvePathFromState, __unsafe_disableScopedSearchParams])\n\n return <RouterContext.Provider value={childRouter}>{children}</RouterContext.Provider>\n}\nRouteScope.displayName = 'RouteScope'\n","import {type MouseEventHandler, useMemo} from 'react'\n\nimport {useLink} from './useLink'\nimport {useRouter} from './useRouter'\n\nconst EMPTY_STATE = {}\n\n/**\n * @public\n */\nexport interface UseStateLinkOptions {\n /**\n * The click event handler for the link.\n */\n onClick?: MouseEventHandler<HTMLElement>\n /**\n * Whether to replace the current history entry instead of adding a new one.\n */\n replace?: boolean\n /**\n * The state object to update when the link is clicked.\n */\n state?: Record<string, unknown>\n /**\n * The target window or frame to open the linked document in.\n */\n target?: string\n /**\n * Whether to navigate to the index page of the linked document.\n */\n toIndex?: boolean\n}\n\n/**\n * @public\n *\n * @param options - Options to use for the link\n * {@link UseStateLinkOptions}\n *\n * @returns - An object with `onClick` and `href` props to use for the link\n *\n * @example\n * ```tsx\n * const {onClick, href} = useStateLink({state: {foo: 'bar'}})\n * ```\n */\nexport function useStateLink(options: UseStateLinkOptions): {\n onClick: MouseEventHandler<HTMLElement>\n href: string\n} {\n const {onClick: onClickProp, replace, state, target, toIndex = false} = options\n\n if (state && toIndex) {\n throw new Error('Passing both `state` and `toIndex={true}` as props to StateLink is invalid')\n }\n\n if (!state && !toIndex) {\n // eslint-disable-next-line no-console\n console.error(\n new Error(\n 'No state passed to StateLink. If you want to link to an empty state, its better to use the the `toIndex` property',\n ),\n )\n }\n\n const {resolvePathFromState} = useRouter()\n\n const href = useMemo(\n () => resolvePathFromState(toIndex ? EMPTY_STATE : state || EMPTY_STATE),\n [resolvePathFromState, state, toIndex],\n )\n\n const {onClick} = useLink({href, onClick: onClickProp, replace, target})\n\n return {onClick, href}\n}\n","import {type ForwardedRef, forwardRef, type HTMLProps} from 'react'\n\nimport {useStateLink} from './useStateLink'\n\n/**\n * Props for the {@link StateLink} component.\n *\n * @public\n */\nexport interface StateLinkProps {\n /**\n * Whether to replace the current history entry instead of adding a new one.\n */\n replace?: boolean\n /**\n * The state to associate with the link.\n */\n state?: Record<string, unknown>\n /**\n * Whether to navigate to the index page of the app.\n */\n toIndex?: boolean\n}\n\n/**\n * A component that creates a link that updates the URL state.\n *\n * @remarks\n * This component uses the {@link useStateLink} hook\n * to create a link that updates the URL state.\n *\n * @param props - Props to pass to the `StateLink` component.\n * See {@link StateLinkProps}.\n *\n * @public\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * return <StateLink state={{foo: 'bar'}}>Link</StateLink>\n * }\n * ```\n */\nexport const StateLink = forwardRef(function StateLink(\n props: StateLinkProps & Omit<HTMLProps<HTMLAnchorElement>, 'href'>,\n ref: ForwardedRef<HTMLAnchorElement>,\n) {\n const {onClick: onClickProp, replace, state, target, toIndex = false, ...restProps} = props\n const {onClick, href} = useStateLink({\n onClick: onClickProp,\n replace,\n state,\n target,\n toIndex,\n })\n\n return <a {...restProps} href={href} onClick={onClick} ref={ref} />\n})\n","import {identity} from 'lodash'\nimport {useMemo} from 'react'\n\nimport {type RouterState} from './types'\nimport {useRouter} from './useRouter'\n\n/**\n * @public\n *\n * @param selector - A selector function that receives the router state and returns a value. See {@link RouterState}\n *\n * @returns The value returned by the selector function or RouterState. See {@link RouterState}\n *\n * @example\n * ```tsx\n * const {activeTool} = useRouterState(state => state.tool)\n * ```\n */\nexport function useRouterState<R = RouterState>(selector: (routerState: RouterState) => R): R\n\n/**\n * @public\n *\n * @returns The router state. See {@link RouterState}\n *\n * @example\n * ```tsx\n * const routerState = useRouterState()\n * ```\n */\nexport function useRouterState(): RouterState\n\n/**\n * @public\n */\nexport function useRouterState(\n selector: (routerState: RouterState) => unknown = identity,\n): unknown {\n const {state} = useRouter()\n return useMemo(() => selector(state), [selector, state])\n}\n","import {type ComponentType, type FunctionComponent} from 'react'\n\nimport {type RouterContextValue} from './types'\nimport {useRouter} from './useRouter'\n\n/**\n * A higher-order component that injects the `router` object from the `useRouter` hook\n * into the props of the wrapped component.\n *\n * @internal\n * @deprecated - Use the `useRouter` hook instead.\n *\n * @param Component - The component to wrap.\n *\n * @returns The wrapped component.\n *\n * @example\n * ```tsx\n * function MyComponent(props) {\n * return <div>{props.router.state.myParam}</div>\n * }\n *\n * export default withRouter(MyComponent)\n * ```\n */\nexport function withRouter<Props extends {router: RouterContextValue}>(\n Component: ComponentType<Props>,\n): FunctionComponent<Omit<Props, 'router'>> {\n function WithRouter(props: Omit<Props, 'router'>) {\n const router = useRouter()\n\n return <Component {...(props as Props)} router={router} />\n }\n\n WithRouter.displayName = `withRouter(${Component.displayName || Component.name})`\n\n return WithRouter\n}\n\n/**\n * @internal\n * @deprecated - Use the `useRouter` hook instead.\n */\nexport interface WithRouterProps {\n /**\n * The `router` object from the `useRouter` hook.\n * {@link RouterContextValue}\n */\n router: RouterContextValue\n /**\n * A function that renders the wrapped component with the `router` object as a parameter.\n */\n children: (router: RouterContextValue) => React.JSX.Element\n}\n\n/**\n * A higher-order component that injects the router object into its child component.\n *\n * @internal\n * @deprecated - Use the `useRouter` hook instead.\n *\n * @returns The rendered component.\n *\n * @example\n * ```tsx\n * function MyComponent(props: {router: Router}) {\n * const {location} = props.router\n * const {pathname} = location\n * return <p>The current path is: {pathname}</p>\n * }\n *\n * function App() {\n * return (\n * <Router>\n * <WithRouter>\n * {router => <MyComponent router={router} />}\n * </WithRouter>\n * </Router>\n * )\n * }\n * ```\n */\nexport const WithRouter = withRouter((props: WithRouterProps) => props.children(props.router))\n"],"names":["useRouter","router","useContext","RouterContext","Error","isLeftClickEvent","event","button","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","useLink","options","$","_c","onClick","onClickProp","href","target","replace","t0","undefined","navigateUrl","t1","isDefaultPrevented","preventDefault","path","t2","useIntentLink","intent","params","searchParams","resolveIntentLink","t3","IntentLink","forwardRef","props","ref","restProps","Link","VALID_PARAM_SEGMENT","createSegment","segment","startsWith","paramName","slice","test","addendum","includes","error","type","name","_parseRoute","route","pathname","split","segments","map","filter","Boolean","raw","arrayify","val","Array","isArray","isRecord","value","isPlainObject","createMatchError","node","missingKeys","unmappableStateKeys","createMatchOk","matchedState","child","_findMatchingRoutes","_state","scopedState","scope","_searchParams","state","requiredParams","seg","stateKeys","Object","keys","consumedParams","intersection","missingParams","difference","remainingParams","length","scopedParams","key","consumedState","pick","children","remainingState","found","childNode","find","res","encodeURIComponentExcept","uriComponent","unescaped","chars","String","i","char","encodeURIComponent","debug","Debug","_resolvePathFromState","match","unmappable","quote","join","pathFromMatchResult","search","encodeParams","bracketify","flatMap","encodeSearchParamKey","serializeScopedPath","encodeSearchParamValue","scopedPath","head","tail","base","transform","toPath","childMatch","addNodeScope","__unsafe_disableScopedSearchParams","namespaces","parseScopedParams","parse","OPEN","CLOSED","str","result","nextBracketIdx","indexOf","push","nextClosing","matchPath","parts","segmentsLength","every","toState","rest","childState","unscopedParams","removeScope","some","childParams","selfParams","namespace","mergedState","_resolveStateFromPath","urlSearchParams","from","URLSearchParams","entries","pathMatch","encodeBase64Url","encodeBase64","decodeBase64Url","decodeBase64","percentToByte","p","fromCharCode","parseInt","btoa","byteToPercent","b","charCodeAt","toString","decodeURIComponent","atob","decodeJsonParams","pathSegment","JSON","console","warn","encodeJsonParams","stringify","decodeParams","reduce","pair","create","routeOrOpts","childrenOrOpts","_createNode","normalizeArgs","intents","basePath","normalize","payload","scopeName","normalizeChildren","isRoute","paths","acc","concat","EMPTY_STATE","isRoot","TypeError","parsedRoute","_isRoute","encode","decode","_path","isNotFound","getBasePath","getRedirectBase","STICKY_PARAMS","RouterProvider","onNavigate","routerProp","useCallback","intentName","parameters","toPairs","fromPairs","resolvePathFromState","nextState","currentStateParams","nextStateParams","nextParams","param","replaceStickyParam","findParam","handleNavigateStickyParams","allNextSearchParams","deduppedSearchParams","navigate","navigateIntent","routerState","stickyParams","useMemo","sticky","restParams","partition","stickyParamsByName","fromEntries","navigateStickyParams","current","filtered","entry","k","addScope","RouteScope","parentRouter","parent_resolvePathFromState","parent_navigate","parentStateRef","useRef","useEffect","_nextState","nextParentState","resolveNextParentState","nextState_0","t4","nextState_1","t5","parentState","t6","t7","childRouter","t8","displayName","useStateLink","toIndex","StateLink","useRouterState","selector","identity","withRouter","Component","WithRouter","jsx"],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- import { q as j, t as y, w as p, j as A, h as P, l as T } from "./v4-C78sE4Gb.mjs";
2
- import { b as Z } from "./takeUntil-CgZP1bze.mjs";
3
- import { f as O, g as _, h as q } from "./Observable-wwWYwtkh.mjs";
4
- import { S as D } from "./Subject-DP0DoUP_.mjs";
5
- var F = {
6
- now: function() {
7
- return (F.delegate || Date).now();
8
- },
9
- delegate: void 0
10
- };
11
- function Y() {
12
- for (var e = [], r = 0; r < arguments.length; r++)
13
- e[r] = arguments[r];
14
- var a = j(e), n = y(e, 1 / 0), t = e;
15
- return t.length ? t.length === 1 ? p(t[0]) : A(n)(P(t, a)) : Z;
16
- }
17
- function k(e) {
18
- e === void 0 && (e = {});
19
- var r = e.connector, a = r === void 0 ? function() {
20
- return new D();
21
- } : r, n = e.resetOnError, t = n === void 0 ? !0 : n, h = e.resetOnComplete, S = h === void 0 ? !0 : h, C = e.resetOnRefCountZero, x = C === void 0 ? !0 : C;
22
- return function(E) {
23
- var s, u, f, d = 0, c = !1, i = !1, l = function() {
24
- u == null || u.unsubscribe(), u = void 0;
25
- }, b = function() {
26
- l(), s = f = void 0, c = i = !1;
27
- }, R = function() {
28
- var o = s;
29
- b(), o == null || o.unsubscribe();
30
- };
31
- return T(function(o, w) {
32
- d++, !i && !c && l();
33
- var m = f = f ?? a();
34
- w.add(function() {
35
- d--, d === 0 && !i && !c && (u = g(R, x));
36
- }), m.subscribe(w), !s && d > 0 && (s = new O({
37
- next: function(v) {
38
- return m.next(v);
39
- },
40
- error: function(v) {
41
- i = !0, l(), u = g(b, t, v), m.error(v);
42
- },
43
- complete: function() {
44
- c = !0, l(), u = g(b, S), m.complete();
45
- }
46
- }), p(o).subscribe(s));
47
- })(E);
48
- };
49
- }
50
- function g(e, r) {
51
- for (var a = [], n = 2; n < arguments.length; n++)
52
- a[n - 2] = arguments[n];
53
- if (r === !0) {
54
- e();
55
- return;
56
- }
57
- if (r !== !1) {
58
- var t = new O({
59
- next: function() {
60
- t.unsubscribe(), e();
61
- }
62
- });
63
- return p(r.apply(void 0, _([], q(a)))).subscribe(t);
64
- }
65
- }
66
- export {
67
- F as d,
68
- Y as m,
69
- k as s
70
- };
71
- //# sourceMappingURL=share-bcOpIdQz.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"share-bcOpIdQz.mjs","sources":["../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/observable/merge.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/share.js"],"sourcesContent":["export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var concurrent = popNumber(args, Infinity);\n var sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n//# sourceMappingURL=merge.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection;\n var resetConnection;\n var subject;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n var reset = function () {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n var onSubscriber = new SafeSubscriber({\n next: function () {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);\n}\n//# sourceMappingURL=share.js.map"],"names":["dateTimestampProvider","merge","args","_i","scheduler","popScheduler","concurrent","popNumber","sources","innerFrom","mergeAll","from","EMPTY","share","options","_a","connector","Subject","_b","resetOnError","_c","resetOnComplete","_d","resetOnRefCountZero","wrapperSource","connection","resetConnection","subject","refCount","hasCompleted","hasErrored","cancelReset","reset","resetAndUnsubscribe","conn","operate","source","subscriber","dest","handleReset","SafeSubscriber","value","err","on","onSubscriber","__spreadArray","__read"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,43 +0,0 @@
1
- import { _ } from "./Observable-wwWYwtkh.mjs";
2
- import { S as p } from "./Subject-DP0DoUP_.mjs";
3
- import { d as m, s as h } from "./share-bcOpIdQz.mjs";
4
- var l = function(r) {
5
- _(a, r);
6
- function a(i, t, n) {
7
- i === void 0 && (i = 1 / 0), t === void 0 && (t = 1 / 0), n === void 0 && (n = m);
8
- var e = r.call(this) || this;
9
- return e._bufferSize = i, e._windowTime = t, e._timestampProvider = n, e._buffer = [], e._infiniteTimeWindow = !0, e._infiniteTimeWindow = t === 1 / 0, e._bufferSize = Math.max(1, i), e._windowTime = Math.max(1, t), e;
10
- }
11
- return a.prototype.next = function(i) {
12
- var t = this, n = t.isStopped, e = t._buffer, f = t._infiniteTimeWindow, o = t._timestampProvider, s = t._windowTime;
13
- n || (e.push(i), !f && e.push(o.now() + s)), this._trimBuffer(), r.prototype.next.call(this, i);
14
- }, a.prototype._subscribe = function(i) {
15
- this._throwIfClosed(), this._trimBuffer();
16
- for (var t = this._innerSubscribe(i), n = this, e = n._infiniteTimeWindow, f = n._buffer, o = f.slice(), s = 0; s < o.length && !i.closed; s += e ? 1 : 2)
17
- i.next(o[s]);
18
- return this._checkFinalizedStatuses(i), t;
19
- }, a.prototype._trimBuffer = function() {
20
- var i = this, t = i._bufferSize, n = i._timestampProvider, e = i._buffer, f = i._infiniteTimeWindow, o = (f ? 1 : 2) * t;
21
- if (t < 1 / 0 && o < e.length && e.splice(0, e.length - o), !f) {
22
- for (var s = n.now(), u = 0, d = 1; d < e.length && e[d] <= s; d += 2)
23
- u = d;
24
- u && e.splice(0, u + 1);
25
- }
26
- }, a;
27
- }(p);
28
- function b(r, a, i) {
29
- var t, n, e, f, o = !1;
30
- return r && typeof r == "object" ? (t = r.bufferSize, f = t === void 0 ? 1 / 0 : t, n = r.windowTime, a = n === void 0 ? 1 / 0 : n, e = r.refCount, o = e === void 0 ? !1 : e, i = r.scheduler) : f = r ?? 1 / 0, h({
31
- connector: function() {
32
- return new l(f, a, i);
33
- },
34
- resetOnError: !0,
35
- resetOnComplete: !1,
36
- resetOnRefCountZero: o
37
- });
38
- }
39
- export {
40
- l as R,
41
- b as s
42
- };
43
- //# sourceMappingURL=shareReplay-Dj1O6fKV.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shareReplay-Dj1O6fKV.mjs","sources":["../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"],"sourcesContent":["import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: function () { return new ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n//# sourceMappingURL=shareReplay.js.map"],"names":["ReplaySubject","_super","__extends","_bufferSize","_windowTime","_timestampProvider","dateTimestampProvider","_this","value","_a","isStopped","_buffer","_infiniteTimeWindow","subscriber","subscription","copy","i","adjustedBufferSize","now","last","Subject","shareReplay","configOrBufferSize","windowTime","scheduler","_b","_c","bufferSize","refCount","share"],"mappings":";;;AAGG,IAACA,IAAiB,SAAUC,GAAQ;AACnC,EAAAC,EAAUF,GAAeC,CAAM;AAC/B,WAASD,EAAcG,GAAaC,GAAaC,GAAoB;AACjE,IAAIF,MAAgB,WAAUA,IAAc,QACxCC,MAAgB,WAAUA,IAAc,QACxCC,MAAuB,WAAUA,IAAqBC;AAC1D,QAAIC,IAAQN,EAAO,KAAK,IAAI,KAAK;AACjC,WAAAM,EAAM,cAAcJ,GACpBI,EAAM,cAAcH,GACpBG,EAAM,qBAAqBF,GAC3BE,EAAM,UAAU,CAAE,GAClBA,EAAM,sBAAsB,IAC5BA,EAAM,sBAAsBH,MAAgB,OAC5CG,EAAM,cAAc,KAAK,IAAI,GAAGJ,CAAW,GAC3CI,EAAM,cAAc,KAAK,IAAI,GAAGH,CAAW,GACpCG;AAAA,EACf;AACI,SAAAP,EAAc,UAAU,OAAO,SAAUQ,GAAO;AAC5C,QAAIC,IAAK,MAAMC,IAAYD,EAAG,WAAWE,IAAUF,EAAG,SAASG,IAAsBH,EAAG,qBAAqBJ,IAAqBI,EAAG,oBAAoBL,IAAcK,EAAG;AAC1K,IAAKC,MACDC,EAAQ,KAAKH,CAAK,GAClB,CAACI,KAAuBD,EAAQ,KAAKN,EAAmB,IAAK,IAAGD,CAAW,IAE/E,KAAK,YAAa,GAClBH,EAAO,UAAU,KAAK,KAAK,MAAMO,CAAK;AAAA,EACzC,GACDR,EAAc,UAAU,aAAa,SAAUa,GAAY;AACvD,SAAK,eAAgB,GACrB,KAAK,YAAa;AAIlB,aAHIC,IAAe,KAAK,gBAAgBD,CAAU,GAC9CJ,IAAK,MAAMG,IAAsBH,EAAG,qBAAqBE,IAAUF,EAAG,SACtEM,IAAOJ,EAAQ,MAAO,GACjBK,IAAI,GAAGA,IAAID,EAAK,UAAU,CAACF,EAAW,QAAQG,KAAKJ,IAAsB,IAAI;AAClF,MAAAC,EAAW,KAAKE,EAAKC,CAAC,CAAC;AAE3B,gBAAK,wBAAwBH,CAAU,GAChCC;AAAA,EACV,GACDd,EAAc,UAAU,cAAc,WAAY;AAC9C,QAAIS,IAAK,MAAMN,IAAcM,EAAG,aAAaJ,IAAqBI,EAAG,oBAAoBE,IAAUF,EAAG,SAASG,IAAsBH,EAAG,qBACpIQ,KAAsBL,IAAsB,IAAI,KAAKT;AAEzD,QADAA,IAAc,SAAYc,IAAqBN,EAAQ,UAAUA,EAAQ,OAAO,GAAGA,EAAQ,SAASM,CAAkB,GAClH,CAACL,GAAqB;AAGtB,eAFIM,IAAMb,EAAmB,IAAK,GAC9Bc,IAAO,GACFH,IAAI,GAAGA,IAAIL,EAAQ,UAAUA,EAAQK,CAAC,KAAKE,GAAKF,KAAK;AAC1D,QAAAG,IAAOH;AAEX,MAAAG,KAAQR,EAAQ,OAAO,GAAGQ,IAAO,CAAC;AAAA,IAC9C;AAAA,EACK,GACMnB;AACX,EAAEoB,CAAO;ACrDF,SAASC,EAAYC,GAAoBC,GAAYC,GAAW;AACnE,MAAIf,GAAIgB,GAAIC,GACRC,GACAC,IAAW;AACf,SAAIN,KAAsB,OAAOA,KAAuB,YACnDb,IAAKa,EAAmB,YAAYK,IAAalB,MAAO,SAAS,QAAWA,GAAIgB,IAAKH,EAAmB,YAAYC,IAAaE,MAAO,SAAS,QAAWA,GAAIC,IAAKJ,EAAmB,UAAUM,IAAWF,MAAO,SAAS,KAAQA,GAAIF,IAAYF,EAAmB,aAGzQK,IAAcL,KAAoF,OAE/FO,EAAM;AAAA,IACT,WAAW,WAAY;AAAE,aAAO,IAAI7B,EAAc2B,GAAYJ,GAAYC,CAAS;AAAA,IAAI;AAAA,IACvF,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,qBAAqBI;AAAA,EAC7B,CAAK;AACL;","x_google_ignoreList":[0,1]}