@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,260 @@
1
+ ////
2
+ /// @group progress-bar
3
+ /// Groups a set of buttons
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
+
15
+
16
+ // Used for function fallback
17
+ $-fallbacks: (
18
+ "line-height" : (
19
+ "function" : meta.get-function("get", false, "typography"),
20
+ "property" : "line-height-dense"
21
+ ),
22
+ "value-font-weight" : (
23
+ "function" : meta.get-function("get", false, "typography"),
24
+ "property" : "font-weight-light"
25
+ )
26
+ );
27
+
28
+ /// Module Settings
29
+ /// @type Map
30
+ /// @prop {Dimension} header-gap [0.25em] Margin/gap for the icon/value
31
+ /// @prop {List} margin [(0 0 0.5em 0)] Margin for the progress bar.
32
+ /// @prop {Boolean} line-height [true] Line height for the progress bar. If true, falls back to typography's `line-height-dense`.
33
+ /// @prop {Color} value-color ["type-tertiary"] Color of the value text.
34
+ /// @prop {Dimension} value-margin [0.5em] Margin for the value text.
35
+ /// @prop {Boolean} value-font-weight [true] Font weight for the value text. If true, falls back to typography's `font-weight-light`.
36
+ /// @prop {Dimension} value-margin-deficit [0.3em] Margin for the deficit value text.
37
+ /// @prop {Color} value-color-deficit ["danger"] Color of the deficit value text.
38
+ /// @prop {Dimension} bar-height [12px] Height of the progress bar.
39
+ /// @prop {Color} bar-color [rgb(80, 80, 171)] Color of the progress bar.
40
+ /// @prop {Color} bar-color-deficit ["danger"] Color of the deficit portion of the progress bar.
41
+ /// @prop {Color} icon-color ["type-tertiary"] Color of the icon.
42
+ /// @prop {Color} icon-color-deficit ["danger"] Color of the icon in a deficit state.
43
+ /// @prop {Color} track-color [#ccc] Color of the progress bar track.
44
+ /// @prop {List} track-margin [(0.1em 0)] Margin for the progress bar track.
45
+ /// @prop {Time} animation-duration [200ms] Duration of the width transition animation.
46
+ /// @prop {CssValue} animation-timing [ease] Timing function for the width transition animation.
47
+ /// @prop {Time} animation-initial-duration [500ms] Duration of the initial fill animation.
48
+ /// @prop {CssValue} animation-initial-timing [ease-in] Timing function for the initial fill animation.
49
+ /// @prop {Time} animation-indeterminate-duration [2.5s] Duration of the indeterminate loading animation.
50
+
51
+ $config: (
52
+ "margin" : (0 0 0.5em 0),
53
+ "header-gap" : 0.25em,
54
+ "line-height" : true,
55
+ "value-color" : "type-tertiary",
56
+ "value-margin" : 0.5em,
57
+ "value-font-weight" : true,
58
+ "value-margin-deficit" : 0.3em,
59
+ "value-color-deficit" : "danger",
60
+ "bar-height" : 12px,
61
+ "bar-color" : "indicator",
62
+ "bar-color-deficit" : "danger",
63
+ "icon-color" : "type-tertiary",
64
+ "icon-color-deficit" : "danger",
65
+ "track-color" : "placeholder-background-alt",
66
+ "track-margin" : (0.1em 0),
67
+ "animation-duration" : 200ms,
68
+ "animation-timing" : ease,
69
+ "animation-initial-duration" : 500ms,
70
+ "animation-initial-timing" : ease-in,
71
+ "animation-indeterminate-duration" : 2.5s
72
+ ) !default;
73
+
74
+ /// @type Map
75
+ /// This is the map of styles (variations in progress bar types)
76
+ /// - Each style becomes the modifier and accepts ("bar-color", "bar-height", "track-color")
77
+ /// - Use this to match whatever progress system(s) your creating
78
+ $styles: (
79
+ "positive" : (
80
+ "bar-color" : "success",
81
+ "icon-color" : "success"
82
+ ),
83
+ "negative" : (
84
+ "bar-color" : "danger",
85
+ "icon-color" : "danger"
86
+ ),
87
+ "small" : (
88
+ "bar-height" : 8px
89
+ ),
90
+ "loader" : (
91
+ "bar-height" : 4px,
92
+ "track-color" : transparent
93
+ )
94
+ ) !default;
95
+
96
+ /// Change modules $config
97
+ /// @param {Map} $changes Map of changes
98
+ /// @example scss
99
+ /// @include ulu.component-progress-bar-set(( "property" : value ));
100
+
101
+ @mixin set($changes) {
102
+ $config: map.merge($config, $changes) !global;
103
+ }
104
+
105
+ /// Change modules $config
106
+ /// @param {Map} $changes Map of changes
107
+ /// @example scss
108
+ /// @include ulu.component-progress-bar-set-styles(( "small" : ( "bar-height" : 8px ) ));
109
+
110
+ @mixin set-styles($changes) {
111
+ $styles: map.merge($styles, $changes) !global;
112
+ }
113
+
114
+ /// Get a config option
115
+ /// @param {Map} $name Name of property
116
+ /// @example scss
117
+ /// @include ulu.component-progress-bar-get("property");
118
+
119
+ @function get($name) {
120
+ $value: utils.require-map-get($config, $name, "progress-bar [config]");
121
+ @return utils.function-fallback($name, $value, $-fallbacks);
122
+ }
123
+
124
+ /// Prints component styles
125
+ /// @demo progress-bar
126
+ /// @example scss
127
+ /// @include ulu.component-progress-bar-styles();
128
+
129
+ @mixin styles {
130
+ $prefix: selector.class("progress-bar");
131
+
132
+ #{ $prefix } {
133
+ line-height: get("line-height");
134
+ margin: get("margin");
135
+ }
136
+ #{ $prefix }__header {
137
+ display: flex;
138
+ align-items: flex-end;
139
+ }
140
+ #{ $prefix }__value {
141
+ font-weight: get("value-font-weight");
142
+ color: color.get(get("value-color"));
143
+ }
144
+ #{ $prefix }__icon {
145
+ color: color.get(get("icon-color"));
146
+ }
147
+ #{ $prefix }__icon,
148
+ #{ $prefix }__header #{ $prefix }__value {
149
+ margin-left: auto;
150
+ padding-left: get("header-gap");
151
+ }
152
+
153
+ #{ $prefix }__track {
154
+ position: relative; // For indeterminate animation
155
+ margin: get("track-margin");
156
+ display: flex;
157
+ width: 100%;
158
+ height: get("bar-height");
159
+ overflow: hidden;
160
+ background-color: color.get(get("track-color"));
161
+ }
162
+ #{ $prefix }__bar {
163
+ display: flex;
164
+ height: 100%;
165
+ // This is the animation when the component is living in the page
166
+ transition: width get("animation-duration") get("animation-timing");
167
+ // This is the initial animation of the bar within itself (ie. filling up)
168
+ &:before {
169
+ content: '';
170
+ display: block;
171
+ width: 100%;
172
+ background-color: color.get(get("bar-color"));
173
+ transform-origin: left center;
174
+ animation: ulu-progress-bar get("animation-initial-duration") forwards get("animation-initial-timing");
175
+ }
176
+ }
177
+ #{ $prefix }--deficit {
178
+ #{ $prefix }__icon {
179
+ color: color.get(get("icon-color-deficit"));
180
+ }
181
+ }
182
+ #{ $prefix }__bar--deficit {
183
+ align-items: flex-end;
184
+ margin-left: auto;
185
+ background-color: color.get(get("bar-color-deficit"));
186
+ }
187
+ #{ $prefix }__values {
188
+ display: flex;
189
+ }
190
+ #{ $prefix }__values #{ $prefix }__value:not(:last-child) {
191
+ margin-right: get("value-margin");
192
+ }
193
+ #{ $prefix }__value--deficit {
194
+ margin-left: auto;
195
+ margin-right: get("value-margin-deficit");
196
+ color: color.get(get("value-color-deficit"));
197
+ & + #{ $prefix }__value--total {
198
+ margin-left: 0;
199
+ }
200
+ }
201
+ #{ $prefix }__value--total {
202
+ margin-left: auto;
203
+ margin-right: 0;
204
+ }
205
+
206
+ @each $name, $props in $styles {
207
+ #{ $prefix }--#{ $name } {
208
+ #{ $prefix }__track {
209
+ height: map.get($props, "bar-height");
210
+ }
211
+ #{ $prefix }__bar:before {
212
+ background-color: color.get(map.get($props, "bar-color"));
213
+ }
214
+ #{ $prefix }__track {
215
+ background-color: color.get(map.get($props, "track-color"));
216
+ }
217
+ #{ $prefix }__icon {
218
+ color: color.get(map.get($props, "icon-color"));
219
+ }
220
+ }
221
+ }
222
+
223
+
224
+ // For Site Loading (Async Content, not charting/visualization)
225
+ #{ $prefix }--indeterminate {
226
+ #{ $prefix }__bar {
227
+ position: absolute;
228
+ top: 0;
229
+ left: 0;
230
+ width: 30%;
231
+ animation: ulu-progress-bar-indeterminate get("animation-indeterminate-duration") linear infinite;
232
+ }
233
+ // &#{ $prefix }--loaded {
234
+ // #{ $prefix }__bar {
235
+ // display: none;
236
+ // }
237
+ // }
238
+ }
239
+
240
+ @keyframes ulu-progress-bar {
241
+ from {
242
+ transform: scaleX(0);
243
+ }
244
+ to {
245
+ transform: scaleX(1);
246
+ }
247
+ }
248
+
249
+ @keyframes ulu-progress-bar-indeterminate {
250
+ 0% {
251
+ left: -100%;
252
+ }
253
+ 50% {
254
+ left: 100%;
255
+ }
256
+ 100% {
257
+ left: -100%;
258
+ }
259
+ }
260
+ }
@@ -0,0 +1,175 @@
1
+ ////
2
+ /// @group progress-circle
3
+ /// A circular progress indicator.
4
+ ////
5
+
6
+ @use "sass:map";
7
+ @use "sass:math";
8
+ @use "../selector";
9
+ @use "../utils";
10
+ @use "../color";
11
+
12
+ /// Module Settings
13
+ /// @type Map
14
+ /// @prop {Dimension} size [100px] The width and height of the chart.
15
+ /// @prop {Number} viewbox-size [32] The size of the SVG viewbox. Used to calculate mask radius.
16
+ /// @prop {Number} stroke-width [10] The width of the progress circle's stroke.
17
+ /// @prop {Color} color-track ["placeholder-background-alt"] The color of the inactive track. Can be a theme color name or a CSS variable.
18
+ /// @prop {Color} color-progress ["indicator"] The color of the progress stroke in a neutral state. Can be a theme color name or a CSS variable.
19
+ /// @prop {Color} color-mask [white] The color of the center mask that creates the donut hole. Can be a theme color name or a CSS variable.
20
+ /// @prop {Color} color-mask-pie [rgba(255, 255, 255, 0.5)] The mask color when using the pie style modifier.
21
+ /// @prop {Color} value-color ["type"] The theme color name for the percentage text inside the circle.
22
+ /// @prop {Color} value-color-outside ["type-tertiary"] The theme color name for the percentage text when displayed outside the circle.
23
+ /// @prop {Dimension | List} value-margin-outside [(0.1em 0.35em)] The margin for the outside value text.
24
+ /// @prop {Time} transition-duration [300ms] The duration for the stroke transition animation (when the component is updating already in the page)
25
+ /// @prop {Time} animation-duration [1s] The duration for the stroke animation (relies on template having a custom build animation per pie based on dash array). This is used for initial animations
26
+ /// @prop {Time} animation-delay [2s] The delay for the animation
27
+ /// @prop {Time} animation-timing [ease-in] Timing function for animation
28
+ /// @prop {Map} status-colors A map of status names to their corresponding colors (e.g., "low": "warning").
29
+ /// @prop {Map} sizes A map of size variations. Each key is a modifier name (e.g., "small") and the value is a map with `size` and `stroke-width` properties.
30
+
31
+ $config: (
32
+ "size": 100px,
33
+ "viewbox-size": 32,
34
+ "stroke-width": 10,
35
+ "color-track": "placeholder-background-alt",
36
+ "color-progress": "indicator",
37
+ "color-mask": white,
38
+ "color-mask-pie": rgba(255, 255, 255, 0.4),
39
+ "value-color": "type",
40
+ "value-color-outside": "type-tertiary",
41
+ "value-margin-outside" : (0.1em 0.35em),
42
+ "transition-duration" : 300ms,
43
+ "animation-duration" : 1s,
44
+ "animation-delay" : 2s,
45
+ "animation-timing" : ease-in,
46
+ "status-colors": (
47
+ "low": "danger",
48
+ "incomplete": "warning",
49
+ "complete": "success",
50
+ ),
51
+ "sizes": (
52
+ "small" : (
53
+ "size": 40px,
54
+ "stroke-width": 13,
55
+ )
56
+ )
57
+ ) !default;
58
+
59
+ /// Change modules $config
60
+ /// @param {Map} $changes Map of changes
61
+ @mixin set($changes) {
62
+ $config: map.merge($config, $changes) !global;
63
+ }
64
+
65
+ /// Get a config option
66
+ /// @param {String} $name Name of property
67
+ @function get($name) {
68
+ @return utils.require-map-get($config, $name, "progress-circle [config]");
69
+ }
70
+
71
+ /// Prints component styles
72
+ /// @demo progress-circle
73
+ @mixin styles {
74
+ $prefix: selector.class("progress-circle");
75
+
76
+ #{ $prefix } {
77
+ display: flex;
78
+ flex-direction: column;
79
+ align-items: center;
80
+ text-align: center;
81
+ --ulu-progress-circle-stroke-width: #{ get("stroke-width") };
82
+ }
83
+ #{ $prefix }__chart {
84
+ position: relative;
85
+ line-height: 1;
86
+ }
87
+ #{ $prefix }__chart-value {
88
+ position: absolute;
89
+ top: 50%;
90
+ left: 50%;
91
+ transform: translate(-50%, -50%);
92
+ color: color.get(get("value-color"));
93
+ text-shadow: none;
94
+ }
95
+ #{ $prefix }__chart-svg {
96
+ width: get("size");
97
+ height: get("size");
98
+ transform: rotate(-90deg);
99
+ border-radius: 50%;
100
+ }
101
+ #{ $prefix }__chart-track {
102
+ fill: transparent;
103
+ stroke: color.get(get("color-track"));
104
+ stroke-width: var(--ulu-progress-circle-stroke-width);
105
+ }
106
+ #{ $prefix }__chart-pie {
107
+ fill: transparent;
108
+ stroke: color.get(get("color-progress"));
109
+ stroke-width: var(--ulu-progress-circle-stroke-width);
110
+ stroke-dasharray: 0 100;
111
+ will-change: stroke-dasharray;
112
+ // If value is changing
113
+ transition: stroke get("transition-duration");
114
+ // For in template composed initial animation
115
+ animation-duration: get("animation-duration");
116
+ animation-delay: get("animation-delay");
117
+ animation-timing-function: get("animation-timing");
118
+ }
119
+ #{ $prefix }__chart-mask {
120
+ fill: color.get(get("color-mask"));
121
+ r: calc( (get("viewbox-size") / 2) - (var(--ulu-progress-circle-stroke-width) / 2) );
122
+ }
123
+ #{ $prefix }__value {
124
+ color: color.get(get("value-color-outside"));
125
+ margin: get("value-margin-outside");
126
+ font-weight: normal;
127
+ line-height: 1;
128
+ }
129
+
130
+ #{ $prefix }--outside {
131
+ flex-direction: row;
132
+ justify-content: center;
133
+ flex-wrap: wrap;
134
+ }
135
+ #{ $prefix }--outside-below {
136
+ display: block;
137
+ }
138
+ #{ $prefix }--pie {
139
+ // Note do not adjust the custom property for this since we want the mask to still be sized correctly
140
+ #{ $prefix }__chart-pie {
141
+ stroke-width: get("viewbox-size"); // As large as the svg (so it fills the circle)
142
+ }
143
+ #{ $prefix }__chart-track {
144
+ fill: color.get(get("color-track"));
145
+ }
146
+ #{ $prefix }__chart-mask {
147
+ fill: color.get(get("color-mask-pie"));
148
+ }
149
+ }
150
+ #{ $prefix }--no-mask {
151
+ #{ $prefix }__chart-mask {
152
+ display: none;
153
+ }
154
+ }
155
+
156
+
157
+ @each $name, $props in get("sizes") {
158
+ #{ $prefix }--#{ $name } {
159
+ --ulu-progress-circle-stroke-width: #{map.get($props, "stroke-width")};
160
+ #{ $prefix }__chart-svg {
161
+ width: map.get($props, "size");
162
+ height: map.get($props, "size");
163
+ }
164
+ }
165
+ }
166
+ @each $name, $color in get("status-colors") {
167
+ #{ $prefix }--#{ $name } {
168
+ #{ $prefix }__chart-pie {
169
+ stroke: color.get($color);
170
+ }
171
+ }
172
+ }
173
+
174
+
175
+ }
@@ -32,7 +32,8 @@ $-fallbacks: (
32
32
  /// @prop {Dimension} inline-margin [0.35em] The margin between inline skeleton text elements.
33
33
  /// @prop {Number} media-ratio [(4/3)] The aspect ratio for skeleton media blocks (width/height).
34
34
  /// @prop {Dimension} text-border-radius [3em] The border-radius for skeleton text lines.
35
- /// @prop {Map} text-sizes [Map] A map defining various width percentages for skeleton text lines.
35
+ /// @prop {Map} widths [Map] A map defining various width percentages for skeleton text lines (or used to size blocks/etc)
36
+
36
37
  $config: (
37
38
  "animation" : UluPulse 2s cubic-bezier(0.4,0,0.6,1) infinite,
38
39
  "color" : "type-disabled",
@@ -41,8 +42,9 @@ $config: (
41
42
  "border-radius": true,
42
43
  "inline-margin" : 0.35em,
43
44
  "media-ratio" : list.slash(4, 3),
45
+ "media-font-size" : 2rem,
44
46
  "text-border-radius" : 3em,
45
- "text-sizes": (
47
+ "widths": (
46
48
  "small-xxx" : 10%,
47
49
  "small-xx" : 20%,
48
50
  "small-x" : 30%,
@@ -79,43 +81,45 @@ $config: (
79
81
 
80
82
  @mixin styles {
81
83
  $prefix: selector.class("skeleton");
82
- #{ $prefix },
83
- #{ $prefix }-background,
84
- #{ $prefix }-block,
85
- #{ $prefix }-text {
84
+
85
+ #{ $prefix } {
86
86
  animation: get("animation");
87
87
  color: color.get(get("color"));
88
88
  }
89
- #{ $prefix }-background {
90
- animation: get("animation");
89
+ #{ $prefix }--background {
91
90
  background-color: color.get(get("background-color")) !important;
92
91
  }
93
- #{ $prefix }-background--alt {
94
- background-color: color.get(get("background-color-alt"));
95
- }
96
- #{ $prefix }-block,
97
- #{ $prefix }-text {
92
+ #{ $prefix }--block,
93
+ #{ $prefix }--text,
94
+ #{ $prefix }--media {
98
95
  animation: get("animation");
99
96
  color: color.get(get("color"));
100
97
  background-color: color.get(get("background-color")) !important;
101
98
  border-radius: get("border-radius");
102
99
  }
103
- #{ $prefix }-block--media {
104
- aspect-ratio: 4/3;
100
+ #{ $prefix }--media {
101
+ display: flex;
102
+ align-items: center;
103
+ justify-content: center;
104
+ aspect-ratio: get("media-ratio");
105
+ font-size: get("media-font-size");
105
106
  }
106
- #{ $prefix }-text {
107
+ #{ $prefix }--text {
107
108
  height: 1em;
108
109
  width: 60%;
109
110
  border-radius: get("text-border-radius");
110
111
  }
111
- #{ $prefix }-text--inline {
112
+ #{ $prefix }--inline {
112
113
  display: inline-block;
113
114
  }
