@ulu/frontend 0.1.0-beta.99 → 0.2.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/dist/README.md +12 -0
  2. package/{types/utils/system.d.ts → dist/es/core/component.d.ts} +7 -16
  3. package/dist/es/core/component.d.ts.map +1 -0
  4. package/dist/es/core/component.js +134 -0
  5. package/dist/es/core/events.d.ts +27 -0
  6. package/dist/es/core/events.d.ts.map +1 -0
  7. package/dist/es/core/events.js +45 -0
  8. package/dist/es/core/index.d.ts +4 -0
  9. package/{types/utils → dist/es/core}/index.d.ts.map +1 -1
  10. package/{types → dist/es/core}/settings.d.ts +1 -1
  11. package/dist/es/core/settings.d.ts.map +1 -0
  12. package/dist/es/core/settings.js +44 -0
  13. package/dist/es/index.d.ts +4 -0
  14. package/{types → dist/es}/index.d.ts.map +1 -1
  15. package/dist/es/index.js +125 -0
  16. package/{types → dist/es}/ui/breakpoints.d.ts +9 -9
  17. package/dist/es/ui/breakpoints.d.ts.map +1 -0
  18. package/dist/es/ui/breakpoints.js +194 -0
  19. package/{types → dist/es}/ui/collapsible.d.ts +28 -7
  20. package/dist/es/ui/collapsible.d.ts.map +1 -0
  21. package/dist/es/ui/collapsible.js +140 -0
  22. package/{types → dist/es}/ui/details-group.d.ts +1 -1
  23. package/dist/es/ui/details-group.d.ts.map +1 -0
  24. package/dist/es/ui/details-group.js +49 -0
  25. package/{types → dist/es}/ui/dialog.d.ts +3 -3
  26. package/dist/es/ui/dialog.d.ts.map +1 -0
  27. package/dist/es/ui/dialog.js +112 -0
  28. package/{types → dist/es}/ui/flipcard.d.ts +1 -1
  29. package/dist/es/ui/flipcard.d.ts.map +1 -0
  30. package/dist/es/ui/flipcard.js +97 -0
  31. package/{types → dist/es}/ui/grid.d.ts +2 -2
  32. package/dist/es/ui/grid.d.ts.map +1 -0
  33. package/dist/es/ui/grid.js +18 -0
  34. package/dist/es/ui/index.d.ts +23 -0
  35. package/{types → dist/es}/ui/index.d.ts.map +1 -1
  36. package/{types → dist/es}/ui/modal-builder.d.ts +22 -17
  37. package/dist/es/ui/modal-builder.d.ts.map +1 -0
  38. package/dist/es/ui/modal-builder.js +136 -0
  39. package/dist/es/ui/overflow-scroller-pager.d.ts.map +1 -0
  40. package/dist/es/ui/overflow-scroller-pager.js +28 -0
  41. package/{types → dist/es}/ui/overflow-scroller.d.ts +3 -3
  42. package/dist/es/ui/overflow-scroller.d.ts.map +1 -0
  43. package/dist/es/ui/overflow-scroller.js +90 -0
  44. package/dist/es/ui/page.d.ts.map +1 -0
  45. package/dist/es/ui/page.js +7 -0
  46. package/{types → dist/es}/ui/popover.d.ts +4 -4
  47. package/dist/es/ui/popover.d.ts.map +1 -0
  48. package/dist/es/ui/popover.js +77 -0
  49. package/dist/es/ui/print-details.d.ts.map +1 -0
  50. package/dist/es/ui/print-details.js +22 -0
  51. package/dist/es/ui/print.d.ts.map +1 -0
  52. package/dist/es/ui/print.js +34 -0
  53. package/{types → dist/es}/ui/programmatic-modal.d.ts +2 -2
  54. package/dist/es/ui/programmatic-modal.d.ts.map +1 -0
  55. package/dist/es/ui/programmatic-modal.js +55 -0
  56. package/{types → dist/es}/ui/proxy-click.d.ts +4 -4
  57. package/dist/es/ui/proxy-click.d.ts.map +1 -0
  58. package/dist/es/ui/proxy-click.js +44 -0
  59. package/{types → dist/es}/ui/resizer.d.ts +17 -17
  60. package/dist/es/ui/resizer.d.ts.map +1 -0
  61. package/dist/es/ui/resizer.js +242 -0
  62. package/{types → dist/es}/ui/scroll-slider.d.ts +1 -1
  63. package/dist/es/ui/scroll-slider.d.ts.map +1 -0
  64. package/dist/es/ui/scroll-slider.js +29 -0
  65. package/{types → dist/es}/ui/scrollpoint.d.ts +80 -12
  66. package/dist/es/ui/scrollpoint.d.ts.map +1 -0
  67. package/dist/es/ui/scrollpoint.js +178 -0
  68. package/{types → dist/es}/ui/slider.d.ts +16 -13
  69. package/dist/es/ui/slider.d.ts.map +1 -0
  70. package/dist/es/ui/slider.js +290 -0
  71. package/{types → dist/es}/ui/tabs.d.ts +2 -2
  72. package/dist/es/ui/tabs.d.ts.map +1 -0
  73. package/dist/es/ui/tabs.js +64 -0
  74. package/{types → dist/es}/ui/theme-toggle.d.ts +4 -4
  75. package/dist/es/ui/theme-toggle.d.ts.map +1 -0
  76. package/dist/es/ui/theme-toggle.js +190 -0
  77. package/{types → dist/es}/ui/tooltip.d.ts +5 -5
  78. package/dist/es/ui/tooltip.d.ts.map +1 -0
  79. package/dist/es/ui/tooltip.js +184 -0
  80. package/{types → dist/es}/utils/class-logger.d.ts +4 -4
  81. package/dist/es/utils/class-logger.d.ts.map +1 -0
  82. package/dist/es/utils/class-logger.js +37 -0
  83. package/dist/es/utils/css.d.ts.map +1 -0
  84. package/dist/es/utils/css.js +6 -0
  85. package/{types → dist/es}/utils/dom.d.ts +1 -1
  86. package/dist/es/utils/dom.d.ts.map +1 -0
  87. package/dist/es/utils/dom.js +29 -0
  88. package/{types → dist/es}/utils/file-save.d.ts +4 -1
  89. package/dist/es/utils/file-save.d.ts.map +1 -0
  90. package/dist/es/utils/file-save.js +46 -0
  91. package/{types → dist/es}/utils/floating-ui.d.ts +1 -1
  92. package/dist/es/utils/floating-ui.d.ts.map +1 -0
  93. package/dist/es/utils/floating-ui.js +46 -0
  94. package/dist/es/utils/font-awesome.d.ts.map +1 -0
  95. package/dist/es/utils/font-awesome.js +13 -0
  96. package/dist/es/utils/id.d.ts.map +1 -0
  97. package/dist/es/utils/id.js +11 -0
  98. package/dist/es/utils/index.d.ts +8 -0
  99. package/dist/es/utils/index.d.ts.map +1 -0
  100. package/dist/es/utils/pause-youtube-video.d.ts.map +1 -0
  101. package/dist/es/utils/pause-youtube-video.js +27 -0
  102. package/dist/umd/style.css +1 -0
  103. package/dist/umd/ulu-frontend.umd.js +70 -0
  104. package/lib/index.js +5 -0
  105. package/{js/utils/system.js → lib/js/core/component.js} +13 -12
  106. package/lib/js/core/events.js +98 -0
  107. package/lib/js/core/index.js +34 -0
  108. package/{js → lib/js/core}/settings.js +3 -3
  109. package/lib/js/exports.md +126 -0
  110. package/lib/js/index.js +7 -0
  111. package/{js → lib/js}/ui/breakpoints.js +40 -35
  112. package/{js → lib/js}/ui/collapsible.js +2 -2
  113. package/{js → lib/js}/ui/details-group.js +2 -2
  114. package/{js → lib/js}/ui/dialog.js +6 -6
  115. package/{js → lib/js}/ui/flipcard.js +2 -2
  116. package/{js → lib/js}/ui/grid.js +2 -2
  117. package/lib/js/ui/index.js +165 -0
  118. package/{js → lib/js}/ui/modal-builder.js +11 -9
  119. package/{js → lib/js}/ui/overflow-scroller.js +2 -2
  120. package/{js → lib/js}/ui/popover.js +2 -2
  121. package/{js → lib/js}/ui/print-details.js +3 -3
  122. package/{js → lib/js}/ui/print.js +2 -2
  123. package/{js → lib/js}/ui/programmatic-modal.js +3 -3
  124. package/{js → lib/js}/ui/proxy-click.js +2 -2
  125. package/{js → lib/js}/ui/resizer.js +2 -2
  126. package/{js → lib/js}/ui/scroll-slider.js +2 -2
  127. package/{js → lib/js}/ui/scrollpoint.js +2 -2
  128. package/{js → lib/js}/ui/slider.js +25 -16
  129. package/{js → lib/js}/ui/tabs.js +2 -2
  130. package/{js → lib/js}/ui/theme-toggle.js +5 -5
  131. package/{js → lib/js}/ui/tooltip.js +4 -4
  132. package/{js → lib/js}/utils/css.js +1 -1
  133. package/{js → lib/js}/utils/font-awesome.js +2 -2
  134. package/lib/js/utils/index.js +63 -0
  135. package/{scss → lib/scss}/_breakpoint.scss +4 -4
  136. package/{scss → lib/scss}/_button.scss +1 -0
  137. package/{scss → lib/scss}/_color.scss +42 -38
  138. package/{scss → lib/scss}/_element.scss +13 -2
  139. package/{scss → lib/scss}/_typography.scss +15 -0
  140. package/lib/scss/components/_accordion.scss +268 -0
  141. package/{scss → lib/scss}/components/_basic-hero.scss +1 -1
  142. package/lib/scss/components/_breadcrumb.scss +110 -0
  143. package/{scss → lib/scss}/components/_button.scss +23 -4
  144. package/{scss → lib/scss}/components/_card-grid.scss +8 -2
  145. package/lib/scss/components/_card.scss +655 -0
  146. package/lib/scss/components/_definition-list.scss +178 -0
  147. package/{scss → lib/scss}/components/_form-theme.scss +3 -3
  148. package/{scss → lib/scss}/components/_index.scss +25 -0
  149. package/{scss → lib/scss}/components/_menu-stack.scss +170 -16
  150. package/{scss → lib/scss}/components/_modal.scss +23 -13
  151. package/lib/scss/components/_progress-bar.scss +260 -0
  152. package/lib/scss/components/_progress-circle.scss +175 -0
  153. package/{scss → lib/scss}/components/_skeleton.scss +24 -20
  154. package/{scss → lib/scss}/components/_tag.scss +49 -7
  155. package/{scss → lib/scss}/helpers/_utilities.scss +22 -3
  156. package/package.json +65 -43
  157. package/.browserslistrc +0 -2
  158. package/.eslintrc +0 -17
  159. package/.prettierrc +0 -10
  160. package/CHANGELOG.md +0 -750
  161. package/deprecated/js/doc-ready.js +0 -28
  162. package/deprecated/js/drupal-programmatic-modal.js +0 -91
  163. package/deprecated/js/jquery-prototypes.js +0 -309
  164. package/deprecated/js/micromodal-modals.js +0 -196
  165. package/deprecated/js/mini-collapsible-popper-positioning.js +0 -126
  166. package/deprecated/js/mini-collapsible.js +0 -607
  167. package/deprecated/js/node-data-manager.js +0 -78
  168. package/deprecated/js/script-loader.js +0 -60
  169. package/deprecated/js/waypoints/README.md +0 -3
  170. package/deprecated/js/waypoints/anchor-menu.js +0 -76
  171. package/deprecated/js/waypoints/element-waypoint.js +0 -75
  172. package/deprecated/js/waypoints/examples/page-link-menu.md +0 -106
  173. package/deprecated/js/waypoints/state-in-attribute.js +0 -32
  174. package/dist/ulu-frontend.min.css +0 -1
  175. package/dist/ulu-frontend.min.js +0 -77
  176. package/docs-dev/.nojekyll +0 -1
  177. package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +0 -37
  178. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  179. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  180. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  181. package/docs-dev/assets/favicons/browserconfig.xml +0 -9
  182. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  183. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  184. package/docs-dev/assets/favicons/favicon.ico +0 -0
  185. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  186. package/docs-dev/assets/favicons/safari-pinned-tab.svg +0 -1
  187. package/docs-dev/assets/favicons/site.webmanifest +0 -19
  188. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  189. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  190. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  191. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  192. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  193. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  194. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  195. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  196. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  197. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  198. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  199. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  200. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  201. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  202. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  203. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  204. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  205. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  206. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  207. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  208. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  209. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  210. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  211. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  212. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  213. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  214. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  215. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  216. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  217. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  218. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  219. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  220. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  221. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  222. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  223. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  224. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  225. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  226. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  227. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  228. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  229. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  230. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  231. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  232. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  233. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  234. package/docs-dev/assets/fonts/inter/LICENSE.txt +0 -92
  235. package/docs-dev/assets/fonts/inter/inter.css +0 -37
  236. package/docs-dev/assets/main.js +0 -23312
  237. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +0 -2
  238. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  239. package/docs-dev/assets/placeholder/icon-calendar.svg +0 -1
  240. package/docs-dev/assets/placeholder/icon-check.svg +0 -1
  241. package/docs-dev/assets/placeholder/image-1-attribution.txt +0 -7
  242. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  243. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  244. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  245. package/docs-dev/assets/style.css +0 -19153
  246. package/docs-dev/changelog/index.html +0 -7184
  247. package/docs-dev/demos/accordion/index.html +0 -5811
  248. package/docs-dev/demos/badge/index.html +0 -5655
  249. package/docs-dev/demos/badge-stack/index.html +0 -5636
  250. package/docs-dev/demos/badge.1/index.html +0 -5595
  251. package/docs-dev/demos/basic-hero/index.html +0 -111
  252. package/docs-dev/demos/breakpoints-manager/index.html +0 -5666
  253. package/docs-dev/demos/button/index.html +0 -5665
  254. package/docs-dev/demos/button-group/index.html +0 -5652
  255. package/docs-dev/demos/button-verbose/index.html +0 -5658
  256. package/docs-dev/demos/callout/index.html +0 -5704
  257. package/docs-dev/demos/captioned-figure/index.html +0 -5686
  258. package/docs-dev/demos/card/index.html +0 -5682
  259. package/docs-dev/demos/card-grid/index.html +0 -5777
  260. package/docs-dev/demos/counter-list/index.html +0 -5660
  261. package/docs-dev/demos/css-icons/index.html +0 -6298
  262. package/docs-dev/demos/data-grid/index.html +0 -6529
  263. package/docs-dev/demos/data-table/index.html +0 -5833
  264. package/docs-dev/demos/details-group/index.html +0 -5687
  265. package/docs-dev/demos/file-save/index.html +0 -5675
  266. package/docs-dev/demos/flipcard/index.html +0 -6224
  267. package/docs-dev/demos/form-theme/index.html +0 -5842
  268. package/docs-dev/demos/headline-label/index.html +0 -5622
  269. package/docs-dev/demos/hero/index.html +0 -309
  270. package/docs-dev/demos/image-grid/index.html +0 -165
  271. package/docs-dev/demos/index.html +0 -5613
  272. package/docs-dev/demos/list-inline/index.html +0 -5640
  273. package/docs-dev/demos/list-lines/index.html +0 -5630
  274. package/docs-dev/demos/menu-stack/index.html +0 -5769
  275. package/docs-dev/demos/modals/index.html +0 -5844
  276. package/docs-dev/demos/nav-strip/index.html +0 -5725
  277. package/docs-dev/demos/overlay-section/index.html +0 -5701
  278. package/docs-dev/demos/panel/index.html +0 -5682
  279. package/docs-dev/demos/popovers/index.html +0 -0
  280. package/docs-dev/demos/print/index.html +0 -5633
  281. package/docs-dev/demos/pull-quote/index.html +0 -5632
  282. package/docs-dev/demos/rail/index.html +0 -5730
  283. package/docs-dev/demos/rule/index.html +0 -5694
  284. package/docs-dev/demos/scroll-slider/index.html +0 -170
  285. package/docs-dev/demos/scrollpoints/index.html +0 -5651
  286. package/docs-dev/demos/skeleton/index.html +0 -5676
  287. package/docs-dev/demos/slider/index.html +0 -172
  288. package/docs-dev/demos/spoke-spinner/index.html +0 -5628
  289. package/docs-dev/demos/sticky-list/index.html +0 -5643
  290. package/docs-dev/demos/tabs/index.html +0 -5753
  291. package/docs-dev/demos/tag/index.html +0 -5633
  292. package/docs-dev/demos/theme-toggle/index.html +0 -5699
  293. package/docs-dev/demos/tile-grid-overlay/index.html +0 -390
  294. package/docs-dev/demos/tiles/index.html +0 -5882
  295. package/docs-dev/demos/tooltip/index.html +0 -5661
  296. package/docs-dev/demos/wysiwyg/index.html +0 -5672
  297. package/docs-dev/guide/building-stylesheet/index.html +0 -5682
  298. package/docs-dev/guide/developing-ulu-scss-module/index.html +0 -5734
  299. package/docs-dev/guide/index.html +0 -5615
  300. package/docs-dev/index.html +0 -5662
  301. package/docs-dev/javascript/events/index.html +0 -5811
  302. package/docs-dev/javascript/index.html +0 -5628
  303. package/docs-dev/javascript/settings/index.html +0 -5825
  304. package/docs-dev/javascript/ui-breakpoints/index.html +0 -6071
  305. package/docs-dev/javascript/ui-collapsible/index.html +0 -5738
  306. package/docs-dev/javascript/ui-details-group/index.html +0 -5742
  307. package/docs-dev/javascript/ui-dialog/index.html +0 -5787
  308. package/docs-dev/javascript/ui-flipcard/index.html +0 -5678
  309. package/docs-dev/javascript/ui-grid/index.html +0 -5653
  310. package/docs-dev/javascript/ui-modal-builder/index.html +0 -5901
  311. package/docs-dev/javascript/ui-overflow-scroller/index.html +0 -5611
  312. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +0 -5629
  313. package/docs-dev/javascript/ui-page/index.html +0 -5626
  314. package/docs-dev/javascript/ui-popover/index.html +0 -5661
  315. package/docs-dev/javascript/ui-print/index.html +0 -5670
  316. package/docs-dev/javascript/ui-print-details/index.html +0 -5641
  317. package/docs-dev/javascript/ui-programmatic-modal/index.html +0 -5611
  318. package/docs-dev/javascript/ui-proxy-click/index.html +0 -5740
  319. package/docs-dev/javascript/ui-resizer/index.html +0 -5946
  320. package/docs-dev/javascript/ui-scroll-slider/index.html +0 -5672
  321. package/docs-dev/javascript/ui-scrollpoint/index.html +0 -5851
  322. package/docs-dev/javascript/ui-slider/index.html +0 -5813
  323. package/docs-dev/javascript/ui-tabs/index.html +0 -5706
  324. package/docs-dev/javascript/ui-theme-toggle/index.html +0 -5830
  325. package/docs-dev/javascript/ui-tooltip/index.html +0 -5754
  326. package/docs-dev/javascript/utils-class-logger/index.html +0 -5746
  327. package/docs-dev/javascript/utils-css/index.html +0 -5644
  328. package/docs-dev/javascript/utils-dom/index.html +0 -5711
  329. package/docs-dev/javascript/utils-file-save/index.html +0 -5783
  330. package/docs-dev/javascript/utils-floating-ui/index.html +0 -5643
  331. package/docs-dev/javascript/utils-id/index.html +0 -5653
  332. package/docs-dev/javascript/utils-pause-youtube-video/index.html +0 -5661
  333. package/docs-dev/javascript/utils-system/index.html +0 -5947
  334. package/docs-dev/sass/base/color/index.html +0 -5644
  335. package/docs-dev/sass/base/elements/index.html +0 -5815
  336. package/docs-dev/sass/base/index/index.html +0 -5814
  337. package/docs-dev/sass/base/index.html +0 -5622
  338. package/docs-dev/sass/base/keyframes/index.html +0 -5646
  339. package/docs-dev/sass/base/layout/index.html +0 -5806
  340. package/docs-dev/sass/base/normalize/index.html +0 -5654
  341. package/docs-dev/sass/base/print/index.html +0 -5650
  342. package/docs-dev/sass/base/root/index.html +0 -5670
  343. package/docs-dev/sass/base/typography/index.html +0 -5670
  344. package/docs-dev/sass/components/accordion/index.html +0 -5979
  345. package/docs-dev/sass/components/adaptive-spacing/index.html +0 -5915
  346. package/docs-dev/sass/components/badge/index.html +0 -5881
  347. package/docs-dev/sass/components/badge-stack/index.html +0 -5811
  348. package/docs-dev/sass/components/basic-hero/index.html +0 -5805
  349. package/docs-dev/sass/components/button/index.html +0 -5799
  350. package/docs-dev/sass/components/button-group/index.html +0 -5803
  351. package/docs-dev/sass/components/button-verbose/index.html +0 -5986
  352. package/docs-dev/sass/components/callout/index.html +0 -5961
  353. package/docs-dev/sass/components/captioned-figure/index.html +0 -5904
  354. package/docs-dev/sass/components/card/index.html +0 -6219
  355. package/docs-dev/sass/components/card-grid/index.html +0 -5813
  356. package/docs-dev/sass/components/counter-list/index.html +0 -5887
  357. package/docs-dev/sass/components/css-icon/index.html +0 -5917
  358. package/docs-dev/sass/components/data-grid/index.html +0 -6052
  359. package/docs-dev/sass/components/data-table/index.html +0 -5988
  360. package/docs-dev/sass/components/fill-context/index.html +0 -5679
  361. package/docs-dev/sass/components/flipcard/index.html +0 -5980
  362. package/docs-dev/sass/components/flipcard-grid/index.html +0 -5800
  363. package/docs-dev/sass/components/form-theme/index.html +0 -6525
  364. package/docs-dev/sass/components/headline-label/index.html +0 -5833
  365. package/docs-dev/sass/components/hero/index.html +0 -5849
  366. package/docs-dev/sass/components/horizontal-rule/index.html +0 -5798
  367. package/docs-dev/sass/components/image-grid/index.html +0 -5805
  368. package/docs-dev/sass/components/index/index.html +0 -5859
  369. package/docs-dev/sass/components/index.html +0 -5622
  370. package/docs-dev/sass/components/links/index.html +0 -5649
  371. package/docs-dev/sass/components/list-inline/index.html +0 -5819
  372. package/docs-dev/sass/components/list-lines/index.html +0 -5840
  373. package/docs-dev/sass/components/list-ordered/index.html +0 -5645
  374. package/docs-dev/sass/components/list-unordered/index.html +0 -5649
  375. package/docs-dev/sass/components/menu-stack/index.html +0 -5992
  376. package/docs-dev/sass/components/modal/index.html +0 -6068
  377. package/docs-dev/sass/components/nav-strip/index.html +0 -5899
  378. package/docs-dev/sass/components/overlay-section/index.html +0 -5843
  379. package/docs-dev/sass/components/pager/index.html +0 -5961
  380. package/docs-dev/sass/components/panel/index.html +0 -6033
  381. package/docs-dev/sass/components/placeholder-block/index.html +0 -5883
  382. package/docs-dev/sass/components/popover/index.html +0 -5994
  383. package/docs-dev/sass/components/pull-quote/index.html +0 -5857
  384. package/docs-dev/sass/components/rail/index.html +0 -5823
  385. package/docs-dev/sass/components/ratio-box/index.html +0 -5803
  386. package/docs-dev/sass/components/rule/index.html +0 -5805
  387. package/docs-dev/sass/components/scroll-slider/index.html +0 -5904
  388. package/docs-dev/sass/components/skeleton/index.html +0 -5860
  389. package/docs-dev/sass/components/skip-link/index.html +0 -5789
  390. package/docs-dev/sass/components/slider/index.html +0 -5913
  391. package/docs-dev/sass/components/spoke-spinner/index.html +0 -5863
  392. package/docs-dev/sass/components/sticky-list/index.html +0 -6023
  393. package/docs-dev/sass/components/table-sticky/index.html +0 -5677
  394. package/docs-dev/sass/components/tabs/index.html +0 -5954
  395. package/docs-dev/sass/components/tag/index.html +0 -5964
  396. package/docs-dev/sass/components/tile-button/index.html +0 -5844
  397. package/docs-dev/sass/components/tile-grid/index.html +0 -5979
  398. package/docs-dev/sass/components/tile-grid-overlay/index.html +0 -5780
  399. package/docs-dev/sass/components/vignette/index.html +0 -5799
  400. package/docs-dev/sass/components/wysiwyg/index.html +0 -5827
  401. package/docs-dev/sass/core/breakpoint/index.html +0 -6454
  402. package/docs-dev/sass/core/button/index.html +0 -6538
  403. package/docs-dev/sass/core/color/index.html +0 -6520
  404. package/docs-dev/sass/core/cssvar/index.html +0 -6411
  405. package/docs-dev/sass/core/element/index.html +0 -6816
  406. package/docs-dev/sass/core/index.html +0 -5609
  407. package/docs-dev/sass/core/layout/index.html +0 -6388
  408. package/docs-dev/sass/core/path/index.html +0 -5778
  409. package/docs-dev/sass/core/selector/index.html +0 -5857
  410. package/docs-dev/sass/core/typography/index.html +0 -6783
  411. package/docs-dev/sass/core/units/index.html +0 -5822
  412. package/docs-dev/sass/core/utils/index.html +0 -8406
  413. package/docs-dev/sass/helpers/color/index.html +0 -5644
  414. package/docs-dev/sass/helpers/display/index.html +0 -5649
  415. package/docs-dev/sass/helpers/index/index.html +0 -5811
  416. package/docs-dev/sass/helpers/index.html +0 -5622
  417. package/docs-dev/sass/helpers/print/index.html +0 -5199
  418. package/docs-dev/sass/helpers/typography/index.html +0 -5672
  419. package/docs-dev/sass/helpers/units/index.html +0 -5818
  420. package/docs-dev/sass/helpers/utilities/index.html +0 -5649
  421. package/docs-dev/sass/index.html +0 -5673
  422. package/index.js +0 -7
  423. package/js/events/index.js +0 -108
  424. package/js/index.js +0 -11
  425. package/js/ui/index.js +0 -22
  426. package/js/utils/index.js +0 -8
  427. package/resources/drupal/twig-macros/accordion.twig +0 -99
  428. package/resources/drupal/twig-macros/dropdown.twig +0 -44
  429. package/resources/drupal/twig-macros/flipcard.twig +0 -69
  430. package/resources/drupal/twig-macros/image.twig +0 -30
  431. package/resources/drupal/twig-macros/layout.twig +0 -338
  432. package/resources/drupal/twig-macros/slider.twig +0 -214
  433. package/resources/drupal/twig-macros/tabs.twig +0 -84
  434. package/scss/components/_accordion.scss +0 -231
  435. package/scss/components/_card.scss +0 -596
  436. package/types/events/index.d.ts +0 -26
  437. package/types/events/index.d.ts.map +0 -1
  438. package/types/index.d.ts +0 -5
  439. package/types/settings.d.ts.map +0 -1
  440. package/types/ui/breakpoints.d.ts.map +0 -1
  441. package/types/ui/collapsible.d.ts.map +0 -1
  442. package/types/ui/details-group.d.ts.map +0 -1
  443. package/types/ui/dialog.d.ts.map +0 -1
  444. package/types/ui/flipcard.d.ts.map +0 -1
  445. package/types/ui/grid.d.ts.map +0 -1
  446. package/types/ui/index.d.ts +0 -24
  447. package/types/ui/modal-builder.d.ts.map +0 -1
  448. package/types/ui/overflow-scroller-pager.d.ts.map +0 -1
  449. package/types/ui/overflow-scroller.d.ts.map +0 -1
  450. package/types/ui/page.d.ts.map +0 -1
  451. package/types/ui/popover.d.ts.map +0 -1
  452. package/types/ui/print-details.d.ts.map +0 -1
  453. package/types/ui/print.d.ts.map +0 -1
  454. package/types/ui/programmatic-modal.d.ts.map +0 -1
  455. package/types/ui/proxy-click.d.ts.map +0 -1
  456. package/types/ui/resizer.d.ts.map +0 -1
  457. package/types/ui/scroll-slider.d.ts.map +0 -1
  458. package/types/ui/scrollpoint.d.ts.map +0 -1
  459. package/types/ui/slider.d.ts.map +0 -1
  460. package/types/ui/tabs.d.ts.map +0 -1
  461. package/types/ui/theme-toggle.d.ts.map +0 -1
  462. package/types/ui/tooltip.d.ts.map +0 -1
  463. package/types/utils/class-logger.d.ts.map +0 -1
  464. package/types/utils/css.d.ts.map +0 -1
  465. package/types/utils/dom.d.ts.map +0 -1
  466. package/types/utils/file-save.d.ts.map +0 -1
  467. package/types/utils/floating-ui.d.ts.map +0 -1
  468. package/types/utils/font-awesome.d.ts.map +0 -1
  469. package/types/utils/id.d.ts.map +0 -1
  470. package/types/utils/index.d.ts +0 -10
  471. package/types/utils/pause-youtube-video.d.ts.map +0 -1
  472. package/types/utils/system.d.ts.map +0 -1
  473. /package/{types → dist/es}/ui/overflow-scroller-pager.d.ts +0 -0
  474. /package/{types → dist/es}/ui/page.d.ts +0 -0
  475. /package/{types → dist/es}/ui/print-details.d.ts +0 -0
  476. /package/{types → dist/es}/ui/print.d.ts +0 -0
  477. /package/{types → dist/es}/utils/css.d.ts +0 -0
  478. /package/{types → dist/es}/utils/font-awesome.d.ts +0 -0
  479. /package/{types → dist/es}/utils/id.d.ts +0 -0
  480. /package/{types → dist/es}/utils/pause-youtube-video.d.ts +0 -0
  481. /package/{js → lib/js}/ui/dialog.todo +0 -0
  482. /package/{js → lib/js}/ui/overflow-scroller-pager.js +0 -0
  483. /package/{js → lib/js}/ui/page.js +0 -0
  484. /package/{js → lib/js}/utils/class-logger.js +0 -0
  485. /package/{js → lib/js}/utils/dom.js +0 -0
  486. /package/{js → lib/js}/utils/file-save.js +0 -0
  487. /package/{js → lib/js}/utils/floating-ui.js +0 -0
  488. /package/{js → lib/js}/utils/id.js +0 -0
  489. /package/{js → lib/js}/utils/pause-youtube-video.js +0 -0
  490. /package/{scss → lib/scss}/README.md +0 -0
  491. /package/{scss → lib/scss}/_cssvar.scss +0 -0
  492. /package/{scss → lib/scss}/_index.scss +0 -0
  493. /package/{scss → lib/scss}/_layout.scss +0 -0
  494. /package/{scss → lib/scss}/_path.scss +0 -0
  495. /package/{scss → lib/scss}/_selector.scss +0 -0
  496. /package/{scss → lib/scss}/_units.scss +0 -0
  497. /package/{scss → lib/scss}/_utils.scss +0 -0
  498. /package/{scss → lib/scss}/base/_color.scss +0 -0
  499. /package/{scss → lib/scss}/base/_elements.scss +0 -0
  500. /package/{scss → lib/scss}/base/_index.scss +0 -0
  501. /package/{scss → lib/scss}/base/_keyframes.scss +0 -0
  502. /package/{scss → lib/scss}/base/_layout.scss +0 -0
  503. /package/{scss → lib/scss}/base/_normalize.scss +0 -0
  504. /package/{scss → lib/scss}/base/_print.scss +0 -0
  505. /package/{scss → lib/scss}/base/_root.scss +0 -0
  506. /package/{scss → lib/scss}/base/_typography.scss +0 -0
  507. /package/{scss → lib/scss}/components/README.md +0 -0
  508. /package/{scss → lib/scss}/components/README.todos +0 -0
  509. /package/{scss → lib/scss}/components/_adaptive-spacing.scss +0 -0
  510. /package/{scss → lib/scss}/components/_badge-stack.scss +0 -0
  511. /package/{scss → lib/scss}/components/_badge.scss +0 -0
  512. /package/{scss → lib/scss}/components/_button-group.scss +0 -0
  513. /package/{scss → lib/scss}/components/_button-verbose.scss +0 -0
  514. /package/{scss → lib/scss}/components/_callout.scss +0 -0
  515. /package/{scss → lib/scss}/components/_captioned-figure.scss +0 -0
  516. /package/{scss → lib/scss}/components/_counter-list.scss +0 -0
  517. /package/{scss → lib/scss}/components/_css-icon.scss +0 -0
  518. /package/{scss → lib/scss}/components/_data-grid.scss +0 -0
  519. /package/{scss → lib/scss}/components/_data-table.scss +0 -0
  520. /package/{scss → lib/scss}/components/_fill-context.scss +0 -0
  521. /package/{scss → lib/scss}/components/_flipcard-grid.scss +0 -0
  522. /package/{scss → lib/scss}/components/_flipcard.scss +0 -0
  523. /package/{scss → lib/scss}/components/_headline-label.scss +0 -0
  524. /package/{scss → lib/scss}/components/_hero.scss +0 -0
  525. /package/{scss → lib/scss}/components/_horizontal-rule.scss +0 -0
  526. /package/{scss → lib/scss}/components/_image-grid.scss +0 -0
  527. /package/{scss → lib/scss}/components/_links.scss +0 -0
  528. /package/{scss → lib/scss}/components/_list-inline.scss +0 -0
  529. /package/{scss → lib/scss}/components/_list-lines.scss +0 -0
  530. /package/{scss → lib/scss}/components/_list-ordered.scss +0 -0
  531. /package/{scss → lib/scss}/components/_list-unordered.scss +0 -0
  532. /package/{scss → lib/scss}/components/_nav-strip.scss +0 -0
  533. /package/{scss → lib/scss}/components/_overlay-section.scss +0 -0
  534. /package/{scss → lib/scss}/components/_pager.scss +0 -0
  535. /package/{scss → lib/scss}/components/_panel.scss +0 -0
  536. /package/{scss → lib/scss}/components/_placeholder-block.scss +0 -0
  537. /package/{scss → lib/scss}/components/_popover.scss +0 -0
  538. /package/{scss → lib/scss}/components/_pull-quote.scss +0 -0
  539. /package/{scss → lib/scss}/components/_rail.scss +0 -0
  540. /package/{scss → lib/scss}/components/_ratio-box.scss +0 -0
  541. /package/{scss → lib/scss}/components/_rule.scss +0 -0
  542. /package/{scss → lib/scss}/components/_scroll-slider.scss +0 -0
  543. /package/{scss → lib/scss}/components/_skip-link.scss +0 -0
  544. /package/{scss → lib/scss}/components/_slider.scss +0 -0
  545. /package/{scss → lib/scss}/components/_spoke-spinner.scss +0 -0
  546. /package/{scss → lib/scss}/components/_sticky-list.scss +0 -0
  547. /package/{scss → lib/scss}/components/_tabs.scss +0 -0
  548. /package/{scss → lib/scss}/components/_tile-button.scss +0 -0
  549. /package/{scss → lib/scss}/components/_tile-grid-overlay.scss +0 -0
  550. /package/{scss → lib/scss}/components/_tile-grid.scss +0 -0
  551. /package/{scss → lib/scss}/components/_vignette.scss +0 -0
  552. /package/{scss → lib/scss}/components/_wysiwyg.scss +0 -0
  553. /package/{scss → lib/scss}/helpers/_color.scss +0 -0
  554. /package/{scss → lib/scss}/helpers/_display.scss +0 -0
  555. /package/{scss → lib/scss}/helpers/_index.scss +0 -0
  556. /package/{scss → lib/scss}/helpers/_print.scss +0 -0
  557. /package/{scss → lib/scss}/helpers/_typography.scss +0 -0
  558. /package/{scss → lib/scss}/helpers/_units.scss +0 -0
  559. /package/{scss → lib/scss}/stylesheets/README.md +0 -0
  560. /package/{scss → lib/scss}/stylesheets/base-styles.scss +0 -0
  561. /package/{scss → lib/scss}/stylesheets/component-styles.scss +0 -0
  562. /package/{scss → lib/scss}/stylesheets/full.scss +0 -0
  563. /package/{scss → lib/scss}/stylesheets/helper-styles.scss +0 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @module utils
