@ulu/frontend 0.1.0-beta.2 → 0.1.0-beta.20

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 (225) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +18 -18
  4. package/docs-dev/changelog/index.html +5397 -0
  5. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  6. package/docs-dev/demos/accordion/index.html +636 -293
  7. package/docs-dev/demos/basic-hero/index.html +111 -0
  8. package/docs-dev/demos/button/index.html +636 -293
  9. package/docs-dev/demos/callout/index.html +661 -305
  10. package/docs-dev/demos/captioned-figure/index.html +636 -293
  11. package/docs-dev/demos/card/index.html +636 -293
  12. package/docs-dev/demos/css-icons/index.html +636 -293
  13. package/docs-dev/demos/data-grid/index.html +744 -481
  14. package/docs-dev/demos/data-table/index.html +661 -318
  15. package/docs-dev/demos/details-group/index.html +4994 -0
  16. package/docs-dev/demos/file-save/index.html +636 -293
  17. package/docs-dev/demos/flipcard/index.html +636 -293
  18. package/docs-dev/demos/form-theme/index.html +654 -324
  19. package/docs-dev/demos/hero/index.html +12 -4
  20. package/docs-dev/demos/image-grid/index.html +12 -4
  21. package/docs-dev/demos/index.html +636 -293
  22. package/docs-dev/demos/list-inline/index.html +4980 -0
  23. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  24. package/docs-dev/demos/list-lines/index.html +4970 -0
  25. package/docs-dev/demos/menu-stack/index.html +655 -312
  26. package/docs-dev/demos/modals/index.html +636 -293
  27. package/docs-dev/demos/nav-strip/index.html +656 -349
  28. package/docs-dev/demos/overlay-section/index.html +636 -293
  29. package/docs-dev/demos/popovers/index.html +636 -293
  30. package/docs-dev/demos/print/index.html +636 -293
  31. package/docs-dev/demos/pull-quote/index.html +636 -293
  32. package/docs-dev/demos/rule/index.html +636 -293
  33. package/docs-dev/demos/scroll-slider/index.html +12 -4
  34. package/docs-dev/demos/scrollpoints/index.html +636 -293
  35. package/docs-dev/demos/slider/index.html +12 -4
  36. package/docs-dev/demos/spoke-spinner/index.html +636 -293
  37. package/docs-dev/demos/tabs/index.html +648 -293
  38. package/docs-dev/demos/tag/index.html +636 -293
  39. package/docs-dev/demos/theme-toggle/index.html +5039 -0
  40. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  41. package/docs-dev/demos/tiles/index.html +636 -293
  42. package/docs-dev/demos/tooltip/index.html +636 -293
  43. package/docs-dev/guide/building-stylesheet/index.html +636 -293
  44. package/docs-dev/guide/developing-ulu-scss-module/index.html +636 -293
  45. package/docs-dev/guide/index.html +637 -294
  46. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  47. package/docs-dev/index.html +641 -293
  48. package/docs-dev/javascript/events/index.html +633 -292
  49. package/docs-dev/javascript/index.html +636 -293
  50. package/docs-dev/javascript/settings/index.html +5094 -0
  51. package/docs-dev/javascript/ui-breakpoints/index.html +633 -292
  52. package/docs-dev/javascript/ui-collapsible/index.html +633 -292
  53. package/docs-dev/javascript/ui-details-group/index.html +5094 -0
  54. package/docs-dev/javascript/ui-dialog/index.html +633 -292
  55. package/docs-dev/javascript/ui-flipcard/index.html +633 -292
  56. package/docs-dev/javascript/ui-grid/index.html +633 -292
  57. package/docs-dev/javascript/ui-modal-builder/index.html +633 -292
  58. package/docs-dev/javascript/ui-overflow-scroller/index.html +633 -292
  59. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +633 -292
  60. package/docs-dev/javascript/ui-page/index.html +633 -292
  61. package/docs-dev/javascript/ui-popover/index.html +633 -292
  62. package/docs-dev/javascript/ui-print/index.html +633 -292
  63. package/docs-dev/javascript/ui-print-details/index.html +633 -292
  64. package/docs-dev/javascript/ui-programmatic-modal/index.html +633 -292
  65. package/docs-dev/javascript/ui-proxy-click/index.html +633 -292
  66. package/docs-dev/javascript/ui-resizer/index.html +633 -292
  67. package/docs-dev/javascript/ui-scroll-slider/index.html +633 -292
  68. package/docs-dev/javascript/ui-scrollpoint/index.html +633 -292
  69. package/docs-dev/javascript/ui-slider/index.html +633 -292
  70. package/docs-dev/javascript/ui-tabs/index.html +633 -292
  71. package/docs-dev/javascript/ui-theme-toggle/index.html +5178 -0
  72. package/docs-dev/javascript/ui-tooltip/index.html +633 -292
  73. package/docs-dev/javascript/utils-class-logger/index.html +633 -292
  74. package/docs-dev/javascript/utils-dom/index.html +697 -296
  75. package/docs-dev/javascript/utils-file-save/index.html +633 -292
  76. package/docs-dev/javascript/utils-floating-ui/index.html +633 -292
  77. package/docs-dev/javascript/utils-id/index.html +633 -292
  78. package/docs-dev/javascript/utils-pause-youtube-video/index.html +633 -292
  79. package/docs-dev/sass/base/color/index.html +633 -292
  80. package/docs-dev/sass/base/elements/index.html +633 -292
  81. package/docs-dev/sass/base/index/index.html +633 -292
  82. package/docs-dev/sass/base/index.html +636 -293
  83. package/docs-dev/sass/base/keyframes/index.html +633 -292
  84. package/docs-dev/sass/base/layout/index.html +633 -292
  85. package/docs-dev/sass/base/normalize/index.html +633 -292
  86. package/docs-dev/sass/base/print/index.html +633 -292
  87. package/docs-dev/sass/base/root/index.html +633 -292
  88. package/docs-dev/sass/base/typography/index.html +633 -292
  89. package/docs-dev/sass/components/accordion/index.html +638 -297
  90. package/docs-dev/sass/components/adaptive-spacing/index.html +633 -292
  91. package/docs-dev/sass/components/badge/index.html +641 -300
  92. package/docs-dev/sass/components/basic-hero/index.html +5145 -0
  93. package/docs-dev/sass/components/button/index.html +633 -292
  94. package/docs-dev/sass/components/button-verbose/index.html +634 -293
  95. package/docs-dev/sass/components/callout/index.html +658 -353
  96. package/docs-dev/sass/components/captioned-figure/index.html +756 -300
  97. package/docs-dev/sass/components/card/index.html +665 -309
  98. package/docs-dev/sass/components/card-grid/index.html +633 -292
  99. package/docs-dev/sass/components/css-icon/index.html +650 -302
  100. package/docs-dev/sass/components/data-grid/index.html +633 -292
  101. package/docs-dev/sass/components/data-table/index.html +829 -303
  102. package/docs-dev/sass/components/fill-context/index.html +633 -292
  103. package/docs-dev/sass/components/flipcard/index.html +641 -300
  104. package/docs-dev/sass/components/flipcard-grid/index.html +633 -292
  105. package/docs-dev/sass/components/form-theme/index.html +761 -319
  106. package/docs-dev/sass/components/hero/index.html +689 -300
  107. package/docs-dev/sass/components/horizontal-rule/index.html +633 -292
  108. package/docs-dev/sass/components/image-grid/index.html +633 -292
  109. package/docs-dev/sass/components/index/index.html +645 -302
  110. package/docs-dev/sass/components/index.html +636 -293
  111. package/docs-dev/sass/components/links/index.html +633 -292
  112. package/docs-dev/sass/components/list-inline/index.html +5159 -0
  113. package/docs-dev/sass/components/list-lines/index.html +665 -328
  114. package/docs-dev/sass/components/list-ordered/index.html +635 -294
  115. package/docs-dev/sass/components/list-unordered/index.html +633 -292
  116. package/docs-dev/sass/components/menu-stack/index.html +667 -313
  117. package/docs-dev/sass/components/modal/index.html +654 -306
  118. package/docs-dev/sass/components/nav-strip/index.html +645 -304
  119. package/docs-dev/sass/components/overlay-section/index.html +641 -300
  120. package/docs-dev/sass/components/pager/index.html +633 -292
  121. package/docs-dev/sass/components/placeholder-block/index.html +633 -292
  122. package/docs-dev/sass/components/popover/index.html +663 -292
  123. package/docs-dev/sass/components/pull-quote/index.html +645 -304
  124. package/docs-dev/sass/components/ratio-box/index.html +633 -292
  125. package/docs-dev/sass/components/rule/index.html +641 -300
  126. package/docs-dev/sass/components/scroll-slider/index.html +633 -292
  127. package/docs-dev/sass/components/skip-link/index.html +641 -300
  128. package/docs-dev/sass/components/slider/index.html +640 -299
  129. package/docs-dev/sass/components/spoke-spinner/index.html +633 -292
  130. package/docs-dev/sass/components/tabs/index.html +648 -300
  131. package/docs-dev/sass/components/tag/index.html +633 -292
  132. package/docs-dev/sass/components/tile-button/index.html +633 -292
  133. package/docs-dev/sass/components/tile-grid/index.html +633 -292
  134. package/docs-dev/sass/components/tile-grid-overlay/index.html +633 -292
  135. package/docs-dev/sass/components/vignette/index.html +647 -300
  136. package/docs-dev/sass/components/wysiwyg/index.html +633 -292
  137. package/docs-dev/sass/core/breakpoint/index.html +633 -292
  138. package/docs-dev/sass/core/button/index.html +633 -292
  139. package/docs-dev/sass/core/color/index.html +671 -323
  140. package/docs-dev/sass/core/cssvar/index.html +633 -292
  141. package/docs-dev/sass/core/element/index.html +633 -292
  142. package/docs-dev/sass/core/index.html +633 -292
  143. package/docs-dev/sass/core/layout/index.html +633 -292
  144. package/docs-dev/sass/core/path/index.html +633 -292
  145. package/docs-dev/sass/core/selector/index.html +633 -292
  146. package/docs-dev/sass/core/typography/index.html +633 -292
  147. package/docs-dev/sass/core/units/index.html +633 -292
  148. package/docs-dev/sass/core/utils/index.html +633 -292
  149. package/docs-dev/sass/helpers/color/index.html +633 -292
  150. package/docs-dev/sass/helpers/display/index.html +633 -292
  151. package/docs-dev/sass/helpers/index/index.html +633 -292
  152. package/docs-dev/sass/helpers/index.html +636 -293
  153. package/docs-dev/sass/helpers/print/index.html +633 -292
  154. package/docs-dev/sass/helpers/typography/index.html +633 -292
  155. package/docs-dev/sass/helpers/units/index.html +633 -292
  156. package/docs-dev/sass/helpers/utilities/index.html +633 -292
  157. package/docs-dev/sass/index.html +636 -293
  158. package/js/index.js +1 -0
  159. package/js/settings.js +78 -0
  160. package/js/ui/details-group.js +121 -0
  161. package/js/ui/index.js +1 -0
  162. package/js/ui/modal-builder.js +3 -2
  163. package/js/ui/overflow-scroller.js +5 -4
  164. package/js/ui/programmatic-modal.js +9 -3
  165. package/js/ui/slider.js +7 -6
  166. package/js/ui/theme-toggle.js +330 -89
  167. package/js/utils/dom.js +43 -1
  168. package/js/utils/font-awesome.js +18 -0
  169. package/js/utils/index.js +2 -1
  170. package/package.json +3 -2
  171. package/scss/_color.scss +9 -2
  172. package/scss/components/README.todos +14 -0
  173. package/scss/components/_accordion.scss +13 -13
  174. package/scss/components/_badge.scss +3 -2
  175. package/scss/components/_basic-hero.scss +112 -0
  176. package/scss/components/_button-verbose.scss +3 -2
  177. package/scss/components/_callout.scss +43 -54
  178. package/scss/components/_captioned-figure.scss +23 -5
  179. package/scss/components/_card-grid.scss +1 -1
  180. package/scss/components/_card.scss +52 -37
  181. package/scss/components/_css-icon.scss +16 -11
  182. package/scss/components/_data-table.scss +41 -4
  183. package/scss/components/_flipcard.scss +13 -12
  184. package/scss/components/_form-theme.scss +47 -47
  185. package/scss/components/_hero.scss +9 -0
  186. package/scss/components/_index.scss +12 -0
  187. package/scss/components/_list-inline.scss +80 -0
  188. package/scss/components/_list-lines.scss +44 -33
  189. package/scss/components/_list-ordered.scss +0 -1
  190. package/scss/components/_menu-stack.scss +42 -26
  191. package/scss/components/_modal.scss +23 -19
  192. package/scss/components/_nav-strip.scss +25 -16
  193. package/scss/components/_overlay-section.scss +2 -1
  194. package/scss/components/_pager.scss +6 -6
  195. package/scss/components/_placeholder-block.scss +4 -4
  196. package/scss/components/_popover.scss +38 -38
  197. package/scss/components/_pull-quote.scss +12 -12
  198. package/scss/components/_rule.scss +0 -1
  199. package/scss/components/_scroll-slider.scss +1 -1
  200. package/scss/components/_skip-link.scss +2 -1
  201. package/scss/components/_slider.scss +17 -38
  202. package/scss/components/_tabs.scss +42 -52
  203. package/scss/components/_tag.scss +1 -1
  204. package/scss/components/_vignette.scss +1 -0
  205. package/types/index.d.ts +1 -0
  206. package/types/settings.d.ts +38 -0
  207. package/types/settings.d.ts.map +1 -0
  208. package/types/ui/details-group.d.ts +43 -0
  209. package/types/ui/details-group.d.ts.map +1 -0
  210. package/types/ui/index.d.ts +1 -0
  211. package/types/ui/modal-builder.d.ts +2 -2
  212. package/types/ui/modal-builder.d.ts.map +1 -1
  213. package/types/ui/overflow-scroller.d.ts +2 -2
  214. package/types/ui/overflow-scroller.d.ts.map +1 -1
  215. package/types/ui/programmatic-modal.d.ts.map +1 -1
  216. package/types/ui/slider.d.ts +2 -2
  217. package/types/ui/slider.d.ts.map +1 -1
  218. package/types/ui/tabs.d.ts.map +1 -1
  219. package/types/ui/theme-toggle.d.ts +58 -7
  220. package/types/ui/theme-toggle.d.ts.map +1 -1
  221. package/types/utils/dom.d.ts +19 -1
  222. package/types/utils/dom.d.ts.map +1 -1
  223. package/types/utils/font-awesome.d.ts +5 -0
  224. package/types/utils/font-awesome.d.ts.map +1 -0
  225. package/types/utils/index.d.ts +1 -0
