@ulu/frontend 0.0.22 → 0.1.0-beta.0
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 +4 -0
- package/deprecated/js/drupal-programmatic-modal.js +91 -0
- package/{js/ui/modals.js → deprecated/js/micromodal-modals.js} +41 -67
- package/dist/ulu-frontend.min.css +1 -1
- package/dist/ulu-frontend.min.js +70 -1
- package/index.js +6 -1
- package/js/events/index.js +58 -7
- package/js/index.js +3 -7
- package/js/{helpers/css-breakpoint.js → ui/breakpoints.js} +9 -11
- package/js/ui/collapsible.js +195 -0
- package/js/ui/dialog.js +157 -0
- package/js/ui/dialog.todo +37 -0
- package/js/ui/flipcard.js +55 -11
- package/js/ui/grid.js +2 -47
- package/js/ui/index.js +21 -0
- package/js/ui/modal-builder.js +197 -0
- package/js/ui/overflow-scroller-pager.js +1 -1
- package/js/ui/overflow-scroller.js +8 -5
- package/js/ui/page.js +14 -0
- package/js/ui/popover.js +135 -0
- package/js/ui/print-details.js +44 -0
- package/js/ui/print.js +67 -0
- package/js/ui/programmatic-modal.js +79 -81
- package/js/ui/proxy-click.js +80 -0
- package/js/ui/resizer.js +3 -3
- package/js/ui/scroll-slider.js +56 -0
- package/js/ui/scrollpoint.js +300 -0
- package/js/ui/slider.js +72 -10
- package/js/ui/tabs.js +85 -58
- package/js/ui/theme-toggle.js +129 -0
- package/js/ui/tooltip.js +268 -67
- package/js/utils/{logger.js → class-logger.js} +6 -5
- package/js/utils/dom.js +122 -0
- package/js/utils/file-save.js +67 -0
- package/js/utils/floating-ui.js +83 -0
- package/js/utils/id.js +22 -0
- package/js/utils/index.js +7 -0
- package/js/{helpers → utils}/pause-youtube-video.js +1 -1
- package/package.json +32 -11
- package/resources/drupal/twig-macros/accordion.twig +99 -0
- package/resources/drupal/twig-macros/dropdown.twig +44 -0
- package/resources/drupal/twig-macros/flipcard.twig +69 -0
- package/resources/drupal/twig-macros/image.twig +30 -0
- package/resources/drupal/twig-macros/layout.twig +338 -0
- package/resources/drupal/twig-macros/slider.twig +214 -0
- package/resources/drupal/twig-macros/tabs.twig +84 -0
- package/scss/README.md +13 -1
- package/scss/_breakpoint.scss +69 -26
- package/scss/_button.scss +148 -57
- package/scss/_color.scss +46 -28
- package/scss/_cssvar.scss +103 -12
- package/scss/_element.scss +84 -67
- package/scss/_index.scss +0 -3
- package/scss/_layout.scss +71 -37
- package/scss/_path.scss +2 -2
- package/scss/_selector.scss +20 -11
- package/scss/_typography.scss +115 -82
- package/scss/_units.scss +14 -13
- package/scss/_utils.scss +280 -18
- package/scss/base/_color.scss +2 -1
- package/scss/base/_elements.scss +61 -35
- package/scss/base/_index.scss +60 -23
- package/scss/base/_keyframes.scss +115 -16
- package/scss/base/_layout.scss +10 -6
- package/scss/base/_normalize.scss +6 -122
- package/scss/base/_print.scss +49 -0
- package/scss/base/_root.scss +28 -0
- package/scss/base/_typography.scss +4 -1
- package/scss/components/_accordion.scss +217 -0
- package/scss/components/_adaptive-spacing.scss +148 -0
- package/scss/components/_badge.scss +17 -14
- package/scss/components/_button-verbose.scss +138 -0
- package/scss/components/_button.scss +9 -4
- package/scss/components/_callout.scss +175 -0
- package/scss/components/_captioned-figure.scss +173 -0
- package/scss/components/_card-grid.scss +75 -0
- package/scss/components/_card.scss +420 -0
- package/scss/components/_css-icon.scss +433 -0
- package/scss/{_grid.scss → components/_data-grid.scss} +100 -68
- package/scss/components/_data-table.scss +180 -0
- package/scss/components/_fill-context.scss +20 -22
- package/scss/components/_flipcard-grid.scss +66 -0
- package/scss/components/_flipcard.scss +304 -0
- package/scss/components/_form-theme.scss +633 -0
- package/scss/components/_hero.scss +183 -0
- package/scss/components/_horizontal-rule.scss +51 -0
- package/scss/components/_image-grid.scss +71 -0
- package/scss/components/_index.scss +276 -38
- package/scss/components/_links.scss +1 -1
- package/scss/components/_list-lines.scss +14 -3
- package/scss/components/_list-ordered.scss +3 -1
- package/scss/components/_list-unordered.scss +3 -1
- package/scss/components/_menu-stack.scss +245 -0
- package/scss/components/_modal.scss +495 -0
- package/scss/components/_nav-strip.scss +148 -0
- package/scss/components/_overlay-section.scss +122 -0
- package/scss/components/_pager.scss +168 -0
- package/scss/components/_placeholder-block.scss +121 -0
- package/scss/components/_popover.scss +263 -0
- package/scss/components/_pull-quote.scss +111 -0
- package/scss/components/_ratio-box.scss +64 -0
- package/scss/components/_rule.scss +12 -9
- package/scss/components/_scroll-slider.scss +204 -0
- package/scss/components/_skip-link.scss +92 -0
- package/scss/components/_slider.scss +241 -0
- package/scss/components/_spoke-spinner.scss +193 -0
- package/scss/components/_tabs.scss +179 -0
- package/scss/components/_tag.scss +142 -0
- package/scss/components/_tile-button.scss +131 -0
- package/scss/components/_tile-grid-overlay.scss +132 -0
- package/scss/components/_tile-grid.scss +172 -0
- package/scss/components/_vignette.scss +65 -0
- package/scss/components/_wysiwyg.scss +94 -0
- package/scss/helpers/_color.scss +1 -0
- package/scss/helpers/_display.scss +2 -1
- package/scss/helpers/_index.scss +45 -22
- package/scss/helpers/_print.scss +20 -43
- package/scss/helpers/_typography.scss +3 -0
- package/scss/helpers/_units.scss +10 -13
- package/scss/helpers/_utilities.scss +5 -1
- package/scss/stylesheets/base-styles.scss +7 -0
- package/scss/stylesheets/component-styles.scss +7 -0
- package/scss/stylesheets/helper-styles.scss +7 -0
- package/types/events/index.d.ts +1 -1
- package/types/events/index.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/{helpers/css-breakpoint.d.ts → ui/breakpoints.d.ts} +3 -3
- package/types/ui/breakpoints.d.ts.map +1 -0
- package/types/ui/collapsible.d.ts +67 -0
- package/types/ui/collapsible.d.ts.map +1 -0
- package/types/ui/dialog.d.ts +42 -0
- package/types/ui/dialog.d.ts.map +1 -0
- package/types/ui/flipcard.d.ts +8 -1
- package/types/ui/flipcard.d.ts.map +1 -1
- package/types/ui/grid.d.ts +0 -11
- package/types/ui/grid.d.ts.map +1 -1
- package/types/ui/index.d.ts +23 -0
- package/types/ui/index.d.ts.map +1 -0
- package/types/ui/modal-builder.d.ts +54 -0
- package/types/ui/modal-builder.d.ts.map +1 -0
- package/types/ui/overflow-scroller-pager.d.ts +1 -1
- package/types/ui/overflow-scroller-pager.d.ts.map +1 -1
- package/types/ui/overflow-scroller.d.ts +3 -1
- package/types/ui/overflow-scroller.d.ts.map +1 -1
- package/types/ui/page.d.ts +5 -0
- package/types/ui/page.d.ts.map +1 -0
- package/types/ui/popover.d.ts +40 -0
- package/types/ui/popover.d.ts.map +1 -0
- package/types/ui/print-details.d.ts +10 -0
- package/types/ui/print-details.d.ts.map +1 -0
- package/types/ui/print.d.ts +10 -0
- package/types/ui/print.d.ts.map +1 -0
- package/types/ui/programmatic-modal.d.ts +19 -1
- package/types/ui/programmatic-modal.d.ts.map +1 -1
- package/types/ui/proxy-click.d.ts +18 -0
- package/types/ui/proxy-click.d.ts.map +1 -0
- package/types/ui/resizer.d.ts +1 -1
- package/types/ui/resizer.d.ts.map +1 -1
- package/types/ui/scroll-slider.d.ts +13 -0
- package/types/ui/scroll-slider.d.ts.map +1 -0
- package/types/ui/scrollpoint.d.ts +133 -0
- package/types/ui/scrollpoint.d.ts.map +1 -0
- package/types/ui/slider.d.ts +14 -2
- package/types/ui/slider.d.ts.map +1 -1
- package/types/ui/tabs.d.ts +22 -0
- package/types/ui/tabs.d.ts.map +1 -1
- package/types/ui/theme-toggle.d.ts +14 -0
- package/types/ui/theme-toggle.d.ts.map +1 -0
- package/types/ui/tooltip.d.ts +92 -10
- package/types/ui/tooltip.d.ts.map +1 -1
- package/types/utils/{logger.d.ts → class-logger.d.ts} +1 -1
- package/types/utils/class-logger.d.ts.map +1 -0
- package/types/utils/dom.d.ts +48 -0
- package/types/utils/dom.d.ts.map +1 -0
- package/types/utils/file-save.d.ts +64 -0
- package/types/utils/file-save.d.ts.map +1 -0
- package/types/utils/floating-ui.d.ts +19 -0
- package/types/utils/floating-ui.d.ts.map +1 -0
- package/types/utils/id.d.ts +10 -0
- package/types/utils/id.d.ts.map +1 -0
- package/types/utils/index.d.ts +9 -0
- package/types/utils/index.d.ts.map +1 -0
- package/types/utils/pause-youtube-video.d.ts.map +1 -0
- package/js/helpers/file-save.js +0 -52
- package/js/helpers/scrollbar-width-property.js +0 -14
- package/project.todo +0 -22
- package/scss/_calculate.scss +0 -64
- package/scss/_utility.scss +0 -12
- package/types/helpers/css-breakpoint.d.ts.map +0 -1
- package/types/helpers/file-save.d.ts +0 -17
- package/types/helpers/file-save.d.ts.map +0 -1
- package/types/helpers/node-data-manager.d.ts +0 -45
- package/types/helpers/node-data-manager.d.ts.map +0 -1
- package/types/helpers/pause-youtube-video.d.ts.map +0 -1
- package/types/helpers/scrollbar-width-property.d.ts +0 -11
- package/types/helpers/scrollbar-width-property.d.ts.map +0 -1
- package/types/ui/modals.d.ts +0 -27
- package/types/ui/modals.d.ts.map +0 -1
- package/types/utils/logger.d.ts.map +0 -1
- package/vite.config.js +0 -36
- /package/{js/deprecated → deprecated/js}/doc-ready.js +0 -0
- /package/{js/deprecated → deprecated/js}/jquery-prototypes.js +0 -0
- /package/{js/deprecated → deprecated/js}/mini-collapsible-popper-positioning.js +0 -0
- /package/{js/deprecated → deprecated/js}/mini-collapsible.js +0 -0
- /package/{js/helpers → deprecated/js}/node-data-manager.js +0 -0
- /package/{js/deprecated → deprecated/js}/script-loader.js +0 -0
- /package/{js/deprecated → deprecated/js}/waypoints/README.md +0 -0
- /package/{js/deprecated → deprecated/js}/waypoints/anchor-menu.js +0 -0
- /package/{js/deprecated → deprecated/js}/waypoints/element-waypoint.js +0 -0
- /package/{js/deprecated → deprecated/js}/waypoints/examples/page-link-menu.md +0 -0
- /package/{js/deprecated → deprecated/js}/waypoints/state-in-attribute.js +0 -0
- /package/types/{helpers → utils}/pause-youtube-video.d.ts +0 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
|
|
2
|
+
////
|
|
3
|
+
/// @group hero
|
|
4
|
+
////
|
|
5
|
+
|
|
6
|
+
@use "sass:map";
|
|
7
|
+
@use "sass:math";
|
|
8
|
+
@use "sass:list";
|
|
9
|
+
|
|
10
|
+
@use "../selector";
|
|
11
|
+
@use "../utils";
|
|
12
|
+
@use "../breakpoint";
|
|
13
|
+
@use "../typography";
|
|
14
|
+
|
|
15
|
+
/// Module Settings
|
|
16
|
+
/// @type Map
|
|
17
|
+
/// @prop {Map} extra-split-ratios [wide 70/30] A map where the name is the modifier and the value is a list with two percentages (the first percentage will be correspond with the graphic or content depending on selector [ie. .hero--split-graphic-[name] would apply the first percentage to the graphic while hero--split-content-[name] would apply the first percentage to the content])
|
|
18
|
+
|
|
19
|
+
$config: (
|
|
20
|
+
"breakpoint" : "medium",
|
|
21
|
+
"height" : 100vh,
|
|
22
|
+
"height-compact" : 40vh,
|
|
23
|
+
"graphic-height-stacked" : 60vh,
|
|
24
|
+
"content-max-width" : 40rem,
|
|
25
|
+
"content-padding-top" : 3rem,
|
|
26
|
+
"content-padding-bottom" : 3rem,
|
|
27
|
+
"text-align" : center,
|
|
28
|
+
"extra-split-ratios" : (
|
|
29
|
+
"wide" : (60%, 40%)
|
|
30
|
+
)
|
|
31
|
+
) !default;
|
|
32
|
+
|
|
33
|
+
/// Change modules $config
|
|
34
|
+
/// @param {Map} $changes Map of changes
|
|
35
|
+
/// @example
|
|
36
|
+
/// @include ulu.component-hero-set(( "property" : value ));
|
|
37
|
+
|
|
38
|
+
@mixin set($changes) {
|
|
39
|
+
$config: map.merge($config, $changes) !global;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/// Get a config option
|
|
43
|
+
/// @param {Map} $name Name of property
|
|
44
|
+
/// @example
|
|
45
|
+
/// @include ulu.component-hero-get("property");
|
|
46
|
+
|
|
47
|
+
@function get($name) {
|
|
48
|
+
@return utils.require-map-get($config, $name, "hero [config]");
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// Prints component styles
|
|
52
|
+
/// @example scss
|
|
53
|
+
/// @include ulu.component-hero-styles();
|
|
54
|
+
|
|
55
|
+
@mixin styles {
|
|
56
|
+
$prefix: selector.class("hero");
|
|
57
|
+
$height: get("height");
|
|
58
|
+
$breakpoint: get("breakpoint");
|
|
59
|
+
|
|
60
|
+
#{ $prefix } {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
text-align: get("text-align");
|
|
64
|
+
}
|
|
65
|
+
#{ $prefix }__content-container {
|
|
66
|
+
padding-top: get("content-padding-top");
|
|
67
|
+
padding-top: get("content-padding-bottom");
|
|
68
|
+
}
|
|
69
|
+
#{ $prefix }__content-inner {
|
|
70
|
+
max-width: get("content-max-width");
|
|
71
|
+
margin-left: auto;
|
|
72
|
+
margin-right: auto;
|
|
73
|
+
}
|
|
74
|
+
#{ $prefix }__graphic {
|
|
75
|
+
position: relative;
|
|
76
|
+
flex-grow: 1;
|
|
77
|
+
width: 100%;
|
|
78
|
+
}
|
|
79
|
+
#{ $prefix }__graphic-media {
|
|
80
|
+
position: absolute;
|
|
81
|
+
top: 0;
|
|
82
|
+
left: 0;
|
|
83
|
+
width: 100%;
|
|
84
|
+
height: 100%;
|
|
85
|
+
object-fit: cover;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
// This doesn't interfere with overlay
|
|
91
|
+
#{ $prefix }--top {
|
|
92
|
+
#{ $prefix }__graphic {
|
|
93
|
+
@include breakpoint.min($breakpoint) {
|
|
94
|
+
order: -1;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// These are shared between overlay and split style
|
|
99
|
+
@include breakpoint.min($breakpoint) {
|
|
100
|
+
#{ $prefix }--right,
|
|
101
|
+
#{ $prefix }--left {
|
|
102
|
+
text-align: right;
|
|
103
|
+
flex-direction: row;
|
|
104
|
+
#{ $prefix }__graphic,
|
|
105
|
+
#{ $prefix }__content {
|
|
106
|
+
flex: 1 0 50%;
|
|
107
|
+
}
|
|
108
|
+
#{ $prefix }__content {
|
|
109
|
+
display: flex;
|
|
110
|
+
flex-direction: column;
|
|
111
|
+
justify-content: center;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
#{ $prefix }--right {
|
|
115
|
+
#{ $prefix }__content-inner {
|
|
116
|
+
margin-right: 0;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
#{ $prefix }--left {
|
|
120
|
+
text-align: left;
|
|
121
|
+
#{ $prefix }__graphic {
|
|
122
|
+
order: -1;
|
|
123
|
+
}
|
|
124
|
+
#{ $prefix }__content-inner {
|
|
125
|
+
margin-left: 0;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
#{ $prefix }--split {
|
|
130
|
+
@include breakpoint.min($breakpoint) {
|
|
131
|
+
min-height: $height;
|
|
132
|
+
}
|
|
133
|
+
#{ $prefix }__graphic {
|
|
134
|
+
@include breakpoint.max($breakpoint) {
|
|
135
|
+
height: get("graphic-height-stacked");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@if get("extra-split-ratios") {
|
|
141
|
+
@include breakpoint.min($breakpoint) {
|
|
142
|
+
@each $name, $ratio in get("extra-split-ratios") {
|
|
143
|
+
#{ $prefix }--split-graphic-#{ $name } #{ $prefix }__graphic,
|
|
144
|
+
#{ $prefix }--split-content-#{ $name } #{ $prefix }__content {
|
|
145
|
+
flex-basis: list.nth($ratio, 1);
|
|
146
|
+
}
|
|
147
|
+
#{ $prefix }--split-graphic-#{ $name } #{ $prefix }__content,
|
|
148
|
+
#{ $prefix }--split-content-#{ $name } #{ $prefix }__graphic {
|
|
149
|
+
flex-basis: list.nth($ratio, 2);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
#{ $prefix }--overlay {
|
|
157
|
+
position: relative;
|
|
158
|
+
justify-content: center;
|
|
159
|
+
min-height: $height;
|
|
160
|
+
#{ $prefix }__content {
|
|
161
|
+
position: relative;
|
|
162
|
+
z-index: 2;
|
|
163
|
+
}
|
|
164
|
+
#{ $prefix }__graphic {
|
|
165
|
+
position: absolute;
|
|
166
|
+
top: 0;
|
|
167
|
+
left: 0;
|
|
168
|
+
right: 0;
|
|
169
|
+
bottom: 0;
|
|
170
|
+
}
|
|
171
|
+
&#{ $prefix }--bottom,
|
|
172
|
+
&#{ $prefix }--bottom #{ $prefix }__content {
|
|
173
|
+
justify-content: flex-end;
|
|
174
|
+
}
|
|
175
|
+
&#{ $prefix }--top,
|
|
176
|
+
&#{ $prefix }--top #{ $prefix }__content {
|
|
177
|
+
justify-content: flex-start;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
#{ $prefix }--compact {
|
|
181
|
+
min-height: get("height-compact");
|
|
182
|
+
}
|
|
183
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group horizontal-rule
|
|
3
|
+
////
|
|
4
|
+
|
|
5
|
+
@use "sass:map";
|
|
6
|
+
@use "../utils";
|
|
7
|
+
@use "../element";
|
|
8
|
+
|
|
9
|
+
/// Module Settings
|
|
10
|
+
/// @type Map
|
|
11
|
+
/// @prop {Dimension} min-height [1em] Min height for rule.
|
|
12
|
+
/// @prop {Dimension} margin [1em] Top and bottom margin for rule.
|
|
13
|
+
|
|
14
|
+
$config: (
|
|
15
|
+
"margin": 1em,
|
|
16
|
+
"min-height": 1em,
|
|
17
|
+
) !default;
|
|
18
|
+
|
|
19
|
+
/// Change modules $config
|
|
20
|
+
/// @param {Map} $changes Map of changes
|
|
21
|
+
/// @example scss
|
|
22
|
+
/// @include ulu.component-horizontal-rule-set(( "property" : value ));
|
|
23
|
+
|
|
24
|
+
@mixin set($changes) {
|
|
25
|
+
$config: map.merge($config, $changes) !global;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/// Get a config option
|
|
29
|
+
/// @param {Map} $name Name of property
|
|
30
|
+
/// @example scss
|
|
31
|
+
/// @include ulu.component-horizontal-rule-get("property");
|
|
32
|
+
|
|
33
|
+
@function get($name) {
|
|
34
|
+
@return utils.require-map-get($config, $name, "horizontal-rule [config]");
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/// Prints adaptive spacing component styles
|
|
38
|
+
/// @example scss
|
|
39
|
+
/// @include ulu.component-horizontal-styles();
|
|
40
|
+
|
|
41
|
+
@mixin styles {
|
|
42
|
+
.horizontal-rule {
|
|
43
|
+
display: inline-block;
|
|
44
|
+
min-height: get("min-height");
|
|
45
|
+
vertical-align: middle;
|
|
46
|
+
border-right: element.get-rule-style();
|
|
47
|
+
margin: 0 get("margin");
|
|
48
|
+
flex-grow: 0;
|
|
49
|
+
align-self: stretch;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group image-grid
|
|
3
|
+
////
|
|
4
|
+
|
|
5
|
+
@use "sass:map";
|
|
6
|
+
@use "sass:math";
|
|
7
|
+
|
|
8
|
+
@use "../selector";
|
|
9
|
+
@use "../utils";
|
|
10
|
+
@use "../breakpoint";
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/// Module Settings
|
|
14
|
+
/// @type Map
|
|
15
|
+
/// @prop {String} breakpoint ["small"] Sets the min breakpoint for the grid to print. This uses breakpoint.scss, so the value of this option should be a breakpoint variable from breakpoint.scss.
|
|
16
|
+
/// @prop {Dimension} gap [3px] The gap between images in the grid.
|
|
17
|
+
/// @prop {Dimension} min-width [math.div(100%, 3)] The min-width of the images in the grid.
|
|
18
|
+
|
|
19
|
+
$config: (
|
|
20
|
+
"breakpoint": "small",
|
|
21
|
+
"gap": 3px,
|
|
22
|
+
"min-width": math.div(100%, 3)
|
|
23
|
+
) !default;
|
|
24
|
+
|
|
25
|
+
/// Change modules $config
|
|
26
|
+
/// @param {Map} $changes Map of changes
|
|
27
|
+
/// @example
|
|
28
|
+
/// @include ulu.component-image-grid-set(( "property" : value ));
|
|
29
|
+
|
|
30
|
+
@mixin set($changes) {
|
|
31
|
+
$config: map.merge($config, $changes) !global;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/// Get a config option
|
|
35
|
+
/// @param {Map} $name Name of property
|
|
36
|
+
/// @example
|
|
37
|
+
/// @include ulu.component-image-grid-get("property");
|
|
38
|
+
|
|
39
|
+
@function get($name) {
|
|
40
|
+
@return utils.require-map-get($config, $name, "image-grid [config]");
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// Prints component styles
|
|
44
|
+
/// @example scss
|
|
45
|
+
/// @include ulu.component-image-grid-styles();
|
|
46
|
+
|
|
47
|
+
@mixin styles {
|
|
48
|
+
|
|
49
|
+
$prefix: selector.class("image-grid");
|
|
50
|
+
$gap: get("gap");
|
|
51
|
+
|
|
52
|
+
#{ $prefix } {
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-wrap: wrap;
|
|
55
|
+
margin: -($gap);
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
}
|
|
58
|
+
#{ $prefix }__item {
|
|
59
|
+
// Have to use borders vs flexbox gap (adds to percentages) @important
|
|
60
|
+
border-bottom: $gap solid transparent;
|
|
61
|
+
border-top: $gap solid transparent;
|
|
62
|
+
@include breakpoint.min(get("breakpoint")) {
|
|
63
|
+
border: $gap solid transparent;
|
|
64
|
+
flex: 1 1;
|
|
65
|
+
min-width: get("min-width");
|
|
66
|
+
}
|
|
67
|
+
> img {
|
|
68
|
+
width: 100%;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -1,75 +1,313 @@
|
|
|
1
1
|
////
|
|
2
|
-
/// @group
|
|
2
|
+
/// @group index
|
|
3
|
+
/// Outputs all component stylesheets, optionally choose to set includes or excludes to narrow down components that are output.
|
|
3
4
|
////
|
|
4
5
|
|
|
5
|
-
@forward "
|
|
6
|
-
@forward "
|
|
6
|
+
@forward "accordion" as accordion-*;
|
|
7
|
+
@forward "adaptive-spacing" as adaptive-spacing-*;
|
|
7
8
|
@forward "badge" as badge-*;
|
|
8
|
-
@forward "
|
|
9
|
+
@forward "button" as button-*;
|
|
10
|
+
@forward "button-verbose" as button-verbose-*;
|
|
11
|
+
@forward "callout" as callout-*;
|
|
12
|
+
@forward "card" as card-*;
|
|
13
|
+
@forward "card-grid" as card-grid-*;
|
|
14
|
+
@forward "css-icon" as css-icon-*;
|
|
15
|
+
@forward "data-grid" as data-grid-*;
|
|
16
|
+
@forward "data-table" as data-table-*;
|
|
17
|
+
@forward "fill-context" as fill-context-*;
|
|
18
|
+
@forward "flipcard" as flipcard-*;
|
|
19
|
+
@forward "flipcard-grid" as flipcard-grid-*;
|
|
20
|
+
@forward "form-theme" as form-theme-*;
|
|
21
|
+
@forward "horizontal-rule" as horizontal-rule-*;
|
|
22
|
+
@forward "image-grid" as image-grid-*;
|
|
23
|
+
@forward "links" as links-*;
|
|
9
24
|
@forward "list-lines" as list-lines-*;
|
|
10
|
-
@forward "list-unordered" as list-unordered-*;
|
|
11
25
|
@forward "list-ordered" as list-ordered-*;
|
|
12
|
-
@forward "
|
|
26
|
+
@forward "list-unordered" as list-unordered-*;
|
|
27
|
+
@forward "menu-stack" as menu-stack-*;
|
|
28
|
+
@forward "modal" as modal-*;
|
|
29
|
+
@forward "nav-strip" as nav-strip-*;
|
|
30
|
+
@forward "overlay-section" as overlay-section-*;
|
|
31
|
+
@forward "pager" as pager-*;
|
|
32
|
+
@forward "placeholder-block" as placeholder-block-*;
|
|
33
|
+
@forward "pull-quote" as pull-quote-*;
|
|
34
|
+
@forward "popover" as popover-*;
|
|
35
|
+
@forward "ratio-box" as ratio-box-*;
|
|
36
|
+
@forward "rule" as rule-*;
|
|
37
|
+
@forward "scroll-slider" as scroll-slider-*;
|
|
38
|
+
@forward "skip-link" as skip-link-*;
|
|
39
|
+
@forward "slider" as slider-*;
|
|
40
|
+
@forward "hero" as hero-*;
|
|
41
|
+
@forward "tabs" as tabs-*;
|
|
42
|
+
@forward "tag" as tag-*;
|
|
43
|
+
@forward "tile-grid" as tile-grid-*;
|
|
44
|
+
@forward "tile-button" as tile-button-*;
|
|
45
|
+
@forward "tile-grid-overlay" as tile-grid-overlay-*;
|
|
46
|
+
@forward "vignette" as vignette-*;
|
|
47
|
+
@forward "captioned-figure" as captioned-figure-*;
|
|
48
|
+
@forward "spoke-spinner" as spoke-spinner-*;
|
|
49
|
+
@forward "wysiwyg" as wysiwyg-*;
|
|
13
50
|
|
|
14
|
-
@use "sass:
|
|
51
|
+
@use "sass:list";
|
|
15
52
|
|
|
16
53
|
@use "../utils";
|
|
17
|
-
@use "
|
|
18
|
-
@use "
|
|
54
|
+
@use "adaptive-spacing";
|
|
55
|
+
@use "accordion";
|
|
19
56
|
@use "badge";
|
|
20
|
-
@use "
|
|
57
|
+
@use "button";
|
|
58
|
+
@use "button-verbose";
|
|
59
|
+
@use "callout";
|
|
60
|
+
@use "card";
|
|
61
|
+
@use "card-grid";
|
|
62
|
+
@use "css-icon";
|
|
63
|
+
@use "data-grid";
|
|
64
|
+
@use "data-table";
|
|
65
|
+
@use "fill-context";
|
|
66
|
+
@use "flipcard";
|
|
67
|
+
@use "flipcard-grid";
|
|
68
|
+
@use "form-theme";
|
|
69
|
+
@use "horizontal-rule";
|
|
70
|
+
@use "image-grid";
|
|
21
71
|
@use "list-lines";
|
|
22
|
-
@use "list-unordered";
|
|
23
72
|
@use "list-ordered";
|
|
24
|
-
@use "
|
|
73
|
+
@use "list-unordered";
|
|
74
|
+
@use "links";
|
|
75
|
+
@use "menu-stack";
|
|
76
|
+
@use "modal";
|
|
77
|
+
@use "nav-strip";
|
|
78
|
+
@use "overlay-section";
|
|
79
|
+
@use "pager";
|
|
80
|
+
@use "placeholder-block";
|
|
81
|
+
@use "popover";
|
|
82
|
+
@use "pull-quote";
|
|
83
|
+
@use "ratio-box";
|
|
84
|
+
@use "rule";
|
|
85
|
+
@use "scroll-slider";
|
|
86
|
+
@use "skip-link";
|
|
87
|
+
@use "slider";
|
|
88
|
+
@use "hero";
|
|
89
|
+
@use "tabs";
|
|
90
|
+
@use "tag";
|
|
91
|
+
@use "tile-grid";
|
|
92
|
+
@use "tile-button";
|
|
93
|
+
@use "tile-grid-overlay";
|
|
94
|
+
@use "vignette";
|
|
95
|
+
@use "captioned-figure";
|
|
96
|
+
@use "spoke-spinner";
|
|
97
|
+
@use "wysiwyg";
|
|
25
98
|
|
|
26
|
-
|
|
99
|
+
/// Default includes, all modules
|
|
100
|
+
/// @type List
|
|
27
101
|
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"badge"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
102
|
+
$all-includes: (
|
|
103
|
+
"accordion",
|
|
104
|
+
"adaptive-spacing",
|
|
105
|
+
"badge",
|
|
106
|
+
"button",
|
|
107
|
+
"button-verbose",
|
|
108
|
+
"callout",
|
|
109
|
+
"card",
|
|
110
|
+
"card-grid",
|
|
111
|
+
"css-icon",
|
|
112
|
+
"data-grid",
|
|
113
|
+
"data-table",
|
|
114
|
+
"fill-context",
|
|
115
|
+
"flipcard",
|
|
116
|
+
"flipcard-grid",
|
|
117
|
+
"form-theme",
|
|
118
|
+
"horizontal-rule",
|
|
119
|
+
"image-grid",
|
|
120
|
+
"links",
|
|
121
|
+
"list-lines",
|
|
122
|
+
"list-ordered",
|
|
123
|
+
"list-unordered",
|
|
124
|
+
"menu-stack",
|
|
125
|
+
"modal",
|
|
126
|
+
"nav-strip",
|
|
127
|
+
"overlay-section",
|
|
128
|
+
"pager",
|
|
129
|
+
"popover",
|
|
130
|
+
"ratio-box",
|
|
131
|
+
"rule",
|
|
132
|
+
"scroll-slider",
|
|
133
|
+
"skip-link",
|
|
134
|
+
"slider",
|
|
135
|
+
"hero",
|
|
136
|
+
"tabs",
|
|
137
|
+
"tag",
|
|
138
|
+
"tile-grid",
|
|
139
|
+
"tile-button",
|
|
140
|
+
"tile-grid-overlay",
|
|
141
|
+
"placeholder-block",
|
|
142
|
+
"pull-quote",
|
|
143
|
+
"vignette",
|
|
144
|
+
"captioned-figure",
|
|
145
|
+
"spoke-spinner",
|
|
146
|
+
"wysiwyg",
|
|
37
147
|
);
|
|
38
148
|
|
|
149
|
+
/// Current included modules (for output when using styles), defaults to all
|
|
150
|
+
/// @type List
|
|
151
|
+
|
|
152
|
+
$current-includes: $all-includes;
|
|
153
|
+
|
|
154
|
+
/// Change default includes (when user prints modules)
|
|
155
|
+
/// - This available as configuration so that it can be configured (to allow easily copying configuration)
|
|
156
|
+
/// @param {List} $includes List of modules by name to be included when styles are printed
|
|
157
|
+
|
|
158
|
+
@mixin set-includes($includes) {
|
|
159
|
+
@include utils.require-list-contains($all-includes, $includes, "components.set-includes", true);
|
|
160
|
+
$current-includes: $includes !global;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/// Exclude certain items from includes
|
|
164
|
+
/// @param {List} $excludes List of item names
|
|
165
|
+
|
|
166
|
+
@mixin set-excludes($excludes) {
|
|
167
|
+
$current-includes: utils.list-without($current-includes, $excludes) !global;
|
|
168
|
+
}
|
|
169
|
+
|
|
39
170
|
/// Prints all Components styles
|
|
40
171
|
/// @name component-styles
|
|
41
|
-
/// @param {List} $includes A list of
|
|
172
|
+
/// @param {List} $includes [$all-includes] A list of components to include (defaults to all)
|
|
42
173
|
/// @example scss
|
|
43
174
|
/// @include ulu.component-styles();
|
|
44
175
|
|
|
45
|
-
@mixin styles($includes:
|
|
176
|
+
@mixin styles($includes: $current-includes) {
|
|
46
177
|
@include utils.file-header("components");
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
178
|
+
|
|
179
|
+
@include utils.require-list-contains($all-includes, $includes, "components.$includes", true);
|
|
180
|
+
|
|
181
|
+
@if (list.index($includes, "accordion")) {
|
|
182
|
+
@include accordion.styles;
|
|
50
183
|
}
|
|
51
|
-
@if (
|
|
52
|
-
@include
|
|
184
|
+
@if (list.index($includes, "adaptive-spacing")) {
|
|
185
|
+
@include adaptive-spacing.styles;
|
|
53
186
|
}
|
|
54
|
-
@if (
|
|
187
|
+
@if (list.index($includes, "hero")) {
|
|
188
|
+
@include hero.styles;
|
|
189
|
+
}
|
|
190
|
+
@if (list.index($includes, "button")) {
|
|
55
191
|
@include button.styles;
|
|
56
192
|
}
|
|
57
|
-
@if (
|
|
193
|
+
@if (list.index($includes, "button-verbose")) {
|
|
194
|
+
@include button-verbose.styles;
|
|
195
|
+
}
|
|
196
|
+
@if (list.index($includes, "badge")) {
|
|
58
197
|
@include badge.styles;
|
|
59
198
|
}
|
|
60
|
-
@if (
|
|
61
|
-
@include
|
|
199
|
+
@if (list.index($includes, "tag")) {
|
|
200
|
+
@include tag.styles;
|
|
201
|
+
}
|
|
202
|
+
@if (list.index($includes, "callout")) {
|
|
203
|
+
@include callout.styles;
|
|
204
|
+
}
|
|
205
|
+
@if (list.index($includes, "card")) {
|
|
206
|
+
@include card.styles;
|
|
207
|
+
}
|
|
208
|
+
@if (list.index($includes, "card-grid")) {
|
|
209
|
+
@include card-grid.styles;
|
|
62
210
|
}
|
|
63
|
-
@if (
|
|
211
|
+
@if (list.index($includes, "css-icon")) {
|
|
212
|
+
@include css-icon.styles;
|
|
213
|
+
}
|
|
214
|
+
@if (list.index($includes, "data-grid")) {
|
|
215
|
+
@include data-grid.styles;
|
|
216
|
+
}
|
|
217
|
+
@if (list.index($includes, "data-table")) {
|
|
218
|
+
@include data-table.styles;
|
|
219
|
+
}
|
|
220
|
+
@if (list.index($includes, "fill-context")) {
|
|
221
|
+
@include fill-context.styles;
|
|
222
|
+
}
|
|
223
|
+
@if (list.index($includes, "flipcard")) {
|
|
224
|
+
@include flipcard.styles;
|
|
225
|
+
}
|
|
226
|
+
@if (list.index($includes, "flipcard-grid")) {
|
|
227
|
+
@include flipcard-grid.styles;
|
|
228
|
+
}
|
|
229
|
+
@if (list.index($includes, "form-theme")) {
|
|
230
|
+
@include form-theme.styles;
|
|
231
|
+
}
|
|
232
|
+
@if (list.index($includes, "horizontal-rule")) {
|
|
233
|
+
@include horizontal-rule.styles;
|
|
234
|
+
}
|
|
235
|
+
@if (list.index($includes, "image-grid")) {
|
|
236
|
+
@include image-grid.styles;
|
|
237
|
+
}
|
|
238
|
+
@if (list.index($includes, "links")) {
|
|
239
|
+
@include links.styles;
|
|
240
|
+
}
|
|
241
|
+
@if (list.index($includes, "list-lines")) {
|
|
64
242
|
@include list-lines.styles;
|
|
65
243
|
}
|
|
66
|
-
@if (
|
|
244
|
+
@if (list.index($includes, "list-unordered")) {
|
|
67
245
|
@include list-unordered.styles;
|
|
68
246
|
}
|
|
69
|
-
@if (
|
|
247
|
+
@if (list.index($includes, "list-ordered")) {
|
|
70
248
|
@include list-ordered.styles;
|
|
71
249
|
}
|
|
72
|
-
@if (
|
|
73
|
-
@include
|
|
250
|
+
@if (list.index($includes, "menu-stack")) {
|
|
251
|
+
@include menu-stack.styles;
|
|
252
|
+
}
|
|
253
|
+
@if (list.index($includes, "modal")) {
|
|
254
|
+
@include modal.styles;
|
|
255
|
+
}
|
|
256
|
+
@if (list.index($includes, "nav-strip")) {
|
|
257
|
+
@include nav-strip.styles;
|
|
258
|
+
}
|
|
259
|
+
@if (list.index($includes, "overlay-section")) {
|
|
260
|
+
@include overlay-section.styles;
|
|
261
|
+
}
|
|
262
|
+
@if (list.index($includes, "pager")) {
|
|
263
|
+
@include pager.styles;
|
|
264
|
+
}
|
|
265
|
+
@if (list.index($includes, "placeholder-block")) {
|
|
266
|
+
@include placeholder-block.styles;
|
|
267
|
+
}
|
|
268
|
+
@if (list.index($includes, "popover")) {
|
|
269
|
+
@include popover.styles;
|
|
270
|
+
}
|
|
271
|
+
@if (list.index($includes, "pull-quote")) {
|
|
272
|
+
@include pull-quote.styles;
|
|
273
|
+
}
|
|
274
|
+
@if (list.index($includes, "ratio-box")) {
|
|
275
|
+
@include ratio-box.styles;
|
|
276
|
+
}
|
|
277
|
+
@if (list.index($includes, "rule")) {
|
|
278
|
+
@include rule.styles;
|
|
279
|
+
}
|
|
280
|
+
@if (list.index($includes, "scroll-slider")) {
|
|
281
|
+
@include scroll-slider.styles;
|
|
282
|
+
}
|
|
283
|
+
@if (list.index($includes, "skip-link")) {
|
|
284
|
+
@include skip-link.styles;
|
|
285
|
+
}
|
|
286
|
+
@if (list.index($includes, "slider")) {
|
|
287
|
+
@include slider.styles;
|
|
288
|
+
}
|
|
289
|
+
@if (list.index($includes, "tabs")) {
|
|
290
|
+
@include tabs.styles;
|
|
291
|
+
}
|
|
292
|
+
@if (list.index($includes, "tile-grid")) {
|
|
293
|
+
@include tile-grid.styles;
|
|
294
|
+
}
|
|
295
|
+
@if (list.index($includes, "tile-button")) {
|
|
296
|
+
@include tile-button.styles;
|
|
297
|
+
}
|
|
298
|
+
@if (list.index($includes, "tile-grid-overlay")) {
|
|
299
|
+
@include tile-grid-overlay.styles;
|
|
300
|
+
}
|
|
301
|
+
@if (list.index($includes, "vignette")) {
|
|
302
|
+
@include vignette.styles;
|
|
303
|
+
}
|
|
304
|
+
@if (list.index($includes, "captioned-figure")) {
|
|
305
|
+
@include captioned-figure.styles;
|
|
306
|
+
}
|
|
307
|
+
@if (list.index($includes, "spoke-spinner")) {
|
|
308
|
+
@include spoke-spinner.styles;
|
|
309
|
+
}
|
|
310
|
+
@if (list.index($includes, "wysiwyg")) {
|
|
311
|
+
@include wysiwyg.styles;
|
|
74
312
|
}
|
|
75
313
|
}
|