@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.
Files changed (102) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/atomix.css +309 -105
  3. package/dist/atomix.min.css +3 -5
  4. package/dist/index.d.ts +807 -51
  5. package/dist/index.esm.js +16367 -16405
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +16277 -16330
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/themes/applemix.css +309 -105
  12. package/dist/themes/applemix.min.css +5 -7
  13. package/dist/themes/boomdevs.css +202 -10
  14. package/dist/themes/boomdevs.min.css +3 -5
  15. package/dist/themes/esrar.css +309 -105
  16. package/dist/themes/esrar.min.css +4 -6
  17. package/dist/themes/flashtrade.css +310 -105
  18. package/dist/themes/flashtrade.min.css +5 -7
  19. package/dist/themes/mashroom.css +300 -96
  20. package/dist/themes/mashroom.min.css +4 -6
  21. package/dist/themes/shaj-default.css +300 -96
  22. package/dist/themes/shaj-default.min.css +4 -6
  23. package/package.json +1 -1
  24. package/src/components/AtomixGlass/AtomixGlass.test.tsx +21 -32
  25. package/src/components/AtomixGlass/AtomixGlass.tsx +55 -42
  26. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +205 -57
  27. package/src/components/AtomixGlass/GlassFilter.tsx +22 -8
  28. package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +221 -0
  29. package/src/components/AtomixGlass/atomixGLass.old.tsx +0 -3
  30. package/src/components/AtomixGlass/shader-utils.ts +8 -0
  31. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +319 -100
  32. package/src/components/AtomixGlass/stories/Examples.stories.tsx +601 -105
  33. package/src/components/AtomixGlass/stories/Modes.stories.tsx +30 -12
  34. package/src/components/AtomixGlass/stories/Playground.stories.tsx +173 -38
  35. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +18 -18
  36. package/src/components/AtomixGlass/stories/shared-components.tsx +27 -5
  37. package/src/components/Breadcrumb/Breadcrumb.tsx +8 -3
  38. package/src/components/Button/Button.tsx +62 -17
  39. package/src/components/Callout/Callout.test.tsx +8 -14
  40. package/src/components/Card/Card.tsx +103 -1
  41. package/src/components/Card/index.ts +3 -2
  42. package/src/components/Footer/Footer.stories.tsx +1 -2
  43. package/src/components/Footer/Footer.tsx +0 -5
  44. package/src/components/Footer/FooterLink.tsx +3 -2
  45. package/src/components/Footer/FooterSection.tsx +0 -7
  46. package/src/components/Icon/index.ts +1 -1
  47. package/src/components/Modal/Modal.stories.tsx +29 -38
  48. package/src/components/Modal/Modal.tsx +4 -4
  49. package/src/components/Navigation/Nav/NavItem.tsx +8 -3
  50. package/src/components/Navigation/SideMenu/SideMenu.tsx +49 -41
  51. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +63 -19
  52. package/src/components/Popover/Popover.tsx +1 -1
  53. package/src/components/VideoPlayer/VideoPlayer.stories.tsx +977 -400
  54. package/src/components/VideoPlayer/VideoPlayer.tsx +1 -6
  55. package/src/lib/composables/shared-mouse-tracker.ts +133 -0
  56. package/src/lib/composables/useAtomixGlass.ts +303 -115
  57. package/src/lib/theme/ThemeManager.integration.test.ts +124 -0
  58. package/src/lib/theme/ThemeManager.stories.tsx +13 -13
  59. package/src/lib/theme/ThemeManager.test.ts +4 -0
  60. package/src/lib/theme/ThemeManager.ts +203 -59
  61. package/src/lib/theme/ThemeProvider.tsx +183 -33
  62. package/src/lib/theme/composeTheme.ts +375 -0
  63. package/src/lib/theme/createTheme.test.ts +475 -0
  64. package/src/lib/theme/createTheme.ts +510 -0
  65. package/src/lib/theme/generateCSSVariables.ts +713 -0
  66. package/src/lib/theme/index.ts +67 -0
  67. package/src/lib/theme/themeUtils.ts +333 -0
  68. package/src/lib/theme/types.ts +337 -8
  69. package/src/lib/theme/useTheme.test.tsx +2 -1
  70. package/src/lib/theme/useTheme.ts +6 -22
  71. package/src/lib/types/components.ts +152 -57
  72. package/src/styles/01-settings/_index.scss +2 -2
  73. package/src/styles/01-settings/_settings.badge.scss +2 -2
  74. package/src/styles/01-settings/_settings.border-radius.scss +1 -1
  75. package/src/styles/01-settings/{_settings.maps.scss → _settings.design-tokens.scss} +163 -49
  76. package/src/styles/01-settings/_settings.modal.scss +1 -1
  77. package/src/styles/01-settings/_settings.spacing.scss +14 -13
  78. package/src/styles/03-generic/_generic.root.scss +131 -50
  79. package/src/styles/05-objects/_objects.block.scss +1 -1
  80. package/src/styles/06-components/_components.atomix-glass.scss +20 -22
  81. package/src/styles/06-components/_components.badge.scss +2 -2
  82. package/src/styles/06-components/_components.button.scss +1 -1
  83. package/src/styles/06-components/_components.callout.scss +1 -1
  84. package/src/styles/06-components/_components.card.scss +74 -2
  85. package/src/styles/06-components/_components.chart.scss +1 -1
  86. package/src/styles/06-components/_components.dropdown.scss +6 -0
  87. package/src/styles/06-components/_components.footer.scss +1 -1
  88. package/src/styles/06-components/_components.list-group.scss +1 -1
  89. package/src/styles/06-components/_components.list.scss +1 -1
  90. package/src/styles/06-components/_components.menu.scss +1 -1
  91. package/src/styles/06-components/_components.messages.scss +1 -1
  92. package/src/styles/06-components/_components.modal.scss +7 -2
  93. package/src/styles/06-components/_components.navbar.scss +1 -1
  94. package/src/styles/06-components/_components.popover.scss +10 -0
  95. package/src/styles/06-components/_components.product-review.scss +1 -1
  96. package/src/styles/06-components/_components.progress.scss +1 -1
  97. package/src/styles/06-components/_components.rating.scss +1 -1
  98. package/src/styles/06-components/_components.spinner.scss +1 -1
  99. package/src/styles/99-utilities/_utilities.background.scss +1 -1
  100. package/src/styles/99-utilities/_utilities.border.scss +1 -1
  101. package/src/styles/99-utilities/_utilities.link.scss +1 -1
  102. 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: '30px', textAlign: 'center', maxWidth: '400px' }}>
