@dexteel/mesf-core 5.12.0 → 5.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +49 -0
  3. package/CLAUDE.md +89 -0
  4. package/dist/configuration/pages/asset/components/dialogs/create-new-asset-dialog.d.ts +2 -1
  5. package/dist/configuration/pages/asset/components/dialogs/edit-asset-dialog.d.ts +2 -1
  6. package/dist/configuration/pages/asset/components/dialogs/remove-asset-dialog.d.ts +2 -1
  7. package/dist/configuration/pages/asset/components/dialogs/viewer-asset-dialog.d.ts +2 -1
  8. package/dist/configuration/pages/job/components/JobsTable/JobsDetails.d.ts +2 -1
  9. package/dist/configuration/pages/log/components/ModalLogSelected/ModalLogSelected.d.ts +2 -1
  10. package/dist/configuration/pages/profiles/components/Create/CreateProfile.d.ts +2 -1
  11. package/dist/configuration/pages/profiles/components/Delete/DeleteProfile.d.ts +2 -1
  12. package/dist/configuration/pages/profiles/components/ProceduresOfProfile/ActionsOfProfile.d.ts +2 -1
  13. package/dist/configuration/pages/settings/components/upsertDelete/CreateSetting.d.ts +2 -1
  14. package/dist/configuration/pages/settings/components/upsertDelete/DeleteSetting.d.ts +2 -1
  15. package/dist/configuration/pages/settings/components/upsertDelete/EditSetting.d.ts +2 -1
  16. package/dist/configuration/pages/shifCrew/components/Create/CreateShift.d.ts +2 -1
  17. package/dist/configuration/pages/shifCrew/components/Delete/DeleteShift.d.ts +2 -1
  18. package/dist/configuration/pages/shifCrew/components/Edit/EditShift.d.ts +2 -1
  19. package/dist/configuration/pages/users/components/ChangePassword/ChangePassword.d.ts +2 -1
  20. package/dist/configuration/pages/users/components/Create/CreateUser.d.ts +2 -1
  21. package/dist/configuration/pages/users/components/Delete/DeleteUser.d.ts +2 -1
  22. package/dist/configuration/pages/users/components/EditUser/EditUser.d.ts +2 -1
  23. package/dist/helmet/HelmetDexteel.d.ts +4 -0
  24. package/dist/helmet/HelmetDexteelContext.d.ts +11 -0
  25. package/dist/index.d.ts +13 -12
  26. package/dist/index.esm.js +718 -656
  27. package/dist/index.esm.js.map +1 -1
  28. package/package.json +2 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "5.12.0"
