@natoora-libs/core 0.1.9 → 0.1.11

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.
@@ -19,47 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/hooks/index.ts
20
20
  var hooks_exports = {};
21
21
  __export(hooks_exports, {
22
- useCheckPermissionToAccess: () => useCheckPermissionToAccess_default
22
+ default: () => hooks_default
23
23
  });
24
24
  module.exports = __toCommonJS(hooks_exports);
25
-
26
- // src/hooks/useCheckPermissionToAccess/useCheckPermissionToAccess.ts
27
- function featuresAreEnabled({
28
- enabledFeatures,
29
- featureNames,
30
- requireAll = true
31
- }) {
32
- const storedPermissions = localStorage.getItem("permissions") || "";
33
- let enabled = false;
34
- if (requireAll) {
35
- enabled = featureNames.every(
36
- (feature) => enabledFeatures.includes(feature) && storedPermissions.includes(`${feature}_read`)
37
- );
38
- } else {
39
- enabled = featureNames.some(
40
- (feature) => enabledFeatures.includes(feature) && storedPermissions.includes(`${feature}_read`)
41
- );
42
- }
43
- return enabled;
44
- }
45
- var useCheckPermissionToAccess = ({
46
- featureSettings,
47
- pageName,
48
- requireAll = false
49
- }) => {
50
- let hasPermission = false;
51
- if (featuresAreEnabled({
52
- enabledFeatures: featureSettings,
53
- featureNames: [pageName],
54
- requireAll
55
- })) {
56
- hasPermission = true;
57
- }
58
- return hasPermission;
59
- };
60
- var useCheckPermissionToAccess_default = useCheckPermissionToAccess;
61
- // Annotate the CommonJS export names for ESM import in node:
62
- 0 && (module.exports = {
63
- useCheckPermissionToAccess
64
- });
25
+ var hooks_default = "@natoora-libs/core/hooks";
65
26
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/index.ts","../../src/hooks/useCheckPermissionToAccess/useCheckPermissionToAccess.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport { default as useCheckPermissionToAccess } from './useCheckPermissionToAccess/useCheckPermissionToAccess';\n","function featuresAreEnabled({\n enabledFeatures,\n featureNames,\n requireAll = true,\n}: {\n enabledFeatures: string[];\n featureNames: string[];\n requireAll?: boolean;\n}) {\n const storedPermissions = localStorage.getItem('permissions') || '';\n let enabled = false;\n\n if (requireAll) {\n enabled = featureNames.every(\n (feature) =>\n enabledFeatures.includes(feature) &&\n storedPermissions.includes(`${feature}_read`),\n );\n } else {\n enabled = featureNames.some(\n (feature) =>\n enabledFeatures.includes(feature) &&\n storedPermissions.includes(`${feature}_read`),\n );\n }\n\n return enabled;\n}\n\nconst useCheckPermissionToAccess = ({\n featureSettings,\n pageName,\n requireAll = false,\n}) => {\n let hasPermission = false;\n if (\n featuresAreEnabled({\n enabledFeatures: featureSettings,\n featureNames: [pageName],\n requireAll,\n })\n ) {\n hasPermission = true;\n }\n\n return hasPermission;\n};\n\nexport default useCheckPermissionToAccess;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,aAAa;AACf,GAIG;AACD,QAAM,oBAAoB,aAAa,QAAQ,aAAa,KAAK;AACjE,MAAI,UAAU;AAEd,MAAI,YAAY;AACd,cAAU,aAAa;AAAA,MACrB,CAAC,YACC,gBAAgB,SAAS,OAAO,KAChC,kBAAkB,SAAS,GAAG,OAAO,OAAO;AAAA,IAChD;AAAA,EACF,OAAO;AACL,cAAU,aAAa;AAAA,MACrB,CAAC,YACC,gBAAgB,SAAS,OAAO,KAChC,kBAAkB,SAAS,GAAG,OAAO,OAAO;AAAA,IAChD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,6BAA6B,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA,aAAa;AACf,MAAM;AACJ,MAAI,gBAAgB;AACpB,MACE,mBAAmB;AAAA,IACjB,iBAAiB;AAAA,IACjB,cAAc,CAAC,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC,GACD;AACA,oBAAgB;AAAA,EAClB;AAEA,SAAO;AACT;AAEA,IAAO,qCAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export default '@natoora-libs/core/hooks';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,gBAAQ;","names":[]}
@@ -1,7 +1,3 @@
1
- declare const useCheckPermissionToAccess: ({ featureSettings, pageName, requireAll, }: {
2
- featureSettings: any;
3
- pageName: any;
4
- requireAll?: boolean | undefined;
5
- }) => boolean;
1
+ declare const _default: "@natoora-libs/core/hooks";
6
2
 
7
- export { useCheckPermissionToAccess };
3
+ export { _default as default };
@@ -1,7 +1,3 @@
1
- declare const useCheckPermissionToAccess: ({ featureSettings, pageName, requireAll, }: {
2
- featureSettings: any;
3
- pageName: any;
4
- requireAll?: boolean | undefined;
5
- }) => boolean;
1
+ declare const _default: "@natoora-libs/core/hooks";
6
2
 
7
- export { useCheckPermissionToAccess };
3
+ export { _default as default };
@@ -1,41 +1,8 @@
1
1
  import "../chunk-5WRI5ZAA.js";
2
2
 
3
- // src/hooks/useCheckPermissionToAccess/useCheckPermissionToAccess.ts
4
- function featuresAreEnabled({
5
- enabledFeatures,
6
- featureNames,
7
- requireAll = true
8
- }) {
9
- const storedPermissions = localStorage.getItem("permissions") || "";
10
- let enabled = false;
11
- if (requireAll) {
12
- enabled = featureNames.every(
13
- (feature) => enabledFeatures.includes(feature) && storedPermissions.includes(`${feature}_read`)
14
- );
15
- } else {
16
- enabled = featureNames.some(
17
- (feature) => enabledFeatures.includes(feature) && storedPermissions.includes(`${feature}_read`)
18
- );
19
- }
20
- return enabled;
21
- }
22
- var useCheckPermissionToAccess = ({
23
- featureSettings,
24
- pageName,
25
- requireAll = false
26
- }) => {
27
- let hasPermission = false;
28
- if (featuresAreEnabled({
29
- enabledFeatures: featureSettings,
30
- featureNames: [pageName],
31
- requireAll
32
- })) {
33
- hasPermission = true;
34
- }
35
- return hasPermission;
36
- };
37
- var useCheckPermissionToAccess_default = useCheckPermissionToAccess;
3
+ // src/hooks/index.ts
4
+ var hooks_default = "@natoora-libs/core/hooks";
38
5
  export {
39
- useCheckPermissionToAccess_default as useCheckPermissionToAccess
6
+ hooks_default as default
40
7
  };
41
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useCheckPermissionToAccess/useCheckPermissionToAccess.ts"],"sourcesContent":["function featuresAreEnabled({\n enabledFeatures,\n featureNames,\n requireAll = true,\n}: {\n enabledFeatures: string[];\n featureNames: string[];\n requireAll?: boolean;\n}) {\n const storedPermissions = localStorage.getItem('permissions') || '';\n let enabled = false;\n\n if (requireAll) {\n enabled = featureNames.every(\n (feature) =>\n enabledFeatures.includes(feature) &&\n storedPermissions.includes(`${feature}_read`),\n );\n } else {\n enabled = featureNames.some(\n (feature) =>\n enabledFeatures.includes(feature) &&\n storedPermissions.includes(`${feature}_read`),\n );\n }\n\n return enabled;\n}\n\nconst useCheckPermissionToAccess = ({\n featureSettings,\n pageName,\n requireAll = false,\n}) => {\n let hasPermission = false;\n if (\n featuresAreEnabled({\n enabledFeatures: featureSettings,\n featureNames: [pageName],\n requireAll,\n })\n ) {\n hasPermission = true;\n }\n\n return hasPermission;\n};\n\nexport default useCheckPermissionToAccess;\n"],"mappings":";;;AAAA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,aAAa;AACf,GAIG;AACD,QAAM,oBAAoB,aAAa,QAAQ,aAAa,KAAK;AACjE,MAAI,UAAU;AAEd,MAAI,YAAY;AACd,cAAU,aAAa;AAAA,MACrB,CAAC,YACC,gBAAgB,SAAS,OAAO,KAChC,kBAAkB,SAAS,GAAG,OAAO,OAAO;AAAA,IAChD;AAAA,EACF,OAAO;AACL,cAAU,aAAa;AAAA,MACrB,CAAC,YACC,gBAAgB,SAAS,OAAO,KAChC,kBAAkB,SAAS,GAAG,OAAO,OAAO;AAAA,IAChD;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,6BAA6B,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA,aAAa;AACf,MAAM;AACJ,MAAI,gBAAgB;AACpB,MACE,mBAAmB;AAAA,IACjB,iBAAiB;AAAA,IACjB,cAAc,CAAC,QAAQ;AAAA,IACvB;AAAA,EACF,CAAC,GACD;AACA,oBAAgB;AAAA,EAClB;AAEA,SAAO;AACT;AAEA,IAAO,qCAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export default '@natoora-libs/core/hooks';\n"],"mappings":";;;AAAA,IAAO,gBAAQ;","names":[]}
@@ -151,70 +151,6 @@ var import_react3 = require("react");
151
151
  var import_material2 = require("@mui/material");
