@ulu/frontend 0.1.0-beta.1 → 0.1.0-beta.11

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 (257) hide show
  1. package/CHANGELOG.md +63 -2
  2. package/dist/ulu-frontend.min.css +1 -1
  3. package/dist/ulu-frontend.min.js +7 -7
  4. package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +37 -0
  5. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  6. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  7. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  8. package/docs-dev/assets/favicons/browserconfig.xml +9 -0
  9. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  10. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  11. package/docs-dev/assets/favicons/favicon.ico +0 -0
  12. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  13. package/docs-dev/assets/favicons/safari-pinned-tab.svg +1 -0
  14. package/docs-dev/assets/favicons/site.webmanifest +19 -0
  15. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  16. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  17. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  18. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  19. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  20. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  21. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  22. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  23. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  24. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  25. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  26. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  27. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  28. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  29. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  30. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  31. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  32. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  33. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  34. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  35. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  36. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  37. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  38. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  39. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  40. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  41. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  42. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  43. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  44. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  45. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  46. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  47. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  48. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  49. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  50. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  51. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  52. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  53. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  54. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  55. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  56. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  57. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  58. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  59. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  60. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  61. package/docs-dev/assets/fonts/inter/LICENSE.txt +92 -0
  62. package/docs-dev/assets/fonts/inter/inter.css +37 -0
  63. package/docs-dev/assets/main.js +15657 -0
  64. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +2 -0
  65. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  66. package/docs-dev/assets/placeholder/image-1-attribution.txt +7 -0
  67. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  68. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  69. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  70. package/docs-dev/assets/style.css +18702 -0
  71. package/docs-dev/demos/accordion/index.html +4899 -0
  72. package/docs-dev/demos/button/index.html +4711 -0
  73. package/docs-dev/demos/callout/index.html +4764 -0
  74. package/docs-dev/demos/captioned-figure/index.html +4773 -0
  75. package/docs-dev/demos/card/index.html +5130 -0
  76. package/docs-dev/demos/css-icons/index.html +5362 -0
  77. package/docs-dev/demos/data-grid/index.html +5616 -0
  78. package/docs-dev/demos/data-table/index.html +4787 -0
  79. package/docs-dev/demos/file-save/index.html +4762 -0
  80. package/docs-dev/demos/flipcard/index.html +5311 -0
  81. package/docs-dev/demos/form-theme/index.html +4929 -0
  82. package/docs-dev/demos/hero/index.html +301 -0
  83. package/docs-dev/demos/image-grid/index.html +157 -0
  84. package/docs-dev/demos/index.html +4700 -0
  85. package/docs-dev/demos/list-inline/index.html +4727 -0
  86. package/docs-dev/demos/list-inline.1/index.html +4727 -0
  87. package/docs-dev/demos/list-lines/index.html +4717 -0
  88. package/docs-dev/demos/menu-stack/index.html +4841 -0
  89. package/docs-dev/demos/modals/index.html +4808 -0
  90. package/docs-dev/demos/nav-strip/index.html +4812 -0
  91. package/docs-dev/demos/overlay-section/index.html +4718 -0
  92. package/docs-dev/demos/popovers/index.html +4718 -0
  93. package/docs-dev/demos/print/index.html +4720 -0
  94. package/docs-dev/demos/pull-quote/index.html +4719 -0
  95. package/docs-dev/demos/rule/index.html +4769 -0
  96. package/docs-dev/demos/scroll-slider/index.html +204 -0
  97. package/docs-dev/demos/scrollpoints/index.html +4738 -0
  98. package/docs-dev/demos/slider/index.html +164 -0
  99. package/docs-dev/demos/spoke-spinner/index.html +4715 -0
  100. package/docs-dev/demos/tabs/index.html +4804 -0
  101. package/docs-dev/demos/tag/index.html +4720 -0
  102. package/docs-dev/demos/tile-grid-overlay/index.html +382 -0
  103. package/docs-dev/demos/tiles/index.html +4969 -0
  104. package/docs-dev/demos/tooltip/index.html +4748 -0
  105. package/docs-dev/guide/building-stylesheet/index.html +4769 -0
  106. package/docs-dev/guide/developing-ulu-scss-module/index.html +4821 -0
  107. package/docs-dev/guide/index.html +4702 -0
  108. package/docs-dev/index.html +4749 -0
  109. package/docs-dev/javascript/events/index.html +4860 -0
  110. package/docs-dev/javascript/index.html +4715 -0
  111. package/docs-dev/javascript/ui-breakpoints/index.html +5160 -0
  112. package/docs-dev/javascript/ui-collapsible/index.html +4827 -0
  113. package/docs-dev/javascript/ui-dialog/index.html +4861 -0
  114. package/docs-dev/javascript/ui-flipcard/index.html +4711 -0
  115. package/docs-dev/javascript/ui-grid/index.html +4768 -0
  116. package/docs-dev/javascript/ui-modal-builder/index.html +4850 -0
  117. package/docs-dev/javascript/ui-overflow-scroller/index.html +4700 -0
  118. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +4718 -0
  119. package/docs-dev/javascript/ui-page/index.html +4715 -0
  120. package/docs-dev/javascript/ui-popover/index.html +4754 -0
  121. package/docs-dev/javascript/ui-print/index.html +4767 -0
  122. package/docs-dev/javascript/ui-print-details/index.html +4730 -0
  123. package/docs-dev/javascript/ui-programmatic-modal/index.html +4700 -0
  124. package/docs-dev/javascript/ui-proxy-click/index.html +4744 -0
  125. package/docs-dev/javascript/ui-resizer/index.html +4770 -0
  126. package/docs-dev/javascript/ui-scroll-slider/index.html +4729 -0
  127. package/docs-dev/javascript/ui-scrollpoint/index.html +4947 -0
  128. package/docs-dev/javascript/ui-slider/index.html +4711 -0
  129. package/docs-dev/javascript/ui-tabs/index.html +4832 -0
  130. package/docs-dev/javascript/ui-tooltip/index.html +4847 -0
  131. package/docs-dev/javascript/utils-class-logger/index.html +4835 -0
  132. package/docs-dev/javascript/utils-dom/index.html +4880 -0
  133. package/docs-dev/javascript/utils-file-save/index.html +4872 -0
  134. package/docs-dev/javascript/utils-floating-ui/index.html +4732 -0
  135. package/docs-dev/javascript/utils-id/index.html +4742 -0
  136. package/docs-dev/javascript/utils-pause-youtube-video/index.html +4750 -0
  137. package/docs-dev/sass/base/color/index.html +4733 -0
  138. package/docs-dev/sass/base/elements/index.html +4904 -0
  139. package/docs-dev/sass/base/index/index.html +4903 -0
  140. package/docs-dev/sass/base/index.html +4709 -0
  141. package/docs-dev/sass/base/keyframes/index.html +4735 -0
  142. package/docs-dev/sass/base/layout/index.html +4895 -0
  143. package/docs-dev/sass/base/normalize/index.html +4743 -0
  144. package/docs-dev/sass/base/print/index.html +4739 -0
  145. package/docs-dev/sass/base/root/index.html +4759 -0
  146. package/docs-dev/sass/base/typography/index.html +4759 -0
  147. package/docs-dev/sass/components/accordion/index.html +5061 -0
  148. package/docs-dev/sass/components/adaptive-spacing/index.html +5004 -0
  149. package/docs-dev/sass/components/badge/index.html +4952 -0
  150. package/docs-dev/sass/components/button/index.html +4888 -0
  151. package/docs-dev/sass/components/button-verbose/index.html +5000 -0
  152. package/docs-dev/sass/components/callout/index.html +4991 -0
  153. package/docs-dev/sass/components/captioned-figure/index.html +4878 -0
  154. package/docs-dev/sass/components/card/index.html +5251 -0
  155. package/docs-dev/sass/components/card-grid/index.html +4902 -0
  156. package/docs-dev/sass/components/css-icon/index.html +5006 -0
  157. package/docs-dev/sass/components/data-grid/index.html +5134 -0
  158. package/docs-dev/sass/components/data-table/index.html +4889 -0
  159. package/docs-dev/sass/components/fill-context/index.html +4768 -0
  160. package/docs-dev/sass/components/flipcard/index.html +5038 -0
  161. package/docs-dev/sass/components/flipcard-grid/index.html +4889 -0
  162. package/docs-dev/sass/components/form-theme/index.html +5619 -0
  163. package/docs-dev/sass/components/hero/index.html +4890 -0
  164. package/docs-dev/sass/components/horizontal-rule/index.html +4887 -0
  165. package/docs-dev/sass/components/image-grid/index.html +4894 -0
  166. package/docs-dev/sass/components/index/index.html +4939 -0
  167. package/docs-dev/sass/components/index.html +4709 -0
  168. package/docs-dev/sass/components/links/index.html +4738 -0
  169. package/docs-dev/sass/components/list-inline/index.html +4908 -0
  170. package/docs-dev/sass/components/list-lines/index.html +4929 -0
  171. package/docs-dev/sass/components/list-ordered/index.html +4734 -0
  172. package/docs-dev/sass/components/list-unordered/index.html +4738 -0
  173. package/docs-dev/sass/components/menu-stack/index.html +5067 -0
  174. package/docs-dev/sass/components/modal/index.html +5122 -0
  175. package/docs-dev/sass/components/nav-strip/index.html +4988 -0
  176. package/docs-dev/sass/components/overlay-section/index.html +4932 -0
  177. package/docs-dev/sass/components/pager/index.html +5050 -0
  178. package/docs-dev/sass/components/placeholder-block/index.html +4972 -0
  179. package/docs-dev/sass/components/popover/index.html +5047 -0
  180. package/docs-dev/sass/components/pull-quote/index.html +4946 -0
  181. package/docs-dev/sass/components/ratio-box/index.html +4892 -0
  182. package/docs-dev/sass/components/rule/index.html +4894 -0
  183. package/docs-dev/sass/components/scroll-slider/index.html +5005 -0
  184. package/docs-dev/sass/components/skip-link/index.html +4878 -0
  185. package/docs-dev/sass/components/slider/index.html +5014 -0
  186. package/docs-dev/sass/components/spoke-spinner/index.html +4952 -0
  187. package/docs-dev/sass/components/tabs/index.html +5028 -0
  188. package/docs-dev/sass/components/tag/index.html +5053 -0
  189. package/docs-dev/sass/components/tile-button/index.html +4933 -0
  190. package/docs-dev/sass/components/tile-grid/index.html +5068 -0
  191. package/docs-dev/sass/components/tile-grid-overlay/index.html +4869 -0
  192. package/docs-dev/sass/components/vignette/index.html +4882 -0
  193. package/docs-dev/sass/components/wysiwyg/index.html +4898 -0
  194. package/docs-dev/sass/core/breakpoint/index.html +5491 -0
  195. package/docs-dev/sass/core/button/index.html +5625 -0
  196. package/docs-dev/sass/core/color/index.html +5482 -0
  197. package/docs-dev/sass/core/cssvar/index.html +5500 -0
  198. package/docs-dev/sass/core/element/index.html +5623 -0
  199. package/docs-dev/sass/core/index.html +4698 -0
  200. package/docs-dev/sass/core/layout/index.html +5458 -0
  201. package/docs-dev/sass/core/path/index.html +4867 -0
  202. package/docs-dev/sass/core/selector/index.html +4946 -0
  203. package/docs-dev/sass/core/typography/index.html +5872 -0
  204. package/docs-dev/sass/core/units/index.html +4905 -0
  205. package/docs-dev/sass/core/utils/index.html +6346 -0
  206. package/docs-dev/sass/helpers/color/index.html +4733 -0
  207. package/docs-dev/sass/helpers/display/index.html +4738 -0
  208. package/docs-dev/sass/helpers/index/index.html +4900 -0
  209. package/docs-dev/sass/helpers/index.html +4709 -0
  210. package/docs-dev/sass/helpers/print/index.html +4738 -0
  211. package/docs-dev/sass/helpers/typography/index.html +4761 -0
  212. package/docs-dev/sass/helpers/units/index.html +4907 -0
  213. package/docs-dev/sass/helpers/utilities/index.html +4738 -0
  214. package/docs-dev/sass/index.html +4760 -0
  215. package/js/ui/modal-builder.js +1 -1
  216. package/js/ui/tabs.js +24 -4
  217. package/package.json +5 -6
  218. package/scss/_color.scss +10 -3
  219. package/scss/base/_typography.scss +7 -7
  220. package/scss/components/README.todos +13 -0
  221. package/scss/components/_accordion.scss +15 -15
  222. package/scss/components/_adaptive-spacing.scss +3 -3
  223. package/scss/components/_badge.scss +5 -4
  224. package/scss/components/_button-verbose.scss +22 -22
  225. package/scss/components/_button.scss +2 -0
  226. package/scss/components/_callout.scss +45 -56
  227. package/scss/components/_captioned-figure.scss +8 -8
  228. package/scss/components/_card-grid.scss +3 -3
  229. package/scss/components/_card.scss +57 -39
  230. package/scss/components/_css-icon.scss +18 -13
  231. package/scss/components/_data-grid.scss +2 -2
  232. package/scss/components/_data-table.scss +15 -6
  233. package/scss/components/_flipcard-grid.scss +2 -2
  234. package/scss/components/_flipcard.scss +15 -14
  235. package/scss/components/_form-theme.scss +47 -47
  236. package/scss/components/_hero.scss +2 -2
  237. package/scss/components/_image-grid.scss +2 -2
  238. package/scss/components/_index.scss +6 -0
  239. package/scss/components/_list-inline.scss +80 -0
  240. package/scss/components/_list-lines.scss +46 -35
  241. package/scss/components/_list-ordered.scss +0 -1
  242. package/scss/components/_menu-stack.scss +5 -6
  243. package/scss/components/_modal.scss +24 -33
  244. package/scss/components/_nav-strip.scss +26 -19
  245. package/scss/components/_overlay-section.scss +4 -4
  246. package/scss/components/_pager.scss +11 -11
  247. package/scss/components/_placeholder-block.scss +6 -6
  248. package/scss/components/_popover.scss +11 -11
  249. package/scss/components/_pull-quote.scss +2 -2
  250. package/scss/components/_ratio-box.scss +2 -2
  251. package/scss/components/_rule.scss +5 -6
  252. package/scss/components/_scroll-slider.scss +3 -3
  253. package/scss/components/_skip-link.scss +2 -1
  254. package/scss/components/_slider.scss +15 -51
  255. package/scss/components/_tabs.scss +119 -53
  256. package/scss/components/_tag.scss +3 -3
  257. package/types/ui/tabs.d.ts.map +1 -1
