funuicss 2.7.16 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/css/fun.css +6663 -6653
  2. package/index.d.ts +2 -0
  3. package/index.js +5 -1
  4. package/js/google/AnalyticsHandler.d.ts +10 -0
  5. package/js/google/AnalyticsHandler.js +20 -0
  6. package/js/google/analytics.d.ts +6 -0
  7. package/js/google/analytics.js +53 -0
  8. package/package.json +1 -1
  9. package/tsconfig.tsbuildinfo +1 -1
  10. package/ui/button/Button.js +1 -1
  11. package/ui/flex/Flex.d.ts +3 -3
  12. package/ui/flex/Flex.js +2 -2
  13. package/ui/notification/Notification.d.ts +7 -3
  14. package/ui/notification/Notification.js +18 -14
  15. package/ui/scrolltotop/ScrollToTop.d.ts +3 -0
  16. package/ui/scrolltotop/ScrollToTop.js +61 -0
  17. package/ui/view/View.d.ts +27 -38
  18. package/ui/view/View.js +10 -38
  19. package/ui/vista/Vista.d.ts +6 -1
  20. package/ui/vista/Vista.js +33 -4
  21. package/assets/colors/colors.d.ts +0 -347
  22. package/assets/colors/colors.js +0 -348
  23. package/assets/colors/colors.tsx +0 -697
  24. package/hooks/useHls.tsx +0 -69
  25. package/index.tsx +0 -58
  26. package/js/Cookie.tsx +0 -91
  27. package/js/Fun.jsx +0 -225
  28. package/js/Fun.tsx +0 -239
  29. package/tsconfig.json +0 -20
  30. package/types/react-easy-export.d.ts +0 -4
  31. package/ui/ScrollInView/ScrollInView.tsx +0 -69
  32. package/ui/accordion/Accordion.tsx +0 -125
  33. package/ui/alert/Alert.tsx +0 -106
  34. package/ui/aos/AOS.tsx +0 -24
  35. package/ui/appbar/AppBar.tsx +0 -115
  36. package/ui/appbar/Hamburger.tsx +0 -30
  37. package/ui/avatar/Avatar.tsx +0 -52
  38. package/ui/blob/Blob.tsx +0 -34
  39. package/ui/breadcrumb/BreadCrumb.tsx +0 -48
  40. package/ui/button/Button.tsx +0 -153
  41. package/ui/calendar/ActivityCard.tsx +0 -27
  42. package/ui/calendar/Calendar.tsx +0 -343
  43. package/ui/card/Card.tsx +0 -117
  44. package/ui/card/CardBody.tsx +0 -14
  45. package/ui/card/CardFab.tsx +0 -16
  46. package/ui/card/CardFooter.tsx +0 -14
  47. package/ui/card/CardHeader.tsx +0 -14
  48. package/ui/carousel/Carousel.tsx +0 -148
  49. package/ui/chart/Bar.tsx +0 -121
  50. package/ui/chart/Line.tsx +0 -186
  51. package/ui/chart/Pie.tsx +0 -127
  52. package/ui/container/Container.tsx +0 -38
  53. package/ui/datepicker/DatePicker.tsx +0 -148
  54. package/ui/div/Div.tsx +0 -61
  55. package/ui/drop/Action.tsx +0 -16
  56. package/ui/drop/Down.tsx +0 -18
  57. package/ui/drop/Dropdown.tsx +0 -117
  58. package/ui/drop/Item.tsx +0 -15
  59. package/ui/drop/Menu.tsx +0 -40
  60. package/ui/drop/Up.tsx +0 -18
  61. package/ui/flex/Flex.tsx +0 -97
  62. package/ui/flex/FlexItem.tsx +0 -64
  63. package/ui/grid/Col.tsx +0 -43
  64. package/ui/grid/Grid.tsx +0 -37
  65. package/ui/input/Iconic.tsx +0 -43
  66. package/ui/input/Input.tsx +0 -409
  67. package/ui/list/Item.tsx +0 -18
  68. package/ui/list/List.tsx +0 -45
  69. package/ui/loader/Loader.tsx +0 -47
  70. package/ui/modal/Action.tsx +0 -14
  71. package/ui/modal/Close.tsx +0 -14
  72. package/ui/modal/Content.tsx +0 -15
  73. package/ui/modal/Header.tsx +0 -19
  74. package/ui/modal/Modal.tsx +0 -140
  75. package/ui/notification/Content.tsx +0 -14
  76. package/ui/notification/Footer.tsx +0 -14
  77. package/ui/notification/Header.tsx +0 -14
  78. package/ui/notification/Notification.tsx +0 -62
  79. package/ui/page/NotFound.tsx +0 -67
  80. package/ui/page/UnAuthorized.tsx +0 -64
  81. package/ui/progress/Bar.tsx +0 -114
  82. package/ui/richtext/RichText.tsx +0 -156
  83. package/ui/sidebar/SideBar.tsx +0 -202
  84. package/ui/sidebar/SideContent.tsx +0 -16
  85. package/ui/slider/Slider.tsx +0 -75
  86. package/ui/snackbar/SnackBar.tsx +0 -56
  87. package/ui/specials/Circle.tsx +0 -49
  88. package/ui/specials/CircleGroup.tsx +0 -49
  89. package/ui/specials/FullCenteredPage.tsx +0 -25
  90. package/ui/specials/Hr.tsx +0 -16
  91. package/ui/specials/RowFlex.tsx +0 -56
  92. package/ui/specials/Section.tsx +0 -18
  93. package/ui/step/Container.tsx +0 -27
  94. package/ui/step/Header.tsx +0 -16
  95. package/ui/step/Line.tsx +0 -17
  96. package/ui/step/Step.tsx +0 -17
  97. package/ui/table/Body.tsx +0 -10
  98. package/ui/table/Data.tsx +0 -15
  99. package/ui/table/Head.tsx +0 -10
  100. package/ui/table/Row.tsx +0 -16
  101. package/ui/table/Table.tsx +0 -372
  102. package/ui/text/Text.tsx +0 -179
  103. package/ui/theme/dark.tsx +0 -45
  104. package/ui/theme/darkenUtils.ts +0 -15
  105. package/ui/theme/theme.tsx +0 -48
  106. package/ui/theme/themes.ts +0 -154
  107. package/ui/tooltip/Tip.tsx +0 -34
  108. package/ui/tooltip/ToolTip.tsx +0 -20
  109. package/ui/video/Video.tsx +0 -348
  110. package/ui/video/videoFunctions.tsx +0 -19
  111. package/ui/video/videoShortcuts.ts +0 -13
  112. package/ui/view/View.tsx +0 -157
  113. package/ui/vista/Vista.tsx +0 -165
  114. package/utils/Emojis.tsx +0 -59
  115. package/utils/Functions.tsx +0 -9
  116. package/utils/getCssVariable.tsx +0 -9
