@popsure/dirty-swan 0.31.1 → 0.32.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.
Files changed (47) hide show
  1. package/dist/cjs/index.d.ts +2 -2
  2. package/dist/cjs/index.js +15 -3
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/lib/components/autocompleteAddress/index.d.ts +15 -14
  5. package/dist/cjs/lib/components/autocompleteAddress/index.stories.d.ts +66 -0
  6. package/dist/cjs/lib/components/segmentedControl/index.stories.d.ts +1 -5
  7. package/dist/cjs/lib/index.d.ts +3 -2
  8. package/dist/cjs/lib/util/images/index.d.ts +11 -0
  9. package/dist/cjs/lib/util/images/index.stories.d.ts +12 -0
  10. package/dist/esm/components/autocompleteAddress/index.js +2 -2
  11. package/dist/esm/components/autocompleteAddress/index.js.map +1 -1
  12. package/dist/esm/components/autocompleteAddress/index.stories.js +110 -0
  13. package/dist/esm/components/autocompleteAddress/index.stories.js.map +1 -0
  14. package/dist/esm/components/autocompleteAddress/index.test.js +2 -2
  15. package/dist/esm/components/autocompleteAddress/index.test.js.map +1 -1
  16. package/dist/esm/components/comparisonTable/components/Row/index.js +1 -1
  17. package/dist/esm/components/segmentedControl/index.stories.js +1 -5
  18. package/dist/esm/components/segmentedControl/index.stories.js.map +1 -1
  19. package/dist/esm/index-db2e797f.js +13 -0
  20. package/dist/esm/index-db2e797f.js.map +1 -0
  21. package/dist/esm/index.d.ts +2 -2
  22. package/dist/esm/index.js +2 -1
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/lib/components/autocompleteAddress/index.d.ts +15 -14
  25. package/dist/esm/lib/components/autocompleteAddress/index.stories.d.ts +66 -0
  26. package/dist/esm/lib/components/segmentedControl/index.stories.d.ts +1 -5
  27. package/dist/esm/lib/index.d.ts +3 -2
  28. package/dist/esm/lib/util/images/index.d.ts +11 -0
  29. package/dist/esm/lib/util/images/index.stories.d.ts +12 -0
  30. package/dist/esm/util/images/index.stories.js +23 -0
  31. package/dist/esm/util/images/index.stories.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/index.tsx +2 -1
  34. package/src/lib/components/autocompleteAddress/index.stories.tsx +147 -0
  35. package/src/lib/components/autocompleteAddress/index.test.tsx +2 -2
  36. package/src/lib/components/autocompleteAddress/index.tsx +11 -9
  37. package/src/lib/components/comparisonTable/components/Row/style.module.scss +2 -1
  38. package/src/lib/components/segmentedControl/index.stories.tsx +1 -5
  39. package/src/lib/index.tsx +3 -1
  40. package/src/lib/util/images/index.stories.tsx +27 -0
  41. package/src/lib/util/images/index.ts +12 -0
  42. package/dist/cjs/lib/components/autocompleteAddress/demo.d.ts +0 -4
  43. package/dist/esm/components/autocompleteAddress/demo.js +0 -64
  44. package/dist/esm/components/autocompleteAddress/demo.js.map +0 -1
  45. package/dist/esm/lib/components/autocompleteAddress/demo.d.ts +0 -4
  46. package/src/lib/components/autocompleteAddress/demo.tsx +0 -88
  47. package/src/lib/components/autocompleteAddress/index.stories.mdx +0 -53
