@searchcraft/javascript-sdk 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +53 -55
  2. package/dist/cjs/{index-b3b77ea2.js → index-d4b4a45e.js} +233 -130
  3. package/dist/cjs/index-d4b4a45e.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +14 -18
  7. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -1
  8. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +20 -7
  9. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -1
  10. package/dist/cjs/searchcraft-button_3.cjs.entry.js +16 -7
  11. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +26 -24
  13. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +6 -5
  15. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +28 -17
  17. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
  19. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +1 -1
  20. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +2 -2
  21. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +23 -16
  22. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +1 -1
  23. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js +1 -7
  24. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js.map +1 -1
  25. package/dist/cjs/searchcraft-results-info.cjs.entry.js +2 -2
  26. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -1
  27. package/dist/cjs/{store-d7ebcf7a.js → store-abe47006.js} +608 -98
  28. package/dist/cjs/store-abe47006.js.map +1 -0
  29. package/dist/collection/collection-manifest.json +1 -1
  30. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +44 -16
  31. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  32. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +41 -6
  33. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  34. package/dist/collection/components/searchcraft-button/searchcraft-button.js +21 -5
  35. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  36. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +2 -3
  37. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  38. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +4 -10
  39. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -1
  40. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +6 -3
  41. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -1
  42. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +40 -12
  43. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +1 -1
  44. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +7 -1
  45. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  46. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +33 -16
  47. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +1 -1
  48. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +12 -8
  49. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +1 -1
  50. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +6 -6
  51. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +1 -1
  52. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  53. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +25 -7
  54. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  55. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +9 -5
  56. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  57. package/dist/components/index.js +2 -2
  58. package/dist/components/{p-d6a88eed.js → p-01dc5b3b.js} +608 -98
  59. package/dist/components/p-01dc5b3b.js.map +1 -0
  60. package/dist/components/{p-cf4ced92.js → p-1ae87308.js} +2 -8
  61. package/dist/components/p-1ae87308.js.map +1 -0
  62. package/dist/components/{p-a248ad69.js → p-649654b5.js} +5 -13
  63. package/dist/components/p-649654b5.js.map +1 -0
  64. package/dist/components/{p-4c45ef80.js → p-662cb490.js} +8 -8
  65. package/dist/components/p-662cb490.js.map +1 -0
  66. package/dist/components/{p-e4846fa2.js → p-6cafd48d.js} +189 -112
  67. package/dist/components/p-6cafd48d.js.map +1 -0
  68. package/dist/components/{p-04c46179.js → p-87d1611b.js} +15 -19
  69. package/dist/components/p-87d1611b.js.map +1 -0
  70. package/dist/components/{p-a9bd1872.js → p-c273e43d.js} +5 -3
  71. package/dist/components/p-c273e43d.js.map +1 -0
  72. package/dist/components/{p-0e38a723.js → p-cc9f8c61.js} +19 -9
  73. package/dist/components/p-cc9f8c61.js.map +1 -0
  74. package/dist/components/{p-f9d778b3.js → p-cf096782.js} +14 -6
  75. package/dist/components/p-cf096782.js.map +1 -0
  76. package/dist/components/{p-02a16e53.js → p-da5b92ef.js} +32 -19
  77. package/dist/components/p-da5b92ef.js.map +1 -0
  78. package/dist/components/{p-85765b81.js → p-e1cf5f9d.js} +3 -5
  79. package/dist/components/p-e1cf5f9d.js.map +1 -0
  80. package/dist/components/{p-953f4238.js → p-f5a06210.js} +2 -3
  81. package/dist/components/p-f5a06210.js.map +1 -0
  82. package/dist/components/searchcraft-base-search-result.js +1 -1
  83. package/dist/components/searchcraft-base-search-results.js +22 -9
  84. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  85. package/dist/components/searchcraft-button.js +1 -1
  86. package/dist/components/searchcraft-error-message.js +1 -1
  87. package/dist/components/searchcraft-facet-list.js +1 -1
  88. package/dist/components/searchcraft-filter-panel.js +9 -8
  89. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  90. package/dist/components/searchcraft-input-form.js +1 -1
  91. package/dist/components/searchcraft-input-label.js +1 -1
  92. package/dist/components/searchcraft-popover-button.js +2 -2
  93. package/dist/components/searchcraft-popover-form.js +29 -22
  94. package/dist/components/searchcraft-popover-form.js.map +1 -1
  95. package/dist/components/searchcraft-popover-list-item.js +1 -1
  96. package/dist/components/searchcraft-popover-list-view.js +1 -1
  97. package/dist/components/searchcraft-results-info.js +2 -2
  98. package/dist/components/searchcraft-results-info.js.map +1 -1
  99. package/dist/components/searchcraft-slider.js +1 -1
  100. package/dist/components/searchcraft-toggle-button.js +1 -1
  101. package/dist/esm/{index-11551663.js → index-56b713de.js} +233 -130
  102. package/dist/esm/index-56b713de.js.map +1 -0
  103. package/dist/esm/index.js +1 -1
  104. package/dist/esm/loader.js +2 -2
  105. package/dist/esm/searchcraft-base-search-result.entry.js +14 -18
  106. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -1
  107. package/dist/esm/searchcraft-base-search-results.entry.js +20 -7
  108. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -1
  109. package/dist/esm/searchcraft-button_3.entry.js +16 -7
  110. package/dist/esm/searchcraft-button_3.entry.js.map +1 -1
  111. package/dist/esm/searchcraft-facet-list_3.entry.js +26 -24
  112. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -1
  113. package/dist/esm/searchcraft-filter-panel.entry.js +6 -5
  114. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -1
  115. package/dist/esm/searchcraft-input-form_2.entry.js +28 -17
  116. package/dist/esm/searchcraft-input-form_2.entry.js.map +1 -1
  117. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  118. package/dist/esm/searchcraft-javascript-sdk.js.map +1 -1
  119. package/dist/esm/searchcraft-popover-button.entry.js +2 -2
  120. package/dist/esm/searchcraft-popover-form.entry.js +23 -16
  121. package/dist/esm/searchcraft-popover-form.entry.js.map +1 -1
  122. package/dist/esm/searchcraft-popover-list-item.entry.js +1 -7
  123. package/dist/esm/searchcraft-popover-list-item.entry.js.map +1 -1
  124. package/dist/esm/searchcraft-results-info.entry.js +2 -2
  125. package/dist/esm/searchcraft-results-info.entry.js.map +1 -1
  126. package/dist/esm/{store-1058f7b0.js → store-712f0586.js} +608 -98
  127. package/dist/esm/store-712f0586.js.map +1 -0
  128. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  129. package/dist/searchcraft-javascript-sdk/p-01dc5b3b.js +11 -0
  130. package/dist/searchcraft-javascript-sdk/p-01dc5b3b.js.map +1 -0
  131. package/dist/searchcraft-javascript-sdk/p-117fcdd3.entry.js +2 -0
  132. package/dist/searchcraft-javascript-sdk/p-117fcdd3.entry.js.map +1 -0
  133. package/dist/searchcraft-javascript-sdk/p-129e6f2c.js +3 -0
  134. package/dist/searchcraft-javascript-sdk/p-129e6f2c.js.map +1 -0
  135. package/dist/searchcraft-javascript-sdk/{p-8e539d62.entry.js → p-27cb401c.entry.js} +2 -2
  136. package/dist/searchcraft-javascript-sdk/p-27cb401c.entry.js.map +1 -0
  137. package/dist/searchcraft-javascript-sdk/p-4df4a29e.entry.js +2 -0
  138. package/dist/searchcraft-javascript-sdk/p-4df4a29e.entry.js.map +1 -0
  139. package/dist/searchcraft-javascript-sdk/{p-98640a6a.entry.js → p-54248dd8.entry.js} +2 -2
  140. package/dist/searchcraft-javascript-sdk/{p-98640a6a.entry.js.map → p-54248dd8.entry.js.map} +1 -1
  141. package/dist/searchcraft-javascript-sdk/{p-cd852b84.entry.js → p-69430dbf.entry.js} +2 -2
  142. package/dist/searchcraft-javascript-sdk/p-69430dbf.entry.js.map +1 -0
  143. package/dist/searchcraft-javascript-sdk/{p-e042deb9.entry.js → p-a460755d.entry.js} +2 -2
  144. package/dist/searchcraft-javascript-sdk/p-a460755d.entry.js.map +1 -0
  145. package/dist/searchcraft-javascript-sdk/{p-7049b93d.entry.js → p-bc2c4259.entry.js} +2 -2
  146. package/dist/searchcraft-javascript-sdk/p-bc2c4259.entry.js.map +1 -0
  147. package/dist/searchcraft-javascript-sdk/p-caecdcda.entry.js +2 -0
  148. package/dist/searchcraft-javascript-sdk/p-caecdcda.entry.js.map +1 -0
  149. package/dist/searchcraft-javascript-sdk/{p-c27a3673.entry.js → p-f8129731.entry.js} +2 -2
  150. package/dist/searchcraft-javascript-sdk/p-f8129731.entry.js.map +1 -0
  151. package/dist/searchcraft-javascript-sdk/{p-b8bd53ce.entry.js → p-f839b682.entry.js} +2 -2
  152. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  153. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  154. package/package.json +4 -3
  155. package/dist/cjs/index-b3b77ea2.js.map +0 -1
  156. package/dist/cjs/store-d7ebcf7a.js.map +0 -1
  157. package/dist/components/p-02a16e53.js.map +0 -1
  158. package/dist/components/p-04c46179.js.map +0 -1
  159. package/dist/components/p-0e38a723.js.map +0 -1
  160. package/dist/components/p-4c45ef80.js.map +0 -1
  161. package/dist/components/p-85765b81.js.map +0 -1
  162. package/dist/components/p-953f4238.js.map +0 -1
  163. package/dist/components/p-a248ad69.js.map +0 -1
  164. package/dist/components/p-a9bd1872.js.map +0 -1
  165. package/dist/components/p-cf4ced92.js.map +0 -1
  166. package/dist/components/p-d6a88eed.js.map +0 -1
  167. package/dist/components/p-e4846fa2.js.map +0 -1
  168. package/dist/components/p-f9d778b3.js.map +0 -1
  169. package/dist/esm/index-11551663.js.map +0 -1
  170. package/dist/esm/store-1058f7b0.js.map +0 -1
  171. package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js +0 -2
  172. package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js.map +0 -1
  173. package/dist/searchcraft-javascript-sdk/p-7049b93d.entry.js.map +0 -1
  174. package/dist/searchcraft-javascript-sdk/p-8e539d62.entry.js.map +0 -1
  175. package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js +0 -2
  176. package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js.map +0 -1
  177. package/dist/searchcraft-javascript-sdk/p-c27a3673.entry.js.map +0 -1
  178. package/dist/searchcraft-javascript-sdk/p-cd852b84.entry.js.map +0 -1
  179. package/dist/searchcraft-javascript-sdk/p-d6a88eed.js +0 -11
  180. package/dist/searchcraft-javascript-sdk/p-d6a88eed.js.map +0 -1
  181. package/dist/searchcraft-javascript-sdk/p-e042deb9.entry.js.map +0 -1
  182. package/dist/searchcraft-javascript-sdk/p-e0be53df.js +0 -3
  183. package/dist/searchcraft-javascript-sdk/p-e0be53df.js.map +0 -1
  184. package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js +0 -2
  185. package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js.map +0 -1
  186. /package/dist/searchcraft-javascript-sdk/{p-b8bd53ce.entry.js.map → p-f839b682.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["deepMergeWithSpread","obj1","obj2","result","Object","assign","key","hasOwnProperty","removeSubstringMatches","arr","filter","entry","index","array","some","otherEntry","otherIndex","includes","facetToRecord","facet","records","traverseAndAddToFragments","facetChild","path","count","_a","children","forEach","child","recordToObject","record","root","keys","fragment","pathParts","substring","split","currentRoot","currentPath","part","nextPath","length","objectToFacet","childObject","transformed","values","map","subChildObject","filterRecordByParentPaths","record1","record2","paths1","paths2","parentPaths","Set","lastIndexOf","filteredRecord","fromEntries","has","mergeFacetRoots","fieldName","incomingRoot","currentArray","incomingArray","currentRootFacetChild","incomingRootFacetChild","currentRecord","incomingRecord","filteredCurrentRecord","mergedRecord","mergedObject","mergedFacetChild","searchcraftFacetListModuleCss","SearchcraftFacetListStyle0","SearchcraftFacetList","this","searchStore","useSearchcraftStore","getState","formatLabel","label","replace","char","toUpperCase","formatSubLabel","facetChildAncestor","facetChildPath","handleStateUpdate","state","facetPrime","searchResults","data","facets","timeTaken","_b","time_taken","query","lastQuery","searchMode","lastSearchMode","sortType","lastSortType","selectedPaths","hasNewSearchTerm","lastTimeTaken","facetRoot","undefined","incomingFacetRoot","find","baseFacetRoot","connectedCallback","unsubscribe","subscribe","disconnectedCallback","call","handleCheckboxChange","isCheckboxChecked","updatedPaths","testPath","reduce","acc","str","paths","pathsWithParentPathsRemoved","facetSelectionUpdated","emit","render","firstFacet","h","class","classNames","isChildSelected","checked","onChange","_event","type","Fragment","grandchild","style","display","searchcraftSliderModuleCss","SearchcraftSliderStyle0","SearchcraftSlider","emitUpdate","async","rangeChanged","startValue","endValue","handleStartValueChange","event","inputElement","target","value","Number","parseInt","lastFocusedHandle","handleEndValueChange","getMillis","max","min","componentDidLoad","rangeMin","rangeMax","startPercent","endPercent","startLabel","dataType","Date","getFullYear","endLabel","left","width","onInput","bind","step","granularity","zIndex","searchcraftToggleButtonModuleCss","SearchcraftToggleButtonStyle0","SearchcraftToggleButton","handleToggle","isActive","toggleUpdated","trim","subLabel","active","onClick"],"sources":["src/utils/facets.ts","src/components/searchcraft-facet-list/searchcraft-facet-list.module.scss?tag=searchcraft-facet-list","src/components/searchcraft-facet-list/searchcraft-facet-list.tsx","src/components/searchcraft-slider/searchcraft-slider.module.scss?tag=searchcraft-slider","src/components/searchcraft-slider/searchcraft-slider.tsx","src/components/searchcraft-toggle-button/searchcraft-toggle-button.module.scss?tag=searchcraft-toggle-button","src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"sourcesContent":["import type {\n FacetChild,\n FacetChildObject,\n FacetRoot,\n} from '@searchcraft/core';\n\nfunction deepMergeWithSpread(obj1, obj2) {\n const result = { ...obj1 };\n\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 } else {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\n/**\n * Given an array of facet paths, removes parent facet paths.\n */\nexport function removeSubstringMatches(arr: string[]): string[] {\n return arr.filter(\n (entry, index, array) =>\n !array.some(\n (otherEntry, otherIndex) =>\n otherIndex !== index && otherEntry.includes(entry),\n ),\n );\n}\n\ntype FacetChildFragment = {\n count: number;\n path: string;\n};\n\nfunction facetToRecord(facet: FacetChild): Record<string, FacetChildFragment> {\n const records: Record<string, FacetChildFragment> = {};\n\n const traverseAndAddToFragments = (facetChild: FacetChild) => {\n records[facetChild.path] = {\n count: facetChild.count,\n path: facetChild.path,\n };\n\n facetChild.children?.forEach((child) => {\n traverseAndAddToFragments(child);\n });\n };\n\n traverseAndAddToFragments(facet);\n\n return records;\n}\n\nfunction recordToObject(\n record: Record<string, FacetChildFragment>,\n): FacetChildObject {\n const root: FacetChildObject = {\n count: 0,\n path: '/',\n children: {},\n };\n\n Object.keys(record).forEach((key) => {\n const fragment = record[key];\n if (fragment.path === '/') {\n return;\n }\n const pathParts = fragment.path.substring(1).split('/');\n let currentRoot = root;\n let currentPath = '';\n\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\n if (index === pathParts.length - 1) {\n currentRoot.children[nextPath].count = fragment.count;\n }\n\n currentPath = nextPath;\n currentRoot = currentRoot.children[nextPath];\n });\n });\n\n return root;\n}\n\nfunction objectToFacet(childObject: FacetChildObject): FacetChild {\n const transformed: FacetChild = {\n count: childObject.count,\n path: childObject.path,\n children: [],\n };\n\n if (Object.keys(childObject.children).length > 0) {\n transformed.children = Object.values(childObject.children).map(\n (subChildObject) => objectToFacet(subChildObject),\n );\n }\n\n return transformed;\n}\n\n/**\n * Filters records with the parent paths from record2 OUT of record1\n */\nfunction filterRecordByParentPaths(\n record1: Record<string, FacetChild>,\n record2: Record<string, FacetChild>,\n): Record<string, FacetChild> {\n // Extract all paths (keys) both records\n const paths1 = Object.keys(record1);\n const paths2 = Object.keys(record2);\n\n // Find all parent paths in record2\n const parentPaths = new Set(\n 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 );\n\n // Filter out keys in record1 that share a parent path with any of the identified parent paths\n const filteredRecord = Object.fromEntries(\n paths1\n .filter(\n (path) => !parentPaths.has(path.substring(0, path.lastIndexOf('/'))),\n )\n .map((path) => [path, record1[path]]), // Reconstruct the key-value pairs\n );\n\n return filteredRecord;\n}\n\nexport function mergeFacetRoots(\n fieldName: string,\n currentRoot: FacetRoot,\n incomingRoot: FacetRoot,\n): FacetRoot {\n const currentArray = currentRoot[fieldName];\n const incomingArray = incomingRoot[fieldName];\n\n const currentRootFacetChild: FacetChild = {\n count: 0,\n path: '/',\n children: currentArray,\n };\n\n const incomingRootFacetChild: FacetChild = {\n count: 0,\n path: '/',\n children: incomingArray,\n };\n\n // Flatten them into records\n const currentRecord: Record<string, FacetChildFragment> = facetToRecord(\n currentRootFacetChild,\n );\n\n const incomingRecord: Record<string, FacetChildFragment> = facetToRecord(\n incomingRootFacetChild,\n );\n\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(\n currentRecord,\n incomingRecord,\n );\n\n // Deep merge the records together\n const mergedRecord: Record<string, FacetChildFragment> = deepMergeWithSpread(\n filteredCurrentRecord,\n incomingRecord,\n );\n\n // Convert into a heirarchical object\n const mergedObject: FacetChildObject = recordToObject(mergedRecord);\n\n // Convert the heirarchical object back to the Facet child structure\n const mergedFacetChild = objectToFacet(mergedObject);\n\n return {\n [fieldName]: mergedFacetChild.children,\n };\n}\n",".filtersListContainer {\n width: 100%;\n}\n\n.filterCheckboxLabel {\n align-items: center;\n color: var(--sc-content-primary);\n display: flex;\n font-family: var(--sc-font-family);\n font-size: 14px;\n font-weight: 600;\n gap: 14px;\n position: relative;\n -webkit-font-smoothing: antialiased;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"] {\n align-items: center;\n appearance: none;\n background-color: var(--sc-surface-brand-secondary-hover);\n border: 1px solid var(--sc-surface-disabled);\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n width: 24px;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:focus {\n outline: 2px solid var(--sc-surface-brand-primary);\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:checked {\n background-color: var(--sc-surface-brand-primary);\n position: relative;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:checked + .checkContainer {\n display: block;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:checked + .dashContainer {\n display: block;\n}\n\n.childFilterCheckboxLabel {\n align-items: center;\n color: var(--sc-content-primary);\n display: flex;\n font-family: var(--sc-font-family);\n font-size: 14px;\n font-weight: 600;\n gap: 12px;\n margin-left: 24px;\n position: relative;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"] {\n align-items: center;\n appearance: none;\n background-color: var(--sc-surface-brand-secondary-hover);\n border: 1px solid var(--sc-surface-disabled);\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n position: relative;\n width: 24px;\n -webkit-font-smoothing: antialiased;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:focus {\n outline: 2px solid var(--sc-surface-brand-primary);\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:checked {\n background-color: var(--sc-surface-brand-primary);\n position: relative;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:checked + .checkContainer {\n display: block;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:checked + .dashContainer {\n display: block;\n}\n\n.checkContainer {\n display: none;\n height: 16px;\n width: 16px;\n position: absolute;\n top: 9px;\n left: 8px;\n}\n\n.dashContainer {\n display: none;\n height: 3px;\n width: 14px;\n position: absolute;\n top: 3px;\n left: 9px;\n}\n\n.searchcraft-facet-message {\n @include body-small();\n color: var(--sc-content-disabled);\n text-align: center;\n}","import {\n Component,\n h,\n State,\n Prop,\n Event,\n type EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\nimport type { FacetChild, FacetRoot } from '@searchcraft/core';\n\nimport { useSearchcraftStore, type SearchcraftState } from '@provider/store';\nimport { mergeFacetRoots, removeSubstringMatches } from '@utils';\n\n/**\n * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.\n * It is consumed within the `searchcraft-filter-panel`.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-facet-list field-name=\"title\" />\n * ```\n *\n * ```js\n * // index.js\n * const facetList = document.querySelector('searchcraft-facet-list');\n *\n * facetList.addEventListener('facetSelectionUpdated', () => {\n * console.log('Facet selection updated');\n * });\n * ```\n */\n@Component({\n tag: 'searchcraft-facet-list',\n styleUrl: 'searchcraft-facet-list.module.scss',\n shadow: false,\n})\nexport class SearchcraftFacetList {\n /**\n * The name of the field where facets are applied.\n */\n @Prop() fieldName: string;\n\n /**\n * When the facets are updated.\n */\n @Event() facetSelectionUpdated: EventEmitter<{ paths: string[] }>;\n\n @State() baseFacetRoot: FacetRoot | undefined;\n @State() facetRoot: FacetRoot | undefined;\n @State() selectedPaths: Record<string, boolean> = {};\n @State() lastTimeTaken: number | undefined;\n @State() hasNewSearchTerm = false;\n\n @State() lastQuery: string | undefined;\n @State() lastSearchMode: string | undefined;\n @State() lastSortType: string | undefined;\n\n @State() unsubscribe: (() => void) | undefined;\n\n private searchStore = useSearchcraftStore.getState();\n\n handleStateUpdate(state: SearchcraftState) {\n const facetPrime = state.searchResults?.data.facets;\n const timeTaken = state.searchResults?.data.time_taken;\n\n /** Things to do when the state's search term has changed, but before the response received */\n if (\n state.query !== this.lastQuery ||\n state.searchMode !== this.lastSearchMode ||\n state.sortType !== this.lastSortType\n ) {\n this.selectedPaths = {};\n this.hasNewSearchTerm = true;\n }\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: FacetRoot = facetPrime.find(\n (facet) => this.fieldName === Object.keys(facet)[0],\n );\n\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 } else if (this.baseFacetRoot) {\n /** Data is from an existing search term, merge the facets together */\n this.facetRoot = mergeFacetRoots(\n this.fieldName,\n this.baseFacetRoot,\n incomingFacetRoot,\n );\n }\n }\n\n this.lastQuery = state.query;\n this.lastSearchMode = state.searchMode;\n this.lastSortType = state.sortType;\n this.lastTimeTaken = timeTaken;\n }\n\n connectedCallback() {\n this.handleStateUpdate(this.searchStore);\n\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.handleStateUpdate(state);\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n handleCheckboxChange(path: string) {\n const isCheckboxChecked = !this.selectedPaths[path];\n\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 } else {\n /**\n * Checkbox Uncheck: Remove any paths and sub-paths\n */\n const updatedPaths = Object.keys(this.selectedPaths).filter(\n (testPath) => !testPath.includes(path),\n );\n\n this.selectedPaths = updatedPaths.reduce(\n (acc, str) => {\n acc[str] = true;\n return acc;\n },\n {} as Record<string, boolean>,\n );\n }\n\n /**\n * Emit the paths array, with parent paths removed.\n */\n const paths = Object.keys(this.selectedPaths).filter(\n (path) => this.selectedPaths[path],\n );\n const pathsWithParentPathsRemoved = removeSubstringMatches(paths);\n\n this.facetSelectionUpdated.emit({ paths: pathsWithParentPathsRemoved });\n }\n\n formatLabel = (facetChild: FacetChild): string => {\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\n formatSubLabel = (\n facetChild: FacetChild,\n facetChildAncestor: FacetChild,\n ): string => {\n const facetChildPath = facetChild.path.substring(\n facetChildAncestor.path.length,\n );\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\n render() {\n const firstFacet = this.facetRoot?.[this.fieldName];\n\n return (\n <div\n class={classNames(\n 'filtersListContainer',\n 'searchcraft-filters-list-container',\n )}\n >\n {!firstFacet && (\n <p class='searchcraft-facet-message'>\n Enter a search to view facets.\n </p>\n )}\n {firstFacet?.map((facetChild: FacetChild) => {\n const isChildSelected = facetChild.children\n ? facetChild.children?.some(\n (child) => this.selectedPaths[child.path],\n )\n : false;\n\n return (\n <div\n key={facetChild.path}\n class={classNames('searchcraft-filters-list-item')}\n >\n <label\n class={classNames(\n 'filterCheckboxLabel',\n 'searchcraft-filters-list-checkbox-label',\n )}\n >\n <input\n checked={this.selectedPaths[facetChild.path]}\n onChange={(_event: Event) =>\n this.handleCheckboxChange(facetChild.path)\n }\n type='checkbox'\n />\n {isChildSelected ? (\n <div\n class={classNames(\n 'dashContainer',\n 'searchcraft-filter-list-dash-container',\n )}\n >\n <searchcraft-dash-icon />\n </div>\n ) : (\n <div\n class={classNames(\n 'checkContainer',\n 'searchcraft-filter-list-check-container',\n )}\n >\n <searchcraft-check-icon />\n </div>\n )}\n {this.formatLabel(facetChild)}\n </label>\n {facetChild.children && facetChild.children.length > 0 && (\n <Fragment>\n {facetChild.children.map((grandchild) => (\n <label\n key={grandchild.path}\n class={classNames(\n 'childFilterCheckboxLabel',\n 'searchcraft-child-filter-checkbox-label',\n )}\n style={{\n display: this.selectedPaths[facetChild.path]\n ? 'flex'\n : 'none',\n }}\n >\n <input\n checked={this.selectedPaths[grandchild.path]}\n onChange={(_event: Event) => {\n this.handleCheckboxChange(grandchild.path);\n }}\n type='checkbox'\n />\n <div\n class={classNames(\n 'checkContainer',\n 'searchcraft-filter-list-check-container',\n )}\n >\n <searchcraft-check-icon />\n </div>\n {this.formatSubLabel(grandchild, facetChild)}\n </label>\n ))}\n </Fragment>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n",".searchcraft-slider-container {\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n}\n\n.searchcraft-slider-range-container {\n align-items: center;\n background-color: var(--sc-surface-disabled);\n border-radius: 999px;\n display: flex;\n position: relative;\n height: 4px;\n width: 100%;\n\n &::-webkit-slider-runnable-track {\n pointer-events: none;\n }\n\n .searchcraft-slider-active-range {\n background-color: var(--sc-surface-brand-primary);\n border-radius: 2px;\n height: 4px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 0;\n\n &::-webkit-slider-runnable-track {\n pointer-events: none;\n }\n\n &::-moz-range-track {\n pointer-events: none;\n }\n }\n\n .searchcraft-slider-input {\n appearance: none;\n background: transparent;\n border-radius: 2px;\n height: 4px;\n margin: 0;\n outline: none;\n pointer-events: none;\n position: absolute;\n width: 100%;\n -webkit-appearance: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--sc-surface-neutral-light);\n border-radius: 50%;\n border: 2px solid var(--sc-border-neutral);\n cursor: pointer;\n height: 20px;\n pointer-events: all;\n width: 20px;\n -webkit-appearance: none;\n }\n\n &::-moz-range-thumb {\n background-color: var(--sc-surface-neutral-light);\n border-radius: 50%;\n border: 2px solid var(--sc-border-neutral);\n cursor: pointer;\n height: 20px;\n pointer-events: all;\n width: 20px;\n }\n }\n}\n\n.searchcraft-slider-label-container {\n color: var(--sc-content-primary);\n display: flex;\n font-family: 'Source Sans Pro', sans-serif;\n font-size: 15px;\n font-weight: 600;\n justify-content: space-between;\n margin-top: 10px;\n width: 100%;\n}\n\n.searchcraft-slider-label {\n min-width: 30px;\n text-align: center;\n}","import {\n Component,\n Event,\n type EventEmitter,\n h,\n State,\n Prop,\n} from '@stencil/core';\nimport { getMillis } from '@utils';\nimport classNames from 'classnames';\n\n/**\n * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.\n * The component renders a slider interface, which can be used to visually choose a value between two boundaries.\n * It is consumed by the `searchcraft-filter-panel` component.\n */\n@Component({\n tag: 'searchcraft-slider',\n styleUrl: 'searchcraft-slider.module.scss',\n shadow: false,\n})\nexport class SearchcraftSlider {\n /**\n * The maximum value allowed.\n */\n @Prop() max = 100;\n /**\n * The minimum value allowed.\n */\n @Prop() min = 0;\n /**\n * The granularity that the value must adhere to.\n */\n @Prop() granularity: number = getMillis('month');\n /** The type of data allowed. */\n @Prop() dataType: 'number' | 'date' = 'number';\n\n @State() endValue = this.max;\n @State() startValue = this.min;\n @State() lastFocusedHandle: 'min' | 'max' = 'max';\n\n /**\n * When the range has changed.\n * */\n @Event() rangeChanged: EventEmitter<{ startValue: number; endValue: number }>;\n\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n\n private emitUpdate = async () => {\n this.rangeChanged.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n\n private handleStartValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\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 } else {\n this.startValue = this.endValue;\n inputElement.value = `${this.endValue}`;\n }\n };\n\n private handleEndValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\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 } else {\n this.endValue = this.startValue;\n inputElement.value = `${this.startValue}`;\n }\n };\n\n render() {\n const rangeMin = this.min;\n const rangeMax = this.max;\n const startPercent =\n ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const endPercent =\n ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n\n const startLabel =\n this.dataType === 'number'\n ? this.startValue\n : new Date(this.startValue).getFullYear();\n\n const endLabel =\n this.dataType === 'number'\n ? this.endValue\n : new Date(this.endValue).getFullYear();\n\n return (\n <div class='searchcraft-slider-container'>\n <div class='searchcraft-slider-range-container'>\n <div\n class='searchcraft-slider-active-range'\n style={{\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n }}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-min-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleStartValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }}\n type='range'\n value={this.startValue}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-max-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleEndValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }}\n type='range'\n value={this.endValue}\n />\n </div>\n <div class='searchcraft-slider-label-container'>\n <span class='searchcraft-slider-label'>{startLabel}</span>\n <span class='searchcraft-slider-label'>{endLabel}</span>\n </div>\n </div>\n );\n }\n}\n",".searchcraft-toggle-button-container {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 10px;\n}\n\n.searchcraft-toggle-button-label {\n @include body();\n margin: 0;\n color: var(--sc-content-neutral-primary);\n}\n\n.searchcraft-toggle-button-sub-label {\n @include body-small();\n margin: 0;\n color: var(--sc-content-neutral-secondary);\n}\n\n.searchcraft-toggle-button-background {\n transition: background-color 0.2s;\n background: var(--sc-surface-disabled);\n border: none;\n border-radius: 16px;\n cursor: pointer;\n height: 26px;\n position: relative;\n width: 44px;\n flex-shrink: 0;\n}\n\n.searchcraft-toggle-button-background.active {\n background: var(--sc-surface-brand-primary);\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05);\n}\n\n.searchcraft-toggle-button-handle {\n background: var(--sc-surface-neutral-light);\n border-radius: 50%;\n height: 18px;\n left: 4px;\n position: absolute;\n top: calc(50% - 18px/2);\n transition: transform 0.3s ease;\n width: 18px;\n}\n\n.searchcraft-toggle-button-handle.active {\n transform: translateX(16px);\n}\n","import { useSearchcraftStore } from '@provider/store';\nimport {\n Component,\n Event,\n h,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.\n * It is consumed within the `searchcraft-filter-panel` component.\n */\n@Component({\n tag: 'searchcraft-toggle-button',\n styleUrl: 'searchcraft-toggle-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * The label.\n */\n @Prop() label = 'Toggle';\n /**\n * The secondary label displayed below the main label.\n */\n @Prop() subLabel: string | undefined;\n\n /**\n * When the toggle element is changed.\n */\n @Event() toggleUpdated: EventEmitter<boolean>;\n\n @State() isActive = false;\n @State() unsubscribe: (() => void) | undefined;\n @State() lastQuery: string | undefined;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\n };\n\n connectedCallback() {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query !== this.lastQuery && state.query.trim().length === 0) {\n this.isActive = false;\n }\n this.lastQuery = state.query;\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n render() {\n return (\n <div class='searchcraft-toggle-button-container'>\n <div>\n <p class='searchcraft-toggle-button-label'>{this.label}</p>\n {this.subLabel && (\n <p class='searchcraft-toggle-button-sub-label'>{this.subLabel}</p>\n )}\n </div>\n <button\n class={classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n })}\n onClick={this.handleToggle}\n type='button'\n >\n <div\n class={classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n })}\n />\n </button>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["searchcraftFilterPanelModuleCss","SearchcraftFilterPanelStyle0","SearchcraftFilterPanel","this","searchStore","useSearchcraftStore","getState","componentDidLoad","unsubscribe","subscribe","state","lastQuery","query","disconnectedCallback","_a","call","handleDateRangeChanged","fieldName","min","max","start","Date","end","addRangeValueForIndexField","value","toISOString","search","handleNumericRangeChanged","handleFacetSelectionUpdated","paths","length","addFacetPathsForIndexField","join","removeFacetPathsForIndexField","handleExactMatchToggleUpdated","isActive","setSearchMode","handleMostRecentToggleUpdated","setSortType","render","h","key","class","items","map","filterItem","type","item","options","minDate","getTime","maxDate","granularityValue","getMillis","granularity","label","dataType","onRangeChanged","event","detail","startValue","endValue","onFacetSelectionUpdated","subLabel","onToggleUpdated"],"sources":["src/components/searchcraft-filter-panel/searchcraft-filter-panel.module.scss?tag=searchcraft-filter-panel","src/components/searchcraft-filter-panel/searchcraft-filter-panel.tsx"],"sourcesContent":[".searchcraft-filter-panel {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.searchcraft-filter-panel-section {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.searchcraft-filter-panel-label {\n @include body-small-bold();\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport type {\n FilterItem,\n DateRangeFilterItem,\n NumericFilterItem,\n ExactMatchToggleFilterItem,\n FacetsFilterItem,\n} from '../../types/searchcraft-filter-panel.types';\nimport { useSearchcraftStore } from '@provider/store';\nimport { getMillis } from '@utils';\n\n/**\n * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-filter-panel />\n * ```\n */\n@Component({\n tag: 'searchcraft-filter-panel',\n styleUrl: 'searchcraft-filter-panel.module.scss',\n shadow: false,\n})\nexport class SearchcraftFilterPanel {\n /**\n * The items to filter.\n */\n @Prop() items: FilterItem[] = [];\n\n @State() unsubscribe: (() => void) | undefined;\n @State() lastQuery: string | undefined;\n\n private searchStore = useSearchcraftStore.getState();\n\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (this.lastQuery !== state.query) {\n // A place to put actions to do when the query changes\n }\n this.lastQuery = state.query || '';\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n handleDateRangeChanged(fieldName: string, min: number, max: number) {\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\n this.searchStore.search();\n }\n\n handleNumericRangeChanged(fieldName: string, min: number, max: number) {\n this.searchStore.addRangeValueForIndexField({\n fieldName,\n value: `${fieldName}:[${min} TO ${max}]`,\n });\n this.searchStore.search();\n }\n\n handleFacetSelectionUpdated(fieldName: string, paths: string[]) {\n if (paths.length > 0) {\n this.searchStore.addFacetPathsForIndexField({\n fieldName,\n value: `${fieldName}: IN [${paths.join(' ')}]`,\n });\n } else {\n this.searchStore.removeFacetPathsForIndexField(fieldName);\n }\n this.searchStore.search();\n }\n\n handleExactMatchToggleUpdated(isActive: boolean) {\n this.searchStore.setSearchMode(isActive ? 'exact' : 'fuzzy');\n this.searchStore.search();\n }\n\n handleMostRecentToggleUpdated(isActive: boolean) {\n this.searchStore.setSortType(isActive ? 'desc' : 'asc');\n this.searchStore.search();\n }\n\n /**\n * Iterate through `items` and render them based on `type`\n */\n render() {\n return (\n <div class='searchcraft-filter-panel'>\n {this.items.map((filterItem) => {\n switch (filterItem.type) {\n case 'dateRange': {\n const item = filterItem as DateRangeFilterItem;\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 (\n <div class='searchcraft-filter-panel-section'>\n <p class='searchcraft-filter-panel-label'>\n {filterItem.label}\n </p>\n <searchcraft-slider\n min={min}\n max={max}\n granularity={granularityValue}\n dataType='date'\n onRangeChanged={(event) => {\n this.handleDateRangeChanged(\n item.fieldName,\n event.detail.startValue,\n event.detail.endValue,\n );\n }}\n />\n </div>\n );\n }\n case 'numericRange': {\n const item = filterItem as NumericFilterItem;\n // return date range slider\n return (\n <div class='searchcraft-filter-panel-section'>\n <p class='searchcraft-filter-panel-label'>\n {filterItem.label}\n </p>\n <searchcraft-slider\n min={item.options.min}\n max={item.options.max}\n granularity={item.options.granularity}\n onRangeChanged={(event) => {\n this.handleNumericRangeChanged(\n item.fieldName,\n event.detail.startValue,\n event.detail.endValue,\n );\n }}\n />\n </div>\n );\n }\n case 'facets': {\n const item = filterItem as FacetsFilterItem;\n // return \"filters-list\"\n return (\n <div class='searchcraft-filter-panel-section'>\n <p class='searchcraft-filter-panel-label'>\n {filterItem.label}\n </p>\n <searchcraft-facet-list\n fieldName={item.fieldName}\n onFacetSelectionUpdated={(event) => {\n this.handleFacetSelectionUpdated(\n item.fieldName,\n event.detail.paths,\n );\n }}\n />\n </div>\n );\n }\n case 'exactMatchToggle': {\n const item = filterItem as ExactMatchToggleFilterItem;\n return (\n <searchcraft-toggle-button\n label={item.label}\n subLabel={item.options.subLabel}\n onToggleUpdated={(event) => {\n this.handleExactMatchToggleUpdated(event.detail);\n }}\n />\n );\n }\n case 'mostRecentToggle': {\n const item = filterItem as ExactMatchToggleFilterItem;\n return (\n <searchcraft-toggle-button\n label={item.label}\n subLabel={item.options.subLabel}\n onToggleUpdated={(event) => {\n this.handleMostRecentToggleUpdated(event.detail);\n }}\n />\n );\n }\n }\n })}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["searchcraftBaseSearchResultsModuleCss","SearchcraftBaseSearchResultsStyle0","SearchcraftBaseSearchResults","componentDidLoad","this","unsubscribe","useSearchcraftStore","subscribe","state","query","length","hasSearched","searchResults","Object","assign","getState","disconnectedCallback","renderDocument","document","index","titleContent","getDocumentValueFromSearchResultMapping","searchResultMappings","title","subtitleContent","subtitle","bodyContent","body","containerHref","buttonHref","imageSource","footerContent","footer","serializedStyles","customStylesForResults","serializeStyles","h","key","document_id","resultImagePlacement","containerRel","containerTarget","buttonLabel","buttonRel","buttonTarget","render","trim","class","name","_a","data","documents","_d","_c","_b","hits","map","_index","doc","result","finalComponents","placeAdAtStart","push","adInterval","forEach","documentElements","placeAdAtEnd","_g","_f","_e","noResults","emit","_k","_j","_h"],"sources":["src/components/searchcraft-base-search-results/searchcraft-base-search-results.module.scss?tag=searchcraft-base-search-results","src/components/searchcraft-base-search-results/searchcraft-base-search-results.tsx"],"sourcesContent":[".searchcraft-search-results-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 16px;\n}\n\n.searchcraft-ad-section {\n align-items: center;\n background-color: #F1F1F1;\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n font-size: 16px;\n justify-content: center;\n min-height: 176px;\n text-align: center;\n\n p {\n margin: 0;\n color: var(--sc-content-disabled);\n }\n}\n\n.searchcraft-search-results-empty-state-container {\n text-align: center;\n}\n\n.searchcraft-search-results-error-message-container {\n text-align: center;\n}\n","import {\n Component,\n h,\n Event,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\n\nimport type { SearchcraftResponse } from '@searchcraft/core';\n\nimport { useSearchcraftStore } from '@provider/store';\n\nimport {\n getDocumentValueFromSearchResultMapping,\n serializeStyles,\n} from '@utils';\nimport type { SearchResultMappings } from 'types';\n\n/**\n * This web component is responsible for displaying the results of a search query.\n * Once a query is submitted, the component formats and presents an ordered list of the results.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-base-search-results\n * ad-interval=\"4\"\n * place-ad-at-start=\"false\"\n * result-image-placement=\"right\"\n * />\n * ```\n *\n * ```js\n * // index.js\n * const baseSearchResults = document.querySelector('searchcraft-base-search-results');\n *\n * baseSearchResults.searchResultMappings = containerHref: {\n * fieldNames: [\n * {\n * fieldName: 'canonical_link',\n * dataType: 'text',\n * },\n * ],\n * };\n *\n * baseSearchResults.addEventListener('noResults', () => {\n * console.log('No search results found');\n * });\n * ```\n */\n@Component({\n tag: 'searchcraft-base-search-results',\n styleUrl: 'searchcraft-base-search-results.module.scss',\n shadow: false,\n})\nexport class SearchcraftBaseSearchResults {\n /**\n * How often ads are injected.\n */\n @Prop() adInterval = 4;\n /**\n * A custom styles object.\n */\n @Prop() customStylesForResults:\n | string\n | Record<string, Record<string, string>>\n | undefined;\n /**\n * Formats the content rendered for each result.\n */\n @Prop() searchResultMappings: SearchResultMappings | undefined;\n /**\n * Should an ad be placed at the end of the results.\n */\n @Prop() placeAdAtEnd = false;\n /**\n * Should an ad be placed at the start of the results.\n */\n @Prop() placeAdAtStart = true;\n /**\n * The placement of the image for each result.\n */\n @Prop() resultImagePlacement: 'left' | 'right' = 'right';\n /**\n * The label for the button rendered when containerHref is not present for each result.\n */\n @Prop() buttonLabel: string | undefined;\n /**\n * Where to open the link for the button rendered when containerHref is not present for each result.\n */\n @Prop() buttonTarget: '_blank' | '_self' | '_top' | '_parent' = '_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 @Prop() buttonRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n /**\n * Where to open the link for the containing element for each result.\n */\n @Prop() containerTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the containing element for each result.\n */\n @Prop() containerRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n\n /**\n * When no results are returned.\n */\n @Event() noResults: EventEmitter<void>;\n\n @State() hasSearched = false;\n @State() query = '';\n @State() searchResults: SearchcraftResponse | null = null;\n\n private unsubscribe: () => void;\n\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query.length > 0) {\n this.hasSearched = true;\n } else {\n this.hasSearched = false;\n }\n this.searchResults = { ...state.searchResults };\n this.query = state.query;\n });\n\n const { searchResults, query } = useSearchcraftStore.getState();\n this.searchResults = searchResults;\n this.query = query;\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n renderDocument(document: Record<string, unknown>, index: number) {\n /**\n * Index field values -> Result container props mappings.\n */\n const titleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.title,\n );\n const subtitleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.subtitle,\n );\n const bodyContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.body,\n );\n const containerHref = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.containerHref,\n );\n const buttonHref = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.buttonHref,\n );\n const imageSource = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.imageSource,\n );\n const footerContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings.footer,\n );\n\n const serializedStyles =\n typeof this.customStylesForResults === 'string'\n ? this.customStylesForResults\n : serializeStyles(this.customStylesForResults);\n\n return (\n <searchcraft-base-search-result\n key={`${document.document_id}-${index}`}\n custom-styles={serializedStyles}\n image-placement={this.resultImagePlacement}\n container-rel={this.containerRel}\n container-target={this.containerTarget}\n button-label={this.buttonLabel || 'View more'}\n button-rel={this.buttonRel}\n button-target={this.buttonTarget}\n document-position={index}\n title-content={titleContent}\n subtitle-content={subtitleContent}\n body-content={bodyContent}\n footer-content={footerContent}\n container-href={containerHref}\n button-href={buttonHref}\n image-src={imageSource}\n />\n );\n }\n\n render() {\n if (this.query.trim() === '') {\n return (\n <div class='searchcraft-search-results-empty-state-container'>\n <slot name='empty-search' />\n </div>\n );\n }\n\n if (!this.searchResults?.data) {\n return;\n }\n\n const documents: Record<string, unknown>[] =\n this.searchResults?.data?.hits?.map((data, _index) => {\n const { doc: result } = data;\n return result;\n });\n\n const finalComponents: JSX.Element[] = [];\n\n if (this.placeAdAtStart) {\n finalComponents.push(\n <div key='ad-section-start' class='searchcraft-ad-section'>\n <p>Ad Section</p>\n </div>,\n );\n }\n\n if (this.adInterval > 0) {\n documents.forEach((document, index) => {\n finalComponents.push(this.renderDocument(document, index));\n\n if ((index + 1) % this.adInterval === 0) {\n finalComponents.push(\n <div\n key={`ad-section-${index + 1}`}\n class='searchcraft-ad-section '\n >\n <p>Ad Section</p>\n </div>,\n );\n }\n });\n } else {\n const documentElements = documents.map((document, index) =>\n this.renderDocument(document, index),\n );\n finalComponents.push(...documentElements);\n }\n\n if (this.placeAdAtEnd) {\n finalComponents.push(\n <div key='ad-section-end' class='searchcraft-ad-section'>\n <p>Ad Section</p>\n </div>,\n );\n }\n\n if (this.query.length > 0 && this.searchResults?.data?.hits?.length === 0) {\n this.noResults.emit();\n }\n\n return (\n <div class='searchcraft-search-results-container'>\n {finalComponents}\n {this.query.length > 0 &&\n this.searchResults?.data?.hits?.length === 0 && (\n <div class='searchcraft-search-results-error-message-container'>\n <searchcraft-error-message\n error-message={`No search results found for \"${this.query}\" query`}\n />\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- var e={};var n={};const t=e=>{let n;const t=new Set;const r=(e,r)=>{const o=typeof e==="function"?e(n):e;if(!Object.is(o,n)){const e=n;n=(r!=null?r:typeof o!=="object"||o===null)?o:Object.assign({},n,o);t.forEach((t=>t(n,e)))}};const o=()=>n;const i=()=>u;const a=e=>{t.add(e);return()=>t.delete(e)};const c={setState:r,getState:o,getInitialState:i,subscribe:a};const u=n=e(r,o,c);return c};const r=e=>e?t(e):t;n.createStore=r;var o={};var i={exports:{}};var a={};
2
- /**
3
- * @license React
4
- * react.production.min.js
5
- *
6
- * Copyright (c) Facebook, Inc. and its affiliates.
7
- *
8
- * This source code is licensed under the MIT license found in the
9
- * LICENSE file in the root directory of this source tree.
10
- */var c=Symbol.for("react.element"),u=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),h=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),w=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.iterator;function b(e){if(null===e||"object"!==typeof e)return null;e=y&&e[y]||e["@@iterator"];return"function"===typeof e?e:null}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,M={};function O(e,n,t){this.props=e;this.context=n;this.refs=M;this.updater=t||g}O.prototype.isReactComponent={};O.prototype.setState=function(e,n){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};O.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function x(){}x.prototype=O.prototype;function F(e,n,t){this.props=e;this.context=n;this.refs=M;this.updater=t||g}var j=F.prototype=new x;j.constructor=F;S(j,O.prototype);j.isPureReactComponent=!0;var P=Array.isArray,k=Object.prototype.hasOwnProperty,I={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function R(e,n,t){var r,o={},i=null,a=null;if(null!=n)for(r in void 0!==n.ref&&(a=n.ref),void 0!==n.key&&(i=""+n.key),n)k.call(n,r)&&!E.hasOwnProperty(r)&&(o[r]=n[r]);var u=arguments.length-2;if(1===u)o.children=t;else if(1<u){for(var s=Array(u),f=0;f<u;f++)s[f]=arguments[f+2];o.children=s}if(e&&e.defaultProps)for(r in u=e.defaultProps,u)void 0===o[r]&&(o[r]=u[r]);return{$$typeof:c,type:e,key:i,ref:a,props:o,_owner:I.current}}function _(e,n){return{$$typeof:c,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function T(e){return"object"===typeof e&&null!==e&&e.$$typeof===c}function A(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return n[e]}))}var C=/\/+/g;function $(e,n){return"object"===typeof e&&null!==e&&null!=e.key?A(""+e.key):n.toString(36)}function U(e,n,t,r,o){var i=typeof e;if("undefined"===i||"boolean"===i)e=null;var a=!1;if(null===e)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case c:case u:a=!0}}if(a)return a=e,o=o(a),e=""===r?"."+$(a,0):r,P(o)?(t="",null!=e&&(t=e.replace(C,"$&/")+"/"),U(o,n,t,"",(function(e){return e}))):null!=o&&(T(o)&&(o=_(o,t+(!o.key||a&&a.key===o.key?"":(""+o.key).replace(C,"$&/")+"/")+e)),n.push(o)),1;a=0;r=""===r?".":r+":";if(P(e))for(var s=0;s<e.length;s++){i=e[s];var f=r+$(i,s);a+=U(i,n,t,f,o)}else if(f=b(e),"function"===typeof f)for(e=f.call(e),s=0;!(i=e.next()).done;)i=i.value,f=r+$(i,s++),a+=U(i,n,t,f,o);else if("object"===i)throw n=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return a}function q(e,n,t){if(null==e)return e;var r=[],o=0;U(e,r,"","",(function(e){return n.call(t,e,o++)}));return r}function V(e){if(-1===e._status){var n=e._result;n=n();n.then((function(n){if(0===e._status||-1===e._status)e._status=1,e._result=n}),(function(n){if(0===e._status||-1===e._status)e._status=2,e._result=n}));-1===e._status&&(e._status=0,e._result=n)}if(1===e._status)return e._result.default;throw e._result}var B={current:null},D={transition:null},L={ReactCurrentDispatcher:B,ReactCurrentBatchConfig:D,ReactCurrentOwner:I};function N(){throw Error("act(...) is not supported in production builds of React.")}a.Children={map:q,forEach:function(e,n,t){q(e,(function(){n.apply(this,arguments)}),t)},count:function(e){var n=0;q(e,(function(){n++}));return n},toArray:function(e){return q(e,(function(e){return e}))||[]},only:function(e){if(!T(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};a.Component=O;a.Fragment=s;a.Profiler=l;a.PureComponent=F;a.StrictMode=f;a.Suspense=m;a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=L;a.act=N;a.cloneElement=function(e,n,t){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=S({},e.props),o=e.key,i=e.ref,a=e._owner;if(null!=n){void 0!==n.ref&&(i=n.ref,a=I.current);void 0!==n.key&&(o=""+n.key);if(e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(s in n)k.call(n,s)&&!E.hasOwnProperty(s)&&(r[s]=void 0===n[s]&&void 0!==u?u[s]:n[s])}var s=arguments.length-2;if(1===s)r.children=t;else if(1<s){u=Array(s);for(var f=0;f<s;f++)u[f]=arguments[f+2];r.children=u}return{$$typeof:c,type:e.type,key:o,ref:i,props:r,_owner:a}};a.createContext=function(e){e={$$typeof:h,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};e.Provider={$$typeof:d,_context:e};return e.Consumer=e};a.createElement=R;a.createFactory=function(e){var n=R.bind(null,e);n.type=e;return n};a.createRef=function(){return{current:null}};a.forwardRef=function(e){return{$$typeof:v,render:e}};a.isValidElement=T;a.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:V}};a.memo=function(e,n){return{$$typeof:w,type:e,compare:void 0===n?null:n}};a.startTransition=function(e){var n=D.transition;D.transition={};try{e()}finally{D.transition=n}};a.unstable_act=N;a.useCallback=function(e,n){return B.current.useCallback(e,n)};a.useContext=function(e){return B.current.useContext(e)};a.useDebugValue=function(){};a.useDeferredValue=function(e){return B.current.useDeferredValue(e)};a.useEffect=function(e,n){return B.current.useEffect(e,n)};a.useId=function(){return B.current.useId()};a.useImperativeHandle=function(e,n,t){return B.current.useImperativeHandle(e,n,t)};a.useInsertionEffect=function(e,n){return B.current.useInsertionEffect(e,n)};a.useLayoutEffect=function(e,n){return B.current.useLayoutEffect(e,n)};a.useMemo=function(e,n){return B.current.useMemo(e,n)};a.useReducer=function(e,n,t){return B.current.useReducer(e,n,t)};a.useRef=function(e){return B.current.useRef(e)};a.useState=function(e){return B.current.useState(e)};a.useSyncExternalStore=function(e,n,t){return B.current.useSyncExternalStore(e,n,t)};a.useTransition=function(){return B.current.useTransition()};a.version="18.3.1";{i.exports=a}var z=i.exports;var G=n;const W=e=>e;function J(e,n=W){const t=z.useSyncExternalStore(e.subscribe,(()=>n(e.getState())),(()=>n(e.getInitialState())));z.useDebugValue(t);return t}const H=e=>{const n=G.createStore(e);const t=e=>J(n,e);Object.assign(t,n);return t};const Q=e=>e?H(e):H;o.create=Q;o.useStore=J;(function(e){var t=n;var r=o;Object.keys(t).forEach((function(n){if(n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n))Object.defineProperty(e,n,{enumerable:true,get:function(){return t[n]}})}));Object.keys(r).forEach((function(n){if(n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n))Object.defineProperty(e,n,{enumerable:true,get:function(){return r[n]}})}))})(e);var K=Object.defineProperty;var X=(e,n,t)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var Z=(e,n,t)=>X(e,typeof n!="symbol"?n+"":n,t);const Y="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let ee=(e=21)=>{let n="",t=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)n+=Y[t[e]&63];return n};function ne(e,n,t,r){return new(t||(t=Promise))((function(n,o){function i(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var r;e.done?n(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(i,a)}c((r=r.apply(e,[])).next())}))}function te(e,n){var t,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(u){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(o=a.trys,!((o=o.length>0&&o[o.length-1])||c[0]!==6&&c[0]!==2)){a=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(c[0]===6&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=n.call(e,a)}catch(e){c=[6,e],r=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}var re={exclude:[]},oe={},ie={timeout:"true"},ae=function(e,n){typeof window<"u"&&(oe[e]=n)},ce=function(){return Object.fromEntries(Object.entries(oe).filter((function(e){var n,t=e[0];return!(!((n=re==null?void 0:re.exclude)===null||n===void 0)&&n.includes(t))})).map((function(e){return[e[0],(0,e[1])()]})))};function ue(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}var se=new Uint32Array([597399067,2869860233,951274213,2716044179]);function fe(e,n){return e<<n|e>>>32-n}function le(e,n){var t;if(n===void 0&&(n=0),n=n?0|n:0,typeof e=="string"&&(t=e,e=(new TextEncoder).encode(t).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");var r=new Uint32Array([n,n,n,n]);(function(e,n){for(var t=e.byteLength/16|0,r=new Uint32Array(e,0,4*t),o=0;o<t;o++){var i=r.subarray(4*o,4*(o+1));i[0]=Math.imul(i[0],se[0]),i[0]=fe(i[0],15),i[0]=Math.imul(i[0],se[1]),n[0]=n[0]^i[0],n[0]=fe(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,i[1]=Math.imul(i[1],se[1]),i[1]=fe(i[1],16),i[1]=Math.imul(i[1],se[2]),n[1]=n[1]^i[1],n[1]=fe(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,i[2]=Math.imul(i[2],se[2]),i[2]=fe(i[2],17),i[2]=Math.imul(i[2],se[3]),n[2]=n[2]^i[2],n[2]=fe(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,i[3]=Math.imul(i[3],se[3]),i[3]=fe(i[3],18),i[3]=Math.imul(i[3],se[0]),n[3]=n[3]^i[3],n[3]=fe(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}})(e,r),function(e,n){var t=e.byteLength/16|0,r=e.byteLength%16,o=new Uint32Array(4),i=new Uint8Array(e,16*t,r);switch(r){case 15:o[3]=o[3]^i[14]<<16;case 14:o[3]=o[3]^i[13]<<8;case 13:o[3]=o[3]^i[12]<<0,o[3]=Math.imul(o[3],se[3]),o[3]=fe(o[3],18),o[3]=Math.imul(o[3],se[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^i[11]<<24;case 11:o[2]=o[2]^i[10]<<16;case 10:o[2]=o[2]^i[9]<<8;case 9:o[2]=o[2]^i[8]<<0,o[2]=Math.imul(o[2],se[2]),o[2]=fe(o[2],17),o[2]=Math.imul(o[2],se[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^i[7]<<24;case 7:o[1]=o[1]^i[6]<<16;case 6:o[1]=o[1]^i[5]<<8;case 5:o[1]=o[1]^i[4]<<0,o[1]=Math.imul(o[1],se[1]),o[1]=fe(o[1],16),o[1]=Math.imul(o[1],se[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^i[3]<<24;case 3:o[0]=o[0]^i[2]<<16;case 2:o[0]=o[0]^i[1]<<8;case 1:o[0]=o[0]^i[0]<<0,o[0]=Math.imul(o[0],se[0]),o[0]=fe(o[0],15),o[0]=Math.imul(o[0],se[1]),n[0]=n[0]^o[0]}}(e,r),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=ue(n[0]),n[1]=ue(n[1]),n[2]=ue(n[2]),n[3]=ue(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,r);var o=new Uint8Array(r.buffer);return Array.from(o).map((function(e){return e.toString(16).padStart(2,"0")})).join("")}function de(e,n){return new Promise((function(t){setTimeout((function(){return t(n)}),e)}))}function he(e,n,t){return Promise.all(e.map((function(e){return Promise.race([e,de(n,t)])})))}function ve(){return ne(this,void 0,void 0,(function(){var e,n,t,r,o;return te(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),e=ce(),n=Object.keys(e),[4,he(Object.values(e),(re==null?void 0:re.timeout)||1e3,ie)];case 1:return t=i.sent(),r=t.filter((function(e){return e!==void 0})),o={},r.forEach((function(e,t){o[n[t]]=e})),[2,me(o,re.exclude||[])];case 2:throw i.sent();case 3:return[2]}}))}))}function me(e,n){var t={},r=function(r){if(e.hasOwnProperty(r)){var o=e[r];if(typeof o!="object"||Array.isArray(o))n.includes(r)||(t[r]=o);else{var i=me(o,n.map((function(e){return e.startsWith(r+".")?e.slice(r.length+1):e})));Object.keys(i).length>0&&(t[r]=i)}}};for(var o in e)r(o);return t}function we(e){return ne(this,void 0,void 0,(function(){var e,n;return te(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,ve()];case 1:return e=t.sent(),n=le(JSON.stringify(e)),[2,n.toString()];case 2:throw t.sent();case 3:return[2]}}))}))}function pe(e){for(var n=0,t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function ye(e,n,t){for(var r=[],o=0;o<e[0].data.length;o++){for(var i=[],a=0;a<e.length;a++)i.push(e[a].data[o]);r.push(be(i))}var c=new Uint8ClampedArray(r);return new ImageData(c,n,t)}function be(e){if(e.length===0)return 0;for(var n={},t=0,r=e;t<r.length;t++)n[i=r[t]]=(n[i]||0)+1;var o=e[0];for(var i in n)n[i]>n[o]&&(o=parseInt(i,10));return o}function ge(){if(typeof navigator>"u")return{name:"unknown",version:"unknown"};for(var e=navigator.userAgent,n={Edg:"Edge",OPR:"Opera"},t=0,r=[/(?<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+)?)/];t<r.length;t++){var o=r[t],i=e.match(o);if(i&&i.groups)return{name:n[i.groups.name]||i.groups.name,version:i.groups.version}}return{name:"unknown",version:"unknown"}}ae("audio",(function(){return ne(this,void 0,void 0,(function(){return te(this,(function(e){return[2,new Promise((function(e,n){try{var t=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,5e3,44100),r=t.createBufferSource(),o=t.createOscillator();o.frequency.value=1e3;var i,a=t.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.2,o.connect(a),a.connect(t.destination),o.start(),t.oncomplete=function(n){i=n.renderedBuffer.getChannelData(0),e({sampleHash:pe(i),oscillator:o.type,maxChannels:t.destination.maxChannelCount,channelCountMode:r.channelCountMode})},t.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))]}))}))}));var Se=ge().name!=="SamsungBrowser"?1:3,Me=280,Oe=20;ge().name!="Firefox"&&ae("canvas",(function(){return document.createElement("canvas").getContext("2d"),new Promise((function(e){var n=Array.from({length:Se},(function(){return function(){var e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=Me,e.height=Oe;var t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"red"),t.addColorStop(.16666666666666666,"orange"),t.addColorStop(.3333333333333333,"yellow"),t.addColorStop(.5,"green"),t.addColorStop(.6666666666666666,"blue"),t.addColorStop(.8333333333333334,"indigo"),t.addColorStop(1,"violet"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height);var r="Random Text WMwmil10Oo";n.font="23.123px Arial",n.fillStyle="black",n.fillText(r,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(r,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke();var o=n.getImageData(0,0,e.width,e.height);return o}()}));e({commonImageDataHash:le(ye(n,Me,Oe).data.toString()).toString()})}))}));var xe,Fe=["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"],je=["monospace","sans-serif","serif"];function Pe(e,n){if(!e)throw new Error("Canvas context not supported");return e.font="72px ".concat(n),e.measureText("WwMmLli0Oo").width}function ke(){var e,n=document.createElement("canvas"),t=(e=n.getContext("webgl"))!==null&&e!==void 0?e:n.getContext("experimental-webgl");if(t&&"getParameter"in t)try{var r=(t.getParameter(t.VENDOR)||"").toString(),o=(t.getParameter(t.RENDERER)||"").toString(),i={vendor:r,renderer:o,version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};if(!o.length||!r.length){var a=t.getExtension("WEBGL_debug_renderer_info");if(a){var c=(t.getParameter(a.UNMASKED_VENDOR_WEBGL)||"").toString(),u=(t.getParameter(a.UNMASKED_RENDERER_WEBGL)||"").toString();c&&(i.vendorUnmasked=c),u&&(i.rendererUnmasked=u)}}return i}catch{}return"undefined"}function Ie(){var e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}function Ee(e,n){var t={};return n.forEach((function(n){var r=function(e){if(e.length===0)return null;var n={};e.forEach((function(e){var t=String(e);n[t]=(n[t]||0)+1}));var t=e[0],r=1;return Object.keys(n).forEach((function(e){n[e]>r&&(t=e,r=n[e])})),t}(e.map((function(e){return n in e?e[n]:void 0})).filter((function(e){return e!==void 0})));r&&(t[n]=r)})),t}function Re(){var e=[],n={"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"]};return Object.keys(n).forEach((function(t){n[t].forEach((function(n){matchMedia("(".concat(t,": ").concat(n,")")).matches&&e.push("".concat(t,": ").concat(n))}))})),e}function _e(){if(window.location.protocol==="https:"&&typeof window.ApplePaySession=="function")try{for(var e=window.ApplePaySession.supportsVersion,n=15;n>0;n--)if(e(n))return n}catch{return 0}return 0}ge().name!="Firefox"&&ae("fonts",(function(){var e=this;return new Promise((function(n,t){try{(function(e){var n;ne(this,void 0,void 0,(function(){var t,r,o;return te(this,(function(i){switch(i.label){case 0:return document.body?[3,2]:[4,(a=50,new Promise((function(e){return setTimeout(e,a,c)})))];case 1:return i.sent(),[3,0];case 2:if((t=document.createElement("iframe")).setAttribute("frameBorder","0"),(r=t.style).setProperty("position","fixed"),r.setProperty("display","block","important"),r.setProperty("visibility","visible"),r.setProperty("border","0"),r.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t),!(o=t.contentDocument||((n=t.contentWindow)===null||n===void 0?void 0:n.document)))throw new Error("Iframe document is not accessible");return e({iframe:o}),setTimeout((function(){document.body.removeChild(t)}),0),[2]}var a,c}))}))})((function(t){var r=t.iframe;return ne(e,void 0,void 0,(function(){var e,t,o,i;return te(this,(function(a){return e=r.createElement("canvas"),t=e.getContext("2d"),o=je.map((function(e){return Pe(t,e)})),i={},Fe.forEach((function(e){var n=Pe(t,e);o.includes(n)||(i[e]=n)})),n(i),[2]}))}))}))}catch{t({error:"unsupported"})}}))})),ae("hardware",(function(){return new Promise((function(e,n){var t=navigator.deviceMemory!==void 0?navigator.deviceMemory:0,r=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:ke(),architecture:Ie(),deviceMemory:t.toString()||"undefined",jsHeapSizeLimit:r.jsHeapSizeLimit||0})}))})),ae("locales",(function(){return new Promise((function(e){e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))})),ae("permissions",(function(){return ne(this,void 0,void 0,(function(){var e;return te(this,(function(n){return xe=(re==null?void 0:re.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"],e=Array.from({length:(re==null?void 0:re.retries)||3},(function(){return function(){return ne(this,void 0,void 0,(function(){var e,n,t,r,o;return te(this,(function(i){switch(i.label){case 0:e={},n=0,t=xe,i.label=1;case 1:if(!(n<t.length))return[3,6];r=t[n],i.label=2;case 2:return i.trys.push([2,4,,5]),[4,navigator.permissions.query({name:r})];case 3:return o=i.sent(),e[r]=o.state.toString(),[3,5];case 4:return i.sent(),[3,5];case 5:return n++,[3,1];case 6:return[2,e]}}))}))}()})),[2,Promise.all(e).then((function(e){return Ee(e,xe)}))]}))}))})),ae("plugins",(function(){var e=[];if(navigator.plugins)for(var n=0;n<navigator.plugins.length;n++){var t=navigator.plugins[n];e.push([t.name,t.filename,t.description].join("|"))}return new Promise((function(n){n({plugins:e})}))})),ae("screen",(function(){return new Promise((function(e){e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:Re()})}))})),ae("system",(function(){return new Promise((function(e){var n=ge();e({platform:window.navigator.platform,cookieEnabled:window.navigator.cookieEnabled,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version},applePayVersion:_e()})}))}));var Te,Ae=ge().name!=="SamsungBrowser"?1:3,Ce=null;ae("webgl",(function(){return ne(this,void 0,void 0,(function(){var e;return te(this,(function(n){typeof document<"u"&&((Te=document.createElement("canvas")).width=200,Te.height=100,Ce=Te.getContext("webgl"));try{if(!Ce)throw new Error("WebGL not supported");return e=Array.from({length:Ae},(function(){return function(){try{if(!Ce)throw new Error("WebGL not supported");var e=`\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n `,n=`\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `,t=Ce.createShader(Ce.VERTEX_SHADER),r=Ce.createShader(Ce.FRAGMENT_SHADER);if(!t||!r)throw new Error("Failed to create shaders");if(Ce.shaderSource(t,e),Ce.shaderSource(r,n),Ce.compileShader(t),!Ce.getShaderParameter(t,Ce.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+Ce.getShaderInfoLog(t));if(Ce.compileShader(r),!Ce.getShaderParameter(r,Ce.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+Ce.getShaderInfoLog(r));var o=Ce.createProgram();if(!o)throw new Error("Failed to create shader program");if(Ce.attachShader(o,t),Ce.attachShader(o,r),Ce.linkProgram(o),!Ce.getProgramParameter(o,Ce.LINK_STATUS))throw new Error("Shader program linking failed: "+Ce.getProgramInfoLog(o));Ce.useProgram(o);for(var i=137,a=new Float32Array(4*i),c=2*Math.PI/i,u=0;u<i;u++){var s=u*c;a[4*u]=0,a[4*u+1]=0,a[4*u+2]=Math.cos(s)*(Te.width/2),a[4*u+3]=Math.sin(s)*(Te.height/2)}var f=Ce.createBuffer();Ce.bindBuffer(Ce.ARRAY_BUFFER,f),Ce.bufferData(Ce.ARRAY_BUFFER,a,Ce.STATIC_DRAW);var l=Ce.getAttribLocation(o,"position");Ce.enableVertexAttribArray(l),Ce.vertexAttribPointer(l,2,Ce.FLOAT,!1,0,0),Ce.viewport(0,0,Te.width,Te.height),Ce.clearColor(0,0,0,1),Ce.clear(Ce.COLOR_BUFFER_BIT),Ce.drawArrays(Ce.LINES,0,2*i);var d=new Uint8ClampedArray(Te.width*Te.height*4);return Ce.readPixels(0,0,Te.width,Te.height,Ce.RGBA,Ce.UNSIGNED_BYTE,d),new ImageData(d,Te.width,Te.height)}catch{return new ImageData(1,1)}finally{Ce&&(Ce.bindBuffer(Ce.ARRAY_BUFFER,null),Ce.useProgram(null),Ce.viewport(0,0,Ce.drawingBufferWidth,Ce.drawingBufferHeight),Ce.clearColor(0,0,0,0))}}()})),[2,{commonImageHash:le(ye(e,Te.width,Te.height).data.toString()).toString()}]}catch{return[2,{webgl:"unsupported"}]}return[2]}))}))}));var $e=function(e,n,t,r){for(var o=(t-n)/r,i=0,a=0;a<r;a++)i+=e(n+(a+.5)*o);return i*o};ae("math",(function(){return ne(void 0,void 0,void 0,(function(){return te(this,(function(e){return[2,{acos:Math.acos(.5),asin:$e(Math.asin,-1,1,97),atan:$e(Math.atan,-1,1,97),cos:$e(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:$e(Math.sin,-Math.PI,Math.PI,97),sinh:$e(Math.sinh,-9/7,7/9,97),sqrt:Math.sqrt(2),tan:$e(Math.tan,0,2*Math.PI,97),tanh:$e(Math.tanh,-9/7,7/9,97)}]}))}))}));const Ue=500;class qe{constructor(e,n){Z(this,"config");Z(this,"sdkInfo");Z(this,"userId");Z(this,"sessionId");Z(this,"searchRequestTimeout");Z(this,"measureRequestTimeout");Z(this,"measureRequestsBatched",[]);Z(this,"search",((e,n)=>{const t=async()=>{if(this.sendMeasureEvent("search_requested",{search_term:e.query}),(e.query.match(/"/g)||[]).length%2!==0)throw new Error("The search term contains an uneven number of quote characters.");try{const t={query:this.buildQueryObject(e),limit:e.limit??20};e.offset!==void 0&&(t.offset=e.offset),e.order_by&&(t.order_by=e.order_by,t.sort=e.sort==="desc"||e.sort==="asc"?e.sort:"asc");const r={method:"POST",headers:{Authorization:this.config.readKey,"Content-Type":"application/json","X-Sc-User-Id":this.userId},body:JSON.stringify(t)},o=await fetch(this.baseSearchUrl,r);if(!o.ok)throw new Error(`Error: ${o.statusText} (Status: ${o.status})`);const i=await o.json();this.sendMeasureEvent("search_response_received",{search_term:e.query,number_of_documents:i.data.count}),n(i)}catch(e){throw console.error("Error parsing response:",e),e}};clearTimeout(this.searchRequestTimeout),this.config.searchDebounceDelay?this.searchRequestTimeout=setTimeout(t,this.config.searchDebounceDelay):t()}));Z(this,"sendMeasureEvent",((e,n={},t={})=>{const r={event_name:e,properties:{searchcraft_index_names:this.config.index,...n},user:{...this.measureRequestUser,...t}};this.measureRequestsBatched.push(r),clearTimeout(this.measureRequestTimeout),this.measureRequestTimeout=setTimeout((async()=>{const e=JSON.stringify({items:this.measureRequestsBatched}),n=`${this.baseMeasureUrl}/batch`;try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.config.readKey,"X-Sc-User-Id":this.userId},body:e,keepalive:!0});if(!t.ok)throw new Error(`Failed to send request: ${t.status} ${t.statusText}`);this.measureRequestsBatched=[];return}catch(e){throw console.error("Error sending MeasureRequest:",e),e}}),Ue)}));if(!e.endpointURL||!e.index||!e.readKey)throw new Error("Endpoint URL, Index value(s), and Read Key must be provided");this.config=e,this.sdkInfo=n,this.userId=e.userId||"",this.sessionId="",setTimeout((()=>{this.sessionId=ee(),this.initMeasure()}),300)}async initMeasure(){if(!this.config.userId){const e=await we();this.userId=e}this.sendMeasureEvent("sdk_initialized")}get baseSearchUrl(){return`${this.config.endpointURL}/index/${this.config.index.join(",")}/search`}get baseMeasureUrl(){return`${this.config.endpointURL}/measure`}get measureRequestUser(){return{user_id:this.userId,locale:navigator.language||"en-US",os:navigator.userAgent.includes("Windows")?"Windows":navigator.userAgent.includes("Mac")?"Mac":navigator.userAgent.includes("Linux")?"Linux":"Unknown",platform:navigator.platform||"Unknown",sdk_name:this.sdkInfo.sdkName,sdk_version:this.sdkInfo.sdkVersion,user_agent:navigator.userAgent||"Unknown"}}buildQueryObject(e){const n=[];let t="should";return e.facetPathsForIndexFields&&Object.keys(e.facetPathsForIndexFields).forEach((r=>{var o;const i=(o=e.facetPathsForIndexFields)==null?void 0:o[r];i&&(t="must",n.push({occur:t,exact:{ctx:i.value}}))})),e.rangeValueForIndexFields&&Object.keys(e.rangeValueForIndexFields).forEach((r=>{var o;const i=(o=e.rangeValueForIndexFields)==null?void 0:o[r];i&&(t="must",n.push({occur:t,exact:{ctx:i.value}}))})),e.sort==="desc"?e.order_by="date_published":e.order_by="",n.push({occur:t,[e.mode]:{ctx:e.query}}),n}}var Ve=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Ve||{});class Be{constructor(e){Z(this,"logLevel");Z(this,"logFormatter");this.logLevel=e.logLevel||1,this.logFormatter=e.logFormatter||this.defaultFormatter}defaultFormatter(e,n){return`[${Ve[e]}] ${(new Date).toISOString()}: ${n}`}debug(e){this.logLevel<=0&&console.log(this.logFormatter(0,e))}info(e){this.logLevel<=1&&console.info(this.logFormatter(1,e))}warn(e){this.logLevel<=2&&console.warn(this.logFormatter(2,e))}error(e){this.logLevel<=3&&console.error(this.logFormatter(3,e))}}const De=e.create(((e,n)=>{let t=null;let r=null;const o=(e,n)=>{if(r){switch(e){case Ve.DEBUG:r.debug(n);break;case Ve.INFO:r.info(n);break;case Ve.WARN:r.warn(n);break;case Ve.ERROR:r.error(n);break}}};return{setPopoverVisibility:n=>{e({isPopoverVisible:n})},isPopoverVisible:false,resetFacetPaths:()=>{e({facetPathsForIndexFields:{}})},addFacetPathsForIndexField:n=>e((e=>({facetPathsForIndexFields:Object.assign(Object.assign({},e.facetPathsForIndexFields),{[n.fieldName]:n})}))),removeFacetPathsForIndexField:n=>e((e=>{const t=e.facetPathsForIndexFields;delete t[n];return{facetPathsForIndexFields:Object.assign({},t)}})),addRangeValueForIndexField:n=>e((e=>({rangeValueForIndexFields:Object.assign(Object.assign({},e.rangeValueForIndexFields),{[n.fieldName]:n})}))),removeRangeValueForIndexField:n=>e((e=>{const t=e.rangeValueForIndexFields;delete t[n];return{rangeValueForIndexFields:Object.assign({},t)}})),setSearchMode:n=>e({searchMode:n}),setSortType:n=>e({sortType:n}),searchMode:"fuzzy",sortType:"asc",facetPathsForIndexFields:{},rangeValueForIndexFields:{},query:"",isRequesting:false,searchResults:null,facets:null,getSearchcraftInstance:()=>t,setQuery:n=>{e(Object.assign({query:n,facetPathsForIndexFields:{}},n.trim().length===0&&{searchMode:"fuzzy",sortType:"asc"}))},setSearchResults:n=>e({searchResults:n}),setFacets:n=>e({facets:n}),setIsRequesting:n=>e({isRequesting:n}),search:async()=>{const e=n();o(Ve.INFO,`Starting search with search term: "${e.query}"`);if(!t){throw new Error("Searchcraft instance is not initialized.")}if(!e.query.trim()){o(Ve.INFO,"No search request was made: search term was empty.");e.setSearchResults(null);return}e.setIsRequesting(true);t.search({query:e.query,mode:e.searchMode,sort:e.sortType,facetPathsForIndexFields:e.facetPathsForIndexFields,rangeValueForIndexFields:e.rangeValueForIndexFields},(n=>{const t=n.data.facets||null;e.setSearchResults(n);e.setFacets(t);o(Ve.DEBUG,`Search results: ${JSON.stringify(n)}`);o(Ve.DEBUG,`Updated facets: ${JSON.stringify(t)}`);e.setIsRequesting(false)}))},initialize:(e,n=false)=>{t=e;r=n?new Be({logLevel:Ve.DEBUG}):null;o(Ve.INFO,"Searchcraft store initialized.")}}}));const Le=e.create((e=>({theme:"light",toggleTheme:()=>e((e=>({theme:e.theme==="light"?"dark":"light"})))})));export{Le as a,qe as b,De as u};
11
- //# sourceMappingURL=p-d6a88eed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createStoreImpl","createState","state","listeners","Set","setState","partial","replace","nextState","Object","is","previousState","assign","forEach","listener","getState","getInitialState","initialState","subscribe","add","delete","api","createStore","l","Symbol","for","n","p","q","r","t","u","v","w","x","y","z","iterator","A","a","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","D","E","b","e","this","props","context","refs","updater","prototype","isReactComponent","Error","forceUpdate","F","G","H","constructor","isPureReactComponent","I","Array","isArray","J","hasOwnProperty","K","current","L","key","ref","__self","__source","M","d","c","k","h","call","g","arguments","length","children","f","m","defaultProps","$$typeof","type","_owner","N","O","escape","P","Q","toString","R","push","next","done","value","String","keys","join","S","T","_status","_result","then","default","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","X","map","apply","count","toArray","only","react_production_min","Component","PureComponent","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createElement","bind","createRef","render","isValidElement","_payload","_init","memo","compare","startTransition","unstable_act","useCallback","useContext","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","version","reactModule","require$$0","React","vanilla","require$$1","identity","arg","useStore","selector","slice","useDebugValue","createImpl","useBoundStore","create","react","exports","defineProperty","enumerable","get","configurable","writable","crypto","getRandomValues","Uint8Array","i","Promise","s","o","throw","label","sent","trys","ops","return","TypeError","pop","exclude","timeout","window","j","fromEntries","entries","filter","includes","Math","imul","Uint32Array","TextEncoder","encode","buffer","ArrayBuffer","byteLength","subarray","from","padStart","setTimeout","all","race","values","_","startsWith","JSON","stringify","$","abs","data","Uint8ClampedArray","ImageData","parseInt","navigator","name","userAgent","Edg","OPR","match","groups","OfflineAudioContext","webkitOfflineAudioContext","createBufferSource","createOscillator","frequency","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","renderedBuffer","getChannelData","sampleHash","oscillator","maxChannels","maxChannelCount","channelCountMode","startRendering","console","error","document","getContext","width","height","createLinearGradient","addColorStop","fillStyle","fillRect","font","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","getImageData","commonImageDataHash","concat","measureText","Y","getParameter","VENDOR","RENDERER","vendor","renderer","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","getExtension","UNMASKED_VENDOR_WEBGL","UNMASKED_RENDERER_WEBGL","vendorUnmasked","rendererUnmasked","Float32Array","Z","ee","pointer","hover","update","scripting","matchMedia","matches","te","location","protocol","ApplePaySession","supportsVersion","body","setAttribute","style","setProperty","src","appendChild","contentDocument","contentWindow","iframe","removeChild","deviceMemory","performance","memory","videocard","architecture","jsHeapSizeLimit","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","permissions_to_check","retries","permissions","query","plugins","filename","description","is_touchscreen","maxTouchPoints","colorDepth","screen","mediaMatches","platform","cookieEnabled","productSub","product","useragent","hardwareConcurrency","browser","applePayVersion","ne","createShader","VERTEX_SHADER","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","PI","cos","sin","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","commonImageHash","webgl","acos","asin","atan","cosh","largeCos","largeSin","largeTan","tan","log","pi","sinh","sqrt","tanh","re","ae","async","sendMeasureEvent","search_term","buildQueryObject","limit","offset","order_by","sort","method","headers","Authorization","config","readKey","userId","fetch","baseSearchUrl","ok","statusText","status","json","number_of_documents","clearTimeout","searchRequestTimeout","searchDebounceDelay","event_name","properties","searchcraft_index_names","index","user","measureRequestUser","measureRequestsBatched","measureRequestTimeout","items","baseMeasureUrl","keepalive","endpointURL","sdkInfo","sessionId","initMeasure","user_id","locale","os","sdk_name","sdkName","sdk_version","sdkVersion","user_agent","facetPathsForIndexFields","occur","exact","ctx","rangeValueForIndexFields","mode","DEBUG","INFO","WARN","ERROR","se","logLevel","logFormatter","defaultFormatter","Date","toISOString","debug","info","warn","useSearchcraftStore","set","searchcraft","debuggerInstance","level","message","LogLevel","setPopoverVisibility","isVisible","isPopoverVisible","resetFacetPaths","addFacetPathsForIndexField","fieldName","removeFacetPathsForIndexField","currentPaths","addRangeValueForIndexField","removeRangeValueForIndexField","currentValues","setSearchMode","searchMode","setSortType","sortType","isRequesting","searchResults","facets","getSearchcraftInstance","setQuery","trim","setSearchResults","results","setFacets","setIsRequesting","search","updatedFacets","initialize","searchcraftInstance","SDKDebugger","useThemeStore","theme","toggleTheme"],"sources":["../../node_modules/zustand/vanilla.js","../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../node_modules/zustand/react.js","../../node_modules/zustand/index.js","../core-sdk/dist/index.js","src/provider/store.tsx"],"sourcesContent":["'use strict';\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\nexports.createStore = createStore;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nvar React = require('react');\nvar vanilla = require('zustand/vanilla');\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\nexports.create = create;\nexports.useStore = useStore;\n","'use strict';\n\nvar vanilla = require('zustand/vanilla');\nvar react = require('zustand/react');\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","var D = Object.defineProperty;\nvar B = (n, t, r) => t in n ? D(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;\nvar m = (n, t, r) => B(n, typeof t != \"symbol\" ? t + \"\" : t, r);\nconst L = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet q = (n = 21) => {\n let t = \"\", r = crypto.getRandomValues(new Uint8Array(n |= 0));\n for (; n--; )\n t += L[r[n] & 63];\n return t;\n};\nfunction w(n, t, r, i) {\n return new (r || (r = Promise))(function(s, o) {\n function e(u) {\n try {\n d(i.next(u));\n } catch (a) {\n o(a);\n }\n }\n function c(u) {\n try {\n d(i.throw(u));\n } catch (a) {\n o(a);\n }\n }\n function d(u) {\n var a;\n u.done ? s(u.value) : (a = u.value, a instanceof r ? a : new r(function(v) {\n v(a);\n })).then(e, c);\n }\n d((i = i.apply(n, [])).next());\n });\n}\nfunction y(n, t) {\n var r, i, s, o, e = { label: 0, sent: function() {\n if (1 & s[0]) throw s[1];\n return s[1];\n }, trys: [], ops: [] };\n return o = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function c(d) {\n return function(u) {\n return function(a) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n for (; o && (o = 0, a[0] && (e = 0)), e; ) try {\n if (r = 1, i && (s = 2 & a[0] ? i.return : a[0] ? i.throw || ((s = i.return) && s.call(i), 0) : i.next) && !(s = s.call(i, a[1])).done) return s;\n switch (i = 0, s && (a = [2 & a[0], s.value]), a[0]) {\n case 0:\n case 1:\n s = a;\n break;\n case 4:\n return e.label++, { value: a[1], done: !1 };\n case 5:\n e.label++, i = a[1], a = [0];\n continue;\n case 7:\n a = e.ops.pop(), e.trys.pop();\n continue;\n default:\n if (s = e.trys, !((s = s.length > 0 && s[s.length - 1]) || a[0] !== 6 && a[0] !== 2)) {\n e = 0;\n continue;\n }\n if (a[0] === 3 && (!s || a[1] > s[0] && a[1] < s[3])) {\n e.label = a[1];\n break;\n }\n if (a[0] === 6 && e.label < s[1]) {\n e.label = s[1], s = a;\n break;\n }\n if (s && e.label < s[2]) {\n e.label = s[2], e.ops.push(a);\n break;\n }\n s[2] && e.ops.pop(), e.trys.pop();\n continue;\n }\n a = t.call(n, e);\n } catch (v) {\n a = [6, v], i = 0;\n } finally {\n r = s = 0;\n }\n if (5 & a[0]) throw a[1];\n return { value: a[0] ? a[1] : void 0, done: !0 };\n }([d, u]);\n };\n }\n}\nvar b = { exclude: [] }, P = {}, N = { timeout: \"true\" }, p = function(n, t) {\n typeof window < \"u\" && (P[n] = t);\n}, j = function() {\n return Object.fromEntries(Object.entries(P).filter(function(n) {\n var t, r = n[0];\n return !(!((t = b == null ? void 0 : b.exclude) === null || t === void 0) && t.includes(r));\n }).map(function(n) {\n return [n[0], (0, n[1])()];\n }));\n};\nfunction M(n) {\n return n ^= n >>> 16, n = Math.imul(n, 2246822507), n ^= n >>> 13, n = Math.imul(n, 3266489909), (n ^= n >>> 16) >>> 0;\n}\nvar h = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);\nfunction g(n, t) {\n return n << t | n >>> 32 - t;\n}\nfunction R(n, t) {\n var r;\n if (t === void 0 && (t = 0), t = t ? 0 | t : 0, typeof n == \"string\" && (r = n, n = new TextEncoder().encode(r).buffer), !(n instanceof ArrayBuffer)) throw new TypeError(\"Expected key to be ArrayBuffer or string\");\n var i = new Uint32Array([t, t, t, t]);\n (function(o, e) {\n for (var c = o.byteLength / 16 | 0, d = new Uint32Array(o, 0, 4 * c), u = 0; u < c; u++) {\n var a = d.subarray(4 * u, 4 * (u + 1));\n a[0] = Math.imul(a[0], h[0]), a[0] = g(a[0], 15), a[0] = Math.imul(a[0], h[1]), e[0] = e[0] ^ a[0], e[0] = g(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, a[1] = Math.imul(a[1], h[1]), a[1] = g(a[1], 16), a[1] = Math.imul(a[1], h[2]), e[1] = e[1] ^ a[1], e[1] = g(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, a[2] = Math.imul(a[2], h[2]), a[2] = g(a[2], 17), a[2] = Math.imul(a[2], h[3]), e[2] = e[2] ^ a[2], e[2] = g(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, a[3] = Math.imul(a[3], h[3]), a[3] = g(a[3], 18), a[3] = Math.imul(a[3], h[0]), e[3] = e[3] ^ a[3], e[3] = g(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;\n }\n })(n, i), function(o, e) {\n var c = o.byteLength / 16 | 0, d = o.byteLength % 16, u = new Uint32Array(4), a = new Uint8Array(o, 16 * c, d);\n switch (d) {\n case 15:\n u[3] = u[3] ^ a[14] << 16;\n case 14:\n u[3] = u[3] ^ a[13] << 8;\n case 13:\n u[3] = u[3] ^ a[12] << 0, u[3] = Math.imul(u[3], h[3]), u[3] = g(u[3], 18), u[3] = Math.imul(u[3], h[0]), e[3] = e[3] ^ u[3];\n case 12:\n u[2] = u[2] ^ a[11] << 24;\n case 11:\n u[2] = u[2] ^ a[10] << 16;\n case 10:\n u[2] = u[2] ^ a[9] << 8;\n case 9:\n u[2] = u[2] ^ a[8] << 0, u[2] = Math.imul(u[2], h[2]), u[2] = g(u[2], 17), u[2] = Math.imul(u[2], h[3]), e[2] = e[2] ^ u[2];\n case 8:\n u[1] = u[1] ^ a[7] << 24;\n case 7:\n u[1] = u[1] ^ a[6] << 16;\n case 6:\n u[1] = u[1] ^ a[5] << 8;\n case 5:\n u[1] = u[1] ^ a[4] << 0, u[1] = Math.imul(u[1], h[1]), u[1] = g(u[1], 16), u[1] = Math.imul(u[1], h[2]), e[1] = e[1] ^ u[1];\n case 4:\n u[0] = u[0] ^ a[3] << 24;\n case 3:\n u[0] = u[0] ^ a[2] << 16;\n case 2:\n u[0] = u[0] ^ a[1] << 8;\n case 1:\n u[0] = u[0] ^ a[0] << 0, u[0] = Math.imul(u[0], h[0]), u[0] = g(u[0], 15), u[0] = Math.imul(u[0], h[1]), e[0] = e[0] ^ u[0];\n }\n }(n, i), function(o, e) {\n e[0] = e[0] ^ o.byteLength, e[1] = e[1] ^ o.byteLength, e[2] = e[2] ^ o.byteLength, e[3] = e[3] ^ o.byteLength, e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0, e[0] = M(e[0]), e[1] = M(e[1]), e[2] = M(e[2]), e[3] = M(e[3]), e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0;\n }(n, i);\n var s = new Uint8Array(i.buffer);\n return Array.from(s).map(function(o) {\n return o.toString(16).padStart(2, \"0\");\n }).join(\"\");\n}\nfunction G(n, t) {\n return new Promise(function(r) {\n setTimeout(function() {\n return r(t);\n }, n);\n });\n}\nfunction W(n, t, r) {\n return Promise.all(n.map(function(i) {\n return Promise.race([i, G(t, r)]);\n }));\n}\nfunction V() {\n return w(this, void 0, void 0, function() {\n var n, t, r, i, s;\n return y(this, function(o) {\n switch (o.label) {\n case 0:\n return o.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (b == null ? void 0 : b.timeout) || 1e3, N)];\n case 1:\n return r = o.sent(), i = r.filter(function(e) {\n return e !== void 0;\n }), s = {}, i.forEach(function(e, c) {\n s[t[c]] = e;\n }), [2, _(s, b.exclude || [])];\n case 2:\n throw o.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction _(n, t) {\n var r = {}, i = function(o) {\n if (n.hasOwnProperty(o)) {\n var e = n[o];\n if (typeof e != \"object\" || Array.isArray(e)) t.includes(o) || (r[o] = e);\n else {\n var c = _(e, t.map(function(d) {\n return d.startsWith(o + \".\") ? d.slice(o.length + 1) : d;\n }));\n Object.keys(c).length > 0 && (r[o] = c);\n }\n }\n };\n for (var s in n) i(s);\n return r;\n}\nfunction H(n) {\n return w(this, void 0, void 0, function() {\n var t, r;\n return y(this, function(i) {\n switch (i.label) {\n case 0:\n return i.trys.push([0, 2, , 3]), [4, V()];\n case 1:\n return t = i.sent(), r = R(JSON.stringify(t)), [2, r.toString()];\n case 2:\n throw i.sent();\n case 3:\n return [2];\n }\n });\n });\n}\nfunction $(n) {\n for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);\n return t;\n}\nfunction F(n, t, r) {\n for (var i = [], s = 0; s < n[0].data.length; s++) {\n for (var o = [], e = 0; e < n.length; e++) o.push(n[e].data[s]);\n i.push(K(o));\n }\n var c = new Uint8ClampedArray(i);\n return new ImageData(c, t, r);\n}\nfunction K(n) {\n if (n.length === 0) return 0;\n for (var t = {}, r = 0, i = n; r < i.length; r++)\n t[o = i[r]] = (t[o] || 0) + 1;\n var s = n[0];\n for (var o in t) t[o] > t[s] && (s = parseInt(o, 10));\n return s;\n}\nfunction E() {\n if (typeof navigator > \"u\") return { name: \"unknown\", version: \"unknown\" };\n for (var n = navigator.userAgent, t = { Edg: \"Edge\", OPR: \"Opera\" }, r = 0, i = [/(?<name>Edge|Edg)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>Safari)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>[A-Za-z]+)\\/(?<version>\\d+(?:\\.\\d+)?)/, /(?<name>SamsungBrowser)\\/(?<version>\\d+(?:\\.\\d+)?)/]; r < i.length; r++) {\n var s = i[r], o = n.match(s);\n if (o && o.groups) return { name: t[o.groups.name] || o.groups.name, version: o.groups.version };\n }\n return { name: \"unknown\", version: \"unknown\" };\n}\np(\"audio\", function() {\n return w(this, void 0, void 0, function() {\n return y(this, function(n) {\n return [2, new Promise(function(t, r) {\n try {\n var i = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), s = i.createBufferSource(), o = i.createOscillator();\n o.frequency.value = 1e3;\n var e, c = i.createDynamicsCompressor();\n c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, o.connect(c), c.connect(i.destination), o.start(), i.oncomplete = function(d) {\n e = d.renderedBuffer.getChannelData(0), t({ sampleHash: $(e), oscillator: o.type, maxChannels: i.destination.maxChannelCount, channelCountMode: s.channelCountMode });\n }, i.startRendering();\n } catch (d) {\n console.error(\"Error creating audio fingerprint:\", d), r(d);\n }\n })];\n });\n });\n});\nvar z = E().name !== \"SamsungBrowser\" ? 1 : 3, T = 280, C = 20;\nE().name != \"Firefox\" && p(\"canvas\", function() {\n return document.createElement(\"canvas\").getContext(\"2d\"), new Promise(function(n) {\n var t = Array.from({ length: z }, function() {\n return function() {\n var r = document.createElement(\"canvas\"), i = r.getContext(\"2d\");\n if (!i) return new ImageData(1, 1);\n r.width = T, r.height = C;\n var s = i.createLinearGradient(0, 0, r.width, r.height);\n s.addColorStop(0, \"red\"), s.addColorStop(0.16666666666666666, \"orange\"), s.addColorStop(0.3333333333333333, \"yellow\"), s.addColorStop(0.5, \"green\"), s.addColorStop(0.6666666666666666, \"blue\"), s.addColorStop(0.8333333333333334, \"indigo\"), s.addColorStop(1, \"violet\"), i.fillStyle = s, i.fillRect(0, 0, r.width, r.height);\n var o = \"Random Text WMwmil10Oo\";\n i.font = \"23.123px Arial\", i.fillStyle = \"black\", i.fillText(o, -5, 15), i.fillStyle = \"rgba(0, 0, 255, 0.5)\", i.fillText(o, -3.3, 17.7), i.beginPath(), i.moveTo(0, 0), i.lineTo(2 * r.width / 7, r.height), i.strokeStyle = \"white\", i.lineWidth = 2, i.stroke();\n var e = i.getImageData(0, 0, r.width, r.height);\n return e;\n }();\n });\n n({ commonImageDataHash: R(F(t, T, C).data.toString()).toString() });\n });\n});\nvar A, J = [\"Arial\", \"Arial Black\", \"Arial Narrow\", \"Arial Rounded MT\", \"Arimo\", \"Archivo\", \"Barlow\", \"Bebas Neue\", \"Bitter\", \"Bookman\", \"Calibri\", \"Cabin\", \"Candara\", \"Century\", \"Century Gothic\", \"Comic Sans MS\", \"Constantia\", \"Courier\", \"Courier New\", \"Crimson Text\", \"DM Mono\", \"DM Sans\", \"DM Serif Display\", \"DM Serif Text\", \"Dosis\", \"Droid Sans\", \"Exo\", \"Fira Code\", \"Fira Sans\", \"Franklin Gothic Medium\", \"Garamond\", \"Geneva\", \"Georgia\", \"Gill Sans\", \"Helvetica\", \"Impact\", \"Inconsolata\", \"Indie Flower\", \"Inter\", \"Josefin Sans\", \"Karla\", \"Lato\", \"Lexend\", \"Lucida Bright\", \"Lucida Console\", \"Lucida Sans Unicode\", \"Manrope\", \"Merriweather\", \"Merriweather Sans\", \"Montserrat\", \"Myriad\", \"Noto Sans\", \"Nunito\", \"Nunito Sans\", \"Open Sans\", \"Optima\", \"Orbitron\", \"Oswald\", \"Pacifico\", \"Palatino\", \"Perpetua\", \"PT Sans\", \"PT Serif\", \"Poppins\", \"Prompt\", \"Public Sans\", \"Quicksand\", \"Rajdhani\", \"Recursive\", \"Roboto\", \"Roboto Condensed\", \"Rockwell\", \"Rubik\", \"Segoe Print\", \"Segoe Script\", \"Segoe UI\", \"Sora\", \"Source Sans Pro\", \"Space Mono\", \"Tahoma\", \"Taviraj\", \"Times\", \"Times New Roman\", \"Titillium Web\", \"Trebuchet MS\", \"Ubuntu\", \"Varela Round\", \"Verdana\", \"Work Sans\"], Q = [\"monospace\", \"sans-serif\", \"serif\"];\nfunction k(n, t) {\n if (!n) throw new Error(\"Canvas context not supported\");\n return n.font, n.font = \"72px \".concat(t), n.measureText(\"WwMmLli0Oo\").width;\n}\nfunction Y() {\n var n, t = document.createElement(\"canvas\"), r = (n = t.getContext(\"webgl\")) !== null && n !== void 0 ? n : t.getContext(\"experimental-webgl\");\n if (r && \"getParameter\" in r) try {\n var i = (r.getParameter(r.VENDOR) || \"\").toString(), s = (r.getParameter(r.RENDERER) || \"\").toString(), o = { vendor: i, renderer: s, version: (r.getParameter(r.VERSION) || \"\").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || \"\").toString() };\n if (!s.length || !i.length) {\n var e = r.getExtension(\"WEBGL_debug_renderer_info\");\n if (e) {\n var c = (r.getParameter(e.UNMASKED_VENDOR_WEBGL) || \"\").toString(), d = (r.getParameter(e.UNMASKED_RENDERER_WEBGL) || \"\").toString();\n c && (o.vendorUnmasked = c), d && (o.rendererUnmasked = d);\n }\n }\n return o;\n } catch {\n }\n return \"undefined\";\n}\nfunction X() {\n var n = new Float32Array(1), t = new Uint8Array(n.buffer);\n return n[0] = 1 / 0, n[0] = n[0] - n[0], t[3];\n}\nfunction Z(n, t) {\n var r = {};\n return t.forEach(function(i) {\n var s = function(o) {\n if (o.length === 0) return null;\n var e = {};\n o.forEach(function(u) {\n var a = String(u);\n e[a] = (e[a] || 0) + 1;\n });\n var c = o[0], d = 1;\n return Object.keys(e).forEach(function(u) {\n e[u] > d && (c = u, d = e[u]);\n }), c;\n }(n.map(function(o) {\n return i in o ? o[i] : void 0;\n }).filter(function(o) {\n return o !== void 0;\n }));\n s && (r[i] = s);\n }), r;\n}\nfunction ee() {\n var n = [], t = { \"prefers-contrast\": [\"high\", \"more\", \"low\", \"less\", \"forced\", \"no-preference\"], \"any-hover\": [\"hover\", \"none\"], \"any-pointer\": [\"none\", \"coarse\", \"fine\"], pointer: [\"none\", \"coarse\", \"fine\"], hover: [\"hover\", \"none\"], update: [\"fast\", \"slow\"], \"inverted-colors\": [\"inverted\", \"none\"], \"prefers-reduced-motion\": [\"reduce\", \"no-preference\"], \"prefers-reduced-transparency\": [\"reduce\", \"no-preference\"], scripting: [\"none\", \"initial-only\", \"enabled\"], \"forced-colors\": [\"active\", \"none\"] };\n return Object.keys(t).forEach(function(r) {\n t[r].forEach(function(i) {\n matchMedia(\"(\".concat(r, \": \").concat(i, \")\")).matches && n.push(\"\".concat(r, \": \").concat(i));\n });\n }), n;\n}\nfunction te() {\n if (window.location.protocol === \"https:\" && typeof window.ApplePaySession == \"function\") try {\n for (var n = window.ApplePaySession.supportsVersion, t = 15; t > 0; t--) if (n(t)) return t;\n } catch {\n return 0;\n }\n return 0;\n}\nE().name != \"Firefox\" && p(\"fonts\", function() {\n var n = this;\n return new Promise(function(t, r) {\n try {\n (function(i) {\n var s;\n w(this, void 0, void 0, function() {\n var o, e, c;\n return y(this, function(d) {\n switch (d.label) {\n case 0:\n return document.body ? [3, 2] : [4, (u = 50, new Promise(function(v) {\n return setTimeout(v, u, a);\n }))];\n case 1:\n return d.sent(), [3, 0];\n case 2:\n if ((o = document.createElement(\"iframe\")).setAttribute(\"frameBorder\", \"0\"), (e = o.style).setProperty(\"position\", \"fixed\"), e.setProperty(\"display\", \"block\", \"important\"), e.setProperty(\"visibility\", \"visible\"), e.setProperty(\"border\", \"0\"), e.setProperty(\"opacity\", \"0\"), o.src = \"about:blank\", document.body.appendChild(o), !(c = o.contentDocument || ((s = o.contentWindow) === null || s === void 0 ? void 0 : s.document))) throw new Error(\"Iframe document is not accessible\");\n return i({ iframe: c }), setTimeout(function() {\n document.body.removeChild(o);\n }, 0), [2];\n }\n var u, a;\n });\n });\n })(function(i) {\n var s = i.iframe;\n return w(n, void 0, void 0, function() {\n var o, e, c, d;\n return y(this, function(u) {\n return o = s.createElement(\"canvas\"), e = o.getContext(\"2d\"), c = Q.map(function(a) {\n return k(e, a);\n }), d = {}, J.forEach(function(a) {\n var v = k(e, a);\n c.includes(v) || (d[a] = v);\n }), t(d), [2];\n });\n });\n });\n } catch {\n r({ error: \"unsupported\" });\n }\n });\n}), p(\"hardware\", function() {\n return new Promise(function(n, t) {\n var r = navigator.deviceMemory !== void 0 ? navigator.deviceMemory : 0, i = window.performance && window.performance.memory ? window.performance.memory : 0;\n n({ videocard: Y(), architecture: X(), deviceMemory: r.toString() || \"undefined\", jsHeapSizeLimit: i.jsHeapSizeLimit || 0 });\n });\n}), p(\"locales\", function() {\n return new Promise(function(n) {\n n({ languages: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone });\n });\n}), p(\"permissions\", function() {\n return w(this, void 0, void 0, function() {\n var n;\n return y(this, function(t) {\n return A = (b == null ? void 0 : b.permissions_to_check) || [\"accelerometer\", \"accessibility\", \"accessibility-events\", \"ambient-light-sensor\", \"background-fetch\", \"background-sync\", \"bluetooth\", \"camera\", \"clipboard-read\", \"clipboard-write\", \"device-info\", \"display-capture\", \"gyroscope\", \"geolocation\", \"local-fonts\", \"magnetometer\", \"microphone\", \"midi\", \"nfc\", \"notifications\", \"payment-handler\", \"persistent-storage\", \"push\", \"speaker\", \"storage-access\", \"top-level-storage-access\", \"window-management\", \"query\"], n = Array.from({ length: (b == null ? void 0 : b.retries) || 3 }, function() {\n return function() {\n return w(this, void 0, void 0, function() {\n var r, i, s, o, e;\n return y(this, function(c) {\n switch (c.label) {\n case 0:\n r = {}, i = 0, s = A, c.label = 1;\n case 1:\n if (!(i < s.length)) return [3, 6];\n o = s[i], c.label = 2;\n case 2:\n return c.trys.push([2, 4, , 5]), [4, navigator.permissions.query({ name: o })];\n case 3:\n return e = c.sent(), r[o] = e.state.toString(), [3, 5];\n case 4:\n return c.sent(), [3, 5];\n case 5:\n return i++, [3, 1];\n case 6:\n return [2, r];\n }\n });\n });\n }();\n }), [2, Promise.all(n).then(function(r) {\n return Z(r, A);\n })];\n });\n });\n}), p(\"plugins\", function() {\n var n = [];\n if (navigator.plugins) for (var t = 0; t < navigator.plugins.length; t++) {\n var r = navigator.plugins[t];\n n.push([r.name, r.filename, r.description].join(\"|\"));\n }\n return new Promise(function(i) {\n i({ plugins: n });\n });\n}), p(\"screen\", function() {\n return new Promise(function(n) {\n n({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });\n });\n}), p(\"system\", function() {\n return new Promise(function(n) {\n var t = E();\n n({ platform: window.navigator.platform, cookieEnabled: window.navigator.cookieEnabled, productSub: navigator.productSub, product: navigator.product, useragent: navigator.userAgent, hardwareConcurrency: navigator.hardwareConcurrency, browser: { name: t.name, version: t.version }, applePayVersion: te() });\n });\n});\nvar f, ne = E().name !== \"SamsungBrowser\" ? 1 : 3, l = null;\np(\"webgl\", function() {\n return w(this, void 0, void 0, function() {\n var n;\n return y(this, function(t) {\n typeof document < \"u\" && ((f = document.createElement(\"canvas\")).width = 200, f.height = 100, l = f.getContext(\"webgl\"));\n try {\n if (!l) throw new Error(\"WebGL not supported\");\n return n = Array.from({ length: ne }, function() {\n return function() {\n try {\n if (!l) throw new Error(\"WebGL not supported\");\n var r = `\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n `, i = `\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n `, s = l.createShader(l.VERTEX_SHADER), o = l.createShader(l.FRAGMENT_SHADER);\n if (!s || !o) throw new Error(\"Failed to create shaders\");\n if (l.shaderSource(s, r), l.shaderSource(o, i), l.compileShader(s), !l.getShaderParameter(s, l.COMPILE_STATUS)) throw new Error(\"Vertex shader compilation failed: \" + l.getShaderInfoLog(s));\n if (l.compileShader(o), !l.getShaderParameter(o, l.COMPILE_STATUS)) throw new Error(\"Fragment shader compilation failed: \" + l.getShaderInfoLog(o));\n var e = l.createProgram();\n if (!e) throw new Error(\"Failed to create shader program\");\n if (l.attachShader(e, s), l.attachShader(e, o), l.linkProgram(e), !l.getProgramParameter(e, l.LINK_STATUS)) throw new Error(\"Shader program linking failed: \" + l.getProgramInfoLog(e));\n l.useProgram(e);\n for (var c = 137, d = new Float32Array(4 * c), u = 2 * Math.PI / c, a = 0; a < c; a++) {\n var v = a * u;\n d[4 * a] = 0, d[4 * a + 1] = 0, d[4 * a + 2] = Math.cos(v) * (f.width / 2), d[4 * a + 3] = Math.sin(v) * (f.height / 2);\n }\n var U = l.createBuffer();\n l.bindBuffer(l.ARRAY_BUFFER, U), l.bufferData(l.ARRAY_BUFFER, d, l.STATIC_DRAW);\n var x = l.getAttribLocation(e, \"position\");\n l.enableVertexAttribArray(x), l.vertexAttribPointer(x, 2, l.FLOAT, !1, 0, 0), l.viewport(0, 0, f.width, f.height), l.clearColor(0, 0, 0, 1), l.clear(l.COLOR_BUFFER_BIT), l.drawArrays(l.LINES, 0, 2 * c);\n var I = new Uint8ClampedArray(f.width * f.height * 4);\n return l.readPixels(0, 0, f.width, f.height, l.RGBA, l.UNSIGNED_BYTE, I), new ImageData(I, f.width, f.height);\n } catch {\n return new ImageData(1, 1);\n } finally {\n l && (l.bindBuffer(l.ARRAY_BUFFER, null), l.useProgram(null), l.viewport(0, 0, l.drawingBufferWidth, l.drawingBufferHeight), l.clearColor(0, 0, 0, 0));\n }\n }();\n }), [2, { commonImageHash: R(F(n, f.width, f.height).data.toString()).toString() }];\n } catch {\n return [2, { webgl: \"unsupported\" }];\n }\n return [2];\n });\n });\n});\nvar S = function(n, t, r, i) {\n for (var s = (r - t) / i, o = 0, e = 0; e < i; e++)\n o += n(t + (e + 0.5) * s);\n return o * s;\n};\np(\"math\", function() {\n return w(void 0, void 0, void 0, function() {\n return y(this, function(n) {\n return [2, { acos: Math.acos(0.5), asin: S(Math.asin, -1, 1, 97), atan: S(Math.atan, -1, 1, 97), cos: S(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: S(Math.sin, -Math.PI, Math.PI, 97), sinh: S(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: S(Math.tan, 0, 2 * Math.PI, 97), tanh: S(Math.tanh, -9 / 7, 7 / 9, 97) }];\n });\n });\n});\nconst re = 500;\nclass ae {\n constructor(t, r) {\n m(this, \"config\");\n m(this, \"sdkInfo\");\n m(this, \"userId\");\n m(this, \"sessionId\");\n m(this, \"searchRequestTimeout\");\n m(this, \"measureRequestTimeout\");\n m(this, \"measureRequestsBatched\", []);\n /**\n * Performs a search operation.\n * @param {SearchParams} searchParams - The parameters for the search.\n * @returns {Promise<SearchcraftResponse>} - Returns the search response or throws an error.\n */\n m(this, \"search\", (t, r) => {\n const i = async () => {\n if (this.sendMeasureEvent(\"search_requested\", {\n search_term: t.query\n }), (t.query.match(/\"/g) || []).length % 2 !== 0)\n throw new Error(\n \"The search term contains an uneven number of quote characters.\"\n );\n try {\n const o = {\n query: this.buildQueryObject(t),\n limit: t.limit ?? 20\n // Default to 20 if not provided\n };\n t.offset !== void 0 && (o.offset = t.offset), t.order_by && (o.order_by = t.order_by, o.sort = t.sort === \"desc\" || t.sort === \"asc\" ? t.sort : \"asc\");\n const e = {\n method: \"POST\",\n headers: {\n Authorization: this.config.readKey,\n \"Content-Type\": \"application/json\",\n \"X-Sc-User-Id\": this.userId\n },\n body: JSON.stringify(o)\n }, c = await fetch(this.baseSearchUrl, e);\n if (!c.ok)\n throw new Error(\n `Error: ${c.statusText} (Status: ${c.status})`\n );\n const d = await c.json();\n this.sendMeasureEvent(\"search_response_received\", {\n search_term: t.query,\n number_of_documents: d.data.count\n }), r(d);\n } catch (o) {\n throw console.error(\"Error parsing response:\", o), o;\n }\n };\n clearTimeout(this.searchRequestTimeout), this.config.searchDebounceDelay ? this.searchRequestTimeout = setTimeout(\n i,\n this.config.searchDebounceDelay\n ) : i();\n });\n /**\n * Sends a measure event to the `/measure/event` endpoint for analytics purposes.\n *\n * @param {MeasureEventName} eventName - Name of the event.\n * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.\n * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.\n */\n m(this, \"sendMeasureEvent\", (t, r = {}, i = {}) => {\n const s = {\n event_name: t,\n properties: {\n searchcraft_index_names: this.config.index,\n ...r\n },\n user: {\n ...this.measureRequestUser,\n ...i\n }\n };\n this.measureRequestsBatched.push(s), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {\n const o = JSON.stringify({ items: this.measureRequestsBatched }), e = `${this.baseMeasureUrl}/batch`;\n try {\n const c = await fetch(e, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.readKey,\n \"X-Sc-User-Id\": this.userId\n },\n body: o,\n keepalive: !0\n });\n if (!c.ok)\n throw new Error(\n `Failed to send request: ${c.status} ${c.statusText}`\n );\n this.measureRequestsBatched = [];\n return;\n } catch (c) {\n throw console.error(\"Error sending MeasureRequest:\", c), c;\n }\n }, re);\n });\n if (!t.endpointURL || !t.index || !t.readKey)\n throw new Error(\n \"Endpoint URL, Index value(s), and Read Key must be provided\"\n );\n this.config = t, this.sdkInfo = r, this.userId = t.userId || \"\", this.sessionId = \"\", setTimeout(() => {\n this.sessionId = q(), this.initMeasure();\n }, 300);\n }\n /**\n * Initializes this.userId based on config & sends the `sdk_innitialized` event.\n */\n async initMeasure() {\n if (!this.config.userId) {\n const t = await H();\n this.userId = t;\n }\n this.sendMeasureEvent(\"sdk_initialized\");\n }\n /**\n * Getter for the base url used by the /search endpoint.\n */\n get baseSearchUrl() {\n return `${this.config.endpointURL}/index/${this.config.index.join(\",\")}/search`;\n }\n /**\n * Getter for the base url used by the /measure endpoints.\n */\n get baseMeasureUrl() {\n return `${this.config.endpointURL}/measure`;\n }\n /**\n * Getter for the measure request user. Uses config values + navigator values.\n */\n get measureRequestUser() {\n return {\n user_id: this.userId,\n locale: navigator.language || \"en-US\",\n os: navigator.userAgent.includes(\"Windows\") ? \"Windows\" : navigator.userAgent.includes(\"Mac\") ? \"Mac\" : navigator.userAgent.includes(\"Linux\") ? \"Linux\" : \"Unknown\",\n platform: navigator.platform || \"Unknown\",\n sdk_name: this.sdkInfo.sdkName,\n sdk_version: this.sdkInfo.sdkVersion,\n user_agent: navigator.userAgent || \"Unknown\"\n };\n }\n /**\n * Builds a query object for the search request.\n * @param {SearchParams} searchParams - The parameters for the search.\n * @returns {QueryObject} - A properly formatted query object.\n */\n buildQueryObject(t) {\n const r = [];\n let i = \"should\";\n return t.facetPathsForIndexFields && Object.keys(t.facetPathsForIndexFields).forEach(\n (s) => {\n var e;\n const o = (e = t.facetPathsForIndexFields) == null ? void 0 : e[s];\n o && (i = \"must\", r.push({\n occur: i,\n exact: {\n ctx: o.value\n }\n }));\n }\n ), t.rangeValueForIndexFields && Object.keys(t.rangeValueForIndexFields).forEach(\n (s) => {\n var e;\n const o = (e = t.rangeValueForIndexFields) == null ? void 0 : e[s];\n o && (i = \"must\", r.push({\n occur: i,\n exact: {\n ctx: o.value\n }\n }));\n }\n ), t.sort === \"desc\" ? t.order_by = \"date_published\" : t.order_by = \"\", r.push({\n occur: i,\n // Valid, as 'occur' is a required property in QueryItem\n [t.mode]: { ctx: t.query }\n // Ensure dynamic mode is inside queryType\n }), r;\n }\n}\nvar O = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = \"DEBUG\", n[n.INFO = 1] = \"INFO\", n[n.WARN = 2] = \"WARN\", n[n.ERROR = 3] = \"ERROR\", n))(O || {});\nclass se {\n constructor(t) {\n m(this, \"logLevel\");\n m(this, \"logFormatter\");\n this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(t, r) {\n return `[${O[t]}] ${(/* @__PURE__ */ 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}\nexport {\n O as LogLevel,\n se as SDKDebugger,\n ae as SearchcraftCore\n};\n//# sourceMappingURL=index.js.map\n","import { create } from 'zustand';\n\nimport {\n type SearchcraftCore,\n SDKDebugger,\n LogLevel,\n type SearchcraftResponse,\n type FacetPrime,\n type FacetPathsForIndexField,\n type RangeValueForIndexField,\n} from '@searchcraft/core';\n\ninterface ThemeState {\n theme: 'light' | 'dark';\n toggleTheme: () => void;\n}\n\nexport interface SearchcraftState {\n resetFacetPaths: () => void;\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) => void;\n removeFacetPathsForIndexField: (fieldName: string) => void;\n addRangeValueForIndexField: (data: RangeValueForIndexField) => void;\n removeRangeValueForIndexField: (fieldName: string) => void;\n setSearchMode: (mode: 'fuzzy' | 'exact') => void;\n setSortType: (type: 'asc' | 'desc') => void;\n facetPathsForIndexFields: Record<string, FacetPathsForIndexField>;\n rangeValueForIndexFields: Record<string, RangeValueForIndexField>;\n searchMode: 'fuzzy' | 'exact';\n sortType: 'asc' | 'desc';\n facets: FacetPrime | null;\n getSearchcraftInstance: () => SearchcraftCore | null;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n isRequesting: boolean;\n query: string;\n search: () => Promise<void>;\n searchResults: SearchcraftResponse | null;\n setFacets: (facets: FacetPrime) => void;\n setIsRequesting: (isRequesting: boolean) => void;\n setQuery: (query: string) => void;\n setSearchResults: (results: SearchcraftResponse | null) => void;\n setPopoverVisibility: (isVisible: boolean) => void;\n isPopoverVisible: boolean;\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = create<SearchcraftState>((set, get) => {\n let searchcraft: SearchcraftCore | null = null;\n let debuggerInstance: SDKDebugger | null = null;\n\n const log = (level: LogLevel, message: string) => {\n if (debuggerInstance) {\n switch (level) {\n case LogLevel.DEBUG:\n debuggerInstance.debug(message);\n break;\n case LogLevel.INFO:\n debuggerInstance.info(message);\n break;\n case LogLevel.WARN:\n debuggerInstance.warn(message);\n break;\n case LogLevel.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n\n return {\n setPopoverVisibility: (isVisible: boolean) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n isPopoverVisible: false,\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) =>\n set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeFacetPathsForIndexField: (fieldName: string) =>\n set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n addRangeValueForIndexField: (data: RangeValueForIndexField) =>\n set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeRangeValueForIndexField: (fieldName: string) =>\n set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n searchMode: 'fuzzy',\n sortType: 'asc',\n facetPathsForIndexFields: {},\n rangeValueForIndexFields: {},\n query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n setQuery: (query) => {\n /**\n * When a new query is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n query,\n facetPathsForIndexFields: {},\n ...(query.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const state = get();\n log(LogLevel.INFO, `Starting search with search term: \"${state.query}\"`);\n\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n if (!state.query.trim()) {\n log(\n LogLevel.INFO,\n 'No search request was made: search term was empty.',\n );\n state.setSearchResults(null);\n return;\n }\n\n state.setIsRequesting(true);\n\n searchcraft.search(\n {\n query: state.query,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n },\n (results: SearchcraftResponse) => {\n const updatedFacets = results.data.facets || null;\n\n state.setSearchResults(results);\n state.setFacets(updatedFacets);\n\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(\n LogLevel.DEBUG,\n `Updated facets: ${JSON.stringify(updatedFacets)}`,\n );\n state.setIsRequesting(false);\n },\n );\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new SDKDebugger({ logLevel: LogLevel.DEBUG })\n : null;\n\n log(LogLevel.INFO, 'Searchcraft store initialized.');\n },\n };\n});\n\nconst useThemeStore = create<ThemeState>((set) => ({\n theme: 'light',\n toggleTheme: () =>\n set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\nexport { useSearchcraftStore, useThemeStore };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["searchcraftResultsInfoModuleCss","SearchcraftResultsInfoStyle0","SearchcraftResultsInfo","connectedCallback","this","unsubscribe","useSearchcraftStore","subscribe","state","isRequesting","resultsCount","_b","_a","searchResults","data","count","responseTime","_d","_c","time_taken","toFixed","query","disconnectedCallback","render","formattedResults","formatNumberWithCommas","h","class"],"sources":["src/components/searchcraft-results-info/searchcraft-results-info.module.scss?tag=searchcraft-results-info","src/components/searchcraft-results-info/searchcraft-results-info.tsx"],"sourcesContent":[".searchcraft-results-info-container {\n border-bottom: 1px solid var(--sc-surface-disabled);\n display: flex;\n justify-content: flex-start;\n}\n\n.searchcraft-results-info-content {\n color: var(--sc-content-primary);\n font-family: var(--sc-font-family);\n font-size: 18px;\n font-weight: 600;\n line-height: 20px;\n margin: 0px 0 8px;\n\n @media (max-width: $breakpoint-md) {\n margin: 0;\n margin-bottom: 8px;\n }\n}","import { Component, h, State } from '@stencil/core';\n\nimport { useSearchcraftStore } from '@provider/store';\n\nimport { formatNumberWithCommas } from '@utils';\n\n/**\n * This web component is designed to display the number of results returned from a search query.\n * It provides users with real-time feedback on the scale of the results, such as the total number of items found.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-results-info />\n * ```\n */\n@Component({\n tag: 'searchcraft-results-info',\n styleUrl: 'searchcraft-results-info.module.scss',\n shadow: false,\n})\nexport class SearchcraftResultsInfo {\n @State() isRequesting = false;\n @State() resultsCount = 0;\n @State() responseTime = '';\n @State() query = '';\n\n unsubscribe: () => void;\n\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.isRequesting = state.isRequesting;\n this.resultsCount = state.searchResults?.data?.count || 0;\n this.responseTime = (\n (state.searchResults?.data?.time_taken || 0) * 1000\n ).toFixed(2);\n this.query = state.query || '';\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n render() {\n if (!this.query || this.resultsCount === 0) {\n return null;\n }\n const formattedResults = formatNumberWithCommas(this.resultsCount);\n return (\n <div class='searchcraft-results-info-container'>\n <p class='searchcraft-results-info-content'>\n {formattedResults} results found in {this.responseTime}ms\n </p>\n </div>\n );\n }\n}\n"],"mappings":"mHAAA,MAAMA,EAAkC,8rHACxC,MAAAC,EAAeD,E,MCoBFE,EAAsB,M,2CACT,M,kBACA,E,kBACA,G,WACP,E,CAIjB,iBAAAC,GACEC,KAAKC,YAAcC,EAAoBC,WAAWC,I,YAChDJ,KAAKK,aAAeD,EAAMC,aAC1BL,KAAKM,eAAeC,GAAAC,EAAAJ,EAAMK,iBAAa,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAEI,QAAS,EACxDX,KAAKY,iBACFC,GAAAC,EAAAV,EAAMK,iBAAa,MAAAK,SAAA,SAAAA,EAAEJ,QAAI,MAAAG,SAAA,SAAAA,EAAEE,aAAc,GAAK,KAC/CC,QAAQ,GACVhB,KAAKiB,MAAQb,EAAMa,OAAS,EAAE,G,CAIlC,oBAAAC,GACE,GAAIlB,KAAKC,YAAa,CACpBD,KAAKC,a,EAIT,MAAAkB,GACE,IAAKnB,KAAKiB,OAASjB,KAAKM,eAAiB,EAAG,CAC1C,OAAO,I,CAET,MAAMc,EAAmBC,EAAuBrB,KAAKM,cACrD,OACEgB,EAAA,OAAKC,MAAM,sCACTD,EAAA,KAAGC,MAAM,oCACNH,EAAgB,qBAAoBpB,KAAKY,aAAY,M","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- const e="searchcraft-javascript-sdk";const t={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",initializeNextTick:false,invisiblePrehydration:true,isDebug:false,isDev:false,isTesting:false,lazyLoad:true,lifecycle:true,lifecycleDOMEvents:false,member:true,method:false,mode:false,observeAttribute:true,profile:false,prop:true,propBoolean:true,propMutable:false,propNumber:true,propString:true,reflect:false,scoped:false,scopedSlotTextContentFix:false,scriptDataOpts:false,shadowDelegatesFocus:false,shadowDom:false,slot:true,slotChildNodesFix:false,slotRelocation:true,state:true,style:true,svg:true,taskQueue:true,transformTagName:false,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};var l=Object.defineProperty;var r=(e,t)=>{for(var r in t)l(e,r,{get:t[r],enumerable:true})};var n=new WeakMap;var s=e=>n.get(e);var i=(e,t)=>n.set(t.t=e,t);var o=(e,t)=>{const l={l:0,$hostElement$:e,i:t,o:new Map};{l.u=new Promise((e=>l.v=e));e["s-p"]=[];e["s-rc"]=[]}return n.set(e,l)};var a=(e,t)=>t in e;var f=(e,t)=>(0,console.error)(e,t);var c=new Map;var u=(e,t,l)=>{const r=e.h.replace(/-/g,"_");const n=e.p;if(!n){return void 0}const s=c.get(n);if(s){return s[r]}
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${n}.entry.js${""}`).then((e=>{{c.set(n,e)}return e[r]}),f)};var v=new Map;var d="{visibility:hidden}.hydrated{visibility:inherit}";var h="slot-fb{display:contents}slot-fb[hidden]{display:none}";var p=typeof window!=="undefined"?window:{};var m=p.document||{head:{}};var y={l:0,m:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,l,r)=>e.addEventListener(t,l,r),rel:(e,t,l,r)=>e.removeEventListener(t,l,r),ce:(e,t)=>new CustomEvent(e,t)};var b=t.shadowDom;var w=e=>Promise.resolve(e);var g=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var $=false;var S=[];var k=[];var C=(e,t)=>l=>{e.push(l);if(!$){$=true;if(t&&y.l&4){x(O)}else{y.raf(O)}}};var j=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){f(e)}}e.length=0};var O=()=>{j(S);{j(k);if($=S.length>0){y.raf(O)}}};var x=e=>w().then(e);var T=C(k,true);var D={};var E="http://www.w3.org/2000/svg";var R="http://www.w3.org/1999/xhtml";var L=e=>e!=null;var F=e=>{e=typeof e;return e==="object"||e==="function"};function A(e){var t,l,r;return(r=(l=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:l.getAttribute("content"))!=null?r:void 0}var M={};r(M,{err:()=>P,map:()=>U,ok:()=>N,unwrap:()=>W,unwrapErr:()=>H});var N=e=>({isOk:true,isErr:false,value:e});var P=e=>({isOk:false,isErr:true,value:e});function U(e,t){if(e.isOk){const l=t(e.value);if(l instanceof Promise){return l.then((e=>N(e)))}else{return N(l)}}if(e.isErr){const t=e.value;return P(t)}throw"should never get here"}var W=e=>{if(e.isOk){return e.value}else{throw e.value}};var H=e=>{if(e.isErr){return e.value}else{throw e.value}};var z=(e,t="")=>{{return()=>{}}};var B=(e,t)=>{{return()=>{}}};var I=(e,t,...l)=>{let r=null;let n=null;let s=null;let i=false;let o=false;const a=[];const f=t=>{for(let l=0;l<t.length;l++){r=t[l];if(Array.isArray(r)){f(r)}else if(r!=null&&typeof r!=="boolean"){if(i=typeof e!=="function"&&!F(r)){r=String(r)}if(i&&o){a[a.length-1].$+=r}else{a.push(i?Q(null,r):r)}o=i}}};f(l);if(t){if(t.key){n=t.key}if(t.name){s=t.name}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}if(typeof e==="function"){return e(t===null?{}:t,a,K)}const c=Q(e,null);c.S=t;if(a.length>0){c.k=a}{c.C=n}{c.j=s}return c};var Q=(e,t)=>{const l={l:0,O:e,$:t,T:null,k:null};{l.S=null}{l.C=null}{l.j=null}return l};var q={};var G=e=>e&&e.O===q;var K={forEach:(e,t)=>e.map(V).forEach(t),map:(e,t)=>e.map(V).map(t).map(X)};var V=e=>({vattrs:e.S,vchildren:e.k,vkey:e.C,vname:e.j,vtag:e.O,vtext:e.$});var X=e=>{if(typeof e.vtag==="function"){const t={...e.vattrs};if(e.vkey){t.key=e.vkey}if(e.vname){t.name=e.vname}return I(e.vtag,t,...e.vchildren||[])}const t=Q(e.vtag,e.vtext);t.S=e.vattrs;t.k=e.vchildren;t.C=e.vkey;t.j=e.vname;return t};var _=(e,t)=>{if(e!=null&&!F(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var J=e=>s(e).$hostElement$;var Y=(e,t,l)=>{const r=J(e);return{emit:e=>Z(r,t,{bubbles:!!(l&4),composed:!!(l&2),cancelable:!!(l&1),detail:e})}};var Z=(e,t,l)=>{const r=y.ce(t,l);e.dispatchEvent(r);return r};var ee=new WeakMap;var te=(e,t,l)=>{let r=v.get(e);if(g&&l){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}v.set(e,r)};var le=(e,t,l)=>{var r;const n=ne(t);const s=v.get(n);e=e.nodeType===11?e:m;if(s){if(typeof s==="string"){e=e.head||e;let l=ee.get(e);let i;if(!l){ee.set(e,l=new Set)}if(!l.has(n)){{i=m.createElement("style");i.innerHTML=s;const l=(r=y.D)!=null?r:A(m);if(l!=null){i.setAttribute("nonce",l)}if(!(t.l&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const l=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(i,l)}else if("host"in e){if(g){const t=new CSSStyleSheet;t.replaceSync(s);e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");if(t){t.innerHTML=s+t.innerHTML}else{e.prepend(i)}}}else{e.append(i)}}if(t.l&1&&e.nodeName!=="HEAD"){e.insertBefore(i,null)}}if(t.l&4){i.innerHTML+=h}if(l){l.add(n)}}}else if(!e.adoptedStyleSheets.includes(s)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]}}return n};var re=e=>{const t=e.i;const l=e.$hostElement$;const r=z("attachStyles",t.h);le(l.getRootNode(),t);r()};var ne=(e,t)=>"sc-"+e.h;var se=(e,t,l,r,n,s)=>{if(l!==r){let i=a(e,t);let o=t.toLowerCase();if(t==="class"){const t=e.classList;const n=oe(l);const s=oe(r);t.remove(...n.filter((e=>e&&!s.includes(e))));t.add(...s.filter((e=>e&&!n.includes(e))))}else if(t==="style"){{for(const t in l){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!l||r[t]!==l[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else if(!i&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(a(p,o)){t=o.slice(2)}else{t=o[2]+t.slice(3)}if(l||r){const n=t.endsWith(ae);t=t.replace(fe,"");if(l){y.rel(e,t,l,n)}if(r){y.ael(e,t,r,n)}}}else{const o=F(r);if((i||o&&r!==null)&&!n){try{if(!e.tagName.includes("-")){const n=r==null?"":r;if(t==="list"){i=false}else if(l==null||e[t]!=n){if(typeof e.__lookupSetter__(t)==="function"){e[t]=n}else{e.setAttribute(t,n)}}}else{e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!i||s&4||n)&&!o){r=r===true?"":r;{e.setAttribute(t,r)}}}}};var ie=/\s/;var oe=e=>!e?[]:e.split(ie);var ae="Capture";var fe=new RegExp(ae+"$");var ce=(e,t,l)=>{const r=t.T.nodeType===11&&t.T.host?t.T.host:t.T;const n=e&&e.S||D;const s=t.S||D;{for(const e of ue(Object.keys(n))){if(!(e in s)){se(r,e,n[e],void 0,l,t.l)}}}for(const e of ue(Object.keys(s))){se(r,e,n[e],s[e],l,t.l)}};function ue(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var ve;var de;var he;var pe=false;var me=false;var ye=false;var be=false;var we=(e,l,r,n)=>{var s;const i=l.k[r];let o=0;let a;let f;let c;if(!pe){ye=true;if(i.O==="slot"){i.l|=i.k?2:1}}if(i.$!==null){a=i.T=m.createTextNode(i.$)}else if(i.l&1){a=i.T=m.createTextNode("")}else{if(!be){be=i.O==="svg"}a=i.T=m.createElementNS(be?E:R,!pe&&t.slotRelocation&&i.l&2?"slot-fb":i.O);if(be&&i.O==="foreignObject"){be=false}{ce(null,i,be)}const l=a.getRootNode();const r=!l.querySelector("body");if(!r&&t.scoped&&L(ve)&&a["s-si"]!==ve){a.classList.add(a["s-si"]=ve)}if(i.k){for(o=0;o<i.k.length;++o){f=we(e,i,o);if(f){a.appendChild(f)}}}{if(i.O==="svg"){be=false}else if(a.tagName==="foreignObject"){be=true}}}a["s-hn"]=he;{if(i.l&(2|1)){a["s-sr"]=true;a["s-cr"]=de;a["s-sn"]=i.j||"";a["s-rf"]=(s=i.S)==null?void 0:s.ref;c=e&&e.k&&e.k[r];if(c&&c.O===i.O&&e.T){{ge(e.T,false)}}}}return a};var ge=(e,l)=>{y.l|=1;const r=Array.from(e.childNodes);if(e["s-sr"]&&t.experimentalSlotFixes){let t=e;while(t=t.nextSibling){if(t&&t["s-sn"]===e["s-sn"]&&t["s-sh"]===he){r.push(t)}}}for(let e=r.length-1;e>=0;e--){const t=r[e];if(t["s-hn"]!==he&&t["s-ol"]){Le(Oe(t),t,je(t));t["s-ol"].remove();t["s-ol"]=void 0;t["s-sh"]=void 0;ye=true}if(l){ge(t,l)}}y.l&=~1};var $e=(e,t,l,r,n,s)=>{let i=e["s-cr"]&&e["s-cr"].parentNode||e;let o;for(;n<=s;++n){if(r[n]){o=we(null,l,n);if(o){r[n].T=o;Le(i,o,je(t))}}}};var Se=(e,t,l)=>{for(let r=t;r<=l;++r){const t=e[r];if(t){const e=t.T;if(e){{me=true;if(e["s-ol"]){e["s-ol"].remove()}else{ge(e,true)}}e.remove()}}}};var ke=(e,t,l,r,n=false)=>{let s=0;let i=0;let o=0;let a=0;let f=t.length-1;let c=t[0];let u=t[f];let v=r.length-1;let d=r[0];let h=r[v];let p;let m;while(s<=f&&i<=v){if(c==null){c=t[++s]}else if(u==null){u=t[--f]}else if(d==null){d=r[++i]}else if(h==null){h=r[--v]}else if(Ce(c,d,n)){xe(c,d,n);c=t[++s];d=r[++i]}else if(Ce(u,h,n)){xe(u,h,n);u=t[--f];h=r[--v]}else if(Ce(c,h,n)){if(c.O==="slot"||h.O==="slot"){ge(c.T.parentNode,false)}xe(c,h,n);Le(e,c.T,u.T.nextSibling);c=t[++s];h=r[--v]}else if(Ce(u,d,n)){if(c.O==="slot"||h.O==="slot"){ge(u.T.parentNode,false)}xe(u,d,n);Le(e,u.T,c.T);u=t[--f];d=r[++i]}else{o=-1;{for(a=s;a<=f;++a){if(t[a]&&t[a].C!==null&&t[a].C===d.C){o=a;break}}}if(o>=0){m=t[o];if(m.O!==d.O){p=we(t&&t[i],l,o)}else{xe(m,d,n);t[o]=void 0;p=m.T}d=r[++i]}else{p=we(t&&t[i],l,i);d=r[++i]}if(p){{Le(Oe(c.T),p,je(c.T))}}}}if(s>f){$e(e,r[v+1]==null?null:r[v+1].T,l,r,i,v)}else if(i>v){Se(t,s,f)}};var Ce=(e,t,l=false)=>{if(e.O===t.O){if(e.O==="slot"){if("R"in e&&l&&e.T.nodeType!==8){return false}return e.j===t.j}if(!l){return e.C===t.C}return true}return false};var je=e=>e&&e["s-ol"]||e;var Oe=e=>(e["s-ol"]?e["s-ol"]:e).parentNode;var xe=(e,l,r=false)=>{const n=l.T=e.T;const s=e.k;const i=l.k;const o=l.O;const a=l.$;let f;if(a===null){{be=o==="svg"?true:o==="foreignObject"?false:be}{if(o==="slot"&&!pe);else{ce(e,l,be)}}if(s!==null&&i!==null){ke(n,s,l,i,r)}else if(i!==null){if(e.$!==null){n.textContent=""}$e(n,null,l,i,0,i.length-1)}else if(!r&&t.updatable&&s!==null){Se(s,0,s.length-1)}if(be&&o==="svg"){be=false}}else if(f=n["s-cr"]){f.parentNode.textContent=a}else if(e.$!==a){n.data=a}};var Te=e=>{const t=e.childNodes;for(const e of t){if(e.nodeType===1){if(e["s-sr"]){const l=e["s-sn"];e.hidden=false;for(const r of t){if(r!==e){if(r["s-hn"]!==e["s-hn"]||l!==""){if(r.nodeType===1&&(l===r.getAttribute("slot")||l===r["s-sn"])||r.nodeType===3&&l===r["s-sn"]){e.hidden=true;break}}else{if(r.nodeType===1||r.nodeType===3&&r.textContent.trim()!==""){e.hidden=true;break}}}}}Te(e)}}};var De=[];var Ee=e=>{let l;let r;let n;for(const s of e.childNodes){if(s["s-sr"]&&(l=s["s-cr"])&&l.parentNode){r=l.parentNode.childNodes;const e=s["s-sn"];for(n=r.length-1;n>=0;n--){l=r[n];if(!l["s-cn"]&&!l["s-nr"]&&l["s-hn"]!==s["s-hn"]&&!t.experimentalSlotFixes){if(Re(l,e)){let t=De.find((e=>e.L===l));me=true;l["s-sn"]=l["s-sn"]||e;if(t){t.L["s-sh"]=s["s-hn"];t.F=s}else{l["s-sh"]=s["s-hn"];De.push({F:s,L:l})}if(l["s-sr"]){De.map((e=>{if(Re(e.L,l["s-sn"])){t=De.find((e=>e.L===l));if(t&&!e.F){e.F=t.F}}}))}}else if(!De.some((e=>e.L===l))){De.push({L:l})}}}}if(s.nodeType===1){Ee(s)}}};var Re=(e,t)=>{if(e.nodeType===1){if(e.getAttribute("slot")===null&&t===""){return true}if(e.getAttribute("slot")===t){return true}return false}if(e["s-sn"]===t){return true}return t===""};var Le=(e,t,l)=>{const r=e==null?void 0:e.insertBefore(t,l);return r};var Fe=(e,t,l=false)=>{var r,n,s,i;const o=e.$hostElement$;const a=e.A||Q(null,null);const f=G(t)?t:I(null,null,t);he=o.tagName;if(l&&f.S){for(const e of Object.keys(f.S)){if(o.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){f.S[e]=o[e]}}}f.O=null;f.l|=4;e.A=f;f.T=a.T=o;pe=b;{de=o["s-cr"];me=false}xe(a,f,l);{y.l|=1;if(ye){Ee(f.T);for(const e of De){const t=e.L;if(!t["s-ol"]){const e=m.createTextNode("");e["s-nr"]=t;Le(t.parentNode,t["s-ol"]=e,t)}}for(const e of De){const t=e.L;const o=e.F;if(o){const e=o.parentNode;let l=o.nextSibling;{let s=(r=t["s-ol"])==null?void 0:r.previousSibling;while(s){let r=(n=s["s-nr"])!=null?n:null;if(r&&r["s-sn"]===t["s-sn"]&&e===r.parentNode){r=r.nextSibling;while(r===t||(r==null?void 0:r["s-sr"])){r=r==null?void 0:r.nextSibling}if(!r||!r["s-nr"]){l=r;break}}s=s.previousSibling}}if(!l&&e!==t.parentNode||t.nextSibling!==l){if(t!==l){if(!t["s-hn"]&&t["s-ol"]){t["s-hn"]=t["s-ol"].parentNode.nodeName}Le(e,t,l);if(t.nodeType===1){t.hidden=(s=t["s-ih"])!=null?s:false}}}t&&typeof o["s-rf"]==="function"&&o["s-rf"](t)}else{if(t.nodeType===1){if(l){t["s-ih"]=(i=t.hidden)!=null?i:false}t.hidden=true}}}}if(me){Te(f.T)}y.l&=~1;De.length=0}de=void 0};var Ae=(e,t)=>{if(t&&!e.M&&t["s-p"]){t["s-p"].push(new Promise((t=>e.M=t)))}};var Me=(e,t)=>{{e.l|=16}if(e.l&4){e.l|=512;return}Ae(e,e.N);const l=()=>Ne(e,t);return T(l)};var Ne=(e,t)=>{const l=e.$hostElement$;const r=z("scheduleUpdate",e.i.h);const n=e.t;if(!n){throw new Error(`Can't render component <${l.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`)}let s;r();return Pe(s,(()=>We(e,n,t)))};var Pe=(e,t)=>Ue(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var Ue=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var We=async(e,t,l)=>{var r;const n=e.$hostElement$;const s=z("update",e.i.h);const i=n["s-rc"];if(l){re(e)}const o=z("render",e.i.h);{He(e,t,n,l)}if(i){i.map((e=>e()));n["s-rc"]=void 0}o();s();{const t=(r=n["s-p"])!=null?r:[];const l=()=>ze(e);if(t.length===0){l()}else{Promise.all(t).then(l);e.l|=4;t.length=0}}};var He=(e,t,l,r)=>{try{t=t.render();{e.l&=~16}{e.l|=2}{{{Fe(e,t,r)}}}}catch(t){f(t,e.$hostElement$)}return null};var ze=e=>{const t=e.i.h;const l=e.$hostElement$;const r=z("postUpdate",t);const n=e.t;const s=e.N;if(!(e.l&64)){e.l|=64;{Qe(l)}{Ie(n,"componentDidLoad")}r();{e.v(l);if(!s){Be()}}}else{r()}{if(e.M){e.M();e.M=void 0}if(e.l&512){x((()=>Me(e,false)))}e.l&=~(4|512)}};var Be=t=>{{Qe(m.documentElement)}x((()=>Z(p,"appload",{detail:{namespace:e}})))};var Ie=(e,t,l)=>{if(e&&e[t]){try{return e[t](l)}catch(e){f(e)}}return void 0};var Qe=e=>{var l;return e.classList.add((l=t.hydratedSelectorName)!=null?l:"hydrated")};var qe=(e,t)=>s(e).o.get(t);var Ge=(e,t,l,r)=>{const n=s(e);if(!n){throw new Error(`Couldn't find host element for "${r.h}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`)}const i=n.$hostElement$;const o=n.o.get(t);const a=n.l;const c=n.t;l=_(l,r.P[t][0]);const u=Number.isNaN(o)&&Number.isNaN(l);const v=l!==o&&!u;if((!(a&8)||o===void 0)&&v){n.o.set(t,l);if(c){if(r.U&&a&128){const e=r.U[t];if(e){e.map((e=>{try{c[e](l,o,t)}catch(e){f(e,i)}}))}}if((a&(2|16))===2){Me(n,false)}}}};var Ke=(e,t,l)=>{var r,n;const i=e.prototype;if(t.P||(t.U||e.watchers)){if(e.watchers&&!t.U){t.U=e.watchers}const o=Object.entries((r=t.P)!=null?r:{});o.map((([e,[r]])=>{if(r&31||l&2&&r&32){Object.defineProperty(i,e,{get(){return qe(this,e)},set(l){Ge(this,e,l,t)},configurable:true,enumerable:true})}}));if(l&1){const l=new Map;i.attributeChangedCallback=function(e,r,n){y.jmp((()=>{var o;const a=l.get(e);if(this.hasOwnProperty(a)){n=this[a];delete this[a]}else if(i.hasOwnProperty(a)&&typeof this[a]==="number"&&this[a]==n){return}else if(a==null){const l=s(this);const i=l==null?void 0:l.l;if(i&&!(i&8)&&i&128&&n!==r){const s=l.t;const i=(o=t.U)==null?void 0:o[e];i==null?void 0:i.forEach((t=>{if(s[t]!=null){s[t].call(s,n,r,e)}}))}return}this[a]=n===null&&typeof this[a]==="boolean"?false:n}))};e.observedAttributes=Array.from(new Set([...Object.keys((n=t.U)!=null?n:{}),...o.filter((([e,t])=>t[0]&15)).map((([e,t])=>{const r=t[1]||e;l.set(r,e);return r}))]))}}return e};var Ve=async(e,t,l,r)=>{let n;if((t.l&32)===0){t.l|=32;const r=l.p;if(r){const e=u(l);if(e&&"then"in e){const t=B();n=await e;t()}else{n=e}if(!n){throw new Error(`Constructor for "${l.h}#${t.W}" was not found`)}if(!n.isProxied){{l.U=n.watchers}Ke(n,l,2);n.isProxied=true}const r=z("createInstance",l.h);{t.l|=8}try{new n(t)}catch(e){f(e)}{t.l&=~8}{t.l|=128}r();Xe(t.t)}else{n=e.constructor;const l=e.localName;customElements.whenDefined(l).then((()=>t.l|=128))}if(n&&n.style){let e;if(typeof n.style==="string"){e=n.style}const t=ne(l);if(!v.has(t)){const r=z("registerStyles",l.h);te(t,e,!!(l.l&1));r()}}}const s=t.N;const i=()=>Me(t,true);if(s&&s["s-rc"]){s["s-rc"].push(i)}else{i()}};var Xe=e=>{{Ie(e,"connectedCallback")}};var _e=e=>{if((y.l&1)===0){const t=s(e);const l=t.i;const r=z("connectedCallback",l.h);if(!(t.l&1)){t.l|=1;{if(l.l&(4|8)){Je(e)}}{let l=e;while(l=l.parentNode||l.host){if(l["s-p"]){Ae(t,t.N=l);break}}}if(l.P){Object.entries(l.P).map((([t,[l]])=>{if(l&31&&e.hasOwnProperty(t)){const l=e[t];delete e[t];e[t]=l}}))}{Ve(e,t,l)}}else{if(t==null?void 0:t.t){Xe(t.t)}else if(t==null?void 0:t.u){t.u.then((()=>Xe(t.t)))}}r()}};var Je=e=>{const t=e["s-cr"]=m.createComment("");t["s-cn"]=true;Le(e,t,e.firstChild)};var Ye=e=>{{Ie(e,"disconnectedCallback")}};var Ze=async e=>{if((y.l&1)===0){const t=s(e);if(t==null?void 0:t.t){Ye(t.t)}else if(t==null?void 0:t.u){t.u.then((()=>Ye(t.t)))}}};var et=(e,t={})=>{var l;const r=z();const n=[];const i=t.exclude||[];const a=p.customElements;const f=m.head;const c=f.querySelector("meta[charset]");const u=m.createElement("style");const v=[];let b;let w=true;Object.assign(y,t);y.m=new URL(t.resourcesUrl||"./",m.baseURI).href;let g=false;e.map((e=>{e[1].map((t=>{var l;const r={l:t[0],h:t[1],P:t[2],H:t[3]};if(r.l&4){g=true}{r.P=t[2]}{r.U=(l=t[4])!=null?l:{}}const f=r.h;const c=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;o(e,r)}connectedCallback(){s(this);if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true}if(b){clearTimeout(b);b=null}if(w){v.push(this)}else{y.jmp((()=>_e(this)))}}disconnectedCallback(){y.jmp((()=>Ze(this)))}componentOnReady(){return s(this).u}};r.p=e[0];if(!i.includes(f)&&!a.get(f)){n.push(f);a.define(f,Ke(c,r,1))}}))}));if(n.length>0){if(g){u.textContent+=h}{u.textContent+=n.sort()+d}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(l=y.D)!=null?l:A(m);if(e!=null){u.setAttribute("nonce",e)}f.insertBefore(u,c?c.nextSibling:f.firstChild)}}w=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{y.jmp((()=>b=setTimeout(Be,30)))}}r()};var tt=(e,t)=>t;var lt=e=>y.D=e;export{tt as F,et as b,Y as c,J as g,I as h,w as p,i as r,lt as s};
3
- //# sourceMappingURL=p-e0be53df.js.map