@ulu/frontend 0.1.0-beta.2 → 0.1.0-beta.20

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 (225) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +18 -18
  4. package/docs-dev/changelog/index.html +5397 -0
  5. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  6. package/docs-dev/demos/accordion/index.html +636 -293
  7. package/docs-dev/demos/basic-hero/index.html +111 -0
  8. package/docs-dev/demos/button/index.html +636 -293
  9. package/docs-dev/demos/callout/index.html +661 -305
  10. package/docs-dev/demos/captioned-figure/index.html +636 -293
  11. package/docs-dev/demos/card/index.html +636 -293
  12. package/docs-dev/demos/css-icons/index.html +636 -293
  13. package/docs-dev/demos/data-grid/index.html +744 -481
  14. package/docs-dev/demos/data-table/index.html +661 -318
  15. package/docs-dev/demos/details-group/index.html +4994 -0
  16. package/docs-dev/demos/file-save/index.html +636 -293
  17. package/docs-dev/demos/flipcard/index.html +636 -293
  18. package/docs-dev/demos/form-theme/index.html +654 -324
  19. package/docs-dev/demos/hero/index.html +12 -4
  20. package/docs-dev/demos/image-grid/index.html +12 -4
  21. package/docs-dev/demos/index.html +636 -293
  22. package/docs-dev/demos/list-inline/index.html +4980 -0
  23. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  24. package/docs-dev/demos/list-lines/index.html +4970 -0
  25. package/docs-dev/demos/menu-stack/index.html +655 -312
  26. package/docs-dev/demos/modals/index.html +636 -293
  27. package/docs-dev/demos/nav-strip/index.html +656 -349
  28. package/docs-dev/demos/overlay-section/index.html +636 -293
  29. package/docs-dev/demos/popovers/index.html +636 -293
  30. package/docs-dev/demos/print/index.html +636 -293
  31. package/docs-dev/demos/pull-quote/index.html +636 -293
  32. package/docs-dev/demos/rule/index.html +636 -293
  33. package/docs-dev/demos/scroll-slider/index.html +12 -4
  34. package/docs-dev/demos/scrollpoints/index.html +636 -293
  35. package/docs-dev/demos/slider/index.html +12 -4
  36. package/docs-dev/demos/spoke-spinner/index.html +636 -293
  37. package/docs-dev/demos/tabs/index.html +648 -293
  38. package/docs-dev/demos/tag/index.html +636 -293
  39. package/docs-dev/demos/theme-toggle/index.html +5039 -0
  40. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  41. package/docs-dev/demos/tiles/index.html +636 -293
  42. package/docs-dev/demos/tooltip/index.html +636 -293
  43. package/docs-dev/guide/building-stylesheet/index.html +636 -293
  44. package/docs-dev/guide/developing-ulu-scss-module/index.html +636 -293
  45. package/docs-dev/guide/index.html +637 -294
  46. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  47. package/docs-dev/index.html +641 -293
  48. package/docs-dev/javascript/events/index.html +633 -292
  49. package/docs-dev/javascript/index.html +636 -293
  50. package/docs-dev/javascript/settings/index.html +5094 -0
  51. package/docs-dev/javascript/ui-breakpoints/index.html +633 -292
  52. package/docs-dev/javascript/ui-collapsible/index.html +633 -292
  53. package/docs-dev/javascript/ui-details-group/index.html +5094 -0
  54. package/docs-dev/javascript/ui-dialog/index.html +633 -292
  55. package/docs-dev/javascript/ui-flipcard/index.html +633 -292
  56. package/docs-dev/javascript/ui-grid/index.html +633 -292
  57. package/docs-dev/javascript/ui-modal-builder/index.html +633 -292
  58. package/docs-dev/javascript/ui-overflow-scroller/index.html +633 -292
  59. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +633 -292
  60. package/docs-dev/javascript/ui-page/index.html +633 -292
  61. package/docs-dev/javascript/ui-popover/index.html +633 -292
  62. package/docs-dev/javascript/ui-print/index.html +633 -292
  63. package/docs-dev/javascript/ui-print-details/index.html +633 -292
  64. package/docs-dev/javascript/ui-programmatic-modal/index.html +633 -292
  65. package/docs-dev/javascript/ui-proxy-click/index.html +633 -292
  66. package/docs-dev/javascript/ui-resizer/index.html +633 -292
  67. package/docs-dev/javascript/ui-scroll-slider/index.html +633 -292
  68. package/docs-dev/javascript/ui-scrollpoint/index.html +633 -292
  69. package/docs-dev/javascript/ui-slider/index.html +633 -292
  70. package/docs-dev/javascript/ui-tabs/index.html +633 -292
  71. package/docs-dev/javascript/ui-theme-toggle/index.html +5178 -0
  72. package/docs-dev/javascript/ui-tooltip/index.html +633 -292
  73. package/docs-dev/javascript/utils-class-logger/index.html +633 -292
  74. package/docs-dev/javascript/utils-dom/index.html +697 -296
  75. package/docs-dev/javascript/utils-file-save/index.html +633 -292
  76. package/docs-dev/javascript/utils-floating-ui/index.html +633 -292
  77. package/docs-dev/javascript/utils-id/index.html +633 -292
  78. package/docs-dev/javascript/utils-pause-youtube-video/index.html +633 -292
  79. package/docs-dev/sass/base/color/index.html +633 -292
  80. package/docs-dev/sass/base/elements/index.html +633 -292
  81. package/docs-dev/sass/base/index/index.html +633 -292
  82. package/docs-dev/sass/base/index.html +636 -293
  83. package/docs-dev/sass/base/keyframes/index.html +633 -292
  84. package/docs-dev/sass/base/layout/index.html +633 -292
  85. package/docs-dev/sass/base/normalize/index.html +633 -292
  86. package/docs-dev/sass/base/print/index.html +633 -292
  87. package/docs-dev/sass/base/root/index.html +633 -292
  88. package/docs-dev/sass/base/typography/index.html +633 -292
  89. package/docs-dev/sass/components/accordion/index.html +638 -297
  90. package/docs-dev/sass/components/adaptive-spacing/index.html +633 -292
  91. package/docs-dev/sass/components/badge/index.html +641 -300
  92. package/docs-dev/sass/components/basic-hero/index.html +5145 -0
  93. package/docs-dev/sass/components/button/index.html +633 -292
  94. package/docs-dev/sass/components/button-verbose/index.html +634 -293
  95. package/docs-dev/sass/components/callout/index.html +658 -353
  96. package/docs-dev/sass/components/captioned-figure/index.html +756 -300
  97. package/docs-dev/sass/components/card/index.html +665 -309
  98. package/docs-dev/sass/components/card-grid/index.html +633 -292
  99. package/docs-dev/sass/components/css-icon/index.html +650 -302
  100. package/docs-dev/sass/components/data-grid/index.html +633 -292
  101. package/docs-dev/sass/components/data-table/index.html +829 -303
  102. package/docs-dev/sass/components/fill-context/index.html +633 -292
  103. package/docs-dev/sass/components/flipcard/index.html +641 -300
  104. package/docs-dev/sass/components/flipcard-grid/index.html +633 -292
  105. package/docs-dev/sass/components/form-theme/index.html +761 -319
  106. package/docs-dev/sass/components/hero/index.html +689 -300
  107. package/docs-dev/sass/components/horizontal-rule/index.html +633 -292
  108. package/docs-dev/sass/components/image-grid/index.html +633 -292
  109. package/docs-dev/sass/components/index/index.html +645 -302
  110. package/docs-dev/sass/components/index.html +636 -293
  111. package/docs-dev/sass/components/links/index.html +633 -292
  112. package/docs-dev/sass/components/list-inline/index.html +5159 -0
  113. package/docs-dev/sass/components/list-lines/index.html +665 -328
  114. package/docs-dev/sass/components/list-ordered/index.html +635 -294
  115. package/docs-dev/sass/components/list-unordered/index.html +633 -292
  116. package/docs-dev/sass/components/menu-stack/index.html +667 -313
  117. package/docs-dev/sass/components/modal/index.html +654 -306
  118. package/docs-dev/sass/components/nav-strip/index.html +645 -304
  119. package/docs-dev/sass/components/overlay-section/index.html +641 -300
  120. package/docs-dev/sass/components/pager/index.html +633 -292
  121. package/docs-dev/sass/components/placeholder-block/index.html +633 -292
  122. package/docs-dev/sass/components/popover/index.html +663 -292
  123. package/docs-dev/sass/components/pull-quote/index.html +645 -304
  124. package/docs-dev/sass/components/ratio-box/index.html +633 -292
  125. package/docs-dev/sass/components/rule/index.html +641 -300
  126. package/docs-dev/sass/components/scroll-slider/index.html +633 -292
  127. package/docs-dev/sass/components/skip-link/index.html +641 -300
  128. package/docs-dev/sass/components/slider/index.html +640 -299
  129. package/docs-dev/sass/components/spoke-spinner/index.html +633 -292
  130. package/docs-dev/sass/components/tabs/index.html +648 -300
  131. package/docs-dev/sass/components/tag/index.html +633 -292
  132. package/docs-dev/sass/components/tile-button/index.html +633 -292
  133. package/docs-dev/sass/components/tile-grid/index.html +633 -292
  134. package/docs-dev/sass/components/tile-grid-overlay/index.html +633 -292
  135. package/docs-dev/sass/components/vignette/index.html +647 -300
  136. package/docs-dev/sass/components/wysiwyg/index.html +633 -292
  137. package/docs-dev/sass/core/breakpoint/index.html +633 -292
  138. package/docs-dev/sass/core/button/index.html +633 -292
  139. package/docs-dev/sass/core/color/index.html +671 -323
  140. package/docs-dev/sass/core/cssvar/index.html +633 -292
  141. package/docs-dev/sass/core/element/index.html +633 -292
  142. package/docs-dev/sass/core/index.html +633 -292
  143. package/docs-dev/sass/core/layout/index.html +633 -292
  144. package/docs-dev/sass/core/path/index.html +633 -292
  145. package/docs-dev/sass/core/selector/index.html +633 -292
  146. package/docs-dev/sass/core/typography/index.html +633 -292
  147. package/docs-dev/sass/core/units/index.html +633 -292
  148. package/docs-dev/sass/core/utils/index.html +633 -292
  149. package/docs-dev/sass/helpers/color/index.html +633 -292
  150. package/docs-dev/sass/helpers/display/index.html +633 -292
  151. package/docs-dev/sass/helpers/index/index.html +633 -292
  152. package/docs-dev/sass/helpers/index.html +636 -293
  153. package/docs-dev/sass/helpers/print/index.html +633 -292
  154. package/docs-dev/sass/helpers/typography/index.html +633 -292
  155. package/docs-dev/sass/helpers/units/index.html +633 -292
  156. package/docs-dev/sass/helpers/utilities/index.html +633 -292
  157. package/docs-dev/sass/index.html +636 -293
  158. package/js/index.js +1 -0
  159. package/js/settings.js +78 -0
  160. package/js/ui/details-group.js +121 -0
  161. package/js/ui/index.js +1 -0
  162. package/js/ui/modal-builder.js +3 -2
  163. package/js/ui/overflow-scroller.js +5 -4
  164. package/js/ui/programmatic-modal.js +9 -3
  165. package/js/ui/slider.js +7 -6
  166. package/js/ui/theme-toggle.js +330 -89
  167. package/js/utils/dom.js +43 -1
  168. package/js/utils/font-awesome.js +18 -0
  169. package/js/utils/index.js +2 -1
  170. package/package.json +3 -2
  171. package/scss/_color.scss +9 -2
  172. package/scss/components/README.todos +14 -0
  173. package/scss/components/_accordion.scss +13 -13
  174. package/scss/components/_badge.scss +3 -2
  175. package/scss/components/_basic-hero.scss +112 -0
  176. package/scss/components/_button-verbose.scss +3 -2
  177. package/scss/components/_callout.scss +43 -54
  178. package/scss/components/_captioned-figure.scss +23 -5
  179. package/scss/components/_card-grid.scss +1 -1
  180. package/scss/components/_card.scss +52 -37
  181. package/scss/components/_css-icon.scss +16 -11
  182. package/scss/components/_data-table.scss +41 -4
  183. package/scss/components/_flipcard.scss +13 -12
  184. package/scss/components/_form-theme.scss +47 -47
  185. package/scss/components/_hero.scss +9 -0
  186. package/scss/components/_index.scss +12 -0
  187. package/scss/components/_list-inline.scss +80 -0
  188. package/scss/components/_list-lines.scss +44 -33
  189. package/scss/components/_list-ordered.scss +0 -1
  190. package/scss/components/_menu-stack.scss +42 -26
  191. package/scss/components/_modal.scss +23 -19
  192. package/scss/components/_nav-strip.scss +25 -16
  193. package/scss/components/_overlay-section.scss +2 -1
  194. package/scss/components/_pager.scss +6 -6
  195. package/scss/components/_placeholder-block.scss +4 -4
  196. package/scss/components/_popover.scss +38 -38
  197. package/scss/components/_pull-quote.scss +12 -12
  198. package/scss/components/_rule.scss +0 -1
  199. package/scss/components/_scroll-slider.scss +1 -1
  200. package/scss/components/_skip-link.scss +2 -1
  201. package/scss/components/_slider.scss +17 -38
  202. package/scss/components/_tabs.scss +42 -52
  203. package/scss/components/_tag.scss +1 -1
  204. package/scss/components/_vignette.scss +1 -0
  205. package/types/index.d.ts +1 -0
  206. package/types/settings.d.ts +38 -0
  207. package/types/settings.d.ts.map +1 -0
  208. package/types/ui/details-group.d.ts +43 -0
  209. package/types/ui/details-group.d.ts.map +1 -0
  210. package/types/ui/index.d.ts +1 -0
  211. package/types/ui/modal-builder.d.ts +2 -2
  212. package/types/ui/modal-builder.d.ts.map +1 -1
  213. package/types/ui/overflow-scroller.d.ts +2 -2
  214. package/types/ui/overflow-scroller.d.ts.map +1 -1
  215. package/types/ui/programmatic-modal.d.ts.map +1 -1
  216. package/types/ui/slider.d.ts +2 -2
  217. package/types/ui/slider.d.ts.map +1 -1
  218. package/types/ui/tabs.d.ts.map +1 -1
  219. package/types/ui/theme-toggle.d.ts +58 -7
  220. package/types/ui/theme-toggle.d.ts.map +1 -1
  221. package/types/utils/dom.d.ts +19 -1
  222. package/types/utils/dom.d.ts.map +1 -1
  223. package/types/utils/font-awesome.d.ts +5 -0
  224. package/types/utils/font-awesome.d.ts.map +1 -0
  225. package/types/utils/index.d.ts +1 -0
