@ulu/frontend 0.1.0-beta.10 → 0.1.0-beta.100

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 (324) hide show
  1. package/CHANGELOG.md +641 -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 +7184 -0
  12. package/docs-dev/demos/accordion/index.html +1277 -365
  13. package/docs-dev/demos/badge/index.html +5655 -0
  14. package/docs-dev/demos/badge-stack/index.html +5636 -0
  15. package/docs-dev/demos/{list-inline.1 → badge.1}/index.html +1231 -363
  16. package/docs-dev/demos/basic-hero/index.html +111 -0
  17. package/docs-dev/demos/breakpoints-manager/index.html +5666 -0
  18. package/docs-dev/demos/button/index.html +1309 -355
  19. package/docs-dev/demos/button-group/index.html +5652 -0
  20. package/docs-dev/demos/button-verbose/index.html +5658 -0
  21. package/docs-dev/demos/callout/index.html +1300 -347
  22. package/docs-dev/demos/captioned-figure/index.html +1271 -358
  23. package/docs-dev/demos/card/index.html +1374 -822
  24. package/docs-dev/demos/card-grid/index.html +5777 -0
  25. package/docs-dev/demos/counter-list/index.html +5660 -0
  26. package/docs-dev/demos/css-icons/index.html +1292 -356
  27. package/docs-dev/demos/data-grid/index.html +1271 -358
  28. package/docs-dev/demos/data-table/index.html +1405 -359
  29. package/docs-dev/demos/details-group/index.html +5687 -0
  30. package/docs-dev/demos/file-save/index.html +1271 -358
  31. package/docs-dev/demos/flipcard/index.html +1271 -358
  32. package/docs-dev/demos/form-theme/index.html +1295 -395
  33. package/docs-dev/demos/headline-label/index.html +5622 -0
  34. package/docs-dev/demos/hero/index.html +12 -4
  35. package/docs-dev/demos/image-grid/index.html +12 -4
  36. package/docs-dev/demos/index.html +1272 -359
  37. package/docs-dev/demos/list-inline/index.html +1271 -358
  38. package/docs-dev/demos/list-lines/index.html +1271 -358
  39. package/docs-dev/demos/menu-stack/index.html +1303 -375
  40. package/docs-dev/demos/modals/index.html +1382 -346
  41. package/docs-dev/demos/nav-strip/index.html +1271 -358
  42. package/docs-dev/demos/overlay-section/index.html +1335 -352
  43. package/docs-dev/demos/panel/index.html +5682 -0
  44. package/docs-dev/demos/popovers/index.html +1562 -407
  45. package/docs-dev/demos/print/index.html +1271 -358
  46. package/docs-dev/demos/pull-quote/index.html +1271 -358
  47. package/docs-dev/demos/rail/index.html +5730 -0
  48. package/docs-dev/demos/rule/index.html +1288 -363
  49. package/docs-dev/demos/scroll-slider/index.html +72 -106
  50. package/docs-dev/demos/scrollpoints/index.html +1272 -359
  51. package/docs-dev/demos/skeleton/index.html +5678 -0
  52. package/docs-dev/demos/slider/index.html +12 -4
  53. package/docs-dev/demos/spoke-spinner/index.html +1271 -358
  54. package/docs-dev/demos/sticky-list/index.html +5643 -0
  55. package/docs-dev/demos/tabs/index.html +1301 -352
  56. package/docs-dev/demos/tag/index.html +1271 -358
  57. package/docs-dev/demos/theme-toggle/index.html +5699 -0
  58. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  59. package/docs-dev/demos/tiles/index.html +1271 -358
  60. package/docs-dev/demos/tooltip/index.html +1271 -358
  61. package/docs-dev/demos/wysiwyg/index.html +5672 -0
  62. package/docs-dev/guide/building-stylesheet/index.html +1271 -358
  63. package/docs-dev/guide/developing-ulu-scss-module/index.html +1271 -358
  64. package/docs-dev/guide/index.html +1271 -358
  65. package/docs-dev/index.html +1271 -358
  66. package/docs-dev/javascript/events/index.html +1303 -352
  67. package/docs-dev/javascript/index.html +1271 -358
  68. package/docs-dev/javascript/settings/index.html +5825 -0
  69. package/docs-dev/javascript/ui-breakpoints/index.html +1285 -374
  70. package/docs-dev/javascript/ui-collapsible/index.html +1270 -359
  71. package/docs-dev/javascript/ui-details-group/index.html +5742 -0
  72. package/docs-dev/javascript/ui-dialog/index.html +1302 -376
  73. package/docs-dev/javascript/ui-flipcard/index.html +1331 -364
  74. package/docs-dev/javascript/ui-grid/index.html +1274 -389
  75. package/docs-dev/javascript/ui-modal-builder/index.html +1497 -446
  76. package/docs-dev/javascript/ui-overflow-scroller/index.html +1270 -359
  77. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1270 -359
  78. package/docs-dev/javascript/ui-page/index.html +1270 -359
  79. package/docs-dev/javascript/ui-popover/index.html +1280 -373
  80. package/docs-dev/javascript/ui-print/index.html +1268 -365
  81. package/docs-dev/javascript/ui-print-details/index.html +1270 -359
  82. package/docs-dev/javascript/ui-programmatic-modal/index.html +1270 -359
  83. package/docs-dev/javascript/ui-proxy-click/index.html +1331 -335
  84. package/docs-dev/javascript/ui-resizer/index.html +1588 -412
  85. package/docs-dev/javascript/ui-scroll-slider/index.html +1310 -367
  86. package/docs-dev/javascript/ui-scrollpoint/index.html +1280 -376
  87. package/docs-dev/javascript/ui-slider/index.html +1454 -352
  88. package/docs-dev/javascript/ui-tabs/index.html +1261 -387
  89. package/docs-dev/javascript/ui-theme-toggle/index.html +5830 -0
  90. package/docs-dev/javascript/ui-tooltip/index.html +1273 -366
  91. package/docs-dev/javascript/utils-class-logger/index.html +1271 -360
  92. package/docs-dev/javascript/utils-css/index.html +5644 -0
  93. package/docs-dev/javascript/utils-dom/index.html +1269 -438
  94. package/docs-dev/javascript/utils-file-save/index.html +1270 -359
  95. package/docs-dev/javascript/utils-floating-ui/index.html +1270 -359
  96. package/docs-dev/javascript/utils-id/index.html +1270 -359
  97. package/docs-dev/javascript/utils-pause-youtube-video/index.html +1270 -359
  98. package/docs-dev/javascript/utils-system/index.html +5947 -0
  99. package/docs-dev/sass/base/color/index.html +1270 -359
  100. package/docs-dev/sass/base/elements/index.html +1271 -360
  101. package/docs-dev/sass/base/index/index.html +1271 -360
  102. package/docs-dev/sass/base/index.html +1271 -358
  103. package/docs-dev/sass/base/keyframes/index.html +1271 -360
  104. package/docs-dev/sass/base/layout/index.html +1271 -360
  105. package/docs-dev/sass/base/normalize/index.html +1270 -359
  106. package/docs-dev/sass/base/print/index.html +1271 -360
  107. package/docs-dev/sass/base/root/index.html +1274 -363
  108. package/docs-dev/sass/base/typography/index.html +1270 -359
  109. package/docs-dev/sass/components/accordion/index.html +1293 -375
  110. package/docs-dev/sass/components/adaptive-spacing/index.html +1270 -359
  111. package/docs-dev/sass/components/badge/index.html +1295 -366
  112. package/docs-dev/sass/components/badge-stack/index.html +5811 -0
  113. package/docs-dev/sass/components/basic-hero/index.html +5805 -0
  114. package/docs-dev/sass/components/button/index.html +1270 -359
  115. package/docs-dev/sass/components/button-group/index.html +5803 -0
  116. package/docs-dev/sass/components/button-verbose/index.html +1342 -356
  117. package/docs-dev/sass/components/callout/index.html +1352 -422
  118. package/docs-dev/sass/components/captioned-figure/index.html +1373 -347
  119. package/docs-dev/sass/components/card/index.html +1339 -356
  120. package/docs-dev/sass/components/card-grid/index.html +1270 -359
  121. package/docs-dev/sass/components/counter-list/index.html +5887 -0
  122. package/docs-dev/sass/components/css-icon/index.html +1271 -360
  123. package/docs-dev/sass/components/data-grid/index.html +1290 -372
  124. package/docs-dev/sass/components/data-table/index.html +1449 -348
  125. package/docs-dev/sass/components/fill-context/index.html +1270 -359
  126. package/docs-dev/sass/components/flipcard/index.html +1305 -363
  127. package/docs-dev/sass/components/flipcard-grid/index.html +1270 -359
  128. package/docs-dev/sass/components/form-theme/index.html +1449 -442
  129. package/docs-dev/sass/components/headline-label/index.html +5833 -0
  130. package/docs-dev/sass/components/hero/index.html +1316 -357
  131. package/docs-dev/sass/components/horizontal-rule/index.html +1270 -359
  132. package/docs-dev/sass/components/image-grid/index.html +1270 -359
  133. package/docs-dev/sass/components/index/index.html +1289 -369
  134. package/docs-dev/sass/components/index.html +1271 -358
  135. package/docs-dev/sass/components/links/index.html +1270 -359
  136. package/docs-dev/sass/components/list-inline/index.html +1270 -359
  137. package/docs-dev/sass/components/list-lines/index.html +1270 -359
  138. package/docs-dev/sass/components/list-ordered/index.html +1270 -359
  139. package/docs-dev/sass/components/list-unordered/index.html +1270 -359
  140. package/docs-dev/sass/components/menu-stack/index.html +1294 -369
  141. package/docs-dev/sass/components/modal/index.html +1306 -360
  142. package/docs-dev/sass/components/nav-strip/index.html +1278 -367
  143. package/docs-dev/sass/components/overlay-section/index.html +1278 -367
  144. package/docs-dev/sass/components/pager/index.html +1270 -359
  145. package/docs-dev/sass/components/panel/index.html +6033 -0
  146. package/docs-dev/sass/components/placeholder-block/index.html +1270 -359
  147. package/docs-dev/sass/components/popover/index.html +1323 -376
  148. package/docs-dev/sass/components/pull-quote/index.html +1282 -371
  149. package/docs-dev/sass/components/rail/index.html +5823 -0
  150. package/docs-dev/sass/components/ratio-box/index.html +1278 -367
  151. package/docs-dev/sass/components/rule/index.html +1271 -360
  152. package/docs-dev/sass/components/scroll-slider/index.html +1280 -381
  153. package/docs-dev/sass/components/skeleton/index.html +5861 -0
  154. package/docs-dev/sass/components/skip-link/index.html +1270 -359
  155. package/docs-dev/sass/components/slider/index.html +1310 -411
  156. package/docs-dev/sass/components/spoke-spinner/index.html +1272 -361
  157. package/docs-dev/sass/components/sticky-list/index.html +6023 -0
  158. package/docs-dev/sass/components/table-sticky/index.html +5677 -0
  159. package/docs-dev/sass/components/tabs/index.html +1291 -365
  160. package/docs-dev/sass/components/tag/index.html +1272 -361
  161. package/docs-dev/sass/components/tile-button/index.html +1270 -359
  162. package/docs-dev/sass/components/tile-grid/index.html +1270 -359
  163. package/docs-dev/sass/components/tile-grid-overlay/index.html +1270 -359
  164. package/docs-dev/sass/components/vignette/index.html +1282 -365
  165. package/docs-dev/sass/components/wysiwyg/index.html +1296 -367
  166. package/docs-dev/sass/core/breakpoint/index.html +1349 -386
  167. package/docs-dev/sass/core/button/index.html +1302 -389
  168. package/docs-dev/sass/core/color/index.html +1414 -370
  169. package/docs-dev/sass/core/cssvar/index.html +1270 -359
  170. package/docs-dev/sass/core/element/index.html +1641 -448
  171. package/docs-dev/sass/core/index.html +1270 -359
  172. package/docs-dev/sass/core/layout/index.html +1318 -388
  173. package/docs-dev/sass/core/path/index.html +1270 -359
  174. package/docs-dev/sass/core/selector/index.html +1270 -359
  175. package/docs-dev/sass/core/typography/index.html +1270 -359
  176. package/docs-dev/sass/core/units/index.html +1278 -361
  177. package/docs-dev/sass/core/utils/index.html +2580 -520
  178. package/docs-dev/sass/helpers/color/index.html +1270 -359
  179. package/docs-dev/sass/helpers/display/index.html +1271 -360
  180. package/docs-dev/sass/helpers/index/index.html +1270 -359
  181. package/docs-dev/sass/helpers/index.html +1271 -358
  182. package/docs-dev/sass/helpers/print/index.html +759 -298
  183. package/docs-dev/sass/helpers/typography/index.html +1270 -359
  184. package/docs-dev/sass/helpers/units/index.html +1270 -359
  185. package/docs-dev/sass/helpers/utilities/index.html +1272 -361
  186. package/docs-dev/sass/index.html +1271 -358
  187. package/js/events/index.js +17 -5
  188. package/js/index.js +1 -0
  189. package/js/settings.js +97 -0
  190. package/js/ui/breakpoints.js +19 -16
  191. package/js/ui/collapsible.js +8 -1
  192. package/js/ui/details-group.js +112 -0
  193. package/js/ui/dialog.js +103 -44
  194. package/js/ui/dialog.todo +2 -36
  195. package/js/ui/flipcard.js +37 -57
  196. package/js/ui/grid.js +15 -13
  197. package/js/ui/index.js +1 -0
  198. package/js/ui/modal-builder.js +127 -70
  199. package/js/ui/overflow-scroller.js +6 -4
  200. package/js/ui/page.js +2 -2
  201. package/js/ui/popover.js +38 -38
  202. package/js/ui/print.js +16 -25
  203. package/js/ui/programmatic-modal.js +9 -3
  204. package/js/ui/proxy-click.js +50 -36
  205. package/js/ui/resizer.js +408 -39
  206. package/js/ui/scroll-slider.js +24 -30
  207. package/js/ui/scrollpoint.js +29 -64
  208. package/js/ui/slider.js +108 -63
  209. package/js/ui/tabs.js +23 -36
  210. package/js/ui/theme-toggle.js +332 -94
  211. package/js/ui/tooltip.js +27 -32
  212. package/js/utils/class-logger.js +3 -3
  213. package/js/utils/css.js +13 -0
  214. package/js/utils/dom.js +23 -64
  215. package/js/utils/font-awesome.js +19 -0
  216. package/js/utils/index.js +2 -1
  217. package/js/utils/system.js +155 -0
  218. package/package.json +23 -8
  219. package/scss/README.md +9 -0
  220. package/scss/_breakpoint.scss +39 -5
  221. package/scss/_button.scss +7 -5
  222. package/scss/_color.scss +42 -10
  223. package/scss/_element.scss +124 -2
  224. package/scss/_layout.scss +7 -8
  225. package/scss/_units.scss +3 -2
  226. package/scss/_utils.scss +387 -16
  227. package/scss/base/_elements.scss +0 -1
  228. package/scss/base/_index.scss +1 -1
  229. package/scss/base/_keyframes.scss +15 -0
  230. package/scss/base/_layout.scss +1 -0
  231. package/scss/base/_print.scss +2 -0
  232. package/scss/base/_root.scss +2 -0
  233. package/scss/components/README.todos +14 -0
  234. package/scss/components/_accordion.scss +33 -19
  235. package/scss/components/_badge-stack.scss +84 -0
  236. package/scss/components/_badge.scss +30 -7
  237. package/scss/components/_basic-hero.scss +112 -0
  238. package/scss/components/_button-group.scss +90 -0
  239. package/scss/components/_button-verbose.scss +100 -18
  240. package/scss/components/_callout.scss +125 -78
  241. package/scss/components/_captioned-figure.scss +17 -0
  242. package/scss/components/_card-grid.scss +1 -1
  243. package/scss/components/_card.scss +229 -67
  244. package/scss/components/_counter-list.scss +151 -0
  245. package/scss/components/_css-icon.scss +27 -17
  246. package/scss/components/_data-grid.scss +55 -12
  247. package/scss/components/_data-table.scss +39 -3
  248. package/scss/components/_flipcard.scss +8 -3
  249. package/scss/components/_form-theme.scss +119 -108
  250. package/scss/components/_headline-label.scss +83 -0
  251. package/scss/components/_hero.scss +12 -10
  252. package/scss/components/_index.scss +54 -0
  253. package/scss/components/_menu-stack.scss +42 -25
  254. package/scss/components/_modal.scss +51 -23
  255. package/scss/components/_nav-strip.scss +2 -0
  256. package/scss/components/_overlay-section.scss +2 -5
  257. package/scss/components/_panel.scss +246 -0
  258. package/scss/components/_popover.scss +165 -64
  259. package/scss/components/_pull-quote.scss +13 -13
  260. package/scss/components/_rail.scss +127 -0
  261. package/scss/components/_ratio-box.scss +2 -5
  262. package/scss/components/_rule.scss +1 -0
  263. package/scss/components/_scroll-slider.scss +1 -5
  264. package/scss/components/_skeleton.scss +126 -0
  265. package/scss/components/_slider.scss +49 -72
  266. package/scss/components/_spoke-spinner.scss +2 -2
  267. package/scss/components/_sticky-list.scss +206 -0
  268. package/scss/components/_tabs.scss +22 -4
  269. package/scss/components/_vignette.scss +3 -5
  270. package/scss/components/_wysiwyg.scss +21 -13
  271. package/scss/helpers/_display.scss +15 -18
  272. package/scss/helpers/_print.scss +12 -7
  273. package/scss/helpers/_utilities.scss +41 -31
  274. package/types/events/index.d.ts +10 -1
  275. package/types/events/index.d.ts.map +1 -1
  276. package/types/index.d.ts +1 -0
  277. package/types/settings.d.ts +70 -0
  278. package/types/settings.d.ts.map +1 -0
  279. package/types/ui/breakpoints.d.ts +14 -14
  280. package/types/ui/breakpoints.d.ts.map +1 -1
  281. package/types/ui/collapsible.d.ts.map +1 -1
  282. package/types/ui/details-group.d.ts +38 -0
  283. package/types/ui/details-group.d.ts.map +1 -0
  284. package/types/ui/dialog.d.ts +20 -14
  285. package/types/ui/dialog.d.ts.map +1 -1
  286. package/types/ui/flipcard.d.ts +16 -10
  287. package/types/ui/flipcard.d.ts.map +1 -1
  288. package/types/ui/grid.d.ts +4 -6
  289. package/types/ui/grid.d.ts.map +1 -1
  290. package/types/ui/index.d.ts +2 -1
  291. package/types/ui/modal-builder.d.ts +116 -11
  292. package/types/ui/modal-builder.d.ts.map +1 -1
  293. package/types/ui/overflow-scroller.d.ts +2 -2
  294. package/types/ui/overflow-scroller.d.ts.map +1 -1
  295. package/types/ui/popover.d.ts +6 -7
  296. package/types/ui/popover.d.ts.map +1 -1
  297. package/types/ui/print.d.ts +0 -4
  298. package/types/ui/print.d.ts.map +1 -1
  299. package/types/ui/programmatic-modal.d.ts.map +1 -1
  300. package/types/ui/proxy-click.d.ts +19 -3
  301. package/types/ui/proxy-click.d.ts.map +1 -1
  302. package/types/ui/resizer.d.ts +116 -16
  303. package/types/ui/resizer.d.ts.map +1 -1
  304. package/types/ui/scroll-slider.d.ts +5 -7
  305. package/types/ui/scroll-slider.d.ts.map +1 -1
  306. package/types/ui/scrollpoint.d.ts +3 -8
  307. package/types/ui/scrollpoint.d.ts.map +1 -1
  308. package/types/ui/slider.d.ts +33 -14
  309. package/types/ui/slider.d.ts.map +1 -1
  310. package/types/ui/tabs.d.ts +6 -8
  311. package/types/ui/tabs.d.ts.map +1 -1
  312. package/types/ui/theme-toggle.d.ts +51 -7
  313. package/types/ui/theme-toggle.d.ts.map +1 -1
  314. package/types/ui/tooltip.d.ts +3 -5
  315. package/types/ui/tooltip.d.ts.map +1 -1
  316. package/types/utils/css.d.ts +11 -0
  317. package/types/utils/css.d.ts.map +1 -0
  318. package/types/utils/dom.d.ts +12 -32
  319. package/types/utils/dom.d.ts.map +1 -1
  320. package/types/utils/font-awesome.d.ts +5 -0
  321. package/types/utils/font-awesome.d.ts.map +1 -0
  322. package/types/utils/index.d.ts +2 -1
  323. package/types/utils/system.d.ts +113 -0
  324. 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 {