@ulu/frontend 0.1.0-beta.0 → 0.1.0-beta.10

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 (253) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +37 -0
  3. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  4. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  5. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  6. package/docs-dev/assets/favicons/browserconfig.xml +9 -0
  7. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  8. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  9. package/docs-dev/assets/favicons/favicon.ico +0 -0
  10. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  11. package/docs-dev/assets/favicons/safari-pinned-tab.svg +1 -0
  12. package/docs-dev/assets/favicons/site.webmanifest +19 -0
  13. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  14. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  15. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  16. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  17. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  18. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  19. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  20. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  21. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  22. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  23. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  24. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  25. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  26. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  27. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  28. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  29. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  30. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  31. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  32. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  33. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  34. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  35. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  36. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  37. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  38. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  39. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  40. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  41. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  42. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  43. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  44. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  45. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  46. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  47. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  48. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  49. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  50. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  51. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  52. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  53. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  54. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  55. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  56. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  57. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  58. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  59. package/docs-dev/assets/fonts/inter/LICENSE.txt +92 -0
  60. package/docs-dev/assets/fonts/inter/inter.css +37 -0
  61. package/docs-dev/assets/main.js +15657 -0
  62. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +2 -0
  63. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  64. package/docs-dev/assets/placeholder/image-1-attribution.txt +7 -0
  65. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  66. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  67. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  68. package/docs-dev/assets/style.css +18702 -0
  69. package/docs-dev/demos/accordion/index.html +4899 -0
  70. package/docs-dev/demos/button/index.html +4711 -0
  71. package/docs-dev/demos/callout/index.html +4751 -0
  72. package/docs-dev/demos/captioned-figure/index.html +4773 -0
  73. package/docs-dev/demos/card/index.html +5130 -0
  74. package/docs-dev/demos/css-icons/index.html +5362 -0
  75. package/docs-dev/demos/data-grid/index.html +5616 -0
  76. package/docs-dev/demos/data-table/index.html +4787 -0
  77. package/docs-dev/demos/file-save/index.html +4762 -0
  78. package/docs-dev/demos/flipcard/index.html +5311 -0
  79. package/docs-dev/demos/form-theme/index.html +4942 -0
  80. package/docs-dev/demos/hero/index.html +301 -0
  81. package/docs-dev/demos/image-grid/index.html +157 -0
  82. package/docs-dev/demos/index.html +4700 -0
  83. package/docs-dev/demos/list-inline/index.html +4727 -0
  84. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  85. package/docs-dev/demos/list-lines/index.html +4717 -0
  86. package/docs-dev/demos/menu-stack/index.html +4841 -0
  87. package/docs-dev/demos/modals/index.html +4808 -0
  88. package/docs-dev/demos/nav-strip/index.html +4812 -0
  89. package/docs-dev/demos/overlay-section/index.html +4718 -0
  90. package/docs-dev/demos/popovers/index.html +4718 -0
  91. package/docs-dev/demos/print/index.html +4720 -0
  92. package/docs-dev/demos/pull-quote/index.html +4719 -0
  93. package/docs-dev/demos/rule/index.html +4769 -0
  94. package/docs-dev/demos/scroll-slider/index.html +204 -0
  95. package/docs-dev/demos/scrollpoints/index.html +4738 -0
  96. package/docs-dev/demos/slider/index.html +164 -0
  97. package/docs-dev/demos/spoke-spinner/index.html +4715 -0
  98. package/docs-dev/demos/tabs/index.html +4804 -0
  99. package/docs-dev/demos/tag/index.html +4720 -0
  100. package/docs-dev/demos/tile-grid-overlay/index.html +382 -0
  101. package/docs-dev/demos/tiles/index.html +4969 -0
  102. package/docs-dev/demos/tooltip/index.html +4748 -0
  103. package/docs-dev/guide/building-stylesheet/index.html +4769 -0
  104. package/docs-dev/guide/developing-ulu-scss-module/index.html +4821 -0
  105. package/docs-dev/guide/index.html +4702 -0
  106. package/docs-dev/index.html +4749 -0
  107. package/docs-dev/javascript/events/index.html +4860 -0
  108. package/docs-dev/javascript/index.html +4715 -0
  109. package/docs-dev/javascript/ui-breakpoints/index.html +5160 -0
  110. package/docs-dev/javascript/ui-collapsible/index.html +4827 -0
  111. package/docs-dev/javascript/ui-dialog/index.html +4861 -0
  112. package/docs-dev/javascript/ui-flipcard/index.html +4711 -0
  113. package/docs-dev/javascript/ui-grid/index.html +4768 -0
  114. package/docs-dev/javascript/ui-modal-builder/index.html +4850 -0
  115. package/docs-dev/javascript/ui-overflow-scroller/index.html +4700 -0
  116. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +4718 -0
  117. package/docs-dev/javascript/ui-page/index.html +4715 -0
  118. package/docs-dev/javascript/ui-popover/index.html +4754 -0
  119. package/docs-dev/javascript/ui-print/index.html +4767 -0
  120. package/docs-dev/javascript/ui-print-details/index.html +4730 -0
  121. package/docs-dev/javascript/ui-programmatic-modal/index.html +4700 -0
  122. package/docs-dev/javascript/ui-proxy-click/index.html +4744 -0
  123. package/docs-dev/javascript/ui-resizer/index.html +4770 -0
  124. package/docs-dev/javascript/ui-scroll-slider/index.html +4729 -0
  125. package/docs-dev/javascript/ui-scrollpoint/index.html +4947 -0
  126. package/docs-dev/javascript/ui-slider/index.html +4711 -0
  127. package/docs-dev/javascript/ui-tabs/index.html +4832 -0
  128. package/docs-dev/javascript/ui-tooltip/index.html +4847 -0
  129. package/docs-dev/javascript/utils-class-logger/index.html +4835 -0
  130. package/docs-dev/javascript/utils-dom/index.html +4880 -0
  131. package/docs-dev/javascript/utils-file-save/index.html +4872 -0
  132. package/docs-dev/javascript/utils-floating-ui/index.html +4732 -0
  133. package/docs-dev/javascript/utils-id/index.html +4742 -0
  134. package/docs-dev/javascript/utils-pause-youtube-video/index.html +4750 -0
  135. package/docs-dev/sass/base/color/index.html +4733 -0
  136. package/docs-dev/sass/base/elements/index.html +4904 -0
  137. package/docs-dev/sass/base/index/index.html +4903 -0
  138. package/docs-dev/sass/base/index.html +4709 -0
  139. package/docs-dev/sass/base/keyframes/index.html +4735 -0
  140. package/docs-dev/sass/base/layout/index.html +4895 -0
  141. package/docs-dev/sass/base/normalize/index.html +4743 -0
  142. package/docs-dev/sass/base/print/index.html +4739 -0
  143. package/docs-dev/sass/base/root/index.html +4759 -0
  144. package/docs-dev/sass/base/typography/index.html +4759 -0
  145. package/docs-dev/sass/components/accordion/index.html +5061 -0
  146. package/docs-dev/sass/components/adaptive-spacing/index.html +5004 -0
  147. package/docs-dev/sass/components/badge/index.html +4952 -0
  148. package/docs-dev/sass/components/button/index.html +4888 -0
  149. package/docs-dev/sass/components/button-verbose/index.html +5000 -0
  150. package/docs-dev/sass/components/callout/index.html +5031 -0
  151. package/docs-dev/sass/components/captioned-figure/index.html +4878 -0
  152. package/docs-dev/sass/components/card/index.html +5236 -0
  153. package/docs-dev/sass/components/card-grid/index.html +4902 -0
  154. package/docs-dev/sass/components/css-icon/index.html +5006 -0
  155. package/docs-dev/sass/components/data-grid/index.html +5134 -0
  156. package/docs-dev/sass/components/data-table/index.html +4887 -0
  157. package/docs-dev/sass/components/fill-context/index.html +4768 -0
  158. package/docs-dev/sass/components/flipcard/index.html +5038 -0
  159. package/docs-dev/sass/components/flipcard-grid/index.html +4889 -0
  160. package/docs-dev/sass/components/form-theme/index.html +5518 -0
  161. package/docs-dev/sass/components/hero/index.html +4890 -0
  162. package/docs-dev/sass/components/horizontal-rule/index.html +4887 -0
  163. package/docs-dev/sass/components/image-grid/index.html +4894 -0
  164. package/docs-dev/sass/components/index/index.html +4939 -0
  165. package/docs-dev/sass/components/index.html +4709 -0
  166. package/docs-dev/sass/components/links/index.html +4738 -0
  167. package/docs-dev/sass/components/list-inline/index.html +4908 -0
  168. package/docs-dev/sass/components/list-lines/index.html +4929 -0
  169. package/docs-dev/sass/components/list-ordered/index.html +4734 -0
  170. package/docs-dev/sass/components/list-unordered/index.html +4738 -0
  171. package/docs-dev/sass/components/menu-stack/index.html +5067 -0
  172. package/docs-dev/sass/components/modal/index.html +5122 -0
  173. package/docs-dev/sass/components/nav-strip/index.html +4988 -0
  174. package/docs-dev/sass/components/overlay-section/index.html +4932 -0
  175. package/docs-dev/sass/components/pager/index.html +5050 -0
  176. package/docs-dev/sass/components/placeholder-block/index.html +4972 -0
  177. package/docs-dev/sass/components/popover/index.html +5047 -0
  178. package/docs-dev/sass/components/pull-quote/index.html +4946 -0
  179. package/docs-dev/sass/components/ratio-box/index.html +4892 -0
  180. package/docs-dev/sass/components/rule/index.html +4894 -0
  181. package/docs-dev/sass/components/scroll-slider/index.html +5005 -0
  182. package/docs-dev/sass/components/skip-link/index.html +4878 -0
  183. package/docs-dev/sass/components/slider/index.html +5014 -0
  184. package/docs-dev/sass/components/spoke-spinner/index.html +4952 -0
  185. package/docs-dev/sass/components/tabs/index.html +5028 -0
  186. package/docs-dev/sass/components/tag/index.html +5053 -0
  187. package/docs-dev/sass/components/tile-button/index.html +4933 -0
  188. package/docs-dev/sass/components/tile-grid/index.html +5068 -0
  189. package/docs-dev/sass/components/tile-grid-overlay/index.html +4869 -0
  190. package/docs-dev/sass/components/vignette/index.html +4882 -0
  191. package/docs-dev/sass/components/wysiwyg/index.html +4898 -0
  192. package/docs-dev/sass/core/breakpoint/index.html +5491 -0
  193. package/docs-dev/sass/core/button/index.html +5625 -0
  194. package/docs-dev/sass/core/color/index.html +5476 -0
  195. package/docs-dev/sass/core/cssvar/index.html +5500 -0
  196. package/docs-dev/sass/core/element/index.html +5623 -0
  197. package/docs-dev/sass/core/index.html +4698 -0
  198. package/docs-dev/sass/core/layout/index.html +5458 -0
  199. package/docs-dev/sass/core/path/index.html +4867 -0
  200. package/docs-dev/sass/core/selector/index.html +4946 -0
  201. package/docs-dev/sass/core/typography/index.html +5872 -0
  202. package/docs-dev/sass/core/units/index.html +4905 -0
  203. package/docs-dev/sass/core/utils/index.html +6346 -0
  204. package/docs-dev/sass/helpers/color/index.html +4733 -0
  205. package/docs-dev/sass/helpers/display/index.html +4738 -0
  206. package/docs-dev/sass/helpers/index/index.html +4900 -0
  207. package/docs-dev/sass/helpers/index.html +4709 -0
  208. package/docs-dev/sass/helpers/print/index.html +4738 -0
  209. package/docs-dev/sass/helpers/typography/index.html +4761 -0
  210. package/docs-dev/sass/helpers/units/index.html +4907 -0
  211. package/docs-dev/sass/helpers/utilities/index.html +4738 -0
  212. package/docs-dev/sass/index.html +4760 -0
  213. package/js/ui/modal-builder.js +1 -1
  214. package/js/ui/tabs.js +24 -4
  215. package/package.json +8 -10
  216. package/scss/_color.scss +2 -1
  217. package/scss/base/_typography.scss +7 -7
  218. package/scss/components/_accordion.scss +15 -15
  219. package/scss/components/_adaptive-spacing.scss +3 -3
  220. package/scss/components/_badge.scss +5 -4
  221. package/scss/components/_button-verbose.scss +22 -22
  222. package/scss/components/_button.scss +2 -0
  223. package/scss/components/_callout.scss +8 -7
  224. package/scss/components/_captioned-figure.scss +8 -8
  225. package/scss/components/_card-grid.scss +2 -2
  226. package/scss/components/_card.scss +46 -32
  227. package/scss/components/_css-icon.scss +18 -13
  228. package/scss/components/_data-grid.scss +2 -2
  229. package/scss/components/_data-table.scss +9 -5
  230. package/scss/components/_flipcard-grid.scss +2 -2
  231. package/scss/components/_flipcard.scss +15 -14
  232. package/scss/components/_form-theme.scss +30 -30
  233. package/scss/components/_hero.scss +2 -2
  234. package/scss/components/_image-grid.scss +2 -2
  235. package/scss/components/_index.scss +6 -0
  236. package/scss/components/_list-inline.scss +80 -0
  237. package/scss/components/_list-lines.scss +46 -35
  238. package/scss/components/_list-ordered.scss +0 -1
  239. package/scss/components/_menu-stack.scss +3 -4
  240. package/scss/components/_modal.scss +24 -33
  241. package/scss/components/_nav-strip.scss +26 -19
  242. package/scss/components/_overlay-section.scss +4 -4
  243. package/scss/components/_pager.scss +11 -11
  244. package/scss/components/_placeholder-block.scss +6 -6
  245. package/scss/components/_popover.scss +11 -11
  246. package/scss/components/_pull-quote.scss +2 -2
  247. package/scss/components/_ratio-box.scss +2 -2
  248. package/scss/components/_rule.scss +5 -6
  249. package/scss/components/_scroll-slider.scss +3 -3
  250. package/scss/components/_skip-link.scss +2 -1
  251. package/scss/components/_slider.scss +18 -54
  252. package/scss/components/_tabs.scss +119 -53
  253. package/scss/components/_tag.scss +15 -1
