@searchcraft/javascript-sdk 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/cjs/{index-b76bece0.js → index-b3b77ea2.js} +2 -1
  2. package/dist/cjs/index-b3b77ea2.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +3 -3
  6. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -1
  7. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +13 -12
  8. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -1
  9. package/dist/cjs/searchcraft-button_3.cjs.entry.js +63 -0
  10. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +1 -0
  11. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +140 -14
  12. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +7 -7
  14. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -1
  15. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +227 -0
  16. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +1 -0
  17. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
  18. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +26 -0
  19. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +1 -0
  20. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +197 -3
  21. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +1 -1
  22. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js +32 -0
  23. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js.map +1 -0
  24. package/dist/cjs/searchcraft-results-info.cjs.entry.js +5 -5
  25. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -1
  26. package/dist/cjs/{store-943576b0.js → store-d7ebcf7a.js} +280 -267
  27. package/dist/cjs/store-d7ebcf7a.js.map +1 -0
  28. package/dist/cjs/styles-7b2d06f2.js +28 -0
  29. package/dist/cjs/styles-7b2d06f2.js.map +1 -0
  30. package/dist/cjs/units-fe4d8083.js +88 -0
  31. package/dist/cjs/units-fe4d8083.js.map +1 -0
  32. package/dist/collection/collection-manifest.json +2 -1
  33. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +21 -16
  34. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  35. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +54 -4
  36. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +45 -13
  37. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  38. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +52 -2
  39. package/dist/collection/components/searchcraft-button/searchcraft-button.js +11 -6
  40. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  41. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +52 -2
  42. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +11 -2
  43. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  44. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +52 -2
  45. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +23 -4
  46. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -1
  47. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +52 -2
  48. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +13 -4
  49. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -1
  50. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +52 -2
  51. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +66 -49
  52. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +1 -1
  53. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.module.css +56 -6
  54. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +12 -6
  55. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  56. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +52 -2
  57. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +25 -0
  58. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js.map +1 -0
  59. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +278 -5
  60. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +1 -1
  61. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.module.css +322 -0
  62. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +139 -0
  63. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +1 -0
  64. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.module.css +209 -0
  65. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +47 -6
  66. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +1 -1
  67. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +11 -1
  68. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  69. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +53 -3
  70. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +13 -8
  71. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  72. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +52 -2
  73. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +9 -5
  74. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  75. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +52 -2
  76. package/dist/collection/index.js +1 -1
  77. package/dist/collection/index.js.map +1 -1
  78. package/dist/collection/provider/store.js +14 -15
  79. package/dist/collection/provider/store.js.map +1 -1
  80. package/dist/collection/types/_shared.types.js +2 -0
  81. package/dist/collection/types/_shared.types.js.map +1 -0
  82. package/dist/collection/types/index.js +1 -0
  83. package/dist/collection/types/index.js.map +1 -1
  84. package/dist/collection/types/searchcraft-base-search-results.types.js.map +1 -1
  85. package/dist/collection/types/searchcraft-popover-form.types.js.map +1 -1
  86. package/dist/collection/utils/{utils.js → facets.js} +7 -105
  87. package/dist/collection/utils/facets.js.map +1 -0
  88. package/dist/collection/utils/index.js +4 -0
  89. package/dist/collection/utils/index.js.map +1 -0
  90. package/dist/collection/utils/styles.js +22 -0
  91. package/dist/collection/utils/styles.js.map +1 -0
  92. package/dist/collection/utils/units.js +83 -0
  93. package/dist/collection/utils/units.js.map +1 -0
  94. package/dist/components/index.js +6 -4
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/p-02a16e53.js +240 -0
  97. package/dist/components/p-02a16e53.js.map +1 -0
  98. package/dist/components/{p-cbdcf6df.js → p-04c46179.js} +3 -3
  99. package/dist/components/p-04c46179.js.map +1 -0
  100. package/dist/components/p-0e38a723.js +99 -0
  101. package/dist/components/p-0e38a723.js.map +1 -0
  102. package/dist/components/p-4c45ef80.js +67 -0
  103. package/dist/components/p-4c45ef80.js.map +1 -0
  104. package/dist/components/p-755f491b.js +84 -0
  105. package/dist/components/p-755f491b.js.map +1 -0
  106. package/dist/components/p-85765b81.js +56 -0
  107. package/dist/components/p-85765b81.js.map +1 -0
  108. package/dist/components/p-953f4238.js +35 -0
  109. package/dist/components/p-953f4238.js.map +1 -0
  110. package/dist/components/p-a248ad69.js +276 -0
  111. package/dist/components/p-a248ad69.js.map +1 -0
  112. package/dist/components/p-a9bd1872.js +38 -0
  113. package/dist/components/p-a9bd1872.js.map +1 -0
  114. package/dist/components/p-cf4ced92.js +49 -0
  115. package/dist/components/p-cf4ced92.js.map +1 -0
  116. package/dist/components/{p-ad4ebde0.js → p-d6a88eed.js} +280 -267
  117. package/dist/components/p-d6a88eed.js.map +1 -0
  118. package/dist/components/p-d9551738.js +25 -0
  119. package/dist/components/p-d9551738.js.map +1 -0
  120. package/dist/components/p-f9d778b3.js +48 -0
  121. package/dist/components/p-f9d778b3.js.map +1 -0
  122. package/dist/components/searchcraft-base-search-result.js +1 -1
  123. package/dist/components/searchcraft-base-search-results.js +6 -5
  124. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  125. package/dist/components/searchcraft-button.js +1 -1
  126. package/dist/components/searchcraft-error-message.js +1 -1
  127. package/dist/components/searchcraft-facet-list.js +1 -1
  128. package/dist/components/searchcraft-filter-panel.js +8 -8
  129. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  130. package/dist/components/searchcraft-input-form.js +1 -241
  131. package/dist/components/searchcraft-input-form.js.map +1 -1
  132. package/dist/components/searchcraft-input-label.js +1 -1
  133. package/dist/components/searchcraft-popover-button.d.ts +11 -0
  134. package/dist/components/searchcraft-popover-button.js +39 -0
  135. package/dist/components/searchcraft-popover-button.js.map +1 -0
  136. package/dist/components/searchcraft-popover-form.js +245 -5
  137. package/dist/components/searchcraft-popover-form.js.map +1 -1
  138. package/dist/components/searchcraft-popover-list-item.d.ts +11 -0
  139. package/dist/components/searchcraft-popover-list-item.js +8 -0
  140. package/dist/components/searchcraft-popover-list-item.js.map +1 -0
  141. package/dist/components/searchcraft-popover-list-view.js +1 -1
  142. package/dist/components/searchcraft-results-info.js +3 -3
  143. package/dist/components/searchcraft-results-info.js.map +1 -1
  144. package/dist/components/searchcraft-slider.js +1 -1
  145. package/dist/components/searchcraft-toggle-button.js +1 -1
  146. package/dist/esm/{index-be042742.js → index-11551663.js} +2 -2
  147. package/dist/esm/index-11551663.js.map +1 -0
  148. package/dist/esm/index.js +2 -2
  149. package/dist/esm/loader.js +3 -3
  150. package/dist/esm/searchcraft-base-search-result.entry.js +3 -3
  151. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -1
  152. package/dist/esm/searchcraft-base-search-results.entry.js +5 -4
  153. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -1
  154. package/dist/esm/searchcraft-button_3.entry.js +57 -0
  155. package/dist/esm/searchcraft-button_3.entry.js.map +1 -0
  156. package/dist/esm/searchcraft-facet-list_3.entry.js +137 -11
  157. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -1
  158. package/dist/esm/searchcraft-filter-panel.entry.js +6 -6
  159. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -1
  160. package/dist/esm/searchcraft-input-form_2.entry.js +222 -0
  161. package/dist/esm/searchcraft-input-form_2.entry.js.map +1 -0
  162. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  163. package/dist/esm/searchcraft-popover-button.entry.js +22 -0
  164. package/dist/esm/searchcraft-popover-button.entry.js.map +1 -0
  165. package/dist/esm/searchcraft-popover-form.entry.js +197 -3
  166. package/dist/esm/searchcraft-popover-form.entry.js.map +1 -1
  167. package/dist/esm/searchcraft-popover-list-item.entry.js +28 -0
  168. package/dist/esm/searchcraft-popover-list-item.entry.js.map +1 -0
  169. package/dist/esm/searchcraft-results-info.entry.js +4 -4
  170. package/dist/esm/searchcraft-results-info.entry.js.map +1 -1
  171. package/dist/esm/{store-eb4269d6.js → store-1058f7b0.js} +280 -267
  172. package/dist/esm/store-1058f7b0.js.map +1 -0
  173. package/dist/esm/styles-961644ef.js +25 -0
  174. package/dist/esm/styles-961644ef.js.map +1 -0
  175. package/dist/esm/units-b6eba560.js +84 -0
  176. package/dist/esm/units-b6eba560.js.map +1 -0
  177. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  178. package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js +2 -0
  179. package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js.map +1 -0
  180. package/dist/searchcraft-javascript-sdk/p-7049b93d.entry.js +2 -0
  181. package/dist/searchcraft-javascript-sdk/p-7049b93d.entry.js.map +1 -0
  182. package/dist/searchcraft-javascript-sdk/p-755f491b.js +2 -0
  183. package/dist/searchcraft-javascript-sdk/p-755f491b.js.map +1 -0
  184. package/dist/searchcraft-javascript-sdk/p-8e539d62.entry.js +2 -0
  185. package/dist/searchcraft-javascript-sdk/p-8e539d62.entry.js.map +1 -0
  186. package/dist/searchcraft-javascript-sdk/p-98640a6a.entry.js +2 -0
  187. package/dist/searchcraft-javascript-sdk/p-98640a6a.entry.js.map +1 -0
  188. package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js +2 -0
  189. package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js.map +1 -0
  190. package/dist/searchcraft-javascript-sdk/p-b8bd53ce.entry.js +2 -0
  191. package/dist/searchcraft-javascript-sdk/p-b8bd53ce.entry.js.map +1 -0
  192. package/dist/searchcraft-javascript-sdk/p-c27a3673.entry.js +2 -0
  193. package/dist/searchcraft-javascript-sdk/p-c27a3673.entry.js.map +1 -0
  194. package/dist/searchcraft-javascript-sdk/p-cd852b84.entry.js +2 -0
  195. package/dist/searchcraft-javascript-sdk/p-cd852b84.entry.js.map +1 -0
  196. package/dist/searchcraft-javascript-sdk/p-d6a88eed.js +11 -0
  197. package/dist/searchcraft-javascript-sdk/p-d6a88eed.js.map +1 -0
  198. package/dist/searchcraft-javascript-sdk/p-d9551738.js +2 -0
  199. package/dist/searchcraft-javascript-sdk/p-d9551738.js.map +1 -0
  200. package/dist/searchcraft-javascript-sdk/p-e042deb9.entry.js +2 -0
  201. package/dist/searchcraft-javascript-sdk/p-e042deb9.entry.js.map +1 -0
  202. package/dist/searchcraft-javascript-sdk/{p-d7d0b88c.js → p-e0be53df.js} +2 -2
  203. package/dist/searchcraft-javascript-sdk/{p-d7d0b88c.js.map → p-e0be53df.js.map} +1 -1
  204. package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js +2 -0
  205. package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js.map +1 -0
  206. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  207. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  208. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +53 -0
  209. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +68 -0
  210. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +20 -0
  211. package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +12 -0
  212. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +25 -0
  213. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +12 -0
  214. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +37 -13
  215. package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +13 -1
  216. package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +7 -0
  217. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +97 -1
  218. package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +22 -0
  219. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +19 -3
  220. package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +10 -0
  221. package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +18 -0
  222. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +11 -3
  223. package/dist/types/components.d.ts +1023 -30
  224. package/dist/types/index.d.ts +1 -1
  225. package/dist/types/provider/store.d.ts +4 -2
  226. package/dist/types/types/_shared.types.d.ts +45 -0
  227. package/dist/types/types/index.d.ts +1 -0
  228. package/dist/types/types/searchcraft-base-search-results.types.d.ts +1 -8
  229. package/dist/types/types/searchcraft-popover-form.types.d.ts +2 -1
  230. package/dist/types/utils/facets.d.ts +6 -0
  231. package/dist/types/utils/index.d.ts +3 -0
  232. package/dist/types/utils/styles.d.ts +2 -0
  233. package/dist/types/utils/{utils.d.ts → units.d.ts} +12 -19
  234. package/package.json +11 -8
  235. package/dist/cjs/index-b76bece0.js.map +0 -1
  236. package/dist/cjs/searchcraft-button_2.cjs.entry.js +0 -51
  237. package/dist/cjs/searchcraft-button_2.cjs.entry.js.map +0 -1
  238. package/dist/cjs/searchcraft-error-message.cjs.entry.js +0 -23
  239. package/dist/cjs/searchcraft-error-message.cjs.entry.js.map +0 -1
  240. package/dist/cjs/searchcraft-input-form.cjs.entry.js +0 -202
  241. package/dist/cjs/searchcraft-input-form.cjs.entry.js.map +0 -1
  242. package/dist/cjs/searchcraft-popover-list-view.cjs.entry.js +0 -26
  243. package/dist/cjs/searchcraft-popover-list-view.cjs.entry.js.map +0 -1
  244. package/dist/cjs/searchcraft-popover-result.cjs.entry.js +0 -25
  245. package/dist/cjs/searchcraft-popover-result.cjs.entry.js.map +0 -1
  246. package/dist/cjs/store-943576b0.js.map +0 -1
  247. package/dist/cjs/utils-a17279a2.js +0 -226
  248. package/dist/cjs/utils-a17279a2.js.map +0 -1
  249. package/dist/collection/components/searchcraft-popover-result/searchcraft-popover-result.js +0 -21
  250. package/dist/collection/components/searchcraft-popover-result/searchcraft-popover-result.js.map +0 -1
  251. package/dist/collection/utils/utils.js.map +0 -1
  252. package/dist/components/p-16983367.js +0 -35
  253. package/dist/components/p-16983367.js.map +0 -1
  254. package/dist/components/p-42bfef5f.js +0 -151
  255. package/dist/components/p-42bfef5f.js.map +0 -1
  256. package/dist/components/p-5380505b.js +0 -99
  257. package/dist/components/p-5380505b.js.map +0 -1
  258. package/dist/components/p-672354c0.js +0 -38
  259. package/dist/components/p-672354c0.js.map +0 -1
  260. package/dist/components/p-9cb3d38b.js +0 -48
  261. package/dist/components/p-9cb3d38b.js.map +0 -1
  262. package/dist/components/p-a23d2994.js +0 -67
  263. package/dist/components/p-a23d2994.js.map +0 -1
  264. package/dist/components/p-ad4ebde0.js.map +0 -1
  265. package/dist/components/p-bd5fede3.js +0 -41
  266. package/dist/components/p-bd5fede3.js.map +0 -1
  267. package/dist/components/p-cbdcf6df.js.map +0 -1
  268. package/dist/components/p-f308d05d.js +0 -218
  269. package/dist/components/p-f308d05d.js.map +0 -1
  270. package/dist/components/searchcraft-popover-result.d.ts +0 -11
  271. package/dist/components/searchcraft-popover-result.js +0 -38
  272. package/dist/components/searchcraft-popover-result.js.map +0 -1
  273. package/dist/esm/index-be042742.js.map +0 -1
  274. package/dist/esm/searchcraft-button_2.entry.js +0 -46
  275. package/dist/esm/searchcraft-button_2.entry.js.map +0 -1
  276. package/dist/esm/searchcraft-error-message.entry.js +0 -19
  277. package/dist/esm/searchcraft-error-message.entry.js.map +0 -1
  278. package/dist/esm/searchcraft-input-form.entry.js +0 -198
  279. package/dist/esm/searchcraft-input-form.entry.js.map +0 -1
  280. package/dist/esm/searchcraft-popover-list-view.entry.js +0 -22
  281. package/dist/esm/searchcraft-popover-list-view.entry.js.map +0 -1
  282. package/dist/esm/searchcraft-popover-result.entry.js +0 -21
  283. package/dist/esm/searchcraft-popover-result.entry.js.map +0 -1
  284. package/dist/esm/store-eb4269d6.js.map +0 -1
  285. package/dist/esm/utils-c2ce411f.js +0 -218
  286. package/dist/esm/utils-c2ce411f.js.map +0 -1
  287. package/dist/searchcraft-javascript-sdk/p-04300412.entry.js +0 -2
  288. package/dist/searchcraft-javascript-sdk/p-04300412.entry.js.map +0 -1
  289. package/dist/searchcraft-javascript-sdk/p-09c7fbef.entry.js +0 -2
  290. package/dist/searchcraft-javascript-sdk/p-09c7fbef.entry.js.map +0 -1
  291. package/dist/searchcraft-javascript-sdk/p-3e4a28e7.entry.js +0 -2
  292. package/dist/searchcraft-javascript-sdk/p-3e4a28e7.entry.js.map +0 -1
  293. package/dist/searchcraft-javascript-sdk/p-4d3682a8.entry.js +0 -2
  294. package/dist/searchcraft-javascript-sdk/p-4d3682a8.entry.js.map +0 -1
  295. package/dist/searchcraft-javascript-sdk/p-61cf9d6c.entry.js +0 -2
  296. package/dist/searchcraft-javascript-sdk/p-61cf9d6c.entry.js.map +0 -1
  297. package/dist/searchcraft-javascript-sdk/p-93b92b65.entry.js +0 -2
  298. package/dist/searchcraft-javascript-sdk/p-93b92b65.entry.js.map +0 -1
  299. package/dist/searchcraft-javascript-sdk/p-a7a7b4e0.entry.js +0 -2
  300. package/dist/searchcraft-javascript-sdk/p-a7a7b4e0.entry.js.map +0 -1
  301. package/dist/searchcraft-javascript-sdk/p-a810aeae.entry.js +0 -2
  302. package/dist/searchcraft-javascript-sdk/p-a810aeae.entry.js.map +0 -1
  303. package/dist/searchcraft-javascript-sdk/p-aa155194.entry.js +0 -2
  304. package/dist/searchcraft-javascript-sdk/p-aa155194.entry.js.map +0 -1
  305. package/dist/searchcraft-javascript-sdk/p-ad4ebde0.js +0 -11
  306. package/dist/searchcraft-javascript-sdk/p-ad4ebde0.js.map +0 -1
  307. package/dist/searchcraft-javascript-sdk/p-adadf38a.entry.js +0 -2
  308. package/dist/searchcraft-javascript-sdk/p-adadf38a.entry.js.map +0 -1
  309. package/dist/searchcraft-javascript-sdk/p-d57eba31.entry.js +0 -2
  310. package/dist/searchcraft-javascript-sdk/p-d57eba31.entry.js.map +0 -1
  311. package/dist/searchcraft-javascript-sdk/p-f308d05d.js +0 -2
  312. package/dist/searchcraft-javascript-sdk/p-f308d05d.js.map +0 -1
  313. package/dist/types/components/searchcraft-popover-result/searchcraft-popover-result.d.ts +0 -6
  314. /package/dist/collection/components/{searchcraft-popover-result/searchcraft-popover-result.module.css → searchcraft-popover-button/searchcraft-popover-button.module.css} +0 -0
