@ulu/frontend 0.1.0-beta.7 → 0.1.0-beta.70

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 (286) hide show
  1. package/CHANGELOG.md +476 -2
  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 +28 -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 +6438 -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 +860 -327
  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 +850 -327
  23. package/docs-dev/demos/data-grid/index.html +974 -531
  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 +922 -329
  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 +847 -326
  58. package/docs-dev/javascript/index.html +850 -327
  59. package/docs-dev/javascript/settings/index.html +5430 -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 +1027 -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 +847 -326
  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 +847 -326
  83. package/docs-dev/javascript/utils-css/index.html +5254 -0
  84. package/docs-dev/javascript/utils-dom/index.html +1014 -359
  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 +1066 -353
  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 +854 -333
  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 +1088 -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/index.js +1 -0
  172. package/js/settings.js +95 -0
  173. package/js/ui/breakpoints.js +19 -16
  174. package/js/ui/collapsible.js +8 -1
  175. package/js/ui/details-group.js +112 -0
  176. package/js/ui/dialog.js +90 -42
  177. package/js/ui/dialog.todo +2 -36
  178. package/js/ui/flipcard.js +37 -57
  179. package/js/ui/grid.js +15 -13
  180. package/js/ui/index.js +1 -0
  181. package/js/ui/modal-builder.js +76 -56
  182. package/js/ui/overflow-scroller.js +6 -4
  183. package/js/ui/popover.js +38 -38
  184. package/js/ui/print.js +16 -25
  185. package/js/ui/programmatic-modal.js +9 -3
  186. package/js/ui/proxy-click.js +50 -36
  187. package/js/ui/scroll-slider.js +24 -30
  188. package/js/ui/scrollpoint.js +29 -64
  189. package/js/ui/slider.js +108 -63
  190. package/js/ui/tabs.js +23 -36
  191. package/js/ui/theme-toggle.js +331 -94
  192. package/js/ui/tooltip.js +27 -32
  193. package/js/utils/css.js +13 -0
  194. package/js/utils/dom.js +85 -8
  195. package/js/utils/font-awesome.js +18 -0
  196. package/js/utils/index.js +2 -1
  197. package/js/utils/system.js +154 -0
  198. package/package.json +23 -8
  199. package/scss/README.md +4 -0
  200. package/scss/_breakpoint.scss +38 -4
  201. package/scss/_color.scss +40 -9
  202. package/scss/_element.scss +101 -2
  203. package/scss/_layout.scss +7 -8
  204. package/scss/_units.scss +3 -2
  205. package/scss/_utils.scss +380 -16
  206. package/scss/components/README.todos +14 -0
  207. package/scss/components/_accordion.scss +33 -19
  208. package/scss/components/_badge.scss +23 -4
  209. package/scss/components/_basic-hero.scss +112 -0
  210. package/scss/components/_button-verbose.scss +100 -18
  211. package/scss/components/_callout.scss +125 -78
  212. package/scss/components/_captioned-figure.scss +17 -0
  213. package/scss/components/_card-grid.scss +1 -1
  214. package/scss/components/_card.scss +246 -74
  215. package/scss/components/_counter-list.scss +151 -0
  216. package/scss/components/_css-icon.scss +25 -21
  217. package/scss/components/_data-grid.scss +55 -9
  218. package/scss/components/_data-table.scss +44 -4
  219. package/scss/components/_flipcard.scss +8 -3
  220. package/scss/components/_form-theme.scss +119 -108
  221. package/scss/components/_hero.scss +12 -10
  222. package/scss/components/_index.scss +18 -0
  223. package/scss/components/_menu-stack.scss +42 -26
  224. package/scss/components/_modal.scss +13 -6
  225. package/scss/components/_nav-strip.scss +2 -0
  226. package/scss/components/_overlay-section.scss +2 -5
  227. package/scss/components/_popover.scss +165 -64
  228. package/scss/components/_pull-quote.scss +13 -13
  229. package/scss/components/_ratio-box.scss +2 -5
  230. package/scss/components/_rule.scss +1 -0
  231. package/scss/components/_scroll-slider.scss +1 -5
  232. package/scss/components/_slider.scss +49 -72
  233. package/scss/components/_spoke-spinner.scss +2 -2
  234. package/scss/components/_sticky-list.scss +206 -0
  235. package/scss/components/_tabs.scss +21 -4
  236. package/scss/components/_vignette.scss +3 -5
  237. package/scss/helpers/_display.scss +15 -18
  238. package/scss/helpers/_print.scss +12 -7
  239. package/scss/helpers/_utilities.scss +42 -32
  240. package/types/index.d.ts +1 -0
  241. package/types/settings.d.ts +66 -0
  242. package/types/settings.d.ts.map +1 -0
  243. package/types/ui/breakpoints.d.ts +14 -14
  244. package/types/ui/breakpoints.d.ts.map +1 -1
  245. package/types/ui/collapsible.d.ts.map +1 -1
  246. package/types/ui/details-group.d.ts +38 -0
  247. package/types/ui/details-group.d.ts.map +1 -0
  248. package/types/ui/dialog.d.ts +20 -14
  249. package/types/ui/dialog.d.ts.map +1 -1
  250. package/types/ui/flipcard.d.ts +16 -10
  251. package/types/ui/flipcard.d.ts.map +1 -1
  252. package/types/ui/grid.d.ts +4 -6
  253. package/types/ui/grid.d.ts.map +1 -1
  254. package/types/ui/index.d.ts +2 -1
  255. package/types/ui/modal-builder.d.ts +93 -11
  256. package/types/ui/modal-builder.d.ts.map +1 -1
  257. package/types/ui/overflow-scroller.d.ts +2 -2
  258. package/types/ui/overflow-scroller.d.ts.map +1 -1
  259. package/types/ui/popover.d.ts +6 -7
  260. package/types/ui/popover.d.ts.map +1 -1
  261. package/types/ui/print.d.ts +0 -4
  262. package/types/ui/print.d.ts.map +1 -1
  263. package/types/ui/programmatic-modal.d.ts.map +1 -1
  264. package/types/ui/proxy-click.d.ts +19 -3
  265. package/types/ui/proxy-click.d.ts.map +1 -1
  266. package/types/ui/scroll-slider.d.ts +5 -7
  267. package/types/ui/scroll-slider.d.ts.map +1 -1
  268. package/types/ui/scrollpoint.d.ts +3 -8
  269. package/types/ui/scrollpoint.d.ts.map +1 -1
  270. package/types/ui/slider.d.ts +33 -14
  271. package/types/ui/slider.d.ts.map +1 -1
  272. package/types/ui/tabs.d.ts +6 -8
  273. package/types/ui/tabs.d.ts.map +1 -1
  274. package/types/ui/theme-toggle.d.ts +51 -7
  275. package/types/ui/theme-toggle.d.ts.map +1 -1
  276. package/types/ui/tooltip.d.ts +3 -5
  277. package/types/ui/tooltip.d.ts.map +1 -1
  278. package/types/utils/css.d.ts +11 -0
  279. package/types/utils/css.d.ts.map +1 -0
  280. package/types/utils/dom.d.ts +45 -6
  281. package/types/utils/dom.d.ts.map +1 -1
  282. package/types/utils/font-awesome.d.ts +5 -0
  283. package/types/utils/font-awesome.d.ts.map +1 -0
  284. package/types/utils/index.d.ts +2 -1
  285. package/types/utils/system.d.ts +113 -0
  286. package/types/utils/system.d.ts.map +1 -0