@@ -0,0 +1,147 @@
1
+ import { Address } from '@popsure/public-models';
2
+ import { useState } from 'react';
3
+ import { AutocompleteAddress, AutocompleteAddressProps } from '.';
4
+
5
+ const story = {
6
+ title: 'JSX/AutocompleteAddress',
7
+ component: AutocompleteAddress,
8
+ argTypes: {
9
+ address: {
10
+ description: 'The address properties',
11
+ table: {
12
+ type: {
13
+ summary: 'Partial<Address>'
14
+ },
15
+ },
16
+ },
17
+ apiKey: {
18
+ defaultValue: 'AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8',
19
+ description: 'Your private API key for the [Google Places API](https://developers.google.com/maps/documentation/places/web-service/overview)',
20
+ table: {
21
+ type: {
22
+ summary: 'Partial<Address>'
23
+ },
24
+ },
25
+ },
26
+ onAddressChange: {
27
+ description: 'Callback with the updated address, this function will get called everytime the address gets updated',
28
+ action: true,
29
+ table: {
30
+ category: "Callbacks",
31
+ },
32
+ },
33
+ manualAddressEntryTexts: {
34
+ description: 'The CTA that enables manual address entry and the text preceding it',
35
+ table: {
36
+ type: {
37
+ summary: '{ preText?: string; cta: string?; }'
38
+ }
39
+ }
40
+ },
41
+ placeholders: {
42
+ description: 'Placeholder text',
43
+ table: {
44
+ type: {
45
+ summary: '{ manualAddressEntry?: string; street: string?; houseNumber?: string; additionalInformation?: string; postcode?: string; city?: string; }'
46
+ }
47
+ }
48
+ }
49
+ },
50
+ parameters: {
51
+ componentSubtitle: 'Autocomplete Address are user interface elements which allow users start typing an address and get autocompletion suggestions on the address.',
52
+ docs: {
53
+ description: {
54
+ component: 'This component is for now only restricted to "address" types and will restrict every query to Germany.',
55
+ },
56
+ },
57
+ customTypes: {
58
+ Address: `interface Address {
59
+ street: string;
60
+ houseNumber: string;
61
+ postcode: string;
62
+ city: string;
63
+ additionalInformation?: string;
64
+ country: string;
65
+ }`
66
+ }
67
+ },
68
+ };
69
+
70
+ export const AutocompleteAddressStory = ({
71
+ address: defaultAddress,
72
+ apiKey,
73
+ manualAddressEntryTexts,
74
+ onAddressChange,
75
+ placeholders,
76
+ }: AutocompleteAddressProps) => {
77
+ const [address, setAddress] = useState<Partial<Address> | undefined>(defaultAddress);
78
+ const handleOnAddressChange = (newAddress: Partial<Address>) => {
79
+ onAddressChange(newAddress);
80
+ setAddress(newAddress);
81
+ };
82
+
83
+ return (
84
+ <AutocompleteAddress
85
+ address={address}
86
+ apiKey={apiKey}
87
+ manualAddressEntryTexts={manualAddressEntryTexts}
88
+ onAddressChange={handleOnAddressChange}
89
+ placeholders={placeholders}
90
+ />
91
+ );
92
+ };
93
+
94
+ AutocompleteAddressStory.storyName = "AutocompleteAddress";
95
+
96
+ export const WithAddress = ({
97
+ apiKey,
98
+ onAddressChange,
99
+ placeholders,
100
+ }: AutocompleteAddressProps) => (
101
+ <AutocompleteAddress
102
+ address={{
103
+ street: 'Lohmuehlenstraße',
104
+ houseNumber: '65',
105
+ city: 'Berlin',
106
+ country: 'DE',
107
+ additionalInformation: 'c/o Factory',
108
+ }}
109
+ apiKey={apiKey}
110
+ onAddressChange={onAddressChange}
111
+ />
112
+ );
113
+
114
+ export const WithLocalisationEntryText = ({
115
+ apiKey,
116
+ onAddressChange,
117
+ }: AutocompleteAddressProps) => (
118
+ <AutocompleteAddress
119
+ apiKey={apiKey}
120
+ manualAddressEntryTexts={{
121
+ preText: 'Oder ',
122
+ cta: 'Adresse direkt eingeben',
123
+ }}
124
+ onAddressChange={onAddressChange}
125
+ />
126
+ );
127
+
128
+ export const WithLocalisationPlaceholders = ({
129
+ apiKey,
130
+ onAddressChange,
131
+ }: AutocompleteAddressProps) => (
132
+ <AutocompleteAddress
133
+ address={{}}
134
+ apiKey={apiKey}
135
+ placeholders={{
136
+ manualAddressEntry: 'Adresse suchen',
137
+ street: 'Straße',
138
+ houseNumber: 'Hausnummer',
139
+ additionalInformation: 'Adresszusatz (c/o, z.Hd., o.V.i.A, ...)',
140
+ postcode: 'PLZ',
141
+ city: 'Stadt',
142
+ }}
143
+ onAddressChange={onAddressChange}
144
+ />
145
+ );
146
+
147
+ export default story;
@@ -1,7 +1,7 @@
1
1
  import { Address } from '@popsure/public-models';
2
2
  import { fireEvent, render } from '../../util/testUtils';
3
3
 
