@ulu/frontend 0.1.0-beta.5 → 0.1.0-beta.50

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 (296) hide show
  1. package/CHANGELOG.md +382 -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 +0 -0
  9. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  10. package/docs-dev/demos/accordion/index.html +0 -4809
  11. package/docs-dev/demos/basic-hero/index.html +0 -0
  12. package/docs-dev/demos/breakpoints-manager/index.html +0 -0
  13. package/docs-dev/demos/button/index.html +0 -4621
  14. package/docs-dev/demos/button-verbose/index.html +0 -0
  15. package/docs-dev/demos/callout/index.html +0 -4661
  16. package/docs-dev/demos/captioned-figure/index.html +0 -4683
  17. package/docs-dev/demos/card/index.html +0 -5040
  18. package/docs-dev/demos/card-grid/index.html +0 -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 +0 -0
  24. package/docs-dev/demos/css-icons/index.html +0 -5272
  25. package/docs-dev/demos/data-grid/index.html +0 -5606
  26. package/docs-dev/demos/data-table/index.html +0 -4697
  27. package/docs-dev/demos/details-group/index.html +0 -0
  28. package/docs-dev/demos/file-save/index.html +0 -4672
  29. package/docs-dev/demos/flipcard/index.html +0 -5221
  30. package/docs-dev/demos/form-theme/index.html +0 -4852
  31. package/docs-dev/demos/hero/index.html +0 -301
  32. package/docs-dev/demos/image-grid/index.html +0 -157
  33. package/docs-dev/demos/index.html +0 -4610
  34. package/docs-dev/demos/list-inline/index.html +0 -0
  35. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  36. package/docs-dev/demos/list-lines/index.html +0 -0
  37. package/docs-dev/demos/menu-stack/index.html +0 -4751
  38. package/docs-dev/demos/modals/index.html +0 -4718
  39. package/docs-dev/demos/nav-strip/index.html +0 -4722
  40. package/docs-dev/demos/overlay-section/index.html +0 -4628
  41. package/docs-dev/demos/popovers/index.html +0 -4628
  42. package/docs-dev/demos/print/index.html +0 -4630
  43. package/docs-dev/demos/pull-quote/index.html +0 -4629
  44. package/docs-dev/demos/rule/index.html +0 -4679
  45. package/docs-dev/demos/scroll-slider/index.html +0 -204
  46. package/docs-dev/demos/scrollpoints/index.html +0 -4648
  47. package/docs-dev/demos/slider/index.html +0 -164
  48. package/docs-dev/demos/spoke-spinner/index.html +0 -4625
  49. package/docs-dev/demos/sticky-list/index.html +0 -0
  50. package/docs-dev/demos/tabs/index.html +0 -4714
  51. package/docs-dev/demos/tag/index.html +0 -4630
  52. package/docs-dev/demos/theme-toggle/index.html +0 -0
  53. package/docs-dev/demos/tile-grid-overlay/index.html +0 -382
  54. package/docs-dev/demos/tiles/index.html +0 -4879
  55. package/docs-dev/demos/tooltip/index.html +0 -4658
  56. package/docs-dev/guide/building-stylesheet/index.html +0 -4679
  57. package/docs-dev/guide/developing-ulu-scss-module/index.html +0 -4731
  58. package/docs-dev/guide/index.html +0 -4612
  59. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  60. package/docs-dev/index.html +0 -4659
  61. package/docs-dev/javascript/events/index.html +0 -4770
  62. package/docs-dev/javascript/index.html +0 -4625
  63. package/docs-dev/javascript/settings/index.html +0 -0
  64. package/docs-dev/javascript/ui-breakpoints/index.html +0 -5070
  65. package/docs-dev/javascript/ui-collapsible/index.html +0 -4737
  66. package/docs-dev/javascript/ui-details-group/index.html +0 -0
  67. package/docs-dev/javascript/ui-dialog/index.html +0 -4771
  68. package/docs-dev/javascript/ui-flipcard/index.html +0 -4621
  69. package/docs-dev/javascript/ui-grid/index.html +0 -4678
  70. package/docs-dev/javascript/ui-modal-builder/index.html +0 -4760
  71. package/docs-dev/javascript/ui-overflow-scroller/index.html +0 -4610
  72. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +0 -4628
  73. package/docs-dev/javascript/ui-page/index.html +0 -4625
  74. package/docs-dev/javascript/ui-popover/index.html +0 -4664
  75. package/docs-dev/javascript/ui-print/index.html +0 -4677
  76. package/docs-dev/javascript/ui-print-details/index.html +0 -4640
  77. package/docs-dev/javascript/ui-programmatic-modal/index.html +0 -4610
  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 +0 -4639
  81. package/docs-dev/javascript/ui-scrollpoint/index.html +0 -4857
  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 +0 -4643
  95. package/docs-dev/sass/base/elements/index.html +0 -4814
  96. package/docs-dev/sass/base/index/index.html +0 -4813
  97. package/docs-dev/sass/base/index.html +0 -4619
  98. package/docs-dev/sass/base/keyframes/index.html +0 -4645
  99. package/docs-dev/sass/base/layout/index.html +0 -4805
  100. package/docs-dev/sass/base/normalize/index.html +0 -4653
  101. package/docs-dev/sass/base/print/index.html +0 -4649
  102. package/docs-dev/sass/base/root/index.html +0 -4669
  103. package/docs-dev/sass/base/typography/index.html +0 -4669
  104. package/docs-dev/sass/components/accordion/index.html +0 -4971
  105. package/docs-dev/sass/components/adaptive-spacing/index.html +0 -4914
  106. package/docs-dev/sass/components/badge/index.html +0 -4862
  107. package/docs-dev/sass/components/basic-hero/index.html +0 -0
  108. package/docs-dev/sass/components/button/index.html +0 -4798
  109. package/docs-dev/sass/components/button-verbose/index.html +0 -4910
  110. package/docs-dev/sass/components/callout/index.html +0 -4937
  111. package/docs-dev/sass/components/captioned-figure/index.html +0 -4788
  112. package/docs-dev/sass/components/card/index.html +0 -5146
  113. package/docs-dev/sass/components/card-grid/index.html +0 -4812
  114. package/docs-dev/sass/components/counter-list/index.html +0 -0
  115. package/docs-dev/sass/components/css-icon/index.html +0 -4909
  116. package/docs-dev/sass/components/data-grid/index.html +0 -5044
  117. package/docs-dev/sass/components/data-table/index.html +0 -4795
  118. package/docs-dev/sass/components/fill-context/index.html +0 -4678
  119. package/docs-dev/sass/components/flipcard/index.html +0 -4948
  120. package/docs-dev/sass/components/flipcard-grid/index.html +0 -4799
  121. package/docs-dev/sass/components/form-theme/index.html +0 -5428
  122. package/docs-dev/sass/components/hero/index.html +0 -4800
  123. package/docs-dev/sass/components/horizontal-rule/index.html +0 -4797
  124. package/docs-dev/sass/components/image-grid/index.html +0 -4804
  125. package/docs-dev/sass/components/index/index.html +0 -4848
  126. package/docs-dev/sass/components/index.html +0 -4619
  127. package/docs-dev/sass/components/links/index.html +0 -4648
  128. package/docs-dev/sass/components/list-inline/index.html +0 -0
  129. package/docs-dev/sass/components/list-lines/index.html +0 -4843
  130. package/docs-dev/sass/components/list-ordered/index.html +0 -4644
  131. package/docs-dev/sass/components/list-unordered/index.html +0 -4648
  132. package/docs-dev/sass/components/menu-stack/index.html +0 -4978
  133. package/docs-dev/sass/components/modal/index.html +0 -5025
  134. package/docs-dev/sass/components/nav-strip/index.html +0 -4898
  135. package/docs-dev/sass/components/overlay-section/index.html +0 -4842
  136. package/docs-dev/sass/components/pager/index.html +0 -4960
  137. package/docs-dev/sass/components/placeholder-block/index.html +0 -4882
  138. package/docs-dev/sass/components/popover/index.html +0 -4957
  139. package/docs-dev/sass/components/pull-quote/index.html +0 -4856
  140. package/docs-dev/sass/components/ratio-box/index.html +0 -4802
  141. package/docs-dev/sass/components/rule/index.html +0 -4804
  142. package/docs-dev/sass/components/scroll-slider/index.html +0 -4915
  143. package/docs-dev/sass/components/skip-link/index.html +0 -4788
  144. package/docs-dev/sass/components/slider/index.html +0 -4924
  145. package/docs-dev/sass/components/spoke-spinner/index.html +0 -4862
  146. package/docs-dev/sass/components/sticky-list/index.html +0 -0
  147. package/docs-dev/sass/components/tabs/index.html +0 -4938
  148. package/docs-dev/sass/components/tag/index.html +0 -4963
  149. package/docs-dev/sass/components/tile-button/index.html +0 -4843
  150. package/docs-dev/sass/components/tile-grid/index.html +0 -4978
  151. package/docs-dev/sass/components/tile-grid-overlay/index.html +0 -4779
  152. package/docs-dev/sass/components/vignette/index.html +0 -4792
  153. package/docs-dev/sass/components/wysiwyg/index.html +0 -4808
  154. package/docs-dev/sass/core/breakpoint/index.html +0 -5401
  155. package/docs-dev/sass/core/button/index.html +0 -5535
  156. package/docs-dev/sass/core/color/index.html +0 -5385
  157. package/docs-dev/sass/core/cssvar/index.html +0 -5410
  158. package/docs-dev/sass/core/element/index.html +0 -5533
  159. package/docs-dev/sass/core/index.html +0 -4608
  160. package/docs-dev/sass/core/layout/index.html +0 -5368
  161. package/docs-dev/sass/core/path/index.html +0 -4777
  162. package/docs-dev/sass/core/selector/index.html +0 -4856
  163. package/docs-dev/sass/core/typography/index.html +0 -5782
  164. package/docs-dev/sass/core/units/index.html +0 -4815
  165. package/docs-dev/sass/core/utils/index.html +0 -6256
  166. package/docs-dev/sass/helpers/color/index.html +0 -4643
  167. package/docs-dev/sass/helpers/display/index.html +0 -4648
  168. package/docs-dev/sass/helpers/index/index.html +0 -4810
  169. package/docs-dev/sass/helpers/index.html +0 -4619
  170. package/docs-dev/sass/helpers/print/index.html +843 -292
  171. package/docs-dev/sass/helpers/typography/index.html +0 -4671
  172. package/docs-dev/sass/helpers/units/index.html +0 -4817
  173. package/docs-dev/sass/helpers/utilities/index.html +0 -4648
  174. package/docs-dev/sass/index.html +0 -4670
  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 +14 -8
  203. package/scss/_breakpoint.scss +16 -3
  204. package/scss/_color.scss +37 -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 +18 -20
  211. package/scss/components/_badge.scss +3 -2
  212. package/scss/components/_basic-hero.scss +112 -0
  213. package/scss/components/_button-verbose.scss +102 -20
  214. package/scss/components/_callout.scss +127 -79
  215. package/scss/components/_captioned-figure.scss +23 -5
  216. package/scss/components/_card-grid.scss +1 -1
  217. package/scss/components/_card.scss +261 -88
  218. package/scss/components/_counter-list.scss +133 -0
  219. package/scss/components/_css-icon.scss +33 -28
  220. package/scss/components/_data-grid.scss +38 -9
  221. package/scss/components/_data-table.scss +44 -4
  222. package/scss/components/_flipcard.scss +21 -15
  223. package/scss/components/_form-theme.scss +146 -135
  224. package/scss/components/_hero.scss +12 -10
  225. package/scss/components/_index.scss +24 -0
  226. package/scss/components/_list-inline.scss +80 -0
  227. package/scss/components/_list-lines.scss +44 -33
  228. package/scss/components/_list-ordered.scss +0 -1
  229. package/scss/components/_menu-stack.scss +42 -26
  230. package/scss/components/_modal.scss +29 -19
  231. package/scss/components/_nav-strip.scss +5 -1
  232. package/scss/components/_overlay-section.scss +4 -6
  233. package/scss/components/_pager.scss +6 -6
  234. package/scss/components/_placeholder-block.scss +4 -4
  235. package/scss/components/_popover.scss +174 -73
  236. package/scss/components/_pull-quote.scss +13 -13
  237. package/scss/components/_ratio-box.scss +2 -5
  238. package/scss/components/_rule.scss +1 -1
  239. package/scss/components/_scroll-slider.scss +2 -6
  240. package/scss/components/_skip-link.scss +2 -1
  241. package/scss/components/_slider.scss +18 -38
  242. package/scss/components/_spoke-spinner.scss +2 -2
  243. package/scss/components/_sticky-list.scss +206 -0
  244. package/scss/components/_tabs.scss +4 -2
  245. package/scss/components/_tag.scss +1 -1
  246. package/scss/components/_vignette.scss +3 -5
  247. package/scss/helpers/_display.scss +15 -18
  248. package/scss/helpers/_print.scss +12 -7
  249. package/scss/helpers/_utilities.scss +42 -32
  250. package/types/index.d.ts +1 -0
  251. package/types/settings.d.ts +66 -0
  252. package/types/settings.d.ts.map +1 -0
  253. package/types/ui/breakpoints.d.ts +14 -14
  254. package/types/ui/breakpoints.d.ts.map +1 -1
  255. package/types/ui/collapsible.d.ts.map +1 -1
  256. package/types/ui/details-group.d.ts +38 -0
  257. package/types/ui/details-group.d.ts.map +1 -0
  258. package/types/ui/dialog.d.ts +20 -14
  259. package/types/ui/dialog.d.ts.map +1 -1
  260. package/types/ui/flipcard.d.ts +16 -10
  261. package/types/ui/flipcard.d.ts.map +1 -1
  262. package/types/ui/grid.d.ts +4 -6
  263. package/types/ui/grid.d.ts.map +1 -1
  264. package/types/ui/index.d.ts +1 -0
  265. package/types/ui/modal-builder.d.ts +8 -11
  266. package/types/ui/modal-builder.d.ts.map +1 -1
  267. package/types/ui/overflow-scroller.d.ts +2 -2
  268. package/types/ui/overflow-scroller.d.ts.map +1 -1
  269. package/types/ui/popover.d.ts +6 -7
  270. package/types/ui/popover.d.ts.map +1 -1
  271. package/types/ui/print.d.ts +0 -4
  272. package/types/ui/print.d.ts.map +1 -1
  273. package/types/ui/programmatic-modal.d.ts.map +1 -1
  274. package/types/ui/proxy-click.d.ts +19 -3
  275. package/types/ui/proxy-click.d.ts.map +1 -1
  276. package/types/ui/scroll-slider.d.ts +5 -7
  277. package/types/ui/scroll-slider.d.ts.map +1 -1
  278. package/types/ui/scrollpoint.d.ts +3 -8
  279. package/types/ui/scrollpoint.d.ts.map +1 -1
  280. package/types/ui/slider.d.ts +24 -14
  281. package/types/ui/slider.d.ts.map +1 -1
  282. package/types/ui/tabs.d.ts +6 -8
  283. package/types/ui/tabs.d.ts.map +1 -1
  284. package/types/ui/theme-toggle.d.ts +51 -7
  285. package/types/ui/theme-toggle.d.ts.map +1 -1
  286. package/types/ui/tooltip.d.ts +3 -5
  287. package/types/ui/tooltip.d.ts.map +1 -1
  288. package/types/utils/css.d.ts +11 -0
  289. package/types/utils/css.d.ts.map +1 -0
  290. package/types/utils/dom.d.ts +45 -6
  291. package/types/utils/dom.d.ts.map +1 -1
  292. package/types/utils/font-awesome.d.ts +5 -0
  293. package/types/utils/font-awesome.d.ts.map +1 -0
  294. package/types/utils/index.d.ts +1 -0
  295. package/types/utils/system.d.ts +113 -0
  296. package/types/utils/system.d.ts.map +1 -0
