@ulu/frontend 0.1.0-beta.5 → 0.1.0-beta.7

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.
Files changed (167) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/docs-dev/demos/accordion/index.html +90 -0
  3. package/docs-dev/demos/button/index.html +90 -0
  4. package/docs-dev/demos/callout/index.html +90 -0
  5. package/docs-dev/demos/captioned-figure/index.html +90 -0
  6. package/docs-dev/demos/card/index.html +90 -0
  7. package/docs-dev/demos/css-icons/index.html +90 -0
  8. package/docs-dev/demos/data-grid/index.html +90 -0
  9. package/docs-dev/demos/data-table/index.html +115 -25
  10. package/docs-dev/demos/file-save/index.html +90 -0
  11. package/docs-dev/demos/flipcard/index.html +90 -0
  12. package/docs-dev/demos/form-theme/index.html +90 -0
  13. package/docs-dev/demos/index.html +90 -0
  14. package/docs-dev/demos/list-inline/index.html +4727 -0
  15. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  16. package/docs-dev/demos/list-lines/index.html +4717 -0
  17. package/docs-dev/demos/menu-stack/index.html +90 -0
  18. package/docs-dev/demos/modals/index.html +90 -0
  19. package/docs-dev/demos/nav-strip/index.html +90 -0
  20. package/docs-dev/demos/overlay-section/index.html +90 -0
  21. package/docs-dev/demos/popovers/index.html +90 -0
  22. package/docs-dev/demos/print/index.html +90 -0
  23. package/docs-dev/demos/pull-quote/index.html +90 -0
  24. package/docs-dev/demos/rule/index.html +90 -0
  25. package/docs-dev/demos/scrollpoints/index.html +90 -0
  26. package/docs-dev/demos/spoke-spinner/index.html +90 -0
  27. package/docs-dev/demos/tabs/index.html +90 -0
  28. package/docs-dev/demos/tag/index.html +90 -0
  29. package/docs-dev/demos/tiles/index.html +90 -0
  30. package/docs-dev/demos/tooltip/index.html +90 -0
  31. package/docs-dev/guide/building-stylesheet/index.html +90 -0
  32. package/docs-dev/guide/developing-ulu-scss-module/index.html +90 -0
  33. package/docs-dev/guide/index.html +90 -0
  34. package/docs-dev/index.html +90 -0
  35. package/docs-dev/javascript/events/index.html +90 -0
  36. package/docs-dev/javascript/index.html +90 -0
  37. package/docs-dev/javascript/ui-breakpoints/index.html +90 -0
  38. package/docs-dev/javascript/ui-collapsible/index.html +90 -0
  39. package/docs-dev/javascript/ui-dialog/index.html +90 -0
  40. package/docs-dev/javascript/ui-flipcard/index.html +90 -0
  41. package/docs-dev/javascript/ui-grid/index.html +90 -0
  42. package/docs-dev/javascript/ui-modal-builder/index.html +90 -0
  43. package/docs-dev/javascript/ui-overflow-scroller/index.html +90 -0
  44. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +90 -0
  45. package/docs-dev/javascript/ui-page/index.html +90 -0
  46. package/docs-dev/javascript/ui-popover/index.html +90 -0
  47. package/docs-dev/javascript/ui-print/index.html +90 -0
  48. package/docs-dev/javascript/ui-print-details/index.html +90 -0
  49. package/docs-dev/javascript/ui-programmatic-modal/index.html +90 -0
  50. package/docs-dev/javascript/ui-proxy-click/index.html +90 -0
  51. package/docs-dev/javascript/ui-resizer/index.html +90 -0
  52. package/docs-dev/javascript/ui-scroll-slider/index.html +90 -0
  53. package/docs-dev/javascript/ui-scrollpoint/index.html +90 -0
  54. package/docs-dev/javascript/ui-slider/index.html +90 -0
  55. package/docs-dev/javascript/ui-tabs/index.html +90 -0
  56. package/docs-dev/javascript/ui-tooltip/index.html +90 -0
  57. package/docs-dev/javascript/utils-class-logger/index.html +90 -0
  58. package/docs-dev/javascript/utils-dom/index.html +90 -0
  59. package/docs-dev/javascript/utils-file-save/index.html +90 -0
  60. package/docs-dev/javascript/utils-floating-ui/index.html +90 -0
  61. package/docs-dev/javascript/utils-id/index.html +90 -0
  62. package/docs-dev/javascript/utils-pause-youtube-video/index.html +90 -0
  63. package/docs-dev/sass/base/color/index.html +90 -0
  64. package/docs-dev/sass/base/elements/index.html +90 -0
  65. package/docs-dev/sass/base/index/index.html +90 -0
  66. package/docs-dev/sass/base/index.html +90 -0
  67. package/docs-dev/sass/base/keyframes/index.html +90 -0
  68. package/docs-dev/sass/base/layout/index.html +90 -0
  69. package/docs-dev/sass/base/normalize/index.html +90 -0
  70. package/docs-dev/sass/base/print/index.html +90 -0
  71. package/docs-dev/sass/base/root/index.html +90 -0
  72. package/docs-dev/sass/base/typography/index.html +90 -0
  73. package/docs-dev/sass/components/accordion/index.html +95 -5
  74. package/docs-dev/sass/components/adaptive-spacing/index.html +90 -0
  75. package/docs-dev/sass/components/badge/index.html +98 -8
  76. package/docs-dev/sass/components/button/index.html +90 -0
  77. package/docs-dev/sass/components/button-verbose/index.html +90 -0
  78. package/docs-dev/sass/components/callout/index.html +108 -14
  79. package/docs-dev/sass/components/captioned-figure/index.html +98 -8
  80. package/docs-dev/sass/components/card/index.html +100 -10
  81. package/docs-dev/sass/components/card-grid/index.html +90 -0
  82. package/docs-dev/sass/components/css-icon/index.html +100 -10
  83. package/docs-dev/sass/components/data-grid/index.html +90 -0
  84. package/docs-dev/sass/components/data-table/index.html +90 -0
  85. package/docs-dev/sass/components/fill-context/index.html +90 -0
  86. package/docs-dev/sass/components/flipcard/index.html +98 -8
  87. package/docs-dev/sass/components/flipcard-grid/index.html +90 -0
  88. package/docs-dev/sass/components/form-theme/index.html +90 -0
  89. package/docs-dev/sass/components/hero/index.html +90 -0
  90. package/docs-dev/sass/components/horizontal-rule/index.html +90 -0
  91. package/docs-dev/sass/components/image-grid/index.html +90 -0
  92. package/docs-dev/sass/components/index/index.html +101 -10
  93. package/docs-dev/sass/components/index.html +90 -0
  94. package/docs-dev/sass/components/links/index.html +90 -0
  95. package/docs-dev/sass/components/list-inline/index.html +4908 -0
  96. package/docs-dev/sass/components/list-lines/index.html +122 -36
  97. package/docs-dev/sass/components/list-ordered/index.html +92 -2
  98. package/docs-dev/sass/components/list-unordered/index.html +90 -0
  99. package/docs-dev/sass/components/menu-stack/index.html +90 -0
  100. package/docs-dev/sass/components/modal/index.html +105 -8
  101. package/docs-dev/sass/components/nav-strip/index.html +91 -1
  102. package/docs-dev/sass/components/overlay-section/index.html +98 -8
  103. package/docs-dev/sass/components/pager/index.html +90 -0
  104. package/docs-dev/sass/components/placeholder-block/index.html +90 -0
  105. package/docs-dev/sass/components/popover/index.html +90 -0
  106. package/docs-dev/sass/components/pull-quote/index.html +90 -0
  107. package/docs-dev/sass/components/ratio-box/index.html +90 -0
  108. package/docs-dev/sass/components/rule/index.html +98 -8
  109. package/docs-dev/sass/components/scroll-slider/index.html +90 -0
  110. package/docs-dev/sass/components/skip-link/index.html +98 -8
  111. package/docs-dev/sass/components/slider/index.html +95 -5
  112. package/docs-dev/sass/components/spoke-spinner/index.html +90 -0
  113. package/docs-dev/sass/components/tabs/index.html +90 -0
  114. package/docs-dev/sass/components/tag/index.html +90 -0
  115. package/docs-dev/sass/components/tile-button/index.html +90 -0
  116. package/docs-dev/sass/components/tile-grid/index.html +90 -0
  117. package/docs-dev/sass/components/tile-grid-overlay/index.html +90 -0
  118. package/docs-dev/sass/components/vignette/index.html +90 -0
  119. package/docs-dev/sass/components/wysiwyg/index.html +90 -0
  120. package/docs-dev/sass/core/breakpoint/index.html +90 -0
  121. package/docs-dev/sass/core/button/index.html +90 -0
  122. package/docs-dev/sass/core/color/index.html +120 -29
  123. package/docs-dev/sass/core/cssvar/index.html +90 -0
  124. package/docs-dev/sass/core/element/index.html +90 -0
  125. package/docs-dev/sass/core/index.html +90 -0
  126. package/docs-dev/sass/core/layout/index.html +90 -0
  127. package/docs-dev/sass/core/path/index.html +90 -0
  128. package/docs-dev/sass/core/selector/index.html +90 -0
  129. package/docs-dev/sass/core/typography/index.html +90 -0
  130. package/docs-dev/sass/core/units/index.html +90 -0
  131. package/docs-dev/sass/core/utils/index.html +90 -0
  132. package/docs-dev/sass/helpers/color/index.html +90 -0
  133. package/docs-dev/sass/helpers/display/index.html +90 -0
  134. package/docs-dev/sass/helpers/index/index.html +90 -0
  135. package/docs-dev/sass/helpers/index.html +90 -0
  136. package/docs-dev/sass/helpers/print/index.html +90 -0
  137. package/docs-dev/sass/helpers/typography/index.html +90 -0
  138. package/docs-dev/sass/helpers/units/index.html +90 -0
  139. package/docs-dev/sass/helpers/utilities/index.html +90 -0
  140. package/docs-dev/sass/index.html +90 -0
  141. package/package.json +1 -1
  142. package/scss/_color.scss +1 -0
  143. package/scss/components/_accordion.scss +13 -13
  144. package/scss/components/_badge.scss +3 -2
  145. package/scss/components/_button-verbose.scss +2 -2
  146. package/scss/components/_callout.scss +6 -5
  147. package/scss/components/_captioned-figure.scss +6 -5
  148. package/scss/components/_card.scss +16 -15
  149. package/scss/components/_css-icon.scss +8 -7
  150. package/scss/components/_flipcard.scss +13 -12
  151. package/scss/components/_form-theme.scss +28 -28
  152. package/scss/components/_index.scss +6 -0
  153. package/scss/components/_list-inline.scss +80 -0
  154. package/scss/components/_list-lines.scss +44 -33
  155. package/scss/components/_list-ordered.scss +0 -1
  156. package/scss/components/_modal.scss +16 -13
  157. package/scss/components/_nav-strip.scss +3 -1
  158. package/scss/components/_overlay-section.scss +2 -1
  159. package/scss/components/_pager.scss +6 -6
  160. package/scss/components/_placeholder-block.scss +4 -4
  161. package/scss/components/_popover.scss +9 -9
  162. package/scss/components/_rule.scss +0 -1
  163. package/scss/components/_scroll-slider.scss +1 -1
  164. package/scss/components/_skip-link.scss +2 -1
  165. package/scss/components/_slider.scss +11 -11
  166. package/scss/components/_tabs.scss +1 -1
  167. package/scss/components/_tag.scss +1 -1
