@ulu/frontend 0.1.0-beta.3 → 0.1.0-beta.31

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 (242) hide show
  1. package/CHANGELOG.md +210 -1
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +19 -18
  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 +5660 -0
  9. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  10. package/docs-dev/demos/accordion/index.html +758 -295
  11. package/docs-dev/demos/basic-hero/index.html +111 -0
  12. package/docs-dev/demos/button/index.html +758 -295
  13. package/docs-dev/demos/button-verbose/index.html +5118 -0
  14. package/docs-dev/demos/callout/index.html +783 -307
  15. package/docs-dev/demos/captioned-figure/index.html +758 -295
  16. package/docs-dev/demos/card/index.html +819 -719
  17. package/docs-dev/demos/card-grid/index.html +5241 -0
  18. package/docs-dev/demos/card-new/index.html +5088 -0
  19. package/docs-dev/demos/card-old/index.html +5223 -0
  20. package/docs-dev/demos/card.1/index.html +5223 -0
  21. package/docs-dev/demos/card.TRASH/index.html +5541 -0
  22. package/docs-dev/demos/css-icons/index.html +758 -295
  23. package/docs-dev/demos/data-grid/index.html +866 -483
  24. package/docs-dev/demos/data-table/index.html +783 -320
  25. package/docs-dev/demos/details-group/index.html +5114 -0
  26. package/docs-dev/demos/file-save/index.html +758 -295
  27. package/docs-dev/demos/flipcard/index.html +758 -295
  28. package/docs-dev/demos/form-theme/index.html +776 -326
  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 +758 -295
  32. package/docs-dev/demos/list-inline/index.html +5100 -0
  33. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  34. package/docs-dev/demos/list-lines/index.html +5090 -0
  35. package/docs-dev/demos/menu-stack/index.html +777 -314
  36. package/docs-dev/demos/modals/index.html +758 -295
  37. package/docs-dev/demos/nav-strip/index.html +778 -351
  38. package/docs-dev/demos/overlay-section/index.html +758 -295
  39. package/docs-dev/demos/popovers/index.html +860 -299
  40. package/docs-dev/demos/print/index.html +758 -295
  41. package/docs-dev/demos/pull-quote/index.html +758 -295
  42. package/docs-dev/demos/rule/index.html +758 -295
  43. package/docs-dev/demos/scroll-slider/index.html +72 -106
  44. package/docs-dev/demos/scrollpoints/index.html +758 -295
  45. package/docs-dev/demos/slider/index.html +12 -4
  46. package/docs-dev/demos/spoke-spinner/index.html +758 -295
  47. package/docs-dev/demos/sticky-list/index.html +5103 -0
  48. package/docs-dev/demos/tabs/index.html +758 -295
  49. package/docs-dev/demos/tag/index.html +758 -295
  50. package/docs-dev/demos/theme-toggle/index.html +5159 -0
  51. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  52. package/docs-dev/demos/tiles/index.html +758 -295
  53. package/docs-dev/demos/tooltip/index.html +758 -295
  54. package/docs-dev/guide/building-stylesheet/index.html +758 -295
  55. package/docs-dev/guide/developing-ulu-scss-module/index.html +758 -295
  56. package/docs-dev/guide/index.html +758 -295
  57. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  58. package/docs-dev/index.html +758 -295
  59. package/docs-dev/javascript/events/index.html +755 -294
  60. package/docs-dev/javascript/index.html +758 -295
  61. package/docs-dev/javascript/settings/index.html +5214 -0
  62. package/docs-dev/javascript/ui-breakpoints/index.html +755 -294
  63. package/docs-dev/javascript/ui-collapsible/index.html +755 -294
  64. package/docs-dev/javascript/ui-details-group/index.html +5214 -0
  65. package/docs-dev/javascript/ui-dialog/index.html +755 -294
  66. package/docs-dev/javascript/ui-flipcard/index.html +755 -294
  67. package/docs-dev/javascript/ui-grid/index.html +755 -294
  68. package/docs-dev/javascript/ui-modal-builder/index.html +755 -294
  69. package/docs-dev/javascript/ui-overflow-scroller/index.html +755 -294
  70. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +755 -294
  71. package/docs-dev/javascript/ui-page/index.html +755 -294
  72. package/docs-dev/javascript/ui-popover/index.html +755 -294
  73. package/docs-dev/javascript/ui-print/index.html +755 -294
  74. package/docs-dev/javascript/ui-print-details/index.html +755 -294
  75. package/docs-dev/javascript/ui-programmatic-modal/index.html +755 -294
  76. package/docs-dev/javascript/ui-proxy-click/index.html +755 -294
  77. package/docs-dev/javascript/ui-resizer/index.html +755 -294
  78. package/docs-dev/javascript/ui-scroll-slider/index.html +755 -294
  79. package/docs-dev/javascript/ui-scrollpoint/index.html +755 -294
  80. package/docs-dev/javascript/ui-slider/index.html +755 -294
  81. package/docs-dev/javascript/ui-tabs/index.html +755 -294
  82. package/docs-dev/javascript/ui-theme-toggle/index.html +5298 -0
  83. package/docs-dev/javascript/ui-tooltip/index.html +755 -294
  84. package/docs-dev/javascript/utils-class-logger/index.html +755 -294
  85. package/docs-dev/javascript/utils-dom/index.html +819 -298
  86. package/docs-dev/javascript/utils-file-save/index.html +755 -294
  87. package/docs-dev/javascript/utils-floating-ui/index.html +755 -294
  88. package/docs-dev/javascript/utils-id/index.html +755 -294
  89. package/docs-dev/javascript/utils-pause-youtube-video/index.html +755 -294
  90. package/docs-dev/sass/base/color/index.html +755 -294
  91. package/docs-dev/sass/base/elements/index.html +755 -294
  92. package/docs-dev/sass/base/index/index.html +755 -294
  93. package/docs-dev/sass/base/index.html +758 -295
  94. package/docs-dev/sass/base/keyframes/index.html +755 -294
  95. package/docs-dev/sass/base/layout/index.html +755 -294
  96. package/docs-dev/sass/base/normalize/index.html +755 -294
  97. package/docs-dev/sass/base/print/index.html +755 -294
  98. package/docs-dev/sass/base/root/index.html +755 -294
  99. package/docs-dev/sass/base/typography/index.html +755 -294
  100. package/docs-dev/sass/components/accordion/index.html +761 -300
  101. package/docs-dev/sass/components/adaptive-spacing/index.html +755 -294
  102. package/docs-dev/sass/components/badge/index.html +763 -302
  103. package/docs-dev/sass/components/basic-hero/index.html +5265 -0
  104. package/docs-dev/sass/components/button/index.html +755 -294
  105. package/docs-dev/sass/components/button-verbose/index.html +813 -303
  106. package/docs-dev/sass/components/callout/index.html +780 -355
  107. package/docs-dev/sass/components/captioned-figure/index.html +878 -302
  108. package/docs-dev/sass/components/card/index.html +817 -313
  109. package/docs-dev/sass/components/card-grid/index.html +755 -294
  110. package/docs-dev/sass/components/css-icon/index.html +772 -304
  111. package/docs-dev/sass/components/data-grid/index.html +755 -294
  112. package/docs-dev/sass/components/data-table/index.html +951 -305
  113. package/docs-dev/sass/components/fill-context/index.html +755 -294
  114. package/docs-dev/sass/components/flipcard/index.html +791 -299
  115. package/docs-dev/sass/components/flipcard-grid/index.html +755 -294
  116. package/docs-dev/sass/components/form-theme/index.html +965 -402
  117. package/docs-dev/sass/components/hero/index.html +811 -302
  118. package/docs-dev/sass/components/horizontal-rule/index.html +755 -294
  119. package/docs-dev/sass/components/image-grid/index.html +755 -294
  120. package/docs-dev/sass/components/index/index.html +768 -304
  121. package/docs-dev/sass/components/index.html +758 -295
  122. package/docs-dev/sass/components/links/index.html +755 -294
  123. package/docs-dev/sass/components/list-inline/index.html +5279 -0
  124. package/docs-dev/sass/components/list-lines/index.html +787 -330
  125. package/docs-dev/sass/components/list-ordered/index.html +757 -296
  126. package/docs-dev/sass/components/list-unordered/index.html +755 -294
  127. package/docs-dev/sass/components/menu-stack/index.html +789 -315
  128. package/docs-dev/sass/components/modal/index.html +776 -308
  129. package/docs-dev/sass/components/nav-strip/index.html +767 -306
  130. package/docs-dev/sass/components/overlay-section/index.html +763 -302
  131. package/docs-dev/sass/components/pager/index.html +755 -294
  132. package/docs-dev/sass/components/placeholder-block/index.html +755 -294
  133. package/docs-dev/sass/components/popover/index.html +812 -315
  134. package/docs-dev/sass/components/pull-quote/index.html +767 -306
  135. package/docs-dev/sass/components/ratio-box/index.html +755 -294
  136. package/docs-dev/sass/components/rule/index.html +763 -302
  137. package/docs-dev/sass/components/scroll-slider/index.html +755 -294
  138. package/docs-dev/sass/components/skip-link/index.html +763 -302
  139. package/docs-dev/sass/components/slider/index.html +762 -301
  140. package/docs-dev/sass/components/spoke-spinner/index.html +755 -294
  141. package/docs-dev/sass/components/sticky-list/index.html +5483 -0
  142. package/docs-dev/sass/components/tabs/index.html +764 -303
  143. package/docs-dev/sass/components/tag/index.html +755 -294
  144. package/docs-dev/sass/components/tile-button/index.html +755 -294
  145. package/docs-dev/sass/components/tile-grid/index.html +755 -294
  146. package/docs-dev/sass/components/tile-grid-overlay/index.html +755 -294
  147. package/docs-dev/sass/components/vignette/index.html +769 -302
  148. package/docs-dev/sass/components/wysiwyg/index.html +755 -294
  149. package/docs-dev/sass/core/breakpoint/index.html +755 -294
  150. package/docs-dev/sass/core/button/index.html +755 -294
  151. package/docs-dev/sass/core/color/index.html +793 -325
  152. package/docs-dev/sass/core/cssvar/index.html +755 -294
  153. package/docs-dev/sass/core/element/index.html +755 -294
  154. package/docs-dev/sass/core/index.html +755 -294
  155. package/docs-dev/sass/core/layout/index.html +762 -301
  156. package/docs-dev/sass/core/path/index.html +755 -294
  157. package/docs-dev/sass/core/selector/index.html +755 -294
  158. package/docs-dev/sass/core/typography/index.html +755 -294
  159. package/docs-dev/sass/core/units/index.html +755 -294
  160. package/docs-dev/sass/core/utils/index.html +1477 -382
  161. package/docs-dev/sass/helpers/color/index.html +755 -294
  162. package/docs-dev/sass/helpers/display/index.html +755 -294
  163. package/docs-dev/sass/helpers/index/index.html +755 -294
  164. package/docs-dev/sass/helpers/index.html +758 -295
  165. package/docs-dev/sass/helpers/print/index.html +755 -294
  166. package/docs-dev/sass/helpers/typography/index.html +755 -294
  167. package/docs-dev/sass/helpers/units/index.html +755 -294
  168. package/docs-dev/sass/helpers/utilities/index.html +755 -294
  169. package/docs-dev/sass/index.html +758 -295
  170. package/js/index.js +1 -0
  171. package/js/settings.js +78 -0
  172. package/js/ui/details-group.js +121 -0
  173. package/js/ui/index.js +1 -0
  174. package/js/ui/modal-builder.js +3 -2
  175. package/js/ui/overflow-scroller.js +5 -4
  176. package/js/ui/popover.js +1 -0
  177. package/js/ui/programmatic-modal.js +9 -3
  178. package/js/ui/slider.js +7 -6
  179. package/js/ui/theme-toggle.js +330 -89
  180. package/js/utils/dom.js +43 -1
  181. package/js/utils/font-awesome.js +18 -0
  182. package/js/utils/index.js +2 -1
  183. package/package.json +9 -6
  184. package/scss/_color.scss +9 -2
  185. package/scss/_layout.scss +1 -4
  186. package/scss/_utils.scss +187 -11
  187. package/scss/components/README.todos +14 -0
  188. package/scss/components/_accordion.scss +17 -18
  189. package/scss/components/_badge.scss +3 -2
  190. package/scss/components/_basic-hero.scss +112 -0
  191. package/scss/components/_button-verbose.scss +66 -12
  192. package/scss/components/_callout.scss +43 -54
  193. package/scss/components/_captioned-figure.scss +23 -5
  194. package/scss/components/_card-grid.scss +1 -1
  195. package/scss/components/_card.scss +190 -70
  196. package/scss/components/_css-icon.scss +16 -11
  197. package/scss/components/_data-table.scss +41 -4
  198. package/scss/components/_flipcard.scss +20 -14
  199. package/scss/components/_form-theme.scss +135 -123
  200. package/scss/components/_hero.scss +9 -0
  201. package/scss/components/_index.scss +18 -0
  202. package/scss/components/_list-inline.scss +80 -0
  203. package/scss/components/_list-lines.scss +44 -33
  204. package/scss/components/_list-ordered.scss +0 -1
  205. package/scss/components/_menu-stack.scss +42 -26
  206. package/scss/components/_modal.scss +23 -19
  207. package/scss/components/_nav-strip.scss +25 -16
  208. package/scss/components/_overlay-section.scss +2 -1
  209. package/scss/components/_pager.scss +6 -6
  210. package/scss/components/_placeholder-block.scss +4 -4
  211. package/scss/components/_popover.scss +174 -73
  212. package/scss/components/_pull-quote.scss +12 -12
  213. package/scss/components/_rule.scss +0 -1
  214. package/scss/components/_scroll-slider.scss +1 -1
  215. package/scss/components/_skip-link.scss +2 -1
  216. package/scss/components/_slider.scss +17 -38
  217. package/scss/components/_sticky-list.scss +206 -0
  218. package/scss/components/_tabs.scss +5 -2
  219. package/scss/components/_tag.scss +1 -1
  220. package/scss/components/_vignette.scss +1 -0
  221. package/types/index.d.ts +1 -0
  222. package/types/settings.d.ts +38 -0
  223. package/types/settings.d.ts.map +1 -0
  224. package/types/ui/details-group.d.ts +43 -0
  225. package/types/ui/details-group.d.ts.map +1 -0
  226. package/types/ui/index.d.ts +1 -0
  227. package/types/ui/modal-builder.d.ts +2 -2
  228. package/types/ui/modal-builder.d.ts.map +1 -1
  229. package/types/ui/overflow-scroller.d.ts +2 -2
  230. package/types/ui/overflow-scroller.d.ts.map +1 -1
  231. package/types/ui/popover.d.ts.map +1 -1
  232. package/types/ui/programmatic-modal.d.ts.map +1 -1
  233. package/types/ui/slider.d.ts +2 -2
  234. package/types/ui/slider.d.ts.map +1 -1
  235. package/types/ui/tabs.d.ts.map +1 -1
  236. package/types/ui/theme-toggle.d.ts +58 -7
  237. package/types/ui/theme-toggle.d.ts.map +1 -1
  238. package/types/utils/dom.d.ts +19 -1
  239. package/types/utils/dom.d.ts.map +1 -1
  240. package/types/utils/font-awesome.d.ts +5 -0
  241. package/types/utils/font-awesome.d.ts.map +1 -0
  242. package/types/utils/index.d.ts +1 -0
