@ulu/frontend 0.0.3

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 (323) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/ulu-frontend.min.css +1 -0
  4. package/dist/ulu-frontend.min.js +1 -0
  5. package/index.js +2 -0
  6. package/js/deprecated/doc-ready.js +28 -0
  7. package/js/deprecated/jquery-prototypes.js +309 -0
  8. package/js/deprecated/mini-collapsible-popper-positioning.js +126 -0
  9. package/js/deprecated/mini-collapsible.js +607 -0
  10. package/js/deprecated/script-loader.js +60 -0
  11. package/js/events/index.js +42 -0
  12. package/js/helpers/css-breakpoint.js +247 -0
  13. package/js/helpers/file-save.js +48 -0
  14. package/js/helpers/node-data-manager.js +74 -0
  15. package/js/helpers/pause-youtube-video.js +42 -0
  16. package/js/helpers/scrollbar-width-property.js +10 -0
  17. package/js/index.js +15 -0
  18. package/js/polyfills/element-closest.js +17 -0
  19. package/js/ui/flipcard.js +202 -0
  20. package/js/ui/grid.js +67 -0
  21. package/js/ui/modals.js +219 -0
  22. package/js/ui/overflow-scroller-pager.js +58 -0
  23. package/js/ui/overflow-scroller.js +160 -0
  24. package/js/ui/programmatic-modal.js +91 -0
  25. package/js/ui/resizer.js +60 -0
  26. package/js/ui/slider.js +468 -0
  27. package/js/ui/tabs.js +109 -0
  28. package/js/ui/tooltip.js +82 -0
  29. package/js/utils/array.js +28 -0
  30. package/js/utils/dom.js +122 -0
  31. package/js/utils/logger.js +69 -0
  32. package/js/utils/object.js +22 -0
  33. package/js/utils/performance.js +43 -0
  34. package/js/utils/regex.js +10 -0
  35. package/js/utils/string.js +107 -0
  36. package/js/waypoints/README.md +3 -0
  37. package/js/waypoints/anchor-menu.js +76 -0
  38. package/js/waypoints/element-waypoint.js +75 -0
  39. package/js/waypoints/examples/page-link-menu.md +106 -0
  40. package/js/waypoints/state-in-attribute.js +32 -0
  41. package/package.json +38 -0
  42. package/scss/README.md +58 -0
  43. package/scss/_breakpoint.scss +190 -0
  44. package/scss/_button.scss +241 -0
  45. package/scss/_calculate.scss +64 -0
  46. package/scss/_color.scss +211 -0
  47. package/scss/_cssvar.scss +116 -0
  48. package/scss/_element.scss +276 -0
  49. package/scss/_grid.scss +699 -0
  50. package/scss/_index.scss +29 -0
  51. package/scss/_layout.scss +202 -0
  52. package/scss/_path.scss +58 -0
  53. package/scss/_selector.scss +81 -0
  54. package/scss/_typography.scss +320 -0
  55. package/scss/_units.scss +47 -0
  56. package/scss/_utility.scss +12 -0
  57. package/scss/_utils.scss +209 -0
  58. package/scss/base/_color.scss +13 -0
  59. package/scss/base/_elements.scss +188 -0
  60. package/scss/base/_index.scss +62 -0
  61. package/scss/base/_keyframes.scss +78 -0
  62. package/scss/base/_layout.scss +100 -0
  63. package/scss/base/_normalize.scss +315 -0
  64. package/scss/base/_typography.scss +41 -0
  65. package/scss/components/README.md +5 -0
  66. package/scss/components/README.todos +15 -0
  67. package/scss/components/_button.scss +95 -0
  68. package/scss/components/_index.scss +63 -0
  69. package/scss/components/_links.scss +34 -0
  70. package/scss/components/_list-lines.scss +73 -0
  71. package/scss/components/_list-ordered.scss +16 -0
  72. package/scss/components/_list-unordered.scss +21 -0
  73. package/scss/components/_rule.scss +93 -0
  74. package/scss/helpers/_color.scss +14 -0
  75. package/scss/helpers/_display.scss +73 -0
  76. package/scss/helpers/_index.scss +67 -0
  77. package/scss/helpers/_print.scss +58 -0
  78. package/scss/helpers/_typography.scss +80 -0
  79. package/scss/helpers/_units.scss +79 -0
  80. package/scss/helpers/_utilities.scss +102 -0
  81. package/scss/stylesheets/README.md +3 -0
  82. package/scss/stylesheets/full.scss +17 -0
  83. package/trash/js-old/deprecated/doc-ready.js +28 -0
  84. package/trash/js-old/deprecated/jquery-prototypes.js +309 -0
  85. package/trash/js-old/deprecated/mini-collapsible-popper-positioning.js +126 -0
  86. package/trash/js-old/deprecated/mini-collapsible.js +607 -0
  87. package/trash/js-old/deprecated/script-loader.js +60 -0
  88. package/trash/js-old/events/index.js +42 -0
  89. package/trash/js-old/helpers/css-breakpoint.js +247 -0
  90. package/trash/js-old/helpers/file-save.js +48 -0
  91. package/trash/js-old/helpers/node-data-manager.js +74 -0
  92. package/trash/js-old/helpers/pause-youtube-video.js +42 -0
  93. package/trash/js-old/index.js +15 -0
  94. package/trash/js-old/polyfills/element-closest.js +17 -0
  95. package/trash/js-old/ui/flipcard.js +202 -0
  96. package/trash/js-old/ui/grid.js +67 -0
  97. package/trash/js-old/ui/modals.js +219 -0
  98. package/trash/js-old/ui/programmatic-modal.js +91 -0
  99. package/trash/js-old/ui/resizer.js +60 -0
  100. package/trash/js-old/ui/slider.js +469 -0
  101. package/trash/js-old/ui/tabs.js +109 -0
  102. package/trash/js-old/ui/tooltip.js +82 -0
  103. package/trash/js-old/utils/array.js +28 -0
  104. package/trash/js-old/utils/dom.js +122 -0
  105. package/trash/js-old/utils/logger.js +69 -0
  106. package/trash/js-old/utils/object.js +22 -0
  107. package/trash/js-old/utils/performance.js +43 -0
  108. package/trash/js-old/utils/regex.js +10 -0
  109. package/trash/js-old/utils/string.js +107 -0
  110. package/trash/js-old/waypoints/README.md +3 -0
  111. package/trash/js-old/waypoints/anchor-menu.js +76 -0
  112. package/trash/js-old/waypoints/element-waypoint.js +75 -0
  113. package/trash/js-old/waypoints/examples/page-link-menu.md +106 -0
  114. package/trash/js-old/waypoints/state-in-attribute.js +32 -0
  115. package/trash/js-old-230729/deprecated/doc-ready.js +28 -0
  116. package/trash/js-old-230729/deprecated/jquery-prototypes.js +309 -0
  117. package/trash/js-old-230729/deprecated/mini-collapsible-popper-positioning.js +126 -0
  118. package/trash/js-old-230729/deprecated/mini-collapsible.js +607 -0
  119. package/trash/js-old-230729/deprecated/script-loader.js +60 -0
  120. package/trash/js-old-230729/events/index.js +42 -0
  121. package/trash/js-old-230729/helpers/css-breakpoint.js +247 -0
  122. package/trash/js-old-230729/helpers/file-save.js +48 -0
  123. package/trash/js-old-230729/helpers/node-data-manager.js +74 -0
  124. package/trash/js-old-230729/helpers/pause-youtube-video.js +42 -0
  125. package/trash/js-old-230729/helpers/scrollbar-width-property.js +10 -0
  126. package/trash/js-old-230729/index.js +15 -0
  127. package/trash/js-old-230729/polyfills/element-closest.js +17 -0
  128. package/trash/js-old-230729/ui/flipcard.js +202 -0
  129. package/trash/js-old-230729/ui/grid.js +67 -0
  130. package/trash/js-old-230729/ui/modals.js +219 -0
  131. package/trash/js-old-230729/ui/overflow-scroller-pager.js +58 -0
  132. package/trash/js-old-230729/ui/overflow-scroller.js +160 -0
  133. package/trash/js-old-230729/ui/programmatic-modal.js +91 -0
  134. package/trash/js-old-230729/ui/resizer.js +60 -0
  135. package/trash/js-old-230729/ui/slider.js +468 -0
  136. package/trash/js-old-230729/ui/tabs.js +109 -0
  137. package/trash/js-old-230729/ui/tooltip.js +82 -0
  138. package/trash/js-old-230729/utils/array.js +28 -0
  139. package/trash/js-old-230729/utils/dom.js +122 -0
  140. package/trash/js-old-230729/utils/logger.js +69 -0
  141. package/trash/js-old-230729/utils/object.js +22 -0
  142. package/trash/js-old-230729/utils/performance.js +43 -0
  143. package/trash/js-old-230729/utils/regex.js +10 -0
  144. package/trash/js-old-230729/utils/string.js +107 -0
  145. package/trash/js-old-230729/waypoints/README.md +3 -0
  146. package/trash/js-old-230729/waypoints/anchor-menu.js +76 -0
  147. package/trash/js-old-230729/waypoints/element-waypoint.js +75 -0
  148. package/trash/js-old-230729/waypoints/examples/page-link-menu.md +106 -0
  149. package/trash/js-old-230729/waypoints/state-in-attribute.js +32 -0
  150. package/trash/logo-1.svg +13 -0
  151. package/trash/logo.svg +16 -0
  152. package/trash/scss-before-cqc-update/README.md +58 -0
  153. package/trash/scss-before-cqc-update/_breakpoint.scss +190 -0
  154. package/trash/scss-before-cqc-update/_button.scss +229 -0
  155. package/trash/scss-before-cqc-update/_calculate.scss +65 -0
  156. package/trash/scss-before-cqc-update/_color.scss +211 -0
  157. package/trash/scss-before-cqc-update/_cssvar.scss +116 -0
  158. package/trash/scss-before-cqc-update/_element.scss +275 -0
  159. package/trash/scss-before-cqc-update/_index.scss +29 -0
  160. package/trash/scss-before-cqc-update/_layout.scss +247 -0
  161. package/trash/scss-before-cqc-update/_path.scss +59 -0
  162. package/trash/scss-before-cqc-update/_selector.scss +82 -0
  163. package/trash/scss-before-cqc-update/_typography.scss +322 -0
  164. package/trash/scss-before-cqc-update/_units.scss +48 -0
  165. package/trash/scss-before-cqc-update/_utility.scss +13 -0
  166. package/trash/scss-before-cqc-update/_utils.scss +211 -0
  167. package/trash/scss-before-cqc-update/base/_color.scss +14 -0
  168. package/trash/scss-before-cqc-update/base/_elements.scss +189 -0
  169. package/trash/scss-before-cqc-update/base/_index.scss +63 -0
  170. package/trash/scss-before-cqc-update/base/_keyframes.scss +74 -0
  171. package/trash/scss-before-cqc-update/base/_layout.scss +88 -0
  172. package/trash/scss-before-cqc-update/base/_normalize.scss +316 -0
  173. package/trash/scss-before-cqc-update/base/_typography.scss +42 -0
  174. package/trash/scss-before-cqc-update/components/README.md +5 -0
  175. package/trash/scss-before-cqc-update/components/README.todos +15 -0
  176. package/trash/scss-before-cqc-update/components/_button.scss +96 -0
  177. package/trash/scss-before-cqc-update/components/_grid.scss +671 -0
  178. package/trash/scss-before-cqc-update/components/_index.scss +70 -0
  179. package/trash/scss-before-cqc-update/components/_links.scss +35 -0
  180. package/trash/scss-before-cqc-update/components/_list-lines.scss +74 -0
  181. package/trash/scss-before-cqc-update/components/_list-ordered.scss +17 -0
  182. package/trash/scss-before-cqc-update/components/_list-unordered.scss +22 -0
  183. package/trash/scss-before-cqc-update/components/_rule.scss +94 -0
  184. package/trash/scss-before-cqc-update/helpers/_color.scss +15 -0
  185. package/trash/scss-before-cqc-update/helpers/_display.scss +73 -0
  186. package/trash/scss-before-cqc-update/helpers/_index.scss +68 -0
  187. package/trash/scss-before-cqc-update/helpers/_print.scss +59 -0
  188. package/trash/scss-before-cqc-update/helpers/_typography.scss +73 -0
  189. package/trash/scss-before-cqc-update/helpers/_units.scss +79 -0
  190. package/trash/scss-before-cqc-update/helpers/_utilities.scss +88 -0
  191. package/trash/scss-before-cqc-update/stylesheets/README.md +3 -0
  192. package/trash/scss-before-cqc-update/stylesheets/full.scss +17 -0
  193. package/trash/scss-old/README.md +58 -0
  194. package/trash/scss-old/_breakpoint.scss +140 -0
  195. package/trash/scss-old/_button.scss +223 -0
  196. package/trash/scss-old/_calculate.scss +64 -0
  197. package/trash/scss-old/_color.scss +200 -0
  198. package/trash/scss-old/_element.scss +262 -0
  199. package/trash/scss-old/_grid.scss +558 -0
  200. package/trash/scss-old/_index.scss +25 -0
  201. package/trash/scss-old/_layout.scss +170 -0
  202. package/trash/scss-old/_path.scss +58 -0
  203. package/trash/scss-old/_selector.scss +81 -0
  204. package/trash/scss-old/_typography.scss +320 -0
  205. package/trash/scss-old/_units.scss +47 -0
  206. package/trash/scss-old/_utility.scss +12 -0
  207. package/trash/scss-old/_utils.scss +186 -0
  208. package/trash/scss-old/base/_color.scss +13 -0
  209. package/trash/scss-old/base/_elements.scss +183 -0
  210. package/trash/scss-old/base/_index.scss +62 -0
  211. package/trash/scss-old/base/_keyframes.scss +74 -0
  212. package/trash/scss-old/base/_layout.scss +81 -0
  213. package/trash/scss-old/base/_normalize.scss +316 -0
  214. package/trash/scss-old/base/_typography.scss +42 -0
  215. package/trash/scss-old/components/README.md +5 -0
  216. package/trash/scss-old/components/README.todos +15 -0
  217. package/trash/scss-old/components/_button.scss +74 -0
  218. package/trash/scss-old/components/_index.scss +63 -0
  219. package/trash/scss-old/components/_links.scss +34 -0
  220. package/trash/scss-old/components/_list-lines.scss +73 -0
  221. package/trash/scss-old/components/_list-ordered.scss +16 -0
  222. package/trash/scss-old/components/_list-unordered.scss +21 -0
  223. package/trash/scss-old/components/_rule.scss +84 -0
  224. package/trash/scss-old/helpers/_color.scss +14 -0
  225. package/trash/scss-old/helpers/_display.scss +68 -0
  226. package/trash/scss-old/helpers/_index.scss +67 -0
  227. package/trash/scss-old/helpers/_print.scss +59 -0
  228. package/trash/scss-old/helpers/_typography.scss +73 -0
  229. package/trash/scss-old/helpers/_units.scss +68 -0
  230. package/trash/scss-old/helpers/_utilities.scss +82 -0
  231. package/trash/scss-old/packages/README.md +3 -0
  232. package/trash/scss-old/packages/everything.scss +17 -0
  233. package/trash/scss-old-2/README.md +58 -0
  234. package/trash/scss-old-2/_breakpoint.scss +139 -0
  235. package/trash/scss-old-2/_button.scss +223 -0
  236. package/trash/scss-old-2/_calculate.scss +64 -0
  237. package/trash/scss-old-2/_color.scss +202 -0
  238. package/trash/scss-old-2/_element.scss +263 -0
  239. package/trash/scss-old-2/_grid.scss +558 -0
  240. package/trash/scss-old-2/_index.scss +25 -0
  241. package/trash/scss-old-2/_layout.scss +170 -0
  242. package/trash/scss-old-2/_path.scss +58 -0
  243. package/trash/scss-old-2/_selector.scss +81 -0
  244. package/trash/scss-old-2/_typography.scss +320 -0
  245. package/trash/scss-old-2/_units.scss +47 -0
  246. package/trash/scss-old-2/_utility.scss +12 -0
  247. package/trash/scss-old-2/_utils.scss +186 -0
  248. package/trash/scss-old-2/base/_color.scss +13 -0
  249. package/trash/scss-old-2/base/_elements.scss +182 -0
  250. package/trash/scss-old-2/base/_index.scss +62 -0
  251. package/trash/scss-old-2/base/_keyframes.scss +73 -0
  252. package/trash/scss-old-2/base/_layout.scss +83 -0
  253. package/trash/scss-old-2/base/_normalize.scss +315 -0
  254. package/trash/scss-old-2/base/_typography.scss +41 -0
  255. package/trash/scss-old-2/components/README.md +5 -0
  256. package/trash/scss-old-2/components/README.todos +15 -0
  257. package/trash/scss-old-2/components/_button.scss +95 -0
  258. package/trash/scss-old-2/components/_index.scss +63 -0
  259. package/trash/scss-old-2/components/_links.scss +33 -0
  260. package/trash/scss-old-2/components/_list-lines.scss +73 -0
  261. package/trash/scss-old-2/components/_list-ordered.scss +16 -0
  262. package/trash/scss-old-2/components/_list-unordered.scss +21 -0
  263. package/trash/scss-old-2/components/_rule.scss +84 -0
  264. package/trash/scss-old-2/helpers/_color.scss +14 -0
  265. package/trash/scss-old-2/helpers/_display.scss +67 -0
  266. package/trash/scss-old-2/helpers/_index.scss +67 -0
  267. package/trash/scss-old-2/helpers/_print.scss +58 -0
  268. package/trash/scss-old-2/helpers/_typography.scss +72 -0
  269. package/trash/scss-old-2/helpers/_units.scss +68 -0
  270. package/trash/scss-old-2/helpers/_utilities.scss +81 -0
  271. package/trash/scss-old-2/packages/README.md +3 -0
  272. package/trash/scss-old-2/packages/everything.scss +17 -0
  273. package/trash/scss-old-230729/README.md +58 -0
  274. package/trash/scss-old-230729/_breakpoint.scss +139 -0
  275. package/trash/scss-old-230729/_button.scss +223 -0
  276. package/trash/scss-old-230729/_calculate.scss +64 -0
  277. package/trash/scss-old-230729/_color.scss +202 -0
  278. package/trash/scss-old-230729/_element.scss +273 -0
  279. package/trash/scss-old-230729/_grid.scss +694 -0
  280. package/trash/scss-old-230729/_index.scss +25 -0
  281. package/trash/scss-old-230729/_layout.scss +193 -0
  282. package/trash/scss-old-230729/_path.scss +58 -0
  283. package/trash/scss-old-230729/_selector.scss +81 -0
  284. package/trash/scss-old-230729/_typography.scss +320 -0
  285. package/trash/scss-old-230729/_units.scss +47 -0
  286. package/trash/scss-old-230729/_utility.scss +12 -0
  287. package/trash/scss-old-230729/_utils.scss +186 -0
  288. package/trash/scss-old-230729/base/_color.scss +13 -0
  289. package/trash/scss-old-230729/base/_elements.scss +188 -0
  290. package/trash/scss-old-230729/base/_index.scss +62 -0
  291. package/trash/scss-old-230729/base/_keyframes.scss +73 -0
  292. package/trash/scss-old-230729/base/_layout.scss +83 -0
  293. package/trash/scss-old-230729/base/_normalize.scss +315 -0
  294. package/trash/scss-old-230729/base/_typography.scss +41 -0
  295. package/trash/scss-old-230729/components/README.md +5 -0
  296. package/trash/scss-old-230729/components/README.todos +15 -0
  297. package/trash/scss-old-230729/components/_button.scss +95 -0
  298. package/trash/scss-old-230729/components/_index.scss +63 -0
  299. package/trash/scss-old-230729/components/_links.scss +34 -0
  300. package/trash/scss-old-230729/components/_list-lines.scss +73 -0
  301. package/trash/scss-old-230729/components/_list-ordered.scss +16 -0
  302. package/trash/scss-old-230729/components/_list-unordered.scss +21 -0
  303. package/trash/scss-old-230729/components/_rule.scss +93 -0
  304. package/trash/scss-old-230729/helpers/_color.scss +14 -0
  305. package/trash/scss-old-230729/helpers/_display.scss +73 -0
  306. package/trash/scss-old-230729/helpers/_index.scss +67 -0
  307. package/trash/scss-old-230729/helpers/_print.scss +58 -0
  308. package/trash/scss-old-230729/helpers/_typography.scss +72 -0
  309. package/trash/scss-old-230729/helpers/_units.scss +68 -0
  310. package/trash/scss-old-230729/helpers/_utilities.scss +87 -0
  311. package/trash/scss-old-230729/packages/README.md +3 -0
  312. package/trash/scss-old-230729/packages/everything.scss +17 -0
  313. package/trash/vue/directives/background-image-url.js +12 -0
  314. package/trash/vue/helpers/add-required-components.js +14 -0
  315. package/trash/vue/ui/CollapsibleRegion/CollapsibleRegion.vue +277 -0
  316. package/trash/vue/ui/CollapsibleRegion/Demo.vue +101 -0
  317. package/trash/vue/ui/Dropdown/Dropdown.vue +184 -0
  318. package/trash/vue/ui/Modals/components/Modal.vue +49 -0
  319. package/trash/vue/ui/Modals/components/Modals.vue +103 -0
  320. package/trash/vue/ui/Modals/plugin.js +215 -0
  321. package/trash/vue/ui/Modals/readme.note +10 -0
  322. package/trash/vue/ui/Modals/reference/example-usage.vue +27 -0
  323. package/trash/vue/ui/Modals/reference/wcag-example/dialog.js +324 -0