@@ -8,6 +8,8 @@
8
8
  @use "sass:map";
9
9
  @use "../utils";
10
10
  @use "../breakpoint";
11
+ @use "../color";
12
+ @use "../layout";
11
13
 
12
14
  /// Module Settings
13
15
  /// @type Map
@@ -80,11 +82,7 @@ $config: (
80
82
  }
81
83
  }
82
84
  .overlay-section__background {
83
- position: absolute;
84
- top: 0;
85
- left: 0;
86
- right: 0;
87
- bottom: 0;
85
+ @include layout.absolute-fill();
88
86
  img,
89
87
  video {
90
88
  object-fit: cover;
@@ -95,7 +93,7 @@ $config: (
95
93
  .overlay-section__content {
96
94
  position: relative;
97
95
  z-index: 2;
98
- background-color: get("content-background-color");
96
+ background-color: color.get(get("content-background-color"));
99
97
  border: get("content-border");
100
98
  flex: 0 1 get("content-width");
101
99
  padding: get("content-padding");
@@ -120,9 +120,9 @@ $config: (
120
120
  border-radius: get("border-radius");
121
121
  border: get("border-width") solid color.get(get("border-color"));
122
122
  background-color: color.get(get("background-color"));
123
- color: get("color");
123
+ color: color.get(get("color"));
124
124
  &:hover {
125
- color: get("color-hover");
125
+ color: color.get(get("color-hover"));
126
126
  border-color: color.get(get("border-color-hover"));
127
127
  background-color: color.get(get("background-color-hover"));
128
128
  }
@@ -134,8 +134,8 @@ $config: (
134
134
  span {
135
135
  font-weight: get("font-weight");
136
136
  color: color.get(get("active-color"));
137
- background-color: get("active-background-color");
138
- border-color: get("active-border-color");
137
+ background-color: color.get(get("active-background-color"));
138
+ border-color: color.get(get("active-border-color"));
139
139
  }
140
140
  }
141
141
  }
@@ -148,14 +148,14 @@ $config: (
148
148
  height: get("action-width");
149
149
  line-height: get("action-width");
150
150
  background-color: color.get(get("action-background-color"));
151
- color: get("action-color");
151
+ color: color.get(get("action-color"));
152
152
  font-size: 1.2rem;
153
153
  line-height: 2.8rem;
154
154
  font-weight: bold;
155
155
  &:hover {
156
156
  border-color: color.get(get("action-border-color-hover"));
157
157
  background-color: color.get(get("action-background-color-hover"));
158
- color: get("action-color-hover");
158
+ color: color.get(get("action-color-hover"));
159
159
  }
160
160
  }
161
161
  }
@@ -92,20 +92,20 @@ $config: (
92
92
  $prefix: selector.class("placeholder-block");
93
93
 
94
94
  #{ $prefix } {
95
- background-color: get("background-color");
95
+ background-color: color.get(get("background-color"));
96
96
  display: flex;
97
97
  flex-direction: column;
98
98
  justify-content: center;
99
99
  align-items: center;
100
100
  text-align: center;
101
101
  padding: get("padding");
102
- color: get("color");
103
- border: get("border-width") get("border-style") get("border-color");
102
+ color: color.get(get("color"));
103
+ border: get("border-width") get("border-style") color.get(get("border-color"));
104
104
  margin-bottom: get("margin-bottom");
105
105
  border-radius: get("border-radius");
106
106
  }
107
107
  #{ $prefix }__icon {
108
- color: get("icon-color");
108
+ color: color.get(get("icon-color"));
109
109
  display: block;
110
110
  margin: 0 auto get("icon-margin") auto;
111
111
  font-size: get("icon-font-size");
@@ -29,38 +29,41 @@ $-fallbacks: (
29
29
 
30
30
  /// Module Settings
31
31
  /// @type Map
32
- /// @prop {Dimension} arrow-size [16px]
33
- /// @prop {Color} background-color [white]
34
- /// @prop {Dimension} border-radius [6px]
35
- /// @prop {Color} color [inherit]
36
- /// @prop {Dimension} max-width [90vw]
37
- /// @prop {Dimension} max-height [25rem]
38
- /// @prop {Dimension} padding [1rem]
39
- /// @prop {Dimension} padding-large [2rem]
40
- /// @prop {Dimension} type-size [null]
41
- /// @prop {Number} z-index [true]
42
- /// @prop {CssValue} box-shadow [true]
43
- /// @prop {CssValue} box-shadow-footer [0 0 4px]
44
- /// @prop {String} box-shadow-footer-color ["box-shadow"]
45
- /// @prop {Color} header-background-color [#ccc]
46
- /// @prop {Color} header-color [null]
47
- /// @prop {Color} header-media-background-color [black]
48
- /// @prop {Dimension} header-padding-y [0.25rem]
49
- /// @prop {Color} footer-background-color [#ccc]
50
- /// @prop {Color} footer-color [null]
51
- /// @prop {Dimension} footer-padding-y [0.25rem]
52
- /// @prop {Dimension} footer-padding-y-large [0.5rem]
53
- /// @prop {Color} tooltip-background-color [white]
54
- /// @prop {Color} tooltip-color [null]
55
- /// @prop {Dimension} tooltip-max-width [20rem]
56
- /// @prop {Dimension} tooltip-padding [0.5rem]
57
- /// @prop {Dimension} tooltip-width [auto]
58
- /// @prop {Dimension} width [15rem]
59
- /// @prop {Dimension} width-large [30rem]
60
- /// @prop {Dimension} width-large-x [50rem]
32
+ /// @prop {Dimension} arrow-size [16px] Size of the dropdown arrow.
33
+ /// @prop {Boolean} arrow-box-shadow [true] When true the arrow will get the popover's box shadow. Note if the box shadow is not a list (for example custom property), the mask won't be calculated from the box-shadow (use arrow-box-shadow-extent to specify manually)
34
+ /// @prop {Number} arrow-box-shadow-extent [null] If set will determine the amount of overlap added to the arrow mask, else it's calculated automatically by the box-shadow option (can be used if box-shadow is custom property)
35
+ /// @prop {Color} background-color [white] Background color of the popover.
36
+ /// @prop {Dimension} border-radius [6px] Border radius of the popover.
37
+ /// @prop {Color} color [inherit] Text color of the popover.
38
+ /// @prop {Dimension} max-width [90vw] Max width of the popover.
39
+ /// @prop {Dimension} max-height [25rem] Max height of the popover.
40
+ /// @prop {Dimension} padding [1rem] Padding of the popover.
41
+ /// @prop {Dimension} padding-large [2rem] Padding of the popover if using "--large" or "--large-x" styling.
42
+ /// @prop {Dimension} type-size [null] Font size of the popover.
43
+ /// @prop {Number} z-index [true] z-index of the popover.
44
+ /// @prop {CssValue} box-shadow [true] Box shadow of the popover.
45
+ /// @prop {Color} header-background-color [#ccc] Background color of the popover header
46
+ /// @prop {Color} header-color [null] Text color for the header.
47
+ /// @prop {Color} header-media-background-color [black] background color for header media.
48
+ /// @prop {Dimension} header-padding-y [0.25rem] Vertical padding of the header.
49
+ /// @prop {Color} footer-background-color [#ccc] Background color of the footer.
50
+ /// @prop {Color} footer-border-top [1px solid #dfdfdf] Optional border used to separate the content from footer
51
+ /// @prop {Color} footer-color [null] Text color of the footer.
52
+ /// @prop {Dimension} footer-padding-y [0.25rem] Vertical padding of the footer.
53
+ /// @prop {Dimension} footer-padding-y-large [0.5rem] Vertical padding of the footer if using "--large" or "--large-x" styling.
54
+ /// @prop {Color} tooltip-background-color [white] Background color of the tooltip.
55
+ /// @prop {Color} tooltip-color [null] Font color of the tooltip.
56
+ /// @prop {Dimension} tooltip-max-width [20rem] Max width of the tooltip.
57
+ /// @prop {Dimension} tooltip-padding [0.5rem] Padding of the tooltip.
58
+ /// @prop {Dimension} tooltip-width [auto] Width of the tooltip.
59
+ /// @prop {Dimension} width [15rem] Width of the popover.
60
+ /// @prop {Dimension} width-large [30rem] Width of the popover if using "--large".
61
+ /// @prop {Dimension} width-large-x [50rem] Width of the popover if using "--large-x".
61
62
 
62
63
  $config: (
63
64
  "arrow-size" : 16px,
65
+ "arrow-box-shadow" : true,
66
+ "arrow-box-shadow-extent" : null,
64
67
  "background-color" : white,
65
68
  "border-radius" : 6px,
66
69
  "color" : inherit,
@@ -70,14 +73,12 @@ $config: (
70
73
  "padding-large" : 2rem,
71
74
  "type-size" : null,
72
75
  "z-index" : true,
73
-
74
76
  "box-shadow" : true,
75
- "box-shadow-footer" : 0 0 4px,
76
- "box-shadow-footer-color" : "box-shadow",
77
77
  "header-background-color" : #ccc,
78
78
  "header-color" : null,
79
79
  "header-media-background-color": black,
80
80
  "header-padding-y" : 0.25rem,
81
+ "footer-border-top" : 1px solid #dfdfdf,
81
82
  "footer-background-color" : #ccc,
82
83
  "footer-color" : null,
83
84
  "footer-padding-y" : 0.25rem,
@@ -117,47 +118,17 @@ $config: (
117
118
 
118
119
  @mixin styles {
119
120
  $prefix: selector.class("popover");
120
- $arrow-size-half: math.div(get("arrow-size"), 2);
121
121
 
122
122
  @if (get("arrow-size")) {
123
- #{ $prefix }__arrow {
124
- display: block;
125
- visibility: hidden;
126
- z-index: 1;
127
- &,
128
- &:before {
129
- position: absolute;
130
- width: get("arrow-size");
131
- height: get("arrow-size");
132
- background: inherit;
133
- }
134
- &:before {
135
- visibility: visible;
136
- content: '';
137
- transform: rotate(45deg);
138
- // box-shadow: $box-shadow;
139
- }
140
- [data-placement^='top'] > & {
141
- bottom: -($arrow-size-half);
142
- }
143
- [data-placement^='bottom'] > & {
144
- top: -($arrow-size-half);
145
- }
146
- [data-placement^='left'] > & {
147
- right: -($arrow-size-half);
148
- }
149
- [data-placement^='right'] > & {
150
- left: -($arrow-size-half);
151
- }
152
- }
123
+ @include -arrow-styles();
153
124
  }
154
125
  // Default position is on the right of the container (Popper handles positioning)
155
126
  #{ $prefix } {
156
127
  display: none;
157
128
  position: absolute;
158
129
  z-index: get("z-index") + 1;
159
- background-color: get("background-color");
160
- color: get("color");
130
+ background-color: color.get(get("background-color"));
131
+ color: color.get(get("color"));
161
132
  width: get("width");
162
133
  max-width: get("max-width");
163
134
  box-shadow: get("box-shadow");
@@ -189,18 +160,18 @@ $config: (
189
160
  #{ $prefix }__header {
190
161
  overflow: hidden;
191
162
  padding: get("header-padding-y") get("padding");
192
- color: get("header-color");
193
- background-color: get("header-background-color");
163
+ color: color.get(get("header-color"));
164
+ background-color: color.get(get("header-background-color"));
194
165
  }
195
166
  #{ $prefix }__header--media {
196
167
  padding: 0;
197
- background-color: get("header-media-background-color");
168
+ background-color: color.get(get("header-media-background-color"));
198
169
  }
199
170
  #{ $prefix }__footer {
200
- box-shadow: get("box-shadow-footer") color.get(get("box-shadow-footer-color"));
171
+ border-top: get("footer-border-top");
201
172
  padding: get("footer-padding-y") get("padding");
202
- color: get("footer-color");
203
- background-color: get("footer-background-color");
173
+ color: color.get(get("footer-color"));
174
+ background-color: color.get(get("footer-background-color"));
204
175
  border-top-left-radius: 0;
205
176
  border-top-right-radius: 0;
206
177
  }
@@ -215,8 +186,8 @@ $config: (
215
186
  #{ $prefix }--tooltip {
216
187
  width: get("tooltip-width");
217
188
  max-width: min(get("max-width"), get("tooltip-max-width"));
218
- color: get("tooltip-color");
219
- background-color: get("tooltip-background-color");
189
+ color: color.get(get("tooltip-color"));
190
+ background-color: color.get(get("tooltip-background-color"));
220
191
  pointer-events: none;
221
192
  #{ $prefix }__inner {
222
193
  padding: get("tooltip-padding");
@@ -260,4 +231,134 @@ $config: (
260
231
  }
261
232
  }
262
233
  }
234
+ }
235
+
236
+ @mixin -arrow-styles() {
237
+ @if get("arrow-box-shadow") {
238
+ @include -arrow-styles-with-box-shadow();
239
+ } @else {
240
+ @include -arrow-styles-simple();
241
+ }
242
+ }
243
+
244
+ // Internal mixin for original arrow styles without box-shadow
245
+ @mixin -arrow-styles-simple() {
246
+ $prefix: selector.class("popover");
247
+ $size: get("arrow-size");
248
+ $half: math.div($size, 2);
249
+
250
+ #{ $prefix }__arrow {
251
+ visibility: hidden;
252
+ z-index: 1;
253
+ &,
254
+ &::before {
255
+ display: block;
256
+ position: absolute;
257
+ width: $size;
258
+ height: $size;
259
+ background: inherit;
260
+ }
261
+ &::before {
262
+ visibility: visible;
263
+ content: '';
264
+ transform: rotate(45deg);
265
+ }
266
+ [data-placement^="top"] > & {
267
+ bottom: -($half);
268
+ }
269
+ [data-placement^="bottom"] > & {
270
+ top: -($half);
271
+ }
272
+ [data-placement^="left"] > & {
273
+ right: -($half);
274
+ }
275
+ [data-placement^="right"] > & {
276
+ left: -($half);
277
+ }
278
+ }
279
+ // Account for footer and change arrow color when positioned next to it
280
+ #{ $prefix }__footer ~ #{ $prefix }__arrow {
281
+ [data-placement^="top"] > & {
282
+ &::before {
283
+ background-color: get("footer-background-color");
284
+ }
285
+ }
286
+ }
287
+ }
288
+
289
+ // Internal mixin for arrow styles when using the mask (extra pseudo element)
290
+ @mixin -arrow-styles-with-box-shadow() {
291
+ $prefix: selector.class("popover");
292
+ $box-shadow: get("box-shadow");
293
+ $size: get("arrow-size");
294
+ $half: math.div($size, 2);
295
+ $size-info: utils.number-info($size);
296
+ $unitless: map.get($size-info, "value");
297
+ $unit: map.get($size-info, "unit");
298
+ $hypotenuse: utils.hypotenuse($unitless, $unitless);
299
+ $hypotenuse-half: math.div($hypotenuse, 2);
300
+ $manual-extent: get("arrow-box-shadow-extent");
301
+ $shadow-extent: if(
302
+ $manual-extent,
303
+ $manual-extent,
304
+ if(utils.is-list($box-shadow), utils.box-shadow-extent($box-shadow), 5px)
305
+ );
306
+ $overlap: utils.strip-unit($shadow-extent);
307
+ $mask-height: utils.add-unit($hypotenuse-half + $overlap, $unit);
308
+ $mask-width: utils.add-unit($hypotenuse + $overlap, $unit);
309
+
310
+ #{ $prefix }__arrow {
311
+ visibility: hidden;
312
+ z-index: 1;
313
+ &,
314
+ &::before,
315
+ &::after {
316
+ display: block;
317
+ position: absolute;
318
+ width: $size;
319
+ height: $size;
320
+ background: inherit;
321
+ }
322
+ &::before,
323
+ &::after {
324
+ visibility: visible;
325
+ content: '';
326
+ }
327
+ &::before {
328
+ box-shadow: get("box-shadow");
329
+ transform: rotate(45deg);
330
+ }
331
+ // Masking shape
332
+ &::after {
333
+ top: 50%;
334
+ left: 50%;
335
+ transform: translateX(-50%);
336
+ height: $mask-height;
337
+ width: $mask-width;
338
+ }
339
+ [data-placement^="top"] > & {
340
+ bottom: -($half);
341
+ transform: rotate(180deg); // Rotate w. mask
342
+ }
343
+ [data-placement^="bottom"] > & {
344
+ top: -($half);
345
+ }
346
+ [data-placement^="left"] > & {
347
+ right: -($half);
348
+ transform: rotate(90deg); // Rotate w. mask
349
+ }
350
+ [data-placement^="right"] > & {
351
+ left: -($half);
352
+ transform: rotate(-90deg); // Rotate w. mask
353
+ }
354
+ }
355
+ // Account for footer and change arrow color when positioned next to it
356
+ #{ $prefix }__footer ~ #{ $prefix }__arrow {
357
+ [data-placement^="top"] > & {
358
+ &::before,
359
+ &::after {
360
+ background-color: get("footer-background-color");
361
+ }
362
+ }
363
+ }
263
364
  }
