osi-cards-lib 1.5.42 → 1.5.44
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/README.md +1 -1
- package/fesm2022/osi-cards-lib.mjs +5242 -3734
- package/fesm2022/osi-cards-lib.mjs.map +1 -1
- package/index.d.ts +147 -273
- package/package.json +4 -3
- package/styles/bundles/_ai-card.scss +10 -40
- package/styles/bundles/_card-skeleton.scss +1 -1
- package/styles/components/_ai-card-renderer.scss +0 -2
- package/styles/components/_card-actions.scss +2 -4
- package/styles/components/_streaming-effects.scss +0 -20
- package/styles/components/sections/_all-sections.generated.scss +0 -3
- package/styles/components/sections/_all-sections.scss +88 -64
- package/styles/components/sections/_compact-mixins.scss +9 -8
- package/styles/components/sections/_component-mixins.scss +40 -11
- package/styles/components/sections/_design-system.scss +106 -11
- package/styles/components/sections/_master-compact-system.scss +0 -17
- package/styles/components/sections/_minimalistic-design.scss +1 -4
- package/styles/components/sections/_modern-effects.scss +1 -3
- package/styles/components/sections/_modern-sections.scss +13 -69
- package/styles/components/sections/_section-animations.scss +158 -77
- package/styles/components/sections/_section-shell.scss +38 -9
- package/styles/components/sections/_section-types.generated.scss +0 -3
- package/styles/components/sections/_sections-base.scss +341 -64
- package/styles/components/sections/_unified-section-style.scss +17 -44
- package/styles/components/sections/_visual-effects-library.scss +3 -3
- package/styles/core/_animations.scss +0 -51
- package/styles/core/_global-unified.scss +2 -6
- package/styles/core/_mixins.scss +1 -1
- package/styles/core/_surface-layers.scss +20 -11
- package/styles/design-system/_section-base.scss +9 -32
- package/styles/design-system/_tokens.scss +67 -5
- package/styles/design-system/_unified-sections.scss +21 -21
- package/styles/layout/_masonry.scss +22 -22
- package/styles/layout/_tilt.scss +3 -3
- package/styles/mixins/_section-mixins.scss +2 -2
- package/styles/reset/_shadow-reset.scss +3 -7
- package/styles/responsive.scss +9 -7
- package/styles/tokens/_master.scss +322 -120
- package/styles/tokens/_section-tokens.generated.scss +0 -7
|
@@ -466,14 +466,14 @@ $breakpoints: (
|
|
|
466
466
|
@mixin osi-card-typography($variant: "demo") {
|
|
467
467
|
// Both demo and integration now use the same compact values
|
|
468
468
|
// Section Titles
|
|
469
|
-
--section-title-font-size: calc(0.92rem -
|
|
469
|
+
--section-title-font-size: calc(0.92rem - 8px); // Reduced by 2px
|
|
470
470
|
--section-title-font-weight: 700;
|
|
471
471
|
--section-title-letter-spacing: -0.02em;
|
|
472
472
|
--section-title-line-height: 1.3;
|
|
473
473
|
--section-title-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
|
|
474
474
|
|
|
475
475
|
// Card Header Title (main card title - larger)
|
|
476
|
-
--card-header-title-font-size:
|
|
476
|
+
--card-header-title-font-size: 0.875rem; /* 14px - fixed size for all screen sizes */
|
|
477
477
|
--card-header-title-font-weight: 700;
|
|
478
478
|
--card-header-title-letter-spacing: -0.02em;
|
|
479
479
|
--card-header-title-line-height: 1.3;
|
|
@@ -486,7 +486,7 @@ $breakpoints: (
|
|
|
486
486
|
--card-title-text-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
|
|
487
487
|
|
|
488
488
|
// Card Subtitles
|
|
489
|
-
--card-subtitle-font-size: 0.
|
|
489
|
+
--card-subtitle-font-size: 0.525rem;
|
|
490
490
|
--card-subtitle-font-weight: 500;
|
|
491
491
|
--card-subtitle-letter-spacing: 0.015em;
|
|
492
492
|
--card-subtitle-line-height: 1.3;
|
|
@@ -530,10 +530,10 @@ $breakpoints: (
|
|
|
530
530
|
--card-padding-horizontal: 12px;
|
|
531
531
|
--card-padding: 12px;
|
|
532
532
|
--card-padding-large: 20px;
|
|
533
|
-
--section-padding:
|
|
534
|
-
--section-container-padding:
|
|
533
|
+
--section-padding: 8px;
|
|
534
|
+
--section-container-padding: 12px;
|
|
535
535
|
--card-min-height: auto;
|
|
536
|
-
--card-gap:
|
|
536
|
+
--card-gap: 10px;
|
|
537
537
|
--card-gap-large: 10px;
|
|
538
538
|
--card-nested-gap: 3px;
|
|
539
539
|
--section-header-gap: 2px;
|
|
@@ -544,12 +544,20 @@ $breakpoints: (
|
|
|
544
544
|
--section-card-gap: 8px;
|
|
545
545
|
--section-card-border-radius: 10px;
|
|
546
546
|
|
|
547
|
-
// Element gaps within cards
|
|
548
|
-
--
|
|
549
|
-
--card-element-gap-
|
|
550
|
-
--
|
|
551
|
-
--card-element-gap-
|
|
552
|
-
--
|
|
547
|
+
// Element gaps within cards - DEPRECATED: Use --osi-section-item-gap-* instead
|
|
548
|
+
// @deprecated Use --osi-section-item-gap-xs instead
|
|
549
|
+
--card-element-gap-xs: var(--osi-section-item-gap-xs, 2px);
|
|
550
|
+
// @deprecated Use --osi-section-item-gap-sm instead
|
|
551
|
+
--card-element-gap-sm: var(--osi-section-item-gap-sm, 3px);
|
|
552
|
+
// @deprecated Use --osi-section-item-gap-md instead
|
|
553
|
+
--card-element-gap-md: var(--osi-section-item-gap-md, 4px);
|
|
554
|
+
// @deprecated Use --osi-section-item-gap-lg instead
|
|
555
|
+
--card-element-gap-lg: var(--osi-section-item-gap-lg, 12px);
|
|
556
|
+
// @deprecated Use --osi-section-item-gap-xl instead
|
|
557
|
+
--card-element-gap-xl: var(--osi-section-item-gap-xl, 8px);
|
|
558
|
+
|
|
559
|
+
// @deprecated Use --osi-section-item-gap instead
|
|
560
|
+
--card-gap: var(--osi-section-item-gap, 10px);
|
|
553
561
|
|
|
554
562
|
// Border widths
|
|
555
563
|
--border-width-default: 1px;
|
|
@@ -586,8 +594,14 @@ $breakpoints: (
|
|
|
586
594
|
// Section-specific gaps
|
|
587
595
|
--section-grid-gap: var(--gap-md);
|
|
588
596
|
--section-stack-gap: var(--gap-lg);
|
|
589
|
-
--section-item-gap
|
|
590
|
-
--section-item-
|
|
597
|
+
// @deprecated Use --osi-section-item-gap instead
|
|
598
|
+
--section-item-gap: var(--osi-section-item-gap, var(--gap-sm));
|
|
599
|
+
// @deprecated Use --osi-section-item-padding instead
|
|
600
|
+
--section-item-padding: var(--osi-section-item-padding-normal, var(--gap-lg));
|
|
601
|
+
|
|
602
|
+
// Renamed from --section-element-gap for consistency
|
|
603
|
+
// @deprecated Use --osi-section-item-gap instead
|
|
604
|
+
--section-element-gap: var(--osi-section-item-gap);
|
|
591
605
|
--metric-item-padding: 10px 12px;
|
|
592
606
|
--list-item-padding: 10px 12px;
|
|
593
607
|
}
|
|
@@ -638,8 +652,17 @@ $breakpoints: (
|
|
|
638
652
|
--osi-card-backdrop-filter: var(--theme-ai-card-backdrop-filter, blur(12px));
|
|
639
653
|
|
|
640
654
|
// Card Border
|
|
641
|
-
--osi-card-border: var(--theme-ai-card-border, 1px solid #{$
|
|
642
|
-
|
|
655
|
+
--osi-card-border: var(--theme-ai-card-border, 1px solid #{$brand-color-20});
|
|
656
|
+
@supports (color: color-mix(in srgb, black 50%, white)) {
|
|
657
|
+
--osi-card-border: var(
|
|
658
|
+
--theme-ai-card-border,
|
|
659
|
+
1px solid color-mix(in srgb, var(--color-brand, #{$brand-color}) 20%, transparent)
|
|
660
|
+
);
|
|
661
|
+
}
|
|
662
|
+
--osi-card-border-hover: var(
|
|
663
|
+
--theme-ai-card-border-hover,
|
|
664
|
+
1px solid var(--color-brand, #{$brand-color})
|
|
665
|
+
);
|
|
643
666
|
--osi-card-border-fullscreen: none;
|
|
644
667
|
|
|
645
668
|
// Card Shadow
|
|
@@ -765,6 +788,16 @@ $breakpoints: (
|
|
|
765
788
|
--osi-section-border: var(--theme-section-border, 1px solid rgba(0, 0, 0, 0.06));
|
|
766
789
|
--osi-section-border-hover: var(--theme-section-border-hover, 1px solid #{$brand-color-15});
|
|
767
790
|
|
|
791
|
+
// Section Border Hover Enhanced (theme-aware grey, amplified by 30%)
|
|
792
|
+
// Light theme: rgba(0, 0, 0, 0.1) → rgba(0, 0, 0, 0.13)
|
|
793
|
+
// Dark theme: rgba(255, 255, 255, 0.1) → rgba(255, 255, 255, 0.13)
|
|
794
|
+
// This is just the color value (not the full border property) for use with border-color
|
|
795
|
+
// Default fallback for light theme
|
|
796
|
+
--osi-section-border-hover-enhanced-color: var(
|
|
797
|
+
--theme-section-border-hover-enhanced-color,
|
|
798
|
+
rgba(0, 0, 0, 0.13)
|
|
799
|
+
);
|
|
800
|
+
|
|
768
801
|
// Section Shadow
|
|
769
802
|
--osi-section-shadow: var(--theme-section-box-shadow, var(--shadow-md));
|
|
770
803
|
--osi-section-shadow-hover: var(
|
|
@@ -772,6 +805,15 @@ $breakpoints: (
|
|
|
772
805
|
var(--shadow-lg),
|
|
773
806
|
var(--shadow-glow-sm)
|
|
774
807
|
);
|
|
808
|
+
|
|
809
|
+
// Section Shadow Hover Enhanced (gentle shadow with cool color, 10% less contrasty than border)
|
|
810
|
+
// Uses a cool blue color (rgb(59, 130, 246) - blue-500)
|
|
811
|
+
// Border is at 0.13 opacity, shadow is 10% less contrasty = 0.13 * 0.9 = 0.117 opacity
|
|
812
|
+
--osi-section-shadow-hover-enhanced: var(
|
|
813
|
+
--theme-section-shadow-hover-enhanced,
|
|
814
|
+
var(--shadow-lg),
|
|
815
|
+
0 0 16px rgba(59, 130, 246, 0.117)
|
|
816
|
+
);
|
|
775
817
|
--osi-section-shadow-fullscreen: none;
|
|
776
818
|
|
|
777
819
|
// Section Spacing - Padding
|
|
@@ -799,12 +841,28 @@ $breakpoints: (
|
|
|
799
841
|
// Section Border Radius
|
|
800
842
|
--osi-section-border-radius: var(--section-card-border-radius);
|
|
801
843
|
|
|
802
|
-
// Section Typography
|
|
803
|
-
|
|
804
|
-
--osi-section-title-font-
|
|
805
|
-
--osi-section-title-
|
|
806
|
-
--osi-section-title-
|
|
807
|
-
--osi-section-title-
|
|
844
|
+
// Section Typography - Using OSI Font Theme Variables
|
|
845
|
+
// Section Title Font Sizes (mapped to heading levels) - Reduced by 2px each
|
|
846
|
+
--osi-section-title-font-size-xs: 0.625rem; // h6: 10px (reduced from 12px)
|
|
847
|
+
--osi-section-title-font-size-sm: 0.75rem; // h5: 12px (reduced from 14px)
|
|
848
|
+
--osi-section-title-font-size-md: 0.875rem; // h4: 14px (reduced from 16px)
|
|
849
|
+
--osi-section-title-font-size-lg: 1.125rem; // h3: 18px (reduced from 20px) - default
|
|
850
|
+
--osi-section-title-font-size-xl: 1.375rem; // h2: 22px (reduced from 24px)
|
|
851
|
+
--osi-section-title-font-size-2xl: 1.75rem; // h1: 28px (reduced from 30px)
|
|
852
|
+
|
|
853
|
+
// Default section title (h3) - Reduced from lg to md for better proportions
|
|
854
|
+
--osi-section-title-font-size: var(--osi-section-title-font-size-md);
|
|
855
|
+
|
|
856
|
+
// Section Title Font Weight - Using OSI Font Weights
|
|
857
|
+
--osi-section-title-font-weight: var(--osi-font-bold); // 700
|
|
858
|
+
|
|
859
|
+
// Section Title Other Properties - Using OSI Theme Variables
|
|
860
|
+
--osi-section-title-letter-spacing: var(--osi-tracking-tight); // -0.025em
|
|
861
|
+
--osi-section-title-line-height: var(--osi-leading-snug); // 1.375
|
|
862
|
+
// Use foreground directly from theme mixins for maximum contrast
|
|
863
|
+
// Theme mixins set --foreground to dark (#1c1c1f) in light theme and white (#ffffff) in dark theme
|
|
864
|
+
// Fallback to dark color for light themes if theme mixin hasn't been called
|
|
865
|
+
--osi-section-title-color: var(--foreground, #1c1c1f);
|
|
808
866
|
--osi-section-title-margin-bottom: var(--section-title-margin-bottom);
|
|
809
867
|
--osi-section-title-underline-length: var(--space-8);
|
|
810
868
|
--osi-section-title-underline-hover-length: var(--space-10);
|
|
@@ -814,8 +872,12 @@ $breakpoints: (
|
|
|
814
872
|
// Fallback for browsers without color-mix support
|
|
815
873
|
--osi-section-title-hover-color: var(--color-brand);
|
|
816
874
|
|
|
817
|
-
|
|
818
|
-
--osi-section-description-
|
|
875
|
+
// Section Description Typography - Using OSI Font Scale
|
|
876
|
+
--osi-section-description-font-size: 0.75rem; // 12px (reduced from 14px by 2px)
|
|
877
|
+
--osi-section-description-font-weight: var(--osi-font-normal); // 400
|
|
878
|
+
--osi-section-description-line-height: var(--osi-leading-relaxed); // 1.625
|
|
879
|
+
--osi-section-description-color: var(--osi-muted-foreground);
|
|
880
|
+
--osi-section-description-color-hover: var(--osi-foreground);
|
|
819
881
|
|
|
820
882
|
// Section Accent
|
|
821
883
|
--osi-section-accent: var(--section-accent, var(--accent, #{$osi-color-brand}));
|
|
@@ -877,20 +939,44 @@ $breakpoints: (
|
|
|
877
939
|
/// Generate OSI Section Item component tokens (--osi-section-item-*)
|
|
878
940
|
/// SINGLE SOURCE OF TRUTH for all section item/field styling variables
|
|
879
941
|
@mixin osi-section-item-tokens() {
|
|
880
|
-
// Section Item Background
|
|
942
|
+
// Section Item Background (Single Source of Truth)
|
|
943
|
+
// Background hierarchy: Card → Section → Item
|
|
944
|
+
// - Card background: Used for entire card container (--osi-card-background)
|
|
945
|
+
// - Section background: Used for section wrapper (--osi-section-background)
|
|
946
|
+
// - Item background: Used for individual items/fields (--osi-section-item-background) ← THIS
|
|
881
947
|
--osi-section-item-background: var(--theme-section-item-background, var(--card-section-bg));
|
|
882
948
|
--osi-section-item-background-hover: var(
|
|
883
949
|
--theme-section-item-background-hover,
|
|
884
950
|
var(--card-section-bg)
|
|
885
951
|
);
|
|
886
952
|
|
|
887
|
-
//
|
|
953
|
+
// Background usage guidelines:
|
|
954
|
+
// - Always use --osi-section-item-background for item/field backgrounds
|
|
955
|
+
// - Do NOT use --card-background for item styling (different purpose)
|
|
956
|
+
// - Use --osi-section-item-background-hover for consistent hover states
|
|
957
|
+
|
|
958
|
+
// Section Item Border (Single Source of Truth)
|
|
888
959
|
--osi-section-item-border: var(--theme-section-item-border, 1px solid rgba(0, 0, 0, 0.06));
|
|
889
960
|
--osi-section-item-border-hover: var(
|
|
890
961
|
--theme-section-item-border-hover,
|
|
891
962
|
1px solid #{$brand-color-08}
|
|
892
963
|
);
|
|
893
964
|
|
|
965
|
+
// Section Item Border Hover Enhanced (50% stronger than section hover)
|
|
966
|
+
// Section border: 0.13 opacity, Section item border: 0.13 × 1.5 = 0.195 opacity
|
|
967
|
+
// Light theme: rgba(0, 0, 0, 0.195), Dark theme: rgba(255, 255, 255, 0.195)
|
|
968
|
+
// This is just the color value (not the full border property) for use with border-color
|
|
969
|
+
--osi-section-item-border-hover-enhanced-color: var(
|
|
970
|
+
--theme-section-item-border-hover-enhanced-color,
|
|
971
|
+
rgba(0, 0, 0, 0.195)
|
|
972
|
+
);
|
|
973
|
+
|
|
974
|
+
// Standardized border width
|
|
975
|
+
--osi-section-item-border-width: var(--border-width-default, 1px);
|
|
976
|
+
|
|
977
|
+
// Standardized border style
|
|
978
|
+
--osi-section-item-border-style: solid;
|
|
979
|
+
|
|
894
980
|
// Section Item Shadow
|
|
895
981
|
--osi-section-item-shadow: var(--theme-section-item-box-shadow, var(--shadow-sm));
|
|
896
982
|
--osi-section-item-shadow-hover: var(
|
|
@@ -899,47 +985,100 @@ $breakpoints: (
|
|
|
899
985
|
var(--shadow-glow-sm)
|
|
900
986
|
);
|
|
901
987
|
|
|
902
|
-
// Section Item
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
--osi-section-item-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
988
|
+
// Section Item Shadow Hover Enhanced (50% stronger than section hover)
|
|
989
|
+
// Section shadow: 0.117 opacity, Section item shadow: 0.117 × 1.5 = 0.1755 opacity
|
|
990
|
+
// Uses cool blue color (rgb(59, 130, 246) - blue-500)
|
|
991
|
+
--osi-section-item-shadow-hover-enhanced: var(
|
|
992
|
+
--theme-section-item-shadow-hover-enhanced,
|
|
993
|
+
var(--shadow-lg),
|
|
994
|
+
0 0 16px rgba(59, 130, 246, 0.1755)
|
|
995
|
+
);
|
|
910
996
|
|
|
911
|
-
// Section Item Spacing -
|
|
997
|
+
// Section Item Spacing - Padding (Single Source of Truth)
|
|
998
|
+
// Base padding value
|
|
999
|
+
--osi-section-item-padding: var(--section-item-padding, 12px);
|
|
1000
|
+
--osi-section-item-padding-top: var(--osi-section-item-padding);
|
|
1001
|
+
--osi-section-item-padding-bottom: var(--osi-section-item-padding);
|
|
1002
|
+
--osi-section-item-padding-left: var(--osi-section-item-padding);
|
|
1003
|
+
--osi-section-item-padding-right: var(--osi-section-item-padding);
|
|
1004
|
+
|
|
1005
|
+
// Responsive padding variants
|
|
1006
|
+
--osi-section-item-padding-compact: 10px;
|
|
1007
|
+
--osi-section-item-padding-normal: 16px;
|
|
1008
|
+
--osi-section-item-padding-spacious: 20px;
|
|
1009
|
+
|
|
1010
|
+
// Specialized padding variants (for backward compatibility)
|
|
1011
|
+
--osi-section-item-metric-padding: var(--metric-item-padding, 10px 12px);
|
|
1012
|
+
--osi-section-item-list-padding: var(--list-item-padding, 10px 12px);
|
|
1013
|
+
|
|
1014
|
+
// Section Item Spacing - Margins (Standardized)
|
|
1015
|
+
// By default, items use padding instead of margins for spacing
|
|
1016
|
+
// Margins should only be used for special layout cases
|
|
912
1017
|
--osi-section-item-margin-top: 0;
|
|
913
1018
|
--osi-section-item-margin-bottom: 0;
|
|
914
1019
|
--osi-section-item-margin-left: 0;
|
|
915
1020
|
--osi-section-item-margin-right: 0;
|
|
916
1021
|
|
|
917
|
-
//
|
|
918
|
-
--osi-section-item-
|
|
919
|
-
--osi-section-item-
|
|
920
|
-
|
|
921
|
-
|
|
1022
|
+
// Margin variants for special cases
|
|
1023
|
+
--osi-section-item-margin-xs: 2px;
|
|
1024
|
+
--osi-section-item-margin-sm: 4px;
|
|
1025
|
+
--osi-section-item-margin-md: 8px;
|
|
1026
|
+
--osi-section-item-margin-lg: 12px;
|
|
1027
|
+
--osi-section-item-margin-xl: 16px;
|
|
1028
|
+
|
|
1029
|
+
// Usage guidelines:
|
|
1030
|
+
// - Use padding for internal item spacing
|
|
1031
|
+
// - Use margin only for:
|
|
1032
|
+
// * Separating items in lists (margin-bottom on non-last items)
|
|
1033
|
+
// * Special layout requirements
|
|
1034
|
+
// * Negative spacing cases
|
|
1035
|
+
|
|
1036
|
+
// Section Item Spacing - Gaps (Single Source of Truth)
|
|
1037
|
+
// Gap scale (for consistent spacing)
|
|
1038
|
+
--osi-section-item-gap-xs: 2px;
|
|
1039
|
+
--osi-section-item-gap-sm: 4px;
|
|
1040
|
+
--osi-section-item-gap-md: 8px;
|
|
1041
|
+
--osi-section-item-gap: 10px; // Base gap (standard spacing between items)
|
|
1042
|
+
--osi-section-item-gap-lg: 12px;
|
|
1043
|
+
--osi-section-item-gap-xl: 16px;
|
|
1044
|
+
|
|
1045
|
+
// Base gap value (references scale)
|
|
1046
|
+
--osi-section-item-grid-gap: var(--osi-section-item-gap);
|
|
1047
|
+
|
|
1048
|
+
// Section Item Border Radius (Standardized)
|
|
922
1049
|
--osi-section-item-border-radius: var(--radius-md);
|
|
923
1050
|
|
|
924
|
-
//
|
|
925
|
-
--osi-section-item-
|
|
926
|
-
--osi-section-item-
|
|
927
|
-
--osi-section-item-
|
|
928
|
-
|
|
1051
|
+
// Border radius variants for consistency
|
|
1052
|
+
--osi-section-item-border-radius-sm: var(--radius-sm);
|
|
1053
|
+
--osi-section-item-border-radius-md: var(--radius-md);
|
|
1054
|
+
--osi-section-item-border-radius-lg: var(--radius-lg);
|
|
1055
|
+
|
|
1056
|
+
// Section Container Spacing (for section wrappers, not individual items)
|
|
1057
|
+
--osi-section-container-padding: var(--osi-section-item-padding-normal);
|
|
1058
|
+
--osi-section-container-gap: var(--osi-section-item-gap-md);
|
|
1059
|
+
--osi-section-header-margin-bottom: var(--osi-section-item-gap-md);
|
|
1060
|
+
|
|
1061
|
+
// Section Item Typography - Label (Using OSI Font Scale)
|
|
1062
|
+
--osi-section-item-label-font-size: var(--osi-text-sm); // 0.875rem (14px)
|
|
1063
|
+
--osi-section-item-label-font-weight: var(--osi-font-medium); // 500
|
|
1064
|
+
--osi-section-item-label-line-height: var(--osi-leading-tight); // 1.25
|
|
1065
|
+
--osi-section-item-label-letter-spacing: var(--osi-tracking-wider); // 0.05em
|
|
1066
|
+
--osi-section-item-label-color: var(--osi-muted-foreground);
|
|
929
1067
|
--osi-section-item-label-text-transform: uppercase;
|
|
930
1068
|
|
|
931
|
-
// Section Item Typography - Value
|
|
932
|
-
--osi-section-item-value-font-size: var(--text-base);
|
|
933
|
-
--osi-section-item-value-font-weight: var(--font-
|
|
934
|
-
--osi-section-item-value-
|
|
935
|
-
--osi-section-item-value-
|
|
1069
|
+
// Section Item Typography - Value (Using OSI Font Scale)
|
|
1070
|
+
--osi-section-item-value-font-size: var(--osi-text-base); // 1rem (16px)
|
|
1071
|
+
--osi-section-item-value-font-weight: var(--osi-font-normal); // 400
|
|
1072
|
+
--osi-section-item-value-line-height: var(--osi-leading-normal); // 1.5
|
|
1073
|
+
--osi-section-item-value-color: var(--osi-foreground);
|
|
1074
|
+
--osi-section-item-value-letter-spacing: var(--osi-tracking-normal); // 0
|
|
936
1075
|
|
|
937
1076
|
// Section Item Icon
|
|
938
1077
|
--osi-section-item-icon-size: var(--icon-md);
|
|
939
|
-
--osi-section-item-icon-color: var(--muted-foreground);
|
|
940
|
-
--osi-section-item-icon-color-hover: var(--accent);
|
|
1078
|
+
--osi-section-item-icon-color: var(--osi-muted-foreground);
|
|
1079
|
+
--osi-section-item-icon-color-hover: var(--accent, var(--osi-accent));
|
|
941
1080
|
|
|
942
|
-
// Section Item Transitions
|
|
1081
|
+
// Section Item Transitions (Standardized)
|
|
943
1082
|
--osi-section-item-transition: var(
|
|
944
1083
|
--theme-section-item-transition,
|
|
945
1084
|
background 220ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
@@ -947,6 +1086,28 @@ $breakpoints: (
|
|
|
947
1086
|
border-color 220ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
948
1087
|
);
|
|
949
1088
|
--osi-section-item-hover-transform: var(--theme-section-item-hover-transform, none);
|
|
1089
|
+
|
|
1090
|
+
// Animation timing (standardized)
|
|
1091
|
+
--osi-section-item-animation-duration: 220ms;
|
|
1092
|
+
--osi-section-item-animation-easing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1093
|
+
--osi-section-item-stagger-delay: 30ms;
|
|
1094
|
+
|
|
1095
|
+
// Motion distance for animations
|
|
1096
|
+
--osi-motion-distance-sm: 8px;
|
|
1097
|
+
|
|
1098
|
+
// Card min-height variants
|
|
1099
|
+
--osi-section-item-min-height-xs: 70px;
|
|
1100
|
+
--osi-section-item-min-height-sm: 80px;
|
|
1101
|
+
--osi-section-item-min-height-md: 90px;
|
|
1102
|
+
--osi-section-item-min-height-lg: 95px;
|
|
1103
|
+
--osi-section-item-min-height-xl: 110px;
|
|
1104
|
+
|
|
1105
|
+
// Grid column min-widths
|
|
1106
|
+
--osi-section-item-grid-min-xs: 120px;
|
|
1107
|
+
--osi-section-item-grid-min-sm: 160px;
|
|
1108
|
+
--osi-section-item-grid-min-md: 180px;
|
|
1109
|
+
--osi-section-item-grid-min-lg: 250px;
|
|
1110
|
+
--osi-section-item-grid-min-xl: 300px;
|
|
950
1111
|
}
|
|
951
1112
|
|
|
952
1113
|
/// Generate element type system tokens (Hero, Buttons, Cards, Sections, Section Items)
|
|
@@ -1001,7 +1162,8 @@ $breakpoints: (
|
|
|
1001
1162
|
--section-hover-transform: none;
|
|
1002
1163
|
--section-transition: var(--osi-section-transition);
|
|
1003
1164
|
|
|
1004
|
-
// 5. SECTION ITEMS (aliases for backward compatibility)
|
|
1165
|
+
// 5. SECTION ITEMS (aliases for backward compatibility - DEPRECATED)
|
|
1166
|
+
// @deprecated Use --osi-section-item-* tokens instead. These will be removed in a future version.
|
|
1005
1167
|
--section-item-border: var(--osi-section-item-border);
|
|
1006
1168
|
--section-item-border-hover: var(--osi-section-item-border-hover);
|
|
1007
1169
|
--section-item-background: var(--osi-section-item-background);
|
|
@@ -1013,13 +1175,21 @@ $breakpoints: (
|
|
|
1013
1175
|
--section-item-hover-transform: var(--osi-section-item-hover-transform);
|
|
1014
1176
|
--section-item-transition-default: var(--osi-section-item-transition);
|
|
1015
1177
|
--section-item-transition: var(--osi-section-item-transition);
|
|
1178
|
+
// @deprecated Use --osi-section-item-padding instead
|
|
1179
|
+
--section-item-padding: var(--osi-section-item-padding-normal);
|
|
1016
1180
|
|
|
1017
|
-
// Legacy card variables (theme-aware)
|
|
1181
|
+
// Legacy card variables (theme-aware) - DEPRECATED: Use --osi-section-item-* tokens instead
|
|
1182
|
+
// @deprecated Use --osi-section-item-border instead
|
|
1018
1183
|
--card-border: var(--theme-card-border, 1px solid rgba(146, 153, 158, 0.15));
|
|
1184
|
+
// @deprecated Use --osi-section-item-border-hover instead
|
|
1019
1185
|
--card-border-hover: var(--theme-card-border-hover, #{$brand-color-15});
|
|
1186
|
+
// @deprecated Use --osi-section-item-shadow instead
|
|
1020
1187
|
--card-box-shadow: var(--theme-card-box-shadow, var(--shadow-md));
|
|
1188
|
+
// @deprecated Use --osi-section-item-shadow-hover instead
|
|
1021
1189
|
--card-box-shadow-hover: var(--theme-card-box-shadow-hover, var(--shadow-lg));
|
|
1022
1190
|
--card-hover-transform: none;
|
|
1191
|
+
// @deprecated Use --osi-section-item-padding instead
|
|
1192
|
+
--card-padding: var(--osi-section-item-padding-normal, 12px);
|
|
1023
1193
|
|
|
1024
1194
|
// Entrance animations
|
|
1025
1195
|
--ai-card-entrance-animation: fadeInUpSoft var(--duration-moderate) var(--ease-out-smooth) 10ms 1
|
|
@@ -1059,51 +1229,65 @@ $breakpoints: (
|
|
|
1059
1229
|
// Surface tokens - defaults (will be overridden by theme-specific mixins and JavaScript presets)
|
|
1060
1230
|
// These are fallback values only - actual values come from osi-theme-dark/light mixins or JavaScript presets
|
|
1061
1231
|
& {
|
|
1062
|
-
--theme-ai-card-border: 1px solid
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1232
|
+
--theme-ai-card-border: 1px solid #{$brand-color-20};
|
|
1233
|
+
@supports (color: color-mix(in srgb, black 50%, white)) {
|
|
1234
|
+
--theme-ai-card-border: 1px solid
|
|
1235
|
+
color-mix(in srgb, var(--color-brand, #{$brand-color}) 20%, transparent);
|
|
1236
|
+
}
|
|
1237
|
+
& {
|
|
1238
|
+
--theme-ai-card-border-hover: 1px solid var(--color-brand, #{$brand-color});
|
|
1239
|
+
--theme-ai-card-background: rgba(255, 255, 255, 0.85);
|
|
1240
|
+
--theme-ai-card-background-hover: rgba(255, 255, 255, 0.92);
|
|
1241
|
+
--theme-ai-card-box-shadow:
|
|
1242
|
+
0 4px 24px -1px rgba(0, 0, 0, 0.1), 0 0 18px rgba(255, 121, 0, 0.15);
|
|
1243
|
+
--theme-ai-card-box-shadow-hover:
|
|
1244
|
+
0 20px 40px -5px rgba(0, 0, 0, 0.15), 0 0 24px rgba(255, 121, 0, 0.5),
|
|
1245
|
+
0 0 0 1px rgba(255, 121, 0, 0.3);
|
|
1246
|
+
--theme-ai-card-backdrop-filter: blur(12px);
|
|
1247
|
+
--theme-ai-card-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
& {
|
|
1251
|
+
--theme-card-border: 1px solid rgba(0, 0, 0, 0.08);
|
|
1252
|
+
--theme-card-border-hover: var(--color-brand);
|
|
1253
|
+
--theme-card-background: var(--background);
|
|
1254
|
+
--theme-card-background-hover: color-mix(
|
|
1255
|
+
in srgb,
|
|
1256
|
+
var(--background) 98%,
|
|
1257
|
+
var(--surface-contrast-color) 2%
|
|
1258
|
+
);
|
|
1259
|
+
--theme-card-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
|
1260
|
+
--theme-card-box-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.07);
|
|
1261
|
+
|
|
1262
|
+
--theme-section-border: 1px solid rgba(0, 0, 0, 0.06);
|
|
1263
|
+
--theme-section-border-hover: 1px solid rgba(255, 121, 0, 0.15);
|
|
1264
|
+
--theme-section-border-hover-enhanced-color: rgba(0, 0, 0, 0.13);
|
|
1265
|
+
--theme-section-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
|
|
1266
|
+
--theme-section-box-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.05);
|
|
1267
|
+
--theme-section-shadow-hover-enhanced: var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.117);
|
|
1268
|
+
--theme-section-transition:
|
|
1269
|
+
border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1),
|
|
1270
|
+
box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1271
|
+
// Flat backgrounds - no color-mix
|
|
1272
|
+
--section-background: var(--background);
|
|
1273
|
+
--section-background-hover: var(--background);
|
|
1274
|
+
--section-surface: var(--background);
|
|
1275
|
+
--section-surface-hover: var(--background);
|
|
1276
|
+
|
|
1277
|
+
--theme-section-item-border: 1px solid rgba(0, 0, 0, 0.06);
|
|
1278
|
+
--theme-section-item-border-hover: 1px solid rgba(255, 121, 0, 0.15);
|
|
1279
|
+
--theme-section-item-background: var(--background);
|
|
1280
|
+
--theme-section-item-background-hover: var(--background);
|
|
1281
|
+
--theme-section-item-box-shadow: var(--shadow-md, 0 1px 2px rgba(0, 0, 0, 0.04));
|
|
1282
|
+
--theme-section-item-box-shadow-hover: var(--shadow-lg, 0 1px 3px rgba(0, 0, 0, 0.05));
|
|
1283
|
+
--theme-section-item-border-hover-enhanced-color: rgba(0, 0, 0, 0.195);
|
|
1284
|
+
--theme-section-item-shadow-hover-enhanced:
|
|
1285
|
+
var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.1755);
|
|
1286
|
+
--theme-section-item-hover-transform: none;
|
|
1287
|
+
--theme-section-item-transition:
|
|
1288
|
+
border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
|
|
1289
|
+
background 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1290
|
+
}
|
|
1107
1291
|
}
|
|
1108
1292
|
}
|
|
1109
1293
|
|
|
@@ -1136,15 +1320,22 @@ $breakpoints: (
|
|
|
1136
1320
|
|
|
1137
1321
|
// AI Card surface - transparent with blur effect (matches preset)
|
|
1138
1322
|
& {
|
|
1139
|
-
--theme-ai-card-border: 1px solid
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1323
|
+
--theme-ai-card-border: 1px solid #{$brand-color-20};
|
|
1324
|
+
@supports (color: color-mix(in srgb, black 50%, white)) {
|
|
1325
|
+
--theme-ai-card-border: 1px solid
|
|
1326
|
+
color-mix(in srgb, var(--color-brand, #{$brand-color}) 20%, transparent);
|
|
1327
|
+
}
|
|
1328
|
+
& {
|
|
1329
|
+
--theme-ai-card-border-hover: 1px solid var(--color-brand, #{$brand-color});
|
|
1330
|
+
--theme-ai-card-background: rgba(20, 20, 20, 0.6);
|
|
1331
|
+
--theme-ai-card-background-hover: rgba(25, 25, 25, 0.7);
|
|
1332
|
+
--theme-ai-card-box-shadow: 0 4px 24px -1px rgba(0, 0, 0, 0.2);
|
|
1333
|
+
--theme-ai-card-box-shadow-hover:
|
|
1334
|
+
0 12px 32px -4px rgba(0, 0, 0, 0.3), 0 0 24px rgba(255, 121, 0, 0.5),
|
|
1335
|
+
0 0 0 1px rgba(255, 121, 0, 0.3);
|
|
1336
|
+
--theme-ai-card-backdrop-filter: blur(12px);
|
|
1337
|
+
--theme-ai-card-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1338
|
+
}
|
|
1148
1339
|
|
|
1149
1340
|
// Card backgrounds (matches preset)
|
|
1150
1341
|
--theme-card-border: 1px solid rgba(255, 255, 255, 0.08);
|
|
@@ -1187,17 +1378,22 @@ $breakpoints: (
|
|
|
1187
1378
|
// Section (matches preset)
|
|
1188
1379
|
--theme-section-border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1189
1380
|
--theme-section-border-hover: 1px solid rgba(255, 255, 255, 0.1);
|
|
1381
|
+
--theme-section-border-hover-enhanced-color: rgba(255, 255, 255, 0.13);
|
|
1190
1382
|
--theme-section-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
1191
1383
|
--theme-section-box-shadow-hover: 0 2px 5px rgba(0, 0, 0, 0.5);
|
|
1384
|
+
--theme-section-shadow-hover-enhanced: var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.117);
|
|
1192
1385
|
--theme-section-transition:
|
|
1193
1386
|
border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1194
1387
|
// Section Item (matches preset)
|
|
1195
1388
|
--theme-section-item-border: 1px solid rgba(255, 255, 255, 0.06);
|
|
1196
1389
|
--theme-section-item-border-hover: 1px solid rgba(255, 121, 0, 0.08);
|
|
1390
|
+
--theme-section-item-border-hover-enhanced-color: rgba(255, 255, 255, 0.195);
|
|
1197
1391
|
--theme-section-item-background: #202020;
|
|
1198
1392
|
--theme-section-item-background-hover: #212121;
|
|
1199
1393
|
--theme-section-item-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
|
|
1200
1394
|
--theme-section-item-box-shadow-hover: 0 1px 4px rgba(0, 0, 0, 0.3);
|
|
1395
|
+
--theme-section-item-shadow-hover-enhanced:
|
|
1396
|
+
var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.1755);
|
|
1201
1397
|
--theme-section-item-hover-transform: none;
|
|
1202
1398
|
--theme-section-item-transition:
|
|
1203
1399
|
background 220ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 220ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
@@ -1240,17 +1436,23 @@ $breakpoints: (
|
|
|
1240
1436
|
--card-section-card-bg: #f8f8f8;
|
|
1241
1437
|
|
|
1242
1438
|
// AI Card surface - light theme with blur (matches preset)
|
|
1243
|
-
--theme-ai-card-border: 1px solid
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1439
|
+
--theme-ai-card-border: 1px solid #{$brand-color-20};
|
|
1440
|
+
@supports (color: color-mix(in srgb, black 50%, white)) {
|
|
1441
|
+
--theme-ai-card-border: 1px solid
|
|
1442
|
+
color-mix(in srgb, var(--color-brand, #{$brand-color}) 20%, transparent);
|
|
1443
|
+
}
|
|
1444
|
+
& {
|
|
1445
|
+
--theme-ai-card-border-hover: 1px solid var(--color-brand, #{$brand-color});
|
|
1446
|
+
--theme-ai-card-background: rgba(255, 255, 255, 0.85);
|
|
1447
|
+
--theme-ai-card-background-hover: rgba(255, 255, 255, 0.88);
|
|
1448
|
+
--theme-ai-card-box-shadow:
|
|
1449
|
+
0 4px 24px -1px rgba(0, 0, 0, 0.1), 0 0 18px rgba(255, 121, 0, 0.15);
|
|
1450
|
+
--theme-ai-card-box-shadow-hover:
|
|
1451
|
+
0 12px 32px -4px rgba(0, 0, 0, 0.12), 0 0 20px rgba(255, 121, 0, 0.45),
|
|
1452
|
+
0 0 0 1px rgba(255, 121, 0, 0.25);
|
|
1453
|
+
--theme-ai-card-backdrop-filter: blur(12px);
|
|
1454
|
+
--theme-ai-card-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1455
|
+
}
|
|
1254
1456
|
|
|
1255
1457
|
// Card backgrounds (matches preset)
|
|
1256
1458
|
--theme-card-border: 1px solid rgba(0, 0, 0, 0.08);
|
|
@@ -75,10 +75,6 @@
|
|
|
75
75
|
// Social Media Section
|
|
76
76
|
--osi-section-social-media-columns: 1;
|
|
77
77
|
--osi-section-social-media-collapse: 1;
|
|
78
|
-
|
|
79
|
-
// Fallback Section
|
|
80
|
-
--osi-section-fallback-columns: 1;
|
|
81
|
-
--osi-section-fallback-collapse: 1;
|
|
82
78
|
}
|
|
83
79
|
|
|
84
80
|
// Section type display properties
|
|
@@ -134,7 +130,4 @@
|
|
|
134
130
|
@if $type == "social-media" {
|
|
135
131
|
--section-columns: var(--osi-section-social-media-columns, 1);
|
|
136
132
|
}
|
|
137
|
-
@if $type == "fallback" {
|
|
138
|
-
--section-columns: var(--osi-section-fallback-columns, 1);
|
|
139
|
-
}
|
|
140
133
|
}
|