@@ -9,6 +9,7 @@
9
9
  @use "../breakpoint";
10
10
  @use "../utils";
11
11
  @use "../selector";
12
+ @use "../color";
12
13
 
13
14
  // todo
14
15
  // sass color adjust for smooth transition. Add a comment for this if we can’t get to this
@@ -18,7 +19,6 @@
18
19
  /// @prop {Dimension} padding [2rem] The padding for the image icon
19
20
  /// @prop {Dimension} margin-y [3rem] Top and bottom margin for the card.
20
21
  /// @prop {Dimension} border-radius [5rem] The border radius of the card.
21
- /// @prop {String} horizontal-breakpoint [small] The breakpoint used to change the card to vertical if using the card--horizontal styling. Uses ulu's breakpoint module.
22
22
  /// @prop {CssValue} box-shadow [null] The box-shadow for the card.
23
23
  /// @prop {CssValue} box-shadow-hover [null] The box-shadow for the card when hovered or focused.
24
24
  /// @prop {Color} color [null] The type color of the card.
@@ -57,8 +57,10 @@
57
57
  /// @prop {Boolean} image-transition-enabled [true] Enable or disable the image transition.
58
58
  /// @prop {Time} image-transition-duration [350ms] The duration of the image transition.
59
59
  /// @prop {CssValue} image-transition-timing-function [ease-in-out] The timing function for the image transition.
