{"version":3,"sources":["jsdelivr-header.js","/npm/solid-router@0.3.3/dist/dom/index.cjs.js"],"names":[],"mappings":"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","file":"/npm/solid-router@0.3.3/dist/dom/index.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/solid-router@0.3.3/dist/dom/index.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar dom = require('solid-js/dom');\nvar history = require('history');\nvar solidJs = require('solid-js');\nvar pathToRegexp = require('path-to-regexp');\n\nconst _ck$ = [\"children\"];\nconst HistoryContext = solidJs.createContext();\nfunction ContextProvider(props) {\n  const history = props.history;\n  const [locationSignal, setLocationSignal] = solidJs.createSignal(history.location);\n  const locationHandler = history.listen(location => {\n    setLocationSignal(location);\n  });\n  solidJs.onCleanup(() => {\n    locationHandler();\n  });\n  return dom.createComponent(HistoryContext.Provider, {\n    value: {\n      history,\n      locationSignal\n    },\n    children: () => props.children\n  }, _ck$);\n}\n\nconst _ck$$1 = [\"children\", \"history\"];\nfunction BrowserContextProvider(props) {\n  return dom.createComponent(ContextProvider, {\n    history: () => history.createBrowserHistory(props.options),\n    children: () => props.children\n  }, _ck$$1);\n}\n\nfunction getArrayOf(array) {\n  if (Array.isArray(array)) {\n    return array;\n  }\n\n  if (!!array) {\n    return [array];\n  }\n\n  return [];\n}\n\nconst RouteContext = solidJs.createContext();\n\nfunction useLocationSignal() {\n  const {\n    locationSignal\n  } = solidJs.useContext(HistoryContext);\n  return locationSignal;\n}\n\nfunction useRouteMatchSignal(routeOrPath) {\n  const locationSignal = useLocationSignal();\n  let route;\n\n  if (typeof routeOrPath === 'string') {\n    route = {\n      path: routeOrPath,\n      options: {}\n    };\n  } else {\n    route = routeOrPath;\n  }\n\n  if (!route.path) {\n    route.path = '*';\n  }\n\n  const matcher = pathToRegexp.match(route.path, route.options);\n  return () => {\n    const pathname = locationSignal().pathname;\n    return matcher(pathname);\n  };\n}\n\nconst _ck$$2 = [\"children\"];\nfunction Router(props) {\n  const routes = getArrayOf(props.children);\n  const routeMatchSignals = routes.map(useRouteMatchSignal);\n  const useFallback = ('fallback' in props);\n  const evalConditions = solidJs.createMemo(() => {\n    return routeMatchSignals.reduce((result, matcher, index) => {\n      if (result.index === -1) {\n        const match = matcher();\n\n        if (match) {\n          return {\n            index,\n            params: match.params\n          };\n        }\n      }\n\n      return result;\n    }, {\n      index: -1,\n      params: {}\n    });\n  });\n  return solidJs.suspend(solidJs.createMemo(() => {\n    const {\n      index,\n      params\n    } = evalConditions();\n    return solidJs.sample(() => dom.createComponent(RouteContext.Provider, {\n      value: params,\n      children: () => index < 0 ? useFallback && props.fallback : routes[index].children\n    }, _ck$$2));\n  }));\n}\n\nfunction Route(props) {\n  return props;\n}\n\nfunction useHistory() {\n  const {\n    history\n  } = solidJs.useContext(HistoryContext);\n  return history;\n}\n\nconst _tmpl$ = dom.template(`<a></a>`, 2);\nfunction Link(props) {\n  const history = useHistory();\n\n  function handleClick(e) {\n    e.preventDefault();\n    history.push(props.href);\n  }\n\n  return (() => {\n    const _el$ = _tmpl$.cloneNode(true);\n\n    _el$.__click = handleClick;\n\n    dom.spread(_el$, props, false, false);\n\n    return _el$;\n  })();\n}\n\ndom.delegateEvents([\"click\"]);\n\nfunction Redirect(props) {\n  const history = useHistory();\n  solidJs.createEffect(() => {\n    history.push(props.href);\n  });\n  return props.children;\n}\n\nconst _tmpl$$1 = dom.template(`<a></a>`, 2);\nfunction NavLink({\n  href,\n  activeClass = '',\n  className = '',\n  children,\n  options,\n  ...props\n}) {\n  const history = useHistory();\n  const routeMatchSignal = useRouteMatchSignal({\n    path: href,\n    options\n  });\n\n  function handleClick(e) {\n    e.preventDefault();\n    history.push(href);\n  }\n\n  return solidJs.createMemo(() => {\n    const isMatched = !!routeMatchSignal();\n    return solidJs.sample(() => (() => {\n      const _el$ = _tmpl$$1.cloneNode(true);\n\n      _el$.__click = handleClick;\n      _el$.className = isMatched ? `${className} ${activeClass}` : className;\n\n      _el$.setAttribute(\"href\", href);\n\n      dom.spread(_el$, props, false, true);\n\n      dom.insert(_el$, children);\n\n      return _el$;\n    })());\n  });\n}\n\ndom.delegateEvents([\"click\"]);\n\nfunction useParams() {\n  return solidJs.useContext(RouteContext);\n}\n\nexports.ContextProvider = BrowserContextProvider;\nexports.Link = Link;\nexports.NavLink = NavLink;\nexports.Redirect = Redirect;\nexports.Route = Route;\nexports.Router = Router;\nexports.useHistory = useHistory;\nexports.useLocationSignal = useLocationSignal;\nexports.useParams = useParams;\nexports.useRouteMatchSignalCreator = useRouteMatchSignal;\n"]}