wcz-layout 7.0.1 → 7.0.2
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.
Potentially problematic release.
This version of wcz-layout might be problematic. Click here for more details.
- package/dist/UseUser-Cgnr4DWh.js.map +1 -1
- package/dist/components/core/Layout.d.ts +1 -1
- package/dist/components/core/navigation/NavigationContent.d.ts +11 -0
- package/dist/index.js +490 -466
- package/dist/index.js.map +1 -1
- package/dist/middleware.js.map +1 -1
- package/dist/models/LayoutOptions.d.ts +1 -1
- package/dist/utils-CWgky1iM.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-CWgky1iM.js","sources":["../src/env.ts","../src/lib/auth/msalClient.ts","../src/lib/utils.ts"],"sourcesContent":["import { createEnv } from \"@t3-oss/env-core\";\nimport { z } from \"zod\";\n\nexport const clientEnv = createEnv({\n clientPrefix: \"VITE_\",\n client: {\n VITE_ENTRA_CLIENT_ID: z.string(),\n VITE_ENTRA_TENANT_ID: z.string(),\n VITE_APP_TITLE: z.string(),\n VITE_MUI_LICENSE_KEY: z.string(),\n VITE_FILE_API_URL: z.url(),\n },\n runtimeEnv: import.meta.env,\n emptyStringAsUndefined: true,\n});\n\nexport const serverEnv = createEnv({\n server: {\n ENTRA_CLIENT_ID: z.string(),\n ENTRA_TENANT_ID: z.string(),\n ENTRA_CLIENT_SECRET: z.string(),\n },\n runtimeEnv: process.env,\n emptyStringAsUndefined: true,\n});\n","import type { AuthenticationResult, EventMessage } from \"@azure/msal-browser\";\r\nimport { EventType, PublicClientApplication } from \"@azure/msal-browser\";\r\nimport { createClientOnlyFn } from \"@tanstack/react-start\";\r\nimport { scopes as definedScopes } from \"virtual:wcz-layout\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const pca = new PublicClientApplication({\r\n auth: {\r\n clientId: clientEnv.VITE_ENTRA_CLIENT_ID,\r\n authority: `https://login.microsoftonline.com/${clientEnv.VITE_ENTRA_TENANT_ID}`,\r\n redirectUri: \"/\",\r\n },\r\n});\r\n\r\nconst initPca = pca.initialize().then(() => {\r\n pca.addEventCallback((event: EventMessage) => {\r\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) {\r\n const payload = event.payload as AuthenticationResult;\r\n const account = payload.account;\r\n pca.setActiveAccount(account);\r\n }\r\n });\r\n\r\n return pca.handleRedirectPromise();\r\n}).then((response) => {\r\n if (response?.account) pca.setActiveAccount(response.account);\r\n});\r\n\r\n/**\r\n * Token Acquisition: Get authenticated access token.\r\n * Use when: Making API calls from the browser to secured endpoints\r\n */\r\nexport const getAccessToken = createClientOnlyFn(\r\n async (scopeKey: keyof typeof definedScopes) => {\r\n await initPca;\r\n\r\n const account = pca.getActiveAccount();\r\n if (!account) throw new Error(\"No active account. User not signed in.\");\r\n\r\n const scopes = definedScopes[scopeKey];\r\n\r\n try {\r\n const { accessToken } = await pca.acquireTokenSilent({ scopes, account });\r\n return accessToken;\r\n } catch {\r\n const { accessToken } = await pca.acquireTokenPopup({ scopes, account });\r\n return accessToken;\r\n }\r\n }\r\n);\r\n","import type { AnyFieldApi } from \"@tanstack/react-form\";\r\nimport type { TokenPayload } from \"~/models/TokenPayload\";\r\nimport { clientEnv } from \"~/env\";\r\nimport { User } from \"~/models/User\";\r\nimport { permissions } from \"virtual:wcz-layout\";\r\n\r\nexport const WISTRON_PRIMARY_COLOR = \"#00506E\";\r\nexport const WISTRON_SECONDARY_COLOR = \"#64DC00\";\r\n\r\nexport class Platform {\r\n static get isAndroid() { return /android/i.test(this.userAgent); }\r\n static get isIOS() { return /iPad|iPhone|iPod/.test(this.userAgent); }\r\n static get isWindows() { return /windows/i.test(this.userAgent); }\r\n static get isMacOS() { return /Macintosh|MacIntel|MacPPC|Mac68K/.test(this.userAgent); }\r\n\r\n private static get userAgent() { return typeof navigator === \"undefined\" ? \"\" : navigator.userAgent; }\r\n}\r\n\r\nexport const rootRouteHead = () => ({\r\n meta: [\r\n { charSet: \"utf-8\" },\r\n { name: \"viewport\", content: \"width=device-width, initial-scale=1\" },\r\n { title: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:type\", content: \"website\" },\r\n { name: \"og:title\", content: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:image\", content: \"/favicon-32x32.png\" }\r\n ],\r\n links: [\r\n { rel: \"apple-touch-icon\", sizes: \"180x180\", href: \"/apple-touch-icon.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"32x32\", href: \"/favicon-32x32.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"16x16\", href: \"/favicon-16x16.png\", },\r\n { rel: \"manifest\", href: \"/manifest.webmanifest\" },\r\n { rel: \"icon\", href: \"/favicon.ico\" },\r\n ],\r\n});\r\n\r\n/* Internal Utils */\r\nexport type FormOmittedProps =\r\n \"name\" |\r\n \"value\" |\r\n \"onChange\" |\r\n \"onBlur\" |\r\n \"error\" |\r\n \"helperText\" |\r\n \"renderInput\" |\r\n \"type\" |\r\n \"aria-label\";\r\n\r\nexport const getFieldStatus = (field: AnyFieldApi) => {\r\n const { meta } = field.state;\r\n\r\n const isTouched = meta.isTouched;\r\n const hasError = !!meta.errors.length;\r\n const helperText = meta.errors[0]?.message;\r\n\r\n return { isTouched, hasError, helperText };\r\n};\r\n\r\nexport const toKebabCase = (str: string): string => {\r\n return str\r\n .replaceAll(/([a-z])([A-Z])/g, \"$1-$2\")\r\n .replaceAll(/[\\s_]+/g, \"-\")\r\n .replaceAll(/[^a-zA-Z0-9-]/g, \"\")\r\n .toLowerCase()\r\n .replaceAll(/-+/g, \"-\")\r\n .replaceAll(/(^-|-$)/g, \"\");\r\n};\r\n\r\nexport const decodeJwt = (token: string) => {\r\n const base64Payload = token.split(\".\")[1];\r\n const base64 = base64Payload.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n const payload = decodeURIComponent(\r\n atob(base64)\r\n .split(\"\")\r\n .map((c) => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2))\r\n .join(\"\")\r\n );\r\n return JSON.parse(payload) as TokenPayload;\r\n};\r\n\r\nexport const buildUser = (payload: TokenPayload): User => ({\r\n id: payload.sub,\r\n name: payload.name.split(\"/\")[0],\r\n email: payload.preferred_username.toLowerCase(),\r\n department: payload.department?.toUpperCase() || \"\",\r\n employeeId: payload.employeeId?.toUpperCase() || \"\",\r\n companyName: payload.companyName || \"\",\r\n hasPermission: (key: keyof typeof permissions) => {\r\n const allowedGroups = permissions[key];\r\n return allowedGroups.some(k => (payload.groups ?? []).includes(k));\r\n }\r\n});\r\n"],"names":["clientEnv","createEnv","clientPrefix","client","VITE_ENTRA_CLIENT_ID","z","string","VITE_ENTRA_TENANT_ID","VITE_APP_TITLE","VITE_MUI_LICENSE_KEY","VITE_FILE_API_URL","url","runtimeEnv","import","emptyStringAsUndefined","serverEnv","server","ENTRA_CLIENT_ID","ENTRA_TENANT_ID","ENTRA_CLIENT_SECRET","process","env","pca","PublicClientApplication","auth","clientId","authority","redirectUri","initPca","initialize","then","addEventCallback","event","eventType","EventType","LOGIN_SUCCESS","payload","account","setActiveAccount","handleRedirectPromise","response","getAccessToken","createClientOnlyFn","scopeKey","getActiveAccount","Error","scopes","definedScopes","accessToken","acquireTokenSilent","acquireTokenPopup","WISTRON_PRIMARY_COLOR","WISTRON_SECONDARY_COLOR","Platform","isAndroid","test","userAgent","isIOS","isWindows","isMacOS","navigator","rootRouteHead","meta","charSet","name","content","title","links","rel","sizes","href","type","getFieldStatus","field","state","isTouched","hasError","errors","length","helperText","message","toKebabCase","str","replaceAll","toLowerCase","decodeJwt","token","base64","split","replace","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","JSON","parse","buildUser","id","sub","email","preferred_username","department","toUpperCase","employeeId","companyName","hasPermission","key","permissions","some","k","groups","includes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils-CWgky1iM.js","sources":["../src/env.ts","../src/lib/auth/msalClient.ts","../src/lib/utils.ts"],"sourcesContent":["import { createEnv } from \"@t3-oss/env-core\";\nimport { z } from \"zod\";\n\nexport const clientEnv = createEnv({\n clientPrefix: \"VITE_\",\n client: {\n VITE_ENTRA_CLIENT_ID: z.string(),\n VITE_ENTRA_TENANT_ID: z.string(),\n VITE_APP_TITLE: z.string(),\n VITE_MUI_LICENSE_KEY: z.string(),\n VITE_FILE_API_URL: z.url(),\n },\n runtimeEnv: import.meta.env,\n emptyStringAsUndefined: true,\n});\n\nexport const serverEnv = createEnv({\n server: {\n ENTRA_CLIENT_ID: z.string(),\n ENTRA_TENANT_ID: z.string(),\n ENTRA_CLIENT_SECRET: z.string(),\n },\n runtimeEnv: process.env,\n emptyStringAsUndefined: true,\n});\n","import { EventType, PublicClientApplication } from \"@azure/msal-browser\";\r\nimport { createClientOnlyFn } from \"@tanstack/react-start\";\r\nimport { scopes as definedScopes } from \"virtual:wcz-layout\";\r\nimport type { AuthenticationResult, EventMessage } from \"@azure/msal-browser\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const pca = new PublicClientApplication({\r\n auth: {\r\n clientId: clientEnv.VITE_ENTRA_CLIENT_ID,\r\n authority: `https://login.microsoftonline.com/${clientEnv.VITE_ENTRA_TENANT_ID}`,\r\n redirectUri: \"/\",\r\n },\r\n});\r\n\r\nconst initPca = pca.initialize().then(() => {\r\n pca.addEventCallback((event: EventMessage) => {\r\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) {\r\n const payload = event.payload as AuthenticationResult;\r\n const account = payload.account;\r\n pca.setActiveAccount(account);\r\n }\r\n });\r\n\r\n return pca.handleRedirectPromise();\r\n}).then((response) => {\r\n if (response?.account) pca.setActiveAccount(response.account);\r\n});\r\n\r\n/**\r\n * Token Acquisition: Get authenticated access token.\r\n * Use when: Making API calls from the browser to secured endpoints\r\n */\r\nexport const getAccessToken = createClientOnlyFn(\r\n async (scopeKey: keyof typeof definedScopes) => {\r\n await initPca;\r\n\r\n const account = pca.getActiveAccount();\r\n if (!account) throw new Error(\"No active account. User not signed in.\");\r\n\r\n const scopes = definedScopes[scopeKey];\r\n\r\n try {\r\n const { accessToken } = await pca.acquireTokenSilent({ scopes, account });\r\n return accessToken;\r\n } catch {\r\n const { accessToken } = await pca.acquireTokenPopup({ scopes, account });\r\n return accessToken;\r\n }\r\n }\r\n);\r\n","import { permissions } from \"virtual:wcz-layout\";\r\nimport type { AnyFieldApi } from \"@tanstack/react-form\";\r\nimport type { TokenPayload } from \"~/models/TokenPayload\";\r\nimport type { User } from \"~/models/User\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const WISTRON_PRIMARY_COLOR = \"#00506E\";\r\nexport const WISTRON_SECONDARY_COLOR = \"#64DC00\";\r\n\r\nexport class Platform {\r\n static get isAndroid() { return /android/i.test(this.userAgent); }\r\n static get isIOS() { return /iPad|iPhone|iPod/.test(this.userAgent); }\r\n static get isWindows() { return /windows/i.test(this.userAgent); }\r\n static get isMacOS() { return /Macintosh|MacIntel|MacPPC|Mac68K/.test(this.userAgent); }\r\n\r\n private static get userAgent() { return typeof navigator === \"undefined\" ? \"\" : navigator.userAgent; }\r\n}\r\n\r\nexport const rootRouteHead = () => ({\r\n meta: [\r\n { charSet: \"utf-8\" },\r\n { name: \"viewport\", content: \"width=device-width, initial-scale=1\" },\r\n { title: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:type\", content: \"website\" },\r\n { name: \"og:title\", content: clientEnv.VITE_APP_TITLE },\r\n { name: \"og:image\", content: \"/favicon-32x32.png\" }\r\n ],\r\n links: [\r\n { rel: \"apple-touch-icon\", sizes: \"180x180\", href: \"/apple-touch-icon.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"32x32\", href: \"/favicon-32x32.png\", },\r\n { rel: \"icon\", type: \"image/png\", sizes: \"16x16\", href: \"/favicon-16x16.png\", },\r\n { rel: \"manifest\", href: \"/manifest.webmanifest\" },\r\n { rel: \"icon\", href: \"/favicon.ico\" },\r\n ],\r\n});\r\n\r\n/* Internal Utils */\r\nexport type FormOmittedProps =\r\n \"name\" |\r\n \"value\" |\r\n \"onChange\" |\r\n \"onBlur\" |\r\n \"error\" |\r\n \"helperText\" |\r\n \"renderInput\" |\r\n \"type\" |\r\n \"aria-label\";\r\n\r\nexport const getFieldStatus = (field: AnyFieldApi) => {\r\n const { meta } = field.state;\r\n\r\n const isTouched = meta.isTouched;\r\n const hasError = !!meta.errors.length;\r\n const helperText = meta.errors[0]?.message;\r\n\r\n return { isTouched, hasError, helperText };\r\n};\r\n\r\nexport const toKebabCase = (str: string): string => {\r\n return str\r\n .replaceAll(/([a-z])([A-Z])/g, \"$1-$2\")\r\n .replaceAll(/[\\s_]+/g, \"-\")\r\n .replaceAll(/[^a-zA-Z0-9-]/g, \"\")\r\n .toLowerCase()\r\n .replaceAll(/-+/g, \"-\")\r\n .replaceAll(/(^-|-$)/g, \"\");\r\n};\r\n\r\nexport const decodeJwt = (token: string) => {\r\n const base64Payload = token.split(\".\")[1];\r\n const base64 = base64Payload.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n const payload = decodeURIComponent(\r\n atob(base64)\r\n .split(\"\")\r\n .map((c) => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2))\r\n .join(\"\")\r\n );\r\n return JSON.parse(payload) as TokenPayload;\r\n};\r\n\r\nexport const buildUser = (payload: TokenPayload): User => ({\r\n id: payload.sub,\r\n name: payload.name.split(\"/\")[0],\r\n email: payload.preferred_username.toLowerCase(),\r\n department: payload.department?.toUpperCase() || \"\",\r\n employeeId: payload.employeeId?.toUpperCase() || \"\",\r\n companyName: payload.companyName || \"\",\r\n hasPermission: (key: keyof typeof permissions) => {\r\n const allowedGroups = permissions[key];\r\n return allowedGroups.some(k => (payload.groups ?? []).includes(k));\r\n }\r\n});\r\n"],"names":["clientEnv","createEnv","clientPrefix","client","VITE_ENTRA_CLIENT_ID","z","string","VITE_ENTRA_TENANT_ID","VITE_APP_TITLE","VITE_MUI_LICENSE_KEY","VITE_FILE_API_URL","url","runtimeEnv","import","emptyStringAsUndefined","serverEnv","server","ENTRA_CLIENT_ID","ENTRA_TENANT_ID","ENTRA_CLIENT_SECRET","process","env","pca","PublicClientApplication","auth","clientId","authority","redirectUri","initPca","initialize","then","addEventCallback","event","eventType","EventType","LOGIN_SUCCESS","payload","account","setActiveAccount","handleRedirectPromise","response","getAccessToken","createClientOnlyFn","scopeKey","getActiveAccount","Error","scopes","definedScopes","accessToken","acquireTokenSilent","acquireTokenPopup","WISTRON_PRIMARY_COLOR","WISTRON_SECONDARY_COLOR","Platform","isAndroid","test","userAgent","isIOS","isWindows","isMacOS","navigator","rootRouteHead","meta","charSet","name","content","title","links","rel","sizes","href","type","getFieldStatus","field","state","isTouched","hasError","errors","length","helperText","message","toKebabCase","str","replaceAll","toLowerCase","decodeJwt","token","base64","split","replace","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","JSON","parse","buildUser","id","sub","email","preferred_username","department","toUpperCase","employeeId","companyName","hasPermission","key","permissions","some","k","groups","includes"],"mappings":"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"}
|