114
- #{ $prefix }-text--inline + #{ $prefix }-text--inline {
115
+ #{ $prefix }--inline + #{ $prefix }--inline {
115
116
  margin-left: get("inline-margin");
116
117
  }
117
- @each $name, $value in get("text-sizes") {
118
- #{ $prefix }-text--#{ $name } {
118
+ #{ $prefix }--background-alt {
119
+ background-color: color.get(get("background-color-alt")) !important;
120
+ }
121
+ @each $name, $value in get("widths") {
122
+ #{ $prefix }--width-#{ $name } {
119
123
  width: $value;
120
124
  }
121
125
  }
@@ -37,6 +37,9 @@ $-fallbacks: (
37
37
  /// @prop {Color} border-color [transparent] Border color for the tag.
38
38
  /// @prop {Dimension} border-width [1px] Border width of the tag.
39
39
  /// @prop {String} color ["type-tertiary"] Color of the tag text.
40
+ /// @prop {String} counter-size [1.5em] Size when used as a counter (for numbers), will be this size by default and expand horizontally as needed (ie. circle/rounded rectangle or square/rectangle if without border radius)
41
+ /// @prop {String} counter-border-radius [20px] May need to be adjusted or can be set to 0 for square/rectangle
42
+ /// @prop {String} counter-padding-sides [0.26em] Counter left/right padding (this is the space/margin on the inside when the number can't fit in the circle/square
40
43
 
41
44
  $config: (
42
45
  "font-weight" : normal,
@@ -53,6 +56,9 @@ $config: (
53
56
  "border-color" : transparent,
54
57
  "border-width" : 1px,
55
58
  "color": "type-tertiary",
59
+ "counter-size" : 1.75em,
60
+ "counter-border-radius" : 20px,
61
+ "counter-padding-sides" : 0.26em
56
62
  ) !default;
57
63
 
58
64
  /// Style Map (alternate tag styles)
@@ -72,6 +78,13 @@ $styles: (
72
78
  )
73
79
  ) !default;
74
80
 
81
+ /// Map of alternate sizes
82
+ $sizes: (
83
+ "small" : (
84
+ "padding" : (0.25em 0.5em),
85
+ "type-size" : "small-x"
86
+ )
87
+ ) !default;
75
88
 
76
89
  /// Change modules $config
77
90
  /// @param {Map} $changes Map of changes
@@ -90,6 +103,14 @@ $styles: (
90
103
  $styles: utils.map-merge($styles, $changes, $merge-mode) !global;
91
104
  }
92
105
 
106
+ /// Set tag sizes
107
+ /// @param {Map} $changes Map of changes
108
+ /// @param {String} $merge-mode Merge mode see utils.map-merge() [null|"deep"|"overwrite"]
109
+
110
+ @mixin set-sizes($changes, $merge-mode: null) {
111
+ $sizes: utils.map-merge($sizes, $changes, $merge-mode) !global;
112
+ }
113
+
93
114
  /// Get a config option
94
115
  /// @param {Map} $name Name of property
95
116
  /// @example scss
@@ -121,10 +142,10 @@ $styles: (
121
142
  background-color: color.get(get("background-color"));
122
143
  color: color.get(get("color"));
123
144
  font-family: get("font-family");
145
+ line-height: get("line-height");
124
146
  @if (typography.has-size(get("type-size"))) {
125
147
  @include typography.size(get("type-size"), $only-font-size: true);
126
148
  }
127
- line-height: get("line-height");
128
149
  &:not(:last-child) {
129
150
  margin-right: get("margin-between");
130
151
  }
@@ -136,8 +157,32 @@ $styles: (
136
157
  }
137
158
  }
138
159
 
160
+
161
+
162
+ @each $name, $size in $sizes {
163
+ $type-size: map.get($size, "type-size");
164
+
165
+ #{ $prefix }--#{ $name } {
166
+ padding: map.get($size, "padding");
167
+ line-height: map.get($size, "line-height");
168
+ @if (typography.has-size($type-size)) {
169
+ @include typography.size($type-size, $only-font-size: true);
170
+ }
171
+ }
172
+ }
173
+
174
+ // Order Reason: Needs to inherit from sizes but not styles
175
+ #{ $prefix }--counter {
176
+ display: inline-flex;
177
+ align-items: center;
178
+ justify-content: center;
179
+ min-width: get("counter-size");
180
+ height: get("counter-size");
181
+ border-radius: get("counter-border-radius");
182
+ padding: 0 get("counter-padding-sides");
183
+ }
184
+
139
185
  @each $name, $style in $styles {
140
- $type-size: map.get($style, "type-size");
141
186
  #{ $prefix }--#{ $name } {
142
187
  background-color: color.get(map.get($style, "background-color"));
143
188
  color: color.get(map.get($style, "color"));
@@ -146,11 +191,8 @@ $styles: (
146
191
  border-color: color.get(map.get($style, "border-color"));
147
192
  border-width: map.get($style, "border-width");
148
193
  box-shadow: map.get($style, "box-shadow");
149
- padding: map.get($style, "padding");
150
- @if (typography.has-size($type-size)) {
151
- @include typography.size($type-size, $only-font-size: true);
152
- }
153
- line-height: map.get($style, "line-height");
154
194
  }
155
195
  }
