@syuttechnologies/layout 1.0.2 → 1.0.22

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 (59) hide show
  1. package/README.md +536 -0
  2. package/assets/logo.png +0 -0
  3. package/dist/components/ChangePasswordModal.d.ts.map +1 -1
  4. package/dist/components/ChangePasswordModal.js +22 -11
  5. package/dist/components/EnterpriseLayout.d.ts.map +1 -1
  6. package/dist/components/EnterpriseLayout.js +1975 -1960
  7. package/dist/components/temp.d.ts +1 -0
  8. package/dist/components/temp.d.ts.map +1 -0
  9. package/dist/components/temp.js +1 -0
  10. package/dist/components/ui/ActionMenu/ActionMenu.d.ts +52 -0
  11. package/dist/components/ui/ActionMenu/ActionMenu.d.ts.map +1 -0
  12. package/dist/components/ui/ActionMenu/ActionMenu.js +116 -0
  13. package/dist/components/ui/ActionMenu/index.d.ts +3 -0
  14. package/dist/components/ui/ActionMenu/index.d.ts.map +1 -0
  15. package/dist/components/ui/ActionMenu/index.js +2 -0
  16. package/dist/components/ui/ModuleHeader/ModuleHeader.d.ts +90 -0
  17. package/dist/components/ui/ModuleHeader/ModuleHeader.d.ts.map +1 -0
  18. package/dist/components/ui/ModuleHeader/ModuleHeader.js +433 -0
  19. package/dist/components/ui/ModuleHeader/index.d.ts +3 -0
  20. package/dist/components/ui/ModuleHeader/index.d.ts.map +1 -0
  21. package/dist/components/ui/ModuleHeader/index.js +1 -0
  22. package/dist/components/ui/SyutGrid/SyutGrid.d.ts +74 -0
  23. package/dist/components/ui/SyutGrid/SyutGrid.d.ts.map +1 -0
  24. package/dist/components/ui/SyutGrid/SyutGrid.js +306 -0
  25. package/dist/components/ui/SyutGrid/index.d.ts +3 -0
  26. package/dist/components/ui/SyutGrid/index.d.ts.map +1 -0
  27. package/dist/components/ui/SyutGrid/index.js +2 -0
  28. package/dist/components/ui/SyutSelect/SyutSelectUnified.d.ts +128 -0
  29. package/dist/components/ui/SyutSelect/SyutSelectUnified.d.ts.map +1 -0
  30. package/dist/components/ui/SyutSelect/SyutSelectUnified.js +679 -0
  31. package/dist/components/ui/SyutSelect/index.d.ts +3 -0
  32. package/dist/components/ui/SyutSelect/index.d.ts.map +1 -0
  33. package/dist/components/ui/SyutSelect/index.js +2 -0
  34. package/dist/icon-collection/icon-systems.d.ts +89 -0
  35. package/dist/icon-collection/icon-systems.d.ts.map +1 -0
  36. package/dist/icon-collection/icon-systems.js +70 -0
  37. package/dist/icon-collection/index.d.ts +4 -0
  38. package/dist/icon-collection/index.d.ts.map +1 -0
  39. package/dist/icon-collection/index.js +8 -0
  40. package/dist/index.d.ts +12 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +19 -1
  43. package/package.json +9 -4
  44. package/src/components/ChangePasswordModal.tsx +26 -14
  45. package/src/components/EnterpriseLayout.tsx +4475 -4460
  46. package/src/components/EnterpriseLayout.tsx.bak +4475 -0
  47. package/src/components/temp.tsx +0 -0
  48. package/src/components/ui/ActionMenu/ActionMenu.tsx +222 -0
  49. package/src/components/ui/ActionMenu/index.ts +2 -0
  50. package/src/components/ui/ModuleHeader/ModuleHeader.tsx +722 -0
  51. package/src/components/ui/ModuleHeader/index.ts +9 -0
  52. package/src/components/ui/SyutGrid/SyutGrid.tsx +483 -0
  53. package/src/components/ui/SyutGrid/index.ts +2 -0
  54. package/src/components/ui/SyutSelect/SyutSelectUnified.tsx +1115 -0
  55. package/src/components/ui/SyutSelect/index.ts +3 -0
  56. package/src/icon-collection/icon-systems.tsx +464 -0
  57. package/src/icon-collection/index.ts +13 -0
  58. package/src/index.ts +47 -1
  59. package/tsconfig.tsbuildinfo +1 -1
