@pnx-mixtape/mxds 0.0.2 → 0.0.3

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 (183) hide show
  1. package/README.md +13 -13
  2. package/dist/build/accordion.css +1 -108
  3. package/dist/build/accordion.entry.js +1 -0
  4. package/dist/build/base.css +1 -1000
  5. package/dist/build/breadcrumb.css +1 -47
  6. package/dist/build/button.css +1 -126
  7. package/dist/build/callout.css +1 -11
  8. package/dist/build/card.css +1 -135
  9. package/dist/build/chunks/disclosure-widget-CfhDmuvA.js +1 -0
  10. package/dist/build/chunks/keyboard-Cs0cduxq.js +1 -0
  11. package/dist/build/chunks/polyfills-DUM8gN-6.js +1 -0
  12. package/dist/build/chunks/popover-BGbvrIUp.js +1 -0
  13. package/dist/build/chunks/utilities-Bzel_okZ.js +2 -0
  14. package/dist/build/constants.css +1 -120
  15. package/dist/build/container-grid.css +1 -207
  16. package/dist/build/content-block.css +1 -23
  17. package/dist/build/dialog.css +1 -98
  18. package/dist/build/dialog.entry.js +1 -0
  19. package/dist/build/drop-menu.css +1 -78
  20. package/dist/build/drop-menu.entry.js +1 -0
  21. package/dist/build/drupal.css +1 -74
  22. package/dist/build/footer-menu.css +1 -32
  23. package/dist/build/footer.css +1 -61
  24. package/dist/build/form.css +1 -589
  25. package/dist/build/grid.css +1 -200
  26. package/dist/build/header.css +1 -131
  27. package/dist/build/header.entry.js +1 -0
  28. package/dist/build/hero-banner.css +1 -62
  29. package/dist/build/icon.css +1 -399
  30. package/dist/build/in-page-alert.css +1 -94
  31. package/dist/build/in-page-alert.entry.js +1 -0
  32. package/dist/build/in-page-navigation.css +1 -17
  33. package/dist/build/in-page-navigation.entry.js +1 -0
  34. package/dist/build/index.css +1 -4980
  35. package/dist/build/link-list.css +1 -72
  36. package/dist/build/masthead.css +1 -39
  37. package/dist/build/nav-list.css +1 -29
  38. package/dist/build/navigation.css +1 -371
  39. package/dist/build/navigation.entry.js +1 -0
  40. package/dist/build/page.css +1 -184
  41. package/dist/build/pagination.css +1 -123
  42. package/dist/build/section.css +1 -160
  43. package/dist/build/sidebar.css +1 -105
  44. package/dist/build/sticky.css +1 -47
  45. package/dist/build/sticky.entry.js +1 -0
  46. package/dist/build/tabs.css +1 -106
  47. package/dist/build/tabs.entry.js +1 -0
  48. package/dist/build/tag.css +1 -67
  49. package/dist/build/tiles.css +1 -61
  50. package/dist/build/utilities.css +1 -175
  51. package/package.json +4 -3
  52. package/src/Atom/Background/_background.css +1 -22
  53. package/src/Atom/Blockquote/_blockquote.css +1 -1
  54. package/src/Atom/Button/README.md +3 -3
  55. package/src/Atom/Button/_buttons-styles.css +1 -1
  56. package/src/Atom/Button/_buttons.css +1 -1
  57. package/src/Atom/Heading/_headings.css +1 -1
  58. package/src/Atom/Icon/README.md +1 -1
  59. package/src/Atom/Icon/_extended-set.css +1 -1
  60. package/src/Atom/Icon/_icon.css +5 -5
  61. package/src/Atom/Image/_image.css +1 -1
  62. package/src/Atom/Link/_links.css +1 -1
  63. package/src/Atom/Media/_media.css +1 -1
  64. package/src/Atom/Media/media.twig +1 -5
  65. package/src/Atom/NavList/nav-list.css +1 -1
  66. package/src/Atom/README.md +1 -1
  67. package/src/Atom/Spacing/_spacing.css +1 -1
  68. package/src/Atom/Table/_table.css +1 -1
  69. package/src/Atom/Text/_text-align.css +1 -1
  70. package/src/Atom/Text/_text-sizes.css +1 -1
  71. package/src/Atom/Video/_video.css +1 -1
  72. package/src/Atom/Video/video.twig +10 -4
  73. package/src/Atom/_animated.css +1 -1
  74. package/src/Atom/_flow-legacy.css +1 -1
  75. package/src/Atom/_flow.css +1 -1
  76. package/src/Atom/_generic.css +1 -1
  77. package/src/Atom/_hr.css +1 -1
  78. package/src/Atom/base.css +2 -2
  79. package/src/Component/Accordion/README.md +7 -17
  80. package/src/Component/Accordion/accordion.css +2 -2
  81. package/src/Component/Accordion/accordion.entry.js +2 -0
  82. package/src/Component/Breadcrumb/breadcrumb.css +1 -1
  83. package/src/Component/Callout/callout.css +1 -1
  84. package/src/Component/Card/README.md +7 -13
  85. package/src/Component/Card/card.css +3 -3
  86. package/src/Component/ContentBlock/README.md +7 -13
  87. package/src/Component/ContentBlock/content-block.css +2 -2
  88. package/src/Component/Dialog/README.md +15 -49
  89. package/src/Component/Dialog/dialog.css +3 -3
  90. package/src/Component/Dialog/dialog.entry.js +1 -0
  91. package/src/Component/DropMenu/README.md +19 -4
  92. package/src/Component/DropMenu/drop-menu.css +1 -1
  93. package/src/Component/DropMenu/drop-menu.entry.js +1 -0
  94. package/src/Component/HeroBanner/hero-banner.css +1 -1
  95. package/src/Component/HeroBanner/hero-banner.twig +1 -0
  96. package/src/Component/InPageAlert/README.md +4 -4
  97. package/src/Component/InPageAlert/in-page-alert.css +2 -2
  98. package/src/Component/InPageAlert/in-page-alert.entry.js +1 -0
  99. package/src/Component/InPageNavigation/README.md +10 -15
  100. package/src/Component/InPageNavigation/in-page-navigation.css +2 -2
  101. package/src/Component/InPageNavigation/in-page-navigation.entry.js +1 -0
  102. package/src/Component/LinkList/README.md +3 -3
  103. package/src/Component/LinkList/link-list.css +1 -1
  104. package/src/Component/Navigation/README.md +16 -7
  105. package/src/Component/Navigation/_navigation-collapsible.css +1 -1
  106. package/src/Component/Navigation/_navigation-dropdown.css +1 -1
  107. package/src/Component/Navigation/_navigation-mega.css +1 -1
  108. package/src/Component/Navigation/_navigation.css +1 -1
  109. package/src/Component/Navigation/navigation.entry.js +1 -0
  110. package/src/Component/Pagination/README.md +3 -3
  111. package/src/Component/Pagination/pagination.css +1 -1
  112. package/src/Component/Sticky/README.md +12 -5
  113. package/src/Component/Sticky/sticky.css +2 -2
  114. package/src/Component/Sticky/sticky.entry.js +1 -0
  115. package/src/Component/Tabs/README.md +12 -4
  116. package/src/Component/Tabs/tabs.css +2 -2
  117. package/src/Component/Tabs/tabs.entry.js +1 -0
  118. package/src/Component/Tag/README.md +2 -2
  119. package/src/Component/Tag/tag.css +1 -1
  120. package/src/Component/Tile/tiles.css +1 -1
  121. package/src/Form/README.md +2 -2
  122. package/src/Form/form.css +12 -12
  123. package/src/Layout/Footer/FooterMenu/footer-menu.css +1 -1
  124. package/src/Layout/Footer/footer.css +1 -1
  125. package/src/Layout/Grid/container-grid.css +2 -2
  126. package/src/Layout/Grid/grid.css +2 -2
  127. package/src/Layout/Header/_header.css +1 -1
  128. package/src/Layout/Header/_toggles.css +1 -1
  129. package/src/Layout/Header/header.entry.js +1 -0
  130. package/src/Layout/Masthead/masthead.css +5 -5
  131. package/src/Layout/Masthead/masthead.twig +2 -2
  132. package/src/Layout/Page/README.md +2 -2
  133. package/src/Layout/Page/page.css +2 -2
  134. package/src/Layout/README.md +3 -2
  135. package/src/Layout/Section/section.css +4 -4
  136. package/src/Layout/Sidebar/sidebar.css +1 -1
  137. package/src/Utility/Drupal/README.md +1 -1
  138. package/src/Utility/README.md +1 -1
  139. package/src/Utility/_layout-utils.css +1 -1
  140. package/src/Utility/utilities.css +3 -3
  141. package/dist/build/Accordion.js +0 -61
  142. package/dist/build/Accordion.js.map +0 -1
  143. package/dist/build/AccordionDiv.js +0 -62
  144. package/dist/build/AccordionDiv.js.map +0 -1
  145. package/dist/build/AccordionGroup.js +0 -85
  146. package/dist/build/AccordionGroup.js.map +0 -1
  147. package/dist/build/AccordionMobile.js +0 -31
  148. package/dist/build/AccordionMobile.js.map +0 -1
  149. package/dist/build/Dialog.js +0 -116
  150. package/dist/build/Dialog.js.map +0 -1
  151. package/dist/build/DropMenu.js +0 -132
  152. package/dist/build/DropMenu.js.map +0 -1
  153. package/dist/build/GlobalToggle.js +0 -103
  154. package/dist/build/GlobalToggle.js.map +0 -1
  155. package/dist/build/InPageAlert.js +0 -61
  156. package/dist/build/InPageAlert.js.map +0 -1
  157. package/dist/build/InPageNavigation.js +0 -92
  158. package/dist/build/InPageNavigation.js.map +0 -1
  159. package/dist/build/Navigation.js +0 -126
  160. package/dist/build/Navigation.js.map +0 -1
  161. package/dist/build/Sticky.js +0 -63
  162. package/dist/build/Sticky.js.map +0 -1
  163. package/dist/build/Tabs.js +0 -164
  164. package/dist/build/Tabs.js.map +0 -1
  165. package/dist/build/breakpoint-loader.js +0 -52
  166. package/dist/build/breakpoint-loader.js.map +0 -1
  167. package/dist/build/chunks/js.cookie-CiMiGxWx.js +0 -101
  168. package/dist/build/chunks/js.cookie-CiMiGxWx.js.map +0 -1
  169. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +0 -749
  170. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +0 -1
  171. package/dist/build/chunks/popover-wbPSyFRj.js +0 -654
  172. package/dist/build/chunks/popover-wbPSyFRj.js.map +0 -1
  173. package/dist/build/chunks/utilities-BIk0P2KX.js +0 -61
  174. package/dist/build/chunks/utilities-BIk0P2KX.js.map +0 -1
  175. package/dist/build/cookie-compliance.js +0 -122
  176. package/dist/build/cookie-compliance.js.map +0 -1
  177. package/dist/build/disclosure-widget.js +0 -124
  178. package/dist/build/disclosure-widget.js.map +0 -1
  179. package/dist/build/io-loader.js +0 -44
  180. package/dist/build/io-loader.js.map +0 -1
  181. package/dist/build/keyboard.js +0 -101
  182. package/dist/build/keyboard.js.map +0 -1
  183. package/src/index.css +0 -27
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-wbPSyFRj.js","sources":["../../../node_modules/@oddbird/popover-polyfill/dist/popover.js"],"sourcesContent":["// src/events.ts\nvar ToggleEvent = class extends Event {\n oldState;\n newState;\n constructor(type, { oldState = \"\", newState = \"\", ...init } = {}) {\n super(type, init);\n this.oldState = String(oldState || \"\");\n this.newState = String(newState || \"\");\n }\n};\nvar popoverToggleTaskQueue = /* @__PURE__ */ new WeakMap();\nfunction queuePopoverToggleEventTask(element, oldState, newState) {\n popoverToggleTaskQueue.set(\n element,\n setTimeout(() => {\n if (!popoverToggleTaskQueue.has(element)) return;\n element.dispatchEvent(\n new ToggleEvent(\"toggle\", {\n cancelable: false,\n oldState,\n newState\n })\n );\n }, 0)\n );\n}\n\n// src/popover-helpers.ts\nvar ShadowRoot = globalThis.ShadowRoot || function() {\n};\nvar HTMLDialogElement = globalThis.HTMLDialogElement || function() {\n};\nvar topLayerElements = /* @__PURE__ */ new WeakMap();\nvar autoPopoverList = /* @__PURE__ */ new WeakMap();\nvar visibilityState = /* @__PURE__ */ new WeakMap();\nfunction getPopoverVisibilityState(popover) {\n return visibilityState.get(popover) || \"hidden\";\n}\nvar popoverInvoker = /* @__PURE__ */ new WeakMap();\nfunction popoverTargetAttributeActivationBehavior(element) {\n const popover = element.popoverTargetElement;\n if (!(popover instanceof HTMLElement)) {\n return;\n }\n const visibility = getPopoverVisibilityState(popover);\n if (element.popoverTargetAction === \"show\" && visibility === \"showing\") {\n return;\n }\n if (element.popoverTargetAction === \"hide\" && visibility === \"hidden\") return;\n if (visibility === \"showing\") {\n hidePopover(popover, true, true);\n } else if (checkPopoverValidity(popover, false)) {\n popoverInvoker.set(popover, element);\n showPopover(popover);\n }\n}\nfunction checkPopoverValidity(element, expectedToBeShowing) {\n if (element.popover !== \"auto\" && element.popover !== \"manual\") {\n return false;\n }\n if (!element.isConnected) return false;\n if (expectedToBeShowing && getPopoverVisibilityState(element) !== \"showing\") {\n return false;\n }\n if (!expectedToBeShowing && getPopoverVisibilityState(element) !== \"hidden\") {\n return false;\n }\n if (element instanceof HTMLDialogElement && element.hasAttribute(\"open\")) {\n return false;\n }\n if (document.fullscreenElement === element) return false;\n return true;\n}\nfunction getStackPosition(popover) {\n if (!popover) return 0;\n return Array.from(autoPopoverList.get(popover.ownerDocument) || []).indexOf(\n popover\n ) + 1;\n}\nfunction topMostClickedPopover(target) {\n const clickedPopover = nearestInclusiveOpenPopover(target);\n const invokerPopover = nearestInclusiveTargetPopoverForInvoker(target);\n if (getStackPosition(clickedPopover) > getStackPosition(invokerPopover)) {\n return clickedPopover;\n }\n return invokerPopover;\n}\nfunction topMostAutoPopover(document2) {\n const documentPopovers = autoPopoverList.get(document2);\n for (const popover of documentPopovers || []) {\n if (!popover.isConnected) {\n documentPopovers.delete(popover);\n } else {\n return popover;\n }\n }\n return null;\n}\nfunction getRootNode(node) {\n if (typeof node.getRootNode === \"function\") {\n return node.getRootNode();\n }\n if (node.parentNode) return getRootNode(node.parentNode);\n return node;\n}\nfunction nearestInclusiveOpenPopover(node) {\n while (node) {\n if (node instanceof HTMLElement && node.popover === \"auto\" && visibilityState.get(node) === \"showing\") {\n return node;\n }\n node = node instanceof Element && node.assignedSlot || node.parentElement || getRootNode(node);\n if (node instanceof ShadowRoot) node = node.host;\n if (node instanceof Document) return;\n }\n}\nfunction nearestInclusiveTargetPopoverForInvoker(node) {\n while (node) {\n const nodePopover = node.popoverTargetElement;\n if (nodePopover instanceof HTMLElement) return nodePopover;\n node = node.parentElement || getRootNode(node);\n if (node instanceof ShadowRoot) node = node.host;\n if (node instanceof Document) return;\n }\n}\nfunction topMostPopoverAncestor(newPopover) {\n const popoverPositions = /* @__PURE__ */ new Map();\n let i = 0;\n for (const popover of autoPopoverList.get(newPopover.ownerDocument) || []) {\n popoverPositions.set(popover, i);\n i += 1;\n }\n popoverPositions.set(newPopover, i);\n i += 1;\n let topMostPopoverAncestor2 = null;\n function checkAncestor(candidate) {\n const candidateAncestor = nearestInclusiveOpenPopover(candidate);\n if (candidateAncestor === null) return null;\n const candidatePosition = popoverPositions.get(candidateAncestor);\n if (topMostPopoverAncestor2 === null || popoverPositions.get(topMostPopoverAncestor2) < candidatePosition) {\n topMostPopoverAncestor2 = candidateAncestor;\n }\n }\n checkAncestor(newPopover.parentElement || getRootNode(newPopover));\n return topMostPopoverAncestor2;\n}\nfunction isFocusable(focusTarget) {\n if (focusTarget.hidden || focusTarget instanceof ShadowRoot) return false;\n if (focusTarget instanceof HTMLButtonElement || focusTarget instanceof HTMLInputElement || focusTarget instanceof HTMLSelectElement || focusTarget instanceof HTMLTextAreaElement || focusTarget instanceof HTMLOptGroupElement || focusTarget instanceof HTMLOptionElement || focusTarget instanceof HTMLFieldSetElement) {\n if (focusTarget.disabled) return false;\n }\n if (focusTarget instanceof HTMLInputElement && focusTarget.type === \"hidden\") {\n return false;\n }\n if (focusTarget instanceof HTMLAnchorElement && focusTarget.href === \"\") {\n return false;\n }\n return typeof focusTarget.tabIndex === \"number\" && focusTarget.tabIndex !== -1;\n}\nfunction focusDelegate(focusTarget) {\n if (focusTarget.shadowRoot && focusTarget.shadowRoot.delegatesFocus !== true) {\n return null;\n }\n let whereToLook = focusTarget;\n if (whereToLook.shadowRoot) {\n whereToLook = whereToLook.shadowRoot;\n }\n let autoFocusDelegate = whereToLook.querySelector(\"[autofocus]\");\n if (autoFocusDelegate) {\n return autoFocusDelegate;\n } else {\n const slots = whereToLook.querySelectorAll(\"slot\");\n for (const slot of slots) {\n const assignedElements = slot.assignedElements({ flatten: true });\n for (const el of assignedElements) {\n if (el.hasAttribute(\"autofocus\")) {\n return el;\n } else {\n autoFocusDelegate = el.querySelector(\"[autofocus]\");\n if (autoFocusDelegate) {\n return autoFocusDelegate;\n }\n }\n }\n }\n }\n const walker = focusTarget.ownerDocument.createTreeWalker(\n whereToLook,\n NodeFilter.SHOW_ELEMENT\n );\n let descendant = walker.currentNode;\n while (descendant) {\n if (isFocusable(descendant)) {\n return descendant;\n }\n descendant = walker.nextNode();\n }\n}\nfunction popoverFocusingSteps(subject) {\n focusDelegate(subject)?.focus();\n}\nvar previouslyFocusedElements = /* @__PURE__ */ new WeakMap();\nfunction showPopover(element) {\n if (!checkPopoverValidity(element, false)) {\n return;\n }\n const document2 = element.ownerDocument;\n if (!element.dispatchEvent(\n new ToggleEvent(\"beforetoggle\", {\n cancelable: true,\n oldState: \"closed\",\n newState: \"open\"\n })\n )) {\n return;\n }\n if (!checkPopoverValidity(element, false)) {\n return;\n }\n let shouldRestoreFocus = false;\n if (element.popover === \"auto\") {\n const originalType = element.getAttribute(\"popover\");\n const ancestor = topMostPopoverAncestor(element) || document2;\n hideAllPopoversUntil(ancestor, false, true);\n if (originalType !== element.getAttribute(\"popover\") || !checkPopoverValidity(element, false)) {\n return;\n }\n }\n if (!topMostAutoPopover(document2)) {\n shouldRestoreFocus = true;\n }\n previouslyFocusedElements.delete(element);\n const originallyFocusedElement = document2.activeElement;\n element.classList.add(\":popover-open\");\n visibilityState.set(element, \"showing\");\n if (!topLayerElements.has(document2)) {\n topLayerElements.set(document2, /* @__PURE__ */ new Set());\n }\n topLayerElements.get(document2).add(element);\n popoverFocusingSteps(element);\n if (element.popover === \"auto\") {\n if (!autoPopoverList.has(document2)) {\n autoPopoverList.set(document2, /* @__PURE__ */ new Set());\n }\n autoPopoverList.get(document2).add(element);\n setInvokerAriaExpanded(popoverInvoker.get(element), true);\n }\n if (shouldRestoreFocus && originallyFocusedElement && element.popover === \"auto\") {\n previouslyFocusedElements.set(element, originallyFocusedElement);\n }\n queuePopoverToggleEventTask(element, \"closed\", \"open\");\n}\nfunction hidePopover(element, focusPreviousElement = false, fireEvents = false) {\n if (!checkPopoverValidity(element, true)) {\n return;\n }\n const document2 = element.ownerDocument;\n if (element.popover === \"auto\") {\n hideAllPopoversUntil(element, focusPreviousElement, fireEvents);\n if (!checkPopoverValidity(element, true)) {\n return;\n }\n }\n setInvokerAriaExpanded(popoverInvoker.get(element), false);\n popoverInvoker.delete(element);\n if (fireEvents) {\n element.dispatchEvent(\n new ToggleEvent(\"beforetoggle\", {\n oldState: \"open\",\n newState: \"closed\"\n })\n );\n if (!checkPopoverValidity(element, true)) {\n return;\n }\n }\n topLayerElements.get(document2)?.delete(element);\n autoPopoverList.get(document2)?.delete(element);\n element.classList.remove(\":popover-open\");\n visibilityState.set(element, \"hidden\");\n if (fireEvents) {\n queuePopoverToggleEventTask(element, \"open\", \"closed\");\n }\n const previouslyFocusedElement = previouslyFocusedElements.get(element);\n if (previouslyFocusedElement) {\n previouslyFocusedElements.delete(element);\n if (focusPreviousElement) {\n previouslyFocusedElement.focus();\n }\n }\n}\nfunction closeAllOpenPopovers(document2, focusPreviousElement = false, fireEvents = false) {\n let popover = topMostAutoPopover(document2);\n while (popover) {\n hidePopover(popover, focusPreviousElement, fireEvents);\n popover = topMostAutoPopover(document2);\n }\n}\nfunction hideAllPopoversUntil(endpoint, focusPreviousElement, fireEvents) {\n const document2 = endpoint.ownerDocument || endpoint;\n if (endpoint instanceof Document) {\n return closeAllOpenPopovers(document2, focusPreviousElement, fireEvents);\n }\n let lastToHide = null;\n let foundEndpoint = false;\n for (const popover of autoPopoverList.get(document2) || []) {\n if (popover === endpoint) {\n foundEndpoint = true;\n } else if (foundEndpoint) {\n lastToHide = popover;\n break;\n }\n }\n if (!foundEndpoint) {\n return closeAllOpenPopovers(document2, focusPreviousElement, fireEvents);\n }\n while (lastToHide && getPopoverVisibilityState(lastToHide) === \"showing\" && autoPopoverList.get(document2)?.size) {\n hidePopover(lastToHide, focusPreviousElement, fireEvents);\n }\n}\nvar popoverPointerDownTargets = /* @__PURE__ */ new WeakMap();\nfunction lightDismissOpenPopovers(event) {\n if (!event.isTrusted) return;\n const target = event.composedPath()[0];\n if (!target) return;\n const document2 = target.ownerDocument;\n const topMostPopover = topMostAutoPopover(document2);\n if (!topMostPopover) return;\n const ancestor = topMostClickedPopover(target);\n if (ancestor && event.type === \"pointerdown\") {\n popoverPointerDownTargets.set(document2, ancestor);\n } else if (event.type === \"pointerup\") {\n const sameTarget = popoverPointerDownTargets.get(document2) === ancestor;\n popoverPointerDownTargets.delete(document2);\n if (sameTarget) {\n hideAllPopoversUntil(ancestor || document2, false, true);\n }\n }\n}\nvar initialAriaExpandedValue = /* @__PURE__ */ new WeakMap();\nfunction setInvokerAriaExpanded(el, force = false) {\n if (!el) return;\n if (!initialAriaExpandedValue.has(el)) {\n initialAriaExpandedValue.set(el, el.getAttribute(\"aria-expanded\"));\n }\n const popover = el.popoverTargetElement;\n if (popover instanceof HTMLElement && popover.popover === \"auto\") {\n el.setAttribute(\"aria-expanded\", String(force));\n } else {\n const initialValue = initialAriaExpandedValue.get(el);\n if (!initialValue) {\n el.removeAttribute(\"aria-expanded\");\n } else {\n el.setAttribute(\"aria-expanded\", initialValue);\n }\n }\n}\n\n// src/popover.ts\nvar ShadowRoot2 = globalThis.ShadowRoot || function() {\n};\nfunction isSupported() {\n return typeof HTMLElement !== \"undefined\" && typeof HTMLElement.prototype === \"object\" && \"popover\" in HTMLElement.prototype;\n}\nfunction patchSelectorFn(object, name, mapper) {\n const original = object[name];\n Object.defineProperty(object, name, {\n value(selector) {\n return original.call(this, mapper(selector));\n }\n });\n}\nvar nonEscapedPopoverSelector = /(^|[^\\\\]):popover-open\\b/g;\nfunction hasLayerSupport() {\n return typeof globalThis.CSSLayerBlockRule === \"function\";\n}\nfunction getStyles() {\n const useLayer = hasLayerSupport();\n return `\n${useLayer ? \"@layer popover-polyfill {\" : \"\"}\n :where([popover]) {\n position: fixed;\n z-index: 2147483647;\n inset: 0;\n padding: 0.25em;\n width: fit-content;\n height: fit-content;\n border-width: initial;\n border-color: initial;\n border-image: initial;\n border-style: solid;\n background-color: canvas;\n color: canvastext;\n overflow: auto;\n margin: auto;\n }\n\n :where([popover]:not(.\\\\:popover-open)) {\n display: none;\n }\n\n :where(dialog[popover].\\\\:popover-open) {\n display: block;\n }\n\n :where(dialog[popover][open]) {\n display: revert;\n }\n\n :where([anchor].\\\\:popover-open) {\n inset: auto;\n }\n\n :where([anchor]:popover-open) {\n inset: auto;\n }\n\n @supports not (background-color: canvas) {\n :where([popover]) {\n background-color: white;\n color: black;\n }\n }\n\n @supports (width: -moz-fit-content) {\n :where([popover]) {\n width: -moz-fit-content;\n height: -moz-fit-content;\n }\n }\n\n @supports not (inset: 0) {\n :where([popover]) {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n }\n${useLayer ? \"}\" : \"\"}\n`;\n}\nvar popoverStyleSheet = null;\nfunction injectStyles(root) {\n const styles = getStyles();\n if (popoverStyleSheet === null) {\n try {\n popoverStyleSheet = new CSSStyleSheet();\n popoverStyleSheet.replaceSync(styles);\n } catch {\n popoverStyleSheet = false;\n }\n }\n if (popoverStyleSheet === false) {\n const sheet = document.createElement(\"style\");\n sheet.textContent = styles;\n if (root instanceof Document) {\n root.head.prepend(sheet);\n } else {\n root.prepend(sheet);\n }\n } else {\n root.adoptedStyleSheets = [popoverStyleSheet, ...root.adoptedStyleSheets];\n }\n}\nfunction apply() {\n if (typeof window === \"undefined\") return;\n window.ToggleEvent = window.ToggleEvent || ToggleEvent;\n function rewriteSelector(selector) {\n if (selector?.includes(\":popover-open\")) {\n selector = selector.replace(\n nonEscapedPopoverSelector,\n \"$1.\\\\:popover-open\"\n );\n }\n return selector;\n }\n patchSelectorFn(Document.prototype, \"querySelector\", rewriteSelector);\n patchSelectorFn(Document.prototype, \"querySelectorAll\", rewriteSelector);\n patchSelectorFn(Element.prototype, \"querySelector\", rewriteSelector);\n patchSelectorFn(Element.prototype, \"querySelectorAll\", rewriteSelector);\n patchSelectorFn(Element.prototype, \"matches\", rewriteSelector);\n patchSelectorFn(Element.prototype, \"closest\", rewriteSelector);\n patchSelectorFn(\n DocumentFragment.prototype,\n \"querySelectorAll\",\n rewriteSelector\n );\n Object.defineProperties(HTMLElement.prototype, {\n popover: {\n enumerable: true,\n configurable: true,\n get() {\n if (!this.hasAttribute(\"popover\")) return null;\n const value = (this.getAttribute(\"popover\") || \"\").toLowerCase();\n if (value === \"\" || value == \"auto\") return \"auto\";\n return \"manual\";\n },\n set(value) {\n this.setAttribute(\"popover\", value);\n }\n },\n showPopover: {\n enumerable: true,\n configurable: true,\n value() {\n showPopover(this);\n }\n },\n hidePopover: {\n enumerable: true,\n configurable: true,\n value() {\n hidePopover(this, true, true);\n }\n },\n togglePopover: {\n enumerable: true,\n configurable: true,\n value(force) {\n if (visibilityState.get(this) === \"showing\" && force === void 0 || force === false) {\n hidePopover(this, true, true);\n } else if (force === void 0 || force === true) {\n showPopover(this);\n }\n }\n }\n });\n const originalAttachShadow = Element.prototype.attachShadow;\n if (originalAttachShadow) {\n Object.defineProperties(Element.prototype, {\n attachShadow: {\n enumerable: true,\n configurable: true,\n writable: true,\n value(options) {\n const shadowRoot = originalAttachShadow.call(this, options);\n injectStyles(shadowRoot);\n return shadowRoot;\n }\n }\n });\n }\n const originalAttachInternals = HTMLElement.prototype.attachInternals;\n if (originalAttachInternals) {\n Object.defineProperties(HTMLElement.prototype, {\n attachInternals: {\n enumerable: true,\n configurable: true,\n writable: true,\n value() {\n const internals = originalAttachInternals.call(this);\n if (internals.shadowRoot) {\n injectStyles(internals.shadowRoot);\n }\n return internals;\n }\n }\n });\n }\n const popoverTargetAssociatedElements = /* @__PURE__ */ new WeakMap();\n function applyPopoverInvokerElementMixin(ElementClass) {\n Object.defineProperties(ElementClass.prototype, {\n popoverTargetElement: {\n enumerable: true,\n configurable: true,\n set(targetElement) {\n if (targetElement === null) {\n this.removeAttribute(\"popovertarget\");\n popoverTargetAssociatedElements.delete(this);\n } else if (!(targetElement instanceof Element)) {\n throw new TypeError(\n `popoverTargetElement must be an element or null`\n );\n } else {\n this.setAttribute(\"popovertarget\", \"\");\n popoverTargetAssociatedElements.set(this, targetElement);\n }\n },\n get() {\n if (this.localName !== \"button\" && this.localName !== \"input\") {\n return null;\n }\n if (this.localName === \"input\" && this.type !== \"reset\" && this.type !== \"image\" && this.type !== \"button\") {\n return null;\n }\n if (this.disabled) {\n return null;\n }\n if (this.form && this.type === \"submit\") {\n return null;\n }\n const targetElement = popoverTargetAssociatedElements.get(this);\n if (targetElement && targetElement.isConnected) {\n return targetElement;\n } else if (targetElement && !targetElement.isConnected) {\n popoverTargetAssociatedElements.delete(this);\n return null;\n }\n const root = getRootNode(this);\n const idref = this.getAttribute(\"popovertarget\");\n if ((root instanceof Document || root instanceof ShadowRoot2) && idref) {\n return root.getElementById(idref) || null;\n }\n return null;\n }\n },\n popoverTargetAction: {\n enumerable: true,\n configurable: true,\n get() {\n const value = (this.getAttribute(\"popovertargetaction\") || \"\").toLowerCase();\n if (value === \"show\" || value === \"hide\") return value;\n return \"toggle\";\n },\n set(value) {\n this.setAttribute(\"popovertargetaction\", value);\n }\n }\n });\n }\n applyPopoverInvokerElementMixin(HTMLButtonElement);\n applyPopoverInvokerElementMixin(HTMLInputElement);\n const handleInvokerActivation = (event) => {\n const composedPath = event.composedPath();\n const target = composedPath[0];\n if (!(target instanceof Element) || target?.shadowRoot) {\n return;\n }\n const root = getRootNode(target);\n if (!(root instanceof ShadowRoot2 || root instanceof Document)) {\n return;\n }\n const invoker = composedPath.find(\n (el) => el.matches?.(\"[popovertargetaction],[popovertarget]\")\n );\n if (invoker) {\n popoverTargetAttributeActivationBehavior(invoker);\n event.preventDefault();\n return;\n }\n };\n const onKeydown = (event) => {\n const key = event.key;\n const target = event.target;\n if (!event.defaultPrevented && target && (key === \"Escape\" || key === \"Esc\")) {\n hideAllPopoversUntil(target.ownerDocument, true, true);\n }\n };\n const addEventListeners = (root) => {\n root.addEventListener(\"click\", handleInvokerActivation);\n root.addEventListener(\"keydown\", onKeydown);\n root.addEventListener(\"pointerdown\", lightDismissOpenPopovers);\n root.addEventListener(\"pointerup\", lightDismissOpenPopovers);\n };\n addEventListeners(document);\n injectStyles(document);\n}\n\n// src/index.ts\nif (!isSupported()) apply();\n//# sourceMappingURL=popover.js.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,61 +0,0 @@
1
- import "./js.cookie-CiMiGxWx.js";
2
- import "../io-loader.js";
3
- import "../breakpoint-loader.js";
4
- const makeAnchor = (string, length = 20) => {
5
- if (typeof string !== "string" || !string) return "";
6
- let id = string.toLowerCase().trim().replace(/\s+/g, "-").replace(/[^-a-z0-9]/g, "").replace(/[\n\r]+|[\s]{2,}/g, "");
7
- const times = [...Array(6).keys()];
8
- times.forEach(() => {
9
- if (!id.charAt(0).match(/[a-z]/g)) {
10
- id = id.substring(1);
11
- }
12
- });
13
- if (length) id = id.substring(0, length + 1);
14
- return id;
15
- };
16
- const createElement = (string) => {
17
- try {
18
- const el = document.createElement("div");
19
- el.innerHTML = string;
20
- return el.firstElementChild;
21
- } catch (error) {
22
- console.error(error);
23
- return null;
24
- }
25
- };
26
- const handleOutsideClick = (event, container, callback, ignored = []) => {
27
- const {
28
- target,
29
- clientY,
30
- clientX
31
- } = event;
32
- const isOption = target instanceof HTMLOptionElement || target instanceof HTMLSelectElement;
33
- const isIgnored = ignored?.filter(
34
- (item) => item === target || item.contains(target)
35
- );
36
- if (isIgnored.length || isOption) return;
37
- const obs = new IntersectionObserver(
38
- ([{ boundingClientRect }]) => {
39
- const { top, height, width, left } = boundingClientRect;
40
- const isInDialog = top <= clientY && clientY <= top + height && left <= clientX && clientX <= left + width;
41
- if (!isInDialog) {
42
- callback();
43
- }
44
- obs.disconnect();
45
- }
46
- );
47
- obs.observe(container);
48
- };
49
- const handleEscape = (event, callback) => {
50
- const { key } = event;
51
- if (key === "Escape") {
52
- callback();
53
- }
54
- };
55
- export {
56
- handleEscape as a,
57
- createElement as c,
58
- handleOutsideClick as h,
59
- makeAnchor as m
60
- };
61
- //# sourceMappingURL=utilities-BIk0P2KX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utilities-BIk0P2KX.js","sources":["../../../src/Utility/utilities.ts"],"sourcesContent":["/* eslint-disable no-console */\n/**\n * @file utilities.\n */\n\nexport { default as DisclosureWidget } from \"./Elements/disclosure-widget\"\nexport type { DisclosureWidgetEvent } from \"./Elements/disclosure-widget\"\nexport { default as Keyboard } from \"./Elements/keyboard\"\nexport { default as CookieCompliance } from \"./Elements/cookie-compliance\"\nexport { default as IntersectionLoader } from \"./Elements/io-loader\"\nexport { default as BreakpointLoader } from \"./Elements/breakpoint-loader\"\n\nexport const makeAnchor = (string: string, length: number = 20): string => {\n if (typeof string !== \"string\" || !string) return \"\"\n // Convert the string to lowercase and remove non-alphanumeric characters.\n let id: string = string\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, \"-\")\n .replace(/[^-a-z0-9]/g, \"\")\n .replace(/[\\n\\r]+|[\\s]{2,}/g, \"\")\n // Ensure we start the id with a letter.\n // Only run this several times.\n const times: number[] = [...Array(6).keys()]\n times.forEach((): void => {\n if (!id.charAt(0).match(/[a-z]/g)) {\n id = id.substring(1)\n }\n })\n // Cut to the desired length.\n if (length) id = id.substring(0, length + 1)\n\n return id\n}\n\nexport const makeCamelCase = (string: string): string => {\n if (typeof string !== \"string\" || !string) return \"\"\n const output: string = string\n .trim()\n .replace(\n /(?:^\\w|[A-Z]|\\b\\w|\\s+)/g,\n (match: string, index: number): string => {\n if (+match === 0) return \"\"\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n },\n )\n return output.replace(/[^\\w\\s]/gi, \"\")\n}\n\nexport const isInternalLink = (\n href: string,\n internalHostnames: string[],\n): boolean => {\n if (typeof href !== \"string\" || !href || !Array.isArray(internalHostnames)) {\n return false\n }\n\n try {\n const { hostname }: { hostname: string } = new URL(href)\n return (\n window.location.hostname === hostname ||\n internalHostnames.includes(hostname)\n )\n } catch (error) {\n console.error(error)\n return false\n }\n}\n\nexport const createElement = (string: string): Element | null => {\n try {\n const el: HTMLDivElement = document.createElement(\"div\")\n el.innerHTML = string\n return el.firstElementChild\n } catch (error) {\n console.error(error)\n return null\n }\n}\n\nexport const getElementBox = (\n element: HTMLElement,\n once: boolean = false,\n content: boolean = false,\n): void => {\n const observer: ResizeObserver = new ResizeObserver(entries => {\n entries.forEach(({ contentBoxSize, borderBoxSize }) => {\n const [{ inlineSize, blockSize }] = content\n ? contentBoxSize\n : borderBoxSize\n element.style.setProperty(\"--inline-size\", `${inlineSize.toFixed(1)}px`)\n element.style.setProperty(\"--block-size\", `${blockSize.toFixed(1)}px`)\n if (once) observer.unobserve(element)\n })\n })\n observer.observe(element)\n}\n\nexport const handleOutsideClick = (\n event: MouseEvent,\n container: HTMLElement,\n callback: () => void,\n ignored: HTMLElement[] = [],\n): void => {\n const {\n target,\n clientY,\n clientX,\n }: { target: EventTarget; clientY: number; clientX: number } = event\n // FF treating option click as outside click.\n const isOption: boolean =\n target instanceof HTMLOptionElement || target instanceof HTMLSelectElement\n // Or it's in the ignored list.\n\n const isIgnored: HTMLElement[] = ignored?.filter(\n item => item === target || item.contains(target as HTMLElement),\n )\n // Exit early if we can.\n if (isIgnored.length || isOption) return\n // Check if click is inside the dialog content.\n const obs: IntersectionObserver = new IntersectionObserver(\n ([{ boundingClientRect }]) => {\n const { top, height, width, left } = boundingClientRect\n const isInDialog: boolean =\n top <= clientY &&\n clientY <= top + height &&\n left <= clientX &&\n clientX <= left + width\n\n if (!isInDialog) {\n callback()\n }\n obs.disconnect()\n },\n )\n obs.observe(container)\n}\n\nexport const handleEscape = (\n event: KeyboardEvent,\n callback: () => void,\n): void => {\n const { key } = event\n if (key === \"Escape\") {\n callback()\n }\n}\n\n/* eslint-disable no-unused-vars, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access */\nexport const loadOnReady = (\n callback: (this: Window, ev: Event) => void,\n name: string,\n): void => {\n // @ts-expect-error Drupal is global\n if (Object.hasOwn(window, \"Drupal\") && Object.hasOwn(Drupal, \"behaviors\")) {\n // @ts-expect-error Drupal is global\n Drupal.behaviors[name] = {\n attach: callback,\n }\n return\n }\n window.addEventListener(\"DOMContentLoaded\", callback.bind(document, document))\n}\n"],"names":[],"mappings":";;;AAYO,MAAM,aAAa,CAAC,QAAgB,SAAiB,OAAe;AACzE,MAAI,OAAO,WAAW,YAAY,CAAC,OAAe,QAAA;AAElD,MAAI,KAAa,OACd,YACA,EAAA,KAAA,EACA,QAAQ,QAAQ,GAAG,EACnB,QAAQ,eAAe,EAAE,EACzB,QAAQ,qBAAqB,EAAE;AAGlC,QAAM,QAAkB,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM;AAC3C,QAAM,QAAQ,MAAY;AACxB,QAAI,CAAC,GAAG,OAAO,CAAC,EAAE,MAAM,QAAQ,GAAG;AAC5B,WAAA,GAAG,UAAU,CAAC;AAAA,IACrB;AAAA,EAAA,CACD;AAED,MAAI,OAAa,MAAA,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpC,SAAA;AACT;AAoCa,MAAA,gBAAgB,CAAC,WAAmC;AAC3D,MAAA;AACI,UAAA,KAAqB,SAAS,cAAc,KAAK;AACvD,OAAG,YAAY;AACf,WAAO,GAAG;AAAA,WACH,OAAO;AACd,YAAQ,MAAM,KAAK;AACZ,WAAA;AAAA,EACT;AACF;AAoBO,MAAM,qBAAqB,CAChC,OACA,WACA,UACA,UAAyB,CAAA,MAChB;AACH,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EAC6D,IAAA;AAEzD,QAAA,WACJ,kBAAkB,qBAAqB,kBAAkB;AAG3D,QAAM,YAA2B,SAAS;AAAA,IACxC,CAAQ,SAAA,SAAS,UAAU,KAAK,SAAS,MAAqB;AAAA,EAAA;AAG5D,MAAA,UAAU,UAAU,SAAU;AAElC,QAAM,MAA4B,IAAI;AAAA,IACpC,CAAC,CAAC,EAAE,mBAAA,CAAoB,MAAM;AAC5B,YAAM,EAAE,KAAK,QAAQ,OAAO,SAAS;AAC/B,YAAA,aACJ,OAAO,WACP,WAAW,MAAM,UACjB,QAAQ,WACR,WAAW,OAAO;AAEpB,UAAI,CAAC,YAAY;AACN;MACX;AACA,UAAI,WAAW;AAAA,IACjB;AAAA,EAAA;AAEF,MAAI,QAAQ,SAAS;AACvB;AAEa,MAAA,eAAe,CAC1B,OACA,aACS;AACH,QAAA,EAAE,IAAQ,IAAA;AAChB,MAAI,QAAQ,UAAU;AACX;EACX;AACF;"}
@@ -1,122 +0,0 @@
1
- import { a as api } from "./chunks/js.cookie-CiMiGxWx.js";
2
- class CookieCompliance {
3
- constructor(el) {
4
- this.init = () => {
5
- this.hostname = document.location.hostname.replace(/^www\./, "");
6
- this.defaultCookieSettings = {
7
- path: "/",
8
- expires: 365,
9
- sameSite: "Lax"
10
- };
11
- const isBot = this.bots.test(navigator.userAgent);
12
- const dnt = (
13
- // @ts-expect-error older browser.
14
- navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack
15
- );
16
- const isToTrack = dnt !== null && dnt !== void 0 ? dnt && dnt !== "yes" && dnt !== 1 && dnt !== "1" : true;
17
- if (isBot || !isToTrack || this.hasConsent() === false) {
18
- this.removeBanner(0);
19
- return;
20
- }
21
- if (this.hasConsent() === true) {
22
- return;
23
- }
24
- this.showBanner();
25
- };
26
- this.showBanner = () => {
27
- this.banner.removeAttribute("inert");
28
- if (this.moreBtn) {
29
- this.moreBtn.addEventListener("click", this.deleteCookie);
30
- }
31
- if (this.acceptBtn) {
32
- this.acceptBtn.addEventListener("click", this.accept);
33
- }
34
- if (this.rejectBtn) {
35
- this.rejectBtn.addEventListener("click", this.reject);
36
- }
37
- };
38
- this.reject = () => {
39
- this.removeBanner(this.waitRemove);
40
- this.setCookie("false");
41
- this.trackingCookiesNames.map(this.deleteCookie);
42
- };
43
- this.accept = () => {
44
- this.removeBanner(this.waitRemove);
45
- this.setCookie("true");
46
- };
47
- this.hasConsent = () => {
48
- const consent = api.get(this.cookieName);
49
- if (consent === "true") {
50
- return true;
51
- }
52
- if (consent === "false") {
53
- return false;
54
- }
55
- return null;
56
- };
57
- this.setCookie = (value) => {
58
- api.set(this.cookieName, value, this.defaultCookieSettings);
59
- api.set(this.cookieName, value, {
60
- domain: `.${this.hostname}`,
61
- ...this.defaultCookieSettings
62
- });
63
- };
64
- this.deleteCookie = () => {
65
- api.remove(this.cookieName, this.defaultCookieSettings);
66
- api.remove(this.cookieName, {
67
- domain: `.${this.hostname}`,
68
- ...this.defaultCookieSettings
69
- });
70
- };
71
- this.removeBanner = (wait) => {
72
- setTimeout(() => {
73
- if (this.banner && this.banner.parentNode) {
74
- if (this.moreBtn) {
75
- this.moreBtn.removeEventListener("click", this.deleteCookie);
76
- }
77
- if (this.acceptBtn) {
78
- this.acceptBtn.removeEventListener("click", this.accept);
79
- }
80
- if (this.rejectBtn) {
81
- this.rejectBtn.removeEventListener("click", this.reject);
82
- }
83
- this.banner.parentNode.removeChild(this.banner);
84
- }
85
- }, wait);
86
- };
87
- this.banner = el;
88
- this.acceptBtn = el.querySelector("[data-cookie-accept]");
89
- this.moreBtn = el.querySelector("[data-cookie-more]");
90
- this.rejectBtn = el.querySelector("[data-cookie-reject]");
91
- this.bots = /bot|crawler|spider|crawling/i;
92
- this.cookieName = "has-cookie-consent";
93
- this.waitRemove = this.banner.dataset.waitRemove === void 0 ? 0 : parseInt(this.banner.dataset.waitRemove, 10);
94
- this.trackingCookiesNames = [
95
- "__utma",
96
- "__utmb",
97
- "__utmc",
98
- "__utmt",
99
- "__utmv",
100
- "__utmz",
101
- "_ga",
102
- "_gat",
103
- "_gid"
104
- ];
105
- }
106
- static create({ context = null } = {}) {
107
- const [el] = window.once(
108
- "cookie-compliance",
109
- "#cookie-compliance",
110
- context || document
111
- );
112
- if (el) {
113
- const cookieCompliance = new CookieCompliance(el);
114
- cookieCompliance.init();
115
- window.CookieCompliance = cookieCompliance;
116
- }
117
- }
118
- }
119
- export {
120
- CookieCompliance as default
121
- };
122
- //# sourceMappingURL=cookie-compliance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookie-compliance.js","sources":["../../src/Utility/Elements/cookie-compliance.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */\n/**\n * @file cookie compliance banner\n * adapted from http://alex-d.github.io/Cookies-EU-banner/.\n *\n * Any additional tracking javascript should first check `window.CookieCompliance.hasConsent()`\n * before being initialised.\n */\n\nimport Cookies from \"js-cookie\"\n\nexport default class CookieCompliance {\n banner: HTMLElement\n acceptBtn: HTMLButtonElement\n moreBtn: HTMLButtonElement\n rejectBtn: HTMLButtonElement\n bots: RegExp\n cookieName: string\n waitRemove: number\n trackingCookiesNames: string[]\n hostname: string | undefined\n defaultCookieSettings:\n | {\n path: string\n expires: number\n sameSite: string\n }\n | undefined\n\n constructor(el: HTMLElement) {\n this.banner = el\n this.acceptBtn = el.querySelector(\"[data-cookie-accept]\")\n this.moreBtn = el.querySelector(\"[data-cookie-more]\")\n this.rejectBtn = el.querySelector(\"[data-cookie-reject]\")\n this.bots = /bot|crawler|spider|crawling/i\n this.cookieName = \"has-cookie-consent\"\n this.waitRemove =\n this.banner.dataset.waitRemove === undefined\n ? 0\n : parseInt(this.banner.dataset.waitRemove, 10)\n this.trackingCookiesNames = [\n \"__utma\",\n \"__utmb\",\n \"__utmc\",\n \"__utmt\",\n \"__utmv\",\n \"__utmz\",\n \"_ga\",\n \"_gat\",\n \"_gid\",\n ]\n }\n\n init = (): void => {\n this.hostname = document.location.hostname.replace(/^www\\./, \"\")\n this.defaultCookieSettings = {\n path: \"/\",\n expires: 365,\n sameSite: \"Lax\",\n }\n\n // Detect if the visitor is a bot or not\n // Prevent for search engine take the cookie alert message as main content of the page.\n const isBot: boolean = this.bots.test(navigator.userAgent)\n\n // Check if DoNotTrack is activated.\n const dnt =\n // @ts-expect-error older browser.\n navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack\n const isToTrack: boolean =\n dnt !== null && dnt !== undefined\n ? dnt && dnt !== \"yes\" && dnt !== 1 && dnt !== \"1\"\n : true\n\n // Do nothing if it is a bot.\n // If DoNotTrack is activated, do nothing too.\n if (isBot || !isToTrack || this.hasConsent() === false) {\n this.removeBanner(0)\n return\n }\n\n // User has already consent to use cookies to tracking.\n if (this.hasConsent() === true) {\n return\n }\n\n // Otherwise show banner.\n this.showBanner()\n }\n\n showBanner = (): void => {\n this.banner.removeAttribute(\"inert\")\n if (this.moreBtn) {\n this.moreBtn.addEventListener(\"click\", this.deleteCookie)\n }\n if (this.acceptBtn) {\n this.acceptBtn.addEventListener(\"click\", this.accept)\n }\n if (this.rejectBtn) {\n this.rejectBtn.addEventListener(\"click\", this.reject)\n }\n }\n\n reject = (): void => {\n this.removeBanner(this.waitRemove)\n this.setCookie(\"false\")\n\n // Delete existing tracking cookies\n this.trackingCookiesNames.map(this.deleteCookie)\n }\n\n accept = (): void => {\n this.removeBanner(this.waitRemove)\n this.setCookie(\"true\")\n }\n\n hasConsent = (): boolean => {\n const consent: \"true\" | \"false\" = Cookies.get(this.cookieName)\n if (consent === \"true\") {\n return true\n }\n if (consent === \"false\") {\n return false\n }\n\n return null\n }\n\n setCookie = (value: \"true\" | \"false\"): void => {\n Cookies.set(this.cookieName, value, this.defaultCookieSettings)\n Cookies.set(this.cookieName, value, {\n domain: `.${this.hostname}`,\n ...this.defaultCookieSettings,\n })\n }\n\n deleteCookie = (): void => {\n Cookies.remove(this.cookieName, this.defaultCookieSettings)\n Cookies.remove(this.cookieName, {\n domain: `.${this.hostname}`,\n ...this.defaultCookieSettings,\n })\n }\n\n removeBanner = (wait: number): void => {\n setTimeout(() => {\n if (this.banner && this.banner.parentNode) {\n if (this.moreBtn) {\n this.moreBtn.removeEventListener(\"click\", this.deleteCookie)\n }\n if (this.acceptBtn) {\n this.acceptBtn.removeEventListener(\"click\", this.accept)\n }\n if (this.rejectBtn) {\n this.rejectBtn.removeEventListener(\"click\", this.reject)\n }\n this.banner.parentNode.removeChild(this.banner)\n }\n }, wait)\n }\n\n static create({ context = null } = {}): void {\n const [el] = window.once(\n \"cookie-compliance\",\n \"#cookie-compliance\",\n context || document,\n )\n if (el) {\n const cookieCompliance: CookieCompliance = new CookieCompliance(el)\n cookieCompliance.init()\n window.CookieCompliance = cookieCompliance\n }\n }\n}\n"],"names":["Cookies"],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- import { m as makeAnchor } from "./chunks/utilities-BIk0P2KX.js";
2
- class DisclosureWidget {
3
- constructor(trigger, element, overrides, context = document) {
4
- this.init = () => {
5
- if (Object.prototype.hasOwnProperty.call(this.trigger, "disclosureWidget"))
6
- return;
7
- const { attribute, setInitialAttribute } = this.options;
8
- this.trigger.disclosureWidget = this;
9
- if (setInitialAttribute) this.element.setAttribute(attribute, "");
10
- this.attach();
11
- };
12
- this.handleToggle = () => {
13
- const { attribute, setInitialAttribute } = this.options;
14
- this.element.toggleAttribute(attribute);
15
- const hasAttribute = this.element.hasAttribute(attribute);
16
- this.isOpen = setInitialAttribute ? !hasAttribute : hasAttribute;
17
- this.trigger.setAttribute("aria-expanded", String(this.isOpen));
18
- const newEvent = new CustomEvent(
19
- "disclosure-toggle",
20
- {
21
- bubbles: true,
22
- cancelable: true,
23
- detail: {
24
- isOpen: this.isOpen,
25
- id: this.id,
26
- options: this.options,
27
- target: this.element
28
- }
29
- }
30
- );
31
- this.trigger.dispatchEvent(newEvent);
32
- };
33
- this.handleMouse = (event) => {
34
- const { currentTarget, type, relatedTarget } = event;
35
- if (type === "mouseover" || type === "mouseout") {
36
- const triggerParent = this.trigger.parentNode;
37
- if (triggerParent !== currentTarget || triggerParent.contains(relatedTarget))
38
- return;
39
- } else if (this.trigger !== currentTarget) return;
40
- const { shouldPreventDefault } = this.options;
41
- this.handleToggle();
42
- if (shouldPreventDefault) {
43
- event.preventDefault();
44
- event.stopPropagation();
45
- }
46
- };
47
- this.handleKeyboard = (event) => {
48
- const { key, target } = event;
49
- if (this.trigger !== target) return;
50
- const { isOpen } = this;
51
- const { shouldPreventDefault } = this.options;
52
- switch (key) {
53
- case "ArrowDown":
54
- case "Enter":
55
- if (!isOpen) this.handleToggle();
56
- if (shouldPreventDefault) event.preventDefault();
57
- break;
58
- case "ArrowUp":
59
- case "Escape":
60
- if (isOpen) this.handleToggle();
61
- if (shouldPreventDefault) event.preventDefault();
62
- break;
63
- }
64
- };
65
- this.attach = () => {
66
- if (this.attached) return;
67
- const { clickEvent } = this.options;
68
- if (clickEvent === "mouseover") {
69
- const parent = this.trigger.parentNode;
70
- parent.addEventListener("mouseover", this.handleMouse);
71
- parent.addEventListener("mouseout", this.handleMouse);
72
- } else {
73
- this.trigger.addEventListener("click", this.handleMouse);
74
- }
75
- this.trigger.addEventListener("keydown", this.handleKeyboard);
76
- this.trigger.setAttribute("aria-expanded", "false");
77
- if (!this.trigger.hasAttribute("aria-controls"))
78
- this.trigger.setAttribute("aria-controls", this.id);
79
- this.attached = true;
80
- };
81
- this.detach = () => {
82
- if (!this.attached) return;
83
- if (this.isOpen) {
84
- this.handleToggle();
85
- }
86
- const { clickEvent } = this.options;
87
- if (clickEvent === "mouseover") {
88
- const parent = this.trigger.parentNode;
89
- parent.removeEventListener("mouseover", this.handleMouse);
90
- parent.removeEventListener("mouseout", this.handleMouse);
91
- } else {
92
- this.trigger.removeEventListener("click", this.handleMouse);
93
- }
94
- this.trigger.removeEventListener("keydown", this.handleKeyboard);
95
- this.trigger.removeAttribute("aria-expanded");
96
- this.attached = false;
97
- };
98
- this.generatedId = () => {
99
- const string = this.trigger?.textContent?.trim();
100
- return !string ? "" : makeAnchor(string);
101
- };
102
- if (!trigger) {
103
- throw new Error("toggle is required.");
104
- }
105
- if (!element) {
106
- throw new Error("element is required.");
107
- }
108
- const options = {
109
- attribute: "inert",
110
- shouldPreventDefault: true,
111
- setInitialAttribute: true,
112
- clickEvent: "click"
113
- };
114
- this.options = { ...options, ...overrides };
115
- this.context = context || document;
116
- this.trigger = trigger;
117
- this.element = element;
118
- this.id = this.element.id || this.generatedId();
119
- }
120
- }
121
- export {
122
- DisclosureWidget as default
123
- };
124
- //# sourceMappingURL=disclosure-widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disclosure-widget.js","sources":["../../src/Utility/Elements/disclosure-widget.ts"],"sourcesContent":["/**\n * Class for a generic Disclosure Widget.\n */\nimport { makeAnchor } from \"../utilities\"\n\ntype DisclosureWidgetOptions = {\n attribute?: string\n shouldPreventDefault?: boolean\n setInitialAttribute?: boolean\n clickEvent?: \"click\" | \"mouseover\"\n}\n\nexport type DisclosureWidgetEvent = {\n isOpen: boolean\n id: string\n options: DisclosureWidgetOptions\n target: Element\n}\n\nexport default class DisclosureWidget {\n options: DisclosureWidgetOptions\n context: Document | Element\n trigger: Element & { disclosureWidget?: DisclosureWidget }\n element: Element\n id: string\n isOpen?: boolean\n attached?: boolean\n\n constructor(\n trigger: Element,\n element: Element,\n overrides?: DisclosureWidgetOptions,\n context: Element | Document = document,\n ) {\n if (!trigger) {\n throw new Error(\"toggle is required.\")\n }\n if (!element) {\n throw new Error(\"element is required.\")\n }\n const options: DisclosureWidgetOptions = {\n attribute: \"inert\",\n shouldPreventDefault: true,\n setInitialAttribute: true,\n clickEvent: \"click\",\n }\n\n this.options = { ...options, ...overrides }\n this.context = context || document\n this.trigger = trigger\n this.element = element\n this.id = this.element.id || this.generatedId()\n }\n\n init = (): void => {\n if (Object.prototype.hasOwnProperty.call(this.trigger, \"disclosureWidget\"))\n return\n const { attribute, setInitialAttribute } = this.options\n this.trigger.disclosureWidget = this\n if (setInitialAttribute) this.element.setAttribute(attribute, \"\")\n this.attach()\n }\n\n handleToggle = (): void => {\n const { attribute, setInitialAttribute } = this.options\n this.element.toggleAttribute(attribute)\n const hasAttribute: boolean = this.element.hasAttribute(attribute)\n this.isOpen = setInitialAttribute ? !hasAttribute : hasAttribute\n this.trigger.setAttribute(\"aria-expanded\", String(this.isOpen))\n const newEvent: CustomEvent<DisclosureWidgetEvent> = new CustomEvent(\n \"disclosure-toggle\",\n {\n bubbles: true,\n cancelable: true,\n detail: {\n isOpen: this.isOpen,\n id: this.id,\n options: this.options,\n target: this.element,\n },\n },\n )\n this.trigger.dispatchEvent(newEvent)\n }\n\n handleMouse = (event: MouseEvent): void => {\n const { currentTarget, type, relatedTarget } = event\n\n if (type === \"mouseover\" || type === \"mouseout\") {\n const triggerParent = this.trigger.parentNode\n if (\n triggerParent !== currentTarget ||\n triggerParent.contains(relatedTarget as HTMLElement)\n )\n return\n } else if (this.trigger !== currentTarget) return\n\n const { shouldPreventDefault } = this.options\n this.handleToggle()\n if (shouldPreventDefault) {\n event.preventDefault()\n event.stopPropagation()\n }\n }\n\n handleKeyboard = (event: KeyboardEvent): void => {\n const { key, target } = event\n if (this.trigger !== target) return\n const { isOpen } = this\n const { shouldPreventDefault } = this.options\n\n switch (key) {\n // Down/Enter should open it.\n case \"ArrowDown\":\n case \"Enter\":\n if (!isOpen) this.handleToggle()\n if (shouldPreventDefault) event.preventDefault()\n break\n\n // Up/Esc should close it.\n case \"ArrowUp\":\n case \"Escape\":\n if (isOpen) this.handleToggle()\n if (shouldPreventDefault) event.preventDefault()\n break\n\n default:\n break\n }\n }\n\n attach = (): void => {\n if (this.attached) return\n const { clickEvent } = this.options\n if (clickEvent === \"mouseover\") {\n const parent = this.trigger.parentNode\n parent.addEventListener(\"mouseover\", this.handleMouse)\n parent.addEventListener(\"mouseout\", this.handleMouse)\n } else {\n this.trigger.addEventListener(\"click\", this.handleMouse)\n }\n this.trigger.addEventListener(\"keydown\", this.handleKeyboard)\n\n this.trigger.setAttribute(\"aria-expanded\", \"false\")\n if (!this.trigger.hasAttribute(\"aria-controls\"))\n this.trigger.setAttribute(\"aria-controls\", this.id)\n this.attached = true\n }\n\n detach = (): void => {\n if (!this.attached) return\n if (this.isOpen) {\n this.handleToggle()\n }\n const { clickEvent } = this.options\n if (clickEvent === \"mouseover\") {\n const parent = this.trigger.parentNode\n parent.removeEventListener(\"mouseover\", this.handleMouse)\n parent.removeEventListener(\"mouseout\", this.handleMouse)\n } else {\n this.trigger.removeEventListener(\"click\", this.handleMouse)\n }\n this.trigger.removeEventListener(\"keydown\", this.handleKeyboard)\n\n this.trigger.removeAttribute(\"aria-expanded\")\n this.attached = false\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- const _IntersectionLoader = class _IntersectionLoader {
2
- constructor(el, callback) {
3
- this.init = () => {
4
- this.observer = new IntersectionObserver((items) => {
5
- items.forEach(({ isIntersecting }) => {
6
- if (isIntersecting) this.load().catch((error) => this.handleError(error));
7
- });
8
- });
9
- this.observer.observe(this.el);
10
- this.fallbackBtn?.addEventListener("click", this.handleClick);
11
- };
12
- this.load = async () => {
13
- try {
14
- await this.callback();
15
- } catch (error) {
16
- this.handleError(error);
17
- }
18
- this.observer.unobserve(this.el);
19
- };
20
- this.handleClick = () => {
21
- this.load().catch((error) => this.handleError(error));
22
- };
23
- this.handleError = (error) => {
24
- console.error(error);
25
- this.errorMsg?.removeAttribute("hidden");
26
- };
27
- this.el = el;
28
- this.callback = callback;
29
- this.fallbackBtn = this.el.querySelector("[data-load-fallback]");
30
- this.errorMsg = this.el.querySelector("[data-load-error]");
31
- }
32
- };
33
- _IntersectionLoader.create = (selector, callback) => {
34
- if (!Object.hasOwn(window, "once")) return;
35
- window.once("intersection-loader", selector)?.forEach((el) => {
36
- const loader = new _IntersectionLoader(el, callback);
37
- loader.init();
38
- });
39
- };
40
- let IntersectionLoader = _IntersectionLoader;
41
- export {
42
- IntersectionLoader as default
43
- };
44
- //# sourceMappingURL=io-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"io-loader.js","sources":["../../src/Utility/Elements/io-loader.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Lazy Load on an Intersection Observer\n */\n\nexport default class IntersectionLoader {\n el: HTMLElement\n callback: () => any\n observer: IntersectionObserver\n fallbackBtn?: HTMLButtonElement\n errorMsg?: HTMLElement\n\n constructor(el: HTMLElement, callback: () => any) {\n this.el = el\n this.callback = callback\n this.fallbackBtn = this.el.querySelector(\"[data-load-fallback]\")\n this.errorMsg = this.el.querySelector(\"[data-load-error]\")\n }\n\n init = (): void => {\n this.observer = new IntersectionObserver(items => {\n items.forEach(({ isIntersecting }) => {\n if (isIntersecting) this.load().catch(error => this.handleError(error))\n })\n })\n this.observer.observe(this.el)\n this.fallbackBtn?.addEventListener(\"click\", this.handleClick)\n }\n\n load = async (): Promise<void> => {\n try {\n await this.callback()\n } catch (error) {\n this.handleError(error)\n }\n this.observer.unobserve(this.el)\n }\n\n handleClick = (): void => {\n this.load().catch(error => this.handleError(error))\n }\n\n handleError = (error): void => {\n console.error(error) // eslint-disable-line no-console\n this.errorMsg?.removeAttribute(\"hidden\")\n }\n\n static create = (selector: string, callback: () => any): void => {\n if (!Object.hasOwn(window, \"once\")) return\n window\n .once(\"intersection-loader\", selector)\n ?.forEach((el: HTMLElement): void => {\n const loader: IntersectionLoader = new IntersectionLoader(el, callback)\n loader.init()\n })\n }\n}\n"],"names":[],"mappings":"AAKA,MAAqB,sBAArB,MAAqB,oBAAmB;AAAA,EAOtC,YAAY,IAAiB,UAAqB;AAOlD,SAAA,OAAO,MAAY;AACZ,WAAA,WAAW,IAAI,qBAAqB,CAAS,UAAA;AAChD,cAAM,QAAQ,CAAC,EAAE,qBAAqB;AAChC,cAAA,qBAAqB,KAAK,EAAE,MAAM,CAAS,UAAA,KAAK,YAAY,KAAK,CAAC;AAAA,QAAA,CACvE;AAAA,MAAA,CACF;AACI,WAAA,SAAS,QAAQ,KAAK,EAAE;AAC7B,WAAK,aAAa,iBAAiB,SAAS,KAAK,WAAW;AAAA,IAAA;AAG9D,SAAA,OAAO,YAA2B;AAC5B,UAAA;AACF,cAAM,KAAK;eACJ,OAAO;AACd,aAAK,YAAY,KAAK;AAAA,MACxB;AACK,WAAA,SAAS,UAAU,KAAK,EAAE;AAAA,IAAA;AAGjC,SAAA,cAAc,MAAY;AACxB,WAAK,KAAO,EAAA,MAAM,WAAS,KAAK,YAAY,KAAK,CAAC;AAAA,IAAA;AAGpD,SAAA,cAAc,CAAC,UAAgB;AAC7B,cAAQ,MAAM,KAAK;AACd,WAAA,UAAU,gBAAgB,QAAQ;AAAA,IAAA;AA/BvC,SAAK,KAAK;AACV,SAAK,WAAW;AAChB,SAAK,cAAc,KAAK,GAAG,cAAc,sBAAsB;AAC/D,SAAK,WAAW,KAAK,GAAG,cAAc,mBAAmB;AAAA,EAC3D;AAuCF;AATS,oBAAA,SAAS,CAAC,UAAkB,aAA8B;AAC/D,MAAI,CAAC,OAAO,OAAO,QAAQ,MAAM,EAAG;AACpC,SACG,KAAK,uBAAuB,QAAQ,GACnC,QAAQ,CAAC,OAA0B;AACnC,UAAM,SAA6B,IAAI,oBAAmB,IAAI,QAAQ;AACtE,WAAO,KAAK;AAAA,EAAA,CACb;AAAA;AAjDP,IAAqB,qBAArB;"}
@@ -1,101 +0,0 @@
1
- class Keyboard {
2
- constructor() {
3
- this.attachPopup = (id, closefn) => {
4
- window.Mixtape.Popups.push({
5
- id,
6
- closefn
7
- });
8
- };
9
- this.detachPopup = (id) => {
10
- window.Mixtape.Popups = window.Mixtape.Popups.filter((item) => item.id !== id);
11
- };
12
- this.attachMenu = (context, items) => {
13
- window.Mixtape.Menu = {
14
- context,
15
- items
16
- };
17
- };
18
- this.detachMenu = () => {
19
- window.Mixtape.Menu = null;
20
- };
21
- this.getNextFocusableMenuItem = (active, back = false) => {
22
- if (!back) {
23
- return window.Mixtape.Menu.items.length > active + 1 ? active + 1 : 0;
24
- }
25
- return active === 0 ? window.Mixtape.Menu.items.length - 1 : active - 1;
26
- };
27
- this.moveFocus = (target, back = false) => {
28
- if (!window.Mixtape.Menu.items) return;
29
- let active = 0;
30
- window.Mixtape.Menu.items.forEach((element, index) => {
31
- if (element === target) {
32
- active = index;
33
- }
34
- });
35
- let focus = this.getNextFocusableMenuItem(active, back);
36
- let tabbable = window.Mixtape.Menu.items[focus].getAttribute("tabindex");
37
- if (tabbable !== "-1") {
38
- window.Mixtape.Menu.items[focus].focus();
39
- } else {
40
- while (tabbable === "-1") {
41
- focus = this.getNextFocusableMenuItem(focus, back);
42
- tabbable = window.Mixtape.Menu.items[focus].getAttribute("tabindex");
43
- }
44
- window.Mixtape.Menu.items[focus].focus();
45
- }
46
- window.Mixtape.Menu.active = focus;
47
- };
48
- this.handleGlobalClick = ({ target }) => {
49
- const activePopup = window.Mixtape.Popups ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1] : null;
50
- if (!activePopup) return;
51
- if (activePopup.id) {
52
- const popupEl = document.querySelector(
53
- `#${activePopup.id}`
54
- ).parentElement;
55
- if (popupEl && (target === popupEl || popupEl?.contains(target)))
56
- return;
57
- activePopup.closefn();
58
- }
59
- };
60
- this.handleGlobalKeydown = (event) => {
61
- const activePopup = window.Mixtape.Popups ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1] : null;
62
- const target = event.target;
63
- switch (event.key) {
64
- case "Escape":
65
- if (activePopup) {
66
- activePopup.closefn();
67
- }
68
- break;
69
- case "ArrowDown":
70
- case "ArrowRight":
71
- if (window.Mixtape.Menu?.items) {
72
- event.preventDefault();
73
- this.moveFocus(target);
74
- }
75
- break;
76
- case "ArrowUp":
77
- case "ArrowLeft":
78
- if (window.Mixtape.Menu?.items) {
79
- event.preventDefault();
80
- this.moveFocus(target, true);
81
- }
82
- break;
83
- }
84
- };
85
- this.attachEventListeners = (signal) => {
86
- window.addEventListener("click", this.handleGlobalClick, {
87
- signal
88
- });
89
- window.addEventListener("keydown", this.handleGlobalKeydown, {
90
- signal
91
- });
92
- };
93
- window.Mixtape = window.Mixtape || {};
94
- window.Mixtape.Popups = window.Mixtape.Popups || [];
95
- window.Mixtape.Menu = window.Mixtape.Menu || {};
96
- }
97
- }
98
- export {
99
- Keyboard as default
100
- };
101
- //# sourceMappingURL=keyboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.js","sources":["../../src/Utility/Elements/keyboard.ts"],"sourcesContent":["/**\n * Class for Keyboard navigation helper.\n */\n\nexport default class Keyboard {\n constructor() {\n window.Mixtape = window.Mixtape || {}\n window.Mixtape.Popups = window.Mixtape.Popups || []\n window.Mixtape.Menu = window.Mixtape.Menu || {}\n }\n\n attachPopup = (id: string, closefn: () => void): void => {\n window.Mixtape.Popups.push({\n id,\n closefn,\n })\n }\n\n detachPopup = (id: string): void => {\n window.Mixtape.Popups = window.Mixtape.Popups.filter(item => item.id !== id)\n }\n\n attachMenu = (\n context: HTMLElement,\n items: NodeListOf<HTMLAnchorElement | HTMLButtonElement>,\n ): void => {\n window.Mixtape.Menu = {\n context,\n items,\n }\n }\n\n detachMenu = (): void => {\n window.Mixtape.Menu = null\n }\n\n getNextFocusableMenuItem = (\n active: number,\n back: boolean = false,\n ): number => {\n if (!back) {\n // If moving forward, it's the active index + 1, or 0 if we are at the\n // end of the menu.\n return window.Mixtape.Menu.items.length > active + 1 ? active + 1 : 0\n }\n // If moving back, it's the active index - 1, or the menu length if we\n // are at the start of the menu.\n return active === 0 ? window.Mixtape.Menu.items.length - 1 : active - 1\n }\n\n moveFocus = (target: HTMLElement, back: boolean = false): void => {\n if (!window.Mixtape.Menu.items) return\n let active: number = 0\n // Retrieve the active menu item by looping through the list of menu links.\n window.Mixtape.Menu.items.forEach((element, index): void => {\n if (element === target) {\n active = index\n }\n })\n let focus: number = this.getNextFocusableMenuItem(active, back)\n\n // Check if item is tabbable.\n // Some menus, like the secondary nav have hidden items that require a\n // toggle to be clicked before the items are tabbable. This allows invisible\n // menu items to be skipped when moving focus with the this.\n // Make sure tabbable.\n let tabbable: string =\n window.Mixtape.Menu.items[focus].getAttribute(\"tabindex\")\n if (tabbable !== \"-1\") {\n window.Mixtape.Menu.items[focus].focus()\n } else {\n // Loop through items until we find a visible one.\n while (tabbable === \"-1\") {\n focus = this.getNextFocusableMenuItem(focus, back)\n tabbable = window.Mixtape.Menu.items[focus].getAttribute(\"tabindex\")\n }\n window.Mixtape.Menu.items[focus].focus()\n }\n\n window.Mixtape.Menu.active = focus\n }\n\n handleGlobalClick = ({ target }: MouseEvent): void => {\n const activePopup = window.Mixtape.Popups\n ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1]\n : null\n if (!activePopup) return\n\n // Click away from a popup to close it.\n // It's up to the popup class to preventDefault on it's contents to\n // stop this from being triggered.\n if (activePopup.id) {\n const popupEl: HTMLElement = document.querySelector(\n `#${activePopup.id}`,\n ).parentElement\n if (\n popupEl &&\n (target === popupEl || popupEl?.contains(target as HTMLElement))\n )\n return\n activePopup.closefn()\n }\n }\n\n handleGlobalKeydown = (event: KeyboardEvent): void => {\n const activePopup = window.Mixtape.Popups\n ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1]\n : null\n const target = event.target as HTMLElement\n\n switch (event.key) {\n // Escape always closes an open popup followed by any open popups.\n case \"Escape\":\n if (activePopup) {\n activePopup.closefn()\n }\n break\n\n // Down/Right arrows navigate focus forward, with wrapping.\n case \"ArrowDown\":\n case \"ArrowRight\":\n if (window.Mixtape.Menu?.items) {\n event.preventDefault()\n this.moveFocus(target)\n }\n break\n\n // Up/Left arrows navigate focus backwards, with wrapping.\n case \"ArrowUp\":\n case \"ArrowLeft\":\n if (window.Mixtape.Menu?.items) {\n event.preventDefault()\n this.moveFocus(target, true)\n }\n break\n\n default:\n break\n }\n }\n\n attachEventListeners = (signal: AbortSignal): void => {\n window.addEventListener(\"click\", this.handleGlobalClick, {\n signal,\n })\n window.addEventListener(\"keydown\", this.handleGlobalKeydown, {\n signal,\n })\n }\n}\n"],"names":[],"mappings":"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"}
package/src/index.css DELETED
@@ -1,27 +0,0 @@
1
- @import "constants.css";
2
- @import "./Atom/base.css";
3
- @import "./Layout/Section/section.css";
4
- @import "./Layout/Grid/grid.css";
5
- @import "./Layout/Page/page.css";
6
- @import "./Component/Accordion/accordion.css";
7
- @import "./Atom/Button/button.css";
8
- @import "./Atom/Icon/icon.css";
9
- @import "./Form/form.css";
10
- @import "./Layout/Masthead/masthead.css";
11
- @import "./Layout/Header/header.css";
12
- @import "./Layout/Footer/footer.css";
13
- @import "./Component/Navigation/navigation.css";
14
- @import "./Component/Tile/tiles.css";
15
- @import "./Component/Pagination/pagination.css";
16
- @import "./Component/InPageNavigation/in-page-navigation.css";
17
- @import "./Component/Sticky/sticky.css";
18
- @import "./Component/Tag/tag.css";
19
- @import "./Component/Card/card.css";
20
- @import "./Component/Dialog/dialog.css";
21
- @import "./Component/DropMenu/drop-menu.css";
22
- @import "./Component/ContentBlock/content-block.css";
23
- @import "./Component/LinkList/link-list.css";
24
- @import "./Component/Tabs/tabs.css";
25
- @import "./Component/InPageAlert/in-page-alert.css";
26
- @import "./Component/Callout/callout.css";
27
- @import "./Utility/utilities.css";