@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.
Files changed (115) hide show
  1. package/LICENSE +63 -3
  2. package/README.md +15 -3
  3. package/dist/Table-BWJUQgDY.js.map +1 -1
  4. package/dist/Table-BrEk_oGh.mjs.map +1 -1
  5. package/dist/components/atoms/Avatar/Avatar.d.ts.map +1 -1
  6. package/dist/components/atoms/Avatar/Avatar.types.d.ts +1 -1
  7. package/dist/components/atoms/Avatar/Avatar.types.d.ts.map +1 -1
  8. package/dist/components/atoms/Select/Select.d.ts.map +1 -1
  9. package/dist/components/molecules/Sidenav/Sidenav.d.ts.map +1 -1
  10. package/dist/components/molecules/index.d.ts +0 -1
  11. package/dist/components/molecules/index.d.ts.map +1 -1
  12. package/dist/index-9xINu3Y6.mjs +11 -0
  13. package/dist/index-9xINu3Y6.mjs.map +1 -0
  14. package/dist/{index-C4a5SkEO.js → index-B3fSNHE_.js} +1 -2
  15. package/dist/index-B3fSNHE_.js.map +1 -0
  16. package/dist/{index-DgpKiomn.js → index-B6HAPXbT.js} +1 -2
  17. package/dist/index-B6HAPXbT.js.map +1 -0
  18. package/dist/{index-DQLiGYRv.js → index-CrukcVHf.js} +1 -2
  19. package/dist/index-CrukcVHf.js.map +1 -0
  20. package/dist/index-CzgRXVhq.mjs +5 -0
  21. package/dist/index-CzgRXVhq.mjs.map +1 -0
  22. package/dist/{index-Bp_39Kmf.js → index-D19iZMBT.js} +1 -2
  23. package/dist/index-D19iZMBT.js.map +1 -0
  24. package/dist/{index-xewrdUFS.js → index-D2dZ1ELl.js} +1 -2
  25. package/dist/index-D2dZ1ELl.js.map +1 -0
  26. package/dist/index-DpuDQuvl.mjs +5 -0
  27. package/dist/index-DpuDQuvl.mjs.map +1 -0
  28. package/dist/index-DzuUedva.mjs +5 -0
  29. package/dist/index-DzuUedva.mjs.map +1 -0
  30. package/dist/{index-C4N6hqG7.mjs → index-MEnqUL_H.mjs} +8 -5
  31. package/dist/index-MEnqUL_H.mjs.map +1 -0
  32. package/dist/{index-DrHcCXwi.js → index-ZqM4dIOj.js} +1 -2
  33. package/dist/index-ZqM4dIOj.js.map +1 -0
  34. package/dist/index-mOLOagan.mjs +5 -0
  35. package/dist/index-mOLOagan.mjs.map +1 -0
  36. package/dist/index.js +394 -151
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.mjs +396 -153
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/lazy.d.ts +1 -41
  41. package/dist/lazy.d.ts.map +1 -1
  42. package/dist/lazy.js +16 -46
  43. package/dist/lazy.js.map +1 -1
  44. package/dist/lazy.mjs +17 -47
  45. package/dist/lazy.mjs.map +1 -1
  46. package/dist/theme/styleCompositions.d.ts +281 -0
  47. package/dist/theme/styleCompositions.d.ts.map +1 -0
  48. package/dist/theme/theme.d.ts.map +1 -1
  49. package/dist/theme/tokens-import.d.ts +164 -0
  50. package/dist/theme/tokens-import.d.ts.map +1 -1
  51. package/dist/theme/tokens.d.ts +292 -0
  52. package/dist/theme/tokens.d.ts.map +1 -1
  53. package/dist/theme/types.d.ts +146 -0
  54. package/dist/theme/types.d.ts.map +1 -1
  55. package/dist/theme-editor/ThemeEditorApp.d.ts +14 -0
  56. package/dist/theme-editor/ThemeEditorApp.d.ts.map +1 -0
  57. package/dist/theme-editor/components/ColorEditor.d.ts +10 -0
  58. package/dist/theme-editor/components/ColorEditor.d.ts.map +1 -0
  59. package/dist/theme-editor/components/ComponentPreview.d.ts +8 -0
  60. package/dist/theme-editor/components/ComponentPreview.d.ts.map +1 -0
  61. package/dist/theme-editor/components/SaveDialog.d.ts +13 -0
  62. package/dist/theme-editor/components/SaveDialog.d.ts.map +1 -0
  63. package/dist/theme-editor/components/SpacingEditor.d.ts +11 -0
  64. package/dist/theme-editor/components/SpacingEditor.d.ts.map +1 -0
  65. package/dist/theme-editor/components/SyncDialog.d.ts +12 -0
  66. package/dist/theme-editor/components/SyncDialog.d.ts.map +1 -0
  67. package/dist/theme-editor/components/TypographyEditor.d.ts +10 -0
  68. package/dist/theme-editor/components/TypographyEditor.d.ts.map +1 -0
  69. package/dist/theme-editor/components/UndoButton.d.ts +9 -0
  70. package/dist/theme-editor/components/UndoButton.d.ts.map +1 -0
  71. package/dist/theme-editor/hooks/useFileSystem.d.ts +18 -0
  72. package/dist/theme-editor/hooks/useFileSystem.d.ts.map +1 -0
  73. package/dist/theme-editor/hooks/useGitIntegration.d.ts +41 -0
  74. package/dist/theme-editor/hooks/useGitIntegration.d.ts.map +1 -0
  75. package/dist/theme-editor/hooks/useThemeParser.d.ts +65 -0
  76. package/dist/theme-editor/hooks/useThemeParser.d.ts.map +1 -0
  77. package/dist/theme-editor/hooks/useThemeSave.d.ts +21 -0
  78. package/dist/theme-editor/hooks/useThemeSave.d.ts.map +1 -0
  79. package/dist/theme-editor/hooks/useThemeSync.d.ts +20 -0
  80. package/dist/theme-editor/hooks/useThemeSync.d.ts.map +1 -0
  81. package/dist/theme-editor/index.d.ts +18 -0
  82. package/dist/theme-editor/index.d.ts.map +1 -0
  83. package/package.json +35 -31
  84. package/README.npm.md +0 -132
  85. package/dist/Timeline-BPdic0I4.mjs +0 -59
  86. package/dist/Timeline-BPdic0I4.mjs.map +0 -1
  87. package/dist/Timeline-BzDR_6ve.js +0 -58
  88. package/dist/Timeline-BzDR_6ve.js.map +0 -1
  89. package/dist/components/molecules/Timeline/Timeline.d.ts +0 -50
  90. package/dist/components/molecules/Timeline/Timeline.d.ts.map +0 -1
  91. package/dist/components/molecules/Timeline/Timeline.types.d.ts +0 -75
  92. package/dist/components/molecules/Timeline/Timeline.types.d.ts.map +0 -1
  93. package/dist/components/molecules/Timeline/index.d.ts +0 -6
  94. package/dist/components/molecules/Timeline/index.d.ts.map +0 -1
  95. package/dist/index--v2dNPpd.js +0 -11
  96. package/dist/index--v2dNPpd.js.map +0 -1
  97. package/dist/index-B4_KKxHQ.mjs +0 -6
  98. package/dist/index-B4_KKxHQ.mjs.map +0 -1
  99. package/dist/index-Bp_39Kmf.js.map +0 -1
  100. package/dist/index-C4N6hqG7.mjs.map +0 -1
  101. package/dist/index-C4a5SkEO.js.map +0 -1
  102. package/dist/index-CBDmTLHS.mjs +0 -11
  103. package/dist/index-CBDmTLHS.mjs.map +0 -1
  104. package/dist/index-CLLVDdFI.mjs +0 -12
  105. package/dist/index-CLLVDdFI.mjs.map +0 -1
  106. package/dist/index-CxB9Lb7L.mjs +0 -6
  107. package/dist/index-CxB9Lb7L.mjs.map +0 -1
  108. package/dist/index-DGbzI3ul.mjs +0 -6
  109. package/dist/index-DGbzI3ul.mjs.map +0 -1
  110. package/dist/index-DQLiGYRv.js.map +0 -1
  111. package/dist/index-DgpKiomn.js.map +0 -1
  112. package/dist/index-DrHcCXwi.js.map +0 -1
  113. package/dist/index-xewrdUFS.js.map +0 -1
  114. package/dist/index-zqX2ktfd.mjs +0 -6
  115. 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": "1.0.2",
