@ulu/frontend 0.1.0-beta.4 → 0.1.0-beta.40

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 (295) hide show
  1. package/CHANGELOG.md +332 -1
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +28 -27
  4. package/docs-dev/assets/main.js +832 -421
  5. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  6. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  7. package/docs-dev/assets/style.css +629 -233
  8. package/docs-dev/changelog/index.html +6079 -0
  9. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  10. package/docs-dev/demos/accordion/index.html +904 -321
  11. package/docs-dev/demos/basic-hero/index.html +111 -0
  12. package/docs-dev/demos/breakpoints-manager/index.html +5246 -0
  13. package/docs-dev/demos/button/index.html +916 -323
  14. package/docs-dev/demos/button-verbose/index.html +5238 -0
  15. package/docs-dev/demos/callout/index.html +951 -328
  16. package/docs-dev/demos/captioned-figure/index.html +904 -321
  17. package/docs-dev/demos/card/index.html +970 -748
  18. package/docs-dev/demos/card-grid/index.html +5357 -0
  19. package/docs-dev/demos/card-new/index.html +5088 -0
  20. package/docs-dev/demos/card-old/index.html +5223 -0
  21. package/docs-dev/demos/card.1/index.html +5223 -0
  22. package/docs-dev/demos/card.TRASH/index.html +5541 -0
  23. package/docs-dev/demos/counter-list/index.html +5224 -0
  24. package/docs-dev/demos/css-icons/index.html +904 -321
  25. package/docs-dev/demos/data-grid/index.html +1014 -511
  26. package/docs-dev/demos/data-table/index.html +1064 -348
  27. package/docs-dev/demos/details-group/index.html +5267 -0
  28. package/docs-dev/demos/file-save/index.html +904 -321
  29. package/docs-dev/demos/flipcard/index.html +904 -321
  30. package/docs-dev/demos/form-theme/index.html +922 -352
  31. package/docs-dev/demos/hero/index.html +12 -4
  32. package/docs-dev/demos/image-grid/index.html +12 -4
  33. package/docs-dev/demos/index.html +904 -321
  34. package/docs-dev/demos/list-inline/index.html +5220 -0
  35. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  36. package/docs-dev/demos/list-lines/index.html +5210 -0
  37. package/docs-dev/demos/menu-stack/index.html +975 -377
  38. package/docs-dev/demos/modals/index.html +1010 -357
  39. package/docs-dev/demos/nav-strip/index.html +924 -377
  40. package/docs-dev/demos/overlay-section/index.html +979 -326
  41. package/docs-dev/demos/popovers/index.html +1152 -327
  42. package/docs-dev/demos/print/index.html +904 -321
  43. package/docs-dev/demos/pull-quote/index.html +904 -321
  44. package/docs-dev/demos/rule/index.html +952 -357
  45. package/docs-dev/demos/scroll-slider/index.html +72 -106
  46. package/docs-dev/demos/scrollpoints/index.html +905 -322
  47. package/docs-dev/demos/slider/index.html +12 -4
  48. package/docs-dev/demos/spoke-spinner/index.html +904 -321
  49. package/docs-dev/demos/sticky-list/index.html +5223 -0
  50. package/docs-dev/demos/tabs/index.html +944 -325
  51. package/docs-dev/demos/tag/index.html +904 -321
  52. package/docs-dev/demos/theme-toggle/index.html +5279 -0
  53. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  54. package/docs-dev/demos/tiles/index.html +904 -321
  55. package/docs-dev/demos/tooltip/index.html +904 -321
  56. package/docs-dev/guide/building-stylesheet/index.html +904 -321
  57. package/docs-dev/guide/developing-ulu-scss-module/index.html +904 -321
  58. package/docs-dev/guide/index.html +904 -321
  59. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  60. package/docs-dev/index.html +904 -321
  61. package/docs-dev/javascript/events/index.html +901 -320
  62. package/docs-dev/javascript/index.html +904 -321
  63. package/docs-dev/javascript/settings/index.html +5400 -0
  64. package/docs-dev/javascript/ui-breakpoints/index.html +916 -335
  65. package/docs-dev/javascript/ui-collapsible/index.html +901 -320
  66. package/docs-dev/javascript/ui-details-group/index.html +5322 -0
  67. package/docs-dev/javascript/ui-dialog/index.html +967 -371
  68. package/docs-dev/javascript/ui-flipcard/index.html +964 -327
  69. package/docs-dev/javascript/ui-grid/index.html +913 -358
  70. package/docs-dev/javascript/ui-modal-builder/index.html +914 -354
  71. package/docs-dev/javascript/ui-overflow-scroller/index.html +901 -320
  72. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +901 -320
  73. package/docs-dev/javascript/ui-page/index.html +901 -320
  74. package/docs-dev/javascript/ui-popover/index.html +911 -334
  75. package/docs-dev/javascript/ui-print/index.html +901 -328
  76. package/docs-dev/javascript/ui-print-details/index.html +901 -320
  77. package/docs-dev/javascript/ui-programmatic-modal/index.html +901 -320
  78. package/docs-dev/javascript/ui-proxy-click/index.html +990 -324
  79. package/docs-dev/javascript/ui-resizer/index.html +901 -320
  80. package/docs-dev/javascript/ui-scroll-slider/index.html +941 -328
  81. package/docs-dev/javascript/ui-scrollpoint/index.html +907 -333
  82. package/docs-dev/javascript/ui-slider/index.html +1099 -327
  83. package/docs-dev/javascript/ui-tabs/index.html +914 -370
  84. package/docs-dev/javascript/ui-theme-toggle/index.html +5410 -0
  85. package/docs-dev/javascript/ui-tooltip/index.html +940 -363
  86. package/docs-dev/javascript/utils-class-logger/index.html +901 -320
  87. package/docs-dev/javascript/utils-css/index.html +5224 -0
  88. package/docs-dev/javascript/utils-dom/index.html +1037 -334
  89. package/docs-dev/javascript/utils-file-save/index.html +901 -320
  90. package/docs-dev/javascript/utils-floating-ui/index.html +901 -320
  91. package/docs-dev/javascript/utils-id/index.html +901 -320
  92. package/docs-dev/javascript/utils-pause-youtube-video/index.html +901 -320
  93. package/docs-dev/javascript/utils-system/index.html +5527 -0
  94. package/docs-dev/sass/base/color/index.html +901 -320
  95. package/docs-dev/sass/base/elements/index.html +973 -392
  96. package/docs-dev/sass/base/index/index.html +959 -378
  97. package/docs-dev/sass/base/index.html +904 -321
  98. package/docs-dev/sass/base/keyframes/index.html +901 -320
  99. package/docs-dev/sass/base/layout/index.html +966 -385
  100. package/docs-dev/sass/base/normalize/index.html +901 -320
  101. package/docs-dev/sass/base/print/index.html +901 -320
  102. package/docs-dev/sass/base/root/index.html +901 -320
  103. package/docs-dev/sass/base/typography/index.html +901 -320
  104. package/docs-dev/sass/components/accordion/index.html +1026 -445
  105. package/docs-dev/sass/components/adaptive-spacing/index.html +1027 -446
  106. package/docs-dev/sass/components/badge/index.html +1005 -424
  107. package/docs-dev/sass/components/basic-hero/index.html +5385 -0
  108. package/docs-dev/sass/components/button/index.html +952 -371
  109. package/docs-dev/sass/components/button-verbose/index.html +1089 -433
  110. package/docs-dev/sass/components/callout/index.html +1086 -482
  111. package/docs-dev/sass/components/captioned-figure/index.html +1070 -374
  112. package/docs-dev/sass/components/card/index.html +1121 -491
  113. package/docs-dev/sass/components/card-grid/index.html +973 -392
  114. package/docs-dev/sass/components/counter-list/index.html +5458 -0
  115. package/docs-dev/sass/components/css-icon/index.html +1052 -464
  116. package/docs-dev/sass/components/data-grid/index.html +1087 -499
  117. package/docs-dev/sass/components/data-table/index.html +1154 -381
  118. package/docs-dev/sass/components/fill-context/index.html +901 -320
  119. package/docs-dev/sass/components/flipcard/index.html +1071 -459
  120. package/docs-dev/sass/components/flipcard-grid/index.html +960 -379
  121. package/docs-dev/sass/components/form-theme/index.html +1349 -672
  122. package/docs-dev/sass/components/hero/index.html +1016 -387
  123. package/docs-dev/sass/components/horizontal-rule/index.html +959 -378
  124. package/docs-dev/sass/components/image-grid/index.html +966 -385
  125. package/docs-dev/sass/components/index/index.html +1004 -419
  126. package/docs-dev/sass/components/index.html +904 -321
  127. package/docs-dev/sass/components/links/index.html +901 -320
  128. package/docs-dev/sass/components/list-inline/index.html +5399 -0
  129. package/docs-dev/sass/components/list-lines/index.html +1009 -432
  130. package/docs-dev/sass/components/list-ordered/index.html +903 -322
  131. package/docs-dev/sass/components/list-unordered/index.html +901 -320
  132. package/docs-dev/sass/components/menu-stack/index.html +1050 -456
  133. package/docs-dev/sass/components/modal/index.html +1032 -444
  134. package/docs-dev/sass/components/nav-strip/index.html +1023 -442
  135. package/docs-dev/sass/components/overlay-section/index.html +1010 -429
  136. package/docs-dev/sass/components/pager/index.html +1017 -436
  137. package/docs-dev/sass/components/placeholder-block/index.html +1017 -436
  138. package/docs-dev/sass/components/popover/index.html +1068 -451
  139. package/docs-dev/sass/components/pull-quote/index.html +1017 -436
  140. package/docs-dev/sass/components/ratio-box/index.html +969 -388
  141. package/docs-dev/sass/components/rule/index.html +972 -391
  142. package/docs-dev/sass/components/scroll-slider/index.html +1019 -450
  143. package/docs-dev/sass/components/skip-link/index.html +961 -380
  144. package/docs-dev/sass/components/slider/index.html +1023 -442
  145. package/docs-dev/sass/components/spoke-spinner/index.html +961 -380
  146. package/docs-dev/sass/components/sticky-list/index.html +5603 -0
  147. package/docs-dev/sass/components/tabs/index.html +1020 -439
  148. package/docs-dev/sass/components/tag/index.html +1064 -483
  149. package/docs-dev/sass/components/tile-button/index.html +1004 -423
  150. package/docs-dev/sass/components/tile-grid/index.html +1045 -464
  151. package/docs-dev/sass/components/tile-grid-overlay/index.html +940 -359
  152. package/docs-dev/sass/components/vignette/index.html +965 -378
  153. package/docs-dev/sass/components/wysiwyg/index.html +968 -387
  154. package/docs-dev/sass/core/breakpoint/index.html +1045 -450
  155. package/docs-dev/sass/core/button/index.html +1438 -857
  156. package/docs-dev/sass/core/color/index.html +1084 -496
  157. package/docs-dev/sass/core/cssvar/index.html +950 -369
  158. package/docs-dev/sass/core/element/index.html +1504 -782
  159. package/docs-dev/sass/core/index.html +901 -320
  160. package/docs-dev/sass/core/layout/index.html +1062 -462
  161. package/docs-dev/sass/core/path/index.html +953 -372
  162. package/docs-dev/sass/core/selector/index.html +952 -371
  163. package/docs-dev/sass/core/typography/index.html +1171 -590
  164. package/docs-dev/sass/core/units/index.html +984 -403
  165. package/docs-dev/sass/core/utils/index.html +1941 -500
  166. package/docs-dev/sass/helpers/color/index.html +901 -320
  167. package/docs-dev/sass/helpers/display/index.html +902 -321
  168. package/docs-dev/sass/helpers/index/index.html +956 -375
  169. package/docs-dev/sass/helpers/index.html +904 -321
  170. package/docs-dev/sass/helpers/print/index.html +843 -292
  171. package/docs-dev/sass/helpers/typography/index.html +901 -320
  172. package/docs-dev/sass/helpers/units/index.html +950 -369
  173. package/docs-dev/sass/helpers/utilities/index.html +903 -322
  174. package/docs-dev/sass/index.html +904 -321
  175. package/js/index.js +1 -0
  176. package/js/settings.js +95 -0
  177. package/js/ui/breakpoints.js +19 -16
  178. package/js/ui/collapsible.js +8 -1
  179. package/js/ui/details-group.js +112 -0
  180. package/js/ui/dialog.js +90 -42
  181. package/js/ui/dialog.todo +2 -36
  182. package/js/ui/flipcard.js +37 -57
  183. package/js/ui/grid.js +15 -13
  184. package/js/ui/index.js +1 -0
  185. package/js/ui/modal-builder.js +45 -54
  186. package/js/ui/overflow-scroller.js +6 -4
  187. package/js/ui/popover.js +38 -38
  188. package/js/ui/print.js +16 -25
  189. package/js/ui/programmatic-modal.js +9 -3
  190. package/js/ui/proxy-click.js +50 -36
  191. package/js/ui/scroll-slider.js +24 -30
  192. package/js/ui/scrollpoint.js +28 -64
  193. package/js/ui/slider.js +61 -62
  194. package/js/ui/tabs.js +23 -36
  195. package/js/ui/theme-toggle.js +331 -94
  196. package/js/ui/tooltip.js +27 -32
  197. package/js/utils/css.js +13 -0
  198. package/js/utils/dom.js +69 -4
  199. package/js/utils/font-awesome.js +18 -0
  200. package/js/utils/index.js +2 -1
  201. package/js/utils/system.js +154 -0
  202. package/package.json +10 -7
  203. package/scss/_breakpoint.scss +16 -3
  204. package/scss/_color.scss +9 -2
  205. package/scss/_element.scss +91 -0
  206. package/scss/_layout.scss +7 -8
  207. package/scss/_utils.scss +248 -13
  208. package/scss/components/README.todos +14 -0
  209. package/scss/components/_accordion.scss +18 -20
  210. package/scss/components/_badge.scss +3 -2
  211. package/scss/components/_basic-hero.scss +112 -0
  212. package/scss/components/_button-verbose.scss +102 -20
  213. package/scss/components/_callout.scss +127 -79
  214. package/scss/components/_captioned-figure.scss +23 -5
  215. package/scss/components/_card-grid.scss +1 -1
  216. package/scss/components/_card.scss +242 -88
  217. package/scss/components/_counter-list.scss +133 -0
  218. package/scss/components/_css-icon.scss +33 -28
  219. package/scss/components/_data-grid.scss +38 -9
  220. package/scss/components/_data-table.scss +44 -4
  221. package/scss/components/_flipcard.scss +21 -15
  222. package/scss/components/_form-theme.scss +146 -135
  223. package/scss/components/_hero.scss +12 -10
  224. package/scss/components/_index.scss +24 -0
  225. package/scss/components/_list-inline.scss +80 -0
  226. package/scss/components/_list-lines.scss +44 -33
  227. package/scss/components/_list-ordered.scss +0 -1
  228. package/scss/components/_menu-stack.scss +42 -26
  229. package/scss/components/_modal.scss +29 -19
  230. package/scss/components/_nav-strip.scss +25 -16
  231. package/scss/components/_overlay-section.scss +4 -6
  232. package/scss/components/_pager.scss +6 -6
  233. package/scss/components/_placeholder-block.scss +4 -4
  234. package/scss/components/_popover.scss +174 -73
  235. package/scss/components/_pull-quote.scss +13 -13
  236. package/scss/components/_ratio-box.scss +2 -5
  237. package/scss/components/_rule.scss +1 -1
  238. package/scss/components/_scroll-slider.scss +2 -6
  239. package/scss/components/_skip-link.scss +2 -1
  240. package/scss/components/_slider.scss +17 -38
  241. package/scss/components/_spoke-spinner.scss +2 -2
  242. package/scss/components/_sticky-list.scss +206 -0
  243. package/scss/components/_tabs.scss +4 -2
  244. package/scss/components/_tag.scss +1 -1
  245. package/scss/components/_vignette.scss +3 -5
  246. package/scss/helpers/_display.scss +15 -18
  247. package/scss/helpers/_print.scss +12 -7
  248. package/scss/helpers/_utilities.scss +42 -32
  249. package/types/index.d.ts +1 -0
  250. package/types/settings.d.ts +66 -0
  251. package/types/settings.d.ts.map +1 -0
  252. package/types/ui/breakpoints.d.ts +14 -14
  253. package/types/ui/breakpoints.d.ts.map +1 -1
  254. package/types/ui/collapsible.d.ts.map +1 -1
  255. package/types/ui/details-group.d.ts +38 -0
  256. package/types/ui/details-group.d.ts.map +1 -0
  257. package/types/ui/dialog.d.ts +20 -14
  258. package/types/ui/dialog.d.ts.map +1 -1
  259. package/types/ui/flipcard.d.ts +16 -10
  260. package/types/ui/flipcard.d.ts.map +1 -1
  261. package/types/ui/grid.d.ts +4 -6
  262. package/types/ui/grid.d.ts.map +1 -1
  263. package/types/ui/index.d.ts +1 -0
  264. package/types/ui/modal-builder.d.ts +8 -11
  265. package/types/ui/modal-builder.d.ts.map +1 -1
  266. package/types/ui/overflow-scroller.d.ts +2 -2
  267. package/types/ui/overflow-scroller.d.ts.map +1 -1
  268. package/types/ui/popover.d.ts +6 -7
  269. package/types/ui/popover.d.ts.map +1 -1
  270. package/types/ui/print.d.ts +0 -4
  271. package/types/ui/print.d.ts.map +1 -1
  272. package/types/ui/programmatic-modal.d.ts.map +1 -1
  273. package/types/ui/proxy-click.d.ts +19 -3
  274. package/types/ui/proxy-click.d.ts.map +1 -1
  275. package/types/ui/scroll-slider.d.ts +5 -7
  276. package/types/ui/scroll-slider.d.ts.map +1 -1
  277. package/types/ui/scrollpoint.d.ts +3 -8
  278. package/types/ui/scrollpoint.d.ts.map +1 -1
  279. package/types/ui/slider.d.ts +24 -14
  280. package/types/ui/slider.d.ts.map +1 -1
  281. package/types/ui/tabs.d.ts +6 -8
  282. package/types/ui/tabs.d.ts.map +1 -1
  283. package/types/ui/theme-toggle.d.ts +51 -7
  284. package/types/ui/theme-toggle.d.ts.map +1 -1
  285. package/types/ui/tooltip.d.ts +3 -5
  286. package/types/ui/tooltip.d.ts.map +1 -1
  287. package/types/utils/css.d.ts +11 -0
  288. package/types/utils/css.d.ts.map +1 -0
  289. package/types/utils/dom.d.ts +36 -4
  290. package/types/utils/dom.d.ts.map +1 -1
  291. package/types/utils/font-awesome.d.ts +5 -0
  292. package/types/utils/font-awesome.d.ts.map +1 -0
  293. package/types/utils/index.d.ts +1 -0
  294. package/types/utils/system.d.ts +113 -0
  295. 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) {
@@ -258,7 +274,7 @@ $config: (
258
274
  textarea,
259
275
  label,
260
276
  legend {
261
- color: get("color");
277
+ color: color.get(get("color"));
262
278
  font-size: 1em;
263
279
  max-width: 100%;
264
280
  line-height: typography.get("line-height-dense");
@@ -291,7 +307,7 @@ $config: (
291
307
  [type="password"],
292
308
  [type="file"] {
293
309
  padding: get("input-padding-y") get("input-padding-x");
294
- background-color: get("input-background-color");
310
+ background-color: color.get(get("input-background-color"));
295
311
  border-radius: get("input-border-radius");
296
312
  transition: border linear 0.2s;
297
313
  border: get("input-border");
@@ -305,9 +321,8 @@ $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
- background-color: get("select-background-color");
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");
312
327
  border: -fallback("select-border", "input-border");
313
328
  @if get("select-image") {
@@ -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;
@@ -365,39 +380,39 @@ $config: (
365
380
  opacity: 0;
366
381
  transform: rotate(45deg);
367
382
  transition: opacity ease-out 150ms;
368
- border: get("check-input-radio-size") solid get("check-input-mark-color");
383
+ border: get("check-input-radio-size") solid color.get(get("check-input-mark-color"));
369
384
  border-radius: 50%;
370
385
  }
371
386
  &:focus {
372
- background-color: get("check-input-touch-color-focus");
373
- &:before {
374
- border-color: get("check-input-border-color-focus");
387
+ background-color: color.get(get("check-input-touch-color-focus"));
388
+ &::before {
389
+ border-color: color.get(get("check-input-border-color-focus"));
375
390
  outline: get("check-input-outline-focus");
376
391
  }
377
- &:after {
378
- border-color: get("check-input-mark-color-focus");
392
+ &::after {
393
+ border-color: color.get(get("check-input-mark-color-focus"));
379
394
  }
380
395
  }
381
396
  &:hover {
382
- background-color: get("check-input-touch-color-hover");
383
- &:before {
397
+ background-color: color.get(get("check-input-touch-color-hover"));
398
+ &::before {
384
399
  outline: get("check-input-outline-hover");
385
- background-color: get("check-input-background-color-hover");
386
- border-color: get("check-input-border-color-hover");
400
+ background-color: color.get(get("check-input-background-color-hover"));
401
+ border-color: color.get(get("check-input-border-color-hover"));
387
402
  }
388
- &:after {
389
- border-color: get("check-input-mark-color-hover");
403
+ &::after {
404
+ border-color: color.get(get("check-input-mark-color-hover"));
390
405
  }
391
406
  }
392
407
  &:checked {
393
- &:before {
394
- background-color: get("check-input-background-color-checked");
395
- border-color: get("check-input-border-color-checked");
408
+ &::before {
409
+ background-color: color.get(get("check-input-background-color-checked"));
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
- border-color: get("check-input-mark-color-checked");
415
+ border-color: color.get(get("check-input-mark-color-checked"));
401
416
  }
402
417
  }
403
418
 
@@ -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,16 +442,16 @@ $config: (
427
442
  }
428
443
  &:indeterminate,
429
444
  &[aria-checked=mixed] {
430
- &:before {
431
- background-color: get("check-input-background-color-indeterminate");
432
- border-color: get("check-input-border-color-indeterminate");
445
+ &::before {
446
+ background-color: color.get(get("check-input-background-color-indeterminate"));
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;
438
453
  height: get("check-input-checkmark-stroke-size");
439
- border-color: get("check-input-mark-color-indeterminate");
454
+ border-color: color.get(get("check-input-mark-color-indeterminate"));
440
455
  }
441
456
  }
442
457
  }
@@ -449,38 +464,32 @@ $config: (
449
464
  margin-top: get("fieldset-margin-top");
450
465
  margin-bottom: get("fieldset-margin-bottom");
451
466
  border: get("fieldset-border");
452
- background-color: get("fieldset-background");
467
+ background-color: color.get(get("fieldset-background"));
453
468
  border-radius: get("fieldset-border-radius");
454
469
  padding: get("fieldset-padding");
455
470
 
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: 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
  }
475
484
  }
476
485
  &#{ $selectError } {
477
486
  > legend {
478
- color: $errorColor;
487
+ color: color.get($errorColor);
479
488
  }
480
489
  }
481
490
  &#{ $selectWarning } {
482
491
  > legend {
483
- color: $warningColor;
492
+ color: color.get($warningColor);
484
493
  }
485
494
  }
486
495
  }
@@ -501,8 +510,9 @@ $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
- color: get("description-color");
515
+ color: color.get(get("description-color"));
506
516
  }
507
517
 
508
518
  /// Styles for form item that should have label as block and text input
@@ -547,11 +557,11 @@ $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
- @include -form-item-state($selectError, $errorColor, get("error-highlight-color"));
554
- @include -form-item-state($selectWarning, $warningColor, get("warning-highlight-color"));
563
+ @include -form-item-state($selectError, $errorColor, color.get(get("error-highlight-color")));
564
+ @include -form-item-state($selectWarning, $warningColor, color.get(get("warning-highlight-color")));
555
565
  }
556
566
  #{ $prefix }__item--align-top {
557
567
  align-items: flex-start;
@@ -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 {
@@ -578,10 +589,10 @@ $config: (
578
589
  }
579
590
  }
580
591
  #{ $prefix }__error {
581
- color: $errorColor;
592
+ color: color.get($errorColor);
582
593
  }
583
594
  #{ $prefix }__warning {
584
- color: $warningColor;
595
+ color: color.get($warningColor);
585
596
  }
586
597
  }
587
598
 
@@ -622,12 +633,12 @@ $config: (
622
633
  // outline: get("item-outline-width") solid $highlightColor;
623
634
  box-shadow: 0 0 0 get("item-highlight-width") $highlightColor;
624
635
  label {
625
- color: $color;
636
+ color: color.get($color);
626
637
  }
627
638
  select,
628
639
  textarea,
629
640
  input:not([type="checkbox"]):not([type="radio"]) {
630
- border-color: $color;
641
+ border-color: color.get($color);
631
642
  }
632
643
  }
633
644
  }
@@ -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 {