@stackoverflow/stacks 3.0.0-beta.3 → 3.0.0-beta.30
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/dist/controllers.d.ts +0 -2
- package/dist/css/stacks.css +14245 -15086
- package/dist/css/stacks.min.css +1 -1
- package/dist/js/stacks.js +0 -364
- package/dist/js/stacks.min.js +1 -1
- package/lib/atomic/backgrounds.less +67 -0
- package/lib/atomic/border-radius.less +38 -0
- package/lib/atomic/borders.less +73 -0
- package/lib/atomic/box-shadow.less +29 -0
- package/lib/atomic/box-sizing.less +3 -0
- package/lib/atomic/current-color.less +2 -0
- package/lib/atomic/cursors.less +8 -0
- package/lib/atomic/display.less +15 -0
- package/lib/atomic/flex.less +6 -34
- package/lib/atomic/floats.less +20 -0
- package/lib/atomic/gap.less +2 -0
- package/lib/atomic/grid.less +2 -0
- package/lib/atomic/height.less +22 -0
- package/lib/atomic/interactivity.less +45 -0
- package/lib/atomic/lists.less +29 -0
- package/lib/atomic/margin.less +48 -0
- package/lib/atomic/object-fit.less +9 -0
- package/lib/atomic/opacity.less +54 -0
- package/lib/atomic/outline.less +11 -0
- package/lib/atomic/overflow.less +17 -0
- package/lib/atomic/padding.less +12 -0
- package/lib/atomic/positioning.less +41 -0
- package/lib/atomic/sizing.less +51 -0
- package/lib/atomic/transitions.less +20 -0
- package/lib/atomic/truncation.less +58 -0
- package/lib/atomic/typography.less +71 -137
- package/lib/atomic/vertical-alignment.less +9 -0
- package/lib/atomic/visibility.less +18 -0
- package/lib/atomic/width.less +27 -0
- package/lib/atomic/z-index.less +12 -0
- package/lib/base/body.less +2 -4
- package/lib/base/configuration-static.less +3 -3
- package/lib/base/internal.less +3 -5
- package/lib/base/reset-normalize.less +3 -3
- package/lib/components/activity-indicator/activity-indicator.less +4 -20
- package/lib/components/anchor/anchor.less +28 -39
- package/lib/components/avatar/avatar.less +20 -19
- package/lib/components/badge/badge.less +227 -167
- package/lib/components/banner/banner.less +12 -11
- package/lib/components/bling/bling.less +47 -10
- package/lib/components/button/button.less +300 -380
- package/lib/components/checkbox_radio/checkbox_radio.less +195 -113
- package/lib/components/code-block/code-block.fixtures.ts +2 -2
- package/lib/components/code-block/code-block.less +2 -3
- package/lib/components/description/description.less +17 -2
- package/lib/components/empty-state/empty-state.less +17 -6
- package/lib/components/form-group/form-group.less +38 -0
- package/lib/components/input-fill/input-fill.less +3 -3
- package/lib/components/input-icon/input-icon.less +3 -3
- package/lib/components/input-message/input-message.less +1 -0
- package/lib/components/input_textarea/input_textarea.less +71 -58
- package/lib/components/label/label.less +12 -56
- package/lib/components/link/link.less +44 -98
- package/lib/components/loader/loader.less +88 -0
- package/lib/components/menu/menu.less +89 -19
- package/lib/components/modal/modal.less +10 -10
- package/lib/components/navigation/navigation.less +77 -42
- package/lib/components/notice/notice.less +90 -75
- package/lib/components/pagination/pagination.less +50 -42
- package/lib/components/popover/popover.less +9 -11
- package/lib/components/post-summary/post-summary.less +225 -385
- package/lib/components/prose/prose.less +49 -35
- package/lib/components/select/select.less +46 -41
- package/lib/components/sidebar-widget/sidebar-widget.less +26 -196
- package/lib/components/table/table.less +48 -22
- package/lib/components/tag/tag.less +25 -6
- package/lib/components/toast/toast.less +4 -2
- package/lib/components/toggle-switch/toggle-switch.less +15 -19
- package/lib/components/user-card/user-card.less +129 -92
- package/lib/components/vote/vote.less +134 -0
- package/lib/controllers.ts +0 -2
- package/lib/exports/color-sets.less +108 -81
- package/lib/exports/constants-helpers.less +9 -13
- package/lib/exports/constants-type.less +18 -36
- package/lib/exports/mixins.less +92 -272
- package/lib/index.ts +0 -4
- package/lib/stacks-static.less +44 -30
- package/lib/test/visual-test-utils.ts +42 -10
- package/lib/tsconfig.json +1 -1
- package/package.json +1 -1
- package/dist/components/expandable/expandable.d.ts +0 -17
- package/dist/components/uploader/uploader.d.ts +0 -48
- package/lib/atomic/border.less +0 -121
- package/lib/atomic/misc.less +0 -374
- package/lib/atomic/spacing.less +0 -98
- package/lib/atomic/width-height.less +0 -194
- package/lib/components/block-link/block-link.less +0 -82
- package/lib/components/breadcrumbs/breadcrumbs.less +0 -41
- package/lib/components/button-group/button-group.less +0 -81
- package/lib/components/card/card.less +0 -37
- package/lib/components/check-control/check-control.less +0 -17
- package/lib/components/check-group/check-group.less +0 -19
- package/lib/components/expandable/expandable.less +0 -119
- package/lib/components/expandable/expandable.ts +0 -238
- package/lib/components/link-preview/link-preview.less +0 -148
- package/lib/components/page-title/page-title.less +0 -51
- package/lib/components/progress-bar/progress-bar.less +0 -292
- package/lib/components/skeleton/skeleton.less +0 -73
- package/lib/components/spinner/spinner.less +0 -103
- package/lib/components/topbar/topbar.less +0 -553
- package/lib/components/uploader/uploader.less +0 -205
- package/lib/components/uploader/uploader.ts +0 -207
- package/lib/exports/spacing-mixins.less +0 -67
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
|
|
3
|
+
// BORDER
|
|
4
|
+
#stacks-internals #responsify('.ba', { .bas-solid; .baw1; });
|
|
5
|
+
#stacks-internals #responsify('.bt', { .bts-solid; .btw1; });
|
|
6
|
+
#stacks-internals #responsify('.br', { .brs-solid; .brw1; });
|
|
7
|
+
#stacks-internals #responsify('.bb', { .bbs-solid; .bbw1; });
|
|
8
|
+
#stacks-internals #responsify('.bl', { .bls-solid; .blw1; });
|
|
9
|
+
.bx { .bls-solid; .brs-solid; .bxw1; }
|
|
10
|
+
.by { .bts-solid; .bbs-solid; .byw1; }
|
|
11
|
+
|
|
12
|
+
// BORDER WIDTH
|
|
13
|
+
#stacks-internals #responsify('.baw0', { border-width: 0 !important; });
|
|
14
|
+
.baw1 { border-width: var(--su1) !important; }
|
|
15
|
+
.baw2 { border-width: var(--su2) !important; }
|
|
16
|
+
.baw3 { border-width: var(--su4) !important; }
|
|
17
|
+
|
|
18
|
+
// Top border width
|
|
19
|
+
#stacks-internals #responsify('.btw0', { border-top-width: 0 !important; });
|
|
20
|
+
.btw1 { border-top-width: var(--su1) !important; }
|
|
21
|
+
.btw2 { border-top-width: var(--su2) !important; }
|
|
22
|
+
.btw3 { border-top-width: var(--su4) !important; }
|
|
23
|
+
|
|
24
|
+
// Right border width
|
|
25
|
+
#stacks-internals #responsify('.brw0', { border-right-width: 0 !important; });
|
|
26
|
+
.brw1 { border-right-width: var(--su1) !important; }
|
|
27
|
+
.brw2 { border-right-width: var(--su2) !important; }
|
|
28
|
+
.brw3 { border-right-width: var(--su4) !important; }
|
|
29
|
+
|
|
30
|
+
// Bottom border width
|
|
31
|
+
#stacks-internals #responsify('.bbw0', { border-bottom-width: 0 !important; });
|
|
32
|
+
.bbw1 { border-bottom-width: var(--su1) !important; }
|
|
33
|
+
.bbw2 { border-bottom-width: var(--su2) !important; }
|
|
34
|
+
.bbw3 { border-bottom-width: var(--su4) !important; }
|
|
35
|
+
|
|
36
|
+
// Left border width
|
|
37
|
+
#stacks-internals #responsify('.blw0', { border-left-width: 0 !important; });
|
|
38
|
+
.blw0 { border-left-width: 0 !important; }
|
|
39
|
+
.blw1 { border-left-width: var(--su1) !important; }
|
|
40
|
+
.blw2 { border-left-width: var(--su2) !important; }
|
|
41
|
+
.blw3 { border-left-width: var(--su4) !important; }
|
|
42
|
+
|
|
43
|
+
// Top and bottom border width
|
|
44
|
+
.byw0 { .btw0; .bbw0; }
|
|
45
|
+
.byw1 { .btw1; .bbw1; }
|
|
46
|
+
.byw2 { .btw2; .bbw2; }
|
|
47
|
+
.byw3 { .btw3; .bbw3; }
|
|
48
|
+
|
|
49
|
+
// Left and right border width
|
|
50
|
+
.bxw0 { .brw0; .blw0; }
|
|
51
|
+
.bxw1 { .brw1; .blw1; }
|
|
52
|
+
.bxw2 { .brw2; .blw2; }
|
|
53
|
+
.bxw3 { .brw3; .blw3; }
|
|
54
|
+
|
|
55
|
+
// BORDER STYLE
|
|
56
|
+
.bas-solid { border-style: solid !important; }
|
|
57
|
+
.bas-dashed { border-style: dashed !important; }
|
|
58
|
+
|
|
59
|
+
// Top border style
|
|
60
|
+
.bts-solid { border-top-style: solid !important; }
|
|
61
|
+
.bts-dashed { border-top-style: dashed !important; }
|
|
62
|
+
|
|
63
|
+
// Right border style
|
|
64
|
+
.brs-solid { border-right-style: solid !important; }
|
|
65
|
+
.brs-dashed { border-right-style: dashed !important; }
|
|
66
|
+
|
|
67
|
+
// Bottom border style
|
|
68
|
+
.bbs-solid { border-bottom-style: solid !important; }
|
|
69
|
+
.bbs-dashed { border-bottom-style: dashed !important; }
|
|
70
|
+
|
|
71
|
+
// Left border style
|
|
72
|
+
.bls-solid { border-left-style: solid !important; }
|
|
73
|
+
.bls-dashed { border-left-style: dashed !important; }
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
@import (reference) "../exports/color-mixins.less";
|
|
3
|
+
@import (reference) "../exports/constants-helpers.less";
|
|
4
|
+
// @import (reference) "../exports/mixins.less";
|
|
5
|
+
|
|
6
|
+
#stacks-internals #responsify('.bs-none', {
|
|
7
|
+
box-shadow: none !important;
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
.bs-sm,
|
|
11
|
+
.h\:bs-sm:hover {
|
|
12
|
+
box-shadow: var(--bs-sm) !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.bs-md,
|
|
16
|
+
.h\:bs-md:hover { box-shadow: var(--bs-md) !important; }
|
|
17
|
+
|
|
18
|
+
.bs-lg,
|
|
19
|
+
.h\:bs-lg:hover { box-shadow: var(--bs-lg) !important; }
|
|
20
|
+
|
|
21
|
+
.bs-xl,
|
|
22
|
+
.h\:bs-xl:hover { box-shadow: var(--bs-xl) !important; }
|
|
23
|
+
|
|
24
|
+
.bs-ring,
|
|
25
|
+
.h\:bs-ring:hover,
|
|
26
|
+
.f\:bs-ring:focus,
|
|
27
|
+
.f\:bs-ring:focus-within {
|
|
28
|
+
box-shadow: 0 0 0 var(--su4) var(--focus-ring);
|
|
29
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
.c-auto { cursor: auto !important; }
|
|
2
|
+
.c-default { cursor: default !important; }
|
|
3
|
+
.c-pointer { cursor: pointer !important; }
|
|
4
|
+
.c-text { cursor: text !important; }
|
|
5
|
+
.c-wait { cursor: wait !important; }
|
|
6
|
+
.c-move { cursor: move !important; }
|
|
7
|
+
.c-not-allowed { cursor: not-allowed !important; }
|
|
8
|
+
.c-help { cursor: help !important; }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@import (reference) "../exports/constants-helpers.less";
|
|
2
|
+
@import (reference) "../base/configuration-static.less";
|
|
3
|
+
@import (reference) "../base/internal.less";
|
|
4
|
+
|
|
5
|
+
#stacks-internals #responsify('.d-block', { display: block !important; });
|
|
6
|
+
#stacks-internals #responsify('.d-flex', { display: flex !important; });
|
|
7
|
+
#stacks-internals #responsify('.d-inline-flex', { display: inline-flex !important; });
|
|
8
|
+
#stacks-internals #responsify('.d-grid', { display: grid !important; });
|
|
9
|
+
#stacks-internals #responsify('.d-inline-grid', { display: inline-grid !important; });
|
|
10
|
+
#stacks-internals #responsify('.d-inline', { display: inline !important; });
|
|
11
|
+
#stacks-internals #responsify('.d-inline-block', { display: inline-block !important; });
|
|
12
|
+
.d-table { display: table !important; }
|
|
13
|
+
.d-table-cell { display: table-cell !important; }
|
|
14
|
+
#stacks-internals #responsify('.d-none', { display: none !important; });
|
|
15
|
+
.d-unset { display: unset !important; }
|
package/lib/atomic/flex.less
CHANGED
|
@@ -1,25 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// STACK OVERFLOW
|
|
3
|
-
// FLEXBOX HELPERS
|
|
4
|
-
//
|
|
5
|
-
// This CSS comes from Stacks, our CSS & Pattern library for rapidly building
|
|
6
|
-
// Stack Overflow. For documentation of all these classes and how to contribute,
|
|
7
|
-
// visit https://stackoverflow.design/
|
|
8
|
-
//
|
|
9
|
-
// TABLE OF CONTENTS
|
|
10
|
-
// • VARIABLES
|
|
11
|
-
// • MIXINS
|
|
12
|
-
// • FLEX ELEMENTS
|
|
13
|
-
// • FLEX SPACING
|
|
14
|
-
// • MODIFICATIONS
|
|
15
|
-
// • ATOMIC
|
|
16
|
-
// • DEPRECATED
|
|
17
|
-
//
|
|
18
|
-
// ============================================================================
|
|
19
|
-
// -- STACKS FLEX LAYOUT MIXINS
|
|
20
|
-
// ============================================================================
|
|
21
|
-
// -- FIXED COLUMN WIDTHS
|
|
22
|
-
// ----------------------------------------------------------------------------
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
23
2
|
|
|
24
3
|
#stacks-internals() {
|
|
25
4
|
#flex-builder-settings() {
|
|
@@ -321,19 +300,15 @@
|
|
|
321
300
|
.ac-start { align-content: flex-start !important; }
|
|
322
301
|
.ac-stretch { align-content: stretch !important; }
|
|
323
302
|
|
|
324
|
-
//
|
|
325
|
-
// Defines the default behavior for how child items align along
|
|
326
|
-
// the parent's cross axis. Think of it the cross-axis for
|
|
327
|
-
// justify-content.
|
|
328
|
-
// ----------------------------------------------------------------------------
|
|
303
|
+
// Align items
|
|
329
304
|
#stacks-internals #build-classes(
|
|
330
|
-
responsive,
|
|
331
305
|
'.ai',
|
|
332
306
|
{
|
|
333
307
|
.template(@value) when (@value=start), (@value=end) { align-items: ~"flex-@{value}" !important; }
|
|
334
308
|
.template(@value) when (default()) { align-items: @value !important; };
|
|
335
309
|
},
|
|
336
|
-
baseline center end start stretch
|
|
310
|
+
baseline center end start stretch,
|
|
311
|
+
true
|
|
337
312
|
);
|
|
338
313
|
|
|
339
314
|
// -- CENTER ITEMS
|
|
@@ -345,18 +320,15 @@
|
|
|
345
320
|
.ai-center;
|
|
346
321
|
}
|
|
347
322
|
|
|
348
|
-
//
|
|
349
|
-
// Allows child containers to re-align themselves regardless
|
|
350
|
-
// of the parent's main axis direction.
|
|
351
|
-
// ----------------------------------------------------------------------------
|
|
323
|
+
// Align self
|
|
352
324
|
#stacks-internals #build-classes(
|
|
353
|
-
responsive,
|
|
354
325
|
'.as',
|
|
355
326
|
{
|
|
356
327
|
.template(@value) when (@value=start), (@value=end) { align-self: ~"flex-@{value}" !important; }
|
|
357
328
|
.template(@value) when (default()) { align-self: @value !important; };
|
|
358
329
|
},
|
|
359
330
|
auto baseline center end start stretch
|
|
331
|
+
true
|
|
360
332
|
);
|
|
361
333
|
|
|
362
334
|
// -- FLEX
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// FLOAT
|
|
2
|
+
.float-left { float: left !important; }
|
|
3
|
+
.float-right { float: right !important; }
|
|
4
|
+
.float-none { float: none !important; }
|
|
5
|
+
|
|
6
|
+
// CLEARFIX
|
|
7
|
+
.clearfix {
|
|
8
|
+
&:before,
|
|
9
|
+
&:after {
|
|
10
|
+
content: "";
|
|
11
|
+
display: table;
|
|
12
|
+
}
|
|
13
|
+
&:after {
|
|
14
|
+
clear: both;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
.clear-left { clear: left !important; }
|
|
18
|
+
.clear-right { clear: right !important; }
|
|
19
|
+
.clear-both { clear: both !important; }
|
|
20
|
+
.clear-none { clear: none !important; }
|
package/lib/atomic/gap.less
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
|
|
1
3
|
#stacks-internals #responsify('.g0', { --_gap-y: 0; --_gap-x: 0; });
|
|
2
4
|
#stacks-internals #responsify('.g1', { --_gap-y: var(--su1); --_gap-x: var(--su1); });
|
|
3
5
|
#stacks-internals #responsify('.g2', { --_gap-y: var(--su2); --_gap-x: var(--su2); });
|
package/lib/atomic/grid.less
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
@import (reference) "../exports/mixins.less";
|
|
3
|
+
|
|
4
|
+
// `height` properties
|
|
5
|
+
.generate-sizing('.h', height, 0 1 2 4 6 8 12 16 24 32 48 64 96 128, 'px');
|
|
6
|
+
.generate-su-sizing('.hs', height); // Static sizing units
|
|
7
|
+
#stacks-internals #responsify('.h100', { height: 100% !important; });
|
|
8
|
+
#stacks-internals #responsify('.h-auto', { height: auto !important; });
|
|
9
|
+
#stacks-internals #responsify('.h-screen', { height: 100vh !important; });
|
|
10
|
+
|
|
11
|
+
// `min-height` properties
|
|
12
|
+
.generate-sizing('.hmn', min-height, 0, 'px', false, true);
|
|
13
|
+
.generate-su-sizing('.hmn', min-height); // Static sizing units
|
|
14
|
+
#stacks-internals #responsify('.hmn100', { min-height: 100% !important; });
|
|
15
|
+
#stacks-internals #responsify('.hmn-initial', { min-height: initial !important; });
|
|
16
|
+
#stacks-internals #responsify('.hmn-screen', { min-height: 100vh !important; });
|
|
17
|
+
|
|
18
|
+
// `max-height` properties
|
|
19
|
+
.generate-su-sizing('.hmx', max-height); // Static sizing units
|
|
20
|
+
#stacks-internals #responsify('.hmx100', { max-height: 100% !important; });
|
|
21
|
+
#stacks-internals #responsify('.hmx-initial', { max-height: initial !important; });
|
|
22
|
+
#stacks-internals #responsify('.hmx-screen', { max-height: 100vh !important; });
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@import (reference) "../exports/mixins.less";
|
|
2
|
+
|
|
3
|
+
// FOCUS
|
|
4
|
+
.focus,
|
|
5
|
+
.f\:focus:focus,
|
|
6
|
+
.f\:focus:focus-within {
|
|
7
|
+
.focus-styles();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.focus-inset,
|
|
11
|
+
.f\:focus-inset:focus,
|
|
12
|
+
.f\:focus-inset:focus-within {
|
|
13
|
+
.focus-styles(true);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.focus-bordered,
|
|
17
|
+
.f\:focus-bordered:focus,
|
|
18
|
+
.f\:focus-bordered:focus-within {
|
|
19
|
+
.focus-styles(false, true);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.focus-inset-bordered,
|
|
23
|
+
.f\:focus-inset-bordered:focus,
|
|
24
|
+
.f\:focus-inset-bordered:focus-within {
|
|
25
|
+
.focus-styles(true, true);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// POINTER EVENTS
|
|
29
|
+
.pe-auto { pointer-events: auto !important; }
|
|
30
|
+
.pe-none { pointer-events: none !important; }
|
|
31
|
+
|
|
32
|
+
// USER SELECT
|
|
33
|
+
.us-auto {
|
|
34
|
+
-webkit-user-select: auto !important;
|
|
35
|
+
-moz-user-select: auto !important;
|
|
36
|
+
-ms-user-select: auto !important;
|
|
37
|
+
user-select: auto !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.us-none {
|
|
41
|
+
-webkit-user-select: none !important;
|
|
42
|
+
-moz-user-select: none !important;
|
|
43
|
+
-ms-user-select: none !important;
|
|
44
|
+
user-select: none !important;
|
|
45
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
ul,
|
|
2
|
+
ol {
|
|
3
|
+
padding: 0;
|
|
4
|
+
margin-left: 2.8em;
|
|
5
|
+
|
|
6
|
+
ul,
|
|
7
|
+
ol {
|
|
8
|
+
margin-bottom: 0;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
ul { list-style-type: disc; }
|
|
13
|
+
ol { list-style-type: decimal; }
|
|
14
|
+
|
|
15
|
+
.list-reset {
|
|
16
|
+
list-style: none;
|
|
17
|
+
margin: 0;
|
|
18
|
+
padding: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// List Style Types
|
|
22
|
+
.list-ls-none { list-style: none !important; }
|
|
23
|
+
.list-ls-disc { list-style-type: disc !important; }
|
|
24
|
+
.list-ls-decimal { list-style-type: decimal !important; }
|
|
25
|
+
.list-ls-unset { list-style-type: unset !important; }
|
|
26
|
+
|
|
27
|
+
// List Position
|
|
28
|
+
.list-inside { list-style-position: inside !important; }
|
|
29
|
+
.list-outside { list-style-position: outside !important; }
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
@import (reference) "../exports/mixins.less";
|
|
3
|
+
|
|
4
|
+
@px-values: 0 1 2 4 6 8 12 16 24 32 48 64 96 128;
|
|
5
|
+
@px-values-negative: 1 2 4 6 8 12 16 24 32 48 64 96 128;
|
|
6
|
+
@percent-values: 50 100;
|
|
7
|
+
|
|
8
|
+
.m-auto { margin: auto !important; }
|
|
9
|
+
.generate-sizing('.m', margin, @px-values, 'px', true);
|
|
10
|
+
.generate-sizing('.mn', margin, @px-values-negative, 'px', true, true);
|
|
11
|
+
.generate-sizing('.m', margin, @percent-values, 'percent', true);
|
|
12
|
+
.generate-sizing('.mn', margin, @percent-values, 'percent', true, true);
|
|
13
|
+
|
|
14
|
+
// Margin top
|
|
15
|
+
.mt-auto { margin-top: auto !important; }
|
|
16
|
+
.generate-sizing('.mt', margin-top, @px-values, 'px', true);
|
|
17
|
+
.generate-sizing('.mtn', margin-top, @px-values-negative, 'px', true, true);
|
|
18
|
+
.generate-sizing('.mt', margin-top, @percent-values, 'percent', true);
|
|
19
|
+
.generate-sizing('.mtn', margin-top, @percent-values, 'percent', true, true);
|
|
20
|
+
|
|
21
|
+
// Margin right
|
|
22
|
+
.mr-auto { margin-right: auto !important; }
|
|
23
|
+
.generate-sizing('.mr', margin-right, @px-values, 'px', true);
|
|
24
|
+
.generate-sizing('.mrn', margin-right, @px-values-negative, 'px', true, true);
|
|
25
|
+
.generate-sizing('.mr', margin-right, @percent-values, 'percent', true);
|
|
26
|
+
.generate-sizing('.mrn', margin-right, @percent-values, 'percent', true, true);
|
|
27
|
+
|
|
28
|
+
// Margin bottom
|
|
29
|
+
.mb-auto { margin-bottom: auto !important; }
|
|
30
|
+
.generate-sizing('.mb', margin-bottom, @px-values, 'px', true);
|
|
31
|
+
.generate-sizing('.mbn', margin-bottom, @px-values-negative, 'px', true, true);
|
|
32
|
+
.generate-sizing('.mb', margin-bottom, @percent-values, 'percent', true);
|
|
33
|
+
.generate-sizing('.mbn', margin-bottom, @percent-values, 'percent', true, true);
|
|
34
|
+
|
|
35
|
+
// Margin left
|
|
36
|
+
.ml-auto { margin-left: auto !important; }
|
|
37
|
+
.generate-sizing('.ml', margin-left, @px-values, 'px', true);
|
|
38
|
+
.generate-sizing('.mln', margin-left, @px-values-negative, 'px', true, true);
|
|
39
|
+
.generate-sizing('.ml', margin-left, @percent-values, 'percent', true);
|
|
40
|
+
.generate-sizing('.mln', margin-left, @percent-values, 'percent', true, true);
|
|
41
|
+
|
|
42
|
+
// Margin x-axis, y-axis
|
|
43
|
+
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
|
|
44
|
+
.my-auto { margin-top: auto !important; margin-bottom: auto !important; }
|
|
45
|
+
.generate-sizing('.mx'; margin-left, margin-right; @px-values; 'px'; true);
|
|
46
|
+
.generate-sizing('.mxn'; margin-left, margin-right; @px-values-negative; 'px'; true; true);
|
|
47
|
+
.generate-sizing('.my'; margin-top, margin-bottom; @px-values; 'px'; true);
|
|
48
|
+
.generate-sizing('.myn'; margin-top, margin-bottom; @px-values-negative; 'px'; true; true);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// OBJECT FIT
|
|
2
|
+
.of-contain { object-fit: contain !important; }
|
|
3
|
+
.of-cover { object-fit: cover !important; }
|
|
4
|
+
.of-fill { object-fit: fill !important; }
|
|
5
|
+
.of-none { object-fit: none !important; }
|
|
6
|
+
.of-scale-down { object-fit: scale-down !important; }
|
|
7
|
+
|
|
8
|
+
// OBJECT POSITION
|
|
9
|
+
.op-center { object-position: center !important; }
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.o0,
|
|
2
|
+
.h\:o0:hover {
|
|
3
|
+
opacity: 0 !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.o5,
|
|
7
|
+
.h\:o5:hover {
|
|
8
|
+
opacity: 0.05 !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.o10 {
|
|
12
|
+
opacity: 0.1 !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.o20 {
|
|
16
|
+
opacity: 0.2 !important;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.o30 {
|
|
20
|
+
opacity: 0.3 !important;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.o40 {
|
|
24
|
+
opacity: 0.4 !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.o50,
|
|
28
|
+
.h\:o50:hover {
|
|
29
|
+
opacity: 0.5 !important;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.o60 {
|
|
33
|
+
opacity: 0.6 !important;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.o70 {
|
|
37
|
+
opacity: 0.7 !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.o80,
|
|
41
|
+
.h\:o80:hover {
|
|
42
|
+
opacity: 0.8 !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.o90 {
|
|
46
|
+
opacity: 0.9 !important;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.o100,
|
|
50
|
+
.h\:o100:hover,
|
|
51
|
+
.f\:o100:focus,
|
|
52
|
+
.f\:o100:focus-within {
|
|
53
|
+
opacity: 1 !important;
|
|
54
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@import (reference) "../exports/constants-helpers.less";
|
|
2
|
+
|
|
3
|
+
// OVERFLOW
|
|
4
|
+
.overflow-auto { overflow: auto !important; @scrollbar-styles(); }
|
|
5
|
+
.overflow-hidden { overflow: hidden !important; @scrollbar-styles(); }
|
|
6
|
+
.overflow-scroll { overflow: scroll !important; @scrollbar-styles(); }
|
|
7
|
+
.overflow-visible { overflow: visible !important; }
|
|
8
|
+
|
|
9
|
+
// OVERFLOW X
|
|
10
|
+
.overflow-x-auto { overflow-x: auto !important; @scrollbar-styles(); }
|
|
11
|
+
.overflow-x-hidden { overflow-x: hidden !important; @scrollbar-styles(); }
|
|
12
|
+
.overflow-x-scroll { overflow-x: scroll !important; @scrollbar-styles(); }
|
|
13
|
+
|
|
14
|
+
// OVERFLOW Y
|
|
15
|
+
.overflow-y-auto { overflow-y: auto !important; @scrollbar-styles(); }
|
|
16
|
+
.overflow-y-hidden { overflow-y: hidden !important; @scrollbar-styles(); }
|
|
17
|
+
.overflow-y-scroll { overflow-y: scroll !important; @scrollbar-styles(); }
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
@import (reference) "../exports/mixins.less";
|
|
3
|
+
|
|
4
|
+
@px-values: 0 1 2 4 6 8 12 16 24 32 48 64 96 128;
|
|
5
|
+
|
|
6
|
+
.generate-sizing('.p', padding, @px-values, 'px', true);
|
|
7
|
+
.generate-sizing('.pt', padding-top, @px-values, 'px', true);
|
|
8
|
+
.generate-sizing('.pr', padding-right, @px-values, 'px', true);
|
|
9
|
+
.generate-sizing('.pb', padding-bottom, @px-values, 'px', true);
|
|
10
|
+
.generate-sizing('.pl', padding-left, @px-values, 'px', true);
|
|
11
|
+
.generate-sizing('.px'; padding-left, padding-right; @px-values; 'px'; true);
|
|
12
|
+
.generate-sizing('.py'; padding-top, padding-bottom; @px-values; 'px'; true);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
@import (reference) "../exports/mixins.less";
|
|
3
|
+
|
|
4
|
+
@px-values: 0 1 2 4 6 8 12 16 24 32 48 64 96 128;
|
|
5
|
+
@px-values-negative: 1 2 4 6 8 12 16 24 32 48 64 96 128;
|
|
6
|
+
@percent-values: 50 100;
|
|
7
|
+
|
|
8
|
+
// POSITIONING
|
|
9
|
+
#stacks-internals #responsify('.ps-absolute', { position: absolute !important; });
|
|
10
|
+
#stacks-internals #responsify('.ps-fixed', { position: fixed !important; });
|
|
11
|
+
#stacks-internals #responsify('.ps-relative', { position: relative !important; });
|
|
12
|
+
#stacks-internals #responsify('.ps-static', { position: static !important; });
|
|
13
|
+
#stacks-internals #responsify('.ps-sticky', { position: sticky !important; });
|
|
14
|
+
.ps-unset { position: unset !important; }
|
|
15
|
+
|
|
16
|
+
// Inset
|
|
17
|
+
.generate-sizing('.i', inset, @px-values, 'px');
|
|
18
|
+
|
|
19
|
+
// Top
|
|
20
|
+
.generate-sizing('.t', top, @px-values, 'px', true);
|
|
21
|
+
.generate-sizing('.tn', top, @px-values-negative, 'px', true, true);
|
|
22
|
+
.generate-sizing('.t', top, @percent-values, 'percent', true);
|
|
23
|
+
.generate-sizing('.tn', top, @percent-values, 'percent', true, true);
|
|
24
|
+
|
|
25
|
+
// Right
|
|
26
|
+
.generate-sizing('.r', right, @px-values, 'px', true);
|
|
27
|
+
.generate-sizing('.rn', right, @px-values-negative, 'px', true, true);
|
|
28
|
+
.generate-sizing('.r', right, @percent-values, 'percent', true);
|
|
29
|
+
.generate-sizing('.rn', right, @percent-values, 'percent', true, true);
|
|
30
|
+
|
|
31
|
+
// Bottom
|
|
32
|
+
.generate-sizing('.b', bottom, @px-values, 'px', true);
|
|
33
|
+
.generate-sizing('.bn', bottom, @px-values-negative, 'px', true, true);
|
|
34
|
+
.generate-sizing('.b', bottom, @percent-values, 'percent', true);
|
|
35
|
+
.generate-sizing('.bn', bottom, @percent-values, 'percent', true, true);
|
|
36
|
+
|
|
37
|
+
// Left
|
|
38
|
+
.generate-sizing('.l', left, @px-values, 'px', true);
|
|
39
|
+
.generate-sizing('.ln', left, @px-values-negative, 'px', true, true);
|
|
40
|
+
.generate-sizing('.l', left, @percent-values, 'percent', true);
|
|
41
|
+
.generate-sizing('.ln', left, @percent-values, 'percent', true, true);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@import (reference) "../base/internal.less";
|
|
2
|
+
|
|
3
|
+
// SIZING UNITS CSS CUSTOM PROPERTIES
|
|
4
|
+
body {
|
|
5
|
+
--su0: 0;
|
|
6
|
+
--su1: clamp(1px, 0.063rem, 0.063rem); // This ensures `--su1` never drops below 1px by setting the clamp MIN value to `--su1` (1px).
|
|
7
|
+
--su2: 0.125rem;
|
|
8
|
+
--su3: 0.1875rem;
|
|
9
|
+
--su4: 0.25rem;
|
|
10
|
+
--su6: 0.375rem;
|
|
11
|
+
--su8: 0.5rem;
|
|
12
|
+
--su12: 0.75rem;
|
|
13
|
+
--su16: 1rem;
|
|
14
|
+
--su24: 1.5rem;
|
|
15
|
+
--su32: 2rem;
|
|
16
|
+
--su48: 3rem;
|
|
17
|
+
--su64: 4rem;
|
|
18
|
+
--su96: 6rem;
|
|
19
|
+
--su128: 8rem;
|
|
20
|
+
--su256: 16rem;
|
|
21
|
+
--su344: 21.5rem;
|
|
22
|
+
--su448: 28rem;
|
|
23
|
+
--su512: 32rem;
|
|
24
|
+
--su640: 40rem;
|
|
25
|
+
--su768: 48rem;
|
|
26
|
+
--su848: 53rem;
|
|
27
|
+
--su960: 60rem;
|
|
28
|
+
--su1024: 64rem;
|
|
29
|
+
--su1120: 70rem;
|
|
30
|
+
--su1280: 80rem;
|
|
31
|
+
--su-max: var(--su1280);
|
|
32
|
+
--s-full: 79rem; // Legacy sizing units for Stacks v2
|
|
33
|
+
--s-step: calc(var(--s-full) / 12); // Legacy sizing units for Stacks v2
|
|
34
|
+
|
|
35
|
+
// Negative sizing
|
|
36
|
+
// This is a common subset sizing units for negative values
|
|
37
|
+
--sun1: calc(var(--su1) * -1);
|
|
38
|
+
--sun2: calc(var(--su2) * -1);
|
|
39
|
+
--sun3: calc(var(--su3) * -1);
|
|
40
|
+
--sun4: calc(var(--su4) * -1);
|
|
41
|
+
--sun6: calc(var(--su6) * -1);
|
|
42
|
+
--sun8: calc(var(--su8) * -1);
|
|
43
|
+
--sun12: calc(var(--su12) * -1);
|
|
44
|
+
--sun16: calc(var(--su16) * -1);
|
|
45
|
+
--sun24: calc(var(--su24) * -1);
|
|
46
|
+
--sun32: calc(var(--su32) * -1);
|
|
47
|
+
--sun48: calc(var(--su48) * -1);
|
|
48
|
+
--sun64: calc(var(--su64) * -1);
|
|
49
|
+
--sun96: calc(var(--su96) * -1);
|
|
50
|
+
--sun128: calc(var(--su128) * -1);
|
|
51
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.t {
|
|
2
|
+
transition-duration: var(--transition-time);
|
|
3
|
+
transition-property: all;
|
|
4
|
+
transition-timing-function: var(--te-ease-in);
|
|
5
|
+
transition-delay: 0s;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// -- Durations
|
|
9
|
+
.t-slow { transition-duration: 0.25s !important; }
|
|
10
|
+
.t-fast { transition-duration: 0.05s !important; }
|
|
11
|
+
|
|
12
|
+
// -- Properties
|
|
13
|
+
.t-unset { transition-property: none !important; }
|
|
14
|
+
.t-bg { transition-property: background-color !important; }
|
|
15
|
+
.t-opacity { transition-property: opacity !important; }
|
|
16
|
+
.t-shadow { transition-property: box-shadow !important; }
|
|
17
|
+
|
|
18
|
+
// -- Delays
|
|
19
|
+
.t-delay { transition-delay: 0.25s !important; }
|
|
20
|
+
.t-delay-unset { transition-delay: 0s !important; }
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
@import (reference) "../exports/constants-helpers.less";
|
|
2
|
+
@import (reference) "../base/configuration-static.less";
|
|
3
|
+
@import (reference) "../base/internal.less";
|
|
4
|
+
|
|
5
|
+
.truncation(@count) {
|
|
6
|
+
// Despite these all being webkit-specific properties, this works across
|
|
7
|
+
// Safari, Chrome, Edge, and Firefox.
|
|
8
|
+
display: -webkit-box;
|
|
9
|
+
-webkit-line-clamp: @count;
|
|
10
|
+
-webkit-box-orient: vertical;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.truncate {
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
max-width: 100%;
|
|
17
|
+
text-overflow: ellipsis !important;
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.v-truncate1 {
|
|
22
|
+
.truncation(1);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.v-truncate2 {
|
|
26
|
+
.truncation(2);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.v-truncate3 {
|
|
30
|
+
.truncation(3);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.v-truncate4 {
|
|
34
|
+
.truncation(4);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.v-truncate5 {
|
|
38
|
+
.truncation(5);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.v-truncate-fade {
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
-webkit-mask-image: linear-gradient(180deg, #000 calc(var(--lh-md) * 9em), transparent);
|
|
44
|
+
mask-image: linear-gradient(180deg, #000 calc(var(--lh-md) * 9em), transparent);
|
|
45
|
+
max-height: calc(var(--lh-md) * 12em);
|
|
46
|
+
|
|
47
|
+
&.v-truncate-fade__sm {
|
|
48
|
+
-webkit-mask-image: linear-gradient(180deg, #000 calc(var(--lh-md) * 3em), transparent);
|
|
49
|
+
mask-image: linear-gradient(180deg, #000 calc(var(--lh-md) * 3em), transparent);
|
|
50
|
+
max-height: calc(var(--lh-md) * 6em);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&.v-truncate-fade__lg {
|
|
54
|
+
-webkit-mask-image: linear-gradient(180deg, #000 calc(var(--lh-md) * 21em), transparent);
|
|
55
|
+
mask-image: linear-gradient(180deg, #000 calc(var(--lh-md) * 21em), transparent);
|
|
56
|
+
max-height: calc(var(--lh-md) * 24em);
|
|
57
|
+
}
|
|
58
|
+
}
|