@@ -7,34 +7,19 @@
7
7
 
8
8
  @use "../color";
9
9
  @use "../utils";
10
- @use "../breakpoint";
11
10
  @use "../selector";
12
11
 
13
12
  /// Module Settings
14
13
  /// @type Map
15
14
  /// @prop {Color} background-color [transparent] Background color for the entire slider section.
16
- /// @prop {List} breakpoint ["small"] Currently commented out @joe-check
17
15
  /// @prop {Dimension} margin-bottom [3rem] Bottom margin color for the entire slider section.
18
16
  /// @prop {Dimension} margin-top [1rem] Top margin color for the entire slider section.
19
17
  /// @prop {Dimension} padding-bottom [0] Bottom padding for individual slides.
20
- /// @prop {Dimension} padding-bottom-small [0] Smaller option for bottom padding for individual slides. Currently commented out @joe-check
21
18
  /// @prop {Dimension} padding-top [0] Top padding for individual slides.
22
- /// @prop {Dimension} padding-top-small [0] Smaller option for top padding for individual slides. Currently commented out @joe-check
23
- /// @prop {Color} button-background-color [transparent] Currently unused @joe-check
24
- /// @prop {Color} button-background-color-hover [color.get("link-hover")] Currently unused @joe-check
25
- /// @prop {CssValue} button-border [2px solid color.get("link")] Currently unused @joe-check
26
- /// @prop {Color} button-border-color-hover [color.get("link-hover")] Currently unused @joe-check
27
- /// @prop {Dimension} button-border-radius [50%] Currently unused @joe-check
28
- /// @prop {Color} button-color [color.get("link")] Currently unused @joe-check
29
- /// @prop {Color} button-color-hover [white] Currently unused @joe-check
30
- /// @prop {Dimension} button-font-size [1.35rem] Currently unused @joe-check
31
- /// @prop {Dimension} button-font-size-small [false] Currently unused @joe-check
32
- /// @prop {Dimension} button-icon-offset-x [false] Offsets the control icons in from their respective sides. @joe-check
19
+ /// @prop {Dimension} button-icon-offset-x [false] Offsets the control icons in from their respective sides.
33
20
  /// @prop {Dimension} button-icon-offset-y [false] Offsets the control options down by adding a margin.
