funuicss 3.8.7 → 3.8.9
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 +702 -87
- package/index.d.ts +3 -0
- package/index.js +8 -2
- package/package.json +1 -1
- package/ui/button/Button.d.ts +6 -5
- package/ui/button/Button.js +190 -84
- package/ui/div/Div.d.ts +3 -1
- package/ui/div/Div.js +2 -2
- package/ui/feature/Feature.d.ts +9 -38
- package/ui/feature/Feature.js +62 -147
- package/ui/flex/Flex.d.ts +11 -10
- package/ui/flex/Flex.js +102 -6
- package/ui/form/Form.d.ts +77 -0
- package/ui/form/Form.js +724 -0
- package/ui/input/FileUpload.js +370 -21
- package/ui/input/Input.d.ts +44 -15
- package/ui/input/Input.js +1145 -369
- package/ui/products/CartModal.d.ts +0 -2
- package/ui/products/CartModal.js +59 -39
- package/ui/products/ProductCard.js +9 -22
- package/ui/products/ProductDetail.js +136 -97
- package/ui/products/ProductLoader.d.ts +3 -0
- package/ui/products/ProductLoader.js +22 -0
- package/ui/products/Store.d.ts +32 -7
- package/ui/products/Store.js +393 -94
- package/ui/progress/Bar.js +2 -2
- package/ui/sidebar/SideBar.js +1 -2
- package/ui/specials/CircleGroup.d.ts +2 -1
- package/ui/specials/CircleGroup.js +3 -3
- package/ui/theme/theme.d.ts +4 -0
- package/ui/theme/theme.js +336 -133
package/css/fun.css
CHANGED
|
@@ -1690,6 +1690,7 @@ border-radius: var(--borderRadius);
|
|
|
1690
1690
|
}
|
|
1691
1691
|
|
|
1692
1692
|
|
|
1693
|
+
|
|
1693
1694
|
.fixed_top_navbar , .fixedTop {
|
|
1694
1695
|
position: fixed;
|
|
1695
1696
|
top: 0;
|
|
@@ -2562,27 +2563,17 @@ select:focus {
|
|
|
2562
2563
|
align-items: center;
|
|
2563
2564
|
gap: 0.375rem;
|
|
2564
2565
|
font-size: var(--smallFont);
|
|
2565
|
-
margin-top: 0.25rem;
|
|
2566
|
-
padding-left: 0.25rem;
|
|
2567
2566
|
color: var(--text-color);
|
|
2568
2567
|
opacity: 0.7;
|
|
2569
2568
|
animation: slideDown 0.2s ease;
|
|
2570
2569
|
}
|
|
2571
2570
|
|
|
2572
|
-
|
|
2573
|
-
from {
|
|
2574
|
-
opacity: 0;
|
|
2575
|
-
transform: translateY(-0.25rem);
|
|
2576
|
-
}
|
|
2577
|
-
to {
|
|
2578
|
-
opacity: 0.7;
|
|
2579
|
-
transform: translateY(0);
|
|
2580
|
-
}
|
|
2581
|
-
}
|
|
2571
|
+
|
|
2582
2572
|
|
|
2583
2573
|
.helper-icon {
|
|
2584
2574
|
display: inline-flex;
|
|
2585
2575
|
align-items: center;
|
|
2576
|
+
line-height: 0;
|
|
2586
2577
|
}
|
|
2587
2578
|
|
|
2588
2579
|
/* Status helper text colors */
|
|
@@ -4452,8 +4443,10 @@ opacity: 1;
|
|
|
4452
4443
|
min-height: 100vh;
|
|
4453
4444
|
transition: 0.5s;
|
|
4454
4445
|
overflow: auto;
|
|
4455
|
-
backdrop-filter: blur(
|
|
4446
|
+
backdrop-filter: blur(9px);
|
|
4456
4447
|
/* The x overflow is hidden form smooth slide transitions */
|
|
4448
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
4449
|
+
|
|
4457
4450
|
overflow-x: hidden;
|
|
4458
4451
|
}
|
|
4459
4452
|
.modal.top-right{
|
|
@@ -4487,11 +4480,6 @@ opacity: 1;
|
|
|
4487
4480
|
align-items: flex-end !important;
|
|
4488
4481
|
}
|
|
4489
4482
|
|
|
4490
|
-
.modal.backdrop {
|
|
4491
|
-
background-color: rgba(0, 0, 0, 0.5);
|
|
4492
|
-
}
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
4483
|
|
|
4496
4484
|
.modal-title {
|
|
4497
4485
|
height: fit-content;
|
|
@@ -4503,12 +4491,11 @@ opacity: 1;
|
|
|
4503
4491
|
gap: 1rem;
|
|
4504
4492
|
}
|
|
4505
4493
|
.modal-content {
|
|
4506
|
-
background: var(--
|
|
4494
|
+
background: var(--page-bg);
|
|
4507
4495
|
backdrop-filter: blur(20rem) ;
|
|
4508
4496
|
max-width: 700px;
|
|
4509
4497
|
padding: 1rem 1.5rem;
|
|
4510
4498
|
border-radius: 0.5rem;
|
|
4511
|
-
box-shadow: var(--card);
|
|
4512
4499
|
height: fit-content ;
|
|
4513
4500
|
|
|
4514
4501
|
}
|
|
@@ -5561,17 +5548,43 @@ background-color: rgba(0, 0, 0, 0.2);
|
|
|
5561
5548
|
|
|
5562
5549
|
|
|
5563
5550
|
/* store */
|
|
5551
|
+
/* Hero Section */
|
|
5552
|
+
.store-hero-section {
|
|
5553
|
+
position: relative;
|
|
5554
|
+
width: 100%;
|
|
5555
|
+
background-size: cover;
|
|
5556
|
+
background-position: center;
|
|
5557
|
+
background-repeat: no-repeat;
|
|
5558
|
+
display: flex;
|
|
5559
|
+
align-items: center;
|
|
5560
|
+
justify-content: center;
|
|
5561
|
+
overflow: hidden;
|
|
5562
|
+
}
|
|
5564
5563
|
|
|
5565
|
-
.
|
|
5566
|
-
|
|
5567
|
-
|
|
5564
|
+
.hero-overlay {
|
|
5565
|
+
position: absolute;
|
|
5566
|
+
top: 0;
|
|
5567
|
+
left: 0;
|
|
5568
|
+
width: 100%;
|
|
5569
|
+
height: 100%;
|
|
5570
|
+
z-index: 1;
|
|
5571
|
+
transition: opacity 0.3s ease;
|
|
5572
|
+
}
|
|
5573
|
+
|
|
5574
|
+
.hero-content {
|
|
5575
|
+
position: relative;
|
|
5576
|
+
z-index: 2;
|
|
5577
|
+
padding: 2rem;
|
|
5578
|
+
width: 100%;
|
|
5568
5579
|
}
|
|
5569
5580
|
|
|
5570
|
-
|
|
5581
|
+
|
|
5582
|
+
/* Products Grid */
|
|
5571
5583
|
.funui_products_grid {
|
|
5572
5584
|
display: grid;
|
|
5573
5585
|
grid-gap: 2rem;
|
|
5574
|
-
padding:
|
|
5586
|
+
padding: 0;
|
|
5587
|
+
width: 100%;
|
|
5575
5588
|
}
|
|
5576
5589
|
|
|
5577
5590
|
/* For devices smaller than 640px */
|
|
@@ -5600,16 +5613,6 @@ background-color: rgba(0, 0, 0, 0.2);
|
|
|
5600
5613
|
}
|
|
5601
5614
|
}
|
|
5602
5615
|
|
|
5603
|
-
/* Product card */
|
|
5604
|
-
.funui_products_product_card {
|
|
5605
|
-
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
5606
|
-
}
|
|
5607
|
-
|
|
5608
|
-
.funui_products_product_card:hover {
|
|
5609
|
-
transform: translateY(-4px);
|
|
5610
|
-
}
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
5616
|
/* Product Card Container */
|
|
5614
5617
|
.funui_store_product-card {
|
|
5615
5618
|
overflow: hidden;
|
|
@@ -5620,13 +5623,14 @@ background-color: rgba(0, 0, 0, 0.2);
|
|
|
5620
5623
|
}
|
|
5621
5624
|
|
|
5622
5625
|
|
|
5623
|
-
|
|
5626
|
+
|
|
5627
|
+
/* Image Container */
|
|
5624
5628
|
.funui_store_image-container {
|
|
5625
5629
|
position: relative;
|
|
5626
5630
|
width: 100%;
|
|
5627
5631
|
padding-top: 100%; /* Creates 1:1 aspect ratio square */
|
|
5628
5632
|
overflow: hidden;
|
|
5629
|
-
background-color: var(lighter);
|
|
5633
|
+
background-color: var(--lighter, #f8fafc);
|
|
5630
5634
|
}
|
|
5631
5635
|
|
|
5632
5636
|
.funui_store_image-container img {
|
|
@@ -5670,7 +5674,8 @@ background-color: rgba(0, 0, 0, 0.2);
|
|
|
5670
5674
|
.funui_store_badge {
|
|
5671
5675
|
padding: 4px 10px;
|
|
5672
5676
|
border-radius: 12px;
|
|
5673
|
-
font-size:
|
|
5677
|
+
font-size: 0.75rem;
|
|
5678
|
+
font-weight: 600;
|
|
5674
5679
|
text-transform: uppercase;
|
|
5675
5680
|
letter-spacing: 0.5px;
|
|
5676
5681
|
color: white;
|
|
@@ -5679,118 +5684,728 @@ background-color: rgba(0, 0, 0, 0.2);
|
|
|
5679
5684
|
}
|
|
5680
5685
|
|
|
5681
5686
|
.funui_store_badge.new {
|
|
5682
|
-
background-color: var(--success);
|
|
5687
|
+
background-color: var(--success, #10b981);
|
|
5683
5688
|
}
|
|
5684
5689
|
|
|
5685
5690
|
.funui_store_badge.sale {
|
|
5686
|
-
background-color: #ef4444;
|
|
5691
|
+
background-color: #ef4444;
|
|
5687
5692
|
}
|
|
5688
5693
|
|
|
5689
5694
|
.funui_store_badge.discount {
|
|
5690
|
-
background-color: #3b82f6;
|
|
5695
|
+
background-color: #3b82f6;
|
|
5691
5696
|
}
|
|
5692
5697
|
|
|
5693
|
-
/* Product Info */
|
|
5694
|
-
.funui_store_product-info {
|
|
5695
|
-
flex: 1;
|
|
5696
|
-
display: flex;
|
|
5697
|
-
flex-direction: column;
|
|
5698
|
-
}
|
|
5699
5698
|
|
|
5700
|
-
.funui_store_product-category {
|
|
5701
|
-
font-size: 12px;
|
|
5702
|
-
text-transform: uppercase;
|
|
5703
|
-
letter-spacing: 0.5px;
|
|
5704
|
-
opacity: 0.8;
|
|
5705
|
-
}
|
|
5706
|
-
|
|
5707
|
-
.funui_store_product-name {
|
|
5708
|
-
display: -webkit-box;
|
|
5709
|
-
-webkit-line-clamp: 2;
|
|
5710
|
-
-webkit-box-orient: vertical;
|
|
5711
|
-
overflow: hidden;
|
|
5712
|
-
}
|
|
5713
5699
|
|
|
5714
5700
|
/* Prices */
|
|
5715
5701
|
.funui_store_price-container {
|
|
5716
5702
|
display: flex;
|
|
5717
5703
|
align-items: center;
|
|
5718
5704
|
gap: 8px;
|
|
5719
|
-
margin-bottom:
|
|
5705
|
+
margin-bottom: 0.75rem;
|
|
5706
|
+
}
|
|
5707
|
+
|
|
5708
|
+
.funui_store_price {
|
|
5709
|
+
font-size: 1.25rem;
|
|
5710
|
+
font-weight: 700;
|
|
5711
|
+
color: var(--text, #1e293b);
|
|
5712
|
+
}
|
|
5713
|
+
|
|
5714
|
+
.funui_store_compare-price {
|
|
5715
|
+
font-size: 0.875rem;
|
|
5716
|
+
color: var(--text-light, #64748b);
|
|
5717
|
+
text-decoration: line-through;
|
|
5720
5718
|
}
|
|
5721
5719
|
|
|
5720
|
+
.funui_store_discount-percent {
|
|
5721
|
+
font-size: 0.875rem;
|
|
5722
|
+
font-weight: 600;
|
|
5723
|
+
color: var(--success, #10b981);
|
|
5724
|
+
}
|
|
5725
|
+
|
|
5726
|
+
/* Stock Info */
|
|
5722
5727
|
.funui_store_stock-info.out {
|
|
5723
|
-
color: #
|
|
5728
|
+
color: #dc2626;
|
|
5724
5729
|
}
|
|
5725
5730
|
|
|
5726
5731
|
.funui_store_stock-info.low {
|
|
5727
|
-
color: #
|
|
5732
|
+
color: #d97706;
|
|
5728
5733
|
}
|
|
5729
5734
|
|
|
5730
5735
|
.funui_store_stock-info.in {
|
|
5731
|
-
color: #
|
|
5736
|
+
color: #059669;
|
|
5732
5737
|
}
|
|
5733
5738
|
|
|
5734
5739
|
|
|
5735
5740
|
|
|
5736
|
-
|
|
5737
|
-
/* Cart container */
|
|
5741
|
+
/* Cart Icon */
|
|
5738
5742
|
.cart-icon {
|
|
5739
5743
|
position: relative;
|
|
5740
5744
|
background: none;
|
|
5741
5745
|
border: none;
|
|
5742
5746
|
cursor: pointer;
|
|
5743
|
-
padding:
|
|
5747
|
+
padding: 0.75rem;
|
|
5748
|
+
border-radius: 50%;
|
|
5749
|
+
transition: all 0.2s ease;
|
|
5744
5750
|
display: flex;
|
|
5745
5751
|
align-items: center;
|
|
5746
5752
|
justify-content: center;
|
|
5747
5753
|
}
|
|
5748
5754
|
|
|
5749
|
-
|
|
5755
|
+
.cart-icon:hover {
|
|
5756
|
+
color: var(--primary) !important;
|
|
5757
|
+
}
|
|
5758
|
+
|
|
5759
|
+
.cart-icon:disabled {
|
|
5760
|
+
opacity: 0.5;
|
|
5761
|
+
cursor: not-allowed;
|
|
5762
|
+
}
|
|
5763
|
+
|
|
5750
5764
|
.cart-badge {
|
|
5751
5765
|
position: absolute;
|
|
5752
5766
|
top: 0;
|
|
5753
5767
|
right: 0;
|
|
5754
|
-
min-width:
|
|
5755
|
-
height:
|
|
5756
|
-
|
|
5757
|
-
color: white;
|
|
5758
|
-
border-radius: 9px;
|
|
5759
|
-
font-size: 10px;
|
|
5768
|
+
min-width: 33px;
|
|
5769
|
+
height: 33px;
|
|
5770
|
+
border-radius: 11px;
|
|
5760
5771
|
display: flex;
|
|
5761
5772
|
align-items: center;
|
|
5762
5773
|
justify-content: center;
|
|
5774
|
+
font-size: 0.75rem;
|
|
5775
|
+
font-weight: 700;
|
|
5776
|
+
color: white;
|
|
5763
5777
|
transform: translate(30%, -30%);
|
|
5764
5778
|
}
|
|
5765
5779
|
|
|
5766
|
-
/*
|
|
5767
|
-
.
|
|
5768
|
-
|
|
5780
|
+
/* Search and Header */
|
|
5781
|
+
.store-header {
|
|
5782
|
+
background: white;
|
|
5783
|
+
padding: 1.5rem;
|
|
5784
|
+
border-radius: 12px;
|
|
5785
|
+
margin-bottom: 2rem;
|
|
5786
|
+
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
|
|
5787
|
+
border: 1px solid var(--border-color, #e2e8f0);
|
|
5788
|
+
}
|
|
5789
|
+
|
|
5790
|
+
.store-search-container {
|
|
5791
|
+
margin-bottom: 1.5rem;
|
|
5792
|
+
}
|
|
5793
|
+
|
|
5794
|
+
|
|
5795
|
+
/* Filter Options */
|
|
5796
|
+
.filter-options {
|
|
5797
|
+
display: flex;
|
|
5798
|
+
flex-direction: column;
|
|
5799
|
+
}
|
|
5800
|
+
|
|
5801
|
+
.filter-option {
|
|
5802
|
+
cursor: pointer;
|
|
5803
|
+
transition: all 0.2s ease;
|
|
5804
|
+
font-size: var(--smallerFont);
|
|
5805
|
+
padding: 0.3rem;
|
|
5806
|
+
border-radius: 0.3rem;
|
|
5807
|
+
}
|
|
5808
|
+
|
|
5809
|
+
.filter-option:hover {
|
|
5810
|
+
background-color: var(--lighter);
|
|
5811
|
+
color: var(--primary);
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
/* Mobile Filters Button */
|
|
5815
|
+
.mobile-filters-button {
|
|
5816
|
+
width: 100%;
|
|
5817
|
+
margin-bottom: 1.5rem;
|
|
5818
|
+
}
|
|
5819
|
+
|
|
5820
|
+
|
|
5821
|
+
|
|
5822
|
+
.pagination-numbers {
|
|
5823
|
+
display: flex;
|
|
5824
|
+
gap: 0.25rem;
|
|
5825
|
+
align-items: center;
|
|
5826
|
+
}
|
|
5827
|
+
|
|
5828
|
+
/* Accordion Custom Styles */
|
|
5829
|
+
.store-accordion-item {
|
|
5830
|
+
border: 1px solid var(--border-color, #e2e8f0);
|
|
5831
|
+
border-radius: 8px;
|
|
5832
|
+
margin-bottom: 0.75rem;
|
|
5769
5833
|
overflow: hidden;
|
|
5770
|
-
|
|
5834
|
+
background: white;
|
|
5835
|
+
}
|
|
5836
|
+
|
|
5837
|
+
.store-accordion-header {
|
|
5838
|
+
padding: 1rem;
|
|
5839
|
+
cursor: pointer;
|
|
5840
|
+
display: flex;
|
|
5841
|
+
align-items: center;
|
|
5842
|
+
justify-content: space-between;
|
|
5843
|
+
transition: background-color 0.2s ease;
|
|
5844
|
+
font-weight: 600;
|
|
5845
|
+
color: var(--text, #1e293b);
|
|
5771
5846
|
}
|
|
5772
5847
|
|
|
5773
|
-
.
|
|
5848
|
+
.store-accordion-header:hover {
|
|
5849
|
+
background-color: var(--lighter, #f8fafc);
|
|
5850
|
+
}
|
|
5851
|
+
|
|
5852
|
+
.store-accordion-content {
|
|
5853
|
+
padding: 0;
|
|
5854
|
+
max-height: 0;
|
|
5855
|
+
overflow: hidden;
|
|
5856
|
+
transition: all 0.3s ease;
|
|
5857
|
+
}
|
|
5858
|
+
|
|
5859
|
+
.store-accordion-content.open {
|
|
5860
|
+
padding: 1rem;
|
|
5861
|
+
max-height: 500px;
|
|
5862
|
+
}
|
|
5863
|
+
|
|
5864
|
+
/* Scrollbar styling for filters sidebar */
|
|
5865
|
+
.store-filters-sidebar::-webkit-scrollbar {
|
|
5866
|
+
width: 6px;
|
|
5867
|
+
}
|
|
5868
|
+
|
|
5869
|
+
.store-filters-sidebar::-webkit-scrollbar-track {
|
|
5870
|
+
background: var(--lighter, #f1f5f9);
|
|
5871
|
+
border-radius: 3px;
|
|
5872
|
+
}
|
|
5873
|
+
|
|
5874
|
+
.store-filters-sidebar::-webkit-scrollbar-thumb {
|
|
5875
|
+
background: var(--light, #cbd5e1);
|
|
5876
|
+
border-radius: 3px;
|
|
5877
|
+
}
|
|
5878
|
+
|
|
5879
|
+
.store-filters-sidebar::-webkit-scrollbar-thumb:hover {
|
|
5880
|
+
background: var(--text-light, #94a3b8);
|
|
5881
|
+
}
|
|
5882
|
+
|
|
5883
|
+
/* Responsive Design */
|
|
5884
|
+
@media (max-width: 1024px) {
|
|
5885
|
+
.store-layout {
|
|
5886
|
+
gap: 1.5rem;
|
|
5887
|
+
}
|
|
5888
|
+
|
|
5889
|
+
.store-filters-sidebar {
|
|
5890
|
+
width: 250px;
|
|
5891
|
+
min-width: 250px;
|
|
5892
|
+
}
|
|
5893
|
+
|
|
5894
|
+
.hero-title {
|
|
5895
|
+
font-size: 2.75rem;
|
|
5896
|
+
}
|
|
5897
|
+
|
|
5898
|
+
.hero-description {
|
|
5899
|
+
font-size: 1.125rem;
|
|
5900
|
+
}
|
|
5901
|
+
}
|
|
5902
|
+
|
|
5903
|
+
@media (max-width: 768px) {
|
|
5904
|
+
.store-hero-section {
|
|
5905
|
+
height: 50vh;
|
|
5906
|
+
min-height: 400px;
|
|
5907
|
+
}
|
|
5908
|
+
|
|
5909
|
+
.hero-title {
|
|
5910
|
+
font-size: 2.25rem;
|
|
5911
|
+
}
|
|
5912
|
+
|
|
5913
|
+
.hero-description {
|
|
5914
|
+
font-size: 1rem;
|
|
5915
|
+
}
|
|
5916
|
+
|
|
5917
|
+
.store-main-content {
|
|
5918
|
+
padding: 1.5rem 0;
|
|
5919
|
+
}
|
|
5920
|
+
|
|
5921
|
+
.store-layout {
|
|
5922
|
+
flex-direction: column;
|
|
5923
|
+
gap: 1.5rem;
|
|
5924
|
+
}
|
|
5925
|
+
|
|
5926
|
+
.store-filters-sidebar {
|
|
5927
|
+
width: 100%;
|
|
5928
|
+
min-width: 100%;
|
|
5929
|
+
position: static;
|
|
5930
|
+
max-height: none;
|
|
5931
|
+
margin-right: 0;
|
|
5932
|
+
}
|
|
5933
|
+
|
|
5934
|
+
.store-products-area {
|
|
5935
|
+
width: 100%;
|
|
5936
|
+
}
|
|
5937
|
+
|
|
5938
|
+
.funui_products_grid {
|
|
5939
|
+
gap: 1rem;
|
|
5940
|
+
}
|
|
5941
|
+
}
|
|
5942
|
+
|
|
5943
|
+
@media (max-width: 640px) {
|
|
5944
|
+
.store-hero-section {
|
|
5945
|
+
height: 40vh;
|
|
5946
|
+
min-height: 350px;
|
|
5947
|
+
}
|
|
5948
|
+
|
|
5949
|
+
.hero-title {
|
|
5950
|
+
font-size: 1.875rem;
|
|
5951
|
+
}
|
|
5952
|
+
|
|
5953
|
+
.hero-description {
|
|
5954
|
+
font-size: 0.9375rem;
|
|
5955
|
+
}
|
|
5956
|
+
|
|
5957
|
+
.store-main-container {
|
|
5958
|
+
padding: 0 0.75rem;
|
|
5959
|
+
}
|
|
5960
|
+
|
|
5961
|
+
.store-main-content {
|
|
5962
|
+
padding: 1rem 0;
|
|
5963
|
+
}
|
|
5964
|
+
|
|
5965
|
+
.funui_store_product-info {
|
|
5966
|
+
padding: 1rem;
|
|
5967
|
+
}
|
|
5968
|
+
|
|
5969
|
+
.funui_store_product-name {
|
|
5970
|
+
font-size: 0.9375rem;
|
|
5971
|
+
}
|
|
5972
|
+
|
|
5973
|
+
.funui_store_price {
|
|
5974
|
+
font-size: 1.125rem;
|
|
5975
|
+
}
|
|
5976
|
+
}
|
|
5977
|
+
|
|
5978
|
+
@media (max-width: 480px) {
|
|
5979
|
+
.store-hero-section {
|
|
5980
|
+
min-height: 300px;
|
|
5981
|
+
}
|
|
5982
|
+
|
|
5983
|
+
.hero-title {
|
|
5984
|
+
font-size: 1.5rem;
|
|
5985
|
+
}
|
|
5986
|
+
|
|
5987
|
+
.hero-content {
|
|
5988
|
+
padding: 1.5rem;
|
|
5989
|
+
}
|
|
5990
|
+
|
|
5991
|
+
.funui_products_grid {
|
|
5992
|
+
gap: 0.75rem;
|
|
5993
|
+
}
|
|
5994
|
+
|
|
5995
|
+
.funui_store_product-actions {
|
|
5996
|
+
flex-direction: column;
|
|
5997
|
+
gap: 0.5rem;
|
|
5998
|
+
}
|
|
5999
|
+
}
|
|
6000
|
+
|
|
6001
|
+
|
|
6002
|
+
|
|
6003
|
+
/* form */
|
|
6004
|
+
/* Form Component CSS */
|
|
6005
|
+
.funui-form {
|
|
5774
6006
|
width: 100%;
|
|
5775
|
-
height: 100%;
|
|
5776
|
-
object-fit: cover;
|
|
5777
|
-
transition: transform 0.3s ease;
|
|
5778
6007
|
}
|
|
5779
6008
|
|
|
5780
|
-
.
|
|
5781
|
-
|
|
6009
|
+
.funui-form-wrapper {
|
|
6010
|
+
width: 100%;
|
|
6011
|
+
max-width: 100%;
|
|
5782
6012
|
}
|
|
5783
6013
|
|
|
5784
|
-
|
|
6014
|
+
/* Form Labels */
|
|
6015
|
+
.funui-form-label {
|
|
6016
|
+
display: block;
|
|
6017
|
+
margin-bottom: 0.5rem;
|
|
6018
|
+
font-weight: 500;
|
|
6019
|
+
color: var(--text);
|
|
6020
|
+
}
|
|
6021
|
+
|
|
6022
|
+
.funui-form-label.required::after {
|
|
6023
|
+
content: " *";
|
|
6024
|
+
color: var(--danger);
|
|
6025
|
+
}
|
|
6026
|
+
|
|
6027
|
+
/* Form Fields */
|
|
6028
|
+
.funui-form-field {
|
|
6029
|
+
margin-bottom: 1.5rem;
|
|
5785
6030
|
width: 100%;
|
|
5786
|
-
|
|
6031
|
+
}
|
|
6032
|
+
|
|
6033
|
+
.funui-form-field-error {
|
|
6034
|
+
animation: shake 0.3s ease-in-out;
|
|
6035
|
+
}
|
|
6036
|
+
|
|
6037
|
+
@keyframes shake {
|
|
6038
|
+
0%, 100% { transform: translateX(0); }
|
|
6039
|
+
10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
|
|
6040
|
+
20%, 40%, 60%, 80% { transform: translateX(5px); }
|
|
6041
|
+
}
|
|
6042
|
+
|
|
6043
|
+
/* Checkbox Styles */
|
|
6044
|
+
.funui-form-checkbox {
|
|
6045
|
+
display: flex;
|
|
6046
|
+
align-items: center;
|
|
6047
|
+
gap: 0.75rem;
|
|
6048
|
+
cursor: pointer;
|
|
6049
|
+
user-select: none;
|
|
6050
|
+
padding: 0.5rem 0;
|
|
6051
|
+
transition: all 0.2s ease;
|
|
6052
|
+
width: fit-content;
|
|
6053
|
+
border-radius: 0.375rem;
|
|
6054
|
+
}
|
|
6055
|
+
|
|
6056
|
+
.funui-form-checkbox:hover {
|
|
6057
|
+
background-color: rgba(var(--primary-rgb, 59, 130, 246), 0.05);
|
|
6058
|
+
}
|
|
6059
|
+
|
|
6060
|
+
.funui-form-checkbox.disabled {
|
|
6061
|
+
cursor: not-allowed;
|
|
6062
|
+
opacity: 0.6;
|
|
6063
|
+
}
|
|
6064
|
+
|
|
6065
|
+
.funui-form-checkbox-box {
|
|
6066
|
+
width: 1.25rem;
|
|
6067
|
+
height: 1.25rem;
|
|
6068
|
+
border: 2px solid var(--border);
|
|
6069
|
+
border-radius: 0.375rem;
|
|
6070
|
+
background-color: white;
|
|
6071
|
+
position: relative;
|
|
6072
|
+
transition: all 0.2s ease;
|
|
6073
|
+
flex-shrink: 0;
|
|
5787
6074
|
display: flex;
|
|
5788
6075
|
align-items: center;
|
|
5789
6076
|
justify-content: center;
|
|
5790
|
-
background-color: var(--lighter);
|
|
5791
6077
|
}
|
|
5792
6078
|
|
|
6079
|
+
.funui-form-checkbox-box:hover {
|
|
6080
|
+
border-color: var(--primary-light);
|
|
6081
|
+
}
|
|
6082
|
+
|
|
6083
|
+
.funui-form-checkbox-box.checked {
|
|
6084
|
+
border-color: var(--primary);
|
|
6085
|
+
background-color: var(--primary);
|
|
6086
|
+
}
|
|
6087
|
+
|
|
6088
|
+
.funui-form-checkbox-box.checked::after {
|
|
6089
|
+
content: '';
|
|
6090
|
+
position: absolute;
|
|
6091
|
+
width: 0.75rem;
|
|
6092
|
+
height: 0.75rem;
|
|
6093
|
+
background-color: white;
|
|
6094
|
+
border-radius: 0.125rem;
|
|
6095
|
+
transform: scale(1);
|
|
6096
|
+
transition: transform 0.2s ease;
|
|
6097
|
+
}
|
|
6098
|
+
|
|
6099
|
+
/* Alternative checkmark style (using SVG-like pseudo-element) */
|
|
6100
|
+
.funui-form-checkbox-box.checked.checkmark::after {
|
|
6101
|
+
content: '';
|
|
6102
|
+
width: 0.375rem;
|
|
6103
|
+
height: 0.75rem;
|
|
6104
|
+
border: solid white;
|
|
6105
|
+
border-width: 0 2px 2px 0;
|
|
6106
|
+
background-color: transparent;
|
|
6107
|
+
border-radius: 0;
|
|
6108
|
+
transform: rotate(45deg) translate(-1px, -1px);
|
|
6109
|
+
margin-top: -2px;
|
|
6110
|
+
}
|
|
6111
|
+
|
|
6112
|
+
.funui-form-checkbox-label {
|
|
6113
|
+
font-size: 0.9375rem;
|
|
6114
|
+
color: var(--text);
|
|
6115
|
+
font-weight: 400;
|
|
6116
|
+
line-height: 1.4;
|
|
6117
|
+
}
|
|
6118
|
+
|
|
6119
|
+
.funui-form-checkbox-label.checked {
|
|
6120
|
+
font-weight: 500;
|
|
6121
|
+
color: var(--primary);
|
|
6122
|
+
}
|
|
6123
|
+
|
|
6124
|
+
.funui-form-checkbox-label.required::after {
|
|
6125
|
+
content: " *";
|
|
6126
|
+
color: var(--danger);
|
|
6127
|
+
}
|
|
6128
|
+
|
|
6129
|
+
/* Radio Button Styles */
|
|
6130
|
+
.funui-form-radio {
|
|
6131
|
+
display: flex;
|
|
6132
|
+
align-items: center;
|
|
6133
|
+
gap: 0.75rem;
|
|
6134
|
+
cursor: pointer;
|
|
6135
|
+
user-select: none;
|
|
6136
|
+
padding: 0.5rem 0;
|
|
6137
|
+
transition: all 0.2s ease;
|
|
6138
|
+
width: fit-content;
|
|
6139
|
+
border-radius: 0.375rem;
|
|
6140
|
+
}
|
|
6141
|
+
|
|
6142
|
+
.funui-form-radio:hover {
|
|
6143
|
+
background-color: rgba(var(--primary-rgb, 59, 130, 246), 0.05);
|
|
6144
|
+
}
|
|
6145
|
+
|
|
6146
|
+
.funui-form-radio.disabled {
|
|
6147
|
+
cursor: not-allowed;
|
|
6148
|
+
opacity: 0.6;
|
|
6149
|
+
}
|
|
6150
|
+
|
|
6151
|
+
.funui-form-radio-circle {
|
|
6152
|
+
width: 1.25rem;
|
|
6153
|
+
height: 1.25rem;
|
|
6154
|
+
border: 2px solid var(--border);
|
|
6155
|
+
border-radius: 50%;
|
|
6156
|
+
background-color: white;
|
|
6157
|
+
position: relative;
|
|
6158
|
+
transition: all 0.2s ease;
|
|
6159
|
+
flex-shrink: 0;
|
|
6160
|
+
display: flex;
|
|
6161
|
+
align-items: center;
|
|
6162
|
+
justify-content: center;
|
|
6163
|
+
}
|
|
6164
|
+
|
|
6165
|
+
.funui-form-radio-circle:hover {
|
|
6166
|
+
border-color: var(--primary-light);
|
|
6167
|
+
}
|
|
6168
|
+
|
|
6169
|
+
.funui-form-radio-circle.checked {
|
|
6170
|
+
border-color: var(--primary);
|
|
6171
|
+
}
|
|
6172
|
+
|
|
6173
|
+
.funui-form-radio-circle.checked::after {
|
|
6174
|
+
content: '';
|
|
6175
|
+
position: absolute;
|
|
6176
|
+
width: 0.75rem;
|
|
6177
|
+
height: 0.75rem;
|
|
6178
|
+
background-color: var(--primary);
|
|
6179
|
+
border-radius: 50%;
|
|
6180
|
+
transform: scale(1);
|
|
6181
|
+
transition: transform 0.2s ease;
|
|
6182
|
+
}
|
|
6183
|
+
|
|
6184
|
+
.funui-form-radio-label {
|
|
6185
|
+
font-size: 0.9375rem;
|
|
6186
|
+
color: var(--text);
|
|
6187
|
+
font-weight: 400;
|
|
6188
|
+
line-height: 1.4;
|
|
6189
|
+
}
|
|
6190
|
+
|
|
6191
|
+
.funui-form-radio-label.checked {
|
|
6192
|
+
font-weight: 500;
|
|
6193
|
+
color: var(--primary);
|
|
6194
|
+
}
|
|
6195
|
+
|
|
6196
|
+
.funui-form-radio-label.required::after {
|
|
6197
|
+
content: " *";
|
|
6198
|
+
color: var(--danger);
|
|
6199
|
+
}
|
|
6200
|
+
|
|
6201
|
+
/* Form Groups (for multiple checkboxes/radios) */
|
|
6202
|
+
.funui-form-group {
|
|
6203
|
+
display: flex;
|
|
6204
|
+
flex-direction: column;
|
|
6205
|
+
gap: 0.75rem;
|
|
6206
|
+
margin-bottom: 1rem;
|
|
6207
|
+
}
|
|
6208
|
+
|
|
6209
|
+
.funui-form-group.horizontal {
|
|
6210
|
+
flex-direction: row;
|
|
6211
|
+
flex-wrap: wrap;
|
|
6212
|
+
gap: 1.5rem;
|
|
6213
|
+
}
|
|
6214
|
+
|
|
6215
|
+
/* Form States */
|
|
6216
|
+
.funui-form-checkbox-box.error,
|
|
6217
|
+
.funui-form-radio-circle.error {
|
|
6218
|
+
border-color: var(--danger);
|
|
6219
|
+
animation: pulse-error 1.5s ease-in-out infinite;
|
|
6220
|
+
}
|
|
6221
|
+
|
|
6222
|
+
.funui-form-checkbox-box.success,
|
|
6223
|
+
.funui-form-radio-circle.success {
|
|
6224
|
+
border-color: var(--success);
|
|
6225
|
+
}
|
|
6226
|
+
|
|
6227
|
+
.funui-form-checkbox-box.warning,
|
|
6228
|
+
.funui-form-radio-circle.warning {
|
|
6229
|
+
border-color: var(--warning);
|
|
6230
|
+
}
|
|
6231
|
+
|
|
6232
|
+
@keyframes pulse-error {
|
|
6233
|
+
0%, 100% { box-shadow: 0 0 0 0 rgba(var(--danger-rgb, 239, 68, 68), 0.4); }
|
|
6234
|
+
50% { box-shadow: 0 0 0 4px rgba(var(--danger-rgb, 239, 68, 68), 0); }
|
|
6235
|
+
}
|
|
5793
6236
|
|
|
6237
|
+
/* Focus States */
|
|
6238
|
+
.funui-form-checkbox input[type="checkbox"]:focus + .funui-form-checkbox-box,
|
|
6239
|
+
.funui-form-radio input[type="radio"]:focus + .funui-form-radio-circle {
|
|
6240
|
+
outline: 2px solid var(--primary-light);
|
|
6241
|
+
outline-offset: 2px;
|
|
6242
|
+
}
|
|
6243
|
+
|
|
6244
|
+
/* Compact Variant */
|
|
6245
|
+
.funui-form-checkbox.compact,
|
|
6246
|
+
.funui-form-radio.compact {
|
|
6247
|
+
padding: 0.25rem 0;
|
|
6248
|
+
gap: 0.5rem;
|
|
6249
|
+
}
|
|
6250
|
+
|
|
6251
|
+
.funui-form-checkbox.compact .funui-form-checkbox-box,
|
|
6252
|
+
.funui-form-radio.compact .funui-form-radio-circle {
|
|
6253
|
+
width: 1rem;
|
|
6254
|
+
height: 1rem;
|
|
6255
|
+
}
|
|
6256
|
+
|
|
6257
|
+
.funui-form-checkbox.compact .funui-form-checkbox-box.checked::after,
|
|
6258
|
+
.funui-form-radio.compact .funui-form-radio-circle.checked::after {
|
|
6259
|
+
width: 0.5rem;
|
|
6260
|
+
height: 0.5rem;
|
|
6261
|
+
}
|
|
6262
|
+
|
|
6263
|
+
/* Full Width Variant */
|
|
6264
|
+
.funui-form-checkbox.full-width,
|
|
6265
|
+
.funui-form-radio.full-width {
|
|
6266
|
+
width: 100%;
|
|
6267
|
+
justify-content: space-between;
|
|
6268
|
+
padding: 0.75rem 1rem;
|
|
6269
|
+
border: 1px solid var(--border);
|
|
6270
|
+
border-radius: 0.5rem;
|
|
6271
|
+
background-color: white;
|
|
6272
|
+
}
|
|
6273
|
+
|
|
6274
|
+
.funui-form-checkbox.full-width:hover,
|
|
6275
|
+
.funui-form-radio.full-width:hover {
|
|
6276
|
+
border-color: var(--primary-light);
|
|
6277
|
+
background-color: rgba(var(--primary-rgb, 59, 130, 246), 0.03);
|
|
6278
|
+
}
|
|
6279
|
+
|
|
6280
|
+
.funui-form-checkbox.full-width.checked,
|
|
6281
|
+
.funui-form-radio.full-width.checked {
|
|
6282
|
+
border-color: var(--primary);
|
|
6283
|
+
background-color: rgba(var(--primary-rgb, 59, 130, 246), 0.08);
|
|
6284
|
+
}
|
|
6285
|
+
|
|
6286
|
+
/* Accessibility */
|
|
6287
|
+
.funui-form-checkbox input[type="checkbox"],
|
|
6288
|
+
.funui-form-radio input[type="radio"] {
|
|
6289
|
+
position: absolute;
|
|
6290
|
+
opacity: 0;
|
|
6291
|
+
width: 1px;
|
|
6292
|
+
height: 1px;
|
|
6293
|
+
margin: -1px;
|
|
6294
|
+
padding: 0;
|
|
6295
|
+
overflow: hidden;
|
|
6296
|
+
clip: rect(0, 0, 0, 0);
|
|
6297
|
+
white-space: nowrap;
|
|
6298
|
+
border: 0;
|
|
6299
|
+
}
|
|
6300
|
+
|
|
6301
|
+
/* Form Error States */
|
|
6302
|
+
.funui-form-error {
|
|
6303
|
+
padding: 0.75rem;
|
|
6304
|
+
background-color: var(--danger-light);
|
|
6305
|
+
border: 1px solid var(--danger);
|
|
6306
|
+
border-radius: 0.375rem;
|
|
6307
|
+
margin-bottom: 1rem;
|
|
6308
|
+
animation: slideDown 0.3s ease;
|
|
6309
|
+
}
|
|
6310
|
+
|
|
6311
|
+
|
|
6312
|
+
/* Spinner Animation */
|
|
6313
|
+
.spin {
|
|
6314
|
+
animation: spin 1s linear infinite;
|
|
6315
|
+
}
|
|
6316
|
+
|
|
6317
|
+
@keyframes spin {
|
|
6318
|
+
from {
|
|
6319
|
+
transform: rotate(0deg);
|
|
6320
|
+
}
|
|
6321
|
+
to {
|
|
6322
|
+
transform: rotate(360deg);
|
|
6323
|
+
}
|
|
6324
|
+
}
|
|
6325
|
+
|
|
6326
|
+
.flex-center {
|
|
6327
|
+
display: flex;
|
|
6328
|
+
align-items: center;
|
|
6329
|
+
justify-content: center;
|
|
6330
|
+
}
|
|
6331
|
+
|
|
6332
|
+
|
|
6333
|
+
|
|
6334
|
+
|
|
6335
|
+
|
|
6336
|
+
/* Spinner Animation */
|
|
6337
|
+
.spin {
|
|
6338
|
+
animation: spin 1s linear infinite;
|
|
6339
|
+
}
|
|
6340
|
+
|
|
6341
|
+
@keyframes spin {
|
|
6342
|
+
from {
|
|
6343
|
+
transform: rotate(0deg);
|
|
6344
|
+
}
|
|
6345
|
+
to {
|
|
6346
|
+
transform: rotate(360deg);
|
|
6347
|
+
}
|
|
6348
|
+
}
|
|
6349
|
+
|
|
6350
|
+
|
|
6351
|
+
|
|
6352
|
+
/* Responsive Design */
|
|
6353
|
+
@media (max-width: 768px) {
|
|
6354
|
+
.store-hero-section {
|
|
6355
|
+
height: 40vh;
|
|
6356
|
+
min-height: 300px;
|
|
6357
|
+
}
|
|
6358
|
+
|
|
6359
|
+
.hero-title {
|
|
6360
|
+
font-size: 2rem;
|
|
6361
|
+
}
|
|
6362
|
+
|
|
6363
|
+
.hero-description {
|
|
6364
|
+
font-size: 1rem;
|
|
6365
|
+
}
|
|
6366
|
+
|
|
6367
|
+
.funui_products_grid {
|
|
6368
|
+
gap: 1rem;
|
|
6369
|
+
}
|
|
6370
|
+
|
|
6371
|
+
.store-main-content {
|
|
6372
|
+
padding: 1rem;
|
|
6373
|
+
}
|
|
6374
|
+
}
|
|
6375
|
+
|
|
6376
|
+
@media (max-width: 480px) {
|
|
6377
|
+
.hero-title {
|
|
6378
|
+
font-size: 1.75rem;
|
|
6379
|
+
}
|
|
6380
|
+
|
|
6381
|
+
.hero-description {
|
|
6382
|
+
font-size: 0.9rem;
|
|
6383
|
+
}
|
|
6384
|
+
|
|
6385
|
+
.store-hero-section {
|
|
6386
|
+
min-height: 250px;
|
|
6387
|
+
}
|
|
6388
|
+
}
|
|
6389
|
+
|
|
6390
|
+
|
|
6391
|
+
/* Custom scrollbar for filters sidebar */
|
|
6392
|
+
.store-filters-sidebar::-webkit-scrollbar {
|
|
6393
|
+
width: 6px;
|
|
6394
|
+
}
|
|
6395
|
+
|
|
6396
|
+
.store-filters-sidebar::-webkit-scrollbar-track {
|
|
6397
|
+
background: #f1f1f1;
|
|
6398
|
+
border-radius: 3px;
|
|
6399
|
+
}
|
|
6400
|
+
|
|
6401
|
+
.store-filters-sidebar::-webkit-scrollbar-thumb {
|
|
6402
|
+
background: #c1c1c1;
|
|
6403
|
+
border-radius: 3px;
|
|
6404
|
+
}
|
|
6405
|
+
|
|
6406
|
+
.store-filters-sidebar::-webkit-scrollbar-thumb:hover {
|
|
6407
|
+
background: #a1a1a1;
|
|
6408
|
+
}
|
|
5794
6409
|
|
|
5795
6410
|
/* components */
|
|
5796
6411
|
.image-scaler-container {
|