@ulu/frontend 0.1.0-beta.31 → 0.1.0-beta.33
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/CHANGELOG.md +32 -0
- package/dist/ulu-frontend.min.css +1 -1
- package/dist/ulu-frontend.min.js +11 -11
- package/docs-dev/changelog/index.html +90 -10
- package/docs-dev/demos/accordion/index.html +8 -8
- package/docs-dev/demos/button/index.html +8 -8
- package/docs-dev/demos/button-verbose/index.html +8 -8
- package/docs-dev/demos/callout/index.html +26 -8
- package/docs-dev/demos/captioned-figure/index.html +8 -8
- package/docs-dev/demos/card/index.html +29 -33
- package/docs-dev/demos/card-grid/index.html +12 -12
- package/docs-dev/demos/css-icons/index.html +8 -8
- package/docs-dev/demos/data-grid/index.html +8 -8
- package/docs-dev/demos/data-table/index.html +33 -33
- package/docs-dev/demos/details-group/index.html +8 -8
- package/docs-dev/demos/file-save/index.html +8 -8
- package/docs-dev/demos/flipcard/index.html +8 -8
- package/docs-dev/demos/form-theme/index.html +8 -8
- package/docs-dev/demos/index.html +8 -8
- package/docs-dev/demos/list-inline/index.html +8 -8
- package/docs-dev/demos/list-lines/index.html +8 -8
- package/docs-dev/demos/menu-stack/index.html +8 -8
- package/docs-dev/demos/modals/index.html +8 -8
- package/docs-dev/demos/nav-strip/index.html +8 -8
- package/docs-dev/demos/overlay-section/index.html +8 -8
- package/docs-dev/demos/popovers/index.html +8 -8
- package/docs-dev/demos/print/index.html +8 -8
- package/docs-dev/demos/pull-quote/index.html +8 -8
- package/docs-dev/demos/rule/index.html +8 -8
- package/docs-dev/demos/scrollpoints/index.html +8 -8
- package/docs-dev/demos/spoke-spinner/index.html +8 -8
- package/docs-dev/demos/sticky-list/index.html +8 -8
- package/docs-dev/demos/tabs/index.html +8 -8
- package/docs-dev/demos/tag/index.html +8 -8
- package/docs-dev/demos/theme-toggle/index.html +8 -8
- package/docs-dev/demos/tiles/index.html +8 -8
- package/docs-dev/demos/tooltip/index.html +8 -8
- package/docs-dev/guide/building-stylesheet/index.html +8 -8
- package/docs-dev/guide/developing-ulu-scss-module/index.html +8 -8
- package/docs-dev/guide/index.html +8 -8
- package/docs-dev/index.html +8 -8
- package/docs-dev/javascript/events/index.html +8 -8
- package/docs-dev/javascript/index.html +8 -8
- package/docs-dev/javascript/settings/index.html +8 -8
- package/docs-dev/javascript/ui-breakpoints/index.html +8 -8
- package/docs-dev/javascript/ui-collapsible/index.html +8 -8
- package/docs-dev/javascript/ui-details-group/index.html +8 -8
- package/docs-dev/javascript/ui-dialog/index.html +8 -8
- package/docs-dev/javascript/ui-flipcard/index.html +8 -8
- package/docs-dev/javascript/ui-grid/index.html +8 -8
- package/docs-dev/javascript/ui-modal-builder/index.html +8 -8
- package/docs-dev/javascript/ui-overflow-scroller/index.html +8 -8
- package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +8 -8
- package/docs-dev/javascript/ui-page/index.html +8 -8
- package/docs-dev/javascript/ui-popover/index.html +8 -8
- package/docs-dev/javascript/ui-print/index.html +8 -8
- package/docs-dev/javascript/ui-print-details/index.html +8 -8
- package/docs-dev/javascript/ui-programmatic-modal/index.html +8 -8
- package/docs-dev/javascript/ui-proxy-click/index.html +8 -8
- package/docs-dev/javascript/ui-resizer/index.html +8 -8
- package/docs-dev/javascript/ui-scroll-slider/index.html +8 -8
- package/docs-dev/javascript/ui-scrollpoint/index.html +8 -8
- package/docs-dev/javascript/ui-slider/index.html +8 -8
- package/docs-dev/javascript/ui-tabs/index.html +8 -8
- package/docs-dev/javascript/ui-theme-toggle/index.html +8 -8
- package/docs-dev/javascript/ui-tooltip/index.html +8 -8
- package/docs-dev/javascript/utils-class-logger/index.html +8 -8
- package/docs-dev/javascript/utils-dom/index.html +8 -8
- package/docs-dev/javascript/utils-file-save/index.html +8 -8
- package/docs-dev/javascript/utils-floating-ui/index.html +8 -8
- package/docs-dev/javascript/utils-id/index.html +8 -8
- package/docs-dev/javascript/utils-pause-youtube-video/index.html +8 -8
- package/docs-dev/sass/base/color/index.html +8 -8
- package/docs-dev/sass/base/elements/index.html +8 -8
- package/docs-dev/sass/base/index/index.html +8 -8
- package/docs-dev/sass/base/index.html +8 -8
- package/docs-dev/sass/base/keyframes/index.html +8 -8
- package/docs-dev/sass/base/layout/index.html +8 -8
- package/docs-dev/sass/base/normalize/index.html +8 -8
- package/docs-dev/sass/base/print/index.html +8 -8
- package/docs-dev/sass/base/root/index.html +8 -8
- package/docs-dev/sass/base/typography/index.html +8 -8
- package/docs-dev/sass/components/accordion/index.html +8 -8
- package/docs-dev/sass/components/adaptive-spacing/index.html +8 -8
- package/docs-dev/sass/components/badge/index.html +8 -8
- package/docs-dev/sass/components/basic-hero/index.html +8 -8
- package/docs-dev/sass/components/button/index.html +8 -8
- package/docs-dev/sass/components/button-verbose/index.html +46 -34
- package/docs-dev/sass/components/callout/index.html +94 -35
- package/docs-dev/sass/components/captioned-figure/index.html +8 -8
- package/docs-dev/sass/components/card/index.html +18 -18
- package/docs-dev/sass/components/card-grid/index.html +8 -8
- package/docs-dev/sass/components/css-icon/index.html +8 -8
- package/docs-dev/sass/components/data-grid/index.html +8 -8
- package/docs-dev/sass/components/data-table/index.html +8 -8
- package/docs-dev/sass/components/fill-context/index.html +8 -8
- package/docs-dev/sass/components/flipcard/index.html +8 -8
- package/docs-dev/sass/components/flipcard-grid/index.html +8 -8
- package/docs-dev/sass/components/form-theme/index.html +8 -8
- package/docs-dev/sass/components/hero/index.html +16 -16
- package/docs-dev/sass/components/horizontal-rule/index.html +8 -8
- package/docs-dev/sass/components/image-grid/index.html +8 -8
- package/docs-dev/sass/components/index/index.html +8 -8
- package/docs-dev/sass/components/index.html +8 -8
- package/docs-dev/sass/components/links/index.html +8 -8
- package/docs-dev/sass/components/list-inline/index.html +8 -8
- package/docs-dev/sass/components/list-lines/index.html +8 -8
- package/docs-dev/sass/components/list-ordered/index.html +8 -8
- package/docs-dev/sass/components/list-unordered/index.html +8 -8
- package/docs-dev/sass/components/menu-stack/index.html +8 -8
- package/docs-dev/sass/components/modal/index.html +8 -8
- package/docs-dev/sass/components/nav-strip/index.html +8 -8
- package/docs-dev/sass/components/overlay-section/index.html +16 -16
- package/docs-dev/sass/components/pager/index.html +8 -8
- package/docs-dev/sass/components/placeholder-block/index.html +8 -8
- package/docs-dev/sass/components/popover/index.html +8 -8
- package/docs-dev/sass/components/pull-quote/index.html +8 -8
- package/docs-dev/sass/components/ratio-box/index.html +16 -16
- package/docs-dev/sass/components/rule/index.html +8 -8
- package/docs-dev/sass/components/scroll-slider/index.html +8 -8
- package/docs-dev/sass/components/skip-link/index.html +8 -8
- package/docs-dev/sass/components/slider/index.html +8 -8
- package/docs-dev/sass/components/spoke-spinner/index.html +10 -10
- package/docs-dev/sass/components/sticky-list/index.html +8 -8
- package/docs-dev/sass/components/tabs/index.html +8 -8
- package/docs-dev/sass/components/tag/index.html +10 -10
- package/docs-dev/sass/components/tile-button/index.html +8 -8
- package/docs-dev/sass/components/tile-grid/index.html +8 -8
- package/docs-dev/sass/components/tile-grid-overlay/index.html +8 -8
- package/docs-dev/sass/components/vignette/index.html +16 -16
- package/docs-dev/sass/components/wysiwyg/index.html +8 -8
- package/docs-dev/sass/core/breakpoint/index.html +8 -8
- package/docs-dev/sass/core/button/index.html +8 -8
- package/docs-dev/sass/core/color/index.html +8 -8
- package/docs-dev/sass/core/cssvar/index.html +8 -8
- package/docs-dev/sass/core/element/index.html +188 -47
- package/docs-dev/sass/core/index.html +8 -8
- package/docs-dev/sass/core/layout/index.html +64 -45
- package/docs-dev/sass/core/path/index.html +8 -8
- package/docs-dev/sass/core/selector/index.html +8 -8
- package/docs-dev/sass/core/typography/index.html +8 -8
- package/docs-dev/sass/core/units/index.html +8 -8
- package/docs-dev/sass/core/utils/index.html +272 -68
- package/docs-dev/sass/helpers/color/index.html +8 -8
- package/docs-dev/sass/helpers/display/index.html +8 -8
- package/docs-dev/sass/helpers/index/index.html +8 -8
- package/docs-dev/sass/helpers/index.html +8 -8
- package/docs-dev/sass/helpers/print/index.html +8 -8
- package/docs-dev/sass/helpers/typography/index.html +8 -8
- package/docs-dev/sass/helpers/units/index.html +8 -8
- package/docs-dev/sass/helpers/utilities/index.html +8 -8
- package/docs-dev/sass/index.html +8 -8
- package/js/ui/tooltip.js +2 -1
- package/package.json +1 -1
- package/scss/_breakpoint.scss +1 -1
- package/scss/_element.scss +91 -0
- package/scss/_layout.scss +6 -4
- package/scss/_utils.scss +42 -0
- package/scss/components/_button-verbose.scss +43 -32
- package/scss/components/_callout.scss +112 -53
- package/scss/components/_card.scss +7 -22
- package/scss/components/_css-icon.scss +17 -17
- package/scss/components/_data-grid.scss +2 -2
- package/scss/components/_flipcard.scss +1 -1
- package/scss/components/_form-theme.scss +12 -12
- package/scss/components/_hero.scss +3 -10
- package/scss/components/_overlay-section.scss +2 -5
- package/scss/components/_popover.scss +11 -11
- package/scss/components/_pull-quote.scss +1 -1
- package/scss/components/_ratio-box.scss +2 -5
- package/scss/components/_scroll-slider.scss +1 -1
- package/scss/components/_spoke-spinner.scss +2 -2
- package/scss/components/_vignette.scss +2 -5
- package/types/ui/tooltip.d.ts.map +1 -1
|
@@ -48,15 +48,16 @@ $-fallbacks: (
|
|
|
48
48
|
/// @prop {String} title-color [link] Color of the title of the button.
|
|
49
49
|
/// @prop {String} title-color-hover [link-hover] Color of the title of the button when hovered or focused.
|
|
50
50
|
/// @prop {Dimension} title-margin [0.5em] Margin for the button's title.
|
|
51
|
-
/// @prop {Boolean}
|
|
52
|
-
/// @prop {Color}
|
|
53
|
-
/// @prop {
|
|
54
|
-
/// @prop {
|
|
51
|
+
/// @prop {Boolean} cap [false] Enable left cap style
|
|
52
|
+
/// @prop {Color} cap-side ["left"] The side that gets the cap
|
|
53
|
+
/// @prop {Number} cap-match-radius [true] The cap should have be rounded to match the parent's border radius
|
|
54
|
+
/// @prop {Map} cap-options The options for cap (see element.cap for options)
|
|
55
|
+
/// @prop {Map} cap-options-hover The options for cap when hovered
|
|
55
56
|
|
|
56
57
|
$config: (
|
|
57
58
|
"background-color" : white,
|
|
58
59
|
"background-color-hover" : #F7F8F7,
|
|
59
|
-
"border-radius" :
|
|
60
|
+
"border-radius" : true,
|
|
60
61
|
"box-shadow" : true,
|
|
61
62
|
"box-shadow-hover" : true,
|
|
62
63
|
"color" : "type",
|
|
@@ -68,15 +69,21 @@ $config: (
|
|
|
68
69
|
"margin" : 1em,
|
|
69
70
|
"margin-inline" : 0.75em,
|
|
70
71
|
"min-width": 20rem,
|
|
71
|
-
"padding-x": 0.
|
|
72
|
+
"padding-x": 0.75em,
|
|
72
73
|
"padding-y": 1em,
|
|
73
74
|
"title-color": "link",
|
|
74
75
|
"title-margin" : 0.5em,
|
|
75
76
|
"title-color-hover" : "link-hover",
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
77
|
+
"cap" : false,
|
|
78
|
+
"cap-side" : "left",
|
|
79
|
+
"cap-match-radius" : true,
|
|
80
|
+
"cap-options" : (
|
|
81
|
+
"color" : "link",
|
|
82
|
+
"size" : 0.5rem,
|
|
83
|
+
),
|
|
84
|
+
"cap-options-hover" : (
|
|
85
|
+
"color" : "link-hover"
|
|
86
|
+
),
|
|
80
87
|
) !default;
|
|
81
88
|
|
|
82
89
|
/// Change modules $config
|
|
@@ -110,36 +117,30 @@ $config: (
|
|
|
110
117
|
|
|
111
118
|
@mixin styles {
|
|
112
119
|
$prefix: selector.class("button-verbose");
|
|
120
|
+
$padding-x: get("padding-x");
|
|
121
|
+
$padding-y: get("padding-y");
|
|
122
|
+
$padding-right: ($padding-x * 2) + 1em;
|
|
123
|
+
$cap-side: get("cap-side");
|
|
124
|
+
$cap-defaults: (
|
|
125
|
+
"border-radius" : if(get("cap-match-radius"), get("border-radius"), 0),
|
|
126
|
+
"padding-adjust" : if(utils.is-side($cap-side), $padding-x, $padding-y)
|
|
127
|
+
);
|
|
113
128
|
|
|
114
129
|
#{ $prefix } {
|
|
115
130
|
text-decoration: none;
|
|
116
|
-
border-radius:
|
|
131
|
+
border-radius: get("border-radius");
|
|
117
132
|
box-shadow: get("box-shadow");
|
|
118
133
|
line-height: get("line-height");
|
|
119
|
-
position: relative;
|
|
134
|
+
position: relative; // For cap and icon
|
|
120
135
|
display: block;
|
|
121
136
|
margin-bottom: get("margin");
|
|
122
137
|
max-width: 100%;
|
|
123
138
|
width: get("min-width");
|
|
124
139
|
background-color: color.get(get("background-color"));
|
|
125
|
-
padding:
|
|
126
|
-
padding-right: (get("padding-x") * 2) + 1em;
|
|
140
|
+
padding: $padding-y $padding-right $padding-y $padding-x;
|
|
127
141
|
color: color.get(get("color"));
|
|
128
142
|
text-align: left;
|
|
129
|
-
|
|
130
|
-
@if get("left-cap") {
|
|
131
|
-
padding-left: calc(get("padding-x") + get("left-cap-width"));
|
|
132
|
-
&::after {
|
|
133
|
-
content: "";
|
|
134
|
-
display: block;
|
|
135
|
-
position: absolute;
|
|
136
|
-
top: 0;
|
|
137
|
-
bottom: 0;
|
|
138
|
-
left: 0;
|
|
139
|
-
width: get("left-cap-width");
|
|
140
|
-
background-color: color.get(get("left-cap-color"));
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
+
|
|
143
144
|
&:hover {
|
|
144
145
|
color: color.get(get("color-hover"));
|
|
145
146
|
background-color: color.get(get("background-color-hover"));
|
|
@@ -154,9 +155,19 @@ $config: (
|
|
|
154
155
|
color: color.get(get("icon-color-hover"));
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
}
|
|
159
|
+
@if get("cap") {
|
|
160
|
+
@include element.cap(
|
|
161
|
+
$side: $cap-side,
|
|
162
|
+
$options: map.merge($cap-defaults, get("cap-options"))
|
|
163
|
+
);
|
|
164
|
+
@if get("cap-options-hover") {
|
|
165
|
+
&:hover,
|
|
166
|
+
&:focus {
|
|
167
|
+
@include element.cap-appearance(
|
|
168
|
+
$side: $cap-side,
|
|
169
|
+
$options: get("cap-options-hover")
|
|
170
|
+
);
|
|
160
171
|
}
|
|
161
172
|
}
|
|
162
173
|
}
|
|
@@ -174,7 +185,7 @@ $config: (
|
|
|
174
185
|
#{ $prefix }__icon {
|
|
175
186
|
position: absolute;
|
|
176
187
|
top: 50%;
|
|
177
|
-
right:
|
|
188
|
+
right: $padding-x;
|
|
178
189
|
transform: translateY(-50%);
|
|
179
190
|
font-size: get("icon-font-size");
|
|
180
191
|
color: color.get(get("icon-color"));
|
|
@@ -27,48 +27,51 @@ $-fallbacks: (
|
|
|
27
27
|
/// @prop {Boolean} border-radius [true] The border radius of the Callout.
|
|
28
28
|
/// @prop {Dimension} border-width [1px] The border width of the Callout.
|
|
29
29
|
/// @prop {CssValue} box-shadow [none] The box-shadow of the Callout.
|
|
30
|
-
/// @prop {Boolean}
|
|
31
|
-
/// @prop {
|
|
32
|
-
/// @prop {
|
|
30
|
+
/// @prop {Boolean} caps-disabled [false] If set will not output any cap styles for both base and styles
|
|
31
|
+
/// @prop {Boolean} cap [false] Toggles the use of caps on default callout
|
|
32
|
+
/// @prop {Boolean} cap-side ["left"] The side that gets the cap
|
|
33
|
+
/// @prop {Number} cap-match-radius [true] The cap should have be rounded to match the parent's border radius
|
|
34
|
+
/// @prop {Map} cap-options The options for cap (see element.cap for options)
|
|
33
35
|
/// @prop {Dimension} margin [2rem] Bottom margin of the Callout.
|
|
34
36
|
/// @prop {Dimension} padding [1.5rem] Padding of the Callout.
|
|
35
37
|
|
|
36
38
|
$config: (
|
|
37
39
|
"background-color" : rgb(240, 240, 240),
|
|
38
40
|
"border-color" : "rule-light",
|
|
39
|
-
"border-radius" :
|
|
41
|
+
"border-radius" : 6px,
|
|
40
42
|
"border-width" : 1px,
|
|
41
43
|
"box-shadow" : none,
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
44
|
+
"caps-disabled" : false,
|
|
45
|
+
"cap" : false,
|
|
46
|
+
"cap-side" : "left",
|
|
47
|
+
"cap-match-radius" : false,
|
|
48
|
+
"cap-options" : (
|
|
49
|
+
"color" : rgb(160, 160, 160),
|
|
50
|
+
"size" : 0.5rem,
|
|
51
|
+
),
|
|
45
52
|
"margin" : 2rem,
|
|
46
53
|
"padding" : 1.5rem,
|
|
47
54
|
) !default;
|
|
48
55
|
|
|
56
|
+
/// Styles Map (for unique variations/modifiers)
|
|
57
|
+
/// - Adjust this with set-styles
|
|
58
|
+
/// @type Map
|
|
59
|
+
|
|
49
60
|
$styles: (
|
|
50
61
|
"outline" : (
|
|
51
62
|
"background-color": transparent
|
|
52
63
|
),
|
|
53
64
|
"info" : (
|
|
54
65
|
"background-color" : "info-background",
|
|
55
|
-
"left-cap-color" : "info",
|
|
56
|
-
"left-cap" : true,
|
|
57
66
|
),
|
|
58
67
|
"warning" : (
|
|
59
68
|
"background-color" : "info-background",
|
|
60
|
-
"left-cap-color" : "info",
|
|
61
|
-
"left-cap" : true,
|
|
62
69
|
),
|
|
63
70
|
"success" : (
|
|
64
71
|
"background-color" : "success-background",
|
|
65
|
-
"left-cap-color" : "success",
|
|
66
|
-
"left-cap" : true,
|
|
67
72
|
),
|
|
68
73
|
"danger" : (
|
|
69
74
|
"background-color" : "danger-background",
|
|
70
|
-
"left-cap-color" : "danger",
|
|
71
|
-
"left-cap" : true,
|
|
72
75
|
),
|
|
73
76
|
) !default;
|
|
74
77
|
|
|
@@ -92,34 +95,30 @@ $styles: (
|
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
/// Set callout style variations
|
|
95
|
-
///
|
|
98
|
+
/// - Styles that modify padding when using mix-match caps on/off should be included last
|
|
99
|
+
/// @param {Map} $changes Map of changes (options for style include [background-color, color, border-color, border-radius, border-width, box-shadow, padding, cap, cap-options]
|
|
96
100
|
/// @param {String} $merge-mode Merge mode see utils.map-merge() [null|"deep"|"overwrite"]
|
|
97
101
|
|
|
98
102
|
@mixin set-styles($changes, $merge-mode: null) {
|
|
99
103
|
$styles: utils.map-merge($styles, $changes, $merge-mode) !global;
|
|
100
104
|
}
|
|
101
105
|
|
|
102
|
-
@mixin -left-cap($color: get("left-cap-color")) {
|
|
103
|
-
$left-padding: get-spacing-left(get("padding"));
|
|
104
|
-
position: relative;
|
|
105
|
-
border-top-left-radius: 0;
|
|
106
|
-
border-bottom-left-radius: 0;
|
|
107
|
-
padding-left: get("left-cap-width") + $left-padding;
|
|
108
|
-
&::before {
|
|
109
|
-
content: "";
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
106
|
/// Output component stylesheet
|
|
114
107
|
/// @example scss
|
|
115
108
|
/// @include ulu.component-callout-styles();
|
|
116
109
|
|
|
117
110
|
@mixin styles {
|
|
118
|
-
$prefix: selector.class("callout");
|
|
119
|
-
|
|
111
|
+
$prefix: selector.class("callout");
|
|
112
|
+
$padding: get("padding");
|
|
113
|
+
$padding-info: utils.get-spacing($padding);
|
|
114
|
+
$cap-options: get("cap-options");
|
|
115
|
+
$cap-size: map.get($cap-options, "size");
|
|
116
|
+
$cap-side: get("cap-side");
|
|
117
|
+
|
|
120
118
|
#{ $prefix } {
|
|
119
|
+
position: relative; // For cap
|
|
121
120
|
background-color: color.get(get("background-color"));
|
|
122
|
-
padding:
|
|
121
|
+
padding: $padding;
|
|
123
122
|
border: get("border-width") solid color.get(get("border-color"));
|
|
124
123
|
margin-bottom: get("margin");
|
|
125
124
|
box-shadow: get("box-shadow");
|
|
@@ -127,36 +126,96 @@ $styles: (
|
|
|
127
126
|
& >:first-child {
|
|
128
127
|
margin-top: 0;
|
|
129
128
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
|
|
130
|
+
// If we have left cap on default we reuse this for all
|
|
131
|
+
// Else we will print it out manually for each unique style
|
|
132
|
+
@if (not get("caps-disabled")) {
|
|
133
|
+
$cap-defaults: (
|
|
134
|
+
"offset" : get("border-width"),
|
|
135
|
+
"border-radius" : if(get("cap-match-radius"), get("border-radius"), null),
|
|
136
|
+
// "padding-adjust" : map.get($padding-info, $cap-side)
|
|
137
|
+
);
|
|
138
|
+
@include element.cap(
|
|
139
|
+
$side: $cap-side,
|
|
140
|
+
$options: map.merge($cap-defaults, $cap-options)
|
|
141
|
+
);
|
|
137
142
|
}
|
|
138
|
-
|
|
139
|
-
|
|
143
|
+
|
|
144
|
+
// If the left cap is disabled we still include it's CSS but we hide it
|
|
145
|
+
// so that other styles of callouts can use it
|
|
146
|
+
@if (not get("cap")) {
|
|
140
147
|
&::before {
|
|
141
|
-
content:
|
|
148
|
+
content: none;
|
|
142
149
|
}
|
|
150
|
+
// Since this is hidden and reused we need to not use padding adjust unless it
|
|
151
|
+
// was visible
|
|
152
|
+
} @else if ($cap-size) {
|
|
153
|
+
padding-#{ $cap-side }: calc(map.get($padding-info, $cap-side) + $cap-size);
|
|
143
154
|
}
|
|
144
155
|
}
|
|
156
|
+
|
|
157
|
+
@include -output-style-modifiers();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Output Each Style Modifier
|
|
161
|
+
// - Note if cap is not disabled this will just update appearance values of cap styling
|
|
162
|
+
@mixin -output-style-modifiers() {
|
|
163
|
+
$prefix: selector.class("callout");
|
|
164
|
+
$caps-enabled: not get("caps-disabled");
|
|
165
|
+
$cap-side: get("cap-side");
|
|
166
|
+
|
|
145
167
|
@each $name, $style in $styles {
|
|
168
|
+
$cap: map.get($style, "cap");
|
|
169
|
+
$padding: map.get($style, "padding");
|
|
170
|
+
$border-radius: map.get($style, "border-radius");
|
|
171
|
+
$background-color: map.get($style, "background-color");
|
|
172
|
+
$color: map.get($style, "color");
|
|
173
|
+
$border-color: map.get($style, "border-color");
|
|
174
|
+
$border-width: map.get($style, "border-width");
|
|
175
|
+
$box-shadow: map.get($style, "box-shadow");
|
|
176
|
+
$cap-match-radius: map.get($style, "cap-match-radius");
|
|
177
|
+
|
|
146
178
|
#{ $prefix }--#{ $name } {
|
|
147
|
-
background-color: color.get(
|
|
148
|
-
color: color.get(
|
|
149
|
-
border:
|
|
150
|
-
border-
|
|
151
|
-
border-
|
|
152
|
-
box-shadow:
|
|
153
|
-
padding:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
179
|
+
background-color: color.get($background-color);
|
|
180
|
+
color: color.get($color);
|
|
181
|
+
border-radius: $border-radius;
|
|
182
|
+
border-color: color.get($border-color);
|
|
183
|
+
border-width: $border-width;
|
|
184
|
+
box-shadow: $box-shadow;
|
|
185
|
+
padding: $padding;
|
|
186
|
+
|
|
187
|
+
@if ($cap and $caps-enabled) {
|
|
188
|
+
$match-radius: utils.if-type("bool", $cap-match-radius, get("cap-match-radius"));
|
|
189
|
+
// Padding adjust always has to be set (since size could change or padding)
|
|
190
|
+
$padding-info: utils.get-spacing(if($padding, $padding, get("padding")));
|
|
191
|
+
$cap-radius: utils.if-type("number", $border-radius, get("border-radius"));
|
|
192
|
+
$cap-options: utils.ensure-map(map.get($style, "cap-options"));
|
|
193
|
+
$cap-defaults: (
|
|
194
|
+
"size" : map.get(get("cap-options"), "size"),
|
|
195
|
+
"padding-adjust" : map.get($padding-info, $cap-side),
|
|
196
|
+
"offset" : $border-width,
|
|
197
|
+
"border-radius" : if($match-radius, $cap-radius, null)
|
|
198
|
+
);
|
|
199
|
+
|
|
200
|
+
@include element.cap-appearance(
|
|
201
|
+
$side: $cap-side,
|
|
202
|
+
$options: map.merge($cap-defaults, $cap-options),
|
|
203
|
+
$before: true
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
// Because the main callout's cap may not be visible
|
|
207
|
+
&::before {
|
|
208
|
+
content: "";
|
|
209
|
+
}
|
|
210
|
+
// If set to false remove the cap (if enabled) and reset default cap padding adjust
|
|
211
|
+
} @else if ($cap == false and $caps-enabled) {
|
|
212
|
+
// if this style doesn't set padding
|
|
213
|
+
@if (not $padding) {
|
|
214
|
+
$padding-info: utils.get-spacing(get("padding"));
|
|
215
|
+
padding-#{ $cap-side }: map.get($padding-info, $cap-side);
|
|
216
|
+
}
|
|
217
|
+
&::before {
|
|
218
|
+
content: none;
|
|
160
219
|
}
|
|
161
220
|
}
|
|
162
221
|
}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
@use "../utils";
|
|
11
11
|
@use "../selector";
|
|
12
12
|
@use "../color";
|
|
13
|
+
@use "../layout";
|
|
13
14
|
|
|
14
15
|
// todo
|
|
15
16
|
// sass color adjust for smooth transition. Add a comment for this if we can’t get to this
|
|
@@ -209,13 +210,9 @@ $config: (
|
|
|
209
210
|
overflow: hidden;
|
|
210
211
|
|
|
211
212
|
// Border is on pseudo so that it's on top of image/etc
|
|
212
|
-
|
|
213
|
-
|
|
213
|
+
&::after {
|
|
214
|
+
@include layout.absolute-fill();
|
|
214
215
|
content: if(get("border"), "", null);
|
|
215
|
-
top: 0;
|
|
216
|
-
bottom: 0;
|
|
217
|
-
right: 0;
|
|
218
|
-
left: 0;
|
|
219
216
|
border: get("border");
|
|
220
217
|
border-radius: get("border-radius");
|
|
221
218
|
z-index: 4;
|
|
@@ -229,7 +226,7 @@ $config: (
|
|
|
229
226
|
box-shadow: get("box-shadow-hover");
|
|
230
227
|
|
|
231
228
|
@if (get("border-hover") or get("overlay-background-color-hover")) {
|
|
232
|
-
|
|
229
|
+
&::after {
|
|
233
230
|
content: "";
|
|
234
231
|
border: get("border-hover");
|
|
235
232
|
background-color: color.get(get("overlay-background-color-hover"));
|
|
@@ -293,11 +290,7 @@ $config: (
|
|
|
293
290
|
}
|
|
294
291
|
#{ $prefix }__image img,
|
|
295
292
|
#{ $prefix}__image-media {
|
|
296
|
-
|
|
297
|
-
top: 0;
|
|
298
|
-
left: 0;
|
|
299
|
-
width: 100%;
|
|
300
|
-
height: 100%;
|
|
293
|
+
@include layout.absolute-fill(true);
|
|
301
294
|
border: 0;
|
|
302
295
|
object-fit: cover;
|
|
303
296
|
transform-origin: center center;
|
|
@@ -407,11 +400,7 @@ $config: (
|
|
|
407
400
|
color: color.get(get("color-overlay"));
|
|
408
401
|
}
|
|
409
402
|
#{ $prefix }__image {
|
|
410
|
-
|
|
411
|
-
top: 0;
|
|
412
|
-
left: 0;
|
|
413
|
-
bottom: 0;
|
|
414
|
-
right: 0;
|
|
403
|
+
@include layout.absolute-fill();
|
|
415
404
|
overflow: hidden;
|
|
416
405
|
padding-top: 0;
|
|
417
406
|
background-color: color.get(rgb(255, 255, 255));
|
|
@@ -425,12 +414,8 @@ $config: (
|
|
|
425
414
|
border: 0;
|
|
426
415
|
object-fit: cover;
|
|
427
416
|
&::before {
|
|
428
|
-
|
|
417
|
+
@include layout.absolute-fill(true);
|
|
429
418
|
display: block;
|
|
430
|
-
top: 0;
|
|
431
|
-
bottom: 0;
|
|
432
|
-
left: 0;
|
|
433
|
-
right: 0;
|
|
434
419
|
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.9));
|
|
435
420
|
}
|
|
436
421
|
}
|
|
@@ -124,8 +124,8 @@ $config: (
|
|
|
124
124
|
-moz-osx-font-smoothing: grayscale;
|
|
125
125
|
-webkit-font-smoothing: antialiased;
|
|
126
126
|
// Icons that share pseudos for strokes
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
&::before,
|
|
128
|
+
&::after {
|
|
129
129
|
// content: "";
|
|
130
130
|
display: block;
|
|
131
131
|
position: absolute;
|
|
@@ -188,7 +188,7 @@ $config: (
|
|
|
188
188
|
|
|
189
189
|
.css-icon--circle-info,
|
|
190
190
|
.css-icon--circle-question {
|
|
191
|
-
|
|
191
|
+
&::before {
|
|
192
192
|
content: "i";
|
|
193
193
|
text-align: center;
|
|
194
194
|
font-size: get("text-size");
|
|
@@ -208,7 +208,7 @@ $config: (
|
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
.css-icon--circle-question {
|
|
211
|
-
|
|
211
|
+
&::before {
|
|
212
212
|
content: "?";
|
|
213
213
|
}
|
|
214
214
|
}
|
|
@@ -229,13 +229,13 @@ $config: (
|
|
|
229
229
|
clip-path: polygon(10% 10%, 90% 50%, 10% 90%);
|
|
230
230
|
}
|
|
231
231
|
[class*="css-icon--arrow"] {
|
|
232
|
-
|
|
232
|
+
&::before {
|
|
233
233
|
content: "";
|
|
234
234
|
width: 70%;
|
|
235
235
|
left: 0;
|
|
236
236
|
}
|
|
237
237
|
// Note triangle clip-path is defined above with the solid triangle
|
|
238
|
-
|
|
238
|
+
&::after {
|
|
239
239
|
content: "";
|
|
240
240
|
border-radius: 0;
|
|
241
241
|
height: 100%;
|
|
@@ -246,8 +246,8 @@ $config: (
|
|
|
246
246
|
}
|
|
247
247
|
[class*="css-icon--angle"] {
|
|
248
248
|
transform: rotate(135deg);
|
|
249
|
-
|
|
250
|
-
|
|
249
|
+
&::before,
|
|
250
|
+
&::after {
|
|
251
251
|
content: "";
|
|
252
252
|
top: 30%;
|
|
253
253
|
left: 30%;
|
|
@@ -255,14 +255,14 @@ $config: (
|
|
|
255
255
|
transform: none;
|
|
256
256
|
margin-top: 0;
|
|
257
257
|
}
|
|
258
|
-
|
|
258
|
+
&::after {
|
|
259
259
|
width: $stroke-width;
|
|
260
260
|
height: 70%;
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
263
|
@include for-each-stroke() using ($alt-width, $alt-border-radius) {
|
|
264
264
|
&[class*="css-icon--angle"] {
|
|
265
|
-
|
|
265
|
+
&::after {
|
|
266
266
|
width: $alt-width;
|
|
267
267
|
}
|
|
268
268
|
}
|
|
@@ -285,26 +285,26 @@ $config: (
|
|
|
285
285
|
|
|
286
286
|
.css-icon--plus,
|
|
287
287
|
.css-icon--plus-to-minus {
|
|
288
|
-
|
|
288
|
+
&::before {
|
|
289
289
|
transform: translateX(-50%) rotate(90deg);
|
|
290
290
|
}
|
|
291
|
-
|
|
291
|
+
&::after {
|
|
292
292
|
transform: translateX(-50%);
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
295
|
.css-icon--minus {
|
|
296
|
-
|
|
296
|
+
&::before {
|
|
297
297
|
content: none;
|
|
298
298
|
}
|
|
299
|
-
|
|
299
|
+
&::after {
|
|
300
300
|
transform: translateX(-50%);
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
303
|
.css-icon--close {
|
|
304
|
-
|
|
304
|
+
&::before {
|
|
305
305
|
transform: translate(-50%) rotate(45deg);
|
|
306
306
|
}
|
|
307
|
-
|
|
307
|
+
&::after {
|
|
308
308
|
transform: translate(-50%) rotate(-45deg);
|
|
309
309
|
}
|
|
310
310
|
}
|
|
@@ -429,7 +429,7 @@ $config: (
|
|
|
429
429
|
transition: none;
|
|
430
430
|
transform: translate(-50%) rotate(-45deg);
|
|
431
431
|
}
|
|
432
|
-
|
|
432
|
+
&::before {
|
|
433
433
|
box-shadow: none;
|
|
434
434
|
transform: translate(-50%) rotate(45deg);
|
|
435
435
|
}
|
|
@@ -155,8 +155,8 @@ $config: (
|
|
|
155
155
|
$attribute-item: "#{ $attribute }-item";
|
|
156
156
|
$select-grid: '[#{ $attribute }*="columns: #{ $columns }"]';
|
|
157
157
|
$select-item: '[#{ $attribute-item }]';
|
|
158
|
-
$select-rule-col: "
|
|
159
|
-
$select-rule-row: "
|
|
158
|
+
$select-rule-col: "::before";
|
|
159
|
+
$select-rule-row: "::after";
|
|
160
160
|
$select-container: "[#{ $container-attribute }]";
|
|
161
161
|
// These through off syntax highlighting when inside interpolation
|
|
162
162
|
$position-class-column-first: get("position-class-column-first");
|
|
@@ -355,7 +355,7 @@ $config: (
|
|
|
355
355
|
transition: background-color 220ms ease-in-out;
|
|
356
356
|
flex: 0 0 $input-touch-size; // When used in flex container
|
|
357
357
|
// Box / Circle (centered absolute)
|
|
358
|
-
|
|
358
|
+
&::before {
|
|
359
359
|
content: '';
|
|
360
360
|
display: block;
|
|
361
361
|
position: absolute;
|
|
@@ -373,7 +373,7 @@ $config: (
|
|
|
373
373
|
transform: translate(-50%, -50%);
|
|
374
374
|
}
|
|
375
375
|
// Checkmark/ radio
|
|
376
|
-
|
|
376
|
+
&::after {
|
|
377
377
|
content: '';
|
|
378
378
|
display: block;
|
|
379
379
|
position: relative;
|
|
@@ -386,32 +386,32 @@ $config: (
|
|
|
386
386
|
}
|
|
387
387
|
&:focus {
|
|
388
388
|
background-color: color.get(get("check-input-touch-color-focus"));
|
|
389
|
-
|
|
389
|
+
&::before {
|
|
390
390
|
border-color: color.get(get("check-input-border-color-focus"));
|
|
391
391
|
outline: get("check-input-outline-focus");
|
|
392
392
|
}
|
|
393
|
-
|
|
393
|
+
&::after {
|
|
394
394
|
border-color: color.get(get("check-input-mark-color-focus"));
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
397
|
&:hover {
|
|
398
398
|
background-color: color.get(get("check-input-touch-color-hover"));
|
|
399
|
-
|
|
399
|
+
&::before {
|
|
400
400
|
outline: get("check-input-outline-hover");
|
|
401
401
|
background-color: color.get(get("check-input-background-color-hover"));
|
|
402
402
|
border-color: color.get(get("check-input-border-color-hover"));
|
|
403
403
|
}
|
|
404
|
-
|
|
404
|
+
&::after {
|
|
405
405
|
border-color: color.get(get("check-input-mark-color-hover"));
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
408
|
&:checked {
|
|
409
|
-
|
|
409
|
+
&::before {
|
|
410
410
|
background-color: color.get(get("check-input-background-color-checked"));
|
|
411
411
|
border-color: color.get(get("check-input-border-color-checked"));
|
|
412
412
|
outline: get("check-input-outline-checked");
|
|
413
413
|
}
|
|
414
|
-
|
|
414
|
+
&::after {
|
|
415
415
|
opacity: 1;
|
|
416
416
|
border-color: color.get(get("check-input-mark-color-checked"));
|
|
417
417
|
}
|
|
@@ -427,10 +427,10 @@ $config: (
|
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
429
|
[type="checkbox"] {
|
|
430
|
-
|
|
430
|
+
&::before {
|
|
431
431
|
border-radius: -fallback("check-input-border-radius", "input-border-radius");
|
|
432
432
|
}
|
|
433
|
-
|
|
433
|
+
&::after {
|
|
434
434
|
border-radius: 0;
|
|
435
435
|
width: get("check-input-checkmark-width");
|
|
436
436
|
height: get("check-input-checkmark-height");
|
|
@@ -443,11 +443,11 @@ $config: (
|
|
|
443
443
|
}
|
|
444
444
|
&:indeterminate,
|
|
445
445
|
&[aria-checked=mixed] {
|
|
446
|
-
|
|
446
|
+
&::before {
|
|
447
447
|
background-color: color.get(get("check-input-background-color-indeterminate"));
|
|
448
448
|
border-color: color.get(get("check-input-border-color-indeterminate"));
|
|
449
449
|
}
|
|
450
|
-
|
|
450
|
+
&::after {
|
|
451
451
|
border-right: none;
|
|
452
452
|
transform: translatey(50%);
|
|
453
453
|
opacity: 1;
|