funuicss 3.8.1 → 3.8.3

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/css/fun.css CHANGED
@@ -1190,200 +1190,6 @@ border-radius: var(--borderRadius);
1190
1190
  cursor: zoom-out;
1191
1191
  }
1192
1192
 
1193
- .navigation-bar {
1194
- width: 100%;
1195
- display: flex;
1196
- flex-direction: row;
1197
- justify-content: flex-start;
1198
- align-items: center;
1199
- padding: 0.5rem 5%;
1200
- gap: 2rem;
1201
- backdrop-filter: blur(0.2rem);
1202
- transition: all 0.3s ease;
1203
- max-height: 100vh;
1204
- overflow-y: auto;
1205
- }
1206
-
1207
- .linkWrapper {
1208
- display: none;
1209
- animation: SlideRight 0.2s linear;
1210
- }
1211
-
1212
- .sidebar-trigger {
1213
- display: block;
1214
- cursor: pointer;
1215
- }
1216
-
1217
- /* AppBar Dropdown Styles */
1218
- .nav_item {
1219
- position: relative;
1220
- }
1221
-
1222
- .nav_item.has-dropdown .nav_link {
1223
- cursor: pointer;
1224
- }
1225
-
1226
- .nav_link-arrow {
1227
- transition: transform 0.3s ease;
1228
- margin-left: 0.25rem;
1229
- }
1230
-
1231
- .nav_item.dropdown-open .nav_link-arrow {
1232
- transform: rotate(180deg);
1233
- }
1234
-
1235
- /* Dropdown Menu */
1236
- .nav_dropdown-menu {
1237
- position: absolute;
1238
- top: 100%;
1239
- left: 0;
1240
- background: var(--page-bg);
1241
- border: var(--border);
1242
- border-radius: 0.5rem;
1243
- box-shadow: var(--card);
1244
- min-width: 200px;
1245
- z-index: 1000;
1246
- opacity: 0;
1247
- transform: translateY(-10px);
1248
- font-size: var(--minifiedFontSize);
1249
- visibility: hidden;
1250
- transition: all 0.3s ease;
1251
- }
1252
-
1253
- .nav_item.dropdown-open .nav_dropdown-menu {
1254
- opacity: 1;
1255
- transform: translateY(0);
1256
- visibility: visible;
1257
- }
1258
-
1259
- /* Dropdown Links */
1260
- .nav_dropdown-menu .nav_item {
1261
- border-bottom: var(--border);
1262
- }
1263
-
1264
- .nav_dropdown-menu .nav_item:last-child {
1265
- border-bottom: none;
1266
- }
1267
-
1268
- .nav_dropdown-menu .nav_link {
1269
- display: block;
1270
- text-decoration: none;
1271
- transition: all 0.2s ease;
1272
- border-radius: 0;
1273
- }
1274
-
1275
- .nav_dropdown-menu .nav_link:hover {
1276
- background: var(--lighter);
1277
- color: var(--primary) !important;
1278
- }
1279
-
1280
- .nav_dropdown-menu .nav_link.active {
1281
- background: var(--primary100);
1282
- color: var(--primary);
1283
- font-weight: 500;
1284
- }
1285
-
1286
- /* Nested Dropdowns */
1287
- .nav_dropdown-menu .nav_dropdown-menu {
1288
- top: 0;
1289
- left: 100%;
1290
- margin-left: 0.25rem;
1291
- }
1292
-
1293
- .nav_dropdown-menu .nav_item.has-dropdown .nav_link {
1294
- display: flex;
1295
- justify-content: space-between;
1296
- align-items: center;
1297
- }
1298
-
1299
- /* Mobile Dropdown Styles */
1300
- .nav_dropdown-mobile {
1301
- position: static !important;
1302
- box-shadow: none !important;
1303
- border: none !important;
1304
- background: var(--raiseOpaque) !important;
1305
- margin-left: 1rem;
1306
- margin-top: 0.5rem;
1307
- opacity: 1 !important;
1308
- transform: none !important;
1309
- visibility: visible !important;
1310
- max-height: 0;
1311
- overflow: hidden;
1312
- transition: 0.3s ease;
1313
- }
1314
-
1315
- .nav_item.dropdown-open .nav_dropdown-mobile {
1316
- max-height: 500px;
1317
- }
1318
-
1319
-
1320
- /* Mobile Menu */
1321
- /* .nav_mobile-menu {
1322
- position: fixed;
1323
- top: 0;
1324
- left: 0;
1325
- right: 0;
1326
- bottom: 0;
1327
- background: var(--raiseOpaque);
1328
- z-index: 999;
1329
- overflow-y: auto;
1330
- padding: 1rem;
1331
- border-top: var(--border);
1332
- } */
1333
-
1334
- .nav_mobile-menu .nav_links {
1335
- align-items: flex-start !important;
1336
- }
1337
-
1338
- .nav_mobile-menu .nav_item {
1339
- width: 100%;
1340
- }
1341
-
1342
- .nav_mobile-menu .nav_link {
1343
- width: 100%;
1344
- justify-content: space-between;
1345
- padding: 1rem !important;
1346
- border-bottom: var(--border);
1347
- }
1348
-
1349
- /* Active Link Styles */
1350
- .nav_link.active {
1351
- color: var(--primary) !important;
1352
- font-weight: 500;
1353
- }
1354
-
1355
- /* Hover Effects */
1356
- .nav_link:hover {
1357
- color: var(--primary) !important;
1358
- }
1359
-
1360
- /* Icon Styles */
1361
- .nav_link-icon {
1362
- display: flex;
1363
- align-items: center;
1364
- transition: transform 0.2s ease;
1365
- }
1366
-
1367
- .nav_link:hover .nav_link-icon.prefix {
1368
- transform: translateX(-2px);
1369
- }
1370
-
1371
- .nav_link:hover .nav_link-icon.suffix {
1372
- transform: translateX(2px);
1373
- }
1374
-
1375
- /* Smooth Transitions */
1376
- .nav_link,
1377
- .nav_link-content,
1378
- .nav_dropdown-menu {
1379
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1380
- }
1381
-
1382
- /* Focus States */
1383
- .nav_link:focus {
1384
- outline-offset: 2px;
1385
- }
1386
-
1387
1193
  /* Video Component Styles */
