@ulu/frontend 0.1.0-beta.4 → 0.1.0-beta.41

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 (295) hide show
  1. package/CHANGELOG.md +337 -1
  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 +6090 -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 +904 -321
  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 +924 -377
  40. package/docs-dev/demos/overlay-section/index.html +979 -326
  41. package/docs-dev/demos/popovers/index.html +0 -4628
  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 +914 -354
  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 +973 -392
  96. package/docs-dev/sass/base/index/index.html +959 -378
  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 +966 -385
  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 +1026 -445
  105. package/docs-dev/sass/components/adaptive-spacing/index.html +1027 -446
  106. package/docs-dev/sass/components/badge/index.html +1005 -424
  107. package/docs-dev/sass/components/basic-hero/index.html +5385 -0
  108. package/docs-dev/sass/components/button/index.html +952 -371
  109. package/docs-dev/sass/components/button-verbose/index.html +1089 -433
  110. package/docs-dev/sass/components/callout/index.html +1086 -482
  111. package/docs-dev/sass/components/captioned-figure/index.html +1070 -374
  112. package/docs-dev/sass/components/card/index.html +1121 -491
  113. package/docs-dev/sass/components/card-grid/index.html +973 -392
  114. package/docs-dev/sass/components/counter-list/index.html +5458 -0
  115. package/docs-dev/sass/components/css-icon/index.html +1052 -464
  116. package/docs-dev/sass/components/data-grid/index.html +1087 -499
  117. package/docs-dev/sass/components/data-table/index.html +1154 -381
  118. package/docs-dev/sass/components/fill-context/index.html +901 -320
  119. package/docs-dev/sass/components/flipcard/index.html +1071 -459
  120. package/docs-dev/sass/components/flipcard-grid/index.html +960 -379
  121. package/docs-dev/sass/components/form-theme/index.html +1349 -672
  122. package/docs-dev/sass/components/hero/index.html +1016 -387
  123. package/docs-dev/sass/components/horizontal-rule/index.html +959 -378
  124. package/docs-dev/sass/components/image-grid/index.html +966 -385
  125. package/docs-dev/sass/components/index/index.html +1004 -419
  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 +1009 -432
  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 +1050 -456
  133. package/docs-dev/sass/components/modal/index.html +1032 -444
  134. package/docs-dev/sass/components/nav-strip/index.html +1023 -442
  135. package/docs-dev/sass/components/overlay-section/index.html +1010 -429
  136. package/docs-dev/sass/components/pager/index.html +1017 -436
  137. package/docs-dev/sass/components/placeholder-block/index.html +1017 -436
  138. package/docs-dev/sass/components/popover/index.html +1068 -451
  139. package/docs-dev/sass/components/pull-quote/index.html +1017 -436
  140. package/docs-dev/sass/components/ratio-box/index.html +969 -388
  141. package/docs-dev/sass/components/rule/index.html +972 -391
  142. package/docs-dev/sass/components/scroll-slider/index.html +1019 -450
  143. package/docs-dev/sass/components/skip-link/index.html +961 -380
  144. package/docs-dev/sass/components/slider/index.html +1023 -442
  145. package/docs-dev/sass/components/spoke-spinner/index.html +961 -380
  146. package/docs-dev/sass/components/sticky-list/index.html +5603 -0
  147. package/docs-dev/sass/components/tabs/index.html +1020 -439
  148. package/docs-dev/sass/components/tag/index.html +1064 -483
  149. package/docs-dev/sass/components/tile-button/index.html +1004 -423
  150. package/docs-dev/sass/components/tile-grid/index.html +1045 -464
  151. package/docs-dev/sass/components/tile-grid-overlay/index.html +940 -359
  152. package/docs-dev/sass/components/vignette/index.html +965 -378
  153. package/docs-dev/sass/components/wysiwyg/index.html +968 -387
  154. package/docs-dev/sass/core/breakpoint/index.html +1045 -450
  155. package/docs-dev/sass/core/button/index.html +1438 -857
  156. package/docs-dev/sass/core/color/index.html +1084 -496
  157. package/docs-dev/sass/core/cssvar/index.html +950 -369
  158. package/docs-dev/sass/core/element/index.html +1504 -782
  159. package/docs-dev/sass/core/index.html +901 -320
  160. package/docs-dev/sass/core/layout/index.html +1062 -462
  161. package/docs-dev/sass/core/path/index.html +953 -372
  162. package/docs-dev/sass/core/selector/index.html +952 -371
  163. package/docs-dev/sass/core/typography/index.html +1171 -590
  164. package/docs-dev/sass/core/units/index.html +984 -403
  165. package/docs-dev/sass/core/utils/index.html +1941 -500
  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 +956 -375
  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 +950 -369
  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 +45 -54
  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 +61 -62
  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 +10 -7
  203. package/scss/_breakpoint.scss +16 -3
  204. package/scss/_color.scss +9 -2
  205. package/scss/_element.scss +91 -0
  206. package/scss/_layout.scss +7 -8
  207. package/scss/_utils.scss +248 -13
  208. package/scss/components/README.todos +14 -0
  209. package/scss/components/_accordion.scss +18 -20
  210. package/scss/components/_badge.scss +3 -2
  211. package/scss/components/_basic-hero.scss +112 -0
  212. package/scss/components/_button-verbose.scss +102 -20
  213. package/scss/components/_callout.scss +127 -79
  214. package/scss/components/_captioned-figure.scss +23 -5
  215. package/scss/components/_card-grid.scss +1 -1
  216. package/scss/components/_card.scss +242 -88
  217. package/scss/components/_counter-list.scss +133 -0
  218. package/scss/components/_css-icon.scss +33 -28
  219. package/scss/components/_data-grid.scss +38 -9
  220. package/scss/components/_data-table.scss +44 -4
  221. package/scss/components/_flipcard.scss +21 -15
  222. package/scss/components/_form-theme.scss +146 -135
  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 -33
  227. package/scss/components/_list-ordered.scss +0 -1
  228. package/scss/components/_menu-stack.scss +42 -26
  229. package/scss/components/_modal.scss +29 -19
  230. package/scss/components/_nav-strip.scss +25 -16
  231. package/scss/components/_overlay-section.scss +4 -6
  232. package/scss/components/_pager.scss +6 -6
  233. package/scss/components/_placeholder-block.scss +4 -4
  234. package/scss/components/_popover.scss +174 -73
  235. package/scss/components/_pull-quote.scss +13 -13
  236. package/scss/components/_ratio-box.scss +2 -5
  237. package/scss/components/_rule.scss +1 -1
  238. package/scss/components/_scroll-slider.scss +2 -6
  239. package/scss/components/_skip-link.scss +2 -1
  240. package/scss/components/_slider.scss +17 -38
  241. package/scss/components/_spoke-spinner.scss +2 -2
  242. package/scss/components/_sticky-list.scss +206 -0
  243. package/scss/components/_tabs.scss +4 -2
  244. package/scss/components/_tag.scss +1 -1
  245. package/scss/components/_vignette.scss +3 -5
  246. package/scss/helpers/_display.scss +15 -18
  247. package/scss/helpers/_print.scss +12 -7
  248. package/scss/helpers/_utilities.scss +42 -32
  249. package/types/index.d.ts +1 -0
  250. package/types/settings.d.ts +66 -0
  251. package/types/settings.d.ts.map +1 -0
  252. package/types/ui/breakpoints.d.ts +14 -14
  253. package/types/ui/breakpoints.d.ts.map +1 -1
  254. package/types/ui/collapsible.d.ts.map +1 -1
  255. package/types/ui/details-group.d.ts +38 -0
  256. package/types/ui/details-group.d.ts.map +1 -0
  257. package/types/ui/dialog.d.ts +20 -14
  258. package/types/ui/dialog.d.ts.map +1 -1
  259. package/types/ui/flipcard.d.ts +16 -10
  260. package/types/ui/flipcard.d.ts.map +1 -1
  261. package/types/ui/grid.d.ts +4 -6
  262. package/types/ui/grid.d.ts.map +1 -1
  263. package/types/ui/index.d.ts +1 -0
  264. package/types/ui/modal-builder.d.ts +8 -11
  265. package/types/ui/modal-builder.d.ts.map +1 -1
  266. package/types/ui/overflow-scroller.d.ts +2 -2
  267. package/types/ui/overflow-scroller.d.ts.map +1 -1
  268. package/types/ui/popover.d.ts +6 -7
  269. package/types/ui/popover.d.ts.map +1 -1
  270. package/types/ui/print.d.ts +0 -4
  271. package/types/ui/print.d.ts.map +1 -1
  272. package/types/ui/programmatic-modal.d.ts.map +1 -1
  273. package/types/ui/proxy-click.d.ts +19 -3
  274. package/types/ui/proxy-click.d.ts.map +1 -1
  275. package/types/ui/scroll-slider.d.ts +5 -7
  276. package/types/ui/scroll-slider.d.ts.map +1 -1
  277. package/types/ui/scrollpoint.d.ts +3 -8
  278. package/types/ui/scrollpoint.d.ts.map +1 -1
  279. package/types/ui/slider.d.ts +24 -14
  280. package/types/ui/slider.d.ts.map +1 -1
  281. package/types/ui/tabs.d.ts +6 -8
  282. package/types/ui/tabs.d.ts.map +1 -1
  283. package/types/ui/theme-toggle.d.ts +51 -7
  284. package/types/ui/theme-toggle.d.ts.map +1 -1
  285. package/types/ui/tooltip.d.ts +3 -5
  286. package/types/ui/tooltip.d.ts.map +1 -1
  287. package/types/utils/css.d.ts +11 -0
  288. package/types/utils/css.d.ts.map +1 -0
  289. package/types/utils/dom.d.ts +45 -6
  290. package/types/utils/dom.d.ts.map +1 -1
  291. package/types/utils/font-awesome.d.ts +5 -0
  292. package/types/utils/font-awesome.d.ts.map +1 -0
  293. package/types/utils/index.d.ts +1 -0
  294. package/types/utils/system.d.ts +113 -0
  295. package/types/utils/system.d.ts.map +1 -0
