@searchcraft/react-sdk 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +152 -156
- package/dist/index.d.ts +8 -28
- package/dist/index.js +2128 -1347
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../javascript-sdk/dist/components/p-e4846fa2.js","../../javascript-sdk/dist/components/p-d6a88eed.js","../../javascript-sdk/dist/components/p-04c46179.js","../../javascript-sdk/dist/components/searchcraft-base-search-result.js","../../javascript-sdk/dist/components/p-755f491b.js","../../javascript-sdk/dist/components/p-d9551738.js","../../javascript-sdk/dist/components/p-953f4238.js","../../javascript-sdk/dist/components/searchcraft-base-search-results.js","../../javascript-sdk/dist/components/p-5cdc6210.js","../../javascript-sdk/dist/components/p-f9d778b3.js","../../javascript-sdk/dist/components/searchcraft-button.js","../../javascript-sdk/dist/components/searchcraft-error-message.js","../../javascript-sdk/dist/components/p-a248ad69.js","../../javascript-sdk/dist/components/searchcraft-facet-list.js","../../javascript-sdk/dist/components/p-0e38a723.js","../../javascript-sdk/dist/components/p-4c45ef80.js","../../javascript-sdk/dist/components/searchcraft-filter-panel.js","../../javascript-sdk/dist/components/p-a9bd1872.js","../../javascript-sdk/dist/components/p-02a16e53.js","../../javascript-sdk/dist/components/searchcraft-input-form.js","../../javascript-sdk/dist/components/searchcraft-input-label.js","../../javascript-sdk/dist/components/searchcraft-results-info.js","../../javascript-sdk/dist/components/searchcraft-slider.js","../../javascript-sdk/dist/components/searchcraft-toggle-button.js","../../../node_modules/@lit/react/create-component.js","../../../node_modules/@stencil/react-output-target/dist/react.js","../src/stencil-web-components/components.ts","../src/components/SearchcraftBaseSearchResult.tsx","../src/components/SearchcraftBaseSearchResults.tsx","../src/components/SearchcraftButton.tsx","../src/components/SearchcraftErrorMessage.tsx","../src/components/SearchcraftFacetList.tsx","../src/components/SearchcraftFilterPanel.tsx","../src/components/SearchcraftInputForm.tsx","../src/components/SearchcraftInputLabel.tsx","../src/components/SearchcraftResultsInfo.tsx","../src/components/SearchcraftSlider.tsx","../src/components/SearchcraftToggleButton.tsx"],"sourcesContent":["const NAMESPACE = 'searchcraft-javascript-sdk';\nconst BUILD = /* searchcraft-javascript-sdk */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: \"hydrated\", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: false, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };\n\n/*\n Stencil Client Platform v4.22.3 | MIT Licensed | https://stenciljs.com\n */\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar hostRefs = /* @__PURE__ */ new WeakMap();\nvar getHostRef = (ref) => hostRefs.get(ref);\nvar registerHost = (hostElement, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: hostElement,\n $cmpMeta$: cmpMeta,\n $instanceValues$: /* @__PURE__ */ new Map()\n };\n {\n hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);\n hostElement[\"s-p\"] = [];\n hostElement[\"s-rc\"] = [];\n }\n return hostRefs.set(hostElement, hostRef);\n};\nvar isMemberInElement = (elm, memberName) => memberName in elm;\nvar consoleError = (e, el) => (0, console.error)(e, el);\n\n// src/client/client-style.ts\nvar styles = /* @__PURE__ */ new Map();\nvar SLOT_FB_CSS = \"slot-fb{display:contents}slot-fb[hidden]{display:none}\";\nvar win = typeof window !== \"undefined\" ? window : {};\nvar doc = win.document || { head: {} };\nvar H = win.HTMLElement || class {\n};\nvar plt = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (h2) => h2(),\n raf: (h2) => requestAnimationFrame(h2),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts)\n};\nvar supportsShadow = BUILD.shadowDom;\nvar promiseResolve = (v) => Promise.resolve(v);\nvar supportsConstructableStylesheets = /* @__PURE__ */ (() => {\n try {\n new CSSStyleSheet();\n return typeof new CSSStyleSheet().replaceSync === \"function\";\n } catch (e) {\n }\n return false;\n})() ;\nvar queuePending = false;\nvar queueDomReads = [];\nvar queueDomWrites = [];\nvar queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n } else {\n plt.raf(flush);\n }\n }\n};\nvar consume = (queue) => {\n for (let i2 = 0; i2 < queue.length; i2++) {\n try {\n queue[i2](performance.now());\n } catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nvar flush = () => {\n consume(queueDomReads);\n {\n consume(queueDomWrites);\n if (queuePending = queueDomReads.length > 0) {\n plt.raf(flush);\n }\n }\n};\nvar nextTick = (cb) => promiseResolve().then(cb);\nvar writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);\n\n// src/runtime/asset-path.ts\nvar getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nvar setAssetPath = (path) => plt.$resourcesUrl$ = path;\n\n// src/utils/constants.ts\nvar EMPTY_OBJ = {};\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\nvar HTML_NS = \"http://www.w3.org/1999/xhtml\";\n\n// src/utils/helpers.ts\nvar isDef = (v) => v != null;\nvar isComplexType = (o) => {\n o = typeof o;\n return o === \"object\" || o === \"function\";\n};\n\n// src/utils/query-nonce-meta-tag-content.ts\nfunction queryNonceMetaTagContent(doc2) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) == null ? void 0 : _b.getAttribute(\"content\")) != null ? _c : void 0;\n}\n\n// src/utils/result.ts\nvar result_exports = {};\n__export(result_exports, {\n err: () => err,\n map: () => map,\n ok: () => ok,\n unwrap: () => unwrap,\n unwrapErr: () => unwrapErr\n});\nvar ok = (value) => ({\n isOk: true,\n isErr: false,\n value\n});\nvar err = (value) => ({\n isOk: false,\n isErr: true,\n value\n});\nfunction map(result, fn) {\n if (result.isOk) {\n const val = fn(result.value);\n if (val instanceof Promise) {\n return val.then((newVal) => ok(newVal));\n } else {\n return ok(val);\n }\n }\n if (result.isErr) {\n const value = result.value;\n return err(value);\n }\n throw \"should never get here\";\n}\nvar unwrap = (result) => {\n if (result.isOk) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar unwrapErr = (result) => {\n if (result.isErr) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar createTime = (fnName, tagName = \"\") => {\n {\n return () => {\n return;\n };\n }\n};\nvar h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n const vNodeChildren = [];\n const walk = (c) => {\n for (let i2 = 0; i2 < c.length; i2++) {\n child = c[i2];\n if (Array.isArray(child)) {\n walk(child);\n } else if (child != null && typeof child !== \"boolean\") {\n if (simple = typeof nodeName !== \"function\" && !isComplexType(child)) {\n child = String(child);\n }\n if (simple && lastSimple) {\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n } else {\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (vnodeData.key) {\n key = vnodeData.key;\n }\n if (vnodeData.name) {\n slotName = vnodeData.name;\n }\n {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class = typeof classData !== \"object\" ? classData : Object.keys(classData).filter((k) => classData[k]).join(\" \");\n }\n }\n }\n if (typeof nodeName === \"function\") {\n return nodeName(\n vnodeData === null ? {} : vnodeData,\n vNodeChildren,\n vdomFnUtils\n );\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n {\n vnode.$key$ = key;\n }\n {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nvar newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null\n };\n {\n vnode.$attrs$ = null;\n }\n {\n vnode.$key$ = null;\n }\n {\n vnode.$name$ = null;\n }\n return vnode;\n};\nvar Host = {};\nvar isHost = (node) => node && node.$tag$ === Host;\nvar vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)\n};\nvar convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$\n});\nvar convertToPrivate = (node) => {\n if (typeof node.vtag === \"function\") {\n const vnodeData = { ...node.vattrs };\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nvar parsePropertyValue = (propValue, propType) => {\n if (propValue != null && !isComplexType(propValue)) {\n if (propType & 4 /* Boolean */) {\n return propValue === \"false\" ? false : propValue === \"\" || !!propValue;\n }\n if (propType & 2 /* Number */) {\n return parseFloat(propValue);\n }\n if (propType & 1 /* String */) {\n return String(propValue);\n }\n return propValue;\n }\n return propValue;\n};\nvar getElement = (ref) => ref;\n\n// src/runtime/event-emitter.ts\nvar createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail\n });\n }\n };\n};\nvar emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nvar rootAppliedStyles = /* @__PURE__ */ new WeakMap();\nvar registerStyle = (scopeId2, cssText, allowCS) => {\n let style = styles.get(scopeId2);\n if (supportsConstructableStylesheets && allowCS) {\n style = style || new CSSStyleSheet();\n if (typeof style === \"string\") {\n style = cssText;\n } else {\n style.replaceSync(cssText);\n }\n } else {\n style = cssText;\n }\n styles.set(scopeId2, style);\n};\nvar addStyle = (styleContainerNode, cmpMeta, mode) => {\n var _a;\n const scopeId2 = getScopeId(cmpMeta);\n const style = styles.get(scopeId2);\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === \"string\") {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());\n }\n if (!appliedStyles.has(scopeId2)) {\n {\n styleElm = doc.createElement(\"style\");\n styleElm.innerHTML = style;\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n styleElm.setAttribute(\"nonce\", nonce);\n }\n if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {\n if (styleContainerNode.nodeName === \"HEAD\") {\n const preconnectLinks = styleContainerNode.querySelectorAll(\"link[rel=preconnect]\");\n const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector(\"style\");\n styleContainerNode.insertBefore(styleElm, referenceNode2);\n } else if (\"host\" in styleContainerNode) {\n if (supportsConstructableStylesheets) {\n const stylesheet = new CSSStyleSheet();\n stylesheet.replaceSync(style);\n styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];\n } else {\n const existingStyleContainer = styleContainerNode.querySelector(\"style\");\n if (existingStyleContainer) {\n existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;\n } else {\n styleContainerNode.prepend(styleElm);\n }\n }\n } else {\n styleContainerNode.append(styleElm);\n }\n }\n if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== \"HEAD\") {\n styleContainerNode.insertBefore(styleElm, null);\n }\n }\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n styleElm.innerHTML += SLOT_FB_CSS;\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId2);\n }\n }\n } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId2;\n};\nvar attachStyles = (hostRef) => {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const endAttachStyles = createTime(\"attachStyles\", cmpMeta.$tagName$);\n addStyle(\n elm.getRootNode(),\n cmpMeta);\n endAttachStyles();\n};\nvar getScopeId = (cmp, mode) => \"sc-\" + (cmp.$tagName$);\nvar setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (memberName === \"class\") {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n } else if (memberName === \"style\") {\n {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (prop.includes(\"-\")) {\n elm.style.removeProperty(prop);\n } else {\n elm.style[prop] = \"\";\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (prop.includes(\"-\")) {\n elm.style.setProperty(prop, newValue[prop]);\n } else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n } else if (memberName === \"key\") ; else if ((!elm.__lookupSetter__(memberName)) && memberName[0] === \"o\" && memberName[1] === \"n\") {\n if (memberName[2] === \"-\") {\n memberName = memberName.slice(3);\n } else if (isMemberInElement(win, ln)) {\n memberName = ln.slice(2);\n } else {\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue || newValue) {\n const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);\n memberName = memberName.replace(CAPTURE_EVENT_REGEX, \"\");\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, capture);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, capture);\n }\n }\n } else {\n const isComplex = isComplexType(newValue);\n if ((isProp || isComplex && newValue !== null) && !isSvg) {\n try {\n if (!elm.tagName.includes(\"-\")) {\n const n = newValue == null ? \"\" : newValue;\n if (memberName === \"list\") {\n isProp = false;\n } else if (oldValue == null || elm[memberName] != n) {\n if (typeof elm.__lookupSetter__(memberName) === \"function\") {\n elm[memberName] = n;\n } else {\n elm.setAttribute(memberName, n);\n }\n }\n } else {\n elm[memberName] = newValue;\n }\n } catch (e) {\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === \"\") {\n {\n elm.removeAttribute(memberName);\n }\n }\n } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? \"\" : newValue;\n {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nvar parseClassListRegex = /\\s/;\nvar parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);\nvar CAPTURE_EVENT_SUFFIX = \"Capture\";\nvar CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + \"$\");\n\n// src/runtime/vdom/update-element.ts\nvar updateElement = (oldVnode, newVnode, isSvgMode2) => {\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n {\n for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);\n }\n }\n }\n for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);\n }\n};\nfunction sortedAttrNames(attrNames) {\n return attrNames.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...attrNames.filter((attr) => attr !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n attrNames\n );\n}\n\n// src/runtime/vdom/vdom-render.ts\nvar scopeId;\nvar contentRef;\nvar hostTagName;\nvar useNativeShadowDom = false;\nvar checkSlotFallbackVisibility = false;\nvar checkSlotRelocate = false;\nvar isSvgMode = false;\nvar createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {\n var _a;\n const newVNode2 = newParentVNode.$children$[childIndex];\n let i2 = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (!useNativeShadowDom) {\n checkSlotRelocate = true;\n if (newVNode2.$tag$ === \"slot\") {\n newVNode2.$flags$ |= newVNode2.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2 /* isSlotFallback */\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1 /* isSlotReference */\n );\n }\n }\n if (newVNode2.$text$ !== null) {\n elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);\n } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {\n elm = newVNode2.$elm$ = doc.createTextNode(\"\");\n } else {\n if (!isSvgMode) {\n isSvgMode = newVNode2.$tag$ === \"svg\";\n }\n elm = newVNode2.$elm$ = doc.createElementNS(\n isSvgMode ? SVG_NS : HTML_NS,\n !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n ) ;\n if (isSvgMode && newVNode2.$tag$ === \"foreignObject\") {\n isSvgMode = false;\n }\n {\n updateElement(null, newVNode2, isSvgMode);\n }\n const rootNode = elm.getRootNode();\n const isElementWithinShadowRoot = !rootNode.querySelector(\"body\");\n if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm[\"s-si\"] !== scopeId) {\n elm.classList.add(elm[\"s-si\"] = scopeId);\n }\n if (newVNode2.$children$) {\n for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {\n childNode = createElm(oldParentVNode, newVNode2, i2);\n if (childNode) {\n elm.appendChild(childNode);\n }\n }\n }\n {\n if (newVNode2.$tag$ === \"svg\") {\n isSvgMode = false;\n } else if (elm.tagName === \"foreignObject\") {\n isSvgMode = true;\n }\n }\n }\n elm[\"s-hn\"] = hostTagName;\n {\n if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n elm[\"s-sr\"] = true;\n elm[\"s-cr\"] = contentRef;\n elm[\"s-sn\"] = newVNode2.$name$ || \"\";\n elm[\"s-rf\"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {\n {\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n }\n return elm;\n};\nvar putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = Array.from(parentElm.childNodes);\n if (parentElm[\"s-sr\"] && BUILD.experimentalSlotFixes) {\n let node = parentElm;\n while (node = node.nextSibling) {\n if (node && node[\"s-sn\"] === parentElm[\"s-sn\"] && node[\"s-sh\"] === hostTagName) {\n oldSlotChildNodes.push(node);\n }\n }\n }\n for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {\n const childNode = oldSlotChildNodes[i2];\n if (childNode[\"s-hn\"] !== hostTagName && childNode[\"s-ol\"]) {\n insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));\n childNode[\"s-ol\"].remove();\n childNode[\"s-ol\"] = void 0;\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = parentElm[\"s-cr\"] && parentElm[\"s-cr\"].parentNode || parentElm;\n let childNode;\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n insertBefore(containerElm, childNode, referenceNode(before) );\n }\n }\n }\n};\nvar removeVnodes = (vnodes, startIdx, endIdx) => {\n for (let index = startIdx; index <= endIdx; ++index) {\n const vnode = vnodes[index];\n if (vnode) {\n const elm = vnode.$elm$;\n if (elm) {\n {\n checkSlotFallbackVisibility = true;\n if (elm[\"s-ol\"]) {\n elm[\"s-ol\"].remove();\n } else {\n putBackInOriginalLocation(elm, true);\n }\n }\n elm.remove();\n }\n }\n }\n};\nvar updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i2 = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n } else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n } else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {\n patch(oldStartVnode, newStartVnode, isInitialRender);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {\n patch(oldEndVnode, newEndVnode, isInitialRender);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {\n if ((oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode, isInitialRender);\n insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {\n if ((oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode, isInitialRender);\n insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n idxInOld = -1;\n {\n for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {\n if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {\n idxInOld = i2;\n break;\n }\n }\n }\n if (idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);\n } else {\n patch(elmToMove, newStartVnode, isInitialRender);\n oldCh[idxInOld] = void 0;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n } else {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n {\n insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(\n parentElm,\n newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,\n newVNode2,\n newCh,\n newStartIdx,\n newEndIdx\n );\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nvar isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {\n if (leftVNode.$tag$ === rightVNode.$tag$) {\n if (leftVNode.$tag$ === \"slot\") {\n if (\n // The component gets hydrated and no VDOM has been initialized.\n // Here the comparison can't happen as $name$ property is not set for `leftNode`.\n \"$nodeId$\" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many\n // hydration comments to be removed\n leftVNode.$elm$.nodeType !== 8\n ) {\n return false;\n }\n return leftVNode.$name$ === rightVNode.$name$;\n }\n if (!isInitialRender) {\n return leftVNode.$key$ === rightVNode.$key$;\n }\n return true;\n }\n return false;\n};\nvar referenceNode = (node) => {\n return node && node[\"s-ol\"] || node;\n};\nvar parentReferenceNode = (node) => (node[\"s-ol\"] ? node[\"s-ol\"] : node).parentNode;\nvar patch = (oldVNode, newVNode2, isInitialRender = false) => {\n const elm = newVNode2.$elm$ = oldVNode.$elm$;\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode2.$children$;\n const tag = newVNode2.$tag$;\n const text = newVNode2.$text$;\n let defaultHolder;\n if (text === null) {\n {\n isSvgMode = tag === \"svg\" ? true : tag === \"foreignObject\" ? false : isSvgMode;\n }\n {\n if (tag === \"slot\" && !useNativeShadowDom) ; else {\n updateElement(oldVNode, newVNode2, isSvgMode);\n }\n }\n if (oldChildren !== null && newChildren !== null) {\n updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);\n } else if (newChildren !== null) {\n if (oldVNode.$text$ !== null) {\n elm.textContent = \"\";\n }\n addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);\n } else if (\n // don't do this on initial render as it can cause non-hydrated content to be removed\n !isInitialRender && BUILD.updatable && oldChildren !== null\n ) {\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (isSvgMode && tag === \"svg\") {\n isSvgMode = false;\n }\n } else if ((defaultHolder = elm[\"s-cr\"])) {\n defaultHolder.parentNode.textContent = text;\n } else if (oldVNode.$text$ !== text) {\n elm.data = text;\n }\n};\nvar updateFallbackSlotVisibility = (elm) => {\n const childNodes = elm.childNodes;\n for (const childNode of childNodes) {\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode[\"s-sr\"]) {\n const slotName = childNode[\"s-sn\"];\n childNode.hidden = false;\n for (const siblingNode of childNodes) {\n if (siblingNode !== childNode) {\n if (siblingNode[\"s-hn\"] !== childNode[\"s-hn\"] || slotName !== \"\") {\n if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute(\"slot\") || slotName === siblingNode[\"s-sn\"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode[\"s-sn\"]) {\n childNode.hidden = true;\n break;\n }\n } else {\n if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== \"\") {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nvar relocateNodes = [];\nvar markSlotContentForRelocation = (elm) => {\n let node;\n let hostContentNodes;\n let j;\n for (const childNode of elm.childNodes) {\n if (childNode[\"s-sr\"] && (node = childNode[\"s-cr\"]) && node.parentNode) {\n hostContentNodes = node.parentNode.childNodes;\n const slotName = childNode[\"s-sn\"];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node[\"s-cn\"] && !node[\"s-nr\"] && node[\"s-hn\"] !== childNode[\"s-hn\"] && (!BUILD.experimentalSlotFixes )) {\n if (isNodeLocatedInSlot(node, slotName)) {\n let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n checkSlotFallbackVisibility = true;\n node[\"s-sn\"] = node[\"s-sn\"] || slotName;\n if (relocateNodeData) {\n relocateNodeData.$nodeToRelocate$[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodeData.$slotRefNode$ = childNode;\n } else {\n node[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node\n });\n }\n if (node[\"s-sr\"]) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node[\"s-sn\"])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n relocateNodes.push({\n $nodeToRelocate$: node\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n markSlotContentForRelocation(childNode);\n }\n }\n};\nvar isNodeLocatedInSlot = (nodeToRelocate, slotName) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute(\"slot\") === null && slotName === \"\") {\n return true;\n }\n if (nodeToRelocate.getAttribute(\"slot\") === slotName) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate[\"s-sn\"] === slotName) {\n return true;\n }\n return slotName === \"\";\n};\nvar insertBefore = (parent, newNode, reference) => {\n const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);\n return inserted;\n};\nvar renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {\n var _a, _b, _c, _d;\n const hostElm = hostRef.$hostElement$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n if (isInitialLoad && rootVnode.$attrs$) {\n for (const key of Object.keys(rootVnode.$attrs$)) {\n if (hostElm.hasAttribute(key) && ![\"key\", \"ref\", \"style\", \"class\"].includes(key)) {\n rootVnode.$attrs$[key] = hostElm[key];\n }\n }\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = hostElm;\n useNativeShadowDom = supportsShadow ;\n {\n contentRef = hostElm[\"s-cr\"];\n checkSlotFallbackVisibility = false;\n }\n patch(oldVNode, rootVnode, isInitialLoad);\n {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n markSlotContentForRelocation(rootVnode.$elm$);\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate[\"s-ol\"]) {\n const orgLocationNode = doc.createTextNode(\"\");\n orgLocationNode[\"s-nr\"] = nodeToRelocate;\n insertBefore(nodeToRelocate.parentNode, nodeToRelocate[\"s-ol\"] = orgLocationNode, nodeToRelocate);\n }\n }\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n const slotRefNode = relocateData.$slotRefNode$;\n if (slotRefNode) {\n const parentNodeRef = slotRefNode.parentNode;\n let insertBeforeNode = slotRefNode.nextSibling;\n {\n let orgLocationNode = (_a = nodeToRelocate[\"s-ol\"]) == null ? void 0 : _a.previousSibling;\n while (orgLocationNode) {\n let refNode = (_b = orgLocationNode[\"s-nr\"]) != null ? _b : null;\n if (refNode && refNode[\"s-sn\"] === nodeToRelocate[\"s-sn\"] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode[\"s-sr\"])) {\n refNode = refNode == null ? void 0 : refNode.nextSibling;\n }\n if (!refNode || !refNode[\"s-nr\"]) {\n insertBeforeNode = refNode;\n break;\n }\n }\n orgLocationNode = orgLocationNode.previousSibling;\n }\n }\n if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate[\"s-hn\"] && nodeToRelocate[\"s-ol\"]) {\n nodeToRelocate[\"s-hn\"] = nodeToRelocate[\"s-ol\"].parentNode.nodeName;\n }\n insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = (_c = nodeToRelocate[\"s-ih\"]) != null ? _c : false;\n }\n }\n }\n nodeToRelocate && typeof slotRefNode[\"s-rf\"] === \"function\" && slotRefNode[\"s-rf\"](nodeToRelocate);\n } else {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (isInitialLoad) {\n nodeToRelocate[\"s-ih\"] = (_d = nodeToRelocate.hidden) != null ? _d : false;\n }\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n relocateNodes.length = 0;\n }\n contentRef = void 0;\n};\n\n// src/runtime/update-component.ts\nvar attachToAncestor = (hostRef, ancestorComponent) => {\n if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent[\"s-p\"]) {\n ancestorComponent[\"s-p\"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));\n }\n};\nvar scheduleUpdate = (hostRef, isInitialLoad) => {\n {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return writeTask(dispatch) ;\n};\nvar dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime(\"scheduleUpdate\", hostRef.$cmpMeta$.$tagName$);\n const instance = elm;\n if (!instance) {\n throw new Error(\n `Can't render component <${elm.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`\n );\n }\n let maybePromise;\n endSchedule();\n return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nvar enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {\n console.error(err2);\n fn();\n}) : fn();\nvar isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === \"function\";\nvar updateComponent = async (hostRef, instance, isInitialLoad) => {\n var _a;\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime(\"update\", hostRef.$cmpMeta$.$tagName$);\n const rc = elm[\"s-rc\"];\n if (isInitialLoad) {\n attachStyles(hostRef);\n }\n const endRender = createTime(\"render\", hostRef.$cmpMeta$.$tagName$);\n {\n callRender(hostRef, instance, elm, isInitialLoad);\n }\n if (rc) {\n rc.map((cb) => cb());\n elm[\"s-rc\"] = void 0;\n }\n endRender();\n endUpdate();\n {\n const childrenPromises = (_a = elm[\"s-p\"]) != null ? _a : [];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n } else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n }\n};\nvar callRender = (hostRef, instance, elm, isInitialLoad) => {\n try {\n instance = instance.render() ;\n {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n {\n {\n {\n renderVdom(hostRef, instance, isInitialLoad);\n }\n }\n }\n } catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n return null;\n};\nvar postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime(\"postUpdate\", tagName);\n const instance = elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n {\n addHydratedFlag(elm);\n }\n {\n safeCall(instance, \"componentDidLoad\");\n }\n endPostUpdate();\n {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad();\n }\n }\n } else {\n endPostUpdate();\n }\n {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = void 0;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n};\nvar appDidLoad = (who) => {\n {\n addHydratedFlag(doc.documentElement);\n }\n nextTick(() => emitEvent(win, \"appload\", { detail: { namespace: NAMESPACE } }));\n};\nvar safeCall = (instance, method, arg) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n } catch (e) {\n consoleError(e);\n }\n }\n return void 0;\n};\nvar addHydratedFlag = (elm) => {\n var _a;\n return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : \"hydrated\") ;\n};\n\n// src/runtime/set-value.ts\nvar getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nvar setValue = (ref, propName, newVal, cmpMeta) => {\n const hostRef = getHostRef(ref);\n const elm = ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);\n const didValueChange = newVal !== oldVal && !areBothNaN;\n if (didValueChange) {\n hostRef.$instanceValues$.set(propName, newVal);\n {\n if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n watchMethods.map((watchMethodName) => {\n try {\n instance[watchMethodName](newVal, oldVal, propName);\n } catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\n\n// src/runtime/proxy-component.ts\nvar proxyComponent = (Cstr, cmpMeta, flags) => {\n var _a, _b;\n const prototype = Cstr.prototype;\n if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {\n if (Cstr.watchers && !cmpMeta.$watchers$) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});\n members.map(([memberName, [memberFlags]]) => {\n if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {\n Object.defineProperty(prototype, memberName, {\n get() {\n return getValue(this, memberName);\n },\n set(newValue) {\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true\n });\n }\n });\n {\n const attrNameToPropName = /* @__PURE__ */ new Map();\n prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {\n plt.jmp(() => {\n var _a2;\n const propName = attrNameToPropName.get(attrName);\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === \"number\" && // cast type to number to avoid TS compiler issues\n this[propName] == newValue) {\n return;\n } else if (propName == null) {\n const hostRef = getHostRef(this);\n const flags2 = hostRef == null ? void 0 : hostRef.$flags$;\n if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {\n const elm = this;\n const instance = elm;\n const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];\n entry == null ? void 0 : entry.forEach((callbackName) => {\n if (instance[callbackName] != null) {\n instance[callbackName].call(instance, newValue, oldValue, attrName);\n }\n });\n }\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === \"boolean\" ? false : newValue;\n });\n };\n Cstr.observedAttributes = Array.from(\n /* @__PURE__ */ new Set([\n ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),\n ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n return attrName;\n })\n ])\n );\n }\n }\n return Cstr;\n};\n\n// src/runtime/initialize-component.ts\nvar initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {\n let Cstr;\n if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n {\n Cstr = elm.constructor;\n const cmpTag = elm.localName;\n customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);\n }\n if (Cstr && Cstr.style) {\n let style;\n if (typeof Cstr.style === \"string\") {\n style = Cstr.style;\n }\n const scopeId2 = getScopeId(cmpMeta);\n if (!styles.has(scopeId2)) {\n const endRegisterStyles = createTime(\"registerStyles\", cmpMeta.$tagName$);\n registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (ancestorComponent && ancestorComponent[\"s-rc\"]) {\n ancestorComponent[\"s-rc\"].push(schedule);\n } else {\n schedule();\n }\n};\nvar fireConnectedCallback = (instance) => {\n};\n\n// src/runtime/connected-callback.ts\nvar connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime(\"connectedCallback\", cmpMeta.$tagName$);\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n hostRef.$flags$ |= 1 /* hasConnected */;\n {\n if (// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {\n setContentReference(elm);\n }\n }\n {\n let ancestorComponent = elm;\n while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {\n if (ancestorComponent[\"s-p\"]) {\n attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);\n break;\n }\n }\n }\n if (cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n } else {\n if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => fireConnectedCallback());\n }\n }\n endConnected();\n }\n};\nvar setContentReference = (elm) => {\n const contentRefElm = elm[\"s-cr\"] = doc.createComment(\n \"\"\n );\n contentRefElm[\"s-cn\"] = true;\n insertBefore(elm, contentRefElm, elm.firstChild);\n};\nvar disconnectedCallback = async (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n getHostRef(elm);\n }\n};\nvar proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1]\n };\n {\n cmpMeta.$members$ = compactMeta[2];\n }\n {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n let hasHostListenerAttached = false;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n if (!hasHostListenerAttached) {\n getHostRef(this);\n hasHostListenerAttached = true;\n }\n connectedCallback(this);\n if (originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n {\n this.shadowRoot = this;\n }\n }\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta);\n};\n\n// src/runtime/fragment.ts\nvar Fragment = (_, children) => children;\n\n// src/runtime/nonce.ts\nvar setNonce = (nonce) => plt.$nonce$ = nonce;\n\n// src/runtime/platform-options.ts\nvar setPlatformOptions = (opts) => Object.assign(plt, opts);\n\nexport { Fragment as F, H, setNonce as a, setPlatformOptions as b, createEvent as c, getAssetPath as g, h, proxyCustomElement as p, setAssetPath as s };\n\n//# sourceMappingURL=p-e4846fa2.js.map","var zustand = {};\n\nvar vanilla$1 = {};\n\nconst createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nvanilla$1.createStore = createStore;\n\nvar react$1 = {};\n\nvar react = {exports: {}};\n\nvar react_production_min = {};\n\n/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar l$1=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p$1=Symbol.for(\"react.fragment\"),q$1=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w$1=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y$1=Symbol.for(\"react.lazy\"),z$1=Symbol.iterator;function A$1(a){if(null===a||\"object\"!==typeof a)return null;a=z$1&&a[z$1]||a[\"@@iterator\"];return \"function\"===typeof a?a:null}\nvar B$1={isMounted:function(){return !1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C$1=Object.assign,D$1={};function E$1(a,b,e){this.props=a;this.context=b;this.refs=D$1;this.updater=e||B$1;}E$1.prototype.isReactComponent={};\nE$1.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\");};E$1.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\");};function F$1(){}F$1.prototype=E$1.prototype;function G$1(a,b,e){this.props=a;this.context=b;this.refs=D$1;this.updater=e||B$1;}var H$1=G$1.prototype=new F$1;\nH$1.constructor=G$1;C$1(H$1,E$1.prototype);H$1.isPureReactComponent=!0;var I=Array.isArray,J$1=Object.prototype.hasOwnProperty,K$1={current:null},L$1={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M$1(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J$1.call(b,d)&&!L$1.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f;}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return {$$typeof:l$1,type:a,key:k,ref:h,props:c,_owner:K$1.current}}\nfunction N$1(a,b){return {$$typeof:l$1,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O$1(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===l$1}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return \"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P$1=/\\/+/g;function Q$1(a,b){return \"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R$1(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l$1:case n:h=!0;}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q$1(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P$1,\"$&/\")+\"/\"),R$1(c,b,e,\"\",function(a){return a})):null!=c&&(O$1(c)&&(c=N$1(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P$1,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q$1(k,g);h+=R$1(k,b,e,f,c);}else if(f=A$1(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q$1(k,g++),h+=R$1(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S$1(a,b,e){if(null==a)return a;var d=[],c=0;R$1(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T$1(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b;},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b;});-1===a._status&&(a._status=0,a._result=b);}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V$1={transition:null},W$1={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V$1,ReactCurrentOwner:K$1};function X$1(){throw Error(\"act(...) is not supported in production builds of React.\");}\nreact_production_min.Children={map:S$1,forEach:function(a,b,e){S$1(a,function(){b.apply(this,arguments);},e);},count:function(a){var b=0;S$1(a,function(){b++;});return b},toArray:function(a){return S$1(a,function(a){return a})||[]},only:function(a){if(!O$1(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};react_production_min.Component=E$1;react_production_min.Fragment=p$1;react_production_min.Profiler=r;react_production_min.PureComponent=G$1;react_production_min.StrictMode=q$1;react_production_min.Suspense=w$1;\nreact_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W$1;react_production_min.act=X$1;\nreact_production_min.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C$1({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K$1.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J$1.call(b,f)&&!L$1.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f]);}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g;}return {$$typeof:l$1,type:a.type,key:c,ref:k,props:d,_owner:h}};react_production_min.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};react_production_min.createElement=M$1;react_production_min.createFactory=function(a){var b=M$1.bind(null,a);b.type=a;return b};react_production_min.createRef=function(){return {current:null}};\nreact_production_min.forwardRef=function(a){return {$$typeof:v,render:a}};react_production_min.isValidElement=O$1;react_production_min.lazy=function(a){return {$$typeof:y$1,_payload:{_status:-1,_result:a},_init:T$1}};react_production_min.memo=function(a,b){return {$$typeof:x,type:a,compare:void 0===b?null:b}};react_production_min.startTransition=function(a){var b=V$1.transition;V$1.transition={};try{a();}finally{V$1.transition=b;}};react_production_min.unstable_act=X$1;react_production_min.useCallback=function(a,b){return U.current.useCallback(a,b)};react_production_min.useContext=function(a){return U.current.useContext(a)};\nreact_production_min.useDebugValue=function(){};react_production_min.useDeferredValue=function(a){return U.current.useDeferredValue(a)};react_production_min.useEffect=function(a,b){return U.current.useEffect(a,b)};react_production_min.useId=function(){return U.current.useId()};react_production_min.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};react_production_min.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};react_production_min.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nreact_production_min.useMemo=function(a,b){return U.current.useMemo(a,b)};react_production_min.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};react_production_min.useRef=function(a){return U.current.useRef(a)};react_production_min.useState=function(a){return U.current.useState(a)};react_production_min.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};react_production_min.useTransition=function(){return U.current.useTransition()};react_production_min.version=\"18.3.1\";\n\n{\n react.exports = react_production_min;\n}\n\nvar React = react.exports;\nvar vanilla = vanilla$1;\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = vanilla.createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nreact$1.create = create;\nreact$1.useStore = useStore;\n\n(function (exports) {\n\nvar vanilla = vanilla$1;\nvar react = react$1;\n\n\n\nObject.keys(vanilla).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return vanilla[k]; }\n\t});\n});\nObject.keys(react).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return react[k]; }\n\t});\n});\n}(zustand));\n\nvar D = Object.defineProperty;\nvar B = (n, t, r) => t in n ? D(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;\nvar m = (n, t, r) => B(n, typeof t != \"symbol\" ? t + \"\" : t, r);\nconst L = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet q = (n = 21) => {\n let t = \"\", r = crypto.getRandomValues(new Uint8Array(n |= 0));\n for (; n--; )\n t += L[r[n] & 63];\n return t;\n};\nfunction w(n, t, r, i) {\n return new (r || (r = Promise))(function(s, o) {\n function e(u) {\n try {\n d(i.next(u));\n } catch (a) {\n o(a);\n }\n }\n function c(u) {\n try {\n d(i.throw(u));\n } catch (a) {\n o(a);\n }\n }\n function d(u) {\n var a;\n u.done ? s(u.value) : (a = u.value, a instanceof r ? a : new r(function(v) {\n v(a);\n })).then(e, c);\n }\n d((i = i.apply(n, [])).next());\n });\n}\nfunction y(n, t) {\n var r, i, s, o, e = { label: 0, sent: function() {\n if (1 & s[0]) throw s[1];\n return s[1];\n }, trys: [], ops: [] };\n return o = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function c(d) {\n return function(u) {\n return function(a) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n for (; o && (o = 0, a[0] && (e = 0)), e; ) try {\n if (r = 1, i && (s = 2 & a[0] ? i.return : a[0] ? i.throw || ((s = i.return) && s.call(i), 0) : i.next) && !(s = s.call(i, a[1])).done) return s;\n switch (i = 0, s && (a = [2 & a[0], s.value]), a[0]) {\n case 0:\n case 1:\n s = a;\n break;\n case 4:\n return e.label++, { value: a[1], done: !1 };\n case 5:\n e.label++, i = a[1], a = [0];\n continue;\n case 7:\n a = e.ops.pop(), e.trys.pop();\n continue;\n default:\n if (s = e.trys, !((s = s.length > 0 && s[s.length - 1]) || a[0] !== 6 && a[0] !== 2)) {\n e = 0;\n continue;\n }\n if (a[0] === 3 && (!s || a[1] > s[0] && a[1] < s[3])) {\n e.label = a[1];\n break;\n }\n if (a[0] === 6 && e.label < s[1]) {\n e.label = s[1], s = a;\n break;\n }\n if (s && e.label < s[2]) {\n e.label = s[2], e.ops.push(a);\n break;\n }\n s[2] && e.ops.pop(), e.trys.pop();\n continue;\n }\n a = t.call(n, e);\n } catch (v) {\n a = [6, v], i = 0;\n } finally {\n r = s = 0;\n }\n if (5 & a[0]) throw a[1];\n return { value: a[0] ? a[1] : void 0, done: !0 };\n }([d, u]);\n };\n }\n}\nvar b = { exclude: [] }, P = {}, N = { timeout: \"true\" }, p = function(n, t) {\n typeof window < \"u\" && (P[n] = t);\n}, j = function() {\n return Object.fromEntries(Object.entries(P).filter(function(n) {\n var t, r = n[0];\n return !(!((t = b == null ? void 0 : b.exclude) === null || t === void 0) && t.includes(r));\n }).map(function(n) {\n return [n[0], (0, n[1])()];\n }));\n};\nfunction M(n) {\n return n ^= n >>> 16, n = Math.imul(n, 2246822507), n ^= n >>> 13, n = Math.imul(n, 3266489909), (n ^= n >>> 16) >>> 0;\n}\nvar h = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);\nfunction g(n, t) {\n return n << t | n >>> 32 - t;\n}\nfunction R(n, t) {\n var r;\n if (t === void 0 && (t = 0), t = t ? 0 | t : 0, typeof n == \"string\" && (r = n, n = new TextEncoder().encode(r).buffer), !(n instanceof ArrayBuffer)) throw new TypeError(\"Expected key to be ArrayBuffer or string\");\n var i = new Uint32Array([t, t, t, t]);\n ((function(o, e) {\n for (var c = o.byteLength / 16 | 0, d = new Uint32Array(o, 0, 4 * c), u = 0; u < c; u++) {\n var a = d.subarray(4 * u, 4 * (u + 1));\n a[0] = Math.imul(a[0], h[0]), a[0] = g(a[0], 15), a[0] = Math.imul(a[0], h[1]), e[0] = e[0] ^ a[0], e[0] = g(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, a[1] = Math.imul(a[1], h[1]), a[1] = g(a[1], 16), a[1] = Math.imul(a[1], h[2]), e[1] = e[1] ^ a[1], e[1] = g(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, a[2] = Math.imul(a[2], h[2]), a[2] = g(a[2], 17), a[2] = Math.imul(a[2], h[3]), e[2] = e[2] ^ a[2], e[2] = g(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, a[3] = Math.imul(a[3], h[3]), a[3] = g(a[3], 18), a[3] = Math.imul(a[3], h[0]), e[3] = e[3] ^ a[3], e[3] = g(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;\n }\n }))(n, i), function(o, e) {\n var c = o.byteLength / 16 | 0, d = o.byteLength % 16, u = new Uint32Array(4), a = new Uint8Array(o, 16 * c, d);\n switch (d) {\n case 15:\n u[3] = u[3] ^ a[14] << 16;\n case 14:\n u[3] = u[3] ^ a[13] << 8;\n case 13:\n u[3] = u[3] ^ a[12] << 0, u[3] = Math.imul(u[3], h[3]), u[3] = g(u[3], 18), u[3] = Math.imul(u[3], h[0]), e[3] = e[3] ^ u[3];\n case 12:\n u[2] = u[2] ^ a[11] << 24;\n case 11:\n u[2] = u[2] ^ a[10] << 16;\n case 10:\n u[2] = u[2] ^ a[9] << 8;\n case 9:\n u[2] = u[2] ^ a[8] << 0, u[2] = Math.imul(u[2], h[2]), u[2] = g(u[2], 17), u[2] = Math.imul(u[2], h[3]), e[2] = e[2] ^ u[2];\n case 8:\n u[1] = u[1] ^ a[7] << 24;\n case 7:\n u[1] = u[1] ^ a[6] << 16;\n case 6:\n u[1] = u[1] ^ a[5] << 8;\n case 5:\n u[1] = u[1] ^ a[4] << 0, u[1] = Math.imul(u[1], h[1]), u[1] = g(u[1], 16), u[1] = Math.imul(u[1], h[2]), e[1] = e[1] ^ u[1];\n case 4:\n u[0] = u[0] ^ a[3] << 24;\n case 3:\n u[0] = u[0] ^ a[2] << 16;\n case 2:\n u[0] = u[0] ^ a[1] << 8;\n case 1:\n u[0] = u[0] ^ a[0] << 0, u[0] = Math.imul(u[0], h[0]), u[0] = g(u[0], 15), u[0] = Math.imul(u[0], h[1]), e[0] = e[0] ^ u[0];\n }\n }(n, i), function(o, e) {\n e[0] = e[0] ^ o.byteLength, e[1] = e[1] ^ o.byteLength, e[2] = e[2] ^ o.byteLength, e[3] = e[3] ^ o.byteLength, e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0, e[0] = M(e[0]), e[1] = M(e[1]), e[2] = M(e[2]), e[3] = M(e[3]), e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0;\n }(n, i);\n var s = new Uint8Array(i.buffer);\n return Array.from(s).map(function(o) {\n return o.toString(16).padStart(2, \"0\");\n }).join(\"\");\n}\nfunction G(n, t) {\n return new Promise(function(r) {\n setTimeout(function() {\n return r(t);\n }, n);\n });\n}\nfunction W(n, t, r) {\n return Promise.all(n.map(function(i) {\n return Promise.race([i, G(t, r)]);\n }));\n}\nfunction V() {\n return w(this, void 0, void 0, function() {\n var n, t, r, i, s;\n return y(this, function(o) {\n switch (o.label) {\n case 0:\n return o.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (b == null ? void 0 : b.timeout) || 1e3, N)];\n case 1:\n return r = o.sent(), i = r.filter(function(e) {\n return e !== void 0;\n }), s = {}, i.forEach(function(e, c) {\n s[t[c]] = e;\n }), [2, _(s, b.exclude || [])];\n case 2:\n throw o.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction _(n, t) {\n var r = {}, i = function(o) {\n if (n.hasOwnProperty(o)) {\n var e = n[o];\n if (typeof e != \"object\" || Array.isArray(e)) t.includes(o) || (r[o] = e);\n else {\n var c = _(e, t.map(function(d) {\n return d.startsWith(o + \".\") ? d.slice(o.length + 1) : d;\n }));\n Object.keys(c).length > 0 && (r[o] = c);\n }\n }\n };\n for (var s in n) i(s);\n return r;\n}\nfunction H(n) {\n return w(this, void 0, void 0, function() {\n var t, r;\n return y(this, function(i) {\n switch (i.label) {\n case 0:\n return i.trys.push([0, 2, , 3]), [4, V()];\n case 1:\n return t = i.sent(), r = R(JSON.stringify(t)), [2, r.toString()];\n case 2:\n throw i.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction $(n) {\n for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);\n return t;\n}\nfunction F(n, t, r) {\n for (var i = [], s = 0; s < n[0].data.length; s++) {\n for (var o = [], e = 0; e < n.length; e++) o.push(n[e].data[s]);\n i.push(K(o));\n }\n var c = new Uint8ClampedArray(i);\n return new ImageData(c, t, r);\n}\nfunction K(n) {\n if (n.length === 0) return 0;\n for (var t = {}, r = 0, i = n; r < i.length; r++)\n t[o = i[r]] = (t[o] || 0) + 1;\n var s = n[0];\n for (var o in t) t[o] > t[s] && (s = parseInt(o, 10));\n return s;\n}\nfunction E() {\n if (typeof navigator > \"u\") return { name: \"unknown\", version: \"unknown\" };\n for (var n = navigator.userAgent, t = { Edg: \"Edge\", OPR: \"Opera\" }, r = 0, i = [/(?<name>Edge|Edg)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>Safari)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>[A-Za-z]+)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>SamsungBrowser)\\/(?<version>\\d+(?:\\.\\d+)?)/]; r < i.length; r++) {\n var s = i[r], o = n.match(s);\n if (o && o.groups) return { name: t[o.groups.name] || o.groups.name, version: o.groups.version };\n }\n return { name: \"unknown\", version: \"unknown\" };\n}\np(\"audio\", function() {\n return w(this, void 0, void 0, function() {\n return y(this, function(n) {\n return [2, new Promise(function(t, r) {\n try {\n var i = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), s = i.createBufferSource(), o = i.createOscillator();\n o.frequency.value = 1e3;\n var e, c = i.createDynamicsCompressor();\n c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, o.connect(c), c.connect(i.destination), o.start(), i.oncomplete = function(d) {\n e = d.renderedBuffer.getChannelData(0), t({ sampleHash: $(e), oscillator: o.type, maxChannels: i.destination.maxChannelCount, channelCountMode: s.channelCountMode });\n }, i.startRendering();\n } catch (d) {\n console.error(\"Error creating audio fingerprint:\", d), r(d);\n }\n })];\n });\n });\n});\nvar z = E().name !== \"SamsungBrowser\" ? 1 : 3, T = 280, C = 20;\nE().name != \"Firefox\" && p(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(n) {\n var t = Array.from({ length: z }, function() {\n return function() {\n var r = document.createElement(\"canvas\"), i = r.getContext(\"2d\");\n if (!i) return new ImageData(1, 1);\n r.width = T, r.height = C;\n var s = i.createLinearGradient(0, 0, r.width, r.height);\n s.addColorStop(0, \"red\"), s.addColorStop(0.16666666666666666, \"orange\"), s.addColorStop(0.3333333333333333, \"yellow\"), s.addColorStop(0.5, \"green\"), s.addColorStop(0.6666666666666666, \"blue\"), s.addColorStop(0.8333333333333334, \"indigo\"), s.addColorStop(1, \"violet\"), i.fillStyle = s, i.fillRect(0, 0, r.width, r.height);\n var o = \"Random Text WMwmil10Oo\";\n i.font = \"23.123px Arial\", i.fillStyle = \"black\", i.fillText(o, -5, 15), i.fillStyle = \"rgba(0, 0, 255, 0.5)\", i.fillText(o, -3.3, 17.7), i.beginPath(), i.moveTo(0, 0), i.lineTo(2 * r.width / 7, r.height), i.strokeStyle = \"white\", i.lineWidth = 2, i.stroke();\n var e = i.getImageData(0, 0, r.width, r.height);\n return e;\n }();\n });\n n({ commonImageDataHash: R(F(t, T, C).data.toString()).toString() });\n });\n});\nvar A, J = [\"Arial\", \"Arial Black\", \"Arial Narrow\", \"Arial Rounded MT\", \"Arimo\", \"Archivo\", \"Barlow\", \"Bebas Neue\", \"Bitter\", \"Bookman\", \"Calibri\", \"Cabin\", \"Candara\", \"Century\", \"Century Gothic\", \"Comic Sans MS\", \"Constantia\", \"Courier\", \"Courier New\", \"Crimson Text\", \"DM Mono\", \"DM Sans\", \"DM Serif Display\", \"DM Serif Text\", \"Dosis\", \"Droid Sans\", \"Exo\", \"Fira Code\", \"Fira Sans\", \"Franklin Gothic Medium\", \"Garamond\", \"Geneva\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Inconsolata\", \"Indie Flower\", \"Inter\", \"Josefin Sans\", \"Karla\", \"Lato\", \"Lexend\", \"Lucida Bright\", \"Lucida Console\", \"Lucida Sans Unicode\", \"Manrope\", \"Merriweather\", \"Merriweather Sans\", \"Montserrat\", \"Myriad\", \"Noto Sans\", \"Nunito\", \"Nunito Sans\", \"Open Sans\", \"Optima\", \"Orbitron\", \"Oswald\", \"Pacifico\", \"Palatino\", \"Perpetua\", \"PT Sans\", \"PT Serif\", \"Poppins\", \"Prompt\", \"Public Sans\", \"Quicksand\", \"Rajdhani\", \"Recursive\", \"Roboto\", \"Roboto Condensed\", \"Rockwell\", \"Rubik\", \"Segoe Print\", \"Segoe Script\", \"Segoe UI\", \"Sora\", \"Source Sans Pro\", \"Space Mono\", \"Tahoma\", \"Taviraj\", \"Times\", \"Times New Roman\", \"Titillium Web\", \"Trebuchet MS\", \"Ubuntu\", \"Varela Round\", \"Verdana\", \"Work Sans\"], Q = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction k(n, t) {\n if (!n) throw new Error(\"Canvas context not supported\");\n return n.font = \"72px \".concat(t), n.measureText(\"WwMmLli0Oo\").width;\n}\nfunction Y() {\n var n, t = document.createElement(\"canvas\"), r = (n = t.getContext(\"webgl\")) !== null && n !== void 0 ? n : t.getContext(\"experimental-webgl\");\n if (r && \"getParameter\" in r) try {\n var i = (r.getParameter(r.VENDOR) || \"\").toString(), s = (r.getParameter(r.RENDERER) || \"\").toString(), o = { vendor: i, renderer: s, version: (r.getParameter(r.VERSION) || \"\").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!s.length || !i.length) {\n var e = r.getExtension(\"WEBGL_debug_renderer_info\");\n if (e) {\n var c = (r.getParameter(e.UNMASKED_VENDOR_WEBGL) || \"\").toString(), d = (r.getParameter(e.UNMASKED_RENDERER_WEBGL) || \"\").toString();\n c && (o.vendorUnmasked = c), d && (o.rendererUnmasked = d);\n }\n }\n return o;\n } catch {\n }\n return \"undefined\";\n}\nfunction X() {\n var n = new Float32Array(1), t = new Uint8Array(n.buffer);\n return n[0] = 1 / 0, n[0] = n[0] - n[0], t[3];\n}\nfunction Z(n, t) {\n var r = {};\n return t.forEach(function(i) {\n var s = function(o) {\n if (o.length === 0) return null;\n var e = {};\n o.forEach(function(u) {\n var a = String(u);\n e[a] = (e[a] || 0) + 1;\n });\n var c = o[0], d = 1;\n return Object.keys(e).forEach(function(u) {\n e[u] > d && (c = u, d = e[u]);\n }), c;\n }(n.map(function(o) {\n return i in o ? o[i] : void 0;\n }).filter(function(o) {\n return o !== void 0;\n }));\n s && (r[i] = s);\n }), r;\n}\nfunction ee() {\n var n = [], t = { \"prefers-contrast\": [\"high\", \"more\", \"low\", \"less\", \"forced\", \"no-preference\"], \"any-hover\": [\"hover\", \"none\"], \"any-pointer\": [\"none\", \"coarse\", \"fine\"], pointer: [\"none\", \"coarse\", \"fine\"], hover: [\"hover\", \"none\"], update: [\"fast\", \"slow\"], \"inverted-colors\": [\"inverted\", \"none\"], \"prefers-reduced-motion\": [\"reduce\", \"no-preference\"], \"prefers-reduced-transparency\": [\"reduce\", \"no-preference\"], scripting: [\"none\", \"initial-only\", \"enabled\"], \"forced-colors\": [\"active\", \"none\"] };\n return Object.keys(t).forEach(function(r) {\n t[r].forEach(function(i) {\n matchMedia(\"(\".concat(r, \": \").concat(i, \")\")).matches && n.push(\"\".concat(r, \": \").concat(i));\n });\n }), n;\n}\nfunction te() {\n if (window.location.protocol === \"https:\" && typeof window.ApplePaySession == \"function\") try {\n for (var n = window.ApplePaySession.supportsVersion, t = 15; t > 0; t--) if (n(t)) return t;\n } catch {\n return 0;\n }\n return 0;\n}\nE().name != \"Firefox\" && p(\"fonts\", function() {\n var n = this;\n return new Promise(function(t, r) {\n try {\n (function(i) {\n var s;\n w(this, void 0, void 0, function() {\n var o, e, c;\n return y(this, function(d) {\n switch (d.label) {\n case 0:\n return document.body ? [3, 2] : [4, (u = 50, new Promise(function(v) {\n return setTimeout(v, u, a);\n }))];\n case 1:\n return d.sent(), [3, 0];\n case 2:\n if ((o = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (e = o.style).setProperty(\"position\", \"fixed\"), e.setProperty(\"display\", \"block\", \"important\"), e.setProperty(\"visibility\", \"visible\"), e.setProperty(\"border\", \"0\"), e.setProperty(\"opacity\", \"0\"), o.src = \"about:blank\", document.body.appendChild(o), !(c = o.contentDocument || ((s = o.contentWindow) === null || s === void 0 ? void 0 : s.document))) throw new Error(\"Iframe document is not accessible\");\n return i({ iframe: c }), setTimeout(function() {\n document.body.removeChild(o);\n }, 0), [2];\n }\n var u, a;\n });\n });\n })(function(i) {\n var s = i.iframe;\n return w(n, void 0, void 0, function() {\n var o, e, c, d;\n return y(this, function(u) {\n return o = s.createElement(\"canvas\"), e = o.getContext(\"2d\"), c = Q.map(function(a) {\n return k(e, a);\n }), d = {}, J.forEach(function(a) {\n var v = k(e, a);\n c.includes(v) || (d[a] = v);\n }), t(d), [2];\n });\n });\n });\n } catch {\n r({ error: \"unsupported\" });\n }\n });\n}), p(\"hardware\", function() {\n return new Promise(function(n, t) {\n var r = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, i = window.performance && window.performance.memory ? window.performance.memory : 0;\n n({ videocard: Y(), architecture: X(), deviceMemory: r.toString() || \"undefined\", jsHeapSizeLimit: i.jsHeapSizeLimit || 0 });\n });\n}), p(\"locales\", function() {\n return new Promise(function(n) {\n n({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });\n });\n}), p(\"permissions\", function() {\n return w(this, void 0, void 0, function() {\n var n;\n return y(this, function(t) {\n return A = (b == null ? void 0 : b.permissions_to_check) || [\"accelerometer\", \"accessibility\", \"accessibility-events\", \"ambient-light-sensor\", \"background-fetch\", \"background-sync\", \"bluetooth\", \"camera\", \"clipboard-read\", \"clipboard-write\", \"device-info\", \"display-capture\", \"gyroscope\", \"geolocation\", \"local-fonts\", \"magnetometer\", \"microphone\", \"midi\", \"nfc\", \"notifications\", \"payment-handler\", \"persistent-storage\", \"push\", \"speaker\", \"storage-access\", \"top-level-storage-access\", \"window-management\", \"query\"], n = Array.from({ length: (b == null ? void 0 : b.retries) || 3 }, function() {\n return function() {\n return w(this, void 0, void 0, function() {\n var r, i, s, o, e;\n return y(this, function(c) {\n switch (c.label) {\n case 0:\n r = {}, i = 0, s = A, c.label = 1;\n case 1:\n if (!(i < s.length)) return [3, 6];\n o = s[i], c.label = 2;\n case 2:\n return c.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];\n case 3:\n return e = c.sent(), r[o] = e.state.toString(), [3, 5];\n case 4:\n return c.sent(), [3, 5];\n case 5:\n return i++, [3, 1];\n case 6:\n return [2, r];\n }\n });\n });\n }();\n }), [2, Promise.all(n).then(function(r) {\n return Z(r, A);\n })];\n });\n });\n}), p(\"plugins\", function() {\n var n = [];\n if (navigator.plugins) for (var t = 0; t < navigator.plugins.length; t++) {\n var r = navigator.plugins[t];\n n.push([r.name, r.filename, r.description].join(\"|\"));\n }\n return new Promise(function(i) {\n i({ plugins: n });\n });\n}), p(\"screen\", function() {\n return new Promise(function(n) {\n n({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });\n });\n}), p(\"system\", function() {\n return new Promise(function(n) {\n var t = E();\n n({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: t.name, version: t.version }, applePayVersion: te() });\n });\n});\nvar f, ne = E().name !== \"SamsungBrowser\" ? 1 : 3, l = null;\np(\"webgl\", function() {\n return w(this, void 0, void 0, function() {\n var n;\n return y(this, function(t) {\n typeof document < \"u\" && ((f = document.createElement(\"canvas\")).width = 200, f.height = 100, l = f.getContext(\"webgl\"));\n try {\n if (!l) throw new Error(\"WebGL not supported\");\n return n = Array.from({ length: ne }, function() {\n return function() {\n try {\n if (!l) throw new Error(\"WebGL not supported\");\n var r = `\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n `, i = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, s = l.createShader(l.VERTEX_SHADER), o = l.createShader(l.FRAGMENT_SHADER);\n if (!s || !o) throw new Error(\"Failed to create shaders\");\n if (l.shaderSource(s, r), l.shaderSource(o, i), l.compileShader(s), !l.getShaderParameter(s, l.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + l.getShaderInfoLog(s));\n if (l.compileShader(o), !l.getShaderParameter(o, l.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + l.getShaderInfoLog(o));\n var e = l.createProgram();\n if (!e) throw new Error(\"Failed to create shader program\");\n if (l.attachShader(e, s), l.attachShader(e, o), l.linkProgram(e), !l.getProgramParameter(e, l.LINK_STATUS)) throw new Error(\"Shader program linking failed: \" + l.getProgramInfoLog(e));\n l.useProgram(e);\n for (var c = 137, d = new Float32Array(4 * c), u = 2 * Math.PI / c, a = 0; a < c; a++) {\n var v = a * u;\n d[4 * a] = 0, d[4 * a + 1] = 0, d[4 * a + 2] = Math.cos(v) * (f.width / 2), d[4 * a + 3] = Math.sin(v) * (f.height / 2);\n }\n var U = l.createBuffer();\n l.bindBuffer(l.ARRAY_BUFFER, U), l.bufferData(l.ARRAY_BUFFER, d, l.STATIC_DRAW);\n var x = l.getAttribLocation(e, \"position\");\n l.enableVertexAttribArray(x), l.vertexAttribPointer(x, 2, l.FLOAT, !1, 0, 0), l.viewport(0, 0, f.width, f.height), l.clearColor(0, 0, 0, 1), l.clear(l.COLOR_BUFFER_BIT), l.drawArrays(l.LINES, 0, 2 * c);\n var I = new Uint8ClampedArray(f.width * f.height * 4);\n return l.readPixels(0, 0, f.width, f.height, l.RGBA, l.UNSIGNED_BYTE, I), new ImageData(I, f.width, f.height);\n } catch {\n return new ImageData(1, 1);\n } finally {\n l && (l.bindBuffer(l.ARRAY_BUFFER, null), l.useProgram(null), l.viewport(0, 0, l.drawingBufferWidth, l.drawingBufferHeight), l.clearColor(0, 0, 0, 0));\n }\n }();\n }), [2, { commonImageHash: R(F(n, f.width, f.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar S = function(n, t, r, i) {\n for (var s = (r - t) / i, o = 0, e = 0; e < i; e++)\n o += n(t + (e + 0.5) * s);\n return o * s;\n};\np(\"math\", function() {\n return w(void 0, void 0, void 0, function() {\n return y(this, function(n) {\n return [2, { acos: Math.acos(0.5), asin: S(Math.asin, -1, 1, 97), atan: S(Math.atan, -1, 1, 97), cos: S(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: S(Math.sin, -Math.PI, Math.PI, 97), sinh: S(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: S(Math.tan, 0, 2 * Math.PI, 97), tanh: S(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst re = 500;\nclass ae {\n constructor(t, r) {\n m(this, \"config\");\n m(this, \"sdkInfo\");\n m(this, \"userId\");\n m(this, \"sessionId\");\n m(this, \"searchRequestTimeout\");\n m(this, \"measureRequestTimeout\");\n m(this, \"measureRequestsBatched\", []);\n /**\n * Performs a search operation.\n * @param {SearchParams} searchParams - The parameters for the search.\n * @returns {Promise<SearchcraftResponse>} - Returns the search response or throws an error.\n */\n m(this, \"search\", (t, r) => {\n const i = async () => {\n if (this.sendMeasureEvent(\"search_requested\", {\n search_term: t.query\n }), (t.query.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n try {\n const o = {\n query: this.buildQueryObject(t),\n limit: t.limit ?? 20\n // Default to 20 if not provided\n };\n t.offset !== void 0 && (o.offset = t.offset), t.order_by && (o.order_by = t.order_by, o.sort = t.sort === \"desc\" || t.sort === \"asc\" ? t.sort : \"asc\");\n const e = {\n method: \"POST\",\n headers: {\n Authorization: this.config.readKey,\n \"Content-Type\": \"application/json\",\n \"X-Sc-User-Id\": this.userId\n },\n body: JSON.stringify(o)\n }, c = await fetch(this.baseSearchUrl, e);\n if (!c.ok)\n throw new Error(\n `Error: ${c.statusText} (Status: ${c.status})`\n );\n const d = await c.json();\n this.sendMeasureEvent(\"search_response_received\", {\n search_term: t.query,\n number_of_documents: d.data.count\n }), r(d);\n } catch (o) {\n throw console.error(\"Error parsing response:\", o), o;\n }\n };\n clearTimeout(this.searchRequestTimeout), this.config.searchDebounceDelay ? this.searchRequestTimeout = setTimeout(\n i,\n this.config.searchDebounceDelay\n ) : i();\n });\n /**\n * Sends a measure event to the `/measure/event` endpoint for analytics purposes.\n *\n * @param {MeasureEventName} eventName - Name of the event.\n * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.\n * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.\n */\n m(this, \"sendMeasureEvent\", (t, r = {}, i = {}) => {\n const s = {\n event_name: t,\n properties: {\n searchcraft_index_names: this.config.index,\n ...r\n },\n user: {\n ...this.measureRequestUser,\n ...i\n }\n };\n this.measureRequestsBatched.push(s), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const o = JSON.stringify({ items: this.measureRequestsBatched }), e = `${this.baseMeasureUrl}/batch`;\n try {\n const c = await fetch(e, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.readKey,\n \"X-Sc-User-Id\": this.userId\n },\n body: o,\n keepalive: !0\n });\n if (!c.ok)\n throw new Error(\n `Failed to send request: ${c.status} ${c.statusText}`\n );\n this.measureRequestsBatched = [];\n return;\n } catch (c) {\n throw console.error(\"Error sending MeasureRequest:\", c), c;\n }\n }, re);\n });\n if (!t.endpointURL || !t.index || !t.readKey)\n throw new Error(\n \"Endpoint URL, Index value(s), and Read Key must be provided\"\n );\n this.config = t, this.sdkInfo = r, this.userId = t.userId || \"\", this.sessionId = \"\", setTimeout(() => {\n this.sessionId = q(), this.initMeasure();\n }, 300);\n }\n /**\n * Initializes this.userId based on config & sends the `sdk_innitialized` event.\n */\n async initMeasure() {\n if (!this.config.userId) {\n const t = await H();\n this.userId = t;\n }\n this.sendMeasureEvent(\"sdk_initialized\");\n }\n /**\n * Getter for the base url used by the /search endpoint.\n */\n get baseSearchUrl() {\n return `${this.config.endpointURL}/index/${this.config.index.join(\",\")}/search`;\n }\n /**\n * Getter for the base url used by the /measure endpoints.\n */\n get baseMeasureUrl() {\n return `${this.config.endpointURL}/measure`;\n }\n /**\n * Getter for the measure request user. Uses config values + navigator values.\n */\n get measureRequestUser() {\n return {\n user_id: this.userId,\n locale: navigator.language || \"en-US\",\n os: navigator.userAgent.includes(\"Windows\") ? \"Windows\" : navigator.userAgent.includes(\"Mac\") ? \"Mac\" : navigator.userAgent.includes(\"Linux\") ? \"Linux\" : \"Unknown\",\n platform: navigator.platform || \"Unknown\",\n sdk_name: this.sdkInfo.sdkName,\n sdk_version: this.sdkInfo.sdkVersion,\n user_agent: navigator.userAgent || \"Unknown\"\n };\n }\n /**\n * Builds a query object for the search request.\n * @param {SearchParams} searchParams - The parameters for the search.\n * @returns {QueryObject} - A properly formatted query object.\n */\n buildQueryObject(t) {\n const r = [];\n let i = \"should\";\n return t.facetPathsForIndexFields && Object.keys(t.facetPathsForIndexFields).forEach(\n (s) => {\n var e;\n const o = (e = t.facetPathsForIndexFields) == null ? void 0 : e[s];\n o && (i = \"must\", r.push({\n occur: i,\n exact: {\n ctx: o.value\n }\n }));\n }\n ), t.rangeValueForIndexFields && Object.keys(t.rangeValueForIndexFields).forEach(\n (s) => {\n var e;\n const o = (e = t.rangeValueForIndexFields) == null ? void 0 : e[s];\n o && (i = \"must\", r.push({\n occur: i,\n exact: {\n ctx: o.value\n }\n }));\n }\n ), t.sort === \"desc\" ? t.order_by = \"date_published\" : t.order_by = \"\", r.push({\n occur: i,\n // Valid, as 'occur' is a required property in QueryItem\n [t.mode]: { ctx: t.query }\n // Ensure dynamic mode is inside queryType\n }), r;\n }\n}\nvar O = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = \"DEBUG\", n[n.INFO = 1] = \"INFO\", n[n.WARN = 2] = \"WARN\", n[n.ERROR = 3] = \"ERROR\", n))(O || {});\nclass se {\n constructor(t) {\n m(this, \"logLevel\");\n m(this, \"logFormatter\");\n this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(t, r) {\n return `[${O[t]}] ${( new Date()).toISOString()}: ${r}`;\n }\n debug(t) {\n this.logLevel <= 0 && console.log(this.logFormatter(0, t));\n }\n info(t) {\n this.logLevel <= 1 && console.info(this.logFormatter(1, t));\n }\n warn(t) {\n this.logLevel <= 2 && console.warn(this.logFormatter(2, t));\n }\n error(t) {\n this.logLevel <= 3 && console.error(this.logFormatter(3, t));\n }\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = zustand.create((set, get) => {\n let searchcraft = null;\n let debuggerInstance = null;\n const log = (level, message) => {\n if (debuggerInstance) {\n switch (level) {\n case O.DEBUG:\n debuggerInstance.debug(message);\n break;\n case O.INFO:\n debuggerInstance.info(message);\n break;\n case O.WARN:\n debuggerInstance.warn(message);\n break;\n case O.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n return {\n setPopoverVisibility: (isVisible) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n isPopoverVisible: false,\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n addFacetPathsForIndexField: (data) => set((state) => ({\n facetPathsForIndexFields: Object.assign(Object.assign({}, state.facetPathsForIndexFields), { [data.fieldName]: data }),\n })),\n removeFacetPathsForIndexField: (fieldName) => set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: Object.assign({}, currentPaths),\n };\n }),\n addRangeValueForIndexField: (data) => set((state) => ({\n rangeValueForIndexFields: Object.assign(Object.assign({}, state.rangeValueForIndexFields), { [data.fieldName]: data }),\n })),\n removeRangeValueForIndexField: (fieldName) => set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: Object.assign({}, currentValues),\n };\n }),\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n searchMode: 'fuzzy',\n sortType: 'asc',\n facetPathsForIndexFields: {},\n rangeValueForIndexFields: {},\n query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n setQuery: (query) => {\n /**\n * When a new query is set, also reset the sort type, search mode, and facet paths.\n */\n set(Object.assign({ query, facetPathsForIndexFields: {} }, (query.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n })));\n },\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const state = get();\n log(O.INFO, `Starting search with search term: \"${state.query}\"`);\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n if (!state.query.trim()) {\n log(O.INFO, 'No search request was made: search term was empty.');\n state.setSearchResults(null);\n return;\n }\n state.setIsRequesting(true);\n searchcraft.search({\n query: state.query,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n }, (results) => {\n const updatedFacets = results.data.facets || null;\n state.setSearchResults(results);\n state.setFacets(updatedFacets);\n log(O.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(O.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);\n state.setIsRequesting(false);\n });\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new se({ logLevel: O.DEBUG })\n : null;\n log(O.INFO, 'Searchcraft store initialized.');\n },\n };\n});\nconst useThemeStore = zustand.create((set) => ({\n theme: 'light',\n toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\nexport { useThemeStore as a, ae as b, useSearchcraftStore as u };\n\n//# sourceMappingURL=p-d6a88eed.js.map","import { p as proxyCustomElement, H, h, F as Fragment } from './p-e4846fa2.js';\nimport { u as useSearchcraftStore } from './p-d6a88eed.js';\n\nconst searchcraftBaseSearchResultModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-search-result-container{all:unset;align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:8px;color:inherit;background-color:var(--sc-surface-neutral-primary)}@media (min-width: 768px){.searchcraft-search-result-container{flex-direction:row}}a.searchcraft-search-result-container{cursor:pointer;transition:background-color 100ms}.searchcraft-base-search-result-content-container{flex:1;display:flex;flex-direction:column;gap:8px}.searchcraft-search-result-image{border-radius:var(--sc-image-border-radius);width:100%}@media (min-width: 768px){.searchcraft-search-result-image{width:200px}}.searchcraft-base-search-result-title{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-bold-font-size);font-weight:var(--sc-body-bold-font-weight);line-height:var(--sc-body-bold-line-height);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-base-search-result-subtitle{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);margin:0;color:var(--sc-content-disabled)}.searchcraft-base-search-result-body-content{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-neutral-secondary)}.searchcraft-base-search-result-footer-content{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-disabled)}\";\nconst SearchcraftBaseSearchResultStyle0 = searchcraftBaseSearchResultModuleCss;\n\nconst SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {\n constructor() {\n super();\n this.__registerHost();\n this.searchcraftStore = useSearchcraftStore.getState();\n this.recordMeasureEvent = () => {\n var _a, _b, _c;\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.query;\n const number_of_documents = ((_c = (_b = (_a = this.searchcraftStore.searchResults) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.hits) === null || _c === void 0 ? void 0 : _c.length) || 0;\n searchcraft.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n this.parseStyles = () => {\n if (this.customStyles) {\n try {\n return JSON.parse(this.customStyles);\n }\n catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n return {};\n };\n this.titleContent = undefined;\n this.subtitleContent = undefined;\n this.bodyContent = undefined;\n this.footerContent = undefined;\n this.buttonLabel = undefined;\n this.buttonHref = undefined;\n this.buttonTarget = '_blank';\n this.buttonRel = undefined;\n this.containerHref = undefined;\n this.containerTarget = '_blank';\n this.containerRel = undefined;\n this.imageSrc = undefined;\n this.imageAlt = undefined;\n this.imagePlacement = undefined;\n this.customStyles = undefined;\n this.documentPosition = 0;\n }\n render() {\n const styles = this.parseStyles();\n const imageContainer = this.imageSrc && (h(\"img\", { alt: this.imageAlt, class: 'searchcraft-search-result-image', src: this.imageSrc, style: styles.image || {} }));\n const contentContainer = (h(Fragment, null, this.imageSrc && this.imagePlacement === 'left' && imageContainer, h(\"div\", { class: 'searchcraft-base-search-result-content-container' }, this.titleContent && (h(\"h2\", { class: 'searchcraft-base-search-result-title', style: styles.title || {} }, this.titleContent)), this.subtitleContent && (h(\"h3\", { class: 'searchcraft-base-search-result-subtitle', style: styles.subtitle || {} }, this.subtitleContent)), this.bodyContent && (h(\"p\", { class: 'searchcraft-base-search-result-body-content', style: styles.primaryContent || {} }, this.bodyContent)), this.footerContent && (h(\"p\", { class: 'searchcraft-base-search-result-footer-content', style: styles.secondaryContent || {} }, this.footerContent)), this.buttonHref && !this.containerHref && this.buttonLabel && (h(\"a\", { class: 'searchcraft-search-result-button', href: this.buttonHref, style: styles.button || {}, target: this.buttonTarget, rel: this.buttonRel }, this.buttonLabel))), this.imageSrc && this.imagePlacement === 'right' && imageContainer));\n /** Render as an anchor tag if the containerHref prop is present. */\n if (this.containerHref) {\n return (h(\"a\", { class: 'searchcraft-search-result-container', onClick: this.recordMeasureEvent, href: this.containerHref, rel: this.containerRel, style: styles.container || {}, tabindex: '0', target: this.containerTarget }, contentContainer));\n }\n /** Render as a div if no href prop. */\n return (h(\"div\", { class: 'searchcraft-search-result-container', style: styles.container || {} }, contentContainer));\n }\n static get style() { return SearchcraftBaseSearchResultStyle0; }\n}, [0, \"searchcraft-base-search-result\", {\n \"titleContent\": [1, \"title-content\"],\n \"subtitleContent\": [1, \"subtitle-content\"],\n \"bodyContent\": [1, \"body-content\"],\n \"footerContent\": [1, \"footer-content\"],\n \"buttonLabel\": [1, \"button-label\"],\n \"buttonHref\": [1, \"button-href\"],\n \"buttonTarget\": [1, \"button-target\"],\n \"buttonRel\": [1, \"button-rel\"],\n \"containerHref\": [1, \"container-href\"],\n \"containerTarget\": [1, \"container-target\"],\n \"containerRel\": [1, \"container-rel\"],\n \"imageSrc\": [1, \"image-src\"],\n \"imageAlt\": [1, \"image-alt\"],\n \"imagePlacement\": [1, \"image-placement\"],\n \"customStyles\": [1, \"custom-styles\"],\n \"documentPosition\": [2, \"document-position\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-base-search-result\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-base-search-result\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftBaseSearchResult);\n }\n break;\n } });\n}\n\nexport { SearchcraftBaseSearchResult as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-04c46179.js.map","import { S as SearchcraftBaseSearchResult$1, d as defineCustomElement$1 } from './p-04c46179.js';\n\nconst SearchcraftBaseSearchResult = SearchcraftBaseSearchResult$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftBaseSearchResult, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-base-search-result.js.map","/**\n * Given a document and a SearchResultMapping, return a mapped value from the document.\n *\n * Applies formatting based on the values specified in the `SearchResultFieldName` values.\n *\n * @param document\n * @param {SearchResultMapping} mapping\n * @returns {string | undefined}\n */\nfunction getDocumentValueFromSearchResultMapping(document, mapping) {\n if (document && mapping) {\n return mapping.fieldNames\n .map((fieldNameDetails) => {\n let valueFound = document[fieldNameDetails.fieldName];\n if (valueFound) {\n switch (fieldNameDetails.dataType) {\n case 'date': {\n // TODO: Use fieldNameDetails.DateFormatOptions to format the date\n valueFound = getFormattedTimeFromNow(valueFound);\n break;\n }\n case 'number': {\n valueFound = Intl.NumberFormat(fieldNameDetails.numberFormatLocale, fieldNameDetails.numberFormatOptions).format(valueFound * (fieldNameDetails.numberScale || 1));\n break;\n }\n }\n }\n return valueFound;\n })\n .filter((value) => !!value)\n .join(mapping.delimiter || ' ');\n }\n}\nfunction getMillis(unit) {\n const millisInHour = 60 * 60 * 1000;\n const millisInDay = 24 * millisInHour;\n const millisInMonth = 30 * millisInDay;\n const millisInYear = 365 * millisInDay;\n switch (unit) {\n case 'hour':\n return millisInHour;\n case 'day':\n return millisInDay;\n case 'month':\n return millisInMonth;\n case 'year':\n return millisInYear;\n default:\n return 3600000;\n }\n}\nfunction formatNumberWithCommas(number) {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n/**\n * Given a timestamp value, returns a formatted time string for the time\n * since now.\n *\n * @param timestamp\n * @returns {string} Formatted string value\n */\nfunction getFormattedTimeFromNow(timestamp) {\n const now = new Date();\n const inputTime = new Date(timestamp);\n const diffInSeconds = Math.floor((now.getTime() - inputTime.getTime()) / 1000);\n const minutes = Math.floor(diffInSeconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n const years = Math.floor(days / 365);\n if (minutes < 60) {\n return `${minutes}m ago`;\n }\n if (hours < 24) {\n return `${hours}h ago`;\n }\n if (days < 365) {\n return `${days}d ago`;\n }\n return `${years}y ago`;\n}\n\nexport { getMillis as a, formatNumberWithCommas as f, getDocumentValueFromSearchResultMapping as g };\n\n//# sourceMappingURL=p-755f491b.js.map","function parseCustomStyles(styles) {\n if (typeof styles === 'string') {\n try {\n return JSON.parse(styles);\n }\n catch (error) {\n console.error('Invalid customStyles format:', styles);\n return {};\n }\n }\n return styles || {};\n}\nfunction serializeStyles(styles) {\n try {\n return JSON.stringify(styles);\n }\n catch (error) {\n console.error('Error serializing styles:', error);\n return '{}';\n }\n}\n\nexport { parseCustomStyles as p, serializeStyles as s };\n\n//# sourceMappingURL=p-d9551738.js.map","import { p as proxyCustomElement, H, h } from './p-e4846fa2.js';\n\nconst searchcraftErrorMessageModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-error-message{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);color:var(--sc-content-danger);margin:0}\";\nconst SearchcraftErrorMessageStyle0 = searchcraftErrorMessageModuleCss;\n\nconst SearchcraftErrorMessage = /*@__PURE__*/ proxyCustomElement(class SearchcraftErrorMessage extends H {\n constructor() {\n super();\n this.__registerHost();\n this.errorMessage = undefined;\n }\n render() {\n return (h(\"p\", { key: '5bdc428adf6f239d66a9b0f946ee6e582de41e86', class: 'searchcraft-error-message' }, this.errorMessage || 'Search term is required.'));\n }\n static get style() { return SearchcraftErrorMessageStyle0; }\n}, [0, \"searchcraft-error-message\", {\n \"errorMessage\": [1, \"error-message\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-error-message\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftErrorMessage);\n }\n break;\n } });\n}\n\nexport { SearchcraftErrorMessage as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-953f4238.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-e4846fa2.js';\nimport { u as useSearchcraftStore } from './p-d6a88eed.js';\nimport { g as getDocumentValueFromSearchResultMapping } from './p-755f491b.js';\nimport { s as serializeStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$3 } from './p-04c46179.js';\nimport { d as defineCustomElement$2 } from './p-953f4238.js';\n\nconst searchcraftBaseSearchResultsModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-search-results-container{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-ad-section{align-items:center;background-color:#F1F1F1;border-radius:16px;display:flex;flex-direction:column;font-size:16px;justify-content:center;min-height:176px;text-align:center}.searchcraft-ad-section p{margin:0;color:var(--sc-content-disabled)}.searchcraft-search-results-empty-state-container{text-align:center}.searchcraft-search-results-error-message-container{text-align:center}\";\nconst SearchcraftBaseSearchResultsStyle0 = searchcraftBaseSearchResultsModuleCss;\n\nconst SearchcraftBaseSearchResults$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResults extends H {\n constructor() {\n super();\n this.__registerHost();\n this.noResults = createEvent(this, \"noResults\", 7);\n this.adInterval = 4;\n this.customStylesForResults = undefined;\n this.searchResultMappings = undefined;\n this.placeAdAtEnd = false;\n this.placeAdAtStart = true;\n this.resultImagePlacement = 'right';\n this.buttonLabel = undefined;\n this.buttonTarget = '_blank';\n this.buttonRel = undefined;\n this.containerTarget = '_blank';\n this.containerRel = undefined;\n this.hasSearched = false;\n this.query = '';\n this.searchResults = null;\n }\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query.length > 0) {\n this.hasSearched = true;\n }\n else {\n this.hasSearched = false;\n }\n this.searchResults = Object.assign({}, state.searchResults);\n this.query = state.query;\n });\n const { searchResults, query } = useSearchcraftStore.getState();\n this.searchResults = searchResults;\n this.query = query;\n }\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n renderDocument(document, index) {\n /**\n * Index field values -> Result container props mappings.\n */\n const titleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.title);\n const subtitleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.subtitle);\n const bodyContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.body);\n const containerHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.containerHref);\n const buttonHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.buttonHref);\n const imageSource = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.imageSource);\n const footerContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings.footer);\n const serializedStyles = typeof this.customStylesForResults === 'string'\n ? this.customStylesForResults\n : serializeStyles(this.customStylesForResults);\n return (h(\"searchcraft-base-search-result\", { key: `${document.document_id}-${index}`, \"custom-styles\": serializedStyles, \"image-placement\": this.resultImagePlacement, \"container-rel\": this.containerRel, \"container-target\": this.containerTarget, \"button-label\": this.buttonLabel || 'View more', \"button-rel\": this.buttonRel, \"button-target\": this.buttonTarget, \"document-position\": index, \"title-content\": titleContent, \"subtitle-content\": subtitleContent, \"body-content\": bodyContent, \"footer-content\": footerContent, \"container-href\": containerHref, \"button-href\": buttonHref, \"image-src\": imageSource }));\n }\n render() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (this.query.trim() === '') {\n return (h(\"div\", { class: 'searchcraft-search-results-empty-state-container' }, h(\"slot\", { name: 'empty-search' })));\n }\n if (!((_a = this.searchResults) === null || _a === void 0 ? void 0 : _a.data)) {\n return;\n }\n const documents = (_d = (_c = (_b = this.searchResults) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.hits) === null || _d === void 0 ? void 0 : _d.map((data, _index) => {\n const { doc: result } = data;\n return result;\n });\n const finalComponents = [];\n if (this.placeAdAtStart) {\n finalComponents.push(h(\"div\", { key: 'ad-section-start', class: 'searchcraft-ad-section' }, h(\"p\", null, \"Ad Section\")));\n }\n if (this.adInterval > 0) {\n documents.forEach((document, index) => {\n finalComponents.push(this.renderDocument(document, index));\n if ((index + 1) % this.adInterval === 0) {\n finalComponents.push(h(\"div\", { key: `ad-section-${index + 1}`, class: 'searchcraft-ad-section ' }, h(\"p\", null, \"Ad Section\")));\n }\n });\n }\n else {\n const documentElements = documents.map((document, index) => this.renderDocument(document, index));\n finalComponents.push(...documentElements);\n }\n if (this.placeAdAtEnd) {\n finalComponents.push(h(\"div\", { key: 'ad-section-end', class: 'searchcraft-ad-section' }, h(\"p\", null, \"Ad Section\")));\n }\n if (this.query.length > 0 && ((_g = (_f = (_e = this.searchResults) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.hits) === null || _g === void 0 ? void 0 : _g.length) === 0) {\n this.noResults.emit();\n }\n return (h(\"div\", { class: 'searchcraft-search-results-container' }, finalComponents, this.query.length > 0 &&\n ((_k = (_j = (_h = this.searchResults) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.hits) === null || _k === void 0 ? void 0 : _k.length) === 0 && (h(\"div\", { class: 'searchcraft-search-results-error-message-container' }, h(\"searchcraft-error-message\", { \"error-message\": `No search results found for \"${this.query}\" query` })))));\n }\n static get style() { return SearchcraftBaseSearchResultsStyle0; }\n}, [4, \"searchcraft-base-search-results\", {\n \"adInterval\": [2, \"ad-interval\"],\n \"customStylesForResults\": [1, \"custom-styles-for-results\"],\n \"searchResultMappings\": [16],\n \"placeAdAtEnd\": [4, \"place-ad-at-end\"],\n \"placeAdAtStart\": [4, \"place-ad-at-start\"],\n \"resultImagePlacement\": [1, \"result-image-placement\"],\n \"buttonLabel\": [1, \"button-label\"],\n \"buttonTarget\": [1, \"button-target\"],\n \"buttonRel\": [1, \"button-rel\"],\n \"containerTarget\": [1, \"container-target\"],\n \"containerRel\": [1, \"container-rel\"],\n \"hasSearched\": [32],\n \"query\": [32],\n \"searchResults\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-base-search-results\", \"searchcraft-base-search-result\", \"searchcraft-error-message\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-base-search-results\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftBaseSearchResults$1);\n }\n break;\n case \"searchcraft-base-search-result\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftBaseSearchResults = SearchcraftBaseSearchResults$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftBaseSearchResults, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-base-search-results.js.map","var classnames = {exports: {}};\n\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n(function (module) {\n/* global define */\n\n(function () {\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n}(classnames));\n\nconst classNames = classnames.exports;\n\nexport { classNames as c };\n\n//# sourceMappingURL=p-5cdc6210.js.map","import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-e4846fa2.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst searchcraftButtonModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-button{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-bold-font-size);font-weight:var(--sc-body-bold-font-weight);line-height:var(--sc-body-bold-line-height);border-radius:8px;display:flex;padding:12px 20px;position:relative;background-color:var(--sc-surface-brand-primary);border:1px solid var(--sc-border-primary);color:var(--sc-content-brand-on-primary)}.searchcraft-button:hover{cursor:pointer;background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button:focus{outline:2px solid var(--sc-surface-brand-primary)}.buttonLabel{position:relative}\";\nconst SearchcraftButtonStyle0 = searchcraftButtonModuleCss;\n\nconst SearchcraftButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftButton extends H {\n constructor() {\n super();\n this.__registerHost();\n this.buttonClick = createEvent(this, \"buttonClick\", 7);\n this.handleClick = () => {\n this.buttonClick.emit();\n };\n this.iconElement = undefined;\n this.iconOnly = false;\n this.iconPosition = 'left';\n this.label = 'Search';\n this.isRequesting = false;\n }\n render() {\n return (h(Fragment, { key: '52b95f09f5da9f281b250285623e150c5d952dce' }, this.iconOnly ? (h(\"button\", { class: classNames('searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.isRequesting ? (h(\"searchcraft-spinner-dark\", null)) : (this.iconElement))) : (h(\"button\", { class: classNames('searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.iconPosition === 'left' && this.iconElement, h(\"span\", { class: classNames('buttonLabel', 'searchcraft-button-label') }, this.label)))));\n }\n static get style() { return SearchcraftButtonStyle0; }\n}, [0, \"searchcraft-button\", {\n \"iconElement\": [16],\n \"iconOnly\": [4, \"icon-only\"],\n \"iconPosition\": [1, \"icon-position\"],\n \"label\": [1],\n \"isRequesting\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftButton);\n }\n break;\n } });\n}\n\nexport { SearchcraftButton as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-f9d778b3.js.map","import { S as SearchcraftButton$1, d as defineCustomElement$1 } from './p-f9d778b3.js';\n\nconst SearchcraftButton = SearchcraftButton$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftButton, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-button.js.map","import { S as SearchcraftErrorMessage$1, d as defineCustomElement$1 } from './p-953f4238.js';\n\nconst SearchcraftErrorMessage = SearchcraftErrorMessage$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftErrorMessage, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-error-message.js.map","import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-e4846fa2.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { u as useSearchcraftStore } from './p-d6a88eed.js';\n\nfunction deepMergeWithSpread(obj1, obj2) {\n const result = Object.assign({}, obj1);\n for (const key in obj2) {\n // biome-ignore lint/suspicious/noPrototypeBuiltins: <explanation>\n if (obj2.hasOwnProperty(key)) {\n if (obj2[key] instanceof Object && obj1[key] instanceof Object) {\n result[key] = deepMergeWithSpread(obj1[key], obj2[key]);\n }\n else {\n result[key] = obj2[key];\n }\n }\n }\n return result;\n}\n/**\n * Given an array of facet paths, removes parent facet paths.\n */\nfunction removeSubstringMatches(arr) {\n return arr.filter((entry, index, array) => !array.some((otherEntry, otherIndex) => otherIndex !== index && otherEntry.includes(entry)));\n}\nfunction facetToRecord(facet) {\n const records = {};\n const traverseAndAddToFragments = (facetChild) => {\n var _a;\n records[facetChild.path] = {\n count: facetChild.count,\n path: facetChild.path,\n };\n (_a = facetChild.children) === null || _a === void 0 ? void 0 : _a.forEach((child) => {\n traverseAndAddToFragments(child);\n });\n };\n traverseAndAddToFragments(facet);\n return records;\n}\nfunction recordToObject(record) {\n const root = {\n count: 0,\n path: '/',\n children: {},\n };\n Object.keys(record).forEach((key) => {\n const fragment = record[key];\n if (fragment.path === '/') {\n return;\n }\n const pathParts = fragment.path.substring(1).split('/');\n let currentRoot = root;\n let currentPath = '';\n pathParts.forEach((part, index) => {\n const nextPath = `${currentPath}/${part}`;\n if (!currentRoot.children[nextPath]) {\n currentRoot.children[nextPath] = {\n count: 0,\n path: nextPath,\n children: {},\n };\n }\n if (index === pathParts.length - 1) {\n currentRoot.children[nextPath].count = fragment.count;\n }\n currentPath = nextPath;\n currentRoot = currentRoot.children[nextPath];\n });\n });\n return root;\n}\nfunction objectToFacet(childObject) {\n const transformed = {\n count: childObject.count,\n path: childObject.path,\n children: [],\n };\n if (Object.keys(childObject.children).length > 0) {\n transformed.children = Object.values(childObject.children).map((subChildObject) => objectToFacet(subChildObject));\n }\n return transformed;\n}\n/**\n * Filters records with the parent paths from record2 OUT of record1\n */\nfunction filterRecordByParentPaths(record1, record2) {\n // Extract all paths (keys) both records\n const paths1 = Object.keys(record1);\n const paths2 = Object.keys(record2);\n // Find all parent paths in record2\n const parentPaths = new Set(paths2\n .filter((path) => path.split('/').length > 2) // Only consider paths with more than one level\n .map((path) => path.substring(0, path.lastIndexOf('/'))));\n // Filter out keys in record1 that share a parent path with any of the identified parent paths\n const filteredRecord = Object.fromEntries(paths1\n .filter((path) => !parentPaths.has(path.substring(0, path.lastIndexOf('/'))))\n .map((path) => [path, record1[path]]));\n return filteredRecord;\n}\nfunction mergeFacetRoots(fieldName, currentRoot, incomingRoot) {\n const currentArray = currentRoot[fieldName];\n const incomingArray = incomingRoot[fieldName];\n const currentRootFacetChild = {\n count: 0,\n path: '/',\n children: currentArray,\n };\n const incomingRootFacetChild = {\n count: 0,\n path: '/',\n children: incomingArray,\n };\n // Flatten them into records\n const currentRecord = facetToRecord(currentRootFacetChild);\n const incomingRecord = facetToRecord(incomingRootFacetChild);\n // Filter out the records from record1 (the current set of records)\n // that share a parent path with record2 (the incoming records)\n const filteredCurrentRecord = filterRecordByParentPaths(currentRecord, incomingRecord);\n // Deep merge the records together\n const mergedRecord = deepMergeWithSpread(filteredCurrentRecord, incomingRecord);\n // Convert into a heirarchical object\n const mergedObject = recordToObject(mergedRecord);\n // Convert the heirarchical object back to the Facet child structure\n const mergedFacetChild = objectToFacet(mergedObject);\n return {\n [fieldName]: mergedFacetChild.children,\n };\n}\n\nconst searchcraftFacetListModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.filtersListContainer{width:100%}.filterCheckboxLabel{align-items:center;color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:14px;position:relative;-webkit-font-smoothing:antialiased}.filterCheckboxLabel input[type=checkbox]{align-items:center;appearance:none;background-color:var(--sc-surface-brand-secondary-hover);border:1px solid var(--sc-surface-disabled);border-radius:8px;cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.filterCheckboxLabel input[type=checkbox]:focus{outline:2px solid var(--sc-surface-brand-primary)}.filterCheckboxLabel input[type=checkbox]:checked{background-color:var(--sc-surface-brand-primary);position:relative}.filterCheckboxLabel input[type=checkbox]:checked+.checkContainer{display:block}.filterCheckboxLabel input[type=checkbox]:checked+.dashContainer{display:block}.childFilterCheckboxLabel{align-items:center;color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:12px;margin-left:24px;position:relative}.childFilterCheckboxLabel input[type=checkbox]{align-items:center;appearance:none;background-color:var(--sc-surface-brand-secondary-hover);border:1px solid var(--sc-surface-disabled);border-radius:8px;cursor:pointer;display:flex;height:24px;justify-content:center;position:relative;width:24px;-webkit-font-smoothing:antialiased}.childFilterCheckboxLabel input[type=checkbox]:focus{outline:2px solid var(--sc-surface-brand-primary)}.childFilterCheckboxLabel input[type=checkbox]:checked{background-color:var(--sc-surface-brand-primary);position:relative}.childFilterCheckboxLabel input[type=checkbox]:checked+.checkContainer{display:block}.childFilterCheckboxLabel input[type=checkbox]:checked+.dashContainer{display:block}.checkContainer{display:none;height:16px;width:16px;position:absolute;top:9px;left:8px}.dashContainer{display:none;height:3px;width:14px;position:absolute;top:3px;left:9px}.searchcraft-facet-message{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);color:var(--sc-content-disabled);text-align:center}\";\nconst SearchcraftFacetListStyle0 = searchcraftFacetListModuleCss;\n\nconst SearchcraftFacetList = /*@__PURE__*/ proxyCustomElement(class SearchcraftFacetList extends H {\n constructor() {\n super();\n this.__registerHost();\n this.facetSelectionUpdated = createEvent(this, \"facetSelectionUpdated\", 7);\n this.searchStore = useSearchcraftStore.getState();\n this.formatLabel = (facetChild) => {\n const label = facetChild.path.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n this.formatSubLabel = (facetChild, facetChildAncestor) => {\n const facetChildPath = facetChild.path.substring(facetChildAncestor.path.length);\n const label = facetChildPath.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n this.fieldName = undefined;\n this.baseFacetRoot = undefined;\n this.facetRoot = undefined;\n this.selectedPaths = {};\n this.lastTimeTaken = undefined;\n this.hasNewSearchTerm = false;\n this.lastQuery = undefined;\n this.lastSearchMode = undefined;\n this.lastSortType = undefined;\n this.unsubscribe = undefined;\n }\n handleStateUpdate(state) {\n var _a, _b;\n const facetPrime = (_a = state.searchResults) === null || _a === void 0 ? void 0 : _a.data.facets;\n const timeTaken = (_b = state.searchResults) === null || _b === void 0 ? void 0 : _b.data.time_taken;\n /** Things to do when the state's search term has changed, but before the response received */\n if (state.query !== this.lastQuery ||\n state.searchMode !== this.lastSearchMode ||\n state.sortType !== this.lastSortType) {\n this.selectedPaths = {};\n this.hasNewSearchTerm = true;\n }\n /** Things to do when a new response with a new facet prime has been received */\n if (timeTaken !== this.lastTimeTaken && facetPrime) {\n this.facetRoot = undefined;\n const incomingFacetRoot = facetPrime.find((facet) => this.fieldName === Object.keys(facet)[0]);\n /** Data is from a new search term: completely override our facets */\n if (this.hasNewSearchTerm) {\n this.baseFacetRoot = incomingFacetRoot;\n this.facetRoot = incomingFacetRoot;\n this.hasNewSearchTerm = false;\n }\n else if (this.baseFacetRoot) {\n /** Data is from an existing search term, merge the facets together */\n this.facetRoot = mergeFacetRoots(this.fieldName, this.baseFacetRoot, incomingFacetRoot);\n }\n }\n this.lastQuery = state.query;\n this.lastSearchMode = state.searchMode;\n this.lastSortType = state.sortType;\n this.lastTimeTaken = timeTaken;\n }\n connectedCallback() {\n this.handleStateUpdate(this.searchStore);\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.handleStateUpdate(state);\n });\n }\n disconnectedCallback() {\n var _a;\n (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n handleCheckboxChange(path) {\n const isCheckboxChecked = !this.selectedPaths[path];\n if (isCheckboxChecked) {\n /**\n * Checkbox Checked: Add to the selectedPaths record\n * Uses spread operator here so UI updates.\n */\n this.selectedPaths = Object.assign(Object.assign({}, this.selectedPaths), { [path]: true });\n }\n else {\n /**\n * Checkbox Uncheck: Remove any paths and sub-paths\n */\n const updatedPaths = Object.keys(this.selectedPaths).filter((testPath) => !testPath.includes(path));\n this.selectedPaths = updatedPaths.reduce((acc, str) => {\n acc[str] = true;\n return acc;\n }, {});\n }\n /**\n * Emit the paths array, with parent paths removed.\n */\n const paths = Object.keys(this.selectedPaths).filter((path) => this.selectedPaths[path]);\n const pathsWithParentPathsRemoved = removeSubstringMatches(paths);\n this.facetSelectionUpdated.emit({ paths: pathsWithParentPathsRemoved });\n }\n render() {\n var _a;\n const firstFacet = (_a = this.facetRoot) === null || _a === void 0 ? void 0 : _a[this.fieldName];\n return (h(\"div\", { key: '709834d9f86b75257ae0c67e9340c0fea4131035', class: classNames('filtersListContainer', 'searchcraft-filters-list-container') }, !firstFacet && (h(\"p\", { key: 'a6e2ced40fcc0762ae8ea835c9d6c573aceeb1f1', class: 'searchcraft-facet-message' }, \"Enter a search to view facets.\")), firstFacet === null || firstFacet === void 0 ? void 0 :\n firstFacet.map((facetChild) => {\n var _a;\n const isChildSelected = facetChild.children\n ? (_a = facetChild.children) === null || _a === void 0 ? void 0 : _a.some((child) => this.selectedPaths[child.path])\n : false;\n return (h(\"div\", { key: facetChild.path, class: classNames('searchcraft-filters-list-item') }, h(\"label\", { class: classNames('filterCheckboxLabel', 'searchcraft-filters-list-checkbox-label') }, h(\"input\", { checked: this.selectedPaths[facetChild.path], onChange: (_event) => this.handleCheckboxChange(facetChild.path), type: 'checkbox' }), isChildSelected ? (h(\"div\", { class: classNames('dashContainer', 'searchcraft-filter-list-dash-container') }, h(\"searchcraft-dash-icon\", null))) : (h(\"div\", { class: classNames('checkContainer', 'searchcraft-filter-list-check-container') }, h(\"searchcraft-check-icon\", null))), this.formatLabel(facetChild)), facetChild.children && facetChild.children.length > 0 && (h(Fragment, null, facetChild.children.map((grandchild) => (h(\"label\", { key: grandchild.path, class: classNames('childFilterCheckboxLabel', 'searchcraft-child-filter-checkbox-label'), style: {\n display: this.selectedPaths[facetChild.path]\n ? 'flex'\n : 'none',\n } }, h(\"input\", { checked: this.selectedPaths[grandchild.path], onChange: (_event) => {\n this.handleCheckboxChange(grandchild.path);\n }, type: 'checkbox' }), h(\"div\", { class: classNames('checkContainer', 'searchcraft-filter-list-check-container') }, h(\"searchcraft-check-icon\", null)), this.formatSubLabel(grandchild, facetChild))))))));\n })));\n }\n static get style() { return SearchcraftFacetListStyle0; }\n}, [0, \"searchcraft-facet-list\", {\n \"fieldName\": [1, \"field-name\"],\n \"baseFacetRoot\": [32],\n \"facetRoot\": [32],\n \"selectedPaths\": [32],\n \"lastTimeTaken\": [32],\n \"hasNewSearchTerm\": [32],\n \"lastQuery\": [32],\n \"lastSearchMode\": [32],\n \"lastSortType\": [32],\n \"unsubscribe\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-facet-list\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-facet-list\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftFacetList);\n }\n break;\n } });\n}\n\nexport { SearchcraftFacetList as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-a248ad69.js.map","import { S as SearchcraftFacetList$1, d as defineCustomElement$1 } from './p-a248ad69.js';\n\nconst SearchcraftFacetList = SearchcraftFacetList$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftFacetList, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-facet-list.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-e4846fa2.js';\nimport { a as getMillis } from './p-755f491b.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst searchcraftSliderModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-slider-container{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%}.searchcraft-slider-range-container{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.searchcraft-slider-range-container::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range-container .searchcraft-slider-active-range{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.searchcraft-slider-range-container .searchcraft-slider-active-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range-container .searchcraft-slider-active-range::-moz-range-track{pointer-events:none}.searchcraft-slider-range-container .searchcraft-slider-input{appearance:none;background:transparent;border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.searchcraft-slider-range-container .searchcraft-slider-input::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px;-webkit-appearance:none}.searchcraft-slider-range-container .searchcraft-slider-input::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px}.searchcraft-slider-label-container{color:var(--sc-content-primary);display:flex;font-family:\\\"Source Sans Pro\\\", sans-serif;font-size:15px;font-weight:600;justify-content:space-between;margin-top:10px;width:100%}.searchcraft-slider-label{min-width:30px;text-align:center}\";\nconst SearchcraftSliderStyle0 = searchcraftSliderModuleCss;\n\nconst SearchcraftSlider = /*@__PURE__*/ proxyCustomElement(class SearchcraftSlider extends H {\n constructor() {\n super();\n this.__registerHost();\n this.rangeChanged = createEvent(this, \"rangeChanged\", 7);\n this.emitUpdate = async () => {\n this.rangeChanged.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n this.handleStartValueChange = (event) => {\n const inputElement = event.target;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'min';\n if (value <= this.endValue) {\n this.startValue = value;\n this.emitUpdate();\n }\n else {\n this.startValue = this.endValue;\n inputElement.value = `${this.endValue}`;\n }\n };\n this.handleEndValueChange = (event) => {\n const inputElement = event.target;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'max';\n if (value >= this.startValue) {\n this.endValue = value;\n this.emitUpdate();\n }\n else {\n this.endValue = this.startValue;\n inputElement.value = `${this.startValue}`;\n }\n };\n this.max = 100;\n this.min = 0;\n this.granularity = getMillis('month');\n this.dataType = 'number';\n this.endValue = this.max;\n this.startValue = this.min;\n this.lastFocusedHandle = 'max';\n }\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n render() {\n const rangeMin = this.min;\n const rangeMax = this.max;\n const startPercent = ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const endPercent = ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const startLabel = this.dataType === 'number'\n ? this.startValue\n : new Date(this.startValue).getFullYear();\n const endLabel = this.dataType === 'number'\n ? this.endValue\n : new Date(this.endValue).getFullYear();\n return (h(\"div\", { key: 'd03f03307d560048eff499afabb4171421c9b5cd', class: 'searchcraft-slider-container' }, h(\"div\", { key: '986b2fb47def38024b256cb093546ee7db9ccf5c', class: 'searchcraft-slider-range-container' }, h(\"div\", { key: '4c4f71c218f65acbfa25ec220cdeb581ef0e6c0d', class: 'searchcraft-slider-active-range', style: {\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n } }), h(\"input\", { key: '8968b1925f83480561a460b5f7da64499ec220c0', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-min-handle'), max: this.max, min: this.min, onInput: this.handleStartValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }, type: 'range', value: this.startValue }), h(\"input\", { key: '1ec4b397eb5ca6834719b0c09811d2b11e70c6d0', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-max-handle'), max: this.max, min: this.min, onInput: this.handleEndValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }, type: 'range', value: this.endValue })), h(\"div\", { key: 'abc788f7398c68aefcd12468280ef07fcf2ae673', class: 'searchcraft-slider-label-container' }, h(\"span\", { key: 'f09f772f95c21fc4dfcd58d6eed7ff6901d329b8', class: 'searchcraft-slider-label' }, startLabel), h(\"span\", { key: '251cecce58bb785d9478e80edfe429a1e18ef274', class: 'searchcraft-slider-label' }, endLabel))));\n }\n static get style() { return SearchcraftSliderStyle0; }\n}, [0, \"searchcraft-slider\", {\n \"max\": [2],\n \"min\": [2],\n \"granularity\": [2],\n \"dataType\": [1, \"data-type\"],\n \"endValue\": [32],\n \"startValue\": [32],\n \"lastFocusedHandle\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-slider\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-slider\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftSlider);\n }\n break;\n } });\n}\n\nexport { SearchcraftSlider as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-0e38a723.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-e4846fa2.js';\nimport { u as useSearchcraftStore } from './p-d6a88eed.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst searchcraftToggleButtonModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-toggle-button-container{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);margin:0;color:var(--sc-content-neutral-secondary)}.searchcraft-toggle-button-background{transition:background-color 0.2s;background:var(--sc-surface-disabled);border:none;border-radius:16px;cursor:pointer;height:26px;position:relative;width:44px;flex-shrink:0}.searchcraft-toggle-button-background.active{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0, 0, 0, 0.05)}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform 0.3s ease;width:18px}.searchcraft-toggle-button-handle.active{transform:translateX(16px)}\";\nconst SearchcraftToggleButtonStyle0 = searchcraftToggleButtonModuleCss;\n\nconst SearchcraftToggleButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftToggleButton extends H {\n constructor() {\n super();\n this.__registerHost();\n this.toggleUpdated = createEvent(this, \"toggleUpdated\", 7);\n this.handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\n };\n this.label = 'Toggle';\n this.subLabel = undefined;\n this.isActive = false;\n this.unsubscribe = undefined;\n this.lastQuery = undefined;\n }\n connectedCallback() {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query !== this.lastQuery && state.query.trim().length === 0) {\n this.isActive = false;\n }\n this.lastQuery = state.query;\n });\n }\n disconnectedCallback() {\n var _a;\n (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n render() {\n return (h(\"div\", { key: '607bbc1adc109ec918effb25c6b91052227a2f7b', class: 'searchcraft-toggle-button-container' }, h(\"div\", { key: 'b452e1690c617020866f6bf3e591f62cc3fce111' }, h(\"p\", { key: '1bd8fa345516e412ea57bdbeac37dc8e26f2feaa', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h(\"p\", { key: 'fce324a14721bab5f6173838f677ecb290200c8f', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h(\"button\", { key: '7b293a3ef64da88f463e5e6e303dabcbc63589bd', class: classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n }), onClick: this.handleToggle, type: 'button' }, h(\"div\", { key: '6afd68afeea5bb15ce1bde486ac59f7a958f6752', class: classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n }) }))));\n }\n static get style() { return SearchcraftToggleButtonStyle0; }\n}, [0, \"searchcraft-toggle-button\", {\n \"label\": [1],\n \"subLabel\": [1, \"sub-label\"],\n \"isActive\": [32],\n \"unsubscribe\": [32],\n \"lastQuery\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-toggle-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-toggle-button\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftToggleButton);\n }\n break;\n } });\n}\n\nexport { SearchcraftToggleButton as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-4c45ef80.js.map","import { p as proxyCustomElement, H, h } from './p-e4846fa2.js';\nimport { u as useSearchcraftStore } from './p-d6a88eed.js';\nimport { a as getMillis } from './p-755f491b.js';\nimport { d as defineCustomElement$4 } from './p-a248ad69.js';\nimport { d as defineCustomElement$3 } from './p-0e38a723.js';\nimport { d as defineCustomElement$2 } from './p-4c45ef80.js';\n\nconst searchcraftFilterPanelModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-filter-panel{display:flex;flex-direction:column;gap:16px}.searchcraft-filter-panel-section{display:flex;flex-direction:column;gap:8px}.searchcraft-filter-panel-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-bold-font-size);font-weight:var(--sc-body-small-bold-font-weight);line-height:var(--sc-body-small-bold-line-height)}\";\nconst SearchcraftFilterPanelStyle0 = searchcraftFilterPanelModuleCss;\n\nconst SearchcraftFilterPanel$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftFilterPanel extends H {\n constructor() {\n super();\n this.__registerHost();\n this.searchStore = useSearchcraftStore.getState();\n this.items = [];\n this.unsubscribe = undefined;\n this.lastQuery = undefined;\n }\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.lastQuery = state.query || '';\n });\n }\n disconnectedCallback() {\n var _a;\n (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n handleDateRangeChanged(fieldName, min, max) {\n const start = new Date(min);\n const end = new Date(max);\n this.searchStore.addRangeValueForIndexField({\n fieldName,\n value: `${fieldName}:[${start.toISOString()} TO ${end.toISOString()}]`,\n });\n this.searchStore.search();\n }\n handleNumericRangeChanged(fieldName, min, max) {\n this.searchStore.addRangeValueForIndexField({\n fieldName,\n value: `${fieldName}:[${min} TO ${max}]`,\n });\n this.searchStore.search();\n }\n handleFacetSelectionUpdated(fieldName, paths) {\n if (paths.length > 0) {\n this.searchStore.addFacetPathsForIndexField({\n fieldName,\n value: `${fieldName}: IN [${paths.join(' ')}]`,\n });\n }\n else {\n this.searchStore.removeFacetPathsForIndexField(fieldName);\n }\n this.searchStore.search();\n }\n handleExactMatchToggleUpdated(isActive) {\n this.searchStore.setSearchMode(isActive ? 'exact' : 'fuzzy');\n this.searchStore.search();\n }\n handleMostRecentToggleUpdated(isActive) {\n this.searchStore.setSortType(isActive ? 'desc' : 'asc');\n this.searchStore.search();\n }\n /**\n * Iterate through `items` and render them based on `type`\n */\n render() {\n return (h(\"div\", { key: '43bb83b1616c00f46727c7baff2cbc013f88e111', class: 'searchcraft-filter-panel' }, this.items.map((filterItem) => {\n switch (filterItem.type) {\n case 'dateRange': {\n const item = filterItem;\n const min = new Date(item.options.minDate).getTime();\n const max = new Date(item.options.maxDate).getTime();\n const granularityValue = getMillis(item.options.granularity);\n // return date range slider\n return (h(\"div\", { class: 'searchcraft-filter-panel-section' }, h(\"p\", { class: 'searchcraft-filter-panel-label' }, filterItem.label), h(\"searchcraft-slider\", { min: min, max: max, granularity: granularityValue, dataType: 'date', onRangeChanged: (event) => {\n this.handleDateRangeChanged(item.fieldName, event.detail.startValue, event.detail.endValue);\n } })));\n }\n case 'numericRange': {\n const item = filterItem;\n // return date range slider\n return (h(\"div\", { class: 'searchcraft-filter-panel-section' }, h(\"p\", { class: 'searchcraft-filter-panel-label' }, filterItem.label), h(\"searchcraft-slider\", { min: item.options.min, max: item.options.max, granularity: item.options.granularity, onRangeChanged: (event) => {\n this.handleNumericRangeChanged(item.fieldName, event.detail.startValue, event.detail.endValue);\n } })));\n }\n case 'facets': {\n const item = filterItem;\n // return \"filters-list\"\n return (h(\"div\", { class: 'searchcraft-filter-panel-section' }, h(\"p\", { class: 'searchcraft-filter-panel-label' }, filterItem.label), h(\"searchcraft-facet-list\", { fieldName: item.fieldName, onFacetSelectionUpdated: (event) => {\n this.handleFacetSelectionUpdated(item.fieldName, event.detail.paths);\n } })));\n }\n case 'exactMatchToggle': {\n const item = filterItem;\n return (h(\"searchcraft-toggle-button\", { label: item.label, subLabel: item.options.subLabel, onToggleUpdated: (event) => {\n this.handleExactMatchToggleUpdated(event.detail);\n } }));\n }\n case 'mostRecentToggle': {\n const item = filterItem;\n return (h(\"searchcraft-toggle-button\", { label: item.label, subLabel: item.options.subLabel, onToggleUpdated: (event) => {\n this.handleMostRecentToggleUpdated(event.detail);\n } }));\n }\n }\n })));\n }\n static get style() { return SearchcraftFilterPanelStyle0; }\n}, [0, \"searchcraft-filter-panel\", {\n \"items\": [16],\n \"unsubscribe\": [32],\n \"lastQuery\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-filter-panel\", \"searchcraft-facet-list\", \"searchcraft-slider\", \"searchcraft-toggle-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-filter-panel\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftFilterPanel$1);\n }\n break;\n case \"searchcraft-facet-list\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"searchcraft-slider\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-toggle-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftFilterPanel = SearchcraftFilterPanel$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftFilterPanel, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-filter-panel.js.map","import { p as proxyCustomElement, H, h } from './p-e4846fa2.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst searchcraftInputLabelModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-input-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-bold-font-size);font-weight:var(--sc-body-small-bold-font-weight);line-height:var(--sc-body-small-bold-line-height);color:var(--sc-content-neutral-primary);margin-top:4px;margin-bottom:4px}\";\nconst SearchcraftInputLabelStyle0 = searchcraftInputLabelModuleCss;\n\nconst SearchcraftInputLabel = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputLabel extends H {\n constructor() {\n super();\n this.__registerHost();\n this.inputLabelClassName = '';\n this.label = undefined;\n }\n render() {\n return (h(\"label\", { key: '4f913c1d9027ff781725a01e71e241cb5767eadb', class: classNames('searchcraft-input-label', this.inputLabelClassName), htmlFor: 'searchcraft-input-id' }, this.label));\n }\n static get style() { return SearchcraftInputLabelStyle0; }\n}, [0, \"searchcraft-input-label\", {\n \"inputLabelClassName\": [1, \"input-label-class-name\"],\n \"label\": [1]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-input-label\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftInputLabel);\n }\n break;\n } });\n}\n\nexport { SearchcraftInputLabel as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-a9bd1872.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-e4846fa2.js';\nimport { u as useSearchcraftStore, b as ae } from './p-d6a88eed.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { d as defineCustomElement$3 } from './p-f9d778b3.js';\nimport { d as defineCustomElement$2 } from './p-953f4238.js';\nimport { d as defineCustomElement$1 } from './p-a9bd1872.js';\n\nconst name = \"@searchcraft/javascript-sdk\";\nconst version = \"0.6.0\";\nconst description = \"Searchcraft Javascript SDK\";\nconst author = \"Searchcraft\";\nconst license = \"Apache-2.0\";\nconst main = \"dist/index.cjs.js\";\nconst module = \"dist/index.js\";\nconst types = \"dist/types/index.d.ts\";\nconst collection = \"dist/collection/collection-manifest.json\";\nconst unpkg = \"dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js\";\nconst exports = {\n\t\".\": {\n\t\t\"import\": \"./dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js\",\n\t\trequire: \"./dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.cjs.js\",\n\t\ttypes: \"./dist/types/index.d.ts\"\n\t},\n\t\"./components\": {\n\t\t\"import\": \"./dist/components/index.js\",\n\t\ttypes: \"./dist/components/index.d.ts\"\n\t},\n\t\"./loader\": {\n\t\t\"import\": \"./dist/loader/index.js\",\n\t\trequire: \"./dist/loader/index.cjs\",\n\t\ttypes: \"./dist/loader/index.d.ts\"\n\t},\n\t\"./dist/components/*\": {\n\t\t\"import\": \"./dist/components/*\",\n\t\ttypes: \"./dist/components/*\"\n\t}\n};\nconst repository = {\n\ttype: \"git\",\n\turl: \"https://bitbucket.org/madebychalk/searchcraft-javascript-sdks/\"\n};\nconst files = [\n\t\"dist/\"\n];\nconst scripts = {\n\tbuild: \"stencil build\",\n\tdev: \"stencil build --dev --watch\",\n\ttest: \"stencil test --spec --e2e\",\n\t\"test.watch\": \"stencil test --spec --e2e --watchAll\",\n\tgenerate: \"stencil generate\"\n};\nconst dependencies = {\n\tclassnames: \"^2.3.2\"\n};\nconst devDependencies = {\n\t\"@searchcraft/core\": \"^0.6.0\",\n\t\"@searchcraft/javascript-sdk\": \"*\",\n\t\"@stencil/core\": \"^4.7.0\",\n\t\"@stencil/react-output-target\": \"^0.8.2\",\n\t\"@stencil/sass\": \"^3.0.12\",\n\t\"@types/node\": \"^16.18.11\",\n\tzustand: \"^5.0.1\"\n};\nconst packageJson = {\n\tname: name,\n\t\"private\": false,\n\tversion: version,\n\tdescription: description,\n\tauthor: author,\n\tlicense: license,\n\tmain: main,\n\tmodule: module,\n\ttypes: types,\n\tcollection: collection,\n\t\"collection:main\": \"dist/collection/index.js\",\n\tunpkg: unpkg,\n\texports: exports,\n\trepository: repository,\n\tfiles: files,\n\tscripts: scripts,\n\tdependencies: dependencies,\n\tdevDependencies: devDependencies\n};\n\nconst searchcraftInputFormModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-input-grid{display:grid;gap:4px 8px}.searchcraft-input-grid-buttonLeft{grid-template-rows:repeat(3, auto);grid-template-columns:auto 1fr}.searchcraft-input-grid-buttonLeft .searchcraft-input-button-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonLeft .searchcraft-input-label-wrapper{grid-column:2/span 1;grid-row:1/span 1}.searchcraft-input-grid-buttonLeft .searchcraft-input-error-wrapper{grid-column:2/span 1;grid-row:3/span 1}.searchcraft-input-grid-buttonLeft .searchcraft-input-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonRight{grid-template-rows:repeat(3, auto);grid-template-columns:1fr auto}.searchcraft-input-grid-buttonRight .searchcraft-input-button-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonRight .searchcraft-input-label-wrapper{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-grid-buttonRight .searchcraft-input-error-wrapper{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-grid-buttonRight .searchcraft-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonNone{grid-template-rows:repeat(3, auto);grid-template-columns:auto}.searchcraft-input-grid-buttonNone .searchcraft-input-button-wrapper{display:none}.searchcraft-input-grid-buttonNone .searchcraft-input-label-wrapper{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-grid-buttonNone .searchcraft-input-error-wrapper{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-grid-buttonNone .searchcraft-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-wrapper{position:relative;display:flex}.searchcraft-input{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);background-color:var(--sc-surface-neutral-secondary);border-radius:var(--sc-input-border-radius);border:none;color:var(--sc-content-neutral-primary);outline:none;padding-left:var(--sc-input-padding-left);padding-right:var(--sc-input-padding-right);padding-top:12px;padding-bottom:12px;flex:1}.searchcraft-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input:focus{outline:var(--sc-border-brand) solid 2px}.searchcraft-input:focus::placeholder{opacity:0}.searchcraft-input.error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input.error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-search-icon-wrapper{align-items:center;justify-content:center;display:flex;position:absolute;pointer-events:none;bottom:0;left:0;top:0;width:var(--sc-input-padding-left)}.searchcraft-input-search-icon{pointer-events:none;width:var(--sc-input-search-icon-size);height:var(--sc-input-search-icon-size)}.searchcraft-input-clear-button{all:unset;align-items:center;justify-content:center;cursor:pointer;display:flex;position:absolute;border:none;outline:none;bottom:0;right:0;top:0;width:var(--sc-input-padding-right)}.searchcraft-input-clear-icon{width:var(--sc-input-clear-icon-size);height:var(--sc-input-clear-icon-size)}\";\nconst SearchcraftInputFormStyle0 = searchcraftInputFormModuleCss;\n\nconst SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput extends H {\n constructor() {\n super();\n this.__registerHost();\n this.inputCleared = createEvent(this, \"inputCleared\", 7);\n this.noResultsReceived = createEvent(this, \"noResultsReceived\", 7);\n this.inputFocus = createEvent(this, \"inputFocus\", 7);\n this.inputBlur = createEvent(this, \"inputBlur\", 7);\n this.inputInit = createEvent(this, \"inputInit\", 7);\n this.querySubmit = createEvent(this, \"querySubmit\", 7);\n this.searchStore = useSearchcraftStore.getState();\n this.handleOnInput = (event) => {\n const input = event.target;\n this.inputValue = input.value;\n if (input.value.trim() === '') {\n this.inputCleared.emit();\n this.searchTerm = '';\n this.searchStore.setQuery('');\n this.searchStore.setSearchResults(null);\n return;\n }\n if (!this.autoSearch) {\n return;\n }\n this.performSearch(input.value);\n };\n this.performSearch = async (value) => {\n if (value === useSearchcraftStore.getState().query) {\n return;\n }\n this.searchTerm = value.trim();\n this.error = false;\n this.searchStore.setQuery(this.searchTerm);\n this.querySubmit.emit(this.searchTerm);\n try {\n await this.searchStore.search();\n }\n catch (error) {\n this.error = true;\n this.inputCleared.emit();\n }\n };\n this.handleClearInput = () => {\n this.inputValue = '';\n this.searchTerm = '';\n this.searchStore.setQuery('');\n this.searchStore.setSearchResults(null);\n this.error = false;\n if (this.inputCleared) {\n this.inputCleared.emit();\n }\n };\n this.handleFormSubmit = async (event) => {\n event.preventDefault();\n await this.performSearch(this.searchTerm);\n };\n this.config = undefined;\n this.autoSearch = true;\n this.buttonPlacement = 'none';\n this.buttonLabel = undefined;\n this.inputLabel = undefined;\n this.customStyles = {};\n this.placeholderValue = 'Enter Search';\n this.searchTerm = '';\n this.inputValue = this.searchTerm;\n this.error = false;\n this.isSearchcraftInitialized = false;\n }\n init() {\n if (this.config && !this.isSearchcraftInitialized) {\n const searchcraft = new ae(this.config, {\n sdkName: packageJson.name,\n sdkVersion: packageJson.version,\n });\n this.searchStore.initialize(searchcraft, true);\n this.isSearchcraftInitialized = true;\n this.inputInit.emit();\n }\n }\n componentDidLoad() {\n this.init();\n }\n onConfigChange() {\n this.init();\n }\n render() {\n const validatedCustomStyles = parseCustomStyles(this.customStyles);\n const isShowingClearButton = this.inputValue.length > 0;\n const inputGridClassNames = classNames('searchcraft-input-grid', {\n 'searchcraft-input-grid-buttonLeft': this.buttonPlacement === 'left',\n 'searchcraft-input-grid-buttonRight': this.buttonPlacement === 'right',\n 'searchcraft-input-grid-buttonNone': this.buttonPlacement === 'none',\n });\n const shouldHaveVerticalGap = this.inputLabel || this.error;\n const inputGridStyles = {\n gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',\n };\n return (h(\"form\", { key: 'd257962d56a583e66bdf8b55786d5dfbae231965', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, h(\"div\", { key: 'd9a8467a4d76433bc473941bd4583d991ae38040', class: inputGridClassNames, style: inputGridStyles }, h(\"div\", { key: 'a94eacc99593ed6a30006532c51cdd38c692c93f', class: 'searchcraft-input-button-wrapper' }, h(\"searchcraft-button\", { key: '43de9d2cd538bbdf2a2bbc9f5165bfb969943831', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (h(\"div\", { key: 'b3554f81577d4526023d8b67de6837386789e9f3', class: 'searchcraft-input-label-wrapper' }, h(\"searchcraft-input-label\", { key: '5cda67f38d0914dfe7e1ea71bee60b69524e9d5c', label: this.inputLabel }))), this.error && (h(\"div\", { key: '22b82da9420159ebaf00fe3bb790d6b07341a79e', class: 'searchcraft-input-error-wrapper' }, h(\"searchcraft-error-message\", { key: '2cc5c322408b976a7043ef9640c812036468435d', errorMessage: 'Something went wrong.' }))), h(\"div\", { key: 'f2741bd0d20604327fa4661c3213e48df7a58249', class: 'searchcraft-input-wrapper' }, h(\"input\", { key: '692822c6a38001ba4c71289b6b7fba13767742b5', autoComplete: 'off', class: 'searchcraft-input', onFocus: () => this.inputFocus.emit(), onBlur: () => this.inputBlur.emit(), onInput: (event) => {\n this.handleOnInput(event);\n }, placeholder: this.placeholderValue, style: validatedCustomStyles, type: 'text', value: this.inputValue }), h(\"div\", { key: '58af613c048e7c072e4a976f71ea1bd7b3632a62', class: 'searchcraft-input-search-icon-wrapper' }, h(\"svg\", { key: 'e6cf67405b45703ca7ddaf46a59adbf5ff926f0e', class: 'searchcraft-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', \"aria-labelledby\": 'searchcraft-title' }, h(\"title\", { key: 'fa510c85900d9a716076ba79866f5bbe4f1a20ed', id: 'searchcraft-title' }, \"Searchcraft Search Icon Light\"), h(\"path\", { key: 'ac9d166c19e6644adcbc00fe665e17fcf5449b73', d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: '#404040', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), isShowingClearButton && (h(\"button\", { key: '992cf037b6b75200c64c21809915b5ce6f970f5c', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, h(\"svg\", { key: 'f09a5f2c1007cc11d89b2df06ec189d923bc634f', class: 'searchcraft-input-clear-icon', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', \"aria-labelledby\": 'icon-title' }, h(\"title\", { key: '92bd5162ae636aaf6c8051959ff16cd26ee98660', id: 'icon-title' }, \"Searchcraft Clear Input Icon Light\"), h(\"path\", { key: '9b5a8a4113a3162035d48895f0facf6f6045f266', d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'black', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))))))));\n }\n static get watchers() { return {\n \"config\": [\"onConfigChange\"]\n }; }\n static get style() { return SearchcraftInputFormStyle0; }\n}, [0, \"searchcraft-input-form\", {\n \"config\": [16],\n \"autoSearch\": [4, \"auto-search\"],\n \"buttonPlacement\": [1, \"button-placement\"],\n \"buttonLabel\": [1, \"button-label\"],\n \"inputLabel\": [1, \"input-label\"],\n \"customStyles\": [1, \"custom-styles\"],\n \"placeholderValue\": [1, \"placeholder-value\"],\n \"searchTerm\": [1, \"search-term\"],\n \"inputValue\": [32],\n \"error\": [32],\n \"isSearchcraftInitialized\": [32]\n }, undefined, {\n \"config\": [\"onConfigChange\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-input-form\", \"searchcraft-button\", \"searchcraft-error-message\", \"searchcraft-input-label\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-input-form\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftInput);\n }\n break;\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\n\nexport { SearchcraftInput as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-02a16e53.js.map","import { S as SearchcraftInput, d as defineCustomElement$1 } from './p-02a16e53.js';\n\nconst SearchcraftInputForm = SearchcraftInput;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftInputForm, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-input-form.js.map","import { S as SearchcraftInputLabel$1, d as defineCustomElement$1 } from './p-a9bd1872.js';\n\nconst SearchcraftInputLabel = SearchcraftInputLabel$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftInputLabel, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-input-label.js.map","import { p as proxyCustomElement, H, h } from './p-e4846fa2.js';\nimport { u as useSearchcraftStore } from './p-d6a88eed.js';\nimport { f as formatNumberWithCommas } from './p-755f491b.js';\n\nconst searchcraftResultsInfoModuleCss = \":root{--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px;--sc-popover-form-border-radius:8px;--sc-popover-list-view-height:400px;--sc-popover-list-item-image-size:60px;--sc-popover-list-item-padding-horizontal:8px;--sc-popover-list-item-padding-vertical:8px;--sc-popover-modal-max-width:570px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}:root{--sc-breakpoint-sm:576px;--sc-breakpoint-md:768px;--sc-breakpoint-lg:992px}.searchcraft-results-info-container{border-bottom:1px solid var(--sc-surface-disabled);display:flex;justify-content:flex-start}.searchcraft-results-info-content{color:var(--sc-content-primary);font-family:var(--sc-font-family);font-size:18px;font-weight:600;line-height:20px;margin:0px 0 8px}@media (max-width: 768px){.searchcraft-results-info-content{margin:0;margin-bottom:8px}}\";\nconst SearchcraftResultsInfoStyle0 = searchcraftResultsInfoModuleCss;\n\nconst SearchcraftResultsInfo$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftResultsInfo extends H {\n constructor() {\n super();\n this.__registerHost();\n this.isRequesting = false;\n this.resultsCount = 0;\n this.responseTime = '';\n this.query = '';\n }\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n var _a, _b, _c, _d;\n this.isRequesting = state.isRequesting;\n this.resultsCount = ((_b = (_a = state.searchResults) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.count) || 0;\n this.responseTime = ((((_d = (_c = state.searchResults) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.time_taken) || 0) * 1000).toFixed(2);\n this.query = state.query || '';\n });\n }\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n render() {\n if (!this.query || this.resultsCount === 0) {\n return null;\n }\n const formattedResults = formatNumberWithCommas(this.resultsCount);\n return (h(\"div\", { class: 'searchcraft-results-info-container' }, h(\"p\", { class: 'searchcraft-results-info-content' }, formattedResults, \" results found in \", this.responseTime, \"ms\")));\n }\n static get style() { return SearchcraftResultsInfoStyle0; }\n}, [0, \"searchcraft-results-info\", {\n \"isRequesting\": [32],\n \"resultsCount\": [32],\n \"responseTime\": [32],\n \"query\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-results-info\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-results-info\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftResultsInfo$1);\n }\n break;\n } });\n}\n\nconst SearchcraftResultsInfo = SearchcraftResultsInfo$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftResultsInfo, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-results-info.js.map","import { S as SearchcraftSlider$1, d as defineCustomElement$1 } from './p-0e38a723.js';\n\nconst SearchcraftSlider = SearchcraftSlider$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftSlider, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-slider.js.map","import { S as SearchcraftToggleButton$1, d as defineCustomElement$1 } from './p-4c45ef80.js';\n\nconst SearchcraftToggleButton = SearchcraftToggleButton$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftToggleButton, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-toggle-button.js.map","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=new Set([\"children\",\"localName\",\"ref\",\"style\",\"className\"]),n=new WeakMap,t=(e,t,o,l,a)=>{const s=a?.[t];void 0===s?(e[t]=o,null==o&&t in HTMLElement.prototype&&e.removeAttribute(t)):o!==l&&((e,t,o)=>{let l=n.get(e);void 0===l&&n.set(e,l=new Map);let a=l.get(t);void 0!==o?void 0===a?(l.set(t,a={handleEvent:o}),e.addEventListener(t,a)):a.handleEvent=o:void 0!==a&&(l.delete(t),e.removeEventListener(t,a))})(e,s,o)},o=({react:n,tagName:o,elementClass:l,events:a,displayName:s})=>{const c=new Set(Object.keys(a??{})),r=n.forwardRef(((s,r)=>{const i=n.useRef(new Map),d=n.useRef(null),f={},u={};for(const[n,t]of Object.entries(s))e.has(n)?f[\"className\"===n?\"class\":n]=t:c.has(n)||n in l.prototype?u[n]=t:f[n]=t;return n.useLayoutEffect((()=>{if(null===d.current)return;const e=new Map;for(const n in u)t(d.current,n,s[n],i.current.get(n),a),i.current.delete(n),e.set(n,s[n]);for(const[e,n]of i.current)t(d.current,e,void 0,n,a);i.current=e})),n.useLayoutEffect((()=>{d.current?.removeAttribute(\"defer-hydration\")}),[]),f.suppressHydrationWarning=!0,n.createElement(o,{...f,ref:n.useCallback((e=>{d.current=e,\"function\"==typeof r?r(e):null!==r&&(r.current=e)}),[r])})}));return r.displayName=s??l.name,r};export{o as createComponent};\n//# sourceMappingURL=create-component.js.map\n","import { createComponent as a } from \"@lit/react\";\nconst i = ({\n defineCustomElement: e,\n ...r\n}) => (typeof e < \"u\" && e(), a(r)), p = ({\n hydrateModule: e,\n properties: r,\n tagName: n\n}) => async (t) => {\n const { createComponentForServerSideRendering: o } = await import(\"./ssr.js\");\n return o({\n tagName: n,\n properties: r,\n renderToString: (await e).renderToString\n })(t);\n};\nexport {\n i as createComponent,\n p as createSSRComponent\n};\n","'use client';\n\n/**\n * This file was automatically generated by the Stencil React Output Target.\n * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\n/* eslint-disable */\n\nimport { SearchcraftBaseSearchResult as SearchcraftBaseSearchResultElement, defineCustomElement as defineSearchcraftBaseSearchResult } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-base-search-result.js\";\nimport { SearchcraftBaseSearchResults as SearchcraftBaseSearchResultsElement, defineCustomElement as defineSearchcraftBaseSearchResults } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-base-search-results.js\";\nimport { SearchcraftButton as SearchcraftButtonElement, defineCustomElement as defineSearchcraftButton } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-button.js\";\nimport { SearchcraftErrorMessage as SearchcraftErrorMessageElement, defineCustomElement as defineSearchcraftErrorMessage } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-error-message.js\";\nimport { SearchcraftFacetList as SearchcraftFacetListElement, defineCustomElement as defineSearchcraftFacetList } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-facet-list.js\";\nimport { SearchcraftFilterPanel as SearchcraftFilterPanelElement, defineCustomElement as defineSearchcraftFilterPanel } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-filter-panel.js\";\nimport { SearchcraftInputForm as SearchcraftInputFormElement, defineCustomElement as defineSearchcraftInputForm } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-input-form.js\";\nimport { SearchcraftInputLabel as SearchcraftInputLabelElement, defineCustomElement as defineSearchcraftInputLabel } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-input-label.js\";\nimport { SearchcraftPopoverButton as SearchcraftPopoverButtonElement, defineCustomElement as defineSearchcraftPopoverButton } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-button.js\";\nimport { SearchcraftPopoverForm as SearchcraftPopoverFormElement, defineCustomElement as defineSearchcraftPopoverForm } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-form.js\";\nimport { SearchcraftPopoverListItem as SearchcraftPopoverListItemElement, defineCustomElement as defineSearchcraftPopoverListItem } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-list-item.js\";\nimport { SearchcraftPopoverListView as SearchcraftPopoverListViewElement, defineCustomElement as defineSearchcraftPopoverListView } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-list-view.js\";\nimport { SearchcraftResultsInfo as SearchcraftResultsInfoElement, defineCustomElement as defineSearchcraftResultsInfo } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-results-info.js\";\nimport { SearchcraftSlider as SearchcraftSliderElement, defineCustomElement as defineSearchcraftSlider } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-slider.js\";\nimport { SearchcraftToggleButton as SearchcraftToggleButtonElement, defineCustomElement as defineSearchcraftToggleButton } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-toggle-button.js\";\nimport type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';\nimport { createComponent } from '@stencil/react-output-target/runtime';\nimport React from 'react';\n\ntype SearchcraftBaseSearchResultEvents = NonNullable<unknown>;\n\nexport const SearchcraftBaseSearchResult: StencilReactComponent<SearchcraftBaseSearchResultElement, SearchcraftBaseSearchResultEvents> = /*@__PURE__*/ createComponent<SearchcraftBaseSearchResultElement, SearchcraftBaseSearchResultEvents>({\n tagName: 'searchcraft-base-search-result',\n elementClass: SearchcraftBaseSearchResultElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftBaseSearchResultEvents,\n defineCustomElement: defineSearchcraftBaseSearchResult\n});\n\ntype SearchcraftBaseSearchResultsEvents = { onNoResults: EventName<CustomEvent<void>> };\n\nexport const SearchcraftBaseSearchResults: StencilReactComponent<SearchcraftBaseSearchResultsElement, SearchcraftBaseSearchResultsEvents> = /*@__PURE__*/ createComponent<SearchcraftBaseSearchResultsElement, SearchcraftBaseSearchResultsEvents>({\n tagName: 'searchcraft-base-search-results',\n elementClass: SearchcraftBaseSearchResultsElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onNoResults: 'noResults' } as SearchcraftBaseSearchResultsEvents,\n defineCustomElement: defineSearchcraftBaseSearchResults\n});\n\ntype SearchcraftButtonEvents = { onButtonClick: EventName<CustomEvent<void>> };\n\nexport const SearchcraftButton: StencilReactComponent<SearchcraftButtonElement, SearchcraftButtonEvents> = /*@__PURE__*/ createComponent<SearchcraftButtonElement, SearchcraftButtonEvents>({\n tagName: 'searchcraft-button',\n elementClass: SearchcraftButtonElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onButtonClick: 'buttonClick' } as SearchcraftButtonEvents,\n defineCustomElement: defineSearchcraftButton\n});\n\ntype SearchcraftErrorMessageEvents = NonNullable<unknown>;\n\nexport const SearchcraftErrorMessage: StencilReactComponent<SearchcraftErrorMessageElement, SearchcraftErrorMessageEvents> = /*@__PURE__*/ createComponent<SearchcraftErrorMessageElement, SearchcraftErrorMessageEvents>({\n tagName: 'searchcraft-error-message',\n elementClass: SearchcraftErrorMessageElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftErrorMessageEvents,\n defineCustomElement: defineSearchcraftErrorMessage\n});\n\ntype SearchcraftFacetListEvents = { onFacetSelectionUpdated: EventName<CustomEvent<{ paths: string[] }>> };\n\nexport const SearchcraftFacetList: StencilReactComponent<SearchcraftFacetListElement, SearchcraftFacetListEvents> = /*@__PURE__*/ createComponent<SearchcraftFacetListElement, SearchcraftFacetListEvents>({\n tagName: 'searchcraft-facet-list',\n elementClass: SearchcraftFacetListElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onFacetSelectionUpdated: 'facetSelectionUpdated' } as SearchcraftFacetListEvents,\n defineCustomElement: defineSearchcraftFacetList\n});\n\ntype SearchcraftFilterPanelEvents = NonNullable<unknown>;\n\nexport const SearchcraftFilterPanel: StencilReactComponent<SearchcraftFilterPanelElement, SearchcraftFilterPanelEvents> = /*@__PURE__*/ createComponent<SearchcraftFilterPanelElement, SearchcraftFilterPanelEvents>({\n tagName: 'searchcraft-filter-panel',\n elementClass: SearchcraftFilterPanelElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftFilterPanelEvents,\n defineCustomElement: defineSearchcraftFilterPanel\n});\n\ntype SearchcraftInputFormEvents = {\n onInputCleared: EventName<CustomEvent<void>>,\n onNoResultsReceived: EventName<CustomEvent<void>>,\n onInputFocus: EventName<CustomEvent<void>>,\n onInputBlur: EventName<CustomEvent<void>>,\n onInputInit: EventName<CustomEvent<void>>,\n onQuerySubmit: EventName<CustomEvent<string>>\n};\n\nexport const SearchcraftInputForm: StencilReactComponent<SearchcraftInputFormElement, SearchcraftInputFormEvents> = /*@__PURE__*/ createComponent<SearchcraftInputFormElement, SearchcraftInputFormEvents>({\n tagName: 'searchcraft-input-form',\n elementClass: SearchcraftInputFormElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {\n onInputCleared: 'inputCleared',\n onNoResultsReceived: 'noResultsReceived',\n onInputFocus: 'inputFocus',\n onInputBlur: 'inputBlur',\n onInputInit: 'inputInit',\n onQuerySubmit: 'querySubmit'\n } as SearchcraftInputFormEvents,\n defineCustomElement: defineSearchcraftInputForm\n});\n\ntype SearchcraftInputLabelEvents = NonNullable<unknown>;\n\nexport const SearchcraftInputLabel: StencilReactComponent<SearchcraftInputLabelElement, SearchcraftInputLabelEvents> = /*@__PURE__*/ createComponent<SearchcraftInputLabelElement, SearchcraftInputLabelEvents>({\n tagName: 'searchcraft-input-label',\n elementClass: SearchcraftInputLabelElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftInputLabelEvents,\n defineCustomElement: defineSearchcraftInputLabel\n});\n\ntype SearchcraftPopoverButtonEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverButton: StencilReactComponent<SearchcraftPopoverButtonElement, SearchcraftPopoverButtonEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverButtonElement, SearchcraftPopoverButtonEvents>({\n tagName: 'searchcraft-popover-button',\n elementClass: SearchcraftPopoverButtonElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverButtonEvents,\n defineCustomElement: defineSearchcraftPopoverButton\n});\n\ntype SearchcraftPopoverFormEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverForm: StencilReactComponent<SearchcraftPopoverFormElement, SearchcraftPopoverFormEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverFormElement, SearchcraftPopoverFormEvents>({\n tagName: 'searchcraft-popover-form',\n elementClass: SearchcraftPopoverFormElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverFormEvents,\n defineCustomElement: defineSearchcraftPopoverForm\n});\n\ntype SearchcraftPopoverListItemEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverListItem: StencilReactComponent<SearchcraftPopoverListItemElement, SearchcraftPopoverListItemEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverListItemElement, SearchcraftPopoverListItemEvents>({\n tagName: 'searchcraft-popover-list-item',\n elementClass: SearchcraftPopoverListItemElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverListItemEvents,\n defineCustomElement: defineSearchcraftPopoverListItem\n});\n\ntype SearchcraftPopoverListViewEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverListView: StencilReactComponent<SearchcraftPopoverListViewElement, SearchcraftPopoverListViewEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverListViewElement, SearchcraftPopoverListViewEvents>({\n tagName: 'searchcraft-popover-list-view',\n elementClass: SearchcraftPopoverListViewElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverListViewEvents,\n defineCustomElement: defineSearchcraftPopoverListView\n});\n\ntype SearchcraftResultsInfoEvents = NonNullable<unknown>;\n\nexport const SearchcraftResultsInfo: StencilReactComponent<SearchcraftResultsInfoElement, SearchcraftResultsInfoEvents> = /*@__PURE__*/ createComponent<SearchcraftResultsInfoElement, SearchcraftResultsInfoEvents>({\n tagName: 'searchcraft-results-info',\n elementClass: SearchcraftResultsInfoElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftResultsInfoEvents,\n defineCustomElement: defineSearchcraftResultsInfo\n});\n\ntype SearchcraftSliderEvents = { onRangeChanged: EventName<CustomEvent<{ startValue: number; endValue: number }>> };\n\nexport const SearchcraftSlider: StencilReactComponent<SearchcraftSliderElement, SearchcraftSliderEvents> = /*@__PURE__*/ createComponent<SearchcraftSliderElement, SearchcraftSliderEvents>({\n tagName: 'searchcraft-slider',\n elementClass: SearchcraftSliderElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onRangeChanged: 'rangeChanged' } as SearchcraftSliderEvents,\n defineCustomElement: defineSearchcraftSlider\n});\n\ntype SearchcraftToggleButtonEvents = { onToggleUpdated: EventName<CustomEvent<boolean>> };\n\nexport const SearchcraftToggleButton: StencilReactComponent<SearchcraftToggleButtonElement, SearchcraftToggleButtonEvents> = /*@__PURE__*/ createComponent<SearchcraftToggleButtonElement, SearchcraftToggleButtonEvents>({\n tagName: 'searchcraft-toggle-button',\n elementClass: SearchcraftToggleButtonElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onToggleUpdated: 'toggleUpdated' } as SearchcraftToggleButtonEvents,\n defineCustomElement: defineSearchcraftToggleButton\n});\n","import type { FC } from 'react';\n\nimport { SearchcraftBaseSearchResult as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftBaseSearchResultProps\n extends Components.SearchcraftBaseSearchResult {}\n\nconst SearchcraftBaseSearchResult: FC<SearchcraftBaseSearchResultProps> = (\n props,\n) => <Component {...props} />;\n\nexport { SearchcraftBaseSearchResult };\nexport type { SearchcraftBaseSearchResultProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftBaseSearchResults as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftBaseSearchResultsProps\n extends Components.SearchcraftBaseSearchResults {}\n\nconst SearchcraftBaseSearchResults: FC<SearchcraftBaseSearchResultsProps> = (\n props,\n) => <Component {...props} />;\n\nexport { SearchcraftBaseSearchResults };\nexport type { SearchcraftBaseSearchResultsProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftButton as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftButtonProps extends Components.SearchcraftButton {}\n\nconst SearchcraftButton: FC<SearchcraftButtonProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftButton };\nexport type { SearchcraftButtonProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftErrorMessage as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftErrorMessageProps\n extends Components.SearchcraftErrorMessage {}\n\nconst SearchcraftErrorMessage: FC<SearchcraftErrorMessageProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftErrorMessage };\nexport type { SearchcraftErrorMessageProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftFacetList as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftFacetListProps extends Components.SearchcraftFacetList {}\n\nconst SearchcraftFacetList: FC<SearchcraftFacetListProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftFacetList };\nexport type { SearchcraftFacetListProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftFilterPanel as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftFilterPanelProps\n extends Components.SearchcraftFilterPanel {}\n\nconst SearchcraftFilterPanel: FC<SearchcraftFilterPanelProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftFilterPanel };\nexport type { SearchcraftFilterPanelProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftInputForm as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftInputFormProps extends Components.SearchcraftInputForm {}\n\nconst SearchcraftInputForm: FC<SearchcraftInputFormProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftInputForm };\nexport type { SearchcraftInputFormProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftInputLabel as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftInputLabelProps extends Components.SearchcraftInputLabel {}\n\nconst SearchcraftInputLabel: FC<SearchcraftInputLabelProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftInputLabel };\nexport type { SearchcraftInputLabelProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftResultsInfo as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftResultsInfoProps\n extends Components.SearchcraftResultsInfo {}\n\nconst SearchcraftResultsInfo: FC<SearchcraftResultsInfoProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftResultsInfo };\nexport type { SearchcraftResultsInfoProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftSlider as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftSliderProps extends Components.SearchcraftSlider {}\n\nconst SearchcraftSlider: FC<SearchcraftSliderProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftSlider };\nexport type { SearchcraftSliderProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftToggleButton as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftToggleButtonProps\n extends Components.SearchcraftToggleButton {}\n\nconst SearchcraftToggleButton: FC<SearchcraftToggleButtonProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftToggleButton };\nexport type { SearchcraftToggleButtonProps };\n"],"names":["NAMESPACE","BUILD","__defProp","__export","target","all","name","hostRefs","getHostRef","ref","registerHost","hostElement","cmpMeta","hostRef","r","isMemberInElement","elm","memberName","consoleError","el","styles","SLOT_FB_CSS","win","doc","H","plt","h2","eventName","listener","opts","supportsShadow","promiseResolve","v","supportsConstructableStylesheets","queuePending","queueDomReads","queueDomWrites","queueTask","queue","write","cb","nextTick","flush","consume","i2","e","writeTask","EMPTY_OBJ","SVG_NS","HTML_NS","isComplexType","o","queryNonceMetaTagContent","doc2","_a","_b","_c","result_exports","err","map","ok","unwrap","unwrapErr","value","result","fn","val","newVal","createTime","fnName","tagName","h","nodeName","vnodeData","children","child","key","slotName","simple","lastSimple","vNodeChildren","walk","c","newVNode","classData","k","vdomFnUtils","vnode","tag","text","Host","isHost","node","convertToPublic","convertToPrivate","parsePropertyValue","propValue","propType","getElement","createEvent","flags","detail","emitEvent","ev","rootAppliedStyles","registerStyle","scopeId2","cssText","allowCS","style","addStyle","styleContainerNode","mode","getScopeId","appliedStyles","styleElm","nonce","preconnectLinks","referenceNode2","stylesheet","existingStyleContainer","attachStyles","endAttachStyles","cmp","setAccessor","oldValue","newValue","isSvg","isProp","ln","classList","oldClasses","parseClassList","newClasses","prop","capture","CAPTURE_EVENT_SUFFIX","CAPTURE_EVENT_REGEX","isComplex","n","parseClassListRegex","updateElement","oldVnode","newVnode","isSvgMode2","oldVnodeAttrs","newVnodeAttrs","sortedAttrNames","attrNames","attr","contentRef","hostTagName","useNativeShadowDom","checkSlotFallbackVisibility","checkSlotRelocate","isSvgMode","createElm","oldParentVNode","newParentVNode","childIndex","parentElm","newVNode2","childNode","oldVNode","putBackInOriginalLocation","recursive","oldSlotChildNodes","insertBefore","parentReferenceNode","referenceNode","addVnodes","before","parentVNode","vnodes","startIdx","endIdx","containerElm","removeVnodes","index","updateChildren","oldCh","newCh","isInitialRender","oldStartIdx","newStartIdx","idxInOld","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","elmToMove","isSameVnode","patch","leftVNode","rightVNode","oldChildren","newChildren","defaultHolder","updateFallbackSlotVisibility","childNodes","siblingNode","relocateNodes","markSlotContentForRelocation","hostContentNodes","j","isNodeLocatedInSlot","relocateNodeData","relocateNode","nodeToRelocate","parent","newNode","reference","renderVdom","renderFnResults","isInitialLoad","_d","hostElm","rootVnode","relocateData","orgLocationNode","slotRefNode","parentNodeRef","insertBeforeNode","refNode","attachToAncestor","ancestorComponent","scheduleUpdate","dispatchHooks","endSchedule","instance","maybePromise","enqueue","updateComponent","isPromisey","err2","endUpdate","rc","endRender","callRender","childrenPromises","postUpdate","postUpdateComponent","endPostUpdate","addHydratedFlag","safeCall","appDidLoad","who","method","arg","getValue","propName","setValue","oldVal","areBothNaN","watchMethods","watchMethodName","proxyComponent","Cstr","prototype","members","memberFlags","attrNameToPropName","attrName","_a2","flags2","entry","callbackName","_","m","initializeComponent","hmrVersionId","cmpTag","endRegisterStyles","schedule","fireConnectedCallback","connectedCallback","endConnected","setContentReference","contentRefElm","disconnectedCallback","proxyCustomElement","compactMeta","originalConnectedCallback","originalDisconnectedCallback","hasHostListenerAttached","Fragment","zustand","vanilla$1","createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","getState","api","initialState","createStore","react$1","react","react_production_min","l$1","p$1","q$1","t","u","w$1","x","y$1","z$1","A$1","a","B$1","C$1","D$1","E$1","b","F$1","G$1","H$1","I","J$1","K$1","L$1","M$1","d","g","f","N$1","O$1","escape","P$1","Q$1","R$1","S$1","T$1","U","V$1","W$1","X$1","React","vanilla","identity","useStore","selector","slice","createImpl","useBoundStore","create","exports","D","B","L","q","w","i","s","y","P","N","p","M","R","G","W","V","$","F","K","E","z","T","C","A","J","Q","Y","X","Z","ee","te","ne","l","S","re","ae","O","se","useSearchcraftStore","set","get","searchcraft","debuggerInstance","log","level","message","isVisible","data","fieldName","currentPaths","currentValues","type","query","results","facets","isRequesting","updatedFacets","searchcraftInstance","debug","searchcraftBaseSearchResultModuleCss","SearchcraftBaseSearchResultStyle0","SearchcraftBaseSearchResult","document_position","search_term","number_of_documents","error","imageContainer","contentContainer","defineCustomElement","SearchcraftBaseSearchResult$1","defineCustomElement$1","getDocumentValueFromSearchResultMapping","document","mapping","fieldNameDetails","valueFound","getFormattedTimeFromNow","getMillis","unit","formatNumberWithCommas","number","timestamp","now","inputTime","diffInSeconds","minutes","hours","days","years","parseCustomStyles","serializeStyles","searchcraftErrorMessageModuleCss","SearchcraftErrorMessageStyle0","SearchcraftErrorMessage","searchcraftBaseSearchResultsModuleCss","SearchcraftBaseSearchResultsStyle0","SearchcraftBaseSearchResults$1","searchResults","titleContent","subtitleContent","bodyContent","containerHref","buttonHref","imageSource","footerContent","serializedStyles","_e","_f","_g","_h","_j","_k","documents","_index","finalComponents","documentElements","defineCustomElement$3","defineCustomElement$2","SearchcraftBaseSearchResults","classnames","module","hasOwn","classNames","classes","appendClass","parseValue","newClass","searchcraftButtonModuleCss","SearchcraftButtonStyle0","SearchcraftButton","SearchcraftButton$1","SearchcraftErrorMessage$1","deepMergeWithSpread","obj1","obj2","removeSubstringMatches","arr","array","otherEntry","otherIndex","facetToRecord","facet","records","traverseAndAddToFragments","facetChild","recordToObject","record","root","fragment","pathParts","currentRoot","currentPath","part","nextPath","objectToFacet","childObject","transformed","subChildObject","filterRecordByParentPaths","record1","record2","paths1","paths2","parentPaths","path","mergeFacetRoots","incomingRoot","currentArray","incomingArray","currentRootFacetChild","incomingRootFacetChild","currentRecord","incomingRecord","filteredCurrentRecord","mergedRecord","mergedObject","mergedFacetChild","searchcraftFacetListModuleCss","SearchcraftFacetListStyle0","SearchcraftFacetList","label","count","char","facetChildAncestor","facetPrime","timeTaken","incomingFacetRoot","updatedPaths","testPath","acc","str","paths","pathsWithParentPathsRemoved","firstFacet","isChildSelected","_event","grandchild","SearchcraftFacetList$1","searchcraftSliderModuleCss","SearchcraftSliderStyle0","SearchcraftSlider","event","inputElement","rangeMin","rangeMax","startPercent","endPercent","startLabel","endLabel","searchcraftToggleButtonModuleCss","SearchcraftToggleButtonStyle0","SearchcraftToggleButton","searchcraftFilterPanelModuleCss","SearchcraftFilterPanelStyle0","SearchcraftFilterPanel$1","min","max","start","end","isActive","filterItem","item","granularityValue","defineCustomElement$4","SearchcraftFilterPanel","searchcraftInputLabelModuleCss","SearchcraftInputLabelStyle0","SearchcraftInputLabel","version","description","author","license","main","types","collection","unpkg","repository","files","scripts","dependencies","devDependencies","packageJson","searchcraftInputFormModuleCss","SearchcraftInputFormStyle0","SearchcraftInput","input","validatedCustomStyles","isShowingClearButton","inputGridClassNames","inputGridStyles","SearchcraftInputForm","SearchcraftInputLabel$1","searchcraftResultsInfoModuleCss","SearchcraftResultsInfoStyle0","SearchcraftResultsInfo$1","formattedResults","SearchcraftResultsInfo","SearchcraftSlider$1","SearchcraftToggleButton$1","createComponent","SearchcraftBaseSearchResultElement","defineSearchcraftBaseSearchResult","SearchcraftBaseSearchResultsElement","defineSearchcraftBaseSearchResults","SearchcraftButtonElement","defineSearchcraftButton","SearchcraftErrorMessageElement","defineSearchcraftErrorMessage","SearchcraftFacetListElement","defineSearchcraftFacetList","SearchcraftFilterPanelElement","defineSearchcraftFilterPanel","SearchcraftInputFormElement","defineSearchcraftInputForm","SearchcraftInputLabelElement","defineSearchcraftInputLabel","SearchcraftResultsInfoElement","defineSearchcraftResultsInfo","SearchcraftSliderElement","defineSearchcraftSlider","SearchcraftToggleButtonElement","defineSearchcraftToggleButton","props","jsx","Component"],"mappings":"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","x_google_ignoreList":[24,25]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../javascript-sdk/dist/components/p-5365011f.js","../../javascript-sdk/dist/components/p-936e2ed4.js","../../javascript-sdk/dist/components/p-b4a8fcbe.js","../../javascript-sdk/dist/components/p-755f491b.js","../../javascript-sdk/dist/components/p-d9551738.js","../../javascript-sdk/dist/components/p-a75ef832.js","../../javascript-sdk/dist/components/searchcraft-base-search-results.js","../../javascript-sdk/dist/components/p-5cdc6210.js","../../javascript-sdk/dist/components/p-521fe971.js","../../javascript-sdk/dist/components/p-54998882.js","../../javascript-sdk/dist/components/p-4b92ae26.js","../../javascript-sdk/dist/components/p-1234974c.js","../../javascript-sdk/dist/components/searchcraft-filter-panel.js","../../javascript-sdk/dist/components/p-ca881e5c.js","../../javascript-sdk/dist/components/p-d95bc2a0.js","../../javascript-sdk/dist/components/searchcraft-input-form.js","../../javascript-sdk/dist/components/searchcraft-popover-button.js","../../javascript-sdk/dist/components/p-0ef4ab33.js","../../javascript-sdk/dist/components/p-506cdac1.js","../../javascript-sdk/dist/components/searchcraft-popover-form.js","../../javascript-sdk/dist/components/searchcraft-results-info.js","../../javascript-sdk/dist/components/searchcraft-theme.js","../../../node_modules/@lit/react/create-component.js","../../../node_modules/@stencil/react-output-target/dist/react.js","../src/stencil-web-components/components.ts","../src/components/SearchcraftBaseSearchResults.tsx","../src/components/SearchcraftFilterPanel.tsx","../src/components/SearchcraftInputForm.tsx","../src/components/SearchcraftPopoverButton.tsx","../src/components/SearchcraftPopoverForm.tsx","../src/components/SearchcraftResultsInfo.tsx","../src/components/SearchcraftTheme.tsx"],"sourcesContent":["const NAMESPACE = 'searchcraft-javascript-sdk';\nconst BUILD = /* searchcraft-javascript-sdk */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: \"hydrated\", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: false, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: false, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };\n\n/*\n Stencil Client Platform v4.25.0 | MIT Licensed | https://stenciljs.com\n */\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/utils/constants.ts\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\nvar HTML_NS = \"http://www.w3.org/1999/xhtml\";\n\n// src/utils/es2022-rewire-class-members.ts\nvar reWireGetterSetter = (instance, hostRef) => {\n var _a;\n const cmpMeta = hostRef.$cmpMeta$;\n const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});\n members.map(([memberName, [memberFlags]]) => {\n if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {\n const ogValue = instance[memberName];\n const ogDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(instance), memberName);\n Object.defineProperty(instance, memberName, {\n get() {\n return ogDescriptor.get.call(this);\n },\n set(newValue) {\n ogDescriptor.set.call(this, newValue);\n },\n configurable: true,\n enumerable: true\n });\n instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;\n }\n });\n};\n\n// src/client/client-host-ref.ts\nvar hostRefs = /* @__PURE__ */ new WeakMap();\nvar deleteHostRef = (ref) => hostRefs.delete(ref);\nvar getHostRef = (ref) => hostRefs.get(ref);\nvar registerHost = (hostElement, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: hostElement,\n $cmpMeta$: cmpMeta,\n $instanceValues$: /* @__PURE__ */ new Map()\n };\n {\n hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);\n hostElement[\"s-p\"] = [];\n hostElement[\"s-rc\"] = [];\n }\n const ref = hostRefs.set(hostElement, hostRef);\n {\n reWireGetterSetter(hostElement, hostRef);\n }\n return ref;\n};\nvar isMemberInElement = (elm, memberName) => memberName in elm;\nvar consoleError = (e, el) => (0, console.error)(e, el);\nvar win = typeof window !== \"undefined\" ? window : {};\nvar doc = win.document || { head: {} };\nvar H = win.HTMLElement || class {\n};\nvar plt = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (h2) => h2(),\n raf: (h2) => requestAnimationFrame(h2),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts)\n};\nvar supportsShadow = BUILD.shadowDom;\nvar promiseResolve = (v) => Promise.resolve(v);\nvar queuePending = false;\nvar queueDomReads = [];\nvar queueDomWrites = [];\nvar queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n } else {\n plt.raf(flush);\n }\n }\n};\nvar consume = (queue) => {\n for (let i2 = 0; i2 < queue.length; i2++) {\n try {\n queue[i2](performance.now());\n } catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nvar flush = () => {\n consume(queueDomReads);\n {\n consume(queueDomWrites);\n if (queuePending = queueDomReads.length > 0) {\n plt.raf(flush);\n }\n }\n};\nvar nextTick = (cb) => promiseResolve().then(cb);\nvar writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);\n\n// src/runtime/asset-path.ts\nvar getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nvar setAssetPath = (path) => plt.$resourcesUrl$ = path;\nvar isComplexType = (o) => {\n o = typeof o;\n return o === \"object\" || o === \"function\";\n};\n\n// src/utils/result.ts\nvar result_exports = {};\n__export(result_exports, {\n err: () => err,\n map: () => map,\n ok: () => ok,\n unwrap: () => unwrap,\n unwrapErr: () => unwrapErr\n});\nvar ok = (value) => ({\n isOk: true,\n isErr: false,\n value\n});\nvar err = (value) => ({\n isOk: false,\n isErr: true,\n value\n});\nfunction map(result, fn) {\n if (result.isOk) {\n const val = fn(result.value);\n if (val instanceof Promise) {\n return val.then((newVal) => ok(newVal));\n } else {\n return ok(val);\n }\n }\n if (result.isErr) {\n const value = result.value;\n return err(value);\n }\n throw \"should never get here\";\n}\nvar unwrap = (result) => {\n if (result.isOk) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar unwrapErr = (result) => {\n if (result.isErr) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar updateFallbackSlotVisibility = (elm) => {\n const childNodes = elm.__childNodes || elm.childNodes;\n if (elm.tagName && elm.tagName.includes(\"-\") && elm[\"s-cr\"] && elm.tagName !== \"SLOT-FB\") {\n getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {\n var _a;\n if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === \"SLOT-FB\") {\n if ((_a = getHostSlotChildNodes(slotNode, slotNode[\"s-sn\"], false)) == null ? void 0 : _a.length) {\n slotNode.hidden = true;\n } else {\n slotNode.hidden = false;\n }\n }\n });\n }\n for (const childNode of childNodes) {\n if (childNode.nodeType === 1 /* ElementNode */ && (childNode.__childNodes || childNode.childNodes).length) {\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nfunction getHostSlotNodes(childNodes, hostName, slotName) {\n let i2 = 0;\n let slottedNodes = [];\n let childNode;\n for (; i2 < childNodes.length; i2++) {\n childNode = childNodes[i2];\n if (childNode[\"s-sr\"] && childNode[\"s-hn\"] === hostName && (slotName === void 0 || childNode[\"s-sn\"] === slotName)) {\n slottedNodes.push(childNode);\n if (typeof slotName !== \"undefined\") return slottedNodes;\n }\n slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];\n }\n return slottedNodes;\n}\nvar getHostSlotChildNodes = (node, slotName, includeSlot = true) => {\n const childNodes = [];\n if (includeSlot && node[\"s-sr\"] || !node[\"s-sr\"]) childNodes.push(node);\n while ((node = node.nextSibling) && node[\"s-sn\"] === slotName) {\n childNodes.push(node);\n }\n return childNodes;\n};\nvar isNodeLocatedInSlot = (nodeToRelocate, slotName) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute(\"slot\") === null && slotName === \"\") {\n return true;\n }\n if (nodeToRelocate.getAttribute(\"slot\") === slotName) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate[\"s-sn\"] === slotName) {\n return true;\n }\n return slotName === \"\";\n};\nvar createTime = (fnName, tagName = \"\") => {\n {\n return () => {\n return;\n };\n }\n};\nvar h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n const vNodeChildren = [];\n const walk = (c) => {\n for (let i2 = 0; i2 < c.length; i2++) {\n child = c[i2];\n if (Array.isArray(child)) {\n walk(child);\n } else if (child != null && typeof child !== \"boolean\") {\n if (simple = typeof nodeName !== \"function\" && !isComplexType(child)) {\n child = String(child);\n }\n if (simple && lastSimple) {\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n } else {\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (vnodeData.key) {\n key = vnodeData.key;\n }\n if (vnodeData.name) {\n slotName = vnodeData.name;\n }\n {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class = typeof classData !== \"object\" ? classData : Object.keys(classData).filter((k) => classData[k]).join(\" \");\n }\n }\n }\n if (typeof nodeName === \"function\") {\n return nodeName(\n vnodeData === null ? {} : vnodeData,\n vNodeChildren,\n vdomFnUtils\n );\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n {\n vnode.$key$ = key;\n }\n {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nvar newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null\n };\n {\n vnode.$attrs$ = null;\n }\n {\n vnode.$key$ = null;\n }\n {\n vnode.$name$ = null;\n }\n return vnode;\n};\nvar Host = {};\nvar isHost = (node) => node && node.$tag$ === Host;\nvar vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)\n};\nvar convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$\n});\nvar convertToPrivate = (node) => {\n if (typeof node.vtag === \"function\") {\n const vnodeData = { ...node.vattrs };\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nvar parsePropertyValue = (propValue, propType) => {\n if (propValue != null && !isComplexType(propValue)) {\n if (propType & 4 /* Boolean */) {\n return propValue === \"false\" ? false : propValue === \"\" || !!propValue;\n }\n if (propType & 2 /* Number */) {\n return parseFloat(propValue);\n }\n if (propType & 1 /* String */) {\n return String(propValue);\n }\n return propValue;\n }\n return propValue;\n};\nvar getElement = (ref) => ref;\n\n// src/runtime/event-emitter.ts\nvar createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail\n });\n }\n };\n};\nvar emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nvar rootAppliedStyles = /* @__PURE__ */ new WeakMap();\nvar setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (memberName === \"class\") {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n let newClasses = parseClassList(newValue);\n if (elm[\"s-si\"]) {\n newClasses.push(elm[\"s-si\"]);\n oldClasses.forEach((c) => {\n if (c.startsWith(elm[\"s-si\"])) newClasses.push(c);\n });\n newClasses = [...new Set(newClasses)];\n classList.add(...newClasses);\n delete elm[\"s-si\"];\n } else {\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n }\n } else if (memberName === \"style\") {\n {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (prop.includes(\"-\")) {\n elm.style.removeProperty(prop);\n } else {\n elm.style[prop] = \"\";\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (prop.includes(\"-\")) {\n elm.style.setProperty(prop, newValue[prop]);\n } else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n } else if (memberName === \"key\") ; else if ((!elm.__lookupSetter__(memberName)) && memberName[0] === \"o\" && memberName[1] === \"n\") {\n if (memberName[2] === \"-\") {\n memberName = memberName.slice(3);\n } else if (isMemberInElement(win, ln)) {\n memberName = ln.slice(2);\n } else {\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue || newValue) {\n const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);\n memberName = memberName.replace(CAPTURE_EVENT_REGEX, \"\");\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, capture);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, capture);\n }\n }\n } else {\n const isComplex = isComplexType(newValue);\n if ((isProp || isComplex && newValue !== null) && !isSvg) {\n try {\n if (!elm.tagName.includes(\"-\")) {\n const n = newValue == null ? \"\" : newValue;\n if (memberName === \"list\") {\n isProp = false;\n } else if (oldValue == null || elm[memberName] != n) {\n if (typeof elm.__lookupSetter__(memberName) === \"function\") {\n elm[memberName] = n;\n } else {\n elm.setAttribute(memberName, n);\n }\n }\n } else if (elm[memberName] !== newValue) {\n elm[memberName] = newValue;\n }\n } catch (e) {\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === \"\") {\n {\n elm.removeAttribute(memberName);\n }\n }\n } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? \"\" : newValue;\n {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nvar parseClassListRegex = /\\s/;\nvar parseClassList = (value) => {\n if (typeof value === \"object\" && \"baseVal\" in value) {\n value = value.baseVal;\n }\n if (!value) {\n return [];\n }\n return value.split(parseClassListRegex);\n};\nvar CAPTURE_EVENT_SUFFIX = \"Capture\";\nvar CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + \"$\");\n\n// src/runtime/vdom/update-element.ts\nvar updateElement = (oldVnode, newVnode, isSvgMode2) => {\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};\n const newVnodeAttrs = newVnode.$attrs$ || {};\n {\n for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);\n }\n }\n }\n for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);\n }\n};\nfunction sortedAttrNames(attrNames) {\n return attrNames.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...attrNames.filter((attr) => attr !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n attrNames\n );\n}\nvar contentRef;\nvar hostTagName;\nvar useNativeShadowDom = false;\nvar checkSlotFallbackVisibility = false;\nvar checkSlotRelocate = false;\nvar isSvgMode = false;\nvar createElm = (oldParentVNode, newParentVNode, childIndex) => {\n var _a;\n const newVNode2 = newParentVNode.$children$[childIndex];\n let i2 = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (!useNativeShadowDom) {\n checkSlotRelocate = true;\n if (newVNode2.$tag$ === \"slot\") {\n newVNode2.$flags$ |= newVNode2.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2 /* isSlotFallback */\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1 /* isSlotReference */\n );\n }\n }\n if (newVNode2.$text$ !== null) {\n elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);\n } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {\n elm = newVNode2.$elm$ = doc.createTextNode(\"\");\n } else {\n if (!isSvgMode) {\n isSvgMode = newVNode2.$tag$ === \"svg\";\n }\n elm = newVNode2.$elm$ = doc.createElementNS(\n isSvgMode ? SVG_NS : HTML_NS,\n !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n ) ;\n if (isSvgMode && newVNode2.$tag$ === \"foreignObject\") {\n isSvgMode = false;\n }\n {\n updateElement(null, newVNode2, isSvgMode);\n }\n if (newVNode2.$children$) {\n for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {\n childNode = createElm(oldParentVNode, newVNode2, i2);\n if (childNode) {\n elm.appendChild(childNode);\n }\n }\n }\n {\n if (newVNode2.$tag$ === \"svg\") {\n isSvgMode = false;\n } else if (elm.tagName === \"foreignObject\") {\n isSvgMode = true;\n }\n }\n }\n elm[\"s-hn\"] = hostTagName;\n {\n if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n elm[\"s-sr\"] = true;\n elm[\"s-cr\"] = contentRef;\n elm[\"s-sn\"] = newVNode2.$name$ || \"\";\n elm[\"s-rf\"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {\n {\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n }\n return elm;\n};\nvar putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);\n if (parentElm[\"s-sr\"] && BUILD.experimentalSlotFixes) {\n let node = parentElm;\n while (node = node.nextSibling) {\n if (node && node[\"s-sn\"] === parentElm[\"s-sn\"] && node[\"s-sh\"] === hostTagName) {\n oldSlotChildNodes.push(node);\n }\n }\n }\n for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {\n const childNode = oldSlotChildNodes[i2];\n if (childNode[\"s-hn\"] !== hostTagName && childNode[\"s-ol\"]) {\n insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));\n childNode[\"s-ol\"].remove();\n childNode[\"s-ol\"] = void 0;\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = parentElm[\"s-cr\"] && parentElm[\"s-cr\"].parentNode || parentElm;\n let childNode;\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n insertBefore(containerElm, childNode, referenceNode(before) );\n }\n }\n }\n};\nvar removeVnodes = (vnodes, startIdx, endIdx) => {\n for (let index = startIdx; index <= endIdx; ++index) {\n const vnode = vnodes[index];\n if (vnode) {\n const elm = vnode.$elm$;\n if (elm) {\n {\n checkSlotFallbackVisibility = true;\n if (elm[\"s-ol\"]) {\n elm[\"s-ol\"].remove();\n } else {\n putBackInOriginalLocation(elm, true);\n }\n }\n elm.remove();\n }\n }\n }\n};\nvar updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i2 = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n } else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n } else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {\n patch(oldStartVnode, newStartVnode, isInitialRender);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {\n patch(oldEndVnode, newEndVnode, isInitialRender);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {\n if ((oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode, isInitialRender);\n insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {\n if ((oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode, isInitialRender);\n insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n idxInOld = -1;\n {\n for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {\n if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {\n idxInOld = i2;\n break;\n }\n }\n }\n if (idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);\n } else {\n patch(elmToMove, newStartVnode, isInitialRender);\n oldCh[idxInOld] = void 0;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n } else {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n {\n insertBefore(\n referenceNode(oldStartVnode.$elm$).parentNode,\n node,\n referenceNode(oldStartVnode.$elm$)\n );\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(\n parentElm,\n newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,\n newVNode2,\n newCh,\n newStartIdx,\n newEndIdx\n );\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nvar isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {\n if (leftVNode.$tag$ === rightVNode.$tag$) {\n if (leftVNode.$tag$ === \"slot\") {\n return leftVNode.$name$ === rightVNode.$name$;\n }\n if (!isInitialRender) {\n return leftVNode.$key$ === rightVNode.$key$;\n }\n if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {\n leftVNode.$key$ = rightVNode.$key$;\n }\n return true;\n }\n return false;\n};\nvar referenceNode = (node) => node && node[\"s-ol\"] || node;\nvar patch = (oldVNode, newVNode2, isInitialRender = false) => {\n const elm = newVNode2.$elm$ = oldVNode.$elm$;\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode2.$children$;\n const tag = newVNode2.$tag$;\n const text = newVNode2.$text$;\n let defaultHolder;\n if (text === null) {\n {\n isSvgMode = tag === \"svg\" ? true : tag === \"foreignObject\" ? false : isSvgMode;\n }\n {\n if (tag === \"slot\" && !useNativeShadowDom) ; else {\n updateElement(oldVNode, newVNode2, isSvgMode);\n }\n }\n if (oldChildren !== null && newChildren !== null) {\n updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);\n } else if (newChildren !== null) {\n if (oldVNode.$text$ !== null) {\n elm.textContent = \"\";\n }\n addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);\n } else if (\n // don't do this on initial render as it can cause non-hydrated content to be removed\n !isInitialRender && BUILD.updatable && oldChildren !== null\n ) {\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (isSvgMode && tag === \"svg\") {\n isSvgMode = false;\n }\n } else if ((defaultHolder = elm[\"s-cr\"])) {\n defaultHolder.parentNode.textContent = text;\n } else if (oldVNode.$text$ !== text) {\n elm.data = text;\n }\n};\nvar relocateNodes = [];\nvar markSlotContentForRelocation = (elm) => {\n let node;\n let hostContentNodes;\n let j;\n const children = elm.__childNodes || elm.childNodes;\n for (const childNode of children) {\n if (childNode[\"s-sr\"] && (node = childNode[\"s-cr\"]) && node.parentNode) {\n hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;\n const slotName = childNode[\"s-sn\"];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node[\"s-cn\"] && !node[\"s-nr\"] && node[\"s-hn\"] !== childNode[\"s-hn\"] && (!BUILD.experimentalSlotFixes )) {\n if (isNodeLocatedInSlot(node, slotName)) {\n let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n checkSlotFallbackVisibility = true;\n node[\"s-sn\"] = node[\"s-sn\"] || slotName;\n if (relocateNodeData) {\n relocateNodeData.$nodeToRelocate$[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodeData.$slotRefNode$ = childNode;\n } else {\n node[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node\n });\n }\n if (node[\"s-sr\"]) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node[\"s-sn\"])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n relocateNodes.push({\n $nodeToRelocate$: node\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n markSlotContentForRelocation(childNode);\n }\n }\n};\nvar insertBefore = (parent, newNode, reference) => {\n {\n return parent == null ? void 0 : parent.insertBefore(newNode, reference);\n }\n};\nvar renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {\n var _a, _b, _c, _d;\n const hostElm = hostRef.$hostElement$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n if (isInitialLoad && rootVnode.$attrs$) {\n for (const key of Object.keys(rootVnode.$attrs$)) {\n if (hostElm.hasAttribute(key) && ![\"key\", \"ref\", \"style\", \"class\"].includes(key)) {\n rootVnode.$attrs$[key] = hostElm[key];\n }\n }\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = hostElm;\n useNativeShadowDom = supportsShadow ;\n {\n contentRef = hostElm[\"s-cr\"];\n checkSlotFallbackVisibility = false;\n }\n patch(oldVNode, rootVnode, isInitialLoad);\n {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n markSlotContentForRelocation(rootVnode.$elm$);\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate[\"s-ol\"]) {\n const orgLocationNode = doc.createTextNode(\"\");\n orgLocationNode[\"s-nr\"] = nodeToRelocate;\n insertBefore(nodeToRelocate.parentNode, nodeToRelocate[\"s-ol\"] = orgLocationNode, nodeToRelocate);\n }\n }\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n const slotRefNode = relocateData.$slotRefNode$;\n if (slotRefNode) {\n const parentNodeRef = slotRefNode.parentNode;\n let insertBeforeNode = slotRefNode.nextSibling;\n {\n let orgLocationNode = (_a = nodeToRelocate[\"s-ol\"]) == null ? void 0 : _a.previousSibling;\n while (orgLocationNode) {\n let refNode = (_b = orgLocationNode[\"s-nr\"]) != null ? _b : null;\n if (refNode && refNode[\"s-sn\"] === nodeToRelocate[\"s-sn\"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {\n refNode = refNode.nextSibling;\n while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode[\"s-sr\"])) {\n refNode = refNode == null ? void 0 : refNode.nextSibling;\n }\n if (!refNode || !refNode[\"s-nr\"]) {\n insertBeforeNode = refNode;\n break;\n }\n }\n orgLocationNode = orgLocationNode.previousSibling;\n }\n }\n const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;\n const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;\n if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate[\"s-hn\"] && nodeToRelocate[\"s-ol\"]) {\n nodeToRelocate[\"s-hn\"] = nodeToRelocate[\"s-ol\"].parentNode.nodeName;\n }\n insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);\n if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== \"SLOT-FB\") {\n nodeToRelocate.hidden = (_c = nodeToRelocate[\"s-ih\"]) != null ? _c : false;\n }\n }\n }\n nodeToRelocate && typeof slotRefNode[\"s-rf\"] === \"function\" && slotRefNode[\"s-rf\"](nodeToRelocate);\n } else {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (isInitialLoad) {\n nodeToRelocate[\"s-ih\"] = (_d = nodeToRelocate.hidden) != null ? _d : false;\n }\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n relocateNodes.length = 0;\n }\n contentRef = void 0;\n};\n\n// src/runtime/update-component.ts\nvar attachToAncestor = (hostRef, ancestorComponent) => {\n if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent[\"s-p\"]) {\n const index = ancestorComponent[\"s-p\"].push(\n new Promise(\n (r) => hostRef.$onRenderResolve$ = () => {\n ancestorComponent[\"s-p\"].splice(index - 1, 1);\n r();\n }\n )\n );\n }\n};\nvar scheduleUpdate = (hostRef, isInitialLoad) => {\n {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return writeTask(dispatch) ;\n};\nvar dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime(\"scheduleUpdate\", hostRef.$cmpMeta$.$tagName$);\n const instance = elm;\n if (!instance) {\n throw new Error(\n `Can't render component <${elm.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`\n );\n }\n let maybePromise;\n endSchedule();\n return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nvar enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {\n console.error(err2);\n fn();\n}) : fn();\nvar isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === \"function\";\nvar updateComponent = async (hostRef, instance, isInitialLoad) => {\n var _a;\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime(\"update\", hostRef.$cmpMeta$.$tagName$);\n const rc = elm[\"s-rc\"];\n const endRender = createTime(\"render\", hostRef.$cmpMeta$.$tagName$);\n {\n callRender(hostRef, instance, elm, isInitialLoad);\n }\n if (rc) {\n rc.map((cb) => cb());\n elm[\"s-rc\"] = void 0;\n }\n endRender();\n endUpdate();\n {\n const childrenPromises = (_a = elm[\"s-p\"]) != null ? _a : [];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n } else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n }\n};\nvar callRender = (hostRef, instance, elm, isInitialLoad) => {\n try {\n instance = instance.render() ;\n {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n {\n {\n {\n renderVdom(hostRef, instance, isInitialLoad);\n }\n }\n }\n } catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n return null;\n};\nvar postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime(\"postUpdate\", tagName);\n const instance = elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n {\n addHydratedFlag(elm);\n }\n {\n safeCall(instance, \"componentDidLoad\", void 0, elm);\n }\n endPostUpdate();\n {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad();\n }\n }\n } else {\n endPostUpdate();\n }\n {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = void 0;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n};\nvar appDidLoad = (who) => {\n {\n addHydratedFlag(doc.documentElement);\n }\n nextTick(() => emitEvent(win, \"appload\", { detail: { namespace: NAMESPACE } }));\n};\nvar safeCall = (instance, method, arg, elm) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n } catch (e) {\n consoleError(e, elm);\n }\n }\n return void 0;\n};\nvar addHydratedFlag = (elm) => {\n var _a;\n return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : \"hydrated\") ;\n};\n\n// src/runtime/set-value.ts\nvar getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nvar setValue = (ref, propName, newVal, cmpMeta) => {\n const hostRef = getHostRef(ref);\n const elm = ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);\n const didValueChange = newVal !== oldVal && !areBothNaN;\n if (didValueChange) {\n hostRef.$instanceValues$.set(propName, newVal);\n {\n if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n watchMethods.map((watchMethodName) => {\n try {\n instance[watchMethodName](newVal, oldVal, propName);\n } catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\n\n// src/runtime/proxy-component.ts\nvar proxyComponent = (Cstr, cmpMeta, flags) => {\n var _a, _b;\n const prototype = Cstr.prototype;\n if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {\n if (Cstr.watchers && !cmpMeta.$watchers$) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});\n members.map(([memberName, [memberFlags]]) => {\n if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {\n const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};\n if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;\n if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;\n if (flags & 1 /* isElementConstructor */ || !origGetter) {\n Object.defineProperty(prototype, memberName, {\n get() {\n {\n return origGetter ? origGetter.apply(this) : getValue(this, memberName);\n }\n },\n configurable: true,\n enumerable: true\n });\n }\n Object.defineProperty(prototype, memberName, {\n set(newValue) {\n const ref = getHostRef(this);\n if (origSetter) {\n const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];\n if (typeof currentValue === \"undefined\" && ref.$instanceValues$.get(memberName)) {\n newValue = ref.$instanceValues$.get(memberName);\n } else if (!ref.$instanceValues$.get(memberName) && currentValue) {\n ref.$instanceValues$.set(memberName, currentValue);\n }\n origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);\n newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];\n setValue(this, memberName, newValue, cmpMeta);\n return;\n }\n {\n setValue(this, memberName, newValue, cmpMeta);\n return;\n }\n }\n });\n }\n });\n {\n const attrNameToPropName = /* @__PURE__ */ new Map();\n prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {\n plt.jmp(() => {\n var _a2;\n const propName = attrNameToPropName.get(attrName);\n if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {\n newValue = this[propName];\n delete this[propName];\n } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === \"number\" && // cast type to number to avoid TS compiler issues\n this[propName] == newValue) {\n return;\n } else if (propName == null) {\n const hostRef = getHostRef(this);\n const flags2 = hostRef == null ? void 0 : hostRef.$flags$;\n if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {\n const elm = this;\n const instance = elm;\n const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];\n entry == null ? void 0 : entry.forEach((callbackName) => {\n if (instance[callbackName] != null) {\n instance[callbackName].call(instance, newValue, oldValue, attrName);\n }\n });\n }\n return;\n }\n const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);\n newValue = newValue === null && typeof this[propName] === \"boolean\" ? false : newValue;\n if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {\n this[propName] = newValue;\n }\n });\n };\n Cstr.observedAttributes = Array.from(\n /* @__PURE__ */ new Set([\n ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),\n ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n return attrName;\n })\n ])\n );\n }\n }\n return Cstr;\n};\n\n// src/runtime/initialize-component.ts\nvar initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {\n if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n {\n const cmpTag = elm.localName;\n customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);\n }\n }\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (ancestorComponent && ancestorComponent[\"s-rc\"]) {\n ancestorComponent[\"s-rc\"].push(schedule);\n } else {\n schedule();\n }\n};\nvar fireConnectedCallback = (instance, elm) => {\n};\n\n// src/runtime/connected-callback.ts\nvar connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime(\"connectedCallback\", cmpMeta.$tagName$);\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n hostRef.$flags$ |= 1 /* hasConnected */;\n {\n if (// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {\n setContentReference(elm);\n }\n }\n {\n let ancestorComponent = elm;\n while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {\n if (ancestorComponent[\"s-p\"]) {\n attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);\n break;\n }\n }\n }\n if (cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n {\n initializeComponent(elm, hostRef);\n }\n } else {\n if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => fireConnectedCallback());\n }\n }\n endConnected();\n }\n};\nvar setContentReference = (elm) => {\n const contentRefElm = elm[\"s-cr\"] = doc.createComment(\n \"\"\n );\n contentRefElm[\"s-cn\"] = true;\n insertBefore(elm, contentRefElm, elm.firstChild);\n};\nvar disconnectedCallback = async (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n getHostRef(elm);\n }\n if (rootAppliedStyles.has(elm)) {\n rootAppliedStyles.delete(elm);\n }\n if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {\n rootAppliedStyles.delete(elm.shadowRoot);\n }\n};\nvar proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1]\n };\n {\n cmpMeta.$members$ = compactMeta[2];\n }\n {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __hasHostListenerAttached: false,\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n if (!this.__hasHostListenerAttached) {\n getHostRef(this);\n this.__hasHostListenerAttached = true;\n }\n connectedCallback(this);\n if (originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n plt.raf(() => {\n var _a;\n const hostRef = getHostRef(this);\n if (((_a = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {\n delete hostRef.$vnode$;\n }\n if (this instanceof Node && !this.isConnected) {\n deleteHostRef(this);\n }\n });\n },\n __attachShadow() {\n {\n this.shadowRoot = this;\n }\n }\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\n\n// src/runtime/fragment.ts\nvar Fragment = (_, children) => children;\n\n// src/runtime/nonce.ts\nvar setNonce = (nonce) => plt.$nonce$ = nonce;\n\n// src/runtime/platform-options.ts\nvar setPlatformOptions = (opts) => Object.assign(plt, opts);\n\nexport { Fragment as F, H, setNonce as a, setPlatformOptions as b, createEvent as c, getAssetPath as g, h, proxyCustomElement as p, setAssetPath as s };\n\n//# sourceMappingURL=p-5365011f.js.map","var zustand = {};\n\nvar vanilla$1 = {};\n\nconst createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nvanilla$1.createStore = createStore;\n\nvar react$1 = {};\n\nvar react = {exports: {}};\n\nvar react_production = {};\n\n/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nreact_production.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nreact_production.Component = Component;\nreact_production.Fragment = REACT_FRAGMENT_TYPE;\nreact_production.Profiler = REACT_PROFILER_TYPE;\nreact_production.PureComponent = PureComponent;\nreact_production.StrictMode = REACT_STRICT_MODE_TYPE;\nreact_production.Suspense = REACT_SUSPENSE_TYPE;\nreact_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nreact_production.act = function () {\n throw Error(\"act(...) is not supported in production builds of React.\");\n};\nreact_production.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nreact_production.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nreact_production.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nreact_production.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nreact_production.createRef = function () {\n return { current: null };\n};\nreact_production.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nreact_production.isValidElement = isValidElement;\nreact_production.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nreact_production.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nreact_production.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nreact_production.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nreact_production.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nreact_production.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nreact_production.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nreact_production.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nreact_production.useDebugValue = function () {};\nreact_production.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nreact_production.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nreact_production.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nreact_production.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nreact_production.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nreact_production.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nreact_production.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nreact_production.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nreact_production.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nreact_production.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nreact_production.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nreact_production.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nreact_production.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nreact_production.version = \"19.0.0\";\n\n{\n react.exports = react_production;\n}\n\nvar React = react.exports;\nvar vanilla = vanilla$1;\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = vanilla.createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nreact$1.create = create;\nreact$1.useStore = useStore;\n\n(function (exports) {\n\nvar vanilla = vanilla$1;\nvar react = react$1;\n\n\n\nObject.keys(vanilla).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return vanilla[k]; }\n\t});\n});\nObject.keys(react).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return react[k]; }\n\t});\n});\n}(zustand));\n\nvar D = Object.defineProperty;\nvar B = (n, t, r) => t in n ? D(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;\nvar m = (n, t, r) => B(n, typeof t != \"symbol\" ? t + \"\" : t, r);\nconst L = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet q = (n = 21) => {\n let t = \"\", r = crypto.getRandomValues(new Uint8Array(n |= 0));\n for (; n--; )\n t += L[r[n] & 63];\n return t;\n};\nfunction w(n, t, r, i) {\n return new (r || (r = Promise))(function(s, o) {\n function e(u) {\n try {\n l(i.next(u));\n } catch (a) {\n o(a);\n }\n }\n function c(u) {\n try {\n l(i.throw(u));\n } catch (a) {\n o(a);\n }\n }\n function l(u) {\n var a;\n u.done ? s(u.value) : (a = u.value, a instanceof r ? a : new r(function(p) {\n p(a);\n })).then(e, c);\n }\n l((i = i.apply(n, [])).next());\n });\n}\nfunction y(n, t) {\n var r, i, s, o, e = { label: 0, sent: function() {\n if (1 & s[0]) throw s[1];\n return s[1];\n }, trys: [], ops: [] };\n return o = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function c(l) {\n return function(u) {\n return function(a) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n for (; o && (o = 0, a[0] && (e = 0)), e; ) try {\n if (r = 1, i && (s = 2 & a[0] ? i.return : a[0] ? i.throw || ((s = i.return) && s.call(i), 0) : i.next) && !(s = s.call(i, a[1])).done) return s;\n switch (i = 0, s && (a = [2 & a[0], s.value]), a[0]) {\n case 0:\n case 1:\n s = a;\n break;\n case 4:\n return e.label++, { value: a[1], done: !1 };\n case 5:\n e.label++, i = a[1], a = [0];\n continue;\n case 7:\n a = e.ops.pop(), e.trys.pop();\n continue;\n default:\n if (s = e.trys, !((s = s.length > 0 && s[s.length - 1]) || a[0] !== 6 && a[0] !== 2)) {\n e = 0;\n continue;\n }\n if (a[0] === 3 && (!s || a[1] > s[0] && a[1] < s[3])) {\n e.label = a[1];\n break;\n }\n if (a[0] === 6 && e.label < s[1]) {\n e.label = s[1], s = a;\n break;\n }\n if (s && e.label < s[2]) {\n e.label = s[2], e.ops.push(a);\n break;\n }\n s[2] && e.ops.pop(), e.trys.pop();\n continue;\n }\n a = t.call(n, e);\n } catch (p) {\n a = [6, p], i = 0;\n } finally {\n r = s = 0;\n }\n if (5 & a[0]) throw a[1];\n return { value: a[0] ? a[1] : void 0, done: !0 };\n }([l, u]);\n };\n }\n}\nvar b = { exclude: [] }, P = {}, N = { timeout: \"true\" }, v = function(n, t) {\n typeof window < \"u\" && (P[n] = t);\n}, j = function() {\n return Object.fromEntries(Object.entries(P).filter(function(n) {\n var t, r = n[0];\n return !(!((t = b == null ? void 0 : b.exclude) === null || t === void 0) && t.includes(r));\n }).map(function(n) {\n return [n[0], (0, n[1])()];\n }));\n};\nfunction M(n) {\n return n ^= n >>> 16, n = Math.imul(n, 2246822507), n ^= n >>> 13, n = Math.imul(n, 3266489909), (n ^= n >>> 16) >>> 0;\n}\nvar f = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);\nfunction g(n, t) {\n return n << t | n >>> 32 - t;\n}\nfunction R(n, t) {\n var r;\n if (t === void 0 && (t = 0), t = t ? 0 | t : 0, typeof n == \"string\" && (r = n, n = new TextEncoder().encode(r).buffer), !(n instanceof ArrayBuffer)) throw new TypeError(\"Expected key to be ArrayBuffer or string\");\n var i = new Uint32Array([t, t, t, t]);\n ((function(o, e) {\n for (var c = o.byteLength / 16 | 0, l = new Uint32Array(o, 0, 4 * c), u = 0; u < c; u++) {\n var a = l.subarray(4 * u, 4 * (u + 1));\n a[0] = Math.imul(a[0], f[0]), a[0] = g(a[0], 15), a[0] = Math.imul(a[0], f[1]), e[0] = e[0] ^ a[0], e[0] = g(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, a[1] = Math.imul(a[1], f[1]), a[1] = g(a[1], 16), a[1] = Math.imul(a[1], f[2]), e[1] = e[1] ^ a[1], e[1] = g(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, a[2] = Math.imul(a[2], f[2]), a[2] = g(a[2], 17), a[2] = Math.imul(a[2], f[3]), e[2] = e[2] ^ a[2], e[2] = g(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, a[3] = Math.imul(a[3], f[3]), a[3] = g(a[3], 18), a[3] = Math.imul(a[3], f[0]), e[3] = e[3] ^ a[3], e[3] = g(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;\n }\n }))(n, i), function(o, e) {\n var c = o.byteLength / 16 | 0, l = o.byteLength % 16, u = new Uint32Array(4), a = new Uint8Array(o, 16 * c, l);\n switch (l) {\n case 15:\n u[3] = u[3] ^ a[14] << 16;\n case 14:\n u[3] = u[3] ^ a[13] << 8;\n case 13:\n u[3] = u[3] ^ a[12] << 0, u[3] = Math.imul(u[3], f[3]), u[3] = g(u[3], 18), u[3] = Math.imul(u[3], f[0]), e[3] = e[3] ^ u[3];\n case 12:\n u[2] = u[2] ^ a[11] << 24;\n case 11:\n u[2] = u[2] ^ a[10] << 16;\n case 10:\n u[2] = u[2] ^ a[9] << 8;\n case 9:\n u[2] = u[2] ^ a[8] << 0, u[2] = Math.imul(u[2], f[2]), u[2] = g(u[2], 17), u[2] = Math.imul(u[2], f[3]), e[2] = e[2] ^ u[2];\n case 8:\n u[1] = u[1] ^ a[7] << 24;\n case 7:\n u[1] = u[1] ^ a[6] << 16;\n case 6:\n u[1] = u[1] ^ a[5] << 8;\n case 5:\n u[1] = u[1] ^ a[4] << 0, u[1] = Math.imul(u[1], f[1]), u[1] = g(u[1], 16), u[1] = Math.imul(u[1], f[2]), e[1] = e[1] ^ u[1];\n case 4:\n u[0] = u[0] ^ a[3] << 24;\n case 3:\n u[0] = u[0] ^ a[2] << 16;\n case 2:\n u[0] = u[0] ^ a[1] << 8;\n case 1:\n u[0] = u[0] ^ a[0] << 0, u[0] = Math.imul(u[0], f[0]), u[0] = g(u[0], 15), u[0] = Math.imul(u[0], f[1]), e[0] = e[0] ^ u[0];\n }\n }(n, i), function(o, e) {\n e[0] = e[0] ^ o.byteLength, e[1] = e[1] ^ o.byteLength, e[2] = e[2] ^ o.byteLength, e[3] = e[3] ^ o.byteLength, e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0, e[0] = M(e[0]), e[1] = M(e[1]), e[2] = M(e[2]), e[3] = M(e[3]), e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0;\n }(n, i);\n var s = new Uint8Array(i.buffer);\n return Array.from(s).map(function(o) {\n return o.toString(16).padStart(2, \"0\");\n }).join(\"\");\n}\nfunction G(n, t) {\n return new Promise(function(r) {\n setTimeout(function() {\n return r(t);\n }, n);\n });\n}\nfunction W(n, t, r) {\n return Promise.all(n.map(function(i) {\n return Promise.race([i, G(t, r)]);\n }));\n}\nfunction V() {\n return w(this, void 0, void 0, function() {\n var n, t, r, i, s;\n return y(this, function(o) {\n switch (o.label) {\n case 0:\n return o.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (b == null ? void 0 : b.timeout) || 1e3, N)];\n case 1:\n return r = o.sent(), i = r.filter(function(e) {\n return e !== void 0;\n }), s = {}, i.forEach(function(e, c) {\n s[t[c]] = e;\n }), [2, _(s, b.exclude || [])];\n case 2:\n throw o.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction _(n, t) {\n var r = {}, i = function(o) {\n if (n.hasOwnProperty(o)) {\n var e = n[o];\n if (typeof e != \"object\" || Array.isArray(e)) t.includes(o) || (r[o] = e);\n else {\n var c = _(e, t.map(function(l) {\n return l.startsWith(o + \".\") ? l.slice(o.length + 1) : l;\n }));\n Object.keys(c).length > 0 && (r[o] = c);\n }\n }\n };\n for (var s in n) i(s);\n return r;\n}\nfunction H(n) {\n return w(this, void 0, void 0, function() {\n var t, r;\n return y(this, function(i) {\n switch (i.label) {\n case 0:\n return i.trys.push([0, 2, , 3]), [4, V()];\n case 1:\n return t = i.sent(), r = R(JSON.stringify(t)), [2, r.toString()];\n case 2:\n throw i.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction $(n) {\n for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);\n return t;\n}\nfunction F(n, t, r) {\n for (var i = [], s = 0; s < n[0].data.length; s++) {\n for (var o = [], e = 0; e < n.length; e++) o.push(n[e].data[s]);\n i.push(K(o));\n }\n var c = new Uint8ClampedArray(i);\n return new ImageData(c, t, r);\n}\nfunction K(n) {\n if (n.length === 0) return 0;\n for (var t = {}, r = 0, i = n; r < i.length; r++)\n t[o = i[r]] = (t[o] || 0) + 1;\n var s = n[0];\n for (var o in t) t[o] > t[s] && (s = parseInt(o, 10));\n return s;\n}\nfunction E() {\n if (typeof navigator > \"u\") return { name: \"unknown\", version: \"unknown\" };\n for (var n = navigator.userAgent, t = { Edg: \"Edge\", OPR: \"Opera\" }, r = 0, i = [/(?<name>Edge|Edg)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>Safari)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>[A-Za-z]+)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>SamsungBrowser)\\/(?<version>\\d+(?:\\.\\d+)?)/]; r < i.length; r++) {\n var s = i[r], o = n.match(s);\n if (o && o.groups) return { name: t[o.groups.name] || o.groups.name, version: o.groups.version };\n }\n return { name: \"unknown\", version: \"unknown\" };\n}\nv(\"audio\", function() {\n return w(this, void 0, void 0, function() {\n return y(this, function(n) {\n return [2, new Promise(function(t, r) {\n try {\n var i = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), s = i.createBufferSource(), o = i.createOscillator();\n o.frequency.value = 1e3;\n var e, c = i.createDynamicsCompressor();\n c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, o.connect(c), c.connect(i.destination), o.start(), i.oncomplete = function(l) {\n e = l.renderedBuffer.getChannelData(0), t({ sampleHash: $(e), oscillator: o.type, maxChannels: i.destination.maxChannelCount, channelCountMode: s.channelCountMode });\n }, i.startRendering();\n } catch (l) {\n console.error(\"Error creating audio fingerprint:\", l), r(l);\n }\n })];\n });\n });\n});\nvar z = E().name !== \"SamsungBrowser\" ? 1 : 3, T = 280, C = 20;\nE().name != \"Firefox\" && v(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(n) {\n var t = Array.from({ length: z }, function() {\n return function() {\n var r = document.createElement(\"canvas\"), i = r.getContext(\"2d\");\n if (!i) return new ImageData(1, 1);\n r.width = T, r.height = C;\n var s = i.createLinearGradient(0, 0, r.width, r.height);\n s.addColorStop(0, \"red\"), s.addColorStop(0.16666666666666666, \"orange\"), s.addColorStop(0.3333333333333333, \"yellow\"), s.addColorStop(0.5, \"green\"), s.addColorStop(0.6666666666666666, \"blue\"), s.addColorStop(0.8333333333333334, \"indigo\"), s.addColorStop(1, \"violet\"), i.fillStyle = s, i.fillRect(0, 0, r.width, r.height);\n var o = \"Random Text WMwmil10Oo\";\n i.font = \"23.123px Arial\", i.fillStyle = \"black\", i.fillText(o, -5, 15), i.fillStyle = \"rgba(0, 0, 255, 0.5)\", i.fillText(o, -3.3, 17.7), i.beginPath(), i.moveTo(0, 0), i.lineTo(2 * r.width / 7, r.height), i.strokeStyle = \"white\", i.lineWidth = 2, i.stroke();\n var e = i.getImageData(0, 0, r.width, r.height);\n return e;\n }();\n });\n n({ commonImageDataHash: R(F(t, T, C).data.toString()).toString() });\n });\n});\nvar A, J = [\"Arial\", \"Arial Black\", \"Arial Narrow\", \"Arial Rounded MT\", \"Arimo\", \"Archivo\", \"Barlow\", \"Bebas Neue\", \"Bitter\", \"Bookman\", \"Calibri\", \"Cabin\", \"Candara\", \"Century\", \"Century Gothic\", \"Comic Sans MS\", \"Constantia\", \"Courier\", \"Courier New\", \"Crimson Text\", \"DM Mono\", \"DM Sans\", \"DM Serif Display\", \"DM Serif Text\", \"Dosis\", \"Droid Sans\", \"Exo\", \"Fira Code\", \"Fira Sans\", \"Franklin Gothic Medium\", \"Garamond\", \"Geneva\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Inconsolata\", \"Indie Flower\", \"Inter\", \"Josefin Sans\", \"Karla\", \"Lato\", \"Lexend\", \"Lucida Bright\", \"Lucida Console\", \"Lucida Sans Unicode\", \"Manrope\", \"Merriweather\", \"Merriweather Sans\", \"Montserrat\", \"Myriad\", \"Noto Sans\", \"Nunito\", \"Nunito Sans\", \"Open Sans\", \"Optima\", \"Orbitron\", \"Oswald\", \"Pacifico\", \"Palatino\", \"Perpetua\", \"PT Sans\", \"PT Serif\", \"Poppins\", \"Prompt\", \"Public Sans\", \"Quicksand\", \"Rajdhani\", \"Recursive\", \"Roboto\", \"Roboto Condensed\", \"Rockwell\", \"Rubik\", \"Segoe Print\", \"Segoe Script\", \"Segoe UI\", \"Sora\", \"Source Sans Pro\", \"Space Mono\", \"Tahoma\", \"Taviraj\", \"Times\", \"Times New Roman\", \"Titillium Web\", \"Trebuchet MS\", \"Ubuntu\", \"Varela Round\", \"Verdana\", \"Work Sans\"], Q = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction k(n, t) {\n if (!n) throw new Error(\"Canvas context not supported\");\n return n.font = \"72px \".concat(t), n.measureText(\"WwMmLli0Oo\").width;\n}\nfunction Y() {\n var n, t = document.createElement(\"canvas\"), r = (n = t.getContext(\"webgl\")) !== null && n !== void 0 ? n : t.getContext(\"experimental-webgl\");\n if (r && \"getParameter\" in r) try {\n var i = (r.getParameter(r.VENDOR) || \"\").toString(), s = (r.getParameter(r.RENDERER) || \"\").toString(), o = { vendor: i, renderer: s, version: (r.getParameter(r.VERSION) || \"\").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!s.length || !i.length) {\n var e = r.getExtension(\"WEBGL_debug_renderer_info\");\n if (e) {\n var c = (r.getParameter(e.UNMASKED_VENDOR_WEBGL) || \"\").toString(), l = (r.getParameter(e.UNMASKED_RENDERER_WEBGL) || \"\").toString();\n c && (o.vendorUnmasked = c), l && (o.rendererUnmasked = l);\n }\n }\n return o;\n } catch {\n }\n return \"undefined\";\n}\nfunction X() {\n var n = new Float32Array(1), t = new Uint8Array(n.buffer);\n return n[0] = 1 / 0, n[0] = n[0] - n[0], t[3];\n}\nfunction Z(n, t) {\n var r = {};\n return t.forEach(function(i) {\n var s = function(o) {\n if (o.length === 0) return null;\n var e = {};\n o.forEach(function(u) {\n var a = String(u);\n e[a] = (e[a] || 0) + 1;\n });\n var c = o[0], l = 1;\n return Object.keys(e).forEach(function(u) {\n e[u] > l && (c = u, l = e[u]);\n }), c;\n }(n.map(function(o) {\n return i in o ? o[i] : void 0;\n }).filter(function(o) {\n return o !== void 0;\n }));\n s && (r[i] = s);\n }), r;\n}\nfunction ee() {\n var n = [], t = { \"prefers-contrast\": [\"high\", \"more\", \"low\", \"less\", \"forced\", \"no-preference\"], \"any-hover\": [\"hover\", \"none\"], \"any-pointer\": [\"none\", \"coarse\", \"fine\"], pointer: [\"none\", \"coarse\", \"fine\"], hover: [\"hover\", \"none\"], update: [\"fast\", \"slow\"], \"inverted-colors\": [\"inverted\", \"none\"], \"prefers-reduced-motion\": [\"reduce\", \"no-preference\"], \"prefers-reduced-transparency\": [\"reduce\", \"no-preference\"], scripting: [\"none\", \"initial-only\", \"enabled\"], \"forced-colors\": [\"active\", \"none\"] };\n return Object.keys(t).forEach(function(r) {\n t[r].forEach(function(i) {\n matchMedia(\"(\".concat(r, \": \").concat(i, \")\")).matches && n.push(\"\".concat(r, \": \").concat(i));\n });\n }), n;\n}\nfunction te() {\n if (window.location.protocol === \"https:\" && typeof window.ApplePaySession == \"function\") try {\n for (var n = window.ApplePaySession.supportsVersion, t = 15; t > 0; t--) if (n(t)) return t;\n } catch {\n return 0;\n }\n return 0;\n}\nE().name != \"Firefox\" && v(\"fonts\", function() {\n var n = this;\n return new Promise(function(t, r) {\n try {\n (function(i) {\n var s;\n w(this, void 0, void 0, function() {\n var o, e, c;\n return y(this, function(l) {\n switch (l.label) {\n case 0:\n return document.body ? [3, 2] : [4, (u = 50, new Promise(function(p) {\n return setTimeout(p, u, a);\n }))];\n case 1:\n return l.sent(), [3, 0];\n case 2:\n if ((o = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (e = o.style).setProperty(\"position\", \"fixed\"), e.setProperty(\"display\", \"block\", \"important\"), e.setProperty(\"visibility\", \"visible\"), e.setProperty(\"border\", \"0\"), e.setProperty(\"opacity\", \"0\"), o.src = \"about:blank\", document.body.appendChild(o), !(c = o.contentDocument || ((s = o.contentWindow) === null || s === void 0 ? void 0 : s.document))) throw new Error(\"Iframe document is not accessible\");\n return i({ iframe: c }), setTimeout(function() {\n document.body.removeChild(o);\n }, 0), [2];\n }\n var u, a;\n });\n });\n })(function(i) {\n var s = i.iframe;\n return w(n, void 0, void 0, function() {\n var o, e, c, l;\n return y(this, function(u) {\n return o = s.createElement(\"canvas\"), e = o.getContext(\"2d\"), c = Q.map(function(a) {\n return k(e, a);\n }), l = {}, J.forEach(function(a) {\n var p = k(e, a);\n c.includes(p) || (l[a] = p);\n }), t(l), [2];\n });\n });\n });\n } catch {\n r({ error: \"unsupported\" });\n }\n });\n}), v(\"hardware\", function() {\n return new Promise(function(n, t) {\n var r = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, i = window.performance && window.performance.memory ? window.performance.memory : 0;\n n({ videocard: Y(), architecture: X(), deviceMemory: r.toString() || \"undefined\", jsHeapSizeLimit: i.jsHeapSizeLimit || 0 });\n });\n}), v(\"locales\", function() {\n return new Promise(function(n) {\n n({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });\n });\n}), v(\"permissions\", function() {\n return w(this, void 0, void 0, function() {\n var n;\n return y(this, function(t) {\n return A = (b == null ? void 0 : b.permissions_to_check) || [\"accelerometer\", \"accessibility\", \"accessibility-events\", \"ambient-light-sensor\", \"background-fetch\", \"background-sync\", \"bluetooth\", \"camera\", \"clipboard-read\", \"clipboard-write\", \"device-info\", \"display-capture\", \"gyroscope\", \"geolocation\", \"local-fonts\", \"magnetometer\", \"microphone\", \"midi\", \"nfc\", \"notifications\", \"payment-handler\", \"persistent-storage\", \"push\", \"speaker\", \"storage-access\", \"top-level-storage-access\", \"window-management\", \"query\"], n = Array.from({ length: (b == null ? void 0 : b.retries) || 3 }, function() {\n return function() {\n return w(this, void 0, void 0, function() {\n var r, i, s, o, e;\n return y(this, function(c) {\n switch (c.label) {\n case 0:\n r = {}, i = 0, s = A, c.label = 1;\n case 1:\n if (!(i < s.length)) return [3, 6];\n o = s[i], c.label = 2;\n case 2:\n return c.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];\n case 3:\n return e = c.sent(), r[o] = e.state.toString(), [3, 5];\n case 4:\n return c.sent(), [3, 5];\n case 5:\n return i++, [3, 1];\n case 6:\n return [2, r];\n }\n });\n });\n }();\n }), [2, Promise.all(n).then(function(r) {\n return Z(r, A);\n })];\n });\n });\n}), v(\"plugins\", function() {\n var n = [];\n if (navigator.plugins) for (var t = 0; t < navigator.plugins.length; t++) {\n var r = navigator.plugins[t];\n n.push([r.name, r.filename, r.description].join(\"|\"));\n }\n return new Promise(function(i) {\n i({ plugins: n });\n });\n}), v(\"screen\", function() {\n return new Promise(function(n) {\n n({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });\n });\n}), v(\"system\", function() {\n return new Promise(function(n) {\n var t = E();\n n({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: t.name, version: t.version }, applePayVersion: te() });\n });\n});\nvar h, ne = E().name !== \"SamsungBrowser\" ? 1 : 3, d = null;\nv(\"webgl\", function() {\n return w(this, void 0, void 0, function() {\n var n;\n return y(this, function(t) {\n typeof document < \"u\" && ((h = document.createElement(\"canvas\")).width = 200, h.height = 100, d = h.getContext(\"webgl\"));\n try {\n if (!d) throw new Error(\"WebGL not supported\");\n return n = Array.from({ length: ne }, function() {\n return function() {\n try {\n if (!d) throw new Error(\"WebGL not supported\");\n var r = `\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n `, i = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, s = d.createShader(d.VERTEX_SHADER), o = d.createShader(d.FRAGMENT_SHADER);\n if (!s || !o) throw new Error(\"Failed to create shaders\");\n if (d.shaderSource(s, r), d.shaderSource(o, i), d.compileShader(s), !d.getShaderParameter(s, d.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + d.getShaderInfoLog(s));\n if (d.compileShader(o), !d.getShaderParameter(o, d.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + d.getShaderInfoLog(o));\n var e = d.createProgram();\n if (!e) throw new Error(\"Failed to create shader program\");\n if (d.attachShader(e, s), d.attachShader(e, o), d.linkProgram(e), !d.getProgramParameter(e, d.LINK_STATUS)) throw new Error(\"Shader program linking failed: \" + d.getProgramInfoLog(e));\n d.useProgram(e);\n for (var c = 137, l = new Float32Array(4 * c), u = 2 * Math.PI / c, a = 0; a < c; a++) {\n var p = a * u;\n l[4 * a] = 0, l[4 * a + 1] = 0, l[4 * a + 2] = Math.cos(p) * (h.width / 2), l[4 * a + 3] = Math.sin(p) * (h.height / 2);\n }\n var U = d.createBuffer();\n d.bindBuffer(d.ARRAY_BUFFER, U), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);\n var x = d.getAttribLocation(e, \"position\");\n d.enableVertexAttribArray(x), d.vertexAttribPointer(x, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, h.width, h.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * c);\n var I = new Uint8ClampedArray(h.width * h.height * 4);\n return d.readPixels(0, 0, h.width, h.height, d.RGBA, d.UNSIGNED_BYTE, I), new ImageData(I, h.width, h.height);\n } catch {\n return new ImageData(1, 1);\n } finally {\n d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));\n }\n }();\n }), [2, { commonImageHash: R(F(n, h.width, h.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar S = function(n, t, r, i) {\n for (var s = (r - t) / i, o = 0, e = 0; e < i; e++)\n o += n(t + (e + 0.5) * s);\n return o * s;\n};\nv(\"math\", function() {\n return w(void 0, void 0, void 0, function() {\n return y(this, function(n) {\n return [2, { acos: Math.acos(0.5), asin: S(Math.asin, -1, 1, 97), atan: S(Math.atan, -1, 1, 97), cos: S(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: S(Math.sin, -Math.PI, Math.PI, 97), sinh: S(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: S(Math.tan, 0, 2 * Math.PI, 97), tanh: S(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst re = 500;\nclass ae {\n constructor(t, r) {\n m(this, \"config\");\n m(this, \"sdkInfo\");\n m(this, \"userId\");\n m(this, \"sessionId\");\n m(this, \"searchRequestTimeout\");\n m(this, \"measureRequestTimeout\");\n m(this, \"measureRequestsBatched\", []);\n /**\n * Performs a search operation.\n * @param {SearchParams} searchParams - The parameters for the search.\n * @returns {Promise<SearchcraftResponse>} - Returns the search response or throws an error.\n */\n m(this, \"search\", (t, r) => {\n const i = async () => {\n if (this.sendMeasureEvent(\"search_requested\", {\n search_term: t.query\n }), (t.query.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n try {\n const o = {\n query: this.buildQueryObject(t),\n limit: t.limit ?? 20\n // Default to 20 if not provided\n };\n t.offset !== void 0 && (o.offset = t.offset), t.order_by && (o.order_by = t.order_by, o.sort = t.sort === \"desc\" || t.sort === \"asc\" ? t.sort : \"asc\");\n const e = {\n method: \"POST\",\n headers: {\n Authorization: this.config.readKey,\n \"Content-Type\": \"application/json\",\n \"X-Sc-User-Id\": this.userId\n },\n body: JSON.stringify(o)\n }, c = await fetch(this.baseSearchUrl, e);\n if (!c.ok)\n throw new Error(\n `Error: ${c.statusText} (Status: ${c.status})`\n );\n const l = await c.json();\n this.sendMeasureEvent(\"search_response_received\", {\n search_term: t.query,\n number_of_documents: l.data.count\n }), r(l);\n } catch (o) {\n throw console.error(\"Error parsing response:\", o), o;\n }\n };\n clearTimeout(this.searchRequestTimeout), this.config.searchDebounceDelay ? this.searchRequestTimeout = setTimeout(\n i,\n this.config.searchDebounceDelay\n ) : i();\n });\n /**\n * Sends a measure event to the `/measure/event` endpoint for analytics purposes.\n *\n * @param {MeasureEventName} eventName - Name of the event.\n * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.\n * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.\n */\n m(this, \"sendMeasureEvent\", (t, r = {}, i = {}) => {\n const s = {\n event_name: t,\n properties: {\n searchcraft_index_names: this.config.index,\n ...r\n },\n user: {\n ...this.measureRequestUser,\n ...i\n }\n };\n this.measureRequestsBatched.push(s), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const o = JSON.stringify({ items: this.measureRequestsBatched }), e = `${this.baseMeasureUrl}/batch`;\n try {\n const c = await fetch(e, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.readKey,\n \"X-Sc-User-Id\": this.userId\n },\n body: o,\n keepalive: !0\n });\n if (!c.ok)\n throw new Error(\n `Failed to send request: ${c.status} ${c.statusText}`\n );\n this.measureRequestsBatched = [];\n return;\n } catch (c) {\n throw console.error(\"Error sending MeasureRequest:\", c), c;\n }\n }, re);\n });\n if (!t.endpointURL || !t.index || !t.readKey)\n throw new Error(\n \"Endpoint URL, Index value(s), and Read Key must be provided\"\n );\n this.config = t, this.sdkInfo = r, this.userId = t.userId || \"\", this.sessionId = \"\", setTimeout(() => {\n this.sessionId = q(), this.initMeasure();\n }, 300);\n }\n /**\n * Initializes this.userId based on config & sends the `sdk_innitialized` event.\n */\n async initMeasure() {\n if (!this.config.userId) {\n const t = await H();\n this.userId = t;\n }\n this.sendMeasureEvent(\"sdk_initialized\");\n }\n /**\n * Getter for the base url used by the /search endpoint.\n */\n get baseSearchUrl() {\n return `${this.config.endpointURL}/index/${this.config.index.join(\",\")}/search`;\n }\n /**\n * Getter for the base url used by the /measure endpoints.\n */\n get baseMeasureUrl() {\n return `${this.config.endpointURL}/measure`;\n }\n /**\n * Getter for the measure request user. Uses config values + navigator values.\n */\n get measureRequestUser() {\n return {\n user_id: this.userId,\n locale: navigator.language || \"en-US\",\n os: navigator.userAgent.includes(\"Windows\") ? \"Windows\" : navigator.userAgent.includes(\"Mac\") ? \"Mac\" : navigator.userAgent.includes(\"Linux\") ? \"Linux\" : \"Unknown\",\n platform: navigator.platform || \"Unknown\",\n sdk_name: this.sdkInfo.sdkName,\n sdk_version: this.sdkInfo.sdkVersion,\n user_agent: navigator.userAgent || \"Unknown\"\n };\n }\n /**\n * Builds a query object for the search request.\n * @param {SearchParams} searchParams - The parameters for the search.\n * @returns {QueryObject} - A properly formatted query object.\n */\n buildQueryObject(t) {\n const r = [];\n let i = \"should\";\n return t.facetPathsForIndexFields && Object.keys(t.facetPathsForIndexFields).forEach(\n (s) => {\n var e;\n const o = (e = t.facetPathsForIndexFields) == null ? void 0 : e[s];\n o && (i = \"must\", r.push({\n occur: i,\n exact: {\n ctx: o.value\n }\n }));\n }\n ), t.rangeValueForIndexFields && Object.keys(t.rangeValueForIndexFields).forEach(\n (s) => {\n var e;\n const o = (e = t.rangeValueForIndexFields) == null ? void 0 : e[s];\n o && (i = \"must\", r.push({\n occur: i,\n exact: {\n ctx: o.value\n }\n }));\n }\n ), t.sort === \"desc\" ? t.order_by = \"date_published\" : t.order_by = \"\", r.push({\n occur: i,\n // Valid, as 'occur' is a required property in QueryItem\n [t.mode]: { ctx: t.query }\n // Ensure dynamic mode is inside queryType\n }), r;\n }\n}\nvar O = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = \"DEBUG\", n[n.INFO = 1] = \"INFO\", n[n.WARN = 2] = \"WARN\", n[n.ERROR = 3] = \"ERROR\", n))(O || {});\nclass se {\n constructor(t) {\n m(this, \"logLevel\");\n m(this, \"logFormatter\");\n this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(t, r) {\n return `[${O[t]}] ${( new Date()).toISOString()}: ${r}`;\n }\n debug(t) {\n this.logLevel <= 0 && console.log(this.logFormatter(0, t));\n }\n info(t) {\n this.logLevel <= 1 && console.info(this.logFormatter(1, t));\n }\n warn(t) {\n this.logLevel <= 2 && console.warn(this.logFormatter(2, t));\n }\n error(t) {\n this.logLevel <= 3 && console.error(this.logFormatter(3, t));\n }\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = zustand.create((set, get) => {\n let searchcraft = null;\n let debuggerInstance = null;\n const log = (level, message) => {\n if (debuggerInstance) {\n switch (level) {\n case O.DEBUG:\n debuggerInstance.debug(message);\n break;\n case O.INFO:\n debuggerInstance.info(message);\n break;\n case O.WARN:\n debuggerInstance.warn(message);\n break;\n case O.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n return {\n setPopoverVisibility: (isVisible) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n isPopoverVisible: false,\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n addFacetPathsForIndexField: (data) => set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeFacetPathsForIndexField: (fieldName) => set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n addRangeValueForIndexField: (data) => set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeRangeValueForIndexField: (fieldName) => set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n searchMode: 'fuzzy',\n sortType: 'asc',\n facetPathsForIndexFields: {},\n rangeValueForIndexFields: {},\n query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n setQuery: (query) => {\n /**\n * When a new query is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n query,\n facetPathsForIndexFields: {},\n ...(query.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const state = get();\n log(O.INFO, `Starting search with search term: \"${state.query}\"`);\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n if (!state.query.trim()) {\n log(O.INFO, 'No search request was made: search term was empty.');\n state.setSearchResults(null);\n return;\n }\n state.setIsRequesting(true);\n searchcraft.search({\n query: state.query,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n }, (results) => {\n const updatedFacets = results.data.facets || null;\n state.setSearchResults(results);\n if (updatedFacets) {\n state.setFacets(updatedFacets);\n }\n log(O.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(O.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);\n state.setIsRequesting(false);\n });\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new se({ logLevel: O.DEBUG })\n : null;\n log(O.INFO, 'Searchcraft store initialized.');\n },\n };\n});\nconst useThemeStore = zustand.create((set) => ({\n theme: 'light',\n toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\nexport { useThemeStore as a, ae as b, useSearchcraftStore as u };\n\n//# sourceMappingURL=p-936e2ed4.js.map","import { p as proxyCustomElement, H, h, F as Fragment } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\n\nconst SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The title content.\n */\n titleContent;\n /**\n * The subtitle content.\n */\n subtitleContent;\n /**\n * The body content.\n */\n bodyContent;\n /**\n * The footer content.\n */\n footerContent;\n /**\n * The label for the button rendered when containerHref is not present.\n */\n buttonLabel;\n /**\n * The link for the button rendered when containerHref is not present.\n */\n buttonHref;\n /**\n * Where to open the link for the button rendered when containerHref is not present.\n */\n buttonTarget = '_blank';\n /**\n * The relationship between the current document and the link for the button rendered when containerHref is not present.\n */\n buttonRel;\n /**\n * The link for the containing element.\n */\n containerHref;\n /**\n * Where to open the link for the containing element.\n */\n containerTarget = '_blank';\n /**\n * The relationship between the current document and the link for the containing element.\n */\n containerRel;\n /**\n * The image source.\n */\n imageSrc;\n /**\n * The image alternative text.\n */\n imageAlt;\n /**\n * The placement of the image.\n */\n imagePlacement = 'right';\n /**\n * A custom styles object.\n */\n customStyles;\n /**\n * The position in the document. Used with the \"document_clicked\" measure event.\n */\n documentPosition = 0;\n searchcraftStore = useSearchcraftStore.getState();\n recordMeasureEvent = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.query;\n const number_of_documents = this.searchcraftStore.searchResults?.data?.hits?.length || 0;\n searchcraft.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n parseStyles = () => {\n if (this.customStyles) {\n try {\n return JSON.parse(this.customStyles);\n }\n catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n return {};\n };\n render() {\n const styles = this.parseStyles();\n const imageContainer = this.imageSrc && (h(\"img\", { alt: this.imageAlt, class: 'searchcraft-search-result-image', src: this.imageSrc, style: styles.image || {} }));\n const contentContainer = (h(Fragment, null, this.imageSrc && this.imagePlacement === 'left' && imageContainer, h(\"div\", { class: 'searchcraft-base-search-result-content-container' }, this.titleContent && (h(\"h2\", { class: 'searchcraft-base-search-result-title', style: styles.title || {} }, this.titleContent)), this.subtitleContent && (h(\"h3\", { class: 'searchcraft-base-search-result-subtitle', style: styles.subtitle || {} }, this.subtitleContent)), this.bodyContent && (h(\"p\", { class: 'searchcraft-base-search-result-body-content', style: styles.primaryContent || {} }, this.bodyContent)), this.footerContent && (h(\"p\", { class: 'searchcraft-base-search-result-footer-content', style: styles.secondaryContent || {} }, this.footerContent)), this.buttonHref && !this.containerHref && this.buttonLabel && (h(\"a\", { class: 'searchcraft-search-result-button', href: this.buttonHref, style: styles.button || {}, target: this.buttonTarget, rel: this.buttonRel }, this.buttonLabel))), this.imageSrc && this.imagePlacement === 'right' && imageContainer));\n /** Render as an anchor tag if the containerHref prop is present. */\n if (this.containerHref) {\n return (h(\"a\", { class: 'searchcraft-search-result-container', onClick: this.recordMeasureEvent, href: this.containerHref, rel: this.containerRel, style: styles.container || {}, tabindex: '0', target: this.containerTarget }, contentContainer));\n }\n /** Render as a div if no href prop. */\n return (h(\"div\", { class: 'searchcraft-search-result-container', style: styles.container || {} }, contentContainer));\n }\n}, [0, \"searchcraft-base-search-result\", {\n \"titleContent\": [1, \"title-content\"],\n \"subtitleContent\": [1, \"subtitle-content\"],\n \"bodyContent\": [1, \"body-content\"],\n \"footerContent\": [1, \"footer-content\"],\n \"buttonLabel\": [1, \"button-label\"],\n \"buttonHref\": [1, \"button-href\"],\n \"buttonTarget\": [1, \"button-target\"],\n \"buttonRel\": [1, \"button-rel\"],\n \"containerHref\": [1, \"container-href\"],\n \"containerTarget\": [1, \"container-target\"],\n \"containerRel\": [1, \"container-rel\"],\n \"imageSrc\": [1, \"image-src\"],\n \"imageAlt\": [1, \"image-alt\"],\n \"imagePlacement\": [1, \"image-placement\"],\n \"customStyles\": [1, \"custom-styles\"],\n \"documentPosition\": [2, \"document-position\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-base-search-result\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-base-search-result\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftBaseSearchResult);\n }\n break;\n } });\n}\n\nexport { SearchcraftBaseSearchResult as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-b4a8fcbe.js.map","/**\n * Given a document and a SearchResultMapping, return a mapped value from the document.\n *\n * Applies formatting based on the values specified in the `SearchResultFieldName` values.\n *\n * @param document\n * @param {SearchResultMapping} mapping\n * @returns {string | undefined}\n */\nfunction getDocumentValueFromSearchResultMapping(document, mapping) {\n if (document && mapping) {\n return mapping.fieldNames\n .map((fieldNameDetails) => {\n let valueFound = document[fieldNameDetails.fieldName];\n if (valueFound) {\n switch (fieldNameDetails.dataType) {\n case 'date': {\n // TODO: Use fieldNameDetails.DateFormatOptions to format the date\n valueFound = getFormattedTimeFromNow(valueFound);\n break;\n }\n case 'number': {\n valueFound = Intl.NumberFormat(fieldNameDetails.numberFormatLocale, fieldNameDetails.numberFormatOptions).format(valueFound * (fieldNameDetails.numberScale || 1));\n break;\n }\n }\n }\n return valueFound;\n })\n .filter((value) => !!value)\n .join(mapping.delimiter || ' ');\n }\n}\nfunction getMillis(unit) {\n const millisInHour = 60 * 60 * 1000;\n const millisInDay = 24 * millisInHour;\n const millisInMonth = 30 * millisInDay;\n const millisInYear = 365 * millisInDay;\n switch (unit) {\n case 'hour':\n return millisInHour;\n case 'day':\n return millisInDay;\n case 'month':\n return millisInMonth;\n case 'year':\n return millisInYear;\n default:\n return 3600000;\n }\n}\nfunction formatNumberWithCommas(number) {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n/**\n * Given a timestamp value, returns a formatted time string for the time\n * since now.\n *\n * @param timestamp\n * @returns {string} Formatted string value\n */\nfunction getFormattedTimeFromNow(timestamp) {\n const now = new Date();\n const inputTime = new Date(timestamp);\n const diffInSeconds = Math.floor((now.getTime() - inputTime.getTime()) / 1000);\n const minutes = Math.floor(diffInSeconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n const years = Math.floor(days / 365);\n if (minutes < 60) {\n return `${minutes}m ago`;\n }\n if (hours < 24) {\n return `${hours}h ago`;\n }\n if (days < 365) {\n return `${days}d ago`;\n }\n return `${years}y ago`;\n}\n\nexport { getMillis as a, formatNumberWithCommas as f, getDocumentValueFromSearchResultMapping as g };\n\n//# sourceMappingURL=p-755f491b.js.map","function parseCustomStyles(styles) {\n if (typeof styles === 'string') {\n try {\n return JSON.parse(styles);\n }\n catch (error) {\n console.error('Invalid customStyles format:', styles);\n return {};\n }\n }\n return styles || {};\n}\nfunction serializeStyles(styles) {\n try {\n return JSON.stringify(styles);\n }\n catch (error) {\n console.error('Error serializing styles:', error);\n return '{}';\n }\n}\n\nexport { parseCustomStyles as p, serializeStyles as s };\n\n//# sourceMappingURL=p-d9551738.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\n\nconst SearchcraftErrorMessage = /*@__PURE__*/ proxyCustomElement(class SearchcraftErrorMessage extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The error message.\n */\n errorMessage;\n render() {\n return (h(\"p\", { key: '432bc13abc15f4d9c62ebc751e44e266b258b1f9', class: 'searchcraft-error-message' }, this.errorMessage || 'Search term is required.'));\n }\n}, [0, \"searchcraft-error-message\", {\n \"errorMessage\": [1, \"error-message\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-error-message\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftErrorMessage);\n }\n break;\n } });\n}\n\nexport { SearchcraftErrorMessage as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-a75ef832.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\nimport { g as getDocumentValueFromSearchResultMapping } from './p-755f491b.js';\nimport { s as serializeStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$3 } from './p-b4a8fcbe.js';\nimport { d as defineCustomElement$2 } from './p-a75ef832.js';\n\nconst SearchcraftBaseSearchResults$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResults extends H {\n constructor() {\n super();\n this.__registerHost();\n this.noResults = createEvent(this, \"noResults\", 7);\n }\n /**\n * How often ads are injected.\n */\n adInterval = 4;\n /**\n * A custom styles object.\n */\n customStylesForResults;\n /**\n * Formats the content rendered for each result.\n */\n searchResultMappings;\n /**\n * Should an ad be placed at the end of the results.\n */\n placeAdAtEnd = false;\n /**\n * Should an ad be placed at the start of the results.\n */\n placeAdAtStart = true;\n /**\n * The placement of the image for each result.\n */\n resultImagePlacement = 'right';\n /**\n * The label for the button rendered when containerHref is not present for each result.\n */\n buttonLabel;\n /**\n * Where to open the link for the button rendered when containerHref is not present for each result.\n */\n buttonTarget = '_blank';\n /**\n * The relationship between the current document and the link for the button rendered when containerHref is not present for each result.\n */\n buttonRel;\n /**\n * Where to open the link for the containing element for each result.\n */\n containerTarget = '_blank';\n /**\n * The relationship between the current document and the link for the containing element for each result.\n */\n containerRel;\n /**\n * When no results are returned.\n */\n noResults;\n hasSearched = false;\n query = '';\n searchResults = null;\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query.length > 0) {\n this.hasSearched = true;\n }\n else {\n this.hasSearched = false;\n }\n this.searchResults = { ...state.searchResults };\n this.query = state.query;\n });\n const { searchResults, query } = useSearchcraftStore.getState();\n this.searchResults = searchResults;\n this.query = query;\n }\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n renderDocument(document, index) {\n /**\n * Index field values -> Result container props mappings.\n */\n const titleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.title);\n const subtitleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.subtitle);\n const bodyContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.body);\n const containerHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.containerHref);\n const buttonHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.buttonHref);\n const imageSource = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.imageSource);\n const footerContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.footer);\n let serializedStyles = '';\n if (this.customStylesForResults) {\n serializedStyles =\n typeof this.customStylesForResults === 'string'\n ? this.customStylesForResults\n : serializeStyles(this.customStylesForResults);\n }\n return (h(\"searchcraft-base-search-result\", { key: `${document.document_id}-${index}`, \"custom-styles\": serializedStyles, \"image-placement\": this.resultImagePlacement, \"container-rel\": this.containerRel, \"container-target\": this.containerTarget, \"button-label\": this.buttonLabel || 'View more', \"button-rel\": this.buttonRel, \"button-target\": this.buttonTarget, \"document-position\": index, \"title-content\": titleContent, \"subtitle-content\": subtitleContent, \"body-content\": bodyContent, \"footer-content\": footerContent, \"container-href\": containerHref, \"button-href\": buttonHref, \"image-src\": imageSource }));\n }\n render() {\n if (this.query.trim() === '') {\n return (h(\"div\", { class: 'searchcraft-search-results-empty-state-container' }, h(\"slot\", { name: 'empty-search' })));\n }\n if (!this.searchResults?.data) {\n return;\n }\n const documents = this.searchResults?.data?.hits?.map((data, _index) => {\n const { doc: result } = data;\n return result;\n });\n const finalComponents = [];\n if (this.placeAdAtStart) {\n finalComponents.push(h(\"div\", { key: 'ad-section-start', class: 'searchcraft-ad-section' }, h(\"p\", null, \"Ad Section\")));\n }\n if (this.adInterval > 0) {\n documents.forEach((document, index) => {\n finalComponents.push(this.renderDocument(document, index));\n if ((index + 1) % this.adInterval === 0) {\n finalComponents.push(h(\"div\", { key: `ad-section-${index + 1}`, class: 'searchcraft-ad-section ' }, h(\"p\", null, \"Ad Section\")));\n }\n });\n }\n else {\n const documentElements = documents.map((document, index) => this.renderDocument(document, index));\n finalComponents.push(...documentElements);\n }\n if (this.placeAdAtEnd) {\n finalComponents.push(h(\"div\", { key: 'ad-section-end', class: 'searchcraft-ad-section' }, h(\"p\", null, \"Ad Section\")));\n }\n if (this.query.length > 0 && this.searchResults?.data?.hits?.length === 0) {\n this.noResults?.emit();\n }\n return (h(\"div\", { class: 'searchcraft-search-results-container' }, finalComponents, this.query.length > 0 &&\n this.searchResults?.data?.hits?.length === 0 && (h(\"div\", { class: 'searchcraft-search-results-error-message-container' }, h(\"searchcraft-error-message\", { \"error-message\": `No search results found for \"${this.query}\" query` })))));\n }\n}, [4, \"searchcraft-base-search-results\", {\n \"adInterval\": [2, \"ad-interval\"],\n \"customStylesForResults\": [1, \"custom-styles-for-results\"],\n \"searchResultMappings\": [16],\n \"placeAdAtEnd\": [4, \"place-ad-at-end\"],\n \"placeAdAtStart\": [4, \"place-ad-at-start\"],\n \"resultImagePlacement\": [1, \"result-image-placement\"],\n \"buttonLabel\": [1, \"button-label\"],\n \"buttonTarget\": [1, \"button-target\"],\n \"buttonRel\": [1, \"button-rel\"],\n \"containerTarget\": [1, \"container-target\"],\n \"containerRel\": [1, \"container-rel\"],\n \"hasSearched\": [32],\n \"query\": [32],\n \"searchResults\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-base-search-results\", \"searchcraft-base-search-result\", \"searchcraft-error-message\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-base-search-results\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftBaseSearchResults$1);\n }\n break;\n case \"searchcraft-base-search-result\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftBaseSearchResults = SearchcraftBaseSearchResults$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftBaseSearchResults, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-base-search-results.js.map","var classnames = {exports: {}};\n\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n\n(function (module) {\n/* global define */\n\n(function () {\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n}(classnames));\n\nconst classNames = classnames.exports;\n\nexport { classNames as c };\n\n//# sourceMappingURL=p-5cdc6210.js.map","import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-5365011f.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst SearchcraftButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftButton extends H {\n constructor() {\n super();\n this.__registerHost();\n this.buttonClick = createEvent(this, \"buttonClick\", 7);\n }\n /**\n * The icon element.\n */\n iconElement;\n /**\n * Should the button only display an icon.\n */\n iconOnly = false;\n /**\n * The position of the icon.\n */\n iconPosition = 'left';\n /**\n * The label for the button.\n */\n label = 'Search';\n /**\n * When the button is clicked.\n */\n buttonClick;\n isRequesting = false;\n handleClick = () => {\n this.buttonClick.emit();\n };\n render() {\n return (h(Fragment, { key: 'af99927e7c05f06ec9a63123c7f740a0e96e734b' }, this.iconOnly ? (h(\"button\", { class: classNames('searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.isRequesting ? (h(\"searchcraft-spinner-dark\", null)) : (this.iconElement))) : (h(\"button\", { class: classNames('searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.iconPosition === 'left' && this.iconElement, h(\"span\", { class: classNames('buttonLabel', 'searchcraft-button-label') }, this.label)))));\n }\n}, [0, \"searchcraft-button\", {\n \"iconElement\": [16],\n \"iconOnly\": [4, \"icon-only\"],\n \"iconPosition\": [1, \"icon-position\"],\n \"label\": [1],\n \"isRequesting\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftButton);\n }\n break;\n } });\n}\n\nexport { SearchcraftButton as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-521fe971.js.map","import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-5365011f.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\n\nfunction deepMergeWithSpread(obj1, obj2) {\n const result = { ...obj1 };\n for (const key in obj2) {\n // biome-ignore lint/suspicious/noPrototypeBuiltins: <explanation>\n if (obj2.hasOwnProperty(key)) {\n if (obj2[key] instanceof Object && obj1[key] instanceof Object) {\n result[key] = deepMergeWithSpread(obj1[key], obj2[key]);\n }\n else {\n result[key] = obj2[key];\n }\n }\n }\n return result;\n}\n/**\n * Given an array of facet paths, removes parent facet paths.\n */\nfunction removeSubstringMatches(arr) {\n return arr.filter((entry, index, array) => !array.some((otherEntry, otherIndex) => otherIndex !== index && otherEntry.includes(entry)));\n}\nfunction facetToRecord(facet) {\n const records = {};\n const traverseAndAddToFragments = (facetChild) => {\n records[facetChild.path] = {\n count: facetChild.count,\n path: facetChild.path,\n };\n facetChild.children?.forEach((child) => {\n traverseAndAddToFragments(child);\n });\n };\n traverseAndAddToFragments(facet);\n return records;\n}\nfunction recordToObject(record) {\n const root = {\n count: 0,\n path: '/',\n children: {},\n };\n Object.keys(record).forEach((key) => {\n const fragment = record[key];\n if (!fragment) {\n return;\n }\n if (fragment.path === '/') {\n return;\n }\n const pathParts = fragment.path.substring(1).split('/');\n let currentRoot = root;\n let currentPath = '';\n pathParts.forEach((part, index) => {\n const nextPath = `${currentPath}/${part}`;\n if (!currentRoot.children[nextPath]) {\n currentRoot.children[nextPath] = {\n count: 0,\n path: nextPath,\n children: {},\n };\n }\n if (index === pathParts.length - 1) {\n currentRoot.children[nextPath].count = fragment.count;\n }\n currentPath = nextPath;\n currentRoot = currentRoot.children[nextPath];\n });\n });\n return root;\n}\nfunction objectToFacet(childObject) {\n const transformed = {\n count: childObject.count,\n path: childObject.path,\n children: [],\n };\n if (Object.keys(childObject.children).length > 0) {\n transformed.children = Object.values(childObject.children).map((subChildObject) => objectToFacet(subChildObject));\n }\n return transformed;\n}\n/**\n * Filters records with the parent paths from record2 OUT of record1\n */\nfunction filterRecordByParentPaths(record1, record2) {\n // Extract all paths (keys) both records\n const paths1 = Object.keys(record1);\n const paths2 = Object.keys(record2);\n // Find all parent paths in record2\n const parentPaths = new Set(paths2\n .filter((path) => path.split('/').length > 2) // Only consider paths with more than one level\n .map((path) => path.substring(0, path.lastIndexOf('/'))));\n // Filter out keys in record1 that share a parent path with any of the identified parent paths\n const filteredRecord = Object.fromEntries(paths1\n .filter((path) => !parentPaths.has(path.substring(0, path.lastIndexOf('/'))))\n .map((path) => [path, record1[path]]));\n return filteredRecord;\n}\nfunction mergeFacetRoots(fieldName, currentRoot, incomingRoot) {\n const currentArray = currentRoot[fieldName];\n const incomingArray = incomingRoot[fieldName];\n const currentRootFacetChild = {\n count: 0,\n path: '/',\n children: currentArray,\n };\n const incomingRootFacetChild = {\n count: 0,\n path: '/',\n children: incomingArray,\n };\n // Flatten them into records\n const currentRecord = facetToRecord(currentRootFacetChild);\n const incomingRecord = facetToRecord(incomingRootFacetChild);\n // Filter out the records from record1 (the current set of records)\n // that share a parent path with record2 (the incoming records)\n const filteredCurrentRecord = filterRecordByParentPaths(currentRecord, incomingRecord);\n // Deep merge the records together\n const mergedRecord = deepMergeWithSpread(filteredCurrentRecord, incomingRecord);\n // Convert into a heirarchical object\n const mergedObject = recordToObject(mergedRecord);\n // Convert the heirarchical object back to the Facet child structure\n const mergedFacetChild = objectToFacet(mergedObject);\n return {\n [fieldName]: mergedFacetChild.children,\n };\n}\n\nconst SearchcraftFacetList = /*@__PURE__*/ proxyCustomElement(class SearchcraftFacetList extends H {\n constructor() {\n super();\n this.__registerHost();\n this.facetSelectionUpdated = createEvent(this, \"facetSelectionUpdated\", 7);\n }\n /**\n * The name of the field where facets are applied.\n */\n fieldName = '';\n /**\n * When the facets are updated.\n */\n facetSelectionUpdated;\n baseFacetRoot;\n facetRoot;\n selectedPaths = {};\n lastTimeTaken;\n hasNewSearchTerm = false;\n lastQuery;\n lastSearchMode;\n lastSortType;\n unsubscribe;\n searchStore = useSearchcraftStore.getState();\n handleStateUpdate(state) {\n const facetPrime = state.searchResults?.data.facets;\n const timeTaken = state.searchResults?.data.time_taken;\n if (!this.fieldName) {\n return;\n }\n /** Things to do when the state's search term has changed, but before the response received */\n if (state.query !== this.lastQuery ||\n state.searchMode !== this.lastSearchMode ||\n state.sortType !== this.lastSortType) {\n this.selectedPaths = {};\n this.hasNewSearchTerm = true;\n }\n /** Things to do when a new response with a new facet prime has been received */\n if (timeTaken !== this.lastTimeTaken && facetPrime) {\n this.facetRoot = undefined;\n const incomingFacetRoot = facetPrime.find((facet) => this.fieldName === Object.keys(facet)[0]);\n /** Data is from a new search term: completely override our facets */\n if (this.hasNewSearchTerm) {\n this.baseFacetRoot = incomingFacetRoot;\n this.facetRoot = incomingFacetRoot;\n this.hasNewSearchTerm = false;\n }\n else if (this.baseFacetRoot && incomingFacetRoot) {\n /** Data is from an existing search term, merge the facets together */\n this.facetRoot = mergeFacetRoots(this.fieldName, this.baseFacetRoot, incomingFacetRoot);\n }\n }\n this.lastQuery = state.query;\n this.lastSearchMode = state.searchMode;\n this.lastSortType = state.sortType;\n this.lastTimeTaken = timeTaken;\n }\n connectedCallback() {\n this.handleStateUpdate(this.searchStore);\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.handleStateUpdate(state);\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n handleCheckboxChange(path) {\n const isCheckboxChecked = !this.selectedPaths[path];\n if (isCheckboxChecked) {\n /**\n * Checkbox Checked: Add to the selectedPaths record\n * Uses spread operator here so UI updates.\n */\n this.selectedPaths = {\n ...this.selectedPaths,\n [path]: true,\n };\n }\n else {\n /**\n * Checkbox Uncheck: Remove any paths and sub-paths\n */\n const updatedPaths = Object.keys(this.selectedPaths).filter((testPath) => !testPath.includes(path));\n this.selectedPaths = updatedPaths.reduce((acc, str) => {\n acc[str] = true;\n return acc;\n }, {});\n }\n /**\n * Emit the paths array, with parent paths removed.\n */\n const paths = Object.keys(this.selectedPaths).filter((path) => this.selectedPaths[path]);\n const pathsWithParentPathsRemoved = removeSubstringMatches(paths);\n this.facetSelectionUpdated?.emit({ paths: pathsWithParentPathsRemoved });\n }\n formatLabel = (facetChild) => {\n const label = facetChild.path.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n formatSubLabel = (facetChild, facetChildAncestor) => {\n const facetChildPath = facetChild.path.substring(facetChildAncestor.path.length);\n const label = facetChildPath.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n render() {\n if (!this.fieldName) {\n return;\n }\n const firstFacet = this.facetRoot?.[this.fieldName];\n return (h(\"div\", { class: classNames('filtersListContainer', 'searchcraft-filters-list-container') }, !firstFacet && (h(\"p\", { class: 'searchcraft-facet-message' }, \"Enter a search to view facets.\")), firstFacet?.map((facetChild) => {\n const isChildSelected = facetChild.children\n ? facetChild.children?.some((child) => this.selectedPaths[child.path])\n : false;\n return (h(\"div\", { key: facetChild.path, class: classNames('searchcraft-filters-list-item') }, h(\"label\", { class: classNames('filterCheckboxLabel', 'searchcraft-filters-list-checkbox-label') }, h(\"input\", { checked: this.selectedPaths[facetChild.path], onChange: (_event) => this.handleCheckboxChange(facetChild.path), type: 'checkbox' }), isChildSelected ? (h(\"div\", { class: classNames('dashContainer', 'searchcraft-filter-list-dash-container') }, h(\"searchcraft-dash-icon\", null))) : (h(\"div\", { class: classNames('checkContainer', 'searchcraft-filter-list-check-container') }, h(\"searchcraft-check-icon\", null))), this.formatLabel(facetChild)), facetChild.children && facetChild.children.length > 0 && (h(Fragment, null, facetChild.children.map((grandchild) => (h(\"label\", { key: grandchild.path, class: classNames('childFilterCheckboxLabel', 'searchcraft-child-filter-checkbox-label'), style: {\n display: this.selectedPaths[facetChild.path]\n ? 'flex'\n : 'none',\n } }, h(\"input\", { checked: this.selectedPaths[grandchild.path], onChange: (_event) => {\n this.handleCheckboxChange(grandchild.path);\n }, type: 'checkbox' }), h(\"div\", { class: classNames('checkContainer', 'searchcraft-filter-list-check-container') }, h(\"searchcraft-check-icon\", null)), this.formatSubLabel(grandchild, facetChild))))))));\n })));\n }\n}, [0, \"searchcraft-facet-list\", {\n \"fieldName\": [1, \"field-name\"],\n \"baseFacetRoot\": [32],\n \"facetRoot\": [32],\n \"selectedPaths\": [32],\n \"lastTimeTaken\": [32],\n \"hasNewSearchTerm\": [32],\n \"lastQuery\": [32],\n \"lastSearchMode\": [32],\n \"lastSortType\": [32],\n \"unsubscribe\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-facet-list\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-facet-list\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftFacetList);\n }\n break;\n } });\n}\n\nexport { SearchcraftFacetList as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-54998882.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { a as getMillis } from './p-755f491b.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst SearchcraftSlider = /*@__PURE__*/ proxyCustomElement(class SearchcraftSlider extends H {\n constructor() {\n super();\n this.__registerHost();\n this.rangeChanged = createEvent(this, \"rangeChanged\", 7);\n }\n /**\n * The maximum value allowed.\n */\n max = 100;\n /**\n * The minimum value allowed.\n */\n min = 0;\n /**\n * The granularity that the value must adhere to.\n */\n granularity = getMillis('month');\n /** The type of data allowed. */\n dataType = 'number';\n endValue = this.max;\n startValue = this.min;\n lastFocusedHandle = 'max';\n /**\n * When the range has changed.\n * */\n rangeChanged;\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n emitUpdate = async () => {\n this.rangeChanged?.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n handleStartValueChange = (event) => {\n const inputElement = event.target;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'min';\n if (value <= this.endValue) {\n this.startValue = value;\n this.emitUpdate();\n }\n else {\n this.startValue = this.endValue;\n inputElement.value = `${this.endValue}`;\n }\n };\n handleEndValueChange = (event) => {\n const inputElement = event.target;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'max';\n if (value >= this.startValue) {\n this.endValue = value;\n this.emitUpdate();\n }\n else {\n this.endValue = this.startValue;\n inputElement.value = `${this.startValue}`;\n }\n };\n render() {\n const rangeMin = this.min;\n const rangeMax = this.max;\n const startPercent = ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const endPercent = ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const startLabel = this.dataType === 'number'\n ? this.startValue\n : new Date(this.startValue).getFullYear();\n const endLabel = this.dataType === 'number'\n ? this.endValue\n : new Date(this.endValue).getFullYear();\n return (h(\"div\", { key: 'bf815949fc9e24e7f3ff9e1870affe676592fc68', class: 'searchcraft-slider-container' }, h(\"div\", { key: 'd0913ee4e35f551782ec5649b9782c535e81ff74', class: 'searchcraft-slider-range-container' }, h(\"div\", { key: '5397b3ef9a79c589080560e886ef709b77279748', class: 'searchcraft-slider-active-range', style: {\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n } }), h(\"input\", { key: '714896ec90ea07a1be7b73e7168c6fab9d2c095b', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-min-handle'), max: this.max, min: this.min, onInput: this.handleStartValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }, type: 'range', value: this.startValue }), h(\"input\", { key: '646042689f17b594dac00ba04c80d5d3a32a3cd0', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-max-handle'), max: this.max, min: this.min, onInput: this.handleEndValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }, type: 'range', value: this.endValue })), h(\"div\", { key: 'a6bc39619d6bcbb3ccf09e923436122db4559289', class: 'searchcraft-slider-label-container' }, h(\"span\", { key: 'd15f19f86abeacb5c100403e9e4be20f28f604c0', class: 'searchcraft-slider-label' }, startLabel), h(\"span\", { key: '6c0394917a4f54edae8a347cc8b225a64d044ea6', class: 'searchcraft-slider-label' }, endLabel))));\n }\n}, [0, \"searchcraft-slider\", {\n \"max\": [2],\n \"min\": [2],\n \"granularity\": [2],\n \"dataType\": [1, \"data-type\"],\n \"endValue\": [32],\n \"startValue\": [32],\n \"lastFocusedHandle\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-slider\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-slider\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftSlider);\n }\n break;\n } });\n}\n\nexport { SearchcraftSlider as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-4b92ae26.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst SearchcraftToggleButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftToggleButton extends H {\n constructor() {\n super();\n this.__registerHost();\n this.toggleUpdated = createEvent(this, \"toggleUpdated\", 7);\n }\n /**\n * The label.\n */\n label = 'Toggle';\n /**\n * The secondary label displayed below the main label.\n */\n subLabel;\n /**\n * When the toggle element is changed.\n */\n toggleUpdated;\n isActive = false;\n unsubscribe;\n lastQuery;\n handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated?.emit(this.isActive);\n };\n connectedCallback() {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query !== this.lastQuery && state.query.trim().length === 0) {\n this.isActive = false;\n }\n this.lastQuery = state.query;\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n render() {\n return (h(\"div\", { key: '8967ffc9328e0e6822f558d04ab31bc7b7f5c871', class: 'searchcraft-toggle-button-container' }, h(\"div\", { key: 'd46d8ad6aff1bb012bea8e4b10cec03a12da8d64' }, h(\"p\", { key: 'f9fd16a0da58bd66697d13df34a93cd70a6148c6', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h(\"p\", { key: 'ba7a0c309ca4cc0faa891ad9e270ac16f1d1d4cc', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h(\"button\", { key: '3b406713d41f055bbaf32d231188faba0dfa48fb', class: classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n }), onClick: this.handleToggle, type: 'button' }, h(\"div\", { key: '7dab3166e027e4efad18a3db9b541c1a4ba7da5f', class: classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n }) }))));\n }\n}, [0, \"searchcraft-toggle-button\", {\n \"label\": [1],\n \"subLabel\": [1, \"sub-label\"],\n \"isActive\": [32],\n \"unsubscribe\": [32],\n \"lastQuery\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-toggle-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-toggle-button\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftToggleButton);\n }\n break;\n } });\n}\n\nexport { SearchcraftToggleButton as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-1234974c.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\nimport { a as getMillis } from './p-755f491b.js';\nimport { d as defineCustomElement$4 } from './p-54998882.js';\nimport { d as defineCustomElement$3 } from './p-4b92ae26.js';\nimport { d as defineCustomElement$2 } from './p-1234974c.js';\n\nconst SearchcraftFilterPanel$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftFilterPanel extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The items to filter.\n */\n items = [];\n unsubscribe;\n lastQuery;\n searchStore = useSearchcraftStore.getState();\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.lastQuery = state.query || '';\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n handleDateRangeChanged(fieldName, min, max) {\n const start = new Date(min);\n const end = new Date(max);\n this.searchStore.addRangeValueForIndexField({\n fieldName,\n value: `${fieldName}:[${start.toISOString()} TO ${end.toISOString()}]`,\n });\n this.searchStore.search();\n }\n handleNumericRangeChanged(fieldName, min, max) {\n this.searchStore.addRangeValueForIndexField({\n fieldName,\n value: `${fieldName}:[${min} TO ${max}]`,\n });\n this.searchStore.search();\n }\n handleFacetSelectionUpdated(fieldName, paths) {\n if (paths.length > 0) {\n this.searchStore.addFacetPathsForIndexField({\n fieldName,\n value: `${fieldName}: IN [${paths.join(' ')}]`,\n });\n }\n else {\n this.searchStore.removeFacetPathsForIndexField(fieldName);\n }\n this.searchStore.search();\n }\n handleExactMatchToggleUpdated(isActive) {\n this.searchStore.setSearchMode(isActive ? 'exact' : 'fuzzy');\n this.searchStore.search();\n }\n handleMostRecentToggleUpdated(isActive) {\n this.searchStore.setSortType(isActive ? 'desc' : 'asc');\n this.searchStore.search();\n }\n /**\n * Iterate through `items` and render them based on `type`\n */\n render() {\n return (h(\"div\", { key: '9b9fcc79913da68b49909965eb75f9a5b1701acb', class: 'searchcraft-filter-panel' }, this.items.map((filterItem) => {\n switch (filterItem.type) {\n case 'dateRange': {\n const item = filterItem;\n const min = new Date(item.options.minDate).getTime();\n const max = new Date(item.options.maxDate).getTime();\n const granularityValue = getMillis(item.options.granularity);\n // return date range slider\n return (h(\"div\", { class: 'searchcraft-filter-panel-section' }, h(\"p\", { class: 'searchcraft-filter-panel-label' }, filterItem.label), h(\"searchcraft-slider\", { min: min, max: max, granularity: granularityValue, dataType: 'date', onRangeChanged: (event) => {\n this.handleDateRangeChanged(item.fieldName, event.detail.startValue, event.detail.endValue);\n } })));\n }\n case 'numericRange': {\n const item = filterItem;\n // return date range slider\n return (h(\"div\", { class: 'searchcraft-filter-panel-section' }, h(\"p\", { class: 'searchcraft-filter-panel-label' }, filterItem.label), h(\"searchcraft-slider\", { min: item.options.min, max: item.options.max, granularity: item.options.granularity, onRangeChanged: (event) => {\n this.handleNumericRangeChanged(item.fieldName, event.detail.startValue, event.detail.endValue);\n } })));\n }\n case 'facets': {\n const item = filterItem;\n // return \"filters-list\"\n return (h(\"div\", { class: 'searchcraft-filter-panel-section' }, h(\"p\", { class: 'searchcraft-filter-panel-label' }, filterItem.label), h(\"searchcraft-facet-list\", { fieldName: item.fieldName, onFacetSelectionUpdated: (event) => {\n this.handleFacetSelectionUpdated(item.fieldName, event.detail.paths);\n } })));\n }\n case 'exactMatchToggle': {\n const item = filterItem;\n return (h(\"searchcraft-toggle-button\", { label: item.label, subLabel: item.options.subLabel, onToggleUpdated: (event) => {\n this.handleExactMatchToggleUpdated(event.detail);\n } }));\n }\n case 'mostRecentToggle': {\n const item = filterItem;\n return (h(\"searchcraft-toggle-button\", { label: item.label, subLabel: item.options.subLabel, onToggleUpdated: (event) => {\n this.handleMostRecentToggleUpdated(event.detail);\n } }));\n }\n }\n })));\n }\n}, [0, \"searchcraft-filter-panel\", {\n \"items\": [16],\n \"unsubscribe\": [32],\n \"lastQuery\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-filter-panel\", \"searchcraft-facet-list\", \"searchcraft-slider\", \"searchcraft-toggle-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-filter-panel\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftFilterPanel$1);\n }\n break;\n case \"searchcraft-facet-list\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"searchcraft-slider\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-toggle-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftFilterPanel = SearchcraftFilterPanel$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftFilterPanel, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-filter-panel.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { c as classNames } from './p-5cdc6210.js';\n\nconst SearchcraftInputLabel = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputLabel extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The classname applied to the label element.\n */\n inputLabelClassName = '';\n label = '';\n render() {\n return (h(\"label\", { key: '9c71dc7429d7289ed59e7effacb91e040a9ac6a1', class: classNames('searchcraft-input-label', this.inputLabelClassName), htmlFor: 'searchcraft-input-id' }, this.label));\n }\n}, [0, \"searchcraft-input-label\", {\n \"inputLabelClassName\": [1, \"input-label-class-name\"],\n \"label\": [1]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-input-label\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftInputLabel);\n }\n break;\n } });\n}\n\nexport { SearchcraftInputLabel as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-ca881e5c.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore, b as ae } from './p-936e2ed4.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { d as defineCustomElement$3 } from './p-521fe971.js';\nimport { d as defineCustomElement$2 } from './p-a75ef832.js';\nimport { d as defineCustomElement$1 } from './p-ca881e5c.js';\n\nconst name = \"@searchcraft/javascript-sdk\";\nconst version = \"0.7.1\";\nconst description = \"Searchcraft Javascript SDK\";\nconst author = \"Searchcraft\";\nconst license = \"Apache-2.0\";\nconst main = \"dist/index.cjs.js\";\nconst module = \"dist/index.js\";\nconst types = \"dist/types/index.d.ts\";\nconst collection = \"dist/collection/collection-manifest.json\";\nconst unpkg = \"dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js\";\nconst exports = {\n\t\".\": {\n\t\t\"import\": \"./dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js\",\n\t\trequire: \"./dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.cjs.js\",\n\t\ttypes: \"./dist/types/index.d.ts\"\n\t},\n\t\"./components\": {\n\t\t\"import\": \"./dist/components/index.js\",\n\t\ttypes: \"./dist/components/index.d.ts\"\n\t},\n\t\"./loader\": {\n\t\t\"import\": \"./dist/loader/index.js\",\n\t\trequire: \"./dist/loader/index.cjs\",\n\t\ttypes: \"./dist/loader/index.d.ts\"\n\t},\n\t\"./dist/components/*\": {\n\t\t\"import\": \"./dist/components/*\",\n\t\ttypes: \"./dist/components/*\"\n\t}\n};\nconst repository = {\n\ttype: \"git\",\n\turl: \"https://bitbucket.org/madebychalk/searchcraft-javascript-sdks/\"\n};\nconst files = [\n\t\"dist/\"\n];\nconst scripts = {\n\tbuild: \"stencil build && yarn docs\",\n\tdocs: \"typedoc --options typedoc.json\",\n\tdev: \"stencil build --dev --watch\",\n\ttest: \"stencil test --spec --e2e\",\n\t\"test.watch\": \"stencil test --spec --e2e --watchAll\",\n\tgenerate: \"stencil generate\"\n};\nconst dependencies = {\n\t\"@stencil/vue-output-target\": \"^0.9.2\",\n\tclassnames: \"^2.3.2\"\n};\nconst devDependencies = {\n\t\"@searchcraft/core\": \"^0.7.1\",\n\t\"@searchcraft/javascript-sdk\": \"*\",\n\t\"@stencil/core\": \"^4.7.0\",\n\t\"@stencil/react-output-target\": \"^0.8.2\",\n\t\"@stencil/sass\": \"^3.0.12\",\n\t\"@types/node\": \"^16.18.11\",\n\tzustand: \"^5.0.1\"\n};\nconst packageJson = {\n\tname: name,\n\t\"private\": false,\n\tversion: version,\n\tdescription: description,\n\tauthor: author,\n\tlicense: license,\n\tmain: main,\n\tmodule: module,\n\ttypes: types,\n\tcollection: collection,\n\t\"collection:main\": \"dist/collection/index.js\",\n\tunpkg: unpkg,\n\texports: exports,\n\trepository: repository,\n\tfiles: files,\n\tscripts: scripts,\n\tdependencies: dependencies,\n\tdevDependencies: devDependencies\n};\n\nconst SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput extends H {\n constructor() {\n super();\n this.__registerHost();\n this.inputCleared = createEvent(this, \"inputCleared\", 7);\n this.noResultsReceived = createEvent(this, \"noResultsReceived\", 7);\n this.inputFocus = createEvent(this, \"inputFocus\", 7);\n this.inputBlur = createEvent(this, \"inputBlur\", 7);\n this.inputInit = createEvent(this, \"inputInit\", 7);\n this.querySubmit = createEvent(this, \"querySubmit\", 7);\n }\n /**\n * The Searchcraft config object.\n */\n config;\n /**\n * Whether or not to automatically submit the search term when the input changes.\n */\n autoSearch = true;\n /**\n * Where to place the search button.\n */\n buttonPlacement = 'none';\n /**\n * The label for the submit button.\n */\n buttonLabel;\n /**\n * The label rendered above the input.\n */\n inputLabel;\n /**\n * A custom styles object to be applied to the input element.\n */\n customStyles = {};\n /**\n * The input element's placeholder value.\n */\n placeholderValue = 'Enter Search';\n /**\n * The starting value of the input element.\n */\n searchTerm = '';\n /**\n * When the input is cleared.\n */\n inputCleared;\n /**\n * When no results are returned.\n */\n noResultsReceived;\n /**\n * When the input becomes focused.\n */\n inputFocus;\n /**\n * When the input becomes unfocused.\n */\n inputBlur;\n /**\n * Event emitted when input initializes.\n */\n inputInit;\n /**\n * Event emitted when a query has been submitted.\n */\n querySubmit;\n inputValue = this.searchTerm;\n error = false;\n isSearchcraftInitialized = false;\n searchStore = useSearchcraftStore.getState();\n init() {\n if (this.config && !this.isSearchcraftInitialized) {\n const searchcraft = new ae(this.config, {\n sdkName: packageJson.name,\n sdkVersion: packageJson.version,\n });\n this.searchStore.initialize(searchcraft, true);\n this.isSearchcraftInitialized = true;\n this.inputInit?.emit();\n }\n }\n componentDidLoad() {\n this.init();\n }\n onConfigChange() {\n this.init();\n }\n handleOnInput = (event) => {\n const input = event.target;\n this.inputValue = input.value;\n if (input.value.trim() === '') {\n this.inputCleared?.emit();\n this.searchTerm = '';\n this.searchStore.setQuery('');\n this.searchStore.setSearchResults(null);\n return;\n }\n if (!this.autoSearch) {\n return;\n }\n this.performSearch(input.value);\n };\n performSearch = async (value) => {\n if (value === useSearchcraftStore.getState().query) {\n return;\n }\n this.searchTerm = value.trim();\n this.error = false;\n this.searchStore.setQuery(this.searchTerm);\n this.querySubmit?.emit(this.searchTerm);\n try {\n await this.searchStore.search();\n }\n catch (error) {\n this.error = true;\n this.inputCleared?.emit();\n }\n };\n handleClearInput = () => {\n this.inputValue = '';\n this.searchTerm = '';\n this.searchStore.setQuery('');\n this.searchStore.setSearchResults(null);\n this.error = false;\n this.inputCleared?.emit();\n };\n handleFormSubmit = async (event) => {\n event.preventDefault();\n await this.performSearch(this.searchTerm);\n };\n render() {\n const validatedCustomStyles = parseCustomStyles(this.customStyles);\n const isShowingClearButton = this.inputValue.length > 0;\n const inputGridClassNames = classNames('searchcraft-input-grid', {\n 'searchcraft-input-grid-buttonLeft': this.buttonPlacement === 'left',\n 'searchcraft-input-grid-buttonRight': this.buttonPlacement === 'right',\n 'searchcraft-input-grid-buttonNone': this.buttonPlacement === 'none',\n });\n const shouldHaveVerticalGap = this.inputLabel || this.error;\n const inputGridStyles = {\n gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',\n };\n return (h(\"form\", { key: 'b23e712102e03332d5958b736133ac5222c571ed', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, h(\"div\", { key: '62e1666b20e3901565241c83cb6b398afbaf14bf', class: inputGridClassNames, style: inputGridStyles }, h(\"div\", { key: '1f78f96f48e354ba434bcd6c8eb20f6940d2281c', class: 'searchcraft-input-button-wrapper' }, h(\"searchcraft-button\", { key: '0e89a333f3d489dccb05d978dde8622ee24a2508', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (h(\"div\", { key: '1b75214db1a0a9d7144e8974e3467da9a94cc845', class: 'searchcraft-input-label-wrapper' }, h(\"searchcraft-input-label\", { key: 'd7edaa9b980eae47628747488e4966ef62fab574', label: this.inputLabel }))), this.error && (h(\"div\", { key: '936858e238d96838caa3aa34dbb4d86b3f6ad839', class: 'searchcraft-input-error-wrapper' }, h(\"searchcraft-error-message\", { key: '75400c0a6f9d20f5c58ef0125f70a0ba8f2da920', errorMessage: 'Something went wrong.' }))), h(\"div\", { key: '0978f74e9a83c78604c494fca9d8a885f73b5fff', class: 'searchcraft-input-wrapper' }, h(\"input\", { key: '4a9f69a9e21c89c97daea9e4c19e41523c71e0f2', autoComplete: 'off', class: 'searchcraft-input', onFocus: () => this.inputFocus?.emit(), onBlur: () => this.inputBlur?.emit(), onInput: (event) => {\n this.handleOnInput(event);\n }, placeholder: this.placeholderValue, style: validatedCustomStyles, type: 'text', value: this.inputValue }), h(\"div\", { key: '9c215722544c132dc9e302c522d0f7c36c205b74', class: 'searchcraft-input-search-icon-wrapper' }, h(\"svg\", { key: '4f6dfc2a89a888eafcd4aee6d02e40635c2fb78a', class: 'searchcraft-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', \"aria-labelledby\": 'searchcraft-title' }, h(\"title\", { key: '6be4ba3b739aeebd27e2ba0f3b7766c1ac6cf2e3', id: 'searchcraft-title' }, \"Searchcraft Search Icon Light\"), h(\"path\", { key: 'd62f785b5bb2f261a3dbf8e4d91f2db405e36dc4', d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: '#404040', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), isShowingClearButton && (h(\"button\", { key: '8ca5193982311991eb0bf30a200b5bee25688c54', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, h(\"svg\", { key: 'a929aee41d677e850a2568ee08a047f35711b4bf', class: 'searchcraft-input-clear-icon', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', \"aria-labelledby\": 'icon-title' }, h(\"title\", { key: '60b50c641ab494c1e8f02f3e1fa19d0a41162859', id: 'icon-title' }, \"Searchcraft Clear Input Icon Light\"), h(\"path\", { key: '6d47a20770f51f069efe06ee29c1451fd78de357', d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'black', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))))))));\n }\n static get watchers() { return {\n \"config\": [\"onConfigChange\"]\n }; }\n}, [0, \"searchcraft-input-form\", {\n \"config\": [16],\n \"autoSearch\": [4, \"auto-search\"],\n \"buttonPlacement\": [1, \"button-placement\"],\n \"buttonLabel\": [1, \"button-label\"],\n \"inputLabel\": [1, \"input-label\"],\n \"customStyles\": [1, \"custom-styles\"],\n \"placeholderValue\": [1, \"placeholder-value\"],\n \"searchTerm\": [1, \"search-term\"],\n \"inputValue\": [32],\n \"error\": [32],\n \"isSearchcraftInitialized\": [32]\n }, undefined, {\n \"config\": [\"onConfigChange\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-input-form\", \"searchcraft-button\", \"searchcraft-error-message\", \"searchcraft-input-label\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-input-form\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftInput);\n }\n break;\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\n\nexport { SearchcraftInput as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-d95bc2a0.js.map","import { S as SearchcraftInput, d as defineCustomElement$1 } from './p-d95bc2a0.js';\n\nconst SearchcraftInputForm = SearchcraftInput;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftInputForm, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-input-form.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\n\nconst SearchcraftPopoverButton$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverButton extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n handleOnClick() {\n useSearchcraftStore.getState().setPopoverVisibility(true);\n }\n render() {\n return (h(\"button\", { key: '3907a514a85a79c320f529840fda06474721871a', type: 'button', onClick: this.handleOnClick.bind(this) }, h(\"slot\", { key: '91bedc41efb5c17a774eab7a95e0abac39497408' })));\n }\n}, [4, \"searchcraft-popover-button\"]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-popover-button\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPopoverButton$1);\n }\n break;\n } });\n}\n\nconst SearchcraftPopoverButton = SearchcraftPopoverButton$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftPopoverButton, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-popover-button.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\n\nconst SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItem extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /** The result title */\n titleContent;\n /** The result subtitle */\n subtitleContent;\n /** The source of the image. If not included, no item will be rendered. */\n imageSrc;\n /** The image alt tag. */\n imageAlt;\n /** The link href */\n href;\n /** The document position relative to the search results (For Measure) */\n documentPosition = 0;\n componentDidLoad() { }\n connectedCallback() { }\n disconnectedCallback() { }\n handleButtonClick() { }\n handleLinkClick = () => {\n const state = useSearchcraftStore.getState();\n const searchcraft = state.getSearchcraftInstance();\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = state.query;\n const number_of_documents = state.searchResults?.data?.hits?.length || 0;\n searchcraft.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n render() {\n return (h(\"a\", { key: 'b20aae2fc421323774a5129dde7d53d4ae3283fb', class: 'searchcraft-popover-list-item', href: this.href, onClick: this.handleLinkClick.bind(this) }, this.imageSrc && (h(\"div\", { key: '79541d12ea3adafff2e141cb8946aa3feaea51df', class: 'searchcraft-popover-list-item-image-wrapper' }, h(\"img\", { key: '3e6368a0f544a58ee0af9d1c15d0c909c6231842', alt: this.imageAlt, src: this.imageSrc, class: 'searchcraft-popover-list-item-image' }))), h(\"div\", { key: '87e7a9dcc8b868af259b4456e9962af9d8dee498', class: 'searchcraft-popover-list-item-info-wrapper' }, h(\"p\", { key: 'e5b63b4c2752573d0ee0ef52c2903b593a8b94a0', class: 'searchcraft-popover-list-item-title' }, this.titleContent), h(\"p\", { key: 'c506d5d7e569ec20885eb65cdc6476dfb8895a13', class: 'searchcraft-popover-list-item-subtitle' }, this.subtitleContent))));\n }\n}, [0, \"searchcraft-popover-list-item\", {\n \"titleContent\": [1, \"title-content\"],\n \"subtitleContent\": [1, \"subtitle-content\"],\n \"imageSrc\": [1, \"image-src\"],\n \"imageAlt\": [1, \"image-alt\"],\n \"href\": [1],\n \"documentPosition\": [2, \"document-position\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-list-item\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-popover-list-item\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPopoverListItem);\n }\n break;\n } });\n}\n\nexport { SearchcraftPopoverListItem as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-0ef4ab33.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { g as getDocumentValueFromSearchResultMapping } from './p-755f491b.js';\nimport { d as defineCustomElement$1 } from './p-0ef4ab33.js';\n\nconst SearchcraftPopoverListView = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListView extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The mappings that define how the data in the documents are mapped to the\n * list-view-item elements.\n */\n popoverResultMappings;\n /**\n * The documents to render in the list view.\n */\n documents;\n renderDocument(document, index) {\n /**\n * Index field values -> Result container props mappings.\n */\n const titleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.title);\n const subtitleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.subtitle);\n const href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.href);\n const imageSource = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageSource);\n const imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageAlt);\n return (h(\"searchcraft-popover-list-item\", { key: `${document.document_id}-${index}`, \"title-content\": titleContent, \"subtitle-content\": subtitleContent, \"image-src\": imageSource, \"image-alt\": imageAlt, href: href, \"document-position\": index }));\n }\n render() {\n return (h(\"div\", { key: '2eee5552a2bf24bd0c75a224d4de6da8526df316', class: 'searchcraft-popover-list-view' }, this.documents?.map((document, index) => this.renderDocument(document, index))));\n }\n}, [0, \"searchcraft-popover-list-view\", {\n \"popoverResultMappings\": [16],\n \"documents\": [16]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-list-view\", \"searchcraft-popover-list-item\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-popover-list-view\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPopoverListView);\n }\n break;\n case \"searchcraft-popover-list-item\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n } });\n}\n\nexport { SearchcraftPopoverListView as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-506cdac1.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\nimport { d as defineCustomElement$7 } from './p-521fe971.js';\nimport { d as defineCustomElement$6 } from './p-a75ef832.js';\nimport { d as defineCustomElement$5 } from './p-d95bc2a0.js';\nimport { d as defineCustomElement$4 } from './p-ca881e5c.js';\nimport { d as defineCustomElement$3 } from './p-0ef4ab33.js';\nimport { d as defineCustomElement$2 } from './p-506cdac1.js';\n\nconst SearchcraftPopoverForm$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverForm extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The Searchcraft config object.\n */\n config;\n /**\n * The type of popover form to render.\n *\n * - `inline` - Renders inline with the rest of the content on the page. The search results pop over the page content.\n * - `fullscreen` - Renders in fullscreen view. Used together with the `searchcraft-popover-button` component.\n * - `modal` - Renders in a modal view. Used together with the `searchcraft-popover-button` component.\n */\n type = 'inline';\n /**\n * Formats the content rendered for each result.\n */\n popoverResultMappings;\n /**\n * The hotkey that activates the popover.\n */\n hotkey = 'k';\n /**\n * The hotkey modifier that activates the popover. Used together with the `hotkey` prop.\n */\n hotkeyModifier = 'meta';\n isPopoverVisibleInState = false;\n unsubscribe;\n searchResults;\n searchTerm;\n isFocused = false;\n breakpointSm = 576;\n breakpointMd = 768;\n breakpointLg = 992;\n modalElement;\n get hostElement() { return this; }\n componentDidLoad() {\n // Loads the breakpoint values into state\n const computedStyle = getComputedStyle(document.documentElement);\n this.breakpointSm = Number.parseFloat(computedStyle.getPropertyValue('--sc-breakpoint-sm').trim());\n this.breakpointMd = Number.parseFloat(computedStyle.getPropertyValue('--sc-breakpoint-md').trim());\n this.breakpointLg = Number.parseFloat(computedStyle.getPropertyValue('--sc-breakpoint-lg').trim());\n // Set popover visiblity in state\n this.isPopoverVisibleInState =\n useSearchcraftStore.getState().isPopoverVisible;\n // Add event listeners\n document.addEventListener('click', this.handleDocumentClick);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n // Subscribe to state events\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (this.isPopoverVisibleInState !== state.isPopoverVisible) {\n this.handlePopoverVisibilityChange(state.isPopoverVisible);\n }\n this.searchResults = { ...state.searchResults };\n this.searchTerm = state.query;\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n document.removeEventListener('click', this.handleDocumentClick);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n handleDocumentClick = (event) => {\n if (!this.hostElement.contains(event.target)) {\n this.isFocused = false;\n }\n };\n /**\n * Handles when popover visibility is changed in state\n */\n handlePopoverVisibilityChange(isVisible) {\n this.isPopoverVisibleInState = isVisible;\n document.body.style.overflow = isVisible ? 'hidden' : 'auto';\n }\n /**\n * Actions to perform when various keys are pressed within the popover form.\n */\n handleDocumentKeyDown = (event) => {\n // Document-scoped actions\n if (event.key === this.hotkey) {\n this.handleHotkeyPressed(event);\n }\n // Document-scoped -> Popover-scoped keyboard event boundary\n if (!this.hostElement.contains(document.activeElement)) {\n return;\n }\n // Popover-scoped actions\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n event.preventDefault();\n this.focusOnNextListItem(event.key);\n break;\n case 'Escape':\n useSearchcraftStore.getState().setPopoverVisibility(false);\n break;\n default:\n return;\n }\n };\n handleInputInit = () => {\n const input = this.hostElement.querySelector('.searchcraft-input');\n input?.focus();\n };\n /**\n * When popover is `inline` and the viewport is at the smallest breakpoint,\n * focusing on the input will open a modal version of the popover form.\n */\n handleInputFocus() {\n this.isFocused = true;\n if (this.type === 'inline' &&\n window.visualViewport &&\n window.visualViewport.width < this.breakpointSm) {\n useSearchcraftStore.getState().setPopoverVisibility(true);\n // Appends a popover form of type=`modal` to the body\n if (!this.modalElement) {\n this.modalElement = document.createElement('searchcraft-popover-form');\n this.modalElement.config = this.config;\n this.modalElement.popoverResultMappings = this.popoverResultMappings;\n this.modalElement.setAttribute('type', 'fullscreen');\n document.body.appendChild(this.modalElement);\n }\n }\n }\n handleModalBackdropClick(_event) {\n useSearchcraftStore.getState().setPopoverVisibility(false);\n }\n /**\n * When a hotkey is pressed, tests if the modifiers also match.\n * If modifiers match, toggles visibility of the popover modal.\n */\n handleHotkeyPressed(event) {\n if ((event.ctrlKey && this.hotkeyModifier === 'ctrl') ||\n (event.altKey && this.hotkeyModifier === 'alt') ||\n (event.metaKey && this.hotkeyModifier === 'meta')) {\n event.preventDefault();\n if (this.type === 'inline' && !this.isPopoverVisibleInState) {\n const hostElementInput = this.hostElement.querySelector('.searchcraft-input');\n hostElementInput?.focus();\n }\n else {\n useSearchcraftStore\n .getState()\n .setPopoverVisibility(!this.isPopoverVisibleInState);\n }\n }\n }\n handleCancelButtonClick() {\n useSearchcraftStore.getState().setPopoverVisibility(false);\n }\n /**\n * Moves focus to the next/previous list item in the list view. If you are at the top\n * of the list view, it moves focus back to the input.\n *\n * @param direction\n */\n focusOnNextListItem(direction) {\n const listItems = Array.from(document.querySelectorAll('a.searchcraft-popover-list-item')).filter((el) => !el.hasAttribute('disabled') && el.offsetParent !== null);\n const currentIndex = listItems.indexOf(document.activeElement);\n if (direction === 'ArrowDown') {\n listItems[(currentIndex + 1) % listItems.length]?.focus();\n }\n else if (direction === 'ArrowUp') {\n if (currentIndex >= 1) {\n listItems[currentIndex - 1]?.focus();\n }\n else {\n const input = document.querySelector('.searchcraft-input');\n if (input) {\n input.focus();\n requestAnimationFrame(() => {\n input.selectionEnd = input.value.length;\n input.selectionStart = input.value.length;\n });\n }\n }\n }\n }\n get hasResultsToShow() {\n return (this.searchTerm &&\n this.searchTerm?.trim()?.length > 0 &&\n (this.searchResults?.data?.hits?.length || 0) > 0);\n }\n renderInlinePopover(documents) {\n const isListViewVisible = this.hasResultsToShow && this.isFocused;\n const popoverFormClassNames = classNames('searchcraft-popover-form searchcraft-popover-form-inline', {\n 'searchcraft-popover-form-active': isListViewVisible,\n });\n return (h(\"div\", { class: popoverFormClassNames }, h(\"searchcraft-input-form\", { config: this.config, onInputFocus: this.handleInputFocus.bind(this) }), isListViewVisible && (h(\"div\", { class: 'searchcraft-popover-inline-wrapper-outer' }, h(\"div\", { class: 'searchcraft-popover-inline-wrapper-inner' }, h(\"searchcraft-popover-list-view\", { popoverResultMappings: this.popoverResultMappings, documents: documents }))))));\n }\n renderModalPopover(documents) {\n if (this.isPopoverVisibleInState) {\n const popoverFormClassNames = classNames('searchcraft-popover-form', {\n 'searchcraft-popover-form-active': this.hasResultsToShow,\n });\n return (h(\"div\", { class: 'searchcraft-popover-form-modal' }, h(\"div\", { class: 'searchcraft-popover-form-modal-backdrop', onClick: this.handleModalBackdropClick }), h(\"div\", { class: 'searchcraft-popover-form-modal-inner' }, h(\"div\", { class: popoverFormClassNames }, h(\"div\", { class: 'searchcraft-popover-form-input-wrapper' }, h(\"searchcraft-input-form\", { config: this.config, onInputFocus: this.handleInputFocus.bind(this), onInputInit: this.handleInputInit.bind(this) }), h(\"button\", { type: 'button', class: 'searchcraft-popover-form-cancel-button', onClick: this.handleCancelButtonClick.bind(this) }, \"Cancel\")), this.hasResultsToShow && (h(\"searchcraft-popover-list-view\", { popoverResultMappings: this.popoverResultMappings, documents: documents }))))));\n }\n }\n renderFullscreenPopover(documents) {\n if (this.isPopoverVisibleInState) {\n return (h(\"div\", { class: 'searchcraft-popover-form-fullscreen' }, h(\"div\", { class: 'searchcraft-popover-form' }, h(\"div\", { class: 'searchcraft-popover-form-input-wrapper' }, h(\"searchcraft-input-form\", { config: this.config, onInputFocus: this.handleInputFocus.bind(this), onInputInit: this.handleInputInit.bind(this) }), h(\"button\", { type: 'button', class: 'searchcraft-popover-form-cancel-button', onClick: this.handleCancelButtonClick.bind(this) }, \"Cancel\")), this.hasResultsToShow && (h(\"searchcraft-popover-list-view\", { popoverResultMappings: this.popoverResultMappings, documents: documents })))));\n }\n }\n render() {\n const documents = this.searchResults?.data?.hits?.map((data, _index) => {\n const { doc: result } = data;\n return result;\n });\n switch (this.type) {\n case 'inline':\n return this.renderInlinePopover(documents);\n case 'modal':\n return this.renderModalPopover(documents);\n case 'fullscreen':\n return this.renderFullscreenPopover(documents);\n }\n }\n}, [0, \"searchcraft-popover-form\", {\n \"config\": [16],\n \"type\": [1],\n \"popoverResultMappings\": [16],\n \"hotkey\": [1],\n \"hotkeyModifier\": [1, \"hotkey-modifier\"],\n \"isPopoverVisibleInState\": [32],\n \"unsubscribe\": [32],\n \"searchResults\": [32],\n \"searchTerm\": [32],\n \"isFocused\": [32],\n \"breakpointSm\": [32],\n \"breakpointMd\": [32],\n \"breakpointLg\": [32],\n \"modalElement\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-form\", \"searchcraft-button\", \"searchcraft-error-message\", \"searchcraft-input-form\", \"searchcraft-input-label\", \"searchcraft-popover-form\", \"searchcraft-popover-list-item\", \"searchcraft-popover-list-view\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-popover-form\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPopoverForm$1);\n }\n break;\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"searchcraft-input-form\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\n }\n break;\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$4();\n }\n break;\n case \"searchcraft-popover-form\":\n if (!customElements.get(tagName)) {\n defineCustomElement$1();\n }\n break;\n case \"searchcraft-popover-list-item\":\n if (!customElements.get(tagName)) {\n defineCustomElement$3();\n }\n break;\n case \"searchcraft-popover-list-view\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftPopoverForm = SearchcraftPopoverForm$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftPopoverForm, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-popover-form.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-936e2ed4.js';\nimport { f as formatNumberWithCommas } from './p-755f491b.js';\n\nconst SearchcraftResultsInfo$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftResultsInfo extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n isRequesting = false;\n resultsCount = 0;\n responseTime = '';\n query = '';\n unsubscribe = () => { };\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.isRequesting = state.isRequesting;\n this.resultsCount = state.searchResults?.data?.count || 0;\n this.responseTime = ((state.searchResults?.data?.time_taken || 0) * 1000).toFixed(2);\n this.query = state.query || '';\n });\n }\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n render() {\n if (!this.query || this.resultsCount === 0) {\n return null;\n }\n const formattedResults = formatNumberWithCommas(this.resultsCount);\n return (h(\"div\", { class: 'searchcraft-results-info-container' }, h(\"p\", { class: 'searchcraft-results-info-content' }, formattedResults, \" results found in \", this.responseTime, \"ms\")));\n }\n}, [0, \"searchcraft-results-info\", {\n \"isRequesting\": [32],\n \"resultsCount\": [32],\n \"responseTime\": [32],\n \"query\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-results-info\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-results-info\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftResultsInfo$1);\n }\n break;\n } });\n}\n\nconst SearchcraftResultsInfo = SearchcraftResultsInfo$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftResultsInfo, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-results-info.js.map","import { p as proxyCustomElement, H } from './p-5365011f.js';\n\nconst styles = `:root{--sc-font-family: sans-serif;--sc-heading-1-font-size: 32px;--sc-heading-1-line-height: 36px;--sc-heading-1-font-weight: 700;--sc-heading-2-font-size: 29px;--sc-heading-2-line-height: 32px;--sc-heading-2-font-weight: 700;--sc-heading-3-font-size: 26px;--sc-heading-3-line-height: 28px;--sc-heading-3-font-weight: 700;--sc-heading-4-font-size: 23px;--sc-heading-4-line-height: 24px;--sc-heading-4-font-weight: 700;--sc-heading-5-font-size: 20px;--sc-heading-5-line-height: 24px;--sc-heading-5-font-weight: 700;--sc-heading-6-font-size: 10px;--sc-heading-6-line-height: 12px;--sc-heading-6-font-weight: 700;--sc-body-bold-font-size: 16px;--sc-body-bold-line-height: 20px;--sc-body-bold-font-weight: 700;--sc-body-font-size: 16px;--sc-body-line-height: 20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size: 12px;--sc-body-small-bold-line-height: 16px;--sc-body-small-bold-font-weight: 700;--sc-body-small-font-size: 12px;--sc-body-small-line-height: 16px;--sc-body-small-font-weight: 400}:root{--sc-input-border-radius: 8px;--sc-input-search-icon-size: 20px;--sc-input-clear-icon-size: 20px;--sc-input-padding-left: 44px;--sc-input-padding-right: 44px;--sc-image-border-radius: 8px;--sc-popover-form-border-radius: 8px;--sc-popover-list-view-height: 400px;--sc-popover-list-item-image-size: 60px;--sc-popover-list-item-padding-horizontal: 8px;--sc-popover-list-item-padding-vertical: 8px;--sc-popover-modal-max-width: 570px}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-disabled: #D9D9D9;--sc-surface-neutral-primary: #FFFFFF;--sc-surface-neutral-secondary: #F3F3F3;--sc-surface-neutral-light: #FFFFFF;--sc-surface-neutral-primary-hover: #FAFAFA;--sc-surface-neutral-primary-active: #F7F7F7;--sc-surface-neutral-secondary-hover: #EDEDED;--sc-surface-neutral-secondary-active: #E6E6E6;--sc-surface-brand-primary: #000000;--sc-surface-brand-secondary: #E6E6E6;--sc-surface-brand-primary-hover: #2E2E2E;--sc-surface-brand-primary-active: #292929;--sc-surface-brand-secondary-hover: #EBEBEB;--sc-surface-brand-secondary-active: #E0E0E0;--sc-surface-success-primary: #008000;--sc-surface-success-secondary: #CCFFCC;--sc-surface-success-primary-hover: #009900;--sc-surface-success-primary-active: #006600;--sc-surface-success-secondary-hover: #E6FFE6;--sc-surface-success-secondary-active: #E6FFE6;--sc-surface-caution-primary: #CC6600;--sc-surface-caution-secondary: #FFD9B3;--sc-surface-caution-primary-hover: #E57300;--sc-surface-caution-primary-active: #B25A00;--sc-surface-caution-secondary-hover: #FFE5CC;--sc-surface-caution-secondary-active: #FFCC99;--sc-surface-danger-primary: #CC0000;--sc-surface-danger-secondary: #FFCCCC;--sc-surface-danger-primary-hover: #E50000;--sc-surface-danger-primary-active: #B30000;--sc-surface-danger-secondary-hover: #FFE7E7;--sc-surface-danger-secondary-active: #FFB3B3;--sc-content-brand: #000000;--sc-content-success: #008000;--sc-content-caution: #994D00;--sc-content-danger: #990000;--sc-content-disabled: #737373;--sc-content-neutral-primary: #292929;--sc-content-neutral-secondary: #404040;--sc-content-brand-on-primary: #FFFFFF;--sc-content-success-on-primary: #FFFFFF;--sc-content-caution-on-primary: #FFFFFF;--sc-content-danger-on-primary: #FFFFFF;--sc-content-disabled-on-disabled: #737373;--sc-border-neutral: rgba(0,0,0, 0.1);--sc-border-brand: #000000;--sc-border-success: #008000;--sc-border-caution: #CC6600;--sc-border-danger: #CC0000;--sc-border-disabled: #737373}.searchcraft-search-result-container{all:unset;align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:8px;color:inherit;background-color:var(--sc-surface-neutral-primary)}@media(min-width: 768px){.searchcraft-search-result-container{flex-direction:row}}a.searchcraft-search-result-container{cursor:pointer;transition:background-color 100ms}.searchcraft-base-search-result-content-container{flex:1;display:flex;flex-direction:column;gap:8px}.searchcraft-search-result-image{border-radius:var(--sc-image-border-radius);width:100%}@media(min-width: 768px){.searchcraft-search-result-image{width:200px}}.searchcraft-base-search-result-title{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-bold-font-size);font-weight:var(--sc-body-bold-font-weight);line-height:var(--sc-body-bold-line-height);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-base-search-result-subtitle{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);margin:0;color:var(--sc-content-disabled)}.searchcraft-base-search-result-body-content{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-neutral-secondary)}.searchcraft-base-search-result-footer-content{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-disabled)}.searchcraft-search-results-container{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-ad-section{align-items:center;background-color:#f1f1f1;border-radius:16px;display:flex;flex-direction:column;font-size:16px;justify-content:center;min-height:176px;text-align:center}.searchcraft-ad-section p{margin:0;color:var(--sc-content-disabled)}.searchcraft-search-results-empty-state-container{text-align:center}.searchcraft-search-results-error-message-container{text-align:center}.searchcraft-button{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-bold-font-size);font-weight:var(--sc-body-bold-font-weight);line-height:var(--sc-body-bold-line-height);border-radius:8px;display:flex;padding:12px 20px;position:relative;background-color:var(--sc-surface-brand-primary);border:1px solid var(--sc-border-primary);color:var(--sc-content-brand-on-primary)}.searchcraft-button:hover{cursor:pointer;background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button:focus{outline:2px solid var(--sc-surface-brand-primary)}.buttonLabel{position:relative}.searchcraft-error-message{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);color:var(--sc-content-danger);margin:0}.filtersListContainer{width:100%}.filterCheckboxLabel{align-items:center;color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:14px;position:relative;-webkit-font-smoothing:antialiased}.filterCheckboxLabel input[type=checkbox]{align-items:center;appearance:none;background-color:var(--sc-surface-brand-secondary-hover);border:1px solid var(--sc-surface-disabled);border-radius:8px;cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.filterCheckboxLabel input[type=checkbox]:focus{outline:2px solid var(--sc-surface-brand-primary)}.filterCheckboxLabel input[type=checkbox]:checked{background-color:var(--sc-surface-brand-primary);position:relative}.filterCheckboxLabel input[type=checkbox]:checked+.checkContainer{display:block}.filterCheckboxLabel input[type=checkbox]:checked+.dashContainer{display:block}.childFilterCheckboxLabel{align-items:center;color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:12px;margin-left:24px;position:relative}.childFilterCheckboxLabel input[type=checkbox]{align-items:center;appearance:none;background-color:var(--sc-surface-brand-secondary-hover);border:1px solid var(--sc-surface-disabled);border-radius:8px;cursor:pointer;display:flex;height:24px;justify-content:center;position:relative;width:24px;-webkit-font-smoothing:antialiased}.childFilterCheckboxLabel input[type=checkbox]:focus{outline:2px solid var(--sc-surface-brand-primary)}.childFilterCheckboxLabel input[type=checkbox]:checked{background-color:var(--sc-surface-brand-primary);position:relative}.childFilterCheckboxLabel input[type=checkbox]:checked+.checkContainer{display:block}.childFilterCheckboxLabel input[type=checkbox]:checked+.dashContainer{display:block}.checkContainer{display:none;height:16px;width:16px;position:absolute;top:9px;left:8px}.dashContainer{display:none;height:3px;width:14px;position:absolute;top:3px;left:9px}.searchcraft-facet-message{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);color:var(--sc-content-disabled);text-align:center}.searchcraft-filter-panel{display:flex;flex-direction:column;gap:16px}.searchcraft-filter-panel-section{display:flex;flex-direction:column;gap:8px}.searchcraft-filter-panel-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-bold-font-size);font-weight:var(--sc-body-small-bold-font-weight);line-height:var(--sc-body-small-bold-line-height)}.searchcraft-input-grid{display:grid;gap:4px 8px}.searchcraft-input-grid-buttonLeft{grid-template-rows:repeat(3, auto);grid-template-columns:auto 1fr}.searchcraft-input-grid-buttonLeft .searchcraft-input-button-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonLeft .searchcraft-input-label-wrapper{grid-column:2/span 1;grid-row:1/span 1}.searchcraft-input-grid-buttonLeft .searchcraft-input-error-wrapper{grid-column:2/span 1;grid-row:3/span 1}.searchcraft-input-grid-buttonLeft .searchcraft-input-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonRight{grid-template-rows:repeat(3, auto);grid-template-columns:1fr auto}.searchcraft-input-grid-buttonRight .searchcraft-input-button-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonRight .searchcraft-input-label-wrapper{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-grid-buttonRight .searchcraft-input-error-wrapper{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-grid-buttonRight .searchcraft-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-grid-buttonNone{grid-template-rows:repeat(3, auto);grid-template-columns:auto}.searchcraft-input-grid-buttonNone .searchcraft-input-button-wrapper{display:none}.searchcraft-input-grid-buttonNone .searchcraft-input-label-wrapper{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-grid-buttonNone .searchcraft-input-error-wrapper{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-grid-buttonNone .searchcraft-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-wrapper{position:relative;display:flex}.searchcraft-input{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);background-color:var(--sc-surface-neutral-secondary);border-radius:var(--sc-input-border-radius);border:none;color:var(--sc-content-neutral-primary);outline:none;padding-left:var(--sc-input-padding-left);padding-right:var(--sc-input-padding-right);padding-top:12px;padding-bottom:12px;flex:1}.searchcraft-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input:focus{outline:var(--sc-border-brand) solid 2px}.searchcraft-input:focus::placeholder{opacity:0}.searchcraft-input.error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input.error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-search-icon-wrapper{align-items:center;justify-content:center;display:flex;position:absolute;pointer-events:none;bottom:0;left:0;top:0;width:var(--sc-input-padding-left)}.searchcraft-input-search-icon{pointer-events:none;width:var(--sc-input-search-icon-size);height:var(--sc-input-search-icon-size)}.searchcraft-input-clear-button{all:unset;align-items:center;justify-content:center;cursor:pointer;display:flex;position:absolute;border:none;outline:none;bottom:0;right:0;top:0;width:var(--sc-input-padding-right)}.searchcraft-input-clear-icon{width:var(--sc-input-clear-icon-size);height:var(--sc-input-clear-icon-size)}.searchcraft-input-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-bold-font-size);font-weight:var(--sc-body-small-bold-font-weight);line-height:var(--sc-body-small-bold-line-height);color:var(--sc-content-neutral-primary);margin-top:4px;margin-bottom:4px}.searchcraft-popover-form{display:flex;flex-direction:column;flex:1}.searchcraft-popover-form .searchcraft-popover-form-input-wrapper{padding:12px;background-color:var(--sc-surface-neutral-secondary);display:flex;flex-direction:row;gap:4px}.searchcraft-popover-form .searchcraft-popover-form-input-wrapper>searchcraft-input-form{flex:1}.searchcraft-popover-form .searchcraft-popover-form-cancel-button{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);border:0;outline:0;padding:0;flex-shrink:0;background:none;cursor:pointer;padding-left:12px;padding-right:12px;border-radius:calc(var(--sc-popover-form-border-radius)*.8)}.searchcraft-popover-form .searchcraft-popover-form-cancel-button:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-popover-form .searchcraft-popover-form-cancel-button:focus{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-popover-form-inline .searchcraft-input{border-top-left-radius:var(--sc-popover-form-border-radius);border-top-right-radius:var(--sc-popover-form-border-radius);border-bottom-left-radius:var(--sc-popover-form-border-radius);border-bottom-right-radius:var(--sc-popover-form-border-radius);border:none;outline:none}.searchcraft-popover-form-inline.searchcraft-popover-form-active .searchcraft-input{border-top-left-radius:var(--sc-popover-form-border-radius);border-top-right-radius:var(--sc-popover-form-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.searchcraft-popover-form-inline .searchcraft-popover-inline-wrapper-outer{position:relative}.searchcraft-popover-form-inline .searchcraft-popover-inline-wrapper-inner{position:absolute;height:var(--sc-popover-list-view-height);z-index:1000;width:100%}.searchcraft-popover-form-inline .searchcraft-popover-list-view{display:flex;flex-direction:column;overflow:auto;background-color:var(--sc-surface-neutral-secondary);border-bottom-left-radius:var(--sc-popover-form-border-radius);border-bottom-right-radius:var(--sc-popover-form-border-radius);max-height:var(--sc-popover-list-view-height)}.searchcraft-popover-form-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:0;background-color:var(--sc-surface-neutral-secondary)}@media(min-width: 576px){.searchcraft-popover-form-modal{padding:16px;background-color:rgba(0,0,0,0)}}.searchcraft-popover-form-modal .searchcraft-input{border-radius:calc(var(--sc-popover-form-border-radius)*.8);outline-width:1px;outline-color:var(--sc-border-neutral)}.searchcraft-popover-form-modal .searchcraft-popover-form-modal-backdrop{position:absolute;inset:0;background-color:rgba(0,0,0,.5);display:none}@media(min-width: 576px){.searchcraft-popover-form-modal .searchcraft-popover-form-modal-backdrop{display:block}}.searchcraft-popover-form-modal .searchcraft-popover-form-modal-inner{position:absolute;inset:0;z-index:1002;margin-top:0px;display:flex;border-radius:var(--sc-popover-form-border-radius);overflow:hidden}@media(min-width: 576px){.searchcraft-popover-form-modal .searchcraft-popover-form-modal-inner{inset:auto;position:relative;width:100%;margin-top:100px;max-width:var(--sc-popover-modal-max-width)}}.searchcraft-popover-form-modal .searchcraft-popover-list-view{display:flex;flex-direction:column;overflow:auto;background-color:var(--sc-surface-neutral-secondary);border-bottom-left-radius:0;border-bottom-right-radius:0}@media(min-width: 576px){.searchcraft-popover-form-modal .searchcraft-popover-list-view{max-height:var(--sc-popover-list-view-height)}}.searchcraft-popover-form-modal searchcraft-popover-list-view{overflow:scroll}@media(min-width: 576px){.searchcraft-popover-form-modal searchcraft-popover-list-view{overflow:auto}}.searchcraft-popover-form-fullscreen{position:fixed;inset:0;z-index:1000;background-color:var(--sc-surface-neutral-secondary)}.searchcraft-popover-form-fullscreen .searchcraft-popover-form{position:absolute;inset:0}.searchcraft-popover-form-fullscreen .searchcraft-input{border-radius:calc(var(--sc-popover-form-border-radius)*.8);outline-width:1px;outline-color:var(--sc-border-neutral)}.searchcraft-popover-form-fullscreen searchcraft-popover-list-view{overflow:scroll}.searchcraft-popover-list-item{all:unset;display:flex;flex-direction:row;cursor:pointer;gap:8px;padding-right:var(--sc-popover-list-item-padding-horizontal);padding-left:var(--sc-popover-list-item-padding-horizontal);padding-top:var(--sc-popover-list-item-padding-vertical);padding-bottom:var(--sc-popover-list-item-padding-vertical)}.searchcraft-popover-list-item:focus{background-color:var(--sc-surface-neutral-secondary-active);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item:hover{background-color:var(--sc-surface-neutral-secondary-hover);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item-title{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:inherit}.searchcraft-popover-list-item-subtitle{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);margin:0;color:inherit}.searchcraft-popover-list-item-image-wrapper{width:var(--sc-popover-list-item-image-size);height:var(--sc-popover-list-item-image-size);display:flex;align-items:center;justify-content:center;flex-shrink:0}.searchcraft-popover-list-item-image{max-width:var(--sc-popover-list-item-image-size);max-height:var(--sc-popover-list-item-image-size)}.searchcraft-popover-list-item-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-results-info-container{border-bottom:1px solid var(--sc-surface-disabled);display:flex;justify-content:flex-start}.searchcraft-results-info-content{color:var(--sc-content-primary);font-family:var(--sc-font-family);font-size:18px;font-weight:600;line-height:20px;margin:0px 0 8px}@media(max-width: 768px){.searchcraft-results-info-content{margin:0;margin-bottom:8px}}.searchcraft-slider-container{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%}.searchcraft-slider-range-container{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.searchcraft-slider-range-container::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range-container .searchcraft-slider-active-range{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.searchcraft-slider-range-container .searchcraft-slider-active-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range-container .searchcraft-slider-active-range::-moz-range-track{pointer-events:none}.searchcraft-slider-range-container .searchcraft-slider-input{appearance:none;background:rgba(0,0,0,0);border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.searchcraft-slider-range-container .searchcraft-slider-input::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px;-webkit-appearance:none}.searchcraft-slider-range-container .searchcraft-slider-input::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px}.searchcraft-slider-label-container{color:var(--sc-content-primary);display:flex;font-family:\"Source Sans Pro\",sans-serif;font-size:15px;font-weight:600;justify-content:space-between;margin-top:10px;width:100%}.searchcraft-slider-label{min-width:30px;text-align:center}.searchcraft-toggle-button-container{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);margin:0;color:var(--sc-content-neutral-secondary)}.searchcraft-toggle-button-background{transition:background-color .2s;background:var(--sc-surface-disabled);border:none;border-radius:16px;cursor:pointer;height:26px;position:relative;width:44px;flex-shrink:0}.searchcraft-toggle-button-background.active{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0,0,0,.05)}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform .3s ease;width:18px}.searchcraft-toggle-button-handle.active{transform:translateX(16px)}/*# sourceMappingURL=hologram.css.map */\n`;\n\nconst SearchcraftErrorMessage = /*@__PURE__*/ proxyCustomElement(class SearchcraftErrorMessage extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n componentDidLoad() {\n console.log('Loading theme...');\n console.log(styles);\n const styleTag = document.querySelector('#searchcraft-theme') ||\n document.createElement('style');\n styleTag.innerHTML = styles;\n styleTag.id = 'searchcraft-theme';\n const head = document.head || document.getElementsByTagName('head')[0];\n if (!head.contains(styleTag)) {\n if (head.firstChild) {\n head.insertBefore(styleTag, head.firstChild);\n }\n else {\n head.appendChild(styleTag);\n }\n }\n }\n render() {\n return;\n }\n}, [0, \"searchcraft-theme\"]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-theme\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-theme\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftErrorMessage);\n }\n break;\n } });\n}\n\nconst SearchcraftTheme = SearchcraftErrorMessage;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftTheme, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-theme.js.map","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=new Set([\"children\",\"localName\",\"ref\",\"style\",\"className\"]),n=new WeakMap,t=(e,t,o,l,a)=>{const s=a?.[t];void 0===s?(e[t]=o,null==o&&t in HTMLElement.prototype&&e.removeAttribute(t)):o!==l&&((e,t,o)=>{let l=n.get(e);void 0===l&&n.set(e,l=new Map);let a=l.get(t);void 0!==o?void 0===a?(l.set(t,a={handleEvent:o}),e.addEventListener(t,a)):a.handleEvent=o:void 0!==a&&(l.delete(t),e.removeEventListener(t,a))})(e,s,o)},o=({react:n,tagName:o,elementClass:l,events:a,displayName:s})=>{const c=new Set(Object.keys(a??{})),r=n.forwardRef(((s,r)=>{const i=n.useRef(new Map),d=n.useRef(null),f={},u={};for(const[n,t]of Object.entries(s))e.has(n)?f[\"className\"===n?\"class\":n]=t:c.has(n)||n in l.prototype?u[n]=t:f[n]=t;return n.useLayoutEffect((()=>{if(null===d.current)return;const e=new Map;for(const n in u)t(d.current,n,s[n],i.current.get(n),a),i.current.delete(n),e.set(n,s[n]);for(const[e,n]of i.current)t(d.current,e,void 0,n,a);i.current=e})),n.useLayoutEffect((()=>{d.current?.removeAttribute(\"defer-hydration\")}),[]),f.suppressHydrationWarning=!0,n.createElement(o,{...f,ref:n.useCallback((e=>{d.current=e,\"function\"==typeof r?r(e):null!==r&&(r.current=e)}),[r])})}));return r.displayName=s??l.name,r};export{o as createComponent};\n//# sourceMappingURL=create-component.js.map\n","import { createComponent as a } from \"@lit/react\";\nconst i = ({\n defineCustomElement: e,\n ...r\n}) => (typeof e < \"u\" && e(), a(r)), p = ({\n hydrateModule: e,\n properties: r,\n tagName: n\n}) => async (t) => {\n const { createComponentForServerSideRendering: o } = await import(\"./ssr.js\");\n return o({\n tagName: n,\n properties: r,\n renderToString: (await e).renderToString\n })(t);\n};\nexport {\n i as createComponent,\n p as createSSRComponent\n};\n","'use client';\n\n/**\n * This file was automatically generated by the Stencil React Output Target.\n * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\n/* eslint-disable */\n\nimport { SearchcraftBaseSearchResult as SearchcraftBaseSearchResultElement, defineCustomElement as defineSearchcraftBaseSearchResult } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-base-search-result.js\";\nimport { SearchcraftBaseSearchResults as SearchcraftBaseSearchResultsElement, defineCustomElement as defineSearchcraftBaseSearchResults } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-base-search-results.js\";\nimport { SearchcraftButton as SearchcraftButtonElement, defineCustomElement as defineSearchcraftButton } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-button.js\";\nimport { SearchcraftErrorMessage as SearchcraftErrorMessageElement, defineCustomElement as defineSearchcraftErrorMessage } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-error-message.js\";\nimport { SearchcraftFacetList as SearchcraftFacetListElement, defineCustomElement as defineSearchcraftFacetList } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-facet-list.js\";\nimport { SearchcraftFilterPanel as SearchcraftFilterPanelElement, defineCustomElement as defineSearchcraftFilterPanel } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-filter-panel.js\";\nimport { SearchcraftInputForm as SearchcraftInputFormElement, defineCustomElement as defineSearchcraftInputForm } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-input-form.js\";\nimport { SearchcraftInputLabel as SearchcraftInputLabelElement, defineCustomElement as defineSearchcraftInputLabel } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-input-label.js\";\nimport { SearchcraftPopoverButton as SearchcraftPopoverButtonElement, defineCustomElement as defineSearchcraftPopoverButton } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-button.js\";\nimport { SearchcraftPopoverForm as SearchcraftPopoverFormElement, defineCustomElement as defineSearchcraftPopoverForm } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-form.js\";\nimport { SearchcraftPopoverListItem as SearchcraftPopoverListItemElement, defineCustomElement as defineSearchcraftPopoverListItem } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-list-item.js\";\nimport { SearchcraftPopoverListView as SearchcraftPopoverListViewElement, defineCustomElement as defineSearchcraftPopoverListView } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-list-view.js\";\nimport { SearchcraftResultsInfo as SearchcraftResultsInfoElement, defineCustomElement as defineSearchcraftResultsInfo } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-results-info.js\";\nimport { SearchcraftSlider as SearchcraftSliderElement, defineCustomElement as defineSearchcraftSlider } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-slider.js\";\nimport { SearchcraftTheme as SearchcraftThemeElement, defineCustomElement as defineSearchcraftTheme } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-theme.js\";\nimport { SearchcraftToggleButton as SearchcraftToggleButtonElement, defineCustomElement as defineSearchcraftToggleButton } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-toggle-button.js\";\nimport type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';\nimport { createComponent } from '@stencil/react-output-target/runtime';\nimport React from 'react';\n\ntype SearchcraftBaseSearchResultEvents = NonNullable<unknown>;\n\nexport const SearchcraftBaseSearchResult: StencilReactComponent<SearchcraftBaseSearchResultElement, SearchcraftBaseSearchResultEvents> = /*@__PURE__*/ createComponent<SearchcraftBaseSearchResultElement, SearchcraftBaseSearchResultEvents>({\n tagName: 'searchcraft-base-search-result',\n elementClass: SearchcraftBaseSearchResultElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftBaseSearchResultEvents,\n defineCustomElement: defineSearchcraftBaseSearchResult\n});\n\ntype SearchcraftBaseSearchResultsEvents = { onNoResults: EventName<CustomEvent<void>> };\n\nexport const SearchcraftBaseSearchResults: StencilReactComponent<SearchcraftBaseSearchResultsElement, SearchcraftBaseSearchResultsEvents> = /*@__PURE__*/ createComponent<SearchcraftBaseSearchResultsElement, SearchcraftBaseSearchResultsEvents>({\n tagName: 'searchcraft-base-search-results',\n elementClass: SearchcraftBaseSearchResultsElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onNoResults: 'noResults' } as SearchcraftBaseSearchResultsEvents,\n defineCustomElement: defineSearchcraftBaseSearchResults\n});\n\ntype SearchcraftButtonEvents = { onButtonClick: EventName<CustomEvent<void>> };\n\nexport const SearchcraftButton: StencilReactComponent<SearchcraftButtonElement, SearchcraftButtonEvents> = /*@__PURE__*/ createComponent<SearchcraftButtonElement, SearchcraftButtonEvents>({\n tagName: 'searchcraft-button',\n elementClass: SearchcraftButtonElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onButtonClick: 'buttonClick' } as SearchcraftButtonEvents,\n defineCustomElement: defineSearchcraftButton\n});\n\ntype SearchcraftErrorMessageEvents = NonNullable<unknown>;\n\nexport const SearchcraftErrorMessage: StencilReactComponent<SearchcraftErrorMessageElement, SearchcraftErrorMessageEvents> = /*@__PURE__*/ createComponent<SearchcraftErrorMessageElement, SearchcraftErrorMessageEvents>({\n tagName: 'searchcraft-error-message',\n elementClass: SearchcraftErrorMessageElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftErrorMessageEvents,\n defineCustomElement: defineSearchcraftErrorMessage\n});\n\ntype SearchcraftFacetListEvents = { onFacetSelectionUpdated: EventName<CustomEvent<{ paths: string[] }>> };\n\nexport const SearchcraftFacetList: StencilReactComponent<SearchcraftFacetListElement, SearchcraftFacetListEvents> = /*@__PURE__*/ createComponent<SearchcraftFacetListElement, SearchcraftFacetListEvents>({\n tagName: 'searchcraft-facet-list',\n elementClass: SearchcraftFacetListElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onFacetSelectionUpdated: 'facetSelectionUpdated' } as SearchcraftFacetListEvents,\n defineCustomElement: defineSearchcraftFacetList\n});\n\ntype SearchcraftFilterPanelEvents = NonNullable<unknown>;\n\nexport const SearchcraftFilterPanel: StencilReactComponent<SearchcraftFilterPanelElement, SearchcraftFilterPanelEvents> = /*@__PURE__*/ createComponent<SearchcraftFilterPanelElement, SearchcraftFilterPanelEvents>({\n tagName: 'searchcraft-filter-panel',\n elementClass: SearchcraftFilterPanelElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftFilterPanelEvents,\n defineCustomElement: defineSearchcraftFilterPanel\n});\n\ntype SearchcraftInputFormEvents = {\n onInputCleared: EventName<CustomEvent<void>>,\n onNoResultsReceived: EventName<CustomEvent<void>>,\n onInputFocus: EventName<CustomEvent<void>>,\n onInputBlur: EventName<CustomEvent<void>>,\n onInputInit: EventName<CustomEvent<void>>,\n onQuerySubmit: EventName<CustomEvent<string>>\n};\n\nexport const SearchcraftInputForm: StencilReactComponent<SearchcraftInputFormElement, SearchcraftInputFormEvents> = /*@__PURE__*/ createComponent<SearchcraftInputFormElement, SearchcraftInputFormEvents>({\n tagName: 'searchcraft-input-form',\n elementClass: SearchcraftInputFormElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {\n onInputCleared: 'inputCleared',\n onNoResultsReceived: 'noResultsReceived',\n onInputFocus: 'inputFocus',\n onInputBlur: 'inputBlur',\n onInputInit: 'inputInit',\n onQuerySubmit: 'querySubmit'\n } as SearchcraftInputFormEvents,\n defineCustomElement: defineSearchcraftInputForm\n});\n\ntype SearchcraftInputLabelEvents = NonNullable<unknown>;\n\nexport const SearchcraftInputLabel: StencilReactComponent<SearchcraftInputLabelElement, SearchcraftInputLabelEvents> = /*@__PURE__*/ createComponent<SearchcraftInputLabelElement, SearchcraftInputLabelEvents>({\n tagName: 'searchcraft-input-label',\n elementClass: SearchcraftInputLabelElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftInputLabelEvents,\n defineCustomElement: defineSearchcraftInputLabel\n});\n\ntype SearchcraftPopoverButtonEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverButton: StencilReactComponent<SearchcraftPopoverButtonElement, SearchcraftPopoverButtonEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverButtonElement, SearchcraftPopoverButtonEvents>({\n tagName: 'searchcraft-popover-button',\n elementClass: SearchcraftPopoverButtonElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverButtonEvents,\n defineCustomElement: defineSearchcraftPopoverButton\n});\n\ntype SearchcraftPopoverFormEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverForm: StencilReactComponent<SearchcraftPopoverFormElement, SearchcraftPopoverFormEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverFormElement, SearchcraftPopoverFormEvents>({\n tagName: 'searchcraft-popover-form',\n elementClass: SearchcraftPopoverFormElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverFormEvents,\n defineCustomElement: defineSearchcraftPopoverForm\n});\n\ntype SearchcraftPopoverListItemEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverListItem: StencilReactComponent<SearchcraftPopoverListItemElement, SearchcraftPopoverListItemEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverListItemElement, SearchcraftPopoverListItemEvents>({\n tagName: 'searchcraft-popover-list-item',\n elementClass: SearchcraftPopoverListItemElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverListItemEvents,\n defineCustomElement: defineSearchcraftPopoverListItem\n});\n\ntype SearchcraftPopoverListViewEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverListView: StencilReactComponent<SearchcraftPopoverListViewElement, SearchcraftPopoverListViewEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverListViewElement, SearchcraftPopoverListViewEvents>({\n tagName: 'searchcraft-popover-list-view',\n elementClass: SearchcraftPopoverListViewElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftPopoverListViewEvents,\n defineCustomElement: defineSearchcraftPopoverListView\n});\n\ntype SearchcraftResultsInfoEvents = NonNullable<unknown>;\n\nexport const SearchcraftResultsInfo: StencilReactComponent<SearchcraftResultsInfoElement, SearchcraftResultsInfoEvents> = /*@__PURE__*/ createComponent<SearchcraftResultsInfoElement, SearchcraftResultsInfoEvents>({\n tagName: 'searchcraft-results-info',\n elementClass: SearchcraftResultsInfoElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftResultsInfoEvents,\n defineCustomElement: defineSearchcraftResultsInfo\n});\n\ntype SearchcraftSliderEvents = { onRangeChanged: EventName<CustomEvent<any>> };\n\nexport const SearchcraftSlider: StencilReactComponent<SearchcraftSliderElement, SearchcraftSliderEvents> = /*@__PURE__*/ createComponent<SearchcraftSliderElement, SearchcraftSliderEvents>({\n tagName: 'searchcraft-slider',\n elementClass: SearchcraftSliderElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onRangeChanged: 'rangeChanged' } as SearchcraftSliderEvents,\n defineCustomElement: defineSearchcraftSlider\n});\n\ntype SearchcraftThemeEvents = NonNullable<unknown>;\n\nexport const SearchcraftTheme: StencilReactComponent<SearchcraftThemeElement, SearchcraftThemeEvents> = /*@__PURE__*/ createComponent<SearchcraftThemeElement, SearchcraftThemeEvents>({\n tagName: 'searchcraft-theme',\n elementClass: SearchcraftThemeElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: {} as SearchcraftThemeEvents,\n defineCustomElement: defineSearchcraftTheme\n});\n\ntype SearchcraftToggleButtonEvents = { onToggleUpdated: EventName<CustomEvent<boolean>> };\n\nexport const SearchcraftToggleButton: StencilReactComponent<SearchcraftToggleButtonElement, SearchcraftToggleButtonEvents> = /*@__PURE__*/ createComponent<SearchcraftToggleButtonElement, SearchcraftToggleButtonEvents>({\n tagName: 'searchcraft-toggle-button',\n elementClass: SearchcraftToggleButtonElement,\n // @ts-ignore - React type of Stencil Output Target may differ from the React version used in the Nuxt.js project, this can be ignored.\n react: React,\n events: { onToggleUpdated: 'toggleUpdated' } as SearchcraftToggleButtonEvents,\n defineCustomElement: defineSearchcraftToggleButton\n});\n","import type { FC } from 'react';\n\nimport { SearchcraftBaseSearchResults as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftBaseSearchResultsProps\n extends Components.SearchcraftBaseSearchResults {}\n\nconst SearchcraftBaseSearchResults: FC<SearchcraftBaseSearchResultsProps> = (\n props,\n) => <Component {...props} />;\n\nexport { SearchcraftBaseSearchResults };\nexport type { SearchcraftBaseSearchResultsProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftFilterPanel as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftFilterPanelProps\n extends Components.SearchcraftFilterPanel {}\n\nconst SearchcraftFilterPanel: FC<SearchcraftFilterPanelProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftFilterPanel };\nexport type { SearchcraftFilterPanelProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftInputForm as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftInputFormProps extends Components.SearchcraftInputForm {}\n\nconst SearchcraftInputForm: FC<SearchcraftInputFormProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftInputForm };\nexport type { SearchcraftInputFormProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\nimport { SearchcraftPopoverButton as Component } from '../stencil-web-components/components';\n\ninterface SearchcraftPopoverButtonProps extends Components.SearchcraftPopoverButton { }\n\nconst SearchcraftPopoverButton: FC<SearchcraftPopoverButtonProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftPopoverButton };\nexport type { SearchcraftPopoverButtonProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\nimport { SearchcraftPopoverForm as Component } from '../stencil-web-components/components';\n\ninterface SearchcraftPopoverFormProps extends Components.SearchcraftPopoverForm { }\n\nconst SearchcraftPopoverForm: FC<SearchcraftPopoverFormProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftPopoverForm };\nexport type { SearchcraftPopoverFormProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftResultsInfo as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftResultsInfoProps\n extends Components.SearchcraftResultsInfo {}\n\nconst SearchcraftResultsInfo: FC<SearchcraftResultsInfoProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftResultsInfo };\nexport type { SearchcraftResultsInfoProps };\n","import type { FC } from 'react';\n\nimport { SearchcraftTheme as Component } from '../stencil-web-components/components';\nimport type { Components } from '@searchcraft/javascript-sdk';\n\ninterface SearchcraftThemeProps extends Components.SearchcraftTheme {}\n\nconst SearchcraftTheme: FC<SearchcraftThemeProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftTheme };\nexport type { SearchcraftThemeProps };\n"],"names":["NAMESPACE","BUILD","__defProp","__export","target","all","name","SVG_NS","HTML_NS","reWireGetterSetter","instance","hostRef","_a","cmpMeta","memberName","memberFlags","ogValue","ogDescriptor","newValue","hostRefs","deleteHostRef","ref","getHostRef","registerHost","hostElement","r","isMemberInElement","elm","consoleError","el","win","doc","H","plt","h2","eventName","listener","opts","supportsShadow","promiseResolve","v","queuePending","queueDomReads","queueDomWrites","queueTask","queue","write","cb","nextTick","flush","consume","i2","e","writeTask","isComplexType","o","result_exports","err","map","ok","unwrap","unwrapErr","value","result","fn","val","newVal","updateFallbackSlotVisibility","childNodes","getHostSlotNodes","slotNode","getHostSlotChildNodes","childNode","hostName","slotName","slottedNodes","node","includeSlot","isNodeLocatedInSlot","nodeToRelocate","createTime","fnName","tagName","h","nodeName","vnodeData","children","child","key","simple","lastSimple","vNodeChildren","walk","c","newVNode","classData","k","vdomFnUtils","vnode","tag","text","Host","isHost","convertToPublic","convertToPrivate","parsePropertyValue","propValue","propType","getElement","createEvent","flags","detail","emitEvent","ev","rootAppliedStyles","setAccessor","oldValue","isSvg","isProp","ln","classList","oldClasses","parseClassList","newClasses","prop","capture","CAPTURE_EVENT_SUFFIX","CAPTURE_EVENT_REGEX","isComplex","n","parseClassListRegex","updateElement","oldVnode","newVnode","isSvgMode2","oldVnodeAttrs","newVnodeAttrs","sortedAttrNames","attrNames","attr","contentRef","hostTagName","useNativeShadowDom","checkSlotFallbackVisibility","checkSlotRelocate","isSvgMode","createElm","oldParentVNode","newParentVNode","childIndex","newVNode2","oldVNode","putBackInOriginalLocation","parentElm","recursive","oldSlotChildNodes","insertBefore","referenceNode","addVnodes","before","parentVNode","vnodes","startIdx","endIdx","containerElm","removeVnodes","index","updateChildren","oldCh","newCh","isInitialRender","oldStartIdx","newStartIdx","idxInOld","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","elmToMove","isSameVnode","patch","leftVNode","rightVNode","oldChildren","newChildren","defaultHolder","relocateNodes","markSlotContentForRelocation","hostContentNodes","j","relocateNodeData","relocateNode","parent","newNode","reference","renderVdom","renderFnResults","isInitialLoad","_b","_c","_d","hostElm","rootVnode","relocateData","orgLocationNode","slotRefNode","parentNodeRef","insertBeforeNode","refNode","nextSibling","attachToAncestor","ancestorComponent","scheduleUpdate","dispatchHooks","endSchedule","maybePromise","enqueue","updateComponent","isPromisey","err2","endUpdate","rc","endRender","callRender","childrenPromises","postUpdate","postUpdateComponent","endPostUpdate","addHydratedFlag","safeCall","appDidLoad","who","method","arg","getValue","propName","setValue","oldVal","areBothNaN","watchMethods","watchMethodName","proxyComponent","Cstr","prototype","members","origGetter","origSetter","currentValue","attrNameToPropName","attrName","_a2","flags2","entry","callbackName","propDesc","_","m","initializeComponent","hmrVersionId","cmpTag","schedule","fireConnectedCallback","connectedCallback","endConnected","setContentReference","contentRefElm","disconnectedCallback","proxyCustomElement","compactMeta","originalConnectedCallback","originalDisconnectedCallback","Fragment","zustand","vanilla$1","createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","getState","api","initialState","createStore","react$1","react","react_production","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","ReactNoopUpdateQueue","assign","emptyObject","Component","props","context","updater","partialState","callback","ComponentDummy","PureComponent","pureComponentPrototype","isArrayImpl","ReactSharedInternals","hasOwnProperty","ReactElement","type","self","source","owner","cloneAndReplaceKey","oldElement","newKey","isValidElement","object","escape","escaperLookup","match","userProvidedKeyEscapeRegex","getElementKey","element","noop$1","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","array","escapedPrefix","nameSoFar","invokeCallback","nextNamePrefix","i","mapChildren","func","count","lazyInitializer","payload","ctor","moduleObject","reportGlobalError","event","noop","forEachFunc","forEachContext","config","childArray","defaultValue","childrenLength","render","compare","scope","prevTransition","currentTransition","returnValue","onStartTransitionFinish","usable","action","permalink","deps","Context","initialValue","create","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","React","vanilla","identity","useStore","selector","slice","createImpl","useBoundStore","exports","D","B","L","q","w","s","u","a","p","y","b","P","N","M","f","g","R","G","W","V","$","F","K","E","z","T","C","A","J","Q","Y","X","Z","ee","te","ne","d","U","x","I","S","re","ae","t","l","O","se","useSearchcraftStore","set","get","searchcraft","debuggerInstance","log","level","message","isVisible","data","fieldName","currentPaths","currentValues","mode","query","results","facets","isRequesting","updatedFacets","searchcraftInstance","debug","SearchcraftBaseSearchResult","__publicField","document_position","search_term","number_of_documents","styles","imageContainer","contentContainer","defineCustomElement","getDocumentValueFromSearchResultMapping","document","mapping","fieldNameDetails","valueFound","getFormattedTimeFromNow","getMillis","unit","formatNumberWithCommas","number","timestamp","now","inputTime","diffInSeconds","minutes","hours","days","years","parseCustomStyles","serializeStyles","SearchcraftErrorMessage","SearchcraftBaseSearchResults$1","searchResults","titleContent","subtitleContent","bodyContent","containerHref","buttonHref","_e","imageSource","_f","footerContent","_g","serializedStyles","documents","_index","finalComponents","documentElements","_h","_k","_j","_i","defineCustomElement$1","defineCustomElement$3","defineCustomElement$2","SearchcraftBaseSearchResults","classnames","module","hasOwn","classNames","classes","appendClass","parseValue","newClass","SearchcraftButton","deepMergeWithSpread","obj1","obj2","removeSubstringMatches","arr","otherEntry","otherIndex","facetToRecord","facet","records","traverseAndAddToFragments","facetChild","recordToObject","record","root","fragment","pathParts","currentRoot","currentPath","part","nextPath","objectToFacet","childObject","transformed","subChildObject","filterRecordByParentPaths","record1","record2","paths1","paths2","parentPaths","path","mergeFacetRoots","incomingRoot","currentArray","incomingArray","currentRootFacetChild","incomingRootFacetChild","currentRecord","incomingRecord","filteredCurrentRecord","mergedRecord","mergedObject","mergedFacetChild","SearchcraftFacetList","label","char","facetChildAncestor","facetPrime","timeTaken","incomingFacetRoot","updatedPaths","testPath","acc","str","paths","pathsWithParentPathsRemoved","firstFacet","isChildSelected","_event","grandchild","SearchcraftSlider","inputElement","rangeMin","rangeMax","startPercent","endPercent","startLabel","endLabel","SearchcraftToggleButton","SearchcraftFilterPanel$1","min","max","start","end","isActive","filterItem","item","granularityValue","defineCustomElement$4","SearchcraftFilterPanel","SearchcraftInputLabel","version","description","author","license","main","types","collection","unpkg","repository","files","scripts","dependencies","devDependencies","packageJson","SearchcraftInput","input","validatedCustomStyles","isShowingClearButton","inputGridClassNames","inputGridStyles","SearchcraftInputForm","SearchcraftPopoverButton$1","SearchcraftPopoverButton","SearchcraftPopoverListItem","SearchcraftPopoverListView","href","imageAlt","SearchcraftPopoverForm$1","computedStyle","hostElementInput","direction","listItems","currentIndex","isListViewVisible","popoverFormClassNames","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","SearchcraftPopoverForm","SearchcraftResultsInfo$1","formattedResults","SearchcraftResultsInfo","styleTag","head","SearchcraftTheme","createComponent","SearchcraftBaseSearchResultsElement","defineSearchcraftBaseSearchResults","SearchcraftFilterPanelElement","defineSearchcraftFilterPanel","SearchcraftInputFormElement","defineSearchcraftInputForm","SearchcraftPopoverButtonElement","defineSearchcraftPopoverButton","SearchcraftPopoverFormElement","defineSearchcraftPopoverForm","SearchcraftResultsInfoElement","defineSearchcraftResultsInfo","SearchcraftThemeElement","defineSearchcraftTheme","jsx"],"mappings":"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","x_google_ignoreList":[22,23]}
|