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

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