152
152
  var import_mui2 = require("tss-react/mui");
153
153
 
154
- // src/resources/styles/colors/darkPalette.ts
155
- var darkPalette = {
156
- // General colors
157
- white: "#FFFFFF",
158
- black: "#000000",
159
- // Neutral
160
- neutral50: "#1C1B1A",
161
- neutral100: "#1F1F1F",
162
- neutral150: "#262626",
163
- neutral200: "#2E2E2E",
164
- neutral250: "#383838",
165
- neutral300: "#424242",
166
- neutral400: "#4C4C4C",
167
- neutral500: "#666666",
168
- neutral600: "#808080",
169
- neutral700: "#A3A3A3",
170
- neutral750: "#B3B3B3",
171
- neutral800: "#CCCCCC",
172
- neutral900: "#F5F5F5",
173
- // Input and contrast
174
- contrast: "#FFFFFF",
175
- constrastOpacity50: "rgba(255,255,255,0.5)",
176
- // Icon and Material UI colors
177
- iconSearch: "#B0B0B0",
178
- default: "#444444",
179
- muiPrimary: "#E9FB62",
180
- muiPrimaryBlack: "#FFFFFF",
181
- lightMuiPrimaryColorBackground: "#e9fb6214",
182
- lightBlueBackground: "#e9fb6214",
183
- muiPrimaryAlternate: "#07BAF1",
184
- muiPrimaryHover: "#1890d5",
185
- muiSecondary: "#DE5B99",
186
- muiSecondaryAlternate: "#EC613C",
187
- muiSuccess: "#66BB6A",
188
- muiSuccessAlternate: "#81C784",
189
- // Transparency variants
190
- blackOpacity10: "inherit",
191
- blackOpacity20: "inherit",
192
- blackOpacity30: "inherit",
193
- blackOpacity50: "inherit",
194
- blackOpacity80: "inherit",
195
- primaryOpacity10: "rgba(233, 251, 98, 0.10)",
196
- primaryOpacity20: "rgba(233, 251, 98, 0.20)",
197
- primaryOpacity30: "rgba(233, 251, 98, 0.30)",
198
- secondaryAlternateOpacity30: "rgba(236, 97, 60, .3)",
199
- blueOpacity08: "rgba(25, 118, 210, 0.08)",
200
- whiteOpacity10: "rgba(255,255,255,0.1)",
201
- whiteOpacity20: "rgba(255,255,255,0.2)",
202
- whiteOpacity40: "rgba(255,255,255,0.4)",
203
- // Table rows and top bar
204
- topBar: "#2e3133",
205
- // Button colors
206
- // Round Button (default)
207
- buttonHoverBackground: "rgba(255, 255, 255, 0.08)",
208
- // Active Button
209
- buttonActiveText: "#E9FB62",
210
- // Contrast Button
211
- buttonContrastBorder: "#CECECE",
212
- buttonContrastText: "#CECECE",
213
- // Error Button
214
- error: "#EF5350"
215
- };
216
- var darkPalette_default = darkPalette;
217
-
218
154
  // src/resources/styles/colors/lightPalette.ts