@@ -15,10 +15,10 @@
15
15
 
16
16
  /// Module Settings
17
17
  /// @type Map
18
- /// @prop {} color [inherit]
19
- /// @prop {} color-placeholder ["type-tertiary"]
18
+ /// @prop {CssValue} color [inherit] Color of the text of the form.
19
+ /// @prop {CssValue} color-placeholder ["type-tertiary"] Color for the placeh
20
20
  /// @prop {} drupal [false]
21
- /// @prop {} error-color ["error"]
21
+ /// @prop {} error-color ["danger"]
22
22
  /// @prop {} error-highlight-color [rgb(251, 242, 242)]
23
23
  /// @prop {} error-selector [".is-danger"]
24
24
  /// @prop {} file-button-style [true]
@@ -37,7 +37,7 @@
37
37
  /// @prop {} input-background-color [white]
38
38
  /// @prop {} item-border-radius [null]
39
39
  /// @prop {} item-highlight-width [6px]
40
- /// @prop {} required-color ["error"]
40
+ /// @prop {} required-color ["danger"]
41
41
  /// @prop {} text-input-margin-bottom [0.5em]
42
42
  /// @prop {} text-input-margin-top [1em]
43
43
  /// @prop {} warning-color ["warning"]
@@ -82,9 +82,11 @@
82
82
  /// @prop {} fieldset-margin-top [1rem]
