@ulu/frontend 0.1.0-beta.11 → 0.1.0-beta.111

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 (342) hide show
  1. package/CHANGELOG.md +680 -0
  2. package/GEMINI.md +9 -0
  3. package/README.dev.md +3 -3
  4. package/README.md +14 -4
  5. package/dist/ulu-frontend.min.css +1 -1
  6. package/dist/ulu-frontend.min.js +36 -29
  7. package/docs-dev/.nojekyll +1 -0
  8. package/docs-dev/assets/main.js +832 -421
  9. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  10. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  11. package/docs-dev/assets/style.css +629 -233
  12. package/docs-dev/changelog/index.html +7484 -0
  13. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  14. package/docs-dev/demos/accordion/index.html +1442 -364
  15. package/docs-dev/demos/badge/index.html +5835 -0
  16. package/docs-dev/demos/badge-stack/index.html +5816 -0
  17. package/docs-dev/demos/basic-hero/index.html +111 -0
  18. package/docs-dev/demos/breadcrumb/index.html +5870 -0
  19. package/docs-dev/demos/breakpoints-manager/index.html +5846 -0
  20. package/docs-dev/demos/button/index.html +1490 -356
  21. package/docs-dev/demos/button-group/index.html +5832 -0
  22. package/docs-dev/demos/button-verbose/index.html +5838 -0
  23. package/docs-dev/demos/callout/index.html +1469 -349
  24. package/docs-dev/demos/captioned-figure/index.html +1446 -353
  25. package/docs-dev/demos/card/index.html +1518 -786
  26. package/docs-dev/demos/card-grid/index.html +5957 -0
  27. package/docs-dev/demos/card-new/index.html +5088 -0
  28. package/docs-dev/demos/card-old/index.html +5223 -0
  29. package/docs-dev/demos/card.1/index.html +5223 -0
  30. package/docs-dev/demos/card.TRASH/index.html +5541 -0
  31. package/docs-dev/demos/counter-list/index.html +5840 -0
  32. package/docs-dev/demos/css-icons/index.html +1466 -350
  33. package/docs-dev/demos/data-grid/index.html +1446 -353
  34. package/docs-dev/demos/data-table/index.html +1621 -395
  35. package/docs-dev/demos/details-group/index.html +5867 -0
  36. package/docs-dev/demos/donut-chart/index.html +5874 -0
  37. package/docs-dev/demos/file-save/index.html +1446 -353
  38. package/docs-dev/demos/flipcard/index.html +1446 -353
  39. package/docs-dev/demos/form-theme/index.html +1453 -360
  40. package/docs-dev/demos/headline-label/index.html +5802 -0
  41. package/docs-dev/demos/hero/index.html +12 -4
  42. package/docs-dev/demos/image-grid/index.html +12 -4
  43. package/docs-dev/demos/index.html +1447 -354
  44. package/docs-dev/demos/list-inline/index.html +1446 -353
  45. package/docs-dev/demos/list-lines/index.html +1446 -353
  46. package/docs-dev/demos/menu-stack/index.html +1550 -389
  47. package/docs-dev/demos/modals/index.html +1616 -400
  48. package/docs-dev/demos/nav-strip/index.html +1446 -353
  49. package/docs-dev/demos/overlay-section/index.html +1532 -369
  50. package/docs-dev/demos/panel/index.html +5862 -0
  51. package/docs-dev/demos/popovers/index.html +1710 -375
  52. package/docs-dev/demos/print/index.html +1446 -353
  53. package/docs-dev/demos/progress-bar/index.html +5964 -0
  54. package/docs-dev/demos/progress-circle/index.html +6137 -0
  55. package/docs-dev/demos/progress-donut/index.html +6107 -0
  56. package/docs-dev/demos/pull-quote/index.html +1446 -353
  57. package/docs-dev/demos/rail/index.html +5910 -0
  58. package/docs-dev/demos/rule/index.html +1455 -350
  59. package/docs-dev/demos/scroll-slider/index.html +72 -106
  60. package/docs-dev/demos/scrollpoints/index.html +1447 -354
  61. package/docs-dev/demos/skeleton/index.html +5858 -0
  62. package/docs-dev/demos/slider/index.html +12 -4
  63. package/docs-dev/demos/spoke-spinner/index.html +1446 -353
  64. package/docs-dev/demos/sticky-list/index.html +5823 -0
  65. package/docs-dev/demos/tabs/index.html +1474 -345
  66. package/docs-dev/demos/tag/index.html +1463 -358
  67. package/docs-dev/demos/theme-toggle/index.html +5879 -0
  68. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  69. package/docs-dev/demos/tiles/index.html +1446 -353
  70. package/docs-dev/demos/tooltip/index.html +1446 -353
  71. package/docs-dev/demos/wysiwyg/index.html +5852 -0
  72. package/docs-dev/guide/building-stylesheet/index.html +1446 -353
  73. package/docs-dev/guide/developing-ulu-scss-module/index.html +1446 -353
  74. package/docs-dev/guide/index.html +1446 -353
  75. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  76. package/docs-dev/index.html +1446 -353
  77. package/docs-dev/javascript/events/index.html +1476 -345
  78. package/docs-dev/javascript/index.html +1446 -353
  79. package/docs-dev/javascript/settings/index.html +6005 -0
  80. package/docs-dev/javascript/ui-breakpoints/index.html +1466 -375
  81. package/docs-dev/javascript/ui-collapsible/index.html +1451 -360
  82. package/docs-dev/javascript/ui-details-group/index.html +5922 -0
  83. package/docs-dev/javascript/ui-dialog/index.html +1469 -363
  84. package/docs-dev/javascript/ui-flipcard/index.html +1498 -351
  85. package/docs-dev/javascript/ui-grid/index.html +1448 -383
  86. package/docs-dev/javascript/ui-modal-builder/index.html +1661 -430
  87. package/docs-dev/javascript/ui-overflow-scroller/index.html +1451 -360
  88. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1451 -360
  89. package/docs-dev/javascript/ui-page/index.html +1451 -360
  90. package/docs-dev/javascript/ui-popover/index.html +1447 -360
  91. package/docs-dev/javascript/ui-print/index.html +1443 -360
  92. package/docs-dev/javascript/ui-print-details/index.html +1451 -360
  93. package/docs-dev/javascript/ui-programmatic-modal/index.html +1451 -360
  94. package/docs-dev/javascript/ui-proxy-click/index.html +1555 -379
  95. package/docs-dev/javascript/ui-resizer/index.html +1756 -400
  96. package/docs-dev/javascript/ui-scroll-slider/index.html +1477 -354
  97. package/docs-dev/javascript/ui-scrollpoint/index.html +1448 -364
  98. package/docs-dev/javascript/ui-slider/index.html +1681 -399
  99. package/docs-dev/javascript/ui-tabs/index.html +1495 -441
  100. package/docs-dev/javascript/ui-theme-toggle/index.html +6010 -0
  101. package/docs-dev/javascript/ui-tooltip/index.html +1454 -367
  102. package/docs-dev/javascript/utils-class-logger/index.html +1452 -361
  103. package/docs-dev/javascript/utils-css/index.html +5824 -0
  104. package/docs-dev/javascript/utils-dom/index.html +1484 -473
  105. package/docs-dev/javascript/utils-file-save/index.html +1451 -360
  106. package/docs-dev/javascript/utils-floating-ui/index.html +1451 -360
  107. package/docs-dev/javascript/utils-id/index.html +1451 -360
  108. package/docs-dev/javascript/utils-pause-youtube-video/index.html +1451 -360
  109. package/docs-dev/javascript/utils-system/index.html +6127 -0
  110. package/docs-dev/sass/base/color/index.html +1451 -360
  111. package/docs-dev/sass/base/elements/index.html +1452 -361
  112. package/docs-dev/sass/base/index/index.html +1452 -361
  113. package/docs-dev/sass/base/index.html +1446 -353
  114. package/docs-dev/sass/base/keyframes/index.html +1452 -361
  115. package/docs-dev/sass/base/layout/index.html +1452 -361
  116. package/docs-dev/sass/base/normalize/index.html +1451 -360
  117. package/docs-dev/sass/base/print/index.html +1452 -361
  118. package/docs-dev/sass/base/root/index.html +1455 -364
  119. package/docs-dev/sass/base/typography/index.html +1451 -360
  120. package/docs-dev/sass/components/accordion/index.html +1538 -406
  121. package/docs-dev/sass/components/adaptive-spacing/index.html +1451 -360
  122. package/docs-dev/sass/components/badge/index.html +1468 -359
  123. package/docs-dev/sass/components/badge-stack/index.html +5991 -0
  124. package/docs-dev/sass/components/basic-hero/index.html +5985 -0
  125. package/docs-dev/sass/components/breadcrumb/index.html +6032 -0
  126. package/docs-dev/sass/components/button/index.html +1451 -360
  127. package/docs-dev/sass/components/button-group/index.html +5983 -0
  128. package/docs-dev/sass/components/button-verbose/index.html +1523 -357
  129. package/docs-dev/sass/components/callout/index.html +1572 -422
  130. package/docs-dev/sass/components/captioned-figure/index.html +1591 -385
  131. package/docs-dev/sass/components/card/index.html +1511 -363
  132. package/docs-dev/sass/components/card-grid/index.html +1451 -360
  133. package/docs-dev/sass/components/counter-list/index.html +6067 -0
  134. package/docs-dev/sass/components/css-icon/index.html +1452 -361
  135. package/docs-dev/sass/components/data-grid/index.html +1465 -367
  136. package/docs-dev/sass/components/data-table/index.html +1648 -369
  137. package/docs-dev/sass/components/fill-context/index.html +1451 -360
  138. package/docs-dev/sass/components/flipcard/index.html +1479 -357
  139. package/docs-dev/sass/components/flipcard-grid/index.html +1451 -360
  140. package/docs-dev/sass/components/form-theme/index.html +1652 -566
  141. package/docs-dev/sass/components/headline-label/index.html +6013 -0
  142. package/docs-dev/sass/components/hero/index.html +1497 -358
  143. package/docs-dev/sass/components/horizontal-rule/index.html +1451 -360
  144. package/docs-dev/sass/components/image-grid/index.html +1451 -360
  145. package/docs-dev/sass/components/index/index.html +1466 -362
  146. package/docs-dev/sass/components/index.html +1446 -353
  147. package/docs-dev/sass/components/links/index.html +1451 -360
  148. package/docs-dev/sass/components/list-inline/index.html +1451 -360
  149. package/docs-dev/sass/components/list-lines/index.html +1451 -360
  150. package/docs-dev/sass/components/list-ordered/index.html +1451 -360
  151. package/docs-dev/sass/components/list-unordered/index.html +1451 -360
  152. package/docs-dev/sass/components/menu-stack/index.html +1476 -371
  153. package/docs-dev/sass/components/modal/index.html +1486 -360
  154. package/docs-dev/sass/components/nav-strip/index.html +1459 -368
  155. package/docs-dev/sass/components/overlay-section/index.html +1459 -368
  156. package/docs-dev/sass/components/pager/index.html +1451 -360
  157. package/docs-dev/sass/components/panel/index.html +6213 -0
  158. package/docs-dev/sass/components/placeholder-block/index.html +1451 -360
  159. package/docs-dev/sass/components/popover/index.html +1497 -370
  160. package/docs-dev/sass/components/progress-bar/index.html +6192 -0
  161. package/docs-dev/sass/components/progress-circle/index.html +6084 -0
  162. package/docs-dev/sass/components/pull-quote/index.html +1463 -372
  163. package/docs-dev/sass/components/rail/index.html +6003 -0
  164. package/docs-dev/sass/components/ratio-box/index.html +1459 -368
  165. package/docs-dev/sass/components/rule/index.html +1452 -361
  166. package/docs-dev/sass/components/scroll-slider/index.html +1447 -368
  167. package/docs-dev/sass/components/skeleton/index.html +6041 -0
  168. package/docs-dev/sass/components/skip-link/index.html +1451 -360
  169. package/docs-dev/sass/components/slider/index.html +1491 -412
  170. package/docs-dev/sass/components/spoke-spinner/index.html +1453 -362
  171. package/docs-dev/sass/components/sticky-list/index.html +6203 -0
  172. package/docs-dev/sass/components/table-sticky/index.html +5707 -0
  173. package/docs-dev/sass/components/tabs/index.html +1472 -366
  174. package/docs-dev/sass/components/tag/index.html +1563 -378
  175. package/docs-dev/sass/components/tile-button/index.html +1451 -360
  176. package/docs-dev/sass/components/tile-grid/index.html +1451 -360
  177. package/docs-dev/sass/components/tile-grid-overlay/index.html +1451 -360
  178. package/docs-dev/sass/components/vignette/index.html +1457 -360
  179. package/docs-dev/sass/components/wysiwyg/index.html +1477 -368
  180. package/docs-dev/sass/core/breakpoint/index.html +1530 -387
  181. package/docs-dev/sass/core/button/index.html +1483 -390
  182. package/docs-dev/sass/core/color/index.html +1666 -443
  183. package/docs-dev/sass/core/cssvar/index.html +1451 -360
  184. package/docs-dev/sass/core/element/index.html +1790 -417
  185. package/docs-dev/sass/core/index.html +1451 -360
  186. package/docs-dev/sass/core/layout/index.html +1491 -381
  187. package/docs-dev/sass/core/path/index.html +1451 -360
  188. package/docs-dev/sass/core/selector/index.html +1451 -360
  189. package/docs-dev/sass/core/typography/index.html +1591 -442
  190. package/docs-dev/sass/core/units/index.html +1453 -356
  191. package/docs-dev/sass/core/utils/index.html +2744 -504
  192. package/docs-dev/sass/helpers/color/index.html +1451 -360
  193. package/docs-dev/sass/helpers/display/index.html +1452 -361
  194. package/docs-dev/sass/helpers/index/index.html +1451 -360
  195. package/docs-dev/sass/helpers/index.html +1446 -353
  196. package/docs-dev/sass/helpers/print/index.html +759 -298
  197. package/docs-dev/sass/helpers/typography/index.html +1451 -360
  198. package/docs-dev/sass/helpers/units/index.html +1451 -360
  199. package/docs-dev/sass/helpers/utilities/index.html +1449 -354
  200. package/docs-dev/sass/index.html +1446 -353
  201. package/js/events/index.js +17 -5
  202. package/js/index.js +1 -0
  203. package/js/settings.js +97 -0
  204. package/js/ui/breakpoints.js +19 -16
  205. package/js/ui/collapsible.js +8 -1
  206. package/js/ui/details-group.js +112 -0
  207. package/js/ui/dialog.js +103 -44
  208. package/js/ui/dialog.todo +2 -36
  209. package/js/ui/flipcard.js +37 -57
  210. package/js/ui/grid.js +15 -13
  211. package/js/ui/index.js +1 -0
  212. package/js/ui/modal-builder.js +127 -70
  213. package/js/ui/overflow-scroller.js +6 -4
  214. package/js/ui/page.js +2 -2
  215. package/js/ui/popover.js +38 -38
  216. package/js/ui/print.js +16 -25
  217. package/js/ui/programmatic-modal.js +9 -3
  218. package/js/ui/proxy-click.js +50 -36
  219. package/js/ui/resizer.js +408 -39
  220. package/js/ui/scroll-slider.js +24 -30
  221. package/js/ui/scrollpoint.js +29 -64
  222. package/js/ui/slider.js +108 -63
  223. package/js/ui/tabs.js +23 -36
  224. package/js/ui/theme-toggle.js +332 -94
  225. package/js/ui/tooltip.js +27 -32
  226. package/js/utils/class-logger.js +3 -3
  227. package/js/utils/css.js +13 -0
  228. package/js/utils/dom.js +23 -64
  229. package/js/utils/font-awesome.js +19 -0
  230. package/js/utils/index.js +2 -1
  231. package/js/utils/system.js +155 -0
  232. package/package.json +23 -8
  233. package/scss/README.md +9 -0
  234. package/scss/_breakpoint.scss +39 -5
  235. package/scss/_button.scss +7 -5
  236. package/scss/_color.scss +71 -40
  237. package/scss/_element.scss +124 -2
  238. package/scss/_layout.scss +7 -8
  239. package/scss/_typography.scss +15 -0
  240. package/scss/_units.scss +3 -2
  241. package/scss/_utils.scss +387 -16
  242. package/scss/base/_elements.scss +0 -1
  243. package/scss/base/_index.scss +1 -1
  244. package/scss/base/_keyframes.scss +15 -0
  245. package/scss/base/_layout.scss +1 -0
  246. package/scss/base/_print.scss +2 -0
  247. package/scss/base/_root.scss +2 -0
  248. package/scss/components/README.todos +1 -0
  249. package/scss/components/_accordion.scss +166 -109
  250. package/scss/components/_badge-stack.scss +84 -0
  251. package/scss/components/_badge.scss +30 -7
  252. package/scss/components/_basic-hero.scss +112 -0
  253. package/scss/components/_breadcrumb.scss +110 -0
  254. package/scss/components/_button-group.scss +90 -0
  255. package/scss/components/_button-verbose.scss +100 -18
  256. package/scss/components/_callout.scss +112 -53
  257. package/scss/components/_captioned-figure.scss +17 -0
  258. package/scss/components/_card.scss +222 -66
  259. package/scss/components/_counter-list.scss +151 -0
  260. package/scss/components/_css-icon.scss +27 -17
  261. package/scss/components/_data-grid.scss +55 -12
  262. package/scss/components/_data-table.scss +31 -0
  263. package/scss/components/_flipcard.scss +8 -3
  264. package/scss/components/_form-theme.scss +106 -95
  265. package/scss/components/_headline-label.scss +83 -0
  266. package/scss/components/_hero.scss +12 -10
  267. package/scss/components/_index.scss +73 -0
  268. package/scss/components/_menu-stack.scss +69 -32
  269. package/scss/components/_modal.scss +51 -23
  270. package/scss/components/_nav-strip.scss +2 -0
  271. package/scss/components/_overlay-section.scss +2 -5
  272. package/scss/components/_panel.scss +246 -0
  273. package/scss/components/_popover.scss +165 -64
  274. package/scss/components/_progress-bar.scss +254 -0
  275. package/scss/components/_progress-circle.scss +175 -0
  276. package/scss/components/_pull-quote.scss +13 -13
  277. package/scss/components/_rail.scss +127 -0
  278. package/scss/components/_ratio-box.scss +2 -5
  279. package/scss/components/_rule.scss +1 -0
  280. package/scss/components/_scroll-slider.scss +1 -5
  281. package/scss/components/_skeleton.scss +126 -0
  282. package/scss/components/_slider.scss +49 -72
  283. package/scss/components/_spoke-spinner.scss +2 -2
  284. package/scss/components/_sticky-list.scss +206 -0
  285. package/scss/components/_tabs.scss +22 -4
  286. package/scss/components/_tag.scss +49 -7
  287. package/scss/components/_vignette.scss +3 -5
  288. package/scss/components/_wysiwyg.scss +21 -13
  289. package/scss/helpers/_display.scss +15 -18
  290. package/scss/helpers/_print.scss +12 -7
  291. package/scss/helpers/_utilities.scss +56 -34
  292. package/types/events/index.d.ts +10 -1
  293. package/types/events/index.d.ts.map +1 -1
  294. package/types/index.d.ts +1 -0
  295. package/types/settings.d.ts +70 -0
  296. package/types/settings.d.ts.map +1 -0
  297. package/types/ui/breakpoints.d.ts +14 -14
  298. package/types/ui/breakpoints.d.ts.map +1 -1
  299. package/types/ui/collapsible.d.ts.map +1 -1
  300. package/types/ui/details-group.d.ts +38 -0
  301. package/types/ui/details-group.d.ts.map +1 -0
  302. package/types/ui/dialog.d.ts +20 -14
  303. package/types/ui/dialog.d.ts.map +1 -1
  304. package/types/ui/flipcard.d.ts +16 -10
  305. package/types/ui/flipcard.d.ts.map +1 -1
  306. package/types/ui/grid.d.ts +4 -6
  307. package/types/ui/grid.d.ts.map +1 -1
  308. package/types/ui/index.d.ts +1 -0
  309. package/types/ui/modal-builder.d.ts +116 -11
  310. package/types/ui/modal-builder.d.ts.map +1 -1
  311. package/types/ui/overflow-scroller.d.ts +2 -2
  312. package/types/ui/overflow-scroller.d.ts.map +1 -1
  313. package/types/ui/popover.d.ts +6 -7
  314. package/types/ui/popover.d.ts.map +1 -1
  315. package/types/ui/print.d.ts +0 -4
  316. package/types/ui/print.d.ts.map +1 -1
  317. package/types/ui/programmatic-modal.d.ts.map +1 -1
  318. package/types/ui/proxy-click.d.ts +19 -3
  319. package/types/ui/proxy-click.d.ts.map +1 -1
  320. package/types/ui/resizer.d.ts +116 -16
  321. package/types/ui/resizer.d.ts.map +1 -1
  322. package/types/ui/scroll-slider.d.ts +5 -7
  323. package/types/ui/scroll-slider.d.ts.map +1 -1
  324. package/types/ui/scrollpoint.d.ts +3 -8
  325. package/types/ui/scrollpoint.d.ts.map +1 -1
  326. package/types/ui/slider.d.ts +33 -14
  327. package/types/ui/slider.d.ts.map +1 -1
  328. package/types/ui/tabs.d.ts +6 -8
  329. package/types/ui/tabs.d.ts.map +1 -1
  330. package/types/ui/theme-toggle.d.ts +51 -7
  331. package/types/ui/theme-toggle.d.ts.map +1 -1
  332. package/types/ui/tooltip.d.ts +3 -5
  333. package/types/ui/tooltip.d.ts.map +1 -1
  334. package/types/utils/css.d.ts +11 -0
  335. package/types/utils/css.d.ts.map +1 -0
  336. package/types/utils/dom.d.ts +12 -32
  337. package/types/utils/dom.d.ts.map +1 -1
  338. package/types/utils/font-awesome.d.ts +5 -0
  339. package/types/utils/font-awesome.d.ts.map +1 -0
  340. package/types/utils/index.d.ts +1 -0
  341. package/types/utils/system.d.ts +113 -0
  342. package/types/utils/system.d.ts.map +1 -0