@@ -9,6 +9,7 @@
9
9
  @use "../breakpoint";
10
10
  @use "../utils";
11
11
  @use "../selector";
12
+ @use "../color";
12
13
 
13
14
  // todo
14
15
  // sass color adjust for smooth transition. Add a comment for this if we can’t get to this
@@ -167,8 +168,8 @@ $config: (
167
168
  $prefix: selector.class("card");
168
169
 
169
170
  #{ $prefix } {
170
- color: get("color");
171
- background-color: get("background-color");
171
+ color: color.get(get("color"));
172
+ background-color: color.get(get("background-color"));
172
173
  border-radius: get("border-radius");
173
174
  box-shadow: get("box-shadow");
174
175
  margin-top: get("margin-y");
@@ -197,15 +198,15 @@ $config: (
197
198
  }
198
199
 
199
200
  @include when-clickable($hover: true) {
200
- background-color: get("background-color-hover");
201
- color: get("color-hover");
201
+ background-color: color.get(get("background-color-hover"));
202
+ color: color.get(get("color-hover"));
202
203
  box-shadow: get("box-shadow-hover");
203
204
 
204
205
  @if (get("border-hover") or get("overlay-background-color-hover")) {
205
206
  &:after {
206
207
  content: "";
207
208
  border: get("border-hover");
208
- background-color: get("overlay-background-color-hover");
209
+ background-color: color.get(get("overlay-background-color-hover"));
209
210
  }
210
211
  }
211
212
  }
@@ -222,14 +223,14 @@ $config: (
222
223
  }
223
224
 
224
225
  #{ $prefix }__title {
225
- color: get("title-color");
226
+ color: color.get(get("title-color"));
226
227
  margin-bottom: get("title-margin");
227
228
  display: block;
228
229
  font-weight: get("title-font-weight");
229
230
  @if get("title-color-hover") {
230
231
  &:hover,
231
232
  &:focus {
232
- color: get("title-color-hover");
233
+ color: color.get(get("title-color-hover"));
233
234
  }
234
235
  }
235
236
  #{ $prefix }__title-link {
@@ -239,7 +240,7 @@ $config: (
239
240
  @if get("title-color-hover") {
240
241
  @include when-clickable($hover: true) {
241
242
  #{ $prefix }__title {
242
- color: get("title-color-hover");
243
+ color: color.get(get("title-color-hover"));
243
244
  }
244
245
  }
245
246
  }
@@ -257,7 +258,7 @@ $config: (
257
258
  // padding-top: get("image-ratio"); // 9:16
258
259
  margin: get("image-margin");
259
260
  border: get("image-border");
260
- background-color: get("image-background-color");
261
+ background-color: color.get(get("image-background-color"));
261
262
  border-top-right-radius: get("border-radius");
262
263
  border-top-left-radius: get("border-radius");
263
264
  aspect-ratio: get("image-aspect-ratio");
@@ -340,8 +341,8 @@ $config: (
340
341
  position: relative;
341
342
  flex-grow: 0;
342
343
  z-index: 2;
343
- color: get("color-overlay");
344
- background-color: get("overlay-background-color");
344
+ color: color.get(get("color-overlay"));
345
+ background-color: color.get(get("overlay-background-color"));
345
346
  min-height: 0;
346
347
  padding-top: get("overlay-body-padding-y");
347
348
  padding-bottom: get("overlay-body-padding-y");
@@ -359,11 +360,11 @@ $config: (
359
360
  }
360
361
  }
361
362
  #{ $prefix }__footer {
362
- background-color: get("overlay-background-color");
363
- color: get("color-overlay");
363
+ background-color: color.get(get("overlay-background-color"));
364
+ color: color.get(get("color-overlay"));
364
365
  }
365
366
  #{ $prefix }__title {
366
- color: get("color-overlay");
367
+ color: color.get(get("color-overlay"));
367
368
  }
