@ulu/frontend 0.1.0-beta.4 → 0.1.0-beta.41

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 (295) hide show
  1. package/CHANGELOG.md +337 -1
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +28 -27
  4. package/docs-dev/assets/main.js +832 -421
  5. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  6. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  7. package/docs-dev/assets/style.css +629 -233
  8. package/docs-dev/changelog/index.html +6090 -0
  9. package/docs-dev/changelog/updates-and-changes/index.html +5109 -0
  10. package/docs-dev/demos/accordion/index.html +904 -321
  11. package/docs-dev/demos/basic-hero/index.html +111 -0
  12. package/docs-dev/demos/breakpoints-manager/index.html +5246 -0
  13. package/docs-dev/demos/button/index.html +916 -323
  14. package/docs-dev/demos/button-verbose/index.html +5238 -0
  15. package/docs-dev/demos/callout/index.html +951 -328
  16. package/docs-dev/demos/captioned-figure/index.html +904 -321
  17. package/docs-dev/demos/card/index.html +970 -748
  18. package/docs-dev/demos/card-grid/index.html +5357 -0
  19. package/docs-dev/demos/card-new/index.html +5088 -0
  20. package/docs-dev/demos/card-old/index.html +5223 -0
  21. package/docs-dev/demos/card.1/index.html +5223 -0
  22. package/docs-dev/demos/card.TRASH/index.html +5541 -0
  23. package/docs-dev/demos/counter-list/index.html +5224 -0
  24. package/docs-dev/demos/css-icons/index.html +904 -321
  25. package/docs-dev/demos/data-grid/index.html +1014 -511
  26. package/docs-dev/demos/data-table/index.html +1064 -348
  27. package/docs-dev/demos/details-group/index.html +5267 -0
  28. package/docs-dev/demos/file-save/index.html +904 -321
  29. package/docs-dev/demos/flipcard/index.html +904 -321
  30. package/docs-dev/demos/form-theme/index.html +922 -352
  31. package/docs-dev/demos/hero/index.html +12 -4
  32. package/docs-dev/demos/image-grid/index.html +12 -4
  33. package/docs-dev/demos/index.html +904 -321
  34. package/docs-dev/demos/list-inline/index.html +5220 -0
  35. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  36. package/docs-dev/demos/list-lines/index.html +5210 -0
  37. package/docs-dev/demos/menu-stack/index.html +975 -377
  38. package/docs-dev/demos/modals/index.html +1010 -357
  39. package/docs-dev/demos/nav-strip/index.html +924 -377
  40. package/docs-dev/demos/overlay-section/index.html +979 -326
  41. package/docs-dev/demos/popovers/index.html +0 -4628
  42. package/docs-dev/demos/print/index.html +904 -321
  43. package/docs-dev/demos/pull-quote/index.html +904 -321
  44. package/docs-dev/demos/rule/index.html +952 -357
  45. package/docs-dev/demos/scroll-slider/index.html +72 -106
  46. package/docs-dev/demos/scrollpoints/index.html +905 -322
  47. package/docs-dev/demos/slider/index.html +12 -4
  48. package/docs-dev/demos/spoke-spinner/index.html +904 -321
  49. package/docs-dev/demos/sticky-list/index.html +5223 -0
  50. package/docs-dev/demos/tabs/index.html +944 -325
  51. package/docs-dev/demos/tag/index.html +904 -321
  52. package/docs-dev/demos/theme-toggle/index.html +5279 -0
  53. package/docs-dev/demos/tile-grid-overlay/index.html +12 -4
  54. package/docs-dev/demos/tiles/index.html +904 -321
  55. package/docs-dev/demos/tooltip/index.html +904 -321
  56. package/docs-dev/guide/building-stylesheet/index.html +904 -321
  57. package/docs-dev/guide/developing-ulu-scss-module/index.html +904 -321
  58. package/docs-dev/guide/index.html +904 -321
  59. package/docs-dev/guide/updates-and-changes/index.html +5033 -0
  60. package/docs-dev/index.html +904 -321
  61. package/docs-dev/javascript/events/index.html +901 -320
  62. package/docs-dev/javascript/index.html +904 -321
  63. package/docs-dev/javascript/settings/index.html +5400 -0
  64. package/docs-dev/javascript/ui-breakpoints/index.html +916 -335
  65. package/docs-dev/javascript/ui-collapsible/index.html +901 -320
  66. package/docs-dev/javascript/ui-details-group/index.html +5322 -0
  67. package/docs-dev/javascript/ui-dialog/index.html +967 -371
  68. package/docs-dev/javascript/ui-flipcard/index.html +964 -327
  69. package/docs-dev/javascript/ui-grid/index.html +913 -358
  70. package/docs-dev/javascript/ui-modal-builder/index.html +914 -354
  71. package/docs-dev/javascript/ui-overflow-scroller/index.html +901 -320
  72. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +901 -320
  73. package/docs-dev/javascript/ui-page/index.html +901 -320
  74. package/docs-dev/javascript/ui-popover/index.html +911 -334
  75. package/docs-dev/javascript/ui-print/index.html +901 -328
  76. package/docs-dev/javascript/ui-print-details/index.html +901 -320
  77. package/docs-dev/javascript/ui-programmatic-modal/index.html +901 -320
  78. package/docs-dev/javascript/ui-proxy-click/index.html +990 -324
  79. package/docs-dev/javascript/ui-resizer/index.html +901 -320
  80. package/docs-dev/javascript/ui-scroll-slider/index.html +941 -328
  81. package/docs-dev/javascript/ui-scrollpoint/index.html +907 -333
  82. package/docs-dev/javascript/ui-slider/index.html +1099 -327
  83. package/docs-dev/javascript/ui-tabs/index.html +914 -370
  84. package/docs-dev/javascript/ui-theme-toggle/index.html +5410 -0
  85. package/docs-dev/javascript/ui-tooltip/index.html +940 -363
  86. package/docs-dev/javascript/utils-class-logger/index.html +901 -320
  87. package/docs-dev/javascript/utils-css/index.html +5224 -0
  88. package/docs-dev/javascript/utils-dom/index.html +1054 -339
  89. package/docs-dev/javascript/utils-file-save/index.html +901 -320
  90. package/docs-dev/javascript/utils-floating-ui/index.html +901 -320
  91. package/docs-dev/javascript/utils-id/index.html +901 -320
  92. package/docs-dev/javascript/utils-pause-youtube-video/index.html +901 -320
  93. package/docs-dev/javascript/utils-system/index.html +5527 -0
  94. package/docs-dev/sass/base/color/index.html +901 -320
  95. package/docs-dev/sass/base/elements/index.html +973 -392
  96. package/docs-dev/sass/base/index/index.html +959 -378
  97. package/docs-dev/sass/base/index.html +904 -321
  98. package/docs-dev/sass/base/keyframes/index.html +901 -320
  99. package/docs-dev/sass/base/layout/index.html +966 -385
  100. package/docs-dev/sass/base/normalize/index.html +901 -320
  101. package/docs-dev/sass/base/print/index.html +901 -320
  102. package/docs-dev/sass/base/root/index.html +901 -320
  103. package/docs-dev/sass/base/typography/index.html +901 -320
  104. package/docs-dev/sass/components/accordion/index.html +1026 -445
  105. package/docs-dev/sass/components/adaptive-spacing/index.html +1027 -446
  106. package/docs-dev/sass/components/badge/index.html +1005 -424
  107. package/docs-dev/sass/components/basic-hero/index.html +5385 -0
  108. package/docs-dev/sass/components/button/index.html +952 -371
  109. package/docs-dev/sass/components/button-verbose/index.html +1089 -433
  110. package/docs-dev/sass/components/callout/index.html +1086 -482
  111. package/docs-dev/sass/components/captioned-figure/index.html +1070 -374
  112. package/docs-dev/sass/components/card/index.html +1121 -491
  113. package/docs-dev/sass/components/card-grid/index.html +973 -392
  114. package/docs-dev/sass/components/counter-list/index.html +5458 -0
  115. package/docs-dev/sass/components/css-icon/index.html +1052 -464
  116. package/docs-dev/sass/components/data-grid/index.html +1087 -499
  117. package/docs-dev/sass/components/data-table/index.html +1154 -381
  118. package/docs-dev/sass/components/fill-context/index.html +901 -320
  119. package/docs-dev/sass/components/flipcard/index.html +1071 -459
  120. package/docs-dev/sass/components/flipcard-grid/index.html +960 -379
  121. package/docs-dev/sass/components/form-theme/index.html +1349 -672
  122. package/docs-dev/sass/components/hero/index.html +1016 -387
  123. package/docs-dev/sass/components/horizontal-rule/index.html +959 -378
  124. package/docs-dev/sass/components/image-grid/index.html +966 -385
  125. package/docs-dev/sass/components/index/index.html +1004 -419
  126. package/docs-dev/sass/components/index.html +904 -321
  127. package/docs-dev/sass/components/links/index.html +901 -320
  128. package/docs-dev/sass/components/list-inline/index.html +5399 -0
  129. package/docs-dev/sass/components/list-lines/index.html +1009 -432
  130. package/docs-dev/sass/components/list-ordered/index.html +903 -322
  131. package/docs-dev/sass/components/list-unordered/index.html +901 -320
  132. package/docs-dev/sass/components/menu-stack/index.html +1050 -456
  133. package/docs-dev/sass/components/modal/index.html +1032 -444
  134. package/docs-dev/sass/components/nav-strip/index.html +1023 -442
  135. package/docs-dev/sass/components/overlay-section/index.html +1010 -429
  136. package/docs-dev/sass/components/pager/index.html +1017 -436
  137. package/docs-dev/sass/components/placeholder-block/index.html +1017 -436
  138. package/docs-dev/sass/components/popover/index.html +1068 -451
  139. package/docs-dev/sass/components/pull-quote/index.html +1017 -436
  140. package/docs-dev/sass/components/ratio-box/index.html +969 -388
  141. package/docs-dev/sass/components/rule/index.html +972 -391
  142. package/docs-dev/sass/components/scroll-slider/index.html +1019 -450
  143. package/docs-dev/sass/components/skip-link/index.html +961 -380
  144. package/docs-dev/sass/components/slider/index.html +1023 -442
  145. package/docs-dev/sass/components/spoke-spinner/index.html +961 -380
  146. package/docs-dev/sass/components/sticky-list/index.html +5603 -0
  147. package/docs-dev/sass/components/tabs/index.html +1020 -439
  148. package/docs-dev/sass/components/tag/index.html +1064 -483
  149. package/docs-dev/sass/components/tile-button/index.html +1004 -423
  150. package/docs-dev/sass/components/tile-grid/index.html +1045 -464
  151. package/docs-dev/sass/components/tile-grid-overlay/index.html +940 -359
  152. package/docs-dev/sass/components/vignette/index.html +965 -378
  153. package/docs-dev/sass/components/wysiwyg/index.html +968 -387
  154. package/docs-dev/sass/core/breakpoint/index.html +1045 -450
  155. package/docs-dev/sass/core/button/index.html +1438 -857
  156. package/docs-dev/sass/core/color/index.html +1084 -496
  157. package/docs-dev/sass/core/cssvar/index.html +950 -369
  158. package/docs-dev/sass/core/element/index.html +1504 -782
  159. package/docs-dev/sass/core/index.html +901 -320
  160. package/docs-dev/sass/core/layout/index.html +1062 -462
  161. package/docs-dev/sass/core/path/index.html +953 -372
  162. package/docs-dev/sass/core/selector/index.html +952 -371
  163. package/docs-dev/sass/core/typography/index.html +1171 -590
  164. package/docs-dev/sass/core/units/index.html +984 -403
  165. package/docs-dev/sass/core/utils/index.html +1941 -500
  166. package/docs-dev/sass/helpers/color/index.html +901 -320
  167. package/docs-dev/sass/helpers/display/index.html +902 -321
  168. package/docs-dev/sass/helpers/index/index.html +956 -375
  169. package/docs-dev/sass/helpers/index.html +904 -321
  170. package/docs-dev/sass/helpers/print/index.html +843 -292
  171. package/docs-dev/sass/helpers/typography/index.html +901 -320
  172. package/docs-dev/sass/helpers/units/index.html +950 -369
  173. package/docs-dev/sass/helpers/utilities/index.html +903 -322
  174. package/docs-dev/sass/index.html +904 -321
  175. package/js/index.js +1 -0
  176. package/js/settings.js +95 -0
  177. package/js/ui/breakpoints.js +19 -16
  178. package/js/ui/collapsible.js +8 -1
  179. package/js/ui/details-group.js +112 -0
  180. package/js/ui/dialog.js +90 -42
  181. package/js/ui/dialog.todo +2 -36
  182. package/js/ui/flipcard.js +37 -57
  183. package/js/ui/grid.js +15 -13
  184. package/js/ui/index.js +1 -0
  185. package/js/ui/modal-builder.js +45 -54
  186. package/js/ui/overflow-scroller.js +6 -4
  187. package/js/ui/popover.js +38 -38
  188. package/js/ui/print.js +16 -25
  189. package/js/ui/programmatic-modal.js +9 -3
  190. package/js/ui/proxy-click.js +50 -36
  191. package/js/ui/scroll-slider.js +24 -30
  192. package/js/ui/scrollpoint.js +28 -64
  193. package/js/ui/slider.js +61 -62
  194. package/js/ui/tabs.js +23 -36
  195. package/js/ui/theme-toggle.js +331 -94
  196. package/js/ui/tooltip.js +27 -32
  197. package/js/utils/css.js +13 -0
  198. package/js/utils/dom.js +85 -8
  199. package/js/utils/font-awesome.js +18 -0
  200. package/js/utils/index.js +2 -1
  201. package/js/utils/system.js +154 -0
  202. package/package.json +10 -7
  203. package/scss/_breakpoint.scss +16 -3
  204. package/scss/_color.scss +9 -2
  205. package/scss/_element.scss +91 -0
  206. package/scss/_layout.scss +7 -8
  207. package/scss/_utils.scss +248 -13
  208. package/scss/components/README.todos +14 -0
  209. package/scss/components/_accordion.scss +18 -20
  210. package/scss/components/_badge.scss +3 -2
  211. package/scss/components/_basic-hero.scss +112 -0
  212. package/scss/components/_button-verbose.scss +102 -20
  213. package/scss/components/_callout.scss +127 -79
  214. package/scss/components/_captioned-figure.scss +23 -5
  215. package/scss/components/_card-grid.scss +1 -1
  216. package/scss/components/_card.scss +242 -88
  217. package/scss/components/_counter-list.scss +133 -0
  218. package/scss/components/_css-icon.scss +33 -28
  219. package/scss/components/_data-grid.scss +38 -9
  220. package/scss/components/_data-table.scss +44 -4
  221. package/scss/components/_flipcard.scss +21 -15
  222. package/scss/components/_form-theme.scss +146 -135
  223. package/scss/components/_hero.scss +12 -10
  224. package/scss/components/_index.scss +24 -0
  225. package/scss/components/_list-inline.scss +80 -0
  226. package/scss/components/_list-lines.scss +44 -33
  227. package/scss/components/_list-ordered.scss +0 -1
  228. package/scss/components/_menu-stack.scss +42 -26
  229. package/scss/components/_modal.scss +29 -19
  230. package/scss/components/_nav-strip.scss +25 -16
  231. package/scss/components/_overlay-section.scss +4 -6
  232. package/scss/components/_pager.scss +6 -6
  233. package/scss/components/_placeholder-block.scss +4 -4
  234. package/scss/components/_popover.scss +174 -73
  235. package/scss/components/_pull-quote.scss +13 -13
  236. package/scss/components/_ratio-box.scss +2 -5
  237. package/scss/components/_rule.scss +1 -1
  238. package/scss/components/_scroll-slider.scss +2 -6
  239. package/scss/components/_skip-link.scss +2 -1
  240. package/scss/components/_slider.scss +17 -38
  241. package/scss/components/_spoke-spinner.scss +2 -2
  242. package/scss/components/_sticky-list.scss +206 -0
  243. package/scss/components/_tabs.scss +4 -2
  244. package/scss/components/_tag.scss +1 -1
  245. package/scss/components/_vignette.scss +3 -5
  246. package/scss/helpers/_display.scss +15 -18
  247. package/scss/helpers/_print.scss +12 -7
  248. package/scss/helpers/_utilities.scss +42 -32
  249. package/types/index.d.ts +1 -0
  250. package/types/settings.d.ts +66 -0
  251. package/types/settings.d.ts.map +1 -0
  252. package/types/ui/breakpoints.d.ts +14 -14
  253. package/types/ui/breakpoints.d.ts.map +1 -1
  254. package/types/ui/collapsible.d.ts.map +1 -1
  255. package/types/ui/details-group.d.ts +38 -0
  256. package/types/ui/details-group.d.ts.map +1 -0
  257. package/types/ui/dialog.d.ts +20 -14
  258. package/types/ui/dialog.d.ts.map +1 -1
  259. package/types/ui/flipcard.d.ts +16 -10
  260. package/types/ui/flipcard.d.ts.map +1 -1
  261. package/types/ui/grid.d.ts +4 -6
  262. package/types/ui/grid.d.ts.map +1 -1
  263. package/types/ui/index.d.ts +1 -0
  264. package/types/ui/modal-builder.d.ts +8 -11
  265. package/types/ui/modal-builder.d.ts.map +1 -1
  266. package/types/ui/overflow-scroller.d.ts +2 -2
  267. package/types/ui/overflow-scroller.d.ts.map +1 -1
  268. package/types/ui/popover.d.ts +6 -7
  269. package/types/ui/popover.d.ts.map +1 -1
  270. package/types/ui/print.d.ts +0 -4
  271. package/types/ui/print.d.ts.map +1 -1
  272. package/types/ui/programmatic-modal.d.ts.map +1 -1
  273. package/types/ui/proxy-click.d.ts +19 -3
  274. package/types/ui/proxy-click.d.ts.map +1 -1
  275. package/types/ui/scroll-slider.d.ts +5 -7
  276. package/types/ui/scroll-slider.d.ts.map +1 -1
  277. package/types/ui/scrollpoint.d.ts +3 -8
  278. package/types/ui/scrollpoint.d.ts.map +1 -1
  279. package/types/ui/slider.d.ts +24 -14
  280. package/types/ui/slider.d.ts.map +1 -1
  281. package/types/ui/tabs.d.ts +6 -8
  282. package/types/ui/tabs.d.ts.map +1 -1
  283. package/types/ui/theme-toggle.d.ts +51 -7
  284. package/types/ui/theme-toggle.d.ts.map +1 -1
  285. package/types/ui/tooltip.d.ts +3 -5
  286. package/types/ui/tooltip.d.ts.map +1 -1
  287. package/types/utils/css.d.ts +11 -0
  288. package/types/utils/css.d.ts.map +1 -0
  289. package/types/utils/dom.d.ts +45 -6
  290. package/types/utils/dom.d.ts.map +1 -1
  291. package/types/utils/font-awesome.d.ts +5 -0
  292. package/types/utils/font-awesome.d.ts.map +1 -0
  293. package/types/utils/index.d.ts +1 -0
  294. package/types/utils/system.d.ts +113 -0
  295. package/types/utils/system.d.ts.map +1 -0
