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

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 (294) hide show
  1. package/CHANGELOG.md +544 -0
  2. package/README.dev.md +3 -3
  3. package/README.md +14 -4
  4. package/dist/ulu-frontend.min.css +1 -1
  5. package/dist/ulu-frontend.min.js +34 -27
  6. package/docs-dev/assets/main.js +8290 -635
  7. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  8. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  9. package/docs-dev/assets/style.css +789 -338
  10. package/docs-dev/changelog/index.html +6593 -0
  11. package/docs-dev/demos/accordion/index.html +850 -328
  12. package/docs-dev/demos/badge/index.html +5265 -0
  13. package/docs-dev/demos/basic-hero/index.html +111 -0
  14. package/docs-dev/demos/breakpoints-manager/index.html +5276 -0
  15. package/docs-dev/demos/button/index.html +892 -328
  16. package/docs-dev/demos/button-verbose/index.html +5268 -0
  17. package/docs-dev/demos/callout/index.html +895 -332
  18. package/docs-dev/demos/captioned-figure/index.html +850 -327
  19. package/docs-dev/demos/card/index.html +930 -768
  20. package/docs-dev/demos/card-grid/index.html +5387 -0
  21. package/docs-dev/demos/counter-list/index.html +5270 -0
  22. package/docs-dev/demos/css-icons/index.html +873 -327
  23. package/docs-dev/demos/data-grid/index.html +870 -347
  24. package/docs-dev/demos/data-table/index.html +1024 -368
  25. package/docs-dev/demos/details-group/index.html +5297 -0
  26. package/docs-dev/demos/file-save/index.html +850 -327
  27. package/docs-dev/demos/flipcard/index.html +850 -327
  28. package/docs-dev/demos/form-theme/index.html +868 -358
  29. package/docs-dev/demos/hero/index.html +12 -4
  30. package/docs-dev/demos/image-grid/index.html +12 -4
  31. package/docs-dev/demos/index.html +851 -328
  32. package/docs-dev/demos/list-inline/index.html +850 -327
  33. package/docs-dev/demos/list-lines/index.html +850 -327
  34. package/docs-dev/demos/menu-stack/index.html +884 -346
  35. package/docs-dev/demos/modals/index.html +977 -331
  36. package/docs-dev/demos/nav-strip/index.html +850 -327
  37. package/docs-dev/demos/overlay-section/index.html +939 -346
  38. package/docs-dev/demos/popovers/index.html +1112 -347
  39. package/docs-dev/demos/print/index.html +850 -327
  40. package/docs-dev/demos/pull-quote/index.html +850 -327
  41. package/docs-dev/demos/rule/index.html +863 -328
  42. package/docs-dev/demos/scroll-slider/index.html +72 -106
  43. package/docs-dev/demos/scrollpoints/index.html +851 -328
  44. package/docs-dev/demos/slider/index.html +12 -4
  45. package/docs-dev/demos/spoke-spinner/index.html +850 -327
  46. package/docs-dev/demos/{list-inline.1 → sticky-list}/index.html +883 -357
  47. package/docs-dev/demos/tabs/index.html +886 -327
  48. package/docs-dev/demos/tag/index.html +850 -327
  49. package/docs-dev/demos/theme-toggle/index.html +5309 -0
  50. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  51. package/docs-dev/demos/tiles/index.html +850 -327
  52. package/docs-dev/demos/tooltip/index.html +850 -327
  53. package/docs-dev/guide/building-stylesheet/index.html +850 -327
  54. package/docs-dev/guide/developing-ulu-scss-module/index.html +850 -327
  55. package/docs-dev/guide/index.html +850 -327
  56. package/docs-dev/index.html +850 -327
  57. package/docs-dev/javascript/events/index.html +888 -327
  58. package/docs-dev/javascript/index.html +850 -327
  59. package/docs-dev/javascript/settings/index.html +5435 -0
  60. package/docs-dev/javascript/ui-breakpoints/index.html +862 -341
  61. package/docs-dev/javascript/ui-collapsible/index.html +847 -326
  62. package/docs-dev/javascript/ui-details-group/index.html +5352 -0
  63. package/docs-dev/javascript/ui-dialog/index.html +879 -343
  64. package/docs-dev/javascript/ui-flipcard/index.html +908 -331
  65. package/docs-dev/javascript/ui-grid/index.html +857 -362
  66. package/docs-dev/javascript/ui-modal-builder/index.html +1047 -386
  67. package/docs-dev/javascript/ui-overflow-scroller/index.html +847 -326
  68. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +847 -326
  69. package/docs-dev/javascript/ui-page/index.html +847 -326
  70. package/docs-dev/javascript/ui-popover/index.html +855 -338
  71. package/docs-dev/javascript/ui-print/index.html +847 -334
  72. package/docs-dev/javascript/ui-print-details/index.html +847 -326
  73. package/docs-dev/javascript/ui-programmatic-modal/index.html +847 -326
  74. package/docs-dev/javascript/ui-proxy-click/index.html +934 -328
  75. package/docs-dev/javascript/ui-resizer/index.html +926 -336
  76. package/docs-dev/javascript/ui-scroll-slider/index.html +885 -332
  77. package/docs-dev/javascript/ui-scrollpoint/index.html +853 -339
  78. package/docs-dev/javascript/ui-slider/index.html +1043 -331
  79. package/docs-dev/javascript/ui-tabs/index.html +858 -374
  80. package/docs-dev/javascript/ui-theme-toggle/index.html +5440 -0
  81. package/docs-dev/javascript/ui-tooltip/index.html +854 -337
  82. package/docs-dev/javascript/utils-class-logger/index.html +848 -327
  83. package/docs-dev/javascript/utils-css/index.html +5254 -0
  84. package/docs-dev/javascript/utils-dom/index.html +887 -446
  85. package/docs-dev/javascript/utils-file-save/index.html +847 -326
  86. package/docs-dev/javascript/utils-floating-ui/index.html +847 -326
  87. package/docs-dev/javascript/utils-id/index.html +847 -326
  88. package/docs-dev/javascript/utils-pause-youtube-video/index.html +847 -326
  89. package/docs-dev/javascript/utils-system/index.html +5557 -0
  90. package/docs-dev/sass/base/color/index.html +847 -326
  91. package/docs-dev/sass/base/elements/index.html +847 -326
  92. package/docs-dev/sass/base/index/index.html +847 -326
  93. package/docs-dev/sass/base/index.html +850 -327
  94. package/docs-dev/sass/base/keyframes/index.html +847 -326
  95. package/docs-dev/sass/base/layout/index.html +847 -326
  96. package/docs-dev/sass/base/normalize/index.html +847 -326
  97. package/docs-dev/sass/base/print/index.html +847 -326
  98. package/docs-dev/sass/base/root/index.html +847 -326
  99. package/docs-dev/sass/base/typography/index.html +847 -326
  100. package/docs-dev/sass/components/accordion/index.html +866 -338
  101. package/docs-dev/sass/components/adaptive-spacing/index.html +847 -326
  102. package/docs-dev/sass/components/badge/index.html +869 -337
  103. package/docs-dev/sass/components/basic-hero/index.html +5415 -0
  104. package/docs-dev/sass/components/button/index.html +847 -326
  105. package/docs-dev/sass/components/button-verbose/index.html +933 -337
  106. package/docs-dev/sass/components/callout/index.html +958 -418
  107. package/docs-dev/sass/components/captioned-figure/index.html +970 -334
  108. package/docs-dev/sass/components/card/index.html +939 -346
  109. package/docs-dev/sass/components/card-grid/index.html +847 -326
  110. package/docs-dev/sass/components/counter-list/index.html +5497 -0
  111. package/docs-dev/sass/components/css-icon/index.html +864 -336
  112. package/docs-dev/sass/components/data-grid/index.html +868 -340
  113. package/docs-dev/sass/components/data-table/index.html +1063 -352
  114. package/docs-dev/sass/components/fill-context/index.html +847 -326
  115. package/docs-dev/sass/components/flipcard/index.html +888 -336
  116. package/docs-dev/sass/components/flipcard-grid/index.html +847 -326
  117. package/docs-dev/sass/components/form-theme/index.html +1063 -446
  118. package/docs-dev/sass/components/hero/index.html +903 -334
  119. package/docs-dev/sass/components/horizontal-rule/index.html +847 -326
  120. package/docs-dev/sass/components/image-grid/index.html +847 -326
  121. package/docs-dev/sass/components/index/index.html +860 -336
  122. package/docs-dev/sass/components/index.html +850 -327
  123. package/docs-dev/sass/components/links/index.html +847 -326
  124. package/docs-dev/sass/components/list-inline/index.html +847 -326
  125. package/docs-dev/sass/components/list-lines/index.html +847 -326
  126. package/docs-dev/sass/components/list-ordered/index.html +847 -326
  127. package/docs-dev/sass/components/list-unordered/index.html +847 -326
  128. package/docs-dev/sass/components/menu-stack/index.html +881 -347
  129. package/docs-dev/sass/components/modal/index.html +898 -342
  130. package/docs-dev/sass/components/nav-strip/index.html +855 -334
  131. package/docs-dev/sass/components/overlay-section/index.html +855 -334
  132. package/docs-dev/sass/components/pager/index.html +847 -326
  133. package/docs-dev/sass/components/placeholder-block/index.html +847 -326
  134. package/docs-dev/sass/components/popover/index.html +904 -347
  135. package/docs-dev/sass/components/pull-quote/index.html +859 -338
  136. package/docs-dev/sass/components/ratio-box/index.html +855 -334
  137. package/docs-dev/sass/components/rule/index.html +848 -327
  138. package/docs-dev/sass/components/scroll-slider/index.html +855 -346
  139. package/docs-dev/sass/components/skip-link/index.html +847 -326
  140. package/docs-dev/sass/components/slider/index.html +897 -388
  141. package/docs-dev/sass/components/spoke-spinner/index.html +849 -328
  142. package/docs-dev/sass/components/sticky-list/index.html +5633 -0
  143. package/docs-dev/sass/components/tabs/index.html +872 -336
  144. package/docs-dev/sass/components/tag/index.html +849 -328
  145. package/docs-dev/sass/components/tile-button/index.html +847 -326
  146. package/docs-dev/sass/components/tile-grid/index.html +847 -326
  147. package/docs-dev/sass/components/tile-grid-overlay/index.html +847 -326
  148. package/docs-dev/sass/components/vignette/index.html +861 -334
  149. package/docs-dev/sass/components/wysiwyg/index.html +847 -326
  150. package/docs-dev/sass/core/breakpoint/index.html +931 -358
  151. package/docs-dev/sass/core/button/index.html +847 -326
  152. package/docs-dev/sass/core/color/index.html +1019 -366
  153. package/docs-dev/sass/core/cssvar/index.html +847 -326
  154. package/docs-dev/sass/core/element/index.html +1108 -381
  155. package/docs-dev/sass/core/index.html +847 -326
  156. package/docs-dev/sass/core/layout/index.html +903 -363
  157. package/docs-dev/sass/core/path/index.html +847 -326
  158. package/docs-dev/sass/core/selector/index.html +847 -326
  159. package/docs-dev/sass/core/typography/index.html +847 -326
  160. package/docs-dev/sass/core/units/index.html +857 -330
  161. package/docs-dev/sass/core/utils/index.html +2104 -476
  162. package/docs-dev/sass/helpers/color/index.html +847 -326
  163. package/docs-dev/sass/helpers/display/index.html +848 -327
  164. package/docs-dev/sass/helpers/index/index.html +847 -326
  165. package/docs-dev/sass/helpers/index.html +850 -327
  166. package/docs-dev/sass/helpers/print/index.html +759 -298
  167. package/docs-dev/sass/helpers/typography/index.html +847 -326
  168. package/docs-dev/sass/helpers/units/index.html +847 -326
  169. package/docs-dev/sass/helpers/utilities/index.html +849 -328
  170. package/docs-dev/sass/index.html +850 -327
  171. package/js/events/index.js +17 -5
  172. package/js/index.js +1 -0
  173. package/js/settings.js +97 -0
  174. package/js/ui/breakpoints.js +19 -16
  175. package/js/ui/collapsible.js +8 -1
  176. package/js/ui/details-group.js +112 -0
  177. package/js/ui/dialog.js +132 -45
  178. package/js/ui/dialog.todo +2 -36
  179. package/js/ui/flipcard.js +37 -57
  180. package/js/ui/grid.js +15 -13
  181. package/js/ui/index.js +1 -0
  182. package/js/ui/modal-builder.js +126 -69
  183. package/js/ui/overflow-scroller.js +6 -4
  184. package/js/ui/page.js +2 -2
  185. package/js/ui/popover.js +38 -38
  186. package/js/ui/print.js +16 -25
  187. package/js/ui/programmatic-modal.js +9 -3
  188. package/js/ui/proxy-click.js +50 -36
  189. package/js/ui/resizer.js +186 -36
  190. package/js/ui/scroll-slider.js +24 -30
  191. package/js/ui/scrollpoint.js +29 -64
  192. package/js/ui/slider.js +108 -63
  193. package/js/ui/tabs.js +23 -36
  194. package/js/ui/theme-toggle.js +332 -94
  195. package/js/ui/tooltip.js +27 -32
  196. package/js/utils/class-logger.js +3 -3
  197. package/js/utils/css.js +13 -0
  198. package/js/utils/dom.js +23 -64
  199. package/js/utils/font-awesome.js +19 -0
  200. package/js/utils/index.js +2 -1
  201. package/js/utils/system.js +155 -0
  202. package/package.json +23 -8
  203. package/scss/README.md +4 -0
  204. package/scss/_breakpoint.scss +38 -4
  205. package/scss/_color.scss +40 -9
  206. package/scss/_element.scss +108 -2
  207. package/scss/_layout.scss +7 -8
  208. package/scss/_units.scss +3 -2
  209. package/scss/_utils.scss +380 -16
  210. package/scss/components/README.todos +14 -0
  211. package/scss/components/_accordion.scss +33 -19
  212. package/scss/components/_badge.scss +23 -4
  213. package/scss/components/_basic-hero.scss +112 -0
  214. package/scss/components/_button-verbose.scss +100 -18
  215. package/scss/components/_callout.scss +125 -78
  216. package/scss/components/_captioned-figure.scss +17 -0
  217. package/scss/components/_card-grid.scss +1 -1
  218. package/scss/components/_card.scss +246 -74
  219. package/scss/components/_counter-list.scss +151 -0
  220. package/scss/components/_css-icon.scss +35 -21
  221. package/scss/components/_data-grid.scss +55 -9
  222. package/scss/components/_data-table.scss +39 -3
  223. package/scss/components/_flipcard.scss +8 -3
  224. package/scss/components/_form-theme.scss +119 -108
  225. package/scss/components/_hero.scss +12 -10
  226. package/scss/components/_index.scss +18 -0
  227. package/scss/components/_menu-stack.scss +42 -26
  228. package/scss/components/_modal.scss +58 -29
  229. package/scss/components/_nav-strip.scss +2 -0
  230. package/scss/components/_overlay-section.scss +2 -5
  231. package/scss/components/_popover.scss +165 -64
  232. package/scss/components/_pull-quote.scss +13 -13
  233. package/scss/components/_ratio-box.scss +2 -5
  234. package/scss/components/_rule.scss +1 -0
  235. package/scss/components/_scroll-slider.scss +1 -5
  236. package/scss/components/_slider.scss +49 -72
  237. package/scss/components/_spoke-spinner.scss +2 -2
  238. package/scss/components/_sticky-list.scss +206 -0
  239. package/scss/components/_tabs.scss +22 -4
  240. package/scss/components/_vignette.scss +3 -5
  241. package/scss/helpers/_display.scss +15 -18
  242. package/scss/helpers/_print.scss +12 -7
  243. package/scss/helpers/_utilities.scss +42 -32
  244. package/types/events/index.d.ts +10 -1
  245. package/types/events/index.d.ts.map +1 -1
  246. package/types/index.d.ts +1 -0
  247. package/types/settings.d.ts +70 -0
  248. package/types/settings.d.ts.map +1 -0
  249. package/types/ui/breakpoints.d.ts +14 -14
  250. package/types/ui/breakpoints.d.ts.map +1 -1
  251. package/types/ui/collapsible.d.ts.map +1 -1
  252. package/types/ui/details-group.d.ts +38 -0
  253. package/types/ui/details-group.d.ts.map +1 -0
  254. package/types/ui/dialog.d.ts +20 -14
  255. package/types/ui/dialog.d.ts.map +1 -1
  256. package/types/ui/flipcard.d.ts +16 -10
  257. package/types/ui/flipcard.d.ts.map +1 -1
  258. package/types/ui/grid.d.ts +4 -6
  259. package/types/ui/grid.d.ts.map +1 -1
  260. package/types/ui/index.d.ts +2 -1
  261. package/types/ui/modal-builder.d.ts +116 -11
  262. package/types/ui/modal-builder.d.ts.map +1 -1
  263. package/types/ui/overflow-scroller.d.ts +2 -2
  264. package/types/ui/overflow-scroller.d.ts.map +1 -1
  265. package/types/ui/popover.d.ts +6 -7
  266. package/types/ui/popover.d.ts.map +1 -1
  267. package/types/ui/print.d.ts +0 -4
  268. package/types/ui/print.d.ts.map +1 -1
  269. package/types/ui/programmatic-modal.d.ts.map +1 -1
  270. package/types/ui/proxy-click.d.ts +19 -3
  271. package/types/ui/proxy-click.d.ts.map +1 -1
  272. package/types/ui/resizer.d.ts +39 -12
  273. package/types/ui/resizer.d.ts.map +1 -1
  274. package/types/ui/scroll-slider.d.ts +5 -7
  275. package/types/ui/scroll-slider.d.ts.map +1 -1
  276. package/types/ui/scrollpoint.d.ts +3 -8
  277. package/types/ui/scrollpoint.d.ts.map +1 -1
  278. package/types/ui/slider.d.ts +33 -14
  279. package/types/ui/slider.d.ts.map +1 -1
  280. package/types/ui/tabs.d.ts +6 -8
  281. package/types/ui/tabs.d.ts.map +1 -1
  282. package/types/ui/theme-toggle.d.ts +51 -7
  283. package/types/ui/theme-toggle.d.ts.map +1 -1
  284. package/types/ui/tooltip.d.ts +3 -5
  285. package/types/ui/tooltip.d.ts.map +1 -1
  286. package/types/utils/css.d.ts +11 -0
  287. package/types/utils/css.d.ts.map +1 -0
  288. package/types/utils/dom.d.ts +12 -32
  289. package/types/utils/dom.d.ts.map +1 -1
  290. package/types/utils/font-awesome.d.ts +5 -0
  291. package/types/utils/font-awesome.d.ts.map +1 -0
  292. package/types/utils/index.d.ts +2 -1
  293. package/types/utils/system.d.ts +113 -0
  294. package/types/utils/system.d.ts.map +1 -0
