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

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/core/component.d.ts} +11 -14
  3. package/dist/types/core/component.d.ts.map +1 -0
  4. package/dist/types/core/events.d.ts +27 -0
  5. package/dist/types/core/events.d.ts.map +1 -0
  6. package/dist/types/core/index.d.ts +4 -0
  7. package/{types/utils → dist/types/core}/index.d.ts.map +1 -1
  8. package/dist/types/core/settings.d.ts.map +1 -0
  9. package/dist/types/index.d.ts +4 -0
  10. package/{types → dist/types}/index.d.ts.map +1 -1
  11. package/{types → dist/types}/ui/breakpoints.d.ts +4 -6
  12. package/dist/types/ui/breakpoints.d.ts.map +1 -0
  13. package/dist/types/ui/collapsible.d.ts.map +1 -0
  14. package/{types → dist/types}/ui/details-group.d.ts +1 -1
  15. package/dist/types/ui/details-group.d.ts.map +1 -0
  16. package/{types → dist/types}/ui/dialog.d.ts +1 -1
  17. package/dist/types/ui/dialog.d.ts.map +1 -0
  18. package/{types → dist/types}/ui/flipcard.d.ts +1 -1
  19. package/dist/types/ui/flipcard.d.ts.map +1 -0
  20. package/{types → dist/types}/ui/grid.d.ts +1 -1
  21. package/dist/types/ui/grid.d.ts.map +1 -0
  22. package/dist/types/ui/index.d.ts +22 -0
  23. package/{types → dist/types}/ui/index.d.ts.map +1 -1
  24. package/{types → dist/types}/ui/modal-builder.d.ts +2 -2
  25. package/dist/types/ui/modal-builder.d.ts.map +1 -0
  26. package/dist/types/ui/overflow-scroller-pager.d.ts.map +1 -0
  27. package/dist/types/ui/overflow-scroller.d.ts.map +1 -0
  28. package/dist/types/ui/page.d.ts.map +1 -0
  29. package/{types → dist/types}/ui/popover.d.ts +2 -2
  30. package/dist/types/ui/popover.d.ts.map +1 -0
  31. package/dist/types/ui/print-details.d.ts.map +1 -0
  32. package/dist/types/ui/print.d.ts.map +1 -0
  33. package/{types → dist/types}/ui/programmatic-modal.d.ts +1 -1
  34. package/dist/types/ui/programmatic-modal.d.ts.map +1 -0
  35. package/{types → dist/types}/ui/proxy-click.d.ts +1 -1
  36. package/dist/types/ui/proxy-click.d.ts.map +1 -0
  37. package/{types → dist/types}/ui/resizer.d.ts +1 -1
  38. package/dist/types/ui/resizer.d.ts.map +1 -0
  39. package/{types → dist/types}/ui/scroll-slider.d.ts +1 -1
  40. package/dist/types/ui/scroll-slider.d.ts.map +1 -0
  41. package/{types → dist/types}/ui/scrollpoint.d.ts +2 -2
  42. package/dist/types/ui/scrollpoint.d.ts.map +1 -0
  43. package/{types → dist/types}/ui/slider.d.ts +6 -6
  44. package/dist/types/ui/slider.d.ts.map +1 -0
  45. package/{types → dist/types}/ui/tabs.d.ts +1 -1
  46. package/dist/types/ui/tabs.d.ts.map +1 -0
  47. package/{types → dist/types}/ui/theme-toggle.d.ts +1 -1
  48. package/dist/types/ui/theme-toggle.d.ts.map +1 -0
  49. package/{types → dist/types}/ui/tooltip.d.ts +1 -1
  50. package/dist/types/ui/tooltip.d.ts.map +1 -0
  51. package/dist/types/utils/class-logger.d.ts.map +1 -0
  52. package/dist/types/utils/css.d.ts.map +1 -0
  53. package/dist/types/utils/dom.d.ts.map +1 -0
  54. package/{types → dist/types}/utils/file-save.d.ts +4 -1
  55. package/dist/types/utils/file-save.d.ts.map +1 -0
  56. package/dist/types/utils/floating-ui.d.ts.map +1 -0
  57. package/dist/types/utils/font-awesome.d.ts.map +1 -0
  58. package/dist/types/utils/id.d.ts.map +1 -0
  59. package/dist/types/utils/index.d.ts +8 -0
  60. package/dist/types/utils/index.d.ts.map +1 -0
  61. package/dist/types/utils/pause-youtube-video.d.ts.map +1 -0
  62. package/dist/ulu-frontend.es.js +5740 -0
  63. package/dist/ulu-frontend.umd.js +77 -0
  64. package/lib/index.js +5 -0
  65. package/{js/utils/system.js → lib/js/core/component.js} +13 -12
  66. package/lib/js/core/events.js +98 -0
  67. package/lib/js/core/index.js +34 -0
  68. package/{js → lib/js/core}/settings.js +3 -3
  69. package/lib/js/exports.md +126 -0
  70. package/lib/js/index.js +7 -0
  71. package/{js → lib/js}/ui/breakpoints.js +28 -31
  72. package/{js → lib/js}/ui/collapsible.js +2 -2
  73. package/{js → lib/js}/ui/details-group.js +2 -2
  74. package/{js → lib/js}/ui/dialog.js +6 -6
  75. package/{js → lib/js}/ui/flipcard.js +2 -2
  76. package/{js → lib/js}/ui/grid.js +2 -2
  77. package/lib/js/ui/index.js +161 -0
  78. package/{js → lib/js}/ui/modal-builder.js +6 -6
  79. package/{js → lib/js}/ui/overflow-scroller.js +2 -2
  80. package/{js → lib/js}/ui/popover.js +2 -2
  81. package/{js → lib/js}/ui/print-details.js +3 -3
  82. package/{js → lib/js}/ui/print.js +2 -2
  83. package/{js → lib/js}/ui/programmatic-modal.js +3 -3
  84. package/{js → lib/js}/ui/proxy-click.js +2 -2
  85. package/{js → lib/js}/ui/resizer.js +2 -2
  86. package/{js → lib/js}/ui/scroll-slider.js +2 -2
  87. package/{js → lib/js}/ui/scrollpoint.js +2 -2
  88. package/{js → lib/js}/ui/slider.js +3 -3
  89. package/{js → lib/js}/ui/tabs.js +2 -2
  90. package/{js → lib/js}/ui/theme-toggle.js +5 -5
  91. package/{js → lib/js}/ui/tooltip.js +4 -4
  92. package/{js → lib/js}/utils/css.js +1 -1
  93. package/{js → lib/js}/utils/font-awesome.js +2 -2
  94. package/lib/js/utils/index.js +63 -0
  95. package/{scss → lib/scss}/_breakpoint.scss +4 -4
  96. package/{scss → lib/scss}/_button.scss +1 -0
  97. package/{scss → lib/scss}/_color.scss +42 -38
  98. package/{scss → lib/scss}/_element.scss +6 -1
  99. package/{scss → lib/scss}/_typography.scss +15 -0
  100. package/lib/scss/components/_accordion.scss +274 -0
  101. package/{scss → lib/scss}/components/_basic-hero.scss +1 -1
  102. package/lib/scss/components/_breadcrumb.scss +110 -0
  103. package/{scss → lib/scss}/components/_button.scss +14 -4
  104. package/{scss/components/_card.scss → lib/scss/components/_card-before-no-position-relative.TRASH.scss} +80 -100
  105. package/{scss → lib/scss}/components/_card-grid.scss +8 -2
  106. package/lib/scss/components/_card.scss +656 -0
  107. package/lib/scss/components/_definition-list.scss +178 -0
  108. package/{scss → lib/scss}/components/_index.scss +25 -0
  109. package/{scss → lib/scss}/components/_menu-stack.scss +169 -16
  110. package/{scss → lib/scss}/components/_modal.scss +11 -1
  111. package/lib/scss/components/_progress-bar.scss +260 -0
  112. package/lib/scss/components/_progress-circle.scss +175 -0
  113. package/{scss → lib/scss}/components/_skeleton.scss +24 -20
  114. package/{scss → lib/scss}/components/_tag.scss +49 -7
  115. package/{scss → lib/scss}/helpers/_utilities.scss +25 -3
  116. package/package.json +62 -42
  117. package/.browserslistrc +0 -2
  118. package/.eslintrc +0 -17
  119. package/.prettierrc +0 -10
  120. package/CHANGELOG.md +0 -750
  121. package/deprecated/js/doc-ready.js +0 -28
  122. package/deprecated/js/drupal-programmatic-modal.js +0 -91
  123. package/deprecated/js/jquery-prototypes.js +0 -309
  124. package/deprecated/js/micromodal-modals.js +0 -196
  125. package/deprecated/js/mini-collapsible-popper-positioning.js +0 -126
  126. package/deprecated/js/mini-collapsible.js +0 -607
  127. package/deprecated/js/node-data-manager.js +0 -78
  128. package/deprecated/js/script-loader.js +0 -60
  129. package/deprecated/js/waypoints/README.md +0 -3
  130. package/deprecated/js/waypoints/anchor-menu.js +0 -76
  131. package/deprecated/js/waypoints/element-waypoint.js +0 -75
  132. package/deprecated/js/waypoints/examples/page-link-menu.md +0 -106
  133. package/deprecated/js/waypoints/state-in-attribute.js +0 -32
  134. package/dist/ulu-frontend.min.css +0 -1
  135. package/dist/ulu-frontend.min.js +0 -77
  136. package/docs-dev/.nojekyll +0 -1
  137. package/docs-dev/assets/chunks/modulepreload-polyfill.DaKOjhqt.js +0 -37
  138. package/docs-dev/assets/favicons/android-chrome-192x192.png +0 -0
  139. package/docs-dev/assets/favicons/android-chrome-256x256.png +0 -0
  140. package/docs-dev/assets/favicons/apple-touch-icon.png +0 -0
  141. package/docs-dev/assets/favicons/browserconfig.xml +0 -9
  142. package/docs-dev/assets/favicons/favicon-16x16.png +0 -0
  143. package/docs-dev/assets/favicons/favicon-32x32.png +0 -0
  144. package/docs-dev/assets/favicons/favicon.ico +0 -0
  145. package/docs-dev/assets/favicons/mstile-150x150.png +0 -0
  146. package/docs-dev/assets/favicons/safari-pinned-tab.svg +0 -1
  147. package/docs-dev/assets/favicons/site.webmanifest +0 -19
  148. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  149. package/docs-dev/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  150. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  151. package/docs-dev/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  152. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  153. package/docs-dev/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  154. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  155. package/docs-dev/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  156. package/docs-dev/assets/fonts/inter/Inter-Black.woff2 +0 -0
  157. package/docs-dev/assets/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  158. package/docs-dev/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  159. package/docs-dev/assets/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  160. package/docs-dev/assets/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  161. package/docs-dev/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  162. package/docs-dev/assets/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  163. package/docs-dev/assets/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  164. package/docs-dev/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  165. package/docs-dev/assets/fonts/inter/Inter-Light.woff2 +0 -0
  166. package/docs-dev/assets/fonts/inter/Inter-LightItalic.woff2 +0 -0
  167. package/docs-dev/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  168. package/docs-dev/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  169. package/docs-dev/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  170. package/docs-dev/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  171. package/docs-dev/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  172. package/docs-dev/assets/fonts/inter/Inter-Thin.woff2 +0 -0
  173. package/docs-dev/assets/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  174. package/docs-dev/assets/fonts/inter/InterDisplay-Black.woff2 +0 -0
  175. package/docs-dev/assets/fonts/inter/InterDisplay-BlackItalic.woff2 +0 -0
  176. package/docs-dev/assets/fonts/inter/InterDisplay-Bold.woff2 +0 -0
  177. package/docs-dev/assets/fonts/inter/InterDisplay-BoldItalic.woff2 +0 -0
  178. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBold.woff2 +0 -0
  179. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2 +0 -0
  180. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLight.woff2 +0 -0
  181. package/docs-dev/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2 +0 -0
  182. package/docs-dev/assets/fonts/inter/InterDisplay-Italic.woff2 +0 -0
  183. package/docs-dev/assets/fonts/inter/InterDisplay-Light.woff2 +0 -0
  184. package/docs-dev/assets/fonts/inter/InterDisplay-LightItalic.woff2 +0 -0
  185. package/docs-dev/assets/fonts/inter/InterDisplay-Medium.woff2 +0 -0
  186. package/docs-dev/assets/fonts/inter/InterDisplay-MediumItalic.woff2 +0 -0
  187. package/docs-dev/assets/fonts/inter/InterDisplay-Regular.woff2 +0 -0
  188. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBold.woff2 +0 -0
  189. package/docs-dev/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2 +0 -0
  190. package/docs-dev/assets/fonts/inter/InterDisplay-Thin.woff2 +0 -0
  191. package/docs-dev/assets/fonts/inter/InterDisplay-ThinItalic.woff2 +0 -0
  192. package/docs-dev/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  193. package/docs-dev/assets/fonts/inter/InterVariable.woff2 +0 -0
  194. package/docs-dev/assets/fonts/inter/LICENSE.txt +0 -92
  195. package/docs-dev/assets/fonts/inter/inter.css +0 -37
  196. package/docs-dev/assets/main.js +0 -23312
  197. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.credits.txt +0 -2
  198. package/docs-dev/assets/placeholder/4065947-uhd_4096_2160_25fps.mp4 +0 -0
  199. package/docs-dev/assets/placeholder/icon-calendar.svg +0 -1
  200. package/docs-dev/assets/placeholder/icon-check.svg +0 -1
  201. package/docs-dev/assets/placeholder/image-1-attribution.txt +0 -7
  202. package/docs-dev/assets/placeholder/image-1-darkened.jpg +0 -0
  203. package/docs-dev/assets/placeholder/image-1-lightened.jpg +0 -0
  204. package/docs-dev/assets/placeholder/image-1.jpg +0 -0
  205. package/docs-dev/assets/style.css +0 -19153
  206. package/docs-dev/changelog/index.html +0 -7184
  207. package/docs-dev/demos/accordion/index.html +0 -5811
  208. package/docs-dev/demos/badge/index.html +0 -5655
  209. package/docs-dev/demos/badge-stack/index.html +0 -5636
  210. package/docs-dev/demos/badge.1/index.html +0 -5595
  211. package/docs-dev/demos/basic-hero/index.html +0 -111
  212. package/docs-dev/demos/breakpoints-manager/index.html +0 -5666
  213. package/docs-dev/demos/button/index.html +0 -5665
  214. package/docs-dev/demos/button-group/index.html +0 -5652
  215. package/docs-dev/demos/button-verbose/index.html +0 -5658
  216. package/docs-dev/demos/callout/index.html +0 -5704
  217. package/docs-dev/demos/captioned-figure/index.html +0 -5686
  218. package/docs-dev/demos/card/index.html +0 -5682
  219. package/docs-dev/demos/card-grid/index.html +0 -5777
  220. package/docs-dev/demos/counter-list/index.html +0 -5660
  221. package/docs-dev/demos/css-icons/index.html +0 -6298
  222. package/docs-dev/demos/data-grid/index.html +0 -6529
  223. package/docs-dev/demos/data-table/index.html +0 -5833
  224. package/docs-dev/demos/details-group/index.html +0 -5687
  225. package/docs-dev/demos/file-save/index.html +0 -5675
  226. package/docs-dev/demos/flipcard/index.html +0 -6224
  227. package/docs-dev/demos/form-theme/index.html +0 -5842
  228. package/docs-dev/demos/headline-label/index.html +0 -5622
  229. package/docs-dev/demos/hero/index.html +0 -309
  230. package/docs-dev/demos/image-grid/index.html +0 -165
  231. package/docs-dev/demos/index.html +0 -5613
  232. package/docs-dev/demos/list-inline/index.html +0 -5640
  233. package/docs-dev/demos/list-lines/index.html +0 -5630
  234. package/docs-dev/demos/menu-stack/index.html +0 -5769
  235. package/docs-dev/demos/modals/index.html +0 -5844
  236. package/docs-dev/demos/nav-strip/index.html +0 -5725
  237. package/docs-dev/demos/overlay-section/index.html +0 -5701
  238. package/docs-dev/demos/panel/index.html +0 -5682
  239. package/docs-dev/demos/popovers/index.html +0 -0
  240. package/docs-dev/demos/print/index.html +0 -5633
  241. package/docs-dev/demos/pull-quote/index.html +0 -5632
  242. package/docs-dev/demos/rail/index.html +0 -5730
  243. package/docs-dev/demos/rule/index.html +0 -5694
  244. package/docs-dev/demos/scroll-slider/index.html +0 -170
  245. package/docs-dev/demos/scrollpoints/index.html +0 -5651
  246. package/docs-dev/demos/skeleton/index.html +0 -5676
  247. package/docs-dev/demos/slider/index.html +0 -172
  248. package/docs-dev/demos/spoke-spinner/index.html +0 -5628
  249. package/docs-dev/demos/sticky-list/index.html +0 -5643
  250. package/docs-dev/demos/tabs/index.html +0 -5753
  251. package/docs-dev/demos/tag/index.html +0 -5633
  252. package/docs-dev/demos/theme-toggle/index.html +0 -5699
  253. package/docs-dev/demos/tile-grid-overlay/index.html +0 -390
  254. package/docs-dev/demos/tiles/index.html +0 -5882
  255. package/docs-dev/demos/tooltip/index.html +0 -5661
  256. package/docs-dev/demos/wysiwyg/index.html +0 -5672
  257. package/docs-dev/guide/building-stylesheet/index.html +0 -5682
  258. package/docs-dev/guide/developing-ulu-scss-module/index.html +0 -5734
  259. package/docs-dev/guide/index.html +0 -5615
  260. package/docs-dev/index.html +0 -5662
  261. package/docs-dev/javascript/events/index.html +0 -5811
  262. package/docs-dev/javascript/index.html +0 -5628
  263. package/docs-dev/javascript/settings/index.html +0 -5825
  264. package/docs-dev/javascript/ui-breakpoints/index.html +0 -6071
  265. package/docs-dev/javascript/ui-collapsible/index.html +0 -5738
  266. package/docs-dev/javascript/ui-details-group/index.html +0 -5742
  267. package/docs-dev/javascript/ui-dialog/index.html +0 -5787
  268. package/docs-dev/javascript/ui-flipcard/index.html +0 -5678
  269. package/docs-dev/javascript/ui-grid/index.html +0 -5653
  270. package/docs-dev/javascript/ui-modal-builder/index.html +0 -5901
  271. package/docs-dev/javascript/ui-overflow-scroller/index.html +0 -5611
  272. package/docs-dev/javascript/ui-overflow-scroller-pager/index.html +0 -5629
  273. package/docs-dev/javascript/ui-page/index.html +0 -5626
  274. package/docs-dev/javascript/ui-popover/index.html +0 -5661
  275. package/docs-dev/javascript/ui-print/index.html +0 -5670
  276. package/docs-dev/javascript/ui-print-details/index.html +0 -5641
  277. package/docs-dev/javascript/ui-programmatic-modal/index.html +0 -5611
  278. package/docs-dev/javascript/ui-proxy-click/index.html +0 -5740
  279. package/docs-dev/javascript/ui-resizer/index.html +0 -5946
  280. package/docs-dev/javascript/ui-scroll-slider/index.html +0 -5672
  281. package/docs-dev/javascript/ui-scrollpoint/index.html +0 -5851
  282. package/docs-dev/javascript/ui-slider/index.html +0 -5813
  283. package/docs-dev/javascript/ui-tabs/index.html +0 -5706
  284. package/docs-dev/javascript/ui-theme-toggle/index.html +0 -5830
  285. package/docs-dev/javascript/ui-tooltip/index.html +0 -5754
  286. package/docs-dev/javascript/utils-class-logger/index.html +0 -5746
  287. package/docs-dev/javascript/utils-css/index.html +0 -5644
  288. package/docs-dev/javascript/utils-dom/index.html +0 -5711
  289. package/docs-dev/javascript/utils-file-save/index.html +0 -5783
  290. package/docs-dev/javascript/utils-floating-ui/index.html +0 -5643
  291. package/docs-dev/javascript/utils-id/index.html +0 -5653
  292. package/docs-dev/javascript/utils-pause-youtube-video/index.html +0 -5661
  293. package/docs-dev/javascript/utils-system/index.html +0 -5947
  294. package/docs-dev/sass/base/color/index.html +0 -5644
  295. package/docs-dev/sass/base/elements/index.html +0 -5815
  296. package/docs-dev/sass/base/index/index.html +0 -5814
  297. package/docs-dev/sass/base/index.html +0 -5622
  298. package/docs-dev/sass/base/keyframes/index.html +0 -5646
  299. package/docs-dev/sass/base/layout/index.html +0 -5806
  300. package/docs-dev/sass/base/normalize/index.html +0 -5654
  301. package/docs-dev/sass/base/print/index.html +0 -5650
  302. package/docs-dev/sass/base/root/index.html +0 -5670
  303. package/docs-dev/sass/base/typography/index.html +0 -5670
  304. package/docs-dev/sass/components/accordion/index.html +0 -5979
  305. package/docs-dev/sass/components/adaptive-spacing/index.html +0 -5915
  306. package/docs-dev/sass/components/badge/index.html +0 -5881
  307. package/docs-dev/sass/components/badge-stack/index.html +0 -5811
  308. package/docs-dev/sass/components/basic-hero/index.html +0 -5805
  309. package/docs-dev/sass/components/button/index.html +0 -5799
  310. package/docs-dev/sass/components/button-group/index.html +0 -5803
  311. package/docs-dev/sass/components/button-verbose/index.html +0 -5986
  312. package/docs-dev/sass/components/callout/index.html +0 -5961
  313. package/docs-dev/sass/components/captioned-figure/index.html +0 -5904
  314. package/docs-dev/sass/components/card/index.html +0 -6219
  315. package/docs-dev/sass/components/card-grid/index.html +0 -5813
  316. package/docs-dev/sass/components/counter-list/index.html +0 -5887
  317. package/docs-dev/sass/components/css-icon/index.html +0 -5917
  318. package/docs-dev/sass/components/data-grid/index.html +0 -6052
  319. package/docs-dev/sass/components/data-table/index.html +0 -5988
  320. package/docs-dev/sass/components/fill-context/index.html +0 -5679
  321. package/docs-dev/sass/components/flipcard/index.html +0 -5980
  322. package/docs-dev/sass/components/flipcard-grid/index.html +0 -5800
  323. package/docs-dev/sass/components/form-theme/index.html +0 -6525
  324. package/docs-dev/sass/components/headline-label/index.html +0 -5833
  325. package/docs-dev/sass/components/hero/index.html +0 -5849
  326. package/docs-dev/sass/components/horizontal-rule/index.html +0 -5798
  327. package/docs-dev/sass/components/image-grid/index.html +0 -5805
  328. package/docs-dev/sass/components/index/index.html +0 -5859
  329. package/docs-dev/sass/components/index.html +0 -5622
  330. package/docs-dev/sass/components/links/index.html +0 -5649
  331. package/docs-dev/sass/components/list-inline/index.html +0 -5819
  332. package/docs-dev/sass/components/list-lines/index.html +0 -5840
  333. package/docs-dev/sass/components/list-ordered/index.html +0 -5645
  334. package/docs-dev/sass/components/list-unordered/index.html +0 -5649
  335. package/docs-dev/sass/components/menu-stack/index.html +0 -5992
  336. package/docs-dev/sass/components/modal/index.html +0 -6068
  337. package/docs-dev/sass/components/nav-strip/index.html +0 -5899
  338. package/docs-dev/sass/components/overlay-section/index.html +0 -5843
  339. package/docs-dev/sass/components/pager/index.html +0 -5961
  340. package/docs-dev/sass/components/panel/index.html +0 -6033
  341. package/docs-dev/sass/components/placeholder-block/index.html +0 -5883
  342. package/docs-dev/sass/components/popover/index.html +0 -5994
  343. package/docs-dev/sass/components/pull-quote/index.html +0 -5857
  344. package/docs-dev/sass/components/rail/index.html +0 -5823
  345. package/docs-dev/sass/components/ratio-box/index.html +0 -5803
  346. package/docs-dev/sass/components/rule/index.html +0 -5805
  347. package/docs-dev/sass/components/scroll-slider/index.html +0 -5904
  348. package/docs-dev/sass/components/skeleton/index.html +0 -5860
  349. package/docs-dev/sass/components/skip-link/index.html +0 -5789
  350. package/docs-dev/sass/components/slider/index.html +0 -5913
  351. package/docs-dev/sass/components/spoke-spinner/index.html +0 -5863
  352. package/docs-dev/sass/components/sticky-list/index.html +0 -6023
  353. package/docs-dev/sass/components/table-sticky/index.html +0 -5677
  354. package/docs-dev/sass/components/tabs/index.html +0 -5954
  355. package/docs-dev/sass/components/tag/index.html +0 -5964
  356. package/docs-dev/sass/components/tile-button/index.html +0 -5844
  357. package/docs-dev/sass/components/tile-grid/index.html +0 -5979
  358. package/docs-dev/sass/components/tile-grid-overlay/index.html +0 -5780
  359. package/docs-dev/sass/components/vignette/index.html +0 -5799
  360. package/docs-dev/sass/components/wysiwyg/index.html +0 -5827
  361. package/docs-dev/sass/core/breakpoint/index.html +0 -6454
  362. package/docs-dev/sass/core/button/index.html +0 -6538
  363. package/docs-dev/sass/core/color/index.html +0 -6520
  364. package/docs-dev/sass/core/cssvar/index.html +0 -6411
  365. package/docs-dev/sass/core/element/index.html +0 -6816
  366. package/docs-dev/sass/core/index.html +0 -5609
  367. package/docs-dev/sass/core/layout/index.html +0 -6388
  368. package/docs-dev/sass/core/path/index.html +0 -5778
  369. package/docs-dev/sass/core/selector/index.html +0 -5857
  370. package/docs-dev/sass/core/typography/index.html +0 -6783
  371. package/docs-dev/sass/core/units/index.html +0 -5822
  372. package/docs-dev/sass/core/utils/index.html +0 -8406
  373. package/docs-dev/sass/helpers/color/index.html +0 -5644
  374. package/docs-dev/sass/helpers/display/index.html +0 -5649
  375. package/docs-dev/sass/helpers/index/index.html +0 -5811
  376. package/docs-dev/sass/helpers/index.html +0 -5622
  377. package/docs-dev/sass/helpers/print/index.html +0 -5199
  378. package/docs-dev/sass/helpers/typography/index.html +0 -5672
  379. package/docs-dev/sass/helpers/units/index.html +0 -5818
  380. package/docs-dev/sass/helpers/utilities/index.html +0 -5649
  381. package/docs-dev/sass/index.html +0 -5673
  382. package/index.js +0 -7
  383. package/js/events/index.js +0 -108
  384. package/js/index.js +0 -11
  385. package/js/ui/index.js +0 -22
  386. package/js/utils/index.js +0 -8
  387. package/resources/drupal/twig-macros/accordion.twig +0 -99
  388. package/resources/drupal/twig-macros/dropdown.twig +0 -44
  389. package/resources/drupal/twig-macros/flipcard.twig +0 -69
  390. package/resources/drupal/twig-macros/image.twig +0 -30
  391. package/resources/drupal/twig-macros/layout.twig +0 -338
  392. package/resources/drupal/twig-macros/slider.twig +0 -214
  393. package/resources/drupal/twig-macros/tabs.twig +0 -84
  394. package/scss/components/_accordion.scss +0 -231
  395. package/types/events/index.d.ts +0 -26
  396. package/types/events/index.d.ts.map +0 -1
  397. package/types/index.d.ts +0 -5
  398. package/types/settings.d.ts.map +0 -1
  399. package/types/ui/breakpoints.d.ts.map +0 -1
  400. package/types/ui/collapsible.d.ts.map +0 -1
  401. package/types/ui/details-group.d.ts.map +0 -1
  402. package/types/ui/dialog.d.ts.map +0 -1
  403. package/types/ui/flipcard.d.ts.map +0 -1
  404. package/types/ui/grid.d.ts.map +0 -1
  405. package/types/ui/index.d.ts +0 -24
  406. package/types/ui/modal-builder.d.ts.map +0 -1
  407. package/types/ui/overflow-scroller-pager.d.ts.map +0 -1
  408. package/types/ui/overflow-scroller.d.ts.map +0 -1
  409. package/types/ui/page.d.ts.map +0 -1
  410. package/types/ui/popover.d.ts.map +0 -1
  411. package/types/ui/print-details.d.ts.map +0 -1
  412. package/types/ui/print.d.ts.map +0 -1
  413. package/types/ui/programmatic-modal.d.ts.map +0 -1
  414. package/types/ui/proxy-click.d.ts.map +0 -1
  415. package/types/ui/resizer.d.ts.map +0 -1
  416. package/types/ui/scroll-slider.d.ts.map +0 -1
  417. package/types/ui/scrollpoint.d.ts.map +0 -1
  418. package/types/ui/slider.d.ts.map +0 -1
  419. package/types/ui/tabs.d.ts.map +0 -1
  420. package/types/ui/theme-toggle.d.ts.map +0 -1
  421. package/types/ui/tooltip.d.ts.map +0 -1
  422. package/types/utils/class-logger.d.ts.map +0 -1
  423. package/types/utils/css.d.ts.map +0 -1
  424. package/types/utils/dom.d.ts.map +0 -1
  425. package/types/utils/file-save.d.ts.map +0 -1
  426. package/types/utils/floating-ui.d.ts.map +0 -1
  427. package/types/utils/font-awesome.d.ts.map +0 -1
  428. package/types/utils/id.d.ts.map +0 -1
  429. package/types/utils/index.d.ts +0 -10
  430. package/types/utils/pause-youtube-video.d.ts.map +0 -1
  431. package/types/utils/system.d.ts.map +0 -1
  432. /package/{types → dist/types/core}/settings.d.ts +0 -0
  433. /package/{types → dist/types}/ui/collapsible.d.ts +0 -0
  434. /package/{types → dist/types}/ui/overflow-scroller-pager.d.ts +0 -0
  435. /package/{types → dist/types}/ui/overflow-scroller.d.ts +0 -0
  436. /package/{types → dist/types}/ui/page.d.ts +0 -0
  437. /package/{types → dist/types}/ui/print-details.d.ts +0 -0
  438. /package/{types → dist/types}/ui/print.d.ts +0 -0
  439. /package/{types → dist/types}/utils/class-logger.d.ts +0 -0
  440. /package/{types → dist/types}/utils/css.d.ts +0 -0
  441. /package/{types → dist/types}/utils/dom.d.ts +0 -0
  442. /package/{types → dist/types}/utils/floating-ui.d.ts +0 -0
  443. /package/{types → dist/types}/utils/font-awesome.d.ts +0 -0
  444. /package/{types → dist/types}/utils/id.d.ts +0 -0
  445. /package/{types → dist/types}/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,607 +0,0 @@