@@ -3,25 +3,40 @@
3
3
  ////
4
4
 
5
5
  @use "sass:map";
6
+ @use "sass:meta";
6
7
 
7
8
  @use "../element";
8
- @use "../color";
9
9
  @use "../typography";
10
+ @use "../selector";
10
11
  @use "../utils";
11
12
 
13
+ // Used for function fallback
14
+ $-fallbacks: (
15
+ "dense-line-height" : (
16
+ "function" : meta.get-function("get", false, "typography"),
17
+ "property" : "line-height-dense"
18
+ ),
19
+ );
20
+
12
21
  /// Module Config
13
22
  /// @prop {Boolean} border-first [true] If enabled, adds a top border to the first item in list-lines.
14
23
  /// @prop {Boolean} border-last [true] If enabled, adds a bottom border to the last item in list-lines.
24
+ /// @prop {String} rule-style ["light"] Name of element > rule style to use for divider/border
15
25
  /// @prop {Dimension} margin-bottom [1em] Bottom margin of list.
16
26
  /// @prop {Dimension} margin-top [0] Top margin of list.
17
27
  /// @prop {Dimension} padding-between [1em] Padding between items in list.
28
+ /// @prop {Dimension} padding-between [1em] Padding between items in list when using dense modifier
29
+ /// @prop {Dimension} line-height-dense [true] Line height when list lines has dense modifier (defaults to typography line-height-dense)
18
30
 
