@bridgeline-digital/hawksearch-handlebars-ui 2.0.0-beta.2 → 2.0.0-beta.5
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/dist/{types/components → components}/base.component.d.ts +10 -1
- package/dist/components/base.component.js +216 -0
- package/dist/components/base.component.js.map +1 -0
- package/dist/{types/components → components}/content/content-types/base-content.component.d.ts +5 -1
- package/dist/components/content/content-types/base-content.component.js +11 -0
- package/dist/components/content/content-types/base-content.component.js.map +1 -0
- package/dist/components/content/content-types/custom-content/custom-content.component.d.ts +21 -0
- package/dist/components/content/content-types/custom-content/custom-content.component.js +28 -0
- package/dist/components/content/content-types/custom-content/custom-content.component.js.map +1 -0
- package/dist/components/content/content-types/featured-items-content/featured-items-content.component.d.ts +22 -0
- package/dist/components/content/content-types/featured-items-content/featured-items-content.component.js +35 -0
- package/dist/components/content/content-types/featured-items-content/featured-items-content.component.js.map +1 -0
- package/dist/components/content/content-types/featured-items-content-item/featured-items-content-item.component.d.ts +38 -0
- package/dist/components/content/content-types/featured-items-content-item/featured-items-content-item.component.js +65 -0
- package/dist/components/content/content-types/featured-items-content-item/featured-items-content-item.component.js.map +1 -0
- package/dist/components/content/content-types/image-content/image-content.component.d.ts +23 -0
- package/dist/components/content/content-types/image-content/image-content.component.js +40 -0
- package/dist/components/content/content-types/image-content/image-content.component.js.map +1 -0
- package/dist/{types/components → components}/content/content-types/index.d.ts +1 -0
- package/dist/components/content/content-types/index.js +7 -0
- package/dist/components/content/content-types/index.js.map +1 -0
- package/dist/components/content/content-types/popular-queries-content/popular-queries-content.component.d.ts +22 -0
- package/dist/components/content/content-types/popular-queries-content/popular-queries-content.component.js +42 -0
- package/dist/components/content/content-types/popular-queries-content/popular-queries-content.component.js.map +1 -0
- package/dist/components/content/content-zone/content-zone.component.d.ts +44 -0
- package/dist/components/content/content-zone/content-zone.component.js +92 -0
- package/dist/components/content/content-zone/content-zone.component.js.map +1 -0
- package/dist/{types/components → components}/content/index.d.ts +0 -0
- package/dist/components/content/index.js +3 -0
- package/dist/components/content/index.js.map +1 -0
- package/dist/components/general/date-picker/date-picker.component.d.ts +117 -0
- package/dist/components/general/date-picker/date-picker.component.js +306 -0
- package/dist/components/general/date-picker/date-picker.component.js.map +1 -0
- package/dist/components/general/icon/icon.component.d.ts +38 -0
- package/dist/components/general/icon/icon.component.js +64 -0
- package/dist/components/general/icon/icon.component.js.map +1 -0
- package/dist/{types/components → components}/general/index.d.ts +0 -0
- package/dist/components/general/index.js +5 -0
- package/dist/components/general/index.js.map +1 -0
- package/dist/components/general/range-slider/range-slider.component.d.ts +54 -0
- package/dist/components/general/range-slider/range-slider.component.js +186 -0
- package/dist/components/general/range-slider/range-slider.component.js.map +1 -0
- package/dist/components/general/tooltip/tooltip.component.d.ts +32 -0
- package/dist/components/general/tooltip/tooltip.component.js +64 -0
- package/dist/components/general/tooltip/tooltip.component.js.map +1 -0
- package/dist/components/index.d.ts +247 -0
- package/dist/components/index.js +248 -0
- package/dist/components/index.js.map +1 -0
- package/dist/{types/components → components}/landing-pages/index.d.ts +0 -0
- package/dist/components/landing-pages/index.js +2 -0
- package/dist/components/landing-pages/index.js.map +1 -0
- package/dist/components/landing-pages/landing-page/landing-page.component.d.ts +32 -0
- package/dist/components/landing-pages/landing-page/landing-page.component.js +60 -0
- package/dist/components/landing-pages/landing-page/landing-page.component.js.map +1 -0
- package/dist/{types/components → components}/recommendations/index.d.ts +0 -0
- package/dist/components/recommendations/index.js +3 -0
- package/dist/components/recommendations/index.js.map +1 -0
- package/dist/components/recommendations/recommendations/recommendations.component.d.ts +84 -0
- package/dist/components/recommendations/recommendations/recommendations.component.js +256 -0
- package/dist/components/recommendations/recommendations/recommendations.component.js.map +1 -0
- package/dist/components/recommendations/recommendations-item/recommendations-item.component.d.ts +40 -0
- package/dist/components/recommendations/recommendations-item/recommendations-item.component.js +71 -0
- package/dist/components/recommendations/recommendations-item/recommendations-item.component.js.map +1 -0
- package/dist/{types/components → components}/search/autocomplete/autocomplete.component.d.ts +3 -2
- package/dist/components/search/autocomplete/autocomplete.component.js +145 -0
- package/dist/components/search/autocomplete/autocomplete.component.js.map +1 -0
- package/dist/components/search/facet-types/base-facet.component.d.ts +44 -0
- package/dist/components/search/facet-types/base-facet.component.js +128 -0
- package/dist/components/search/facet-types/base-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.d.ts +36 -0
- package/dist/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.js +88 -0
- package/dist/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/color-facet/color-facet.component.d.ts +24 -0
- package/dist/components/search/facet-types/color-facet/color-facet.component.js +46 -0
- package/dist/components/search/facet-types/color-facet/color-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/date-range-facet/date-range-facet.component.d.ts +33 -0
- package/dist/components/search/facet-types/date-range-facet/date-range-facet.component.js +106 -0
- package/dist/components/search/facet-types/date-range-facet/date-range-facet.component.js.map +1 -0
- package/dist/{types/components → components}/search/facet-types/index.d.ts +1 -0
- package/dist/components/search/facet-types/index.js +12 -0
- package/dist/components/search/facet-types/index.js.map +1 -0
- package/dist/components/search/facet-types/linked-list-facet/link-list-facet.component.d.ts +24 -0
- package/dist/components/search/facet-types/linked-list-facet/link-list-facet.component.js +50 -0
- package/dist/components/search/facet-types/linked-list-facet/link-list-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.d.ts +32 -0
- package/dist/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.js +91 -0
- package/dist/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/range-slider-facet/range-slider-facet.component.d.ts +34 -0
- package/dist/components/search/facet-types/range-slider-facet/range-slider-facet.component.js +117 -0
- package/dist/components/search/facet-types/range-slider-facet/range-slider-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.d.ts +29 -0
- package/dist/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.js +53 -0
- package/dist/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/related-searches-facet/related-searches-facet.component.d.ts +29 -0
- package/dist/components/search/facet-types/related-searches-facet/related-searches-facet.component.js +53 -0
- package/dist/components/search/facet-types/related-searches-facet/related-searches-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/search-within-facet/search-within-facet.component.d.ts +29 -0
- package/dist/components/search/facet-types/search-within-facet/search-within-facet.component.js +52 -0
- package/dist/components/search/facet-types/search-within-facet/search-within-facet.component.js.map +1 -0
- package/dist/components/search/facet-types/size-facet/size-facet.component.d.ts +24 -0
- package/dist/components/search/facet-types/size-facet/size-facet.component.js +46 -0
- package/dist/components/search/facet-types/size-facet/size-facet.component.js.map +1 -0
- package/dist/components/search/facet-wrapper/facet-wrapper.component.d.ts +46 -0
- package/dist/components/search/facet-wrapper/facet-wrapper.component.js +82 -0
- package/dist/components/search/facet-wrapper/facet-wrapper.component.js.map +1 -0
- package/dist/components/search/facets-list/facets-list.component.d.ts +31 -0
- package/dist/components/search/facets-list/facets-list.component.js +104 -0
- package/dist/components/search/facets-list/facets-list.component.js.map +1 -0
- package/dist/{types/components → components}/search/index.d.ts +0 -0
- package/dist/components/search/index.js +16 -0
- package/dist/components/search/index.js.map +1 -0
- package/dist/components/search/modified-query/modified-query.component.d.ts +32 -0
- package/dist/components/search/modified-query/modified-query.component.js +60 -0
- package/dist/components/search/modified-query/modified-query.component.js.map +1 -0
- package/dist/components/search/page-size/page-size.component.d.ts +32 -0
- package/dist/components/search/page-size/page-size.component.js +52 -0
- package/dist/components/search/page-size/page-size.component.js.map +1 -0
- package/dist/components/search/pagination/pagination.component.d.ts +43 -0
- package/dist/components/search/pagination/pagination.component.js +138 -0
- package/dist/components/search/pagination/pagination.component.js.map +1 -0
- package/dist/components/search/query-suggestions/query-suggestions.component.d.ts +38 -0
- package/dist/components/search/query-suggestions/query-suggestions.component.js +88 -0
- package/dist/components/search/query-suggestions/query-suggestions.component.js.map +1 -0
- package/dist/components/search/search-field/search-field.component.d.ts +33 -0
- package/dist/components/search/search-field/search-field.component.js +93 -0
- package/dist/components/search/search-field/search-field.component.js.map +1 -0
- package/dist/{types/components → components}/search/search-results/search-results.component.d.ts +5 -2
- package/dist/components/search/search-results/search-results.component.js +55 -0
- package/dist/components/search/search-results/search-results.component.js.map +1 -0
- package/dist/components/search/search-results-item/search-results-item.component.d.ts +38 -0
- package/dist/components/search/search-results-item/search-results-item.component.js +65 -0
- package/dist/components/search/search-results-item/search-results-item.component.js.map +1 -0
- package/dist/components/search/search-results-list/search-results-list.component.d.ts +23 -0
- package/dist/components/search/search-results-list/search-results-list.component.js +38 -0
- package/dist/components/search/search-results-list/search-results-list.component.js.map +1 -0
- package/dist/components/search/selected-facets/selected-facets.component.d.ts +31 -0
- package/dist/components/search/selected-facets/selected-facets.component.js +117 -0
- package/dist/components/search/selected-facets/selected-facets.component.js.map +1 -0
- package/dist/components/search/sorting/sorting.component.d.ts +30 -0
- package/dist/components/search/sorting/sorting.component.js +50 -0
- package/dist/components/search/sorting/sorting.component.js.map +1 -0
- package/dist/components/search/tabs/tabs.component.d.ts +30 -0
- package/dist/components/search/tabs/tabs.component.js +52 -0
- package/dist/components/search/tabs/tabs.component.js.map +1 -0
- package/dist/{types/models/global.models.d.ts → configuration/configuration.models.d.ts} +174 -1
- package/dist/configuration/configuration.models.js +2 -0
- package/dist/configuration/configuration.models.js.map +1 -0
- package/dist/configuration/index.d.ts +4 -0
- package/dist/configuration/index.js +5 -0
- package/dist/configuration/index.js.map +1 -0
- package/dist/helpers/helpers.d.ts +182 -0
- package/dist/helpers/helpers.js +244 -0
- package/dist/helpers/helpers.js.map +1 -0
- package/dist/helpers/index.d.ts +4 -0
- package/dist/helpers/index.js +5 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/{types/index.d.ts → index.d.ts} +0 -0
- package/dist/index.js +83 -0
- package/dist/{hawksearch-handlebars-ui.js.LICENSE.txt → index.js.LICENSE.txt} +9 -0
- package/dist/index.js.map +1 -0
- package/dist/{types/models → models}/autocomplete.models.d.ts +30 -0
- package/dist/models/autocomplete.models.js +2 -0
- package/dist/models/autocomplete.models.js.map +1 -0
- package/dist/{types/models → models}/component.models.d.ts +144 -0
- package/dist/models/component.models.js +2 -0
- package/dist/models/component.models.js.map +1 -0
- package/dist/{types/models → models}/content.models.d.ts +30 -0
- package/dist/models/content.models.js +2 -0
- package/dist/models/content.models.js.map +1 -0
- package/dist/{types/models → models}/index.d.ts +0 -1
- package/dist/models/index.js +11 -0
- package/dist/models/index.js.map +1 -0
- package/dist/{types/models → models}/raw/index.d.ts +0 -0
- package/dist/models/raw/index.js +4 -0
- package/dist/models/raw/index.js.map +1 -0
- package/dist/{types/models → models}/raw/raw-autocomplete.models.d.ts +0 -0
- package/dist/models/raw/raw-autocomplete.models.js +2 -0
- package/dist/models/raw/raw-autocomplete.models.js.map +1 -0
- package/dist/{types/models → models}/raw/raw-recommendation.models.d.ts +0 -0
- package/dist/models/raw/raw-recommendation.models.js +2 -0
- package/dist/models/raw/raw-recommendation.models.js.map +1 -0
- package/dist/{types/models → models}/raw/raw-search.models.d.ts +0 -0
- package/dist/models/raw/raw-search.models.js +2 -0
- package/dist/models/raw/raw-search.models.js.map +1 -0
- package/dist/{types/models → models}/recommendation.models.d.ts +12 -0
- package/dist/models/recommendation.models.js +2 -0
- package/dist/models/recommendation.models.js.map +1 -0
- package/dist/{types/models → models}/search.models.d.ts +78 -0
- package/dist/models/search.models.js +2 -0
- package/dist/models/search.models.js.map +1 -0
- package/dist/{types/models → models}/tracking.models.d.ts +12 -0
- package/dist/models/tracking.models.js +47 -0
- package/dist/models/tracking.models.js.map +1 -0
- package/dist/{types/services → services}/autocomplete.service.d.ts +0 -0
- package/dist/services/autocomplete.service.js +102 -0
- package/dist/services/autocomplete.service.js.map +1 -0
- package/dist/{types/services → services}/base.service.d.ts +1 -1
- package/dist/services/base.service.js +98 -0
- package/dist/services/base.service.js.map +1 -0
- package/dist/{types/services → services}/index.d.ts +0 -0
- package/dist/services/index.js +8 -0
- package/dist/services/index.js.map +1 -0
- package/dist/{types/services → services}/recommendations.service.d.ts +0 -0
- package/dist/services/recommendations.service.js +81 -0
- package/dist/services/recommendations.service.js.map +1 -0
- package/dist/{types/services → services}/search.service.d.ts +0 -0
- package/dist/services/search.service.js +948 -0
- package/dist/services/search.service.js.map +1 -0
- package/dist/{types/services → services}/tracking.service.d.ts +0 -0
- package/dist/services/tracking.service.js +169 -0
- package/dist/services/tracking.service.js.map +1 -0
- package/dist/{hawksearch-handlebars-ui.aa9202d77d6b6a9dfb89f5bfe5873220.css → styles.aa9202d77d6b6a9dfb89f5bfe5873220.css} +0 -0
- package/dist/{types/helpers → utilities}/dates.d.ts +0 -0
- package/dist/utilities/dates.js +29 -0
- package/dist/utilities/dates.js.map +1 -0
- package/dist/{types/helpers → utilities}/formatters.d.ts +0 -0
- package/dist/utilities/formatters.js +33 -0
- package/dist/utilities/formatters.js.map +1 -0
- package/dist/{types/helpers → utilities}/index.d.ts +0 -0
- package/dist/utilities/index.js +6 -0
- package/dist/utilities/index.js.map +1 -0
- package/docs/assets/highlight.css +127 -0
- package/docs/assets/main.js +58 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1280 -0
- package/docs/classes/Components.AutocompleteComponent.html +334 -0
- package/docs/classes/Components.BaseComponent.html +231 -0
- package/docs/classes/Components.BaseContentComponent.html +221 -0
- package/docs/classes/Components.BaseFacetComponent.html +292 -0
- package/docs/classes/Components.CheckboxListFacetComponent.html +272 -0
- package/docs/classes/Components.ColorFacetComponent.html +253 -0
- package/docs/classes/Components.ContentZoneComponent.html +296 -0
- package/docs/classes/Components.CustomContentComponent.html +242 -0
- package/docs/classes/Components.DatePickerComponent.html +468 -0
- package/docs/classes/Components.DateRangeFacetComponent.html +269 -0
- package/docs/classes/Components.FacetWrapperComponent.html +291 -0
- package/docs/classes/Components.FacetsListComponent.html +259 -0
- package/docs/classes/Components.FeaturedItemsContentComponent.html +242 -0
- package/docs/classes/Components.FeaturedItemsContentItemComponent.html +280 -0
- package/docs/classes/Components.IconComponent.html +289 -0
- package/docs/classes/Components.ImageContentComponent.html +242 -0
- package/docs/classes/Components.LandingPageComponent.html +283 -0
- package/docs/classes/Components.LinkListFacetComponent.html +253 -0
- package/docs/classes/Components.ModifiedQueryComponent.html +260 -0
- package/docs/classes/Components.NumericRangeFacetComponent.html +269 -0
- package/docs/classes/Components.PageSizeComponent.html +260 -0
- package/docs/classes/Components.PaginationComponent.html +290 -0
- package/docs/classes/Components.PopularQueriesContentComponent.html +242 -0
- package/docs/classes/Components.QuerySuggestionsComponent.html +276 -0
- package/docs/classes/Components.RangeSliderComponent.html +320 -0
- package/docs/classes/Components.RangeSliderFacetComponent.html +269 -0
- package/docs/classes/Components.RecentSearchesFacetComponent.html +265 -0
- package/docs/classes/Components.RecommendationsComponent.html +355 -0
- package/docs/classes/Components.RecommendationsItemComponent.html +273 -0
- package/docs/classes/Components.RelatedSearchesFacetComponent.html +265 -0
- package/docs/classes/Components.SearchFieldComponent.html +277 -0
- package/docs/classes/Components.SearchResultsComponent.html +280 -0
- package/docs/classes/Components.SearchResultsItemComponent.html +273 -0
- package/docs/classes/Components.SearchResultsListComponent.html +242 -0
- package/docs/classes/Components.SearchWithinFacetComponent.html +265 -0
- package/docs/classes/Components.SelectedFacetsComponent.html +263 -0
- package/docs/classes/Components.SizeFacetComponent.html +253 -0
- package/docs/classes/Components.SortingComponent.html +259 -0
- package/docs/classes/Components.TabsComponent.html +259 -0
- package/docs/classes/Components.TooltipComponent.html +263 -0
- package/docs/classes/Services.AutocompleteService.html +273 -0
- package/docs/classes/Services.RecommendationsService.html +273 -0
- package/docs/classes/Services.SearchService.html +620 -0
- package/docs/classes/Services.TrackingService.html +445 -0
- package/docs/enums/Models.AutocompleteItemType.html +78 -0
- package/docs/enums/Models.EventType.html +113 -0
- package/docs/enums/Models.PageType.html +83 -0
- package/docs/enums/Models.SearchType.html +68 -0
- package/docs/functions/Helpers.add.html +89 -0
- package/docs/functions/Helpers.and.html +85 -0
- package/docs/functions/Helpers.attribute.html +89 -0
- package/docs/functions/Helpers.concat.html +85 -0
- package/docs/functions/Helpers.currency.html +87 -0
- package/docs/functions/Helpers.eq.html +83 -0
- package/docs/functions/Helpers.exclude.html +85 -0
- package/docs/functions/Helpers.gt.html +83 -0
- package/docs/functions/Helpers.gte.html +83 -0
- package/docs/functions/Helpers.html.html +79 -0
- package/docs/functions/Helpers.ifElse.html +93 -0
- package/docs/functions/Helpers.lt.html +83 -0
- package/docs/functions/Helpers.lte.html +83 -0
- package/docs/functions/Helpers.number.html +87 -0
- package/docs/functions/Helpers.or.html +79 -0
- package/docs/functions/Helpers.string.html +83 -0
- package/docs/functions/Helpers.subtract.html +83 -0
- package/docs/index.html +142 -0
- package/docs/interfaces/Configuration.AutocompleteComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.BaseComponentConfig.html +120 -0
- package/docs/interfaces/Configuration.Breakpoints.html +87 -0
- package/docs/interfaces/Configuration.CheckboxListFacetComponentConfig.html +106 -0
- package/docs/interfaces/Configuration.ColorFacetComponentConfig.html +102 -0
- package/docs/interfaces/Configuration.ContentZoneComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.CustomContentComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.DatePickerComponentConfig.html +104 -0
- package/docs/interfaces/Configuration.DateRangeFacetComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.FacetWrapperComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.FacetsListComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.FeaturedItemsContentComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.FeaturedItemsContentItemComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.HawkSearchComponents.html +247 -0
- package/docs/interfaces/Configuration.HawkSearchConfig.html +388 -0
- package/docs/interfaces/Configuration.HawkSearchGlobal.html +98 -0
- package/docs/interfaces/Configuration.HawkSearchState.html +72 -0
- package/docs/interfaces/Configuration.IconComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.ImageContentComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.LandingPageComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.LinkListFacetComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.ModifiedQueryComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.NumericRangeFacetComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.PageSizeComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.PaginationComponentConfig.html +104 -0
- package/docs/interfaces/Configuration.PopularQueriesContentComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.QuerySuggestionsComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.RangeSliderComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.RangeSliderFacetComponentConfig.html +98 -0
- package/docs/interfaces/Configuration.RecentSearchesFacetComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.RecommendationsComponentConfig.html +131 -0
- package/docs/interfaces/Configuration.RecommendationsItemComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.RelatedSearchesFacetComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.SearchFieldComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.SearchResultsComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.SearchResultsItemComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.SearchResultsListComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.SearchWithinFacetComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.SelectedFacetsComponentConfig.html +96 -0
- package/docs/interfaces/Configuration.SizeFacetComponentConfig.html +102 -0
- package/docs/interfaces/Configuration.SortingComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.TabsComponentConfig.html +86 -0
- package/docs/interfaces/Configuration.TooltipComponentConfig.html +86 -0
- package/docs/interfaces/Models.AutocompleteCategories.html +72 -0
- package/docs/interfaces/Models.AutocompleteCategory.html +82 -0
- package/docs/interfaces/Models.AutocompleteComponentModel.html +112 -0
- package/docs/interfaces/Models.AutocompleteContent.html +77 -0
- package/docs/interfaces/Models.AutocompleteContentResult.html +92 -0
- package/docs/interfaces/Models.AutocompleteProductResult.html +102 -0
- package/docs/interfaces/Models.AutocompleteProducts.html +77 -0
- package/docs/interfaces/Models.AutocompleteQueries.html +72 -0
- package/docs/interfaces/Models.AutocompleteQuery.html +72 -0
- package/docs/interfaces/Models.AutocompleteRequest.html +67 -0
- package/docs/interfaces/Models.AutocompleteResponse.html +99 -0
- package/docs/interfaces/Models.BaseComponentModel.html +188 -0
- package/docs/interfaces/Models.CalendarDay.html +87 -0
- package/docs/interfaces/Models.CheckboxListFacetComponentModel.html +107 -0
- package/docs/interfaces/Models.CheckboxListFacetValue.html +133 -0
- package/docs/interfaces/Models.ColorFacetComponentModel.html +93 -0
- package/docs/interfaces/Models.ColorFacetValue.html +123 -0
- package/docs/interfaces/Models.ContentConfiguration.html +77 -0
- package/docs/interfaces/Models.ContentType.html +93 -0
- package/docs/interfaces/Models.ContentZone.html +72 -0
- package/docs/interfaces/Models.ContentZoneComponentModel.html +76 -0
- package/docs/interfaces/Models.ContentZoneItem.html +77 -0
- package/docs/interfaces/Models.ContentZones.html +154 -0
- package/docs/interfaces/Models.CustomContent.html +101 -0
- package/docs/interfaces/Models.CustomContentComponentModel.html +101 -0
- package/docs/interfaces/Models.CustomWidgetContent.html +99 -0
- package/docs/interfaces/Models.DateFacetRange.html +94 -0
- package/docs/interfaces/Models.DatePickerComponentModel.html +124 -0
- package/docs/interfaces/Models.DateRangeFacetComponentModel.html +96 -0
- package/docs/interfaces/Models.Facet.html +139 -0
- package/docs/interfaces/Models.FacetScrolling.html +72 -0
- package/docs/interfaces/Models.FacetSearch.html +67 -0
- package/docs/interfaces/Models.FacetTruncation.html +67 -0
- package/docs/interfaces/Models.FacetValue.html +112 -0
- package/docs/interfaces/Models.FacetValueColor.html +77 -0
- package/docs/interfaces/Models.FacetWrapperComponentModel.html +165 -0
- package/docs/interfaces/Models.FacetsListComponentModel.html +84 -0
- package/docs/interfaces/Models.FeaturedItemsContent.html +101 -0
- package/docs/interfaces/Models.FeaturedItemsContentComponentModel.html +101 -0
- package/docs/interfaces/Models.FeaturedItemsContentItemComponentModel.html +147 -0
- package/docs/interfaces/Models.IconComponentModel.html +84 -0
- package/docs/interfaces/Models.ImageContent.html +126 -0
- package/docs/interfaces/Models.ImageContentComponentModel.html +127 -0
- package/docs/interfaces/Models.LandingPageComponentModel.html +160 -0
- package/docs/interfaces/Models.LinkListFacetComponentModel.html +99 -0
- package/docs/interfaces/Models.LinkListFacetValue.html +123 -0
- package/docs/interfaces/Models.ModifiedQueryComponentModel.html +86 -0
- package/docs/interfaces/Models.ModifiedQueryData.html +77 -0
- package/docs/interfaces/Models.NumericFacetRange.html +94 -0
- package/docs/interfaces/Models.NumericRangeFacetComponentModel.html +96 -0
- package/docs/interfaces/Models.PageSizeComponentModel.html +69 -0
- package/docs/interfaces/Models.Pagination.html +102 -0
- package/docs/interfaces/Models.PaginationComponentModel.html +147 -0
- package/docs/interfaces/Models.PaginationOption.html +82 -0
- package/docs/interfaces/Models.PopularQueriesContent.html +101 -0
- package/docs/interfaces/Models.PopularQueriesContentComponentModel.html +101 -0
- package/docs/interfaces/Models.PopularQueriesContentItem.html +77 -0
- package/docs/interfaces/Models.QuerySuggestionsComponentModel.html +69 -0
- package/docs/interfaces/Models.QuerySuggestionsData.html +72 -0
- package/docs/interfaces/Models.RangeSliderComponentModel.html +86 -0
- package/docs/interfaces/Models.RangeSliderEventData.html +72 -0
- package/docs/interfaces/Models.RangeSliderFacetComponentModel.html +106 -0
- package/docs/interfaces/Models.RecentSearchesFacetComponentModel.html +69 -0
- package/docs/interfaces/Models.RecommendationsComponentModel.html +137 -0
- package/docs/interfaces/Models.RecommendationsItem.html +124 -0
- package/docs/interfaces/Models.RecommendationsItemComponentModel.html +147 -0
- package/docs/interfaces/Models.RecommendationsRequest.html +77 -0
- package/docs/interfaces/Models.RecommendationsResponse.html +72 -0
- package/docs/interfaces/Models.RecommendationsWidget.html +89 -0
- package/docs/interfaces/Models.Redirect.html +72 -0
- package/docs/interfaces/Models.RelatedSearchesFacetComponentModel.html +69 -0
- package/docs/interfaces/Models.SearchFieldComponentModel.html +79 -0
- package/docs/interfaces/Models.SearchRequest.html +107 -0
- package/docs/interfaces/Models.SearchResponse.html +140 -0
- package/docs/interfaces/Models.SearchResultsComponentModel.html +155 -0
- package/docs/interfaces/Models.SearchResultsItem.html +124 -0
- package/docs/interfaces/Models.SearchResultsItemComponentModel.html +149 -0
- package/docs/interfaces/Models.SearchResultsListComponentModel.html +69 -0
- package/docs/interfaces/Models.SearchWithinFacetComponentModel.html +79 -0
- package/docs/interfaces/Models.SelectedFacet.html +82 -0
- package/docs/interfaces/Models.SelectedFacetValue.html +77 -0
- package/docs/interfaces/Models.SelectedFacetsComponentModel.html +79 -0
- package/docs/interfaces/Models.SeoConfiguration.html +87 -0
- package/docs/interfaces/Models.SizeFacetComponentModel.html +93 -0
- package/docs/interfaces/Models.SizeFacetValue.html +123 -0
- package/docs/interfaces/Models.Sorting.html +72 -0
- package/docs/interfaces/Models.SortingComponentModel.html +69 -0
- package/docs/interfaces/Models.SortingOption.html +82 -0
- package/docs/interfaces/Models.TabsComponentModel.html +74 -0
- package/docs/interfaces/Models.TooltipComponentModel.html +69 -0
- package/docs/modules/Components.html +521 -0
- package/docs/modules/Configuration.html +144 -0
- package/docs/modules/Helpers.html +87 -0
- package/docs/modules/Models.html +270 -0
- package/docs/modules/Services.html +72 -0
- package/docs/modules.html +51 -0
- package/docs/types/Configuration.DisplayType.html +91 -0
- package/docs/types/Models.FacetState.html +161 -0
- package/docs/types/Models.FacetType.html +148 -0
- package/docs/types/Models.FacetValueState.html +153 -0
- package/docs/types/Models.IconName.html +148 -0
- package/docs/types/Models.SearchResultsItemType.html +148 -0
- package/docs/types/Models.SearchResultsMode.html +148 -0
- package/docs/types/Models.SelectedFacets.html +148 -0
- package/docs/variables/Services.autocompleteService-1.html +55 -0
- package/docs/variables/Services.recommendationsService-1.html +55 -0
- package/docs/variables/Services.searchService-1.html +55 -0
- package/docs/variables/Services.trackingService-1.html +55 -0
- package/package.json +7 -3
- package/readme.md +2 -2
- package/dist/hawksearch-handlebars-ui.js +0 -3
- package/dist/hawksearch-handlebars-ui.js.map +0 -1
- package/dist/types/components/content/content-types/custom-content/custom-content.component.d.ts +0 -8
- package/dist/types/components/content/content-types/featured-items-content/featured-items-content.component.d.ts +0 -9
- package/dist/types/components/content/content-types/featured-items-content-item/featured-items-content-item.component.d.ts +0 -10
- package/dist/types/components/content/content-types/image-content/image-content.component.d.ts +0 -10
- package/dist/types/components/content/content-types/popular-queries-content/popular-queries-content.component.d.ts +0 -9
- package/dist/types/components/content/content-zone/content-zone.component.d.ts +0 -17
- package/dist/types/components/general/date-picker/date-picker.component.d.ts +0 -27
- package/dist/types/components/general/icon/icon.component.d.ts +0 -11
- package/dist/types/components/general/range-slider/range-slider.component.d.ts +0 -25
- package/dist/types/components/general/tooltip/tooltip.component.d.ts +0 -11
- package/dist/types/components/index.d.ts +0 -9
- package/dist/types/components/landing-pages/landing-page/landing-page.component.d.ts +0 -12
- package/dist/types/components/recommendations/recommendations/recommendations.component.d.ts +0 -38
- package/dist/types/components/recommendations/recommendations-item/recommendations-item.component.d.ts +0 -12
- package/dist/types/components/search/facet-types/base-facet.component.d.ts +0 -7
- package/dist/types/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.d.ts +0 -9
- package/dist/types/components/search/facet-types/color-facet/color-facet.component.d.ts +0 -8
- package/dist/types/components/search/facet-types/date-range-facet/date-range-facet.component.d.ts +0 -12
- package/dist/types/components/search/facet-types/linked-list-facet/link-list-facet.component.d.ts +0 -8
- package/dist/types/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.d.ts +0 -11
- package/dist/types/components/search/facet-types/range-slider-facet/range-slider-facet.component.d.ts +0 -13
- package/dist/types/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.d.ts +0 -9
- package/dist/types/components/search/facet-types/related-searches-facet/related-searches-facet.component.d.ts +0 -9
- package/dist/types/components/search/facet-types/search-within-facet/search-within-facet.component.d.ts +0 -9
- package/dist/types/components/search/facet-types/size-facet/size-facet.component.d.ts +0 -8
- package/dist/types/components/search/facet-wrapper/facet-wrapper.component.d.ts +0 -12
- package/dist/types/components/search/facets-list/facets-list.component.d.ts +0 -11
- package/dist/types/components/search/modified-query/modified-query.component.d.ts +0 -10
- package/dist/types/components/search/page-size/page-size.component.d.ts +0 -10
- package/dist/types/components/search/pagination/pagination.component.d.ts +0 -14
- package/dist/types/components/search/query-suggestions/query-suggestions.component.d.ts +0 -11
- package/dist/types/components/search/search-field/search-field.component.d.ts +0 -13
- package/dist/types/components/search/search-results-item/search-results-item.component.d.ts +0 -10
- package/dist/types/components/search/search-results-list/search-results-list.component.d.ts +0 -10
- package/dist/types/components/search/selected-facets/selected-facets.component.d.ts +0 -10
- package/dist/types/components/search/sorting/sorting.component.d.ts +0 -10
- package/dist/types/components/search/tabs/tabs.component.d.ts +0 -10
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import { BaseComponentConfig,
|
|
1
|
+
import { BaseComponentConfig, HawkSearchComponents } from '@configuration';
|
|
2
|
+
import { BaseComponentModel } from '@models';
|
|
3
|
+
/**
|
|
4
|
+
* @typeParam TConfig Component configuration
|
|
5
|
+
* @typeParam TData Component data
|
|
6
|
+
* @typeParam TModel Data bound to Handlebars template
|
|
7
|
+
*
|
|
8
|
+
* @noInheritDoc
|
|
9
|
+
* @category Base
|
|
10
|
+
*/
|
|
2
11
|
export declare abstract class BaseComponent<TConfig extends BaseComponentConfig, TData, TModel extends BaseComponentModel> extends HTMLElement {
|
|
3
12
|
/**
|
|
4
13
|
* The data bound to the component.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import defaultStylesheet from '../scss/styles.scss';
|
|
2
|
+
/**
|
|
3
|
+
* @typeParam TConfig Component configuration
|
|
4
|
+
* @typeParam TData Component data
|
|
5
|
+
* @typeParam TModel Data bound to Handlebars template
|
|
6
|
+
*
|
|
7
|
+
* @noInheritDoc
|
|
8
|
+
* @category Base
|
|
9
|
+
*/
|
|
10
|
+
export class BaseComponent extends HTMLElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
/**
|
|
14
|
+
* The Handlebars reference shared by all HawkSearch components.
|
|
15
|
+
*/
|
|
16
|
+
this.handlebars = HawkSearch.handlebars;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The optional configuration object for this component.
|
|
20
|
+
*/
|
|
21
|
+
get configuration() {
|
|
22
|
+
var _a;
|
|
23
|
+
return (_a = HawkSearch.config.components) === null || _a === void 0 ? void 0 : _a[this.componentName];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Whether or not the component is rendered within the Shadow DOM. In order of preference, this is specified by {@link configuration} or {@link Models.HawkSearchConfig.shadowDom}.
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
* @defaultValue `true`
|
|
30
|
+
*/
|
|
31
|
+
get shadowDom() {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
return ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.shadowDom) !== undefined ? this.configuration.shadowDom : (_b = HawkSearch.config.shadowDom) !== null && _b !== void 0 ? _b : true;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The root element which should be used for querying any child elements. This resolves to `this.shadowRoot` if the Shadow DOM is enabled, otherwise `this`.
|
|
37
|
+
*/
|
|
38
|
+
get rootElement() {
|
|
39
|
+
var _a;
|
|
40
|
+
return (_a = this.shadowRoot) !== null && _a !== void 0 ? _a : this;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @internal
|
|
44
|
+
*
|
|
45
|
+
* @returns Whether the element has a custom template specified through child content.
|
|
46
|
+
*/
|
|
47
|
+
get hasContentTemplateOverride() {
|
|
48
|
+
return !!this.innerHTML.trim().length;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The name of the event that this component listens to for data binding. if {@link bindFromEvent} is `true`, this prepends `hawksearch:bind-` to {@link componentName} and appends :{@link eventFilter}, if specified.
|
|
52
|
+
*
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
get eventName() {
|
|
56
|
+
if (!this.bindFromEvent) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
let eventName = `hawksearch:bind-${this.componentName}`;
|
|
60
|
+
if (this.eventFilter) {
|
|
61
|
+
eventName = `${eventName}:${this.eventFilter}`;
|
|
62
|
+
}
|
|
63
|
+
return eventName;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @ignore
|
|
67
|
+
*/
|
|
68
|
+
connectedCallback() {
|
|
69
|
+
if (this.shadowDom) {
|
|
70
|
+
this.attachShadow({
|
|
71
|
+
mode: 'open'
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
this.registerHelpers();
|
|
75
|
+
const customTemplateHtml = this.getCustomTemplateHtml();
|
|
76
|
+
const templateHtml = customTemplateHtml !== null && customTemplateHtml !== void 0 ? customTemplateHtml : this.defaultHtml;
|
|
77
|
+
this.template = this.handlebars.compile(templateHtml);
|
|
78
|
+
setTimeout(() => {
|
|
79
|
+
this.render();
|
|
80
|
+
});
|
|
81
|
+
if (this.eventName) {
|
|
82
|
+
this.bindEventHandler = ((event) => {
|
|
83
|
+
this.data = event.detail;
|
|
84
|
+
this.render();
|
|
85
|
+
});
|
|
86
|
+
window.addEventListener(this.eventName, this.bindEventHandler);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @ignore
|
|
91
|
+
*/
|
|
92
|
+
disconnectedCallback() {
|
|
93
|
+
if (this.eventName && this.bindEventHandler) {
|
|
94
|
+
window.removeEventListener(this.eventName, this.bindEventHandler);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Optional method that can be overwritten to register Handlebars helper functions which can be accessed from the template. For more information, see [Custom Helpers](https://handlebarsjs.com/guide/#custom-helpers).
|
|
99
|
+
*
|
|
100
|
+
* @virtual
|
|
101
|
+
*/
|
|
102
|
+
registerHelpers() { }
|
|
103
|
+
/**
|
|
104
|
+
* Binds {@link contentModel} to the Handlebars template and renders the resulting HTML content.
|
|
105
|
+
*/
|
|
106
|
+
render() {
|
|
107
|
+
var _a, _b;
|
|
108
|
+
if (!this.template || !this.renderContent()) {
|
|
109
|
+
this.rootElement.replaceChildren();
|
|
110
|
+
this.style.display = 'none';
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const contentModel = this.getContentModel();
|
|
114
|
+
const event = new CustomEvent(`hawksearch:before-${this.componentName}-rendered`, { detail: contentModel });
|
|
115
|
+
window.dispatchEvent(event);
|
|
116
|
+
const elements = [];
|
|
117
|
+
let stylesheets = [];
|
|
118
|
+
if (((_a = HawkSearch.config.css) === null || _a === void 0 ? void 0 : _a.defaultStyles) !== false) {
|
|
119
|
+
stylesheets.push(defaultStylesheet);
|
|
120
|
+
}
|
|
121
|
+
if ((_b = HawkSearch.config.css) === null || _b === void 0 ? void 0 : _b.customStyles) {
|
|
122
|
+
const customStylesheets = typeof HawkSearch.config.css.customStyles === 'string' ? [HawkSearch.config.css.customStyles] : HawkSearch.config.css.customStyles;
|
|
123
|
+
stylesheets = stylesheets.concat(customStylesheets);
|
|
124
|
+
}
|
|
125
|
+
stylesheets.forEach((url) => {
|
|
126
|
+
if (!this.shadowDom && document.head.querySelector(`link[href="${url}"]`)) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const link = document.createElement('link');
|
|
130
|
+
link.type = 'text/css';
|
|
131
|
+
link.rel = 'stylesheet';
|
|
132
|
+
link.href = url;
|
|
133
|
+
if (this.shadowDom) {
|
|
134
|
+
elements.push(link);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
document.head.append(link);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
const templateElement = document.createElement('template');
|
|
141
|
+
const html = this.template(contentModel);
|
|
142
|
+
templateElement.innerHTML = html;
|
|
143
|
+
const content = templateElement.content.cloneNode(true);
|
|
144
|
+
elements.push(content);
|
|
145
|
+
this.rootElement.replaceChildren(...elements);
|
|
146
|
+
this.style.display = !templateElement.innerHTML ? 'none' : '';
|
|
147
|
+
this.contentModel = contentModel;
|
|
148
|
+
this.bindChildElements();
|
|
149
|
+
this.onRender();
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Determines whether the {@link data} meets the necessary conditions to perform data binding and render content.
|
|
153
|
+
*
|
|
154
|
+
* @virtual
|
|
155
|
+
* @returns Whether the component should be rendered. If `false`, the component will have empty contents and be set to `display: none;`.
|
|
156
|
+
*/
|
|
157
|
+
renderContent() {
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* After the component is rendered, this method is called to bind any child components.
|
|
162
|
+
*
|
|
163
|
+
* @virtual
|
|
164
|
+
*/
|
|
165
|
+
bindChildElements() { }
|
|
166
|
+
/**
|
|
167
|
+
* After the component is rendered, this method is called for any additional processing (such as attaching event listeners) which needs to occur.
|
|
168
|
+
*
|
|
169
|
+
* @virtual
|
|
170
|
+
*/
|
|
171
|
+
onRender() { }
|
|
172
|
+
/**
|
|
173
|
+
* @returns The Handlebars template HTML. In order of preference, this is specified by the child contents of the HTML element, the template specified by {@link configuration}, or the default template for the component.
|
|
174
|
+
*
|
|
175
|
+
* @internal
|
|
176
|
+
*/
|
|
177
|
+
getCustomTemplateHtml() {
|
|
178
|
+
var _a;
|
|
179
|
+
let customTemplate;
|
|
180
|
+
if (this.hasContentTemplateOverride) {
|
|
181
|
+
customTemplate = this.innerHTML;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
customTemplate = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.template;
|
|
185
|
+
if (customTemplate) {
|
|
186
|
+
const customTemplateElement = document.getElementById(customTemplate);
|
|
187
|
+
if (customTemplateElement instanceof HTMLTemplateElement) {
|
|
188
|
+
customTemplate = customTemplateElement.innerHTML;
|
|
189
|
+
}
|
|
190
|
+
const replacements = {
|
|
191
|
+
'{{>': '{{>'
|
|
192
|
+
};
|
|
193
|
+
Object.entries(replacements).forEach(([input, output]) => {
|
|
194
|
+
const regex = new RegExp(input, 'g');
|
|
195
|
+
customTemplate = customTemplate.replace(regex, output);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return customTemplate;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Replaces placeholders in a given string with values from a data object.
|
|
203
|
+
*
|
|
204
|
+
* @param template The template string.
|
|
205
|
+
* @param values The object containing properties which will be bound to `template`.
|
|
206
|
+
* @returns The `template` string with all placeholders replaced by the values specified in `values`.
|
|
207
|
+
*/
|
|
208
|
+
interpolate(template, values) {
|
|
209
|
+
let output = template;
|
|
210
|
+
Object.entries(values).forEach(([key, value]) => {
|
|
211
|
+
output = output.replace('${' + key + '}', value);
|
|
212
|
+
});
|
|
213
|
+
return output;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=base.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.component.js","sourceRoot":"","sources":["../../src/components/base.component.ts"],"names":[],"mappings":"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"}
|
package/dist/{types/components → components}/content/content-types/base-content.component.d.ts
RENAMED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { BaseComponentConfig
|
|
1
|
+
import { BaseComponentConfig } from '@configuration';
|
|
2
|
+
import { BaseComponentModel, ContentType } from '@models';
|
|
2
3
|
import { BaseComponent } from '../../base.component';
|
|
4
|
+
/**
|
|
5
|
+
* @category Content
|
|
6
|
+
*/
|
|
3
7
|
export declare abstract class BaseContentComponent<TConfig extends BaseComponentConfig, TData extends ContentType, TModel extends BaseComponentModel> extends BaseComponent<TConfig, TData, TModel> {
|
|
4
8
|
protected bindFromEvent: boolean;
|
|
5
9
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseComponent } from '../../base.component';
|
|
2
|
+
/**
|
|
3
|
+
* @category Content
|
|
4
|
+
*/
|
|
5
|
+
export class BaseContentComponent extends BaseComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.bindFromEvent = false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=base-content.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-content.component.js","sourceRoot":"","sources":["../../../../src/components/content/content-types/base-content.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAgB,oBAIpB,SAAQ,aAAqC;IAJ/C;;QAKuB,kBAAa,GAAG,KAAK,CAAC;IAC7C,CAAC;CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CustomContentComponentConfig, HawkSearchComponents } from '@configuration';
|
|
2
|
+
import { CustomContent, CustomContentComponentModel } from '@models';
|
|
3
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
4
|
+
/**
|
|
5
|
+
* The Custom Content component renders HTML defined in Hawksearch.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-custom-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Default Template
|
|
11
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
12
|
+
* {@embed ./custom-content.component.hbs}
|
|
13
|
+
*
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export declare class CustomContentComponent extends BaseContentComponent<CustomContentComponentConfig, CustomContent, CustomContentComponentModel> {
|
|
17
|
+
protected componentName: keyof HawkSearchComponents;
|
|
18
|
+
protected defaultHtml: any;
|
|
19
|
+
protected renderContent(): boolean;
|
|
20
|
+
protected getContentModel(): CustomContentComponentModel;
|
|
21
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
2
|
+
import defaultHtml from './custom-content.component.hbs';
|
|
3
|
+
/**
|
|
4
|
+
* The Custom Content component renders HTML defined in Hawksearch.
|
|
5
|
+
*
|
|
6
|
+
* ## Tag
|
|
7
|
+
* The tag for this component is `<hawksearch-custom-content>`.
|
|
8
|
+
*
|
|
9
|
+
* ## Default Template
|
|
10
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
11
|
+
* {@embed ./custom-content.component.hbs}
|
|
12
|
+
*
|
|
13
|
+
* @category Content
|
|
14
|
+
*/
|
|
15
|
+
export class CustomContentComponent extends BaseContentComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.componentName = 'custom-content';
|
|
19
|
+
this.defaultHtml = defaultHtml;
|
|
20
|
+
}
|
|
21
|
+
renderContent() {
|
|
22
|
+
return !!this.data;
|
|
23
|
+
}
|
|
24
|
+
getContentModel() {
|
|
25
|
+
return Object.assign({}, this.data);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=custom-content.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-content.component.js","sourceRoot":"","sources":["../../../../../src/components/content/content-types/custom-content/custom-content.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,sBAAuB,SAAQ,oBAA8F;IAA1I;;QACuB,kBAAa,GAA+B,gBAAgB,CAAC;QAC7D,gBAAW,GAAG,WAAW,CAAC;IAWjD,CAAC;IATsB,aAAa;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC;IAEkB,eAAe;QAC9B,yBACO,IAAI,CAAC,IAAK,EACf;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FeaturedItemsContentComponentConfig, HawkSearchComponents } from '@configuration';
|
|
2
|
+
import { FeaturedItemsContent, FeaturedItemsContentComponentModel } from '@models';
|
|
3
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
4
|
+
/**
|
|
5
|
+
* The Featured Items Content component renders a custom list of search results (typically products) defined as Spotlights in Hawksearch. This is commonly used to display a default set of products when a query returns no results.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-featured-items-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Default Template
|
|
11
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
12
|
+
* {@embed ./featured-items-content.component.hbs}
|
|
13
|
+
*
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export declare class FeaturedItemsContentComponent extends BaseContentComponent<FeaturedItemsContentComponentConfig, FeaturedItemsContent, FeaturedItemsContentComponentModel> {
|
|
17
|
+
protected componentName: keyof HawkSearchComponents;
|
|
18
|
+
protected defaultHtml: any;
|
|
19
|
+
protected renderContent(): boolean;
|
|
20
|
+
protected getContentModel(): FeaturedItemsContentComponentModel;
|
|
21
|
+
protected bindChildElements(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
2
|
+
import defaultHtml from './featured-items-content.component.hbs';
|
|
3
|
+
/**
|
|
4
|
+
* The Featured Items Content component renders a custom list of search results (typically products) defined as Spotlights in Hawksearch. This is commonly used to display a default set of products when a query returns no results.
|
|
5
|
+
*
|
|
6
|
+
* ## Tag
|
|
7
|
+
* The tag for this component is `<hawksearch-featured-items-content>`.
|
|
8
|
+
*
|
|
9
|
+
* ## Default Template
|
|
10
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
11
|
+
* {@embed ./featured-items-content.component.hbs}
|
|
12
|
+
*
|
|
13
|
+
* @category Content
|
|
14
|
+
*/
|
|
15
|
+
export class FeaturedItemsContentComponent extends BaseContentComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.componentName = 'featured-items-content';
|
|
19
|
+
this.defaultHtml = defaultHtml;
|
|
20
|
+
}
|
|
21
|
+
renderContent() {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
return !!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length);
|
|
24
|
+
}
|
|
25
|
+
getContentModel() {
|
|
26
|
+
return Object.assign({}, this.data);
|
|
27
|
+
}
|
|
28
|
+
bindChildElements() {
|
|
29
|
+
this.rootElement.querySelectorAll('hawksearch-featured-items-content-item').forEach((component, index) => {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
component.data = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b[index];
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=featured-items-content.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featured-items-content.component.js","sourceRoot":"","sources":["../../../../../src/components/content/content-types/featured-items-content/featured-items-content.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,WAAW,MAAM,wCAAwC,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,6BAA8B,SAAQ,oBAIlD;IAJD;;QAKuB,kBAAa,GAA+B,wBAAwB,CAAC;QACrE,gBAAW,GAAG,WAAW,CAAC;IAiBjD,CAAC;IAfsB,aAAa;;QAC5B,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM,CAAA,CAAC;IACtC,CAAC;IAEkB,eAAe;QAC9B,yBACO,IAAI,CAAC,IAAK,EACf;IACN,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAoC,wCAAwC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;;YACxI,SAAS,CAAC,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,0CAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FeaturedItemsContentItemComponentConfig, HawkSearchComponents } from '@configuration';
|
|
2
|
+
import { FeaturedItemsContentItemComponentModel, SearchResultsItem } from '@models';
|
|
3
|
+
import { BaseComponent } from '../../../base.component';
|
|
4
|
+
/**
|
|
5
|
+
* The Featured Items Content Item component displays information for an individual product or page.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-featured-items-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Event-Binding Attributes
|
|
11
|
+
* ### Images
|
|
12
|
+
* | Name | Value |
|
|
13
|
+
* | :- | :- |
|
|
14
|
+
* | hawksearch-image | |
|
|
15
|
+
*
|
|
16
|
+
* Image elements with this attribute will have their src value replaced with a placeholder image URL if the image fails to load.
|
|
17
|
+
*
|
|
18
|
+
* ### Links
|
|
19
|
+
* | Name | Value |
|
|
20
|
+
* | :- | :- |
|
|
21
|
+
* | hawksearch-link | |
|
|
22
|
+
*
|
|
23
|
+
* Anchor elements with this attribute will be tracked when clicked.
|
|
24
|
+
*
|
|
25
|
+
* ## Default Template
|
|
26
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
27
|
+
* {@embed ./featured-items-content-item.component.hbs}
|
|
28
|
+
*
|
|
29
|
+
* @category Content
|
|
30
|
+
*/
|
|
31
|
+
export declare class FeaturedItemsContentItemComponent extends BaseComponent<FeaturedItemsContentItemComponentConfig, SearchResultsItem, FeaturedItemsContentItemComponentModel> {
|
|
32
|
+
protected componentName: keyof HawkSearchComponents;
|
|
33
|
+
protected defaultHtml: any;
|
|
34
|
+
protected bindFromEvent: boolean;
|
|
35
|
+
protected renderContent(): boolean;
|
|
36
|
+
protected getContentModel(): FeaturedItemsContentItemComponentModel;
|
|
37
|
+
protected bindChildElements(): void;
|
|
38
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import placeholderUrl from '@assets/images/placeholder.png';
|
|
2
|
+
import { trackingService } from '@services';
|
|
3
|
+
import { BaseComponent } from '../../../base.component';
|
|
4
|
+
import defaultHtml from './featured-items-content-item.component.hbs';
|
|
5
|
+
/**
|
|
6
|
+
* The Featured Items Content Item component displays information for an individual product or page.
|
|
7
|
+
*
|
|
8
|
+
* ## Tag
|
|
9
|
+
* The tag for this component is `<hawksearch-featured-items-content>`.
|
|
10
|
+
*
|
|
11
|
+
* ## Event-Binding Attributes
|
|
12
|
+
* ### Images
|
|
13
|
+
* | Name | Value |
|
|
14
|
+
* | :- | :- |
|
|
15
|
+
* | hawksearch-image | |
|
|
16
|
+
*
|
|
17
|
+
* Image elements with this attribute will have their src value replaced with a placeholder image URL if the image fails to load.
|
|
18
|
+
*
|
|
19
|
+
* ### Links
|
|
20
|
+
* | Name | Value |
|
|
21
|
+
* | :- | :- |
|
|
22
|
+
* | hawksearch-link | |
|
|
23
|
+
*
|
|
24
|
+
* Anchor elements with this attribute will be tracked when clicked.
|
|
25
|
+
*
|
|
26
|
+
* ## Default Template
|
|
27
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
28
|
+
* {@embed ./featured-items-content-item.component.hbs}
|
|
29
|
+
*
|
|
30
|
+
* @category Content
|
|
31
|
+
*/
|
|
32
|
+
export class FeaturedItemsContentItemComponent extends BaseComponent {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.componentName = 'featured-items-content-item';
|
|
36
|
+
this.defaultHtml = defaultHtml;
|
|
37
|
+
this.bindFromEvent = false;
|
|
38
|
+
}
|
|
39
|
+
renderContent() {
|
|
40
|
+
return !!this.data;
|
|
41
|
+
}
|
|
42
|
+
getContentModel() {
|
|
43
|
+
var _a, _b, _c;
|
|
44
|
+
return Object.assign(Object.assign({}, this.data), { strings: {
|
|
45
|
+
sale: (_c = (_b = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.strings) === null || _b === void 0 ? void 0 : _b.sale) !== null && _c !== void 0 ? _c : 'Sale'
|
|
46
|
+
} });
|
|
47
|
+
}
|
|
48
|
+
bindChildElements() {
|
|
49
|
+
this.rootElement.querySelectorAll('[hawksearch-image]').forEach((e) => {
|
|
50
|
+
e.addEventListener('error', (event) => {
|
|
51
|
+
const element = event.currentTarget;
|
|
52
|
+
element.src = HawkSearch.config.placeholderImageUrl || placeholderUrl;
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
this.rootElement.querySelectorAll('[hawksearch-link]').forEach((e) => {
|
|
56
|
+
e.addEventListener('click', ((event) => {
|
|
57
|
+
if (!this.data) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
trackingService.trackSearchResultClick(this.data.id, this.data.url, event);
|
|
61
|
+
}));
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=featured-items-content-item.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featured-items-content-item.component.js","sourceRoot":"","sources":["../../../../../src/components/content/content-types/featured-items-content-item/featured-items-content-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AAItE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,iCAAkC,SAAQ,aAItD;IAJD;;QAKuB,kBAAa,GAA+B,6BAA6B,CAAC;QAC1E,gBAAW,GAAG,WAAW,CAAC;QAC1B,kBAAa,GAAG,KAAK,CAAC;IAkC7C,CAAC;IAhCsB,aAAa;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC;IAEkB,eAAe;;QAC9B,uCACO,IAAI,CAAC,IAAK,KACb,OAAO,EAAE;gBACL,IAAI,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,0CAAE,IAAI,mCAAI,MAAM;aACpD,IACH;IACN,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAY,EAAQ,EAAE;gBAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAiC,CAAC;gBAExD,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,IAAI,cAAc,CAAC;YAC1E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAmB,EAAQ,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACZ,OAAO;iBACV;gBAED,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/E,CAAC,CAAkB,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HawkSearchComponents, ImageContentComponentConfig } from '@configuration';
|
|
2
|
+
import { ImageContent, ImageContentComponentModel } from '@models';
|
|
3
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
4
|
+
/**
|
|
5
|
+
* The Image Content component displays an image defined in Hawksearch.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-image-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Default Template
|
|
11
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
12
|
+
* {@embed ./image-content.component.hbs}
|
|
13
|
+
*
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export declare class ImageContentComponent extends BaseContentComponent<ImageContentComponentConfig, ImageContent, ImageContentComponentModel> {
|
|
17
|
+
protected componentName: keyof HawkSearchComponents;
|
|
18
|
+
protected defaultHtml: any;
|
|
19
|
+
protected renderContent(): boolean;
|
|
20
|
+
protected getContentModel(): ImageContentComponentModel;
|
|
21
|
+
protected onRender(): void;
|
|
22
|
+
protected bindChildElements(): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { trackingService } from '@services';
|
|
2
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
3
|
+
import defaultHtml from './image-content.component.hbs';
|
|
4
|
+
/**
|
|
5
|
+
* The Image Content component displays an image defined in Hawksearch.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-image-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Default Template
|
|
11
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
12
|
+
* {@embed ./image-content.component.hbs}
|
|
13
|
+
*
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export class ImageContentComponent extends BaseContentComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.componentName = 'image-content';
|
|
20
|
+
this.defaultHtml = defaultHtml;
|
|
21
|
+
}
|
|
22
|
+
renderContent() {
|
|
23
|
+
return !!this.data;
|
|
24
|
+
}
|
|
25
|
+
getContentModel() {
|
|
26
|
+
return Object.assign({}, this.data);
|
|
27
|
+
}
|
|
28
|
+
onRender() {
|
|
29
|
+
super.onRender();
|
|
30
|
+
trackingService.trackBannerImpression(this.data.id, this.data.campaignId);
|
|
31
|
+
}
|
|
32
|
+
bindChildElements() {
|
|
33
|
+
this.rootElement.querySelectorAll('[hawksearch-link]').forEach((e) => {
|
|
34
|
+
e.addEventListener('click', (event) => {
|
|
35
|
+
trackingService.trackBannerClick(this.data.id, this.data.campaignId);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=image-content.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-content.component.js","sourceRoot":"","sources":["../../../../../src/components/content/content-types/image-content/image-content.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,qBAAsB,SAAQ,oBAA2F;IAAtI;;QACuB,kBAAa,GAA+B,eAAe,CAAC;QAC5D,gBAAW,GAAG,WAAW,CAAC;IAyBjD,CAAC;IAvBsB,aAAa;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC;IAEkB,eAAe;QAC9B,yBACO,IAAI,CAAC,IAAK,EACf;IACN,CAAC;IAEkB,QAAQ;QACvB,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACzC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './base-content.component';
|
|
2
|
+
export * from './custom-content/custom-content.component';
|
|
3
|
+
export * from './featured-items-content/featured-items-content.component';
|
|
4
|
+
export * from './featured-items-content-item/featured-items-content-item.component';
|
|
5
|
+
export * from './image-content/image-content.component';
|
|
6
|
+
export * from './popular-queries-content/popular-queries-content.component';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content/content-types/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,qEAAqE,CAAC;AACpF,cAAc,yCAAyC,CAAC;AACxD,cAAc,6DAA6D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { HawkSearchComponents, PopularQueriesContentComponentConfig } from '@configuration';
|
|
2
|
+
import { PopularQueriesContent, PopularQueriesContentComponentModel } from '@models';
|
|
3
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
4
|
+
/**
|
|
5
|
+
* The Popular Queries Content component renders a tag cloud of popular queries relating to the current query. Each link is weighted according to its search frequency, with the most popular queries displayed in the largest font size.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-popular-queries-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Default Template
|
|
11
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
12
|
+
* {@embed ./popular-queries-content.component.hbs}
|
|
13
|
+
*
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export declare class PopularQueriesContentComponent extends BaseContentComponent<PopularQueriesContentComponentConfig, PopularQueriesContent, PopularQueriesContentComponentModel> {
|
|
17
|
+
protected componentName: keyof HawkSearchComponents;
|
|
18
|
+
protected defaultHtml: any;
|
|
19
|
+
protected renderContent(): boolean;
|
|
20
|
+
protected getContentModel(): PopularQueriesContentComponentModel;
|
|
21
|
+
protected bindChildElements(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { searchService } from '@services';
|
|
2
|
+
import { BaseContentComponent } from '../base-content.component';
|
|
3
|
+
import defaultHtml from './popular-queries-content.component.hbs';
|
|
4
|
+
/**
|
|
5
|
+
* The Popular Queries Content component renders a tag cloud of popular queries relating to the current query. Each link is weighted according to its search frequency, with the most popular queries displayed in the largest font size.
|
|
6
|
+
*
|
|
7
|
+
* ## Tag
|
|
8
|
+
* The tag for this component is `<hawksearch-popular-queries-content>`.
|
|
9
|
+
*
|
|
10
|
+
* ## Default Template
|
|
11
|
+
* The following is the default Handlebars template for this component. To create a custom template, it is recommended to use this as a starting point.
|
|
12
|
+
* {@embed ./popular-queries-content.component.hbs}
|
|
13
|
+
*
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export class PopularQueriesContentComponent extends BaseContentComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.componentName = 'popular-queries-content';
|
|
20
|
+
this.defaultHtml = defaultHtml;
|
|
21
|
+
}
|
|
22
|
+
renderContent() {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
return !!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length);
|
|
25
|
+
}
|
|
26
|
+
getContentModel() {
|
|
27
|
+
return Object.assign({}, this.data);
|
|
28
|
+
}
|
|
29
|
+
bindChildElements() {
|
|
30
|
+
this.rootElement.querySelectorAll('[hawksearch-query]').forEach((e) => {
|
|
31
|
+
e.addEventListener('click', (event) => {
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
const element = event.currentTarget;
|
|
34
|
+
const query = element.getAttribute('hawksearch-query');
|
|
35
|
+
if (query) {
|
|
36
|
+
searchService.query(query);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=popular-queries-content.component.js.map
|