60
+ /// @prop {List} image-icon-max-width [30rem] Max width for image when using the modifier on the .card__image--icon
60
61
  /// @prop {List} image-transition-properties [(transform, filter)] The properties for the image transitions.
61
-
62
+ /// @prop {String} horizontal-breakpoint [small] The breakpoint used to change the card to vertical if using the card--horizontal styling. Uses ulu's breakpoint module.
63
+ /// @prop {Unit} horizontal-body-max-width [80rem] The max-width of body when horizontal
62
64
 
63
65
 
64
66
  $config: (
@@ -78,6 +80,8 @@ $config: (
78
80
  "footer-padding-y" : 0.25rem,
79
81
  "footer-min-height" : 2.5rem,
80
82
  "horizontal-breakpoint" : "small",
83
+ "horizontal-image-width" : 33%,
84
+ "horizontal-body-max-width" : 80rem,
81
85
  "header-margin" : 0.75em,
82
86
  "image-ratio" : 56.25%,
83
87
  "image-aspect-ratio": list.slash(5, 3),
@@ -85,6 +89,7 @@ $config: (
85
89
  "image-border" : null, // For when you have a margin
86
90
  "image-filter-hover" : null,
87
91
  "image-margin" : null,
92
+ "image-icon-max-width" : 30rem,
88
93
  "image-transform-hover" : null,
89
94
  "image-transition-duration" : 350ms,
90
95
  "image-transition-enabled" : true,
@@ -109,7 +114,7 @@ $config: (
109
114
  "overlay-background-color": rgba(0, 0, 0, 0.6),
110
115
  "overlay-shading": true,
111
116
  "overlay-body-padding-y": 1rem,
112
- ) !default;
117
+ ) !default;
113
118
 
114
119
  /// Change modules $config
115
120
  /// @param {Map} $changes Map of changes
@@ -167,8 +172,8 @@ $config: (
167
172
  $prefix: selector.class("card");
168
173
 
169
174
  #{ $prefix } {
170
- color: get("color");
171
- background-color: get("background-color");
175
+ color: color.get(get("color"));
176
+ background-color: color.get(get("background-color"));
172
177
  border-radius: get("border-radius");
173
178
  box-shadow: get("box-shadow");
174
179
  margin-top: get("margin-y");
@@ -178,34 +183,31 @@ $config: (
178
183
  flex-direction: column;
179
184
  justify-content: flex-end;
180
185
  max-width: get("max-width");
181
- }
182
- @if (get("border") or get("border-hover") or get("overlay-background-color-hover")) {
183
- @include when-clickable($hover: false) {
184
- &:after {
185
- position: absolute;
186
- content: if(get("border"), "", false);
187
- top: 0;
188
- bottom: 0;
189
- right: 0;
190
- left: 0;
191
- border: get("border");
192
- border-radius: get("border-radius");
193
- z-index: 4;
194
- pointer-events: none;
195
- }
186
+ // Border is on pseudo so that it's on top of image/etc
187
+ &:after {
188
+ position: absolute;
189
+ content: if(get("border"), "", null);
190
+ top: 0;
191
+ bottom: 0;
192
+ right: 0;
193
+ left: 0;
194
+ border: get("border");
195
+ border-radius: get("border-radius");
196
+ z-index: 4;
197
+ pointer-events: none;
196
198
  }
197
199
  }
198
200
 
199
201
  @include when-clickable($hover: true) {
200
- background-color: get("background-color-hover");
201
- color: get("color-hover");
202
+ background-color: color.get(get("background-color-hover"));
203
+ color: color.get(get("color-hover"));
202
204
  box-shadow: get("box-shadow-hover");
203
205
 
204
206
  @if (get("border-hover") or get("overlay-background-color-hover")) {
205
207
  &:after {
206
208
  content: "";
207
209
  border: get("border-hover");
208
- background-color: get("overlay-background-color-hover");
210
+ background-color: color.get(get("overlay-background-color-hover"));
209
211
  }
210
212
  }
211
213
  }
@@ -222,14 +224,14 @@ $config: (
222
224
  }
223
225
 
224
226
  #{ $prefix }__title {
225
- color: get("title-color");
227
+ color: color.get(get("title-color"));
226
228
  margin-bottom: get("title-margin");
227
229
  display: block;
228
230
  font-weight: get("title-font-weight");
229
231
  @if get("title-color-hover") {
230
232
  &:hover,
231
233
  &:focus {
232
- color: get("title-color-hover");
234
+ color: color.get(get("title-color-hover"));
233
235
  }
234
236
  }
235
237
  #{ $prefix }__title-link {
@@ -239,7 +241,7 @@ $config: (
239
241
  @if get("title-color-hover") {
240
242
  @include when-clickable($hover: true) {
241
243
  #{ $prefix }__title {
242
- color: get("title-color-hover");
244
+ color: color.get(get("title-color-hover"));
243
245
  }
244
246
  }
245
247
  }
@@ -257,7 +259,7 @@ $config: (
257
259
  // padding-top: get("image-ratio"); // 9:16
258
260
  margin: get("image-margin");
259
261
  border: get("image-border");
260
- background-color: get("image-background-color");
262
+ background-color: color.get(get("image-background-color"));
261
263
  border-top-right-radius: get("border-radius");
262
264
  border-top-left-radius: get("border-radius");
263
265
  aspect-ratio: get("image-aspect-ratio");
@@ -302,7 +304,7 @@ $config: (
302
304
  img {
303
305
  position: static;
304
306
  display: block;
305
- max-width: 30rem;
307
+ max-width: get("image-icon-max-width");
306
308
  height: auto;
307
309
  top: auto;
308
310
  left: auto;
@@ -340,11 +342,15 @@ $config: (
340
342
  position: relative;
341
343
  flex-grow: 0;
342
344
  z-index: 2;
343
- color: get("color-overlay");
344
- background-color: get("overlay-background-color");
345
+ color: color.get(get("color-overlay"));
346
+ background-color: color.get(get("overlay-background-color"));
345
347
  min-height: 0;
346
348
  padding-top: get("overlay-body-padding-y");
347
349
  padding-bottom: get("overlay-body-padding-y");
350
+ &:not(:has(~ #{ $prefix }__footer)) {
351
+ border-bottom-left-radius: get("border-radius");
352
+ border-bottom-right-radius: get("border-radius");
353
+ }
348
354
  @if (get("overlay-shading")) {
349
355
  margin-top: 4rem;
350
356
  &::before {
@@ -359,11 +365,20 @@ $config: (
359
365
  }
360
366
  }
361
367
  #{ $prefix }__footer {
362
- background-color: get("overlay-background-color");
363
- color: get("color-overlay");
368
+ background-color: color.get(get("overlay-background-color"));
369
+ color: color.get(get("color-overlay"));
370
+ border-bottom-left-radius: get("border-radius");
371
+ border-bottom-right-radius: get("border-radius");
372
+ }
373
+ #{ $prefix }__body,
374
+ #{ $prefix }__footer {
375
+ &:last-child {
376
+ border-bottom-left-radius: get("border-radius");
377
+ border-bottom-right-radius: get("border-radius");
378
+ }
364
379
  }
365
380
  #{ $prefix }__title {
366
- color: get("color-overlay");
381
+ color: color.get(get("color-overlay"));
367
382
  }
368
383
  #{ $prefix }__image {
369
384
  position: absolute;
@@ -373,7 +388,7 @@ $config: (
373
388
  right: 0;
374
389
  overflow: hidden;
375
390
  padding-top: 0;
376
- background-color: rgb(255, 255, 255);
391
+ background-color: color.get(rgb(255, 255, 255));
377
392
  border-radius: get("border-radius");
378
393
  aspect-ratio: auto;
379
394
  img {
@@ -403,8 +418,8 @@ $config: (
403
418
  justify-content: center;
404
419
  align-items: center;
405
420
  #{ $prefix }__image {
406
- width: 33%;
407
- flex: 0 1 33%;
421
+ width: get("horizontal-image-width");
422
+ flex: 0 1 get("horizontal-image-width");
408
423
  // max-width: 30rem;
409
424
  min-height: 28rem;
410
425
  // padding-top: 0;
@@ -414,7 +429,7 @@ $config: (
414
429
  flex: 1;
415
430
  flex-direction: column;
416
431
  justify-content: center;
417
- max-width: 80rem;
432
+ max-width: get("horizontal-body-max-width");
418
433
  }
419
434
  }
420
435
  }
@@ -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);
@@ -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%;
@@ -192,7 +195,7 @@ $config: (
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;
@@ -222,7 +225,7 @@ $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"] {
@@ -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
  }
@@ -24,16 +24,45 @@ $-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 {Number} line-height [true] Line height for the table.
37
+ /// @prop {Dimension} column-min-width [6em] Min-width of the th element.
38
+ /// @prop {Dimension} first-column-large-min-width [15em] When using "--large-first" style, the min width of the first th element.
39
+ /// @prop {Dimension} border-width [1px] Border width of the table.
40
+ /// @prop {Color} border-color [#dddddd] Border color for the table.
41
+ /// @prop {Color} striped-row-background-color [#eeeeee] Background color for even rows if using "--striped" styling.
42
+ /// @prop {Color} muted-row-background-color [#ccc] Background color for odd rows if using "--striped" styling.
43
+ /// @prop {Color} muted-row-border-color [null] Border color for odd rows if using "--striped" styling.
44
+ /// @prop {Color} highlighted-row-background-color [#ccc] Background color row if using "__row-highlighted" styling.
45
+ /// @prop {Color} highlighted-row-border-color [null] Border color row if using "__row-highlighted" styling.
46
+ /// @prop {Dimension} large-header-cell-padding-y [1em] Vertical padding of header if using "--large-header" styling.
47
+ /// @prop {String} caption-type-size ["large"] Type size of table caption.
48
+ /// @prop {Color} caption-background-color [null] Background color of table caption.
49
+ /// @prop {CssValue} caption-font-weight [bold] Font weight of caption.
50
+ /// @prop {CssBalue} caption-border-bottom [null] Bottom border of the caption.
51
+ /// @prop {Dimension} caption-margin [(0,)] Margin of the caption.
52
+ /// @prop {Dimension} caption-padding [(0.65em 0)] Padding of the caption.
53
+ /// @prop {CssValue} caption-text-align [left] Text align of the caption.
54
+ /// @prop {String} extra-selector [".wysiwyg table"] Additional selectors to include table styling.
27
55
 
28
56
  $config: (
29
57
  "cell-padding" : (0.5em,),
30
58
  "text-align" : left,
31
59
  "type-size" : "small",
32
60
  "background-color" : white,
33
- "header-background-color" : #eeeeee,
61
+ "header-background-color" : #f5f4f4,
34
62
  "body-background-color" : white,
35
63
  "footer-background-color" : #f3f3f3,
36
64
  "color" : "type-secondary",
65
+ "header-color" : "headline",
37
66
  "line-height" : true,
38
67
  "column-min-width" : 6em,
39
68
  "first-column-large-min-width" : 15em,
@@ -46,9 +75,12 @@ $config: (
46
75
  "highlighted-row-border-color" : null,
47
76
  "large-header-cell-padding-y" : 1em,
48
77
  "caption-type-size" : "large",
78
+ "caption-background-color" : null,
49
79
  "caption-font-weight" : bold,
50
- "caption-margin" : (0 0 1em 0),
51
- "caption-padding" : (0,),
80
+ "caption-border-bottom" : null,
81
+ "caption-margin" : (0,),
82
+ "caption-padding" : (0.65em 0),
83
+ "caption-text-align" : left,
52
84
  "extra-selector" : ".wysiwyg table"
53
85
  ) !default;
54
86
 
@@ -107,9 +139,11 @@ $config: (
107
139
  @include typography.size(get("caption-type-size"));
108
140
  }
109
141
  font-weight: get("caption-font-weight");
110
- text-align: left;
142
+ text-align: get("caption-text-align");
111
143
  margin: get("caption-margin");
112
144
  padding: get("caption-padding");
145
+ background-color: get("caption-background-color");
146
+ border-bottom: get("caption-border-bottom");
113
147
  }
114
148
  th,
115
149
  tr,
@@ -133,6 +167,9 @@ $config: (
133
167
  thead tr {
134
168
  background-color: color.get(get("header-background-color"));
135
169
  }
170
+ thead th {
171
+ color: color.get(get("header-color"));
172
+ }
136
173
  tbody tr {
137
174
  background-color: color.get(get("body-background-color"));
138
175
  }
@@ -5,6 +5,7 @@
5
5
  /// Creates adaptive (changing at breakpoints)n between items (vertical/horizontal layout)
6
6
 
7
7
  @use "sass:map";
8
+ @use "../color";
8
9
  @use "../utils";
9
10
  @use "../selector";
10
11
 
@@ -90,14 +91,14 @@ $config: (
90
91
 
91
92
  #{ $prefix } {
92
93
  height: 100%;
93
- background-color: get("background-color");
94
+ background-color: color.get(get("background-color"));
94
95
  line-height: 1.4;
95
96
  overflow: hidden;
96
97
  position: relative;
97
98
  border: get("border");
98
99
  border-radius: get("border-radius");
99
100
  &#{ $prefix }:hover {
100
- border-color: get("border-color-hover");
101
+ border-color: color.get(get("border-color-hover"));
101
102
  }
102
103
  #{ $prefix }__control-button:focus {
103
104
  border: get("control-button-border-focus");
@@ -123,10 +124,10 @@ $config: (
123
124
  transform: scale(1.15);
124
125
  }
125
126
  #{ $prefix }__front-content {
126
- color: get("title-color-hover");
127
+ color: color.get(get("title-color-hover"));
127
128
  }
128
129
  #{ $prefix }__icon {
129
- color: get("icon-color-hover");
130
+ color: color.get(get("icon-color-hover"));
130
131
  }
131
132
  }
132
133
  @media (prefers-reduced-motion: no-preference) {
@@ -140,14 +141,14 @@ $config: (
140
141
  }
141
142
  }
142
143
  #{ $prefix }--w-image {
143
- background-color: get("background-color-image");
144
+ background-color: color.get(get("background-color-image"));
144
145
 
145
146
  &:hover {
146
147
  #{ $prefix }__front-content {
147
- color: get("title-color-image-hover");
148
+ color: color.get(get("title-color-image-hover"));
148
149
  }
149
150
  #{ $prefix }__icon {
150
- color: get("icon-color-image-hover");
151
+ color: color.get(get("icon-color-image-hover"));
151
152
  }
152
153
  }
153
154
  }
@@ -168,7 +169,7 @@ $config: (
168
169
  }
169
170
  }
170
171
  #{ $prefix }__icon {
171
- color: get('icon-color');
172
+ color: color.get(get('icon-color'));
172
173
  display: block;
173
174
  margin-top: 0.5rem;
174
175
  }
@@ -177,7 +178,7 @@ $config: (
177
178
  display: flex;
178
179
  flex-direction: column;
179
180
  justify-content: flex-end;
180
- color: get("title-color");
181
+ color: color.get(get("title-color"));
181
182
  position: relative;
182
183
  z-index: 2;
183
184
  padding: get('padding');
@@ -186,10 +187,10 @@ $config: (
186
187
  }
187
188
  #{ $prefix }--w-image {
188
189
  #{ $prefix }__icon {
189
- color: get("icon-color-image");
190
+ color: color.get(get("icon-color-image"));
190
191
  }
191
192
  #{ $prefix }__front-content {
192
- color: get("title-color-image");
193
+ color: color.get(get("title-color-image"));
193
194
  @if(get("bottom-shadow")) {
194
195
  // bottom position includes padding so that the shadow
195
196
  &:after {
@@ -207,7 +208,7 @@ $config: (
207
208
  }
208
209
  }
209
210
  #{ $prefix }__back {
210
- background-color: get("background-color-back");
211
+ background-color: color.get(get("background-color-back"));
211
212
  padding: get('padding');
212
213
  justify-content: flex-end;
213
214
  [data-flipcard-state="open"] & {