@cn-npm/search-autocomplete 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.babelrc +3 -0
  2. package/.storybook/main.js +26 -0
  3. package/.storybook/preview.js +24 -0
  4. package/README.md +69 -0
  5. package/dist/App.d.ts +4 -0
  6. package/dist/bundle.js +406 -0
  7. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +10 -0
  8. package/dist/components/Loader/Loader.d.ts +6 -0
  9. package/dist/components/SearchAutocomplete/SearchAutocomplete.d.ts +7 -0
  10. package/dist/components/SearchAutocompleteSection/SearchAutocompleteSection.d.ts +9 -0
  11. package/dist/components/SearchAutocompleteTag/SearchAutocompleteTag.d.ts +10 -0
  12. package/dist/components/index.d.ts +3 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/reportWebVitals.d.ts +3 -0
  15. package/dist/search-result.d.ts +42 -0
  16. package/dist/setupTests.d.ts +1 -0
  17. package/generate-react-cli.json +15 -0
  18. package/package.json +110 -0
  19. package/postcss.config.js +6 -0
  20. package/public/favicon.ico +0 -0
  21. package/public/index.html +43 -0
  22. package/public/logo192.png +0 -0
  23. package/public/logo512.png +0 -0
  24. package/public/manifest.json +25 -0
  25. package/public/robots.txt +3 -0
  26. package/rollup.config.js +35 -0
  27. package/src/App.scss +0 -0
  28. package/src/App.tsx +13 -0
  29. package/src/assets/img/circle-close.svg +12 -0
  30. package/src/assets/img/search.svg +18 -0
  31. package/src/components/ErrorBoundary/ErrorBoundary.module.scss +1 -0
  32. package/src/components/ErrorBoundary/ErrorBoundary.tsx +33 -0
  33. package/src/components/Loader/Loader.module.scss +21 -0
  34. package/src/components/Loader/Loader.stories.tsx +12 -0
  35. package/src/components/Loader/Loader.test.tsx +12 -0
  36. package/src/components/Loader/Loader.tsx +18 -0
  37. package/src/components/SearchAutocomplete/SearchAutocomplete.module.scss +3 -0
  38. package/src/components/SearchAutocomplete/SearchAutocomplete.stories.tsx +41 -0
  39. package/src/components/SearchAutocomplete/SearchAutocomplete.test.tsx +86 -0
  40. package/src/components/SearchAutocomplete/SearchAutocomplete.tsx +310 -0
  41. package/src/components/SearchAutocompleteSection/SearchAutocompleteSection.module.scss +64 -0
  42. package/src/components/SearchAutocompleteSection/SearchAutocompleteSection.test.tsx +54 -0
  43. package/src/components/SearchAutocompleteSection/SearchAutocompleteSection.tsx +74 -0
  44. package/src/components/SearchAutocompleteTag/SearchAutocompleteTag.module.scss +6 -0
  45. package/src/components/SearchAutocompleteTag/SearchAutocompleteTag.test.tsx +52 -0
  46. package/src/components/SearchAutocompleteTag/SearchAutocompleteTag.tsx +67 -0
  47. package/src/components/index.tsx +4 -0
  48. package/src/index.css +320 -0
  49. package/src/index.tsx +19 -0
  50. package/src/react-app-env.d.ts +1 -0
  51. package/src/reportWebVitals.ts +15 -0
  52. package/src/search-result.ts +49 -0
  53. package/src/setupTests.ts +5 -0
  54. package/src/stories/Introduction.stories.mdx +211 -0
  55. package/src/stories/assets/code-brackets.svg +1 -0
  56. package/src/stories/assets/colors.svg +1 -0
  57. package/src/stories/assets/comments.svg +1 -0
  58. package/src/stories/assets/direction.svg +1 -0
  59. package/src/stories/assets/flow.svg +1 -0
  60. package/src/stories/assets/plugin.svg +1 -0
  61. package/src/stories/assets/repo.svg +1 -0
  62. package/src/stories/assets/stackalt.svg +1 -0
  63. package/tailwind.config.js +93 -0
  64. package/tsconfig.json +22 -0
