@ulu/frontend 0.1.0-beta.98 → 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 +26 -15
  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 -746
  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 -7177
  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 -5873
  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
@@ -1,28 +0,0 @@
1
- // =============================================================================
2
- // Doc Ready - Script
3
- // =============================================================================
4
-
5
- // Version: 1.0.0
6
-
7
- // Description: Simple script that will add a property to the window for
8
- // other scripts to access. Functions will be fired after
9
- // DomContentLoaded.
10
-
11
-
12
- (function(d) {
13
- var callbacks = [],
14
- fired = false;
15
-
16
- window.onDocReady = function(callback) {
17
- if (fired) callback();
18
- else callbacks.push(callback);
19
- };
20
-
21
- d.addEventListener("DOMContentLoaded", function() {
22
- fired = true;
23
- for (var i = 0; i < callbacks.length; i++) {
24
- callbacks[i]();
25
- }
26
- });
27
-
28
- }(document));
@@ -1,91 +0,0 @@
1
- /**
2
- * @module programmatic-modal
3
- */
4
-
5
- // Version: 1.0.3
6
- // Changes:
7
- // 1.0.2 | Updates to work with the updated modal script which has
8
- // to attach it's own trigger handlers
9
- // Description: Drupal programmatic modal insertion script (interface = jquery prototype)
10
- // Changes: 1.0.2 - Added ability to pass class to container
11
-
12
- import { setupModal, show, attachTriggers, triggerAttr } from "./micromodal-modals.js";
13
- import { dispatch } from "../../js/events.js";
14
-
15
- const $ = window.jQuery;
16
- const containerId = 'programmatic-modal';
17
- const selectorTrigger = '[data-programmatic-modal-trigger]';
18
- const defaults = {
19
- removeOnClose: true,
20
- settings: {},
21
- classes: []
22
- };
23
-
24
- let count = 0;
25
- let cachedTrigger;
26
-
27
- // Drupal calls the jquery 'programaticModal' from InvokeCommand())
28
- $.fn.programaticModal = newModal;
29
-
30
- // keep track of trigger clicks to return user on close (Drupal doesn't send trigger clicked, that I know of)
31
- document.addEventListener('click', cacheTrigger, true);
32
-
33
- /**
34
- * Sets up a new ajax triggered modal and opens it
35
- * @param {String} args Arguments provided from Drupal (JSON format)
36
- */
37
- function newModal(args) {
38
- args = args ? JSON.parse(args) : {};
39
- const config = Object.assign({}, defaults, args);
40
- const modal = document.querySelector(`#${ containerId }`);
41
- const id = setModalId(modal, config.id);
42
- const classes = ["programmatic-modal-content", ...config.classes ];
43
- modal.classList.add(...classes);
44
- // Add a new placeholder container
45
- newContainer();
46
- // Intialize and open the new modal
47
- setupModal(modal, config.settings);
48
- show(id, {
49
- onShow(modal) {
50
- dispatch('pageModified', modal);
51
- },
52
- onClose(element) {
53
- if (config.removeOnClose) {
54
- element.parentNode.removeChild(element);
55
- }
56
- // For accessiblity/usablity (return to last clicked trigger)
57
- if (cachedTrigger) {
58
- cachedTrigger.focus();
59
- }
60
- }
61
- });
62
- // Attach handler so that it can reopen that modal
63
- if (!config.removeOnClose && cachedTrigger) {
64
- cachedTrigger.setAttribute(triggerAttr, id);
65
- attachTriggers();
66
- }
67
- }
68
- /**
69
- * Sets and returns the modal's id
70
- */
71
- function setModalId(element, id) {
72
- element.id = id || `programmatic-modal--id-${ ++count }`;
73
- return element.id;
74
- }
75
- /**
76
- * Once we remove the placeholder containers id (above)
77
- * we create another programmatic placeholder container
78
- * for the next programmitic container
79
- */
80
- function newContainer() {
81
- const container = document.createElement('div');
82
- container.id = 'programmatic-modal';
83
- document.body.append(container);
84
- }
85
- /**
86
- * Document click handler, will cache the trigger that caused the modal to open
87
- */
88
- function cacheTrigger(event) {
89
- const trigger = event.target.closest(selectorTrigger);
90
- if (trigger) cachedTrigger = trigger;
91
- }
@@ -1,309 +0,0 @@
1
- // =============================================================================
2
- // Jquery Prototypes
3
- // =============================================================================
4
-
5
- // Version: 2.0.0
6
-
7
- // Description: All of our simple jQuery prototypes
8
-
9
- // Change log: 2.0.0 | Converted to ES Module with exports (so we can pick and choose)
10
-
11
- const $ = jQuery;
12
-
13
- // FUnction to do conditions in chaining sequences
14
- export function when(condition, method, argumentsArray) {
15
- if (!Array.isArray(argumentsArray)) argumentsArray = [argumentsArray];
16
- if (typeof condition === 'function') condition = condition.apply(this, argumentsArray);
17
- if (condition) this[method].apply(this, argumentsArray);
18
- return condition ? this[method].apply(this, argumentsArray) : this;
19
- }
20
- export function mergeObjects() {
21
- var collect = $([]).add(this);
22
- for (var i = 0; i < arguments.length; i++) collect = collect.add(arguments[i]);
23
- return collect;
24
- }
25
- export function updateSelection() {
26
- var elements = $(this.selector);
27
- this.splice(0, this.length);
28
- this.push.apply(this, elements);
29
- return this;
30
- }
31
- export function findFromRoot(selector) {
32
- return this.filter(selector).add(this.find(selector));
33
- }
34
- export function dataExplode(attrName, delimiter) {
35
- var dataFound = this.data(attrName);
36
- return dataFound !== undefined && typeof dataFound === 'string' ? dataFound.split('|') : false;
37
- }
38
- export function isOverflowingY() {
39
- var el = this[0];
40
- return el.offsetHeight < el.scrollHeight;
41
- }
42
- export function isOverflowingX() {
43
- var el = this[0];
44
- return el.offsetWidth < el.scrollWidth;
45
- }
46
- export function escapeSelector(stringPasssed) {
47
- return stringPasssed.replace(/(:|\.|\[|\]|,)/g, "\\$1");
48
- }
49
- export function getControlled(attr) {
50
- if (!attr) attr = 'aria-controls';
51
- var id = this.attr(attr);
52
- return $('#'+id);
53
- }
54
- export function getControls(attr) {
55
- if (!attr) attr = 'aria-controls';
56
- var id = this.attr('id');
57
- return $('['+attr+'='+id+']');
58
- }
59
- export function queryVar(variable) {
60
- var query = curQueryVars,
61
- vars = query.split("&");
62
- for (var i=0;i<vars.length;i++) {
63
- var pair = vars[i].split("=");
64
- if(pair[0] == variable){return pair[1];}
65
- }
66
- return(false);
67
- }
68
- export function eachMatchingIndexes(method, collection) {
69
- this.each(function(i) {
70
- $(this)[method](collection[i]);
71
- });
72
- return this;
73
- }
74
- export function makeFocusable(forScripts, firstDescendant) {
75
-
76
- var el = this,
77
- tabindex = forScripts ? -1 : 0;
78
- // If they said first descendant (that is focusable)
79
- if (firstDescendant) {
80
- var newEl = el.find(_g.focus.titleEl+', '+_g.focus.elFocusable).not('[aria-hidden="true"]');
81
- if (newEl.length) {
82
- el = newEl;
83
- }
84
- }
85
- el = el.first();
86
- if (!el.is(_g.focus.elFocusable)) el.attr('tabindex', tabindex); // Make focusable by scripts
87
-
88
- return el;
89
- }
90
- export function attrBooleanToggle(attribute, forceState) {
91
- this.attr(attribute, function(i, iString) {
92
- if (forceState === true || forceState === false) return forceState;
93
- if (iString === 'true') return 'false';
94
- return 'true';
95
- });
96
- return this;
97
- }
98
- export function checkIdAndSet(stringForId) {
99
- if ($(this).attr('id')) {
100
- return (this).attr('id');
101
- } else {
102
- var id = stringForId === undefined ? _g.uniqueId() : stringForId; // If they don't pass string use global method.
103
- $(this).attr('id', id); // Assign id
104
- return id; // Return Id for user's use
105
- }
106
- }
107
- export function scrollParent() {
108
- var overflowRegex = /(auto|scroll)/,
109
- position = this.css( "position" ),
110
- excludeStaticParent = position === "absolute",
111
- scrollParent = this.parents().filter( function() {
112
- var parent = $( this );
113
- if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
114
- return false;
115
- }
116
- var overflowState = parent.css(["overflow", "overflowX", "overflowY"]);
117
- return (overflowRegex).test( overflowState.overflow + overflowState.overflowX + overflowState.overflowY );
118
- }).eq( 0 );
119
-
120
- return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;
121
- }
122
- export function scrollParentY() {
123
- var overflowRegex = /(auto|scroll)/,
124
- position = this.css( "position" ),
125
- excludeStaticParent = position === "absolute",
126
- scrollParent = this.parents().filter( function() {
127
- var parent = $( this );
128
- if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
129
- return false;
130
- }
131
- var overflowState = parent.css(["overflowY"]);
132
- return (overflowRegex).test(overflowState.overflowY );
133
- }).eq( 0 );
134
-
135
- return position === "fixed" || !scrollParent.length ? $htmlBody : scrollParent;
136
- }
137
- export function removeClassStartsWith(stringPassed) {
138
- this.removeClass(function (index, classes) {
139
-
140
- // This function splits into an array
141
- // Then filters out the passed string
142
- // Then returns it joined as space seperated
143
- // Jquery then removes those classes
144
-
145
- return classes
146
- .split(' ')
147
- .filter(function(value) {
148
- return value.includes(stringPassed);
149
- })
150
- .join(' ');
151
- });
152
-
153
- // For Chaining
154
- return this;
155
- }
156
- export function doesExist(callback){
157
- if (this.length) {
158
- if (callback) callback.call(this);
159
- return true;
160
- }
161
- }
162
- export function notExist(callback){
163
- if (this.length <= 0) {
164
- if (callback) callback.call(this);
165
- return true;
166
- }
167
- }
168
- export function sortByDepth() {
169
- // Sorts jquery object by deepest to shallowest item
170
- var ar = this.map(function() {
171
- return {length: $(this).parents().length, elt: this};
172
- }).get(),
173
- result = [],
174
- i = ar.length;
175
- ar.sort(function(a, b) {
176
- return a.length - b.length;
177
- });
178
- while (i--) {
179
- result.push(ar[i].elt);
180
- }
181
- return $(result);
182
- };
183
- // throttleScroll
184
- export function throttleScroll(eventName, optionalHandler) {
185
- var posLastY = 0,
186
- posLastX = 0,
187
- lastFrameComplete = true,
188
- el = this;
189
-
190
- // Internal function for touch move and scroll
191
- function scrollHandler(event) {
192
-
193
- var posY = el.scrollTop(),
194
- posX = el.scrollLeft(),
195
- elHeight = el.innerHeight(); // cOme back
196
-
197
- if (lastFrameComplete && (posLastY !== posY || posLastX !== posX)) {
198
-
199
- var scrollData = {
200
- positionY: posY,
201
- positionX: posX,
202
- height: elHeight,
203
- positionLastY: posLastY,
204
- positionLastX: posLastX,
205
- direction: posLastY > posY ? 'up' :'down'
206
- };
207
-
208
- posLastY = posY;
209
- posLastX = posX;
210
- lastFrameComplete = false;
211
-
212
- requestAnimationFrame(function(){
213
- el.trigger(eventName, [scrollData, event]);
214
- lastFrameComplete = true;
215
- });
216
- }
217
- }
218
-
219
- // Attach our throttling handler
220
- el.on('scroll touchmove', scrollHandler);
221
- // If they passed a handler attach it
222
- if (optionalHandler) el.on(eventName, optionalHandler);
223
- // Chaining
224
- return scrollHandler;
225
- };
226
-
227
- export function copyAttributes() {
228
- var attrs = {};
229
-
230
- $.each(this[0].attributes, function(idx, attr) {
231
- attrs[attr.nodeName] = attr.nodeValue;
232
- });
233
-
234
- return attrs;
235
- };
236
- export function attributesFrom(elFrom, overwrite) {
237
- var $this = this;
238
- $.each(elFrom[0].attributes, function(idx, attr) {
239
- $this.attr(attr.nodeName, attr.nodeValue);
240
- });
241
- return this;
242
- };
243
- export function changeElementType(newType) {
244
-
245
- var attrs = this.copyAttributes(),
246
- newElement = $("<" + newType + "/>", attrs).append($(this).contents());
247
-
248
- this.replaceWith(newElement);
249
- return newElement;
250
- };
251
- // This function accepts a string to search for and if found will use the "change" argument passed.
252
- // Since this is using the string replace() function you can use either a function or a string.
253
- // Using :contains selector vs anything reg-ex or filter related because it is extremely fast
254
- // in tests and the search could be deep. Contains will give us both the element with the
255
- // text and the parents (unfortunate). So once we have them we filter by nodeType 3 which
256
- // is text nodes. And then check if that node has the string. If it does we run replace with
257
- // the string and call the users callback for the replacement.
258
- export function replaceText(find, change, filterSelector) {
259
- this
260
- .find(':contains(' + find + ')')
261
- .filter(filterSelector || null)
262
- .contents()
263
- .filter(function() {
264
- return this.nodeType === 3 && this.nodeValue.includes(find);
265
- })
266
- .each(function() {
267
- var newNode = document.createElement('span');
268
- newNode.innerHTML = this.nodeValue.replace(find, change);
269
- this.parentNode.insertBefore(newNode, this);
270
- this.parentNode.removeChild(this);
271
- });
272
- return this;
273
- };
274
- // Better jqeury.each(), passes the $(this) that everyone makes into a variable anyways
275
- // This is based on prototype.each which uses jQuery.each(object, callback) so it
276
- // should perform as well. Test here: https://codepen.io/Jscherbe/pen/pZMZOo
277
- export function forEach(callback) {
278
- var $t;
279
- for (var i = 0; i < this.length; i++) {
280
- $t = $(this[i]);
281
- if (callback.call($t, i, $t) === false) break;
282
- }
283
- return this;
284
- };
285
- export function isOutside(context) {
286
- return !context.has(this).length || context.is(this);
287
- };
288
- export function apply(fn, args) {
289
- fn.apply(this, args);
290
- return this;
291
- };
292
- export function hasAttr(name) {
293
- var attr = this.attr(name);
294
- return !(typeof attr !== undefined && attr !== false);
295
- };
296
- export function debounce(func, wait, immediate, valueThis) {
297
- var timeout;
298
- return function() {
299
- var context = valueThis || this, args = arguments;
300
- var later = function() {
301
- timeout = null;
302
- if (!immediate) func.apply(context, args);
303
- };
304
- var callNow = immediate && !timeout;
305
- clearTimeout(timeout);
306
- timeout = setTimeout(later, wait);
307
- if (callNow) func.apply(context, args);
308
- };
309
- };
@@ -1,196 +0,0 @@
1
- /**
2
- * @module ui/modals
3
- */
4
- // Version: 1.0.5
5
- //
6
- // Changes:
7
- // 1.0.5 | Added title icon and remove calling of init
8
- // Moved setup modals stuff to inside init (contextual) [may affect programmatic modals]
9
- // 1.0.4 | The modal library has a bug with multiple modals and using a custom close handler
10
- // In the future we want to abandon this library but for now it works by setting up our own open and close buttons
11
- // This is not setup to work with programmatic modals!!
12
- // 1.0.3 | Added youtube video closing stuff
13
- // 1.0.3 | Added youtube video closing stuff
14
- // 1.0.2 | Added custom close handler and checked to make sure resizer doesn't trigger click
15
- // 1.0.1 | Added optional resizable (allowResize)
16
- // Todo: - Make the container the content is getting the original classes, or don't remove them. And allow user to pass classes via config
17
-
18
- // Javascript builds structure, modal's live in content in simple container.
19
- // Modal theme and structure is added in scripting That way if we change the
20
- // interface in the future we don't need to change/update markup.
21
- import MicroModal from "micromodal";
22
- import { Resizer } from "../resizer.js";
23
- import { pauseVideos, prepVideos } from "../utils/pause-youtube-video.js";
24
- import { createElementFromHtml } from "@ulu/utils/browser/dom.js";
25
- const classes = {
26
- open: "site-modal--open",
27
- container: "site-modal__container",
28
- body: "site-modal__body",
29
- resizer: "site-modal__resizer"
30
- };
31
- const triggerAttr = "data-site-modal-trigger";
32
- export { triggerAttr };
33
- const triggerSelector = `[${ triggerAttr }]`;
34
- const defaults = {
35
- allowResize: true,
36
- position: "center",
37
- containerClass: "",
38
- closeSelector: "[data-site-modal-close]",
39
- titleIcon: false
40
- };
41
- const configMicroModal = {
42
- openClass: classes.open,
43
- disableScroll: true,
44
- openTrigger: "data-site-modal-trigger",
45
- closeTrigger: "data-NOT-USED", // Proxied to avoid this click handler (on keydown, allow click on things underneath)
46
- onClose: function(modal) {
47
- pauseVideos(modal);
48
- }
49
- };
50
- const wrappers = [];
51
-
52
-
53
- // Create a grouping container to grab all modals from content of the
54
- // page and move to the bottom of the page
55
- // const container = createContainer();
56
-
57
-
58
-
59
- // Initialize modal library script
60
-
61
- export function init(context = document) {
62
- const flag = "data-site-modal-trigger-attached";
63
- context.querySelectorAll(triggerSelector).forEach(trigger => {
64
- if (!trigger.hasAttribute(flag)) {
65
- const mid = trigger.getAttribute(triggerAttr);
66
- if (!mid) {
67
- console.warn("Unable to get modal trigger id");
68
- } else {
69
- trigger.setAttribute(flag, "");
70
- trigger.addEventListener("click", () => {
71
- show(mid);
72
- });
73
- }
74
- }
75
- });
76
- // The [data-site-modal] is used to separate the libraries' interface
77
- // and the modal's styling classes, so it can be adjusted or extended
78
- // in the future
79
- context.querySelectorAll("[data-site-modal]").forEach((element) => setupModal(element));
80
- }
81
-
82
- /**
83
- * Function to setup each modal
84
- * - Creates structure
85
- * - Gets settings from elements data attribute
86
- * - Moves it to the end of the document
87
- * - Adds resizer if position (left || right)
88
- * @param {Node} modal Modal element ie. `[data-site-modal]`
89
- * @param {Object} settings Custom settings object to merge, same interface as `[data-site-modal]` settings
90
- */
91
- export function setupModal(modal, settings) {
92
- // Grab things from original element before modifying
93
- const id = modal.id;
94
- const originalClasses = modal.getAttribute("class") || "";
95
- // Grab settings from element and optionally from settings passed
96
- let data = {};
97
- if (modal.dataset.siteModal) {
98
- data = JSON.parse(modal.dataset.siteModal);
99
- }
100
- data = Object.assign({}, defaults, data, settings);
101
- const { allowResize, position } = data;
102
- const notCenter = position !== "center";
103
- const hasResizer = notCenter && allowResize;
104
- const resizerMarkup = hasResizer ? `<div class="${ classes.resizer }"></div>` : "";
105
- const resizerModifierClass = allowResize ? "resize" : "no-resize";
106
- const closeAttr = "data-site-modal-close";
107
- // Remove attributes
108
- modal.removeAttribute("data-site-modal");
109
- modal.removeAttribute("id");
110
- modal.removeAttribute("class");
111
- // Template for new modal container (modal's body, the original element is
112
- // appended after as not to lose any listener's/etc
113
- const markup = `
114
- <div
115
- class="
116
- site-modal
117
- site-modal--${ position }
118
- site-modal--${ resizerModifierClass }
119
- ${ data.containerClass }
120
- "
121
- id="${ id }" aria-hidden="true"
122
- >
123
- <div class="site-modal__overlay" tabindex="-1" ${ closeAttr }>
124
- <div class="site-modal__container" role="dialog" aria-modal="true" aria-labelledby="${ id }-title">
125
- <div class="site-modal__header">
126
- <h2 class="site-modal__title" id="${ id }-title" tabindex="0">
127
- ${ data.titleIcon ? `<span class="site-modal__title-icon ${ data.titleIcon }" aria-hidden="true"></span>` : "" }
128
- <span class="site-modal__title-text">${ data.title }</span>
129
- </h2>
130
- <button class="site-modal__close" aria-label="Close modal" ${ closeAttr }>
131
- <span class="site-modal__close-icon" aria-hidden="true" ${ closeAttr }></span>
132
- </button>
133
- </div>
134
- <div class="${ classes.body } ${ originalClasses }"></div>
135
- ${ resizerMarkup }
136
- </div>
137
- </div>
138
- </div>`;
139
-
140
- // Create wrapped modal (with repeatable structure), and insert
141
- // the original modal content into it
142
- const select = (container, classKey) => container.querySelector("." + classes[classKey]);
143
- const wrapper = createElementFromHtml(markup.trim());
144
- const elements = {
145
- body: select(wrapper, "body"),
146
- resizer: select(wrapper, "resizer"),
147
- container: select(wrapper, "container")
148
- };
149
-
150
- // Move the orginal content into the modal's body
151
- elements.body.appendChild(modal);
152
- // Add resizer if not a center positioned modal
153
- if (hasResizer) {
154
- new Resizer(elements.container, elements.resizer, {
155
- fromLeft: position === "right"
156
- });
157
- }
158
-
159
- // Prep Youtube Videos to be able to close
160
- prepVideos(wrapper);
161
-
162
- // Add modal to the end of docuemnt
163
- wrappers.push(wrapper);
164
- document.body.appendChild(wrapper);
165
- // Add our own close handlers to avoide the native
166
- const closeButtons = wrapper.querySelectorAll(data.closeSelector);
167
- closeButtons.forEach(b => b.addEventListener("click", ({ target }) => {
168
- const outsideContainer = !elements.container.contains(target) && target !== elements.container;
169
- // Last condition is the overlay/backdrop (click outside)
170
- if (target.matches(`[${ closeAttr }]`) || outsideContainer) {
171
- close(id);
172
- }
173
- }));
174
- }
175
- /**
176
- * Intialize all modals on the page
177
- * - can be used after AJAX adds content
178
- */
179
- // export function init() {
180
- // MicroModal.init(configMicroModal);
181
- // }
182
- /**
183
- * Open a modal
184
- * @param {String} id The id of the modal to open
185
- */
186
- export function show(id, config) {
187
- const merged = Object.assign({}, configMicroModal, config);
188
- MicroModal.show(id, merged);
189
- }
190
- /**
191
- * Close a modal
192
- * @param {String} id The id of the modal to open
193
- */
194
- export function close(id) {
195
- MicroModal.close(id);
196
- }