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

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