@searchcraft/react-sdk 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../javascript-sdk/dist/components/p-5365011f.js","../../javascript-sdk/dist/components/p-de4a48b1.js","../../javascript-sdk/dist/components/p-38419178.js","../../javascript-sdk/dist/components/p-6104fe5d.js","../../javascript-sdk/dist/components/p-97332d3e.js","../../javascript-sdk/dist/components/p-d9551738.js","../../javascript-sdk/dist/components/p-0e393fe1.js","../../javascript-sdk/dist/components/searchcraft-base-search-results.js","../../javascript-sdk/dist/components/p-5cdc6210.js","../../javascript-sdk/dist/components/p-d19bf6ff.js","../../javascript-sdk/dist/components/p-fc7cda96.js","../../javascript-sdk/dist/components/p-4e9cd62e.js","../../javascript-sdk/dist/components/p-433f974c.js","../../javascript-sdk/dist/components/searchcraft-filter-panel.js","../../javascript-sdk/dist/components/p-e55a7970.js","../../javascript-sdk/dist/components/p-3df3ff8b.js","../../javascript-sdk/dist/components/searchcraft-input-form.js","../../javascript-sdk/dist/components/searchcraft-pagination.js","../../javascript-sdk/dist/components/searchcraft-popover-button.js","../../javascript-sdk/dist/components/p-ec0d230e.js","../../javascript-sdk/dist/components/p-bff4d3fc.js","../../javascript-sdk/dist/components/p-25ee7496.js","../../javascript-sdk/dist/components/searchcraft-popover-form.js","../../javascript-sdk/dist/components/searchcraft-results-info.js","../../javascript-sdk/dist/components/p-bf6a086a.js","../../javascript-sdk/dist/components/searchcraft-search-results-per-page.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","../src/components/SearchcraftPagination.tsx","../src/components/SearchcraftSearchResultsPerPage.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","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\n\nconst SearchcraftBaseSearchResultAd = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResultAd extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n adClientResponseItem;\n connectedCallback() {\n if (this.adClientResponseItem?.admAd?.impression_url) {\n fetch(this.adClientResponseItem?.admAd?.impression_url);\n }\n }\n renderADMProductAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-base-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-base-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-base-ad-image' }))), h(\"div\", { class: 'searchcraft-base-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-base-ad-title' }, ad.term), h(\"p\", { class: 'searchcraft-base-ad-subtitle' }, ad.price))));\n }\n renderADMTextAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-base-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-base-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-base-ad-image' }))), h(\"div\", { class: 'searchcraft-base-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-base-ad-title' }, ad.term))));\n }\n renderNativoAd() { }\n renderAdPlaceholder() {\n return h(\"p\", null, \"Ad placeholder\");\n // return;\n }\n render() {\n if (!this.adClientResponseItem) {\n return this.renderAdPlaceholder();\n }\n switch (this.adClientResponseItem.type) {\n case 'adm-product-ad':\n return this.renderADMProductAd();\n case 'adm-text-ad':\n return this.renderADMTextAd();\n case 'nativo-ad':\n return this.renderNativoAd();\n }\n }\n}, [0, \"searchcraft-base-search-result-ad\", {\n \"adClientResponseItem\": [16]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-base-search-result-ad\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-base-search-result-ad\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftBaseSearchResultAd);\n }\n break;\n } });\n}\n\nexport { SearchcraftBaseSearchResultAd as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-de4a48b1.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 L = Object.defineProperty;\nvar N = (n, t, r) => t in n ? L(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;\nvar h = (n, t, r) => N(n, typeof t != \"symbol\" ? t + \"\" : t, r);\nvar _ = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = \"DEBUG\", n[n.INFO = 1] = \"INFO\", n[n.WARN = 2] = \"WARN\", n[n.ERROR = 3] = \"ERROR\", n))(_ || {});\nclass me {\n constructor(t) {\n h(this, \"logLevel\");\n h(this, \"logFormatter\");\n this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(t, r) {\n return `[${_[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 log(t, r) {\n switch (t) {\n case 0:\n this.debug(r);\n break;\n case 1:\n this.info(r);\n break;\n case 2:\n this.warn(r);\n break;\n case 3:\n this.error(r);\n break;\n }\n }\n}\nfunction w(n, t, r, o) {\n return new (r || (r = Promise))(function(a, i) {\n function e(u) {\n try {\n l(o.next(u));\n } catch (s) {\n i(s);\n }\n }\n function c(u) {\n try {\n l(o.throw(u));\n } catch (s) {\n i(s);\n }\n }\n function l(u) {\n var s;\n u.done ? a(u.value) : (s = u.value, s instanceof r ? s : new r(function(p) {\n p(s);\n })).then(e, c);\n }\n l((o = o.apply(n, [])).next());\n });\n}\nfunction y(n, t) {\n var r, o, a, i, e = { label: 0, sent: function() {\n if (1 & a[0]) throw a[1];\n return a[1];\n }, trys: [], ops: [] };\n return i = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == \"function\" && (i[Symbol.iterator] = function() {\n return this;\n }), i;\n function c(l) {\n return function(u) {\n return function(s) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n for (; i && (i = 0, s[0] && (e = 0)), e; ) try {\n if (r = 1, o && (a = 2 & s[0] ? o.return : s[0] ? o.throw || ((a = o.return) && a.call(o), 0) : o.next) && !(a = a.call(o, s[1])).done) return a;\n switch (o = 0, a && (s = [2 & s[0], a.value]), s[0]) {\n case 0:\n case 1:\n a = s;\n break;\n case 4:\n return e.label++, { value: s[1], done: !1 };\n case 5:\n e.label++, o = s[1], s = [0];\n continue;\n case 7:\n s = e.ops.pop(), e.trys.pop();\n continue;\n default:\n if (a = e.trys, !((a = a.length > 0 && a[a.length - 1]) || s[0] !== 6 && s[0] !== 2)) {\n e = 0;\n continue;\n }\n if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {\n e.label = s[1];\n break;\n }\n if (s[0] === 6 && e.label < a[1]) {\n e.label = a[1], a = s;\n break;\n }\n if (a && e.label < a[2]) {\n e.label = a[2], e.ops.push(s);\n break;\n }\n a[2] && e.ops.pop(), e.trys.pop();\n continue;\n }\n s = t.call(n, e);\n } catch (p) {\n s = [6, p], o = 0;\n } finally {\n r = a = 0;\n }\n if (5 & s[0]) throw s[1];\n return { value: s[0] ? s[1] : void 0, done: !0 };\n }([l, u]);\n };\n }\n}\nvar S = { exclude: [] }, F = {}, q = { timeout: \"true\" }, v = function(n, t) {\n typeof window < \"u\" && (F[n] = t);\n}, j = function() {\n return Object.fromEntries(Object.entries(F).filter(function(n) {\n var t, r = n[0];\n return !(!((t = S == null ? void 0 : S.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 I(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 o = new Uint32Array([t, t, t, t]);\n ((function(i, e) {\n for (var c = i.byteLength / 16 | 0, l = new Uint32Array(i, 0, 4 * c), u = 0; u < c; u++) {\n var s = l.subarray(4 * u, 4 * (u + 1));\n s[0] = Math.imul(s[0], f[0]), s[0] = g(s[0], 15), s[0] = Math.imul(s[0], f[1]), e[0] = e[0] ^ s[0], e[0] = g(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, s[1] = Math.imul(s[1], f[1]), s[1] = g(s[1], 16), s[1] = Math.imul(s[1], f[2]), e[1] = e[1] ^ s[1], e[1] = g(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, s[2] = Math.imul(s[2], f[2]), s[2] = g(s[2], 17), s[2] = Math.imul(s[2], f[3]), e[2] = e[2] ^ s[2], e[2] = g(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, s[3] = Math.imul(s[3], f[3]), s[3] = g(s[3], 18), s[3] = Math.imul(s[3], f[0]), e[3] = e[3] ^ s[3], e[3] = g(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;\n }\n }))(n, o), function(i, e) {\n var c = i.byteLength / 16 | 0, l = i.byteLength % 16, u = new Uint32Array(4), s = new Uint8Array(i, 16 * c, l);\n switch (l) {\n case 15:\n u[3] = u[3] ^ s[14] << 16;\n case 14:\n u[3] = u[3] ^ s[13] << 8;\n case 13:\n u[3] = u[3] ^ s[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] ^ s[11] << 24;\n case 11:\n u[2] = u[2] ^ s[10] << 16;\n case 10:\n u[2] = u[2] ^ s[9] << 8;\n case 9:\n u[2] = u[2] ^ s[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] ^ s[7] << 24;\n case 7:\n u[1] = u[1] ^ s[6] << 16;\n case 6:\n u[1] = u[1] ^ s[5] << 8;\n case 5:\n u[1] = u[1] ^ s[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] ^ s[3] << 24;\n case 3:\n u[0] = u[0] ^ s[2] << 16;\n case 2:\n u[0] = u[0] ^ s[1] << 8;\n case 1:\n u[0] = u[0] ^ s[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, o), function(i, e) {\n e[0] = e[0] ^ i.byteLength, e[1] = e[1] ^ i.byteLength, e[2] = e[2] ^ i.byteLength, e[3] = e[3] ^ i.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, o);\n var a = new Uint8Array(o.buffer);\n return Array.from(a).map(function(i) {\n return i.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(o) {\n return Promise.race([o, G(t, r)]);\n }));\n}\nfunction V() {\n return w(this, void 0, void 0, function() {\n var n, t, r, o, a;\n return y(this, function(i) {\n switch (i.label) {\n case 0:\n return i.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (S == null ? void 0 : S.timeout) || 1e3, q)];\n case 1:\n return r = i.sent(), o = r.filter(function(e) {\n return e !== void 0;\n }), a = {}, o.forEach(function(e, c) {\n a[t[c]] = e;\n }), [2, U(a, S.exclude || [])];\n case 2:\n throw i.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction U(n, t) {\n var r = {}, o = function(i) {\n if (n.hasOwnProperty(i)) {\n var e = n[i];\n if (typeof e != \"object\" || Array.isArray(e)) t.includes(i) || (r[i] = e);\n else {\n var c = U(e, t.map(function(l) {\n return l.startsWith(i + \".\") ? l.slice(i.length + 1) : l;\n }));\n Object.keys(c).length > 0 && (r[i] = c);\n }\n }\n };\n for (var a in n) o(a);\n return r;\n}\nfunction $(n) {\n return w(this, void 0, void 0, function() {\n var t, r;\n return y(this, function(o) {\n switch (o.label) {\n case 0:\n return o.trys.push([0, 2, , 3]), [4, V()];\n case 1:\n return t = o.sent(), r = I(JSON.stringify(t)), [2, r.toString()];\n case 2:\n throw o.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction H(n) {\n for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);\n return t;\n}\nfunction O(n, t, r) {\n for (var o = [], a = 0; a < n[0].data.length; a++) {\n for (var i = [], e = 0; e < n.length; e++) i.push(n[e].data[a]);\n o.push(z(i));\n }\n var c = new Uint8ClampedArray(o);\n return new ImageData(c, t, r);\n}\nfunction z(n) {\n if (n.length === 0) return 0;\n for (var t = {}, r = 0, o = n; r < o.length; r++)\n t[i = o[r]] = (t[i] || 0) + 1;\n var a = n[0];\n for (var i in t) t[i] > t[a] && (a = parseInt(i, 10));\n return a;\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, o = [/(?<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 < o.length; r++) {\n var a = o[r], i = n.match(a);\n if (i && i.groups) return { name: t[i.groups.name] || i.groups.name, version: i.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 o = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), a = o.createBufferSource(), i = o.createOscillator();\n i.frequency.value = 1e3;\n var e, c = o.createDynamicsCompressor();\n c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, i.connect(c), c.connect(o.destination), i.start(), o.oncomplete = function(l) {\n e = l.renderedBuffer.getChannelData(0), t({ sampleHash: H(e), oscillator: i.type, maxChannels: o.destination.maxChannelCount, channelCountMode: a.channelCountMode });\n }, o.startRendering();\n } catch (l) {\n console.error(\"Error creating audio fingerprint:\", l), r(l);\n }\n })];\n });\n });\n});\nvar K = E().name !== \"SamsungBrowser\" ? 1 : 3, T = 280, k = 20;\nE().name != \"Firefox\" && v(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(n) {\n var t = Array.from({ length: K }, function() {\n return function() {\n var r = document.createElement(\"canvas\"), o = r.getContext(\"2d\");\n if (!o) return new ImageData(1, 1);\n r.width = T, r.height = k;\n var a = o.createLinearGradient(0, 0, r.width, r.height);\n a.addColorStop(0, \"red\"), a.addColorStop(0.16666666666666666, \"orange\"), a.addColorStop(0.3333333333333333, \"yellow\"), a.addColorStop(0.5, \"green\"), a.addColorStop(0.6666666666666666, \"blue\"), a.addColorStop(0.8333333333333334, \"indigo\"), a.addColorStop(1, \"violet\"), o.fillStyle = a, o.fillRect(0, 0, r.width, r.height);\n var i = \"Random Text WMwmil10Oo\";\n o.font = \"23.123px Arial\", o.fillStyle = \"black\", o.fillText(i, -5, 15), o.fillStyle = \"rgba(0, 0, 255, 0.5)\", o.fillText(i, -3.3, 17.7), o.beginPath(), o.moveTo(0, 0), o.lineTo(2 * r.width / 7, r.height), o.strokeStyle = \"white\", o.lineWidth = 2, o.stroke();\n var e = o.getImageData(0, 0, r.width, r.height);\n return e;\n }();\n });\n n({ commonImageDataHash: I(O(t, T, k).data.toString()).toString() });\n });\n});\nvar C, Q = [\"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\"], J = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction P(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 o = (r.getParameter(r.VENDOR) || \"\").toString(), a = (r.getParameter(r.RENDERER) || \"\").toString(), i = { vendor: o, renderer: a, version: (r.getParameter(r.VERSION) || \"\").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!a.length || !o.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 && (i.vendorUnmasked = c), l && (i.rendererUnmasked = l);\n }\n }\n return i;\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(o) {\n var a = function(i) {\n if (i.length === 0) return null;\n var e = {};\n i.forEach(function(u) {\n var s = String(u);\n e[s] = (e[s] || 0) + 1;\n });\n var c = i[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(i) {\n return o in i ? i[o] : void 0;\n }).filter(function(i) {\n return i !== void 0;\n }));\n a && (r[o] = a);\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(o) {\n matchMedia(\"(\".concat(r, \": \").concat(o, \")\")).matches && n.push(\"\".concat(r, \": \").concat(o));\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(o) {\n var a;\n w(this, void 0, void 0, function() {\n var i, 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, s);\n }))];\n case 1:\n return l.sent(), [3, 0];\n case 2:\n if ((i = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (e = i.style).setProperty(\"position\", \"fixed\"), e.setProperty(\"display\", \"block\", \"important\"), e.setProperty(\"visibility\", \"visible\"), e.setProperty(\"border\", \"0\"), e.setProperty(\"opacity\", \"0\"), i.src = \"about:blank\", document.body.appendChild(i), !(c = i.contentDocument || ((a = i.contentWindow) === null || a === void 0 ? void 0 : a.document))) throw new Error(\"Iframe document is not accessible\");\n return o({ iframe: c }), setTimeout(function() {\n document.body.removeChild(i);\n }, 0), [2];\n }\n var u, s;\n });\n });\n })(function(o) {\n var a = o.iframe;\n return w(n, void 0, void 0, function() {\n var i, e, c, l;\n return y(this, function(u) {\n return i = a.createElement(\"canvas\"), e = i.getContext(\"2d\"), c = J.map(function(s) {\n return P(e, s);\n }), l = {}, Q.forEach(function(s) {\n var p = P(e, s);\n c.includes(p) || (l[s] = 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, o = window.performance && window.performance.memory ? window.performance.memory : 0;\n n({ videocard: Y(), architecture: X(), deviceMemory: r.toString() || \"undefined\", jsHeapSizeLimit: o.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 C = (S == null ? void 0 : S.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: (S == null ? void 0 : S.retries) || 3 }, function() {\n return function() {\n return w(this, void 0, void 0, function() {\n var r, o, a, i, e;\n return y(this, function(c) {\n switch (c.label) {\n case 0:\n r = {}, o = 0, a = C, c.label = 1;\n case 1:\n if (!(o < a.length)) return [3, 6];\n i = a[o], c.label = 2;\n case 2:\n return c.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: i })];\n case 3:\n return e = c.sent(), r[i] = e.state.toString(), [3, 5];\n case 4:\n return c.sent(), [3, 5];\n case 5:\n return o++, [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, C);\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(o) {\n o({ 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 m, 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\" && ((m = document.createElement(\"canvas\")).width = 200, m.height = 100, d = m.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 `, o = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, a = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);\n if (!a || !i) throw new Error(\"Failed to create shaders\");\n if (d.shaderSource(a, r), d.shaderSource(i, o), d.compileShader(a), !d.getShaderParameter(a, d.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + d.getShaderInfoLog(a));\n if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + d.getShaderInfoLog(i));\n var e = d.createProgram();\n if (!e) throw new Error(\"Failed to create shader program\");\n if (d.attachShader(e, a), d.attachShader(e, i), 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, s = 0; s < c; s++) {\n var p = s * u;\n l[4 * s] = 0, l[4 * s + 1] = 0, l[4 * s + 2] = Math.cos(p) * (m.width / 2), l[4 * s + 3] = Math.sin(p) * (m.height / 2);\n }\n var B = d.createBuffer();\n d.bindBuffer(d.ARRAY_BUFFER, B), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);\n var R = d.getAttribLocation(e, \"position\");\n d.enableVertexAttribArray(R), d.vertexAttribPointer(R, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, m.width, m.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * c);\n var x = new Uint8ClampedArray(m.width * m.height * 4);\n return d.readPixels(0, 0, m.width, m.height, d.RGBA, d.UNSIGNED_BYTE, x), new ImageData(x, m.width, m.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: I(O(n, m.width, m.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar b = function(n, t, r, o) {\n for (var a = (r - t) / o, i = 0, e = 0; e < o; e++)\n i += n(t + (e + 0.5) * a);\n return i * a;\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: b(Math.asin, -1, 1, 97), atan: b(Math.atan, -1, 1, 97), cos: b(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: b(Math.sin, -Math.PI, Math.PI, 97), sinh: b(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: b(Math.tan, 0, 2 * Math.PI, 97), tanh: b(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst re = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet A = (n = 21) => {\n let t = \"\", r = crypto.getRandomValues(new Uint8Array(n |= 0));\n for (; n--; )\n t += re[r[n] & 63];\n return t;\n};\nclass D {\n constructor(t) {\n h(this, \"config\");\n this.config = t;\n }\n async getAdsForSearchParams(t) {\n return [];\n }\n}\nclass oe extends D {\n /**\n * Gets ads from the adMarketplace API based on the search term.\n */\n async getAdsForSearchParams(t) {\n if (!this.config.admSub)\n return console.error(\"No admSub specified in config.\"), [];\n const o = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({\n partner: \"demofeed\",\n sub1: this.config.admSub,\n qt: t.searchTerm,\n v: \"2.0\",\n rfr: \"searchcraft.io\",\n \"results-ta\": `${this.config.admTextAdQuantity || 0}`,\n \"results-pa\": `${this.config.admProductAdQuantity || 0}`\n }).toString()}`, i = await (await fetch(o, { method: \"GET\" })).json();\n return new Array().concat(\n i.product_ads.map((c) => ({\n adId: A(),\n type: \"adm-product-ad\",\n admAd: c\n }))\n ).concat(\n i.text_ads.map((c) => ({\n adId: A(),\n type: \"adm-text-ad\",\n admAd: c\n }))\n );\n }\n}\nclass ie extends D {\n async getAdsForSearchParams(t) {\n return [];\n }\n}\nconst ae = 500;\nclass se {\n constructor(t, r, o) {\n h(this, \"measureRequestTimeout\");\n h(this, \"measureRequestsBatched\", []);\n h(this, \"config\");\n h(this, \"sdkInfo\");\n h(this, \"userId\");\n h(this, \"sessionId\");\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 h(this, \"sendMeasureEvent\", (t, r = {}, o = {}) => {\n const a = {\n event_name: t,\n properties: {\n searchcraft_index_names: this.config.index,\n session_id: this.sessionId,\n ...r\n },\n user: {\n ...this.measureRequestUser,\n ...o\n }\n };\n this.measureRequestsBatched.push(a), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const i = 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: i,\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 }, ae);\n });\n this.config = t, this.sdkInfo = r, this.userId = o, this.sessionId = A(), this.sendMeasureEvent(\"sdk_initialized\");\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}\nfunction ue(n) {\n const t = [];\n let r = \"should\";\n return n.facetPathsForIndexFields && Object.keys(n.facetPathsForIndexFields).forEach((o) => {\n var i;\n const a = (i = n.facetPathsForIndexFields) == null ? void 0 : i[o];\n a && (r = \"must\", t.push({\n occur: r,\n exact: {\n ctx: a.value\n }\n }));\n }), n.rangeValueForIndexFields && Object.keys(n.rangeValueForIndexFields).forEach((o) => {\n var i;\n const a = (i = n.rangeValueForIndexFields) == null ? void 0 : i[o];\n a && (r = \"must\", t.push({\n occur: r,\n exact: {\n ctx: a.value\n }\n }));\n }), n.sort === \"desc\" ? n.order_by = \"date_published\" : n.order_by = \"\", t.push({\n occur: r,\n // Valid, as 'occur' is a required property in QueryItem\n [n.mode]: { ctx: n.searchTerm }\n // Ensure dynamic mode is inside queryType\n }), t;\n}\nconst ce = (n) => n.endsWith(\"/\") ? n.slice(0, -1) : n, de = (n) => {\n let t = \"\";\n if (t = n.trim(), t = t.replace(/[‘’“”]/g, (o) => ({\n \"‘\": \"'\",\n \"’\": \"'\",\n \"“\": '\"',\n \"”\": '\"'\n })[o] || o), (t.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n return t;\n};\nclass le {\n constructor(t, r, o) {\n h(this, \"measureClient\");\n h(this, \"config\");\n h(this, \"userId\");\n /**\n * Performs a search operation.\n * @param {SearchParams} searchParams - The parameters for the search.\n */\n h(this, \"getSearchResponse\", async (t) => {\n var o, a;\n const r = de(t.searchTerm);\n (o = this.measureClient) == null || o.sendMeasureEvent(\"search_requested\", {\n search_term: r\n });\n try {\n const i = {\n query: ue(t),\n offset: t.offset || 0,\n // Default to 0 (first page) if not provided\n limit: t.limit || this.config.searchResultsPerPage || 20\n // Default to 20 if not provided\n };\n t.order_by && (i.order_by = t.order_by, i.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(i)\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 return (a = this.measureClient) == null || a.sendMeasureEvent(\"search_response_received\", {\n search_term: r,\n number_of_documents: l.data.count\n }), l;\n } catch (i) {\n throw console.error(\"Error parsing response:\", i), i;\n }\n });\n this.measureClient = o, this.config = t, this.userId = r;\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}\nclass ge {\n constructor(t, r) {\n h(this, \"config\");\n h(this, \"measureClient\");\n h(this, \"searchClient\");\n h(this, \"adClient\");\n h(this, \"userId\");\n h(this, \"requestTimeout\");\n /**\n * Gets items from the SearchClient and the AdClient.\n */\n h(this, \"getItems\", (t, r, o) => {\n const a = async () => {\n (async () => {\n var c, l;\n const i = await ((c = this == null ? void 0 : this.searchClient) == null ? void 0 : c.getSearchResponse(t));\n if (!i)\n throw new Error(\"Search client was not initialized.\");\n const e = (l = i.data.hits || []) == null ? void 0 : l.map((u) => u.doc).filter((u) => !!u).map((u) => ({\n type: \"SearchDocument\",\n id: A(),\n document: u\n }));\n r(i, e);\n })(), (async () => {\n if (this.adClient) {\n const i = await this.adClient.getAdsForSearchParams(t);\n o(i);\n }\n })();\n };\n clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(\n a,\n this.config.searchDebounceDelay\n ) : a();\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 = {\n ...t,\n // Strips off the trailing '/' from an endpointURL if one is accidentally added\n endpointURL: ce(t.endpointURL)\n }, this.userId = \"\", this.initClients(this.config, r);\n }\n initClients(t, r) {\n setTimeout(async () => {\n let o = this.config.userId;\n switch (o || (o = await $()), this.measureClient = new se(t, r, o), this.searchClient = new le(t, o, this.measureClient), t.adProvider) {\n case \"adMarketplace\":\n this.adClient = new oe(t);\n break;\n case \"Nativo\":\n this.adClient = new ie(t);\n break;\n }\n }, 300);\n }\n}\n\nconst initialSearchcraftStateValues = {\n adClientResponseItems: [],\n core: undefined,\n logger: undefined,\n facetPathsForIndexFields: {},\n isPopoverVisible: false,\n searchTerm: '',\n rangeValueForIndexFields: {},\n searchMode: 'fuzzy',\n searchClientResponseItems: [],\n searchResponseTimeTaken: undefined,\n searchResponseFacetPrime: undefined,\n searchResultsCount: 0,\n searchResultsPerPage: 20,\n searchResultsPage: 1,\n sortType: 'asc',\n};\nconst useSearchcraftStore = zustand.create((set, get) => {\n const functions = {\n addFacetPathsForIndexField: (data) => set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n addRangeValueForIndexField: (data) => set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n getSearchcraftInstance: () => {\n const { core } = get();\n return core;\n },\n initialize: (searchcraftInstance, debug = false) => {\n const core = searchcraftInstance;\n const logger = debug\n ? new me({ logLevel: _.DEBUG })\n : undefined;\n set({\n core,\n logger,\n searchResultsPerPage: core.config.searchResultsPerPage || 20,\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 removeRangeValueForIndexField: (fieldName) => set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n search: async () => {\n const state = get();\n state.logger?.log(_.INFO, `Starting search with search term: \"${state.searchTerm}\"`);\n if (!state.core) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n if (!state.searchTerm.trim()) {\n state.logger?.log(_.INFO, 'No search request was made: search term was empty.');\n set({\n searchClientResponseItems: [],\n searchResultsCount: 0,\n searchResultsPage: 1,\n searchTerm: '',\n });\n return;\n }\n const handleSearchcraftResponse = (response, items) => {\n const facetsFromResponse = response.data.facets;\n set((state) => {\n return {\n searchClientResponseItems: items,\n searchResponseTimeTaken: response.data.time_taken || 0,\n searchResultsPage: \n // reset to first page when response count changes\n response.data.count === state.searchResultsCount\n ? state.searchResultsPage\n : 1,\n searchResultsCount: response.data.count || 0,\n };\n });\n if (facetsFromResponse) {\n set({ searchResponseFacetPrime: facetsFromResponse });\n }\n state.logger?.log(_.DEBUG, `Search results: ${JSON.stringify(items)}`);\n state.logger?.log(_.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);\n };\n const handleAdResponse = (adClientResponseItems) => {\n set({ adClientResponseItems });\n };\n state.core.getItems({\n searchTerm: state.searchTerm,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n offset: state.searchResultsPerPage\n ? state.searchResultsPerPage * (state.searchResultsPage - 1)\n : 0,\n limit: state.searchResultsPerPage,\n }, handleSearchcraftResponse, handleAdResponse);\n },\n setPopoverVisibility: (isVisible) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n setSearchTerm: (searchTerm) => {\n /**\n * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n searchTerm,\n facetPathsForIndexFields: {},\n ...(searchTerm.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchClientResponseItems: (items) => set({ searchClientResponseItems: items }),\n setSearchResultsPage: async (page) => {\n set({ searchResultsPage: page });\n await functions.search();\n },\n setSearchResultsPerPage: async (perPage) => {\n set({ searchResultsPerPage: perPage });\n await functions.search();\n },\n };\n const stateObject = {\n ...initialSearchcraftStateValues,\n ...functions,\n };\n return stateObject;\n});\n\nexport { ge as g, useSearchcraftStore as u };\n\n//# sourceMappingURL=p-38419178.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 { getDocumentValueFromSearchResultMapping as a, formatNumberWithCommas as f, getMillis as g };\n\n//# sourceMappingURL=p-6104fe5d.js.map","import { p as proxyCustomElement, H, h, F as Fragment } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { a as getDocumentValueFromSearchResultMapping } from './p-6104fe5d.js';\n\nconst SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n item;\n searchResultMappings;\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 * 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 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 titleContent;\n subtitleContent;\n bodyContent;\n footerContent;\n buttonLabel;\n buttonHref;\n containerHref;\n imageSrc;\n imageAlt;\n searchcraftStore = useSearchcraftStore.getState();\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n }\n mapValuesFromDocument(document) {\n this.titleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.title);\n this.subtitleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.subtitle);\n this.bodyContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.body);\n this.containerHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.containerHref);\n this.buttonHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.buttonHref);\n this.imageSrc = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.imageSource);\n this.footerContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.footer);\n }\n handleLinkClick = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.searchTerm;\n const number_of_documents = this.searchcraftStore.searchClientResponseItems.length;\n searchcraft.measureClient?.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.handleLinkClick, 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 \"item\": [16],\n \"searchResultMappings\": [16],\n \"containerTarget\": [1, \"container-target\"],\n \"containerRel\": [1, \"container-rel\"],\n \"buttonTarget\": [1, \"button-target\"],\n \"buttonRel\": [1, \"button-rel\"],\n \"imagePlacement\": [1, \"image-placement\"],\n \"customStyles\": [1, \"custom-styles\"],\n \"documentPosition\": [2, \"document-position\"],\n \"titleContent\": [32],\n \"subtitleContent\": [32],\n \"bodyContent\": [32],\n \"footerContent\": [32],\n \"buttonLabel\": [32],\n \"buttonHref\": [32],\n \"containerHref\": [32],\n \"imageSrc\": [32],\n \"imageAlt\": [32]\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-97332d3e.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: 'dc97bb66da10a98fca027f928deaaf80d945417b', 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-0e393fe1.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { s as serializeStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$4 } from './p-97332d3e.js';\nimport { d as defineCustomElement$3 } from './p-de4a48b1.js';\nimport { d as defineCustomElement$2 } from './p-0e393fe1.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 * A custom styles object.\n */\n customStylesForResults;\n /**\n * Formats the content rendered for each result.\n */\n searchResultMappings;\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 searchTerm = '';\n searchClientResponseItems = [];\n adClientResponseItems = [];\n searchResultsPerPage;\n searchResultsPage;\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => this.handleStateChange(state));\n const currentState = useSearchcraftStore.getState();\n this.searchClientResponseItems = currentState.searchClientResponseItems;\n this.searchTerm = currentState.searchTerm;\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n handleStateChange(state) {\n this.searchClientResponseItems = [...state.searchClientResponseItems];\n this.adClientResponseItems = [...state.adClientResponseItems];\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\n }\n render() {\n if (this.searchTerm.trim() === '') {\n return (h(\"div\", { class: 'searchcraft-search-results-empty-state-container' }, h(\"slot\", { name: 'empty-search' })));\n }\n if (this.searchClientResponseItems.length === 0) {\n return;\n }\n if (this.searchTerm.length > 0 &&\n this.searchClientResponseItems.length === 0) {\n this.noResults?.emit();\n }\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(\"div\", { class: 'searchcraft-search-results-container' }, this.adClientResponseItems?.map((item) => (h(\"searchcraft-base-search-result-ad\", { adClientResponseItem: item, key: item.adId }))), this.searchClientResponseItems?.map((item, index) => (h(\"searchcraft-base-search-result\", { key: item.id, \"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\": this.searchResultsPerPage * this.searchResultsPage + index, searchResultMappings: this.searchResultMappings, item: item }))), this.searchTerm.length > 0 &&\n this.searchClientResponseItems.length === 0 && (h(\"div\", { class: 'searchcraft-search-results-error-message-container' }, h(\"searchcraft-error-message\", { \"error-message\": `No search results found for \"${this.searchTerm}\" query` })))));\n }\n}, [4, \"searchcraft-base-search-results\", {\n \"customStylesForResults\": [1, \"custom-styles-for-results\"],\n \"searchResultMappings\": [16],\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 \"searchTerm\": [32],\n \"searchClientResponseItems\": [32],\n \"adClientResponseItems\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsPage\": [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-base-search-result-ad\", \"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$4();\n }\n break;\n case \"searchcraft-base-search-result-ad\":\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 * Controls the visual representation of the button.\n */\n hierarchy = 'primary';\n /**\n * Whether the button is disabled.\n */\n disabled = false;\n /**\n * The icon element.\n */\n icon;\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 * The type of the button.\n */\n type = 'button';\n /**\n * The event fired when the button is clicked.\n */\n buttonClick;\n handleButtonClick = () => {\n this.buttonClick.emit();\n };\n render() {\n return (h(\"button\", { key: 'fc258e1c7aab54611c781789eef7facc074f02c3', class: classNames('searchcraft-button', {\n 'searchcraft-button-primary': this.hierarchy === 'primary',\n 'searchcraft-button-tertiary': this.hierarchy === 'tertiary',\n 'searchcraft-button-disabled': this.disabled,\n }), disabled: this.disabled, onClick: this.handleButtonClick, type: this.type }, this.iconOnly ? (this.icon) : (h(Fragment, null, this.iconPosition === 'left' && this.icon, h(\"span\", null, this.label), this.iconPosition === 'right' && this.icon))));\n }\n}, [0, \"searchcraft-button\", {\n \"hierarchy\": [1],\n \"disabled\": [4],\n \"icon\": [16],\n \"iconOnly\": [4, \"icon-only\"],\n \"iconPosition\": [1, \"icon-position\"],\n \"label\": [1],\n \"type\": [1]\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-d19bf6ff.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-38419178.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 lastSearchTerm;\n lastSearchMode;\n lastSortType;\n unsubscribe;\n searchStore = useSearchcraftStore.getState();\n handleStateUpdate(state) {\n const facetPrime = state.searchResponseFacetPrime;\n const timeTaken = state.searchResponseTimeTaken;\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.searchTerm !== this.lastSearchTerm ||\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.lastSearchTerm = state.searchTerm;\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(\"svg\", { width: '14', height: '3', viewBox: '0 0 14 3', fill: 'none' }, h(\"title\", null, \"Checkbox Dash\"), h(\"line\", { x1: '1.5', y1: '1.5', x2: '12.5', y2: '1.5', stroke: 'white', \"stroke-width\": '3', \"stroke-linecap\": 'round' })))) : (h(\"div\", { class: classNames('checkContainer', 'searchcraft-filter-list-check-container') }, h(\"svg\", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, h(\"title\", null, \"Checkbox Check\"), h(\"path\", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', \"stroke-width\": '3', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' })))), 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(\"svg\", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, h(\"title\", null, \"Checkbox Check\"), h(\"path\", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', \"stroke-width\": '3', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), 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 \"lastSearchTerm\": [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-fc7cda96.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { g as getMillis } from './p-6104fe5d.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: 'c5dd33e5dbeb14c6acf1a3caa2101c8aff186abf', class: 'searchcraft-slider-container' }, h(\"div\", { key: '208354ad0176cfaa498ac4bb58cc584dd1976026', class: 'searchcraft-slider-range-container' }, h(\"div\", { key: '9ad0890810211c2d5b9e4588d67d43a85f76f0bb', class: 'searchcraft-slider-active-range', style: {\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n } }), h(\"input\", { key: '80d5d3847424991564fff0b6d16a0659b35fdcc2', 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: '063f4fc243a64dc3743d6cd8fbe6776e65f0d79e', 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: '148f3b70984ae66b0fe765d0351df380719fb5d8', class: 'searchcraft-slider-label-container' }, h(\"span\", { key: 'e5f1ad86454262abcb5261eba7b3555e59822b49', class: 'searchcraft-slider-label' }, startLabel), h(\"span\", { key: 'beac7a99a5a8fc1416712e4877eaf65574d8a42e', 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-4e9cd62e.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.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 lastSearchTerm;\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.searchTerm !== this.lastSearchTerm &&\n state.searchTerm.trim().length === 0) {\n this.isActive = false;\n }\n this.lastSearchTerm = state.searchTerm;\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n render() {\n return (h(\"div\", { key: 'ff105efef07b5f57127ff83ddb105658398b205d', class: 'searchcraft-toggle-button-container' }, h(\"div\", { key: '696046a2cb1f1bd0273bb77fda7c16ed5795422a' }, h(\"p\", { key: '93690038f12e2c7cff406a8f8ceeedaa5b871b70', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h(\"p\", { key: '1eaa110307794a4c15812e252d8a6ac7e81e7408', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h(\"button\", { key: 'a2671d9696db713763d44d0a84e08aff19bc8aa0', class: classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n }), onClick: this.handleToggle, type: 'button' }, h(\"div\", { key: '12874ac4782f756c6568952764777b758452406f', 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 \"lastSearchTerm\": [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-433f974c.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { g as getMillis } from './p-6104fe5d.js';\nimport { d as defineCustomElement$4 } from './p-fc7cda96.js';\nimport { d as defineCustomElement$3 } from './p-4e9cd62e.js';\nimport { d as defineCustomElement$2 } from './p-433f974c.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 lastSearchTerm;\n searchStore = useSearchcraftStore.getState();\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.lastSearchTerm = state.searchTerm || '';\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: '7e3e39a09d392e6da9c387d8cd641a50171ddc59', 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 \"lastSearchTerm\": [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: '528396d4be9f22ff0c02d95d8bcea056576aed41', 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-e55a7970.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore, g as ge } from './p-38419178.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { d as defineCustomElement$3 } from './p-d19bf6ff.js';\nimport { d as defineCustomElement$2 } from './p-0e393fe1.js';\nimport { d as defineCustomElement$1 } from './p-e55a7970.js';\n\nconst name = \"@searchcraft/javascript-sdk\";\nconst version = \"0.8.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 && 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.8.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 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 ge(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 (!this.autoSearch) {\n return;\n }\n if (input.value.trim() === '') {\n this.inputCleared?.emit();\n }\n this.performSearch(input.value);\n };\n performSearch = async (value) => {\n if (value === useSearchcraftStore.getState().searchTerm) {\n return;\n }\n this.searchTerm = value.trim();\n this.error = false;\n this.searchStore.setSearchTerm(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.setSearchTerm('');\n this.searchStore.setSearchClientResponseItems([]);\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: 'bc665c50db8de601a3c95266bdf063ebb988d6a8', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, h(\"div\", { key: 'a6936858c08d866b66b887c7ae03b35961cf04a1', class: inputGridClassNames, style: inputGridStyles }, h(\"div\", { key: '915ac892fccb771f1c5338cd2d52f16f1793615d', class: 'searchcraft-input-button-wrapper' }, h(\"searchcraft-button\", { key: '81447da28dcb9cb80a8cdf0c6765c909c2746585', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (h(\"div\", { key: '939c3407d16075be25ff23bf9b379c05ba1a66d4', class: 'searchcraft-input-label-wrapper' }, h(\"searchcraft-input-label\", { key: '9d9c4043c04132b27710cca47abf102a188a80b9', label: this.inputLabel }))), this.error && (h(\"div\", { key: '7e309f8a5c81a41bdd593f4e4ee1ba30c531c97d', class: 'searchcraft-input-error-wrapper' }, h(\"searchcraft-error-message\", { key: 'de947c04f0948e36786f50ac65720eeb598ae7bf', errorMessage: 'Something went wrong.' }))), h(\"div\", { key: 'bcf774e3fa5164ab838b634badf2002495437fe7', class: 'searchcraft-input-wrapper' }, h(\"input\", { key: 'fd9759559712a39d3493e069ddddf7c267879c84', 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: '8564b18962feeea8d9ab8bb46af4ba28a089d8f4', class: 'searchcraft-input-search-icon-wrapper' }, h(\"svg\", { key: '90c3636ea306ed70887d76deaf058ab3ace61134', 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: 'c9921263b87df28e06bab9990e324aa1bebac767', id: 'searchcraft-title' }, \"Searchcraft Search Icon Light\"), h(\"path\", { key: 'bb82073fd722ff4a74e1a86c74cdf0dd9a8080b4', 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: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), isShowingClearButton && (h(\"button\", { key: 'e708cb9426171bfdfb29e0a98206d086fa14e15e', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, h(\"svg\", { key: '243b6eacc68fa8cc57d5e11b9b317d7fe581406f', 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: 'd8a8b44fe04345b5b27ba33ec4ba510500eab3bf', id: 'icon-title' }, \"Searchcraft Clear Input Icon Light\"), h(\"path\", { key: '0602cbff7aac6755dabb496b84e6ef3e4e2ac7a6', 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: 'currentColor', \"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-3df3ff8b.js.map","import { S as SearchcraftInput, d as defineCustomElement$1 } from './p-3df3ff8b.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-38419178.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$2 } from './p-d19bf6ff.js';\n\nconst SearchcraftPagination$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPagination extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The custom styles object.\n */\n customStyles;\n // store vars\n searchTerm;\n searchResultsPerPage;\n searchResultsPage;\n searchResultsCount;\n // local vars\n searchResultsPagesCount = 1;\n searchResultsRangeMin = 1;\n searchResultsRangeMax = 1;\n // store functions\n setSearchResultsPage = () => { };\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n // store vars\n this.searchTerm = state.searchTerm;\n this.searchResultsPerPage = state.searchResultsPerPage;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsCount = state.searchResultsCount;\n // local vars\n this.searchResultsPagesCount = Math.ceil(this.searchResultsCount / this.searchResultsPerPage);\n this.searchResultsRangeMin =\n (this.searchResultsPage - 1) * this.searchResultsPerPage + 1;\n this.searchResultsRangeMax =\n (this.searchResultsPerPage - 1) * this.searchResultsPerPage +\n this.searchResultsPerPage;\n // store functions\n this.setSearchResultsPage = state.setSearchResultsPage;\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n handleGoToPage(page) {\n this.setSearchResultsPage(page);\n }\n renderOddPaginationItem(page) {\n return (h(\"li\", null, h(\"button\", { class: classNames('searchcraft-pagination-item', {\n 'searchcraft-pagination-item-active': this.searchResultsPage === page,\n }), onClick: () => this.handleGoToPage(page), type: 'button' }, page)));\n }\n renderEvenPaginationItem(page) {\n if (this.searchResultsPagesCount <= page) {\n return;\n }\n if (this.searchResultsPagesCount <= 5 ||\n page < Math.ceil(this.searchResultsPagesCount / 2) // is the first or second even pagination item\n ? this.searchResultsPage <= page + 1\n : this.searchResultsPage >= page - 1) {\n return (h(\"li\", null, h(\"button\", { class: classNames('searchcraft-pagination-item', {\n 'searchcraft-pagination-item-active': this.searchResultsPage === page,\n }), onClick: () => this.handleGoToPage(page), type: 'button' }, page)));\n }\n return (h(\"li\", null, h(\"span\", { class: 'searchcraft-pagination-item' }, \"...\")));\n }\n renderMiddlePaginationItem() {\n if (this.searchResultsPagesCount <= 3) {\n return;\n }\n if (this.searchResultsPagesCount <= 5 ||\n this.searchResultsPage <= 3 ||\n this.searchResultsPage >= this.searchResultsPagesCount - 2) {\n return (h(\"li\", null, h(\"button\", { class: classNames('searchcraft-pagination-item', {\n 'searchcraft-pagination-item-active': this.searchResultsPage === 3 ||\n this.searchResultsPage === this.searchResultsPagesCount - 2,\n }), type: 'button', onClick: () => this.handleGoToPage(this.searchResultsPage >= this.searchResultsPagesCount - 2\n ? this.searchResultsPagesCount - 2\n : 3) }, this.searchResultsPage >= this.searchResultsPagesCount - 2\n ? this.searchResultsPagesCount - 2\n : 3)));\n }\n return (h(\"li\", null, h(\"span\", { class: 'searchcraft-pagination-item searchcraft-pagination-item-active' }, this.searchResultsPage)));\n }\n render() {\n // early return if there isn't a searchTerm or there is 1 or fewer pages of results\n if (!this.searchTerm || this.searchResultsPagesCount <= 1) {\n return;\n }\n return (h(\"div\", { class: classNames('searchcraft-pagination', parseCustomStyles(this.customStyles || {})) }, h(\"div\", { class: 'searchcraft-pagination-control' }, h(\"searchcraft-button\", { disabled: this.searchResultsPage === 1, hierarchy: 'tertiary', onButtonClick: () => this.handleGoToPage(Math.max(1, this.searchResultsPage - 1)), label: 'PREVIOUS', iconPosition: 'left', icon: h(\"svg\", { width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, h(\"title\", null, \"Previous page icon\"), h(\"path\", { d: 'M12.5 15L7.5 10L12.5 5', stroke: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' })) })), h(\"ul\", { class: 'searchcraft-pagination-list' }, this.renderOddPaginationItem(1), this.renderEvenPaginationItem(2), this.renderMiddlePaginationItem(), this.renderEvenPaginationItem(this.searchResultsPagesCount > 4\n ? this.searchResultsPagesCount - 1\n : 4), this.renderOddPaginationItem(this.searchResultsPagesCount)), h(\"div\", { class: 'searchcraft-pagination-control' }, h(\"searchcraft-button\", { disabled: this.searchResultsPage === this.searchResultsPagesCount, hierarchy: 'tertiary', onButtonClick: () => {\n this.handleGoToPage(Math.min(this.searchResultsPagesCount, this.searchResultsPage + 1));\n }, label: 'NEXT', iconPosition: 'right', icon: h(\"svg\", { width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, h(\"title\", null, \"Next page icon\"), h(\"path\", { d: 'M7.5 15L12.5 10L7.5 5', stroke: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' })) }))));\n }\n}, [0, \"searchcraft-pagination\", {\n \"customStyles\": [1, \"custom-styles\"],\n \"searchTerm\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsCount\": [32],\n \"searchResultsPagesCount\": [32],\n \"searchResultsRangeMin\": [32],\n \"searchResultsRangeMax\": [32],\n \"setSearchResultsPage\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-pagination\", \"searchcraft-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-pagination\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPagination$1);\n }\n break;\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftPagination = SearchcraftPagination$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftPagination, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-pagination.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.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: '538e1e8506bea196e6ba45482f9daa75d032462f', type: 'button', onClick: this.handleOnClick.bind(this) }, h(\"slot\", { key: '788b70da6edcbfb283d373ada36709582ad16e51' })));\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-38419178.js';\nimport { a as getDocumentValueFromSearchResultMapping } from './p-6104fe5d.js';\n\nconst SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItem extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n item;\n popoverResultMappings;\n /** The document position relative to the search results (For Measure) */\n documentPosition = 0;\n href;\n imageSrc;\n imageAlt;\n titleContent;\n subtitleContent;\n mapValuesFromDocument(document) {\n this.titleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.title);\n this.subtitleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.subtitle);\n this.href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.href);\n this.imageSrc = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageSource);\n this.imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageAlt);\n }\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n }\n disconnectedCallback() { }\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.searchTerm;\n const number_of_documents = state.searchClientResponseItems.length || 0;\n searchcraft.measureClient?.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n render() {\n return (h(\"a\", { key: '77e0a59f0441c7ed717ffc0de7f335e76b7b5f5e', class: 'searchcraft-popover-list-item', href: this.href, onClick: this.handleLinkClick.bind(this) }, this.imageSrc && (h(\"div\", { key: '70fe7167cd9baa5029b1482ac6e71bd46c3171a7', class: 'searchcraft-popover-list-item-image-wrapper' }, h(\"img\", { key: '768f651b06005ecefb9818268664334c6bf0d333', alt: this.imageAlt, src: this.imageSrc, class: 'searchcraft-popover-list-item-image' }))), h(\"div\", { key: 'a34b31b92d232193e9d43c5871ecad0d4ee3f59a', class: 'searchcraft-popover-list-item-info-wrapper' }, h(\"p\", { key: 'f2bd9dab4008d200b4528fde35950be90503d66c', class: 'searchcraft-popover-list-item-title' }, this.titleContent), h(\"p\", { key: '4231966d7c4c48dfaaf4925ad18db3428219edad', class: 'searchcraft-popover-list-item-subtitle' }, this.subtitleContent))));\n }\n}, [0, \"searchcraft-popover-list-item\", {\n \"item\": [16],\n \"popoverResultMappings\": [16],\n \"documentPosition\": [2, \"document-position\"],\n \"href\": [32],\n \"imageSrc\": [32],\n \"imageAlt\": [32],\n \"titleContent\": [32],\n \"subtitleContent\": [32]\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-ec0d230e.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\n\nconst SearchcraftPopoverListItemAd = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItemAd extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n adClientResponseItem;\n connectedCallback() {\n if (this.adClientResponseItem?.admAd?.impression_url) {\n fetch(this.adClientResponseItem?.admAd?.impression_url);\n }\n }\n renderADMProductAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-popover-list-item-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-popover-list-item-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-popover-list-item-ad-image' }))), h(\"div\", { class: 'searchcraft-popover-list-item-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-popover-list-item-ad-title' }, ad.term), h(\"p\", { class: 'searchcraft-popover-list-item-ad-subtitle' }, ad.price))));\n }\n renderADMTextAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-popover-list-item-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-popover-list-item-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-popover-list-item-ad-image' }))), h(\"div\", { class: 'searchcraft-popover-list-item-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-popover-list-item-ad-title' }, ad.term))));\n }\n renderNativoAd() { }\n renderAdPlaceholder() {\n return h(\"p\", null, \"Ad placeholder\");\n // return;\n }\n render() {\n if (!this.adClientResponseItem) {\n return this.renderAdPlaceholder();\n }\n switch (this.adClientResponseItem.type) {\n case 'adm-product-ad':\n return this.renderADMProductAd();\n case 'adm-text-ad':\n return this.renderADMTextAd();\n case 'nativo-ad':\n return this.renderNativoAd();\n }\n }\n}, [0, \"searchcraft-popover-list-item-ad\", {\n \"adClientResponseItem\": [16]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-list-item-ad\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-popover-list-item-ad\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPopoverListItemAd);\n }\n break;\n } });\n}\n\nexport { SearchcraftPopoverListItemAd as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-bff4d3fc.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { d as defineCustomElement$2 } from './p-ec0d230e.js';\nimport { d as defineCustomElement$1 } from './p-bff4d3fc.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 items to render in the list view.\n */\n searchClientResponseItems;\n adClientResponseItems;\n searchResultsPage;\n searchResultsPerPage;\n render() {\n return (h(\"div\", { key: 'a869d98e96f6fbbc80ecb79058c4753b4a3a8b1d', class: 'searchcraft-popover-list-view' }, this.adClientResponseItems?.map((item) => (h(\"searchcraft-popover-list-item-ad\", { adClientResponseItem: item, key: item.adId }))), this.searchClientResponseItems?.map((item, index) => (h(\"searchcraft-popover-list-item\", { item: item, key: item.id, popoverResultMappings: this.popoverResultMappings, documentPosition: this.searchResultsPerPage * (this.searchResultsPage - 1) + index })))));\n }\n}, [0, \"searchcraft-popover-list-view\", {\n \"popoverResultMappings\": [16],\n \"searchClientResponseItems\": [16],\n \"adClientResponseItems\": [16],\n \"searchResultsPage\": [2, \"search-results-page\"],\n \"searchResultsPerPage\": [2, \"search-results-per-page\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-list-view\", \"searchcraft-popover-list-item\", \"searchcraft-popover-list-item-ad\"];\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$2();\n }\n break;\n case \"searchcraft-popover-list-item-ad\":\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-25ee7496.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-38419178.js';\nimport { d as defineCustomElement$8 } from './p-d19bf6ff.js';\nimport { d as defineCustomElement$7 } from './p-0e393fe1.js';\nimport { d as defineCustomElement$6 } from './p-3df3ff8b.js';\nimport { d as defineCustomElement$5 } from './p-e55a7970.js';\nimport { d as defineCustomElement$4 } from './p-ec0d230e.js';\nimport { d as defineCustomElement$3 } from './p-bff4d3fc.js';\nimport { d as defineCustomElement$2 } from './p-25ee7496.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 searchClientResponseItems = [];\n adClientResponseItems = [];\n searchTerm;\n isFocused = false;\n breakpointSm = 576;\n breakpointMd = 768;\n breakpointLg = 992;\n searchResultsPage;\n searchResultsPerPage;\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.searchClientResponseItems = [...state.searchClientResponseItems];\n this.adClientResponseItems = [...state.adClientResponseItems];\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\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.searchClientResponseItems.length > 0);\n }\n renderInlinePopover() {\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, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))))));\n }\n renderModalPopover() {\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, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))))));\n }\n }\n renderFullscreenPopover() {\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, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage })))));\n }\n }\n render() {\n switch (this.type) {\n case 'inline':\n return this.renderInlinePopover();\n case 'modal':\n return this.renderModalPopover();\n case 'fullscreen':\n return this.renderFullscreenPopover();\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 \"searchClientResponseItems\": [32],\n \"adClientResponseItems\": [32],\n \"searchTerm\": [32],\n \"isFocused\": [32],\n \"breakpointSm\": [32],\n \"breakpointMd\": [32],\n \"breakpointLg\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsPerPage\": [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-item-ad\", \"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$8();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"searchcraft-input-form\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\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$4();\n }\n break;\n case \"searchcraft-popover-list-item-ad\":\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 { c as classNames } from './p-5cdc6210.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { f as formatNumberWithCommas } from './p-6104fe5d.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\n\nconst SearchcraftResultsInfo$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftResultsInfo extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The custom formatter for the resulting string.\n *\n * @example\n * ```ts\n * resultsInfo.customFormatter = (range, count, responseTime) =>\n * `${range[0]}-${range[1]} of ${count} results in ${responseTime}ms`;\n * ```\n */\n customFormatter;\n /**\n * The custom styles object.\n */\n customStyles;\n // store vars\n searchTerm;\n searchResultsPage;\n searchResultsPerPage;\n searchResultsCount;\n // local vars\n count = 0;\n range = [0, 0];\n responseTime = '0';\n unsubscribe = () => { };\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n // store vars\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\n this.searchResultsCount = state.searchResultsCount;\n // local vars\n this.count = this.searchResultsCount;\n this.range[0] =\n this.searchResultsPage <= 1\n ? 1\n : this.searchResultsPerPage * (this.searchResultsPage - 1);\n this.range[1] = this.searchResultsPerPage * this.searchResultsPage;\n this.range[1] =\n this.range[1] > this.searchResultsCount\n ? this.searchResultsCount\n : this.range[1];\n this.responseTime = ((state.searchResponseTimeTaken || 0) * 1000).toFixed(2);\n });\n }\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n render() {\n if (!this.searchTerm || this.searchResultsCount === 0) {\n return null;\n }\n return (h(\"p\", { class: classNames('searchcraft-results-info', parseCustomStyles(this.customStyles || {})) }, this.customFormatter\n ? this.customFormatter([\n formatNumberWithCommas(this.range[0]),\n formatNumberWithCommas(this.range[1]),\n ], formatNumberWithCommas(this.count), this.responseTime)\n : `${this.count} results found in ${this.responseTime}ms`));\n }\n}, [0, \"searchcraft-results-info\", {\n \"customFormatter\": [16],\n \"customStyles\": [1, \"custom-styles\"],\n \"searchTerm\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsCount\": [32],\n \"count\": [32],\n \"range\": [32],\n \"responseTime\": [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, c as createEvent, h } from './p-5365011f.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\n\nconst SearchcraftSelect = /*@__PURE__*/ proxyCustomElement(class SearchcraftSelect extends H {\n constructor() {\n super();\n this.__registerHost();\n this.selectChange = createEvent(this, \"selectChange\", 7);\n }\n /**\n * The caption displayed below the select input.\n */\n caption;\n /**\n * Whether the select input is disabled.\n */\n disabled = false;\n /**\n * The ID for the select input.\n */\n inputId;\n /**\n * The label of the select input.\n */\n label;\n /**\n * The ID for the label of the select input.\n */\n labelId;\n /**\n * The name of the select input.\n */\n name;\n /**\n * The options for the select input.\n */\n options = [];\n /**\n * A custom styles object.\n */\n customStyles;\n /**\n * The event fired when the select is changed.\n */\n selectChange;\n searchResultsPerPage;\n setSearchResultsPage = () => { };\n setSearchResultsPerPage = () => { };\n handleSelectChange = (event) => {\n this.selectChange.emit(event.target.value);\n };\n handleGoToPage(page) {\n this.setSearchResultsPage(page);\n }\n render() {\n return (h(\"div\", { key: '5024d49d89a3649a5de591d37ded304a9dfb36d9', class: classNames('searchcraft-select', parseCustomStyles(this.customStyles || {})) }, this.label && (h(\"label\", { key: '005aea9b190e5a6c041721e20395be23f76faab6', class: 'searchcraft-select-label', id: this.labelId || `${this.inputId}-label`, htmlFor: this.inputId }, this.label)), h(\"div\", { key: '209d56844c0bcd241e73bafcad24fac927fe7ffa', class: 'searchcraft-select-input-wrapper' }, h(\"select\", { key: '010c9e596ef45a303f84c0ac0fa54ab67556d7b6', \"aria-labelledby\": this.label ? this.labelId || `${this.inputId}-label` : undefined, class: 'searchcraft-select-input', disabled: this.disabled, id: this.inputId, name: this.name, onChange: this.handleSelectChange }, (typeof this.options === 'string'\n ? JSON.parse(this.options)\n : this.options).map(({ label, value, selected }) => {\n return (h(\"option\", { key: value, value: value, selected: selected }, label));\n })), h(\"svg\", { key: '51d9fb79381468ee0992475ba376df5a5961116c', class: 'searchcraft-select-input-icon', width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, h(\"title\", { key: '59186138953557764915d41708d4bcc23a9bb97f' }, \"Select dropdown icon\"), h(\"path\", { key: 'ec2c962df16cb68bdaf3e2c32e57d875a63957a9', d: 'M5 7.5L10 12.5L15 7.5', stroke: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), this.caption && (h(\"p\", { key: '742bc2dbd8371938894d49bb37d429d1b7a07d7a', class: 'searchcraft-select-caption' }, this.caption))));\n }\n}, [0, \"searchcraft-select\", {\n \"caption\": [1],\n \"disabled\": [4],\n \"inputId\": [1, \"input-id\"],\n \"label\": [1],\n \"labelId\": [1, \"label-id\"],\n \"name\": [1],\n \"options\": [1],\n \"customStyles\": [1, \"custom-styles\"],\n \"searchResultsPerPage\": [32],\n \"setSearchResultsPage\": [32],\n \"setSearchResultsPerPage\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-select\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-select\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftSelect);\n }\n break;\n } });\n}\n\nexport { SearchcraftSelect as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-bf6a086a.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$2 } from './p-bf6a086a.js';\n\nconst SearchcraftSearchResultsPerPage$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftSearchResultsPerPage extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The amount the options will increase (e.g. 20 = [20, 40, 60, 80, 100]).\n * The base value is defined by the `searchResultsPerPage` option in the configuration.\n */\n increment = 20;\n /**\n * The custom styles object.\n */\n customStyles;\n // store vars\n searchTerm;\n searchResultsPage;\n searchResultsPerPage;\n searchResultsCount;\n searchResultsPagesCount;\n // local vars\n initialSearchResultsPerPage;\n // store functions\n setSearchResultsPerPage = () => { };\n setSearchResultsPage = () => { };\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n // store vars\n this.searchTerm = state.searchTerm;\n this.searchResultsPerPage = state.searchResultsPerPage;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsCount = state.searchResultsCount;\n // local vars\n this.searchResultsPagesCount = Math.ceil(this.searchResultsCount / this.searchResultsPerPage);\n // store functions\n this.setSearchResultsPage = state.setSearchResultsPage;\n this.setSearchResultsPerPage = state.setSearchResultsPerPage;\n });\n this.initialSearchResultsPerPage =\n useSearchcraftStore.getState().searchResultsPerPage;\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n render() {\n // early return if there isn't a searchTerm or there is 1 or fewer pages of results\n if (!this.searchTerm || this.searchResultsPagesCount <= 1) {\n return;\n }\n return (h(\"div\", { class: classNames('searchcraft-search-results-per-page', parseCustomStyles(this.customStyles || {})) }, h(\"div\", { class: 'searchcraft-search-results-per-page-select' }, h(\"label\", { class: 'searchcraft-search-results-per-page-select-label', htmlFor: 'searchcraft-search-results-per-page-select-input' }, \"Results Per Page\"), h(\"div\", { class: 'searchcraft-search-results-per-page-select-input' }, h(\"searchcraft-select\", { inputId: 'searchcraft-search-results-per-page-select-input', name: 'results-per-page', options: [...Array(5)].map((_, index) => {\n const value = this.initialSearchResultsPerPage +\n Number(this.increment) * index;\n return {\n label: `${value}`,\n value,\n };\n }), onSelectChange: (event) => {\n this.setSearchResultsPerPage(Number(event.detail));\n this.setSearchResultsPage(1);\n } })))));\n }\n}, [0, \"searchcraft-search-results-per-page\", {\n \"increment\": [8],\n \"customStyles\": [1, \"custom-styles\"],\n \"searchTerm\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsCount\": [32],\n \"searchResultsPagesCount\": [32],\n \"initialSearchResultsPerPage\": [32],\n \"setSearchResultsPerPage\": [32],\n \"setSearchResultsPage\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-search-results-per-page\", \"searchcraft-select\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-search-results-per-page\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftSearchResultsPerPage$1);\n }\n break;\n case \"searchcraft-select\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftSearchResultsPerPage = SearchcraftSearchResultsPerPage$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftSearchResultsPerPage, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-search-results-per-page.js.map","import { p as proxyCustomElement, H } from './p-5365011f.js';\n\nconst styles = `:root{--sc-text-base-size: 1em;--sc-text-scale-ratio: 1.1;--sc-font-family: sans-serif;--sc-font-bold: 700;--sc-font-normal: 400;--sc-heading-1-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-2-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-3-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-4-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-5-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-6-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) );--sc-body-font-size: calc(var(--sc-text-base-size));--sc-body-small-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) )}:root{--sc-border-radius: 8px;--sc-border-radius-sm: calc(var(--sc-border-radius) / 2);--sc-border-radius-lg: calc(var(--sc-border-radius) * 2)}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-neutral-primary: var(--sc-color-background, #ffffff);--sc-color-background-hover: hsl( from var(--sc-color-background) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-primary-hover: var(--sc-color-background-hover, #fafafa);--sc-color-background-active: hsl( from var(--sc-color-background) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-primary-active: var( --sc-color-background-active, #f7f7f7 );--sc-surface-neutral-secondary: var( --sc-color-background-secondary, var(--sc-color-background, #f3f3f3) );--sc-surface-neutral-secondary-hover: var( --sc-color-background-secondary-hover, var(--sc-color-background-hover, #e6e6e6) );--sc-surface-neutral-secondary-active: var( --sc-color-background-secondary-active, var(--sc-color-background-active, #e0e0e0) );--sc-surface-neutral-light: #ffffff;--sc-content-neutral-primary: var(--sc-color-foreground, #292929);--sc-color-foreground-secondary: hsl( from var(--sc-color-foreground) h s clamp(10, calc(l + 5), 90) );--sc-content-neutral-secondary: var(--sc-color-foreground-secondary, #404040);--sc-border-neutral: rgba(0, 0, 0, 0.1);--sc-surface-brand-primary: var(--sc-color-brand, #000000);--sc-color-brand-hover: hsl( from var(--sc-color-brand) h s clamp(20, calc(l + 5), 95) );--sc-surface-brand-primary-hover: var(--sc-color-brand-hover, #2e2e2e);--sc-color-brand-active: hsl( from var(--sc-color-brand) h s clamp(10, calc(l - 5), 85) );--sc-surface-brand-primary-active: var(--sc-color-brand-active, #292929);--sc-surface-brand-secondary: var( --sc-color-brand-secondary, var(--sc-color-brand, #e6e6e6) );--sc-surface-brand-secondary-hover: var( --sc-color-brand-secondary-hover, var(--sc-color-brand-hover, #ebebeb) );--sc-surface-brand-secondary-active: var( --sc-color-brand-secondary-active, var(--sc-color-brand-active, #e0e0e0) );--sc-content-brand: var( --sc-color-brand-text, var(--sc-surface-brand-primary) );--sc-content-brand-on-primary: #ffffff;--sc-border-brand: var(--sc-surface-brand-primary);--sc-surface-success-primary: var(--sc-color-success, #008000);--sc-color-success-primary-hover: hsl(from var(--sc-color-success) h s 30);--sc-surface-success-primary-hover: var( --sc-color-success-primary-hover, #009900 );--sc-color-success-primary-active: hsl(from var(--sc-color-success) h s 20);--sc-surface-success-primary-active: var( --sc-color-success-primary-active, #006600 );--sc-color-success-secondary: hsl(from var(--sc-color-success) h s 90);--sc-surface-success-secondary: var(--sc-color-success-secondary, #ccffcc);--sc-color-success-secondary-hover: hsl( from var(--sc-color-success-secondary) h s 95 );--sc-surface-success-secondary-hover: var( --sc-color-success-secondary-hover, #e6ffe6 );--sc-color-success-secondary-active: hsl( from var(--sc-color-success-secondary) h s 85 );--sc-surface-success-secondary-active: var( --sc-color-success-secondary-active, #b2ffb2 );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30) );--sc-content-success-on-primary: #ffffff;--sc-border-success: var(--sc-surface-success-primary);--sc-surface-caution-primary: var(--sc-color-caution, #cc6600);--sc-color-caution-primary-hover: hsl(from var(--sc-color-caution) h s 30);--sc-surface-caution-primary-hover: var( --sc-color-caution-primary-hover, #e57300 );--sc-color-caution-primary-active: hsl(from var(--sc-color-caution) h s 20);--sc-surface-caution-primary-active: var( --sc-color-caution-primary-active, #b25a00 );--sc-color-caution-secondary: hsl(from var(--sc-color-caution) h s 90);--sc-surface-caution-secondary: var(--sc-color-caution-secondary, #ffd9b3);--sc-color-caution-secondary-hover: hsl( from var(--sc-color-caution-secondary) h s 95 );--sc-surface-caution-secondary-hover: var( --sc-color-caution-secondary-hover, #ffe5cc );--sc-color-caution-secondary-active: hsl( from var(--sc-color-caution-secondary) h s 85 );--sc-surface-caution-secondary-active: var( --sc-color-caution-secondary-active, #ffcc99 );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30) );--sc-content-caution-on-primary: #ffffff;--sc-border-caution: var(--sc-surface-caution-primary);--sc-surface-danger-primary: var(--sc-color-danger, #cc0000);--sc-color-danger-primary-hover: hsl(from var(--sc-color-danger) h s 30);--sc-surface-danger-primary-hover: var( --sc-color-danger-primary-hover, #e50000 );--sc-color-danger-primary-active: hsl(from var(--sc-color-danger) h s 20);--sc-surface-danger-primary-active: var( --sc-color-danger-primary-active, #b30000 );--sc-color-danger-secondary: hsl(from var(--sc-color-danger) h s 90);--sc-surface-danger-secondary: var(--sc-color-danger-secondary, #ffcccc);--sc-color-danger-secondary-hover: hsl( from var(--sc-color-danger-secondary) h s 95 );--sc-surface-danger-secondary-hover: var( --sc-color-danger-secondary-hover, #ffe7e7 );--sc-color-danger-secondary-active: hsl( from var(--sc-color-danger-secondary) h s 85 );--sc-surface-danger-secondary-active: var( --sc-color-danger-secondary-active, #ffb3b3 );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30) );--sc-content-danger-on-primary: #ffffff;--sc-border-danger: var(--sc-surface-danger-primary);--sc-color-disabled: hsl(from var(--sc-color-page-primary) h s calc(l * 0.5));--sc-surface-disabled: var(--sc-color-disabled, #d9d9d9);--sc-color-disabled-text: hsl( from var(--sc-color-text-primary) h s calc(l * 0.5) );--sc-content-disabled: var(--sc-color-disabled-text, #737373);--sc-content-disabled-on-disabled: var(--sc-color-disabled-text, #737373)}@supports(hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){:root{--sc-color-background-hover: hsl( from var(--sc-color-background) h s clamp(10%, calc(l + 5%), 95%) );--sc-color-background-active: hsl( from var(--sc-color-background) h s clamp(5%, calc(l - 5%), 90%) );--sc-color-foreground-secondary: hsl( from var(--sc-color-foreground) h s clamp(10%, calc(l + 5%), 90%) );--sc-color-brand-hover: hsl( from var(--sc-color-brand) h s clamp(20%, calc(l + 5%), 95%) );--sc-color-brand-active: hsl( from var(--sc-color-brand) h s clamp(10%, calc(l - 5%), 85%) );--sc-color-success-primary-hover: hsl(from var(--sc-color-success) h s 30%);--sc-color-success-primary-active: hsl( from var(--sc-color-success) h s 20% );--sc-color-success-secondary: hsl(from var(--sc-color-success) h s 90%);--sc-color-success-secondary-hover: hsl( from var(--sc-color-success-secondary) h s 95% );--sc-color-success-secondary-active: hsl( from var(--sc-color-success-secondary) h s 85% );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30%) );--sc-color-caution-primary-hover: hsl(from var(--sc-color-caution) h s 30%);--sc-color-caution-primary-active: hsl( from var(--sc-color-caution) h s 20% );--sc-color-caution-secondary: hsl(from var(--sc-color-caution) h s 90%);--sc-color-caution-secondary-hover: hsl( from var(--sc-color-caution-secondary) h s 95% );--sc-color-caution-secondary-active: hsl( from var(--sc-color-caution-secondary) h s 85% );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30%) );--sc-color-danger-primary-hover: hsl(from var(--sc-color-danger) h s 30%);--sc-color-danger-primary-active: hsl(from var(--sc-color-danger) h s 20%);--sc-color-danger-secondary: hsl(from var(--sc-color-danger) h s 90%);--sc-color-danger-secondary-hover: hsl( from var(--sc-color-danger-secondary) h s 95% );--sc-color-danger-secondary-active: hsl( from var(--sc-color-danger-secondary) h s 85% );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30%) )}}.searchcraft-search-result-container{all:unset;align-items:flex-start;border-radius:var(--sc-border-radius-lg);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:calc(--sc-border-radius-lg - 8px);border-radius:calc(var(--sc-border-radius-lg) - 8px);width:100%}@media(min-width: 768px){.searchcraft-search-result-image{width:200px}}.searchcraft-base-search-result-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin:0}.searchcraft-base-search-result-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-disabled);margin:0}.searchcraft-base-search-result-body-content{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-neutral-secondary);margin:0}.searchcraft-base-search-result-footer-content{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-disabled);margin:0}.searchcraft-base-ad{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);background-color:var(--sc-surface-neutral-primary);border-radius:16px;border:1px solid blue}.searchcraft-base-ad-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-base-ad-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);margin:0;color:inherit}.searchcraft-base-ad-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-base-ad-image{max-width:var(--sc-popover-list-item-image-size);max-height:var(--sc-popover-list-item-image-size)}.searchcraft-base-ad-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-search-results-container{display:flex;flex-direction:column;justify-content:center;gap:16px}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);background:none;border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;gap:4px;padding:12px;position:relative}.searchcraft-button.searchcraft-button-disabled{cursor:not-allowed}.searchcraft-button-primary{background-color:var(--sc-surface-brand-primary);color:var(--sc-content-brand-on-primary);font-weight:var(--sc-font-bold)}.searchcraft-button-primary:hover{background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button-primary:focus{border-color:var(--sc-border-primary)}.searchcraft-button-primary:active{background-color:var(--sc-surface-brand-primary-active)}.searchcraft-button-primary.searchcraft-button-disabled,.searchcraft-button-primary.searchcraft-button-disabled:hover,.searchcraft-button-primary.searchcraft-button-disabled:focus,.searchcraft-button-primary.searchcraft-button-disabled:active{background-color:var(--sc-surface-disabled);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-tertiary{background-color:var(--sc-surface-neutral-primary);color:var(--sc-content-brand);font-weight:var(--sc-font-normal)}.searchcraft-button-tertiary:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-button-tertiary:focus{background-color:var(--sc-surface-neutral-light);border-color:var(--sc-border-primary)}.searchcraft-button-tertiary:active{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-button-tertiary.searchcraft-button-disabled,.searchcraft-button-tertiary.searchcraft-button-disabled:hover,.searchcraft-button-tertiary.searchcraft-button-disabled:focus,.searchcraft-button-tertiary.searchcraft-button-disabled:active{background-color:var(--sc-surface-neutral-light);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-error-message{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-danger);margin:0}.filtersListContainer{width:100%}.filterCheckboxLabel{align-items:center;color:var(--sc-content-brand);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-neutral-secondary);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-neutral-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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-bold)}:root{--sc-input-border-radius: var(--sc-border-radius);--sc-input-search-icon-size: 20px;--sc-input-clear-icon-size: 20px;--sc-input-padding-left: 44px;--sc-input-padding-right: 44px}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);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);color:var(--sc-content-neutral-secondary)}.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);color:var(--sc-content-brand)}.searchcraft-input-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin-top:4px;margin-bottom:4px}:root{--sc-popover-form-border-radius: var(--sc-border-radius);--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}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);border-radius:calc(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);border:0;outline:0;padding:0;flex-shrink:0;background:none;cursor:pointer;padding-left:12px;padding-right:12px}.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(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);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(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);outline-width:1px;outline-color:var(--sc-border-neutral)}.searchcraft-popover-form-fullscreen searchcraft-popover-list-view{overflow:scroll}.searchcraft-popover-list-item-ad{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);border:1px solid blue}.searchcraft-popover-list-item-ad:focus{background-color:var(--sc-surface-neutral-secondary-active);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item-ad:hover{background-color:var(--sc-surface-neutral-secondary-hover);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item-ad-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-ad-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-ad-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-ad-image{max-width:var(--sc-popover-list-item-image-size);max-height:var(--sc-popover-list-item-image-size)}.searchcraft-popover-list-item-ad-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-popover-list-item{all:unset;color:var(--sc-content-neutral-secondary);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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);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{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-primary);margin:0}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);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)}.searchcraft-pagination{display:inline-grid;gap:16px;grid-template-columns:repeat(3, auto);grid-template-rows:1fr}.searchcraft-pagination-list{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius);display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0;width:auto}.searchcraft-pagination-list li{border-right:1px solid var(--sc-border-neutral);height:100%;min-height:44px;width:44px}.searchcraft-pagination-list li:last-child{border-right:none}.searchcraft-pagination-item{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);align-items:center;background-color:var(--sc-surface-neutral-primary);border:none;display:flex;height:100%;justify-content:center;width:100%}.searchcraft-pagination-item-active{background-color:var(--sc-surface-brand-secondary);font-weight:var(--sc-font-bold)}.searchcraft-pagination-control{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius)}.searchcraft-pagination-range{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);align-items:center;display:flex}.searchcraft-select{display:flex;flex-direction:column;gap:4px}.searchcraft-select-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-bold)}.searchcraft-select-input-wrapper{position:relative}.searchcraft-select-input{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);appearance:none;background-color:var(--sc-surface-neutral-secondary);border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;height:44px;padding:0 44px 0 16px;width:100%}.searchcraft-select-input:hover{background-color:var(--sc-surface-neutral-secondary-hover)}.searchcraft-select-input:active{background-color:var(--sc-surface-neutral-secondary-active)}.searchcraft-select-input:focus{border-color:var(--sc-border-brand);outline:none}.searchcraft-select-input-icon{pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.searchcraft-select-caption{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size)}.searchcraft-search-results-per-page{display:flex}.searchcraft-search-results-per-page-select{align-items:center;display:flex;gap:12px}.searchcraft-search-results-per-page-select-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size)}.searchcraft-search-results-per-page-select-input{min-width:120px}/*# sourceMappingURL=hologram.css.map */\n`;\n\nconst SearchcraftTheme$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftTheme extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The name of the theme.\n */\n theme = 'light';\n /**\n * The custom theme configuration object.\n */\n customTheme = '[]';\n camelToKebab = (string) => {\n return string\n .replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`) // Convert uppercase letters to `-lowercase`\n .toLowerCase(); // Ensure the whole string is in lowercase\n };\n componentDidLoad() {\n // Inject style element\n const styleElement = document.querySelector('#searchcraft-theme') ||\n document.createElement('style');\n styleElement.innerHTML = styles;\n styleElement.id = 'searchcraft-theme';\n const head = document.head || document.getElementsByTagName('head')[0];\n if (!head.contains(styleElement)) {\n if (head.firstChild) {\n head.insertBefore(styleElement, head.firstChild);\n }\n else {\n head.appendChild(styleElement);\n }\n }\n // Add theme name to body\n document.body.dataset.theme = this.theme;\n // Add CSS variables from customTheme configuration to document\n Object.entries(JSON.parse(this.customTheme)).map(([key, value]) => {\n document.documentElement.style.setProperty(`--${this.camelToKebab(key)}`, `${value}`);\n });\n }\n render() {\n return;\n }\n}, [0, \"searchcraft-theme\", {\n \"theme\": [1],\n \"customTheme\": [1, \"custom-theme\"]\n }]);\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, SearchcraftTheme$1);\n }\n break;\n } });\n}\n\nconst SearchcraftTheme = SearchcraftTheme$1;\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 { SearchcraftBaseSearchResultAd as SearchcraftBaseSearchResultAdElement, defineCustomElement as defineSearchcraftBaseSearchResultAd } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-base-search-result-ad.js\";\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 { SearchcraftPagination as SearchcraftPaginationElement, defineCustomElement as defineSearchcraftPagination } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-pagination.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 { SearchcraftPopoverListItemAd as SearchcraftPopoverListItemAdElement, defineCustomElement as defineSearchcraftPopoverListItemAd } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-list-item-ad.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 { SearchcraftSearchResultsPerPage as SearchcraftSearchResultsPerPageElement, defineCustomElement as defineSearchcraftSearchResultsPerPage } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-search-results-per-page.js\";\nimport { SearchcraftSelect as SearchcraftSelectElement, defineCustomElement as defineSearchcraftSelect } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-select.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 SearchcraftBaseSearchResultAdEvents = NonNullable<unknown>;\n\nexport const SearchcraftBaseSearchResultAd: StencilReactComponent<SearchcraftBaseSearchResultAdElement, SearchcraftBaseSearchResultAdEvents> = /*@__PURE__*/ createComponent<SearchcraftBaseSearchResultAdElement, SearchcraftBaseSearchResultAdEvents>({\n tagName: 'searchcraft-base-search-result-ad',\n elementClass: SearchcraftBaseSearchResultAdElement,\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 SearchcraftBaseSearchResultAdEvents,\n defineCustomElement: defineSearchcraftBaseSearchResultAd\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 SearchcraftPaginationEvents = NonNullable<unknown>;\n\nexport const SearchcraftPagination: StencilReactComponent<SearchcraftPaginationElement, SearchcraftPaginationEvents> = /*@__PURE__*/ createComponent<SearchcraftPaginationElement, SearchcraftPaginationEvents>({\n tagName: 'searchcraft-pagination',\n elementClass: SearchcraftPaginationElement,\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 SearchcraftPaginationEvents,\n defineCustomElement: defineSearchcraftPagination\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 SearchcraftPopoverListItemAdEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverListItemAd: StencilReactComponent<SearchcraftPopoverListItemAdElement, SearchcraftPopoverListItemAdEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverListItemAdElement, SearchcraftPopoverListItemAdEvents>({\n tagName: 'searchcraft-popover-list-item-ad',\n elementClass: SearchcraftPopoverListItemAdElement,\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 SearchcraftPopoverListItemAdEvents,\n defineCustomElement: defineSearchcraftPopoverListItemAd\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 SearchcraftSearchResultsPerPageEvents = NonNullable<unknown>;\n\nexport const SearchcraftSearchResultsPerPage: StencilReactComponent<SearchcraftSearchResultsPerPageElement, SearchcraftSearchResultsPerPageEvents> = /*@__PURE__*/ createComponent<SearchcraftSearchResultsPerPageElement, SearchcraftSearchResultsPerPageEvents>({\n tagName: 'searchcraft-search-results-per-page',\n elementClass: SearchcraftSearchResultsPerPageElement,\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 SearchcraftSearchResultsPerPageEvents,\n defineCustomElement: defineSearchcraftSearchResultsPerPage\n});\n\ntype SearchcraftSelectEvents = { onSelectChange: EventName<CustomEvent<string>> };\n\nexport const SearchcraftSelect: StencilReactComponent<SearchcraftSelectElement, SearchcraftSelectEvents> = /*@__PURE__*/ createComponent<SearchcraftSelectElement, SearchcraftSelectEvents>({\n tagName: 'searchcraft-select',\n elementClass: SearchcraftSelectElement,\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: { onSelectChange: 'selectChange' } as SearchcraftSelectEvents,\n defineCustomElement: defineSearchcraftSelect\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\n/**\n * The props for the SearchcraftBaseSearchResults component.\n */\ninterface SearchcraftBaseSearchResultsProps\n extends Components.SearchcraftBaseSearchResults {}\n\n/**\n * A component that renders a list of search results with customizable styles, layout, and link behavior.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftBaseSearchResults } from '@searchcraft/react-sdk';\n * import searchResultMappings from './searchResultMappings';\n *\n * const MySearchComponent = () => {\n * return (\n * <SearchcraftBaseSearchResults\n * searchResultMappings={searchResultMappings}\n * resultImagePlacement=\"left\"\n * buttonLabel=\"View More\"\n * buttonTarget=\"_blank\"\n * buttonRel=\"noopener\"\n * containerTarget=\"_self\"\n * containerRel=\"nofollow\"\n * onNoResults={() => console.log(\"No search results found\")}\n * />\n * );\n * };\n *\n * export default MySearchComponent;\n * ```\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\n/**\n * The props for the SearchcraftFilterPanel.\n */\ninterface SearchcraftFilterPanelProps\n extends Components.SearchcraftFilterPanel {}\n\n/**\n * A component that represents a filter panel UI view, allowing users to refine and control their search queries by applying various filter criteria.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftFilterPanel } from '@searchcraft/react-sdk';\n * import filterItems from './filterItems';\n *\n * const MyFilterComponent = () => {\n * return (\n * <SearchcraftFilterPanel items={filterItems} />\n * );\n * };\n *\n * export default MyFilterComponent;\n * ```\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\n/**\n * The props for the SearchcraftInputForm.\n */\ninterface SearchcraftInputFormProps extends Components.SearchcraftInputForm {}\n\n/**\n * A component that provides a user-friendly interface for querying an indexed dataset,\n * enabling users to easily search large collections of data. It abstracts the complexities\n * of index-based searching, making it accessible to users of all technical levels.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftInputForm } from '@searchcraft/react-sdk';\n * import searchcraftConfig from './searchcraftConfig';\n *\n * const MySearchComponent = () => {\n * const handleQuerySubmit = (event: CustomEvent<string>) => {\n * console.log(\"Query submitted\", event.detail);\n * };\n *\n * return (\n * <SearchcraftInputForm\n * config={searchcraftConfig}\n * autoSearch={true}\n * buttonPlacement=\"right\"\n * buttonLabel=\"Search\"\n * inputLabel=\"Search Database\"\n * customStyles={{ border: \"1px solid gray\", padding: \"5px\" }}\n * placeholderValue=\"Search here...\"\n * searchTerm=\"\"\n * onQuerySubmit={handleQuerySubmit}\n * onInputCleared={() => console.log(\"Input cleared\")}\n * onNoResultsReceived={() => console.log(\"No results found\")}\n * onInputFocus={() => console.log(\"Input focused\")}\n * onInputBlur={() => console.log(\"Input blurred\")}\n * onInputInit={() => console.log(\"Input initialized\")}\n * />\n * );\n * };\n *\n * export default MySearchComponent;\n * ```\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\n/**\n * The props for the SearchcraftPopoverButton.\n */\ninterface SearchcraftPopoverButtonProps\n extends Components.SearchcraftPopoverButton {}\n\n/**\n * A button component that, when clicked, toggles the visibility of a popover.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftPopoverButton } from '@searchcraft/react-sdk';\n *\n * const MyPopoverTrigger = () => {\n * return (\n * <SearchcraftPopoverButton>\n * Open Popover\n * </SearchcraftPopoverButton>\n * );\n * };\n *\n * export default MyPopoverTrigger;\n * ```\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\n/**\n * The props for the SearchcraftPopoverForm component.\n */\ninterface SearchcraftPopoverFormProps\n extends Components.SearchcraftPopoverForm {}\n\n/**\n * A component that displays search results in a popover container that dynamically appears\n * when the user interacts with a search input field, or when a popover button is clicked.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftPopoverForm } from '@searchcraft/react-sdk';\n * import searchcraftConfig from './searchcraftConfig';\n * import popoverResultMappings from './popoverResultMappings';\n *\n * const MyPopoverSearch = () => {\n * return (\n * <SearchcraftPopoverForm\n * config={searchcraftConfig}\n * type=\"fullscreen\"\n * popoverResultMappings={popoverResultMappings}\n * hotkey=\"k\"\n * hotkeyModifier=\"meta\"\n * />\n * );\n * };\n *\n * export default MyPopoverSearch;\n * ```\n */\nconst SearchcraftPopoverForm: FC<SearchcraftPopoverFormProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftPopoverForm };\nexport type { SearchcraftPopoverFormProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\n\nimport { SearchcraftResultsInfo as Component } from '../stencil-web-components/components';\n\n/**\n * The Props for the SearchcraftResultsInfo component.\n */\ninterface SearchcraftResultsInfoProps\n extends Components.SearchcraftResultsInfo {}\n\n/**\n * This React component is designed to display the number of results returned from a search query.\n *\n * @example\n * ```tsx\n * import React, { useEffect, useRef } from 'react';\n * import { SearchcraftResultsInfo } from '@searchcraft/react-sdk';\n *\n * const MyResultsInfo = () => {\n * const ref = useRef();\n *\n * useEffect(() => {\n * ref.current.customFormatter = (range, count, responseTime) =>\n * `${range[0]}-${range[1]} of ${count} results in ${responseTime}ms`;\n * });\n *\n * return <SearchcraftResultsInfo ref={ref} />;\n * };\n *\n * export default MyResultsInfo;\n * ```\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\n/**\n * The Props for the SearchcraftTheme component.\n */\ninterface SearchcraftThemeProps extends Components.SearchcraftTheme {}\n\n/**\n * A component that applies Searchcraft's built-in CSS theme to your page.\n * It does not render anything visible—its only function is to manage the CSS styles on the page.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftTheme } from '@searchcraft/react-sdk';\n *\n * const MyThemeProvider = () => {\n * return <SearchcraftTheme theme=\"light\" customTheme={'[]'} />;\n * };\n *\n * export default MyThemeProvider;\n * ```\n */\nconst SearchcraftTheme: FC<SearchcraftThemeProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftTheme };\nexport type { SearchcraftThemeProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\n\nimport { SearchcraftPagination as Component } from '../stencil-web-components/components';\n\n/**\n * The props for the SearchcraftPagination component.\n */\ninterface SearchcraftPaginationProps extends Components.SearchcraftPagination {}\n\n/**\n * This React component is designed to facilitate pagination of search results.\n * Once a query is submitted, calculates the number for pages.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftPagination } from '@searchcraft/react-sdk';\n *\n * const MyPaginationComponent = () => {\n * return (\n * // other searchcraft components\n * <SearchcraftPagination />\n * );\n * };\n *\n * export default MyPaginationComponent;\n * ```\n */\nconst SearchcraftPagination: FC<SearchcraftPaginationProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftPagination };\nexport type { SearchcraftPaginationProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\n\nimport { SearchcraftSearchResultsPerPage as Component } from '../stencil-web-components/components';\n\n/**\n * The Props for the SearchcraftSearchResultsPerPage component.\n */\ninterface SearchcraftSearchResultsPerPageProps\n extends Components.SearchcraftSearchResultsPerPage {}\n\n/**\n * This React component is designed to choose the number of search results displayed.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftSearchResultsPerPage } from '@searchcraft/react-sdk';\n *\n * const MyResultsPerPage = () => {\n * return <SearchcraftSearchResultsPerPage increment={20} />;\n * };\n *\n * export default MyResultsPerPage;\n * ```\n */\nconst SearchcraftSearchResultsPerPage: FC<\n SearchcraftSearchResultsPerPageProps\n> = (props) => <Component {...props} />;\n\nexport { SearchcraftSearchResultsPerPage };\nexport type { SearchcraftSearchResultsPerPageProps };\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","SearchcraftBaseSearchResultAd","__publicField","ad","defineCustomElement","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","L","N","me","w","l","s","p","y","S","F","q","M","f","g","I","G","W","V","U","$","O","z","E","K","T","C","Q","J","P","Y","X","Z","ee","te","ne","d","B","R","x","b","re","A","D","oe","ie","ae","se","t","a","ue","ce","de","le","ge","u","initialSearchcraftStateValues","useSearchcraftStore","set","get","functions","data","core","searchcraftInstance","debug","logger","fieldName","currentPaths","currentValues","handleSearchcraftResponse","response","items","facetsFromResponse","handleAdResponse","adClientResponseItems","isVisible","mode","searchTerm","page","perPage","getDocumentValueFromSearchResultMapping","document","mapping","fieldNameDetails","valueFound","getFormattedTimeFromNow","getMillis","unit","formatNumberWithCommas","number","timestamp","now","inputTime","diffInSeconds","minutes","hours","days","years","SearchcraftBaseSearchResult","searchcraft","document_position","search_term","number_of_documents","_e","_f","_g","styles","imageContainer","contentContainer","parseCustomStyles","serializeStyles","SearchcraftErrorMessage","SearchcraftBaseSearchResults$1","currentState","serializedStyles","item","defineCustomElement$1","defineCustomElement$4","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","granularityValue","SearchcraftFilterPanel","SearchcraftInputLabel","version","description","author","license","main","types","collection","unpkg","repository","files","scripts","dependencies","devDependencies","packageJson","SearchcraftInput","input","validatedCustomStyles","isShowingClearButton","inputGridClassNames","inputGridStyles","SearchcraftInputForm","SearchcraftPagination$1","SearchcraftPagination","SearchcraftPopoverButton$1","SearchcraftPopoverButton","SearchcraftPopoverListItem","SearchcraftPopoverListItemAd","SearchcraftPopoverListView","SearchcraftPopoverForm$1","computedStyle","hostElementInput","direction","listItems","currentIndex","isListViewVisible","popoverFormClassNames","defineCustomElement$8","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","SearchcraftPopoverForm","SearchcraftResultsInfo$1","SearchcraftResultsInfo","SearchcraftSelect","selected","SearchcraftSearchResultsPerPage$1","SearchcraftSearchResultsPerPage","SearchcraftTheme$1","string","styleElement","head","SearchcraftTheme","createComponent","SearchcraftBaseSearchResultsElement","defineSearchcraftBaseSearchResults","SearchcraftFilterPanelElement","defineSearchcraftFilterPanel","SearchcraftInputFormElement","defineSearchcraftInputForm","SearchcraftPaginationElement","defineSearchcraftPagination","SearchcraftPopoverButtonElement","defineSearchcraftPopoverButton","SearchcraftPopoverFormElement","defineSearchcraftPopoverForm","SearchcraftResultsInfoElement","defineSearchcraftResultsInfo","SearchcraftSearchResultsPerPageElement","defineSearchcraftSearchResultsPerPage","SearchcraftThemeElement","defineSearchcraftTheme","jsx"],"mappings":"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","x_google_ignoreList":[27,28]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../javascript-sdk/dist/components/p-5365011f.js","../../javascript-sdk/dist/components/p-de4a48b1.js","../../javascript-sdk/dist/components/p-38419178.js","../../javascript-sdk/dist/components/p-6104fe5d.js","../../javascript-sdk/dist/components/p-97332d3e.js","../../javascript-sdk/dist/components/p-d9551738.js","../../javascript-sdk/dist/components/p-0e393fe1.js","../../javascript-sdk/dist/components/searchcraft-base-search-results.js","../../javascript-sdk/dist/components/p-5cdc6210.js","../../javascript-sdk/dist/components/p-71cc28c1.js","../../javascript-sdk/dist/components/p-fc7cda96.js","../../javascript-sdk/dist/components/p-4e9cd62e.js","../../javascript-sdk/dist/components/p-433f974c.js","../../javascript-sdk/dist/components/searchcraft-filter-panel.js","../../javascript-sdk/dist/components/p-e55a7970.js","../../javascript-sdk/dist/components/p-6e2eef88.js","../../javascript-sdk/dist/components/searchcraft-input-form.js","../../javascript-sdk/dist/components/searchcraft-pagination.js","../../javascript-sdk/dist/components/searchcraft-popover-button.js","../../javascript-sdk/dist/components/p-ec0d230e.js","../../javascript-sdk/dist/components/p-bff4d3fc.js","../../javascript-sdk/dist/components/p-25ee7496.js","../../javascript-sdk/dist/components/searchcraft-popover-form.js","../../javascript-sdk/dist/components/searchcraft-results-info.js","../../javascript-sdk/dist/components/p-bf6a086a.js","../../javascript-sdk/dist/components/searchcraft-search-results-per-page.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","../src/components/SearchcraftPagination.tsx","../src/components/SearchcraftSearchResultsPerPage.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","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\n\nconst SearchcraftBaseSearchResultAd = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResultAd extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n adClientResponseItem;\n connectedCallback() {\n if (this.adClientResponseItem?.admAd?.impression_url) {\n fetch(this.adClientResponseItem?.admAd?.impression_url);\n }\n }\n renderADMProductAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-base-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-base-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-base-ad-image' }))), h(\"div\", { class: 'searchcraft-base-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-base-ad-title' }, ad.term), h(\"p\", { class: 'searchcraft-base-ad-subtitle' }, ad.price))));\n }\n renderADMTextAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-base-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-base-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-base-ad-image' }))), h(\"div\", { class: 'searchcraft-base-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-base-ad-title' }, ad.term))));\n }\n renderNativoAd() { }\n renderAdPlaceholder() {\n return h(\"p\", null, \"Ad placeholder\");\n // return;\n }\n render() {\n if (!this.adClientResponseItem) {\n return this.renderAdPlaceholder();\n }\n switch (this.adClientResponseItem.type) {\n case 'adm-product-ad':\n return this.renderADMProductAd();\n case 'adm-text-ad':\n return this.renderADMTextAd();\n case 'nativo-ad':\n return this.renderNativoAd();\n }\n }\n}, [0, \"searchcraft-base-search-result-ad\", {\n \"adClientResponseItem\": [16]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-base-search-result-ad\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-base-search-result-ad\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftBaseSearchResultAd);\n }\n break;\n } });\n}\n\nexport { SearchcraftBaseSearchResultAd as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-de4a48b1.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 L = Object.defineProperty;\nvar N = (n, t, r) => t in n ? L(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;\nvar h = (n, t, r) => N(n, typeof t != \"symbol\" ? t + \"\" : t, r);\nvar _ = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = \"DEBUG\", n[n.INFO = 1] = \"INFO\", n[n.WARN = 2] = \"WARN\", n[n.ERROR = 3] = \"ERROR\", n))(_ || {});\nclass me {\n constructor(t) {\n h(this, \"logLevel\");\n h(this, \"logFormatter\");\n this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(t, r) {\n return `[${_[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 log(t, r) {\n switch (t) {\n case 0:\n this.debug(r);\n break;\n case 1:\n this.info(r);\n break;\n case 2:\n this.warn(r);\n break;\n case 3:\n this.error(r);\n break;\n }\n }\n}\nfunction w(n, t, r, o) {\n return new (r || (r = Promise))(function(a, i) {\n function e(u) {\n try {\n l(o.next(u));\n } catch (s) {\n i(s);\n }\n }\n function c(u) {\n try {\n l(o.throw(u));\n } catch (s) {\n i(s);\n }\n }\n function l(u) {\n var s;\n u.done ? a(u.value) : (s = u.value, s instanceof r ? s : new r(function(p) {\n p(s);\n })).then(e, c);\n }\n l((o = o.apply(n, [])).next());\n });\n}\nfunction y(n, t) {\n var r, o, a, i, e = { label: 0, sent: function() {\n if (1 & a[0]) throw a[1];\n return a[1];\n }, trys: [], ops: [] };\n return i = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == \"function\" && (i[Symbol.iterator] = function() {\n return this;\n }), i;\n function c(l) {\n return function(u) {\n return function(s) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n for (; i && (i = 0, s[0] && (e = 0)), e; ) try {\n if (r = 1, o && (a = 2 & s[0] ? o.return : s[0] ? o.throw || ((a = o.return) && a.call(o), 0) : o.next) && !(a = a.call(o, s[1])).done) return a;\n switch (o = 0, a && (s = [2 & s[0], a.value]), s[0]) {\n case 0:\n case 1:\n a = s;\n break;\n case 4:\n return e.label++, { value: s[1], done: !1 };\n case 5:\n e.label++, o = s[1], s = [0];\n continue;\n case 7:\n s = e.ops.pop(), e.trys.pop();\n continue;\n default:\n if (a = e.trys, !((a = a.length > 0 && a[a.length - 1]) || s[0] !== 6 && s[0] !== 2)) {\n e = 0;\n continue;\n }\n if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {\n e.label = s[1];\n break;\n }\n if (s[0] === 6 && e.label < a[1]) {\n e.label = a[1], a = s;\n break;\n }\n if (a && e.label < a[2]) {\n e.label = a[2], e.ops.push(s);\n break;\n }\n a[2] && e.ops.pop(), e.trys.pop();\n continue;\n }\n s = t.call(n, e);\n } catch (p) {\n s = [6, p], o = 0;\n } finally {\n r = a = 0;\n }\n if (5 & s[0]) throw s[1];\n return { value: s[0] ? s[1] : void 0, done: !0 };\n }([l, u]);\n };\n }\n}\nvar S = { exclude: [] }, F = {}, q = { timeout: \"true\" }, v = function(n, t) {\n typeof window < \"u\" && (F[n] = t);\n}, j = function() {\n return Object.fromEntries(Object.entries(F).filter(function(n) {\n var t, r = n[0];\n return !(!((t = S == null ? void 0 : S.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 I(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 o = new Uint32Array([t, t, t, t]);\n ((function(i, e) {\n for (var c = i.byteLength / 16 | 0, l = new Uint32Array(i, 0, 4 * c), u = 0; u < c; u++) {\n var s = l.subarray(4 * u, 4 * (u + 1));\n s[0] = Math.imul(s[0], f[0]), s[0] = g(s[0], 15), s[0] = Math.imul(s[0], f[1]), e[0] = e[0] ^ s[0], e[0] = g(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, s[1] = Math.imul(s[1], f[1]), s[1] = g(s[1], 16), s[1] = Math.imul(s[1], f[2]), e[1] = e[1] ^ s[1], e[1] = g(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, s[2] = Math.imul(s[2], f[2]), s[2] = g(s[2], 17), s[2] = Math.imul(s[2], f[3]), e[2] = e[2] ^ s[2], e[2] = g(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, s[3] = Math.imul(s[3], f[3]), s[3] = g(s[3], 18), s[3] = Math.imul(s[3], f[0]), e[3] = e[3] ^ s[3], e[3] = g(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;\n }\n }))(n, o), function(i, e) {\n var c = i.byteLength / 16 | 0, l = i.byteLength % 16, u = new Uint32Array(4), s = new Uint8Array(i, 16 * c, l);\n switch (l) {\n case 15:\n u[3] = u[3] ^ s[14] << 16;\n case 14:\n u[3] = u[3] ^ s[13] << 8;\n case 13:\n u[3] = u[3] ^ s[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] ^ s[11] << 24;\n case 11:\n u[2] = u[2] ^ s[10] << 16;\n case 10:\n u[2] = u[2] ^ s[9] << 8;\n case 9:\n u[2] = u[2] ^ s[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] ^ s[7] << 24;\n case 7:\n u[1] = u[1] ^ s[6] << 16;\n case 6:\n u[1] = u[1] ^ s[5] << 8;\n case 5:\n u[1] = u[1] ^ s[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] ^ s[3] << 24;\n case 3:\n u[0] = u[0] ^ s[2] << 16;\n case 2:\n u[0] = u[0] ^ s[1] << 8;\n case 1:\n u[0] = u[0] ^ s[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, o), function(i, e) {\n e[0] = e[0] ^ i.byteLength, e[1] = e[1] ^ i.byteLength, e[2] = e[2] ^ i.byteLength, e[3] = e[3] ^ i.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, o);\n var a = new Uint8Array(o.buffer);\n return Array.from(a).map(function(i) {\n return i.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(o) {\n return Promise.race([o, G(t, r)]);\n }));\n}\nfunction V() {\n return w(this, void 0, void 0, function() {\n var n, t, r, o, a;\n return y(this, function(i) {\n switch (i.label) {\n case 0:\n return i.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (S == null ? void 0 : S.timeout) || 1e3, q)];\n case 1:\n return r = i.sent(), o = r.filter(function(e) {\n return e !== void 0;\n }), a = {}, o.forEach(function(e, c) {\n a[t[c]] = e;\n }), [2, U(a, S.exclude || [])];\n case 2:\n throw i.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction U(n, t) {\n var r = {}, o = function(i) {\n if (n.hasOwnProperty(i)) {\n var e = n[i];\n if (typeof e != \"object\" || Array.isArray(e)) t.includes(i) || (r[i] = e);\n else {\n var c = U(e, t.map(function(l) {\n return l.startsWith(i + \".\") ? l.slice(i.length + 1) : l;\n }));\n Object.keys(c).length > 0 && (r[i] = c);\n }\n }\n };\n for (var a in n) o(a);\n return r;\n}\nfunction $(n) {\n return w(this, void 0, void 0, function() {\n var t, r;\n return y(this, function(o) {\n switch (o.label) {\n case 0:\n return o.trys.push([0, 2, , 3]), [4, V()];\n case 1:\n return t = o.sent(), r = I(JSON.stringify(t)), [2, r.toString()];\n case 2:\n throw o.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction H(n) {\n for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);\n return t;\n}\nfunction O(n, t, r) {\n for (var o = [], a = 0; a < n[0].data.length; a++) {\n for (var i = [], e = 0; e < n.length; e++) i.push(n[e].data[a]);\n o.push(z(i));\n }\n var c = new Uint8ClampedArray(o);\n return new ImageData(c, t, r);\n}\nfunction z(n) {\n if (n.length === 0) return 0;\n for (var t = {}, r = 0, o = n; r < o.length; r++)\n t[i = o[r]] = (t[i] || 0) + 1;\n var a = n[0];\n for (var i in t) t[i] > t[a] && (a = parseInt(i, 10));\n return a;\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, o = [/(?<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 < o.length; r++) {\n var a = o[r], i = n.match(a);\n if (i && i.groups) return { name: t[i.groups.name] || i.groups.name, version: i.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 o = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), a = o.createBufferSource(), i = o.createOscillator();\n i.frequency.value = 1e3;\n var e, c = o.createDynamicsCompressor();\n c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, i.connect(c), c.connect(o.destination), i.start(), o.oncomplete = function(l) {\n e = l.renderedBuffer.getChannelData(0), t({ sampleHash: H(e), oscillator: i.type, maxChannels: o.destination.maxChannelCount, channelCountMode: a.channelCountMode });\n }, o.startRendering();\n } catch (l) {\n console.error(\"Error creating audio fingerprint:\", l), r(l);\n }\n })];\n });\n });\n});\nvar K = E().name !== \"SamsungBrowser\" ? 1 : 3, T = 280, k = 20;\nE().name != \"Firefox\" && v(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(n) {\n var t = Array.from({ length: K }, function() {\n return function() {\n var r = document.createElement(\"canvas\"), o = r.getContext(\"2d\");\n if (!o) return new ImageData(1, 1);\n r.width = T, r.height = k;\n var a = o.createLinearGradient(0, 0, r.width, r.height);\n a.addColorStop(0, \"red\"), a.addColorStop(0.16666666666666666, \"orange\"), a.addColorStop(0.3333333333333333, \"yellow\"), a.addColorStop(0.5, \"green\"), a.addColorStop(0.6666666666666666, \"blue\"), a.addColorStop(0.8333333333333334, \"indigo\"), a.addColorStop(1, \"violet\"), o.fillStyle = a, o.fillRect(0, 0, r.width, r.height);\n var i = \"Random Text WMwmil10Oo\";\n o.font = \"23.123px Arial\", o.fillStyle = \"black\", o.fillText(i, -5, 15), o.fillStyle = \"rgba(0, 0, 255, 0.5)\", o.fillText(i, -3.3, 17.7), o.beginPath(), o.moveTo(0, 0), o.lineTo(2 * r.width / 7, r.height), o.strokeStyle = \"white\", o.lineWidth = 2, o.stroke();\n var e = o.getImageData(0, 0, r.width, r.height);\n return e;\n }();\n });\n n({ commonImageDataHash: I(O(t, T, k).data.toString()).toString() });\n });\n});\nvar C, Q = [\"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\"], J = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction P(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 o = (r.getParameter(r.VENDOR) || \"\").toString(), a = (r.getParameter(r.RENDERER) || \"\").toString(), i = { vendor: o, renderer: a, version: (r.getParameter(r.VERSION) || \"\").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!a.length || !o.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 && (i.vendorUnmasked = c), l && (i.rendererUnmasked = l);\n }\n }\n return i;\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(o) {\n var a = function(i) {\n if (i.length === 0) return null;\n var e = {};\n i.forEach(function(u) {\n var s = String(u);\n e[s] = (e[s] || 0) + 1;\n });\n var c = i[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(i) {\n return o in i ? i[o] : void 0;\n }).filter(function(i) {\n return i !== void 0;\n }));\n a && (r[o] = a);\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(o) {\n matchMedia(\"(\".concat(r, \": \").concat(o, \")\")).matches && n.push(\"\".concat(r, \": \").concat(o));\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(o) {\n var a;\n w(this, void 0, void 0, function() {\n var i, 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, s);\n }))];\n case 1:\n return l.sent(), [3, 0];\n case 2:\n if ((i = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (e = i.style).setProperty(\"position\", \"fixed\"), e.setProperty(\"display\", \"block\", \"important\"), e.setProperty(\"visibility\", \"visible\"), e.setProperty(\"border\", \"0\"), e.setProperty(\"opacity\", \"0\"), i.src = \"about:blank\", document.body.appendChild(i), !(c = i.contentDocument || ((a = i.contentWindow) === null || a === void 0 ? void 0 : a.document))) throw new Error(\"Iframe document is not accessible\");\n return o({ iframe: c }), setTimeout(function() {\n document.body.removeChild(i);\n }, 0), [2];\n }\n var u, s;\n });\n });\n })(function(o) {\n var a = o.iframe;\n return w(n, void 0, void 0, function() {\n var i, e, c, l;\n return y(this, function(u) {\n return i = a.createElement(\"canvas\"), e = i.getContext(\"2d\"), c = J.map(function(s) {\n return P(e, s);\n }), l = {}, Q.forEach(function(s) {\n var p = P(e, s);\n c.includes(p) || (l[s] = 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, o = window.performance && window.performance.memory ? window.performance.memory : 0;\n n({ videocard: Y(), architecture: X(), deviceMemory: r.toString() || \"undefined\", jsHeapSizeLimit: o.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 C = (S == null ? void 0 : S.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: (S == null ? void 0 : S.retries) || 3 }, function() {\n return function() {\n return w(this, void 0, void 0, function() {\n var r, o, a, i, e;\n return y(this, function(c) {\n switch (c.label) {\n case 0:\n r = {}, o = 0, a = C, c.label = 1;\n case 1:\n if (!(o < a.length)) return [3, 6];\n i = a[o], c.label = 2;\n case 2:\n return c.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: i })];\n case 3:\n return e = c.sent(), r[i] = e.state.toString(), [3, 5];\n case 4:\n return c.sent(), [3, 5];\n case 5:\n return o++, [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, C);\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(o) {\n o({ 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 m, 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\" && ((m = document.createElement(\"canvas\")).width = 200, m.height = 100, d = m.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 `, o = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, a = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);\n if (!a || !i) throw new Error(\"Failed to create shaders\");\n if (d.shaderSource(a, r), d.shaderSource(i, o), d.compileShader(a), !d.getShaderParameter(a, d.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + d.getShaderInfoLog(a));\n if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + d.getShaderInfoLog(i));\n var e = d.createProgram();\n if (!e) throw new Error(\"Failed to create shader program\");\n if (d.attachShader(e, a), d.attachShader(e, i), 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, s = 0; s < c; s++) {\n var p = s * u;\n l[4 * s] = 0, l[4 * s + 1] = 0, l[4 * s + 2] = Math.cos(p) * (m.width / 2), l[4 * s + 3] = Math.sin(p) * (m.height / 2);\n }\n var B = d.createBuffer();\n d.bindBuffer(d.ARRAY_BUFFER, B), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);\n var R = d.getAttribLocation(e, \"position\");\n d.enableVertexAttribArray(R), d.vertexAttribPointer(R, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, m.width, m.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * c);\n var x = new Uint8ClampedArray(m.width * m.height * 4);\n return d.readPixels(0, 0, m.width, m.height, d.RGBA, d.UNSIGNED_BYTE, x), new ImageData(x, m.width, m.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: I(O(n, m.width, m.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar b = function(n, t, r, o) {\n for (var a = (r - t) / o, i = 0, e = 0; e < o; e++)\n i += n(t + (e + 0.5) * a);\n return i * a;\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: b(Math.asin, -1, 1, 97), atan: b(Math.atan, -1, 1, 97), cos: b(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: b(Math.sin, -Math.PI, Math.PI, 97), sinh: b(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: b(Math.tan, 0, 2 * Math.PI, 97), tanh: b(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst re = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet A = (n = 21) => {\n let t = \"\", r = crypto.getRandomValues(new Uint8Array(n |= 0));\n for (; n--; )\n t += re[r[n] & 63];\n return t;\n};\nclass D {\n constructor(t) {\n h(this, \"config\");\n this.config = t;\n }\n async getAdsForSearchParams(t) {\n return [];\n }\n}\nclass oe extends D {\n /**\n * Gets ads from the adMarketplace API based on the search term.\n */\n async getAdsForSearchParams(t) {\n if (!this.config.admSub)\n return console.error(\"No admSub specified in config.\"), [];\n const o = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({\n partner: \"demofeed\",\n sub1: this.config.admSub,\n qt: t.searchTerm,\n v: \"2.0\",\n rfr: \"searchcraft.io\",\n \"results-ta\": `${this.config.admTextAdQuantity || 0}`,\n \"results-pa\": `${this.config.admProductAdQuantity || 0}`\n }).toString()}`, i = await (await fetch(o, { method: \"GET\" })).json();\n return new Array().concat(\n i.product_ads.map((c) => ({\n adId: A(),\n type: \"adm-product-ad\",\n admAd: c\n }))\n ).concat(\n i.text_ads.map((c) => ({\n adId: A(),\n type: \"adm-text-ad\",\n admAd: c\n }))\n );\n }\n}\nclass ie extends D {\n async getAdsForSearchParams(t) {\n return [];\n }\n}\nconst ae = 500;\nclass se {\n constructor(t, r, o) {\n h(this, \"measureRequestTimeout\");\n h(this, \"measureRequestsBatched\", []);\n h(this, \"config\");\n h(this, \"sdkInfo\");\n h(this, \"userId\");\n h(this, \"sessionId\");\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 h(this, \"sendMeasureEvent\", (t, r = {}, o = {}) => {\n const a = {\n event_name: t,\n properties: {\n searchcraft_index_names: this.config.index,\n session_id: this.sessionId,\n ...r\n },\n user: {\n ...this.measureRequestUser,\n ...o\n }\n };\n this.measureRequestsBatched.push(a), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const i = 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: i,\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 }, ae);\n });\n this.config = t, this.sdkInfo = r, this.userId = o, this.sessionId = A(), this.sendMeasureEvent(\"sdk_initialized\");\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}\nfunction ue(n) {\n const t = [];\n let r = \"should\";\n return n.facetPathsForIndexFields && Object.keys(n.facetPathsForIndexFields).forEach((o) => {\n var i;\n const a = (i = n.facetPathsForIndexFields) == null ? void 0 : i[o];\n a && (r = \"must\", t.push({\n occur: r,\n exact: {\n ctx: a.value\n }\n }));\n }), n.rangeValueForIndexFields && Object.keys(n.rangeValueForIndexFields).forEach((o) => {\n var i;\n const a = (i = n.rangeValueForIndexFields) == null ? void 0 : i[o];\n a && (r = \"must\", t.push({\n occur: r,\n exact: {\n ctx: a.value\n }\n }));\n }), n.sort === \"desc\" ? n.order_by = \"date_published\" : n.order_by = \"\", t.push({\n occur: r,\n // Valid, as 'occur' is a required property in QueryItem\n [n.mode]: { ctx: n.searchTerm }\n // Ensure dynamic mode is inside queryType\n }), t;\n}\nconst ce = (n) => n.endsWith(\"/\") ? n.slice(0, -1) : n, de = (n) => {\n let t = \"\";\n if (t = n.trim(), t = t.replace(/[‘’“”]/g, (o) => ({\n \"‘\": \"'\",\n \"’\": \"'\",\n \"“\": '\"',\n \"”\": '\"'\n })[o] || o), (t.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n return t;\n};\nclass le {\n constructor(t, r, o) {\n h(this, \"measureClient\");\n h(this, \"config\");\n h(this, \"userId\");\n /**\n * Performs a search operation.\n * @param {SearchParams} searchParams - The parameters for the search.\n */\n h(this, \"getSearchResponse\", async (t) => {\n var o, a;\n const r = de(t.searchTerm);\n (o = this.measureClient) == null || o.sendMeasureEvent(\"search_requested\", {\n search_term: r\n });\n try {\n const i = {\n query: ue(t),\n offset: t.offset || 0,\n // Default to 0 (first page) if not provided\n limit: t.limit || this.config.searchResultsPerPage || 20\n // Default to 20 if not provided\n };\n t.order_by && (i.order_by = t.order_by, i.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(i)\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 return (a = this.measureClient) == null || a.sendMeasureEvent(\"search_response_received\", {\n search_term: r,\n number_of_documents: l.data.count\n }), l;\n } catch (i) {\n throw console.error(\"Error parsing response:\", i), i;\n }\n });\n this.measureClient = o, this.config = t, this.userId = r;\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}\nclass ge {\n constructor(t, r) {\n h(this, \"config\");\n h(this, \"measureClient\");\n h(this, \"searchClient\");\n h(this, \"adClient\");\n h(this, \"userId\");\n h(this, \"requestTimeout\");\n /**\n * Gets items from the SearchClient and the AdClient.\n */\n h(this, \"getItems\", (t, r, o) => {\n const a = async () => {\n (async () => {\n var c, l;\n const i = await ((c = this == null ? void 0 : this.searchClient) == null ? void 0 : c.getSearchResponse(t));\n if (!i)\n throw new Error(\"Search client was not initialized.\");\n const e = (l = i.data.hits || []) == null ? void 0 : l.map((u) => u.doc).filter((u) => !!u).map((u) => ({\n type: \"SearchDocument\",\n id: A(),\n document: u\n }));\n r(i, e);\n })(), (async () => {\n if (this.adClient) {\n const i = await this.adClient.getAdsForSearchParams(t);\n o(i);\n }\n })();\n };\n clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(\n a,\n this.config.searchDebounceDelay\n ) : a();\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 = {\n ...t,\n // Strips off the trailing '/' from an endpointURL if one is accidentally added\n endpointURL: ce(t.endpointURL)\n }, this.userId = \"\", this.initClients(this.config, r);\n }\n initClients(t, r) {\n setTimeout(async () => {\n let o = this.config.userId;\n switch (o || (o = await $()), this.measureClient = new se(t, r, o), this.searchClient = new le(t, o, this.measureClient), t.adProvider) {\n case \"adMarketplace\":\n this.adClient = new oe(t);\n break;\n case \"Nativo\":\n this.adClient = new ie(t);\n break;\n }\n }, 300);\n }\n}\n\nconst initialSearchcraftStateValues = {\n adClientResponseItems: [],\n core: undefined,\n logger: undefined,\n facetPathsForIndexFields: {},\n isPopoverVisible: false,\n searchTerm: '',\n rangeValueForIndexFields: {},\n searchMode: 'fuzzy',\n searchClientResponseItems: [],\n searchResponseTimeTaken: undefined,\n searchResponseFacetPrime: undefined,\n searchResultsCount: 0,\n searchResultsPerPage: 20,\n searchResultsPage: 1,\n sortType: 'asc',\n};\nconst useSearchcraftStore = zustand.create((set, get) => {\n const functions = {\n addFacetPathsForIndexField: (data) => set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n addRangeValueForIndexField: (data) => set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n getSearchcraftInstance: () => {\n const { core } = get();\n return core;\n },\n initialize: (searchcraftInstance, debug = false) => {\n const core = searchcraftInstance;\n const logger = debug\n ? new me({ logLevel: _.DEBUG })\n : undefined;\n set({\n core,\n logger,\n searchResultsPerPage: core.config.searchResultsPerPage || 20,\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 removeRangeValueForIndexField: (fieldName) => set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n search: async () => {\n const state = get();\n state.logger?.log(_.INFO, `Starting search with search term: \"${state.searchTerm}\"`);\n if (!state.core) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n if (!state.searchTerm.trim()) {\n state.logger?.log(_.INFO, 'No search request was made: search term was empty.');\n set({\n searchClientResponseItems: [],\n searchResultsCount: 0,\n searchResultsPage: 1,\n searchTerm: '',\n });\n return;\n }\n const handleSearchcraftResponse = (response, items) => {\n const facetsFromResponse = response.data.facets;\n set((state) => {\n return {\n searchClientResponseItems: items,\n searchResponseTimeTaken: response.data.time_taken || 0,\n searchResultsPage: \n // reset to first page when response count changes\n response.data.count === state.searchResultsCount\n ? state.searchResultsPage\n : 1,\n searchResultsCount: response.data.count || 0,\n };\n });\n if (facetsFromResponse) {\n set({ searchResponseFacetPrime: facetsFromResponse });\n }\n state.logger?.log(_.DEBUG, `Search results: ${JSON.stringify(items)}`);\n state.logger?.log(_.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);\n };\n const handleAdResponse = (adClientResponseItems) => {\n set({ adClientResponseItems });\n };\n state.core.getItems({\n searchTerm: state.searchTerm,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n offset: state.searchResultsPerPage\n ? state.searchResultsPerPage * (state.searchResultsPage - 1)\n : 0,\n limit: state.searchResultsPerPage,\n }, handleSearchcraftResponse, handleAdResponse);\n },\n setPopoverVisibility: (isVisible) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n setSearchTerm: (searchTerm) => {\n /**\n * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n searchTerm,\n facetPathsForIndexFields: {},\n ...(searchTerm.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchClientResponseItems: (items) => set({ searchClientResponseItems: items }),\n setSearchResultsPage: async (page) => {\n set({ searchResultsPage: page });\n await functions.search();\n },\n setSearchResultsPerPage: async (perPage) => {\n set({ searchResultsPerPage: perPage });\n await functions.search();\n },\n };\n const stateObject = {\n ...initialSearchcraftStateValues,\n ...functions,\n };\n return stateObject;\n});\n\nexport { ge as g, useSearchcraftStore as u };\n\n//# sourceMappingURL=p-38419178.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 { getDocumentValueFromSearchResultMapping as a, formatNumberWithCommas as f, getMillis as g };\n\n//# sourceMappingURL=p-6104fe5d.js.map","import { p as proxyCustomElement, H, h, F as Fragment } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { a as getDocumentValueFromSearchResultMapping } from './p-6104fe5d.js';\n\nconst SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n item;\n searchResultMappings;\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 * 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 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 titleContent;\n subtitleContent;\n bodyContent;\n footerContent;\n buttonLabel;\n buttonHref;\n containerHref;\n imageSrc;\n imageAlt;\n searchcraftStore = useSearchcraftStore.getState();\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n }\n mapValuesFromDocument(document) {\n this.titleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.title);\n this.subtitleContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.subtitle);\n this.bodyContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.body);\n this.containerHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.containerHref);\n this.buttonHref = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.buttonHref);\n this.imageSrc = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.imageSource);\n this.footerContent = getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.footer);\n }\n handleLinkClick = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.searchTerm;\n const number_of_documents = this.searchcraftStore.searchClientResponseItems.length;\n searchcraft.measureClient?.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.handleLinkClick, 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 \"item\": [16],\n \"searchResultMappings\": [16],\n \"containerTarget\": [1, \"container-target\"],\n \"containerRel\": [1, \"container-rel\"],\n \"buttonTarget\": [1, \"button-target\"],\n \"buttonRel\": [1, \"button-rel\"],\n \"imagePlacement\": [1, \"image-placement\"],\n \"customStyles\": [1, \"custom-styles\"],\n \"documentPosition\": [2, \"document-position\"],\n \"titleContent\": [32],\n \"subtitleContent\": [32],\n \"bodyContent\": [32],\n \"footerContent\": [32],\n \"buttonLabel\": [32],\n \"buttonHref\": [32],\n \"containerHref\": [32],\n \"imageSrc\": [32],\n \"imageAlt\": [32]\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-97332d3e.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: 'dc97bb66da10a98fca027f928deaaf80d945417b', 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-0e393fe1.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { s as serializeStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$4 } from './p-97332d3e.js';\nimport { d as defineCustomElement$3 } from './p-de4a48b1.js';\nimport { d as defineCustomElement$2 } from './p-0e393fe1.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 * A custom styles object.\n */\n customStylesForResults;\n /**\n * Formats the content rendered for each result.\n */\n searchResultMappings;\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 searchTerm = '';\n searchClientResponseItems = [];\n adClientResponseItems = [];\n searchResultsPerPage;\n searchResultsPage;\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => this.handleStateChange(state));\n const currentState = useSearchcraftStore.getState();\n this.searchClientResponseItems = currentState.searchClientResponseItems;\n this.searchTerm = currentState.searchTerm;\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n handleStateChange(state) {\n this.searchClientResponseItems = [...state.searchClientResponseItems];\n this.adClientResponseItems = [...state.adClientResponseItems];\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\n }\n render() {\n if (this.searchTerm.trim() === '') {\n return (h(\"div\", { class: 'searchcraft-search-results-empty-state-container' }, h(\"slot\", { name: 'empty-search' })));\n }\n if (this.searchClientResponseItems.length === 0) {\n return;\n }\n if (this.searchTerm.length > 0 &&\n this.searchClientResponseItems.length === 0) {\n this.noResults?.emit();\n }\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(\"div\", { class: 'searchcraft-search-results-container' }, this.adClientResponseItems?.map((item) => (h(\"searchcraft-base-search-result-ad\", { adClientResponseItem: item, key: item.adId }))), this.searchClientResponseItems?.map((item, index) => (h(\"searchcraft-base-search-result\", { key: item.id, \"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\": this.searchResultsPerPage * this.searchResultsPage + index, searchResultMappings: this.searchResultMappings, item: item }))), this.searchTerm.length > 0 &&\n this.searchClientResponseItems.length === 0 && (h(\"div\", { class: 'searchcraft-search-results-error-message-container' }, h(\"searchcraft-error-message\", { \"error-message\": `No search results found for \"${this.searchTerm}\" query` })))));\n }\n}, [4, \"searchcraft-base-search-results\", {\n \"customStylesForResults\": [1, \"custom-styles-for-results\"],\n \"searchResultMappings\": [16],\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 \"searchTerm\": [32],\n \"searchClientResponseItems\": [32],\n \"adClientResponseItems\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsPage\": [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-base-search-result-ad\", \"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$4();\n }\n break;\n case \"searchcraft-base-search-result-ad\":\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 * Controls the visual representation of the button.\n */\n hierarchy = 'primary';\n /**\n * Whether the button is disabled.\n */\n disabled = false;\n /**\n * The icon element.\n */\n icon;\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 * The type of the button.\n */\n type = 'button';\n /**\n * The event fired when the button is clicked.\n */\n buttonClick;\n handleButtonClick = () => {\n this.buttonClick.emit();\n };\n render() {\n return (h(\"button\", { key: 'ff883b930d03da6cbfb40badd3be1de0a873f853', \"aria-label\": this.label, class: classNames('searchcraft-button', {\n 'searchcraft-button-primary': this.hierarchy === 'primary',\n 'searchcraft-button-tertiary': this.hierarchy === 'tertiary',\n 'searchcraft-button-disabled': this.disabled,\n }), disabled: this.disabled, onClick: this.handleButtonClick, type: this.type }, this.iconOnly ? (this.icon) : (h(Fragment, null, this.iconPosition === 'left' && this.icon, h(\"span\", null, this.label), this.iconPosition === 'right' && this.icon))));\n }\n}, [0, \"searchcraft-button\", {\n \"hierarchy\": [1],\n \"disabled\": [4],\n \"icon\": [16],\n \"iconOnly\": [4, \"icon-only\"],\n \"iconPosition\": [1, \"icon-position\"],\n \"label\": [1],\n \"type\": [1]\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-71cc28c1.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-38419178.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 lastSearchTerm;\n lastSearchMode;\n lastSortType;\n unsubscribe;\n searchStore = useSearchcraftStore.getState();\n handleStateUpdate(state) {\n const facetPrime = state.searchResponseFacetPrime;\n const timeTaken = state.searchResponseTimeTaken;\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.searchTerm !== this.lastSearchTerm ||\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.lastSearchTerm = state.searchTerm;\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(\"svg\", { width: '14', height: '3', viewBox: '0 0 14 3', fill: 'none' }, h(\"title\", null, \"Checkbox Dash\"), h(\"line\", { x1: '1.5', y1: '1.5', x2: '12.5', y2: '1.5', stroke: 'white', \"stroke-width\": '3', \"stroke-linecap\": 'round' })))) : (h(\"div\", { class: classNames('checkContainer', 'searchcraft-filter-list-check-container') }, h(\"svg\", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, h(\"title\", null, \"Checkbox Check\"), h(\"path\", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', \"stroke-width\": '3', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' })))), 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(\"svg\", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, h(\"title\", null, \"Checkbox Check\"), h(\"path\", { d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', \"stroke-width\": '3', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), 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 \"lastSearchTerm\": [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-fc7cda96.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { g as getMillis } from './p-6104fe5d.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: 'c5dd33e5dbeb14c6acf1a3caa2101c8aff186abf', class: 'searchcraft-slider-container' }, h(\"div\", { key: '208354ad0176cfaa498ac4bb58cc584dd1976026', class: 'searchcraft-slider-range-container' }, h(\"div\", { key: '9ad0890810211c2d5b9e4588d67d43a85f76f0bb', class: 'searchcraft-slider-active-range', style: {\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n } }), h(\"input\", { key: '80d5d3847424991564fff0b6d16a0659b35fdcc2', 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: '063f4fc243a64dc3743d6cd8fbe6776e65f0d79e', 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: '148f3b70984ae66b0fe765d0351df380719fb5d8', class: 'searchcraft-slider-label-container' }, h(\"span\", { key: 'e5f1ad86454262abcb5261eba7b3555e59822b49', class: 'searchcraft-slider-label' }, startLabel), h(\"span\", { key: 'beac7a99a5a8fc1416712e4877eaf65574d8a42e', 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-4e9cd62e.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.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 lastSearchTerm;\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.searchTerm !== this.lastSearchTerm &&\n state.searchTerm.trim().length === 0) {\n this.isActive = false;\n }\n this.lastSearchTerm = state.searchTerm;\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n render() {\n return (h(\"div\", { key: 'ff105efef07b5f57127ff83ddb105658398b205d', class: 'searchcraft-toggle-button-container' }, h(\"div\", { key: '696046a2cb1f1bd0273bb77fda7c16ed5795422a' }, h(\"p\", { key: '93690038f12e2c7cff406a8f8ceeedaa5b871b70', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h(\"p\", { key: '1eaa110307794a4c15812e252d8a6ac7e81e7408', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h(\"button\", { key: 'a2671d9696db713763d44d0a84e08aff19bc8aa0', class: classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n }), onClick: this.handleToggle, type: 'button' }, h(\"div\", { key: '12874ac4782f756c6568952764777b758452406f', 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 \"lastSearchTerm\": [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-433f974c.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { g as getMillis } from './p-6104fe5d.js';\nimport { d as defineCustomElement$4 } from './p-fc7cda96.js';\nimport { d as defineCustomElement$3 } from './p-4e9cd62e.js';\nimport { d as defineCustomElement$2 } from './p-433f974c.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 lastSearchTerm;\n searchStore = useSearchcraftStore.getState();\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.lastSearchTerm = state.searchTerm || '';\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: '7e3e39a09d392e6da9c387d8cd641a50171ddc59', 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 \"lastSearchTerm\": [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: '528396d4be9f22ff0c02d95d8bcea056576aed41', 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-e55a7970.js.map","import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore, g as ge } from './p-38419178.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { d as defineCustomElement$3 } from './p-71cc28c1.js';\nimport { d as defineCustomElement$2 } from './p-0e393fe1.js';\nimport { d as defineCustomElement$1 } from './p-e55a7970.js';\n\nconst name = \"@searchcraft/javascript-sdk\";\nconst version = \"0.8.2\";\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.8.2\",\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 ge(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 (!this.autoSearch) {\n return;\n }\n if (input.value.trim() === '') {\n this.inputCleared?.emit();\n }\n this.performSearch(input.value);\n };\n performSearch = async (value) => {\n if (value === useSearchcraftStore.getState().searchTerm) {\n return;\n }\n this.searchTerm = value.trim();\n this.error = false;\n this.searchStore.setSearchTerm(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.setSearchTerm('');\n this.searchStore.setSearchClientResponseItems([]);\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: 'bc665c50db8de601a3c95266bdf063ebb988d6a8', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, h(\"div\", { key: 'a6936858c08d866b66b887c7ae03b35961cf04a1', class: inputGridClassNames, style: inputGridStyles }, h(\"div\", { key: '915ac892fccb771f1c5338cd2d52f16f1793615d', class: 'searchcraft-input-button-wrapper' }, h(\"searchcraft-button\", { key: '81447da28dcb9cb80a8cdf0c6765c909c2746585', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (h(\"div\", { key: '939c3407d16075be25ff23bf9b379c05ba1a66d4', class: 'searchcraft-input-label-wrapper' }, h(\"searchcraft-input-label\", { key: '9d9c4043c04132b27710cca47abf102a188a80b9', label: this.inputLabel }))), this.error && (h(\"div\", { key: '7e309f8a5c81a41bdd593f4e4ee1ba30c531c97d', class: 'searchcraft-input-error-wrapper' }, h(\"searchcraft-error-message\", { key: 'de947c04f0948e36786f50ac65720eeb598ae7bf', errorMessage: 'Something went wrong.' }))), h(\"div\", { key: 'bcf774e3fa5164ab838b634badf2002495437fe7', class: 'searchcraft-input-wrapper' }, h(\"input\", { key: 'fd9759559712a39d3493e069ddddf7c267879c84', 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: '8564b18962feeea8d9ab8bb46af4ba28a089d8f4', class: 'searchcraft-input-search-icon-wrapper' }, h(\"svg\", { key: '90c3636ea306ed70887d76deaf058ab3ace61134', 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: 'c9921263b87df28e06bab9990e324aa1bebac767', id: 'searchcraft-title' }, \"Searchcraft Search Icon Light\"), h(\"path\", { key: 'bb82073fd722ff4a74e1a86c74cdf0dd9a8080b4', 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: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), isShowingClearButton && (h(\"button\", { key: 'e708cb9426171bfdfb29e0a98206d086fa14e15e', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, h(\"svg\", { key: '243b6eacc68fa8cc57d5e11b9b317d7fe581406f', 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: 'd8a8b44fe04345b5b27ba33ec4ba510500eab3bf', id: 'icon-title' }, \"Searchcraft Clear Input Icon Light\"), h(\"path\", { key: '0602cbff7aac6755dabb496b84e6ef3e4e2ac7a6', 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: 'currentColor', \"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-6e2eef88.js.map","import { S as SearchcraftInput, d as defineCustomElement$1 } from './p-6e2eef88.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-38419178.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$2 } from './p-71cc28c1.js';\n\nconst SearchcraftPagination$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftPagination extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The custom styles object.\n */\n customStyles;\n // store vars\n searchTerm;\n searchResultsPerPage;\n searchResultsPage;\n searchResultsCount;\n // local vars\n searchResultsPagesCount = 1;\n searchResultsRangeMin = 1;\n searchResultsRangeMax = 1;\n // store functions\n setSearchResultsPage = () => { };\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n // store vars\n this.searchTerm = state.searchTerm;\n this.searchResultsPerPage = state.searchResultsPerPage;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsCount = state.searchResultsCount;\n // local vars\n this.searchResultsPagesCount = Math.ceil(this.searchResultsCount / this.searchResultsPerPage);\n this.searchResultsRangeMin =\n (this.searchResultsPage - 1) * this.searchResultsPerPage + 1;\n this.searchResultsRangeMax =\n (this.searchResultsPerPage - 1) * this.searchResultsPerPage +\n this.searchResultsPerPage;\n // store functions\n this.setSearchResultsPage = state.setSearchResultsPage;\n });\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n handleGoToPage(page) {\n this.setSearchResultsPage(page);\n }\n renderOddPaginationItem(page) {\n return (h(\"li\", null, h(\"button\", { class: classNames('searchcraft-pagination-item', {\n 'searchcraft-pagination-item-active': this.searchResultsPage === page,\n }), onClick: () => this.handleGoToPage(page), type: 'button' }, page)));\n }\n renderEvenPaginationItem(page) {\n if (this.searchResultsPagesCount <= page) {\n return;\n }\n if (this.searchResultsPagesCount <= 5 ||\n page < Math.ceil(this.searchResultsPagesCount / 2) // is the first or second even pagination item\n ? this.searchResultsPage <= page + 1\n : this.searchResultsPage >= page - 1) {\n return (h(\"li\", null, h(\"button\", { class: classNames('searchcraft-pagination-item', {\n 'searchcraft-pagination-item-active': this.searchResultsPage === page,\n }), onClick: () => this.handleGoToPage(page), type: 'button' }, page)));\n }\n return (h(\"li\", null, h(\"span\", { class: 'searchcraft-pagination-item' }, \"...\")));\n }\n renderMiddlePaginationItem() {\n if (this.searchResultsPagesCount <= 3) {\n return;\n }\n if (this.searchResultsPagesCount <= 5 ||\n this.searchResultsPage <= 3 ||\n this.searchResultsPage >= this.searchResultsPagesCount - 2) {\n return (h(\"li\", null, h(\"button\", { class: classNames('searchcraft-pagination-item', {\n 'searchcraft-pagination-item-active': this.searchResultsPage === 3 ||\n this.searchResultsPage === this.searchResultsPagesCount - 2,\n }), type: 'button', onClick: () => this.handleGoToPage(this.searchResultsPage >= this.searchResultsPagesCount - 2\n ? this.searchResultsPagesCount - 2\n : 3) }, this.searchResultsPage >= this.searchResultsPagesCount - 2\n ? this.searchResultsPagesCount - 2\n : 3)));\n }\n return (h(\"li\", null, h(\"span\", { class: 'searchcraft-pagination-item searchcraft-pagination-item-active' }, this.searchResultsPage)));\n }\n render() {\n // early return if there isn't a searchTerm or there is 1 or fewer pages of results\n if (!this.searchTerm || this.searchResultsPagesCount <= 1) {\n return;\n }\n return (h(\"div\", { class: classNames('searchcraft-pagination', parseCustomStyles(this.customStyles || {})) }, h(\"div\", { class: 'searchcraft-pagination-control' }, h(\"searchcraft-button\", { disabled: this.searchResultsPage === 1, hierarchy: 'tertiary', onButtonClick: () => this.handleGoToPage(Math.max(1, this.searchResultsPage - 1)), label: 'Previous', iconPosition: 'left', icon: h(\"svg\", { width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, h(\"title\", null, \"Previous page icon\"), h(\"path\", { d: 'M12.5 15L7.5 10L12.5 5', stroke: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' })), iconOnly: true })), h(\"ul\", { class: 'searchcraft-pagination-list' }, this.renderOddPaginationItem(1), this.renderEvenPaginationItem(2), this.renderMiddlePaginationItem(), this.renderEvenPaginationItem(this.searchResultsPagesCount > 4\n ? this.searchResultsPagesCount - 1\n : 4), this.renderOddPaginationItem(this.searchResultsPagesCount)), h(\"div\", { class: 'searchcraft-pagination-control' }, h(\"searchcraft-button\", { disabled: this.searchResultsPage === this.searchResultsPagesCount, hierarchy: 'tertiary', onButtonClick: () => {\n this.handleGoToPage(Math.min(this.searchResultsPagesCount, this.searchResultsPage + 1));\n }, label: 'Next', iconPosition: 'right', icon: h(\"svg\", { width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, h(\"title\", null, \"Next page icon\"), h(\"path\", { d: 'M7.5 15L12.5 10L7.5 5', stroke: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' })), iconOnly: true }))));\n }\n}, [0, \"searchcraft-pagination\", {\n \"customStyles\": [1, \"custom-styles\"],\n \"searchTerm\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsCount\": [32],\n \"searchResultsPagesCount\": [32],\n \"searchResultsRangeMin\": [32],\n \"searchResultsRangeMax\": [32],\n \"setSearchResultsPage\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-pagination\", \"searchcraft-button\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-pagination\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPagination$1);\n }\n break;\n case \"searchcraft-button\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftPagination = SearchcraftPagination$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftPagination, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-pagination.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.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: '538e1e8506bea196e6ba45482f9daa75d032462f', type: 'button', onClick: this.handleOnClick.bind(this) }, h(\"slot\", { key: '788b70da6edcbfb283d373ada36709582ad16e51' })));\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-38419178.js';\nimport { a as getDocumentValueFromSearchResultMapping } from './p-6104fe5d.js';\n\nconst SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItem extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n item;\n popoverResultMappings;\n /** The document position relative to the search results (For Measure) */\n documentPosition = 0;\n href;\n imageSrc;\n imageAlt;\n titleContent;\n subtitleContent;\n mapValuesFromDocument(document) {\n this.titleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.title);\n this.subtitleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.subtitle);\n this.href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.href);\n this.imageSrc = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageSource);\n this.imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageAlt);\n }\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n }\n disconnectedCallback() { }\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.searchTerm;\n const number_of_documents = state.searchClientResponseItems.length || 0;\n searchcraft.measureClient?.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n render() {\n return (h(\"a\", { key: '77e0a59f0441c7ed717ffc0de7f335e76b7b5f5e', class: 'searchcraft-popover-list-item', href: this.href, onClick: this.handleLinkClick.bind(this) }, this.imageSrc && (h(\"div\", { key: '70fe7167cd9baa5029b1482ac6e71bd46c3171a7', class: 'searchcraft-popover-list-item-image-wrapper' }, h(\"img\", { key: '768f651b06005ecefb9818268664334c6bf0d333', alt: this.imageAlt, src: this.imageSrc, class: 'searchcraft-popover-list-item-image' }))), h(\"div\", { key: 'a34b31b92d232193e9d43c5871ecad0d4ee3f59a', class: 'searchcraft-popover-list-item-info-wrapper' }, h(\"p\", { key: 'f2bd9dab4008d200b4528fde35950be90503d66c', class: 'searchcraft-popover-list-item-title' }, this.titleContent), h(\"p\", { key: '4231966d7c4c48dfaaf4925ad18db3428219edad', class: 'searchcraft-popover-list-item-subtitle' }, this.subtitleContent))));\n }\n}, [0, \"searchcraft-popover-list-item\", {\n \"item\": [16],\n \"popoverResultMappings\": [16],\n \"documentPosition\": [2, \"document-position\"],\n \"href\": [32],\n \"imageSrc\": [32],\n \"imageAlt\": [32],\n \"titleContent\": [32],\n \"subtitleContent\": [32]\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-ec0d230e.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\n\nconst SearchcraftPopoverListItemAd = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItemAd extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n adClientResponseItem;\n connectedCallback() {\n if (this.adClientResponseItem?.admAd?.impression_url) {\n fetch(this.adClientResponseItem?.admAd?.impression_url);\n }\n }\n renderADMProductAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-popover-list-item-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-popover-list-item-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-popover-list-item-ad-image' }))), h(\"div\", { class: 'searchcraft-popover-list-item-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-popover-list-item-ad-title' }, ad.term), h(\"p\", { class: 'searchcraft-popover-list-item-ad-subtitle' }, ad.price))));\n }\n renderADMTextAd() {\n const ad = this.adClientResponseItem?.admAd;\n if (!ad) {\n return;\n }\n return (h(\"a\", { class: 'searchcraft-popover-list-item-ad', href: ad.click_url }, ad.image_url && (h(\"div\", { class: 'searchcraft-popover-list-item-ad-image-wrapper' }, h(\"img\", { alt: ad.term, src: ad.image_url, class: 'searchcraft-popover-list-item-ad-image' }))), h(\"div\", { class: 'searchcraft-popover-list-item-ad-info-wrapper' }, h(\"p\", { class: 'searchcraft-popover-list-item-ad-title' }, ad.term))));\n }\n renderNativoAd() { }\n renderAdPlaceholder() {\n return h(\"p\", null, \"Ad placeholder\");\n // return;\n }\n render() {\n if (!this.adClientResponseItem) {\n return this.renderAdPlaceholder();\n }\n switch (this.adClientResponseItem.type) {\n case 'adm-product-ad':\n return this.renderADMProductAd();\n case 'adm-text-ad':\n return this.renderADMTextAd();\n case 'nativo-ad':\n return this.renderNativoAd();\n }\n }\n}, [0, \"searchcraft-popover-list-item-ad\", {\n \"adClientResponseItem\": [16]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-list-item-ad\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-popover-list-item-ad\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftPopoverListItemAd);\n }\n break;\n } });\n}\n\nexport { SearchcraftPopoverListItemAd as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-bff4d3fc.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { d as defineCustomElement$2 } from './p-ec0d230e.js';\nimport { d as defineCustomElement$1 } from './p-bff4d3fc.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 items to render in the list view.\n */\n searchClientResponseItems;\n adClientResponseItems;\n searchResultsPage;\n searchResultsPerPage;\n render() {\n return (h(\"div\", { key: 'a869d98e96f6fbbc80ecb79058c4753b4a3a8b1d', class: 'searchcraft-popover-list-view' }, this.adClientResponseItems?.map((item) => (h(\"searchcraft-popover-list-item-ad\", { adClientResponseItem: item, key: item.adId }))), this.searchClientResponseItems?.map((item, index) => (h(\"searchcraft-popover-list-item\", { item: item, key: item.id, popoverResultMappings: this.popoverResultMappings, documentPosition: this.searchResultsPerPage * (this.searchResultsPage - 1) + index })))));\n }\n}, [0, \"searchcraft-popover-list-view\", {\n \"popoverResultMappings\": [16],\n \"searchClientResponseItems\": [16],\n \"adClientResponseItems\": [16],\n \"searchResultsPage\": [2, \"search-results-page\"],\n \"searchResultsPerPage\": [2, \"search-results-per-page\"]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-popover-list-view\", \"searchcraft-popover-list-item\", \"searchcraft-popover-list-item-ad\"];\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$2();\n }\n break;\n case \"searchcraft-popover-list-item-ad\":\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-25ee7496.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-38419178.js';\nimport { d as defineCustomElement$8 } from './p-71cc28c1.js';\nimport { d as defineCustomElement$7 } from './p-0e393fe1.js';\nimport { d as defineCustomElement$6 } from './p-6e2eef88.js';\nimport { d as defineCustomElement$5 } from './p-e55a7970.js';\nimport { d as defineCustomElement$4 } from './p-ec0d230e.js';\nimport { d as defineCustomElement$3 } from './p-bff4d3fc.js';\nimport { d as defineCustomElement$2 } from './p-25ee7496.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 searchClientResponseItems = [];\n adClientResponseItems = [];\n searchTerm;\n isFocused = false;\n breakpointSm = 576;\n breakpointMd = 768;\n breakpointLg = 992;\n searchResultsPage;\n searchResultsPerPage;\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.searchClientResponseItems = [...state.searchClientResponseItems];\n this.adClientResponseItems = [...state.adClientResponseItems];\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\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.searchClientResponseItems.length > 0);\n }\n renderInlinePopover() {\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, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))))));\n }\n renderModalPopover() {\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, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage }))))));\n }\n }\n renderFullscreenPopover() {\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, searchClientResponseItems: this.searchClientResponseItems, adClientResponseItems: this.adClientResponseItems, searchResultsPage: this.searchResultsPage, searchResultsPerPage: this.searchResultsPerPage })))));\n }\n }\n render() {\n switch (this.type) {\n case 'inline':\n return this.renderInlinePopover();\n case 'modal':\n return this.renderModalPopover();\n case 'fullscreen':\n return this.renderFullscreenPopover();\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 \"searchClientResponseItems\": [32],\n \"adClientResponseItems\": [32],\n \"searchTerm\": [32],\n \"isFocused\": [32],\n \"breakpointSm\": [32],\n \"breakpointMd\": [32],\n \"breakpointLg\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsPerPage\": [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-item-ad\", \"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$8();\n }\n break;\n case \"searchcraft-error-message\":\n if (!customElements.get(tagName)) {\n defineCustomElement$7();\n }\n break;\n case \"searchcraft-input-form\":\n if (!customElements.get(tagName)) {\n defineCustomElement$6();\n }\n break;\n case \"searchcraft-input-label\":\n if (!customElements.get(tagName)) {\n defineCustomElement$5();\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$4();\n }\n break;\n case \"searchcraft-popover-list-item-ad\":\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 { c as classNames } from './p-5cdc6210.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { f as formatNumberWithCommas } from './p-6104fe5d.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\n\nconst SearchcraftResultsInfo$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftResultsInfo extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The custom formatter for the resulting string.\n *\n * @example\n * ```ts\n * resultsInfo.customFormatter = (range, count, responseTime) =>\n * `${range[0]}-${range[1]} of ${count} results in ${responseTime}ms`;\n * ```\n */\n customFormatter;\n /**\n * The custom styles object.\n */\n customStyles;\n // store vars\n searchTerm;\n searchResultsPage;\n searchResultsPerPage;\n searchResultsCount;\n // local vars\n count = 0;\n range = [0, 0];\n responseTime = '0';\n unsubscribe = () => { };\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n // store vars\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\n this.searchResultsCount = state.searchResultsCount;\n // local vars\n this.count = this.searchResultsCount;\n this.range[0] =\n this.searchResultsPage <= 1\n ? 1\n : this.searchResultsPerPage * (this.searchResultsPage - 1);\n this.range[1] = this.searchResultsPerPage * this.searchResultsPage;\n this.range[1] =\n this.range[1] > this.searchResultsCount\n ? this.searchResultsCount\n : this.range[1];\n this.responseTime = ((state.searchResponseTimeTaken || 0) * 1000).toFixed(2);\n });\n }\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n render() {\n if (!this.searchTerm || this.searchResultsCount === 0) {\n return null;\n }\n return (h(\"p\", { class: classNames('searchcraft-results-info', parseCustomStyles(this.customStyles || {})) }, this.customFormatter\n ? this.customFormatter([\n formatNumberWithCommas(this.range[0]),\n formatNumberWithCommas(this.range[1]),\n ], formatNumberWithCommas(this.count), this.responseTime)\n : `${this.count} results found in ${this.responseTime}ms`));\n }\n}, [0, \"searchcraft-results-info\", {\n \"customFormatter\": [16],\n \"customStyles\": [1, \"custom-styles\"],\n \"searchTerm\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsCount\": [32],\n \"count\": [32],\n \"range\": [32],\n \"responseTime\": [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, c as createEvent, h } from './p-5365011f.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\n\nconst SearchcraftSelect = /*@__PURE__*/ proxyCustomElement(class SearchcraftSelect extends H {\n constructor() {\n super();\n this.__registerHost();\n this.selectChange = createEvent(this, \"selectChange\", 7);\n }\n /**\n * The caption displayed below the select input.\n */\n caption;\n /**\n * Whether the select input is disabled.\n */\n disabled = false;\n /**\n * The ID for the select input.\n */\n inputId;\n /**\n * The label of the select input.\n */\n label;\n /**\n * The ID for the label of the select input.\n */\n labelId;\n /**\n * The name of the select input.\n */\n name;\n /**\n * The options for the select input.\n */\n options = [];\n /**\n * A custom styles object.\n */\n customStyles;\n /**\n * The event fired when the select is changed.\n */\n selectChange;\n searchResultsPerPage;\n setSearchResultsPage = () => { };\n setSearchResultsPerPage = () => { };\n handleSelectChange = (event) => {\n this.selectChange.emit(event.target.value);\n };\n handleGoToPage(page) {\n this.setSearchResultsPage(page);\n }\n render() {\n return (h(\"div\", { key: '5024d49d89a3649a5de591d37ded304a9dfb36d9', class: classNames('searchcraft-select', parseCustomStyles(this.customStyles || {})) }, this.label && (h(\"label\", { key: '005aea9b190e5a6c041721e20395be23f76faab6', class: 'searchcraft-select-label', id: this.labelId || `${this.inputId}-label`, htmlFor: this.inputId }, this.label)), h(\"div\", { key: '209d56844c0bcd241e73bafcad24fac927fe7ffa', class: 'searchcraft-select-input-wrapper' }, h(\"select\", { key: '010c9e596ef45a303f84c0ac0fa54ab67556d7b6', \"aria-labelledby\": this.label ? this.labelId || `${this.inputId}-label` : undefined, class: 'searchcraft-select-input', disabled: this.disabled, id: this.inputId, name: this.name, onChange: this.handleSelectChange }, (typeof this.options === 'string'\n ? JSON.parse(this.options)\n : this.options).map(({ label, value, selected }) => {\n return (h(\"option\", { key: value, value: value, selected: selected }, label));\n })), h(\"svg\", { key: '51d9fb79381468ee0992475ba376df5a5961116c', class: 'searchcraft-select-input-icon', width: '20', height: '20', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, h(\"title\", { key: '59186138953557764915d41708d4bcc23a9bb97f' }, \"Select dropdown icon\"), h(\"path\", { key: 'ec2c962df16cb68bdaf3e2c32e57d875a63957a9', d: 'M5 7.5L10 12.5L15 7.5', stroke: 'currentColor', \"stroke-width\": '1.5', \"stroke-linecap\": 'round', \"stroke-linejoin\": 'round' }))), this.caption && (h(\"p\", { key: '742bc2dbd8371938894d49bb37d429d1b7a07d7a', class: 'searchcraft-select-caption' }, this.caption))));\n }\n}, [0, \"searchcraft-select\", {\n \"caption\": [1],\n \"disabled\": [4],\n \"inputId\": [1, \"input-id\"],\n \"label\": [1],\n \"labelId\": [1, \"label-id\"],\n \"name\": [1],\n \"options\": [1],\n \"customStyles\": [1, \"custom-styles\"],\n \"searchResultsPerPage\": [32],\n \"setSearchResultsPage\": [32],\n \"setSearchResultsPerPage\": [32]\n }]);\nfunction defineCustomElement() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-select\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-select\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftSelect);\n }\n break;\n } });\n}\n\nexport { SearchcraftSelect as S, defineCustomElement as d };\n\n//# sourceMappingURL=p-bf6a086a.js.map","import { p as proxyCustomElement, H, h } from './p-5365011f.js';\nimport { u as useSearchcraftStore } from './p-38419178.js';\nimport { c as classNames } from './p-5cdc6210.js';\nimport { p as parseCustomStyles } from './p-d9551738.js';\nimport { d as defineCustomElement$2 } from './p-bf6a086a.js';\n\nconst SearchcraftSearchResultsPerPage$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftSearchResultsPerPage extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The amount the options will increase (e.g. 20 = [20, 40, 60, 80, 100]).\n * The base value is defined by the `searchResultsPerPage` option in the configuration.\n */\n increment = 20;\n /**\n * The custom styles object.\n */\n customStyles;\n // store vars\n searchTerm;\n searchResultsPage;\n searchResultsPerPage;\n searchResultsCount;\n searchResultsPagesCount;\n // local vars\n initialSearchResultsPerPage;\n // store functions\n setSearchResultsPerPage = () => { };\n setSearchResultsPage = () => { };\n unsubscribe = () => { };\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n // store vars\n this.searchTerm = state.searchTerm;\n this.searchResultsPerPage = state.searchResultsPerPage;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsCount = state.searchResultsCount;\n // local vars\n this.searchResultsPagesCount = Math.ceil(this.searchResultsCount / this.searchResultsPerPage);\n // store functions\n this.setSearchResultsPage = state.setSearchResultsPage;\n this.setSearchResultsPerPage = state.setSearchResultsPerPage;\n });\n this.initialSearchResultsPerPage =\n useSearchcraftStore.getState().searchResultsPerPage;\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n render() {\n // early return if there isn't a searchTerm or there is 1 or fewer pages of results\n if (!this.searchTerm || this.searchResultsPagesCount <= 1) {\n return;\n }\n return (h(\"div\", { class: classNames('searchcraft-search-results-per-page', parseCustomStyles(this.customStyles || {})) }, h(\"div\", { class: 'searchcraft-search-results-per-page-select' }, h(\"label\", { class: 'searchcraft-search-results-per-page-select-label', htmlFor: 'searchcraft-search-results-per-page-select-input' }, \"Results Per Page\"), h(\"div\", { class: 'searchcraft-search-results-per-page-select-input' }, h(\"searchcraft-select\", { inputId: 'searchcraft-search-results-per-page-select-input', name: 'results-per-page', options: [...Array(5)].map((_, index) => {\n const value = this.initialSearchResultsPerPage +\n Number(this.increment) * index;\n return {\n label: `${value}`,\n value,\n };\n }), onSelectChange: (event) => {\n this.setSearchResultsPerPage(Number(event.detail));\n this.setSearchResultsPage(1);\n } })))));\n }\n}, [0, \"searchcraft-search-results-per-page\", {\n \"increment\": [8],\n \"customStyles\": [1, \"custom-styles\"],\n \"searchTerm\": [32],\n \"searchResultsPage\": [32],\n \"searchResultsPerPage\": [32],\n \"searchResultsCount\": [32],\n \"searchResultsPagesCount\": [32],\n \"initialSearchResultsPerPage\": [32],\n \"setSearchResultsPerPage\": [32],\n \"setSearchResultsPage\": [32]\n }]);\nfunction defineCustomElement$1() {\n if (typeof customElements === \"undefined\") {\n return;\n }\n const components = [\"searchcraft-search-results-per-page\", \"searchcraft-select\"];\n components.forEach(tagName => { switch (tagName) {\n case \"searchcraft-search-results-per-page\":\n if (!customElements.get(tagName)) {\n customElements.define(tagName, SearchcraftSearchResultsPerPage$1);\n }\n break;\n case \"searchcraft-select\":\n if (!customElements.get(tagName)) {\n defineCustomElement$2();\n }\n break;\n } });\n}\n\nconst SearchcraftSearchResultsPerPage = SearchcraftSearchResultsPerPage$1;\nconst defineCustomElement = defineCustomElement$1;\n\nexport { SearchcraftSearchResultsPerPage, defineCustomElement };\n\n//# sourceMappingURL=searchcraft-search-results-per-page.js.map","import { p as proxyCustomElement, H } from './p-5365011f.js';\n\nconst styles = `:root{--sc-text-base-size: 1em;--sc-text-scale-ratio: 1.1;--sc-font-family: sans-serif;--sc-font-bold: 700;--sc-font-normal: 400;--sc-heading-1-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-2-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-3-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-4-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-5-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-6-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) );--sc-body-font-size: calc(var(--sc-text-base-size));--sc-body-small-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) )}:root{--sc-border-radius: 8px;--sc-border-radius-sm: calc(var(--sc-border-radius) / 2);--sc-border-radius-lg: calc(var(--sc-border-radius) * 2)}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-neutral-primary: var(--sc-color-background, #ffffff);--sc-color-background-hover: hsl( from var(--sc-color-background) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-primary-hover: var(--sc-color-background-hover, #fafafa);--sc-color-background-active: hsl( from var(--sc-color-background) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-primary-active: var( --sc-color-background-active, #f7f7f7 );--sc-surface-neutral-secondary: var( --sc-color-background-secondary, var(--sc-color-background, #f3f3f3) );--sc-surface-neutral-secondary-hover: var( --sc-color-background-secondary-hover, var(--sc-color-background-hover, #e6e6e6) );--sc-surface-neutral-secondary-active: var( --sc-color-background-secondary-active, var(--sc-color-background-active, #e0e0e0) );--sc-surface-neutral-light: #ffffff;--sc-content-neutral-primary: var(--sc-color-foreground, #292929);--sc-color-foreground-secondary: hsl( from var(--sc-color-foreground) h s clamp(10, calc(l + 5), 90) );--sc-content-neutral-secondary: var(--sc-color-foreground-secondary, #404040);--sc-border-neutral: rgba(0, 0, 0, 0.1);--sc-surface-brand-primary: var(--sc-color-brand, #000000);--sc-color-brand-hover: hsl( from var(--sc-color-brand) h s clamp(20, calc(l + 5), 95) );--sc-surface-brand-primary-hover: var(--sc-color-brand-hover, #2e2e2e);--sc-color-brand-active: hsl( from var(--sc-color-brand) h s clamp(10, calc(l - 5), 85) );--sc-surface-brand-primary-active: var(--sc-color-brand-active, #292929);--sc-surface-brand-secondary: var( --sc-color-brand-secondary, var(--sc-color-brand, #e6e6e6) );--sc-surface-brand-secondary-hover: var( --sc-color-brand-secondary-hover, var(--sc-color-brand-hover, #ebebeb) );--sc-surface-brand-secondary-active: var( --sc-color-brand-secondary-active, var(--sc-color-brand-active, #e0e0e0) );--sc-content-brand: var( --sc-color-brand-text, var(--sc-surface-brand-primary) );--sc-content-brand-on-primary: #ffffff;--sc-border-brand: var(--sc-surface-brand-primary);--sc-surface-success-primary: var(--sc-color-success, #008000);--sc-color-success-primary-hover: hsl(from var(--sc-color-success) h s 30);--sc-surface-success-primary-hover: var( --sc-color-success-primary-hover, #009900 );--sc-color-success-primary-active: hsl(from var(--sc-color-success) h s 20);--sc-surface-success-primary-active: var( --sc-color-success-primary-active, #006600 );--sc-color-success-secondary: hsl(from var(--sc-color-success) h s 90);--sc-surface-success-secondary: var(--sc-color-success-secondary, #ccffcc);--sc-color-success-secondary-hover: hsl( from var(--sc-color-success-secondary) h s 95 );--sc-surface-success-secondary-hover: var( --sc-color-success-secondary-hover, #e6ffe6 );--sc-color-success-secondary-active: hsl( from var(--sc-color-success-secondary) h s 85 );--sc-surface-success-secondary-active: var( --sc-color-success-secondary-active, #b2ffb2 );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30) );--sc-content-success-on-primary: #ffffff;--sc-border-success: var(--sc-surface-success-primary);--sc-surface-caution-primary: var(--sc-color-caution, #cc6600);--sc-color-caution-primary-hover: hsl(from var(--sc-color-caution) h s 30);--sc-surface-caution-primary-hover: var( --sc-color-caution-primary-hover, #e57300 );--sc-color-caution-primary-active: hsl(from var(--sc-color-caution) h s 20);--sc-surface-caution-primary-active: var( --sc-color-caution-primary-active, #b25a00 );--sc-color-caution-secondary: hsl(from var(--sc-color-caution) h s 90);--sc-surface-caution-secondary: var(--sc-color-caution-secondary, #ffd9b3);--sc-color-caution-secondary-hover: hsl( from var(--sc-color-caution-secondary) h s 95 );--sc-surface-caution-secondary-hover: var( --sc-color-caution-secondary-hover, #ffe5cc );--sc-color-caution-secondary-active: hsl( from var(--sc-color-caution-secondary) h s 85 );--sc-surface-caution-secondary-active: var( --sc-color-caution-secondary-active, #ffcc99 );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30) );--sc-content-caution-on-primary: #ffffff;--sc-border-caution: var(--sc-surface-caution-primary);--sc-surface-danger-primary: var(--sc-color-danger, #cc0000);--sc-color-danger-primary-hover: hsl(from var(--sc-color-danger) h s 30);--sc-surface-danger-primary-hover: var( --sc-color-danger-primary-hover, #e50000 );--sc-color-danger-primary-active: hsl(from var(--sc-color-danger) h s 20);--sc-surface-danger-primary-active: var( --sc-color-danger-primary-active, #b30000 );--sc-color-danger-secondary: hsl(from var(--sc-color-danger) h s 90);--sc-surface-danger-secondary: var(--sc-color-danger-secondary, #ffcccc);--sc-color-danger-secondary-hover: hsl( from var(--sc-color-danger-secondary) h s 95 );--sc-surface-danger-secondary-hover: var( --sc-color-danger-secondary-hover, #ffe7e7 );--sc-color-danger-secondary-active: hsl( from var(--sc-color-danger-secondary) h s 85 );--sc-surface-danger-secondary-active: var( --sc-color-danger-secondary-active, #ffb3b3 );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30) );--sc-content-danger-on-primary: #ffffff;--sc-border-danger: var(--sc-surface-danger-primary);--sc-color-disabled: hsl(from var(--sc-color-page-primary) h s calc(l * 0.5));--sc-surface-disabled: var(--sc-color-disabled, #d9d9d9);--sc-color-disabled-text: hsl( from var(--sc-color-text-primary) h s calc(l * 0.5) );--sc-content-disabled: var(--sc-color-disabled-text, #737373);--sc-content-disabled-on-disabled: var(--sc-color-disabled-text, #737373)}@supports(hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){:root{--sc-color-background-hover: hsl( from var(--sc-color-background) h s clamp(10%, calc(l + 5%), 95%) );--sc-color-background-active: hsl( from var(--sc-color-background) h s clamp(5%, calc(l - 5%), 90%) );--sc-color-foreground-secondary: hsl( from var(--sc-color-foreground) h s clamp(10%, calc(l + 5%), 90%) );--sc-color-brand-hover: hsl( from var(--sc-color-brand) h s clamp(20%, calc(l + 5%), 95%) );--sc-color-brand-active: hsl( from var(--sc-color-brand) h s clamp(10%, calc(l - 5%), 85%) );--sc-color-success-primary-hover: hsl(from var(--sc-color-success) h s 30%);--sc-color-success-primary-active: hsl( from var(--sc-color-success) h s 20% );--sc-color-success-secondary: hsl(from var(--sc-color-success) h s 90%);--sc-color-success-secondary-hover: hsl( from var(--sc-color-success-secondary) h s 95% );--sc-color-success-secondary-active: hsl( from var(--sc-color-success-secondary) h s 85% );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30%) );--sc-color-caution-primary-hover: hsl(from var(--sc-color-caution) h s 30%);--sc-color-caution-primary-active: hsl( from var(--sc-color-caution) h s 20% );--sc-color-caution-secondary: hsl(from var(--sc-color-caution) h s 90%);--sc-color-caution-secondary-hover: hsl( from var(--sc-color-caution-secondary) h s 95% );--sc-color-caution-secondary-active: hsl( from var(--sc-color-caution-secondary) h s 85% );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30%) );--sc-color-danger-primary-hover: hsl(from var(--sc-color-danger) h s 30%);--sc-color-danger-primary-active: hsl(from var(--sc-color-danger) h s 20%);--sc-color-danger-secondary: hsl(from var(--sc-color-danger) h s 90%);--sc-color-danger-secondary-hover: hsl( from var(--sc-color-danger-secondary) h s 95% );--sc-color-danger-secondary-active: hsl( from var(--sc-color-danger-secondary) h s 85% );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30%) )}}.searchcraft-search-result-container{all:unset;align-items:flex-start;border-radius:var(--sc-border-radius-lg);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:calc(--sc-border-radius-lg - 8px);border-radius:calc(var(--sc-border-radius-lg) - 8px);width:100%}@media(min-width: 768px){.searchcraft-search-result-image{width:200px}}.searchcraft-base-search-result-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin:0}.searchcraft-base-search-result-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-disabled);margin:0}.searchcraft-base-search-result-body-content{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-neutral-secondary);margin:0}.searchcraft-base-search-result-footer-content{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-disabled);margin:0}.searchcraft-base-ad{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);background-color:var(--sc-surface-neutral-primary);border-radius:16px;border:1px solid blue}.searchcraft-base-ad-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-base-ad-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);margin:0;color:inherit}.searchcraft-base-ad-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-base-ad-image{max-width:var(--sc-popover-list-item-image-size);max-height:var(--sc-popover-list-item-image-size)}.searchcraft-base-ad-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-search-results-container{display:flex;flex-direction:column;justify-content:center;gap:16px}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);background:none;border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;gap:4px;padding:12px;position:relative}.searchcraft-button.searchcraft-button-disabled{cursor:not-allowed}.searchcraft-button-primary{background-color:var(--sc-surface-brand-primary);color:var(--sc-content-brand-on-primary);font-weight:var(--sc-font-bold)}.searchcraft-button-primary:hover{background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button-primary:focus{border-color:var(--sc-border-primary)}.searchcraft-button-primary:active{background-color:var(--sc-surface-brand-primary-active)}.searchcraft-button-primary.searchcraft-button-disabled,.searchcraft-button-primary.searchcraft-button-disabled:hover,.searchcraft-button-primary.searchcraft-button-disabled:focus,.searchcraft-button-primary.searchcraft-button-disabled:active{background-color:var(--sc-surface-disabled);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-tertiary{background-color:var(--sc-surface-neutral-primary);color:var(--sc-content-brand);font-weight:var(--sc-font-normal)}.searchcraft-button-tertiary:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-button-tertiary:focus{background-color:var(--sc-surface-neutral-light);border-color:var(--sc-border-primary)}.searchcraft-button-tertiary:active{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-button-tertiary.searchcraft-button-disabled,.searchcraft-button-tertiary.searchcraft-button-disabled:hover,.searchcraft-button-tertiary.searchcraft-button-disabled:focus,.searchcraft-button-tertiary.searchcraft-button-disabled:active{background-color:var(--sc-surface-neutral-light);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-error-message{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-danger);margin:0}.filtersListContainer{width:100%}.filterCheckboxLabel{align-items:center;color:var(--sc-content-brand);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-neutral-secondary);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-neutral-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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-bold)}:root{--sc-input-border-radius: var(--sc-border-radius);--sc-input-search-icon-size: 20px;--sc-input-clear-icon-size: 20px;--sc-input-padding-left: 44px;--sc-input-padding-right: 44px}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);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);color:var(--sc-content-neutral-secondary)}.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);color:var(--sc-content-brand)}.searchcraft-input-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin-top:4px;margin-bottom:4px}:root{--sc-popover-form-border-radius: var(--sc-border-radius);--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}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);border-radius:calc(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);border:0;outline:0;padding:0;flex-shrink:0;background:none;cursor:pointer;padding-left:12px;padding-right:12px}.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(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);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(--sc-popover-form-border-radius - 12px);border-radius:calc(var(--sc-popover-form-border-radius) - 12px);outline-width:1px;outline-color:var(--sc-border-neutral)}.searchcraft-popover-form-fullscreen searchcraft-popover-list-view{overflow:scroll}.searchcraft-popover-list-item-ad{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);border:1px solid blue}.searchcraft-popover-list-item-ad:focus{background-color:var(--sc-surface-neutral-secondary-active);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item-ad:hover{background-color:var(--sc-surface-neutral-secondary-hover);color:var(--sc-content-neutral-secondary)}.searchcraft-popover-list-item-ad-title{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-ad-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-ad-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-ad-image{max-width:var(--sc-popover-list-item-image-size);max-height:var(--sc-popover-list-item-image-size)}.searchcraft-popover-list-item-ad-info-wrapper{display:flex;flex-direction:column;gap:8px;justify-content:center}.searchcraft-popover-list-item{all:unset;color:var(--sc-content-neutral-secondary);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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:inherit}.searchcraft-popover-list-item-subtitle{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);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{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);color:var(--sc-content-primary);margin:0}.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);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);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)}.searchcraft-pagination{display:inline-grid;gap:16px;grid-template-columns:repeat(3, auto);grid-template-rows:1fr}.searchcraft-pagination-list{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius);display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0;width:auto}.searchcraft-pagination-list li{border-right:1px solid var(--sc-border-neutral);height:100%;min-height:44px;width:44px}.searchcraft-pagination-list li:last-child{border-right:none}.searchcraft-pagination-item{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);align-items:center;background-color:var(--sc-surface-neutral-primary);border:none;display:flex;height:100%;justify-content:center;width:100%}.searchcraft-pagination-item-active{background-color:var(--sc-surface-brand-secondary);font-weight:var(--sc-font-bold)}.searchcraft-pagination-control{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius)}.searchcraft-pagination-range{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);align-items:center;display:flex}.searchcraft-select{display:flex;flex-direction:column;gap:4px}.searchcraft-select-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-bold)}.searchcraft-select-input-wrapper{position:relative}.searchcraft-select-input{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);appearance:none;background-color:var(--sc-surface-neutral-secondary);border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;height:44px;padding:0 44px 0 16px;width:100%}.searchcraft-select-input:hover{background-color:var(--sc-surface-neutral-secondary-hover)}.searchcraft-select-input:active{background-color:var(--sc-surface-neutral-secondary-active)}.searchcraft-select-input:focus{border-color:var(--sc-border-brand);outline:none}.searchcraft-select-input-icon{pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.searchcraft-select-caption{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size)}.searchcraft-search-results-per-page{display:flex}.searchcraft-search-results-per-page-select{align-items:center;display:flex;gap:12px}.searchcraft-search-results-per-page-select-label{font-family:var(--sc-font-family);font-weight:var(--sc-font-normal);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size)}.searchcraft-search-results-per-page-select-input{min-width:120px}/*# sourceMappingURL=hologram.css.map */\n`;\n\nconst SearchcraftTheme$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftTheme extends H {\n constructor() {\n super();\n this.__registerHost();\n }\n /**\n * The name of the theme.\n */\n theme = 'light';\n /**\n * The custom theme configuration object.\n */\n customTheme = '[]';\n camelToKebab = (string) => {\n return string\n .replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`) // Convert uppercase letters to `-lowercase`\n .toLowerCase(); // Ensure the whole string is in lowercase\n };\n componentDidLoad() {\n // Inject style element\n const styleElement = document.querySelector('#searchcraft-theme') ||\n document.createElement('style');\n styleElement.innerHTML = styles;\n styleElement.id = 'searchcraft-theme';\n const head = document.head || document.getElementsByTagName('head')[0];\n if (!head.contains(styleElement)) {\n if (head.firstChild) {\n head.insertBefore(styleElement, head.firstChild);\n }\n else {\n head.appendChild(styleElement);\n }\n }\n // Add theme name to body\n document.body.dataset.theme = this.theme;\n // Add CSS variables from customTheme configuration to document\n Object.entries(JSON.parse(this.customTheme)).map(([key, value]) => {\n document.documentElement.style.setProperty(`--${this.camelToKebab(key)}`, `${value}`);\n });\n }\n render() {\n return;\n }\n}, [0, \"searchcraft-theme\", {\n \"theme\": [1],\n \"customTheme\": [1, \"custom-theme\"]\n }]);\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, SearchcraftTheme$1);\n }\n break;\n } });\n}\n\nconst SearchcraftTheme = SearchcraftTheme$1;\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 { SearchcraftBaseSearchResultAd as SearchcraftBaseSearchResultAdElement, defineCustomElement as defineSearchcraftBaseSearchResultAd } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-base-search-result-ad.js\";\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 { SearchcraftPagination as SearchcraftPaginationElement, defineCustomElement as defineSearchcraftPagination } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-pagination.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 { SearchcraftPopoverListItemAd as SearchcraftPopoverListItemAdElement, defineCustomElement as defineSearchcraftPopoverListItemAd } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-popover-list-item-ad.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 { SearchcraftSearchResultsPerPage as SearchcraftSearchResultsPerPageElement, defineCustomElement as defineSearchcraftSearchResultsPerPage } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-search-results-per-page.js\";\nimport { SearchcraftSelect as SearchcraftSelectElement, defineCustomElement as defineSearchcraftSelect } from \"@searchcraft/javascript-sdk/dist/components/searchcraft-select.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 SearchcraftBaseSearchResultAdEvents = NonNullable<unknown>;\n\nexport const SearchcraftBaseSearchResultAd: StencilReactComponent<SearchcraftBaseSearchResultAdElement, SearchcraftBaseSearchResultAdEvents> = /*@__PURE__*/ createComponent<SearchcraftBaseSearchResultAdElement, SearchcraftBaseSearchResultAdEvents>({\n tagName: 'searchcraft-base-search-result-ad',\n elementClass: SearchcraftBaseSearchResultAdElement,\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 SearchcraftBaseSearchResultAdEvents,\n defineCustomElement: defineSearchcraftBaseSearchResultAd\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 SearchcraftPaginationEvents = NonNullable<unknown>;\n\nexport const SearchcraftPagination: StencilReactComponent<SearchcraftPaginationElement, SearchcraftPaginationEvents> = /*@__PURE__*/ createComponent<SearchcraftPaginationElement, SearchcraftPaginationEvents>({\n tagName: 'searchcraft-pagination',\n elementClass: SearchcraftPaginationElement,\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 SearchcraftPaginationEvents,\n defineCustomElement: defineSearchcraftPagination\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 SearchcraftPopoverListItemAdEvents = NonNullable<unknown>;\n\nexport const SearchcraftPopoverListItemAd: StencilReactComponent<SearchcraftPopoverListItemAdElement, SearchcraftPopoverListItemAdEvents> = /*@__PURE__*/ createComponent<SearchcraftPopoverListItemAdElement, SearchcraftPopoverListItemAdEvents>({\n tagName: 'searchcraft-popover-list-item-ad',\n elementClass: SearchcraftPopoverListItemAdElement,\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 SearchcraftPopoverListItemAdEvents,\n defineCustomElement: defineSearchcraftPopoverListItemAd\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 SearchcraftSearchResultsPerPageEvents = NonNullable<unknown>;\n\nexport const SearchcraftSearchResultsPerPage: StencilReactComponent<SearchcraftSearchResultsPerPageElement, SearchcraftSearchResultsPerPageEvents> = /*@__PURE__*/ createComponent<SearchcraftSearchResultsPerPageElement, SearchcraftSearchResultsPerPageEvents>({\n tagName: 'searchcraft-search-results-per-page',\n elementClass: SearchcraftSearchResultsPerPageElement,\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 SearchcraftSearchResultsPerPageEvents,\n defineCustomElement: defineSearchcraftSearchResultsPerPage\n});\n\ntype SearchcraftSelectEvents = { onSelectChange: EventName<CustomEvent<string>> };\n\nexport const SearchcraftSelect: StencilReactComponent<SearchcraftSelectElement, SearchcraftSelectEvents> = /*@__PURE__*/ createComponent<SearchcraftSelectElement, SearchcraftSelectEvents>({\n tagName: 'searchcraft-select',\n elementClass: SearchcraftSelectElement,\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: { onSelectChange: 'selectChange' } as SearchcraftSelectEvents,\n defineCustomElement: defineSearchcraftSelect\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\n/**\n * The props for the SearchcraftBaseSearchResults component.\n */\ninterface SearchcraftBaseSearchResultsProps\n extends Components.SearchcraftBaseSearchResults {}\n\n/**\n * A component that renders a list of search results with customizable styles, layout, and link behavior.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftBaseSearchResults } from '@searchcraft/react-sdk';\n * import searchResultMappings from './searchResultMappings';\n *\n * const MySearchComponent = () => {\n * return (\n * <SearchcraftBaseSearchResults\n * searchResultMappings={searchResultMappings}\n * resultImagePlacement=\"left\"\n * buttonLabel=\"View More\"\n * buttonTarget=\"_blank\"\n * buttonRel=\"noopener\"\n * containerTarget=\"_self\"\n * containerRel=\"nofollow\"\n * onNoResults={() => console.log(\"No search results found\")}\n * />\n * );\n * };\n *\n * export default MySearchComponent;\n * ```\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\n/**\n * The props for the SearchcraftFilterPanel.\n */\ninterface SearchcraftFilterPanelProps\n extends Components.SearchcraftFilterPanel {}\n\n/**\n * A component that represents a filter panel UI view, allowing users to refine and control their search queries by applying various filter criteria.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftFilterPanel } from '@searchcraft/react-sdk';\n * import filterItems from './filterItems';\n *\n * const MyFilterComponent = () => {\n * return (\n * <SearchcraftFilterPanel items={filterItems} />\n * );\n * };\n *\n * export default MyFilterComponent;\n * ```\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\n/**\n * The props for the SearchcraftInputForm.\n */\ninterface SearchcraftInputFormProps extends Components.SearchcraftInputForm {}\n\n/**\n * A component that provides a user-friendly interface for querying an indexed dataset,\n * enabling users to easily search large collections of data. It abstracts the complexities\n * of index-based searching, making it accessible to users of all technical levels.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftInputForm } from '@searchcraft/react-sdk';\n * import searchcraftConfig from './searchcraftConfig';\n *\n * const MySearchComponent = () => {\n * const handleQuerySubmit = (event: CustomEvent<string>) => {\n * console.log(\"Query submitted\", event.detail);\n * };\n *\n * return (\n * <SearchcraftInputForm\n * config={searchcraftConfig}\n * autoSearch={true}\n * buttonPlacement=\"right\"\n * buttonLabel=\"Search\"\n * inputLabel=\"Search Database\"\n * customStyles={{ border: \"1px solid gray\", padding: \"5px\" }}\n * placeholderValue=\"Search here...\"\n * searchTerm=\"\"\n * onQuerySubmit={handleQuerySubmit}\n * onInputCleared={() => console.log(\"Input cleared\")}\n * onNoResultsReceived={() => console.log(\"No results found\")}\n * onInputFocus={() => console.log(\"Input focused\")}\n * onInputBlur={() => console.log(\"Input blurred\")}\n * onInputInit={() => console.log(\"Input initialized\")}\n * />\n * );\n * };\n *\n * export default MySearchComponent;\n * ```\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\n/**\n * The props for the SearchcraftPopoverButton.\n */\ninterface SearchcraftPopoverButtonProps\n extends Components.SearchcraftPopoverButton {}\n\n/**\n * A button component that, when clicked, toggles the visibility of a popover.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftPopoverButton } from '@searchcraft/react-sdk';\n *\n * const MyPopoverTrigger = () => {\n * return (\n * <SearchcraftPopoverButton>\n * Open Popover\n * </SearchcraftPopoverButton>\n * );\n * };\n *\n * export default MyPopoverTrigger;\n * ```\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\n/**\n * The props for the SearchcraftPopoverForm component.\n */\ninterface SearchcraftPopoverFormProps\n extends Components.SearchcraftPopoverForm {}\n\n/**\n * A component that displays search results in a popover container that dynamically appears\n * when the user interacts with a search input field, or when a popover button is clicked.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftPopoverForm } from '@searchcraft/react-sdk';\n * import searchcraftConfig from './searchcraftConfig';\n * import popoverResultMappings from './popoverResultMappings';\n *\n * const MyPopoverSearch = () => {\n * return (\n * <SearchcraftPopoverForm\n * config={searchcraftConfig}\n * type=\"fullscreen\"\n * popoverResultMappings={popoverResultMappings}\n * hotkey=\"k\"\n * hotkeyModifier=\"meta\"\n * />\n * );\n * };\n *\n * export default MyPopoverSearch;\n * ```\n */\nconst SearchcraftPopoverForm: FC<SearchcraftPopoverFormProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftPopoverForm };\nexport type { SearchcraftPopoverFormProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\n\nimport { SearchcraftResultsInfo as Component } from '../stencil-web-components/components';\n\n/**\n * The Props for the SearchcraftResultsInfo component.\n */\ninterface SearchcraftResultsInfoProps\n extends Components.SearchcraftResultsInfo {}\n\n/**\n * This React component is designed to display the number of results returned from a search query.\n *\n * @example\n * ```tsx\n * import React, { useEffect, useRef } from 'react';\n * import { SearchcraftResultsInfo } from '@searchcraft/react-sdk';\n *\n * const MyResultsInfo = () => {\n * const ref = useRef();\n *\n * useEffect(() => {\n * ref.current.customFormatter = (range, count, responseTime) =>\n * `${range[0]}-${range[1]} of ${count} results in ${responseTime}ms`;\n * });\n *\n * return <SearchcraftResultsInfo ref={ref} />;\n * };\n *\n * export default MyResultsInfo;\n * ```\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\n/**\n * The Props for the SearchcraftTheme component.\n */\ninterface SearchcraftThemeProps extends Components.SearchcraftTheme {}\n\n/**\n * A component that applies Searchcraft's built-in CSS theme to your page.\n * It does not render anything visible—its only function is to manage the CSS styles on the page.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftTheme } from '@searchcraft/react-sdk';\n *\n * const MyThemeProvider = () => {\n * return <SearchcraftTheme theme=\"light\" customTheme={'[]'} />;\n * };\n *\n * export default MyThemeProvider;\n * ```\n */\nconst SearchcraftTheme: FC<SearchcraftThemeProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftTheme };\nexport type { SearchcraftThemeProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\n\nimport { SearchcraftPagination as Component } from '../stencil-web-components/components';\n\n/**\n * The props for the SearchcraftPagination component.\n */\ninterface SearchcraftPaginationProps extends Components.SearchcraftPagination {}\n\n/**\n * This React component is designed to facilitate pagination of search results.\n * Once a query is submitted, calculates the number for pages.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftPagination } from '@searchcraft/react-sdk';\n *\n * const MyPaginationComponent = () => {\n * return (\n * // other searchcraft components\n * <SearchcraftPagination />\n * );\n * };\n *\n * export default MyPaginationComponent;\n * ```\n */\nconst SearchcraftPagination: FC<SearchcraftPaginationProps> = (props) => (\n <Component {...props} />\n);\n\nexport { SearchcraftPagination };\nexport type { SearchcraftPaginationProps };\n","import type { FC } from 'react';\n\nimport type { Components } from '@searchcraft/javascript-sdk';\n\nimport { SearchcraftSearchResultsPerPage as Component } from '../stencil-web-components/components';\n\n/**\n * The Props for the SearchcraftSearchResultsPerPage component.\n */\ninterface SearchcraftSearchResultsPerPageProps\n extends Components.SearchcraftSearchResultsPerPage {}\n\n/**\n * This React component is designed to choose the number of search results displayed.\n *\n * @example\n * ```tsx\n * import React from 'react';\n * import { SearchcraftSearchResultsPerPage } from '@searchcraft/react-sdk';\n *\n * const MyResultsPerPage = () => {\n * return <SearchcraftSearchResultsPerPage increment={20} />;\n * };\n *\n * export default MyResultsPerPage;\n * ```\n */\nconst SearchcraftSearchResultsPerPage: FC<\n SearchcraftSearchResultsPerPageProps\n> = (props) => <Component {...props} />;\n\nexport { SearchcraftSearchResultsPerPage };\nexport type { SearchcraftSearchResultsPerPageProps };\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","SearchcraftBaseSearchResultAd","__publicField","ad","defineCustomElement","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","L","N","me","w","l","s","p","y","S","F","q","M","f","g","I","G","W","V","U","$","O","z","E","K","T","C","Q","J","P","Y","X","Z","ee","te","ne","d","B","R","x","b","re","A","D","oe","ie","ae","se","t","a","ue","ce","de","le","ge","u","initialSearchcraftStateValues","useSearchcraftStore","set","get","functions","data","core","searchcraftInstance","debug","logger","fieldName","currentPaths","currentValues","handleSearchcraftResponse","response","items","facetsFromResponse","handleAdResponse","adClientResponseItems","isVisible","mode","searchTerm","page","perPage","getDocumentValueFromSearchResultMapping","document","mapping","fieldNameDetails","valueFound","getFormattedTimeFromNow","getMillis","unit","formatNumberWithCommas","number","timestamp","now","inputTime","diffInSeconds","minutes","hours","days","years","SearchcraftBaseSearchResult","searchcraft","document_position","search_term","number_of_documents","_e","_f","_g","styles","imageContainer","contentContainer","parseCustomStyles","serializeStyles","SearchcraftErrorMessage","SearchcraftBaseSearchResults$1","currentState","serializedStyles","item","defineCustomElement$1","defineCustomElement$4","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","granularityValue","SearchcraftFilterPanel","SearchcraftInputLabel","version","description","author","license","main","types","collection","unpkg","repository","files","scripts","dependencies","devDependencies","packageJson","SearchcraftInput","input","validatedCustomStyles","isShowingClearButton","inputGridClassNames","inputGridStyles","SearchcraftInputForm","SearchcraftPagination$1","SearchcraftPagination","SearchcraftPopoverButton$1","SearchcraftPopoverButton","SearchcraftPopoverListItem","SearchcraftPopoverListItemAd","SearchcraftPopoverListView","SearchcraftPopoverForm$1","computedStyle","hostElementInput","direction","listItems","currentIndex","isListViewVisible","popoverFormClassNames","defineCustomElement$8","defineCustomElement$7","defineCustomElement$6","defineCustomElement$5","SearchcraftPopoverForm","SearchcraftResultsInfo$1","SearchcraftResultsInfo","SearchcraftSelect","selected","SearchcraftSearchResultsPerPage$1","SearchcraftSearchResultsPerPage","SearchcraftTheme$1","string","styleElement","head","SearchcraftTheme","createComponent","SearchcraftBaseSearchResultsElement","defineSearchcraftBaseSearchResults","SearchcraftFilterPanelElement","defineSearchcraftFilterPanel","SearchcraftInputFormElement","defineSearchcraftInputForm","SearchcraftPaginationElement","defineSearchcraftPagination","SearchcraftPopoverButtonElement","defineSearchcraftPopoverButton","SearchcraftPopoverFormElement","defineSearchcraftPopoverForm","SearchcraftResultsInfoElement","defineSearchcraftResultsInfo","SearchcraftSearchResultsPerPageElement","defineSearchcraftSearchResultsPerPage","SearchcraftThemeElement","defineSearchcraftTheme","jsx"],"mappings":"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","x_google_ignoreList":[27,28]}
|