4
- import AutoCompleteAddress from '.';
4
+ import { AutocompleteAddress } from '.';
5
5
 
6
6
  const address = {
7
7
  street: 'Köpeniker Strasse',
@@ -16,7 +16,7 @@ const setup = (
16
16
  onAddressChange: (address: Partial<Address>) => void = () => {}
17
17
  ) => {
18
18
  return render(
19
- <AutoCompleteAddress
19
+ <AutocompleteAddress
20
20
  address={address}
21
21
  apiKey={''}
22
22
  onAddressChange={onAddressChange}
@@ -49,13 +49,7 @@ const loadGoogleMapsApiDynamically = (callback: () => void, apiKey: string) => {
49
49
  };
50
50
  };
51
51
 
52
- const AutoCompleteAddress = ({
53
- apiKey,
54
- address: initialAddress,
55
- onAddressChange,
56
- placeholders,
57
- manualAddressEntryTexts,
58
- }: {
52
+ export interface AutocompleteAddressProps {
59
53
  apiKey: string;
60
54
  address?: Partial<Address>;
61
55
  onAddressChange: (address: Partial<Address>) => void;
@@ -71,7 +65,15 @@ const AutoCompleteAddress = ({
71
65
  preText?: string;
72
66
  cta?: string;
73
67
  };
74
- }) => {
68
+ }
69
+
70
+ const AutocompleteAddress = ({
71
+ apiKey,
72
+ address: initialAddress,
73
+ onAddressChange,
74
+ placeholders,
75
+ manualAddressEntryTexts,
76
+ }: AutocompleteAddressProps) => {
75
77
  const [manualAddressEntry, setManualAddressEntry] = useState(false);
76
78
  const [isLoading, setIsLoading] = useState(false);
77
79
  const autocomplete = useRef<google.maps.places.Autocomplete | null>(null);
@@ -349,4 +351,4 @@ const AutoCompleteAddress = ({
349
351
  );
350
352
  };
351
353
 
352
- export default AutoCompleteAddress;
354
+ export { AutocompleteAddress };
@@ -8,7 +8,7 @@ $cell-min-width: var(--cellWidth, 256px);
8
8
 
9
9
  & > div {
10
10
  width: var(--tableWidth);
11
- max-width: var(--tableWidth);
11
+ max-width: 100vw;
12
12
 
13
13
  &:nth-child(n + 3) {
14
14
  margin: 0;
@@ -16,6 +16,7 @@ $cell-min-width: var(--cellWidth, 256px);
16
16
 
17
17
  @include p-size-tablet {
18
18
  width: $cell-min-width;
19
+ max-width: var(--tableWidth);
19
20
  scroll-snap-align: unset;
20
21
  }
21
22
  }
@@ -28,11 +28,7 @@ const story = {
28
28
  selectedIndex: 0,
29
29
  },
30
30
  parameters: {
31
- docs: {
32
- description: {
33
- component: 'A segmented control is a linear set of two or more segments, each of which functions as a mutually exclusive button.',
34
- },
35
- },
31
+ componentSubtitle: 'A segmented control is a linear set of two or more segments, each of which functions as a mutually exclusive button.',
36
32
  },
37
33
  };
38
34
 
package/src/lib/index.tsx CHANGED
@@ -1,6 +1,6 @@
1
1
  import DateSelector from './components/dateSelector';
2
2
  import SignaturePad from './components/signaturePad';
3
- import AutocompleteAddress from './components/autocompleteAddress';
3
+ import { AutocompleteAddress } from './components/autocompleteAddress';
4
4
  import Input from './components/input';
5
5
  import MultiDropzone, {
6
6
  FileType,
@@ -38,6 +38,7 @@ import {
38
38
  } from './components/comparisonTable';
39
39
  import { SegmentedControl } from './components/segmentedControl';
40
40
  import Markdown from './components/markdown';
41
+ import { images } from './util/images';
41
42
 
42
43
  export {
43
44
  DateSelector,
@@ -68,6 +69,7 @@ export {
68
69
  TableInfoButton,
69
70
  SegmentedControl,
70
71
  Markdown,
72
+ images,
71
73
  };
72
74
 
73
75
  export type {
@@ -0,0 +1,27 @@
1
+ import { images } from "../../util/images";
2
+
3
+ const story = {
4
+ title: 'Utils/Images',
5
+ parameters: {
6
+ docs: {
7
+ description: {
8
+ component: 'Use the `images` object export to access our list of available images.',
9
+ },
10
+ },
11
+ }
12
+ };
13
+
14
+
15
+ export const Images = () => (
16
+ <div className='d-flex gap8 f-wrap'>
17
+ {Object.entries(images).map(([key, value]) => (
18
+ <div key={key} className="ws3 d-flex fd-column ai-center br4 p24 pt16 pb16 bg-grey-100">
19
+ <span className='p-p--small mb8'>{key}</span>
20
+
21
+ <img alt={key} src={value} />
22
+ </div>
23
+ ))}
24
+ </div>
25
+ );
26
+
27
+ export default story;
@@ -0,0 +1,12 @@
1
+ const images = {
2
+ aid: 'https://assets.cdn.feather-insurance.com/assets/images/aid.svg',
3
+ bed: 'https://assets.cdn.feather-insurance.com/assets/images/bed.svg',
4
+ bigDog: 'https://assets.cdn.feather-insurance.com/assets/images/bigDog.svg',
5
+ brokenAquarium: 'https://assets.cdn.feather-insurance.com/assets/images/brokenAquarium.svg',
6
+ brokenGlass: 'https://assets.cdn.feather-insurance.com/assets/images/brokenGlass.svg',
7
+ damagedLaptop: 'https://assets.cdn.feather-insurance.com/assets/images/damagedLaptop.svg',
8
+ moneyIncome: 'https://assets.cdn.feather-insurance.com/assets/images/moneyIncome.svg',
9
+ washingMachine: 'https://assets.cdn.feather-insurance.com/assets/images/washingMachine.svg',
10
+ } as const;
11
+
12
+ export { images };
@@ -1,4 +0,0 @@
1
- export declare const WithoutAddress: () => JSX.Element;
2
- export declare const WithAddress: () => JSX.Element;
3
- export declare const WithoutAddressLocalized: () => JSX.Element;
4
- export declare const WithAddressLocalized: () => JSX.Element;
@@ -1,64 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useState } from 'react';
3
- import AutoCompleteAddress from './index.js';
4
- import '../../tslib.es6-5bc94358.js';
5
- import '../../index-e9e37a34.js';
6
- import '../../index-1463d5e9.js';
7
- import '../../_commonjsHelpers-e7f67fd8.js';
8
- import '../input/index.js';
9
- import '../../index-fb46adf9.js';
10
- import '../../style-inject.es-1f59c1d0.js';
11
-
12
- var WithoutAddress = function () {
13
- var _a = useState(undefined), address = _a[0], setAddress = _a[1];
14
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
15
- setAddress(address);
16
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8" }, void 0));
17
- };
18
- var WithAddress = function () {
19
- var _a = useState({
20
- street: 'Lohmuehlenstraße',
21
- houseNumber: '65',
22
- city: 'Berlin',
23
- country: 'DE',
24
- additionalInformation: 'c/o Factory',
25
- }), address = _a[0], setAddress = _a[1];
26
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
27
- setAddress(address);
28
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8" }, void 0));
29
- };
30
- var WithoutAddressLocalized = function () {
31
- var _a = useState(), address = _a[0], setAddress = _a[1];
32
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
33
- setAddress(address);
34
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8", placeholders: {
35
- manualAddressEntry: 'Adresse suchen',
36
- street: 'Straße',
37
- houseNumber: 'Hausnummer',
38
- additionalInformation: 'Adresszusatz (c/o, z. Hd., o.V.i.A, ...)',
39
- postcode: 'PLZ',
40
- city: 'Stadt',
41
- }, manualAddressEntryTexts: {
42
- preText: 'Oder ',
43
- cta: 'Adresse direkt eingeben',
44
- } }, void 0));
45
- };
46
- var WithAddressLocalized = function () {
47
- var _a = useState({}), address = _a[0], setAddress = _a[1];
48
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
49
- setAddress(address);
50
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8", placeholders: {
51
- manualAddressEntry: 'Adresse suchen',
52
- street: 'Straße',
53
- houseNumber: 'Hausnummer',
54
- additionalInformation: 'Adresszusatz (c/o, z.Hd., o.V.i.A, ...)',
55
- postcode: 'PLZ',
56
- city: 'Stadt',
57
- }, manualAddressEntryTexts: {
58
- preText: 'Oder ',
59
- cta: 'Adresse direkt eingeben',
60
- } }, void 0));
61
- };
62
-
63
- export { WithAddress, WithAddressLocalized, WithoutAddress, WithoutAddressLocalized };
64
- //# sourceMappingURL=demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demo.js","sources":["../../../../../src/lib/components/autocompleteAddress/demo.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Address } from '@popsure/public-models';\n\nimport AutoCompleteAddress from '.';\n\nexport const WithoutAddress = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>(\n undefined\n );\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n />\n );\n};\n\nexport const WithAddress = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>({\n street: 'Lohmuehlenstraße',\n houseNumber: '65',\n city: 'Berlin',\n country: 'DE',\n additionalInformation: 'c/o Factory',\n });\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n />\n );\n};\n\nexport const WithoutAddressLocalized = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>();\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n placeholders={{\n manualAddressEntry: 'Adresse suchen',\n street: 'Straße',\n houseNumber: 'Hausnummer',\n additionalInformation: 'Adresszusatz (c/o, z. Hd., o.V.i.A, ...)',\n postcode: 'PLZ',\n city: 'Stadt',\n }}\n manualAddressEntryTexts={{\n preText: 'Oder ',\n cta: 'Adresse direkt eingeben',\n }}\n />\n );\n};\n\nexport const WithAddressLocalized = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>({});\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n placeholders={{\n manualAddressEntry: 'Adresse suchen',\n street: 'Straße',\n houseNumber: 'Hausnummer',\n additionalInformation: 'Adresszusatz (c/o, z.Hd., o.V.i.A, ...)',\n postcode: 'PLZ',\n city: 'Stadt',\n }}\n manualAddressEntryTexts={{\n preText: 'Oder ',\n cta: 'Adresse direkt eingeben',\n }}\n />\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;IAKa,cAAc,GAAG;IACtB,IAAA,KAAwB,QAAQ,CACpC,SAAS,CACV,EAFM,OAAO,QAAA,EAAE,UAAU,QAEzB,CAAC;IACF,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,WAChD,EACF;AACJ,EAAE;IAEW,WAAW,GAAG;IACnB,IAAA,KAAwB,QAAQ,CAA+B;QACnE,MAAM,EAAE,kBAAkB;QAC1B,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,qBAAqB,EAAE,aAAa;KACrC,CAAC,EANK,OAAO,QAAA,EAAE,UAAU,QAMxB,CAAC;IACH,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,WAChD,EACF;AACJ,EAAE;IAEW,uBAAuB,GAAG;IAC/B,IAAA,KAAwB,QAAQ,EAAgC,EAA/D,OAAO,QAAA,EAAE,UAAU,QAA4C,CAAC;IACvE,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,EAChD,YAAY,EAAE;YACZ,kBAAkB,EAAE,gBAAgB;YACpC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,YAAY;YACzB,qBAAqB,EAAE,0CAA0C;YACjE,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;SACd,EACD,uBAAuB,EAAE;YACvB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,yBAAyB;SAC/B,WACD,EACF;AACJ,EAAE;IAEW,oBAAoB,GAAG;IAC5B,IAAA,KAAwB,QAAQ,CAA+B,EAAE,CAAC,EAAjE,OAAO,QAAA,EAAE,UAAU,QAA8C,CAAC;IACzE,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,EAChD,YAAY,EAAE;YACZ,kBAAkB,EAAE,gBAAgB;YACpC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,YAAY;YACzB,qBAAqB,EAAE,yCAAyC;YAChE,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;SACd,EACD,uBAAuB,EAAE;YACvB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,yBAAyB;SAC/B,WACD,EACF;AACJ;;;;"}
@@ -1,4 +0,0 @@
1
- export declare const WithoutAddress: () => JSX.Element;
2
- export declare const WithAddress: () => JSX.Element;
3
- export declare const WithoutAddressLocalized: () => JSX.Element;
4
- export declare const WithAddressLocalized: () => JSX.Element;
@@ -1,88 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { Address } from '@popsure/public-models';
3
-
4
- import AutoCompleteAddress from '.';
5
-
6
- export const WithoutAddress = () => {
7
- const [address, setAddress] = useState<Partial<Address> | undefined>(
8
- undefined
9
- );
10
- return (
11
- <AutoCompleteAddress
12
- onAddressChange={(address) => {
13
- setAddress(address);
14
- }}
15
- address={address}
16
- apiKey="AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8"
17
- />
18
- );
19
- };
20
-
21
- export const WithAddress = () => {
22
- const [address, setAddress] = useState<Partial<Address> | undefined>({
23
- street: 'Lohmuehlenstraße',
24
- houseNumber: '65',
25
- city: 'Berlin',
26
- country: 'DE',
27
- additionalInformation: 'c/o Factory',
28
- });
29
- return (
30
- <AutoCompleteAddress
31
- onAddressChange={(address) => {
32
- setAddress(address);
33
- }}
34
- address={address}
35
- apiKey="AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8"
36
- />
37
- );
38
- };
39
-
40
- export const WithoutAddressLocalized = () => {
41
- const [address, setAddress] = useState<Partial<Address> | undefined>();
42
- return (
43
- <AutoCompleteAddress
44
- onAddressChange={(address) => {
45
- setAddress(address);
46
- }}
47
- address={address}
48
- apiKey="AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8"
49
- placeholders={{
50
- manualAddressEntry: 'Adresse suchen',
51
- street: 'Straße',
52
- houseNumber: 'Hausnummer',
53
- additionalInformation: 'Adresszusatz (c/o, z. Hd., o.V.i.A, ...)',
54
- postcode: 'PLZ',
55
- city: 'Stadt',
56
- }}
57
- manualAddressEntryTexts={{
58
- preText: 'Oder ',
59
- cta: 'Adresse direkt eingeben',
60
- }}
61
- />
62
- );
63
- };
64
-
65
- export const WithAddressLocalized = () => {
66
- const [address, setAddress] = useState<Partial<Address> | undefined>({});
67
- return (
68
- <AutoCompleteAddress
69
- onAddressChange={(address) => {
70
- setAddress(address);
71
- }}
72
- address={address}
73
- apiKey="AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8"
74
- placeholders={{
75
- manualAddressEntry: 'Adresse suchen',
76
- street: 'Straße',
77
- houseNumber: 'Hausnummer',
78
- additionalInformation: 'Adresszusatz (c/o, z.Hd., o.V.i.A, ...)',
79
- postcode: 'PLZ',
80
- city: 'Stadt',
81
- }}
82
- manualAddressEntryTexts={{
83
- preText: 'Oder ',
84
- cta: 'Adresse direkt eingeben',
85
- }}
86
- />
87
- );
88
- };
@@ -1,53 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- import { Meta, Preview } from '@storybook/addon-docs/blocks';
4
-
5
- import AutocompleteAddress from '.';
6
- import {
7
- WithoutAddress,
8
- WithoutAddressLocalized,
9
- WithAddress,
10
- WithAddressLocalized,
11
- } from './demo';
12
-
13
- <Meta title="JSX/Autocomplete Address" component={AutocompleteAddress} />
14
-
15
- # Autocomplete Address
16
-
17
- | attribute | unit | description | default value | required |
18
- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------- | -------- |
19
- | address | `Partial<Address>` | The address | undefined | false |
20
- | onAddressChange | `function (newAddress: Partial<Address>)` | Callback with the updated address, this function will get called everytime the address gets updated. | n/a | true |
21
- | apiKey | string | Your private API key for the [Google Places API](https://developers.google.com/maps/documentation/places/web-service/overview) | n/a | true |
22
- | placeholders | `{ manualAddressEntry?: string; street: string?; houseNumber?: string; additionalInformation?: string; postcode?: string; city?: string; }` | Placeholder text | undefined | false |
23
- | manualAddressEntryTexts | `{ preText?: string; cta: string?; }` | The CTA that enables manual address entry and the text preceding it | undefined | false |
24
-
25
- Autocomplete Address are user interface elements which allow users start typing an address and get autocompletion suggestions on the address.
26
-
27
- ## Important notes
28
-
29
- This component is for now only restricted to "address" types and will restrict every query to Germany.
30
-
31
- ## Default example
32
-
33
- ### Input without an address filled
34
-
35
- <WithoutAddress />
36
-
37
- ### Input with an address filled
38
-
39
- <WithAddress />
40
-
41
- ### Localized inputs
42
-
43
- <WithoutAddressLocalized />
44
- <WithAddressLocalized />
45
-
46
- ```typescript import React, {useState} from 'react'; import {Address} from '@popsure/public-models';
47
- import AutoCompleteAddress from '.';
48
-
49
- export default () => {
50
- const [address, setAddress] = useState<Address>(undefined);
51
- return <AutoCompleteAddress onAddressChange={setAddress} address={address} />;
52
- };
53
- ```