@@ -0,0 +1,315 @@
1
+ ////
2
+ /// @group normalize
3
+ ////
4
+
5
+ @use "../utils";
6
+ @use "../button";
7
+
8
+
9
+ /// Prints the normalize stylesheet. We are using modern-normalize 1.1.0
10
+ /// @link https://www.npmjs.com/package/modern-normalize Modern Normalize (NPM)
11
+ /// @example scss
12
+ /// @include ulu.base-normalize-styles();
13
+
14
+ @mixin styles {
15
+
16
+ @include utils.file-header('base', 'normalize');
17
+
18
+ /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
19
+
20
+ /*
21
+ Document
22
+ ========
23
+ */
24
+
25
+ /**
26
+ Use a better box model (opinionated).
27
+ */
28
+
29
+ // *,
30
+ // ::before,
31
+ // ::after {
32
+ // box-sizing: border-box;
33
+ // }
34
+
35
+ /**
36
+ Use a more readable tab size (opinionated).
37
+ */
38
+
39
+ html {
40
+ -moz-tab-size: 4;
41
+ tab-size: 4;
42
+ }
43
+
44
+ /**
45
+ 1. Correct the line height in all browsers.
46
+ 2. Prevent adjustments of font size after orientation changes in iOS.
47
+ */
48
+
49
+ // html {
50
+ // line-height: 1.15; /* 1 */
51
+ // -webkit-text-size-adjust: 100%; /* 2 */
52
+ // }
53
+
54
+ /*
55
+ Sections
56
+ ========
57
+ */
58
+
59
+ /**
60
+ Remove the margin in all browsers.
61
+ */
62
+
63
+ // body {
64
+ // margin: 0;
65
+ // }
66
+
67
+ /**
68
+ Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
69
+ */
70
+
71
+ // body {
72
+ // font-family:
73
+ // system-ui,
74
+ // -apple-system, /* Firefox supports this but not yet `system-ui` */
75
+ // 'Segoe UI',
76
+ // Roboto,
77
+ // Helvetica,
78
+ // Arial,
79
+ // sans-serif,
80
+ // 'Apple Color Emoji',
81
+ // 'Segoe UI Emoji';
82
+ // }
83
+
84
+ /*
85
+ Grouping content
86
+ ================
87
+ */
88
+
89
+ /**
90
+ 1. Add the correct height in Firefox.
91
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
92
+ */
93
+
94
+
95
+
96
+ /*
97
+ Text-level semantics
98
+ ====================
99
+ */
100
+
101
+ /**
102
+ Add the correct text decoration in Chrome, Edge, and Safari.
103
+ */
104
+
105
+ abbr[title] {
106
+ text-decoration: underline dotted;
107
+ }
108
+
109
+ /**
110
+ Add the correct font weight in Edge and Safari.
111
+ */
112
+
113
+ // b,
114
+ // strong {
115
+ // font-weight: bolder;
116
+ // }
117
+
118
+ /**
119
+ 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
120
+ 2. Correct the odd 'em' font sizing in all browsers.
121
+ */
122
+
123
+ // code,
124
+ // kbd,
125
+ // samp,
126
+ // pre {
127
+ // font-family:
128
+ // ui-monospace,
129
+ // SFMono-Regular,
130
+ // Consolas,
131
+ // 'Liberation Mono',
132
+ // Menlo,
133
+ // monospace; /* 1 */
134
+ // font-size: 1em; /* 2 */
135
+ // }
136
+
137
+ /**
138
+ Add the correct font size in all browsers.
139
+ */
140
+
141
+ // small {
142
+ // font-size: 80%;
143
+ // }
144
+
145
+ /**
146
+ Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
147
+ */
148
+
149
+ // sub,
150
+ // sup {
151
+ // font-size: 75%;
152
+ // line-height: 0;
153
+ // position: relative;
154
+ // vertical-align: baseline;
155
+ // }
156
+
157
+ // sub {
158
+ // bottom: -0.25em;
159
+ // }
160
+
161
+ // sup {
162
+ // top: -0.5em;
163
+ // }
164
+
165
+ /*
166
+ Tabular data
167
+ ============
168
+ */
169
+
170
+ /**
171
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
172
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
173
+ */
174
+
175
+ table {
176
+ text-indent: 0; /* 1 */
177
+ // border-color: inherit; /* 2 */
178
+ }
179
+
180
+ /*
181
+ Forms
182
+ =====
183
+ */
184
+
185
+ /**
186
+ 1. Change the font styles in all browsers.
187
+ 2. Remove the margin in Firefox and Safari.
188
+ */
189
+
190
+ button,
191
+ input,
192
+ optgroup,
193
+ select,
194
+ textarea {
195
+ font-family: inherit; /* 1 */
196
+ // font-size: 100%; /* 1 */
197
+ // line-height: 1.15; /* 1 */
198
+ line-height: inherit;
199
+ font-size: inherit;
200
+ margin: 0; /* 2 */
201
+ }
202
+
203
+ /**
204
+ Remove the inheritance of text transform in Edge and Firefox.
205
+ 1. Remove the inheritance of text transform in Firefox.
206
+ */
207
+
208
+ button,
209
+ select { /* 1 */
210
+ text-transform: none;
211
+ }
212
+
213
+ /**
214
+ Correct the inability to style clickable types in iOS and Safari.
215
+ */
216
+
217
+ button,
218
+ [type='button'],
219
+ [type='reset'],
220
+ [type='submit'] {
221
+ @include button.reset();
222
+ }
223
+
224
+ /**
225
+ Remove the inner border and padding in Firefox.
226
+ */
227
+
228
+ ::-moz-focus-inner {
229
+ border-style: none;
230
+ padding: 0;
231
+ }
232
+
233
+ /**
234
+ Restore the focus styles unset by the previous rule.
235
+ */
236
+
237
+ :-moz-focusring {
238
+ outline: 1px dotted ButtonText;
239
+ }
240
+
241
+ /**
242
+ Remove the additional ':invalid' styles in Firefox.
243
+ See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
244
+ */
245
+
246
+ :-moz-ui-invalid {
247
+ box-shadow: none;
248
+ }
249
+
250
+ /**
251
+ Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
252
+ */
253
+
254
+ legend {
255
+ padding: 0;
256
+ }
257
+
258
+ /**
259
+ Add the correct vertical alignment in Chrome and Firefox.
260
+ */
261
+
262
+ progress {
263
+ vertical-align: baseline;
264
+ }
265
+
266
+ /**
267
+ Correct the cursor style of increment and decrement buttons in Safari.
268
+ */
269
+
270
+ ::-webkit-inner-spin-button,
271
+ ::-webkit-outer-spin-button {
272
+ height: auto;
273
+ }
274
+
275
+ /**
276
+ 1. Correct the odd appearance in Chrome and Safari.
277
+ 2. Correct the outline style in Safari.
278
+ */
279
+
280
+ [type='search'] {
281
+ -webkit-appearance: textfield; /* 1 */
282
+ outline-offset: -2px; /* 2 */
283
+ }
284
+
285
+ /**
286
+ Remove the inner padding in Chrome and Safari on macOS.
287
+ */
288
+
289
+ ::-webkit-search-decoration {
290
+ -webkit-appearance: none;
291
+ }
292
+
293
+ /**
294
+ 1. Correct the inability to style clickable types in iOS and Safari.
295
+ 2. Change font properties to 'inherit' in Safari.
296
+ */
297
+
298
+ ::-webkit-file-upload-button {
299
+ -webkit-appearance: button; /* 1 */
300
+ font: inherit; /* 2 */
301
+ }
302
+
303
+ /*
304
+ Interactive
305
+ ===========
306
+ */
307
+
308
+ /*
309
+ Add the correct display in Chrome and Safari.
310
+ */
311
+
312
+ summary {
313
+ display: list-item;
314
+ }
315
+ }
@@ -0,0 +1,41 @@
1
+ ////
2
+ /// @group typography
3
+ ////
4
+
5
+ @use "sass:map";
6
+ @use "../typography";
7
+ @use "../selector";
8
+ @use "../utils";
9
+
10
+ /// Prints elements base styles
11
+ /// @example scss
12
+ /// @include ulu.base-typography-styles();
13
+ /// @example raw Example of type size as base unprefixed
14
+ /// <span class="h1">A</span>
15
+ /// <span class="h2">A</span>
16
+ /// <span class="h3">A</span>
17
+ /// <span class="h4">A</span>
18
+ /// <span class="h5">A</span>
19
+ /// <span class="h6">A</span>
20
+
21
+ @mixin styles {
22
+
23
+ @include utils.file-header('base', 'typography');
24
+
25
+ $prefix: selector.class("type");
26
+
27
+ // Print base typographic sizes
28
+ @each $size, $values in typography.$sizes {
29
+ @if (map.get($values, "base-class")) {
30
+ @if (map.get($values, "base-class-prefixed")) {
31
+ #{ $prefix }-#{$size} {
32
+ @include typography.size($size);
33
+ }
34
+ } @else {
35
+ .#{$size} {
36
+ @include typography.size($size);
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,5 @@
1
+ # About Components
2
+
3
+ - Won't always offer the ability to rename styles
4
+ - Components are reusable elements
5
+ - They contain styles (unlike libraries)
@@ -0,0 +1,15 @@
1
+ Todos:
2
+ ☐ Need to move links and buttons and rules to base
3
+ ☐ Leave components for complicated selectors, that shouldn't need to be as systemtized or configured. If they need to be configured or altered users can copy the pattern in their own styles
4
+
5
+ ☐ Could consider changing helpers and base to @important
6
+ - styles
7
+ * all base and helper styles (configurable, usually needed in all sites)
8
+ * Maybe user chooses where these end up
9
+ * Configuration (base vs override)
10
+ - components
11
+ * More complicated components
12
+ *
13
+ * May override base styles
14
+ * May contain layouts
15
+ * May wrap or contain base (button vs button-group)
@@ -0,0 +1,95 @@
1
+ ////
2
+ /// @group button
3
+ ////
4
+
5
+ @use "sass:map";
6
+ // @use "sass:selector" as sassSelector;
7
+ @use "../typography";
8
+ @use "../selector";
9
+ @use "../utils";
10
+ @use "../button";
11
+
12
+ $config: (
13
+ "icon-margin" : 1em
14
+ ) !default;
15
+
16
+ /// Change modules $config
17
+ /// @param {Map} $changes Map of changes
18
+ /// @include module-name.set(( "property" : value ));
19
+
20
+ @mixin set($changes) {
21
+ $config: map.merge($config, $changes) !global;
22
+ }
23
+
24
+ /// Get a config option
25
+ /// @param {Map} $name Name of property
26
+ /// @include module-name.get("property");
27
+
28
+ @function get($name) {
29
+ @return utils.require-map-get($config, $name, "component-button [config]");
30
+ }
31
+
32
+ /// Prints button component styles
33
+ /// @example scss
34
+ /// @include ulu.component-button-styles();
35
+ /// @example raw
36
+ /// <a class="button" href="#">Button Default</a>
37
+
38
+ @mixin styles {
39
+ @include utils.file-header('component', 'button');
40
+
41
+ $prefix: selector.class("button");
42
+ // $printContextual: get("contextual-classes");
43
+ // $classContextual: "#{ selector.class("button-inside") } ;
44
+ $icon-selector: "#{ $prefix }--icon";
45
+ $printDescendant: "#{ $prefix }--icon";
46
+
47
+ #{ $prefix } {
48
+ @include button.default();
49
+ }
50
+ #{ $prefix }__icon {
51
+ &:first-child {
52
+ margin-right: get("icon-margin");
53
+ }
54
+ &:last-child {
55
+ margin-left: get("icon-margin");
56
+ }
57
+ }
58
+
59
+ @each $size, $values in button.$sizes {
60
+ #{ $prefix }--#{$size} {
61
+ @include button.size($size);
62
+ }
63
+ }
64
+
65
+ @each $style, $values in button.$styles {
66
+ #{ $prefix }--#{$style} {
67
+ @include button.style($style);
68
+ }
69
+ }
70
+
71
+ #{ $icon-selector } {
72
+ display: inline-flex;
73
+ align-items: center;
74
+ justify-content: center;
75
+ min-width: 0;
76
+ max-width: none;
77
+ border-radius: button.get("icon-border-radius");
78
+ font-size: button.get("icon-font-size");
79
+ width: button.get("icon-size");
80
+ height: button.get("icon-size");
81
+ padding: 0 !important;
82
+ }
83
+
84
+ @each $size, $values in button.$sizes {
85
+ $icon-size: map.get($values, "icon-size");
86
+ $icon-font-size: map.get($values, "icon-font-size");
87
+ @if ($icon-size or $icon-font-size) {
88
+ #{ $prefix }--#{$size}#{ $icon-selector } {
89
+ width: $icon-size;
90
+ height: $icon-size;
91
+ font-size: $icon-font-size;
92
+ }
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,63 @@
1
+ ////
2
+ /// @group all
3
+ ////
4
+
5
+ @forward "links" as links-*;
6
+ @forward "button" as button-*;
7
+ @forward "rule" as rule-*;
8
+ @forward "list-lines" as list-lines-*;
9
+ @forward "list-unordered" as list-unordered-*;
10
+ @forward "list-ordered" as list-ordered-*;
11
+
12
+ @use "sass:map";
13
+
14
+ @use "../utils";
15
+ @use "links";
16
+ @use "button";
17
+ @use "rule";
18
+ @use "list-lines";
19
+ @use "list-unordered";
20
+ @use "list-ordered";
21
+
22
+ // Used to check against user's includes
23
+
24
+ $-all-includes: (
25
+ "links" : true,
26
+ "button" : true,
27
+ "rule" : true,
28
+ "list-lines" : true,
29
+ "list-unordered" : true,
30
+ "list-ordered" : true
31
+ );
32
+
33
+ /// Prints all Components styles
34
+ /// @name component-styles
35
+ /// @param {List} $includes A list of changes to module includes
36
+ /// @example scss
37
+ /// @include ulu.component-styles();
38
+
39
+ @mixin styles($includes: null) {
40
+ @include utils.file-header("components");
41
+ @if $includes {
42
+ @include utils.require-list-contains($-all-includes, $includes);
43
+ $-all-includes: map.merge($-all-includes, $includes) !global;
44
+ }
45
+ @if (map.get($-all-includes, "links")) {
46
+ @include links.styles;
47
+ }
48
+ @if (map.get($-all-includes, "button")) {
49
+ @include button.styles;
50
+ }
51
+ @if (map.get($-all-includes, "rule")) {
52
+ @include rule.styles;
53
+ }
54
+ @if (map.get($-all-includes, "list-lines")) {
55
+ @include list-lines.styles;
56
+ }
57
+ @if (map.get($-all-includes, "list-unordered")) {
58
+ @include list-unordered.styles;
59
+ }
60
+ @if (map.get($-all-includes, "list-ordered")) {
61
+ @include list-unordered.styles;
62
+ }
63
+ }
@@ -0,0 +1,34 @@
1
+ ////
2
+ /// @group links
3
+ ////
4
+
5
+ @use "../element";
6
+ @use "../selector";
7
+
8
+ /// Link compontent styles (.link)
9
+ /// - Contextual link styling
10
+ /// - Styles all links within as normal text hyperlinks (hover, visited)
11
+ /// @example scss
12
+ /// @include ulu.component-links-styles();
13
+
14
+ @mixin styles {
15
+ $selector: selector.class("links");
16
+ $selectorSingle: selector.class("link");
17
+ $selectorNot: "#{ $selector }--no-visited";
18
+ $selectorSingleNot: "#{ $selectorSingle }--no-visited";
19
+ // Using not to avoid duplicating css
20
+ // There shouldn't be to many reasons to need to override these styles
21
+ #{ $selector }:not(#{ $selectorNot }) a,
22
+ #{ $selectorSingle }:not(#{ $selectorSingleNot }) {
23
+ @include element.link(true, true);
24
+ }
25
+ #{ $selector }--no-visited a,
26
+ #{ $selectorSingle }--no-visited {
27
+ @include element.link();
28
+ }
29
+ // Chained to match not() specifity
30
+ #{ $selector }#{ $selector }--no-underline a,
31
+ #{ $selectorSingle }#{ $selectorSingle }--no-underline {
32
+ text-decoration: none;
33
+ }
34
+ }
@@ -0,0 +1,73 @@
1
+ ////
2
+ /// @group list-lines
3
+ ////
4
+
5
+ @use "sass:map";
6
+
7
+ @use "../element";
8
+ @use "../color";
9
+ @use "../typography";
10
+ @use "../utils";
11
+
12
+ /// Module Config
13
+
14
+ $config: (
15
+ "border-first" : true,
16
+ "border-last" : true,
17
+ "margin-top": 0,
18
+ "margin-bottom": 1em,
19
+ "padding-between" : 1em
20
+ ) !default;
21
+
22
+ /// Change modules $config
23
+ /// @param {Map} $changes Map of changes
24
+ /// @include module-name.set(( "property" : value ));
25
+
26
+ @mixin set($changes) {
27
+ $config: map.merge($config, $changes) !global;
28
+ }
29
+
30
+ /// Get a config option
31
+ /// @param {Map} $name Name of property
32
+ /// @include module-name.get("property");
33
+
34
+ @function get($name) {
35
+ @return utils.require-map-get($config, $name, "grid [config]");
36
+ }
37
+
38
+ /// Output component styles
39
+
40
+ @mixin inner-styles {
41
+ $border: element.get-rule-style("light") !default;
42
+ list-style: none;
43
+ margin: get("margin-top") 0 get("margin-bottom") 0;
44
+ padding: 0;
45
+ @if (get("border-first")) {
46
+ border-top: $border;
47
+ }
48
+ >li {
49
+ border-bottom: $border;
50
+ padding: get("padding-between") 0;
51
+ >*:last-child {
52
+ margin-bottom: 0;
53
+ }
54
+ @if (not get("border-last")) {
55
+ &:last-child {
56
+ border-bottom-width: 0;
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ @mixin styles {
63
+
64
+ .list-lines {
65
+ @include inner-styles;
66
+ }
67
+ .list-lines--dense {
68
+ >li {
69
+ padding: 0.5em 0;
70
+ line-height: typography.get("line-height-dense");
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,16 @@
1
+ ////
2
+ /// @group list-ordered
3
+ ////
4
+
5
+ @use "../element";
6
+ @use "../color";
7
+ @use "../selector";
8
+
9
+ /// Output styles
10
+
11
+ @mixin styles {
12
+ $prefix: selector.class("list-ordered");
13
+ #{ $prefix } {
14
+ @include element.styles-ordered-list();
15
+ }
16
+ }
@@ -0,0 +1,21 @@
1
+ ////
2
+ /// @group list-unordered
3
+ ////
4
+
5
+ @use "../element";
6
+ @use "../color";
7
+ @use "../selector";
8
+
9
+ /// Output styles
10
+
11
+ @mixin styles {
12
+ $prefix: selector.class("list-unordered");
13
+ #{ $prefix } {
14
+ @include element.styles-unordered-list();
15
+ li {
16
+ &::marker {
17
+ color: color.get("bullet");
18
+ }
19
+ }
20
+ }
21
+ }