1388
1194
  .video_player {
1389
1195
  border-radius: 1rem;
@@ -1653,6 +1459,184 @@ border-radius: var(--borderRadius);
1653
1459
 
1654
1460
 
1655
1461
 
1462
+ .navigation-bar {
1463
+ width: 100%;
1464
+ display: flex;
1465
+ flex-direction: row;
1466
+ justify-content: flex-start;
1467
+ align-items: center;
1468
+ padding: 0.5rem 5%;
1469
+ gap: 2rem;
1470
+ backdrop-filter: blur(0.2rem);
1471
+ transition: all 0.3s ease;
1472
+ max-height: 100vh;
1473
+ overflow-y: auto;
1474
+ }
1475
+
1476
+ .linkWrapper {
1477
+ display: none;
1478
+ animation: SlideRight 0.2s linear;
1479
+ }
1480
+
1481
+ .sidebar-trigger {
1482
+ display: block;
1483
+ cursor: pointer;
1484
+ }
1485
+
1486
+ /* AppBar Dropdown Styles */
1487
+ .nav_item {
1488
+ position: relative;
1489
+ }
1490
+
1491
+ .nav_item.has-dropdown .nav_link {
1492
+ cursor: pointer;
1493
+ }
1494
+
1495
+ .nav_link-arrow {
1496
+ transition: transform 0.3s ease;
1497
+ margin-left: 0.25rem;
1498
+ }
1499
+
1500
+ .nav_item.dropdown-open .nav_link-arrow {
1501
+ transform: rotate(180deg);
1502
+ }
1503
+
1504
+ /* Dropdown Menu */
1505
+ .nav_dropdown-menu {
1506
+ position: absolute;
1507
+ top: 100%;
1508
+ left: 0;
1509
+ background: var(--page-bg);
1510
+ border: var(--border);
1511
+ border-radius: 0.5rem;
1512
+ box-shadow: var(--card);
1513
+ min-width: 200px;
1514
+ z-index: 1000;
1515
+ opacity: 0;
1516
+ transform: translateY(-10px);
1517
+ font-size: var(--minifiedFontSize);
1518
+ visibility: hidden;
1519
+ transition: all 0.3s ease;
1520
+ }
1521
+
1522
+ .nav_item.dropdown-open .nav_dropdown-menu {
1523
+ opacity: 1;
1524
+ transform: translateY(0);
1525
+ visibility: visible;
1526
+ }
1527
+
1528
+ /* Dropdown Links */
1529
+ .nav_dropdown-menu .nav_item {
1530
+ border-bottom: var(--border);
1531
+ }
1532
+
1533
+ .nav_dropdown-menu .nav_item:last-child {
1534
+ border-bottom: none;
1535
+ }
1536
+
1537
+ .nav_dropdown-menu .nav_link {
1538
+ display: block;
1539
+ text-decoration: none;
1540
+ transition: all 0.2s ease;
1541
+ border-radius: 0;
1542
+ }
1543
+
1544
+ .nav_dropdown-menu .nav_link:hover {
1545
+ background: var(--lighter);
1546
+ color: var(--primary) !important;
1547
+ }
1548
+
1549
+ .nav_dropdown-menu .nav_link.active {
1550
+ background: var(--primary100);
1551
+ color: var(--primary);
1552
+ font-weight: 500;
1553
+ }
1554
+
1555
+ /* Nested Dropdowns */
1556
+ .nav_dropdown-menu .nav_dropdown-menu {
1557
+ top: 0;
1558
+ left: 100%;
1559
+ margin-left: 0.25rem;
1560
+ }
1561
+
1562
+ .nav_dropdown-menu .nav_item.has-dropdown .nav_link {
1563
+ display: flex;
1564
+ justify-content: space-between;
1565
+ align-items: center;
1566
+ }
1567
+
1568
+ /* Mobile Dropdown Styles */
1569
+ .nav_dropdown-mobile {
1570
+ position: static !important;
1571
+ box-shadow: none !important;
1572
+ border: none !important;
1573
+ background: var(--raiseOpaque) !important;
1574
+ margin-left: 1rem;
1575
+ margin-top: 0.5rem;
1576
+ opacity: 1 !important;
1577
+ transform: none !important;
1578
+ visibility: visible !important;
1579
+ max-height: 0;
1580
+ overflow: hidden;
1581
+ transition: 0.3s ease;
1582
+ }
1583
+
1584
+ .nav_item.dropdown-open .nav_dropdown-mobile {
1585
+ max-height: 500px;
1586
+ }
1587
+ .nav_mobile-menu .nav_links {
1588
+ align-items: flex-start !important;
1589
+ }
1590
+
1591
+ .nav_mobile-menu .nav_item {
1592
+ width: 100%;
1593
+ }
1594
+
1595
+ .nav_mobile-menu .nav_link {
1596
+ width: 100%;
1597
+ justify-content: space-between;
1598
+ padding: 1rem !important;
1599
+ border-bottom: var(--border);
1600
+ }
1601
+
1602
+ /* Active Link Styles */
1603
+ .nav_link.active {
1604
+ color: var(--primary) !important;
1605
+ font-weight: 500;
1606
+ }
1607
+
1608
+ /* Hover Effects */
1609
+ .nav_link:hover {
1610
+ color: var(--primary) !important;
1611
+ }
1612
+
1613
+ /* Icon Styles */
1614
+ .nav_link-icon {
1615
+ display: flex;
1616
+ align-items: center;
1617
+ transition: transform 0.2s ease;
1618
+ }
1619
+
1620
+ .nav_link:hover .nav_link-icon.prefix {
1621
+ transform: translateX(-2px);
1622
+ }
1623
+
1624
+ .nav_link:hover .nav_link-icon.suffix {
1625
+ transform: translateX(2px);
1626
+ }
1627
+
1628
+ /* Smooth Transitions */
1629
+ .nav_link,
1630
+ .nav_link-content,
1631
+ .nav_dropdown-menu {
1632
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1633
+ }
1634
+
1635
+ /* Focus States */
1636
+ .nav_link:focus {
1637
+ outline-offset: 2px;
1638
+ }
1639
+
1656
1640
 
1657
1641
  /* Mobile layout when menu is open */
1658
1642
  .navbar-mobile-open {
@@ -2091,6 +2075,7 @@ border-radius: var(--borderRadius);
2091
2075
  }
2092
2076
 
2093
2077
 
2078
+
2094
2079
  /* Dropdown Container */
2095
2080
  .dropdown-container {
2096
2081
  position: relative;
@@ -3801,6 +3786,7 @@ padding-right: 2.5rem;
3801
3786
  display: flex;
3802
3787
  flex-direction: column;
3803
3788
  gap: 1px;
3789
+
3804
3790
  }
3805
3791
 
3806
3792
  /* Table Row */
@@ -3836,10 +3822,11 @@ padding-right: 2.5rem;
3836
3822
 
3837
3823
  /* Cell specific */
3838
3824
  .table-cell {
3839
- background: var(--white);
3840
- border-bottom: 1px solid var(--light);
3825
+ border-bottom: 0.5px solid var(--borderColor);
3826
+ overflow: visible;
3841
3827
  }
3842
3828
 
3829
+
3843
3830
  /* Text handling classes */
3844
3831
  .table-cell.truncate {
3845
3832
  white-space: nowrap;
@@ -3951,6 +3938,10 @@ padding-right: 2.5rem;
3951
3938
  max-width: 100% !important;
3952
3939
  }
3953
3940
 
3941
+ .table-cell:first-child {
3942
+ border-top: none;
3943
+ }
3944
+
3954
3945
  .table-cell:last-child {
3955
3946
  border-bottom: none;
3956
3947
  }
@@ -3993,6 +3984,16 @@ padding-right: 2.5rem;
3993
3984
  }