@@ -21,18 +21,18 @@ $-fallbacks: (
21
21
 
22
22
  /// Module Settings
23
23
  /// @type Map
24
- /// @prop {} body-line-height [true]
25
- /// @prop {} image-margin-bottom [1rem]
26
- /// @prop {} image-margin-top [2.5rem]
27
- /// @prop {} name-margin-bottom [1rem]
28
- /// @prop {} padding-y [2em]
29
- /// @prop {} title-font-style [italic]
30
- /// @prop {} quote-mark-character ["\201c"]
31
- /// @prop {} quote-mark-color [null]
32
- /// @prop {} quote-mark-font-family ["Georgia"]
33
- /// @prop {} quote-mark-font-size [3.75em]
34
- /// @prop {} quote-mark-enabled [true]
35
- /// @prop {} quote-mark-line-height [0.35]
24
+ /// @prop {Number} body-line-height [true]
25
+ /// @prop {Dimension} image-margin-bottom [1rem]
26
+ /// @prop {Dimension} image-margin-top [2.5rem]
27
+ /// @prop {Dimension} name-margin-bottom [1rem]
28
+ /// @prop {Dimension} padding-y [2em]
29
+ /// @prop {CssValue} title-font-style [italic]
30
+ /// @prop {String} quote-mark-character ["\201c"]
31
+ /// @prop {Color} quote-mark-color [null]
32
+ /// @prop {String} quote-mark-font-family ["Georgia"]
33
+ /// @prop {Dimension} quote-mark-font-size [3.75em]
34
+ /// @prop {Boolean} quote-mark-enabled [true]
35
+ /// @prop {Number} quote-mark-line-height [0.35]
36
36
 
37
37
  $config: (
38
38
  "body-line-height" : true,
@@ -83,7 +83,7 @@ $config: (
83
83
  #{ $prefix }__body {
84
84
  line-height: get("body-line-height");
85
85
  @if (get("quote-mark-enabled")) {
86
- &:before {
86
+ &::before {
87
87
  display: block;
88
88
  position: relative;
89
89
  // content: open-quote;
@@ -5,6 +5,7 @@
5
5
 
6
6
  @use "sass:map";
7
7
  @use "../utils";
8
+ @use "../layout";
8
9
 
9
10
  /// Module Settings
10
11
  /// @type Map
@@ -49,11 +50,7 @@ $config: (
49
50
  padding: get("size") 0 0 0;
50
51
  }
51
52
  .ratio-box__content {
52
- position: absolute;
53
- top: 0;
54
- left: 0;
55
- width: 100%;
56
- height: 100%;
53
+ @include layout.absolute-fill(true);
57
54
  border: 0;
58
55
  }
59
56
  @each $name, $size in get("sizes") {
@@ -5,7 +5,6 @@
5
5
  @use "sass:map";
6
6
  @use "../utils";
7
7
  @use "../element";
8
- @use "../color";
9
8
  @use "../selector";
10
9
 
11
10
  /// Module Settings
@@ -83,6 +82,7 @@ $config: (
83
82
  width: $short-width;
84
83
  max-width: 100%;
85
84
  border-bottom-width: get("short-border-width");
85
+ display: inline-block;
86
86
  }
87
87
  @if get("short-modifiers") {
88
88
  @each $mod, $opts in get("short-modifiers") {
@@ -22,8 +22,6 @@
22
22
  /// @prop {Dimension} padding-bottom [0]
23
23
  /// @prop {Dimension} padding-top [0]
24
24
  /// @prop {String} prefix ["scroll-slide"]
25
- /// @prop {Color} button-background-color [white]
26
- /// @prop {Color} button-background-color-hover [white]
27
25
  /// @prop {CssValue} button-border [2px solid white]
28
26
  /// @prop {Color} button-border-color-hover [white]
29
27
  /// @prop {Dimension} button-border-radius [50%]
@@ -46,8 +44,6 @@ $config: (
46
44
  "padding-bottom" : 0,
47
45
  "padding-top" : 0,
48
46
  "prefix": "scroll-slider",
49
- "button-background-color" : white,
50
- "button-background-color-hover" : white,
51
47
  "button-border" : 2px solid white,
52
48
  "button-border-color-hover" : white,
53
49
  "button-border-radius" : 50%,
@@ -89,7 +85,7 @@ $config: (
89
85
 
90
86
  #{ $prefix } {
91
87
  position: relative; // for controls
92
- background-color: get("background-color");
88
+ background-color: color.get(get("background-color"));
93
89
  margin: get("margin-top") 0 get("margin-bottom") 0;
94
90
  }
95
91
  #{ $prefix }--cards {
@@ -124,7 +120,7 @@ $config: (
124
120
  @include layout.match-container-margin("scroll-padding-left", get("container"));
125
121
  // padding: 1rem;
126
122
  // Add space to end of list
127
- // &:after {
123
+ // &::after {
128
124
  // content: "\00a0";
129
125
  // display: block;
130
126
  // width: 1rem;
@@ -7,6 +7,7 @@
7
7
  @use "sass:meta";
8
8
 
9
9
  @use "../element";
10
+ @use "../color";
10
11
  @use "../layout";
11
12
  @use "../selector";
12
13
  @use "../utils";
@@ -83,7 +84,7 @@ $config: (
83
84
  left: 50%;
84
85
  transform: translateX(-50%);
85
86
  padding: get("padding");
86
- background-color: get("background-color");
87
+ background-color: color.get(get("background-color"));
87
88
  font-weight: bold;
88
89
  box-shadow: get("box-shadow");
89
90
  border-bottom-left-radius: get("border-radius");
@@ -37,17 +37,17 @@ $config: (
37
37
  "margin-bottom" : 3rem,
38
38
  "margin-top" : 1rem,
39
39
  "button-icon-offset-x" : 2rem,
40
- "button-icon-offset-y" : false,
40
+ "button-icon-offset-y" : null,
41
41
  "button-margin" : 2rem,
42
42
  "button-size" : 3rem,
43
43
  "button-height": 2.5rem,
44
44
  "button-width": 2.5rem,
45
45
  "dot-background-color" : transparent,
46
- "dot-background-color-hover" : color.get("link"),
47
- "dot-background-color-selected" : color.get("link"),
48
- "dot-border-color" : color.get("link"),
49
- "dot-border-color-hover" : color.get("link"),
50
- "dot-border-color-selected" : color.get("link"),
46
+ "dot-background-color-hover" : "link",
47
+ "dot-background-color-selected" : "link",
48
+ "dot-border-color" : "link",
49
+ "dot-border-color-hover" : "link",
50
+ "dot-border-color-selected" : "link",
51
51
  "dot-border-radius" : 50%,
52
52
  "dot-border-width" : 2px,
53
53
  "dot-size" : 1rem,
@@ -83,7 +83,7 @@ $config: (
83
83
  $slide-padding-x: get("button-width") + get("button-margin");
84
84
  #{ $prefix } {
85
85
  position: relative; // for controls
86
- background-color: get("background-color");
86
+ background-color: color.get(get("background-color"));
87
87
  margin: get("margin-top") 0 get("margin-bottom") 0;
88
88
  }
89
89
  #{ $prefix }__track,
@@ -97,11 +97,7 @@ $config: (
97
97
  top: 50%;
98
98
  transform: translateY(-50%);
99
99
  z-index: 10;
100
- }
101
- @if get("button-icon-offset-y") {
102
- #{ $prefix-plugin }__control-icon {
103
- margin-top: get("button-icon-offset-y");
104
- }
100
+ margin-top: get("button-icon-offset-y");
105
101
  }
106
102
  #{ $prefix-plugin }__nav {
107
103
  display: flex;
@@ -114,17 +110,18 @@ $config: (
114
110
  display: block;
115
111
  width: get("dot-size");
116
112
  height: get("dot-size");
117
- background-color: get("dot-background-color");
118
- border: get("dot-border-width") solid get("dot-border-color");
113
+ background-color: color.get(get("dot-background-color"));
114
+ border: get("dot-border-width") solid color.get(get("dot-border-color"));
119
115
  border-radius: get("dot-border-radius");
120
116
  &:hover {
121
- background-color: get("dot-background-color-hover");
117
+ background-color: color.get(get("dot-background-color-hover"));
118
+ border-color: color.get(get("dot-border-color-hover"));
122
119
  }
123
120
  }
124
121
  #{ $prefix-plugin }__nav-button--active,
125
122
  #{ $prefix-plugin }__nav-button--active:hover {
126
- background-color: get("dot-background-color-selected");
127
- border-color: get("dot-border-color-selected");
123
+ background-color: color.get(get("dot-background-color-selected"));
124
+ border-color: color.get(get("dot-border-color-selected"));
128
125
  }
129
126
  #{ $prefix-plugin }__control-button,
130
127
  #{ $prefix-plugin }__nav-button {
@@ -164,19 +161,11 @@ $config: (
164
161
  }
165
162
  #{ $prefix-plugin }__control-button--previous {
166
163
  left: 0;
167
- @if get("button-icon-offset-x") {
168
- #{ $prefix-plugin }__control-icon {
169
- margin-left: get("button-icon-offset-x");
170
- }
171
- }
164
+ margin-left: get("button-icon-offset-x");
172
165
  }
173
166
  #{ $prefix-plugin }__control-button--next {
174
167
  right: 0;
175
- @if get("button-icon-offset-x") {
176
- #{ $prefix-plugin }__control-icon {
177
- margin-right: get("button-icon-offset-x");
178
- }
179
- }
168
+ margin-right: get("button-icon-offset-x");
180
169
  }
181
170
  #{ $prefix }--inset-controls {
182
171
  #{ $prefix }__slide-gap-for-controls {
@@ -186,20 +175,11 @@ $config: (
186
175
  }
187
176
  #{ $prefix-plugin }__control-button--previous {
188
177
  left: 0;
189
- @if get("button-icon-offset-x") {
190
- &#{ $prefix-plugin }__control-icon {
191
- margin-left: get("button-icon-offset-x");
192
-
193
- }
194
- }
178
+ margin-left: get("button-icon-offset-x");
195
179
  }
196
180
  #{ $prefix-plugin }__control-button--next {
197
181
  right: 0;
198
- @if get("button-icon-offset-x") {
199
- &#{ $prefix-plugin }__control-icon {
200
- margin-right: get("button-icon-offset-x");
201
- }
202
- }
182
+ margin-right: get("button-icon-offset-x");
203
183
  }
204
184
  }
205
185
  }
@@ -96,7 +96,7 @@ $styles: () !default;
96
96
  transform-origin: $sizeHalf $sizeHalf;
97
97
  animation: UluFadeOut get("duration") linear infinite;
98
98
  }
99
- #{ $prefix }__spinner div:after {
99
+ #{ $prefix }__spinner div::after {
100
100
  content: " ";
101
101
  display: block;
102
102
  position: absolute;
@@ -181,7 +181,7 @@ $styles: () !default;
181
181
  transform-origin: $sizeHalf $sizeHalf;
182
182
  animation-duration: map.get($merged, "duration");
183
183
  }
184
- #{ $prefix }__spinner div:after {
184
+ #{ $prefix }__spinner div::after {
185
185
  left: $sizeHalf - $spoke-widthHalf;
186
186
  width: $spoke-width;
187
187
  height: map.get($merged, "spoke-height");