@cludosearch/cludo-search-components 1.0.32

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 (255) hide show
  1. package/README.md +26 -0
  2. package/dist/components/controls/cludo-search-controls.d.ts +5 -0
  3. package/dist/components/controls/cludo-search-controls.d.ts.map +1 -0
  4. package/dist/components/controls/facets/base-facet.d.ts +27 -0
  5. package/dist/components/controls/facets/base-facet.d.ts.map +1 -0
  6. package/dist/components/controls/facets/checkbox-facet.d.ts +4 -0
  7. package/dist/components/controls/facets/checkbox-facet.d.ts.map +1 -0
  8. package/dist/components/controls/facets/elements/clear-all-facets.d.ts +8 -0
  9. package/dist/components/controls/facets/elements/clear-all-facets.d.ts.map +1 -0
  10. package/dist/components/controls/facets/elements/current-facets.d.ts +11 -0
  11. package/dist/components/controls/facets/elements/current-facets.d.ts.map +1 -0
  12. package/dist/components/controls/facets/elements/facet-header.d.ts +11 -0
  13. package/dist/components/controls/facets/elements/facet-header.d.ts.map +1 -0
  14. package/dist/components/controls/facets/elements/facet-items-list.d.ts +12 -0
  15. package/dist/components/controls/facets/elements/facet-items-list.d.ts.map +1 -0
  16. package/dist/components/controls/facets/elements/facet-search.d.ts +10 -0
  17. package/dist/components/controls/facets/elements/facet-search.d.ts.map +1 -0
  18. package/dist/components/controls/facets/facet-group/facet-group.d.ts +7 -0
  19. package/dist/components/controls/facets/facet-group/facet-group.d.ts.map +1 -0
  20. package/dist/components/controls/facets/items/checkbox-facet-item.d.ts +4 -0
  21. package/dist/components/controls/facets/items/checkbox-facet-item.d.ts.map +1 -0
  22. package/dist/components/controls/facets/items/clear-checkbox-facet-item.d.ts +8 -0
  23. package/dist/components/controls/facets/items/clear-checkbox-facet-item.d.ts.map +1 -0
  24. package/dist/components/controls/facets/items/clear-facet-item.d.ts +9 -0
  25. package/dist/components/controls/facets/items/clear-facet-item.d.ts.map +1 -0
  26. package/dist/components/controls/facets/items/radio-facet-item.d.ts +4 -0
  27. package/dist/components/controls/facets/items/radio-facet-item.d.ts.map +1 -0
  28. package/dist/components/controls/facets/items/standard-facet-item.d.ts +5 -0
  29. package/dist/components/controls/facets/items/standard-facet-item.d.ts.map +1 -0
  30. package/dist/components/controls/facets/radio-facet.d.ts +4 -0
  31. package/dist/components/controls/facets/radio-facet.d.ts.map +1 -0
  32. package/dist/components/controls/facets/standard-facet.d.ts +4 -0
  33. package/dist/components/controls/facets/standard-facet.d.ts.map +1 -0
  34. package/dist/components/controls/inputs/buttons-list-input.d.ts +4 -0
  35. package/dist/components/controls/inputs/buttons-list-input.d.ts.map +1 -0
  36. package/dist/components/controls/inputs/dropdown-input.d.ts +5 -0
  37. package/dist/components/controls/inputs/dropdown-input.d.ts.map +1 -0
  38. package/dist/components/controls/sort-picker/cludo-sort-picker.d.ts +7 -0
  39. package/dist/components/controls/sort-picker/cludo-sort-picker.d.ts.map +1 -0
  40. package/dist/components/elements/banner-group/banner-group.d.ts +3 -0
  41. package/dist/components/elements/banner-group/banner-group.d.ts.map +1 -0
  42. package/dist/components/elements/banner.d.ts +7 -0
  43. package/dist/components/elements/banner.d.ts.map +1 -0
  44. package/dist/components/elements/cludo-highlighted-text.d.ts +7 -0
  45. package/dist/components/elements/cludo-highlighted-text.d.ts.map +1 -0
  46. package/dist/components/elements/fragment-highlight/fragment-highlight.d.ts +6 -0
  47. package/dist/components/elements/fragment-highlight/fragment-highlight.d.ts.map +1 -0
  48. package/dist/components/elements/fragment-highlight-group/fragment-highlight-group.d.ts +12 -0
  49. package/dist/components/elements/fragment-highlight-group/fragment-highlight-group.d.ts.map +1 -0
  50. package/dist/components/elements/result-badge.d.ts +9 -0
  51. package/dist/components/elements/result-badge.d.ts.map +1 -0
  52. package/dist/components/elements/result-breadcrumbs.d.ts +13 -0
  53. package/dist/components/elements/result-breadcrumbs.d.ts.map +1 -0
  54. package/dist/components/elements/result-description.d.ts +12 -0
  55. package/dist/components/elements/result-description.d.ts.map +1 -0
  56. package/dist/components/elements/result-image.d.ts +9 -0
  57. package/dist/components/elements/result-image.d.ts.map +1 -0
  58. package/dist/components/elements/result-link.d.ts +16 -0
  59. package/dist/components/elements/result-link.d.ts.map +1 -0
  60. package/dist/components/elements/result-title.d.ts +9 -0
  61. package/dist/components/elements/result-title.d.ts.map +1 -0
  62. package/dist/components/elements/result-url.d.ts +8 -0
  63. package/dist/components/elements/result-url.d.ts.map +1 -0
  64. package/dist/components/forms/cludo-autocomplete-container.d.ts +3 -0
  65. package/dist/components/forms/cludo-autocomplete-container.d.ts.map +1 -0
  66. package/dist/components/forms/cludo-results-container.d.ts +6 -0
  67. package/dist/components/forms/cludo-results-container.d.ts.map +1 -0
  68. package/dist/components/forms/cludo-search-form.d.ts +5 -0
  69. package/dist/components/forms/cludo-search-form.d.ts.map +1 -0
  70. package/dist/components/forms/cludo-search-input.d.ts +3 -0
  71. package/dist/components/forms/cludo-search-input.d.ts.map +1 -0
  72. package/dist/components/forms/search-input.d.ts +16 -0
  73. package/dist/components/forms/search-input.d.ts.map +1 -0
  74. package/dist/components/icons/base-icon.d.ts +15 -0
  75. package/dist/components/icons/base-icon.d.ts.map +1 -0
  76. package/dist/components/icons/close-icon.d.ts +4 -0
  77. package/dist/components/icons/close-icon.d.ts.map +1 -0
  78. package/dist/components/icons/search-icon.d.ts +4 -0
  79. package/dist/components/icons/search-icon.d.ts.map +1 -0
  80. package/dist/components/results/cludo-load-more.d.ts +9 -0
  81. package/dist/components/results/cludo-load-more.d.ts.map +1 -0
  82. package/dist/components/results/cludo-loader.d.ts +5 -0
  83. package/dist/components/results/cludo-loader.d.ts.map +1 -0
  84. package/dist/components/results/cludo-search-results.d.ts +5 -0
  85. package/dist/components/results/cludo-search-results.d.ts.map +1 -0
  86. package/dist/components/results/header/did-you-mean.d.ts +7 -0
  87. package/dist/components/results/header/did-you-mean.d.ts.map +1 -0
  88. package/dist/components/results/header/generative-response/generative-response-icon.d.ts +4 -0
  89. package/dist/components/results/header/generative-response/generative-response-icon.d.ts.map +1 -0
  90. package/dist/components/results/header/generative-response/generative-response-loader.d.ts +6 -0
  91. package/dist/components/results/header/generative-response/generative-response-loader.d.ts.map +1 -0
  92. package/dist/components/results/header/generative-response/generative-response-module-content.d.ts +6 -0
  93. package/dist/components/results/header/generative-response/generative-response-module-content.d.ts.map +1 -0
  94. package/dist/components/results/header/generative-response/generative-response-module-error-message.d.ts +3 -0
  95. package/dist/components/results/header/generative-response/generative-response-module-error-message.d.ts.map +1 -0
  96. package/dist/components/results/header/generative-response/generative-response-module.d.ts +4 -0
  97. package/dist/components/results/header/generative-response/generative-response-module.d.ts.map +1 -0
  98. package/dist/components/results/header/result-count.d.ts +7 -0
  99. package/dist/components/results/header/result-count.d.ts.map +1 -0
  100. package/dist/components/results/header/results-summary.d.ts +7 -0
  101. package/dist/components/results/header/results-summary.d.ts.map +1 -0
  102. package/dist/components/results/items/custom-result.d.ts +11 -0
  103. package/dist/components/results/items/custom-result.d.ts.map +1 -0
  104. package/dist/components/results/items/standard-result.d.ts +14 -0
  105. package/dist/components/results/items/standard-result.d.ts.map +1 -0
  106. package/dist/components/results/list/results-list.d.ts +13 -0
  107. package/dist/components/results/list/results-list.d.ts.map +1 -0
  108. package/dist/components/results/load-more-results.d.ts +8 -0
  109. package/dist/components/results/load-more-results.d.ts.map +1 -0
  110. package/dist/components/results/pagination/pagination.d.ts +15 -0
  111. package/dist/components/results/pagination/pagination.d.ts.map +1 -0
  112. package/dist/components/results/pagination/results-per-page.d.ts +9 -0
  113. package/dist/components/results/pagination/results-per-page.d.ts.map +1 -0
  114. package/dist/components/sayt/cludo-search-autocomplete.d.ts +3 -0
  115. package/dist/components/sayt/cludo-search-autocomplete.d.ts.map +1 -0
  116. package/dist/components/sayt/items/sayt-categorized-result.d.ts +4 -0
  117. package/dist/components/sayt/items/sayt-categorized-result.d.ts.map +1 -0
  118. package/dist/components/sayt/items/sayt-recent-search.d.ts +9 -0
  119. package/dist/components/sayt/items/sayt-recent-search.d.ts.map +1 -0
  120. package/dist/components/sayt/items/sayt-result.d.ts +11 -0
  121. package/dist/components/sayt/items/sayt-result.d.ts.map +1 -0
  122. package/dist/components/sayt/items/sayt-suggestion.d.ts +9 -0
  123. package/dist/components/sayt/items/sayt-suggestion.d.ts.map +1 -0
  124. package/dist/components/types/types.d.ts +84 -0
  125. package/dist/components/types/types.d.ts.map +1 -0
  126. package/dist/components/utility/list-layout.d.ts +9 -0
  127. package/dist/components/utility/list-layout.d.ts.map +1 -0
  128. package/dist/components/utility/pseudo-link.d.ts +8 -0
  129. package/dist/components/utility/pseudo-link.d.ts.map +1 -0
  130. package/dist/components/wrapper/cludo-wrapper.d.ts +14 -0
  131. package/dist/components/wrapper/cludo-wrapper.d.ts.map +1 -0
  132. package/dist/context.d.ts +6 -0
  133. package/dist/context.d.ts.map +1 -0
  134. package/dist/hooks/use-autocomplete.d.ts +37 -0
  135. package/dist/hooks/use-autocomplete.d.ts.map +1 -0
  136. package/dist/hooks/use-banners.d.ts +9 -0
  137. package/dist/hooks/use-banners.d.ts.map +1 -0
  138. package/dist/hooks/use-cludo-context.d.ts +6 -0
  139. package/dist/hooks/use-cludo-context.d.ts.map +1 -0
  140. package/dist/hooks/use-endless-scroll.d.ts +7 -0
  141. package/dist/hooks/use-endless-scroll.d.ts.map +1 -0
  142. package/dist/hooks/use-event-subscription.d.ts +8 -0
  143. package/dist/hooks/use-event-subscription.d.ts.map +1 -0
  144. package/dist/hooks/use-facet-group.d.ts +15 -0
  145. package/dist/hooks/use-facet-group.d.ts.map +1 -0
  146. package/dist/hooks/use-facet.d.ts +17 -0
  147. package/dist/hooks/use-facet.d.ts.map +1 -0
  148. package/dist/hooks/use-generative-response.d.ts +13 -0
  149. package/dist/hooks/use-generative-response.d.ts.map +1 -0
  150. package/dist/hooks/use-pagination.d.ts +15 -0
  151. package/dist/hooks/use-pagination.d.ts.map +1 -0
  152. package/dist/hooks/use-search-input.d.ts +12 -0
  153. package/dist/hooks/use-search-input.d.ts.map +1 -0
  154. package/dist/hooks/use-search-results.d.ts +42 -0
  155. package/dist/hooks/use-search-results.d.ts.map +1 -0
  156. package/dist/hooks/use-sort-by.d.ts +16 -0
  157. package/dist/hooks/use-sort-by.d.ts.map +1 -0
  158. package/dist/hooks/use-typing-effect.d.ts +5 -0
  159. package/dist/hooks/use-typing-effect.d.ts.map +1 -0
  160. package/dist/index.d.ts +65 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.html +12 -0
  163. package/dist/main.js +2 -0
  164. package/dist/main.js.map +1 -0
  165. package/dist/service-worker.js +2 -0
  166. package/dist/service-worker.js.map +1 -0
  167. package/dist/stories/Autocomplete.stories.d.ts +8 -0
  168. package/dist/stories/Autocomplete.stories.d.ts.map +1 -0
  169. package/dist/stories/CheckboxFacet.stories.d.ts +7 -0
  170. package/dist/stories/CheckboxFacet.stories.d.ts.map +1 -0
  171. package/dist/stories/ClearAllFacets.stories.d.ts +7 -0
  172. package/dist/stories/ClearAllFacets.stories.d.ts.map +1 -0
  173. package/dist/stories/CurrentFacets.stories.d.ts +7 -0
  174. package/dist/stories/CurrentFacets.stories.d.ts.map +1 -0
  175. package/dist/stories/CustomResult.stories.d.ts +7 -0
  176. package/dist/stories/CustomResult.stories.d.ts.map +1 -0
  177. package/dist/stories/DidYouMean.stories.d.ts +7 -0
  178. package/dist/stories/DidYouMean.stories.d.ts.map +1 -0
  179. package/dist/stories/EndlessScroll.stories.d.ts +8 -0
  180. package/dist/stories/EndlessScroll.stories.d.ts.map +1 -0
  181. package/dist/stories/FacetGroup.stories.d.ts +7 -0
  182. package/dist/stories/FacetGroup.stories.d.ts.map +1 -0
  183. package/dist/stories/LoadMoreResults.stories.d.ts +7 -0
  184. package/dist/stories/LoadMoreResults.stories.d.ts.map +1 -0
  185. package/dist/stories/Pagination.stories.d.ts +7 -0
  186. package/dist/stories/Pagination.stories.d.ts.map +1 -0
  187. package/dist/stories/RadioFacet.stories.d.ts +7 -0
  188. package/dist/stories/RadioFacet.stories.d.ts.map +1 -0
  189. package/dist/stories/ResultBadge.stories.d.ts +7 -0
  190. package/dist/stories/ResultBadge.stories.d.ts.map +1 -0
  191. package/dist/stories/ResultCount.stories.d.ts +7 -0
  192. package/dist/stories/ResultCount.stories.d.ts.map +1 -0
  193. package/dist/stories/ResultDescription.stories.d.ts +7 -0
  194. package/dist/stories/ResultDescription.stories.d.ts.map +1 -0
  195. package/dist/stories/ResultImage.stories.d.ts +7 -0
  196. package/dist/stories/ResultImage.stories.d.ts.map +1 -0
  197. package/dist/stories/ResultLink.stories.d.ts +7 -0
  198. package/dist/stories/ResultLink.stories.d.ts.map +1 -0
  199. package/dist/stories/ResultTitle.stories.d.ts +7 -0
  200. package/dist/stories/ResultTitle.stories.d.ts.map +1 -0
  201. package/dist/stories/ResultUrl.stories.d.ts +7 -0
  202. package/dist/stories/ResultUrl.stories.d.ts.map +1 -0
  203. package/dist/stories/ResultsList.stories.d.ts +7 -0
  204. package/dist/stories/ResultsList.stories.d.ts.map +1 -0
  205. package/dist/stories/ResultsPerPage.stories.d.ts +7 -0
  206. package/dist/stories/ResultsPerPage.stories.d.ts.map +1 -0
  207. package/dist/stories/StandardFacet.stories.d.ts +12 -0
  208. package/dist/stories/StandardFacet.stories.d.ts.map +1 -0
  209. package/dist/stories/StandardResult.stories.d.ts +7 -0
  210. package/dist/stories/StandardResult.stories.d.ts.map +1 -0
  211. package/dist/stories/utils/mock-data-config.d.ts +10 -0
  212. package/dist/stories/utils/mock-data-config.d.ts.map +1 -0
  213. package/dist/stories/utils/mock-data-utilities.d.ts +7 -0
  214. package/dist/stories/utils/mock-data-utilities.d.ts.map +1 -0
  215. package/dist/stories-local/ReactCore-CluLab.stories.d.ts +8 -0
  216. package/dist/stories-local/ReactCore-CluLab.stories.d.ts.map +1 -0
  217. package/dist/types/control-types.d.ts +15 -0
  218. package/dist/types/control-types.d.ts.map +1 -0
  219. package/dist/types/conversation-types.d.ts +69 -0
  220. package/dist/types/conversation-types.d.ts.map +1 -0
  221. package/dist/types/theme-types.d.ts +19 -0
  222. package/dist/types/theme-types.d.ts.map +1 -0
  223. package/dist/types/tracking-types.d.ts +67 -0
  224. package/dist/types/tracking-types.d.ts.map +1 -0
  225. package/dist/types/translation-types.d.ts +14 -0
  226. package/dist/types/translation-types.d.ts.map +1 -0
  227. package/dist/types/trending-pages-types.d.ts +10 -0
  228. package/dist/types/trending-pages-types.d.ts.map +1 -0
  229. package/dist/utils/cludo-instance-controller.d.ts +56 -0
  230. package/dist/utils/cludo-instance-controller.d.ts.map +1 -0
  231. package/dist/utils/cludo-search-context.d.ts +88 -0
  232. package/dist/utils/cludo-search-context.d.ts.map +1 -0
  233. package/dist/utils/components-controller.d.ts +77 -0
  234. package/dist/utils/components-controller.d.ts.map +1 -0
  235. package/dist/utils/context-utils.d.ts +4 -0
  236. package/dist/utils/context-utils.d.ts.map +1 -0
  237. package/dist/utils/event-controller.d.ts +98 -0
  238. package/dist/utils/event-controller.d.ts.map +1 -0
  239. package/dist/utils/facet-utils.d.ts +7 -0
  240. package/dist/utils/facet-utils.d.ts.map +1 -0
  241. package/dist/utils/http-utils.d.ts +3 -0
  242. package/dist/utils/http-utils.d.ts.map +1 -0
  243. package/dist/utils/instantiator.d.ts +8 -0
  244. package/dist/utils/instantiator.d.ts.map +1 -0
  245. package/dist/utils/models/instantiator-types.d.ts +235 -0
  246. package/dist/utils/models/instantiator-types.d.ts.map +1 -0
  247. package/dist/utils/models/mock-support-assistant-config.d.ts +69 -0
  248. package/dist/utils/models/mock-support-assistant-config.d.ts.map +1 -0
  249. package/dist/utils/result-utils.d.ts +25 -0
  250. package/dist/utils/result-utils.d.ts.map +1 -0
  251. package/dist/utils/theme-provider.d.ts +12 -0
  252. package/dist/utils/theme-provider.d.ts.map +1 -0
  253. package/dist/workbox-9a84fccb.js +2 -0
  254. package/dist/workbox-9a84fccb.js.map +1 -0
  255. package/package.json +84 -0