@@ -1,43 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
-
3
- interface IconicInputProps {
4
- funcss?: string;
5
- children?: ReactNode;
6
- input?: ReactNode;
7
- iconicBg?: string;
8
- leftIcon?:ReactNode;
9
- rightIcon?:ReactNode
10
- }
11
-
12
- export default function IconicInput({
13
- funcss,
14
- children,
15
- leftIcon,
16
- rightIcon,
17
- input,
18
- iconicBg,
19
- }: IconicInputProps) {
20
- return (
21
- <div className={`icon-container ${funcss}`}>
22
- {leftIcon ?
23
- <div
24
- className="leftIcon"
25
- style={{
26
- backgroundColor: iconicBg || '',
27
- border: iconicBg ? `0.1rem ${iconicBg} solid` : '',
28
- }}
29
- >
30
- {leftIcon ? leftIcon : ''}
31
- </div>
32
- : ''}
33
- <div className={
34
- `icon_input_wrapper ${leftIcon ? 'lefticon' : ''} ${rightIcon ? 'righticon' : ''}`
35
- }> {input}</div>
36
- {rightIcon ?
37
- <div className="rightIcon" style={{ backgroundColor: iconicBg || '' }}>
38
- {rightIcon ? rightIcon : ''}
39
- </div>
40
- : ''}
41
- </div>
42
- );
43
- }
@@ -1,409 +0,0 @@
1
- 'use client'
2
- import React, { useState } from 'react';
3
- import { PiCheck, PiCloudArrowUp } from 'react-icons/pi';
4
- import Button from '../button/Button';
5
-
6
- interface InputProps {
7
- select?: boolean;
8
- bordered?: boolean;
9
- borderless?: boolean;
10
- multiline?: boolean;
11
- file?: boolean;
12
- noBorder?: boolean;
13
- icon?: React.ReactNode;
14
- extra?: React.ReactNode;
15
- button?: React.ReactNode;
16
- id?: string;
17
- status?: 'success' | 'warning' | 'danger' | '';
18
- funcss?: string;
19
- flat?: boolean;
20
- leftRounded?: boolean;
21
- rightRounded?: boolean;
22
- rounded?: boolean;
23
- fullWidth?: boolean;
24
- btn?: boolean;
25
- type?: string;
26
- label?: string;
27
- name?: string;
28
- value?: any;
29
- defaultValue?: string;
30
- onChange?: (
31
- event: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>
32
- ) => void;
33
- options?: { value: string; text: string }[];
34
- rows?: number;
35
- bg?: string;
36
- }
37
-
38
-
39
- const Input: React.FC<InputProps> = ({
40
- select,
41
- bordered,
42
- borderless,
43
- multiline,
44
- file,
45
- extra,
46
- noBorder,
47
- icon,
48
- btn,
49
- button,
50
- id,
51
- status,
52
- funcss,
53
- flat,
54
- leftRounded,
55
- rightRounded,
56
- rounded,
57
- fullWidth,
58
- type,
59
- label,
60
- name,
61
- value,
62
- defaultValue,
63
- onChange,
64
- options,
65
- rows,
66
- bg,
67
- ...rest
68
- }) => {
69
- const [fileName, setFileName] = useState('');
70
-
71
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
72
- const file = e.target.files?.[0];
73
- if (file) {
74
- setFileName(file.name);
75
- }
76
- if (onChange) onChange(e);
77
- };
78
-
79
-
80
- if (select) {
81
- if (bordered) {
82
- return (
83
- <select
84
- {...rest}
85
- id={id}
86
- className={`
87
- ${status === 'success' ? 'success-input' : ''}
88
- ${status === 'warning' ? 'warning-input' : ''}
89
- ${status === 'danger' ? 'danger-input' : ''}
90
- input
91
- ${rounded ? "rounded" : ''}
92
- ${bg ? bg : ''}
93
- ${funcss} ${flat ? 'flat' : ''}
94
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
95
- borderedInput
96
- `}
97
- onChange={onChange}
98
- defaultValue={defaultValue}
99
- name={name}
100
- style={{
101
- width: `${fullWidth ? '100%' : ''}`
102
- }}
103
- value={value}
104
- >
105
- {options
106
- ? options.map((doc) => (
107
- <option value={doc.value} key={doc.value}>
108
- {doc.text}
109
- </option>
110
- ))
111
- : ''}
112
- </select>
113
- );
114
- } else if (borderless) {
115
- return (
116
- <select
117
- {...rest}
118
- id={id}
119
- className={`
120
- ${status === 'success' ? 'success-input' : ''}
121
- ${status === 'warning' ? 'warning-input' : ''}
122
- ${status === 'danger' ? 'danger-input' : ''}
123
- input
124
- ${rounded ? "rounded" : ''}
125
- ${bg ? bg : ''}
126
- ${funcss} ${flat ? 'flat' : ''}
127
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
128
- borderless
129
- `}
130
- onChange={onChange}
131
- defaultValue={defaultValue}
132
- name={name}
133
- value={value}
134
- style={{
135
- width: `${fullWidth ? '100%' : ''}`
136
- }}
137
- >
138
- {options
139
- ? options.map((doc) => (
140
- <option value={doc.value} key={doc.value}>
141
- {doc.text}
142
- </option>
143
- ))
144
- : ''}
145
- </select>
146
- );
147
- } else {
148
- return (
149
- <select
150
- {...rest}
151
- id={id}
152
- className={`
153
- ${status === 'success' ? 'success-input' : ''}
154
- ${status === 'warning' ? 'warning-input' : ''}
155
- ${status === 'danger' ? 'danger-input' : ''}
156
- input
157
- ${rounded ? "rounded" : ''}
158
- ${bg ? bg : ''}
159
- ${funcss} ${flat ? 'flat' : ''}
160
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
161
- `}
162
- onChange={onChange}
163
- defaultValue={defaultValue}
164
- name={name}
165
- value={value}
166
- style={{
167
- width: `${fullWidth ? '100%' : ''}`
168
- }}
169
- >
170
- {options
171
- ? options.map((doc) => (
172
- <option value={doc.value} key={doc.value}>
173
- {doc.text}
174
- </option>
175
- ))
176
- : ''}
177
- </select>
178
- );
179
- }
180
- } else if (multiline) {
181
- if (bordered) {
182
- return (
183
- <textarea
184
- {...rest}
185
- id={id}
186
- className={`
187
- ${status === 'success' ? 'success-input' : ''}
188
- ${status === 'warning' ? 'warning-input' : ''}
189
- ${status === 'danger' ? 'danger-input' : ''}
190
- input
191
- ${rounded ? "rounded" : ''}
192
- ${bg ? bg : ''}
193
- ${funcss} ${flat ? 'flat' : ''}
194
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
195
- borderedInput
196
- `}
197
- onChange={onChange}
198
- defaultValue={defaultValue}
199
- placeholder={label}
200
- name={name}
201
- style={{
202
- width: `${fullWidth ? '100%' : ''}`
203
- }}
204
- value={value}
205
- rows={rows ? rows : 2}
206
- />
207
- );
208
- } else if (borderless) {
209
- return (
210
- <textarea
211
- {...rest}
212
- id={id}
213
- className={`
214
- ${status === 'success' ? 'success-input' : ''}
215
- ${status === 'warning' ? 'warning-input' : ''}
216
- ${status === 'danger' ? 'danger-input' : ''}
217
- input
218
- ${rounded ? "rounded" : ''}
219
- ${bg ? bg : ''}
220
- ${funcss} ${flat ? 'flat' : ''}
221
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
222
- borderless
223
- `}
224
- onChange={onChange}
225
- defaultValue={defaultValue}
226
- placeholder={label}
227
- name={name}
228
- value={value}
229
- style={{
230
- width: `${fullWidth ? '100%' : ''}`
231
- }}
232
- rows={rows ? rows : 2}
233
- />
234
- );
235
- } else {
236
- return (
237
- <textarea
238
- {...rest}
239
- id={id}
240
- className={`
241
- ${status === 'success' ? 'success-input' : ''}
242
- ${status === 'warning' ? 'warning-input' : ''}
243
- ${status === 'danger' ? 'danger-input' : ''}
244
- input
245
- ${rounded ? "rounded" : ''}
246
- ${bg ? bg : ''}
247
- ${funcss} ${flat ? 'flat' : ''}
248
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
249
- `}
250
- onChange={onChange}
251
- defaultValue={defaultValue}
252
- placeholder={label}
253
- name={name}
254
- value={value}
255
- style={{
256
- width: `${fullWidth ? '100%' : ''}`
257
- }}
258
- rows={rows ? rows : 2}
259
- />
260
- );
261
- }
262
- } else if (file) {
263
- if(btn)
264
- return (
265
- <div className="fileInput">
266
- {button ? (
267
- button
268
- ) : (
269
- <Button
270
- funcss={` ${funcss} `}
271
- startIcon={icon ? icon : <PiCloudArrowUp />}
272
- bg="primary"
273
- fullWidth
274
- raised
275
- >
276
- {fileName || label || 'Upload File'}
277
- </Button>
278
-
279
- )}
280
- <input
281
- name={name}
282
- id={id}
283
- className={`
284
- ${status === 'success' ? 'success-input' : ''}
285
- ${status === 'warning' ? 'warning-input' : ''}
286
- ${status === 'danger' ? 'danger-input' : ''}
287
- input
288
- ${rounded ? "rounded" : ''}
289
- ${bg ? bg : ''}
290
- ${funcss} ${flat ? 'flat' : ''}
291
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
292
- borderedInput
293
- filedInput
294
- `}
295
- onChange={handleChange}
296
- type={'file'}
297
- style={{
298
- width: `${fullWidth ? '100%' : ''}`
299
- }}
300
-
301
- value={value}
302
- {...rest}
303
- />
304
- </div>
305
- )
306
- return (
307
- <div className="_upload_container">
308
- <label htmlFor={id || "fileInput"} className="_upload_label">
309
- <div className="_upload_icon">{ icon || <><PiCloudArrowUp /></>}</div>
310
- <div className="_upload_text" style={{
311
- whiteSpace: 'nowrap',
312
- overflow: 'hidden',
313
- textOverflow: 'ellipsis',
314
- display: 'inline-block',
315
- width: '100%',
316
- }}>{fileName || label || `Upload File`}</div>
317
- <div className="text-small opacity-3">{extra || ''}</div>
318
- </label>
319
- <input onChange={handleChange} type="file" id={id || "fileInput"} className="_upload_input" {...rest} />
320
- </div>
321
- )
322
- } else {
323
- if (bordered) {
324
- return (
325
- <input
326
-
327
- name={name}
328
- id={id}
329
- className={`
330
- ${status === 'success' ? 'success-input' : ''}
331
- ${status === 'warning' ? 'warning-input' : ''}
332
- ${status === 'danger' ? 'danger-input' : ''}
333
- input
334
- ${rounded ? "rounded" : ''}
335
- ${bg ? bg : ''}
336
- ${funcss} ${flat ? 'flat' : ''}
337
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
338
- borderedInput
339
- `}
340
- onChange={onChange}
341
- defaultValue={defaultValue}
342
- type={type}
343
- placeholder={label}
344
- style={{
345
- width: `${fullWidth ? '100%' : ''}`
346
- }}
347
- value={value}
348
- {...rest}
349
- />
350
- );
351
- } else if (borderless) {
352
- return (
353
- <input
354
- name={name}
355
- id={id}
356
- className={`
357
- ${status === 'success' ? 'success-input' : ''}
358
- ${status === 'warning' ? 'warning-input' : ''}
359
- ${status === 'danger' ? 'danger-input' : ''}
360
- input
361
- ${rounded ? "rounded" : ''}
362
- ${bg ? bg : ''}
363
- ${funcss} ${flat ? 'flat' : ''}
364
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
365
- borderless
366
- `}
367
- onChange={onChange}
368
- defaultValue={defaultValue}
369
- type={type}
370
- placeholder={label}
371
- value={value}
372
- style={{
373
- width: `${fullWidth ? '100%' : ''}`
374
- }}
375
- {...rest}
376
-
377
- />
378
- );
379
- } else {
380
- return (
381
- <input
382
- name={name}
383
- id={id}
384
- className={`
385
- ${status === 'success' ? 'success-input' : ''}
386
- ${status === 'warning' ? 'warning-input' : ''}
387
- ${status === 'danger' ? 'danger-input' : ''}
388
- input
389
- ${rounded ? "rounded" : ''}
390
- ${bg ? bg : ''}
391
- ${funcss} ${flat ? 'flat' : ''}
392
- ${leftRounded ? 'leftRounded' : rightRounded ? 'rightRounded' : ''}
393
- `}
394
- onChange={onChange}
395
- defaultValue={defaultValue}
396
- type={type}
397
- placeholder={label}
398
- value={value}
399
- style={{
400
- width: `${fullWidth ? '100%' : ''}`
401
- }}
402
- {...rest}
403
- />
404
- );
405
- }
406
- }
407
- };
408
-
409
- export default Input;
package/ui/list/Item.tsx DELETED
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface ListItemProps {
4
- children?: React.ReactNode;
5
- funcss?: string;
6
- }
7
-
8
- export default function ListItem({
9
- children,
10
- funcss,
11
- ...rest
12
- }: ListItemProps) {
13
- return (
14
- <li className={`list ${funcss ? funcss : ''}`} {...rest}>
15
- {children}
16
- </li>
17
- );
18
- }
package/ui/list/List.tsx DELETED
@@ -1,45 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface ListProps {
4
- children?: React.ReactNode;
5
- funcss?: string;
6
- dark?: boolean;
7
- light?: boolean;
8
- stripped?: boolean;
9
- bordered?: boolean;
10
- hoverable?: boolean;
11
- roundItems?: boolean;
12
- gap?:number
13
- }
14
-
15
- export default function List({
16
- children,
17
- funcss,
18
- dark,
19
- light,
20
- stripped,
21
- bordered,
22
- hoverable,
23
- roundItems,
24
- gap,
25
- ...rest
26
- }: ListProps) {
27
- return (
28
- <ul
29
- className={`list
30
- ${funcss ? funcss : ''}
31
- ${dark ? 'dark' : ''}
32
- ${light ? 'light' : ''}
33
- ${hoverable ? 'hoverableList' : ''}
34
- ${stripped ? 'stripped' : ''}
35
- ${bordered ? 'bordered' : ''}
36
- ${roundItems ? 'roundItems' : ''}
37
- `}
38
- style={{gap:gap ? gap + "rem" : ''}}
39
- {...rest}
40
-
41
- >
42
- {children}
43
- </ul>
44
- );
45
- }
@@ -1,47 +0,0 @@
1
- import * as React from 'react';
2
- import { PiSpinner , PiSpinnerDuotone , PiCircleNotch } from "react-icons/pi";
3
-
4
- interface FunLoaderProps {
5
- funcss?: string;
6
- size?: number;
7
- fixed?: boolean;
8
- backdrop?: boolean;
9
- color?: string;
10
- variant?: 'simple' | 'duotone' | "circle"
11
- }
12
-
13
- export default function FunLoader({
14
- funcss,
15
- size,
16
- fixed,
17
- backdrop,
18
- color,
19
- variant ,
20
- ...rest
21
- }: FunLoaderProps) {
22
- return (
23
- <div style={{lineHeight:"0"}} className={`${fixed ? 'fixedLoader' : ''} ${backdrop && fixed ? 'backdropLoader' : ''}`} {...rest}>
24
-
25
- {
26
- variant === 'simple'?
27
- <span className={`rotate ${funcss ? funcss : ''} text-${color ? color : ''}`}>
28
- <PiSpinnerDuotone style={{fontSize:size + "px" , display:'block'}} />
29
- </span>
30
- : variant === 'duotone'?
31
- <span className={`rotate ${funcss ? funcss : ''} text-${color ? color : ''}`}>
32
- <PiSpinnerDuotone
33
-
34
- style={{fontSize:size + "px" , display:'block'}}
35
- /> </span>
36
- : variant === 'circle'?
37
- <span className={`rotate ${funcss ? funcss : ''} text-${color ? color : ''}`}>
38
- <PiCircleNotch />
39
- </span>
40
- : <span className={`rotate ${funcss ? funcss : ''} text-${color ? color : ''}`}>
41
- <PiSpinner style={{fontSize:size + "px" , display:'block'}} />
42
- </span>
43
- }
44
-
45
- </div>
46
- );
47
- }
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface ModalActionProps extends React.HTMLProps<HTMLDivElement> {
4
- funcss?: string;
5
- children?: React.ReactNode;
6
- }
7
-
8
- export default function ModalAction({ funcss, children, ...rest }: ModalActionProps) {
9
- return (
10
- <div className={`${funcss} modal-action`} {...rest}>
11
- {children}
12
- </div>
13
- );
14
- }
@@ -1,14 +0,0 @@
1
- import { HTMLProps } from 'react';
2
- import * as React from 'react';
3
- import { PiX } from 'react-icons/pi';
4
- interface CloseModalProps extends HTMLProps<HTMLDivElement> {
5
- funcss?: string;
6
- }
7
-
8
- export default function CloseModal({ funcss, ...rest }: CloseModalProps) {
9
- return (
10
- <div className={`${funcss || ''} closeModal`} {...rest}>
11
- <PiX />
12
- </div>
13
- );
14
- }
@@ -1,15 +0,0 @@
1
- import * as React from 'react';
2
- interface ModalContentProps {
3
- funcss?: string;
4
- children?: React.ReactNode;
5
-
6
-
7
- }
8
-
9
- export default function ModalContent({ funcss, children , }: ModalContentProps) {
10
- return (
11
- <div className={`modal-body ${funcss}`} >
12
- {children}
13
- </div>
14
- );
15
- }
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface ModalHeaderProps {
4
- funcss?: string;
5
- children?: React.ReactNode;
6
- close?: React.ReactNode | '';
7
- title?:React.ReactNode
8
- }
9
-
10
- export default function ModalHeader({ funcss, children, close , title, ...rest }: ModalHeaderProps) {
11
- return (
12
- <div className={`${funcss} modal-title`} {...rest}>
13
- <div className="fit">{title ? title : children}</div>
14
- {
15
- close ? <div> {close || ''}</div> : <></>
16
- }
17
- </div>
18
- );
19
- }