34
- /// @prop {Dimension} button-margin [0.75rem] The margin between the controls and the slide content when using .slide-gap-for-controls
35
- /// @prop {Dimension} button-margin-small [0.75rem] Currently commented out @joe-check
21
+ /// @prop {Dimension} button-margin [0.75rem] The margin between the controls and the slide content when using .slider__slide-gap-for-controls
36
22
  /// @prop {Dimension} button-size [3rem] Size of the button. Likely antiquated and replaced with button-width and button-height
37
- /// @prop {Dimension} button-size-small [false] Currently commented out @joe-check
38
23
  /// @prop {Color} dot-background-color [transparent] The color of the dot when unselected.
39
24
  /// @prop {Color} dot-background-color-hover [color.get("link")] The color of the dot when hovered.
40
25
  /// @prop {Color} dot-background-color-selected [color.get("link")] The color of the dot when selected.
@@ -49,44 +34,30 @@
49
34
 
50
35
  $config: (
51
36
  "background-color" : transparent,
52
- "breakpoint" : "small",
53
37
  "margin-bottom" : 3rem,
54
38
  "margin-top" : 1rem,
55
- "button-background-color" : transparent,
56
- "button-border" : 2px solid color.get("link"),
57
- "button-border-color-hover" : color.get("link-hover"),
58
- "button-border-radius" : 50%,
59
- "button-color-hover" : white,
60
- "button-background-color-hover" : color.get("link-hover"),
61
- "button-color" : color.get("link"),
62
- "button-font-size" : 1.35rem,
63
39
  "button-icon-offset-x" : 2rem,
64
40
  "button-icon-offset-y" : false,
65
- "button-font-size-small" : false,
66
41
  "button-margin" : 2rem,
67
- "button-margin-small" : 0.75rem,
68
42
  "button-size" : 3rem,
69
- "button-size-small" : false,
70
43
  "button-height": 2.5rem,
71
44
  "button-width": 2.5rem,
72
45
  "dot-background-color" : transparent,
73
- "dot-background-color-hover" : color.get("link"),
74
- "dot-background-color-selected" : color.get("link"),
75
- "dot-border-color" : color.get("link"),
76
- "dot-border-color-hover" : color.get("link"),
77
- "dot-border-color-selected" : color.get("link"),
46
+ "dot-background-color-hover" : "link",
47
+ "dot-background-color-selected" : "link",
48
+ "dot-border-color" : "link",
49
+ "dot-border-color-hover" : "link",
50
+ "dot-border-color-selected" : "link",
78
51
  "dot-border-radius" : 50%,
79
52
  "dot-border-width" : 2px,
80
53
  "dot-size" : 1rem,
81
54
  "padding-bottom" : 0,
82
- "padding-bottom-small" : 0,
83
55
  "padding-top" : 0,
84
- "padding-top-small" : 0,
85
56
  ) !default;
