@ulu/frontend 0.1.0-beta.12 → 0.1.0-beta.121

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 (344) hide show
  1. package/CHANGELOG.md +717 -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 +7613 -0
  13. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  14. package/docs-dev/demos/accordion/index.html +1496 -358
  15. package/docs-dev/demos/badge/index.html +5895 -0
  16. package/docs-dev/demos/badge-stack/index.html +5876 -0
  17. package/docs-dev/demos/basic-hero/index.html +111 -0
  18. package/docs-dev/demos/breadcrumb/index.html +5930 -0
  19. package/docs-dev/demos/breakpoints-manager/index.html +5906 -0
  20. package/docs-dev/demos/button/index.html +1537 -343
  21. package/docs-dev/demos/button-group/index.html +5892 -0
  22. package/docs-dev/demos/button-verbose/index.html +5898 -0
  23. package/docs-dev/demos/callout/index.html +1559 -379
  24. package/docs-dev/demos/captioned-figure/index.html +1492 -339
  25. package/docs-dev/demos/card/index.html +1592 -800
  26. package/docs-dev/demos/card-grid/index.html +6017 -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 +5900 -0
  32. package/docs-dev/demos/css-icons/index.html +1556 -380
  33. package/docs-dev/demos/data-grid/index.html +1492 -339
  34. package/docs-dev/demos/data-table/index.html +1634 -348
  35. package/docs-dev/demos/definition-list/index.html +6011 -0
  36. package/docs-dev/demos/details-group/index.html +5927 -0
  37. package/docs-dev/demos/donut-chart/index.html +5874 -0
  38. package/docs-dev/demos/file-save/index.html +1492 -339
  39. package/docs-dev/demos/flipcard/index.html +1492 -339
  40. package/docs-dev/demos/form-theme/index.html +1500 -347
  41. package/docs-dev/demos/headline-label/index.html +5862 -0
  42. package/docs-dev/demos/hero/index.html +12 -4
  43. package/docs-dev/demos/image-grid/index.html +12 -4
  44. package/docs-dev/demos/index.html +1493 -340
  45. package/docs-dev/demos/list-inline/index.html +1492 -339
  46. package/docs-dev/demos/list-lines/index.html +1492 -339
  47. package/docs-dev/demos/menu-stack/index.html +1652 -378
  48. package/docs-dev/demos/modals/index.html +1642 -366
  49. package/docs-dev/demos/nav-strip/index.html +1492 -339
  50. package/docs-dev/demos/overlay-section/index.html +1611 -388
  51. package/docs-dev/demos/panel/index.html +5922 -0
  52. package/docs-dev/demos/popovers/index.html +1752 -357
  53. package/docs-dev/demos/print/index.html +1492 -339
  54. package/docs-dev/demos/progress-bar/index.html +6030 -0
  55. package/docs-dev/demos/progress-circle/index.html +6197 -0
  56. package/docs-dev/demos/progress-donut/index.html +6107 -0
  57. package/docs-dev/demos/pull-quote/index.html +1492 -339
  58. package/docs-dev/demos/rail/index.html +5970 -0
  59. package/docs-dev/demos/rule/index.html +1509 -344
  60. package/docs-dev/demos/scroll-slider/index.html +72 -106
  61. package/docs-dev/demos/scrollpoints/index.html +1493 -340
  62. package/docs-dev/demos/skeleton/index.html +5918 -0
  63. package/docs-dev/demos/slider/index.html +12 -4
  64. package/docs-dev/demos/spoke-spinner/index.html +1492 -339
  65. package/docs-dev/demos/sticky-list/index.html +5883 -0
  66. package/docs-dev/demos/tabs/index.html +1565 -376
  67. package/docs-dev/demos/tag/index.html +1510 -345
  68. package/docs-dev/demos/theme-toggle/index.html +5939 -0
  69. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  70. package/docs-dev/demos/tiles/index.html +1492 -339
  71. package/docs-dev/demos/tooltip/index.html +1492 -339
  72. package/docs-dev/demos/wysiwyg/index.html +5912 -0
  73. package/docs-dev/guide/building-stylesheet/index.html +1492 -339
  74. package/docs-dev/guide/developing-ulu-scss-module/index.html +1492 -339
  75. package/docs-dev/guide/index.html +1492 -339
  76. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  77. package/docs-dev/index.html +1492 -339
  78. package/docs-dev/javascript/events/index.html +1567 -376
  79. package/docs-dev/javascript/index.html +1492 -339
  80. package/docs-dev/javascript/settings/index.html +6065 -0
  81. package/docs-dev/javascript/ui-breakpoints/index.html +1506 -355
  82. package/docs-dev/javascript/ui-collapsible/index.html +1491 -340
  83. package/docs-dev/javascript/ui-details-group/index.html +5982 -0
  84. package/docs-dev/javascript/ui-dialog/index.html +1523 -357
  85. package/docs-dev/javascript/ui-flipcard/index.html +1552 -345
  86. package/docs-dev/javascript/ui-grid/index.html +1538 -413
  87. package/docs-dev/javascript/ui-modal-builder/index.html +1761 -470
  88. package/docs-dev/javascript/ui-overflow-scroller/index.html +1491 -340
  89. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +1491 -340
  90. package/docs-dev/javascript/ui-page/index.html +1491 -340
  91. package/docs-dev/javascript/ui-popover/index.html +1501 -354
  92. package/docs-dev/javascript/ui-print/index.html +1489 -346
  93. package/docs-dev/javascript/ui-print-details/index.html +1491 -340
  94. package/docs-dev/javascript/ui-programmatic-modal/index.html +1491 -340
  95. package/docs-dev/javascript/ui-proxy-click/index.html +1591 -355
  96. package/docs-dev/javascript/ui-resizer/index.html +1850 -434
  97. package/docs-dev/javascript/ui-scroll-slider/index.html +1531 -348
  98. package/docs-dev/javascript/ui-scrollpoint/index.html +1501 -357
  99. package/docs-dev/javascript/ui-slider/index.html +1708 -366
  100. package/docs-dev/javascript/ui-tabs/index.html +1523 -409
  101. package/docs-dev/javascript/ui-theme-toggle/index.html +6070 -0
  102. package/docs-dev/javascript/ui-tooltip/index.html +1501 -354
  103. package/docs-dev/javascript/utils-class-logger/index.html +1492 -341
  104. package/docs-dev/javascript/utils-css/index.html +5884 -0
  105. package/docs-dev/javascript/utils-dom/index.html +1523 -452
  106. package/docs-dev/javascript/utils-file-save/index.html +1491 -340
  107. package/docs-dev/javascript/utils-floating-ui/index.html +1491 -340
  108. package/docs-dev/javascript/utils-id/index.html +1491 -340
  109. package/docs-dev/javascript/utils-pause-youtube-video/index.html +1491 -340
  110. package/docs-dev/javascript/utils-system/index.html +6187 -0
  111. package/docs-dev/sass/base/color/index.html +1491 -340
  112. package/docs-dev/sass/base/elements/index.html +1492 -341
  113. package/docs-dev/sass/base/index/index.html +1492 -341
  114. package/docs-dev/sass/base/index.html +1492 -339
  115. package/docs-dev/sass/base/keyframes/index.html +1492 -341
  116. package/docs-dev/sass/base/layout/index.html +1492 -341
  117. package/docs-dev/sass/base/normalize/index.html +1491 -340
  118. package/docs-dev/sass/base/print/index.html +1492 -341
  119. package/docs-dev/sass/base/root/index.html +1495 -344
  120. package/docs-dev/sass/base/typography/index.html +1491 -340
  121. package/docs-dev/sass/components/accordion/index.html +1628 -436
  122. package/docs-dev/sass/components/adaptive-spacing/index.html +1491 -340
  123. package/docs-dev/sass/components/badge/index.html +1522 -353
  124. package/docs-dev/sass/components/badge-stack/index.html +6051 -0
  125. package/docs-dev/sass/components/basic-hero/index.html +6045 -0
  126. package/docs-dev/sass/components/breadcrumb/index.html +6092 -0
  127. package/docs-dev/sass/components/button/index.html +1491 -340
  128. package/docs-dev/sass/components/button-group/index.html +6043 -0
  129. package/docs-dev/sass/components/button-verbose/index.html +1613 -387
  130. package/docs-dev/sass/components/callout/index.html +1598 -388
  131. package/docs-dev/sass/components/captioned-figure/index.html +1491 -340
  132. package/docs-dev/sass/components/card/index.html +1601 -393
  133. package/docs-dev/sass/components/card-grid/index.html +1491 -340
  134. package/docs-dev/sass/components/counter-list/index.html +6127 -0
  135. package/docs-dev/sass/components/css-icon/index.html +1492 -341
  136. package/docs-dev/sass/components/data-grid/index.html +1511 -353
  137. package/docs-dev/sass/components/data-table/index.html +1510 -352
  138. package/docs-dev/sass/components/definition-list/index.html +6107 -0
  139. package/docs-dev/sass/components/fill-context/index.html +1491 -340
  140. package/docs-dev/sass/components/flipcard/index.html +1569 -387
  141. package/docs-dev/sass/components/flipcard-grid/index.html +1491 -340
  142. package/docs-dev/sass/components/form-theme/index.html +1718 -572
  143. package/docs-dev/sass/components/headline-label/index.html +6073 -0
  144. package/docs-dev/sass/components/hero/index.html +1499 -348
  145. package/docs-dev/sass/components/horizontal-rule/index.html +1491 -340
  146. package/docs-dev/sass/components/image-grid/index.html +1491 -340
  147. package/docs-dev/sass/components/index/index.html +1514 -349
  148. package/docs-dev/sass/components/index.html +1492 -339
  149. package/docs-dev/sass/components/links/index.html +1491 -340
  150. package/docs-dev/sass/components/list-inline/index.html +1491 -340
  151. package/docs-dev/sass/components/list-lines/index.html +1491 -340
  152. package/docs-dev/sass/components/list-ordered/index.html +1491 -340
  153. package/docs-dev/sass/components/list-unordered/index.html +1491 -340
  154. package/docs-dev/sass/components/menu-stack/index.html +1578 -378
  155. package/docs-dev/sass/components/modal/index.html +1576 -390
  156. package/docs-dev/sass/components/nav-strip/index.html +1499 -348
  157. package/docs-dev/sass/components/overlay-section/index.html +1499 -348
  158. package/docs-dev/sass/components/pager/index.html +1491 -340
  159. package/docs-dev/sass/components/panel/index.html +6273 -0
  160. package/docs-dev/sass/components/placeholder-block/index.html +1491 -340
  161. package/docs-dev/sass/components/popover/index.html +1561 -404
  162. package/docs-dev/sass/components/progress-bar/index.html +6252 -0
  163. package/docs-dev/sass/components/progress-circle/index.html +6144 -0
  164. package/docs-dev/sass/components/pull-quote/index.html +1491 -340
  165. package/docs-dev/sass/components/rail/index.html +6063 -0
  166. package/docs-dev/sass/components/ratio-box/index.html +1499 -348
  167. package/docs-dev/sass/components/rule/index.html +1492 -341
  168. package/docs-dev/sass/components/scroll-slider/index.html +1501 -362
  169. package/docs-dev/sass/components/skeleton/index.html +6101 -0
  170. package/docs-dev/sass/components/skip-link/index.html +1491 -340
  171. package/docs-dev/sass/components/slider/index.html +1581 -442
  172. package/docs-dev/sass/components/spoke-spinner/index.html +1493 -342
  173. package/docs-dev/sass/components/sticky-list/index.html +6263 -0
  174. package/docs-dev/sass/components/table-sticky/index.html +5707 -0
  175. package/docs-dev/sass/components/tabs/index.html +1519 -353
  176. package/docs-dev/sass/components/tag/index.html +1648 -403
  177. package/docs-dev/sass/components/tile-button/index.html +1491 -340
  178. package/docs-dev/sass/components/tile-grid/index.html +1491 -340
  179. package/docs-dev/sass/components/tile-grid-overlay/index.html +1491 -340
  180. package/docs-dev/sass/components/vignette/index.html +1499 -348
  181. package/docs-dev/sass/components/wysiwyg/index.html +1524 -355
  182. package/docs-dev/sass/core/breakpoint/index.html +1577 -374
  183. package/docs-dev/sass/core/button/index.html +1523 -370
  184. package/docs-dev/sass/core/color/index.html +1768 -485
  185. package/docs-dev/sass/core/cssvar/index.html +1491 -340
  186. package/docs-dev/sass/core/element/index.html +1837 -404
  187. package/docs-dev/sass/core/index.html +1491 -340
  188. package/docs-dev/sass/core/layout/index.html +1582 -412
  189. package/docs-dev/sass/core/path/index.html +1491 -340
  190. package/docs-dev/sass/core/selector/index.html +1491 -340
  191. package/docs-dev/sass/core/typography/index.html +1657 -448
  192. package/docs-dev/sass/core/units/index.html +1499 -342
  193. package/docs-dev/sass/core/utils/index.html +2781 -481
  194. package/docs-dev/sass/helpers/color/index.html +1491 -340
  195. package/docs-dev/sass/helpers/display/index.html +1492 -341
  196. package/docs-dev/sass/helpers/index/index.html +1491 -340
  197. package/docs-dev/sass/helpers/index.html +1492 -339
  198. package/docs-dev/sass/helpers/print/index.html +759 -298
  199. package/docs-dev/sass/helpers/typography/index.html +1491 -340
  200. package/docs-dev/sass/helpers/units/index.html +1491 -340
  201. package/docs-dev/sass/helpers/utilities/index.html +1495 -340
  202. package/docs-dev/sass/index.html +1492 -339
  203. package/js/events/index.js +17 -5
  204. package/js/index.js +1 -0
  205. package/js/settings.js +97 -0
  206. package/js/ui/breakpoints.js +19 -16
  207. package/js/ui/collapsible.js +8 -1
  208. package/js/ui/details-group.js +112 -0
  209. package/js/ui/dialog.js +103 -44
  210. package/js/ui/dialog.todo +2 -36
  211. package/js/ui/flipcard.js +37 -57
  212. package/js/ui/grid.js +15 -13
  213. package/js/ui/index.js +1 -0
  214. package/js/ui/modal-builder.js +127 -70
  215. package/js/ui/overflow-scroller.js +6 -4
  216. package/js/ui/page.js +2 -2
  217. package/js/ui/popover.js +38 -38
  218. package/js/ui/print.js +16 -25
  219. package/js/ui/programmatic-modal.js +9 -3
  220. package/js/ui/proxy-click.js +50 -36
  221. package/js/ui/resizer.js +408 -39
  222. package/js/ui/scroll-slider.js +24 -30
  223. package/js/ui/scrollpoint.js +29 -64
  224. package/js/ui/slider.js +108 -63
  225. package/js/ui/tabs.js +23 -36
  226. package/js/ui/theme-toggle.js +332 -94
  227. package/js/ui/tooltip.js +27 -32
  228. package/js/utils/class-logger.js +3 -3
  229. package/js/utils/css.js +13 -0
  230. package/js/utils/dom.js +23 -64
  231. package/js/utils/font-awesome.js +19 -0
  232. package/js/utils/index.js +2 -1
  233. package/js/utils/system.js +155 -0
  234. package/package.json +24 -9
  235. package/scss/README.md +9 -0
  236. package/scss/_breakpoint.scss +39 -5
  237. package/scss/_button.scss +7 -5
  238. package/scss/_color.scss +71 -40
  239. package/scss/_element.scss +124 -2
  240. package/scss/_layout.scss +7 -8
  241. package/scss/_typography.scss +15 -0
  242. package/scss/_units.scss +3 -2
  243. package/scss/_utils.scss +387 -16
  244. package/scss/base/_elements.scss +0 -1
  245. package/scss/base/_index.scss +1 -1
  246. package/scss/base/_keyframes.scss +15 -0
  247. package/scss/base/_layout.scss +1 -0
  248. package/scss/base/_print.scss +2 -0
  249. package/scss/base/_root.scss +2 -0
  250. package/scss/components/_accordion.scss +167 -110
  251. package/scss/components/_badge-stack.scss +84 -0
  252. package/scss/components/_badge.scss +30 -7
  253. package/scss/components/_basic-hero.scss +112 -0
  254. package/scss/components/_breadcrumb.scss +110 -0
  255. package/scss/components/_button-group.scss +90 -0
  256. package/scss/components/_button-verbose.scss +100 -18
  257. package/scss/components/_callout.scss +112 -53
  258. package/scss/components/_card-grid.scss +5 -2
  259. package/scss/components/_card.scss +216 -87
  260. package/scss/components/_counter-list.scss +151 -0
  261. package/scss/components/_css-icon.scss +27 -17
  262. package/scss/components/_data-grid.scss +55 -12
  263. package/scss/components/_data-table.scss +3 -0
  264. package/scss/components/_definition-list.scss +178 -0
  265. package/scss/components/_flipcard.scss +8 -3
  266. package/scss/components/_form-theme.scss +106 -95
  267. package/scss/components/_headline-label.scss +83 -0
  268. package/scss/components/_hero.scss +3 -10
  269. package/scss/components/_index.scss +79 -0
  270. package/scss/components/_menu-stack.scss +87 -23
  271. package/scss/components/_modal.scss +51 -23
  272. package/scss/components/_nav-strip.scss +2 -0
  273. package/scss/components/_overlay-section.scss +2 -5
  274. package/scss/components/_panel.scss +246 -0
  275. package/scss/components/_popover.scss +139 -38
  276. package/scss/components/_progress-bar.scss +260 -0
  277. package/scss/components/_progress-circle.scss +175 -0
  278. package/scss/components/_pull-quote.scss +1 -1
  279. package/scss/components/_rail.scss +127 -0
  280. package/scss/components/_ratio-box.scss +2 -5
  281. package/scss/components/_rule.scss +1 -0
  282. package/scss/components/_scroll-slider.scss +1 -5
  283. package/scss/components/_skeleton.scss +126 -0
  284. package/scss/components/_slider.scss +49 -72
  285. package/scss/components/_spoke-spinner.scss +2 -2
  286. package/scss/components/_sticky-list.scss +206 -0
  287. package/scss/components/_tabs.scss +22 -4
  288. package/scss/components/_tag.scss +49 -7
  289. package/scss/components/_vignette.scss +2 -5
  290. package/scss/components/_wysiwyg.scss +21 -13
  291. package/scss/helpers/_display.scss +15 -18
  292. package/scss/helpers/_print.scss +12 -7
  293. package/scss/helpers/_utilities.scss +62 -34
  294. package/types/events/index.d.ts +10 -1
  295. package/types/events/index.d.ts.map +1 -1
  296. package/types/index.d.ts +1 -0
  297. package/types/settings.d.ts +70 -0
  298. package/types/settings.d.ts.map +1 -0
  299. package/types/ui/breakpoints.d.ts +14 -14
  300. package/types/ui/breakpoints.d.ts.map +1 -1
  301. package/types/ui/collapsible.d.ts.map +1 -1
  302. package/types/ui/details-group.d.ts +38 -0
  303. package/types/ui/details-group.d.ts.map +1 -0
  304. package/types/ui/dialog.d.ts +20 -14
  305. package/types/ui/dialog.d.ts.map +1 -1
  306. package/types/ui/flipcard.d.ts +16 -10
  307. package/types/ui/flipcard.d.ts.map +1 -1
  308. package/types/ui/grid.d.ts +4 -6
  309. package/types/ui/grid.d.ts.map +1 -1
  310. package/types/ui/index.d.ts +1 -0
  311. package/types/ui/modal-builder.d.ts +116 -11
  312. package/types/ui/modal-builder.d.ts.map +1 -1
  313. package/types/ui/overflow-scroller.d.ts +2 -2
  314. package/types/ui/overflow-scroller.d.ts.map +1 -1
  315. package/types/ui/popover.d.ts +6 -7
  316. package/types/ui/popover.d.ts.map +1 -1
  317. package/types/ui/print.d.ts +0 -4
  318. package/types/ui/print.d.ts.map +1 -1
  319. package/types/ui/programmatic-modal.d.ts.map +1 -1
  320. package/types/ui/proxy-click.d.ts +19 -3
  321. package/types/ui/proxy-click.d.ts.map +1 -1
  322. package/types/ui/resizer.d.ts +116 -16
  323. package/types/ui/resizer.d.ts.map +1 -1
  324. package/types/ui/scroll-slider.d.ts +5 -7
  325. package/types/ui/scroll-slider.d.ts.map +1 -1
  326. package/types/ui/scrollpoint.d.ts +3 -8
  327. package/types/ui/scrollpoint.d.ts.map +1 -1
  328. package/types/ui/slider.d.ts +33 -14
  329. package/types/ui/slider.d.ts.map +1 -1
  330. package/types/ui/tabs.d.ts +6 -8
  331. package/types/ui/tabs.d.ts.map +1 -1
  332. package/types/ui/theme-toggle.d.ts +51 -7
  333. package/types/ui/theme-toggle.d.ts.map +1 -1
  334. package/types/ui/tooltip.d.ts +3 -5
  335. package/types/ui/tooltip.d.ts.map +1 -1
  336. package/types/utils/css.d.ts +11 -0
  337. package/types/utils/css.d.ts.map +1 -0
  338. package/types/utils/dom.d.ts +12 -32
  339. package/types/utils/dom.d.ts.map +1 -1
  340. package/types/utils/font-awesome.d.ts +5 -0
  341. package/types/utils/font-awesome.d.ts.map +1 -0
  342. package/types/utils/index.d.ts +1 -0
  343. package/types/utils/system.d.ts +113 -0
  344. 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,