@@ -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,39 +118,9 @@ $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 } {
@@ -197,7 +168,7 @@ $config: (
197
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
173
  color: color.get(get("footer-color"));
203
174
  background-color: color.get(get("footer-background-color"));
@@ -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") {
@@ -82,6 +82,7 @@ $config: (
82
82
  width: $short-width;
83
83
  max-width: 100%;
84
84
  border-bottom-width: get("short-border-width");
85
+ display: inline-block;
85
86
  }
86
87
  @if get("short-modifiers") {
87
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%,
@@ -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;
@@ -12,47 +12,45 @@
12
12
  /// Module Settings
13
13
  /// @type Map
14
14
  /// @prop {Color} background-color [transparent] Background color for the entire slider section.
15
- /// @prop {Dimension} margin-bottom [3rem] Bottom margin color for the entire slider section.
16
- /// @prop {Dimension} margin-top [1rem] Top margin color for the entire slider section.
17
- /// @prop {Dimension} padding-bottom [0] Bottom padding for individual slides.
15
+ /// @prop {Dimension} margin [(1rem 0 3rem 0)] Margin for slider container
18
16
  /// @prop {Dimension} padding-top [0] Top padding for individual slides.
19
- /// @prop {Dimension} button-icon-offset-x [false] Offsets the control icons in from their respective sides.
20
- /// @prop {Dimension} button-icon-offset-y [false] Offsets the control options down by adding a margin.
17
+ /// @prop {Dimension} button-offset-x [null] Offsets the control button in from their respective sides.
18
+ /// @prop {Dimension} button-offset-y [null] Offsets the control button y
21
19
  /// @prop {Dimension} button-margin [0.75rem] The margin between the controls and the slide content when using .slider__slide-gap-for-controls
22
- /// @prop {Dimension} button-size [3rem] Size of the button. Likely antiquated and replaced with button-width and button-height
23
- /// @prop {Color} dot-background-color [transparent] The color of the dot when unselected.
24
- /// @prop {Color} dot-background-color-hover [color.get("link")] The color of the dot when hovered.
25
- /// @prop {Color} dot-background-color-selected [color.get("link")] The color of the dot when selected.
26
- /// @prop {Dimension} dot-border-radius [50%] The border-radius of the dot.
27
- /// @prop {Color} dot-border-color [color.get("link")] The border color of the dot.
28
- /// @prop {Color} dot-border-color-hover [color.get("link")] The border color of the dot when hovered.
29
- /// @prop {Color} dot-border-color-selected [color.get("link")] The border color of the dot when selected.
30
- /// @prop {Dimension} dot-border-width [2px] The border width of the dot.
31
- /// @prop {Dimension} dot-size [1rem] The height and width of the dot.
32
- /// @prop {Dimension} button-height [1rem] The height of the button.
20
+ /// @prop {Color} nav-margin [(0.5rem 0)] Margin for nav (dots)
21
+ /// @prop {Color} nav-background-color [transparent] The color of the dot when unselected.
22
+ /// @prop {Color} nav-background-color-hover [color.get("link")] The color of the dot when hovered.
23
+ /// @prop {Color} nav-background-color-selected [color.get("link")] The color of the dot when selected.
24
+ /// @prop {Dimension} nav-border-radius [50%] The border-radius of the dot.
25
+ /// @prop {Color} nav-border-color [color.get("link")] The border color of the dot.
26
+ /// @prop {Color} nav-border-color-hover [color.get("link")] The border color of the dot when hovered.
27
+ /// @prop {Color} nav-border-color-selected [color.get("link")] The border color of the dot when selected.
28
+ /// @prop {Dimension} nav-border-width [2px] The border width of the dot.
29
+ /// @prop {Dimension} nav-size [1rem] The height and width of the dot.
30
+ /// @prop {Dimension} nav-gap [0.2rem] Gap between nav items
33
31
  /// @prop {Dimension} button-width [1rem] The width of the button.
34
32
 
35
33
  $config: (
36
34
  "background-color" : transparent,
37
- "margin-bottom" : 3rem,
38
- "margin-top" : 1rem,
39
- "button-icon-offset-x" : 2rem,
40
- "button-icon-offset-y" : false,
41
- "button-margin" : 2rem,
42
- "button-size" : 3rem,
43
- "button-height": 2.5rem,
44
- "button-width": 2.5rem,
45
- "dot-background-color" : transparent,
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
- "dot-border-radius" : 50%,
52
- "dot-border-width" : 2px,
53
- "dot-size" : 1rem,
35
+ "margin" : (1rem 0 3rem 0),
54
36
  "padding-bottom" : 0,
55
37
  "padding-top" : 0,
38
+ "button-offset-x" : null,
39
+ "button-offset-y" : null,
40
+ "button-margin" : 2rem,
41
+ "button-width": 2.5rem,
42
+ "nav-background-color" : transparent,
43
+ "nav-background-color-hover" : "link",
44
+ "nav-background-color-selected" : "link",
45
+ "nav-border-color" : "link",
46
+ "nav-border-color-hover" : "link",
47
+ "nav-border-color-selected" : "link",
48
+ "nav-border-radius" : 50%,
49
+ "nav-gap" : 0.2rem,
50
+ "nav-border-width" : 2px,
51
+ "nav-size" : 1rem,
52
+ "nav-margin" : (0.5rem 0),
53
+
56
54
  ) !default;
57
55
 
58
56
  /// Change modules $config
@@ -84,7 +82,7 @@ $config: (
84
82
  #{ $prefix } {
85
83
  position: relative; // for controls
86
84
  background-color: color.get(get("background-color"));
87
- margin: get("margin-top") 0 get("margin-bottom") 0;
85
+ margin: get("margin");
88
86
  }
89
87
  #{ $prefix }__track,
90
88
  #{ $prefix-plugin }__controls,
@@ -97,34 +95,30 @@ $config: (
97
95
  top: 50%;
98
96
  transform: translateY(-50%);
99
97
  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
- }
98
+ margin-top: get("button-offset-y");
105
99
  }
106
100
  #{ $prefix-plugin }__nav {
107
101
  display: flex;
108
102
  justify-content: center;
109
- li {
110
- margin: 0.5rem 0.15rem;
111
- }
103
+ margin: get("nav-margin");
104
+ gap: get("nav-gap");
112
105
  }
113
106
  #{ $prefix-plugin }__nav-button {
114
107
  display: block;
115
- width: get("dot-size");
116
- height: get("dot-size");
117
- background-color: color.get(get("dot-background-color"));
118
- border: get("dot-border-width") solid color.get(get("dot-border-color"));
119
- border-radius: get("dot-border-radius");
108
+ width: get("nav-size");
109
+ height: get("nav-size");
110
+ background-color: color.get(get("nav-background-color"));
111
+ border: get("nav-border-width") solid color.get(get("nav-border-color"));
112
+ border-radius: get("nav-border-radius");
120
113
  &:hover {
121
- background-color: color.get(get("dot-background-color-hover"));
114
+ background-color: color.get(get("nav-background-color-hover"));
115
+ border-color: color.get(get("nav-border-color-hover"));
122
116
  }
123
117
  }