package/README.md ADDED
@@ -0,0 +1,536 @@
1
+ # @syuttechnologies/layout
2
+
3
+ Enterprise React Layout Component with sidebar navigation, tabs, dark mode, and notifications.
4
+
5
+ ## Repository
6
+
7
+ **GitLab:** https://gitlab.com/enterprise-templates/react-app-foundation.git
8
+
9
+ ---
10
+
11
+ ## Installation
12
+
13
+ ### Using GitLab (Recommended)
14
+
15
+ ```bash
16
+ npm install git+https://gitlab.com/enterprise-templates/react-app-foundation.git#V1.0.1
17
+ ```
18
+
19
+ Or add to `package.json`:
20
+
21
+ ```json
22
+ {
23
+ "dependencies": {
24
+ "@syuttechnologies/layout": "git+https://gitlab.com/enterprise-templates/react-app-foundation.git#V1.0.1"
25
+ }
26
+ }
27
+ ```
28
+
29
+ ### Using npm Registry
30
+
31
+ ```bash
32
+ npm install @syuttechnologies/layout@1.0.1
33
+ ```
34
+
35
+ ---
36
+
37
+ ## Quick Start Guide
38
+
39
+ ### Step 1: Create Component Registry
40
+
41
+ Create `src/components/common/ComponentRegistry.ts`:
42
+
43
+ ```typescript
44
+ import React from 'react';
45
+ import Dashboard from '../modules/Dashboard';
46
+ import Settings from '../modules/Settings';
47
+ import UserManagement from '../modules/UserManagement';
48
+
49
+ export const COMPONENT_REGISTRY: Record<string, React.ComponentType<any>> = {
50
+ Dashboard,
51
+ Settings,
52
+ UserManagement,
53
+ // Add more components as needed
54
+ };
55
+ ```
56
+
57
+ ### Step 2: Create Layout Configuration
58
+
59
+ Create `src/config/layoutConfig.ts`:
60
+
61
+ ```typescript
62
+ import type { EnterpriseLayoutConfig } from '@syuttechnologies/layout';
63
+ import { COMPONENT_REGISTRY } from '../components/common/ComponentRegistry';
64
+
65
+ export const createLayoutConfig = (): EnterpriseLayoutConfig => ({
66
+ // =========================================================================
67
+ // BRANDING
68
+ // =========================================================================
69
+ branding: {
70
+ appName: "My Application",
71
+ logo: {
72
+ alt: "App Logo",
73
+ width: "28px",
74
+ height: "28px",
75
+ showText: true,
76
+ },
77
+ favicon: null,
78
+ colors: {
79
+ primary: "#2563eb",
80
+ secondary: "#64748b",
81
+ success: "#16a34a",
82
+ warning: "#d97706",
83
+ danger: "#dc2626",
84
+ info: "#0ea5e9",
85
+ },
86
+ },
87
+
88
+ // =========================================================================
89
+ // LAYOUT
90
+ // =========================================================================
91
+ layout: {
92
+ headerHeight: "3rem",
93
+ sidebarWidth: "16rem",
94
+ sidebarCollapsedWidth: "4rem",
95
+ footerHeight: "2rem",
96
+ tabBarHeight: "2.5rem",
97
+ enableTabMode: true,
98
+ enableDarkMode: true,
99
+ enableFooter: true,
100
+ defaultTheme: "light",
101
+ responsive: true,
102
+ collapsibleSidebar: true,
103
+ showBreadcrumbs: true,
104
+ autoCollapseSidebar: true,
105
+ compactModeStrategy: "smart-grouping",
106
+ },
107
+
108
+ // =========================================================================
109
+ // FOOTER
110
+ // =========================================================================
111
+ footer: {
112
+ appVersion: "v1.0.0",
113
+ environment: "Development",
114
+ copyright: "© 2025 My Company. All rights reserved.",
115
+ supportLink: "mailto:support@company.com",
116
+ supportText: "Support",
117
+ },
118
+
119
+ // =========================================================================
120
+ // USER
121
+ // =========================================================================
122
+ user: {
123
+ name: "John Doe",
124
+ role: "Administrator",
125
+ avatar: "JD",
126
+ permissions: ["read", "write", "admin"],
127
+ },
128
+
129
+ // =========================================================================
130
+ // NAVIGATION
131
+ // =========================================================================
132
+ navigation: [
133
+ {
134
+ section: "Dashboard",
135
+ icon: "layout",
136
+ items: [
137
+ { id: "overview", title: "Dashboard", icon: "home", active: true },
138
+ ],
139
+ },
140
+ {
141
+ section: "Administration",
142
+ icon: "settings",
143
+ items: [
144
+ { id: "users", title: "User Management", icon: "users" },
145
+ { id: "settings", title: "Settings", icon: "settings" },
146
+ ],
147
+ },
148
+ ],
149
+
150
+ // =========================================================================
151
+ // MODULES
152
+ // =========================================================================
153
+ modules: {
154
+ "overview": {
155
+ showHeader: false,
156
+ title: "Dashboard",
157
+ description: "Main dashboard",
158
+ component: COMPONENT_REGISTRY.Dashboard,
159
+ actions: [],
160
+ permissions: ["read"],
161
+ breadcrumb: ["Dashboard"],
162
+ },
163
+ "users": {
164
+ showHeader: false,
165
+ title: "User Management",
166
+ description: "Manage users",
167
+ component: COMPONENT_REGISTRY.UserManagement,
168
+ actions: ["add", "edit", "delete"],
169
+ permissions: ["admin"],
170
+ breadcrumb: ["Administration", "Users"],
171
+ },
172
+ "settings": {
173
+ showHeader: false,
174
+ title: "Settings",
175
+ description: "App settings",
176
+ component: COMPONENT_REGISTRY.Settings,
177
+ actions: ["edit"],
178
+ permissions: ["admin"],
179
+ breadcrumb: ["Administration", "Settings"],
180
+ },
181
+ },
182
+
183
+ // =========================================================================
184
+ // HOOKS
185
+ // =========================================================================
186
+ hooks: {
187
+ onModuleChange: (moduleId, config) => {
188
+ console.log('Module changed:', moduleId);
189
+ },
190
+ onThemeChange: (theme) => {
191
+ console.log('Theme changed:', theme);
192
+ },
193
+ onLogout: () => {
194
+ console.log('Logout');
195
+ // window.location.href = '/login';
196
+ },
197
+ },
198
+ });
199
+
200
+ export default createLayoutConfig;
201
+ ```
202
+
203
+ ### Step 3: Create MainLayout Component
204
+
205
+ Create `src/components/layout/MainLayout.tsx`:
206
+
207
+ ```typescript
208
+ import React from 'react';
209
+ import { EnterpriseLayout } from '@syuttechnologies/layout';
210
+ import { COMPONENT_REGISTRY } from '../common/ComponentRegistry';
211
+ import { createLayoutConfig } from '../../config/layoutConfig';
212
+
213
+ const MainLayout: React.FC = () => {
214
+ const config = createLayoutConfig();
215
+
216
+ return (
217
+ <div style={{ height: "100vh", width: "100%" }}>
218
+ <EnterpriseLayout
219
+ config={config}
220
+ componentRegistry={COMPONENT_REGISTRY}
221
+ />
222
+ </div>
223
+ );
224
+ };
225
+
226
+ export default MainLayout;
227
+ ```
228
+
229
+ ### Step 4: Create Sample Module Components
230
+
231
+ Create `src/components/modules/Dashboard.tsx`:
232
+
233
+ ```typescript
234
+ import React from 'react';
235
+
236
+ const Dashboard: React.FC = () => {
237
+ return (
238
+ <div style={{ padding: '20px' }}>
239
+ <h1>Dashboard</h1>
240
+ <p>Welcome to the dashboard!</p>
241
+ </div>
242
+ );
243
+ };
244
+
245
+ export default Dashboard;
246
+ ```
247
+
248
+ Create `src/components/modules/Settings.tsx`:
249
+
250
+ ```typescript
251
+ import React from 'react';
252
+
253
+ const Settings: React.FC = () => {
254
+ return (
255
+ <div style={{ padding: '20px' }}>
256
+ <h1>Settings</h1>
257
+ <p>Configure your application here.</p>
258
+ </div>
259
+ );
260
+ };
261
+
262
+ export default Settings;
263
+ ```
264
+
265
+ Create `src/components/modules/UserManagement.tsx`:
266
+
267
+ ```typescript
268
+ import React from 'react';
269
+
270
+ const UserManagement: React.FC = () => {
271
+ return (
272
+ <div style={{ padding: '20px' }}>
273
+ <h1>User Management</h1>
274
+ <p>Manage users here.</p>
275
+ </div>
276
+ );
277
+ };
278
+
279
+ export default UserManagement;
280
+ ```
281
+
282
+ ### Step 5: Use in App.tsx
283
+
284
+ ```typescript
285
+ import React from 'react';
286
+ import MainLayout from './components/layout/MainLayout';
287
+
288
+ function App() {
289
+ return <MainLayout />;
290
+ }
291
+
292
+ export default App;
293
+ ```
294
+
295
+ ---
296
+
297
+ ## Package Management with GitLab
298
+
299
+ ### Publishing Updates
300
+
301
+ 1. **Make changes** in `src/` folder
302
+
303
+ 2. **Build the package:**
304
+ ```bash
305
+ npm run build
306
+ ```
307
+
308
+ 3. **Update version** in `package.json`:
309
+ ```json
310
+ "version": "1.0.2"
311
+ ```
312
+
313
+ 4. **Commit and tag:**
314
+ ```bash
315
+ git add .
316
+ git commit -m "Update V1.0.2 - description of changes"
317
+ git tag V1.0.2
318
+ git push origin main
319
+ git push --tags
320
+ ```
321
+
322
+ ### Installing Specific Versions
323
+
324
+ ```bash
325
+ # Latest version (main branch)
326
+ npm install git+https://gitlab.com/enterprise-templates/react-app-foundation.git
327
+
328
+ # Specific tag/version
329
+ npm install git+https://gitlab.com/enterprise-templates/react-app-foundation.git#V1.0.1
330
+
331
+ # Specific branch
332
+ npm install git+https://gitlab.com/enterprise-templates/react-app-foundation.git#develop
333
+
334
+ # Specific commit
335
+ npm install git+https://gitlab.com/enterprise-templates/react-app-foundation.git#abc1234
336
+ ```
337
+
338
+ ---
339
+
340
+ ## Updating Package in Consumer Projects (IMPORTANT)
341
+
342
+ After making changes and pushing to GitLab, follow these steps to update the package in your consumer projects (e.g., prima-web):
343
+
344
+ ### Step 1: Update package.json
345
+
346
+ Update the version tag in your project's `package.json`:
347
+
348
+ ```json
349
+ {
350
+ "dependencies": {
351
+ "@syuttechnologies/layout": "git+https://gitlab.com/enterprise-templates/react-app-foundation.git#V1.0.2"
352
+ }
353
+ }
354
+ ```
355
+
356
+ ### Step 2: Force Clear Cache & Reinstall
357
+
358
+ Run these commands in your project directory:
359
+
360
+ ```bash
361
+ # Clear npm cache forcefully
362
+ npm cache clean --force
363
+
364
+ # Remove existing package
365
+ npm uninstall @syuttechnologies/layout
366
+
367
+ # Reinstall the package
368
+ npm install @syuttechnologies/layout
369
+ ```
370
+
371
+ ### Alternative: One-liner Command
372
+
373
+ ```bash
374
+ npm cache clean --force && npm uninstall @syuttechnologies/layout && npm install
375
+ ```
376
+
377
+ ### Step 3: Restart Development Server
378
+
379
+ ```bash
380
+ npm start
381
+ ```
382
+
383
+ ### Troubleshooting
384
+
385
+ If the package is not updating correctly:
386
+
387
+ 1. **Delete node_modules and reinstall:**
388
+ ```bash
389
+ rm -rf node_modules
390
+ rm -rf package-lock.json
391
+ npm cache clean --force
392
+ npm install
393
+ ```
394
+
395
+ 2. **Verify installed version:**
396
+ ```bash
397
+ npm list @syuttechnologies/layout
398
+ ```
399
+
400
+ 3. **Check package contents:**
401
+ ```bash
402
+ ls node_modules/@syuttechnologies/layout
403
+ ```
404
+
405
+ ---
406
+
407
+ ## Configuration Reference
408
+
409
+ ### Branding
410
+
411
+ | Property | Type | Description |
412
+ |----------|------|-------------|
413
+ | `appName` | string | Application name displayed in header |
414
+ | `logo.alt` | string | Logo alt text |
415
+ | `logo.width` | string | Logo width |
416
+ | `logo.height` | string | Logo height |
417
+ | `logo.showText` | boolean | Show app name next to logo |
418
+ | `colors.primary` | string | Primary theme color |
419
+ | `colors.secondary` | string | Secondary color |
420
+ | `colors.success` | string | Success color |
421
+ | `colors.warning` | string | Warning color |
422
+ | `colors.danger` | string | Danger color |
423
+ | `colors.info` | string | Info color |
424
+
425
+ ### Layout
426
+
427
+ | Property | Type | Description |
428
+ |----------|------|-------------|
429
+ | `headerHeight` | string | Header height (e.g., "3rem") |
430
+ | `sidebarWidth` | string | Sidebar width when expanded |
431
+ | `sidebarCollapsedWidth` | string | Sidebar width when collapsed |
432
+ | `enableTabMode` | boolean | Enable tab-based navigation |
433
+ | `enableDarkMode` | boolean | Enable dark mode toggle |
434
+ | `enableFooter` | boolean | Show footer |
435
+ | `defaultTheme` | "light" \| "dark" | Default theme |
436
+ | `collapsibleSidebar` | boolean | Allow sidebar collapse |
437
+ | `showBreadcrumbs` | boolean | Show breadcrumbs |
438
+
439
+ ### Navigation
440
+
441
+ ```typescript
442
+ navigation: [
443
+ {
444
+ section: "Section Name",
445
+ icon: "icon-name",
446
+ items: [
447
+ { id: "module-id", title: "Display Title", icon: "icon", active: true }
448
+ ]
449
+ }
450
+ ]
451
+ ```
452
+
453
+ ### Modules
454
+
455
+ ```typescript
456
+ modules: {
457
+ "module-id": {
458
+ showHeader: boolean,
459
+ title: string,
460
+ description: string,
461
+ component: React.ComponentType,
462
+ actions: string[],
463
+ permissions: string[],
464
+ breadcrumb: string[]
465
+ }
466
+ }
467
+ ```
468
+
469
+ ### Hooks
470
+
471
+ | Hook | Parameters | Description |
472
+ |------|------------|-------------|
473
+ | `onModuleChange` | (moduleId, config) | Called when module changes |
474
+ | `onThemeChange` | (theme) | Called when theme changes |
475
+ | `onUserAction` | (action, data) | Called on user actions |
476
+ | `onNavigate` | (path, params) | Called on navigation |
477
+ | `onChangePassword` | () | Called when change password clicked |
478
+ | `onLogout` | () | Called when logout clicked |
479
+
480
+ ---
481
+
482
+ ## Folder Structure for New Project
483
+
484
+ ```
485
+ my-project/
486
+ ├── src/
487
+ │ ├── components/
488
+ │ │ ├── common/
489
+ │ │ │ └── ComponentRegistry.ts
490
+ │ │ ├── layout/
491
+ │ │ │ └── MainLayout.tsx
492
+ │ │ └── modules/
493
+ │ │ ├── Dashboard.tsx
494
+ │ │ ├── Settings.tsx
495
+ │ │ └── UserManagement.tsx
496
+ │ ├── config/
497
+ │ │ └── layoutConfig.ts
498
+ │ ├── App.tsx
499
+ │ └── index.tsx
500
+ ├── package.json
501
+ └── tsconfig.json
502
+ ```
503
+
504
+ ---
505
+
506
+ ## Exports
507
+
508
+ ```typescript
509
+ // Components
510
+ import { EnterpriseLayout } from '@syuttechnologies/layout';
511
+ import { ChangePasswordModal } from '@syuttechnologies/layout';
512
+
513
+ // Services
514
+ import { notificationService } from '@syuttechnologies/layout';
515
+
516
+ // Types
517
+ import type {
518
+ EnterpriseLayoutConfig,
519
+ EnterpriseLayoutProps,
520
+ ComponentRegistry,
521
+ NavigationSection,
522
+ NavigationItem,
523
+ ModuleConfig,
524
+ BrandingConfig,
525
+ LayoutConfig,
526
+ FooterConfig,
527
+ UserConfig,
528
+ HooksConfig,
529
+ } from '@syuttechnologies/layout';
530
+ ```
531
+
532
+ ---
533
+
534
+ ## Support
535
+
536
+ For issues or questions, contact: support@syuttechnologies.com
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordModal.d.ts","sourceRoot":"","sources":["../../src/components/ChangePasswordModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAiSD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsOlE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ChangePasswordModal.d.ts","sourceRoot":"","sources":["../../src/components/ChangePasswordModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA4SD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAuOlE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useMemo } from 'react';
3
3
  const DEFAULT_VALIDATION_RULES = {
4
4
  minLength: 6,
@@ -58,21 +58,27 @@ const styles = {
58
58
  backdrop: {
59
59
  position: 'fixed',
60
60
  inset: 0,
61
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
62
- zIndex: 9998,
61
+ backgroundColor: 'rgba(0, 0, 0, 0.6)',
62
+ backdropFilter: 'blur(4px)',
63
+ zIndex: 10040,
64
+ overflowY: 'auto',
65
+ overflowX: 'hidden',
66
+ },
67
+ scrollWrapper: {
68
+ minHeight: '100%',
69
+ display: 'flex',
70
+ alignItems: 'center',
71
+ justifyContent: 'center',
72
+ padding: '2rem 1rem',
63
73
  },
64
74
  modal: {
65
- position: 'fixed',
66
- top: '50%',
67
- left: '50%',
68
- transform: 'translate(-50%, -50%)',
75
+ position: 'relative',
69
76
  backgroundColor: 'white',
70
77
  borderRadius: '12px',
71
- boxShadow: '0 20px 50px rgba(0, 0, 0, 0.3)',
78
+ boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.4)',
72
79
  width: '100%',
73
80
  maxWidth: '440px',
74
- zIndex: 9999,
75
- overflow: 'hidden',
81
+ zIndex: 10050,
76
82
  },
77
83
  header: {
78
84
  display: 'flex',
@@ -81,6 +87,7 @@ const styles = {
81
87
  padding: '1.25rem 1.5rem',
82
88
  borderBottom: '1px solid #e2e8f0',
83
89
  background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
90
+ borderRadius: '12px 12px 0 0',
84
91
  },
85
92
  headerTitle: {
86
93
  display: 'flex',
@@ -105,6 +112,9 @@ const styles = {
105
112
  },
106
113
  content: {
107
114
  padding: '1.5rem',
115
+ overflowY: 'auto',
116
+ flex: 1,
117
+ minHeight: 0,
108
118
  },
109
119
  formGroup: {
110
120
  marginBottom: '1.25rem',
@@ -206,6 +216,7 @@ const styles = {
206
216
  padding: '1rem 1.5rem',
207
217
  borderTop: '1px solid #e2e8f0',
208
218
  backgroundColor: '#f8fafc',
219
+ flexShrink: 0,
209
220
  },
210
221
  button: {
211
222
  padding: '0.625rem 1.25rem',
@@ -314,6 +325,6 @@ export const ChangePasswordModal = ({ isOpen, onClose, onSubmit, username, valid
314
325
  if (!isOpen)
315
326
  return null;
316
327
  const loading = isSubmitting || externalLoading;
317
- return (_jsxs(_Fragment, { children: [_jsx("div", { style: styles.backdrop, onClick: handleClose }), _jsxs("div", { style: styles.modal, children: [_jsxs("div", { style: styles.header, children: [_jsxs("h2", { style: styles.headerTitle, children: [_jsx(LockIcon, {}), "Change Password"] }), _jsx("button", { style: styles.closeButton, onClick: handleClose, disabled: loading, children: _jsx(CloseIcon, {}) })] }), _jsxs("form", { onSubmit: handleSubmit, children: [_jsxs("div", { style: styles.content, children: [getFieldError('general') && (_jsx("div", { style: { padding: '0.75rem', backgroundColor: '#fef2f2', border: '1px solid #fecaca', borderRadius: '8px', marginBottom: '1rem', color: '#dc2626', fontSize: '0.875rem' }, children: getFieldError('general') })), _jsxs("div", { style: styles.formGroup, children: [_jsx("label", { style: styles.label, children: "Current Password" }), _jsxs("div", { style: styles.inputWrapper, children: [_jsx("input", { type: showCurrentPassword ? 'text' : 'password', value: currentPassword, onChange: (e) => setCurrentPassword(e.target.value), onFocus: () => setFocusedField('currentPassword'), onBlur: () => setFocusedField(null), placeholder: "Enter current password", disabled: loading, style: { ...styles.input, ...(getFieldError('currentPassword') ? styles.inputError : {}), ...(focusedField === 'currentPassword' ? styles.inputFocus : {}) } }), _jsx("button", { type: "button", style: styles.toggleButton, onClick: () => setShowCurrentPassword(!showCurrentPassword), tabIndex: -1, children: showCurrentPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }), getFieldError('currentPassword') && _jsx("div", { style: styles.errorText, children: getFieldError('currentPassword') })] }), _jsxs("div", { style: styles.formGroup, children: [_jsx("label", { style: styles.label, children: "New Password" }), _jsxs("div", { style: styles.inputWrapper, children: [_jsx("input", { type: showNewPassword ? 'text' : 'password', value: newPassword, onChange: (e) => setNewPassword(e.target.value), onFocus: () => setFocusedField('newPassword'), onBlur: () => setFocusedField(null), placeholder: "Enter new password", disabled: loading, style: { ...styles.input, ...(getFieldError('newPassword') ? styles.inputError : {}), ...(focusedField === 'newPassword' ? styles.inputFocus : {}) } }), _jsx("button", { type: "button", style: styles.toggleButton, onClick: () => setShowNewPassword(!showNewPassword), tabIndex: -1, children: showNewPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }), getFieldError('newPassword') && _jsx("div", { style: styles.errorText, children: getFieldError('newPassword') }), newPassword && (_jsxs("div", { style: styles.strengthMeter, children: [_jsx("div", { style: styles.strengthBar, children: _jsx("div", { style: { ...styles.strengthFill, width: `${(passwordStrength.score / 4) * 100}%`, backgroundColor: passwordStrength.color } }) }), _jsx("span", { style: { ...styles.strengthLabel, color: passwordStrength.color }, children: passwordStrength.label })] })), _jsxs("div", { style: styles.requirements, children: [_jsx("div", { style: styles.requirementsTitle, children: "Password Requirements" }), requirements.map((req) => (_jsxs("div", { style: { ...styles.requirementItem, color: req.met ? '#16a34a' : '#64748b' }, children: [req.met ? _jsx("span", { style: { color: '#16a34a' }, children: _jsx(CheckIcon, {}) }) : _jsx("span", { style: { color: '#cbd5e1' }, children: _jsx(XIcon, {}) }), req.label] }, req.id)))] })] }), _jsxs("div", { style: styles.formGroup, children: [_jsx("label", { style: styles.label, children: "Confirm New Password" }), _jsxs("div", { style: styles.inputWrapper, children: [_jsx("input", { type: showConfirmPassword ? 'text' : 'password', value: confirmPassword, onChange: (e) => setConfirmPassword(e.target.value), onFocus: () => setFocusedField('confirmPassword'), onBlur: () => setFocusedField(null), placeholder: "Confirm new password", disabled: loading, style: { ...styles.input, ...(getFieldError('confirmPassword') ? styles.inputError : {}), ...(focusedField === 'confirmPassword' ? styles.inputFocus : {}) } }), _jsx("button", { type: "button", style: styles.toggleButton, onClick: () => setShowConfirmPassword(!showConfirmPassword), tabIndex: -1, children: showConfirmPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }), getFieldError('confirmPassword') && _jsx("div", { style: styles.errorText, children: getFieldError('confirmPassword') }), confirmPassword && newPassword && confirmPassword === newPassword && (_jsxs("div", { style: { color: '#16a34a', fontSize: '0.8125rem', marginTop: '0.375rem', display: 'flex', alignItems: 'center', gap: '0.25rem' }, children: [_jsx(CheckIcon, {}), " Passwords match"] }))] })] }), _jsxs("div", { style: styles.footer, children: [_jsx("button", { type: "button", style: { ...styles.button, ...styles.cancelButton }, onClick: handleClose, disabled: loading, children: "Cancel" }), _jsx("button", { type: "submit", style: { ...styles.button, ...styles.submitButton, ...(!isFormValid || loading ? styles.submitButtonDisabled : {}) }, disabled: !isFormValid || loading, children: loading ? 'Changing...' : 'Change Password' })] })] })] })] }));
328
+ return (_jsx("div", { style: styles.backdrop, onClick: handleClose, children: _jsx("div", { style: styles.scrollWrapper, children: _jsxs("div", { style: styles.modal, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { style: styles.header, children: [_jsxs("h2", { style: styles.headerTitle, children: [_jsx(LockIcon, {}), "Change Password"] }), _jsx("button", { style: styles.closeButton, onClick: handleClose, disabled: loading, children: _jsx(CloseIcon, {}) })] }), _jsxs("form", { onSubmit: handleSubmit, style: { display: 'flex', flexDirection: 'column', flex: 1, minHeight: 0 }, children: [_jsxs("div", { style: styles.content, children: [getFieldError('general') && (_jsx("div", { style: { padding: '0.75rem', backgroundColor: '#fef2f2', border: '1px solid #fecaca', borderRadius: '8px', marginBottom: '1rem', color: '#dc2626', fontSize: '0.875rem' }, children: getFieldError('general') })), _jsxs("div", { style: styles.formGroup, children: [_jsx("label", { style: styles.label, children: "Current Password" }), _jsxs("div", { style: styles.inputWrapper, children: [_jsx("input", { type: showCurrentPassword ? 'text' : 'password', value: currentPassword, onChange: (e) => setCurrentPassword(e.target.value), onFocus: () => setFocusedField('currentPassword'), onBlur: () => setFocusedField(null), placeholder: "Enter current password", disabled: loading, style: { ...styles.input, ...(getFieldError('currentPassword') ? styles.inputError : {}), ...(focusedField === 'currentPassword' ? styles.inputFocus : {}) } }), _jsx("button", { type: "button", style: styles.toggleButton, onClick: () => setShowCurrentPassword(!showCurrentPassword), tabIndex: -1, children: showCurrentPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }), getFieldError('currentPassword') && _jsx("div", { style: styles.errorText, children: getFieldError('currentPassword') })] }), _jsxs("div", { style: styles.formGroup, children: [_jsx("label", { style: styles.label, children: "New Password" }), _jsxs("div", { style: styles.inputWrapper, children: [_jsx("input", { type: showNewPassword ? 'text' : 'password', value: newPassword, onChange: (e) => setNewPassword(e.target.value), onFocus: () => setFocusedField('newPassword'), onBlur: () => setFocusedField(null), placeholder: "Enter new password", disabled: loading, style: { ...styles.input, ...(getFieldError('newPassword') ? styles.inputError : {}), ...(focusedField === 'newPassword' ? styles.inputFocus : {}) } }), _jsx("button", { type: "button", style: styles.toggleButton, onClick: () => setShowNewPassword(!showNewPassword), tabIndex: -1, children: showNewPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }), getFieldError('newPassword') && _jsx("div", { style: styles.errorText, children: getFieldError('newPassword') }), newPassword && (_jsxs("div", { style: styles.strengthMeter, children: [_jsx("div", { style: styles.strengthBar, children: _jsx("div", { style: { ...styles.strengthFill, width: `${(passwordStrength.score / 4) * 100}%`, backgroundColor: passwordStrength.color } }) }), _jsx("span", { style: { ...styles.strengthLabel, color: passwordStrength.color }, children: passwordStrength.label })] })), _jsxs("div", { style: styles.requirements, children: [_jsx("div", { style: styles.requirementsTitle, children: "Password Requirements" }), requirements.map((req) => (_jsxs("div", { style: { ...styles.requirementItem, color: req.met ? '#16a34a' : '#64748b' }, children: [req.met ? _jsx("span", { style: { color: '#16a34a' }, children: _jsx(CheckIcon, {}) }) : _jsx("span", { style: { color: '#cbd5e1' }, children: _jsx(XIcon, {}) }), req.label] }, req.id)))] })] }), _jsxs("div", { style: styles.formGroup, children: [_jsx("label", { style: styles.label, children: "Confirm New Password" }), _jsxs("div", { style: styles.inputWrapper, children: [_jsx("input", { type: showConfirmPassword ? 'text' : 'password', value: confirmPassword, onChange: (e) => setConfirmPassword(e.target.value), onFocus: () => setFocusedField('confirmPassword'), onBlur: () => setFocusedField(null), placeholder: "Confirm new password", disabled: loading, style: { ...styles.input, ...(getFieldError('confirmPassword') ? styles.inputError : {}), ...(focusedField === 'confirmPassword' ? styles.inputFocus : {}) } }), _jsx("button", { type: "button", style: styles.toggleButton, onClick: () => setShowConfirmPassword(!showConfirmPassword), tabIndex: -1, children: showConfirmPassword ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }), getFieldError('confirmPassword') && _jsx("div", { style: styles.errorText, children: getFieldError('confirmPassword') }), confirmPassword && newPassword && confirmPassword === newPassword && (_jsxs("div", { style: { color: '#16a34a', fontSize: '0.8125rem', marginTop: '0.375rem', display: 'flex', alignItems: 'center', gap: '0.25rem' }, children: [_jsx(CheckIcon, {}), " Passwords match"] }))] })] }), _jsxs("div", { style: styles.footer, children: [_jsx("button", { type: "button", style: { ...styles.button, ...styles.cancelButton }, onClick: handleClose, disabled: loading, children: "Cancel" }), _jsx("button", { type: "submit", style: { ...styles.button, ...styles.submitButton, ...(!isFormValid || loading ? styles.submitButtonDisabled : {}) }, disabled: !isFormValid || loading, children: loading ? 'Changing...' : 'Change Password' })] })] })] }) }) }));
318
329
  };
319
330
  export default ChangePasswordModal;
@@ -1 +1 @@
1
- {"version":3,"file":"EnterpriseLayout.d.ts","sourceRoot":"","sources":["../../src/components/EnterpriseLayout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnterpriseLayout.d.ts","sourceRoot":"","sources":["../../src/components/EnterpriseLayout.tsx"],"names":[],"mappings":"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"}