{"version":3,"file":"pages-home.js","mappings":"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","sources":["webpack://silverstripe-base/./themes/app/src/pages/home.js","webpack://silverstripe-base/./node_modules/selector-set/selector-set.next.js","webpack://silverstripe-base/./node_modules/delegated-events/dist/index.js"],"sourcesContent":["import { on } from \"delegated-events\";\nimport { gsap } from \"gsap\";\n\nconst headerSlider = document.querySelector(\".header-circle-slider\");\n\nclass HeaderCircle {\n constructor() {\n this.iconCircle = headerSlider.querySelector(\".slide-icons\");\n this.icons = this.iconCircle.querySelectorAll(\".slide-icon\");\n this.totalIcons = this.icons.length;\n this.activePos = Math.ceil(this.totalIcons / 2);\n this.tickInterval = null;\n\n const resizeObserver = new ResizeObserver(() => {\n requestAnimationFrame(this.setSize.bind(this));\n });\n\n resizeObserver.observe(document.body);\n\n this.setSize();\n this.activateIcon();\n this.start();\n\n document.addEventListener(\"visibilitychange\", () => {\n if (document.visibilityState === \"visible\") {\n this.start();\n } else {\n this.stop();\n }\n });\n\n on(\"click\", \".header-circle-slider .slide-icon\", (e) => {\n const target = e.target.closest(\".slide-icon\");\n const pos = parseInt(target.dataset.pos);\n\n if (pos === this.activePos) {\n return;\n }\n\n this.stop();\n\n let tickAmount = Math.abs(pos - this.activePos);\n\n if (pos > this.activePos) {\n tickAmount = this.totalIcons - (pos - this.activePos);\n }\n\n this.tick(tickAmount);\n this.start();\n });\n }\n\n start() {\n this.stop();\n\n this.tickInterval = setInterval(() => {\n this.tick();\n }, 5000);\n }\n\n stop() {\n clearInterval(this.tickInterval);\n }\n\n setSize() {\n this.icons.forEach((icon) => icon.classList.add(\"is-resetting\"));\n this.iconCircle.offsetHeight;\n this.iconCircle.style.setProperty(\"--radius\", `${headerSlider.getBoundingClientRect().width / 2}px`);\n this.icons.forEach((icon) => icon.classList.remove(\"is-resetting\"));\n }\n\n activateIcon() {\n gsap.to(`.slide-content`, { opacity: 0, yPercent: -50, duration: 0.8 });\n\n this.icons.forEach((icon) => {\n const pos = parseInt(icon.dataset.pos);\n\n if (pos === this.activePos) {\n icon.setAttribute(\"aria-selected\", \"true\");\n icon.classList.add(\"pointer-events-none\");\n\n gsap\n .timeline({ delay: 0.5 })\n .to(icon.querySelector(\".slide-icon-wrapper\"), { scale: 1.75 })\n .to(icon.querySelector(\".slide-icon-inner\"), { opacity: 1 }, \"<\")\n .to(icon, { duration: 0, onComplete: () => icon.classList.add(\"is-active\") }, \"<50%\")\n .fromTo(\n `.slide-content[data-id=\"${icon.dataset.id}\"]`,\n { opacity: 0, yPercent: 20 },\n { opacity: 1, yPercent: 0, duration: 0.8 },\n );\n } else {\n icon.setAttribute(\"aria-selected\", \"false\");\n icon.classList.remove(\"pointer-events-none\");\n\n gsap\n .timeline({ delay: 0.5 })\n .to(icon.querySelector(\".slide-icon-wrapper\"), { scale: 1 })\n .to(icon.querySelector(\".slide-icon-inner\"), { opacity: 0 }, \"<\")\n .to(icon, { duration: 0, onComplete: () => icon.classList.remove(\"is-active\") }, \"<50%\");\n }\n });\n }\n\n tick(offset = 1) {\n this.iconCircle.classList.add(\"is-transitioning\");\n\n this.icons.forEach((icon) => {\n const pos = parseInt(icon.dataset.pos);\n const stylePos = parseInt(getComputedStyle(icon).getPropertyValue(\"--pos\"));\n\n const nextPos = pos + offset;\n const nextRealPos = nextPos % this.totalIcons === 0 ? this.totalIcons : nextPos % this.totalIcons;\n\n icon.dataset.pos = nextRealPos;\n\n let nextStylePos = stylePos + offset;\n\n if (nextStylePos > this.totalIcons) {\n nextStylePos = nextStylePos + this.activePos;\n\n setTimeout(() => {\n icon.classList.add(\"is-resetting\");\n icon.style.setProperty(\"--pos\", nextRealPos);\n icon.offsetHeight;\n icon.classList.remove(\"is-resetting\");\n this.iconCircle.classList.remove(\"is-transitioning\");\n }, 1500);\n }\n\n icon.style.setProperty(\"--pos\", nextStylePos);\n });\n\n this.activateIcon();\n }\n}\n\nif (headerSlider) {\n new HeaderCircle();\n}\n","// Public: Create a new SelectorSet.\nexport default function SelectorSet() {\n // Construct new SelectorSet if called as a function.\n if (!(this instanceof SelectorSet)) {\n return new SelectorSet();\n }\n\n // Public: Number of selectors added to the set\n this.size = 0;\n\n // Internal: Incrementing ID counter\n this.uid = 0;\n\n // Internal: Array of String selectors in the set\n this.selectors = [];\n\n // Internal: Map of selector ids to objects\n this.selectorObjects = {};\n\n // Internal: All Object index String names mapping to Index objects.\n this.indexes = Object.create(this.indexes);\n\n // Internal: Used Object index String names mapping to Index objects.\n this.activeIndexes = [];\n}\n\n// Detect prefixed Element#matches function.\nvar docElem = window.document.documentElement;\nvar matches =\n docElem.matches ||\n docElem.webkitMatchesSelector ||\n docElem.mozMatchesSelector ||\n docElem.oMatchesSelector ||\n docElem.msMatchesSelector;\n\n// Public: Check if element matches selector.\n//\n// Maybe overridden with custom Element.matches function.\n//\n// el - An Element\n// selector - String CSS selector\n//\n// Returns true or false.\nSelectorSet.prototype.matchesSelector = function(el, selector) {\n return matches.call(el, selector);\n};\n\n// Public: Find all elements in the context that match the selector.\n//\n// Maybe overridden with custom querySelectorAll function.\n//\n// selectors - String CSS selectors.\n// context - Element context\n//\n// Returns non-live list of Elements.\nSelectorSet.prototype.querySelectorAll = function(selectors, context) {\n return context.querySelectorAll(selectors);\n};\n\n// Public: Array of indexes.\n//\n// name - Unique String name\n// selector - Function that takes a String selector and returns a String key\n// or undefined if it can't be used by the index.\n// element - Function that takes an Element and returns an Array of String\n// keys that point to indexed values.\n//\nSelectorSet.prototype.indexes = [];\n\n// Index by element id\nvar idRe = /^#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'ID',\n selector: function matchIdSelector(sel) {\n var m;\n if ((m = sel.match(idRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementId(el) {\n if (el.id) {\n return [el.id];\n }\n }\n});\n\n// Index by all of its class names\nvar classRe = /^\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'CLASS',\n selector: function matchClassSelector(sel) {\n var m;\n if ((m = sel.match(classRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementClassNames(el) {\n var className = el.className;\n if (className) {\n if (typeof className === 'string') {\n return className.split(/\\s/);\n } else if (typeof className === 'object' && 'baseVal' in className) {\n // className is a SVGAnimatedString\n // global SVGAnimatedString is not an exposed global in Opera 12\n return className.baseVal.split(/\\s/);\n }\n }\n }\n});\n\n// Index by tag/node name: `DIV`, `FORM`, `A`\nvar tagRe = /^((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'TAG',\n selector: function matchTagSelector(sel) {\n var m;\n if ((m = sel.match(tagRe))) {\n return m[0].toUpperCase();\n }\n },\n element: function getElementTagName(el) {\n return [el.nodeName.toUpperCase()];\n }\n});\n\n// Default index just contains a single array of elements.\nSelectorSet.prototype.indexes['default'] = {\n name: 'UNIVERSAL',\n selector: function() {\n return true;\n },\n element: function() {\n return [true];\n }\n};\n\n// Use ES Maps when supported\nvar Map;\nif (typeof window.Map === 'function') {\n Map = window.Map;\n} else {\n Map = (function() {\n function Map() {\n this.map = {};\n }\n Map.prototype.get = function(key) {\n return this.map[key + ' '];\n };\n Map.prototype.set = function(key, value) {\n this.map[key + ' '] = value;\n };\n return Map;\n })();\n}\n\n// Regexps adopted from Sizzle\n// https://github.com/jquery/sizzle/blob/1.7/sizzle.js\n//\nvar chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g;\n\n// Internal: Get indexes for selector.\n//\n// selector - String CSS selector\n//\n// Returns Array of {index, key}.\nfunction parseSelectorIndexes(allIndexes, selector) {\n allIndexes = allIndexes.slice(0).concat(allIndexes['default']);\n\n var allIndexesLen = allIndexes.length,\n i,\n j,\n m,\n dup,\n rest = selector,\n key,\n index,\n indexes = [];\n\n do {\n chunker.exec('');\n if ((m = chunker.exec(rest))) {\n rest = m[3];\n if (m[2] || !rest) {\n for (i = 0; i < allIndexesLen; i++) {\n index = allIndexes[i];\n if ((key = index.selector(m[1]))) {\n j = indexes.length;\n dup = false;\n while (j--) {\n if (indexes[j].index === index && indexes[j].key === key) {\n dup = true;\n break;\n }\n }\n if (!dup) {\n indexes.push({ index: index, key: key });\n }\n break;\n }\n }\n }\n }\n } while (m);\n\n return indexes;\n}\n\n// Internal: Find first item in Array that is a prototype of `proto`.\n//\n// ary - Array of objects\n// proto - Prototype of expected item in `ary`\n//\n// Returns object from `ary` if found. Otherwise returns undefined.\nfunction findByPrototype(ary, proto) {\n var i, len, item;\n for (i = 0, len = ary.length; i < len; i++) {\n item = ary[i];\n if (proto.isPrototypeOf(item)) {\n return item;\n }\n }\n}\n\n// Public: Log when added selector falls under the default index.\n//\n// This API should not be considered stable. May change between\n// minor versions.\n//\n// obj - {selector, data} Object\n//\n// SelectorSet.prototype.logDefaultIndexUsed = function(obj) {\n// console.warn(obj.selector, \"could not be indexed\");\n// };\n//\n// Returns nothing.\nSelectorSet.prototype.logDefaultIndexUsed = function() {};\n\n// Public: Add selector to set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.add = function(selector, data) {\n var obj,\n i,\n indexProto,\n key,\n index,\n objs,\n selectorIndexes,\n selectorIndex,\n indexes = this.activeIndexes,\n selectors = this.selectors,\n selectorObjects = this.selectorObjects;\n\n if (typeof selector !== 'string') {\n return;\n }\n\n obj = {\n id: this.uid++,\n selector: selector,\n data: data\n };\n selectorObjects[obj.id] = obj;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n key = selectorIndex.key;\n indexProto = selectorIndex.index;\n\n index = findByPrototype(indexes, indexProto);\n if (!index) {\n index = Object.create(indexProto);\n index.map = new Map();\n indexes.push(index);\n }\n\n if (indexProto === this.indexes['default']) {\n this.logDefaultIndexUsed(obj);\n }\n objs = index.map.get(key);\n if (!objs) {\n objs = [];\n index.map.set(key, objs);\n }\n objs.push(obj);\n }\n\n this.size++;\n selectors.push(selector);\n};\n\n// Public: Remove selector from set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.remove = function(selector, data) {\n if (typeof selector !== 'string') {\n return;\n }\n\n var selectorIndexes,\n selectorIndex,\n i,\n j,\n k,\n selIndex,\n objs,\n obj,\n indexes = this.activeIndexes,\n selectors = (this.selectors = []),\n selectorObjects = this.selectorObjects,\n removedIds = {},\n removeAll = arguments.length === 1;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n\n j = indexes.length;\n while (j--) {\n selIndex = indexes[j];\n if (selectorIndex.index.isPrototypeOf(selIndex)) {\n objs = selIndex.map.get(selectorIndex.key);\n if (objs) {\n k = objs.length;\n while (k--) {\n obj = objs[k];\n if (obj.selector === selector && (removeAll || obj.data === data)) {\n objs.splice(k, 1);\n removedIds[obj.id] = true;\n }\n }\n }\n break;\n }\n }\n }\n\n for (i in removedIds) {\n delete selectorObjects[i];\n this.size--;\n }\n\n for (i in selectorObjects) {\n selectors.push(selectorObjects[i].selector);\n }\n};\n\n// Sort by id property handler.\n//\n// a - Selector obj.\n// b - Selector obj.\n//\n// Returns Number.\nfunction sortById(a, b) {\n return a.id - b.id;\n}\n\n// Public: Find all matching decendants of the context element.\n//\n// context - An Element\n//\n// Returns Array of {selector, data, elements} matches.\nSelectorSet.prototype.queryAll = function(context) {\n if (!this.selectors.length) {\n return [];\n }\n\n var matches = {},\n results = [];\n var els = this.querySelectorAll(this.selectors.join(', '), context);\n\n var i, j, len, len2, el, m, match, obj;\n for (i = 0, len = els.length; i < len; i++) {\n el = els[i];\n m = this.matches(el);\n for (j = 0, len2 = m.length; j < len2; j++) {\n obj = m[j];\n if (!matches[obj.id]) {\n match = {\n id: obj.id,\n selector: obj.selector,\n data: obj.data,\n elements: []\n };\n matches[obj.id] = match;\n results.push(match);\n } else {\n match = matches[obj.id];\n }\n match.elements.push(el);\n }\n }\n\n return results.sort(sortById);\n};\n\n// Public: Match element against all selectors in set.\n//\n// el - An Element\n//\n// Returns Array of {selector, data} matches.\nSelectorSet.prototype.matches = function(el) {\n if (!el) {\n return [];\n }\n\n var i, j, k, len, len2, len3, index, keys, objs, obj, id;\n var indexes = this.activeIndexes,\n matchedIds = {},\n matches = [];\n\n for (i = 0, len = indexes.length; i < len; i++) {\n index = indexes[i];\n keys = index.element(el);\n if (keys) {\n for (j = 0, len2 = keys.length; j < len2; j++) {\n if ((objs = index.map.get(keys[j]))) {\n for (k = 0, len3 = objs.length; k < len3; k++) {\n obj = objs[k];\n id = obj.id;\n if (!matchedIds[id] && this.matchesSelector(el, obj.selector)) {\n matchedIds[id] = true;\n matches.push(obj);\n }\n }\n }\n }\n }\n }\n\n return matches.sort(sortById);\n};\n","import SelectorSet from 'selector-set';\n\nvar bubbleEvents = {};\nvar captureEvents = {};\nvar propagationStopped = new WeakMap();\nvar immediatePropagationStopped = new WeakMap();\nvar currentTargets = new WeakMap();\nvar currentTargetDesc = Object.getOwnPropertyDescriptor(Event.prototype, 'currentTarget');\n\nfunction before(subject, verb, fn) {\n var source = subject[verb];\n\n subject[verb] = function () {\n fn.apply(subject, arguments);\n return source.apply(subject, arguments);\n };\n\n return subject;\n}\n\nfunction matches(selectors, target, reverse) {\n var queue = [];\n var node = target;\n\n do {\n if (node.nodeType !== 1) break;\n\n var _matches = selectors.matches(node);\n\n if (_matches.length) {\n var matched = {\n node: node,\n observers: _matches\n };\n\n if (reverse) {\n queue.unshift(matched);\n } else {\n queue.push(matched);\n }\n }\n } while (node = node.parentElement);\n\n return queue;\n}\n\nfunction trackPropagation() {\n propagationStopped.set(this, true);\n}\n\nfunction trackImmediate() {\n propagationStopped.set(this, true);\n immediatePropagationStopped.set(this, true);\n}\n\nfunction getCurrentTarget() {\n return currentTargets.get(this) || null;\n}\n\nfunction defineCurrentTarget(event, getter) {\n if (!currentTargetDesc) return;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n enumerable: true,\n get: getter || currentTargetDesc.get\n });\n}\n\nfunction canDispatch(event) {\n try {\n event.eventPhase;\n return true;\n } catch (_) {\n return false;\n }\n}\n\nfunction dispatch(event) {\n if (!canDispatch(event)) return;\n var events = event.eventPhase === 1 ? captureEvents : bubbleEvents;\n var selectors = events[event.type];\n if (!selectors) return;\n var queue = matches(selectors, event.target, event.eventPhase === 1);\n if (!queue.length) return;\n before(event, 'stopPropagation', trackPropagation);\n before(event, 'stopImmediatePropagation', trackImmediate);\n defineCurrentTarget(event, getCurrentTarget);\n\n for (var i = 0, len1 = queue.length; i < len1; i++) {\n if (propagationStopped.get(event)) break;\n var matched = queue[i];\n currentTargets.set(event, matched.node);\n\n for (var j = 0, len2 = matched.observers.length; j < len2; j++) {\n if (immediatePropagationStopped.get(event)) break;\n matched.observers[j].data.call(matched.node, event);\n }\n }\n\n currentTargets[\"delete\"](event);\n defineCurrentTarget(event);\n}\n\nfunction on(name, selector, fn) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var capture = options.capture ? true : false;\n var events = capture ? captureEvents : bubbleEvents;\n var selectors = events[name];\n\n if (!selectors) {\n selectors = new SelectorSet();\n events[name] = selectors;\n document.addEventListener(name, dispatch, capture);\n }\n\n selectors.add(selector, fn);\n}\nfunction off(name, selector, fn) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var capture = options.capture ? true : false;\n var events = capture ? captureEvents : bubbleEvents;\n var selectors = events[name];\n if (!selectors) return;\n selectors.remove(selector, fn);\n if (selectors.size) return;\n delete events[name];\n document.removeEventListener(name, dispatch, capture);\n}\nfunction fire(target, name, detail) {\n return target.dispatchEvent(new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: detail\n }));\n}\n\nexport { fire, off, on };\n"],"names":["headerSlider","document","querySelector","constructor","this","iconCircle","icons","querySelectorAll","totalIcons","length","activePos","Math","ceil","tickInterval","ResizeObserver","requestAnimationFrame","setSize","bind","observe","body","activateIcon","start","addEventListener","visibilityState","stop","on","e","target","closest","pos","parseInt","dataset","tickAmount","abs","tick","setInterval","clearInterval","forEach","icon","classList","add","offsetHeight","style","setProperty","getBoundingClientRect","width","remove","gsap","to","opacity","yPercent","duration","setAttribute","timeline","delay","scale","onComplete","fromTo","id","offset","stylePos","getComputedStyle","getPropertyValue","nextPos","nextRealPos","nextStylePos","setTimeout","SelectorSet","size","uid","selectors","selectorObjects","indexes","Object","create","activeIndexes","docElem","window","documentElement","matches","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","prototype","matchesSelector","el","selector","call","context","idRe","push","name","sel","m","match","slice","element","classRe","className","split","baseVal","Map","tagRe","toUpperCase","nodeName","map","get","key","set","value","chunker","parseSelectorIndexes","allIndexes","i","j","dup","index","allIndexesLen","concat","rest","exec","findByPrototype","ary","proto","len","item","isPrototypeOf","sortById","a","b","logDefaultIndexUsed","data","obj","indexProto","objs","selectorIndexes","selectorIndex","k","selIndex","removedIds","removeAll","arguments","splice","queryAll","len2","results","els","join","elements","sort","len3","keys","matchedIds","bubbleEvents","captureEvents","propagationStopped","WeakMap","immediatePropagationStopped","currentTargets","currentTargetDesc","getOwnPropertyDescriptor","Event","before","subject","verb","fn","source","apply","trackPropagation","trackImmediate","getCurrentTarget","defineCurrentTarget","event","getter","defineProperty","configurable","enumerable","dispatch","eventPhase","_","canDispatch","type","queue","reverse","node","nodeType","_matches","matched","observers","unshift","parentElement","len1","capture","undefined","events","off","removeEventListener","fire","detail","dispatchEvent","CustomEvent","bubbles","cancelable"],"sourceRoot":""}