83
83
  /// @prop {} fieldset-padding [0]
84
84
  /// @prop {} fieldset-margin-compact [0]
85
+ /// @prop {} fieldset-border-bottom [0]
85
86
  /// @prop {} fieldset-border-radius [0]
86
87
  /// @prop {} fieldset-legend-color [inherit]
87
88
  /// @prop {} fieldset-legend-border-bottom [null]
89
+ /// @prop {} fieldset-legend-padding-bottom [null]
88
90
  /// @prop {} select-border-radius [4px]
89
91
  /// @prop {} select-background-color [null]
90
92
  /// @prop {} select-border [null]
@@ -94,12 +96,13 @@
94
96
  /// @prop {} select-image-size [0.9em]
95
97
  /// @prop {} select-image-offset [0.7em]
96
98
  /// @prop {} select-image-margin [0.65em]
99
+ /// @prop {Unit} inline-gap [1em] Gap between items that are inline like checkboxes
97
100
 
98
101
  $config: (
99
102
  "color" : inherit,
100
103
  "color-placeholder" : "type-tertiary",
101
104
  "drupal" : false,
102
- "error-color" : "error",
105
+ "error-color" : "danger",
103
106
  "error-highlight-color" : rgb(251, 242, 242),
104
107
  "error-selector" : ".is-danger",
105
108
  "file-button-style" : true,
@@ -111,14 +114,14 @@ $config: (
111
114
  "font-weight-select" : null,
112
115
  "input-border" : element.get-rule-style(),
113
116
  "input-border-radius" : 0,
114
- "input-margin-y" : 0.75em,
117
+ "item-margin-y" : 0.75em,
115
118
  "input-padding-x" : 0.5em,
116
119
  "input-padding-y" : 0.25em,
117
120
  "input-min-width" : 10em,
118
121
  "input-background-color" : white,
119
122
  "item-border-radius" : null,
120
123
  "item-highlight-width" : 6px,
121
- "required-color" : "error",
124
+ "required-color" : "danger",
122
125
  "text-input-margin-bottom" : 0.5em,
123
126
  "text-input-margin-top" : 1em,
124
127
  "warning-color" : "warning",
@@ -166,6 +169,8 @@ $config: (
166
169
  "fieldset-border-radius" : 0,
167
170
  "fieldset-legend-color" : inherit,
168
171
  "fieldset-legend-border-bottom" : null,
172
+ "fieldset-legend-padding-bottom" : 0,
173
+ "fieldset-legend-margin-bottom" : 0.5em,
169
174
  "select-border-radius" : 4px,
170
175
  "select-background-color" : null,
171
176
  "select-border" : null,
@@ -175,6 +180,7 @@ $config: (
175
180
  "select-image-size" : 0.9em,
176
181
  "select-image-offset" : 0.7em,
177
182
  "select-image-margin" : 0.65em,
183
+ "inline-gap" : 1em
178
184
  ) !default;
179
185
 
180
186
  /// Change modules $config
@@ -258,7 +264,7 @@ $config: (
258
264
  textarea,
259
265
  label,
260
266
  legend {
261
- color: get("color");
267
+ color: color.get(get("color"));
262
268
  font-size: 1em;
263
269
  max-width: 100%;
264
270
  line-height: typography.get("line-height-dense");
@@ -291,7 +297,7 @@ $config: (
291
297
  [type="password"],
292
298
  [type="file"] {
293
299
  padding: get("input-padding-y") get("input-padding-x");
294
- background-color: get("input-background-color");
300
+ background-color: color.get(get("input-background-color"));
295
301
  border-radius: get("input-border-radius");
296
302
  transition: border linear 0.2s;
297
303
  border: get("input-border");
@@ -305,9 +311,8 @@ $config: (
305
311
  }
306
312
  select {
307
313
  font-weight: get("font-weight-select");
308
- border: get("select-border");
309
314
  border-radius: get("select-border-radius");
310
- background-color: get("select-background-color");
315
+ background-color: color.get(get("select-background-color"));
311
316
  padding: -fallback("select-padding-y", "input-padding-y") -fallback("select-padding-x", "input-padding-x");
312
317
  border: -fallback("select-border", "input-border");
313
318
  @if get("select-image") {
@@ -365,39 +370,39 @@ $config: (
365
370
  opacity: 0;
366
371
  transform: rotate(45deg);
367
372
  transition: opacity ease-out 150ms;
368
- border: get("check-input-radio-size") solid get("check-input-mark-color");
373
+ border: get("check-input-radio-size") solid color.get(get("check-input-mark-color"));
369
374
  border-radius: 50%;
370
375
  }
371
376
  &:focus {
372
- background-color: get("check-input-touch-color-focus");
377
+ background-color: color.get(get("check-input-touch-color-focus"));
373
378
  &:before {
374
- border-color: get("check-input-border-color-focus");
379
+ border-color: color.get(get("check-input-border-color-focus"));
375
380
  outline: get("check-input-outline-focus");
376
381
  }
377
382
  &:after {
378
- border-color: get("check-input-mark-color-focus");
383
+ border-color: color.get(get("check-input-mark-color-focus"));
379
384
  }
380
385
  }
381
386
  &:hover {
382
- background-color: get("check-input-touch-color-hover");
387
+ background-color: color.get(get("check-input-touch-color-hover"));
383
388
  &:before {
384
389
  outline: get("check-input-outline-hover");
385
- background-color: get("check-input-background-color-hover");
386
- border-color: get("check-input-border-color-hover");
390
+ background-color: color.get(get("check-input-background-color-hover"));
391
+ border-color: color.get(get("check-input-border-color-hover"));
387
392
  }
388
393
  &:after {
389
- border-color: get("check-input-mark-color-hover");
394
+ border-color: color.get(get("check-input-mark-color-hover"));
390
395
  }
391
396
  }
392
397
  &:checked {
393
398
  &:before {
394
- background-color: get("check-input-background-color-checked");
395
- border-color: get("check-input-border-color-checked");
399
+ background-color: color.get(get("check-input-background-color-checked"));
400
+ border-color: color.get(get("check-input-border-color-checked"));
396
401
  outline: get("check-input-outline-checked");
397
402
  }
398
403
  &:after {
399
404
  opacity: 1;
400
- border-color: get("check-input-mark-color-checked");
405
+ border-color: color.get(get("check-input-mark-color-checked"));
401
406
  }
402
407
  }
403
408
 
@@ -428,15 +433,15 @@ $config: (
428
433
  &:indeterminate,
429
434
  &[aria-checked=mixed] {
430
435
  &:before {
431
- background-color: get("check-input-background-color-indeterminate");
432
- border-color: get("check-input-border-color-indeterminate");
436
+ background-color: color.get(get("check-input-background-color-indeterminate"));
437
+ border-color: color.get(get("check-input-border-color-indeterminate"));
433
438
  }
434
439
  &:after {
435
440
  border-right: none;
436
441
  transform: translatey(50%);
437
442
  opacity: 1;
438
443
  height: get("check-input-checkmark-stroke-size");
439
- border-color: get("check-input-mark-color-indeterminate");
444
+ border-color: color.get(get("check-input-mark-color-indeterminate"));
440
445
  }
441
446
  }
442
447
  }
@@ -449,38 +454,32 @@ $config: (
449
454
  margin-top: get("fieldset-margin-top");
450
455
  margin-bottom: get("fieldset-margin-bottom");
451
456
  border: get("fieldset-border");
452
- background-color: get("fieldset-background");
457
+ background-color: color.get(get("fieldset-background"));
453
458
  border-radius: get("fieldset-border-radius");
454
459
  padding: get("fieldset-padding");
455
460
 
456
461
  > legend {
457
462
  font-weight: get("font-weight-legend");
458
463
  display: block;
459
- margin: 0 0 0.5em 0;
464
+ margin: 0 0 get("fieldset-legend-margin-bottom") 0;
460
465
  border: 0;
461
- padding: 0;
466
+ padding: 0 0 get("fieldset-legend-padding-bottom") 0;
462
467
  width: 100%;
463
468
  float: left;
464
- > span {
465
- display: block;
466
- margin-bottom: 1rem;
467
- padding-bottom: 0.5em;
468
- padding-top: 0.5em;
469
- border-bottom: get("fieldset-legend-border-bottom");
470
- color: get("fieldset-legend-color");
471
- }
469
+ border-bottom: get("fieldset-legend-border-bottom");
470
+ color: color.get(get("fieldset-legend-color"));
472
471
  & ~ * {
473
472
  clear: left;
474
473
  }
475
474
  }
476
475
  &#{ $selectError } {
477
476
  > legend {
478
- color: $errorColor;
477
+ color: color.get($errorColor);
479
478
  }
480
479
  }
481
480
  &#{ $selectWarning } {
482
481
  > legend {
483
- color: $warningColor;
482
+ color: color.get($warningColor);
484
483
  }
485
484
  }
486
485
  }
@@ -502,7 +501,7 @@ $config: (
502
501
  font-style: italic;
503
502
  @include typography.size("small", null, true);
504
503
  max-width: get("description-max-width");
505
- color: get("description-color");
504
+ color: color.get(get("description-color"));
506
505
  }
507
506
 
508
507
  /// Styles for form item that should have label as block and text input
@@ -547,11 +546,11 @@ $config: (
547
546
  #{ $prefix }__item {
548
547
  display: flex;
549
548
  align-items: center;
550
- margin-bottom: get("input-margin-y");
549
+ margin-bottom: get("item-margin-y");
551
550
  border-radius: get("item-border-radius");
552
551
  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"));
552
+ @include -form-item-state($selectError, $errorColor, color.get(get("error-highlight-color")));
553
+ @include -form-item-state($selectWarning, $warningColor, color.get(get("warning-highlight-color")));
555
554
  }
556
555
  #{ $prefix }__item--align-top {
557
556
  align-items: flex-start;
@@ -565,8 +564,9 @@ $config: (
565
564
  #{ $prefix }__items-inline {
566
565
  display: flex;
567
566
  flex-wrap: wrap;
567
+ gap: get("inline-gap");
568
568
  > #{ $prefix }__item {
569
- margin-right: 1.5em;
569
+ margin: 0;
570
570
  }
571
571
  }
572
572
  #{ $prefix }__actions {
@@ -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
  }
@@ -15,6 +15,15 @@
15
15
  /// Module Settings
16
16
  /// @type Map
17
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
+ /// @prop {String} breakpoint ["medium"] At what breakpoint the hero goes to small screen styling.
19
+ /// @prop {Dimension} height [100vh] Height of the hero.
20
+ /// @prop {Dimension} height-compact [40vh] Height of the hero when using the "--compact" styling.
21
+ /// @prop {Dimension} graphic-height-stacked [60vh] Height of the graphic.
22
+ /// @prop {Dimension} content-max-width [40rem] Max width of the content.
23
+ /// @prop {Dimension} content-padding-top [3rem] Top padding of the content.
24
+ /// @prop {Dimension} content-padding-bottom [3rem] Bottom padding of the content.
25
+ /// @prop {CssValue} text-align [center] Text align of the content.
26
+
18
27
 
19
28
  $config: (
20
29
  "breakpoint" : "medium",
@@ -6,6 +6,7 @@
6
6
  @forward "accordion" as accordion-*;
7
7
  @forward "adaptive-spacing" as adaptive-spacing-*;
8
8
  @forward "badge" as badge-*;
9
+ @forward "basic-hero" as basic-hero-*;
9
10
  @forward "button" as button-*;
10
11
  @forward "button-verbose" as button-verbose-*;
11
12
  @forward "callout" as callout-*;
@@ -22,6 +23,7 @@
22
23
  @forward "image-grid" as image-grid-*;
23
24
  @forward "links" as links-*;
24
25
  @forward "list-lines" as list-lines-*;
26
+ @forward "list-inline" as list-inline-*;
25
27
  @forward "list-ordered" as list-ordered-*;
26
28
  @forward "list-unordered" as list-unordered-*;
27
29
  @forward "menu-stack" as menu-stack-*;
@@ -54,6 +56,7 @@
54
56
  @use "adaptive-spacing";
55
57
  @use "accordion";
56
58
  @use "badge";
59
+ @use "basic-hero";
57
60
  @use "button";
58
61
  @use "button-verbose";
59
62
  @use "callout";
@@ -69,6 +72,7 @@
69
72
  @use "horizontal-rule";
70
73
  @use "image-grid";
71
74
  @use "list-lines";
75
+ @use "list-inline";
72
76
  @use "list-ordered";
73
77
  @use "list-unordered";
74
78
  @use "links";
@@ -103,6 +107,7 @@ $all-includes: (
103
107
  "accordion",
104
108
  "adaptive-spacing",
105
109
  "badge",
110
+ "basic-hero",
106
111
  "button",
107
112
  "button-verbose",
108
113
  "callout",
@@ -119,6 +124,7 @@ $all-includes: (
119
124
  "image-grid",
120
125
  "links",
121
126
  "list-lines",
127
+ "list-inline",
122
128
  "list-ordered",
123
129
  "list-unordered",
124
130
  "menu-stack",
@@ -196,6 +202,9 @@ $current-includes: $all-includes;
196
202
  @if (list.index($includes, "badge")) {
197
203
  @include badge.styles;
198
204
  }
205
+ @if (list.index($includes, "basic-hero")) {
206
+ @include basic-hero.styles;
207
+ }
199
208
  @if (list.index($includes, "tag")) {
200
209
  @include tag.styles;
201
210
  }
@@ -241,6 +250,9 @@ $current-includes: $all-includes;
241
250
  @if (list.index($includes, "list-lines")) {
242
251
  @include list-lines.styles;
243
252
  }
253
+ @if (list.index($includes, "list-inline")) {
254
+ @include list-inline.styles;
255
+ }
244
256
  @if (list.index($includes, "list-unordered")) {
245
257
  @include list-unordered.styles;
246
258
  }
@@ -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