@ulu/frontend 0.1.0-beta.6 → 0.1.0-beta.61

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 (290) hide show
  1. package/CHANGELOG.md +428 -0
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +28 -27
  4. package/docs-dev/assets/main.js +832 -421
  5. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  6. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  7. package/docs-dev/assets/style.css +629 -233
  8. package/docs-dev/changelog/index.html +6236 -0
  9. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  10. package/docs-dev/demos/accordion/index.html +904 -321
  11. package/docs-dev/demos/basic-hero/index.html +111 -0
  12. package/docs-dev/demos/breakpoints-manager/index.html +5246 -0
  13. package/docs-dev/demos/button/index.html +916 -323
  14. package/docs-dev/demos/button-verbose/index.html +5238 -0
  15. package/docs-dev/demos/callout/index.html +951 -328
  16. package/docs-dev/demos/captioned-figure/index.html +904 -321
  17. package/docs-dev/demos/card/index.html +970 -748
  18. package/docs-dev/demos/card-grid/index.html +5357 -0
  19. package/docs-dev/demos/card-new/index.html +5088 -0
  20. package/docs-dev/demos/card-old/index.html +5223 -0
  21. package/docs-dev/demos/card.1/index.html +5223 -0
  22. package/docs-dev/demos/card.TRASH/index.html +5541 -0
  23. package/docs-dev/demos/counter-list/index.html +5224 -0
  24. package/docs-dev/demos/css-icons/index.html +904 -321
  25. package/docs-dev/demos/data-grid/index.html +1014 -511
  26. package/docs-dev/demos/data-table/index.html +1064 -348
  27. package/docs-dev/demos/details-group/index.html +5267 -0
  28. package/docs-dev/demos/file-save/index.html +904 -321
  29. package/docs-dev/demos/flipcard/index.html +904 -321
  30. package/docs-dev/demos/form-theme/index.html +922 -352
  31. package/docs-dev/demos/hero/index.html +12 -4
  32. package/docs-dev/demos/image-grid/index.html +12 -4
  33. package/docs-dev/demos/index.html +905 -322
  34. package/docs-dev/demos/list-inline/index.html +5220 -0
  35. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  36. package/docs-dev/demos/list-lines/index.html +5210 -0
  37. package/docs-dev/demos/menu-stack/index.html +975 -377
  38. package/docs-dev/demos/modals/index.html +1010 -357
  39. package/docs-dev/demos/nav-strip/index.html +904 -321
  40. package/docs-dev/demos/overlay-section/index.html +979 -326
  41. package/docs-dev/demos/popovers/index.html +1152 -327
  42. package/docs-dev/demos/print/index.html +904 -321
  43. package/docs-dev/demos/pull-quote/index.html +904 -321
  44. package/docs-dev/demos/rule/index.html +952 -357
  45. package/docs-dev/demos/scroll-slider/index.html +72 -106
  46. package/docs-dev/demos/scrollpoints/index.html +905 -322
  47. package/docs-dev/demos/slider/index.html +12 -4
  48. package/docs-dev/demos/spoke-spinner/index.html +904 -321
  49. package/docs-dev/demos/sticky-list/index.html +5223 -0
  50. package/docs-dev/demos/tabs/index.html +944 -325
  51. package/docs-dev/demos/tag/index.html +904 -321
  52. package/docs-dev/demos/theme-toggle/index.html +5279 -0
  53. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  54. package/docs-dev/demos/tiles/index.html +904 -321
  55. package/docs-dev/demos/tooltip/index.html +904 -321
  56. package/docs-dev/guide/building-stylesheet/index.html +904 -321
  57. package/docs-dev/guide/developing-ulu-scss-module/index.html +904 -321
  58. package/docs-dev/guide/index.html +904 -321
  59. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  60. package/docs-dev/index.html +904 -321
  61. package/docs-dev/javascript/events/index.html +901 -320
  62. package/docs-dev/javascript/index.html +904 -321
  63. package/docs-dev/javascript/settings/index.html +5400 -0
  64. package/docs-dev/javascript/ui-breakpoints/index.html +916 -335
  65. package/docs-dev/javascript/ui-collapsible/index.html +901 -320
  66. package/docs-dev/javascript/ui-details-group/index.html +5322 -0
  67. package/docs-dev/javascript/ui-dialog/index.html +967 -371
  68. package/docs-dev/javascript/ui-flipcard/index.html +964 -327
  69. package/docs-dev/javascript/ui-grid/index.html +913 -358
  70. package/docs-dev/javascript/ui-modal-builder/index.html +1067 -366
  71. package/docs-dev/javascript/ui-overflow-scroller/index.html +901 -320
  72. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +901 -320
  73. package/docs-dev/javascript/ui-page/index.html +901 -320
  74. package/docs-dev/javascript/ui-popover/index.html +911 -334
  75. package/docs-dev/javascript/ui-print/index.html +901 -328
  76. package/docs-dev/javascript/ui-print-details/index.html +901 -320
  77. package/docs-dev/javascript/ui-programmatic-modal/index.html +901 -320
  78. package/docs-dev/javascript/ui-proxy-click/index.html +990 -324
  79. package/docs-dev/javascript/ui-resizer/index.html +901 -320
  80. package/docs-dev/javascript/ui-scroll-slider/index.html +941 -328
  81. package/docs-dev/javascript/ui-scrollpoint/index.html +907 -333
  82. package/docs-dev/javascript/ui-slider/index.html +1099 -327
  83. package/docs-dev/javascript/ui-tabs/index.html +914 -370
  84. package/docs-dev/javascript/ui-theme-toggle/index.html +5410 -0
  85. package/docs-dev/javascript/ui-tooltip/index.html +940 -363
  86. package/docs-dev/javascript/utils-class-logger/index.html +901 -320
  87. package/docs-dev/javascript/utils-css/index.html +5224 -0
  88. package/docs-dev/javascript/utils-dom/index.html +1054 -339
  89. package/docs-dev/javascript/utils-file-save/index.html +901 -320
  90. package/docs-dev/javascript/utils-floating-ui/index.html +901 -320
  91. package/docs-dev/javascript/utils-id/index.html +901 -320
  92. package/docs-dev/javascript/utils-pause-youtube-video/index.html +901 -320
  93. package/docs-dev/javascript/utils-system/index.html +5527 -0
  94. package/docs-dev/sass/base/color/index.html +901 -320
  95. package/docs-dev/sass/base/elements/index.html +901 -320
  96. package/docs-dev/sass/base/index/index.html +901 -320
  97. package/docs-dev/sass/base/index.html +904 -321
  98. package/docs-dev/sass/base/keyframes/index.html +901 -320
  99. package/docs-dev/sass/base/layout/index.html +901 -320
  100. package/docs-dev/sass/base/normalize/index.html +901 -320
  101. package/docs-dev/sass/base/print/index.html +901 -320
  102. package/docs-dev/sass/base/root/index.html +901 -320
  103. package/docs-dev/sass/base/typography/index.html +901 -320
  104. package/docs-dev/sass/components/accordion/index.html +908 -327
  105. package/docs-dev/sass/components/adaptive-spacing/index.html +901 -320
  106. package/docs-dev/sass/components/badge/index.html +909 -328
  107. package/docs-dev/sass/components/basic-hero/index.html +5385 -0
  108. package/docs-dev/sass/components/button/index.html +901 -320
  109. package/docs-dev/sass/components/button-verbose/index.html +989 -333
  110. package/docs-dev/sass/components/callout/index.html +1018 -414
  111. package/docs-dev/sass/components/captioned-figure/index.html +1026 -330
  112. package/docs-dev/sass/components/card/index.html +1003 -350
  113. package/docs-dev/sass/components/card-grid/index.html +901 -320
  114. package/docs-dev/sass/components/counter-list/index.html +5458 -0
  115. package/docs-dev/sass/components/css-icon/index.html +918 -330
  116. package/docs-dev/sass/components/data-grid/index.html +922 -334
  117. package/docs-dev/sass/components/data-table/index.html +1106 -333
  118. package/docs-dev/sass/components/fill-context/index.html +901 -320
  119. package/docs-dev/sass/components/flipcard/index.html +939 -327
  120. package/docs-dev/sass/components/flipcard-grid/index.html +901 -320
  121. package/docs-dev/sass/components/form-theme/index.html +1110 -433
  122. package/docs-dev/sass/components/hero/index.html +995 -366
  123. package/docs-dev/sass/components/horizontal-rule/index.html +901 -320
  124. package/docs-dev/sass/components/image-grid/index.html +901 -320
  125. package/docs-dev/sass/components/index/index.html +915 -330
  126. package/docs-dev/sass/components/index.html +904 -321
  127. package/docs-dev/sass/components/links/index.html +901 -320
  128. package/docs-dev/sass/components/list-inline/index.html +5399 -0
  129. package/docs-dev/sass/components/list-lines/index.html +936 -359
  130. package/docs-dev/sass/components/list-ordered/index.html +903 -322
  131. package/docs-dev/sass/components/list-unordered/index.html +901 -320
  132. package/docs-dev/sass/components/menu-stack/index.html +973 -379
  133. package/docs-dev/sass/components/modal/index.html +953 -365
  134. package/docs-dev/sass/components/nav-strip/index.html +909 -328
  135. package/docs-dev/sass/components/overlay-section/index.html +909 -328
  136. package/docs-dev/sass/components/pager/index.html +901 -320
  137. package/docs-dev/sass/components/placeholder-block/index.html +901 -320
  138. package/docs-dev/sass/components/popover/index.html +996 -379
  139. package/docs-dev/sass/components/pull-quote/index.html +913 -332
  140. package/docs-dev/sass/components/ratio-box/index.html +909 -328
  141. package/docs-dev/sass/components/rule/index.html +909 -328
  142. package/docs-dev/sass/components/scroll-slider/index.html +944 -375
  143. package/docs-dev/sass/components/skip-link/index.html +909 -328
  144. package/docs-dev/sass/components/slider/index.html +989 -420
  145. package/docs-dev/sass/components/spoke-spinner/index.html +903 -322
  146. package/docs-dev/sass/components/sticky-list/index.html +5603 -0
  147. package/docs-dev/sass/components/tabs/index.html +910 -329
  148. package/docs-dev/sass/components/tag/index.html +903 -322
  149. package/docs-dev/sass/components/tile-button/index.html +901 -320
  150. package/docs-dev/sass/components/tile-grid/index.html +901 -320
  151. package/docs-dev/sass/components/tile-grid-overlay/index.html +901 -320
  152. package/docs-dev/sass/components/vignette/index.html +915 -328
  153. package/docs-dev/sass/components/wysiwyg/index.html +901 -320
  154. package/docs-dev/sass/core/breakpoint/index.html +947 -352
  155. package/docs-dev/sass/core/button/index.html +901 -320
  156. package/docs-dev/sass/core/color/index.html +1078 -364
  157. package/docs-dev/sass/core/cssvar/index.html +901 -320
  158. package/docs-dev/sass/core/element/index.html +1096 -368
  159. package/docs-dev/sass/core/index.html +901 -320
  160. package/docs-dev/sass/core/layout/index.html +961 -361
  161. package/docs-dev/sass/core/path/index.html +901 -320
  162. package/docs-dev/sass/core/selector/index.html +901 -320
  163. package/docs-dev/sass/core/typography/index.html +901 -320
  164. package/docs-dev/sass/core/units/index.html +911 -324
  165. package/docs-dev/sass/core/utils/index.html +1871 -430
  166. package/docs-dev/sass/helpers/color/index.html +901 -320
  167. package/docs-dev/sass/helpers/display/index.html +902 -321
  168. package/docs-dev/sass/helpers/index/index.html +901 -320
  169. package/docs-dev/sass/helpers/index.html +904 -321
  170. package/docs-dev/sass/helpers/print/index.html +843 -292
  171. package/docs-dev/sass/helpers/typography/index.html +901 -320
  172. package/docs-dev/sass/helpers/units/index.html +901 -320
  173. package/docs-dev/sass/helpers/utilities/index.html +903 -322
  174. package/docs-dev/sass/index.html +904 -321
  175. package/js/index.js +1 -0
  176. package/js/settings.js +95 -0
  177. package/js/ui/breakpoints.js +19 -16
  178. package/js/ui/collapsible.js +8 -1
  179. package/js/ui/details-group.js +112 -0
  180. package/js/ui/dialog.js +90 -42
  181. package/js/ui/dialog.todo +2 -36
  182. package/js/ui/flipcard.js +37 -57
  183. package/js/ui/grid.js +15 -13
  184. package/js/ui/index.js +1 -0
  185. package/js/ui/modal-builder.js +76 -56
  186. package/js/ui/overflow-scroller.js +6 -4
  187. package/js/ui/popover.js +38 -38
  188. package/js/ui/print.js +16 -25
  189. package/js/ui/programmatic-modal.js +9 -3
  190. package/js/ui/proxy-click.js +50 -36
  191. package/js/ui/scroll-slider.js +24 -30
  192. package/js/ui/scrollpoint.js +28 -64
  193. package/js/ui/slider.js +108 -63
  194. package/js/ui/tabs.js +23 -36
  195. package/js/ui/theme-toggle.js +331 -94
  196. package/js/ui/tooltip.js +27 -32
  197. package/js/utils/css.js +13 -0
  198. package/js/utils/dom.js +85 -8
  199. package/js/utils/font-awesome.js +18 -0
  200. package/js/utils/index.js +2 -1
  201. package/js/utils/system.js +154 -0
  202. package/package.json +14 -7
  203. package/scss/_breakpoint.scss +16 -3
  204. package/scss/_color.scss +36 -5
  205. package/scss/_element.scss +94 -2
  206. package/scss/_layout.scss +7 -8
  207. package/scss/_units.scss +3 -2
  208. package/scss/_utils.scss +248 -13
  209. package/scss/components/README.todos +14 -0
  210. package/scss/components/_accordion.scss +5 -7
  211. package/scss/components/_basic-hero.scss +112 -0
  212. package/scss/components/_button-verbose.scss +100 -18
  213. package/scss/components/_callout.scss +125 -78
  214. package/scss/components/_captioned-figure.scss +17 -0
  215. package/scss/components/_card-grid.scss +1 -1
  216. package/scss/components/_card.scss +246 -74
  217. package/scss/components/_counter-list.scss +137 -0
  218. package/scss/components/_css-icon.scss +25 -21
  219. package/scss/components/_data-grid.scss +38 -9
  220. package/scss/components/_data-table.scss +44 -4
  221. package/scss/components/_flipcard.scss +8 -3
  222. package/scss/components/_form-theme.scss +119 -108
  223. package/scss/components/_hero.scss +12 -10
  224. package/scss/components/_index.scss +24 -0
  225. package/scss/components/_list-inline.scss +80 -0
  226. package/scss/components/_list-lines.scss +44 -32
  227. package/scss/components/_menu-stack.scss +42 -26
  228. package/scss/components/_modal.scss +13 -6
  229. package/scss/components/_nav-strip.scss +2 -0
  230. package/scss/components/_overlay-section.scss +2 -5
  231. package/scss/components/_popover.scss +165 -64
  232. package/scss/components/_pull-quote.scss +13 -13
  233. package/scss/components/_ratio-box.scss +2 -5
  234. package/scss/components/_rule.scss +1 -0
  235. package/scss/components/_scroll-slider.scss +1 -5
  236. package/scss/components/_slider.scss +49 -72
  237. package/scss/components/_spoke-spinner.scss +2 -2
  238. package/scss/components/_sticky-list.scss +206 -0
  239. package/scss/components/_tabs.scss +3 -1
  240. package/scss/components/_vignette.scss +3 -5
  241. package/scss/helpers/_display.scss +15 -18
  242. package/scss/helpers/_print.scss +12 -7
  243. package/scss/helpers/_utilities.scss +42 -32
  244. package/types/index.d.ts +1 -0
  245. package/types/settings.d.ts +66 -0
  246. package/types/settings.d.ts.map +1 -0
  247. package/types/ui/breakpoints.d.ts +14 -14
  248. package/types/ui/breakpoints.d.ts.map +1 -1
  249. package/types/ui/collapsible.d.ts.map +1 -1
  250. package/types/ui/details-group.d.ts +38 -0
  251. package/types/ui/details-group.d.ts.map +1 -0
  252. package/types/ui/dialog.d.ts +20 -14
  253. package/types/ui/dialog.d.ts.map +1 -1
  254. package/types/ui/flipcard.d.ts +16 -10
  255. package/types/ui/flipcard.d.ts.map +1 -1
  256. package/types/ui/grid.d.ts +4 -6
  257. package/types/ui/grid.d.ts.map +1 -1
  258. package/types/ui/index.d.ts +1 -0
  259. package/types/ui/modal-builder.d.ts +93 -11
  260. package/types/ui/modal-builder.d.ts.map +1 -1
  261. package/types/ui/overflow-scroller.d.ts +2 -2
  262. package/types/ui/overflow-scroller.d.ts.map +1 -1
  263. package/types/ui/popover.d.ts +6 -7
  264. package/types/ui/popover.d.ts.map +1 -1
  265. package/types/ui/print.d.ts +0 -4
  266. package/types/ui/print.d.ts.map +1 -1
  267. package/types/ui/programmatic-modal.d.ts.map +1 -1
  268. package/types/ui/proxy-click.d.ts +19 -3
  269. package/types/ui/proxy-click.d.ts.map +1 -1
  270. package/types/ui/scroll-slider.d.ts +5 -7
  271. package/types/ui/scroll-slider.d.ts.map +1 -1
  272. package/types/ui/scrollpoint.d.ts +3 -8
  273. package/types/ui/scrollpoint.d.ts.map +1 -1
  274. package/types/ui/slider.d.ts +33 -14
  275. package/types/ui/slider.d.ts.map +1 -1
  276. package/types/ui/tabs.d.ts +6 -8
  277. package/types/ui/tabs.d.ts.map +1 -1
  278. package/types/ui/theme-toggle.d.ts +51 -7
  279. package/types/ui/theme-toggle.d.ts.map +1 -1
  280. package/types/ui/tooltip.d.ts +3 -5
  281. package/types/ui/tooltip.d.ts.map +1 -1
  282. package/types/utils/css.d.ts +11 -0
  283. package/types/utils/css.d.ts.map +1 -0
  284. package/types/utils/dom.d.ts +45 -6
  285. package/types/utils/dom.d.ts.map +1 -1
  286. package/types/utils/font-awesome.d.ts +5 -0
  287. package/types/utils/font-awesome.d.ts.map +1 -0
  288. package/types/utils/index.d.ts +1 -0
  289. package/types/utils/system.d.ts +113 -0
  290. 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(
@@ -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,
@@ -46,9 +77,12 @@ $config: (
46
77
  "highlighted-row-border-color" : null,
47
78
  "large-header-cell-padding-y" : 1em,
48
79
  "caption-type-size" : "large",
80
+ "caption-background-color" : null,
49
81
  "caption-font-weight" : bold,
50
- "caption-margin" : (0 0 1em 0),
51
- "caption-padding" : (0,),
82
+ "caption-border-bottom" : null,
83
+ "caption-margin" : (0,),
84
+ "caption-padding" : (0.65em 0),
85
+ "caption-text-align" : left,
52
86
  "extra-selector" : ".wysiwyg table"
53
87
  ) !default;
54
88
 
@@ -107,9 +141,11 @@ $config: (
107
141
  @include typography.size(get("caption-type-size"));
108
142
  }
109
143
  font-weight: get("caption-font-weight");
110
- text-align: left;
144
+ text-align: get("caption-text-align");
111
145
  margin: get("caption-margin");
112
146
  padding: get("caption-padding");
147
+ background-color: get("caption-background-color");
148
+ border-bottom: get("caption-border-bottom");
113
149
  }
114
150
  th,
115
151
  tr,
@@ -133,11 +169,15 @@ $config: (
133
169
  thead tr {
134
170
  background-color: color.get(get("header-background-color"));
135
171
  }
172
+ thead th {
173
+ color: color.get(get("header-color"));
174
+ }
136
175
  tbody tr {
137
176
  background-color: color.get(get("body-background-color"));
138
177
  }
139
178
  tfoot tr {
140
179
  background-color: color.get(get("footer-background-color"));
180
+ color: color.get(get("footer-color"));
141
181
  }
142
182
  th,
143
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;