@bridgeline-digital/hawksearch-handlebars-ui 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -0
- package/.eslintrc.json +153 -0
- package/.husky/pre-commit +5 -0
- package/.lintstagedrc.json +4 -0
- package/.prettierignore +7 -0
- package/.prettierrc.json +19 -0
- package/.vscode/launch.json +15 -0
- package/custom1.html +52 -0
- package/custom2.html +44 -0
- package/gulpfile.js +73 -0
- package/index.html +39 -0
- package/package.json +57 -0
- package/src/assets/icons/chevron-back.svg +4 -0
- package/src/assets/icons/chevron-down.svg +3 -0
- package/src/assets/icons/chevron-forward.svg +4 -0
- package/src/assets/icons/chevron-left.svg +3 -0
- package/src/assets/icons/chevron-right.svg +3 -0
- package/src/assets/icons/chevron-up.svg +3 -0
- package/src/assets/icons/cross.svg +3 -0
- package/src/assets/icons/help.svg +4 -0
- package/src/assets/icons/minus.svg +3 -0
- package/src/assets/icons/plus.svg +7 -0
- package/src/assets/images/icons.svg +1 -0
- package/src/assets/images/placeholder.png +0 -0
- package/src/components/autocomplete/autocomplete.component.hbs +60 -0
- package/src/components/autocomplete/autocomplete.component.ts +124 -0
- package/src/components/base.component.ts +120 -0
- package/src/components/facet-types/base-facet.component.ts +114 -0
- package/src/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.hbs +6 -0
- package/src/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.ts +73 -0
- package/src/components/facet-types/checkbox-list-facet/checkbox-list.partial.hbs +42 -0
- package/src/components/facet-types/color-facet/color-facet.component.hbs +29 -0
- package/src/components/facet-types/color-facet/color-facet.component.ts +26 -0
- package/src/components/facet-types/index.ts +6 -0
- package/src/components/facet-types/linked-list-facet/link-list-facet.component.hbs +17 -0
- package/src/components/facet-types/linked-list-facet/link-list-facet.component.ts +32 -0
- package/src/components/facet-types/range-slider-facet/range-slider-facet.component.hbs +11 -0
- package/src/components/facet-types/range-slider-facet/range-slider-facet.component.ts +107 -0
- package/src/components/facet-types/search-within-facet/search-within-facet.component.hbs +3 -0
- package/src/components/facet-types/search-within-facet/search-within-facet.component.ts +33 -0
- package/src/components/facet-types/size-facet/size-facet.component.hbs +29 -0
- package/src/components/facet-types/size-facet/size-facet.component.ts +30 -0
- package/src/components/facet-wrapper/facet-wrapper.component.hbs +36 -0
- package/src/components/facet-wrapper/facet-wrapper.component.ts +62 -0
- package/src/components/facets-list/facets-list.component.hbs +11 -0
- package/src/components/facets-list/facets-list.component.ts +92 -0
- package/src/components/icon/icon.component.hbs +3 -0
- package/src/components/icon/icon.component.ts +40 -0
- package/src/components/index.ts +18 -0
- package/src/components/modified-query/modified-query.component.hbs +7 -0
- package/src/components/modified-query/modified-query.component.ts +38 -0
- package/src/components/page-size/page-size.component.hbs +7 -0
- package/src/components/page-size/page-size.component.ts +35 -0
- package/src/components/pagination/pagination.component.hbs +34 -0
- package/src/components/pagination/pagination.component.ts +85 -0
- package/src/components/query-suggestions/query-suggestions.component.hbs +3 -0
- package/src/components/query-suggestions/query-suggestions.component.ts +66 -0
- package/src/components/range-slider/range-slider.component.hbs +9 -0
- package/src/components/range-slider/range-slider.component.ts +190 -0
- package/src/components/search/search.component.hbs +4 -0
- package/src/components/search/search.component.ts +93 -0
- package/src/components/search-results/search-results.component.hbs +29 -0
- package/src/components/search-results/search-results.component.ts +17 -0
- package/src/components/search-results-item/search-results-item.component.hbs +23 -0
- package/src/components/search-results-item/search-results-item.component.ts +99 -0
- package/src/components/search-results-list/search-results-list.component.hbs +15 -0
- package/src/components/search-results-list/search-results-list.component.ts +24 -0
- package/src/components/selected-facets/selected-facets.component.hbs +11 -0
- package/src/components/selected-facets/selected-facets.component.ts +81 -0
- package/src/components/sorting/sorting.component.hbs +7 -0
- package/src/components/sorting/sorting.component.ts +33 -0
- package/src/components/tabs/tabs.component.hbs +7 -0
- package/src/components/tabs/tabs.component.ts +35 -0
- package/src/components/tooltip/tooltip.component.hbs +6 -0
- package/src/components/tooltip/tooltip.component.ts +48 -0
- package/src/helpers/formatters.ts +15 -0
- package/src/helpers/index.ts +1 -0
- package/src/index.ts +125 -0
- package/src/models/autocomplete.models.ts +71 -0
- package/src/models/component.models.ts +27 -0
- package/src/models/global.models.ts +78 -0
- package/src/models/index.ts +7 -0
- package/src/models/raw-autocomplete.models.ts +46 -0
- package/src/models/raw-search.models.ts +130 -0
- package/src/models/search.models.ts +144 -0
- package/src/models/tracking.models.ts +33 -0
- package/src/scss/components/_autocomplete.scss +55 -0
- package/src/scss/components/_facets.scss +287 -0
- package/src/scss/components/_icons.scss +17 -0
- package/src/scss/components/_modified-query.scss +11 -0
- package/src/scss/components/_page-size.scss +2 -0
- package/src/scss/components/_pagination.scss +23 -0
- package/src/scss/components/_query-suggestions.scss +7 -0
- package/src/scss/components/_range-slider.scss +50 -0
- package/src/scss/components/_search-results-item.scss +64 -0
- package/src/scss/components/_search.scss +4 -0
- package/src/scss/components/_selected-facets.scss +24 -0
- package/src/scss/components/_sorting.scss +2 -0
- package/src/scss/components/_tabs.scss +51 -0
- package/src/scss/components/_tooltips.scss +29 -0
- package/src/scss/general/_forms.scss +82 -0
- package/src/scss/general/_grid-layout.scss +44 -0
- package/src/scss/general/_images.scss +3 -0
- package/src/scss/general/_typography.scss +15 -0
- package/src/scss/hawksearch.scss +35 -0
- package/src/scss/includes/_breakpoints.scss +51 -0
- package/src/scss/includes/_components.scss +14 -0
- package/src/scss/includes/_general.scss +4 -0
- package/src/scss/includes/_reset.scss +203 -0
- package/src/scss/includes/_utility-classes.scss +85 -0
- package/src/services/autocomplete.service.ts +104 -0
- package/src/services/base.service.ts +93 -0
- package/src/services/index.ts +3 -0
- package/src/services/search.service.ts +754 -0
- package/src/services/tracking.service.ts +136 -0
- package/tsconfig.json +22 -0
- package/typings.d.ts +21 -0
- package/webpack.config.js +75 -0
package/.eslintignore
ADDED
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": true,
|
|
3
|
+
"parser": "@typescript-eslint/parser",
|
|
4
|
+
"plugins": ["@typescript-eslint"],
|
|
5
|
+
"extends": ["eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "prettier"],
|
|
6
|
+
"rules": {
|
|
7
|
+
"array-bracket-spacing": "off",
|
|
8
|
+
"array-element-newline": "off",
|
|
9
|
+
"arrow-spacing": "off",
|
|
10
|
+
"block-scoped-var": ["warn"],
|
|
11
|
+
"block-spacing": "off",
|
|
12
|
+
"brace-style": "off",
|
|
13
|
+
"camelcase": ["warn"],
|
|
14
|
+
"comma-dangle": "off",
|
|
15
|
+
"comma-spacing": "off",
|
|
16
|
+
"comma-style": "off",
|
|
17
|
+
"computed-property-spacing": "off",
|
|
18
|
+
"consistent-return": ["warn"],
|
|
19
|
+
"consistent-this": ["error"],
|
|
20
|
+
"curly": "off",
|
|
21
|
+
"default-case": ["off"],
|
|
22
|
+
"default-case-last": ["warn"],
|
|
23
|
+
"default-param-last": ["error"],
|
|
24
|
+
"dot-location": "off",
|
|
25
|
+
"eol-last": "off",
|
|
26
|
+
"func-call-spacing": "off",
|
|
27
|
+
"func-name-matching": ["warn"],
|
|
28
|
+
"func-names": ["warn", "never"],
|
|
29
|
+
"function-call-argument-newline": "off",
|
|
30
|
+
"function-paren-newline": "off",
|
|
31
|
+
"grouped-accessor-pairs": ["warn", "getBeforeSet"],
|
|
32
|
+
"guard-for-in": ["error"],
|
|
33
|
+
"implicit-arrow-linebreak": "off",
|
|
34
|
+
"indent": "off",
|
|
35
|
+
"jsx-quotes": "off",
|
|
36
|
+
"key-spacing": "off",
|
|
37
|
+
"keyword-spacing": "off",
|
|
38
|
+
"lines-between-class-members": [
|
|
39
|
+
"warn",
|
|
40
|
+
"always",
|
|
41
|
+
{
|
|
42
|
+
"exceptAfterSingleLine": true
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"multiline-comment-style": ["warn", "starred-block"],
|
|
46
|
+
"multiline-ternary": "off",
|
|
47
|
+
"new-cap": [
|
|
48
|
+
"warn",
|
|
49
|
+
{
|
|
50
|
+
"capIsNewExceptions": [
|
|
51
|
+
"Component",
|
|
52
|
+
"ContentChild",
|
|
53
|
+
"ContentChildren",
|
|
54
|
+
"Directive",
|
|
55
|
+
"HostBinding",
|
|
56
|
+
"HostListener",
|
|
57
|
+
"Inject",
|
|
58
|
+
"Injectable",
|
|
59
|
+
"Input",
|
|
60
|
+
"NgModule",
|
|
61
|
+
"Optional",
|
|
62
|
+
"Output",
|
|
63
|
+
"Pipe",
|
|
64
|
+
"Self",
|
|
65
|
+
"ViewChild",
|
|
66
|
+
"ViewChildren"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"new-parens": "off",
|
|
71
|
+
"newline-per-chained-call": "off",
|
|
72
|
+
"no-alert": ["error"],
|
|
73
|
+
"no-array-constructor": ["error"],
|
|
74
|
+
"no-constructor-return": ["error"],
|
|
75
|
+
"no-duplicate-imports": ["error"],
|
|
76
|
+
// "no-empty-function": ["warn", {
|
|
77
|
+
// "allow": ["constructors"]
|
|
78
|
+
// }],
|
|
79
|
+
"no-eq-null": ["warn"],
|
|
80
|
+
"no-eval": ["error"],
|
|
81
|
+
"no-extend-native": ["error"],
|
|
82
|
+
"no-extra-bind": ["warn"],
|
|
83
|
+
"no-extra-parens": "off",
|
|
84
|
+
"no-labels": ["error"],
|
|
85
|
+
"no-lone-blocks": ["warn"],
|
|
86
|
+
"no-lonely-if": ["warn"],
|
|
87
|
+
"no-loop-func": ["warn"],
|
|
88
|
+
"no-multi-assign": ["error"],
|
|
89
|
+
"no-multi-spaces": "off",
|
|
90
|
+
"no-multiple-empty-lines": "off",
|
|
91
|
+
"no-nested-ternary": ["error"],
|
|
92
|
+
"no-new-wrappers": ["warn"],
|
|
93
|
+
"no-promise-executor-return": ["error"],
|
|
94
|
+
"no-self-compare": ["error"],
|
|
95
|
+
"no-template-curly-in-string": ["warn"],
|
|
96
|
+
"no-throw-literal": ["error"],
|
|
97
|
+
"no-trailing-spaces": "off",
|
|
98
|
+
"no-underscore-dangle": "off",
|
|
99
|
+
"no-unmodified-loop-condition": ["warn"],
|
|
100
|
+
"no-unneeded-ternary": ["warn"],
|
|
101
|
+
"no-unreachable-loop": ["warn"],
|
|
102
|
+
"no-unused-expressions": ["warn"],
|
|
103
|
+
"no-unused-private-class-members": ["warn"],
|
|
104
|
+
"no-useless-call": ["error"],
|
|
105
|
+
"no-useless-catch": ["error"],
|
|
106
|
+
"no-useless-computed-key": ["error"],
|
|
107
|
+
"no-useless-concat": ["warn"],
|
|
108
|
+
// "no-useless-constructor": ["warn"],
|
|
109
|
+
"no-useless-escape": ["warn"],
|
|
110
|
+
"no-useless-rename": ["warn"],
|
|
111
|
+
"no-useless-return": ["warn"],
|
|
112
|
+
"no-var": ["warn"],
|
|
113
|
+
"no-whitespace-before-property": "off",
|
|
114
|
+
"nonblock-statement-body-position": "off",
|
|
115
|
+
"object-curly-newline": "off",
|
|
116
|
+
"object-curly-spacing": "off",
|
|
117
|
+
"operator-linebreak": "off",
|
|
118
|
+
"one-var": ["warn", "never"],
|
|
119
|
+
"padded-blocks": "off",
|
|
120
|
+
"padding-line-between-statements": ["warn"],
|
|
121
|
+
"quote-props": "off",
|
|
122
|
+
"quotes": "off",
|
|
123
|
+
"rest-spread-spacing": "off",
|
|
124
|
+
"require-await": ["warn"],
|
|
125
|
+
"semi": "off",
|
|
126
|
+
"semi-spacing": "off",
|
|
127
|
+
"semi-style": "off",
|
|
128
|
+
"space-before-blocks": "off",
|
|
129
|
+
"space-before-function-paren": "off",
|
|
130
|
+
"space-in-parens": "off",
|
|
131
|
+
"space-infix-ops": "off",
|
|
132
|
+
"sort-imports": [
|
|
133
|
+
"warn",
|
|
134
|
+
{
|
|
135
|
+
"ignoreCase": false,
|
|
136
|
+
"ignoreDeclarationSort": true
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"spaced-comment": ["warn", "always"],
|
|
140
|
+
"switch-colon-spacing": "off",
|
|
141
|
+
"template-curly-spacing": "off",
|
|
142
|
+
"template-tag-spacing": "off",
|
|
143
|
+
"@typescript-eslint/ban-ts-comment": "off",
|
|
144
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
145
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
146
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
147
|
+
"@typescript-eslint/no-non-null-assertion": "off",
|
|
148
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
149
|
+
"unicode-bom": "off",
|
|
150
|
+
"vars-on-top": ["warn"],
|
|
151
|
+
"wrap-iife": "off"
|
|
152
|
+
}
|
|
153
|
+
}
|
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"arrowParens": "always",
|
|
3
|
+
"bracketSameLine": false,
|
|
4
|
+
"bracketSpacing": true,
|
|
5
|
+
"embeddedLanguageFormatting": "auto",
|
|
6
|
+
"endOfLine": "lf",
|
|
7
|
+
"htmlWhitespaceSensitivity": "css",
|
|
8
|
+
"importOrder": ["^@(?:assets|components|helpers|models|services)", "^[./]"],
|
|
9
|
+
"importOrderParserPlugins": ["typescript", "decorators-legacy"],
|
|
10
|
+
"jsxSingleQuote": false,
|
|
11
|
+
"printWidth": 160,
|
|
12
|
+
"proseWrap": "preserve",
|
|
13
|
+
"quoteProps": "as-needed",
|
|
14
|
+
"semi": true,
|
|
15
|
+
"singleAttributePerLine": false,
|
|
16
|
+
"singleQuote": true,
|
|
17
|
+
"tabWidth": 4,
|
|
18
|
+
"trailingComma": "none"
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
// Use IntelliSense to learn about possible attributes.
|
|
3
|
+
// Hover to view descriptions of existing attributes.
|
|
4
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
+
"version": "0.2.0",
|
|
6
|
+
"configurations": [
|
|
7
|
+
{
|
|
8
|
+
"type": "pwa-msedge",
|
|
9
|
+
"request": "launch",
|
|
10
|
+
"name": "Launch Edge against localhost",
|
|
11
|
+
"url": "http://localhost:8080",
|
|
12
|
+
"webRoot": "${workspaceFolder}"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
package/custom1.html
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Hawksearch Demo (custom - nested)</title>
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
|
+
<style type="text/css">
|
|
8
|
+
body {
|
|
9
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
10
|
+
font-size: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.layout-container {
|
|
14
|
+
margin: 0 auto;
|
|
15
|
+
min-width: 340px;
|
|
16
|
+
max-width: 1280px;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
<script type="text/javascript">
|
|
20
|
+
var Hawksearch = Hawksearch || {};
|
|
21
|
+
|
|
22
|
+
Hawksearch.config = {
|
|
23
|
+
clientId: 'f51060e1c38446f0bacdf283390c37e8'
|
|
24
|
+
};
|
|
25
|
+
</script>
|
|
26
|
+
</head>
|
|
27
|
+
|
|
28
|
+
<body>
|
|
29
|
+
<h1>Hawksearch Demo (custom - nested)</h1>
|
|
30
|
+
<hawksearch-pagination></hawksearch-pagination>
|
|
31
|
+
<hawksearch-results>
|
|
32
|
+
{{{{exclude}}}}
|
|
33
|
+
<hawksearch-results-list>
|
|
34
|
+
<h2>Custom List: {{test}}</h2>
|
|
35
|
+
{{#each items}} {{{{exclude}}}}
|
|
36
|
+
<hawksearch-results-item>
|
|
37
|
+
<div>Custom item: {{title}}</div>
|
|
38
|
+
</hawksearch-results-item>
|
|
39
|
+
{{{{/exclude}}}} {{/each}}
|
|
40
|
+
</hawksearch-results-list>
|
|
41
|
+
{{{{/exclude}}}} {{{{exclude}}}}
|
|
42
|
+
<hawksearch-pagination>
|
|
43
|
+
{{#if displayFirstLink}}
|
|
44
|
+
<a hawksearch-page="1">FIRST</a>
|
|
45
|
+
{{/if}} {{#if displayLastLink}}
|
|
46
|
+
<a hawksearch-page="{{totalPages}}">LAST</a>
|
|
47
|
+
{{/if}}
|
|
48
|
+
</hawksearch-pagination>
|
|
49
|
+
{{{{/exclude}}}}
|
|
50
|
+
</hawksearch-results>
|
|
51
|
+
</body>
|
|
52
|
+
</html>
|
package/custom2.html
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Hawksearch Demo (custom - override)</title>
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
|
+
<style type="text/css">
|
|
8
|
+
body {
|
|
9
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
10
|
+
font-size: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.layout-container {
|
|
14
|
+
margin: 0 auto;
|
|
15
|
+
min-width: 340px;
|
|
16
|
+
max-width: 1280px;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
<script type="text/javascript">
|
|
20
|
+
var Hawksearch = Hawksearch || {};
|
|
21
|
+
|
|
22
|
+
Hawksearch.config = {
|
|
23
|
+
clientId: 'f51060e1c38446f0bacdf283390c37e8'
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
Hawksearch.templates = {
|
|
27
|
+
pagination: `
|
|
28
|
+
<div class="pagination">
|
|
29
|
+
This is a custom pagination template. Display first item: <strong>{{displayFirstLink}}</strong>
|
|
30
|
+
</div>
|
|
31
|
+
`,
|
|
32
|
+
searchResultsItem: 'search-results-item-template'
|
|
33
|
+
};
|
|
34
|
+
</script>
|
|
35
|
+
</head>
|
|
36
|
+
|
|
37
|
+
<body>
|
|
38
|
+
<h1>Hawksearch Demo (custom - override)</h1>
|
|
39
|
+
<hawksearch-results></hawksearch-results>
|
|
40
|
+
<template id="search-results-item-template">
|
|
41
|
+
<div>Custom override: <strong>{{title}}</strong></div>
|
|
42
|
+
</template>
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|
package/gulpfile.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
const del = require('del');
|
|
2
|
+
const { dest, series, src } = require('gulp');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const cheerio = require('gulp-cheerio');
|
|
5
|
+
const rename = require('gulp-rename');
|
|
6
|
+
const svgMin = require('gulp-svgmin');
|
|
7
|
+
const svgStore = require('gulp-svgstore');
|
|
8
|
+
|
|
9
|
+
const paths = {
|
|
10
|
+
build: './build',
|
|
11
|
+
svg: {
|
|
12
|
+
source: './src/assets/icons',
|
|
13
|
+
output: './src/assets/images'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
function cleanup() {
|
|
18
|
+
return del(paths.build);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function compileSvg() {
|
|
22
|
+
return src(path.join(paths.svg.source, '*.svg'))
|
|
23
|
+
.pipe(
|
|
24
|
+
cheerio({
|
|
25
|
+
run: ($) => {
|
|
26
|
+
// Needed to prevent svgMin from removing viewBox attributes, regardless of removeViewBox override
|
|
27
|
+
$('svg').removeAttr('width').removeAttr('height');
|
|
28
|
+
|
|
29
|
+
// Needed to support custom CSS fill color
|
|
30
|
+
$('*').removeAttr('fill');
|
|
31
|
+
},
|
|
32
|
+
parserOptions: {
|
|
33
|
+
xmlMode: true
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
.pipe(
|
|
38
|
+
svgMin({
|
|
39
|
+
plugins: [
|
|
40
|
+
{
|
|
41
|
+
name: 'preset-default',
|
|
42
|
+
params: {
|
|
43
|
+
overrides: {
|
|
44
|
+
removeViewBox: false,
|
|
45
|
+
cleanupIDs: false,
|
|
46
|
+
removeUnknownsAndDefaults: false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
'removeUselessStrokeAndFill',
|
|
51
|
+
'mergePaths',
|
|
52
|
+
'cleanupEnableBackground',
|
|
53
|
+
'removeStyleElement'
|
|
54
|
+
]
|
|
55
|
+
})
|
|
56
|
+
)
|
|
57
|
+
.pipe(
|
|
58
|
+
svgStore({
|
|
59
|
+
inlineSvg: true
|
|
60
|
+
})
|
|
61
|
+
)
|
|
62
|
+
.pipe(
|
|
63
|
+
rename({
|
|
64
|
+
basename: 'icons'
|
|
65
|
+
})
|
|
66
|
+
)
|
|
67
|
+
.pipe(dest(paths.svg.output));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const svg = series(compileSvg, cleanup);
|
|
71
|
+
|
|
72
|
+
exports.build = series(svg);
|
|
73
|
+
exports.svg = svg;
|
package/index.html
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<title>Hawksearch Demo (default)</title>
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
|
+
<style type="text/css">
|
|
8
|
+
body {
|
|
9
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
10
|
+
font-size: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.layout-container {
|
|
14
|
+
margin: 0 auto;
|
|
15
|
+
min-width: 340px;
|
|
16
|
+
max-width: 1280px;
|
|
17
|
+
}
|
|
18
|
+
</style>
|
|
19
|
+
<script type="text/javascript">
|
|
20
|
+
var Hawksearch = Hawksearch || {};
|
|
21
|
+
|
|
22
|
+
Hawksearch.config = {
|
|
23
|
+
clientId: 'f51060e1c38446f0bacdf283390c37e8',
|
|
24
|
+
urlPrefixes: {
|
|
25
|
+
assets: 'http://dev.hawksearch.net',
|
|
26
|
+
content: 'https://preview-dev.hawksearch.net/elasticdemo'
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
</script>
|
|
30
|
+
</head>
|
|
31
|
+
|
|
32
|
+
<body>
|
|
33
|
+
<div class="layout-container">
|
|
34
|
+
<h1>Hawksearch Demo (default)</h1>
|
|
35
|
+
<hawksearch-search></hawksearch-search>
|
|
36
|
+
<hawksearch-results></hawksearch-results>
|
|
37
|
+
</div>
|
|
38
|
+
</body>
|
|
39
|
+
</html>
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bridgeline-digital/hawksearch-handlebars-ui",
|
|
3
|
+
"version": "1.0.0-beta.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"private": false,
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "npm run gulp && webpack",
|
|
11
|
+
"build:prod": "npm run gulp && webpack --mode=production",
|
|
12
|
+
"eslint": "eslint . --ext .ts --max-warnings=0 --fix",
|
|
13
|
+
"gulp": "gulp build",
|
|
14
|
+
"gulp:svg": "gulp svg",
|
|
15
|
+
"lint": "npm run eslint && npm run prettier",
|
|
16
|
+
"prepare": "husky install",
|
|
17
|
+
"prettier": "prettier --write .",
|
|
18
|
+
"serve": "webpack serve --open",
|
|
19
|
+
"watch": "webpack --watch"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [],
|
|
22
|
+
"author": "",
|
|
23
|
+
"license": "ISC",
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@trivago/prettier-plugin-sort-imports": "^3.2.0",
|
|
26
|
+
"@types/lodash": "^4.14.182",
|
|
27
|
+
"@typescript-eslint/eslint-plugin": "^5.30.0",
|
|
28
|
+
"css-loader": "^6.7.1",
|
|
29
|
+
"del": "^6.1.1",
|
|
30
|
+
"eslint": "^8.18.0",
|
|
31
|
+
"eslint-config-prettier": "^8.5.0",
|
|
32
|
+
"gulp": "^4.0.2",
|
|
33
|
+
"gulp-cheerio": "^1.0.0",
|
|
34
|
+
"gulp-rename": "^2.0.0",
|
|
35
|
+
"gulp-svgmin": "^4.1.0",
|
|
36
|
+
"gulp-svgstore": "^9.0.0",
|
|
37
|
+
"html-loader": "^4.1.0",
|
|
38
|
+
"html-webpack-plugin": "^5.5.0",
|
|
39
|
+
"husky": "^8.0.1",
|
|
40
|
+
"lint-staged": "^13.0.3",
|
|
41
|
+
"prettier": "^2.7.1",
|
|
42
|
+
"raw-loader": "^4.0.2",
|
|
43
|
+
"sass": "^1.52.1",
|
|
44
|
+
"sass-loader": "^13.0.0",
|
|
45
|
+
"style-loader": "^3.3.1",
|
|
46
|
+
"ts-loader": "^9.2.8",
|
|
47
|
+
"tsconfig-paths-webpack-plugin": "^3.5.2",
|
|
48
|
+
"typescript": "^4.6.3",
|
|
49
|
+
"webpack": "^5.72.0",
|
|
50
|
+
"webpack-cli": "^4.9.2",
|
|
51
|
+
"webpack-dev-server": "^4.8.1"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"handlebars": "^4.7.7",
|
|
55
|
+
"lodash": "^4.17.21"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.70319 5.33126C10.0976 5.71782 10.104 6.35095 9.71748 6.7454L6.41429 10.116L9.70304 13.3376C10.0976 13.7241 10.1041 14.3573 9.71762 14.7518C9.33114 15.1463 8.69801 15.1528 8.30348 14.7664L4.30022 10.8448C4.11073 10.6592 4.00276 10.4059 4.00005 10.1406C3.99735 9.8754 4.10013 9.61996 4.28579 9.43051L8.28905 5.34554C8.67561 4.95109 9.30874 4.9447 9.70319 5.33126Z" fill="black"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.8174 5.33126C15.2119 5.71782 15.2183 6.35095 14.8317 6.7454L11.5285 10.116L14.8173 13.3376C15.2118 13.7241 15.2184 14.3573 14.8319 14.7518C14.4454 15.1463 13.8123 15.1528 13.4177 14.7664L9.41448 10.8448C9.22499 10.6592 9.11702 10.4059 9.11431 10.1406C9.1116 9.87541 9.21439 9.61996 9.40004 9.43051L13.4033 5.34554C13.7899 4.95109 14.423 4.9447 14.8174 5.33126Z" fill="black"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.8383 10.1111C6.22883 9.72055 6.86199 9.72055 7.25252 10.1111L12 14.8585L16.7474 10.1111C17.1379 9.72055 17.7711 9.72055 18.1616 10.1111C18.5521 10.5016 18.5521 11.1348 18.1616 11.5253L12.7071 16.9798C12.3165 17.3704 11.6834 17.3704 11.2928 16.9798L5.8383 11.5253C5.44778 11.1348 5.44778 10.5016 5.8383 10.1111Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.45989 14.7662C9.06545 14.3797 9.05905 13.7465 9.44561 13.3521L12.7488 9.98147L9.46004 6.75983C9.06551 6.37335 9.05899 5.74022 9.44547 5.34569C9.83194 4.95116 10.4651 4.94464 10.8596 5.33112L14.8629 9.25268C15.0524 9.4383 15.1603 9.6916 15.163 9.95684C15.1657 10.2221 15.063 10.4775 14.8773 10.667L10.874 14.7519C10.4875 15.1464 9.85434 15.1528 9.45989 14.7662Z" fill="black"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.34564 14.7662C3.95119 14.3797 3.94479 13.7465 4.33135 13.3521L7.63454 9.98147L4.34579 6.75983C3.95126 6.37335 3.94473 5.74022 4.33121 5.34569C4.71769 4.95116 5.35082 4.94464 5.74535 5.33112L9.74861 9.25268C9.93809 9.4383 10.0461 9.6916 10.0488 9.95684C10.0515 10.2221 9.9487 10.4775 9.76304 10.667L5.75978 14.7519C5.37322 15.1464 4.74009 15.1528 4.34564 14.7662Z" fill="black"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.6897 18.2241C14.2897 18.605 13.6567 18.5896 13.2759 18.1897L8.27586 12.9397C7.90804 12.5534 7.90804 11.9465 8.27586 11.5603L13.2759 6.31034C13.6567 5.91041 14.2897 5.89497 14.6897 6.27586C15.0896 6.65675 15.105 7.28972 14.7241 7.68965L10.381 12.25L14.7241 16.8103C15.105 17.2103 15.0896 17.8433 14.6897 18.2241Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.31035 18.2241C7.91041 17.8432 7.89498 17.2103 8.27586 16.8103L12.619 12.25L8.27586 7.68965C7.89498 7.28972 7.91041 6.65675 8.31034 6.27586C8.71027 5.89497 9.34325 5.91041 9.72414 6.31034L14.7241 11.5603C15.092 11.9465 15.092 12.5534 14.7241 12.9397L9.72414 18.1897C9.34325 18.5896 8.71028 18.605 8.31035 18.2241Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.1558 16.5311C17.7621 16.9184 17.1289 16.9132 16.7417 16.5194L12 11.6988L7.25842 16.5194C6.87114 16.9132 6.238 16.9184 5.84426 16.5311C5.45052 16.1438 5.44529 15.5107 5.83257 15.1169L11.2871 9.57148C11.4751 9.38036 11.732 9.27272 12 9.27272C12.2681 9.27272 12.525 9.38036 12.713 9.57148L18.1675 15.1169C18.5548 15.5107 18.5496 16.1438 18.1558 16.5311Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.2908 3.92249L16.1117 2.74416L10.035 8.82166L3.95749 2.74416L2.77832 3.92249L8.85582 9.99999L2.77832 16.0775L3.95749 17.2558L10.035 11.1783L16.1117 17.2558L17.2908 16.0775L11.2133 9.99999L17.2908 3.92249Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.99984 18.3333C5.40484 18.3333 1.6665 14.5958 1.6665 10C1.6665 5.40584 5.40484 1.66667 9.99984 1.66667C14.5948 1.66667 18.3332 5.40501 18.3332 10C18.3332 14.5958 14.5948 18.3333 9.99984 18.3333ZM9.99984 3.33334C6.324 3.33334 3.33317 6.32417 3.33317 10C3.33317 13.6758 6.324 16.6667 9.99984 16.6667C13.6757 16.6667 16.6665 13.6758 16.6665 10C16.6665 6.32417 13.6757 3.33334 9.99984 3.33334Z" fill="black"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.8332 12.5H9.1665V10H9.99984C10.9198 10 11.6665 9.2525 11.6665 8.33333C11.6665 7.41333 10.9198 6.66667 9.99984 6.66667C9.07984 6.66667 8.33317 7.41333 8.33317 8.33333H6.6665C6.6665 6.49583 8.16234 5 9.99984 5C11.8373 5 13.3332 6.49583 13.3332 8.33333C13.3332 9.88333 12.269 11.19 10.8332 11.5625V12.5ZM10.7364 13.4301C11.1432 13.8369 11.1432 14.4965 10.7364 14.9033C10.3296 15.3101 9.6701 15.3101 9.2633 14.9033C8.8565 14.4965 8.8565 13.8369 9.2633 13.4301C9.67009 13.0233 10.3296 13.0233 10.7364 13.4301Z" fill="black"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 26.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
|
|
5
|
+
<path d="M16,9h-5V4c0-0.6-0.4-1-1-1S9,3.4,9,4v5H4c-0.6,0-1,0.4-1,1s0.4,1,1,1h5v5c0,0.6,0.4,1,1,1s1-0.4,1-1v-5h5c0.6,0,1-0.4,1-1
|
|
6
|
+
S16.6,9,16,9z"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol id="chevron-back" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.703 5.331a1 1 0 0 1 .014 1.414l-3.303 3.371 3.289 3.222a1 1 0 0 1-1.4 1.428L4.3 10.845a1 1 0 0 1-.014-1.414l4.003-4.085a1 1 0 0 1 1.414-.015Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.817 5.331a1 1 0 0 1 .015 1.414l-3.304 3.371 3.29 3.222a1 1 0 0 1-1.4 1.428l-4.004-3.921A1 1 0 0 1 9.4 9.43l4.003-4.085a1 1 0 0 1 1.414-.015Z"/></symbol><symbol id="chevron-down" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.838 10.111a1 1 0 0 1 1.415 0L12 14.858l4.747-4.747a1 1 0 1 1 1.415 1.414l-5.455 5.455a1 1 0 0 1-1.414 0l-5.455-5.455a1 1 0 0 1 0-1.414Z"/></symbol><symbol id="chevron-forward" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.46 14.766a1 1 0 0 1-.014-1.414l3.303-3.37L9.46 6.76a1 1 0 0 1 1.4-1.429l4.003 3.922a1 1 0 0 1 .014 1.414l-4.003 4.085a1 1 0 0 1-1.414.014Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.346 14.766a1 1 0 0 1-.015-1.414l3.304-3.37-3.29-3.222a1 1 0 1 1 1.4-1.429L9.75 9.253a1 1 0 0 1 .014 1.414L5.76 14.752a1 1 0 0 1-1.414.014Z"/></symbol><symbol id="chevron-left" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.69 18.224a1 1 0 0 1-1.414-.034l-5-5.25a1 1 0 0 1 0-1.38l5-5.25a1 1 0 1 1 1.448 1.38l-4.343 4.56 4.343 4.56a1 1 0 0 1-.034 1.414Z"/></symbol><symbol id="chevron-right" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.31 18.224a1 1 0 0 1-.034-1.414l4.343-4.56-4.343-4.56a1 1 0 0 1 1.448-1.38l5 5.25a1 1 0 0 1 0 1.38l-5 5.25a1 1 0 0 1-1.414.034Z"/></symbol><symbol id="chevron-up" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.156 16.531a1 1 0 0 1-1.414-.012L12 11.7l-4.742 4.82a1 1 0 1 1-1.425-1.402l5.454-5.546a1 1 0 0 1 1.426 0l5.455 5.546a1 1 0 0 1-.012 1.414Z"/></symbol><symbol id="cross" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="m17.29 3.922-1.178-1.178-6.077 6.078-6.078-6.078-1.179 1.178L8.856 10l-6.078 6.078 1.18 1.178 6.077-6.078 6.077 6.078 1.179-1.178L11.213 10l6.078-6.078Z"/></symbol><symbol id="help" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M10 18.333c-4.595 0-8.333-3.737-8.333-8.333 0-4.594 3.738-8.333 8.333-8.333 4.595 0 8.333 3.738 8.333 8.333 0 4.596-3.738 8.333-8.333 8.333Zm0-15A6.674 6.674 0 0 0 3.333 10 6.674 6.674 0 0 0 10 16.667 6.674 6.674 0 0 0 16.666 10 6.674 6.674 0 0 0 10 3.333Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M10.833 12.5H9.166V10H10a1.668 1.668 0 0 0 0-3.333c-.92 0-1.667.746-1.667 1.666H6.666A3.338 3.338 0 0 1 10 5a3.338 3.338 0 0 1 3.333 3.333 3.343 3.343 0 0 1-2.5 3.23v.937Zm-.097.93a1.042 1.042 0 1 1-1.473 1.473 1.042 1.042 0 0 1 1.473-1.473Z"/></symbol><symbol id="minus" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.833 10.833H4.167V9.167h11.666v1.666Z"/></symbol><symbol id="plus" viewBox="0 0 20 20"><g style="enable-background:new 0 0 20 20"><path d="M16 9h-5V4c0-.6-.4-1-1-1s-1 .4-1 1v5H4c-.6 0-1 .4-1 1s.4 1 1 1h5v5c0 .6.4 1 1 1s1-.4 1-1v-5h5c.6 0 1-.4 1-1s-.4-1-1-1z"/></g></symbol></svg>
|
|
Binary file
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<div class='autocomplete'>
|
|
2
|
+
<div class='row'>
|
|
3
|
+
{{#if products.results.length}}
|
|
4
|
+
<div class='column column--12 column-md--8'>
|
|
5
|
+
<span class='autocomplete__title autocomplete__title--products'>{{products.title}}</span>
|
|
6
|
+
<div class='row autocomplete__products'>
|
|
7
|
+
{{#each products.results}}
|
|
8
|
+
<div class='column column--12 column-sm--4'>
|
|
9
|
+
<div class='autocomplete__product'>
|
|
10
|
+
<a hawksearch-product='{{id}}' href='{{url}}' class='autocomplete__product__image'>
|
|
11
|
+
<img hawksearch-image src='{{imageUrl}}' alt='' />
|
|
12
|
+
</a>
|
|
13
|
+
<span class='autocomplete__product__title'>
|
|
14
|
+
<a hawksearch-product='{{id}}' href='{{url}}'>{{html title}}</a>
|
|
15
|
+
</span>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
{{/each}}
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
{{/if}}
|
|
22
|
+
{{#if (or categories.results.length content.results.length queries.results.length)}}
|
|
23
|
+
<div class='column column--12 column-md--4'>
|
|
24
|
+
{{#if categories.results.length}}
|
|
25
|
+
<span class='autocomplete__title autocomplete__title--categories'>{{categories.title}}</span>
|
|
26
|
+
<ul class='autocomplete__list'>
|
|
27
|
+
{{#each categories.results}}
|
|
28
|
+
<li>
|
|
29
|
+
<a hawksearch-category-field='{{field}}' hawksearch-category-value='{{value}}' href='{{url}}'>{{html title}}</a>
|
|
30
|
+
</li>
|
|
31
|
+
{{/each}}
|
|
32
|
+
</ul>
|
|
33
|
+
{{/if}}
|
|
34
|
+
{{#if content.results.length}}
|
|
35
|
+
<span class='autocomplete__title autocomplete__title--content'>{{content.title}}</span>
|
|
36
|
+
<ul class='autocomplete__list'>
|
|
37
|
+
{{#each content.results}}
|
|
38
|
+
<li>
|
|
39
|
+
<a hawksearch-content='{{id}}' href='{{url}}'>{{html title}}</a>
|
|
40
|
+
</li>
|
|
41
|
+
{{/each}}
|
|
42
|
+
</ul>
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if queries.results.length}}
|
|
45
|
+
<span class='autocomplete__title autocomplete__title--queries'>{{queries.title}}</span>
|
|
46
|
+
<ul class='autocomplete__list'>
|
|
47
|
+
{{#each queries.results}}
|
|
48
|
+
<li>
|
|
49
|
+
<a hawksearch-query='{{query}}' href='{{url}}'>{{query}}</a>
|
|
50
|
+
</li>
|
|
51
|
+
{{/each}}
|
|
52
|
+
</ul>
|
|
53
|
+
{{/if}}
|
|
54
|
+
</div>
|
|
55
|
+
{{/if}}
|
|
56
|
+
</div>
|
|
57
|
+
<div class='autocomplete__view-all'>
|
|
58
|
+
<a hawksearch-view-all>{{viewAllText}}</a>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|