368
369
  #{ $prefix }__image {
369
370
  position: absolute;
@@ -373,7 +374,7 @@ $config: (
373
374
  right: 0;
374
375
  overflow: hidden;
375
376
  padding-top: 0;
376
- background-color: rgb(255, 255, 255);
377
+ background-color: color.get(rgb(255, 255, 255));
377
378
  border-radius: get("border-radius");
378
379
  aspect-ratio: auto;
379
380
  img {
@@ -17,6 +17,7 @@
17
17
 
18
18
  @use "sass:map";
19
19
  @use "sass:math";
20
+ @use "../color";
20
21
 
21
22
  @use "../utils";
22
23
 
@@ -100,7 +101,7 @@ $config: (
100
101
  /// @include ulu.component-css-icon-styles();
101
102
 
102
103
  @mixin styles {
103
- $border: get("stroke-width") solid get("color");
104
+ $border: get("stroke-width") solid color.get(get("color"));
104
105
  $size: get("size");
105
106
  $stroke-width: get("stroke-width");
106
107
  $half-height: math.div(get("size"), 2);
@@ -130,7 +131,7 @@ $config: (
130
131
  height: $stroke-width;
131
132
  top: 50%;
132
133
  left: 50%;
133
- background-color: get("color");
134
+ background-color: color.get(get("color"));
134
135
  transform: translateX(-50%);
135
136
  margin-top: -($half-stroke-width);
136
137
  border-radius: get("stroke-border-radius");
@@ -158,7 +159,7 @@ $config: (
158
159
  // Solid icons
159
160
  [class*="css-icon--circle"],
160
161
  [class*="css-icon--square"] {
161
- background-color: get("color");
162
+ background-color: color.get(get("color"));
162
163
  }
163
164
  [class*="css-icon--circle"] {
164
165
  border-radius: 50%;
@@ -192,7 +193,7 @@ $config: (
192
193
  font-family: get("font-family");
193
194
  font-weight: bold;
194
195
  margin-top: get("text-offset");
195
- color: get("color");
196
+ color: color.get(get("color"));
196
197
  height: auto;
197
198
  left: 0;
198
199
  right: 0;
@@ -222,7 +223,7 @@ $config: (
222
223
  // Arrow uses same equilateral triangle
223
224
  [class*="css-icon--triangle"],
224
225
  [class*="css-icon--arrow"]::after {
225
- background-color: get("color");
226
+ background-color: color.get(get("color"));
226
227
  clip-path: polygon(10% 10%, 90% 50%, 10% 90%);
227
228
  }
228
229
  [class*="css-icon--arrow"] {
@@ -344,7 +345,7 @@ $config: (
344
345
  margin-top: 0;
345
346
  }
346
347
  &::before {
347
- box-shadow: 0px ($stroke-width * 2 + 1px) get("color");
348
+ box-shadow: 0px ($stroke-width * 2 + 1px) color.get(get("color"));
348
349
  margin-bottom: ($stroke-width * 3) + 2px;
349
350
  }
350
351
  }
@@ -352,7 +353,7 @@ $config: (
352
353
  &.css-icon--menu,
353
354
  &.css-icon--menu-to-close {
354
355
  &::before {
355
- box-shadow: 0px ($alt-width * 2 + 1px) get("color");
356
+ box-shadow: 0px ($alt-width * 2 + 1px) color.get(get("color"));
356
357
  margin-bottom: ($alt-width * 3) + 2px;
357
358
  }
358
359
  }
@@ -5,6 +5,7 @@
5
5
  /// Creates adaptive (changing at breakpoints)n between items (vertical/horizontal layout)
6
6
 
7
7
  @use "sass:map";
8
+ @use "../color";
8
9
  @use "../utils";
9
10
  @use "../selector";
10
11
 
@@ -90,14 +91,14 @@ $config: (
90
91
 
91
92
  #{ $prefix } {
92
93
  height: 100%;
93
- background-color: get("background-color");
94
+ background-color: color.get(get("background-color"));
94
95
  line-height: 1.4;
95
96
  overflow: hidden;
96
97
  position: relative;
97
98
  border: get("border");
98
99
  border-radius: get("border-radius");
99
100
  &#{ $prefix }:hover {
100
- border-color: get("border-color-hover");
101
+ border-color: color.get(get("border-color-hover"));
101
102
  }
102
103
  #{ $prefix }__control-button:focus {
103
104
  border: get("control-button-border-focus");
@@ -123,10 +124,10 @@ $config: (
123
124
  transform: scale(1.15);
124
125
  }
125
126
  #{ $prefix }__front-content {
126
- color: get("title-color-hover");
127
+ color: color.get(get("title-color-hover"));
127
128
  }
128
129
  #{ $prefix }__icon {
129
- color: get("icon-color-hover");
130
+ color: color.get(get("icon-color-hover"));
130
131
  }
131
132
  }
132
133
  @media (prefers-reduced-motion: no-preference) {
@@ -140,14 +141,14 @@ $config: (
140
141
  }
141
142
  }
142
143
  #{ $prefix }--w-image {
143
- background-color: get("background-color-image");
144
+ background-color: color.get(get("background-color-image"));
144
145
 
145
146
  &:hover {
146
147
  #{ $prefix }__front-content {
147
- color: get("title-color-image-hover");
148
+ color: color.get(get("title-color-image-hover"));
148
149
  }
149
150
  #{ $prefix }__icon {
150
- color: get("icon-color-image-hover");
151
+ color: color.get(get("icon-color-image-hover"));
151
152
  }
152
153
  }
153
154
  }
@@ -168,7 +169,7 @@ $config: (
168
169
  }
169
170
  }
170
171
  #{ $prefix }__icon {
171
- color: get('icon-color');
172
+ color: color.get(get('icon-color'));
172
173
  display: block;
173
174
  margin-top: 0.5rem;
174
175
  }
@@ -177,7 +178,7 @@ $config: (
177
178
  display: flex;
178
179
  flex-direction: column;
179
180
  justify-content: flex-end;
180
- color: get("title-color");
181
+ color: color.get(get("title-color"));
181
182
  position: relative;
182
183
  z-index: 2;
183
184
  padding: get('padding');
@@ -186,10 +187,10 @@ $config: (
186
187
  }
187
188
  #{ $prefix }--w-image {
188
189
  #{ $prefix }__icon {
189
- color: get("icon-color-image");
190
+ color: color.get(get("icon-color-image"));
190
191
  }
191
192
  #{ $prefix }__front-content {
192
- color: get("title-color-image");
193
+ color: color.get(get("title-color-image"));
193
194
  @if(get("bottom-shadow")) {
194
195
  // bottom position includes padding so that the shadow
195
196
  &:after {
@@ -207,7 +208,7 @@ $config: (
207
208
  }
208
209
  }
209
210
  #{ $prefix }__back {
210
- background-color: get("background-color-back");
211
+ background-color: color.get(get("background-color-back"));
211
212
  padding: get('padding');
212
213
  justify-content: flex-end;
213
214
  [data-flipcard-state="open"] & {
@@ -258,7 +258,7 @@ $config: (
258
258
  textarea,
259
259
  label,
260
260
  legend {
261
- color: get("color");
261
+ color: color.get(get("color"));
262
262
  font-size: 1em;
263
263
  max-width: 100%;
264
264
  line-height: typography.get("line-height-dense");
@@ -291,7 +291,7 @@ $config: (
291
291
  [type="password"],
292
292
  [type="file"] {
293
293
  padding: get("input-padding-y") get("input-padding-x");
294
- background-color: get("input-background-color");
294
+ background-color: color.get(get("input-background-color"));
295
295
  border-radius: get("input-border-radius");
296
296
  transition: border linear 0.2s;
297
297
  border: get("input-border");
@@ -307,7 +307,7 @@ $config: (
307
307
  font-weight: get("font-weight-select");
308
308
  border: get("select-border");
309
309
  border-radius: get("select-border-radius");
310
- background-color: get("select-background-color");
310
+ background-color: color.get(get("select-background-color"));
311
311
  padding: -fallback("select-padding-y", "input-padding-y") -fallback("select-padding-x", "input-padding-x");
312
312
  border: -fallback("select-border", "input-border");
313
313
  @if get("select-image") {
@@ -365,39 +365,39 @@ $config: (
365
365
  opacity: 0;
366
366
  transform: rotate(45deg);
367
367
  transition: opacity ease-out 150ms;
368
- border: get("check-input-radio-size") solid get("check-input-mark-color");
368
+ border: get("check-input-radio-size") solid color.get(get("check-input-mark-color"));
369
369
  border-radius: 50%;
370
370
  }
371
371
  &:focus {
372
- background-color: get("check-input-touch-color-focus");
372
+ background-color: color.get(get("check-input-touch-color-focus"));
373
373
  &:before {
374
- border-color: get("check-input-border-color-focus");
374
+ border-color: color.get(get("check-input-border-color-focus"));
375
375
  outline: get("check-input-outline-focus");
376
376
  }
377
377
  &:after {
378
- border-color: get("check-input-mark-color-focus");
378
+ border-color: color.get(get("check-input-mark-color-focus"));
379
379
  }
380
380
  }
381
381
  &:hover {
382
- background-color: get("check-input-touch-color-hover");
382
+ background-color: color.get(get("check-input-touch-color-hover"));
383
383
  &:before {
384
384
  outline: get("check-input-outline-hover");
385
- background-color: get("check-input-background-color-hover");
386
- border-color: get("check-input-border-color-hover");
385
+ background-color: color.get(get("check-input-background-color-hover"));
386
+ border-color: color.get(get("check-input-border-color-hover"));
387
387
  }
388
388
  &:after {
389
- border-color: get("check-input-mark-color-hover");
389
+ border-color: color.get(get("check-input-mark-color-hover"));
390
390
  }
391
391
  }
392
392
  &:checked {
393
393
  &:before {
394
- background-color: get("check-input-background-color-checked");
395
- border-color: get("check-input-border-color-checked");
394
+ background-color: color.get(get("check-input-background-color-checked"));
395
+ border-color: color.get(get("check-input-border-color-checked"));
396
396
  outline: get("check-input-outline-checked");
397
397
  }
398
398
  &:after {
399
399
  opacity: 1;
400
- border-color: get("check-input-mark-color-checked");
400
+ border-color: color.get(get("check-input-mark-color-checked"));
401
401
  }
402
402
  }
403
403
 
@@ -428,15 +428,15 @@ $config: (
428
428
  &:indeterminate,
429
429
  &[aria-checked=mixed] {
430
430
  &:before {
431
- background-color: get("check-input-background-color-indeterminate");
432
- border-color: get("check-input-border-color-indeterminate");
431
+ background-color: color.get(get("check-input-background-color-indeterminate"));
432
+ border-color: color.get(get("check-input-border-color-indeterminate"));
433
433
  }
434
434
  &:after {
435
435
  border-right: none;
436
436
  transform: translatey(50%);
437
437
  opacity: 1;
438
438
  height: get("check-input-checkmark-stroke-size");
439
- border-color: get("check-input-mark-color-indeterminate");
439
+ border-color: color.get(get("check-input-mark-color-indeterminate"));
440
440
  }
441
441
  }
442
442
  }
@@ -449,7 +449,7 @@ $config: (
449
449
  margin-top: get("fieldset-margin-top");
450
450
  margin-bottom: get("fieldset-margin-bottom");
451
451
  border: get("fieldset-border");
452
- background-color: get("fieldset-background");
452
+ background-color: color.get(get("fieldset-background"));
453
453
  border-radius: get("fieldset-border-radius");
454
454
  padding: get("fieldset-padding");
455
455
 
@@ -467,7 +467,7 @@ $config: (
467
467
  padding-bottom: 0.5em;
468
468
  padding-top: 0.5em;
469
469
  border-bottom: get("fieldset-legend-border-bottom");
470
- color: get("fieldset-legend-color");
470
+ color: color.get(get("fieldset-legend-color"));
471
471
  }
472
472
  & ~ * {
473
473
  clear: left;
@@ -475,12 +475,12 @@ $config: (
475
475
  }
476
476
  &#{ $selectError } {
477
477
  > legend {
478
- color: $errorColor;
478
+ color: color.get($errorColor);
479
479
  }
480
480
  }
481
481
  &#{ $selectWarning } {
482
482
  > legend {
483
- color: $warningColor;
483
+ color: color.get($warningColor);
484
484
  }
485
485
  }
486
486
  }
@@ -502,7 +502,7 @@ $config: (
502
502
  font-style: italic;
503
503
  @include typography.size("small", null, true);
504
504
  max-width: get("description-max-width");
505
- color: get("description-color");
505
+ color: color.get(get("description-color"));
506
506
  }
507
507
 
508
508
  /// Styles for form item that should have label as block and text input
@@ -550,8 +550,8 @@ $config: (
550
550
  margin-bottom: get("input-margin-y");
551
551
  border-radius: get("item-border-radius");
552
552
  flex-shrink: 0; // Cannot be smaller than content within
553
- @include -form-item-state($selectError, $errorColor, get("error-highlight-color"));
554
- @include -form-item-state($selectWarning, $warningColor, get("warning-highlight-color"));
553
+ @include -form-item-state($selectError, $errorColor, color.get(get("error-highlight-color")));
554
+ @include -form-item-state($selectWarning, $warningColor, color.get(get("warning-highlight-color")));
555
555
  }
556
556
  #{ $prefix }__item--align-top {
557
557
  align-items: flex-start;
@@ -578,10 +578,10 @@ $config: (
578
578
  }
579
579
  }
580
580
  #{ $prefix }__error {
581
- color: $errorColor;
581
+ color: color.get($errorColor);
582
582
  }
583
583
  #{ $prefix }__warning {
584
- color: $warningColor;
584
+ color: color.get($warningColor);
585
585
  }
586
586
  }
587
587
 
@@ -622,12 +622,12 @@ $config: (
622
622
  // outline: get("item-outline-width") solid $highlightColor;
623
623
  box-shadow: 0 0 0 get("item-highlight-width") $highlightColor;
624
624
  label {
625
- color: $color;
625
+ color: color.get($color);
626
626
  }
627
627
  select,
628
628
  textarea,
629
629
  input:not([type="checkbox"]):not([type="radio"]) {
630
- border-color: $color;
630
+ border-color: color.get($color);
631
631
  }
632
632
  }
633
633
  }
@@ -22,6 +22,7 @@
22
22
  @forward "image-grid" as image-grid-*;
23
23
  @forward "links" as links-*;
24
24
  @forward "list-lines" as list-lines-*;
25
+ @forward "list-inline" as list-inline-*;
25
26
  @forward "list-ordered" as list-ordered-*;
26
27
  @forward "list-unordered" as list-unordered-*;
27
28
  @forward "menu-stack" as menu-stack-*;
@@ -69,6 +70,7 @@
69
70
  @use "horizontal-rule";
70
71
  @use "image-grid";
71
72
  @use "list-lines";
73
+ @use "list-inline";
72
74
  @use "list-ordered";
73
75
  @use "list-unordered";
74
76
  @use "links";
@@ -119,6 +121,7 @@ $all-includes: (
119
121
  "image-grid",
120
122
  "links",
121
123
  "list-lines",
124
+ "list-inline",
122
125
  "list-ordered",
123
126
  "list-unordered",
124
127
  "menu-stack",
@@ -241,6 +244,9 @@ $current-includes: $all-includes;
241
244
  @if (list.index($includes, "list-lines")) {
242
245
  @include list-lines.styles;
243
246
  }
247
+ @if (list.index($includes, "list-inline")) {
248
+ @include list-inline.styles;
249
+ }
244
250
  @if (list.index($includes, "list-unordered")) {
245
251
  @include list-unordered.styles;
246
252
  }
@@ -0,0 +1,80 @@
1
+ ////
2
+ /// @group list-inline
3
+ ////
4
+
5
+ @use "sass:map";
6
+
7
+ @use "../element";
8
+ @use "../selector";
9
+ @use "../utils";
10
+
11
+ /// Module Config
12
+ /// @prop {String} rule-style ["light"] Name of element > rule style to use for divider/border
13
+ /// @prop {Dimension} margin-top [0] Top margin of list.
14
+ /// @prop {Dimension} margin-bottom [1em] Bottom margin of list.
15
+ /// @prop {Dimension} space-between [1em] Gap between item and dividers
16
+ /// @prop {Dimension} space-between-large [1em] Gap between item and dividers when using large-gap modifier
17
+
18
+ $config: (
19
+ "rule-style" : "light",
20
+ "margin-top": 0,
21
+ "margin-bottom": 1em,
22
+ "space-between" : 1em,
23
+ "space-between-large" : 2em
24
+ ) !default;
25
+
26
+ /// Change modules $config
27
+ /// @param {Map} $changes Map of changes
28
+ /// @example scss
29
+ /// @include ulu.component-list-inline-set(( "property" : value ));
30
+
31
+ @mixin set($changes) {
32
+ $config: map.merge($config, $changes) !global;
33
+ }
34
+
35
+ /// Get a config option
36
+ /// @param {Map} $name Name of property
37
+ /// @example scss
38
+ /// @include ulu.component-list-inline-get("property");
39
+
40
+ @function get($name) {
41
+ @return utils.require-map-get($config, $name, "list-inline [config]");
42
+ }
43
+
44
+ /// Output component stylesheet
45
+ /// @example scss
46
+ /// @include ulu.component-list-inline-styles();
47
+
48
+ @mixin styles {
49
+ $prefix: selector.class("list-inline");
50
+ $border: element.get-rule-style(get("rule-style"));
51
+
52
+ ul#{ $prefix },
53
+ #{ $prefix } ul {
54
+ list-style: none;
55
+ display: inline-flex;
56
+ flex-wrap: wrap;
57
+ margin: get("margin-top") 0 get("margin-bottom") 0;
58
+ }
59
+ #{ $prefix } {
60
+ li {
61
+ // Not using flex gap because we would need to position
62
+ // pseudo for divider, so we would still need to use math
63
+ // So custom properties couldn't be used (no benefit)
64
+ padding-right: get("space-between");
65
+ margin-right: get("space-between");
66
+ border-right: $border;
67
+ &:last-child {
68
+ border-right: none;
69
+ padding-right: 0;
70
+ margin-right: 0;
71
+ }
72
+ }
73
+ }
74
+ #{ $prefix }--large-gap {
75
+ li {
76
+ padding-right: get("space-between-large");
77
+ margin-right: get("space-between-large");
78
+ }
79
+ }
80
+ }
@@ -3,25 +3,40 @@
3
3
  ////
4
4
 
5
5
  @use "sass:map";
6
+ @use "sass:meta";
6
7
 
7
8
  @use "../element";
8
- @use "../color";
9
9
  @use "../typography";
10
+ @use "../selector";
10
11
  @use "../utils";
11
12
 
13
+ // Used for function fallback
14
+ $-fallbacks: (
15
+ "dense-line-height" : (
16
+ "function" : meta.get-function("get", false, "typography"),
17
+ "property" : "line-height-dense"
18
+ ),
19
+ );
20
+
12
21
  /// Module Config
13
22
  /// @prop {Boolean} border-first [true] If enabled, adds a top border to the first item in list-lines.
14
23
  /// @prop {Boolean} border-last [true] If enabled, adds a bottom border to the last item in list-lines.
24
+ /// @prop {String} rule-style ["light"] Name of element > rule style to use for divider/border
15
25
  /// @prop {Dimension} margin-bottom [1em] Bottom margin of list.
16
26
  /// @prop {Dimension} margin-top [0] Top margin of list.
17
27
  /// @prop {Dimension} padding-between [1em] Padding between items in list.
28
+ /// @prop {Dimension} padding-between [1em] Padding between items in list when using dense modifier
29
+ /// @prop {Dimension} line-height-dense [true] Line height when list lines has dense modifier (defaults to typography line-height-dense)
18
30
 
19
31
  $config: (
20
32
  "border-first" : true,
21
33
  "border-last" : true,
22
34
  "margin-bottom": 1em,
23
35
  "margin-top": 0,
24
- "padding-between" : 1em
36
+ "rule-style" : "light",
37
+ "padding-between" : 1em,
38
+ "dense-padding-between" : 0.65em,
39
+ "dense-line-height" : true
25
40
  ) !default;
26
41
 
27
42
  /// Change modules $config
@@ -39,31 +54,8 @@ $config: (
39
54
  /// @include ulu.component-list-lines-get("property");
40
55
 
41
56
  @function get($name) {
42
- @return utils.require-map-get($config, $name, "grid [config]");
43
- }
44
-
45
- /// Output component styles
46
-
47
- @mixin inner-styles {
48
- $border: element.get-rule-style("light") !default;
49
- list-style: none;
50
- margin: get("margin-top") 0 get("margin-bottom") 0;
51
- padding: 0;
52
- @if (get("border-first")) {
53
- border-top: $border;
54
- }
55
- >li {
56
- border-bottom: $border;
57
- padding: get("padding-between") 0;
58
- >*:last-child {
59
- margin-bottom: 0;
60
- }
61
- @if (not get("border-last")) {
62
- &:last-child {
63
- border-bottom-width: 0;
64
- }
65
- }
66
- }
57
+ $value: utils.require-map-get($config, $name, "list-lines [config]");
58
+ @return utils.function-fallback($name, $value, $-fallbacks);
67
59
  }
68
60
 
69
61
  /// Output component stylesheet
@@ -71,14 +63,33 @@ $config: (
71
63
  /// @include ulu.component-list-lines-styles();
72
64
 
73
65
  @mixin styles {
74
-
75
- .list-lines {
76
- @include inner-styles;
66
+ $prefix: selector.class("list-lines");
67
+ $border: element.get-rule-style(get("rule-style"));
68
+
69
+ #{ $prefix } {
70
+ list-style: none;
71
+ margin: get("margin-top") 0 get("margin-bottom") 0;
72
+ padding: 0;
73
+ @if (get("border-first")) {
74
+ border-top: $border;
75
+ }
76
+ >li {
77
+ border-bottom: $border;
78
+ padding: get("padding-between") 0;
79
+ >*:last-child {
80
+ margin-bottom: 0;
81
+ }
82
+ @if (not get("border-last")) {
83
+ &:last-child {
84
+ border-bottom-width: 0;
85
+ }
86
+ }
87
+ }
77
88
  }
78
- .list-lines--dense {
89
+ #{ $prefix }--dense {
79
90
  >li {
80
- padding: 0.5em 0;
81
- line-height: typography.get("line-height-dense");
91
+ padding: get("dense-padding-between") 0;
92
+ line-height: get("dense-line-height");
82
93
  }
83
94
  }
84
95
  }
@@ -3,7 +3,6 @@
3
3
  ////
4
4
 
5
5
  @use "../element";
6
- @use "../color";
7
6
  @use "../selector";
8
7
 
9
8
  /// Output component stylesheet