@@ -0,0 +1,235 @@
1
+ /// <reference types="react" />
2
+ import { TemplateType } from "../components-controller";
3
+ import { CludoSortBaseProps } from "../../components/controls/sort-picker/cludo-sort-picker";
4
+ import { LoaderProps, ResultItemBaseProps } from "../../components/types/types";
5
+ import { ClientSearchResponse, SearchRequestParams, RangeFacetMap, SortOrder, CludoSearchType, FilterMap } from "../../types/core-script-types";
6
+ import { CludoSearchTheme } from "../../types/theme-types";
7
+ import { FacetMap } from "../../types/tracking-types";
8
+ import { StringOverrideKeys, SupportedLanguage } from "../../types/translation-types";
9
+ import { ResultsListProps } from "../../components/results/list/results-list";
10
+ export interface AutocompleteInitializationOptions {
11
+ /**
12
+ * Maps to core script disableAutocomplete property
13
+ */
14
+ disable?: boolean;
15
+ /**
16
+ * Maps to core script autocompleteMinimumQueryLength property
17
+ */
18
+ minimumQueryLength?: number;
19
+ /**
20
+ * Maps to core script autocompleteForceUseTemplate property
21
+ */
22
+ renderTemplateWhenNoResults?: boolean;
23
+ /**
24
+ * Maps to core script showInstantSuggestions property
25
+ *
26
+ * Requires that useSearchAsYouType is set to true
27
+ */
28
+ showInstantSuggestions?: boolean;
29
+ /**
30
+ * Maps to core script richAutocomplete property
31
+ */
32
+ useSearchAsYouType?: boolean;
33
+ }
34
+ export interface EndlessScrollOptions {
35
+ /**
36
+ * The number of pages that should be auto-loaded using
37
+ * endless scroll; once this many pages have been loaded,
38
+ * then a "show more" button must be clicked to load more
39
+ */
40
+ stopAfterPage: number;
41
+ /**
42
+ * The number of results per auto-loaded "page" (batch) to load
43
+ */
44
+ resultsPerPage: number;
45
+ /**
46
+ * The offset (in pixels) from the bottom of the scroll element which, once
47
+ * scrolled to, will trigger an additional results load
48
+ */
49
+ bottomOffset: number;
50
+ /**
51
+ * If specified, determines the element which is used in calculating offsets and
52
+ * triggering searches. Defaults to window.
53
+ */
54
+ scrolledElementSelector?: string;
55
+ }
56
+ export interface BehaviorInitializationOptions {
57
+ /**
58
+ * Maps to core script allowSearchWithoutSearchword property
59
+ */
60
+ allowSearchWithoutSearchword?: boolean;
61
+ /**
62
+ * Maps to core script enableRelatedSearches property
63
+ */
64
+ enableRelatedSearches?: boolean;
65
+ /**
66
+ * Maps to core script endlessScroll property
67
+ */
68
+ endlessScroll?: EndlessScrollOptions;
69
+ /**
70
+ * Maps to core script focusOnResultsAfterSearch property
71
+ */
72
+ focusOnResultsAfterSearch?: boolean;
73
+ /**
74
+ * Maps to core script jumpToTopOnFacetClick property
75
+ */
76
+ jumpToTopOnFacetClick?: boolean;
77
+ /**
78
+ * Maps to core script pierceShadowDom property
79
+ */
80
+ pierceShadowDom?: boolean;
81
+ /**
82
+ * Maps to core script changeWindowLocation property
83
+ */
84
+ updateUrlOnSearch?: boolean;
85
+ }
86
+ export interface CoreScriptCallbacks {
87
+ afterSearch?: (data: ClientSearchResponse) => void;
88
+ beforeSearch?: (params: SearchRequestParams) => void;
89
+ beforeRedirect?: (params: SearchRequestParams, url: string) => void;
90
+ afterAutocomplete?: () => void;
91
+ }
92
+ export type CoreScriptStringOverrides = {
93
+ [Key in StringOverrideKeys as string]?: string;
94
+ };
95
+ export interface ResultsLayoutBaseProps {
96
+ results: React.ReactNode[];
97
+ }
98
+ export interface SearchResultsCompositionOptions {
99
+ pagination?: React.ComponentType;
100
+ result?: React.ComponentType<ResultItemBaseProps>;
101
+ list?: React.ComponentType<ResultsListProps>;
102
+ loader?: React.ComponentType<LoaderProps>;
103
+ }
104
+ export interface ControlsCompositionOptions {
105
+ sortPicker?: React.ComponentType<CludoSortBaseProps>;
106
+ facet?: React.ComponentType<{
107
+ field: string;
108
+ }>;
109
+ }
110
+ export interface CustomComponentMap {
111
+ [TemplateType.Autocomplete]?: React.ComponentType;
112
+ [TemplateType.Controls]?: React.ComponentType;
113
+ [TemplateType.Results]?: React.ComponentType;
114
+ }
115
+ interface FacetInitializationOptions {
116
+ /**
117
+ * Maps to core script 'facets' property
118
+ */
119
+ keys?: string[];
120
+ /**
121
+ * Maps to core script 'initFacets' property
122
+ */
123
+ defaultValues?: FacetMap;
124
+ /**
125
+ * Maps to core script 'applyMultiLevelFacets' property
126
+ */
127
+ applyMultiLevel?: boolean;
128
+ /**
129
+ * Maps to core script 'rangeFacets' property
130
+ */
131
+ rangeValues?: RangeFacetMap;
132
+ }
133
+ export interface SortOption {
134
+ displayText: string;
135
+ key: string;
136
+ direction: 'asc' | 'desc';
137
+ }
138
+ export interface SortOptions {
139
+ /**
140
+ * Maps to core script sortOrder property (empty array will sort by relevance)
141
+ */
142
+ defaultOrder?: SortOrder;
143
+ options?: SortOption[];
144
+ }
145
+ export interface CategorizeByFieldOptions {
146
+ /**
147
+ * Maps to core script topHitsFields property
148
+ */
149
+ field: string;
150
+ maxResultsPerCategory?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
151
+ maxCategories?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
152
+ }
153
+ interface ExternalThemeInitializationOptions {
154
+ /**
155
+ * Maps to core script hideResultsCount property
156
+ */
157
+ hideResultsCount?: boolean;
158
+ /**
159
+ * Maps to core script hideSearchFilters property
160
+ */
161
+ hideSearchFilters?: boolean;
162
+ /**
163
+ * Maps to core script hideSearchDidYouMean property
164
+ */
165
+ hideSearchDidYouMean?: boolean;
166
+ loadingImagePath?: string;
167
+ /**
168
+ * Maps to core script ovarlayResultsWrapperOpenClass (sic) property
169
+ */
170
+ overlayResultsWrapperOpenClass?: string;
171
+ /**
172
+ * Maps to core script perPage property
173
+ */
174
+ resultsPerPage?: number;
175
+ /**
176
+ * Maps to core script useFixedQueryInResultsCount property
177
+ */
178
+ showFixedQueryInResultsCount?: boolean;
179
+ /**
180
+ * Maps to core script type property
181
+ */
182
+ type?: CludoSearchType;
183
+ }
184
+ export type ThemeInitializationOptions = ExternalThemeInitializationOptions & CludoSearchTheme;
185
+ export interface TrackingOptions {
186
+ disableExtendedTracking?: boolean;
187
+ googleAnalyticsId?: string;
188
+ skipLoggingPageVisits?: boolean;
189
+ canUserBeTracked?: () => boolean;
190
+ }
191
+ export interface VoiceSearchOptions {
192
+ enable?: boolean;
193
+ disableActiveAnimation?: boolean;
194
+ }
195
+ export interface SecureSearchOptions {
196
+ enable?: boolean;
197
+ proxyApiUrl?: string;
198
+ }
199
+ export interface PublicSettingsRequestOptions {
200
+ customerId: number;
201
+ engineId?: number;
202
+ experienceId?: string;
203
+ apiUrl?: string;
204
+ authKey?: string;
205
+ searchSiteKey?: string;
206
+ isIntranet?: boolean;
207
+ }
208
+ export interface ExternalCludoSearchOptions {
209
+ customerId: number;
210
+ engineId?: number;
211
+ experienceId?: string;
212
+ instanceId?: string;
213
+ secureSearch?: SecureSearchOptions;
214
+ language?: SupportedLanguage;
215
+ searchInputSelectors?: string[];
216
+ headless?: boolean;
217
+ searchResultsWrapperSelector?: string;
218
+ controlsWrapperSelector?: string;
219
+ searchUrl?: string;
220
+ autocomplete?: AutocompleteInitializationOptions;
221
+ behavior?: BehaviorInitializationOptions;
222
+ callbacks?: CoreScriptCallbacks;
223
+ components?: CustomComponentMap;
224
+ facets?: FacetInitializationOptions;
225
+ filters?: FilterMap;
226
+ overrideStrings?: CoreScriptStringOverrides;
227
+ sort?: SortOptions;
228
+ theme?: ThemeInitializationOptions;
229
+ cssTheme?: string;
230
+ tracking?: TrackingOptions;
231
+ voiceSearch?: VoiceSearchOptions;
232
+ categorizeResultsByField?: CategorizeByFieldOptions;
233
+ }
234
+ export {};
235
+ //# sourceMappingURL=instantiator-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instantiator-types.d.ts","sourceRoot":"","sources":["../../../src/utils/models/instantiator-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ export declare const mockSupportAssistantConfig: {
2
+ supportAssistant: {
3
+ generalStyle: {
4
+ assistantTitle: string;
5
+ assistantHeader: string;
6
+ assistantTopBarColor: string;
7
+ assistantTextLabelColor: string;
8
+ assistantMainButtonShape: string;
9
+ assistantMainButtonElements: string;
10
+ assistantTopWindowColor: string;
11
+ assistantTopWindowTextColor: string;
12
+ assistantButtonColor: string;
13
+ assistantButtonOutlineColor: string;
14
+ assistantButtonTextColor: string;
15
+ displayShortcuts: string;
16
+ assistantButtonIcon: string;
17
+ assistantLabel: string;
18
+ };
19
+ qaChat: {
20
+ qaLocation: string;
21
+ language: string;
22
+ textInputFieldShape: string;
23
+ qaQuestionInputField: string;
24
+ qaTextInputFieldBackgroundColor: string;
25
+ qaTextInputFieldOutlineColor: string;
26
+ qaTextInputFieldTextColor: string;
27
+ qaTextInputFieldIconsColor: string;
28
+ qaButtonBackgroundColor: string;
29
+ qaButtonOutlineColor: string;
30
+ qaButtonLabelColor: string;
31
+ QAbuttonShape: string;
32
+ answerLength: string;
33
+ qaGreeting: string;
34
+ qaNoAnswer: string;
35
+ qaSearchInputField: string;
36
+ enableVoiceSearchQA: string;
37
+ qaAnswerIcon: string;
38
+ qaQuestionIcon: string;
39
+ qaAvatarBackgroundColor: string;
40
+ qaDefaultTabBarColor: string;
41
+ qaSelectedTabBarColor: string;
42
+ };
43
+ suggestionModules: {
44
+ pagesOptions: {
45
+ enablePopularPages: string;
46
+ trendingPagesOptions: string;
47
+ };
48
+ };
49
+ assistantTitle: string;
50
+ assistantHeader: string;
51
+ assistantTopBarColor: string;
52
+ assistantTextLabelColor: string;
53
+ assistantMainButtonShape: string;
54
+ assistantMainButtonElements: string;
55
+ assistantButtonIcon: string;
56
+ assistantLabel: string;
57
+ assistantTopWindowColor: string;
58
+ assistantTopWindowTextColor: string;
59
+ assistantButtonColor: string;
60
+ assistantButtonTextColor: string;
61
+ displayShortcuts: string;
62
+ displayShortcutsLocation: string;
63
+ shortcutHeader: string;
64
+ shortcuts: never[];
65
+ shortcutsTextColor: string;
66
+ shortcutsIconBackgroundColor: string;
67
+ };
68
+ };
69
+ //# sourceMappingURL=mock-support-assistant-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-support-assistant-config.d.ts","sourceRoot":"","sources":["../../../src/utils/models/mock-support-assistant-config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEtC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { TypedDocument } from "@cludosearch/cludo-api-client/dist/interfaces/api/search.interface";
2
+ import { AutocompleteResult, AutocompleteTopHit } from "../components/types/types";
3
+ import { FacetMap, TopHit } from "../types/core-script-types";
4
+ export declare const MISSING_FIELD = "MISSING FIELD";
5
+ export declare function getUrl(result: TypedDocument): string;
6
+ export declare function hasField(result: TypedDocument, fieldName: string): boolean;
7
+ export declare function getFieldValue(result: TypedDocument, fieldName: string, maxWords?: number, wordDelim?: string): string;
8
+ export declare function getFieldValues(result: TypedDocument, fieldName: string): string[];
9
+ /** Helper function similar to what is used in Razor templates */
10
+ export declare function getHighlightsOrValues(result: TypedDocument, fieldName: string, maxWords?: number, wordDelim?: string, delim?: string): string;
11
+ /** Helper function to get an array of description fragments for a result */
12
+ export declare function getHighlightsOrValuesArray(result: TypedDocument, fieldName: string, maxWords?: number, wordDelim?: string): string[];
13
+ /** Returns an object that can be used for setting inner HTML */
14
+ export declare function getFormattedHTML(val: string): {
15
+ __html: string;
16
+ };
17
+ /** Logs error message when result object missing from result widget components */
18
+ export declare function logMissingResultError(component: string): void;
19
+ /** Checks if the selected element is an autocomplete item */
20
+ export declare function isAutocompleteItem(element: Element | null): boolean;
21
+ /** Extracts results from autocomplete top hit groups into a single array */
22
+ export declare function getAutocompleteResultsFromTopHits(categorizedResultGroups: AutocompleteTopHit[]): AutocompleteResult[];
23
+ /** Derive total number of results for individual categorized result categories from result counts in facet map */
24
+ export declare function getTopHitTotalCount<T extends TopHit | AutocompleteTopHit>(hit: T, facets: FacetMap): T;
25
+ //# sourceMappingURL=result-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-utils.d.ts","sourceRoot":"","sources":["../../src/utils/result-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE9D,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,wBAAgB,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEpD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAclH;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAKjF;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,SAAM,EAAE,KAAK,GAAE,MAAc,GAAG,MAAM,CAKjJ;AAED,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,EAAE,CAIjI;AAmBD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM;;EAE3C;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAKnE;AAED,4EAA4E;AAC5E,wBAAgB,iCAAiC,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAQrH;AAED,kHAAkH;AAClH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,KAalG"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ interface ThemeContextProps {
3
+ theme: string | undefined;
4
+ }
5
+ interface ThemeProviderProps extends ThemeContextProps {
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const ThemeContext: React.Context<ThemeProviderProps>;
9
+ export declare function ThemeProvider(props: ThemeProviderProps): JSX.Element;
10
+ export declare function generateThemeCss(themeCss: string, disableTheme?: boolean, classNameProp?: string): string;
11
+ export {};
12
+ //# sourceMappingURL=theme-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../src/utils/theme-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,UAAU,iBAAiB;IAMvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,UAAU,kBAAmB,SAAQ,iBAAiB;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY,mCAAqD,CAAC;AAE/E,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,eAYtD;AAMD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,UAKhG"}
@@ -0,0 +1,2 @@
1
+ define(["exports"],(function(t){"use strict";try{self["workbox:core:7.0.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.0.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);const h={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},u=t=>[h.prefix,t,h.suffix].filter((t=>t&&t.length>0)).join("-"),l=t=>t||u(h.precache),f=t=>t||u(h.runtime);function w(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.0.0"]&&_()}catch(t){}function d(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class p{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class y{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let g;async function R(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===g){const t=new Response("");if("body"in t)try{new Response(t.body),g=!0}catch(t){g=!1}g=!1}return g}()?i.body:await i.blob();return new Response(c,o)}function m(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class v{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const q=new Set;try{self["workbox:strategies:7.0.0"]&&_()}catch(t){}function U(t){return"string"==typeof t?new Request(t):t}class L{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new v,this.g=[],this.R=[...t.plugins],this.m=new Map;for(const t of this.R)this.m.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=U(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=U(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=U(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.v(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=m(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===m(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of q)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=U(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.m.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.g.push(t),t}async doneWaiting(){let t;for(;t=this.g.shift();)await t}destroy(){this.p.resolve(null)}async v(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class b{constructor(t={}){this.cacheName=f(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new L(this,{event:e,request:s,params:n}),r=this.q(i,s,e);return[r,this.U(r,i,s,e)]}async q(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this.L(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async U(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class C extends b{constructor(t={}){t.cacheName=l(t.cacheName),super(t),this._=!1!==t.fallbackToNetwork,this.plugins.push(C.copyRedirectedCacheableResponsesPlugin)}async L(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.C(t,e):await this.O(t,e))}async O(t,e){let n;const i=e.params||{};if(!this._)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.N(),await e.cachePut(t,n.clone()))}return n}async C(t,e){this.N();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}N(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==C.copyRedirectedCacheableResponsesPlugin&&(n===C.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(C.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}C.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},C.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await R(t):t};class E{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.k=new Map,this.K=new Map,this.T=new Map,this.l=new C({cacheName:l(t),plugins:[...e,new y({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=d(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.k.has(i)&&this.k.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.k.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.k.set(i,t),this.K.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return w(t,(async()=>{const e=new p;this.strategy.plugins.push(e);for(const[e,s]of this.k){const n=this.T.get(s),i=this.K.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return w(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.k.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.k}getCachedURLs(){return[...this.k.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.k.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let O;const x=()=>(O||(O=new E),O);class N extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}function k(t){const e=x();!function(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}a().registerRoute(o)}(new N(e,t))}t.precacheAndRoute=function(t,e){!function(t){x().precache(t)}(t),k(e)}}));
2
+ //# sourceMappingURL=workbox-9a84fccb.js.map