instantsearch.js 4.80.0 → 4.81.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 (63) hide show
  1. package/cjs/connectors/chat/connectChat.js +200 -0
  2. package/cjs/connectors/index.js +7 -0
  3. package/cjs/connectors/index.umd.js +239 -0
  4. package/cjs/index.js +2 -2
  5. package/cjs/lib/chat/chat.js +177 -0
  6. package/cjs/lib/chat/index.js +27 -0
  7. package/cjs/lib/useStickToBottom.js +20 -0
  8. package/cjs/lib/version.js +1 -1
  9. package/cjs/templates/carousel/carousel.js +31 -4
  10. package/cjs/widgets/chat/chat.js +615 -0
  11. package/cjs/widgets/index/index.js +6 -1
  12. package/cjs/widgets/index.js +7 -0
  13. package/cjs/widgets/index.umd.js +267 -0
  14. package/dist/instantsearch.development.d.ts +75 -11
  15. package/dist/instantsearch.development.js +111 -57
  16. package/dist/instantsearch.development.js.map +1 -1
  17. package/dist/instantsearch.production.d.ts +75 -11
  18. package/dist/instantsearch.production.min.d.ts +75 -11
  19. package/dist/instantsearch.production.min.js +2 -2
  20. package/dist/instantsearch.production.min.js.map +1 -1
  21. package/es/connectors/chat/connectChat.d.ts +413 -0
  22. package/es/connectors/chat/connectChat.js +194 -0
  23. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -0
  24. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
  25. package/es/connectors/hits/connectHits.d.ts +1 -0
  26. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
  27. package/es/connectors/index.d.ts +1 -0
  28. package/es/connectors/index.js +2 -1
  29. package/es/connectors/index.umd.d.ts +39 -0
  30. package/es/connectors/index.umd.js +47 -0
  31. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
  32. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
  33. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
  34. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
  35. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
  36. package/es/lib/chat/chat.d.ts +40 -0
  37. package/es/lib/chat/chat.js +166 -0
  38. package/es/lib/chat/index.d.ts +7 -0
  39. package/es/lib/chat/index.js +5 -0
  40. package/es/lib/useStickToBottom.d.ts +1 -0
  41. package/es/lib/useStickToBottom.js +14 -0
  42. package/es/lib/version.d.ts +1 -1
  43. package/es/lib/version.js +1 -1
  44. package/es/templates/carousel/carousel.d.ts +10 -3
  45. package/es/templates/carousel/carousel.js +32 -5
  46. package/es/types/render-state.d.ts +2 -1
  47. package/es/types/templates.d.ts +1 -1
  48. package/es/types/widget.d.ts +2 -2
  49. package/es/widgets/chat/chat.d.ts +555 -0
  50. package/es/widgets/chat/chat.js +597 -0
  51. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
  52. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  53. package/es/widgets/hits/hits.d.ts +1 -0
  54. package/es/widgets/index/index.js +6 -1
  55. package/es/widgets/index.d.ts +1 -0
  56. package/es/widgets/index.js +2 -1
  57. package/es/widgets/index.umd.d.ts +44 -0
  58. package/es/widgets/index.umd.js +51 -0
  59. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
  60. package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
  61. package/es/widgets/related-products/related-products.d.ts +3 -1
  62. package/es/widgets/trending-items/trending-items.d.ts +3 -1
  63. package/package.json +11 -7
@@ -45,4 +45,5 @@ export { default as toggleRefinement } from "./toggle-refinement/toggle-refineme
45
45
  export { default as trendingItems } from "./trending-items/trending-items.js";
46
46
  export { default as voiceSearch } from "./voice-search/voice-search.js";
47
47
  export { default as frequentlyBoughtTogether } from "./frequently-bought-together/frequently-bought-together.js";
