@ulu/frontend 0.1.0-beta.8 → 0.1.0-beta.80

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 (287) hide show
  1. package/CHANGELOG.md +529 -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 +35 -28
  6. package/docs-dev/assets/main.js +8290 -635
  7. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  8. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  9. package/docs-dev/assets/style.css +789 -338
  10. package/docs-dev/changelog/index.html +6553 -0
  11. package/docs-dev/demos/accordion/index.html +850 -328
  12. package/docs-dev/demos/badge/index.html +5265 -0
  13. package/docs-dev/demos/basic-hero/index.html +111 -0
  14. package/docs-dev/demos/breakpoints-manager/index.html +5276 -0
  15. package/docs-dev/demos/button/index.html +892 -328
  16. package/docs-dev/demos/button-verbose/index.html +5268 -0
  17. package/docs-dev/demos/callout/index.html +895 -332
  18. package/docs-dev/demos/captioned-figure/index.html +850 -327
  19. package/docs-dev/demos/card/index.html +930 -768
  20. package/docs-dev/demos/card-grid/index.html +5387 -0
  21. package/docs-dev/demos/counter-list/index.html +5270 -0
  22. package/docs-dev/demos/css-icons/index.html +850 -327
  23. package/docs-dev/demos/data-grid/index.html +870 -347
  24. package/docs-dev/demos/data-table/index.html +1024 -368
  25. package/docs-dev/demos/details-group/index.html +5297 -0
  26. package/docs-dev/demos/file-save/index.html +850 -327
  27. package/docs-dev/demos/flipcard/index.html +850 -327
  28. package/docs-dev/demos/form-theme/index.html +868 -358
  29. package/docs-dev/demos/hero/index.html +12 -4
  30. package/docs-dev/demos/image-grid/index.html +12 -4
  31. package/docs-dev/demos/index.html +851 -328
  32. package/docs-dev/demos/list-inline/index.html +850 -327
  33. package/docs-dev/demos/list-lines/index.html +850 -327
  34. package/docs-dev/demos/menu-stack/index.html +884 -346
  35. package/docs-dev/demos/modals/index.html +968 -330
  36. package/docs-dev/demos/nav-strip/index.html +850 -327
  37. package/docs-dev/demos/overlay-section/index.html +939 -346
  38. package/docs-dev/demos/popovers/index.html +1112 -347
  39. package/docs-dev/demos/print/index.html +850 -327
  40. package/docs-dev/demos/pull-quote/index.html +850 -327
  41. package/docs-dev/demos/rule/index.html +863 -328
  42. package/docs-dev/demos/scroll-slider/index.html +72 -106
  43. package/docs-dev/demos/scrollpoints/index.html +851 -328
  44. package/docs-dev/demos/slider/index.html +12 -4
  45. package/docs-dev/demos/spoke-spinner/index.html +850 -327
  46. package/docs-dev/demos/{list-inline.1 → sticky-list}/index.html +883 -357
  47. package/docs-dev/demos/tabs/index.html +886 -327
  48. package/docs-dev/demos/tag/index.html +850 -327
  49. package/docs-dev/demos/theme-toggle/index.html +5309 -0
  50. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  51. package/docs-dev/demos/tiles/index.html +850 -327
  52. package/docs-dev/demos/tooltip/index.html +850 -327
  53. package/docs-dev/guide/building-stylesheet/index.html +850 -327
  54. package/docs-dev/guide/developing-ulu-scss-module/index.html +850 -327
  55. package/docs-dev/guide/index.html +850 -327
  56. package/docs-dev/index.html +850 -327
  57. package/docs-dev/javascript/events/index.html +847 -326
  58. package/docs-dev/javascript/index.html +850 -327
  59. package/docs-dev/javascript/settings/index.html +5430 -0
  60. package/docs-dev/javascript/ui-breakpoints/index.html +862 -341
  61. package/docs-dev/javascript/ui-collapsible/index.html +847 -326
  62. package/docs-dev/javascript/ui-details-group/index.html +5352 -0
  63. package/docs-dev/javascript/ui-dialog/index.html +879 -343
  64. package/docs-dev/javascript/ui-flipcard/index.html +908 -331
  65. package/docs-dev/javascript/ui-grid/index.html +857 -362
  66. package/docs-dev/javascript/ui-modal-builder/index.html +1047 -386
  67. package/docs-dev/javascript/ui-overflow-scroller/index.html +847 -326
  68. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +847 -326
  69. package/docs-dev/javascript/ui-page/index.html +847 -326
  70. package/docs-dev/javascript/ui-popover/index.html +855 -338
  71. package/docs-dev/javascript/ui-print/index.html +847 -334
  72. package/docs-dev/javascript/ui-print-details/index.html +847 -326
  73. package/docs-dev/javascript/ui-programmatic-modal/index.html +847 -326
  74. package/docs-dev/javascript/ui-proxy-click/index.html +934 -328
  75. package/docs-dev/javascript/ui-resizer/index.html +847 -326
  76. package/docs-dev/javascript/ui-scroll-slider/index.html +885 -332
  77. package/docs-dev/javascript/ui-scrollpoint/index.html +853 -339
  78. package/docs-dev/javascript/ui-slider/index.html +1043 -331
  79. package/docs-dev/javascript/ui-tabs/index.html +858 -374
  80. package/docs-dev/javascript/ui-theme-toggle/index.html +5440 -0
  81. package/docs-dev/javascript/ui-tooltip/index.html +854 -337
  82. package/docs-dev/javascript/utils-class-logger/index.html +847 -326
  83. package/docs-dev/javascript/utils-css/index.html +5254 -0
  84. package/docs-dev/javascript/utils-dom/index.html +887 -446
  85. package/docs-dev/javascript/utils-file-save/index.html +847 -326
  86. package/docs-dev/javascript/utils-floating-ui/index.html +847 -326
  87. package/docs-dev/javascript/utils-id/index.html +847 -326
  88. package/docs-dev/javascript/utils-pause-youtube-video/index.html +847 -326
  89. package/docs-dev/javascript/utils-system/index.html +5557 -0
  90. package/docs-dev/sass/base/color/index.html +847 -326
  91. package/docs-dev/sass/base/elements/index.html +847 -326
  92. package/docs-dev/sass/base/index/index.html +847 -326
  93. package/docs-dev/sass/base/index.html +850 -327
  94. package/docs-dev/sass/base/keyframes/index.html +847 -326
  95. package/docs-dev/sass/base/layout/index.html +847 -326
  96. package/docs-dev/sass/base/normalize/index.html +847 -326
  97. package/docs-dev/sass/base/print/index.html +847 -326
  98. package/docs-dev/sass/base/root/index.html +847 -326
  99. package/docs-dev/sass/base/typography/index.html +847 -326
  100. package/docs-dev/sass/components/accordion/index.html +866 -338
  101. package/docs-dev/sass/components/adaptive-spacing/index.html +847 -326
  102. package/docs-dev/sass/components/badge/index.html +869 -337
  103. package/docs-dev/sass/components/basic-hero/index.html +5415 -0
  104. package/docs-dev/sass/components/button/index.html +847 -326
  105. package/docs-dev/sass/components/button-verbose/index.html +933 -337
  106. package/docs-dev/sass/components/callout/index.html +958 -418
  107. package/docs-dev/sass/components/captioned-figure/index.html +970 -334
  108. package/docs-dev/sass/components/card/index.html +939 -346
  109. package/docs-dev/sass/components/card-grid/index.html +847 -326
  110. package/docs-dev/sass/components/counter-list/index.html +5497 -0
  111. package/docs-dev/sass/components/css-icon/index.html +864 -336
  112. package/docs-dev/sass/components/data-grid/index.html +868 -340
  113. package/docs-dev/sass/components/data-table/index.html +1063 -352
  114. package/docs-dev/sass/components/fill-context/index.html +847 -326
  115. package/docs-dev/sass/components/flipcard/index.html +888 -336
  116. package/docs-dev/sass/components/flipcard-grid/index.html +847 -326
  117. package/docs-dev/sass/components/form-theme/index.html +1063 -446
  118. package/docs-dev/sass/components/hero/index.html +903 -334
  119. package/docs-dev/sass/components/horizontal-rule/index.html +847 -326
  120. package/docs-dev/sass/components/image-grid/index.html +847 -326
  121. package/docs-dev/sass/components/index/index.html +860 -336
  122. package/docs-dev/sass/components/index.html +850 -327
  123. package/docs-dev/sass/components/links/index.html +847 -326
  124. package/docs-dev/sass/components/list-inline/index.html +847 -326
  125. package/docs-dev/sass/components/list-lines/index.html +847 -326
  126. package/docs-dev/sass/components/list-ordered/index.html +847 -326
  127. package/docs-dev/sass/components/list-unordered/index.html +847 -326
  128. package/docs-dev/sass/components/menu-stack/index.html +881 -347
  129. package/docs-dev/sass/components/modal/index.html +891 -342
  130. package/docs-dev/sass/components/nav-strip/index.html +855 -334
  131. package/docs-dev/sass/components/overlay-section/index.html +855 -334
  132. package/docs-dev/sass/components/pager/index.html +847 -326
  133. package/docs-dev/sass/components/placeholder-block/index.html +847 -326
  134. package/docs-dev/sass/components/popover/index.html +904 -347
  135. package/docs-dev/sass/components/pull-quote/index.html +859 -338
  136. package/docs-dev/sass/components/ratio-box/index.html +855 -334
  137. package/docs-dev/sass/components/rule/index.html +848 -327
  138. package/docs-dev/sass/components/scroll-slider/index.html +855 -346
  139. package/docs-dev/sass/components/skip-link/index.html +847 -326
  140. package/docs-dev/sass/components/slider/index.html +897 -388
  141. package/docs-dev/sass/components/spoke-spinner/index.html +849 -328
  142. package/docs-dev/sass/components/sticky-list/index.html +5633 -0
  143. package/docs-dev/sass/components/tabs/index.html +872 -336
  144. package/docs-dev/sass/components/tag/index.html +849 -328
  145. package/docs-dev/sass/components/tile-button/index.html +847 -326
  146. package/docs-dev/sass/components/tile-grid/index.html +847 -326
  147. package/docs-dev/sass/components/tile-grid-overlay/index.html +847 -326
  148. package/docs-dev/sass/components/vignette/index.html +861 -334
  149. package/docs-dev/sass/components/wysiwyg/index.html +847 -326
  150. package/docs-dev/sass/core/breakpoint/index.html +931 -358
  151. package/docs-dev/sass/core/button/index.html +847 -326
  152. package/docs-dev/sass/core/color/index.html +1019 -366
  153. package/docs-dev/sass/core/cssvar/index.html +847 -326
  154. package/docs-dev/sass/core/element/index.html +1108 -381
  155. package/docs-dev/sass/core/index.html +847 -326
  156. package/docs-dev/sass/core/layout/index.html +903 -363
  157. package/docs-dev/sass/core/path/index.html +847 -326
  158. package/docs-dev/sass/core/selector/index.html +847 -326
  159. package/docs-dev/sass/core/typography/index.html +847 -326
  160. package/docs-dev/sass/core/units/index.html +857 -330
  161. package/docs-dev/sass/core/utils/index.html +2104 -476
  162. package/docs-dev/sass/helpers/color/index.html +847 -326
  163. package/docs-dev/sass/helpers/display/index.html +848 -327
  164. package/docs-dev/sass/helpers/index/index.html +847 -326
  165. package/docs-dev/sass/helpers/index.html +850 -327
  166. package/docs-dev/sass/helpers/print/index.html +759 -298
  167. package/docs-dev/sass/helpers/typography/index.html +847 -326
  168. package/docs-dev/sass/helpers/units/index.html +847 -326
  169. package/docs-dev/sass/helpers/utilities/index.html +849 -328
  170. package/docs-dev/sass/index.html +850 -327
  171. package/js/index.js +1 -0
  172. package/js/settings.js +95 -0
  173. package/js/ui/breakpoints.js +19 -16
  174. package/js/ui/collapsible.js +8 -1
  175. package/js/ui/details-group.js +112 -0
  176. package/js/ui/dialog.js +85 -42
  177. package/js/ui/dialog.todo +2 -36
  178. package/js/ui/flipcard.js +37 -57
  179. package/js/ui/grid.js +15 -13
  180. package/js/ui/index.js +1 -0
  181. package/js/ui/modal-builder.js +105 -59
  182. package/js/ui/overflow-scroller.js +6 -4
  183. package/js/ui/page.js +2 -2
  184. package/js/ui/popover.js +38 -38
  185. package/js/ui/print.js +16 -25
  186. package/js/ui/programmatic-modal.js +9 -3
  187. package/js/ui/proxy-click.js +50 -36
  188. package/js/ui/scroll-slider.js +24 -30
  189. package/js/ui/scrollpoint.js +29 -64
  190. package/js/ui/slider.js +108 -63
  191. package/js/ui/tabs.js +23 -36
  192. package/js/ui/theme-toggle.js +332 -94
  193. package/js/ui/tooltip.js +27 -32
  194. package/js/utils/css.js +13 -0
  195. package/js/utils/dom.js +23 -64
  196. package/js/utils/font-awesome.js +18 -0
  197. package/js/utils/index.js +2 -1
  198. package/js/utils/system.js +155 -0
  199. package/package.json +23 -8
  200. package/scss/README.md +4 -0
  201. package/scss/_breakpoint.scss +38 -4
  202. package/scss/_color.scss +40 -9
  203. package/scss/_element.scss +108 -2
  204. package/scss/_layout.scss +7 -8
  205. package/scss/_units.scss +3 -2
  206. package/scss/_utils.scss +380 -16
  207. package/scss/components/README.todos +14 -0
  208. package/scss/components/_accordion.scss +33 -19
  209. package/scss/components/_badge.scss +23 -4
  210. package/scss/components/_basic-hero.scss +112 -0
  211. package/scss/components/_button-verbose.scss +100 -18
  212. package/scss/components/_callout.scss +125 -78
  213. package/scss/components/_captioned-figure.scss +17 -0
  214. package/scss/components/_card-grid.scss +1 -1
  215. package/scss/components/_card.scss +246 -74
  216. package/scss/components/_counter-list.scss +151 -0
  217. package/scss/components/_css-icon.scss +25 -21
  218. package/scss/components/_data-grid.scss +55 -9
  219. package/scss/components/_data-table.scss +39 -3
  220. package/scss/components/_flipcard.scss +8 -3
  221. package/scss/components/_form-theme.scss +119 -108
  222. package/scss/components/_hero.scss +12 -10
  223. package/scss/components/_index.scss +18 -0
  224. package/scss/components/_menu-stack.scss +42 -26
  225. package/scss/components/_modal.scss +42 -26
  226. package/scss/components/_nav-strip.scss +2 -0
  227. package/scss/components/_overlay-section.scss +2 -5
  228. package/scss/components/_popover.scss +165 -64
  229. package/scss/components/_pull-quote.scss +13 -13
  230. package/scss/components/_ratio-box.scss +2 -5
  231. package/scss/components/_rule.scss +1 -0
  232. package/scss/components/_scroll-slider.scss +1 -5
  233. package/scss/components/_slider.scss +49 -72
  234. package/scss/components/_spoke-spinner.scss +2 -2
  235. package/scss/components/_sticky-list.scss +206 -0
  236. package/scss/components/_tabs.scss +22 -4
  237. package/scss/components/_vignette.scss +3 -5
  238. package/scss/helpers/_display.scss +15 -18
  239. package/scss/helpers/_print.scss +12 -7
  240. package/scss/helpers/_utilities.scss +42 -32
  241. package/types/index.d.ts +1 -0
  242. package/types/settings.d.ts +66 -0
  243. package/types/settings.d.ts.map +1 -0
  244. package/types/ui/breakpoints.d.ts +14 -14
  245. package/types/ui/breakpoints.d.ts.map +1 -1
  246. package/types/ui/collapsible.d.ts.map +1 -1
  247. package/types/ui/details-group.d.ts +38 -0
  248. package/types/ui/details-group.d.ts.map +1 -0
  249. package/types/ui/dialog.d.ts +20 -14
  250. package/types/ui/dialog.d.ts.map +1 -1
  251. package/types/ui/flipcard.d.ts +16 -10
  252. package/types/ui/flipcard.d.ts.map +1 -1
  253. package/types/ui/grid.d.ts +4 -6
  254. package/types/ui/grid.d.ts.map +1 -1
  255. package/types/ui/index.d.ts +2 -1
  256. package/types/ui/modal-builder.d.ts +113 -11
  257. package/types/ui/modal-builder.d.ts.map +1 -1
  258. package/types/ui/overflow-scroller.d.ts +2 -2
  259. package/types/ui/overflow-scroller.d.ts.map +1 -1
  260. package/types/ui/popover.d.ts +6 -7
  261. package/types/ui/popover.d.ts.map +1 -1
  262. package/types/ui/print.d.ts +0 -4
  263. package/types/ui/print.d.ts.map +1 -1
  264. package/types/ui/programmatic-modal.d.ts.map +1 -1
  265. package/types/ui/proxy-click.d.ts +19 -3
  266. package/types/ui/proxy-click.d.ts.map +1 -1
  267. package/types/ui/scroll-slider.d.ts +5 -7
  268. package/types/ui/scroll-slider.d.ts.map +1 -1
  269. package/types/ui/scrollpoint.d.ts +3 -8
  270. package/types/ui/scrollpoint.d.ts.map +1 -1
  271. package/types/ui/slider.d.ts +33 -14
  272. package/types/ui/slider.d.ts.map +1 -1
  273. package/types/ui/tabs.d.ts +6 -8
  274. package/types/ui/tabs.d.ts.map +1 -1
  275. package/types/ui/theme-toggle.d.ts +51 -7
  276. package/types/ui/theme-toggle.d.ts.map +1 -1
  277. package/types/ui/tooltip.d.ts +3 -5
  278. package/types/ui/tooltip.d.ts.map +1 -1
  279. package/types/utils/css.d.ts +11 -0
  280. package/types/utils/css.d.ts.map +1 -0
  281. package/types/utils/dom.d.ts +12 -32
  282. package/types/utils/dom.d.ts.map +1 -1
  283. package/types/utils/font-awesome.d.ts +5 -0
  284. package/types/utils/font-awesome.d.ts.map +1 -0
  285. package/types/utils/index.d.ts +2 -1
  286. package/types/utils/system.d.ts +113 -0
  287. package/types/utils/system.d.ts.map +1 -0
