@popsure/dirty-swan 0.26.13 → 0.27.0-alpha.1

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.
@@ -2,6 +2,6 @@ import React from 'react';
2
2
  declare const useOnClose: (onClose: () => void, isOpen: boolean, dismissable: boolean) => {
3
3
  isClosing: boolean;
4
4
  handleContainerClick: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
5
- handleOnClose: () => null | undefined;
5
+ handleOnClose: () => void;
6
6
  };
7
7
  export default useOnClose;
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  var style = new google.maps.StyledMapType([
4
2
  {
5
3
  elementType: 'geometry',
@@ -185,5 +183,5 @@ var style = new google.maps.StyledMapType([
185
183
  },
186
184
  ], { name: 'Styled Map' });
187
185
 
188
- exports.style = style;
189
- //# sourceMappingURL=mapStyle-a64f125f.js.map
186
+ export { style };
187
+ //# sourceMappingURL=mapStyle-1288a869.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapStyle-1288a869.js","sources":["../src/lib/components/autocompleteAddress/mapStyle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popsure/dirty-swan",
3
- "version": "0.26.13",
3
+ "version": "0.27.0-alpha.1",
4
4
  "author": "Vincent Audoire <vincent@getpopsure.com>",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -20,7 +20,7 @@
20
20
  "Readme.md"
21
21
  ],
22
22
  "dependencies": {
23
- "@popsure/public-models": "^0.0.14",
23
+ "@popsure/public-models": "^1.0.0",
24
24
  "classnames": "^2.3.1",
25
25
  "dayjs": "^1.10.7",
26
26
  "lodash.debounce": "^4.0.8",
Binary file
@@ -3,7 +3,11 @@ import classNames from 'classnames';
3
3
  import debounce from 'lodash.debounce';
4
4
  import isEqual from 'lodash.isequal';
5
5
  import Input from '../input';
6
- import { Address, countryNameFromAlphaCode } from '@popsure/public-models';
6
+ import {
7
+ Address,
8
+ Alpha2CountryCode,
9
+ countryNameFromAlphaCode,
10
+ } from '@popsure/public-models';
7
11
 
8
12
  import { geocoderAddressComponentToPartialAddress } from './util';
9
13
 
@@ -145,39 +149,46 @@ const AutoCompleteAddress = ({
145
149
  }
146
150
  };
147
151
 
148
- const setPlaceFromAddress = useCallback((address: Partial<Address> | undefined) => {
149
- if (!map.current) {
150
- return;
151
- }
152
+ const setPlaceFromAddress = useCallback(
153
+ (address: Partial<Address> | undefined) => {
154
+ if (!map.current) {
155
+ return;
156
+ }
152
157
 
153
- if (address) {
154
- const service = new google.maps.places.PlacesService(map.current);
155
- const query = `${address.street ?? ''} ${address.houseNumber ?? ''}, ${
156
- address.city ?? ''
157
- }, ${address.country ? countryNameFromAlphaCode(address.country) : ''}`;
158
- setIsLoading(true);
159
- service.findPlaceFromQuery(
160
- {
161
- fields: ['place_id'],
162
- query,
163
- },
164
- (results) => {
165
- const firstResult = results && results[0];
166
- if (firstResult && firstResult.place_id) {
167
- service.getDetails(
168
- { placeId: firstResult.place_id },
169
- (newPlace) => {
170
- onPlaceChanged(newPlace ?? undefined, false);
171
- }
172
- );
158
+ if (address) {
159
+ const service = new google.maps.places.PlacesService(map.current);
160
+ const query = `${address.street ?? ''} ${address.houseNumber ?? ''}, ${
161
+ address.city ?? ''
162
+ }, ${
163
+ address.country
164
+ ? countryNameFromAlphaCode(address.country as Alpha2CountryCode)
165
+ : ''
166
+ }`;
167
+ setIsLoading(true);
168
+ service.findPlaceFromQuery(
169
+ {
170
+ fields: ['place_id'],
171
+ query,
172
+ },
173
+ (results) => {
174
+ const firstResult = results && results[0];
175
+ if (firstResult && firstResult.place_id) {
176
+ service.getDetails(
177
+ { placeId: firstResult.place_id },
178
+ (newPlace) => {
179
+ onPlaceChanged(newPlace ?? undefined, false);
180
+ }
181
+ );
182
+ }
183
+ setIsLoading(false);
173
184
  }
174
- setIsLoading(false);
175
- }
176
- );
177
- }
178
- }, []);
185
+ );
186
+ }
187
+ },
188
+ []
189
+ );
179
190
 
180
- const debouncedSetPlace = debounce(setPlaceFromAddress, 1000)
191
+ const debouncedSetPlace = debounce(setPlaceFromAddress, 1000);
181
192
 
182
193
  const handleEnterAddressManually = () => {
183
194
  setManualAddressEntry(true);
@@ -1,4 +1,8 @@
1
- import { Address, countryNameFromAlphaCode } from '@popsure/public-models';
1
+ import {
2
+ Address,
3
+ Alpha2CountryCode,
4
+ countryNameFromAlphaCode,
5
+ } from '@popsure/public-models';
2
6
 
3
7
  export const geocoderAddressComponentToPartialAddress = (
4
8
  input: google.maps.GeocoderAddressComponent[]
@@ -52,4 +56,4 @@ export const geocoderAddressComponentToPartialAddress = (
52
56
  export const inlineAddress = (address: Address) =>
53
57
  `${address.street} ${address.houseNumber}, ${
54
58
  address.city
55
- }, ${countryNameFromAlphaCode(address.country)}`;
59
+ }, ${countryNameFromAlphaCode(address.country as Alpha2CountryCode)}`;
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
2
 
3
3
  const useOnClose = (
4
4
  onClose: () => void,
@@ -7,13 +7,32 @@ const useOnClose = (
7
7
  ) => {
8
8
  const [isClosing, setIsClosing] = useState(false);
9
9
 
10
+ const handleOnClose = useCallback(() => {
11
+ setIsClosing(true);
12
+ setTimeout(() => {
13
+ onClose();
14
+ setIsClosing(false);
15
+ }, 300);
16
+ }, [setIsClosing, onClose]);
17
+
18
+ const handleEscKey = useCallback(
19
+ (e: KeyboardEvent) => {
20
+ if (e.code !== 'Escape') return;
21
+ if (!dismissable) return null;
22
+ if (!isOpen) return null;
23
+
24
+ handleOnClose();
25
+ },
26
+ [isOpen, dismissable, handleOnClose]
27
+ );
28
+
10
29
  useEffect(() => {
11
30
  window.addEventListener('keydown', handleEscKey);
12
31
 
13
32
  return () => {
14
33
  window.removeEventListener('keydown', handleEscKey);
15
34
  };
16
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
35
+ }, [handleEscKey]);
17
36
 
18
37
  useEffect(() => {
19
38
  document.body.style.overflow = isOpen ? 'hidden' : 'auto';
@@ -23,22 +42,6 @@ const useOnClose = (
23
42
  };
24
43
  }, [isOpen]);
25
44
 
26
- const handleOnClose = () => {
27
- if (!dismissable) return null;
28
-
29
- setIsClosing(true);
30
- setTimeout(() => {
31
- onClose();
32
- setIsClosing(false);
33
- }, 300);
34
- };
35
-
36
- const handleEscKey = (e: KeyboardEvent) => {
37
- if (e.code !== 'Escape') return;
38
-
39
- handleOnClose();
40
- };
41
-
42
45
  const handleContainerClick = (
43
46
  e: React.MouseEvent<HTMLDivElement, MouseEvent>
44
47
  ) => {
@@ -30,22 +30,19 @@ Modals are dialog overlays that prevent the user from interacting with the rest
30
30
 
31
31
  export const RegularModalStory = () => {
32
32
  const [display, setDisplay] = useState(false);
33
+ const toggleOpen = () => setDisplay(!display);
33
34
  return (
34
35
  <>
35
36
  <button
36
37
  className="p-btn--primary wmn2"
37
- onClick={() => {
38
- setDisplay(!display);
39
- }}
38
+ onClick={toggleOpen}
40
39
  >
41
40
  Regular modal
42
41
  </button>
43
42
  <RegularModal
44
43
  title="Regular modal title"
45
44
  isOpen={display}
46
- onClose={() => {
47
- setDisplay(false);
48
- }}
45
+ onClose={toggleOpen}
49
46
  >
50
47
  <div style={{ padding: '0 24px 24px 24px' }}>
51
48
  <p className="p-p">
@@ -1,18 +1,22 @@
1
1
  @keyframes fade-in {
2
2
  0% {
3
3
  background-color: rgba($color: #000000, $alpha: 0);
4
+ visibility: hidden;
4
5
  }
5
6
  100% {
6
7
  background-color: rgba($color: #000000, $alpha: 0.3);
8
+ visibility: visible;
7
9
  }
8
10
  }
9
11
 
10
12
  @keyframes fade-out {
11
13
  from {
12
14
  background-color: rgba($color: #000000, $alpha: 0.3);
15
+ visibility: visible;
13
16
  }
14
17
  to {
15
18
  background-color: rgba($color: #000000, $alpha: 0);
19
+ visibility: hidden;
16
20
  }
17
21
  }
18
22
 
@@ -20,10 +24,12 @@
20
24
  0% {
21
25
  transform: translateY(24px) translateX(-50%);
22
26
  opacity: 0;
27
+ visibility: hidden;
23
28
  }
24
29
  100% {
25
30
  transform: translateY(0) translateX(-50%);
26
31
  opacity: 1;
32
+ visibility: visible;
27
33
  }
28
34
  }
29
35
 
@@ -31,10 +37,12 @@
31
37
  0% {
32
38
  transform: translateY(0) translateX(-50%);
33
39
  opacity: 1;
40
+ visibility: visible;
34
41
  }
35
42
  100% {
36
43
  transform: translateY(24px) translateX(-50%);
37
44
  opacity: 0;
45
+ visibility: hidden;
38
46
  }
39
47
  }
40
48
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapStyle-a64f125f.js","sources":["../src/lib/components/autocompleteAddress/mapStyle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}