497
- <h2 style={{ margin: '0 0 16px 0', fontSize: '24px', fontWeight: 600 }}>AtomixGlass</h2>
498
- <p style={{ margin: '0 0 20px 0', fontSize: '16px', lineHeight: 1.6 }}>
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 style={{ display: 'flex', justifyContent: 'center', gap: '12px', flexWrap: 'wrap' }}>
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
- Explore
549
+ Get Started
505
550
  </Button>
506
551
  <Button variant="outline-primary" glass>
507
- Learn More
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 0',
696
+ padding: '40px 20px',
621
697
  textAlign: 'center',
622
- marginBottom: '20px',
698
+ marginBottom: '60px',
623
699
  }}
624
700
  >
625
- <h2
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 10px 0',
628
- fontSize: '32px',
629
- fontWeight: 500,
630
- color: '#ffffff',
631
- textShadow: '0 2px 4px rgba(0,0,0,0.2)',
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
- </h2>
741
+ </h1>
636
742
  <p
637
743
  style={{
638
- fontSize: '16px',
639
- maxWidth: '500px',
744
+ fontSize: '18px',
745
+ maxWidth: '680px',
640
746
  margin: '0 auto',
641
- color: '#ffffff',
642
- textShadow: '0 1px 2px rgba(0,0,0,0.2)',
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
- Hover over each card to see how different modes affect the appearance and behavior of
646
- the glass effect.
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: 'flex',
653
- flexWrap: 'wrap',
654
- justifyContent: 'center',
655
- alignContent: 'center',
656
- gap: '24px',
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
- <AtomixGlass
777
+ <div
666
778
  key={mode}
667
- mode={mode}
668
- displacementScale={settings.displacementScale}
669
- blurAmount={settings.blurAmount}
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: '20px 40px',
803
+ padding: '32px 28px',
680
804
  textAlign: 'center',
681
- maxWidth: '350px',
682
- minHeight: '200px',
683
- width: '100%',
684
- textShadow: '1px 2px 6px rgba(0,0,0,0.7)',
805
+ minHeight: '320px',
806
+ display: 'flex',
807
+ flexDirection: 'column',
808
+ justifyContent: 'space-between',
685
809
  }}
686
810
  >
687
- <h3
688
- style={{
689
- margin: '0 0 12px 0',
690
- fontSize: '20px',
691
- fontWeight: 500,
692
- color: settings.color,
693
- }}
694
- >
695
- {mode.charAt(0).toUpperCase() + mode.slice(1)} Mode
696
- </h3>
697
- <p
698
- style={{
699
- margin: '0 0 16px 0',
700
- fontSize: '14px',
701
- lineHeight: 1.5,
702
- color: settings.color,
703
- }}
704
- >
705
- {settings.description}
706
- </p>
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: '12px',
720
- padding: '4px 8px',
721
- borderRadius: '4px',
722
- backdropFilter: 'blur(2px)',
723
- background: 'rgba(255,255,255,0.2)',
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
- Displacement: {settings.displacementScale}
912
+ Disp: {settings.displacementScale}
727
913
  </span>
728
914
  <span
729
915
  style={{
730
- fontSize: '12px',
731
- padding: '4px 8px',
732
- borderRadius: '4px',
733
- background: 'rgba(255,255,255,0.2)',
734
- backdropFilter: 'blur(2px)',
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: '12px',
742
- padding: '4px 8px',
743
- borderRadius: '4px',
744
- backdropFilter: 'blur(2px)',
745
- background: 'rgba(255,255,255,0.2)',
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
- Aberration: {settings.aberrationIntensity}
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: '3rem',
791
- fontWeight: '700',
792
- marginBottom: '16px',
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.85)',
998
+ color: 'rgba(255,255,255,0.9)',
801
999
  fontSize: '1.25rem',
802
- maxWidth: '700px',
1000
+ maxWidth: '720px',
803
1001
  margin: '0 auto',
804
- lineHeight: '1.6',
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
- <h2
824
- style={{
825
- color: '#fff',
826
- fontSize: '1.75rem',
827
- fontWeight: '600',
828
- marginBottom: '24px',
829
- marginTop: 0,
830
- }}
831
- >
832
- Best Practices & Guidelines
833
- </h2>
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',