3
+ * @description
4
+ * Public API for the utility modules.
5
+ *
6
+ * This file re-exports the internal implementations from the `utils` directory
7
+ * with new names where appropriate, defining the public-facing API for the
8
+ * library bundle.
9
+ *
10
+ * For internal library usage, import directly from the specific file within
11
+ * the `utils` directory (e.g., `import { ... } from './dom.js'`).
12
+ *
13
+ * @internal
14
+ *
15
+ * Naming Convention
16
+ * To ensure tree-shaking works correctly while avoiding name collisions in the
17
+ * final library, the following naming convention is used for re-exporting:
18
+ *
19
+ * 1. Generic Names: Functions with highly generic names (e.g., `log`, `set`, `defaults`)
20
+ * MUST be prefixed with a name derived from their module to prevent conflicts.
21
+ * Example: `export { log as classLoggerLog } from "./class-logger.js";`
22
+ *
23
+ * 2. Descriptive Names: Functions with specific, descriptive names that are unlikely
24
+ * to cause conflicts (e.g., `newId`, `createFloatingUi`, `configureIcons`)
25
+ * can be re-exported directly without a prefix for better readability.
26
+ * Example: `export { newId } from "./id.js";`
27
+ */
28
+
29
+ export {
30
+ set as classLoggerSet,
31
+ log as classLoggerLog,
32
+ logWarning as classLoggerLogWarning,
33
+ logError as classLoggerLogError
34
+ } from "./class-logger.js";
35
+
36
+ export {
37
+ dataAttributeToDatasetKey,
38
+ setPositionClasses,
39
+ resolveClasses
40
+ } from "./dom.js";
41
+
42
+ export {
43
+ FileSave
44
+ } from "./file-save.js";
45
+
46
+ export {
47
+ defaults as floatingUiDefaults,
48
+ createFloatingUi
49
+ } from "./floating-ui.js";
50
+
51
+ export {
52
+ configureIcons as fontAwesomeConfigureIcons
53
+ } from "./font-awesome.js";
54
+
55
+ export {
56
+ newId,
57
+ ensureId
58
+ } from "./id.js";
59
+
60
+ export {
61
+ pauseVideos as youtubePauseVideos,
62
+ prepVideos as youtubePrepVideos
63
+ } from "./pause-youtube-video.js";
@@ -72,7 +72,7 @@ $sizes: (
72
72
  /// @example scss {compile} Example usage
73
73
  /// .test-get-sizes {
74
74
  /// $sizes: ulu.breakpoint-get-sizes();
75
- /// height: map.get($sizes, "medium");
75
+ /// content: map.get($sizes, "medium");
76
76
  /// }
77
77
  /// @return {Map} Map of breakpoints (equivalent to $sizes)
78
78
 
@@ -85,7 +85,7 @@ $sizes: (
85
85
  /// @compiler
86
86
  /// @example scss {compile} Example usage
87
87
  /// .test-get-size {
88
- /// height: ulu.breakpoint-get-size("medium");
88
+ /// content: ulu.breakpoint-get-size("medium");
89
89
  /// }
90
90
  /// @return {Number} The sizes value
91
91
 
@@ -98,8 +98,8 @@ $sizes: (
98
98
  /// @compiler
99
99
  /// @example scss {compile} Example usage
100
100
  /// .test-get-size-value {
101
- /// height: ulu.breakpoint-get-size-value("medium", true);
102
- /// max-height: ulu.breakpoint-get-size-value("medium");
101
+ /// content: ulu.breakpoint-get-size-value("medium", true);
102
+ /// content: ulu.breakpoint-get-size-value("medium");
103
103
  /// }
104
104
  /// @return {Number} The value for the given size
105
105
 
@@ -84,6 +84,7 @@ $config: (
84
84
  "transition-enabled": true,
85
85
  "transition-duration": 200ms,
86
86
  "transition-properties": (border-color, background-color, color, box-shadow),
87
+ "button-icon-offset": true,
87
88
  ) !default;
88
89
 
89
90
  /// Button sizes
@@ -16,44 +16,48 @@
16
16
  /// @type map
17
17
 
18
18
  $palette: (
19
- "black" : black,
20
- "white" : white,
21
- "type" : black,
22
- "type-secondary" : rgb(82, 82, 82),
23
- "type-tertiary" : rgb(125, 125, 125),
24
- "type-disabled" : rgb(160, 160, 160),
25
- "headline" : inherit,
26
- "background" : white,
27
- "background-gray" : #fafafa,
28
- "focus" : blue,
29
- "accent" : orange,
30
- "info" : #00bde3,
31
- "success" : #00a91c,
32
- "warning" : #ffbe2e,
33
- "danger" : #d54309,
34
- "info-background" : #e7f6f8,
35
- "success-background" : #ecf3ec,
36
- "warning-background" : #faf3d1,
37
- "danger-background" : #f4e3db,
38
- "selected" : green,
39
- "box-shadow" : rgba(0, 0, 0, 0.349),
40
- "box-shadow-hover" : rgba(0, 0, 0, 0.5),
41
- "rule" : gray,
42
- "rule-light" : lightgray,
43
- "link" : blue,
44
- "link-hover" : darkblue,
45
- "link-active" : darkblue,
46
- "link-visited" : purple,
47
- "bullet" : inherit,
48
- "control" : white,
49
- "control-hover" : white,
50
- "control-active" : white,
51
- "control-border" : purple,
52
- "control-border-hover" : blue,
53
- "control-border-active" : orange,
54
- "control-background" : purple,
55
- "control-background-hover": blue,
56
- "control-background-active": orange,
19
+ "black": black,
20
+ "white": white,
21
+ "type": black,
22
+ "type-secondary": rgb(82, 82, 82),
23
+ "type-tertiary": rgb(125, 125, 125),
24
+ "type-disabled": rgb(160, 160, 160),
25
+ "headline": inherit,
26
+ "background": white,
27
+ "focus": blue,
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,
37
+ // Used for background of elements that are placeholder or that have no value (think charts)
38
+ "placeholder-background": #e2e2e2,
39
+ "placeholder-background-alt": #bababa,
40
+ "selected": green,
41
+ "box-shadow": rgba(0, 0, 0, 0.349),
42
+ "box-shadow-hover": rgba(0, 0, 0, 0.5),
43
+ "rule": gray,
44
+ "rule-light": lightgray,
45
+ "link": blue,
46
+ "link-hover": darkblue,
47
+ "link-active": darkblue,
48
+ "link-visited": purple,
49
+ "bullet": inherit,
50
+ "control": white,
51
+ "control-hover": white,
52
+ "control-active": white,
53
+ "control-border": purple,
54
+ "control-border-hover": blue,
55
+ "control-border-active": orange,
56
+ "control-background": purple,
57
+ "control-background-hover": blue,
58
+ "control-background-active": orange,
59
+ // Like accent indicator like things in ui (progress, etc)
60
+ "indicator" : #5050ab,
57
61
  ) !default;
58
62
 
59
63
  /// Pairs of background-color and color definitions
@@ -70,7 +70,8 @@ $config: (
70
70
  "ul-list-style-type-2": circle,
71
71
  "ul-list-style-type-3": square,
72
72
  "cap-color" : "accent",
73
- "cap-size" : 5px
73
+ "cap-size" : 5px,
74
+ "icon-centered-vertical-offset" : 0.02em,
74
75
  ) !default;
75
76
 
76
77
  /// Rule style map, redefine defaults or add to
@@ -412,4 +413,14 @@ $rule-margins: (
412
413
  &:focus:not(:focus-visible) {
413
414
  outline: none;
414
415
  }
415
- }
416
+ }
417
+
418
+ /// Remove default details arrow from the summary element
419
+ @mixin summary-remove-marker() {
420
+ list-style: none; // Remove the default arrow (old safari?)
421
+ &::-webkit-details-marker,
422
+ &::marker {
423
+ display: none;
424
+ content: "";
425
+ }
426
+ }
@@ -35,6 +35,7 @@
35
35
  /// @prop {Number} line-height-dense [1.3] Default dense line height
36
36
  /// @prop {Number} line-height-densest [1.1]
37
37
  /// @prop {Number} line-height-spaced [1.75]
38
+ /// @prop {CssUnit} space-size [0.38em] The size of a space for the site's typography (used when creating faux spaces, like for .flow-inline utility)
38
39
 
39
40
  $config: (
40
41
  "letter-spacing-uppercase": 0.04em,
@@ -61,6 +62,7 @@ $config: (
61
62
  "max-width": 60em,
62
63
  "max-width-large": 75em,
63
64
  "max-width-small": 45em,
65
+ "space-size": 0.38em
64
66
  ) !default;
65
67
 
66
68
  /// Change modules $config
@@ -304,6 +306,19 @@ $sizes: get-default-sizes() !default;
304
306
  font-size: calc(#{ $font-size } + #{ $amount });
305
307
  }
306
308
 
309
+
310
+ /// Output an optional typography size
311
+ /// - If $name is not a string (ie. null, etc) no size will be output
312
+ /// - If the size is not defined no size will be output
313
+ /// @param {*} $name Size name
314
+ /// @param {*} $args... All args are passed as-is to size() mixin
315
+
316
+ @mixin optional-size($name, $changes: false, $only-font-size: null) {
317
+ @if (meta.type-of($name) == "string" and has-size($name)) {
318
+ @include size($name, $changes, $only-font-size);
319
+ }
320
+ }
321
+
307
322
  /// Print a typography size (font-size, line-height)
308
323
  /// @param {String} $nameOrMap Name to retrieve from sizes map or a unique size map that follows the API
309
324
  /// @param {Map} $changes Modifications to be merged into size before output
@@ -0,0 +1,268 @@
1
+ ////
2
+ /// @group accordion
3
+ /// Outputs accordion component stylesheet, which can be used with <details> or custom disclosure components
4
+ ////
5
+
6
+ @use "sass:map";
7
+ @use "sass:meta";
8
+ @use "sass:math";
9
+
10
+ @use "../selector";
11
+ @use "../utils";
12
+ @use "../color";
13
+ @use "../typography";
14
+ @use "../element";
15
+
16
+
17
+ // Used for function fallback
18
+ $-fallbacks: (
19
+ "border-radius" : (
20
+ "function" : meta.get-function("get", false, "element"),
21
+ "property" : "border-radius"
22
+ ),
23
+ );
24
+
25
+ /// Module Settings
26
+ /// @type Map
27
+ /// @prop {Color} background-color [background] This is the background color of the accordion before it is expanded.
28
+ /// @prop {Color} background-color-open [white] This is the background color of the accordion when it is expanded. This will change the background color of the accordion's summary as well as the details.
29
+ /// @prop {String} border-color ["rule-light"] The color of the accordion border.
30
+ /// @prop {Boolean|Number} border-radius [true] 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.
31
+ /// @prop {Dimension} border-width [1px] The width of the borders of the accordions.
32
+ /// @prop {CssValue} box-shadow [none] Adds a box shadow to accordion container.
33
+ /// @prop {Dimension} margin [(1.5em 0)] This is the margin above and below the accordion. Multiple Accordions will stack. See margin-between below.
34
+ /// @prop {Dimension} margin-between [0] This adds a margin between adjacent accordions. By default, accordions do not have any net margin between each other.
35
+ /// @prop {Dimension} padding-x [1.5em] Singular value for the left and right padding.
36
+ /// @prop {Dimension} padding-y [1.5em] Singular value for the top and bottom padding.
37
+ /// @prop {Color} icon-background-color [transparent] The background color of the icon.
38
+ /// @prop {Color} icon-background-color-hover [transparent] The background color of the icon when hovered or focused.
39
+ /// @prop {Number} icon-border-radius [50%] The border-radius of the icon.
40
+ /// @prop {String} icon-color [link] Color of the icon. This uses color.scss, so the value of this option should be a color variable from color.scss.
41
+ /// @prop {String} icon-color-hover [link-hover] Color of the icon when hovered or focused on. This uses color.scss, so the value of this options should be a color variable from color.scss.
42
+ /// @prop {Dimension} icon-font-size [1em] The font-size of the icon.
43
+ /// @prop {Dimension} icon-margin [1em] The margin to the left of the icon.
44
+ /// @prop {Dimension} icon-size [auto] The size of the icon. Used as the base in the flex property.
45
+ /// @prop {Dimension} icon-stroke-width [0.15em] The stroke width of the icon.
46
+ /// @prop {Color} summary-background-color [#f6f6f6] The background color for the summary (toggle button) of the accordion.
47
+ /// @prop {Color} summary-background-color-hover [null] The background color for the summary (toggle button) of the accordion when hovered.
48
+ /// @prop {Color} summary-color [null] The color of the text in the accordion summary.
49
+ /// @prop {Color} summary-color-hover [null] The color of the text in the accordion summary when hovering or focusing on it.
50
+ /// @prop {Dimension} summary-line-height [null] Adjusts the line height of the summary element.
51
+ /// @prop {Dimension} summary-padding-y [1em] The vertical padding of the summary.
52
+ /// @prop {String|Boolean} summary-type-size ["large"] The typography size of the text in the accordion summary. Can be a boolean to disable.
53
+ /// @prop {Boolean} summary-border-enabled [true] Whether the summary has a border when the accordion is open.
54
+ /// @prop {Color} summary-border-color [rule-light] The color of the summary border.
55
+ /// @prop {Dimension} summary-border-width [1px] The width of the summary border.
56
+ /// @prop {Dimension} transparent-content-padding [(0.25em 0)] The padding of the content area for transparent accordions.
57
+ /// @prop {Dimension} borderless-margin-between [0.5em] Margin between accordions when using no-border modifier.
58
+ /// @prop {String} active-selector ['.is-active'] The selector used for the active state of a non-<details> accordion.
59
+
60
+ $config: (
61
+ "background-color": "background",
62
+ "background-color-open": white,
63
+ "border-color": "rule-light",
64
+ "border-radius": true,
65
+ "border-width": 1px,
66
+ "box-shadow": none,
67
+ "margin": (1.5em 0),
68
+ "margin-between": 0,
69
+ "padding-x": 1.25em,
70
+ "padding-y": 1.25em,
71
+ "icon-background-color": transparent,
72
+ "icon-background-color-hover": transparent,
73
+ "icon-border-radius": 50%,
74
+ "icon-color": "link",
75
+ "icon-color-hover": "link-hover",
76
+ "icon-font-size": 1em,
77
+ "icon-margin": 1em,
78
+ "icon-size": auto,
79
+ "icon-stroke-width": 0.15em,
80
+ "summary-background-color": #f6f6f6,
81
+ "summary-color": null,
82
+ "summary-background-color-hover": null,
83
+ "summary-color-hover": null,
84
+ "summary-line-height": null,
85
+ "summary-padding-y": 1em,
86
+ "summary-type-size": false,
87
+ "summary-border-enabled": true,
88
+ "summary-border-color": "rule-light",
89
+ "summary-border-width": 1px,
90
+ "transparent-content-padding": (1em 0),
91
+ "borderless-margin-between": 0.5em,
92
+ "active-selector": ".is-active"
93
+ ) !default;
94
+
95
+ /// Change modules $config
96
+ /// @param {Map} $changes Map of changes
97
+ /// @example scss
98
+ /// @include ulu.component-accordion-set(( "property" : value ));
99
+
100
+ @mixin set($changes) {
101
+ $config: map.merge($config, $changes) !global;
102
+ }
103
+
104
+ /// Get a config option
105
+ /// @param {Map} $name Name of property
106
+ /// @example scss
107
+ /// @include ulu.component-accordion-get("property");
108
+
109
+ @function get($name) {
110
+ $value: utils.require-map-get($config, $name, "accordion [config]");
111
+ @return utils.function-fallback($name, $value, $-fallbacks);
112
+ }
113
+
114
+ /// Prints component styles
115
+ /// @demo accordion
116
+ /// @example scss
117
+ /// @include ulu.component-accordion-styles();
118
+
119
+ @mixin styles {
120
+ $prefix: selector.class("accordion");
121
+ $active-selector: get("active-selector");
122
+ $padding-x: get("padding-x");
123
+ $border: get("border-width") solid color.get(get("border-color"));
124
+
125
+ // When not one of our custom classed details components
126
+ #{ $prefix } {
127
+ position: relative; // For pushing to the top when in accordion groups
128
+ padding: 0;
129
+ margin: get("margin");
130
+ border: $border;
131
+ background-color: color.get(get("background-color"));
132
+ box-shadow: get("box-shadow");
133
+ border-radius: get("border-radius");
134
+
135
+ // Sibling before sets the gap
136
+ & + #{ $prefix } {
137
+ margin-top: 0;
138
+ }
139
+
140
+ // If no space get rid of border radiuses
141
+ @if (get("margin-between") == 0) {
142
+ &:has(+ #{ $prefix }) {
143
+ border-bottom-left-radius: 0;
144
+ border-bottom-right-radius: 0;
145
+ margin-bottom: 0;
146
+ }
147
+ & + #{ $prefix } {
148
+ border-top-left-radius: 0;
149
+ border-top-right-radius: 0;
150
+ margin-top: -(get("border-width")); // Pull border over top
151
+ }
152
+ } @else {
153
+ &:has(+ #{ $prefix }) {
154
+ margin-bottom: get("margin-between");
155
+ }
156
+ }
157
+
158
+ &[open],
159
+ &#{ $active-selector } {
160
+ background-color: color.get(get("background-color-open"));
161
+ z-index: 2; // Above other details/accordions
162
+ > #{ $prefix }__summary {
163
+ border-bottom-left-radius: 0;
164
+ border-bottom-right-radius: 0;
165
+
166
+ @if (get("summary-border-enabled")) {
167
+ &::after {
168
+ content: "";
169
+ position: absolute;
170
+ top: 100%;
171
+ left: 0;
172
+ right: 0;
173
+ height: get("summary-border-width");
174
+ background-color: color.get(get("summary-border-color"));
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ #{ $prefix }__summary {
181
+ position: relative; // For pseudo border (done this way for animations)
182
+ display: flex;
183
+ width: 100%; // For <button>
184
+ background-color: color.get(get("summary-background-color"));
185
+ color: color.get(get("summary-color"));
186
+ line-height: get("summary-line-height");
187
+ padding: get("summary-padding-y") $padding-x;
188
+ border-radius: get("border-radius");
189
+ font-weight: bold;
190
+ cursor: pointer;
191
+ align-items: center;
192
+
193
+ @include typography.optional-size(get("summary-type-size"), $only-font-size: true);
194
+ @include element.summary-remove-marker;
195
+ &:hover,
196
+ &:focus {
197
+ background-color: color.get(get("summary-background-color-hover"));
198
+ color: color.get(get("summary-color-hover"));
199
+ #{ $prefix }__icon {
200
+ background-color: color.get(get("icon-background-color-hover"));
201
+ color: color.get(get("icon-color-hover"));
202
+ }
203
+ }
204
+ }
205
+ #{ $prefix }__icon {
206
+ display: flex;
207
+ align-items: center;
208
+ justify-content: center;
209
+ flex: 0 0 get("icon-size");
210
+ color: color.get(get("icon-color"));
211
+ margin-left: auto;
212
+ padding-left: get("icon-margin");
213
+ background-color: color.get(get("icon-background-color"));
214
+ border-radius: get("icon-border-radius");
215
+ width: get("icon-size");
216
+ height: get("icon-size");
217
+ font-size: get("icon-font-size");
218
+ line-height: 1;
219
+ }
220
+ #{ $prefix }__content {
221
+ padding: get("padding-y") $padding-x;
222
+ border-bottom-left-radius: get("border-radius");
223
+ border-bottom-right-radius: get("border-radius");
224
+ }
225
+ #{ $prefix }--transparent {
226
+ border-left: none;
227
+ border-right: none;
228
+ background-color: transparent !important;
229
+ border-radius: 0;
230
+
231
+ // Transparent always collapses space
232
+ @if (get("margin-between") != 0) {
233
+ &:has(+ #{ $prefix }) {
234
+ margin-bottom: 0;
235
+ }
236
+ & + #{ $prefix } {
237
+ margin-top: -(get("border-width")); // Pull border over top
238
+ }
239
+ }
240
+ > #{ $prefix }__summary,
241
+ > #{ $prefix }__content {
242
+ padding-left: 0;
243
+ padding-right: 0;
244
+ background-color: transparent;
245
+ border: none !important;
246
+ border-radius: 0 !important;
247
+ }
248
+ > #{ $prefix }__content {
249
+ padding: get("transparent-content-padding");
250
+ }
251
+ }
252
+ #{ $prefix }--borderless {
253
+ border: none;
254
+ &:has(+ #{ $prefix }) {
255
+ margin-bottom: 0;
256
+ }
257
+ & + #{ $prefix }--borderless {
258
+ margin-top: calc(get("borderless-margin-between") - get("border-width"));
259
+ }
260
+ &[open],
261
+ &#{ $active-selector } {
262
+ & > #{ $prefix }__summary {
263
+ border-radius: get("border-radius");
264
+ border-bottom: none;
265
+ }
266
+ }
267
+ }
268
+ }
@@ -32,7 +32,7 @@ $-fallbacks: (
32
32
  /// @prop {Color} background-color ["color-hero-background"] Background color of the hero
33
33
 
34
34
  $config: (
35
- "background-color" : "background-gray",
35
+ "background-color" : #fafafa,
36
36
  "padding-top": 3rem,
37
37
  "padding-bottom" : 2rem,
38
38
  "gap" : (4rem 2rem),
@@ -0,0 +1,110 @@
1
+ ////
2
+ /// @group breadcrumb
3
+ /// Breadcrumb trail list layout
4
+ ////
5
+
6
+ @use "sass:map";
7
+ @use "sass:math";
8
+ @use "sass:meta";
9
+
10
+ @use "../selector";
11
+ @use "../utils";
12
+ @use "../color";
13
+ @use "../typography";
14
+
15
+
16
+ // Used for function fallback
17
+ $-fallbacks: (
18
+ "line-height" : (
19
+ "function" : meta.get-function("get", false, "typography"),
20
+ "property" : "line-height-densest"
21
+ ),
22
+ );
23
+
24
+ /// Module Settings
25
+ /// @type Map
26
+ /// @prop {List} margin [(0 0 1.25em 0)] Margin for component
27
+ /// @prop {CssUnit} row-gap [0.35em] Gap when breadcrumbs wrap
28
+ /// @prop {Color} color ["type-tertiary"] Base color (links inherit this)
29
+ /// @prop {Color} color-hover ["link-hover"] Color for link hover
30
+ /// @prop {CssUnit} line-height [true] Line height, defaults to typography line-height-densest
31
+ /// @prop {CssUnit} item-max-width [15em] Max length of item text
32
+ /// @prop {Color} separator-color [null] Optional color to apply to separator
33
+ /// @prop {Number} separator-opacity [0.7] Optional opacity for separator
34
+ /// @prop {List} separator-margin [(0 0.5em)] Separator margin
35
+
36
+ $config: (
37
+ "row-gap": 0.5em,
38
+ "margin" : (0 0 1.25em 0),
39
+ "color": "type-tertiary",
40
+ "color-hover": "link-hover",
41
+ "line-height": true,
42
+ "item-max-width": 15em,
43
+ "separator-margin": (0 0.5em),
44
+ "separator-color": null,
45
+ "separator-opacity": 0.7,
46
+ ) !default;
47
+
48
+ /// Change modules $config
49
+ /// @param {Map} $changes Map of changes
50
+ /// @example scss
51
+ /// @include ulu.component-breadcrumb-set(( "property" : value ));
52
+
53
+ @mixin set($changes) {
54
+ $config: map.merge($config, $changes) !global;
55
+ }
56
+
57
+ /// Get a config option
58
+ /// @param {Map} $name Name of property
59
+ /// @example scss
60
+ /// @include ulu.component-breadcrumb-get("property");
61
+
62
+ @function get($name) {
63
+ $value: utils.require-map-get($config, $name, "breadcrumb [config]");
64
+ @return utils.function-fallback($name, $value, $-fallbacks);
65
+ }
66
+
67
+ /// Prints component styles
68
+ /// @demo breadcrumb
69
+ /// @example scss
70
+ /// @include ulu.component-breadcrumb-styles();
71
+
72
+ @mixin styles {
73
+ $prefix: selector.class("breadcrumb");
74
+
75
+ #{ $prefix } {
76
+ color: color.get(get("color"));
77
+ margin: get("margin");
78
+ line-height: get("line-height");
79
+ }
80
+ #{ $prefix }__list {
81
+ display: flex;
82
+ align-items: center;
83
+ flex-wrap: wrap;
84
+ gap: get("row-gap") 0;
85
+ }
86
+ #{ $prefix }__item {
87
+ display: flex;
88
+ align-items: center;
89
+ }
90
+ #{ $prefix }__link,
91
+ #{ $prefix }__current {
92
+ white-space: nowrap;
93
+ overflow: hidden;
94
+ max-width: get("item-max-width");
95
+ text-overflow: ellipsis;
96
+ }
97
+ #{ $prefix }__link {
98
+ color: inherit;
99
+ text-decoration: none;
100
+ &:hover,
101
+ &:focus {
102
+ color: color.get(get("color-hover"));
103
+ }
104
+ }
105
+ #{ $prefix }__separator {
106
+ margin: get("separator-margin");
107
+ color: color.get(get("separator-color"));
108
+ opacity: get("separator-opacity");
109
+ }
110
+ }