2
+ ".": "5.13.1"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,52 @@
1
+ # Changelog
2
+
3
+ ## [5.13.1](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.13.0...@dexteel/mesf-core-v5.13.1) (2025-09-22)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **package-json:** Add react-helmet-async ([6f2a294](https://github.com/dexteel/mesf-core-frontend/commit/6f2a294c264a62395e48dc2b22b142fab1569b8d))
9
+
10
+ ## [5.13.0] - 2025-09-22
11
+
12
+
13
+
14
+ # Changelog
15
+
16
+ ## [5.13.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.12.1...@dexteel/mesf-core-v5.13.0) (2025-09-22)
17
+
18
+
19
+ ### Features
20
+
21
+ * **asset:** Add HelmetDexteel to asset page ([eebe84f](https://github.com/dexteel/mesf-core-frontend/commit/eebe84f1a426ab276cadb7c444484cda21c24a4b))
22
+ * **jobs:** Add HelmetDexteel to jobs page ([59bc31c](https://github.com/dexteel/mesf-core-frontend/commit/59bc31c5bc01ff31643a615f146e1f615d47501e))
23
+ * **logs:** Add HelmetDexteel to logs page ([ba832f2](https://github.com/dexteel/mesf-core-frontend/commit/ba832f2bae4a7001023ebafe81950597f6c5fcc4))
24
+ * **mesf-main:** Add HelmetDexteel and HelmetDexteelContext ([eb83070](https://github.com/dexteel/mesf-core-frontend/commit/eb83070cef972aae4db8714b83e2a2a981741f2b))
25
+ * **pages:** Add HelmetDexteel to navbar pages ([49911fe](https://github.com/dexteel/mesf-core-frontend/commit/49911fef26a1f2243609a6cc897f9767ee47a4a9))
26
+ * **profiles:** Add HelmetDexteel to profiles page ([09a5082](https://github.com/dexteel/mesf-core-frontend/commit/09a5082a53d42e695e89cb990a1ff7a4e2adb11d))
27
+ * **real-time:** Add HelmetDexteel to real time pages ([bf03b41](https://github.com/dexteel/mesf-core-frontend/commit/bf03b41178b8a198c222d595b759070ad9540dcb))
28
+ * **settings:** Add HelmetDexteel to settings page ([103a0e1](https://github.com/dexteel/mesf-core-frontend/commit/103a0e1205cef61dbc69691b57b87edc4f14faf9))
29
+ * **shifts:** Add HelmetDexteel to shifts page ([867e519](https://github.com/dexteel/mesf-core-frontend/commit/867e51970f56016971b0e3ae06f796057fc5ad4c))
30
+ * **users:** Add HelmetDexteel to users page ([885ef67](https://github.com/dexteel/mesf-core-frontend/commit/885ef67acbaafd2d071e2224391b6fe868996d24))
31
+
32
+ ## [5.12.1] - 2025-09-12
33
+
34
+
35
+
36
+ # Changelog
37
+
38
+ ## [5.12.1](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.12.0...@dexteel/mesf-core-v5.12.1) (2025-09-12)
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * **Settings:** rewrite UTLSettingContext to make sure settings are lo… ([3f6c367](https://github.com/dexteel/mesf-core-frontend/commit/3f6c36797ce0e0bed33dc574589347ba0a39f34e))
44
+ * **Settings:** rewrite UTLSettingContext to make sure settings are loaded before application ([eb262d9](https://github.com/dexteel/mesf-core-frontend/commit/eb262d92c51880f3a63349accc8ef259e843de7e))
45
+
46
+ ## [5.12.0] - 2025-09-09
47
+
48
+
49
+
1
50
  # Changelog
2
51
 
3
52
  ## [5.12.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.11.0...@dexteel/mesf-core-v5.12.0) (2025-09-09)
package/CLAUDE.md ADDED
@@ -0,0 +1,89 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Development Commands
6
+
7
+ ### Build and Development
8
+ - `npm run build` - Build the library for production using Rollup
9
+ - `npm run watch` or `npm start` - Build in watch mode for development
10
+ - `npm run ci` - Clean build for CI environments
11
+
12
+ ### Code Quality
13
+ - `npx @biomejs/biome check --write ./src` - Format and organize imports with Biome
14
+ - Pre-commit hook automatically runs Biome formatting on staged files
15
+
16
+ ## Architecture Overview
17
+
18
+ This is `@dexteel/mesf-core`, a React component library built as an NPM package using TypeScript and Rollup. The library provides a comprehensive set of components and utilities for manufacturing execution systems.
19
+
20
+ ### Key Architecture Patterns
21
+
22
+ **Library Structure**: The project follows a modular library architecture with clear separation between:
23
+ - Components (UI elements)
24
+ - Context providers (state management)
25
+ - Services (API communication)
26
+ - Configuration modules (settings and user management)
27
+ - Utilities and hooks
28
+
29
+ **Export Strategy**: All public APIs are exported through `src/index.ts` using barrel exports, making the library consumable as a single package.
30
+
31
+ **State Management**: Uses React Context pattern extensively:
32
+ - `UTLSettingContext` - User settings and preferences
33
+ - `userContext` - User authentication and profile data
34
+ - `assetContext` - Asset management state
35
+ - `axiosInstance` - HTTP client configuration with interceptors
36
+
37
+ **Real-time Communication**: Integrates SignalR (`@microsoft/signalr`) for real-time updates via the `useMesfRealtime` hook.
38
+
39
+ ### Directory Structure
40
+
41
+ - **src/components/** - Reusable UI components organized by domain
42
+ - `navigation/` - Header, menu components
43
+ - `modals/` - Dialog components
44
+ - `shared/` - Common utility components
45
+
46
+ - **src/configuration/** - Admin and configuration modules
47
+ - Handles user management, system settings
48
+ - Contains pages for administrative functions
49
+
50
+ - **src/context/** - React Context providers
51
+ - Authentication, settings, and shared state management
52
+ - Axios configuration with request/response interceptors
53
+
54
+ - **src/hooks/** - Custom React hooks
55
+ - Real-time data hooks, search utilities
56
+
57
+ - **src/services/** - API communication layer
58
+ - **src/utils/** - Utility functions and helpers
59
+ - **src/controls/** - Form controls and input components
60
+
61
+ ### Technology Stack
62
+
63
+ **Core Framework**: React 17 with TypeScript
64
+ **Build Tool**: Rollup with TypeScript plugin
65
+ **Styling**: Material-UI v4 with custom theme support
66
+ **State**: Redux Toolkit for complex state, React Context for simpler state
67
+ **Authentication**: Azure MSAL for Microsoft authentication
68
+ **Data Visualization**: Nivo charts, Chart.js with react-chartjs-2
69
+ **Grid Component**: AG Grid (Enterprise features available)
70
+ **Date Handling**: Moment.js with timezone support
71
+
72
+ ### Key Dependencies
73
+
74
+ The library has extensive peer dependencies that consuming applications must provide:
75
+ - Material-UI components and theming
76
+ - AG Grid for data tables
77
+ - Chart libraries (Nivo, Chart.js)
78
+ - React Router DOM for navigation
79
+ - Redux Toolkit for state management
80
+
81
+ ### Development Notes
82
+
83
+ **Styling**: Uses Material-UI v4 theming system. Custom theme exports available via `src/css/themeMESF`.
84
+
85
+ **Internationalization**: Components support timezone handling via `moment-timezone` and `date-fns-tz`.
86
+
87
+ **Bundle Optimization**: Rollup configuration externalizes React and Babel runtime to prevent duplication in consuming applications.
88
+
89
+ **Code Quality**: Biome is configured for formatting and import organization, but linting is disabled (see biome.json).
@@ -2,6 +2,7 @@ import React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const CreateNewAssetDialog: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const CreateNewAssetDialog: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const EditAssetDialog: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const EditAssetDialog: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const RemoveAssetDialog: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const RemoveAssetDialog: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (onHide: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const ViewerAssetDialog: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const ViewerAssetDialog: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -7,6 +7,7 @@ type Props = {
7
7
  close: boolean;
8
8
  entityId?: number;
9
9
  }) => void;
10
+ suffixTitle?: string;
10
11
  };
11
- export declare const JobDetails: ({ job, modal, onHide }: Props) => React.JSX.Element;
12
+ export declare const JobDetails: ({ job, modal, onHide, suffixTitle }: Props) => React.JSX.Element;
12
13
  export {};
@@ -4,6 +4,7 @@ type Props = {
4
4
  show: boolean;
5
5
  onHide: (show: boolean) => void;
6
6
  selectedLog: Log | undefined;
7
+ suffixTitle?: string;
7
8
  };
8
- export declare const ModalLogSelected: ({ show, onHide, selectedLog }: Props) => React.JSX.Element;
9
+ export declare const ModalLogSelected: ({ show, onHide, selectedLog, suffixTitle, }: Props) => React.JSX.Element;
9
10
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const CreateProfile: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const CreateProfile: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -4,6 +4,7 @@ type Props = {
4
4
  profile: Profile | null;
5
5
  show: boolean;
6
6
  onHide: (shouldUpdate: boolean) => void;
7
+ suffixTitle?: string;
7
8
  };
8
- export declare const DeleteProfile: ({ profile, show, onHide }: Props) => React.JSX.Element;
9
+ export declare const DeleteProfile: ({ profile, show, onHide, suffixTitle, }: Props) => React.JSX.Element;
9
10
  export {};
@@ -4,6 +4,7 @@ type Props = {
4
4
  profileForEdit: Profile | null;
5
5
  show: boolean;
6
6
  onHide: (shouldUpdate: boolean) => void;
7
+ suffixTitle?: string;
7
8
  };
8
- export declare const ActionsOfProfile: ({ profileForEdit, show, onHide }: Props) => React.JSX.Element;
9
+ export declare const ActionsOfProfile: ({ profileForEdit, show, onHide, suffixTitle, }: Props) => React.JSX.Element;
9
10
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const CreateSetting: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const CreateSetting: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const DeleteSetting: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const DeleteSetting: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const EditSetting: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const EditSetting: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const CreateShift: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const CreateShift: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const DeleteShift: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const DeleteShift: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const EditShift: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const EditShift: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -3,6 +3,7 @@ type Props = {
3
3
  show: boolean;
4
4
  userId: number | null;
5
5
  onHide: (shouldUpdate: boolean) => void;
6
+ suffixTitle?: string;
6
7
  };
7
- export declare const ChangePassword: ({ show, userId, onHide }: Props) => React.JSX.Element;
8
+ export declare const ChangePassword: ({ show, userId, onHide, suffixTitle, }: Props) => React.JSX.Element;
8
9
  export {};
@@ -2,6 +2,7 @@ import * as React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (shouldUpdate: boolean) => void;
5
+ suffixTitle?: string;
5
6
  };
6
- export declare const CreateUser: ({ show, onHide }: Props) => React.JSX.Element;
7
+ export declare const CreateUser: ({ show, onHide, suffixTitle }: Props) => React.JSX.Element;
7
8
  export {};
@@ -3,6 +3,7 @@ type Props = {
3
3
  userId: number | null;
4
4
  show: boolean;
5
5
  onHide: (shouldUpdate: boolean) => void;
6
+ suffixTitle?: string;
6
7
  };
7
- export declare const DeleteUser: ({ userId, show, onHide }: Props) => React.JSX.Element;
8
+ export declare const DeleteUser: ({ userId, show, onHide, suffixTitle }: Props) => React.JSX.Element;
8
9
  export {};
@@ -3,6 +3,7 @@ type Props = {
3
3
  userId: number | null;
4
4
  show: boolean;
5
5
  onHide: (shouldUpdate: boolean) => void;
6
+ suffixTitle?: string;
6
7
  };
7
- export declare const EditUser: ({ userId, show, onHide }: Props) => React.JSX.Element;
8
+ export declare const EditUser: ({ userId, show, onHide, suffixTitle }: Props) => React.JSX.Element;
8
9
  export {};
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export declare const HelmetDexteel: ({ title, ...props }: {
3
+ title: React.ReactNode;
4
+ }) => React.JSX.Element;
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from "react";
2
+ interface HelmetDexteelContextType {
3
+ navbarTitle: string | null;
4
+ }
5
+ interface HelmetDexteelProviderProps {
6
+ navbarTitle: string | null;
7
+ children: ReactNode;
8
+ }
9
+ export declare const HelmetDexteelProvider: React.FC<HelmetDexteelProviderProps>;
10
+ export declare const useHelmetDexteel: () => HelmetDexteelContextType;
11
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,21 +1,22 @@
1
+ export * from "@microsoft/signalr";
1
2
  export { LicenseManager } from "ag-grid-enterprise";
2
3
  export * from "./account";
3
- export * from "./context/axiosInstance";
4
- export * from "./MESFMain";
5
- export * from "./components/modals/modal.mesf";
6
4
  export * from "./components/modals/error-modal";
7
- export * from "./pages/trendings/TrendingsPage";
5
+ export * from "./components/modals/modal.mesf";
6
+ export * from "./components/navigation/TimeAndUserMenu";
7
+ export * from "./components/shared/buttons/button-with-loading";
8
8
  export * from "./configuration";
9
- export * from "./context/UTLSettingContext";
9
+ export * from "./configuration/pages/users/models/User";
10
+ export * from "./configuration/pages/users/repositories/UsersRepository";
10
11
  export * from "./context/assetContext";
12
+ export * from "./context/axiosInstance";
11
13
  export * from "./context/userContext";
14
+ export * from "./context/UTLSettingContext";
12
15
  export * from "./controls";
16
+ export * from "./css/themeMESF";
17
+ export { HelmetDexteel } from "./helmet/HelmetDexteel";
18
+ export * from "./hooks/useMesfRealtime";
19
+ export * from "./MESFMain";
20
+ export * from "./pages/trendings/TrendingsPage";
13
21
  export * from "./services";
14
22
  export * from "./utils";
15
- export * from "./components/shared/buttons/button-with-loading";
16
- export * from "./configuration/pages/users/models/User";
17
- export * from "./configuration/pages/users/repositories/UsersRepository";
18
- export * from "@microsoft/signalr";
19
- export * from "./hooks/useMesfRealtime";
20
- export * from "./css/themeMESF";
21
- export * from "./components/navigation/TimeAndUserMenu";