@@ -33,6 +33,7 @@ $-fallbacks: (
33
33
  /// @prop {Color} footer-background-color [#f3f3f3] Background color of table footer.
34
34
  /// @prop {Color} color ["type-secondary"] Font color of the table.
35
35
  /// @prop {Color} header-color ["headline"] Font color for the table header.
36
+ /// @prop {Color} footer-color [null] Font color for the table footer.
36
37
  /// @prop {Number} line-height [true] Line height for the table.
37
38
  /// @prop {Dimension} column-min-width [6em] Min-width of the th element.
38
39
  /// @prop {Dimension} first-column-large-min-width [15em] When using "--large-first" style, the min width of the first th element.
@@ -63,6 +64,7 @@ $config: (
63
64
  "footer-background-color" : #f3f3f3,
64
65
  "color" : "type-secondary",
65
66
  "header-color" : "headline",
67
+ "footer-color" : null,
66
68
  "line-height" : true,
67
69
  "column-min-width" : 6em,
68
70
  "first-column-large-min-width" : 15em,
@@ -175,6 +177,7 @@ $config: (
175
177
  }
176
178
  tfoot tr {
177
179
  background-color: color.get(get("footer-background-color"));
180
+ color: color.get(get("footer-color"));
178
181
  }
179
182
  th,
180
183
  td {
@@ -0,0 +1,178 @@
1
+ ////
2
+ /// @group definition-list
3
+ /// Definition list styles
4
+ ////
5
+
6
+ @use "sass:map";
7
+ @use "sass:meta";
8
+ @use "sass:math";
9
+
10
+ @use "../selector";
11
+ @use "../utils";
12
+ @use "../color";
13
+ @use "../typography";
14
+ @use "../breakpoint";
15
+ @use "../element";
16
+
17
+ // Used for function fallback
18
+ $-fallbacks: (
19
+ "term-font-weight": (
20
+ "function": meta.get-function("get", false, "typography"),
21
+ "property": "font-weight-bold"
22
+ ),
23
+ "line-height": (
24
+ "function": meta.get-function("get", false, "typography"),
25
+ "property": "line-height-dense"
26
+ ),
27
+ "separator-border": (
28
+ "function": meta.get-function("get-rule-style", false, "element"),
29
+ "arguments": ("light",)
30
+ )
31
+ );
32
+
33
+ /// Module Settings
34
+ /// @type Map
35
+ /// @prop {String} term-font-weight [true] The font-weight of the dt element.
36
+ /// @prop {Dimension} line-height [true] The line-height of the definition list.
37
+ /// @prop {CssUnit} item-margin [0.75em] The spacing for each item.
38
+ /// @prop {Boolean} separator [true] Whether to show a separator between items.
39
+ /// @prop {Border} separator-border [true] The border style for the separator.
40
+ /// @prop {Dimension} separator-padding [0.75em] The padding for the separator.
41
+ /// @prop {String} table-breakpoint [medium] The breakpoint for the table layout.
42
+ /// @prop {String} table-template-columns [(25% 75%)] The grid-template-columns for the table layout.
43
+ /// @prop {Dimension} table-gap [1rem] The gap for the table layout.
44
+ /// @prop {String} inline-description-separator [","] The separator for multiple dd elements in inline layout.
45
+ /// @prop {String} inline-term-separator [":"] The separator for dt elements in inline layout.
46
+
47
+ $config: (
48
+ "margin" : (0 0 1.5em 0),
49
+ "term-font-weight": true,
50
+ "line-height": true,
51
+ "item-margin" : 1em,
52
+ "separator": true,
53
+ "separator-border": true,
54
+ "table-breakpoint": "medium",
55
+ "table-template-columns": (25% 75%),
56
+ "table-gap": 1rem,
57
+ "inline-description-separator": ",",
58
+ "inline-term-separator": ":",
59
+ "compact-item-margin" : 0.5em
60
+ ) !default;
61
+
62
+ /// Change modules $config
63
+ /// @param {Map} $changes Map of changes
64
+ /// @example scss
65
+ /// @include ulu.component-definition-list-set(( "property" : value ));
66
+
67
+ @mixin set($changes) {
68
+ $config: map.merge($config, $changes) !global;
69
+ }
70
+
71
+ /// Get a config option
72
+ /// @param {Map} $name Name of property
73
+ /// @example scss
74
+ /// @include ulu.component-definition-list-get("property");
75
+
76
+ @function get($name) {
77
+ $value: utils.require-map-get($config, $name, "definition-list [config]");
78
+ @return utils.function-fallback($name, $value, $-fallbacks);
79
+ }
80
+
81
+ /// Prints component styles
82
+ /// @demo definition-list
83
+ /// @example scss
84
+ /// @include ulu.component-definition-list-styles();
85
+
86
+ @mixin styles {
87
+ $prefix: selector.class("definition-list");
88
+ $item-margin-half: math.div(get("item-margin"), 2);
89
+ $compact-item-margin-half: math.div(get("compact-item-margin"), 2);
90
+
91
+ #{ $prefix } {
92
+ line-height: get("line-height");
93
+ margin: get("margin");
94
+
95
+ > div {
96
+ margin-top: $item-margin-half;
97
+ padding-top: $item-margin-half;
98
+ }
99
+ dt,
100
+ dd {
101
+ display: block;
102
+ margin: 0;
103
+ font-weight: normal;
104
+ }
105
+ dt {
106
+ font-weight: get("term-font-weight");
107
+ }
108
+ }
109
+
110
+ // Modifiers
111
+ #{ $prefix }--table {
112
+ @include breakpoint.min(get("table-breakpoint")) {
113
+ > div {
114
+ display: grid;
115
+ grid-template-columns: get("table-template-columns");
116
+ gap: get("table-gap");
117
+ }
118
+ }
119
+ }
120
+
121
+ #{ $prefix }--inline,
122
+ #{ $prefix }--inline-all {
123
+ > div {
124
+ display: flex;
125
+ flex-wrap: wrap;
126
+ align-items: baseline;
127
+ }
128
+
129
+ dd + dd {
130
+ &::before {
131
+ content: get("inline-description-separator");
132
+ margin-right: 0.2em;
133
+ }
134
+ }
135
+ }
136
+
137
+ #{ $prefix }--inline {
138
+ dt {
139
+ flex-basis: 100%;
140
+ }
141
+ }
142
+
143
+ #{ $prefix }--inline-all {
144
+ dt {
145
+ &::after {
146
+ content: get("inline-term-separator");
147
+ margin-right: 0.2em;
148
+ }
149
+ }
150
+ }
151
+
152
+ #{ $prefix }--separated > div:not(:first-child),
153
+ #{ $prefix }--separated-first > div:first-child {
154
+ border-top: get("separator-border");
155
+ }
156
+ #{ $prefix }--separated-last > div:last-child {
157
+ border-bottom: get("separator-border");
158
+ padding-bottom: $item-margin-half;
159
+ }
160
+
161
+ #{ $prefix }--compact {
162
+ > div {
163
+ margin-top: $compact-item-margin-half;
164
+ padding-top: $compact-item-margin-half;
165
+ }
166
+ }
167
+ #{ $prefix }--compact#{ $prefix }--separated-last > div:last-child {
168
+ padding-bottom: $compact-item-margin-half;
169
+ }
170
+
171
+ // Clip margin of first
172
+ #{ $prefix }:not(#{ $prefix }--separated-first) {
173
+ > div:first-child {
174
+ padding-top: 0;
175
+ margin-top: 0;
176
+ }
177
+ }
178
+ }
@@ -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;