@@ -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 {
@@ -6,11 +6,16 @@
6
6
  @forward "accordion" as accordion-*;
7
7
  @forward "adaptive-spacing" as adaptive-spacing-*;
8
8
  @forward "badge" as badge-*;
9
+ @forward "badge-stack" as badge-stack-*;
10
+ @forward "basic-hero" as basic-hero-*;
9
11
  @forward "button" as button-*;
12
+ @forward "button-group" as button-group-*;
10
13
  @forward "button-verbose" as button-verbose-*;
14
+ @forward "breadcrumb" as breadcrumb-*;
11
15
  @forward "callout" as callout-*;
12
16
  @forward "card" as card-*;
13
17
  @forward "card-grid" as card-grid-*;
18
+ @forward "counter-list" as counter-list-*;
14
19
  @forward "css-icon" as css-icon-*;
15
20
  @forward "data-grid" as data-grid-*;
16
21
  @forward "data-table" as data-table-*;
@@ -18,6 +23,7 @@
18
23
  @forward "flipcard" as flipcard-*;
19
24
  @forward "flipcard-grid" as flipcard-grid-*;
20
25
  @forward "form-theme" as form-theme-*;
26
+ @forward "headline-label" as headline-label-*;
21
27
  @forward "horizontal-rule" as horizontal-rule-*;
22
28
  @forward "image-grid" as image-grid-*;
23
29
  @forward "links" as links-*;
@@ -30,13 +36,19 @@
30
36
  @forward "nav-strip" as nav-strip-*;
31
37
  @forward "overlay-section" as overlay-section-*;
32
38
  @forward "pager" as pager-*;
39
+ @forward "panel" as panel-*;
33
40
  @forward "placeholder-block" as placeholder-block-*;
34
41
  @forward "pull-quote" as pull-quote-*;
35
42
  @forward "popover" as popover-*;
43
+ @forward "progress-bar" as progress-bar-*;
44
+ @forward "progress-circle" as progress-circle-*;
45
+ @forward "rail" as rail-*;
36
46
  @forward "ratio-box" as ratio-box-*;
37
47
  @forward "rule" as rule-*;
38
48
  @forward "scroll-slider" as scroll-slider-*;
49
+ @forward "skeleton" as skeleton-*;
39
50
  @forward "skip-link" as skip-link-*;
51
+ @forward "sticky-list" as sticky-list-*;
40
52
  @forward "slider" as slider-*;
41
53
  @forward "hero" as hero-*;
42
54
  @forward "tabs" as tabs-*;
@@ -55,11 +67,16 @@
55
67
  @use "adaptive-spacing";
56
68
  @use "accordion";
57
69
  @use "badge";
70
+ @use "badge-stack";
71
+ @use "basic-hero";
58
72
  @use "button";
73
+ @use "button-group";
59
74
  @use "button-verbose";
75
+ @use "breadcrumb";
60
76
  @use "callout";
61
77
  @use "card";
62
78
  @use "card-grid";
79
+ @use "counter-list";
63
80
  @use "css-icon";
64
81
  @use "data-grid";
65
82
  @use "data-table";
@@ -67,6 +84,7 @@
67
84
  @use "flipcard";
68
85
  @use "flipcard-grid";
69
86
  @use "form-theme";
87
+ @use "headline-label";
70
88
  @use "horizontal-rule";
71
89
  @use "image-grid";
72
90
  @use "list-lines";
@@ -79,13 +97,19 @@
79
97
  @use "nav-strip";
80
98
  @use "overlay-section";
81
99
  @use "pager";
100
+ @use "panel";
82
101
  @use "placeholder-block";
83
102
  @use "popover";
103
+ @use "progress-bar";
104
+ @use "progress-circle";
84
105
  @use "pull-quote";
106
+ @use "rail";
85
107
  @use "ratio-box";
86
108
  @use "rule";
87
109
  @use "scroll-slider";
110
+ @use "skeleton";
88
111
  @use "skip-link";
112
+ @use "sticky-list";
89
113
  @use "slider";
90
114
  @use "hero";
91
115
  @use "tabs";
@@ -105,11 +129,16 @@ $all-includes: (
105
129
  "accordion",
106
130
  "adaptive-spacing",
107
131
  "badge",
132
+ "badge-stack",
133
+ "basic-hero",
108
134
  "button",
135
+ "button-group",
109
136
  "button-verbose",
137
+ "breadcrumb",
110
138
  "callout",
111
139
  "card",
112
140
  "card-grid",
141
+ "counter-list",
113
142
  "css-icon",
114
143
  "data-grid",
115
144
  "data-table",
@@ -117,6 +146,7 @@ $all-includes: (
117
146
  "flipcard",
118
147
  "flipcard-grid",
119
148
  "form-theme",
149
+ "headline-label",
120
150
  "horizontal-rule",
121
151
  "image-grid",
122
152
  "links",
@@ -129,11 +159,18 @@ $all-includes: (
129
159
  "nav-strip",
130
160
  "overlay-section",
131
161
  "pager",
162
+ "panel",
132
163
  "popover",
164
+ "progress-bar",
165
+ "progress-circle",
166
+ "pull-quote",
167
+ "rail",
133
168
  "ratio-box",
134
169
  "rule",
135
170
  "scroll-slider",
171
+ "skeleton",
136
172
  "skip-link",
173
+ "sticky-list",
137
174
  "slider",
138
175
  "hero",
139
176
  "tabs",
@@ -193,12 +230,24 @@ $current-includes: $all-includes;
193
230
  @if (list.index($includes, "button")) {
194
231
  @include button.styles;
195
232
  }
233
+ @if (list.index($includes, "button-group")) {
234
+ @include button-group.styles;
235
+ }
196
236
  @if (list.index($includes, "button-verbose")) {
197
237
  @include button-verbose.styles;
198
238
  }
239
+ @if (list.index($includes, "breadcrumb")) {
240
+ @include breadcrumb.styles;
241
+ }
199
242
  @if (list.index($includes, "badge")) {
200
243
  @include badge.styles;
201
244
  }
245
+ @if (list.index($includes, "badge-stack")) {
246
+ @include badge-stack.styles;
247
+ }
248
+ @if (list.index($includes, "basic-hero")) {
249
+ @include basic-hero.styles;
250
+ }
202
251
  @if (list.index($includes, "tag")) {
203
252
  @include tag.styles;
204
253
  }
@@ -211,6 +260,9 @@ $current-includes: $all-includes;
211
260
  @if (list.index($includes, "card-grid")) {
212
261
  @include card-grid.styles;
213
262
  }
263
+ @if (list.index($includes, "counter-list")) {
264
+ @include counter-list.styles;
265
+ }
214
266
  @if (list.index($includes, "css-icon")) {
215
267
  @include css-icon.styles;
216
268
  }
@@ -232,6 +284,9 @@ $current-includes: $all-includes;
232
284
  @if (list.index($includes, "form-theme")) {
233
285
  @include form-theme.styles;
234
286
  }
287
+ @if (list.index($includes, "headline-label")) {
288
+ @include headline-label.styles;
289
+ }
235
290
  @if (list.index($includes, "horizontal-rule")) {
236
291
  @include horizontal-rule.styles;
237
292
  }
@@ -268,15 +323,27 @@ $current-includes: $all-includes;
268
323
  @if (list.index($includes, "pager")) {
269
324
  @include pager.styles;
270
325
  }
326
+ @if (list.index($includes, "panel")) {
327
+ @include panel.styles;
328
+ }
271
329
  @if (list.index($includes, "placeholder-block")) {
272
330
  @include placeholder-block.styles;
273
331
  }
274
332
  @if (list.index($includes, "popover")) {
275
333
  @include popover.styles;
276
334
  }
335
+ @if (list.index($includes, "progress-bar")) {
336
+ @include progress-bar.styles;
337
+ }
338
+ @if (list.index($includes, "progress-circle")) {
339
+ @include progress-circle.styles;
340
+ }
277
341
  @if (list.index($includes, "pull-quote")) {
278
342
  @include pull-quote.styles;
279
343
  }
344
+ @if (list.index($includes, "rail")) {
345
+ @include rail.styles;
346
+ }
280
347
  @if (list.index($includes, "ratio-box")) {
281
348
  @include ratio-box.styles;
282
349
  }
@@ -286,9 +353,15 @@ $current-includes: $all-includes;
286
353
  @if (list.index($includes, "scroll-slider")) {
287
354
  @include scroll-slider.styles;
288
355
  }
356
+ @if (list.index($includes, "skeleton")) {
357
+ @include skeleton.styles;
358
+ }
289
359
  @if (list.index($includes, "skip-link")) {
290
360
  @include skip-link.styles;
291
361
  }
362
+ @if (list.index($includes, "sticky-list")) {
363
+ @include sticky-list.styles;
364
+ }
292
365
  @if (list.index($includes, "slider")) {
293
366
  @include slider.styles;
294
367
  }
@@ -19,12 +19,20 @@ $-fallbacks: (
19
19
  "link-border-radius" : (
20
20
  "function" : meta.get-function("get", false, "button"),
21
21
  "property" : "border-radius"
22
+ ),
23
+ "label-line-height" : (
24
+ "function" : meta.get-function("get", false, "typography"),
25
+ "property" : "line-height-dense"
26
+ ),
27
+ "link-line-height" : (
28
+ "function" : meta.get-function("get", false, "typography"),
29
+ "property" : "line-height-dense"
22
30
  )
23
31
  );
24
32
 
25
33
  /// Module Settings
26
34
  /// @type Map
27
- /// @prop {Dimension} checkbox-area-width [3em] The width of the checkbox area.
35
+ /// @prop {Dimension} selectable-input-width [3em] The width of the checkbox/radio input
28
36
  /// @prop {Boolean} link-separated-margin [false] Enables a margin between the items in the menu-stack.
29
37
  /// @prop {Boolean} link-separated-rule-style [false] Enables a rule between the items in the menu-stack.
30
38
  /// @prop {Dimension} nested-indent [0.5em] The indentation of child lists within the menu-stack.
@@ -36,7 +44,8 @@ $-fallbacks: (
36
44
  /// @prop {Color} label-color [null] The type color of the label.
37
45
  /// @prop {Dimension} label-margin [0.5em] The margin of the label.
38
46
  /// @prop {CssValue} label-text-transform [uppercase] Transforms the label text.
39
- /// @prop {CssValue} label-type-size [false] Adjusts the type size of the label.
47
+ /// @prop {CssValue} label-type-size [false] Adjusts the type size of the label. Only uses font-size from type size.
48
+ /// @prop {CssValue} label-line-height [true] Adjust the label line-height, defaults to typography line-height-dense
40
49
  /// @prop {list} link-active-selectors [(.is-active, '[aria-current=page]')] Selectors to apply active styling.
41
50
  /// @prop {Color} link-background-color [transparent] The background color of the menu-stack toggle.
42
51
  /// @prop {Color} link-background-color-active [rgb(219, 219, 219)] The background color of the menu-stack toggle when active.
@@ -46,6 +55,7 @@ $-fallbacks: (
46
55
  /// @prop {Color} link-color-active [black] The type color of the menu-stack toggle when active.
47
56
  /// @prop {String} link-color-hover [link-hover] The type color of the menu-stack toggle when hovered or focused. This uses color.scss, so the value of this option should be a color variable from color.scss.
48
57
  /// @prop {CssValue} link-font-weight [null] The font weight of the menu-stack toggle.
58
+ /// @prop {CssValue} label-line-height [true] Adjust the link line-height, defaults to typography line-height-dense
49
59
  /// @prop {Dimension} link-icon-margin [0.65em] Adds a right margin to the icon.
50
60
  /// @prop {Dimension} link-icon-width [1em] The width of the icon.
51
61
  /// @prop {Dimension} link-margin [0.2em] Margin for the menu-stack toggle.
@@ -53,33 +63,35 @@ $-fallbacks: (
53
63
  /// @prop {Dimension} link-padding-y [0.35em] Vertical padding for menu-stack toggle.
54
64
 
55
65
  $config: (
56
- "checkbox-area-width" : 3em,
66
+ "selectable-input-width" : 3em,
57
67
  "nested-indent" : 0.5em,
58
- "rule-style" : "default",
68
+ "rule-style" : "light",
59
69
  "rule-margin" : 0.5em,
60
- "link-separated-margin" : false,
61
- "link-separated-rule-style" : false,
62
70
  "toggle-icon-rotate" : false,
63
- "compact-link-padding-x": 0.75em,
64
- "compact-link-padding-y": 0.25em,
65
71
  "label-color" : null,
66
72
  "label-margin" : 0.5em,
67
73
  "label-text-transform" : uppercase,
68
74
  "label-type-size" : false,
69
- "link-active-selectors" : (".is-active", '[aria-current="page"]'),
75
+ "label-line-height" : true,
76
+ "link-separated-margin" : false,
77
+ "link-separated-rule-style" : false,
78
+ "link-active-selectors" : (".is-active",),
70
79
  "link-background-color" : transparent,
71
80
  "link-background-color-active" : rgb(219, 219, 219),
72
- "link-background-color-hover" : rgb(219, 219, 219),
81
+ "link-background-color-hover" : rgb(240, 240, 240),
73
82
  "link-border-radius" : true,
74
83
  "link-color" : "link",
75
84
  "link-color-active" : black,
76
85
  "link-color-hover" : "link-hover",
77
86
  "link-font-weight" : null,
87
+ "link-line-height" : true,
78
88
  "link-icon-margin" : 0.65em,
79
89
  "link-icon-width" : 1em,
80
90
  "link-margin" : 0.2em,
81
- "link-padding-x": 1em,
82
- "link-padding-y": 0.35em,
91
+ "link-padding-x": 1.25em,
92
+ "link-padding-y": 0.5em,
93
+ "compact-link-padding-x": 0.75em,
94
+ "compact-link-padding-y": 0.25em,
83
95
  ) !default;
84
96
 
85
97
 
@@ -115,6 +127,7 @@ $config: (
115
127
 
116
128
  @mixin styles {
117
129
  $prefix: selector.class("menu-stack");
130
+ $selectable-y: (get("link-padding-y") + get("link-margin"));
118
131
 
119
132
  #{ $prefix }--separated {
120
133
  border-top: element.get-rule-style(get("rule-style"));
@@ -125,6 +138,7 @@ $config: (
125
138
  text-transform: get("label-text-transform");
126
139
  padding-bottom: get("label-margin");
127
140
  color: color.get(get("label-color"));
141
+ line-height: get("label-line-height");
128
142
  @if (get("label-type-size")) {
129
143
  @include typography.size(get("label-type-size"), $only-font-size: true);
130
144
  }
@@ -149,7 +163,7 @@ $config: (
149
163
  // - Use the modifier "site-menu--contained" to keep the links within
150
164
  // the parent container (no optical alignment), should be within something that contains it
151
165
  #{ $prefix }__link,
152
- #{ $prefix }__checkbox,
166
+ #{ $prefix }__selectable,
153
167
  #{ $prefix }__toggle {
154
168
  width: 100%;
155
169
  display: flex;
@@ -158,6 +172,7 @@ $config: (
158
172
  margin: get("link-margin") 0;
159
173
  border-radius: get("link-border-radius");
160
174
  font-weight: get("link-font-weight");
175
+ line-height: get("link-line-height");
161
176
  color: color.get(get("link-color"));
162
177
  background-color: color.get(get("link-background-color"));
163
178
  box-sizing: border-box;
@@ -166,30 +181,39 @@ $config: (
166
181
  color: color.get(get("link-color-hover"));
167
182
  background-color: color.get(get("link-background-color-hover"));
168
183
  }
169
- @each $active-selector in get("link-active-selectors") {
170
- &#{ $active-selector } {
171
- &,
172
- &:hover {
173
- color: color.get(get("link-color-active"));
174
- background-color: color.get(get("link-background-color-active"));
175
- }
176
- }
177
- }
178
184
  }
179
- #{ $prefix }__checkbox {
180
- $checkbox-y: (get("link-padding-y") + get("link-margin"));
185
+ #{ $prefix }__selectable {
181
186
  padding: 0;
182
187
  position: relative;
183
- [type="checkbox"] {
184
- position: absolute;
185
- top: $checkbox-y;
186
- left: get("link-padding-x");
187
- }
188
- label {
189
- width: 100%;
190
- padding: $checkbox-y get("link-padding-x") $checkbox-y get("checkbox-area-width");
188
+ }
189
+
190
+ // Combine all active selectors using sass:selector functions
191
+ $base-selectors: #{ $prefix }__link, #{ $prefix }__toggle;
192
+ $active-from-config: get("link-active-selectors");
193
+ $traditional-active: sassSelector.append($base-selectors, $active-from-config);
194
+
195
+ $checked-active: sassSelector.parse("#{ $prefix }__selectable:has(> [type='checkbox']:checked), #{ $prefix }__selectable:has(> [type='radio']:checked)");
196
+
197
+ #{ $traditional-active, $checked-active },
198
+ #{ $prefix }__link[aria-current="page"] {
199
+ &,
200
+ &:hover {
201
+ color: color.get(get("link-color-active"));
202
+ background-color: color.get(get("link-background-color-active"));
191
203
  }
192
204
  }
205
+ #{ $prefix }__selectable [type="checkbox"],
206
+ #{ $prefix }__selectable [type="radio"],
207
+ #{ $prefix }__selectable-input {
208
+ position: absolute;
209
+ top: $selectable-y;
210
+ left: get("link-padding-x");
211
+ }
212
+ #{ $prefix }__selectable label,
213
+ #{ $prefix }__selectable-label {
214
+ width: 100%;
215
+ padding: $selectable-y get("link-padding-x") $selectable-y get("selectable-input-width");
216
+ }
193
217
  #{ $prefix }__link-text {
194
218
  display: block;
195
219
  flex-grow: 1;
@@ -241,4 +265,17 @@ $config: (
241
265
  padding: get("compact-link-padding-y") get("compact-link-padding-x");
242
266
  }
243
267
  }
268
+
269
+ #{ $prefix }--hide-inputs {
270
+ #{ $prefix }__selectable-input,
271
+ #{ $prefix }__selectable [type="checkbox"],
272
+ #{ $prefix }__selectable [type="radio"] {
273
+ @include element.hidden-visually();
274
+ }
275
+
276
+ #{ $prefix }__selectable label,
277
+ #{ $prefix }__selectable-label {
278
+ padding-left: get("link-padding-x");
279
+ }
280
+ }
244
281
  }