219
155
  var lightPalette = {
220
156
  // General colors
@@ -280,9 +216,8 @@ var lightPalette = {
280
216
  var lightPalette_default = lightPalette;
281
217
 
282
218
  // src/resources/styles/colors.ts
283
- var stylesheet = localStorage.getItem("@stylesheet");
284
- var isDarkModeEnabled = stylesheet === "styles/style-dark.css";
285
- var palette = isDarkModeEnabled ? darkPalette_default : lightPalette_default;
219
+ var isDarkModeEnabled = false;
220
+ var palette = lightPalette_default;
286
221
  var colors = {
287
222
  white: palette.white,
288
223
  black: palette.black,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/providers/index.ts","../../src/providers/ErrorProvider/ErrorProvider.tsx","../../src/providers/FeedbackProvider/FeedbackProvider.tsx","../../src/providers/LoadingProvider/LoadingProvider.tsx","../../src/components/Loading/Loading.tsx","../../src/resources/styles/colors/darkPalette.ts","../../src/resources/styles/colors/lightPalette.ts","../../src/resources/styles/colors.ts"],"sourcesContent":["export { ErrorProvider, useError } from './ErrorProvider/ErrorProvider';\nexport {\n FeedbackProvider,\n useFeeback,\n} from './FeedbackProvider/FeedbackProvider';\nexport { LoadingProvider, useLoading } from './LoadingProvider/LoadingProvider';\n","import { createContext, ReactNode, useContext, useMemo } from 'react';\n\nimport { useFeeback } from '../FeedbackProvider/FeedbackProvider';\n\nconst DefaultValue = {\n // eslint-disable-next-line no-unused-vars\n setError: (error) => {},\n};\n\nconst ErrorContent = createContext(DefaultValue);\n\nconst useError = () => useContext(ErrorContent);\n\ninterface ErrorProviderProps {\n children: ReactNode;\n}\n\nconst ErrorProvider = ({ children }: ErrorProviderProps) => {\n const { setFeedback } = useFeeback();\n\n /**\n * Usually, errors will come as an AxiosResponse\n * Sometimes error will have a message property\n * @see https://axios-http.com/docs/res_schema\n */\n const handleErrorChange = (error) => {\n if (error?.message) {\n setFeedback({\n message: error.message,\n type: 'error',\n });\n return;\n }\n\n if (error?.response) {\n setFeedback({\n message: `${error.response.status}: ${error.response.data.detail}`,\n type: 'error',\n });\n return;\n }\n\n if (typeof error === 'string') {\n setFeedback({\n message: error,\n type: 'error',\n });\n }\n };\n\n const providerValue = useMemo(\n () => ({\n setError: handleErrorChange,\n }),\n [],\n );\n\n return (\n <ErrorContent.Provider value={providerValue}>\n {children}\n </ErrorContent.Provider>\n );\n};\n\nexport { ErrorProvider, useError };\n","import { createContext, ReactNode, useContext, useMemo, useState } from 'react';\n\nimport { Alert as MuiAlert, Snackbar } from '@mui/material';\nimport { makeStyles } from 'tss-react/mui';\n\nconst DefaultValue = {\n /**\n * @param {object} arguments\n * @param {string} arguments.message - Content of the feedback\n * @param {string} arguments.type - Type of the feedback. Can be either: success | error\n */\n // eslint-disable-next-line no-unused-vars\n setFeedback: ({ message, type }) => {},\n};\n\nconst FeedbackContent = createContext(DefaultValue);\n\nconst useFeeback = () => useContext(FeedbackContent);\n\nconst useStyles = makeStyles()(() => ({\n alert: {\n /**\n * To avoid changing the success color directly from palette\n * I decided to override the color only here, just to not create design issues\n */\n '&.MuiAlert-filled.MuiAlert-colorSuccess': {\n backgroundColor: '#2E7D32;',\n },\n },\n}));\n\ninterface FeedbackProviderProps {\n children: ReactNode;\n}\n\nconst FeedbackProvider = ({ children }: FeedbackProviderProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [message, setMessage] = useState('');\n const [type, setType] = useState('');\n\n const handleFeedbackChange = (feedback) => {\n setMessage(feedback.message);\n setType(feedback.type);\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { classes } = useStyles();\n\n const providerValue = useMemo(\n () => ({\n setFeedback: handleFeedbackChange,\n }),\n [],\n );\n\n return (\n <FeedbackContent.Provider value={providerValue}>\n {children}\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\n autoHideDuration={5000}\n onClose={handleClose}\n open={isOpen}\n >\n <MuiAlert\n className={classes.alert}\n onClose={handleClose}\n severity={type as any}\n variant=\"filled\"\n >\n {message}\n </MuiAlert>\n </Snackbar>\n </FeedbackContent.Provider>\n );\n};\n\nexport { FeedbackProvider, useFeeback };\n","/* eslint-disable no-unused-vars */\nimport { createContext, ReactNode, useContext, useMemo, useState } from 'react';\n\nimport Loading from '@/components/Loading/Loading';\n\nconst DefaultValue = {\n isLoading: false,\n setLoading: (isLoading) => {},\n};\n\nconst LoadingContext = createContext(DefaultValue);\n\nconst useLoading = () => useContext(LoadingContext);\n\ninterface LoadingProviderProps {\n children: ReactNode;\n}\n\nconst LoadingProvider = ({ children }: LoadingProviderProps) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const providerValue = useMemo(\n () => ({\n isLoading,\n setLoading: setIsLoading,\n }),\n [],\n );\n\n return (\n <LoadingContext.Provider value={providerValue}>\n {children}\n <Loading isLoading={isLoading} />\n </LoadingContext.Provider>\n );\n};\n\nexport { LoadingProvider, useLoading };\n","import { Backdrop, CircularProgress } from '@mui/material';\nimport { makeStyles } from 'tss-react/mui';\n\nimport { isDarkModeEnabled } from '@/resources/styles/colors';\n\nconst useStyles = makeStyles()(() => ({\n wrapper: {\n /**\n * MUI Dialogs have z-index = 1300\n */\n zIndex: 1301,\n backgroundColor: isDarkModeEnabled\n ? 'rgba(0, 0, 0, 0.5)'\n : 'rgba(255, 255, 255, 0.8)',\n },\n}));\n\ninterface ILoading {\n isLoading: boolean;\n}\n\nconst Loading = ({ isLoading }: ILoading) => {\n const { classes } = useStyles();\n\n return (\n <Backdrop\n aria-hidden={!isLoading}\n className={classes.wrapper}\n open={isLoading}\n data-testid=\"backdrop-loading\"\n >\n <CircularProgress color=\"primary\" />\n </Backdrop>\n );\n};\n\nexport default Loading;\n","import { ThemePalette } from './interface';\n\n/**\n * Define the dark palette using the same ThemePalette interface.\n * Any missing or extra keys compared to lightPalette will trigger a TypeScript error.\n */\nconst darkPalette: ThemePalette = {\n // General colors\n white: '#FFFFFF',\n black: '#000000',\n\n // Neutral\n neutral50: '#1C1B1A',\n neutral100: '#1F1F1F',\n neutral150: '#262626',\n neutral200: '#2E2E2E',\n neutral250: '#383838',\n neutral300: '#424242',\n neutral400: '#4C4C4C',\n neutral500: '#666666',\n neutral600: '#808080',\n neutral700: '#A3A3A3',\n neutral750: '#B3B3B3',\n neutral800: '#CCCCCC',\n neutral900: '#F5F5F5',\n\n // Input and contrast\n contrast: '#FFFFFF',\n constrastOpacity50: 'rgba(255,255,255,0.5)',\n\n // Icon and Material UI colors\n iconSearch: '#B0B0B0',\n default: '#444444',\n muiPrimary: '#E9FB62',\n muiPrimaryBlack: '#FFFFFF',\n lightMuiPrimaryColorBackground: '#e9fb6214',\n lightBlueBackground: '#e9fb6214',\n muiPrimaryAlternate: '#07BAF1',\n muiPrimaryHover: '#1890d5',\n muiSecondary: '#DE5B99',\n muiSecondaryAlternate: '#EC613C',\n muiSuccess: '#66BB6A',\n muiSuccessAlternate: '#81C784',\n\n // Transparency variants\n blackOpacity10: 'inherit',\n blackOpacity20: 'inherit',\n blackOpacity30: 'inherit',\n blackOpacity50: 'inherit',\n blackOpacity80: 'inherit',\n primaryOpacity10: 'rgba(233, 251, 98, 0.10)',\n primaryOpacity20: 'rgba(233, 251, 98, 0.20)',\n primaryOpacity30: 'rgba(233, 251, 98, 0.30)',\n secondaryAlternateOpacity30: 'rgba(236, 97, 60, .3)',\n blueOpacity08: 'rgba(25, 118, 210, 0.08)',\n whiteOpacity10: 'rgba(255,255,255,0.1)',\n whiteOpacity20: 'rgba(255,255,255,0.2)',\n whiteOpacity40: 'rgba(255,255,255,0.4)',\n\n // Table rows and top bar\n topBar: '#2e3133',\n\n // Button colors\n // Round Button (default)\n buttonHoverBackground: 'rgba(255, 255, 255, 0.08)',\n // Active Button\n buttonActiveText: '#E9FB62',\n // Contrast Button\n buttonContrastBorder: '#CECECE',\n buttonContrastText: '#CECECE',\n\n // Error Button\n error: '#EF5350',\n};\n\nexport default darkPalette;\n","import { ThemePalette } from './interface';\n\n/**\n * Define the light palette using the ThemePalette interface.\n */\nconst lightPalette: ThemePalette = {\n // General colors\n white: '#FFFFFF',\n black: '#000000',\n\n // Neutral\n neutral50: '#F0EBE6',\n neutral100: '#FAFAFA',\n neutral150: '#F4F4F4',\n neutral200: '#F1F1F1',\n neutral250: '#ECECEC',\n neutral300: '#E0E0E0',\n neutral400: '#C8C8C8',\n neutral500: '#BDBDBD',\n neutral600: '#999999',\n neutral700: '#878787',\n neutral750: '#6c6c6c',\n neutral800: '#555555',\n neutral900: '#4D4D4D',\n\n // Input and contrast\n contrast: '#000000',\n constrastOpacity50: 'rgba(0,0,0,0.5)',\n\n // Icon and Material UI colors\n iconSearch: '#606060',\n default: '#E0E0E0',\n muiPrimary: '#0781CE',\n muiPrimaryBlack: '#000000',\n lightMuiPrimaryColorBackground: '#eff4fb',\n lightBlueBackground: '#eff4fb',\n muiPrimaryAlternate: '#07BAF1',\n muiPrimaryHover: '#1565c0',\n muiSecondary: '#A42966',\n muiSecondaryAlternate: '#EC613C',\n muiSuccess: '#4caf50',\n muiSuccessAlternate: '#357a38',\n\n // Transparency variants\n blackOpacity10: 'rgba(0,0,0,0.1)',\n blackOpacity20: 'rgba(0,0,0,0.2)',\n blackOpacity30: 'rgba(0,0,0,0.3)',\n blackOpacity50: 'rgba(0,0,0,0.5)',\n blackOpacity80: 'rgba(0,0,0,0.8)',\n primaryOpacity10: 'rgba(7, 129, 206, 0.10)',\n primaryOpacity20: 'rgba(7, 129, 206, 0.20)',\n primaryOpacity30: 'rgba(7, 129, 206, 0.30)',\n secondaryAlternateOpacity30: 'rgba(236, 97, 60, 0.3)',\n blueOpacity08: 'rgba(25, 118, 210, 0.08)',\n whiteOpacity10: 'rgba(255,255,255,0.1)',\n whiteOpacity20: 'rgba(255,255,255,0.2)',\n whiteOpacity40: 'rgba(255,255,255,0.4)',\n\n // Table rows and top bar\n topBar: '#2e3133',\n\n // Button colors\n // Round Button (default)\n buttonHoverBackground: 'rgba(0, 0, 0, 0.04)',\n // Active Button\n buttonActiveText: '#0781CE',\n // Contrast Button\n buttonContrastBorder: '#CECECE',\n buttonContrastText: '#CECECE',\n\n // Error Button\n error: '#D32F2F',\n};\n\nexport default lightPalette;\n","import darkPalette from './colors/darkPalette';\nimport lightPalette from './colors/lightPalette';\n\nconst stylesheet = localStorage.getItem('@stylesheet');\nexport const isDarkModeEnabled = stylesheet === 'styles/style-dark.css';\nconst palette = isDarkModeEnabled ? darkPalette : lightPalette;\n\ninterface Colors {\n // General colors\n white: string;\n black: string;\n\n // Neutral\n neutral50: string;\n neutral100: string;\n neutral150: string;\n neutral200: string;\n neutral250: string;\n neutral300: string;\n neutral400: string;\n neutral500: string;\n neutral600: string;\n neutral700: string;\n neutral750: string;\n neutral800: string;\n neutral900: string;\n\n // Input and contrast\n contrast: string;\n constrastOpacity50: string;\n\n // Icon and Material UI colors\n iconSearch: string;\n default: string;\n muiPrimary: string;\n muiPrimaryBlack: string;\n lightMuiPrimaryColorBackground: string;\n lightBlueBackground: string;\n muiPrimaryAlternate: string;\n muiPrimaryHover: string;\n muiSecondary: string;\n muiSecondaryAlternate: string;\n muiSuccess: string;\n muiSuccessAlternate: string;\n\n // Transparency\n blackOpacity10: string;\n blackOpacity20: string;\n blackOpacity30: string;\n blackOpacity50: string;\n blackOpacity80: string;\n primaryOpacity10: string;\n primaryOpacity20: string;\n primaryOpacity30: string;\n secondaryAlternateOpacity30: string;\n blueOpacity08: string;\n whiteOpacity10: string;\n whiteOpacity20: string;\n whiteOpacity40: string;\n\n // Table rows and top bar\n topBar: string;\n // Error Button\n error: string;\n\n roundButton: {\n default: {\n border: string;\n color: string;\n disabled: {\n color: string;\n };\n hover: {\n background: string;\n };\n };\n filled: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n active: {\n color: string;\n hover: {\n background: string;\n };\n };\n contrast: {\n border: string;\n color: string;\n hover: {\n background: string;\n };\n };\n tableButton: {\n color: string;\n };\n focused: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n error: string;\n };\n\n movementCard: {\n default: {\n background: string;\n };\n disabled: {\n background: string;\n };\n pill: {\n color: string;\n background: string;\n };\n };\n\n rowProductCard: {\n locationSubtitle: string;\n };\n}\n\nexport const colors: Colors = {\n white: palette.white,\n black: palette.black,\n\n neutral50: palette.neutral50,\n neutral100: palette.neutral100,\n neutral150: palette.neutral150,\n neutral200: palette.neutral200,\n neutral250: palette.neutral250,\n neutral300: palette.neutral300,\n neutral400: palette.neutral400,\n neutral500: palette.neutral500,\n neutral600: palette.neutral600,\n neutral700: palette.neutral700,\n neutral750: palette.neutral750,\n neutral800: palette.neutral800,\n neutral900: palette.neutral900,\n\n // Input and contrast\n contrast: palette.contrast,\n constrastOpacity50: palette.constrastOpacity50,\n\n iconSearch: palette.iconSearch,\n default: palette.default,\n muiPrimary: palette.muiPrimary,\n muiPrimaryBlack: palette.muiPrimaryBlack,\n lightMuiPrimaryColorBackground: palette.lightMuiPrimaryColorBackground,\n lightBlueBackground: palette.lightBlueBackground,\n muiPrimaryAlternate: palette.muiPrimaryAlternate,\n muiPrimaryHover: palette.muiPrimaryHover,\n muiSecondary: palette.muiSecondary,\n muiSecondaryAlternate: palette.muiSecondaryAlternate,\n muiSuccess: palette.muiSuccess,\n muiSuccessAlternate: palette.muiSuccessAlternate,\n\n // Transparency\n blackOpacity10: palette.blackOpacity10,\n blackOpacity20: palette.blackOpacity20,\n blackOpacity30: palette.blackOpacity30,\n blackOpacity50: palette.blackOpacity50,\n blackOpacity80: palette.blackOpacity80,\n primaryOpacity10: palette.primaryOpacity10,\n primaryOpacity20: palette.primaryOpacity20,\n primaryOpacity30: palette.primaryOpacity30,\n secondaryAlternateOpacity30: palette.secondaryAlternateOpacity30,\n blueOpacity08: palette.blueOpacity08,\n whiteOpacity10: palette.whiteOpacity10,\n whiteOpacity20: palette.whiteOpacity20,\n whiteOpacity40: palette.whiteOpacity40,\n\n topBar: palette.topBar,\n error: palette.error,\n\n roundButton: {\n default: {\n border: palette.neutral600,\n color: palette.contrast,\n disabled: {\n color: palette.blackOpacity20,\n },\n hover: {\n background: palette.buttonHoverBackground,\n },\n },\n filled: {\n background: palette.neutral100,\n color: palette.blackOpacity80,\n hover: {\n background: palette.neutral250,\n },\n },\n active: {\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity20,\n },\n },\n contrast: {\n border: palette.buttonContrastBorder,\n color: palette.buttonContrastText,\n hover: {\n background: palette.whiteOpacity10,\n },\n },\n tableButton: {\n color: palette.neutral800,\n },\n focused: {\n background: palette.primaryOpacity20,\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity30,\n },\n },\n error: palette.error,\n },\n\n movementCard: {\n default: {\n background: palette.neutral100,\n },\n disabled: {\n background: palette.neutral250,\n },\n pill: {\n color: palette.neutral200,\n background: palette.neutral600,\n },\n },\n\n rowProductCard: {\n locationSubtitle: palette.neutral800,\n },\n};\n"],"mappings":"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","names":["import_react","MuiAlert","import_jsx_runtime","DefaultValue","import_react","import_material","import_mui","import_jsx_runtime","useStyles","import_jsx_runtime","DefaultValue"]}
1
+ {"version":3,"sources":["../../src/providers/index.ts","../../src/providers/ErrorProvider/ErrorProvider.tsx","../../src/providers/FeedbackProvider/FeedbackProvider.tsx","../../src/providers/LoadingProvider/LoadingProvider.tsx","../../src/components/Loading/Loading.tsx","../../src/resources/styles/colors/lightPalette.ts","../../src/resources/styles/colors.ts"],"sourcesContent":["export { ErrorProvider, useError } from './ErrorProvider/ErrorProvider';\nexport {\n FeedbackProvider,\n useFeeback,\n} from './FeedbackProvider/FeedbackProvider';\nexport { LoadingProvider, useLoading } from './LoadingProvider/LoadingProvider';\n","import { createContext, ReactNode, useContext, useMemo } from 'react';\n\nimport { useFeeback } from '../FeedbackProvider/FeedbackProvider';\n\nconst DefaultValue = {\n // eslint-disable-next-line no-unused-vars\n setError: (error) => {},\n};\n\nconst ErrorContent = createContext(DefaultValue);\n\nconst useError = () => useContext(ErrorContent);\n\ninterface ErrorProviderProps {\n children: ReactNode;\n}\n\nconst ErrorProvider = ({ children }: ErrorProviderProps) => {\n const { setFeedback } = useFeeback();\n\n /**\n * Usually, errors will come as an AxiosResponse\n * Sometimes error will have a message property\n * @see https://axios-http.com/docs/res_schema\n */\n const handleErrorChange = (error) => {\n if (error?.message) {\n setFeedback({\n message: error.message,\n type: 'error',\n });\n return;\n }\n\n if (error?.response) {\n setFeedback({\n message: `${error.response.status}: ${error.response.data.detail}`,\n type: 'error',\n });\n return;\n }\n\n if (typeof error === 'string') {\n setFeedback({\n message: error,\n type: 'error',\n });\n }\n };\n\n const providerValue = useMemo(\n () => ({\n setError: handleErrorChange,\n }),\n [],\n );\n\n return (\n <ErrorContent.Provider value={providerValue}>\n {children}\n </ErrorContent.Provider>\n );\n};\n\nexport { ErrorProvider, useError };\n","import { createContext, ReactNode, useContext, useMemo, useState } from 'react';\n\nimport { Alert as MuiAlert, Snackbar } from '@mui/material';\nimport { makeStyles } from 'tss-react/mui';\n\nconst DefaultValue = {\n /**\n * @param {object} arguments\n * @param {string} arguments.message - Content of the feedback\n * @param {string} arguments.type - Type of the feedback. Can be either: success | error\n */\n // eslint-disable-next-line no-unused-vars\n setFeedback: ({ message, type }) => {},\n};\n\nconst FeedbackContent = createContext(DefaultValue);\n\nconst useFeeback = () => useContext(FeedbackContent);\n\nconst useStyles = makeStyles()(() => ({\n alert: {\n /**\n * To avoid changing the success color directly from palette\n * I decided to override the color only here, just to not create design issues\n */\n '&.MuiAlert-filled.MuiAlert-colorSuccess': {\n backgroundColor: '#2E7D32;',\n },\n },\n}));\n\ninterface FeedbackProviderProps {\n children: ReactNode;\n}\n\nconst FeedbackProvider = ({ children }: FeedbackProviderProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [message, setMessage] = useState('');\n const [type, setType] = useState('');\n\n const handleFeedbackChange = (feedback) => {\n setMessage(feedback.message);\n setType(feedback.type);\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { classes } = useStyles();\n\n const providerValue = useMemo(\n () => ({\n setFeedback: handleFeedbackChange,\n }),\n [],\n );\n\n return (\n <FeedbackContent.Provider value={providerValue}>\n {children}\n <Snackbar\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\n autoHideDuration={5000}\n onClose={handleClose}\n open={isOpen}\n >\n <MuiAlert\n className={classes.alert}\n onClose={handleClose}\n severity={type as any}\n variant=\"filled\"\n >\n {message}\n </MuiAlert>\n </Snackbar>\n </FeedbackContent.Provider>\n );\n};\n\nexport { FeedbackProvider, useFeeback };\n","/* eslint-disable no-unused-vars */\nimport { createContext, ReactNode, useContext, useMemo, useState } from 'react';\n\nimport Loading from '@/components/Loading/Loading';\n\nconst DefaultValue = {\n isLoading: false,\n setLoading: (isLoading) => {},\n};\n\nconst LoadingContext = createContext(DefaultValue);\n\nconst useLoading = () => useContext(LoadingContext);\n\ninterface LoadingProviderProps {\n children: ReactNode;\n}\n\nconst LoadingProvider = ({ children }: LoadingProviderProps) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const providerValue = useMemo(\n () => ({\n isLoading,\n setLoading: setIsLoading,\n }),\n [],\n );\n\n return (\n <LoadingContext.Provider value={providerValue}>\n {children}\n <Loading isLoading={isLoading} />\n </LoadingContext.Provider>\n );\n};\n\nexport { LoadingProvider, useLoading };\n","import { Backdrop, CircularProgress } from '@mui/material';\nimport { makeStyles } from 'tss-react/mui';\n\nimport { isDarkModeEnabled } from '@/resources/styles/colors';\n\nconst useStyles = makeStyles()(() => ({\n wrapper: {\n /**\n * MUI Dialogs have z-index = 1300\n */\n zIndex: 1301,\n backgroundColor: isDarkModeEnabled\n ? 'rgba(0, 0, 0, 0.5)'\n : 'rgba(255, 255, 255, 0.8)',\n },\n}));\n\ninterface ILoading {\n isLoading: boolean;\n}\n\nconst Loading = ({ isLoading }: ILoading) => {\n const { classes } = useStyles();\n\n return (\n <Backdrop\n aria-hidden={!isLoading}\n className={classes.wrapper}\n open={isLoading}\n data-testid=\"backdrop-loading\"\n >\n <CircularProgress color=\"primary\" />\n </Backdrop>\n );\n};\n\nexport default Loading;\n","import { ThemePalette } from './interface';\n\n/**\n * Define the light palette using the ThemePalette interface.\n */\nconst lightPalette: ThemePalette = {\n // General colors\n white: '#FFFFFF',\n black: '#000000',\n\n // Neutral\n neutral50: '#F0EBE6',\n neutral100: '#FAFAFA',\n neutral150: '#F4F4F4',\n neutral200: '#F1F1F1',\n neutral250: '#ECECEC',\n neutral300: '#E0E0E0',\n neutral400: '#C8C8C8',\n neutral500: '#BDBDBD',\n neutral600: '#999999',\n neutral700: '#878787',\n neutral750: '#6c6c6c',\n neutral800: '#555555',\n neutral900: '#4D4D4D',\n\n // Input and contrast\n contrast: '#000000',\n constrastOpacity50: 'rgba(0,0,0,0.5)',\n\n // Icon and Material UI colors\n iconSearch: '#606060',\n default: '#E0E0E0',\n muiPrimary: '#0781CE',\n muiPrimaryBlack: '#000000',\n lightMuiPrimaryColorBackground: '#eff4fb',\n lightBlueBackground: '#eff4fb',\n muiPrimaryAlternate: '#07BAF1',\n muiPrimaryHover: '#1565c0',\n muiSecondary: '#A42966',\n muiSecondaryAlternate: '#EC613C',\n muiSuccess: '#4caf50',\n muiSuccessAlternate: '#357a38',\n\n // Transparency variants\n blackOpacity10: 'rgba(0,0,0,0.1)',\n blackOpacity20: 'rgba(0,0,0,0.2)',\n blackOpacity30: 'rgba(0,0,0,0.3)',\n blackOpacity50: 'rgba(0,0,0,0.5)',\n blackOpacity80: 'rgba(0,0,0,0.8)',\n primaryOpacity10: 'rgba(7, 129, 206, 0.10)',\n primaryOpacity20: 'rgba(7, 129, 206, 0.20)',\n primaryOpacity30: 'rgba(7, 129, 206, 0.30)',\n secondaryAlternateOpacity30: 'rgba(236, 97, 60, 0.3)',\n blueOpacity08: 'rgba(25, 118, 210, 0.08)',\n whiteOpacity10: 'rgba(255,255,255,0.1)',\n whiteOpacity20: 'rgba(255,255,255,0.2)',\n whiteOpacity40: 'rgba(255,255,255,0.4)',\n\n // Table rows and top bar\n topBar: '#2e3133',\n\n // Button colors\n // Round Button (default)\n buttonHoverBackground: 'rgba(0, 0, 0, 0.04)',\n // Active Button\n buttonActiveText: '#0781CE',\n // Contrast Button\n buttonContrastBorder: '#CECECE',\n buttonContrastText: '#CECECE',\n\n // Error Button\n error: '#D32F2F',\n};\n\nexport default lightPalette;\n","import lightPalette from './colors/lightPalette';\n\nexport const isDarkModeEnabled = false;\nconst palette = lightPalette;\n\ninterface Colors {\n // General colors\n white: string;\n black: string;\n\n // Neutral\n neutral50: string;\n neutral100: string;\n neutral150: string;\n neutral200: string;\n neutral250: string;\n neutral300: string;\n neutral400: string;\n neutral500: string;\n neutral600: string;\n neutral700: string;\n neutral750: string;\n neutral800: string;\n neutral900: string;\n\n // Input and contrast\n contrast: string;\n constrastOpacity50: string;\n\n // Icon and Material UI colors\n iconSearch: string;\n default: string;\n muiPrimary: string;\n muiPrimaryBlack: string;\n lightMuiPrimaryColorBackground: string;\n lightBlueBackground: string;\n muiPrimaryAlternate: string;\n muiPrimaryHover: string;\n muiSecondary: string;\n muiSecondaryAlternate: string;\n muiSuccess: string;\n muiSuccessAlternate: string;\n\n // Transparency\n blackOpacity10: string;\n blackOpacity20: string;\n blackOpacity30: string;\n blackOpacity50: string;\n blackOpacity80: string;\n primaryOpacity10: string;\n primaryOpacity20: string;\n primaryOpacity30: string;\n secondaryAlternateOpacity30: string;\n blueOpacity08: string;\n whiteOpacity10: string;\n whiteOpacity20: string;\n whiteOpacity40: string;\n\n // Table rows and top bar\n topBar: string;\n // Error Button\n error: string;\n\n roundButton: {\n default: {\n border: string;\n color: string;\n disabled: {\n color: string;\n };\n hover: {\n background: string;\n };\n };\n filled: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n active: {\n color: string;\n hover: {\n background: string;\n };\n };\n contrast: {\n border: string;\n color: string;\n hover: {\n background: string;\n };\n };\n tableButton: {\n color: string;\n };\n focused: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n error: string;\n };\n\n movementCard: {\n default: {\n background: string;\n };\n disabled: {\n background: string;\n };\n pill: {\n color: string;\n background: string;\n };\n };\n\n rowProductCard: {\n locationSubtitle: string;\n };\n}\n\nexport const colors: Colors = {\n white: palette.white,\n black: palette.black,\n\n neutral50: palette.neutral50,\n neutral100: palette.neutral100,\n neutral150: palette.neutral150,\n neutral200: palette.neutral200,\n neutral250: palette.neutral250,\n neutral300: palette.neutral300,\n neutral400: palette.neutral400,\n neutral500: palette.neutral500,\n neutral600: palette.neutral600,\n neutral700: palette.neutral700,\n neutral750: palette.neutral750,\n neutral800: palette.neutral800,\n neutral900: palette.neutral900,\n\n // Input and contrast\n contrast: palette.contrast,\n constrastOpacity50: palette.constrastOpacity50,\n\n iconSearch: palette.iconSearch,\n default: palette.default,\n muiPrimary: palette.muiPrimary,\n muiPrimaryBlack: palette.muiPrimaryBlack,\n lightMuiPrimaryColorBackground: palette.lightMuiPrimaryColorBackground,\n lightBlueBackground: palette.lightBlueBackground,\n muiPrimaryAlternate: palette.muiPrimaryAlternate,\n muiPrimaryHover: palette.muiPrimaryHover,\n muiSecondary: palette.muiSecondary,\n muiSecondaryAlternate: palette.muiSecondaryAlternate,\n muiSuccess: palette.muiSuccess,\n muiSuccessAlternate: palette.muiSuccessAlternate,\n\n // Transparency\n blackOpacity10: palette.blackOpacity10,\n blackOpacity20: palette.blackOpacity20,\n blackOpacity30: palette.blackOpacity30,\n blackOpacity50: palette.blackOpacity50,\n blackOpacity80: palette.blackOpacity80,\n primaryOpacity10: palette.primaryOpacity10,\n primaryOpacity20: palette.primaryOpacity20,\n primaryOpacity30: palette.primaryOpacity30,\n secondaryAlternateOpacity30: palette.secondaryAlternateOpacity30,\n blueOpacity08: palette.blueOpacity08,\n whiteOpacity10: palette.whiteOpacity10,\n whiteOpacity20: palette.whiteOpacity20,\n whiteOpacity40: palette.whiteOpacity40,\n\n topBar: palette.topBar,\n error: palette.error,\n\n roundButton: {\n default: {\n border: palette.neutral600,\n color: palette.contrast,\n disabled: {\n color: palette.blackOpacity20,\n },\n hover: {\n background: palette.buttonHoverBackground,\n },\n },\n filled: {\n background: palette.neutral100,\n color: palette.blackOpacity80,\n hover: {\n background: palette.neutral250,\n },\n },\n active: {\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity20,\n },\n },\n contrast: {\n border: palette.buttonContrastBorder,\n color: palette.buttonContrastText,\n hover: {\n background: palette.whiteOpacity10,\n },\n },\n tableButton: {\n color: palette.neutral800,\n },\n focused: {\n background: palette.primaryOpacity20,\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity30,\n },\n },\n error: palette.error,\n },\n\n movementCard: {\n default: {\n background: palette.neutral100,\n },\n disabled: {\n background: palette.neutral250,\n },\n pill: {\n color: palette.neutral200,\n background: palette.neutral600,\n },\n },\n\n rowProductCard: {\n locationSubtitle: palette.neutral800,\n },\n};\n"],"mappings":"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","names":["import_react","MuiAlert","import_jsx_runtime","DefaultValue","import_react","import_material","import_mui","import_jsx_runtime","useStyles","import_jsx_runtime","DefaultValue"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Loading_default
3
- } from "../chunk-ZYZWAAFL.js";
3
+ } from "../chunk-CKW5LT7K.js";
4
4
  import "../chunk-5WRI5ZAA.js";
5
5
 
6
6
  // src/providers/ErrorProvider/ErrorProvider.tsx
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@natoora-libs/core",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "type": "module",
9
9
  "files": [
10
- "dist"
10
+ "dist/**/*"
11
11
  ],
12
12
  "main": "dist/index.cjs",
13
13
  "types": "dist/index.d.ts",
@@ -29,15 +29,19 @@
29
29
  "require": "./dist/hooks/index.cjs"
30
30
  }
31
31
  },
32
+ "engines": {
33
+ "pnpm": ">=10.0.0"
34
+ },
35
+ "packageManager": "pnpm@10.14.0",
32
36
  "scripts": {
33
37
  "dev": "yalc publish && tsup --watch --onSuccess 'yalc push --changed'",
34
38
  "build": "tsup",
35
39
  "build-storybook": "storybook build",
36
40
  "storybook": "storybook dev -p 6006",
37
- "fix:all": "yarn format && yarn lint:fix",
38
- "format": "prettier --config ./.prettierrc --write \"./src/**/*.{js,ts,tsx}\"",
41
+ "fix:all": "pnpm run format && pnpm run lint:fix",
42
+ "format": "prettier --config ./.prettierrc.cjs --write \"./src/**/*.{js,ts,tsx}\"",
39
43
  "lint": "eslint --config ./eslint.config.js \"./src/**/*.{js,ts,tsx}\"",
40
- "lint:fix": "yarn lint --fix",
44
+ "lint:fix": "pnpm run lint --fix",
41
45
  "test": "jest",
42
46
  "test:watch": "jest --watch",
43
47
  "test:coverage": "jest --coverage"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Loading/Loading.tsx","../src/resources/styles/colors/darkPalette.ts","../src/resources/styles/colors/lightPalette.ts","../src/resources/styles/colors.ts"],"sourcesContent":["import { Backdrop, CircularProgress } from '@mui/material';\nimport { makeStyles } from 'tss-react/mui';\n\nimport { isDarkModeEnabled } from '@/resources/styles/colors';\n\nconst useStyles = makeStyles()(() => ({\n wrapper: {\n /**\n * MUI Dialogs have z-index = 1300\n */\n zIndex: 1301,\n backgroundColor: isDarkModeEnabled\n ? 'rgba(0, 0, 0, 0.5)'\n : 'rgba(255, 255, 255, 0.8)',\n },\n}));\n\ninterface ILoading {\n isLoading: boolean;\n}\n\nconst Loading = ({ isLoading }: ILoading) => {\n const { classes } = useStyles();\n\n return (\n <Backdrop\n aria-hidden={!isLoading}\n className={classes.wrapper}\n open={isLoading}\n data-testid=\"backdrop-loading\"\n >\n <CircularProgress color=\"primary\" />\n </Backdrop>\n );\n};\n\nexport default Loading;\n","import { ThemePalette } from './interface';\n\n/**\n * Define the dark palette using the same ThemePalette interface.\n * Any missing or extra keys compared to lightPalette will trigger a TypeScript error.\n */\nconst darkPalette: ThemePalette = {\n // General colors\n white: '#FFFFFF',\n black: '#000000',\n\n // Neutral\n neutral50: '#1C1B1A',\n neutral100: '#1F1F1F',\n neutral150: '#262626',\n neutral200: '#2E2E2E',\n neutral250: '#383838',\n neutral300: '#424242',\n neutral400: '#4C4C4C',\n neutral500: '#666666',\n neutral600: '#808080',\n neutral700: '#A3A3A3',\n neutral750: '#B3B3B3',\n neutral800: '#CCCCCC',\n neutral900: '#F5F5F5',\n\n // Input and contrast\n contrast: '#FFFFFF',\n constrastOpacity50: 'rgba(255,255,255,0.5)',\n\n // Icon and Material UI colors\n iconSearch: '#B0B0B0',\n default: '#444444',\n muiPrimary: '#E9FB62',\n muiPrimaryBlack: '#FFFFFF',\n lightMuiPrimaryColorBackground: '#e9fb6214',\n lightBlueBackground: '#e9fb6214',\n muiPrimaryAlternate: '#07BAF1',\n muiPrimaryHover: '#1890d5',\n muiSecondary: '#DE5B99',\n muiSecondaryAlternate: '#EC613C',\n muiSuccess: '#66BB6A',\n muiSuccessAlternate: '#81C784',\n\n // Transparency variants\n blackOpacity10: 'inherit',\n blackOpacity20: 'inherit',\n blackOpacity30: 'inherit',\n blackOpacity50: 'inherit',\n blackOpacity80: 'inherit',\n primaryOpacity10: 'rgba(233, 251, 98, 0.10)',\n primaryOpacity20: 'rgba(233, 251, 98, 0.20)',\n primaryOpacity30: 'rgba(233, 251, 98, 0.30)',\n secondaryAlternateOpacity30: 'rgba(236, 97, 60, .3)',\n blueOpacity08: 'rgba(25, 118, 210, 0.08)',\n whiteOpacity10: 'rgba(255,255,255,0.1)',\n whiteOpacity20: 'rgba(255,255,255,0.2)',\n whiteOpacity40: 'rgba(255,255,255,0.4)',\n\n // Table rows and top bar\n topBar: '#2e3133',\n\n // Button colors\n // Round Button (default)\n buttonHoverBackground: 'rgba(255, 255, 255, 0.08)',\n // Active Button\n buttonActiveText: '#E9FB62',\n // Contrast Button\n buttonContrastBorder: '#CECECE',\n buttonContrastText: '#CECECE',\n\n // Error Button\n error: '#EF5350',\n};\n\nexport default darkPalette;\n","import { ThemePalette } from './interface';\n\n/**\n * Define the light palette using the ThemePalette interface.\n */\nconst lightPalette: ThemePalette = {\n // General colors\n white: '#FFFFFF',\n black: '#000000',\n\n // Neutral\n neutral50: '#F0EBE6',\n neutral100: '#FAFAFA',\n neutral150: '#F4F4F4',\n neutral200: '#F1F1F1',\n neutral250: '#ECECEC',\n neutral300: '#E0E0E0',\n neutral400: '#C8C8C8',\n neutral500: '#BDBDBD',\n neutral600: '#999999',\n neutral700: '#878787',\n neutral750: '#6c6c6c',\n neutral800: '#555555',\n neutral900: '#4D4D4D',\n\n // Input and contrast\n contrast: '#000000',\n constrastOpacity50: 'rgba(0,0,0,0.5)',\n\n // Icon and Material UI colors\n iconSearch: '#606060',\n default: '#E0E0E0',\n muiPrimary: '#0781CE',\n muiPrimaryBlack: '#000000',\n lightMuiPrimaryColorBackground: '#eff4fb',\n lightBlueBackground: '#eff4fb',\n muiPrimaryAlternate: '#07BAF1',\n muiPrimaryHover: '#1565c0',\n muiSecondary: '#A42966',\n muiSecondaryAlternate: '#EC613C',\n muiSuccess: '#4caf50',\n muiSuccessAlternate: '#357a38',\n\n // Transparency variants\n blackOpacity10: 'rgba(0,0,0,0.1)',\n blackOpacity20: 'rgba(0,0,0,0.2)',\n blackOpacity30: 'rgba(0,0,0,0.3)',\n blackOpacity50: 'rgba(0,0,0,0.5)',\n blackOpacity80: 'rgba(0,0,0,0.8)',\n primaryOpacity10: 'rgba(7, 129, 206, 0.10)',\n primaryOpacity20: 'rgba(7, 129, 206, 0.20)',\n primaryOpacity30: 'rgba(7, 129, 206, 0.30)',\n secondaryAlternateOpacity30: 'rgba(236, 97, 60, 0.3)',\n blueOpacity08: 'rgba(25, 118, 210, 0.08)',\n whiteOpacity10: 'rgba(255,255,255,0.1)',\n whiteOpacity20: 'rgba(255,255,255,0.2)',\n whiteOpacity40: 'rgba(255,255,255,0.4)',\n\n // Table rows and top bar\n topBar: '#2e3133',\n\n // Button colors\n // Round Button (default)\n buttonHoverBackground: 'rgba(0, 0, 0, 0.04)',\n // Active Button\n buttonActiveText: '#0781CE',\n // Contrast Button\n buttonContrastBorder: '#CECECE',\n buttonContrastText: '#CECECE',\n\n // Error Button\n error: '#D32F2F',\n};\n\nexport default lightPalette;\n","import darkPalette from './colors/darkPalette';\nimport lightPalette from './colors/lightPalette';\n\nconst stylesheet = localStorage.getItem('@stylesheet');\nexport const isDarkModeEnabled = stylesheet === 'styles/style-dark.css';\nconst palette = isDarkModeEnabled ? darkPalette : lightPalette;\n\ninterface Colors {\n // General colors\n white: string;\n black: string;\n\n // Neutral\n neutral50: string;\n neutral100: string;\n neutral150: string;\n neutral200: string;\n neutral250: string;\n neutral300: string;\n neutral400: string;\n neutral500: string;\n neutral600: string;\n neutral700: string;\n neutral750: string;\n neutral800: string;\n neutral900: string;\n\n // Input and contrast\n contrast: string;\n constrastOpacity50: string;\n\n // Icon and Material UI colors\n iconSearch: string;\n default: string;\n muiPrimary: string;\n muiPrimaryBlack: string;\n lightMuiPrimaryColorBackground: string;\n lightBlueBackground: string;\n muiPrimaryAlternate: string;\n muiPrimaryHover: string;\n muiSecondary: string;\n muiSecondaryAlternate: string;\n muiSuccess: string;\n muiSuccessAlternate: string;\n\n // Transparency\n blackOpacity10: string;\n blackOpacity20: string;\n blackOpacity30: string;\n blackOpacity50: string;\n blackOpacity80: string;\n primaryOpacity10: string;\n primaryOpacity20: string;\n primaryOpacity30: string;\n secondaryAlternateOpacity30: string;\n blueOpacity08: string;\n whiteOpacity10: string;\n whiteOpacity20: string;\n whiteOpacity40: string;\n\n // Table rows and top bar\n topBar: string;\n // Error Button\n error: string;\n\n roundButton: {\n default: {\n border: string;\n color: string;\n disabled: {\n color: string;\n };\n hover: {\n background: string;\n };\n };\n filled: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n active: {\n color: string;\n hover: {\n background: string;\n };\n };\n contrast: {\n border: string;\n color: string;\n hover: {\n background: string;\n };\n };\n tableButton: {\n color: string;\n };\n focused: {\n background: string;\n color: string;\n hover: {\n background: string;\n };\n };\n error: string;\n };\n\n movementCard: {\n default: {\n background: string;\n };\n disabled: {\n background: string;\n };\n pill: {\n color: string;\n background: string;\n };\n };\n\n rowProductCard: {\n locationSubtitle: string;\n };\n}\n\nexport const colors: Colors = {\n white: palette.white,\n black: palette.black,\n\n neutral50: palette.neutral50,\n neutral100: palette.neutral100,\n neutral150: palette.neutral150,\n neutral200: palette.neutral200,\n neutral250: palette.neutral250,\n neutral300: palette.neutral300,\n neutral400: palette.neutral400,\n neutral500: palette.neutral500,\n neutral600: palette.neutral600,\n neutral700: palette.neutral700,\n neutral750: palette.neutral750,\n neutral800: palette.neutral800,\n neutral900: palette.neutral900,\n\n // Input and contrast\n contrast: palette.contrast,\n constrastOpacity50: palette.constrastOpacity50,\n\n iconSearch: palette.iconSearch,\n default: palette.default,\n muiPrimary: palette.muiPrimary,\n muiPrimaryBlack: palette.muiPrimaryBlack,\n lightMuiPrimaryColorBackground: palette.lightMuiPrimaryColorBackground,\n lightBlueBackground: palette.lightBlueBackground,\n muiPrimaryAlternate: palette.muiPrimaryAlternate,\n muiPrimaryHover: palette.muiPrimaryHover,\n muiSecondary: palette.muiSecondary,\n muiSecondaryAlternate: palette.muiSecondaryAlternate,\n muiSuccess: palette.muiSuccess,\n muiSuccessAlternate: palette.muiSuccessAlternate,\n\n // Transparency\n blackOpacity10: palette.blackOpacity10,\n blackOpacity20: palette.blackOpacity20,\n blackOpacity30: palette.blackOpacity30,\n blackOpacity50: palette.blackOpacity50,\n blackOpacity80: palette.blackOpacity80,\n primaryOpacity10: palette.primaryOpacity10,\n primaryOpacity20: palette.primaryOpacity20,\n primaryOpacity30: palette.primaryOpacity30,\n secondaryAlternateOpacity30: palette.secondaryAlternateOpacity30,\n blueOpacity08: palette.blueOpacity08,\n whiteOpacity10: palette.whiteOpacity10,\n whiteOpacity20: palette.whiteOpacity20,\n whiteOpacity40: palette.whiteOpacity40,\n\n topBar: palette.topBar,\n error: palette.error,\n\n roundButton: {\n default: {\n border: palette.neutral600,\n color: palette.contrast,\n disabled: {\n color: palette.blackOpacity20,\n },\n hover: {\n background: palette.buttonHoverBackground,\n },\n },\n filled: {\n background: palette.neutral100,\n color: palette.blackOpacity80,\n hover: {\n background: palette.neutral250,\n },\n },\n active: {\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity20,\n },\n },\n contrast: {\n border: palette.buttonContrastBorder,\n color: palette.buttonContrastText,\n hover: {\n background: palette.whiteOpacity10,\n },\n },\n tableButton: {\n color: palette.neutral800,\n },\n focused: {\n background: palette.primaryOpacity20,\n color: palette.buttonActiveText,\n hover: {\n background: palette.primaryOpacity30,\n },\n },\n error: palette.error,\n },\n\n movementCard: {\n default: {\n background: palette.neutral100,\n },\n disabled: {\n background: palette.neutral250,\n },\n pill: {\n color: palette.neutral200,\n background: palette.neutral600,\n },\n },\n\n rowProductCard: {\n locationSubtitle: palette.neutral800,\n },\n};\n"],"mappings":";AAAA,SAAS,UAAU,wBAAwB;AAC3C,SAAS,kBAAkB;;;ACK3B,IAAM,cAA4B;AAAA;AAAA,EAEhC,OAAO;AAAA,EACP,OAAO;AAAA;AAAA,EAGP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA;AAAA,EAGZ,UAAU;AAAA,EACV,oBAAoB;AAAA;AAAA,EAGpB,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,YAAY;AAAA,EACZ,qBAAqB;AAAA;AAAA,EAGrB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAGhB,QAAQ;AAAA;AAAA;AAAA,EAIR,uBAAuB;AAAA;AAAA,EAEvB,kBAAkB;AAAA;AAAA,EAElB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA;AAAA,EAGpB,OAAO;AACT;AAEA,IAAO,sBAAQ;;;ACtEf,IAAM,eAA6B;AAAA;AAAA,EAEjC,OAAO;AAAA,EACP,OAAO;AAAA;AAAA,EAGP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA;AAAA,EAGZ,UAAU;AAAA,EACV,oBAAoB;AAAA;AAAA,EAGpB,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,YAAY;AAAA,EACZ,qBAAqB;AAAA;AAAA,EAGrB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAGhB,QAAQ;AAAA;AAAA;AAAA,EAIR,uBAAuB;AAAA;AAAA,EAEvB,kBAAkB;AAAA;AAAA,EAElB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA;AAAA,EAGpB,OAAO;AACT;AAEA,IAAO,uBAAQ;;;ACvEf,IAAM,aAAa,aAAa,QAAQ,aAAa;AAC9C,IAAM,oBAAoB,eAAe;AAChD,IAAM,UAAU,oBAAoB,sBAAc;AA0H3C,IAAM,SAAiB;AAAA,EAC5B,OAAO,QAAQ;AAAA,EACf,OAAO,QAAQ;AAAA,EAEf,WAAW,QAAQ;AAAA,EACnB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA,EACpB,YAAY,QAAQ;AAAA;AAAA,EAGpB,UAAU,QAAQ;AAAA,EAClB,oBAAoB,QAAQ;AAAA,EAE5B,YAAY,QAAQ;AAAA,EACpB,SAAS,QAAQ;AAAA,EACjB,YAAY,QAAQ;AAAA,EACpB,iBAAiB,QAAQ;AAAA,EACzB,gCAAgC,QAAQ;AAAA,EACxC,qBAAqB,QAAQ;AAAA,EAC7B,qBAAqB,QAAQ;AAAA,EAC7B,iBAAiB,QAAQ;AAAA,EACzB,cAAc,QAAQ;AAAA,EACtB,uBAAuB,QAAQ;AAAA,EAC/B,YAAY,QAAQ;AAAA,EACpB,qBAAqB,QAAQ;AAAA;AAAA,EAG7B,gBAAgB,QAAQ;AAAA,EACxB,gBAAgB,QAAQ;AAAA,EACxB,gBAAgB,QAAQ;AAAA,EACxB,gBAAgB,QAAQ;AAAA,EACxB,gBAAgB,QAAQ;AAAA,EACxB,kBAAkB,QAAQ;AAAA,EAC1B,kBAAkB,QAAQ;AAAA,EAC1B,kBAAkB,QAAQ;AAAA,EAC1B,6BAA6B,QAAQ;AAAA,EACrC,eAAe,QAAQ;AAAA,EACvB,gBAAgB,QAAQ;AAAA,EACxB,gBAAgB,QAAQ;AAAA,EACxB,gBAAgB,QAAQ;AAAA,EAExB,QAAQ,QAAQ;AAAA,EAChB,OAAO,QAAQ;AAAA,EAEf,aAAa;AAAA,IACX,SAAS;AAAA,MACP,QAAQ,QAAQ;AAAA,MAChB,OAAO,QAAQ;AAAA,MACf,UAAU;AAAA,QACR,OAAO,QAAQ;AAAA,MACjB;AAAA,MACA,OAAO;AAAA,QACL,YAAY,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,YAAY,QAAQ;AAAA,MACpB,OAAO,QAAQ;AAAA,MACf,OAAO;AAAA,QACL,YAAY,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,OAAO,QAAQ;AAAA,MACf,OAAO;AAAA,QACL,YAAY,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,QAAQ,QAAQ;AAAA,MAChB,OAAO,QAAQ;AAAA,MACf,OAAO;AAAA,QACL,YAAY,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,OAAO,QAAQ;AAAA,IACjB;AAAA,IACA,SAAS;AAAA,MACP,YAAY,QAAQ;AAAA,MACpB,OAAO,QAAQ;AAAA,MACf,OAAO;AAAA,QACL,YAAY,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,IACA,OAAO,QAAQ;AAAA,EACjB;AAAA,EAEA,cAAc;AAAA,IACZ,SAAS;AAAA,MACP,YAAY,QAAQ;AAAA,IACtB;AAAA,IACA,UAAU;AAAA,MACR,YAAY,QAAQ;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,OAAO,QAAQ;AAAA,MACf,YAAY,QAAQ;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,gBAAgB;AAAA,IACd,kBAAkB,QAAQ;AAAA,EAC5B;AACF;;;AHjNM;AA1BN,IAAM,YAAY,WAAW,EAAE,OAAO;AAAA,EACpC,SAAS;AAAA;AAAA;AAAA;AAAA,IAIP,QAAQ;AAAA,IACR,iBAAiB,oBACb,uBACA;AAAA,EACN;AACF,EAAE;AAMF,IAAM,UAAU,CAAC,EAAE,UAAU,MAAgB;AAC3C,QAAM,EAAE,QAAQ,IAAI,UAAU;AAE9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,CAAC;AAAA,MACd,WAAW,QAAQ;AAAA,MACnB,MAAM;AAAA,MACN,eAAY;AAAA,MAEZ,8BAAC,oBAAiB,OAAM,WAAU;AAAA;AAAA,EACpC;AAEJ;AAEA,IAAO,kBAAQ;","names":[]}