@birdycom/omniacss 0.11.0 → 0.11.2
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/LICENSE +21 -21
- package/README.md +44 -44
- package/dist/oc-theme.css +1 -1
- package/dist/omnia.css +2 -1
- package/dist/omnia.min.css +1 -1
- package/dist/omnia.starter.css +2 -0
- package/dist/omnia.starter.min.css +1 -1
- package/dist/tokens/omnia.dtcg.json +2 -2
- package/dist/tokens/omnia.tokens.json +1 -1
- package/dist/tokens/omnia_tokens.py +2 -2
- package/package.json +63 -63
- package/scss/utilities/_anchor_positioning.scss +65 -65
- package/scss/utilities/_animation_properties.scss +143 -143
- package/scss/utilities/_borders_extended.scss +97 -97
- package/scss/utilities/_borders_outlines.scss +161 -161
- package/scss/utilities/_containment.scss +82 -82
- package/scss/utilities/_css_functions.scss +34 -34
- package/scss/utilities/_dark_mode.scss +117 -117
- package/scss/utilities/_drop_shadow_colors.scss +26 -26
- package/scss/utilities/_experimental_css.scss +149 -149
- package/scss/utilities/_flexbox.scss +317 -317
- package/scss/utilities/_font_variants.scss +139 -139
- package/scss/utilities/_gap.scss +103 -103
- package/scss/utilities/_gradient_stops.scss +48 -48
- package/scss/utilities/_grid.scss +672 -672
- package/scss/utilities/_layout_extras.scss +171 -171
- package/scss/utilities/_layout_flow.scss +210 -210
- package/scss/utilities/_mask_extras.scss +62 -62
- package/scss/utilities/_motion_transforms.scss +167 -167
- package/scss/utilities/_scroll_animations.scss +80 -80
- package/scss/utilities/_scrollbar.scss +2 -1
- package/scss/utilities/_shadow_tokens.scss +21 -21
- package/scss/utilities/_shapes.scss +72 -72
- package/scss/utilities/_sizing_logical.scss +99 -99
- package/scss/utilities/_starting_style.scss +53 -53
- package/scss/utilities/_state_variants.scss +196 -196
- package/scss/utilities/_svg.scss +100 -100
- package/scss/utilities/_table_advanced.scss +19 -19
- package/scss/utilities/_typography_advanced.scss +124 -124
- package/scss/utilities/_typography_modern.scss +83 -83
- package/scss/utilities/_view_transitions.scss +64 -64
- package/scss/utilities/_writing_modes.scss +72 -72
- package/scss/variables/_hulp.scss +107 -107
- package/scss/variables/_variables_effects.scss +108 -108
- package/src/postcss.mjs +43 -43
- package/src/tokens.mjs +377 -377
- package/src/variants.mjs +278 -278
- package/tokens/semantic.json +80 -80
|
@@ -1,171 +1,171 @@
|
|
|
1
|
-
// SCSS Document
|
|
2
|
-
// File: src/scss/utilities/_layout_extras.scss
|
|
3
|
-
// Description: Layout properties that were still missing: inset shorthand, logical inset/min/max sizes,
|
|
4
|
-
// flex-flow, grid areas, margin-trim, logical overflow/overscroll/scroll spacing, safe areas,
|
|
5
|
-
// zoom, container shorthand, all, empty-cells, image-orientation and background-position axes.
|
|
6
|
-
// Copyright: 2021-2026 Birdycom
|
|
7
|
-
// Author: Serge Cools
|
|
8
|
-
// Version: 0.3.0
|
|
9
|
-
// Framework: OmniaCSS
|
|
10
|
-
// Purpose: Generate .inset-*, .inset-x-*, .inset-y-*, .inset-bs-*/.inset-be-*, .min-inline-*/.max-block-* …,
|
|
11
|
-
// .flex-flow-*, .grid-areas-*, .area-*, .margin-trim-*, .overflow-inline-*/.overflow-block-*,
|
|
12
|
-
// .overflow-clip-margin-*, .overscroll-inline-*/.overscroll-block-*, .scroll-m-inline-*, .scroll-ms-*, .scroll-p-block-* …,
|
|
13
|
-
// .p-safe*/.m-safe*, .zoom-*, .cq-card, .all-*, .empty-cells-*, .image-orientation-*, .bg-pos-x-*/.bg-pos-y-*.
|
|
14
|
-
// Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/inset
|
|
15
|
-
// Map: inset -> logical inset/sizes -> flex-flow -> grid areas -> margin-trim -> overflow axes -> overscroll axes
|
|
16
|
-
// -> logical scroll spacing -> safe areas -> zoom -> container -> all -> empty-cells -> image-orientation -> bg axes
|
|
17
|
-
|
|
18
|
-
$_space: ('0': 0, '1': 0.25rem, '2': 0.5rem, '4': 1rem, '8': 2rem, 'auto': auto, 'full': 100%);
|
|
19
|
-
|
|
20
|
-
/* Inset shorthand (top/right/bottom/left at once) */
|
|
21
|
-
@each $k, $v in $_space {
|
|
22
|
-
.inset-#{$k} { inset: $v; }
|
|
23
|
-
.inset-x-#{$k} { left: $v; right: $v; }
|
|
24
|
-
.inset-y-#{$k} { top: $v; bottom: $v; }
|
|
25
|
-
.inset-bs-#{$k} { inset-block-start: $v; }
|
|
26
|
-
.inset-be-#{$k} { inset-block-end: $v; }
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/* Logical min/max sizes */
|
|
30
|
-
@each $k, $v in ('0': 0, 'full': 100%, 'fit': fit-content, 'min': min-content, 'max': max-content, 'none': none) {
|
|
31
|
-
@if $k != 'none' {
|
|
32
|
-
.min-inline-#{$k} { min-inline-size: $v; }
|
|
33
|
-
.min-block-#{$k} { min-block-size: $v; }
|
|
34
|
-
}
|
|
35
|
-
@if $k != '0' {
|
|
36
|
-
.max-inline-#{$k} { max-inline-size: $v; }
|
|
37
|
-
.max-block-#{$k} { max-block-size: $v; }
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* Flex flow (direction + wrap in one) */
|
|
42
|
-
.flex-flow-row { flex-flow: row nowrap; }
|
|
43
|
-
.flex-flow-row-wrap { flex-flow: row wrap; }
|
|
44
|
-
.flex-flow-col { flex-flow: column nowrap; }
|
|
45
|
-
.flex-flow-col-wrap { flex-flow: column wrap; }
|
|
46
|
-
.flex-flow-row-reverse-wrap { flex-flow: row-reverse wrap; }
|
|
47
|
-
|
|
48
|
-
/* Grid template areas + grid-area (named layout) */
|
|
49
|
-
.grid-areas-holy-grail {
|
|
50
|
-
grid-template-areas: "header header" "sidebar main" "footer footer";
|
|
51
|
-
grid-template-columns: minmax(10rem, 1fr) 3fr;
|
|
52
|
-
}
|
|
53
|
-
.grid-areas-stack { grid-template-areas: "header" "main" "sidebar" "footer"; }
|
|
54
|
-
.grid-areas-none { grid-template-areas: none; }
|
|
55
|
-
.grid-template-none { grid-template: none; }
|
|
56
|
-
.grid-none { grid: none; }
|
|
57
|
-
@each $area in (header, sidebar, main, footer) {
|
|
58
|
-
.area-#{$area} { grid-area: $area; }
|
|
59
|
-
}
|
|
60
|
-
.area-auto { grid-area: auto; }
|
|
61
|
-
.area-full { grid-area: 1 / 1 / -1 / -1; }
|
|
62
|
-
|
|
63
|
-
/* Margin trim — remove child margins at the container edges */
|
|
64
|
-
.margin-trim-none { margin-trim: none; }
|
|
65
|
-
.margin-trim-block { margin-trim: block; }
|
|
66
|
-
.margin-trim-inline { margin-trim: inline; }
|
|
67
|
-
|
|
68
|
-
/* Logical overflow axes */
|
|
69
|
-
@each $v in (auto, hidden, clip, visible, scroll) {
|
|
70
|
-
.overflow-inline-#{$v} { overflow-inline: $v; }
|
|
71
|
-
.overflow-block-#{$v} { overflow-block: $v; }
|
|
72
|
-
}
|
|
73
|
-
.overflow-clip-margin-0 { overflow-clip-margin: 0; }
|
|
74
|
-
.overflow-clip-margin-2 { overflow-clip-margin: 0.5rem; }
|
|
75
|
-
.overflow-clip-margin-4 { overflow-clip-margin: 1rem; }
|
|
76
|
-
.overflow-clip-margin-content { overflow-clip-margin: content-box; }
|
|
77
|
-
|
|
78
|
-
/* Logical overscroll behavior */
|
|
79
|
-
@each $v in (auto, contain, none) {
|
|
80
|
-
.overscroll-inline-#{$v} { overscroll-behavior-inline: $v; }
|
|
81
|
-
.overscroll-block-#{$v} { overscroll-behavior-block: $v; }
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/* Logical scroll margin / padding (s = inline-start, e = inline-end, bs/be = block-start/end) */
|
|
85
|
-
@each $k, $v in ('0': 0, '2': 0.5rem, '4': 1rem, '8': 2rem) {
|
|
86
|
-
.scroll-m-inline-#{$k} { scroll-margin-inline: $v; }
|
|
87
|
-
.scroll-m-block-#{$k} { scroll-margin-block: $v; }
|
|
88
|
-
.scroll-ms-#{$k} { scroll-margin-inline-start: $v; }
|
|
89
|
-
.scroll-me-#{$k} { scroll-margin-inline-end: $v; }
|
|
90
|
-
.scroll-mbs-#{$k} { scroll-margin-block-start: $v; }
|
|
91
|
-
.scroll-mbe-#{$k} { scroll-margin-block-end: $v; }
|
|
92
|
-
.scroll-p-inline-#{$k} { scroll-padding-inline: $v; }
|
|
93
|
-
.scroll-p-block-#{$k} { scroll-padding-block: $v; }
|
|
94
|
-
.scroll-ps-#{$k} { scroll-padding-inline-start: $v; }
|
|
95
|
-
.scroll-pe-#{$k} { scroll-padding-inline-end: $v; }
|
|
96
|
-
.scroll-pbs-#{$k} { scroll-padding-block-start: $v; }
|
|
97
|
-
.scroll-pbe-#{$k} { scroll-padding-block-end: $v; }
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/* Safe areas (notch / home indicator) — needs <meta name="viewport" content="viewport-fit=cover"> */
|
|
101
|
-
.p-safe { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
|
|
102
|
-
.pt-safe { padding-top: env(safe-area-inset-top); }
|
|
103
|
-
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
|
|
104
|
-
.pl-safe { padding-left: env(safe-area-inset-left); }
|
|
105
|
-
.pr-safe { padding-right: env(safe-area-inset-right); }
|
|
106
|
-
.mb-safe { margin-bottom: env(safe-area-inset-bottom); }
|
|
107
|
-
.h-screen-safe { height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
|
|
108
|
-
|
|
109
|
-
/* Zoom */
|
|
110
|
-
@each $z in (50, 75, 100, 125, 150) {
|
|
111
|
-
.zoom-#{$z} { zoom: #{$z * 1%}; }
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/* Container shorthand (name / type) */
|
|
115
|
-
.cq-card { container: card / inline-size; }
|
|
116
|
-
.cq-main { container: main / inline-size; }
|
|
117
|
-
.cq-sidebar { container: sidebar / inline-size; }
|
|
118
|
-
|
|
119
|
-
/* all — reset every property */
|
|
120
|
-
.all-initial { all: initial; }
|
|
121
|
-
.all-inherit { all: inherit; }
|
|
122
|
-
.all-unset { all: unset; }
|
|
123
|
-
.all-revert { all: revert; }
|
|
124
|
-
.all-revert-layer { all: revert-layer; }
|
|
125
|
-
|
|
126
|
-
/* Table empty cells */
|
|
127
|
-
.empty-cells-show { empty-cells: show; }
|
|
128
|
-
.empty-cells-hide { empty-cells: hide; }
|
|
129
|
-
|
|
130
|
-
/* Image orientation (EXIF) */
|
|
131
|
-
.image-orientation-from-image { image-orientation: from-image; }
|
|
132
|
-
.image-orientation-none { image-orientation: none; }
|
|
133
|
-
|
|
134
|
-
/* Background position per axis */
|
|
135
|
-
@each $k, $v in ('left': left, 'center': center, 'right': right, '0': 0%, '50': 50%, '100': 100%) {
|
|
136
|
-
.bg-pos-x-#{$k} { background-position-x: $v; }
|
|
137
|
-
}
|
|
138
|
-
@each $k, $v in ('top': top, 'center': center, 'bottom': bottom, '0': 0%, '50': 50%, '100': 100%) {
|
|
139
|
-
.bg-pos-y-#{$k} { background-position-y: $v; }
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/* Mask shorthand — fade out content */
|
|
143
|
-
.mask-reset { mask: none; }
|
|
144
|
-
.mask-fade-b { mask: linear-gradient(#000 60%, transparent); }
|
|
145
|
-
.mask-fade-r { mask: linear-gradient(to right, #000 60%, transparent); }
|
|
146
|
-
.mask-fade-x { mask: linear-gradient(to right, transparent, #000 15%, #000 85%, transparent); }
|
|
147
|
-
|
|
148
|
-
/* Paged media — named pages for print (@page landscape sets the sheet orientation) */
|
|
149
|
-
.page-auto { page: auto; }
|
|
150
|
-
.page-landscape { page: landscape; }
|
|
151
|
-
@page landscape {
|
|
152
|
-
size: landscape;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/* position-try shorthand (order + fallbacks) */
|
|
156
|
-
.anchor-try-most-height-flip { position-try: most-height flip-block, flip-inline; }
|
|
157
|
-
|
|
158
|
-
/* SVG geometry properties (responsive shapes inside <svg>) */
|
|
159
|
-
@each $k, $v in ('0': 0, '25': 25%, '50': 50%, '100': 100%) {
|
|
160
|
-
.cx-#{$k} { cx: $v; }
|
|
161
|
-
.cy-#{$k} { cy: $v; }
|
|
162
|
-
.x-#{$k} { x: $v; }
|
|
163
|
-
.y-#{$k} { y: $v; }
|
|
164
|
-
}
|
|
165
|
-
.r-25 { r: 25%; }
|
|
166
|
-
.r-50 { r: 50%; }
|
|
167
|
-
.rx-0 { rx: 0; }
|
|
168
|
-
.rx-4 { rx: 4px; }
|
|
169
|
-
.ry-0 { ry: 0; }
|
|
170
|
-
.ry-4 { ry: 4px; }
|
|
171
|
-
.d-none { display: none; }
|
|
1
|
+
// SCSS Document
|
|
2
|
+
// File: src/scss/utilities/_layout_extras.scss
|
|
3
|
+
// Description: Layout properties that were still missing: inset shorthand, logical inset/min/max sizes,
|
|
4
|
+
// flex-flow, grid areas, margin-trim, logical overflow/overscroll/scroll spacing, safe areas,
|
|
5
|
+
// zoom, container shorthand, all, empty-cells, image-orientation and background-position axes.
|
|
6
|
+
// Copyright: 2021-2026 Birdycom
|
|
7
|
+
// Author: Serge Cools
|
|
8
|
+
// Version: 0.3.0
|
|
9
|
+
// Framework: OmniaCSS
|
|
10
|
+
// Purpose: Generate .inset-*, .inset-x-*, .inset-y-*, .inset-bs-*/.inset-be-*, .min-inline-*/.max-block-* …,
|
|
11
|
+
// .flex-flow-*, .grid-areas-*, .area-*, .margin-trim-*, .overflow-inline-*/.overflow-block-*,
|
|
12
|
+
// .overflow-clip-margin-*, .overscroll-inline-*/.overscroll-block-*, .scroll-m-inline-*, .scroll-ms-*, .scroll-p-block-* …,
|
|
13
|
+
// .p-safe*/.m-safe*, .zoom-*, .cq-card, .all-*, .empty-cells-*, .image-orientation-*, .bg-pos-x-*/.bg-pos-y-*.
|
|
14
|
+
// Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/inset
|
|
15
|
+
// Map: inset -> logical inset/sizes -> flex-flow -> grid areas -> margin-trim -> overflow axes -> overscroll axes
|
|
16
|
+
// -> logical scroll spacing -> safe areas -> zoom -> container -> all -> empty-cells -> image-orientation -> bg axes
|
|
17
|
+
|
|
18
|
+
$_space: ('0': 0, '1': 0.25rem, '2': 0.5rem, '4': 1rem, '8': 2rem, 'auto': auto, 'full': 100%);
|
|
19
|
+
|
|
20
|
+
/* Inset shorthand (top/right/bottom/left at once) */
|
|
21
|
+
@each $k, $v in $_space {
|
|
22
|
+
.inset-#{$k} { inset: $v; }
|
|
23
|
+
.inset-x-#{$k} { left: $v; right: $v; }
|
|
24
|
+
.inset-y-#{$k} { top: $v; bottom: $v; }
|
|
25
|
+
.inset-bs-#{$k} { inset-block-start: $v; }
|
|
26
|
+
.inset-be-#{$k} { inset-block-end: $v; }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Logical min/max sizes */
|
|
30
|
+
@each $k, $v in ('0': 0, 'full': 100%, 'fit': fit-content, 'min': min-content, 'max': max-content, 'none': none) {
|
|
31
|
+
@if $k != 'none' {
|
|
32
|
+
.min-inline-#{$k} { min-inline-size: $v; }
|
|
33
|
+
.min-block-#{$k} { min-block-size: $v; }
|
|
34
|
+
}
|
|
35
|
+
@if $k != '0' {
|
|
36
|
+
.max-inline-#{$k} { max-inline-size: $v; }
|
|
37
|
+
.max-block-#{$k} { max-block-size: $v; }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* Flex flow (direction + wrap in one) */
|
|
42
|
+
.flex-flow-row { flex-flow: row nowrap; }
|
|
43
|
+
.flex-flow-row-wrap { flex-flow: row wrap; }
|
|
44
|
+
.flex-flow-col { flex-flow: column nowrap; }
|
|
45
|
+
.flex-flow-col-wrap { flex-flow: column wrap; }
|
|
46
|
+
.flex-flow-row-reverse-wrap { flex-flow: row-reverse wrap; }
|
|
47
|
+
|
|
48
|
+
/* Grid template areas + grid-area (named layout) */
|
|
49
|
+
.grid-areas-holy-grail {
|
|
50
|
+
grid-template-areas: "header header" "sidebar main" "footer footer";
|
|
51
|
+
grid-template-columns: minmax(10rem, 1fr) 3fr;
|
|
52
|
+
}
|
|
53
|
+
.grid-areas-stack { grid-template-areas: "header" "main" "sidebar" "footer"; }
|
|
54
|
+
.grid-areas-none { grid-template-areas: none; }
|
|
55
|
+
.grid-template-none { grid-template: none; }
|
|
56
|
+
.grid-none { grid: none; }
|
|
57
|
+
@each $area in (header, sidebar, main, footer) {
|
|
58
|
+
.area-#{$area} { grid-area: $area; }
|
|
59
|
+
}
|
|
60
|
+
.area-auto { grid-area: auto; }
|
|
61
|
+
.area-full { grid-area: 1 / 1 / -1 / -1; }
|
|
62
|
+
|
|
63
|
+
/* Margin trim — remove child margins at the container edges */
|
|
64
|
+
.margin-trim-none { margin-trim: none; }
|
|
65
|
+
.margin-trim-block { margin-trim: block; }
|
|
66
|
+
.margin-trim-inline { margin-trim: inline; }
|
|
67
|
+
|
|
68
|
+
/* Logical overflow axes */
|
|
69
|
+
@each $v in (auto, hidden, clip, visible, scroll) {
|
|
70
|
+
.overflow-inline-#{$v} { overflow-inline: $v; }
|
|
71
|
+
.overflow-block-#{$v} { overflow-block: $v; }
|
|
72
|
+
}
|
|
73
|
+
.overflow-clip-margin-0 { overflow-clip-margin: 0; }
|
|
74
|
+
.overflow-clip-margin-2 { overflow-clip-margin: 0.5rem; }
|
|
75
|
+
.overflow-clip-margin-4 { overflow-clip-margin: 1rem; }
|
|
76
|
+
.overflow-clip-margin-content { overflow-clip-margin: content-box; }
|
|
77
|
+
|
|
78
|
+
/* Logical overscroll behavior */
|
|
79
|
+
@each $v in (auto, contain, none) {
|
|
80
|
+
.overscroll-inline-#{$v} { overscroll-behavior-inline: $v; }
|
|
81
|
+
.overscroll-block-#{$v} { overscroll-behavior-block: $v; }
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Logical scroll margin / padding (s = inline-start, e = inline-end, bs/be = block-start/end) */
|
|
85
|
+
@each $k, $v in ('0': 0, '2': 0.5rem, '4': 1rem, '8': 2rem) {
|
|
86
|
+
.scroll-m-inline-#{$k} { scroll-margin-inline: $v; }
|
|
87
|
+
.scroll-m-block-#{$k} { scroll-margin-block: $v; }
|
|
88
|
+
.scroll-ms-#{$k} { scroll-margin-inline-start: $v; }
|
|
89
|
+
.scroll-me-#{$k} { scroll-margin-inline-end: $v; }
|
|
90
|
+
.scroll-mbs-#{$k} { scroll-margin-block-start: $v; }
|
|
91
|
+
.scroll-mbe-#{$k} { scroll-margin-block-end: $v; }
|
|
92
|
+
.scroll-p-inline-#{$k} { scroll-padding-inline: $v; }
|
|
93
|
+
.scroll-p-block-#{$k} { scroll-padding-block: $v; }
|
|
94
|
+
.scroll-ps-#{$k} { scroll-padding-inline-start: $v; }
|
|
95
|
+
.scroll-pe-#{$k} { scroll-padding-inline-end: $v; }
|
|
96
|
+
.scroll-pbs-#{$k} { scroll-padding-block-start: $v; }
|
|
97
|
+
.scroll-pbe-#{$k} { scroll-padding-block-end: $v; }
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Safe areas (notch / home indicator) — needs <meta name="viewport" content="viewport-fit=cover"> */
|
|
101
|
+
.p-safe { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
|
|
102
|
+
.pt-safe { padding-top: env(safe-area-inset-top); }
|
|
103
|
+
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
|
|
104
|
+
.pl-safe { padding-left: env(safe-area-inset-left); }
|
|
105
|
+
.pr-safe { padding-right: env(safe-area-inset-right); }
|
|
106
|
+
.mb-safe { margin-bottom: env(safe-area-inset-bottom); }
|
|
107
|
+
.h-screen-safe { height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
|
|
108
|
+
|
|
109
|
+
/* Zoom */
|
|
110
|
+
@each $z in (50, 75, 100, 125, 150) {
|
|
111
|
+
.zoom-#{$z} { zoom: #{$z * 1%}; }
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Container shorthand (name / type) */
|
|
115
|
+
.cq-card { container: card / inline-size; }
|
|
116
|
+
.cq-main { container: main / inline-size; }
|
|
117
|
+
.cq-sidebar { container: sidebar / inline-size; }
|
|
118
|
+
|
|
119
|
+
/* all — reset every property */
|
|
120
|
+
.all-initial { all: initial; }
|
|
121
|
+
.all-inherit { all: inherit; }
|
|
122
|
+
.all-unset { all: unset; }
|
|
123
|
+
.all-revert { all: revert; }
|
|
124
|
+
.all-revert-layer { all: revert-layer; }
|
|
125
|
+
|
|
126
|
+
/* Table empty cells */
|
|
127
|
+
.empty-cells-show { empty-cells: show; }
|
|
128
|
+
.empty-cells-hide { empty-cells: hide; }
|
|
129
|
+
|
|
130
|
+
/* Image orientation (EXIF) */
|
|
131
|
+
.image-orientation-from-image { image-orientation: from-image; }
|
|
132
|
+
.image-orientation-none { image-orientation: none; }
|
|
133
|
+
|
|
134
|
+
/* Background position per axis */
|
|
135
|
+
@each $k, $v in ('left': left, 'center': center, 'right': right, '0': 0%, '50': 50%, '100': 100%) {
|
|
136
|
+
.bg-pos-x-#{$k} { background-position-x: $v; }
|
|
137
|
+
}
|
|
138
|
+
@each $k, $v in ('top': top, 'center': center, 'bottom': bottom, '0': 0%, '50': 50%, '100': 100%) {
|
|
139
|
+
.bg-pos-y-#{$k} { background-position-y: $v; }
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* Mask shorthand — fade out content */
|
|
143
|
+
.mask-reset { mask: none; }
|
|
144
|
+
.mask-fade-b { mask: linear-gradient(#000 60%, transparent); }
|
|
145
|
+
.mask-fade-r { mask: linear-gradient(to right, #000 60%, transparent); }
|
|
146
|
+
.mask-fade-x { mask: linear-gradient(to right, transparent, #000 15%, #000 85%, transparent); }
|
|
147
|
+
|
|
148
|
+
/* Paged media — named pages for print (@page landscape sets the sheet orientation) */
|
|
149
|
+
.page-auto { page: auto; }
|
|
150
|
+
.page-landscape { page: landscape; }
|
|
151
|
+
@page landscape {
|
|
152
|
+
size: landscape;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* position-try shorthand (order + fallbacks) */
|
|
156
|
+
.anchor-try-most-height-flip { position-try: most-height flip-block, flip-inline; }
|
|
157
|
+
|
|
158
|
+
/* SVG geometry properties (responsive shapes inside <svg>) */
|
|
159
|
+
@each $k, $v in ('0': 0, '25': 25%, '50': 50%, '100': 100%) {
|
|
160
|
+
.cx-#{$k} { cx: $v; }
|
|
161
|
+
.cy-#{$k} { cy: $v; }
|
|
162
|
+
.x-#{$k} { x: $v; }
|
|
163
|
+
.y-#{$k} { y: $v; }
|
|
164
|
+
}
|
|
165
|
+
.r-25 { r: 25%; }
|
|
166
|
+
.r-50 { r: 50%; }
|
|
167
|
+
.rx-0 { rx: 0; }
|
|
168
|
+
.rx-4 { rx: 4px; }
|
|
169
|
+
.ry-0 { ry: 0; }
|
|
170
|
+
.ry-4 { ry: 4px; }
|
|
171
|
+
.d-none { display: none; }
|