@@ -38,7 +38,7 @@ export const defaults = {
38
38
  noMinHeight: false,
39
39
  class: "",
40
40
  classCloseIcon: "css-icon css-icon--close",
41
- classResizerIcon: "css-icon css-icon--drag",
41
+ classResizerIcon: "css-icon css-icon--drag-x",
42
42
  debug: false,
43
43
  templateCloseIcon(config) {
44
44
  return `<span class="modal__close-icon ${ config.classCloseIcon }" aria-hidden="true"></span>`;
package/js/ui/tabs.js CHANGED
@@ -2,6 +2,12 @@
2
2
  * @module ui/tabs
3
3
  */
4
4
 
5
+ // TODO:
6
+ // - For Vertical tabs we should be updating the orientation when on mobile.
7
+ // Currently using all arrows so that the interface works in both
8
+ // orientations when vertical. Leaving that behavior for now but maybe consider
9
+ // setting this up to destroy tab interface when ui layout changes?
10
+
5
11
  import AriaTablist from "aria-tablist";
6
12
 
7
13
  const initAttr = "data-ulu-tablist-init";
@@ -127,13 +133,27 @@ function setHeights(element) {
127
133
  const images = [ ...parent.querySelectorAll("img") ];
128
134
  const imagePromises = images.map(image => imagePromise(image));
129
135
  function imagePromise(image) {
130
- return new Promise((resolve, reject) => {
131
- image.onload = () => resolve(image);
132
- image.onerror = reject;
136
+ return new Promise((resolve) => {
137
+ if (image.complete) {
138
+ resolve(image);
139
+ } else {
140
+ image.onload = resolve;
141
+ // Errors should also resolve so that height matching continues
142
+ image.onerror = resolve;
143
+ }
133
144
  });
134
145
  }
146
+ // Run after images are loaded, or if no images it will resolve and run
135
147
  Promise.all(imagePromises).then(() => {
136
- const heights = panels.map(panel => panel.offsetHeight);
148
+ const heights = panels.map(panel => {
149
+ let panelHeight = panel.offsetHeight;
150
+ if (panel.hidden) {
151
+ panel.hidden = false;
152
+ panelHeight = panel.offsetHeight;
153
+ panel.hidden = true;
154
+ }
155
+ return panelHeight;
156
+ });
137
157
  const max = Math.max(...heights);
138
158
  panels.forEach(panel => panel.style.minHeight = `${ max }px`);
139
159
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ulu/frontend",
3
- "version": "0.1.0-beta.1",
3
+ "version": "0.1.0-beta.11",
4
4
  "description": "Modular Sass Theming Library",
5
5
  "browser": "js/index.js",
6
6
  "main": "index.js",
@@ -27,9 +27,10 @@
27
27
  "docs:incremental": "npx @11ty/eleventy --serve --incremental --config=docs.eleventy.js",
28
28
  "docs:nogen": "NO_DOC_GEN=true npx @11ty/eleventy --serve --incremental --config=docs.eleventy.js",
29
29
  "docs:inspect": "node --inspect-brk ./node_modules/.bin/eleventy --serve --config=docs.eleventy.js",
30
- "docs:build": "npx @11ty/eleventy --config=docs.eleventy.js",
30
+ "docs:build:prod": "IS_PRODUCTION=true npx @11ty/eleventy --config=docs.eleventy.js",
31
31
  "docs:assets": "vite --config docs.vite.config.js --force",
32
- "docs:assets:build": "vite build --config docs.vite.config.js"
32
+ "docs:assets:build": "vite build --config docs.vite.config.js",
33
+ "docs:assets:build:prod": "IS_PRODUCTION=true vite build --config docs.vite.config.js"
33
34
  },
34
35
  "repository": {
35
36
  "type": "git",
@@ -82,9 +83,7 @@
82
83
  "vite": "^5.4.11"
83
84
  },
84
85
  "dependencies": {
85
- "@ulu/utils": "^0.0.17"
86
- },
87
- "optionalDependencies": {
86
+ "@ulu/utils": "^0.0.17",
88
87
  "ally.js": "^1.4.1",
89
88
  "aria-tablist": "^1.2.2",
90
89
  "@floating-ui/dom": "^1.6.5"
package/scss/_color.scss CHANGED
@@ -23,10 +23,17 @@ $palette: (
23
23
  "type-tertiary" : rgb(157, 157, 157),
24
24
  "headline" : inherit,
25
25
  "background" : white,
26
+ "background-gray" : #F7F8F7,
26
27
  "focus" : blue,
27
- "error" : red,
28
- "warning" : orange,
29
28
  "accent" : orange,
29
+ "info" : #00bde3,
30
+ "success" : #00a91c,
31
+ "warning" : #ffbe2e,
32
+ "danger" : #d54309,
33
+ "info-background" : #e7f6f8,
34
+ "success-background" : #ecf3ec,
35
+ "warning-background" : #faf3d1,
36
+ "danger-background" : #f4e3db,
30
37
  "selected" : green,
31
38
  "box-shadow" : rgba(0, 0, 0, 0.349),
32
39
  "box-shadow-hover" : rgba(0, 0, 0, 0.5),
@@ -95,7 +102,7 @@ $color-classes: (
95
102
  // Allow non lookup if the value is already a color (helps with code flow)
96
103
  @if (meta.type-of($name) == "string") {
97
104
  // Allow custom-properties and keyword inherit/transparent to pass through
98
- @if ($name == "inherit" or $name == "transparent" or string.index($name, "var(") == 1) {
105
+ @if ($name == "inherit" or $name == "transparent" or $name == "currentColor" or string.index($name, "var(") == 1) {
99
106
  @return $name;
100
107
  // Else look up the color from the palette
101
108
  } @else {
@@ -12,14 +12,14 @@
12
12
  /// - These are any type sizes that specify "base-class" in their configuration
13
13
  /// - Type sizes with "base-class-prefixed" will be prefixed with the "type-" prefix
14
14
  /// @example scss
15
- /// @include ulu.base-typography-styles();
15
+ /// @include ulu.base-typography-styles();
16
16
  /// @example html {preview} Example of type size as base unprefixed
17
- /// <span class="h1">A</span>
18
- /// <span class="h2">A</span>
19
- /// <span class="h3">A</span>
20
- /// <span class="h4">A</span>
21
- /// <span class="h5">A</span>
22
- /// <span class="h6">A</span>
17
+ /// <span class="h1">A</span>
18
+ /// <span class="h2">A</span>
19
+ /// <span class="h3">A</span>
20
+ /// <span class="h4">A</span>
21
+ /// <span class="h5">A</span>
22
+ /// <span class="h6">A</span>
23
23
 
24
24
  @mixin styles {
25
25
 
@@ -13,3 +13,16 @@ Todos:
13
13
  * May override base styles
14
14
  * May contain layouts
15
15
  * May wrap or contain base (button vs button-group)
16
+
17
+ Daniel Todos:
18
+ ☐ Remove uswds stylings for informative and emergency callouts and move it into soar's site
19
+ ☐ get rid of extra styles in frontend to clean up the left cap
20
+ ✔ add a dash to left-cap mixin (to make private) and remove documentation for that mixin @done
21
+ ✔ setup cap colors (define colors) @done
22
+ remove the width of the individual callout styles
23
+ remove background-dark, light, emergency styles
24
+ ☐ Reach out to Rachel about the bug with the theme toggle not working
25
+ ☐ ask her to recreate it
26
+ ☐ Setup search results page
27
+ ☐ General Node/Page Setup
28
+ ☐ Setup View
@@ -13,8 +13,8 @@
13
13
 
14
14
  /// Module Settings
15
15
  /// @type Map
16
- /// @prop {Color} background-color [white] This is the background color of the accordion before it is expanded.
17
- /// @prop {Color} background-color-open [#F7F8F7] This is the background color of the accordion before it is expanded. This will change the background color of the accordion's summary as well as the details.
16
+ /// @prop {Color} background-color [accordion-background] This is the background color of the accordion before it is expanded.
17
+ /// @prop {Color} background-color-open [accordion-background-open] This is the background color of the accordion before it is expanded. This will change the background color of the accordion's summary as well as the details.
18
18
  /// @prop {String} border-color ["rule"]
19
19
  /// @prop {Number} border-radius [0] This applies a rounding of edges for the accordion. If there are multiple accordions in a stack, this will only apply to the top of the first accordion and the bottom of the last accordion.
20
20
  /// @prop {Dimension} border-width [1px] The width of the borders of the accordions
@@ -41,8 +41,8 @@
41
41
  /// @prop {Dimension} transparent-padding-x [0] The upper and lower padding of the transparent summary.
42
42
 
43
43
  $config: (
44
- "background-color": white,
45
- "background-color-open": #F7F8F7,
44
+ "background-color": "background",
45
+ "background-color-open": "background-gray",
46
46
  "border-color": "rule",
47
47
  "border-radius": 0,
48
48
  "border-width": 1px,
@@ -59,7 +59,7 @@ $config: (
59
59
  "icon-font-size": 1.5rem,
60
60
  "icon-size": auto,
61
61
  "icon-stroke-width": 0.15em,
62
- "summary-background-color": white,
62
+ "summary-background-color": "white",
63
63
  "summary-color": null,
64
64
  "summary-background-color-hover": null,
65
65
  "summary-color-hover": null,
@@ -72,7 +72,7 @@ $config: (
72
72
 
73
73
  /// Change modules $config
74
74
  /// @param {Map} $changes Map of changes
75
- /// @example
75
+ /// @example scss
76
76
  /// @include ulu.component-accordion-set(( "property" : value ));
77
77
 
78
78
  @mixin set($changes) {
@@ -81,7 +81,7 @@ $config: (
81
81
 
82
82
  /// Get a config option
83
83
  /// @param {Map} $name Name of property
84
- /// @example
84
+ /// @example scss
85
85
  /// @include ulu.component-accordion-get("property");
86
86
 
87
87
  @function get($name) {
@@ -107,7 +107,7 @@ $config: (
107
107
  margin-top: get("margin");
108
108
  margin-bottom: get("margin");
109
109
  border: $border;
110
- background-color: get("background-color");
110
+ background-color: color.get(get("background-color"));
111
111
  box-shadow: get("box-shadow");
112
112
  &:first-of-type {
113
113
  border-top-left-radius: get("border-radius");
@@ -124,7 +124,7 @@ $config: (
124
124
  }
125
125
  &[open],
126
126
  &.is-active {
127
- background-color: get("background-color-open");
127
+ background-color: color.get(get("background-color-open"));
128
128
  padding-bottom: get("padding-y");
129
129
  z-index: 2; // Above child details
130
130
  > #{ $prefix }__summary {
@@ -136,8 +136,8 @@ $config: (
136
136
  }
137
137
  }
138
138
  #{ $prefix }__summary {
139
- background-color: get("summary-background-color");
140
- color: get("summary-color");
139
+ background-color: color.get(get("summary-background-color"));
140
+ color: color.get(get("summary-color"));
141
141
  margin-left: -(get("padding-x"));
142
142
  margin-right: -(get("padding-x"));
143
143
  line-height: get("summary-line-height");
@@ -161,10 +161,10 @@ $config: (
161
161
  @include typography.size(get("summary-type-size"));
162
162
  }
163
163
  &:hover {
164
- background-color: get("summary-background-color-hover");
165
- color: get("summary-color-hover");
164
+ background-color: color.get(get("summary-background-color-hover"));
165
+ color: color.get(get("summary-color-hover"));
166
166
  #{ $prefix }__icon {
167
- background-color: get("icon-background-color-hover");
167
+ background-color: color.get(get("icon-background-color-hover"));
168
168
  color: color.get(get("icon-color-hover"));
169
169
  }
170
170
  }
@@ -174,7 +174,7 @@ $config: (
174
174
  color: color.get(get("icon-color"));
175
175
  margin-left: 0.5em;
176
176
  order: 3;
177
- background-color: get("icon-background-color");
177
+ background-color: color.get(get("icon-background-color"));
178
178
  border-radius: get("icon-border-radius");
179
179
  width: get("icon-size");
180
180
  height: get("icon-size");
@@ -11,7 +11,7 @@
11
11
 
12
12
  /// Module Settings
13
13
  /// @type Map
14
- /// @prop {Boolean} outputMargin [false] @joe-check need examples for this to build documentation
14
+ /// @prop {Boolean} outputMargin [false] Toggles the output of margin classes.
15
15
  /// @prop {Boolean} outputPadding [true] This is the background color of the accordion before it is expanded.
16
16
  /// @prop {Boolean} outputX [true] This is the background color of the accordion before it is expanded.
17
17
  /// @prop {Boolean} outputY [true] This is the background color of the accordion before it is expanded.
@@ -54,7 +54,7 @@ $sizes: (
54
54
 
55
55
  /// Change modules $config
56
56
  /// @param {Map} $changes Map of changes
57
- /// @example
57
+ /// @example scss
58
58
  /// @include ulu.component-adaptive-spacing-set(( "property" : value ));
59
59
 
60
60
  @mixin set($changes) {
@@ -71,7 +71,7 @@ $sizes: (
71
71
 
72
72
  /// Get a config option
73
73
  /// @param {Map} $name Name of property
74
- /// @example
74
+ /// @example scss
75
75
  /// @include ulu.component-adaptive-spacing-get("property");
76
76
 
77
77
  @function get($name) {
@@ -6,6 +6,7 @@
6
6
  @use "sass:map";
7
7
  @use "../utils";
8
8
  @use "../selector";
9
+ @use "../color";
9
10
 
10
11
  /// Module Settings
11
12
  /// @type Map
@@ -34,7 +35,7 @@ $config: (
34
35
 
35
36
  /// Change modules $config
36
37
  /// @param {Map} $changes Map of changes
37
- /// @example
38
+ /// @example scss
38
39
  /// @include ulu.component-badge-set(( "property" : value ));
39
40
 
40
41
  @mixin set($changes) {
@@ -43,7 +44,7 @@ $config: (
43
44
 
44
45
  /// Get a config option
45
46
  /// @param {Map} $name Name of property
46
- /// @example
47
+ /// @example scss
47
48
  /// @include ulu.component-badge-get("property");
48
49
 
49
50
  @function get($name) {
@@ -94,8 +95,8 @@ $config: (
94
95
  &:hover,
95
96
  &:focus,
96
97
  &:visited {
97
- background-color: get("background-color");
98
- color: get("color");
98
+ background-color: color.get(get("background-color"));
99
+ color: color.get(get("color"));
99
100
  }
100
101
  }
101
102
  #{ $prefix }--clickable {
@@ -28,24 +28,24 @@ $-fallbacks: (
28
28
 
29
29
  /// Module Settings
30
30
  /// @type Map
31
- /// @prop {Color} background-color [white] Font size (basic ie. 1.3rem) for badge
32
- /// @prop {Color} background-color-hover [link] Font size (basic ie. 1.3rem) for badge
33
- /// @prop {String} border-radius [border-radius] Font size (basic ie. 1.3rem) for badge
34
- /// @prop {String} box-shadow [true] Use the fallback. But note it.
35
- /// @prop {String} box-shadow-hover [true] @joe-check these box-shadows are booleans, but it should be a css value
36
- /// @prop {String} color [type] Font size (basic ie. 1.3rem) for badge
37
- /// @prop {String} color-hover [type] Font size (basic ie. 1.3rem) for badge
38
- /// @prop {Color} icon-color [gray] Font size (basic ie. 1.3rem) for badge
39
- /// @prop {Dimension} icon-font-size [1.25rem] Font size (basic ie. 1.3rem) for badge
40
- /// @prop {Number} line-height [1.2] Font size (basic ie. 1.3rem) for badge
41
- /// @prop {Dimension} margin [1em] Font size (basic ie. 1.3rem) for badge
42
- /// @prop {Dimension} margin-inline [0.75em] Font size (basic ie. 1.3rem) for badge
43
- /// @prop {Dimension} min-width [20rem] Font size (basic ie. 1.3rem) for badge
44
- /// @prop {Dimension} padding-x [0.65em] Font size (basic ie. 1.3rem) for badge
45
- /// @prop {Dimension} padding-y [1em] Font size (basic ie. 1.3rem) for badge
46
- /// @prop {String} title-color [link] Font size (basic ie. 1.3rem) for badge
47
- /// @prop {String} title-color-hover [link-hover] Font size (basic ie. 1.3rem) for badge
48
- /// @prop {Dimension} title-margin [0.5em] Font size (basic ie. 1.3rem) for badge
31
+ /// @prop {Color} background-color [white] Background color for the button.
32
+ /// @prop {Color} background-color-hover [link] Background color for the button when hovered or focused.
33
+ /// @prop {String} border-radius [border-radius] Border radius of the button.
34
+ /// @prop {CssValue} box-shadow [true] Box shadow for the button. If set to true, uses default box-shadow.
35
+ /// @prop {CssValue} box-shadow-hover [true] Box shadow for the button when hovered or focused. If set to true, uses default box-shadow-hover.
36
+ /// @prop {String} color [type] Text color for the button.
37
+ /// @prop {String} color-hover [type] Text color for the button when hovered or focused.
38
+ /// @prop {Color} icon-color [gray] Color for button icons.
39
+ /// @prop {Dimension} icon-font-size [1.25rem] Font size for the button.
40
+ /// @prop {Number} line-height [1.2] Line height for button text.
41
+ /// @prop {Dimension} margin [1em] Margin for the button.
42
+ /// @prop {Dimension} margin-inline [0.75em] Margin for the button when using the inline modifier.
43
+ /// @prop {Dimension} min-width [20rem] Min-width of the button.
44
+ /// @prop {Dimension} padding-x [0.65em] Horizontal padding of the button.
45
+ /// @prop {Dimension} padding-y [1em] Vertical padding of the button.
46
+ /// @prop {String} title-color [link] Color of the title of the button.
47
+ /// @prop {String} title-color-hover [link-hover] Color of the title of the button when hovered or focused.
48
+ /// @prop {Dimension} title-margin [0.5em] Margin for the button's title.
49
49
 
50
50
  $config: (
51
51
  "background-color" : white,
@@ -70,7 +70,7 @@ $config: (
70
70
 
71
71
  /// Change modules $config
72
72
  /// @param {Map} $changes Map of changes
73
- /// @example
73
+ /// @example scss
74
74
  /// @include ulu.component-button-verbose-set(( "property" : value ));
75
75
 
76
76
  @mixin set($changes) {
@@ -79,7 +79,7 @@ $config: (
79
79
 
80
80
  /// Get a config option
81
81
  /// @param {Map} $name Name of property
82
- /// @example
82
+ /// @example scss
83
83
  /// @include ulu.component-button-verbose-get(( "property" : value ));
84
84
 
85
85
  @function get($name) {
@@ -102,7 +102,7 @@ $config: (
102
102
  margin-bottom: get("margin");
103
103
  max-width: 100%;
104
104
  width: get("min-width");
105
- background-color: get("background-color");
105
+ background-color: color.get(get("background-color"));
106
106
  padding: get("padding-y") get("padding-x");
107
107
  padding-right: (get("padding-x") * 2) + 1em;
108
108
  color: color.get(get("color"));
@@ -126,7 +126,7 @@ $config: (
126
126
  right: get("padding-x");
127
127
  transform: translateY(-50%);
128
128
  font-size: get("icon-font-size");
129
- color: get("icon-color");
129
+ color: color.get(get("icon-color"));
130
130
  }
131
131
  .button-verbose--inline {
132
132
  display: inline-block;
@@ -20,6 +20,7 @@ $config: (
20
20
 
21
21
  /// Change modules $config
22
22
  /// @param {Map} $changes Map of changes
23
+ /// @example scss
23
24
  /// @include ulu.component-button-set(( "property" : value ));
24
25
 
25
26
  @mixin set($changes) {
@@ -28,6 +29,7 @@ $config: (
28
29
 
29
30
  /// Get a config option
30
31
  /// @param {Map} $name Name of property
32
+ /// @example scss
31
33
  /// @include ulu.component-button-get("property");
32
34
 
33
35
  @function get($name) {
@@ -10,13 +10,10 @@
10
10
  @use "../utils";
11
11
  @use "../selector";
12
12
  @use "../element";
13
+ @use "../color";
13
14
 
14
15
  // Used for function fallback
15
16
  $-fallbacks: (
16
- "border" : (
17
- "function" : meta.get-function("get-rule-style", false, "element"),
18
- "property" : "light"
19
- ),
20
17
  "border-radius" : (
21
18
  "function" : meta.get-function("get", false, "element"),
22
19
  "property" : "border-radius"
@@ -26,8 +23,9 @@ $-fallbacks: (
26
23
  /// Module Settings
27
24
  /// @type Map
28
25
  /// @prop {Color} background-color [rgb(240, 240, 240)] The background color of the Callout.
29
- /// @prop {Boolean} border [true] The border of the Callout.
26
+ /// @prop {Color} border-color ["rule-light"] The border color of the Callout.
30
27
  /// @prop {Boolean} border-radius [true] The border radius of the Callout.
28
+ /// @prop {Dimension} border-width [1px] The border width of the Callout.
31
29
  /// @prop {CssValue} box-shadow [none] The box-shadow of the Callout.
32
30
  /// @prop {Boolean} left-cap [false] Toggles the use of left caps in styled callouts.
33
31
  /// @prop {Color} left-cap-color [green] Color of the left cap.
@@ -37,63 +35,46 @@ $-fallbacks: (
37
35
 
38
36
  $config: (
39
37
  "background-color" : rgb(240, 240, 240),
40
- "border" : true,
38
+ "border-color" : "rule-light",
41
39
  "border-radius" : true,
40
+ "border-width" : 1px,
42
41
  "box-shadow" : none,
43
- "left-cap" : false,
44
- "left-cap-color" : green,
42
+ "left-cap" : true,
43
+ "left-cap-color" : rgb(160, 160, 160),
45
44
  "left-cap-width" : 0.5rem,
46
45
  "margin" : 2rem,
47
46
  "padding" : 1.5rem,
48
47
  ) !default;
49
48
 
50
49
  $styles: (
51
- "background-dark" : (
52
- "background-color" : rgb(240, 240, 240)
53
- ),
54
50
  "outline" : (
55
51
  "background-color": transparent
56
52
  ),
57
- "light" : (
58
- "background-color" : white,
59
- "border-color" : gray
60
- ),
61
- "informative" : (
62
- "background-color" : #e7f6f8,
63
- "left-cap-color" : #00bde3,
53
+ "info" : (
54
+ "background-color" : "info-background",
55
+ "left-cap-color" : "info",
64
56
  "left-cap" : true,
65
- "left-cap-width": 0.5rem
66
57
  ),
67
58
  "warning" : (
68
- "background-color" : #faf3d1,
69
- "left-cap-color" : #ffbe2e,
59
+ "background-color" : "info-background",
60
+ "left-cap-color" : "info",
70
61
  "left-cap" : true,
71
- "left-cap-width": 0.5rem
72
62
  ),
73
63
  "success" : (
74
- "background-color" : #ecf3ec,
75
- "left-cap-color" : #00a91c,
64
+ "background-color" : "success-background",
65
+ "left-cap-color" : "success",
76
66
  "left-cap" : true,
77
- "left-cap-width": 0.5rem
78
67
  ),
79
68
  "danger" : (
80
- "background-color" : #f4e3db,
81
- "left-cap-color" : #d54309,
69
+ "background-color" : "danger-background",
70
+ "left-cap-color" : "danger",
82
71
  "left-cap" : true,
83
- "left-cap-width": 0.5rem
84
72
  ),
85
- "emergency" : (
86
- "background-color" : #9c3d10,
87
- "left-cap-color" : #9c3d10,
88
- "left-cap" : true,
89
- "color" : white,
90
- "left-cap-width": 0.5rem
91
- )
92
73
  ) !default;
93
74
 
94
75
  /// Change modules $config
95
76
  /// @param {Map} $changes Map of changes
96
- /// @example
77
+ /// @example scss
97
78
  /// @include ulu.component-callout-set(( "property" : value ));
98
79
 
99
80
  @mixin set($changes) {
@@ -102,7 +83,7 @@ $styles: (
102
83
 
103
84
  /// Get a config option
104
85
  /// @param {Map} $name Name of property
105
- /// @example
86
+ /// @example scss
106
87
  /// @include ulu.component-callout-get("property");
107
88
 
108
89
  @function get($name) {
@@ -118,22 +99,14 @@ $styles: (
118
99
  $styles: utils.map-merge($styles, $changes, $merge-mode) !global;
119
100
  }
120
101
 
121
- /// Output styling for a callout that adds a left cap
122
- /// @param {Dimension} $width The width of the left cap
123
- /// @param {Color} $color The left cap color
124
-
125
- @mixin left-cap($width: get("left-cap-width"), $color: get("left-cap-color")) {
102
+ @mixin -left-cap($color: get("left-cap-color")) {
103
+ $left-padding: get-spacing-left(get("padding"));
126
104
  position: relative;
127
105
  border-top-left-radius: 0;
128
106
  border-bottom-left-radius: 0;
107
+ padding-left: get("left-cap-width") + $left-padding;
129
108
  &::before {
130
- position: absolute;
131
109
  content: "";
132
- left: 0;
133
- top: 0;
134
- bottom: 0;
135
- width: $width;
136
- background-color: $color;
137
110
  }
138
111
  }
139
112
 
@@ -143,32 +116,48 @@ $styles: (
143
116
 
144
117
  @mixin styles {
145
118
  $prefix: selector.class("callout");
146
-
119
+
147
120
  #{ $prefix } {
148
- background-color: get("background-color");
121
+ background-color: color.get(get("background-color"));
149
122
  padding: get("padding");
150
- border: get("border");
123
+ border: get("border-width") solid color.get(get("border-color"));
151
124
  margin-bottom: get("margin");
152
125
  box-shadow: get("box-shadow");
153
126
  border-radius: get("border-radius");
154
127
  & >:first-child {
155
128
  margin-top: 0;
156
129
  }
130
+ &::before {
131
+ position: absolute;
132
+ left: 0 - get("border-width");
133
+ top: 0 - get("border-width");
134
+ bottom: 0 - get("border-width");
135
+ width: get("left-cap-width");
136
+ background-color: color.get(get("left-cap-color"));
137
+ }
157
138
  @if get("left-cap") {
158
- @include left-cap();
139
+ @include -left-cap();
140
+ &::before {
141
+ content: "";
142
+ }
159
143
  }
160
144
  }
161
145
  @each $name, $style in $styles {
162
146
  #{ $prefix }--#{ $name } {
163
- background-color: map.get($style, "background-color");
164
- color: map.get($style, "color");
147
+ background-color: color.get(map.get($style, "background-color"));
148
+ color: color.get(map.get($style, "color"));
165
149
  border: map.get($style, "border");
166
150
  border-radius: map.get($style, "border-radius");
167
- border-color: map.get($style, "border-color");
151
+ border-color: color.get(map.get($style, "border-color"));
168
152
  box-shadow: map.get($style, "box-shadow");
169
153
  padding: map.get($style, "padding");
154
+ &::before {
155
+ background-color: color.get(map.get($style, "left-cap-color"));
156
+ }
170
157
  @if map.get($style, "left-cap") {
171
- @include left-cap( map.get($style, "left-cap-width"), map.get($style, "left-cap-color"));
158
+ @if not get("left-cap") {
159
+ @include -left-cap();
160
+ }
172
161
  }
173
162
  }
174
163
  }