48
- export { default as lookingSimilar } from "./looking-similar/looking-similar.js";
48
+ export { default as lookingSimilar } from "./looking-similar/looking-similar.js";
49
+ export { default as chat } from "./chat/chat.js";
@@ -0,0 +1,44 @@
1
+ import dynamicWidgets from './dynamic-widgets/dynamic-widgets';
2
+ /** @deprecated answers is no longer supported */
3
+ export declare const EXPERIMENTAL_answers: import("./answers/answers").AnswersWidget;
4
+ /** @deprecated use relatedItems instead */
5
+ export declare const EXPERIMENTAL_configureRelatedItems: import("./configure-related-items/configure-related-items").ConfigureRelatedItemsWidget;
6
+ /** @deprecated use dynamicWidgets */
7
+ export declare const EXPERIMENTAL_dynamicWidgets: import("./dynamic-widgets/dynamic-widgets").DynamicWidgetsWidget;
8
+ export { dynamicWidgets };
9
+ export { default as analytics } from './analytics/analytics';
10
+ export { default as breadcrumb } from './breadcrumb/breadcrumb';
11
+ export { default as clearRefinements } from './clear-refinements/clear-refinements';
12
+ export { default as configure } from './configure/configure';
13
+ export { default as currentRefinements } from './current-refinements/current-refinements';
14
+ export { default as geoSearch } from './geo-search/geo-search';
15
+ export { default as hierarchicalMenu } from './hierarchical-menu/hierarchical-menu';
16
+ export { default as hits } from './hits/hits';
17
+ export { default as hitsPerPage } from './hits-per-page/hits-per-page';
18
+ export { default as index } from './index/index';
19
+ export type { IndexWidget } from './index/index';
20
+ export { default as infiniteHits } from './infinite-hits/infinite-hits';
21
+ export { default as menu } from './menu/menu';
22
+ export { default as menuSelect } from './menu-select/menu-select';
23
+ export { default as numericMenu } from './numeric-menu/numeric-menu';
24
+ export { default as pagination } from './pagination/pagination';
25
+ export { default as panel } from './panel/panel';
26
+ export { default as places } from './places/places';
27
+ export { default as poweredBy } from './powered-by/powered-by';
28
+ export { default as queryRuleContext } from './query-rule-context/query-rule-context';
29
+ export { default as queryRuleCustomData } from './query-rule-custom-data/query-rule-custom-data';
30
+ export { default as relatedProducts } from './related-products/related-products';
31
+ export { default as rangeInput } from './range-input/range-input';
32
+ export { default as rangeSlider } from './range-slider/range-slider';
33
+ export { default as ratingMenu } from './rating-menu/rating-menu';
34
+ export { default as refinementList } from './refinement-list/refinement-list';
35
+ export { default as relevantSort } from './relevant-sort/relevant-sort';
36
+ export { default as searchBox } from './search-box/search-box';
37
+ export { default as sortBy } from './sort-by/sort-by';
38
+ export { default as stats } from './stats/stats';
39
+ export { default as toggleRefinement } from './toggle-refinement/toggle-refinement';
40
+ export { default as trendingItems } from './trending-items/trending-items';
41
+ export { default as voiceSearch } from './voice-search/voice-search';
42
+ export { default as frequentlyBoughtTogether } from './frequently-bought-together/frequently-bought-together';
43
+ export { default as lookingSimilar } from './looking-similar/looking-similar';
44
+ export declare const chat: () => never;
@@ -0,0 +1,51 @@
1
+ import { deprecate } from "../lib/utils/index.js";
2
+ import answers from "./answers/answers.js";
3
+ import configureRelatedItems from "./configure-related-items/configure-related-items.js";
4
+ import dynamicWidgets from "./dynamic-widgets/dynamic-widgets.js";
5
+
6
+ /** @deprecated answers is no longer supported */
7
+ export var EXPERIMENTAL_answers = deprecate(answers, 'answers is no longer supported');
8
+
9
+ /** @deprecated use relatedItems instead */
10
+ export var EXPERIMENTAL_configureRelatedItems = deprecate(configureRelatedItems, 'EXPERIMENTAL_configureRelatedItems is deprecated and will be removed in a next minor version of InstantSearch. Please use relatedItems instead.');
11
+
12
+ /** @deprecated use dynamicWidgets */
13
+ export var EXPERIMENTAL_dynamicWidgets = deprecate(dynamicWidgets, 'use dynamicWidgets');
14
+ export { dynamicWidgets };
15
+ export { default as analytics } from "./analytics/analytics.js";
16
+ export { default as breadcrumb } from "./breadcrumb/breadcrumb.js";
17
+ export { default as clearRefinements } from "./clear-refinements/clear-refinements.js";
18
+ export { default as configure } from "./configure/configure.js";
19
+ export { default as currentRefinements } from "./current-refinements/current-refinements.js";
20
+ export { default as geoSearch } from "./geo-search/geo-search.js";
21
+ export { default as hierarchicalMenu } from "./hierarchical-menu/hierarchical-menu.js";
22
+ export { default as hits } from "./hits/hits.js";
23
+ export { default as hitsPerPage } from "./hits-per-page/hits-per-page.js";
24
+ export { default as index } from "./index/index.js";
25
+ export { default as infiniteHits } from "./infinite-hits/infinite-hits.js";
26
+ export { default as menu } from "./menu/menu.js";
27
+ export { default as menuSelect } from "./menu-select/menu-select.js";
28
+ export { default as numericMenu } from "./numeric-menu/numeric-menu.js";
29
+ export { default as pagination } from "./pagination/pagination.js";
30
+ export { default as panel } from "./panel/panel.js";
31
+ export { default as places } from "./places/places.js";
32
+ export { default as poweredBy } from "./powered-by/powered-by.js";
33
+ export { default as queryRuleContext } from "./query-rule-context/query-rule-context.js";
34
+ export { default as queryRuleCustomData } from "./query-rule-custom-data/query-rule-custom-data.js";
35
+ export { default as relatedProducts } from "./related-products/related-products.js";
36
+ export { default as rangeInput } from "./range-input/range-input.js";
37
+ export { default as rangeSlider } from "./range-slider/range-slider.js";
38
+ export { default as ratingMenu } from "./rating-menu/rating-menu.js";
39
+ export { default as refinementList } from "./refinement-list/refinement-list.js";
40
+ export { default as relevantSort } from "./relevant-sort/relevant-sort.js";
41
+ export { default as searchBox } from "./search-box/search-box.js";
42
+ export { default as sortBy } from "./sort-by/sort-by.js";
43
+ export { default as stats } from "./stats/stats.js";
44
+ export { default as toggleRefinement } from "./toggle-refinement/toggle-refinement.js";
45
+ export { default as trendingItems } from "./trending-items/trending-items.js";
46
+ export { default as voiceSearch } from "./voice-search/voice-search.js";
47
+ export { default as frequentlyBoughtTogether } from "./frequently-bought-together/frequently-bought-together.js";
48
+ export { default as lookingSimilar } from "./looking-similar/looking-similar.js";
49
+ export var chat = function chat() {
50
+ throw new Error("\"chat\" is not available from the UMD build.\n\nPlease use InstantSearch.js with a packaging system:\nhttps://www.algolia.com/doc/guides/building-search-ui/installation/js/#with-a-packaging-system");
51
+ };
@@ -105,6 +105,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
105
105
  init(initOptions: import("../../types").InitOptions): void;
