wcz-test 6.24.14 → 6.26.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.
Files changed (50) hide show
  1. package/dist/ApprovalStatus-lESbUD_x.js +1 -0
  2. package/dist/ApprovalStatus-lESbUD_x.js.map +1 -0
  3. package/dist/DialogsContext-8xfQ3X-k.js +285 -0
  4. package/dist/DialogsContext-8xfQ3X-k.js.map +1 -0
  5. package/dist/DialogsHooks-Dz4ExWPV.js +232 -0
  6. package/dist/DialogsHooks-Dz4ExWPV.js.map +1 -0
  7. package/dist/{FileHooks-kGkVKOf9.js → FileHooks-T3wXKu_b.js} +5 -4
  8. package/dist/FileHooks-T3wXKu_b.js.map +1 -0
  9. package/dist/FileMeta-Bzeo3ie9.js +1 -0
  10. package/dist/FileMeta-Bzeo3ie9.js.map +1 -0
  11. package/dist/RouterListItemButton-Dmqima3h.js +661 -0
  12. package/dist/RouterListItemButton-Dmqima3h.js.map +1 -0
  13. package/dist/_commonjsHelpers-ByX85dGu.js +34 -0
  14. package/dist/_commonjsHelpers-ByX85dGu.js.map +1 -0
  15. package/dist/components.js +2667 -518
  16. package/dist/components.js.map +1 -0
  17. package/dist/env-BD4Wc07c.js +76 -0
  18. package/dist/env-BD4Wc07c.js.map +1 -0
  19. package/dist/hooks.js +909 -354
  20. package/dist/hooks.js.map +1 -0
  21. package/dist/i18next-Bx3TmZAT.js +1337 -0
  22. package/dist/i18next-Bx3TmZAT.js.map +1 -0
  23. package/dist/index-Biz5inV2.js +268 -0
  24. package/dist/index-Biz5inV2.js.map +1 -0
  25. package/dist/index.js +1076 -1405
  26. package/dist/index.js.map +1 -0
  27. package/dist/models.js +1 -0
  28. package/dist/models.js.map +1 -0
  29. package/dist/queries.js +4 -3
  30. package/dist/queries.js.map +1 -0
  31. package/dist/queryClient--EvGPhnh.js +1 -0
  32. package/dist/queryClient--EvGPhnh.js.map +1 -0
  33. package/dist/server.js +56 -27
  34. package/dist/server.js.map +1 -0
  35. package/dist/session-BCQDwl6n.js +8581 -0
  36. package/dist/session-BCQDwl6n.js.map +1 -0
  37. package/dist/utils-A7xW24zq.js +1850 -0
  38. package/dist/utils-A7xW24zq.js.map +1 -0
  39. package/dist/utils.js +8 -7
  40. package/dist/utils.js.map +1 -0
  41. package/dist/vite.js +1 -0
  42. package/dist/vite.js.map +1 -0
  43. package/package.json +23 -26
  44. package/dist/DialogsContext-2Yy6yhzQ.js +0 -5
  45. package/dist/DialogsHooks-DWkC9zAf.js +0 -113
  46. package/dist/RouterListItemButton-C_SG0uka.js +0 -17
  47. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
  48. package/dist/env-4ZoUrNqp.js +0 -27
  49. package/dist/session-7yb0BETM.js +0 -75
  50. package/dist/utils-CZraUjBd.js +0 -81
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@mui/x-date-pickers/esm/LocalizationProvider/LocalizationProvider.js","../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/@mui/x-internals/esm/warning/warning.js","../node_modules/@mui/x-date-pickers/esm/AdapterDayjs/AdapterDayjs.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../src/providers/DialogsProvider.tsx","../src/components/core/AppTitle.tsx","../src/components/core/navigation/NavigationListItem.tsx","../src/components/core/navigation/NavigationList.tsx","../src/components/core/navigation/NavigationRail.tsx","../src/lib/auth/graph.ts","../src/components/core/ToolbarAccount.tsx","../src/components/core/Layout.tsx","../src/providers/LayoutProvider.tsx"],"sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"localeText\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useThemeProps } from '@mui/material/styles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const PickerAdapterContext = /*#__PURE__*/React.createContext(null);\n\n// TODO v9: Remove this public export\n/**\n * The context that provides the date adapter and default dates to the pickers.\n * @deprecated Use `usePickersAdapter` hook if you need access to the adapter instead.\n */\nif (process.env.NODE_ENV !== \"production\") PickerAdapterContext.displayName = \"PickerAdapterContext\";\nexport const MuiPickersAdapterContext = PickerAdapterContext;\n/**\n * Demos:\n *\n * - [Date format and localization](https://mui.com/x/react-date-pickers/adapters-locale/)\n * - [Calendar systems](https://mui.com/x/react-date-pickers/calendar-systems/)\n * - [Translated components](https://mui.com/x/react-date-pickers/localization/)\n * - [UTC and timezones](https://mui.com/x/react-date-pickers/timezone/)\n *\n * API:\n *\n * - [LocalizationProvider API](https://mui.com/x/api/date-pickers/localization-provider/)\n */\nexport const LocalizationProvider = function LocalizationProvider(inProps) {\n const {\n localeText: inLocaleText\n } = inProps,\n otherInProps = _objectWithoutPropertiesLoose(inProps, _excluded);\n const {\n adapter: parentAdapter,\n localeText: parentLocaleText\n } = React.useContext(PickerAdapterContext) ?? {\n utils: undefined,\n adapter: undefined,\n localeText: undefined\n };\n const props = useThemeProps({\n // We don't want to pass the `localeText` prop to the theme, that way it will always return the theme value,\n // We will then merge this theme value with our value manually\n props: otherInProps,\n name: 'MuiLocalizationProvider'\n });\n const {\n children,\n dateAdapter: DateAdapter,\n dateFormats,\n dateLibInstance,\n adapterLocale,\n localeText: themeLocaleText\n } = props;\n const localeText = React.useMemo(() => _extends({}, themeLocaleText, parentLocaleText, inLocaleText), [themeLocaleText, parentLocaleText, inLocaleText]);\n const adapter = React.useMemo(() => {\n if (!DateAdapter) {\n if (parentAdapter) {\n return parentAdapter;\n }\n return null;\n }\n const dateAdapter = new DateAdapter({\n locale: adapterLocale,\n formats: dateFormats,\n instance: dateLibInstance\n });\n if (!dateAdapter.isMUIAdapter) {\n throw new Error(['MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`', \"For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`\", 'More information on the installation documentation: https://mui.com/x/react-date-pickers/quickstart/#installation'].join(`\\n`));\n }\n return dateAdapter;\n }, [DateAdapter, adapterLocale, dateFormats, dateLibInstance, parentAdapter]);\n const defaultDates = React.useMemo(() => {\n if (!adapter) {\n return null;\n }\n return {\n minDate: adapter.date('1900-01-01T00:00:00.000'),\n maxDate: adapter.date('2099-12-31T00:00:00.000')\n };\n }, [adapter]);\n const contextValue = React.useMemo(() => {\n return {\n utils: adapter,\n adapter,\n defaultDates,\n localeText\n };\n }, [defaultDates, adapter, localeText]);\n return /*#__PURE__*/_jsx(PickerAdapterContext.Provider, {\n value: contextValue,\n children: children\n });\n};\nif (process.env.NODE_ENV !== \"production\") LocalizationProvider.displayName = \"LocalizationProvider\";\nprocess.env.NODE_ENV !== \"production\" ? LocalizationProvider.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the TypeScript types and run \"pnpm proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Locale for the date library you are using\n */\n adapterLocale: PropTypes.any,\n children: PropTypes.node,\n /**\n * Date library adapter class function.\n * @see See the localization provider {@link https://mui.com/x/react-date-pickers/quickstart/#integrate-provider-and-adapter date adapter setup section} for more details.\n */\n dateAdapter: PropTypes.func,\n /**\n * Formats that are used for any child pickers\n */\n dateFormats: PropTypes.shape({\n dayOfMonth: PropTypes.string,\n dayOfMonthFull: PropTypes.string,\n fullDate: PropTypes.string,\n fullTime12h: PropTypes.string,\n fullTime24h: PropTypes.string,\n hours12h: PropTypes.string,\n hours24h: PropTypes.string,\n keyboardDate: PropTypes.string,\n keyboardDateTime12h: PropTypes.string,\n keyboardDateTime24h: PropTypes.string,\n meridiem: PropTypes.string,\n minutes: PropTypes.string,\n month: PropTypes.string,\n monthShort: PropTypes.string,\n normalDate: PropTypes.string,\n normalDateWithWeekday: PropTypes.string,\n seconds: PropTypes.string,\n shortDate: PropTypes.string,\n weekday: PropTypes.string,\n weekdayShort: PropTypes.string,\n year: PropTypes.string\n }),\n /**\n * Date library instance you are using, if it has some global overrides\n * ```jsx\n * dateLibInstance={momentTimeZone}\n * ```\n */\n dateLibInstance: PropTypes.any,\n /**\n * Locale for components texts\n */\n localeText: PropTypes.object\n} : void 0;","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from \"../useEnhancedEffect/index.js\";\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","const warnedOnceCache = new Set();\n\n/**\n * Logs a message to the console on development mode. The warning will only be logged once.\n *\n * The message is the log's cache key. Two identical messages will only be logged once.\n *\n * This function is a no-op in production.\n *\n * @param message the message to log\n * @param gravity the gravity of the warning. Defaults to `'warning'`.\n * @returns\n */\nexport function warnOnce(message, gravity = 'warning') {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n const cleanMessage = Array.isArray(message) ? message.join('\\n') : message;\n if (!warnedOnceCache.has(cleanMessage)) {\n warnedOnceCache.add(cleanMessage);\n if (gravity === 'error') {\n console.error(cleanMessage);\n } else {\n console.warn(cleanMessage);\n }\n }\n}\nexport function clearWarningsCache() {\n warnedOnceCache.clear();\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/* v8 ignore start */\nimport dayjs from 'dayjs';\n// dayjs has no exports field defined\n// See https://github.com/iamkun/dayjs/issues/2562\n/* eslint-disable import/extensions */\nimport weekOfYearPlugin from 'dayjs/plugin/weekOfYear.js';\nimport customParseFormatPlugin from 'dayjs/plugin/customParseFormat.js';\nimport localizedFormatPlugin from 'dayjs/plugin/localizedFormat.js';\nimport isBetweenPlugin from 'dayjs/plugin/isBetween.js';\nimport advancedFormatPlugin from 'dayjs/plugin/advancedFormat.js';\n/* v8 ignore stop */\n/* eslint-enable import/extensions */\nimport { warnOnce } from '@mui/x-internals/warning';\ndayjs.extend(localizedFormatPlugin);\ndayjs.extend(weekOfYearPlugin);\ndayjs.extend(isBetweenPlugin);\ndayjs.extend(advancedFormatPlugin);\nconst formatTokenMap = {\n // Year\n YY: 'year',\n YYYY: {\n sectionType: 'year',\n contentType: 'digit',\n maxLength: 4\n },\n // Month\n M: {\n sectionType: 'month',\n contentType: 'digit',\n maxLength: 2\n },\n MM: 'month',\n MMM: {\n sectionType: 'month',\n contentType: 'letter'\n },\n MMMM: {\n sectionType: 'month',\n contentType: 'letter'\n },\n // Day of the month\n D: {\n sectionType: 'day',\n contentType: 'digit',\n maxLength: 2\n },\n DD: 'day',\n Do: {\n sectionType: 'day',\n contentType: 'digit-with-letter'\n },\n // Day of the week\n d: {\n sectionType: 'weekDay',\n contentType: 'digit',\n maxLength: 2\n },\n dd: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n ddd: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n dddd: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n // Meridiem\n A: 'meridiem',\n a: 'meridiem',\n // Hours\n H: {\n sectionType: 'hours',\n contentType: 'digit',\n maxLength: 2\n },\n HH: 'hours',\n h: {\n sectionType: 'hours',\n contentType: 'digit',\n maxLength: 2\n },\n hh: 'hours',\n // Minutes\n m: {\n sectionType: 'minutes',\n contentType: 'digit',\n maxLength: 2\n },\n mm: 'minutes',\n // Seconds\n s: {\n sectionType: 'seconds',\n contentType: 'digit',\n maxLength: 2\n },\n ss: 'seconds'\n};\nconst defaultFormats = {\n year: 'YYYY',\n month: 'MMMM',\n monthShort: 'MMM',\n dayOfMonth: 'D',\n dayOfMonthFull: 'Do',\n weekday: 'dddd',\n weekdayShort: 'dd',\n hours24h: 'HH',\n hours12h: 'hh',\n meridiem: 'A',\n minutes: 'mm',\n seconds: 'ss',\n fullDate: 'll',\n keyboardDate: 'L',\n shortDate: 'MMM D',\n normalDate: 'D MMMM',\n normalDateWithWeekday: 'ddd, MMM D',\n fullTime12h: 'hh:mm A',\n fullTime24h: 'HH:mm',\n keyboardDateTime12h: 'L hh:mm A',\n keyboardDateTime24h: 'L HH:mm'\n};\nconst MISSING_UTC_PLUGIN = ['Missing UTC plugin', 'To be able to use UTC or timezones, you have to enable the `utc` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc'].join('\\n');\nconst MISSING_TIMEZONE_PLUGIN = ['Missing timezone plugin', 'To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone'].join('\\n');\n/**\n * Based on `@date-io/dayjs`\n *\n * MIT License\n *\n * Copyright (c) 2017 Dmitriy Kovalenko\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport class AdapterDayjs {\n isMUIAdapter = true;\n isTimezoneCompatible = true;\n lib = 'dayjs';\n escapedCharacters = {\n start: '[',\n end: ']'\n };\n formatTokenMap = (() => formatTokenMap)();\n constructor({\n locale,\n formats\n } = {}) {\n this.locale = locale;\n this.formats = _extends({}, defaultFormats, formats);\n\n // Moved plugins to the constructor to allow for users to use options on the library\n // for reference: https://github.com/mui/mui-x/pull/11151\n dayjs.extend(customParseFormatPlugin);\n }\n setLocaleToValue = value => {\n const expectedLocale = this.getCurrentLocaleCode();\n if (expectedLocale === value.locale()) {\n return value;\n }\n return value.locale(expectedLocale);\n };\n hasUTCPlugin = () => typeof dayjs.utc !== 'undefined';\n hasTimezonePlugin = () => typeof dayjs.tz !== 'undefined';\n isSame = (value, comparing, comparisonTemplate) => {\n const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));\n return value.format(comparisonTemplate) === comparingInValueTimezone.format(comparisonTemplate);\n };\n\n /**\n * Replaces \"default\" by undefined and \"system\" by the system timezone before passing it to `dayjs`.\n */\n cleanTimezone = timezone => {\n switch (timezone) {\n case 'default':\n {\n return undefined;\n }\n case 'system':\n {\n return dayjs.tz.guess();\n }\n default:\n {\n return timezone;\n }\n }\n };\n createSystemDate = value => {\n let date;\n if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {\n const timezone = dayjs.tz.guess();\n if (timezone === 'UTC') {\n date = dayjs(value);\n } /* v8 ignore next 3 */else {\n // We can't change the system timezone in the tests\n date = dayjs.tz(value, timezone);\n }\n } else {\n date = dayjs(value);\n }\n return this.setLocaleToValue(date);\n };\n createUTCDate = value => {\n /* v8 ignore next 3 */\n if (!this.hasUTCPlugin()) {\n throw new Error(MISSING_UTC_PLUGIN);\n }\n return this.setLocaleToValue(dayjs.utc(value));\n };\n createTZDate = (value, timezone) => {\n /* v8 ignore next 3 */\n if (!this.hasUTCPlugin()) {\n throw new Error(MISSING_UTC_PLUGIN);\n }\n\n /* v8 ignore next 3 */\n if (!this.hasTimezonePlugin()) {\n throw new Error(MISSING_TIMEZONE_PLUGIN);\n }\n const keepLocalTime = value !== undefined && !value.endsWith('Z');\n return this.setLocaleToValue(dayjs(value).tz(this.cleanTimezone(timezone), keepLocalTime));\n };\n getLocaleFormats = () => {\n const locales = dayjs.Ls;\n const locale = this.locale || 'en';\n let localeObject = locales[locale];\n if (localeObject === undefined) {\n /* v8 ignore start */\n if (process.env.NODE_ENV !== 'production') {\n warnOnce(['MUI X: Your locale has not been found.', 'Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale.', \"Or you forget to import the locale from 'dayjs/locale/{localeUsed}'\", 'fallback on English locale.']);\n }\n /* v8 ignore stop */\n localeObject = locales.en;\n }\n return localeObject.formats;\n };\n\n /**\n * If the new day does not have the same offset as the old one (when switching to summer day time for example),\n * Then dayjs will not automatically adjust the offset (moment does).\n * We have to parse again the value to make sure the `fixOffset` method is applied.\n * See https://github.com/iamkun/dayjs/blob/b3624de619d6e734cd0ffdbbd3502185041c1b60/src/plugin/timezone/index.js#L72\n */\n adjustOffset = value => {\n if (!this.hasTimezonePlugin()) {\n return value;\n }\n const timezone = this.getTimezone(value);\n if (timezone !== 'UTC') {\n const fixedValue = value.tz(this.cleanTimezone(timezone), true);\n // TODO: Simplify the case when we raise the `dayjs` peer dep to 1.11.12 (https://github.com/iamkun/dayjs/releases/tag/v1.11.12)\n /* v8 ignore next 3 */\n // @ts-ignore\n if (fixedValue.$offset === (value.$offset ?? 0)) {\n return value;\n }\n // Change only what is needed to avoid creating a new object with unwanted data\n // Especially important when used in an environment where utc or timezone dates are used only in some places\n // Reference: https://github.com/mui/mui-x/issues/13290\n // @ts-ignore\n value.$offset = fixedValue.$offset;\n }\n return value;\n };\n date = (value, timezone = 'default') => {\n if (value === null) {\n return null;\n }\n if (timezone === 'UTC') {\n return this.createUTCDate(value);\n }\n if (timezone === 'system' || timezone === 'default' && !this.hasTimezonePlugin()) {\n return this.createSystemDate(value);\n }\n return this.createTZDate(value, timezone);\n };\n getInvalidDate = () => dayjs(new Date('Invalid date'));\n getTimezone = value => {\n if (this.hasTimezonePlugin()) {\n // @ts-ignore\n const zone = value.$x?.$timezone;\n if (zone) {\n return zone;\n }\n }\n if (this.hasUTCPlugin() && value.isUTC()) {\n return 'UTC';\n }\n return 'system';\n };\n setTimezone = (value, timezone) => {\n if (this.getTimezone(value) === timezone) {\n return value;\n }\n if (timezone === 'UTC') {\n /* v8 ignore next 3 */\n if (!this.hasUTCPlugin()) {\n throw new Error(MISSING_UTC_PLUGIN);\n }\n return value.utc();\n }\n\n // We know that we have the UTC plugin.\n // Otherwise, the value timezone would always equal \"system\".\n // And it would be caught by the first \"if\" of this method.\n if (timezone === 'system') {\n return value.local();\n }\n if (!this.hasTimezonePlugin()) {\n if (timezone === 'default') {\n return value;\n }\n\n /* v8 ignore next */\n throw new Error(MISSING_TIMEZONE_PLUGIN);\n }\n return this.setLocaleToValue(dayjs.tz(value, this.cleanTimezone(timezone)));\n };\n toJsDate = value => {\n return value.toDate();\n };\n parse = (value, format) => {\n if (value === '') {\n return null;\n }\n return dayjs(value, format, this.locale, true);\n };\n getCurrentLocaleCode = () => {\n return this.locale || 'en';\n };\n is12HourCycleInCurrentLocale = () => {\n /* v8 ignore next */\n return /A|a/.test(this.getLocaleFormats().LT || '');\n };\n expandFormat = format => {\n const localeFormats = this.getLocaleFormats();\n\n // @see https://github.com/iamkun/dayjs/blob/dev/src/plugin/localizedFormat/index.js\n const t = formatBis => formatBis.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, (_, a, b) => a || b.slice(1));\n return format.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, (_, a, b) => {\n const B = b && b.toUpperCase();\n return a || localeFormats[b] || t(localeFormats[B]);\n });\n };\n isValid = value => {\n if (value == null) {\n return false;\n }\n return value.isValid();\n };\n format = (value, formatKey) => {\n return this.formatByString(value, this.formats[formatKey]);\n };\n formatByString = (value, formatString) => {\n return this.setLocaleToValue(value).format(formatString);\n };\n formatNumber = numberToFormat => {\n return numberToFormat;\n };\n isEqual = (value, comparing) => {\n if (value === null && comparing === null) {\n return true;\n }\n if (value === null || comparing === null) {\n return false;\n }\n return value.toDate().getTime() === comparing.toDate().getTime();\n };\n isSameYear = (value, comparing) => {\n return this.isSame(value, comparing, 'YYYY');\n };\n isSameMonth = (value, comparing) => {\n return this.isSame(value, comparing, 'YYYY-MM');\n };\n isSameDay = (value, comparing) => {\n return this.isSame(value, comparing, 'YYYY-MM-DD');\n };\n isSameHour = (value, comparing) => {\n return value.isSame(comparing, 'hour');\n };\n isAfter = (value, comparing) => {\n return value > comparing;\n };\n isAfterYear = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isAfter(comparing, 'year');\n }\n return !this.isSameYear(value, comparing) && value.utc() > comparing.utc();\n };\n isAfterDay = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isAfter(comparing, 'day');\n }\n return !this.isSameDay(value, comparing) && value.utc() > comparing.utc();\n };\n isBefore = (value, comparing) => {\n return value < comparing;\n };\n isBeforeYear = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isBefore(comparing, 'year');\n }\n return !this.isSameYear(value, comparing) && value.utc() < comparing.utc();\n };\n isBeforeDay = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isBefore(comparing, 'day');\n }\n return !this.isSameDay(value, comparing) && value.utc() < comparing.utc();\n };\n isWithinRange = (value, [start, end]) => {\n return value >= start && value <= end;\n };\n startOfYear = value => {\n return this.adjustOffset(value.startOf('year'));\n };\n startOfMonth = value => {\n return this.adjustOffset(value.startOf('month'));\n };\n startOfWeek = value => {\n return this.adjustOffset(this.setLocaleToValue(value).startOf('week'));\n };\n startOfDay = value => {\n return this.adjustOffset(value.startOf('day'));\n };\n endOfYear = value => {\n return this.adjustOffset(value.endOf('year'));\n };\n endOfMonth = value => {\n return this.adjustOffset(value.endOf('month'));\n };\n endOfWeek = value => {\n return this.adjustOffset(this.setLocaleToValue(value).endOf('week'));\n };\n endOfDay = value => {\n return this.adjustOffset(value.endOf('day'));\n };\n addYears = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'year'));\n };\n addMonths = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'month'));\n };\n addWeeks = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'week'));\n };\n addDays = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'day'));\n };\n addHours = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'hour'));\n };\n addMinutes = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'minute'));\n };\n addSeconds = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'second'));\n };\n getYear = value => {\n return value.year();\n };\n getMonth = value => {\n return value.month();\n };\n getDate = value => {\n return value.date();\n };\n getHours = value => {\n return value.hour();\n };\n getMinutes = value => {\n return value.minute();\n };\n getSeconds = value => {\n return value.second();\n };\n getMilliseconds = value => {\n return value.millisecond();\n };\n setYear = (value, year) => {\n return this.adjustOffset(value.set('year', year));\n };\n setMonth = (value, month) => {\n return this.adjustOffset(value.set('month', month));\n };\n setDate = (value, date) => {\n return this.adjustOffset(value.set('date', date));\n };\n setHours = (value, hours) => {\n return this.adjustOffset(value.set('hour', hours));\n };\n setMinutes = (value, minutes) => {\n return this.adjustOffset(value.set('minute', minutes));\n };\n setSeconds = (value, seconds) => {\n return this.adjustOffset(value.set('second', seconds));\n };\n setMilliseconds = (value, milliseconds) => {\n return this.adjustOffset(value.set('millisecond', milliseconds));\n };\n getDaysInMonth = value => {\n return value.daysInMonth();\n };\n getWeekArray = value => {\n const start = this.startOfWeek(this.startOfMonth(value));\n const end = this.endOfWeek(this.endOfMonth(value));\n let count = 0;\n let current = start;\n const nestedWeeks = [];\n while (current < end) {\n const weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = this.addDays(current, 1);\n count += 1;\n }\n return nestedWeeks;\n };\n getWeekNumber = value => {\n return value.week();\n };\n getDayOfWeek(value) {\n return value.day() + 1;\n }\n getYearRange = ([start, end]) => {\n const startDate = this.startOfYear(start);\n const endDate = this.endOfYear(end);\n const years = [];\n let current = startDate;\n while (this.isBefore(current, endDate)) {\n years.push(current);\n current = this.addYears(current, 1);\n }\n return years;\n };\n}","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import useEventCallback from \"@mui/utils/useEventCallback\";\nimport { useId, useRef, useState } from \"react\";\nimport { DialogsContext } from \"../contexts/DialogsContext\";\nimport type { DialogComponent, OpenDialog, OpenDialogOptions } from \"../hooks/DialogsHooks\";\n\ninterface DialogStackEntry<TPayload, TResult> {\n key: string;\n open: boolean;\n promise: Promise<TResult>;\n Component: DialogComponent<TPayload, TResult>;\n payload: TPayload;\n onClose: (result: TResult) => Promise<void>;\n resolve: (result: TResult) => void;\n}\n\nexport interface DialogProviderProps {\n children?: React.ReactNode;\n}\n\nfunction DialogsProvider({ children }: Readonly<DialogProviderProps>) {\n const [stack, setStack] = useState<Array<DialogStackEntry<any, any>>>([]);\n const keyPrefix = useId();\n const nextId = useRef(0);\n const dialogMetadata = useRef(new WeakMap<Promise<any>, DialogStackEntry<any, any>>());\n\n const requestDialog = useEventCallback<OpenDialog>(function open<TPayload, TResult>(\n Component: DialogComponent<TPayload, TResult>,\n payload: TPayload,\n options: OpenDialogOptions<TResult> = {},\n ) {\n const { onClose = async () => { } } = options;\n\n let resolve: (result: TResult) => void;\n const promise = new Promise<TResult>((resolveImpl) => {\n resolve = resolveImpl;\n });\n\n const key = `${keyPrefix}-${nextId.current}`;\n nextId.current += 1;\n\n const newEntry: DialogStackEntry<TPayload, TResult> = {\n key,\n open: true,\n promise,\n Component,\n payload,\n onClose,\n resolve: resolve!,\n };\n\n dialogMetadata.current.set(promise, newEntry);\n\n setStack((previousStack) => [...previousStack, newEntry]);\n\n return promise;\n });\n\n const removeDialogFromStack = (dialog: Promise<any>) => {\n setStack((previousStack) => previousStack.filter((entry) => entry.promise !== dialog));\n dialogMetadata.current.delete(dialog);\n };\n\n const closeDialogUi = useEventCallback(function closeDialogUi<TResult>(dialog: Promise<TResult>) {\n setStack((previousStack) =>\n previousStack.map((entry) => (entry.promise === dialog ? { ...entry, open: false } : entry)),\n );\n\n setTimeout(() => removeDialogFromStack(dialog), 1000);\n });\n\n const closeDialog = useEventCallback(async function closeDialog<TResult>(\n dialog: Promise<TResult>,\n result: TResult,\n ) {\n const entryToClose = dialogMetadata.current.get(dialog);\n if (!entryToClose) {\n throw new Error(\"Dialog not found in stack\");\n }\n\n try {\n await entryToClose.onClose(result);\n } finally {\n entryToClose.resolve(result);\n closeDialogUi(dialog);\n }\n\n return dialog;\n });\n\n return (\n <DialogsContext.Provider value={{ open: requestDialog, close: closeDialog }}>\n {children}\n {stack.map(({ key, open, Component, payload, promise }) => (\n <Component\n key={key}\n payload={payload}\n open={open}\n onClose={async (result) => {\n await closeDialog(promise, result);\n }}\n />\n ))}\n </DialogsContext.Provider>\n );\n}\n\nexport { DialogsProvider };\n\n","import { Chip, Stack, Typography } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nexport const AppTitle: FC = () => {\r\n return (\r\n <Stack direction=\"row\" alignItems=\"center\" spacing={2} flexGrow={1}>\r\n <img src=\"/favicon-32x32.png\" alt=\"app-logo\" loading=\"lazy\" />\r\n <Typography variant=\"h6\">{clientEnv.VITE_APP_TITLE}</Typography>\r\n <Chip size=\"small\" label=\"TEST\" color=\"info\" />\r\n </Stack>\r\n );\r\n};\r\n","import ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\r\nimport { Collapse } from \"@mui/material\";\r\nimport Avatar from \"@mui/material/Avatar\";\r\nimport Box from \"@mui/material/Box\";\r\nimport ListItem from \"@mui/material/ListItem\";\r\nimport ListItemButton from \"@mui/material/ListItemButton\";\r\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\r\nimport ListItemText from \"@mui/material/ListItemText\";\r\nimport Paper from \"@mui/material/Paper\";\r\nimport Popper from \"@mui/material/Popper\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { Fragment, useState } from \"react\";\r\nimport { MINI_WIDTH } from \"./NavigationRail\";\r\nimport type { NavigationItem, NavigationPageItem } from \"~/models/Navigation\";\r\nimport type { FC, ReactNode } from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { RouterListItemButton } from \"~/components/router/RouterListItemButton\";\r\n\r\nconst ICON_SIZE = 34;\r\n\r\nconst StyledNavButton = styled(ListItemButton)(({ theme }) => ({\r\n borderRadius: 8,\r\n \"&.Mui-selected\": {\r\n \"& .MuiListItemIcon-root, & .MuiTypography-root, & .MuiSvgIcon-root\": {\r\n color: (theme.vars ?? theme).palette.primary.dark,\r\n },\r\n \"& .MuiAvatar-root\": {\r\n backgroundColor: (theme.vars ?? theme).palette.primary.dark,\r\n },\r\n \"& .MuiTouchRipple-child\": {\r\n backgroundColor: (theme.vars ?? theme).palette.primary.dark,\r\n },\r\n },\r\n \"& .MuiSvgIcon-root\": {\r\n color: (theme.vars ?? theme).palette.action.active,\r\n },\r\n \"& .MuiAvatar-root\": {\r\n backgroundColor: (theme.vars ?? theme).palette.action.active,\r\n },\r\n}));\r\n\r\nconst StyledRouterButton = styled(RouterListItemButton)(({ theme }) => ({\r\n borderRadius: 8,\r\n \"&.Mui-selected\": {\r\n \"& .MuiListItemIcon-root, & .MuiTypography-root, & .MuiSvgIcon-root\": {\r\n color: (theme.vars ?? theme).palette.primary.dark,\r\n },\r\n \"& .MuiAvatar-root\": {\r\n backgroundColor: (theme.vars ?? theme).palette.primary.dark,\r\n },\r\n \"& .MuiTouchRipple-child\": {\r\n backgroundColor: (theme.vars ?? theme).palette.primary.dark,\r\n },\r\n },\r\n \"& .MuiSvgIcon-root\": {\r\n color: (theme.vars ?? theme).palette.action.active,\r\n },\r\n \"& .MuiAvatar-root\": {\r\n backgroundColor: (theme.vars ?? theme).palette.action.active,\r\n },\r\n}));\r\n\r\nconst IconOrAvatar: FC<{ item: NavigationPageItem; collapsed?: boolean }> = ({ item, collapsed }) => {\r\n if (item.icon || collapsed) {\r\n return (\r\n <Box sx={collapsed ? { position: \"absolute\", left: \"50%\", top: \"calc(50% - 6px)\", transform: \"translate(-50%, -50%)\" } : {}}>\r\n <ListItemIcon sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"center\", minWidth: ICON_SIZE }}>\r\n {item.icon ?? null}\r\n {!item.icon && collapsed ? (\r\n <Avatar sx={{ width: ICON_SIZE - 7, height: ICON_SIZE - 7, fontSize: 12 }}>{item.title}</Avatar>\r\n ) : null}\r\n </ListItemIcon>\r\n {collapsed ? (\r\n <Typography\r\n variant=\"caption\"\r\n sx={{\r\n position: \"absolute\",\r\n bottom: -18,\r\n left: \"50%\",\r\n transform: \"translateX(-50%)\",\r\n fontSize: 10,\r\n fontWeight: 500,\r\n textAlign: \"center\",\r\n whiteSpace: \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n maxWidth: MINI_WIDTH - 28,\r\n }}\r\n >\r\n {item.title}\r\n </Typography>\r\n ) : null}\r\n </Box>\r\n );\r\n }\r\n return null;\r\n};\r\n\r\ninterface MiniPopoverProps {\r\n open: boolean;\r\n anchorEl: HTMLElement | null;\r\n children?: ReactNode;\r\n}\r\n\r\nconst MiniPopover: FC<MiniPopoverProps> = ({ open, anchorEl, children }) => (\r\n <Popper\r\n open={open}\r\n anchorEl={anchorEl}\r\n placement=\"right-start\"\r\n modifiers={[\r\n { name: \"offset\", options: { offset: [6, 0] } },\r\n { name: \"preventOverflow\", options: { padding: 8 } },\r\n { name: \"flip\", options: { fallbackPlacements: [\"right-end\", \"left-start\"] } },\r\n ]}\r\n >\r\n <Paper\r\n sx={{\r\n pt: 0.5,\r\n pb: 0.5,\r\n maxHeight: \"min(calc(100vh - 100px), 560px)\",\r\n overflowY: \"auto\",\r\n overscrollBehavior: \"contain\",\r\n }}\r\n >\r\n {children}\r\n </Paper>\r\n </Popper>\r\n);\r\n\r\ninterface NavigationListItemProps {\r\n item: NavigationPageItem;\r\n isOpen?: boolean;\r\n selected?: boolean;\r\n disabled?: boolean;\r\n collapsed?: boolean;\r\n isSidebarFullyExpanded?: boolean;\r\n isSidebarFullyCollapsed?: boolean;\r\n onClick?: (item: NavigationPageItem) => void;\r\n renderNested?: (sub: Array<NavigationItem>) => ReactNode;\r\n onClose?: () => void;\r\n}\r\n\r\nexport const NavigationListItem: FC<NavigationListItemProps> = ({ item, isOpen, selected, disabled, collapsed, isSidebarFullyExpanded = true, isSidebarFullyCollapsed, onClick, renderNested, onClose }) => {\r\n const [hoveredPopoverItem, setHoveredPopoverItem] = useState<string | null>(null);\r\n const [anchorElement, setAnchorElement] = useState<HTMLElement | null>(null);\r\n\r\n const chevronSx: SxProps<Theme> = () => {\r\n if (collapsed && isSidebarFullyCollapsed && item.children) {\r\n return {\r\n fontSize: 18,\r\n position: \"absolute\",\r\n top: \"41.5%\",\r\n right: \"2px\",\r\n transform: \"translateY(-50%) rotate(-90deg)\",\r\n };\r\n }\r\n if (!collapsed && isSidebarFullyExpanded && item.children) {\r\n return {\r\n ml: 0.5,\r\n transform: `rotate(${isOpen ? 0 : -90}deg)`,\r\n };\r\n }\r\n return { display: \"none\" };\r\n };\r\n\r\n const shouldJustExpand = item.children && !collapsed;\r\n\r\n const buttonProps = {\r\n selected,\r\n disabled,\r\n sx: { px: 1.4, height: collapsed ? 60 : 48 }\r\n };\r\n\r\n const buttonContent = (\r\n <>\r\n <IconOrAvatar item={item} collapsed={collapsed} />\r\n {!collapsed && (\r\n <ListItemText\r\n primary={item.title}\r\n slotProps={{ primary: { noWrap: true, title: item.title } }}\r\n sx={{ ml: 1.2, flex: 1, minWidth: 0, \"& .MuiTypography-root\": { whiteSpace: \"nowrap\", overflow: \"hidden\", textOverflow: \"ellipsis\" } }}\r\n />\r\n )}\r\n {item.children ? <ExpandMoreIcon sx={chevronSx} /> : null}\r\n </>\r\n );\r\n\r\n const listItem = (\r\n <ListItem\r\n {...(item.children && collapsed\r\n ? {\r\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => {\r\n setAnchorElement(event.currentTarget);\r\n setHoveredPopoverItem(item.title);\r\n },\r\n onMouseLeave: () => {\r\n setHoveredPopoverItem(null);\r\n },\r\n }\r\n : {})}\r\n sx={{ py: 0, px: 1, overflowX: \"hidden\" }}\r\n >\r\n {shouldJustExpand ? (\r\n <StyledNavButton {...buttonProps} onClick={() => onClick?.(item)}>\r\n {buttonContent}\r\n </StyledNavButton>\r\n ) : (\r\n <StyledRouterButton\r\n {...buttonProps}\r\n to={item.to}\r\n href={item.href}\r\n params={item.params as any}\r\n search={item.search as any}\r\n onClick={onClose}\r\n >\r\n {buttonContent}\r\n </StyledRouterButton>\r\n )}\r\n\r\n {item.children && collapsed ? (\r\n <MiniPopover open={item.title === hoveredPopoverItem} anchorEl={anchorElement}>\r\n {renderNested?.(item.children)}\r\n </MiniPopover>\r\n ) : null}\r\n </ListItem>\r\n );\r\n\r\n return (\r\n <Fragment key={item.to}>\r\n {listItem}\r\n {item.children && !collapsed ? (\r\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\r\n {renderNested?.(item.children)}\r\n </Collapse>\r\n ) : null}\r\n </Fragment>\r\n );\r\n};\r\n","import Divider from \"@mui/material/Divider\";\r\nimport List from \"@mui/material/List\";\r\nimport ListSubheader from \"@mui/material/ListSubheader\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport { NavigationListItem } from \"./NavigationListItem\";\r\nimport { EXPANDED_WIDTH, MINI_WIDTH } from \"./NavigationRail\";\r\nimport type { FC, ReactNode } from \"react\";\r\nimport type { Navigation, NavigationDivider, NavigationHeader, NavigationItem, NavigationPageItem } from \"~/models/Navigation\";\r\n\r\nexport const isPageItem = (item: NavigationItem): item is NavigationPageItem => !(\"kind\" in item);\r\nexport const isDivider = (item: NavigationItem): item is NavigationDivider => \"kind\" in item && item.kind === \"divider\";\r\nexport const isHeader = (item: NavigationItem): item is NavigationHeader => \"kind\" in item && item.kind === \"header\";\r\n\r\ninterface NavigationListProps {\r\n subNavigation: Navigation;\r\n depth?: number;\r\n collapsed?: boolean;\r\n isPopover?: boolean;\r\n isSidebarFullyExpanded?: boolean;\r\n isSidebarFullyCollapsed?: boolean;\r\n expandedWidth: number | string;\r\n renderItem?: (item: NavigationPageItem, context: { collapsed: boolean }) => ReactNode;\r\n activePath?: string | null;\r\n onNavigate: (item: NavigationPageItem) => void;\r\n onClose?: () => void;\r\n}\r\n\r\nexport const NavigationList: FC<NavigationListProps> = ({ subNavigation, depth = 0, collapsed, isPopover, isSidebarFullyExpanded = true, isSidebarFullyCollapsed, expandedWidth, renderItem, activePath, onNavigate, onClose }) => {\r\n const [openKeys, setOpenKeys] = useState<Array<string>>([]);\r\n\r\n useEffect(() => {\r\n if (collapsed) setOpenKeys([]);\r\n }, [collapsed]);\r\n\r\n const toggleKey = (key: string) =>\r\n setOpenKeys((previous) => (previous.includes(key) ? previous.filter((k) => k !== key) : [...previous, key]));\r\n\r\n const renderNested = (children: Array<NavigationItem>) => <NavigationList\r\n subNavigation={children}\r\n depth={depth + 1}\r\n isPopover={collapsed}\r\n expandedWidth={expandedWidth}\r\n activePath={activePath}\r\n onNavigate={onNavigate}\r\n onClose={onClose}\r\n />;\r\n\r\n const filteredNavigation = subNavigation.filter(nav => !nav.hidden);\r\n\r\n return (\r\n <List\r\n sx={{\r\n padding: 0,\r\n mt: isPopover && depth === 1 ? 0.5 : 0,\r\n mb: depth === 0 && !isPopover ? 4 : 0.5,\r\n pl: (isPopover ? 1 : 2) * (isPopover ? depth - 1 : depth),\r\n minWidth: isPopover && depth === 1 ? EXPANDED_WIDTH : \"auto\",\r\n width: collapsed ? MINI_WIDTH : \"auto\",\r\n }}\r\n >\r\n {filteredNavigation.map((navItem, index) => {\r\n if (isHeader(navItem)) {\r\n return (\r\n <ListSubheader\r\n key={`subheader-${depth}-${index}`}\r\n sx={{\r\n fontSize: 12,\r\n fontWeight: \"700\",\r\n height: collapsed ? 0 : 40,\r\n px: 2,\r\n minWidth: expandedWidth,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n zIndex: 2,\r\n bgcolor: \"transparent\",\r\n position: \"static\"\r\n }}\r\n >\r\n {navItem.title}\r\n </ListSubheader>\r\n );\r\n }\r\n\r\n if (isDivider(navItem)) {\r\n const nextItem = filteredNavigation[index + 1];\r\n return (\r\n <li key={`divider-${depth}-${index}`}>\r\n <Divider sx={{ mx: 1, mt: 1, mb: isHeader(nextItem) && !collapsed ? 0 : 1 }} />\r\n </li>\r\n );\r\n }\r\n\r\n if (!isPageItem(navItem)) return null;\r\n\r\n const key = `item-${depth}-${index}`;\r\n const uniqueItemKey = `${depth}-${index}-${navItem.title}`;\r\n\r\n if (renderItem) return <Fragment key={key}>{renderItem(navItem, { collapsed: !!collapsed })}</Fragment>;\r\n\r\n return <NavigationListItem\r\n key={key}\r\n item={navItem}\r\n isOpen={openKeys.includes(uniqueItemKey)}\r\n selected={activePath === navItem.to}\r\n collapsed={collapsed}\r\n isSidebarFullyExpanded={isSidebarFullyExpanded}\r\n isSidebarFullyCollapsed={isSidebarFullyCollapsed}\r\n onClick={navItem.children && !collapsed ? () => toggleKey(uniqueItemKey) : undefined}\r\n renderNested={renderNested}\r\n onClose={onClose}\r\n />;\r\n })}\r\n </List>\r\n );\r\n};","import { useMediaQuery } from \"@mui/material\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Drawer from \"@mui/material/Drawer\";\r\nimport { useTheme } from \"@mui/material/styles\";\r\nimport { useNavigate, useRouterState } from \"@tanstack/react-router\";\r\nimport { NavigationList, isHeader } from \"./NavigationList\";\r\nimport type { FC } from \"react\";\r\nimport type { Navigation } from \"~/models/Navigation\";\r\n\r\nexport const MINI_WIDTH = 84;\r\nexport const EXPANDED_WIDTH = 320;\r\nexport const TOOLBAR_HEIGHT = 64;\r\n\r\ninterface NavigationRailProps {\r\n navigation: Navigation;\r\n expanded: boolean;\r\n setExpanded: (open: boolean) => void;\r\n}\r\n\r\nexport const NavigationRail: FC<NavigationRailProps> = ({ navigation, expanded, setExpanded }) => {\r\n const navigate = useNavigate();\r\n const routerState = useRouterState();\r\n const theme = useTheme();\r\n const showPermanent = useMediaQuery(theme.breakpoints.up(\"sm\"));\r\n\r\n const drawerContent = (collapsed: boolean) => (\r\n <Box\r\n component=\"nav\"\r\n sx={{\r\n height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"space-between\",\r\n overflow: \"auto\",\r\n scrollbarGutter: collapsed ? \"stable\" : \"auto\",\r\n overflowX: \"hidden\",\r\n pt: navigation[0] && isHeader(navigation[0]) && !collapsed ? 0 : 2,\r\n }}\r\n >\r\n <NavigationList\r\n subNavigation={navigation}\r\n collapsed={collapsed}\r\n isSidebarFullyExpanded={expanded}\r\n isSidebarFullyCollapsed={!expanded}\r\n expandedWidth={EXPANDED_WIDTH}\r\n activePath={routerState.location.pathname}\r\n onNavigate={navigate}\r\n onClose={!showPermanent ? () => setExpanded(false) : undefined}\r\n />\r\n </Box>\r\n );\r\n\r\n if (showPermanent)\r\n return (\r\n <Drawer\r\n variant=\"permanent\"\r\n sx={{\r\n width: expanded ? EXPANDED_WIDTH : MINI_WIDTH,\r\n [\"& .MuiDrawer-paper\"]: {\r\n position: \"absolute\",\r\n top: `${TOOLBAR_HEIGHT}px`,\r\n height: `calc(100% - ${TOOLBAR_HEIGHT}px)`,\r\n width: expanded ? EXPANDED_WIDTH : MINI_WIDTH,\r\n borderTop: \"1px solid\",\r\n borderColor: \"var(--mui-palette-divider)\",\r\n },\r\n }}\r\n >\r\n {drawerContent(!expanded)}\r\n </Drawer>\r\n );\r\n\r\n return (\r\n <Drawer open={expanded} onClose={() => setExpanded(false)}>\r\n {drawerContent(!expanded)}\r\n </Drawer>\r\n );\r\n};\r\n","import { createServerFn } from \"@tanstack/react-start\";\r\nimport axios from \"axios\";\r\nimport z from \"zod\";\r\nimport { queryClient } from \"../queryClient\";\r\nimport { getAccessToken, requireSession } from \"./session\";\r\nimport type { GraphUser, User } from \"~/models/User\";\r\n\r\nexport const getSessionUser = createServerFn()\r\n .inputValidator(z.object({ redirectUri: z.string() }))\r\n .handler(async ({ data }) => {\r\n const session = await requireSession(data.redirectUri);\r\n\r\n const groups = await queryClient.fetchQuery({\r\n queryKey: [\"graph\", \"me\", \"memberOf\"],\r\n queryFn: async () => axios.request<{ value: Array<{ displayName: string }> }>({\r\n method: \"GET\",\r\n url: \"https://graph.microsoft.com/v1.0/me/memberOf?$select=displayName\",\r\n headers: { Authorization: `Bearer ${await getAccessToken()}` },\r\n }).then(response => response.data.value.map((group) => group.displayName)),\r\n staleTime: Infinity,\r\n gcTime: Infinity,\r\n });\r\n\r\n return { ...session.user, groups } satisfies User;\r\n });\r\n\r\nexport const getSessionUserDetail = createServerFn({ method: \"GET\" })\r\n .handler(async () => {\r\n return await queryClient.fetchQuery({\r\n queryKey: [\"graph\", \"me\"],\r\n queryFn: async () => await axios.request<GraphUser>({\r\n method: \"GET\",\r\n url: \"https://graph.microsoft.com/v1.0/me?$select=id,displayName,jobTitle,mail,mobilePhone\",\r\n headers: { Authorization: `Bearer ${await getAccessToken()}` },\r\n }).then(response => response.data),\r\n staleTime: Infinity,\r\n gcTime: Infinity,\r\n });\r\n });\r\n\r\n\r\nexport const getSessionUserPhoto = createServerFn({ method: \"GET\" })\r\n .handler(async () => {\r\n return await queryClient.fetchQuery({\r\n queryKey: [\"graph\", \"me\", \"photo\"],\r\n queryFn: async () => {\r\n const response = await axios.request<ArrayBuffer>({\r\n method: \"GET\",\r\n url: \"https://graph.microsoft.com/v1.0/me/photo/$value\",\r\n headers: { Authorization: `Bearer ${await getAccessToken()}` },\r\n responseType: \"arraybuffer\",\r\n });\r\n const contentType = (response.headers[\"content-type\"] as string | undefined) ?? \"image/jpeg\";\r\n const base64 = Buffer.from(response.data).toString(\"base64\");\r\n return `data:${contentType};base64,${base64}`;\r\n },\r\n staleTime: Infinity,\r\n gcTime: Infinity,\r\n });\r\n });\r\n","import AccountCircle from \"@mui/icons-material/AccountCircle\";\r\nimport ArrowBack from \"@mui/icons-material/ArrowBack\";\r\nimport Brightness4 from \"@mui/icons-material/Brightness4\";\r\nimport ChevronRight from \"@mui/icons-material/ChevronRight\";\r\nimport DarkMode from \"@mui/icons-material/DarkMode\";\r\nimport Done from \"@mui/icons-material/Done\";\r\nimport LightMode from \"@mui/icons-material/LightMode\";\r\nimport Logout from \"@mui/icons-material/Logout\";\r\nimport SettingsBrightness from \"@mui/icons-material/SettingsBrightness\";\r\nimport Translate from \"@mui/icons-material/Translate\";\r\nimport { Avatar, Box, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemText, ListSubheader, Menu, useColorScheme } from \"@mui/material\";\r\nimport { Await } from \"@tanstack/react-router\";\r\nimport { Fragment, Suspense, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport type { FC } from \"react\";\r\nimport { getSessionUserDetail, getSessionUserPhoto } from \"~/lib/auth/graph\";\r\n\r\ntype TabType = \"settings\" | \"theme\" | \"language\";\r\nconst capitalize = (value: string | undefined) => value && value.charAt(0).toUpperCase() + value.slice(1);\r\n\r\nexport const ToolbarAccount: FC = () => {\r\n const [anchorElement, setAnchorElement] = useState<HTMLElement>();\r\n const [tab, setTab] = useState<TabType>(\"settings\");\r\n const open = Boolean(anchorElement);\r\n const { t, i18n } = useTranslation();\r\n const { mode, setMode } = useColorScheme();\r\n\r\n const supportedLanguages = (Array.isArray(i18n.options.supportedLngs) ? i18n.options.supportedLngs : []).filter(lng => lng !== \"cimode\");\r\n const languageDisplayNames = new Intl.DisplayNames([i18n.language], { type: \"language\" });\r\n\r\n const colorModes: Array<{ mode: \"light\" | \"dark\" | \"system\"; icon: typeof LightMode; label: string }> = [\r\n { mode: \"light\", icon: LightMode, label: t(\"Layout.Light\") },\r\n { mode: \"dark\", icon: DarkMode, label: t(\"Layout.Dark\") },\r\n { mode: \"system\", icon: SettingsBrightness, label: t(\"Layout.System\") },\r\n ];\r\n\r\n const openMenu = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => setAnchorElement(event.currentTarget);\r\n const closeMenu = () => { setAnchorElement(undefined); setTimeout(() => setTab(\"settings\"), 300); };\r\n\r\n const changeTab = (newTab: TabType) => () => setTab(newTab);\r\n\r\n const settings = (\r\n <List component=\"nav\" subheader={<ListSubheader sx={{ backgroundColor: \"transparent\" }}>{t(\"Layout.Settings\")}</ListSubheader>}>\r\n <ListItemButton onClick={changeTab(\"theme\")} sx={{ py: 0.3 }}>\r\n <ListItemIcon>\r\n <Brightness4 />\r\n </ListItemIcon>\r\n <ListItemText primary={t(\"Layout.Appearance\")} secondary={colorModes.find((m) => m.mode === mode)?.label} />\r\n <ChevronRight />\r\n </ListItemButton>\r\n\r\n <ListItemButton onClick={changeTab(\"language\")} sx={{ py: 0.3 }}>\r\n <ListItemIcon>\r\n <Translate />\r\n </ListItemIcon>\r\n <ListItemText primary={t(\"Layout.Language\")} secondary={capitalize(languageDisplayNames.of(i18n.language))} />\r\n <ChevronRight />\r\n </ListItemButton>\r\n </List>\r\n );\r\n\r\n const theme = (\r\n <List subheader={\r\n <ListSubheader onClick={changeTab(\"settings\")} sx={{ backgroundColor: \"transparent\", display: \"flex\", alignItems: \"center\", px: 1, cursor: \"pointer\" }}>\r\n <IconButton size=\"small\" sx={{ mr: 0.5 }}>\r\n <ArrowBack fontSize=\"small\" />\r\n </IconButton> {t(\"Layout.Appearance\")}\r\n </ListSubheader>\r\n }>\r\n {colorModes.map(({ mode: modeValue, icon: Icon, label }) => (\r\n <ListItemButton\r\n key={modeValue}\r\n onClick={() => {\r\n setMode(modeValue);\r\n closeMenu();\r\n }}\r\n selected={mode === modeValue}\r\n >\r\n <ListItemIcon>\r\n <Icon />\r\n </ListItemIcon>\r\n <ListItemText primary={label} />\r\n </ListItemButton>\r\n ))}\r\n </List>\r\n );\r\n\r\n const language = (\r\n <List subheader={\r\n <ListSubheader onClick={changeTab(\"settings\")} sx={{ backgroundColor: \"transparent\", display: \"flex\", alignItems: \"center\", px: 1, cursor: \"pointer\" }}>\r\n <IconButton size=\"small\" sx={{ mr: 0.5 }}>\r\n <ArrowBack fontSize=\"small\" />\r\n </IconButton> {t(\"Layout.Language\")}\r\n </ListSubheader>\r\n }>\r\n {supportedLanguages.map((languageCode) =>\r\n <ListItemButton\r\n key={languageCode}\r\n onClick={() => i18n.changeLanguage(languageCode).finally(() => closeMenu())}\r\n selected={i18n.resolvedLanguage === languageCode}\r\n >\r\n <ListItemIcon>\r\n {i18n.resolvedLanguage === languageCode && <Done />}\r\n </ListItemIcon>\r\n <ListItemText primary={capitalize(languageDisplayNames.of(languageCode))} />\r\n </ListItemButton>\r\n )}\r\n </List>\r\n );\r\n\r\n return (\r\n <Fragment>\r\n <IconButton size=\"small\" edge=\"end\" onClick={openMenu}>\r\n <Suspense fallback={<AccountCircle sx={{ width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 } }} />}>\r\n <Await promise={getSessionUserPhoto()}>\r\n {data => <Avatar src={data} sx={{ width: { xs: 32, sm: 40 }, height: { xs: 32, sm: 40 } }} />}\r\n </Await>\r\n </Suspense>\r\n </IconButton>\r\n\r\n <Menu anchorEl={anchorElement} open={open} onClose={closeMenu}>\r\n <Box sx={{ width: 240 }}>\r\n <List disablePadding>\r\n <ListItem>\r\n <Await promise={getSessionUserDetail()}>\r\n {data => <ListItemText primary={data.displayName.split(\"/\")[0]} secondary={data.jobTitle} />}\r\n </Await>\r\n </ListItem>\r\n\r\n <ListItemButton\r\n onClick={() =>\r\n console.log(\"Logout clicked\")\r\n }\r\n >\r\n <ListItemIcon><Logout color=\"error\" /></ListItemIcon>\r\n <ListItemText primary={t(\"Layout.Logout\")} />\r\n </ListItemButton>\r\n </List>\r\n\r\n {tab === \"settings\" && settings}\r\n {tab === \"theme\" && theme}\r\n {tab === \"language\" && language}\r\n </Box>\r\n </Menu>\r\n </Fragment>\r\n );\r\n};\r\n","import Menu from \"@mui/icons-material/Menu\";\r\nimport MenuOpen from \"@mui/icons-material/MenuOpen\";\r\nimport { AppBar, Box, CssBaseline, IconButton, InitColorSchemeScript, LinearProgress, Toolbar } from \"@mui/material\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport { useIsFetching, useIsMutating } from \"@tanstack/react-query\";\r\nimport { createIsomorphicFn } from \"@tanstack/react-start\";\r\nimport { getCookie } from \"@tanstack/react-start/server\";\r\nimport { Fragment, useState } from \"react\";\r\nimport { AppTitle } from \"./AppTitle\";\r\nimport { NavigationRail } from \"./navigation/NavigationRail\";\r\nimport { ToolbarAccount } from \"./ToolbarAccount\";\r\nimport type { Navigation } from \"~/models/Navigation\";\r\nimport type { FC, ReactNode } from \"react\";\r\n\r\nconst YEAR_IN_SECONDS = 60 * 60 * 24 * 365;\r\n\r\nconst getNavigationOpenStatus = createIsomorphicFn()\r\n .server(() => {\r\n const cookie = getCookie(\"navigationOpen\");\r\n return cookie === \"true\";\r\n })\r\n .client(() => {\r\n const cookie = document.cookie\r\n .split(\"; \")\r\n .find(row => row.startsWith(\"navigationOpen=\"));\r\n return cookie ? cookie.split(\"=\")[1] === \"true\" : false;\r\n });\r\n\r\nconst DrawerHeader = styled(\"div\")(({ theme }) => ({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n ...theme.mixins.toolbar,\r\n}));\r\n\r\ninterface LayoutProps {\r\n navigation: Navigation | undefined;\r\n children: ReactNode;\r\n}\r\n\r\nexport const Layout: FC<LayoutProps> = (props) => {\r\n const [navigationOpen, setNavigationOpen] = useState(getNavigationOpenStatus);\r\n const isFetching = !!useIsFetching();\r\n const isMutating = !!useIsMutating();\r\n\r\n return (\r\n <Fragment>\r\n <InitColorSchemeScript />\r\n <CssBaseline />\r\n\r\n <Box sx={{ display: \"flex\", height: \"100dvh\", maxHeight: \"100dvh\", overflow: \"hidden\", width: \"100%\" }}>\r\n <AppBar\r\n color=\"transparent\"\r\n position=\"fixed\"\r\n sx={{\r\n borderBottom: \"1px solid\",\r\n borderColor: \"var(--mui-palette-divider)\",\r\n boxShadow: \"none\",\r\n }}>\r\n <Toolbar>\r\n {props.navigation &&\r\n <IconButton\r\n onClick={() => {\r\n setNavigationOpen(previous => {\r\n const newValue = !previous;\r\n document.cookie = `navigationOpen=${newValue}; max-age=${YEAR_IN_SECONDS}; path=/`;\r\n return newValue;\r\n });\r\n }}\r\n sx={{ marginRight: 2 }}\r\n >\r\n {navigationOpen ? <MenuOpen /> : <Menu />}\r\n </IconButton>\r\n }\r\n\r\n <AppTitle />\r\n\r\n <ToolbarAccount />\r\n </Toolbar>\r\n </AppBar>\r\n\r\n {props.navigation &&\r\n <NavigationRail\r\n navigation={props.navigation}\r\n expanded={navigationOpen}\r\n setExpanded={newValue => {\r\n setNavigationOpen(newValue);\r\n document.cookie = `navigationOpen=${newValue}; max-age=${YEAR_IN_SECONDS}; path=/`;\r\n }}\r\n />\r\n }\r\n\r\n <Box component=\"main\" sx={{ flexGrow: 1, display: \"flex\", flexDirection: \"column\", minWidth: 0, height: \"100%\", overflow: \"hidden\" }}>\r\n <DrawerHeader />\r\n <Box sx={{ flex: 1, overflow: \"auto\", position: \"relative\" }}>\r\n {props.children}\r\n </Box>\r\n </Box>\r\n </Box>\r\n\r\n {(isFetching || isMutating) && <LinearProgress sx={{ position: \"fixed\", top: { xs: 56, sm: 64 }, left: 0, right: 0 }} />}\r\n </Fragment>\r\n );\r\n};\r\n","import { ThemeProvider } from \"@mui/material\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { createServerFn } from \"@tanstack/react-start\";\r\nimport { getCookie } from \"@tanstack/react-start/server\";\r\nimport dayjs from \"dayjs\";\r\nimport i18n from \"i18next\";\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\nimport { useEffect, useEffectEvent } from \"react\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport { resources } from \"virtual:wcz-layout\";\r\nimport z from \"zod\";\r\nimport { DialogsProvider } from \"./DialogsProvider\";\r\nimport type { Navigation } from \"~/models/Navigation\";\r\nimport type { FC, ReactNode } from \"react\";\r\nimport type { Theme } from \"@mui/material\";\r\nimport { Layout } from \"~/components/core/Layout\";\r\n\r\nconst YEAR_IN_MINUTES = 60 * 24 * 365;\r\n\r\ni18n\r\n .use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n resources,\r\n fallbackLng: \"en\",\r\n supportedLngs: Object.keys(resources),\r\n detection: {\r\n caches: [\"cookie\"],\r\n cookieMinutes: YEAR_IN_MINUTES,\r\n },\r\n interpolation: { escapeValue: false },\r\n });\r\n\r\ninterface ProvidersProps {\r\n navigation?: Navigation;\r\n theme: Theme;\r\n children: ReactNode;\r\n}\r\n\r\nexport const LayoutProvider: FC<ProvidersProps> = ({ navigation, theme, children }) => {\r\n const languageChangedHandler = useEffectEvent(() => {\r\n z.config(z.core.locales[i18n.language as keyof typeof z.core.locales]());\r\n dayjs.locale(i18n.language);\r\n });\r\n\r\n useEffect(() => {\r\n languageChangedHandler();\r\n\r\n i18n.on(\"languageChanged\", languageChangedHandler);\r\n return () => { i18n.off(\"languageChanged\", languageChangedHandler); };\r\n }, []);\r\n\r\n return (\r\n <ThemeProvider theme={theme}>\r\n <LocalizationProvider key={i18n.language} dateAdapter={AdapterDayjs} adapterLocale={i18n.language}>\r\n <DialogsProvider>\r\n <Layout navigation={navigation}>\r\n {children}\r\n </Layout>\r\n </DialogsProvider>\r\n </LocalizationProvider>\r\n </ThemeProvider>\r\n );\r\n};\r\n\r\nexport const setSSRLanguage = createServerFn().handler(async () => {\r\n const language = getCookie(i18n.services.languageDetector.options.lookupCookie) || \"en\";\r\n z.config(z.core.locales[language as keyof typeof z.core.locales]());\r\n dayjs.locale(language);\r\n await i18n.changeLanguage(language);\r\n});\r\n"],"names":["_extends","n","t","r","_objectWithoutPropertiesLoose","_excluded","PickerAdapterContext","React","LocalizationProvider","inProps","inLocaleText","otherInProps","parentAdapter","parentLocaleText","props","useThemeProps","children","DateAdapter","dateFormats","dateLibInstance","adapterLocale","themeLocaleText","localeText","adapter","dateAdapter","defaultDates","contextValue","_jsx","PropTypes","useEnhancedEffect","useEventCallback","fn","ref","args","warnedOnceCache","warnOnce","message","gravity","cleanMessage","dayjs","localizedFormatPlugin","weekOfYearPlugin","isBetweenPlugin","advancedFormatPlugin","formatTokenMap","defaultFormats","MISSING_UTC_PLUGIN","MISSING_TIMEZONE_PLUGIN","AdapterDayjs","locale","formats","customParseFormatPlugin","value","expectedLocale","comparing","comparisonTemplate","comparingInValueTimezone","timezone","date","keepLocalTime","locales","localeObject","fixedValue","zone","format","localeFormats","formatBis","_","a","b","B","formatKey","formatString","numberToFormat","start","end","amount","year","month","hours","minutes","seconds","milliseconds","count","current","nestedWeeks","weekNumber","startDate","endDate","years","slice","forEach","defaults","obj","source","prop","hasXSS","input","pattern","fieldContentRegExp","serializeCookie","name","val","opt","str","maxAge","cookie","domain","cookieOptions","nameEQ","ca","i","c","cookie$1","_ref","lookupCookie","lng","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","found","search","params","pos","hash","lookupHash","lookupFromHashIndex","query","language","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","options","languages","userLanguage","htmlTag","internalHtmlTag","path","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","getDefaults","l","Browser","services","i18nOptions","detector","detectionOrder","detected","detectorName","lookup","d","caches","cacheName","initReactI18next","instance","setDefaults","setI18n","DialogsProvider","stack","setStack","useState","keyPrefix","useId","nextId","useRef","dialogMetadata","WeakMap","requestDialog","Component","payload","onClose","resolve","promise","Promise","resolveImpl","key","newEntry","open","set","previousStack","removeDialogFromStack","dialog","filter","entry","delete","closeDialogUi","map","setTimeout","closeDialog","result","entryToClose","get","Error","jsxs","DialogsContext","close","Component_0","AppTitle","$","_c","t0","Symbol","for","Stack","jsx","Typography","clientEnv","VITE_APP_TITLE","Chip","ICON_SIZE","StyledNavButton","styled","ListItemButton","theme","borderRadius","color","vars","palette","primary","dark","backgroundColor","action","active","StyledRouterButton","RouterListItemButton","IconOrAvatar","item","collapsed","icon","t1","position","left","top","transform","t2","display","alignItems","justifyContent","minWidth","t3","t4","title","Avatar","width","height","fontSize","t5","ListItemIcon","t6","bottom","fontWeight","textAlign","whiteSpace","overflow","textOverflow","maxWidth","MINI_WIDTH","t7","Box","MiniPopover","anchorEl","offset","padding","fallbackPlacements","pt","pb","maxHeight","overflowY","overscrollBehavior","Paper","Popper","NavigationListItem","isOpen","selected","disabled","isSidebarFullyExpanded","isSidebarFullyCollapsed","onClick","renderNested","undefined","hoveredPopoverItem","setHoveredPopoverItem","anchorElement","setAnchorElement","right","ml","chevronSx","shouldJustExpand","px","sx","buttonProps","ListItemText","noWrap","flex","t8","ExpandMoreIcon","t9","Fragment","buttonContent","t10","onMouseEnter","event","currentTarget","onMouseLeave","t11","py","overflowX","t12","to","href","t13","t14","ListItem","listItem","t15","Collapse","t16","isPageItem","isDivider","kind","isHeader","NavigationList","subNavigation","depth","isPopover","expandedWidth","renderItem","activePath","onNavigate","openKeys","setOpenKeys","useEffect","previous","includes","k","toggleKey","filteredNavigation","_temp","EXPANDED_WIDTH","mt","mb","pl","List","navItem","index","ListSubheader","zIndex","bgcolor","nextItem","Divider","mx","key_0","uniqueItemKey","nav","hidden","TOOLBAR_HEIGHT","NavigationRail","navigation","expanded","setExpanded","navigate","useNavigate","routerState","useRouterState","useTheme","breakpoints","up","showPermanent","useMediaQuery","location","pathname","flexDirection","scrollbarGutter","drawerContent","borderTop","borderColor","Drawer","getSessionUser","createServerFn","inputValidator","z","object","redirectUri","string","handler","data","session","requireSession","groups","queryClient","fetchQuery","queryKey","queryFn","axios","request","method","url","headers","Authorization","getAccessToken","then","response","group","displayName","staleTime","Infinity","gcTime","user","getSessionUserDetail","getSessionUserPhoto","responseType","contentType","base64","Buffer","from","toString","capitalize","charAt","toUpperCase","ToolbarAccount","tab","setTab","Boolean","i18n","useTranslation","mode","setMode","useColorScheme","T0","closeMenu","openMenu","settings","supportedLanguages","Array","isArray","supportedLngs","languageDisplayNames","Intl","DisplayNames","type","LightMode","label","DarkMode","SettingsBrightness","colorModes","newTab","changeTab","t17","Brightness4","t18","t19","find","m","t20","t21","ChevronRight","t22","t23","t24","t25","Translate","t26","t27","t28","of","t29","t30","t31","cursor","t32","IconButton","mr","ArrowBack","t33","t34","t35","t36","modeValue","Icon","t37","t38","t39","t40","languageCode","changeLanguage","finally","resolvedLanguage","Done","AccountCircle","xs","sm","Suspense","Await","_temp2","_temp3","Logout","_temp4","Menu","data_0","split","jobTitle","console","log","YEAR_IN_SECONDS","getNavigationOpenStatus","createIsomorphicFn","server","getCookie","client","document","row","startsWith","DrawerHeader","spacing","mixins","toolbar","Layout","navigationOpen","setNavigationOpen","isFetching","useIsFetching","isMutating","useIsMutating","InitColorSchemeScript","CssBaseline","borderBottom","boxShadow","marginRight","MenuOpen","AppBar","Toolbar","newValue_0","newValue","flexGrow","LinearProgress","YEAR_IN_MINUTES","use","LanguageDetector","init","resources","fallbackLng","Object","keys","detection","interpolation","escapeValue","LayoutProvider","languageChangedHandler","useEffectEvent","on","off","ThemeProvider","setSSRLanguage","languageDetector","config","core"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
package/dist/models.js CHANGED
@@ -156,3 +156,4 @@ export {
156
156
  h as ResubmitApprovalSchema,
157
157
  I as WithdrawApprovalSchema
158
158
  };
159
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sources":["../src/models/email/EmailAttachment.ts","../src/models/email/Email.ts","../src/models/peoplesoft/EmployeeCategoryGroup.ts","../src/models/peoplesoft/EmployeeStatus.ts","../src/models/peoplesoft/Employee.ts","../src/models/peoplesoft/Department.ts","../src/models/approval/StepApprovalOrder.ts","../src/models/approval/ApprovalFlow.ts","../src/models/approval/ApprovalEmployee.ts","../src/models/approval/ApprovalFlowStep.ts","../src/models/approval/ApprovalRequestType.ts","../src/models/approval/Approval.ts"],"sourcesContent":["import z from \"zod\";\n\nexport const EmailAttachmentSchema = z.object({\n appName: z.string().trim().min(1).max(100),\n subId: z.uuid(),\n});\n\nexport type EmailAttachment = z.infer<typeof EmailAttachmentSchema>;","import z from \"zod\";\nimport { EmailAttachmentSchema } from \"./EmailAttachment\";\n\nexport const EmailSchema = z.object({\n subject: z.string().trim().min(1).max(60),\n body: z.string().trim().min(1),\n to: z.array(z.email()).min(1),\n bcc: z.array(z.email()).optional(),\n cc: z.array(z.email()).optional(),\n attachments: z.array(EmailAttachmentSchema).optional(),\n});\n\nexport type Email = z.infer<typeof EmailSchema>;","import z from \"zod\";\n\nexport const EmployeeCategoryGroup = z.enum([\n \"IDL\",\n \"FD\",\n \"FI\"\n]);","import z from \"zod\";\n\nexport const EmployeeStatus = z.enum([\n \"Active\",\n \"Terminated\",\n \"Leave of Absence\"\n]);","import z from \"zod\";\nimport { EmployeeCategoryGroup } from \"./EmployeeCategoryGroup\";\nimport { EmployeeStatus } from \"./EmployeeStatus\";\n\nexport const EmployeeSchema = z.object({\n badgeId: z.string().trim(),\n category: z.string().trim(),\n categoryGroup: EmployeeCategoryGroup,\n companyCode: z.string().trim(),\n contactPhone: z.string().trim(),\n departmentId: z.string().trim(),\n departmentDescription: z.string().trim(),\n emailString: z.string().trim(),\n employeeId: z.string().trim(),\n extensionNumber: z.string().trim(),\n firstName: z.string().trim(),\n gender: z.string().trim(),\n hiredDate: z.date(),\n lastName: z.string().trim(),\n managerId: z.string().trim(),\n middleName: z.string().trim(),\n name: z.string().trim(),\n nameTitleCase: z.string().trim(),\n nfcSn: z.string().trim(),\n plantId: z.string().trim(),\n position: z.string().trim(),\n previousEmployeeIds: z.string().trim().nullable(),\n reHiredDate: z.date().nullable(),\n recordNumber: z.number(),\n status: EmployeeStatus,\n supervisorId: z.string().trim(),\n terminationDate: z.date().nullable(),\n terminationFutureDate: z.date().nullable(),\n type: z.string().trim(),\n upperDepartmentId: z.string().trim(),\n jobCode: z.string().trim(),\n jobDescription: z.string().trim(),\n terminationReason: z.string().trim().nullable(),\n supervisorRecordNumber: z.number(),\n});\n\nexport type Employee = z.infer<typeof EmployeeSchema>;\n","import z from \"zod\";\nimport { EmployeeSchema } from \"./Employee\";\n\nexport const DepartmentSchema = z.object({\n departmentId: z.string().trim(),\n description: z.string().trim(),\n managerId: z.string().trim(),\n managerRecordNumber: z.string().trim(),\n treeLevel: z.number(),\n upperDepartmentId: z.string().trim(),\n companyCode: z.string().trim(),\n location: z.string().trim(),\n salLocation: z.string().trim(),\n plantId: z.string().trim(),\n manager: EmployeeSchema,\n});\n\nexport type Department = z.infer<typeof DepartmentSchema>;\n","import z from \"zod\";\n\nexport const StepApprovalOrder = z.enum([\n \"Serial\",\n \"Parallel\",\n \"OneOfThem\"\n]);","import { z } from \"zod\";\nimport { StepApprovalOrder } from \"./StepApprovalOrder\";\nimport type { ApprovalFlowStep } from \"./ApprovalFlowStep\";\n\nexport const ApprovalFlowSchema = z.object({\n id: z.uuid(),\n approvalStage: z.number(),\n batchSequence: z.number().optional(),\n approvalSequence: z.number(),\n stepApprovalOrder: StepApprovalOrder,\n steps: z.array(z.custom<ApprovalFlowStep>()),\n isActive: z.boolean().default(false).optional(),\n});\n\nexport type ApprovalFlow = z.infer<typeof ApprovalFlowSchema>;\n","import { z } from \"zod\";\n\nexport const ApprovalEmployeeSchema = z.object({\n employeeId: z.string().trim().min(1).max(20),\n name: z.string().trim().min(1).max(50),\n email: z.email().min(1).max(100),\n});\n\nexport type ApprovalEmployee = z.infer<typeof ApprovalEmployeeSchema>;","import { z } from \"zod\";\nimport { ApprovalEmployeeSchema } from \"./ApprovalEmployee\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\n\nexport const ApprovalFlowStepSchema = z.object({\n id: z.uuid(),\n order: z.number(),\n approverRole: z.string().trim().min(1).max(100).default(\"Approver\").optional(),\n approver: ApprovalEmployeeSchema,\n actualApprover: ApprovalEmployeeSchema.optional(),\n result: ApprovalStepResult.default(\"NotAvailable\").optional(),\n resultDate: z.date().optional(),\n resultComment: z.string().trim().max(2000).optional(),\n});\n\nexport type ApprovalFlowStep = z.infer<typeof ApprovalFlowStepSchema>;\n","import z from \"zod\";\n\nexport const ApprovalRequestType = z.enum([\n \"Single\",\n \"Batch\"\n]);","import z from \"zod\";\nimport { ApprovalFlowSchema } from \"./ApprovalFlow\";\nimport { ApprovalFlowStepSchema } from \"./ApprovalFlowStep\";\nimport { ApprovalRequestType } from \"./ApprovalRequestType\";\nimport { ApprovalStatus } from \"./ApprovalStatus\";\nimport { ApprovalStepResult } from \"./ApprovalStepResult\";\nimport type { ApprovalFlow } from \"./ApprovalFlow\";\nimport type { ApprovalEmployee } from \"./ApprovalEmployee\";\n\nexport const ApprovalSchema = z.object({\n id: z.uuid(),\n number: z.string().trim().max(30).optional(),\n applicationName: z.string().trim().min(1).max(50),\n type: ApprovalRequestType.default(\"Single\").optional(),\n status: ApprovalStatus,\n emailBody: z.string().trim().min(1),\n created: z.date(),\n createdBy: z.custom<ApprovalEmployee>(),\n updated: z.date(),\n updatedBy: z.custom<ApprovalEmployee>(),\n approvalFlows: z.array(z.custom<ApprovalFlow>()).min(1),\n currentApprovers: z.array(z.custom<ApprovalEmployee>())\n});\n\nexport type Approval = z.infer<typeof ApprovalSchema>;\n\n// Create Approval\nexport const CreateApprovalSchema = ApprovalSchema.pick({\n id: true,\n number: true,\n applicationName: true,\n type: true,\n emailBody: true,\n approvalFlows: true,\n}).extend({\n approvalFlows: z.array(\n ApprovalFlowSchema.pick({\n approvalStage: true,\n batchSequence: true,\n stepApprovalOrder: true,\n steps: true,\n }).extend({\n steps: z.array(\n ApprovalFlowStepSchema.pick({\n approverRole: true,\n approver: true,\n })\n ),\n })\n ).min(1),\n});\n\nexport type CreateApproval = z.infer<typeof CreateApprovalSchema>;\n\n// Single Approval\nexport const ApproveApprovalSchema = z.object({\n id: z.uuid(),\n result: ApprovalStepResult,\n resultComment: z.string().trim().max(2000).optional(),\n emailBody: z.string().trim().min(1),\n});\n\nexport type ApproveApproval = z.infer<typeof ApproveApprovalSchema>;\n\n// Resubmit Approval\nexport const ResubmitApprovalSchema = ApprovalSchema.pick({\n id: true,\n approvalFlows: true,\n}).extend({\n approvalFlows: z.array(\n ApprovalFlowSchema.pick({\n approvalStage: true,\n batchSequence: true,\n stepApprovalOrder: true,\n steps: true,\n }).extend({\n steps: z.array(\n ApprovalFlowStepSchema.pick({\n approverRole: true,\n approver: true,\n })\n ),\n })\n ).min(1),\n});\n\nexport type ResubmitApproval = z.infer<typeof ResubmitApprovalSchema>;\n\n// Cancel Approval\nexport const CancelApprovalSchema = z.object({\n id: z.uuid(),\n comment: z.string().trim().min(1).max(2000),\n emailBody: z.string().trim().min(1),\n});\n\nexport type CancelApproval = z.infer<typeof CancelApprovalSchema>;\n\n// Withdraw Approval\nexport const WithdrawApprovalSchema = z.object({\n id: z.uuid(),\n comment: z.string().trim().min(1).max(2000),\n emailBody: z.string().trim().min(1),\n});\n\nexport type WithdrawApproval = z.infer<typeof WithdrawApprovalSchema>;\n"],"names":["EmailAttachmentSchema","z","object","appName","string","trim","min","max","subId","uuid","EmailSchema","subject","body","to","array","email","bcc","optional","cc","attachments","EmployeeCategoryGroup","enum","EmployeeStatus","EmployeeSchema","badgeId","category","categoryGroup","companyCode","contactPhone","departmentId","departmentDescription","emailString","employeeId","extensionNumber","firstName","gender","hiredDate","date","lastName","managerId","middleName","name","nameTitleCase","nfcSn","plantId","position","previousEmployeeIds","nullable","reHiredDate","recordNumber","number","status","supervisorId","terminationDate","terminationFutureDate","type","upperDepartmentId","jobCode","jobDescription","terminationReason","supervisorRecordNumber","DepartmentSchema","description","managerRecordNumber","treeLevel","location","salLocation","manager","StepApprovalOrder","ApprovalFlowSchema","id","approvalStage","batchSequence","approvalSequence","stepApprovalOrder","steps","custom","isActive","boolean","default","ApprovalEmployeeSchema","ApprovalFlowStepSchema","order","approverRole","approver","actualApprover","result","ApprovalStepResult","resultDate","resultComment","ApprovalRequestType","ApprovalSchema","applicationName","ApprovalStatus","emailBody","created","createdBy","updated","updatedBy","approvalFlows","currentApprovers","CreateApprovalSchema","pick","extend","ApproveApprovalSchema","ResubmitApprovalSchema","CancelApprovalSchema","comment","WithdrawApprovalSchema"],"mappings":"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"}
package/dist/queries.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { q as Ke } from "./queryClient--EvGPhnh.js";
2
- import { f as we, g as Re, c as Ae, b as We, u as be, a as Me, d as xe, e as Ce, h as De } from "./FileHooks-kGkVKOf9.js";
2
+ import { f as we, g as Re, c as Ae, b as We, u as be, a as Me, d as xe, e as Ce, h as De } from "./FileHooks-T3wXKu_b.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useQuery as m, useQueryClient as p, useMutation as q } from "@tanstack/react-query";
5
- import { h as f, t as g } from "./utils-CZraUjBd.js";
5
+ import { h as f, t as g } from "./utils-A7xW24zq.js";
6
6
  import $ from "zod";