124
118
  #{ $prefix-plugin }__nav-button--active,
125
119
  #{ $prefix-plugin }__nav-button--active:hover {
126
- background-color: color.get(get("dot-background-color-selected"));
127
- border-color: color.get(get("dot-border-color-selected"));
120
+ background-color: color.get(get("nav-background-color-selected"));
121
+ border-color: color.get(get("nav-border-color-selected"));
128
122
  }
129
123
  #{ $prefix-plugin }__control-button,
130
124
  #{ $prefix-plugin }__nav-button {
@@ -164,42 +158,25 @@ $config: (
164
158
  }
165
159
  #{ $prefix-plugin }__control-button--previous {
166
160
  left: 0;
167
- @if get("button-icon-offset-x") {
168
- #{ $prefix-plugin }__control-icon {
169
- margin-left: get("button-icon-offset-x");
170
- }
171
- }
161
+ margin-left: get("button-offset-x");
172
162
  }
173
163
  #{ $prefix-plugin }__control-button--next {
174
164
  right: 0;
175
- @if get("button-icon-offset-x") {
176
- #{ $prefix-plugin }__control-icon {
177
- margin-right: get("button-icon-offset-x");
178
- }
179
- }
165
+ margin-right: get("button-offset-x");
180
166
  }
181
167
  #{ $prefix }--inset-controls {
182
168
  #{ $prefix }__slide-gap-for-controls {
183
- $padding: get("button-width") + get("button-margin") + get("button-icon-offset-x");
169
+ $padding: get("button-width") + get("button-margin") + get("button-offset-x");
184
170
  padding-left: $padding;
185
171
  padding-right: $padding;
186
172
  }
187
173
  #{ $prefix-plugin }__control-button--previous {
188
174
  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
- }
175
+ margin-left: get("button-offset-x");
195
176
  }
196
177
  #{ $prefix-plugin }__control-button--next {
197
178
  right: 0;
198
- @if get("button-icon-offset-x") {
199
- &#{ $prefix-plugin }__control-icon {
200
- margin-right: get("button-icon-offset-x");
201
- }
202
- }
179
+ margin-right: get("button-offset-x");
203
180
  }
204
181
  }
205
182
  }
@@ -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");