106
106
  render(renderOptions: import("../../types").RenderOptions): void;
107
107
  getRenderState(renderState: {
108
+ [x: string]: unknown;
108
109
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
109
110
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
110
111
  breadcrumb?: {
@@ -52,6 +52,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
52
52
  init(initOptions: import("../../types").InitOptions): void;
53
53
  render(renderOptions: import("../../types").RenderOptions): void;
54
54
  getRenderState(renderState: {
55
+ [x: string]: unknown;
55
56
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
56
57
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
57
58
  breadcrumb?: {
@@ -96,6 +97,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
96
97
  analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../analytics/analytics").AnalyticsWidgetParams> | undefined;
97
98
  places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../places/places").PlacesWidgetParams> | undefined;
98
99
  }): {
100
+ [x: string]: unknown;
99
101
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
100
102
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
101
103
  breadcrumb?: {
@@ -154,7 +156,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
154
156
  breadcrumb: {
155
157
  [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
156
158
  };
157
- } & {
159
+ } & Record<string, unknown> & {
158
160
  clearRefinements: import("../../types").WidgetRenderState<import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams>;
159
161
  } & {
160
162
  configure: import("../../types").WidgetRenderState<import("../../connectors/configure/connectConfigure").ConfigureRenderState, import("../../connectors/configure/connectConfigure").ConfigureConnectorParams>;
@@ -52,6 +52,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
52
52
  init(initOptions: import("../../types").InitOptions): void;
53
53
  render(renderOptions: import("../../types").RenderOptions): void;
54
54
  getRenderState(renderState: {
55
+ [x: string]: unknown;
55
56
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
56
57
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
57
58
  breadcrumb?: {
@@ -96,6 +97,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
96
97
  analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../analytics/analytics").AnalyticsWidgetParams> | undefined;
97
98
  places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../places/places").PlacesWidgetParams> | undefined;
98
99
  }): {
100
+ [x: string]: unknown;
99
101
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
100
102
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
101
103
  breadcrumb?: {
@@ -154,7 +156,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
154
156
  breadcrumb: {
155
157
  [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
156
158
  };
157
- } & {
159
+ } & Record<string, unknown> & {
158
160
  clearRefinements: import("../../types").WidgetRenderState<import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams>;
159
161
  } & {
160
162
  configure: import("../../types").WidgetRenderState<import("../../connectors/configure/connectConfigure").ConfigureRenderState, import("../../connectors/configure/connectConfigure").ConfigureConnectorParams>;
@@ -52,6 +52,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
52
52
  init(initOptions: import("../../types").InitOptions): void;
53
53
  render(renderOptions: import("../../types").RenderOptions): void;
54
54
  getRenderState(renderState: {
55
+ [x: string]: unknown;
55
56
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
56
57
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
57
58
  breadcrumb?: {
@@ -96,6 +97,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
96
97
  analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../analytics/analytics").AnalyticsWidgetParams> | undefined;
97
98
  places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../places/places").PlacesWidgetParams> | undefined;
98
99
  }): {
100
+ [x: string]: unknown;
99
101
  answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
100
102
  autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
101
103
  breadcrumb?: {
@@ -154,7 +156,7 @@ declare const _default: <THit extends NonNullable<object> = BaseHit>(widgetParam
154
156
  breadcrumb: {
155
157
  [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
156
158
  };
157
- } & {
159
+ } & Record<string, unknown> & {
158
160
  clearRefinements: import("../../types").WidgetRenderState<import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams>;
159
161
  } & {
160
162
  configure: import("../../types").WidgetRenderState<import("../../connectors/configure/connectConfigure").ConfigureRenderState, import("../../connectors/configure/connectConfigure").ConfigureConnectorParams>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instantsearch.js",
3
- "version": "4.80.0",
3
+ "version": "4.81.0",
4
4
  "description": "InstantSearch.js is a JavaScript library for building performant and instant search experiences with Algolia.",
5
5
  "homepage": "https://www.algolia.com/doc/guides/building-search-ui/what-is-instantsearch/js/",
6
6
  "types": "es/index.d.ts",
@@ -31,13 +31,17 @@
31
31
  "@types/google.maps": "^3.55.12",
32
32
  "@types/hogan.js": "^3.0.0",
33
33
  "@types/qs": "^6.5.3",
34
+ "ai": "^5.0.18",
34
35
  "algoliasearch-helper": "3.26.0",
35
36
  "hogan.js": "^3.0.2",
36
37
  "htm": "^3.0.0",
37
- "instantsearch-ui-components": "0.11.2",
38
+ "instantsearch-ui-components": "0.12.0",
38
39
  "preact": "^10.10.0",
39
40
  "qs": "^6.5.1 < 6.10",
40
- "search-insights": "^2.17.2"
41
+ "react": ">= 0.14.0",
42
+ "search-insights": "^2.17.2",
43
+ "zod": "^3.25.76 || ^4",
44
+ "zod-to-json-schema": "3.24.6"
41
45
  },
42
46
  "peerDependencies": {
43
47
  "algoliasearch": ">= 3.1 < 6"
@@ -56,9 +60,9 @@
56
60
  "watch:es": "yarn --silent build:es:base --watch"
57
61
  },
58
62
  "devDependencies": {
59
- "@instantsearch/mocks": "*",
60
- "@instantsearch/tests": "*",
61
- "@instantsearch/testutils": "*",
63
+ "@instantsearch/mocks": "1.79.0",
64
+ "@instantsearch/tests": "1.79.0",
65
+ "@instantsearch/testutils": "1.68.0",
62
66
  "@storybook/html": "5.3.9",
63
67
  "@types/scriptjs": "0.0.2",
64
68
  "algoliasearch": "5.1.1",
@@ -66,5 +70,5 @@
66
70
  "scriptjs": "2.5.9",
67
71
  "webpack": "4.47.0"
68
72
  },
69
- "gitHead": "6e5bbe12332befe4f609b1540ab997827fd88f88"
73
+ "gitHead": "7cc565086f06a9ec74155002c26596b68efc53bc"
70
74
  }