@ulu/frontend 0.1.0-beta.9 → 0.1.0-beta.91

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 (317) hide show
  1. package/CHANGELOG.md +610 -0
  2. package/README.dev.md +3 -3
  3. package/README.md +14 -4
  4. package/dist/ulu-frontend.min.css +1 -1
  5. package/dist/ulu-frontend.min.js +36 -29
  6. package/docs-dev/.nojekyll +1 -0
  7. package/docs-dev/assets/main.js +8290 -635
  8. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  9. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  10. package/docs-dev/assets/style.css +789 -338
  11. package/docs-dev/changelog/index.html +6985 -0
  12. package/docs-dev/demos/accordion/index.html +1126 -334
  13. package/docs-dev/demos/badge/index.html +5535 -0
  14. package/docs-dev/demos/basic-hero/index.html +111 -0
  15. package/docs-dev/demos/breakpoints-manager/index.html +5546 -0
  16. package/docs-dev/demos/button/index.html +1172 -338
  17. package/docs-dev/demos/button-group/index.html +5532 -0
  18. package/docs-dev/demos/button-verbose/index.html +5538 -0
  19. package/docs-dev/demos/callout/index.html +1177 -344
  20. package/docs-dev/demos/captioned-figure/index.html +1120 -327
  21. package/docs-dev/demos/card/index.html +1186 -754
  22. package/docs-dev/demos/card-grid/index.html +5657 -0
  23. package/docs-dev/demos/counter-list/index.html +5540 -0
  24. package/docs-dev/demos/css-icons/index.html +1148 -332
  25. package/docs-dev/demos/data-grid/index.html +1120 -327
  26. package/docs-dev/demos/data-table/index.html +1298 -372
  27. package/docs-dev/demos/details-group/index.html +5567 -0
  28. package/docs-dev/demos/file-save/index.html +1120 -327
  29. package/docs-dev/demos/flipcard/index.html +1120 -327
  30. package/docs-dev/demos/form-theme/index.html +1144 -364
  31. package/docs-dev/demos/headline-label/index.html +5502 -0
  32. package/docs-dev/demos/hero/index.html +12 -4
  33. package/docs-dev/demos/image-grid/index.html +12 -4
  34. package/docs-dev/demos/index.html +1121 -328
  35. package/docs-dev/demos/list-inline/index.html +1120 -327
  36. package/docs-dev/demos/list-lines/index.html +1120 -327
  37. package/docs-dev/demos/menu-stack/index.html +1159 -351
  38. package/docs-dev/demos/modals/index.html +1259 -343
  39. package/docs-dev/demos/nav-strip/index.html +1120 -327
  40. package/docs-dev/demos/overlay-section/index.html +1205 -342
  41. package/docs-dev/demos/panel/index.html +5562 -0
  42. package/docs-dev/demos/popovers/index.html +1368 -333
  43. package/docs-dev/demos/print/index.html +1120 -327
  44. package/docs-dev/demos/pull-quote/index.html +1120 -327
  45. package/docs-dev/demos/rail/index.html +5598 -0
  46. package/docs-dev/demos/rule/index.html +1137 -332
  47. package/docs-dev/demos/scroll-slider/index.html +72 -106
  48. package/docs-dev/demos/scrollpoints/index.html +1121 -328
  49. package/docs-dev/demos/slider/index.html +12 -4
  50. package/docs-dev/demos/spoke-spinner/index.html +1120 -327
  51. package/docs-dev/demos/{list-inline.1 → sticky-list}/index.html +1159 -363
  52. package/docs-dev/demos/tabs/index.html +1156 -327
  53. package/docs-dev/demos/tag/index.html +1120 -327
  54. package/docs-dev/demos/theme-toggle/index.html +5579 -0
  55. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  56. package/docs-dev/demos/tiles/index.html +1120 -327
  57. package/docs-dev/demos/tooltip/index.html +1120 -327
  58. package/docs-dev/demos/wysiwyg/index.html +5552 -0
  59. package/docs-dev/guide/building-stylesheet/index.html +1120 -327
  60. package/docs-dev/guide/developing-ulu-scss-module/index.html +1120 -327
  61. package/docs-dev/guide/index.html +1120 -327
  62. package/docs-dev/index.html +1120 -327
  63. package/docs-dev/javascript/events/index.html +1158 -327
  64. package/docs-dev/javascript/index.html +1120 -327
  65. package/docs-dev/javascript/settings/index.html +5705 -0
  66. package/docs-dev/javascript/ui-breakpoints/index.html +1134 -343
  67. package/docs-dev/javascript/ui-collapsible/index.html +1119 -328
  68. package/docs-dev/javascript/ui-details-group/index.html +5622 -0
  69. package/docs-dev/javascript/ui-dialog/index.html +1151 -345
  70. package/docs-dev/javascript/ui-flipcard/index.html +1180 -333
  71. package/docs-dev/javascript/ui-grid/index.html +1130 -365
  72. package/docs-dev/javascript/ui-modal-builder/index.html +1303 -372
  73. package/docs-dev/javascript/ui-overflow-scroller/index.html +1119 -328
  74. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1119 -328
  75. package/docs-dev/javascript/ui-page/index.html +1119 -328
  76. package/docs-dev/javascript/ui-popover/index.html +1129 -342
  77. package/docs-dev/javascript/ui-print/index.html +1117 -334
  78. package/docs-dev/javascript/ui-print-details/index.html +1119 -328
  79. package/docs-dev/javascript/ui-programmatic-modal/index.html +1119 -328
  80. package/docs-dev/javascript/ui-proxy-click/index.html +1208 -332
  81. package/docs-dev/javascript/ui-resizer/index.html +1400 -344
  82. package/docs-dev/javascript/ui-scroll-slider/index.html +1159 -336
  83. package/docs-dev/javascript/ui-scrollpoint/index.html +1129 -345
  84. package/docs-dev/javascript/ui-slider/index.html +1317 -335
  85. package/docs-dev/javascript/ui-tabs/index.html +1138 -384
  86. package/docs-dev/javascript/ui-theme-toggle/index.html +5710 -0
  87. package/docs-dev/javascript/ui-tooltip/index.html +1136 -349
  88. package/docs-dev/javascript/utils-class-logger/index.html +1120 -329
  89. package/docs-dev/javascript/utils-css/index.html +5524 -0
  90. package/docs-dev/javascript/utils-dom/index.html +1153 -442
  91. package/docs-dev/javascript/utils-file-save/index.html +1119 -328
  92. package/docs-dev/javascript/utils-floating-ui/index.html +1119 -328
  93. package/docs-dev/javascript/utils-id/index.html +1119 -328
  94. package/docs-dev/javascript/utils-pause-youtube-video/index.html +1119 -328
  95. package/docs-dev/javascript/utils-system/index.html +5827 -0
  96. package/docs-dev/sass/base/color/index.html +1119 -328
  97. package/docs-dev/sass/base/elements/index.html +1127 -336
  98. package/docs-dev/sass/base/index/index.html +1119 -328
  99. package/docs-dev/sass/base/index.html +1120 -327
  100. package/docs-dev/sass/base/keyframes/index.html +1120 -329
  101. package/docs-dev/sass/base/layout/index.html +1119 -328
  102. package/docs-dev/sass/base/normalize/index.html +1119 -328
  103. package/docs-dev/sass/base/print/index.html +1119 -328
  104. package/docs-dev/sass/base/root/index.html +1119 -328
  105. package/docs-dev/sass/base/typography/index.html +1119 -328
  106. package/docs-dev/sass/components/accordion/index.html +1142 -344
  107. package/docs-dev/sass/components/adaptive-spacing/index.html +1119 -328
  108. package/docs-dev/sass/components/badge/index.html +1145 -343
  109. package/docs-dev/sass/components/basic-hero/index.html +5685 -0
  110. package/docs-dev/sass/components/button/index.html +1119 -328
  111. package/docs-dev/sass/components/button-group/index.html +5683 -0
  112. package/docs-dev/sass/components/button-verbose/index.html +1205 -339
  113. package/docs-dev/sass/components/callout/index.html +1224 -414
  114. package/docs-dev/sass/components/captioned-figure/index.html +1243 -337
  115. package/docs-dev/sass/components/card/index.html +1215 -352
  116. package/docs-dev/sass/components/card-grid/index.html +1119 -328
  117. package/docs-dev/sass/components/counter-list/index.html +5767 -0
  118. package/docs-dev/sass/components/css-icon/index.html +1140 -342
  119. package/docs-dev/sass/components/data-grid/index.html +1139 -341
  120. package/docs-dev/sass/components/data-table/index.html +1327 -346
  121. package/docs-dev/sass/components/fill-context/index.html +1119 -328
  122. package/docs-dev/sass/components/flipcard/index.html +1161 -339
  123. package/docs-dev/sass/components/flipcard-grid/index.html +1119 -328
  124. package/docs-dev/sass/components/form-theme/index.html +1334 -447
  125. package/docs-dev/sass/components/headline-label/index.html +5713 -0
  126. package/docs-dev/sass/components/hero/index.html +1179 -340
  127. package/docs-dev/sass/components/horizontal-rule/index.html +1119 -328
  128. package/docs-dev/sass/components/image-grid/index.html +1119 -328
  129. package/docs-dev/sass/components/index/index.html +1136 -338
  130. package/docs-dev/sass/components/index.html +1120 -327
  131. package/docs-dev/sass/components/links/index.html +1119 -328
  132. package/docs-dev/sass/components/list-inline/index.html +1119 -328
  133. package/docs-dev/sass/components/list-lines/index.html +1119 -328
  134. package/docs-dev/sass/components/list-ordered/index.html +1119 -328
  135. package/docs-dev/sass/components/list-unordered/index.html +1119 -328
  136. package/docs-dev/sass/components/menu-stack/index.html +1156 -352
  137. package/docs-dev/sass/components/modal/index.html +1173 -347
  138. package/docs-dev/sass/components/nav-strip/index.html +1127 -336
  139. package/docs-dev/sass/components/overlay-section/index.html +1127 -336
  140. package/docs-dev/sass/components/pager/index.html +1119 -328
  141. package/docs-dev/sass/components/panel/index.html +5913 -0
  142. package/docs-dev/sass/components/placeholder-block/index.html +1119 -328
  143. package/docs-dev/sass/components/popover/index.html +1179 -352
  144. package/docs-dev/sass/components/pull-quote/index.html +1131 -340
  145. package/docs-dev/sass/components/rail/index.html +5700 -0
  146. package/docs-dev/sass/components/ratio-box/index.html +1127 -336
  147. package/docs-dev/sass/components/rule/index.html +1120 -329
  148. package/docs-dev/sass/components/scroll-slider/index.html +1129 -350
  149. package/docs-dev/sass/components/skip-link/index.html +1119 -328
  150. package/docs-dev/sass/components/slider/index.html +1173 -394
  151. package/docs-dev/sass/components/spoke-spinner/index.html +1121 -330
  152. package/docs-dev/sass/components/sticky-list/index.html +5903 -0
  153. package/docs-dev/sass/components/table-sticky/index.html +5677 -0
  154. package/docs-dev/sass/components/tabs/index.html +1154 -348
  155. package/docs-dev/sass/components/tag/index.html +1121 -330
  156. package/docs-dev/sass/components/tile-button/index.html +1119 -328
  157. package/docs-dev/sass/components/tile-grid/index.html +1119 -328
  158. package/docs-dev/sass/components/tile-grid-overlay/index.html +1119 -328
  159. package/docs-dev/sass/components/vignette/index.html +1131 -334
  160. package/docs-dev/sass/components/wysiwyg/index.html +1159 -350
  161. package/docs-dev/sass/core/breakpoint/index.html +1212 -369
  162. package/docs-dev/sass/core/button/index.html +1151 -358
  163. package/docs-dev/sass/core/color/index.html +1291 -368
  164. package/docs-dev/sass/core/cssvar/index.html +1119 -328
  165. package/docs-dev/sass/core/element/index.html +1440 -367
  166. package/docs-dev/sass/core/index.html +1119 -328
  167. package/docs-dev/sass/core/layout/index.html +1173 -363
  168. package/docs-dev/sass/core/path/index.html +1119 -328
  169. package/docs-dev/sass/core/selector/index.html +1119 -328
  170. package/docs-dev/sass/core/typography/index.html +1119 -328
  171. package/docs-dev/sass/core/units/index.html +1127 -330
  172. package/docs-dev/sass/core/utils/index.html +2389 -449
  173. package/docs-dev/sass/helpers/color/index.html +1119 -328
  174. package/docs-dev/sass/helpers/display/index.html +1120 -329
  175. package/docs-dev/sass/helpers/index/index.html +1119 -328
  176. package/docs-dev/sass/helpers/index.html +1120 -327
  177. package/docs-dev/sass/helpers/print/index.html +759 -298
  178. package/docs-dev/sass/helpers/typography/index.html +1119 -328
  179. package/docs-dev/sass/helpers/units/index.html +1119 -328
  180. package/docs-dev/sass/helpers/utilities/index.html +1121 -330
  181. package/docs-dev/sass/index.html +1120 -327
  182. package/js/events/index.js +17 -5
  183. package/js/index.js +1 -0
  184. package/js/settings.js +97 -0
  185. package/js/ui/breakpoints.js +19 -16
  186. package/js/ui/collapsible.js +8 -1
  187. package/js/ui/details-group.js +112 -0
  188. package/js/ui/dialog.js +103 -44
  189. package/js/ui/dialog.todo +2 -36
  190. package/js/ui/flipcard.js +37 -57
  191. package/js/ui/grid.js +15 -13
  192. package/js/ui/index.js +1 -0
  193. package/js/ui/modal-builder.js +127 -70
  194. package/js/ui/overflow-scroller.js +6 -4
  195. package/js/ui/page.js +2 -2
  196. package/js/ui/popover.js +38 -38
  197. package/js/ui/print.js +16 -25
  198. package/js/ui/programmatic-modal.js +9 -3
  199. package/js/ui/proxy-click.js +50 -36
  200. package/js/ui/resizer.js +408 -39
  201. package/js/ui/scroll-slider.js +24 -30
  202. package/js/ui/scrollpoint.js +29 -64
  203. package/js/ui/slider.js +108 -63
  204. package/js/ui/tabs.js +23 -36
  205. package/js/ui/theme-toggle.js +332 -94
  206. package/js/ui/tooltip.js +27 -32
  207. package/js/utils/class-logger.js +3 -3
  208. package/js/utils/css.js +13 -0
  209. package/js/utils/dom.js +23 -64
  210. package/js/utils/font-awesome.js +19 -0
  211. package/js/utils/index.js +2 -1
  212. package/js/utils/system.js +155 -0
  213. package/package.json +23 -8
  214. package/scss/README.md +4 -0
  215. package/scss/_breakpoint.scss +39 -5
  216. package/scss/_button.scss +7 -5
  217. package/scss/_color.scss +40 -9
  218. package/scss/_element.scss +124 -2
  219. package/scss/_layout.scss +7 -8
  220. package/scss/_units.scss +3 -2
  221. package/scss/_utils.scss +387 -16
  222. package/scss/base/_elements.scss +0 -1
  223. package/scss/base/_index.scss +1 -1
  224. package/scss/base/_keyframes.scss +10 -0
  225. package/scss/base/_layout.scss +1 -0
  226. package/scss/base/_print.scss +2 -0
  227. package/scss/base/_root.scss +2 -0
  228. package/scss/components/README.todos +14 -0
  229. package/scss/components/_accordion.scss +33 -19
  230. package/scss/components/_badge.scss +23 -4
  231. package/scss/components/_basic-hero.scss +112 -0
  232. package/scss/components/_button-group.scss +90 -0
  233. package/scss/components/_button-verbose.scss +100 -18
  234. package/scss/components/_callout.scss +125 -78
  235. package/scss/components/_captioned-figure.scss +17 -0
  236. package/scss/components/_card-grid.scss +1 -1
  237. package/scss/components/_card.scss +228 -66
  238. package/scss/components/_counter-list.scss +151 -0
  239. package/scss/components/_css-icon.scss +35 -21
  240. package/scss/components/_data-grid.scss +55 -12
  241. package/scss/components/_data-table.scss +39 -3
  242. package/scss/components/_flipcard.scss +8 -3
  243. package/scss/components/_form-theme.scss +119 -108
  244. package/scss/components/_headline-label.scss +83 -0
  245. package/scss/components/_hero.scss +12 -10
  246. package/scss/components/_index.scss +42 -0
  247. package/scss/components/_menu-stack.scss +42 -26
  248. package/scss/components/_modal.scss +58 -29
  249. package/scss/components/_nav-strip.scss +2 -0
  250. package/scss/components/_overlay-section.scss +2 -5
  251. package/scss/components/_panel.scss +246 -0
  252. package/scss/components/_popover.scss +165 -64
  253. package/scss/components/_pull-quote.scss +13 -13
  254. package/scss/components/_rail.scss +120 -0
  255. package/scss/components/_ratio-box.scss +2 -5
  256. package/scss/components/_rule.scss +1 -0
  257. package/scss/components/_scroll-slider.scss +1 -5
  258. package/scss/components/_slider.scss +49 -72
  259. package/scss/components/_spoke-spinner.scss +2 -2
  260. package/scss/components/_sticky-list.scss +206 -0
  261. package/scss/components/_tabs.scss +22 -4
  262. package/scss/components/_vignette.scss +3 -5
  263. package/scss/components/_wysiwyg.scss +21 -13
  264. package/scss/helpers/_display.scss +15 -18
  265. package/scss/helpers/_print.scss +12 -7
  266. package/scss/helpers/_utilities.scss +42 -32
  267. package/types/events/index.d.ts +10 -1
  268. package/types/events/index.d.ts.map +1 -1
  269. package/types/index.d.ts +1 -0
  270. package/types/settings.d.ts +70 -0
  271. package/types/settings.d.ts.map +1 -0
  272. package/types/ui/breakpoints.d.ts +14 -14
  273. package/types/ui/breakpoints.d.ts.map +1 -1
  274. package/types/ui/collapsible.d.ts.map +1 -1
  275. package/types/ui/details-group.d.ts +38 -0
  276. package/types/ui/details-group.d.ts.map +1 -0
  277. package/types/ui/dialog.d.ts +20 -14
  278. package/types/ui/dialog.d.ts.map +1 -1
  279. package/types/ui/flipcard.d.ts +16 -10
  280. package/types/ui/flipcard.d.ts.map +1 -1
  281. package/types/ui/grid.d.ts +4 -6
  282. package/types/ui/grid.d.ts.map +1 -1
  283. package/types/ui/index.d.ts +2 -1
  284. package/types/ui/modal-builder.d.ts +116 -11
  285. package/types/ui/modal-builder.d.ts.map +1 -1
  286. package/types/ui/overflow-scroller.d.ts +2 -2
  287. package/types/ui/overflow-scroller.d.ts.map +1 -1
  288. package/types/ui/popover.d.ts +6 -7
  289. package/types/ui/popover.d.ts.map +1 -1
  290. package/types/ui/print.d.ts +0 -4
  291. package/types/ui/print.d.ts.map +1 -1
  292. package/types/ui/programmatic-modal.d.ts.map +1 -1
  293. package/types/ui/proxy-click.d.ts +19 -3
  294. package/types/ui/proxy-click.d.ts.map +1 -1
  295. package/types/ui/resizer.d.ts +116 -16
  296. package/types/ui/resizer.d.ts.map +1 -1
  297. package/types/ui/scroll-slider.d.ts +5 -7
  298. package/types/ui/scroll-slider.d.ts.map +1 -1
  299. package/types/ui/scrollpoint.d.ts +3 -8
  300. package/types/ui/scrollpoint.d.ts.map +1 -1
  301. package/types/ui/slider.d.ts +33 -14
  302. package/types/ui/slider.d.ts.map +1 -1
  303. package/types/ui/tabs.d.ts +6 -8
  304. package/types/ui/tabs.d.ts.map +1 -1
  305. package/types/ui/theme-toggle.d.ts +51 -7
  306. package/types/ui/theme-toggle.d.ts.map +1 -1
  307. package/types/ui/tooltip.d.ts +3 -5
  308. package/types/ui/tooltip.d.ts.map +1 -1
  309. package/types/utils/css.d.ts +11 -0
  310. package/types/utils/css.d.ts.map +1 -0
  311. package/types/utils/dom.d.ts +12 -32
  312. package/types/utils/dom.d.ts.map +1 -1
  313. package/types/utils/font-awesome.d.ts +5 -0
  314. package/types/utils/font-awesome.d.ts.map +1 -0
  315. package/types/utils/index.d.ts +2 -1
  316. package/types/utils/system.d.ts +113 -0
  317. package/types/utils/system.d.ts.map +1 -0