@@ -17,6 +17,7 @@
17
17
 
18
18
  @use "sass:map";
19
19
  @use "sass:math";
20
+ @use "../color";
20
21
 
21
22
  @use "../utils";
22
23
 
@@ -29,6 +30,7 @@
29
30
  /// @prop {Dimension} size [1.1em] The width, height and font size of the css-icon.
30
31
  /// @prop {Dimension} stroke-border-radius [1px] The rounding of the strokes for css-icon.
31
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)
32
34
  /// @prop {Dimension} text-offset [0.05em] When using an icon with text, adds a margin to match the text height.
33
35
  /// @prop {Dimension} text-size [1em] font-size of the icon when using text.
34
36
  /// @prop {Dimension} vertical-align [-0.2em] Vertical-align for css-icon
@@ -44,6 +46,7 @@ $config: (
44
46
  "size" : 1.15em,
45
47
  "stroke-border-radius" : null,
46
48
  "stroke-width" : 3px,
49
+ "drag-gap-multiplier" : 0.75,
47
50
  "text-offset" : 0.05em,
48
51
  "text-size" : 1em,
49
52
  "vertical-align" : -0.25em,
@@ -100,7 +103,7 @@ $config: (
100
103
  /// @include ulu.component-css-icon-styles();
101
104
 
102
105
  @mixin styles {
103
- $border: get("stroke-width") solid get("color");
106
+ $border: get("stroke-width") solid color.get(get("color"));
104
107
  $size: get("size");
105
108
  $stroke-width: get("stroke-width");
106
109
  $half-height: math.div(get("size"), 2);
@@ -121,8 +124,8 @@ $config: (
121
124
  -moz-osx-font-smoothing: grayscale;
122
125
  -webkit-font-smoothing: antialiased;
123
126
  // Icons that share pseudos for strokes
124
- &:before,
125
- &:after {
127
+ &::before,
128
+ &::after {
126
129
  // content: "";
127
130
  display: block;
128
131
  position: absolute;
@@ -130,7 +133,7 @@ $config: (
130
133
  height: $stroke-width;
131
134
  top: 50%;
132
135
  left: 50%;
133
- background-color: get("color");
136
+ background-color: color.get(get("color"));
134
137
  transform: translateX(-50%);
135
138
  margin-top: -($half-stroke-width);
136
139
  border-radius: get("stroke-border-radius");
@@ -158,7 +161,7 @@ $config: (
158
161
  // Solid icons
159
162
  [class*="css-icon--circle"],
160
163
  [class*="css-icon--square"] {
161
- background-color: get("color");
164
+ background-color: color.get(get("color"));
162
165
  }
163
166
  [class*="css-icon--circle"] {
164
167
  border-radius: 50%;
@@ -185,14 +188,14 @@ $config: (
185
188
 
186
189
  .css-icon--circle-info,
187
190
  .css-icon--circle-question {
188
- &:before {
191
+ &::before {
189
192
  content: "i";
190
193
  text-align: center;
191
194
  font-size: get("text-size");
192
195
  font-family: get("font-family");
193
196
  font-weight: bold;
194
197
  margin-top: get("text-offset");
195
- color: get("color");
198
+ color: color.get(get("color"));
196
199
  height: auto;
197
200
  left: 0;
198
201
  right: 0;
@@ -205,7 +208,7 @@ $config: (
205
208
  }
206
209
  }
207
210
  .css-icon--circle-question {
208
- &:before {
211
+ &::before {
209
212
  content: "?";
210
213
  }
211
214
  }
@@ -222,17 +225,17 @@ $config: (
222
225
  // Arrow uses same equilateral triangle
223
226
  [class*="css-icon--triangle"],
224
227
  [class*="css-icon--arrow"]::after {
225
- background-color: get("color");
228
+ background-color: color.get(get("color"));
226
229
  clip-path: polygon(10% 10%, 90% 50%, 10% 90%);
227
230
  }
228
231
  [class*="css-icon--arrow"] {
229
- &:before {
232
+ &::before {
230
233
  content: "";
231
234
  width: 70%;
232
235
  left: 0;
233
236
  }
234
237
  // Note triangle clip-path is defined above with the solid triangle
235
- &:after {
238
+ &::after {
236
239
  content: "";
237
240
  border-radius: 0;
238
241
  height: 100%;
@@ -243,8 +246,8 @@ $config: (
243
246
  }
244
247
  [class*="css-icon--angle"] {
245
248
  transform: rotate(135deg);
246
- &:before,
247
- &:after {
249
+ &::before,
250
+ &::after {
248
251
  content: "";
249
252
  top: 30%;
250
253
  left: 30%;
@@ -252,14 +255,14 @@ $config: (
252
255
  transform: none;
253
256
  margin-top: 0;
254
257
  }
255
- &:after {
258
+ &::after {
256
259
  width: $stroke-width;
257
260
  height: 70%;
258
261
  }
259
262
  }
260
263
  @include for-each-stroke() using ($alt-width, $alt-border-radius) {
261
264
  &[class*="css-icon--angle"] {
262
- &:after {
265
+ &::after {
263
266
  width: $alt-width;
264
267
  }
265
268
  }
@@ -282,26 +285,26 @@ $config: (
282
285
 
283
286
  .css-icon--plus,
284
287
  .css-icon--plus-to-minus {
285
- &:before {
288
+ &::before {
286
289
  transform: translateX(-50%) rotate(90deg);
287
290
  }
288
- &:after {
291
+ &::after {
289
292
  transform: translateX(-50%);
290
293
  }
291
294
  }
292
295
  .css-icon--minus {
293
- &:before {
296
+ &::before {
294
297
  content: none;
295
298
  }
296
- &:after {
299
+ &::after {
297
300
  transform: translateX(-50%);
298
301
  }
299
302
  }
300
303
  .css-icon--close {
301
- &:before {
304
+ &::before {
302
305
  transform: translate(-50%) rotate(45deg);
303
306
  }
304
- &:after {
307
+ &::after {
305
308
  transform: translate(-50%) rotate(-45deg);
306
309
  }
307
310
  }
@@ -309,21 +312,23 @@ $config: (
309
312
  &::before {
310
313
  content: "";
311
314
  // Make up for margin-top by default
312
- margin-top: -($stroke-width + $stroke-width);
315
+ margin-top: -(($stroke-width + $stroke-width) * get("drag-gap-multiplier"));
313
316
  }
314
317
  &::after {
315
318
  content: "";
316
- margin-top: $stroke-width;
319
+ margin-top: $stroke-width * get("drag-gap-multiplier");
317
320
  }
318
321
  }
319
322
 
320
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);
321
326
  &[class*="css-icon--drag"] {
322
327
  &::before {
323
- margin-top: -($alt-width + $alt-width);
328
+ margin-top: -(($alt-width + $alt-width) * get("drag-gap-multiplier"));
324
329
  }
325
330
  &::after {
326
- margin-top: $alt-width;
331
+ margin-top: $alt-width * get("drag-gap-multiplier");
327
332
  }
328
333
  }
329
334
  }
@@ -344,7 +349,7 @@ $config: (
344
349
  margin-top: 0;
345
350
  }
346
351
  &::before {
347
- box-shadow: 0px ($stroke-width * 2 + 1px) get("color");
352
+ box-shadow: 0px ($stroke-width * 2 + 1px) color.get(get("color"));
348
353
  margin-bottom: ($stroke-width * 3) + 2px;
349
354
  }
350
355
  }
@@ -352,7 +357,7 @@ $config: (
352
357
  &.css-icon--menu,
353
358
  &.css-icon--menu-to-close {
354
359
  &::before {
355
- box-shadow: 0px ($alt-width * 2 + 1px) get("color");
360
+ box-shadow: 0px ($alt-width * 2 + 1px) color.get(get("color"));
356
361
  margin-bottom: ($alt-width * 3) + 2px;
357
362
  }
358
363
  }
@@ -424,7 +429,7 @@ $config: (
424
429
  transition: none;
425
430
  transform: translate(-50%) rotate(-45deg);
426
431
  }
427
- &:before {
432
+ &::before {
428
433
  box-shadow: none;
429
434
  transform: translate(-50%) rotate(45deg);
430
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,9 +2,10 @@
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
+ @use "../color";
8
9
  @use "../utils";
9
10
  @use "../selector";
10
11
 
@@ -31,7 +32,6 @@
31
32
  /// @prop {Color} title-color-image-hover [blue] Color of the front page text when using an image and hovered or focused.
32
33
  /// @prop {Boolean} bottom-shadow [true] Boolean that enables a bottom shadow to the image flipcard.
33
34
 
34
-
35
35
  $config: (
36
36
  "anim-delay" : 200ms,
37
37
  "anim-duration" : 430ms,
@@ -85,19 +85,25 @@ $config: (
85
85
  @return utils.require-map-get($config, $name, "flipcard [config]");
86
86
  }
87
87
 
88
+ /// Prints component styles
89
+ /// @demo flipcard
90
+ /// @example scss
91
+ /// @example
92
+ /// @include ulu.component-flipcard-styles();
93
+
88
94
  @mixin styles {
89
95
  $prefix: selector.class("flipcard");
90
96
 
91
97
  #{ $prefix } {
92
98
  height: 100%;
93
- background-color: get("background-color");
99
+ background-color: color.get(get("background-color"));
94
100
  line-height: 1.4;
95
101
  overflow: hidden;
96
102
  position: relative;
97
103
  border: get("border");
98
104
  border-radius: get("border-radius");
99
105
  &#{ $prefix }:hover {
100
- border-color: get("border-color-hover");
106
+ border-color: color.get(get("border-color-hover"));
101
107
  }
102
108
  #{ $prefix }__control-button:focus {
103
109
  border: get("control-button-border-focus");
@@ -123,10 +129,10 @@ $config: (
123
129
  transform: scale(1.15);
124
130
  }
125
131
  #{ $prefix }__front-content {
126
- color: get("title-color-hover");
132
+ color: color.get(get("title-color-hover"));
127
133
  }
128
134
  #{ $prefix }__icon {
129
- color: get("icon-color-hover");
135
+ color: color.get(get("icon-color-hover"));
130
136
  }
131
137
  }
132
138
  @media (prefers-reduced-motion: no-preference) {
@@ -140,14 +146,14 @@ $config: (
140
146
  }
141
147
  }
142
148
  #{ $prefix }--w-image {
143
- background-color: get("background-color-image");
149
+ background-color: color.get(get("background-color-image"));
144
150
 
145
151
  &:hover {
146
152
  #{ $prefix }__front-content {
147
- color: get("title-color-image-hover");
153
+ color: color.get(get("title-color-image-hover"));
148
154
  }
149
155
  #{ $prefix }__icon {
150
- color: get("icon-color-image-hover");
156
+ color: color.get(get("icon-color-image-hover"));
151
157
  }
152
158
  }
153
159
  }
@@ -168,7 +174,7 @@ $config: (
168
174
  }
169
175
  }
170
176
  #{ $prefix }__icon {
171
- color: get('icon-color');
177
+ color: color.get(get('icon-color'));
172
178
  display: block;
173
179
  margin-top: 0.5rem;
174
180
  }
@@ -177,7 +183,7 @@ $config: (
177
183
  display: flex;
178
184
  flex-direction: column;
179
185
  justify-content: flex-end;
180
- color: get("title-color");
186
+ color: color.get(get("title-color"));
181
187
  position: relative;
182
188
  z-index: 2;
183
189
  padding: get('padding');
@@ -186,13 +192,13 @@ $config: (
186
192
  }
187
193
  #{ $prefix }--w-image {
188
194
  #{ $prefix }__icon {
189
- color: get("icon-color-image");
195
+ color: color.get(get("icon-color-image"));
190
196
  }
191
197
  #{ $prefix }__front-content {
192
- color: get("title-color-image");
198
+ color: color.get(get("title-color-image"));
193
199
  @if(get("bottom-shadow")) {
194
200
  // bottom position includes padding so that the shadow
195
- &:after {
201
+ &::after {
196
202
  content: '';
197
203
  display: block;
198
204
  position: absolute;
@@ -207,7 +213,7 @@ $config: (
207
213
  }
208
214
  }
209
215
  #{ $prefix }__back {
210
- background-color: get("background-color-back");
216
+ background-color: color.get(get("background-color-back"));
211
217
  padding: get('padding');
212
218
  justify-content: flex-end;
213
219
  [data-flipcard-state="open"] & {