dhanasekar-ui 1.2.0 → 1.4.0
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/dist/chunk-2CO3UUBT.js +170 -0
- package/dist/chunk-2CO3UUBT.js.map +1 -0
- package/dist/chunk-3HGMPMXD.js +61 -0
- package/dist/chunk-3HGMPMXD.js.map +1 -0
- package/dist/chunk-46U234GX.mjs +42 -0
- package/dist/chunk-46U234GX.mjs.map +1 -0
- package/dist/chunk-5FU43BWK.mjs +121 -0
- package/dist/chunk-5FU43BWK.mjs.map +1 -0
- package/dist/chunk-7XVF6WPJ.js +108 -0
- package/dist/chunk-7XVF6WPJ.js.map +1 -0
- package/dist/{chunk-GNMGJBBO.mjs → chunk-AK3NQBYU.mjs} +3 -3
- package/dist/chunk-AK3NQBYU.mjs.map +1 -0
- package/dist/chunk-ALCHPZY6.js +149 -0
- package/dist/chunk-ALCHPZY6.js.map +1 -0
- package/dist/chunk-BNBEIMM2.mjs +61 -0
- package/dist/chunk-BNBEIMM2.mjs.map +1 -0
- package/dist/chunk-BQVXQWPS.mjs +129 -0
- package/dist/chunk-BQVXQWPS.mjs.map +1 -0
- package/dist/chunk-DBSBLGGH.js +40 -0
- package/dist/chunk-DBSBLGGH.js.map +1 -0
- package/dist/chunk-DVDVLGDJ.js +121 -0
- package/dist/chunk-DVDVLGDJ.js.map +1 -0
- package/dist/chunk-EN76JE3Y.js +64 -0
- package/dist/chunk-EN76JE3Y.js.map +1 -0
- package/dist/chunk-FLTDFXE3.mjs +170 -0
- package/dist/chunk-FLTDFXE3.mjs.map +1 -0
- package/dist/chunk-GSRVWW2G.mjs +177 -0
- package/dist/chunk-GSRVWW2G.mjs.map +1 -0
- package/dist/chunk-GZGTDLFV.js +72 -0
- package/dist/chunk-GZGTDLFV.js.map +1 -0
- package/dist/chunk-HGGQFNUJ.mjs +2 -0
- package/dist/chunk-HGGQFNUJ.mjs.map +1 -0
- package/dist/chunk-HWD2HCCH.js +129 -0
- package/dist/chunk-HWD2HCCH.js.map +1 -0
- package/dist/chunk-I6OJHQZX.mjs +2 -0
- package/dist/chunk-I6OJHQZX.mjs.map +1 -0
- package/dist/chunk-ISHUTZ36.js +42 -0
- package/dist/chunk-ISHUTZ36.js.map +1 -0
- package/dist/chunk-JC4TJWCY.mjs +97 -0
- package/dist/chunk-JC4TJWCY.mjs.map +1 -0
- package/dist/chunk-JM6DZDO3.js +87 -0
- package/dist/chunk-JM6DZDO3.js.map +1 -0
- package/dist/chunk-KUXDQANJ.mjs +72 -0
- package/dist/chunk-KUXDQANJ.mjs.map +1 -0
- package/dist/chunk-LIBHUJ27.js +2 -0
- package/dist/chunk-LIBHUJ27.js.map +1 -0
- package/dist/chunk-MALTBURB.mjs +64 -0
- package/dist/chunk-MALTBURB.mjs.map +1 -0
- package/dist/chunk-MLURKSJZ.js +2 -0
- package/dist/chunk-MLURKSJZ.js.map +1 -0
- package/dist/chunk-MOC6N23X.mjs +151 -0
- package/dist/chunk-MOC6N23X.mjs.map +1 -0
- package/dist/chunk-P5HHRCE5.js +198 -0
- package/dist/chunk-P5HHRCE5.js.map +1 -0
- package/dist/chunk-PL2R3LYL.mjs +198 -0
- package/dist/chunk-PL2R3LYL.mjs.map +1 -0
- package/dist/chunk-PPQ7NSV3.js +97 -0
- package/dist/chunk-PPQ7NSV3.js.map +1 -0
- package/dist/chunk-T3YOHFUU.js +177 -0
- package/dist/chunk-T3YOHFUU.js.map +1 -0
- package/dist/chunk-UCFS7EH2.mjs +40 -0
- package/dist/chunk-UCFS7EH2.mjs.map +1 -0
- package/dist/chunk-ULMQZANW.mjs +87 -0
- package/dist/chunk-ULMQZANW.mjs.map +1 -0
- package/dist/chunk-UYHBKE7G.mjs +108 -0
- package/dist/chunk-UYHBKE7G.mjs.map +1 -0
- package/dist/chunk-W5B5N6BW.mjs +149 -0
- package/dist/chunk-W5B5N6BW.mjs.map +1 -0
- package/dist/{chunk-6SVKDKK7.mjs → chunk-XWEEWNZK.mjs} +4 -4
- package/dist/chunk-XWEEWNZK.mjs.map +1 -0
- package/dist/{chunk-3RAQQWLW.js → chunk-YPMUFP2I.js} +4 -4
- package/dist/chunk-YPMUFP2I.js.map +1 -0
- package/dist/chunk-ZMB4U5RP.js +151 -0
- package/dist/chunk-ZMB4U5RP.js.map +1 -0
- package/dist/{chunk-2TXYJ7YE.js → chunk-ZPJSBORX.js} +3 -3
- package/dist/chunk-ZPJSBORX.js.map +1 -0
- package/dist/components/AppBar/index.d.mts +89 -0
- package/dist/components/AppBar/index.d.ts +89 -0
- package/dist/components/AppBar/index.js +2 -0
- package/dist/components/AppBar/index.js.map +1 -0
- package/dist/components/AppBar/index.mjs +2 -0
- package/dist/components/AppBar/index.mjs.map +1 -0
- package/dist/components/Box/index.d.mts +28 -0
- package/dist/components/Box/index.d.ts +28 -0
- package/dist/components/Box/index.js +2 -0
- package/dist/components/Box/index.js.map +1 -0
- package/dist/components/Box/index.mjs +2 -0
- package/dist/components/Box/index.mjs.map +1 -0
- package/dist/components/Container/index.d.mts +71 -0
- package/dist/components/Container/index.d.ts +71 -0
- package/dist/components/Container/index.js +2 -0
- package/dist/components/Container/index.js.map +1 -0
- package/dist/components/Container/index.mjs +2 -0
- package/dist/components/Container/index.mjs.map +1 -0
- package/dist/components/DateFilter/index.d.mts +8 -1
- package/dist/components/DateFilter/index.d.ts +8 -1
- package/dist/components/DateFilter/index.js +1 -1
- package/dist/components/DateFilter/index.mjs +1 -1
- package/dist/components/FileUploadField/index.d.mts +4 -2
- package/dist/components/FileUploadField/index.d.ts +4 -2
- package/dist/components/FileUploadField/index.js +1 -1
- package/dist/components/FileUploadField/index.mjs +1 -1
- package/dist/components/FormLayout/index.d.mts +8 -2
- package/dist/components/FormLayout/index.d.ts +8 -2
- package/dist/components/FormLayout/index.js +1 -1
- package/dist/components/FormLayout/index.mjs +1 -1
- package/dist/components/Grid/index.d.mts +48 -0
- package/dist/components/Grid/index.d.ts +48 -0
- package/dist/components/Grid/index.js +2 -0
- package/dist/components/Grid/index.js.map +1 -0
- package/dist/components/Grid/index.mjs +2 -0
- package/dist/components/Grid/index.mjs.map +1 -0
- package/dist/components/List/index.d.mts +98 -0
- package/dist/components/List/index.d.ts +98 -0
- package/dist/components/List/index.js +2 -0
- package/dist/components/List/index.js.map +1 -0
- package/dist/components/List/index.mjs +2 -0
- package/dist/components/List/index.mjs.map +1 -0
- package/dist/components/Navigator/index.d.mts +87 -0
- package/dist/components/Navigator/index.d.ts +87 -0
- package/dist/components/Navigator/index.js +2 -0
- package/dist/components/Navigator/index.js.map +1 -0
- package/dist/components/Navigator/index.mjs +2 -0
- package/dist/components/Navigator/index.mjs.map +1 -0
- package/dist/components/Pagination/index.d.mts +89 -0
- package/dist/components/Pagination/index.d.ts +89 -0
- package/dist/components/Pagination/index.js +2 -0
- package/dist/components/Pagination/index.js.map +1 -0
- package/dist/components/Pagination/index.mjs +2 -0
- package/dist/components/Pagination/index.mjs.map +1 -0
- package/dist/components/PdfImageUpload/index.d.mts +30 -0
- package/dist/components/PdfImageUpload/index.d.ts +30 -0
- package/dist/components/PdfImageUpload/index.js +2 -0
- package/dist/components/PdfImageUpload/index.js.map +1 -0
- package/dist/components/PdfImageUpload/index.mjs +2 -0
- package/dist/components/PdfImageUpload/index.mjs.map +1 -0
- package/dist/components/Progress/index.d.mts +52 -0
- package/dist/components/Progress/index.d.ts +52 -0
- package/dist/components/Progress/index.js +2 -0
- package/dist/components/Progress/index.js.map +1 -0
- package/dist/components/Progress/index.mjs +2 -0
- package/dist/components/Progress/index.mjs.map +1 -0
- package/dist/components/RadioGroup/index.d.mts +99 -0
- package/dist/components/RadioGroup/index.d.ts +99 -0
- package/dist/components/RadioGroup/index.js +2 -0
- package/dist/components/RadioGroup/index.js.map +1 -0
- package/dist/components/RadioGroup/index.mjs +2 -0
- package/dist/components/RadioGroup/index.mjs.map +1 -0
- package/dist/components/Skeleton/index.d.mts +45 -0
- package/dist/components/Skeleton/index.d.ts +45 -0
- package/dist/components/Skeleton/index.js +2 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/Skeleton/index.mjs +2 -0
- package/dist/components/Skeleton/index.mjs.map +1 -0
- package/dist/components/Slider/index.d.mts +181 -0
- package/dist/components/Slider/index.d.ts +181 -0
- package/dist/components/Slider/index.js +2 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/Slider/index.mjs +2 -0
- package/dist/components/Slider/index.mjs.map +1 -0
- package/dist/components/Snackbar/index.d.mts +80 -0
- package/dist/components/Snackbar/index.d.ts +80 -0
- package/dist/components/Snackbar/index.js +2 -0
- package/dist/components/Snackbar/index.js.map +1 -0
- package/dist/components/Snackbar/index.mjs +2 -0
- package/dist/components/Snackbar/index.mjs.map +1 -0
- package/dist/components/Text/index.d.mts +2 -1
- package/dist/components/Text/index.d.ts +2 -1
- package/dist/components/ToolBar/index.d.mts +60 -0
- package/dist/components/ToolBar/index.d.ts +60 -0
- package/dist/components/ToolBar/index.js +2 -0
- package/dist/components/ToolBar/index.js.map +1 -0
- package/dist/components/ToolBar/index.mjs +2 -0
- package/dist/components/ToolBar/index.mjs.map +1 -0
- package/dist/components/Tray/index.d.mts +140 -0
- package/dist/components/Tray/index.d.ts +140 -0
- package/dist/components/Tray/index.js +2 -0
- package/dist/components/Tray/index.js.map +1 -0
- package/dist/components/Tray/index.mjs +2 -0
- package/dist/components/Tray/index.mjs.map +1 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/types-BJWJOB_w.d.mts +5 -0
- package/dist/types-BJWJOB_w.d.ts +5 -0
- package/package.json +84 -2
- package/dist/chunk-2TXYJ7YE.js.map +0 -1
- package/dist/chunk-3RAQQWLW.js.map +0 -1
- package/dist/chunk-6SVKDKK7.mjs.map +0 -1
- package/dist/chunk-GNMGJBBO.mjs.map +0 -1
- package/dist/chunk-ZEMR63S4.js +0 -198
- package/dist/chunk-ZEMR63S4.js.map +0 -1
- package/dist/chunk-ZY5AHZYZ.mjs +0 -198
- package/dist/chunk-ZY5AHZYZ.mjs.map +0 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import {a}from'./chunk-HGGQFNUJ.mjs';import {a as a$1}from'./chunk-547MQ4FI.mjs';import {forwardRef,useRef,useState,useEffect}from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var I=`
|
|
2
|
+
.ui-list {
|
|
3
|
+
list-style: none;
|
|
4
|
+
margin: 0;
|
|
5
|
+
padding: 0;
|
|
6
|
+
position: relative;
|
|
7
|
+
padding-top: 8px;
|
|
8
|
+
padding-bottom: 8px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.ui-list--disable-padding {
|
|
12
|
+
padding-top: 0;
|
|
13
|
+
padding-bottom: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ui-list--dense {
|
|
17
|
+
padding-top: 4px;
|
|
18
|
+
padding-bottom: 4px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.ui-list-subheader {
|
|
22
|
+
list-style: none;
|
|
23
|
+
background-color: inherit;
|
|
24
|
+
color: #64748b;
|
|
25
|
+
font-family: inherit;
|
|
26
|
+
font-weight: 600;
|
|
27
|
+
font-size: 0.875rem;
|
|
28
|
+
line-height: 1.5;
|
|
29
|
+
padding: 8px 16px;
|
|
30
|
+
position: sticky;
|
|
31
|
+
top: 0;
|
|
32
|
+
z-index: 1;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ui-list-subheader--inset {
|
|
36
|
+
padding-left: 72px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ui-list-subheader--disable-gutters {
|
|
40
|
+
padding-left: 0;
|
|
41
|
+
padding-right: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ui-list-subheader--disable-sticky {
|
|
45
|
+
position: static;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ui-list-item-button {
|
|
49
|
+
display: flex;
|
|
50
|
+
justify-content: flex-start;
|
|
51
|
+
align-items: center;
|
|
52
|
+
position: relative;
|
|
53
|
+
text-decoration: none;
|
|
54
|
+
width: 100%;
|
|
55
|
+
box-sizing: border-box;
|
|
56
|
+
text-align: left;
|
|
57
|
+
padding: 8px 16px;
|
|
58
|
+
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
|
59
|
+
cursor: pointer;
|
|
60
|
+
background-color: transparent;
|
|
61
|
+
border: 0;
|
|
62
|
+
color: inherit;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.ui-list-item-button:hover {
|
|
66
|
+
background-color: rgba(0, 0, 0, 0.04);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.ui-list-item-button--selected {
|
|
70
|
+
background-color: rgba(59, 130, 246, 0.08);
|
|
71
|
+
color: #2563eb;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.ui-list-item-button--selected:hover {
|
|
75
|
+
background-color: rgba(59, 130, 246, 0.12);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ui-list-item-button--disabled {
|
|
79
|
+
opacity: 0.38;
|
|
80
|
+
pointer-events: none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.ui-list-item-button--dense {
|
|
84
|
+
padding-top: 4px;
|
|
85
|
+
padding-bottom: 4px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.ui-list-item-button--align-flex-start {
|
|
89
|
+
align-items: flex-start;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.ui-list-item-button--divider {
|
|
93
|
+
border-bottom: 1px solid #e2e8f0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.ui-list-item-icon {
|
|
97
|
+
display: inline-flex;
|
|
98
|
+
min-width: 56px;
|
|
99
|
+
flex-shrink: 0;
|
|
100
|
+
color: #64748b;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.ui-list-item-button--dense .ui-list-item-icon {
|
|
104
|
+
min-width: 40px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.ui-list-item-text {
|
|
108
|
+
flex: 1 1 auto;
|
|
109
|
+
margin-top: 4px;
|
|
110
|
+
margin-bottom: 4px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.ui-list-item-text--inset {
|
|
114
|
+
padding-left: 56px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.ui-list-item-text-primary {
|
|
118
|
+
font-family: inherit;
|
|
119
|
+
font-weight: 500;
|
|
120
|
+
font-size: 1rem;
|
|
121
|
+
line-height: 1.5;
|
|
122
|
+
display: block;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.ui-list-item-text-secondary {
|
|
126
|
+
font-family: inherit;
|
|
127
|
+
font-weight: 400;
|
|
128
|
+
font-size: 0.875rem;
|
|
129
|
+
line-height: 1.43;
|
|
130
|
+
color: #64748b;
|
|
131
|
+
display: block;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.ui-list-item-button--dense .ui-list-item-text-primary {
|
|
135
|
+
font-size: 0.875rem;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.ui-collapse {
|
|
139
|
+
height: 0;
|
|
140
|
+
overflow: hidden;
|
|
141
|
+
transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.ui-collapse--entered {
|
|
145
|
+
height: auto;
|
|
146
|
+
overflow: visible;
|
|
147
|
+
}
|
|
148
|
+
`,y=forwardRef(({as:l,component:r,className:i,children:t,dense:a$2=false,disablePadding:d=false,subheader:s,classes:o={},sx:e,...n},u)=>jsxs(Fragment,{children:[jsx("style",{dangerouslySetInnerHTML:{__html:I}}),jsxs(l||r||"ul",{ref:u,className:a$1("ui-list",a$2&&"ui-list--dense",d&&"ui-list--disable-padding",o.root,i),style:{...a(e),...n.style},...n,children:[s,t]})]})),N=forwardRef(({as:l,component:r,className:i,children:t,color:a$2="default",disableGutters:d=false,disableSticky:s=false,inset:o=false,classes:e={},sx:n,...u},m)=>jsx(l||r||"li",{ref:m,className:a$1("ui-list-subheader",o&&"ui-list-subheader--inset",d&&"ui-list-subheader--disable-gutters",s&&"ui-list-subheader--disable-sticky",e.root,i),style:{...a(n),...u.style},...u,children:t})),C=forwardRef(({as:l,component:r,className:i,children:t,alignItems:a$2="center",dense:d=false,disabled:s=false,divider:o=false,selected:e=false,disableGutters:n=false,classes:u={},sx:m,...x},h)=>jsx(l||r||"div",{ref:h,className:a$1("ui-list-item-button",d&&"ui-list-item-button--dense",s&&"ui-list-item-button--disabled",o&&"ui-list-item-button--divider",e&&"ui-list-item-button--selected",a$2==="flex-start"&&"ui-list-item-button--align-flex-start",u.root,i),style:{...a(m),...x.style},...x,children:t})),k=forwardRef(({className:l,children:r,classes:i={},sx:t,...a$2},d)=>jsx("div",{ref:d,className:a$1("ui-list-item-icon",i.root,l),style:{...a(t),...a$2.style},...a$2,children:r})),P=forwardRef(({className:l,children:r,primary:i,secondary:t,inset:a$2=false,disableTypography:d=false,classes:s={},sx:o,...e},n)=>jsxs("div",{ref:n,className:a$1("ui-list-item-text",a$2&&"ui-list-item-text--inset",s.root,l),style:{...a(o),...e.style},...e,children:[i&&jsx("span",{className:a$1("ui-list-item-text-primary",s.primary),children:i}),t&&jsx("span",{className:a$1("ui-list-item-text-secondary",s.secondary),children:t}),r]})),w=forwardRef(({className:l,children:r,in:i=false,timeout:t=300,classes:a$2={},sx:d,...s},o)=>{let e=useRef(null),[n,u]=useState(0);return useEffect(()=>{if(i){if(e.current){u(e.current.scrollHeight);let m=setTimeout(()=>{u("auto");},t==="auto"?300:t);return ()=>clearTimeout(m)}}else e.current&&(n==="auto"&&(u(e.current.scrollHeight),e.current.offsetHeight),u(0));},[i]),jsx("div",{ref:m=>{e.current=m,o&&(typeof o=="function"?o(m):o.current=m);},className:a$1("ui-collapse",i&&n==="auto"&&"ui-collapse--entered",a$2.root,l),style:{height:n==="auto"?void 0:n,transitionDuration:t==="auto"?"300ms":`${t}ms`,...a(d),...s.style},...s,children:r})});y.displayName="List";N.displayName="ListSubheader";C.displayName="ListItemButton";k.displayName="ListItemIcon";P.displayName="ListItemText";w.displayName="Collapse";var S=y;export{y as a,N as b,C as c,k as d,P as e,w as f,S as g};//# sourceMappingURL=chunk-W5B5N6BW.mjs.map
|
|
149
|
+
//# sourceMappingURL=chunk-W5B5N6BW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/List/List.tsx"],"names":["STYLES","List","forwardRef","as","component","className","children","dense","disablePadding","subheader","classes","sx","props","ref","jsxs","Fragment","jsx","cn","handleSx","ListSubheader","color","disableGutters","disableSticky","inset","ListItemButton","alignItems","disabled","divider","selected","ListItemIcon","ListItemText","primary","secondary","disableTypography","Collapse","inProp","timeout","containerRef","useRef","height","setHeight","useState","useEffect","timer","node","List_default"],"mappings":"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","file":"chunk-W5B5N6BW.mjs","sourcesContent":["'use client';\n\nimport { forwardRef, ElementType, useRef, useEffect, useState } from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport {\n ListProps,\n ListSubheaderProps,\n ListItemButtonProps,\n ListItemIconProps,\n ListItemTextProps,\n CollapseProps,\n} from './List.types';\n\nconst STYLES = `\n .ui-list {\n list-style: none;\n margin: 0;\n padding: 0;\n position: relative;\n padding-top: 8px;\n padding-bottom: 8px;\n }\n\n .ui-list--disable-padding {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .ui-list--dense {\n padding-top: 4px;\n padding-bottom: 4px;\n }\n\n .ui-list-subheader {\n list-style: none;\n background-color: inherit;\n color: #64748b;\n font-family: inherit;\n font-weight: 600;\n font-size: 0.875rem;\n line-height: 1.5;\n padding: 8px 16px;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n\n .ui-list-subheader--inset {\n padding-left: 72px;\n }\n\n .ui-list-subheader--disable-gutters {\n padding-left: 0;\n padding-right: 0;\n }\n\n .ui-list-subheader--disable-sticky {\n position: static;\n }\n\n .ui-list-item-button {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n text-decoration: none;\n width: 100%;\n box-sizing: border-box;\n text-align: left;\n padding: 8px 16px;\n transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n color: inherit;\n }\n\n .ui-list-item-button:hover {\n background-color: rgba(0, 0, 0, 0.04);\n }\n\n .ui-list-item-button--selected {\n background-color: rgba(59, 130, 246, 0.08);\n color: #2563eb;\n }\n\n .ui-list-item-button--selected:hover {\n background-color: rgba(59, 130, 246, 0.12);\n }\n\n .ui-list-item-button--disabled {\n opacity: 0.38;\n pointer-events: none;\n }\n\n .ui-list-item-button--dense {\n padding-top: 4px;\n padding-bottom: 4px;\n }\n\n .ui-list-item-button--align-flex-start {\n align-items: flex-start;\n }\n\n .ui-list-item-button--divider {\n border-bottom: 1px solid #e2e8f0;\n }\n\n .ui-list-item-icon {\n display: inline-flex;\n min-width: 56px;\n flex-shrink: 0;\n color: #64748b;\n }\n\n .ui-list-item-button--dense .ui-list-item-icon {\n min-width: 40px;\n }\n\n .ui-list-item-text {\n flex: 1 1 auto;\n margin-top: 4px;\n margin-bottom: 4px;\n }\n\n .ui-list-item-text--inset {\n padding-left: 56px;\n }\n\n .ui-list-item-text-primary {\n font-family: inherit;\n font-weight: 500;\n font-size: 1rem;\n line-height: 1.5;\n display: block;\n }\n\n .ui-list-item-text-secondary {\n font-family: inherit;\n font-weight: 400;\n font-size: 0.875rem;\n line-height: 1.43;\n color: #64748b;\n display: block;\n }\n\n .ui-list-item-button--dense .ui-list-item-text-primary {\n font-size: 0.875rem;\n }\n\n .ui-collapse {\n height: 0;\n overflow: hidden;\n transition: height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n\n .ui-collapse--entered {\n height: auto;\n overflow: visible;\n }\n`;\n\nexport const List = forwardRef(<T extends ElementType = 'ul'>(\n { as, component, className, children, dense = false, disablePadding = false, subheader, classes = {}, sx, ...props }: ListProps<T>,\n ref: any\n) => {\n const Component = as || component || 'ul';\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <Component\n ref={ref}\n className={cn(\n 'ui-list',\n dense && 'ui-list--dense',\n disablePadding && 'ui-list--disable-padding',\n classes.root,\n className\n )}\n style={{ ...handleSx(sx), ...props.style }}\n {...props}\n >\n {subheader}\n {children}\n </Component>\n </>\n );\n});\n\nexport const ListSubheader = forwardRef(<T extends ElementType = 'li'>(\n {\n as,\n component,\n className,\n children,\n color = 'default',\n disableGutters = false,\n disableSticky = false,\n inset = false,\n classes = {},\n sx,\n ...props\n }: ListSubheaderProps<T>,\n ref: any\n) => {\n const Component = as || component || 'li';\n return (\n <Component\n ref={ref}\n className={cn(\n 'ui-list-subheader',\n inset && 'ui-list-subheader--inset',\n disableGutters && 'ui-list-subheader--disable-gutters',\n disableSticky && 'ui-list-subheader--disable-sticky',\n classes.root,\n className\n )}\n style={{ ...handleSx(sx), ...props.style }}\n {...props}\n >\n {children}\n </Component>\n );\n});\n\nexport const ListItemButton = forwardRef(<T extends ElementType = 'div'>(\n {\n as,\n component,\n className,\n children,\n alignItems = 'center',\n dense = false,\n disabled = false,\n divider = false,\n selected = false,\n disableGutters = false,\n classes = {},\n sx,\n ...props\n }: ListItemButtonProps<T>,\n ref: any\n) => {\n const Component = as || component || 'div';\n return (\n <Component\n ref={ref}\n className={cn(\n 'ui-list-item-button',\n dense && 'ui-list-item-button--dense',\n disabled && 'ui-list-item-button--disabled',\n divider && 'ui-list-item-button--divider',\n selected && 'ui-list-item-button--selected',\n alignItems === 'flex-start' && 'ui-list-item-button--align-flex-start',\n classes.root,\n className\n )}\n style={{ ...handleSx(sx), ...props.style }}\n {...props}\n >\n {children}\n </Component>\n );\n});\n\nexport const ListItemIcon = forwardRef(\n ({ className, children, classes = {}, sx, ...props }: ListItemIconProps, ref: any) => {\n return (\n <div\n ref={ref}\n className={cn('ui-list-item-icon', classes.root, className)}\n style={{ ...handleSx(sx), ...props.style }}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nexport const ListItemText = forwardRef(\n (\n {\n className,\n children,\n primary,\n secondary,\n inset = false,\n disableTypography = false,\n classes = {},\n sx,\n ...props\n }: ListItemTextProps,\n ref: any\n ) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'ui-list-item-text',\n inset && 'ui-list-item-text--inset',\n classes.root,\n className\n )}\n style={{ ...handleSx(sx), ...props.style }}\n {...props}\n >\n {primary && (\n <span className={cn('ui-list-item-text-primary', classes.primary)}>\n {primary}\n </span>\n )}\n {secondary && (\n <span className={cn('ui-list-item-text-secondary', classes.secondary)}>\n {secondary}\n </span>\n )}\n {children}\n </div>\n );\n }\n);\n\nexport const Collapse = forwardRef(\n ({ className, children, in: inProp = false, timeout = 300, classes = {}, sx, ...props }: CollapseProps, ref: any) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [height, setHeight] = useState<number | string>(0);\n\n useEffect(() => {\n if (inProp) {\n if (containerRef.current) {\n setHeight(containerRef.current.scrollHeight);\n const timer = setTimeout(() => {\n setHeight('auto');\n }, timeout === 'auto' ? 300 : timeout);\n return () => clearTimeout(timer);\n }\n } else {\n if (containerRef.current) {\n // If we are transitioning from 'auto', we need to set the explicit height first\n if (height === 'auto') {\n setHeight(containerRef.current.scrollHeight);\n // Force a reflow\n containerRef.current.offsetHeight;\n }\n setHeight(0);\n }\n }\n }, [inProp]);\n\n return (\n <div\n ref={(node) => {\n (containerRef as any).current = node;\n if (ref) {\n if (typeof ref === 'function') ref(node);\n else ref.current = node;\n }\n }}\n className={cn(\n 'ui-collapse',\n inProp && height === 'auto' && 'ui-collapse--entered',\n classes.root,\n className\n )}\n style={{\n height: height === 'auto' ? undefined : height,\n transitionDuration: timeout === 'auto' ? '300ms' : `${timeout}ms`,\n ...handleSx(sx),\n ...props.style,\n }}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nList.displayName = 'List';\nListSubheader.displayName = 'ListSubheader';\nListItemButton.displayName = 'ListItemButton';\nListItemIcon.displayName = 'ListItemIcon';\nListItemText.displayName = 'ListItemText';\nCollapse.displayName = 'Collapse';\n\nexport default List;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useState,useEffect}from'react';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var
|
|
1
|
+
import {a}from'./chunk-HGGQFNUJ.mjs';import {useState,useEffect}from'react';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var G=`
|
|
2
2
|
:root {
|
|
3
3
|
--fl-primary: #3b82f6;
|
|
4
4
|
--fl-primary-dark: #2563eb;
|
|
@@ -346,6 +346,6 @@ import {useState,useEffect}from'react';import {jsxs,jsx,Fragment}from'react/jsx-
|
|
|
346
346
|
.fl-step-label { display: none; }
|
|
347
347
|
.fl-footer { padding: 16px; }
|
|
348
348
|
}
|
|
349
|
-
`,
|
|
350
|
-
export{
|
|
351
|
-
//# sourceMappingURL=chunk-
|
|
349
|
+
`,O=({title:f,mode:i,onCancel:k,onSubmit:$,children:d,steps:o=[],validateStep:x,loading:l=false,layoutType:V="stepper",onSaveDraft:E,onApprove:z,hideSubmitButton:w=false,hideCancelButton:L=false,showbutton:I=true,errors:N,extraHeaderActions:U,onBack:S,style:Y,sx:R,className:T=""})=>{let[n,p]=useState(0),[b,g]=useState(false),[m,u]=useState(null),[s,B]=useState(V);useEffect(()=>{let r="tabler-icons-cdn";if(!document.getElementById(r)){let t=document.createElement("link");t.id=r,t.rel="stylesheet",t.href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css",document.head.appendChild(t);}},[]),useEffect(()=>{m!==null&&N&&o.length>0&&((o[m]?.fields??[]).some(c=>N[c])||u(null));},[N,m,o]);let D=()=>{S?S():k();},j=o.length>0&&n===o.length-1,v=async()=>{if(s==="accordion"&&x){g(true);let r=false;for(let t=0;t<o.length;t++)if(!await x(t)){u(t),p(t),r=true;break}if(g(false),r)return;$(),u(null);}else {if(x){g(true);let r=await x(n);if(g(false),!r){u(n);return}}u(null),j||o.length===0?$():p(r=>r+1);}},H=()=>p(r=>r-1),P=()=>{B(s==="stepper"?"accordion":"stepper");},_=()=>typeof d=="function"?d(n):d;return jsxs("div",{className:`fl-container ${T}`,style:{...a(R),...Y},children:[jsx("style",{dangerouslySetInnerHTML:{__html:G}}),jsxs("header",{className:"fl-header",children:[jsxs("div",{className:"fl-header-left",children:[jsx("button",{className:"fl-back-btn",onClick:D,title:"Go Back",children:jsx("i",{className:"ti ti-arrow-left"})}),jsxs("div",{className:"fl-title-group",children:[jsx("h1",{children:i==="add"?`Add ${f}`:i==="view"?`View ${f}`:`Edit ${f}`}),jsx("p",{children:i==="add"?`Fill out the details below to add a new ${f.toLowerCase()}.`:`Update the details below to edit the existing ${f.toLowerCase()}.`})]})]}),jsxs("div",{className:"fl-header-right",children:[E&&jsxs("button",{className:"fl-btn fl-btn-primary",onClick:E,disabled:l,children:["Draft ",l&&jsx("div",{className:"fl-loader"})]}),z&&jsxs("button",{className:"fl-btn fl-btn-primary",onClick:z,disabled:l,children:["Approve ",l&&jsx("div",{className:"fl-loader"})]}),U,o.length>0&&jsx("button",{className:"fl-layout-toggle",onClick:P,title:`Switch to ${s==="stepper"?"Accordion":"Stepper"} view`,children:jsx("i",{className:s==="stepper"?"ti ti-list-details":"ti ti-list-numbers"})})]})]}),o.length>0&&jsx("div",{className:"fl-stepper-container",children:s==="stepper"?jsx("div",{className:"fl-stepper",children:o.map((r,t)=>{let c=n===t,C=n>t;return jsxs("div",{className:`fl-step ${c?"active":""} ${C?"completed":""} ${m===t?"error":""}`,onClick:()=>!b&&p(t),children:[jsx("div",{className:"fl-step-icon",children:C?jsx("i",{className:"ti ti-check"}):r.icon?jsx("i",{className:`ti ${r.icon}`}):t+1}),jsx("span",{className:"fl-step-label",children:r.label})]},t)})}):jsx("div",{className:"fl-accordion-container",children:o.map((r,t)=>{let c=n===t;return jsxs("div",{className:`fl-accordion-item ${c?"active":""} ${m===t?"error":""}`,children:[jsxs("div",{className:"fl-accordion-header",onClick:()=>p(t),children:[jsxs("div",{className:"fl-accordion-title",children:[jsx("i",{className:`ti ${r.icon||"ti-circle-number-"+(t+1)} fl-accordion-icon`}),r.label]}),jsx("i",{className:`ti ti-chevron-${c?"up":"down"}`})]}),jsx("div",{className:"fl-accordion-content",children:typeof d=="function"?d(t):d})]},t)})})}),(o.length===0||s==="stepper")&&jsx("main",{className:"fl-content",children:_()}),jsxs("footer",{className:"fl-footer",children:[jsx("div",{children:s==="stepper"&&o.length>0&&jsx("button",{className:"fl-btn fl-btn-outlined",onClick:H,disabled:l||n===0,children:"Back"})}),jsx("div",{className:"fl-btn-group",children:s==="accordion"?jsxs(Fragment,{children:[!L&&jsx("button",{className:"fl-btn fl-btn-outlined",onClick:k,disabled:l,children:"Cancel"}),i!=="view"&&!w&&jsxs("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:l||b,children:[i==="add"?"Submit":"Update",l&&jsx("div",{className:"fl-loader"})]})]}):o.length>0?jsx(Fragment,{children:j?jsx(Fragment,{children:i!=="view"&&!w&&jsxs("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:l||b,children:[i==="add"?"Submit":"Update",l&&jsx("div",{className:"fl-loader"})]})}):jsx("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:b,children:b?"Validating...":"Next"})}):I?jsxs(Fragment,{children:[!L&&jsx("button",{className:"fl-btn fl-btn-outlined",onClick:k,disabled:l,children:i==="view"?"Back":"Cancel"}),i!=="view"&&!w&&jsxs("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:l,children:[i==="add"?"Submit":"Update",l&&jsx("div",{className:"fl-loader"})]})]}):null})]})]})};
|
|
350
|
+
export{O as a};//# sourceMappingURL=chunk-XWEEWNZK.mjs.map
|
|
351
|
+
//# sourceMappingURL=chunk-XWEEWNZK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/FormLayout/FormLayout.tsx"],"names":["STYLES","FormLayout","title","mode","onCancel","onSubmit","children","steps","validateStep","loading","layoutType","onSaveDraft","onApprove","hideSubmitButton","hideCancelButton","showbutton","errors","extraHeaderActions","onBack","style","sx","className","activeStep","setActiveStep","useState","validating","setValidating","errorStep","setErrorStep","layout","setLayout","useEffect","cdnId","link","field","handleBackNavigation","isLastStep","handleNext","hasErrors","i","isValid","prev","handleBack","toggleLayout","renderContent","jsxs","handleSx","jsx","step","index","isActive","isCompleted","Fragment"],"mappings":"kIAMMA,CAAAA,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAA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","file":"chunk-XWEEWNZK.mjs","sourcesContent":["'use client';\n\nimport React, { useState, useEffect, ReactNode } from 'react';\nimport { handleSx } from '../../utils/handleSx';\nimport { FormLayoutProps } from './FormLayout.types';\n\nconst STYLES = `\n :root {\n --fl-primary: #3b82f6;\n --fl-primary-dark: #2563eb;\n --fl-primary-light: #eff6ff;\n --fl-text-main: #1e293b;\n --fl-text-secondary: #64748b;\n --fl-bg-main: #ffffff;\n --fl-bg-secondary: #f8fafc;\n --fl-border: #e2e8f0;\n --fl-error: #ef4444;\n --fl-success: #10b981;\n --fl-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --fl-radius: 12px;\n }\n\n .fl-container {\n display: flex;\n flex-direction: column;\n min-height: 80vh;\n font-family: 'Inter', system-ui, -apple-system, sans-serif;\n color: var(--fl-text-main);\n width: 100%;\n margin: 0 auto;\n background: var(--fl-bg-main);\n position: relative;\n }\n\n /* Header */\n .fl-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n border-bottom: 1px solid var(--fl-border);\n background: rgba(255, 255, 255, 0.8);\n backdrop-filter: blur(8px);\n position: sticky;\n top: 0;\n z-index: 10;\n }\n\n .fl-header-left {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .fl-back-btn {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n border: none;\n background: var(--fl-primary-light);\n color: var(--fl-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n }\n\n .fl-back-btn:hover {\n background: var(--fl-primary);\n color: white;\n transform: translateX(-2px);\n }\n\n .fl-title-group h1 {\n margin: 0;\n font-size: 20px;\n font-weight: 700;\n color: var(--fl-text-main);\n }\n\n .fl-title-group p {\n margin: 4px 0 0 0;\n font-size: 14px;\n color: var(--fl-text-secondary);\n }\n\n .fl-header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n /* Layout Toggle */\n .fl-layout-toggle {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n border: 1px solid var(--fl-border);\n background: white;\n color: var(--fl-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n }\n\n .fl-layout-toggle:hover {\n border-color: var(--fl-primary);\n background: var(--fl-primary-light);\n }\n\n /* Stepper */\n .fl-stepper-container {\n padding: 32px 24px;\n }\n\n .fl-stepper {\n display: flex;\n justify-content: space-between;\n position: relative;\n margin-bottom: 32px;\n }\n\n .fl-step {\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 3;\n flex: 1;\n cursor: pointer;\n position: relative;\n }\n\n .fl-step:not(:last-child)::after {\n content: '';\n position: absolute;\n top: 20px;\n left: calc(50% + 24px);\n right: calc(-50% + 24px);\n height: 3px;\n background: var(--fl-border);\n z-index: -1;\n transition: background 0.3s ease;\n }\n\n .fl-step.completed:not(:last-child)::after {\n background: var(--fl-primary);\n }\n\n\n .fl-step-icon {\n width: 42px;\n height: 42px;\n border-radius: 50%;\n background: white;\n border: 3px solid var(--fl-border);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n font-size: 14px;\n color: var(--fl-text-secondary);\n transition: all 0.3s ease;\n margin-bottom: 8px;\n box-shadow: 0 0 0 4px white;\n }\n\n .fl-step.active .fl-step-icon {\n border-color: var(--fl-primary);\n color: var(--fl-primary);\n transform: scale(1.1);\n box-shadow: 0 0 0 4px white, 0 4px 12px rgba(59, 130, 246, 0.3);\n }\n\n .fl-step.completed .fl-step-icon {\n background: var(--fl-primary);\n border-color: var(--fl-primary);\n color: white;\n }\n\n .fl-step.error .fl-step-icon {\n border-color: var(--fl-error);\n color: var(--fl-error);\n }\n\n .fl-step-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--fl-text-secondary);\n transition: all 0.2s ease;\n }\n\n .fl-step.active .fl-step-label {\n color: var(--fl-primary);\n font-weight: 600;\n }\n\n /* Accordion */\n .fl-accordion-container {\n padding: 24px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .fl-accordion-item {\n border: 1px solid var(--fl-border);\n border-radius: var(--fl-radius);\n overflow: hidden;\n transition: all 0.3s ease;\n }\n\n .fl-accordion-item.active {\n border-color: var(--fl-primary);\n box-shadow: var(--fl-shadow);\n }\n\n .fl-accordion-item.error {\n border-color: var(--fl-error);\n }\n\n .fl-accordion-header {\n padding: 16px 20px;\n background: var(--fl-bg-secondary);\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .fl-accordion-header:hover {\n background: #f1f5f9;\n }\n\n .fl-accordion-title {\n display: flex;\n align-items: center;\n gap: 12px;\n font-weight: 600;\n }\n\n .fl-accordion-icon {\n color: var(--fl-primary);\n font-size: 18px;\n }\n\n .fl-accordion-content {\n padding: 20px;\n background: white;\n border-top: 1px solid var(--fl-border);\n display: none;\n animation: slideDown 0.3s ease-out;\n }\n\n .fl-accordion-item.active .fl-accordion-content {\n display: block;\n }\n\n @keyframes slideDown {\n from { opacity: 0; transform: translateY(-10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n /* Content Area */\n .fl-content {\n flex: 1;\n padding: 0 24px 100px 24px;\n }\n\n /* Footer */\n .fl-footer {\n padding: 20px 24px;\n background: rgba(255, 255, 255, 0.9);\n backdrop-filter: blur(8px);\n border-top: 1px solid var(--fl-border);\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: sticky;\n bottom: 0;\n width: 100%;\n box-sizing: border-box;\n z-index: 10;\n }\n\n .fl-btn-group {\n display: flex;\n gap: 12px;\n }\n\n .fl-btn {\n padding: 10px 20px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n border: 1px solid transparent;\n }\n\n .fl-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .fl-btn-primary {\n background: var(--fl-primary);\n color: white;\n }\n\n .fl-btn-primary:hover:not(:disabled) {\n background: var(--fl-primary-dark);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);\n }\n\n .fl-btn-outlined {\n background: transparent;\n border-color: var(--fl-border);\n color: var(--fl-text-secondary);\n }\n\n .fl-btn-outlined:hover:not(:disabled) {\n background: var(--fl-bg-secondary);\n border-color: var(--fl-text-secondary);\n }\n\n .fl-loader {\n width: 16px;\n height: 16px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top-color: white;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n }\n\n @keyframes spin {\n to { transform: rotate(360deg); }\n }\n\n /* Responsive */\n @media (max-width: 640px) {\n .fl-header { padding: 16px; }\n .fl-title-group h1 { font-size: 18px; }\n .fl-stepper-container { padding: 24px 12px; }\n .fl-step-label { display: none; }\n .fl-footer { padding: 16px; }\n }\n`;\n\nexport const FormLayout = ({\n title,\n mode,\n onCancel,\n onSubmit,\n children,\n steps = [],\n validateStep,\n loading = false,\n layoutType = 'stepper',\n onSaveDraft,\n onApprove,\n hideSubmitButton = false,\n hideCancelButton = false,\n showbutton = true,\n errors,\n extraHeaderActions,\n onBack,\n style,\n sx,\n className = '',\n}: FormLayoutProps) => {\n const [activeStep, setActiveStep] = useState<number>(0);\n const [validating, setValidating] = useState<boolean>(false);\n const [errorStep, setErrorStep] = useState<number | null>(null);\n const [layout, setLayout] = useState(layoutType);\n\n // Inject Tabler Icons CDN\n useEffect(() => {\n const cdnId = 'tabler-icons-cdn';\n if (!document.getElementById(cdnId)) {\n const link = document.createElement('link');\n link.id = cdnId;\n link.rel = 'stylesheet';\n link.href = 'https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css';\n document.head.appendChild(link);\n }\n }, []);\n\n // Update error step based on external errors prop\n useEffect(() => {\n if (errorStep !== null && errors && steps.length > 0) {\n const stepFields = steps[errorStep]?.fields ?? [];\n const hasError = stepFields.some((field: string) => errors[field]);\n if (!hasError) {\n setErrorStep(null);\n }\n }\n }, [errors, errorStep, steps]);\n\n const handleBackNavigation = () => {\n if (onBack) onBack();\n else onCancel();\n };\n\n const isLastStep = steps.length > 0 && activeStep === steps.length - 1;\n\n const handleNext = async () => {\n if (layout === 'accordion' && validateStep) {\n setValidating(true);\n let hasErrors = false;\n for (let i = 0; i < steps.length; i++) {\n const isValid = await validateStep(i);\n if (!isValid) {\n setErrorStep(i);\n setActiveStep(i);\n hasErrors = true;\n break;\n }\n }\n setValidating(false);\n if (hasErrors) return;\n onSubmit();\n setErrorStep(null);\n } else {\n if (validateStep) {\n setValidating(true);\n const isValid = await validateStep(activeStep);\n setValidating(false);\n if (!isValid) {\n setErrorStep(activeStep);\n return;\n }\n }\n setErrorStep(null);\n if (isLastStep || steps.length === 0) {\n onSubmit();\n } else {\n setActiveStep((prev) => prev + 1);\n }\n }\n };\n\n const handleBack = () => setActiveStep((prev) => prev - 1);\n\n const toggleLayout = () => {\n setLayout(layout === 'stepper' ? 'accordion' : 'stepper');\n };\n\n const renderContent = () => {\n if (typeof children === 'function') {\n return children(activeStep);\n }\n return children;\n };\n\n return (\n <div className={`fl-container ${className}`} style={{ ...handleSx(sx), ...style }}>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n \n {/* Header */}\n <header className=\"fl-header\">\n <div className=\"fl-header-left\">\n <button className=\"fl-back-btn\" onClick={handleBackNavigation} title=\"Go Back\">\n <i className=\"ti ti-arrow-left\"></i>\n </button>\n <div className=\"fl-title-group\">\n <h1>{mode === 'add' ? `Add ${title}` : mode === 'view' ? `View ${title}` : `Edit ${title}`}</h1>\n <p>\n {mode === 'add'\n ? `Fill out the details below to add a new ${title.toLowerCase()}.`\n : `Update the details below to edit the existing ${title.toLowerCase()}.`}\n </p>\n </div>\n </div>\n \n <div className=\"fl-header-right\">\n {onSaveDraft && (\n <button className=\"fl-btn fl-btn-primary\" onClick={onSaveDraft} disabled={loading}>\n Draft {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n \n {onApprove && (\n <button className=\"fl-btn fl-btn-primary\" onClick={onApprove} disabled={loading}>\n Approve {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n\n {extraHeaderActions}\n\n {steps.length > 0 && (\n <button className=\"fl-layout-toggle\" onClick={toggleLayout} title={`Switch to ${layout === 'stepper' ? 'Accordion' : 'Stepper'} view`}>\n <i className={layout === 'stepper' ? 'ti ti-list-details' : 'ti ti-list-numbers'}></i>\n </button>\n )}\n </div>\n </header>\n\n {/* Steps Visualization */}\n {steps.length > 0 && (\n <div className=\"fl-stepper-container\">\n {layout === 'stepper' ? (\n <div className=\"fl-stepper\">\n {steps.map((step, index) => {\n const isActive = activeStep === index;\n const isCompleted = activeStep > index;\n const hasError = errorStep === index;\n \n return (\n <div \n key={index} \n className={`fl-step ${isActive ? 'active' : ''} ${isCompleted ? 'completed' : ''} ${hasError ? 'error' : ''}`}\n onClick={() => !validating && setActiveStep(index)}\n >\n <div className=\"fl-step-icon\">\n {isCompleted ? <i className=\"ti ti-check\"></i> : (step.icon ? <i className={`ti ${step.icon}`}></i> : index + 1)}\n </div>\n <span className=\"fl-step-label\">{step.label}</span>\n </div>\n );\n })}\n </div>\n ) : (\n <div className=\"fl-accordion-container\">\n {steps.map((step, index) => {\n const isActive = activeStep === index;\n const hasError = errorStep === index;\n \n return (\n <div key={index} className={`fl-accordion-item ${isActive ? 'active' : ''} ${hasError ? 'error' : ''}`}>\n <div className=\"fl-accordion-header\" onClick={() => setActiveStep(index)}>\n <div className=\"fl-accordion-title\">\n <i className={`ti ${step.icon || 'ti-circle-number-' + (index + 1)} fl-accordion-icon`}></i>\n {step.label}\n </div>\n <i className={`ti ti-chevron-${isActive ? 'up' : 'down'}`}></i>\n </div>\n <div className=\"fl-accordion-content\">\n {typeof children === 'function' ? children(index) : children}\n </div>\n </div>\n );\n })}\n </div>\n )}\n </div>\n )}\n\n {/* Main Content Area (for Stepper or No-steps layout) */}\n {(steps.length === 0 || layout === 'stepper') && (\n <main className=\"fl-content\">\n {renderContent()}\n </main>\n )}\n\n {/* Footer Buttons */}\n <footer className=\"fl-footer\">\n <div>\n {layout === 'stepper' && steps.length > 0 && (\n <button className=\"fl-btn fl-btn-outlined\" onClick={handleBack} disabled={loading || activeStep === 0}>\n Back\n </button>\n )}\n </div>\n \n <div className=\"fl-btn-group\">\n {layout === 'accordion' ? (\n <>\n {!hideCancelButton && (\n <button className=\"fl-btn fl-btn-outlined\" onClick={onCancel} disabled={loading}>\n Cancel\n </button>\n )}\n {mode !== 'view' && !hideSubmitButton && (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={loading || validating}>\n {mode === 'add' ? 'Submit' : 'Update'}\n {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n </>\n ) : steps.length > 0 ? (\n <>\n {isLastStep ? (\n <>\n {mode !== 'view' && !hideSubmitButton && (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={loading || validating}>\n {mode === 'add' ? 'Submit' : 'Update'}\n {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n </>\n ) : (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={validating}>\n {validating ? 'Validating...' : 'Next'}\n </button>\n )}\n </>\n ) : showbutton ? (\n <>\n {!hideCancelButton && (\n <button className=\"fl-btn fl-btn-outlined\" onClick={onCancel} disabled={loading}>\n {mode === 'view' ? 'Back' : 'Cancel'}\n </button>\n )}\n {mode !== 'view' && !hideSubmitButton && (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={loading}>\n {mode === 'add' ? 'Submit' : 'Update'}\n {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n </>\n ) : null}\n </div>\n </footer>\n </div>\n );\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');var
|
|
1
|
+
'use strict';var chunkMLURKSJZ_js=require('./chunk-MLURKSJZ.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var G=`
|
|
2
2
|
:root {
|
|
3
3
|
--fl-primary: #3b82f6;
|
|
4
4
|
--fl-primary-dark: #2563eb;
|
|
@@ -346,6 +346,6 @@
|
|
|
346
346
|
.fl-step-label { display: none; }
|
|
347
347
|
.fl-footer { padding: 16px; }
|
|
348
348
|
}
|
|
349
|
-
`,
|
|
350
|
-
exports.a=
|
|
351
|
-
//# sourceMappingURL=chunk-
|
|
349
|
+
`,O=({title:f,mode:i,onCancel:k,onSubmit:$,children:d,steps:o=[],validateStep:x,loading:l=false,layoutType:V="stepper",onSaveDraft:E,onApprove:z,hideSubmitButton:w=false,hideCancelButton:L=false,showbutton:I=true,errors:N,extraHeaderActions:U,onBack:S,style:Y,sx:R,className:T=""})=>{let[n,p]=react.useState(0),[b,g]=react.useState(false),[m,u]=react.useState(null),[s,B]=react.useState(V);react.useEffect(()=>{let r="tabler-icons-cdn";if(!document.getElementById(r)){let t=document.createElement("link");t.id=r,t.rel="stylesheet",t.href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css",document.head.appendChild(t);}},[]),react.useEffect(()=>{m!==null&&N&&o.length>0&&((o[m]?.fields??[]).some(c=>N[c])||u(null));},[N,m,o]);let D=()=>{S?S():k();},j=o.length>0&&n===o.length-1,v=async()=>{if(s==="accordion"&&x){g(true);let r=false;for(let t=0;t<o.length;t++)if(!await x(t)){u(t),p(t),r=true;break}if(g(false),r)return;$(),u(null);}else {if(x){g(true);let r=await x(n);if(g(false),!r){u(n);return}}u(null),j||o.length===0?$():p(r=>r+1);}},H=()=>p(r=>r-1),P=()=>{B(s==="stepper"?"accordion":"stepper");},_=()=>typeof d=="function"?d(n):d;return jsxRuntime.jsxs("div",{className:`fl-container ${T}`,style:{...chunkMLURKSJZ_js.a(R),...Y},children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:G}}),jsxRuntime.jsxs("header",{className:"fl-header",children:[jsxRuntime.jsxs("div",{className:"fl-header-left",children:[jsxRuntime.jsx("button",{className:"fl-back-btn",onClick:D,title:"Go Back",children:jsxRuntime.jsx("i",{className:"ti ti-arrow-left"})}),jsxRuntime.jsxs("div",{className:"fl-title-group",children:[jsxRuntime.jsx("h1",{children:i==="add"?`Add ${f}`:i==="view"?`View ${f}`:`Edit ${f}`}),jsxRuntime.jsx("p",{children:i==="add"?`Fill out the details below to add a new ${f.toLowerCase()}.`:`Update the details below to edit the existing ${f.toLowerCase()}.`})]})]}),jsxRuntime.jsxs("div",{className:"fl-header-right",children:[E&&jsxRuntime.jsxs("button",{className:"fl-btn fl-btn-primary",onClick:E,disabled:l,children:["Draft ",l&&jsxRuntime.jsx("div",{className:"fl-loader"})]}),z&&jsxRuntime.jsxs("button",{className:"fl-btn fl-btn-primary",onClick:z,disabled:l,children:["Approve ",l&&jsxRuntime.jsx("div",{className:"fl-loader"})]}),U,o.length>0&&jsxRuntime.jsx("button",{className:"fl-layout-toggle",onClick:P,title:`Switch to ${s==="stepper"?"Accordion":"Stepper"} view`,children:jsxRuntime.jsx("i",{className:s==="stepper"?"ti ti-list-details":"ti ti-list-numbers"})})]})]}),o.length>0&&jsxRuntime.jsx("div",{className:"fl-stepper-container",children:s==="stepper"?jsxRuntime.jsx("div",{className:"fl-stepper",children:o.map((r,t)=>{let c=n===t,C=n>t;return jsxRuntime.jsxs("div",{className:`fl-step ${c?"active":""} ${C?"completed":""} ${m===t?"error":""}`,onClick:()=>!b&&p(t),children:[jsxRuntime.jsx("div",{className:"fl-step-icon",children:C?jsxRuntime.jsx("i",{className:"ti ti-check"}):r.icon?jsxRuntime.jsx("i",{className:`ti ${r.icon}`}):t+1}),jsxRuntime.jsx("span",{className:"fl-step-label",children:r.label})]},t)})}):jsxRuntime.jsx("div",{className:"fl-accordion-container",children:o.map((r,t)=>{let c=n===t;return jsxRuntime.jsxs("div",{className:`fl-accordion-item ${c?"active":""} ${m===t?"error":""}`,children:[jsxRuntime.jsxs("div",{className:"fl-accordion-header",onClick:()=>p(t),children:[jsxRuntime.jsxs("div",{className:"fl-accordion-title",children:[jsxRuntime.jsx("i",{className:`ti ${r.icon||"ti-circle-number-"+(t+1)} fl-accordion-icon`}),r.label]}),jsxRuntime.jsx("i",{className:`ti ti-chevron-${c?"up":"down"}`})]}),jsxRuntime.jsx("div",{className:"fl-accordion-content",children:typeof d=="function"?d(t):d})]},t)})})}),(o.length===0||s==="stepper")&&jsxRuntime.jsx("main",{className:"fl-content",children:_()}),jsxRuntime.jsxs("footer",{className:"fl-footer",children:[jsxRuntime.jsx("div",{children:s==="stepper"&&o.length>0&&jsxRuntime.jsx("button",{className:"fl-btn fl-btn-outlined",onClick:H,disabled:l||n===0,children:"Back"})}),jsxRuntime.jsx("div",{className:"fl-btn-group",children:s==="accordion"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!L&&jsxRuntime.jsx("button",{className:"fl-btn fl-btn-outlined",onClick:k,disabled:l,children:"Cancel"}),i!=="view"&&!w&&jsxRuntime.jsxs("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:l||b,children:[i==="add"?"Submit":"Update",l&&jsxRuntime.jsx("div",{className:"fl-loader"})]})]}):o.length>0?jsxRuntime.jsx(jsxRuntime.Fragment,{children:j?jsxRuntime.jsx(jsxRuntime.Fragment,{children:i!=="view"&&!w&&jsxRuntime.jsxs("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:l||b,children:[i==="add"?"Submit":"Update",l&&jsxRuntime.jsx("div",{className:"fl-loader"})]})}):jsxRuntime.jsx("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:b,children:b?"Validating...":"Next"})}):I?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!L&&jsxRuntime.jsx("button",{className:"fl-btn fl-btn-outlined",onClick:k,disabled:l,children:i==="view"?"Back":"Cancel"}),i!=="view"&&!w&&jsxRuntime.jsxs("button",{className:"fl-btn fl-btn-primary",onClick:v,disabled:l,children:[i==="add"?"Submit":"Update",l&&jsxRuntime.jsx("div",{className:"fl-loader"})]})]}):null})]})]})};
|
|
350
|
+
exports.a=O;//# sourceMappingURL=chunk-YPMUFP2I.js.map
|
|
351
|
+
//# sourceMappingURL=chunk-YPMUFP2I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/FormLayout/FormLayout.tsx"],"names":["STYLES","FormLayout","title","mode","onCancel","onSubmit","children","steps","validateStep","loading","layoutType","onSaveDraft","onApprove","hideSubmitButton","hideCancelButton","showbutton","errors","extraHeaderActions","onBack","style","sx","className","activeStep","setActiveStep","useState","validating","setValidating","errorStep","setErrorStep","layout","setLayout","useEffect","cdnId","link","field","handleBackNavigation","isLastStep","handleNext","hasErrors","i","isValid","prev","handleBack","toggleLayout","renderContent","jsxs","handleSx","jsx","step","index","isActive","isCompleted","Fragment"],"mappings":"oIAMMA,CAAAA,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAA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","file":"chunk-YPMUFP2I.js","sourcesContent":["'use client';\n\nimport React, { useState, useEffect, ReactNode } from 'react';\nimport { handleSx } from '../../utils/handleSx';\nimport { FormLayoutProps } from './FormLayout.types';\n\nconst STYLES = `\n :root {\n --fl-primary: #3b82f6;\n --fl-primary-dark: #2563eb;\n --fl-primary-light: #eff6ff;\n --fl-text-main: #1e293b;\n --fl-text-secondary: #64748b;\n --fl-bg-main: #ffffff;\n --fl-bg-secondary: #f8fafc;\n --fl-border: #e2e8f0;\n --fl-error: #ef4444;\n --fl-success: #10b981;\n --fl-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --fl-radius: 12px;\n }\n\n .fl-container {\n display: flex;\n flex-direction: column;\n min-height: 80vh;\n font-family: 'Inter', system-ui, -apple-system, sans-serif;\n color: var(--fl-text-main);\n width: 100%;\n margin: 0 auto;\n background: var(--fl-bg-main);\n position: relative;\n }\n\n /* Header */\n .fl-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n border-bottom: 1px solid var(--fl-border);\n background: rgba(255, 255, 255, 0.8);\n backdrop-filter: blur(8px);\n position: sticky;\n top: 0;\n z-index: 10;\n }\n\n .fl-header-left {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .fl-back-btn {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n border: none;\n background: var(--fl-primary-light);\n color: var(--fl-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n }\n\n .fl-back-btn:hover {\n background: var(--fl-primary);\n color: white;\n transform: translateX(-2px);\n }\n\n .fl-title-group h1 {\n margin: 0;\n font-size: 20px;\n font-weight: 700;\n color: var(--fl-text-main);\n }\n\n .fl-title-group p {\n margin: 4px 0 0 0;\n font-size: 14px;\n color: var(--fl-text-secondary);\n }\n\n .fl-header-right {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n /* Layout Toggle */\n .fl-layout-toggle {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n border: 1px solid var(--fl-border);\n background: white;\n color: var(--fl-primary);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n }\n\n .fl-layout-toggle:hover {\n border-color: var(--fl-primary);\n background: var(--fl-primary-light);\n }\n\n /* Stepper */\n .fl-stepper-container {\n padding: 32px 24px;\n }\n\n .fl-stepper {\n display: flex;\n justify-content: space-between;\n position: relative;\n margin-bottom: 32px;\n }\n\n .fl-step {\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 3;\n flex: 1;\n cursor: pointer;\n position: relative;\n }\n\n .fl-step:not(:last-child)::after {\n content: '';\n position: absolute;\n top: 20px;\n left: calc(50% + 24px);\n right: calc(-50% + 24px);\n height: 3px;\n background: var(--fl-border);\n z-index: -1;\n transition: background 0.3s ease;\n }\n\n .fl-step.completed:not(:last-child)::after {\n background: var(--fl-primary);\n }\n\n\n .fl-step-icon {\n width: 42px;\n height: 42px;\n border-radius: 50%;\n background: white;\n border: 3px solid var(--fl-border);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n font-size: 14px;\n color: var(--fl-text-secondary);\n transition: all 0.3s ease;\n margin-bottom: 8px;\n box-shadow: 0 0 0 4px white;\n }\n\n .fl-step.active .fl-step-icon {\n border-color: var(--fl-primary);\n color: var(--fl-primary);\n transform: scale(1.1);\n box-shadow: 0 0 0 4px white, 0 4px 12px rgba(59, 130, 246, 0.3);\n }\n\n .fl-step.completed .fl-step-icon {\n background: var(--fl-primary);\n border-color: var(--fl-primary);\n color: white;\n }\n\n .fl-step.error .fl-step-icon {\n border-color: var(--fl-error);\n color: var(--fl-error);\n }\n\n .fl-step-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--fl-text-secondary);\n transition: all 0.2s ease;\n }\n\n .fl-step.active .fl-step-label {\n color: var(--fl-primary);\n font-weight: 600;\n }\n\n /* Accordion */\n .fl-accordion-container {\n padding: 24px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .fl-accordion-item {\n border: 1px solid var(--fl-border);\n border-radius: var(--fl-radius);\n overflow: hidden;\n transition: all 0.3s ease;\n }\n\n .fl-accordion-item.active {\n border-color: var(--fl-primary);\n box-shadow: var(--fl-shadow);\n }\n\n .fl-accordion-item.error {\n border-color: var(--fl-error);\n }\n\n .fl-accordion-header {\n padding: 16px 20px;\n background: var(--fl-bg-secondary);\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n transition: background 0.2s ease;\n }\n\n .fl-accordion-header:hover {\n background: #f1f5f9;\n }\n\n .fl-accordion-title {\n display: flex;\n align-items: center;\n gap: 12px;\n font-weight: 600;\n }\n\n .fl-accordion-icon {\n color: var(--fl-primary);\n font-size: 18px;\n }\n\n .fl-accordion-content {\n padding: 20px;\n background: white;\n border-top: 1px solid var(--fl-border);\n display: none;\n animation: slideDown 0.3s ease-out;\n }\n\n .fl-accordion-item.active .fl-accordion-content {\n display: block;\n }\n\n @keyframes slideDown {\n from { opacity: 0; transform: translateY(-10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n /* Content Area */\n .fl-content {\n flex: 1;\n padding: 0 24px 100px 24px;\n }\n\n /* Footer */\n .fl-footer {\n padding: 20px 24px;\n background: rgba(255, 255, 255, 0.9);\n backdrop-filter: blur(8px);\n border-top: 1px solid var(--fl-border);\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: sticky;\n bottom: 0;\n width: 100%;\n box-sizing: border-box;\n z-index: 10;\n }\n\n .fl-btn-group {\n display: flex;\n gap: 12px;\n }\n\n .fl-btn {\n padding: 10px 20px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n border: 1px solid transparent;\n }\n\n .fl-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .fl-btn-primary {\n background: var(--fl-primary);\n color: white;\n }\n\n .fl-btn-primary:hover:not(:disabled) {\n background: var(--fl-primary-dark);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);\n }\n\n .fl-btn-outlined {\n background: transparent;\n border-color: var(--fl-border);\n color: var(--fl-text-secondary);\n }\n\n .fl-btn-outlined:hover:not(:disabled) {\n background: var(--fl-bg-secondary);\n border-color: var(--fl-text-secondary);\n }\n\n .fl-loader {\n width: 16px;\n height: 16px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top-color: white;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n }\n\n @keyframes spin {\n to { transform: rotate(360deg); }\n }\n\n /* Responsive */\n @media (max-width: 640px) {\n .fl-header { padding: 16px; }\n .fl-title-group h1 { font-size: 18px; }\n .fl-stepper-container { padding: 24px 12px; }\n .fl-step-label { display: none; }\n .fl-footer { padding: 16px; }\n }\n`;\n\nexport const FormLayout = ({\n title,\n mode,\n onCancel,\n onSubmit,\n children,\n steps = [],\n validateStep,\n loading = false,\n layoutType = 'stepper',\n onSaveDraft,\n onApprove,\n hideSubmitButton = false,\n hideCancelButton = false,\n showbutton = true,\n errors,\n extraHeaderActions,\n onBack,\n style,\n sx,\n className = '',\n}: FormLayoutProps) => {\n const [activeStep, setActiveStep] = useState<number>(0);\n const [validating, setValidating] = useState<boolean>(false);\n const [errorStep, setErrorStep] = useState<number | null>(null);\n const [layout, setLayout] = useState(layoutType);\n\n // Inject Tabler Icons CDN\n useEffect(() => {\n const cdnId = 'tabler-icons-cdn';\n if (!document.getElementById(cdnId)) {\n const link = document.createElement('link');\n link.id = cdnId;\n link.rel = 'stylesheet';\n link.href = 'https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/dist/tabler-icons.min.css';\n document.head.appendChild(link);\n }\n }, []);\n\n // Update error step based on external errors prop\n useEffect(() => {\n if (errorStep !== null && errors && steps.length > 0) {\n const stepFields = steps[errorStep]?.fields ?? [];\n const hasError = stepFields.some((field: string) => errors[field]);\n if (!hasError) {\n setErrorStep(null);\n }\n }\n }, [errors, errorStep, steps]);\n\n const handleBackNavigation = () => {\n if (onBack) onBack();\n else onCancel();\n };\n\n const isLastStep = steps.length > 0 && activeStep === steps.length - 1;\n\n const handleNext = async () => {\n if (layout === 'accordion' && validateStep) {\n setValidating(true);\n let hasErrors = false;\n for (let i = 0; i < steps.length; i++) {\n const isValid = await validateStep(i);\n if (!isValid) {\n setErrorStep(i);\n setActiveStep(i);\n hasErrors = true;\n break;\n }\n }\n setValidating(false);\n if (hasErrors) return;\n onSubmit();\n setErrorStep(null);\n } else {\n if (validateStep) {\n setValidating(true);\n const isValid = await validateStep(activeStep);\n setValidating(false);\n if (!isValid) {\n setErrorStep(activeStep);\n return;\n }\n }\n setErrorStep(null);\n if (isLastStep || steps.length === 0) {\n onSubmit();\n } else {\n setActiveStep((prev) => prev + 1);\n }\n }\n };\n\n const handleBack = () => setActiveStep((prev) => prev - 1);\n\n const toggleLayout = () => {\n setLayout(layout === 'stepper' ? 'accordion' : 'stepper');\n };\n\n const renderContent = () => {\n if (typeof children === 'function') {\n return children(activeStep);\n }\n return children;\n };\n\n return (\n <div className={`fl-container ${className}`} style={{ ...handleSx(sx), ...style }}>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n \n {/* Header */}\n <header className=\"fl-header\">\n <div className=\"fl-header-left\">\n <button className=\"fl-back-btn\" onClick={handleBackNavigation} title=\"Go Back\">\n <i className=\"ti ti-arrow-left\"></i>\n </button>\n <div className=\"fl-title-group\">\n <h1>{mode === 'add' ? `Add ${title}` : mode === 'view' ? `View ${title}` : `Edit ${title}`}</h1>\n <p>\n {mode === 'add'\n ? `Fill out the details below to add a new ${title.toLowerCase()}.`\n : `Update the details below to edit the existing ${title.toLowerCase()}.`}\n </p>\n </div>\n </div>\n \n <div className=\"fl-header-right\">\n {onSaveDraft && (\n <button className=\"fl-btn fl-btn-primary\" onClick={onSaveDraft} disabled={loading}>\n Draft {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n \n {onApprove && (\n <button className=\"fl-btn fl-btn-primary\" onClick={onApprove} disabled={loading}>\n Approve {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n\n {extraHeaderActions}\n\n {steps.length > 0 && (\n <button className=\"fl-layout-toggle\" onClick={toggleLayout} title={`Switch to ${layout === 'stepper' ? 'Accordion' : 'Stepper'} view`}>\n <i className={layout === 'stepper' ? 'ti ti-list-details' : 'ti ti-list-numbers'}></i>\n </button>\n )}\n </div>\n </header>\n\n {/* Steps Visualization */}\n {steps.length > 0 && (\n <div className=\"fl-stepper-container\">\n {layout === 'stepper' ? (\n <div className=\"fl-stepper\">\n {steps.map((step, index) => {\n const isActive = activeStep === index;\n const isCompleted = activeStep > index;\n const hasError = errorStep === index;\n \n return (\n <div \n key={index} \n className={`fl-step ${isActive ? 'active' : ''} ${isCompleted ? 'completed' : ''} ${hasError ? 'error' : ''}`}\n onClick={() => !validating && setActiveStep(index)}\n >\n <div className=\"fl-step-icon\">\n {isCompleted ? <i className=\"ti ti-check\"></i> : (step.icon ? <i className={`ti ${step.icon}`}></i> : index + 1)}\n </div>\n <span className=\"fl-step-label\">{step.label}</span>\n </div>\n );\n })}\n </div>\n ) : (\n <div className=\"fl-accordion-container\">\n {steps.map((step, index) => {\n const isActive = activeStep === index;\n const hasError = errorStep === index;\n \n return (\n <div key={index} className={`fl-accordion-item ${isActive ? 'active' : ''} ${hasError ? 'error' : ''}`}>\n <div className=\"fl-accordion-header\" onClick={() => setActiveStep(index)}>\n <div className=\"fl-accordion-title\">\n <i className={`ti ${step.icon || 'ti-circle-number-' + (index + 1)} fl-accordion-icon`}></i>\n {step.label}\n </div>\n <i className={`ti ti-chevron-${isActive ? 'up' : 'down'}`}></i>\n </div>\n <div className=\"fl-accordion-content\">\n {typeof children === 'function' ? children(index) : children}\n </div>\n </div>\n );\n })}\n </div>\n )}\n </div>\n )}\n\n {/* Main Content Area (for Stepper or No-steps layout) */}\n {(steps.length === 0 || layout === 'stepper') && (\n <main className=\"fl-content\">\n {renderContent()}\n </main>\n )}\n\n {/* Footer Buttons */}\n <footer className=\"fl-footer\">\n <div>\n {layout === 'stepper' && steps.length > 0 && (\n <button className=\"fl-btn fl-btn-outlined\" onClick={handleBack} disabled={loading || activeStep === 0}>\n Back\n </button>\n )}\n </div>\n \n <div className=\"fl-btn-group\">\n {layout === 'accordion' ? (\n <>\n {!hideCancelButton && (\n <button className=\"fl-btn fl-btn-outlined\" onClick={onCancel} disabled={loading}>\n Cancel\n </button>\n )}\n {mode !== 'view' && !hideSubmitButton && (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={loading || validating}>\n {mode === 'add' ? 'Submit' : 'Update'}\n {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n </>\n ) : steps.length > 0 ? (\n <>\n {isLastStep ? (\n <>\n {mode !== 'view' && !hideSubmitButton && (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={loading || validating}>\n {mode === 'add' ? 'Submit' : 'Update'}\n {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n </>\n ) : (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={validating}>\n {validating ? 'Validating...' : 'Next'}\n </button>\n )}\n </>\n ) : showbutton ? (\n <>\n {!hideCancelButton && (\n <button className=\"fl-btn fl-btn-outlined\" onClick={onCancel} disabled={loading}>\n {mode === 'view' ? 'Back' : 'Cancel'}\n </button>\n )}\n {mode !== 'view' && !hideSubmitButton && (\n <button className=\"fl-btn fl-btn-primary\" onClick={handleNext} disabled={loading}>\n {mode === 'add' ? 'Submit' : 'Update'}\n {loading && <div className=\"fl-loader\" />}\n </button>\n )}\n </>\n ) : null}\n </div>\n </footer>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use strict';var chunkMLURKSJZ_js=require('./chunk-MLURKSJZ.js'),chunkDDGBDWFC_js=require('./chunk-DDGBDWFC.js'),react=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');var L=`
|
|
2
|
+
.ui-snackbar {
|
|
3
|
+
position: fixed;
|
|
4
|
+
z-index: 1400;
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
pointer-events: none;
|
|
9
|
+
transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Position: Vertical */
|
|
13
|
+
.ui-snackbar--top {
|
|
14
|
+
top: 24px;
|
|
15
|
+
}
|
|
16
|
+
.ui-snackbar--bottom {
|
|
17
|
+
bottom: 24px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Position: Horizontal */
|
|
21
|
+
.ui-snackbar--left {
|
|
22
|
+
left: 24px;
|
|
23
|
+
justify-content: flex-start;
|
|
24
|
+
}
|
|
25
|
+
.ui-snackbar--right {
|
|
26
|
+
right: 24px;
|
|
27
|
+
justify-content: flex-end;
|
|
28
|
+
}
|
|
29
|
+
.ui-snackbar--center {
|
|
30
|
+
left: 50%;
|
|
31
|
+
transform: translateX(-50%);
|
|
32
|
+
}
|
|
33
|
+
.ui-snackbar--top.ui-snackbar--center {
|
|
34
|
+
transform: translateX(-50%);
|
|
35
|
+
}
|
|
36
|
+
.ui-snackbar--bottom.ui-snackbar--center {
|
|
37
|
+
transform: translateX(-50%);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.ui-snackbar-content {
|
|
41
|
+
pointer-events: auto;
|
|
42
|
+
background: rgba(30, 41, 59, 0.85);
|
|
43
|
+
backdrop-filter: blur(12px);
|
|
44
|
+
-webkit-backdrop-filter: blur(12px);
|
|
45
|
+
color: #f8fafc;
|
|
46
|
+
padding: 14px 24px;
|
|
47
|
+
border-radius: 16px;
|
|
48
|
+
box-shadow:
|
|
49
|
+
0 20px 25px -5px rgba(0, 0, 0, 0.1),
|
|
50
|
+
0 10px 10px -5px rgba(0, 0, 0, 0.04),
|
|
51
|
+
inset 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
52
|
+
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
|
53
|
+
font-size: 14px;
|
|
54
|
+
font-weight: 500;
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
gap: 16px;
|
|
58
|
+
min-width: 320px;
|
|
59
|
+
max-width: 600px;
|
|
60
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
61
|
+
animation: ui-snackbar-in 400ms cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
62
|
+
position: relative;
|
|
63
|
+
overflow: hidden;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* Variants */
|
|
67
|
+
.ui-snackbar-content--success {
|
|
68
|
+
background: rgba(16, 185, 129, 0.9);
|
|
69
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
70
|
+
}
|
|
71
|
+
.ui-snackbar-content--error {
|
|
72
|
+
background: rgba(239, 68, 68, 0.9);
|
|
73
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
74
|
+
}
|
|
75
|
+
.ui-snackbar-content--warning {
|
|
76
|
+
background: rgba(245, 158, 11, 0.9);
|
|
77
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
78
|
+
}
|
|
79
|
+
.ui-snackbar-content--info {
|
|
80
|
+
background: rgba(59, 130, 246, 0.9);
|
|
81
|
+
border-color: rgba(255, 255, 255, 0.2);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.ui-snackbar-progress {
|
|
85
|
+
position: absolute;
|
|
86
|
+
bottom: 0;
|
|
87
|
+
left: 0;
|
|
88
|
+
height: 3px;
|
|
89
|
+
background: rgba(255, 255, 255, 0.3);
|
|
90
|
+
width: 100%;
|
|
91
|
+
transform-origin: left;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ui-snackbar--closed .ui-snackbar-content {
|
|
95
|
+
animation: ui-snackbar-out 300ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.ui-snackbar-message {
|
|
99
|
+
flex-grow: 1;
|
|
100
|
+
padding: 2px 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.ui-snackbar-action {
|
|
104
|
+
display: flex;
|
|
105
|
+
align-items: center;
|
|
106
|
+
margin-right: -8px;
|
|
107
|
+
padding-left: 16px;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@keyframes ui-snackbar-in {
|
|
111
|
+
from {
|
|
112
|
+
opacity: 0;
|
|
113
|
+
transform: translateY(20px) scale(0.9);
|
|
114
|
+
}
|
|
115
|
+
to {
|
|
116
|
+
opacity: 1;
|
|
117
|
+
transform: translateY(0) scale(1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@keyframes ui-snackbar-out {
|
|
122
|
+
from {
|
|
123
|
+
opacity: 1;
|
|
124
|
+
transform: translateY(0) scale(1);
|
|
125
|
+
}
|
|
126
|
+
to {
|
|
127
|
+
opacity: 0;
|
|
128
|
+
transform: translateY(20px) scale(0.9);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
@keyframes ui-snackbar-progress-bar {
|
|
133
|
+
from { transform: scaleX(1); }
|
|
134
|
+
to { transform: scaleX(0); }
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Responsive Positioning */
|
|
138
|
+
@media (max-width: 600px) {
|
|
139
|
+
.ui-snackbar {
|
|
140
|
+
left: 16px;
|
|
141
|
+
right: 16px;
|
|
142
|
+
width: auto;
|
|
143
|
+
transform: none !important;
|
|
144
|
+
}
|
|
145
|
+
.ui-snackbar-content {
|
|
146
|
+
width: 100%;
|
|
147
|
+
min-width: 0;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
`,k=react.forwardRef(({open:n,onClose:c,autoHideDuration:t=null,message:g,action:l,anchorOrigin:u={vertical:"bottom",horizontal:"left"},children:b,className:x,style:y,sx:h,component:v,as:w,ContentProps:f={},...s},z)=>{let o=react.useRef(),T=w||v||"div",m=(a,I)=>{c&&c(a,I);},N=()=>{t!==null&&(clearTimeout(o.current),o.current=setTimeout(()=>{m(null,"timeout");},t));};if(react.useEffect(()=>(n&&N(),()=>clearTimeout(o.current)),[n,t]),!n)return null;let e=s.variant||"default",S=s.showIcon!==false,C=()=>{switch(e){case "success":return jsxRuntime.jsx(lucideReact.CheckCircle2,{size:20});case "error":return jsxRuntime.jsx(lucideReact.AlertCircle,{size:20});case "warning":return jsxRuntime.jsx(lucideReact.AlertTriangle,{size:20});case "info":return jsxRuntime.jsx(lucideReact.Info,{size:20});default:return null}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:L}}),jsxRuntime.jsx(T,{ref:z,className:chunkDDGBDWFC_js.a("ui-snackbar",`ui-snackbar--${u.vertical}`,`ui-snackbar--${u.horizontal}`,x),style:{...chunkMLURKSJZ_js.a(h),...y},...s,children:b||jsxRuntime.jsxs("div",{...f,className:chunkDDGBDWFC_js.a("ui-snackbar-content",e!=="default"&&`ui-snackbar-content--${e}`,f.className),children:[S&&e!=="default"&&jsxRuntime.jsx("div",{className:"ui-snackbar-icon",children:C()}),jsxRuntime.jsx("div",{className:"ui-snackbar-message",children:g}),l?jsxRuntime.jsx("div",{className:"ui-snackbar-action",children:l}):jsxRuntime.jsx("div",{className:"ui-snackbar-action",children:jsxRuntime.jsx("button",{onClick:a=>m(a,"click"),style:{background:"none",border:"none",color:"rgba(255, 255, 255, 0.7)",cursor:"pointer",display:"flex",alignItems:"center",padding:"4px",borderRadius:"50%",transition:"background 0.2s"},onMouseOver:a=>a.currentTarget.style.backgroundColor="rgba(255, 255, 255, 0.1)",onMouseOut:a=>a.currentTarget.style.backgroundColor="transparent",children:jsxRuntime.jsx(lucideReact.X,{size:18})})}),t&&jsxRuntime.jsx("div",{className:"ui-snackbar-progress",style:{animation:`ui-snackbar-progress-bar ${t}ms linear forwards`}})]})})]})});k.displayName="Snackbar";var j=k;exports.a=k;exports.b=j;//# sourceMappingURL=chunk-ZMB4U5RP.js.map
|
|
151
|
+
//# sourceMappingURL=chunk-ZMB4U5RP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Snackbar/Snackbar.tsx"],"names":["STYLES","Snackbar","forwardRef","open","onClose","autoHideDuration","message","action","anchorOrigin","children","className","style","sx","component","as","ContentProps","props","ref","timer","useRef","Component","handleClose","event","reason","setAutoHideTimer","useEffect","variant","showIcon","getIcon","jsx","CheckCircle2","AlertCircle","AlertTriangle","Info","jsxs","Fragment","cn","handleSx","e","X","Snackbar_default"],"mappings":"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","file":"chunk-ZMB4U5RP.js","sourcesContent":["'use client';\n\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport { SnackbarProps } from './Snackbar.types';\nimport { CheckCircle2, AlertCircle, AlertTriangle, Info, X } from 'lucide-react';\n\nconst STYLES = `\n .ui-snackbar {\n position: fixed;\n z-index: 1400;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n /* Position: Vertical */\n .ui-snackbar--top {\n top: 24px;\n }\n .ui-snackbar--bottom {\n bottom: 24px;\n }\n\n /* Position: Horizontal */\n .ui-snackbar--left {\n left: 24px;\n justify-content: flex-start;\n }\n .ui-snackbar--right {\n right: 24px;\n justify-content: flex-end;\n }\n .ui-snackbar--center {\n left: 50%;\n transform: translateX(-50%);\n }\n .ui-snackbar--top.ui-snackbar--center {\n transform: translateX(-50%);\n }\n .ui-snackbar--bottom.ui-snackbar--center {\n transform: translateX(-50%);\n }\n\n .ui-snackbar-content {\n pointer-events: auto;\n background: rgba(30, 41, 59, 0.85);\n backdrop-filter: blur(12px);\n -webkit-backdrop-filter: blur(12px);\n color: #f8fafc;\n padding: 14px 24px;\n border-radius: 16px;\n box-shadow: \n 0 20px 25px -5px rgba(0, 0, 0, 0.1),\n 0 10px 10px -5px rgba(0, 0, 0, 0.04),\n inset 0 0 0 1px rgba(255, 255, 255, 0.1);\n font-family: 'Inter', system-ui, -apple-system, sans-serif;\n font-size: 14px;\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 16px;\n min-width: 320px;\n max-width: 600px;\n border: 1px solid rgba(255, 255, 255, 0.1);\n animation: ui-snackbar-in 400ms cubic-bezier(0.2, 0.8, 0.2, 1);\n position: relative;\n overflow: hidden;\n }\n\n /* Variants */\n .ui-snackbar-content--success {\n background: rgba(16, 185, 129, 0.9);\n border-color: rgba(255, 255, 255, 0.2);\n }\n .ui-snackbar-content--error {\n background: rgba(239, 68, 68, 0.9);\n border-color: rgba(255, 255, 255, 0.2);\n }\n .ui-snackbar-content--warning {\n background: rgba(245, 158, 11, 0.9);\n border-color: rgba(255, 255, 255, 0.2);\n }\n .ui-snackbar-content--info {\n background: rgba(59, 130, 246, 0.9);\n border-color: rgba(255, 255, 255, 0.2);\n }\n\n .ui-snackbar-progress {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 3px;\n background: rgba(255, 255, 255, 0.3);\n width: 100%;\n transform-origin: left;\n }\n\n .ui-snackbar--closed .ui-snackbar-content {\n animation: ui-snackbar-out 300ms cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n .ui-snackbar-message {\n flex-grow: 1;\n padding: 2px 0;\n }\n\n .ui-snackbar-action {\n display: flex;\n align-items: center;\n margin-right: -8px;\n padding-left: 16px;\n }\n\n @keyframes ui-snackbar-in {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.9);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes ui-snackbar-out {\n from {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n to {\n opacity: 0;\n transform: translateY(20px) scale(0.9);\n }\n }\n\n @keyframes ui-snackbar-progress-bar {\n from { transform: scaleX(1); }\n to { transform: scaleX(0); }\n }\n\n /* Responsive Positioning */\n @media (max-width: 600px) {\n .ui-snackbar {\n left: 16px;\n right: 16px;\n width: auto;\n transform: none !important;\n }\n .ui-snackbar-content {\n width: 100%;\n min-width: 0;\n }\n }\n`;\n\nexport const Snackbar = forwardRef<HTMLDivElement, SnackbarProps>(\n (\n {\n open,\n onClose,\n autoHideDuration = null,\n message,\n action,\n anchorOrigin = { vertical: 'bottom', horizontal: 'left' },\n children,\n className,\n style,\n sx,\n component,\n as,\n ContentProps = {},\n ...props\n },\n ref\n ) => {\n const timer = useRef<ReturnType<typeof setTimeout>>();\n const Component = as || component || 'div';\n\n const handleClose = (event: any, reason: string) => {\n if (onClose) {\n onClose(event, reason);\n }\n };\n\n const setAutoHideTimer = () => {\n if (autoHideDuration === null) return;\n \n clearTimeout(timer.current);\n timer.current = setTimeout(() => {\n handleClose(null, 'timeout');\n }, autoHideDuration);\n };\n\n useEffect(() => {\n if (open) {\n setAutoHideTimer();\n }\n return () => clearTimeout(timer.current);\n }, [open, autoHideDuration]);\n\n if (!open) return null;\n\n const variant = (props as any).variant || 'default';\n const showIcon = (props as any).showIcon !== false;\n\n const getIcon = () => {\n switch (variant) {\n case 'success': return <CheckCircle2 size={20} />;\n case 'error': return <AlertCircle size={20} />;\n case 'warning': return <AlertTriangle size={20} />;\n case 'info': return <Info size={20} />;\n default: return null;\n }\n };\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <Component\n ref={ref}\n className={cn(\n 'ui-snackbar',\n `ui-snackbar--${anchorOrigin.vertical}`,\n `ui-snackbar--${anchorOrigin.horizontal}`,\n className\n )}\n style={{ ...handleSx(sx), ...style }}\n {...props}\n >\n {children ? (\n children\n ) : (\n <div\n {...ContentProps}\n className={cn(\n 'ui-snackbar-content',\n variant !== 'default' && `ui-snackbar-content--${variant}`,\n ContentProps.className\n )}\n >\n {showIcon && variant !== 'default' && (\n <div className=\"ui-snackbar-icon\">{getIcon()}</div>\n )}\n <div className=\"ui-snackbar-message\">{message}</div>\n {action ? (\n <div className=\"ui-snackbar-action\">{action}</div>\n ) : (\n <div className=\"ui-snackbar-action\">\n <button \n onClick={(e) => handleClose(e, 'click')}\n style={{\n background: 'none',\n border: 'none',\n color: 'rgba(255, 255, 255, 0.7)',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n padding: '4px',\n borderRadius: '50%',\n transition: 'background 0.2s'\n }}\n onMouseOver={(e) => e.currentTarget.style.backgroundColor = 'rgba(255, 255, 255, 0.1)'}\n onMouseOut={(e) => e.currentTarget.style.backgroundColor = 'transparent'}\n >\n <X size={18} />\n </button>\n </div>\n )}\n {autoHideDuration && (\n <div \n className=\"ui-snackbar-progress\" \n style={{ \n animation: `ui-snackbar-progress-bar ${autoHideDuration}ms linear forwards` \n }} \n />\n )}\n </div>\n )}\n </Component>\n </>\n );\n }\n);\n\nSnackbar.displayName = 'Snackbar';\n\nexport default Snackbar;\n"]}
|