codeforlife 2.10.7 → 2.11.0
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/dist/App-3VkR-ZEZ.js +27 -0
- package/dist/App-3VkR-ZEZ.js.map +1 -0
- package/dist/App-UfeajXtp.cjs +2 -0
- package/dist/App-UfeajXtp.cjs.map +1 -0
- package/dist/Countdown-BtUbr1J_.cjs +2 -0
- package/dist/{Countdown-CyJ-01oU.cjs.map → Countdown-BtUbr1J_.cjs.map} +1 -1
- package/dist/{Countdown-BTyB1rrK.js → Countdown-DhjAmB0u.js} +9 -9
- package/dist/{Countdown-BTyB1rrK.js.map → Countdown-DhjAmB0u.js.map} +1 -1
- package/dist/{Image-CgYjq-tA.cjs → Image-CgRVUblT.cjs} +2 -2
- package/dist/{Image-CgYjq-tA.cjs.map → Image-CgRVUblT.cjs.map} +1 -1
- package/dist/{Image-C-f2ChBh.js → Image-DTOu0h-V.js} +2 -2
- package/dist/{Image-C-f2ChBh.js.map → Image-DTOu0h-V.js.map} +1 -1
- package/dist/{LinkButton-BOPjG7_2.cjs → LinkButton-Kw2brLTK.cjs} +2 -2
- package/dist/{LinkButton-BOPjG7_2.cjs.map → LinkButton-Kw2brLTK.cjs.map} +1 -1
- package/dist/{LinkButton-Bk50AHHg.js → LinkButton-sQ5jgHnX.js} +3 -3
- package/dist/{LinkButton-Bk50AHHg.js.map → LinkButton-sQ5jgHnX.js.map} +1 -1
- package/dist/{Navigate-SL_oMjPc.js → Navigate-ClPcw87e.js} +3 -3
- package/dist/{Navigate-SL_oMjPc.js.map → Navigate-ClPcw87e.js.map} +1 -1
- package/dist/Navigate-CrMwdIBB.cjs +2 -0
- package/dist/{Navigate-C_sgy8Xs.cjs.map → Navigate-CrMwdIBB.cjs.map} +1 -1
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
- package/dist/api/endpoints/index.cjs.js +1 -1
- package/dist/api/endpoints/index.es.js +2 -2
- package/dist/api/index.cjs.js +3 -3
- package/dist/api/index.es.js +3 -3
- package/dist/api-9cnyvZj7.cjs +2 -0
- package/dist/{api-DIgp_6Vr.cjs.map → api-9cnyvZj7.cjs.map} +1 -1
- package/dist/{api-BvUiTeR7.js → api-BFYu8ZvQ.js} +2 -2
- package/dist/{api-BvUiTeR7.js.map → api-BFYu8ZvQ.js.map} +1 -1
- package/dist/{api-CaeeoZaI.cjs → api-CAH3GT1O.cjs} +2 -2
- package/dist/{api-CaeeoZaI.cjs.map → api-CAH3GT1O.cjs.map} +1 -1
- package/dist/{auth-CQ1InCxP.js → auth-Bb8WkZGN.js} +4 -4
- package/dist/{auth-CQ1InCxP.js.map → auth-Bb8WkZGN.js.map} +1 -1
- package/dist/auth-BwpsrTko.cjs +2 -0
- package/dist/{auth-B7Vdot4N.cjs.map → auth-BwpsrTko.cjs.map} +1 -1
- package/dist/client-BK9NlSVR.js +25208 -0
- package/dist/client-BK9NlSVR.js.map +1 -0
- package/dist/client-CmAMc2Wj.cjs +251 -0
- package/dist/client-CmAMc2Wj.cjs.map +1 -0
- package/dist/components/form/index.cjs.js +1 -1
- package/dist/components/form/index.es.js +1 -1
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.cjs.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.es.js +146 -182
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/page/index.cjs.js +1 -1
- package/dist/components/page/index.es.js +1 -1
- package/dist/components/router/index.cjs.js +1 -1
- package/dist/components/router/index.es.js +2 -2
- package/dist/components/table/index.cjs.js +1 -1
- package/dist/components/table/index.es.js +1 -1
- package/dist/features/index.cjs.js +1 -1
- package/dist/features/index.cjs.js.map +1 -1
- package/dist/features/index.es.js +10 -11
- package/dist/features/index.es.js.map +1 -1
- package/dist/general-Bo6JGvKB.cjs +2 -0
- package/dist/{general-BPbbmkeX.cjs.map → general-Bo6JGvKB.cjs.map} +1 -1
- package/dist/{general-CtTJPCJn.js → general-D7Hqi3gj.js} +3 -3
- package/dist/{general-CtTJPCJn.js.map → general-D7Hqi3gj.js.map} +1 -1
- package/dist/hooks/index.cjs.js +1 -1
- package/dist/hooks/index.es.js +2 -2
- package/dist/{index-CBPn0wyX.cjs → index-5C9hpxRF.cjs} +2 -2
- package/dist/{index-CBPn0wyX.cjs.map → index-5C9hpxRF.cjs.map} +1 -1
- package/dist/{index-Dfo744Sb.js → index-B3e_XaVG.js} +2 -2
- package/dist/{index-Dfo744Sb.js.map → index-B3e_XaVG.js.map} +1 -1
- package/dist/{index-CXYppxE3.cjs → index-B89FjK7v.cjs} +2 -2
- package/dist/{index-CXYppxE3.cjs.map → index-B89FjK7v.cjs.map} +1 -1
- package/dist/{index-CI5O_yH6.js → index-BRHFlEjS.js} +37 -39
- package/dist/{index-CI5O_yH6.js.map → index-BRHFlEjS.js.map} +1 -1
- package/dist/{index-D8Gc0IWi.js → index-CHboZsxD.js} +2 -2
- package/dist/{index-D8Gc0IWi.js.map → index-CHboZsxD.js.map} +1 -1
- package/dist/index-CwC9mpb3.cjs +2 -0
- package/dist/{index-B6aNVvMr.cjs.map → index-CwC9mpb3.cjs.map} +1 -1
- package/dist/{index-DCI-3m7f.cjs → index-DuArGzQE.cjs} +3 -3
- package/dist/{index-DCI-3m7f.cjs.map → index-DuArGzQE.cjs.map} +1 -1
- package/dist/{index-DcmDxIXA.js → index-hdS8RgRc.js} +5 -5
- package/dist/{index-DcmDxIXA.js.map → index-hdS8RgRc.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +6 -6
- package/dist/{jsx-runtime-Dszzpdy0.cjs → jsx-runtime-B2pbW5Fp.cjs} +3 -3
- package/dist/{jsx-runtime-Dszzpdy0.cjs.map → jsx-runtime-B2pbW5Fp.cjs.map} +1 -1
- package/dist/{jsx-runtime-C7wFtzyj.js → jsx-runtime-lzYHhGH3.js} +15 -15
- package/dist/{jsx-runtime-C7wFtzyj.js.map → jsx-runtime-lzYHhGH3.js.map} +1 -1
- package/dist/{schemas-D3tO0rys.js → schemas-BMQZbhti.js} +2 -2
- package/dist/{schemas-D3tO0rys.js.map → schemas-BMQZbhti.js.map} +1 -1
- package/dist/{schemas-CpAWhNsP.cjs → schemas-DXX4rh8i.cjs} +2 -2
- package/dist/{schemas-CpAWhNsP.cjs.map → schemas-DXX4rh8i.cjs.map} +1 -1
- package/dist/server/App.d.ts +15 -0
- package/dist/server/entry.cjs.js +209 -0
- package/dist/server/entry.cjs.js.map +1 -0
- package/dist/server/entry.d.ts +14 -0
- package/dist/server/entry.es.js +21885 -0
- package/dist/server/entry.es.js.map +1 -0
- package/dist/server/index.cjs.js +6 -0
- package/dist/server/index.cjs.js.map +1 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/{server.es.js → server/index.es.js} +19 -17
- package/dist/server/index.es.js.map +1 -0
- package/dist/settings/index.cjs.js +1 -1
- package/dist/settings/index.cjs.js.map +1 -1
- package/dist/settings/index.d.ts +1 -2
- package/dist/settings/index.es.js +5 -5
- package/dist/settings/index.es.js.map +1 -1
- package/dist/theme/components/index.cjs.js +1 -1
- package/dist/theme/components/index.es.js +1 -1
- package/dist/theme/index.cjs.js +1 -1
- package/dist/theme/index.cjs.js.map +1 -1
- package/dist/theme/index.d.ts +1 -2
- package/dist/theme/index.es.js +5 -5
- package/dist/theme/index.es.js.map +1 -1
- package/dist/{urls-RtSTEZfW.cjs → urls-CGZI0f1w.cjs} +2 -2
- package/dist/{urls-RtSTEZfW.cjs.map → urls-CGZI0f1w.cjs.map} +1 -1
- package/dist/{urls-5m9PgoEX.js → urls-DP4a8kxP.js} +2 -2
- package/dist/{urls-5m9PgoEX.js.map → urls-DP4a8kxP.js.map} +1 -1
- package/dist/utils/api.cjs.js +1 -1
- package/dist/utils/api.es.js +2 -2
- package/dist/utils/router.cjs.js +1 -1
- package/dist/utils/router.es.js +2 -2
- package/dist/utils/test.cjs.js +1 -250
- package/dist/utils/test.cjs.js.map +1 -1
- package/dist/utils/test.es.js +20 -25223
- package/dist/utils/test.es.js.map +1 -1
- package/dist/utils/theme.cjs.js +1 -1
- package/dist/utils/theme.es.js +2 -2
- package/package.json +15 -8
- package/dist/Countdown-CyJ-01oU.cjs +0 -2
- package/dist/Navigate-C_sgy8Xs.cjs +0 -2
- package/dist/api-DIgp_6Vr.cjs +0 -2
- package/dist/auth-B7Vdot4N.cjs +0 -2
- package/dist/components/App.d.ts +0 -18
- package/dist/general-BPbbmkeX.cjs +0 -2
- package/dist/index-B6aNVvMr.cjs +0 -2
- package/dist/server.cjs.js +0 -6
- package/dist/server.cjs.js.map +0 -1
- package/dist/server.es.js.map +0 -1
- /package/dist/{server.d.ts → server/server.d.ts} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";var u=Object.create;var c=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var S=(h,s,e,t)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of v(s))!k.call(h,a)&&a!==e&&c(h,a,{get:()=>s[a],enumerable:!(t=m(s,a))||t.enumerable});return h};var o=(h,s,e)=>(e=h!=null?u(C(h)):{},S(s||!h||!h.__esModule?c(e,"default",{value:h,enumerable:!0}):e,h));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("memory-cache"),y=require("node:crypto"),f=require("express"),l=require("node:fs/promises"),g=require("node:http"),P=require("../App-UfeajXtp.cjs");class I{envIsProduction;templateHtml;hostname;mode;port;base;app;server;cache;healthCheckCacheKey;healthCheckCacheTimeout;healthCheckStatusCodes;devtoolsWorkspaceUUID;constructor({mode:s,port:e,base:t}={}){this.envIsProduction=process.env.NODE_ENV==="production",this.templateHtml="",this.hostname=this.envIsProduction?"0.0.0.0":"127.0.0.1",this.mode=s||process.env.MODE||"development",this.port=e||(process.env.PORT?Number(process.env.PORT):this.envIsProduction?8080:5173),this.base=t||process.env.BASE||"",this.app=f(),this.server=g.createServer(this.app),this.cache=new w.Cache,this.healthCheckCacheKey="health-check",this.healthCheckCacheTimeout=3e4,this.healthCheckStatusCodes={healthy:200,startingUp:503,shuttingDown:503,unhealthy:503,unknown:503},this.devtoolsWorkspaceUUID=y.randomUUID()}getHealthCheck(s){return{healthStatus:"healthy",additionalInfo:"All healthy."}}handleHealthCheck(s,e){let t=this.cache.get(this.healthCheckCacheKey);if(t===null){const a=this.getHealthCheck(s);a.healthStatus!=="healthy"&&console.warn(`health check: ${JSON.stringify(a)}`),t={appId:process.env.APP_ID||"REPLACE_ME",healthStatus:a.healthStatus,lastCheckedTimestamp:new Date().toISOString(),additionalInformation:a.additionalInfo,startupTimestamp:new Date().toISOString(),appVersion:process.env.APP_VERSION||"REPLACE_ME",details:a.details||[]},this.cache.put(this.healthCheckCacheKey,t,this.healthCheckCacheTimeout)}e.status(this.healthCheckStatusCodes[t.healthStatus]).json(t)}async handleServeHtml(s,e,{getRenderAndTemplate:t,onServeError:a}){try{const r=s.originalUrl.replace(this.base,""),[n,p]=await t(r),i=await n(r),d=p.replace("<!--app-head-->",i.head??"").replace("<!--app-html-->",i.html??"");e.status(200).set({"Content-Type":"text/html"}).send(d)}catch(r){if(r instanceof Error){console.error(r.stack);const n=a(r);e.status(500).end(n)}}}handleChromeDevTools(s,e){if(this.envIsProduction)e.status(404).json({});else{const t=process.env.LOCAL_WORKSPACE_PATH;let a,r;t?(a=200,r={workspace:{uuid:this.devtoolsWorkspaceUUID,root:t}}):(a=404,r={error:"Local workspace path not configured."}),e.status(a).json(r)}}async setUpProduction(){const s=(await import("compression")).default,e=(await import("sirv")).default;return this.templateHtml=await l.readFile("./dist/client/index.html","utf-8"),this.app.use(s()),this.app.use(this.base,e("./dist/client",{extensions:[]})),{getRenderAndTemplate:async()=>{const t=(await import("../../../dist/server/entry-server.js")).render,a=this.templateHtml;return[t,a]},onServeError:()=>{}}}async setUpDevelopment(){const{createServer:s}=await import("vite"),e=await s({configFile:"/workspace/frontend/vite.config.ts",server:{middlewareMode:!0,hmr:{server:this.server}},appType:"custom",base:this.base,mode:this.mode});return this.app.use(e.middlewares),{getRenderAndTemplate:async t=>{const a=(await e.ssrLoadModule("/src/entry-server.tsx")).render;let r=await l.readFile("./index.html","utf-8");return r=await e.transformIndexHtml(t,r),[a,r]},onServeError:t=>(e.ssrFixStacktrace(t),t.stack)}}async run(){const s=this.envIsProduction?await this.setUpProduction():await this.setUpDevelopment();this.app.get("/health-check",(e,t)=>{this.handleHealthCheck(e,t)}),this.app.get("/.well-known/appspecific/com.chrome.devtools.json",(e,t)=>{this.handleChromeDevTools(e,t)}),this.app.get("*",async(e,t)=>{await this.handleServeHtml(e,t,s)}),this.server.listen(this.port,this.hostname,()=>{let e=`Server started.
|
|
2
|
+
url: http://${this.hostname}:${this.port}
|
|
3
|
+
environment: ${process.env.NODE_ENV}
|
|
4
|
+
`;this.envIsProduction||(e+=`mode: ${this.mode}
|
|
5
|
+
`),console.log(e)})}}exports.App=P.App;exports.Server=I;
|
|
6
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/server/server.ts"],"sourcesContent":["/**\n * © Ocado Group\n * Created on 13/12/2024 at 12:15:05(+00:00).\n *\n * A server for an app in a live environment.\n * Based off: https://github.com/bluwy/create-vite-extra/blob/master/template-ssr-react-ts/server.js\n */\n\nimport { Cache, type CacheClass } from \"memory-cache\"\nimport { type UUID, randomUUID } from \"node:crypto\"\nimport express, { type Express, type Request, type Response } from \"express\"\nimport fs from \"node:fs/promises\"\nimport http from \"node:http\"\n\ntype Mode = \"development\" | \"staging\" | \"production\"\ntype Options = Partial<{\n mode: Mode\n port: number\n base: string\n}>\n\ntype HealthStatus =\n | \"healthy\"\n | \"startingUp\"\n | \"shuttingDown\"\n | \"unhealthy\"\n | \"unknown\"\ntype HealthCheck = {\n healthStatus: HealthStatus\n additionalInfo: string\n details?: Array<{\n name: string\n description: string\n health: HealthStatus\n }>\n}\ntype HealthCheckResponse = {\n appId: string\n healthStatus: HealthStatus\n lastCheckedTimestamp: string\n additionalInformation: string\n startupTimestamp: string\n appVersion: string\n details: Array<{\n name: string\n description: string\n health: HealthStatus\n }>\n}\n\ntype Render = (path: string) => Promise<{ head?: string; html?: string }>\ntype EntryModule = { render: Render }\ntype RenderAndTemplate = [Render, string]\ntype GetRenderAndTemplate = (path: string) => Promise<RenderAndTemplate>\ntype OnServeError = (error: Error) => string | undefined\n\ntype Setup = {\n getRenderAndTemplate: GetRenderAndTemplate\n onServeError: OnServeError\n}\n\nexport default class Server {\n envIsProduction: boolean\n templateHtml: string\n hostname: string\n mode: Mode\n port: number\n base: string\n app: Express\n server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>\n cache: CacheClass<string, any>\n healthCheckCacheKey: string\n healthCheckCacheTimeout: number\n healthCheckStatusCodes: Record<HealthStatus, number>\n devtoolsWorkspaceUUID: UUID\n\n constructor({ mode, port, base }: Options = {}) {\n this.envIsProduction = process.env.NODE_ENV === \"production\"\n this.templateHtml = \"\"\n this.hostname = this.envIsProduction ? \"0.0.0.0\" : \"127.0.0.1\"\n\n this.mode = mode || (process.env.MODE as Mode) || \"development\"\n this.port =\n port ||\n (process.env.PORT\n ? Number(process.env.PORT)\n : this.envIsProduction\n ? 8080\n : 5173)\n this.base = base || process.env.BASE || \"\"\n\n this.app = express()\n this.server = http.createServer(this.app)\n this.cache = new Cache()\n\n this.healthCheckCacheKey = \"health-check\"\n this.healthCheckCacheTimeout = 30000\n this.healthCheckStatusCodes = {\n // The app is running normally.\n healthy: 200,\n // The app is performing app-specific initialisation which must\n // complete before it will serve normal application requests\n // (perhaps the app is warming a cache or something similar). You\n // only need to use this status if your app will be in a start-up\n // mode for a prolonged period of time.\n startingUp: 503,\n // The app is shutting down. As with startingUp, you only need to\n // use this status if your app takes a prolonged amount of time\n // to shutdown, perhaps because it waits for a long-running\n // process to complete before shutting down.\n shuttingDown: 503,\n // The app is not running normally.\n unhealthy: 503,\n // The app is not able to report its own state.\n unknown: 503,\n }\n\n this.devtoolsWorkspaceUUID = randomUUID()\n }\n\n // @ts-expect-error unused var\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getHealthCheck(request: Request): HealthCheck {\n return {\n healthStatus: \"healthy\",\n additionalInfo: \"All healthy.\",\n }\n }\n\n handleHealthCheck(request: Request, response: Response): void {\n let value: HealthCheckResponse = this.cache.get(\n this.healthCheckCacheKey,\n ) as HealthCheckResponse\n if (value === null) {\n const healthCheck = this.getHealthCheck(request)\n\n if (healthCheck.healthStatus !== \"healthy\") {\n console.warn(`health check: ${JSON.stringify(healthCheck)}`)\n }\n\n value = {\n appId: process.env.APP_ID || \"REPLACE_ME\",\n healthStatus: healthCheck.healthStatus,\n lastCheckedTimestamp: new Date().toISOString(),\n additionalInformation: healthCheck.additionalInfo,\n startupTimestamp: new Date().toISOString(),\n appVersion: process.env.APP_VERSION || \"REPLACE_ME\",\n details: healthCheck.details || [],\n }\n\n this.cache.put(\n this.healthCheckCacheKey,\n value,\n this.healthCheckCacheTimeout,\n )\n }\n\n response.status(this.healthCheckStatusCodes[value.healthStatus]).json(value)\n }\n\n async handleServeHtml(\n request: Request,\n response: Response,\n { getRenderAndTemplate, onServeError }: Setup,\n ): Promise<void> {\n try {\n const path = request.originalUrl.replace(this.base, \"\")\n\n const [render, template] = await getRenderAndTemplate(path)\n\n const rendered = await render(path)\n\n const html = template\n .replace(`<!--app-head-->`, rendered.head ?? \"\")\n .replace(`<!--app-html-->`, rendered.html ?? \"\")\n\n response.status(200).set({ \"Content-Type\": \"text/html\" }).send(html)\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.stack)\n const body = onServeError(error)\n response.status(500).end(body)\n }\n }\n }\n\n // @ts-expect-error unused var\n handleChromeDevTools(request: Request, response: Response) {\n if (this.envIsProduction) {\n response.status(404).json({})\n } else {\n const localWorkspacePath = process.env.LOCAL_WORKSPACE_PATH\n\n let code: number\n let body: object\n if (localWorkspacePath) {\n code = 200\n body = {\n workspace: {\n uuid: this.devtoolsWorkspaceUUID,\n root: localWorkspacePath,\n },\n }\n } else {\n code = 404\n body = { error: \"Local workspace path not configured.\" }\n }\n\n response.status(code).json(body)\n }\n }\n\n async setUpProduction(): Promise<Setup> {\n const compression = (await import(\"compression\")).default\n const sirv = (await import(\"sirv\")).default\n\n this.templateHtml = await fs.readFile(\"./dist/client/index.html\", \"utf-8\")\n\n this.app.use(compression())\n this.app.use(this.base, sirv(\"./dist/client\", { extensions: [] }))\n\n return {\n getRenderAndTemplate: async () => {\n const render = (\n (await import(\n // @ts-expect-error only present after building installing app.\n \"../../../dist/server/entry-server.js\"\n )) as EntryModule\n ).render\n\n // Use cached template.\n const template = this.templateHtml\n\n return [render, template]\n },\n onServeError: () => undefined,\n }\n }\n\n async setUpDevelopment(): Promise<Setup> {\n const { createServer } = await import(\"vite\")\n\n const vite = await createServer({\n configFile: \"/workspace/frontend/vite.config.ts\",\n server: {\n middlewareMode: true,\n hmr: { server: this.server },\n },\n appType: \"custom\",\n base: this.base,\n mode: this.mode,\n })\n\n this.app.use(vite.middlewares)\n\n return {\n getRenderAndTemplate: async path => {\n const render = (\n (await vite.ssrLoadModule(\"/src/entry-server.tsx\")) as EntryModule\n ).render\n\n // Always read fresh template.\n let template = await fs.readFile(\"./index.html\", \"utf-8\")\n template = await vite.transformIndexHtml(path, template)\n\n return [render, template]\n },\n onServeError: error => {\n vite.ssrFixStacktrace(error)\n return error.stack\n },\n }\n }\n\n async run() {\n const setup = this.envIsProduction\n ? await this.setUpProduction()\n : await this.setUpDevelopment()\n\n this.app.get(\"/health-check\", (request, response) => {\n this.handleHealthCheck(request, response)\n })\n\n this.app.get(\n \"/.well-known/appspecific/com.chrome.devtools.json\",\n (request, response) => {\n this.handleChromeDevTools(request, response)\n },\n )\n\n this.app.get(\"*\", async (request, response) => {\n await this.handleServeHtml(request, response, setup)\n })\n\n this.server.listen(this.port, this.hostname, () => {\n let startMessage =\n \"Server started.\\n\" +\n `url: http://${this.hostname}:${this.port}\\n` +\n `environment: ${process.env.NODE_ENV}\\n`\n\n if (!this.envIsProduction) startMessage += `mode: ${this.mode}\\n`\n\n console.log(startMessage)\n })\n }\n}\n"],"names":["Server","mode","port","base","express","http","Cache","randomUUID","request","response","value","healthCheck","getRenderAndTemplate","onServeError","path","render","template","rendered","html","error","body","localWorkspacePath","code","compression","sirv","fs","createServer","vite","setup","startMessage"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { randomUUID as p } from "node:crypto";
|
|
|
3
3
|
import d from "express";
|
|
4
4
|
import i from "node:fs/promises";
|
|
5
5
|
import m from "node:http";
|
|
6
|
+
import { A as P } from "../App-3VkR-ZEZ.js";
|
|
6
7
|
class S {
|
|
7
8
|
envIsProduction;
|
|
8
9
|
templateHtml;
|
|
@@ -17,8 +18,8 @@ class S {
|
|
|
17
18
|
healthCheckCacheTimeout;
|
|
18
19
|
healthCheckStatusCodes;
|
|
19
20
|
devtoolsWorkspaceUUID;
|
|
20
|
-
constructor({ mode:
|
|
21
|
-
this.envIsProduction = process.env.NODE_ENV === "production", this.templateHtml = "", this.hostname = this.envIsProduction ? "0.0.0.0" : "127.0.0.1", this.mode =
|
|
21
|
+
constructor({ mode: o, port: e, base: t } = {}) {
|
|
22
|
+
this.envIsProduction = process.env.NODE_ENV === "production", this.templateHtml = "", this.hostname = this.envIsProduction ? "0.0.0.0" : "127.0.0.1", this.mode = o || process.env.MODE || "development", this.port = e || (process.env.PORT ? Number(process.env.PORT) : this.envIsProduction ? 8080 : 5173), this.base = t || process.env.BASE || "", this.app = d(), this.server = m.createServer(this.app), this.cache = new l(), this.healthCheckCacheKey = "health-check", this.healthCheckCacheTimeout = 3e4, this.healthCheckStatusCodes = {
|
|
22
23
|
// The app is running normally.
|
|
23
24
|
healthy: 200,
|
|
24
25
|
// The app is performing app-specific initialisation which must
|
|
@@ -40,18 +41,18 @@ class S {
|
|
|
40
41
|
}
|
|
41
42
|
// @ts-expect-error unused var
|
|
42
43
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
43
|
-
getHealthCheck(
|
|
44
|
+
getHealthCheck(o) {
|
|
44
45
|
return {
|
|
45
46
|
healthStatus: "healthy",
|
|
46
47
|
additionalInfo: "All healthy."
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
|
-
handleHealthCheck(
|
|
50
|
+
handleHealthCheck(o, e) {
|
|
50
51
|
let t = this.cache.get(
|
|
51
52
|
this.healthCheckCacheKey
|
|
52
53
|
);
|
|
53
54
|
if (t === null) {
|
|
54
|
-
const s = this.getHealthCheck(
|
|
55
|
+
const s = this.getHealthCheck(o);
|
|
55
56
|
s.healthStatus !== "healthy" && console.warn(`health check: ${JSON.stringify(s)}`), t = {
|
|
56
57
|
appId: process.env.APP_ID || "REPLACE_ME",
|
|
57
58
|
healthStatus: s.healthStatus,
|
|
@@ -68,20 +69,20 @@ class S {
|
|
|
68
69
|
}
|
|
69
70
|
e.status(this.healthCheckStatusCodes[t.healthStatus]).json(t);
|
|
70
71
|
}
|
|
71
|
-
async handleServeHtml(
|
|
72
|
+
async handleServeHtml(o, e, { getRenderAndTemplate: t, onServeError: s }) {
|
|
72
73
|
try {
|
|
73
|
-
const a =
|
|
74
|
+
const a = o.originalUrl.replace(this.base, ""), [h, n] = await t(a), r = await h(a), c = n.replace("<!--app-head-->", r.head ?? "").replace("<!--app-html-->", r.html ?? "");
|
|
74
75
|
e.status(200).set({ "Content-Type": "text/html" }).send(c);
|
|
75
76
|
} catch (a) {
|
|
76
77
|
if (a instanceof Error) {
|
|
77
78
|
console.error(a.stack);
|
|
78
|
-
const
|
|
79
|
-
e.status(500).end(
|
|
79
|
+
const h = s(a);
|
|
80
|
+
e.status(500).end(h);
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
// @ts-expect-error unused var
|
|
84
|
-
handleChromeDevTools(
|
|
85
|
+
handleChromeDevTools(o, e) {
|
|
85
86
|
if (this.envIsProduction)
|
|
86
87
|
e.status(404).json({});
|
|
87
88
|
else {
|
|
@@ -96,8 +97,8 @@ class S {
|
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
async setUpProduction() {
|
|
99
|
-
const
|
|
100
|
-
return this.templateHtml = await i.readFile("./dist/client/index.html", "utf-8"), this.app.use(
|
|
100
|
+
const o = (await import("compression")).default, e = (await import("sirv")).default;
|
|
101
|
+
return this.templateHtml = await i.readFile("./dist/client/index.html", "utf-8"), this.app.use(o()), this.app.use(this.base, e("./dist/client", { extensions: [] })), {
|
|
101
102
|
getRenderAndTemplate: async () => {
|
|
102
103
|
const t = (await import(
|
|
103
104
|
// @ts-expect-error only present after building installing app.
|
|
@@ -110,7 +111,7 @@ class S {
|
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
113
|
async setUpDevelopment() {
|
|
113
|
-
const { createServer:
|
|
114
|
+
const { createServer: o } = await import("vite"), e = await o({
|
|
114
115
|
configFile: "/workspace/frontend/vite.config.ts",
|
|
115
116
|
server: {
|
|
116
117
|
middlewareMode: !0,
|
|
@@ -130,7 +131,7 @@ class S {
|
|
|
130
131
|
};
|
|
131
132
|
}
|
|
132
133
|
async run() {
|
|
133
|
-
const
|
|
134
|
+
const o = this.envIsProduction ? await this.setUpProduction() : await this.setUpDevelopment();
|
|
134
135
|
this.app.get("/health-check", (e, t) => {
|
|
135
136
|
this.handleHealthCheck(e, t);
|
|
136
137
|
}), this.app.get(
|
|
@@ -139,7 +140,7 @@ class S {
|
|
|
139
140
|
this.handleChromeDevTools(e, t);
|
|
140
141
|
}
|
|
141
142
|
), this.app.get("*", async (e, t) => {
|
|
142
|
-
await this.handleServeHtml(e, t,
|
|
143
|
+
await this.handleServeHtml(e, t, o);
|
|
143
144
|
}), this.server.listen(this.port, this.hostname, () => {
|
|
144
145
|
let e = `Server started.
|
|
145
146
|
url: http://${this.hostname}:${this.port}
|
|
@@ -151,6 +152,7 @@ environment: ${process.env.NODE_ENV}
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
export {
|
|
154
|
-
|
|
155
|
+
P as App,
|
|
156
|
+
S as Server
|
|
155
157
|
};
|
|
156
|
-
//# sourceMappingURL=
|
|
158
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/server/server.ts"],"sourcesContent":["/**\n * © Ocado Group\n * Created on 13/12/2024 at 12:15:05(+00:00).\n *\n * A server for an app in a live environment.\n * Based off: https://github.com/bluwy/create-vite-extra/blob/master/template-ssr-react-ts/server.js\n */\n\nimport { Cache, type CacheClass } from \"memory-cache\"\nimport { type UUID, randomUUID } from \"node:crypto\"\nimport express, { type Express, type Request, type Response } from \"express\"\nimport fs from \"node:fs/promises\"\nimport http from \"node:http\"\n\ntype Mode = \"development\" | \"staging\" | \"production\"\ntype Options = Partial<{\n mode: Mode\n port: number\n base: string\n}>\n\ntype HealthStatus =\n | \"healthy\"\n | \"startingUp\"\n | \"shuttingDown\"\n | \"unhealthy\"\n | \"unknown\"\ntype HealthCheck = {\n healthStatus: HealthStatus\n additionalInfo: string\n details?: Array<{\n name: string\n description: string\n health: HealthStatus\n }>\n}\ntype HealthCheckResponse = {\n appId: string\n healthStatus: HealthStatus\n lastCheckedTimestamp: string\n additionalInformation: string\n startupTimestamp: string\n appVersion: string\n details: Array<{\n name: string\n description: string\n health: HealthStatus\n }>\n}\n\ntype Render = (path: string) => Promise<{ head?: string; html?: string }>\ntype EntryModule = { render: Render }\ntype RenderAndTemplate = [Render, string]\ntype GetRenderAndTemplate = (path: string) => Promise<RenderAndTemplate>\ntype OnServeError = (error: Error) => string | undefined\n\ntype Setup = {\n getRenderAndTemplate: GetRenderAndTemplate\n onServeError: OnServeError\n}\n\nexport default class Server {\n envIsProduction: boolean\n templateHtml: string\n hostname: string\n mode: Mode\n port: number\n base: string\n app: Express\n server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>\n cache: CacheClass<string, any>\n healthCheckCacheKey: string\n healthCheckCacheTimeout: number\n healthCheckStatusCodes: Record<HealthStatus, number>\n devtoolsWorkspaceUUID: UUID\n\n constructor({ mode, port, base }: Options = {}) {\n this.envIsProduction = process.env.NODE_ENV === \"production\"\n this.templateHtml = \"\"\n this.hostname = this.envIsProduction ? \"0.0.0.0\" : \"127.0.0.1\"\n\n this.mode = mode || (process.env.MODE as Mode) || \"development\"\n this.port =\n port ||\n (process.env.PORT\n ? Number(process.env.PORT)\n : this.envIsProduction\n ? 8080\n : 5173)\n this.base = base || process.env.BASE || \"\"\n\n this.app = express()\n this.server = http.createServer(this.app)\n this.cache = new Cache()\n\n this.healthCheckCacheKey = \"health-check\"\n this.healthCheckCacheTimeout = 30000\n this.healthCheckStatusCodes = {\n // The app is running normally.\n healthy: 200,\n // The app is performing app-specific initialisation which must\n // complete before it will serve normal application requests\n // (perhaps the app is warming a cache or something similar). You\n // only need to use this status if your app will be in a start-up\n // mode for a prolonged period of time.\n startingUp: 503,\n // The app is shutting down. As with startingUp, you only need to\n // use this status if your app takes a prolonged amount of time\n // to shutdown, perhaps because it waits for a long-running\n // process to complete before shutting down.\n shuttingDown: 503,\n // The app is not running normally.\n unhealthy: 503,\n // The app is not able to report its own state.\n unknown: 503,\n }\n\n this.devtoolsWorkspaceUUID = randomUUID()\n }\n\n // @ts-expect-error unused var\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getHealthCheck(request: Request): HealthCheck {\n return {\n healthStatus: \"healthy\",\n additionalInfo: \"All healthy.\",\n }\n }\n\n handleHealthCheck(request: Request, response: Response): void {\n let value: HealthCheckResponse = this.cache.get(\n this.healthCheckCacheKey,\n ) as HealthCheckResponse\n if (value === null) {\n const healthCheck = this.getHealthCheck(request)\n\n if (healthCheck.healthStatus !== \"healthy\") {\n console.warn(`health check: ${JSON.stringify(healthCheck)}`)\n }\n\n value = {\n appId: process.env.APP_ID || \"REPLACE_ME\",\n healthStatus: healthCheck.healthStatus,\n lastCheckedTimestamp: new Date().toISOString(),\n additionalInformation: healthCheck.additionalInfo,\n startupTimestamp: new Date().toISOString(),\n appVersion: process.env.APP_VERSION || \"REPLACE_ME\",\n details: healthCheck.details || [],\n }\n\n this.cache.put(\n this.healthCheckCacheKey,\n value,\n this.healthCheckCacheTimeout,\n )\n }\n\n response.status(this.healthCheckStatusCodes[value.healthStatus]).json(value)\n }\n\n async handleServeHtml(\n request: Request,\n response: Response,\n { getRenderAndTemplate, onServeError }: Setup,\n ): Promise<void> {\n try {\n const path = request.originalUrl.replace(this.base, \"\")\n\n const [render, template] = await getRenderAndTemplate(path)\n\n const rendered = await render(path)\n\n const html = template\n .replace(`<!--app-head-->`, rendered.head ?? \"\")\n .replace(`<!--app-html-->`, rendered.html ?? \"\")\n\n response.status(200).set({ \"Content-Type\": \"text/html\" }).send(html)\n } catch (error) {\n if (error instanceof Error) {\n console.error(error.stack)\n const body = onServeError(error)\n response.status(500).end(body)\n }\n }\n }\n\n // @ts-expect-error unused var\n handleChromeDevTools(request: Request, response: Response) {\n if (this.envIsProduction) {\n response.status(404).json({})\n } else {\n const localWorkspacePath = process.env.LOCAL_WORKSPACE_PATH\n\n let code: number\n let body: object\n if (localWorkspacePath) {\n code = 200\n body = {\n workspace: {\n uuid: this.devtoolsWorkspaceUUID,\n root: localWorkspacePath,\n },\n }\n } else {\n code = 404\n body = { error: \"Local workspace path not configured.\" }\n }\n\n response.status(code).json(body)\n }\n }\n\n async setUpProduction(): Promise<Setup> {\n const compression = (await import(\"compression\")).default\n const sirv = (await import(\"sirv\")).default\n\n this.templateHtml = await fs.readFile(\"./dist/client/index.html\", \"utf-8\")\n\n this.app.use(compression())\n this.app.use(this.base, sirv(\"./dist/client\", { extensions: [] }))\n\n return {\n getRenderAndTemplate: async () => {\n const render = (\n (await import(\n // @ts-expect-error only present after building installing app.\n \"../../../dist/server/entry-server.js\"\n )) as EntryModule\n ).render\n\n // Use cached template.\n const template = this.templateHtml\n\n return [render, template]\n },\n onServeError: () => undefined,\n }\n }\n\n async setUpDevelopment(): Promise<Setup> {\n const { createServer } = await import(\"vite\")\n\n const vite = await createServer({\n configFile: \"/workspace/frontend/vite.config.ts\",\n server: {\n middlewareMode: true,\n hmr: { server: this.server },\n },\n appType: \"custom\",\n base: this.base,\n mode: this.mode,\n })\n\n this.app.use(vite.middlewares)\n\n return {\n getRenderAndTemplate: async path => {\n const render = (\n (await vite.ssrLoadModule(\"/src/entry-server.tsx\")) as EntryModule\n ).render\n\n // Always read fresh template.\n let template = await fs.readFile(\"./index.html\", \"utf-8\")\n template = await vite.transformIndexHtml(path, template)\n\n return [render, template]\n },\n onServeError: error => {\n vite.ssrFixStacktrace(error)\n return error.stack\n },\n }\n }\n\n async run() {\n const setup = this.envIsProduction\n ? await this.setUpProduction()\n : await this.setUpDevelopment()\n\n this.app.get(\"/health-check\", (request, response) => {\n this.handleHealthCheck(request, response)\n })\n\n this.app.get(\n \"/.well-known/appspecific/com.chrome.devtools.json\",\n (request, response) => {\n this.handleChromeDevTools(request, response)\n },\n )\n\n this.app.get(\"*\", async (request, response) => {\n await this.handleServeHtml(request, response, setup)\n })\n\n this.server.listen(this.port, this.hostname, () => {\n let startMessage =\n \"Server started.\\n\" +\n `url: http://${this.hostname}:${this.port}\\n` +\n `environment: ${process.env.NODE_ENV}\\n`\n\n if (!this.envIsProduction) startMessage += `mode: ${this.mode}\\n`\n\n console.log(startMessage)\n })\n }\n}\n"],"names":["Server","mode","port","base","express","http","Cache","randomUUID","request","response","value","healthCheck","getRenderAndTemplate","onServeError","path","render","template","rendered","html","error","body","localWorkspacePath","code","compression","sirv","fs","createServer","vite","setup","startMessage"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o={},_=o,t=_.VITE_SERVICE_NAME??"REPLACE_ME",O=_.VITE_SERVICE_API_URL??"http://localhost:8000",s=`${t}_csrftoken`,n=_.VITE_SESSION_COOKIE_NAME??"session_key",A=_.VITE_SESSION_METADATA_COOKIE_NAME??"session_metadata",I={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},E=I,R=E.MODE,c=E.BASE_URL,M=E.PROD,D=E.DEV,C=E.SSR,N={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},V=new Proxy(N,{get:(S,e)=>S[`VITE_${e}`]});exports.BASE_URL=c;exports.CSRF_COOKIE_NAME=s;exports.DEV=D;exports.MODE=R;exports.PROD=M;exports.SERVICE_API_URL=O;exports.SERVICE_NAME=t;exports.SESSION_COOKIE_NAME=n;exports.SESSION_METADATA_COOKIE_NAME=A;exports.SSR=C;exports.vite=V;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/settings/custom.ts","../../src/settings/vite.ts","../../src/settings/index.ts"],"sourcesContent":["/**\n * This file contains all of our custom settings we define for our own purposes.\n *\n * This file is based on:\n * https://github.com/ocadotechnology/codeforlife-package-python/blob/main/codeforlife/settings/custom.py\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env as Record<string, string | undefined>\n\n// The name of the current service.\nexport const SERVICE_NAME = env.VITE_SERVICE_NAME ?? \"REPLACE_ME\"\n\n// The api url of the current service.\nexport const SERVICE_API_URL =\n env.VITE_SERVICE_API_URL ?? \"http://localhost:8000\"\n\n// The names of cookies.\nexport const CSRF_COOKIE_NAME = `${SERVICE_NAME}_csrftoken`\nexport const SESSION_COOKIE_NAME = env.VITE_SESSION_COOKIE_NAME ?? \"session_key\"\nexport const SESSION_METADATA_COOKIE_NAME =\n env.VITE_SESSION_METADATA_COOKIE_NAME ?? \"session_metadata\"\n","/**\n * This file contains all of vite's environment variables.\n *\n * https://vite.dev/guide/env-and-mode#env-variables\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env\n\n// The mode the app is running in.\nexport const MODE = env.MODE\n\n// The base url the app is being served from.\n// This is determined by the base config option.\nexport const BASE_URL = env.BASE_URL\n\n// Whether the app is running in production (running the dev server with\n// NODE_ENV='production' or running an app built with NODE_ENV='production').\nexport const PROD = env.PROD\n\n// Whether the app is running in development (always the opposite of\n// import.meta.env.PROD)\nexport const DEV = env.DEV\n\n// Whether the app is running in the server.\nexport const SSR = env.SSR\n","// Shorthand to access environment variables.\nexport
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/settings/custom.ts","../../src/settings/vite.ts","../../src/settings/index.ts"],"sourcesContent":["/**\n * This file contains all of our custom settings we define for our own purposes.\n *\n * This file is based on:\n * https://github.com/ocadotechnology/codeforlife-package-python/blob/main/codeforlife/settings/custom.py\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env as Record<string, string | undefined>\n\n// The name of the current service.\nexport const SERVICE_NAME = env.VITE_SERVICE_NAME ?? \"REPLACE_ME\"\n\n// The api url of the current service.\nexport const SERVICE_API_URL =\n env.VITE_SERVICE_API_URL ?? \"http://localhost:8000\"\n\n// The names of cookies.\nexport const CSRF_COOKIE_NAME = `${SERVICE_NAME}_csrftoken`\nexport const SESSION_COOKIE_NAME = env.VITE_SESSION_COOKIE_NAME ?? \"session_key\"\nexport const SESSION_METADATA_COOKIE_NAME =\n env.VITE_SESSION_METADATA_COOKIE_NAME ?? \"session_metadata\"\n","/**\n * This file contains all of vite's environment variables.\n *\n * https://vite.dev/guide/env-and-mode#env-variables\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env\n\n// The mode the app is running in.\nexport const MODE = env.MODE\n\n// The base url the app is being served from.\n// This is determined by the base config option.\nexport const BASE_URL = env.BASE_URL\n\n// Whether the app is running in production (running the dev server with\n// NODE_ENV='production' or running an app built with NODE_ENV='production').\nexport const PROD = env.PROD\n\n// Whether the app is running in development (always the opposite of\n// import.meta.env.PROD)\nexport const DEV = env.DEV\n\n// Whether the app is running in the server.\nexport const SSR = env.SSR\n","// Shorthand to access environment variables.\nexport const vite = new Proxy(import.meta.env, {\n get: (target, name: string) => target[`VITE_${name}`] as string,\n}) as Record<string, string>\n\nexport * from \"./custom\"\nexport * from \"./vite\"\n"],"names":["env","__vite_import_meta_env__","SERVICE_NAME","SERVICE_API_URL","CSRF_COOKIE_NAME","SESSION_COOKIE_NAME","SESSION_METADATA_COOKIE_NAME","MODE","BASE_URL","PROD","DEV","SSR","vite","target","name"],"mappings":"2FAQMA,EAAMC,EAGCC,EAAeF,EAAI,mBAAqB,aAGxCG,EACXH,EAAI,sBAAwB,wBAGjBI,EAAmB,GAAGF,CAAY,aAClCG,EAAsBL,EAAI,0BAA4B,cACtDM,EACXN,EAAI,mCAAqC,4ECdrCA,EAAMC,EAGCM,EAAOP,EAAI,KAIXQ,EAAWR,EAAI,SAIfS,EAAOT,EAAI,KAIXU,EAAMV,EAAI,IAGVW,EAAMX,EAAI,6DCxBVY,EAAO,IAAI,MAAMX,EAAiB,CAC7C,IAAK,CAACY,EAAQC,IAAiBD,EAAO,QAAQC,CAAI,EAAE,CACtD,CAAC"}
|
package/dist/settings/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const
|
|
1
|
+
const S = {}, E = S, s = E.VITE_SERVICE_NAME ?? "REPLACE_ME", O = E.VITE_SERVICE_API_URL ?? "http://localhost:8000", c = `${s}_csrftoken`, A = E.VITE_SESSION_COOKIE_NAME ?? "session_key", I = E.VITE_SESSION_METADATA_COOKIE_NAME ?? "session_metadata", n = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 }, _ = n, R = _.MODE, D = _.BASE_URL, M = _.PROD, V = _.DEV, a = _.SSR, e = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1 }, i = new Proxy(e, {
|
|
2
2
|
get: (t, o) => t[`VITE_${o}`]
|
|
3
3
|
});
|
|
4
4
|
export {
|
|
5
5
|
D as BASE_URL,
|
|
6
6
|
c as CSRF_COOKIE_NAME,
|
|
7
|
-
|
|
7
|
+
V as DEV,
|
|
8
8
|
R as MODE,
|
|
9
9
|
M as PROD,
|
|
10
10
|
O as SERVICE_API_URL,
|
|
11
|
-
|
|
11
|
+
s as SERVICE_NAME,
|
|
12
12
|
A as SESSION_COOKIE_NAME,
|
|
13
13
|
I as SESSION_METADATA_COOKIE_NAME,
|
|
14
|
-
|
|
15
|
-
i as
|
|
14
|
+
a as SSR,
|
|
15
|
+
i as vite
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/settings/custom.ts","../../src/settings/vite.ts","../../src/settings/index.ts"],"sourcesContent":["/**\n * This file contains all of our custom settings we define for our own purposes.\n *\n * This file is based on:\n * https://github.com/ocadotechnology/codeforlife-package-python/blob/main/codeforlife/settings/custom.py\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env as Record<string, string | undefined>\n\n// The name of the current service.\nexport const SERVICE_NAME = env.VITE_SERVICE_NAME ?? \"REPLACE_ME\"\n\n// The api url of the current service.\nexport const SERVICE_API_URL =\n env.VITE_SERVICE_API_URL ?? \"http://localhost:8000\"\n\n// The names of cookies.\nexport const CSRF_COOKIE_NAME = `${SERVICE_NAME}_csrftoken`\nexport const SESSION_COOKIE_NAME = env.VITE_SESSION_COOKIE_NAME ?? \"session_key\"\nexport const SESSION_METADATA_COOKIE_NAME =\n env.VITE_SESSION_METADATA_COOKIE_NAME ?? \"session_metadata\"\n","/**\n * This file contains all of vite's environment variables.\n *\n * https://vite.dev/guide/env-and-mode#env-variables\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env\n\n// The mode the app is running in.\nexport const MODE = env.MODE\n\n// The base url the app is being served from.\n// This is determined by the base config option.\nexport const BASE_URL = env.BASE_URL\n\n// Whether the app is running in production (running the dev server with\n// NODE_ENV='production' or running an app built with NODE_ENV='production').\nexport const PROD = env.PROD\n\n// Whether the app is running in development (always the opposite of\n// import.meta.env.PROD)\nexport const DEV = env.DEV\n\n// Whether the app is running in the server.\nexport const SSR = env.SSR\n","// Shorthand to access environment variables.\nexport
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/settings/custom.ts","../../src/settings/vite.ts","../../src/settings/index.ts"],"sourcesContent":["/**\n * This file contains all of our custom settings we define for our own purposes.\n *\n * This file is based on:\n * https://github.com/ocadotechnology/codeforlife-package-python/blob/main/codeforlife/settings/custom.py\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env as Record<string, string | undefined>\n\n// The name of the current service.\nexport const SERVICE_NAME = env.VITE_SERVICE_NAME ?? \"REPLACE_ME\"\n\n// The api url of the current service.\nexport const SERVICE_API_URL =\n env.VITE_SERVICE_API_URL ?? \"http://localhost:8000\"\n\n// The names of cookies.\nexport const CSRF_COOKIE_NAME = `${SERVICE_NAME}_csrftoken`\nexport const SESSION_COOKIE_NAME = env.VITE_SESSION_COOKIE_NAME ?? \"session_key\"\nexport const SESSION_METADATA_COOKIE_NAME =\n env.VITE_SESSION_METADATA_COOKIE_NAME ?? \"session_metadata\"\n","/**\n * This file contains all of vite's environment variables.\n *\n * https://vite.dev/guide/env-and-mode#env-variables\n */\n\n// Shorthand to access environment variables.\nconst env = import.meta.env\n\n// The mode the app is running in.\nexport const MODE = env.MODE\n\n// The base url the app is being served from.\n// This is determined by the base config option.\nexport const BASE_URL = env.BASE_URL\n\n// Whether the app is running in production (running the dev server with\n// NODE_ENV='production' or running an app built with NODE_ENV='production').\nexport const PROD = env.PROD\n\n// Whether the app is running in development (always the opposite of\n// import.meta.env.PROD)\nexport const DEV = env.DEV\n\n// Whether the app is running in the server.\nexport const SSR = env.SSR\n","// Shorthand to access environment variables.\nexport const vite = new Proxy(import.meta.env, {\n get: (target, name: string) => target[`VITE_${name}`] as string,\n}) as Record<string, string>\n\nexport * from \"./custom\"\nexport * from \"./vite\"\n"],"names":["env","__vite_import_meta_env__","SERVICE_NAME","SERVICE_API_URL","CSRF_COOKIE_NAME","SESSION_COOKIE_NAME","SESSION_METADATA_COOKIE_NAME","MODE","BASE_URL","PROD","DEV","SSR","vite","target","name"],"mappings":"cAQMA,IAAMC,GAGCC,IAAeF,EAAI,qBAAqB,cAGxCG,IACXH,EAAI,wBAAwB,yBAGjBI,IAAmB,GAAGF,CAAY,cAClCG,IAAsBL,EAAI,4BAA4B,eACtDM,IACXN,EAAI,qCAAqC,2FCdrCA,IAAMC,GAGCM,IAAOP,EAAI,MAIXQ,IAAWR,EAAI,UAIfS,IAAOT,EAAI,MAIXU,IAAMV,EAAI,KAGVW,IAAMX,EAAI,4ECxBVY,IAAO,IAAI,MAAMX,GAAiB;AAAA,EAC7C,KAAK,CAACY,GAAQC,MAAiBD,EAAO,QAAQC,CAAI,EAAE;AACtD,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("@mui/material");const e=require("../../index-
|
|
1
|
+
"use strict";require("@mui/material");const e=require("../../index-B89FjK7v.cjs");module.exports=e.components;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/theme/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@mui/material"),c=require("../index-B89FjK7v.cjs"),o=require("../palette-BnIdHKDE.cjs"),a=require("../jsx-runtime-B2pbW5Fp.cjs"),h=require("@mui/icons-material"),j=({options:t=x,withShapes:d=!1,userType:u,bgcolor:n,children:v,sx:M,...g})=>{let p,l,r;switch(u){case"teacher":n=n??o.primary[400],p="tertiary",l="secondary",r=o.palette.primary.contrastText;break;case"student":n=n??o.tertiary[500],p="secondary",l="primary",r=o.palette.tertiary.contrastText;break;case"independent":n=n??o.secondary[500],p="primary",l="tertiary",r=o.palette.secondary.contrastText;break}const y={display:{xs:"none",md:"block"},fontSize:"180px",position:"absolute"},m={color:r,textDecorationColor:r};function s(e,k,O,T="root"){return{...c.getStyleOverrides(e,O,T,t.components),...!c.includesClassNames(e,["no-override"])&&k}}const b=i.responsiveFontSizes(i.createTheme({...t,components:{...t.components,MuiTypography:{...t.components?.MuiTypography,styleOverrides:{...t.components?.MuiTypography?.styleOverrides,root:({ownerState:e})=>s(e,{...m},"MuiTypography")}},MuiFormHelperText:{...t.components?.MuiFormHelperText,styleOverrides:{...t.components?.MuiFormHelperText?.styleOverrides,root:({ownerState:e})=>s(e,{...m},"MuiFormHelperText")}},MuiLink:{...t.components?.MuiLink,styleOverrides:{...t.components?.MuiLink?.styleOverrides,root:({ownerState:e})=>s(e,{...m},"MuiLink")}},MuiButton:{...t.components?.MuiButton,styleOverrides:{...t.components?.MuiButton?.styleOverrides,contained:({ownerState:e})=>s(e,{...u==="independent"&&{backgroundColor:"white","&:hover":{backgroundColor:"#f6f5f5",boxShadow:["0px 6px 10px 0px rgba(0, 0, 0, 0.14)","0px 1px 18px 0px rgba(0, 0, 0, 0.12)","0px 3px 5px 0px rgba(0, 0, 0, 0.2);"].join()},[`&.${i.buttonClasses.disabled}`]:{backgroundColor:"white",color:r}}},"MuiButton","contained"),outlined:({ownerState:e})=>s(e,{...m,border:`2px solid ${r}`,"&:hover":{border:`2px solid ${r}`,backgroundColor:"transparent",textDecoration:"underline"}},"MuiButton","outlined")}},MuiCheckbox:{...t.components?.MuiCheckbox,styleOverrides:{...t.components?.MuiCheckbox?.styleOverrides,root:({ownerState:e})=>s(e,{color:`${r} !important`},"MuiCheckbox")}},MuiSvgIcon:{...t.components?.MuiSvgIcon,styleOverrides:{...t.components?.MuiSvgIcon?.styleOverrides,root:({ownerState:e})=>s(e,{"&.checkbox-error":{color:`${r} !important`}},"MuiSvgIcon")}}}}));return a.jsxRuntimeExports.jsx(i.ThemeProvider,{theme:b,children:a.jsxRuntimeExports.jsxs(i.Box,{sx:{...M,...d&&{paddingY:{xs:2,sm:3,md:5},paddingX:{xs:2,sm:5,md:10},marginX:{md:"90px"}},bgcolor:n,alignItems:"center",position:"relative"},...g,children:[d&&a.jsxRuntimeExports.jsxs(a.jsxRuntimeExports.Fragment,{children:[a.jsxRuntimeExports.jsx(h.Circle,{color:p,sx:{...y,top:"5%",left:"0%",transform:"translate(-60%, 0%)"}}),a.jsxRuntimeExports.jsx(h.Hexagon,{color:l,sx:{...y,bottom:"5%",right:"0%",transform:"translate(60%, 0%) rotate(90deg)"}})]}),v]})})},x={palette:o.palette,components:c.components,spacing:c.spacing,typography:c.typography},C=i.responsiveFontSizes(i.createTheme(x));exports.colors=o.colors;exports.ThemedBox=j;exports.theme=C;exports.themeOptions=x;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/theme/ThemedBox.tsx","../../src/theme/index.ts"],"sourcesContent":["import {\n Box,\n type BoxProps,\n type CSSObject,\n type PaletteColor,\n type SxProps,\n type ThemeOptions,\n ThemeProvider,\n buttonClasses,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\nimport {\n Circle as CircleIcon,\n Hexagon as HexagonIcon,\n} from \"@mui/icons-material\"\nimport type { CommonProps } from \"@mui/material/OverridableComponent\"\nimport type React from \"react\"\n\nimport { getStyleOverrides, includesClassNames } from \"../utils/theme\"\nimport { primary, secondary, tertiary } from \"./colors\"\nimport type Components from \"./components/_components\"\nimport palette from \"./palette\"\nimport { themeOptions } from \".\"\n\nexport interface ThemedBoxProps extends BoxProps {\n options?: ThemeOptions\n withShapes?: boolean\n userType: \"teacher\" | \"student\" | \"independent\"\n bgcolor?: string\n}\n\nconst ThemedBox: React.FC<ThemedBoxProps> = ({\n options = themeOptions,\n withShapes = false,\n userType,\n bgcolor,\n children,\n sx,\n ...otherBoxProps\n}) => {\n let circleColor: \"primary\" | \"secondary\" | \"tertiary\"\n let hexagonColor: \"primary\" | \"secondary\" | \"tertiary\"\n let contrastText: string\n switch (userType) {\n case \"teacher\":\n bgcolor = bgcolor ?? primary[400]\n circleColor = \"tertiary\"\n hexagonColor = \"secondary\"\n contrastText = (palette.primary as PaletteColor).contrastText\n break\n case \"student\":\n bgcolor = bgcolor ?? tertiary[500]\n circleColor = \"secondary\"\n hexagonColor = \"primary\"\n contrastText = palette.tertiary.contrastText\n break\n case \"independent\":\n bgcolor = bgcolor ?? secondary[500]\n circleColor = \"primary\"\n hexagonColor = \"tertiary\"\n contrastText = (palette.secondary as PaletteColor).contrastText\n break\n }\n\n const commonIconSxProps: SxProps = {\n display: { xs: \"none\", md: \"block\" },\n fontSize: \"180px\",\n position: \"absolute\",\n }\n\n const fontStyleOverrides = {\n color: contrastText,\n textDecorationColor: contrastText,\n }\n\n function overrideStyles(\n ownerState: CommonProps,\n styleOverrides: CSSObject,\n componentKey: keyof Components,\n muiClassName: string = \"root\",\n ): CSSObject {\n return {\n // Get the original styles.\n ...getStyleOverrides(\n ownerState,\n componentKey,\n muiClassName,\n options.components,\n ),\n // Override styles unless the class name 'no-override' is set.\n ...(!includesClassNames(ownerState, [\"no-override\"]) && styleOverrides),\n }\n }\n\n const theme = responsiveFontSizes(\n createTheme({\n ...options,\n components: {\n ...options.components,\n MuiTypography: {\n ...options.components?.MuiTypography,\n styleOverrides: {\n ...options.components?.MuiTypography?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiTypography\",\n ),\n },\n },\n MuiFormHelperText: {\n ...options.components?.MuiFormHelperText,\n styleOverrides: {\n ...options.components?.MuiFormHelperText?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiFormHelperText\",\n ),\n },\n },\n MuiLink: {\n ...options.components?.MuiLink,\n styleOverrides: {\n ...options.components?.MuiLink?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiLink\",\n ),\n },\n },\n MuiButton: {\n ...options.components?.MuiButton,\n styleOverrides: {\n ...options.components?.MuiButton?.styleOverrides,\n contained: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...(userType === \"independent\" && {\n backgroundColor: \"white\",\n \"&:hover\": {\n backgroundColor: \"#f6f5f5\",\n boxShadow: [\n \"0px 6px 10px 0px rgba(0, 0, 0, 0.14)\",\n \"0px 1px 18px 0px rgba(0, 0, 0, 0.12)\",\n \"0px 3px 5px 0px rgba(0, 0, 0, 0.2);\",\n ].join(),\n },\n [`&.${buttonClasses.disabled}`]: {\n backgroundColor: \"white\",\n color: contrastText,\n },\n }),\n },\n \"MuiButton\",\n \"contained\",\n ),\n outlined: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n border: `2px solid ${contrastText}`,\n \"&:hover\": {\n border: `2px solid ${contrastText}`,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n },\n },\n \"MuiButton\",\n \"outlined\",\n ),\n },\n },\n MuiCheckbox: {\n ...options.components?.MuiCheckbox,\n styleOverrides: {\n ...options.components?.MuiCheckbox?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n color: `${contrastText} !important`,\n },\n \"MuiCheckbox\",\n ),\n },\n },\n MuiSvgIcon: {\n ...options.components?.MuiSvgIcon,\n styleOverrides: {\n ...options.components?.MuiSvgIcon?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n \"&.checkbox-error\": {\n color: `${contrastText} !important`,\n },\n },\n \"MuiSvgIcon\",\n ),\n },\n },\n },\n }),\n )\n\n return (\n <ThemeProvider theme={theme}>\n <Box\n sx={{\n ...sx,\n ...(withShapes && {\n paddingY: { xs: 2, sm: 3, md: 5 },\n paddingX: { xs: 2, sm: 5, md: 10 },\n marginX: { md: \"90px\" },\n }),\n bgcolor,\n alignItems: \"center\",\n position: \"relative\",\n }}\n {...otherBoxProps}\n >\n {withShapes && (\n <>\n <CircleIcon\n color={circleColor}\n sx={{\n ...commonIconSxProps,\n top: \"5%\",\n left: \"0%\",\n transform: \"translate(-60%, 0%)\",\n }}\n />\n <HexagonIcon\n color={hexagonColor}\n sx={{\n ...commonIconSxProps,\n bottom: \"5%\",\n right: \"0%\",\n transform: \"translate(60%, 0%) rotate(90deg)\",\n }}\n />\n </>\n )}\n {children}\n </Box>\n </ThemeProvider>\n )\n}\n\nexport default ThemedBox\n","import {\n type ThemeOptions,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\n\nimport components from \"./components\"\nimport palette from \"./palette\"\nimport spacing from \"./spacing\"\nimport typography from \"./typography\"\n\nexport * as colors from \"./colors\"\nexport * from \"./palette\"\nexport * from \"./ThemedBox\"\nexport { default as ThemedBox } from \"./ThemedBox\"\n\nexport const themeOptions: ThemeOptions = {\n palette,\n components,\n spacing,\n typography,\n}\n\nconst theme = responsiveFontSizes(createTheme(themeOptions))\n\nexport default theme\n"],"names":["ThemedBox","options","themeOptions","withShapes","userType","bgcolor","children","sx","otherBoxProps","circleColor","hexagonColor","contrastText","primary","palette","tertiary","secondary","commonIconSxProps","fontStyleOverrides","overrideStyles","ownerState","styleOverrides","componentKey","muiClassName","getStyleOverrides","includesClassNames","theme","responsiveFontSizes","createTheme","buttonClasses","jsx","ThemeProvider","jsxs","Box","Fragment","CircleIcon","HexagonIcon","components","spacing","typography"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/theme/ThemedBox.tsx","../../src/theme/index.ts"],"sourcesContent":["import {\n Box,\n type BoxProps,\n type CSSObject,\n type PaletteColor,\n type SxProps,\n type ThemeOptions,\n ThemeProvider,\n buttonClasses,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\nimport {\n Circle as CircleIcon,\n Hexagon as HexagonIcon,\n} from \"@mui/icons-material\"\nimport type { CommonProps } from \"@mui/material/OverridableComponent\"\nimport type React from \"react\"\n\nimport { getStyleOverrides, includesClassNames } from \"../utils/theme\"\nimport { primary, secondary, tertiary } from \"./colors\"\nimport type Components from \"./components/_components\"\nimport palette from \"./palette\"\nimport { themeOptions } from \".\"\n\nexport interface ThemedBoxProps extends BoxProps {\n options?: ThemeOptions\n withShapes?: boolean\n userType: \"teacher\" | \"student\" | \"independent\"\n bgcolor?: string\n}\n\nconst ThemedBox: React.FC<ThemedBoxProps> = ({\n options = themeOptions,\n withShapes = false,\n userType,\n bgcolor,\n children,\n sx,\n ...otherBoxProps\n}) => {\n let circleColor: \"primary\" | \"secondary\" | \"tertiary\"\n let hexagonColor: \"primary\" | \"secondary\" | \"tertiary\"\n let contrastText: string\n switch (userType) {\n case \"teacher\":\n bgcolor = bgcolor ?? primary[400]\n circleColor = \"tertiary\"\n hexagonColor = \"secondary\"\n contrastText = (palette.primary as PaletteColor).contrastText\n break\n case \"student\":\n bgcolor = bgcolor ?? tertiary[500]\n circleColor = \"secondary\"\n hexagonColor = \"primary\"\n contrastText = palette.tertiary.contrastText\n break\n case \"independent\":\n bgcolor = bgcolor ?? secondary[500]\n circleColor = \"primary\"\n hexagonColor = \"tertiary\"\n contrastText = (palette.secondary as PaletteColor).contrastText\n break\n }\n\n const commonIconSxProps: SxProps = {\n display: { xs: \"none\", md: \"block\" },\n fontSize: \"180px\",\n position: \"absolute\",\n }\n\n const fontStyleOverrides = {\n color: contrastText,\n textDecorationColor: contrastText,\n }\n\n function overrideStyles(\n ownerState: CommonProps,\n styleOverrides: CSSObject,\n componentKey: keyof Components,\n muiClassName: string = \"root\",\n ): CSSObject {\n return {\n // Get the original styles.\n ...getStyleOverrides(\n ownerState,\n componentKey,\n muiClassName,\n options.components,\n ),\n // Override styles unless the class name 'no-override' is set.\n ...(!includesClassNames(ownerState, [\"no-override\"]) && styleOverrides),\n }\n }\n\n const theme = responsiveFontSizes(\n createTheme({\n ...options,\n components: {\n ...options.components,\n MuiTypography: {\n ...options.components?.MuiTypography,\n styleOverrides: {\n ...options.components?.MuiTypography?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiTypography\",\n ),\n },\n },\n MuiFormHelperText: {\n ...options.components?.MuiFormHelperText,\n styleOverrides: {\n ...options.components?.MuiFormHelperText?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiFormHelperText\",\n ),\n },\n },\n MuiLink: {\n ...options.components?.MuiLink,\n styleOverrides: {\n ...options.components?.MuiLink?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiLink\",\n ),\n },\n },\n MuiButton: {\n ...options.components?.MuiButton,\n styleOverrides: {\n ...options.components?.MuiButton?.styleOverrides,\n contained: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...(userType === \"independent\" && {\n backgroundColor: \"white\",\n \"&:hover\": {\n backgroundColor: \"#f6f5f5\",\n boxShadow: [\n \"0px 6px 10px 0px rgba(0, 0, 0, 0.14)\",\n \"0px 1px 18px 0px rgba(0, 0, 0, 0.12)\",\n \"0px 3px 5px 0px rgba(0, 0, 0, 0.2);\",\n ].join(),\n },\n [`&.${buttonClasses.disabled}`]: {\n backgroundColor: \"white\",\n color: contrastText,\n },\n }),\n },\n \"MuiButton\",\n \"contained\",\n ),\n outlined: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n border: `2px solid ${contrastText}`,\n \"&:hover\": {\n border: `2px solid ${contrastText}`,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n },\n },\n \"MuiButton\",\n \"outlined\",\n ),\n },\n },\n MuiCheckbox: {\n ...options.components?.MuiCheckbox,\n styleOverrides: {\n ...options.components?.MuiCheckbox?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n color: `${contrastText} !important`,\n },\n \"MuiCheckbox\",\n ),\n },\n },\n MuiSvgIcon: {\n ...options.components?.MuiSvgIcon,\n styleOverrides: {\n ...options.components?.MuiSvgIcon?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n \"&.checkbox-error\": {\n color: `${contrastText} !important`,\n },\n },\n \"MuiSvgIcon\",\n ),\n },\n },\n },\n }),\n )\n\n return (\n <ThemeProvider theme={theme}>\n <Box\n sx={{\n ...sx,\n ...(withShapes && {\n paddingY: { xs: 2, sm: 3, md: 5 },\n paddingX: { xs: 2, sm: 5, md: 10 },\n marginX: { md: \"90px\" },\n }),\n bgcolor,\n alignItems: \"center\",\n position: \"relative\",\n }}\n {...otherBoxProps}\n >\n {withShapes && (\n <>\n <CircleIcon\n color={circleColor}\n sx={{\n ...commonIconSxProps,\n top: \"5%\",\n left: \"0%\",\n transform: \"translate(-60%, 0%)\",\n }}\n />\n <HexagonIcon\n color={hexagonColor}\n sx={{\n ...commonIconSxProps,\n bottom: \"5%\",\n right: \"0%\",\n transform: \"translate(60%, 0%) rotate(90deg)\",\n }}\n />\n </>\n )}\n {children}\n </Box>\n </ThemeProvider>\n )\n}\n\nexport default ThemedBox\n","import {\n type ThemeOptions,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\n\nimport components from \"./components\"\nimport palette from \"./palette\"\nimport spacing from \"./spacing\"\nimport typography from \"./typography\"\n\nexport * as colors from \"./colors\"\nexport * from \"./palette\"\nexport * from \"./ThemedBox\"\nexport { default as ThemedBox } from \"./ThemedBox\"\n\nexport const themeOptions: ThemeOptions = {\n palette,\n components,\n spacing,\n typography,\n}\n\nexport const theme = responsiveFontSizes(createTheme(themeOptions))\n"],"names":["ThemedBox","options","themeOptions","withShapes","userType","bgcolor","children","sx","otherBoxProps","circleColor","hexagonColor","contrastText","primary","palette","tertiary","secondary","commonIconSxProps","fontStyleOverrides","overrideStyles","ownerState","styleOverrides","componentKey","muiClassName","getStyleOverrides","includesClassNames","theme","responsiveFontSizes","createTheme","buttonClasses","jsx","ThemeProvider","jsxs","Box","Fragment","CircleIcon","HexagonIcon","components","spacing","typography"],"mappings":"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"}
|
package/dist/theme/index.d.ts
CHANGED
package/dist/theme/index.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { responsiveFontSizes as x, createTheme as u, buttonClasses as O, ThemeProvider as C, Box as T } from "@mui/material";
|
|
2
|
-
import { g as S, i as j, t as B, s as F, c as I } from "../index-
|
|
2
|
+
import { g as S, i as j, t as B, s as F, c as I } from "../index-CHboZsxD.js";
|
|
3
3
|
import { s as H, p as m, t as $, a as L } from "../palette-CYwuLBW7.js";
|
|
4
4
|
import { c as G } from "../palette-CYwuLBW7.js";
|
|
5
|
-
import { j as s } from "../jsx-runtime-
|
|
5
|
+
import { j as s } from "../jsx-runtime-lzYHhGH3.js";
|
|
6
6
|
import { Circle as w, Hexagon as z } from "@mui/icons-material";
|
|
7
7
|
const R = ({
|
|
8
8
|
options: r = y,
|
|
@@ -33,13 +33,13 @@ const R = ({
|
|
|
33
33
|
color: o,
|
|
34
34
|
textDecorationColor: o
|
|
35
35
|
};
|
|
36
|
-
function n(e, b,
|
|
36
|
+
function n(e, b, k, f = "root") {
|
|
37
37
|
return {
|
|
38
38
|
// Get the original styles.
|
|
39
39
|
...S(
|
|
40
40
|
e,
|
|
41
|
-
f,
|
|
42
41
|
k,
|
|
42
|
+
f,
|
|
43
43
|
r.components
|
|
44
44
|
),
|
|
45
45
|
// Override styles unless the class name 'no-override' is set.
|
|
@@ -218,7 +218,7 @@ const R = ({
|
|
|
218
218
|
export {
|
|
219
219
|
R as ThemedBox,
|
|
220
220
|
G as colors,
|
|
221
|
-
Y as
|
|
221
|
+
Y as theme,
|
|
222
222
|
y as themeOptions
|
|
223
223
|
};
|
|
224
224
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/theme/ThemedBox.tsx","../../src/theme/index.ts"],"sourcesContent":["import {\n Box,\n type BoxProps,\n type CSSObject,\n type PaletteColor,\n type SxProps,\n type ThemeOptions,\n ThemeProvider,\n buttonClasses,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\nimport {\n Circle as CircleIcon,\n Hexagon as HexagonIcon,\n} from \"@mui/icons-material\"\nimport type { CommonProps } from \"@mui/material/OverridableComponent\"\nimport type React from \"react\"\n\nimport { getStyleOverrides, includesClassNames } from \"../utils/theme\"\nimport { primary, secondary, tertiary } from \"./colors\"\nimport type Components from \"./components/_components\"\nimport palette from \"./palette\"\nimport { themeOptions } from \".\"\n\nexport interface ThemedBoxProps extends BoxProps {\n options?: ThemeOptions\n withShapes?: boolean\n userType: \"teacher\" | \"student\" | \"independent\"\n bgcolor?: string\n}\n\nconst ThemedBox: React.FC<ThemedBoxProps> = ({\n options = themeOptions,\n withShapes = false,\n userType,\n bgcolor,\n children,\n sx,\n ...otherBoxProps\n}) => {\n let circleColor: \"primary\" | \"secondary\" | \"tertiary\"\n let hexagonColor: \"primary\" | \"secondary\" | \"tertiary\"\n let contrastText: string\n switch (userType) {\n case \"teacher\":\n bgcolor = bgcolor ?? primary[400]\n circleColor = \"tertiary\"\n hexagonColor = \"secondary\"\n contrastText = (palette.primary as PaletteColor).contrastText\n break\n case \"student\":\n bgcolor = bgcolor ?? tertiary[500]\n circleColor = \"secondary\"\n hexagonColor = \"primary\"\n contrastText = palette.tertiary.contrastText\n break\n case \"independent\":\n bgcolor = bgcolor ?? secondary[500]\n circleColor = \"primary\"\n hexagonColor = \"tertiary\"\n contrastText = (palette.secondary as PaletteColor).contrastText\n break\n }\n\n const commonIconSxProps: SxProps = {\n display: { xs: \"none\", md: \"block\" },\n fontSize: \"180px\",\n position: \"absolute\",\n }\n\n const fontStyleOverrides = {\n color: contrastText,\n textDecorationColor: contrastText,\n }\n\n function overrideStyles(\n ownerState: CommonProps,\n styleOverrides: CSSObject,\n componentKey: keyof Components,\n muiClassName: string = \"root\",\n ): CSSObject {\n return {\n // Get the original styles.\n ...getStyleOverrides(\n ownerState,\n componentKey,\n muiClassName,\n options.components,\n ),\n // Override styles unless the class name 'no-override' is set.\n ...(!includesClassNames(ownerState, [\"no-override\"]) && styleOverrides),\n }\n }\n\n const theme = responsiveFontSizes(\n createTheme({\n ...options,\n components: {\n ...options.components,\n MuiTypography: {\n ...options.components?.MuiTypography,\n styleOverrides: {\n ...options.components?.MuiTypography?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiTypography\",\n ),\n },\n },\n MuiFormHelperText: {\n ...options.components?.MuiFormHelperText,\n styleOverrides: {\n ...options.components?.MuiFormHelperText?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiFormHelperText\",\n ),\n },\n },\n MuiLink: {\n ...options.components?.MuiLink,\n styleOverrides: {\n ...options.components?.MuiLink?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiLink\",\n ),\n },\n },\n MuiButton: {\n ...options.components?.MuiButton,\n styleOverrides: {\n ...options.components?.MuiButton?.styleOverrides,\n contained: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...(userType === \"independent\" && {\n backgroundColor: \"white\",\n \"&:hover\": {\n backgroundColor: \"#f6f5f5\",\n boxShadow: [\n \"0px 6px 10px 0px rgba(0, 0, 0, 0.14)\",\n \"0px 1px 18px 0px rgba(0, 0, 0, 0.12)\",\n \"0px 3px 5px 0px rgba(0, 0, 0, 0.2);\",\n ].join(),\n },\n [`&.${buttonClasses.disabled}`]: {\n backgroundColor: \"white\",\n color: contrastText,\n },\n }),\n },\n \"MuiButton\",\n \"contained\",\n ),\n outlined: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n border: `2px solid ${contrastText}`,\n \"&:hover\": {\n border: `2px solid ${contrastText}`,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n },\n },\n \"MuiButton\",\n \"outlined\",\n ),\n },\n },\n MuiCheckbox: {\n ...options.components?.MuiCheckbox,\n styleOverrides: {\n ...options.components?.MuiCheckbox?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n color: `${contrastText} !important`,\n },\n \"MuiCheckbox\",\n ),\n },\n },\n MuiSvgIcon: {\n ...options.components?.MuiSvgIcon,\n styleOverrides: {\n ...options.components?.MuiSvgIcon?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n \"&.checkbox-error\": {\n color: `${contrastText} !important`,\n },\n },\n \"MuiSvgIcon\",\n ),\n },\n },\n },\n }),\n )\n\n return (\n <ThemeProvider theme={theme}>\n <Box\n sx={{\n ...sx,\n ...(withShapes && {\n paddingY: { xs: 2, sm: 3, md: 5 },\n paddingX: { xs: 2, sm: 5, md: 10 },\n marginX: { md: \"90px\" },\n }),\n bgcolor,\n alignItems: \"center\",\n position: \"relative\",\n }}\n {...otherBoxProps}\n >\n {withShapes && (\n <>\n <CircleIcon\n color={circleColor}\n sx={{\n ...commonIconSxProps,\n top: \"5%\",\n left: \"0%\",\n transform: \"translate(-60%, 0%)\",\n }}\n />\n <HexagonIcon\n color={hexagonColor}\n sx={{\n ...commonIconSxProps,\n bottom: \"5%\",\n right: \"0%\",\n transform: \"translate(60%, 0%) rotate(90deg)\",\n }}\n />\n </>\n )}\n {children}\n </Box>\n </ThemeProvider>\n )\n}\n\nexport default ThemedBox\n","import {\n type ThemeOptions,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\n\nimport components from \"./components\"\nimport palette from \"./palette\"\nimport spacing from \"./spacing\"\nimport typography from \"./typography\"\n\nexport * as colors from \"./colors\"\nexport * from \"./palette\"\nexport * from \"./ThemedBox\"\nexport { default as ThemedBox } from \"./ThemedBox\"\n\nexport const themeOptions: ThemeOptions = {\n palette,\n components,\n spacing,\n typography,\n}\n\nconst theme = responsiveFontSizes(createTheme(themeOptions))\n\nexport default theme\n"],"names":["ThemedBox","options","themeOptions","withShapes","userType","bgcolor","children","sx","otherBoxProps","circleColor","hexagonColor","contrastText","primary","palette","tertiary","secondary","commonIconSxProps","fontStyleOverrides","overrideStyles","ownerState","styleOverrides","componentKey","muiClassName","getStyleOverrides","includesClassNames","theme","responsiveFontSizes","createTheme","buttonClasses","jsx","ThemeProvider","jsxs","Box","Fragment","CircleIcon","HexagonIcon","components","spacing","typography"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/theme/ThemedBox.tsx","../../src/theme/index.ts"],"sourcesContent":["import {\n Box,\n type BoxProps,\n type CSSObject,\n type PaletteColor,\n type SxProps,\n type ThemeOptions,\n ThemeProvider,\n buttonClasses,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\nimport {\n Circle as CircleIcon,\n Hexagon as HexagonIcon,\n} from \"@mui/icons-material\"\nimport type { CommonProps } from \"@mui/material/OverridableComponent\"\nimport type React from \"react\"\n\nimport { getStyleOverrides, includesClassNames } from \"../utils/theme\"\nimport { primary, secondary, tertiary } from \"./colors\"\nimport type Components from \"./components/_components\"\nimport palette from \"./palette\"\nimport { themeOptions } from \".\"\n\nexport interface ThemedBoxProps extends BoxProps {\n options?: ThemeOptions\n withShapes?: boolean\n userType: \"teacher\" | \"student\" | \"independent\"\n bgcolor?: string\n}\n\nconst ThemedBox: React.FC<ThemedBoxProps> = ({\n options = themeOptions,\n withShapes = false,\n userType,\n bgcolor,\n children,\n sx,\n ...otherBoxProps\n}) => {\n let circleColor: \"primary\" | \"secondary\" | \"tertiary\"\n let hexagonColor: \"primary\" | \"secondary\" | \"tertiary\"\n let contrastText: string\n switch (userType) {\n case \"teacher\":\n bgcolor = bgcolor ?? primary[400]\n circleColor = \"tertiary\"\n hexagonColor = \"secondary\"\n contrastText = (palette.primary as PaletteColor).contrastText\n break\n case \"student\":\n bgcolor = bgcolor ?? tertiary[500]\n circleColor = \"secondary\"\n hexagonColor = \"primary\"\n contrastText = palette.tertiary.contrastText\n break\n case \"independent\":\n bgcolor = bgcolor ?? secondary[500]\n circleColor = \"primary\"\n hexagonColor = \"tertiary\"\n contrastText = (palette.secondary as PaletteColor).contrastText\n break\n }\n\n const commonIconSxProps: SxProps = {\n display: { xs: \"none\", md: \"block\" },\n fontSize: \"180px\",\n position: \"absolute\",\n }\n\n const fontStyleOverrides = {\n color: contrastText,\n textDecorationColor: contrastText,\n }\n\n function overrideStyles(\n ownerState: CommonProps,\n styleOverrides: CSSObject,\n componentKey: keyof Components,\n muiClassName: string = \"root\",\n ): CSSObject {\n return {\n // Get the original styles.\n ...getStyleOverrides(\n ownerState,\n componentKey,\n muiClassName,\n options.components,\n ),\n // Override styles unless the class name 'no-override' is set.\n ...(!includesClassNames(ownerState, [\"no-override\"]) && styleOverrides),\n }\n }\n\n const theme = responsiveFontSizes(\n createTheme({\n ...options,\n components: {\n ...options.components,\n MuiTypography: {\n ...options.components?.MuiTypography,\n styleOverrides: {\n ...options.components?.MuiTypography?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiTypography\",\n ),\n },\n },\n MuiFormHelperText: {\n ...options.components?.MuiFormHelperText,\n styleOverrides: {\n ...options.components?.MuiFormHelperText?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiFormHelperText\",\n ),\n },\n },\n MuiLink: {\n ...options.components?.MuiLink,\n styleOverrides: {\n ...options.components?.MuiLink?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n },\n \"MuiLink\",\n ),\n },\n },\n MuiButton: {\n ...options.components?.MuiButton,\n styleOverrides: {\n ...options.components?.MuiButton?.styleOverrides,\n contained: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...(userType === \"independent\" && {\n backgroundColor: \"white\",\n \"&:hover\": {\n backgroundColor: \"#f6f5f5\",\n boxShadow: [\n \"0px 6px 10px 0px rgba(0, 0, 0, 0.14)\",\n \"0px 1px 18px 0px rgba(0, 0, 0, 0.12)\",\n \"0px 3px 5px 0px rgba(0, 0, 0, 0.2);\",\n ].join(),\n },\n [`&.${buttonClasses.disabled}`]: {\n backgroundColor: \"white\",\n color: contrastText,\n },\n }),\n },\n \"MuiButton\",\n \"contained\",\n ),\n outlined: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n ...fontStyleOverrides,\n border: `2px solid ${contrastText}`,\n \"&:hover\": {\n border: `2px solid ${contrastText}`,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n },\n },\n \"MuiButton\",\n \"outlined\",\n ),\n },\n },\n MuiCheckbox: {\n ...options.components?.MuiCheckbox,\n styleOverrides: {\n ...options.components?.MuiCheckbox?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n color: `${contrastText} !important`,\n },\n \"MuiCheckbox\",\n ),\n },\n },\n MuiSvgIcon: {\n ...options.components?.MuiSvgIcon,\n styleOverrides: {\n ...options.components?.MuiSvgIcon?.styleOverrides,\n root: ({ ownerState }) =>\n overrideStyles(\n ownerState,\n {\n \"&.checkbox-error\": {\n color: `${contrastText} !important`,\n },\n },\n \"MuiSvgIcon\",\n ),\n },\n },\n },\n }),\n )\n\n return (\n <ThemeProvider theme={theme}>\n <Box\n sx={{\n ...sx,\n ...(withShapes && {\n paddingY: { xs: 2, sm: 3, md: 5 },\n paddingX: { xs: 2, sm: 5, md: 10 },\n marginX: { md: \"90px\" },\n }),\n bgcolor,\n alignItems: \"center\",\n position: \"relative\",\n }}\n {...otherBoxProps}\n >\n {withShapes && (\n <>\n <CircleIcon\n color={circleColor}\n sx={{\n ...commonIconSxProps,\n top: \"5%\",\n left: \"0%\",\n transform: \"translate(-60%, 0%)\",\n }}\n />\n <HexagonIcon\n color={hexagonColor}\n sx={{\n ...commonIconSxProps,\n bottom: \"5%\",\n right: \"0%\",\n transform: \"translate(60%, 0%) rotate(90deg)\",\n }}\n />\n </>\n )}\n {children}\n </Box>\n </ThemeProvider>\n )\n}\n\nexport default ThemedBox\n","import {\n type ThemeOptions,\n createTheme,\n responsiveFontSizes,\n} from \"@mui/material\"\n\nimport components from \"./components\"\nimport palette from \"./palette\"\nimport spacing from \"./spacing\"\nimport typography from \"./typography\"\n\nexport * as colors from \"./colors\"\nexport * from \"./palette\"\nexport * from \"./ThemedBox\"\nexport { default as ThemedBox } from \"./ThemedBox\"\n\nexport const themeOptions: ThemeOptions = {\n palette,\n components,\n spacing,\n typography,\n}\n\nexport const theme = responsiveFontSizes(createTheme(themeOptions))\n"],"names":["ThemedBox","options","themeOptions","withShapes","userType","bgcolor","children","sx","otherBoxProps","circleColor","hexagonColor","contrastText","primary","palette","tertiary","secondary","commonIconSxProps","fontStyleOverrides","overrideStyles","ownerState","styleOverrides","componentKey","muiClassName","getStyleOverrides","includesClassNames","theme","responsiveFontSizes","createTheme","buttonClasses","jsx","ThemeProvider","jsxs","Box","Fragment","CircleIcon","HexagonIcon","components","spacing","typography"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const s=require("./api-
|
|
2
|
-
//# sourceMappingURL=urls-
|
|
1
|
+
"use strict";const s=require("./api-CAH3GT1O.cjs"),e={user:s.modelUrls("users/","users/<id>/"),teacher:s.modelUrls("users/teachers/","users/teachers/<id>/"),student:s.modelUrls("users/students/","users/students/<id>/"),school:s.modelUrls("schools/","schools/<id>/"),class:s.modelUrls("classes/","classes/<id>/"),otpBypassToken:s.modelUrls("otp-bypass-tokens/","otp-bypass-tokens/<id>/"),authFactor:s.modelUrls("auth-factors/","auth-factors/<id>/")};exports.urls=e;
|
|
2
|
+
//# sourceMappingURL=urls-CGZI0f1w.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls-
|
|
1
|
+
{"version":3,"file":"urls-CGZI0f1w.cjs","sources":["../src/api/urls.ts"],"sourcesContent":["import { modelUrls } from \"../utils/api\"\n\nconst urls = {\n user: modelUrls(\"users/\", \"users/<id>/\"),\n teacher: modelUrls(\"users/teachers/\", \"users/teachers/<id>/\"),\n student: modelUrls(\"users/students/\", \"users/students/<id>/\"),\n school: modelUrls(\"schools/\", \"schools/<id>/\"),\n class: modelUrls(\"classes/\", \"classes/<id>/\"),\n otpBypassToken: modelUrls(\"otp-bypass-tokens/\", \"otp-bypass-tokens/<id>/\"),\n authFactor: modelUrls(\"auth-factors/\", \"auth-factors/<id>/\"),\n}\n\nexport default urls\n"],"names":["urls","modelUrls"],"mappings":"mDAEMA,EAAO,CACX,KAAMC,EAAAA,UAAU,SAAU,aAAa,EACvC,QAASA,EAAAA,UAAU,kBAAmB,sBAAsB,EAC5D,QAASA,EAAAA,UAAU,kBAAmB,sBAAsB,EAC5D,OAAQA,EAAAA,UAAU,WAAY,eAAe,EAC7C,MAAOA,EAAAA,UAAU,WAAY,eAAe,EAC5C,eAAgBA,EAAAA,UAAU,qBAAsB,yBAAyB,EACzE,WAAYA,EAAAA,UAAU,gBAAiB,oBAAoB,CAC7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as s } from "./api-
|
|
1
|
+
import { m as s } from "./api-BFYu8ZvQ.js";
|
|
2
2
|
const t = {
|
|
3
3
|
user: s("users/", "users/<id>/"),
|
|
4
4
|
teacher: s("users/teachers/", "users/teachers/<id>/"),
|
|
@@ -11,4 +11,4 @@ const t = {
|
|
|
11
11
|
export {
|
|
12
12
|
t as u
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=urls-
|
|
14
|
+
//# sourceMappingURL=urls-DP4a8kxP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls-
|
|
1
|
+
{"version":3,"file":"urls-DP4a8kxP.js","sources":["../src/api/urls.ts"],"sourcesContent":["import { modelUrls } from \"../utils/api\"\n\nconst urls = {\n user: modelUrls(\"users/\", \"users/<id>/\"),\n teacher: modelUrls(\"users/teachers/\", \"users/teachers/<id>/\"),\n student: modelUrls(\"users/students/\", \"users/students/<id>/\"),\n school: modelUrls(\"schools/\", \"schools/<id>/\"),\n class: modelUrls(\"classes/\", \"classes/<id>/\"),\n otpBypassToken: modelUrls(\"otp-bypass-tokens/\", \"otp-bypass-tokens/<id>/\"),\n authFactor: modelUrls(\"auth-factors/\", \"auth-factors/<id>/\"),\n}\n\nexport default urls\n"],"names":["urls","modelUrls"],"mappings":";AAEA,MAAMA,IAAO;AAAA,EACX,MAAMC,EAAU,UAAU,aAAa;AAAA,EACvC,SAASA,EAAU,mBAAmB,sBAAsB;AAAA,EAC5D,SAASA,EAAU,mBAAmB,sBAAsB;AAAA,EAC5D,QAAQA,EAAU,YAAY,eAAe;AAAA,EAC7C,OAAOA,EAAU,YAAY,eAAe;AAAA,EAC5C,gBAAgBA,EAAU,sBAAsB,yBAAyB;AAAA,EACzE,YAAYA,EAAU,iBAAiB,oBAAoB;AAC7D;"}
|
package/dist/utils/api.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../jsx-runtime-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../jsx-runtime-B2pbW5Fp.cjs");require("@mui/material");require("react");require("./general.cjs.js");require("yup");const e=require("../api-CAH3GT1O.cjs");exports.buildUrl=e.buildUrl;exports.handleResultState=e.handleResultState;exports.isModelId=e.isModelId;exports.isSafeHttpMethod=e.isSafeHttpMethod;exports.listTag=e.listTag;exports.modelUrls=e.modelUrls;exports.tagData=e.tagData;
|
|
2
2
|
//# sourceMappingURL=api.cjs.js.map
|
package/dist/utils/api.es.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "../jsx-runtime-
|
|
1
|
+
import "../jsx-runtime-lzYHhGH3.js";
|
|
2
2
|
import "@mui/material";
|
|
3
3
|
import "react";
|
|
4
4
|
import "./general.es.js";
|
|
5
5
|
import "yup";
|
|
6
|
-
import { b as e, h as m, a as p, i as d, l as h, m as b, t as f } from "../api-
|
|
6
|
+
import { b as e, h as m, a as p, i as d, l as h, m as b, t as f } from "../api-BFYu8ZvQ.js";
|
|
7
7
|
export {
|
|
8
8
|
e as buildUrl,
|
|
9
9
|
m as handleResultState,
|
package/dist/utils/router.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react-router");require("../jsx-runtime-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react-router");require("../jsx-runtime-B2pbW5Fp.cjs");require("react");require("@mui/icons-material");require("@mui/material");require("../palette-BnIdHKDE.cjs");require("../auth-BwpsrTko.cjs");function q(e,o={}){function c(r,g,t){typeof r.__=="object"&&(t=t?{...t,...r.__}:r.__);const _=typeof e=="string"&&t?l.generatePath(e,t):e;Object.entries(r).forEach(([u,i])=>{if(u!=="__")if(i=i,typeof i=="string"){if(typeof _=="string"&&(!g||u!=="_")){let n=_+i;n.endsWith("/")&&(n=n.slice(0,-1)),r[u]=n}}else c(i,!1,t)})}const f={...o,_:typeof e=="string"?e:"",__:e};return e===""?f._="/":c(f,!0),f}function s(e,o){return e.__[o]}exports.getParam=s;exports.path=q;
|
|
2
2
|
//# sourceMappingURL=router.cjs.js.map
|
package/dist/utils/router.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { generatePath as p } from "react-router";
|
|
2
|
-
import "../jsx-runtime-
|
|
2
|
+
import "../jsx-runtime-lzYHhGH3.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import "@mui/icons-material";
|
|
5
5
|
import "@mui/material";
|
|
6
6
|
import "../palette-CYwuLBW7.js";
|
|
7
|
-
import "../auth-
|
|
7
|
+
import "../auth-Bb8WkZGN.js";
|
|
8
8
|
function x(t, n = {}) {
|
|
9
9
|
function c(i, l, e) {
|
|
10
10
|
typeof i.__ == "object" && (e = e ? { ...e, ...i.__ } : i.__);
|