funuicss 2.7.15 → 3.0.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.
Files changed (120) hide show
  1. package/css/fun.css +6663 -6653
  2. package/index.d.ts +3 -0
  3. package/index.js +7 -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/flex/Flex.d.ts +3 -8
  11. package/ui/flex/Flex.js +15 -9
  12. package/ui/flex/FlexItem.d.ts +17 -0
  13. package/ui/flex/FlexItem.js +39 -0
  14. package/ui/notification/Notification.d.ts +7 -3
  15. package/ui/notification/Notification.js +18 -14
  16. package/ui/scrolltotop/ScrollToTop.d.ts +3 -0
  17. package/ui/scrolltotop/ScrollToTop.js +61 -0
  18. package/ui/video/Video.d.ts +2 -1
  19. package/ui/video/Video.js +10 -10
  20. package/ui/video/videoShortcuts.d.ts +1 -1
  21. package/ui/video/videoShortcuts.js +2 -2
  22. package/ui/view/View.d.ts +27 -38
  23. package/ui/view/View.js +10 -38
  24. package/ui/vista/Vista.d.ts +6 -1
  25. package/ui/vista/Vista.js +33 -4
  26. package/assets/colors/colors.d.ts +0 -347
  27. package/assets/colors/colors.js +0 -348
  28. package/assets/colors/colors.tsx +0 -697
  29. package/hooks/useHls.tsx +0 -69
  30. package/index.tsx +0 -57
  31. package/js/Cookie.tsx +0 -91
  32. package/js/Fun.jsx +0 -225
  33. package/js/Fun.tsx +0 -239
  34. package/tsconfig.json +0 -20
  35. package/types/react-easy-export.d.ts +0 -4
  36. package/ui/ScrollInView/ScrollInView.tsx +0 -69
  37. package/ui/accordion/Accordion.tsx +0 -125
  38. package/ui/alert/Alert.tsx +0 -106
  39. package/ui/aos/AOS.tsx +0 -24
  40. package/ui/appbar/AppBar.tsx +0 -115
  41. package/ui/appbar/Hamburger.tsx +0 -30
  42. package/ui/avatar/Avatar.tsx +0 -52
  43. package/ui/blob/Blob.tsx +0 -34
  44. package/ui/breadcrumb/BreadCrumb.tsx +0 -48
  45. package/ui/button/Button.tsx +0 -153
  46. package/ui/calendar/ActivityCard.tsx +0 -27
  47. package/ui/calendar/Calendar.tsx +0 -343
  48. package/ui/card/Card.tsx +0 -117
  49. package/ui/card/CardBody.tsx +0 -14
  50. package/ui/card/CardFab.tsx +0 -16
  51. package/ui/card/CardFooter.tsx +0 -14
  52. package/ui/card/CardHeader.tsx +0 -14
  53. package/ui/carousel/Carousel.tsx +0 -148
  54. package/ui/chart/Bar.tsx +0 -121
  55. package/ui/chart/Line.tsx +0 -186
  56. package/ui/chart/Pie.tsx +0 -127
  57. package/ui/container/Container.tsx +0 -38
  58. package/ui/datepicker/DatePicker.tsx +0 -148
  59. package/ui/div/Div.tsx +0 -61
  60. package/ui/drop/Action.tsx +0 -16
  61. package/ui/drop/Down.tsx +0 -18
  62. package/ui/drop/Dropdown.tsx +0 -117
  63. package/ui/drop/Item.tsx +0 -15
  64. package/ui/drop/Menu.tsx +0 -40
  65. package/ui/drop/Up.tsx +0 -18
  66. package/ui/flex/Flex.tsx +0 -115
  67. package/ui/grid/Col.tsx +0 -43
  68. package/ui/grid/Grid.tsx +0 -37
  69. package/ui/input/Iconic.tsx +0 -43
  70. package/ui/input/Input.tsx +0 -409
  71. package/ui/list/Item.tsx +0 -18
  72. package/ui/list/List.tsx +0 -45
  73. package/ui/loader/Loader.tsx +0 -47
  74. package/ui/modal/Action.tsx +0 -14
  75. package/ui/modal/Close.tsx +0 -14
  76. package/ui/modal/Content.tsx +0 -15
  77. package/ui/modal/Header.tsx +0 -19
  78. package/ui/modal/Modal.tsx +0 -140
  79. package/ui/notification/Content.tsx +0 -14
  80. package/ui/notification/Footer.tsx +0 -14
  81. package/ui/notification/Header.tsx +0 -14
  82. package/ui/notification/Notification.tsx +0 -62
  83. package/ui/page/NotFound.tsx +0 -67
  84. package/ui/page/UnAuthorized.tsx +0 -64
  85. package/ui/progress/Bar.tsx +0 -114
  86. package/ui/richtext/RichText.tsx +0 -156
  87. package/ui/sidebar/SideBar.tsx +0 -202
  88. package/ui/sidebar/SideContent.tsx +0 -16
  89. package/ui/slider/Slider.tsx +0 -75
  90. package/ui/snackbar/SnackBar.tsx +0 -56
  91. package/ui/specials/Circle.tsx +0 -49
  92. package/ui/specials/CircleGroup.tsx +0 -49
  93. package/ui/specials/FullCenteredPage.tsx +0 -25
  94. package/ui/specials/Hr.tsx +0 -16
  95. package/ui/specials/RowFlex.tsx +0 -56
  96. package/ui/specials/Section.tsx +0 -18
  97. package/ui/step/Container.tsx +0 -27
  98. package/ui/step/Header.tsx +0 -16
  99. package/ui/step/Line.tsx +0 -17
  100. package/ui/step/Step.tsx +0 -17
  101. package/ui/table/Body.tsx +0 -10
  102. package/ui/table/Data.tsx +0 -15
  103. package/ui/table/Head.tsx +0 -10
  104. package/ui/table/Row.tsx +0 -16
  105. package/ui/table/Table.tsx +0 -372
  106. package/ui/text/Text.tsx +0 -179
  107. package/ui/theme/dark.tsx +0 -45
  108. package/ui/theme/darkenUtils.ts +0 -15
  109. package/ui/theme/theme.tsx +0 -48
  110. package/ui/theme/themes.ts +0 -154
  111. package/ui/tooltip/Tip.tsx +0 -34
  112. package/ui/tooltip/ToolTip.tsx +0 -20
  113. package/ui/video/Video.tsx +0 -347
  114. package/ui/video/videoFunctions.tsx +0 -19
  115. package/ui/video/videoShortcuts.ts +0 -12
  116. package/ui/view/View.tsx +0 -157
  117. package/ui/vista/Vista.tsx +0 -165
  118. package/utils/Emojis.tsx +0 -59
  119. package/utils/Functions.tsx +0 -9
  120. package/utils/getCssVariable.tsx +0 -9
@@ -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
- }