@@ -1,13 +1,34 @@
1
1
  import { h } from "@stencil/core";
2
+ import { getDocumentValueFromSearchResultMapping } from "../../utils/index";
3
+ /**
4
+ * This web component is designed to display a list of results within a popover interface.
5
+ * It is consumed within the `searchcraft-popover-form` component.
6
+ *
7
+ * ## Usage
8
+ * ```html
9
+ * <!-- index.html -->
10
+ * <searchcraft-popover-list-view />
11
+ * ```
12
+ */
2
13
  export class SearchcraftPopoverListView {
3
14
  constructor() {
4
15
  this.popoverResultMappings = undefined;
16
+ this.documents = undefined;
17
+ }
18
+ renderDocument(document, index) {
19
+ /**
20
+ * Index field values -> Result container props mappings.
21
+ */
22
+ const titleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.title);
23
+ const subtitleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.subtitle);
24
+ const href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.href);
25
+ const imageSource = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.imageSource);
26
+ const imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.imageAlt);
27
+ return (h("searchcraft-popover-list-item", { key: `${document.document_id}-${index}`, "title-content": titleContent, "subtitle-content": subtitleContent, "image-src": imageSource, "image-alt": imageAlt, href: href, "document-position": index }));
5
28
  }
6
- componentDidLoad() { }
7
- connectedCallback() { }
8
- disconnectedCallback() { }
9
29
  render() {
10
- return (h("div", { key: 'a35800c35a9c5104e1a519452295e41a020b7efc', style: { display: 'flex' } }, h("p", { key: '5d158cefd96951528e0690d2299d8847e1777d35' }, "[popover list view]")));
30
+ var _a;
31
+ return (h("div", { key: '6e9017370d7079412d6d31fb439be599d689c9c2', class: 'searchcraft-popover-list-view' }, (_a = this.documents) === null || _a === void 0 ? void 0 : _a.map((document, index) => this.renderDocument(document, index))));
11
32
  }