86
57
 
87
58
  /// Change modules $config
88
59
  /// @param {Map} $changes Map of changes
89
- /// @example scss - General example
60
+ /// @example scss
90
61
  /// @include ulu.component-slider-set(( "property" : value ));
91
62
 
92
63
  @mixin set($changes) {
@@ -95,7 +66,7 @@ $config: (
95
66
 
96
67
  /// Get a config option
97
68
  /// @param {Map} $name Name of property
98
- /// @example scss - General example
69
+ /// @example scss
99
70
  /// @include ulu.component-slider-get("property");
100
71
 
101
72
  @function get($name) {
@@ -112,7 +83,7 @@ $config: (
112
83
  $slide-padding-x: get("button-width") + get("button-margin");
113
84
  #{ $prefix } {
114
85
  position: relative; // for controls
115
- background-color: get("background-color");
86
+ background-color: color.get(get("background-color"));
116
87
  margin: get("margin-top") 0 get("margin-bottom") 0;
117
88
  }
118
89
  #{ $prefix }__track,
@@ -143,17 +114,17 @@ $config: (
143
114
  display: block;
144
115
  width: get("dot-size");
145
116
  height: get("dot-size");
146
- background-color: get("dot-background-color");
147
- border: get("dot-border-width") solid get("dot-border-color");
117
+ background-color: color.get(get("dot-background-color"));
118
+ border: get("dot-border-width") solid color.get(get("dot-border-color"));
148
119
  border-radius: get("dot-border-radius");
149
120
  &:hover {
150
- background-color: get("dot-background-color-hover");
121
+ background-color: color.get(get("dot-background-color-hover"));
151
122
  }
152
123
  }
153
124
  #{ $prefix-plugin }__nav-button--active,
154
125
  #{ $prefix-plugin }__nav-button--active:hover {
155
- background-color: get("dot-background-color-selected");
156
- border-color: get("dot-border-color-selected");
126
+ background-color: color.get(get("dot-background-color-selected"));
127
+ border-color: color.get(get("dot-border-color-selected"));
157
128
  }
158
129
  #{ $prefix-plugin }__control-button,
159
130
  #{ $prefix-plugin }__nav-button {
@@ -180,20 +151,13 @@ $config: (
180
151
  }
181
152
  #{ $prefix }__slide {
182
153
  margin: 0;
183
- // @if (get("button-size-small")) {
184
- // @include breakpoint.max(get("breakpoint")) {
185
- // $bp-slide-padding: get("button-size-small") + get("button-margin-small");
186
- // padding: get("padding-top-small") $bp-slide-padding get("padding-bottom-small") $bp-slide-padding;
187
- // }
188
- // }
189
- }
190
- // @joe-check should we remove this modifier for universal slide padding in favor of the individualized modifiers below?
154
+ }
191
155
  #{ $prefix }--slide-control-margins {
