@searchcraft/javascript-sdk 0.3.1 → 0.4.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.
- package/README.md +198 -0
- package/dist/cjs/{index-264ebadc.js → index-c8a8e492.js} +29 -3
- package/dist/cjs/index-c8a8e492.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{package-35d3b670.js → package-ccc7e307.js} +3 -3
- package/dist/cjs/package-ccc7e307.js.map +1 -0
- package/dist/cjs/searchcraft-auto-search-form.cjs.entry.js +160 -0
- package/dist/cjs/searchcraft-auto-search-form.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +8 -11
- package/dist/cjs/searchcraft-base-search-form.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +74 -0
- package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +129 -0
- package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-button-icon.cjs.entry.js +1 -1
- package/dist/cjs/searchcraft-button.cjs.entry.js +3 -8
- package/dist/cjs/searchcraft-button.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-check-icon_2.cjs.entry.js +28 -0
- package/dist/cjs/searchcraft-check-icon_2.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-clear-icon-set.cjs.entry.js +30 -0
- package/dist/cjs/searchcraft-clear-icon-set.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-error-message_3.cjs.entry.js +95 -0
- package/dist/cjs/searchcraft-error-message_3.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +183 -0
- package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +134 -0
- package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
- package/dist/cjs/searchcraft-results-info.cjs.entry.js +46 -0
- package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-search-icon-set.cjs.entry.js +33 -0
- package/dist/cjs/searchcraft-search-icon-set.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js +3 -3
- package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js.map +1 -1
- package/dist/cjs/searchcraft-spinner-light.cjs.entry.js +3 -3
- package/dist/cjs/searchcraft-spinner-light.cjs.entry.js.map +1 -1
- package/dist/{esm/store-b519dd0b.js → cjs/store-72205332.js} +139 -205
- package/dist/cjs/store-72205332.js.map +1 -0
- package/dist/cjs/utils-4ee2b88d.js +169 -0
- package/dist/cjs/utils-4ee2b88d.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -4
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +61 -95
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -1
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +98 -9
- package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +31 -16
- package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +94 -8
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +125 -153
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +139 -206
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +138 -89
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +105 -23
- package/dist/collection/components/searchcraft-button/searchcraft-button.js +2 -8
- package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
- package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +107 -36
- package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +1 -22
- package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
- package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +101 -15
- package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +140 -0
- package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -0
- package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +216 -0
- package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +166 -0
- package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -0
- package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +118 -0
- package/dist/collection/components/searchcraft-input/searchcraft-input.js +36 -125
- package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -1
- package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +158 -209
- package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +1 -12
- package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
- package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +102 -14
- package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +1 -2
- package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
- package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +103 -9
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +79 -62
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +106 -7
- package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +1 -1
- package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +103 -4
- package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +1 -1
- package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +102 -3
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +50 -65
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +135 -9
- package/dist/collection/index.js +2 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/provider/store.js +45 -31
- package/dist/collection/provider/store.js.map +1 -1
- package/dist/collection/types/index.js +3 -0
- package/dist/collection/types/index.js.map +1 -0
- package/dist/collection/types/searchcraft-base-search-results.types.js +2 -0
- package/dist/collection/types/searchcraft-base-search-results.types.js.map +1 -0
- package/dist/collection/types/searchcraft-filter-panel.types.js +2 -0
- package/dist/collection/types/searchcraft-filter-panel.types.js.map +1 -0
- package/dist/collection/utils/utils.js +114 -35
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +7 -11
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-bbf9973a.js → p-04d13314.js} +2 -2
- package/dist/components/{p-bbf9973a.js.map → p-04d13314.js.map} +1 -1
- package/dist/components/p-0deddac7.js +161 -0
- package/dist/components/p-0deddac7.js.map +1 -0
- package/dist/components/p-37f54c0b.js +54 -0
- package/dist/components/p-37f54c0b.js.map +1 -0
- package/dist/components/{p-6b353c3e.js → p-5639be85.js} +23 -3
- package/dist/components/p-5639be85.js.map +1 -0
- package/dist/components/p-68897c11.js +124 -0
- package/dist/components/p-68897c11.js.map +1 -0
- package/dist/components/{p-b0c1fd63.js → p-69eed21e.js} +3 -3
- package/dist/components/p-69eed21e.js.map +1 -0
- package/dist/components/p-8062f0ea.js +82 -0
- package/dist/components/p-8062f0ea.js.map +1 -0
- package/dist/components/p-9f2b8375.js +33 -0
- package/dist/components/p-9f2b8375.js.map +1 -0
- package/dist/components/p-ace4e6a0.js +35 -0
- package/dist/components/p-ace4e6a0.js.map +1 -0
- package/dist/components/p-b1a59f07.js +101 -0
- package/dist/components/p-b1a59f07.js.map +1 -0
- package/dist/components/{p-727bfc38.js → p-be63dcac.js} +126 -110
- package/dist/components/p-be63dcac.js.map +1 -0
- package/dist/components/p-c8bc1e4f.js +40 -0
- package/dist/components/p-c8bc1e4f.js.map +1 -0
- package/dist/components/{p-aad03c2a.js → p-de50441f.js} +2 -2
- package/dist/components/{p-aad03c2a.js.map → p-de50441f.js.map} +1 -1
- package/dist/components/p-e3c8b1ef.js +91 -0
- package/dist/components/p-e3c8b1ef.js.map +1 -0
- package/dist/components/p-ebf021b5.js +49 -0
- package/dist/components/p-ebf021b5.js.map +1 -0
- package/dist/components/searchcraft-auto-search-form.js +64 -74
- package/dist/components/searchcraft-auto-search-form.js.map +1 -1
- package/dist/components/searchcraft-base-search-form.js +20 -52
- package/dist/components/searchcraft-base-search-form.js.map +1 -1
- package/dist/components/searchcraft-base-search-result.js +1 -1
- package/dist/components/searchcraft-base-search-results.js +75 -53
- package/dist/components/searchcraft-base-search-results.js.map +1 -1
- package/dist/components/searchcraft-button-icon.js +1 -1
- package/dist/components/searchcraft-button.js +1 -1
- package/dist/components/searchcraft-check-icon.js +1 -1
- package/dist/components/searchcraft-clear-icon-set.js +39 -1
- package/dist/components/searchcraft-clear-icon-set.js.map +1 -1
- package/dist/components/searchcraft-dash-icon.js +1 -1
- package/dist/components/searchcraft-error-message.js +1 -1
- package/dist/components/searchcraft-facet-list.d.ts +11 -0
- package/dist/components/searchcraft-facet-list.js +8 -0
- package/dist/components/searchcraft-facet-list.js.map +1 -0
- package/dist/components/searchcraft-filter-panel.d.ts +11 -0
- package/dist/components/searchcraft-filter-panel.js +184 -0
- package/dist/components/searchcraft-filter-panel.js.map +1 -0
- package/dist/components/searchcraft-input-label.js +1 -1
- package/dist/components/searchcraft-input.js +1 -1
- package/dist/components/searchcraft-results-info.js +5 -6
- package/dist/components/searchcraft-results-info.js.map +1 -1
- package/dist/components/searchcraft-search-icon-set.js +44 -1
- package/dist/components/searchcraft-search-icon-set.js.map +1 -1
- package/dist/components/searchcraft-slider.js +1 -104
- package/dist/components/searchcraft-slider.js.map +1 -1
- package/dist/components/searchcraft-spinner-dark.js +1 -1
- package/dist/components/searchcraft-spinner-light.js +3 -3
- package/dist/components/searchcraft-spinner-light.js.map +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -93
- package/dist/components/searchcraft-toggle-button.js.map +1 -1
- package/dist/esm/{index-d851fb46.js → index-88dc5f88.js} +29 -3
- package/dist/esm/index-88dc5f88.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{package-82baadd7.js → package-ee16f835.js} +3 -3
- package/dist/esm/package-ee16f835.js.map +1 -0
- package/dist/esm/searchcraft-auto-search-form.entry.js +156 -0
- package/dist/esm/searchcraft-auto-search-form.entry.js.map +1 -0
- package/dist/esm/searchcraft-base-search-form.entry.js +8 -11
- package/dist/esm/searchcraft-base-search-form.entry.js.map +1 -1
- package/dist/esm/searchcraft-base-search-result.entry.js +70 -0
- package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -0
- package/dist/esm/searchcraft-base-search-results.entry.js +125 -0
- package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -0
- package/dist/esm/searchcraft-button-icon.entry.js +1 -1
- package/dist/esm/searchcraft-button.entry.js +3 -8
- package/dist/esm/searchcraft-button.entry.js.map +1 -1
- package/dist/esm/searchcraft-check-icon_2.entry.js +23 -0
- package/dist/esm/searchcraft-check-icon_2.entry.js.map +1 -0
- package/dist/{components/p-62e6b69c.js → esm/searchcraft-clear-icon-set.entry.js} +7 -24
- package/dist/esm/searchcraft-clear-icon-set.entry.js.map +1 -0
- package/dist/esm/searchcraft-error-message_3.entry.js +89 -0
- package/dist/esm/searchcraft-error-message_3.entry.js.map +1 -0
- package/dist/esm/searchcraft-facet-list_3.entry.js +177 -0
- package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -0
- package/dist/esm/searchcraft-filter-panel.entry.js +130 -0
- package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -0
- package/dist/esm/searchcraft-javascript-sdk.js +3 -3
- package/dist/esm/searchcraft-results-info.entry.js +42 -0
- package/dist/esm/searchcraft-results-info.entry.js.map +1 -0
- package/dist/{components/p-5a872bdf.js → esm/searchcraft-search-icon-set.entry.js} +7 -26
- package/dist/esm/searchcraft-search-icon-set.entry.js.map +1 -0
- package/dist/esm/searchcraft-spinner-dark.entry.js +3 -3
- package/dist/esm/searchcraft-spinner-dark.entry.js.map +1 -1
- package/dist/esm/searchcraft-spinner-light.entry.js +3 -3
- package/dist/esm/searchcraft-spinner-light.entry.js.map +1 -1
- package/dist/{cjs/store-e3bbdd49.js → esm/store-52436995.js} +136 -217
- package/dist/esm/store-52436995.js.map +1 -0
- package/dist/esm/utils-89a02921.js +161 -0
- package/dist/esm/utils-89a02921.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-0deddac7.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-0deddac7.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-4c32c87d.js +3 -0
- package/dist/searchcraft-javascript-sdk/p-4c32c87d.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-69eed21e.js +2 -0
- package/dist/searchcraft-javascript-sdk/{p-99356c9a.entry.js → p-69f64bdd.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-bb03e946.js +11 -0
- package/dist/searchcraft-javascript-sdk/p-bb03e946.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
- package/dist/types/components/searchcraft-auto-search-form/searchcraft-auto-search-form.d.ts +6 -6
- package/dist/types/components/searchcraft-base-search-form/searchcraft-base-search-form.d.ts +3 -2
- package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +16 -18
- package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +15 -6
- package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +0 -2
- package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +0 -1
- package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +21 -0
- package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +25 -0
- package/dist/types/components/searchcraft-input/searchcraft-input.d.ts +4 -10
- package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +0 -2
- package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +11 -12
- package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +4 -9
- package/dist/types/components.d.ts +123 -185
- package/dist/types/index.d.ts +2 -1
- package/dist/types/provider/store.d.ts +15 -9
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/searchcraft-base-search-results.types.d.ts +17 -0
- package/dist/types/types/searchcraft-filter-panel.types.d.ts +42 -0
- package/dist/types/utils/utils.d.ts +23 -15
- package/package.json +2 -2
- package/dist/cjs/index-264ebadc.js.map +0 -1
- package/dist/cjs/package-35d3b670.js.map +0 -1
- package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js +0 -867
- package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js.map +0 -1
- package/dist/cjs/store-e3bbdd49.js.map +0 -1
- package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +0 -94
- package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +0 -1
- package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +0 -33
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +0 -168
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +0 -1
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +0 -111
- package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +0 -121
- package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +0 -1
- package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +0 -79
- package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +0 -109
- package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +0 -1
- package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +0 -17
- package/dist/components/p-4f939ba2.js +0 -53
- package/dist/components/p-4f939ba2.js.map +0 -1
- package/dist/components/p-5015a359.js +0 -39
- package/dist/components/p-5015a359.js.map +0 -1
- package/dist/components/p-54848b4d.js +0 -136
- package/dist/components/p-54848b4d.js.map +0 -1
- package/dist/components/p-5a872bdf.js.map +0 -1
- package/dist/components/p-62c40862.js +0 -91
- package/dist/components/p-62c40862.js.map +0 -1
- package/dist/components/p-62e6b69c.js.map +0 -1
- package/dist/components/p-69ee3b9a.js +0 -59
- package/dist/components/p-69ee3b9a.js.map +0 -1
- package/dist/components/p-6b353c3e.js.map +0 -1
- package/dist/components/p-727bfc38.js.map +0 -1
- package/dist/components/p-7c280820.js +0 -33
- package/dist/components/p-7c280820.js.map +0 -1
- package/dist/components/p-7d385ffb.js +0 -60
- package/dist/components/p-7d385ffb.js.map +0 -1
- package/dist/components/p-8524c749.js +0 -54
- package/dist/components/p-8524c749.js.map +0 -1
- package/dist/components/p-b0c1fd63.js.map +0 -1
- package/dist/components/p-b38d171d.js +0 -47
- package/dist/components/p-b38d171d.js.map +0 -1
- package/dist/components/p-cd9a038a.js +0 -105
- package/dist/components/p-cd9a038a.js.map +0 -1
- package/dist/components/searchcraft-clear-input-button.d.ts +0 -11
- package/dist/components/searchcraft-clear-input-button.js +0 -8
- package/dist/components/searchcraft-clear-input-button.js.map +0 -1
- package/dist/components/searchcraft-filters-list.d.ts +0 -11
- package/dist/components/searchcraft-filters-list.js +0 -151
- package/dist/components/searchcraft-filters-list.js.map +0 -1
- package/dist/components/searchcraft-input-caption.d.ts +0 -11
- package/dist/components/searchcraft-input-caption.js +0 -8
- package/dist/components/searchcraft-input-caption.js.map +0 -1
- package/dist/components/searchcraft-input-icon.d.ts +0 -11
- package/dist/components/searchcraft-input-icon.js +0 -8
- package/dist/components/searchcraft-input-icon.js.map +0 -1
- package/dist/esm/index-d851fb46.js.map +0 -1
- package/dist/esm/package-82baadd7.js.map +0 -1
- package/dist/esm/searchcraft-auto-search-form_17.entry.js +0 -847
- package/dist/esm/searchcraft-auto-search-form_17.entry.js.map +0 -1
- package/dist/esm/store-b519dd0b.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-1f3ae7f3.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-1f3ae7f3.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-201cb2dc.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-201cb2dc.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-2c220368.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-2c220368.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-39c0ca33.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-39c0ca33.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-476829a4.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-476829a4.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-b0c1fd63.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-b42eaa55.js +0 -3
- package/dist/searchcraft-javascript-sdk/p-b42eaa55.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-d5f8dda2.js +0 -11
- package/dist/searchcraft-javascript-sdk/p-d5f8dda2.js.map +0 -1
- package/dist/types/components/searchcraft-clear-input-button/searchcraft-clear-input-button.d.ts +0 -10
- package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +0 -34
- package/dist/types/components/searchcraft-input-caption/searchcraft-input-caption.d.ts +0 -9
- package/dist/types/components/searchcraft-input-icon/searchcraft-input-icon.d.ts +0 -9
- package/readme.md +0 -11
- /package/dist/searchcraft-javascript-sdk/{p-b0c1fd63.js.map → p-69eed21e.js.map} +0 -0
- /package/dist/searchcraft-javascript-sdk/{p-99356c9a.entry.js.map → p-69f64bdd.entry.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
export class SearchcraftSpinnerLight {
|
|
3
3
|
render() {
|
|
4
|
-
return (h("div", { key: '
|
|
4
|
+
return (h("div", { key: 'de06c1135cf78661d281880cfccea9c07271f184', class: 'spinnerContainer' }, h("div", { key: '1422c0fd8e9b2b57f5999933a762ffde4559e609', class: 'spinnerLight' })));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "searchcraft-spinner-light"; }
|
|
7
7
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css
CHANGED
|
@@ -1,7 +1,106 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/** Appearance & Layout */
|
|
3
|
+
--sc-spinner-size: 20px;
|
|
4
|
+
--sc-input-border-radius: 8px;
|
|
5
|
+
--sc-input-search-icon-size: 20px;
|
|
6
|
+
--sc-input-clear-icon-size: 20px;
|
|
7
|
+
--sc-input-padding-left: 44px;
|
|
8
|
+
--sc-input-padding-right: 44px;
|
|
9
|
+
--sc-image-border-radius: 8px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:root {
|
|
13
|
+
--sc-surface-disabled: #D9D9D9;
|
|
14
|
+
--sc-surface-neutral-primary: #FFFFFF;
|
|
15
|
+
--sc-surface-neutral-secondary: #F3F3F3;
|
|
16
|
+
--sc-surface-neutral-light: #FFFFFF;
|
|
17
|
+
--sc-surface-neutral-primary-hover: #FAFAFA;
|
|
18
|
+
--sc-surface-neutral-primary-active: #F7F7F7;
|
|
19
|
+
--sc-surface-neutral-secondary-hover: #EDEDED;
|
|
20
|
+
--sc-surface-neutral-secondary-active: #E6E6E6;
|
|
21
|
+
--sc-surface-brand-primary: #000000;
|
|
22
|
+
--sc-surface-brand-secondary: #E6E6E6;
|
|
23
|
+
--sc-surface-brand-primary-hover: #2E2E2E;
|
|
24
|
+
--sc-surface-brand-primary-active: #292929;
|
|
25
|
+
--sc-surface-brand-secondary-hover: #EBEBEB;
|
|
26
|
+
--sc-surface-brand-secondary-active: #E0E0E0;
|
|
27
|
+
--sc-surface-success-primary: #008000;
|
|
28
|
+
--sc-surface-success-secondary: #CCFFCC;
|
|
29
|
+
--sc-surface-success-primary-hover: #009900;
|
|
30
|
+
--sc-surface-success-primary-active: #006600;
|
|
31
|
+
--sc-surface-success-secondary-hover: #E6FFE6;
|
|
32
|
+
--sc-surface-success-secondary-active: #E6FFE6;
|
|
33
|
+
--sc-surface-caution-primary: #CC6600;
|
|
34
|
+
--sc-surface-caution-secondary: #FFD9B3;
|
|
35
|
+
--sc-surface-caution-primary-hover: #E57300;
|
|
36
|
+
--sc-surface-caution-primary-active: #B25A00;
|
|
37
|
+
--sc-surface-caution-secondary-hover: #FFE5CC;
|
|
38
|
+
--sc-surface-caution-secondary-active: #FFCC99;
|
|
39
|
+
--sc-surface-danger-primary: #CC0000;
|
|
40
|
+
--sc-surface-danger-secondary: #FFCCCC;
|
|
41
|
+
--sc-surface-danger-primary-hover: #E50000;
|
|
42
|
+
--sc-surface-danger-primary-active: #B30000;
|
|
43
|
+
--sc-surface-danger-secondary-hover: #FFE7E7;
|
|
44
|
+
--sc-surface-danger-secondary-active: #FFB3B3;
|
|
45
|
+
--sc-content-brand: #000000;
|
|
46
|
+
--sc-content-success: #008000;
|
|
47
|
+
--sc-content-caution: #994D00;
|
|
48
|
+
--sc-content-danger: #990000;
|
|
49
|
+
--sc-content-disabled: #737373;
|
|
50
|
+
--sc-content-neutral-primary: #292929;
|
|
51
|
+
--sc-content-neutral-secondary: #404040;
|
|
52
|
+
--sc-content-brand-on-primary: #FFFFFF;
|
|
53
|
+
--sc-content-success-on-primary: #FFFFFF;
|
|
54
|
+
--sc-content-caution-on-primary: #FFFFFF;
|
|
55
|
+
--sc-content-danger-on-primary: #FFFFFF;
|
|
56
|
+
--sc-content-disabled-on-disabled: #737373;
|
|
57
|
+
--sc-border-neutral: rgba(0,0,0, 0.1);
|
|
58
|
+
--sc-border-brand: #000000;
|
|
59
|
+
--sc-border-success: #008000;
|
|
60
|
+
--sc-border-caution: #CC6600;
|
|
61
|
+
--sc-border-danger: #CC0000;
|
|
62
|
+
--sc-border-disabled: #737373;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:root {
|
|
66
|
+
/** Typography */
|
|
67
|
+
--sc-font-family: sans-serif;
|
|
68
|
+
--sc-heading-1-font-size: 32px;
|
|
69
|
+
--sc-heading-1-line-height: 36px;
|
|
70
|
+
--sc-heading-1-font-weight: 700;
|
|
71
|
+
--sc-heading-2-font-size: 29px;
|
|
72
|
+
--sc-heading-2-line-height: 32px;
|
|
73
|
+
--sc-heading-2-font-weight: 700;
|
|
74
|
+
--sc-heading-3-font-size: 26px;
|
|
75
|
+
--sc-heading-3-line-height: 28px;
|
|
76
|
+
--sc-heading-3-font-weight: 700;
|
|
77
|
+
--sc-heading-4-font-size: 23px;
|
|
78
|
+
--sc-heading-4-line-height: 24px;
|
|
79
|
+
--sc-heading-4-font-weight: 700;
|
|
80
|
+
--sc-heading-5-font-size: 20px;
|
|
81
|
+
--sc-heading-5-line-height: 24px;
|
|
82
|
+
--sc-heading-5-font-weight: 700;
|
|
83
|
+
--sc-heading-6-font-size: 10px;
|
|
84
|
+
--sc-heading-6-line-height: 12px;
|
|
85
|
+
--sc-heading-6-font-weight: 700;
|
|
86
|
+
--sc-body-bold-font-size: 16px;
|
|
87
|
+
--sc-body-bold-line-height: 20px;
|
|
88
|
+
--sc-body-bold-font-weight: 700;
|
|
89
|
+
--sc-body-font-size: 16px;
|
|
90
|
+
--sc-body-line-height: 20px;
|
|
91
|
+
--sc-body-font-weight:400;
|
|
92
|
+
--sc-body-small-bold-font-size: 12px;
|
|
93
|
+
--sc-body-small-bold-line-height: 16px;
|
|
94
|
+
--sc-body-small-bold-font-weight: 700;
|
|
95
|
+
--sc-body-small-font-size: 12px;
|
|
96
|
+
--sc-body-small-line-height: 16px;
|
|
97
|
+
--sc-body-small-font-weight: 400;
|
|
98
|
+
}
|
|
99
|
+
|
|
1
100
|
.spinnerContainer {
|
|
2
101
|
background-color: transparent;
|
|
3
|
-
height:
|
|
4
|
-
width:
|
|
102
|
+
height: var(--sc-spinner-size);
|
|
103
|
+
width: var(--sc-spinner-size);
|
|
5
104
|
}
|
|
6
105
|
|
|
7
106
|
.spinnerLight {
|
|
@@ -9,7 +108,7 @@
|
|
|
9
108
|
background: conic-gradient(#737373 50%, #FFFFFF);
|
|
10
109
|
clip-path: circle(50%);
|
|
11
110
|
height: 100%;
|
|
12
|
-
mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0)
|
|
111
|
+
mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) calc(var(--sc-spinner-size) / 3), rgb(0, 0, 0) calc(var(--sc-spinner-size) / 3));
|
|
13
112
|
width: 100%;
|
|
14
113
|
}
|
|
15
114
|
|
|
@@ -1,69 +1,21 @@
|
|
|
1
|
-
import { h } from "@stencil/core";
|
|
1
|
+
import { h, } from "@stencil/core";
|
|
2
2
|
import classNames from "classnames";
|
|
3
|
-
import { useSearchcraftStore } from "../../provider/store";
|
|
4
3
|
export class SearchcraftToggleButton {
|
|
5
4
|
constructor() {
|
|
6
|
-
this.autoSearchFormElement = null;
|
|
7
|
-
this.searchStore = useSearchcraftStore.getState();
|
|
8
|
-
this.handleSearchRequest = () => {
|
|
9
|
-
this.isActive = false;
|
|
10
|
-
this.searchStore.setSearchParams({
|
|
11
|
-
mode: 'fuzzy',
|
|
12
|
-
sort: 'asc',
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
5
|
this.handleToggle = async () => {
|
|
16
6
|
this.isActive = !this.isActive;
|
|
17
|
-
|
|
18
|
-
const mode = this.isActive ? 'normal' : 'fuzzy';
|
|
19
|
-
this.searchStore.setSearchParams({
|
|
20
|
-
mode,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
else if (this.type === 'sort') {
|
|
24
|
-
const sort = this.isActive ? 'desc' : 'asc';
|
|
25
|
-
this.searchStore.setSearchParams({
|
|
26
|
-
sort,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
try {
|
|
30
|
-
await this.searchStore.search();
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error('Search failed:', error);
|
|
34
|
-
}
|
|
7
|
+
this.toggleUpdated.emit(this.isActive);
|
|
35
8
|
};
|
|
36
|
-
this.
|
|
9
|
+
this.label = 'Toggle';
|
|
10
|
+
this.subLabel = undefined;
|
|
37
11
|
this.isActive = false;
|
|
38
|
-
this.query = '';
|
|
39
|
-
this.resultsCount = 0;
|
|
40
|
-
}
|
|
41
|
-
componentDidLoad() {
|
|
42
|
-
this.unsubscribe = useSearchcraftStore.subscribe((state) => {
|
|
43
|
-
var _a, _b, _c;
|
|
44
|
-
this.query = state.query || '';
|
|
45
|
-
this.resultsCount = ((_c = (_b = (_a = state.searchResults) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.hits) === null || _c === void 0 ? void 0 : _c.length) || 0;
|
|
46
|
-
});
|
|
47
|
-
this.autoSearchFormElement = document.querySelector('searchcraft-auto-search-form');
|
|
48
|
-
if (this.autoSearchFormElement) {
|
|
49
|
-
this.autoSearchFormElement.addEventListener('querySubmit', this.handleSearchRequest);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
disconnectedCallback() {
|
|
53
|
-
if (this.unsubscribe) {
|
|
54
|
-
this.unsubscribe();
|
|
55
|
-
}
|
|
56
|
-
if (this.autoSearchFormElement) {
|
|
57
|
-
this.autoSearchFormElement.addEventListener('querySubmit', this.handleSearchRequest);
|
|
58
|
-
}
|
|
59
12
|
}
|
|
60
13
|
render() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return (h("button", { class: classNames(toggleContainerStyle, 'searchcraft-toggle-button-container'), onClick: this.handleToggle, type: 'button' }, h("div", { class: classNames(toggleSwitchStyle, 'searchcraft-toggle-switch') })));
|
|
14
|
+
return (h("div", { key: 'd22c50dcf65d66208bd0ee78c88f452ba94c96e1', class: 'searchcraft-toggle-button-container' }, h("div", { key: 'c7309a315b979c1bc68b140f4e3d250fdb208e37' }, h("p", { key: '2a22fc2b52f73a5fe79512c4e3ed105110a514cd', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h("p", { key: '8c1670c628751c19576ff9f8cf4bad71b974fb4f', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h("button", { key: '10600dd271917d074bf4d1e8dea473b583c79031', class: classNames('searchcraft-toggle-button-background', {
|
|
15
|
+
active: this.isActive,
|
|
16
|
+
}), onClick: this.handleToggle, type: 'button' }, h("div", { key: '3cd18a77345001252c700d6b1ca3f34b9e7e849d', class: classNames('searchcraft-toggle-button-handle', {
|
|
17
|
+
active: this.isActive,
|
|
18
|
+
}) }))));
|
|
67
19
|
}
|
|
68
20
|
static get is() { return "searchcraft-toggle-button"; }
|
|
69
21
|
static get originalStyleUrls() {
|
|
@@ -78,12 +30,12 @@ export class SearchcraftToggleButton {
|
|
|
78
30
|
}
|
|
79
31
|
static get properties() {
|
|
80
32
|
return {
|
|
81
|
-
"
|
|
33
|
+
"label": {
|
|
82
34
|
"type": "string",
|
|
83
35
|
"mutable": false,
|
|
84
36
|
"complexType": {
|
|
85
|
-
"original": "
|
|
86
|
-
"resolved": "
|
|
37
|
+
"original": "string",
|
|
38
|
+
"resolved": "string",
|
|
87
39
|
"references": {}
|
|
88
40
|
},
|
|
89
41
|
"required": false,
|
|
@@ -92,18 +44,51 @@ export class SearchcraftToggleButton {
|
|
|
92
44
|
"tags": [],
|
|
93
45
|
"text": "Type of the toggle - determines what it controls\n'mode': toggles between 'fuzzy' and 'normal'\n'sort': toggles between 'asc' and 'desc'"
|
|
94
46
|
},
|
|
95
|
-
"attribute": "
|
|
47
|
+
"attribute": "label",
|
|
96
48
|
"reflect": false,
|
|
97
|
-
"defaultValue": "'
|
|
49
|
+
"defaultValue": "'Toggle'"
|
|
50
|
+
},
|
|
51
|
+
"subLabel": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"mutable": false,
|
|
54
|
+
"complexType": {
|
|
55
|
+
"original": "string | undefined",
|
|
56
|
+
"resolved": "string",
|
|
57
|
+
"references": {}
|
|
58
|
+
},
|
|
59
|
+
"required": false,
|
|
60
|
+
"optional": false,
|
|
61
|
+
"docs": {
|
|
62
|
+
"tags": [],
|
|
63
|
+
"text": ""
|
|
64
|
+
},
|
|
65
|
+
"attribute": "sub-label",
|
|
66
|
+
"reflect": false
|
|
98
67
|
}
|
|
99
68
|
};
|
|
100
69
|
}
|
|
101
70
|
static get states() {
|
|
102
71
|
return {
|
|
103
|
-
"isActive": {}
|
|
104
|
-
"query": {},
|
|
105
|
-
"resultsCount": {}
|
|
72
|
+
"isActive": {}
|
|
106
73
|
};
|
|
107
74
|
}
|
|
75
|
+
static get events() {
|
|
76
|
+
return [{
|
|
77
|
+
"method": "toggleUpdated",
|
|
78
|
+
"name": "toggleUpdated",
|
|
79
|
+
"bubbles": true,
|
|
80
|
+
"cancelable": true,
|
|
81
|
+
"composed": true,
|
|
82
|
+
"docs": {
|
|
83
|
+
"tags": [],
|
|
84
|
+
"text": ""
|
|
85
|
+
},
|
|
86
|
+
"complexType": {
|
|
87
|
+
"original": "boolean",
|
|
88
|
+
"resolved": "boolean",
|
|
89
|
+
"references": {}
|
|
90
|
+
}
|
|
91
|
+
}];
|
|
92
|
+
}
|
|
108
93
|
}
|
|
109
94
|
//# sourceMappingURL=searchcraft-toggle-button.js.map
|
package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"searchcraft-toggle-button.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"names":[],"mappings":"AAAA,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;;QAa1B,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;qBAVc,QAAQ;;wBAKJ,KAAK;;IAOzB,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 {\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\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\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"]}
|
package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css
CHANGED
|
@@ -1,22 +1,148 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
:root {
|
|
2
|
+
/** Appearance & Layout */
|
|
3
|
+
--sc-spinner-size: 20px;
|
|
4
|
+
--sc-input-border-radius: 8px;
|
|
5
|
+
--sc-input-search-icon-size: 20px;
|
|
6
|
+
--sc-input-clear-icon-size: 20px;
|
|
7
|
+
--sc-input-padding-left: 44px;
|
|
8
|
+
--sc-input-padding-right: 44px;
|
|
9
|
+
--sc-image-border-radius: 8px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:root {
|
|
13
|
+
--sc-surface-disabled: #D9D9D9;
|
|
14
|
+
--sc-surface-neutral-primary: #FFFFFF;
|
|
15
|
+
--sc-surface-neutral-secondary: #F3F3F3;
|
|
16
|
+
--sc-surface-neutral-light: #FFFFFF;
|
|
17
|
+
--sc-surface-neutral-primary-hover: #FAFAFA;
|
|
18
|
+
--sc-surface-neutral-primary-active: #F7F7F7;
|
|
19
|
+
--sc-surface-neutral-secondary-hover: #EDEDED;
|
|
20
|
+
--sc-surface-neutral-secondary-active: #E6E6E6;
|
|
21
|
+
--sc-surface-brand-primary: #000000;
|
|
22
|
+
--sc-surface-brand-secondary: #E6E6E6;
|
|
23
|
+
--sc-surface-brand-primary-hover: #2E2E2E;
|
|
24
|
+
--sc-surface-brand-primary-active: #292929;
|
|
25
|
+
--sc-surface-brand-secondary-hover: #EBEBEB;
|
|
26
|
+
--sc-surface-brand-secondary-active: #E0E0E0;
|
|
27
|
+
--sc-surface-success-primary: #008000;
|
|
28
|
+
--sc-surface-success-secondary: #CCFFCC;
|
|
29
|
+
--sc-surface-success-primary-hover: #009900;
|
|
30
|
+
--sc-surface-success-primary-active: #006600;
|
|
31
|
+
--sc-surface-success-secondary-hover: #E6FFE6;
|
|
32
|
+
--sc-surface-success-secondary-active: #E6FFE6;
|
|
33
|
+
--sc-surface-caution-primary: #CC6600;
|
|
34
|
+
--sc-surface-caution-secondary: #FFD9B3;
|
|
35
|
+
--sc-surface-caution-primary-hover: #E57300;
|
|
36
|
+
--sc-surface-caution-primary-active: #B25A00;
|
|
37
|
+
--sc-surface-caution-secondary-hover: #FFE5CC;
|
|
38
|
+
--sc-surface-caution-secondary-active: #FFCC99;
|
|
39
|
+
--sc-surface-danger-primary: #CC0000;
|
|
40
|
+
--sc-surface-danger-secondary: #FFCCCC;
|
|
41
|
+
--sc-surface-danger-primary-hover: #E50000;
|
|
42
|
+
--sc-surface-danger-primary-active: #B30000;
|
|
43
|
+
--sc-surface-danger-secondary-hover: #FFE7E7;
|
|
44
|
+
--sc-surface-danger-secondary-active: #FFB3B3;
|
|
45
|
+
--sc-content-brand: #000000;
|
|
46
|
+
--sc-content-success: #008000;
|
|
47
|
+
--sc-content-caution: #994D00;
|
|
48
|
+
--sc-content-danger: #990000;
|
|
49
|
+
--sc-content-disabled: #737373;
|
|
50
|
+
--sc-content-neutral-primary: #292929;
|
|
51
|
+
--sc-content-neutral-secondary: #404040;
|
|
52
|
+
--sc-content-brand-on-primary: #FFFFFF;
|
|
53
|
+
--sc-content-success-on-primary: #FFFFFF;
|
|
54
|
+
--sc-content-caution-on-primary: #FFFFFF;
|
|
55
|
+
--sc-content-danger-on-primary: #FFFFFF;
|
|
56
|
+
--sc-content-disabled-on-disabled: #737373;
|
|
57
|
+
--sc-border-neutral: rgba(0,0,0, 0.1);
|
|
58
|
+
--sc-border-brand: #000000;
|
|
59
|
+
--sc-border-success: #008000;
|
|
60
|
+
--sc-border-caution: #CC6600;
|
|
61
|
+
--sc-border-danger: #CC0000;
|
|
62
|
+
--sc-border-disabled: #737373;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:root {
|
|
66
|
+
/** Typography */
|
|
67
|
+
--sc-font-family: sans-serif;
|
|
68
|
+
--sc-heading-1-font-size: 32px;
|
|
69
|
+
--sc-heading-1-line-height: 36px;
|
|
70
|
+
--sc-heading-1-font-weight: 700;
|
|
71
|
+
--sc-heading-2-font-size: 29px;
|
|
72
|
+
--sc-heading-2-line-height: 32px;
|
|
73
|
+
--sc-heading-2-font-weight: 700;
|
|
74
|
+
--sc-heading-3-font-size: 26px;
|
|
75
|
+
--sc-heading-3-line-height: 28px;
|
|
76
|
+
--sc-heading-3-font-weight: 700;
|
|
77
|
+
--sc-heading-4-font-size: 23px;
|
|
78
|
+
--sc-heading-4-line-height: 24px;
|
|
79
|
+
--sc-heading-4-font-weight: 700;
|
|
80
|
+
--sc-heading-5-font-size: 20px;
|
|
81
|
+
--sc-heading-5-line-height: 24px;
|
|
82
|
+
--sc-heading-5-font-weight: 700;
|
|
83
|
+
--sc-heading-6-font-size: 10px;
|
|
84
|
+
--sc-heading-6-line-height: 12px;
|
|
85
|
+
--sc-heading-6-font-weight: 700;
|
|
86
|
+
--sc-body-bold-font-size: 16px;
|
|
87
|
+
--sc-body-bold-line-height: 20px;
|
|
88
|
+
--sc-body-bold-font-weight: 700;
|
|
89
|
+
--sc-body-font-size: 16px;
|
|
90
|
+
--sc-body-line-height: 20px;
|
|
91
|
+
--sc-body-font-weight:400;
|
|
92
|
+
--sc-body-small-bold-font-size: 12px;
|
|
93
|
+
--sc-body-small-bold-line-height: 16px;
|
|
94
|
+
--sc-body-small-bold-font-weight: 700;
|
|
95
|
+
--sc-body-small-font-size: 12px;
|
|
96
|
+
--sc-body-small-line-height: 16px;
|
|
97
|
+
--sc-body-small-font-weight: 400;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.searchcraft-toggle-button-container {
|
|
101
|
+
display: flex;
|
|
102
|
+
justify-content: space-between;
|
|
103
|
+
align-items: flex-start;
|
|
104
|
+
gap: 10px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.searchcraft-toggle-button-label {
|
|
108
|
+
font-family: var(--sc-font-family);
|
|
109
|
+
-webkit-font-smoothing: antialiased;
|
|
110
|
+
font-size: var(--sc-body-font-size);
|
|
111
|
+
font-weight: var(--sc-body-font-weight);
|
|
112
|
+
line-height: var(--sc-body-line-height);
|
|
113
|
+
margin: 0;
|
|
114
|
+
color: var(--sc-content-neutral-primary);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.searchcraft-toggle-button-sub-label {
|
|
118
|
+
font-family: var(--sc-font-family);
|
|
119
|
+
-webkit-font-smoothing: antialiased;
|
|
120
|
+
font-size: var(--sc-body-small-font-size);
|
|
121
|
+
font-weight: var(--sc-body-small-font-weight);
|
|
122
|
+
line-height: var(--sc-body-small-line-height);
|
|
123
|
+
margin: 0;
|
|
124
|
+
color: var(--sc-content-neutral-secondary);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.searchcraft-toggle-button-background {
|
|
128
|
+
transition: background-color 0.2s;
|
|
129
|
+
background: var(--sc-surface-disabled);
|
|
3
130
|
border: none;
|
|
4
131
|
border-radius: 16px;
|
|
5
|
-
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
|
|
6
132
|
cursor: pointer;
|
|
7
133
|
height: 26px;
|
|
8
|
-
margin-left: 10px;
|
|
9
134
|
position: relative;
|
|
10
135
|
width: 44px;
|
|
136
|
+
flex-shrink: 0;
|
|
11
137
|
}
|
|
12
138
|
|
|
13
|
-
.
|
|
14
|
-
background:
|
|
139
|
+
.searchcraft-toggle-button-background.active {
|
|
140
|
+
background: var(--sc-surface-brand-primary);
|
|
15
141
|
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
|
|
16
142
|
}
|
|
17
143
|
|
|
18
|
-
.
|
|
19
|
-
background:
|
|
144
|
+
.searchcraft-toggle-button-handle {
|
|
145
|
+
background: var(--sc-surface-neutral-light);
|
|
20
146
|
border-radius: 50%;
|
|
21
147
|
height: 18px;
|
|
22
148
|
left: 4px;
|
|
@@ -26,6 +152,6 @@
|
|
|
26
152
|
width: 18px;
|
|
27
153
|
}
|
|
28
154
|
|
|
29
|
-
.
|
|
155
|
+
.searchcraft-toggle-button-handle.active {
|
|
30
156
|
transform: translateX(16px);
|
|
31
157
|
}
|
package/dist/collection/index.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* DO NOT use this file to export your components. Instead, use the recommended approaches
|
|
8
8
|
* to consume components of this package as outlined in the `README.md`.
|
|
9
9
|
*/
|
|
10
|
-
export {
|
|
10
|
+
export { parseCustomStyles, serializeStyles, } from './utils/utils';
|
|
11
11
|
export { useSearchcraftStore, useThemeStore } from './provider/store';
|
|
12
|
+
export * from './types';
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,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 */\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,6 +1,5 @@
|
|
|
1
1
|
import { create } from "zustand";
|
|
2
2
|
import { SDKDebugger, LogLevel, } from "@searchcraft/core";
|
|
3
|
-
import { filterPaths } from "../utils/utils";
|
|
4
3
|
// Zustand store for Searchcraft state
|
|
5
4
|
const useSearchcraftStore = create((set, get) => {
|
|
6
5
|
let searchcraft = null;
|
|
@@ -24,53 +23,68 @@ const useSearchcraftStore = create((set, get) => {
|
|
|
24
23
|
}
|
|
25
24
|
};
|
|
26
25
|
return {
|
|
26
|
+
resetFacetPaths: () => {
|
|
27
|
+
set({
|
|
28
|
+
facetPathsForIndexFields: {},
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
addFacetPathsForIndexField: (data) => set((state) => ({
|
|
32
|
+
facetPathsForIndexFields: Object.assign(Object.assign({}, state.facetPathsForIndexFields), { [data.fieldName]: data }),
|
|
33
|
+
})),
|
|
34
|
+
removeFacetPathsForIndexField: (fieldName) => set((state) => {
|
|
35
|
+
const currentPaths = state.facetPathsForIndexFields;
|
|
36
|
+
delete currentPaths[fieldName];
|
|
37
|
+
return {
|
|
38
|
+
facetPathsForIndexFields: Object.assign({}, currentPaths),
|
|
39
|
+
};
|
|
40
|
+
}),
|
|
41
|
+
addRangeValueForIndexField: (data) => set((state) => ({
|
|
42
|
+
rangeValueForIndexFields: Object.assign(Object.assign({}, state.rangeValueForIndexFields), { [data.fieldName]: data }),
|
|
43
|
+
})),
|
|
44
|
+
removeRangeValueForIndexField: (fieldName) => set((state) => {
|
|
45
|
+
const currentValues = state.rangeValueForIndexFields;
|
|
46
|
+
delete currentValues[fieldName];
|
|
47
|
+
return {
|
|
48
|
+
rangeValueForIndexFields: Object.assign({}, currentValues),
|
|
49
|
+
};
|
|
50
|
+
}),
|
|
51
|
+
setSearchMode: (mode) => set({ searchMode: mode }),
|
|
52
|
+
setSortType: (type) => set({ sortType: type }),
|
|
53
|
+
searchMode: 'fuzzy',
|
|
54
|
+
sortType: 'asc',
|
|
55
|
+
facetPathsForIndexFields: {},
|
|
56
|
+
rangeValueForIndexFields: {},
|
|
27
57
|
query: '',
|
|
28
58
|
isRequesting: false,
|
|
29
59
|
searchResults: null,
|
|
30
60
|
facets: null,
|
|
31
61
|
getSearchcraftInstance: () => searchcraft,
|
|
32
|
-
selectedFilters: [],
|
|
33
62
|
searchParams: {
|
|
34
63
|
mode: 'fuzzy',
|
|
35
64
|
sort: 'asc',
|
|
36
65
|
},
|
|
37
|
-
setQuery: (query) => set({ query }),
|
|
66
|
+
setQuery: (query) => set({ query, facetPathsForIndexFields: {} }),
|
|
38
67
|
setSearchResults: (results) => set({ searchResults: results }),
|
|
39
68
|
setFacets: (facets) => set({ facets }),
|
|
40
|
-
setSelectedFilters: (filters) => set({ selectedFilters: filters }),
|
|
41
69
|
setIsRequesting: (isRequesting) => set({ isRequesting }),
|
|
42
|
-
setSearchParams: (params) => set((state) => ({
|
|
43
|
-
searchParams: Object.assign(Object.assign({}, state.searchParams), params),
|
|
44
|
-
})),
|
|
45
|
-
setYearsRange: (yearsRange) => set((state) => ({
|
|
46
|
-
searchParams: Object.assign(Object.assign({}, state.searchParams), { yearsRange }),
|
|
47
|
-
})),
|
|
48
70
|
search: async () => {
|
|
49
|
-
const
|
|
71
|
+
const state = get();
|
|
50
72
|
if (!searchcraft) {
|
|
51
73
|
throw new Error('Searchcraft instance is not initialized.');
|
|
52
74
|
}
|
|
53
|
-
setIsRequesting(true);
|
|
54
|
-
log(LogLevel.INFO, `Starting search with query: "${query}"`);
|
|
55
|
-
const filters = filterPaths(selectedFilters);
|
|
75
|
+
state.setIsRequesting(true);
|
|
76
|
+
log(LogLevel.INFO, `Starting search with query: "${state.query}"`);
|
|
56
77
|
try {
|
|
57
|
-
const
|
|
58
|
-
query,
|
|
59
|
-
mode:
|
|
60
|
-
sort:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
counts: Object.fromEntries(filters.map((path) => [path, 1])),
|
|
65
|
-
},
|
|
66
|
-
}
|
|
67
|
-
: null,
|
|
68
|
-
yearsRange: searchParams.yearsRange,
|
|
69
|
-
};
|
|
70
|
-
const results = await searchcraft.search(searchRequest);
|
|
71
|
-
setSearchResults(results);
|
|
78
|
+
const results = await searchcraft.search({
|
|
79
|
+
query: state.query,
|
|
80
|
+
mode: state.searchMode,
|
|
81
|
+
sort: state.sortType,
|
|
82
|
+
facetPathsForIndexFields: state.facetPathsForIndexFields,
|
|
83
|
+
rangeValueForIndexFields: state.rangeValueForIndexFields,
|
|
84
|
+
});
|
|
72
85
|
const updatedFacets = results.data.facets || null;
|
|
73
|
-
|
|
86
|
+
state.setSearchResults(results);
|
|
87
|
+
state.setFacets(updatedFacets);
|
|
74
88
|
log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);
|
|
75
89
|
log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);
|
|
76
90
|
}
|
|
@@ -79,7 +93,7 @@ const useSearchcraftStore = create((set, get) => {
|
|
|
79
93
|
log(LogLevel.ERROR, `Search failed with error: ${error.message}`);
|
|
80
94
|
}
|
|
81
95
|
finally {
|
|
82
|
-
setIsRequesting(false);
|
|
96
|
+
state.setIsRequesting(false);
|
|
83
97
|
}
|
|
84
98
|
},
|
|
85
99
|
initialize: (searchcraftInstance, debug = false) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/provider/store.tsx"],"names":[],"mappings":"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","sourcesContent":["import { create } from 'zustand';\n\nimport {\n type SearchcraftCore,\n SDKDebugger,\n LogLevel,\n type SearchcraftResponse,\n type Facets,\n} from '@searchcraft/core';\n\nimport { filterPaths } from '@utils/utils';\n\ninterface ThemeState {\n theme: 'light' | 'dark';\n toggleTheme: () => void;\n}\n\ninterface SearchParams {\n mode: 'fuzzy' | 'normal';\n sort: 'asc' | 'desc';\n yearsRange?: [number, number];\n}\n\ninterface SearchcraftState {\n facets: Facets | null;\n getSearchcraftInstance: () => SearchcraftCore | null;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n isRequesting: boolean;\n query: string;\n search: () => Promise<void>;\n searchParams: SearchParams;\n searchResults: SearchcraftResponse | null;\n selectedFilters: string[]; // Add this to store selected filters\n setFacets: (facets: Facets) => void;\n setIsRequesting: (isRequesting: boolean) => void;\n setQuery: (query: string) => void;\n setSearchParams: (params: Partial<SearchParams>) => void;\n setSearchResults: (results: SearchcraftResponse | null) => void;\n setSelectedFilters: (filters: string[]) => void; // Update selected filters\n setYearsRange: (yearsRange: [number, number]) => void;\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = create<SearchcraftState>((set, get) => {\n let searchcraft: SearchcraftCore | null = null;\n let debuggerInstance: SDKDebugger | null = null;\n\n const log = (level: LogLevel, message: string) => {\n if (debuggerInstance) {\n switch (level) {\n case LogLevel.DEBUG:\n debuggerInstance.debug(message);\n break;\n case LogLevel.INFO:\n debuggerInstance.info(message);\n break;\n case LogLevel.WARN:\n debuggerInstance.warn(message);\n break;\n case LogLevel.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n\n return {\n query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n selectedFilters: [],\n searchParams: {\n mode: 'fuzzy',\n sort: 'asc',\n },\n setQuery: (query) => set({ query }),\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setSelectedFilters: (filters) => set({ selectedFilters: filters }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n setSearchParams: (params) =>\n set((state) => ({\n searchParams: {\n ...state.searchParams,\n ...params,\n },\n })),\n setYearsRange: (yearsRange) =>\n set((state) => ({\n searchParams: {\n ...state.searchParams,\n yearsRange,\n },\n })),\n search: async () => {\n const {\n query,\n selectedFilters,\n setIsRequesting,\n setSearchResults,\n setFacets,\n searchParams,\n } = get();\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n setIsRequesting(true);\n log(LogLevel.INFO, `Starting search with query: \"${query}\"`);\n const filters = filterPaths(selectedFilters);\n try {\n const searchRequest = {\n query,\n mode: searchParams.mode,\n sort: searchParams.sort,\n facets:\n selectedFilters.length > 0\n ? {\n section: {\n counts: Object.fromEntries(\n filters.map((path) => [path, 1]),\n ),\n },\n }\n : null,\n yearsRange: searchParams.yearsRange,\n };\n\n const results = await searchcraft.search(searchRequest);\n setSearchResults(results);\n const updatedFacets = results.data.facets || null;\n setFacets(updatedFacets);\n\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);\n } catch (error) {\n console.error(`Search failed: ${(error as Error).message}`);\n log(\n LogLevel.ERROR,\n `Search failed with error: ${(error as Error).message}`,\n );\n } finally {\n setIsRequesting(false);\n }\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new SDKDebugger({ logLevel: LogLevel.DEBUG })\n : null;\n\n log(LogLevel.INFO, 'Searchcraft store initialized.');\n },\n };\n});\n\nconst useThemeStore = create<ThemeState>((set) => ({\n theme: 'light',\n toggleTheme: () =>\n set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\nexport { useSearchcraftStore, useThemeStore };\n"]}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/provider/store.tsx"],"names":[],"mappings":"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","sourcesContent":["import { create } from 'zustand';\n\nimport {\n type SearchcraftCore,\n SDKDebugger,\n LogLevel,\n type SearchcraftResponse,\n type FacetPrime,\n type FacetPathsForIndexField,\n type RangeValueForIndexField,\n} from '@searchcraft/core';\n\ninterface ThemeState {\n theme: 'light' | 'dark';\n toggleTheme: () => void;\n}\n\ninterface SearchParams {\n mode: 'fuzzy' | 'normal';\n sort: 'asc' | 'desc';\n}\n\nexport interface SearchcraftState {\n resetFacetPaths: () => void;\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) => void;\n removeFacetPathsForIndexField: (fieldName: string) => void;\n addRangeValueForIndexField: (data: RangeValueForIndexField) => void;\n removeRangeValueForIndexField: (fieldName: string) => void;\n setSearchMode: (mode: 'fuzzy' | 'normal') => void;\n setSortType: (type: 'asc' | 'desc') => void;\n facetPathsForIndexFields: Record<string, FacetPathsForIndexField>;\n rangeValueForIndexFields: Record<string, RangeValueForIndexField>;\n searchMode: 'fuzzy' | 'normal';\n sortType: 'asc' | 'desc';\n facets: FacetPrime | null;\n getSearchcraftInstance: () => SearchcraftCore | null;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n isRequesting: boolean;\n query: string;\n search: () => Promise<void>;\n searchParams: SearchParams;\n searchResults: SearchcraftResponse | null;\n setFacets: (facets: FacetPrime) => void;\n setIsRequesting: (isRequesting: boolean) => void;\n setQuery: (query: string) => void;\n setSearchResults: (results: SearchcraftResponse | null) => void;\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = create<SearchcraftState>((set, get) => {\n let searchcraft: SearchcraftCore | null = null;\n let debuggerInstance: SDKDebugger | null = null;\n\n const log = (level: LogLevel, message: string) => {\n if (debuggerInstance) {\n switch (level) {\n case LogLevel.DEBUG:\n debuggerInstance.debug(message);\n break;\n case LogLevel.INFO:\n debuggerInstance.info(message);\n break;\n case LogLevel.WARN:\n debuggerInstance.warn(message);\n break;\n case LogLevel.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n\n return {\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) =>\n set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeFacetPathsForIndexField: (fieldName: string) =>\n set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n addRangeValueForIndexField: (data: RangeValueForIndexField) =>\n set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeRangeValueForIndexField: (fieldName: string) =>\n set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n searchMode: 'fuzzy',\n sortType: 'asc',\n facetPathsForIndexFields: {},\n rangeValueForIndexFields: {},\n query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n searchParams: {\n mode: 'fuzzy',\n sort: 'asc',\n },\n setQuery: (query) => set({ query, facetPathsForIndexFields: {} }),\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const state = get();\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n state.setIsRequesting(true);\n log(LogLevel.INFO, `Starting search with query: \"${state.query}\"`);\n try {\n const results = await searchcraft.search({\n query: state.query,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n });\n const updatedFacets = results.data.facets || null;\n\n state.setSearchResults(results);\n state.setFacets(updatedFacets);\n\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);\n } catch (error) {\n console.error(`Search failed: ${(error as Error).message}`);\n log(\n LogLevel.ERROR,\n `Search failed with error: ${(error as Error).message}`,\n );\n } finally {\n state.setIsRequesting(false);\n }\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new SDKDebugger({ logLevel: LogLevel.DEBUG })\n : null;\n\n log(LogLevel.INFO, 'Searchcraft store initialized.');\n },\n };\n});\n\nconst useThemeStore = create<ThemeState>((set) => ({\n theme: 'light',\n toggleTheme: () =>\n set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\nexport { useSearchcraftStore, useThemeStore };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC","sourcesContent":["export * from './searchcraft-base-search-results.types';\nexport * from './searchcraft-filter-panel.types';\n"]}
|