@searchcraft/javascript-sdk 0.8.2 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +25 -37
  2. package/dist/components/defineCustomElements.d.ts +1 -0
  3. package/dist/components/defineCustomElements.js +46 -0
  4. package/dist/components/index.d.ts +44 -11
  5. package/dist/components/index.js +104 -53
  6. package/dist/components/index.js.map +1 -1
  7. package/dist/components/p-05872320.js +1462 -0
  8. package/dist/components/p-05872320.js.map +1 -0
  9. package/dist/components/{p-433f974c.js → p-11b05b94.js} +5 -5
  10. package/dist/components/p-11b05b94.js.map +1 -0
  11. package/dist/components/{p-ec0d230e.js → p-3568414f.js} +4 -4
  12. package/dist/components/p-3568414f.js.map +1 -0
  13. package/dist/components/{p-6e2eef88.js → p-5bd5c3cb.js} +17 -126
  14. package/dist/components/p-5bd5c3cb.js.map +1 -0
  15. package/dist/{cjs/SearchcraftStore-75fac5e0.js → components/p-6d8b0ead.js} +1408 -1350
  16. package/dist/components/p-6d8b0ead.js.map +1 -0
  17. package/dist/components/{p-fc7cda96.js → p-7777d986.js} +4 -4
  18. package/dist/components/{p-fc7cda96.js.map → p-7777d986.js.map} +1 -1
  19. package/dist/components/p-b0bc5cee.js +102 -0
  20. package/dist/components/p-b0bc5cee.js.map +1 -0
  21. package/dist/components/{p-4e9cd62e.js → p-bb12ab5a.js} +3 -3
  22. package/dist/components/{p-4e9cd62e.js.map → p-bb12ab5a.js.map} +1 -1
  23. package/dist/components/{p-97332d3e.js → p-cd9ba361.js} +3 -3
  24. package/dist/components/p-cd9ba361.js.map +1 -0
  25. package/dist/components/searchcraft-ad.d.ts +11 -0
  26. package/dist/components/searchcraft-ad.js +8 -0
  27. package/dist/components/searchcraft-ad.js.map +1 -0
  28. package/dist/components/searchcraft-base-search-result.js +1 -1
  29. package/dist/components/searchcraft-base-search-results.js +79 -29
  30. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  31. package/dist/components/searchcraft-facet-list.js +1 -1
  32. package/dist/components/searchcraft-filter-panel.js +9 -9
  33. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  34. package/dist/components/searchcraft-input-form.js +1 -1
  35. package/dist/components/searchcraft-pagination.js +2 -2
  36. package/dist/components/searchcraft-pagination.js.map +1 -1
  37. package/dist/components/searchcraft-popover-button.js +3 -3
  38. package/dist/components/searchcraft-popover-button.js.map +1 -1
  39. package/dist/components/searchcraft-popover-form.js +28 -35
  40. package/dist/components/searchcraft-popover-form.js.map +1 -1
  41. package/dist/components/searchcraft-popover-list-item.js +1 -1
  42. package/dist/components/searchcraft-popover-list-view.js +1 -1
  43. package/dist/components/searchcraft-results-info.js +2 -2
  44. package/dist/components/searchcraft-results-info.js.map +1 -1
  45. package/dist/components/searchcraft-search-results-per-page.js +3 -3
  46. package/dist/components/searchcraft-search-results-per-page.js.map +1 -1
  47. package/dist/components/searchcraft-slider.js +1 -1
  48. package/dist/components/searchcraft-theme.js +5 -5
  49. package/dist/components/searchcraft-theme.js.map +1 -1
  50. package/dist/components/searchcraft-toggle-button.js +1 -1
  51. package/dist/types/components/searchcraft-ad/searchcraft-ad.d.ts +19 -0
  52. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +5 -5
  53. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +15 -12
  54. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +1 -1
  55. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +6 -31
  56. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +2 -12
  57. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +4 -0
  58. package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +2 -2
  59. package/dist/types/components.d.ts +62 -189
  60. package/dist/types/index.d.ts +14 -1
  61. package/dist/types/store/SearchcraftStore.d.ts +4 -0
  62. package/dist/types/{provider → store}/SearchcraftStore.types.d.ts +2 -1
  63. package/dist/{collection/provider/store.js → types/store/index.d.ts} +2 -2
  64. package/package.json +8 -17
  65. package/dist/cjs/SearchcraftStore-75fac5e0.js.map +0 -1
  66. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  67. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  68. package/dist/cjs/index-5b0b9d4c.js +0 -84
  69. package/dist/cjs/index-5b0b9d4c.js.map +0 -1
  70. package/dist/cjs/index-a81df4f0.js +0 -1577
  71. package/dist/cjs/index-a81df4f0.js.map +0 -1
  72. package/dist/cjs/index.cjs.js +0 -14
  73. package/dist/cjs/index.cjs.js.map +0 -1
  74. package/dist/cjs/loader.cjs.js +0 -17
  75. package/dist/cjs/loader.cjs.js.map +0 -1
  76. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js +0 -152
  77. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js.map +0 -1
  78. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +0 -97
  79. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +0 -1
  80. package/dist/cjs/searchcraft-button_3.cjs.entry.js +0 -88
  81. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +0 -1
  82. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +0 -393
  83. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +0 -1
  84. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +0 -113
  85. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +0 -1
  86. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +0 -260
  87. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +0 -1
  88. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +0 -27
  89. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +0 -1
  90. package/dist/cjs/searchcraft-pagination.cjs.entry.js +0 -106
  91. package/dist/cjs/searchcraft-pagination.cjs.entry.js.map +0 -1
  92. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +0 -22
  93. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +0 -1
  94. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +0 -234
  95. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +0 -1
  96. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js +0 -101
  97. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js.map +0 -1
  98. package/dist/cjs/searchcraft-results-info.cjs.entry.js +0 -80
  99. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +0 -1
  100. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js +0 -75
  101. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js.map +0 -1
  102. package/dist/cjs/searchcraft-select.cjs.entry.js +0 -70
  103. package/dist/cjs/searchcraft-select.cjs.entry.js.map +0 -1
  104. package/dist/cjs/searchcraft-theme.cjs.entry.js +0 -56
  105. package/dist/cjs/searchcraft-theme.cjs.entry.js.map +0 -1
  106. package/dist/cjs/styles-7b2d06f2.js +0 -28
  107. package/dist/cjs/styles-7b2d06f2.js.map +0 -1
  108. package/dist/cjs/units-fe4d8083.js +0 -88
  109. package/dist/cjs/units-fe4d8083.js.map +0 -1
  110. package/dist/collection/collection-manifest.json +0 -32
  111. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +0 -302
  112. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +0 -1
  113. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js +0 -73
  114. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js.map +0 -1
  115. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +0 -313
  116. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +0 -1
  117. package/dist/collection/components/searchcraft-button/searchcraft-button.js +0 -217
  118. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +0 -1
  119. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +0 -44
  120. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +0 -1
  121. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +0 -200
  122. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +0 -1
  123. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +0 -149
  124. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +0 -1
  125. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +0 -443
  126. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +0 -1
  127. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +0 -67
  128. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +0 -1
  129. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js +0 -141
  130. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js.map +0 -1
  131. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +0 -15
  132. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js.map +0 -1
  133. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +0 -381
  134. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +0 -1
  135. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +0 -128
  136. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +0 -1
  137. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js +0 -73
  138. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js.map +0 -1
  139. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +0 -141
  140. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +0 -1
  141. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +0 -138
  142. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +0 -1
  143. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js +0 -129
  144. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js.map +0 -1
  145. package/dist/collection/components/searchcraft-select/searchcraft-select.js +0 -261
  146. package/dist/collection/components/searchcraft-select/searchcraft-select.js.map +0 -1
  147. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +0 -194
  148. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +0 -1
  149. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js +0 -97
  150. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js.map +0 -1
  151. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +0 -118
  152. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +0 -1
  153. package/dist/collection/index.js +0 -3
  154. package/dist/collection/index.js.map +0 -1
  155. package/dist/collection/provider/SearchcraftStore.js +0 -160
  156. package/dist/collection/provider/SearchcraftStore.js.map +0 -1
  157. package/dist/collection/provider/SearchcraftStore.types.js +0 -2
  158. package/dist/collection/provider/SearchcraftStore.types.js.map +0 -1
  159. package/dist/collection/provider/store.js.map +0 -1
  160. package/dist/collection/utils/facets.js +0 -128
  161. package/dist/collection/utils/facets.js.map +0 -1
  162. package/dist/collection/utils/index.js +0 -4
  163. package/dist/collection/utils/index.js.map +0 -1
  164. package/dist/collection/utils/styles.js +0 -22
  165. package/dist/collection/utils/styles.js.map +0 -1
  166. package/dist/collection/utils/units.js +0 -83
  167. package/dist/collection/utils/units.js.map +0 -1
  168. package/dist/components/p-25ee7496.js +0 -58
  169. package/dist/components/p-25ee7496.js.map +0 -1
  170. package/dist/components/p-38419178.js +0 -1625
  171. package/dist/components/p-38419178.js.map +0 -1
  172. package/dist/components/p-433f974c.js.map +0 -1
  173. package/dist/components/p-6e2eef88.js.map +0 -1
  174. package/dist/components/p-97332d3e.js.map +0 -1
  175. package/dist/components/p-bff4d3fc.js +0 -65
  176. package/dist/components/p-bff4d3fc.js.map +0 -1
  177. package/dist/components/p-de4a48b1.js +0 -65
  178. package/dist/components/p-de4a48b1.js.map +0 -1
  179. package/dist/components/p-ec0d230e.js.map +0 -1
  180. package/dist/components/searchcraft-base-search-result-ad.d.ts +0 -11
  181. package/dist/components/searchcraft-base-search-result-ad.js +0 -8
  182. package/dist/components/searchcraft-base-search-result-ad.js.map +0 -1
  183. package/dist/components/searchcraft-popover-list-item-ad.d.ts +0 -11
  184. package/dist/components/searchcraft-popover-list-item-ad.js +0 -8
  185. package/dist/components/searchcraft-popover-list-item-ad.js.map +0 -1
  186. package/dist/esm/SearchcraftStore-3cfd565a.js +0 -1625
  187. package/dist/esm/SearchcraftStore-3cfd565a.js.map +0 -1
  188. package/dist/esm/app-globals-0f993ce5.js +0 -5
  189. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  190. package/dist/esm/index-3608c57d.js +0 -1548
  191. package/dist/esm/index-3608c57d.js.map +0 -1
  192. package/dist/esm/index-72ac5051.js +0 -82
  193. package/dist/esm/index-72ac5051.js.map +0 -1
  194. package/dist/esm/index.js +0 -4
  195. package/dist/esm/index.js.map +0 -1
  196. package/dist/esm/loader.js +0 -13
  197. package/dist/esm/loader.js.map +0 -1
  198. package/dist/esm/searchcraft-base-search-result_2.entry.js +0 -147
  199. package/dist/esm/searchcraft-base-search-result_2.entry.js.map +0 -1
  200. package/dist/esm/searchcraft-base-search-results.entry.js +0 -93
  201. package/dist/esm/searchcraft-base-search-results.entry.js.map +0 -1
  202. package/dist/esm/searchcraft-button_3.entry.js +0 -82
  203. package/dist/esm/searchcraft-button_3.entry.js.map +0 -1
  204. package/dist/esm/searchcraft-facet-list_3.entry.js +0 -387
  205. package/dist/esm/searchcraft-facet-list_3.entry.js.map +0 -1
  206. package/dist/esm/searchcraft-filter-panel.entry.js +0 -109
  207. package/dist/esm/searchcraft-filter-panel.entry.js.map +0 -1
  208. package/dist/esm/searchcraft-input-form_2.entry.js +0 -255
  209. package/dist/esm/searchcraft-input-form_2.entry.js.map +0 -1
  210. package/dist/esm/searchcraft-javascript-sdk.js +0 -22
  211. package/dist/esm/searchcraft-javascript-sdk.js.map +0 -1
  212. package/dist/esm/searchcraft-pagination.entry.js +0 -102
  213. package/dist/esm/searchcraft-pagination.entry.js.map +0 -1
  214. package/dist/esm/searchcraft-popover-button.entry.js +0 -18
  215. package/dist/esm/searchcraft-popover-button.entry.js.map +0 -1
  216. package/dist/esm/searchcraft-popover-form.entry.js +0 -230
  217. package/dist/esm/searchcraft-popover-form.entry.js.map +0 -1
  218. package/dist/esm/searchcraft-popover-list-item_2.entry.js +0 -96
  219. package/dist/esm/searchcraft-popover-list-item_2.entry.js.map +0 -1
  220. package/dist/esm/searchcraft-results-info.entry.js +0 -76
  221. package/dist/esm/searchcraft-results-info.entry.js.map +0 -1
  222. package/dist/esm/searchcraft-search-results-per-page.entry.js +0 -71
  223. package/dist/esm/searchcraft-search-results-per-page.entry.js.map +0 -1
  224. package/dist/esm/searchcraft-select.entry.js +0 -66
  225. package/dist/esm/searchcraft-select.entry.js.map +0 -1
  226. package/dist/esm/searchcraft-theme.entry.js +0 -52
  227. package/dist/esm/searchcraft-theme.entry.js.map +0 -1
  228. package/dist/esm/styles-961644ef.js +0 -25
  229. package/dist/esm/styles-961644ef.js.map +0 -1
  230. package/dist/esm/units-daaf96f5.js +0 -84
  231. package/dist/esm/units-daaf96f5.js.map +0 -1
  232. package/dist/index.cjs.js +0 -1
  233. package/dist/index.js +0 -1
  234. package/dist/loader/cdn.js +0 -1
  235. package/dist/loader/index.cjs.js +0 -1
  236. package/dist/loader/index.d.ts +0 -24
  237. package/dist/loader/index.es2017.js +0 -1
  238. package/dist/loader/index.js +0 -2
  239. package/dist/loader/package.json +0 -11
  240. package/dist/searchcraft-javascript-sdk/index.esm.js +0 -2
  241. package/dist/searchcraft-javascript-sdk/index.esm.js.map +0 -1
  242. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js +0 -2
  243. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js.map +0 -1
  244. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js +0 -2
  245. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js.map +0 -1
  246. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js +0 -2
  247. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js.map +0 -1
  248. package/dist/searchcraft-javascript-sdk/p-37842dee.entry.js +0 -2
  249. package/dist/searchcraft-javascript-sdk/p-37842dee.entry.js.map +0 -1
  250. package/dist/searchcraft-javascript-sdk/p-38419178.js +0 -11
  251. package/dist/searchcraft-javascript-sdk/p-38419178.js.map +0 -1
  252. package/dist/searchcraft-javascript-sdk/p-3be70f20.entry.js +0 -2
  253. package/dist/searchcraft-javascript-sdk/p-3be70f20.entry.js.map +0 -1
  254. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js +0 -7
  255. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +0 -1
  256. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js +0 -2
  257. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js.map +0 -1
  258. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js +0 -2
  259. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js.map +0 -1
  260. package/dist/searchcraft-javascript-sdk/p-6bffd3f5.entry.js +0 -2
  261. package/dist/searchcraft-javascript-sdk/p-6bffd3f5.entry.js.map +0 -1
  262. package/dist/searchcraft-javascript-sdk/p-7813f3cc.entry.js +0 -2
  263. package/dist/searchcraft-javascript-sdk/p-7813f3cc.entry.js.map +0 -1
  264. package/dist/searchcraft-javascript-sdk/p-7e13c128.js +0 -3
  265. package/dist/searchcraft-javascript-sdk/p-7e13c128.js.map +0 -1
  266. package/dist/searchcraft-javascript-sdk/p-7f4dd50c.entry.js +0 -2
  267. package/dist/searchcraft-javascript-sdk/p-7f4dd50c.entry.js.map +0 -1
  268. package/dist/searchcraft-javascript-sdk/p-9340f4e4.entry.js +0 -2
  269. package/dist/searchcraft-javascript-sdk/p-9340f4e4.entry.js.map +0 -1
  270. package/dist/searchcraft-javascript-sdk/p-a84b1548.entry.js +0 -2
  271. package/dist/searchcraft-javascript-sdk/p-a84b1548.entry.js.map +0 -1
  272. package/dist/searchcraft-javascript-sdk/p-b8ea0454.entry.js +0 -2
  273. package/dist/searchcraft-javascript-sdk/p-b8ea0454.entry.js.map +0 -1
  274. package/dist/searchcraft-javascript-sdk/p-c4a9d8ab.entry.js +0 -2
  275. package/dist/searchcraft-javascript-sdk/p-c4a9d8ab.entry.js.map +0 -1
  276. package/dist/searchcraft-javascript-sdk/p-d9551738.js +0 -2
  277. package/dist/searchcraft-javascript-sdk/p-d9551738.js.map +0 -1
  278. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js +0 -2
  279. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js.map +0 -1
  280. package/dist/searchcraft-javascript-sdk/p-e1255160.js +0 -2
  281. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +0 -1
  282. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +0 -2
  283. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +0 -1
  284. package/dist/types/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.d.ts +0 -14
  285. package/dist/types/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.d.ts +0 -14
  286. package/dist/types/provider/SearchcraftStore.d.ts +0 -4
  287. package/dist/types/provider/store.d.ts +0 -3
