@natoora-libs/core 0.1.8-dev-doug-1 → 0.1.8-dev-doug-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,65 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/hooks/index.ts
20
+ var hooks_exports = {};
21
+ __export(hooks_exports, {
22
+ useCheckPermissionToAccess: () => useCheckPermissionToAccess_default
23
+ });
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
+ });
65
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +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":[]}
@@ -0,0 +1,41 @@
1
+ import "../chunk-5WRI5ZAA.js";
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;
38
+ export {
39
+ useCheckPermissionToAccess_default as useCheckPermissionToAccess
40
+ };
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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":[]}
package/dist/index.cjs ADDED
@@ -0,0 +1,26 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/index.ts
20
+ var src_exports = {};
21
+ __export(src_exports, {
22
+ default: () => src_default
23
+ });
24
+ module.exports = __toCommonJS(src_exports);
25
+ var src_default = "@natoora-libs/core";
26
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export default '@natoora-libs/core';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,cAAQ;","names":[]}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ import "./chunk-5WRI5ZAA.js";
2
+
3
+ // src/index.ts
4
+ var src_default = "@natoora-libs/core";
5
+ export {
6
+ src_default as default
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export default '@natoora-libs/core';\n"],"mappings":";;;AAAA,IAAO,cAAQ;","names":[]}
@@ -0,0 +1,451 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/providers/index.ts
20
+ var providers_exports = {};
21
+ __export(providers_exports, {
22
+ ErrorProvider: () => ErrorProvider,
23
+ FeedbackProvider: () => FeedbackProvider,
24
+ LoadingProvider: () => LoadingProvider,
25
+ useError: () => useError,
26
+ useFeeback: () => useFeeback,
27
+ useLoading: () => useLoading
28
+ });
29
+ module.exports = __toCommonJS(providers_exports);
30
+
31
+ // src/providers/ErrorProvider/ErrorProvider.tsx
32
+ var import_react2 = require("react");
33
+
34
+ // src/providers/FeedbackProvider/FeedbackProvider.tsx
35
+ var import_react = require("react");
36
+ var import_material = require("@mui/material");
37
+ var import_mui = require("tss-react/mui");
38
+ var import_jsx_runtime = require("react/jsx-runtime");
39
+ var DefaultValue = {
40
+ /**
41
+ * @param {object} arguments
42
+ * @param {string} arguments.message - Content of the feedback
43
+ * @param {string} arguments.type - Type of the feedback. Can be either: success | error
44
+ */
45
+ // eslint-disable-next-line no-unused-vars
46
+ setFeedback: ({ message, type }) => {
47
+ }
48
+ };
49
+ var FeedbackContent = (0, import_react.createContext)(DefaultValue);
50
+ var useFeeback = () => (0, import_react.useContext)(FeedbackContent);
51
+ var useStyles = (0, import_mui.makeStyles)()(() => ({
52
+ alert: {
53
+ /**
54
+ * To avoid changing the success color directly from palette
55
+ * I decided to override the color only here, just to not create design issues
56
+ */
57
+ "&.MuiAlert-filled.MuiAlert-colorSuccess": {
58
+ backgroundColor: "#2E7D32;"
59
+ }
60
+ }
61
+ }));
62
+ var FeedbackProvider = ({ children }) => {
63
+ const [isOpen, setIsOpen] = (0, import_react.useState)(false);
64
+ const [message, setMessage] = (0, import_react.useState)("");
65
+ const [type, setType] = (0, import_react.useState)("");
66
+ const handleFeedbackChange = (feedback) => {
67
+ setMessage(feedback.message);
68
+ setType(feedback.type);
69
+ setIsOpen(true);
70
+ };
71
+ const handleClose = () => {
72
+ setIsOpen(false);
73
+ };
74
+ const { classes } = useStyles();
75
+ const providerValue = (0, import_react.useMemo)(
76
+ () => ({
77
+ setFeedback: handleFeedbackChange
78
+ }),
79
+ []
80
+ );
81
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(FeedbackContent.Provider, { value: providerValue, children: [
82
+ children,
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
84
+ import_material.Snackbar,
85
+ {
86
+ anchorOrigin: { vertical: "top", horizontal: "right" },
87
+ autoHideDuration: 5e3,
88
+ onClose: handleClose,
89
+ open: isOpen,
90
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
91
+ import_material.Alert,
92
+ {
93
+ className: classes.alert,
94
+ onClose: handleClose,
95
+ severity: type,
96
+ variant: "filled",
97
+ children: message
98
+ }
99
+ )
100
+ }
101
+ )
102
+ ] });
103
+ };
104
+
105
+ // src/providers/ErrorProvider/ErrorProvider.tsx
106
+ var import_jsx_runtime2 = require("react/jsx-runtime");
107
+ var DefaultValue2 = {
108
+ // eslint-disable-next-line no-unused-vars
109
+ setError: (error) => {
110
+ }
111
+ };
112
+ var ErrorContent = (0, import_react2.createContext)(DefaultValue2);
113
+ var useError = () => (0, import_react2.useContext)(ErrorContent);
114
+ var ErrorProvider = ({ children }) => {
115
+ const { setFeedback } = useFeeback();
116
+ const handleErrorChange = (error) => {
117
+ if (error?.message) {
118
+ setFeedback({
119
+ message: error.message,
120
+ type: "error"
121
+ });
122
+ return;
123
+ }
124
+ if (error?.response) {
125
+ setFeedback({
126
+ message: `${error.response.status}: ${error.response.data.detail}`,
127
+ type: "error"
128
+ });
129
+ return;
130
+ }
131
+ if (typeof error === "string") {
132
+ setFeedback({
133
+ message: error,
134
+ type: "error"
135
+ });
136
+ }
137
+ };
138
+ const providerValue = (0, import_react2.useMemo)(
139
+ () => ({
140
+ setError: handleErrorChange
141
+ }),
142
+ []
143
+ );
144
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ErrorContent.Provider, { value: providerValue, children });
145
+ };
146
+
147
+ // src/providers/LoadingProvider/LoadingProvider.tsx
148
+ var import_react3 = require("react");
149
+
150
+ // src/components/Loading/Loading.tsx
151
+ var import_material2 = require("@mui/material");
152
+ var import_mui2 = require("tss-react/mui");
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
+ // src/resources/styles/colors/lightPalette.ts
219
+ var lightPalette = {
220
+ // General colors
221
+ white: "#FFFFFF",
222
+ black: "#000000",
223
+ // Neutral
224
+ neutral50: "#F0EBE6",
225
+ neutral100: "#FAFAFA",
226
+ neutral150: "#F4F4F4",
227
+ neutral200: "#F1F1F1",
228
+ neutral250: "#ECECEC",
229
+ neutral300: "#E0E0E0",
230
+ neutral400: "#C8C8C8",
231
+ neutral500: "#BDBDBD",
232
+ neutral600: "#999999",
233
+ neutral700: "#878787",
234
+ neutral750: "#6c6c6c",
235
+ neutral800: "#555555",
236
+ neutral900: "#4D4D4D",
237
+ // Input and contrast
238
+ contrast: "#000000",
239
+ constrastOpacity50: "rgba(0,0,0,0.5)",
240
+ // Icon and Material UI colors
241
+ iconSearch: "#606060",
242
+ default: "#E0E0E0",
243
+ muiPrimary: "#0781CE",
244
+ muiPrimaryBlack: "#000000",
245
+ lightMuiPrimaryColorBackground: "#eff4fb",
246
+ lightBlueBackground: "#eff4fb",
247
+ muiPrimaryAlternate: "#07BAF1",
248
+ muiPrimaryHover: "#1565c0",
249
+ muiSecondary: "#A42966",
250
+ muiSecondaryAlternate: "#EC613C",
251
+ muiSuccess: "#4caf50",
252
+ muiSuccessAlternate: "#357a38",
253
+ // Transparency variants
254
+ blackOpacity10: "rgba(0,0,0,0.1)",
255
+ blackOpacity20: "rgba(0,0,0,0.2)",
256
+ blackOpacity30: "rgba(0,0,0,0.3)",
257
+ blackOpacity50: "rgba(0,0,0,0.5)",
258
+ blackOpacity80: "rgba(0,0,0,0.8)",
259
+ primaryOpacity10: "rgba(7, 129, 206, 0.10)",
260
+ primaryOpacity20: "rgba(7, 129, 206, 0.20)",
261
+ primaryOpacity30: "rgba(7, 129, 206, 0.30)",
262
+ secondaryAlternateOpacity30: "rgba(236, 97, 60, 0.3)",
263
+ blueOpacity08: "rgba(25, 118, 210, 0.08)",
264
+ whiteOpacity10: "rgba(255,255,255,0.1)",
265
+ whiteOpacity20: "rgba(255,255,255,0.2)",
266
+ whiteOpacity40: "rgba(255,255,255,0.4)",
267
+ // Table rows and top bar
268
+ topBar: "#2e3133",
269
+ // Button colors
270
+ // Round Button (default)
271
+ buttonHoverBackground: "rgba(0, 0, 0, 0.04)",
272
+ // Active Button
273
+ buttonActiveText: "#0781CE",
274
+ // Contrast Button
275
+ buttonContrastBorder: "#CECECE",
276
+ buttonContrastText: "#CECECE",
277
+ // Error Button
278
+ error: "#D32F2F"
279
+ };
280
+ var lightPalette_default = lightPalette;
281
+
282
+ // 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;
286
+ var colors = {
287
+ white: palette.white,
288
+ black: palette.black,
289
+ neutral50: palette.neutral50,
290
+ neutral100: palette.neutral100,
291
+ neutral150: palette.neutral150,
292
+ neutral200: palette.neutral200,
293
+ neutral250: palette.neutral250,
294
+ neutral300: palette.neutral300,
295
+ neutral400: palette.neutral400,
296
+ neutral500: palette.neutral500,
297
+ neutral600: palette.neutral600,
298
+ neutral700: palette.neutral700,
299
+ neutral750: palette.neutral750,
300
+ neutral800: palette.neutral800,
301
+ neutral900: palette.neutral900,
302
+ // Input and contrast
303
+ contrast: palette.contrast,
304
+ constrastOpacity50: palette.constrastOpacity50,
305
+ iconSearch: palette.iconSearch,
306
+ default: palette.default,
307
+ muiPrimary: palette.muiPrimary,
308
+ muiPrimaryBlack: palette.muiPrimaryBlack,
309
+ lightMuiPrimaryColorBackground: palette.lightMuiPrimaryColorBackground,
310
+ lightBlueBackground: palette.lightBlueBackground,
311
+ muiPrimaryAlternate: palette.muiPrimaryAlternate,
312
+ muiPrimaryHover: palette.muiPrimaryHover,
313
+ muiSecondary: palette.muiSecondary,
314
+ muiSecondaryAlternate: palette.muiSecondaryAlternate,
315
+ muiSuccess: palette.muiSuccess,
316
+ muiSuccessAlternate: palette.muiSuccessAlternate,
317
+ // Transparency
318
+ blackOpacity10: palette.blackOpacity10,
319
+ blackOpacity20: palette.blackOpacity20,
320
+ blackOpacity30: palette.blackOpacity30,
321
+ blackOpacity50: palette.blackOpacity50,
322
+ blackOpacity80: palette.blackOpacity80,
323
+ primaryOpacity10: palette.primaryOpacity10,
324
+ primaryOpacity20: palette.primaryOpacity20,
325
+ primaryOpacity30: palette.primaryOpacity30,
326
+ secondaryAlternateOpacity30: palette.secondaryAlternateOpacity30,
327
+ blueOpacity08: palette.blueOpacity08,
328
+ whiteOpacity10: palette.whiteOpacity10,
329
+ whiteOpacity20: palette.whiteOpacity20,
330
+ whiteOpacity40: palette.whiteOpacity40,
331
+ topBar: palette.topBar,
332
+ error: palette.error,
333
+ roundButton: {
334
+ default: {
335
+ border: palette.neutral600,
336
+ color: palette.contrast,
337
+ disabled: {
338
+ color: palette.blackOpacity20
339
+ },
340
+ hover: {
341
+ background: palette.buttonHoverBackground
342
+ }
343
+ },
344
+ filled: {
345
+ background: palette.neutral100,
346
+ color: palette.blackOpacity80,
347
+ hover: {
348
+ background: palette.neutral250
349
+ }
350
+ },
351
+ active: {
352
+ color: palette.buttonActiveText,
353
+ hover: {
354
+ background: palette.primaryOpacity20
355
+ }
356
+ },
357
+ contrast: {
358
+ border: palette.buttonContrastBorder,
359
+ color: palette.buttonContrastText,
360
+ hover: {
361
+ background: palette.whiteOpacity10
362
+ }
363
+ },
364
+ tableButton: {
365
+ color: palette.neutral800
366
+ },
367
+ focused: {
368
+ background: palette.primaryOpacity20,
369
+ color: palette.buttonActiveText,
370
+ hover: {
371
+ background: palette.primaryOpacity30
372
+ }
373
+ },
374
+ error: palette.error
375
+ },
376
+ movementCard: {
377
+ default: {
378
+ background: palette.neutral100
379
+ },
380
+ disabled: {
381
+ background: palette.neutral250
382
+ },
383
+ pill: {
384
+ color: palette.neutral200,
385
+ background: palette.neutral600
386
+ }
387
+ },
388
+ rowProductCard: {
389
+ locationSubtitle: palette.neutral800
390
+ }
391
+ };
392
+
393
+ // src/components/Loading/Loading.tsx
394
+ var import_jsx_runtime3 = require("react/jsx-runtime");
395
+ var useStyles2 = (0, import_mui2.makeStyles)()(() => ({
396
+ wrapper: {
397
+ /**
398
+ * MUI Dialogs have z-index = 1300
399
+ */
400
+ zIndex: 1301,
401
+ backgroundColor: isDarkModeEnabled ? "rgba(0, 0, 0, 0.5)" : "rgba(255, 255, 255, 0.8)"
402
+ }
403
+ }));
404
+ var Loading = ({ isLoading }) => {
405
+ const { classes } = useStyles2();
406
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
407
+ import_material2.Backdrop,
408
+ {
409
+ "aria-hidden": !isLoading,
410
+ className: classes.wrapper,
411
+ open: isLoading,
412
+ "data-testid": "backdrop-loading",
413
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material2.CircularProgress, { color: "primary" })
414
+ }
415
+ );
416
+ };
417
+ var Loading_default = Loading;
418
+
419
+ // src/providers/LoadingProvider/LoadingProvider.tsx
420
+ var import_jsx_runtime4 = require("react/jsx-runtime");
421
+ var DefaultValue3 = {
422
+ isLoading: false,
423
+ setLoading: (isLoading) => {
424
+ }
425
+ };
426
+ var LoadingContext = (0, import_react3.createContext)(DefaultValue3);
427
+ var useLoading = () => (0, import_react3.useContext)(LoadingContext);
428
+ var LoadingProvider = ({ children }) => {
429
+ const [isLoading, setIsLoading] = (0, import_react3.useState)(false);
430
+ const providerValue = (0, import_react3.useMemo)(
431
+ () => ({
432
+ isLoading,
433
+ setLoading: setIsLoading
434
+ }),
435
+ []
436
+ );
437
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(LoadingContext.Provider, { value: providerValue, children: [
438
+ children,
439
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Loading_default, { isLoading })
440
+ ] });
441
+ };
442
+ // Annotate the CommonJS export names for ESM import in node:
443
+ 0 && (module.exports = {
444
+ ErrorProvider,
445
+ FeedbackProvider,
446
+ LoadingProvider,
447
+ useError,
448
+ useFeeback,
449
+ useLoading
450
+ });
451
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +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"]}