196
+
197
+
156
198
  }
@@ -6,6 +6,8 @@
6
6
  @use "../utils";
7
7
  @use "../layout";
8
8
  @use "../selector";
9
+ @use "../typography";
10
+ @use "../element";
9
11
 
10
12
  /// Print utilities helper styles
11
13
  /// - Includes classes like (.crop-margins, .no-scroll-y, .image-full-width, etc)
@@ -38,9 +40,21 @@
38
40
  #{ selector.class("full-width") } {
39
41
  width: 100%;
40
42
  }
43
+ #{ selector.class("no-min-width") } {
44
+ min-width: 0;
45
+ }
41
46
  #{ selector.class("flex-basis-full") } {
42
47
  flex-basis: 100%;
43
48
  }
49
+ #{ selector.class("flex-grow") } {
50
+ flex-grow: 1;
51
+ }
52
+ #{ selector.class("flex-wrap") } {
53
+ flex-wrap: wrap;
54
+ }
55
+ #{ selector.class("flex-shrink") } {
56
+ flex-shrink: 1;
57
+ }
44
58
  #{ selector.class("full-min-height") } {
45
59
  min-height: 100%;
46
60
  }
@@ -118,7 +132,12 @@
118
132
  #{ selector.class("overflow-hidden") } {
119
133
  overflow: hidden;
120
134
  }
121
- // .justify-self-center {
122
- // justify-self: center;
123
- // }
135
+ #{ selector.class("flow-inline") } {
136
+ &:not(:first-child) {
137
+ margin-left: typography.get("space-size");
138
+ }
139
+ &:not(:last-child) {
140
+ margin-right: typography.get("space-size");
141
+ }
142
+ }
124
143
  }