osi-cards-lib 1.5.42 → 1.5.43
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 +5176 -3720
- package/fesm2022/osi-cards-lib.mjs.map +1 -1
- package/index.d.ts +134 -272
- package/package.json +4 -3
- package/styles/bundles/_ai-card.scss +10 -3
- 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/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 +96 -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-all.scss +7 -0
- package/styles/components/sections/_sections-base.scss +340 -64
- package/styles/components/sections/_unified-section-style.scss +17 -44
- package/styles/components/sections/_visual-effects-library.scss +3 -3
- 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 +259 -66
- 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,15 +1229,19 @@ $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
|
-
|
|
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
|
+
--theme-ai-card-border-hover: 1px solid var(--color-brand, #{$brand-color});
|
|
1064
1238
|
--theme-ai-card-background: rgba(255, 255, 255, 0.85);
|
|
1065
1239
|
--theme-ai-card-background-hover: rgba(255, 255, 255, 0.92);
|
|
1066
1240
|
--theme-ai-card-box-shadow:
|
|
1067
1241
|
0 4px 24px -1px rgba(0, 0, 0, 0.1), 0 0 18px rgba(255, 121, 0, 0.15);
|
|
1068
1242
|
--theme-ai-card-box-shadow-hover:
|
|
1069
|
-
0 20px 40px -5px rgba(0, 0, 0, 0.15), 0 0 24px rgba(255, 121, 0, 0.
|
|
1070
|
-
0 0 0 1px rgba(255, 121, 0, 0.
|
|
1243
|
+
0 20px 40px -5px rgba(0, 0, 0, 0.15), 0 0 24px rgba(255, 121, 0, 0.5),
|
|
1244
|
+
0 0 0 1px rgba(255, 121, 0, 0.3);
|
|
1071
1245
|
--theme-ai-card-backdrop-filter: blur(12px);
|
|
1072
1246
|
--theme-ai-card-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1073
1247
|
|
|
@@ -1084,8 +1258,10 @@ $breakpoints: (
|
|
|
1084
1258
|
|
|
1085
1259
|
--theme-section-border: 1px solid rgba(0, 0, 0, 0.06);
|
|
1086
1260
|
--theme-section-border-hover: 1px solid rgba(255, 121, 0, 0.15);
|
|
1261
|
+
--theme-section-border-hover-enhanced-color: rgba(0, 0, 0, 0.13);
|
|
1087
1262
|
--theme-section-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
|
|
1088
1263
|
--theme-section-box-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.05);
|
|
1264
|
+
--theme-section-shadow-hover-enhanced: var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.117);
|
|
1089
1265
|
--theme-section-transition:
|
|
1090
1266
|
border-color 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1091
1267
|
// Flat backgrounds - no color-mix
|
|
@@ -1100,6 +1276,9 @@ $breakpoints: (
|
|
|
1100
1276
|
--theme-section-item-background-hover: var(--background);
|
|
1101
1277
|
--theme-section-item-box-shadow: var(--shadow-md, 0 1px 2px rgba(0, 0, 0, 0.04));
|
|
1102
1278
|
--theme-section-item-box-shadow-hover: var(--shadow-lg, 0 1px 3px rgba(0, 0, 0, 0.05));
|
|
1279
|
+
--theme-section-item-border-hover-enhanced-color: rgba(0, 0, 0, 0.195);
|
|
1280
|
+
--theme-section-item-shadow-hover-enhanced:
|
|
1281
|
+
var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.1755);
|
|
1103
1282
|
--theme-section-item-hover-transform: none;
|
|
1104
1283
|
--theme-section-item-transition:
|
|
1105
1284
|
border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
|
|
@@ -1136,13 +1315,18 @@ $breakpoints: (
|
|
|
1136
1315
|
|
|
1137
1316
|
// AI Card surface - transparent with blur effect (matches preset)
|
|
1138
1317
|
& {
|
|
1139
|
-
--theme-ai-card-border: 1px solid
|
|
1140
|
-
|
|
1318
|
+
--theme-ai-card-border: 1px solid #{$brand-color-20};
|
|
1319
|
+
@supports (color: color-mix(in srgb, black 50%, white)) {
|
|
1320
|
+
--theme-ai-card-border: 1px solid
|
|
1321
|
+
color-mix(in srgb, var(--color-brand, #{$brand-color}) 20%, transparent);
|
|
1322
|
+
}
|
|
1323
|
+
--theme-ai-card-border-hover: 1px solid var(--color-brand, #{$brand-color});
|
|
1141
1324
|
--theme-ai-card-background: rgba(20, 20, 20, 0.6);
|
|
1142
1325
|
--theme-ai-card-background-hover: rgba(25, 25, 25, 0.7);
|
|
1143
1326
|
--theme-ai-card-box-shadow: 0 4px 24px -1px rgba(0, 0, 0, 0.2);
|
|
1144
1327
|
--theme-ai-card-box-shadow-hover:
|
|
1145
|
-
0 12px 32px -4px rgba(0, 0, 0, 0.3), 0 0
|
|
1328
|
+
0 12px 32px -4px rgba(0, 0, 0, 0.3), 0 0 24px rgba(255, 121, 0, 0.5),
|
|
1329
|
+
0 0 0 1px rgba(255, 121, 0, 0.3);
|
|
1146
1330
|
--theme-ai-card-backdrop-filter: blur(12px);
|
|
1147
1331
|
--theme-ai-card-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1148
1332
|
|
|
@@ -1187,17 +1371,22 @@ $breakpoints: (
|
|
|
1187
1371
|
// Section (matches preset)
|
|
1188
1372
|
--theme-section-border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1189
1373
|
--theme-section-border-hover: 1px solid rgba(255, 255, 255, 0.1);
|
|
1374
|
+
--theme-section-border-hover-enhanced-color: rgba(255, 255, 255, 0.13);
|
|
1190
1375
|
--theme-section-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
1191
1376
|
--theme-section-box-shadow-hover: 0 2px 5px rgba(0, 0, 0, 0.5);
|
|
1377
|
+
--theme-section-shadow-hover-enhanced: var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.117);
|
|
1192
1378
|
--theme-section-transition:
|
|
1193
1379
|
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
1380
|
// Section Item (matches preset)
|
|
1195
1381
|
--theme-section-item-border: 1px solid rgba(255, 255, 255, 0.06);
|
|
1196
1382
|
--theme-section-item-border-hover: 1px solid rgba(255, 121, 0, 0.08);
|
|
1383
|
+
--theme-section-item-border-hover-enhanced-color: rgba(255, 255, 255, 0.195);
|
|
1197
1384
|
--theme-section-item-background: #202020;
|
|
1198
1385
|
--theme-section-item-background-hover: #212121;
|
|
1199
1386
|
--theme-section-item-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
|
|
1200
1387
|
--theme-section-item-box-shadow-hover: 0 1px 4px rgba(0, 0, 0, 0.3);
|
|
1388
|
+
--theme-section-item-shadow-hover-enhanced:
|
|
1389
|
+
var(--shadow-lg), 0 0 16px rgba(59, 130, 246, 0.1755);
|
|
1201
1390
|
--theme-section-item-hover-transform: none;
|
|
1202
1391
|
--theme-section-item-transition:
|
|
1203
1392
|
background 220ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 220ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
@@ -1240,15 +1429,19 @@ $breakpoints: (
|
|
|
1240
1429
|
--card-section-card-bg: #f8f8f8;
|
|
1241
1430
|
|
|
1242
1431
|
// AI Card surface - light theme with blur (matches preset)
|
|
1243
|
-
--theme-ai-card-border: 1px solid
|
|
1244
|
-
|
|
1432
|
+
--theme-ai-card-border: 1px solid #{$brand-color-20};
|
|
1433
|
+
@supports (color: color-mix(in srgb, black 50%, white)) {
|
|
1434
|
+
--theme-ai-card-border: 1px solid
|
|
1435
|
+
color-mix(in srgb, var(--color-brand, #{$brand-color}) 20%, transparent);
|
|
1436
|
+
}
|
|
1437
|
+
--theme-ai-card-border-hover: 1px solid var(--color-brand, #{$brand-color});
|
|
1245
1438
|
--theme-ai-card-background: rgba(255, 255, 255, 0.85);
|
|
1246
1439
|
--theme-ai-card-background-hover: rgba(255, 255, 255, 0.88);
|
|
1247
1440
|
--theme-ai-card-box-shadow:
|
|
1248
1441
|
0 4px 24px -1px rgba(0, 0, 0, 0.1), 0 0 18px rgba(255, 121, 0, 0.15);
|
|
1249
1442
|
--theme-ai-card-box-shadow-hover:
|
|
1250
|
-
0 12px 32px -4px rgba(0, 0, 0, 0.12), 0 0 20px rgba(255, 121, 0, 0.
|
|
1251
|
-
0 0 0 1px rgba(255, 121, 0, 0.
|
|
1443
|
+
0 12px 32px -4px rgba(0, 0, 0, 0.12), 0 0 20px rgba(255, 121, 0, 0.45),
|
|
1444
|
+
0 0 0 1px rgba(255, 121, 0, 0.25);
|
|
1252
1445
|
--theme-ai-card-backdrop-filter: blur(12px);
|
|
1253
1446
|
--theme-ai-card-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1254
1447
|
|
|
@@ -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
|
}
|