19
31
  $config: (
20
32
  "border-first" : true,
21
33
  "border-last" : true,
22
34
  "margin-bottom": 1em,
23
35
  "margin-top": 0,
24
- "padding-between" : 1em
36
+ "rule-style" : "light",
37
+ "padding-between" : 1em,
38
+ "dense-padding-between" : 0.65em,
39
+ "dense-line-height" : true
25
40
  ) !default;
26
41
 
27
42
  /// Change modules $config
@@ -39,31 +54,8 @@ $config: (
39
54
  /// @include ulu.component-list-lines-get("property");
40
55
 
41
56
  @function get($name) {
42
- @return utils.require-map-get($config, $name, "grid [config]");
43
- }
44
-
45
- /// Output component styles
46
-
47
- @mixin inner-styles {
48
- $border: element.get-rule-style("light") !default;
49
- list-style: none;
50
- margin: get("margin-top") 0 get("margin-bottom") 0;
51
- padding: 0;
52
- @if (get("border-first")) {
53
- border-top: $border;
54
- }
55
- >li {
56
- border-bottom: $border;
57
- padding: get("padding-between") 0;
58
- >*:last-child {
59
- margin-bottom: 0;
60
- }
61
- @if (not get("border-last")) {
62
- &:last-child {
63
- border-bottom-width: 0;
64
- }
65
- }
66
- }
57
+ $value: utils.require-map-get($config, $name, "list-lines [config]");
58
+ @return utils.function-fallback($name, $value, $-fallbacks);
67
59
  }
68
60
 
69
61
  /// Output component stylesheet
@@ -71,14 +63,33 @@ $config: (
71
63
  /// @include ulu.component-list-lines-styles();
72
64
 
73
65
  @mixin styles {
74
-
75
- .list-lines {
76
- @include inner-styles;
66
+ $prefix: selector.class("list-lines");
67
+ $border: element.get-rule-style(get("rule-style"));
68
+
69
+ #{ $prefix } {
70
+ list-style: none;
71
+ margin: get("margin-top") 0 get("margin-bottom") 0;
72
+ padding: 0;
73
+ @if (get("border-first")) {
74
+ border-top: $border;
75
+ }
76
+ >li {
77
+ border-bottom: $border;
78
+ padding: get("padding-between") 0;
79
+ >*:last-child {
80
+ margin-bottom: 0;
81
+ }
82
+ @if (not get("border-last")) {
83
+ &:last-child {
84
+ border-bottom-width: 0;
85
+ }
86
+ }
87
+ }
77
88
  }
78
- .list-lines--dense {
89
+ #{ $prefix }--dense {
79
90
  >li {
80
- padding: 0.5em 0;
81
- line-height: typography.get("line-height-dense");
91
+ padding: get("dense-padding-between") 0;
92
+ line-height: get("dense-line-height");
82
93
  }
83
94
  }
84
95
  }
@@ -3,7 +3,6 @@
3
3
  ////
4
4
 
5
5
  @use "../element";
6
- @use "../color";
7
6
  @use "../selector";
8
7
 
9
8
  /// Output component stylesheet
@@ -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,12 +54,13 @@ $-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.
62
62
  /// @prop {CssValue} title-font-weight [bold] Font weight of the title.
63
+ /// @prop {CssValue} title-font-family [null] Font family for title
63
64
  /// @prop {Dimension} title-icon-margin [0.5em] The margin of the title icon
64
65
  /// @prop {String} title-size [large] The font-size of the title. This uses typography.scss, so the value of this options should be a variable from typography.scss.
65
66
  /// @prop {CssValue} title-text-transform [null] Transform option for the title.
@@ -75,7 +76,7 @@ $config: (
75
76
  "height": 340px,
76
77
  "height-no-header": 100px,
77
78
  "width": 60rem,
78
-
79
+ "width-left-right" : 30rem,
79
80
  "animation-duration" : 300ms,
80
81
  "animation-duration-exit" : 150ms,
81
82
  "animation-timing-function" : cubic-bezier(0, 0, .2, 1),
@@ -91,12 +92,13 @@ $config: (
91
92
  "header-color": white,
92
93
  "header-padding": 1rem,
93
94
  "resizer-background-color": rgb(221, 221, 221),
94
- "resizer-background-color-hover": rgb(66, 66, 66),
95
- "resizer-color": black,
95
+ "resizer-background-color-hover": rgb(192, 192, 192),
96
+ "resizer-color": rgb(99, 99, 99),
96
97
  "resizer-color-hover": black,
97
- "resizer-width": 1rem,
98
+ "resizer-width": 1.25rem,
98
99
  "title-color": white,
99
100
  "title-font-weight": bold,
101
+ "title-font-family" : null,
100
102
  "title-icon-margin" : 0.5em,
101
103
  "title-size" : "large",
102
104
  "title-text-transform" : null,
@@ -159,7 +161,7 @@ $config: (
159
161
  box-sizing: border-box;
160
162
  box-shadow: get("box-shadow");
161
163
  border-radius: get("border-radius");
162
- background-color: get("background-color");
164
+ background-color: color.get(get("background-color"));
163
165
  box-sizing: border-box;
164
166
  animation: uluModalCenterOut get("animation-duration-exit") get("animation-timing-function");
165
167
  &[open] {
@@ -168,7 +170,7 @@ $config: (
168
170
  flex-direction: column;
169
171
  }
170
172
  &::backdrop {
171
- background: get("backdrop-color");
173
+ background: color.get(get("backdrop-color"));
172
174
  backdrop-filter: blur(get("backdrop-blur"));
173
175
  animation: uluModalBackdropIn get("animation-duration") get("animation-timing-function");
174
176
  }
@@ -180,8 +182,8 @@ $config: (
180
182
  flex: 0;
181
183
  padding: get("header-padding");
182
184
  border-bottom: get("header-border-bottom");
183
- background-color: get("header-background-color");
184
- color: get("header-color");
185
+ background-color: color.get(get("header-background-color"));
186
+ color: color.get(get("header-color"));
185
187
  }
186
188
  #{ $prefix }__body {
187
189
  flex: 1;
@@ -194,6 +196,7 @@ $config: (
194
196
  margin: 0;
195
197
  color: color.get(get("title-color"));
196
198
  font-weight: get("title-font-weight");
199
+ font-family: get("title-font-family");
197
200
  text-transform: get("title-text-transform");
198
201
  @if (get("title-size")) {
199
202
  @include typography.size(get("title-size"), $only-font-size: true);
@@ -208,15 +211,15 @@ $config: (
208
211
  font-size: get("close-font-size");
209
212
  width: get("close-size");
210
213
  height: get("close-size");
211
- background-color: get("close-background-color");
214
+ background-color: color.get(get("close-background-color"));
212
215
  border-radius: 50%;
213
216
  display: flex;
214
217
  align-items: center;
215
218
  justify-content: center;
216
- color: get("close-color");
219
+ color: color.get(get("close-color"));
217
220
  &:hover {
218
- background-color: get("close-background-color-hover");
219
- color: get("close-color-hover");
221
+ background-color: color.get(get("close-background-color-hover"));
222
+ color: color.get(get("close-color-hover"));
220
223
  }
221
224
  }
222
225
  #{ $prefix }__resizer {
@@ -227,17 +230,17 @@ $config: (
227
230
  width: get("resizer-width");
228
231
  display: block;
229
232
  cursor: col-resize;
230
- background-color: get("resizer-background-color");
233
+ background-color: color.get(get("resizer-background-color"));
231
234
  display: flex;
232
235
  align-items: center;
233
236
  justify-content: center;
234
237
  transition-property: background-color, color;
235
238
  transition-duration: 300ms;
236
239
  transition-delay: 100ms;
237
- color: get("resizer-color");
240
+ color: color.get(get("resizer-color"));
238
241
  &:hover {
239
- color: get("resizer-color-hover");
240
- background-color: get("resizer-background-color-hover");
242
+ color: color.get(get("resizer-color-hover"));
243
+ background-color: color.get(get("resizer-background-color-hover"));
241
244
  }
242
245
  #{ $prefix }--left & {
243
246
  left: auto;
@@ -261,6 +264,7 @@ $config: (
261
264
  #{ $prefix }--left {
262
265
  border-radius: 0;
263
266
  height: 100vh;
267
+ width: get("width-left-right");
264
268
  top: 0;
265
269
  bottom: 0;
266
270
  transform: none;
@@ -354,7 +358,7 @@ $config: (
354
358
  backdrop-filter: blur(0);
355
359
  }
356
360
  100% {
357
- background-color: get("backdrop-color");
361
+ background-color: color.get(get("backdrop-color"));
358
362
  backdrop-filter: blur(get("backdrop-blur"));
359
363
  }
360
364
  }
@@ -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
@@ -42,11 +43,11 @@ $config: (
42
43
  "padding-y" : 0.3em,
43
44
  "padding-y-ruled" : null,
44
45
  "nowrap" : true,
45
- "rule-color" : "rule",
46
- "rule-offset" : -3px,
46
+ "rule-color" : "rule-light",
47
+ "rule-offset" : 0,
47
48
  "rule-size" : 3px,
48
- "underline-color" : orange,
49
- "underline-color-hover" : gray,
49
+ "underline-color" : "selected",
50
+ "underline-color-hover" : "rule",
50
51
  "underline-size" : 3px,
51
52
  ) !default;
52
53
 
@@ -75,7 +76,9 @@ $config: (
75
76
 
76
77
  @mixin styles {
77
78
  $prefix: selector.class("nav-strip");
78
-
79
+ #{ $prefix } {
80
+ max-width: 100%; // So ul will overflow
81
+ }
79
82
  // Original thought to not limit to direct child
80
83
  // auto is for when we don't have control over markup
81
84
  // The list descendants will be selected that way but the list is
@@ -83,24 +86,23 @@ $config: (
83
86
  #{ $prefix }__list,
84
87
  #{ $prefix }--auto ul {
85
88
  display: flex;
89
+ overflow-x: auto;
86
90
  line-height: typography.get("line-height-dense");
91
+ gap: get("margin-between");
92
+ @include layout.remove-scrollbar();
87
93
  }
88
94
  #{ $prefix }__item,
89
95
  #{ $prefix }--auto li {
90
- margin-right: get("margin-between");
91
96
  // layout flex since items inside may not be the same height
92
97
  display: flex;
93
98
  align-items: flex-end;
94
- &:last-child {
95
- margin-right: 0;
96
- }
97
99
  }
98
100
 
99
101
  #{ $prefix }__link,
100
102
  #{ $prefix }--auto li > a,
101
103
  #{ $prefix }--auto li > button {
102
104
  display: block;
103
- color: get("color");
105
+ color: color.get(get("color"));
104
106
  padding: get("padding-y") get("padding-x");
105
107
  border-top: get("underline-size") solid transparent;
106
108
  border-bottom: get("underline-size") solid transparent;
@@ -110,12 +112,12 @@ $config: (
110
112
  }
111
113
  &:hover,
112
114
  &:focus {
113
- border-bottom-color: get("underline-color-hover");
114
- color: get("color-hover");
115
+ border-bottom-color: color.get(get("underline-color-hover"));
116
+ color: color.get(get("color-hover"));
115
117
  }
116
118
  #{ get("activeSelector") } {
117
- border-bottom-color: get("underline-color");
118
- color: get("color-active");
119
+ border-bottom-color: color.get(get("underline-color"));
120
+ color: color.get(get("color-active"));
119
121
  }
120
122
  }
121
123
 
@@ -133,13 +135,20 @@ $config: (
133
135
  }
134
136
  }
135
137
  #{ $prefix }--rule {
136
- #{ $prefix }__list,
137
- &#{ $prefix }--auto ul {
138
+ position: relative;
139
+ &::after {
140
+ content: "";
141
+ position: absolute;
142
+ bottom: 0;
143
+ left: 0;
144
+ right: 0;
138
145
  border-bottom: get("rule-size") solid color.get(get("rule-color"));
139
146
  }
140
147
  #{ $prefix }__link,
141
148
  &#{ $prefix }--auto li > a,
142
149
  &#{ $prefix }--auto li > button {
150
+ position: relative;
151
+ z-index: 2;
143
152
  margin-bottom: get("rule-offset");
144
153
  padding-top: get("padding-y-ruled");
145
154
  padding-bottom: get("padding-y-ruled");
@@ -8,6 +8,7 @@
8
8
  @use "sass:map";
9
9
  @use "../utils";
10
10
  @use "../breakpoint";
11
+ @use "../color";
11
12
 
12
13
  /// Module Settings
13
14
  /// @type Map
@@ -95,7 +96,7 @@ $config: (
95
96
  .overlay-section__content {
96
97
  position: relative;
97
98
  z-index: 2;
98
- background-color: get("content-background-color");
99
+ background-color: color.get(get("content-background-color"));
99
100
  border: get("content-border");
100
101
  flex: 0 1 get("content-width");
101
102
  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");