@@ -6,11 +6,13 @@
6
6
  @forward "accordion" as accordion-*;
7
7
  @forward "adaptive-spacing" as adaptive-spacing-*;
8
8
  @forward "badge" as badge-*;
9
+ @forward "basic-hero" as basic-hero-*;
9
10
  @forward "button" as button-*;
10
11
  @forward "button-verbose" as button-verbose-*;
11
12
  @forward "callout" as callout-*;
12
13
  @forward "card" as card-*;
13
14
  @forward "card-grid" as card-grid-*;
15
+ @forward "counter-list" as counter-list-*;
14
16
  @forward "css-icon" as css-icon-*;
15
17
  @forward "data-grid" as data-grid-*;
16
18
  @forward "data-table" as data-table-*;
@@ -22,6 +24,7 @@
22
24
  @forward "image-grid" as image-grid-*;
23
25
  @forward "links" as links-*;
24
26
  @forward "list-lines" as list-lines-*;
27
+ @forward "list-inline" as list-inline-*;
25
28
  @forward "list-ordered" as list-ordered-*;
26
29
  @forward "list-unordered" as list-unordered-*;
27
30
  @forward "menu-stack" as menu-stack-*;
@@ -36,6 +39,7 @@
36
39
  @forward "rule" as rule-*;
