osi-cards-lib 1.5.30 → 1.5.32
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 +58 -20
- package/package.json +13 -25
- package/postcss.config.js +81 -0
- package/section-registry.json +3864 -0
- package/section-registry.schema.json +264 -0
- package/fesm2022/osi-cards-lib.mjs +0 -31878
- package/fesm2022/osi-cards-lib.mjs.map +0 -1
- package/index.d.ts +0 -11522
- package/scripts/setup-angular-styles.js +0 -169
- package/styles/_components.scss +0 -38
- package/styles/_index.scss +0 -25
- package/styles/_osi-cards-mixins.scss +0 -459
- package/styles/_osi-cards-tokens.scss +0 -333
- package/styles/_styles-scoped.scss +0 -81
- package/styles/_styles.scss +0 -26
- package/styles/bundles/_ai-card.scss +0 -245
- package/styles/bundles/_all.scss +0 -68
- package/styles/bundles/_base.scss +0 -60
- package/styles/bundles/_card-skeleton.scss +0 -290
- package/styles/bundles/_index.scss +0 -25
- package/styles/bundles/_sections.scss +0 -48
- package/styles/bundles/_tokens-only.scss +0 -139
- package/styles/components/_ai-card-renderer.scss +0 -104
- package/styles/components/_badges.scss +0 -317
- package/styles/components/_card-actions.scss +0 -169
- package/styles/components/_card-footer.scss +0 -47
- package/styles/components/_component-styles.scss +0 -205
- package/styles/components/_empty-state.scss +0 -630
- package/styles/components/_hero-card.scss +0 -422
- package/styles/components/_image-fallback.scss +0 -28
- package/styles/components/_streaming-effects.scss +0 -518
- package/styles/components/cards/_ai-card.scss +0 -718
- package/styles/components/sections/_all-sections.generated.scss +0 -41
- package/styles/components/sections/_all-sections.scss +0 -1086
- package/styles/components/sections/_balanced-compact-system.scss +0 -186
- package/styles/components/sections/_compact-mixins.scss +0 -180
- package/styles/components/sections/_component-mixins.scss +0 -454
- package/styles/components/sections/_design-system.scss +0 -477
- package/styles/components/sections/_design-tokens.scss +0 -308
- package/styles/components/sections/_enhanced-design-variables.scss +0 -147
- package/styles/components/sections/_master-compact-system.scss +0 -302
- package/styles/components/sections/_master-dense-system.scss +0 -239
- package/styles/components/sections/_minimalistic-design.scss +0 -268
- package/styles/components/sections/_modern-effects.scss +0 -392
- package/styles/components/sections/_modern-sections.scss +0 -351
- package/styles/components/sections/_perfect-system.scss +0 -204
- package/styles/components/sections/_section-animations.scss +0 -331
- package/styles/components/sections/_section-shell.scss +0 -337
- package/styles/components/sections/_section-types.generated.scss +0 -30
- package/styles/components/sections/_sections-all.scss +0 -26
- package/styles/components/sections/_sections-base.scss +0 -334
- package/styles/components/sections/_typography-system.scss +0 -327
- package/styles/components/sections/_ultra-compact-tokens.scss +0 -375
- package/styles/components/sections/_unified-section-style.scss +0 -157
- package/styles/components/sections/_utility-classes.scss +0 -567
- package/styles/components/sections/_visual-effects-library.scss +0 -374
- package/styles/core/_animations.scss +0 -1498
- package/styles/core/_bootstrap-reset.scss +0 -445
- package/styles/core/_color-helpers.scss +0 -46
- package/styles/core/_global-unified.scss +0 -118
- package/styles/core/_global.scss +0 -73
- package/styles/core/_mixins.scss +0 -491
- package/styles/core/_surface-layers.scss +0 -76
- package/styles/core/_utilities.scss +0 -326
- package/styles/core/_variables-unified.scss +0 -57
- package/styles/core/_variables.scss +0 -36
- package/styles/core/variables/_colors-source.scss +0 -34
- package/styles/core/variables/_colors-unified.scss +0 -26
- package/styles/core/variables/_colors.scss +0 -21
- package/styles/critical.scss +0 -353
- package/styles/design-system/_compact-theme.scss +0 -159
- package/styles/design-system/_section-base.scss +0 -426
- package/styles/design-system/_tokens.scss +0 -237
- package/styles/design-system/_unified-sections.scss +0 -215
- package/styles/layout/_feature-grid.scss +0 -322
- package/styles/layout/_masonry.scss +0 -734
- package/styles/layout/_tilt.scss +0 -244
- package/styles/micro-interactions.scss +0 -583
- package/styles/mixins/_section-mixins.scss +0 -280
- package/styles/non-critical.scss +0 -643
- package/styles/reset/_framework-reset.scss +0 -457
- package/styles/reset/_index.scss +0 -14
- package/styles/reset/_shadow-reset.scss +0 -383
- package/styles/responsive.scss +0 -326
- package/styles/themes.scss +0 -573
- package/styles/tokens/_index.scss +0 -92
- package/styles/tokens/_master.scss +0 -1404
- package/styles/tokens/_section-tokens.generated.scss +0 -140
package/styles/bundles/_all.scss
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// ALL COMPONENTS BUNDLE
|
|
3
|
-
// ============================================
|
|
4
|
-
//
|
|
5
|
-
// Complete bundle including all OSI Cards styles.
|
|
6
|
-
// Use this for simple integration when bundle size is not a concern.
|
|
7
|
-
//
|
|
8
|
-
// Usage in Shadow DOM component:
|
|
9
|
-
// @use 'osi-cards-lib/styles/bundles/all';
|
|
10
|
-
//
|
|
11
|
-
// ============================================
|
|
12
|
-
|
|
13
|
-
// 1. Master tokens (single source of truth)
|
|
14
|
-
@use "../tokens/master" as *;
|
|
15
|
-
|
|
16
|
-
// 2. Shadow DOM reset (full isolation)
|
|
17
|
-
@use "../reset/shadow-reset";
|
|
18
|
-
|
|
19
|
-
// 3. Generate CSS custom properties
|
|
20
|
-
:host {
|
|
21
|
-
@include osi-theme-base("integration", true);
|
|
22
|
-
@include osi-tokens("integration", true);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
:host([data-theme="night"]),
|
|
26
|
-
:host-context([data-theme="night"]) {
|
|
27
|
-
@include osi-theme-dark("integration", true);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host([data-theme="day"]),
|
|
31
|
-
:host-context([data-theme="day"]) {
|
|
32
|
-
@include osi-theme-light("integration", true);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// 4. Core styles
|
|
36
|
-
@import "../core/mixins";
|
|
37
|
-
@import "../core/surface-layers";
|
|
38
|
-
@import "../core/utilities";
|
|
39
|
-
@import "../core/animations";
|
|
40
|
-
|
|
41
|
-
// 5. Layout styles
|
|
42
|
-
@import "../layout/tilt";
|
|
43
|
-
@import "../layout/masonry";
|
|
44
|
-
|
|
45
|
-
// 6. Component styles
|
|
46
|
-
@import "../components/cards/ai-card";
|
|
47
|
-
|
|
48
|
-
// 7. Section styles (consolidated import)
|
|
49
|
-
@import "../components/sections/sections-all";
|
|
50
|
-
|
|
51
|
-
// 8. Accessibility support
|
|
52
|
-
@media (prefers-reduced-motion: reduce) {
|
|
53
|
-
:host {
|
|
54
|
-
@include osi-tokens-reduced-motion();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@media (prefers-contrast: high) {
|
|
59
|
-
:host {
|
|
60
|
-
@include osi-tokens-high-contrast();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@media (forced-colors: active) {
|
|
65
|
-
:host {
|
|
66
|
-
@include osi-tokens-forced-colors();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// BASE BUNDLE
|
|
3
|
-
// ============================================
|
|
4
|
-
//
|
|
5
|
-
// Shared foundation for all component bundles.
|
|
6
|
-
// Contains tokens, reset, and core styles without section-specific code.
|
|
7
|
-
//
|
|
8
|
-
// Usage: Import in individual section bundles
|
|
9
|
-
// @use 'base';
|
|
10
|
-
//
|
|
11
|
-
// ============================================
|
|
12
|
-
|
|
13
|
-
// 1. Master tokens
|
|
14
|
-
@use "../tokens/master" as *;
|
|
15
|
-
|
|
16
|
-
// 2. Shadow DOM reset
|
|
17
|
-
@use "../reset/shadow-reset";
|
|
18
|
-
|
|
19
|
-
// 3. Generate CSS custom properties
|
|
20
|
-
:host {
|
|
21
|
-
@include osi-theme-base("integration", true);
|
|
22
|
-
@include osi-tokens("integration", true);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
:host([data-theme="night"]),
|
|
26
|
-
:host-context([data-theme="night"]) {
|
|
27
|
-
@include osi-theme-dark("integration", true);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host([data-theme="day"]),
|
|
31
|
-
:host-context([data-theme="day"]) {
|
|
32
|
-
@include osi-theme-light("integration", true);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// 4. Core styles
|
|
36
|
-
@import "../core/mixins";
|
|
37
|
-
@import "../core/utilities";
|
|
38
|
-
@import "../core/animations";
|
|
39
|
-
|
|
40
|
-
// 5. Section foundation (consolidated styles)
|
|
41
|
-
@import "../components/sections/sections-all";
|
|
42
|
-
|
|
43
|
-
// 6. Accessibility
|
|
44
|
-
@media (prefers-reduced-motion: reduce) {
|
|
45
|
-
:host {
|
|
46
|
-
@include osi-tokens-reduced-motion();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
@media (prefers-contrast: high) {
|
|
51
|
-
:host {
|
|
52
|
-
@include osi-tokens-high-contrast();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@media (forced-colors: active) {
|
|
57
|
-
:host {
|
|
58
|
-
@include osi-tokens-forced-colors();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// CARD SKELETON COMPONENT BUNDLE
|
|
3
|
-
// ============================================
|
|
4
|
-
//
|
|
5
|
-
// Self-contained bundle for the Card Skeleton component.
|
|
6
|
-
// Includes all styles needed to render loading skeleton states.
|
|
7
|
-
//
|
|
8
|
-
// Usage in Shadow DOM component:
|
|
9
|
-
// styleUrls: ['../../styles/bundles/_card-skeleton.scss']
|
|
10
|
-
//
|
|
11
|
-
// ============================================
|
|
12
|
-
|
|
13
|
-
// 1. Master tokens (single source of truth)
|
|
14
|
-
@use "../tokens/master" as *;
|
|
15
|
-
|
|
16
|
-
// 2. Shadow DOM reset (full isolation)
|
|
17
|
-
@use "../reset/shadow-reset";
|
|
18
|
-
|
|
19
|
-
// 3. Generate CSS custom properties
|
|
20
|
-
:host {
|
|
21
|
-
@include osi-theme-base("integration", true);
|
|
22
|
-
@include osi-tokens("integration", true);
|
|
23
|
-
|
|
24
|
-
display: block;
|
|
25
|
-
width: 100%;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
:host([data-theme="night"]),
|
|
29
|
-
:host-context([data-theme="night"]) {
|
|
30
|
-
@include osi-theme-dark("integration", true);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
:host([data-theme="day"]),
|
|
34
|
-
:host-context([data-theme="day"]) {
|
|
35
|
-
@include osi-theme-light("integration", true);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// ============================================
|
|
39
|
-
// SKELETON KEYFRAME ANIMATIONS
|
|
40
|
-
// ============================================
|
|
41
|
-
|
|
42
|
-
@keyframes shimmerWave {
|
|
43
|
-
0% {
|
|
44
|
-
background-position: -200% 0;
|
|
45
|
-
}
|
|
46
|
-
100% {
|
|
47
|
-
background-position: 200% 0;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@keyframes skeleton-fade-in {
|
|
52
|
-
from {
|
|
53
|
-
opacity: 0;
|
|
54
|
-
transform: translate3d(0, 10px, 0);
|
|
55
|
-
}
|
|
56
|
-
to {
|
|
57
|
-
opacity: 1;
|
|
58
|
-
transform: translate3d(0, 0, 0);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@keyframes skeletonPulse {
|
|
63
|
-
0%,
|
|
64
|
-
100% {
|
|
65
|
-
opacity: 0.6;
|
|
66
|
-
}
|
|
67
|
-
50% {
|
|
68
|
-
opacity: 1;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// ============================================
|
|
73
|
-
// CARD SKELETON STYLES
|
|
74
|
-
// ============================================
|
|
75
|
-
|
|
76
|
-
.card-skeleton {
|
|
77
|
-
width: 100%;
|
|
78
|
-
min-height: 400px;
|
|
79
|
-
background: var(--card-background, var(--background, #ffffff));
|
|
80
|
-
border: 1px solid var(--border, rgba(200, 200, 200, 0.5));
|
|
81
|
-
border-radius: var(--card-border-radius, 1rem);
|
|
82
|
-
padding: var(--card-main-padding, 1.5rem);
|
|
83
|
-
display: flex;
|
|
84
|
-
flex-direction: column;
|
|
85
|
-
gap: 1.5rem;
|
|
86
|
-
position: relative;
|
|
87
|
-
overflow: hidden;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.card-skeleton--fullscreen {
|
|
91
|
-
min-height: 100%;
|
|
92
|
-
border-radius: 0;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.card-skeleton-header {
|
|
96
|
-
padding-bottom: 1rem;
|
|
97
|
-
border-bottom: 1px solid var(--border, rgba(200, 200, 200, 0.5));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.skeleton-title {
|
|
101
|
-
font-size: 1.5rem;
|
|
102
|
-
font-weight: 600;
|
|
103
|
-
color: var(--foreground, #1c1c1f);
|
|
104
|
-
min-height: 2rem;
|
|
105
|
-
display: flex;
|
|
106
|
-
align-items: center;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.skeleton-title-placeholder {
|
|
110
|
-
width: 60%;
|
|
111
|
-
height: 2rem;
|
|
112
|
-
background: linear-gradient(
|
|
113
|
-
90deg,
|
|
114
|
-
color-mix(in srgb, var(--muted, #f4f4f6) 100%, transparent) 0%,
|
|
115
|
-
color-mix(in srgb, var(--muted-foreground, #555861) 100%, transparent) 20%,
|
|
116
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 15%, transparent) 50%,
|
|
117
|
-
color-mix(in srgb, var(--muted, #f4f4f6) 100%, transparent) 100%
|
|
118
|
-
);
|
|
119
|
-
background-size: 200% 100%;
|
|
120
|
-
border-radius: 0.5rem;
|
|
121
|
-
animation: shimmerWave 1.5s ease-in-out infinite;
|
|
122
|
-
position: relative;
|
|
123
|
-
overflow: hidden;
|
|
124
|
-
box-shadow: 0 2px 4px color-mix(in srgb, var(--foreground, #1c1c1f) 5%, transparent);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.skeleton-title-placeholder::after {
|
|
128
|
-
content: "";
|
|
129
|
-
position: absolute;
|
|
130
|
-
top: 0;
|
|
131
|
-
left: -100%;
|
|
132
|
-
width: 100%;
|
|
133
|
-
height: 100%;
|
|
134
|
-
background: linear-gradient(
|
|
135
|
-
90deg,
|
|
136
|
-
transparent 0%,
|
|
137
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 20%, transparent) 50%,
|
|
138
|
-
transparent 100%
|
|
139
|
-
);
|
|
140
|
-
animation: shimmerWave 1.5s ease-in-out infinite;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
.card-skeleton-sections {
|
|
144
|
-
display: flex;
|
|
145
|
-
flex-direction: column;
|
|
146
|
-
gap: 1.5rem;
|
|
147
|
-
flex: 1;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.skeleton-section {
|
|
151
|
-
opacity: 0;
|
|
152
|
-
animation: skeleton-fade-in 0.4s ease-out forwards;
|
|
153
|
-
padding: 1.25rem;
|
|
154
|
-
border: 1px solid color-mix(in srgb, var(--border, rgba(200, 200, 200, 0.5)) 60%, transparent);
|
|
155
|
-
border-radius: 0.75rem;
|
|
156
|
-
background: linear-gradient(
|
|
157
|
-
135deg,
|
|
158
|
-
var(--card-background, var(--background, #ffffff)) 0%,
|
|
159
|
-
color-mix(
|
|
160
|
-
in srgb,
|
|
161
|
-
var(--card-background, var(--background, #ffffff)) 98%,
|
|
162
|
-
var(--color-brand, #ff7900) 2%
|
|
163
|
-
)
|
|
164
|
-
100%
|
|
165
|
-
);
|
|
166
|
-
box-shadow: 0 2px 4px color-mix(in srgb, var(--foreground, #1c1c1f) 5%, transparent);
|
|
167
|
-
position: relative;
|
|
168
|
-
overflow: hidden;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.skeleton-section::before {
|
|
172
|
-
content: "";
|
|
173
|
-
position: absolute;
|
|
174
|
-
left: 0;
|
|
175
|
-
top: 0;
|
|
176
|
-
bottom: 0;
|
|
177
|
-
width: 2px;
|
|
178
|
-
background: linear-gradient(
|
|
179
|
-
180deg,
|
|
180
|
-
var(--color-brand, #ff7900),
|
|
181
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 50%, transparent)
|
|
182
|
-
);
|
|
183
|
-
opacity: 0.3;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
// Stagger animation delays for skeleton sections
|
|
187
|
-
@for $i from 1 through 10 {
|
|
188
|
-
.skeleton-section:nth-child(#{$i}) {
|
|
189
|
-
animation-delay: #{$i * 0.1}s;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
.skeleton-section-header {
|
|
194
|
-
margin-bottom: 0.75rem;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.skeleton-section-content {
|
|
198
|
-
display: flex;
|
|
199
|
-
flex-direction: column;
|
|
200
|
-
gap: 0.5rem;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
.skeleton-line {
|
|
204
|
-
height: 1rem;
|
|
205
|
-
background: linear-gradient(
|
|
206
|
-
90deg,
|
|
207
|
-
color-mix(in srgb, var(--muted, #f4f4f6) 100%, transparent) 0%,
|
|
208
|
-
color-mix(in srgb, var(--muted-foreground, #555861) 100%, transparent) 20%,
|
|
209
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 10%, transparent) 50%,
|
|
210
|
-
color-mix(in srgb, var(--muted, #f4f4f6) 100%, transparent) 100%
|
|
211
|
-
);
|
|
212
|
-
background-size: 200% 100%;
|
|
213
|
-
border-radius: 0.375rem;
|
|
214
|
-
animation: shimmerWave 1.5s ease-in-out infinite;
|
|
215
|
-
position: relative;
|
|
216
|
-
overflow: hidden;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.skeleton-line::after {
|
|
220
|
-
content: "";
|
|
221
|
-
position: absolute;
|
|
222
|
-
top: 0;
|
|
223
|
-
left: -100%;
|
|
224
|
-
width: 100%;
|
|
225
|
-
height: 100%;
|
|
226
|
-
background: linear-gradient(
|
|
227
|
-
90deg,
|
|
228
|
-
transparent 0%,
|
|
229
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 15%, transparent) 50%,
|
|
230
|
-
transparent 100%
|
|
231
|
-
);
|
|
232
|
-
animation: shimmerWave 1.5s ease-in-out infinite;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
.skeleton-line--title {
|
|
236
|
-
width: 40%;
|
|
237
|
-
height: 1.25rem;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
.skeleton-line:not(.skeleton-line--title) {
|
|
241
|
-
width: 100%;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
.skeleton-line:not(.skeleton-line--title):nth-child(2) {
|
|
245
|
-
width: 80%;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
.card-skeleton-empty {
|
|
249
|
-
padding: 2rem;
|
|
250
|
-
display: flex;
|
|
251
|
-
align-items: center;
|
|
252
|
-
justify-content: center;
|
|
253
|
-
min-height: 200px;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
.skeleton-line--empty {
|
|
257
|
-
width: 60%;
|
|
258
|
-
height: 1.5rem;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// ============================================
|
|
262
|
-
// ACCESSIBILITY SUPPORT
|
|
263
|
-
// ============================================
|
|
264
|
-
|
|
265
|
-
@media (prefers-reduced-motion: reduce) {
|
|
266
|
-
:host {
|
|
267
|
-
@include osi-tokens-reduced-motion();
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
.skeleton-title-placeholder,
|
|
271
|
-
.skeleton-title-placeholder::after,
|
|
272
|
-
.skeleton-line,
|
|
273
|
-
.skeleton-line::after,
|
|
274
|
-
.skeleton-section {
|
|
275
|
-
animation: none !important;
|
|
276
|
-
opacity: 1 !important;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
@media (prefers-contrast: high) {
|
|
281
|
-
:host {
|
|
282
|
-
@include osi-tokens-high-contrast();
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
@media (forced-colors: active) {
|
|
287
|
-
:host {
|
|
288
|
-
@include osi-tokens-forced-colors();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// BUNDLES INDEX
|
|
3
|
-
// ============================================
|
|
4
|
-
//
|
|
5
|
-
// Available bundles for Shadow DOM components:
|
|
6
|
-
//
|
|
7
|
-
// FULL BUNDLES:
|
|
8
|
-
// @use 'bundles/all' - Everything included
|
|
9
|
-
// @use 'bundles/ai-card' - AI Card with all sections
|
|
10
|
-
// @use 'bundles/sections' - All sections without card chrome
|
|
11
|
-
//
|
|
12
|
-
// BASE BUNDLE:
|
|
13
|
-
// @use 'bundles/base' - Foundation only (tokens, reset, core)
|
|
14
|
-
//
|
|
15
|
-
// Note: Individual section bundles have been consolidated into
|
|
16
|
-
// 'sections' bundle to reduce redundancy. Use 'base' + 'sections'
|
|
17
|
-
// for section-specific styles.
|
|
18
|
-
//
|
|
19
|
-
// ============================================
|
|
20
|
-
|
|
21
|
-
// Re-export all bundles
|
|
22
|
-
@forward "all";
|
|
23
|
-
@forward "ai-card";
|
|
24
|
-
@forward "sections";
|
|
25
|
-
@forward "base";
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// ALL SECTIONS BUNDLE
|
|
3
|
-
// ============================================
|
|
4
|
-
//
|
|
5
|
-
// Bundle containing all section styles.
|
|
6
|
-
// Use this when you need multiple section types.
|
|
7
|
-
//
|
|
8
|
-
// Usage in Shadow DOM component:
|
|
9
|
-
// @use 'osi-cards-lib/styles/bundles/sections';
|
|
10
|
-
//
|
|
11
|
-
// ============================================
|
|
12
|
-
|
|
13
|
-
// 1. Master tokens
|
|
14
|
-
@use "../tokens/master" as *;
|
|
15
|
-
|
|
16
|
-
// 2. Shadow DOM reset
|
|
17
|
-
@use "../reset/shadow-reset";
|
|
18
|
-
|
|
19
|
-
// 3. Generate CSS custom properties
|
|
20
|
-
:host {
|
|
21
|
-
@include osi-theme-base("integration", true);
|
|
22
|
-
@include osi-tokens("integration", true);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
:host([data-theme="night"]),
|
|
26
|
-
:host-context([data-theme="night"]) {
|
|
27
|
-
@include osi-theme-dark("integration", true);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host([data-theme="day"]),
|
|
31
|
-
:host-context([data-theme="day"]) {
|
|
32
|
-
@include osi-theme-light("integration", true);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// 4. Core styles
|
|
36
|
-
@import "../core/mixins";
|
|
37
|
-
@import "../core/utilities";
|
|
38
|
-
@import "../core/animations";
|
|
39
|
-
|
|
40
|
-
// 5. All section styles (consolidated)
|
|
41
|
-
@import "../components/sections/sections-all";
|
|
42
|
-
|
|
43
|
-
// 8. Accessibility
|
|
44
|
-
@media (prefers-reduced-motion: reduce) {
|
|
45
|
-
:host {
|
|
46
|
-
@include osi-tokens-reduced-motion();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// TOKENS ONLY - CSS Custom Properties for Host Apps
|
|
3
|
-
// ============================================
|
|
4
|
-
//
|
|
5
|
-
// This file provides ONLY the CSS custom properties (tokens) without
|
|
6
|
-
// any component styles. Use this when you want the host app to define
|
|
7
|
-
// the design tokens that OSI Cards components will consume.
|
|
8
|
-
//
|
|
9
|
-
// Include this in your host app's global styles to enable theming:
|
|
10
|
-
//
|
|
11
|
-
// @import 'osi-cards-lib/styles/bundles/tokens-only';
|
|
12
|
-
//
|
|
13
|
-
// Or import the compiled CSS:
|
|
14
|
-
//
|
|
15
|
-
// @import 'osi-cards-lib/styles/osi-cards-tokens.css';
|
|
16
|
-
//
|
|
17
|
-
// The components will read these CSS variables through Shadow DOM
|
|
18
|
-
// (CSS custom properties pass through Shadow DOM boundaries).
|
|
19
|
-
//
|
|
20
|
-
// ============================================
|
|
21
|
-
|
|
22
|
-
@use "../tokens/master" as *;
|
|
23
|
-
|
|
24
|
-
// ============================================
|
|
25
|
-
// ROOT-LEVEL TOKEN DEFINITIONS
|
|
26
|
-
// ============================================
|
|
27
|
-
|
|
28
|
-
// Apply to :root for global token availability
|
|
29
|
-
:root {
|
|
30
|
-
// Base colors
|
|
31
|
-
@include osi-base-colors();
|
|
32
|
-
|
|
33
|
-
// Status colors
|
|
34
|
-
@include osi-status-colors();
|
|
35
|
-
|
|
36
|
-
// Shadows
|
|
37
|
-
@include osi-shadows();
|
|
38
|
-
|
|
39
|
-
// Radius
|
|
40
|
-
@include osi-radius();
|
|
41
|
-
|
|
42
|
-
// Spacing
|
|
43
|
-
@include osi-spacing();
|
|
44
|
-
|
|
45
|
-
// Animation
|
|
46
|
-
@include osi-animation();
|
|
47
|
-
|
|
48
|
-
// Opacity
|
|
49
|
-
@include osi-opacity();
|
|
50
|
-
|
|
51
|
-
// Typography (demo variant for standalone apps)
|
|
52
|
-
@include osi-typography("demo");
|
|
53
|
-
|
|
54
|
-
// Card typography
|
|
55
|
-
@include osi-card-typography("demo");
|
|
56
|
-
|
|
57
|
-
// Card layout
|
|
58
|
-
@include osi-card-layout();
|
|
59
|
-
|
|
60
|
-
// Interactive states
|
|
61
|
-
@include osi-interactive();
|
|
62
|
-
|
|
63
|
-
// Default theme (light)
|
|
64
|
-
@include osi-theme-base("demo", false);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// ============================================
|
|
68
|
-
// THEME VARIANTS
|
|
69
|
-
// ============================================
|
|
70
|
-
|
|
71
|
-
// Dark theme
|
|
72
|
-
:root[data-theme="night"],
|
|
73
|
-
[data-theme="night"] {
|
|
74
|
-
@include osi-theme-dark("demo", false);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// Light theme
|
|
78
|
-
:root[data-theme="day"],
|
|
79
|
-
[data-theme="day"] {
|
|
80
|
-
@include osi-theme-light("demo", false);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// ============================================
|
|
84
|
-
// ACCESSIBILITY OVERRIDES
|
|
85
|
-
// ============================================
|
|
86
|
-
|
|
87
|
-
// Reduced motion
|
|
88
|
-
@media (prefers-reduced-motion: reduce) {
|
|
89
|
-
:root {
|
|
90
|
-
@include osi-tokens-reduced-motion();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// High contrast
|
|
95
|
-
@media (prefers-contrast: high) {
|
|
96
|
-
:root {
|
|
97
|
-
@include osi-tokens-high-contrast();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Forced colors (Windows High Contrast)
|
|
102
|
-
@media (forced-colors: active) {
|
|
103
|
-
:root {
|
|
104
|
-
@include osi-tokens-forced-colors();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// ============================================
|
|
109
|
-
// INTEGRATION VARIANT
|
|
110
|
-
// ============================================
|
|
111
|
-
|
|
112
|
-
// For embedding in external apps with scoped container
|
|
113
|
-
.osi-cards-container {
|
|
114
|
-
// Scoped theme base
|
|
115
|
-
@include osi-theme-base("integration", true);
|
|
116
|
-
@include osi-tokens("integration", true);
|
|
117
|
-
|
|
118
|
-
// Scoped theme variants
|
|
119
|
-
&[data-theme="night"] {
|
|
120
|
-
@include osi-theme-dark("integration", true);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
&[data-theme="day"] {
|
|
124
|
-
@include osi-theme-light("integration", true);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// Scoped accessibility overrides
|
|
128
|
-
@media (prefers-reduced-motion: reduce) {
|
|
129
|
-
@include osi-tokens-reduced-motion();
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
@media (prefers-contrast: high) {
|
|
133
|
-
@include osi-tokens-high-contrast();
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@media (forced-colors: active) {
|
|
137
|
-
@include osi-tokens-forced-colors();
|
|
138
|
-
}
|
|
139
|
-
}
|