3994
3985
  }
3995
3986
 
3987
+ .pagination-item{
3988
+ height: 30px !important;
3989
+ width: 30px !important;
3990
+ display: flex;
3991
+ align-items: center;
3992
+ justify-content: center;
3993
+ border-radius: 50%;
3994
+ cursor: pointer;
3995
+ }
3996
+
3996
3997
  /* Empty State */
3997
3998
  .table-empty {
3998
3999
  display: flex;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.8.1",
2
+ "version": "3.8.3",
3
3
  "name": "funuicss",
4
4
  "description": "React and Next.js component UI Library for creating Easy and good looking websites with fewer lines of code. Elevate your web development experience with our cutting-edge React/Next.js component UI Library. Craft stunning websites effortlessly, boasting both seamless functionality and aesthetic appeal—all achieved with minimal lines of code. Unleash the power of simplicity and style in your projects!",
5
5
  "main": "index.js",
@@ -1,32 +1,75 @@
1
1
  import React from 'react';
2
- export type AccordionItemProps = {
3
- title: string;
2
+ type AccordionItemType = {
3
+ title: string | React.ReactNode;
4
4
  content: React.ReactNode;
5
- isOpen?: boolean;
6
- onToggle?: () => void;
7
- index?: number;
8
- icon?: React.ReactNode;
5
+ icon?: string | React.ReactNode;
9
6
  itemClass?: string;
10
7
  titleClass?: string;
11
8
  iconClass?: string;
12
9
  contentClass?: string;
13
10
  activeClass?: string;
11
+ iconColor?: string;
12
+ iconSize?: number;
13
+ iconClassName?: string;
14
+ expandIcon?: string | React.ReactNode;
15
+ expandIconColor?: string;
16
+ expandIconSize?: number;
17
+ expandIconClassName?: string;
18
+ titleSize?: string;
19
+ titleWeight?: number;
20
+ titleColor?: string;
21
+ contentSize?: string;
22
+ contentWeight?: number;
23
+ contentColor?: string;
24
+ animationDuration?: number;
25
+ animationEasing?: string;
26
+ disabled?: boolean;
27
+ customRender?: (isOpen: boolean) => React.ReactNode;
14
28
  };
15
- export declare const AccordionItem: React.FC<AccordionItemProps>;
16
- export type AccordionProps = {
17
- items: {
18
- title: string;
19
- content: React.ReactNode;
20
- icon?: React.ReactNode;
21
- }[];
29
+ type AccordionProps = {
30
+ items: AccordionItemType[] | string;
22
31
  allowMultiple?: boolean;
23
32
  defaultOpenIndexes?: number[];
33
+ variant?: string;
34
+ icon?: string | React.ReactNode;
35
+ iconColor?: string;
36
+ iconSize?: number;
37
+ iconClassName?: string;
38
+ iconPosition?: 'left' | 'right' | 'none';
39
+ expandIcon?: string | React.ReactNode;
40
+ expandIconColor?: string;
41
+ expandIconSize?: number;
42
+ expandIconClassName?: string;
43
+ expandIconRotate?: boolean;
24
44
  itemClass?: string;
25
45
  titleClass?: string;
26
46
  iconClass?: string;
27
47
  contentClass?: string;
28
48
  activeClass?: string;
49
+ titleSize?: string;
50
+ titleWeight?: number;
51
+ titleColor?: string;
52
+ titleClassName?: string;
53
+ contentSize?: string;
54
+ contentWeight?: number;
55
+ contentColor?: string;
56
+ contentClassName?: string;
57
+ gap?: string;
58
+ padding?: string;
59
+ margin?: string;
60
+ border?: boolean;
61
+ borderColor?: string;
62
+ borderRadius?: string;
63
+ shadow?: 'sm' | 'md' | 'lg' | 'xl' | 'none';
64
+ animationDuration?: number;
65
+ animationEasing?: string;
66
+ className?: string;
29
67
  funcss?: string;
68
+ style?: React.CSSProperties;
69
+ onItemToggle?: (index: number, isOpen: boolean) => void;
70
+ onAllClose?: () => void;
71
+ onAllOpen?: () => void;
30
72
  };
31
73
  declare const Accordion: React.FC<AccordionProps>;
32
74
  export default Accordion;
75
+ export type { AccordionItemType, AccordionProps };