4
- "description": "Material-UI v6.5 based design system with 54 production-ready React components, TypeScript support, and comprehensive testing",
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": "^8.1.10",
107
- "@storybook/addon-docs": "^8.1.10",
108
- "@storybook/addon-themes": "^8.1.10",
109
- "@storybook/addon-vitest": "^1.0.4",
110
- "@storybook/react-vite": "^8.1.10",
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": "^14.3.1",
113
+ "@testing-library/react": "^16.3.1",
114
114
  "@testing-library/user-event": "^14.0.0",
115
- "@types/jest": "^29.5.0",
116
- "@types/react": "^18.3.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": "^7.13.0",
119
- "@typescript-eslint/parser": "^7.13.0",
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": "^1.6.0",
122
- "@vitest/coverage-v8": "^1.6.0",
123
- "chromatic": "^13.3.4",
124
- "eslint": "^8.57.0",
125
- "eslint-plugin-react": "^7.34.2",
126
- "eslint-plugin-react-hooks": "^4.6.2",
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": "^29.7.0",
129
- "jest-environment-jsdom": "^29.7.0",
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": "^8.1.10",
135
- "style-dictionary": "^3.9.2",
136
- "ts-jest": "^29.1.0",
137
- "typescript": "^5.4.5",
138
- "vite": "^5.2.13",
139
- "vite-plugin-dts": "^3.9.1",
140
- "vitest": "^1.6.0"
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/lab": "^6.0.1-beta.36",
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"}