@@ -7,99 +7,110 @@
7
7
  @use "sass:meta";
8
8
  @use "sass:math";
9
9
  @use "sass:list";
10
+
10
11
  @use "../selector";
11
12
  @use "../utils";
12
13
  @use "../color";
13
14
  @use "../element";
14
15
  @use "../typography";
15
16
 
17
+ // Used for function fallback
18
+ $-fallbacks: (
19
+ "description-line-height" : (
20
+ "function" : meta.get-function("get", false, "typography"),
21
+ "property" : "line-height-dense",
22
+ ),
23
+ );
24
+
16
25
  /// Module Settings
17
26
  /// @type Map
18
- /// @prop {} color [inherit]
19
- /// @prop {} color-placeholder ["type-tertiary"]
20
- /// @prop {} drupal [false]
21
- /// @prop {} error-color ["error"]
22
- /// @prop {} error-highlight-color [rgb(251, 242, 242)]
23
- /// @prop {} error-selector [".is-danger"]
24
- /// @prop {} file-button-style [true]
25
- /// @prop {} font-weight-label [bold]
26
- /// @prop {} font-weight-legend [bold]
27
- /// @prop {} font-weight-placeholder [normal]
28
- /// @prop {} font-weight-input [null]
29
- /// @prop {} font-weight-textarea [null]
30
- /// @prop {} font-weight-select [null]
31
- /// @prop {} input-border [element.get-rule-style()]
32
- /// @prop {} input-border-radius [0]
33
- /// @prop {} input-margin-y [0.75em]
34
- /// @prop {} input-padding-x [0.5em]
35
- /// @prop {} input-padding-y [0.25em]
36
- /// @prop {} input-min-width [10em]
37
- /// @prop {} input-background-color [white]
38
- /// @prop {} item-border-radius [null]
39
- /// @prop {} item-highlight-width [6px]
40
- /// @prop {} required-color ["error"]
41
- /// @prop {} text-input-margin-bottom [0.5em]
42
- /// @prop {} text-input-margin-top [1em]
43
- /// @prop {} warning-color ["warning"]
44
- /// @prop {} warning-highlight-color [rgb(255, 249, 237)]
45
- /// @prop {} warning-selector [".is-warning"]
46
- /// @prop {} check-input-color [currentColor]
47
- /// @prop {} check-input-size [1.15em]
48
- /// @prop {} check-input-touch-size [2em]
49
- /// @prop {} check-input-background-color [white]
50
- /// @prop {} check-input-background-color-checked [white]
51
- /// @prop {} check-input-background-color-hover [white]
52
- /// @prop {} check-input-background-color-indeterminate [white]
53
- /// @prop {} check-input-border [null]
54
- /// @prop {} check-input-border-color-hover [null]
55
- /// @prop {} check-input-border-color-checked [null]
56
- /// @prop {} check-input-border-color-indeterminate [null]
57
- /// @prop {} check-input-border-color-focus [null]
58
- /// @prop {} check-input-outline [null]
59
- /// @prop {} check-input-outline-hover [null]
60
- /// @prop {} check-input-outline-checked [null]
61
- /// @prop {} check-input-outline-focus [1px solid white]
62
- /// @prop {} check-input-touch-color-hover [#e8e8e8]
63
- /// @prop {} check-input-touch-color-focus [null]
64
- /// @prop {} check-input-radio-size [0.3em]
65
- /// @prop {} check-input-checkmark-width [0.38em]
66
- /// @prop {} check-input-checkmark-height [0.68em]
67
- /// @prop {} check-input-checkmark-offset-y [-0.2em]
68
- /// @prop {} check-input-checkmark-stroke-size [0.18em]
69
- /// @prop {} check-input-mark-color [currentColor]
70
- /// @prop {} check-input-mark-color-hover [null]
71
- /// @prop {} check-input-mark-color-focus [null]
72
- /// @prop {} check-input-mark-color-checked [null]
73
- /// @prop {} check-input-mark-color-indeterminate [null]
74
- /// @prop {} check-input-disabled-opacity [0.6]
75
- /// @prop {} check-input-border-radius [null]
76
- /// @prop {} description-color [false]
77
- /// @prop {} description-margin [(0.25em 0)]
78
- /// @prop {} description-max-width [25em]
79
- /// @prop {} fieldset-background [transparent]
80
- /// @prop {} fieldset-border [none]
81
- /// @prop {} fieldset-margin-bottom [1rem]
82
- /// @prop {} fieldset-margin-top [1rem]
83
- /// @prop {} fieldset-padding [0]
84
- /// @prop {} fieldset-margin-compact [0]
85
- /// @prop {} fieldset-border-radius [0]
86
- /// @prop {} fieldset-legend-color [inherit]
87
- /// @prop {} fieldset-legend-border-bottom [null]
88
- /// @prop {} select-border-radius [4px]
89
- /// @prop {} select-background-color [null]
90
- /// @prop {} select-border [null]
91
- /// @prop {} select-padding-x [null]
92
- /// @prop {} select-padding-y [null]
93
- /// @prop {} select-image [null]
94
- /// @prop {} select-image-size [0.9em]
95
- /// @prop {} select-image-offset [0.7em]
96
- /// @prop {} select-image-margin [0.65em]
27
+ /// @prop {CssValue} color [inherit] Color of the text of the form.
28
+ /// @prop {CssValue} color-placeholder ["type-tertiary"] Color for the placeholder text.
29
+ /// @prop {Boolean} drupal [false] Toggle if using drupal to include drupal specific styling.
30
+ /// @prop {Color} error-color ["danger"] Type color for errors.
31
+ /// @prop {Color} error-highlight-color [rgb(251, 242, 242)] Outline color of error container.
32
+ /// @prop {String} error-selector [".is-danger"] Class for error styling.
33
+ /// @prop {} file-button-style [true] @joe-check should this have a fallback
34
+ /// @prop {CssValue} font-weight-label [bold] Font weight of the labels.
35
+ /// @prop {CssValue} font-weight-legend [bold] Font weight of the legend.
36
+ /// @prop {CssValue} font-weight-placeholder [normal] Font weight of placeholder text.
37
+ /// @prop {CssValue} font-weight-input [null] Font weight of input text.
38
+ /// @prop {CssValue} font-weight-textarea [null] Font weight of textarea text.
39
+ /// @prop {CssValue} font-weight-select [null] Font weight of select text.
40
+ /// @prop {CssValue} input-border [element.get-rule-style()] Border of the input.
41
+ /// @prop {Dimension} input-border-radius [0] Border radius of the input.
42
+ /// @prop {Dimension} input-padding-x [0.5em] Horizontal padding of the input.
43
+ /// @prop {Dimension} input-padding-y [0.25em] Vertical padding of the input.
44
+ /// @prop {Dimension} input-min-width [10em] Min width of the input.
45
+ /// @prop {Color} input-background-color [white] Background color of the input.
46
+ /// @prop {Dimension} item-border-radius [null] Border radius for __item.
47
+ /// @prop {Dimension} item-highlight-width [6px] Width of the item box highlight.
48
+ /// @prop {Color} required-color ["danger"] Color for required text.
49
+ /// @prop {Dimension} text-input-margin-bottom [0.5em] Bottom margin for the label.
50
+ /// @prop {Dimension} text-input-margin-top [1em] Top margin for the label.
51
+ /// @prop {Color} warning-color ["warning"] The warning text color.
52
+ /// @prop {Color} warning-highlight-color [rgb(255, 249, 237)] Outline color of the warning.
53
+ /// @prop {String} warning-selector [".is-warning"] Selector for adding warning styles.
54
+ /// @prop {Color} check-input-color [currentColor] @joe-check unused
55
+ /// @prop {Dimension} check-input-size [1.15em] Size of input box.
56
+ /// @prop {Dimension} check-input-touch-size [2em] Touchable size of the input box.
57
+ /// @prop {Color} check-input-background-color [white] Background color for the check input.
58
+ /// @prop {Color} check-input-background-color-checked [white] Background color for the check input when checked.
59
+ /// @prop {Color} check-input-background-color-hover [white] Background color for the check input when hovered or focused.
60
+ /// @prop {Color} check-input-background-color-indeterminate [white] Background color for the indeterminate check input.
61
+ /// @prop {} check-input-border [null] @joe-check check how this is called with a fallback in the styles mixin
62
+ /// @prop {Color} check-input-border-color-hover [null] Check input border color.
63
+ /// @prop {Color} check-input-border-color-checked [null] Check input border color when checked.
64
+ /// @prop {Color} check-input-border-color-indeterminate [null] Indeterminate check input border color.
65
+ /// @prop {Color} check-input-border-color-focus [null] Check input border color when hovered or focused.
66
+ /// @prop {CssValue} check-input-outline [null] Check input outline.
67
+ /// @prop {CssValue} check-input-outline-hover [null] Check input outline when hovered.
68
+ /// @prop {CssValue} check-input-outline-checked [null] Check input outline when checked.
69
+ /// @prop {CssValue} check-input-outline-focus [1px solid white] Check input outline when focused.
70
+ /// @prop {Color} check-input-touch-color-hover [#e8e8e8] Check input background color when hovered.
71
+ /// @prop {Color} check-input-touch-color-focus [null] Check input background color when focused.
72
+ /// @prop {Dimension} check-input-radio-size [0.3em] Radio border size.
73
+ /// @prop {Dimension} check-input-checkmark-width [0.38em] Width of checkmark.
74
+ /// @prop {Dimension} check-input-checkmark-height [0.68em] Height of checkmark.
75
+ /// @prop {Dimension} check-input-checkmark-offset-y [-0.2em] vertical offset of checkmark.
76
+ /// @prop {Dimension} check-input-checkmark-stroke-size [0.18em] stroke size of checkmark.
77
+ /// @prop {Color} check-input-mark-color [currentColor] Check input color.
78
+ /// @prop {Color} check-input-mark-color-hover [null] Check input color when hovered.
79
+ /// @prop {Color} check-input-mark-color-focus [null] Check input color when focused.
80
+ /// @prop {Color} check-input-mark-color-checked [null] Check input color when checked.
81
+ /// @prop {Color} check-input-mark-color-indeterminate [null] Check input color when indeterminate.
82
+ /// @prop {Number} check-input-disabled-opacity [0.6] Opacity of the check input when disabled.
83
+ /// @prop {Dimension} check-input-border-radius [null] Checkbox input border radius.
84
+ /// @prop {Color} description-color [false] Color of help text.
85
+ /// @prop {CssValue} description-margin [(0.25em 0)] Margin for help text.
86
+ /// @prop {Dimension} description-max-width [25em] Max width of help text.
87
+ /// @prop {Number} description-line-height [true] Line height for description element, defaults to typography line-height-dense
88
+ /// @prop {Color} fieldset-background [transparent] Background color of fieldset element.
89
+ /// @prop {CssValue} fieldset-border [none] Border for fieldset
90
+ /// @prop {Dimension} fieldset-margin-bottom [1rem] Bottom margin for the fieldset element.
91
+ /// @prop {Dimension} fieldset-margin-top [1rem] Bottom margin for the fieldset element.
92
+ /// @prop {Dimension} fieldset-padding [0] Padding for the fieldset element.
93
+ /// @prop {Dimension} fieldset-margin-compact [0] @joe-check unused
94
+ /// @prop {Dimension} fieldset-border-radius [0] Border radius of the fieldset element.
95
+ /// @prop {Color} fieldset-legend-color [inherit] Text color for the fieldset's label.
96
+ /// @prop {Dimension} fieldset-legend-border-bottom [null] Bottom border color for the fieldset's label
97
+ /// @prop {Dimension} fieldset-legend-padding-bottom [null] Bottom padding for the fieldset's label
98
+ /// @prop {Dimension} select-border-radius [4px] Border radius for the select element.
99
+ /// @prop {Color} select-background-color [null] Background color for the select element.
100
+ /// @prop {CssValue} select-border [null] The border for the select element. Fallback to input border.
101
+ /// @prop {Dimension} select-padding-x [null] Horizontal padding for the select element. Fallback to input-padding-x.
102
+ /// @prop {Dimension} select-padding-y [null] Vertical padding for the select element. Fallback to input-padding-y.
103
+ /// @prop {CssValue} select-image [null] Url for select element's background image.
104
+ /// @prop {Dimension} select-image-size [0.9em] Background size for the select image.
105
+ /// @prop {Dimension} select-image-offset [0.7em] Offset for the select image.
106
+ /// @prop {Dimension} select-image-margin [0.65em] select image margin.
107
+ /// @prop {Dimension} inline-gap [1em] Gap between items that are inline like checkboxes
97
108
 