@@ -19,12 +19,20 @@ $-fallbacks: (
19
19
  "link-border-radius" : (
20
20
  "function" : meta.get-function("get", false, "button"),
21
21
  "property" : "border-radius"
22
+ ),
23
+ "label-line-height" : (
24
+ "function" : meta.get-function("get", false, "typography"),
25
+ "property" : "line-height-dense"
26
+ ),
27
+ "link-line-height" : (
28
+ "function" : meta.get-function("get", false, "typography"),
29
+ "property" : "line-height-dense"
22
30
  )
23
31
  );
24
32
 
25
33
  /// Module Settings
26
34
  /// @type Map
27
- /// @prop {Dimension} checkbox-area-width [3em] The width of the checkbox are.
35
+ /// @prop {Dimension} selectable-input-width [3em] The width of the checkbox/radio input
28
36
  /// @prop {Boolean} link-separated-margin [false] Enables a margin between the items in the menu-stack.
29
37
  /// @prop {Boolean} link-separated-rule-style [false] Enables a rule between the items in the menu-stack.
30
38
  /// @prop {Dimension} nested-indent [0.5em] The indentation of child lists within the menu-stack.
@@ -36,7 +44,8 @@ $-fallbacks: (
36
44
  /// @prop {Color} label-color [null] The type color of the label.
37
45
  /// @prop {Dimension} label-margin [0.5em] The margin of the label.
38
46
  /// @prop {CssValue} label-text-transform [uppercase] Transforms the label text.
39
- /// @prop {CssValue} label-type-size [false] Adjusts the type size of the label.
47
+ /// @prop {CssValue} label-type-size [false] Adjusts the type size of the label. Only uses font-size from type size.
48
+ /// @prop {CssValue} label-line-height [true] Adjust the label line-height, defaults to typography line-height-dense
40
49
  /// @prop {list} link-active-selectors [(.is-active, '[aria-current=page]')] Selectors to apply active styling.
41
50
  /// @prop {Color} link-background-color [transparent] The background color of the menu-stack toggle.
42
51
  /// @prop {Color} link-background-color-active [rgb(219, 219, 219)] The background color of the menu-stack toggle when active.
@@ -46,6 +55,7 @@ $-fallbacks: (
46
55
  /// @prop {Color} link-color-active [black] The type color of the menu-stack toggle when active.
47
56
  /// @prop {String} link-color-hover [link-hover] The type color of the menu-stack toggle when hovered or focused. This uses color.scss, so the value of this option should be a color variable from color.scss.
48
57
  /// @prop {CssValue} link-font-weight [null] The font weight of the menu-stack toggle.
58
+ /// @prop {CssValue} label-line-height [true] Adjust the link line-height, defaults to typography line-height-dense
49
59
  /// @prop {Dimension} link-icon-margin [0.65em] Adds a right margin to the icon.
50
60
  /// @prop {Dimension} link-icon-width [1em] The width of the icon.
51
61
  /// @prop {Dimension} link-margin [0.2em] Margin for the menu-stack toggle.
@@ -53,34 +63,35 @@ $-fallbacks: (
53
63
  /// @prop {Dimension} link-padding-y [0.35em] Vertical padding for menu-stack toggle.
54
64
 
55
65
  $config: (
56
- "checkbox-area-width" : 3em,
66
+ "selectable-input-width" : 3em,
57
67
  "nested-indent" : 0.5em,
58
- "rule-style" : "default",
68
+ "rule-style" : "light",
59
69
  "rule-margin" : 0.5em,
60
- "link-separated-margin" : false,
61
- "link-separated-rule-style" : false,
62
70
  "toggle-icon-rotate" : false,
63
- "compact-link-padding-x": 0.75em,
64
- "compact-link-padding-y": 0.25em,
65
-
66
71
  "label-color" : null,
67
72
  "label-margin" : 0.5em,
68
73
  "label-text-transform" : uppercase,
69
74
  "label-type-size" : false,
75
+ "label-line-height" : true,
76
+ "link-separated-margin" : false,
77
+ "link-separated-rule-style" : false,
70
78
  "link-active-selectors" : (".is-active", '[aria-current="page"]'),
71
79
  "link-background-color" : transparent,
72
80
  "link-background-color-active" : rgb(219, 219, 219),
73
- "link-background-color-hover" : rgb(219, 219, 219),
81
+ "link-background-color-hover" : rgb(240, 240, 240),
74
82
  "link-border-radius" : true,
75
83
  "link-color" : "link",
76
84
  "link-color-active" : black,
77
85
  "link-color-hover" : "link-hover",
78
86
  "link-font-weight" : null,
87
+ "link-line-height" : true,
79
88
  "link-icon-margin" : 0.65em,
80
89
  "link-icon-width" : 1em,
81
90
  "link-margin" : 0.2em,
82
- "link-padding-x": 1em,
83
- "link-padding-y": 0.35em,
91
+ "link-padding-x": 1.25em,
92
+ "link-padding-y": 0.5em,
93
+ "compact-link-padding-x": 0.75em,
94
+ "compact-link-padding-y": 0.25em,
84
95
  ) !default;
85
96
 
86
97
 
@@ -116,6 +127,7 @@ $config: (
116
127
 
117
128
  @mixin styles {
118
129
  $prefix: selector.class("menu-stack");
130
+ $selectable-y: (get("link-padding-y") + get("link-margin"));
119
131
 
120
132
  #{ $prefix }--separated {
121
133
  border-top: element.get-rule-style(get("rule-style"));
@@ -126,6 +138,7 @@ $config: (
126
138
  text-transform: get("label-text-transform");
127
139
  padding-bottom: get("label-margin");
128
140
  color: color.get(get("label-color"));
141
+ line-height: get("label-line-height");
129
142
  @if (get("label-type-size")) {
130
143
  @include typography.size(get("label-type-size"), $only-font-size: true);
131
144
  }
@@ -150,7 +163,7 @@ $config: (
150
163
  // - Use the modifier "site-menu--contained" to keep the links within
151
164
  // the parent container (no optical alignment), should be within something that contains it
152
165
  #{ $prefix }__link,
153
- #{ $prefix }__checkbox,
166
+ #{ $prefix }__selectable,
154
167
  #{ $prefix }__toggle {
155
168
  width: 100%;
156
169
  display: flex;
@@ -159,6 +172,7 @@ $config: (
159
172
  margin: get("link-margin") 0;
160
173
  border-radius: get("link-border-radius");
161
174
  font-weight: get("link-font-weight");
175
+ line-height: get("link-line-height");
162
176
  color: color.get(get("link-color"));
163
177
  background-color: color.get(get("link-background-color"));
164
178
  box-sizing: border-box;
@@ -177,19 +191,21 @@ $config: (
177
191
  }
178
192
  }
179
193
  }
180
- #{ $prefix }__checkbox {
181
- $checkbox-y: (get("link-padding-y") + get("link-margin"));
194
+ #{ $prefix }__selectable {
182
195
  padding: 0;
183
196
  position: relative;
184
- [type="checkbox"] {
185
- position: absolute;
186
- top: $checkbox-y;
187
- left: get("link-padding-x");
188
- }
189
- label {
190
- width: 100%;
191
- padding: $checkbox-y get("link-padding-x") $checkbox-y get("checkbox-area-width");
192
- }
197
+ }
198
+ #{ $prefix }__selectable [type="checkbox"],
199
+ #{ $prefix }__selectable [type="radio"],
200
+ #{ $prefix }__selectable-input {
201
+ position: absolute;
202
+ top: $selectable-y;
203
+ left: get("link-padding-x");
204
+ }
205
+ #{ $prefix }__selectable label,
206
+ #{ $prefix }__selectable-label {
207
+ width: 100%;
208
+ padding: $selectable-y get("link-padding-x") $selectable-y get("selectable-input-width");
193
209
  }
194
210
  #{ $prefix }__link-text {
195
211
  display: block;
@@ -220,8 +236,8 @@ $config: (
220
236
 
221
237
  // Link buttons hang outside in margin so that text optically aligns
222
238
  #{ $prefix }--hanging {
223
- padding-left: get("link-padding-x");
224
- padding-right: get("link-padding-x");
239
+ // padding-left: get("link-padding-x");
240
+ // padding-right: get("link-padding-x");
225
241
  > #{ $prefix }__list > #{ $prefix }__item {
226
242
  > #{ $prefix }__link,
227
243
  >#{ $prefix }__collapsible > #{ $prefix }__toggle {
@@ -54,8 +54,8 @@ $-fallbacks: (
54
54
  /// @prop {Color} header-color [white] Type color of the header.
55
55
  /// @prop {Dimension} header-padding [1rem] The padding of the modal header.
56
56
  /// @prop {Color} resizer-background-color [rgb(221, 221, 221)] The background color of the resizer.
57
- /// @prop {Color} resizer-background-color-hover [rgb(66, 66, 66)] The background color of the resizer when hovered or focused.
58
- /// @prop {Color} resizer-color [black] The type color of the resizer.
57
+ /// @prop {Color} resizer-background-color-hover [rgb(192, 192, 192)] The background color of the resizer when hovered or focused.
58
+ /// @prop {Color} resizer-color [rgb(99, 99, 99)] The type color of the resizer.
59
59
  /// @prop {Color} resizer-color-hover [black] The type color of the resizer when hovered or focused.
60
60
  /// @prop {Dimension} resizer-width [1rem] The width of the resizer.
61
61
  /// @prop {Color} title-color [white] Type color of the title.
@@ -76,7 +76,7 @@ $config: (
76
76
  "height": 340px,
77
77
  "height-no-header": 100px,
78
78
  "width": 60rem,
79
-
79
+ "width-left-right" : 30rem,
80
80
  "animation-duration" : 300ms,
81
81
  "animation-duration-exit" : 150ms,
82
82
  "animation-timing-function" : cubic-bezier(0, 0, .2, 1),
@@ -92,10 +92,10 @@ $config: (
92
92
  "header-color": white,
93
93
  "header-padding": 1rem,
94
94
  "resizer-background-color": rgb(221, 221, 221),
95
- "resizer-background-color-hover": rgb(66, 66, 66),
96
- "resizer-color": black,
95
+ "resizer-background-color-hover": rgb(192, 192, 192),
96
+ "resizer-color": rgb(99, 99, 99),
97
97
  "resizer-color-hover": black,
98
- "resizer-width": 1rem,
98
+ "resizer-width": 1.25rem,
99
99
  "title-color": white,
100
100
  "title-font-weight": bold,
101
101
  "title-font-family" : null,
@@ -260,10 +260,17 @@ $config: (
260
260
  width: $size-width;
261
261
  }
262
262
  }
263
+
264
+ #{ $prefix }--fullscreen {
265
+ width: 100%;
266
+ height: 100%;
267
+ border-radius: 0;
268
+ }
263
269
  #{ $prefix }--right,
264
270
  #{ $prefix }--left {
265
271
  border-radius: 0;
266
272
  height: 100vh;
273
+ width: get("width-left-right");
267
274
  top: 0;
268
275
  bottom: 0;
269
276
  transform: none;
@@ -10,6 +10,7 @@
10
10
  @use "../utils";
11
11
  @use "../color";
12
12
  @use "../selector";
13
+ @use "../layout";
13
14
  @use "../typography";
14
15
 
15
16
  /// Module Settings
@@ -88,6 +89,7 @@ $config: (
88
89
  overflow-x: auto;
89
90
  line-height: typography.get("line-height-dense");
90
91
  gap: get("margin-between");
92
+ @include layout.remove-scrollbar();
91
93
  }
92
94
  #{ $prefix }__item,
93
95
  #{ $prefix }--auto li {
@@ -9,6 +9,7 @@
9
9
  @use "../utils";
10
10
  @use "../breakpoint";
11
11
  @use "../color";
12
+ @use "../layout";
12
13
 
13
14
  /// Module Settings
14
15
  /// @type Map
@@ -81,11 +82,7 @@ $config: (
81
82
  }
82
83
  }
83
84
  .overlay-section__background {
84
- position: absolute;
85
- top: 0;
86
- left: 0;
87
- right: 0;
88
- bottom: 0;
85
+ @include layout.absolute-fill();
89
86
  img,
90
87
  video {
91
88
  object-fit: cover;
@@ -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;