12
33
  static get is() { return "searchcraft-popover-list-view"; }
13
34
  static get originalStyleUrls() {
@@ -27,7 +48,7 @@ export class SearchcraftPopoverListView {
27
48
  "mutable": false,
28
49
  "complexType": {
29
50
  "original": "PopoverResultMappings | undefined",
30
- "resolved": "{ title?: SearchResultMapping; subtitle?: SearchResultMapping; imageSource?: SearchResultMapping; href?: SearchResultMapping; }",
51
+ "resolved": "{ title?: SearchResultMapping; subtitle?: SearchResultMapping; imageSource?: SearchResultMapping; imageAlt?: SearchResultMapping; href?: SearchResultMapping; }",
31
52
  "references": {
32
53
  "PopoverResultMappings": {
33
54
  "location": "import",
@@ -40,7 +61,27 @@ export class SearchcraftPopoverListView {
40
61
  "optional": false,
41
62
  "docs": {
42
63
  "tags": [],
43
- "text": ""
64
+ "text": "The mappings that define how the data in the documents are mapped to the\nlist-view-item elements."
65
+ }
66
+ },
67
+ "documents": {
68
+ "type": "unknown",
69
+ "mutable": false,
70
+ "complexType": {
71
+ "original": "Record<string, unknown>[] | undefined",
72
+ "resolved": "Record<string, unknown>[]",
73
+ "references": {
74
+ "Record": {
75
+ "location": "global",
76
+ "id": "global::Record"
77
+ }
78
+ }
79
+ },
80
+ "required": false,
81
+ "optional": false,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": "The documents to render in the list view."
44
85
  }
45
86
  }
46
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"searchcraft-popover-list-view.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-popover-list-view/searchcraft-popover-list-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQnD,MAAM,OAAO,0BAA0B;;;;IAGrC,gBAAgB,KAAI,CAAC;IAErB,iBAAiB,KAAI,CAAC;IAEtB,oBAAoB,KAAI,CAAC;IAEzB,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;YAC7B,kFAA0B,CACtB,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\nimport type { PopoverResultMappings } from 'types';\n\n@Component({\n tag: 'searchcraft-popover-list-view',\n styleUrl: 'searchcraft-popover-list-view.module.scss',\n shadow: false,\n})\nexport class SearchcraftPopoverListView {\n @Prop() popoverResultMappings: PopoverResultMappings | undefined;\n\n componentDidLoad() {}\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n render() {\n return (\n <div style={{ display: 'flex' }}>\n <p>[popover list view]</p>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"searchcraft-popover-list-view.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-popover-list-view/searchcraft-popover-list-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,uCAAuC,EAAE,MAAM,QAAQ,CAAC;AAGjE;;;;;;;;;GASG;AAMH,MAAM,OAAO,0BAA0B;;;;;IAWrC,cAAc,CAAC,QAAiC,EAAE,KAAa;QAC7D;;WAEG;QACH,MAAM,YAAY,GAAG,uCAAuC,CAC1D,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAAC,KAAK,CACjC,CAAC;QACF,MAAM,eAAe,GAAG,uCAAuC,CAC7D,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CACpC,CAAC;QACF,MAAM,IAAI,GAAG,uCAAuC,CAClD,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAChC,CAAC;QACF,MAAM,WAAW,GAAG,uCAAuC,CACzD,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAAC,WAAW,CACvC,CAAC;QACF,MAAM,QAAQ,GAAG,uCAAuC,CACtD,QAAQ,EACR,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CACpC,CAAC;QAEF,OAAO,CACL,qCACE,GAAG,EAAE,GAAG,QAAQ,CAAC,WAAW,IAAI,KAAK,EAAE,mBACxB,YAAY,sBACT,eAAe,eACtB,WAAW,eACX,QAAQ,EACnB,IAAI,EAAE,IAAI,uBACS,KAAK,GACxB,CACH,CAAC;IACJ,CAAC;IAED,MAAM;;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,+BAA+B,IACvC,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CACrC,CACG,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\nimport { getDocumentValueFromSearchResultMapping } from '@utils';\nimport type { PopoverResultMappings } from 'types';\n\n/**\n * This web component is designed to display a list of results within a popover interface.\n * It is consumed within the `searchcraft-popover-form` component.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-popover-list-view />\n * ```\n */\n@Component({\n tag: 'searchcraft-popover-list-view',\n styleUrl: 'searchcraft-popover-list-view.module.scss',\n shadow: false,\n})\nexport class SearchcraftPopoverListView {\n /**\n * The mappings that define how the data in the documents are mapped to the\n * list-view-item elements.\n */\n @Prop() popoverResultMappings: PopoverResultMappings | undefined;\n /**\n * The documents to render in the list view.\n */\n @Prop() documents: Record<string, unknown>[] | undefined;\n\n renderDocument(document: Record<string, unknown>, index: number) {\n /**\n * Index field values -> Result container props mappings.\n */\n const titleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings.title,\n );\n const subtitleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings.subtitle,\n );\n const href = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings.href,\n );\n const imageSource = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings.imageSource,\n );\n const imageAlt = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings.imageAlt,\n );\n\n return (\n <searchcraft-popover-list-item\n key={`${document.document_id}-${index}`}\n title-content={titleContent}\n subtitle-content={subtitleContent}\n image-src={imageSource}\n image-alt={imageAlt}\n href={href}\n document-position={index}\n />\n );\n }\n\n render() {\n return (\n <div class='searchcraft-popover-list-view'>\n {this.documents?.map((document, index) =>\n this.renderDocument(document, index),\n )}\n </div>\n );\n }\n}\n"]}
@@ -1,6 +1,16 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { useSearchcraftStore } from "../../provider/store";
3
- import { formatNumberWithCommas } from "../../utils/utils";
3
+ import { formatNumberWithCommas } from "../../utils/index";
4
+ /**
5
+ * This web component is designed to display the number of results returned from a search query.
6
+ * It provides users with real-time feedback on the scale of the results, such as the total number of items found.
7
+ *
8
+ * ## Usage
9
+ * ```html
10
+ * <!-- index.html -->
11
+ * <searchcraft-results-info />
12
+ * ```
13
+ */
4
14
  export class SearchcraftResultsInfo {
5
15
  constructor() {
6
16
  this.isRequesting = false;
@@ -1 +1 @@
1
- {"version":3,"file":"searchcraft-results-info.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-results-info/searchcraft-results-info.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAOtD,MAAM,OAAO,sBAAsB;;4BACT,KAAK;4BACL,CAAC;4BACD,EAAE;qBACT,EAAE;;IAInB,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;;YACzD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,IAAI,0CAAE,KAAK,KAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,GAAG,CAClB,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,IAAI,0CAAE,UAAU,KAAI,CAAC,CAAC,GAAG,IAAI,CACpD,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,OAAO,CACL,WAAK,KAAK,EAAC,oCAAoC;YAC7C,SAAG,KAAK,EAAC,kCAAkC;gBACxC,gBAAgB;;gBAAoB,IAAI,CAAC,YAAY;qBACpD,CACA,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, State } from '@stencil/core';\n\nimport { useSearchcraftStore } from '@provider/store';\n\nimport { formatNumberWithCommas } from '@utils/utils';\n\n@Component({\n tag: 'searchcraft-results-info',\n styleUrl: 'searchcraft-results-info.module.scss',\n shadow: false,\n})\nexport class SearchcraftResultsInfo {\n @State() isRequesting = false;\n @State() resultsCount = 0;\n @State() responseTime = '';\n @State() query = '';\n\n unsubscribe: () => void;\n\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.isRequesting = state.isRequesting;\n this.resultsCount = state.searchResults?.data?.count || 0;\n this.responseTime = (\n (state.searchResults?.data?.time_taken || 0) * 1000\n ).toFixed(2);\n this.query = state.query || '';\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n render() {\n if (!this.query || this.resultsCount === 0) {\n return null;\n }\n const formattedResults = formatNumberWithCommas(this.resultsCount);\n return (\n <div class='searchcraft-results-info-container'>\n <p class='searchcraft-results-info-content'>\n {formattedResults} results found in {this.responseTime}ms\n </p>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"searchcraft-results-info.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-results-info/searchcraft-results-info.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAEhD;;;;;;;;;GASG;AAMH,MAAM,OAAO,sBAAsB;;4BACT,KAAK;4BACL,CAAC;4BACD,EAAE;qBACT,EAAE;;IAInB,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;;YACzD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,IAAI,0CAAE,KAAK,KAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,GAAG,CAClB,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,IAAI,0CAAE,UAAU,KAAI,CAAC,CAAC,GAAG,IAAI,CACpD,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,OAAO,CACL,WAAK,KAAK,EAAC,oCAAoC;YAC7C,SAAG,KAAK,EAAC,kCAAkC;gBACxC,gBAAgB;;gBAAoB,IAAI,CAAC,YAAY;qBACpD,CACA,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, State } from '@stencil/core';\n\nimport { useSearchcraftStore } from '@provider/store';\n\nimport { formatNumberWithCommas } from '@utils';\n\n/**\n * This web component is designed to display the number of results returned from a search query.\n * It provides users with real-time feedback on the scale of the results, such as the total number of items found.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-results-info />\n * ```\n */\n@Component({\n tag: 'searchcraft-results-info',\n styleUrl: 'searchcraft-results-info.module.scss',\n shadow: false,\n})\nexport class SearchcraftResultsInfo {\n @State() isRequesting = false;\n @State() resultsCount = 0;\n @State() responseTime = '';\n @State() query = '';\n\n unsubscribe: () => void;\n\n connectedCallback() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.isRequesting = state.isRequesting;\n this.resultsCount = state.searchResults?.data?.count || 0;\n this.responseTime = (\n (state.searchResults?.data?.time_taken || 0) * 1000\n ).toFixed(2);\n this.query = state.query || '';\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n render() {\n if (!this.query || this.resultsCount === 0) {\n return null;\n }\n const formattedResults = formatNumberWithCommas(this.resultsCount);\n return (\n <div class='searchcraft-results-info-container'>\n <p class='searchcraft-results-info-content'>\n {formattedResults} results found in {this.responseTime}ms\n </p>\n </div>\n );\n }\n}\n"]}
@@ -1,12 +1,53 @@
1
+ /** Appearance & Layout */
1
2
  :root {
2
- /** Appearance & Layout */
3
- --sc-spinner-size: 20px;
3
+ /**
4
+ * Border radius of the input form element.
5
+ */
4
6
  --sc-input-border-radius: 8px;
7
+ /**
8
+ * Icon size of the "magnifying glass" icon rendered in the input form.
9
+ */
5
10
  --sc-input-search-icon-size: 20px;
11
+ /**
12
+ * Icon size of the `x` button rendered in the input form.
13
+ */
6
14
  --sc-input-clear-icon-size: 20px;
15
+ /**
16
+ * Padding on the left side of the input form.
17
+ */
7
18
  --sc-input-padding-left: 44px;
19
+ /**
20
+ * Padding on the right side of the input form.
21
+ */
8
22
  --sc-input-padding-right: 44px;
23
+ /**
24
+ * Border radius applied to result images.
25
+ */
9
26
  --sc-image-border-radius: 8px;
27
+ /**
28
+ * Border radius applied to popover form containers.
29
+ */
30
+ --sc-popover-form-border-radius: 8px;
31
+ /**
32
+ * Height of the list view/results container portion of the popover form.
33
+ */
34
+ --sc-popover-list-view-height: 400px;
35
+ /**
36
+ * Size of images of list view items in the popoer list view.
37
+ */
38
+ --sc-popover-list-item-image-size: 60px;
39
+ /**
40
+ * Horizontal padding of popover list items.
41
+ */
42
+ --sc-popover-list-item-padding-horizontal: 8px;
43
+ /**
44
+ * Vertical padding of popover list items.
45
+ */
46
+ --sc-popover-list-item-padding-vertical: 8px;
47
+ /**
48
+ * Maximum width of popover forms of type `modal`.
49
+ */
50
+ --sc-popover-modal-max-width: 570px;
10
51
  }
11
52
 
12
53
  :root {
@@ -97,6 +138,15 @@
97
138
  --sc-body-small-font-weight: 400;
98
139
  }
99
140
 
141
+ /**
142
+ * Variables that need to be part of the preprocessor can go here.
143
+ */
144
+ :root {
145
+ --sc-breakpoint-sm: 576px;
146
+ --sc-breakpoint-md: 768px;
147
+ --sc-breakpoint-lg: 992px;
148
+ }
149
+
100
150
  .searchcraft-results-info-container {
101
151
  border-bottom: 1px solid var(--sc-surface-disabled);
102
152
  display: flex;
@@ -111,7 +161,7 @@
111
161
  line-height: 20px;
112
162
  margin: 0px 0 8px;
113
163
  }
114
- @media (max-width: 900px) {
164
+ @media (max-width: 768px) {
115
165
  .searchcraft-results-info-content {
116
166
  margin: 0;
117
167
  margin-bottom: 8px;
@@ -1,6 +1,11 @@
1
1
  import { h, } from "@stencil/core";
2
- import { getMillis } from "../../utils/utils";
2
+ import { getMillis } from "../../utils/index";
3
3
  import classNames from "classnames";
4
+ /**
5
+ * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.
6
+ * The component renders a slider interface, which can be used to visually choose a value between two boundaries.
7
+ * It is consumed by the `searchcraft-filter-panel` component.
8
+ */
4
9
  export class SearchcraftSlider {
5
10
  constructor() {
6
11
  this.emitUpdate = async () => {
@@ -58,10 +63,10 @@ export class SearchcraftSlider {
58
63
  const endLabel = this.dataType === 'number'
59
64
  ? this.endValue
60
65
  : new Date(this.endValue).getFullYear();
61
- return (h("div", { key: '51de4996df052bf178590aeb4c56a67ec57c92e5', class: 'searchcraft-slider-container' }, h("div", { key: '634bead69c3fbc462cda3dd65dd4ba6a398c6913', class: 'searchcraft-slider-range-container' }, h("div", { key: '1b7a0b63ef208884f24b9f56b48a72bca320c71b', class: 'searchcraft-slider-active-range', style: {
66
+ return (h("div", { key: 'd03f03307d560048eff499afabb4171421c9b5cd', class: 'searchcraft-slider-container' }, h("div", { key: '986b2fb47def38024b256cb093546ee7db9ccf5c', class: 'searchcraft-slider-range-container' }, h("div", { key: '4c4f71c218f65acbfa25ec220cdeb581ef0e6c0d', class: 'searchcraft-slider-active-range', style: {
62
67
  left: `${startPercent}%`,
63
68
  width: `${endPercent - startPercent}%`,
64
- } }), h("input", { key: '29313d6909d5ff646d7f3810163f5f01fe09cc36', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-min-handle'), max: this.max, min: this.min, onInput: this.handleStartValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }, type: 'range', value: this.startValue }), h("input", { key: '1e95e93a028c7bc204e2f3894bfe8b77ac6c9d28', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-max-handle'), max: this.max, min: this.min, onInput: this.handleEndValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }, type: 'range', value: this.endValue })), h("div", { key: 'c1560933a38f3153ac1dbaece041ef75df479dc4', class: 'searchcraft-slider-label-container' }, h("span", { key: '638f72b8c081a324cc3ecb833163cd036a6ab90c', class: 'searchcraft-slider-label' }, startLabel), h("span", { key: '011968bdf897de9960fe2214b4adceee4d79b6d0', class: 'searchcraft-slider-label' }, endLabel))));
69
+ } }), h("input", { key: '8968b1925f83480561a460b5f7da64499ec220c0', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-min-handle'), max: this.max, min: this.min, onInput: this.handleStartValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }, type: 'range', value: this.startValue }), h("input", { key: '1ec4b397eb5ca6834719b0c09811d2b11e70c6d0', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-max-handle'), max: this.max, min: this.min, onInput: this.handleEndValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }, type: 'range', value: this.endValue })), h("div", { key: 'abc788f7398c68aefcd12468280ef07fcf2ae673', class: 'searchcraft-slider-label-container' }, h("span", { key: 'f09f772f95c21fc4dfcd58d6eed7ff6901d329b8', class: 'searchcraft-slider-label' }, startLabel), h("span", { key: '251cecce58bb785d9478e80edfe429a1e18ef274', class: 'searchcraft-slider-label' }, endLabel))));
65
70
  }
66
71
  static get is() { return "searchcraft-slider"; }
67
72
  static get originalStyleUrls() {
@@ -88,7 +93,7 @@ export class SearchcraftSlider {
88
93
  "optional": false,
89
94
  "docs": {
90
95
  "tags": [],
91
- "text": ""
96
+ "text": "The maximum value allowed."
92
97
  },
93
98
  "attribute": "max",
94
99
  "reflect": false,
@@ -106,7 +111,7 @@ export class SearchcraftSlider {
106
111
  "optional": false,
107
112
  "docs": {
108
113
  "tags": [],
109
- "text": ""
114
+ "text": "The minimum value allowed."
110
115
  },
111
116
  "attribute": "min",
112
117
  "reflect": false,
@@ -124,7 +129,7 @@ export class SearchcraftSlider {
124
129
  "optional": false,
125
130
  "docs": {
126
131
  "tags": [],
127
- "text": ""
132
+ "text": "The granularity that the value must adhere to."
128
133
  },
129
134
  "attribute": "granularity",
130
135
  "reflect": false,
@@ -142,7 +147,7 @@ export class SearchcraftSlider {
142
147
  "optional": false,
143
148
  "docs": {
144
149
  "tags": [],
145
- "text": ""
150
+ "text": "The type of data allowed."
146
151
  },
147
152
  "attribute": "data-type",
148
153
  "reflect": false,
@@ -166,7 +171,7 @@ export class SearchcraftSlider {
166
171
  "composed": true,
167
172
  "docs": {
168
173
  "tags": [],
169
- "text": ""
174
+ "text": "When the range has changed."
170
175
  },
171
176
  "complexType": {
172
177
  "original": "{ startValue: number; endValue: number }",
@@ -1 +1 @@
1
- {"version":3,"file":"searchcraft-slider.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-slider/searchcraft-slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Event,\n type EventEmitter,\n h,\n State,\n Prop,\n} from '@stencil/core';\nimport { getMillis } from '@utils/utils';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'searchcraft-slider',\n styleUrl: 'searchcraft-slider.module.scss',\n shadow: false,\n})\nexport class SearchcraftSlider {\n @Prop() max = 100;\n @Prop() min = 0;\n @Prop() granularity: number = getMillis('month');\n @Prop() dataType: 'number' | 'date' = 'number';\n\n @State() endValue = this.max;\n @State() startValue = this.min;\n @State() lastFocusedHandle: 'min' | 'max' = 'max';\n\n @Event() rangeChanged: EventEmitter<{ startValue: number; endValue: number }>;\n\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n\n private emitUpdate = async () => {\n this.rangeChanged.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n\n private handleStartValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'min';\n if (value <= this.endValue) {\n this.startValue = value;\n this.emitUpdate();\n } else {\n this.startValue = this.endValue;\n inputElement.value = `${this.endValue}`;\n }\n };\n\n private handleEndValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'max';\n if (value >= this.startValue) {\n this.endValue = value;\n this.emitUpdate();\n } else {\n this.endValue = this.startValue;\n inputElement.value = `${this.startValue}`;\n }\n };\n\n render() {\n const rangeMin = this.min;\n const rangeMax = this.max;\n const startPercent =\n ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const endPercent =\n ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n\n const startLabel =\n this.dataType === 'number'\n ? this.startValue\n : new Date(this.startValue).getFullYear();\n\n const endLabel =\n this.dataType === 'number'\n ? this.endValue\n : new Date(this.endValue).getFullYear();\n\n return (\n <div class='searchcraft-slider-container'>\n <div class='searchcraft-slider-range-container'>\n <div\n class='searchcraft-slider-active-range'\n style={{\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n }}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-min-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleStartValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }}\n type='range'\n value={this.startValue}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-max-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleEndValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }}\n type='range'\n value={this.endValue}\n />\n </div>\n <div class='searchcraft-slider-label-container'>\n <span class='searchcraft-slider-label'>{startLabel}</span>\n <span class='searchcraft-slider-label'>{endLabel}</span>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"searchcraft-slider.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-slider/searchcraft-slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Event,\n type EventEmitter,\n h,\n State,\n Prop,\n} from '@stencil/core';\nimport { getMillis } from '@utils';\nimport classNames from 'classnames';\n\n/**\n * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.\n * The component renders a slider interface, which can be used to visually choose a value between two boundaries.\n * It is consumed by the `searchcraft-filter-panel` component.\n */\n@Component({\n tag: 'searchcraft-slider',\n styleUrl: 'searchcraft-slider.module.scss',\n shadow: false,\n})\nexport class SearchcraftSlider {\n /**\n * The maximum value allowed.\n */\n @Prop() max = 100;\n /**\n * The minimum value allowed.\n */\n @Prop() min = 0;\n /**\n * The granularity that the value must adhere to.\n */\n @Prop() granularity: number = getMillis('month');\n /** The type of data allowed. */\n @Prop() dataType: 'number' | 'date' = 'number';\n\n @State() endValue = this.max;\n @State() startValue = this.min;\n @State() lastFocusedHandle: 'min' | 'max' = 'max';\n\n /**\n * When the range has changed.\n * */\n @Event() rangeChanged: EventEmitter<{ startValue: number; endValue: number }>;\n\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n\n private emitUpdate = async () => {\n this.rangeChanged.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n\n private handleStartValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'min';\n if (value <= this.endValue) {\n this.startValue = value;\n this.emitUpdate();\n } else {\n this.startValue = this.endValue;\n inputElement.value = `${this.endValue}`;\n }\n };\n\n private handleEndValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'max';\n if (value >= this.startValue) {\n this.endValue = value;\n this.emitUpdate();\n } else {\n this.endValue = this.startValue;\n inputElement.value = `${this.startValue}`;\n }\n };\n\n render() {\n const rangeMin = this.min;\n const rangeMax = this.max;\n const startPercent =\n ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const endPercent =\n ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n\n const startLabel =\n this.dataType === 'number'\n ? this.startValue\n : new Date(this.startValue).getFullYear();\n\n const endLabel =\n this.dataType === 'number'\n ? this.endValue\n : new Date(this.endValue).getFullYear();\n\n return (\n <div class='searchcraft-slider-container'>\n <div class='searchcraft-slider-range-container'>\n <div\n class='searchcraft-slider-active-range'\n style={{\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n }}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-min-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleStartValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }}\n type='range'\n value={this.startValue}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-max-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleEndValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }}\n type='range'\n value={this.endValue}\n />\n </div>\n <div class='searchcraft-slider-label-container'>\n <span class='searchcraft-slider-label'>{startLabel}</span>\n <span class='searchcraft-slider-label'>{endLabel}</span>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -1,12 +1,53 @@
1
+ /** Appearance & Layout */
1
2
  :root {
2
- /** Appearance & Layout */
3
- --sc-spinner-size: 20px;
3
+ /**
4
+ * Border radius of the input form element.
5
+ */
4
6
  --sc-input-border-radius: 8px;
7
+ /**
8
+ * Icon size of the "magnifying glass" icon rendered in the input form.
9
+ */
5
10
  --sc-input-search-icon-size: 20px;
11
+ /**
12
+ * Icon size of the `x` button rendered in the input form.
13
+ */
6
14
  --sc-input-clear-icon-size: 20px;
15
+ /**
16
+ * Padding on the left side of the input form.
17
+ */
7
18
  --sc-input-padding-left: 44px;
19
+ /**
20
+ * Padding on the right side of the input form.
21
+ */
8
22
  --sc-input-padding-right: 44px;
23
+ /**
24
+ * Border radius applied to result images.
25
+ */
9
26
  --sc-image-border-radius: 8px;
27
+ /**
28
+ * Border radius applied to popover form containers.
29
+ */
30
+ --sc-popover-form-border-radius: 8px;
31
+ /**
32
+ * Height of the list view/results container portion of the popover form.
33
+ */
34
+ --sc-popover-list-view-height: 400px;
35
+ /**
36
+ * Size of images of list view items in the popoer list view.
37
+ */
38
+ --sc-popover-list-item-image-size: 60px;
39
+ /**
40
+ * Horizontal padding of popover list items.
41
+ */
42
+ --sc-popover-list-item-padding-horizontal: 8px;
43
+ /**
44
+ * Vertical padding of popover list items.
45
+ */
46
+ --sc-popover-list-item-padding-vertical: 8px;
47
+ /**
48
+ * Maximum width of popover forms of type `modal`.
49
+ */
50
+ --sc-popover-modal-max-width: 570px;
10
51
  }
11
52
 
12
53
  :root {
@@ -97,6 +138,15 @@
97
138
  --sc-body-small-font-weight: 400;
98
139
  }
99
140
 
141
+ /**
142
+ * Variables that need to be part of the preprocessor can go here.
143
+ */
144
+ :root {
145
+ --sc-breakpoint-sm: 576px;
146
+ --sc-breakpoint-md: 768px;
147
+ --sc-breakpoint-lg: 992px;
148
+ }
149
+
100
150
  .searchcraft-slider-container {
101
151
  align-items: center;
102
152
  display: flex;
@@ -1,6 +1,10 @@
1
1
  import { useSearchcraftStore } from "../../provider/store";
2
2
  import { h, } from "@stencil/core";
3
3
  import classNames from "classnames";
4
+ /**
5
+ * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.
6
+ * It is consumed within the `searchcraft-filter-panel` component.
7
+ */
4
8
  export class SearchcraftToggleButton {
5
9
  constructor() {
6
10
  this.handleToggle = async () => {
@@ -27,9 +31,9 @@ export class SearchcraftToggleButton {
27
31
  (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
28
32
  }
29
33
  render() {
30
- return (h("div", { key: '90a7816e1e02125939f3f05a9dbfd94a5f161959', class: 'searchcraft-toggle-button-container' }, h("div", { key: '6a3e570ba3d00ccc315cd092d5b1c618c0b23ea2' }, h("p", { key: '41d1d0ab4557c856bb0ed12af8a4b0c81203d6d5', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h("p", { key: 'ec145b4f655bacec600ac9aa137662f7fed9b7d2', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h("button", { key: '226599543806881f306630708eee24e922ff592e', class: classNames('searchcraft-toggle-button-background', {
34
+ return (h("div", { key: '607bbc1adc109ec918effb25c6b91052227a2f7b', class: 'searchcraft-toggle-button-container' }, h("div", { key: 'b452e1690c617020866f6bf3e591f62cc3fce111' }, h("p", { key: '1bd8fa345516e412ea57bdbeac37dc8e26f2feaa', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h("p", { key: 'fce324a14721bab5f6173838f677ecb290200c8f', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h("button", { key: '7b293a3ef64da88f463e5e6e303dabcbc63589bd', class: classNames('searchcraft-toggle-button-background', {
31
35
  active: this.isActive,
32
- }), onClick: this.handleToggle, type: 'button' }, h("div", { key: 'b83e81e7820705952cfc8c911223e67dfbc0f98d', class: classNames('searchcraft-toggle-button-handle', {
36
+ }), onClick: this.handleToggle, type: 'button' }, h("div", { key: '6afd68afeea5bb15ce1bde486ac59f7a958f6752', class: classNames('searchcraft-toggle-button-handle', {
33
37
  active: this.isActive,
34
38
  }) }))));
35
39
  }
@@ -58,7 +62,7 @@ export class SearchcraftToggleButton {
58
62
  "optional": false,
59
63
  "docs": {
60
64
  "tags": [],
61
- "text": "Type of the toggle - determines what it controls\n'mode': toggles between 'fuzzy' and 'normal'\n'sort': toggles between 'asc' and 'desc'"
65
+ "text": "The label."
62
66
  },
63
67
  "attribute": "label",
64
68
  "reflect": false,
@@ -76,7 +80,7 @@ export class SearchcraftToggleButton {
76
80
  "optional": false,
77
81
  "docs": {
78
82
  "tags": [],
79
- "text": ""
83
+ "text": "The secondary label displayed below the main label."
80
84
  },
81
85
  "attribute": "sub-label",
82
86
  "reflect": false
@@ -99,7 +103,7 @@ export class SearchcraftToggleButton {
99
103
  "composed": true,
100
104
  "docs": {
101
105
  "tags": [],
102
- "text": ""
106
+ "text": "When the toggle element is changed."
103
107
  },
104
108
  "complexType": {
105
109
  "original": "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"searchcraft-toggle-button.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,SAAS,EACT,KAAK,EACL,CAAC,EACD,IAAI,EACJ,KAAK,GAEN,MAAM,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AAMpC,MAAM,OAAO,uBAAuB;;QAe1B,iBAAY,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC;qBAZc,QAAQ;;wBAKJ,KAAK;;;;IASzB,iBAAiB;QACf,yEAAyE;QACzE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,WAAW,oDAAI,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,qCAAqC;YAC9C;gBACE,0DAAG,KAAK,EAAC,iCAAiC,IAAE,IAAI,CAAC,KAAK,CAAK;gBAC1D,IAAI,CAAC,QAAQ,IAAI,CAChB,0DAAG,KAAK,EAAC,qCAAqC,IAAE,IAAI,CAAC,QAAQ,CAAK,CACnE,CACG;YACN,+DACE,KAAK,EAAE,UAAU,CAAC,sCAAsC,EAAE;oBACxD,MAAM,EAAE,IAAI,CAAC,QAAQ;iBACtB,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,IAAI,EAAC,QAAQ;gBAEb,4DACE,KAAK,EAAE,UAAU,CAAC,kCAAkC,EAAE;wBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;qBACtB,CAAC,GACF,CACK,CACL,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { useSearchcraftStore } from '@provider/store';\nimport {\n Component,\n Event,\n h,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n@Component({\n tag: 'searchcraft-toggle-button',\n styleUrl: 'searchcraft-toggle-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * Type of the toggle - determines what it controls\n * 'mode': toggles between 'fuzzy' and 'normal'\n * 'sort': toggles between 'asc' and 'desc'\n */\n @Prop() label = 'Toggle';\n @Prop() subLabel: string | undefined;\n\n @Event() toggleUpdated: EventEmitter<boolean>;\n\n @State() isActive = false;\n @State() unsubscribe: (() => void) | undefined;\n @State() lastQuery: string | undefined;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\n };\n\n connectedCallback() {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query !== this.lastQuery && state.query.trim().length === 0) {\n this.isActive = false;\n }\n this.lastQuery = state.query;\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n render() {\n return (\n <div class='searchcraft-toggle-button-container'>\n <div>\n <p class='searchcraft-toggle-button-label'>{this.label}</p>\n {this.subLabel && (\n <p class='searchcraft-toggle-button-sub-label'>{this.subLabel}</p>\n )}\n </div>\n <button\n class={classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n })}\n onClick={this.handleToggle}\n type='button'\n >\n <div\n class={classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n })}\n />\n </button>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"searchcraft-toggle-button.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,SAAS,EACT,KAAK,EACL,CAAC,EACD,IAAI,EACJ,KAAK,GAEN,MAAM,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC;;;GAGG;AAMH,MAAM,OAAO,uBAAuB;;QAmB1B,iBAAY,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC;qBAlBc,QAAQ;;wBAWJ,KAAK;;;;IASzB,iBAAiB;QACf,yEAAyE;QACzE,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,WAAW,oDAAI,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,qCAAqC;YAC9C;gBACE,0DAAG,KAAK,EAAC,iCAAiC,IAAE,IAAI,CAAC,KAAK,CAAK;gBAC1D,IAAI,CAAC,QAAQ,IAAI,CAChB,0DAAG,KAAK,EAAC,qCAAqC,IAAE,IAAI,CAAC,QAAQ,CAAK,CACnE,CACG;YACN,+DACE,KAAK,EAAE,UAAU,CAAC,sCAAsC,EAAE;oBACxD,MAAM,EAAE,IAAI,CAAC,QAAQ;iBACtB,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,IAAI,EAAC,QAAQ;gBAEb,4DACE,KAAK,EAAE,UAAU,CAAC,kCAAkC,EAAE;wBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;qBACtB,CAAC,GACF,CACK,CACL,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { useSearchcraftStore } from '@provider/store';\nimport {\n Component,\n Event,\n h,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.\n * It is consumed within the `searchcraft-filter-panel` component.\n */\n@Component({\n tag: 'searchcraft-toggle-button',\n styleUrl: 'searchcraft-toggle-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * The label.\n */\n @Prop() label = 'Toggle';\n /**\n * The secondary label displayed below the main label.\n */\n @Prop() subLabel: string | undefined;\n\n /**\n * When the toggle element is changed.\n */\n @Event() toggleUpdated: EventEmitter<boolean>;\n\n @State() isActive = false;\n @State() unsubscribe: (() => void) | undefined;\n @State() lastQuery: string | undefined;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\n };\n\n connectedCallback() {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query !== this.lastQuery && state.query.trim().length === 0) {\n this.isActive = false;\n }\n this.lastQuery = state.query;\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n render() {\n return (\n <div class='searchcraft-toggle-button-container'>\n <div>\n <p class='searchcraft-toggle-button-label'>{this.label}</p>\n {this.subLabel && (\n <p class='searchcraft-toggle-button-sub-label'>{this.subLabel}</p>\n )}\n </div>\n <button\n class={classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n })}\n onClick={this.handleToggle}\n type='button'\n >\n <div\n class={classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n })}\n />\n </button>\n </div>\n );\n }\n}\n"]}
@@ -1,12 +1,53 @@
1
+ /** Appearance & Layout */
1
2
  :root {
2
- /** Appearance & Layout */
3
- --sc-spinner-size: 20px;
3
+ /**
4
+ * Border radius of the input form element.
5
+ */
4
6
  --sc-input-border-radius: 8px;
7
+ /**
8
+ * Icon size of the "magnifying glass" icon rendered in the input form.
9
+ */
5
10
  --sc-input-search-icon-size: 20px;
11
+ /**
12
+ * Icon size of the `x` button rendered in the input form.
13
+ */
6
14
  --sc-input-clear-icon-size: 20px;
15
+ /**
16
+ * Padding on the left side of the input form.
17
+ */
7
18
  --sc-input-padding-left: 44px;
19
+ /**
20
+ * Padding on the right side of the input form.
21
+ */
8
22
  --sc-input-padding-right: 44px;
23
+ /**
24
+ * Border radius applied to result images.
25
+ */
9
26
  --sc-image-border-radius: 8px;
27
+ /**
28
+ * Border radius applied to popover form containers.
29
+ */
30
+ --sc-popover-form-border-radius: 8px;
31
+ /**
32
+ * Height of the list view/results container portion of the popover form.
33
+ */
34
+ --sc-popover-list-view-height: 400px;
35
+ /**
36
+ * Size of images of list view items in the popoer list view.
37
+ */
38
+ --sc-popover-list-item-image-size: 60px;
39
+ /**
40
+ * Horizontal padding of popover list items.
41
+ */
42
+ --sc-popover-list-item-padding-horizontal: 8px;
43
+ /**
44
+ * Vertical padding of popover list items.
45
+ */
46
+ --sc-popover-list-item-padding-vertical: 8px;
47
+ /**
48
+ * Maximum width of popover forms of type `modal`.
49
+ */
50
+ --sc-popover-modal-max-width: 570px;
10
51
  }
11
52
 
12
53
  :root {
@@ -97,6 +138,15 @@
97
138
  --sc-body-small-font-weight: 400;
98
139
  }
99
140
 
141
+ /**
142
+ * Variables that need to be part of the preprocessor can go here.
143
+ */
144
+ :root {
145
+ --sc-breakpoint-sm: 576px;
146
+ --sc-breakpoint-md: 768px;
147
+ --sc-breakpoint-lg: 992px;
148
+ }
149
+
100
150
  .searchcraft-toggle-button-container {
101
151
  display: flex;
102
152
  justify-content: space-between;
@@ -1,4 +1,4 @@
1
- export { parseCustomStyles, serializeStyles, } from './utils/utils';
1
+ export { parseCustomStyles, serializeStyles, } from './utils';
2
2
  export { useSearchcraftStore, useThemeStore } from './provider/store';
3
3
  export * from './types';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE,cAAc,SAAS,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\nexport type * from './components';\n\nexport {\n parseCustomStyles,\n serializeStyles,\n} from './utils/utils';\n\nexport { useSearchcraftStore, useThemeStore } from './provider/store';\n\nexport { Components } from './components';\n\nexport * from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE,cAAc,SAAS,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\nexport type * from './components';\n\nexport {\n parseCustomStyles,\n serializeStyles,\n} from './utils';\n\nexport { useSearchcraftStore, useThemeStore } from './provider/store';\n\nexport { Components } from './components';\n\nexport * from './types';\n"]}
@@ -23,6 +23,12 @@ const useSearchcraftStore = create((set, get) => {
23
23
  }
24
24
  };
25
25
  return {
26
+ setPopoverVisibility: (isVisible) => {
27
+ set({
28
+ isPopoverVisible: isVisible,
29
+ });
30
+ },
31
+ isPopoverVisible: false,
26
32
  resetFacetPaths: () => {
27
33
  set({
28
34
  facetPathsForIndexFields: {},
@@ -83,27 +89,20 @@ const useSearchcraftStore = create((set, get) => {
83
89
  return;
84
90
  }
85
91
  state.setIsRequesting(true);
86
- try {
87
- const results = await searchcraft.search({
88
- query: state.query,
89
- mode: state.searchMode,
90
- sort: state.sortType,
91
- facetPathsForIndexFields: state.facetPathsForIndexFields,
92
- rangeValueForIndexFields: state.rangeValueForIndexFields,
93
- });
92
+ searchcraft.search({
93
+ query: state.query,
94
+ mode: state.searchMode,
95
+ sort: state.sortType,
96
+ facetPathsForIndexFields: state.facetPathsForIndexFields,
97
+ rangeValueForIndexFields: state.rangeValueForIndexFields,
98
+ }, (results) => {
94
99
  const updatedFacets = results.data.facets || null;
95
100
  state.setSearchResults(results);
96
101
  state.setFacets(updatedFacets);
97
102
  log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);
98
103
  log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);
99
- }
100
- catch (error) {
101
- console.error(`Search failed: ${error.message}`);
102
- log(LogLevel.ERROR, `Search failed with error: ${error.message}`);
103
- }
104
- finally {
105
104
  state.setIsRequesting(false);
106
- }
105
+ });
107
106
  },
108
107
  initialize: (searchcraftInstance, debug = false) => {
109
108
  searchcraft = searchcraftInstance;