@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
@@ -124,8 +124,8 @@ $config: (
124
124
  -moz-osx-font-smoothing: grayscale;
125
125
  -webkit-font-smoothing: antialiased;
126
126
  // Icons that share pseudos for strokes
127
- &:before,
128
- &:after {
127
+ &::before,
128
+ &::after {
129
129
  // content: "";
130
130
  display: block;
131
131
  position: absolute;
@@ -188,7 +188,7 @@ $config: (
188
188
 
189
189
  .css-icon--circle-info,
190
190
  .css-icon--circle-question {
191
- &:before {
191
+ &::before {
192
192
  content: "i";
193
193
  text-align: center;
194
194
  font-size: get("text-size");
@@ -208,7 +208,7 @@ $config: (
208
208
  }
209
209
  }
210
210
  .css-icon--circle-question {
211
- &:before {
211
+ &::before {
212
212
  content: "?";
213
213
  }
214
214
  }
@@ -229,13 +229,13 @@ $config: (
229
229
  clip-path: polygon(10% 10%, 90% 50%, 10% 90%);
230
230
  }
231
231
  [class*="css-icon--arrow"] {
232
- &:before {
232
+ &::before {
233
233
  content: "";
234
234
  width: 70%;
235
235
  left: 0;
236
236
  }
237
237
  // Note triangle clip-path is defined above with the solid triangle
238
- &:after {
238
+ &::after {
239
239
  content: "";
240
240
  border-radius: 0;
241
241
  height: 100%;
@@ -246,8 +246,8 @@ $config: (
246
246
  }
247
247
  [class*="css-icon--angle"] {
248
248
  transform: rotate(135deg);
249
- &:before,
250
- &:after {
249
+ &::before,
250
+ &::after {
251
251
  content: "";
252
252
  top: 30%;
253
253
  left: 30%;
@@ -255,14 +255,14 @@ $config: (
255
255
  transform: none;
256
256
  margin-top: 0;
257
257
  }
258
- &:after {
258
+ &::after {
259
259
  width: $stroke-width;
260
260
  height: 70%;
261
261
  }
262
262
  }
263
263
  @include for-each-stroke() using ($alt-width, $alt-border-radius) {
264
264
  &[class*="css-icon--angle"] {
265
- &:after {
265
+ &::after {
266
266
  width: $alt-width;
267
267
  }
268
268
  }
@@ -285,26 +285,26 @@ $config: (
285
285
 
286
286
  .css-icon--plus,
287
287
  .css-icon--plus-to-minus {
288
- &:before {
288
+ &::before {
289
289
  transform: translateX(-50%) rotate(90deg);
290
290
  }
291
- &:after {
291
+ &::after {
292
292
  transform: translateX(-50%);
293
293
  }
294
294
  }
295
295
  .css-icon--minus {
296
- &:before {
296
+ &::before {
297
297
  content: none;
298
298
  }
299
- &:after {
299
+ &::after {
300
300
  transform: translateX(-50%);
301
301
  }
302
302
  }
303
303
  .css-icon--close {
304
- &:before {
304
+ &::before {
305
305
  transform: translate(-50%) rotate(45deg);
306
306
  }
307
- &:after {
307
+ &::after {
308
308
  transform: translate(-50%) rotate(-45deg);
309
309
  }
310
310
  }
@@ -377,6 +377,16 @@ $config: (
377
377
  .css-icon--arrow-down {
378
378
  transform: rotate(90deg);
379
379
  }
380
+ .css-icon--drag-both {
381
+ transform: rotate(-45deg);
382
+ &::before {
383
+ transform: translateX(-50%) scale(0.8);
384
+ margin-top: -($stroke-width);
385
+ }
386
+ &::after {
387
+ transform: translateX(-50%) scaleX(0.5) scaleY(0.8);
388
+ }
389
+ }
380
390
 
381
391
  // Active icons
382
392
  .css-icon--plus-to-minus {
@@ -429,7 +439,7 @@ $config: (
429
439
  transition: none;
430
440
  transform: translate(-50%) rotate(-45deg);
431
441
  }
432
- &:before {
442
+ &::before {
433
443
  box-shadow: none;
434
444
  transform: translate(-50%) rotate(45deg);
435
445
  }
@@ -3,9 +3,6 @@
3
3
  /// A page grid layout component that uses data attribute instead of class names, for brevity and readability
4
4
  ////
5
5
 
6
- /// Content Block
7
- /// @demo data-grid
8
-
9
6
  @use "sass:map";
10
7
  @use "sass:math";
11
8
 
@@ -38,6 +35,7 @@
38
35
  $config: (
39
36
  "attribute": "data-grid",
40
37
  "attribute-container": "data-grid-container",
38
+ "attribute-init": "data-grid-init",
41
39
  "breakpoint": false, // Fallback to default
42
40
  "columns": 12,
43
41
  "gutter": 14px,
@@ -49,6 +47,7 @@ $config: (
49
47
  "sticky-top": var(--ulu-sticky-top-offset, 0),
50
48
  "rule-color" : "rule",
51
49
  "rule-size" : 1px,
50
+ "rule-fade-duration" : 400ms,
52
51
  "extra-breakpoints": (
53
52
  "medium" : (
54
53
  "breakpoint": "medium",
@@ -134,6 +133,7 @@ $config: (
134
133
  /// @param {Map} $extra-rule-styles Map of other rule styles to add (map of maps of size, and color), key is the styles name ("name": ("size" : 4px, "color" : "color name" || color))
135
134
  /// @param {String} $extra-gutter-scales A map of gutter scales used like `data-grid="gutter-scale: large`, configuration map property becomes scale name and value is the amount (multiplier) to apply to the grid's gutter ie `( "large" : 2.25 )`
136
135
  /// @param {Map} $attribute Attribute to use for selecting grid and children. Children attribute get's "-item" as a suffix ("ie. data-grid, data-grid-item")
136
+ /// @param {CssDuration} $rule-fade-duration The amount of time for rules to fade in (after init, script positioning), set to falsey value to disable rule fade in (rules will always be shown)
137
137
 
138
138
  @mixin create(
139
139
  $columns: get("columns"),
@@ -146,17 +146,20 @@ $config: (
146
146
  $extra-rule-styles: get("extra-rule-styles"),
147
147
  $extra-gutter-scales: get("extra-gutter-scales"),
148
148
  $attribute: get("attribute"),
149
+ $attribute-init: get("attribute-init"),
149
150
  $include-container: true,
150
151
  $container-attribute: get("attribute-container"),
151
152
  $container-gutter-scales: true,
152
153
  $sticky-top: get("sticky-top"),
153
- $sticky-bottom: get("sticky-bottom")
154
+ $sticky-bottom: get("sticky-bottom"),
155
+ $rule-fade-duration: get("rule-fade-duration")
154
156
  ) {
155
157
  $attribute-item: "#{ $attribute }-item";
156
158
  $select-grid: '[#{ $attribute }*="columns: #{ $columns }"]';
159
+ $select-grid-not-init: '[#{ $attribute }]:not([#{ $attribute-init }])';
157
160
  $select-item: '[#{ $attribute-item }]';
158
- $select-rule-col: ":before";
159
- $select-rule-row: ":after";
161
+ $select-rule-col: "::before";
162
+ $select-rule-row: "::after";
160
163
  $select-container: "[#{ $container-attribute }]";
161
164
  // These through off syntax highlighting when inside interpolation
162
165
  $position-class-column-first: get("position-class-column-first");
@@ -215,6 +218,20 @@ $config: (
215
218
  }
216
219
  }
217
220
  }
221
+ // Rules: Applies to both column and row
222
+ &#{'[#{ $attribute }*="rules"]'} {
223
+ > #{ $select-item } {
224
+ position: relative;
225
+ @if ($rule-fade-duration) {
226
+ &#{ $select-rule-col },
227
+ &#{ $select-rule-row } {
228
+ // For when grid init fades them in
229
+ opacity: 1;
230
+ transition: opacity $rule-fade-duration ease-in;
231
+ }
232
+ }
233
+ }
234
+ }
218
235
  // Rules: Row
219
236
  &#{'[#{ $attribute }*="rules-row:"]'} {
220
237
  > #{ $select-item } {
@@ -227,12 +244,6 @@ $config: (
227
244
  }
228
245
  }
229
246
  }
230
- // Rules: Applies to both column and row
231
- &#{'[#{ $attribute }*="rules"]'} {
232
- > #{ $select-item } {
233
- position: relative;
234
- }
235
- }
236
247
  // Rules: Column
237
248
  &#{'[#{ $attribute }*="rules-column:"]'} {
238
249
  > #{ $select-item } {
@@ -580,6 +591,21 @@ $config: (
580
591
  }
581
592
  }
582
593
  }
594
+
595
+ // Disable grid rules until init attribute it present (from positioning script)
596
+ // - In order to keep the rules for this compact it will only hide them if the init
597
+ // is not present
598
+
599
+ @if ($rule-fade-duration) {
600
+ #{ $select-grid-not-init } {
601
+ > #{ $select-item } {
602
+ &#{ $select-rule-col },
603
+ &#{ $select-rule-row } {
604
+ opacity: 0 !important;
605
+ }
606
+ }
607
+ }
608
+ }
583
609
  }
584
610
 
585
611
  @mixin -create-extra-breakpoint(
@@ -635,6 +661,23 @@ $config: (
635
661
  }
636
662
  }
637
663
 
664
+ &#{'[#{ $attribute }*="gutters-row:"]'} {
665
+ > #{ $select-item } {
666
+ padding-top: $gutter;
667
+ padding-bottom: $gutter;
668
+ }
669
+ @if $extra-gutter-scales {
670
+ @each $scale, $amount in $extra-gutter-scales {
671
+ &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
672
+ > #{ $select-item } {
673
+ padding-top: $gutter * $amount;
674
+ padding-bottom: $gutter * $amount;
675
+ }
676
+ }
677
+ }
678
+ }
679
+ }
680
+
638
681
  @include -create-column-widths(
639
682
  $columns: $columns,
640
683
  $attribute-item: $attribute-item,
@@ -24,6 +24,35 @@ $-fallbacks: (
24
24
 
25
25
  /// Module Settings
26
26
  /// @type Map
27
+ /// @prop {Dimension} cell-padding [(0.5em,)] Padding of the th and td elements.
28
+ /// @prop {CssValue} text-align [left] Text align of the table.
29
+ /// @prop {String} type-size ["small"] Font size of the table.
30
+ /// @prop {Color} background-color [white] Background color of table container.
31
+ /// @prop {Color} header-background-color [#f5f4f4] Background color of the the table header.
32
+ /// @prop {Color} body-background-color [white] Background color of table body.
33
+ /// @prop {Color} footer-background-color [#f3f3f3] Background color of table footer.
34
+ /// @prop {Color} color ["type-secondary"] Font color of the table.
35
+ /// @prop {Color} header-color ["headline"] Font color for the table header.
36
+ /// @prop {Color} footer-color [null] Font color for the table footer.
37
+ /// @prop {Number} line-height [true] Line height for the table.
38
+ /// @prop {Dimension} column-min-width [6em] Min-width of the th element.
39
+ /// @prop {Dimension} first-column-large-min-width [15em] When using "--large-first" style, the min width of the first th element.
40
+ /// @prop {Dimension} border-width [1px] Border width of the table.
41
+ /// @prop {Color} border-color [#dddddd] Border color for the table.
42
+ /// @prop {Color} striped-row-background-color [#eeeeee] Background color for even rows if using "--striped" styling.
43
+ /// @prop {Color} muted-row-background-color [#ccc] Background color for odd rows if using "--striped" styling.
44
+ /// @prop {Color} muted-row-border-color [null] Border color for odd rows if using "--striped" styling.
45
+ /// @prop {Color} highlighted-row-background-color [#ccc] Background color row if using "__row-highlighted" styling.
46
+ /// @prop {Color} highlighted-row-border-color [null] Border color row if using "__row-highlighted" styling.
47
+ /// @prop {Dimension} large-header-cell-padding-y [1em] Vertical padding of header if using "--large-header" styling.
48
+ /// @prop {String} caption-type-size ["large"] Type size of table caption.
49
+ /// @prop {Color} caption-background-color [null] Background color of table caption.
50
+ /// @prop {CssValue} caption-font-weight [bold] Font weight of caption.
51
+ /// @prop {CssBalue} caption-border-bottom [null] Bottom border of the caption.
52
+ /// @prop {Dimension} caption-margin [(0,)] Margin of the caption.
53
+ /// @prop {Dimension} caption-padding [(0.65em 0)] Padding of the caption.
54
+ /// @prop {CssValue} caption-text-align [left] Text align of the caption.
55
+ /// @prop {String} extra-selector [".wysiwyg table"] Additional selectors to include table styling.
27
56
 
28
57
  $config: (
29
58
  "cell-padding" : (0.5em,),
@@ -35,6 +64,7 @@ $config: (
35
64
  "footer-background-color" : #f3f3f3,
36
65
  "color" : "type-secondary",
37
66
  "header-color" : "headline",
67
+ "footer-color" : null,
38
68
  "line-height" : true,
39
69
  "column-min-width" : 6em,
40
70
  "first-column-large-min-width" : 15em,
@@ -147,6 +177,7 @@ $config: (
147
177
  }
148
178
  tfoot tr {
149
179
  background-color: color.get(get("footer-background-color"));
180
+ color: color.get(get("footer-color"));
150
181
  }
151
182
  th,
152
183
  td {
@@ -2,7 +2,7 @@
2
2
  ////
3
3
  /// @group flipcard
4
4
  ////
5
- /// Creates adaptive (changing at breakpoints)n between items (vertical/horizontal layout)
5
+ /// Flipcard (content revealed on backside of card after click)
6
6
 
7
7
  @use "sass:map";
8
8
  @use "../color";
@@ -32,7 +32,6 @@
32
32
  /// @prop {Color} title-color-image-hover [blue] Color of the front page text when using an image and hovered or focused.
33
33
  /// @prop {Boolean} bottom-shadow [true] Boolean that enables a bottom shadow to the image flipcard.
34
34
 
35
-
36
35
  $config: (
37
36
  "anim-delay" : 200ms,
38
37
  "anim-duration" : 430ms,
@@ -86,6 +85,12 @@ $config: (
86
85
  @return utils.require-map-get($config, $name, "flipcard [config]");
87
86
  }
88
87
 
88
+ /// Prints component styles
89
+ /// @demo flipcard
90
+ /// @example scss
91
+ /// @example
92
+ /// @include ulu.component-flipcard-styles();
93
+
89
94
  @mixin styles {
90
95
  $prefix: selector.class("flipcard");
91
96
 
@@ -193,7 +198,7 @@ $config: (
193
198
  color: color.get(get("title-color-image"));
194
199
  @if(get("bottom-shadow")) {
195
200
  // bottom position includes padding so that the shadow
196
- &:after {
201
+ &::after {
197
202
  content: '';
198
203
  display: block;
199
204
  position: absolute;
@@ -7,96 +7,104 @@
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 ["danger"]
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 ["danger"]
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-bottom [0]
86
- /// @prop {} fieldset-border-radius [0]
87
- /// @prop {} fieldset-legend-color [inherit]
88
- /// @prop {} fieldset-legend-border-bottom [null]
89
- /// @prop {} fieldset-legend-padding-bottom [null]
90
- /// @prop {} select-border-radius [4px]
91
- /// @prop {} select-background-color [null]
92
- /// @prop {} select-border [null]
93
- /// @prop {} select-padding-x [null]
94
- /// @prop {} select-padding-y [null]
95
- /// @prop {} select-image [null]
96
- /// @prop {} select-image-size [0.9em]
97
- /// @prop {} select-image-offset [0.7em]
98
- /// @prop {} select-image-margin [0.65em]
99
- /// @prop {Unit} inline-gap [1em] Gap between items that are inline like checkboxes
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
100
108
 
101
109
  $config: (
102
110
  "color" : inherit,
@@ -160,6 +168,7 @@ $config: (
160
168
  "description-color" : false,
161
169
  "description-margin" : (0.25em 0),
162
170
  "description-max-width" : 25em,
171
+ "description-line-height" : true,
163
172
  "fieldset-background" : transparent,
164
173
  "fieldset-border" : none,
165
174
  "fieldset-margin-bottom" : 1rem,
@@ -198,7 +207,8 @@ $config: (
198
207
  /// @include ulu.component-form-theme-get("property");
199
208
 
200
209
  @function get($name) {
201
- @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);
202
212
  }
203
213
 
204
214
  @function -fallback($op1, $op2) {
@@ -344,7 +354,7 @@ $config: (
344
354
  transition: background-color 220ms ease-in-out;
345
355
  flex: 0 0 $input-touch-size; // When used in flex container
346
356
  // Box / Circle (centered absolute)
347
- &:before {
357
+ &::before {
348
358
  content: '';
349
359
  display: block;
350
360
  position: absolute;
@@ -362,7 +372,7 @@ $config: (
362
372
  transform: translate(-50%, -50%);
363
373
  }
364
374
  // Checkmark/ radio
365
- &:after {
375
+ &::after {
366
376
  content: '';
367
377
  display: block;
368
378
  position: relative;
@@ -375,32 +385,32 @@ $config: (
375
385
  }
376
386
  &:focus {
377
387
  background-color: color.get(get("check-input-touch-color-focus"));
378
- &:before {
388
+ &::before {
379
389
  border-color: color.get(get("check-input-border-color-focus"));
380
390
  outline: get("check-input-outline-focus");
381
391
  }
382
- &:after {
392
+ &::after {
383
393
  border-color: color.get(get("check-input-mark-color-focus"));
384
394
  }
385
395
  }
386
396
  &:hover {
387
397
  background-color: color.get(get("check-input-touch-color-hover"));
388
- &:before {
398
+ &::before {
389
399
  outline: get("check-input-outline-hover");
390
400
  background-color: color.get(get("check-input-background-color-hover"));
391
401
  border-color: color.get(get("check-input-border-color-hover"));
392
402
  }
393
- &:after {
403
+ &::after {
394
404
  border-color: color.get(get("check-input-mark-color-hover"));
395
405
  }
396
406
  }
397
407
  &:checked {
398
- &:before {
408
+ &::before {
399
409
  background-color: color.get(get("check-input-background-color-checked"));
400
410
  border-color: color.get(get("check-input-border-color-checked"));
401
411
  outline: get("check-input-outline-checked");
402
412
  }
403
- &:after {
413
+ &::after {
404
414
  opacity: 1;
405
415
  border-color: color.get(get("check-input-mark-color-checked"));
406
416
  }
@@ -416,10 +426,10 @@ $config: (
416
426
  }
417
427
  }
418
428
  [type="checkbox"] {
419
- &:before {
429
+ &::before {
420
430
  border-radius: -fallback("check-input-border-radius", "input-border-radius");
421
431
  }
422
- &:after {
432
+ &::after {
423
433
  border-radius: 0;
424
434
  width: get("check-input-checkmark-width");
425
435
  height: get("check-input-checkmark-height");
@@ -432,11 +442,11 @@ $config: (
432
442
  }
433
443
  &:indeterminate,
434
444
  &[aria-checked=mixed] {
435
- &:before {
445
+ &::before {
436
446
  background-color: color.get(get("check-input-background-color-indeterminate"));
437
447
  border-color: color.get(get("check-input-border-color-indeterminate"));
438
448
  }
439
- &:after {
449
+ &::after {
440
450
  border-right: none;
441
451
  transform: translatey(50%);
442
452
  opacity: 1;
@@ -500,6 +510,7 @@ $config: (
500
510
  margin: get("description-margin");
501
511
  font-style: italic;
502
512
  @include typography.size("small", null, true);
513
+ line-height: get("description-line-height");
503
514
  max-width: get("description-max-width");
504
515
  color: color.get(get("description-color"));
505
516
  }