git-truck 0.0.0-04d9aa7
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/LICENSE +21 -0
- package/README.md +89 -0
- package/build/_assets/App-CCO27G3C.css +3 -0
- package/build/_assets/Chart-OOZGWRB3.css +26 -0
- package/build/_assets/index-ISZFG75V.css +52 -0
- package/build/_assets/truck-7F5JWBYT.gif +0 -0
- package/build/_assets/vars-SMWRLQRH.css +25 -0
- package/build/cli.js +217658 -0
- package/build/index.js +7392 -0
- package/cli.js +4 -0
- package/package.json +118 -0
- package/public/build/_assets/App-CCO27G3C.css +3 -0
- package/public/build/_assets/Chart-OOZGWRB3.css +26 -0
- package/public/build/_assets/index-ISZFG75V.css +52 -0
- package/public/build/_assets/truck-7F5JWBYT.gif +0 -0
- package/public/build/_assets/vars-SMWRLQRH.css +25 -0
- package/public/build/_shared/chunk-2BPXJFRU.js +67 -0
- package/public/build/_shared/chunk-2EHCKJST.js +1 -0
- package/public/build/_shared/chunk-EOMKHWUT.js +1 -0
- package/public/build/_shared/chunk-FTSBCPJ3.js +234 -0
- package/public/build/_shared/chunk-XMAWJ27N.js +26 -0
- package/public/build/entry.client-YPWZXPQ4.js +1 -0
- package/public/build/manifest-99EFEE04.js +1 -0
- package/public/build/root-2YIKZDZQ.js +1 -0
- package/public/build/routes/$repo.$-SDMDCNJB.js +350 -0
- package/public/build/routes/index-4NZQTZSQ.js +61 -0
- package/public/favicon.ico +0 -0
package/cli.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "git-truck",
|
|
3
|
+
"version": "0.0.0-04d9aa7",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Visualizing a Git repository",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "./build/index.js",
|
|
8
|
+
"bin": "./cli.js",
|
|
9
|
+
"files": [
|
|
10
|
+
"LICENSE",
|
|
11
|
+
"README.md",
|
|
12
|
+
"build/",
|
|
13
|
+
"public/",
|
|
14
|
+
"cli.js"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test": "jest --coverage",
|
|
18
|
+
"build": "remix build && npm run build-cli",
|
|
19
|
+
"build-cli": "node ./scripts/build-cli.js",
|
|
20
|
+
"dev": "remix dev",
|
|
21
|
+
"watch": "remix watch",
|
|
22
|
+
"start": "remix-serve build",
|
|
23
|
+
"clean": "rimraf -rf build public/build .cache .temp",
|
|
24
|
+
"tsc": "tsc",
|
|
25
|
+
"pub-pre": "npm version prerelease && npm publish --tag next",
|
|
26
|
+
"pub-exp": "node ./scripts/publish-experimental.js",
|
|
27
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
28
|
+
"format": "eslint --cache --fix src/**/*.{ts,tsx} && prettier --loglevel warn --write src/**/*.{ts,tsx}",
|
|
29
|
+
"lint": "eslint --cache --fix src/**/*.{ts,tsx}"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@react-aria/ssr": "^3.3.0",
|
|
33
|
+
"@react-aria/utils": "^3.14.0",
|
|
34
|
+
"@react-spring/web": "^9.5.5",
|
|
35
|
+
"@remix-run/node": "^1.7.2",
|
|
36
|
+
"@remix-run/react": "^1.7.2",
|
|
37
|
+
"@styled-icons/material": "^10.46.0",
|
|
38
|
+
"@styled-icons/material-outlined": "^10.46.0",
|
|
39
|
+
"@styled-icons/octicons": "^10.46.0",
|
|
40
|
+
"byte-size": "^8.1.0",
|
|
41
|
+
"d3-hierarchy": "^3.1.2",
|
|
42
|
+
"distinct-colors": "^3.0.0",
|
|
43
|
+
"get-port": "^6.1.2",
|
|
44
|
+
"github-colors": "github:ozh/github-colors",
|
|
45
|
+
"ignore": "^5.2.0",
|
|
46
|
+
"lang-map": "^0.4.0",
|
|
47
|
+
"latest-version": "^6.0.0",
|
|
48
|
+
"nanospinner": "^1.1.0",
|
|
49
|
+
"open": "^8.4.0",
|
|
50
|
+
"react-dom": "^18.2.0",
|
|
51
|
+
"react-konami-code": "^2.3.0",
|
|
52
|
+
"react-use": "^17.4.0",
|
|
53
|
+
"react-use-size": "^3.0.0",
|
|
54
|
+
"semver": "^7.3.7",
|
|
55
|
+
"styled-components": "^5.3.5",
|
|
56
|
+
"yargs": "^17.6.0"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@remix-run/dev": "^1.7.2",
|
|
60
|
+
"@remix-run/eslint-config": "^1.7.2",
|
|
61
|
+
"@remix-run/serve": "^1.7.2",
|
|
62
|
+
"@types/byte-size": "^8.1.0",
|
|
63
|
+
"@types/d3-hierarchy": "^3.1.0",
|
|
64
|
+
"@types/jest": "^29.0.3",
|
|
65
|
+
"@types/react": "^18.0.20",
|
|
66
|
+
"@types/react-dom": "^18.0.6",
|
|
67
|
+
"@types/semver": "^7.3.12",
|
|
68
|
+
"@types/styled-components": "^5.1.26",
|
|
69
|
+
"@types/yargs": "^17.0.12",
|
|
70
|
+
"@typescript-eslint/eslint-plugin": "^5.38.0",
|
|
71
|
+
"@typescript-eslint/parser": "^5.38.0",
|
|
72
|
+
"cross-env": "^7.0.3",
|
|
73
|
+
"dotenv": "^16.0.2",
|
|
74
|
+
"esbuild": "^0.15.8",
|
|
75
|
+
"eslint": "^8.23.1",
|
|
76
|
+
"eslint-config-prettier": "^8.5.0",
|
|
77
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
78
|
+
"eslint-plugin-react": "^7.31.8",
|
|
79
|
+
"husky": "^8.0.1",
|
|
80
|
+
"jest": "^29.0.3",
|
|
81
|
+
"lint-staged": "^13.0.3",
|
|
82
|
+
"react": "^18.2.0",
|
|
83
|
+
"rimraf": "^3.0.2",
|
|
84
|
+
"ts-jest": "^29.0.1",
|
|
85
|
+
"typescript": "^4.8.3"
|
|
86
|
+
},
|
|
87
|
+
"jest": {
|
|
88
|
+
"preset": "ts-jest",
|
|
89
|
+
"testEnvironment": "node",
|
|
90
|
+
"setupFiles": [
|
|
91
|
+
"dotenv/config"
|
|
92
|
+
],
|
|
93
|
+
"roots": [
|
|
94
|
+
"<rootDir>/src/"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"prettier": {
|
|
98
|
+
"semi": false,
|
|
99
|
+
"printWidth": 120
|
|
100
|
+
},
|
|
101
|
+
"lint-staged": {
|
|
102
|
+
"src/**/*.{ts,tsx}": [
|
|
103
|
+
"eslint --cache --fix",
|
|
104
|
+
"prettier --write"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"engines": {
|
|
108
|
+
"node": ">=16.13.0"
|
|
109
|
+
},
|
|
110
|
+
"repository": {
|
|
111
|
+
"type": "git",
|
|
112
|
+
"url": "git+https://github.com/git-truck/git-truck.git"
|
|
113
|
+
},
|
|
114
|
+
"bugs": {
|
|
115
|
+
"url": "https://github.com/git-truck/git-truck/issues"
|
|
116
|
+
},
|
|
117
|
+
"homepage": "https://github.com/git-truck/git-truck#readme"
|
|
118
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
.tree,
|
|
2
|
+
.blob {
|
|
3
|
+
position: relative;
|
|
4
|
+
cursor: pointer;
|
|
5
|
+
pointer-events: all;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.tree {
|
|
9
|
+
stroke: var(--border-color);
|
|
10
|
+
fill: transparent;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.blob:hover, .tree:hover {
|
|
14
|
+
stroke: darkslategray;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.object-name {
|
|
18
|
+
font-weight: bold;
|
|
19
|
+
font-size: 0.8rem;
|
|
20
|
+
fill: "#333";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.name-path {
|
|
24
|
+
fill: transparent;
|
|
25
|
+
pointer-events: none;
|
|
26
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
* {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
margin: 0;
|
|
4
|
+
padding: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
body {
|
|
8
|
+
margin: 0;
|
|
9
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
|
|
10
|
+
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
|
|
11
|
+
sans-serif;
|
|
12
|
+
-webkit-font-smoothing: antialiased;
|
|
13
|
+
-moz-osx-font-smoothing: grayscale;
|
|
14
|
+
min-height: 100vh;
|
|
15
|
+
|
|
16
|
+
background-color: var(--global-bg-color);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#root {
|
|
20
|
+
height: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.container {
|
|
24
|
+
height: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
code {
|
|
28
|
+
font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
|
|
29
|
+
monospace;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
input, button, textarea, select {
|
|
33
|
+
font: inherit;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
button:focus,
|
|
37
|
+
input:focus,
|
|
38
|
+
select:focus {
|
|
39
|
+
outline-color: var(--focused-outline-color);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@keyframes dash {
|
|
43
|
+
to {
|
|
44
|
+
stroke-dashoffset: 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@keyframes hide_initially {
|
|
49
|
+
to {
|
|
50
|
+
opacity: 1;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--unit: 8px;
|
|
3
|
+
--global-bg-color: hsl(210, 38%, 95%);
|
|
4
|
+
--side-panel-width-units: 35;
|
|
5
|
+
--side-panel-width: calc(var(--side-panel-width-units) * var(--unit));
|
|
6
|
+
--title-color: hsl(200, 5%, 30%);
|
|
7
|
+
--text-color: hsl(200, 5%, 25%);
|
|
8
|
+
--border-color: hsl(0, 0%, 70%);
|
|
9
|
+
--border-width: 1px;
|
|
10
|
+
--surface-color: hsl(0, 0%, 90%);
|
|
11
|
+
--border-color-alpha: hsla(0, 0%, 0%, 30%);
|
|
12
|
+
--focused-outline-color: hsl(216, 83%, 62%);
|
|
13
|
+
/* Generated with: https://shadows.brumm.af/ */
|
|
14
|
+
--shadow: 0.9px 0.9px 2.7px hsla(0, 0%, 0%, 0.07),
|
|
15
|
+
2.2px 2.2px 6.9px hsla(0, 0%, 0%, 0.048),
|
|
16
|
+
4.4px 4.4px 14.2px hsla(0, 0%, 0%, 0.039),
|
|
17
|
+
9.1px 9.1px 29.2px hsla(0, 0%, 0%, 0.031), 25px 25px 80px hsla(0, 0%, 0%, 0.022);
|
|
18
|
+
--small-shadow: 0.9px 0.9px 1.7px hsla(0, 0%, 0%, 0.5);
|
|
19
|
+
|
|
20
|
+
--hover-transition-duration: 200ms;
|
|
21
|
+
--button-text-color: hsl(216, 0%, 30%);
|
|
22
|
+
--button-bg: hsl(216, 0%, 95%);
|
|
23
|
+
--button-hovered-bg: hsl(216, 0%, 90%);
|
|
24
|
+
--button-outline: hsl(216, 0%, 50%);
|
|
25
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var nr=Object.create;var Dt=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var ar=Object.getOwnPropertyNames;var or=Object.getPrototypeOf,ir=Object.prototype.hasOwnProperty;var Fe=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var sr=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of ar(t))!ir.call(e,a)&&a!==n&&Dt(e,a,{get:()=>t[a],enumerable:!(r=rr(t,a))||r.enumerable});return e};var ue=(e,t,n)=>(n=e!=null?nr(or(e)):{},sr(t||!e||!e.__esModule?Dt(n,"default",{value:e,enumerable:!0}):n,e));var jt=Ae(S=>{"use strict";var Ce=Symbol.for("react.element"),lr=Symbol.for("react.portal"),ur=Symbol.for("react.fragment"),cr=Symbol.for("react.strict_mode"),fr=Symbol.for("react.profiler"),dr=Symbol.for("react.provider"),hr=Symbol.for("react.context"),pr=Symbol.for("react.forward_ref"),mr=Symbol.for("react.suspense"),yr=Symbol.for("react.memo"),vr=Symbol.for("react.lazy"),Mt=Symbol.iterator;function gr(e){return e===null||typeof e!="object"?null:(e=Mt&&e[Mt]||e["@@iterator"],typeof e=="function"?e:null)}var Bt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ft=Object.assign,At={};function we(e,t,n){this.props=e,this.context=t,this.refs=At,this.updater=n||Bt}we.prototype.isReactComponent={};we.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};we.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function $t(){}$t.prototype=we.prototype;function it(e,t,n){this.props=e,this.context=t,this.refs=At,this.updater=n||Bt}var st=it.prototype=new $t;st.constructor=it;Ft(st,we.prototype);st.isPureReactComponent=!0;var Tt=Array.isArray,Ht=Object.prototype.hasOwnProperty,lt={current:null},Vt={key:!0,ref:!0,__self:!0,__source:!0};function Ut(e,t,n){var r,a={},o=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)Ht.call(t,r)&&!Vt.hasOwnProperty(r)&&(a[r]=t[r]);var s=arguments.length-2;if(s===1)a.children=n;else if(1<s){for(var c=Array(s),u=0;u<s;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)a[r]===void 0&&(a[r]=s[r]);return{$$typeof:Ce,type:e,key:o,ref:i,props:a,_owner:lt.current}}function Rr(e,t){return{$$typeof:Ce,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ut(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ce}function wr(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var It=/\/+/g;function ot(e,t){return typeof e=="object"&&e!==null&&e.key!=null?wr(""+e.key):t.toString(36)}function He(e,t,n,r,a){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(o){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Ce:case lr:i=!0}}if(i)return i=e,a=a(i),e=r===""?"."+ot(i,0):r,Tt(a)?(n="",e!=null&&(n=e.replace(It,"$&/")+"/"),He(a,t,n,"",function(u){return u})):a!=null&&(ut(a)&&(a=Rr(a,n+(!a.key||i&&i.key===a.key?"":(""+a.key).replace(It,"$&/")+"/")+e)),t.push(a)),1;if(i=0,r=r===""?".":r+":",Tt(e))for(var s=0;s<e.length;s++){o=e[s];var c=r+ot(o,s);i+=He(o,t,n,c,a)}else if(c=gr(e),typeof c=="function")for(e=c.call(e),s=0;!(o=e.next()).done;)o=o.value,c=r+ot(o,s++),i+=He(o,t,n,c,a);else if(o==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return i}function $e(e,t,n){if(e==null)return e;var r=[],a=0;return He(e,r,"","",function(o){return t.call(n,o,a++)}),r}function Er(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F={current:null},Ve={transition:null},br={ReactCurrentDispatcher:F,ReactCurrentBatchConfig:Ve,ReactCurrentOwner:lt};S.Children={map:$e,forEach:function(e,t,n){$e(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return $e(e,function(){t++}),t},toArray:function(e){return $e(e,function(t){return t})||[]},only:function(e){if(!ut(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};S.Component=we;S.Fragment=ur;S.Profiler=fr;S.PureComponent=it;S.StrictMode=cr;S.Suspense=mr;S.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=br;S.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Ft({},e.props),a=e.key,o=e.ref,i=e._owner;if(t!=null){if(t.ref!==void 0&&(o=t.ref,i=lt.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)Ht.call(t,c)&&!Vt.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&s!==void 0?s[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=n;else if(1<c){s=Array(c);for(var u=0;u<c;u++)s[u]=arguments[u+2];r.children=s}return{$$typeof:Ce,type:e.type,key:a,ref:o,props:r,_owner:i}};S.createContext=function(e){return e={$$typeof:hr,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:dr,_context:e},e.Consumer=e};S.createElement=Ut;S.createFactory=function(e){var t=Ut.bind(null,e);return t.type=e,t};S.createRef=function(){return{current:null}};S.forwardRef=function(e){return{$$typeof:pr,render:e}};S.isValidElement=ut;S.lazy=function(e){return{$$typeof:vr,_payload:{_status:-1,_result:e},_init:Er}};S.memo=function(e,t){return{$$typeof:yr,type:e,compare:t===void 0?null:t}};S.startTransition=function(e){var t=Ve.transition;Ve.transition={};try{e()}finally{Ve.transition=t}};S.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};S.useCallback=function(e,t){return F.current.useCallback(e,t)};S.useContext=function(e){return F.current.useContext(e)};S.useDebugValue=function(){};S.useDeferredValue=function(e){return F.current.useDeferredValue(e)};S.useEffect=function(e,t){return F.current.useEffect(e,t)};S.useId=function(){return F.current.useId()};S.useImperativeHandle=function(e,t,n){return F.current.useImperativeHandle(e,t,n)};S.useInsertionEffect=function(e,t){return F.current.useInsertionEffect(e,t)};S.useLayoutEffect=function(e,t){return F.current.useLayoutEffect(e,t)};S.useMemo=function(e,t){return F.current.useMemo(e,t)};S.useReducer=function(e,t,n){return F.current.useReducer(e,t,n)};S.useRef=function(e){return F.current.useRef(e)};S.useState=function(e){return F.current.useState(e)};S.useSyncExternalStore=function(e,t,n){return F.current.useSyncExternalStore(e,t,n)};S.useTransition=function(){return F.current.useTransition()};S.version="18.2.0"});var Z=Ae((Ua,Wt)=>{"use strict";Wt.exports=jt()});function Ee(){return Ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ee.apply(this,arguments)}var Jt=Fe(()=>{});function Xt(e){e===void 0&&(e={});var t=e,n=t.window,r=n===void 0?document.defaultView:n,a=r.history;function o(){var g=r.location,P=g.pathname,T=g.search,H=g.hash,B=a.state||{};return[B.idx,zt({pathname:P,search:T,hash:H,state:B.usr||null,key:B.key||"default"})]}var i=null;function s(){if(i)R.call(i),i=null;else{var g=U.Pop,P=o(),T=P[0],H=P[1];if(R.length){if(T!=null){var B=l-T;B&&(i={action:g,location:H,retry:function(){X(B*-1)}},X(B))}}else M(g)}}r.addEventListener(Sr,s);var c=U.Pop,u=o(),l=u[0],h=u[1],v=Kt(),R=Kt();l==null&&(l=0,a.replaceState(Ee({},a.state,{idx:l}),""));function y(g){return typeof g=="string"?g:te(g)}function w(g,P){return P===void 0&&(P=null),zt(Ee({pathname:h.pathname,hash:"",search:""},typeof g=="string"?j(g):g,{state:P,key:xr()}))}function L(g,P){return[{usr:g.state,key:g.key,idx:P},y(g)]}function O(g,P,T){return!R.length||(R.call({action:g,location:P,retry:T}),!1)}function M(g){c=g;var P=o();l=P[0],h=P[1],v.call({action:c,location:h})}function ye(g,P){var T=U.Push,H=w(g,P);function B(){ye(g,P)}if(O(T,H,B)){var ee=L(H,l+1),Pe=ee[0],ge=ee[1];try{a.pushState(Pe,"",ge)}catch{r.location.assign(ge)}M(T)}}function ve(g,P){var T=U.Replace,H=w(g,P);function B(){ve(g,P)}if(O(T,H,B)){var ee=L(H,l),Pe=ee[0],ge=ee[1];a.replaceState(Pe,"",ge),M(T)}}function X(g){a.go(g)}var q={get action(){return c},get location(){return h},createHref:y,push:ye,replace:ve,go:X,back:function(){X(-1)},forward:function(){X(1)},listen:function(P){return v.push(P)},block:function(P){var T=R.push(P);return R.length===1&&r.addEventListener(Yt,qt),function(){T(),R.length||r.removeEventListener(Yt,qt)}}};return q}function qt(e){e.preventDefault(),e.returnValue=""}function Kt(){var e=[];return{get length(){return e.length},push:function(n){return e.push(n),function(){e=e.filter(function(r){return r!==n})}},call:function(n){e.forEach(function(r){return r&&r(n)})}}}function xr(){return Math.random().toString(36).substr(2,8)}function te(e){var t=e.pathname,n=t===void 0?"/":t,r=e.search,a=r===void 0?"":r,o=e.hash,i=o===void 0?"":o;return a&&a!=="?"&&(n+=a.charAt(0)==="?"?a:"?"+a),i&&i!=="#"&&(n+=i.charAt(0)==="#"?i:"#"+i),n}function j(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}var U,zt,Yt,Sr,ce=Fe(()=>{Jt();(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(U||(U={}));zt=function(e){return e},Yt="beforeunload",Sr="popstate"});function re(e,t){if(!e)throw new Error(t)}function We(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?j(t):t,a=nn(r.pathname||"/",n);if(a==null)return null;let o=Qt(e);Nr(o);let i=null;for(let s=0;i==null&&s<o.length;++s)i=Tr(o[s],a);return i}function Qt(e,t,n,r){return t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r=""),e.forEach((a,o)=>{let i={relativePath:a.path||"",caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};i.relativePath.startsWith("/")&&(i.relativePath.startsWith(r)||re(!1),i.relativePath=i.relativePath.slice(r.length));let s=ne([r,i.relativePath]),c=n.concat(i);a.children&&a.children.length>0&&(a.index===!0&&re(!1),Qt(a.children,t,c,s)),!(a.path==null&&!a.index)&&t.push({path:s,score:Dr(s,a.index),routesMeta:c})}),t}function Nr(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Mr(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}function Dr(e,t){let n=e.split("/"),r=n.length;return n.some(Gt)&&(r+=Or),t&&(r+=Cr),n.filter(a=>!Gt(a)).reduce((a,o)=>a+(Pr.test(o)?Lr:o===""?_r:kr),r)}function Mr(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function Tr(e,t){let{routesMeta:n}=e,r={},a="/",o=[];for(let i=0;i<n.length;++i){let s=n[i],c=i===n.length-1,u=a==="/"?t:t.slice(a.length)||"/",l=Zt({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},u);if(!l)return null;Object.assign(r,l.params);let h=s.route;o.push({params:r,pathname:ne([a,l.pathname]),pathnameBase:rn(ne([a,l.pathnameBase])),route:h}),l.pathnameBase!=="/"&&(a=ne([a,l.pathnameBase]))}return o}function Zt(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Ir(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:r.reduce((u,l,h)=>{if(l==="*"){let v=s[h]||"";i=o.slice(0,o.length-v.length).replace(/(.)\/+$/,"$1")}return u[l]=Br(s[h]||"",l),u},{}),pathname:o,pathnameBase:i,pattern:e}}function Ir(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,(i,s)=>(r.push(s),"([^\\/]+)"));return e.endsWith("*")?(r.push("*"),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a+=n?"\\/*$":"(?:(?=[.~-]|%[0-9A-F]{2})|\\b|\\/|$)",[new RegExp(a,t?void 0:"i"),r]}function Br(e,t){try{return decodeURIComponent(e)}catch{return e}}function en(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?j(e):e;return{pathname:n?n.startsWith("/")?n:Fr(n,t):t,search:$r(r),hash:Hr(a)}}function Fr(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function tn(e,t,n){let r=typeof e=="string"?j(e):e,a=e===""||r.pathname===""?"/":r.pathname,o;if(a==null)o=n;else{let s=t.length-1;if(a.startsWith("..")){let c=a.split("/");for(;c[0]==="..";)c.shift(),s-=1;r.pathname=c.join("/")}o=s>=0?t[s]:"/"}let i=en(r,o);return a&&a!=="/"&&a.endsWith("/")&&!i.pathname.endsWith("/")&&(i.pathname+="/"),i}function Ar(e){return e===""||e.pathname===""?"/":typeof e=="string"?j(e).pathname:e.pathname}function nn(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=e.charAt(t.length);return n&&n!=="/"?null:e.slice(t.length)||"/"}function fe(e){Se()||re(!1);let{basename:t,navigator:n}=(0,x.useContext)(Ue),{hash:r,pathname:a,search:o}=ae(e),i=a;if(t!=="/"){let s=Ar(e),c=s!=null&&s.endsWith("/");i=a==="/"?t+(c?"/":""):ne([t,a])}return n.createHref({pathname:i,search:o,hash:r})}function Se(){return(0,x.useContext)(je)!=null}function A(){return Se()||re(!1),(0,x.useContext)(je).location}function xe(){Se()||re(!1);let{basename:e,navigator:t}=(0,x.useContext)(Ue),{matches:n}=(0,x.useContext)(be),{pathname:r}=A(),a=JSON.stringify(n.map(s=>s.pathnameBase)),o=(0,x.useRef)(!1);return(0,x.useEffect)(()=>{o.current=!0}),(0,x.useCallback)(function(s,c){if(c===void 0&&(c={}),!o.current)return;if(typeof s=="number"){t.go(s);return}let u=tn(s,JSON.parse(a),r);e!=="/"&&(u.pathname=ne([e,u.pathname])),(c.replace?t.replace:t.push)(u,c.state)},[e,t,a,r])}function ct(e){let t=(0,x.useContext)(be).outlet;return t&&(0,x.createElement)(Vr.Provider,{value:e},t)}function ae(e){let{matches:t}=(0,x.useContext)(be),{pathname:n}=A(),r=JSON.stringify(t.map(a=>a.pathnameBase));return(0,x.useMemo)(()=>tn(e,JSON.parse(r),n),[e,r,n])}function ft(e,t){Se()||re(!1);let{matches:n}=(0,x.useContext)(be),r=n[n.length-1],a=r?r.params:{},o=r?r.pathname:"/",i=r?r.pathnameBase:"/",s=r&&r.route,c=A(),u;if(t){var l;let y=typeof t=="string"?j(t):t;i==="/"||((l=y.pathname)==null?void 0:l.startsWith(i))||re(!1),u=y}else u=c;let h=u.pathname||"/",v=i==="/"?h:h.slice(i.length)||"/",R=We(e,{pathname:v});return Ur(R&&R.map(y=>Object.assign({},y,{params:Object.assign({},a,y.params),pathname:ne([i,y.pathname]),pathnameBase:y.pathnameBase==="/"?i:ne([i,y.pathnameBase])})),n)}function Ur(e,t){return t===void 0&&(t=[]),e==null?null:e.reduceRight((n,r,a)=>(0,x.createElement)(be.Provider,{children:r.route.element!==void 0?r.route.element:n,value:{outlet:n,matches:t.concat(e.slice(0,a+1))}}),null)}function an(e){return ct(e.context)}function Je(e){let{basename:t="/",children:n=null,location:r,navigationType:a=U.Pop,navigator:o,static:i=!1}=e;Se()&&re(!1);let s=rn(t),c=(0,x.useMemo)(()=>({basename:s,navigator:o,static:i}),[s,o,i]);typeof r=="string"&&(r=j(r));let{pathname:u="/",search:l="",hash:h="",state:v=null,key:R="default"}=r,y=(0,x.useMemo)(()=>{let w=nn(u,s);return w==null?null:{pathname:w,search:l,hash:h,state:v,key:R}},[s,u,l,h,v,R]);return y==null?null:(0,x.createElement)(Ue.Provider,{value:c},(0,x.createElement)(je.Provider,{children:n,value:{location:y,navigationType:a}}))}var x,Ue,je,be,Pr,Lr,Cr,_r,kr,Or,Gt,ne,rn,$r,Hr,Vr,dt=Fe(()=>{ce();ce();x=ue(Z());Ue=(0,x.createContext)(null),je=(0,x.createContext)(null),be=(0,x.createContext)({outlet:null,matches:[]});Pr=/^:\w+$/,Lr=3,Cr=2,_r=1,kr=10,Or=-2,Gt=e=>e==="*";ne=e=>e.join("/").replace(/\/\/+/g,"/"),rn=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),$r=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Hr=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;Vr=(0,x.createContext)(null)});function ze(){return ze=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ze.apply(this,arguments)}function on(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,o;for(o=0;o<r.length;o++)a=r[o],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}function qr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Kr(e,t){let{target:n,replace:r,state:a}=t===void 0?{}:t,o=xe(),i=A(),s=ae(e);return(0,W.useCallback)(c=>{if(c.button===0&&(!n||n==="_self")&&!qr(c)){c.preventDefault();let u=!!r||te(i)===te(s);o(e,{replace:u,state:a})}},[i,o,s,r,a,n,e])}var W,zr,Yr,ht,sn,_e=Fe(()=>{W=ue(Z());dt();dt();zr=["onClick","reloadDocument","replace","state","target","to"],Yr=["aria-current","caseSensitive","className","end","style","to","children"];ht=(0,W.forwardRef)(function(t,n){let{onClick:r,reloadDocument:a,replace:o=!1,state:i,target:s,to:c}=t,u=on(t,zr),l=fe(c),h=Kr(c,{replace:o,state:i,target:s});function v(R){r&&r(R),!R.defaultPrevented&&!a&&h(R)}return(0,W.createElement)("a",ze({},u,{href:l,onClick:v,ref:n,target:s}))}),sn=(0,W.forwardRef)(function(t,n){let{"aria-current":r="page",caseSensitive:a=!1,className:o="",end:i=!1,style:s,to:c,children:u}=t,l=on(t,Yr),h=A(),v=ae(c),R=h.pathname,y=v.pathname;a||(R=R.toLowerCase(),y=y.toLowerCase());let w=R===y||!i&&R.startsWith(y)&&R.charAt(y.length)==="/",L=w?r:void 0,O;typeof o=="function"?O=o({isActive:w}):O=[o,w?"active":null].filter(Boolean).join(" ");let M=typeof s=="function"?s({isActive:w}):s;return(0,W.createElement)(ht,ze({},l,{"aria-current":L,className:O,ref:n,style:M,to:c}),typeof u=="function"?u({isActive:w}):u)})});var Jn=Ae(rt=>{"use strict";var Oa=Z(),Da=Symbol.for("react.element"),Ma=Symbol.for("react.fragment"),Ta=Object.prototype.hasOwnProperty,Ia=Oa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ba={key:!0,ref:!0,__self:!0,__source:!0};function Wn(e,t,n){var r,a={},o=null,i=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(i=t.ref);for(r in t)Ta.call(t,r)&&!Ba.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)a[r]===void 0&&(a[r]=t[r]);return{$$typeof:Da,type:e,key:o,ref:i,props:a,_owner:Ia.current}}rt.Fragment=Ma;rt.jsx=Wn;rt.jsxs=Wn});var Fa=Ae((oi,zn)=>{"use strict";zn.exports=Jn()});ce();var oe=ue(Z());function I(){return I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},I.apply(this,arguments)}var p=ue(Z());_e();ce();var C=ue(Z());var ke=class extends C.default.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||n.error,location:n.location}}render(){return this.state.error?C.default.createElement(this.props.component,{error:this.state.error}):this.props.children}};function ln({error:e}){return console.error(e),C.default.createElement("html",{lang:"en"},C.default.createElement("head",null,C.default.createElement("meta",{charSet:"utf-8"}),C.default.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),C.default.createElement("title",null,"Application Error!")),C.default.createElement("body",null,C.default.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},C.default.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),C.default.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},e.stack)),C.default.createElement("script",{dangerouslySetInnerHTML:{__html:`
|
|
2
|
+
console.log(
|
|
3
|
+
"\u{1F4BF} Hey developer\u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
|
|
4
|
+
);
|
|
5
|
+
`}})))}var un=C.default.createContext(void 0);function cn(){return(0,C.useContext)(un)}function pt({catch:e,component:t,children:n}){return e?C.default.createElement(un.Provider,{value:e},C.default.createElement(t,null)):C.default.createElement(C.default.Fragment,null,n)}function fn(){let e=cn();return C.default.createElement("html",{lang:"en"},C.default.createElement("head",null,C.default.createElement("meta",{charSet:"utf-8"}),C.default.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),C.default.createElement("title",null,"Unhandled Thrown Response!")),C.default.createElement("body",null,C.default.createElement("h1",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},e.status," ",e.statusText),C.default.createElement("script",{dangerouslySetInnerHTML:{__html:`
|
|
6
|
+
console.log(
|
|
7
|
+
"\u{1F4BF} Hey developer\u{1F44B}. You can provide a way better UX than this when your app throws 404s (and other responses). Check out https://remix.run/guides/not-found for more information."
|
|
8
|
+
);
|
|
9
|
+
`}})))}function D(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}ce();async function Ye(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch{return window.location.reload(),new Promise(()=>{})}}function dn(e,t,n){let r=e.map(o=>{var i;let s=t[o.route.id];return((i=s.links)===null||i===void 0?void 0:i.call(s))||[]}).flat(1),a=Qr(e,n);return Zr(r,a)}async function hn(e){if(!e.links)return;let t=e.links();if(!t)return;let n=[];for(let a of t)!qe(a)&&a.rel==="stylesheet"&&n.push({...a,rel:"preload",as:"style"});let r=n.filter(a=>!a.media||window.matchMedia(a.media).matches);await Promise.all(r.map(Xr))}async function Xr(e){return new Promise(t=>{let n=document.createElement("link");Object.assign(n,e);function r(){document.head.contains(n)&&document.head.removeChild(n)}n.onload=()=>{r(),t()},n.onerror=()=>{r(),t()},document.head.appendChild(n)})}function qe(e){return e!=null&&typeof e.page=="string"}function Gr(e){return e==null?!1:e.href==null?e.rel==="preload"&&(typeof e.imageSrcSet=="string"||typeof e.imagesrcset=="string")&&(typeof e.imageSizes=="string"||typeof e.imagesizes=="string"):typeof e.rel=="string"&&typeof e.href=="string"}async function pn(e,t){return(await Promise.all(e.map(async r=>{let a=await Ye(r.route,t);return a.links?a.links():[]}))).flat(1).filter(Gr).filter(r=>r.rel==="stylesheet"||r.rel==="preload").map(r=>r.rel==="preload"?{...r,rel:"prefetch"}:{...r,rel:"prefetch",as:"style"})}function mt(e,t,n,r,a){let o=vn(e),i=(u,l)=>n[l]?u.route.id!==n[l].route.id:!0,s=(u,l)=>{var h;return n[l].pathname!==u.pathname||((h=n[l].route.path)===null||h===void 0?void 0:h.endsWith("*"))&&n[l].params["*"]!==u.params["*"]};return a==="data"&&r.search!==o.search?t.filter((u,l)=>u.route.hasLoader?i(u,l)||s(u,l)?!0:u.route.shouldReload?u.route.shouldReload({params:u.params,prevUrl:new URL(r.pathname+r.search+r.hash,window.origin),url:new URL(e,window.origin)}):!0:!1):t.filter((u,l)=>(a==="assets"||u.route.hasLoader)&&(i(u,l)||s(u,l)))}function mn(e,t,n){let r=vn(e);return yt(t.filter(a=>n.routes[a.route.id].hasLoader).map(a=>{let{pathname:o,search:i}=r,s=new URLSearchParams(i);return s.set("_data",a.route.id),`${o}?${s}`}))}function yn(e,t){return yt(e.map(n=>{let r=t.routes[n.route.id],a=[r.module];return r.imports&&(a=a.concat(r.imports)),a}).flat(1))}function Qr(e,t){return yt(e.map(n=>{let r=t.routes[n.route.id],a=[r.module];return r.imports&&(a=a.concat(r.imports)),a}).flat(1))}function yt(e){return[...new Set(e)]}function Zr(e,t){let n=new Set,r=new Set(t);return e.reduce((a,o)=>{if(!qe(o)&&o.as==="script"&&o.href&&r.has(o.href))return a;let s=JSON.stringify(o);return n.has(s)||(n.add(s),a.push(o)),a},[])}function vn(e){let t=j(e);return t.search===void 0&&(t.search=""),t}function vt(e){return{__html:e}}var Ln=ue(Z());function gt(e){return e instanceof Response&&e.headers.get("X-Remix-Catch")!=null}function ea(e){return e instanceof Response&&e.headers.get("X-Remix-Error")!=null}function gn(e){return e instanceof Response&&e.headers.get("X-Remix-Redirect")!=null}async function Rt(e,t,n,r){e.searchParams.set("_data",t);let a=r?ta(r,n):{credentials:"same-origin",signal:n},o=await fetch(e.href,a);if(ea(o)){let i=await o.json(),s=new Error(i.message);return s.stack=i.stack,s}return o}async function Oe(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}function ta(e,t){let{encType:n,method:r,formData:a}=e,o,i=a;if(n==="application/x-www-form-urlencoded"){i=new URLSearchParams;for(let[s,c]of a)D(typeof c=="string",'File inputs are not supported with encType "application/x-www-form-urlencoded", please use "multipart/form-data" instead.'),i.append(s,c);o={"Content-Type":n}}return{method:r,body:i,signal:t,credentials:"same-origin",headers:o}}ce();_e();function de(e,t){let n=We(e,t);return n?n.map(r=>({params:r.params,pathname:r.pathname,route:r.route})):null}var Ne=class{constructor(t,n,r){this.status=t,this.statusText=n,this.data=r}};function Rn(e){return["POST","PUT","PATCH","DELETE"].includes(e.method)}function wn(e){return e.method==="GET"}function Qe(e){return Boolean(e.state)&&e.state.isRedirect}function na(e){return Qe(e)&&e.state.type==="loader"}function En(e){return Qe(e)&&e.state.type==="action"}function ra(e){return Qe(e)&&e.state.type==="fetchAction"}function aa(e){return Qe(e)&&e.state.type==="loaderSubmission"}var Te=class{constructor(t,n){this.setCookie=n,this.location=typeof t=="string"?t:t.pathname+t.search}},he={state:"idle",submission:void 0,location:void 0,type:"idle"},oa={state:"idle",type:"init",data:void 0,submission:void 0};function Pn(e){let{routes:t}=e,n,r=new Map,a=0,o=-1,i=new Map,s=new Set,c=new Set,u=de(t,e.location);u||(u=[{params:{},pathname:"",route:t[0]}]);let l={location:e.location,loaderData:e.loaderData||{},actionData:e.actionData,catch:e.catch,error:e.error,catchBoundaryId:e.catchBoundaryId||null,errorBoundaryId:e.errorBoundaryId||null,matches:u,nextMatches:void 0,transition:he,fetchers:new Map};function h(f){f.transition&&f.transition===he&&(n=void 0),l=Object.assign({},l,f);for(let d of c.values())d(l)}function v(){return l}function R(f){return l.fetchers.get(f)||oa}function y(f,d){l.fetchers.set(f,d)}function w(f){r.has(f)&&at(f),i.delete(f),s.delete(f),l.fetchers.delete(f)}async function L(f){switch(f.type){case"navigation":{let{action:d,location:m,submission:E}=f,b=de(t,m);b?!E&&Gn(m)?await _t(m,b):d===U.Pop?await kt(m,b):E&&Rn(E)?await Pe(m,E,b):E&&wn(E)?await ge(m,E,b):En(m)?await Xn(m,b):aa(m)?await qn(m,b):na(m)?await Yn(m,b):ra(m)?await Kn(m,b):await kt(m,b):(b=[{params:{},pathname:"",route:t[0]}],await ee(m,b)),o=-1;break}case"fetcher":{let{key:d,submission:m,href:E}=f,b=de(t,E);D(b,"No matches found"),r.has(d)&&at(d);let _=ye(new URL(E,window.location.href),b);m&&Rn(m)?await ve(d,m,_):m&&wn(m)?await P(E,d,m,_):await T(E,d,_);break}default:throw new Error(`Unknown data event type: ${f.type}`)}}function O(){J();for(let[,f]of r)f.abort()}function M(f){for(let d of f.searchParams.getAll("index"))if(d==="")return!0;return!1}function ye(f,d){let m=d.slice(-1)[0];return!M(f)&&m.route.index?d.slice(-2)[0]:m}async function ve(f,d,m){let E=l.fetchers.get(f),b={state:"submitting",type:"actionSubmission",submission:d,data:E?.data||void 0};y(f,b),h({fetchers:new Map(l.fetchers)});let _=new AbortController;r.set(f,_);let N=await Sn(d,m,_.signal);if(_.signal.aborted)return;if(De(N)){let le={isRedirect:!0,type:"fetchAction",setCookie:N.value.setCookie};s.add(f),e.onRedirect(N.value.location,le),y(f,{state:"loading",type:"actionRedirect",submission:d,data:void 0}),h({fetchers:new Map(l.fetchers)});return}if(B(m,f,N)||await H(m,f,N))return;let k={state:"loading",type:"actionReload",data:N.value,submission:d};y(f,k),h({fetchers:new Map(l.fetchers)});let z=Xe(N)?N:void 0,Y=Me(N)?N:void 0,G=++a;i.set(f,G);let V=l.nextMatches||l.matches,Q=await bn(l,l.transition.location||l.location,V,_.signal,z,Y,d,m.route.id,k);if(_.signal.aborted)return;i.delete(f),r.delete(f);let Le=xn(Q);if(Le){let le={isRedirect:!0,type:"loader",setCookie:Le.setCookie};e.onRedirect(Le.location,le);return}let[Be,Re]=Nn(Q,l.matches,z),[se,er]=await wt(Q,l.matches,Y)||[],tr={state:"idle",type:"done",data:N.value,submission:void 0};y(f,tr);let Ot=g(G);if(Ot&&q(Ot),X(G)){let{transition:le}=l;D(le.state==="loading","Expected loading transition"),h({location:le.location,matches:l.nextMatches,error:Be,errorBoundaryId:Re,catch:se,catchBoundaryId:er,loaderData:Et(l,Q,V),actionData:le.type==="actionReload"?l.actionData:void 0,transition:he,fetchers:new Map(l.fetchers)})}else h({fetchers:new Map(l.fetchers),error:Be,errorBoundaryId:Re,loaderData:Et(l,Q,V)})}function X(f){return l.transition.state==="loading"&&o<f?(J(),!0):!1}function q(f){for(let d of f){let m=R(d),E={state:"idle",type:"done",data:m.data,submission:void 0};y(d,E)}}function g(f){let d=[];for(let[m,E]of i)if(E<f){let b=l.fetchers.get(m);D(b,`Expected fetcher: ${m}`),b.state==="loading"&&(at(m),i.delete(m),d.push(m))}return d.length?d:!1}async function P(f,d,m,E){let b=l.fetchers.get(d),_={state:"submitting",type:"loaderSubmission",submission:m,data:b?.data||void 0};y(d,_),h({fetchers:new Map(l.fetchers)});let N=new AbortController;r.set(d,N);let k=await bt(E,me(f),N.signal);if(r.delete(d),N.signal.aborted)return;if(De(k)){let Y={isRedirect:!0,type:"loader",setCookie:k.value.setCookie};e.onRedirect(k.value.location,Y);return}if(B(E,d,k)||await H(E,d,k))return;let z={state:"idle",type:"done",data:k.value,submission:void 0};y(d,z),h({fetchers:new Map(l.fetchers)})}async function T(f,d,m){if(typeof AbortController>"u")throw new Error("handleLoaderFetch was called during the server render, but it shouldn't be. You are likely calling useFetcher.load() in the body of your component. Try moving it to a useEffect or a callback.");let E=l.fetchers.get(d),b={state:"loading",type:"normalLoad",submission:void 0,data:E?.data||void 0};y(d,b),h({fetchers:new Map(l.fetchers)});let _=new AbortController;r.set(d,_);let N=await bt(m,me(f),_.signal);if(_.signal.aborted)return;if(r.delete(d),De(N)){let z={isRedirect:!0,type:"loader",setCookie:N.value.setCookie};e.onRedirect(N.value.location,z);return}if(B(m,d,N)||await H(m,d,N))return;let k={state:"idle",type:"done",data:N.value,submission:void 0};y(d,k),h({fetchers:new Map(l.fetchers)})}async function H(f,d,m){if(Me(m)){let E=Ge(f,l.matches);return l.fetchers.delete(d),h({transition:he,fetchers:new Map(l.fetchers),catch:{data:m.value.data,status:m.value.status,statusText:m.value.statusText},catchBoundaryId:E}),!0}return!1}function B(f,d,m){if(Xe(m)){let E=Ke(f,l.matches);return l.fetchers.delete(d),h({fetchers:new Map(l.fetchers),error:m.value,errorBoundaryId:E}),!0}return!1}async function ee(f,d){J(),h({transition:{state:"loading",type:"normalLoad",submission:void 0,location:f},nextMatches:d}),await Promise.resolve();let E=Ge(d[0],d);h({location:f,matches:d,catch:{data:null,status:404,statusText:"Not Found"},catchBoundaryId:E,transition:he})}async function Pe(f,d,m){J(),h({transition:{state:"submitting",type:"actionSubmission",submission:d,location:f},nextMatches:m});let b=new AbortController;n=b;let _=m;!M(me(d.action))&&_[m.length-1].route.index&&(_=_.slice(0,-1));let N=_.slice(-1)[0],k=await Sn(d,N,b.signal);if(b.signal.aborted)return;if(De(k)){let V={isRedirect:!0,type:"action",setCookie:k.value.setCookie};e.onRedirect(k.value.location,V);return}let z,Y;Me(k)&&([z,Y]=await wt([k],_,k)||[]),h({transition:{state:"loading",type:"actionReload",submission:d,location:f},actionData:{[N.route.id]:k.value}}),await ie(f,m,d,N.route.id,k,z,Y)}async function ge(f,d,m){J(),h({transition:{state:"submitting",type:"loaderSubmission",submission:d,location:f},nextMatches:m}),await ie(f,m,d)}async function _t(f,d){J(),h({transition:{state:"loading",type:"normalLoad",submission:void 0,location:f},nextMatches:d}),await Promise.resolve(),h({location:f,matches:d,transition:he})}async function kt(f,d){J(),h({transition:{state:"loading",type:"normalLoad",submission:void 0,location:f},nextMatches:d}),await ie(f,d)}async function Yn(f,d){J(),h({transition:{state:"loading",type:"normalRedirect",submission:void 0,location:f},nextMatches:d}),await ie(f,d)}async function qn(f,d){J(),D(l.transition.type==="loaderSubmission",`Unexpected transition: ${JSON.stringify(l.transition)}`);let{submission:m}=l.transition;h({transition:{state:"loading",type:"loaderSubmissionRedirect",submission:m,location:f},nextMatches:d}),await ie(f,d,m)}async function Kn(f,d){J(),h({transition:{state:"loading",type:"fetchActionRedirect",submission:void 0,location:f},nextMatches:d}),await ie(f,d)}async function Xn(f,d){J(),D(l.transition.type==="actionSubmission"||l.transition.type==="actionReload"||l.transition.type==="actionRedirect",`Unexpected transition: ${JSON.stringify(l.transition)}`);let{submission:m}=l.transition;h({transition:{state:"loading",type:"actionRedirect",submission:m,location:f},nextMatches:d}),await ie(f,d,m)}function Gn(f){return pe(l.location)===pe(f)&&l.location.hash!==f.hash}async function ie(f,d,m,E,b,_,N){let k=b&&Xe(b)?b:void 0,z=b&&Me(b)?b:void 0,Y=new AbortController;n=Y,o=++a;let G=await bn(l,f,d,Y.signal,k,z,m,E,void 0,N);if(Y.signal.aborted)return;let V=xn(G);if(V){if(l.transition.type==="actionReload"||En(f)){let se={isRedirect:!0,type:"action",setCookie:V.setCookie};e.onRedirect(V.location,se)}else if(l.transition.type==="loaderSubmission"){let se={isRedirect:!0,type:"loaderSubmission",setCookie:V.setCookie};e.onRedirect(V.location,se)}else{var Q;let se={isRedirect:!0,type:"loader",setCookie:V.setCookie||((Q=f.state)===null||Q===void 0?void 0:Q.setCookie)===!0};e.onRedirect(V.location,se)}return}let[Le,Be]=Nn(G,d,k);[_,N]=await wt(G,d,k)||[_,N],Qn();let Re=g(o);Re&&q(Re),h({location:f,matches:d,error:Le,errorBoundaryId:Be,catch:_,catchBoundaryId:N,loaderData:Et(l,G,d),actionData:l.transition.type==="actionReload"?l.actionData:void 0,transition:he,fetchers:Re?new Map(l.fetchers):l.fetchers})}function J(){n&&n.abort()}function at(f){let d=r.get(f);D(d,`Expected fetch controller: ${f}`),d.abort(),r.delete(f)}function Qn(){let f=[];for(let d of s){let m=l.fetchers.get(d);D(m,`Expected fetcher: ${d}`),m.type==="actionRedirect"&&(s.delete(d),f.push(d))}q(f)}function Zn(f){return c.add(f),()=>{c.delete(f)}}return{subscribe:Zn,send:L,getState:v,getFetcher:R,deleteFetcher:w,dispose:O,get _internalFetchControllers(){return r}}}async function bn(e,t,n,r,a,o,i,s,c,u){let l=me(pe(t)),h=ia(e,t,n,a,o,i,s,c,u);return Promise.all(h.map(v=>bt(v,l,r)))}async function bt(e,t,n){D(e.route.loader,`Expected loader for ${e.route.id}`);try{let{params:r}=e,a=await e.route.loader({params:r,url:t,signal:n});return{match:e,value:a}}catch(r){return{match:e,value:r}}}async function Sn(e,t,n){try{let r=await t.route.action({url:me(e.action),params:t.params,submission:e,signal:n});return{match:t,value:r}}catch(r){return{match:t,value:r}}}function ia(e,t,n,r,a,o,i,s,c){var u;if(c||i&&(a||r)){let w=!1;n=n.filter(L=>w?!1:L.route.id===i||L.route.id===c?(w=!0,!1):!0)}let l=(w,L)=>e.matches[L]?w.route.id!==e.matches[L].route.id:!0,h=(w,L)=>{var O;return e.matches[L].pathname!==w.pathname||((O=e.matches[L].route.path)===null||O===void 0?void 0:O.endsWith("*"))&&e.matches[L].params["*"]!==w.params["*"]},v=me(pe(t)),R=(w,L)=>{if(!w.route.loader)return!1;if(l(w,L)||h(w,L))return!0;if(w.route.shouldReload){let O=me(pe(e.location));return w.route.shouldReload({prevUrl:O,url:v,submission:o,params:w.params})}return!0};return e.matches.length===1?n.filter(w=>!!w.route.loader):s?.type==="actionReload"||e.transition.type==="actionReload"||e.transition.type==="actionRedirect"||e.transition.type==="fetchActionRedirect"||pe(v)===pe(e.location)||v.searchParams.toString()!==e.location.search.substring(1)||(u=t.state)!==null&&u!==void 0&&u.setCookie?n.filter(R):n.filter((w,L,O)=>{var M;return(r||a)&&O.length-1===L?!1:w.route.loader&&(l(w,L)||h(w,L)||((M=t.state)===null||M===void 0?void 0:M.setCookie))})}function De(e){return e.value instanceof Te}function pe(e){return e.pathname+e.search}function xn(e){for(let t of e)if(De(t))return t.value;return null}async function wt(e,t,n){let r;for(let o of e)if(Me(o)){r=o;break}let a=async o=>({status:o.status,statusText:o.statusText,data:o.data});if(n&&r){let o=Ge(r.match,t);return[await a(n.value),o]}if(r){let o=Ge(r.match,t);return[await a(r.value),o]}return null}function Nn(e,t,n){let r;for(let a of e)if(Xe(a)){r=a;break}if(n&&r){let a=Ke(r.match,t);return[n.value,a]}if(n){let a=Ke(n.match,t);return[n.value,a]}if(r){let a=Ke(r.match,t);return[r.value,a]}return[void 0,void 0]}function Ge(e,t){let n=null;for(let r of t)if(r.route.CatchBoundary&&(n=r.route.id),r===e)break;return n}function Ke(e,t){let n=null;for(let r of t)if(r.route.ErrorBoundary&&(n=r.route.id),r===e)break;return n}function Et(e,t,n){let r={};for(let{match:o,value:i}of t)r[o.route.id]=i;let a={};for(let{route:o}of n){let i=r[o.id]!==void 0?r[o.id]:e.loaderData[o.id];i!==void 0&&(a[o.id]=i)}return a}function Me(e){return e.value instanceof Ne}function Xe(e){return e.value instanceof Error}function me(e){return new URL(e,window.location.origin)}function sa(e,t,n){return{caseSensitive:!!e.caseSensitive,element:Ln.createElement(n,{id:e.id}),id:e.id,path:e.path,index:e.index,module:e.module,loader:ua(e,t),action:ca(e,t),shouldReload:la(e,t),ErrorBoundary:e.hasErrorBoundary,CatchBoundary:e.hasCatchBoundary,hasLoader:e.hasLoader}}function xt(e,t,n,r){return Object.keys(e).filter(a=>e[a].parentId===r).map(a=>{let o=sa(e[a],t,n),i=xt(e,t,n,o.id);return i.length>0&&(o.children=i),o})}function la(e,t){return r=>{let a=t[e.id];return D(a,`Expected route module to be loaded for ${e.id}`),a.unstable_shouldReload?a.unstable_shouldReload(r):!0}}async function St(e,t){let n=await Ye(e,t);return await hn(n),n}function ua(e,t){return async({url:r,signal:a,submission:o})=>{if(e.hasLoader){let[i]=await Promise.all([Rt(r,e.id,a,o),St(e,t)]);if(i instanceof Error)throw i;let s=await Cn(i);if(s)return s;if(gt(i))throw new Ne(i.status,i.statusText,await Oe(i));return Oe(i)}else await St(e,t)}}function ca(e,t){return async({url:r,signal:a,submission:o})=>{e.hasAction||console.error(`Route "${e.id}" does not have an action, but you are trying to submit to it. To fix this, please add an \`action\` function to the route`);let i=await Rt(r,e.id,a,o);if(i instanceof Error)throw i;let s=await Cn(i);if(s)return s;if(await St(e,t),gt(i))throw new Ne(i.status,i.statusText,await Oe(i));return Oe(i)}}async function Cn(e){if(gn(e)){let t=new URL(e.headers.get("X-Remix-Redirect"),window.location.origin);if(t.origin!==window.location.origin)await new Promise(()=>{window.location.replace(t.href)});else return new Te(t.pathname+t.search+t.hash,e.headers.get("X-Remix-Revalidate")!==null)}return null}var Dn=p.createContext(void 0);function K(){let e=p.useContext(Dn);return D(e,"You must render this element inside a <Remix> element"),e}function Mn({context:e,action:t,location:n,navigator:r,static:a=!1}){let{manifest:o,routeData:i,actionData:s,routeModules:c,serverHandoffString:u,appState:l}=e,h=p.useMemo(()=>xt(o.routes,c,ha),[o,c]),[v,R]=p.useState(l),[y]=p.useState(()=>Pn({routes:h,actionData:s,loaderData:i,location:n,catch:l.catch,catchBoundaryId:l.catchBoundaryRouteId,onRedirect:r.replace}));p.useEffect(()=>{let q=g=>{R({catch:g.catch,error:g.error,catchBoundaryRouteId:g.catchBoundaryId,loaderBoundaryRouteId:g.errorBoundaryId,renderBoundaryRouteId:null,trackBoundaries:!1,trackCatchBoundaries:!1})};return y.subscribe(q)},[y]);let w=p.useMemo(()=>({...r,push:(g,P)=>y.getState().transition.state!=="idle"?r.replace(g,P):r.push(g,P)}),[r,y]),{location:L,matches:O,loaderData:M,actionData:ye}=y.getState();p.useEffect(()=>{let{location:q}=y.getState();n!==q&&y.send({type:"navigation",location:n,submission:ba(),action:t})},[y,n,t]);let ve=v.error&&v.renderBoundaryRouteId===null&&v.loaderBoundaryRouteId===null?Tn(v.error):void 0,X=v.catch&&v.catchBoundaryRouteId===null?v.catch:void 0;return p.createElement(Dn.Provider,{value:{matches:O,manifest:o,appState:v,routeModules:c,serverHandoffString:u,clientRoutes:h,routeData:M,actionData:ye,transitionManager:y}},p.createElement(ke,{location:L,component:ln,error:ve},p.createElement(pt,{location:L,component:fn,catch:X},p.createElement(Je,{navigationType:t,location:L,navigator:w,static:a},p.createElement(fa,null)))))}function Tn(e){let t=new Error(e.message);return t.stack=e.stack,t}function fa(){let{clientRoutes:e}=K();return ft(e)||e[0].element}var In=p.createContext(void 0);function Bn(){let e=p.useContext(In);return D(e,"You must render this element in a remix route element"),e}function da({id:e}){throw new Error(`Route "${e}" has no component! Please go add a \`default\` export in the route module file.
|
|
10
|
+
If you were trying to navigate or submit to a resource route, use \`<a>\` instead of \`<Link>\` or \`<Form reloadDocument>\`.`)}function ha({id:e}){let t=A(),{routeData:n,routeModules:r,appState:a}=K();D(n,`Cannot initialize 'routeData'. This normally occurs when you have server code in your client modules.
|
|
11
|
+
Check this link for more details:
|
|
12
|
+
https://remix.run/pages/gotchas#server-code-in-client-bundles`),D(r,`Cannot initialize 'routeModules'. This normally occurs when you have server code in your client modules.
|
|
13
|
+
Check this link for more details:
|
|
14
|
+
https://remix.run/pages/gotchas#server-code-in-client-bundles`);let o=n[e],{default:i,CatchBoundary:s,ErrorBoundary:c}=r[e],u=i?p.createElement(i,null):p.createElement(da,{id:e}),l={data:o,id:e};if(s){let h=a.catch&&a.catchBoundaryRouteId===e?a.catch:void 0;a.trackCatchBoundaries&&(a.catchBoundaryRouteId=e),l=h?{id:e,get data(){console.error("You cannot `useLoaderData` in a catch boundary.")}}:{id:e,data:o},u=p.createElement(pt,{location:t,component:s,catch:h},u)}if(c){let h=a.error&&(a.renderBoundaryRouteId===e||a.loaderBoundaryRouteId===e)?Tn(a.error):void 0;a.trackBoundaries&&(a.renderBoundaryRouteId=e),l=h?{id:e,get data(){console.error("You cannot `useLoaderData` in an error boundary.")}}:{id:e,data:o},u=p.createElement(ke,{location:t,component:c,error:h},u)}return p.createElement(In.Provider,{value:l},u)}function Fn(e,t){let[n,r]=p.useState(!1),[a,o]=p.useState(!1),{onFocus:i,onBlur:s,onMouseEnter:c,onMouseLeave:u,onTouchStart:l}=t;p.useEffect(()=>{e==="render"&&o(!0)},[e]);let h=()=>{e==="intent"&&r(!0)},v=()=>{e==="intent"&&(r(!1),o(!1))};return p.useEffect(()=>{if(n){let R=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(R)}}},[n]),[a,{onFocus:Ie(i,h),onBlur:Ie(s,v),onMouseEnter:Ie(c,h),onMouseLeave:Ie(u,v),onTouchStart:Ie(l,h)}]}var An=p.forwardRef(({to:e,prefetch:t="none",...n},r)=>{let a=fe(e),[o,i]=Fn(t,n);return p.createElement(p.Fragment,null,p.createElement(sn,I({ref:r,to:e},n,i)),o?p.createElement(Ze,{page:a}):null)});An.displayName="NavLink";var $n=p.forwardRef(({to:e,prefetch:t="none",...n},r)=>{let a=fe(e),[o,i]=Fn(t,n);return p.createElement(p.Fragment,null,p.createElement(ht,I({ref:r,to:e},n,i)),o?p.createElement(Ze,{page:a}):null)});$n.displayName="Link";function Ie(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function pa(){let{matches:e,routeModules:t,manifest:n}=K(),r=p.useMemo(()=>dn(e,t,n),[e,t,n]);return p.createElement(p.Fragment,null,r.map(a=>{if(qe(a))return p.createElement(Ze,I({key:a.page},a));let o=null;return"useId"in p?(a.imagesrcset&&(a.imageSrcSet=o=a.imagesrcset,delete a.imagesrcset),a.imagesizes&&(a.imageSizes=a.imagesizes,delete a.imagesizes)):(a.imageSrcSet&&(a.imagesrcset=o=a.imageSrcSet,delete a.imageSrcSet),a.imageSizes&&(a.imagesizes=a.imageSizes,delete a.imageSizes)),p.createElement("link",I({key:a.rel+(a.href||"")+(o||"")},a))}))}function Ze({page:e,...t}){let{clientRoutes:n}=K(),r=p.useMemo(()=>de(n,e),[n,e]);return r?p.createElement(ya,I({page:e,matches:r},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function ma(e){let{routeModules:t}=K(),[n,r]=p.useState([]);return p.useEffect(()=>{let a=!1;return pn(e,t).then(o=>{a||r(o)}),()=>{a=!0}},[e,t]),n}function ya({page:e,matches:t,...n}){let r=A(),{matches:a,manifest:o}=K(),i=p.useMemo(()=>mt(e,t,a,r,"data"),[e,t,a,r]),s=p.useMemo(()=>mt(e,t,a,r,"assets"),[e,t,a,r]),c=p.useMemo(()=>mn(e,i,o),[i,e,o]),u=p.useMemo(()=>yn(s,o),[s,o]),l=ma(s);return p.createElement(p.Fragment,null,c.map(h=>p.createElement("link",I({key:h,rel:"prefetch",as:"fetch",href:h},n))),u.map(h=>p.createElement("link",I({key:h,rel:"modulepreload",href:h},n))),l.map(h=>p.createElement("link",I({key:h.href},h))))}function va(){let{matches:e,routeData:t,routeModules:n}=K(),r=A(),a={},o={};for(let i of e){let s=i.route.id,c=t[s],u=i.params,l=n[s];if(l.meta){let h=typeof l.meta=="function"?l.meta({data:c,parentsData:o,params:u,location:r}):l.meta;Object.assign(a,h)}o[s]=c}return p.createElement(p.Fragment,null,Object.entries(a).map(([i,s])=>{if(!s)return null;if(["charset","charSet"].includes(i))return p.createElement("meta",{key:"charset",charSet:s});if(i==="title")return p.createElement("title",{key:"title"},String(s));let c=i.startsWith("og:");return[s].flat().map(u=>c?p.createElement("meta",{property:i,content:u,key:i+u}):typeof u=="string"?p.createElement("meta",{name:i,content:u,key:i+u}):p.createElement("meta",I({key:i+JSON.stringify(u)},u)))}))}var _n=!1;function ga(e){let{manifest:t,matches:n,pendingLocation:r,clientRoutes:a,serverHandoffString:o}=K();p.useEffect(()=>{_n=!0},[]);let i=p.useMemo(()=>{let l=o?`window.__remixContext = ${o};`:"",h=`${n.map((v,R)=>`import ${JSON.stringify(t.url)};
|
|
15
|
+
import * as route${R} from ${JSON.stringify(t.routes[v.route.id].module)};`).join(`
|
|
16
|
+
`)}
|
|
17
|
+
window.__remixRouteModules = {${n.map((v,R)=>`${JSON.stringify(v.route.id)}:route${R}`).join(",")}};
|
|
18
|
+
|
|
19
|
+
import(${JSON.stringify(t.entry.module)});`;return p.createElement(p.Fragment,null,p.createElement("script",I({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:vt(l),type:void 0})),p.createElement("script",I({},e,{dangerouslySetInnerHTML:vt(h),type:"module",async:!0})))},[]),s=p.useMemo(()=>{if(r){let l=de(a,r);return D(l,`No routes match path "${r.pathname}"`),l}return[]},[r,a]),c=n.concat(s).map(l=>{let h=t.routes[l.route.id];return(h.imports||[]).concat([h.module])}).flat(1),u=t.entry.imports.concat(c);return p.createElement(p.Fragment,null,p.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),Ra(u).map(l=>p.createElement("link",{key:l,rel:"modulepreload",href:l,crossOrigin:e.crossOrigin})),_n?null:i)}function Ra(e){return[...new Set(e)]}var Hn=p.forwardRef((e,t)=>p.createElement(Vn,I({},e,{ref:t})));Hn.displayName="Form";var Vn=p.forwardRef(({reloadDocument:e=!1,replace:t=!1,method:n="get",action:r,encType:a="application/x-www-form-urlencoded",fetchKey:o,onSubmit:i,...s},c)=>{let u=Un(o),l=n.toLowerCase()==="get"?"get":"post",h=Pt(r);return p.createElement("form",I({ref:c,method:l,action:h,encType:a,onSubmit:e?void 0:v=>{if(i&&i(v),v.defaultPrevented)return;v.preventDefault();let R=v.nativeEvent.submitter;u(R||v.currentTarget,{method:n,replace:t})}},s))});Vn.displayName="FormImpl";function Pt(e,t="get"){let{id:n}=Bn(),r=ae(e??"."),a=A(),{search:o,hash:i}=r,s=n.endsWith("/index");if(e==null&&(o=a.search,i=a.hash,s)){let c=new URLSearchParams(o);c.delete("index"),o=c.toString()?`?${c.toString()}`:""}return(e==null||e===".")&&s&&(o=o?o.replace(/^\?/,"?index&"):"?index"),te({pathname:r.pathname,search:o,hash:i})}function wa(){return Un()}var kn="get",On="application/x-www-form-urlencoded";function Un(e){let t=xe(),n=Pt(),{transitionManager:r}=K();return p.useCallback((a,o={})=>{let i,s,c,u;if(xa(a)){let y=o.submissionTrigger;i=o.method||a.getAttribute("method")||kn,s=o.action||a.getAttribute("action")||n,c=o.encType||a.getAttribute("enctype")||On,u=new FormData(a),y&&y.name&&u.append(y.name,y.value)}else if(Sa(a)||Na(a)&&(a.type==="submit"||a.type==="image")){let y=a.form;if(y==null)throw new Error("Cannot submit a <button> without a <form>");i=o.method||a.getAttribute("formmethod")||y.getAttribute("method")||kn,s=o.action||a.getAttribute("formaction")||y.getAttribute("action")||n,c=o.encType||a.getAttribute("formenctype")||y.getAttribute("enctype")||On,u=new FormData(y),a.name&&u.append(a.name,a.value)}else{if(et(a))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(i=o.method||"get",s=o.action||n,c=o.encType||"application/x-www-form-urlencoded",a instanceof FormData)u=a;else if(u=new FormData,a instanceof URLSearchParams)for(let[y,w]of a)u.append(y,w);else if(a!=null)for(let y of Object.keys(a))u.append(y,a[y])}if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{protocol:l,host:h}=window.location,v=new URL(s,`${l}//${h}`);if(i.toLowerCase()==="get"){let y=new URLSearchParams,w=!1;for(let[O,M]of u)if(typeof M=="string")w=!0,y.append(O,M);else throw new Error("Cannot submit binary form data using GET");let L=new URLSearchParams(v.search).getAll("index").some(O=>O==="");e!=null&&L&&(w=!0,y.append("index","")),v.search=w?`?${y.toString()}`:""}let R={formData:u,action:v.pathname+v.search,method:i.toUpperCase(),encType:c,key:Math.random().toString(36).substr(2,8)};e?r.send({type:"fetcher",href:R.action,submission:R,key:e}):(Ea(R),t(v.pathname+v.search,{replace:o.replace}))},[n,e,t,r])}var Nt;function Ea(e){Nt=e}function ba(){let e=Nt;return Nt=void 0,e}function et(e){return e!=null&&typeof e.tagName=="string"}function Sa(e){return et(e)&&e.tagName.toLowerCase()==="button"}function xa(e){return et(e)&&e.tagName.toLowerCase()==="form"}function Na(e){return et(e)&&e.tagName.toLowerCase()==="input"}function tt(e){p.useEffect(()=>(window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}),[e])}function Pa(){return Bn().data}function Lt(){let{transitionManager:e}=K();return e.getState().transition}var La=()=>null;function Ca(e){let t=oe.useRef();t.current==null&&(t.current=Xt({window}));let n=t.current,[r,a]=oe.useReducer((i,s)=>s,{action:n.action,location:n.location});oe.useLayoutEffect(()=>n.listen(a),[n]);let o=window.__remixContext;return o.manifest=window.__remixManifest,o.routeModules=window.__remixRouteModules,o.appState.trackBoundaries=!1,o.appState.trackCatchBoundaries=!1,oe.createElement(Mn,{context:o,action:r.action,location:r.location,navigator:n})}_e();var $=ue(Z());_e();var Ct="positions",nt={};if(typeof document<"u"){let e=sessionStorage.getItem(Ct);e&&(nt=JSON.parse(e))}function _a({nonce:e=void 0}){ka(),$.useEffect(()=>{window.history.scrollRestoration="manual"},[]),tt($.useCallback(()=>{window.history.scrollRestoration="auto"},[]));let t=(n=>{if(!window.history.state||!window.history.state.key){let r=Math.random().toString(32).slice(2);window.history.replaceState({key:r},"")}try{let a=JSON.parse(sessionStorage.getItem(n)||"{}")[window.history.state.key];typeof a=="number"&&window.scrollTo(0,a)}catch(r){console.error(r),sessionStorage.removeItem(n)}}).toString();return $.createElement("script",{nonce:e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${t})(${JSON.stringify(Ct)})`}})}var jn=!1;function ka(){let e=A(),t=Lt(),n=$.useRef(!1);$.useEffect(()=>{t.submission&&(n.current=!0)},[t]),$.useEffect(()=>{t.location&&(nt[e.key]=window.scrollY)},[t,e]),tt($.useCallback(()=>{sessionStorage.setItem(Ct,JSON.stringify(nt))},[])),typeof document<"u"&&$.useLayoutEffect(()=>{if(!jn){jn=!0;return}let r=nt[e.key];if(r!=null){window.scrollTo(0,r);return}if(e.hash){let a=document.getElementById(e.hash.slice(1));if(a){a.scrollIntoView();return}}if(n.current===!0){n.current=!1;return}window.scrollTo(0,0)},[e]),$.useEffect(()=>{t.submission&&(n.current=!0)},[t])}export{Fe as a,Ae as b,ue as c,Z as d,Ee as e,Jt as f,A as g,xe as h,an as i,cn as j,$n as k,pa as l,va as m,ga as n,Hn as o,wa as p,Pa as q,Lt as r,La as s,Ca as t,_a as u,Fa as v};
|
|
20
|
+
/**
|
|
21
|
+
* @license React
|
|
22
|
+
* react-jsx-runtime.production.min.js
|
|
23
|
+
*
|
|
24
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
25
|
+
*
|
|
26
|
+
* This source code is licensed under the MIT license found in the
|
|
27
|
+
* LICENSE file in the root directory of this source tree.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* @license React
|
|
31
|
+
* react.production.min.js
|
|
32
|
+
*
|
|
33
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
34
|
+
*
|
|
35
|
+
* This source code is licensed under the MIT license found in the
|
|
36
|
+
* LICENSE file in the root directory of this source tree.
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* @remix-run/react v1.7.2
|
|
40
|
+
*
|
|
41
|
+
* Copyright (c) Remix Software Inc.
|
|
42
|
+
*
|
|
43
|
+
* This source code is licensed under the MIT license found in the
|
|
44
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
45
|
+
*
|
|
46
|
+
* @license MIT
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* React Router DOM v6.3.0
|
|
50
|
+
*
|
|
51
|
+
* Copyright (c) Remix Software Inc.
|
|
52
|
+
*
|
|
53
|
+
* This source code is licensed under the MIT license found in the
|
|
54
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
55
|
+
*
|
|
56
|
+
* @license MIT
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* React Router v6.3.0
|
|
60
|
+
*
|
|
61
|
+
* Copyright (c) Remix Software Inc.
|
|
62
|
+
*
|
|
63
|
+
* This source code is licensed under the MIT license found in the
|
|
64
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
65
|
+
*
|
|
66
|
+
* @license MIT
|
|
67
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as o,d as u}from"/build/_shared/chunk-2BPXJFRU.js";var e=o(u()),n={prefix:String(Math.round(Math.random()*1e10)),current:0},c=e.default.createContext(n);function $(r){let t=(0,e.useContext)(c),a=(0,e.useMemo)(()=>({prefix:t===n?"":`${t.prefix}-${++t.current}`,current:0}),[t]);return e.default.createElement(c.Provider,{value:a},r.children)}var s=Boolean(typeof window<"u"&&window.document&&window.document.createElement);function i(r){let t=(0,e.useContext)(c);return t===n&&!s&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server."),(0,e.useMemo)(()=>r||`react-aria${t.prefix}-${++t.current}`,[r])}export{$ as a,i as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as b,N as v,O as y,P as S,d as x}from"/build/_shared/chunk-FTSBCPJ3.js";import{a as M,b as g,c as s,d as E,e as p,f as k,v as d}from"/build/_shared/chunk-2BPXJFRU.js";var W,L=M(()=>{W="ab".substr(-1)==="b"?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}});var T=g((O,A)=>{A.exports={}});var j=g((D,z)=>{z.exports={}});var G=g(($,w)=>{w.exports={}});var B=s(d());var H=e=>{var n;let r=`calc(${((n=e.size)!=null?n:e.xs)?.5:e.sm?.75:e.md?1:e.lg?1.5:e.xl?2:e.xxl?3:1} * var(--unit))`,i={height:e.horizontal?"1px":r,width:e.horizontal?r:"1px",...e.horizontal?{display:"inline-block"}:{}};return(0,B.jsx)("div",{"aria-hidden":!0,style:i})};H.defaultProps={size:null,sm:!1,md:!1,lg:!1,xl:!1,horizontal:!1};function V(e){return e?new Date(e*1e3).toLocaleString("en-gb",{day:"2-digit",month:"short",year:"numeric"}):"Invalid date"}function N(e){return new Date(e).toLocaleString("da-dk",{day:"2-digit",month:"2-digit",year:"2-digit"})}function q(e){return new Date(e).toLocaleString("en-gb",{hour:"2-digit",minute:"2-digit",day:"2-digit",month:"short",year:"2-digit"})}function C(e){let t=Date.now(),r=60*60*1e3,i=24*r,n=t-e*1e3;if(n<0)return"Unknown time ago";if(n>i){let a=Math.floor(n/i);return`${a} day${a>1?"s":""} ago`}let l=Math.floor(n/r);return l>1?`${l} hours ago`:l===1?"1 hour ago":"<1 hour ago"}var U=e=>e[e.length-1],_=e=>e.length<=1?[]:e.slice(0,e.length-1);function J(e){return e.includes("\\")?"\\":"/"}var K=(e,t)=>[e,t].join("/");k();var u=s(E());var m=u.forwardRef(function(e,t){var r={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(x,p({iconAttrs:r,iconVerticalAlign:"middle",iconViewBox:"0 0 16 16"},e,{ref:t}),u.createElement("path",{fillRule:"evenodd",d:"M11.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5zm-2.25.75a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.492 2.492 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25zM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5zM3.5 3.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0z"}))});m.displayName="GitBranch";var o=s(d());function re({headGroups:e,analyzedHeads:t,iconColor:r,disabled:i,...n}){let l=Object.entries(e),a=l.reduce((c,f)=>c.concat(Object.keys(f)),[]);return(0,o.jsxs)(y,{children:[(0,o.jsx)(m,{display:"inline-block",height:"1em",color:r!=null?r:"#333"}),a.length===1?(0,o.jsx)(S,{children:a[0]}):(0,o.jsx)(b,{inline:!0,...n,children:l.map(([c,f])=>Object.entries(f).length>0?(0,o.jsx)("optgroup",{label:c,children:Object.entries(f).map(([h,P])=>{let R=t[P];return(0,o.jsx)(v,{value:h,disabled:i,title:R?"Analyzed":"Not analyzed",children:h},h)})},c):null)})]})}export{L as a,T as b,j as c,G as d,H as e,V as f,N as g,q as h,C as i,U as j,_ as k,J as l,K as m,re as n};
|