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

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 (529) hide show
  1. package/dist/style.css +1 -0
  2. package/{types/utils/system.d.ts → dist/types/js/core/component.d.ts} +11 -14
  3. package/dist/types/js/core/component.d.ts.map +1 -0
  4. package/dist/types/js/core/events.d.ts +27 -0
  5. package/dist/types/js/core/events.d.ts.map +1 -0
  6. package/dist/types/js/core/index.d.ts +4 -0
  7. package/{types/utils → dist/types/js/core}/index.d.ts.map +1 -1
  8. package/dist/types/js/core/settings.d.ts.map +1 -0
  9. package/dist/types/js/index.d.ts +4 -0
  10. package/{types → dist/types/js}/index.d.ts.map +1 -1
  11. package/{types → dist/types/js}/ui/breakpoints.d.ts +4 -6
  12. package/dist/types/js/ui/breakpoints.d.ts.map +1 -0
  13. package/dist/types/js/ui/collapsible.d.ts.map +1 -0
  14. package/{types → dist/types/js}/ui/details-group.d.ts +1 -1
  15. package/dist/types/js/ui/details-group.d.ts.map +1 -0
  16. package/{types → dist/types/js}/ui/dialog.d.ts +1 -1
  17. package/dist/types/js/ui/dialog.d.ts.map +1 -0
  18. package/{types → dist/types/js}/ui/flipcard.d.ts +1 -1
  19. package/dist/types/js/ui/flipcard.d.ts.map +1 -0
  20. package/{types → dist/types/js}/ui/grid.d.ts +1 -1
  21. package/dist/types/js/ui/grid.d.ts.map +1 -0
  22. package/dist/types/js/ui/index.d.ts +22 -0
  23. package/{types → dist/types/js}/ui/index.d.ts.map +1 -1
  24. package/{types → dist/types/js}/ui/modal-builder.d.ts +2 -2
  25. package/dist/types/js/ui/modal-builder.d.ts.map +1 -0
  26. package/dist/types/js/ui/overflow-scroller-pager.d.ts.map +1 -0
  27. package/dist/types/js/ui/overflow-scroller.d.ts.map +1 -0
  28. package/dist/types/js/ui/page.d.ts.map +1 -0
  29. package/{types → dist/types/js}/ui/popover.d.ts +2 -2
  30. package/dist/types/js/ui/popover.d.ts.map +1 -0
  31. package/dist/types/js/ui/print-details.d.ts.map +1 -0
  32. package/dist/types/js/ui/print.d.ts.map +1 -0
  33. package/{types → dist/types/js}/ui/programmatic-modal.d.ts +1 -1
  34. package/dist/types/js/ui/programmatic-modal.d.ts.map +1 -0
  35. package/{types → dist/types/js}/ui/proxy-click.d.ts +1 -1
  36. package/dist/types/js/ui/proxy-click.d.ts.map +1 -0
  37. package/{types → dist/types/js}/ui/resizer.d.ts +1 -1
  38. package/dist/types/js/ui/resizer.d.ts.map +1 -0
  39. package/{types → dist/types/js}/ui/scroll-slider.d.ts +1 -1
  40. package/dist/types/js/ui/scroll-slider.d.ts.map +1 -0
  41. package/{types → dist/types/js}/ui/scrollpoint.d.ts +2 -2
  42. package/dist/types/js/ui/scrollpoint.d.ts.map +1 -0
  43. package/{types → dist/types/js}/ui/slider.d.ts +6 -6
  44. package/dist/types/js/ui/slider.d.ts.map +1 -0
  45. package/{types → dist/types/js}/ui/tabs.d.ts +1 -1
  46. package/dist/types/js/ui/tabs.d.ts.map +1 -0
  47. package/{types → dist/types/js}/ui/theme-toggle.d.ts +1 -1
  48. package/dist/types/js/ui/theme-toggle.d.ts.map +1 -0
  49. package/{types → dist/types/js}/ui/tooltip.d.ts +1 -1
  50. package/dist/types/js/ui/tooltip.d.ts.map +1 -0
  51. package/dist/types/js/utils/class-logger.d.ts.map +1 -0
  52. package/dist/types/js/utils/css.d.ts.map +1 -0
  53. package/dist/types/js/utils/dom.d.ts.map +1 -0
  54. package/{types → dist/types/js}/utils/file-save.d.ts +4 -1
  55. package/dist/types/js/utils/file-save.d.ts.map +1 -0
  56. package/dist/types/js/utils/floating-ui.d.ts.map +1 -0
  57. package/dist/types/js/utils/font-awesome.d.ts.map +1 -0
  58. package/dist/types/js/utils/id.d.ts.map +1 -0
  59. package/dist/types/js/utils/index.d.ts +8 -0
  60. package/dist/types/js/utils/index.d.ts.map +1 -0
  61. package/dist/types/js/utils/pause-youtube-video.d.ts.map +1 -0
  62. package/dist/ulu-frontend.es.js +5737 -0
  63. package/dist/ulu-frontend.umd.js +77 -0
  64. package/lib/index.js +5 -0
  65. package/{js/utils/system.js → lib/js/core/component.js} +13 -12
  66. package/lib/js/core/events.js +98 -0
  67. package/lib/js/core/index.js +34 -0
  68. package/{js → lib/js/core}/settings.js +3 -3
  69. package/lib/js/exports.md +126 -0
  70. package/lib/js/index.js +7 -0
  71. package/{js → lib/js}/ui/breakpoints.js +28 -31
  72. package/{js → lib/js}/ui/collapsible.js +2 -2
  73. package/{js → lib/js}/ui/details-group.js +2 -2
  74. package/{js → lib/js}/ui/dialog.js +6 -6
  75. package/{js → lib/js}/ui/flipcard.js +2 -2
  76. package/{js → lib/js}/ui/grid.js +2 -2
  77. package/lib/js/ui/index.js +161 -0
  78. package/{js → lib/js}/ui/modal-builder.js +6 -6
  79. package/{js → lib/js}/ui/overflow-scroller.js +2 -2
  80. package/{js → lib/js}/ui/popover.js +2 -2
  81. package/{js → lib/js}/ui/print-details.js +3 -3
  82. package/{js → lib/js}/ui/print.js +2 -2
  83. package/{js → lib/js}/ui/programmatic-modal.js +3 -3
  84. package/{js → lib/js}/ui/proxy-click.js +2 -2
  85. package/{js → lib/js}/ui/resizer.js +2 -2
  86. package/{js → lib/js}/ui/scroll-slider.js +2 -2
  87. package/{js → lib/js}/ui/scrollpoint.js +2 -2
  88. package/{js → lib/js}/ui/slider.js +3 -3
  89. package/{js → lib/js}/ui/tabs.js +2 -2
  90. package/{js → lib/js}/ui/theme-toggle.js +5 -5
  91. package/{js → lib/js}/ui/tooltip.js +4 -4
  92. package/{js → lib/js}/utils/css.js +1 -1
  93. package/{js → lib/js}/utils/font-awesome.js +2 -2
  94. package/lib/js/utils/index.js +63 -0
  95. package/{scss → lib/scss}/_breakpoint.scss +4 -4
  96. package/{scss → lib/scss}/_button.scss +1 -0
  97. package/{scss → lib/scss}/_color.scss +42 -38
  98. package/{scss → lib/scss}/_element.scss +6 -1
  99. package/{scss → lib/scss}/_typography.scss +15 -0
  100. package/lib/scss/components/_accordion.scss +274 -0
  101. package/{scss → lib/scss}/components/_basic-hero.scss +1 -1
  102. package/lib/scss/components/_breadcrumb.scss +110 -0
  103. package/{scss → lib/scss}/components/_button.scss +14 -4
  104. package/{scss/components/_card.scss → lib/scss/components/_card-before-no-position-relative.TRASH.scss} +80 -100
  105. package/{scss → lib/scss}/components/_card-grid.scss +8 -2
  106. package/lib/scss/components/_card.scss +656 -0
  107. package/lib/scss/components/_definition-list.scss +178 -0
  108. package/{scss → lib/scss}/components/_index.scss +25 -0
  109. package/{scss → lib/scss}/components/_menu-stack.scss +169 -16
  110. package/{scss → lib/scss}/components/_modal.scss +11 -1
  111. package/lib/scss/components/_progress-bar.scss +260 -0
  112. package/lib/scss/components/_progress-circle.scss +175 -0
  113. package/{scss → lib/scss}/components/_skeleton.scss +24 -20
  114. package/{scss → lib/scss}/components/_tag.scss +49 -7
  115. package/{scss → lib/scss}/helpers/_utilities.scss +25 -3
  116. package/package.json +28 -15
  117. package/.browserslistrc +0 -2
  118. package/.eslintrc +0 -17
  119. package/.prettierrc +0 -10
  120. package/CHANGELOG.md +0 -750
  121. package/deprecated/js/doc-ready.js +0 -28
  122. package/deprecated/js/drupal-programmatic-modal.js +0 -91
  123. package/deprecated/js/jquery-prototypes.js +0 -309
  124. package/deprecated/js/micromodal-modals.js +0 -196
  125. package/deprecated/js/mini-collapsible-popper-positioning.js +0 -126
  126. package/deprecated/js/mini-collapsible.js +0 -607
  127. package/deprecated/js/node-data-manager.js +0 -78
  128. package/deprecated/js/script-loader.js +0 -60
  129. package/deprecated/js/waypoints/README.md +0 -3
  130. package/deprecated/js/waypoints/anchor-menu.js +0 -76
  131. package/deprecated/js/waypoints/element-waypoint.js +0 -75
  132. package/deprecated/js/waypoints/examples/page-link-menu.md +0 -106
  133. package/deprecated/js/waypoints/state-in-attribute.js +0 -32
  134. package/dist/ulu-frontend.min.css +0 -1
  135. package/dist/ulu-frontend.min.js +0 -77
  136. package/docs-dev/.nojekyll +0 -1
  137. package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +0 -37
  138. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  139. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  140. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  141. package/docs-dev/assets/favicons/browserconfig.xml +0 -9
  142. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  143. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  144. package/docs-dev/assets/favicons/favicon.ico +0 -0
  145. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  146. package/docs-dev/assets/favicons/safari-pinned-tab.svg +0 -1
  147. package/docs-dev/assets/favicons/site.webmanifest +0 -19
  148. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  149. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  150. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  151. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  152. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  153. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  154. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  155. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  156. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  157. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  158. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  159. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  160. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  161. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  162. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  163. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  164. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  165. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  166. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  167. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  168. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  169. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  170. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  171. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  172. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  173. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  174. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  175. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  176. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  177. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  178. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  179. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  180. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  181. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  182. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  183. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  184. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  185. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  186. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  187. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  188. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  189. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  190. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  191. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  192. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  193. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  194. package/docs-dev/assets/fonts/inter/LICENSE.txt +0 -92
  195. package/docs-dev/assets/fonts/inter/inter.css +0 -37
  196. package/docs-dev/assets/main.js +0 -23312
  197. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +0 -2
  198. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  199. package/docs-dev/assets/placeholder/icon-calendar.svg +0 -1
  200. package/docs-dev/assets/placeholder/icon-check.svg +0 -1
  201. package/docs-dev/assets/placeholder/image-1-attribution.txt +0 -7
  202. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  203. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  204. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  205. package/docs-dev/assets/style.css +0 -19153
  206. package/docs-dev/changelog/index.html +0 -7184
  207. package/docs-dev/demos/accordion/index.html +0 -5811
  208. package/docs-dev/demos/badge/index.html +0 -5655
  209. package/docs-dev/demos/badge-stack/index.html +0 -5636
  210. package/docs-dev/demos/badge.1/index.html +0 -5595
  211. package/docs-dev/demos/basic-hero/index.html +0 -111
  212. package/docs-dev/demos/breakpoints-manager/index.html +0 -5666
  213. package/docs-dev/demos/button/index.html +0 -5665
  214. package/docs-dev/demos/button-group/index.html +0 -5652
  215. package/docs-dev/demos/button-verbose/index.html +0 -5658
  216. package/docs-dev/demos/callout/index.html +0 -5704
  217. package/docs-dev/demos/captioned-figure/index.html +0 -5686
  218. package/docs-dev/demos/card/index.html +0 -5682
  219. package/docs-dev/demos/card-grid/index.html +0 -5777
  220. package/docs-dev/demos/counter-list/index.html +0 -5660
  221. package/docs-dev/demos/css-icons/index.html +0 -6298
  222. package/docs-dev/demos/data-grid/index.html +0 -6529
  223. package/docs-dev/demos/data-table/index.html +0 -5833
  224. package/docs-dev/demos/details-group/index.html +0 -5687
  225. package/docs-dev/demos/file-save/index.html +0 -5675
  226. package/docs-dev/demos/flipcard/index.html +0 -6224
  227. package/docs-dev/demos/form-theme/index.html +0 -5842
  228. package/docs-dev/demos/headline-label/index.html +0 -5622
  229. package/docs-dev/demos/hero/index.html +0 -309
  230. package/docs-dev/demos/image-grid/index.html +0 -165
  231. package/docs-dev/demos/index.html +0 -5613
  232. package/docs-dev/demos/list-inline/index.html +0 -5640
  233. package/docs-dev/demos/list-lines/index.html +0 -5630
  234. package/docs-dev/demos/menu-stack/index.html +0 -5769
  235. package/docs-dev/demos/modals/index.html +0 -5844
  236. package/docs-dev/demos/nav-strip/index.html +0 -5725
  237. package/docs-dev/demos/overlay-section/index.html +0 -5701
  238. package/docs-dev/demos/panel/index.html +0 -5682
  239. package/docs-dev/demos/popovers/index.html +0 -0
  240. package/docs-dev/demos/print/index.html +0 -5633
  241. package/docs-dev/demos/pull-quote/index.html +0 -5632
  242. package/docs-dev/demos/rail/index.html +0 -5730
  243. package/docs-dev/demos/rule/index.html +0 -5694
  244. package/docs-dev/demos/scroll-slider/index.html +0 -170
  245. package/docs-dev/demos/scrollpoints/index.html +0 -5651
  246. package/docs-dev/demos/skeleton/index.html +0 -5676
  247. package/docs-dev/demos/slider/index.html +0 -172
  248. package/docs-dev/demos/spoke-spinner/index.html +0 -5628
  249. package/docs-dev/demos/sticky-list/index.html +0 -5643
  250. package/docs-dev/demos/tabs/index.html +0 -5753
  251. package/docs-dev/demos/tag/index.html +0 -5633
  252. package/docs-dev/demos/theme-toggle/index.html +0 -5699
  253. package/docs-dev/demos/tile-grid-overlay/index.html +0 -390
  254. package/docs-dev/demos/tiles/index.html +0 -5882
  255. package/docs-dev/demos/tooltip/index.html +0 -5661
  256. package/docs-dev/demos/wysiwyg/index.html +0 -5672
  257. package/docs-dev/guide/building-stylesheet/index.html +0 -5682
  258. package/docs-dev/guide/developing-ulu-scss-module/index.html +0 -5734
  259. package/docs-dev/guide/index.html +0 -5615
  260. package/docs-dev/index.html +0 -5662
  261. package/docs-dev/javascript/events/index.html +0 -5811
  262. package/docs-dev/javascript/index.html +0 -5628
  263. package/docs-dev/javascript/settings/index.html +0 -5825
  264. package/docs-dev/javascript/ui-breakpoints/index.html +0 -6071
  265. package/docs-dev/javascript/ui-collapsible/index.html +0 -5738
  266. package/docs-dev/javascript/ui-details-group/index.html +0 -5742
  267. package/docs-dev/javascript/ui-dialog/index.html +0 -5787
  268. package/docs-dev/javascript/ui-flipcard/index.html +0 -5678
  269. package/docs-dev/javascript/ui-grid/index.html +0 -5653
  270. package/docs-dev/javascript/ui-modal-builder/index.html +0 -5901
  271. package/docs-dev/javascript/ui-overflow-scroller/index.html +0 -5611
  272. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +0 -5629
  273. package/docs-dev/javascript/ui-page/index.html +0 -5626
  274. package/docs-dev/javascript/ui-popover/index.html +0 -5661
  275. package/docs-dev/javascript/ui-print/index.html +0 -5670
  276. package/docs-dev/javascript/ui-print-details/index.html +0 -5641
  277. package/docs-dev/javascript/ui-programmatic-modal/index.html +0 -5611
  278. package/docs-dev/javascript/ui-proxy-click/index.html +0 -5740
  279. package/docs-dev/javascript/ui-resizer/index.html +0 -5946
  280. package/docs-dev/javascript/ui-scroll-slider/index.html +0 -5672
  281. package/docs-dev/javascript/ui-scrollpoint/index.html +0 -5851
  282. package/docs-dev/javascript/ui-slider/index.html +0 -5813
  283. package/docs-dev/javascript/ui-tabs/index.html +0 -5706
  284. package/docs-dev/javascript/ui-theme-toggle/index.html +0 -5830
  285. package/docs-dev/javascript/ui-tooltip/index.html +0 -5754
  286. package/docs-dev/javascript/utils-class-logger/index.html +0 -5746
  287. package/docs-dev/javascript/utils-css/index.html +0 -5644
  288. package/docs-dev/javascript/utils-dom/index.html +0 -5711
  289. package/docs-dev/javascript/utils-file-save/index.html +0 -5783
  290. package/docs-dev/javascript/utils-floating-ui/index.html +0 -5643
  291. package/docs-dev/javascript/utils-id/index.html +0 -5653
  292. package/docs-dev/javascript/utils-pause-youtube-video/index.html +0 -5661
  293. package/docs-dev/javascript/utils-system/index.html +0 -5947
  294. package/docs-dev/sass/base/color/index.html +0 -5644
  295. package/docs-dev/sass/base/elements/index.html +0 -5815
  296. package/docs-dev/sass/base/index/index.html +0 -5814
  297. package/docs-dev/sass/base/index.html +0 -5622
  298. package/docs-dev/sass/base/keyframes/index.html +0 -5646
  299. package/docs-dev/sass/base/layout/index.html +0 -5806
  300. package/docs-dev/sass/base/normalize/index.html +0 -5654
  301. package/docs-dev/sass/base/print/index.html +0 -5650
  302. package/docs-dev/sass/base/root/index.html +0 -5670
  303. package/docs-dev/sass/base/typography/index.html +0 -5670
  304. package/docs-dev/sass/components/accordion/index.html +0 -5979
  305. package/docs-dev/sass/components/adaptive-spacing/index.html +0 -5915
  306. package/docs-dev/sass/components/badge/index.html +0 -5881
  307. package/docs-dev/sass/components/badge-stack/index.html +0 -5811
  308. package/docs-dev/sass/components/basic-hero/index.html +0 -5805
  309. package/docs-dev/sass/components/button/index.html +0 -5799
  310. package/docs-dev/sass/components/button-group/index.html +0 -5803
  311. package/docs-dev/sass/components/button-verbose/index.html +0 -5986
  312. package/docs-dev/sass/components/callout/index.html +0 -5961
  313. package/docs-dev/sass/components/captioned-figure/index.html +0 -5904
  314. package/docs-dev/sass/components/card/index.html +0 -6219
  315. package/docs-dev/sass/components/card-grid/index.html +0 -5813
  316. package/docs-dev/sass/components/counter-list/index.html +0 -5887
  317. package/docs-dev/sass/components/css-icon/index.html +0 -5917
  318. package/docs-dev/sass/components/data-grid/index.html +0 -6052
  319. package/docs-dev/sass/components/data-table/index.html +0 -5988
  320. package/docs-dev/sass/components/fill-context/index.html +0 -5679
  321. package/docs-dev/sass/components/flipcard/index.html +0 -5980
  322. package/docs-dev/sass/components/flipcard-grid/index.html +0 -5800
  323. package/docs-dev/sass/components/form-theme/index.html +0 -6525
  324. package/docs-dev/sass/components/headline-label/index.html +0 -5833
  325. package/docs-dev/sass/components/hero/index.html +0 -5849
  326. package/docs-dev/sass/components/horizontal-rule/index.html +0 -5798
  327. package/docs-dev/sass/components/image-grid/index.html +0 -5805
  328. package/docs-dev/sass/components/index/index.html +0 -5859
  329. package/docs-dev/sass/components/index.html +0 -5622
  330. package/docs-dev/sass/components/links/index.html +0 -5649
  331. package/docs-dev/sass/components/list-inline/index.html +0 -5819
  332. package/docs-dev/sass/components/list-lines/index.html +0 -5840
  333. package/docs-dev/sass/components/list-ordered/index.html +0 -5645
  334. package/docs-dev/sass/components/list-unordered/index.html +0 -5649
  335. package/docs-dev/sass/components/menu-stack/index.html +0 -5992
  336. package/docs-dev/sass/components/modal/index.html +0 -6068
  337. package/docs-dev/sass/components/nav-strip/index.html +0 -5899
  338. package/docs-dev/sass/components/overlay-section/index.html +0 -5843
  339. package/docs-dev/sass/components/pager/index.html +0 -5961
  340. package/docs-dev/sass/components/panel/index.html +0 -6033
  341. package/docs-dev/sass/components/placeholder-block/index.html +0 -5883
  342. package/docs-dev/sass/components/popover/index.html +0 -5994
  343. package/docs-dev/sass/components/pull-quote/index.html +0 -5857
  344. package/docs-dev/sass/components/rail/index.html +0 -5823
  345. package/docs-dev/sass/components/ratio-box/index.html +0 -5803
  346. package/docs-dev/sass/components/rule/index.html +0 -5805
  347. package/docs-dev/sass/components/scroll-slider/index.html +0 -5904
  348. package/docs-dev/sass/components/skeleton/index.html +0 -5860
  349. package/docs-dev/sass/components/skip-link/index.html +0 -5789
  350. package/docs-dev/sass/components/slider/index.html +0 -5913
  351. package/docs-dev/sass/components/spoke-spinner/index.html +0 -5863
  352. package/docs-dev/sass/components/sticky-list/index.html +0 -6023
  353. package/docs-dev/sass/components/table-sticky/index.html +0 -5677
  354. package/docs-dev/sass/components/tabs/index.html +0 -5954
  355. package/docs-dev/sass/components/tag/index.html +0 -5964
  356. package/docs-dev/sass/components/tile-button/index.html +0 -5844
  357. package/docs-dev/sass/components/tile-grid/index.html +0 -5979
  358. package/docs-dev/sass/components/tile-grid-overlay/index.html +0 -5780
  359. package/docs-dev/sass/components/vignette/index.html +0 -5799
  360. package/docs-dev/sass/components/wysiwyg/index.html +0 -5827
  361. package/docs-dev/sass/core/breakpoint/index.html +0 -6454
  362. package/docs-dev/sass/core/button/index.html +0 -6538
  363. package/docs-dev/sass/core/color/index.html +0 -6520
  364. package/docs-dev/sass/core/cssvar/index.html +0 -6411
  365. package/docs-dev/sass/core/element/index.html +0 -6816
  366. package/docs-dev/sass/core/index.html +0 -5609
  367. package/docs-dev/sass/core/layout/index.html +0 -6388
  368. package/docs-dev/sass/core/path/index.html +0 -5778
  369. package/docs-dev/sass/core/selector/index.html +0 -5857
  370. package/docs-dev/sass/core/typography/index.html +0 -6783
  371. package/docs-dev/sass/core/units/index.html +0 -5822
  372. package/docs-dev/sass/core/utils/index.html +0 -8406
  373. package/docs-dev/sass/helpers/color/index.html +0 -5644
  374. package/docs-dev/sass/helpers/display/index.html +0 -5649
  375. package/docs-dev/sass/helpers/index/index.html +0 -5811
  376. package/docs-dev/sass/helpers/index.html +0 -5622
  377. package/docs-dev/sass/helpers/print/index.html +0 -5199
  378. package/docs-dev/sass/helpers/typography/index.html +0 -5672
  379. package/docs-dev/sass/helpers/units/index.html +0 -5818
  380. package/docs-dev/sass/helpers/utilities/index.html +0 -5649
  381. package/docs-dev/sass/index.html +0 -5673
  382. package/index.js +0 -7
  383. package/js/events/index.js +0 -108
  384. package/js/index.js +0 -11
  385. package/js/ui/index.js +0 -22
  386. package/js/utils/index.js +0 -8
  387. package/resources/drupal/twig-macros/accordion.twig +0 -99
  388. package/resources/drupal/twig-macros/dropdown.twig +0 -44
  389. package/resources/drupal/twig-macros/flipcard.twig +0 -69
  390. package/resources/drupal/twig-macros/image.twig +0 -30
  391. package/resources/drupal/twig-macros/layout.twig +0 -338
  392. package/resources/drupal/twig-macros/slider.twig +0 -214
  393. package/resources/drupal/twig-macros/tabs.twig +0 -84
  394. package/scss/components/_accordion.scss +0 -231
  395. package/types/events/index.d.ts +0 -26
  396. package/types/events/index.d.ts.map +0 -1
  397. package/types/index.d.ts +0 -5
  398. package/types/settings.d.ts.map +0 -1
  399. package/types/ui/breakpoints.d.ts.map +0 -1
  400. package/types/ui/collapsible.d.ts.map +0 -1
  401. package/types/ui/details-group.d.ts.map +0 -1
  402. package/types/ui/dialog.d.ts.map +0 -1
  403. package/types/ui/flipcard.d.ts.map +0 -1
  404. package/types/ui/grid.d.ts.map +0 -1
  405. package/types/ui/index.d.ts +0 -24
  406. package/types/ui/modal-builder.d.ts.map +0 -1
  407. package/types/ui/overflow-scroller-pager.d.ts.map +0 -1
  408. package/types/ui/overflow-scroller.d.ts.map +0 -1
  409. package/types/ui/page.d.ts.map +0 -1
  410. package/types/ui/popover.d.ts.map +0 -1
  411. package/types/ui/print-details.d.ts.map +0 -1
  412. package/types/ui/print.d.ts.map +0 -1
  413. package/types/ui/programmatic-modal.d.ts.map +0 -1
  414. package/types/ui/proxy-click.d.ts.map +0 -1
  415. package/types/ui/resizer.d.ts.map +0 -1
  416. package/types/ui/scroll-slider.d.ts.map +0 -1
  417. package/types/ui/scrollpoint.d.ts.map +0 -1
  418. package/types/ui/slider.d.ts.map +0 -1
  419. package/types/ui/tabs.d.ts.map +0 -1
  420. package/types/ui/theme-toggle.d.ts.map +0 -1
  421. package/types/ui/tooltip.d.ts.map +0 -1
  422. package/types/utils/class-logger.d.ts.map +0 -1
  423. package/types/utils/css.d.ts.map +0 -1
  424. package/types/utils/dom.d.ts.map +0 -1
  425. package/types/utils/file-save.d.ts.map +0 -1
  426. package/types/utils/floating-ui.d.ts.map +0 -1
  427. package/types/utils/font-awesome.d.ts.map +0 -1
  428. package/types/utils/id.d.ts.map +0 -1
  429. package/types/utils/index.d.ts +0 -10
  430. package/types/utils/pause-youtube-video.d.ts.map +0 -1
  431. package/types/utils/system.d.ts.map +0 -1
  432. /package/{types → dist/types/js/core}/settings.d.ts +0 -0
  433. /package/{types → dist/types/js}/ui/collapsible.d.ts +0 -0
  434. /package/{types → dist/types/js}/ui/overflow-scroller-pager.d.ts +0 -0
  435. /package/{types → dist/types/js}/ui/overflow-scroller.d.ts +0 -0
  436. /package/{types → dist/types/js}/ui/page.d.ts +0 -0
  437. /package/{types → dist/types/js}/ui/print-details.d.ts +0 -0
  438. /package/{types → dist/types/js}/ui/print.d.ts +0 -0
  439. /package/{types → dist/types/js}/utils/class-logger.d.ts +0 -0
  440. /package/{types → dist/types/js}/utils/css.d.ts +0 -0
  441. /package/{types → dist/types/js}/utils/dom.d.ts +0 -0
  442. /package/{types → dist/types/js}/utils/floating-ui.d.ts +0 -0
  443. /package/{types → dist/types/js}/utils/font-awesome.d.ts +0 -0
  444. /package/{types → dist/types/js}/utils/id.d.ts +0 -0
  445. /package/{types → dist/types/js}/utils/pause-youtube-video.d.ts +0 -0
  446. /package/{js → lib/js}/ui/dialog.todo +0 -0
  447. /package/{js → lib/js}/ui/overflow-scroller-pager.js +0 -0
  448. /package/{js → lib/js}/ui/page.js +0 -0
  449. /package/{js → lib/js}/utils/class-logger.js +0 -0
  450. /package/{js → lib/js}/utils/dom.js +0 -0
  451. /package/{js → lib/js}/utils/file-save.js +0 -0
  452. /package/{js → lib/js}/utils/floating-ui.js +0 -0
  453. /package/{js → lib/js}/utils/id.js +0 -0
  454. /package/{js → lib/js}/utils/pause-youtube-video.js +0 -0
  455. /package/{scss → lib/scss}/README.md +0 -0
  456. /package/{scss → lib/scss}/_cssvar.scss +0 -0
  457. /package/{scss → lib/scss}/_index.scss +0 -0
  458. /package/{scss → lib/scss}/_layout.scss +0 -0
  459. /package/{scss → lib/scss}/_path.scss +0 -0
  460. /package/{scss → lib/scss}/_selector.scss +0 -0
  461. /package/{scss → lib/scss}/_units.scss +0 -0
  462. /package/{scss → lib/scss}/_utils.scss +0 -0
  463. /package/{scss → lib/scss}/base/_color.scss +0 -0
  464. /package/{scss → lib/scss}/base/_elements.scss +0 -0
  465. /package/{scss → lib/scss}/base/_index.scss +0 -0
  466. /package/{scss → lib/scss}/base/_keyframes.scss +0 -0
  467. /package/{scss → lib/scss}/base/_layout.scss +0 -0
  468. /package/{scss → lib/scss}/base/_normalize.scss +0 -0
  469. /package/{scss → lib/scss}/base/_print.scss +0 -0
  470. /package/{scss → lib/scss}/base/_root.scss +0 -0
  471. /package/{scss → lib/scss}/base/_typography.scss +0 -0
  472. /package/{scss → lib/scss}/components/README.md +0 -0
  473. /package/{scss → lib/scss}/components/README.todos +0 -0
  474. /package/{scss → lib/scss}/components/_adaptive-spacing.scss +0 -0
  475. /package/{scss → lib/scss}/components/_badge-stack.scss +0 -0
  476. /package/{scss → lib/scss}/components/_badge.scss +0 -0
  477. /package/{scss → lib/scss}/components/_button-group.scss +0 -0
  478. /package/{scss → lib/scss}/components/_button-verbose.scss +0 -0
  479. /package/{scss → lib/scss}/components/_callout.scss +0 -0
  480. /package/{scss → lib/scss}/components/_captioned-figure.scss +0 -0
  481. /package/{scss → lib/scss}/components/_counter-list.scss +0 -0
  482. /package/{scss → lib/scss}/components/_css-icon.scss +0 -0
  483. /package/{scss → lib/scss}/components/_data-grid.scss +0 -0
  484. /package/{scss → lib/scss}/components/_data-table.scss +0 -0
  485. /package/{scss → lib/scss}/components/_fill-context.scss +0 -0
  486. /package/{scss → lib/scss}/components/_flipcard-grid.scss +0 -0
  487. /package/{scss → lib/scss}/components/_flipcard.scss +0 -0
  488. /package/{scss → lib/scss}/components/_form-theme.scss +0 -0
  489. /package/{scss → lib/scss}/components/_headline-label.scss +0 -0
  490. /package/{scss → lib/scss}/components/_hero.scss +0 -0
  491. /package/{scss → lib/scss}/components/_horizontal-rule.scss +0 -0
  492. /package/{scss → lib/scss}/components/_image-grid.scss +0 -0
  493. /package/{scss → lib/scss}/components/_links.scss +0 -0
  494. /package/{scss → lib/scss}/components/_list-inline.scss +0 -0
  495. /package/{scss → lib/scss}/components/_list-lines.scss +0 -0
  496. /package/{scss → lib/scss}/components/_list-ordered.scss +0 -0
  497. /package/{scss → lib/scss}/components/_list-unordered.scss +0 -0
  498. /package/{scss → lib/scss}/components/_nav-strip.scss +0 -0
  499. /package/{scss → lib/scss}/components/_overlay-section.scss +0 -0
  500. /package/{scss → lib/scss}/components/_pager.scss +0 -0
  501. /package/{scss → lib/scss}/components/_panel.scss +0 -0
  502. /package/{scss → lib/scss}/components/_placeholder-block.scss +0 -0
  503. /package/{scss → lib/scss}/components/_popover.scss +0 -0
  504. /package/{scss → lib/scss}/components/_pull-quote.scss +0 -0
  505. /package/{scss → lib/scss}/components/_rail.scss +0 -0
  506. /package/{scss → lib/scss}/components/_ratio-box.scss +0 -0
  507. /package/{scss → lib/scss}/components/_rule.scss +0 -0
  508. /package/{scss → lib/scss}/components/_scroll-slider.scss +0 -0
  509. /package/{scss → lib/scss}/components/_skip-link.scss +0 -0
  510. /package/{scss → lib/scss}/components/_slider.scss +0 -0
  511. /package/{scss → lib/scss}/components/_spoke-spinner.scss +0 -0
  512. /package/{scss → lib/scss}/components/_sticky-list.scss +0 -0
  513. /package/{scss → lib/scss}/components/_tabs.scss +0 -0
  514. /package/{scss → lib/scss}/components/_tile-button.scss +0 -0
  515. /package/{scss → lib/scss}/components/_tile-grid-overlay.scss +0 -0
  516. /package/{scss → lib/scss}/components/_tile-grid.scss +0 -0
  517. /package/{scss → lib/scss}/components/_vignette.scss +0 -0
  518. /package/{scss → lib/scss}/components/_wysiwyg.scss +0 -0
  519. /package/{scss → lib/scss}/helpers/_color.scss +0 -0
  520. /package/{scss → lib/scss}/helpers/_display.scss +0 -0
  521. /package/{scss → lib/scss}/helpers/_index.scss +0 -0
  522. /package/{scss → lib/scss}/helpers/_print.scss +0 -0
  523. /package/{scss → lib/scss}/helpers/_typography.scss +0 -0
  524. /package/{scss → lib/scss}/helpers/_units.scss +0 -0
  525. /package/{scss → lib/scss}/stylesheets/README.md +0 -0
  526. /package/{scss → lib/scss}/stylesheets/base-styles.scss +0 -0
  527. /package/{scss → lib/scss}/stylesheets/component-styles.scss +0 -0
  528. /package/{scss → lib/scss}/stylesheets/full.scss +0 -0
  529. /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,15 @@
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
+ }
143
+ .icon-vert-translate {
144
+ @include element.icon-vert-translate();
145
+ }
124
146
  }