1
- // =============================================================================
2
- // Collapsibles Mini
3
- // =============================================================================
4
-
5
- // Version: 1.0.9
6
- //
7
- // Requires: Ally.js v1.4.1
8
-
9
- // Changes: 1.0.2 | Added clickWithinCloses
10
- // 1.0.3 | Tested In NVDA on Firefox Windows (everything works for basic and accordion)
11
- // 1.0.4 | Fixed duplicate ID, remove incorrect aria-selected attr
12
- // 1.0.5 | Converted to ES module
13
- // 1.0.6 | Added the ability to change the toggle text with [data-cc-state-text]
14
- // 1.0.7 | Added ability to fade instead of just slide
15
- // 1.0.8 | Added dependency ally.js for focus trapping, and added
16
- // option for closeOnEscape.
17
- // 1.0.9 | Added event object from click/keyboard that caused change
18
-
19
- // Description: Mini collapsible module that supports basic show and hide
20
- // and accordions. This is not maintained with the Informatics
21
- // core module Collapsibles but works similarly, based on
22
- // version 4.0.7.
23
- // - Handlers are attached to the document for convenience.
24
- // - Self managed option exists for those that want to manage the click handlers.
25
- // - Callbacks for change in state (before and after)
26
- // - Type support:
27
- // - hide/show
28
- // - accordion
29
- // - tabs (with keyboard controls) @coming-soon
30
-
31
- // Support: - Built to work in legacy jQuery 1.12 (may not work in newer versions)
32
- // - Uses ES5 include polyfill for:
33
- // - Array.every(), Array.forEach()
34
- // - Object.assign
35
- // - Function.bind()
36
-
37
- // Options: See the "defaults" object below for options and descriptions. All default
38
- // properties can be modified and viewed at MiniCollapsibles.defaults [object]
39
-
40
-
41
- // Setup: 1. Create the correct markup (see below)
42
- // - This plugin will set the aria attributes for you with one exception
43
- // if an element is added to the page after calling the constructor
44
- // you will need to run instance.init(); to do the same for new elements.
45
- // For convenience the module provides a method to update all instances with:
46
- //
47
- // MiniCollapsibles.parse()
48
- //
49
- // - This can be avoided by including the aria attributes in the HTML
50
- // use the ariaStates object below for reference on what attributes
51
- // should be set initially (based on if you want it open or closed)
52
- // 2. Setup an instance by calling the constructor:
53
- //
54
- // var dropdown = new MiniCollapsible({
55
- // container: '.collapsible',
56
- // toggle: '.collapsible__toggle',
57
- // content: '.collapsible__content',
58
- // slide: 500
59
- // });
60
- //
61
- // 3. Setup the CSS, the only requirement is adding display none when closed
62
- // on the content container:
63
-
64
- // .collapsible__content {
65
- // display: none;
66
- // }
67
- // .collapsible__content[data-cc-state="open"] {
68
- // display: block;
69
- // }
70
- //
71
- // Markup: See comments below code
72
-
73
-
74
- // Todo: - Tabs type (time permitting)
75
- // - Add arrow key cycler from framework collapsible module
76
-
77
- import maintain from 'ally.js/maintain/_maintain';
78
- import { hasRequiredProps } from "@ulu/utils/object.js";
79
-
80
- const requiredProps = ['selectorContainer', 'selectorToggle', 'selectorContent'];
81
- const hasRequired = hasRequiredProps(requiredProps);
82
- const $ = jQuery;
83
- const $document = $(document);
84
- const merge = Object.assign;
85
- const elementsFocusable = [
86
- 'a[href]',
87
- 'button:not([disabled])',
88
- 'area[href]',
89
- 'input:not([disabled])',
90
- 'select:not([disabled])',
91
- 'textarea:not([disabled])',
92
- 'iframe','object',
93
- 'embed','*[tabindex]',
94
- '*[contenteditable]'
95
- ];
96
- const selectorFocusable = elementsFocusable.join(' ');
97
- const dataKeyParsed = "MiniCollapsibleInit";
98
- const defaults = {
99
- idPrefix: 'mc-id--', // So user can adjust if needed
100
- selectorContainer: null, // (required, string) Selector
101
- selectorToggle: null, // see above
102
- selectorContent: null, // see above
103
- selectorContext: 'body', // (string) Selector for container that holds multiple collapsibles (oneOpenPerContext)
104
- aria: true, // (boolean) Toggle aria attributes for accessibility
105
- selfManaged: false, // (boolean) The module will not handle the clicks (Attach yourself and run methods yourself)
106
- clickOutsideCloses: false, // Will close the collapsible if it's open and the user clicks outside, not available to self managed
107
- clickWithinCloses: false, // Useful for menus
108
- focusoutCloses: false, // Focusing away from the element closes it
109
- closeOnEscape: false, // Add escape key handler when collapsible is open
110
- onChangeBefore: null, // Callback(elements, newState, event) called before open/closed/toggled
111
- onChangeAfter: null, // Callback(elements, newState, event) called after open/closed/toggled
112
- attr: 'data-cc-state', // The attribute to use to indicate the state (for styling), for adding a class use the callbacks
113
- slide: false, // Whether or not to use jQuery slide animation pass value for duration or false, also can use keywords
114
- fade: false, // Whether or not to use jQuery fadeIn/Out animation pass value for duration or false, also can use keywords (Cannot slide and fade)
115
- oneOpenPerContext: false, // If enabled the selector for "context" will be used to close all others before opening a new one
116
- closeBeforeOpen: true, // The closing of other items in the context (may be expanded to other things in future) should be done before opening another
117
- type: 'basic', // The type of collapsible (basic, accordion, tabs[not created yet])
118
- trapFocus: false // Only allow focusing within the open collapsible
119
- };
120
- // Object holds info for plugin internally
121
- const managed = {
122
- all: [],
123
- click: {
124
- // ".container-selector .toggle-selector" : { instance object }
125
- },
126
- clickOutside: {
127
- // ".container-selector .toggle-selector" : { instance object }
128
- },
129
- clickWithin: {
130
- // ".container-selector .toggle-selector" : { instance object }
131
- }
132
- };
133
- let ariaStates = {
134
- basic: {
135
- init: { // Dev note: Use this property to add specific props for this type (non dynamic like aria-role, etc)
136
- toggle: null,
137
- content: null,
138
- container: null,
139
- callback: null // Dev note: Use this for doing custom stuff
140
- },
141
- open: {
142
- toggle: {
143
- 'aria-expanded' : 'true',
144
- },
145
- content: {
146
- 'aria-hidden' : 'false'
147
- }
148
- },
149
- closed: {
150
- toggle: {
151
- 'aria-expanded' : 'false',
152
- },
153
- content: {
154
- 'aria-hidden' : 'true'
155
- }
156
- }
157
- }
158
- };
159
- let instanceCount = 0;
160
-
161
- // Adding other merged Aria States
162
- ariaStates.accordion = merge({}, ariaStates.basic, {
163
- init: {
164
- callback: function(elements) {
165
- if (elements.index === 0) {
166
- elements.context.attr('aria-label', 'Accordion Control Group Buttons');
167
- }
168
- }
169
- }
170
- });
171
-
172
-
173
-
174
- class MiniCollapsible {
175
- constructor(options) {
176
- if (!hasRequired(options)) {
177
- console.warn('MiniCollapsible: Missing required options:', options);
178
- }
179
-
180
- merge(this, defaults, options);
181
- managed.all.push(this); // Register
182
-
183
- // Click handlers
184
- if (!this.selfManaged) {
185
- var clickSelector = this.clickSelector();
186
- managed.click[clickSelector] = this;
187
-
188
- if (this.clickOutsideCloses) {
189
- managed.clickOutside[clickSelector] = this;
190
- }
191
- if (this.clickWithinCloses) {
192
- managed.clickWithin[this.clickSelectorWithin()] = this;
193
- }
194
- }
195
-
196
- this.init();
197
- }
198
- // Plugin Interface to re-parse plugin managed collapsibles
199
- static parse() {
200
- var all = managed.all;
201
- for(var k = 0, l = all.length; k < l; k++) {
202
- all[k].init();
203
- }
204
- }
205
- clickSelector() {
206
- return this.selectorContainer + ' ' + this.selectorToggle;
207
- }
208
- clickSelectorWithin() {
209
- return this.selectorContainer + ' ' + this.selectorContent;
210
- }
211
- openSelector() {
212
- return this.selectorContainer + '[' + this.attr + '="open"]';
213
- }
214
- handleClick(event, $toggle) {
215
- var elements = this.getElements($toggle);
216
- this.toggle(elements, event);
217
- }
218
- getElements($toggle) {
219
-
220
- var $container = $toggle.closest(this.selectorContainer),
221
- $content = $container.find(this.selectorContent).first();
222
- return {
223
- container: $container,
224
- toggle: $toggle,
225
- content: $content,
226
- context: $container.closest(this.selectorContext),
227
- all: $container.add($toggle).add($content)
228
- };
229
- }
230
- getElementsFromContainer($container) {
231
- var $toggle = $container.find(this.selectorToggle).first(),
232
- $content = $container.find(this.selectorContent).first();
233
- return {
234
- container: $container,
235
- toggle: $toggle,
236
- content: $content,
237
- context: $container.closest(this.selectorContext),
238
- all: $container.add($toggle).add($content)
239
- };
240
- }
241
- getElementsFromContent($content) {
242
- var $container = $content.closest(this.selectorContainer),
243
- $toggle = $container.find(this.selectorToggle).first();
244
- return {
245
- container: $container,
246
- toggle: $toggle,
247
- content: $content,
248
- context: $container.closest(this.selectorContext),
249
- all: $container.add($toggle).add($content)
250
- };
251
- }
252
- getElementsArray($container) {
253
- // Expects multiple containers returns arrays of elements objects
254
- var self = this,
255
- elementsArray = [];
256
-
257
- function collect() {
258
- elementsArray.push(self.getElementsFromContainer($(this)));
259
- }
260
-
261
- $container.each(collect);
262
- return elementsArray;
263
- }
264
- getOtherElements({ container, content, toggle }) {
265
-
266
- var $context = container.closest(this.selectorContext),
267
- $container = $context.find(this.selectorContainer).not(container),
268
- $toggle = $context.find(this.selectorToggle).not(toggle),
269
- $content = $context.find(this.selectorContent).not(content);
270
-
271
- return {
272
- container: $container,
273
- toggle: $toggle,
274
- content: $content,
275
- context: $context,
276
- all: $container.add($toggle).add($content)
277
- };
278
- }
279
- // Switched the state
280
- toggle(elements, event) {
281
- const state = this.getState(elements),
282
- isOpening = state === "closed",
283
- changeTo = isOpening ? "open" : "closed",
284
- change = () => this.setState(elements, changeTo, event);
285
- if (isOpening && this.oneOpenPerContext) {
286
- if (this.closeBeforeOpen) {
287
- this.setState(this.getOtherElements(elements), "closed", event, change);
288
- } else {
289
- this.setState(this.getOtherElements(elements), "closed", event);
290
- change();
291
- }
292
- } else {
293
- change();
294
- }
295
- }
296
- setState(elements, state, event, onComplete) {
297
- const handleComplete = () => onComplete && onComplete();
298
- // Don't want to fire callbacks if no changes were made
299
- if (!elements.container.length) return handleComplete();
300
-
301
- // Callback after element is open/closed
302
- const after = () => {
303
- elements.all.attr(this.attr, state);
304
- if (this.onChangeAfter) {
305
- this.onChangeAfter.call(this, elements, state, event);
306
- }
307
- if (this.aria) {
308
- this.setAriaAttr(elements, state);
309
- }
310
- if (this.trapFocus) {
311
- this.setTrapFocus(elements, state);
312
- }
313
- if (this.closeOnEscape) {
314
- this.setEscapeClose(elements, state);
315
- }
316
- if (this.focusoutCloses) {
317
- this.setFocusoutCloses(elements, state);
318
- }
319
-
320
- // Change the toggle text if user passes state text object
321
- const textState = elements.toggle.data('cc-state-text');
322
- if (textState) {
323
- elements.toggle.text(textState[state]);
324
- }
325
- handleComplete();
326
- }
327
- // Change the state and call callback
328
- if (this.onChangeBefore) {
329
- this.onChangeBefore.call(this, elements, state, event);
330
- }
331
- if (this.slide) {
332
- elements.content[state === "open" ? "slideDown" : "slideUp"](this.slide, after);
333
- } else if (this.fade) {
334
- elements.content[state === "open" ? "fadeIn" : "fadeOut"](this.slide, after);
335
- } else {
336
- after();
337
- }
338
- }
339
- getState({ content }) {
340
- return content.attr(this.attr) || "closed";
341
- }
342
- setAriaAttr(elements, state, setImmutable) {
343
-
344
- var ariaAttrs = ariaStates[this.type],
345
- ariaInit = ariaAttrs.init,
346
- ariaState = ariaAttrs[state],
347
- toggleAttrs = ariaState.toggle,
348
- contentAttrs = ariaState.content;
349
-
350
- if (setImmutable) {
351
-
352
- var tid = this.uniqueId(),
353
- cid = this.uniqueId();
354
-
355
- toggleAttrs = merge(toggleAttrs, ariaInit.toggle, {
356
- "id": tid,
357
- "aria-controls" : cid,
358
- });
359
-
360
- contentAttrs = merge(contentAttrs, ariaInit.content, {
361
- "id": cid,
362
- "aria-labelledby" : tid
363
- });
364
-
365
- if (ariaInit.container) {
366
- elements.container.attr(ariaInit.container);
367
- }
368
- if (ariaInit.context) {
369
- elements.context.attr(ariaInit.context);
370
- }
371
- // Do custom stuff
372
- if (ariaInit.callback) {
373
- ariaInit.callback.call(this, elements);
374
- }
375
- }
376
-
377
- elements.toggle.attr(toggleAttrs);
378
- elements.content.attr(contentAttrs);
379
- }
380
- /**
381
- * Attaches temporary ally handler for disabling
382
- * focus outside of the collapsible instance
383
- * @param {Object} elements
384
- * @param {String} state
385
- */
386
- setTrapFocus(elements, state) {
387
- const filter = elements.container.get(0);
388
- if (state === "open") {
389
- this._focusTrapHandler = maintain.disabled({ filter });
390
- } else if (this.focusTrapHandler) {
391
- this._focusTrapHandler.disengage();
392
- delete this._focusTrapHandler;
393
- }
394
- }
395
- /**
396
- * Attaches temporary handler for the escape key
397
- * while the collapsible is open. Removing it when
398
- * it closes.
399
- * @param {Object} elements
400
- * @param {String} state
401
- */
402
- setEscapeClose(elements, state) {
403
- const { container } = elements;
404
- if (state === "open") {
405
- this._escapeCloseHandler = e => {
406
- if (e.keyCode === 27) {
407
- this.setState(elements, "closed", e);
408
- container.off('keyup', handler);
409
- delete this._escapeCloseHandler;
410
- }
411
- };
412
- container.on('keyup', this._escapeCloseHandler);
413
- } else if (this._escapeCloseHandler) {
414
- container.off('keyup', this._escapeCloseHandler);
415
- delete this._escapeCloseHandler;
416
- }
417
- }
418
- setFocusoutCloses(elements, state) {
419
- const { container } = elements;
420
- if (state === "open") {
421
- this._focusoutClosesHandler = e => {
422
- if (!container.get(0).contains(e.relatedTarget)) {
423
- console.log('Closed due to focu out');
424
- this.setState(elements, "closed", e);
425
- delete this._focusoutClosesHandler;
426
- }
427
- };
428
- container.on('focusout', this._focusoutClosesHandler);
429
- } else if (this._focusoutClosesHandler) {
430
- container.off('focusout', this._focusoutClosesHandler);
431
- delete this._focusoutClosesHandler;
432
- }
433
- }
434
- init() {
435
- this.each(this.initElementSet);
436
- }
437
- initElementSet(elements) {
438
- // Check if they are already setting attributes if not set them
439
- if (elements.container.data(dataKeyParsed)) {
440
- return;
441
- }
442
- var state = this.getState(elements);
443
- this.setAriaAttr(elements, state, true);
444
- elements.container.data(dataKeyParsed, true);
445
- }
446
- each(callback) {
447
-
448
- $(this.selectorContainer).each(eachContainer.bind(this));
449
-
450
- function eachContainer(index, container) {
451
- var $container = $(container),
452
- $toggle = $container.find(this.selectorToggle).first(),
453
- $content = $container.find(this.selectorContent).first();
454
-
455
- var elements = {
456
- container: $container,
457
- toggle: $toggle,
458
- content: $content,
459
- index: index,
460
- context: $container.closest(this.selectorContext),
461
- all: $container.add($toggle).add($content)
462
- };
463
-
464
- callback.call(this, elements);
465
- }
466
- }
467
- // Function should test DOM for an ID and return one that doesn't exist.
468
- // - User can override this function if needed
469
- uniqueId(attempt) {
470
-
471
- attempt = attempt === undefined ? 1 : ++attempt;
472
-
473
- var id = this.idPrefix + (++instanceCount),
474
- el = $('#' + id);
475
-
476
- // Check to make sure this ID isn't in the DOM (try again)
477
- // The attempt limit is so this doesn't go into infinite loop for some
478
- // reason (very unlikely but it didn't feel right leaving the
479
- // opportunity to loop forever)
480
- if (el.length && attempt < 50) {
481
- return this.uniqueId(attempt);
482
- } else {
483
- return id;
484
- }
485
- }
486
- }
487
-
488
- // Attaching properties to class so user can modify globally
489
- MiniCollapsible.defaults = defaults;
490
- MiniCollapsible.ariaStates = ariaStates;
491
- MiniCollapsible.managed = managed;
492
-
493
- $document.on('click', onClick); // Module click handler
494
-
495
- // Internal Functions
496
- // =============================================================================
497
-
498
- function onClick(event) {
499
- var $target = $(event.target),
500
- selector,
501
- $toggle,
502
- $content,
503
- instance,
504
- elements;
505
-
506
-
507
- // Check for open instances before changing new ones
508
- for (selector in managed.clickOutside) {
509
- // Need to select all open
510
- instance = managed.clickOutside[selector];
511
- ifOutsideClose(instance, $target, event);
512
- }
513
- // Check all instances
514
- for (selector in managed.click) {
515
- $toggle = $target.closest(selector);
516
- if ($toggle.length) {
517
- instance = managed.click[selector];
518
- instance.handleClick(event, $toggle);
519
- }
520
- }
521
- // check Click within and close
522
- for (selector in managed.clickWithin) {
523
- $content = $target.closest(selector);
524
- if ($content.length) {
525
- instance = managed.clickWithin[selector];
526
- elements = instance.getElementsFromContent($content);
527
- instance.setState(elements, 'closed', event);
528
- }
529
- }
530
- }
531
- function ifOutsideClose(self, $target, event) {
532
- // Decide if the current click target is a toggle
533
- var cont = self.selectorContainer,
534
- contOpen = self.openSelector(),
535
- $targetContainer = $target.parents(cont).addBack(cont),
536
- $openContainer = $document.find(contOpen).not($targetContainer);
537
-
538
- // Then close the open containers
539
- if ($openContainer.length) {
540
- var elementsArray = self.getElementsArray($openContainer);
541
- for(var i = 0; i < elementsArray.length; i++){
542
- self.setState(elementsArray[i], "closed", event);
543
- }
544
- }
545
- }
546
-
547
- export default MiniCollapsible;
548
-
549
- /*
550
- Markup Example:
551
-
552
- <!-- Basic Hide and Show -->
553
- <div class="collapsible" data-cc-state="closed">
554
- <button class="collapsible__toggle" type="button" data-cc-state="closed" data-cc-state-text='{ "open" : "Hide Filters", "closed" : "Show Filters" }'>
555
- Open Me
556
- </button>
557
- <div class="collapsible__content" data-cc-state="closed">
558
- <p>
559
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam eu molestie est. Proin ante augue, sollicitudin at diam sed, ullamcorper vehicula libero. Vestibulum hendrerit, arcu eget viverra imperdiet, ipsum nunc consectetur sapien, eu tincidunt velit leo vel neque. Quisque sit amet venenatis turpis. Donec ac faucibus nisi. Aliquam nec rhoncus
560
- </p>
561
- </div>
562
- </div>
563
-
564
- <!-- Example accordion -->
565
- <ul class="accordion">
566
- <li class="accordion__item" data-cc-state="open">
567
- <button class="accordion__toggle" data-cc-state="open" type="button">
568
- <strong>Toggle the accordion</strong>
569
- </button>
570
- <div class="accordion__content" data-cc-state="open">
571
- <p>
572
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam eu molestie est. Proin ante augue, sollicitudin at diam sed, ullamcorper vehicula libero. Vestibulum hendrerit, arcu eget viverra imperdiet, ipsum nunc consectetur sapien, eu tincidunt velit leo vel neque. Quisque sit amet venenatis turpis. Donec ac faucibus nisi. Aliquam nec rhoncus turpis, sit amet euismod sem. Morbi facilisis, ipsum eget fermentum interdum, ligula diam tincidunt nisi, eu auctor lacus sem maximus erat. Sed at metus ex. Nam vestibulum convallis magna, et ultricies eros suscipit non. Quisque ornare semper ipsum vitae tempor. Aliquam semper ante leo, eget pretium nisi fringilla quis.
573
- </p>
574
- </div>
575
- </li>
576
- <li class="accordion__item" data-cc-state="closed">
577
- <button class="accordion__toggle" data-cc-state="closed">
578
- <strong>Toggle the accordion</strong>
579
- </button>
580
- <div class="accordion__content" data-cc-state="closed">
581
- <p>
582
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam eu molestie est. Proin ante augue, sollicitudin at diam sed, ullamcorper vehicula libero. Vestibulum hendrerit, arcu eget viverra imperdiet, ipsum nunc consectetur sapien, eu tincidunt velit leo vel neque. Quisque sit amet venenatis turpis. Donec ac faucibus nisi. Aliquam nec rhoncus turpis, sit amet euismod sem. Morbi facilisis, ipsum eget fermentum interdum, ligula diam tincidunt nisi, eu auctor lacus sem maximus erat. Sed at metus ex. Nam vestibulum convallis magna, et ultricies eros suscipit non. Quisque ornare semper ipsum vitae tempor. Aliquam semper ante leo, eget pretium nisi fringilla quis.
583
- </p>
584
- </div>
585
- </li>
586
- <li class="accordion__item" data-cc-state="closed">
587
- <button class="accordion__toggle" data-cc-state="closed">
588
- <strong>Toggle the accordion</strong>
589
- </button>
590
- <div class="accordion__content" data-cc-state="closed">
591
- <p>
592
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam eu molestie est. Proin ante augue, sollicitudin at diam sed, ullamcorper vehicula libero. Vestibulum hendrerit, arcu eget viverra imperdiet, ipsum nunc consectetur sapien, eu tincidunt velit leo vel neque. Quisque sit amet venenatis turpis. Donec ac faucibus nisi. Aliquam nec rhoncus turpis, sit amet euismod sem. Morbi facilisis, ipsum eget fermentum interdum, ligula diam tincidunt nisi, eu auctor lacus sem maximus erat. Sed at metus ex. Nam vestibulum convallis magna, et ultricies eros suscipit non. Quisque ornare semper ipsum vitae tempor. Aliquam semper ante leo, eget pretium nisi fringilla quis.
593
- </p>
594
- </div>
595
- </li>
596
- <li class="accordion__item" data-cc-state="closed">
597
- <button class="accordion__toggle" data-cc-state="closed">
598
- <strong>Toggle the accordion</strong>
599
- </button>
600
- <div class="accordion__content" data-cc-state="closed">
601
- <p>
602
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam eu molestie est. Proin ante augue, sollicitudin at diam sed, ullamcorper vehicula libero. Vestibulum hendrerit, arcu eget viverra imperdiet, ipsum nunc consectetur sapien, eu tincidunt velit leo vel neque. Quisque sit amet venenatis turpis. Donec ac faucibus nisi. Aliquam nec rhoncus turpis, sit amet euismod sem. Morbi facilisis, ipsum eget fermentum interdum, ligula diam tincidunt nisi, eu auctor lacus sem maximus erat. Sed at metus ex. Nam vestibulum convallis magna, et ultricies eros suscipit non. Quisque ornare semper ipsum vitae tempor. Aliquam semper ante leo, eget pretium nisi fringilla quis.
603
- </p>
604
- </div>
605
- </li>
606
- </ul>
607
- */
@@ -1,78 +0,0 @@
1
- /**
2
- * @module helpers/node-data-manager
3
- */
4
-
5
- /**
6
- * Class that provides a method to store data based on node/element
7
- */
8
- export default class NodeDataManager {
9
- constructor() {
10
- this.store = [];
11
- }
12
- /**
13
- * Get data for an element/node
14
- * @param {Node} node Html Node/Element to get data for
15
- * @param {String|Boolean} key If key is passed, return that key's data for the element, if falsey return elements complete dataset
16
- */
17
- get(node, key = false) {
18
- const nodeData = this.find(node);
19
- if (nodeData) {
20
- return nodeData.get(key);
21
- }
22
- }
23
- /**
24
- * Bind data to a specific Node/Element
25
- * @param {Node} node Html Node/Element to get data for
26
- * @param {String} key Key to save the data under
27
- * @param {*} value Value to save
28
- */
29
- set(node, key, value) {
30
- const nodeData = this.find(node);
31
- if (nodeData) {
32
- nodeData.set(key, value);
33
- } else {
34
- this.store.push(new NodeDataStore(node, { [key] : value }));
35
- }
36
- }
37
- /**
38
- * Return an elements store object
39
- */
40
- find(node) {
41
- return this.store.find(nd => nd.isNode(node));
42
- }
43
- /**
44
- * Destroy all references to data and nodes/elements
45
- */
46
- destroy() {
47
- this.store.forEach(nd => nd.destroy());
48
- this.store = [];
49
- }
50
- }
51
- /**
52
- * Child class that provides a store for one specific node/element
53
- */
54
- export class NodeDataStore {
55
- constructor(node, data) {
56
- this.node = node;
57
- this.data = data || {}; // Lookup
58
- }
59
- set(key, value) {
60
- this.data[key] = value;
61
- }
62
- get(key = false) {
63
- return key ? this.data[key] : this.data;
64
- }
65
- remove(key) {
66
- delete this.data[key];
67
- }
68
- isNode(node) {
69
- return this.node.isSameNode(node);
70
- }
71
- clearData() {
72
- this.data = {};
73
- }
74
- destroy() {
75
- this.clearData();
76
- this.node = null;
77
- }
78
- }