@shohojdhara/atomix 0.2.9 → 0.3.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.
- package/CHANGELOG.md +4 -0
- package/dist/atomix.css +309 -105
- package/dist/atomix.min.css +3 -5
- package/dist/index.d.ts +807 -51
- package/dist/index.esm.js +16367 -16405
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +16277 -16330
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/themes/applemix.css +309 -105
- package/dist/themes/applemix.min.css +5 -7
- package/dist/themes/boomdevs.css +202 -10
- package/dist/themes/boomdevs.min.css +3 -5
- package/dist/themes/esrar.css +309 -105
- package/dist/themes/esrar.min.css +4 -6
- package/dist/themes/flashtrade.css +310 -105
- package/dist/themes/flashtrade.min.css +5 -7
- package/dist/themes/mashroom.css +300 -96
- package/dist/themes/mashroom.min.css +4 -6
- package/dist/themes/shaj-default.css +300 -96
- package/dist/themes/shaj-default.min.css +4 -6
- package/package.json +1 -1
- package/src/components/AtomixGlass/AtomixGlass.test.tsx +21 -32
- package/src/components/AtomixGlass/AtomixGlass.tsx +55 -42
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +205 -57
- package/src/components/AtomixGlass/GlassFilter.tsx +22 -8
- package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +221 -0
- package/src/components/AtomixGlass/atomixGLass.old.tsx +0 -3
- package/src/components/AtomixGlass/shader-utils.ts +8 -0
- package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +319 -100
- package/src/components/AtomixGlass/stories/Examples.stories.tsx +601 -105
- package/src/components/AtomixGlass/stories/Modes.stories.tsx +30 -12
- package/src/components/AtomixGlass/stories/Playground.stories.tsx +173 -38
- package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +18 -18
- package/src/components/AtomixGlass/stories/shared-components.tsx +27 -5
- package/src/components/Breadcrumb/Breadcrumb.tsx +8 -3
- package/src/components/Button/Button.tsx +62 -17
- package/src/components/Callout/Callout.test.tsx +8 -14
- package/src/components/Card/Card.tsx +103 -1
- package/src/components/Card/index.ts +3 -2
- package/src/components/Footer/Footer.stories.tsx +1 -2
- package/src/components/Footer/Footer.tsx +0 -5
- package/src/components/Footer/FooterLink.tsx +3 -2
- package/src/components/Footer/FooterSection.tsx +0 -7
- package/src/components/Icon/index.ts +1 -1
- package/src/components/Modal/Modal.stories.tsx +29 -38
- package/src/components/Modal/Modal.tsx +4 -4
- package/src/components/Navigation/Nav/NavItem.tsx +8 -3
- package/src/components/Navigation/SideMenu/SideMenu.tsx +49 -41
- package/src/components/Navigation/SideMenu/SideMenuItem.tsx +63 -19
- package/src/components/Popover/Popover.tsx +1 -1
- package/src/components/VideoPlayer/VideoPlayer.stories.tsx +977 -400
- package/src/components/VideoPlayer/VideoPlayer.tsx +1 -6
- package/src/lib/composables/shared-mouse-tracker.ts +133 -0
- package/src/lib/composables/useAtomixGlass.ts +303 -115
- package/src/lib/theme/ThemeManager.integration.test.ts +124 -0
- package/src/lib/theme/ThemeManager.stories.tsx +13 -13
- package/src/lib/theme/ThemeManager.test.ts +4 -0
- package/src/lib/theme/ThemeManager.ts +203 -59
- package/src/lib/theme/ThemeProvider.tsx +183 -33
- package/src/lib/theme/composeTheme.ts +375 -0
- package/src/lib/theme/createTheme.test.ts +475 -0
- package/src/lib/theme/createTheme.ts +510 -0
- package/src/lib/theme/generateCSSVariables.ts +713 -0
- package/src/lib/theme/index.ts +67 -0
- package/src/lib/theme/themeUtils.ts +333 -0
- package/src/lib/theme/types.ts +337 -8
- package/src/lib/theme/useTheme.test.tsx +2 -1
- package/src/lib/theme/useTheme.ts +6 -22
- package/src/lib/types/components.ts +152 -57
- package/src/styles/01-settings/_index.scss +2 -2
- package/src/styles/01-settings/_settings.badge.scss +2 -2
- package/src/styles/01-settings/_settings.border-radius.scss +1 -1
- package/src/styles/01-settings/{_settings.maps.scss → _settings.design-tokens.scss} +163 -49
- package/src/styles/01-settings/_settings.modal.scss +1 -1
- package/src/styles/01-settings/_settings.spacing.scss +14 -13
- package/src/styles/03-generic/_generic.root.scss +131 -50
- package/src/styles/05-objects/_objects.block.scss +1 -1
- package/src/styles/06-components/_components.atomix-glass.scss +20 -22
- package/src/styles/06-components/_components.badge.scss +2 -2
- package/src/styles/06-components/_components.button.scss +1 -1
- package/src/styles/06-components/_components.callout.scss +1 -1
- package/src/styles/06-components/_components.card.scss +74 -2
- package/src/styles/06-components/_components.chart.scss +1 -1
- package/src/styles/06-components/_components.dropdown.scss +6 -0
- package/src/styles/06-components/_components.footer.scss +1 -1
- package/src/styles/06-components/_components.list-group.scss +1 -1
- package/src/styles/06-components/_components.list.scss +1 -1
- package/src/styles/06-components/_components.menu.scss +1 -1
- package/src/styles/06-components/_components.messages.scss +1 -1
- package/src/styles/06-components/_components.modal.scss +7 -2
- package/src/styles/06-components/_components.navbar.scss +1 -1
- package/src/styles/06-components/_components.popover.scss +10 -0
- package/src/styles/06-components/_components.product-review.scss +1 -1
- package/src/styles/06-components/_components.progress.scss +1 -1
- package/src/styles/06-components/_components.rating.scss +1 -1
- package/src/styles/06-components/_components.spinner.scss +1 -1
- package/src/styles/99-utilities/_utilities.background.scss +1 -1
- package/src/styles/99-utilities/_utilities.border.scss +1 -1
- package/src/styles/99-utilities/_utilities.link.scss +1 -1
- package/src/styles/99-utilities/_utilities.text.scss +1 -1
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import { Meta, StoryObj } from '@storybook/react';
|
|
13
13
|
import AtomixGlass from '../AtomixGlass';
|
|
14
14
|
import Button from '../../Button/Button';
|
|
15
|
+
import Badge from '../../Badge/Badge';
|
|
15
16
|
import { useState, useEffect, useCallback, useMemo, useRef } from 'react';
|
|
16
17
|
import React from 'react';
|
|
17
18
|
import type { RefObject } from 'react';
|
|
@@ -493,20 +494,95 @@ const backgrounds = {
|
|
|
493
494
|
export const Default: Story = {
|
|
494
495
|
args: {
|
|
495
496
|
children: (
|
|
496
|
-
<div style={{ padding: '
|
|
497
|
-
<
|
|
498
|
-
|
|
497
|
+
<div style={{ padding: '40px', textAlign: 'center', maxWidth: '500px' }}>
|
|
498
|
+
<div
|
|
499
|
+
style={{
|
|
500
|
+
width: '80px',
|
|
501
|
+
height: '80px',
|
|
502
|
+
margin: '0 auto 24px',
|
|
503
|
+
borderRadius: '20px',
|
|
504
|
+
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
505
|
+
display: 'flex',
|
|
506
|
+
alignItems: 'center',
|
|
507
|
+
justifyContent: 'center',
|
|
508
|
+
fontSize: '40px',
|
|
509
|
+
boxShadow: '0 12px 32px rgba(102, 126, 234, 0.4)',
|
|
510
|
+
}}
|
|
511
|
+
>
|
|
512
|
+
✨
|
|
513
|
+
</div>
|
|
514
|
+
<h2
|
|
515
|
+
style={{
|
|
516
|
+
margin: '0 0 16px 0',
|
|
517
|
+
fontSize: '32px',
|
|
518
|
+
fontWeight: 700,
|
|
519
|
+
background: 'linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.8) 100%)',
|
|
520
|
+
WebkitBackgroundClip: 'text',
|
|
521
|
+
WebkitTextFillColor: 'transparent',
|
|
522
|
+
backgroundClip: 'text',
|
|
523
|
+
letterSpacing: '-0.5px',
|
|
524
|
+
}}
|
|
525
|
+
>
|
|
526
|
+
AtomixGlass
|
|
527
|
+
</h2>
|
|
528
|
+
<p
|
|
529
|
+
style={{
|
|
530
|
+
margin: '0 0 28px 0',
|
|
531
|
+
fontSize: '17px',
|
|
532
|
+
lineHeight: 1.7,
|
|
533
|
+
color: 'rgba(255, 255, 255, 0.9)',
|
|
534
|
+
}}
|
|
535
|
+
>
|
|
499
536
|
A premium glass morphism component with realistic light refraction, chromatic aberration,
|
|
500
|
-
and interactive effects.
|
|
537
|
+
and interactive effects. Perfect for modern, elegant UI designs.
|
|
501
538
|
</p>
|
|
502
|
-
<div
|
|
539
|
+
<div
|
|
540
|
+
style={{
|
|
541
|
+
display: 'flex',
|
|
542
|
+
justifyContent: 'center',
|
|
543
|
+
gap: '12px',
|
|
544
|
+
flexWrap: 'wrap',
|
|
545
|
+
marginBottom: '24px',
|
|
546
|
+
}}
|
|
547
|
+
>
|
|
503
548
|
<Button variant="primary" glass>
|
|
504
|
-
|
|
549
|
+
Get Started
|
|
505
550
|
</Button>
|
|
506
551
|
<Button variant="outline-primary" glass>
|
|
507
|
-
|
|
552
|
+
View Docs
|
|
508
553
|
</Button>
|
|
509
554
|
</div>
|
|
555
|
+
<div
|
|
556
|
+
style={{
|
|
557
|
+
display: 'flex',
|
|
558
|
+
justifyContent: 'center',
|
|
559
|
+
gap: '16px',
|
|
560
|
+
flexWrap: 'wrap',
|
|
561
|
+
marginTop: '24px',
|
|
562
|
+
paddingTop: '24px',
|
|
563
|
+
borderTop: '1px solid rgba(255,255,255,0.1)',
|
|
564
|
+
}}
|
|
565
|
+
>
|
|
566
|
+
{[
|
|
567
|
+
{ label: 'Performance', value: '⚡ Optimized' },
|
|
568
|
+
{ label: 'Quality', value: '💎 Premium' },
|
|
569
|
+
{ label: 'Compatibility', value: '🌐 Universal' },
|
|
570
|
+
].map((item, idx) => (
|
|
571
|
+
<div
|
|
572
|
+
key={idx}
|
|
573
|
+
style={{
|
|
574
|
+
textAlign: 'center',
|
|
575
|
+
padding: '8px 16px',
|
|
576
|
+
borderRadius: '12px',
|
|
577
|
+
background: 'rgba(255,255,255,0.08)',
|
|
578
|
+
backdropFilter: 'blur(8px)',
|
|
579
|
+
}}
|
|
580
|
+
>
|
|
581
|
+
<div style={{ fontSize: '12px', opacity: 0.7, marginBottom: '4px' }}>{item.label}</div>
|
|
582
|
+
<div style={{ fontSize: '14px', fontWeight: 600 }}>{item.value}</div>
|
|
583
|
+
</div>
|
|
584
|
+
))}
|
|
585
|
+
</div>
|
|
510
586
|
</div>
|
|
511
587
|
),
|
|
512
588
|
},
|
|
@@ -521,7 +597,7 @@ export const Default: Story = {
|
|
|
521
597
|
docs: {
|
|
522
598
|
description: {
|
|
523
599
|
story:
|
|
524
|
-
'The default configuration of AtomixGlass with optimal parameters for a realistic glass effect. This component mimics the Apple-style liquid glass UI with chromatic aberration and displacement effects.',
|
|
600
|
+
'The default configuration of AtomixGlass with optimal parameters for a realistic glass effect. This component mimics the Apple-style liquid glass UI with chromatic aberration and displacement effects. Perfect for cards, modals, and premium UI elements.',
|
|
525
601
|
},
|
|
526
602
|
},
|
|
527
603
|
},
|
|
@@ -617,139 +693,256 @@ export const Modes: Story = {
|
|
|
617
693
|
<div>
|
|
618
694
|
<div
|
|
619
695
|
style={{
|
|
620
|
-
padding: '20px
|
|
696
|
+
padding: '40px 20px',
|
|
621
697
|
textAlign: 'center',
|
|
622
|
-
marginBottom: '
|
|
698
|
+
marginBottom: '60px',
|
|
623
699
|
}}
|
|
624
700
|
>
|
|
625
|
-
<
|
|
701
|
+
<AtomixGlass
|
|
702
|
+
mode="standard"
|
|
703
|
+
displacementScale={60}
|
|
704
|
+
blurAmount={1}
|
|
705
|
+
saturation={130}
|
|
706
|
+
cornerRadius={24}
|
|
707
|
+
elasticity={0.1}
|
|
708
|
+
style={{ marginBottom: '24px', display: 'inline-block' }}
|
|
709
|
+
>
|
|
710
|
+
<div
|
|
711
|
+
style={{
|
|
712
|
+
padding: '12px 24px',
|
|
713
|
+
display: 'inline-flex',
|
|
714
|
+
alignItems: 'center',
|
|
715
|
+
gap: '8px',
|
|
716
|
+
fontSize: '13px',
|
|
717
|
+
fontWeight: 700,
|
|
718
|
+
letterSpacing: '1px',
|
|
719
|
+
textTransform: 'uppercase',
|
|
720
|
+
color: 'rgba(255, 255, 255, 0.9)',
|
|
721
|
+
}}
|
|
722
|
+
>
|
|
723
|
+
<span>🎨</span>
|
|
724
|
+
<span>Four Rendering Modes</span>
|
|
725
|
+
</div>
|
|
726
|
+
</AtomixGlass>
|
|
727
|
+
<h1
|
|
626
728
|
style={{
|
|
627
|
-
margin: '0 0
|
|
628
|
-
fontSize: '
|
|
629
|
-
fontWeight:
|
|
630
|
-
|
|
631
|
-
|
|
729
|
+
margin: '0 0 20px 0',
|
|
730
|
+
fontSize: '56px',
|
|
731
|
+
fontWeight: 700,
|
|
732
|
+
background: 'linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.7) 100%)',
|
|
733
|
+
WebkitBackgroundClip: 'text',
|
|
734
|
+
WebkitTextFillColor: 'transparent',
|
|
735
|
+
backgroundClip: 'text',
|
|
736
|
+
letterSpacing: '-1.5px',
|
|
737
|
+
textShadow: '0 4px 12px rgba(0,0,0,0.1)',
|
|
632
738
|
}}
|
|
633
739
|
>
|
|
634
740
|
AtomixGlass Modes
|
|
635
|
-
</
|
|
741
|
+
</h1>
|
|
636
742
|
<p
|
|
637
743
|
style={{
|
|
638
|
-
fontSize: '
|
|
639
|
-
maxWidth: '
|
|
744
|
+
fontSize: '18px',
|
|
745
|
+
maxWidth: '680px',
|
|
640
746
|
margin: '0 auto',
|
|
641
|
-
color: '
|
|
642
|
-
|
|
747
|
+
color: 'rgba(255, 255, 255, 0.9)',
|
|
748
|
+
lineHeight: 1.7,
|
|
749
|
+
textShadow: '0 2px 4px rgba(0,0,0,0.2)',
|
|
643
750
|
}}
|
|
644
751
|
>
|
|
645
|
-
|
|
646
|
-
the
|
|
752
|
+
Explore four distinct rendering modes, each optimized for different visual styles and
|
|
753
|
+
performance requirements. Click or hover over each card to see the mode in action.
|
|
647
754
|
</p>
|
|
648
755
|
</div>
|
|
649
756
|
|
|
650
757
|
<div
|
|
651
758
|
style={{
|
|
652
|
-
display: '
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
width: '70vw',
|
|
759
|
+
display: 'grid',
|
|
760
|
+
gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))',
|
|
761
|
+
gap: '28px',
|
|
762
|
+
width: '100%',
|
|
763
|
+
maxWidth: '1400px',
|
|
658
764
|
}}
|
|
659
765
|
>
|
|
660
766
|
{modes.map(mode => {
|
|
661
767
|
const settings = modeSettings[mode];
|
|
662
768
|
const isActive = activeMode === mode;
|
|
769
|
+
const modeIcons = {
|
|
770
|
+
standard: '✨',
|
|
771
|
+
polar: '🌀',
|
|
772
|
+
prominent: '💫',
|
|
773
|
+
shader: '🔮',
|
|
774
|
+
};
|
|
663
775
|
|
|
664
776
|
return (
|
|
665
|
-
<
|
|
777
|
+
<div
|
|
666
778
|
key={mode}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
saturation={settings.saturation}
|
|
671
|
-
shaderVariant={settings.shaderVariant as any}
|
|
672
|
-
elasticity={0.2}
|
|
673
|
-
cornerRadius={40}
|
|
674
|
-
onClick={() => handleMouseEnter(mode)}
|
|
675
|
-
overLight={false}
|
|
779
|
+
onMouseEnter={() => handleMouseEnter(mode)}
|
|
780
|
+
onMouseLeave={handleMouseLeave}
|
|
781
|
+
style={{ cursor: 'pointer' }}
|
|
676
782
|
>
|
|
783
|
+
<AtomixGlass
|
|
784
|
+
mode={mode}
|
|
785
|
+
displacementScale={isActive ? settings.displacementScale * 1.2 : settings.displacementScale}
|
|
786
|
+
blurAmount={settings.blurAmount}
|
|
787
|
+
saturation={isActive ? settings.saturation + 20 : settings.saturation}
|
|
788
|
+
shaderVariant={settings.shaderVariant as any}
|
|
789
|
+
elasticity={0.2}
|
|
790
|
+
cornerRadius={32}
|
|
791
|
+
onClick={() => handleMouseEnter(mode)}
|
|
792
|
+
overLight={false}
|
|
793
|
+
style={{
|
|
794
|
+
transition: 'all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)',
|
|
795
|
+
transform: isActive ? 'scale(1.05) translateY(-8px)' : 'scale(1)',
|
|
796
|
+
boxShadow: isActive
|
|
797
|
+
? '0 20px 60px rgba(0,0,0,0.4)'
|
|
798
|
+
: '0 8px 24px rgba(0,0,0,0.2)',
|
|
799
|
+
}}
|
|
800
|
+
>
|
|
677
801
|
<div
|
|
678
802
|
style={{
|
|
679
|
-
padding: '
|
|
803
|
+
padding: '32px 28px',
|
|
680
804
|
textAlign: 'center',
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
805
|
+
minHeight: '320px',
|
|
806
|
+
display: 'flex',
|
|
807
|
+
flexDirection: 'column',
|
|
808
|
+
justifyContent: 'space-between',
|
|
685
809
|
}}
|
|
686
810
|
>
|
|
687
|
-
<
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
811
|
+
<div>
|
|
812
|
+
<div
|
|
813
|
+
style={{
|
|
814
|
+
width: '72px',
|
|
815
|
+
height: '72px',
|
|
816
|
+
margin: '0 auto 20px',
|
|
817
|
+
borderRadius: '20px',
|
|
818
|
+
background: `linear-gradient(135deg, ${
|
|
819
|
+
mode === 'standard'
|
|
820
|
+
? '#667eea, #764ba2'
|
|
821
|
+
: mode === 'polar'
|
|
822
|
+
? '#f093fb, #f5576c'
|
|
823
|
+
: mode === 'prominent'
|
|
824
|
+
? '#4facfe, #00f2fe'
|
|
825
|
+
: '#fa709a, #fee140'
|
|
826
|
+
})`,
|
|
827
|
+
display: 'flex',
|
|
828
|
+
alignItems: 'center',
|
|
829
|
+
justifyContent: 'center',
|
|
830
|
+
fontSize: '36px',
|
|
831
|
+
boxShadow: `0 12px 32px ${
|
|
832
|
+
mode === 'standard'
|
|
833
|
+
? 'rgba(102, 126, 234, 0.4)'
|
|
834
|
+
: mode === 'polar'
|
|
835
|
+
? 'rgba(245, 87, 108, 0.4)'
|
|
836
|
+
: mode === 'prominent'
|
|
837
|
+
? 'rgba(79, 172, 254, 0.4)'
|
|
838
|
+
: 'rgba(250, 112, 154, 0.4)'
|
|
839
|
+
}`,
|
|
840
|
+
position: 'relative',
|
|
841
|
+
transition: 'transform 0.3s ease',
|
|
842
|
+
transform: isActive ? 'scale(1.1) rotate(5deg)' : 'scale(1) rotate(0deg)',
|
|
843
|
+
}}
|
|
844
|
+
>
|
|
845
|
+
<div
|
|
846
|
+
style={{
|
|
847
|
+
position: 'absolute',
|
|
848
|
+
inset: '-4px',
|
|
849
|
+
borderRadius: '24px',
|
|
850
|
+
background: `linear-gradient(135deg, ${
|
|
851
|
+
mode === 'standard'
|
|
852
|
+
? '#667eea, #764ba2'
|
|
853
|
+
: mode === 'polar'
|
|
854
|
+
? '#f093fb, #f5576c'
|
|
855
|
+
: mode === 'prominent'
|
|
856
|
+
? '#4facfe, #00f2fe'
|
|
857
|
+
: '#fa709a, #fee140'
|
|
858
|
+
})`,
|
|
859
|
+
opacity: 0.4,
|
|
860
|
+
filter: 'blur(16px)',
|
|
861
|
+
}}
|
|
862
|
+
/>
|
|
863
|
+
<span style={{ position: 'relative', zIndex: 1 }}>
|
|
864
|
+
{modeIcons[mode as keyof typeof modeIcons]}
|
|
865
|
+
</span>
|
|
866
|
+
</div>
|
|
867
|
+
<h3
|
|
868
|
+
style={{
|
|
869
|
+
margin: '0 0 12px 0',
|
|
870
|
+
fontSize: '24px',
|
|
871
|
+
fontWeight: 700,
|
|
872
|
+
color: '#fff',
|
|
873
|
+
letterSpacing: '-0.5px',
|
|
874
|
+
}}
|
|
875
|
+
>
|
|
876
|
+
{mode.charAt(0).toUpperCase() + mode.slice(1)}
|
|
877
|
+
</h3>
|
|
878
|
+
<p
|
|
879
|
+
style={{
|
|
880
|
+
margin: '0 0 20px 0',
|
|
881
|
+
fontSize: '15px',
|
|
882
|
+
lineHeight: 1.6,
|
|
883
|
+
color: 'rgba(255, 255, 255, 0.85)',
|
|
884
|
+
}}
|
|
885
|
+
>
|
|
886
|
+
{settings.description}
|
|
887
|
+
</p>
|
|
888
|
+
</div>
|
|
707
889
|
<div
|
|
708
890
|
style={{
|
|
709
891
|
display: 'flex',
|
|
710
892
|
justifyContent: 'center',
|
|
711
893
|
alignItems: 'center',
|
|
712
894
|
gap: '8px',
|
|
713
|
-
marginTop: '12px',
|
|
714
895
|
flexWrap: 'wrap',
|
|
896
|
+
paddingTop: '20px',
|
|
897
|
+
borderTop: '1px solid rgba(255,255,255,0.1)',
|
|
715
898
|
}}
|
|
716
899
|
>
|
|
717
900
|
<span
|
|
718
901
|
style={{
|
|
719
|
-
fontSize: '
|
|
720
|
-
padding: '
|
|
721
|
-
borderRadius: '
|
|
722
|
-
backdropFilter: 'blur(
|
|
723
|
-
background: 'rgba(255,255,255,0.
|
|
902
|
+
fontSize: '11px',
|
|
903
|
+
padding: '6px 12px',
|
|
904
|
+
borderRadius: '8px',
|
|
905
|
+
backdropFilter: 'blur(8px)',
|
|
906
|
+
background: 'rgba(255,255,255,0.15)',
|
|
907
|
+
border: '1px solid rgba(255,255,255,0.2)',
|
|
908
|
+
fontFamily: 'monospace',
|
|
909
|
+
fontWeight: 600,
|
|
724
910
|
}}
|
|
725
911
|
>
|
|
726
|
-
|
|
912
|
+
Disp: {settings.displacementScale}
|
|
727
913
|
</span>
|
|
728
914
|
<span
|
|
729
915
|
style={{
|
|
730
|
-
fontSize: '
|
|
731
|
-
padding: '
|
|
732
|
-
borderRadius: '
|
|
733
|
-
background: 'rgba(255,255,255,0.
|
|
734
|
-
backdropFilter: 'blur(
|
|
916
|
+
fontSize: '11px',
|
|
917
|
+
padding: '6px 12px',
|
|
918
|
+
borderRadius: '8px',
|
|
919
|
+
background: 'rgba(255,255,255,0.15)',
|
|
920
|
+
backdropFilter: 'blur(8px)',
|
|
921
|
+
border: '1px solid rgba(255,255,255,0.2)',
|
|
922
|
+
fontFamily: 'monospace',
|
|
923
|
+
fontWeight: 600,
|
|
735
924
|
}}
|
|
736
925
|
>
|
|
737
926
|
Blur: {settings.blurAmount}
|
|
738
927
|
</span>
|
|
739
928
|
<span
|
|
740
929
|
style={{
|
|
741
|
-
fontSize: '
|
|
742
|
-
padding: '
|
|
743
|
-
borderRadius: '
|
|
744
|
-
backdropFilter: 'blur(
|
|
745
|
-
background: 'rgba(255,255,255,0.
|
|
930
|
+
fontSize: '11px',
|
|
931
|
+
padding: '6px 12px',
|
|
932
|
+
borderRadius: '8px',
|
|
933
|
+
backdropFilter: 'blur(8px)',
|
|
934
|
+
background: 'rgba(255,255,255,0.15)',
|
|
935
|
+
border: '1px solid rgba(255,255,255,0.2)',
|
|
936
|
+
fontFamily: 'monospace',
|
|
937
|
+
fontWeight: 600,
|
|
746
938
|
}}
|
|
747
939
|
>
|
|
748
|
-
|
|
940
|
+
Aber: {settings.aberrationIntensity}
|
|
749
941
|
</span>
|
|
750
942
|
</div>
|
|
751
943
|
</div>
|
|
752
944
|
</AtomixGlass>
|
|
945
|
+
</div>
|
|
753
946
|
);
|
|
754
947
|
})}
|
|
755
948
|
</div>
|
|
@@ -784,27 +977,33 @@ export const PerformanceOptimization: Story = {
|
|
|
784
977
|
<div style={{ margin: '0 auto', width: '100%' }}>
|
|
785
978
|
{/* Header Section */}
|
|
786
979
|
<div style={{ textAlign: 'center', marginBottom: '60px' }}>
|
|
980
|
+
<Badge variant="primary" label="Performance Guide" glass={{className: 'u-d-inline-block', children:<></>}} />
|
|
787
981
|
<h1
|
|
788
982
|
style={{
|
|
789
983
|
color: '#fff',
|
|
790
|
-
fontSize: '
|
|
791
|
-
fontWeight: '
|
|
792
|
-
marginBottom: '
|
|
984
|
+
fontSize: '3.5rem',
|
|
985
|
+
fontWeight: '800',
|
|
986
|
+
marginBottom: '20px',
|
|
793
987
|
letterSpacing: '-0.02em',
|
|
988
|
+
background: 'linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.8) 100%)',
|
|
989
|
+
WebkitBackgroundClip: 'text',
|
|
990
|
+
WebkitTextFillColor: 'transparent',
|
|
991
|
+
backgroundClip: 'text',
|
|
794
992
|
}}
|
|
795
993
|
>
|
|
796
994
|
Performance Optimization
|
|
797
995
|
</h1>
|
|
798
996
|
<p
|
|
799
997
|
style={{
|
|
800
|
-
color: 'rgba(255,255,255,0.
|
|
998
|
+
color: 'rgba(255,255,255,0.9)',
|
|
801
999
|
fontSize: '1.25rem',
|
|
802
|
-
maxWidth: '
|
|
1000
|
+
maxWidth: '720px',
|
|
803
1001
|
margin: '0 auto',
|
|
804
|
-
lineHeight: '1.
|
|
1002
|
+
lineHeight: '1.7',
|
|
805
1003
|
}}
|
|
806
1004
|
>
|
|
807
|
-
Fine-tune AtomixGlass for optimal performance across different device capabilities
|
|
1005
|
+
Fine-tune AtomixGlass for optimal performance across different device capabilities and
|
|
1006
|
+
use cases
|
|
808
1007
|
</p>
|
|
809
1008
|
</div>
|
|
810
1009
|
|
|
@@ -820,17 +1019,37 @@ export const PerformanceOptimization: Story = {
|
|
|
820
1019
|
style={{ marginBottom: '48px' }}
|
|
821
1020
|
>
|
|
822
1021
|
<div style={{ padding: '32px' }}>
|
|
823
|
-
<
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
1022
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '24px' }}>
|
|
1023
|
+
<div
|
|
1024
|
+
style={{
|
|
1025
|
+
width: '48px',
|
|
1026
|
+
height: '48px',
|
|
1027
|
+
borderRadius: '14px',
|
|
1028
|
+
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
1029
|
+
display: 'flex',
|
|
1030
|
+
alignItems: 'center',
|
|
1031
|
+
justifyContent: 'center',
|
|
1032
|
+
fontSize: '24px',
|
|
1033
|
+
boxShadow: '0 8px 24px rgba(102, 126, 234, 0.4)',
|
|
1034
|
+
}}
|
|
1035
|
+
>
|
|
1036
|
+
💡
|
|
1037
|
+
</div>
|
|
1038
|
+
<h2
|
|
1039
|
+
style={{
|
|
1040
|
+
color: '#fff',
|
|
1041
|
+
fontSize: '1.75rem',
|
|
1042
|
+
fontWeight: '700',
|
|
1043
|
+
margin: 0,
|
|
1044
|
+
background: 'linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.9) 100%)',
|
|
1045
|
+
WebkitBackgroundClip: 'text',
|
|
1046
|
+
WebkitTextFillColor: 'transparent',
|
|
1047
|
+
backgroundClip: 'text',
|
|
1048
|
+
}}
|
|
1049
|
+
>
|
|
1050
|
+
Best Practices & Guidelines
|
|
1051
|
+
</h2>
|
|
1052
|
+
</div>
|
|
834
1053
|
<div
|
|
835
1054
|
style={{
|
|
836
1055
|
display: 'grid',
|