package/.babelrc ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "presets": ["@babel/env", "@babel/preset-react"]
3
+ }
@@ -0,0 +1,26 @@
1
+ module.exports = {
2
+ stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
3
+ addons: [
4
+ "@storybook/addon-links",
5
+ "@storybook/addon-essentials",
6
+ "@storybook/addon-interactions",
7
+ "@storybook/preset-create-react-app",
8
+ "@storybook/addon-controls",
9
+ {
10
+ /**
11
+ * Fix Storybook issue with PostCSS@8
12
+ * @see https://github.com/storybookjs/storybook/issues/12668#issuecomment-773958085
13
+ */
14
+ name: "@storybook/addon-postcss",
15
+ options: {
16
+ postcssLoaderOptions: {
17
+ implementation: require("postcss"),
18
+ },
19
+ },
20
+ },
21
+ ],
22
+ framework: "@storybook/react",
23
+ core: {
24
+ builder: "@storybook/builder-webpack5",
25
+ },
26
+ };
@@ -0,0 +1,24 @@
1
+ import "../src/index.css";
2
+
3
+ export const parameters = {
4
+ backgrounds: {
5
+ default: "white",
6
+ values: [
7
+ {
8
+ name: "white",
9
+ value: "#ffffff",
10
+ },
11
+ {
12
+ name: "sand",
13
+ value: "rgba(247,245,243, 0.5)",
14
+ },
15
+ ],
16
+ },
17
+ actions: { argTypesRegex: "^on[A-Z].*" },
18
+ controls: {
19
+ matchers: {
20
+ color: /(background|color)$/i,
21
+ date: /Date$/,
22
+ },
23
+ },
24
+ };
package/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # Search Autocomplete
2
+
3
+ Autocomplete search for searching CN charities.
4
+
5
+ ---
6
+
7
+ ## Local project setup
8
+
9
+ ### Installation
10
+
11
+ ```bash
12
+ npm install
13
+ ```
14
+
15
+ ### Start
16
+
17
+ ```bash
18
+ npm run start
19
+ ```
20
+
21
+ ### Storybook
22
+
23
+ ```bash
24
+ npm run storybook
25
+ ```
26
+
27
+ ### Test
28
+
29
+ ```bash
30
+ npm run test
31
+ ```
32
+
33
+ ### Build
34
+
35
+ ```bash
36
+ npm run build
37
+ ```
38
+
39
+ ### Release (to NPM)
40
+
41
+ This step requires access to the private NPM repo.
42
+
43
+ ```bash
44
+ npm run release
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Usage
50
+
51
+ ### Installation
52
+
53
+ ```bash
54
+ npm install @sm2dev/search-autocomplete
55
+ ```
56
+
57
+ ### Importing component
58
+
59
+ ```js
60
+ import { SearchAutocomplete } from "@sm2dev/search-autocomplete";
61
+ ```
62
+
63
+ ### Component
64
+
65
+ ```html
66
+ <SearchAutocomplete />
67
+ ```
68
+
69
+ ---
package/dist/App.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import "./App.scss";
3
+ declare function App(): JSX.Element;
4
+ export default App;
package/dist/bundle.js ADDED
@@ -0,0 +1,406 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var reactDebounceInput = require('react-debounce-input');
8
+ var classNames = require('classnames');
9
+ var Highlighter = require('react-highlight-words');
10
+ var CSSTransition = require('react-transition-group/CSSTransition');
11
+ var axios = require('axios');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ function _interopNamespace(e) {
16
+ if (e && e.__esModule) return e;
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
28
+ }
29
+ n["default"] = e;
30
+ return Object.freeze(n);
31
+ }
32
+
33
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
34
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
35
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
36
+ var Highlighter__default = /*#__PURE__*/_interopDefaultLegacy(Highlighter);
37
+ var CSSTransition__default = /*#__PURE__*/_interopDefaultLegacy(CSSTransition);
38
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
39
+
40
+ /******************************************************************************
41
+ Copyright (c) Microsoft Corporation.
42
+
43
+ Permission to use, copy, modify, and/or distribute this software for any
44
+ purpose with or without fee is hereby granted.
45
+
46
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
47
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
48
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
49
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
50
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
51
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
52
+ PERFORMANCE OF THIS SOFTWARE.
53
+ ***************************************************************************** */
54
+
55
+ /* global Reflect, Promise */
56
+ var extendStatics = function (d, b) {
57
+ extendStatics = Object.setPrototypeOf || {
58
+ __proto__: []
59
+ } instanceof Array && function (d, b) {
60
+ d.__proto__ = b;
61
+ } || function (d, b) {
62
+ for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
63
+ };
64
+
65
+ return extendStatics(d, b);
66
+ };
67
+
68
+ function __extends(d, b) {
69
+ if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
70
+ extendStatics(d, b);
71
+
72
+ function __() {
73
+ this.constructor = d;
74
+ }
75
+
76
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
77
+ }
78
+ var __assign = function () {
79
+ __assign = Object.assign || function __assign(t) {
80
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
81
+ s = arguments[i];
82
+
83
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
84
+ }
85
+
86
+ return t;
87
+ };
88
+
89
+ return __assign.apply(this, arguments);
90
+ };
91
+
92
+ function styleInject(css, ref) {
93
+ if (ref === void 0) ref = {};
94
+ var insertAt = ref.insertAt;
95
+
96
+ if (!css || typeof document === 'undefined') {
97
+ return;
98
+ }
99
+
100
+ var head = document.head || document.getElementsByTagName('head')[0];
101
+ var style = document.createElement('style');
102
+ style.type = 'text/css';
103
+
104
+ if (insertAt === 'top') {
105
+ if (head.firstChild) {
106
+ head.insertBefore(style, head.firstChild);
107
+ } else {
108
+ head.appendChild(style);
109
+ }
110
+ } else {
111
+ head.appendChild(style);
112
+ }
113
+
114
+ if (style.styleSheet) {
115
+ style.styleSheet.cssText = css;
116
+ } else {
117
+ style.appendChild(document.createTextNode(css));
118
+ }
119
+ }
120
+
121
+ var css_248z$4 = ".SearchAutocomplete-module_SearchAutocomplete__7VjKd {\n position: relative;\n font-family: sofia-pro, sans-serif\n}";
122
+ var styles$3 = {"SearchAutocomplete":"SearchAutocomplete-module_SearchAutocomplete__7VjKd"};
123
+ styleInject(css_248z$4);
124
+
125
+ var css_248z$3 = ".SearchAutocompleteTag-module_SearchAutocompleteTag__edz93 {\n\n margin: 0.25rem;\n\n display: inline-block;\n\n border-radius: 0.5rem;\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(242 243 247 / var(--tw-bg-opacity));\n\n padding-top: 0.5rem;\n\n padding-bottom: 0.5rem;\n\n padding-left: 0.75rem;\n\n padding-right: 0.75rem;\n\n text-align: left;\n\n font-family: sofia-pro, sans-serif;\n\n font-size: 1rem;\n\n font-weight: 400;\n\n line-height: 1.5rem;\n\n letter-spacing: 0em;\n\n --tw-text-opacity: 1;\n\n color: rgb(0 25 54 / var(--tw-text-opacity));\n\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n\n --tw-ring-color: transparent;\n\n --tw-ring-offset-width: 2px;\n\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, outline-color, focus-color;\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-duration: 150ms\n}\n\n.SearchAutocompleteTag-module_SearchAutocompleteTag__edz93:hover {\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(230 232 239 / var(--tw-bg-opacity))\n}\n\n.highlighted-text {\n\n font-weight: 600\n}";
126
+ var styles$2 = {"SearchAutocompleteTag":"SearchAutocompleteTag-module_SearchAutocompleteTag__edz93"};
127
+ styleInject(css_248z$3);
128
+
129
+ var Highlight = function (_a) {
130
+ var children = _a.children; _a.highlightIndex;
131
+ return (jsxRuntime.jsx("span", __assign({ className: "highlighted-text" }, { children: children })));
132
+ };
133
+ var SearchAutocompleteTag = function (props) {
134
+ // Custom event trigger
135
+ var triggerCustomEvent = function (e) {
136
+ e.preventDefault();
137
+ // Create custom event
138
+ var event = new CustomEvent("autocomplete-term-clicked", {
139
+ detail: {
140
+ name: props.name,
141
+ searchTerm: props.searchTerm,
142
+ section: props.section,
143
+ url: props.url,
144
+ },
145
+ });
146
+ // Trigger custom event
147
+ document.dispatchEvent(event);
148
+ if (props.url) {
149
+ window.location.href = props.url;
150
+ }
151
+ };
152
+ return (jsxRuntime.jsx("a", __assign({ href: props.url, className: classNames__default["default"](styles$2.SearchAutocompleteTag, "autocomplete-tag"
153
+ // ? 'bg-grey-100' : ''
154
+ ), "data-section": props.section, "data-testid": "searchAutocompleteTag", onClick: function (e) { return triggerCustomEvent(e); } }, { children: props.searchTerm === "" ? (jsxRuntime.jsx("span", __assign({ className: "highlighted-text" }, { children: props.name }))) : (jsxRuntime.jsx(Highlighter__default["default"], { highlightTag: Highlight, searchWords: [props.searchTerm], textToHighlight: props.name })) }), props.ein));
155
+ };
156
+
157
+ var css_248z$2 = ".SearchAutocompleteSection-module_SearchAutocompleteSection__0llAG {\n\n margin-bottom: 1.5rem;\n\n font-family: sofia-pro, sans-serif\n}\n\n.autocomplete-section a:nth-child(6) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(6) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(7) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(7) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(8) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(8) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(9) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(9) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(10) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(10) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(11) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(11) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(12) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(12) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(13) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(13) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(14) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(14) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(15) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(15) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(16) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(16) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(17) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(17) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(18) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(18) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(19) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(19) {\n\n display: inline-block\n }\n}\n\n.autocomplete-section a:nth-child(20) {\n\n display: none\n}\n\n@media (min-width: 1000px) {\n\n .autocomplete-section a:nth-child(20) {\n\n display: inline-block\n }\n}";
158
+ var styles$1 = {"SearchAutocompleteSection":"SearchAutocompleteSection-module_SearchAutocompleteSection__0llAG"};
159
+ styleInject(css_248z$2);
160
+
161
+ // Custom limits based on section
162
+ var resultsLimit = function (title) {
163
+ switch (title.toLowerCase()) {
164
+ case "where to give now": {
165
+ return 3;
166
+ }
167
+ case "organizations": {
168
+ return 10;
169
+ }
170
+ case "causes": {
171
+ return 5;
172
+ }
173
+ default: {
174
+ return 20;
175
+ }
176
+ }
177
+ };
178
+ var SearchAutocompleteSection = function (props) {
179
+ var _a;
180
+ return (jsxRuntime.jsxs("div", __assign({ className: classNames__default["default"](styles$1.SearchAutocompleteSection, "autocomplete-section"), "data-testid": "searchAutocompleteSection" }, { children: [jsxRuntime.jsx("h2", __assign({ className: "text-night-sky-800 mb-2 text-base", "data-testid": "searchResultTitle" }, { children: props.title })), jsxRuntime.jsx("div", __assign({ className: "flow-root" }, { children: jsxRuntime.jsxs("div", __assign({ className: "-m-1 flex flex-wrap autocomplete-section", "data-testid": "searchTag" }, { children: [(props.results == null || props.results.length === 0) && (jsxRuntime.jsx("p", __assign({ className: "pl-3" }, { children: "No results found" }))), props.results &&
181
+ props.results.length > 0 &&
182
+ ((_a = props.results) === null || _a === void 0 ? void 0 : _a.slice(0, resultsLimit(props.title || "")).map(function (results) { return (jsxRuntime.jsx(SearchAutocompleteTag, { section: props.title || "", searchTerm: props.searchTerm, ein: results.ein, name: results.title, url: results.url }, results.url)); }))] })) }))] })));
183
+ };
184
+
185
+ var css_248z$1 = ".Loader-module_Loader__9Xyva {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n display: inline-block;\n border-top: 3px solid #fff;\n border-right: 3px solid transparent;\n box-sizing: border-box;\n animation: Loader-module_rotation__E9sHi 1s linear infinite;\n --tw-border-opacity: 1;\n border-top-color: rgb(53 95 254 / var(--tw-border-opacity));\n}\n\n@keyframes Loader-module_rotation__E9sHi {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}";
186
+ var styles = {"Loader":"Loader-module_Loader__9Xyva","rotation":"Loader-module_rotation__E9sHi"};
187
+ styleInject(css_248z$1);
188
+
189
+ // Loader component
190
+ var Loader = function (props) { return (jsxRuntime.jsx("span", { className: classNames__default["default"](styles.Loader, props.className), "data-testid": "Loader" })); };
191
+
192
+ function _extends$1() { _extends$1 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
193
+
194
+ const SvgSearch = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
195
+ "data-name": "Layer 1",
196
+ xmlns: "http://www.w3.org/2000/svg",
197
+ viewBox: "0 0 16.14 16.14"
198
+ }, props), /*#__PURE__*/React__namespace.createElement("g", {
199
+ "data-name": "*System_Icons"
200
+ }, /*#__PURE__*/React__namespace.createElement("g", {
201
+ "data-name": "System/Icons"
202
+ }, /*#__PURE__*/React__namespace.createElement("g", {
203
+ "data-name": "atom/icon/search"
204
+ }, /*#__PURE__*/React__namespace.createElement("path", {
205
+ d: "M7 .02c-3.86 0-7 3.14-7 7s3.14 7 7 7c1.18 0 2.34-.28 3.32-.82.08.09.17.18.26.26l2 2a2.032 2.032 0 0 0 3.5-.86c.18-.74-.06-1.51-.63-2.01l-2-2c-.1-.1-.2-.18-.32-.26.54-.98.88-2.12.88-3.32A6.995 6.995 0 0 0 7.02 0L7 .02Zm0 2c2.78 0 5 2.22 5 5 0 1.32-.48 2.54-1.32 3.44l-.06.06c-.09.08-.18.17-.26.26-.88.8-2.08 1.26-3.38 1.26-2.78 0-5-2.22-5-5s2.22-5 5-5L7 2.02Z",
206
+ style: {
207
+ fillRule: "evenodd"
208
+ },
209
+ "data-name": "icon/dark/magnifying-glass"
210
+ })))));
211
+
212
+ var _g;
213
+
214
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
215
+
216
+ const SvgCircleClose = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
217
+ "data-name": "Layer 1",
218
+ xmlns: "http://www.w3.org/2000/svg",
219
+ viewBox: "0 0 18 18"
220
+ }, props), _g || (_g = /*#__PURE__*/React__namespace.createElement("g", {
221
+ "data-name": "*System_Icons"
222
+ }, /*#__PURE__*/React__namespace.createElement("g", {
223
+ "data-name": "System/Icons"
224
+ }, /*#__PURE__*/React__namespace.createElement("path", {
225
+ d: "M9 0a9 9 0 1 0 9 9c0-2.39-.95-4.68-2.64-6.36A9.001 9.001 0 0 0 9 0Zm4.12 12.05c.29.29.3.77 0 1.06-.29.29-.77.3-1.06 0l-2.93-2.93s-.08-.06-.14-.06-.1.02-.14.06l-2.92 2.93c-.29.29-.77.29-1.06 0a.754.754 0 0 1 0-1.06l2.92-2.92s.06-.08.06-.14-.02-.1-.06-.14L4.87 5.93c-.25-.3-.24-.74.04-1.02.28-.28.72-.29 1.02-.04l2.92 2.92s.08.06.14.06.1-.02.14-.06l2.93-2.92c.3-.25.74-.24 1.02.04.28.28.29.72.04 1.02l-2.93 2.92s-.06.08-.06.14.02.1.06.14l2.93 2.92Z",
226
+ "data-name": "streamline-icon-remove-circle@48x48"
227
+ })))));
228
+
229
+ var ErrorBoundary = /** @class */ (function (_super) {
230
+ __extends(ErrorBoundary, _super);
231
+ function ErrorBoundary(props) {
232
+ var _this = _super.call(this, props) || this;
233
+ _this.state = { hasError: false };
234
+ return _this;
235
+ }
236
+ ErrorBoundary.getDerivedStateFromError = function (error) {
237
+ // Update state so the next render will show the fallback UI.
238
+ return { hasError: true };
239
+ };
240
+ ErrorBoundary.prototype.componentDidCatch = function (error, errorInfo) {
241
+ // You can also log the error to an error reporting service
242
+ // logErrorToMyService(error, errorInfo);
243
+ };
244
+ ErrorBoundary.prototype.render = function () {
245
+ if (this.state.hasError) {
246
+ // Render fallback UI
247
+ return (jsxRuntime.jsx("div", __assign({ className: "px-6 h-full mb-12 max-h-[70vh] overflow-y-auto" }, { children: jsxRuntime.jsx("p", { children: "Sorry, there was a problem. Please try your search again." }) })));
248
+ }
249
+ return this.props.children;
250
+ };
251
+ return ErrorBoundary;
252
+ }(React__default["default"].Component));
253
+
254
+ var SearchAutocomplete = function (props) {
255
+ // Set state variables
256
+ var _a = React.useState(props.open || false), open = _a[0], setOpen = _a[1];
257
+ var _b = React.useState(props.label || "Search by Charity or Cause"), label = _b[0], setLabel = _b[1];
258
+ var _c = React.useState(false), loading = _c[0], setLoading = _c[1];
259
+ var _d = React.useState(""), searchTerm = _d[0], setSearchTerm = _d[1];
260
+ var _e = React.useState({
261
+ data: {
262
+ searchAutocomplete: [],
263
+ },
264
+ }), searchData = _e[0], setSearchData = _e[1];
265
+ var _f = React.useState(false), hasError = _f[0], setHasError = _f[1];
266
+ var _g = React.useState(0), selectedTag = _g[0], setSelectedTag = _g[1];
267
+ // On selected tag change
268
+ React__default["default"].useEffect(function () {
269
+ var tags = document.querySelectorAll(".autocomplete-tag, .autocomplete-custom-search");
270
+ tags.forEach(function (x, i) {
271
+ x.classList.remove("autocomplete-selected", "!bg-grey-100", "!ring-blue-600");
272
+ if (i + 1 === selectedTag) {
273
+ x.classList.add("autocomplete-selected", tags[i].classList.contains("autocomplete-tag")
274
+ ? "!bg-grey-100"
275
+ : "none", "!ring-blue-600");
276
+ x.scrollIntoView({
277
+ behavior: "smooth",
278
+ });
279
+ }
280
+ });
281
+ }, [selectedTag]);
282
+ // On open props change
283
+ React__default["default"].useEffect(function () {
284
+ setOpen(props.open || false);
285
+ }, [props.open]);
286
+ // On open change
287
+ React__default["default"].useEffect(function () {
288
+ if (!open) {
289
+ setSelectedTag(0);
290
+ }
291
+ }, [open]);
292
+ // On label change
293
+ React__default["default"].useEffect(function () {
294
+ setLabel(props.label || "Search by Charity or Cause");
295
+ }, [props.label]);
296
+ // On search term change
297
+ React__default["default"].useEffect(function () {
298
+ setLoading(true);
299
+ setSelectedTag(0);
300
+ // Trigger custom event for analytics
301
+ if (searchTerm) {
302
+ // Create custom event
303
+ var event = new CustomEvent("autocomplete-search", {
304
+ detail: {
305
+ name: searchTerm,
306
+ },
307
+ });
308
+ // Trigger custom event
309
+ document.dispatchEvent(event);
310
+ }
311
+ var controller = new AbortController();
312
+ // Get results from API
313
+ axios__default["default"]({
314
+ signal: controller.signal,
315
+ url: "https://graph.charitynavigator.org/graphql",
316
+ params: {
317
+ user_key: "67a233b3ae2f5690bce775c1760925f2",
318
+ },
319
+ method: "post",
320
+ data: {
321
+ query: "\n query SearchQuery {\n searchAutocomplete(term: \"".concat(searchTerm, "\") {\n title\n results {\n ein\n title\n url\n }\n }\n }\n "),
322
+ },
323
+ })
324
+ .then(function (res) {
325
+ var data = res.data;
326
+ setSearchData(data);
327
+ setHasError(false);
328
+ setLoading(false);
329
+ })
330
+ .catch(function (e) {
331
+ setSearchData({});
332
+ setHasError(true);
333
+ setLoading(false);
334
+ });
335
+ return function () {
336
+ controller.abort();
337
+ };
338
+ }, [searchTerm]);
339
+ // Clear search
340
+ var clearSearch = function (e) {
341
+ e.preventDefault();
342
+ setSearchTerm("");
343
+ };
344
+ // Handle key events
345
+ var keyDownHandler = function (e) {
346
+ var tags = document.querySelectorAll(".autocomplete-tag, .autocomplete-custom-search");
347
+ switch (e.key) {
348
+ case "ArrowUp": {
349
+ setSelectedTag(Math.max(0, selectedTag - 1));
350
+ break;
351
+ }
352
+ case "ArrowDown": {
353
+ setOpen(true);
354
+ setSelectedTag(Math.min(tags.length, selectedTag + 1));
355
+ break;
356
+ }
357
+ case "ArrowLeft": {
358
+ if (selectedTag > 0) {
359
+ setSelectedTag(Math.max(0, selectedTag - 1));
360
+ }
361
+ break;
362
+ }
363
+ case "ArrowRight": {
364
+ setOpen(true);
365
+ if (selectedTag > 0) {
366
+ setSelectedTag(Math.min(tags.length, selectedTag + 1));
367
+ }
368
+ break;
369
+ }
370
+ case "Tab": {
371
+ break;
372
+ }
373
+ case "Enter": {
374
+ if (selectedTag > 0) {
375
+ e.preventDefault();
376
+ tags[selectedTag - 1].click();
377
+ }
378
+ break;
379
+ }
380
+ case "Space": {
381
+ break;
382
+ }
383
+ case "Escape": {
384
+ setOpen(false);
385
+ setSelectedTag(0);
386
+ break;
387
+ }
388
+ case "Home": {
389
+ setSelectedTag(1);
390
+ break;
391
+ }
392
+ case "End": {
393
+ setSelectedTag(tags.length);
394
+ break;
395
+ }
396
+ }
397
+ };
398
+ return (jsxRuntime.jsxs("div", __assign({ className: classNames__default["default"](styles$3.SearchAutocomplete, "autocomplete"), "data-testid": "SearchAutocomplete" }, { children: [jsxRuntime.jsxs("form", __assign({ action: "/search?q=".concat(searchTerm), className: "flex font-sofia-pro", autoComplete: "off" }, { children: [jsxRuntime.jsx("label", __assign({ htmlFor: "search", className: "hidden" }, { children: label })), jsxRuntime.jsxs("div", __assign({ className: "relative flex flex-grow" }, { children: [jsxRuntime.jsx(reactDebounceInput.DebounceInput, { type: "text", name: "q", id: "search", placeholder: label, className: "flex-auto pr-0 items-stretch flex-grow text-night-sky-800 ring-0 py-0 shadow-none focus:ring-0 bg-white transition-colors border-opacity-100 hover:bg-grey-100 hover:border-grey-500 hover:border-opacity-50 focus:bg-grey-100 focus:border-blue-400 inline-block sm:text-sm border-grey-500 rounded-md rounded-tr-none rounded-br-none placeholder:text-gray-600", debounceTimeout: 300, minLength: 2, value: searchTerm, onChange: function (e) { return setSearchTerm(e.target.value); }, onClick: function () { return setOpen(true); }, onFocus: function () { return setOpen(true); }, onBlur: function () { return setOpen(false); }, onKeyDown: function (e) { return keyDownHandler(e); } }), searchTerm !== "" && (jsxRuntime.jsx("button", __assign({ type: "button", className: "absolute right-3 top-[50%] -translate-y-[50%] text-night-sky-800 hover:text-blue-500 transition-colors !bg-[transparent] cursor-pointer", onClick: clearSearch }, { children: jsxRuntime.jsx(SvgCircleClose, { className: "fill-night-sky-800 hover:fill-blue-500 h-4 w-4" }) })))] })), jsxRuntime.jsx("button", __assign({ type: "submit", className: "inline-flex transition-colors items-center justify-center px-4 h-[38px] font-medium rounded-md shadow-sm border border-blue-500 text-white bg-blue-500 hover:bg-blue-600 hover:border-blue-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:text-sm rounded-tl-none rounded-bl-none" }, { children: jsxRuntime.jsx(SvgSearch, { className: "fill-white h-4 w-4" }) }))] })), jsxRuntime.jsx("div", __assign({ className: "relative" }, { children: jsxRuntime.jsx(CSSTransition__default["default"], __assign({ mountOnEnter: true, unmountOnExit: true, in: open, timeout: 300, classNames: "fade-slide", "data-testid": "searchResults" }, { children: jsxRuntime.jsxs("div", __assign({ className: classNames__default["default"]("search-results-container absolute top-0 left-1/2 -translate-x-1/2 mt-2 bg-white py-5 rounded-[1.25rem] z-50 shadow-lg border border-[#a6abbd] border-opacity-60 w-full tablet:w-[70vw] min-h-[8rem] overflow-hidden") }, { children: [jsxRuntime.jsxs(ErrorBoundary, { children: [loading && (jsxRuntime.jsx(Loader, { "data-testid": "Loader", className: "absolute top-5 right-5" })), jsxRuntime.jsxs("div", __assign({ className: "px-6 h-full mb-12 max-h-[70vh] overflow-y-auto", "data-testid": "Sections" }, { children: [hasError && (jsxRuntime.jsx("p", { children: "Sorry, there was a problem. Please try your search again." })), searchData.data &&
399
+ searchData.data.searchAutocomplete &&
400
+ searchData.data.searchAutocomplete.map(function (section) { return (jsxRuntime.jsx(SearchAutocompleteSection, { searchTerm: searchTerm, title: section.title, results: section.results }, section.title)); })] }))] }), jsxRuntime.jsx("div", __assign({ className: "border-t border-[#a6abbd] border-opacity-60 flex items-center absolute bottom-0 left-0 w-full bg-white h-16" }, { children: jsxRuntime.jsxs("a", __assign({ href: "/search?q=".concat(searchTerm), className: "px-3 py-1 ml-6 flex items-center space-x-3 ring ring-1 ring-offset-2 ring-transparent transition-colors text-blue-500 hover:text-blue-600 rounded-lg autocomplete-custom-search" }, { children: [jsxRuntime.jsx(SvgSearch, { className: "fill-blue-500 hover:fill-blue-600 h-4 w-4" }), jsxRuntime.jsx("span", __assign({ className: "font-semibold text-[1.125rem] " }, { children: searchTerm === "" ? "Custom Search" : "View All Results" }))] })) }))] })) })) }))] })));
401
+ };
402
+
403
+ var css_248z = "/*\n! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: currentColor; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {\n appearance: none;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n border-radius: 0px;\n padding-top: 0.5rem;\n padding-right: 0.75rem;\n padding-bottom: 0.5rem;\n padding-left: 0.75rem;\n font-size: 1rem;\n line-height: 1.5rem;\n --tw-shadow: 0 0 #0000;\n}\n\n[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #2563eb;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n border-color: #2563eb;\n}\n\ninput::placeholder,textarea::placeholder {\n color: #6b7280;\n opacity: 1;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n}\n\n::-webkit-date-and-time-value {\n min-height: 1.5em;\n}\n\n::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {\n padding-top: 0;\n padding-bottom: 0;\n}\n\nselect {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");\n background-position: right 0.5rem center;\n background-repeat: no-repeat;\n background-size: 1.5em 1.5em;\n padding-right: 2.5rem;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n}\n\n[multiple] {\n background-image: initial;\n background-position: initial;\n background-repeat: unset;\n background-size: initial;\n padding-right: 0.75rem;\n -webkit-print-color-adjust: unset;\n print-color-adjust: unset;\n}\n\n[type='checkbox'],[type='radio'] {\n appearance: none;\n padding: 0;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n display: inline-block;\n vertical-align: middle;\n background-origin: border-box;\n -webkit-user-select: none;\n user-select: none;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n color: #2563eb;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n --tw-shadow: 0 0 #0000;\n}\n\n[type='checkbox'] {\n border-radius: 0px;\n}\n\n[type='radio'] {\n border-radius: 100%;\n}\n\n[type='checkbox']:focus,[type='radio']:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #2563eb;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n\n[type='checkbox']:checked,[type='radio']:checked {\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n[type='checkbox']:checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\");\n}\n\n[type='radio']:checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");\n}\n\n[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n\n[type='checkbox']:indeterminate {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n\n[type='file'] {\n background: unset;\n border-color: inherit;\n border-width: 0;\n border-radius: 0;\n padding: 0;\n font-size: unset;\n line-height: inherit;\n}\n\n[type='file']:focus {\n outline: 1px solid ButtonText;\n outline: 1px auto -webkit-focus-ring-color;\n}\n @import url(\"https://p.typekit.net/p.css?s=1&k=etf0mna&ht=tk&f=24536.24553.24554.24558.24559.24539.24540.24545.24546.24547.24548.24549.24552.24580.24581.24586.24587.24588.24589.24590.24591&a=27633482&app=typekit&e=css\");\n\n @font-face {\n font-family: \"sofia-pro-soft\";\n src: url(\"https://use.typekit.net/af/745ea3/00000000000000007735a146/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/745ea3/00000000000000007735a146/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/745ea3/00000000000000007735a146/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 500;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-soft\";\n src: url(\"https://use.typekit.net/af/cdf40b/00000000000000007735a147/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/cdf40b/00000000000000007735a147/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/cdf40b/00000000000000007735a147/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 700;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-soft\";\n src: url(\"https://use.typekit.net/af/691282/00000000000000007735a149/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/691282/00000000000000007735a149/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/691282/00000000000000007735a149/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 700;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-soft\";\n src: url(\"https://use.typekit.net/af/54ce76/00000000000000007735a154/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/54ce76/00000000000000007735a154/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/54ce76/00000000000000007735a154/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 400;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-soft\";\n src: url(\"https://use.typekit.net/af/9f41be/00000000000000007735a157/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/9f41be/00000000000000007735a157/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/9f41be/00000000000000007735a157/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 400;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/5d97ff/00000000000000007735f999/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/5d97ff/00000000000000007735f999/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/5d97ff/00000000000000007735f999/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 700;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/66e20c/00000000000000007735f993/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/66e20c/00000000000000007735f993/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/66e20c/00000000000000007735f993/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 700;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/19ced7/00000000000000007735f992/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/19ced7/00000000000000007735f992/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/19ced7/00000000000000007735f992/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 500;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/33e8a4/00000000000000007735f99b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/33e8a4/00000000000000007735f99b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/33e8a4/00000000000000007735f99b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 500;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/b718ff/00000000000000007735f98d/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/b718ff/00000000000000007735f98d/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/b718ff/00000000000000007735f98d/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 400;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/c09857/00000000000000007735f98c/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/c09857/00000000000000007735f98c/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/c09857/00000000000000007735f98c/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 400;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/262452/00000000000000007735f99a/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/262452/00000000000000007735f99a/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/262452/00000000000000007735f99a/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 600;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro\";\n src: url(\"https://use.typekit.net/af/36f509/00000000000000007735f994/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/36f509/00000000000000007735f994/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/36f509/00000000000000007735f994/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 600;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/8b3e11/00000000000000007735a150/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/8b3e11/00000000000000007735a150/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/8b3e11/00000000000000007735a150/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 700;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/2fe268/00000000000000007735a153/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/2fe268/00000000000000007735a153/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/2fe268/00000000000000007735a153/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 700;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/a33c9d/00000000000000007735a15e/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/a33c9d/00000000000000007735a15e/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/a33c9d/00000000000000007735a15e/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 500;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/fa5448/00000000000000007735a161/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/fa5448/00000000000000007735a161/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/fa5448/00000000000000007735a161/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 500;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/cf0830/00000000000000007735a162/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/cf0830/00000000000000007735a162/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/cf0830/00000000000000007735a162/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 400;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/7da024/00000000000000007735a164/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/7da024/00000000000000007735a164/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/7da024/00000000000000007735a164/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 400;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/ef0e2d/00000000000000007735a166/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/ef0e2d/00000000000000007735a166/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/ef0e2d/00000000000000007735a166/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: normal;\n font-weight: 600;\n font-stretch: normal;\n }\n\n @font-face {\n font-family: \"sofia-pro-condensed\";\n src: url(\"https://use.typekit.net/af/1ff8be/00000000000000007735a168/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3\")\n format(\"woff2\"),\n url(\"https://use.typekit.net/af/1ff8be/00000000000000007735a168/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3\")\n format(\"woff\"),\n url(\"https://use.typekit.net/af/1ff8be/00000000000000007735a168/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3\")\n format(\"opentype\");\n font-display: auto;\n font-style: italic;\n font-weight: 600;\n font-stretch: normal;\n }\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.static {\n position: static;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.right-3 {\n right: 0.75rem;\n}\n.top-\\[50\\%\\] {\n top: 50%;\n}\n.top-0 {\n top: 0px;\n}\n.left-1\\/2 {\n left: 50%;\n}\n.top-5 {\n top: 1.25rem;\n}\n.right-5 {\n right: 1.25rem;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.left-0 {\n left: 0px;\n}\n.z-50 {\n z-index: 50;\n}\n.-m-1 {\n margin: -0.25rem;\n}\n.mb-12 {\n margin-bottom: 3rem;\n}\n.mt-2 {\n margin-top: 0.5rem;\n}\n.ml-6 {\n margin-left: 1.5rem;\n}\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.flex {\n display: flex;\n}\n.inline-flex {\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.flow-root {\n display: flow-root;\n}\n.hidden {\n display: none;\n}\n.h-full {\n height: 100%;\n}\n.h-4 {\n height: 1rem;\n}\n.h-\\[38px\\] {\n height: 38px;\n}\n.h-16 {\n height: 4rem;\n}\n.max-h-\\[70vh\\] {\n max-height: 70vh;\n}\n.min-h-\\[8rem\\] {\n min-height: 8rem;\n}\n.w-4 {\n width: 1rem;\n}\n.w-full {\n width: 100%;\n}\n.flex-auto {\n flex: 1 1 auto;\n}\n.flex-grow {\n flex-grow: 1;\n}\n.-translate-y-\\[50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.flex-wrap {\n flex-wrap: wrap;\n}\n.items-center {\n align-items: center;\n}\n.items-stretch {\n align-items: stretch;\n}\n.justify-center {\n justify-content: center;\n}\n.space-x-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.75rem * var(--tw-space-x-reverse));\n margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-auto {\n overflow-y: auto;\n}\n.rounded-md {\n border-radius: 0.375rem;\n}\n.rounded-\\[1\\.25rem\\] {\n border-radius: 1.25rem;\n}\n.rounded-lg {\n border-radius: 0.5rem;\n}\n.rounded-tr-none {\n border-top-right-radius: 0px;\n}\n.rounded-br-none {\n border-bottom-right-radius: 0px;\n}\n.rounded-tl-none {\n border-top-left-radius: 0px;\n}\n.rounded-bl-none {\n border-bottom-left-radius: 0px;\n}\n.border {\n border-width: 1px;\n}\n.border-t {\n border-top-width: 1px;\n}\n.border-grey-500 {\n --tw-border-opacity: 1;\n border-color: rgb(155 163 192 / var(--tw-border-opacity));\n}\n.border-blue-500 {\n --tw-border-opacity: 1;\n border-color: rgb(53 95 254 / var(--tw-border-opacity));\n}\n.border-\\[\\#a6abbd\\] {\n --tw-border-opacity: 1;\n border-color: rgb(166 171 189 / var(--tw-border-opacity));\n}\n.border-opacity-100 {\n --tw-border-opacity: 1;\n}\n.border-opacity-60 {\n --tw-border-opacity: 0.6;\n}\n.\\!bg-grey-100 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(230 232 239 / var(--tw-bg-opacity)) !important;\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.\\!bg-\\[transparent\\] {\n background-color: transparent !important;\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(53 95 254 / var(--tw-bg-opacity));\n}\n.bg-grey-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(230 232 239 / var(--tw-bg-opacity));\n}\n.fill-night-sky-800 {\n fill: #001936;\n}\n.fill-white {\n fill: #FFFFFF;\n}\n.fill-blue-500 {\n fill: #355FFE;\n}\n.px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.pr-0 {\n padding-right: 0px;\n}\n.pl-3 {\n padding-left: 0.75rem;\n}\n.font-sofia-pro {\n font-family: sofia-pro, sans-serif;\n}\n.text-\\[1\\.125rem\\] {\n font-size: 1.125rem;\n}\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.font-medium {\n font-weight: 500;\n}\n.font-semibold {\n font-weight: 600;\n}\n.text-night-sky-800 {\n --tw-text-opacity: 1;\n color: rgb(0 25 54 / var(--tw-text-opacity));\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.text-blue-500 {\n --tw-text-opacity: 1;\n color: rgb(53 95 254 / var(--tw-text-opacity));\n}\n.shadow-none {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.ring {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.\\!ring-blue-600 {\n --tw-ring-opacity: 1 !important;\n --tw-ring-color: rgb(35 74 224 / var(--tw-ring-opacity)) !important;\n}\n.ring-transparent {\n --tw-ring-color: transparent;\n}\n.ring-offset-2 {\n --tw-ring-offset-width: 2px;\n}\n.transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, outline-color, focus-color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n/* Search Results Container Styles */\n.fade-slide-enter {\n --tw-translate-y: -0.75rem;\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n opacity: 0;\n}\n\n.fade-slide-enter-active, \n.fade-slide-enter-done {\n --tw-translate-y: 0px;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n opacity: 1;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.fade-slide-exit {\n --tw-translate-y: 0px;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n opacity: 1;\n}\n\n.fade-slide-exit-active, \n.fade-slide-exit-done {\n --tw-translate-y: -0.75rem;\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n opacity: 0;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.hover\\:border-grey-500:hover {\n --tw-border-opacity: 1;\n border-color: rgb(155 163 192 / var(--tw-border-opacity));\n}\n\n.hover\\:border-blue-600:hover {\n --tw-border-opacity: 1;\n border-color: rgb(35 74 224 / var(--tw-border-opacity));\n}\n\n.hover\\:border-opacity-50:hover {\n --tw-border-opacity: 0.5;\n}\n\n.hover\\:bg-grey-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(230 232 239 / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-600:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(35 74 224 / var(--tw-bg-opacity));\n}\n\n.hover\\:fill-blue-500:hover {\n fill: #355FFE;\n}\n\n.hover\\:fill-blue-600:hover {\n fill: #234AE0;\n}\n\n.hover\\:text-blue-500:hover {\n --tw-text-opacity: 1;\n color: rgb(53 95 254 / var(--tw-text-opacity));\n}\n\n.hover\\:text-blue-600:hover {\n --tw-text-opacity: 1;\n color: rgb(35 74 224 / var(--tw-text-opacity));\n}\n\n.focus\\:border-blue-400:focus {\n --tw-border-opacity: 1;\n border-color: rgb(72 112 254 / var(--tw-border-opacity));\n}\n\n.focus\\:bg-grey-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(230 232 239 / var(--tw-bg-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.focus\\:ring-0:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(53 95 254 / var(--tw-ring-opacity));\n}\n\n.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n@media (min-width: 1000px) {\n\n .tablet\\:w-\\[70vw\\] {\n width: 70vw;\n }\n}\n";
404
+ styleInject(css_248z);
405
+
406
+ exports.SearchAutocomplete = SearchAutocomplete;