@@ -1,1011 +1,388 @@
1
- 'use strict';
2
-
3
- var zustand = {};
4
-
5
- var vanilla$1 = {};
6
-
7
- const createStoreImpl = (createState) => {
8
- let state;
9
- const listeners = /* @__PURE__ */ new Set();
10
- const setState = (partial, replace) => {
11
- const nextState = typeof partial === "function" ? partial(state) : partial;
12
- if (!Object.is(nextState, state)) {
13
- const previousState = state;
14
- state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState);
15
- listeners.forEach((listener) => listener(state, previousState));
1
+ var L = Object.defineProperty;
2
+ var q = (n, t, r) => t in n ? L(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;
3
+ var h = (n, t, r) => q(n, typeof t != "symbol" ? t + "" : t, r);
4
+ var F = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = "DEBUG", n[n.INFO = 1] = "INFO", n[n.WARN = 2] = "WARN", n[n.ERROR = 3] = "ERROR", n))(F || {});
5
+ class pe {
6
+ constructor(t) {
7
+ h(this, "logLevel");
8
+ h(this, "logFormatter");
9
+ this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;
10
+ }
11
+ defaultFormatter(t, r) {
12
+ return `[${F[t]}] ${( new Date()).toISOString()}: ${r}`;
13
+ }
14
+ debug(t) {
15
+ this.logLevel <= 0 && console.log(this.logFormatter(0, t));
16
+ }
17
+ info(t) {
18
+ this.logLevel <= 1 && console.info(this.logFormatter(1, t));
19
+ }
20
+ warn(t) {
21
+ this.logLevel <= 2 && console.warn(this.logFormatter(2, t));
22
+ }
23
+ error(t) {
24
+ this.logLevel <= 3 && console.error(this.logFormatter(3, t));
25
+ }
26
+ log(t, r) {
27
+ switch (t) {
28
+ case 0:
29
+ this.debug(r);
30
+ break;
31
+ case 1:
32
+ this.info(r);
33
+ break;
34
+ case 2:
35
+ this.warn(r);
36
+ break;
37
+ case 3:
38
+ this.error(r);
39
+ break;
16
40
  }
17
- };
18
- const getState = () => state;
19
- const getInitialState = () => initialState;
20
- const subscribe = (listener) => {
21
- listeners.add(listener);
22
- return () => listeners.delete(listener);
23
- };
24
- const api = { setState, getState, getInitialState, subscribe };
25
- const initialState = state = createState(setState, getState, api);
26
- return api;
27
- };
28
- const createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
29
-
30
- vanilla$1.createStore = createStore;
31
-
32
- var react$1 = {};
33
-
34
- var react = {exports: {}};
35
-
36
- var react_production = {};
37
-
38
- /**
39
- * @license React
40
- * react.production.js
41
- *
42
- * Copyright (c) Meta Platforms, Inc. and affiliates.
43
- *
44
- * This source code is licensed under the MIT license found in the
45
- * LICENSE file in the root directory of this source tree.
46
- */
47
- var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
48
- REACT_PORTAL_TYPE = Symbol.for("react.portal"),
49
- REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
50
- REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"),
51
- REACT_PROFILER_TYPE = Symbol.for("react.profiler"),
52
- REACT_CONSUMER_TYPE = Symbol.for("react.consumer"),
53
- REACT_CONTEXT_TYPE = Symbol.for("react.context"),
54
- REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"),
55
- REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"),
56
- REACT_MEMO_TYPE = Symbol.for("react.memo"),
57
- REACT_LAZY_TYPE = Symbol.for("react.lazy"),
58
- MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
59
- function getIteratorFn(maybeIterable) {
60
- if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
61
- maybeIterable =
62
- (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
63
- maybeIterable["@@iterator"];
64
- return "function" === typeof maybeIterable ? maybeIterable : null;
65
- }
66
- var ReactNoopUpdateQueue = {
67
- isMounted: function () {
68
- return !1;
69
- },
70
- enqueueForceUpdate: function () {},
71
- enqueueReplaceState: function () {},
72
- enqueueSetState: function () {}
73
- },
74
- assign = Object.assign,
75
- emptyObject = {};
76
- function Component(props, context, updater) {
77
- this.props = props;
78
- this.context = context;
79
- this.refs = emptyObject;
80
- this.updater = updater || ReactNoopUpdateQueue;
41
+ }
81
42
  }
82
- Component.prototype.isReactComponent = {};
83
- Component.prototype.setState = function (partialState, callback) {
84
- if (
85
- "object" !== typeof partialState &&
86
- "function" !== typeof partialState &&
87
- null != partialState
88
- )
89
- throw Error(
90
- "takes an object of state variables to update or a function which returns an object of state variables."
91
- );
92
- this.updater.enqueueSetState(this, partialState, callback, "setState");
93
- };
94
- Component.prototype.forceUpdate = function (callback) {
95
- this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
96
- };
97
- function ComponentDummy() {}
98
- ComponentDummy.prototype = Component.prototype;
99
- function PureComponent(props, context, updater) {
100
- this.props = props;
101
- this.context = context;
102
- this.refs = emptyObject;
103
- this.updater = updater || ReactNoopUpdateQueue;
43
+ function w(n, t, r, o) {
44
+ return new (r || (r = Promise))(function(a, i) {
45
+ function e(u) {
46
+ try {
47
+ l(o.next(u));
48
+ } catch (s) {
49
+ i(s);
50
+ }
51
+ }
52
+ function c(u) {
53
+ try {
54
+ l(o.throw(u));
55
+ } catch (s) {
56
+ i(s);
57
+ }
58
+ }
59
+ function l(u) {
60
+ var s;
61
+ u.done ? a(u.value) : (s = u.value, s instanceof r ? s : new r(function(g) {
62
+ g(s);
63
+ })).then(e, c);
64
+ }
65
+ l((o = o.apply(n, [])).next());
66
+ });
104
67
  }
105
- var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());
106
- pureComponentPrototype.constructor = PureComponent;
107
- assign(pureComponentPrototype, Component.prototype);
108
- pureComponentPrototype.isPureReactComponent = !0;
109
- var isArrayImpl = Array.isArray,
110
- ReactSharedInternals = { H: null, A: null, T: null, S: null },
111
- hasOwnProperty = Object.prototype.hasOwnProperty;
112
- function ReactElement(type, key, self, source, owner, props) {
113
- self = props.ref;
114
- return {
115
- $$typeof: REACT_ELEMENT_TYPE,
116
- type: type,
117
- key: key,
118
- ref: void 0 !== self ? self : null,
119
- props: props
120
- };
68
+ function y(n, t) {
69
+ var r, o, a, i, e = { label: 0, sent: function() {
70
+ if (1 & a[0]) throw a[1];
71
+ return a[1];
72
+ }, trys: [], ops: [] };
73
+ return i = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
74
+ return this;
75
+ }), i;
76
+ function c(l) {
77
+ return function(u) {
78
+ return function(s) {
79
+ if (r) throw new TypeError("Generator is already executing.");
80
+ for (; i && (i = 0, s[0] && (e = 0)), e; ) try {
81
+ if (r = 1, o && (a = 2 & s[0] ? o.return : s[0] ? o.throw || ((a = o.return) && a.call(o), 0) : o.next) && !(a = a.call(o, s[1])).done) return a;
82
+ switch (o = 0, a && (s = [2 & s[0], a.value]), s[0]) {
83
+ case 0:
84
+ case 1:
85
+ a = s;
86
+ break;
87
+ case 4:
88
+ return e.label++, { value: s[1], done: !1 };
89
+ case 5:
90
+ e.label++, o = s[1], s = [0];
91
+ continue;
92
+ case 7:
93
+ s = e.ops.pop(), e.trys.pop();
94
+ continue;
95
+ default:
96
+ if (a = e.trys, !((a = a.length > 0 && a[a.length - 1]) || s[0] !== 6 && s[0] !== 2)) {
97
+ e = 0;
98
+ continue;
99
+ }
100
+ if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
101
+ e.label = s[1];
102
+ break;
103
+ }
104
+ if (s[0] === 6 && e.label < a[1]) {
105
+ e.label = a[1], a = s;
106
+ break;
107
+ }
108
+ if (a && e.label < a[2]) {
109
+ e.label = a[2], e.ops.push(s);
110
+ break;
111
+ }
112
+ a[2] && e.ops.pop(), e.trys.pop();
113
+ continue;
114
+ }
115
+ s = t.call(n, e);
116
+ } catch (g) {
117
+ s = [6, g], o = 0;
118
+ } finally {
119
+ r = a = 0;
120
+ }
121
+ if (5 & s[0]) throw s[1];
122
+ return { value: s[0] ? s[1] : void 0, done: !0 };
123
+ }([l, u]);
124
+ };
125
+ }
121
126
  }