7
- import { c as T } from "./env-4ZoUrNqp.js";
7
+ import { a as T } from "./env-BD4Wc07c.js";
8
8
  import { A as v, a as F } from "./ApprovalStatus-lESbUD_x.js";
9
9
  const s = "ps", a = 1e3 * 60 * 60 * 24, ue = (t, n) => {
10
10
  const e = c(7);
@@ -565,3 +565,4 @@ export {
565
565
  De as useUploadFile,
566
566
  Ee as useWithdrawApproval
567
567
  };
568
+ //# sourceMappingURL=queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Department>>({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request<Department>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request<Array<Employee>>({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request<Employee>({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport z from \"zod\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { clientEnv } from \"~/env\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\n\r\nconst ROUTE = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nconst GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n status: ApprovalStatus.optional(),\r\n approverEmployeeId: z.string().min(1).max(20).optional(),\r\n stepResult: ApprovalStepResult.optional()\r\n});\r\n\r\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => {\r\n const queryParams = new URLSearchParams();\r\n\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n return useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [ROUTE, params],\r\n queryFn: ({ signal }) => httpClient.request<Array<Approval>>({\r\n url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n });\r\n};\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => useQuery<Approval>({\r\n ...options,\r\n queryKey: [ROUTE, id],\r\n queryFn: ({ signal }) => httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n }).then(request => request.data),\r\n});\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests`,\r\n method: \"POST\",\r\n data\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data\r\n }).then(request => request.data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n"],"names":["QUERY_KEY","DAY","useGetPeopleSoftEmployeesSearch","searchTerm","options","$","_c","t0","t1","t2","signal","httpClient","request","url","method","then","_temp","queryKey","queryFn","staleTime","gcTime","refetchOnWindowFocus","useQuery","useGetPeopleSoftEmployees","Symbol","for","_temp3","useGetPeopleSoftActiveEmployees","_temp5","useGetPeopleSoftEmployeeById","employeeId","_temp6","useGetPeopleSoftPreviousEmployeeIds","_temp8","useGetPeopleSoftEmployeeSupervisor","_temp9","useGetPeopleSoftEmployeeSubordinates","_temp0","useGetPeopleSoftEmployeeManager","_temp1","useGetPeopleSoftEmployeeGeneralManager","_temp10","useGetPeopleSoftDepartments","_temp12","useGetPeopleSoftDepartmentById","departmentId","_temp13","useGetPeopleSoftDepartmentManager","_temp14","useGetPeopleSoftDepartmentEmployees","_temp15","useGetPeopleSoftCompanyGeneralManager","companyCode","_temp16","data","_temp2","_temp4","_temp7","_temp11","ROUTE","APP_NAME","toKebabCase","clientEnv","VITE_APP_TITLE","z","object","appName","string","min","max","default","optional","status","ApprovalStatus","approverEmployeeId","stepResult","ApprovalStepResult","useGetApprovals","params","queryParams","URLSearchParams","append","toString","useGetApproval","id","useCreateApproval","queryClient","useQueryClient","invalidateQueries","exact","mutationFn","onSettled","useMutation","useApproveApproval","useResubmitApproval","useWithdrawApproval","useCancelApproval"],"mappings":"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"}
@@ -3,3 +3,4 @@ const t = new e();
3
3
  export {
4
4
  t as q
5
5
  };
6
+ //# sourceMappingURL=queryClient--EvGPhnh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryClient--EvGPhnh.js","sources":["../src/lib/queryClient.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient();\r\n"],"names":["queryClient","QueryClient"],"mappings":";AAEO,MAAMA,IAAc,IAAIC,EAAAA;"}