@atipicus/mrs-ui 1.0.2 → 2.0.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.
- package/LICENSE +63 -3
- package/README.md +15 -3
- package/dist/Table-BWJUQgDY.js.map +1 -1
- package/dist/Table-BrEk_oGh.mjs.map +1 -1
- package/dist/components/atoms/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/atoms/Avatar/Avatar.types.d.ts +1 -1
- package/dist/components/atoms/Avatar/Avatar.types.d.ts.map +1 -1
- package/dist/components/atoms/Select/Select.d.ts.map +1 -1
- package/dist/components/molecules/Sidenav/Sidenav.d.ts.map +1 -1
- package/dist/components/molecules/index.d.ts +0 -1
- package/dist/components/molecules/index.d.ts.map +1 -1
- package/dist/index-9xINu3Y6.mjs +11 -0
- package/dist/index-9xINu3Y6.mjs.map +1 -0
- package/dist/{index-C4a5SkEO.js → index-B3fSNHE_.js} +1 -2
- package/dist/index-B3fSNHE_.js.map +1 -0
- package/dist/{index-DgpKiomn.js → index-B6HAPXbT.js} +1 -2
- package/dist/index-B6HAPXbT.js.map +1 -0
- package/dist/{index-DQLiGYRv.js → index-CrukcVHf.js} +1 -2
- package/dist/index-CrukcVHf.js.map +1 -0
- package/dist/index-CzgRXVhq.mjs +5 -0
- package/dist/index-CzgRXVhq.mjs.map +1 -0
- package/dist/{index-Bp_39Kmf.js → index-D19iZMBT.js} +1 -2
- package/dist/index-D19iZMBT.js.map +1 -0
- package/dist/{index-xewrdUFS.js → index-D2dZ1ELl.js} +1 -2
- package/dist/index-D2dZ1ELl.js.map +1 -0
- package/dist/index-DpuDQuvl.mjs +5 -0
- package/dist/index-DpuDQuvl.mjs.map +1 -0
- package/dist/index-DzuUedva.mjs +5 -0
- package/dist/index-DzuUedva.mjs.map +1 -0
- package/dist/{index-C4N6hqG7.mjs → index-MEnqUL_H.mjs} +8 -5
- package/dist/index-MEnqUL_H.mjs.map +1 -0
- package/dist/{index-DrHcCXwi.js → index-ZqM4dIOj.js} +1 -2
- package/dist/index-ZqM4dIOj.js.map +1 -0
- package/dist/index-mOLOagan.mjs +5 -0
- package/dist/index-mOLOagan.mjs.map +1 -0
- package/dist/index.js +394 -151
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +396 -153
- package/dist/index.mjs.map +1 -1
- package/dist/lazy.d.ts +1 -41
- package/dist/lazy.d.ts.map +1 -1
- package/dist/lazy.js +16 -46
- package/dist/lazy.js.map +1 -1
- package/dist/lazy.mjs +17 -47
- package/dist/lazy.mjs.map +1 -1
- package/dist/theme/styleCompositions.d.ts +281 -0
- package/dist/theme/styleCompositions.d.ts.map +1 -0
- package/dist/theme/theme.d.ts.map +1 -1
- package/dist/theme/tokens-import.d.ts +164 -0
- package/dist/theme/tokens-import.d.ts.map +1 -1
- package/dist/theme/tokens.d.ts +292 -0
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/types.d.ts +146 -0
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme-editor/ThemeEditorApp.d.ts +14 -0
- package/dist/theme-editor/ThemeEditorApp.d.ts.map +1 -0
- package/dist/theme-editor/components/ColorEditor.d.ts +10 -0
- package/dist/theme-editor/components/ColorEditor.d.ts.map +1 -0
- package/dist/theme-editor/components/ComponentPreview.d.ts +8 -0
- package/dist/theme-editor/components/ComponentPreview.d.ts.map +1 -0
- package/dist/theme-editor/components/SaveDialog.d.ts +13 -0
- package/dist/theme-editor/components/SaveDialog.d.ts.map +1 -0
- package/dist/theme-editor/components/SpacingEditor.d.ts +11 -0
- package/dist/theme-editor/components/SpacingEditor.d.ts.map +1 -0
- package/dist/theme-editor/components/SyncDialog.d.ts +12 -0
- package/dist/theme-editor/components/SyncDialog.d.ts.map +1 -0
- package/dist/theme-editor/components/TypographyEditor.d.ts +10 -0
- package/dist/theme-editor/components/TypographyEditor.d.ts.map +1 -0
- package/dist/theme-editor/components/UndoButton.d.ts +9 -0
- package/dist/theme-editor/components/UndoButton.d.ts.map +1 -0
- package/dist/theme-editor/hooks/useFileSystem.d.ts +18 -0
- package/dist/theme-editor/hooks/useFileSystem.d.ts.map +1 -0
- package/dist/theme-editor/hooks/useGitIntegration.d.ts +41 -0
- package/dist/theme-editor/hooks/useGitIntegration.d.ts.map +1 -0
- package/dist/theme-editor/hooks/useThemeParser.d.ts +65 -0
- package/dist/theme-editor/hooks/useThemeParser.d.ts.map +1 -0
- package/dist/theme-editor/hooks/useThemeSave.d.ts +21 -0
- package/dist/theme-editor/hooks/useThemeSave.d.ts.map +1 -0
- package/dist/theme-editor/hooks/useThemeSync.d.ts +20 -0
- package/dist/theme-editor/hooks/useThemeSync.d.ts.map +1 -0
- package/dist/theme-editor/index.d.ts +18 -0
- package/dist/theme-editor/index.d.ts.map +1 -0
- package/package.json +35 -31
- package/README.npm.md +0 -132
- package/dist/Timeline-BPdic0I4.mjs +0 -59
- package/dist/Timeline-BPdic0I4.mjs.map +0 -1
- package/dist/Timeline-BzDR_6ve.js +0 -58
- package/dist/Timeline-BzDR_6ve.js.map +0 -1
- package/dist/components/molecules/Timeline/Timeline.d.ts +0 -50
- package/dist/components/molecules/Timeline/Timeline.d.ts.map +0 -1
- package/dist/components/molecules/Timeline/Timeline.types.d.ts +0 -75
- package/dist/components/molecules/Timeline/Timeline.types.d.ts.map +0 -1
- package/dist/components/molecules/Timeline/index.d.ts +0 -6
- package/dist/components/molecules/Timeline/index.d.ts.map +0 -1
- package/dist/index--v2dNPpd.js +0 -11
- package/dist/index--v2dNPpd.js.map +0 -1
- package/dist/index-B4_KKxHQ.mjs +0 -6
- package/dist/index-B4_KKxHQ.mjs.map +0 -1
- package/dist/index-Bp_39Kmf.js.map +0 -1
- package/dist/index-C4N6hqG7.mjs.map +0 -1
- package/dist/index-C4a5SkEO.js.map +0 -1
- package/dist/index-CBDmTLHS.mjs +0 -11
- package/dist/index-CBDmTLHS.mjs.map +0 -1
- package/dist/index-CLLVDdFI.mjs +0 -12
- package/dist/index-CLLVDdFI.mjs.map +0 -1
- package/dist/index-CxB9Lb7L.mjs +0 -6
- package/dist/index-CxB9Lb7L.mjs.map +0 -1
- package/dist/index-DGbzI3ul.mjs +0 -6
- package/dist/index-DGbzI3ul.mjs.map +0 -1
- package/dist/index-DQLiGYRv.js.map +0 -1
- package/dist/index-DgpKiomn.js.map +0 -1
- package/dist/index-DrHcCXwi.js.map +0 -1
- package/dist/index-xewrdUFS.js.map +0 -1
- package/dist/index-zqX2ktfd.mjs +0 -6
- package/dist/index-zqX2ktfd.mjs.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useGitIntegration Hook
|
|
3
|
+
* Handles Git operations: commit, revert (undo)
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Creates commits with theme change summaries
|
|
7
|
+
* - Supports undo via git revert (5-minute window)
|
|
8
|
+
* - Provides status feedback for UI
|
|
9
|
+
* - Tracks commit hashes and undo deadlines
|
|
10
|
+
*/
|
|
11
|
+
export type GitStatus = 'idle' | 'committing' | 'reverting' | 'success' | 'error';
|
|
12
|
+
export interface GitCommitOptions {
|
|
13
|
+
message: string;
|
|
14
|
+
filepaths?: string[];
|
|
15
|
+
author?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface GitResult {
|
|
18
|
+
success: boolean;
|
|
19
|
+
commitHash: string;
|
|
20
|
+
message: string;
|
|
21
|
+
canUndo: boolean;
|
|
22
|
+
undoUntil: Date;
|
|
23
|
+
timestamp: Date;
|
|
24
|
+
}
|
|
25
|
+
export interface RevertResult {
|
|
26
|
+
success: boolean;
|
|
27
|
+
message: string;
|
|
28
|
+
revertHash?: string;
|
|
29
|
+
timestamp: Date;
|
|
30
|
+
}
|
|
31
|
+
export declare function useGitIntegration(): {
|
|
32
|
+
status: GitStatus;
|
|
33
|
+
lastCommit: GitResult | null;
|
|
34
|
+
lastRevert: RevertResult | null;
|
|
35
|
+
commit: (options: GitCommitOptions) => Promise<GitResult>;
|
|
36
|
+
undo: (commitHash: string) => Promise<RevertResult>;
|
|
37
|
+
canUndo: () => boolean;
|
|
38
|
+
getUndoTimeRemaining: () => number;
|
|
39
|
+
reset: () => void;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useGitIntegration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGitIntegration.d.ts","sourceRoot":"","sources":["../../../src/theme-editor/hooks/useGitIntegration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AASD,wBAAgB,iBAAiB;;;;sBAUb,gBAAgB,KAAG,OAAO,CAAC,SAAS,CAAC;uBA8DlC,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC;mBAgEnB,OAAO;gCAQM,MAAM;;EA6BpD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useThemeParser Hook
|
|
3
|
+
* Parses and extracts theme data from theme configuration
|
|
4
|
+
*
|
|
5
|
+
* This hook provides structured access to theme tokens and allows
|
|
6
|
+
* tracking changes for real-time preview
|
|
7
|
+
*/
|
|
8
|
+
export interface ColorToken {
|
|
9
|
+
name: string;
|
|
10
|
+
light: string;
|
|
11
|
+
dark: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface TypographyToken {
|
|
15
|
+
variant: string;
|
|
16
|
+
fontSize?: string | number;
|
|
17
|
+
fontWeight?: string | number;
|
|
18
|
+
lineHeight?: string | number;
|
|
19
|
+
letterSpacing?: string | number;
|
|
20
|
+
}
|
|
21
|
+
export interface SpacingToken {
|
|
22
|
+
name: string;
|
|
23
|
+
value: number | string;
|
|
24
|
+
}
|
|
25
|
+
export interface ShapeToken {
|
|
26
|
+
name: string;
|
|
27
|
+
value: number;
|
|
28
|
+
}
|
|
29
|
+
export interface ThemeParsed {
|
|
30
|
+
colors: {
|
|
31
|
+
light: Record<string, string>;
|
|
32
|
+
dark: Record<string, string>;
|
|
33
|
+
};
|
|
34
|
+
typography: TypographyToken[];
|
|
35
|
+
spacing: SpacingToken[];
|
|
36
|
+
shape: ShapeToken[];
|
|
37
|
+
mode: 'light' | 'dark';
|
|
38
|
+
}
|
|
39
|
+
export declare function useThemeParser(): {
|
|
40
|
+
parsedTheme: {
|
|
41
|
+
colors: {
|
|
42
|
+
light: {
|
|
43
|
+
[x: string]: string;
|
|
44
|
+
};
|
|
45
|
+
dark: {
|
|
46
|
+
[x: string]: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
typography: TypographyToken[];
|
|
50
|
+
spacing: SpacingToken[];
|
|
51
|
+
shape: ShapeToken[];
|
|
52
|
+
mode: "light" | "dark";
|
|
53
|
+
};
|
|
54
|
+
mode: "light" | "dark";
|
|
55
|
+
setMode: import('react').Dispatch<import('react').SetStateAction<"light" | "dark">>;
|
|
56
|
+
edits: Partial<ThemeParsed>;
|
|
57
|
+
updateColor: (colorKey: string, newValue: string) => void;
|
|
58
|
+
updateTypography: (variant: string, property: string, value: any) => void;
|
|
59
|
+
updateSpacing: (spacingName: string, newValue: number) => void;
|
|
60
|
+
updateShape: (shapeName: string, newValue: number) => void;
|
|
61
|
+
getColorValue: (colorKey: string) => string;
|
|
62
|
+
getTypographyValue: (variant: string, property: string) => any;
|
|
63
|
+
resetEdits: () => void;
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=useThemeParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeParser.d.ts","sourceRoot":"","sources":["../../../src/theme-editor/hooks/useThemeParser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAC;IACF,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AA+HD,wBAAgB,cAAc;;;;;;;;;;;;;cAhItB,OAAO,GAAG,MAAM;;;;;4BAuJqB,MAAM,YAAY,MAAM;gCAiBpB,MAAM,YAAY,MAAM,SAAS,GAAG;iCAYnC,MAAM,YAAY,MAAM;6BAY5B,MAAM,YAAY,MAAM;8BAYvB,MAAM,KAAG,MAAM;kCAIX,MAAM,YAAY,MAAM,KAAG,GAAG;;EAqChF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ThemeParsed } from './useThemeParser';
|
|
2
|
+
export type SaveStatus = 'idle' | 'saving' | 'success' | 'error';
|
|
3
|
+
export interface SaveOptions {
|
|
4
|
+
filePath?: string;
|
|
5
|
+
createBackup?: boolean;
|
|
6
|
+
backupDir?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SaveResult {
|
|
9
|
+
success: boolean;
|
|
10
|
+
filePath: string;
|
|
11
|
+
backupPath?: string;
|
|
12
|
+
message: string;
|
|
13
|
+
timestamp: Date;
|
|
14
|
+
}
|
|
15
|
+
export declare function useThemeSave(): {
|
|
16
|
+
status: SaveStatus;
|
|
17
|
+
lastSave: SaveResult | null;
|
|
18
|
+
save: (edits: Partial<ThemeParsed>, mode: "light" | "dark", options?: SaveOptions) => Promise<SaveResult>;
|
|
19
|
+
reset: () => void;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useThemeSave.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeSave.d.ts","sourceRoot":"","sources":["../../../src/theme-editor/hooks/useThemeSave.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AA2FD,wBAAgB,YAAY;;;kBAWf,OAAO,CAAC,WAAW,CAAC,QACrB,OAAO,GAAG,MAAM,YACb,WAAW,KACnB,OAAO,CAAC,UAAU,CAAC;;EAyEzB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ThemeParsed } from './useThemeParser';
|
|
2
|
+
export type SyncStatus = 'idle' | 'syncing' | 'success' | 'error';
|
|
3
|
+
export interface SyncOptions {
|
|
4
|
+
commitToGit?: boolean;
|
|
5
|
+
commitMessage?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SyncResult {
|
|
8
|
+
success: boolean;
|
|
9
|
+
message: string;
|
|
10
|
+
timestamp: Date;
|
|
11
|
+
}
|
|
12
|
+
export declare function useThemeSync(): {
|
|
13
|
+
status: SyncStatus;
|
|
14
|
+
lastSync: SyncResult | null;
|
|
15
|
+
sync: (edits: Partial<ThemeParsed>, mode: "light" | "dark", _options?: SyncOptions) => Promise<SyncResult>;
|
|
16
|
+
getSerializedEdits: (edits: Partial<ThemeParsed>, mode: "light" | "dark") => string;
|
|
17
|
+
getDiff: (before: ThemeParsed, after: Partial<ThemeParsed>) => string;
|
|
18
|
+
reset: () => void;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useThemeSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemeSync.d.ts","sourceRoot":"","sources":["../../../src/theme-editor/hooks/useThemeSync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AA2ED,wBAAgB,YAAY;;;kBAajB,OAAO,CAAC,WAAW,CAAC,QACrB,OAAO,GAAG,MAAM,aACZ,WAAW,KACpB,OAAO,CAAC,UAAU,CAAC;gCA+Cb,OAAO,CAAC,WAAW,CAAC,QACrB,OAAO,GAAG,MAAM,KACrB,MAAM;sBAQC,WAAW,SACZ,OAAO,CAAC,WAAW,CAAC,KAC1B,MAAM;;EAsBV"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Editor Application
|
|
3
|
+
* Interactive visual editor for theme.ts
|
|
4
|
+
*
|
|
5
|
+
* Allows users to:
|
|
6
|
+
* - Visualize and edit theme tokens
|
|
7
|
+
* - See changes in real-time
|
|
8
|
+
* - Sync changes back to theme.ts
|
|
9
|
+
* - Save with automatic backups
|
|
10
|
+
* - Commit to git and undo within 5 minutes
|
|
11
|
+
*/
|
|
12
|
+
export { ThemeEditorApp } from './ThemeEditorApp';
|
|
13
|
+
export { useThemeParser } from './hooks/useThemeParser';
|
|
14
|
+
export { useThemeSync } from './hooks/useThemeSync';
|
|
15
|
+
export { useThemeSave } from './hooks/useThemeSave';
|
|
16
|
+
export { useGitIntegration } from './hooks/useGitIntegration';
|
|
17
|
+
export { useFileSystem } from './hooks/useFileSystem';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme-editor/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atipicus/mrs-ui",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "A cromprehensive design system Based on Material UI, with 53 production ready React components and TypeScript support...",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -97,51 +97,55 @@
|
|
|
97
97
|
"react-dom": "^18.3.1"
|
|
98
98
|
},
|
|
99
99
|
"devDependencies": {
|
|
100
|
-
"@chromatic-com/storybook": "^1.5.0",
|
|
101
100
|
"@emotion/react": "^11.14.0",
|
|
102
101
|
"@emotion/styled": "^11.14.1",
|
|
103
|
-
"@figma/code-connect": "^1.3.12",
|
|
104
102
|
"@mui/icons-material": "^6.5.0",
|
|
105
103
|
"@mui/material": "^6.5.0",
|
|
106
|
-
"@storybook/addon-a11y": "^
|
|
107
|
-
"@storybook/addon-docs": "^
|
|
108
|
-
"@storybook/addon-themes": "^
|
|
109
|
-
"@storybook/addon-vitest": "^
|
|
110
|
-
"@storybook/react-vite": "^
|
|
104
|
+
"@storybook/addon-a11y": "^10.2.3",
|
|
105
|
+
"@storybook/addon-docs": "^10.2.3",
|
|
106
|
+
"@storybook/addon-themes": "^10.2.3",
|
|
107
|
+
"@storybook/addon-vitest": "^10.2.3",
|
|
108
|
+
"@storybook/react-vite": "^10.2.3",
|
|
109
|
+
"@swc/core": "^1.13.5",
|
|
110
|
+
"@swc/jest": "^0.2.38",
|
|
111
111
|
"@testing-library/dom": "^10.4.1",
|
|
112
112
|
"@testing-library/jest-dom": "^6.0.0",
|
|
113
|
-
"@testing-library/react": "^
|
|
113
|
+
"@testing-library/react": "^16.3.1",
|
|
114
114
|
"@testing-library/user-event": "^14.0.0",
|
|
115
|
-
"@types/jest": "^
|
|
116
|
-
"@types/react": "^18.3.
|
|
115
|
+
"@types/jest": "^30.0.0",
|
|
116
|
+
"@types/react": "^18.3.0",
|
|
117
117
|
"@types/react-dom": "^18.3.0",
|
|
118
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
119
|
-
"@typescript-eslint/parser": "^
|
|
118
|
+
"@typescript-eslint/eslint-plugin": "^8.50.0",
|
|
119
|
+
"@typescript-eslint/parser": "^8.50.0",
|
|
120
120
|
"@vitejs/plugin-react": "^4.2.0",
|
|
121
|
-
"@vitest/browser-playwright": "^
|
|
122
|
-
"@vitest/coverage-v8": "^
|
|
123
|
-
"
|
|
124
|
-
"eslint": "^
|
|
125
|
-
"eslint-plugin-react": "^7.
|
|
126
|
-
"eslint-plugin-react-hooks": "^
|
|
121
|
+
"@vitest/browser-playwright": "^4.0.16",
|
|
122
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
123
|
+
"dotenv-cli": "^11.0.0",
|
|
124
|
+
"eslint": "^9.39.2",
|
|
125
|
+
"eslint-plugin-react": "^7.37.5",
|
|
126
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
127
127
|
"gh-pages": "^6.3.0",
|
|
128
|
-
"jest": "^
|
|
129
|
-
"jest-environment-jsdom": "^
|
|
128
|
+
"jest": "^30.2.0",
|
|
129
|
+
"jest-environment-jsdom": "^30.2.0",
|
|
130
130
|
"nodemon": "^3.1.0",
|
|
131
131
|
"playwright": "^1.57.0",
|
|
132
132
|
"prettier": "^3.7.4",
|
|
133
133
|
"rimraf": "^6.0.1",
|
|
134
|
-
"storybook": "^
|
|
135
|
-
"style-dictionary": "^
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"vite": "^5.
|
|
139
|
-
"
|
|
140
|
-
|
|
134
|
+
"storybook": "^10.2.3",
|
|
135
|
+
"style-dictionary": "^4.4.0",
|
|
136
|
+
"typescript": "^5.3.0",
|
|
137
|
+
"vite": "^7.3.0",
|
|
138
|
+
"vite-plugin-dts": "^4.5.4",
|
|
139
|
+
"vitest": "^4.0.16"
|
|
140
|
+
},
|
|
141
|
+
"overrides": {
|
|
142
|
+
"minimatch": "^10.2.3",
|
|
143
|
+
"undici": "^6.23.0",
|
|
144
|
+
"lodash": "^4.17.21",
|
|
145
|
+
"test-exclude": "^7.0.1"
|
|
141
146
|
},
|
|
142
147
|
"dependencies": {
|
|
143
|
-
"@mui/
|
|
144
|
-
"@mui/x-date-pickers": "^7.8.0",
|
|
148
|
+
"@mui/x-date-pickers": "^8.23.0",
|
|
145
149
|
"dayjs": "^1.11.19"
|
|
146
150
|
}
|
|
147
151
|
}
|
package/README.npm.md
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
# MRS UI Design System
|
|
2
|
-
|
|
3
|
-
A comprehensive Material-UI v6.5 based design system with 54 production-ready components built with React, TypeScript, and modern best practices.
|
|
4
|
-
|
|
5
|
-
**📚 [View Component Documentation →](https://atipicus.github.io/mrs-ui/)**
|
|
6
|
-
|
|
7
|
-
## 🚀 Features
|
|
8
|
-
|
|
9
|
-
- ✅ **54 Production Components** (31 atoms + 23 molecules)
|
|
10
|
-
- ✅ **TypeScript Support** - Full type safety with strict mode
|
|
11
|
-
- ✅ **Material-UI v6.5** - Latest Material-UI features
|
|
12
|
-
- ✅ **Tree-shakeable** - Import only what you need
|
|
13
|
-
- ✅ **Comprehensive Testing** - 1,213 tests passing
|
|
14
|
-
- ✅ **80%+ Test Coverage** - High quality enforced
|
|
15
|
-
- ✅ **Code Splitting** - Optimized for performance
|
|
16
|
-
- ✅ **Lazy Loading** - Load components on-demand (70% smaller bundles)
|
|
17
|
-
- ✅ **Design Tokens** - Multi-format exports (CSS, SCSS, TypeScript, JSON)
|
|
18
|
-
- ✅ **Dual Module Support** - ESM and CommonJS
|
|
19
|
-
- ✅ **Responsive** - Mobile-first design
|
|
20
|
-
- ✅ **Accessible** - WCAG compliant
|
|
21
|
-
|
|
22
|
-
## 📦 Installation
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm install @atipicus/mrs-ui
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Peer Dependencies
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npm install @mui/material @emotion/react @emotion/styled react react-dom
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Required Fonts
|
|
35
|
-
|
|
36
|
-
Add Nunito font to your HTML `<head>`:
|
|
37
|
-
|
|
38
|
-
```html
|
|
39
|
-
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
40
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
41
|
-
<link
|
|
42
|
-
href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700&display=swap"
|
|
43
|
-
rel="stylesheet"
|
|
44
|
-
/>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## 🎯 Quick Start
|
|
48
|
-
|
|
49
|
-
```tsx
|
|
50
|
-
import { Button, TextField, Container, Stack, ThemeProvider, theme } from '@atipicus/mrs-ui';
|
|
51
|
-
import CssBaseline from '@mui/material/CssBaseline';
|
|
52
|
-
|
|
53
|
-
function App() {
|
|
54
|
-
return (
|
|
55
|
-
<ThemeProvider theme={theme}>
|
|
56
|
-
<CssBaseline />
|
|
57
|
-
<Container maxWidth="lg">
|
|
58
|
-
<Stack spacing={2}>
|
|
59
|
-
<TextField label="Email" variant="outlined" />
|
|
60
|
-
<Button variant="contained" color="primary">
|
|
61
|
-
Sign In
|
|
62
|
-
</Button>
|
|
63
|
-
</Stack>
|
|
64
|
-
</Container>
|
|
65
|
-
</ThemeProvider>
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## ⚡ Lazy Loading (NEW in v0.12.0)
|
|
71
|
-
|
|
72
|
-
Optimize bundle size by loading heavy components on-demand:
|
|
73
|
-
|
|
74
|
-
```tsx
|
|
75
|
-
import { Suspense } from 'react';
|
|
76
|
-
import { CircularProgress } from '@atipicus/mrs-ui';
|
|
77
|
-
import { LazyTable, LazyDatePicker } from '@atipicus/mrs-ui/lazy';
|
|
78
|
-
|
|
79
|
-
<Suspense fallback={<CircularProgress />}>
|
|
80
|
-
<LazyTable /> {/* Saves 70 KB */}
|
|
81
|
-
<LazyDatePicker /> {/* Saves 195 KB */}
|
|
82
|
-
</Suspense>
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## 📚 Components
|
|
86
|
-
|
|
87
|
-
### Atoms (31 components)
|
|
88
|
-
Avatar, Badge, Box, Button, Checkbox, Chip, CircularProgress, Container, Divider, FormControlLabel, FormGroup, Grid, Icon, IconButton, LinearProgress, Link, MaterialSymbol, MenuItem, Paper, Radio, RadioGroup, Select, Skeleton, Slider, Stack, Switch, TextField, Toolbar, Tooltip, Typography, and more.
|
|
89
|
-
|
|
90
|
-
### Molecules (23 components)
|
|
91
|
-
Accordion, Alert, AppBar, Autocomplete, BottomNavigation, ButtonGroup, Card, DatePicker, DateTimePicker, Dialog, Drawer, List, ListItem, Menu, Pagination, Rating, Snackbar, SpeedDial, Stepper, Table, Tabs, Timeline, TimePicker.
|
|
92
|
-
|
|
93
|
-
## 🎨 Design Tokens
|
|
94
|
-
|
|
95
|
-
Access 470+ design tokens in multiple formats:
|
|
96
|
-
|
|
97
|
-
```tsx
|
|
98
|
-
// TypeScript
|
|
99
|
-
import { colors, shape, typography } from '@atipicus/mrs-ui/theme';
|
|
100
|
-
|
|
101
|
-
// CSS Variables
|
|
102
|
-
@import '@atipicus/mrs-ui/tokens/generated/css/tokens.css';
|
|
103
|
-
|
|
104
|
-
// SCSS Variables
|
|
105
|
-
@import '@atipicus/mrs-ui/tokens/generated/scss/tokens';
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## 📖 Documentation
|
|
109
|
-
|
|
110
|
-
- **[Component Documentation](https://atipicus.github.io/mrs-ui/)** - Interactive Storybook
|
|
111
|
-
- **[API Reference](https://github.com/Atipicus/mrs-ui/blob/main/docs/API-REFERENCE.md)** - Complete API
|
|
112
|
-
- **[Lazy Loading Guide](https://github.com/Atipicus/mrs-ui/blob/main/docs/guides/LazyLoading.md)** - Bundle optimization
|
|
113
|
-
- **[Best Practices](https://github.com/Atipicus/mrs-ui/blob/main/docs/BEST-PRACTICES.md)** - Development patterns
|
|
114
|
-
|
|
115
|
-
## 🤝 Contributing
|
|
116
|
-
|
|
117
|
-
We welcome contributions! See our [Contributing Guide](https://github.com/Atipicus/mrs-ui/blob/main/CONTRIBUTING.md).
|
|
118
|
-
|
|
119
|
-
## 📝 License
|
|
120
|
-
|
|
121
|
-
UNLICENSED - This project is proprietary software.
|
|
122
|
-
|
|
123
|
-
## 🔗 Links
|
|
124
|
-
|
|
125
|
-
- [npm Package](https://www.npmjs.com/package/@atipicus/mrs-ui)
|
|
126
|
-
- [Storybook Documentation](https://atipicus.github.io/mrs-ui/)
|
|
127
|
-
- [GitHub Repository](https://github.com/Atipicus/mrs-ui)
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
**Version**: 0.12.0
|
|
132
|
-
**Last Updated**: January 23, 2026
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import MuiTimeline from "@mui/lab/Timeline";
|
|
4
|
-
import MuiTimelineItem from "@mui/lab/TimelineItem";
|
|
5
|
-
import MuiTimelineSeparator from "@mui/lab/TimelineSeparator";
|
|
6
|
-
import MuiTimelineDot from "@mui/lab/TimelineDot";
|
|
7
|
-
import MuiTimelineConnector from "@mui/lab/TimelineConnector";
|
|
8
|
-
import MuiTimelineContent from "@mui/lab/TimelineContent";
|
|
9
|
-
import MuiTimelineOppositeContent from "@mui/lab/TimelineOppositeContent";
|
|
10
|
-
const TimelineBase = React.forwardRef(
|
|
11
|
-
({ position = "left", ...props }, ref) => {
|
|
12
|
-
return /* @__PURE__ */ jsx(MuiTimeline, { ref, position, ...props });
|
|
13
|
-
}
|
|
14
|
-
);
|
|
15
|
-
const Timeline = React.memo(TimelineBase);
|
|
16
|
-
Timeline.displayName = "Timeline";
|
|
17
|
-
const TimelineItemBase = React.forwardRef((props, ref) => {
|
|
18
|
-
return /* @__PURE__ */ jsx(MuiTimelineItem, { ref, ...props });
|
|
19
|
-
});
|
|
20
|
-
const TimelineItem = React.memo(TimelineItemBase);
|
|
21
|
-
TimelineItem.displayName = "TimelineItem";
|
|
22
|
-
const TimelineSeparator = React.forwardRef(
|
|
23
|
-
(props, ref) => {
|
|
24
|
-
return /* @__PURE__ */ jsx(MuiTimelineSeparator, { ref, ...props });
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
TimelineSeparator.displayName = "TimelineSeparator";
|
|
28
|
-
const TimelineDot = React.forwardRef(
|
|
29
|
-
({ variant = "filled", color = "primary", ...props }, ref) => {
|
|
30
|
-
return /* @__PURE__ */ jsx(MuiTimelineDot, { ref, variant, color, ...props });
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
TimelineDot.displayName = "TimelineDot";
|
|
34
|
-
const TimelineConnector = React.forwardRef(
|
|
35
|
-
(props, ref) => {
|
|
36
|
-
return /* @__PURE__ */ jsx(MuiTimelineConnector, { ref, ...props });
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
TimelineConnector.displayName = "TimelineConnector";
|
|
40
|
-
const TimelineContent = React.forwardRef(
|
|
41
|
-
(props, ref) => {
|
|
42
|
-
return /* @__PURE__ */ jsx(MuiTimelineContent, { ref, ...props });
|
|
43
|
-
}
|
|
44
|
-
);
|
|
45
|
-
TimelineContent.displayName = "TimelineContent";
|
|
46
|
-
const TimelineOppositeContent = React.forwardRef((props, ref) => {
|
|
47
|
-
return /* @__PURE__ */ jsx(MuiTimelineOppositeContent, { ref, ...props });
|
|
48
|
-
});
|
|
49
|
-
TimelineOppositeContent.displayName = "TimelineOppositeContent";
|
|
50
|
-
export {
|
|
51
|
-
Timeline as T,
|
|
52
|
-
TimelineItem as a,
|
|
53
|
-
TimelineSeparator as b,
|
|
54
|
-
TimelineDot as c,
|
|
55
|
-
TimelineConnector as d,
|
|
56
|
-
TimelineContent as e,
|
|
57
|
-
TimelineOppositeContent as f
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=Timeline-BPdic0I4.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline-BPdic0I4.mjs","sources":["../src/components/molecules/Timeline/Timeline.tsx"],"sourcesContent":["/**\n * Timeline Component\n *\n * Timeline component for the MRS Design System.\n * Wraps Material-UI Lab Timeline with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-timeline/}\n */\n\nimport React from 'react';\nimport MuiTimeline from '@mui/lab/Timeline';\nimport MuiTimelineItem from '@mui/lab/TimelineItem';\nimport MuiTimelineSeparator from '@mui/lab/TimelineSeparator';\nimport MuiTimelineDot from '@mui/lab/TimelineDot';\nimport MuiTimelineConnector from '@mui/lab/TimelineConnector';\nimport MuiTimelineContent from '@mui/lab/TimelineContent';\nimport MuiTimelineOppositeContent from '@mui/lab/TimelineOppositeContent';\nimport type {\n TimelineProps,\n TimelineItemProps,\n TimelineSeparatorProps,\n TimelineDotProps,\n TimelineConnectorProps,\n TimelineContentProps,\n TimelineOppositeContentProps,\n} from './Timeline.types';\n\n/**\n * Timeline component\n *\n * The Timeline displays a list of events in chronological order.\n * \n * Memoized for performance with long timelines.\n * Re-renders only when props change.\n *\n * @param props - Timeline component props\n * @returns Timeline component\n */\nconst TimelineBase = React.forwardRef<HTMLUListElement, TimelineProps>(\n ({ position = 'left', ...props }, ref) => {\n return <MuiTimeline ref={ref} position={position} {...props} />;\n }\n);\n\nexport const Timeline = React.memo(TimelineBase);\nTimeline.displayName = 'Timeline';\n\n/**\n * TimelineItem component\n *\n * A single item in the timeline.\n * \n * Memoized to prevent unnecessary re-renders when timeline has many items.\n *\n * @param props - TimelineItem component props\n * @returns TimelineItem component\n */\nconst TimelineItemBase = React.forwardRef<HTMLLIElement, TimelineItemProps>((props, ref) => {\n return <MuiTimelineItem ref={ref} {...props} />;\n});\n\nexport const TimelineItem = React.memo(TimelineItemBase);\nTimelineItem.displayName = 'TimelineItem';\n\n/**\n * TimelineSeparator component\n *\n * Separator between timeline content, containing the dot and connector.\n *\n * @param props - TimelineSeparator component props\n * @returns TimelineSeparator component\n */\nexport const TimelineSeparator = React.forwardRef<HTMLDivElement, TimelineSeparatorProps>(\n (props, ref) => {\n return <MuiTimelineSeparator ref={ref} {...props} />;\n }\n);\n\nTimelineSeparator.displayName = 'TimelineSeparator';\n\n/**\n * TimelineDot component\n *\n * The dot indicating an event in the timeline.\n *\n * @param props - TimelineDot component props\n * @returns TimelineDot component\n */\nexport const TimelineDot = React.forwardRef<HTMLSpanElement, TimelineDotProps>(\n ({ variant = 'filled', color = 'primary', ...props }, ref) => {\n return <MuiTimelineDot ref={ref} variant={variant} color={color} {...props} />;\n }\n);\n\nTimelineDot.displayName = 'TimelineDot';\n\n/**\n * TimelineConnector component\n *\n * The line connecting timeline dots.\n *\n * @param props - TimelineConnector component props\n * @returns TimelineConnector component\n */\nexport const TimelineConnector = React.forwardRef<HTMLSpanElement, TimelineConnectorProps>(\n (props, ref) => {\n return <MuiTimelineConnector ref={ref} {...props} />;\n }\n);\n\nTimelineConnector.displayName = 'TimelineConnector';\n\n/**\n * TimelineContent component\n *\n * The main content area of a timeline item.\n *\n * @param props - TimelineContent component props\n * @returns TimelineContent component\n */\nexport const TimelineContent = React.forwardRef<HTMLDivElement, TimelineContentProps>(\n (props, ref) => {\n return <MuiTimelineContent ref={ref} {...props} />;\n }\n);\n\nTimelineContent.displayName = 'TimelineContent';\n\n/**\n * TimelineOppositeContent component\n *\n * Optional content displayed opposite to the main timeline content.\n *\n * @param props - TimelineOppositeContent component props\n * @returns TimelineOppositeContent component\n */\nexport const TimelineOppositeContent = React.forwardRef<\n HTMLDivElement,\n TimelineOppositeContentProps\n>((props, ref) => {\n return <MuiTimelineOppositeContent ref={ref} {...props} />;\n});\n\nTimelineOppositeContent.displayName = 'TimelineOppositeContent';\n"],"names":[],"mappings":";;;;;;;;;AAsCA,MAAM,eAAe,MAAM;AAAA,EACzB,CAAC,EAAE,WAAW,QAAQ,GAAG,MAAA,GAAS,QAAQ;AACxC,WAAO,oBAAC,aAAA,EAAY,KAAU,UAAqB,GAAG,OAAO;AAAA,EAC/D;AACF;AAEO,MAAM,WAAW,MAAM,KAAK,YAAY;AAC/C,SAAS,cAAc;AAYvB,MAAM,mBAAmB,MAAM,WAA6C,CAAC,OAAO,QAAQ;AAC1F,SAAO,oBAAC,iBAAA,EAAgB,KAAW,GAAG,MAAA,CAAO;AAC/C,CAAC;AAEM,MAAM,eAAe,MAAM,KAAK,gBAAgB;AACvD,aAAa,cAAc;AAUpB,MAAM,oBAAoB,MAAM;AAAA,EACrC,CAAC,OAAO,QAAQ;AACd,WAAO,oBAAC,sBAAA,EAAqB,KAAW,GAAG,MAAA,CAAO;AAAA,EACpD;AACF;AAEA,kBAAkB,cAAc;AAUzB,MAAM,cAAc,MAAM;AAAA,EAC/B,CAAC,EAAE,UAAU,UAAU,QAAQ,WAAW,GAAG,MAAA,GAAS,QAAQ;AAC5D,+BAAQ,gBAAA,EAAe,KAAU,SAAkB,OAAe,GAAG,OAAO;AAAA,EAC9E;AACF;AAEA,YAAY,cAAc;AAUnB,MAAM,oBAAoB,MAAM;AAAA,EACrC,CAAC,OAAO,QAAQ;AACd,WAAO,oBAAC,sBAAA,EAAqB,KAAW,GAAG,MAAA,CAAO;AAAA,EACpD;AACF;AAEA,kBAAkB,cAAc;AAUzB,MAAM,kBAAkB,MAAM;AAAA,EACnC,CAAC,OAAO,QAAQ;AACd,WAAO,oBAAC,oBAAA,EAAmB,KAAW,GAAG,MAAA,CAAO;AAAA,EAClD;AACF;AAEA,gBAAgB,cAAc;AAUvB,MAAM,0BAA0B,MAAM,WAG3C,CAAC,OAAO,QAAQ;AAChB,SAAO,oBAAC,4BAAA,EAA2B,KAAW,GAAG,MAAA,CAAO;AAC1D,CAAC;AAED,wBAAwB,cAAc;"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const MuiTimeline = require("@mui/lab/Timeline");
|
|
5
|
-
const MuiTimelineItem = require("@mui/lab/TimelineItem");
|
|
6
|
-
const MuiTimelineSeparator = require("@mui/lab/TimelineSeparator");
|
|
7
|
-
const MuiTimelineDot = require("@mui/lab/TimelineDot");
|
|
8
|
-
const MuiTimelineConnector = require("@mui/lab/TimelineConnector");
|
|
9
|
-
const MuiTimelineContent = require("@mui/lab/TimelineContent");
|
|
10
|
-
const MuiTimelineOppositeContent = require("@mui/lab/TimelineOppositeContent");
|
|
11
|
-
const TimelineBase = React.forwardRef(
|
|
12
|
-
({ position = "left", ...props }, ref) => {
|
|
13
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimeline, { ref, position, ...props });
|
|
14
|
-
}
|
|
15
|
-
);
|
|
16
|
-
const Timeline = React.memo(TimelineBase);
|
|
17
|
-
Timeline.displayName = "Timeline";
|
|
18
|
-
const TimelineItemBase = React.forwardRef((props, ref) => {
|
|
19
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineItem, { ref, ...props });
|
|
20
|
-
});
|
|
21
|
-
const TimelineItem = React.memo(TimelineItemBase);
|
|
22
|
-
TimelineItem.displayName = "TimelineItem";
|
|
23
|
-
const TimelineSeparator = React.forwardRef(
|
|
24
|
-
(props, ref) => {
|
|
25
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineSeparator, { ref, ...props });
|
|
26
|
-
}
|
|
27
|
-
);
|
|
28
|
-
TimelineSeparator.displayName = "TimelineSeparator";
|
|
29
|
-
const TimelineDot = React.forwardRef(
|
|
30
|
-
({ variant = "filled", color = "primary", ...props }, ref) => {
|
|
31
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineDot, { ref, variant, color, ...props });
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
TimelineDot.displayName = "TimelineDot";
|
|
35
|
-
const TimelineConnector = React.forwardRef(
|
|
36
|
-
(props, ref) => {
|
|
37
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineConnector, { ref, ...props });
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
TimelineConnector.displayName = "TimelineConnector";
|
|
41
|
-
const TimelineContent = React.forwardRef(
|
|
42
|
-
(props, ref) => {
|
|
43
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineContent, { ref, ...props });
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
TimelineContent.displayName = "TimelineContent";
|
|
47
|
-
const TimelineOppositeContent = React.forwardRef((props, ref) => {
|
|
48
|
-
return /* @__PURE__ */ jsxRuntime.jsx(MuiTimelineOppositeContent, { ref, ...props });
|
|
49
|
-
});
|
|
50
|
-
TimelineOppositeContent.displayName = "TimelineOppositeContent";
|
|
51
|
-
exports.Timeline = Timeline;
|
|
52
|
-
exports.TimelineConnector = TimelineConnector;
|
|
53
|
-
exports.TimelineContent = TimelineContent;
|
|
54
|
-
exports.TimelineDot = TimelineDot;
|
|
55
|
-
exports.TimelineItem = TimelineItem;
|
|
56
|
-
exports.TimelineOppositeContent = TimelineOppositeContent;
|
|
57
|
-
exports.TimelineSeparator = TimelineSeparator;
|
|
58
|
-
//# sourceMappingURL=Timeline-BzDR_6ve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline-BzDR_6ve.js","sources":["../src/components/molecules/Timeline/Timeline.tsx"],"sourcesContent":["/**\n * Timeline Component\n *\n * Timeline component for the MRS Design System.\n * Wraps Material-UI Lab Timeline with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-timeline/}\n */\n\nimport React from 'react';\nimport MuiTimeline from '@mui/lab/Timeline';\nimport MuiTimelineItem from '@mui/lab/TimelineItem';\nimport MuiTimelineSeparator from '@mui/lab/TimelineSeparator';\nimport MuiTimelineDot from '@mui/lab/TimelineDot';\nimport MuiTimelineConnector from '@mui/lab/TimelineConnector';\nimport MuiTimelineContent from '@mui/lab/TimelineContent';\nimport MuiTimelineOppositeContent from '@mui/lab/TimelineOppositeContent';\nimport type {\n TimelineProps,\n TimelineItemProps,\n TimelineSeparatorProps,\n TimelineDotProps,\n TimelineConnectorProps,\n TimelineContentProps,\n TimelineOppositeContentProps,\n} from './Timeline.types';\n\n/**\n * Timeline component\n *\n * The Timeline displays a list of events in chronological order.\n * \n * Memoized for performance with long timelines.\n * Re-renders only when props change.\n *\n * @param props - Timeline component props\n * @returns Timeline component\n */\nconst TimelineBase = React.forwardRef<HTMLUListElement, TimelineProps>(\n ({ position = 'left', ...props }, ref) => {\n return <MuiTimeline ref={ref} position={position} {...props} />;\n }\n);\n\nexport const Timeline = React.memo(TimelineBase);\nTimeline.displayName = 'Timeline';\n\n/**\n * TimelineItem component\n *\n * A single item in the timeline.\n * \n * Memoized to prevent unnecessary re-renders when timeline has many items.\n *\n * @param props - TimelineItem component props\n * @returns TimelineItem component\n */\nconst TimelineItemBase = React.forwardRef<HTMLLIElement, TimelineItemProps>((props, ref) => {\n return <MuiTimelineItem ref={ref} {...props} />;\n});\n\nexport const TimelineItem = React.memo(TimelineItemBase);\nTimelineItem.displayName = 'TimelineItem';\n\n/**\n * TimelineSeparator component\n *\n * Separator between timeline content, containing the dot and connector.\n *\n * @param props - TimelineSeparator component props\n * @returns TimelineSeparator component\n */\nexport const TimelineSeparator = React.forwardRef<HTMLDivElement, TimelineSeparatorProps>(\n (props, ref) => {\n return <MuiTimelineSeparator ref={ref} {...props} />;\n }\n);\n\nTimelineSeparator.displayName = 'TimelineSeparator';\n\n/**\n * TimelineDot component\n *\n * The dot indicating an event in the timeline.\n *\n * @param props - TimelineDot component props\n * @returns TimelineDot component\n */\nexport const TimelineDot = React.forwardRef<HTMLSpanElement, TimelineDotProps>(\n ({ variant = 'filled', color = 'primary', ...props }, ref) => {\n return <MuiTimelineDot ref={ref} variant={variant} color={color} {...props} />;\n }\n);\n\nTimelineDot.displayName = 'TimelineDot';\n\n/**\n * TimelineConnector component\n *\n * The line connecting timeline dots.\n *\n * @param props - TimelineConnector component props\n * @returns TimelineConnector component\n */\nexport const TimelineConnector = React.forwardRef<HTMLSpanElement, TimelineConnectorProps>(\n (props, ref) => {\n return <MuiTimelineConnector ref={ref} {...props} />;\n }\n);\n\nTimelineConnector.displayName = 'TimelineConnector';\n\n/**\n * TimelineContent component\n *\n * The main content area of a timeline item.\n *\n * @param props - TimelineContent component props\n * @returns TimelineContent component\n */\nexport const TimelineContent = React.forwardRef<HTMLDivElement, TimelineContentProps>(\n (props, ref) => {\n return <MuiTimelineContent ref={ref} {...props} />;\n }\n);\n\nTimelineContent.displayName = 'TimelineContent';\n\n/**\n * TimelineOppositeContent component\n *\n * Optional content displayed opposite to the main timeline content.\n *\n * @param props - TimelineOppositeContent component props\n * @returns TimelineOppositeContent component\n */\nexport const TimelineOppositeContent = React.forwardRef<\n HTMLDivElement,\n TimelineOppositeContentProps\n>((props, ref) => {\n return <MuiTimelineOppositeContent ref={ref} {...props} />;\n});\n\nTimelineOppositeContent.displayName = 'TimelineOppositeContent';\n"],"names":["jsx"],"mappings":";;;;;;;;;;AAsCA,MAAM,eAAe,MAAM;AAAA,EACzB,CAAC,EAAE,WAAW,QAAQ,GAAG,MAAA,GAAS,QAAQ;AACxC,WAAOA,2BAAAA,IAAC,aAAA,EAAY,KAAU,UAAqB,GAAG,OAAO;AAAA,EAC/D;AACF;AAEO,MAAM,WAAW,MAAM,KAAK,YAAY;AAC/C,SAAS,cAAc;AAYvB,MAAM,mBAAmB,MAAM,WAA6C,CAAC,OAAO,QAAQ;AAC1F,SAAOA,2BAAAA,IAAC,iBAAA,EAAgB,KAAW,GAAG,MAAA,CAAO;AAC/C,CAAC;AAEM,MAAM,eAAe,MAAM,KAAK,gBAAgB;AACvD,aAAa,cAAc;AAUpB,MAAM,oBAAoB,MAAM;AAAA,EACrC,CAAC,OAAO,QAAQ;AACd,WAAOA,2BAAAA,IAAC,sBAAA,EAAqB,KAAW,GAAG,MAAA,CAAO;AAAA,EACpD;AACF;AAEA,kBAAkB,cAAc;AAUzB,MAAM,cAAc,MAAM;AAAA,EAC/B,CAAC,EAAE,UAAU,UAAU,QAAQ,WAAW,GAAG,MAAA,GAAS,QAAQ;AAC5D,0CAAQ,gBAAA,EAAe,KAAU,SAAkB,OAAe,GAAG,OAAO;AAAA,EAC9E;AACF;AAEA,YAAY,cAAc;AAUnB,MAAM,oBAAoB,MAAM;AAAA,EACrC,CAAC,OAAO,QAAQ;AACd,WAAOA,2BAAAA,IAAC,sBAAA,EAAqB,KAAW,GAAG,MAAA,CAAO;AAAA,EACpD;AACF;AAEA,kBAAkB,cAAc;AAUzB,MAAM,kBAAkB,MAAM;AAAA,EACnC,CAAC,OAAO,QAAQ;AACd,WAAOA,2BAAAA,IAAC,oBAAA,EAAmB,KAAW,GAAG,MAAA,CAAO;AAAA,EAClD;AACF;AAEA,gBAAgB,cAAc;AAUvB,MAAM,0BAA0B,MAAM,WAG3C,CAAC,OAAO,QAAQ;AAChB,SAAOA,2BAAAA,IAAC,4BAAA,EAA2B,KAAW,GAAG,MAAA,CAAO;AAC1D,CAAC;AAED,wBAAwB,cAAc;;;;;;;;"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { TimelineProps, TimelineItemProps, TimelineSeparatorProps, TimelineDotProps, TimelineConnectorProps, TimelineContentProps, TimelineOppositeContentProps } from './Timeline.types';
|
|
3
|
-
export declare const Timeline: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<TimelineProps, "ref"> & React.RefAttributes<HTMLUListElement>>>;
|
|
4
|
-
export declare const TimelineItem: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<TimelineItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>>;
|
|
5
|
-
/**
|
|
6
|
-
* TimelineSeparator component
|
|
7
|
-
*
|
|
8
|
-
* Separator between timeline content, containing the dot and connector.
|
|
9
|
-
*
|
|
10
|
-
* @param props - TimelineSeparator component props
|
|
11
|
-
* @returns TimelineSeparator component
|
|
12
|
-
*/
|
|
13
|
-
export declare const TimelineSeparator: React.ForwardRefExoticComponent<Omit<TimelineSeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
-
/**
|
|
15
|
-
* TimelineDot component
|
|
16
|
-
*
|
|
17
|
-
* The dot indicating an event in the timeline.
|
|
18
|
-
*
|
|
19
|
-
* @param props - TimelineDot component props
|
|
20
|
-
* @returns TimelineDot component
|
|
21
|
-
*/
|
|
22
|
-
export declare const TimelineDot: React.ForwardRefExoticComponent<Omit<TimelineDotProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
23
|
-
/**
|
|
24
|
-
* TimelineConnector component
|
|
25
|
-
*
|
|
26
|
-
* The line connecting timeline dots.
|
|
27
|
-
*
|
|
28
|
-
* @param props - TimelineConnector component props
|
|
29
|
-
* @returns TimelineConnector component
|
|
30
|
-
*/
|
|
31
|
-
export declare const TimelineConnector: React.ForwardRefExoticComponent<Omit<TimelineConnectorProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
32
|
-
/**
|
|
33
|
-
* TimelineContent component
|
|
34
|
-
*
|
|
35
|
-
* The main content area of a timeline item.
|
|
36
|
-
*
|
|
37
|
-
* @param props - TimelineContent component props
|
|
38
|
-
* @returns TimelineContent component
|
|
39
|
-
*/
|
|
40
|
-
export declare const TimelineContent: React.ForwardRefExoticComponent<Omit<TimelineContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
-
/**
|
|
42
|
-
* TimelineOppositeContent component
|
|
43
|
-
*
|
|
44
|
-
* Optional content displayed opposite to the main timeline content.
|
|
45
|
-
*
|
|
46
|
-
* @param props - TimelineOppositeContent component props
|
|
47
|
-
* @returns TimelineOppositeContent component
|
|
48
|
-
*/
|
|
49
|
-
export declare const TimelineOppositeContent: React.ForwardRefExoticComponent<Omit<TimelineOppositeContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
50
|
-
//# sourceMappingURL=Timeline.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Timeline/Timeline.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAC;AAmB1B,eAAO,MAAM,QAAQ,gIAA2B,CAAC;AAiBjD,eAAO,MAAM,YAAY,iIAA+B,CAAC;AAGzD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,4GAI7B,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,uGAIvB,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,6GAI7B,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,0GAI3B,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,kHAKlC,CAAC"}
|