122
- function cloneAndReplaceKey(oldElement, newKey) {
123
- return ReactElement(
124
- oldElement.type,
125
- newKey,
126
- void 0,
127
- void 0,
128
- void 0,
129
- oldElement.props
130
- );
127
+ var b = { exclude: [] }, O = {}, N = { timeout: "true" }, v = function(n, t) {
128
+ typeof window < "u" && (O[n] = t);
129
+ }, j = function() {
130
+ return Object.fromEntries(Object.entries(O).filter(function(n) {
131
+ var t, r = n[0];
132
+ return !(!((t = b == null ? void 0 : b.exclude) === null || t === void 0) && t.includes(r));
133
+ }).map(function(n) {
134
+ return [n[0], (0, n[1])()];
135
+ }));
136
+ };
137
+ function M(n) {
138
+ return n ^= n >>> 16, n = Math.imul(n, 2246822507), n ^= n >>> 13, n = Math.imul(n, 3266489909), (n ^= n >>> 16) >>> 0;
131
139
  }
132
- function isValidElement(object) {
133
- return (
134
- "object" === typeof object &&
135
- null !== object &&
136
- object.$$typeof === REACT_ELEMENT_TYPE
137
- );
140
+ var f = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);
141
+ function p(n, t) {
142
+ return n << t | n >>> 32 - t;
138
143
  }
139
- function escape(key) {
140
- var escaperLookup = { "=": "=0", ":": "=2" };
141
- return (
142
- "$" +
143
- key.replace(/[=:]/g, function (match) {
144
- return escaperLookup[match];
145
- })
146
- );
144
+ function I(n, t) {
145
+ var r;
146
+ 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");
147
+ var o = new Uint32Array([t, t, t, t]);
148
+ ((function(i, e) {
149
+ for (var c = i.byteLength / 16 | 0, l = new Uint32Array(i, 0, 4 * c), u = 0; u < c; u++) {
150
+ var s = l.subarray(4 * u, 4 * (u + 1));
151
+ s[0] = Math.imul(s[0], f[0]), s[0] = p(s[0], 15), s[0] = Math.imul(s[0], f[1]), e[0] = e[0] ^ s[0], e[0] = p(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, s[1] = Math.imul(s[1], f[1]), s[1] = p(s[1], 16), s[1] = Math.imul(s[1], f[2]), e[1] = e[1] ^ s[1], e[1] = p(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, s[2] = Math.imul(s[2], f[2]), s[2] = p(s[2], 17), s[2] = Math.imul(s[2], f[3]), e[2] = e[2] ^ s[2], e[2] = p(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, s[3] = Math.imul(s[3], f[3]), s[3] = p(s[3], 18), s[3] = Math.imul(s[3], f[0]), e[3] = e[3] ^ s[3], e[3] = p(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;
152
+ }
153
+ }))(n, o), function(i, e) {
154
+ var c = i.byteLength / 16 | 0, l = i.byteLength % 16, u = new Uint32Array(4), s = new Uint8Array(i, 16 * c, l);
155
+ switch (l) {
156
+ case 15:
157
+ u[3] = u[3] ^ s[14] << 16;
158
+ case 14:
159
+ u[3] = u[3] ^ s[13] << 8;
160
+ case 13:
161
+ u[3] = u[3] ^ s[12] << 0, u[3] = Math.imul(u[3], f[3]), u[3] = p(u[3], 18), u[3] = Math.imul(u[3], f[0]), e[3] = e[3] ^ u[3];
162
+ case 12:
163
+ u[2] = u[2] ^ s[11] << 24;
164
+ case 11:
165
+ u[2] = u[2] ^ s[10] << 16;
166
+ case 10:
167
+ u[2] = u[2] ^ s[9] << 8;
168
+ case 9:
169
+ u[2] = u[2] ^ s[8] << 0, u[2] = Math.imul(u[2], f[2]), u[2] = p(u[2], 17), u[2] = Math.imul(u[2], f[3]), e[2] = e[2] ^ u[2];
170
+ case 8:
171
+ u[1] = u[1] ^ s[7] << 24;
172
+ case 7:
173
+ u[1] = u[1] ^ s[6] << 16;
174
+ case 6:
175
+ u[1] = u[1] ^ s[5] << 8;
176
+ case 5:
177
+ u[1] = u[1] ^ s[4] << 0, u[1] = Math.imul(u[1], f[1]), u[1] = p(u[1], 16), u[1] = Math.imul(u[1], f[2]), e[1] = e[1] ^ u[1];
178
+ case 4:
179
+ u[0] = u[0] ^ s[3] << 24;
180
+ case 3:
181
+ u[0] = u[0] ^ s[2] << 16;
182
+ case 2:
183
+ u[0] = u[0] ^ s[1] << 8;
184
+ case 1:
185
+ u[0] = u[0] ^ s[0] << 0, u[0] = Math.imul(u[0], f[0]), u[0] = p(u[0], 15), u[0] = Math.imul(u[0], f[1]), e[0] = e[0] ^ u[0];
186
+ }
187
+ }(n, o), function(i, e) {
188
+ e[0] = e[0] ^ i.byteLength, e[1] = e[1] ^ i.byteLength, e[2] = e[2] ^ i.byteLength, e[3] = e[3] ^ i.byteLength, e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0, e[0] = M(e[0]), e[1] = M(e[1]), e[2] = M(e[2]), e[3] = M(e[3]), e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0;
189
+ }(n, o);
190
+ var a = new Uint8Array(o.buffer);
191
+ return Array.from(a).map(function(i) {
192
+ return i.toString(16).padStart(2, "0");
193
+ }).join("");
147
194
  }
148
- var userProvidedKeyEscapeRegex = /\/+/g;
149
- function getElementKey(element, index) {
150
- return "object" === typeof element && null !== element && null != element.key
151
- ? escape("" + element.key)
152
- : index.toString(36);
195
+ function G(n, t) {
196
+ return new Promise(function(r) {
197
+ setTimeout(function() {
198
+ return r(t);
199
+ }, n);
200
+ });
153
201
  }
154
- function noop$1() {}
155
- function resolveThenable(thenable) {
156
- switch (thenable.status) {
157
- case "fulfilled":
158
- return thenable.value;
159
- case "rejected":
160
- throw thenable.reason;
161
- default:
162
- switch (
163
- ("string" === typeof thenable.status
164
- ? thenable.then(noop$1, noop$1)
165
- : ((thenable.status = "pending"),
166
- thenable.then(
167
- function (fulfilledValue) {
168
- "pending" === thenable.status &&
169
- ((thenable.status = "fulfilled"),
170
- (thenable.value = fulfilledValue));
171
- },
172
- function (error) {
173
- "pending" === thenable.status &&
174
- ((thenable.status = "rejected"), (thenable.reason = error));
175
- }
176
- )),
177
- thenable.status)
178
- ) {
179
- case "fulfilled":
180
- return thenable.value;
181
- case "rejected":
182
- throw thenable.reason;
202
+ function W(n, t, r) {
203
+ return Promise.all(n.map(function(o) {
204
+ return Promise.race([o, G(t, r)]);
205
+ }));
206
+ }
207
+ function V() {
208
+ return w(this, void 0, void 0, function() {
209
+ var n, t, r, o, a;
210
+ return y(this, function(i) {
211
+ switch (i.label) {
212
+ case 0:
213
+ return i.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (b == null ? void 0 : b.timeout) || 1e3, N)];
214
+ case 1:
215
+ return r = i.sent(), o = r.filter(function(e) {
216
+ return e !== void 0;
217
+ }), a = {}, o.forEach(function(e, c) {
218
+ a[t[c]] = e;
219
+ }), [2, U(a, b.exclude || [])];
220
+ case 2:
221
+ throw i.sent();
222
+ case 3:
223
+ return [2];
224
+ }
225
+ });
226
+ });
227
+ }
228
+ function U(n, t) {
229
+ var r = {}, o = function(i) {
230
+ if (n.hasOwnProperty(i)) {
231
+ var e = n[i];
232
+ if (typeof e != "object" || Array.isArray(e)) t.includes(i) || (r[i] = e);
233
+ else {
234
+ var c = U(e, t.map(function(l) {
235
+ return l.startsWith(i + ".") ? l.slice(i.length + 1) : l;
236
+ }));
237
+ Object.keys(c).length > 0 && (r[i] = c);
238
+ }
239
+ }
240
+ };
241
+ for (var a in n) o(a);
242
+ return r;
243
+ }
244
+ function $(n) {
245
+ return w(this, void 0, void 0, function() {
246
+ var t, r;
247
+ return y(this, function(o) {
248
+ switch (o.label) {
249
+ case 0:
250
+ return o.trys.push([0, 2, , 3]), [4, V()];
251
+ case 1:
252
+ return t = o.sent(), r = I(JSON.stringify(t)), [2, r.toString()];
253
+ case 2:
254
+ throw o.sent();
255
+ case 3:
256
+ return [2];
183
257
  }
258
+ });
259
+ });
260
+ }
261
+ function H(n) {
262
+ for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);
263
+ return t;
264
+ }
265
+ function D(n, t, r) {
266
+ for (var o = [], a = 0; a < n[0].data.length; a++) {
267
+ for (var i = [], e = 0; e < n.length; e++) i.push(n[e].data[a]);
268
+ o.push(z(i));
184
269
  }
185
- throw thenable;
270
+ var c = new Uint8ClampedArray(o);
271
+ return new ImageData(c, t, r);
186
272
  }
187
- function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
188
- var type = typeof children;
189
- if ("undefined" === type || "boolean" === type) children = null;
190
- var invokeCallback = !1;
191
- if (null === children) invokeCallback = !0;
192
- else
193
- switch (type) {
194
- case "bigint":
195
- case "string":
196
- case "number":
197
- invokeCallback = !0;
198
- break;
199
- case "object":
200
- switch (children.$$typeof) {
201
- case REACT_ELEMENT_TYPE:
202
- case REACT_PORTAL_TYPE:
203
- invokeCallback = !0;
204
- break;
205
- case REACT_LAZY_TYPE:
206
- return (
207
- (invokeCallback = children._init),
208
- mapIntoArray(
209
- invokeCallback(children._payload),
210
- array,
211
- escapedPrefix,
212
- nameSoFar,
213
- callback
214
- )
215
- );
273
+ function z(n) {
274
+ if (n.length === 0) return 0;
275
+ for (var t = {}, r = 0, o = n; r < o.length; r++)
276
+ t[i = o[r]] = (t[i] || 0) + 1;
277
+ var a = n[0];
278
+ for (var i in t) t[i] > t[a] && (a = parseInt(i, 10));
279
+ return a;
280
+ }
281
+ function E() {
282
+ if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
283
+ for (var n = navigator.userAgent, t = { Edg: "Edge", OPR: "Opera" }, r = 0, o = [/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/, /(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/]; r < o.length; r++) {
284
+ var a = o[r], i = n.match(a);
285
+ if (i && i.groups) return { name: t[i.groups.name] || i.groups.name, version: i.groups.version };
286
+ }
287
+ return { name: "unknown", version: "unknown" };
288
+ }
289
+ v("audio", function() {
290
+ return w(this, void 0, void 0, function() {
291
+ return y(this, function(n) {
292
+ return [2, new Promise(function(t, r) {
293
+ try {
294
+ var o = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), a = o.createBufferSource(), i = o.createOscillator();
295
+ i.frequency.value = 1e3;
296
+ var e, c = o.createDynamicsCompressor();
297
+ c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, i.connect(c), c.connect(o.destination), i.start(), o.oncomplete = function(l) {
298
+ e = l.renderedBuffer.getChannelData(0), t({ sampleHash: H(e), oscillator: i.type, maxChannels: o.destination.maxChannelCount, channelCountMode: a.channelCountMode });
299
+ }, o.startRendering();
300
+ } catch (l) {
301
+ console.error("Error creating audio fingerprint:", l), r(l);
216
302
  }
303
+ })];
304
+ });
305
+ });
306
+ });
307
+ var K = E().name !== "SamsungBrowser" ? 1 : 3, k = 280, _ = 20;
308
+ E().name != "Firefox" && v("canvas", function() {
309
+ return document.createElement("canvas").getContext("2d"), new Promise(function(n) {
310
+ var t = Array.from({ length: K }, function() {
311
+ return function() {
312
+ var r = document.createElement("canvas"), o = r.getContext("2d");
313
+ if (!o) return new ImageData(1, 1);
314
+ r.width = k, r.height = _;
315
+ var a = o.createLinearGradient(0, 0, r.width, r.height);
316
+ a.addColorStop(0, "red"), a.addColorStop(0.16666666666666666, "orange"), a.addColorStop(0.3333333333333333, "yellow"), a.addColorStop(0.5, "green"), a.addColorStop(0.6666666666666666, "blue"), a.addColorStop(0.8333333333333334, "indigo"), a.addColorStop(1, "violet"), o.fillStyle = a, o.fillRect(0, 0, r.width, r.height);
317
+ var i = "Random Text WMwmil10Oo";
318
+ o.font = "23.123px Arial", o.fillStyle = "black", o.fillText(i, -5, 15), o.fillStyle = "rgba(0, 0, 255, 0.5)", o.fillText(i, -3.3, 17.7), o.beginPath(), o.moveTo(0, 0), o.lineTo(2 * r.width / 7, r.height), o.strokeStyle = "white", o.lineWidth = 2, o.stroke();
319
+ var e = o.getImageData(0, 0, r.width, r.height);
320
+ return e;
321
+ }();
322
+ });
323
+ n({ commonImageDataHash: I(D(t, k, _).data.toString()).toString() });
324
+ });
325
+ });
326
+ var C, Q = ["Arial", "Arial Black", "Arial Narrow", "Arial Rounded MT", "Arimo", "Archivo", "Barlow", "Bebas Neue", "Bitter", "Bookman", "Calibri", "Cabin", "Candara", "Century", "Century Gothic", "Comic Sans MS", "Constantia", "Courier", "Courier New", "Crimson Text", "DM Mono", "DM Sans", "DM Serif Display", "DM Serif Text", "Dosis", "Droid Sans", "Exo", "Fira Code", "Fira Sans", "Franklin Gothic Medium", "Garamond", "Geneva", "Georgia", "Gill Sans", "Helvetica", "Impact", "Inconsolata", "Indie Flower", "Inter", "Josefin Sans", "Karla", "Lato", "Lexend", "Lucida Bright", "Lucida Console", "Lucida Sans Unicode", "Manrope", "Merriweather", "Merriweather Sans", "Montserrat", "Myriad", "Noto Sans", "Nunito", "Nunito Sans", "Open Sans", "Optima", "Orbitron", "Oswald", "Pacifico", "Palatino", "Perpetua", "PT Sans", "PT Serif", "Poppins", "Prompt", "Public Sans", "Quicksand", "Rajdhani", "Recursive", "Roboto", "Roboto Condensed", "Rockwell", "Rubik", "Segoe Print", "Segoe Script", "Segoe UI", "Sora", "Source Sans Pro", "Space Mono", "Tahoma", "Taviraj", "Times", "Times New Roman", "Titillium Web", "Trebuchet MS", "Ubuntu", "Varela Round", "Verdana", "Work Sans"], J = ["monospace", "sans-serif", "serif"];
327
+ function P(n, t) {
328
+ if (!n) throw new Error("Canvas context not supported");
329
+ return n.font = "72px ".concat(t), n.measureText("WwMmLli0Oo").width;
330
+ }
331
+ function Y() {
332
+ var n, t = document.createElement("canvas"), r = (n = t.getContext("webgl")) !== null && n !== void 0 ? n : t.getContext("experimental-webgl");
333
+ if (r && "getParameter" in r) try {
334
+ var o = (r.getParameter(r.VENDOR) || "").toString(), a = (r.getParameter(r.RENDERER) || "").toString(), i = { vendor: o, renderer: a, version: (r.getParameter(r.VERSION) || "").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || "").toString() };
335
+ if (!a.length || !o.length) {
336
+ var e = r.getExtension("WEBGL_debug_renderer_info");
337
+ if (e) {
338
+ var c = (r.getParameter(e.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (r.getParameter(e.UNMASKED_RENDERER_WEBGL) || "").toString();
339
+ c && (i.vendorUnmasked = c), l && (i.rendererUnmasked = l);
340
+ }
217
341
  }
218
- if (invokeCallback)
219
- return (
220
- (callback = callback(children)),
221
- (invokeCallback =
222
- "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar),
223
- isArrayImpl(callback)
224
- ? ((escapedPrefix = ""),
225
- null != invokeCallback &&
226
- (escapedPrefix =
227
- invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"),
228
- mapIntoArray(callback, array, escapedPrefix, "", function (c) {
229
- return c;
230
- }))
231
- : null != callback &&
232
- (isValidElement(callback) &&
233
- (callback = cloneAndReplaceKey(
234
- callback,
235
- escapedPrefix +
236
- (null == callback.key ||
237
- (children && children.key === callback.key)
238
- ? ""
239
- : ("" + callback.key).replace(
240
- userProvidedKeyEscapeRegex,
241
- "$&/"
242
- ) + "/") +
243
- invokeCallback
244
- )),
245
- array.push(callback)),
246
- 1
247
- );
248
- invokeCallback = 0;
249
- var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":";
250
- if (isArrayImpl(children))
251
- for (var i = 0; i < children.length; i++)
252
- (nameSoFar = children[i]),
253
- (type = nextNamePrefix + getElementKey(nameSoFar, i)),
254
- (invokeCallback += mapIntoArray(
255
- nameSoFar,
256
- array,
257
- escapedPrefix,
258
- type,
259
- callback
260
- ));
261
- else if (((i = getIteratorFn(children)), "function" === typeof i))
262
- for (
263
- children = i.call(children), i = 0;
264
- !(nameSoFar = children.next()).done;
265
-
266
- )
267
- (nameSoFar = nameSoFar.value),
268
- (type = nextNamePrefix + getElementKey(nameSoFar, i++)),
269
- (invokeCallback += mapIntoArray(
270
- nameSoFar,
271
- array,
272
- escapedPrefix,
273
- type,
274
- callback
275
- ));
276
- else if ("object" === type) {
277
- if ("function" === typeof children.then)
278
- return mapIntoArray(
279
- resolveThenable(children),
280
- array,
281
- escapedPrefix,
282
- nameSoFar,
283
- callback
284
- );
285
- array = String(children);
286
- throw Error(
287
- "Objects are not valid as a React child (found: " +
288
- ("[object Object]" === array
289
- ? "object with keys {" + Object.keys(children).join(", ") + "}"
290
- : array) +
291
- "). If you meant to render a collection of children, use an array instead."
292
- );
342
+ return i;
343
+ } catch {
293
344
  }
294
- return invokeCallback;
345
+ return "undefined";
295
346
  }
296
- function mapChildren(children, func, context) {
297
- if (null == children) return children;
298
- var result = [],
299
- count = 0;
300
- mapIntoArray(children, result, "", "", function (child) {
301
- return func.call(context, child, count++);
302
- });
303
- return result;
347
+ function X() {
348
+ var n = new Float32Array(1), t = new Uint8Array(n.buffer);
349
+ return n[0] = 1 / 0, n[0] = n[0] - n[0], t[3];
304
350
  }
305
- function lazyInitializer(payload) {
306
- if (-1 === payload._status) {
307
- var ctor = payload._result;
308
- ctor = ctor();
309
- ctor.then(
310
- function (moduleObject) {
311
- if (0 === payload._status || -1 === payload._status)
312
- (payload._status = 1), (payload._result = moduleObject);
313
- },
314
- function (error) {
315
- if (0 === payload._status || -1 === payload._status)
316
- (payload._status = 2), (payload._result = error);
317
- }
318
- );
319
- -1 === payload._status && ((payload._status = 0), (payload._result = ctor));
320
- }
321
- if (1 === payload._status) return payload._result.default;
322
- throw payload._result;
351
+ function Z(n, t) {
352
+ var r = {};
353
+ return t.forEach(function(o) {
354
+ var a = function(i) {
355
+ if (i.length === 0) return null;
356
+ var e = {};
357
+ i.forEach(function(u) {
358
+ var s = String(u);
359
+ e[s] = (e[s] || 0) + 1;
360
+ });
361
+ var c = i[0], l = 1;
362
+ return Object.keys(e).forEach(function(u) {
363
+ e[u] > l && (c = u, l = e[u]);
364
+ }), c;
365
+ }(n.map(function(i) {
366
+ return o in i ? i[o] : void 0;
367
+ }).filter(function(i) {
368
+ return i !== void 0;
369
+ }));
370
+ a && (r[o] = a);
371
+ }), r;
323
372
  }
324
- var reportGlobalError =
325
- "function" === typeof reportError
326
- ? reportError
327
- : function (error) {
328
- if (
329
- "object" === typeof window &&
330
- "function" === typeof window.ErrorEvent
331
- ) {
332
- var event = new window.ErrorEvent("error", {
333
- bubbles: !0,
334
- cancelable: !0,
335
- message:
336
- "object" === typeof error &&
337
- null !== error &&
338
- "string" === typeof error.message
339
- ? String(error.message)
340
- : String(error),
341
- error: error
342
- });
343
- if (!window.dispatchEvent(event)) return;
344
- } else if (
345
- "object" === typeof process &&
346
- "function" === typeof process.emit
347
- ) {
348
- process.emit("uncaughtException", error);
349
- return;
350
- }
351
- console.error(error);
352
- };
353
- function noop() {}
354
- react_production.Children = {
355
- map: mapChildren,
356
- forEach: function (children, forEachFunc, forEachContext) {
357
- mapChildren(
358
- children,
359
- function () {
360
- forEachFunc.apply(this, arguments);
361
- },
362
- forEachContext
363
- );
364
- },
365
- count: function (children) {
366
- var n = 0;
367
- mapChildren(children, function () {
368
- n++;
373
+ function ee() {
374
+ 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"] };
375
+ return Object.keys(t).forEach(function(r) {
376
+ t[r].forEach(function(o) {
377
+ matchMedia("(".concat(r, ": ").concat(o, ")")).matches && n.push("".concat(r, ": ").concat(o));
369
378
  });
370
- return n;
371
- },
372
- toArray: function (children) {
373
- return (
374
- mapChildren(children, function (child) {
375
- return child;
376
- }) || []
377
- );
378
- },
379
- only: function (children) {
380
- if (!isValidElement(children))
381
- throw Error(
382
- "React.Children.only expected to receive a single React element child."
383
- );
384
- return children;
385
- }
386
- };
387
- react_production.Component = Component;
388
- react_production.Fragment = REACT_FRAGMENT_TYPE;
389
- react_production.Profiler = REACT_PROFILER_TYPE;
390
- react_production.PureComponent = PureComponent;
391
- react_production.StrictMode = REACT_STRICT_MODE_TYPE;
392
- react_production.Suspense = REACT_SUSPENSE_TYPE;
393
- react_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =
394
- ReactSharedInternals;
395
- react_production.act = function () {
396
- throw Error("act(...) is not supported in production builds of React.");
397
- };
398
- react_production.cache = function (fn) {
399
- return function () {
400
- return fn.apply(null, arguments);
401
- };
402
- };
403
- react_production.cloneElement = function (element, config, children) {
404
- if (null === element || void 0 === element)
405
- throw Error(
406
- "The argument must be a React element, but you passed " + element + "."
407
- );
408
- var props = assign({}, element.props),
409
- key = element.key,
410
- owner = void 0;
411
- if (null != config)
412
- for (propName in (void 0 !== config.ref && (owner = void 0),
413
- void 0 !== config.key && (key = "" + config.key),
414
- config))
415
- !hasOwnProperty.call(config, propName) ||
416
- "key" === propName ||
417
- "__self" === propName ||
418
- "__source" === propName ||
419
- ("ref" === propName && void 0 === config.ref) ||
420
- (props[propName] = config[propName]);
421
- var propName = arguments.length - 2;
422
- if (1 === propName) props.children = children;
423
- else if (1 < propName) {
424
- for (var childArray = Array(propName), i = 0; i < propName; i++)
425
- childArray[i] = arguments[i + 2];
426
- props.children = childArray;
427
- }
428
- return ReactElement(element.type, key, void 0, void 0, owner, props);
429
- };
430
- react_production.createContext = function (defaultValue) {
431
- defaultValue = {
432
- $$typeof: REACT_CONTEXT_TYPE,
433
- _currentValue: defaultValue,
434
- _currentValue2: defaultValue,
435
- _threadCount: 0,
436
- Provider: null,
437
- Consumer: null
438
- };
439
- defaultValue.Provider = defaultValue;
440
- defaultValue.Consumer = {
441
- $$typeof: REACT_CONSUMER_TYPE,
442
- _context: defaultValue
443
- };
444
- return defaultValue;
445
- };
446
- react_production.createElement = function (type, config, children) {
447
- var propName,
448
- props = {},
449
- key = null;
450
- if (null != config)
451
- for (propName in (void 0 !== config.key && (key = "" + config.key), config))
452
- hasOwnProperty.call(config, propName) &&
453
- "key" !== propName &&
454
- "__self" !== propName &&
455
- "__source" !== propName &&
456
- (props[propName] = config[propName]);
457
- var childrenLength = arguments.length - 2;
458
- if (1 === childrenLength) props.children = children;
459
- else if (1 < childrenLength) {
460
- for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)
461
- childArray[i] = arguments[i + 2];
462
- props.children = childArray;
463
- }
464
- if (type && type.defaultProps)
465
- for (propName in ((childrenLength = type.defaultProps), childrenLength))
466
- void 0 === props[propName] &&
467
- (props[propName] = childrenLength[propName]);
468
- return ReactElement(type, key, void 0, void 0, null, props);
469
- };
470
- react_production.createRef = function () {
471
- return { current: null };
472
- };
473
- react_production.forwardRef = function (render) {
474
- return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
475
- };
476
- react_production.isValidElement = isValidElement;
477
- react_production.lazy = function (ctor) {
478
- return {
479
- $$typeof: REACT_LAZY_TYPE,
480
- _payload: { _status: -1, _result: ctor },
481
- _init: lazyInitializer
482
- };
483
- };
484
- react_production.memo = function (type, compare) {
485
- return {
486
- $$typeof: REACT_MEMO_TYPE,
487
- type: type,
488
- compare: void 0 === compare ? null : compare
489
- };
490
- };
491
- react_production.startTransition = function (scope) {
492
- var prevTransition = ReactSharedInternals.T,
493
- currentTransition = {};
494
- ReactSharedInternals.T = currentTransition;
495
- try {
496
- var returnValue = scope(),
497
- onStartTransitionFinish = ReactSharedInternals.S;
498
- null !== onStartTransitionFinish &&
499
- onStartTransitionFinish(currentTransition, returnValue);
500
- "object" === typeof returnValue &&
501
- null !== returnValue &&
502
- "function" === typeof returnValue.then &&
503
- returnValue.then(noop, reportGlobalError);
504
- } catch (error) {
505
- reportGlobalError(error);
506
- } finally {
507
- ReactSharedInternals.T = prevTransition;
508
- }
509
- };
510
- react_production.unstable_useCacheRefresh = function () {
511
- return ReactSharedInternals.H.useCacheRefresh();
512
- };
513
- react_production.use = function (usable) {
514
- return ReactSharedInternals.H.use(usable);
515
- };
516
- react_production.useActionState = function (action, initialState, permalink) {
517
- return ReactSharedInternals.H.useActionState(action, initialState, permalink);
518
- };
519
- react_production.useCallback = function (callback, deps) {
520
- return ReactSharedInternals.H.useCallback(callback, deps);
521
- };
522
- react_production.useContext = function (Context) {
523
- return ReactSharedInternals.H.useContext(Context);
524
- };
525
- react_production.useDebugValue = function () {};
526
- react_production.useDeferredValue = function (value, initialValue) {
527
- return ReactSharedInternals.H.useDeferredValue(value, initialValue);
528
- };
529
- react_production.useEffect = function (create, deps) {
530
- return ReactSharedInternals.H.useEffect(create, deps);
531
- };
532
- react_production.useId = function () {
533
- return ReactSharedInternals.H.useId();
534
- };
535
- react_production.useImperativeHandle = function (ref, create, deps) {
536
- return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);
537
- };
538
- react_production.useInsertionEffect = function (create, deps) {
539
- return ReactSharedInternals.H.useInsertionEffect(create, deps);
540
- };
541
- react_production.useLayoutEffect = function (create, deps) {
542
- return ReactSharedInternals.H.useLayoutEffect(create, deps);
543
- };
544
- react_production.useMemo = function (create, deps) {
545
- return ReactSharedInternals.H.useMemo(create, deps);
546
- };
547
- react_production.useOptimistic = function (passthrough, reducer) {
548
- return ReactSharedInternals.H.useOptimistic(passthrough, reducer);
549
- };
550
- react_production.useReducer = function (reducer, initialArg, init) {
551
- return ReactSharedInternals.H.useReducer(reducer, initialArg, init);
552
- };
553
- react_production.useRef = function (initialValue) {
554
- return ReactSharedInternals.H.useRef(initialValue);
555
- };
556
- react_production.useState = function (initialState) {
557
- return ReactSharedInternals.H.useState(initialState);
558
- };
559
- react_production.useSyncExternalStore = function (
560
- subscribe,
561
- getSnapshot,
562
- getServerSnapshot
563
- ) {
564
- return ReactSharedInternals.H.useSyncExternalStore(
565
- subscribe,
566
- getSnapshot,
567
- getServerSnapshot
568
- );
569
- };
570
- react_production.useTransition = function () {
571
- return ReactSharedInternals.H.useTransition();
572
- };
573
- react_production.version = "19.0.0";
574
-
575
- {
576
- react.exports = react_production;
577
- }
578
-
579
- var React = react.exports;
580
- var vanilla = vanilla$1;
581
-
582
- const identity = (arg) => arg;
583
- function useStore(api, selector = identity) {
584
- const slice = React.useSyncExternalStore(
585
- api.subscribe,
586
- () => selector(api.getState()),
587
- () => selector(api.getInitialState())
588
- );
589
- React.useDebugValue(slice);
590
- return slice;
591
- }
592
- const createImpl = (createState) => {
593
- const api = vanilla.createStore(createState);
594
- const useBoundStore = (selector) => useStore(api, selector);
595
- Object.assign(useBoundStore, api);
596
- return useBoundStore;
597
- };
598
- const create = (createState) => createState ? createImpl(createState) : createImpl;
599
-
600
- react$1.create = create;
601
- react$1.useStore = useStore;
602
-
603
- (function (exports) {
604
-
605
- var vanilla = vanilla$1;
606
- var react = react$1;
607
-
608
-
609
-
610
- Object.keys(vanilla).forEach(function (k) {
611
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
612
- enumerable: true,
613
- get: function () { return vanilla[k]; }
614
- });
615
- });
616
- Object.keys(react).forEach(function (k) {
617
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
618
- enumerable: true,
619
- get: function () { return react[k]; }
620
- });
621
- });
622
- }(zustand));
623
-
624
- var L = Object.defineProperty;
625
- var N = (n, t, r) => t in n ? L(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;
626
- var h = (n, t, r) => N(n, typeof t != "symbol" ? t + "" : t, r);
627
- var _ = /* @__PURE__ */ ((n) => (n[n.DEBUG = 0] = "DEBUG", n[n.INFO = 1] = "INFO", n[n.WARN = 2] = "WARN", n[n.ERROR = 3] = "ERROR", n))(_ || {});
628
- class me {
629
- constructor(t) {
630
- h(this, "logLevel");
631
- h(this, "logFormatter");
632
- this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;
633
- }
634
- defaultFormatter(t, r) {
635
- return `[${_[t]}] ${( new Date()).toISOString()}: ${r}`;
636
- }
637
- debug(t) {
638
- this.logLevel <= 0 && console.log(this.logFormatter(0, t));
639
- }
640
- info(t) {
641
- this.logLevel <= 1 && console.info(this.logFormatter(1, t));
642
- }
643
- warn(t) {
644
- this.logLevel <= 2 && console.warn(this.logFormatter(2, t));
645
- }
646
- error(t) {
647
- this.logLevel <= 3 && console.error(this.logFormatter(3, t));
648
- }
649
- log(t, r) {
650
- switch (t) {
651
- case 0:
652
- this.debug(r);
653
- break;
654
- case 1:
655
- this.info(r);
656
- break;
657
- case 2:
658
- this.warn(r);
659
- break;
660
- case 3:
661
- this.error(r);
662
- break;
663
- }
664
- }
665
- }
666
- function w(n, t, r, o) {
667
- return new (r || (r = Promise))(function(a, i) {
668
- function e(u) {
669
- try {
670
- l(o.next(u));
671
- } catch (s) {
672
- i(s);
673
- }
674
- }
675
- function c(u) {
676
- try {
677
- l(o.throw(u));
678
- } catch (s) {
679
- i(s);
680
- }
681
- }
682
- function l(u) {
683
- var s;
684
- u.done ? a(u.value) : (s = u.value, s instanceof r ? s : new r(function(p) {
685
- p(s);
686
- })).then(e, c);
687
- }
688
- l((o = o.apply(n, [])).next());
689
- });
690
- }
691
- function y(n, t) {
692
- var r, o, a, i, e = { label: 0, sent: function() {
693
- if (1 & a[0]) throw a[1];
694
- return a[1];
695
- }, trys: [], ops: [] };
696
- return i = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
697
- return this;
698
- }), i;
699
- function c(l) {
700
- return function(u) {
701
- return function(s) {
702
- if (r) throw new TypeError("Generator is already executing.");
703
- for (; i && (i = 0, s[0] && (e = 0)), e; ) try {
704
- if (r = 1, o && (a = 2 & s[0] ? o.return : s[0] ? o.throw || ((a = o.return) && a.call(o), 0) : o.next) && !(a = a.call(o, s[1])).done) return a;
705
- switch (o = 0, a && (s = [2 & s[0], a.value]), s[0]) {
706
- case 0:
707
- case 1:
708
- a = s;
709
- break;
710
- case 4:
711
- return e.label++, { value: s[1], done: !1 };
712
- case 5:
713
- e.label++, o = s[1], s = [0];
714
- continue;
715
- case 7:
716
- s = e.ops.pop(), e.trys.pop();
717
- continue;
718
- default:
719
- if (a = e.trys, !((a = a.length > 0 && a[a.length - 1]) || s[0] !== 6 && s[0] !== 2)) {
720
- e = 0;
721
- continue;
722
- }
723
- if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
724
- e.label = s[1];
725
- break;
726
- }
727
- if (s[0] === 6 && e.label < a[1]) {
728
- e.label = a[1], a = s;
729
- break;
730
- }
731
- if (a && e.label < a[2]) {
732
- e.label = a[2], e.ops.push(s);
733
- break;
734
- }
735
- a[2] && e.ops.pop(), e.trys.pop();
736
- continue;
737
- }
738
- s = t.call(n, e);
739
- } catch (p) {
740
- s = [6, p], o = 0;
741
- } finally {
742
- r = a = 0;
743
- }
744
- if (5 & s[0]) throw s[1];
745
- return { value: s[0] ? s[1] : void 0, done: !0 };
746
- }([l, u]);
747
- };
748
- }
749
- }
750
- var S = { exclude: [] }, F = {}, q = { timeout: "true" }, v = function(n, t) {
751
- typeof window < "u" && (F[n] = t);
752
- }, j = function() {
753
- return Object.fromEntries(Object.entries(F).filter(function(n) {
754
- var t, r = n[0];
755
- return !(!((t = S == null ? void 0 : S.exclude) === null || t === void 0) && t.includes(r));
756
- }).map(function(n) {
757
- return [n[0], (0, n[1])()];
758
- }));
759
- };
760
- function M(n) {
761
- return n ^= n >>> 16, n = Math.imul(n, 2246822507), n ^= n >>> 13, n = Math.imul(n, 3266489909), (n ^= n >>> 16) >>> 0;
762
- }
763
- var f = new Uint32Array([597399067, 2869860233, 951274213, 2716044179]);
764
- function g(n, t) {
765
- return n << t | n >>> 32 - t;
766
- }
767
- function I(n, t) {
768
- var r;
769
- 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");
770
- var o = new Uint32Array([t, t, t, t]);
771
- ((function(i, e) {
772
- for (var c = i.byteLength / 16 | 0, l = new Uint32Array(i, 0, 4 * c), u = 0; u < c; u++) {
773
- var s = l.subarray(4 * u, 4 * (u + 1));
774
- s[0] = Math.imul(s[0], f[0]), s[0] = g(s[0], 15), s[0] = Math.imul(s[0], f[1]), e[0] = e[0] ^ s[0], e[0] = g(e[0], 19), e[0] = e[0] + e[1], e[0] = Math.imul(e[0], 5) + 1444728091, s[1] = Math.imul(s[1], f[1]), s[1] = g(s[1], 16), s[1] = Math.imul(s[1], f[2]), e[1] = e[1] ^ s[1], e[1] = g(e[1], 17), e[1] = e[1] + e[2], e[1] = Math.imul(e[1], 5) + 197830471, s[2] = Math.imul(s[2], f[2]), s[2] = g(s[2], 17), s[2] = Math.imul(s[2], f[3]), e[2] = e[2] ^ s[2], e[2] = g(e[2], 15), e[2] = e[2] + e[3], e[2] = Math.imul(e[2], 5) + 2530024501, s[3] = Math.imul(s[3], f[3]), s[3] = g(s[3], 18), s[3] = Math.imul(s[3], f[0]), e[3] = e[3] ^ s[3], e[3] = g(e[3], 13), e[3] = e[3] + e[0], e[3] = Math.imul(e[3], 5) + 850148119;
775
- }
776
- }))(n, o), function(i, e) {
777
- var c = i.byteLength / 16 | 0, l = i.byteLength % 16, u = new Uint32Array(4), s = new Uint8Array(i, 16 * c, l);
778
- switch (l) {
779
- case 15:
780
- u[3] = u[3] ^ s[14] << 16;
781
- case 14:
782
- u[3] = u[3] ^ s[13] << 8;
783
- case 13:
784
- u[3] = u[3] ^ s[12] << 0, u[3] = Math.imul(u[3], f[3]), u[3] = g(u[3], 18), u[3] = Math.imul(u[3], f[0]), e[3] = e[3] ^ u[3];
785
- case 12:
786
- u[2] = u[2] ^ s[11] << 24;
787
- case 11:
788
- u[2] = u[2] ^ s[10] << 16;
789
- case 10:
790
- u[2] = u[2] ^ s[9] << 8;
791
- case 9:
792
- u[2] = u[2] ^ s[8] << 0, u[2] = Math.imul(u[2], f[2]), u[2] = g(u[2], 17), u[2] = Math.imul(u[2], f[3]), e[2] = e[2] ^ u[2];
793
- case 8:
794
- u[1] = u[1] ^ s[7] << 24;
795
- case 7:
796
- u[1] = u[1] ^ s[6] << 16;
797
- case 6:
798
- u[1] = u[1] ^ s[5] << 8;
799
- case 5:
800
- u[1] = u[1] ^ s[4] << 0, u[1] = Math.imul(u[1], f[1]), u[1] = g(u[1], 16), u[1] = Math.imul(u[1], f[2]), e[1] = e[1] ^ u[1];
801
- case 4:
802
- u[0] = u[0] ^ s[3] << 24;
803
- case 3:
804
- u[0] = u[0] ^ s[2] << 16;
805
- case 2:
806
- u[0] = u[0] ^ s[1] << 8;
807
- case 1:
808
- u[0] = u[0] ^ s[0] << 0, u[0] = Math.imul(u[0], f[0]), u[0] = g(u[0], 15), u[0] = Math.imul(u[0], f[1]), e[0] = e[0] ^ u[0];
809
- }
810
- }(n, o), function(i, e) {
811
- e[0] = e[0] ^ i.byteLength, e[1] = e[1] ^ i.byteLength, e[2] = e[2] ^ i.byteLength, e[3] = e[3] ^ i.byteLength, e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0, e[0] = M(e[0]), e[1] = M(e[1]), e[2] = M(e[2]), e[3] = M(e[3]), e[0] = e[0] + e[1] | 0, e[0] = e[0] + e[2] | 0, e[0] = e[0] + e[3] | 0, e[1] = e[1] + e[0] | 0, e[2] = e[2] + e[0] | 0, e[3] = e[3] + e[0] | 0;
812
- }(n, o);
813
- var a = new Uint8Array(o.buffer);
814
- return Array.from(a).map(function(i) {
815
- return i.toString(16).padStart(2, "0");
816
- }).join("");
817
- }
818
- function G(n, t) {
819
- return new Promise(function(r) {
820
- setTimeout(function() {
821
- return r(t);
822
- }, n);
823
- });
824
- }
825
- function W(n, t, r) {
826
- return Promise.all(n.map(function(o) {
827
- return Promise.race([o, G(t, r)]);
828
- }));
829
- }
830
- function V() {
831
- return w(this, void 0, void 0, function() {
832
- var n, t, r, o, a;
833
- return y(this, function(i) {
834
- switch (i.label) {
835
- case 0:
836
- return i.trys.push([0, 2, , 3]), n = j(), t = Object.keys(n), [4, W(Object.values(n), (S == null ? void 0 : S.timeout) || 1e3, q)];
837
- case 1:
838
- return r = i.sent(), o = r.filter(function(e) {
839
- return e !== void 0;
840
- }), a = {}, o.forEach(function(e, c) {
841
- a[t[c]] = e;
842
- }), [2, U(a, S.exclude || [])];
843
- case 2:
844
- throw i.sent();
845
- case 3:
846
- return [2];
847
- }
848
- });
849
- });
850
- }
851
- function U(n, t) {
852
- var r = {}, o = function(i) {
853
- if (n.hasOwnProperty(i)) {
854
- var e = n[i];
855
- if (typeof e != "object" || Array.isArray(e)) t.includes(i) || (r[i] = e);
856
- else {
857
- var c = U(e, t.map(function(l) {
858
- return l.startsWith(i + ".") ? l.slice(i.length + 1) : l;
859
- }));
860
- Object.keys(c).length > 0 && (r[i] = c);
861
- }
862
- }
863
- };
864
- for (var a in n) o(a);
865
- return r;
866
- }
867
- function $(n) {
868
- return w(this, void 0, void 0, function() {
869
- var t, r;
870
- return y(this, function(o) {
871
- switch (o.label) {
872
- case 0:
873
- return o.trys.push([0, 2, , 3]), [4, V()];
874
- case 1:
875
- return t = o.sent(), r = I(JSON.stringify(t)), [2, r.toString()];
876
- case 2:
877
- throw o.sent();
878
- case 3:
879
- return [2];
880
- }
881
- });
882
- });
883
- }
884
- function H(n) {
885
- for (var t = 0, r = 0; r < n.length; ++r) t += Math.abs(n[r]);
886
- return t;
887
- }
888
- function O(n, t, r) {
889
- for (var o = [], a = 0; a < n[0].data.length; a++) {
890
- for (var i = [], e = 0; e < n.length; e++) i.push(n[e].data[a]);
891
- o.push(z(i));
892
- }
893
- var c = new Uint8ClampedArray(o);
894
- return new ImageData(c, t, r);
895
- }
896
- function z(n) {
897
- if (n.length === 0) return 0;
898
- for (var t = {}, r = 0, o = n; r < o.length; r++)
899
- t[i = o[r]] = (t[i] || 0) + 1;
900
- var a = n[0];
901
- for (var i in t) t[i] > t[a] && (a = parseInt(i, 10));
902
- return a;
903
- }
904
- function E() {
905
- if (typeof navigator > "u") return { name: "unknown", version: "unknown" };
906
- for (var n = navigator.userAgent, t = { Edg: "Edge", OPR: "Opera" }, r = 0, o = [/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/, /(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/, /(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/, /(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/]; r < o.length; r++) {
907
- var a = o[r], i = n.match(a);
908
- if (i && i.groups) return { name: t[i.groups.name] || i.groups.name, version: i.groups.version };
909
- }
910
- return { name: "unknown", version: "unknown" };
911
- }
912
- v("audio", function() {
913
- return w(this, void 0, void 0, function() {
914
- return y(this, function(n) {
915
- return [2, new Promise(function(t, r) {
916
- try {
917
- var o = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1, 5e3, 44100), a = o.createBufferSource(), i = o.createOscillator();
918
- i.frequency.value = 1e3;
919
- var e, c = o.createDynamicsCompressor();
920
- c.threshold.value = -50, c.knee.value = 40, c.ratio.value = 12, c.attack.value = 0, c.release.value = 0.2, i.connect(c), c.connect(o.destination), i.start(), o.oncomplete = function(l) {
921
- e = l.renderedBuffer.getChannelData(0), t({ sampleHash: H(e), oscillator: i.type, maxChannels: o.destination.maxChannelCount, channelCountMode: a.channelCountMode });
922
- }, o.startRendering();
923
- } catch (l) {
924
- console.error("Error creating audio fingerprint:", l), r(l);
925
- }
926
- })];
927
- });
928
- });
929
- });
930
- var K = E().name !== "SamsungBrowser" ? 1 : 3, T = 280, k = 20;
931
- E().name != "Firefox" && v("canvas", function() {
932
- return document.createElement("canvas").getContext("2d"), new Promise(function(n) {
933
- var t = Array.from({ length: K }, function() {
934
- return function() {
935
- var r = document.createElement("canvas"), o = r.getContext("2d");
936
- if (!o) return new ImageData(1, 1);
937
- r.width = T, r.height = k;
938
- var a = o.createLinearGradient(0, 0, r.width, r.height);
939
- a.addColorStop(0, "red"), a.addColorStop(0.16666666666666666, "orange"), a.addColorStop(0.3333333333333333, "yellow"), a.addColorStop(0.5, "green"), a.addColorStop(0.6666666666666666, "blue"), a.addColorStop(0.8333333333333334, "indigo"), a.addColorStop(1, "violet"), o.fillStyle = a, o.fillRect(0, 0, r.width, r.height);
940
- var i = "Random Text WMwmil10Oo";
941
- o.font = "23.123px Arial", o.fillStyle = "black", o.fillText(i, -5, 15), o.fillStyle = "rgba(0, 0, 255, 0.5)", o.fillText(i, -3.3, 17.7), o.beginPath(), o.moveTo(0, 0), o.lineTo(2 * r.width / 7, r.height), o.strokeStyle = "white", o.lineWidth = 2, o.stroke();
942
- var e = o.getImageData(0, 0, r.width, r.height);
943
- return e;
944
- }();
945
- });
946
- n({ commonImageDataHash: I(O(t, T, k).data.toString()).toString() });
947
- });
948
- });
949
- var C, Q = ["Arial", "Arial Black", "Arial Narrow", "Arial Rounded MT", "Arimo", "Archivo", "Barlow", "Bebas Neue", "Bitter", "Bookman", "Calibri", "Cabin", "Candara", "Century", "Century Gothic", "Comic Sans MS", "Constantia", "Courier", "Courier New", "Crimson Text", "DM Mono", "DM Sans", "DM Serif Display", "DM Serif Text", "Dosis", "Droid Sans", "Exo", "Fira Code", "Fira Sans", "Franklin Gothic Medium", "Garamond", "Geneva", "Georgia", "Gill Sans", "Helvetica", "Impact", "Inconsolata", "Indie Flower", "Inter", "Josefin Sans", "Karla", "Lato", "Lexend", "Lucida Bright", "Lucida Console", "Lucida Sans Unicode", "Manrope", "Merriweather", "Merriweather Sans", "Montserrat", "Myriad", "Noto Sans", "Nunito", "Nunito Sans", "Open Sans", "Optima", "Orbitron", "Oswald", "Pacifico", "Palatino", "Perpetua", "PT Sans", "PT Serif", "Poppins", "Prompt", "Public Sans", "Quicksand", "Rajdhani", "Recursive", "Roboto", "Roboto Condensed", "Rockwell", "Rubik", "Segoe Print", "Segoe Script", "Segoe UI", "Sora", "Source Sans Pro", "Space Mono", "Tahoma", "Taviraj", "Times", "Times New Roman", "Titillium Web", "Trebuchet MS", "Ubuntu", "Varela Round", "Verdana", "Work Sans"], J = ["monospace", "sans-serif", "serif"];
950
- function P(n, t) {
951
- if (!n) throw new Error("Canvas context not supported");
952
- return n.font = "72px ".concat(t), n.measureText("WwMmLli0Oo").width;
953
- }
954
- function Y() {
955
- var n, t = document.createElement("canvas"), r = (n = t.getContext("webgl")) !== null && n !== void 0 ? n : t.getContext("experimental-webgl");
956
- if (r && "getParameter" in r) try {
957
- var o = (r.getParameter(r.VENDOR) || "").toString(), a = (r.getParameter(r.RENDERER) || "").toString(), i = { vendor: o, renderer: a, version: (r.getParameter(r.VERSION) || "").toString(), shadingLanguageVersion: (r.getParameter(r.SHADING_LANGUAGE_VERSION) || "").toString() };
958
- if (!a.length || !o.length) {
959
- var e = r.getExtension("WEBGL_debug_renderer_info");
960
- if (e) {
961
- var c = (r.getParameter(e.UNMASKED_VENDOR_WEBGL) || "").toString(), l = (r.getParameter(e.UNMASKED_RENDERER_WEBGL) || "").toString();
962
- c && (i.vendorUnmasked = c), l && (i.rendererUnmasked = l);
963
- }
964
- }
965
- return i;
966
- } catch {
967
- }
968
- return "undefined";
969
- }
970
- function X() {
971
- var n = new Float32Array(1), t = new Uint8Array(n.buffer);
972
- return n[0] = 1 / 0, n[0] = n[0] - n[0], t[3];
973
- }
974
- function Z(n, t) {
975
- var r = {};
976
- return t.forEach(function(o) {
977
- var a = function(i) {
978
- if (i.length === 0) return null;
979
- var e = {};
980
- i.forEach(function(u) {
981
- var s = String(u);
982
- e[s] = (e[s] || 0) + 1;
983
- });
984
- var c = i[0], l = 1;
985
- return Object.keys(e).forEach(function(u) {
986
- e[u] > l && (c = u, l = e[u]);
987
- }), c;
988
- }(n.map(function(i) {
989
- return o in i ? i[o] : void 0;
990
- }).filter(function(i) {
991
- return i !== void 0;
992
- }));
993
- a && (r[o] = a);
994
- }), r;
995
- }
996
- function ee() {
997
- 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"] };
998
- return Object.keys(t).forEach(function(r) {
999
- t[r].forEach(function(o) {
1000
- matchMedia("(".concat(r, ": ").concat(o, ")")).matches && n.push("".concat(r, ": ").concat(o));
1001
- });
1002
- }), n;
1003
- }
1004
- function te() {
1005
- if (window.location.protocol === "https:" && typeof window.ApplePaySession == "function") try {
1006
- for (var n = window.ApplePaySession.supportsVersion, t = 15; t > 0; t--) if (n(t)) return t;
1007
- } catch {
1008
- return 0;
379
+ }), n;
380
+ }
381
+ function te() {
382
+ if (window.location.protocol === "https:" && typeof window.ApplePaySession == "function") try {
383
+ for (var n = window.ApplePaySession.supportsVersion, t = 15; t > 0; t--) if (n(t)) return t;
384
+ } catch {
385
+ return 0;
1009
386
  }
1010
387
  return 0;
1011
388
  }
@@ -1020,8 +397,8 @@ E().name != "Firefox" && v("fonts", function() {
1020
397
  return y(this, function(l) {
1021
398
  switch (l.label) {
1022
399
  case 0:
1023
- return document.body ? [3, 2] : [4, (u = 50, new Promise(function(p) {
1024
- return setTimeout(p, u, s);
400
+ return document.body ? [3, 2] : [4, (u = 50, new Promise(function(g) {
401
+ return setTimeout(g, u, s);
1025
402
  }))];
1026
403
  case 1:
1027
404
  return l.sent(), [3, 0];
@@ -1042,8 +419,8 @@ E().name != "Firefox" && v("fonts", function() {
1042
419
  return i = a.createElement("canvas"), e = i.getContext("2d"), c = J.map(function(s) {
1043
420
  return P(e, s);
1044
421
  }), l = {}, Q.forEach(function(s) {
1045
- var p = P(e, s);
1046
- c.includes(p) || (l[s] = p);
422
+ var g = P(e, s);
423
+ c.includes(g) || (l[s] = g);
1047
424
  }), t(l), [2];
1048
425
  });
1049
426
  });
@@ -1065,7 +442,7 @@ E().name != "Firefox" && v("fonts", function() {
1065
442
  return w(this, void 0, void 0, function() {
1066
443
  var n;
1067
444
  return y(this, function(t) {
1068
- return C = (S == null ? void 0 : S.permissions_to_check) || ["accelerometer", "accessibility", "accessibility-events", "ambient-light-sensor", "background-fetch", "background-sync", "bluetooth", "camera", "clipboard-read", "clipboard-write", "device-info", "display-capture", "gyroscope", "geolocation", "local-fonts", "magnetometer", "microphone", "midi", "nfc", "notifications", "payment-handler", "persistent-storage", "push", "speaker", "storage-access", "top-level-storage-access", "window-management", "query"], n = Array.from({ length: (S == null ? void 0 : S.retries) || 3 }, function() {
445
+ return C = (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() {
1069
446
  return function() {
1070
447
  return w(this, void 0, void 0, function() {
1071
448
  var r, o, a, i, e;
@@ -1094,383 +471,1057 @@ E().name != "Firefox" && v("fonts", function() {
1094
471
  return Z(r, C);
1095
472
  })];
1096
473
  });
1097
- });
1098
- }), v("plugins", function() {
1099
- var n = [];
1100
- if (navigator.plugins) for (var t = 0; t < navigator.plugins.length; t++) {
1101
- var r = navigator.plugins[t];
1102
- n.push([r.name, r.filename, r.description].join("|"));
474
+ });
475
+ }), v("plugins", function() {
476
+ var n = [];
477
+ if (navigator.plugins) for (var t = 0; t < navigator.plugins.length; t++) {
478
+ var r = navigator.plugins[t];
479
+ n.push([r.name, r.filename, r.description].join("|"));
480
+ }
481
+ return new Promise(function(o) {
482
+ o({ plugins: n });
483
+ });
484
+ }), v("screen", function() {
485
+ return new Promise(function(n) {
486
+ n({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });
487
+ });
488
+ }), v("system", function() {
489
+ return new Promise(function(n) {
490
+ var t = E();
491
+ 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() });
492
+ });
493
+ });
494
+ var m, ne = E().name !== "SamsungBrowser" ? 1 : 3, d = null;
495
+ v("webgl", function() {
496
+ return w(this, void 0, void 0, function() {
497
+ var n;
498
+ return y(this, function(t) {
499
+ typeof document < "u" && ((m = document.createElement("canvas")).width = 200, m.height = 100, d = m.getContext("webgl"));
500
+ try {
501
+ if (!d) throw new Error("WebGL not supported");
502
+ return n = Array.from({ length: ne }, function() {
503
+ return function() {
504
+ try {
505
+ if (!d) throw new Error("WebGL not supported");
506
+ var r = `
507
+ attribute vec2 position;
508
+ void main() {
509
+ gl_Position = vec4(position, 0.0, 1.0);
510
+ }
511
+ `, o = `
512
+ precision mediump float;
513
+ void main() {
514
+ gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
515
+ }
516
+ `, a = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);
517
+ if (!a || !i) throw new Error("Failed to create shaders");
518
+ if (d.shaderSource(a, r), d.shaderSource(i, o), d.compileShader(a), !d.getShaderParameter(a, d.COMPILE_STATUS)) throw new Error("Vertex shader compilation failed: " + d.getShaderInfoLog(a));
519
+ if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(i));
520
+ var e = d.createProgram();
521
+ if (!e) throw new Error("Failed to create shader program");
522
+ if (d.attachShader(e, a), d.attachShader(e, i), d.linkProgram(e), !d.getProgramParameter(e, d.LINK_STATUS)) throw new Error("Shader program linking failed: " + d.getProgramInfoLog(e));
523
+ d.useProgram(e);
524
+ for (var c = 137, l = new Float32Array(4 * c), u = 2 * Math.PI / c, s = 0; s < c; s++) {
525
+ var g = s * u;
526
+ l[4 * s] = 0, l[4 * s + 1] = 0, l[4 * s + 2] = Math.cos(g) * (m.width / 2), l[4 * s + 3] = Math.sin(g) * (m.height / 2);
527
+ }
528
+ var B = d.createBuffer();
529
+ d.bindBuffer(d.ARRAY_BUFFER, B), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
530
+ var x = d.getAttribLocation(e, "position");
531
+ d.enableVertexAttribArray(x), d.vertexAttribPointer(x, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, m.width, m.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * c);
532
+ var T = new Uint8ClampedArray(m.width * m.height * 4);
533
+ return d.readPixels(0, 0, m.width, m.height, d.RGBA, d.UNSIGNED_BYTE, T), new ImageData(T, m.width, m.height);
534
+ } catch {
535
+ return new ImageData(1, 1);
536
+ } finally {
537
+ d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));
538
+ }
539
+ }();
540
+ }), [2, { commonImageHash: I(D(n, m.width, m.height).data.toString()).toString() }];
541
+ } catch {
542
+ return [2, { webgl: "unsupported" }];
543
+ }
544
+ return [2];
545
+ });
546
+ });
547
+ });
548
+ var S = function(n, t, r, o) {
549
+ for (var a = (r - t) / o, i = 0, e = 0; e < o; e++)
550
+ i += n(t + (e + 0.5) * a);
551
+ return i * a;
552
+ };
553
+ v("math", function() {
554
+ return w(void 0, void 0, void 0, function() {
555
+ return y(this, function(n) {
556
+ 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) }];
557
+ });
558
+ });
559
+ });
560
+ const re = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
561
+ let A = (n = 21) => {
562
+ let t = "", r = crypto.getRandomValues(new Uint8Array(n |= 0));
563
+ for (; n--; )
564
+ t += re[r[n] & 63];
565
+ return t;
566
+ };
567
+ class R {
568
+ constructor(t) {
569
+ h(this, "config");
570
+ this.config = t;
571
+ }
572
+ async getAdsForSearchParams(t) {
573
+ return [];
574
+ }
575
+ }
576
+ class oe extends R {
577
+ /**
578
+ * Gets ads from the adMarketplace API based on the search term.
579
+ */
580
+ async getAdsForSearchParams(t) {
581
+ if (!this.config.admSub)
582
+ return console.error("No admSub specified in config."), [];
583
+ const o = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({
584
+ partner: "demofeed",
585
+ sub1: this.config.admSub,
586
+ qt: t.searchTerm,
587
+ v: "2.0",
588
+ rfr: "searchcraft.io",
589
+ "results-ta": `${this.config.admTextAdQuantity || 0}`,
590
+ "results-pa": `${this.config.admProductAdQuantity || 0}`
591
+ }).toString()}`, i = await (await fetch(o, { method: "GET" })).json(), e = i.product_ads.map(
592
+ (u) => ({
593
+ id: A(),
594
+ adSource: "adMarketplace",
595
+ admAdType: "adm-product-ad",
596
+ admAd: u
597
+ })
598
+ ), c = i.text_ads.map((u) => ({
599
+ id: A(),
600
+ adSource: "adMarketplace",
601
+ admAdType: "adm-text-ad",
602
+ admAd: u
603
+ }));
604
+ return e.concat(c);
605
+ }
606
+ }
607
+ class ie extends R {
608
+ async getAdsForSearchParams(t) {
609
+ return [];
610
+ }
611
+ }
612
+ class ae extends R {
613
+ async getAdsForSearchParams(t) {
614
+ return [];
615
+ }
616
+ }
617
+ const se = 500;
618
+ class ue {
619
+ constructor(t, r, o) {
620
+ h(this, "measureRequestTimeout");
621
+ h(this, "measureRequestsBatched", []);
622
+ h(this, "config");
623
+ h(this, "sdkInfo");
624
+ h(this, "userId");
625
+ h(this, "sessionId");
626
+ /**
627
+ * Sends a measure event to the `/measure/event` endpoint for analytics purposes.
628
+ *
629
+ * @param {MeasureEventName} eventName - Name of the event.
630
+ * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.
631
+ * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.
632
+ */
633
+ h(this, "sendMeasureEvent", (t, r = {}, o = {}) => {
634
+ const a = {
635
+ event_name: t,
636
+ properties: {
637
+ searchcraft_index_names: this.config.index,
638
+ session_id: this.sessionId,
639
+ ...r
640
+ },
641
+ user: {
642
+ ...this.measureRequestUser,
643
+ ...o
644
+ }
645
+ };
646
+ this.measureRequestsBatched.push(a), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {
647
+ const i = JSON.stringify({ items: this.measureRequestsBatched }), e = `${this.baseMeasureUrl}/batch`;
648
+ try {
649
+ const c = await fetch(e, {
650
+ method: "POST",
651
+ headers: {
652
+ "Content-Type": "application/json",
653
+ Authorization: this.config.readKey,
654
+ "X-Sc-User-Id": this.userId
655
+ },
656
+ body: i,
657
+ keepalive: !0
658
+ });
659
+ if (!c.ok)
660
+ throw new Error(
661
+ `Failed to send request: ${c.status} ${c.statusText}`
662
+ );
663
+ this.measureRequestsBatched = [];
664
+ return;
665
+ } catch (c) {
666
+ throw console.error("Error sending MeasureRequest:", c), c;
667
+ }
668
+ }, se);
669
+ });
670
+ this.config = t, this.sdkInfo = r, this.userId = o, this.sessionId = A(), this.sendMeasureEvent("sdk_initialized");
671
+ }
672
+ /**
673
+ * Getter for the base url used by the /measure endpoints.
674
+ */
675
+ get baseMeasureUrl() {
676
+ return `${this.config.endpointURL}/measure`;
677
+ }
678
+ /**
679
+ * Getter for the measure request user. Uses config values + navigator values.
680
+ */
681
+ get measureRequestUser() {
682
+ return {
683
+ user_id: this.userId,
684
+ locale: navigator.language || "en-US",
685
+ os: navigator.userAgent.includes("Windows") ? "Windows" : navigator.userAgent.includes("Mac") ? "Mac" : navigator.userAgent.includes("Linux") ? "Linux" : "Unknown",
686
+ platform: navigator.platform || "Unknown",
687
+ sdk_name: this.sdkInfo.sdkName,
688
+ sdk_version: this.sdkInfo.sdkVersion,
689
+ user_agent: navigator.userAgent || "Unknown"
690
+ };
691
+ }
692
+ }
693
+ function ce(n) {
694
+ const t = [];
695
+ let r = "should";
696
+ return n.facetPathsForIndexFields && Object.keys(n.facetPathsForIndexFields).forEach((o) => {
697
+ var i;
698
+ const a = (i = n.facetPathsForIndexFields) == null ? void 0 : i[o];
699
+ a && (r = "must", t.push({
700
+ occur: r,
701
+ exact: {
702
+ ctx: a.value
703
+ }
704
+ }));
705
+ }), n.rangeValueForIndexFields && Object.keys(n.rangeValueForIndexFields).forEach((o) => {
706
+ var i;
707
+ const a = (i = n.rangeValueForIndexFields) == null ? void 0 : i[o];
708
+ a && (r = "must", t.push({
709
+ occur: r,
710
+ exact: {
711
+ ctx: a.value
712
+ }
713
+ }));
714
+ }), n.sort === "desc" ? n.order_by = "date_published" : n.order_by = "", t.push({
715
+ occur: r,
716
+ // Valid, as 'occur' is a required property in QueryItem
717
+ [n.mode]: { ctx: n.searchTerm }
718
+ // Ensure dynamic mode is inside queryType
719
+ }), t;
720
+ }
721
+ const de = (n) => n.endsWith("/") ? n.slice(0, -1) : n, le = (n) => {
722
+ let t = "";
723
+ if (t = n.trim(), t = t.replace(/[‘’“”]/g, (o) => ({
724
+ "‘": "'",
725
+ "’": "'",
726
+ "“": '"',
727
+ "”": '"'
728
+ })[o] || o), (t.match(/"/g) || []).length % 2 !== 0)
729
+ throw new Error(
730
+ "The search term contains an uneven number of quote characters."
731
+ );
732
+ return t;
733
+ };
734
+ class he {
735
+ constructor(t, r, o) {
736
+ h(this, "config");
737
+ h(this, "userId");
738
+ h(this, "parent");
739
+ /**
740
+ * Performs a search operation.
741
+ * @param {SearchParams} searchParams - The parameters for the search.
742
+ */
743
+ h(this, "getSearchResponse", async (t) => {
744
+ var o, a;
745
+ const r = le(t.searchTerm);
746
+ (o = this.parent.measureClient) == null || o.sendMeasureEvent("search_requested", {
747
+ search_term: r
748
+ }), this.parent.emitEvent("query_submitted", {
749
+ name: "query_submitted",
750
+ data: {
751
+ searchTerm: r
752
+ }
753
+ });
754
+ try {
755
+ const i = {
756
+ query: ce(t),
757
+ offset: t.offset || 0,
758
+ // Default to 0 (first page) if not provided
759
+ limit: t.limit || this.config.searchResultsPerPage || 20
760
+ // Default to 20 if not provided
761
+ };
762
+ t.order_by && (i.order_by = t.order_by, i.sort = t.sort === "desc" || t.sort === "asc" ? t.sort : "asc");
763
+ const e = {
764
+ method: "POST",
765
+ headers: {
766
+ Authorization: this.config.readKey,
767
+ "Content-Type": "application/json",
768
+ "X-Sc-User-Id": this.userId
769
+ },
770
+ body: JSON.stringify(i)
771
+ }, c = await fetch(this.baseSearchUrl, e);
772
+ if (!c.ok)
773
+ throw new Error(
774
+ `Error: ${c.statusText} (Status: ${c.status})`
775
+ );
776
+ const l = await c.json();
777
+ return (a = this.parent.measureClient) == null || a.sendMeasureEvent("search_response_received", {
778
+ search_term: r,
779
+ number_of_documents: l.data.count
780
+ }), l;
781
+ } catch (i) {
782
+ throw console.error("Error parsing response:", i), i;
783
+ }
784
+ });
785
+ this.parent = t, this.config = r, this.userId = o;
1103
786
  }
1104
- return new Promise(function(o) {
1105
- o({ plugins: n });
1106
- });
1107
- }), v("screen", function() {
1108
- return new Promise(function(n) {
1109
- n({ is_touchscreen: navigator.maxTouchPoints > 0, maxTouchPoints: navigator.maxTouchPoints, colorDepth: screen.colorDepth, mediaMatches: ee() });
1110
- });
1111
- }), v("system", function() {
1112
- return new Promise(function(n) {
1113
- var t = E();
1114
- 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() });
1115
- });
1116
- });
1117
- var m, ne = E().name !== "SamsungBrowser" ? 1 : 3, d = null;
1118
- v("webgl", function() {
1119
- return w(this, void 0, void 0, function() {
1120
- var n;
1121
- return y(this, function(t) {
1122
- typeof document < "u" && ((m = document.createElement("canvas")).width = 200, m.height = 100, d = m.getContext("webgl"));
1123
- try {
1124
- if (!d) throw new Error("WebGL not supported");
1125
- return n = Array.from({ length: ne }, function() {
1126
- return function() {
1127
- try {
1128
- if (!d) throw new Error("WebGL not supported");
1129
- var r = `
1130
- attribute vec2 position;
1131
- void main() {
1132
- gl_Position = vec4(position, 0.0, 1.0);
1133
- }
1134
- `, o = `
1135
- precision mediump float;
1136
- void main() {
1137
- gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color
787
+ /**
788
+ * Getter for the base url used by the /search endpoint.
789
+ */
790
+ get baseSearchUrl() {
791
+ return `${this.config.endpointURL}/index/${this.config.index.join(",")}/search`;
792
+ }
793
+ }
794
+ class ge {
795
+ constructor(t, r) {
796
+ h(this, "config");
797
+ h(this, "measureClient");
798
+ h(this, "searchClient");
799
+ h(this, "adClient");
800
+ h(this, "userId");
801
+ h(this, "requestTimeout");
802
+ h(this, "subscriptionEvents", {});
803
+ /**
804
+ * Gets items from the SearchClient and the AdClient.
805
+ */
806
+ h(this, "getItems", (t, r, o) => {
807
+ const a = async () => {
808
+ (async () => {
809
+ var c, l;
810
+ const i = await ((c = this == null ? void 0 : this.searchClient) == null ? void 0 : c.getSearchResponse(t));
811
+ if (!i)
812
+ throw new Error("Search client was not initialized.");
813
+ const e = (l = i.data.hits || []) == null ? void 0 : l.map((u) => u.doc).filter((u) => !!u).map((u) => ({
814
+ type: "SearchDocument",
815
+ id: A(),
816
+ document: u
817
+ }));
818
+ e.length === 0 && this.emitEvent("no_results_returned", {
819
+ name: "no_results_returned"
820
+ }), r(i, e);
821
+ })(), (async () => {
822
+ if (this.adClient) {
823
+ const i = await this.adClient.getAdsForSearchParams(t);
824
+ o(i);
1138
825
  }
1139
- `, a = d.createShader(d.VERTEX_SHADER), i = d.createShader(d.FRAGMENT_SHADER);
1140
- if (!a || !i) throw new Error("Failed to create shaders");
1141
- if (d.shaderSource(a, r), d.shaderSource(i, o), d.compileShader(a), !d.getShaderParameter(a, d.COMPILE_STATUS)) throw new Error("Vertex shader compilation failed: " + d.getShaderInfoLog(a));
1142
- if (d.compileShader(i), !d.getShaderParameter(i, d.COMPILE_STATUS)) throw new Error("Fragment shader compilation failed: " + d.getShaderInfoLog(i));
1143
- var e = d.createProgram();
1144
- if (!e) throw new Error("Failed to create shader program");
1145
- if (d.attachShader(e, a), d.attachShader(e, i), d.linkProgram(e), !d.getProgramParameter(e, d.LINK_STATUS)) throw new Error("Shader program linking failed: " + d.getProgramInfoLog(e));
1146
- d.useProgram(e);
1147
- for (var c = 137, l = new Float32Array(4 * c), u = 2 * Math.PI / c, s = 0; s < c; s++) {
1148
- var p = s * u;
1149
- l[4 * s] = 0, l[4 * s + 1] = 0, l[4 * s + 2] = Math.cos(p) * (m.width / 2), l[4 * s + 3] = Math.sin(p) * (m.height / 2);
1150
- }
1151
- var B = d.createBuffer();
1152
- d.bindBuffer(d.ARRAY_BUFFER, B), d.bufferData(d.ARRAY_BUFFER, l, d.STATIC_DRAW);
1153
- var R = d.getAttribLocation(e, "position");
1154
- d.enableVertexAttribArray(R), d.vertexAttribPointer(R, 2, d.FLOAT, !1, 0, 0), d.viewport(0, 0, m.width, m.height), d.clearColor(0, 0, 0, 1), d.clear(d.COLOR_BUFFER_BIT), d.drawArrays(d.LINES, 0, 2 * c);
1155
- var x = new Uint8ClampedArray(m.width * m.height * 4);
1156
- return d.readPixels(0, 0, m.width, m.height, d.RGBA, d.UNSIGNED_BYTE, x), new ImageData(x, m.width, m.height);
1157
- } catch {
1158
- return new ImageData(1, 1);
1159
- } finally {
1160
- d && (d.bindBuffer(d.ARRAY_BUFFER, null), d.useProgram(null), d.viewport(0, 0, d.drawingBufferWidth, d.drawingBufferHeight), d.clearColor(0, 0, 0, 0));
1161
- }
1162
- }();
1163
- }), [2, { commonImageHash: I(O(n, m.width, m.height).data.toString()).toString() }];
1164
- } catch {
1165
- return [2, { webgl: "unsupported" }];
826
+ })();
827
+ };
828
+ clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(
829
+ a,
830
+ this.config.searchDebounceDelay
831
+ ) : a();
832
+ });
833
+ if (!t.endpointURL || !t.index || !t.readKey)
834
+ throw new Error(
835
+ "Endpoint URL, Index value(s), and Read Key must be provided"
836
+ );
837
+ this.config = {
838
+ ...t,
839
+ // Strips off the trailing '/' from an endpointURL if one is accidentally added
840
+ endpointURL: de(t.endpointURL)
841
+ }, this.userId = "", this.initClients(this.config, r), this.initInputForms(), this.startObservingMutations();
842
+ }
843
+ initInputForms() {
844
+ const t = document.querySelectorAll(
845
+ "searchcraft-input-form"
846
+ );
847
+ setTimeout(() => {
848
+ t.forEach((r) => {
849
+ r.core = this;
850
+ });
851
+ }, 40);
852
+ }
853
+ /**
854
+ * When changes happen in the DOM, we want to link any input forms found to the instance of the core.
855
+ */
856
+ startObservingMutations() {
857
+ new MutationObserver((r, o) => {
858
+ let a = !1;
859
+ for (const i of r)
860
+ i.type === "childList" && i.addedNodes.forEach((e) => {
861
+ e.nodeType === 1 && e.className.toLowerCase() === "searchcraft-input-form" && (a = !0);
862
+ });
863
+ a && this.initInputForms();
864
+ }).observe(document.body, { childList: !0, subtree: !0 });
865
+ }
866
+ initClients(t, r) {
867
+ setTimeout(async () => {
868
+ let o = this.config.userId;
869
+ switch (o || (o = await $()), this.measureClient = new ue(t, r, o), this.searchClient = new he(this, t, o), t.adSource) {
870
+ case "adMarketplace":
871
+ this.adClient = new oe(t);
872
+ break;
873
+ case "Nativo":
874
+ this.adClient = new ae(t);
875
+ break;
876
+ case "Custom":
877
+ this.adClient = new ie(t);
878
+ break;
1166
879
  }
1167
- return [2];
880
+ }, 300);
881
+ }
882
+ emitEvent(t, r) {
883
+ var o;
884
+ (o = this.subscriptionEvents[t]) == null || o.forEach((a) => {
885
+ a(r);
1168
886
  });
1169
- });
1170
- });
1171
- var b = function(n, t, r, o) {
1172
- for (var a = (r - t) / o, i = 0, e = 0; e < o; e++)
1173
- i += n(t + (e + 0.5) * a);
1174
- return i * a;
887
+ }
888
+ subscribe(t, r) {
889
+ return this.subscriptionEvents[t] || (this.subscriptionEvents[t] = []), this.subscriptionEvents[t].push(
890
+ r
891
+ ), () => {
892
+ this.subscriptionEvents[t] = this.subscriptionEvents[t].filter((o) => o !== r);
893
+ };
894
+ }
895
+ }
896
+
897
+ var zustand = {};
898
+
899
+ var vanilla$1 = {};
900
+
901
+ const createStoreImpl = (createState) => {
902
+ let state;
903
+ const listeners = /* @__PURE__ */ new Set();
904
+ const setState = (partial, replace) => {
905
+ const nextState = typeof partial === "function" ? partial(state) : partial;
906
+ if (!Object.is(nextState, state)) {
907
+ const previousState = state;
908
+ state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState);
909
+ listeners.forEach((listener) => listener(state, previousState));
910
+ }
911
+ };
912
+ const getState = () => state;
913
+ const getInitialState = () => initialState;
914
+ const subscribe = (listener) => {
915
+ listeners.add(listener);
916
+ return () => listeners.delete(listener);
917
+ };
918
+ const api = { setState, getState, getInitialState, subscribe };
919
+ const initialState = state = createState(setState, getState, api);
920
+ return api;
921
+ };
922
+ const createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
923
+
924
+ vanilla$1.createStore = createStore;
925
+
926
+ var react$1 = {};
927
+
928
+ var react = {exports: {}};
929
+
930
+ var react_production = {};
931
+
932
+ /**
933
+ * @license React
934
+ * react.production.js
935
+ *
936
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
937
+ *
938
+ * This source code is licensed under the MIT license found in the
939
+ * LICENSE file in the root directory of this source tree.
940
+ */
941
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
942
+ REACT_PORTAL_TYPE = Symbol.for("react.portal"),
943
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
944
+ REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"),
945
+ REACT_PROFILER_TYPE = Symbol.for("react.profiler"),
946
+ REACT_CONSUMER_TYPE = Symbol.for("react.consumer"),
947
+ REACT_CONTEXT_TYPE = Symbol.for("react.context"),
948
+ REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"),
949
+ REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"),
950
+ REACT_MEMO_TYPE = Symbol.for("react.memo"),
951
+ REACT_LAZY_TYPE = Symbol.for("react.lazy"),
952
+ MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
953
+ function getIteratorFn(maybeIterable) {
954
+ if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
955
+ maybeIterable =
956
+ (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
957
+ maybeIterable["@@iterator"];
958
+ return "function" === typeof maybeIterable ? maybeIterable : null;
959
+ }
960
+ var ReactNoopUpdateQueue = {
961
+ isMounted: function () {
962
+ return !1;
963
+ },
964
+ enqueueForceUpdate: function () {},
965
+ enqueueReplaceState: function () {},
966
+ enqueueSetState: function () {}
967
+ },
968
+ assign = Object.assign,
969
+ emptyObject = {};
970
+ function Component(props, context, updater) {
971
+ this.props = props;
972
+ this.context = context;
973
+ this.refs = emptyObject;
974
+ this.updater = updater || ReactNoopUpdateQueue;
975
+ }
976
+ Component.prototype.isReactComponent = {};
977
+ Component.prototype.setState = function (partialState, callback) {
978
+ if (
979
+ "object" !== typeof partialState &&
980
+ "function" !== typeof partialState &&
981
+ null != partialState
982
+ )
983
+ throw Error(
984
+ "takes an object of state variables to update or a function which returns an object of state variables."
985
+ );
986
+ this.updater.enqueueSetState(this, partialState, callback, "setState");
1175
987
  };
1176
- v("math", function() {
1177
- return w(void 0, void 0, void 0, function() {
1178
- return y(this, function(n) {
1179
- return [2, { acos: Math.acos(0.5), asin: b(Math.asin, -1, 1, 97), atan: b(Math.atan, -1, 1, 97), cos: b(Math.cos, 0, Math.PI, 97), cosh: Math.cosh(9 / 7), e: Math.E, largeCos: Math.cos(1e20), largeSin: Math.sin(1e20), largeTan: Math.tan(1e20), log: Math.log(1e3), pi: Math.PI, sin: b(Math.sin, -Math.PI, Math.PI, 97), sinh: b(Math.sinh, -9 / 7, 7 / 9, 97), sqrt: Math.sqrt(2), tan: b(Math.tan, 0, 2 * Math.PI, 97), tanh: b(Math.tanh, -9 / 7, 7 / 9, 97) }];
1180
- });
1181
- });
1182
- });
1183
- const re = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
1184
- let A = (n = 21) => {
1185
- let t = "", r = crypto.getRandomValues(new Uint8Array(n |= 0));
1186
- for (; n--; )
1187
- t += re[r[n] & 63];
1188
- return t;
988
+ Component.prototype.forceUpdate = function (callback) {
989
+ this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
1189
990
  };
1190
- class D {
1191
- constructor(t) {
1192
- h(this, "config");
1193
- this.config = t;
1194
- }
1195
- async getAdsForSearchParams(t) {
1196
- return [];
1197
- }
991
+ function ComponentDummy() {}
992
+ ComponentDummy.prototype = Component.prototype;
993
+ function PureComponent(props, context, updater) {
994
+ this.props = props;
995
+ this.context = context;
996
+ this.refs = emptyObject;
997
+ this.updater = updater || ReactNoopUpdateQueue;
1198
998
  }
1199
- class oe extends D {
1200
- /**
1201
- * Gets ads from the adMarketplace API based on the search term.
1202
- */
1203
- async getAdsForSearchParams(t) {
1204
- if (!this.config.admSub)
1205
- return console.error("No admSub specified in config."), [];
1206
- const o = `https://demofeed.is.ampfeed.com/is?${new URLSearchParams({
1207
- partner: "demofeed",
1208
- sub1: this.config.admSub,
1209
- qt: t.searchTerm,
1210
- v: "2.0",
1211
- rfr: "searchcraft.io",
1212
- "results-ta": `${this.config.admTextAdQuantity || 0}`,
1213
- "results-pa": `${this.config.admProductAdQuantity || 0}`
1214
- }).toString()}`, i = await (await fetch(o, { method: "GET" })).json();
1215
- return new Array().concat(
1216
- i.product_ads.map((c) => ({
1217
- adId: A(),
1218
- type: "adm-product-ad",
1219
- admAd: c
1220
- }))
1221
- ).concat(
1222
- i.text_ads.map((c) => ({
1223
- adId: A(),
1224
- type: "adm-text-ad",
1225
- admAd: c
1226
- }))
1227
- );
1228
- }
999
+ var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());
1000
+ pureComponentPrototype.constructor = PureComponent;
1001
+ assign(pureComponentPrototype, Component.prototype);
1002
+ pureComponentPrototype.isPureReactComponent = !0;
1003
+ var isArrayImpl = Array.isArray,
1004
+ ReactSharedInternals = { H: null, A: null, T: null, S: null },
1005
+ hasOwnProperty = Object.prototype.hasOwnProperty;
1006
+ function ReactElement(type, key, self, source, owner, props) {
1007
+ self = props.ref;
1008
+ return {
1009
+ $$typeof: REACT_ELEMENT_TYPE,
1010
+ type: type,
1011
+ key: key,
1012
+ ref: void 0 !== self ? self : null,
1013
+ props: props
1014
+ };
1229
1015
  }
1230
- class ie extends D {
1231
- async getAdsForSearchParams(t) {
1232
- return [];
1016
+ function cloneAndReplaceKey(oldElement, newKey) {
1017
+ return ReactElement(
1018
+ oldElement.type,
1019
+ newKey,
1020
+ void 0,
1021
+ void 0,
1022
+ void 0,
1023
+ oldElement.props
1024
+ );
1025
+ }
1026
+ function isValidElement(object) {
1027
+ return (
1028
+ "object" === typeof object &&
1029
+ null !== object &&
1030
+ object.$$typeof === REACT_ELEMENT_TYPE
1031
+ );
1032
+ }
1033
+ function escape(key) {
1034
+ var escaperLookup = { "=": "=0", ":": "=2" };
1035
+ return (
1036
+ "$" +
1037
+ key.replace(/[=:]/g, function (match) {
1038
+ return escaperLookup[match];
1039
+ })
1040
+ );
1041
+ }
1042
+ var userProvidedKeyEscapeRegex = /\/+/g;
1043
+ function getElementKey(element, index) {
1044
+ return "object" === typeof element && null !== element && null != element.key
1045
+ ? escape("" + element.key)
1046
+ : index.toString(36);
1047
+ }
1048
+ function noop$1() {}
1049
+ function resolveThenable(thenable) {
1050
+ switch (thenable.status) {
1051
+ case "fulfilled":
1052
+ return thenable.value;
1053
+ case "rejected":
1054
+ throw thenable.reason;
1055
+ default:
1056
+ switch (
1057
+ ("string" === typeof thenable.status
1058
+ ? thenable.then(noop$1, noop$1)
1059
+ : ((thenable.status = "pending"),
1060
+ thenable.then(
1061
+ function (fulfilledValue) {
1062
+ "pending" === thenable.status &&
1063
+ ((thenable.status = "fulfilled"),
1064
+ (thenable.value = fulfilledValue));
1065
+ },
1066
+ function (error) {
1067
+ "pending" === thenable.status &&
1068
+ ((thenable.status = "rejected"), (thenable.reason = error));
1069
+ }
1070
+ )),
1071
+ thenable.status)
1072
+ ) {
1073
+ case "fulfilled":
1074
+ return thenable.value;
1075
+ case "rejected":
1076
+ throw thenable.reason;
1077
+ }
1233
1078
  }
1079
+ throw thenable;
1234
1080
  }
1235
- const ae = 500;
1236
- class se {
1237
- constructor(t, r, o) {
1238
- h(this, "measureRequestTimeout");
1239
- h(this, "measureRequestsBatched", []);
1240
- h(this, "config");
1241
- h(this, "sdkInfo");
1242
- h(this, "userId");
1243
- h(this, "sessionId");
1244
- /**
1245
- * Sends a measure event to the `/measure/event` endpoint for analytics purposes.
1246
- *
1247
- * @param {MeasureEventName} eventName - Name of the event.
1248
- * @param {Partial<MeasureRequestProperties>} properties - Additional properties to send with the event.
1249
- * @param {Partial<MeasureRequestUser>} user - Additional user properites to send with the event.
1250
- */
1251
- h(this, "sendMeasureEvent", (t, r = {}, o = {}) => {
1252
- const a = {
1253
- event_name: t,
1254
- properties: {
1255
- searchcraft_index_names: this.config.index,
1256
- session_id: this.sessionId,
1257
- ...r
1258
- },
1259
- user: {
1260
- ...this.measureRequestUser,
1261
- ...o
1262
- }
1263
- };
1264
- this.measureRequestsBatched.push(a), clearTimeout(this.measureRequestTimeout), this.measureRequestTimeout = setTimeout(async () => {
1265
- const i = JSON.stringify({ items: this.measureRequestsBatched }), e = `${this.baseMeasureUrl}/batch`;
1266
- try {
1267
- const c = await fetch(e, {
1268
- method: "POST",
1269
- headers: {
1270
- "Content-Type": "application/json",
1271
- Authorization: this.config.readKey,
1272
- "X-Sc-User-Id": this.userId
1273
- },
1274
- body: i,
1275
- keepalive: !0
1276
- });
1277
- if (!c.ok)
1278
- throw new Error(
1279
- `Failed to send request: ${c.status} ${c.statusText}`
1081
+ function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
1082
+ var type = typeof children;
1083
+ if ("undefined" === type || "boolean" === type) children = null;
1084
+ var invokeCallback = !1;
1085
+ if (null === children) invokeCallback = !0;
1086
+ else
1087
+ switch (type) {
1088
+ case "bigint":
1089
+ case "string":
1090
+ case "number":
1091
+ invokeCallback = !0;
1092
+ break;
1093
+ case "object":
1094
+ switch (children.$$typeof) {
1095
+ case REACT_ELEMENT_TYPE:
1096
+ case REACT_PORTAL_TYPE:
1097
+ invokeCallback = !0;
1098
+ break;
1099
+ case REACT_LAZY_TYPE:
1100
+ return (
1101
+ (invokeCallback = children._init),
1102
+ mapIntoArray(
1103
+ invokeCallback(children._payload),
1104
+ array,
1105
+ escapedPrefix,
1106
+ nameSoFar,
1107
+ callback
1108
+ )
1280
1109
  );
1281
- this.measureRequestsBatched = [];
1282
- return;
1283
- } catch (c) {
1284
- throw console.error("Error sending MeasureRequest:", c), c;
1285
1110
  }
1286
- }, ae);
1287
- });
1288
- this.config = t, this.sdkInfo = r, this.userId = o, this.sessionId = A(), this.sendMeasureEvent("sdk_initialized");
1289
- }
1290
- /**
1291
- * Getter for the base url used by the /measure endpoints.
1292
- */
1293
- get baseMeasureUrl() {
1294
- return `${this.config.endpointURL}/measure`;
1295
- }
1296
- /**
1297
- * Getter for the measure request user. Uses config values + navigator values.
1298
- */
1299
- get measureRequestUser() {
1300
- return {
1301
- user_id: this.userId,
1302
- locale: navigator.language || "en-US",
1303
- os: navigator.userAgent.includes("Windows") ? "Windows" : navigator.userAgent.includes("Mac") ? "Mac" : navigator.userAgent.includes("Linux") ? "Linux" : "Unknown",
1304
- platform: navigator.platform || "Unknown",
1305
- sdk_name: this.sdkInfo.sdkName,
1306
- sdk_version: this.sdkInfo.sdkVersion,
1307
- user_agent: navigator.userAgent || "Unknown"
1308
- };
1111
+ }
1112
+ if (invokeCallback)
1113
+ return (
1114
+ (callback = callback(children)),
1115
+ (invokeCallback =
1116
+ "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar),
1117
+ isArrayImpl(callback)
1118
+ ? ((escapedPrefix = ""),
1119
+ null != invokeCallback &&
1120
+ (escapedPrefix =
1121
+ invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"),
1122
+ mapIntoArray(callback, array, escapedPrefix, "", function (c) {
1123
+ return c;
1124
+ }))
1125
+ : null != callback &&
1126
+ (isValidElement(callback) &&
1127
+ (callback = cloneAndReplaceKey(
1128
+ callback,
1129
+ escapedPrefix +
1130
+ (null == callback.key ||
1131
+ (children && children.key === callback.key)
1132
+ ? ""
1133
+ : ("" + callback.key).replace(
1134
+ userProvidedKeyEscapeRegex,
1135
+ "$&/"
1136
+ ) + "/") +
1137
+ invokeCallback
1138
+ )),
1139
+ array.push(callback)),
1140
+ 1
1141
+ );
1142
+ invokeCallback = 0;
1143
+ var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":";
1144
+ if (isArrayImpl(children))
1145
+ for (var i = 0; i < children.length; i++)
1146
+ (nameSoFar = children[i]),
1147
+ (type = nextNamePrefix + getElementKey(nameSoFar, i)),
1148
+ (invokeCallback += mapIntoArray(
1149
+ nameSoFar,
1150
+ array,
1151
+ escapedPrefix,
1152
+ type,
1153
+ callback
1154
+ ));
1155
+ else if (((i = getIteratorFn(children)), "function" === typeof i))
1156
+ for (
1157
+ children = i.call(children), i = 0;
1158
+ !(nameSoFar = children.next()).done;
1159
+
1160
+ )
1161
+ (nameSoFar = nameSoFar.value),
1162
+ (type = nextNamePrefix + getElementKey(nameSoFar, i++)),
1163
+ (invokeCallback += mapIntoArray(
1164
+ nameSoFar,
1165
+ array,
1166
+ escapedPrefix,
1167
+ type,
1168
+ callback
1169
+ ));
1170
+ else if ("object" === type) {
1171
+ if ("function" === typeof children.then)
1172
+ return mapIntoArray(
1173
+ resolveThenable(children),
1174
+ array,
1175
+ escapedPrefix,
1176
+ nameSoFar,
1177
+ callback
1178
+ );
1179
+ array = String(children);
1180
+ throw Error(
1181
+ "Objects are not valid as a React child (found: " +
1182
+ ("[object Object]" === array
1183
+ ? "object with keys {" + Object.keys(children).join(", ") + "}"
1184
+ : array) +
1185
+ "). If you meant to render a collection of children, use an array instead."
1186
+ );
1309
1187
  }
1188
+ return invokeCallback;
1310
1189
  }
1311
- function ue(n) {
1312
- const t = [];
1313
- let r = "should";
1314
- return n.facetPathsForIndexFields && Object.keys(n.facetPathsForIndexFields).forEach((o) => {
1315
- var i;
1316
- const a = (i = n.facetPathsForIndexFields) == null ? void 0 : i[o];
1317
- a && (r = "must", t.push({
1318
- occur: r,
1319
- exact: {
1320
- ctx: a.value
1321
- }
1322
- }));
1323
- }), n.rangeValueForIndexFields && Object.keys(n.rangeValueForIndexFields).forEach((o) => {
1324
- var i;
1325
- const a = (i = n.rangeValueForIndexFields) == null ? void 0 : i[o];
1326
- a && (r = "must", t.push({
1327
- occur: r,
1328
- exact: {
1329
- ctx: a.value
1330
- }
1331
- }));
1332
- }), n.sort === "desc" ? n.order_by = "date_published" : n.order_by = "", t.push({
1333
- occur: r,
1334
- // Valid, as 'occur' is a required property in QueryItem
1335
- [n.mode]: { ctx: n.searchTerm }
1336
- // Ensure dynamic mode is inside queryType
1337
- }), t;
1190
+ function mapChildren(children, func, context) {
1191
+ if (null == children) return children;
1192
+ var result = [],
1193
+ count = 0;
1194
+ mapIntoArray(children, result, "", "", function (child) {
1195
+ return func.call(context, child, count++);
1196
+ });
1197
+ return result;
1338
1198
  }
1339
- const ce = (n) => n.endsWith("/") ? n.slice(0, -1) : n, de = (n) => {
1340
- let t = "";
1341
- if (t = n.trim(), t = t.replace(/[‘’“”]/g, (o) => ({
1342
- "‘": "'",
1343
- "’": "'",
1344
- "“": '"',
1345
- "”": '"'
1346
- })[o] || o), (t.match(/"/g) || []).length % 2 !== 0)
1347
- throw new Error(
1348
- "The search term contains an uneven number of quote characters."
1349
- );
1350
- return t;
1351
- };
1352
- class le {
1353
- constructor(t, r, o) {
1354
- h(this, "measureClient");
1355
- h(this, "config");
1356
- h(this, "userId");
1357
- /**
1358
- * Performs a search operation.
1359
- * @param {SearchParams} searchParams - The parameters for the search.
1360
- */
1361
- h(this, "getSearchResponse", async (t) => {
1362
- var o, a;
1363
- const r = de(t.searchTerm);
1364
- (o = this.measureClient) == null || o.sendMeasureEvent("search_requested", {
1365
- search_term: r
1366
- });
1367
- try {
1368
- const i = {
1369
- query: ue(t),
1370
- offset: t.offset || 0,
1371
- // Default to 0 (first page) if not provided
1372
- limit: t.limit || this.config.searchResultsPerPage || 20
1373
- // Default to 20 if not provided
1374
- };
1375
- t.order_by && (i.order_by = t.order_by, i.sort = t.sort === "desc" || t.sort === "asc" ? t.sort : "asc");
1376
- const e = {
1377
- method: "POST",
1378
- headers: {
1379
- Authorization: this.config.readKey,
1380
- "Content-Type": "application/json",
1381
- "X-Sc-User-Id": this.userId
1382
- },
1383
- body: JSON.stringify(i)
1384
- }, c = await fetch(this.baseSearchUrl, e);
1385
- if (!c.ok)
1386
- throw new Error(
1387
- `Error: ${c.statusText} (Status: ${c.status})`
1388
- );
1389
- const l = await c.json();
1390
- return (a = this.measureClient) == null || a.sendMeasureEvent("search_response_received", {
1391
- search_term: r,
1392
- number_of_documents: l.data.count
1393
- }), l;
1394
- } catch (i) {
1395
- throw console.error("Error parsing response:", i), i;
1199
+ function lazyInitializer(payload) {
1200
+ if (-1 === payload._status) {
1201
+ var ctor = payload._result;
1202
+ ctor = ctor();
1203
+ ctor.then(
1204
+ function (moduleObject) {
1205
+ if (0 === payload._status || -1 === payload._status)
1206
+ (payload._status = 1), (payload._result = moduleObject);
1207
+ },
1208
+ function (error) {
1209
+ if (0 === payload._status || -1 === payload._status)
1210
+ (payload._status = 2), (payload._result = error);
1396
1211
  }
1397
- });
1398
- this.measureClient = o, this.config = t, this.userId = r;
1399
- }
1400
- /**
1401
- * Getter for the base url used by the /search endpoint.
1402
- */
1403
- get baseSearchUrl() {
1404
- return `${this.config.endpointURL}/index/${this.config.index.join(",")}/search`;
1212
+ );
1213
+ -1 === payload._status && ((payload._status = 0), (payload._result = ctor));
1405
1214
  }
1215
+ if (1 === payload._status) return payload._result.default;
1216
+ throw payload._result;
1406
1217
  }
1407
- class ge {
1408
- constructor(t, r) {
1409
- h(this, "config");
1410
- h(this, "measureClient");
1411
- h(this, "searchClient");
1412
- h(this, "adClient");
1413
- h(this, "userId");
1414
- h(this, "requestTimeout");
1415
- /**
1416
- * Gets items from the SearchClient and the AdClient.
1417
- */
1418
- h(this, "getItems", (t, r, o) => {
1419
- const a = async () => {
1420
- (async () => {
1421
- var c, l;
1422
- const i = await ((c = this == null ? void 0 : this.searchClient) == null ? void 0 : c.getSearchResponse(t));
1423
- if (!i)
1424
- throw new Error("Search client was not initialized.");
1425
- const e = (l = i.data.hits || []) == null ? void 0 : l.map((u) => u.doc).filter((u) => !!u).map((u) => ({
1426
- type: "SearchDocument",
1427
- id: A(),
1428
- document: u
1429
- }));
1430
- r(i, e);
1431
- })(), (async () => {
1432
- if (this.adClient) {
1433
- const i = await this.adClient.getAdsForSearchParams(t);
1434
- o(i);
1435
- }
1436
- })();
1218
+ var reportGlobalError =
1219
+ "function" === typeof reportError
1220
+ ? reportError
1221
+ : function (error) {
1222
+ if (
1223
+ "object" === typeof window &&
1224
+ "function" === typeof window.ErrorEvent
1225
+ ) {
1226
+ var event = new window.ErrorEvent("error", {
1227
+ bubbles: !0,
1228
+ cancelable: !0,
1229
+ message:
1230
+ "object" === typeof error &&
1231
+ null !== error &&
1232
+ "string" === typeof error.message
1233
+ ? String(error.message)
1234
+ : String(error),
1235
+ error: error
1236
+ });
1237
+ if (!window.dispatchEvent(event)) return;
1238
+ } else if (
1239
+ "object" === typeof process &&
1240
+ "function" === typeof process.emit
1241
+ ) {
1242
+ process.emit("uncaughtException", error);
1243
+ return;
1244
+ }
1245
+ console.error(error);
1437
1246
  };
1438
- clearTimeout(this.requestTimeout), this.config.searchDebounceDelay ? this.requestTimeout = setTimeout(
1439
- a,
1440
- this.config.searchDebounceDelay
1441
- ) : a();
1247
+ function noop() {}
1248
+ react_production.Children = {
1249
+ map: mapChildren,
1250
+ forEach: function (children, forEachFunc, forEachContext) {
1251
+ mapChildren(
1252
+ children,
1253
+ function () {
1254
+ forEachFunc.apply(this, arguments);
1255
+ },
1256
+ forEachContext
1257
+ );
1258
+ },
1259
+ count: function (children) {
1260
+ var n = 0;
1261
+ mapChildren(children, function () {
1262
+ n++;
1442
1263
  });
1443
- if (!t.endpointURL || !t.index || !t.readKey)
1444
- throw new Error(
1445
- "Endpoint URL, Index value(s), and Read Key must be provided"
1264
+ return n;
1265
+ },
1266
+ toArray: function (children) {
1267
+ return (
1268
+ mapChildren(children, function (child) {
1269
+ return child;
1270
+ }) || []
1271
+ );
1272
+ },
1273
+ only: function (children) {
1274
+ if (!isValidElement(children))
1275
+ throw Error(
1276
+ "React.Children.only expected to receive a single React element child."
1446
1277
  );
1447
- this.config = {
1448
- ...t,
1449
- // Strips off the trailing '/' from an endpointURL if one is accidentally added
1450
- endpointURL: ce(t.endpointURL)
1451
- }, this.userId = "", this.initClients(this.config, r);
1278
+ return children;
1452
1279
  }
1453
- initClients(t, r) {
1454
- setTimeout(async () => {
1455
- let o = this.config.userId;
1456
- switch (o || (o = await $()), this.measureClient = new se(t, r, o), this.searchClient = new le(t, o, this.measureClient), t.adProvider) {
1457
- case "adMarketplace":
1458
- this.adClient = new oe(t);
1459
- break;
1460
- case "Nativo":
1461
- this.adClient = new ie(t);
1462
- break;
1463
- }
1464
- }, 300);
1280
+ };
1281
+ react_production.Component = Component;
1282
+ react_production.Fragment = REACT_FRAGMENT_TYPE;
1283
+ react_production.Profiler = REACT_PROFILER_TYPE;
1284
+ react_production.PureComponent = PureComponent;
1285
+ react_production.StrictMode = REACT_STRICT_MODE_TYPE;
1286
+ react_production.Suspense = REACT_SUSPENSE_TYPE;
1287
+ react_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =
1288
+ ReactSharedInternals;
1289
+ react_production.act = function () {
1290
+ throw Error("act(...) is not supported in production builds of React.");
1291
+ };
1292
+ react_production.cache = function (fn) {
1293
+ return function () {
1294
+ return fn.apply(null, arguments);
1295
+ };
1296
+ };
1297
+ react_production.cloneElement = function (element, config, children) {
1298
+ if (null === element || void 0 === element)
1299
+ throw Error(
1300
+ "The argument must be a React element, but you passed " + element + "."
1301
+ );
1302
+ var props = assign({}, element.props),
1303
+ key = element.key,
1304
+ owner = void 0;
1305
+ if (null != config)
1306
+ for (propName in (void 0 !== config.ref && (owner = void 0),
1307
+ void 0 !== config.key && (key = "" + config.key),
1308
+ config))
1309
+ !hasOwnProperty.call(config, propName) ||
1310
+ "key" === propName ||
1311
+ "__self" === propName ||
1312
+ "__source" === propName ||
1313
+ ("ref" === propName && void 0 === config.ref) ||
1314
+ (props[propName] = config[propName]);
1315
+ var propName = arguments.length - 2;
1316
+ if (1 === propName) props.children = children;
1317
+ else if (1 < propName) {
1318
+ for (var childArray = Array(propName), i = 0; i < propName; i++)
1319
+ childArray[i] = arguments[i + 2];
1320
+ props.children = childArray;
1321
+ }
1322
+ return ReactElement(element.type, key, void 0, void 0, owner, props);
1323
+ };
1324
+ react_production.createContext = function (defaultValue) {
1325
+ defaultValue = {
1326
+ $$typeof: REACT_CONTEXT_TYPE,
1327
+ _currentValue: defaultValue,
1328
+ _currentValue2: defaultValue,
1329
+ _threadCount: 0,
1330
+ Provider: null,
1331
+ Consumer: null
1332
+ };
1333
+ defaultValue.Provider = defaultValue;
1334
+ defaultValue.Consumer = {
1335
+ $$typeof: REACT_CONSUMER_TYPE,
1336
+ _context: defaultValue
1337
+ };
1338
+ return defaultValue;
1339
+ };
1340
+ react_production.createElement = function (type, config, children) {
1341
+ var propName,
1342
+ props = {},
1343
+ key = null;
1344
+ if (null != config)
1345
+ for (propName in (void 0 !== config.key && (key = "" + config.key), config))
1346
+ hasOwnProperty.call(config, propName) &&
1347
+ "key" !== propName &&
1348
+ "__self" !== propName &&
1349
+ "__source" !== propName &&
1350
+ (props[propName] = config[propName]);
1351
+ var childrenLength = arguments.length - 2;
1352
+ if (1 === childrenLength) props.children = children;
1353
+ else if (1 < childrenLength) {
1354
+ for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)
1355
+ childArray[i] = arguments[i + 2];
1356
+ props.children = childArray;
1357
+ }
1358
+ if (type && type.defaultProps)
1359
+ for (propName in ((childrenLength = type.defaultProps), childrenLength))
1360
+ void 0 === props[propName] &&
1361
+ (props[propName] = childrenLength[propName]);
1362
+ return ReactElement(type, key, void 0, void 0, null, props);
1363
+ };
1364
+ react_production.createRef = function () {
1365
+ return { current: null };
1366
+ };
1367
+ react_production.forwardRef = function (render) {
1368
+ return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
1369
+ };
1370
+ react_production.isValidElement = isValidElement;
1371
+ react_production.lazy = function (ctor) {
1372
+ return {
1373
+ $$typeof: REACT_LAZY_TYPE,
1374
+ _payload: { _status: -1, _result: ctor },
1375
+ _init: lazyInitializer
1376
+ };
1377
+ };
1378
+ react_production.memo = function (type, compare) {
1379
+ return {
1380
+ $$typeof: REACT_MEMO_TYPE,
1381
+ type: type,
1382
+ compare: void 0 === compare ? null : compare
1383
+ };
1384
+ };
1385
+ react_production.startTransition = function (scope) {
1386
+ var prevTransition = ReactSharedInternals.T,
1387
+ currentTransition = {};
1388
+ ReactSharedInternals.T = currentTransition;
1389
+ try {
1390
+ var returnValue = scope(),
1391
+ onStartTransitionFinish = ReactSharedInternals.S;
1392
+ null !== onStartTransitionFinish &&
1393
+ onStartTransitionFinish(currentTransition, returnValue);
1394
+ "object" === typeof returnValue &&
1395
+ null !== returnValue &&
1396
+ "function" === typeof returnValue.then &&
1397
+ returnValue.then(noop, reportGlobalError);
1398
+ } catch (error) {
1399
+ reportGlobalError(error);
1400
+ } finally {
1401
+ ReactSharedInternals.T = prevTransition;
1465
1402
  }
1403
+ };
1404
+ react_production.unstable_useCacheRefresh = function () {
1405
+ return ReactSharedInternals.H.useCacheRefresh();
1406
+ };
1407
+ react_production.use = function (usable) {
1408
+ return ReactSharedInternals.H.use(usable);
1409
+ };
1410
+ react_production.useActionState = function (action, initialState, permalink) {
1411
+ return ReactSharedInternals.H.useActionState(action, initialState, permalink);
1412
+ };
1413
+ react_production.useCallback = function (callback, deps) {
1414
+ return ReactSharedInternals.H.useCallback(callback, deps);
1415
+ };
1416
+ react_production.useContext = function (Context) {
1417
+ return ReactSharedInternals.H.useContext(Context);
1418
+ };
1419
+ react_production.useDebugValue = function () {};
1420
+ react_production.useDeferredValue = function (value, initialValue) {
1421
+ return ReactSharedInternals.H.useDeferredValue(value, initialValue);
1422
+ };
1423
+ react_production.useEffect = function (create, deps) {
1424
+ return ReactSharedInternals.H.useEffect(create, deps);
1425
+ };
1426
+ react_production.useId = function () {
1427
+ return ReactSharedInternals.H.useId();
1428
+ };
1429
+ react_production.useImperativeHandle = function (ref, create, deps) {
1430
+ return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);
1431
+ };
1432
+ react_production.useInsertionEffect = function (create, deps) {
1433
+ return ReactSharedInternals.H.useInsertionEffect(create, deps);
1434
+ };
1435
+ react_production.useLayoutEffect = function (create, deps) {
1436
+ return ReactSharedInternals.H.useLayoutEffect(create, deps);
1437
+ };
1438
+ react_production.useMemo = function (create, deps) {
1439
+ return ReactSharedInternals.H.useMemo(create, deps);
1440
+ };
1441
+ react_production.useOptimistic = function (passthrough, reducer) {
1442
+ return ReactSharedInternals.H.useOptimistic(passthrough, reducer);
1443
+ };
1444
+ react_production.useReducer = function (reducer, initialArg, init) {
1445
+ return ReactSharedInternals.H.useReducer(reducer, initialArg, init);
1446
+ };
1447
+ react_production.useRef = function (initialValue) {
1448
+ return ReactSharedInternals.H.useRef(initialValue);
1449
+ };
1450
+ react_production.useState = function (initialState) {
1451
+ return ReactSharedInternals.H.useState(initialState);
1452
+ };
1453
+ react_production.useSyncExternalStore = function (
1454
+ subscribe,
1455
+ getSnapshot,
1456
+ getServerSnapshot
1457
+ ) {
1458
+ return ReactSharedInternals.H.useSyncExternalStore(
1459
+ subscribe,
1460
+ getSnapshot,
1461
+ getServerSnapshot
1462
+ );
1463
+ };
1464
+ react_production.useTransition = function () {
1465
+ return ReactSharedInternals.H.useTransition();
1466
+ };
1467
+ react_production.version = "19.0.0";
1468
+
1469
+ {
1470
+ react.exports = react_production;
1466
1471
  }
1467
1472
 
1473
+ var React = react.exports;
1474
+ var vanilla = vanilla$1;
1475
+
1476
+ const identity = (arg) => arg;
1477
+ function useStore(api, selector = identity) {
1478
+ const slice = React.useSyncExternalStore(
1479
+ api.subscribe,
1480
+ () => selector(api.getState()),
1481
+ () => selector(api.getInitialState())
1482
+ );
1483
+ React.useDebugValue(slice);
1484
+ return slice;
1485
+ }
1486
+ const createImpl = (createState) => {
1487
+ const api = vanilla.createStore(createState);
1488
+ const useBoundStore = (selector) => useStore(api, selector);
1489
+ Object.assign(useBoundStore, api);
1490
+ return useBoundStore;
1491
+ };
1492
+ const create = (createState) => createState ? createImpl(createState) : createImpl;
1493
+
1494
+ react$1.create = create;
1495
+ react$1.useStore = useStore;
1496
+
1497
+ (function (exports) {
1498
+
1499
+ var vanilla = vanilla$1;
1500
+ var react = react$1;
1501
+
1502
+
1503
+
1504
+ Object.keys(vanilla).forEach(function (k) {
1505
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
1506
+ enumerable: true,
1507
+ get: function () { return vanilla[k]; }
1508
+ });
1509
+ });
1510
+ Object.keys(react).forEach(function (k) {
1511
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
1512
+ enumerable: true,
1513
+ get: function () { return react[k]; }
1514
+ });
1515
+ });
1516
+ }(zustand));
1517
+
1468
1518
  const initialSearchcraftStateValues = {
1469
1519
  adClientResponseItems: [],
1470
1520
  core: undefined,
1471
1521
  logger: undefined,
1472
1522
  facetPathsForIndexFields: {},
1473
1523
  isPopoverVisible: false,
1524
+ isSearchInProgress: false,
1474
1525
  searchTerm: '',
1475
1526
  rangeValueForIndexFields: {},
1476
1527
  searchMode: 'fuzzy',
@@ -1482,7 +1533,7 @@ const initialSearchcraftStateValues = {
1482
1533
  searchResultsPage: 1,
1483
1534
  sortType: 'asc',
1484
1535
  };
1485
- const useSearchcraftStore = zustand.create((set, get) => {
1536
+ const searchcraftStore = zustand.createStore((set, get) => {
1486
1537
  const functions = {
1487
1538
  addFacetPathsForIndexField: (data) => set((state) => ({
1488
1539
  facetPathsForIndexFields: {
@@ -1503,7 +1554,7 @@ const useSearchcraftStore = zustand.create((set, get) => {
1503
1554
  initialize: (searchcraftInstance, debug = false) => {
1504
1555
  const core = searchcraftInstance;
1505
1556
  const logger = debug
1506
- ? new me({ logLevel: _.DEBUG })
1557
+ ? new pe({ logLevel: F.DEBUG })
1507
1558
  : undefined;
1508
1559
  set({
1509
1560
  core,
@@ -1536,12 +1587,12 @@ const useSearchcraftStore = zustand.create((set, get) => {
1536
1587
  },
1537
1588
  search: async () => {
1538
1589
  const state = get();
1539
- state.logger?.log(_.INFO, `Starting search with search term: "${state.searchTerm}"`);
1590
+ state.logger?.log(F.INFO, `Starting search with search term: "${state.searchTerm}"`);
1540
1591
  if (!state.core) {
1541
1592
  throw new Error('Searchcraft instance is not initialized.');
1542
1593
  }
1543
1594
  if (!state.searchTerm.trim()) {
1544
- state.logger?.log(_.INFO, 'No search request was made: search term was empty.');
1595
+ state.logger?.log(F.INFO, 'No search request was made: search term was empty.');
1545
1596
  set({
1546
1597
  searchClientResponseItems: [],
1547
1598
  searchResultsCount: 0,
@@ -1550,10 +1601,12 @@ const useSearchcraftStore = zustand.create((set, get) => {
1550
1601
  });
1551
1602
  return;
1552
1603
  }
1604
+ set({ isSearchInProgress: true });
1553
1605
  const handleSearchcraftResponse = (response, items) => {
1554
1606
  const facetsFromResponse = response.data.facets;
1555
1607
  set((state) => {
1556
1608
  return {
1609
+ isSearchInProgress: false,
1557
1610
  searchClientResponseItems: items,
1558
1611
  searchResponseTimeTaken: response.data.time_taken || 0,
1559
1612
  searchResultsPage:
@@ -1567,8 +1620,8 @@ const useSearchcraftStore = zustand.create((set, get) => {
1567
1620
  if (facetsFromResponse) {
1568
1621
  set({ searchResponseFacetPrime: facetsFromResponse });
1569
1622
  }
1570
- state.logger?.log(_.DEBUG, `Search results: ${JSON.stringify(items)}`);
1571
- state.logger?.log(_.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);
1623
+ state.logger?.log(F.DEBUG, `Search results: ${JSON.stringify(items)}`);
1624
+ state.logger?.log(F.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);
1572
1625
  };
1573
1626
  const handleAdResponse = (adClientResponseItems) => {
1574
1627
  set({ adClientResponseItems });
@@ -1593,6 +1646,12 @@ const useSearchcraftStore = zustand.create((set, get) => {
1593
1646
  setSearchMode: (mode) => set({ searchMode: mode }),
1594
1647
  setSortType: (type) => set({ sortType: type }),
1595
1648
  setSearchTerm: (searchTerm) => {
1649
+ const { core } = get();
1650
+ if (core && searchTerm.length === 0) {
1651
+ core.emitEvent('input_cleared', {
1652
+ name: 'input_cleared',
1653
+ });
1654
+ }
1596
1655
  /**
1597
1656
  * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.
1598
1657
  */
@@ -1622,7 +1681,6 @@ const useSearchcraftStore = zustand.create((set, get) => {
1622
1681
  return stateObject;
1623
1682
  });
1624
1683
 
1625
- exports.ge = ge;
1626
- exports.useSearchcraftStore = useSearchcraftStore;
1684
+ export { ge as g, searchcraftStore as s };
1627
1685
 
1628
- //# sourceMappingURL=SearchcraftStore-75fac5e0.js.map
1686
+ //# sourceMappingURL=p-6d8b0ead.js.map