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