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

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 (401) hide show
  1. package/CHANGELOG.md +681 -2
  2. package/README.dev.md +3 -3
  3. package/README.md +14 -4
  4. package/dist/ulu-frontend.min.css +1 -1
  5. package/dist/ulu-frontend.min.js +36 -29
  6. package/docs-dev/.nojekyll +1 -0
  7. package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +37 -0
  8. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  9. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  10. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  11. package/docs-dev/assets/favicons/browserconfig.xml +9 -0
  12. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  13. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  14. package/docs-dev/assets/favicons/favicon.ico +0 -0
  15. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  16. package/docs-dev/assets/favicons/safari-pinned-tab.svg +1 -0
  17. package/docs-dev/assets/favicons/site.webmanifest +19 -0
  18. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  19. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  20. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  21. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  22. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  23. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  24. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  25. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  26. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  27. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  28. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  29. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  30. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  31. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  32. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  33. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  34. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  35. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  36. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  37. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  38. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  39. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  40. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  41. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  42. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  43. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  44. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  45. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  46. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  47. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  48. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  49. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  50. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  51. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  52. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  53. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  54. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  55. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  56. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  57. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  58. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  59. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  60. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  61. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  62. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  63. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  64. package/docs-dev/assets/fonts/inter/LICENSE.txt +92 -0
  65. package/docs-dev/assets/fonts/inter/inter.css +37 -0
  66. package/docs-dev/assets/main.js +23312 -0
  67. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +2 -0
  68. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  69. package/docs-dev/assets/placeholder/icon-calendar.svg +1 -0
  70. package/docs-dev/assets/placeholder/icon-check.svg +1 -0
  71. package/docs-dev/assets/placeholder/image-1-attribution.txt +7 -0
  72. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  73. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  74. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  75. package/docs-dev/assets/style.css +19153 -0
  76. package/docs-dev/changelog/index.html +7184 -0
  77. package/docs-dev/demos/accordion/index.html +5811 -0
  78. package/docs-dev/demos/badge/index.html +5655 -0
  79. package/docs-dev/demos/badge-stack/index.html +5636 -0
  80. package/docs-dev/demos/badge.1/index.html +5595 -0
  81. package/docs-dev/demos/basic-hero/index.html +111 -0
  82. package/docs-dev/demos/breakpoints-manager/index.html +5666 -0
  83. package/docs-dev/demos/button/index.html +5665 -0
  84. package/docs-dev/demos/button-group/index.html +5652 -0
  85. package/docs-dev/demos/button-verbose/index.html +5658 -0
  86. package/docs-dev/demos/callout/index.html +5704 -0
  87. package/docs-dev/demos/captioned-figure/index.html +5686 -0
  88. package/docs-dev/demos/card/index.html +5682 -0
  89. package/docs-dev/demos/card-grid/index.html +5777 -0
  90. package/docs-dev/demos/counter-list/index.html +5660 -0
  91. package/docs-dev/demos/css-icons/index.html +6298 -0
  92. package/docs-dev/demos/data-grid/index.html +6529 -0
  93. package/docs-dev/demos/data-table/index.html +5833 -0
  94. package/docs-dev/demos/details-group/index.html +5687 -0
  95. package/docs-dev/demos/file-save/index.html +5675 -0
  96. package/docs-dev/demos/flipcard/index.html +6224 -0
  97. package/docs-dev/demos/form-theme/index.html +5842 -0
  98. package/docs-dev/demos/headline-label/index.html +5622 -0
  99. package/docs-dev/demos/hero/index.html +309 -0
  100. package/docs-dev/demos/image-grid/index.html +165 -0
  101. package/docs-dev/demos/index.html +5613 -0
  102. package/docs-dev/demos/list-inline/index.html +5640 -0
  103. package/docs-dev/demos/list-lines/index.html +5630 -0
  104. package/docs-dev/demos/menu-stack/index.html +5769 -0
  105. package/docs-dev/demos/modals/index.html +5844 -0
  106. package/docs-dev/demos/nav-strip/index.html +5725 -0
  107. package/docs-dev/demos/overlay-section/index.html +5701 -0
  108. package/docs-dev/demos/panel/index.html +5682 -0
  109. package/docs-dev/demos/popovers/index.html +5873 -0
  110. package/docs-dev/demos/print/index.html +5633 -0
  111. package/docs-dev/demos/pull-quote/index.html +5632 -0
  112. package/docs-dev/demos/rail/index.html +5730 -0
  113. package/docs-dev/demos/rule/index.html +5694 -0
  114. package/docs-dev/demos/scroll-slider/index.html +170 -0
  115. package/docs-dev/demos/scrollpoints/index.html +5651 -0
  116. package/docs-dev/demos/skeleton/index.html +5678 -0
  117. package/docs-dev/demos/slider/index.html +172 -0
  118. package/docs-dev/demos/spoke-spinner/index.html +5628 -0
  119. package/docs-dev/demos/sticky-list/index.html +5643 -0
  120. package/docs-dev/demos/tabs/index.html +5753 -0
  121. package/docs-dev/demos/tag/index.html +5633 -0
  122. package/docs-dev/demos/theme-toggle/index.html +5699 -0
  123. package/docs-dev/demos/tile-grid-overlay/index.html +390 -0
  124. package/docs-dev/demos/tiles/index.html +5882 -0
  125. package/docs-dev/demos/tooltip/index.html +5661 -0
  126. package/docs-dev/demos/wysiwyg/index.html +5672 -0
  127. package/docs-dev/guide/building-stylesheet/index.html +5682 -0
  128. package/docs-dev/guide/developing-ulu-scss-module/index.html +5734 -0
  129. package/docs-dev/guide/index.html +5615 -0
  130. package/docs-dev/index.html +5662 -0
  131. package/docs-dev/javascript/events/index.html +5811 -0
  132. package/docs-dev/javascript/index.html +5628 -0
  133. package/docs-dev/javascript/settings/index.html +5825 -0
  134. package/docs-dev/javascript/ui-breakpoints/index.html +6071 -0
  135. package/docs-dev/javascript/ui-collapsible/index.html +5738 -0
  136. package/docs-dev/javascript/ui-details-group/index.html +5742 -0
  137. package/docs-dev/javascript/ui-dialog/index.html +5787 -0
  138. package/docs-dev/javascript/ui-flipcard/index.html +5678 -0
  139. package/docs-dev/javascript/ui-grid/index.html +5653 -0
  140. package/docs-dev/javascript/ui-modal-builder/index.html +5901 -0
  141. package/docs-dev/javascript/ui-overflow-scroller/index.html +5611 -0
  142. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +5629 -0
  143. package/docs-dev/javascript/ui-page/index.html +5626 -0
  144. package/docs-dev/javascript/ui-popover/index.html +5661 -0
  145. package/docs-dev/javascript/ui-print/index.html +5670 -0
  146. package/docs-dev/javascript/ui-print-details/index.html +5641 -0
  147. package/docs-dev/javascript/ui-programmatic-modal/index.html +5611 -0
  148. package/docs-dev/javascript/ui-proxy-click/index.html +5740 -0
  149. package/docs-dev/javascript/ui-resizer/index.html +5946 -0
  150. package/docs-dev/javascript/ui-scroll-slider/index.html +5672 -0
  151. package/docs-dev/javascript/ui-scrollpoint/index.html +5851 -0
  152. package/docs-dev/javascript/ui-slider/index.html +5813 -0
  153. package/docs-dev/javascript/ui-tabs/index.html +5706 -0
  154. package/docs-dev/javascript/ui-theme-toggle/index.html +5830 -0
  155. package/docs-dev/javascript/ui-tooltip/index.html +5754 -0
  156. package/docs-dev/javascript/utils-class-logger/index.html +5746 -0
  157. package/docs-dev/javascript/utils-css/index.html +5644 -0
  158. package/docs-dev/javascript/utils-dom/index.html +5711 -0
  159. package/docs-dev/javascript/utils-file-save/index.html +5783 -0
  160. package/docs-dev/javascript/utils-floating-ui/index.html +5643 -0
  161. package/docs-dev/javascript/utils-id/index.html +5653 -0
  162. package/docs-dev/javascript/utils-pause-youtube-video/index.html +5661 -0
  163. package/docs-dev/javascript/utils-system/index.html +5947 -0
  164. package/docs-dev/sass/base/color/index.html +5644 -0
  165. package/docs-dev/sass/base/elements/index.html +5815 -0
  166. package/docs-dev/sass/base/index/index.html +5814 -0
  167. package/docs-dev/sass/base/index.html +5622 -0
  168. package/docs-dev/sass/base/keyframes/index.html +5646 -0
  169. package/docs-dev/sass/base/layout/index.html +5806 -0
  170. package/docs-dev/sass/base/normalize/index.html +5654 -0
  171. package/docs-dev/sass/base/print/index.html +5650 -0
  172. package/docs-dev/sass/base/root/index.html +5670 -0
  173. package/docs-dev/sass/base/typography/index.html +5670 -0
  174. package/docs-dev/sass/components/accordion/index.html +5979 -0
  175. package/docs-dev/sass/components/adaptive-spacing/index.html +5915 -0
  176. package/docs-dev/sass/components/badge/index.html +5881 -0
  177. package/docs-dev/sass/components/badge-stack/index.html +5811 -0
  178. package/docs-dev/sass/components/basic-hero/index.html +5805 -0
  179. package/docs-dev/sass/components/button/index.html +5799 -0
  180. package/docs-dev/sass/components/button-group/index.html +5803 -0
  181. package/docs-dev/sass/components/button-verbose/index.html +5986 -0
  182. package/docs-dev/sass/components/callout/index.html +5961 -0
  183. package/docs-dev/sass/components/captioned-figure/index.html +5904 -0
  184. package/docs-dev/sass/components/card/index.html +6219 -0
  185. package/docs-dev/sass/components/card-grid/index.html +5813 -0
  186. package/docs-dev/sass/components/counter-list/index.html +5887 -0
  187. package/docs-dev/sass/components/css-icon/index.html +5917 -0
  188. package/docs-dev/sass/components/data-grid/index.html +6052 -0
  189. package/docs-dev/sass/components/data-table/index.html +5988 -0
  190. package/docs-dev/sass/components/fill-context/index.html +5679 -0
  191. package/docs-dev/sass/components/flipcard/index.html +5980 -0
  192. package/docs-dev/sass/components/flipcard-grid/index.html +5800 -0
  193. package/docs-dev/sass/components/form-theme/index.html +6525 -0
  194. package/docs-dev/sass/components/headline-label/index.html +5833 -0
  195. package/docs-dev/sass/components/hero/index.html +5849 -0
  196. package/docs-dev/sass/components/horizontal-rule/index.html +5798 -0
  197. package/docs-dev/sass/components/image-grid/index.html +5805 -0
  198. package/docs-dev/sass/components/index/index.html +5859 -0
  199. package/docs-dev/sass/components/index.html +5622 -0
  200. package/docs-dev/sass/components/links/index.html +5649 -0
  201. package/docs-dev/sass/components/list-inline/index.html +5819 -0
  202. package/docs-dev/sass/components/list-lines/index.html +5840 -0
  203. package/docs-dev/sass/components/list-ordered/index.html +5645 -0
  204. package/docs-dev/sass/components/list-unordered/index.html +5649 -0
  205. package/docs-dev/sass/components/menu-stack/index.html +5992 -0
  206. package/docs-dev/sass/components/modal/index.html +6068 -0
  207. package/docs-dev/sass/components/nav-strip/index.html +5899 -0
  208. package/docs-dev/sass/components/overlay-section/index.html +5843 -0
  209. package/docs-dev/sass/components/pager/index.html +5961 -0
  210. package/docs-dev/sass/components/panel/index.html +6033 -0
  211. package/docs-dev/sass/components/placeholder-block/index.html +5883 -0
  212. package/docs-dev/sass/components/popover/index.html +5994 -0
  213. package/docs-dev/sass/components/pull-quote/index.html +5857 -0
  214. package/docs-dev/sass/components/rail/index.html +5823 -0
  215. package/docs-dev/sass/components/ratio-box/index.html +5803 -0
  216. package/docs-dev/sass/components/rule/index.html +5805 -0
  217. package/docs-dev/sass/components/scroll-slider/index.html +5904 -0
  218. package/docs-dev/sass/components/skeleton/index.html +5861 -0
  219. package/docs-dev/sass/components/skip-link/index.html +5789 -0
  220. package/docs-dev/sass/components/slider/index.html +5913 -0
  221. package/docs-dev/sass/components/spoke-spinner/index.html +5863 -0
  222. package/docs-dev/sass/components/sticky-list/index.html +6023 -0
  223. package/docs-dev/sass/components/table-sticky/index.html +5677 -0
  224. package/docs-dev/sass/components/tabs/index.html +5954 -0
  225. package/docs-dev/sass/components/tag/index.html +5964 -0
  226. package/docs-dev/sass/components/tile-button/index.html +5844 -0
  227. package/docs-dev/sass/components/tile-grid/index.html +5979 -0
  228. package/docs-dev/sass/components/tile-grid-overlay/index.html +5780 -0
  229. package/docs-dev/sass/components/vignette/index.html +5799 -0
  230. package/docs-dev/sass/components/wysiwyg/index.html +5827 -0
  231. package/docs-dev/sass/core/breakpoint/index.html +6454 -0
  232. package/docs-dev/sass/core/button/index.html +6538 -0
  233. package/docs-dev/sass/core/color/index.html +6520 -0
  234. package/docs-dev/sass/core/cssvar/index.html +6411 -0
  235. package/docs-dev/sass/core/element/index.html +6816 -0
  236. package/docs-dev/sass/core/index.html +5609 -0
  237. package/docs-dev/sass/core/layout/index.html +6388 -0
  238. package/docs-dev/sass/core/path/index.html +5778 -0
  239. package/docs-dev/sass/core/selector/index.html +5857 -0
  240. package/docs-dev/sass/core/typography/index.html +6783 -0
  241. package/docs-dev/sass/core/units/index.html +5822 -0
  242. package/docs-dev/sass/core/utils/index.html +8406 -0
  243. package/docs-dev/sass/helpers/color/index.html +5644 -0
  244. package/docs-dev/sass/helpers/display/index.html +5649 -0
  245. package/docs-dev/sass/helpers/index/index.html +5811 -0
  246. package/docs-dev/sass/helpers/index.html +5622 -0
  247. package/docs-dev/sass/helpers/print/index.html +5199 -0
  248. package/docs-dev/sass/helpers/typography/index.html +5672 -0
  249. package/docs-dev/sass/helpers/units/index.html +5818 -0
  250. package/docs-dev/sass/helpers/utilities/index.html +5649 -0
  251. package/docs-dev/sass/index.html +5673 -0
  252. package/js/events/index.js +17 -5
  253. package/js/index.js +1 -0
  254. package/js/settings.js +97 -0
  255. package/js/ui/breakpoints.js +19 -16
  256. package/js/ui/collapsible.js +8 -1
  257. package/js/ui/details-group.js +112 -0
  258. package/js/ui/dialog.js +103 -44
  259. package/js/ui/dialog.todo +2 -36
  260. package/js/ui/flipcard.js +37 -57
  261. package/js/ui/grid.js +15 -13
  262. package/js/ui/index.js +1 -0
  263. package/js/ui/modal-builder.js +127 -70
  264. package/js/ui/overflow-scroller.js +6 -4
  265. package/js/ui/page.js +2 -2
  266. package/js/ui/popover.js +38 -38
  267. package/js/ui/print.js +16 -25
  268. package/js/ui/programmatic-modal.js +9 -3
  269. package/js/ui/proxy-click.js +50 -36
  270. package/js/ui/resizer.js +408 -39
  271. package/js/ui/scroll-slider.js +24 -30
  272. package/js/ui/scrollpoint.js +29 -64
  273. package/js/ui/slider.js +108 -63
  274. package/js/ui/tabs.js +46 -39
  275. package/js/ui/theme-toggle.js +332 -94
  276. package/js/ui/tooltip.js +27 -32
  277. package/js/utils/class-logger.js +3 -3
  278. package/js/utils/css.js +13 -0
  279. package/js/utils/dom.js +23 -64
  280. package/js/utils/font-awesome.js +19 -0
  281. package/js/utils/index.js +2 -1
  282. package/js/utils/system.js +155 -0
  283. package/package.json +25 -11
  284. package/scss/README.md +9 -0
  285. package/scss/_breakpoint.scss +39 -5
  286. package/scss/_button.scss +7 -5
  287. package/scss/_color.scss +42 -9
  288. package/scss/_element.scss +124 -2
  289. package/scss/_layout.scss +7 -8
  290. package/scss/_units.scss +3 -2
  291. package/scss/_utils.scss +387 -16
  292. package/scss/base/_elements.scss +0 -1
  293. package/scss/base/_index.scss +1 -1
  294. package/scss/base/_keyframes.scss +15 -0
  295. package/scss/base/_layout.scss +1 -0
  296. package/scss/base/_print.scss +2 -0
  297. package/scss/base/_root.scss +2 -0
  298. package/scss/base/_typography.scss +7 -7
  299. package/scss/components/README.todos +14 -0
  300. package/scss/components/_accordion.scss +46 -32
  301. package/scss/components/_adaptive-spacing.scss +3 -3
  302. package/scss/components/_badge-stack.scss +84 -0
  303. package/scss/components/_badge.scss +35 -11
  304. package/scss/components/_basic-hero.scss +112 -0
  305. package/scss/components/_button-group.scss +90 -0
  306. package/scss/components/_button-verbose.scss +122 -40
  307. package/scss/components/_button.scss +2 -0
  308. package/scss/components/_callout.scss +129 -81
  309. package/scss/components/_captioned-figure.scss +25 -8
  310. package/scss/components/_card-grid.scss +3 -3
  311. package/scss/components/_card.scss +267 -91
  312. package/scss/components/_counter-list.scss +151 -0
  313. package/scss/components/_css-icon.scss +45 -30
  314. package/scss/components/_data-grid.scss +57 -14
  315. package/scss/components/_data-table.scss +46 -6
  316. package/scss/components/_flipcard-grid.scss +2 -2
  317. package/scss/components/_flipcard.scss +23 -17
  318. package/scss/components/_form-theme.scss +148 -137
  319. package/scss/components/_headline-label.scss +83 -0
  320. package/scss/components/_hero.scss +14 -12
  321. package/scss/components/_image-grid.scss +2 -2
  322. package/scss/components/_index.scss +60 -0
  323. package/scss/components/_list-inline.scss +80 -0
  324. package/scss/components/_list-lines.scss +46 -35
  325. package/scss/components/_list-ordered.scss +0 -1
  326. package/scss/components/_menu-stack.scss +44 -28
  327. package/scss/components/_modal.scss +75 -56
  328. package/scss/components/_nav-strip.scss +28 -19
  329. package/scss/components/_overlay-section.scss +6 -9
  330. package/scss/components/_pager.scss +11 -11
  331. package/scss/components/_panel.scss +246 -0
  332. package/scss/components/_placeholder-block.scss +6 -6
  333. package/scss/components/_popover.scss +176 -75
  334. package/scss/components/_pull-quote.scss +15 -15
  335. package/scss/components/_rail.scss +127 -0
  336. package/scss/components/_ratio-box.scss +4 -7
  337. package/scss/components/_rule.scss +6 -6
  338. package/scss/components/_scroll-slider.scss +4 -8
  339. package/scss/components/_skeleton.scss +126 -0
  340. package/scss/components/_skip-link.scss +2 -1
  341. package/scss/components/_slider.scss +53 -112
  342. package/scss/components/_spoke-spinner.scss +2 -2
  343. package/scss/components/_sticky-list.scss +206 -0
  344. package/scss/components/_tabs.scss +135 -51
  345. package/scss/components/_tag.scss +3 -3
  346. package/scss/components/_vignette.scss +3 -5
  347. package/scss/components/_wysiwyg.scss +21 -13
  348. package/scss/helpers/_display.scss +15 -18
  349. package/scss/helpers/_print.scss +12 -7
  350. package/scss/helpers/_utilities.scss +41 -31
  351. package/types/events/index.d.ts +10 -1
  352. package/types/events/index.d.ts.map +1 -1
  353. package/types/index.d.ts +1 -0
  354. package/types/settings.d.ts +70 -0
  355. package/types/settings.d.ts.map +1 -0
  356. package/types/ui/breakpoints.d.ts +14 -14
  357. package/types/ui/breakpoints.d.ts.map +1 -1
  358. package/types/ui/collapsible.d.ts.map +1 -1
  359. package/types/ui/details-group.d.ts +38 -0
  360. package/types/ui/details-group.d.ts.map +1 -0
  361. package/types/ui/dialog.d.ts +20 -14
  362. package/types/ui/dialog.d.ts.map +1 -1
  363. package/types/ui/flipcard.d.ts +16 -10
  364. package/types/ui/flipcard.d.ts.map +1 -1
  365. package/types/ui/grid.d.ts +4 -6
  366. package/types/ui/grid.d.ts.map +1 -1
  367. package/types/ui/index.d.ts +2 -1
  368. package/types/ui/modal-builder.d.ts +116 -11
  369. package/types/ui/modal-builder.d.ts.map +1 -1
  370. package/types/ui/overflow-scroller.d.ts +2 -2
  371. package/types/ui/overflow-scroller.d.ts.map +1 -1
  372. package/types/ui/popover.d.ts +6 -7
  373. package/types/ui/popover.d.ts.map +1 -1
  374. package/types/ui/print.d.ts +0 -4
  375. package/types/ui/print.d.ts.map +1 -1
  376. package/types/ui/programmatic-modal.d.ts.map +1 -1
  377. package/types/ui/proxy-click.d.ts +19 -3
  378. package/types/ui/proxy-click.d.ts.map +1 -1
  379. package/types/ui/resizer.d.ts +116 -16
  380. package/types/ui/resizer.d.ts.map +1 -1
  381. package/types/ui/scroll-slider.d.ts +5 -7
  382. package/types/ui/scroll-slider.d.ts.map +1 -1
  383. package/types/ui/scrollpoint.d.ts +3 -8
  384. package/types/ui/scrollpoint.d.ts.map +1 -1
  385. package/types/ui/slider.d.ts +33 -14
  386. package/types/ui/slider.d.ts.map +1 -1
  387. package/types/ui/tabs.d.ts +6 -8
  388. package/types/ui/tabs.d.ts.map +1 -1
  389. package/types/ui/theme-toggle.d.ts +51 -7
  390. package/types/ui/theme-toggle.d.ts.map +1 -1
  391. package/types/ui/tooltip.d.ts +3 -5
  392. package/types/ui/tooltip.d.ts.map +1 -1
  393. package/types/utils/css.d.ts +11 -0
  394. package/types/utils/css.d.ts.map +1 -0
  395. package/types/utils/dom.d.ts +12 -32
  396. package/types/utils/dom.d.ts.map +1 -1
  397. package/types/utils/font-awesome.d.ts +5 -0
  398. package/types/utils/font-awesome.d.ts.map +1 -0
  399. package/types/utils/index.d.ts +2 -1
  400. package/types/utils/system.d.ts +113 -0
  401. package/types/utils/system.d.ts.map +1 -0
