@ta-interaktiv/react-municipality-search 2.1.4 → 2.2.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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.2.0](https://gitlab.com/ta-interaktiv/packages/compare/@ta-interaktiv/react-municipality-search@2.1.4...@ta-interaktiv/react-municipality-search@2.2.0) (2024-09-18)
7
+
8
+
9
+ ### Features
10
+
11
+ * new prop "propertyToSearch" ([8fb9fd5](https://gitlab.com/ta-interaktiv/packages/commit/8fb9fd58f37a0e7778634de5d84926d68143cae1))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.1.4](https://gitlab.com/ta-interaktiv/packages/compare/@ta-interaktiv/react-municipality-search@2.1.3...@ta-interaktiv/react-municipality-search@2.1.4) (2024-05-27)
7
18
 
8
19
 
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
21
21
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22
22
  PERFORMANCE OF THIS SOFTWARE.
23
23
  ***************************************************************************** */
24
- /* global Reflect, Promise, SuppressedError, Symbol */
24
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
25
25
 
26
26
  var extendStatics = function(d, b) {
27
27
  extendStatics = Object.setPrototypeOf ||
@@ -184,8 +184,9 @@ var MunicipalitySearch = (function (_super) {
184
184
  var exactWordRegex_1 = RegExp("\\b" + sanitizedSearchTerm + "\\b", 'i');
185
185
  var rankResults = function (searchTerm, arrayToSort) {
186
186
  return arrayToSort.sort(function (a, b) {
187
- var aScore = scoreResult_1(searchTerm.toLowerCase(), a.NORMGEMEINDE.toLowerCase());
188
- var bScore = scoreResult_1(searchTerm.toLowerCase(), b.NORMGEMEINDE.toLowerCase());
187
+ var _a, _b;
188
+ var aScore = scoreResult_1(searchTerm.toLowerCase(), a[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
189
+ var bScore = scoreResult_1(searchTerm.toLowerCase(), b[(_b = _this.props.propertyToSearch) !== null && _b !== void 0 ? _b : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
189
190
  return bScore - aScore;
190
191
  });
191
192
  };
@@ -200,7 +201,7 @@ var MunicipalitySearch = (function (_super) {
200
201
  return 0;
201
202
  }
202
203
  };
203
- var notExactMatches = municipalities.filter(function (municipality) { return r_1.test(municipality.NORMGEMEINDE); });
204
+ var notExactMatches = municipalities.filter(function (municipality) { var _a; return r_1.test(municipality[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch]); });
204
205
  results = rankResults(sanitizedSearchTerm, notExactMatches).slice(0, _this.props.maxResults);
205
206
  if (results.length < 1) {
206
207
  _this.setState({ error: 'error.noResultsByName' });
@@ -492,6 +493,7 @@ var MunicipalitySearch = (function (_super) {
492
493
  resultBackgroundColor: 'var(--site-background)',
493
494
  inputBackgroundColor: 'var(--site-background)',
494
495
  maxResults: 10,
496
+ propertyToSearch: "NORMGEMEINDE"
495
497
  };
496
498
  return MunicipalitySearch;
497
499
  }(React.Component));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,6 +10,7 @@ interface Municipality {
10
10
  readonly NORMGEMEINDE: string;
11
11
  readonly URL?: string;
12
12
  timestamp?: number;
13
+ [x: string]: any;
13
14
  }
14
15
  export type { Municipality };
15
16
  export interface Props {
@@ -29,6 +30,7 @@ export interface Props {
29
30
  onCloseHandler?: () => void;
30
31
  inputBackgroundColor?: string;
31
32
  resultBackgroundColor?: string;
33
+ propertyToSearch?: keyof Municipality;
32
34
  }
33
35
  interface State {
34
36
  isLoading: boolean;
@@ -45,6 +47,7 @@ export declare class MunicipalitySearch extends Component<Props, State> {
45
47
  resultBackgroundColor: string;
46
48
  inputBackgroundColor: string;
47
49
  maxResults: number;
50
+ propertyToSearch: string;
48
51
  };
49
52
  state: {
50
53
  isLoading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AACD,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,MAAM,WAAW,KAAK;IAGpB,gBAAgB,EAAE,MAAM,CAAA;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAGxD,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAGxC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAG3C,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IAGrC,oBAAoB,CAAC,EAAE,YAAY,CAAA;IAGnC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAG/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,UAAU,KAAK;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,IAAI,GACJ,sBAAsB,GACtB,uBAAuB,GACvB,mCAAmC,CAAA;IACvC,cAAc,EAAE,YAAY,EAAE,CAAA;CAC/B;AAgED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,OAAc,YAAY;;;;;;;MAOzB;IAEM,KAAK;;;;;;MAMX;IAED,OAAO,CAAC,cAAc,CAMrB;IAED,OAAO,CAAC,UAAU,CAqFjB;IAED,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB,CAezB;IAOD,OAAO,CAAC,kBAAkB,CAgBzB;IAKD,OAAO,CAAC,uBAAuB,CAkC9B;IAOD,OAAO,CAAC,4BAA4B,CAwBnC;IAQD,OAAO,CAAC,4BAA4B,CA6BnC;IAED,OAAO,CAAC,qBAAqB,CAiD5B;IAEM,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAO1C,OAAO,CAAC,YAAY;IAIb,iBAAiB;IA2CjB,MAAM;CA8Id"}
1
+ {"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AACD,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,MAAM,WAAW,KAAK;IAGpB,gBAAgB,EAAE,MAAM,CAAA;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAGxD,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAGxC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAG3C,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IAGrC,oBAAoB,CAAC,EAAE,YAAY,CAAA;IAGnC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAG/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,gBAAgB,CAAC,EAAE,MAAM,YAAY,CAAA;CACtC;AAED,UAAU,KAAK;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,IAAI,GACJ,sBAAsB,GACtB,uBAAuB,GACvB,mCAAmC,CAAA;IACvC,cAAc,EAAE,YAAY,EAAE,CAAA;CAC/B;AAgED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,OAAc,YAAY;;;;;;;;MAQzB;IAEM,KAAK;;;;;;MAMX;IAED,OAAO,CAAC,cAAc,CAMrB;IAED,OAAO,CAAC,UAAU,CAqFjB;IAED,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB,CAezB;IAOD,OAAO,CAAC,kBAAkB,CAgBzB;IAKD,OAAO,CAAC,uBAAuB,CAkC9B;IAOD,OAAO,CAAC,4BAA4B,CAwBnC;IAQD,OAAO,CAAC,4BAA4B,CA6BnC;IAED,OAAO,CAAC,qBAAqB,CAiD5B;IAEM,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAO1C,OAAO,CAAC,YAAY;IAIb,iBAAiB;IA2CjB,MAAM;CA8Id"}
package/es/index.js CHANGED
@@ -17,7 +17,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
17
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
18
  PERFORMANCE OF THIS SOFTWARE.
19
19
  ***************************************************************************** */
20
- /* global Reflect, Promise, SuppressedError, Symbol */
20
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
21
21
 
22
22
  var extendStatics = function(d, b) {
23
23
  extendStatics = Object.setPrototypeOf ||
@@ -180,8 +180,9 @@ var MunicipalitySearch = (function (_super) {
180
180
  var exactWordRegex_1 = RegExp("\\b" + sanitizedSearchTerm + "\\b", 'i');
181
181
  var rankResults = function (searchTerm, arrayToSort) {
182
182
  return arrayToSort.sort(function (a, b) {
183
- var aScore = scoreResult_1(searchTerm.toLowerCase(), a.NORMGEMEINDE.toLowerCase());
184
- var bScore = scoreResult_1(searchTerm.toLowerCase(), b.NORMGEMEINDE.toLowerCase());
183
+ var _a, _b;
184
+ var aScore = scoreResult_1(searchTerm.toLowerCase(), a[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
185
+ var bScore = scoreResult_1(searchTerm.toLowerCase(), b[(_b = _this.props.propertyToSearch) !== null && _b !== void 0 ? _b : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
185
186
  return bScore - aScore;
186
187
  });
187
188
  };
@@ -196,7 +197,7 @@ var MunicipalitySearch = (function (_super) {
196
197
  return 0;
197
198
  }
198
199
  };
199
- var notExactMatches = municipalities.filter(function (municipality) { return r_1.test(municipality.NORMGEMEINDE); });
200
+ var notExactMatches = municipalities.filter(function (municipality) { var _a; return r_1.test(municipality[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch]); });
200
201
  results = rankResults(sanitizedSearchTerm, notExactMatches).slice(0, _this.props.maxResults);
201
202
  if (results.length < 1) {
202
203
  _this.setState({ error: 'error.noResultsByName' });
@@ -488,6 +489,7 @@ var MunicipalitySearch = (function (_super) {
488
489
  resultBackgroundColor: 'var(--site-background)',
489
490
  inputBackgroundColor: 'var(--site-background)',
490
491
  maxResults: 10,
492
+ propertyToSearch: "NORMGEMEINDE"
491
493
  };
492
494
  return MunicipalitySearch;
493
495
  }(Component));
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,6 +10,7 @@ interface Municipality {
10
10
  readonly NORMGEMEINDE: string;
11
11
  readonly URL?: string;
12
12
  timestamp?: number;
13
+ [x: string]: any;
13
14
  }
14
15
  export type { Municipality };
15
16
  export interface Props {
@@ -29,6 +30,7 @@ export interface Props {
29
30
  onCloseHandler?: () => void;
30
31
  inputBackgroundColor?: string;
31
32
  resultBackgroundColor?: string;
33
+ propertyToSearch?: keyof Municipality;
32
34
  }
33
35
  interface State {
34
36
  isLoading: boolean;
@@ -45,6 +47,7 @@ export declare class MunicipalitySearch extends Component<Props, State> {
45
47
  resultBackgroundColor: string;
46
48
  inputBackgroundColor: string;
47
49
  maxResults: number;
50
+ propertyToSearch: string;
48
51
  };
49
52
  state: {
50
53
  isLoading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AACD,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,MAAM,WAAW,KAAK;IAGpB,gBAAgB,EAAE,MAAM,CAAA;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAGxD,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAGxC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAG3C,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IAGrC,oBAAoB,CAAC,EAAE,YAAY,CAAA;IAGnC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAG/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,UAAU,KAAK;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,IAAI,GACJ,sBAAsB,GACtB,uBAAuB,GACvB,mCAAmC,CAAA;IACvC,cAAc,EAAE,YAAY,EAAE,CAAA;CAC/B;AAgED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,OAAc,YAAY;;;;;;;MAOzB;IAEM,KAAK;;;;;;MAMX;IAED,OAAO,CAAC,cAAc,CAMrB;IAED,OAAO,CAAC,UAAU,CAqFjB;IAED,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB,CAezB;IAOD,OAAO,CAAC,kBAAkB,CAgBzB;IAKD,OAAO,CAAC,uBAAuB,CAkC9B;IAOD,OAAO,CAAC,4BAA4B,CAwBnC;IAQD,OAAO,CAAC,4BAA4B,CA6BnC;IAED,OAAO,CAAC,qBAAqB,CAiD5B;IAEM,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAO1C,OAAO,CAAC,YAAY;IAIb,iBAAiB;IA2CjB,MAAM;CA8Id"}
1
+ {"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AACD,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,MAAM,WAAW,KAAK;IAGpB,gBAAgB,EAAE,MAAM,CAAA;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAGxD,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAGxC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAG3C,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IAGrC,oBAAoB,CAAC,EAAE,YAAY,CAAA;IAGnC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAG/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,gBAAgB,CAAC,EAAE,MAAM,YAAY,CAAA;CACtC;AAED,UAAU,KAAK;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,IAAI,GACJ,sBAAsB,GACtB,uBAAuB,GACvB,mCAAmC,CAAA;IACvC,cAAc,EAAE,YAAY,EAAE,CAAA;CAC/B;AAgED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,OAAc,YAAY;;;;;;;;MAQzB;IAEM,KAAK;;;;;;MAMX;IAED,OAAO,CAAC,cAAc,CAMrB;IAED,OAAO,CAAC,UAAU,CAqFjB;IAED,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB,CAezB;IAOD,OAAO,CAAC,kBAAkB,CAgBzB;IAKD,OAAO,CAAC,uBAAuB,CAkC9B;IAOD,OAAO,CAAC,4BAA4B,CAwBnC;IAQD,OAAO,CAAC,4BAA4B,CA6BnC;IAED,OAAO,CAAC,qBAAqB,CAiD5B;IAEM,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAO1C,OAAO,CAAC,YAAY;IAIb,iBAAiB;IA2CjB,MAAM;CA8Id"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ta-interaktiv/react-municipality-search",
3
- "version": "2.1.4",
3
+ "version": "2.2.0",
4
4
  "description": "React component that allows searching for Swiss municipalities with either ZIP code or place names.",
5
5
  "keywords": [
6
6
  "react",
@@ -52,5 +52,5 @@
52
52
  "react-dom": ">=16.8.0",
53
53
  "styled-components": "^6.1.1"
54
54
  },
55
- "gitHead": "472138f1b5b382cb1d356fa7240c3e8f9c07026d"
55
+ "gitHead": "e14ed049579a8649fadbb1240d9226a5a9225296"
56
56
  }
@@ -28,6 +28,7 @@ interface LocalisedMessagesList {
28
28
  readonly NORMGEMEINDE: string
29
29
  readonly URL?: string
30
30
  timestamp?: number
31
+ [x: string]: any
31
32
  }
32
33
  export type { Municipality }
33
34
  export interface Props {
@@ -79,6 +80,9 @@ export interface Props {
79
80
 
80
81
  /** result background color */
81
82
  resultBackgroundColor?: string
83
+
84
+ /** property on your municipality you want to search for. The value of this key MUST be a string */
85
+ propertyToSearch?: keyof Municipality
82
86
  }
83
87
 
84
88
  interface State {
@@ -163,6 +167,7 @@ export class MunicipalitySearch extends Component<Props, State> {
163
167
  resultBackgroundColor: 'var(--site-background)',
164
168
  inputBackgroundColor: 'var(--site-background)',
165
169
  maxResults: 10,
170
+ propertyToSearch: "NORMGEMEINDE"
166
171
  }
167
172
 
168
173
  public state = {
@@ -225,11 +230,11 @@ export class MunicipalitySearch extends Component<Props, State> {
225
230
  return arrayToSort.sort((a, b) => {
226
231
  const aScore = scoreResult(
227
232
  searchTerm.toLowerCase(),
228
- a.NORMGEMEINDE.toLowerCase(),
233
+ a[this.props.propertyToSearch ?? MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase(),
229
234
  )
230
235
  const bScore = scoreResult(
231
236
  searchTerm.toLowerCase(),
232
- b.NORMGEMEINDE.toLowerCase(),
237
+ b[this.props.propertyToSearch ?? MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase(),
233
238
  )
234
239
  return bScore - aScore
235
240
  })
@@ -245,7 +250,7 @@ export class MunicipalitySearch extends Component<Props, State> {
245
250
  }
246
251
  }
247
252
  const notExactMatches = municipalities.filter(
248
- (municipality: Municipality) => r.test(municipality.NORMGEMEINDE),
253
+ (municipality: Municipality) => r.test(municipality[this.props.propertyToSearch ?? MunicipalitySearch.defaultProps.propertyToSearch]),
249
254
  )
250
255
  // We need to sort the results by relevance so "bern" is higher ranked than "berneck"
251
256
  results = rankResults(sanitizedSearchTerm, notExactMatches).slice(