37
40
  @forward "scroll-slider" as scroll-slider-*;
38
41
  @forward "skip-link" as skip-link-*;
42
+ @forward "sticky-list" as sticky-list-*;
39
43
  @forward "slider" as slider-*;
40
44
  @forward "hero" as hero-*;
41
45
  @forward "tabs" as tabs-*;
@@ -54,11 +58,13 @@
54
58
  @use "adaptive-spacing";
55
59
  @use "accordion";
56
60
  @use "badge";
61
+ @use "basic-hero";
57
62
  @use "button";
58
63
  @use "button-verbose";
59
64
  @use "callout";
60
65
  @use "card";
61
66
  @use "card-grid";
67
+ @use "counter-list";
62
68
  @use "css-icon";
63
69
  @use "data-grid";
64
70
  @use "data-table";
@@ -69,6 +75,7 @@
69
75
  @use "horizontal-rule";
70
76
  @use "image-grid";
71
77
  @use "list-lines";
78
+ @use "list-inline";
72
79
  @use "list-ordered";
73
80
  @use "list-unordered";
74
81
  @use "links";
@@ -84,6 +91,7 @@
84
91
  @use "rule";
85
92
  @use "scroll-slider";
86
93
  @use "skip-link";
94
+ @use "sticky-list";
87
95
  @use "slider";