@@ -30,6 +30,7 @@
30
30
  /// @prop {Dimension} size [1.1em] The width, height and font size of the css-icon.
31
31
  /// @prop {Dimension} stroke-border-radius [1px] The rounding of the strokes for css-icon.
32
32
  /// @prop {Dimension} stroke-width [0.15em] The stroke width of the css-icon.
33
+ /// @prop {Dimension} drag-gap-multiplier [0.75] Multiplier used to adjust the space between drag-x/drag-y icons (used for all stroke sizes)
33
34
  /// @prop {Dimension} text-offset [0.05em] When using an icon with text, adds a margin to match the text height.
34
35
  /// @prop {Dimension} text-size [1em] font-size of the icon when using text.
35
36
  /// @prop {Dimension} vertical-align [-0.2em] Vertical-align for css-icon
@@ -45,6 +46,7 @@ $config: (
45
46
  "size" : 1.15em,
46
47
  "stroke-border-radius" : null,
47
48
  "stroke-width" : 3px,
49
+ "drag-gap-multiplier" : 0.75,
48
50
  "text-offset" : 0.05em,
49
51
  "text-size" : 1em,
50
52
  "vertical-align" : -0.25em,
@@ -122,8 +124,8 @@ $config: (
122
124
  -moz-osx-font-smoothing: grayscale;
123
125
  -webkit-font-smoothing: antialiased;
124
126
  // Icons that share pseudos for strokes
125
- &:before,
126
- &:after {
127
+ &::before,
128
+ &::after {
127
129
  // content: "";
128
130
  display: block;
129
131
  position: absolute;
@@ -186,7 +188,7 @@ $config: (
186
188
 
187
189
  .css-icon--circle-info,
188
190
  .css-icon--circle-question {
189
- &:before {
191
+ &::before {
190
192
  content: "i";
191
193
  text-align: center;
192
194
  font-size: get("text-size");
@@ -206,7 +208,7 @@ $config: (
206
208
  }
207
209
  }
208
210
  .css-icon--circle-question {
209
- &:before {
211
+ &::before {
210
212
  content: "?";
211
213
  }
212
214
  }
@@ -227,13 +229,13 @@ $config: (
227
229
  clip-path: polygon(10% 10%, 90% 50%, 10% 90%);
228
230
  }
229
231
  [class*="css-icon--arrow"] {
230
- &:before {
232
+ &::before {
231
233
  content: "";
232
234
  width: 70%;
233
235
  left: 0;
234
236
  }
235
237
  // Note triangle clip-path is defined above with the solid triangle
236
- &:after {
238
+ &::after {
237
239
  content: "";
238
240
  border-radius: 0;
239
241
  height: 100%;
@@ -244,8 +246,8 @@ $config: (
244
246
  }
245
247
  [class*="css-icon--angle"] {
246
248
  transform: rotate(135deg);
247
- &:before,
248
- &:after {
249
+ &::before,
250
+ &::after {
249
251
  content: "";
250
252
  top: 30%;
251
253
  left: 30%;
@@ -253,14 +255,14 @@ $config: (
253
255
  transform: none;
254
256
  margin-top: 0;
255
257
  }
256
- &:after {
258
+ &::after {
257
259
  width: $stroke-width;
258
260
  height: 70%;
259
261
  }
260
262
  }
261
263
  @include for-each-stroke() using ($alt-width, $alt-border-radius) {
262
264
  &[class*="css-icon--angle"] {
263
- &:after {
265
+ &::after {
264
266
  width: $alt-width;
265
267
  }
266
268
  }
@@ -283,26 +285,26 @@ $config: (
283
285
 
284
286
  .css-icon--plus,
285
287
  .css-icon--plus-to-minus {
286
- &:before {
288
+ &::before {
287
289
  transform: translateX(-50%) rotate(90deg);
288
290
  }
289
- &:after {
291
+ &::after {
290
292
  transform: translateX(-50%);
291
293
  }
292
294
  }
293
295
  .css-icon--minus {
294
- &:before {
296
+ &::before {
295
297
  content: none;
296
298
  }
297
- &:after {
299
+ &::after {
298
300
  transform: translateX(-50%);
299
301
  }
300
302
  }
301
303
  .css-icon--close {
302
- &:before {
304
+ &::before {
303
305
  transform: translate(-50%) rotate(45deg);
304
306
  }
305
- &:after {
307
+ &::after {
306
308
  transform: translate(-50%) rotate(-45deg);
307
309
  }
308
310
  }
@@ -310,21 +312,23 @@ $config: (
310
312
  &::before {
311
313
  content: "";
312
314
  // Make up for margin-top by default
313
- margin-top: -($stroke-width + $stroke-width);
315
+ margin-top: -(($stroke-width + $stroke-width) * get("drag-gap-multiplier"));
314
316
  }
315
317
  &::after {
316
318
  content: "";
317
- margin-top: $stroke-width;
319
+ margin-top: $stroke-width * get("drag-gap-multiplier");
318
320
  }
319
321
  }
320
322
 
321
323
  @include for-each-stroke() using ($alt-width, $alt-border-radius) {
324
+ // $drag-gap-multiplier: map.get($props, "drag-gap-multiplier");
325
+ // $drag-gap-multiplier: if($drag-gap-multiplier, $drag-gap-multiplier, 0);
322
326
  &[class*="css-icon--drag"] {
323
327
  &::before {
324
- margin-top: -($alt-width + $alt-width);
328
+ margin-top: -(($alt-width + $alt-width) * get("drag-gap-multiplier"));
325
329
  }
326
330
  &::after {
327
- margin-top: $alt-width;
331
+ margin-top: $alt-width * get("drag-gap-multiplier");
328
332
  }
329
333
  }
330
334
  }
@@ -425,7 +429,7 @@ $config: (
425
429
  transition: none;
426
430
  transform: translate(-50%) rotate(-45deg);
427
431
  }
428
- &:before {
432
+ &::before {
429
433
  box-shadow: none;
430
434
  transform: translate(-50%) rotate(45deg);
431
435
  }
@@ -38,6 +38,7 @@
38
38
  $config: (
39
39
  "attribute": "data-grid",
40
40
  "attribute-container": "data-grid-container",
41
+ "attribute-init": "data-grid-init",
41
42
  "breakpoint": false, // Fallback to default
42
43
  "columns": 12,
43
44
  "gutter": 14px,
@@ -49,6 +50,7 @@ $config: (
49
50
  "sticky-top": var(--ulu-sticky-top-offset, 0),
50
51
  "rule-color" : "rule",
51
52
  "rule-size" : 1px,
53
+ "rule-fade-duration" : 400ms,
52
54
  "extra-breakpoints": (
53
55
  "medium" : (
54
56
  "breakpoint": "medium",
@@ -134,6 +136,7 @@ $config: (
134
136
  /// @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
137
  /// @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
138
  /// @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")
139
+ /// @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
140
 
138
141
  @mixin create(
139
142
  $columns: get("columns"),
@@ -146,17 +149,20 @@ $config: (
146
149
  $extra-rule-styles: get("extra-rule-styles"),
147
150
  $extra-gutter-scales: get("extra-gutter-scales"),
148
151
  $attribute: get("attribute"),
152
+ $attribute-init: get("attribute-init"),
149
153
  $include-container: true,
150
154
  $container-attribute: get("attribute-container"),
151
155
  $container-gutter-scales: true,
152
156
  $sticky-top: get("sticky-top"),
153
- $sticky-bottom: get("sticky-bottom")
157
+ $sticky-bottom: get("sticky-bottom"),
158
+ $rule-fade-duration: get("rule-fade-duration")
154
159
  ) {
155
160
  $attribute-item: "#{ $attribute }-item";
156
161
  $select-grid: '[#{ $attribute }*="columns: #{ $columns }"]';
162
+ $select-grid-not-init: '[#{ $attribute }]:not([#{ $attribute-init }])';
157
163
  $select-item: '[#{ $attribute-item }]';
158
- $select-rule-col: ":before";
159
- $select-rule-row: ":after";
164
+ $select-rule-col: "::before";
165
+ $select-rule-row: "::after";
160
166
  $select-container: "[#{ $container-attribute }]";
161
167
  // These through off syntax highlighting when inside interpolation
162
168
  $position-class-column-first: get("position-class-column-first");
@@ -215,6 +221,20 @@ $config: (
215
221
  }
216
222
  }
217
223
  }
224
+ // Rules: Applies to both column and row
225
+ &#{'[#{ $attribute }*="rules"]'} {
226
+ > #{ $select-item } {
227
+ position: relative;
228
+ @if ($rule-fade-duration) {
229
+ &#{ $select-rule-col },
230
+ &#{ $select-rule-row } {
231
+ // For when grid init fades them in
232
+ opacity: 1;
233
+ transition: opacity $rule-fade-duration ease-in;
234
+ }
235
+ }
236
+ }
237
+ }
218
238
  // Rules: Row
219
239
  &#{'[#{ $attribute }*="rules-row:"]'} {
220
240
  > #{ $select-item } {
@@ -227,12 +247,6 @@ $config: (
227
247
  }
228
248
  }
229
249
  }
230
- // Rules: Applies to both column and row
231
- &#{'[#{ $attribute }*="rules"]'} {
232
- > #{ $select-item } {
233
- position: relative;
234
- }
235
- }
236
250
  // Rules: Column
237
251
  &#{'[#{ $attribute }*="rules-column:"]'} {
238
252
  > #{ $select-item } {
@@ -580,6 +594,21 @@ $config: (
580
594
  }
581
595
  }
582
596
  }
597
+
598
+ // Disable grid rules until init attribute it present (from positioning script)
599
+ // - In order to keep the rules for this compact it will only hide them if the init
600
+ // is not present
601
+
602
+ @if ($rule-fade-duration) {
603
+ #{ $select-grid-not-init } {
604
+ > #{ $select-item } {
605
+ &#{ $select-rule-col },
606
+ &#{ $select-rule-row } {
607
+ opacity: 0 !important;
608
+ }
609
+ }
610
+ }
611
+ }
583
612
  }
584
613
 
585
614
  @mixin -create-extra-breakpoint(
@@ -635,6 +664,23 @@ $config: (
635
664
  }
636
665
  }
637
666
 
667
+ &#{'[#{ $attribute }*="gutters-row:"]'} {
668
+ > #{ $select-item } {
669
+ padding-top: $gutter;
670
+ padding-bottom: $gutter;
671
+ }
672
+ @if $extra-gutter-scales {
673
+ @each $scale, $amount in $extra-gutter-scales {
674
+ &#{'[#{ $attribute }*="gutter-scale: #{ $scale }"]'} {
675
+ > #{ $select-item } {
676
+ padding-top: $gutter * $amount;
677
+ padding-bottom: $gutter * $amount;
678
+ }
679
+ }
680
+ }
681
+ }
682
+ }
683
+
638
684
  @include -create-column-widths(
639
685
  $columns: $columns,
640
686
  $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;