192
156
  #{ $prefix }__slide {
193
157
  padding: get("padding-top") $slide-padding-x get("padding-bottom") $slide-padding-x;
194
158
  }
195
159
  }
196
- .slide-gap-for-controls {
160
+ #{ $prefix }__slide-gap-for-controls {
197
161
  $padding: get("button-width") + get("button-margin");
198
162
  padding-left: $padding;
199
163
  padding-right: $padding;
@@ -215,7 +179,7 @@ $config: (
215
179
  }
216
180
  }
217
181
  #{ $prefix }--inset-controls {
218
- .slide-gap-for-controls {
182
+ #{ $prefix }__slide-gap-for-controls {
219
183
  $padding: get("button-width") + get("button-margin") + get("button-icon-offset-x");
220
184
  padding-left: $padding;
221
185
  padding-right: $padding;
@@ -9,41 +9,74 @@
9
9
  @use "../color";
10
10
  @use "../selector";
11
11
  @use "../breakpoint";
12
+ @use "../typography";
12
13
  @use "../element";
13
14
  @use "../utils";
14
15
 
15
16
  // Used for function fallback
16
17
  $-fallbacks: (
17
- "tablist-border-bottom" : (
18
+ "tablist-divider" : (
18
19
  "function" : meta.get-function("get-rule-style", false, "element"),
19
20
  "arguments" : ("light",)
21
+ ),
22
+ "tab-font-weight" : (
23
+ "function" : meta.get-function("get", false, "typography"),
24
+ "property" : "font-weight-semibold"
25
+ ),
26
+ "vertical-breakpoint" : (
27
+ "function" : meta.get-function("get", false, "breakpoint"),
28
+ "property" : "default"
20
29
  )
21
30
  );
22
31
 
23
32
  /// Module Settings
24
33
  /// @type Map
25
- /// @prop {Dimension} border-radius [8px] The border radius of the tabs.
26
- /// @prop {Dimension} border-width [0.25em] The width of the tab border.
27
- /// @prop {Dimension} margin [2rem] The gap between tabs and above and below tabs.
34
+ /// @prop {Dimension} margin [(2rem, 0)] The margin for the tabs container
28
35
  /// @prop {Dimension} print-margin [1.5em] Margin between tabs when stacked for print
29
- /// @prop {CssValue} tablist-border-bottom [true] The bottom border of the tabs. If set to true, will use the element.scss property for "get-rule-style".
36
+ /// @prop {CssValue} tablist-divider [true] The border separating the tabs from the panels. By default (true) will use element rule light style
37
+ /// @prop {Dimension} tablist-divider-width [1px] The width of the divider
30
38
  /// @prop {Color} tabpanel-background-color [rgb(245, 245, 245)] The tabpanel background color.
31
- /// @prop {Color} tab-border-color-selected [currentColor] The border color when selected.
32
- /// @prop {String} tab-color [link] The type color for the tabs. This uses color.scss, so the value of this options should be a variable from color.scss.
33
- /// @prop {String} tab-color-hover [link-hover] The type color for the tabs when hovered or focused. This uses color.scss, so the value of this options should be a variable from color.scss.
34
- /// @prop {String} tab-color-selected [selected] The tab type color when selected. This uses color.scss, so the value of this options should be a variable from color.scss.
39
+ /// @prop {Dimension} tabpanel-padding [(2rem,)] Padding for the tabpanel
40
+ /// @prop {Dimension} indicator-size [0.25em] The size of the tab's active border/indicator
41
+ /// @prop {Color} indicator-color [currentColor] The color of the indicator
42
+ /// @prop {Color} tab-color [link] The type color for the tabs. This uses color.scss, so the value of this options should be a variable from color.scss.
43
+ /// @prop {Color} tab-color-hover [link-hover] The type color for the tabs when hovered or focused. This uses color.scss, so the value of this options should be a variable from color.scss.
44
+ /// @prop {Color} tab-color-selected [selected] The tab type color when selected. This uses color.scss, so the value of this options should be a variable from color.scss.
45
+ /// @prop {Color} tab-background-color-selected [null] The tab background color when selected
46
+ /// @prop {CssValue} tab-font-weight [true] The font weight for the tab, defaults to typography "font-weight-semibold"
47
+ /// @prop {Dimension} tab-padding [0.75em 0.1em 0.75em 0.1em] Padding for the tab
48
+ /// @prop {Dimension} tab-gap [1em] Gap between tabs
49
+ /// @prop {Dimension} vertical-tablist-width [minmax(15rem, 30%),] The width of the tablist column when tabs are layout is vertical
50
+ /// @prop {Dimension} vertical-tab-padding [(0.25em 0.75em)] Tab padding when vertical
51
+ /// @prop {Dimension} vertical-divider-width [0px] Divider between tabs and panels when vertical
52
+ /// @prop {Dimension} vertical-tab-gap [0.75em] The gap between tabs when vertical
53
+ /// @prop {Boolean} vertical-indicator-left [true] The indicator for selected tab should be on the left when vertical (false will be on right/inside)
54
+ /// @prop {Boolean} vertical-breakpoint [true] Set the breakpoint when the vertical tabs should switch to horizontal (defaults to breakpoint 'default')
55
+ /// @prop {Boolean} horizontal-tab-wrap [false] Set to true to allow line wrapping when the tabs are in horizontal orientation, vertical is always allowed to wrap
35
56
 
36
57
  $config: (
37
- "border-radius" : 8px,
38
- "border-width" : 0.25em,
39
- "margin" : 2rem,
58
+ "margin" : (2rem, 0),
40
59
  "print-margin" : 1.5em,
41
- "tablist-border-bottom" : true,
42
- "tabpanel-background-color" : rgb(245, 245, 245),
43
- "tab-border-color-selected" : currentColor,
44
- "tab-color" : "link",
60
+ "tablist-divider" : true,
61
+ "tablist-divider-width" : 1px,
62
+ "indicator-size" : 3px,
63
+ "indicator-color" : currentColor,
64
+ "tab-color" : "type-tertiary",
45
65
  "tab-color-hover" : "link-hover",
46
66
  "tab-color-selected" : "selected",
67
+ "tab-background-color-selected" : null,
68
+ "tab-font-weight" : true,
69
+ "tab-padding" : (0.75em),
70
+ "tab-gap" : 1em,
71
+ "tabpanel-background-color" : #f6f6f6,
72
+ "tabpanel-padding" : (2rem),
73
+ "vertical-tablist-width" : minmax(15rem, 30%),
74
+ "vertical-tab-padding" : (0.25em 0.75em),
75
+ "vertical-divider-width" : 0px,
76
+ "vertical-tab-gap" : 0.75em,
77
+ "vertical-indicator-left" : true,
78
+ "vertical-breakpoint" : true,
79
+ "horizontal-tab-wrap" : false
47
80
  ) !default;
48
81
 
49
82
  /// Change modules $config
@@ -73,75 +106,108 @@ $config: (
73
106
  @include utils.file-header("component", "tabs");
74
107
 
75
108
  $prefix: selector.class("tabs");
109
+ $tabpanel-spacing: utils.get-spacing(get("tabpanel-padding"));
76
110
 
77
111
  #{ $prefix } {
78
- margin-bottom: get("margin");
79
- margin-top: get("margin");
112
+ margin: get("margin");
80
113
  [role="tablist"] {
81
114
  position: relative;
82
115
  z-index: 2;
83
116
  display: flex;
117
+ gap: get("tab-gap");
84
118
  overflow-x: auto;
85
- margin-bottom: -1px;
86
- border-bottom: get("tablist-border-bottom");
119
+ border-bottom: get("tablist-divider");
120
+ border-bottom-width: get("tablist-divider-width");
87
121
  }
88
122
  [role="tab"] {
89
123
  display: block;
90
124
  position: relative;
91
125
  cursor: pointer;
92
- padding: 0.75em 0.1em 0.75em 0.1em;
93
- color: color.get(get("tab-color"));
94
- font-weight: bold;
95
- border-bottom: get("border-width") solid transparent;
96
126
  text-align: center;
97
- white-space: nowrap;
98
- &:not(:first-child) {
99
- margin-left: 1.25em;
100
- @include breakpoint.min("small") {
101
- margin-left: 2em;
102
- }
127
+ padding: get("tab-padding");
128
+ color: color.get(get("tab-color"));
129
+ font-weight: get("tab-font-weight");
130
+ @if (not get("horizontal-tab-wrap")) {
131
+ white-space: nowrap;
132
+ }
133
+ // Indicator
134
+ &::after {
135
+ content: "";
136
+ position: absolute;
137
+ background-color: color.get(get("indicator-color"));
138
+ opacity: 0;
139
+ bottom: 0;
140
+ left: 0;
141
+ right: 0;
142
+ height: get("indicator-size");
103
143
  }
104
144
  &:hover {
105
145
  color: color.get(get("tab-color-hover"));
106
146
  }
107
- &:hover,
108
- &:focus,
109
- &[aria-selected="true"] {
110
- border-bottom-color: currentColor;
111
- }
112
147
  &[aria-selected="true"] {
113
148
  color: color.get(get("tab-color-selected"));
114
- border-bottom-color: get("tab-border-color-selected");
115
- opacity: 1;
149
+ background-color: color.get(get("tab-background-color-selected"));
150
+ &::after {
151
+ opacity: 1;
152
+ }
116
153
  }
117
154
  }
118
155
  [role="tabpanel"] {
119
156
  position: relative;
120
157
  z-index: 1;
121
- padding: 2rem get("margin");
122
- margin-bottom: -1px;
158
+ padding: get("tabpanel-padding");
123
159
  overflow: hidden;
160
+ background-color: color.get(get("tabpanel-background-color"));
161
+ }
162
+ }
163
+ // For images, etc that should fill tabpanel
164
+ #{ $prefix }__tabpanel-content-fill {
165
+ margin-left: -(map.get($tabpanel-spacing, "left"));
166
+ margin-right: -(map.get($tabpanel-spacing, "right"));
167
+ width: calc(100% + #{ map.get($tabpanel-spacing, "left") + map.get($tabpanel-spacing, "right") });
168
+ max-width: none;
169
+ &:first-child {
170
+ margin-top: -(map.get($tabpanel-spacing, "top"));
171
+ }
172
+ &:last-child {
173
+ margin-bottom: -(map.get($tabpanel-spacing, "bottom"));
174
+ }
175
+ }
124
176
 
125
- background-color: get("tabpanel-background-color");
126
- [class*="video-embed"],
127
- .full-width-image {
128
- margin-left: -(get("margin"));
129
- margin-right: -(get("margin"));
130
- width: calc(100% + #{ get("margin") * 2 });
131
- max-width: none;
132
- &:first-child {
133
- margin-top: -2rem;
134
- }
135
- &:last-child {
136
- margin-bottom: -2rem;
177
+ @include breakpoint.min(get("vertical-breakpoint")) {
178
+ #{ $prefix }--vertical {
179
+ display: grid;
180
+ grid-template-columns: get("vertical-tablist-width") auto;
181
+ [role="tablist"] {
182
+ flex-direction: column;
183
+ gap: get("vertical-tab-gap");
184
+ border-right: get("tablist-divider");
185
+ border-right-width: get("vertical-divider-width");
186
+ border-bottom: none;
187
+ grid-column: 1;
188
+ }
189
+ [role="tab"] {
190
+ padding: get("vertical-tab-padding");
191
+ white-space: normal;
192
+ text-align: left;
193
+ &::after {
194
+ left: if(get("vertical-indicator-left"), 0, auto);
195
+ right: if(not get("vertical-indicator-left"), 0, auto);;
196
+ bottom: 0;
197
+ top: 0;
198
+ width: get("indicator-size");
199
+ height: auto;
137
200
  }
138
201
  }
202
+ [role="tabpanel"] {
203
+ grid-column: 2; // needed for equalHeights in vertical
204
+ }
139
205
  }
140
206
  }
207
+
141
208
  #{ $prefix }--transparent {
142
209
  [role="tablist"] {
143
210
  background-color: transparent;
144
- box-shadow: none;
145
211
  padding-left: 0;
146
212
  padding-right: 0;
147
213
  }
@@ -155,13 +221,13 @@ $config: (
155
221
  #{ $prefix }--full-width {
156
222
  > [role="tablist"] {
157
223
  justify-content: safe center;
158
- box-shadow: 0 4px 4px rgba(0,0,0,0.2);
159
224
  }
160
225
  >[role="tabpanel"] {
161
226
  background-color: transparent;
162
227
  padding: 0;
163
228
  }
164
229
  }
230
+
165
231
  // Display all tabs during print
166
232
  #{ $prefix }--print {
167
233
  @media print {
@@ -23,6 +23,20 @@ $-fallbacks: (
23
23
 
24
24
  /// Module Settings
25
25
  /// @type Map
26
+ /// @prop {CssValue} font-weight [normal] Font weight for the tag text.
27
+ /// @prop {String} font-family [true] Font family for the tag text.
28
+ /// @prop {CssValue} box-shadow [none] Box shadow for the tag.
29
+ /// @prop {Dimension} padding [(0.4em 0.75em)] Inner padding for the tag.
30
+ /// @prop {CssValue} vertical-align [baseline] Vertical alignment of tag text.
31
+ /// @prop {Dimension} margin-between [0.5em] Margin between tag and other elements.
32
+ /// @prop {Dimension} margin-between-tags [0] Margin between tag and other tags.
33
+ /// @prop {Number} line-height [1] Line height for the tag text.
34
+ /// @prop {String} type-size ["small"] Font size for the tag text.
35
+ /// @prop {Color} background-color [#eaeaea] Background color of the tag.
36
+ /// @prop {Dimension} border-radius [1.25em] Border radius of the tag.
37
+ /// @prop {Color} border-color [transparent] Border color for the tag.
38
+ /// @prop {Dimension} border-width [1px] Border width of the tag.
39
+ /// @prop {String} color ["type-tertiary"] Color of the tag text.
26
40
 
27
41
  $config: (
28
42
  "font-weight" : normal,
@@ -130,7 +144,7 @@ $styles: (
130
144
  border: map.get($style, "border");
131
145
  border-radius: map.get($style, "border-radius");
132
146
  border-color: color.get(map.get($style, "border-color"));
133
- border-width: color.get(map.get($style, "border-width"));
147
+ border-width: map.get($style, "border-width");
134
148
  box-shadow: map.get($style, "box-shadow");
135
149
  padding: map.get($style, "padding");
136
150
  @if (typography.has-size($type-size)) {