98
109
  $config: (
99
110
  "color" : inherit,
100
111
  "color-placeholder" : "type-tertiary",
101
112
  "drupal" : false,
102
- "error-color" : "error",
113
+ "error-color" : "danger",
103
114
  "error-highlight-color" : rgb(251, 242, 242),
104
115
  "error-selector" : ".is-danger",
105
116
  "file-button-style" : true,
@@ -111,14 +122,14 @@ $config: (
111
122
  "font-weight-select" : null,
112
123
  "input-border" : element.get-rule-style(),
113
124
  "input-border-radius" : 0,
114
- "input-margin-y" : 0.75em,
125
+ "item-margin-y" : 0.75em,
115
126
  "input-padding-x" : 0.5em,
116
127
  "input-padding-y" : 0.25em,
117
128
  "input-min-width" : 10em,
118
129
  "input-background-color" : white,
119
130
  "item-border-radius" : null,
120
131
  "item-highlight-width" : 6px,
121
- "required-color" : "error",
132
+ "required-color" : "danger",
122
133
  "text-input-margin-bottom" : 0.5em,
123
134
  "text-input-margin-top" : 1em,
124
135
  "warning-color" : "warning",
@@ -157,6 +168,7 @@ $config: (
157
168
  "description-color" : false,
158
169
  "description-margin" : (0.25em 0),
159
170
  "description-max-width" : 25em,
171
+ "description-line-height" : true,
160
172
  "fieldset-background" : transparent,
161
173
  "fieldset-border" : none,
162
174
  "fieldset-margin-bottom" : 1rem,
@@ -166,6 +178,8 @@ $config: (
166
178
  "fieldset-border-radius" : 0,
167
179
  "fieldset-legend-color" : inherit,
168
180
  "fieldset-legend-border-bottom" : null,
181
+ "fieldset-legend-padding-bottom" : 0,
182
+ "fieldset-legend-margin-bottom" : 0.5em,
169
183
  "select-border-radius" : 4px,
170
184
  "select-background-color" : null,
171
185
  "select-border" : null,
@@ -175,6 +189,7 @@ $config: (
175
189
  "select-image-size" : 0.9em,
176
190
  "select-image-offset" : 0.7em,
177
191
  "select-image-margin" : 0.65em,
192
+ "inline-gap" : 1em
178
193
  ) !default;
179
194
 
180
195
  /// Change modules $config
@@ -192,7 +207,8 @@ $config: (
192
207
  /// @include ulu.component-form-theme-get("property");
193
208
 
194
209
  @function get($name) {
195
- @return utils.require-map-get($config, $name, "component-form-theme [config]");
210
+ $value: utils.require-map-get($config, $name, "component-form-theme [config]");
211
+ @return utils.function-fallback($name, $value, $-fallbacks);
196
212
  }
197
213
 
198
214
  @function -fallback($op1, $op2) {
@@ -305,7 +321,6 @@ $config: (
305
321
  }
306
322
  select {
307
323
  font-weight: get("font-weight-select");
308
- border: get("select-border");
309
324
  border-radius: get("select-border-radius");
310
325
  background-color: color.get(get("select-background-color"));
311
326
  padding: -fallback("select-padding-y", "input-padding-y") -fallback("select-padding-x", "input-padding-x");
@@ -339,7 +354,7 @@ $config: (
339
354
  transition: background-color 220ms ease-in-out;
340
355
  flex: 0 0 $input-touch-size; // When used in flex container
341
356
  // Box / Circle (centered absolute)
342
- &:before {
357
+ &::before {
343
358
  content: '';
344
359
  display: block;
345
360
  position: absolute;
@@ -357,7 +372,7 @@ $config: (
357
372
  transform: translate(-50%, -50%);
358
373
  }
359
374
  // Checkmark/ radio
360
- &:after {
375
+ &::after {
361
376
  content: '';
362
377
  display: block;
363
378
  position: relative;
@@ -370,32 +385,32 @@ $config: (
370
385
  }
371
386
  &:focus {
372
387
  background-color: color.get(get("check-input-touch-color-focus"));
373
- &:before {
388
+ &::before {
374
389
  border-color: color.get(get("check-input-border-color-focus"));
375
390
  outline: get("check-input-outline-focus");
376
391
  }
377
- &:after {
392
+ &::after {
378
393
  border-color: color.get(get("check-input-mark-color-focus"));
379
394
  }
380
395
  }
381
396
  &:hover {
382
397
  background-color: color.get(get("check-input-touch-color-hover"));
383
- &:before {
398
+ &::before {
384
399
  outline: get("check-input-outline-hover");
385
400
  background-color: color.get(get("check-input-background-color-hover"));
386
401
  border-color: color.get(get("check-input-border-color-hover"));
387
402
  }
388
- &:after {
403
+ &::after {
389
404
  border-color: color.get(get("check-input-mark-color-hover"));
390
405
  }
391
406
  }
392
407
  &:checked {
393
- &:before {
408
+ &::before {
394
409
  background-color: color.get(get("check-input-background-color-checked"));
395
410
  border-color: color.get(get("check-input-border-color-checked"));
396
411
  outline: get("check-input-outline-checked");
397
412
  }
398
- &:after {
413
+ &::after {
399
414
  opacity: 1;
400
415
  border-color: color.get(get("check-input-mark-color-checked"));
401
416
  }
@@ -411,10 +426,10 @@ $config: (
411
426
  }
412
427
  }
413
428
  [type="checkbox"] {
414
- &:before {
429
+ &::before {
415
430
  border-radius: -fallback("check-input-border-radius", "input-border-radius");
416
431
  }
417
- &:after {
432
+ &::after {
418
433
  border-radius: 0;
419
434
  width: get("check-input-checkmark-width");
420
435
  height: get("check-input-checkmark-height");
@@ -427,11 +442,11 @@ $config: (
427
442
  }
428
443
  &:indeterminate,
429
444
  &[aria-checked=mixed] {
430
- &:before {
445
+ &::before {
431
446
  background-color: color.get(get("check-input-background-color-indeterminate"));
432
447
  border-color: color.get(get("check-input-border-color-indeterminate"));
433
448
  }
434
- &:after {
449
+ &::after {
435
450
  border-right: none;
436
451
  transform: translatey(50%);
437
452
  opacity: 1;
@@ -456,19 +471,13 @@ $config: (
456
471
  > legend {
457
472
  font-weight: get("font-weight-legend");
458
473
  display: block;
459
- margin: 0 0 0.5em 0;
474
+ margin: 0 0 get("fieldset-legend-margin-bottom") 0;
460
475
  border: 0;
461
- padding: 0;
476
+ padding: 0 0 get("fieldset-legend-padding-bottom") 0;
462
477
  width: 100%;
463
478
  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: color.get(get("fieldset-legend-color"));
471
- }
479
+ border-bottom: get("fieldset-legend-border-bottom");
480
+ color: color.get(get("fieldset-legend-color"));
472
481
  & ~ * {
473
482
  clear: left;
474
483
  }
@@ -501,6 +510,7 @@ $config: (
501
510
  margin: get("description-margin");
502
511
  font-style: italic;
503
512
  @include typography.size("small", null, true);
513
+ line-height: get("description-line-height");
504
514
  max-width: get("description-max-width");
505
515
  color: color.get(get("description-color"));
506
516
  }
@@ -547,7 +557,7 @@ $config: (
547
557
  #{ $prefix }__item {
548
558
  display: flex;
549
559
  align-items: center;
550
- margin-bottom: get("input-margin-y");
560
+ margin-bottom: get("item-margin-y");
551
561
  border-radius: get("item-border-radius");
552
562
  flex-shrink: 0; // Cannot be smaller than content within
553
563
  @include -form-item-state($selectError, $errorColor, color.get(get("error-highlight-color")));
@@ -565,8 +575,9 @@ $config: (
565
575
  #{ $prefix }__items-inline {
566
576
  display: flex;
567
577
  flex-wrap: wrap;
578
+ gap: get("inline-gap");
568
579
  > #{ $prefix }__item {
569
- margin-right: 1.5em;
580
+ margin: 0;
570
581
  }
571
582
  }
572
583
  #{ $prefix }__actions {
@@ -0,0 +1,83 @@
1
+ ////
2
+ /// @group headline-label
3
+ ////
4
+
5
+ @use "sass:map";
6
+ @use "sass:meta";
7
+ @use "../utils";
8
+ @use "../color";
9
+ @use "../typography";
10
+
11
+ // Used for function fallback
12
+ $-fallbacks: (
13
+ "font-weight" : (
14
+ "function" : meta.get-function("get", false, "typography"),
15
+ "property" : "font-weight-bold"
16
+ ),
17
+ "font-family" : (
18
+ "function" : meta.get-function("get", false, "typography"),
19
+ "property" : "font-family-sans"
20
+ ),
21
+ "line-height" : (
22
+ "function" : meta.get-function("get", false, "typography"),
23
+ "property" : "line-height-dense"
24
+ )
25
+ );
26
+
27
+ /// Module Settings
28
+ /// @type Map
29
+ /// @prop {Color} color [ulu.cssvar-use("color-accent")] The text color of the headline label.
30
+ /// @prop {Dimension} margin-bottom [0.2em] The bottom margin of the headline label.
31
+ /// @prop {String} font-weight [typography.get("font-weight-bold")] The font weight of the headline label.
32
+ /// @prop {String} font-family [typography.get("font-family-sans")] The font family of the headline label.
33
+ /// @prop {Dimension|Number} line-height [typography.get("line-height-dense")] The font family of the headline label.
34
+ /// @prop {String} text-transform [null] The font family of the headline label.
35
+ /// @prop {String} type-size ["small"] The typography size preset to use for the headline label (e.g., "small", "medium", "large"), Only uses the font-size value for size
36
+
37
+ $config: (
38
+ "color": "accent",
39
+ "margin-bottom": 0.2em,
40
+ "font-weight": true,
41
+ "font-family": true,
42
+ "line-height": true,
43
+ "text-transform" : null,
44
+ "type-size": "small"
45
+ ) !default;
46
+
47
+ /// Change modules $config
48
+ /// @param {Map} $changes Map of changes
49
+ /// @example scss
50
+ /// @include ulu.component-headline-label-set(( "color" : red ));
51
+
52
+ @mixin set($changes) {
53
+ $config: map.merge($config, $changes) !global;
54
+ }
55
+
56
+ /// Get a config option
57
+ /// @param {String} $name Name of property
58
+ /// @example scss
59
+ /// @include ulu.component-headline-label-get("color");
60
+
61
+ @function get($name) {
62
+ $value: utils.require-map-get($config, $name, "headline-label [config]");
63
+ @return utils.function-fallback($name, $value, $-fallbacks);
64
+ }
65
+
66
+ /// Prints component styles
67
+ /// @example scss
68
+ /// @include ulu.component-headline-label-styles();
69
+
70
+ @mixin styles {
71
+ .headline-label {
72
+ display: block;
73
+ margin-bottom: get("margin-bottom");
74
+ font-weight: get("font-weight");
75
+ font-family: get("font-family");
76
+ line-height: get("line-height");
77
+ text-transform: get("text-transform");
78
+ color: color.get(get("color"));
79
+ @if (get("type-size")) {
80
+ @include typography.size(get("type-size"), $only-font-size: true);
81
+ }
82
+ }
83
+ }
@@ -11,10 +11,20 @@
11
11
  @use "../utils";
12
12
  @use "../breakpoint";
13
13
  @use "../typography";
14
+ @use "../layout";
14
15
 
15
16
  /// Module Settings
16
17
  /// @type Map
17
18
  /// @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])
19
+ /// @prop {String} breakpoint ["medium"] At what breakpoint the hero goes to small screen styling.
20
+ /// @prop {Dimension} height [100vh] Height of the hero.
21
+ /// @prop {Dimension} height-compact [40vh] Height of the hero when using the "--compact" styling.
22
+ /// @prop {Dimension} graphic-height-stacked [60vh] Height of the graphic.
23
+ /// @prop {Dimension} content-max-width [40rem] Max width of the content.
24
+ /// @prop {Dimension} content-padding-top [3rem] Top padding of the content.
25
+ /// @prop {Dimension} content-padding-bottom [3rem] Bottom padding of the content.
26
+ /// @prop {CssValue} text-align [center] Text align of the content.
27
+
18
28
 
19
29
  $config: (
20
30
  "breakpoint" : "medium",
@@ -77,11 +87,7 @@ $config: (
77
87
  width: 100%;
78
88
  }
79
89
  #{ $prefix }__graphic-media {
80
- position: absolute;
81
- top: 0;
82
- left: 0;
83
- width: 100%;
84
- height: 100%;
90
+ @include layout.absolute-fill(true);
85
91
  object-fit: cover;
86
92
  }
87
93
 
@@ -162,11 +168,7 @@ $config: (
162
168
  z-index: 2;
163
169
  }
164
170
  #{ $prefix }__graphic {
165
- position: absolute;
166
- top: 0;
167
- left: 0;
168
- right: 0;
169
- bottom: 0;
171
+ @include layout.absolute-fill();
170
172
  }
171
173
  &#{ $prefix }--bottom,
172
174
  &#{ $prefix }--bottom #{ $prefix }__content {