@@ -9,41 +9,80 @@
9
9
  @use "../color";
10
10
  @use "../selector";
11
11
  @use "../breakpoint";
12
+ @use "../layout";
13
+ @use "../typography";
12
14
  @use "../element";
13
15
  @use "../utils";
14
16
 
15
17
  // Used for function fallback
16
18
  $-fallbacks: (
17
- "tablist-border-bottom" : (
19
+ "tablist-divider" : (
18
20
  "function" : meta.get-function("get-rule-style", false, "element"),
19
21
  "arguments" : ("light",)
22
+ ),
23
+ "tab-font-weight" : (
24
+ "function" : meta.get-function("get", false, "typography"),
25
+ "property" : "font-weight-semibold"
26
+ ),
27
+ "vertical-breakpoint" : (
28
+ "function" : meta.get-function("get", false, "breakpoint"),
29
+ "property" : "default"
20
30
  )
21
31
  );
22
32
 
23
33
  /// Module Settings
24
34
  /// @type Map
25
- /// @prop {Dimension} border-radius [8px] The border radius of the tabs.
26
- /// @prop {Dimension} border-width [0.25em] The width of the tab border.
27
- /// @prop {Dimension} margin [2rem] The gap between tabs and above and below tabs.
35
+ /// @prop {Dimension} margin [(2rem, 0)] The margin for the tabs container
28
36
  /// @prop {Dimension} print-margin [1.5em] Margin between tabs when stacked for print
29
- /// @prop {CssValue} tablist-border-bottom [true] The bottom border of the tabs. If set to true, will use the element.scss property for "get-rule-style".
37
+ /// @prop {CssValue} tablist-divider [true] The border separating the tabs from the panels. By default (true) will use element rule light style
38
+ /// @prop {Dimension} tablist-divider-width [1px] The width of the divider
30
39
  /// @prop {Color} tabpanel-background-color [rgb(245, 245, 245)] The tabpanel background color.
31
- /// @prop {Color} tab-border-color-selected [currentColor] The border color when selected.
32
- /// @prop {String} tab-color [link] The type color for the tabs. This uses color.scss, so the value of this options should be a variable from color.scss.
33
- /// @prop {String} tab-color-hover [link-hover] The type color for the tabs when hovered or focused. This uses color.scss, so the value of this options should be a variable from color.scss.
34
- /// @prop {String} tab-color-selected [selected] The tab type color when selected. This uses color.scss, so the value of this options should be a variable from color.scss.
40
+ /// @prop {Dimension} tabpanel-padding [(2rem,)] Padding for the tabpanel
41
+ /// @prop {Dimension} indicator-size [0.25em] The size of the tab's active border/indicator
42
+ /// @prop {Color} indicator-color [currentColor] The color of the indicator
43
+ /// @prop {Color} indicator-transition-duration [200ms] The transition duration for indicator
44
+ /// @prop {Color} indicator-scale-start [0] The starting scale for the indicator (set to 1 to disable expanding on click)
45
+ /// @prop {Color} tab-color [link] The type color for the tabs. This uses color.scss, so the value of this options should be a variable from color.scss.
46
+ /// @prop {Color} tab-color-hover [link-hover] The type color for the tabs when hovered or focused. This uses color.scss, so the value of this options should be a variable from color.scss.
47
+ /// @prop {Color} tab-color-selected [selected] The tab type color when selected. This uses color.scss, so the value of this options should be a variable from color.scss.
48
+ /// @prop {Color} tab-background-color-selected [null] The tab background color when selected
49
+ /// @prop {CssValue} tab-font-weight [true] The font weight for the tab, defaults to typography "font-weight-semibold"
50
+ /// @prop {Dimension} tab-padding [0.75em 0.1em 0.75em 0.1em] Padding for the tab
51
+ /// @prop {Dimension} tab-gap [1em] Gap between tabs
52
+ /// @prop {Dimension} vertical-tablist-width [minmax(15rem, 30%),] The width of the tablist column when tabs are layout is vertical
53
+ /// @prop {Dimension} vertical-tab-padding [(0.25em 0.75em)] Tab padding when vertical
54
+ /// @prop {Dimension} vertical-divider-width [0px] Divider between tabs and panels when vertical
55
+ /// @prop {Dimension} vertical-tab-gap [0.75em] The gap between tabs when vertical
56
+ /// @prop {Boolean} vertical-indicator-left [true] The indicator for selected tab should be on the left when vertical (false will be on right/inside)
57
+ /// @prop {Boolean} vertical-breakpoint [true] Set the breakpoint when the vertical tabs should switch to horizontal (defaults to breakpoint 'default')
58
+ /// @prop {Boolean} horizontal-tab-wrap [false] Set to true to allow line wrapping when the tabs are in horizontal orientation, vertical is always allowed to wrap
35
59
 
36
60
  $config: (
37
- "border-radius" : 8px,
38
- "border-width" : 0.25em,
39
- "margin" : 2rem,
61
+ "margin" : (2rem 0),
40
62
  "print-margin" : 1.5em,
41
- "tablist-border-bottom" : true,
42
- "tabpanel-background-color" : rgb(245, 245, 245),
43
- "tab-border-color-selected" : currentColor,
44
- "tab-color" : "link",
45
- "tab-color-hover" : "link-hover",
63
+ "tablist-divider" : true,
64
+ "tablist-divider-width" : 1px,
65
+ "indicator-size" : 3px,
66
+ "indicator-color" : currentColor,
67
+ "indicator-transition-duration" : 200ms,
68
+ "indicator-transition-timing" : ease-out,
69
+ "indicator-scale-start" : 0,
70
+ "tab-color" : "type-tertiary",
71
+ "tab-color-hover" : "selected",
46
72
  "tab-color-selected" : "selected",
73
+ "tab-background-color-selected" : null,
74
+ "tab-font-weight" : true,
75
+ "tab-padding" : (0.75em),
76
+ "tab-gap" : 1em,
77
+ "tabpanel-background-color" : #f6f6f6,
78
+ "tabpanel-padding" : (2rem),
79
+ "vertical-tablist-width" : minmax(15rem, 30%),
80
+ "vertical-tab-padding" : (0.25em 0.75em),
81
+ "vertical-divider-width" : 0px,
82
+ "vertical-tab-gap" : 0.75em,
83
+ "vertical-indicator-left" : true,
84
+ "vertical-breakpoint" : true,
85
+ "horizontal-tab-wrap" : false
47
86
  ) !default;
48
87
 
49
88
  /// Change modules $config
@@ -73,75 +112,120 @@ $config: (
73
112
  @include utils.file-header("component", "tabs");
74
113
 
75
114
  $prefix: selector.class("tabs");
115
+ $tabpanel-spacing: utils.get-spacing(get("tabpanel-padding"));
76
116
 
77
117
  #{ $prefix } {
78
- margin-bottom: get("margin");
79
- margin-top: get("margin");
118
+ margin: get("margin");
80
119
  [role="tablist"] {
81
120
  position: relative;
82
121
  z-index: 2;
83
122
  display: flex;
123
+ gap: get("tab-gap");
84
124
  overflow-x: auto;
85
- margin-bottom: -1px;
86
- border-bottom: get("tablist-border-bottom");
125
+ border-bottom: get("tablist-divider");
126
+ border-bottom-width: get("tablist-divider-width");
127
+ @include layout.remove-scrollbar();
87
128
  }
88
129
  [role="tab"] {
89
130
  display: block;
90
131
  position: relative;
91
132
  cursor: pointer;
92
- padding: 0.75em 0.1em 0.75em 0.1em;
93
- color: color.get(get("tab-color"));
94
- font-weight: bold;
95
- border-bottom: get("border-width") solid transparent;
96
133
  text-align: center;
97
- white-space: nowrap;
98
- &:not(:first-child) {
99
- margin-left: 1.25em;
100
- @include breakpoint.min("small") {
101
- margin-left: 2em;
102
- }
134
+ padding: get("tab-padding");
135
+ color: color.get(get("tab-color"));
136
+ font-weight: get("tab-font-weight");
137
+ @if (not get("horizontal-tab-wrap")) {
138
+ white-space: nowrap;
139
+ }
140
+ // Indicator
141
+ &::after {
142
+ content: "";
143
+ position: absolute;
144
+ background-color: color.get(get("indicator-color"));
145
+ opacity: 0;
146
+ bottom: 0;
147
+ left: 0;
148
+ right: 0;
149
+ height: get("indicator-size");
150
+ transition-property: opacity, background-color, transform;
151
+ transition-duration: get("indicator-transition-duration");
152
+ transition-timing-function: get("indicator-transition-timing");
153
+ transform: scaleX(get("indicator-scale-start"));
154
+ transform-origin: center;
103
155
  }
104
156
  &:hover {
105
157
  color: color.get(get("tab-color-hover"));
106
158
  }
107
- &:hover,
159
+ // Add focus so as user clicks item it starts the active state styling
108
160
  &:focus,
109
161
  &[aria-selected="true"] {
110
- border-bottom-color: currentColor;
162
+ outline: none; // We are providing focus styling
163
+ &::after {
164
+ opacity: 1;
165
+ transform: scaleX(1);
166
+ }
111
167
  }
112
168
  &[aria-selected="true"] {
113
169
  color: color.get(get("tab-color-selected"));
114
- border-bottom-color: get("tab-border-color-selected");
115
- opacity: 1;
170
+ background-color: color.get(get("tab-background-color-selected"));
116
171
  }
117
172
  }
118
173
  [role="tabpanel"] {
119
174
  position: relative;
120
175
  z-index: 1;
121
- padding: 2rem get("margin");
122
- margin-bottom: -1px;
176
+ padding: get("tabpanel-padding");
123
177
  overflow: hidden;
178
+ background-color: color.get(get("tabpanel-background-color"));
179
+ }
180
+ }
181
+ // For images, etc that should fill tabpanel
182
+ #{ $prefix }__tabpanel-content-fill {
183
+ margin-left: -(map.get($tabpanel-spacing, "left"));
184
+ margin-right: -(map.get($tabpanel-spacing, "right"));
185
+ width: calc(100% + #{ map.get($tabpanel-spacing, "left") + map.get($tabpanel-spacing, "right") });
186
+ max-width: none;
187
+ &:first-child {
188
+ margin-top: -(map.get($tabpanel-spacing, "top"));
189
+ }
190
+ &:last-child {
191
+ margin-bottom: -(map.get($tabpanel-spacing, "bottom"));
192
+ }
193
+ }
124
194
 
125
- background-color: get("tabpanel-background-color");
126
- [class*="video-embed"],
127
- .full-width-image {
128
- margin-left: -(get("margin"));
129
- margin-right: -(get("margin"));
130
- width: calc(100% + #{ get("margin") * 2 });
131
- max-width: none;
132
- &:first-child {
133
- margin-top: -2rem;
134
- }
135
- &:last-child {
136
- margin-bottom: -2rem;
195
+ @include breakpoint.min(get("vertical-breakpoint")) {
196
+ #{ $prefix }--vertical {
197
+ display: grid;
198
+ grid-template-columns: get("vertical-tablist-width") auto;
199
+ [role="tablist"] {
200
+ flex-direction: column;
201
+ gap: get("vertical-tab-gap");
202
+ border-right: get("tablist-divider");
203
+ border-right-width: get("vertical-divider-width");
204
+ border-bottom: none;
205
+ grid-column: 1;
206
+ }
207
+ [role="tab"] {
208
+ padding: get("vertical-tab-padding");
209
+ white-space: normal;
210
+ text-align: left;
211
+ &::after {
212
+ left: if(get("vertical-indicator-left"), 0, auto);
213
+ right: if(not get("vertical-indicator-left"), 0, auto);;
214
+ bottom: 0;
215
+ top: 0;
216
+ width: get("indicator-size");
217
+ height: auto;
137
218
  }
138
219
  }
220
+ [role="tabpanel"] {
221
+ grid-column: 2; // needed for equalHeights in vertical
222
+ }
139
223
  }
140
224
  }
225
+
141
226
  #{ $prefix }--transparent {
142
227
  [role="tablist"] {
143
228
  background-color: transparent;
144
- box-shadow: none;
145
229
  padding-left: 0;
146
230
  padding-right: 0;
147
231
  }
@@ -155,13 +239,13 @@ $config: (
155
239
  #{ $prefix }--full-width {
156
240
  > [role="tablist"] {
157
241
  justify-content: safe center;
158
- box-shadow: 0 4px 4px rgba(0,0,0,0.2);
159
242
  }
160
243
  >[role="tabpanel"] {
161
244
  background-color: transparent;
162
245
  padding: 0;
163
246
  }
164
247
  }
248
+
165
249
  // Display all tabs during print
166
250
  #{ $prefix }--print {
167
251
  @media print {
@@ -28,8 +28,8 @@ $-fallbacks: (
28
28
  /// @prop {CssValue} box-shadow [none] Box shadow for the tag.
29
29
  /// @prop {Dimension} padding [(0.4em 0.75em)] Inner padding for the tag.
30
30
  /// @prop {CssValue} vertical-align [baseline] Vertical alignment of tag text.
31
- /// @prop {Dimension} margin-between [0.5em] Margin between tags.
32
- /// @prop {Dimension} margin-between-tags [0] @joe-check
31
+ /// @prop {Dimension} margin-between [0.5em] Margin between tag and other elements.
32
+ /// @prop {Dimension} margin-between-tags [0] Margin between tag and other tags.
33
33
  /// @prop {Number} line-height [1] Line height for the tag text.
34
34
  /// @prop {String} type-size ["small"] Font size for the tag text.
35
35
  /// @prop {Color} background-color [#eaeaea] Background color of the tag.
@@ -144,7 +144,7 @@ $styles: (
144
144
  border: map.get($style, "border");
145
145
  border-radius: map.get($style, "border-radius");
146
146
  border-color: color.get(map.get($style, "border-color"));
147
- border-width: color.get(map.get($style, "border-width"));
147
+ border-width: map.get($style, "border-width");
148
148
  box-shadow: map.get($style, "box-shadow");
149
149
  padding: map.get($style, "padding");
150
150
  @if (typography.has-size($type-size)) {
@@ -8,10 +8,12 @@
8
8
  @use "sass:map";
9
9
  @use "../utils";
10
10
  @use "../selector";
11
+ @use "../layout";
11
12
 
12
13
  /// Module Settings
13
14
  /// @type Map
14
15
  /// @prop {Color} background-color [rgb(0,0,0)] Color used for the fade-in of the vignette. Must be actual color not color module palette name
16
+ /// @prop {CssValue} image-filter [saturate(85%)] Filter value placed over image.
15
17
 
16
18
  $config: (
17
19
  "background-color" : rgb(0,0,0),
@@ -48,11 +50,7 @@ $config: (
48
50
  &::after {
49
51
  content: "";
50
52
  display: block;
51
- position: absolute;
52
- top: 0;
53
- bottom: 0;
54
- left: 0;
55
- right: 0;
53
+ @include layout.absolute-fill();
56
54
  background: linear-gradient(0deg,color.change(get("background-color"), $alpha: 0.8),color.change(get("background-color"), $alpha: 0) 45%);
57
55
  pointer-events: none;
58
56
  }
@@ -13,13 +13,17 @@
13
13
 
14
14
  /// Module Settings
15
15
  /// @type Map
16
- /// @prop {List} img-excluded-selectors [(".wysiwyg__exclude",)]
17
- /// @prop {List} ul-excluded-selectors [(".list-lines", ".wysiwyg__exclude")]
18
- /// @prop {Map} headline-sizes [Map]
16
+ /// @prop {String} exclude-selector [".wysiwyg__exclude"] Applied to all selectors
17
+ /// @prop {List} img-excluded-selectors [()] Extra selectors to prevent <img> styling
18
+ /// @prop {List} ul-excluded-selectors [(".list-lines",)] Extra selectors to prevent <ul> styling
19
+ /// @prop {List} link-excluded-selectors [("[class]",)] Extra selectors to prevent <a> styling
20
+ /// @prop {Map} headline-sizes [Map] Headlines from typography sizes (ElementName : TypographySizeName, ...)
19
21
 
20
22
  $config: (
21
- "img-excluded-selectors" : (".wysiwyg__exclude",),
22
- "ul-excluded-selectors" : (".list-lines", ".wysiwyg__exclude"),
23
+ "exclude-selector" : ".wysiwyg__exclude",
24
+ "img-excluded-selectors" : (),
25
+ "ul-excluded-selectors" : (".list-lines",),
26
+ "link-excluded-selectors" : ("[class]",),
23
27
  "headline-sizes" : (
24
28
  "h2" : "h2",
25
29
  "h3" : "h3",
@@ -66,24 +70,28 @@ $config: (
66
70
 
67
71
  // Internal mixin
68
72
  @mixin _styles() {
69
- $ul-excludes: list.join(get("ul-excluded-selectors"), (), $separator: comma);
70
- $img-excludes: list.join(get("img-excluded-selectors"), (), $separator: comma);
73
+ $exclude-selector: get("exclude-selector");
74
+ $ul-excludes: list.join(get("ul-excluded-selectors"), ($exclude-selector), $separator: comma);
75
+ $img-excludes: list.join(get("img-excluded-selectors"), ($exclude-selector), $separator: comma);
76
+ $link-excludes: list.join(get("link-excluded-selectors"), ($exclude-selector), $separator: comma);
71
77
 
72
- a:not([class]) {
78
+ a:not(#{ $link-excludes }) {
73
79
  @include element.link($visited: true, $active: true);
74
80
  }
75
81
  ul:not(#{ $ul-excludes }) {
76
82
  @include element.styles-unordered-list();
83
+ margin-bottom: element.get("margin");
77
84
  }
78
- ol {
85
+ ol:not(#{ $exclude-selector }) {
79
86
  @include element.styles-ordered-list(inherit);
80
- }
81
- ul,
82
- ol {
83
87
  margin-bottom: element.get("margin");
84
88
  }
89
+ // ul,
90
+ // ol {
91
+ // margin-bottom: element.get("margin");
92
+ // }
85
93
  @each $element, $size in get("headline-sizes") {
86
- #{ $element } {
94
+ #{ $element }:not(#{ $exclude-selector }) {
87
95
  @include typography.size($size);
88
96
  }
89
97
  }
@@ -20,53 +20,50 @@
20
20
 
21
21
  @include utils.file-header('helpers', 'display');
22
22
 
23
- $hiddenVisuallyPrefix: selector.class("hidden-visually");
23
+ $prefix-hidden-visually: selector.class("hidden-visually");
24
+ $prefix-display: selector.class("display");
25
+ $prefix-hidden: selector.class("hidden");
24
26
 
25
- #{ $hiddenVisuallyPrefix } {
27
+ #{ $prefix-hidden-visually } {
26
28
  @include element.hidden-visually();
27
29
  }
28
- #{ $hiddenVisuallyPrefix }-focusable {
30
+ #{ $prefix-hidden-visually }-focusable {
29
31
  &:not(:active):not(:focus) {
30
32
  @include element.hidden-visually();
31
33
  }
32
34
  }
33
- // Consider removing
34
- .clearfix,
35
- .cf {
36
- @include layout.clearfix();
37
- }
38
- .display-block {
35
+ #{ $prefix-display }-block {
39
36
  display: block;
40
37
  }
41
- .display-flex {
38
+ #{ $prefix-display }-flex {
42
39
  display: flex;
43
40
  }
44
- .display-inline-flex {
41
+ #{ $prefix-display }-inline-flex {
45
42
  display: inline-flex;
46
43
  }
47
- .display-inline {
44
+ #{ $prefix-display }-inline {
48
45
  display: inline;
49
46
  }
50
- .display-inline-all * {
47
+ #{ $prefix-display }-inline-all * {
51
48
  display: inline;
52
49
  }
53
- .display-inline-block {
50
+ #{ $prefix-display }-inline-block {
54
51
  display: inline-block;
55
52
  }
56
- .hidden,
57
- .display-none {
53
+ #{ $prefix-hidden },
54
+ #{ $prefix-display }-none {
58
55
  display: none !important;
59
56
  }
60
57
 
61
58
  // Display none per breakpoint
62
59
  @each $name in map.keys(breakpoint.$sizes) {
63
60
  @include breakpoint.min($name) {
64
- .hidden-min-#{ $name } {
61
+ #{ $prefix-hidden }-min-#{ $name } {
65
62
  display: none !important;
66
63
  }
67
64
  }
68
65
  @include breakpoint.max($name) {
69
- .hidden-max-#{ $name } {
66
+ #{ $prefix-hidden }-max-#{ $name } {
70
67
  display: none !important;
71
68
  }
72
69
  }
@@ -8,18 +8,23 @@
8
8
  /// @example scss
9
9
  /// @include ulu.helper-print-styles();
10
10
 
11
+ @use "../selector";
12
+
11
13
  @mixin styles {
14
+ $prefix-print: selector.class("print");
15
+ $prefix-no-print: selector.class("no-print");
12
16
 
13
- .print-exact {
14
- print-color-adjust: exact;
15
- -webkit-print-color-adjust: exact;
16
- }
17
- .no-print {
17
+ #{ $prefix-no-print } {
18
18
  @media print {
19
19
  display: none !important;
20
20
  }
21
21
  }
22
- .print-only {
22
+
23
+ #{ $prefix-print }-exact {
24
+ print-color-adjust: exact;
25
+ -webkit-print-color-adjust: exact;
26
+ }
27
+ #{ $prefix-print }-only {
23
28
  @media screen {
24
29
  display: none !important;
25
30
  }
@@ -27,7 +32,7 @@
27
32
  // Utility for making dark backgrounds print "ok"
28
33
  // - Grayscale added because colors are flipped
29
34
  // - Rotating colors doesn't really work
30
- .print-invert {
35
+ #{ $prefix-print }-invert {
31
36
  @media print {
32
37
  filter: invert(1) saturate(0);
33
38
  }
@@ -5,6 +5,7 @@
5
5
 
6
6
  @use "../utils";
7
7
  @use "../layout";
8
+ @use "../selector";
8
9
 
9
10
  /// Print utilities helper styles
10
11
  /// - Includes classes like (.crop-margins, .no-scroll-y, .image-full-width, etc)
@@ -13,99 +14,108 @@
13
14
 
14
15
  @mixin styles {
15
16
 
17
+ $prefix-no-scroll: selector.class("no-scroll");
18
+ $prefix-image: selector.class("image");
19
+ $prefix-margin: selector.class("margin");
20
+ $prefix-no-margin: selector.class("no-margin");
21
+ $prefix-crop-margins: selector.class("crop-margins");
22
+ $prefix-no-padding: selector.class("no-padding");
23
+ $prefix-align-self: selector.class("align-self");
24
+
25
+
16
26
  @include utils.file-header('helpers', 'utilities');
17
27
 
18
28
  // Consider removing
19
- .no-scroll-y {
29
+ #{ $prefix-no-scroll }-y {
20
30
  overflow-y: hidden;
21
31
  }
22
- .no-scroll-x {
32
+ #{ $prefix-no-scroll }-x {
23
33
  overflow-x: hidden;
24
34
  }
25
- .full-height {
35
+ #{ selector.class("full-height") } {
26
36
  height: 100%;
27
37
  }
28
- .full-width {
38
+ #{ selector.class("full-width") } {
29
39
  width: 100%;
30
40
  }
31
- .flex-basis-full {
41
+ #{ selector.class("flex-basis-full") } {
32
42
  flex-basis: 100%;
33
43
  }
34
- .full-min-height {
44
+ #{ selector.class("full-min-height") } {
35
45
  min-height: 100%;
36
46
  }
37
- .image-fill {
47
+ #{ $prefix-image }-fill {
38
48
  width: 100%;
39
49
  height: 100%;
40
50
  object-fit: cover;
41
51
  }
42
- .image-full-width img,
43
- .image-full-width {
52
+ #{ $prefix-image }-full-width img,
53
+ #{ $prefix-image }-full-width {
44
54
  width: 100%;
45
55
  height: auto;
46
56
  }
47
- .margin-auto,
48
- .center {
57
+ #{ $prefix-margin }-auto,
58
+ #{ selector.class("center") } {
49
59
  margin-left: auto;
50
60
  margin-right: auto;
51
61
  }
52
- .margin-left-auto {
62
+ #{ $prefix-margin }-left-auto {
53
63
  margin-left: auto;
54
64
  }
55
- .margin-right-auto {
65
+ #{ $prefix-margin }-right-auto {
56
66
  margin-right: auto;
57
67
  }
58
- .no-margin {
68
+ #{ $prefix-no-margin } {
59
69
  margin: 0;
60
70
  }
61
- .no-margin-top {
71
+ #{ $prefix-no-margin }-top {
62
72
  margin-top: 0;
63
73
  }
64
- .no-margin-bottom {
74
+ #{ $prefix-no-margin }-bottom {
65
75
  margin-bottom: 0;
66
76
  }
67
- .no-margin-left {
77
+ #{ $prefix-no-margin }-left {
68
78
  margin-left: 0;
69
79
  }
70
- .no-margin-right {
80
+ #{ $prefix-no-margin }-right {
71
81
  margin-right: 0;
72
82
  }
73
- .crop-margins {
74
- &:not(.crop-margins--last) >:first-child {
83
+ #{ $prefix-crop-margins } {
84
+ &:not( #{ $prefix-crop-margins }--last) >:first-child {
75
85
  margin-top: 0;
76
86
  }
77
- &:not(.crop-margins--first) >:last-child {
87
+ &:not( #{ $prefix-crop-margins }--first) >:last-child {
78
88
  margin-bottom: 0;
79
89
  }
80
90
  }
81
- .no-padding {
91
+ #{ $prefix-no-padding } {
82
92
  padding: 0;
83
93
  }
84
- .no-padding-top {
94
+ #{ $prefix-no-padding }-top {
85
95
  padding-top: 0;
86
96
  }
87
- .no-padding-bottom {
97
+ #{ $prefix-no-padding }-bottom {
88
98
  padding-bottom: 0;
89
99
  }
90
- .no-padding-left {
100
+ #{ $prefix-no-padding }-left {
91
101
  padding-left: 0;
92
102
  }
93
- .no-padding-right {
103
+ #{ $prefix-no-padding }-right {
94
104
  padding-right: 0;
95
105
  }
96
- .align-self-start {
106
+ #{ $prefix-align-self }-start {
97
107
  align-self: start;
98
108
  }
99
- .align-self-center {
109
+ #{ $prefix-align-self }-center {
100
110
  align-self: center;
101
111
  }
102
- .align-self-end {
112
+ #{ $prefix-align-self }-end {
103
113
  align-self: end;
104
114
  }
105
- .align-self-baseline {
115
+ #{ $prefix-align-self }-baseline {
106
116
  align-self: baseline;
107
117
  }
108
- .overflow-hidden {
118
+ #{ selector.class("overflow-hidden") } {
109
119
  overflow: hidden;
110
120
  }
111
121
  // .justify-self-center {
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Triggers one of our custom events
2
+ * Triggers one of our custom events (page/document level events)
3
+ * - UI components may dispatch their own events, this is just used for system wide events
3
4
  * @param {String} type Type of event to dispatch
4
5
  * @param {Node} context Element to trigger the event from
5
6
  * @example
@@ -10,8 +11,16 @@
10
11
  export function dispatch(type: string, context: Node): void;
11
12
  /**
12
13
  * Namespaced event
14
+ * - Should be used for all ulu script/component events
13
15
  * @param {String} type Type of event to get the actual event name for
14
16
  * @returns {String}
15
17
  */
16
18
  export function getName(type: string): string;
19
+ /**
20
+ * Create ulu namespaced custom event
21
+ * @param {String} type Event base name (not prefixed)
22
+ * @param {any} data Custom data to pass with the event (will be available as `event.detail`)
23
+ * @param {Object} options CustomEvent options default `{ bubbles: true }`. If `detail` is also provided, it will be merged with this options object and will override the 'data' argument for this function
24
+ */
25
+ export function createEvent(type: string, data?: any, options?: any): CustomEvent<any>;
17
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/events/index.js"],"names":[],"mappings":"AA6CA;;;;;;;;GAQG;AACH,gDANW,IAAI,QAYd;AAED;;;;GAIG;AACH,8CAEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/events/index.js"],"names":[],"mappings":"AA6CA;;;;;;;;;GASG;AACH,gDANW,IAAI,QAYd;AAED;;;;;GAKG;AACH,8CAEC;AAED;;;;;GAKG;AACH,iDAHW,GAAG,mCAKb"}
package/types/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * as settings from "./settings.js";
1
2
  export * as events from "./events/index.js";
2
3
  export * as ui from "./ui/index.js";
3
4
  export * as utils from "./utils/index.js";