88
96
  @use "hero";
89
97
  @use "tabs";
@@ -103,11 +111,13 @@ $all-includes: (
103
111
  "accordion",
104
112
  "adaptive-spacing",
105
113
  "badge",
114
+ "basic-hero",
106
115
  "button",
107
116
  "button-verbose",
108
117
  "callout",
109
118
  "card",
110
119
  "card-grid",
120
+ "counter-list",
111
121
  "css-icon",
112
122
  "data-grid",
113
123
  "data-table",
@@ -119,6 +129,7 @@ $all-includes: (
119
129
  "image-grid",
120
130
  "links",
121
131
  "list-lines",
132
+ "list-inline",
122
133
  "list-ordered",
123
134
  "list-unordered",
124
135
  "menu-stack",
@@ -131,6 +142,7 @@ $all-includes: (
131
142
  "rule",
132
143
  "scroll-slider",
133
144
  "skip-link",
145
+ "sticky-list",
134
146
  "slider",
135
147
  "hero",
136
148
  "tabs",
@@ -196,6 +208,9 @@ $current-includes: $all-includes;
196
208
  @if (list.index($includes, "badge")) {
197
209
  @include badge.styles;
198
210
  }
211
+ @if (list.index($includes, "basic-hero")) {
212
+ @include basic-hero.styles;
213
+ }
199
214
  @if (list.index($includes, "tag")) {
200
215
  @include tag.styles;
201
216
  }
@@ -208,6 +223,9 @@ $current-includes: $all-includes;
208
223
  @if (list.index($includes, "card-grid")) {
209
224
  @include card-grid.styles;
210
225
  }
226
+ @if (list.index($includes, "counter-list")) {
227
+ @include counter-list.styles;
228
+ }
211
229
  @if (list.index($includes, "css-icon")) {
212
230
  @include css-icon.styles;
213
231
  }
@@ -241,6 +259,9 @@ $current-includes: $all-includes;
241
259
  @if (list.index($includes, "list-lines")) {
242
260
  @include list-lines.styles;
243
261
  }
262
+ @if (list.index($includes, "list-inline")) {
263
+ @include list-inline.styles;
264
+ }
244
265
  @if (list.index($includes, "list-unordered")) {
245
266
  @include list-unordered.styles;
246
267
  }
@@ -283,6 +304,9 @@ $current-includes: $all-includes;
283
304
  @if (list.index($includes, "skip-link")) {
284
305
  @include skip-link.styles;
285
306
  }
307
+ @if (list.index($includes, "sticky-list")) {
308
+ @include sticky-list.styles;
309
+ }
286
310
  @if (list.index($includes, "slider")) {
287
311
  @include slider.styles;
288
312
  }
@@ -0,0 +1,80 @@
1
+ ////
2
+ /// @group list-inline
3
+ ////
4
+
5
+ @use "sass:map";
6
+
7
+ @use "../element";
8
+ @use "../selector";
9
+ @use "../utils";
10
+
11
+ /// Module Config
12
+ /// @prop {String} rule-style ["light"] Name of element > rule style to use for divider/border
13
+ /// @prop {Dimension} margin-top [0] Top margin of list.
14
+ /// @prop {Dimension} margin-bottom [1em] Bottom margin of list.
15
+ /// @prop {Dimension} space-between [1em] Gap between item and dividers
16
+ /// @prop {Dimension} space-between-large [1em] Gap between item and dividers when using large-gap modifier
17
+
18
+ $config: (
19
+ "rule-style" : "light",
20
+ "margin-top": 0,
21
+ "margin-bottom": 1em,
22
+ "space-between" : 1em,
23
+ "space-between-large" : 2em
24
+ ) !default;
25
+
26
+ /// Change modules $config
27
+ /// @param {Map} $changes Map of changes
28
+ /// @example scss
29
+ /// @include ulu.component-list-inline-set(( "property" : value ));
30
+
31
+ @mixin set($changes) {
32
+ $config: map.merge($config, $changes) !global;
33
+ }
34
+
35
+ /// Get a config option
36
+ /// @param {Map} $name Name of property
37
+ /// @example scss
38
+ /// @include ulu.component-list-inline-get("property");
39
+
40
+ @function get($name) {
41
+ @return utils.require-map-get($config, $name, "list-inline [config]");
42
+ }
43
+
44
+ /// Output component stylesheet
45
+ /// @example scss
46
+ /// @include ulu.component-list-inline-styles();
47
+
48
+ @mixin styles {
49
+ $prefix: selector.class("list-inline");
50
+ $border: element.get-rule-style(get("rule-style"));
51
+
52
+ ul#{ $prefix },
53
+ #{ $prefix } ul {
54
+ list-style: none;
55
+ display: inline-flex;
56
+ flex-wrap: wrap;
57
+ margin: get("margin-top") 0 get("margin-bottom") 0;
58
+ }
59
+ #{ $prefix } {
60
+ li {
61
+ // Not using flex gap because we would need to position
62
+ // pseudo for divider, so we would still need to use math
63
+ // So custom properties couldn't be used (no benefit)
64
+ padding-right: get("space-between");
65
+ margin-right: get("space-between");
66
+ border-right: $border;
67
+ &:last-child {
68
+ border-right: none;
69
+ padding-right: 0;
70
+ margin-right: 0;
71
+ }
72
+ }
73
+ }
74
+ #{ $prefix }--large-gap {
75
+ li {
76
+ padding-right: get("space-between-large");
77
+ margin-right: get("space-between-large");
78
+ }
79
+ }
80
+ }
@@ -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;
@@ -257,10 +260,17 @@ $config: (
257
260
  width: $size-width;
258
261
  }
259
262
  }
263
+
264
+ #{ $prefix }--fullscreen {
265
+ width: 100%;
266
+ height: 100%;
267
+ border-radius: 0;
268
+ }
260
269
  #{ $prefix }--right,
261
270
  #{ $prefix }--left {
262
271
  border-radius: 0;
263
272
  height: 100vh;
273
+ width: get("width-left-right");
264
274
  top: 0;
265
275
  bottom: 0;
266
276
  transform: none;
@@ -354,7 +364,7 @@ $config: (
354
364
  backdrop-filter: blur(0);
355
365
  }
356
366
  100% {
357
- background-color: get("backdrop-color");
367
+ background-color: color.get(get("backdrop-color"));
358
368
  backdrop-filter: blur(get("backdrop-blur"));
359
369
  }
360
370
  }